Energy Efficient Computational Offloading Framework for Mobile Cloud Computing

18
J Grid Computing DOI 10.1007/s10723-014-9323-6 Energy Efficient Computational Offloading Framework for Mobile Cloud Computing Muhammad Shiraz · Abdullah Gani · Azra Shamim · Suleman Khan · Raja Wasim Ahmad Received: 8 May 2013 / Accepted: 9 December 2014 © Springer Science+Business Media Dordrecht 2015 Abstract The latest developments in mobile com- puting technology have changed user preferences for computing. However, in spite of all the advancements in the recent years, Smart Mobile Devices (SMDs) are still low potential computing devices which are limited in memory capacity, CPU speed and bat- tery power lifetime. Therefore, Mobile Cloud Com- puting (MCC) employs computational offloading for enabling computationally intensive mobile applica- tions on SMDs. However, state-of-the-art computa- tional offloading frameworks lack of considering the additional overhead of components migration at run- time. Therefore resources intensive and energy con- suming distributed application execution platform is established. This paper proposes a novel distributed M. Shiraz () · A. Gani · A. Shamim · S. Khan · R. W. Ahmad Centre for Mobile Cloud Computing Research (C4MCCR), Faculty of Computer Science and Information Technology, University of Malaya, Kuala Lumpur, Malaysia e-mail: muh [email protected] A. Gani e-mail: [email protected] A. Shamim e-mail: [email protected] S. Khan e-mail: [email protected] R. W. Ahmad e-mail: [email protected] Energy Efficient Computational Offloading Frame- work (EECOF) for the processing of intensive mobile applications in MCC. The framework focuses on leveraging application processing services of cloud datacenters with minimal instances of computation- ally intensive component migration at runtime. As a result, the size of data transmission and energy consumption cost is reduced in computational offload- ing for MCC. We evaluate the proposed framework by benchmarking prototype application in the real MCC environment. Analysis of the results show that by employing EECOF the size of data transmission over the wireless network medium is reduced by 84 % and energy consumption cost is reduced by 69.9 % in offloading different components of the pro- totype application. Hence, EECOF provides an energy efficient application layer solution for computational offloading in MCC. Keywords Mobile cloud computing · Distributed systems · Computational offloading · Lightweight · Energy efficient 1 Introduction The latest developments in mobile computing technol- ogy have changed user preferences for computing. The report of Juniper Research states that consumer and enterprise market for cloud based mobile applications is expected to raise $9.5 billion by 2014 [1], which is

Transcript of Energy Efficient Computational Offloading Framework for Mobile Cloud Computing

J Grid ComputingDOI 10.1007/s10723-014-9323-6

Energy Efficient Computational Offloading Frameworkfor Mobile Cloud Computing

Muhammad Shiraz · Abdullah Gani ·Azra Shamim · Suleman Khan ·Raja Wasim Ahmad

Received: 8 May 2013 / Accepted: 9 December 2014© Springer Science+Business Media Dordrecht 2015

Abstract The latest developments in mobile com-puting technology have changed user preferences forcomputing. However, in spite of all the advancementsin the recent years, Smart Mobile Devices (SMDs)are still low potential computing devices which arelimited in memory capacity, CPU speed and bat-tery power lifetime. Therefore, Mobile Cloud Com-puting (MCC) employs computational offloading forenabling computationally intensive mobile applica-tions on SMDs. However, state-of-the-art computa-tional offloading frameworks lack of considering theadditional overhead of components migration at run-time. Therefore resources intensive and energy con-suming distributed application execution platform isestablished. This paper proposes a novel distributed

M. Shiraz (�) · A. Gani · A. Shamim · S. Khan ·R. W. AhmadCentre for Mobile Cloud Computing Research (C4MCCR),Faculty of Computer Science and Information Technology,University of Malaya, Kuala Lumpur, Malaysiae-mail: muh [email protected]

A. Ganie-mail: [email protected]

A. Shamime-mail: [email protected]

S. Khane-mail: [email protected]

R. W. Ahmade-mail: [email protected]

Energy Efficient Computational Offloading Frame-work (EECOF) for the processing of intensive mobileapplications in MCC. The framework focuses onleveraging application processing services of clouddatacenters with minimal instances of computation-ally intensive component migration at runtime. Asa result, the size of data transmission and energyconsumption cost is reduced in computational offload-ing for MCC. We evaluate the proposed frameworkby benchmarking prototype application in the realMCC environment. Analysis of the results show thatby employing EECOF the size of data transmissionover the wireless network medium is reduced by84 % and energy consumption cost is reduced by69.9 % in offloading different components of the pro-totype application. Hence, EECOF provides an energyefficient application layer solution for computationaloffloading in MCC.

Keywords Mobile cloud computing · Distributedsystems · Computational offloading · Lightweight ·Energy efficient

1 Introduction

The latest developments in mobile computing technol-ogy have changed user preferences for computing. Thereport of Juniper Research states that consumer andenterprise market for cloud based mobile applicationsis expected to raise $9.5 billion by 2014 [1], which is

M. Shiraz et al.

an evidence of the increasing use of MCC. Recently,a number of computing and communication devicesare replaced by smartphones towards all-in-one ubiq-uitous computing devices such as PDAs, digital cam-eras, Internet browsing devices, and Global Posi-tioning Systems (GPS) [2]. Human dependency onthe contemporary smartphones is increasing rapidlyin various domains such as enterprise, e-learningand entertainment, gamming, management informa-tion systems, and healthcare [3]. Mobile devices arepredicated as the dominant future computing deviceswith high user expectations for accessing computa-tional intensive applications analogous to the power-ful stationary computing machines. However, in spiteof all the advancements in the recent years, SMDsare still low potential computing devices and mobileapplications on the latest generation of smartphonesand tablets are constraint by battery power, CPUpotentials and memory capacity of the SMDs [4].The latest developments in cloud computing facilitatesto increase the computing capabilities of resourcesconstrained client devices by offering leased infras-tructure and services of clouds [5–11]. Computa-tional clouds employ different IT business modelsfor the provisioning of computing services; such ason-demand, pay-as-you-go, and utility computing [6].For example, Amazon Web Services (AWS) are uti-lized to store personal data through its Simple Stor-age Service (S3) [12], and Elastic Cloud Compute(EC2) is employed for application processing services.MCC enables computationally intensive and ubiqui-tous mobile applications by leveraging the services ofcomputational clouds.

MCC utilizes the application processing servicesof computational clouds for the processing of com-putationally intensive mobile applications. Recently,a number of Computational Offloading Frameworks(COFs) are proposed for the processing of intensivemobile applications in MCC [13–19]. For instanceApple iCloud [20] and Amazon Silk [21] browserare two latest mobile applications which leveragethe services of computational cloud for applicationprocessing. However, state-of-the-art computationaloffloading frameworks employ adaptive algorithm inwhich elastic mobile applications dynamically dis-tribute intensive partitions to the cloud server nodes[23]. Such frameworks focus on offloading inten-sive mobile applications at different granularity lev-els and establishing distributed application processing

platform at runtime. Runtime computational offload-ing involves cost of migration of the intensive com-ponents of the mobile application [13–19, 23], whichinvolves computing resources utilization in transfer-ring the application binary file and correspondingdata file of the running instances of mobile appli-cation. Similarly, a number of application offloadingframeworks implement dynamic application profilingand partitioning technique for application offload-ing [13–19], which increases the turnaround time ofthe application and energy consumption on mobiledevice. Current COFs focus on what components ofthe application to offload, how to offload and whereto offload the intensive components of the application.Traditional computational offloading frameworks lackof considering the intensity of runtime componentoffloading and focus on leveraging the IaaS modelfor computational offloading which is resources inten-sive and time consuming [13, 17–19]. Therefore, suchframeworks employ energy consuming procedure forcomputational offloading in MCC.

In this paper, we propose an Energy EfficientComputational Offloading Framework (EECOF) forcomputational offloading in MCC. The frameworkfocuses on leveraging application processing servicesof cloud datacenters with minimal instances of appli-cation migration at runtime. As a result, energy con-sumption cost is reduced in remote processing ofcomputationally intensive components of the mobileapplication. EECOF incorporates the Software-as-a-Service (SaaS) model and the Infrastructure-as-a-Service (IaaS) model of computational clouds forleveraging the application processing services of com-putational clouds. The proposed framework is eval-uated by benchmarking prototype mobile applicationin the real MCC environment. Experimentation isperformed in three different scenarios: (a) execu-tion of mobile application on local mobile device,(b) implementing traditional computational offload-ing technique [15, 42] for the execution of appli-cation and (c) employing EECOF for computationaloffloading in MCC. Energy efficiency is measuredin terms of reduction of energy consumption costfor computational offloading in MCC. The energyefficient nature of EECOF is validated by compar-ing results of different experimental scenarios. It isexamined that by employing EECOF the overheadof runtime application migration is minimized, whichresults in the reduction of energy consumption cost for

