19
Review Seamless application execution in mobile cloud computing: Motivation, taxonomy, and open challenges Ejaz Ahmed a,n , Abdullah Gani a , Muhammad Khurram Khan b , Rajkumar Buyya c , Samee U. Khan d a Mobile Cloud Computing Research Lab, Faculty of Computer Science and InformationTechnology, University of Malaya, Kuala Lumpur, Malaysia b Center of Excellence in Information Assurance, King Saud University, Riyadh, Saudi Arabia c Cloud Computing and Distributed Systems (CLOUDS) Lab Department of Computing and Information Systems The University of Melbourne, Australia d North Dakota State University, United States article info Article history: Received 27 August 2014 Received in revised form 1 December 2014 Accepted 5 March 2015 Available online 14 March 2015 Keywords: Mobile Cloud Computing Seamless Application Execution Cloud-Based Mobile Application Execution Frameworks abstract Seamless application execution is vital for the usability of various delay-sensitive mobile cloud applications. However, the resource-intensive migration process and intrinsic limitations of the wireless medium impede the realization of seamless execution in mobile cloud computing (MCC) environment. This work is the rst comprehensive survey that studies the state-of-the-art cloud-based mobile application execution frameworks (CMAEFs) in perspective of seamless application execution in MCC and investigates the frameworks suitability for the seamless execution. The seamless execution enabling approaches for the CMAEFs are identied and classied based on the implementation locations. We also investigate the seamless application execution enabling approaches to identify advantages and disadvantages of employing such approaches for attaining the seamless application execution in MCC. The existing frameworks are compared based on the signicant parameters derived from the taxonomy of the seamless application execution enabling approaches. The principles for enabling the seamless application execution within the MCC are also highlighted. Finally, open research challenges in realizing the seamless application execution are discussed. & 2015 Elsevier Ltd. All rights reserved. Contents 1. Introduction ........................................................................................................ 155 2. Background ........................................................................................................ 156 2.1. Mobile cloud computing ........................................................................................ 156 2.2. Cloud-based mobile application execution .......................................................................... 156 2.3. Seamless application execution in the MCC ......................................................................... 156 2.3.1. Denitions ............................................................................................ 156 3. Motivation for seamless application execution ............................................................................ 157 4. Research method .................................................................................................... 157 5. State-of-the-art cloud-based mobile application execution frameworks ........................................................ 158 5.1. Cloud-based frameworks ........................................................................................ 158 5.2. Cloudlet-based frameworks...................................................................................... 159 5.2.1. Server-based cloudlet ................................................................................... 160 5.2.2. Mobile ad-hoc cloudlet .................................................................................. 161 5.3. Hybrid frameworks ............................................................................................ 161 6. Seamless application execution enabling approaches employed by CMAEFs ..................................................... 162 6.1. Thematic taxonomy of seamless enabling approaches and the CMAEFs comparison......................................... 162 6.1.1. Cloud-centric approaches ................................................................................ 162 6.1.2. Hybrid approaches ...................................................................................... 164 Contents lists available at ScienceDirect journal homepage: www.elsevier.com/locate/jnca Journal of Network and Computer Applications http://dx.doi.org/10.1016/j.jnca.2015.03.001 1084-8045/& 2015 Elsevier Ltd. All rights reserved. n Corresponding author. E-mail addresses: [email protected] (E. Ahmed), [email protected] (A. Gani), [email protected] (M. Khurram Khan), [email protected] (R. Buyya), [email protected] (S.U. Khan). Journal of Network and Computer Applications 52 (2015) 154172

Journal of Network and Computer Applicationscloudbus.cis.unimelb.edu.au/~raj/papers/mcc-jnca2015.pdfReview Seamless application execution in mobile cloud computing: Motivation, taxonomy,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Journal of Network and Computer Applicationscloudbus.cis.unimelb.edu.au/~raj/papers/mcc-jnca2015.pdfReview Seamless application execution in mobile cloud computing: Motivation, taxonomy,

Review

Seamless application execution in mobile cloud computing:Motivation, taxonomy, and open challenges

Ejaz Ahmed a,n, Abdullah Gani a, Muhammad Khurram Khan b, Rajkumar Buyya c,Samee U. Khan d

a Mobile Cloud Computing Research Lab, Faculty of Computer Science and Information Technology, University of Malaya, Kuala Lumpur, Malaysiab Center of Excellence in Information Assurance, King Saud University, Riyadh, Saudi Arabiac Cloud Computing and Distributed Systems (CLOUDS) Lab Department of Computing and Information Systems The University of Melbourne, Australiad North Dakota State University, United States

a r t i c l e i n f o

Article history:Received 27 August 2014Received in revised form1 December 2014Accepted 5 March 2015Available online 14 March 2015

Keywords:Mobile Cloud ComputingSeamless Application ExecutionCloud-Based Mobile Application ExecutionFrameworks

a b s t r a c t

Seamless application execution is vital for the usability of various delay-sensitive mobile cloudapplications. However, the resource-intensive migration process and intrinsic limitations of the wirelessmedium impede the realization of seamless execution in mobile cloud computing (MCC) environment.This work is the first comprehensive survey that studies the state-of-the-art cloud-based mobileapplication execution frameworks (CMAEFs) in perspective of seamless application execution in MCCand investigates the frameworks suitability for the seamless execution. The seamless execution enablingapproaches for the CMAEFs are identified and classified based on the implementation locations. We alsoinvestigate the seamless application execution enabling approaches to identify advantages anddisadvantages of employing such approaches for attaining the seamless application execution in MCC.The existing frameworks are compared based on the significant parameters derived from the taxonomyof the seamless application execution enabling approaches. The principles for enabling the seamlessapplication execution within the MCC are also highlighted. Finally, open research challenges in realizingthe seamless application execution are discussed.

& 2015 Elsevier Ltd. All rights reserved.

Contents

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1552. Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

2.1. Mobile cloud computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1562.2. Cloud-based mobile application execution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1562.3. Seamless application execution in the MCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

2.3.1. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1563. Motivation for seamless application execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1574. Research method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1575. State-of-the-art cloud-based mobile application execution frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

5.1. Cloud-based frameworks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1585.2. Cloudlet-based frameworks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

5.2.1. Server-based cloudlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1605.2.2. Mobile ad-hoc cloudlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

5.3. Hybrid frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1616. Seamless application execution enabling approaches employed by CMAEFs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

6.1. Thematic taxonomy of seamless enabling approaches and the CMAEFs comparison. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1626.1.1. Cloud-centric approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1626.1.2. Hybrid approaches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

Contents lists available at ScienceDirect

journal homepage: www.elsevier.com/locate/jnca

Journal of Network and Computer Applications

http://dx.doi.org/10.1016/j.jnca.2015.03.0011084-8045/& 2015 Elsevier Ltd. All rights reserved.

n Corresponding author.E-mail addresses: [email protected] (E. Ahmed), [email protected] (A. Gani), [email protected] (M. Khurram Khan), [email protected] (R. Buyya),

[email protected] (S.U. Khan).

Journal of Network and Computer Applications 52 (2015) 154–172

Page 2: Journal of Network and Computer Applicationscloudbus.cis.unimelb.edu.au/~raj/papers/mcc-jnca2015.pdfReview Seamless application execution in mobile cloud computing: Motivation, taxonomy,

6.1.3. Mobile-centric approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1656.1.4. Network-centric approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

7. Seamless application execution principles for MCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1677.1. Optimal functionality. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

7.1.1. Seamless cloud discovery and service selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1677.1.2. Optimal cloud execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1687.1.3. Optimal component deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

7.2. Adaptiveness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1687.3. Autonomy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1687.4. Minimal data exchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1687.5. Seamless computational resources handoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1697.6. Agile security and privacy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

8. Open challenges for seamless application execution in the MCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1698.1. User-transparent cloud discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1698.2. Unobtrusive application offloading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1698.3. Optimal live VM migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1698.4. Seamless computational resources handoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1708.5. Agile security and privacy mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

9. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

1. Introduction

The incomparable advantages of mobile cloud computing (MCC)and a diverse range of potential mobile cloud applications are pro-voking mobile users to leverage on the benefits of emerging mobileapplications, such as m-learning (Chen et al., 2011), m-gaming (Cai etal., 2013), and m-health (Bourouis et al., 2013). In the MCC, computa-tional migration has been introduced as a software level solution ofutilizing remote cloud-based resources for augmenting applicationprocessing capabilities of the smart mobile devices. To execute themobile applications, application execution frameworks usually mig-rate either part of an application (Cuervo et al., 2010; Giurgiu et al.,2009) or the entire application to the cloud (Huerta-Canepa and Lee,2010; Satyanarayanan et al., 2009). On the successful execution, theresults are sent back to the mobile device for integration with the restof the application inside the mobile device.

The run-time migration of an application to the cloud improves theapplication responsiveness and energy consumption (Goyal and Carter,2004). However, the application migration process in the MCC usuallyinvolves human interaction; thereby, impeding the smooth executionof the mobile applications. The intrinsic limitations of the mobiledevices and wireless access technologies are other common factorsthat originate disruption in the execution of the mobile applicationsand inhibit seamless execution of the application in MCC (Ahmed et al.,2013a). The seamless application execution refers to the state ofunobtrusive application execution with the least possible user involve-ment, interaction, and distraction aiming to deliver enhanced function-ality, higher performance, and improved responsiveness towards aricher user experience. The seamless execution is imperative to meetthe application requirements for mobile applications, particularly fordelay sensitive applications, such as m-health (Bourouis et al., 2013)and augmented reality (Tsai et al., 2012). However, the realization ofseamless application execution in MCC is non-trivial due to severalissues, such as dynamic MCC execution environments, complex multi-objective offloading decision functions, incompatible heterogeneouswireless technologies (Ahmed et al., 2013b, 2014, 2015a), intrinsiclimitations in the wireless medium, intensive authentication, author-ization, and accounting processes.

Although several surveys (Fernando et al., 2013; Dinh et al.,2013; Kumar et al., 2013; Khan et al., 2014; Abolfazli et al., 2014)have studied various aspects of leveraging the cloud services toaugment the computing capabilities of resource-constrained

mobile devices, seamless execution of mobile applications withinthe MCC has not been surveyed. Contrary to our prior efforts, thisstudy is the first effort that comprehensively surveys the seamlessapplication execution within the MCC. It describes the seamlessapplication execution in the MCC and comprehensively surveysthe state-of-the-art cloud-based mobile application executionframeworks (CMAEFs) to investigate the suitability of the frame-works. Moreover, we identify and describe the important princi-ples and open challenges in realizing the vision of the seamlessapplication execution.

The contributions of the survey are manifolds. Firstly, we com-prehensively survey the state-of-the-art CMAEFs to evaluate theirfeatures implemented to achieve seamlessness in execution of themobile applications. Secondly, we classify the seamless applicationexecution enabling approaches employed by the current frameworksto devise a taxonomy. Thirdly, we analyze and synthesize seamlessapplication execution enabling approaches to identify advantages anddisadvantages. Fourthly, we compare the state-of-the-art CMAEFs byusing the thematic taxonomy of seamless application executionenabling approaches. Fifthly, we identify the principles of designingseamless CMAEFs in the MCC. Finally, we detail open challenges inrealizing the seamless application execution in the MCC. This paperalso enables the mobile cloud application engineers and cloud serviceproviders to leverage on the appropriate features that can mitigatecommunication and computation latencies when developing applica-tions or providing MCC services to increase the QoS for mobile-cloudusers. The identified principles guide the framework designers toincorporate the specific features to efficiently realize the seamlessapplication execution. Similarly, the identified open research chal-lenges highlight the future research directions. For the ease of reading,we list all of the commonly used acronyms in Table 1.

The remainder of this paper is organized as follows. Section 2introduces the MCC technology and explains the seamless applica-tion execution definition. Section 3 discusses the significance andmotivation of attaining the seamless application execution in MCC.The research methodology is provided in Section 4 for the readersto give them information that how we have collected researcharticles for the survey and what is our selection criteria. Section 5presents the comprehensive survey of the state-of-the-art CMAEFsand enquires the logical implications and critical aspects of theframeworks with respect to seamless application execution in theMCC. The taxonomy of seamless application execution enabling

E. Ahmed et al. / Journal of Network and Computer Applications 52 (2015) 154–172 155

Page 3: Journal of Network and Computer Applicationscloudbus.cis.unimelb.edu.au/~raj/papers/mcc-jnca2015.pdfReview Seamless application execution in mobile cloud computing: Motivation, taxonomy,

approaches is presented and described in Section 6. This sectionalso discusses the advantages and disadvantages of seamlessapplication execution enabling approaches along with the com-parison of CMAEFs based on the taxonomy. Section 7 presents theidentified principles for designing seamless CMAEFs in the MCC.Section 8 discusses open research challenges in realizing the visionof seamless application execution in the MCC. Finally, Section 9draws the conclusions and identifies the directions for futureresearch.

2. Background

This section provides a brief background on the MCC includingdefinition and motivation behind realizing the seamless applica-tion execution in the MCC.

2.1. Mobile cloud computing

MCC is an emerging distributed computing paradigm that aims toaugment the resources of mobile devices by leveraging the resourcesand services of remote cloud. The MCC synergistically integrates themobile computing, the cloud computing, and the wireless technolo-gies to unleash the potentials of these technologies. Therefore, alongwith the inherited features of the three main technologies, the MCCalso inherits issues from all of the three domains. Research in the MCCdomain aims to augment storage capability (Shin et al., 2012) andprocessing power (Chun and Maniatis, 2009) of the resource-constrained mobile devices by migrating the application to thecloud-based servers (Abolfazli et al., 2014). The storage capabilitiesof mobile devices are enhanced by leveraging the cloud storageresources for mobile cloud applications. The processing capabilities ofthe mobile devices are enhanced by migrating and processing thecompute-intensive parts of the application in the cloud. Because theresource-intensive computational operations are performed in thecloud, the battery life of the mobile device is increased.

