20
1294 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 15, NO. 3, THIRD QUARTER 2013 A Review on Distributed Application Processing Frameworks in Smart Mobile Devices for Mobile Cloud Computing Muhammad Shiraz, Abdullah Gani, Senior Member, IEEE, Rashid Hafeez Khokhar, Member, IEEE, and Rajkumar Buyya, Senior Member, IEEE Abstract—The latest developments in mobile devices technol- ogy have made smartphones as the future computing and service access devices. Users expect to run computational intensive applications on Smart Mobile Devices (SMDs) in the same way as powerful stationary computers. However in spite of all the advancements in recent years, SMDs are still low potential com- puting devices, which are constrained by CPU potentials, memory capacity and battery life time. Mobile Cloud Computing (MCC) is the latest practical solution for alleviating this incapacitation by extending the services and resources of computational clouds to SMDs on demand basis. In MCC, application offloading is ascertained as a software level solution for augmenting appli- cation processing capabilities of SMDs. The current offloading algorithms offload computational intensive applications to remote servers by employing different cloud models. A challenging aspect of such algorithms is the establishment of distributed application processing platform at runtime which requires addi- tional computing resources on SMDs. This paper reviews existing Distributed Application Processing Frameworks (DAPFs) for SMDs in MCC domain. The objective is to highlight issues and challenges to existing DAPFs in developing, implementing, and executing computational intensive mobile applications within MCC domain. It proposes thematic taxonomy of current DAPFs, reviews current offloading frameworks by using thematic taxon- omy and analyzes the implications and critical aspects of current offloading frameworks. Further, it investigates commonalities and deviations in such frameworks on the basis significant parameters such as offloading scope, migration granularity, partitioning approach, and migration pattern. Finally, we put forward open research issues in distributed application processing for MCC that remain to be addressed. Index Terms—Mobile Cloud Computing, Application Offload- ing, Elastic Applications, Distributed Systems I. I NTRODUCTION T HE MINIATURE nature, compact design, high qual- ity graphics, customized user applications support and multimodal connectivity features have made SMDs a spe- cial choice of interest for mobile users. SMDs incorporate the computing potentials of PDAs and voice communication Manuscript received 7 March 2012; revised 4 June 2012 and 16 September 2012. M. Shiraz, A. Gani, R. H. Khokhar are with Mobile Cloud Com- puting Research Lab, Faculty of Computer Science and Information Technology , University of Malaya, Kuala Lumpur, Malaysia (e-mail: muh [email protected], [email protected], [email protected], [email protected]). R. Buyya is with Cloud Computing and Distributed Systems(CLOUDS) Lab, Department of Computer Science and Information Systems , The University of Melbourne, Australia. Digital Object Identifier 10.1109/SURV.2012.111412.00045 capabilities of ordinary mobile devices by providing support for customized user applications and multimodal connectivity for accessing both cellular and data networks. SMDs employ wireless network technologies for accessing the internet; such as 3G connectivity, Wireless Fidelity (Wi-Fi), Wi-Max, or Long Term Evaluation (LTE). SMDs are the dominant future computing devices with high user expectations for accessing computational intensive applications analogous to powerful stationary computing machines. Examples of such applications include natural language translators [1]-[2], speech recognizers [1]-[3], optical character recognizers, image processors [4]-[5], online games, video processing [6] and wearable devices for patients such as wearable device with a head-up display in the form of eyeglasses (a camera for scene capture and earphones) is a useful application that helps Alzheimer patients in every- day life [7]. Such applications necessitate higher computing power, memory, and battery lifetime on resource constrained SMDs [8]. On the other hand, SMDs are still low potential computing devices having limitations in memory, CPU and battery power. In spite of all the advancements in recent years, SMDs are constrained by weight, size, and intrinsic limitations in wireless medium and mobility. A key area of mobile computing research focuses on the application layer research for creating new software level solutions. Application offloading is an application layer solu- tion for alleviating resources limitations in SMDs. Successful practices of cloud computing for stationary machines are the motivating factors for leveraging cloud resources and services for SMDs. Cloud computing employs different services provi- sion models for the provision of cloud resources and services to SMDs; such as Software as a Service, Infrastructure as a Service, and Platform as a Service. Several online file storage services are available on cloud server for augmenting storage potentials of client devices; such as Amazon S 3 [9], Google Docs [10], MobileMe [11], and DropBox [12]. In the same way, Amazon provides cloud computing services in the form of Elastic Cloud Compute. The cloud revolution augments the computing potentials of client devices; such as desktops, laptops, PDAs and smartphones. The aim of MCC is to alle- viate resources limitations of SMDs by leveraging computing resources and services of cloud datacenters. MCC is deployed in diverse manners to achieve the aforementioned objective. MCC employs process offloading techniques [13], [14] for augmenting application processing potentials of SMDs. In application offloading intensive applications are offloaded to 1553-877X/13/$31.00 c 2013 IEEE

A Review on Distributed Application Processing Frameworks in Smart Mobile Devices for Mobile Cloud Computing

Embed Size (px)

Citation preview

1294 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 15, NO. 3, THIRD QUARTER 2013

A Review on Distributed Application ProcessingFrameworks in Smart Mobile Devices for Mobile

Cloud ComputingMuhammad Shiraz, Abdullah Gani, Senior Member, IEEE, Rashid Hafeez Khokhar, Member, IEEE, and

Rajkumar Buyya, Senior Member, IEEE

Abstract—The latest developments in mobile devices technol-ogy have made smartphones as the future computing and serviceaccess devices. Users expect to run computational intensiveapplications on Smart Mobile Devices (SMDs) in the same wayas powerful stationary computers. However in spite of all theadvancements in recent years, SMDs are still low potential com-puting devices, which are constrained by CPU potentials, memorycapacity and battery life time. Mobile Cloud Computing (MCC)is the latest practical solution for alleviating this incapacitationby extending the services and resources of computational cloudsto SMDs on demand basis. In MCC, application offloading isascertained as a software level solution for augmenting appli-cation processing capabilities of SMDs. The current offloadingalgorithms offload computational intensive applications to remoteservers by employing different cloud models. A challengingaspect of such algorithms is the establishment of distributedapplication processing platform at runtime which requires addi-tional computing resources on SMDs. This paper reviews existingDistributed Application Processing Frameworks (DAPFs) forSMDs in MCC domain. The objective is to highlight issuesand challenges to existing DAPFs in developing, implementing,and executing computational intensive mobile applications withinMCC domain. It proposes thematic taxonomy of current DAPFs,reviews current offloading frameworks by using thematic taxon-omy and analyzes the implications and critical aspects of currentoffloading frameworks. Further, it investigates commonalities anddeviations in such frameworks on the basis significant parameterssuch as offloading scope, migration granularity, partitioningapproach, and migration pattern. Finally, we put forward openresearch issues in distributed application processing for MCCthat remain to be addressed.

Index Terms—Mobile Cloud Computing, Application Offload-ing, Elastic Applications, Distributed Systems

I. INTRODUCTION

THE MINIATURE nature, compact design, high qual-ity graphics, customized user applications support and

multimodal connectivity features have made SMDs a spe-cial choice of interest for mobile users. SMDs incorporatethe computing potentials of PDAs and voice communication

Manuscript received 7 March 2012; revised 4 June 2012 and 16 September2012.

M. Shiraz, A. Gani, R. H. Khokhar are with Mobile Cloud Com-puting Research Lab, Faculty of Computer Science and InformationTechnology , University of Malaya, Kuala Lumpur, Malaysia (e-mail:muh [email protected], [email protected], [email protected],[email protected]).

R. Buyya is with Cloud Computing and Distributed Systems(CLOUDS)Lab, Department of Computer Science and Information Systems , TheUniversity of Melbourne, Australia.

Digital Object Identifier 10.1109/SURV.2012.111412.00045

capabilities of ordinary mobile devices by providing supportfor customized user applications and multimodal connectivityfor accessing both cellular and data networks. SMDs employwireless network technologies for accessing the internet; suchas 3G connectivity, Wireless Fidelity (Wi-Fi), Wi-Max, orLong Term Evaluation (LTE). SMDs are the dominant futurecomputing devices with high user expectations for accessingcomputational intensive applications analogous to powerfulstationary computing machines. Examples of such applicationsinclude natural language translators [1]-[2], speech recognizers[1]-[3], optical character recognizers, image processors [4]-[5],online games, video processing [6] and wearable devices forpatients such as wearable device with a head-up display in theform of eyeglasses (a camera for scene capture and earphones)is a useful application that helps Alzheimer patients in every-day life [7]. Such applications necessitate higher computingpower, memory, and battery lifetime on resource constrainedSMDs [8]. On the other hand, SMDs are still low potentialcomputing devices having limitations in memory, CPU andbattery power. In spite of all the advancements in recent years,SMDs are constrained by weight, size, and intrinsic limitationsin wireless medium and mobility.

A key area of mobile computing research focuses on theapplication layer research for creating new software levelsolutions. Application offloading is an application layer solu-tion for alleviating resources limitations in SMDs. Successfulpractices of cloud computing for stationary machines are themotivating factors for leveraging cloud resources and servicesfor SMDs. Cloud computing employs different services provi-sion models for the provision of cloud resources and servicesto SMDs; such as Software as a Service, Infrastructure as aService, and Platform as a Service. Several online file storageservices are available on cloud server for augmenting storagepotentials of client devices; such as Amazon S3 [9], GoogleDocs [10], MobileMe [11], and DropBox [12]. In the sameway, Amazon provides cloud computing services in the formof Elastic Cloud Compute. The cloud revolution augmentsthe computing potentials of client devices; such as desktops,laptops, PDAs and smartphones. The aim of MCC is to alle-viate resources limitations of SMDs by leveraging computingresources and services of cloud datacenters. MCC is deployedin diverse manners to achieve the aforementioned objective.MCC employs process offloading techniques [13], [14] foraugmenting application processing potentials of SMDs. Inapplication offloading intensive applications are offloaded to

1553-877X/13/$31.00 c© 2013 IEEE

SHIRAZ et al.: DISTRIBUTED APPLICATION PROCESSING FRAMEWORKS IN SMART MOBILE DEVICES FOR MOBILE CLOUD COMPUTING 1295

remote server nodes. Current offloading procedures employdiverse strategies for the deployment of runtime distributedapplication processing platform on SMDs. A challenging issuein current DAPFs (Distributed Application Processing Frame-works) is the additional computing overhead on SMDs in thedeployment and management of runtime distributed applica-tion execution. This paper reviews current DAPFs in SMDswithin MCC domain and identifies challenges in the cloudbased processing of mobile applications. We classify existingDAPFs by thematic taxonomy and investigate commonalitiesand deviations in such frameworks on the basis of significantparameters such as offloading scope, partitioning approach,migration support, migration granularity, application developersupport, migration pattern and execution monitoring. The con-tribution of the paper lies in the categorization of frameworkson the basis of thematic taxonomy, analysis of current DAPFsby discussing the implications and critical aspects, identifyingthe issues in existing solutions for offload processing andchallenges to cloud based application processing of mobileapplications. The listing of challenges and open issues guideresearchers to select the appropriate domain for future researchand obtain ideas for further investigations.

The rest of the paper is organized as follows. Section 2explains the fundamental concepts of MCC. It discusses theconcept of cloud computing, mobile cloud computing andexplains the different techniques to augment smart mobile de-vices resources based on resources available within the cloud.Section 3 presents thematic taxonomy of current DAPFs,reviews current application offloading algorithms on the basisof taxonomy and investigates the implications and criticalaspects of current DAPFs. Section 4 compares current DAPFsby comparing the commonalities and deviations by usingsignificant parameters presented in the taxonomy. Section 5highlights the issues in current DAPFs and discusses chal-lenges to distributed application processing for MCC whichcontributes toward the advancement of research and devel-opment of optimal distributed applications for MCC. Finally,section 6 draws concluding remarks with future directives.Table 1 shows the list of acronyms used in the paper.

II. BACKGROUND

This section elaborates the concept of cloud computing andmobile cloud computing. Further, it explains the mechanismof augmenting smartphone through computational clouds.

A. Cloud Computing

Cloud computing is the latest distributed computing modelthat implements the utility computing vision [15] whereincomputing services are provided on demand basis. Cloud ser-vice models enable with new IT business models such as on-demand, pay-as-you-go, and utility computing. The objectiveof the cloud computing model is to increase the capacity andcapabilities of client devices by accessing leased infrastructureand software applications instead of owning them. Cloud com-puting has introduced new kind of information and servicesand new ways of communication and collaboration. Cloud hascreated online social networks in which scientists share dataand analysis tools to build research communities [16]-[17].

TABLE ILIST OF ACRONYMS