Energy Efficient Computational Offloading Framework for MCC

computational offloading. Analysis indicates that thesize of data transmission over the wireless networkmedium is reduced up to 84 % and energy consump-tion cost is reduced up to 69.9 % while offloadingdifferent components of the prototype application.Hence, the employment of EECOF provides an energyefficient application layer solution for computationaloffloading in MCC.

The paper is classified into the following sections.Section 2 discusses state-of-the-art computationaloffloading frameworks for MCC. Section 3 presentsthe architecture of proposed framework and discussesthe operating procedure of EECOF and presentsthe distinctive features of the proposed framework.Section 4 discusses methodology used for the evalua-tion of proposed framework. Section 5 presents resultsand discusses experimental findings. Finally, Section 6draws concluding remarks and future directions.

2 Related Work

Satyanarayanan [24, 25] introduced the term cyberforaging to augment the computing potentials of wire-less mobile devices by utilizing available stationarycomputers in the local environment. Earlier, applica-tion offloading was employed for Pervasive comput-ing [26], Grid computing [27] and Cluster comput-ing [28]. Recently, a number of cloud server basedapplication offloading frameworks are proposed foroutsourcing computational intensive mobile applica-tions partially or entirely to cloud datacenters [13–19]. Elastic applications are partitioned at runtimefor the establishment of distributed processing plat-form [4]. Current frameworks implement computa-tional offloading at different granularity levels suchas object, class, component, bundle, thread, methodand task. In [17, 19–21, 42] module level offload-ing is employed for the migration of entire moduleof the application. In [13] method level granularity isemployed for the migration of pre-annotated intensivemethods of the application. In [29] object level gran-ularity is used for dynamic computational offloading.In [30, 31] thread level granularity is used for sepa-rating the intensive logic of the application at runtime.In [32, 33] class level granularity is employed for run-time computational offloading. In [34, 35] componentlevel partitioning is employed which indicates that agroup of classes are offloaded to the remote server

at runtime. COFs implement application partitioningstatically or dynamically. The static application parti-tioning [36] involves one time application partitioningmechanism for the distribution of workload betweenSMD and cloud server node. The intensive compo-nents of the application are partitioned and transferredto the remote server node. For example, the primaryfunctionality offloading [35] mechanism involves par-titioning and offloading of the intensive componentsat runtime.

In [17] a middleware framework is proposed for thedynamic distribution of application processing loadbetween SMD and cloud server node. The frame-work deploys the application partitioning in optimalmode and dynamically determines the execution loca-tion for modules of the mobile application. In orderto reduce search space, the framework implements apreprocessing mechanism on the consumption graph.Preprocessing separates local and remote bundles ofthe application. It searches for the application moduleswhich can result in high cost in offloading and for thatreason are not feasible for offloading. The frameworkdistributes workload as per the statistics of resourcesavailable on SMD. The distributed platform in AIDE[16] is composed of computing devices in the local-ity of mobile devices. SMD access a preconfiguredsurrogate server which maintains information of thevolunteer server nodes. The runtime profiling mecha-nism of the framework is activated dynamically whichimplements class level granularity for partitioning ofmobile application.

Mobile Assistance Using Infrastructure (MAUI)[13] focuses on energy saving for SMD. Applicationdevelopers identify the local and remote componentsof the application at design time. The MAUI pro-filer determines the feasibility of remotely annotatedmethod for offload processing. Each time a method iscalled, the profiler component assesses it for energysaving which utilizes additional computing resources(CPU, battery) on SMD. MAUI solver operates on theinput provided by application profiler. It determinesthe destination of execution for the method anno-tated as remote. MAUI implements application levelpartitioning for outsourcing computational load ofSMD. However, the mechanism of runtime applicationprofiling and solving at runtime involves additionalcomputing resources utilization for application parti-tioning. Development of the applications on the basisof MAUI requires additional developmental efforts

M. Shiraz et al.

for annotating the execution pattern of each indi-vidual method the application. MAUI involves theoverhead of dynamic application profiling, solving,partitioning, migration, and reintegration on SMD. InCloneCloud [37] the partitioning and reintegration ofthe application occur at application level. Partition-ing phase of the framework includes static analysis,dynamic application profiling, and optimization solu-tion. A preprocess migratory thread is implementedon mobile devices to assist in the partitioning andreintegration of the thread states. Elastic applicationmodel [14] provides a middleware framework formobile applications. Application is dynamically par-titioned into weblets which are migrated dynamicallyto cloud server node. The framework implements dif-ferent elastic patterns for the replication of webletson the remote cloud. It considers different param-eters for offloading of the weblets; such as statusof the mobile device, cloud, application performancemeasures and user preferences which comprise powersaving mode, high speed mode, low cost mode andoffload mode. The framework implements a resourcesintensive mechanism for runtime application partition-ing and the migration of weblets between SMD andremote cloud nodes. It includes additional resourcesutilization on SMD in the process of application pro-filing, dynamic runtime partitioning, weblets migra-tion and reintegration, and continuous synchronizationwith cloud server node for the entire duration ofapplication processing.

Current COFs accomplish distributed applicationprocessing platform for the processing of inten-sive mobile applications in diverse modes. Severalapproaches exploit VM migration [13, 23]; othersfocus on part(s) of the application to be offloaded[13, 17, 21]. A number of approaches implementdynamic application partitioning [13, 14], whereasother focus on static partitioning [36, 37]. Diverseobjective functions are considered [4]; saving pro-cessing power, efficient bandwidth utilization, savingenergy consumption [38], user preferences and exe-cution cost [14]. Recently, a number of mobile cloudapplications are witnessed which employ cloud com-puting to mitigate resources constraints of SMDs.Apple’s iCloud [20] provides on demand access auto-matically to applications such as music, photos, apps,calendars, documents. Amazon EC2 and MicrosoftAzure host the application store of Apple’s iCloud.Similarly, Amazon released Silk application [21]

which is a cloud-accelerated web browser Silk is a“split browser” which resides on both Kindle Fire andEC2. For each web page request, Silk dynamicallydetermines distribution of computational load betweenthe local SMD and remote Amazon EC2. Silk consid-ers the objective functions of network conditions, pagecomplexity and the location of any cached content[21].

In traditional computational offloading frameworkscloud based application processing is composed ofthree phases which include offloading initialization,computational offloading and remote application exe-cution. (a) In the initialization phase, the availabilityof services on the cloud server node are discov-ered, network and mobile context information reportsare collected from the corresponding sensor modules.Furthermore, user preference and application charac-teristics such as security level and QoS demands arealso gathered. The information collected in this phaseis used for the offloading mechanisms. (b) In thecomputational offloading process decisions are takenand parameter configurations are performed. Thisphase includes decision of application partitioning andoffloading of an application, user authentication andauthorization, VM instance creation on mobile andcloud server if supported by an execution framework,migration of VM clone, QoS parameter negotiation,SLA exchange, resource reservation and admissioncontrol. (c) Once the delegated application is config-ured the running state of the application is resumedon the remote virtual device instance and applica-tion is executed on remote server node. The initiationand preparation overhead is required to be reduced sothat application faces minimum disruption during theexecution due to application of?oading.

Traditional COFs employ computational offloadingat runtime which requires virtual device instances oncloud server node by employing IaaS services of com-putational clouds [13, 17–19]. The binary files of theapplication and the data states of the running appli-cation are offloaded at runtime which increase theenergy consumption cost of computational offloadingfor MCC. The Energy consumption Cost (Ec) for eachcomponent offloaded at runtime includes energy con-sumed in runtime component migration (Em), energyconsumed in saving the data states of running instanceof the mobile application (Es), energy consumed inuploading the data file to remote server node (Eu) andenergy consumed in returning the resultant data files

Energy Efficient Computational Offloading Framework for MCC

to local mobile device (Ed ). Hence, the total energyconsumption cost for each component offloaded atruntime is represented by equation (1).

Ec = Em + Es + Eu + Ed (1)

Let E represents the set of energy consumption costof all instances Eca=1,2,...,n of the runtime componentoffloading and E is the cardinality of set E, whichshows energy consumption cost of the total instancesof runtime component offloading. The total energyconsumption of the runtime application offloading isrepresented by μ, which is shown as follows.