The resource-constrained mobile devices are possibly augmentedby migrating the entire/partial application to four kinds of cloud-based computing resources: (a) the remote cloud data centers(Verbelen et al., 2012a), (b) the proximate resource-rich computers(Satyanarayanan et al., 2009), (c) group of nearby mobile computingdevices (Huerta-Canepa and Lee, 2010), and (d) hybrid models inwhich a multitude of heterogeneous computing resources in variouslocations are used (Cuervo et al., 2010). The cloud-based augmenta-tion solutions provide the required computing resources in dynamic,on-demand manner, and pay-as-you-use fashion. On demand elasti-city enables mobile service consumers to instantaneously scale upand down resources for execution of resource-intensive mobile

application anytime anywhere from any mobile device and pay forthe exact resources consumed.

2.2. Cloud-based mobile application execution

Mobile application whose execution requires cloud-basedresources is named cloud-based mobile applications. Such appli-cations inherit client-server traits and require a distributed envir-onment for efficient execution. Figure 1 presents the flowchart ofthe application execution process. The execution starts on theresource constrained mobile device where the user preferencesand application requirements are validated for the remote execu-tion. If the user prefers to offload and the offloading processconserves the energy, then optimum remote resources for execu-tion are opted. If the remote execution is infeasible, then a warningmessage is sent to notify the mobile device. Otherwise, resourcesare allocated remotely and the application is executed on theremote server. Finally, the results are pushed back to the mobiledevice, where the data is processed and on the completion ofexecution the application ends.

2.3. Seamless application execution in the MCC

The seamlessness of cloud-based mobile application executionis the most distinguishing feature compared to the normalapplication execution. Therefore, clear definition of the termseamless is essential for an effective comprehension of the topic.

2.3.1. DefinitionsThe term seamless is used in various research areas, particu-

larly networking and computer applications. Therefore, we presentsome of the most relevant definitions of the term seamless,followed by our definition and brief description of the concept ofseamless application execution in the MCC.

Seamless transition: The term transition is used when thecurrent state of the system turns into a new state that createschanges in the entire system. According to Satyanarayanan et al.(2005), “a seamless transition is one that involves a potentiallydisruptive state change, yet hardly distracts the user.”

Seamless mobility: Seamless mobility is “the capability tochange the mobile device's point of attachment to an IP-basednetwork, without losing established connections and without dis-ruptions in the communication” (Vidales, 2005).

Seamless interface: In software engineering, seamless interfaceis “an interface that carefully joins two different programstogether so that they appear to be a single program with a singleuser interface” (Janssen, 2013). A seamless interface provides auniform interface to a user for two or more different programs.

From the above definition, it can be observed that the seam-lessness raises when more than one entity is entertained in thesystem. Moreover, the main characteristic of the seamlessness isunobtrusiveness. Accordingly, we present our definition of theseamless application execution as follows:

Seamless application execution in MCC: Seamless applicationexecution in the MCC is “the state of unobtrusive applicationexecution with the least possible user involvement, interaction,and distraction aiming to deliver enhanced functionality, higherperformance, and improved responsiveness towards a richer userexperience”. The seamless application execution is only applicableto scenarios where a mobile application is executed on more thanone node (a mobile device and a cloud-based server). The mostimportant aspects of the seamless application execution are theapplication response time and the user interaction delay. Thefollowing attributes of the application response time with respectto user satisfaction level are highlighted in Tolia et al. (2006) as

Table 1List of acronyms and corresponding full form.

Symbol Description

CMAEF Cloud-based mobile application execution frameworkCPU Central processing unitI/O Input/outputMAUI Mobile assistance using infrastructureMCC Mobile cloud computingQoE Quality of experienceQoS Quality of serviceSLA Service level agreementTSP Telecommunication service providerVM Virtual machineWAN Wide area networksWiFi Wireless fidelityWLAN Wireless local area network3G Third generation

E. Ahmed et al. / Journal of Network and Computer Applications 52 (2015) 154–172156

Page 4: Journal of Network and Computer Applicationscloudbus.cis.unimelb.edu.au/~raj/papers/mcc-jnca2015.pdfReview Seamless application execution in mobile cloud computing: Motivation, taxonomy,

follows: (a) the user productivity is unaffected by the applicationresponse time below 150 ms; (b) the user becomes aware of theapplication response time when the application response time iswithin the range of 150 ms and 1 s; and (c) the user gets frustratedwhen the application response time and the user interaction delayis more than one second.

To realize the seamless application execution in MCC, a light-weight offloading system is required, in which the applicationinitiation overhead is low so that the application faces a minimumexecution disruption.

3. Motivation for seamless application execution

With the advent of MCC, mobile users want to run their real-time compute-intensive applications on mobile devices by lever-aging the services and resources of cloud. To improve the perfor-mance of real-time compute-intensive mobile applications, theapplications are migrated from mobile device to the cloud. How-ever, the compute-intensive migration process and intrinsic lim-itations of mobile devices impede the smooth execution of thesereal-time compute-intensive applications in MCC. These limita-tions affect the usability and sustainability of real-time mobileapplications, such as m-gaming, m-health, which require theseamless application execution in MCC. Hence, it is vital to designthe application execution frameworks that can enable the seam-less application execution in MCC.

Themotivation for the seamless application execution can be clearlyillustrated by the example scenario presented in (Satyanarayanan,2011). “A severe earthquake has just hit California. All of the commu-nication lines, power cables, and highway infrastructures are severelydamaged. The Internet infrastructure, including many main datacenters, have suffered significant damage. Despite the heroic efforts,disaster relief is slow and inadequate relative to the destruction scale.The maps of the place, even GoogleEarth and GoogleMaps, are nolonger usable because of destruction of buildings, bridges, highways,and landmarks. In this context, the searching and rescuing mission is

dangerous and difficult because of the obsolete information. The mapsmust be reconstituted from scratch, and at an acceptable resolution tobe effectively used in the rescue missions. In this despairing situation,local citizens support the rescue team by taking hundreds of close-upphotos of the disaster strucken place by using mobile phones cameras.These images are then stitched into a zoomable panorama usingcompute-intensive vision algorithms. Because the algorithms cannotrun on a single smart mobile device, in this situation, a hybrid mobilecloud is formed by using the cloudlet deployed in the emergencyvehicle and mobile phones of the local citizens and the rescue teams.The task of stitching hundreds of images is executed on multiple smartmobile devices. The images are transmitted via a low-grade wirelesstechnology. Using the stitched photos and topographical overlays,detailed maps are drawn from the bottom-up. As the maps becomeavailable, rescue works in those areas are sped up. Although rescuingpeople is still dangerous, at least the search teams now have anaccurate information.” As the time is critical in this scenario, it is vital toenable the seamless application execution for such real life problems.The seamless application execution timely empowers the rescue teamby reducing the delay in constructing the maps of the demolished area.

However, there are a number of challenges involved in realizingthe seamless application execution in this scenario. The devicediscovery to form mobile ad-hoc cloud is the main challenge torealize the seamless application execution. The application parti-tioning, task scheduling, offloading of application, authentication,authorization, and ensuring privacy of personal data on mobiledevice are other common challenges in realizing the seamlessapplication execution.

4. Research method

We have conducted a systematic review to execute in-depthunbiased literature survey on the cloud-based mobile applicationexecution frameworks to investigate their suitability for the seamlessapplication execution in MCC. The objective of this study is to identifythe seamless application execution enabling approaches employed

Fig. 1. Flowchart of cloud-based mobile application execution in the MCC.

E. Ahmed et al. / Journal of Network and Computer Applications 52 (2015) 154–172 157

Page 5: Journal of Network and Computer Applicationscloudbus.cis.unimelb.edu.au/~raj/papers/mcc-jnca2015.pdfReview Seamless application execution in mobile cloud computing: Motivation, taxonomy,

by the application execution frameworks in MCC. Moreover, thepurpose of the study is to identify principles for seamless applicationexecution and find the open research challenges in attaining theseamless application execution in MCC.

The criteria used to find and consider the research articles arebased on the following factors: (a) source of study must have websearch mechanism, (b) complete research articles must be acces-sible for download using contracts between our university and thedigital library, (c) importance of sources, and (d) relevance ofsources. We have used the following digital libraries for searchingthe articles: (a) ACM digital library, (b) IEEE Xplore digital library,(c) ScienceDirect, (d) Springer, and (e) simple browsing throughgoogle search engine. We have only considered the researcharticles that cover the application execution in MCC. We haveexcluded the following types of articles: (a) studies that do nothave the full text available, (b) repeated studies that are publishedin more than one source, (c) talks, demonstrations, or shortpapers. Tables 2 and 3 present the number of studies per articletype and per source type, respectively.

5. State-of-the-art cloud-based mobile application executionframeworks

In this section, we provide a comprehensive survey of the state-of-the-art CMAEFs, analyze them with respect to seamless appli-cation execution, and highlight the critical aspects and implica-tions in context of the seamless execution. The state-of-the-artCMAEFs are classified into three main categories based on thedeployment platform, namely cloud-based frameworks, cloudlet-based frameworks, and hybrid.

5.1. Cloud-based frameworks

The mobile device that uses the remote cloud to augmentresources acts as a thin client while connecting through any of thewireless technologies to a remote cloud server (Zhang et al., 2010), asshown in Fig. 2. The cloud-based frameworks enjoy a diverse range ofavailable services in the cloud, high computational power, lowcomputation latency, and the on-demand availability of resources(Abolfazli et al., 2014). The application that leverages on the cloud isrequired to exchange the data between two ends, the mobile deviceand the cloud, using the wireless Internet resources, such as backbonewireless networks. The communication across the Internet is affectedbecause of the high WAN latency, interoperability among the under-lying different networking technologies, non-guaranteed bandwidthreservation, bursty losses and excessive delay due to congestion, andnon-deterministic traffic load along the path. The increase in themobile communication traffic in the wireless backbone network may

cause congestion that increases the data transfer time from a mobiledevice to the cloud and vice versa. Besides, in the current mobilenetwork topologies, the backbone links are not always accessible insome scenarios, such as during disasters and rescue missions(Mehendale et al., 2011). The use of congested backbone links andnon-guaranteed access to these backbone networks increase theprobability of disruption during the access of services provided bythe remote cloud.

We discuss some of the credible remote cloud-based executionframeworks that leverage on the remote cloud resources toaugment the mobile device resources as follows.

Zhang et al. propose an elastic application framework (Zhang etal., 2010) to enable the use of remote cloud resources in seamlessmanner. The framework provides optimal elasticity by incorporat-ing multiple factors, such as the availability of mobile devices andthe cloud resources, user preferences, and the application perfor-mance measures. The proposed framework partitions the applica-tion into multiple components called weblets. The distinctiveattribute of the framework is that the elastic partition componentsare replicated across multiple cloud servers that enhance avail-ability and reliability. The model supports dynamic partitioningand transparent execution.

Yang et al. propose a data stream application partitioningframework (Yang et al., 2012) that aims to maximize the speedand throughput. The framework consists of modules running onboth (mobile device and the cloud server) sides. Every mobileapplication in the framework has an application master on thecloud side. The application master performs two responsibilities;one is to find an optimal partition and to make the partitioningadaptive, and the other is the coordination of the distributedexecution. The mobile device runs a profiler to measure, and tocontinuously monitor the device and network parameters.Although the framework supports multi-tenancy and providesscalable, adaptive, and dynamic partitioning, the proposed frame-work requires synchronization among different master nodes,which is challenging across the Internet and also results in highdata exchange; thereby, inducing delay during the execution.

Kosta et al. propose ThinkAir (Kosta et al., 2012), a dynamic andadaptive framework that exploits multiple mobile device virtualiza-tion to simultaneously execute multiple offloaded methods to reducethe application execution time. The ThinkAir supports six types ofVMs with different CPU, memory, and heap configurations. Thedefault server is called the primary server that always stays onlineand the rest of the servers are secondary servers. As the userrequirements vary according to the type of application, various VMsare allocated to different user demands. The ThinkAir offloadingdecision is complex due to the intensive profiling mechanism. More-over, the Android versions are required to be installed in the cloud.Therefore, the complex offloading decision and the platform depen-dencies deteriorate the seamless application execution.

Chun et al. present CloneCloud (Chun et al., 2011) that supportsa flexible application partitioner to empower the unmodifiedmobile applications to seamlessly offload the compute-intensivepartitions to the trusted remote cloud. The system supportsdynamic profiling and static analysis to partition the mobileapplication. The main goal of the partitioning is to optimize theenergy usage and the execution time. Unlike its counterparts, theCloneCloud partitions the application at thread level. Although the

Table 3Number of studies per source type.

Source type ScienceDirect Springer ACM DigitalLibrary

IEEEXplorer

Number ofstudies

3 5 6 8

Table 2Number of studies per article type.

Article type Journals Conferences Magazines Book chapters Workshop Symposium PhD thesis

Number of studies 4 12 1 3 3 1 1

E. Ahmed et al. / Journal of Network and Computer Applications 52 (2015) 154–172158

Page 6: Journal of Network and Computer Applicationscloudbus.cis.unimelb.edu.au/~raj/papers/mcc-jnca2015.pdfReview Seamless application execution in mobile cloud computing: Motivation, taxonomy,