Symbol Description3G Third GenerationCC Cloud ComputingCPU Central Processing UnitDEM Device Elasticity ManagerDAPFs Distributed Application Processing FrameworksDISHES Distributed Shell SystemDRAM Dynamic Random Access MemoryDS Developer SupportEM Execution ManagementHTTP Hyper Text Transfer ProtocolIP Internet ProtocolLTE Long Term EvaluationMAR Mobile Augmented RealityMAUI Mobile Assistance Using InfrastructureMCC Mobile Cloud ComputingMG Migration GranularityMS Migration SupportMP Migration PatternOS Offloading ScopePA Partitioning ApproachPDA Personal Digital AssistantSOA Service Oriented ArchitectureS3 Simple Storage ServiceSD Service DirectorySMDs Smart Mobile DevicesSS Security SupportTSP Telecommunication Service ProviderUMSC Universal Mobile Service CellURL Uniform Resource LocatorVM Virtual MachineWi-Fi Wireless FidelityXML Extended Markup Language

In cloud computing, applications are delivered as servicesover the internet and user access computing resources fromcentralized cloud servers through service providers [18]. Theexamples of public utility computing include Amazon WebServices (AWS), Google AppEngine, Microsoft Azure andAneka. AWS offers infrastructure as a service and softwareas service which enable to utilize the virtualize resources andservices in cloud datacenters. It reduces the cost and effortsassociated with the administration of computer hardware andsoftware for organizations [19]. AWS are utilized to storepersonal data through its Simple Storage Service(S3) [20],and computation is performed using elastic cloud compute.Google App Engine provides application developmental anddeployment platform in Googles data centers. It uses powerfulinfrastructure to provide services worldwide. App Engineprovides an application development environment which useswell known application developmental tools (such as Javaand Python). It provides a rich set of APIs to users whereassustaining the security and isolation from other applicationsrunning the cloud infrastructure [21].Windows Azure is anextensible and open cloud computing platform which providesthe services to develop deploy and operate applications andservices in cloud datacenters. Windows Azure offers a simple,widespread, and powerful cloud computing platform for thecreation of web applications and services [22]. Aneka offersthe platform as a services model for cloud computing. Itserves as an application development framework for buildingcustomized applications and deploying them on either publicor private clouds [23].Computational clouds implement differ-ent types of service models for implementing the on demandcomputing vision [15]. Service providers provide services in

1296 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 15, NO. 3, THIRD QUARTER 2013

Fig. 1. Layered Cloud Computing Architecture

the form of various service models; Software as a Service(SaaS), Infrastructure as a Service (IaaS), and Platform as aService (PaaS). Fig. 1 shows an abstract level layered cloudcomputing architecture.

The hardware resources in the cloud datacenters are thephysical resources of computational clouds. Access to thephysical resources is provided in the form of virtual machines.A middleware (hypervisor) masks access to the physicalresources and is responsible for the deployment and manage-ment of virtual machines. The application hosting platform iscomposed of cloud programming environments and tools andmonitoring tools such as QoS negotiation, admission control,pricing and billing. The cloud applications run on the virtualmachine instances in complete isolation.

B. Mobile Cloud Computing

Mobile cloud computing is the latest practical computingparadigm that extends utility computing vision of computa-tional clouds to resources constrained SMDs. Aepona [24]defines MCC as a new distributed computing paradigm formobile applications whereby the storage and the data pro-cessing are migrated from the SMD to resources rich andpowerful centralized computing data centers in computationalclouds. The centralized applications, services and resourcesare accessed over the wireless network technologies based onweb browser on the SMDs. Successful practices of accessingcomputational clouds on demand for stationary computers mo-tivate for leveraging cloud services and resources for SMDs.MCC has been attracting the attentions of businesspersons asa profitable business option that reduces the development andexecution cost of mobile applications and mobile users areenabled to acquire new technology conveniently on demandbasis. MCC enables to achieve rich experience of a varietyof cloud services for SMD at low cost on the move. [25]-[26]. MCC prolongs diverse services models of computationalclouds for mitigating computing resources (battery, CPU,memory) limitations in SMDs. The objective of MCC isto augment computing potentials of SMDs by employingresources and services of computational clouds. MCC focuseson alleviating resources limitations in SMDs by employing dif-ferent augmentation strategies; such as screen augmentation,energy augmentation, storage augmentation and applicationprocessing augmentation of SMD. In [27], we study mobile

augmentation techniques and devise a taxonomy includingthree main approaches, namely high-end resource production,native resource conservation, and resource requirement reduc-tion. We analyze a number of approaches and argue that MCClessens need to high-end hardware, reduces ownership andmaintenance cost, and alleviates data safety and user privacy.

The MCC model is composed of three major components;SMDs, internet wireless technology and computational cloud.SMDs use wireless network technology protocols such as 3G,LTE, or Wi-Fi to access the services of computational cloud inmobile environment. However, the connection is less reliabledue to mobility requirements such as handoff processes. AsSMD inherit its nature of mobility, it needs to execute location-aware services which consume resources and turned it to be alow-powered client. Fig. 2 shows a generic model of MCC inwhich the cloud that provides off-device storage, processing,queuing capabilities, and security mechanism is integratedwith SMD via wireless network technologies.

MCC utilizes cloud storage services [[9]-[12] for providingonline storage and cloud processing services for augmentingprocessing capabilities of SMDs [14]. Processing capabili-ties of SMDs are augmented by outsourcing computationalintensive components of the mobile applications to clouddatacenters. The following section discusses the concept ofaugmenting smartphones through computational clouds.

C. Augmenting Smartphones through Computational Clouds

MCC implements a number of augmentation proceduresfor leveraging resources and services of cloud datacenters.Examples of the augmentations strategies include; screenaugmentation, energy augmentation, storage augmentation andapplication processing augmentation of SMD [27]. In MCC,two categories of the cloud services are of special interestto research community; cloud contents and computing power.Cloud contents are provided in the form of centralized storagecenters or sharing online contents such as live video streamsfrom other mobile devices. A number of online file storageservices are available on cloud server which augments thestorage potentials by providing off-device storage services.Examples of the cloud storage services include Amzon S3[9] and DropBox [12]. Mobile users outsource data storageby maintaining data storage on cloud server nodes. However,ensuring the consistency of data on the cloud server nodesand mobile devices is still a challenging research perspective.SmartBox [28] is an online file storage and managementmodel which provides a constructive approach for onlinecloud based storage and access management system. Similarly,the computing power of the cloud datacenters is utilizedby outsourcing computational load to cloud server nodes.The mechanism of outsourcing computational task to remoteserver is called process offloading or cyber foraging. Smartmobile devices implement process offloading to utilize thecomputing power of the cloud. The term cyber foraging isintroduced by Satyanarayanan [29] to augment the computingpotentials of wireless mobile devices by exploiting availablestationary computers in the local environment. The mechanismof outsourcing computational load to remote surrogates inthe close proximity is called cyber foraging [30]. Researchers

SHIRAZ et al.: DISTRIBUTED APPLICATION PROCESSING FRAMEWORKS IN SMART MOBILE DEVICES FOR MOBILE CLOUD COMPUTING 1297

Fig. 2. Model of Mobile Cloud Computing

extend process offloading algorithms for Pervasive Computing[31], Grid Computing [32] and Cluster Computing [33]. Inrecent years, a number of cloud server based applicationoffloading frameworks are introduced for outsourcing com-putational intensive components of the mobile applicationspartially or entirely to cloud datacenters. Mobile applicationswhich are attributed with the features of runtime partitioningare called elastic mobile applications. Elastic applications arepartitioned at runtime for the establishment of distributedprocessing platform.

Elastic mobile applications are attributed with the followingfeatures [34]. a) Ad-hoc platform creation is an importantattribute of elastic mobile applications. Distributed applicationprocessing platform is established on ad-hoc basis at runtimein which elastic mobile application is partitioned dynamicallyand computational intensive components are migrated to re-mote server nodes. Mobile clients dynamically arbitrate withcloud servers or surrogates to determine appropriate servernode for remote application processing. b) Elastic applicationsare designed in such a manner so that computational intensivecomponents of the mobile application are separated dynami-cally at runtime. Applications are partitioned at different gran-ularity level depending upon the design and partitioning policyof the offloading algorithm. c) Adaptive offloading of the in-tensive components of the applications is a significant attributeof elastic mobile applications. Partitions of the applicationare offloaded to remote machines for remote execution whichaugments the computing capabilities of SMDs. Applicationoffloading occurs whereas keeping in view different objectivefunctions; such as energy saving, processing power, memorystorage, and fast execution. d) Transparency in the distributedexecution platform is a significant attribute of elastic appli-cations. Transparency assures that elastic mobile applicationexecutes transparently on remote surrogates/server nodes. Atransparent distributed processing environment gives the no-tion as entire application is being executed locally on SMD.All the complexities of remote execution are concealed frommobile users. Researchers determine applications offloading asan appropriate software level solution for alleviating resourceslimitations in SMDs.

Currently application offloading is implemented in a numberof ways. The application offloading frameworks outsourcecomputational load of SMD at different granularity levels.The static application partitioning approach is used to sep-

arate the intensive components of mobile application onlyonce. The dynamic partitioning approach is implemented toaddress the issue of dynamic application processing loadon SMDs at runtime. Dynamic partitioning of the intensivemobile application at runtime is a robust technique for copingwith the dynamic processing loads on SMD. In dynamicpartitioning application is partitioned dynamically at runtimecasually or periodically. In casual partitioning runtime profil-ing and solving mechanisms are activated in critical condi-tions to offload intensive components of mobile application.In periodic partitioning the runtime optimization mechanismevaluates computing resources utilization on SMD periodi-cally. Current dynamic partitioning approaches analyze theresources utilization on SMDs, computational requirementsof the mobile application and search for runtime solving ofthe problem of resource limitations on SMD. The profilingmechanism evaluates computing resources requirements ofmobile application and the availability of resources on SMD.In critical condition (the unavailability of sufficient resourceson SMD) elastic mobile application is partitioned and thecomputational intensive components of the application areoffloaded dynamically at runtime. SMDs negotiate with cloudservers for the selection of appropriate server node. At thatmoment partitions of the application are migrated to remoteserver node for remote processing. Upon successful executionof the remote components of the application, result is returnedto main application running on SMD.

Empirical analysis ascertains the significance of distribut-ing processing loads to remote server nodes [13], [35]-[14].However, the deployment of distributed application processingplatform is obstructed by a number of unresolved challengesfor MCC. The latest offloading models [14] focus on theestablishment of dynamic distributed application processingplatform at runtime. For the selection of cloud server node,SMDs arbitrate with cloud server node dynamically at run-time. Therefore, the configuration of distributed processingplatform at runtime is a resources starving and energy huntingmechanism. Dynamic runtime offloading involves the issuesof dynamic application profiling and solver on SMD, runtimeapplication partitioning, migration of intensive componentsand continuous synchronization for the entire duration ofruntime execution platform. Therefore, the development anddeployment of intensive mobile applications on the basis ofcurrent algorithms is still a challenging research issue. Fig.

1298 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 15, NO. 3, THIRD QUARTER 2013

Fig. 3. Sequence Diagram for Dynamic Application Offloading in MCC

II-C shows general sequence of flow for dynamic offloadingof intensive components of the mobile application.

III. DISTRIBUTED APPLICATION PROCESSINGFRAMEWORKS (DAPFS) FOR SMART MOBILE DEVICES

The current DAPFs for SMDs employ a number of strate-gies for the establishment of runtime distributed applicationexecution platform. This section provides thematic taxonomyfor current DAPFs and reviews the traditional DAPFs on thebasis of framework nature attributes of the taxonomy. Further,it investigates the advantages and critical aspects of currentDAPFs for SMDs.

A. Taxonomy of Distributed Application Processing Frame-works

Fig. III-A shows the thematic taxonomy of DAPFs, whichare categorized on the basis of framework nature, migrationpattern, migration support, partitioning approach and objectivefunctions. The attribute of framework nature indicates themain mechanism employed for application offloading. Wecategorize current DAPFs on the basis of virtual machinemigration, entire application migration and application parti-tioning. Virtual machine migration nature of DAPFs indicatesthat SMD offload application by encapsulating the runningapplication in VM instance on SMD. The VM instance is