μ =n∑

a=1

Eca ⇒ ∀Eca ∈ E ∧ |E| ≥ 1 (2)

3 Proposed Energy Efficient ComputationalOffloading Framework (EECOF)

We propose an energy efficient computational offload-ing framework for the processing of intensive mobileapplications in MCC. The framework focuses onleveraging application processing services of clouddatacenters with minimal instances of applicationcode migration at runtime. The instances of runtimecomponent migration are minimized by deployingcomputational task offloading as the primary offload-ing procedure rather than intensive component migra-tion. As a result, energy consumption cost is reducedin remote processing of computationally intensivecomponents of the mobile application. Traditionalcomputational offloading frameworks [13, 17–19, 23]employ IaaS model for the deployment of virtualmobile device instances on the virtual machine ofthe cloud server node, which is resources intensiveand energy starving mechanism. EECOF incorporatesSaaS model with IaaS model of computational cloudsfor reducing the instances of runtime componentmigration.

The deployment of SaaS model eliminates energyconsumption cost of runtime component migration(Em), energy consumption cost of saving states ofrunning mobile application (Es) and energy con-sumption cost of uploading the data file to remoteserver node (Eu). Therefore, by employing EECOFthe energy consumption cost is reduced in computa-tional offloading. The advantages of the employing

SaaS services for the configuration of intensive oper-ations of the mobile application are mentioned asfollows: (a) The overhead of runtime computationoffloading involves the cost of application partitioningand cost of migration of binary code of the applica-tion and data states of the running instances of mobileapplication. Therefore, the configuration of resourcesintensive components of the mobile application onthe cloud server nodes results in minimal instancesof intensive component migration at runtime whichreduces the overhead of computationally intensivecomponents of the mobile application. (b) In tradi-tional computational offloading frameworks [15, 42],the delegated computationally intensive componentsof the mobile application to the cloud server node areconfigured on the instances of virtual mobile device,which involves additional overhead of virtual devicedeployment and management on the cloud servernode [35]. EECOF however, reduces this overhead byconfiguring remote services on the powerful virtualmachines in the cloud datacenters rather than virtualdevices instances of mobile devices, which decreasesthe turnaround time and energy consumption cost ofthe application. As a result, size of data transmission,computational resources utilization (RAM and CPU),energy consumption cost and turnaround time of theapplication is reduced.

Figure 1 shows the architecture of the proposedframework. Middleware on both mobile device andserver is deployed for enabling the execution ofmobile application in the primary operating proce-dure. Whereas, the components employed in the sec-ondary operating procedure include orchestrator, pref-erences manager, upload manager and download man-ager. Synchronizer component is used for ensuringconsistency in the distributed processing of applica-tion.

Orchestrator The orchestrator component of EECOFmonitors switching between the operation modes(online/offline) of the mobile application and oper-ation procedures of the online mode of the applica-tion. In the Primary Operating Procedure (POP) theorchestrator enables mobile application on the localdevice to access the preconfigured services, whereasin the Secondary Operating Procedure (SOP) pref-erences manager component is activated to save thedata states of the running mobile application. Appli-cation orchestrator is responsible for the configuration

M. Shiraz et al.

Fig. 1 Architecture of theproposed EECOF

Mobile Application

Synchronizer

Preferences Manager

Orchestrator

Operating System

Device Hardware

Wireless

Medium

Mobile Device

MiddlewareIPC

Delegated Mobile

Application

Preferences Manager

Orchestrator

Virtual Machine

Middleware

Preconfigured Services

Synchronizer

SaaSVirtual Device Instance

(IaaS)

Cloud Server Node

Upload

Manager

Download

Manager

Operating System

of the mobile application on SMD and remote servernode. On the cloud server node, application orches-trator configures the delegated service applicationon the remote server node. Application orchestratorcomponent on the remote server node resumes therunning state of the delegated mobile application byaccessing the preferences files from the persistent stor-age. The application orchestrator component on themobile device arbitrates with the remote server nodefor offloading the selected running component of themobile application. The orchestrator component isassisted by the preferences manager component.

Preferences Manager Mobile applications are asso-ciated with a separated preferences manger whichprovides access to the preferences file. Preferencemanager reads and writes the data states from per-sistent storage during the activation and deactivationof mobile application. The preferences manager com-ponent copies the preferences file to the externalstorage device which is directly accessible for theupload manger and download manager component.The preferences manager component of the servernode is responsible for providing access to the datafiles which are downloaded with the delegated serviceapplication. Similarly, whenever the service applica-tion completes execution on the remote server node,the preferences manger saves the final results to thepreferences file. The upload manager component isresponsible for uploading the preferences files of theapplication to remote server node in the SOP. Thepreferences files are stored on the persisted stor-age by the preferences manager which is accessiblefor upload manager. Whenever, the offloaded mobile

application is installed on the remote virtual deviceinstance, the synchronization manger component ofthe server connects to the upload manger componentof the application running on mobile device and makesrequest for preferences file.

Upload Manager Upload manager sends therequested preferences file to the synchronizer of theserver node. The download manager component onmobile device is responsible for downloading thepreferences files of the application from the remoteserver node in the SOP. Whenever, the offloadedcomponent of the application completes execution,download manager component of the EECOF clientis connected to return the resultant preferences file.

Download Manager The synchronization mangercomponent of the EECOF framework utilizes the ser-vices of download manager and upload manager forthe synchronization of distributed application process-ing in the SOP EECOF framework. In the SOP, mobileapplication is enabled to offload the intensive compo-nents of the application to cloud datacenters which areexecuted on temporarily allocated server node. Oncethe execution of delegated component of the appli-cation is completed, download manager receives theresultant data file and saves it to the persistent storageof the local mobile device.

Synchronizer The synchronizer component of theframework is responsible for the synchronizationof transmission between SMD and remote servernode. In the POP of distributed processing, the syn-chronizer component is responsible for ensuring the

Energy Efficient Computational Offloading Framework for MCC

consistency of transmission between mobile applica-tion on SMD and the server application running onthe cloud server node. In the SOP, whenever the statesof the application are saved on the persisted medium,the synchronizer component is activated to offload theservice application to remote server node. The orches-trator component searches for the configuration file ofthe identified intensive component on mobile device.Whenever, the configuration of the service applicationis validated, the synchronizer component is activatedto outsource the configuration files to remote servernode. Synchronizer component of the remote servernode is activated to receive the delegated service appli-cation. Whenever, the configuration file of the dele-gated service application is received successfully onthe remote server node, the orchestrator component ofthe server node is activated to configure the delegatedservice application and resume the running states fromthe preferences file. The synchronizer component isalso responsible for the uploading and download-ing of preferences files between mobile device andremote server node. In such scenario, the role ofsynchronizer is to coordinate between local mobileapplication and the offloaded components of the appli-cation. The primary responsibility of synchronizer isto ensure the consistency of transmissions betweenapplication executing on mobile device and serverapplication.

Reliance on the preconfigured services of the cloudserver nodes leads to the problem of dependency onthe centralized services and reduces offline usability.Similarly, it leads to the employment of thin clientapplications like traditional web and email applica-tions, wherein the processing logic of the applicationis hosted on the remote server nodes and client appli-cations provide user interface. Therefore, the EECOFemploys replication of the mobile application onmobile device and cloud server node and proposestwo distinct operating modes (offline mode and onlinemode) for the execution of mobile application. Sim-ilarly, it proposes two different operating proceduresfor accessing the application processing services ofcomputational clouds. EECOF enables mobile appli-cations to operate in two distinct modes; onlineand offline. Offline mode indicates the availabil-ity of sufficient computing resources on the mobiledevice wherein the components of mobile applicationare scheduled for execution on local mobile device.The online mode indicates the critical condition of

insufficient resources on local mobile device, whereinthe computational load of the application is offloadedto cloud server node. The online mode is imple-mented by deploying two distinct operation proce-dures including POP and SOP. Mobile application isdesigned with the objectives to offload computationaltask instead of offloading application in the primaryoperating procedure and employ runtime applicationmigration in the secondary operating procedure. In theoffline mode all the components of mobile applicationare executed locally on SMD. Whereas in the onlinemode, mobile application is enabled to access the pre-configured services of EECOF server and offload theintensive components of the application on demandbasis. The dual operation mode enables mobile appli-cation to operate with full functionalities in the situa-tions of inaccessibility of remote services. Offloadingactive service to cloud server node involves com-plicated mechanism. However, mobile users remainunaware of the complications of the remote execution.EECOF employs middleware service for providing thenotion as entire components of the mobile applicationare executed locally on SMD.