CloneCloud provides the dynamic automatic application partition-ing and user-transparent clone migration, CloneCloud needs instal-lation of compatible clone VM along with the application onCloneCloud. The requirements of compatible clone VM and theapplication installation obstruct the seamless application execu-tion, if the clone VM and the required application are not alreadyinstalled.

A cloud-based mobile application execution framework is pro-posed in Hung et al. (2011). For migrating an application, theframework first pauses the application on the mobile device, sendsthe saved state data files by the application to the cloud, andfinally resumes the application execution in cloud server. To avoidthe loss of input data, application replay technique is integratedwith a state-saving scheme. The framework does not demand anapplication redesign; however, the application level state savingapproach and the data categorizations are added to prioritize thedata synchronization. Unlike the traditional VM-based applicationmigration, the proposed framework only requires the transfer ofthe application saved states instead of the states of the entire VM.Although the framework reduces the amount of data transfer, itstill faces the delay induced by the run-time agent programinstallation, VM creation, and states migration that hinders therealization of seamless application execution for the MCC.

Verbelen et al. propose a dynamic deployment and quality adapta-tion framework (Verbelen et al., 2011) that selects the configurationwith the best quality considering the current connectivity andavailable resources. The main unit of deployment in the proposedframework is a bundle. For each bundle, the framework providesmultiple configurations with different levels of resources demandsand offers various quality levels. Although the framework can adaptaccording to the available resources and has an ability to makedecisions at run-time in response to the varying available resources,the framework requires synchronization of data on the mobile deviceand the cloud server. The synchronization generates significantamount of traffic and requires processing at both ends.

A replicated application execution framework for applicationexecution is presented in Lee (2012) where the application isreplicated either partially or fully in the cloud. The offloadingdecisioning is performed on the cloud server. The frameworkfrequently exchanges control and context information with thecloud data center to execute the complex offloading decisionalgorithm. Therefore, the solution is not scalable for highlydynamic workload environments and network conditions as theframework frequently exchanges the context information. Syn-chronization and data consistency among different nodes are thebig challenges for the framework. Moreover, the framework doesnot focus on optimizing the execution time that is necessary forthe seamless application execution in the MCC.

Verbelen et al. introduce AIOLOS (Verbelen et al., 2012a), anadaptive offloading decision engine that dynamically considers theavailable resources of the server and varying network conditionsin the offloading decision. The framework selects the execution

location of the application partition by identifying the estimatedexecution time for each of the method call, considering argumentsize, at both the mobile device and the remote cloud server. Asidefrom that, the adaptive offloading algorithm and bundle integra-tion are compute- and energy-intensive. All of these limitationsdemand reconsidering the framework design to support theseamless application execution.

A middleware framework, Calling the Cloud, is presented inGiurgiu et al. (2009) that automatically and dynamically partitionsand offloads various parts of an application to the cloud. Theframework aims to minimize the interaction latency between themobile device and the cloud server, while taking care of theexchanged data overhead. The framework uses two differentalgorithms, namely ALL and K-step where the problem is formu-lated as static and dynamic optimization problem, respectively. Instatic partitioning, the partitioning is performed in the offlinemode without incorporating the network conditions of the mobiledevice. In the dynamic partitioning, the partitioning is computedin run-time when the connection between the mobile device andthe remote cloud server is established.

Coalesced offloading framework is proposed in Xiang et al.(2014) that saves additional energy by leveraging the property ofmultiple applications to bundle their code offload requests. Bysending code offloading requests in a bundle, the period of timefor which the network interface remains in high power state isreduced; thereby, saving mobile device energy. The problem ofcoalesced offloading is formulated as a joint optimization problemwith the objective to minimize the response time and energy cost.Although the middleware framework reduces the interactionlatency, other elements, such as consumption graph modeling,optimal cut finding algorithm, two-step dynamic partitioninganalysis, and intensive profiling consume computational resourcesof the mobile device. Therefore, the compute-intensive nature ofthe framework increases the overall application execution timethat impedes the vision of realizing the seamless applicationexecution.

5.2. Cloudlet-based frameworks

Cloudlet is a local cloud platform that is deployed on a resource-rich device, such asWLAN server, or on a group of mobile devices. Thecloudlet mitigates the issues of accessing the remote cloud, such asWAN latency, jitter, packet losses, and failure, by offloading the mobileclient workload to nearby available devices using the WLAN technol-ogy (Satyanarayanan et al., 2009). The cloudlet-based frameworksaim to mitigate the communication overhead compared to thecellular networking technology that is used to access the remotecloud. However, the work presented in Zhao et al. (2012) uses thecellular networking technology to utilize the local resources. Thecloudlet-based solutions can be classified into two types according tothe deployment location: server-based cloudlet and mobile ad-hoccloudlet. The cloudlet-based frameworks do not require the Internet

Fig. 2. Cloud-based MCC environment.

E. Ahmed et al. / Journal of Network and Computer Applications 52 (2015) 154–172 159

Page 7: Journal of Network and Computer Applicationscloudbus.cis.unimelb.edu.au/~raj/papers/mcc-jnca2015.pdfReview Seamless application execution in mobile cloud computing: Motivation, taxonomy,

connectivity to access and to utilize the cloudlet resources. Figure 3(a) and (b) shows the server-based cloudlets and mobile ad-hoccloudlets, respectively.

5.2.1. Server-based cloudletIn the server-based cloudlet, the cloudlet is deployed on a local

server in the WLAN or in the TSP network that can be accessedthrough the WLAN technologies or the cellular wireless accesstechnologies. Figure 3(a) illustrates the server-based cloudlet. Theserver performs management, resource monitoring, and taskscheduling. Moreover, the server is considered as a secure andtrustful resource-rich device. Although the server-based cloudletframework reduces the response time of the application executionin the MCC by mitigating the WAN latency, the frameworks sufferfrom the compute-intensive and delay-inducing processes ofcloudlet discovery, VM creation and deployment, applicationpartitioning, offloading, authentication, and authorization. Thelocal network service provider also hesitates in deploying thecloudlet and providing access to outside users for accessing theprivate networks. There is a need to provide incentives, such ascharge per-resource-usage, to provoke the local network serviceproviders to allow the outside users for accessing and utilizing thenetwork resources. Security and authorization of local networkresources are the big challenges in cloudlet deployment to preventoutside users from accessing the private resources. We reviewsome of the most credible approaches that are proposed based onserver-based cloudlets as follows.

A design of a cloudlet-based network and an adaptive decision-based service architecture are presented in Fesehaye et al. (2012).The cloudlet-based network consists of the cloudlets server andmobile nodes affiliated with the closer cloudlet. The mobile nodeswithin the network can communicate with the server and withother mobile nodes in the network using the wireless links. Twonew routing algorithms are proposed following the centralizedand distributed approaches. In the centralized routing algorithm,each of the cloudlet sends the attached mobile node's ID alongwith its own ID to a centralized server. The centralized servercomputes the route and sends back to the routers. In thedistributed routing algorithm, the routing is performed distribu-tively by the cloudlets using the local information. Although thecloudlet-based approach outperforms the cloud-based approach, itstill suffers from the initial delays due to service discovery,authentication of mobile users, and joining process.

Mirror server-based framework is proposed in Zhao et al. (2012)that maintains the VM template for each of the mobile deviceinside the telecommunication network computing infrastructure.The framework feasibility is tested by designing a protocol,performing scalability test, and developing synchronization meth-ods. In the framework, some workload of the mobile device is

shifted to its mirror on the cloud server. Cloud server can hosthundreds of mirrors that are implemented as VMs. The frameworkprovides loose synchronization between the mobile device and themirror server, such that the server replays the input to the mobiledevice on its mirror in the same order. The framework has highsynchronization overhead that consumes network bandwidth. Thevirtual machine instance creation and mobile device mirrordeployment induce the delay before the actual application execu-tion starts.

The XMPP-based mobile cloud middleware is presented inKovachev et al. (2012a) that provides dynamic application parti-tioning and adaptive offloading to the nearby resource-richdevices. The offloading decision is based on a context-aware costmodel. The XMPP-based protocol attains a real-time messaging byreducing the network latency. Moreover, the optimization model issupported with a lightweight, efficient, and predictive decisionalgorithm. The prediction algorithm runs on the device; whereasthe optimization model executes on the cloudlet server. Althoughthe approach provides a lightweight offloading mechanism interms of computation, the middleware must exchange a numberof control messages especially when the mobile device and net-work conditions are highly dynamic.

An augmented smartphone application offloading architecture isproposed in Chun and Maniatis (2009) that uses loosely synchro-nized virtualized mobile replicas in the cloud. The architecturereduces the bandwidth consumption by leveraging the incremen-tal checkpointing system replication. Although the framework islightweight due to smaller size of the transferred data and lessersynchronization overhead, there exist incompatibility issues thatarise, if clone VM is not already installed. The mobile cloneinstance migration arises concerns and issues related to privacy,access control, security, VM deployment, and management.

A fine-grained dynamic cloudlet approach is proposed inVerbelen et al. (2012b) that deploys a cloudlet on any device inlocal area network with sufficient available resources. The unit ofdeployment is a component. The dynamic cloudlet eliminates thefollowing drawbacks of the static cloudlet: (a) service providersrequire deploying a cloudlet infrastructure in local area network.To alleviate such a constraint, a dynamic cloudlet approach isintroduced. All of the devices share resources in a dynamicfashion. (b) As a unit of distribution, the VM-based cloudlet usesa coarse granular approach of VM distribution. Although thedynamic cloudlet overcomes the limitations of static cloudlet,there exist challenges of optimal tasks mapping that are criticalfor the seamless application execution.

COMET (Gordon et al., 2012) is proposed to transparentlymigrate the multi-threaded applications to the locally availableservers. COMET incorporates the workload of machines in thedecision making process of threads migration. Moreover, COMETleverages on the distributed shared memory techniques, such as

Fig. 3. Cloudlet-based MCC environment. (a) Server-based cloudlet, (b) mobile ad-hoc cloudlet.

E. Ahmed et al. / Journal of Network and Computer Applications 52 (2015) 154–172160

Page 8: Journal of Network and Computer Applicationscloudbus.cis.unimelb.edu.au/~raj/papers/mcc-jnca2015.pdfReview Seamless application execution in mobile cloud computing: Motivation, taxonomy,

field level granularity, to attain the consistency across the endsystems; thereby, enabling the migration of any number ofthreads. Although the COMET transparently migrates the code tothe cloud, the framework imposes the synchronization overheadacross the endpoints.

5.2.2. Mobile ad-hoc cloudletThe mobile ad-hoc cloudlet (Huerta-Canepa and Lee, 2010) is a

group of mobile devices that shares resources with each other in thelocal vicinity to reduce the resource limitations of individual devices.Figure 3(b) illustrates the mobile ad-hoc cloudlet. The mobile ad-hoccloudlet is an alternative solution to the server-based cloudlet thatmitigates several WAN bottlenecks, such as low throughput andlonger delay. The mobile ad-hoc cloudlet provides the resources tomobile devices when either no or weak wireless Internet connec-tions are available to the cloud or the device is unable to find thenearby available resources (Huerta-Canepa and Lee, 2010). In themobile ad-hoc cloudlet, the mobile devices have to perform man-agement functions, authentication, resource monitoring, and taskscheduling by themselves in a distributed manner that consumesmobile device energy and processor cycles. Herein, we review thesome of the credible frameworks that are proposed based on themobile ad-hoc cloudlet.

A virtual mobile cloud computing framework for mobile ad-hoccloud is presented in Huerta-Canepa and Lee (2010). The frame-work enables a mobile device to discover other mobile devices inthe local vicinity that are in a stable mode. After discovery of themobile devices, the target resource provider is changed to a virtualcloud that is formed on the fly. Each of the mobile device isrequired to detect the neighbours and keep the profile updated.Moreover, the neighbour discovery is a time-intensive process thatinduces the delay before the actual execution starts.

Koukoumidis et al. propose a pocket cloudlet architecture(Koukoumidis et al., 2012) that leverages the large availablememory capacity of the mobile devices to alleviate the latencyand energy issues in accessing the distant cloud services. Thearchitecture uses both the community access models and thepersonal access model to maximize the hit rate of user queries;thereby, minimizing the overall service latency and energy con-sumption. Considering the storage potential of a mobile device,either partial or full cloud services can be migrated to an actualmobile device; thereby, transforming a mobile device into a pocketcloudlet. The provisioning of a mobile device's storage as a serviceto other mobile users requires effective authorizing and dataintegrity mechanisms to protect the mobile data from unauthor-ized access. However, the pocket cloudlet framework does notaddress the above mentioned issues.

5.3. Hybrid frameworks

Some of the existing frameworks (e.g. Satyanarayanan et al.,2009; Goyal and Carter, 2004; Kovachev et al., 2012b; Cuervo et al.,2010; Marinelli, 2009) leverage on the hybrid platforms availablein different clouds. The hybrid frameworks overcome the limita-tions of both types of clouds. Accessing the remote cloud resourcesand services arises a number of issues, such as WAN delays, jitter,congestion, and failures (Satyanarayanan et al., 2009). On the otherhand, the cloudlets have limited resources that cannot scale wellwith the increasing load of the users within the cloudlet network.

The hybrid frameworks leverage on the nearby availablecloudlet that is deployed either on a group of mobile devices oron a server within the WLAN/TSP network. The support of hybridplatform provides the flexibility to the CMAEFs to run time-criticalcomponents of application on the nearby low-latency cloudletand delay-tolerant components of an application on the remote