outsourced to cloud server nodes. A number of current DAPFsemploy VM migration based approach for offloading intensivecomponents of the application [6], [30], [36]-[37]. The entireapplication migration nature of DAPFs indicates that SMDsoffload entire processing job to remote server nodes. CurrentDAPFs offload entire application in two different manners.a) Mobile application starts execution of the smart mobiledevice and in critical condition the running instance of themobile application is offloaded to remote server node [38]. b)The client component of the mobile application runs on theSMD where the processing load of the application is offloadedto cloud server for remote processing [39]. Application parti-tioning nature of the framework indicates that computationalintensive components of the mobile are separated at runtime.Partitions of the application are offloaded to remote servernodes [14], [40]. The partitioning approach of a frameworkindicates the mechanism of separating intensive componentsof the application. Current DAPFs employ two differentstrategies for separating computational intensive componentsof the mobile application. In static application partitioningthe intensive components of the application are separatedeither at compile time or runtime statically. Dynamic par-titioning mechanism follows dynamic evaluation mechanismfor assessing the computational load on SMD. The attributeof migration support indicates the level of support requiredfor migrating application or partitions of the application at

SHIRAZ et al.: DISTRIBUTED APPLICATION PROCESSING FRAMEWORKS IN SMART MOBILE DEVICES FOR MOBILE CLOUD COMPUTING 1299

Fig. 4. Taxonomy of Application Processing Frameworks for SMDs

runtime. Currently, migration support is provided either atsystem level or application level. The attribute of migrationgranularity indicates the granularity level at which applicationis migrated. Current DAPFs offload intensive componentsof the application at different granularity level. For exam-ple thread level granularity indicates that running thread isoffloaded for remote processing. In the same way, methodlevel granularity indicates that methods of the application areoffloaded for remote processing. Migration pattern representsthe pattern or way by which application or partition of theapplication is migrated to remote server. Current DAPFsemploy a number of migration patterns such as VM migration,download using URL on remote host, mobile agent servingas courier for application transfer, binary code transfer ofthe application or copying entire proxy of the application ondistributed computing nodes. The objective function attributeindicates the primary objective of a framework for applicationoffloading. Current DAPFs aim for a number of objectivefunctions such as saving energy on SMD, efficient bandwidthutilization, saving processing power on SMD, user preferencesfor fast application processing, or execution cost parameter.

B. Review on Application Offloading Frameworks by UsingThematic Taxonomy

A classification of application offloading frameworks byusing their attributes is shown in Fig. 4. This section analyzescurrent application offloading frameworks and investigates theimplications and critical aspects of current DAPFs.

1) VM Migration Based Application Offloading: In [30]cyber foraging framework is employed to utilize computationresources of computing devices (stationary or mobile) in close

proximity of SMD. The framework implements client/serverarchitecture. Mobile devices request for process offloading andsurrogate server provides the services on demand. The frame-work supports configuration of multiple surrogate serverssimultaneously and employs virtual machine technology forremote application processing. A single surrogate server iscapable to run a configurable number of independent virtualservers with isolation, elasticity, resource control and simplecleanup mechanism. Each offloaded application executes onisolated virtual server. The framework ensures secure commu-nication by deploying cryptographic measures for communi-cation between SMD and surrogate server. The framework in-cludes the benefits of low latency, local accessibility of remotesurrogates and fewer concerns of security and privacy. Thecritical aspects of such approach is the deployment of templatebased virtualization approach which is a highly time consum-ing and resources starving mechanism for VM deployment[41]. The framework requires the annotation of individualcomponents of the application as local or remote which is anadditional effort for application developers. Further, surrogatebased cyber foraging is restricted to the availability of servicesand resources on local servers.

VM based cloudlets framework [7] differs from cyberforaging [30] by migrating image of the running applicationto the explicitly designated remote server. A cloudlet is atrusted resource rich computer or cluster of computers thatis connected to internet and is accessible for SMDs. Mobiledevice serve as a thin client providing only user interfacewhereas actual application processing is performed on thecloudlet in distributed environment. The proposed frameworkis based upon transient customization of cloudlet infrastructureusing hardware VM technology in which VM encapsulates and

1300 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 15, NO. 3, THIRD QUARTER 2013

detaches the temporary guest software environment from thecloudlet infrastructures permanent host software environment.The framework employs variant procedures for VM migration.The critical aspects are that the framework requires additionalhardware level support for the implementation of VM technol-ogy and is based on cloning mobile device application pro-cessing environment to remote host which involves the issuesof VM deployment and management on SMD, privacy andaccess control in migrating the entire execution environmentand security threats in the transmission of VM.

Clone cloud based framework [6] is a significant approachfor offloading application of diverse nature in different man-ners. Clone cloud differs from other approaches [7], [30] byemploying three different offloading algorithms for differenttypes of applications. However, the attribute of offloadingimage of the running states of the application to remoteserver resembles to the VM based Cloudlet [7] approach.The framework reduces the dynamic transmission overheadof application code by deploying a simple approach forsynchronization. Clone cloud employs Primary functionalityoutsourcing by offloading computational intensive tasks toremote host whereas simple tasks such as user interfaces areexecuted on mobile devices. Examples of the applicationsinclude speech recognition, image processing and video index-ing. Background augmentation is implemented for applicationsdemanding no user interaction. Background augmentation of-floads the entire application to remote host and communicatesresults from background process to the mobile device. Exam-ples of the applications include; antivirus and file indexing forfaster search. Mainline augmentation policy is deployed forapplications having mixed nature; having some computationalintensive computational load and need to interact with otherparts of the applications such as debugging applications. Clonecloud [6] is a significant framework for offloaded processingwhich includes a simple approach for synchronization betweenSMD and remote server. The critical aspect of the Clonecloud is the migration of execution environment to remoteserver which involves the issues of security, privacy, accesscontrol, VM deployment and management on SMD. Thedeployment of variant strategies for application migration onthe basis of application nature results in enlarged overhead onmobile devices. Clone cloud deploys a single thread approachwhich increases jitter in the execution time of the applicationcomponents.

The elastic CloneCloud [36] extends the concept of localClone cloud [6] to remote cloud datacenters. The frameworkis based on partitioning of the application on thread basis.Partitioning and integration of the application occurs at appli-cation level. The running states of the outsourcing componentsof the mobile application are encapsulated in VM instanceand VM migration is employed for partition migration tocloud node. The framework is implemented at applicationlevel and centralized monitoring mechanism is used for theestablishment and management of distributed application ex-ecution platform. CloneCloud [36] is a productive approachfor extending the concept of VM based offloading fromlocal distributed platform to centralized cloud servers. Offloadprocessing is monitored through a centralized mechanism. Theframework reflects on execution time and energy consumption

at mobile device for cost metrics. CloneCloud implementsa complicated architecture on SMD for the establishmentand management of distributed platform. The framework isbased on VM instance migration to the cloud node whichinvolves the concerns of secure communication of runningapplication states encapsulated in VM and privacy and accesson remote server node. A major limitation of the architectureis that a single thread is migrated to the cloud at a timewhich reduces concurrency of the execution of applicationcomponents. Virtualized execution environment for mobileapplications [42] is a VM migration based framework forapplication offloading. The framework utilizes applicationlevel process migration and employs android platform fordistributed application deployment. A running application isencapsulated in VM on SMD and VM is migrated to remotecloud computing environment. Cloud server creates fresh VMinstance, and the offloaded application VM is cloned intothe newly created VM instance on server. A synchronizationmechanism is provided between SMD and cloud server. Amiddleware is placed between mobile device OS and hardwareto support runtime workload migration and to better utilize theheterogeneous resources of mobile device and cloud servers.The framework deploys pause and resume scheme of theandroid platform for state transfer. The framework employsapplication level process migration strategy for offload pro-cessing and employs hardware base trusted platform module.The framework provides mechanism for storing encryptionkeys and performs cryptographic operations on sensitive data.The critical aspects are that the framework requires heavyand traffic intensive synchronization mechanism for ensuringconsistency between SMD and cloud server. The frameworkentails a separate program called agent to be installed onSMD and cloud server which results in additional overheadon mobile device.

Mirror server [37] is a distinct augmentation frameworkwhich employs Telecommunication Service Provider (TSP)based remote services. A TSP is a type of communicationsservice provider which provides voice communication servicessuch as land line telephone and cellular phone call services.A mirror server is a powerful server configured in TSPbackbone which maintains VM template for different mobiledevices platforms. The VM template for each mobile deviceis kept with default settings. A new VM instance is createdfor offloaded component of the mobile application. The VMtemplate for each mobile device is called its mirror and theserver responsible for the deployment and management ofthe mirrors is called mirror server. The server creates freshVM instance as per the platform of the requesting SMD.Mirror server is scalable and is capable to create hundredsof mirrors at a time. Mirror server augments smartphonesby providing three different types of services; security (filescanning), storage (file caching) and computation offloading.The significant aspect of mirroring smartphone is that itprovides reliable services through 3G network and addressesthe challenging aspect of heterogeneity in SMDs platforms.The framework provides a lightweight protocol for SMDs foraccessing remote services on mirror server and employs anoptimized mechanism for downloading and offloading. Thecritical aspects of mirroring based DAPF is the deployment

SHIRAZ et al.: DISTRIBUTED APPLICATION PROCESSING FRAMEWORKS IN SMART MOBILE DEVICES FOR MOBILE CLOUD COMPUTING 1301

of TSP based mirror servers which are not basically designedfor data processing, for that reason limited services can beacquired as compared to cloud datacenters.

The following section describes the generic sequence ofoperations for VM migration based application offloading.1) The first step for application offloading is to arbitrate forappropriate surrogate or remote server host. Subsequently, therunning application is encapsulated in VM on SMD whichinvolves the creation of VM instance, VM configuration forrunning application and encapsulating all the state informationof running application in VM instance. 2) VM instance ismigrated to the remote server through wireless medium.VM encapsulates either entire application or partition of theapplication. 3) A new VM instance is created on remote serverand the migrated VM is cloned onto the newly created VMinstance on remote server. Running states of the applicationare resumed and application is executed on remote serverhost. Finally, results are returned to the SMD. 4) Remoteserver ensures complete isolation of guest VM which meansthat the executing environment of guest VM is preventedfrom interference. Fig.5 shows abstract level flowchart of VMmigration based application offloading.

2) Entire Application Migration Based Application Offload-ing: Lightweight secure cyber foraging infrastructure [30] em-ploys Virtual Server Manager (VSM) which handles requestsfrom SMDs for surrogate operations. SMD sends a request toVSM which is composed of URL to the program to be exe-cuted on surrogate. The entire program is downloaded on thatURL and executed remotely. The background augmentationstrategy of Clone cloud [6] employs entire application migra-tion to remote host. The application is migrated to remote localservers using VM instance migration and results are returnedfrom background process to the mobile device. Examples ofthe applications include; antivirus and file indexing for fastersearch. The virtual cloud computing provider solution formobile devices [13] is an ad-hoc cloud framework focuseson the establishment of virtual cloud of SMDs. The virtualcloud computing environment is composed of SMDs in theproximity which are in the same locality and remain in stablemode. Mobile devices in the proximity set up an ad-hoc orvirtual cloud environment and enables SMDs in the vicinityto share computational load. The framework is composedof different components. The context manager componentof the architecture maintains information regarding volunteerSMDs for resource sharing. The offloading manger componentis responsible for sending and receiving entire applications,management of runtime distributed environment and detectingfailure and failure management. Offload manager coordinateswith p2p component for application offloading and returningresults. Universal Mobile Service Cell (UMSC) based frame-work is a unique mobile agent based optimization solutionwhich focuses on virtual cloud of mobile devices [38]. Thedistinguishing features of the framework are the employmentof mobile agent (UMSC) for application offloading and virtualcloud based service provision. The proposed architecture iscomposed of mobile hosts, UMSC, and mobile cloud units.Cloud unit support several services such as offload computingand remote storage. The mobile cloud is composed of twokinds of cloud units such as local cloud unit and remote cloud

Fig. 5. Flowchart for the VM Migration Based Application Offloading

unit. The framework uses UMSC for the offloading of entireapplication to remote cloud unit. UMSC serves as a mobileagent and works as a proxy for transmission between mobilecloud and mobile host. UMSC is implemented as an intelligentsoftware module which carries the requests of users. UMSCdoes not send request or responses to the network; insteadUMSC itself migrates into the cloud to search response. Theframework is composed of mobile agents in local mobilecloud computing environment for mobile devices and uses agenetic algorithm based scheduling policy for UMSC. Themobile environment is divided into a large number of cellregions. Each cell region is composed of several mobile cloudunits. The cloud units in the cloud regions collectively formthe virtual mobile cloud environment. Cloud units are themobile support stations for providing services. The frameworkaddresses the intrinsic issues associated with mobile com-puting; mobility, heterogeneity, and low bandwidth. UMSCbased approach is a hybrid solution that combines mobileagent technology with virtual cloud model composed of SMD.UMSC employs mobile IP to compensate the problem of

1302 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 15, NO. 3, THIRD QUARTER 2013