The preconfigured services of the cloud server arecomposed of the components of the mobile appli-cation which are computational intensive and donot require user interaction. Application on mobiledevice is an ordinary application with all the com-ponents available on local mobile device. However,two types of additional attributes are included in theordinary mobile application. The profiler mechanismevaluates availability of resources (RAM, CPU, bat-tery power) and accessibility of remote services forswitching between online and offline mode. Mobileapplication is capable to operate in the two distinctoperating procedures of the online mode. In the POPof online mode, the preconfigured services on thecloud server node (SaaS model) are accessed, whereasin the SOP the states of the running instance ofthe application are saved and the intensive compo-nents are offloaded at runtime. The runtime com-putational offloading mechanism is implemented byemploying the IaaS model wherein platform spe-cific virtual device instance is created on the cloudserver node and the delegated mobile application isreconfigured. The primary operating procedure is sig-nificant for future computationally intensive mobileapplications which need to be designed and devel-oped on the basis of distributed feature of EECOF,

M. Shiraz et al.

whereas the secondary operating procedure is impera-tive for the existing mobile applications which lack ofdeploying the distributed architecture. Hence, EECOFaddresses the challenges of future computationallyintensive mobile applications for MCC and providessupport for offloading traditional mobile applicationat coarse granularity level. Figure 2 shows sequenceof interaction between application running on mobiledevice and application running on the cloud servernode in the POP. Mobile application is enabled toaccess the preconfigured services of cloud servernode which involves direct communication patternusing middleware services for interaction betweenclient application running on mobile device and serverapplication running on remote server node. Appli-cation running on mobile device invokes serviceson the cloud server node and passes the requiredinput data. Processing logic of the application isexecuted on the cloud server node and results arereturned to the application running on the mobiledevice. Middleware hides complications of the com-munication between the local mobile application andcloud server application. The communication betweenlocal mobile application and remote server applica-tion is enabled by employing Inter Process Com-munication (IPC) mechanism such as RPC or RMI.The heterogeneous operating system platforms of

mobile devices implement different middleware ser-vices [39]. For instance, we employed kSOAP2 APIfor accessing the preconfigured services on the cloud server node. kSOAP2 is a lightweight and effi-cient SOAP client library for the Android plat-form [43]. Computational task is offloaded to thecloud server node and upon the successful execu-tion of the task on the cloud server node, resul-tant data is returned to mobile device. The over-head of sending the binary files of the applica-tion is eliminated in the POP. Therefore, the sizeof data transmission, energy consumption cost andturnaround time of the offloaded component isreduced accordingly.

Figure 3 shows sequence diagram for the SOP ofonline mode of EECOF. In the scenario of unavailabil-ity of appropriate remote server, SOP of the mobileapplication is activated, wherein the intensive com-ponents of the application are offloaded at runtimeat the service level granularity. SOP of EECOF isemployed for handling the dynamic processing loadon the local mobile device. The profiler mechanism isactivated to identify the larger intensive componentsof the application which needs to be offloaded to theremote server node. The orchestrator component ofEECOF monitors transition between POP and SOP.The preferences manager component is activated to

Client

ApplicationMiddleware

Mobile Device

Synchronizer

Cloud Node

Synchronizer

Cloud Node

Middleware

Server

Application

IPC

Successful Completion

Wireless

Medium

Primary Operating Procedure

1

2

3

4

5

Communication Between Mobile Device and Cloud Server Node By Using IPC

Processing of Activated Components

The Primary Operating Procedure Involves Direct Communication Pattern Using Middleware Services for Interactionbetween Client Application Running on Mobile Device and Server Application Running on Remote Server Node.

Synchronization Between Mobile Device and Cloud Server Node

Application on Remote ServerApplication on Mobile Device

Fig. 2 Sequence diagram for the primary operating procedure of EECOF

Energy Efficient Computational Offloading Framework for MCC

Application on

Mobile Device Profiler OrchistratorPrefrences

Manager

Upload

Manager

Download

Manager

Preferences

Manager OrchistratorDelegated Mobile

Application

Activate Profiler

Activate Orchistrator

Save Prefrences

Request for Deploying Virtual Device Instance on Remote Server

Migrate the Intensive Component of Application

Resume Delegated Application

Upload Prefrences File

Download Resultant Prefrences File

Read Resultant Prefrences File

Wireless

Medium

Secondary Operating Procedure

Components of EECOF on ServerComponents of EECOF on Mobile Device

Successful Completion of Secondary Operating Procedure

Application

Execution

1

2

3

4

5

6

7

8

9

10

Network Accessibility Monitoring

Synchronization Between Application on SMD and Remote Server11

12

Save Result to Prefrence File

Fig. 3 Sequence diagram for the secondary operating procedure of EECOF

save the running states of the application. The stateinformation of the intensive component of the applica-tion is saved in preferences file. In the mean while, theorchestrator component arbitrates with the clouddatacenter for the configuration of remote servernode and virtual device instance. Following that,the identified intensive component of the applica-tion is offloaded to the remotely configured cloudserver node. Virtual device instances on the cloudserver node are inaccessible directly from exter-nal network environment; therefore, a proxy agentis configured on the cloud server node to forwardthe binary code the component of the applicationto virtual device instance. The orchestrator compo-nent on the cloud server node configures the del-egated component of the mobile application. Fol-lowing that, the preferences file of the applicationis uploaded which is copied to the data folder ofthe application by preferences manager componentof the cloud server node. Preferences manager onthe cloud server provides access to the uploadedpreferences file of the application, from where therunning state of the delegated application is resumed.The synchronizer component on the cloud servernode is responsible for synchronizing the execution

of application on the remote server node and applica-tion on mobile device. Final results are saved in thepreferences file upon the successful execution of theapplication on the remote serve node. The resultantpreferences file is downloaded to the mobile device bydeploying the preferences downloader component ofthe ECCOF.

Figure 4 shows generic flowchart for the inter-action of the components of EECOF framework inleveraging application processing services of cloudserver node. Mobile application executes on SMD intwo different modes, i.e. online and offline, whereasthe services of remote server are utilized in two dif-ferent operating procedures of online mode. In theonline mode the services of cloud server nodes areleveraged for the processing of intensive componentsof the mobile application. In the POP, mobile appli-cation accesses the preconfigured services of EECOFserver. However, in the scenario of unavailability ofthe preconfigured server, the intensive components ofthe mobile application are offloaded to the remoteserver node at runtime.

EECOF employs the replication of intensive com-ponents of the application on local mobile device andcloud server node. Application replication involves

M. Shiraz et al.

Start

Server Component

Required

Orchestrator

Preferences

Manager

SynchronizerSelection of Cloud

Server Node

Preconfigured Services

No

Mobile Application

POP

Critical

Condition

Yes

SOP

No

Remote Application

Processing

Stop

Upload Manager Download Manager

Yes

Fig. 4 Illustration of the interaction of the components ofEECOF framework in primary operating procedure and sec-ondary operating procedure

the complexities of consistency in the local execu-tion and remote execution and synchronization ofthe application execution between mobile deviceand remote server node. However, the replicationof intensive components of the mobile applicationassists in achieving the goals of rich user experiencesand offline usability. It means that the application onmobile device still remains functional in offline modein the situations of unavailability of preconfiguredservices on the cloud server node. Similarly, in thecritical condition application is switched to onlinemode, however once the resources become availableon the mobile device, application can be switchedback to the offline mode. The architecture and oper-ation procedure of EECOF are different from thetraditional client/server applications. The traditionalclient/server applications are thin client applica-tions. The client applications provide user agentsfor interaction with the local computer, whereas theprocessing logic is implemented on the remote servermachines. Examples of such applications include webapplication, email application, social network appli-cations such as Facebook, and video conferencingapplications such as Skype application. In the tradi-tional client/server model, the client component ofthe application becomes insignificant in the situations

of inaccessibility of the server component. Therefore,EECOF framework is attributed with the features ofoffline usability, on demand access of the preconfig-ured cloud services and offloading computational loadof the local mobile device in the situation of unavail-ability of sufficient resources for the processing ofmobile application on local mobile device.

The following section presents analytical model forthe configuration of mobile application on the basisof EECOF framework. The overall intensive mobileapplication (A) is classified into two distinct cate-gories which are –application on mobile device (Ac)and application on cloud server (As). For each cate-gory, components of the application are configured onthe basis of the computational requirements – eithermemory size (i.e., (Mc) for Ac and Ms for As) orprocessing length (i.e., Pc for Ac and Ps for As). Typ-ically, the application on mobile device is composedof the small intensive and tightly coupled compo-nents, whereas the application on cloud server nodeis composed of big intensive and loosely coupledcomponents of A (Fig. 5).