high-latency cloud servers. Figure 4 illustrates the executionenvironment of hybrid CMAEFs. We discuss some of the hybridframeworks that leverages on the multiple available cloud plat-forms to augment the mobile resources as follows.

Satyanarayana et al. introduce the concept of VM-based cloudletto leverage on a cloud computing platform that is free of WANdelays, jitter, congestion, and failures (Satyanarayanan et al.,2009). In case of the unavailability of a nearby cloudlet, the mobileapplications run either on remote cloud resources or locally onmobile device. The authors employ a dynamic VM synthesisapproach for migrating an application. In the approach, a mobiledevice sends a small VM overlay to the cloudlet that already has abase VM from which the overlay VM was derived. Thereafter, thecloudlet infrastructure derives the launch VM by applying overlayto the base VM. The cloudlet-based approach reduces high WANlatency, transparently executes the application, and generatesrelatively less amount of traffic. However, the VM synthesis takesa significant amount of time to be initiated and executed thatimpedes the vision of realizing the seamless application execution.Moreover, the VM migration also raises issues related to securityand privacy (Satyanarayanan et al., 2009).

Kovachev et al. propose Mobile Augmentation Cloud Services(MACS) (Kovachev et al., 2012b) an adaptive middleware frame-work that provides lightweight application partitioning, seamlesscomputational offloading, and resource monitoring. MACS enablesmobile applications to take benefit from the seamless computa-tional offloading into a remote or nearby cloud. The developers donot need to change the application model to run an applicationin the cloud. The partitioning decision is transformed into anoptimization problem that is solved by a solver to dynamicallypartition the application. The MACS requires a strong developersupport for structuring the code in a model. Despite lightweightapplication partitioning and seamless computational offloading,an additional layer of proxy service in MACS adds more delay inthe application execution.

A lightweight cyber foraging framework is devised in Goyal andCarter (2004) for mobile and embedded resource constraineddevices that employs lightweight discovery protocol to discoverpotential surrogates. The proposed framework follows a client/server architecture that enables the mobile devices to offload thecompute-intensive tasks on the surrogate server to utilize thecomputational resources of the server. Each migrated applicationruns on isolated virtual server. The cryptographic measures areemployed by the framework to ensure the secure communicationbetween mobile device and surrogate server. The framework useslow overhead client side authentication and ciphers. However, due

Fig. 4. Hybrid MCC environment.

E. Ahmed et al. / Journal of Network and Computer Applications 52 (2015) 154–172 161

Page 9: Journal of Network and Computer Applicationscloudbus.cis.unimelb.edu.au/~raj/papers/mcc-jnca2015.pdfReview Seamless application execution in mobile cloud computing: Motivation, taxonomy,

to the time consuming VM mechanisms, the solution is unfavor-able for the seamless execution of an application in the MCC.

Cuervo et al. propose MAUI (Cuervo et al., 2010) as an energy-aware fine grained, method level mobile application offloadingmechanism that supports a semi-dynamic partitioning; wherein,programmers annotate an application with a considerably lesseffort. The profiler component of the MAUI assesses a method oncall time for energy saving; whereas, the solver component takesthe decision of migrating the method based on the input from theMAUI profiler. MAUI employs a time-out mechanism to detect thefailures in connection with the server. Although MAUI significantlyimproves the battery life of a mobile device, it does not addressscalability, QoS, and transmission latency.

Marinelli et al. design a Hyrax-based platform in Marinelli(2009) to provide cloud computing services on a group of mobiledevices and servers. The platform employs a mechanism fortolerating node departure. Hyrax is developed by extending theHadoop (White, 2012) framework for Android mobile device. Theplatform relies on a centralized server and a group of mobiledevices. The discovery of a centralized server, access, and connec-tion establishment among the servers is a time-intensive task thatinduces the delay before executing the actual application.

A decentralized computation offloading game (Chen, 2014) isdesigned to model the offloading decision making problem amongmobile users. The game considers both computation and commu-nication cost of MCC. The authors have analyzed the computationoffloading game in two types of wireless access scenarios: homo-geneous and heterogeneous. In homogeneous scenario, the exis-tence of Nash equilibrium is guaranteed by admitting thebeneficial cloud computing group structure. In heterogeneousscenario, the existence of Nash equilibrium is guaranteed byadmitting the finite improvement property. Although the solutionreduces the controlling and signaling overhead of the cloud,structuring a game such that an equilibrium is always reachableis difficult.

A semi-Markovian decision process-based offloading frameworkto solve the optimal application management problem in MCC ispresented in Chen et al. (2013). The execution is either performedlocally or remotely on a cloud server. The local processing unit candynamically adjust the processing speed and power consumptionof the processing unit by employing dynamic voltage and fre-quency scaling (DVFS). Moreover, the transmitter can adaptivelyselect the most appropriate modulation scheme and bit rate foroffloading request considering the channel capacity, the number ofwaiting requests, and server congestion levels. A semi-Markovdecision process is used to model the mobile device where actionsare decision pairs (bit rate, DVFS level) for the transmitter and thelocal processor in the mobile device. The identification of optimaltransmission scheme, offloading rate, and optimal DVFS policyneeds continuous monitoring of the running environment.

From the comprehensive survey of state-of-the-art CMAEFs, wehave identified a number of seamless application execution enablingapproaches employed by the frameworks to improve the responsetime of the application within the MCC environment. We classify theseamless application execution enabling approaches according to thecorresponding implementation locations. The taxonomy of theseapproaches is presented in next section.

6. Seamless application execution enabling approachesemployed by CMAEFs

This section presents the thematic taxonomy of seamlessapplication execution enabling approaches employed by the cur-rent CMAEFs for the MCC. The thematic taxonomy is beneficial formobile cloud application developers and cloud service providers

to employ the approaches that can reduce delays when developingapplications or providing services; thereby, increasing QoS formobile cloud users. The taxonomy is an outcome of a comprehen-sive survey of the state-of-the-art CMAEFs presented in Section 5.This section also investigates the advantages and disadvantages ofseamless application execution enabling approaches. The stre-ngths and weaknesses of state-of-the-art CMAEFs with respectto seamless application execution are also presented.

6.1. Thematic taxonomy of seamless enabling approaches and theCMAEFs comparison

Figure 5 shows the thematic taxonomy of the seamless applica-tion execution enabling approaches employed by the CMAEFs forthe MCC. The approaches are categorized based on implementa-tion locations into four classes, namely mobile-centric, cloud-centric, network-centric, and a hybrid approaches.

6.1.1. Cloud-centric approachesCloud-centric approaches are implemented in the cloud to enable

the seamless application execution. Cloud-centric approaches arecaching (Zhao et al., 2012; Kovachev et al., 2012b; Satyanarayananet al., 2009; Fesehaye et al., 2012; Goyal and Carter, 2004), mirroring(Zhao et al., 2012), parallel execution (Kosta et al., 2012), pre-installations (Goyal and Carter, 2004), and deploying cloudlets(Verbelen et al., 2012b; Marinelli, 2009; Fesehaye et al., 2012;Satyanarayanan et al., 2009; Huerta-Canepa and Lee, 2010).

Caching: Caching enables the framework to store the remotedata locally to cope with longer WAN delays. Data is cached locallybased on the user requests that reduces the access latency for lateruse. Caching is further classified into four classes according to thecontents, namely software package caching (Goyal and Carter,2004), service code caching (Kovachev et al., 2012b), VM synthesiscaching (Satyanarayanan et al., 2009), and data caching (Fesehayeet al., 2012). Software package caching approach employs cachingto store software packages. Such an approach allows the trusteduser to install packages directly without facing any downloaddelay. Service code caching approach is used to store the servicecode (jar files) when client sends data to the cloud for the veryfirst time. The VM synthesis caching approach is used as a pre-fetching technique to reduce the VM synthesis delay by eithercaching the VM overlay or caching the VM launch for future use.Lastly, the data caching approach temporarily stores the data suchas video streams on the local cloudlet. Thereafter, the cloudletsends the cached data to the subsequent mobile users on theirrequests. The caching of data on the local cloudlet reduces thelatency involved in video streaming.

The caching of contents on local servers reduces the WANlatency; thereby, minimizing data access delay. The cachingintegration with pre-fetching in the VM synthesis process reducesthe VM synthesis delay. Moreover, the caching also lessens thenetwork redundant traffic. In spite of the aforementioned advan-tages, the caching increases the storage overheads and cost in thecloud. Moreover, the cached data can be outdated for the user.

Mirroring: Mirroring is another cloud-centric approach employedto attain the seamless execution of an application within the MCC.The framework presented in Zhao et al. (2012) employs the mirror-ing approach to reduce the delay by caching at the mirror fordownloading and uploading. When a mobile device downloads abulk of data from the Internet, a mirror server first caches the dataand then the mobile device can download the data from the mirrorcache. Similarly, to upload data, the mobile device merely sends acommand to the mirror server that replays the command with thedata. Even for multiple receivers, a mobile device need only to senda command just for a single time. The performance of application

E. Ahmed et al. / Journal of Network and Computer Applications 52 (2015) 154–172162

Page 10: Journal of Network and Computer Applicationscloudbus.cis.unimelb.edu.au/~raj/papers/mcc-jnca2015.pdfReview Seamless application execution in mobile cloud computing: Motivation, taxonomy,

can also be improved by deploying a mirror in the nearby TSPnetwork.

The mirror deployment reduces the operational overhead of amobile device by transmitting only commands of operations frommobile device; actual operations on data are performed on themirror server. The mirror-based frameworks alleviate the redun-dant traffic in the network. Moreover, mirror server minimizes thedata access latency by caching the data on the server for subse-quent users; thereby, optimizing the response time of applications.However, the mirroring approach increases storage cost at cloud.The mirror server requires management for updates, upgrades,new versions, and bug fixes. Furthermore, the mirror-based frame-works require synchronization between the mobile device and themirror server.

Parallel execution: Parallel execution is employed to minimize theapplication execution time in the cloud data center. We classify theparallel execution approach into two classes. One uses multiple VMs ona single cloud server and the other performs parallel execution onmultiple servers. Using multiple VMs on a single server reduces theserver identification and selection time; whereas, the VM deploymenton multiple servers mandates the identification of multiple servers andto send two distinct requests to each server. Using the VM on multipleservers increases the network overhead and operational complexity. Aframework proposed in Kosta et al. (2012) uses the aforementionedapproaches to improve the seamless execution of an application. Elasticmobile applications (Zhang et al., 2010) leverage on parallel processingin cloud to improve the response time and load balancing by deployingweblets on multiple servers within the cloud.

The parallel execution reduces application execution time incloud and facilitates in load balancing. The parallel executionsupport makes the framework highly scalable. However, theparallel execution consumes more power and requires morehardware. Moreover, the parallel execution mandates the identi-fication of interdependency among tasks to avoid deadlocks.

Pre-installations: Pre-installation reduces the initiation and pre-paration delay of remote application execution by providing access tothe already installed software packages. The pre-installations areclassified into two categories. One category facilitates the mobile userby installing root partitioned images with the necessary applications,system boot-up scripts, and essential software packages on the cloudserver. The researchers in Goyal and Carter (2004) encourage theusage of already installed applications, system boot-up scripts, andsoftware packages to reduce the pre-execution delay. The other

category provides a pre-installed run-time environment (Lee, 2012)that facilitates in the deployment of mobile applications into thecloud to reduce the remote application execution initialization delay.

The pre-installation of applications minimizes run-time trans-mission of data by eliminating the need of migrating the applica-tion from the mobile device to the cloud server. However, the pre-installation increases the resource consumption cost in the cloud ifthe applications and software packages are not frequently used.The pre-installation also increases the cloud service provider'sservices maintenance overhead.

Deploying cloudlets: Deployment of cloudlets enables the seamlessapplication execution by exploiting the capabilities of trusted resource-rich local system either in the WLAN or in the TSP's network. Weclassify these cloudlets based on the deployment structure into threesubclasses: (a) infrastructure-based/ static/server-based cloudlet,(b) infrastructure-less/mobile ad-hoc cloudlet, and (c) virtualized infra-structure-based/elastic cloudlet. Satyanarayanan et al. (2009) presentan infrastructure-based cloudlet that is deployed on the local server inthe WLAN. Infrastructure-less or mobile ad-hoc cloudlet is proposed inHuerta-Canepa and Lee (2010) that does not require any local server forthe deployment of cloudlet while all of the mobile devices withsufficient idle resources form a mobile ad-hoc cloudlet. An elasticcloudlet is presented in Verbelen et al. (2012b), in which a componentlevel application migration is performed instead of a whole VMmigration. The approach provides flexible allocation of resources andfacilitates in prioritizing the deployment of real-time components of anapplication in the cloudlet; whereas, delay tolerant components areoffloaded in a remote cloud.

The cloudlet deployment closed to user reduces the WAN latencyand minimizes the data transport cost. The cloudlet-based frame-works do not need to connect to the Internet. In spite of theaforementioned advantages provided by the cloudlet, the cloudletrequires network isolation for outside users to prevent them fromaccessing the private network resources. Moreover, the practicalrealization of the cloudlet deployment requires investigation ofincentives for cloudlet service providers to deploy cloudlet. Thecloudlet deployment also requires a well-defined charging policy asper usage basis. The cloudlet service providers needmore resources intheir local networks to provide the on-demand services and resourcesto the MCC users.

Table 4 shows the comparative summary of the CMAEFs basedon the seamless application execution enabling cloud-centricapproaches.

Fig. 5. Taxonomy of seamless execution enabling approaches employed by the CMAEFs for the MCC.

E. Ahmed et al. / Journal of Network and Computer Applications 52 (2015) 154–172 163