mobility and provides a mechanism to overcome the problemof mobile host disconnection. UMSC guarantees the qualityand stability of wireless connections. The critical aspectsare that distributed services are restricted to the availabilityof mobile nodes in virtual distributed wireless environment.The framework exploits localized approach for accessingdistributed resources and involves a decentralized monitoringmechanism on SMDs which increase computing resourcesdemands on SMDs. The framework implements managementof mobile agents on mobile devices, which is a sophisticatedand resource consuming mechanism. Distributed Shell System(DISHES) [43], is the extension of UNIX kernel shell tosupport ubiquitous distributed computing platform for SMDs.The architecture is composed of a centralized server, whichcontains a Service Directory (SD). The ambient computersregister with the server which employs SD for maintainingdatabase of all the nodes willing for sharing resources. Mobileclients make use of SD services for tracking appropriateremote server. DISHES serves as an interface middlewarebetween a mobile user and network computers. SMD requestfor the availability of remote host for application processing,SD responds with the IP address of appropriate volunteerremote host for application process. SMD offloads entireapplication to remote host for remote processing and resultsare returned to SMD on successful completion of the re-mote processing. DISHES includes performance optimizationmechanism to monitor network traffic and provides remoteexecution services in transparent manner. The critical aspectsof DISHES are the decentralized approach, unavailability ofcentralized mechanism for the establishment and managementof distributed platform and entire application migration foroffload processing. DISHES imposes additional assistant pro-cess creation on SMDs which involves intensive monitoringoverhead on SMDs.

Misco [35] is deployed for SMDs which extends the conceptof MapReduce to the distributed cloud environment whichis composed of centralized server and mobile worker nodes.MapReduce is a flexible distributed data processing frame-work which automatically parallelizes the processing of longrunning applications in cluster environment [44]. In Misco,master server is a centralized monitoring entity which isresponsible for the implementation of MapReduce framework.A distinctive feature of the framework is that SMDs are theworker nodes which serve as serving components for remoteapplication processing. All the worker nodes coordinate withthe master server for getting workload and returning result.The communication between worker and master server occursthrough HTTP Server. All downloads and uploads betweenmaster server and workers are performed in the form ofXML files. Map and reduce functions are identified by thedevelopers during the application development process. Theframework provides a distributed platform for mobile applica-tions. Misco provides a centralized monitoring mechanism formonitoring of the distributed execution platform. The criticalaspects are that the framework consists of worker mobilenodes which are intrinsically resources poor and for thatreason the availability of computing services is restricted to thecomputing potentials of SMDs. Misco requires the developersto annotate the methods as map or reduce functions and does

not perform any centralized processing of application whichresults in communication overhead repeatedly between workernodes and master server. Communication overhead increasesjitter in the process execution, bandwidth consumption andenergy consumption.

Tradeoff between energy savings and privacy protection[45] addresses the issue of data privacy in offloading pro-cessing. The focus of research is on the privacy of data sentto the grid powered server. Stenographic techniques [46]-[47]are exploited for disguising actual image from grid poweredservers. The authors focus on the fact privacy based offloadingin which the contents of the offloaded components are hiddenfrom the cloud node. The authors investigate the tradeoffbetween energy consumption and privacy of offloading andperformed analysis of different execution patterns of theapplications. Different parameters are involved in the energyconsumption of mobile application processing; computationpower of mobile, network power, idle power of mobile device,the speed of mobile system, speed of server, and bandwidthof network. Cogniserve [39] is an optimized architecture forthe cloud server. The framework focuses on the processingof recognition applications such as speech recognition andimage processing applications of mobile phones. Cogniserveaddresses the evolving feature of Mobile Augmented Reality(MAR) for MCC. Cogniserve architecture is composed ofthree main components: Application cores for processing overcloud server; Application specific recognition accelerators forperformance improvement and decreasing latency; Architec-tural support for general purpose programming and efficientcommunication between small cores and accelerators. Therecognition server is composed of small cores connected viainterconnect to an integrated memory controller for attach-ing it to DRAM. The design is composed of simple chipmulti-processor. Application specific accelerators are used tofurther enhance the recognition execution time. Three typesof accelerators are deployed in the architecture; Gaussianmixture model for speech recognition, match accelerator andinterest point detection for image recognition. The resultingarchitecture is heterogeneous by integrating small cores. Intraditional models accelerators are treated such as input/outputdevices, and are configured with drivers. Accelerators areprogrammed using physical addresses in memory. For thisreason accelerators are difficult to program and the architec-ture becomes inefficient for the reason that of the overheadinvolved in user space and kernel space memory transitions.CogniServe deploys the concept of instruction set architecture,in which there is direct user access from the small core toaccelerator. For that reason the user to kernel mode transi-tions has been eliminated. The architecture also utilizes theconcept of common memory management units which leadthe accelerator share virtual memory space with the core, as aresult of this it eliminated data movement overhead with thekernel to user mode transition. CogniServe is an optimizedarchitecture for the processing of recognition applicationssuch as speech recognition and image processing applica-tions of SMDs. The framework deploys heterogeneous serverarchitecture for recognition applications of mobile devices.CogniServe provides direct access between server cores andaccelerators instead of kernel to user space transition which

SHIRAZ et al.: DISTRIBUTED APPLICATION PROCESSING FRAMEWORKS IN SMART MOBILE DEVICES FOR MOBILE CLOUD COMPUTING 1303

Fig. 6. Flowchart for Entire Application Migration Based DAPFs

eradicates address space transition and results in a low costand energy efficient architecture. The critical aspects are thatthe framework requires special hardware level support forthe implementation and is specially designed for recognitionapplications such as image processing and speech recognitionapplications.

In [42] the framework employs application level processmigration and uses android platform for the deployment. Arunning application is encapsulated in VM on SMD and VM ismigrated to remote cloud computing environment for remoteprocessing. Mirror server based approach [37] involves themigration of the state of the entire running application on thesmartphone device to mirror instance on server. Applicationis executed in the mirror VM instance and result is returnto the smart mobile device. Fig. 6 shows the abstract levelflow of offloading entire application/job to remote server node.SMD arbitrate with cloud server nodes for the selection ofremote server node, at that moment entire application orjob is migrated to remote server node. Upon the successfulexecution of the application on remote server ultimate resultsare returned to SMD.

Virtual machines lead to high CPU utilization. VMs sharethe same CPU/core which increases the CPU schedulinglatency for each VM significantly [41]. VM migration based

offloading requires additional computing resources and timefor the deployment and management of VM on SMD. Con-sequently such approaches increase the execution cost andtime of the application. Migration of running application alongwith its data and states is susceptible to security breaches andattacks. Further, a number of other research challenges [48]such as privacy and access control are still addressable whichobstruct the goals of optimal VM based migration algorithmsfor MCC.

3) Application Partitioning Based Application Offloading:Partitioning of the mobile application at runtime is a prominentapproach for outsourcing the intensive components of mobileapplications. Elastic mobile applications are capable to bepartitioned at runtime for coping with the resources constrainton SMD. Elastic applications are partitioned either staticallyor dynamically at runtime. The following section classifies andreviews existing approaches on the basis of static or dynamicoffloading.

Static Partitioning Based Application Offloading: In staticapplication partitioning the application is partitioned in fixednumber of partitions either at compile time or runtime. Thecomputational intensive partitions of the applications are out-sourced to remote servers for offload processing. CurrentDAPFs deploy a number of approaches for making the de-cision of partitions outsourcing. In the primary functionalityoffloading [7]; application is statically partitioned in two majorpartitions. Such applications involve two types of processing;user interface required on mobile device; and computationalintensive parts of the application are offloaded to remotesurrogates or cloud servers. In MISCO [35] the applicationis statically partitioned into two types of functions; map andreduce. Map function is applied on the set of input dataand produces intermediary ¡key, value¿ pairs; such pairs aregrouped into a number of partitions. All pairs in the samepartition are passed to a reduce function which producesthe final results. Application developers are responsible forimplementing the map and reduce functions and the systemhandles all the remaining mechanism. The worker nodesprocess map and reduce functions and results are returned tomaster server.

Dynamic Partitioning Based Application Offloading: Dy-namic partitioning of the intensive mobile application atruntime is a robust technique for coping with the dynamicprocessing loads on SMD. Current dynamic partitioning ap-proaches analyze the resources consumption of SMDs, com-putational requirements of the mobile application and searchfor runtime solving of the problem of resource limitationson SMD. In [49] a middleware framework is introduced forsharing the application processing load on SMD dynamicallybetween cloud server node and mobile client. Objective ofthe framework is to deploy the application in optimal modeby automatically and dynamically determining the executionlocation for modules of an application. Application profilingcomponent of the architecture partitions the application inmodules on the basis of its behavior and represents modulesin the form of data flow graph known as consumption graph.The framework exercises existent module management such asR-OSGi [48] and deployment tool such as AlfredO [50]. Theframework implements both static partitioning and dynamic

1304 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 15, NO. 3, THIRD QUARTER 2013

partitioning strategies. K-Step and ALL algorithms are usedfor application partitioning. K-Step is deployed for dynamicpartition at runtime whereas ALL is employed for staticpartitioning of the application. Preprocessing of the con-sumption graph is performed before running the algorithm toreduce search space. Preprocessing separates local and remotebundles of the application. It looks for the bundles (applicationmodules) that produce a very high cost in offloading and forthat reason are not feasible for offloading. The frameworkemploys both static and dynamic partitioning algorithms forthe establishment of runtime distributed platform betweenSMDs and cloud datacenters. A significant aspect of theframework is that SMDs are assigned application processingload on the basis of the availability of memory and pro-cessing capacity. The framework derives optimal solution foroptimization problem in order to optimize different objectivefunctions such as interaction time, communication cost, andmemory consumption. The critical aspect of the frameworkis the runtime partitioning strategy which obliges SMDs foradditional computing resources consumption in the dynamicanalysis, profiling, synthesizing, partitioning and migration.The framework requires SMD to continuously synchronizewith the cloud server node which requires maintaining SMDin active state for the entire duration of distributed platform.Active state of mobile device for a longer period of time resultsin high energy consumption [51]-[52].

AIDE [34] establishes distributed platform composed ofdifferent computing devices such as laptops, PCs, PDAs,and smartphones. The framework is composed of surrogateserver and mobile device client. SMD searches for suitablesurrogate to share application processing load. The parti-tioning component of the AIDE partitions the applicationby following a partitioning policy. The framework exercisesclass level granularity for partitioning of application. Anapplication profiling component establishes the feasibility ofoffloading. Application profiler reflects on two parameters,the execution history of the application and prediction ofthe future resources required for the application. Profileraims for offloading the components that could improve theperformance of the system. Partitions are offloaded to theremote surrogates. AIDE provides a transparent distributed ap-plication deployment framework for mobile applications. Thesophistication of application migration and remote executionare masked from mobile users. AIDE employs a dynamicpartitioning and migration approach for offload processingand employs computing services of the remote hosts in thelocal distributed environment. AIDE implements distributedexecution platform in transparent manner to give the user thenotion of application being executed on local device. AIDEincorporates the option to use multiple surrogates for remoteexecution. The critical aspects of AIDE are that the runtimepartitioning of the application requires additional computingresources exploitation for the establishment of distributedplatform. AIDE is a decentralized distributed platform fordynamic partitioning and migration; for that reason SMDsneed to monitor the execution environment which imposesheavy monitoring overhead on SMD.

Mobile Assistance Using Infrastructure (MAUI) [40] is adynamic partitioning framework which focuses on energy

saving for SMD. MAUI partitions the application dynamicallyat runtime in which the computational intensive componentsof the application are offloaded to the cloud server nodes.Programmers annotate the individual methods of the applica-tion as local or remote. MAUI profiler determines the remotemethods of application to be offloaded to cloud server. Eachtime a method is called, the profiler component assesses it forenergy saving which exploits additional computing resources(CPU, energy) on SMD. MAUI solver decides the destinationof execution for the method annotated as remote. The decisionof MAUI Solver is based upon the input of MAUI profiler.Proxies of the application are created for execution on bothcloud server node and mobile device for communication be-tween local methods and remotely executable methods. MAUIgenerates a wrapper for each method marked as remote atcompile time. The wrapper has similar method type signature,however with two changes; one additional input argument,and one additional return type. Input argument is requiredfor the state transfer of smartphone to MAUI Server throughclient application proxy. The additional return value is usedto transfer the application state back from the server to smartmobile device using server proxy. State of the method istransferred in serialized form.