Let there are n1 components in Ac and N2 compo-nents in As such that n1 + n2 = n, Ac ∪ As = A ∈ U

and Ac ∩As = ∅ then by using the particular notationsthe following expressions are defined with respect todifferent aspects of EECOF.

For the application on mobile device, let T cx and

T cy be the total memory and processing requirements

respectively, and qk and rk be the respective memorysize and processing length of the kth single componentxk ∈ Ac. Then, Qc = {qk ∈ N : qk > 0, 1 ≤ k ≤ n1}and Rc = {rk ∈ R : rk > 0, 1 ≤ k ≤ n1}. So, T c

x andT c

y are determined as,

T cx =

∑n1

k=1qk, for qk ∈ Qc and |Qc| ≥ 1, (3)

and

T cy =

∑n1

k=1Rk, for rk ∈ Rc and |Rc| ≥ 1. (4)

In the same way, for the application on remoteserver, if T s

x and T sy represent the total memory and

processing requirements respectively, then they can bedetermined as,

T sx =

∑n2

l=1ql, for ql ∈ Xs and |Xs | ≥ 1 (5)

and

T sy =

∑n2

l=1Rl, for rl ∈ Rs and |Rs | ≥ 1 (6)

Energy Efficient Computational Offloading Framework for MCC

Fig. 5 A typical depictionof EECOF based mobileapplication

where given that, Ys = {yl ∈ N : yl > 0, 1 ≤ l ≤ n2}for the memory size yl of the lth single componentxl ∈ As , and Zs = {zl ∈ R : zl > 0, 1 ≤ 1 ≤ n2} forthe processing length zl of the lth single componentxl ∈ Xs .

As Ac ⊂ A ∈ U , As ⊂ X ∈ U , Ac ∪ As =X ∈ U and Ac ∩ As = ∅ the memory size of thestandalone mobile application is equal to the sum ofmemory size of application on mobile device and thememory size of application on the remote server. Nowthe equation (1) can be expressed as,

Tx =∑n

i=1qi =

∑n1

k=1qk+

∑n2

l=1ql (as n=n1+n2).

Hence, by using equations (3) and (5), the totalmemory size of the mobile application can be deter-mined as,

Tx = T cx + T s

x (7)

This standard equation (7) is useful for validatingthe total memory size of the mobile application (i.e.,T c

x = Tx − T sx ) and the total memory size of server

application (i.e., T sx = Tx − T c

x ).Moreover, if α represents the percentage of mem-

ory saved by outsourcing intensive components of theapplication at design time. Then by using (7), α can becalculated as,

α = τ sx

τx

× 100. (8)

Similarly, by employing equations (4) and (6) thetotal processing length of the standalone mobile appli-cation can be determined by the following standardequation,

Ty = T cy + T s

y (9)

The equation (9) is useful for validating the totalprocessing length of the application on mobile device(i.e., T c

y = Ty − T sy ) and the total processing length of

server application (i.e., T sy = Ty − T c

y ).

If β represents the %age of CPU saved by offload-ing intensive components of the application at designtime, then by using (9), β can be easily estimated asfollows:

β = τ sy

τy

× 100. (10)

4 Methodology

Experimental Setup We evaluate EECOF by bench-marking the prototype application for the Androidoperating system platform in the real mobile cloudcomputing environment. The experimental setup fortesting the prototype application in the real wirelessmobile network environment is composed of Wi-Fiwireless network of radio type 802.11g, Server nodeand Samsung Galaxy SII mobile device. We havedeployed our own Hybrid Mobile Cloudlet based onOpenStack Cloud Operating System which is used forexperimentation and mobile cloud development pur-poses. The server node is configured in the virtualmachine instance deployed in the cloud datacenter.The server node runs Microsoft Windows 7 Profes-sional 32-bit operating system with Intel®core(TM)i5-2500 CPU having 3.3GHz speed and 4.0 GB RAMcapacity. The Samsung Smartphone runs Android4.0.3, dual core ARMv7 Application Processor with1.2 GHz speed, 16GB memory capacity and 1650mAhbattery. Mobile device accesses the wireless networkvia Wi-Fi wireless network connection of radio type802.11g, with the available physical layer data ratesof 54Mbps. The IaaS model of the cloud datacenter isemployed by running Android Virtual Device (AVD)instances of the mobile device on the virtual machineinstance of the cloud server node which runs Android4.1-API Level-17 with ARMv7 Processor having2389.08 BogoMIPS speed and 1GB RAM capacity.

The client application runs on the mobile device,whereas the server application runs on the remote

M. Shiraz et al.

cloud server node. The server machine is configuredfor the provisioning of services to the mobile device intwo distinct operating modes of the application. Thepreconfigured services of the server node utilizes theSoftware as a Service (SaaS) model of cloud com-puting for the provisioning of distributed services inthe primary operation procedure of EECOF, whereasthe Infrastructure as a Service (IaaS) model employedfor the provisioning of services in the SOP of mobileapplication. The virtual device instance is employedon the server machine for the execution of offloadedapplication at runtime.

We employ the server application by usingMicrosoft Visual Studio 2010 ASP.NET Web ServiceApplication tool of Visual C#, whereas kSOAP2 API[43] is employed for the configuration of the clientapplication. Java based Android Software develop-ment toolkit [40] is deployed for the developmentof client application. The Android ADB (AndroidDebug Bridge) Plug in is embedded in the Eclipseapplication development tool for the development ofprototype application. The POP of the client appli-cation is implemented by using kSOAP2 library APIon the mobile devices for accessing the preconfiguredservices of the server application. The AVD instanceis created on the remote server machine by usingAndroid emulator for the execution of offloaded com-ponents of the client mobile application in the SOP.Monitoring tools such as ADB and Dalvik DebugMonitor System (DDMS) [40] are used for the mea-surement of resources utilization (CPU and RAM),whereas Power Tutor tool [41] is used for the mea-surement of battery power consumption in distributedapplication processing.

Prototype Application We develop a prototype appli-cation by using Service Oriented Architecture (SOA)of Android applications [40]. The SOA enablesto deploy service granularity level for offloadingcomputational load of the mobile application. Theprototype application is composed of three compu-tational intensive service components and a singleactivity component. The service components imple-ment the computational logic of the application,whereas the activity component provides GraphicalUser Interface (GUI) for interacting with the mobileapplication. The computational logic of the applica-tion is composed of three service components. (a)Sorting service component implements the logic of

bubble sort for sorting liner list of integer type values.The sorting logic of the application is tested with 30different computational intensities (11000-40000). (b)The matrix multiplication service of the applicationimplements the logic of computing the product of 2-Darray of integer type values. Matrix multiplicationlogic of the application is tested with 30 differentcomputational intensities by varying the length ofthe 2-D array between 160*160 and 450*450. c) Thepower compute service of the application implementsthe logic of computing b∧e, whereas b is the base ande is the exponent. The power compute logic of theapplication is tested for 30 different computationalintensities by varying the exponent between 1000000and 200000000. Empirical data are collected by sam-pling all computational intensities of the applicationin 30 different experiments and the value of samplemean is signified with 99 % confidence for the samplespace of 30 values in each experiment.

Data Gathering and Data Processing The primarydata are collected by testing the prototype applica-tion in three different scenarios. In the first scenario,all the components of the mobile application are exe-cuted on the local mobile device to analyze resourcesutilization and execution time of the application onthe local mobile device. In the second scenario, theintensive components of the mobile application areoffloaded at runtime by implementing the traditionalcomputational offloading technique. In this scenario,the resources utilization in distributed processing ofthe application, data communication over the wirelessnetwork medium, and turnaround time of the applica-tion on the virtual device instance on the remote servermachine are analyzed. In the third scenario, the proto-type application is tested for the operating proceduresof the proposed framework. We evaluate resourcesutilization and execution cost of the application in thePOP and SOP of the EECOF.

The empirical data are collected for all the compu-tational intensities of every component of the mobileapplication by executing the component of the mobileapplication in 30 experiments. Each experiment isconducted 30 times for the evaluation of each param-eter to derive the value of point estimator. Data sam-pling involves the factor of sampling error; hence thesample mean can differ from the population mean.Hence, to signify the goodness of the calculatedpoint estimate; the interval estimate of each sample is

Energy Efficient Computational Offloading Framework for MCC

determined. The confidence level of an interval esti-mate of a parameter indicates the probability that theinterval estimate contains the parameter.