Page 11: Journal of Network and Computer Applicationscloudbus.cis.unimelb.edu.au/~raj/papers/mcc-jnca2015.pdfReview Seamless application execution in mobile cloud computing: Motivation, taxonomy,

6.1.2. Hybrid approachesHybrid approaches are implemented on both the mobile device

and the cloud server for attaining the seamless execution ofapplications in the MCC. Hybrid approaches include provisioningof lightweight security mechanisms (Goyal and Carter, 2004),cloning (Chun and Maniatis, 2009; Chun et al., 2011; Hung et al.,2011; Satyanarayanan et al., 2009), optimizing VM migration(Hung et al., 2011; Satyanarayanan et al., 2009), pre-installationof applications that require only states to be transferred (Zhang etal., 2010), and lastly, caching and compression of the data andmetadata (Mao et al., 2011).

Lightweight security: Security is one of the main challenges thatare obstructing the major deployment of clouds. Security issues incloud are investigated in Xiao and Xiao (2013) and Khan et al. (2012)that are necessary to be resolved to rapidly increase the growth rateof the clouds. Aside from a number of security issues in the cloud,existing security mechanisms induce delay in the application execu-tion that is obstructing the aim of the seamless application execution.The computational delay of security mechanisms can be reduced bydesigning and employing lightweight security approaches. Light-weight security is classified into reputation-based trust establishment(Satyanarayanan et al., 2009), low overhead ciphers, and authentica-tion mechanisms (Goyal and Carter, 2004). The lightweightapproaches enable the seamless execution by reducing the delayinvolved in cipher execution, trust establishment, and authentication.The lightweight security mechanisms reduce the time taken byauthentication process and minimize the resources consumption.Therefore, the application response time in MCC can be reduced.However, the security of the data can be compromised because of theemployment of the lightweight security mechanisms and relying onreputation-based trust.

Cloning: The cloning improves the response time of an applica-tion by deploying the mobile device clone in the cloud. The mobiledevice clone that need to be deployed in the cloud require onlypart of the application execution to be offloaded from mobiledevice into the cloud. The pre-installed mobile device clonealleviates the overhead involved in initiation and preparation ofthe application execution. During the application execution pro-cess, the states are migrated to the mobile device clone. Theresearch works of Chun and Maniatis (2009) and Chun et al. (2011)present the CloneCloud frameworks that execute an application onthe nearby and remote servers. Moreover, an incremental check-pointing and opportunistic synchronization are used to improvethe seamless application execution in MCC. Incremental check-pointing calculates and sends the difference of two checkpoints

instead of all of the states that significantly reduces the overhead.The minimization of the amount of the state data transfer reducesthe transmission delay that ameliorates the seamless applicationexecution. The opportunistic synchronization approach synchro-nizes the state related information between the two ends so thatthe mobile device clones can be updated with low cost. Thealleviation of synchronization overhead and reduction in amountof state transferred data reduces the bandwidth consumption ofthe network, minimizes the transmission delay, and conserves thebattery power of the mobile device. The cloning minimizes theapplication initiation and preparation delay; thereby, improvingthe application overall response time. However, the mobile deviceclone deployment increases the maintenance overhead for thecloud service provider. The cloning also increases the resourceconsumption cost for the cloud service provider if the applicationsare not frequently used. Moreover, providing the clones of allavailable mobile devices is not practical solution in the MCC.

Optimizing VM migration: The VM migration incurs a significantoverhead that is investigated in Spata and Rinaudo (2011). TheVM-based frameworks employ three strategies to optimize themigration process: (a) automation of VM creation and migration(Hung et al., 2011), (b) transfer of only application specific statesinstead of the whole VM (Hung et al., 2011), and (c) the VMsynthesis (Satyanarayanan et al., 2009). The optimized migrationapproaches alleviate the delay involved in the VM creation andmigration and reduce the transfer overhead by transferring onlyapplication relevant states and by replacing the full VM migrationwith the VM synthesis that requires low bandwidth and takes lesstransmission time. However, the VM creation, migration, anddeployment in the cloud is time-intensive process. Although theVM synthesis reduces the migration overhead, the VM synthesisrequires installation of VM base in the cloud which arises thecompatibility issues.

Applications pre-installation. Elastic mobile application frame-work presented in Zhang et al. (2010) employs an approachwherein the weblets are pre-installed on the remote server, andduring the execution only states need to be transferred forexecution of an application. The pre-installations of webletsreduce data transfer size, which lessens transmission delay, lowersthe bandwidth consumption, and conserves the battery power.The application pre-installations reduce the application initiationand preparation time. However, application pre-installationincreases the maintenance overhead on cloud server provider.Moreover, the pre-installed applications consume storage even ifthe applications are not frequently used.

Table 4Comparison of CMAEFs based on seamless application execution enabling cloud-centric approaches.

Application execution frameworks Cloud usageoverhead

Deploysmirror

Pre-executiondelay

Cachingsupport

Parallel executionsupport

MAUI (Cuervo et al., 2010) High No High No NoVirtual mobile cloud computing (Huerta-Canepa and Lee,

2010)High No High No No

Secure cyber foraging (Goyal and Carter, 2004) High No Low Yes NoVM-based cloudlets (Satyanarayanan et al., 2009) Low No Medium Yes NoAugmented smartphone application (Chun and Maniatis,

2009)High No High No No

AIOLOS (Verbelen et al., 2012a) High No High Yes YesThinkAir (Kosta et al., 2012) High No High No YesCloudlets-based network (Fesehaye et al., 2012) High No High Yes NoMirror server-based framework (Zhao et al., 2012) High Yes Low Yes NoHyrax (Marinelli, 2009) High No High No NoCloudlet (Verbelen et al., 2012b) Low No Medium No NoCOMET (Gordon et al., 2012) Low No Low Yes YesPocket cloudlets (Koukoumidis et al., 2012) Low No Low Yes NoMACS (Kovachev et al., 2012b) High No High Yes No

E. Ahmed et al. / Journal of Network and Computer Applications 52 (2015) 154–172164

Page 12: Journal of Network and Computer Applicationscloudbus.cis.unimelb.edu.au/~raj/papers/mcc-jnca2015.pdfReview Seamless application execution in mobile cloud computing: Motivation, taxonomy,

Caching and compression: The data caching and compressionaid in locally caching the data and employing an adaptivecompression to reduce the amount of transferred data (Mao etal., 2011). The caching and compression approach reduces not onlythe latency but also the storage and network cost. Moreover, thecompression significantly reduces the data transfer size. However,the compression increases processing overhead on resources-constrained mobile device; thereby, consuming a significantamount of battery power.

Table 5 shows the comparative summary of CMAEFs based onthe seamless application execution enabling hybrid approaches.

6.1.3. Mobile-centric approachesIn mobile-centric approaches, the main functionality for attain-

ing the seamless application execution is implemented on themobile devices. The mobile-centric approaches consist of parti-tioning, offloading decisioning, optimizing application, pseudo-checkpointing, and fault tolerance approaches.

Partitioning: Partitioning is performed in three ways, static (Chunet al., 2011), dynamic (Chun and Maniatis, 2010; Lee, 2012; Kovachevet al., 2012a,b; Zhang et al., 2010; Yang et al., 2012; Kosta et al., 2012;Verbelen et al., 2011, 2012a) and semi-dynamic (Giurgiu et al., 2009;Chun and Maniatis, 2009; Cuervo et al., 2010). The static partitioningrequires developer support to annotate the remotely executablemethods. Therefore, the static partitioning does not incorporate theconditions of the run-time environment during the partitioningdecision. However, in the dynamic partitioning, a dynamic andadaptive decision engine takes the context information as input,computes partitions, and adapts according to the new partitioningresults. Although the static partitioning performs lesser run-timecomputations, the static partitioning approach does not optimallypartition the application. The semi-dynamic partitioning takes theadvantages of both static and dynamic partitioning. The semi-dynamic partitioning performs static annotation to reduce the run-time computations and also incorporates the dynamic environmentparameters for run-time partitioning. The lightweight applicationpartitioning is vital for seamless application execution in the MCCthat alleviates the complexity of migration process (Ahmed et al.,2015b; Liu et al., 2015). The lightweight partitioning approachesemployed by the CMAEFs are reported in Chun and Maniatis (2010)and Kovachev et al. (2012b). The proposed approach in Chun andManiatis (2010) employs a model that predicts the costs of differentpartitions. Thereafter, a simple approximate optimizer quickly solvesthe partitioning problem based on predicted costs. The authorstransformed an ILP problem into an LP problem to attain speed upover the cost of accuracy. The lightweight application partitioningenhances the seamless execution by reducing the complexity of theproblem and performs a quick partitioning. The lightweight partition-ing reduces consumption of mobile device battery power. The staticpartitioning does not require the profiling so it is relatively lesscomplex in nature. On the other hand, the dynamic partitioningincorporates the dynamic conditions of the mobile device andnetwork for partitioning, so performs optimal decision. Moreover,

the dynamic partitioning suffers with the complexity of profiling.Similar to static partitioning, semi-dynamic partitioning is less com-plex, however, the semi-dynamic partitioning also incorporates thedynamic conditions of the environment.

Offloading decisioning: An offloading decision algorithm isrequired to be lightweight with an objective function of minimizingthe response time of an application in the MCC. The researchers inKovachev et al. (2012a,b) proposed an offloading middleware thatincorporates network latency in the offloading decision with theobjective of optimizing the overall application execution time. TheXMPP-based middleware (Kovachev et al., 2012a) reduces the off-loading overhead by sharing the cloudlet-provided VM for all of theattached mobile users. The offloading decision algorithms aim tooptimize the execution cost (Chun and Maniatis, 2010), to minimizethe energy consumption (Cuervo et al., 2010), to reduce the executiontime (Kosta et al., 2012; Kovachev et al., 2012b; Giurgiu et al., 2009;Ou et al., 2007), to optimize the throughput (Yang et al., 2012), and tominimize the estimated network latency (Verbelen et al., 2012a). Suchessential objectives make the offloading mechanism favorable toexecute on a mobile device because of the cost-effective lightweightfeatures. The offloading scheme that aims to minimize the executiontime or to optimize the estimated network latency is a favorablechoice for the seamless application execution.

The incorporation of the communication latency in the off-loading objective function minimizes the application migrationtime and optimizes data transfer cost; thereby, reducing theoverall application execution cost and time. However, the run-time application offloading decision algorithms have high compu-tational complexity; thereby, consuming battery power of themobile device.

Optimizing application: Optimizing an application focuses onthe reduction in the amount of transferred data and method callsoverhead. The amount of transferred data is reduced by imple-menting incremental state deltas and fine-grained code offloadingsupport (Cuervo et al., 2010). The method call overhead is reducedby either reducing the number of method calls (Cuervo et al., 2010)or using callback functions (Verbelen et al., 2012a). The number ofmethod calls is reduced by implementing a set of similar opera-tions in a single method. The callback function consumes less CPUresources and does not exchange much data. The method calloverhead increases the delay especially if the method is calledremotely. The huge data size increases the transmission delay;thereby, increasing the overall execution time. Therefore, theapplication optimization is also an important feature in enablingthe seamless application execution in the MCC. The applicationoptimization minimizes the amount of data sent on network;thereby, reducing the network bandwidth consumption and con-serving the mobile device battery. However, optimizing theapplication design requires modification in application. Moreover,the optimization of the application requires programmer support.

Pseudo check-pointing: The pseudo-checkpointing does not needto explicitly save the states, which reduces the overall states storageand transmission overhead (Hung et al., 2011). The reduction in thestates storage and transmission overhead enables the fast transmission

Table 5Comparison of CMAEFs based on seamless application execution enabling hybrid approaches.

Application execution frameworks Security overhead Data transfer overhead VM migration overhead

COMET (Gordon et al., 2012) N/A Low LowElastic application framework (Zhang et al., 2010) High Low N/ACloneCloud (Chun et al., 2011) Medium High HighAugmented smartphone application (Chun and Maniatis, 2009) Medium High HighMobile application execution framework (Hung et al., 2011) High Medium MediumVM-based cloudlets (Satyanarayanan et al., 2009) Medium Low LowSecure cyber foraging (Goyal and Carter, 2004) Low High N/A

E. Ahmed et al. / Journal of Network and Computer Applications 52 (2015) 154–172 165

Page 13: Journal of Network and Computer Applicationscloudbus.cis.unimelb.edu.au/~raj/papers/mcc-jnca2015.pdfReview Seamless application execution in mobile cloud computing: Motivation, taxonomy,

and execution that aids in realizing the vision of the seamlessapplication execution. Pseudo-checkpointing minimizes the applicationstates storage size and transmission overhead; thereby, optimizing theconsumption of network bandwidth and mobile device battery. More-over, pseudo-checkpointing minimizes the network usage cost. In spiteof the aforementioned advantages, the pseudo-checkpointing has twolimitations: (a) requires modification in applications and (b) needsprogrammer support.

Fault tolerance approaches: Fault tolerance approaches reducethe disruption time because of either the link failures or serverfailures while an application is executed in the MCC. The frame-works that support fault tolerance can execute the applicationlocally on mobile device, when the cloud server is inaccessible.The fault tolerance approaches alleviate the disruption duringexecution and provide user transparent failure detection mechan-ism. The CMAEF supported with fault tolerance approaches grace-fully degrades the application performance. However, to providethe fault tolerance support, continuous monitoring mechanism isrequired to detect the failure. The proactive fault toleranceapproaches require more functionality; thereby, inducing highcomplexity.

Table 6 shows the comparative summary of the CMAEFs basedon the seamless application execution enabling mobile-centricapproaches.