MAUI is a cloud server based dynamic partitioning frame-work which considers energy saving on SMD as the mainobjective function for offload processing. MAUI masks thecomplexity of remote execution from mobile user and givesthe notion as the entire application is being executed on SMD.The framework is based upon method state migration as asubstitute of method code migration. MAUI copes with themobility of the mobile user and provides optimized solutionperiodically to adapt to the changes in network and user loca-tion. The critical aspect of MAUI is the dynamic partitioningof the application at runtime which activates the profiler andsolver component dynamically to determine execution pointfor application partitions. Development of the applications onthe basis of MAUI requires additional developmental effortsfor annotating the execution pattern of each individual methodthe application. MAUI deploys full proxies of the applicationon both SMD and cloud datacenter. MAUI obliges the over-head of dynamic application profiling, solving, partitioning,migration, and reintegration on SMD.

CloneCloud [36] employs dynamic partitioning of the ap-plication at runtime. Partitioning and integration of the ap-plication occurs at application level dynamically. Partitioningphase of the framework involves; static analysis, applicationdynamic profiling, and optimization solution. Mobile deviceuses preprocess migratory thread to assist a process withsuspending, packaging, resuming and merging thread states.In [39] the issue of application partitioning between mobiledevices and clouds is addressed. Authors model the parti-tion optimization problem through a mathematical expression,which includes cost of execution of each module on mobiledevice, cost of execution of each module on cloud, and thecost of communication between the two modules. Variantobjective functions are considered for partitioning; minimizeexecution time, minimize battery power consumption or costof execution of the application. Elastic application modelfor augmenting the computing capabilities of mobile devices

SHIRAZ et al.: DISTRIBUTED APPLICATION PROCESSING FRAMEWORKS IN SMART MOBILE DEVICES FOR MOBILE CLOUD COMPUTING 1305

[14] provides a middleware framework for elastic mobileapplications. Application is partitioned into weblets and mi-grated dynamically between mobile device and remote cloudserver. Variant elastic patterns are used for the replication ofweblets on the remote cloud. The execution destination for theweblet is determined dynamically at runtime. The frameworkconsiders different parameters for offload processing of theweblets such as status of the mobile device, cloud, applicationperformance measures and user preferences which comprisepower saving mode, high speed mode, low cost mode andoffload mode. The framework considers an optimal cost modelfor the execution configuration of the weblets. The cost modelconsiders different costing factors such as power consump-tion, monetary cost, performance attributes and security andprivacy.

The framework proposes a security mechanism for ensuringthe integrity of communication between SMD and Cloudserver [53]. Upon downloading weblet on SMD, the integrityof each weblets is ensured by the installer of the device by re-computing hash value for each weblet and comparing it withthe hash value stored in the weblet. The installer registers theapplication with Device Elasticity Manager (DEM). The DEMmaintains a table of installed applications on the device whichneed elasticity manager support. The table maintains detailedinformation about weblets such as signed hashed values andmigration settings. Several parts of the elastic application areinstalled on Cloud Elasticity Service (CES). CES maintainsinstalled applications for users. For this purpose users registerwith CES and authenticate with CES during installation. Thecloud based application manager is able to download theapplication code from an application store instead of uploadingfrom mobile device. The node manager executes the webletbinary provided by application manger. The local weblet canquery DEM to obtain the list of all active weblets in the samesession. The local weblet can broadcast the URLs returned byDEM to any other weblet that needs to communicate.

The implications of elastic application model [14] are thatthe framework accomplishes application level partitioning andmigration of applications. The framework employs a compre-hensive cost model to dynamically adjust execution configura-tions and optimizes application performance in terms of a setof objectives and user preferences. The framework providesa security mechanism for the authentication and authorizationof weblets migration and reintegration and provides supportfor synchronization between application on mobile device andweblets running on cloud node. The critical aspect is theestablishment of runtime distributed platform for SMD whichnecessitates additional computing resources exploitation forthe establishment and management of distribute platform. Theframework deploys replication of the application both on themobile device and application manager of the cloud server.The framework implements a sophisticated mechanism forthe migration of weblets between SMD and remote cloudnodes. The framework imposes extensive overhead of ap-plication profiling, dynamic runtime partitioning, migration,reintegration, and rigorous synchronization on mobile devicesfor offload processing. Fig. 7 shows a generic flowchartfor application partitioning based offloading frameworks. Theprofiling mechanism evaluates computing resources require-

Fig. 7. Flowchart Partitioning Migration Based DAPFs

ments of mobile application and the availability of resourceson SMD. Profiling mechanism works differently in differentframeworks. The critical situation indicates the unavailabilityof sufficient computing resources on SMD. Therefore, thecomputational intensive components of the application areseparated at runtime. SMD negotiate with cloud servers forthe selection of appropriate server node. At that momentpartitions of the application are migrated to remote servernode for remote processing. Upon successful execution of theremote components of the application, result is returned tomain application running on SMD.

IV. COMPARISON OF APPLICATION OFFLOADINGFRAMEWORKS BY USING THEMATIC TAXONOMY

This section compares current DAPFs on the basis oftaxonomy presented in Fig. 4. We classify application of-floading frameworks in two categories: (1) local resourcesutilization frameworks and (2) centralized server resourcesutilization model for application offloading. It investigatescommonalities and deviations in such frameworks on thebasis parameters presented in the taxonomy. The comparisonparameters considered are: Offloading Scope (OS), Parti-tioning Approach (PA), Migration Support (MS), MigrationGranularity (MG), Developer Support (DS), Migration Pattern(MP) and Execution Monitoring (EM). Table 2 compares localapplication offloading frameworks, whereas table 3 comparesserver based application offloading frameworks on the basisof such parameters.

1306 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 15, NO. 3, THIRD QUARTER 2013

TABLE IICOMPARISON OF LOCAL RESOURCE SHARING BASED APPLICATION OFFLOADING FRAMEWORKS

Framework OS PA MG MS MP SS DS EMDistributedPlatform forResourcesConstrainedDevices [34]

Local DistributedEnvironment

Dynamic Class Level ApplicationLevel

ApplicationTransfer

No NotRequired

Decentralized

Secure CyberForaging [30]

Local DistributedEnvironment

n/a EntireApplication

SystemLevel forVM

Binary FileDownload

Yes Required Centralized

Clone cloud [6] Local DistributedEnvironment

Static EntireApplication/Partitioning

System level VM Instance No Required Decentralized

Optimized Solu-tion for MobileDevices [38]

Ad-Hoc Cloud ofMobile devices

n/a EntireApplication

ApplicationLevel

UMSC No NotRequired

Decentralized

VM-BasedCloudlets [7]

Local DistributedEnvironment

n/a EntireApplication

SystemLevel

VM Instance No NotRequired

Decentralized

DISHES [43] Local DistributedEnvironment

n/a EntireApplicationoffloading

SystemLevel

Binary FileDownload

No Not required Centralized

Virtual CloudComputing [13]

Ad-hoc MobileCloud

n/a EntireApplication

ApplicationLevel

ApplicationTransfer

Yes Not required Decentralized

MISCO [35] Cloud of mobilenodes

Static Method level ApplicationLevel

Binary FileDownload

No Required Centralized

The offloading scope a application offloading frameworkindicates the scope of distributed platform established atruntime. Current DAPFs implement application offloading byaccessing the services of local computing devices or remotecloud server nodes. In the local resources utilization modelthe services and resources of the local computing nodes areutilized. The traditional local DAPFs implement applicationoffloading by employing the following three different typesof decentralized local computing resources utilization ap-proaches. a) Surrogate based distributed model is composed ofremote servers which are accessible in the local environment.The surrogate servers can be stationary or mobile remotecomputer which is accessible in the local environment ofSMD. Mobile device is enabled to select an appropriatesurrogate at runtime for application offloading. In such modela centralized monitors the establishment of distributed plat-form and provision of computing resources [30]. b) Mobiledevices based distributed platform is a virtual or ad-hoc cloudcomputing model in which distributed SMDs in the closeproximity participate in resources sharing [13], [38]. Thepeer SMDs are enabled to share computing resources andprovide remote services. In such an environment, sharingof the computing resources and services is restricted to thecomputing capabilities mobile devices and services sharedby SMDs involved in the virtual cloud environment. Theunavailability of centralized mechanism for the establishmentand management of virtual cloud is a challenging aspectof virtual cloud model. c) In centralized server based mo-bile devices distributed platform, the computing services areprovided by mobile worker nodes. However, a centralizedserver monitors the established and management of distributedapplication execution platform [35]. In such a distributedcomputing model, distributed resources and services provisionare restricted to the computing potentials and services ofworker nodes (SMDs). Fig. 8 highlights different models

employed for the distributed application processing platformsin application offloading.

The partitioning approach attribute of the DAPF representsthe partitioning strategy of the framework. Current DAPFsimplement application partitioning in two different ways; staticpartitioning and dynamic partitioning. a) In static partitioningthe application is partitioned in fixed number of partitions onlyonce [6], [35], [49]. Static application partitioning is a simpleand lightweight approach for application offloading; howeverit lacks the features of addressing the issue of dynamic work-load on SMDs. b) In dynamic partitioning the elastic mobileapplication is partitioned dynamically at runtime. The dynamicportioning approach is implemented to cope with the issueof dynamic application processing load on SMDs at runtime.Dynamic partitioning of the intensive mobile application atruntime is a robust technique for coping with the dynamicprocessing loads on SMD [14], [34], [36], [49], [40]. Theentire application migration frameworks which do not involveapplication partitioning are represented as n/a in PA columnof Table 3 and Table 4.

The attribute of migration granularity represents the level ofgranularity of offloading intensive components of the mobileapplication. The finer granularity level results in outsourcingcomputational load at refined level. However, refined levelgranularity requires highly intensive monitoring mechanismon SMD at runtime [6], [7], [38], [35], [14], [34], [36],[40]. The refined level granularity requires resources intensivesynchronization mechanism between SMD and cloud servernode. Further, finer granularity level has the issue of ensuringconsistency in the distributed execution of mobile application.On the other side, the abstract level of granularity resultsin simple offloading mechanism and requires low monitor-ing overhead on SMD [6], [13], [30], [42]-[37], [43], [45],[39], [40]. However, abstract level of granularity results inincreased data transmission overhead and therefore increases

SHIRAZ et al.: DISTRIBUTED APPLICATION PROCESSING FRAMEWORKS IN SMART MOBILE DEVICES FOR MOBILE CLOUD COMPUTING 1307

Fig. 8. Local Application Offloading Models

security threats of the outsourcing components of the mobileapplication. For example, migration of an entire application[7], module or component [49], [54] of the mobile applica-tion is more vulnerable to network threats as compared tothe outsourcing thread [36] or method [40] of the mobileapplication. For the reason that eavesdropping of finer levelcode is less meaningful to the attackers as compared tothe entire module or component of the mobile application.Current DAPFs implement the following granularity levels forapplication offloading. a) Module level migration representsthat entire module or bundle of the application is migratedto remote environment [49], [54]. b) Method level migrationrepresents that partitioning occurs at the method level andintensive methods of the application are migrated to remoteserver [40]. c) Object level migration represents that entireobject is migrated to remote environment for outsourcedprocessing [45], [39]. d) Thread level migration representsthread level partitioning and migration of the application toremote environment [36]. e) Entire application migration inwhich case entire application is offloaded to remote server[6], [7], [13], [30], [42], [37], [38]. The attribute of migra-tion support represents the level of support required for themigration of application. The mechanism of application of-floading increases resources utilization on SMD. Specifically,the resources utilization for the operating system increasesin application offloading mechanism. Currently, a number ofapplication offloading frameworks require additional supportfrom the operating system; such as VM deployment and man-agement [6], [7], [30], [43], [36]. Such offloading frameworksare represented as System Level in Table 3 and Table 4. Onthe other hand, the latest application offloading frameworksimplement component offloading at application level and donot require additional support for component outsourcing [13],[35], [14], [34], [42]-[37], [38], [45], [39], [49], [55], [47]].Such frameworks are repressed as Application Level in Table3 and Table 4.

The attribute of migration pattern represents the mechanismof transfer intensive applications to remote server nodes atruntime. Current DAPFs implement the mechanism of applica-tion offloading in a number of ways. The following migrationpatterns are practiced for traditional application offloadingframeworks. a) Application transfer is a migration patternin which the binary code of the application is outsourcedto remote server [13], [34], [40]. b) URL download basedmigration pattern represents a migration pattern in which aURL is provided to remote host and application is downloadedfrom that URL as a substitute of transferring the applicationdirectly from SMD [35], [14], [30]. c) VM Instance represents