5 Results and Discussion

We evaluate the ECC of the components of mobileapplication in local and remote execution. Experi-mentation is performed in three different scenarios:(a) execution of mobile application on local mobiledevice, (b) implementing traditional computationaloffloading technique [15, 42] for the execution ofapplication and (c) employing EECOF for computa-tional offloading in MCC. Energy efficiency is mea-sured in terms of reduction of energy consumptioncost for computational offloading in MCC. The energyefficient nature of EECOF is validated by comparingresults of different experimental scenarios. Empiricaldata are compared from the perspective of local appli-cation execution and cloud server based applicationexecution to validate the energy efficiency of proposedframework. The value of ECC for different servicecomponents of the prototype application is comparedwith 30 different computational intensities.

Figure 6 shows difference in ECC of processingsort service component of the application on localmobile device and traditional computational offload-ing technique for varying computational intensities(list size 11000-40000). The ECC of the sorting ser-vice execution is higher in traditional computationaloffloading as compared to local execution of the ser-vice component of the application. The increase inthe ECC in traditional computational offloading estab-lishes the fact that additional energy is consumed in

0

20

40

60

80

100

120

140

Fig. 6 Difference in ECC of sort service execution on mobiledevice and traditional computational offloading

offloading the intensive components of the mobileapplication at runtime. For instance, ECC of exe-cuting sorting service on the local mobile device isobserved 21.1 J for sorting 11000 values, 37.1 J forsorting 25000 values, 68.6 J for sorting 40000 values.Whereas, the EEC of cloud based processing of sort-ing service by employing traditional computationaloffloading is found 49.8 J for sorting 11000 values,95.4 J for sorting 25000 values and 201.4 J for sorting40000 values. It shows that by employing traditionalcomputational offloading technique the ECC of sort-ing operation increases 28.7 J (57.6 %) for sorting listof 11000 values, 58.3 J (61.1 %) for sorting list of25000 values and 132.8 J (65.9 %) for sorting list of4000 values. The increase in the ECC is for the reasonof runtime component migration. The mechanism ofruntime component migration involves the overheadof sending application binary file and data files to thecloud server node and reconfiguration of the delegatedapplication on the cloud server node.

Figure 7 shows difference in ECC of process-ing sort service component of the application onlocal mobile device and EECOF based computationaloffloading. Analysis of the results show that ECC islower in EECOF based computational offloading ascompared local processing of sorting service compo-nent of the application. For Instance, in the POP ofEECOF the ECC is found 7.4 J for sorting 11000,14.1 J for sorting 25000 values and 23 J for sorting40000 values. It shows that by employing the proposedframework, the ECC of sorting operation is reduced incloud based processing of sorting operation as com-pared to the execution of sorting operation on mobiledevice. For instance, the reduction in ECC of sort-ing operation in EECOF as compared to the executionof service on mobile device is found 14.2 J (65.7 %)

0

50

100

150

200

250

Fig. 7 Difference in ECC of sort service execution on mobiledevice and EECOF based computational offloading

M. Shiraz et al.

for sorting 11000 values, 90.6 J (86.5 %) for sorting25000 values and 230.6 J (90.9 %) for sorting 40000values. The overall decrease in the ECC in employingEECOF is 90.9 % varying computational intensities ofsorting operation (11000-40000).

Figure 8 shows the comparison the ECC in localand cloud based execution of sort service componentof the application in different scenarios. It shows thatthe employment of EECOF for computational offload-ing reduces the ECC of performing sorting operationon the cloud server node as compared to the ECCof executing sorting service component of the appli-cation on local mobile device and traditional compu-tational offloading. The decrease in ECC of sortingoperation is for the reason of employing computa-tional task offloading to cloud server node rather thanruntime component offloading. The ECC in EECOFbased computational offloading reduces 85.1 % forsorting list of 11000 values, 85.2 % for sorting list of25000 values and 88.6 % for sorting list of 40000 val-ues, as compared to traditional computational offload-ing. The overall reduction in ECC value for sortingservice in EECOF based computational offloading isfound is 86(+/−) 0.9 % for varying computationalintensities of sorting operation (11000-40000 values).

Similarly, we found that the ECC of the matrix mul-tiplication service execution is higher in traditionalcomputational offloading as compared to local exe-cution of the service component of the application.For instance, the EEC of executing matrix multipli-cation service on the local mobile device is found11.5 J for multiplying matrices of 160*160 size, 24.7J for multiplying matrices of 300*300 size, 69.9 Jfor multiplying matrices of 450*450 size. Whereas,The EEC of executing matrix multiplication service by

0

50

100

150

200

250ECC of Sorting Operation on Local Mobile

Device

ECC in Offloading Sorting Operation by Using

POP of EECOF

ECC in Offloading Sorting Operation by Using

Traditional Computatioanl Offloading

Fig. 8 Comparison of energy consumption cost (ECC) forsorting service in local and cloud based remote execution

employing traditional computational offloading isobserved 40 J for multiplying matrices of 160*160size, 71.9 J for multiplying matrices of 300*300 size,131.7 J for multiplying matrices of 450*450 size.

Figure 9 shows difference in ECC of process-ing matrix multiplication service of the applicationon local mobile device and traditional computationaloffloading technique for varying computational inten-sities (matrices size 160*160-450*450). It is foundthat by employing traditional computational offload-ing technique the ECC of matrix multiplication oper-ation increases 28.5 J (71 %) for multiplying matricesof 160*160 size, 47.2 J (66 %) for multiplying matri-ces of 300*300 size and 61.8 J (47 %) for multiplyingmatrices of 450*450 size. The overall increase in theECC of matrix multiplication operation is found 47.5J in traditional computational offloading as comparedto the local execution of matrix service for varyingintensities (160*160-450*450).

The comparison of ECC of matrix multiplicationoperation on local mobile device and ECCOF basedcomputational offloading shows that the ECC of thematrix multiplication service execution is lower inEECOF based remote execution as compared to exe-cution of the component of the local mobile device.However, difference in ECC is smaller for lowerintensities of the application. For example, percentdifference in ECC of matrix multiplication serviceexecution in EECOF based remote processing is up to0.87 % for intensities between 160*160 and 260*260.Difference in ECC by deploying EECOF for lowerintensities of matrix multiplication service is lowerfor the reason of additional overhead involved (forinstance, uploading input parameters and download-ing results) in remote processing of application.

0

10

20

30

40

50

60

70

Fig. 9 Difference in ECC of matrix multiplication serviceexecution on mobile device and traditional computationaloffloading

Energy Efficient Computational Offloading Framework for MCC

However, it is found that energy gain is higherin deploying EECOF for higher intensities of theapplication. For instance, difference in the ECC ofexecuting matrix multiplication service in the POPof EECOF as compared to execution of the applica-tion on local mobile device is found up to 4.04 % forhigher intensive of matrix multiplication (270*270-450*450). Figure 10 shows difference in ECC ofprocessing matrix multiplication service of the appli-cation in the POP of EECOF and the local execu-tion of matrix service for varying higher intensities(270*270-450*450). It shows that deploying EECOFfor higher intensities of the application is more signif-icant as compared to low intensities of the application.The overall decrease in the ECC of matrix multipli-cation operation is found 3(+/-)1.1 J in the POP ofEECOF as compared to the local execution of matrixservice for varying intensities (160*160-450*450).

Figure 11 shows the comparison the ECC in localand cloud based execution of matrix multiplicationservice execution in different scenarios. It shows thatthe employment of EECOF for computational offload-ing reduces the ECC of performing matrix multiplica-tion operation on the cloud server node as comparedto the ECC of executing matrix multiplication ser-vice component of the application on local mobiledevice and traditional computational offloading. Thedecrease in the ECC of matrix multiplication oper-ation is for the reason of employing computationaltask offloading to cloud server node rather than run-time component offloading. The reduction ECC ofEECOF based computational offloading as comparedto traditional computational offloading is found 73 %for multiplying matrices of length 160*160, 70 %for multiplying matrices of length 270*270, 62 % formultiplying matrices of length 350*350 and 50 % for

0

1

2

3

4

5

6

7

8

Fig. 10 Difference in energy consumption cost of matrix multi-plication service execution on mobile device and EECOF basedcomputational offloading

multiplying matrices of length 450*450. The overallreduction in ECC value for matrix multiplication ser-vice in POP of EECOF is 64.3 (+/-) 5.4 % with 99 %confidence in the sample space of 30 values.