6.1.4. Network-centric approachesThe network-centric solutions are employed in a network to

alleviate network related issues, such as high WAN latency, jitter,and packet losses, to accomplish the seamless application executionin the MCC. The network-centric solutions employ three types ofapproaches that include reducing number of hops to the cloud, usinghigh bandwidth links, and on-demand bandwidth allocation.

Reducing number of hops: The number of hops to the cloud isreduced by bringing the cloud closer to mobile user by deployingservers either in the WLAN (Fesehaye et al., 2012) or in the TSP'snetwork (Zhao et al., 2012). The reduction in the number of hopseliminates the issues of theWAN high latency, jitter, and packet lossesthat significantly improves application response time. Moreover,reducing the number of hops to the cloud minimizes the datatransport network cost. The framework does not require Internetconnection to access the cloud server if the cloud server is deployed

Table 7Comparison of CMAEFs based on the seamless application execution enabling network-centric approaches.

Application execution frameworks Reduction in number of hops Usage of high bandwidth links Guaranteed Bandwidth

COMET (Gordon et al., 2012) Yes Yes NoCloudlets (Verbelen et al., 2012b) Yes Yes NoMAUI (Cuervo et al., 2010) Yes Yes NoMirror server-based framework (Zhao et al., 2012) Yes No NoAIOLOS (Verbelen et al., 2012a) No Yes NoThinkAir (Kosta et al., 2012) No Yes NoAugmented smartphone application (Chun and Maniatis, 2009) Yes Yes NoMACS (Kovachev et al., 2012b) Yes Yes NoVirtual mobile cloud computing (Huerta-Canepa and Lee, 2010) Yes Yes NoVM-based cloudlets (Satyanarayanan et al., 2009) Yes Yes NoCloudlets-based network (Fesehaye et al., 2012) Yes Yes NoSecure cyber foraging (Goyal and Carter, 2004) Yes Yes NoHyrax (Marinelli, 2009) Yes Yes NoMobile application execution framework (Hung et al., 2011) No Yes YesPocket Cloudlets (Koukoumidis et al., 2012) Yes Yes No

Table 6Comparison of the CMAEFs based on the seamless application execution enabling mobile-centric approaches.

Application execution frameworks Partitioningtype

Partitioningoverhead

Offloadingoverhead

Method calloverhead

Data transferoverhead

Faulttolerance

Transmissiondelay

COMET (Gordon et al., 2012) N/A N/A Med. Low Low Yes LowDecentralized computation offloading dame (Chen,

2014)N/A N/A Med. N/A Low No Low

Semi-Markovian decision process-based offloading(Chen et al., 2013)

N/A N/A Med. N/A Low No Low

Coalesced offloading framework (Xiang et al., 2014) N/A N/A Low Low Low No LowReplicated application execution framework (Lee,

2012)Med. N/A High Med. No Med.

XMPP-based middleware (Kovachev et al., 2012a) High Low High High No Med.Elastic application framework (Zhang et al., 2010) High High High High Yes HighData stream application partitioning framework

(Yang et al., 2012)DyP Low High High High No High

AIOLOS (Verbelen et al., 2012a) High High Low High Yes Med.ThinkAir (Kosta et al., 2012) High High High High Yes HighDynamic deployment & quality adaptation

framework (Verbelen et al., 2011)High High High High Yes High

MACS (Kovachev et al., 2012b) Low High High Low No Med.CloneCloud (Chun et al., 2011) StP Low High High Low No LowMAUI (Cuervo et al., 2010) Med. High Low Low Yes LowCalling the cloud (Giurgiu et al., 2009) SdP Med. High High High No Med.Augmented smartphone application (Chun and

Maniatis, 2009)Med. High High Low Yes Low

Note: Med.: medium, N/A: not applicable, DyP: dynamic partitioning, StP: static partitioning, SdP: Semi-dynamic partitioning.

E. Ahmed et al. / Journal of Network and Computer Applications 52 (2015) 154–172166

Page 14: Journal of Network and Computer Applicationscloudbus.cis.unimelb.edu.au/~raj/papers/mcc-jnca2015.pdfReview Seamless application execution in mobile cloud computing: Motivation, taxonomy,

inside the local network. However, the servers in local networks arenot always accessible due to security policies. The cloud deploymentin locally available servers also requires isolation from local networksto keep the outside users away from the private resources.

Using high bandwidth links: The high bandwidth links aredeployed by using the WiFi (Fesehaye et al., 2012) and 3Gnetworks (Zhao et al., 2012) for offloading the application. Thehigh bandwidth links reduce the transmission time during theoffloading of an application in the MCC. However, the use of highbandwidth links in the cloudlet-based frameworks is more bene-ficial than the cloud-based frameworks because the path to thecloudlet has a direct link. Using the high bandwidth wirelessaccess links does not ensure that the same bandwidth will beallocated along the whole path. The path may have bottlenecklinks to the cloud. The data of cloud-based frameworks may haveto go through such bottleneck link across the Internet; thereby,reducing the overall application performance. Using the highbandwidth links provides high data transfer rate across the link.However, use of high bandwidth links increases monetary cost.

On-demand bandwidth allocation: The on-demand bandwidth isallocated to the users' traffic to ensure the bandwidth reservationaccording to the traffic requirements within the network (Hung etal., 2011). The on-demand bandwidth reservation approach helpsin ensuring the QoS for each application; therefore, it helps inrealizing the seamless application execution by providing suffi-cient bandwidth to each of the flow according to the requirements.However, on-demand bandwidth allocation requires bandwidthnegotiation with the network service provider. Moreover, theallocation of bandwidth to the network flows also requires fairnessamong the flows that requires additional functionality on thenetwork elements. Such additional functionalities increases theoverhead on the network elements.

The deployment of server in the WLAN and in TSP's networkcopes with the WAN issues, such as high latency, jitter, and packetlosses that are obstructing the realization of the seamless applica-tion execution vision in the MCC environment. The use of highbandwidth links reduces the transmission delay that also assists inachieving the objective of seamless application execution in theMCC. The on-demand allocation of bandwidth makes the execu-tion framework scalable for varying demand loads of applications.

Table 7 shows the comparative summary of the CMAEFs basedon the seamless application execution enabling network-centricapproaches.

7. Seamless application execution principles for MCC

We have identified the seamless application execution principlesfrom the literature review presented in Section 5. This is done so thatthe framework designers can have straightforward guidelines fordesigning the frameworks that can satisfy the performance metricsfor the seamless application execution in MCC. The principles forseamless application execution are classified into six main categories:optimal functionality, seamless computational resource handoff,adaptiveness, autonomy, minimal data exchange, and agile securityand privacy. Herein, we discuss each of the principles in detail.Figure 6 shows the principles for designing of seamless applicationexecution frameworks.

7.1. Optimal functionality

The optimal functionality feature of the CMAEFs ensures theoptimal design and implementation of functional properties of theframeworks. The functional attributes of the application executioncan be divided into three categories: (a) seamless cloud discoveryand service selection, (b) optimal cloud execution, and (c) optimalcomponent deployment.

7.1.1. Seamless cloud discovery and service selectionTo access and utilize the services of the cloud, a mobile device

has to discover the cloud and specify the requirements in a real-time manner before actually accessing the services (Goyal andCarter, 2004; Simanta et al., 2013). The cloud discovery and serviceselection are required to be seamless to minimize the disruptionduring the application offloading. The seamless cloud discoveryand the service selection can be attained by employing fast anduser-transparent mechanisms. However, the effective usage of thecloud services requires publishing of services from the cloudservice provider side and discovery and selection of services fromthe mobile user side. The current ways of publishing the services

Fig. 6. Principles for the seamless application execution in the MCC.

E. Ahmed et al. / Journal of Network and Computer Applications 52 (2015) 154–172 167

Page 15: Journal of Network and Computer Applicationscloudbus.cis.unimelb.edu.au/~raj/papers/mcc-jnca2015.pdfReview Seamless application execution in mobile cloud computing: Motivation, taxonomy,

are based on the stateless Web services that are complex andtime-intensive services (Wang et al., 2011). Moreover, the mobileuser with resources-constrained devices does not have sufficientcapabilities for efficient cloud discovery and automatic services'selection. Such problems hinder smooth access and usage of theservices. Seamless cloud server discovery is imperative to beattained to reduce the pre-execution delay for realizing theseamless application execution in the MCC.

7.1.2. Optimal cloud executionThe application execution in the cloud is also required to be

optimized to realize the vision of the seamless application execu-tion in the MCC (Kosta et al., 2012). The cloud-based applicationexecution requires optimizing the tasks scheduling, minimizingthe turnaround time by leveraging parallel processing support inthe cloud while satisfying the user expectations. The scheduling oftasks can be optimized either by prioritizing the tasks executionaccording to time-sensitive nature of tasks or by considering tasksheterogeneity.

7.1.3. Optimal component deploymentA cloud-based mobile application usually comprises more than

one components and the nature of the components varies basedon the functionalities and characteristics. The component of anapplication can be a user interface that is usually involved in theinput so it is required to be deployed on the mobile device(Giurgiu et al., 2009). The components of an application thatinteract with the mobile device hardware are also required torun on the mobile device so that interactivity time is reduced(Cuervo et al., 2010). The real-time compute-intensive componentsare required to be deployed in the cloudlet; whereas, non-real-time compute-intensive components are deployed in the cloud(Verbelen et al., 2012b). The components must be deployed insuch a manner that the interdependency among non-collocatedcomponents is minimized (Zhang et al., 2010). If a user hassecurity concerns about the offloading of data that is required bya component, then the component that uses the data must runonly on the device and must never be offloaded (Zhang et al.,2010). Such component deployment principles are essential to befollowed by the application and the CMAEF designers to realize thevision of the seamless application execution in the MCC.

7.2. Adaptiveness

The CMAEFs are required to be adaptive to continue theapplication method execution locally on the mobile device, ifnetwork connection is lost or the other failure occurs (Cuervo etal., 2010; Kosta et al., 2012). The frameworks must implementadequate and accurate change detection mechanism to detect thechanges in the operating environment and quality-aware oppor-tunistic response mechanisms to adapt the framework in responseto the changes in the operating environment. The adequacy and

accuracy can be ensured by employing fast, accurate, user trans-parent, and low overhead techniques for change detection. On theother hand, the quality-aware opportunistic response mechanismcan be implemented by employing non-greedy opportunistictechniques for using the available resources and by implementingpeaceful quality degradation of the execution when networkconnectivity is lost or other failure occurs.

7.3. Autonomy

The seamless application execution also requires minimalhuman interaction to access the remote services and to offloadthe application in the cloud. Automated service access is based onproviding the automated application partitioning, automated off-loading, and cloud-based automated service provisioning. All ofthe decision algorithms of partitioning, offloading, and serviceprovisioning are also required to be fast and lightweight to enablethe seamless application execution in the MCC (Lee, 2012;Kovachev et al., 2012a). The automatic application partitioningand offloading do not require any input from user for partitioningand offloading an application at run-time but takes decision bythemselves. The cloud-based automated service provisioning canbe implemented into three steps: (a) developing an applicationperformance prediction model to predict the application resourcerequirements, (b) periodically determining the future demandsand resource requirements using the prediction model to fulfil theapplication requirements, and (c) allocating resources according tothe predicted resource requirements. Despite complexitiesinvolved in all of the three phases of the automated serviceprovisioning, the automated service access process is essentialfor attaining the seamless application execution in the MCC.

7.4. Minimal data exchange

The amount of transferred data not only affects the cost andmobile battery power consumption but it also influences the timerequired by a node to transmit the data on a wireless link. Thetransmission time is directly proportional to data size and inver-sely proportional to bandwidth of the link (Tsai et al., 2010). Morespecifically, delay increases with the increase in the size of dataand decreases with the increase in the bandwidth of the link.However, there exists a trade-off between the bandwidth and cost(Akhlaghi et al., 2010). The transmission time T is computed byT¼S/B, where S is the transferred data size and B is the bandwidthof the link. The amount of data exchanged is required to beminimized to attain the seamless application execution in theMCC (Hung et al., 2011). The data can be further classified intothree categories: (a) configuration data, such as states information,(b) input data, and (c) OS image and application migration data.The amount of the configuration data transferred can be reducedby only moving the essential configuration data. The size of inputdata can be reduced by sending non-duplicated input data and the

Table 8Open challenges and guidelines to address them.

Challenges Guidelines

User-transparent cloud discovery (a) Proactive server discovery, (b) service discovery algorithms reported in Di Modica et al. (2011) and Bertolli et al. (2010) for thepeer-to-peer networks can be used in designing of user-transparent cloud discovery

Unobtrusive applicationoffloading

By designing an automated, lightweight offloading decision system with the objective to optimize the application response time

Optimal live VM migration The research efforts made by researchers in similar domain as reported in Takahashi et al. (2012) can be guidelinesSeamless computational

resources handoffThe research efforts in emerging seamless handoff and mobility management solutions in wireless networks, such as one reported inMitra (2010) can be used in designing seamless computational resources handoff mechanisms

Agile security and privacymechanism

By designing a lightweight automatically reconfigurable security mechanism similar to one as reported for 3G/4G mobile services inAl-Muhtadi et al. (2002)

E. Ahmed et al. / Journal of Network and Computer Applications 52 (2015) 154–172168

Page 16: Journal of Network and Computer Applicationscloudbus.cis.unimelb.edu.au/~raj/papers/mcc-jnca2015.pdfReview Seamless application execution in mobile cloud computing: Motivation, taxonomy,

amount of OS image and application migration data can bereduced by pre-installations.

7.5. Seamless computational resources handoff