a migration pattern in which the application is encapsulatedin VM instance (partially or entirely) and the VM instanceis migrated to remote server. A fresh VM instance is createdon the remote server and guest VM instance is copied to thefreshly created VM on remote server [6], [7], [36], [42], [37].d) UMSC is a migration pattern in which mobile agent isemployed for the migration of outsourcing application [38].UMSC serves as a courier for the migration of the applicationbetween SMD and remote server. e) Module/Bundle transferrepresents a migration pattern in which binary files of themodules of the application are migrated to remote servers[49]. f) Application proxy is a migration pattern in whichentire proxies of the application are maintained on the localSMD and remote cloud server node [40]. g) Object transferis a migration pattern in which entire object is outsourced toremote server at application level [45], [39]. The attribute ofsecurity support represents the security provision attribute ofthe DAPFs. Security is an important parameter for applicationoffloading frameworks. Current DAPFs which implement se-curity mechanisms for application offloading are representedwith the value Yes, whereas the frameworks which lack in theprovision of security mechanism for application offloading arerepresented with the value No. A number of current DAPFsrequired developers support for defining execution scope ofthe components of application at different granularity level.Such approaches restrict application developers to classifyand annotate the components of mobile application as localor remote. The attribute of DS shows the requirement ofadditional support required for the development of the applica-tion. Therefore, the traditional application offloading modelswhich require developer support [6], [35], [14], [30], [40]are represented as required, whereas the frameworks whichdo not require developers support [7], [13], [30], [33], [36],[38]-[43], [49], [40] are represented as Not required. Theattribute of execution management shows the managementpolicy for the deployment and management of runtime dis-tributed application platform. Current DAPFs are classifiedin two categories from the perspective of execution manage-ment. Decentralized management represents the deficiency ofcentralized mechanism for the deployment and managementof distributed platform [6]-[7], [13], [30], [38]. Therefore,SMDs are responsible for monitoring distributed platformand distributed application execution. Therefore such frame-works results in larger overhead of the distributed applicationdeployment at runtime. Centralized management representsthat a centralized management and monitoring mechanismis provided for the establishment of distributed platform andmonitoring of application execution [35]-[14], [36], [42], [37],

1308 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 15, NO. 3, THIRD QUARTER 2013

TABLE IIICOMPARISON OF SERVER BASED APPLICATION OFFLOADING FRAMEWORKS

Framework OS PA MG MS MP SS DS EMCalling the Cloud[49]

Cloud Server Static/Dynamic

Modules(Bundle)

ApplicationLevel

BundlesTransfer

No NotRequired

Centralized

MAUI [40] Cloud Server Dynamic MethodLevel

ApplicationLevel

ApplicationProxy

No Required Centralized

DynamicallyPartitioningApplications [54]

Cloud Server Dynamic Module level Applicationlevel

ApplicationTransfer

No NotRequired

Centralized

Energy Savingsand PrivacyProtection [45]

Grid Server n/a ImageObject

ApplicationLevel

ObjectMigration

No NotRequired

Centralized

CloneCloud [36] Cloud Server Dynamic Thread SystemLevel

VM Instance No NotRequired

Centralized

COGNISERVE[39]

Cloud Server n/a Entire Job ApplicationLevel

ObjectMigration

No NotRequired

Centralized

Elastic Applica-tion Model [14]

Cloud Server Dynamic Bundles(Weblets)

Applicationlevel

URL down-load

Yes Required Centralized

Mirroring Smart-phones [37]

TSP BasedServer

n/a Entire Appli-cation

ApplicationLevel

VM Instance Yes NotRequired

Centralized

VirtualizedExecutionEnvironment[42]

Cloud Server n/a Entire Appli-cation

ApplicationLevel

VM Instance No NotRequired

Centralized

[43], [45], [39], [49], [40]. The following Table shows thecomparison of local DAPFs for smart mobile devices.

Localized application offloading frameworks employ de-centralized monitoring approach for process offloading whichresults in the extensive involvement of SMDs for the man-agement of distributed processing. Further, local offloadingframeworks are deficient in the centralized management andthe availability of resources for the provision of remoteservices. In the scenario of unavailability of local remoteservice provider, remote services become inaccessible whichhinders the objectives of availability and scalability of servicesin distributed computing paradigm. To cope with the issuesof decentralized DAPFs centralized server based solutionsare exercised. The server based resources utilization modelsutilize computing resources and services of centralized servers.The availability of centralized servers lessens the monitoringoverhead on SMD in the deployment and management of run-time distributed platform. Further, centralized servers assist inensuring the availability of resources and services. The serverbased DAPFs implement application offloading by employingthe following three different types of centralized computing re-sources utilization approaches. a) Grid server based distributedplatform in which remote services are provided by Grid servers[45]. b) Telecommunication Service Provider (TSP) baseddistributed platform in which remote services are configuredat TSP servers [37]. c) A cloud datacenter based distributedplatform is established by leveraging computing power poten-tials of cloud datacenters. Distributed computing services areprovided through service providers by employing the vision ofutility computing paradigm [14], [36], [42], [39], [49], [40].Server based application offloading frameworks accomplishoutsourced application processing in diverse modes. Severalapproaches exploit VM cloning; others focus on part(s) ofthe application to be offloaded. A number of approachesimplement dynamic application partitioning whereas otherfocus on entire job migration. Diverse objective functionsare considered; saving processing power, efficient bandwidth

utilization, saving energy consumption, user preferences, andexecution cost. Table 3 compares server based offloadingframeworks in which centralized resources are available forthe provision of remote services.

Server based DAPFs provide centralized management andensure availability of remote services. However, a number ofobstacles obstruct optimization goals of server based remoteapplication processing. In the following section, we discussissues in current DAPFs and identify challenges for leveragingthe application processing services of computational clouds.

V. CHALLENGES AND ISSUES FOR DISTRIBUTEDAPPLICATION DEPLOYMENT

Table 4 summarizes challenges to current DAPFs and openresearch issues in cloud datacenters based distributed appli-cation processing. Issues indicate the unresolved problemsin current DAPFs whereas challenges indicate the issues ofresearch in distributed application processing for MCC thatremain to be addressed. The following section discusses issuesin current offloading frameworks and identifies challenges tothe cloud based application processing of resources intensivemobile applications.

A. Scalability and Availability of Services and Resources

Scalability of services is a challenging aspect of distributedapplication processing in mobile cloud computing. The tradi-tional local DAPFs [6], [7], [13], [16], [35], [34] for remoteapplication processing are deficient in centralized managementof the distributed platform. A challenging issue in local DAPFsis the unavailability of centralized resources. For example;in the scenario of unavailability of remote service provider,remote services become inaccessible which hinders the ob-jectives of availability of services in distributed computingparadigm. Similarly, local resources are accessible to limitednumber of mobile devices in the local environment. Therefore,

SHIRAZ et al.: DISTRIBUTED APPLICATION PROCESSING FRAMEWORKS IN SMART MOBILE DEVICES FOR MOBILE CLOUD COMPUTING 1309

TABLE IVCHALLENGES AND ISSUES IN DISTRIBUTED APPLICATION PROCESSING FOR MCC

Challenge toCurrent DAPFs

Open Issues in Distributed Pro-cessing for MCC

Unavailability of centralized resources and services in local distributed models. YesSuccessful execution of remote processing and returning result to SMD in ad-hoc/ virtualdistributed models.

Yes Yes

Optimal operating procedure with minimum possible computing resources utilizationon SMD for the establishment and management of distributed Platform.

Yes Yes

Scalability of Services and resources. Yes YesMinimum resources exploitation on SMD while sustaining elasticity of mobile applica-tions.

Yes

Minimum dynamic runtime profiling and solving overhead on SMD for the establish-ment of runtime distributed processing platform.

Yes Yes

Lightweight distributed management mechanism on SMD. Yes YesEnsuring trustworthy remote processing environment. Yes YesProviding authorized access to legitimate mobile users. YesIntegrity of offloading components of the application. YesConvenient developmental and deployment procedures. YesDeficiency of design level support for distributed processing of mobile application. YesAnalogous extension of cyber foraging to centralized cloud based remote processing YesTransparent distributed platform. Yes YesCoping with intrinsic limitations of wireless medium. YesSeamless Connectivity to cloud servers. YesHeterogeneity of mobile device architecture and operating system platforms. Yes Yes

the possibility of inaccessibility of the remote services al-ways remains associated in local distributed models. Whereas,scalable systems ensure the provision of services irrespectiveof the number of clients accessing the services. Therefore,unavailability of centralized resources and services and scala-bility of services is a challenging research issue for ad-hoc andvirtual distributed models of MCC [13], [38]. It is challengingto implement peaceful degradation policy on SMDs in thecritical conditions of unavailability of remote services. Scal-able systems sustain the provision of services and resourcesfor large number of clients whereas availability of servicesensures the provision of remote services. It is imperative toensure the scalability of services in cloud datacenters so thatSMDs are enabled to access centralized services for distributedapplication deployment with high aim of scalable remoteservices. In centralized datacenter based computational cloudare resources rich and computational resources and servicesare provided on demand basis. Cloud resources and servicesare accessible to both stationary computer clients and SMDs.However, the unique architecture, compact design, operatingplatforms, low computing potentials, and portable mobilenature of smart mobile devices require special services forensuring the availability of cloud services. The mobile natureand the intrinsic limitations associated with the wireless accessmedium of SMD necessitate availability of cloud servicesand resources homogeneously worldwide. It is challenging incloud based processing of mobile applications to ensure theavailability of services and identical access to cloud servicesover different types of wireless network technologies (Wi-Fi,3G and LTE). Therefore, sustaining uninterrupted provisionof cloud services and resources to SMDs is a challengingresearch perspective of mobile cloud computing.

B. Distributed Application Deployment

In current DAPFs, resources intensive distributed platform isestablished at runtime. Mobile applications offloading frame-

works are developed on the basis of standalone application ar-chitecture, whereas the processing of application is performedin the distributed fashion. As a result, current DAPFs establisha resources intensive and complex computing environmentat runtime. Application offloading techniques are primarilybased on either entire application/job migration or applicationpartition migration to remote servers. The implementation ofdistributed architecture for virtual mobile cloud is hinderedby the following obstructs. a) Local distributed processingmodels lack in the availability of centralized management;for that reason it is difficult to configure explicitly definedclient and server components for the mobile applications.b) Virtual clouds necessitate special requirements for theestablishment of distributed platform which is challenging tomaintain for mobile devices which are participating in ad-hoc cloud. The special requirements include; SMDs remainin the close proximity, follow the same movement patterns,voluntariness for service and provision, implementation ofspecific service architecture [13]. SMDs in the virtual cloudexploit additional computing resources for the configuration ofdistributed platform and management of distributed servicesprovision to the requesting client devices. Further, shorterbattery life time of SMDs is major challenge in virtual/ad-hoc distributed application processing models. Therefore, thead-hoc and virtualized nature of local distributed platformis another obstacle in explicitly defining client and servercomponents of the mobile application. However, the avail-ability of centralized resources and services and central-ized management mechanism in cloud datacenters are themotivating factors for incorporating distributed architecturefor the intensive mobile applications. The implementationof client/server model can be a potential alternative for thetraditional standalone intensive mobile applications for mobilecloud computing. On the other hand, traditional client/servermodel has the limitations of reliability of client applicationon server application. Applications are configured in such amanner so that client applications remain dependent on the

1310 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 15, NO. 3, THIRD QUARTER 2013

server application. Whereas, the wireless access medium isthe main inhibiting factor for implementing highly dependentclient/server model for intensive mobile applications in MCC.Hence, it is challenging for distributed mobile applicationto incorporate the principles of distributed applications insuch a manner so that mobile applications can operate in thesituations of inaccessibility of cloud server nodes.

C. Seamless Connectivity and Consistent Distributed Platform

Mobility is an important attribute of SMDs. Mobile usersenjoy the freedom of computing and communication onmove. However, a number of obstacles hinder the goals ofseamless connectivity and consistency in the distributed plat-form of mobile applications; for example handoffs, travelingwith high speed, diverse geographical locations and differentenvironmental conditions. As a result, providing seamlessconnectivity and uninterrupted access to the centralized clouddatacenters in distributed application processing is a seriousresearch issue for MCC. It is important that distributed ap-plication model provide versatile access to cloud resourcesand services on move with ubiquitous attributes and highdegree of transparency. However, it is challenging to ensurethe transparency of distributed environment. In particular toSMD, the issues and limitations in wireless medium hinderthe transparency goals of distributed processing of mobileapplication. The seamless and transparent deployment ofdistributed platform for computational intensive applicationsis a challenging aspect for mobile cloud computing. It ismandatory for distributed model to mask the complexities ofdistributed environment from mobile user and give the notionas the entire application is being processed locally on SMD.Similarly, it is important to ensure successful execution ofremote processing and returning results to SMD. Sustainingconsistency of the offloaded components of the applicationwith lightweight implementation procedures is a challengingaspect of DAPFs. Consistency is an issue for the componentsoffloaded at runtime [14], the replicated applications usingproxies [40], and transactions involving related updates todifferent objects. It is important that the distribution andreplication of intensive mobile applications and data shouldbe transparent to the mobile users and application runningclient device. Cloud based distributed processing of mobileapplication are required to fulfill Atomic, Concurrency, Iso-lation and Durability (ACID) properties of the distributedsystems. It is challenging to provide location transparency,replica transparency, concurrency transparency, and failuretransparency in cloud based application processing of mobileapplications.