The ECC of application processing remains lowerin EECOF based computational offloading as com-pared to local execution of the application. Forinstance, 14.4 J energy is consumed in multiplying440*440 size matrix on mobile device, where as 10.8J energy is consumed in deploying POP of EECOF,which shows reduction 25 % in energy consump-tion while deploying EECOF. Similarly, 15.9 J energyis consumed in multiplying 450*450 size matrix onmobile device, where as 11.3 J energy is consumedin deploying POP of EECOF, which shows reduc-tion 28.9 % in energy consumption while deployingEECOF. However, the total ECC for higher intensi-ties of matrix multiplication operation increases forthe reason of energy consumed in downloading theresultant file from the remote server node. For thatreason the total ECC in deploying EECOF becomescloser to the ECC of the application on mobile device.However, in comparison to the traditional runtimecomponent migration, the total ECC of EECOF basedoffloading always remains lower as shown in Fig. 11.

The ECC of the power compute service execu-tion is evaluated by employing the primary operat-ing procedure and secondary operating procedure ofEECOF. The employment of POP of EECOF showsthat ECC of power compute operation is lower incloud based processing of the operation as com-pared to the processing of power compute serviceon the local mobile device. For instance, in the sce-nario of local execution of power compute option theECC is found 2.2 J for computing 2∧1000000, 5.4 Jfor computing 2∧60000000 and 67 J for computing2∧2000000000. However, in the POP of EECOF theECC of power compute operation is found 2 J for com-puting 2∧1000000, 3.5 J for computing 2∧60000000and 11.1 J for computing 2∧2000000000. It showsthat in the POP of EECOF the ECC reduces 0.2 J(9.1 %) for computing 2∧1000000, 1.9 J (35.2 %)for computing 2∧60000000 and 55.9 J (83.4 %)for computing 2∧ 2000000000. The overall decreasein the ECC of power compute operation in thePOP of EECOF is 44 % for 30 varying intensi-ties of the power compute operation (2∧1000000-2∧2000000000). Figure 12 shows the comparison ofECC for power compute execution on local mobile

M. Shiraz et al.

Fig. 11 Comparison ofenergy consumption cost(ECC) for matrixmultiplication service inlocal and cloud basedremote execution

0

20

40

60

80

100

120

140

16

0*1

60

17

0*1

70

18

0*1

80

19

0*1

90

20

0*2

00

21

0*2

10

22

0*2

20

23

0*2

30

24

0*2

40

25

0*2

50

26

0*2

60

27

0*2

70

28

0*2

80

29

0*2

90

30

0*3

00

31

0*3

10

32

0*3

20

33

0*3

30

34

0*3

40

35

0*3

50

36

0*3

60

37

0*3

70

38

0*3

80

39

0*3

90

40

0*4

00

41

0*4

10

42

0*4

20

43

0*4

30

44

0*4

40

45

0*4

50

ECC of Matrix Multiplication Operation on Local Mobile

Device

ECC in Offloading Matrix Multiplication Operation by

Using POP of EEFCO

ECC in Offloading Matrix Multiplication Operation by

Using Traditional Computatioanl Offloading

device and cloud server nodes by using POP ofEECOF for 30 different computational intensities ofthe power compute operation.

To evaluate the viability of proposed framework,the power compute service component of the appli-cation is also executed by using the SOP of EECOF,wherein the running instance of power compute ser-vice component is offloaded to the cloud server node.It is assumed that the power compute service cannotbe accessed in the POP of EECOF for the reason ofunavailability of preconfigured service on the cloudserver node. Mobile device is pushed into the criticalcondition, wherein the profiler mechanism reports thecritical condition and the orchestrator component theframework switches mobile application to the onlinemode. It determines the power computing task cannotbe offloaded by using POP of EECOF; therefore therunning instance of power compute application isoffloaded to the remote server node. The delegatedcomponent is reconfigured on the cloud server node

and power compute operation is performed. The sig-nificance of active services migration in the SOP ofEECOF to cloud server nodes is that it reduces thecomputational load on SMD which results in savingcomputing resources (RAM and CPU). However,migration of the active services at runtime involvesthe additional complications of the establishmentand management of distributed platform at runtime.Therefore, the ECC of offloading power compute timeis increased in SOP of EECOF. For instance, the ECCin SOP of EECOF as compared to local execution ofpower compute service increases 59.3 % for comput-ing 2∧1000000, 76.7 for computing 2∧60000000 and89.9 % for computing 2∧2000000000.

Analysis of the results shows lower energy con-sumption cost by employing ECCOF for cloud basedprocessing for the intensive component of mobileapplication. It is observed that the additional costof application binary code migration and active datastate migration to the cloud server node is reduced

Fig. 12 Comparison ofenergy consumption costfor power compute serviceexecution on local mobiledevice and cloud servernode in the POP of EECOF

0

10

20

30

40

50

60

70

80

2^100

000

0

2^200

000

0

2^300

000

0

2^400

000

0

2^500

000

0

2^600

000

0

2^700

000

0

2^800

000

0

2^900

000

0

2^100

000

00

2^200

000

00

2^300

000

00

2^400

000

00

2^500

000

00

2^600

000

00

2^700

000

00

2^800

000

00

2^900

000

00

2^100

000

000

2^200

000

000

2^300

000

000

2^400

000

000

2^500

000

000

2^600

000

000

2^700

000

000

2^800

000

000

2^900

000

000

2^100

000

000

2^190

000

000

0

2^200

000

000

0

ECC of Power Compute Service

Execution on Local MobileDevice

ECC of Power Compute Service

Execution In POP of EECOF

Energy Efficient Computational Offloading Framework for MCC

by employing EECOF for cloud based processing ofcomputationally intensive mobile applications. As aresult, the energy consumption cost of the componentof the mobile application is reduced. For instance,by employing EECOF the size of data transmissionfor sorting service is reduced 74.8 %, and the energyconsumption cost is reduced 86.7 % compared to thetraditional computational offloading technique. Simi-larly, the size of data transmission for matrix multi-plication operation is reduced 92.8 % and energy con-sumption cost is reduced 64.2 % compared to the tra-ditional computational offloading technique. Hence,EECOF provides a lightweight and energy efficientmechanism for computational offloading in MCC.

6 Conclusion and Future Work

Traditional COFs are based on the establishment ofdistributed platform at runtime and lack of distributedarchitecture for the intensive mobile application asa result additional energy is consumed in compo-nent offloading at runtime. Hence, EECOF addressesthe issue of additional energy consumption in com-putational offloading for MCC by deploying a dis-tributed architecture and employs lightweight proce-dure for minimizing the overhead of runtime com-ponent offloading. EECOF leverages the SaaS modelfor the configuration of intensive components on thecloud server node and the IaaS model for adaptiveoffloading of mobile application. The incorporation ofpreconfigured services access technique and runtimecomputational offloading technique facilitates in theoptimal deployment procedure with minimal energyconsumption cost for the establishment of distributedplatform in MCC. The dual operating nature of theproposed framework contributes to the versatility androbustness of the distributed and elastic model forintensive mobile application in MCC.

The additional cost of application binary codemigration and active data state migration to the cloudserver node is reduced by employing EECOF forcloud based application processing. As a result, theECC of the component of the mobile applicationis reduced. Analysis indicates that by employingEECOF the size of data transmission over the wirelessnetwork medium is reduced up to 84 % and energyconsumption cost is reduced up to 69.9 % by offload-ing different components of the prototype application.

Hence, EECOF provides an energy efficient appli-cation layer solution for computational offloading inMCC. The future research work includes extendingthe scope this research to address the issues of consis-tency of simultaneous application execution betweenlocal mobile device and remote cloud server node, andseamless application execution in cloud based appli-cation processing of intensive mobile application.

Acknowledgment This research is carried out as part ofthe Mobile Cloud Computing research project funded by theMalaysian Ministry of Higher Education under the Univer-sity of Malaya High Impact Research Grant with referenceUM.C/HIR/MOHE/FCSIT/03.

References

1. Holman, R.: Mobile Cloud Computing: $9.5 billionby 2014. http://www.juniperresearch.com/analyst-xpress-blog/2010/01/26/mobile-cloud-application-revenues-to-hit-95-billion-by-2014-driven-by-converged-mobile-services/(2010). Accessed on 18 August 2013

2. Prosper Mobile Insights, Smartphone/tablet user sur-vey. http://prospermobileinsights.com/Default.aspx?pg=19(2011). Accessed on 20 July 2013

3. Albanesius, C.: Smartphone shipments surpass PC ship-ments for first time. What’s next? http://www.pcmag.com/article2/ Accessed on 15 December 2013