During the execution of an application in the cloud, a mobileuser may move from one cloud to another cloud. The mobile usermay not be able to access the previous cloudlet from outside dueto the security policies implemented in the previously visitedWLAN. The delay involved in accessing the application compo-nents running in the previously visited clouldet can be relativelyhigher than that by executing the application components in thenewly visited cloudlet. This causes the triggering of the computa-tional resources handoff. The computational resources handoffoccurs when mobile user changes its application executing cloudduring the execution of an application. The application migrationcan be either for enabling access from newly visited place orsustaining the application performance. The computationalresources handoff involves two factors: (a) handoff criteria and(b) handoff process. The computational resources handoff criteriais required to be context-aware that can incorporate differences inthe charging policy, difference in the mobile device-to-cloud delay,workload, or inaccessibility of previous cloud due to securitypolicies. The seamless computational resources handoff can beattained by employing agile and user transparent mechanisms(Satyanarayanan et al., 2009).

7.6. Agile security and privacy

The security and privacy is an important concern in the MCCthat impedes the vast deployment of the clouds. The agile securityand privacy mechanisms are essential to enable the seamlessapplication execution in the distributed environment of the MCC.The agility can be attained by employing the simple, lightweight,and user-transparent techniques (Satyanarayanan et al., 2009). Theauthentication and authorization of resources must involve mini-mal user interaction to authenticate the user and to provide anaccess control.

Apart from the above-mentioned principles, the pre-executiondelay is required to be minimized by pro-actively installing the run-time environment, particularly the Java Run-time Environment (JRE)for attaining the seamless application execution in the MCC (Lee, 2012).It is also vital to be aware of the communication channel quality andprovisioning of the QoS guarantee for the smooth collaboration ofmobile devices and cloud servers (Hung et al., 2011). Based on oursurvey, we deduce that the seamless application execution realizationis solely based on attaining the non-perceivable disruption. However,the aim of attaining the non-perceivable disruption is impeded bytime-intensive cloud server discovery process (Goscinski and Brock,2010), big data transmissions (ODriscolla et al., 2013), time- andcompute-intensive application partitioning (Cuervo et al., 2010;Kovachev et al., 2012b; Zhang et al., 2010; Giurgiu et al., 2009) andoffloading process (Kovachev et al., 2012b; Verbelen et al., 2012a),complex authentication, authorization and accounting process (Tusa etal., 2011), and deteriorated by performance differences in heteroge-neous wireless communication technologies. The disruption durationin application execution can be minimized by opting the presenteddesign principles for designing of the applications and the CMAEFs.

8. Open challenges for seamless application execution in theMCC

In this section, we highlight some of the most importantchallenges in realizing the vision of the seamless applicationexecution in the MCC. The discussion on the research challenges

provides research directions to the domain researchers for furtherinvestigations and improvements in the MCC. Table 8 presents alist of open challenges and guidelines for each of the openchallenges.

8.1. User-transparent cloud discovery

A mobile device must discover the cloud to access and utilizethe services provided by the cloud service provider. Although thecloud service discovery is discussed in Goscinski and Brock (2010),no one has investigated the problem of the delay involved indiscovering and selecting the cloud services. Existing CMAEFs alsodo not fully address the problem of cloud discovery and serviceselection. The cloud discovery process is required to be crisp anduser-transparent to realize the vision of seamless applicationexecution. The user-transparency of the cloud discovery can beattained by employing automated resource specifying procedures,instantaneous resource discovery mechanisms, and the self-resource-selection process. Moreover, constricting cloud resourcediscovery delay towards crisp response time is still an unresolvedissue. The delay involved in discovering the cloud server can bereduced by pro-actively finding the server. However, the proactiveserver discovery consumes processor cycles and battery power ofmobile device and network resources if the service is not usedlater. The service discovery solutions, such as the ones reported inDi Modica et al. (2011) and Bertolli et al. (2010) for the peer-to-peer networks can be used in effective design and implementationof user-transparent cloud discovery in the MCC.

8.2. Unobtrusive application offloading

The unobtrusive offloading of application refers to the automatedlightweight offloading process with the focus on reducing the off-loading time and user inference. The operational environment in theMCC is highly dynamic in nature. The common causes are varyingconnection status, bandwidth, and attenuation distortion. Because ofdynamic environmental conditions, an unobtrusive offloading ofapplication is vital to sustain the usability of real-time applicationsand to provide the enhanced QoE to the end user.

However, the dynamic environment and run-time delay-indu-cing partitioning and offloading algorithms make it non-trivial torealize the vision of seamless application execution. The unobtru-sive offloading of applications is still an open research challengedue to the dynamic environment and complexities involved inoffloading decision making. The unobtrusiveness in offloadingprocess can be attained by employing automated, lightweightoffloading decision systems with the objective to minimize theapplication response time.

8.3. Optimal live VM migration

Optimal live VM migration between cloud-based servers is vitalin realizing the vision of seamless application execution in theMCC, considering intermittent wireless network bandwidth andmobility limitations. The problem is more critical when the mobiledevice is leveraging the local available resources. When a mobileuser moves to a place far from the offloaded application, theincrease in distance induces the latency and degrades the user'sQoE. Therefore, migrating the live VM along with the mobileservice consumer without affecting the end-user's servicebecomes vital to alleviate QoE degradation. The optimal live VMmigration can be achieved by employing automated low costmigration procedures with the objective of minimal downtime.However, the live VM migration in a seamless manner is still anopen challenge due to intrinsic limitations of wireless technologiesand huge overhead of VM migration that cause the significant

E. Ahmed et al. / Journal of Network and Computer Applications 52 (2015) 154–172 169

Page 17: Journal of Network and Computer Applicationscloudbus.cis.unimelb.edu.au/~raj/papers/mcc-jnca2015.pdfReview Seamless application execution in mobile cloud computing: Motivation, taxonomy,

delay and disruption in execution process. The optimal live VMmigration challenges can be addressed by migrating only the livestates of VM that reduces the size of data exchange at run-time.

The research efforts already done by researchers in similardomain (Takahashi et al., 2012) can be guidelines for optimizingthe live VM migration for CMAEFs in MCC. After successfulmigration and deployment of VM, it is required to ensure theuser-transparent access of migrated VM via initial IP address in thecase of VM migration to new physical machine. Further effortssimilar to Raad et al. (2013) are required to realize the vision ofseamless access to migrated VM in MCC.

8.4. Seamless computational resources handoff

Seamless computational resources handoff is an importantconcern to ensure smooth migration among varied cloud serviceswhen mobile service consumer is on the move. The unmanagedmobility in wireless environment causes communication disrup-tion when mobile device moves across two different communica-tion coverage areas (Zekri et al., 2012). In MCC, if a mobile devicemoves farther from associated cloud server, then the applicationperformance is surely degraded due to the increase in the com-munication latency. The problem is more critical when theservices are provided by local cloudlets; since the local serviceprovider do not allow the mobile user to access the local resourcesfrom outside of the network because of security reasons. Thissituation results in large number of computation resourceshandoffs.

The seamless computational resources handoff mechanisms aimto discover the available resources and migrate the application acrosstwo clouds/cloudlets in a seamless manner. The seamless computa-tional resources handoff requires user-transparent resources discov-ery, automated handoff process, and non-perceivable disruptionduring the execution.

However, the realization of the seamless computational resourceshandoff is a challenging task because of inherited limitations ofwireless technologies and limited resources of the mobile device. Theseamless computational resources handoff is an essential researchproblem that needs effective solutions for enabling the seamlessapplication execution. The research efforts in emerging seamlesshandoff and mobility management solutions in wireless networks,such as one reported in Mitra (2010) can be used in designing effectiveseamless mechanisms for computational resources handoff in MCCenvironment.

8.5. Agile security and privacy mechanisms

Security and privacy are important concerns that impedesuccessful deployment of clouds across the Internet (Khan et al.,2012). A number of frameworks emphasis the need of security andprivacy but very few of them actually implement the securitysolutions. The application execution has to ship the data frommobile device to cloud server. During the transport, the data isexposed through security breaches to intruders. To ensure thesecurity and privacy, sufficient provisions should be provided.Nevertheless, the complexity of the problem and diversity of theenvironment make the designing of reliable effective lightweightsecurity solution a challenging research perspective.

To perform the seamless application execution in the MCC,security and privacy mechanisms are required to be agile tomitigate the intolerable delay caused by security provisioning(Satyanarayanan et al., 2009). The agile security and privacymechanisms can be implemented by employing quick and cost-effective trust establishment, by designing efficient security algo-rithms, and low-overhead encryption mechanisms.

Several solutions exist to provide security, such as hardware-based secure execution and steganography (Liu et al., 2010). Thelimitations of these existing security mechanisms, such as largeencryption key size and dramatic increase in amount of data,impede the practical realization of security solutions for seamlessapplication execution in MCC. The research efforts, such as the onereported in Al-Muhtadi et al. (2002) can be used to effectivelydesign the agile security mechanisms for the MCC.

9. Conclusions

The dramatically growing cloud-based mobile applicationsexhibit the dependency of mobile user on the cloud resources toenhance the resource potential of the mobile devices. The processof augmenting the resource potential of the mobile devices byleveraging on the cloud resources is obstructed due to thecomplexities involved in the CMAEFs, intrinsic limitations of themobile devices, and wireless technologies. Such limitations makethe application execution process non-continuous and obtrusive;thereby, failing to provide the seamless experience of applicationexecution to the end-user. The seamless application execution inthe MCC is vitally important for the usability and sustainability ofreal-time applications, such as disaster recovery systems, m-heath,m-guide, and m-learning. The ultimate goal of attaining the visionof the seamless application execution is to improve the applicationperformance; thereby, providing high QoE to an end user. How-ever, several wireless communication and networking challenges,particularly interference, signal attenuation, mobility, and hand-over impede the efforts in realizing the vision of seamlessapplication execution.

In this paper, we have defined the seamless application execu-tion. We surveyed the state-of-the-art CMAEFs and identified theseamless application execution enabling approaches employed bythe CMAEFs. We also developed a taxonomy of the seamlessapplication execution enabling approaches. The thematic taxon-omy of seamless enabling approaches may help mobile cloudapplication developers and cloud service providers to leverage onthe appropriate features that mitigate communication and com-putation latencies when developing applications or providingservices to increase the QoS for mobile-cloud users. Moreover,we investigated advantages and disadvantages of the seamlessapplication execution enabling approaches and highlighted thestrengths and weaknesses of the current CMAEFs by using the-matic taxonomy of seamless application execution enablingapproaches. Furthermore, we identified the principles for design-ing the seamless application execution frameworks from thesurveyed state-of-the-art CMAEFs. The identified principles guidethe framework designers to incorporate the specific features forenabling the seamless application execution. We also discussedopen research challenges in realizing the vision of seamlessapplication execution in MCC for future research.

Acknowledgments

This work is supported in part by the Malaysian Ministry ofHigher Education, as the University of Malaya High ImpactResearch Grant (UM.C/625/1/HIR/MOE/FCSIT/03) and by the BrightSpark Unit, University of Malaya, Malaysia.

References

Abolfazli S, Sanaei Z, Ahmed E, Gani A, Buyya R. Cloud-based augmentation for mobiledevices: motivation, taxonomies, and open challenges. IEEE Commun Surv Tutor-ials 2014;16(1):337–68. http://dx.doi.org/10.1109/SURV.2013.070813.00285.

E. Ahmed et al. / Journal of Network and Computer Applications 52 (2015) 154–172170

Page 18: Journal of Network and Computer Applicationscloudbus.cis.unimelb.edu.au/~raj/papers/mcc-jnca2015.pdfReview Seamless application execution in mobile cloud computing: Motivation, taxonomy,