D. Homogenous and Optimal Distributed Platform

Homogenous and optimal cloud based application process-ing is an important research perspective in mobile cloudcomputing. Heterogeneity of SMD architecture and operatingplatform is challenging for distributed application processingin MCC. Mobile device vendors employ different hardwarearchitecture and operating system platforms for the specificmobile product. Traditional application offloading frameworksfocus on the implementation of platform dependent procedures

for outsourcing computational intensive loads. For example,Weblets [14] and MAUI [40] are application offloading frame-works which are applicable for .Net framework, whereasvirtualized execution framework [42] and mirror server [37]are suitable frameworks for android platform. Therefore,homogenous access to cloud services are highly expectedwherein SMD are enabled to access widespread computingservices of computational clouds irrespective of the concernsabout operating hardware architecture and operating systemplatform. A homogenous distributed application deploymentsolution for the heterogeneous available SMDs platforms is achallenging issue for MCC. In [56], we propose a tripod ofrequirements with three legs of trust, energy efficiency, andubiquity. It describes important metrics such as heterogeneity,under this tripod which are crucial for the success of cloud-mobile applications. Similarly, the deployment of distributedapplication processing platform at runtime [13], [14], [30],[41], [40] is a resources intensive mechanism. It uses com-puting resources on SMDs for the evaluation of computingresources utilization on SMDs and partitioning of intensivemobile applications at runtime. Current, DAPFs necessitatecontinuous assessment of application execution requirementson SMD which is a resource intensive operation. DAPFsemploy runtime profiling and solving mechanism on SMDsperiodically or casually to evaluate application processingrequirements and the availability of computing resources onSMD [14], [40]. The centralized distributed application de-ployment models require arbitration of SMD with centralizedserver for the selection of appropriate server node. As aresult, computing resources (CPU, battery power) of SMDare exploited abundantly for the entire process of applicationprofiling and solving. The deployment of distributed platform,management and operation of remote application processingin the optimal possible fashion is an important perspective ofcloud based application processing. It is challenging to providehomogenous solution for heterogeneous devices, operatingplatforms and network technologies with minimum possibleresources utilization on the SMDs.

E. Security and Privacy in Cloud Based Application Process-ing

Privacy in the distributed platform and security of datatransmission between mobile device and cloud server nodeare important concerns in cloud based application processing.Privacy measures are required to ensure the execution ofmobile application in isolated and trustworthy environment,whereas security procedures are required to protect againstnetwork threats. Security and privacy are very importantaspects for the establishing and maintaining the trust of mobileusers in cloud based application processing. Security in MCCis important from three different perspectives: security formobile devices, security for data transmission over the wirelessmedium and security in the cloud datacenter nodes. SMDs aresubjected to a number of security threats such as viruses andworms. SMDs are the attractive targets for attacker. Accordingto a report [57] the number of new susceptibilities in mobileoperating systems increased 42 percent from 2009 to 2010.The number and sophistication of attacks on mobile phones is

SHIRAZ et al.: DISTRIBUTED APPLICATION PROCESSING FRAMEWORKS IN SMART MOBILE DEVICES FOR MOBILE CLOUD COMPUTING 1311

increasing speedily as compared to the countermeasures. Datatransmission over the wireless networks is highly vulnerable tonetwork security threats. For example, using radio frequencies,the risk of interruption is higher than with wired networkstherefore attacker can easily compromise confidentiality [58].Similarly, in cloud datacenters the security threats are asso-ciated with the transmission between physical elements onthe network, and traffic between the virtual elements in thenetwork, such as between virtual machines within a singlephysical server. Therefore, in order to leverage the applicationprocessing services of computational clouds, a highly secureenvironment is expected at all the three entities of MCCmodel. In current DAPFs, transmission of the running states ofmobile application which is encapsulated in VM [6], [7], [49],[42] or binary transfer of the application code at runtime [35],[30], [43], [49] is continuously subjected to security threatsat mobile device, wireless medium and cloud datacenters.Therefore, secure transmission of the entire components of theapplication is a challenging issue for MCC. It is imperative toimplement reliable security measures for the data transmission,and synchronization between SMD and cloud datacenters indistributed processing platform. Similarly, access control, fi-delity and privacy of distributed application components in theremote cloud datacenters is an important consideration for thedistributed application processing in MCC. Cloud datacentersprovide augmentation services which are unapproachable tomobile users. Therefore, it is highly demanding to ensure theprivacy of data and computing operations in remote servernodes. A trustworthy distributed application model is highlyexpected to cope with such important issues and ensure thetrustworthiness of remote computing environment. A reliabledistributed environment is expected to provide authentic accessto authorized mobile user for legitimate operations on cloudserver nodes. Considering the aforementioned research issuesand challenges for distributed application deployment in MCC,lightweight and optimal distributed application deployment so-lution is extremely important. Such a solution should incorpo-rate optimal procedures for the development, deployment andmanagement of runtime distributed platform for MCC. In [59]we propose a lightweight distributed model for computationalintensive mobile applications.

VI. CONCLUSIONS AND FUTURE DIRECTIONS

The paper discusses the concept of cloud computing, mobilecloud computing and explains the different techniques toaugment smart mobile devices resources based on resourcesavailable within the cloud. It analyzes current DAPFs byusing thematic taxonomy and highlights the commonaltiesand deviations in such frameworks on the basis of signif-icant parameters. It discusses issues in current DAPFs andhighlights challenges to optimal and lightweight distributedapplication frameworks for MCC. Current DAPFs accomplishprocess offloading in diverse modes. Several approaches ex-ploit entire application migration; others focus on part(s) ofthe application to be offloaded. A number of approaches em-ploy static partitioning, others exercise dynamic partitioning.Variant migration patterns are used; downloading applicationby providing URL to remote host, VM cloning, Mobile agentsuch as USMC, application binary transfer and use of proxies.

Diverse objective functions are considered; saving processingpower, efficient bandwidth utilization, saving energy con-sumption, user preferences, and execution cost. Objectiveof all approaches is to augment the application processingpotentials of resources constrained SMDs. We conclude thatcurrent DAPFs for MCC are the analogous extensions oftraditional cyber foraging frameworks for pervasive computingor local distributed platforms. Hence, current DAPFs aredeficient in the deployment of distributed system standardarchitectures. As a result, additional complications arise inthe development, deployment and management of distributedplatform. Current frameworks focus on the establishment ofruntime distributed platform which results in the resourcesintensive management overheads on SMDs for the entireduration of distributed platform. SMDs exploit computingresources in arbitration with cloud servers for the selectionof appropriate remote node, dynamic assessment of SMDsresources consumption and application execution requirementsat runtime, dynamic application profiling, synthesizing andsolving for application outsourcing, application migration andreintegration and rigorous synchronization with cloud serversfor the entire duration of distributed platform. As a result,additional computing resources of the SMDs are exploited forthe runtime orchestration of distributed platform. Therefore,current distributed application deployment algorithms employheavyweight procedures for distributed application deploy-ment and management.

The mobile nature, compact design, limited computingpotential and wireless medium attributes of SMDs necessitatefor optimal, lightweight and rich local services proceduresfor distributed application deployment in MCC. The incor-poration of standardized design and development principlesof distributed systems seem to be an optimal solution forcoping with the challenges of lightweight distributed appli-cation deployment for MCC. The incorporation of distributedclient/server architecture of distributed applications with theelastic features of the traditional offloading frameworks ap-pears to be an appropriate optimal solution for addressingthe issues of current DAPFs for MCC. The development ofsuch lightweight model will result in reducing developmentalefforts and enhancement in overall performance of applicationdeployment, management and processing in mobile cloudcomputing.

ACKNOWLEDGMENT

This work is carried out as part of the Mobile Cloud Com-puting research project funded by the Malaysian Ministry ofHigher Education under the University of Malaya High ImpactResearch Grant with reference UM.C/HIR/MOHE/FCSIT/03.A research in CLOUDS Lab at the University of Melbourneis funded by the Australian Research Council (ARC) under itsDiscovery and Linkage Projects programs.

REFERENCES

[1] R. Balan, D. Gergle, M. Satyanarayanan, and J. Herbsleb, “Simplifyingcyber foraging for mobile devices,” in Proc. 5th international conferenceon Mobile systems, applications and services. ACM, 2007, pp. 272–285.

1312 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 15, NO. 3, THIRD QUARTER 2013

[2] J. Flinn, S. Park, and M. Satyanarayanan, “Balancing performance,energy, and quality in pervasive computing,” in Distributed ComputingSystems, Proceedings. 22nd International Conference on. IEEE, 2002,pp. 217–226.

[3] Y. Su and J. Flinn, “Slingshot: Deploying stateful services in wirelesshotspots,” in Proc. 3rd international conference on Mobile systems,applications, and services. ACM, 2005, pp. 79–92.

[4] M. Kristensen and N. Bouvin, “Developing cyber foraging applicationsfor portable devices,” in Portable Information Devices, 2008 and the2008 7th IEEE Conference on Polymers and Adhesives in Micro-electronics and Photonics. PORTABLE-POLYTRONIC 2008. 2nd IEEEInternational Interdisciplinary Conference on. IEEE, 2008, pp. 1–6.

[5] J. Porras, O. Riva, and M. Kristensen, “Dynamic resource managementand cyber foraging,” Middleware for Network Eccentric and MobileApplications, vol. 1, p. 349, 2009.

[6] B. Chun and P. Maniatis, “Augmented smartphone applications throughclone cloud execution,” in Proc. 8th Workshop on Hot Topics inOperating Systems (HotOS), Monte Verita, Switzerland, 2009.

[7] M. Satyanarayanan, P. Bahl, R. Caceres, and N. Davies, “The case forvm-based cloudlets in mobile computing,” IEEE Pervasive Computing,vol. 8, no. 4, pp. 14–23, 2009.

[8] M. Sharifi, S. Kafaie, and O. Kashefi, “A survey and taxonomy of cyberforaging of mobile devices,” IEEE Commun. Surveys Tuts., 2011.

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

[10] (Accessed on 15th July 2011) Google docs. [Online]. Available:http://docs.google.com

[11] (Accessed on 15th June 2011.) Mobileme. [Online]. Available:http://en.wikipedia.org/wiki/MobileMe

[12] (Accessed on 15th July 2011.) Dropbox. [Online]. Available:http://www.dropbox.com

[13] G. Huerta-Canepa and D. Lee, “A virtual cloud computing providerfor mobile devices,” in Proc. 1st ACM Workshop on Mobile CloudComputing & Services: Social Networks and Beyond. ACM, 2010,p. 6.

[14] X. Zhang, A. Kunjithapatham, S. Jeong, and S. Gibbs, “Towards anelastic application model for augmenting the computing capabilities ofmobile devices with cloud computing,” Mobile Networks and Applica-tions, vol. 16, no. 3, pp. 270–284, 2011.

[15] R. Buyya, C. Yeo, S. Venugopal, J. Broberg, and I. Brandic, “Cloudcomputing and emerging it platforms: Vision, hype, and reality fordelivering computing as the 5th utility,” Future Generation computersystems, vol. 25, no. 6, pp. 599–616, 2009.

[16] K. Kumar and Y. Lu, “Cloud computing for mobile users: Can offloadingcomputation save energy?” Computer, vol. 43, no. 4, pp. 51–56, 2010.

[17] R. Barga, D. Gannon, and D. Reed, “The client and the cloud: Democ-ratizing research computing,” IEEE Internet Computing, vol. 15, no. 1,pp. 72–75, 2011.

[18] A. Fox, R. Griffith et al., “Above the clouds: A berkeley view of cloudcomputing,” Dept. Electrical Eng. and Comput. Sciences, University ofCalifornia, Berkeley, Tech. Rep. UCB/EECS, vol. 28, 2009.

[19] (Accessed on 15th September 2012.) What is aws. [Online]. Available:http://aws.amazon.com/

[20] M. Kristensen, “Enabling cyber foraging for mobile devices,” in Proc.5th MiNEMA Workshop: Middleware for Network Eccentric and MobileApplications. Citeseer, 2007, pp. 32–36.

[21] C. Wesley. (Accessed on 15th September, 2012)What is google app engine? [Online]. Avail-able: https://ep2012.europython.eu/conference/talks/google-app-engine-best-practices-latest-features

[22] (Accessed on 15th September, 2012) What is windows azure? [Online].Available: http://www.microsoft.com/bizspark/azure/