4. Shiraz, M., Gani, A., Khokhar, H.R., Buyya, R.: Areview on distributed application processing frameworksin smart mobile devices for mobile cloud computing.IEEE Commun. Surv. Tutorials 15(3), 1294–1313 (2013).doi:10.1109/SURV.2012.111412.00045

5. Abolfazli, S., Sanaei, Z., Ahmed, E., Gani, A., Buyya,R.: Cloud-based augmentation for mobile devices: Motiva-tion, taxonomies, and open issues. IEEE Commun. Surv.Tutorials 16(1), 337–368 (2014)

6. Rings, T., Caryer, G., Gallop, J., Grabowski, J.,Kovacikova, T., Schulz, S., Stokes-Rees, I.: Grid and cloudcomputing: Opportunities for integration with the nextgeneration network. J. Grid Comput. 2009(7), 375–393(2009). doi:10.1007/s10723-009-9132-5

7. Rimal, P.B., Jukan, A., Katsaros, D., Goeleven, Y.: Archi-tectural requirements for cloud computing systems: Anenterprise cloud approach. J. Grid Comput. 2011(9), 3–26(2011). doi:10.1007/s10723-010-9171-y

8. Chohan, N., Bunch, C., Krintz, C., Canumalla, N.: Cloudplatform datastore support. J. Grid Comput. 2013(11), 63–81 (2013). doi:10.1007/s10723-012-9238-z

9. Shamsi, J., Ali, K.M., Qasmi, A.M.: Data-intensive cloudcomputing: Requirements, expectations, challenges, andsolutions. J. Grid Comput. 2013(11), 281–310 (2013).doi:10.1007/s10723-013-9255-6

10. Troger, P., Merzky, A.: Towards standardized job submis-sion and control in infrastructure clouds. J. Grid Comput.2014(12), 111–125 (2014)

M. Shiraz et al.

11. Shiraz, M., Ahmed, E., Gani, A., Han, Q.: Investigationon runtime partitioning of elastic mobile applications formobile cloud computing. J. Supercomput. 67(1), 84–103(2014). doi:10.1007/s11227-013-0988-6

12. Amazon S3 [Online Available] http://status.aws.amazon.com/s3-20080720.html (Accessed on 20th July 2011)

13. Cuervo, E., Balasubramanian, A., ChoK, D.O., Wolman,A., Saroiu, S., Chandra, R., Bahlx, P.: MAUI: MakingSmartphones Last Longer with Code Offload MobiSys’10.San Francisco (2010)

14. Zhang, X., Kunjithapatham, A., Jeong, S., Gibbs, S.:Towards an elastic application model for augmenting thecomputing capabilities of mobile devices with cloud com-puting. Mobile Netw. Appl. 16(3), 270–285 (2011)

15. Hung, H.S., Shih, S.C., Shieh, P.J., Lee, P.C., Huang,H.Y.: Executing mobile applications on the cloud:Framework and issues. Comput. Math. Appl. 63(2), 573–587 (2012)

16. Messer, Greenberg, I., Bernadat, P., Milojicic, D., Chen, D.,Giuli, T.J., Gu, X.: Gu Towards a Distributed Platform forResource-Constrained Devices. Hewlett-Packard Company(2002)

17. Giurgiu, Riva, O., Juric, D., Krivulev, I., Alonso, G.:Calling the cloud: Enabling mobile phones as inter-faces to cloud applications. Middleware’09 Proceedings ofthe ACM/IFIP/USENIX 10th International Conference onMiddleware, pp. 83–102. ACM Press (2009)

18. Chun, B.G., Maniatis, P.: Augmented Smartphone Appli-cations Through Clone Cloud Execution. Intel ResearchBerkeley (2009)

19. Kovachev, D., Klamma, R.: Framework for computationoffloading in mobile cloud computing. Int. J. Interact.Multimedia Artif. Intell. 1(7), 6–15 (2012)

20. Apple – iCloud http://www.apple.com/icloud/ Accessed on1 January 2013

21. Introducing Amazon Silk. http://amazonsilk.wordpress.com/2011/09/28/introducing-amazon-silk/ Accessed on 1January 2013

22. Yang, L., Cao, J., Cheng, H.: Resource Constrained Multi-user Computation Partitioning for Interactive Mobile CloudApplications. Hong Kong Poly-technical University, Tech-nical Report (2012)

23. Abebe, E., Ryan, C.: Adaptive application offloading usingdistributed abstract class graphs in mobile environments. J.Syst. Softw. 85(12), 2755–2769 (2012)

24. Goyal, S., Carter, J.: A Lightweight Secure Cyber ForagingInfrastructure for Resource-Constrained Devices WMCSA2004 6th IEEE Workshop. IEEE (2004)

25. Satyanarayanan, M.: Pervasive computing: Vision and chal-lenges. IEEE Pers. Commun. 8(4), 10–17 (2001)

26. Oh, Lee, S., Lee, E.: An adaptive mobile system usingmobile grid computing in wireless network. In: Proceed-ings of the 6th International Conference on ComputationalScience and Its Applications (ICCSA 2006), pp. 49–57.Glasgow, UK (2006)

27. Chunlin, Layuan, L.: Energy constrained resource allo-cation optimization for mobile grids. J. Parallel Distrib.Comput. 70(3), 245–258 (2010)

28. Begum, Y., Mohamed, M.: A DHT-based process migra-tion policy for mobile clusters. In: 7th InternationalConference on Information Technology, pp. 934–938. LasVegas (2010)

29. Tilevich, E., Smaragdakis, Y.: J-orchestra: Automatic javaapplication partitioning. ECOOP 2002—Object-OrientedProgramming, pp. 178-204 (2006)

30. Musunoori, B.S., Horn, G.: Intelligent ant-based solutionto the application service partitioning problem in a gridenvironment. In: 6th International Conference on IntelligentSystems Design and Applications, ISDA’06, pp. 416–424(2006)

31. Newton, R., Toledo, S., Girod, L., Balakrishnan, H., Mad-den, S.: Wishbone: Profile-based partitioning for sensornetapplications. In: Proceedings of the 6th USENIX Sympo-sium on Networked Systems Design and Implementation(NSDI), pp. 395–408. Boston (2009)

32. Bi-Ru, D., Lin, C.I.: Efficient Map/Reduce-BasedDBSCAN Algorithm with Optimized Data Partition. In:Cloud Computing (CLOUD), 2012 IEEE 5th InternationalConference, pp. 59–66. Honolulu (2012)

33. Gu, X., Nahrstedt, K., Messer, A., Greenberg, I., Milojicic,D.: Adaptive offloading inference for delivering applica-tions in pervasive computing environments. In: Proceedingsof the 1st IEEE International Conference on PervasiveComputing and Communications, 2003. (PerCom 2003),pp. 107–114 (2003)

34. Chu, H., Song, H., Wong, C., Kurakake, S., Katagiri, M.:Roam, a seamless application framework. J. Syst. Softw.69(3), 209–226 (2004)

35. Satyanarayanan, M., Bahl, P., Caceres, R.: The Case forVM-Based Cloudlets in Mobile Computing IEEE Comput-ing Society (2009)

36. Dou, Kalogeraki, V., Gunopulos, D., Mielikainen, T.,Tuulos, V.H.: Misco: A MapReduce Framework forMobile Systems, PETRA’10 Samos. ACM Press, Greece(2010)

37. Chun, G., Ihm, S., Maniatis, P., Naik, M., Patti,A.: CloneCloud: Elastic Execution between MobileDevice and Cloud, EuroSys’11. ACM Press, Salzburg Aus-tria (2011)

38. Kumar, K., Lu, H.Y.: Cloud computing for mobile users:Can offloading computation save energy. Comput. IEEEComput. Soc. 43(4), 51–56 (2010)

39. Shiraz, M., Gani, A., Khokar, R.H.: An Extendable Sim-ulation Framework for Modeling Application ProcessingPotentials of Smart Mobile Devices for Mobile Cloud Com-puting, Proceedings of Frontiers of Information Technology2012. Pakistan (2012)

40. Android Developers. http://developer.android.com/index.html Accessed on 10 July 2011

41. Power Tutor. http://ziyang.eecs.umich.edu/projects/powertutor/ Accessed on 15 April 2012

42. Shiraz, M., Gani, A.: A lightweight active service migra-tion framework for computational offloading in mobilecloud computing. J. Supercomput. 68(2), 978–995 (2014).doi:10.1016/j.jnca.2014.04.009

43. Ksoap2-android. https://code.google.com/p/ksoap2-android/Accessed on 1 May 2013