Ahmed E, Khan S, Yaqoob I, Gani A, Salim F. Multi-objective optimization model forseamless application execution in mobile cloud computing. In: 5th interna-tional conference on information communication technologies (ICICT'13);2013a. p. 1–6. http://dx.doi.org/10.1109/ICICT.2013.6732790.

Ahmed E, Shiraz M, Gani A. Spectrum-aware distributed channel assignment forcognitive radio wireless mesh networks. Malays J Comput Sci 2013b;26(3):232–50.

Ahmed E, Gani A, Abolfazli S, Yao L, Khan S. Channel assignment algorithms incognitive radio networks: taxonomy, open issues, and challenges, IEEE Com-mun Surv Tutorials 2014. http://dx.doi.org/10.1109/COMST.2014.2363082.

Ahmed E, Qadir J, Baig A. High-throughput transmission-quality-awarebroadcast routing in cognitive radio networks. Wirel Netw 2015a,http://dxdoi.org/10.1007/s11276-014-0843-6, in press.

Ahmed E, Akhunzada A, Whaiduzzaman M, Gani A, Ab Hamid SH, Buyya R.Network-centric performance analysis of runtime application migration inmobile cloud computing. Simul Model Pract Theory 2015b;50:42–56.

Akhlaghi S, Kiani A, Ghanavati MR. Cost-bandwidth tradeoff in distributed storagesystems. Comput Commun 2010;33(17):2105–15.

Al-Muhtadi J, Mickunas D, Campbell R. A lightweight reconfigurable securitymechanism for 3G/4G mobile devices. IEEE Wirel Commun 2002;9(2):60–5.http://dx.doi.org/10.1109/MWC.2002.998526.

Bertolli C, Buono D, Mencagli G, Torquati M, Vanneschi M, Mordacchini M, et al.Resource discovery support for time-critical adaptive applications. In: Proceed-ings of the 6th international wireless communications and mobile computingconference (IWCMC 10'), Caen, France. ACM; 2010. p. 504–8.

Bourouis A, Zerdazi A, Feham M, Bouchachia A. M-health: skin disease analysissystem using smartphone's camera. Proc Comput Sci 2013;19:1116–20.

Cai W, Leung VCL, Chen M. Next generation mobile cloud gaming. In:Proceedings of IEEE 7th international symposium on service orientedsystem engineering (SOSE13'), San Francisco Bay, USA. IEEE; 2013. p. 551–60.http://dx.doi.org/10.1109/SOSE.2013.30.

Chen X. Decentralized computation offloading game for mobile cloud computing,http://dx.doi.org/10.1109/TPDS.2014.2316834; 2014.

Chen S, Lin M, Zhang H. Research of mobile learning system based on cloudcomputing. In: Proceedings of 2011 international conference on e‐education,entertainment and e-management (ICEEE 2011'), Bali, Indonesia. IEEE; 2011. p.121–3.

Chen S, Wang Y, Pedram M. A semi-Markovian decision process based controlmethod for offloading tasks from mobile devices to the cloud. In: GLOBECOM;2013. p. 2885–90.

Chun B-G, Maniatis P. Augmented smartphone applications through clone cloudexecution. In: Proceedings of the 8th workshop on hot topics in operatingsystems (HotOS'09), Monte Verit, Switzerland; 2009. p. 8–14.

Chun B-G, Maniatis P. Dynamically partitioning applications between weak devicesand clouds. In: Proceedings of the 1st ACM workshop on mobile cloudcomputing & services: social networks and beyond, (MCS 10'), San Francisco,USA. ACM; 2010. p. 1–5.

Chun B-G, Ihm S, Maniatis P, Naik M, Patti A. Clonecloud: elastic execution betweenmobile device and cloud. In: Proceedings of the 6th EuroSys conference oncomputer systems (EUROSYS'11), Salzburg, Austria; 2011. p. 301–14.

Cuervo E, Balasubramanian A, Cho D-k, Wolman A, Saroiu S, Chandra R, et al. MAUI:making smartphones last longer with code offload. In: Proceedings of the 8thinternational conference on mobile systems, applications, and services(MobiSys10'), San Francisco, CA, USA. ACM; 2010. p. 49–62.

Di Modica G, Tomarchio O, Vita L. Resource and service discovery in SOAs: a P2Poriented semantic approach. Int J Appl Math Comput Sci 2011;21(2):285–94.

Dinh HT, Lee C, Niyato D, Wang P. A survey of mobile cloud computing:architecture, applications, and approaches. Wireless Commun Mob Comput2013;13(18):1587–611.

Fernando N, Loke SW, Rahayu W. Mobile cloud computing: a survey. Future GenerComput Syst 2013;29(1):84–106.

Fesehaye D, Gao Y, Nahrstedt K, Wang G. Impact of cloudlets on interactive mobilecloud applications. In: Proceedings of 16th international enterprise distributedobject computing conference (EDOC12'), Beijing, China. IEEE; 2012. p. 123–32.

Giurgiu I, Riva O, Juric D, Krivulev I, Alonso G. Calling the cloud: enablingenablingmobile phones as interfaces to cloud applications. In: Proceedings of the 10thACM/IFIP/USENIX international conference on middleware (Middleware09'),Champaign, IL, USA. Springer; 2009. p. 1–20.

Gordon MS, Jamshidi DA, Mahlke S, Mao ZM, Chen X. Comet: code offload bymigrating execution transparently. In: Proceedings of the 10th USENIX con-ference on operating systems design and implementation, (OSDI'12), Holly-wood, CA, vol. 12; 2012. p. 93–106.

Goscinski A, Brock M. Toward dynamic and attribute based publication, discoveryand selection for cloud computing. Future Gener Comput Syst 2010;26(7):947–70.

Goyal S, Carter J. A lightweight secure cyber foraging infrastructure for resource-constrained devices. In: Proceedings of 6th IEEE workshop on mobile comput-ing systems and applications (WMCSA04'), English Lake District, UK. IEEE;2004. p. 186–95.

Huerta-Canepa G, Lee D. A virtual cloud computing provider for mobile devices. In:Proceedings of the 1st ACM workshop on mobile cloud computing & services:social networks and beyond (MCS10'), San Francisco, CA, USA. ACM; 2010.p. 1–5.

Hung S-H, Shih C-S, Shieh J-P, Lee C-P, Huang Y-H. Executing mobile applicationson the cloud: framework and issues. Comput Math Appl 2011;63(2):573–87.

Janssen C. Seamless interface, URL ⟨http://www.techopedia.com/definition/16444/seamless-interface⟩ [accessed on 25th August 2013].

Khan AN, Mat Kiah M, Khan SU, Madani SA. Towards secure mobile cloudcomputing: a survey. Future Gener Comput Syst 2012;29(5):1278–99.

Khan AuR, Othman M, Madani SA, Khan SU. A survey of mobile cloud computingapplication models. IEEE Commun Surv Tutorials 2014;16(1):393–413. http://dx.doi.org/10.1109/SURV.2013.062613.00160.

Kosta S, Aucinas A, Hui P, Mortier R, Zhang X. Thinkair: dynamic resource allocationand parallel execution in the cloud for mobile code offloading. In: IEEEproceedings INFOCOM. Orlando, Florida, USA. IEEE; 2012. p. 945–53.

Koukoumidis E, Lymberopoulos D, Strauss K, Liu J, Burger D. Pocket cloudlets. ACMSIGPLAN Not 2012;47(4):171–84.

Kovachev D, Cao Y, Klamma R. Augmenting pervasive environments with an XMPP-based mobile cloud middleware. In: Proceedings of fourth internationalconference on mobile computing, applications and services (MobiCASE'12),Seattle, Washington, United States. Springer; 2012a. p. 361–72.

Kovachev D, Yu T, Klamma R. Adaptive computation offloading from mobile devicesinto the cloud. In: 10th IEEE international symposium on parallel anddistributed processing with applications. Madrid, Spain, IEEE; 2012b. p. 784–91.

Kumar K, Liu J, Lu Y-H, Bhargava B. A survey of computation offloading for mobilesystems. Mob Netw Appl 2013;18(1):129–40.

Lee B-D. A framework for seamless execution of mobile applications in the cloud.In: Recent advances in computer science and information engineering, vol. 126;2012. p. 145–53.

Liu J, Kumar K, Lu Y-H. Tradeoff between energy savings and privacy protection incomputation offloading. In: Proceedings of ACM/IEEE international symposiumon low power electronics and design (ISLPED'10), Austin, TX, USA; 2010.p. 213–8.

Liu J, Ahmed E. Shiraz M, Gani A, Buyya R, Qureshi A. Application partitioningalgorithms in mobile cloud computing: taxonomy, review and future directions.J Netw Comput Appl February 2015;48:99–117.

Mao H, Xiao N, Shi W, Lu Y. Wukong: a cloud-oriented file service for mobileinternet devices. J Parallel Distrib Comput 2011;72:171–84.

Marinelli EE. Hyrax: Cloud computing on mobile devices using mapreduce.Technical report, DTIC Document; 2009.

Mehendale H, Paranjpe A, Vempala S. Lifenet: a flexible ad hoc networking solutionfor transient environments. In: Proceedings of the ACM SIGCOMM conference(SIGCOMM11'), Toronto, ON, Canada. ACM; 2011. p. 446–7.

Mitra S. Seamless mobility management and QoS support for multihomed mobilenode in heterogeneous wireless networks. In: Proceedings of internationalconference on industrial and information systems (ICIIS'10), Dalian, China;2010. p. 145–50. http://dx.doi.org/10.1109/ICIINFS.2010.5578717.

ODriscolla A, Daugelaite J, Sleator RD. Big data, hadoop and cloud computing ingenomics. J Biomed Inform 2013;46(5):55.

Ou S, Yang K, Zhang J. An effective offloading middleware for pervasive services onmobile devices. Pervasive Mob Comput 2007;3(4):362–85.

Raad P, Colombo G, Chi DP, Secci S, Cianfrani A, Gallard P, et al. Achieving sub-second downtimes in internet-wide virtual machine live migrations in LISPnetworks. In: Proceedings of IFIP/IEEE international symposium on integratednetwork management (IM'13), Ghent, Belgium; 2013. p. 286–93.

Satyanarayanan M. Mobile computing: the next decade. ACM SIGMOBILE MobComput Commun Rev 2011;15(2):2–10.

Satyanarayanan M, Kozuch MA, Helfrich CJ, O'Hallaron DR. Towards seamlessmobility on pervasive hardware. Pervasive Mob Comput 2005;1(2):157–89.

Satyanarayanan M, Bahl P, Caceres R, Davies N. The case for VM-based cloudlets inmobile computing. Pervasive Comput IEEE 2009;8(4):14–23.

Shin J, Kim Y, Park W, Park C. DFCloud: a TPM-based secure data access controlmethod of cloud storage in mobile devices. In: Proceedings of IEEE 4thinternational conference on cloud computing technology and science, (Cloud-Com12'), Taipei, Taiwan. IEEE; 2012. p. 551–6.

Simanta S, Ha K, Lewis G, Morris E, Satyanarayanan M. A reference architecture formobile code offload in hostile environments. Mobile computing, applications,and services, vol. 110. Springer; 274–93.

Spata MO, Rinaudo S. Virtual machine migration through an intelligent mobileagents system for a cloud grid. J Converg Inform Technol 2011;6(6).

Takahashi K, Sasada K, Hirofuchi T. A fast virtual machine storage migrationtechnique using data deduplication. In: Proceedings of the third internationalconference on cloud computing, GRIDs, and virtualization (CLOUD COMPUT-ING'12), Nice, France; 2012. p. 57–64.

Tolia N, Andersen DG, Satyanarayanan M. Quantifying interactive user experience onthin clients. Computer 2006;39(3):46–52. http://dx.doi.org/10.1109/MC.2006.101.

Tsai M-F, Chilamkurti N, Park J, Shieh C-K. Multi-path transmission control schemecombining bandwidth aggregation and packet scheduling for real-time stream-ing in multi-path environment. IET Commun 2010;4(8):937–45.

Tsai M-K, Lee Y-C, Lu C-H, Chen M-H, Chou T-Y, Yau N-J. Integrating geographicalinformation and augmented reality techniques for mobile escape guidelines onnuclear accident sites. J Environ radioact 2012;109:36–44.

Tusa F, Celesti A, Mikkilineni R. AAA in a cloud-based virtual dime networkarchitecture (dna). In: Proceedings of 20th IEEE international workshops onenabling technologies: infrastructure for collaborative enterprises (WETICE11'),Paris, France. IEEE; 2011. p. 110–5.

Verbelen T, Stevens T, Simoens P, De Turck F, Dhoedt B. Dynamic deployment andquality adaptation for mobile augmented reality applications. J Syst Softw2011;84(11):1871–82.

E. Ahmed et al. / Journal of Network and Computer Applications 52 (2015) 154–172 171

Page 19: Journal of Network and Computer Applicationscloudbus.cis.unimelb.edu.au/~raj/papers/mcc-jnca2015.pdfReview Seamless application execution in mobile cloud computing: Motivation, taxonomy,

Verbelen T, Simoens P, De Turck F, Dhoedt B. AIOLOS: middleware for improvingmobile application performance through cyber foraging. J Syst Softw 2012a;85(11):2629–39.

Verbelen T, Simoens P, De Turck F, Dhoedt B. Cloudlets: bringing the cloud to themobile user. In: Proceedings of the third ACM workshop on mobile cloudcomputing and services. ACM; Ambleside, United Kingdom, 2012b. p. 29–36.

Vidales P. Seamless mobility in 4G systems [Ph.D. thesis]. Computer ScienceCambridge: Cambrigde University; 2005.

Wang S, Zheng Z, Sun Q, Zou H, Yang F. Cloud model for service selection. In:Proceedings of IEEE conference on computer communications workshops(INFOCOM WKSHPS'11); 2011. p. 666–71. http://dx.doi.org/10.1109/INFCOMW.2011.5928896.

White T. Hadoop: the definitive guide. O'Reilly; 2012.Xiang L, Ye S, Feng Y, Li B, Li B. Ready, set, go: coalesced offloading from mobile

devices to the cloud. In: Proceedings of IEEE INFOCOM, 2014; 2014. p. 2373–81.http://dx.doi.org/10.1109/INFOCOM.2014.6848182.

Xiao Z, Xiao Y. Security and privacy in cloud computing. IEEE Commun Surv Tutorials2013;15(2):843–59. http://dx.doi.org/10.1109/SURV.2012.060912.00182.

Yang L, Cao J, Tang S, Li T, Chan A. A framework for partitioning and execution ofdata stream applications in mobile cloud computing. In: Proceedings of IEEE5th international conference on cloud computing (CLOUD'12). Honolulu,Hawaii, USA. IEEE; 2012. p. 794–802.

Zekri M, Jouaber B, Zeghlache D. A review on mobility management and verticalhandover solutions over heterogeneous wireless networks. Comput Commun2012;35(17):2055–68.

Zhang X, Jeong S, Kunjithapatham A, Gibbs S. Towards an elastic application modelfor augmenting computing capabilities of mobile platforms. In: Mobile wirelessmiddleware, operating systems, and applications, vol. 48; 2010. p. 161–74.

Zhao B, Xu Z, Chi C, Zhu S, Cao G. Mirroring smartphones for good: a feasibilitystudy. Mobile and Ubiquitous Systems: Computing, Networking, and Services2012;73:26–38.

E. Ahmed et al. / Journal of Network and Computer Applications 52 (2015) 154–172172