[23] R. Calheiros, C. Vecchiola, D. Karunamoorthy, and R. Buyya, “Theaneka platform and qos-driven resource provisioning for elastic applica-tions on hybrid clouds,” Future Generation Computer Systems, vol. 28,no. 6, pp. 861–870, 2012.

[24] “White paper, mobile cloud computing solution brief, aepona,” Novem-ber 2010.

[25] M. Ali, “Green cloud on the horizon,” pp. 451–459, 2009.[26] H. Dinh, C. Lee, D. Niyato, and P. Wang, “A survey of mobile

cloud computing: architecture, applications, and approaches,” WirelessCommunications and Mobile Computing, 2011.

[27] S. Abolfazli, Z. Sanaei, and A. Gani, “Mobile cloud computing: Areview on smartphone augmentation approaches,” in Proc. 1st Inter-national Conference on Computing, Information Systems and Commu-nications, 2012.

[28] W. Zheng, P. Xu, X. Huang, and N. Wu, “Design a cloud storageplatform for pervasive computing environments,” Cluster Computing,vol. 13, pp. 141–151, 2010.

[29] M. Satyanarayanan, “Pervasive computing: Vision and challenges,”IEEE Pers. Commun., vol. 8, no. 4, pp. 10–17, 2001.

[30] S. Goyal and J. Carter, “A lightweight secure cyber foraging infrastruc-ture for resource-constrained devices,” in Mobile Computing Systemsand Applications, 2004. WMCSA 2004. Sixth IEEE Workshop on. IEEE,2004, pp. 186–195.

[31] J. Oh, S. Lee, and E. Lee, “An adaptive mobile system using mobilegrid computing in wireless network,” Computational Science and ItsApplications-ICCSA 2006, pp. 49–57, 2006.

[32] C. Li and L. Li, “Energy constrained resource allocation optimization formobile grids,” Journal of Parallel and Distributed Computing, vol. 70,no. 3, pp. 245–258, 2010.

[33] Y. Begum and M. Mohamed, “A dht-based process migration policy formobile clusters,” in Information Technology: New Generations (ITNG),2010 Seventh International Conference on. IEEE, 2010, pp. 934–938.

[34] A. Messer, I. Greenberg, P. Bernadat, D. Milojicic, D. Chen, T. Giuli,and X. Gu, “Towards a distributed platform for resource-constraineddevices,” in Distributed Computing Systems, 2002. Proceedings. 22ndInternational Conference on. IEEE, 2002, pp. 43–51.

[35] A. Dou, V. Kalogeraki, D. Gunopulos, T. Mielikainen, and V. Tuulos,“Misco: a mapreduce framework for mobile systems,” in Proc. 3rdInternational Conference on PErvasive Technologies Related to AssistiveEnvironments. ACM, 2010, p. 32.

[36] B. Chun, S. Ihm, P. Maniatis, M. Naik, and A. Patti, “Clonecloud: elasticexecution between mobile device and cloud,” in Proc. sixth conferenceon Computer systems, 2011, pp. 301–314.

[37] B. Zhao, Z. Xu, C. Chi, S. Zhu, and G. Cao, “Mirroring smartphones forgood: A feasibility study,” Mobile and Ubiquitous Systems: Computing,Networking, and Services, pp. 26–38, 2012.

[38] Q. Liu, X. Jian, J. Hu, H. Zhao, and S. Zhang, “An optimized solutionfor mobile environment using mobile cloud computing,” in WirelessCommunications, Networking and Mobile Computing, 2009. WiCom’09.5th International Conference on. IEEE, 2009, pp. 1–5.

[39] R. Iyer, S. Srinivasan, O. Tickoo, Z. Fang, R. Illikkal, S. Zhang,V. Chadha, P. Stillwell, and S. Lee, “Cogniserve: Heterogeneous serverarchitecture for large-scale recognition,” IEEE Micro, vol. 31, no. 3, pp.20–31, 2011.

[40] E. Cuervo, A. Balasubramanian, D. Cho, A. Wolman, S. Saroiu,R. Chandra, and P. Bahl, “Maui: making smartphones last longer withcode offload,” in Proc. 8th international conference on Mobile systems,applications, and services. ACM, 2010, pp. 49–62.

[41] K. Wang, J. Rao, and C. Xu, “Rethink the virtual machine template,”in ACM SIGPLAN Notices, vol. 46, no. 7. ACM, 2011, pp. 39–50.

[42] S. Hung, T. Kuo, C. Shih, J. Shieh, C. Lee, C. Chang, and J. Wei, “Acloud-based virtualized execution environment for mobile applications,”ZTE Communications, vol. 9, no. 1, pp. 15–21, 2011.

[43] C. Lai and R. Ko, “Dishes: A distributed shell system designed forubiquitous computing environment,” International Journal of ComputerNetworks & Communications, vol. 2, no. 1, pp. 66–83, 2010.

[44] J. Dean and S. Ghemawat, “Mapreduce: simplified data processing onlarge clusters,” Communications of the ACM, vol. 51, no. 1, pp. 107–113, 2008.

[45] J. Liu, K. Kumar, and Y. Lu, “Tradeoff between energy savings andprivacy protection in computation offloading,” in Proc. 16th ACM/IEEEinternational symposium on Low power electronics and design. ACM,2010, pp. 213–218.

[46] D. Wu and W. Tsai, “A steganographic method for images by pixel-valuedifferencing,” Pattern Recognition Letters, vol. 24, no. 9, pp. 1613–1626,2003.

[47] S. De Capitani di Vimercati, S. Foresti, S. Jajodia, S. Paraboschi,G. Pelosi, and P. Samarati, “Preserving confidentiality of securitypolicies in data outsourcing,” in Proc. 7th ACM workshop on Privacyin the electronic society. ACM, 2008, pp. 75–84.

[48] J. Rellermeyer, O. Riva, and G. Alonso, “Alfredo: an architec-ture for flexible interaction with electronic devices,” in Proc. 9thACM/IFIP/USENIX International Conference on Middleware. Springer-Verlag New York, Inc., 2008, pp. 22–41.

[49] I. Giurgiu, O. Riva, D. Juric, I. Krivulev, and G. Alonso, “Callingthe cloud: Enabling mobile phones as interfaces to cloud applications,”Middleware 2009, pp. 83–102, 2009.

[50] O. Alliance, “Osgi service platform, core specification, release 4, version4.1,” OSGi Specification, 2007.

[51] I. Kelenyi and J. Nurminen, “Bursty content sharing mechanism forenergy-limited mobile devices,” in Proc. 4th ACM workshop on Per-

SHIRAZ et al.: DISTRIBUTED APPLICATION PROCESSING FRAMEWORKS IN SMART MOBILE DEVICES FOR MOBILE CLOUD COMPUTING 1313

formance monitoring and measurement of heterogeneous wireless andwired networks. ACM, 2009, pp. 216–223.

[52] M. Pedersen and F. Fitzek, “Implementation and performance evaluationof network coding for cooperative mobile devices,” in CommunicationsWorkshops, 2008. ICC Workshops’ 08. IEEE International Conferenceon. IEEE, 2008, pp. 91–96.

[53] X. Zhang, J. Schiffman, S. Gibbs, A. Kunjithapatham, and S. Jeong,“Securing elastic applications on mobile devices for cloud computing,”in Proc. 2009 ACM workshop on Cloud computing security. ACM,2009, pp. 127–134.

[54] B. Chun and P. Maniatis, “Dynamically partitioning applications be-tween weak devices and clouds,” in Proc. 1st ACM Workshop on MobileCloud Computing & Services: Social Networks and Beyond. ACM,2010, p. 7.

[55] B. Nguyen, S. Yoon, and H. Lee, “Multi bit plane image steganography,”Digital Watermarking, pp. 61–70, 2006.

[56] Z. Sanaei, S. Abolfazli, A. Gani, and R. Khokhar, “Tripod of require-ments in horizontal heterogeneous mobile cloud computing,” 2012.

[57] (Accessed on 15th September,2012) Protecting portable devices: Phys-ical security. [Online]. Available: http://www.us-cert.gov/cas/tips/ST04-017.html

[58] M. Choi, R. Robles, C. Hong, and T. Kim, “Wireless network security:Vulnerabilities, threats and countermeasures,” International journal ofMultimedia and Ubiquitous Engineering, vol. 3, no. 3, 2008.

[59] M. Shiraz, A. Gani, and R. Khokhar, “Towards lightweight distributedapplications for mobile cloud computing,” in Computer Science andAutomation Engineering (CSAE), 2012 IEEE International Conferenceon, vol. 1. IEEE, 2012, pp. 89–93.

Muhammad Shiraz is an Assistant Professor atDepartment of Computer Science, Federal UrduUniversity of Arts, Sciences and Technology Is-lamabad, Pakistan. He completed under graduationfrom CECOS University Peshawar Pakistan withthe distinction of Gold medal. He has CompletedMasters in Computer Science from Allama IqbalOpen University Islamabad Pakistan in 2007. Cur-rently, he is pursuing his PhD Candidature underCommonwealth Scholarship Program at Faculty ofComputer and Information Technology University of

Malaya, Malaysia. He is an active researcher in the Mobile Cloud ComputingResearch Group at Faculty Computer Science and Information TechnologyUniversity Malay Kuala Lumpur. His areas of interest include distributed ap-plications design for Ubiquitous Networks, Distributed Systems, LightweightApplications, Smart Client Applications and Optimization Strategies, MobileCloud Computing.

Abdullah Gani is an Assoc. Prof. at the Deptof Computer System and Technology, Universityof Malaya, Malaysia. His academic qualificationswere obtained from UK’s universities - bachelorand master degrees from the University of Hull,and Ph.D from the University of Sheffield. He hasvast teaching experience due to having worked invarious educational institutions locally and abroad -schools, teaching college, ministry of education, anduniversities. His interest in research started in 1983when he was chosen to attend Scientific Research

course in RECSAM by the Ministry of Education, Malaysia. More than100 academic papers have been published in conferences and respectablejournals. He actively supervises many students at all level of study - Bachelor,Master and PhD. His interest of research includes self-organized system,reinforcement learning and wireless-related networks. He is now working onmobile cloud computing with High Impact Research Grant of 1.5 M for theperiod of 2011-2016.

Rashid Hafeez Khokhar did his M.S (Statistics)and M.S (Information Technology) from Universityof the Punjab (Pakistan) and Preston University(Pakistan) respectively. He received his M.S (byresearch) and PhD in Computer Sciences from Uni-versiti Teknologi Malaysia (Malaysia). Currently,he is working as Senior Lecturer in the Facultyof Computer Science and Information Technology,University of Malaya. His areas of interest areMobile Cloud Computing, Vehicular & Mobile AdHoc Network (Architectures, Protocols, Security,

and Algorithms), Artificial Intelligence and Real-Time Communications, andHigh Performance Computing.

Rajkumar Buyya is Professor of Computer Scienceand Software Engineering; and Director of the CloudComputing and Distributed Systems (CLOUDS)Laboratory at the University of Melbourne, Aus-tralia. He is also serving as the founding CEOof Manjrasoft Pty Ltd., a spin-off company ofthe University, commercialising its innovations inGrid and Cloud Computing. He received B.E andM.E in Computer Science and Engineering fromMysore and Bangalore Universities in 1992 and1995 respectively; and Doctor of Philosophy (PhD)

in Computer Science and Software Engineering from Monash University,Melbourne, Australia in 2002. He was awarded Dharma Ratnakara MemorialTrust Gold Medal in 1992 for his academic excellence at the University ofMysore, India. He received Richard Merwin Award from the IEEE ComputerSociety (USA) for excellence in academic achievement and professionalefforts in 1999. He received Leadership and Service Excellence Awards fromthe IEEE/ACM International Conference on High Performance Computingin 2000 and 2003. He received ”Research Excellence Awards” from theUniversity of Melbourne for productive and quality research in computerscience and software engineering in 2005 and 2008. He is one of the highlycited authors in computer science and software engineering worldwide (h-index=57, g-index=124, 17000+ citations). The Journal of Information andSoftware Technology in Jan 2007 issue, based on an analysis of ISI citations,ranked Dr. Buyya’s work (published in Software: Practice and ExperienceJournal in 2002) as one among the ”Top 20 cited Software EngineeringArticles in 1986-2005”. He received the Chris Wallace Award for OutstandingResearch Contribution 2008 from the Computing Research and EducationAssociation of Australasia, CORE, which is an association of universitydepartments of computer science in Australia and New Zealand. Dr. Buyyareceived the ”2009 IEEE Medal for Excellence in Scalable Computing” forpioneering the economic paradigm for utility-oriented distributed computingplatforms such as Grids and Clouds.