a survey of mobile cloud computing

25
WIRELESS COMMUNICATIONS AND MOBILE COMPUTING Wirel. Commun. Mob. Comput. (2011) Published online in Wiley Online Library (wileyonlinelibrary.com). DOI: 10.1002/wcm.1203 RESEARCH ARTICLE A survey of mobile cloud computing: architecture, applications, and approaches Hoang T. Dinh, Chonho Lee, Dusit Niyato * and Ping Wang School of Computer Engineering, Nanyang Technological University (NTU), Singapore ABSTRACT Together with an explosive growth of the mobile applications and emerging of cloud computing concept, mobile cloud computing (MCC) has been introduced to be a potential technology for mobile services. MCC integrates the cloud com- puting into the mobile environment and overcomes obstacles related to the performance (e.g., battery life, storage, and bandwidth), environment (e.g., heterogeneity, scalability, and availability), and security (e.g., reliability and privacy) dis- cussed in mobile computing. This paper gives a survey of MCC, which helps general readers have an overview of the MCC including the definition, architecture, and applications. The issues, existing solutions, and approaches are presented. In addition, the future research directions of MCC are discussed. Copyright © 2011 John Wiley & Sons, Ltd. KEYWORDS mobile cloud computing; offloading; mobile services *Correspondence Dusit Niyato, School of Computer Engineering, Nanyang Technological University (NTU), Singapore. E-mail: [email protected] 1. INTRODUCTION Mobile devices (e.g., smartphone and tablet PC) are increasingly becoming an essential part of human life as the most effective and convenient communication tools not bounded by time and place. Mobile users accumulate rich experience of various services from mobile applications (e.g., iPhone apps and Google apps), which run on the devices and/or on remote servers via wireless networks. The rapid progress of mobile computing (MC) [1] becomes a powerful trend in the development of IT technology as well as commerce and industry fields. However, the mobile devices are facing many challenges in their resources (e.g., battery life, storage, and bandwidth) and communications (e.g., mobility and security) [2]. The limited resources significantly impede the improvement of service qualities. Cloud computing (CC) has been widely recognized as the next generation computing infrastructure. CC offers some advantages by allowing users to use infrastructure (e.g., servers, networks, and storages), platforms (e.g., mid- dleware services and operating systems), and softwares (e.g., application programs) provided by cloud providers (e.g., Google, Amazon, and Salesforce) at low cost. In addition, CC enables users to elastically utilize resources in an on-demand fashion. As a result, mobile applica- tions can be rapidly provisioned and released with the minimal management efforts or service provider’s interac- tions. With the explosion of mobile applications and the support of CC for a variety of services for mobile users, mobile cloud computing (MCC) is introduced as an inte- gration of CC into the mobile environment. MCC brings new types of services and facilities mobile users to take full advantages of CC. This paper presents a comprehensive survey on MCC. Section 2 provides a brief overview of MCC including defi- nition, architecture, and its advantages. Section 3 discusses the use of MCC in various applications. Then, Section 4 presents several issues that arise in MCC and approaches to address the issues. Next, the future research directions are outlined in Section 5. Finally, we summarize and conclude the survey in Section 6. The list of acronyms appeared in this paper is given in Table I. 2. OVERVIEW OF MOBILE CLOUD COMPUTING The term ‘mobile cloud computing’ was introduced not long after the concept of ‘cloud computing’. It has been attracting the attentions of entrepreneurs as a profitable business option that reduces the development and run- ning cost of mobile applications, of mobile users as a Copyright © 2011 John Wiley & Sons, Ltd.

Upload: arif-ahmed

Post on 02-Jan-2016

44 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Survey of Mobile Cloud Computing

WIRELESS COMMUNICATIONS AND MOBILE COMPUTINGWirel. Commun. Mob. Comput. (2011)

Published online in Wiley Online Library (wileyonlinelibrary.com). DOI: 10.1002/wcm.1203

RESEARCH ARTICLE

A survey of mobile cloud computing: architecture,applications, and approachesHoang T. Dinh, Chonho Lee, Dusit Niyato* and Ping Wang

School of Computer Engineering, Nanyang Technological University (NTU), Singapore

ABSTRACT

Together with an explosive growth of the mobile applications and emerging of cloud computing concept, mobile cloudcomputing (MCC) has been introduced to be a potential technology for mobile services. MCC integrates the cloud com-puting into the mobile environment and overcomes obstacles related to the performance (e.g., battery life, storage, andbandwidth), environment (e.g., heterogeneity, scalability, and availability), and security (e.g., reliability and privacy) dis-cussed in mobile computing. This paper gives a survey of MCC, which helps general readers have an overview of theMCC including the definition, architecture, and applications. The issues, existing solutions, and approaches are presented.In addition, the future research directions of MCC are discussed. Copyright © 2011 John Wiley & Sons, Ltd.

KEYWORDS

mobile cloud computing; offloading; mobile services

*Correspondence

Dusit Niyato, School of Computer Engineering, Nanyang Technological University (NTU), Singapore.E-mail: [email protected]

1. INTRODUCTION

Mobile devices (e.g., smartphone and tablet PC) areincreasingly becoming an essential part of human life asthe most effective and convenient communication tools notbounded by time and place. Mobile users accumulate richexperience of various services from mobile applications(e.g., iPhone apps and Google apps), which run on thedevices and/or on remote servers via wireless networks.The rapid progress of mobile computing (MC) [1] becomesa powerful trend in the development of IT technology aswell as commerce and industry fields. However, the mobiledevices are facing many challenges in their resources (e.g.,battery life, storage, and bandwidth) and communications(e.g., mobility and security) [2]. The limited resourcessignificantly impede the improvement of service qualities.

Cloud computing (CC) has been widely recognized asthe next generation computing infrastructure. CC offerssome advantages by allowing users to use infrastructure(e.g., servers, networks, and storages), platforms (e.g., mid-dleware services and operating systems), and softwares(e.g., application programs) provided by cloud providers(e.g., Google, Amazon, and Salesforce) at low cost. Inaddition, CC enables users to elastically utilize resourcesin an on-demand fashion. As a result, mobile applica-tions can be rapidly provisioned and released with the

minimal management efforts or service provider’s interac-tions. With the explosion of mobile applications and thesupport of CC for a variety of services for mobile users,mobile cloud computing (MCC) is introduced as an inte-gration of CC into the mobile environment. MCC bringsnew types of services and facilities mobile users to takefull advantages of CC.

This paper presents a comprehensive survey on MCC.Section 2 provides a brief overview of MCC including defi-nition, architecture, and its advantages. Section 3 discussesthe use of MCC in various applications. Then, Section 4presents several issues that arise in MCC and approaches toaddress the issues. Next, the future research directions areoutlined in Section 5. Finally, we summarize and concludethe survey in Section 6. The list of acronyms appeared inthis paper is given in Table I.

2. OVERVIEW OF MOBILE CLOUDCOMPUTING

The term ‘mobile cloud computing’ was introduced notlong after the concept of ‘cloud computing’. It has beenattracting the attentions of entrepreneurs as a profitablebusiness option that reduces the development and run-ning cost of mobile applications, of mobile users as a

Copyright © 2011 John Wiley & Sons, Ltd.

Page 2: A Survey of Mobile Cloud Computing

A survey of mobile cloud computing H. T. Dinh et al.

Table I. Acronyms

4G Fourth GenerationAAA Authentication, Authorization, AccountingAPDV Application Protocol Data UnitAPI Application Programing InterfaceARM Advanced RISC MachineAV AntivirusB2B Business to BusinessB2C Business to CustomerBTS Base Transceiver StationCC Cloud ComputingCSP Cloud Service ProviderEC2 Elastic Compute CloudGPS Global Positioning SystemHA Home AgentIaaS Infrastructure as a ServiceIA Integrated AuthenticatedID IdentifierIMERA French acronym for Mobile Interaction in Augmented Reality EnvironmentISP Internet Service ProviderIRNA Intelligent Radio Network AccessJME Java ME, a Java platformLBS Location Base ServiceLTE Long Term EvolutionLTS Location Trusted ServerMAUI Memory Arithmetic Unit and InterfaceMC Mobile ComputingMCC Mobile Cloud ComputingMDP Markov Decision ProcessMSC Mobile Service CloudP2P Peer-to-PeerPaaS Platform as a ServiceQoS Quality of ServiceRACE Resource-Aware Collaborative ExecutionREST Repretational State TransferRFS Random File SystemRTP Real-time Transport ProtocolS3 Simple Storage ServiceSaaS Software as a ServiceTCC Truster Crypto CoprocessorURI Uniform Resource Identifier

new technology to achieve rich experience of a variety ofmobile services at low cost, and of researchers as a promis-ing solution for green IT [3]. This section provides anoverview of MCC including definition, architecture, andadvantages of MCC.

2.1. What is mobile cloud computing?

The MCC forum defines MCC as follows [4]:‘Mobile cloud computing at its simplest, refers to an

infrastructure where both the data storage and data pro-cessing happen outside of the mobile device. Mobile cloudapplications move the computing power and data storageaway from mobile phones and into the cloud, bringing

applications and MC to not just smartphone users but amuch broader range of mobile subscribers’.

Aepona [5] describes MCC as a new paradigm formobile applications whereby the data processing and stor-age are moved from the mobile device to powerful andcentralized computing platforms located in clouds. Thesecentralized applications are then accessed over the wirelessconnection based on a thin native client or web browser onthe mobile devices.

Alternatively, MCC can be defined as a combination ofmobile web and CC [6,7], which is the most popular toolfor mobile users to access applications and services on theInternet.

Briefly, MCC provides mobile users with the data pro-cessing and storage services in clouds. The mobile devices

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 3: A Survey of Mobile Cloud Computing

H. T. Dinh et al. A survey of mobile cloud computing

do not need a powerful configuration (e.g., CPU speed andmemory capacity) because all the complicated computingmodules can be processed in the clouds.

2.2. Architectures of mobile cloudcomputing

From the concept of MCC, the general architecture ofMCC can be shown in Figure 1. In Figure 1, mobile devicesare connected to the mobile networks via base stations(e.g., base transceiver station, access point, or satellite)that establish and control the connections (air links) andfunctional interfaces between the networks and mobiledevices. Mobile users’ requests and information (e.g., IDand location) are transmitted to the central processors thatare connected to servers providing mobile network ser-vices. Here, mobile network operators can provide ser-vices to mobile users as authentication, authorization, andaccounting based on the home agent and subscribers’ datastored in databases. After that, the subscribers’ requestsare delivered to a cloud through the Internet. In the cloud,cloud controllers process the requests to provide mobileusers with the corresponding cloud services. These ser-vices are developed with the concepts of utility computing,virtualization, and service-oriented architecture (e.g., web,application, and database servers).

The details of cloud architecture could be different indifferent contexts. For example, a four-layer architectureis explained in [8] to compare cloud computing withgrid computing. Alternatively, a service-oriented architec-ture, called Aneka, is introduced to enable developers tobuild. Microsoft .NET applications with the supports ofapplication programming interfaces (APIs) and multiple

programming models [9]. [10] presents an architecturefor creating market-oriented clouds and [11] proposes anarchitecture for web-delivered business services. In thispaper, we focus on a layered architecture of CC (Figure 2).This architecture is commonly used to demonstrate theeffectiveness of the CC model in terms of meeting theuser’s requirements [12].

Generally, a CC is a large-scale distributed network sys-tem implemented based on a number of servers in datacenters. The cloud services are generally classified basedon a layer concept (Figure 2). In the upper layers of thisparadigm, Infrastructure as a Service (IaaS), Platform asa Service (PaaS), and Software as a Service (SaaS) arestacked.

� Data centers layer. This layer provides the hardwarefacility and infrastructure for clouds. In data centerlayer, a number of servers are linked with high-speednetworks to provide services for customers. Typically,data centers are built in less populated places, with ahigh power supply stability and a low risk of disaster.

� IaaS. Infrastructure as a Service is built on top ofthe data center layer. IaaS enables the provision ofstorage, hardware, servers, and networking compo-nents. The client typically pays on a per-use basis.Thus, clients can save cost as the payment is onlybased on how much resource they really use. Infras-tructure can be expanded or shrunk dynamically asneeded. The examples of IaaS are Amazon ElasticCloud Computing and Simple Storage Service (S3).

� PaaS. Platform as a Service offers an advanced inte-grated environment for building, testing, and deploy-ing custom applications. The examples of PaaS are

Figure 1. Mobile cloud computing architecture.

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 4: A Survey of Mobile Cloud Computing

A survey of mobile cloud computing H. T. Dinh et al.

Software as a Service (Microsoft’s Live Mesh)

Platform as a Service (e.g., Google App engine, Microsoft Azure)

Data centers

Infrastructure as a Service (e.g., EC2, S3)

Figure 2. Service-oriented cloud computing architecture.

Google App Engine, Microsoft Azure, and AmazonMap Reduce/Simple Storage Service.

� SaaS. Software as a Service supports a software dis-tribution with specific requirements. In this layer,the users can access an application and informa-tion remotely via the Internet and pay only for thatthey use. Salesforce is one of the pioneers in pro-viding this service model. Microsoft’s Live Meshalso allows sharing files and folders across multipledevices simultaneously.

Although the CC architecture can be divided into fourlayers as shown in Figure 2, it does not mean that the toplayer must be built on the layer directly below it. For exam-ple, the SaaS application can be deployed directly on IaaS,instead of PaaS. Also, some services can be considered asa part of more than one layer. For example, data storageservice can be viewed as either in IaaS or PaaS. Given thisarchitectural model, the users can use the services flexiblyand efficiently.

2.3. Advantages of mobile cloudcomputing

Cloud computing is known to be a promising solution forMC because of many reasons (e.g., mobility, communica-tion, and portability [13]). In the following, we describehow the cloud can be used to overcome obstacles in MC,thereby pointing out advantages of MCC.

(1) Extending battery lifetime. Battery is one of themain concerns for mobile devices. Several solutionshave been proposed to enhance the CPU perfor-mance [14,15] and to manage the disk and screen inan intelligent manner [16,17] to reduce power con-sumption. However, these solutions require changesin the structure of mobile devices, or they requirea new hardware that results in an increase of costand may not be feasible for all mobile devices.Computation offloading technique is proposed withthe objective to migrate the large computations andcomplex processing from resource-limited devices

(i.e., mobile devices) to resourceful machines (i.e.,servers in clouds). This avoids taking a long applica-tion execution time on mobile devices which resultsin large amount of power consumption.

Rudenko et al. [18] and Smailagic and Ettus[19] evaluate the effectiveness of offloading tech-niques through several experiments. The resultsdemonstrate that the remote application executioncan save energy significantly. Especially, Rudenkoet al. [18] evaluates large-scale numerical com-putations and shows that up to 45% of energyconsumption can be reduced for large matrix calcu-lation. In addition, many mobile applications takeadvantages from task migration and remote pro-cessing. For example, offloading a compiler opti-mization for image processing [20] can reduce41% for energy consumption of a mobile device.Also, using memory arithmetic unit and interface(MAUI) to migrate mobile game components [21]to servers in the cloud can save 27% of energyconsumption for computer games and 45% for thechess game.

(2) Improving data storage capacity and processingpower. Storage capacity is also a constraint formobile devices. MCC is developed to enable mobileusers to store/access the large data on the cloudthrough wireless networks. First example is theAmazon Simple Storage Service [22] which sup-ports file storage service. Another example is ImageExchange which utilizes the large storage space inclouds for mobile users [23]. This mobile photosharing service enables mobile users to uploadimages to the clouds immediately after capturing.Users may access all images from any devices. Withthe cloud, the users can save considerable amountof energy and storage space on their mobile devicesbecause all images are sent and processed on theclouds. Flicker [24] and ShoZu [25] are also the suc-cessful mobile photo sharing applications based onMCC. Facebook [26] is the most successful socialnetwork application today, and it is also a typicalexample of using cloud in sharing images.

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 5: A Survey of Mobile Cloud Computing

H. T. Dinh et al. A survey of mobile cloud computing

Mobile cloud computing also helps in reducingthe running cost for compute-intensive applicationsthat take long time and large amount of energywhen performed on the limited-resource devices.CC can efficiently support various tasks for datawarehousing, managing and synchronizing multi-ple documents online. For example, clouds can beused for transcoding [27], playing chess [21,28],or broadcasting multimedia services [29] to mobiledevices. In these cases, all the complex calcula-tions for transcoding or offering an optimal chessmove that take a long time when perform on mobiledevices will be processed efficiently on the cloud.Mobile applications also are not constrained by stor-age capacity on the devices because their data nowis stored on the cloud.

(3) Improving reliability. Storing data or running appli-cations on clouds is an effective way to improvethe reliability because the data and application arestored and backed up on a number of computers.This reduces the chance of data and application loston the mobile devices. In addition, MCC can bedesigned as a comprehensive data security modelfor both service providers and users. For example,the cloud can be used to protect copyrighted digitalcontents (e.g., video, clip, and music) from beingabused and unauthorized distribution [30]. Also, thecloud can remotely provide to mobile users withsecurity services such as virus scanning, maliciouscode detection, and authentication [31]. Also, suchcloud-based security services can make efficientuse of the collected record from different users toimprove the effectiveness of the services.

In addition, MCC also inherits some advantages ofclouds for mobile services as follows:

� Dynamic provisioning. Dynamic on-demand provi-sioning of resources on a fine-grained, self-servicebasis is a flexible way for service providers andmobile users to run their applications withoutadvanced reservation of resources.

� Scalability. The deployment of mobile applicationscan be performed and scaled to meet the unpredictableuser demands due to flexible resource provisioning.Service providers can easily add and expand an appli-cation and service without or with little constraint onthe resource usage.

� Multitenancy. Service providers (e.g., network oper-ator and data center owner) can share the resourcesand costs to support a variety of applications and largenumber of users.

� Ease of integration. Multiple services from differentservice providers can be integrated easily through thecloud and Internet to meet the user demand.

3. APPLICATIONS OF MOBILECLOUD COMPUTING

Mobile applications gain increasing share in a globalmobile market. Various mobile applications have taken theadvantages of MCC. In this section, some typical MCCapplications are introduced.

3.1. Mobile commerce

Mobile commerce (m-commerce) is a business modelfor commerce using mobile devices. The m-commerceapplications generally fulfill some tasks that requiremobility (e.g., mobile transactions and payments, mobilemessaging, and mobile ticketing). The m-commerce appli-cations can be classified into few classes including finance,advertising, and shopping (Table II).

The m-commerce applications have to face various chal-lenges (e.g., low network bandwidth, high complexity ofmobile device configurations, and security). Therefore,m-commerce applications are integrated into CC environ-ment to address these issues. Yang et al.[32] proposes a 3GE-commerce platform based on CC. This paradigm com-bines the advantages of both third generation (3G) networkand CC to increase data processing speed and security level[33] based on public key infrastructure (PKI). The PKImechanism uses an encryption-based access control and anover-encryption to ensure privacy of user’s access to theoutsourced data. In [34], a 4PL-AVE trading platform uti-lizes CC technology to enhance the security for users andimprove the customer satisfaction, customer intimacy, andcost competitiveness.

3.2. Mobile learning

Mobile learning (m-learning) is designed based on elec-tronic learning (e-learning) and mobility. However, tradi-tional m-learning applications have limitations in termsof high cost of devices and network, low network trans-mission rate, and limited educational resources [35–37].

Table II. Application classes of m-commerce.

Application classes Type Examples

Mobile financial applications B2C, B2B Banks, brokerage firms, mobile-user feesMobile advertising B2C Sending custom made advertisements according to user’s physical locationMobile shopping B2C,B2B Locate/order certain products from a mobile terminal

B2C, business to customer; B2B, business to business

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 6: A Survey of Mobile Cloud Computing

A survey of mobile cloud computing H. T. Dinh et al.

Cloud-based m-learning applications are introduced tosolve these limitations. For example, utilizing a cloud withthe large storage capacity and powerful processing ability,the applications provide learners with much richer servicesin terms of data (information) size, faster processing speed,and longer battery life.

Zhao et al. [38] presents the benefits of combining m-learning and CC to enhance the communication qualitybetween students and teachers. In this case, a smartphonesoftware based on the open source JavaME UI frame-work and Jaber for clients is used. Through a web sitebuilt on Google Apps Engine, students communicate withtheir teachers at anytime. Also, the teachers can obtain theinformation about student’s knowledge level of the courseand can answer students’ questions in a timely manner. Inaddition, a contextual m-learning system based on MobileInteraction in Augmented Reality Environment platform[39] shows that a cloud-based m-learning system helpslearners access learning resources remotely.

Another example of MCC applications in learning is‘Cornucopia’ implemented for researches of undergradu-ate genetics students and ‘plantations pathfinder’ designedto supply information and provide a collaboration space forvisitors when they visit the gardens [40]. The purpose ofthe deployment of these applications is to help the studentsenhance their understanding about the appropriate designof MCC in supporting field experiences. In [41], an educa-tion tool is developed based on CC to create a course aboutimage/video processing. Through mobile phones, learn-ers can understand and compare different algorithms usedin mobile applications (e.g., deblurring, denoising, facedetection, and image enhancement).

3.3. Mobile healthcare

The purpose of applying MCC in medical applications isto minimize the limitations of traditional medical treat-ment (e.g., small physical storage, security and privacy, andmedical errors [42,43]). Mobile healthcare (m-healthcare)provides mobile users with convenient helps to access re-sources (e.g., patient health records) easily and efficiently.Besides, m-healthcare offers hospitals and healthcare orga-nizations a variety of on-demand services on clouds ratherthan owning standalone applications on local servers.

There are a few schemes of MCC applications in health-care. For example, [44] presents five main mobile health-care applications in the pervasive environment.

� Comprehensive health monitoring services enablepatients to be monitored at anytime and anywherethrough broadband wireless communications.

� Intelligent emergency management system can man-age and coordinate the fleet of emergency vehicleseffectively and in time when receiving calls fromaccidents or incidents.

� Health-aware mobile devices detect pulse rate, bloodpressure, and level of alcohol to alert healthcareemergency system.

� Pervasive access to healthcare information allowspatients or healthcare providers to access the currentand past medical information.

� Pervasive lifestyle incentive management can be usedto pay healthcare expenses and manage other relatedcharges automatically.

Similarly, [45] proposes @HealthCloud, a prototypeimplementation of m-healthcare information manage-ment system based on CC and a mobile client runningAndroid operating system (OS). This prototype presentsthree services utilizing the Amazon’s S3 Cloud StorageService to manage patient health records and medicalimages.

� Seamless connection to cloud storage allows users toretrieve, modify, and upload medical contents (e.g.,medical images, patient health records, and biosig-nals) utilizing web services and a set of available APIscalled Repretational State Transfer.

� Patient health record management system displaysthe information regarding patients’ status, relatedbiosignals, and image contents through application’sinterface.

� Image viewing support allows the mobile users todecode the large image files at different resolutionlevels given different network availability and quality.

For practical system, a telemedicine homecare man-agement system [46] is implemented in Taiwan to moni-tor participants, especially for patients with hypertensionand diabetes. The system monitors 300 participants andstores more than 4736 records of blood pressure and sugarmeasurement data on the cloud. When a participant per-forms blood glucose/pressure measurement via specializedequipment, the equipment can send the measured param-eters to the system automatically. Also, the participantcan send parameters by SMS via their mobile devices.After that, the cloud will gather and analyze the infor-mation about the participant and return the results. Thedevelopment of mobile healthcare clearly provides tremen-dous helps for the participants. However, the informationto be collected and managed related to personal health issensitive. Therefore, [47,48] propose solutions to protectthe participant’s health information, thereby, increasing theprivacy of the services. Although [47] uses peer-to-peerparadigm to federate clouds to address security issue, dataprotection, and ownership, the model in [48] provides secu-rity as a service on the cloud to protect mobile applications.Therefore, mobile health application providers and userswill not have to worry about security issue because it isensured by the security vendor.

3.4. Mobile gaming

Mobile game (m-game) is a potential market generatingrevenues for service providers. M-game can completelyoffload game engine requiring large computing resource

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 7: A Survey of Mobile Cloud Computing

H. T. Dinh et al. A survey of mobile cloud computing

(e.g., graphic rendering) to the server in the cloud, andgamers only interact with the screen interface on theirdevices.

Li et al.[49] demonstrates that offloading (multimediacode) can save energy for mobile devices, thereby increas-ing game playing time on mobile devices. Cuervo et al.[21]proposes MAUI, a system that enables fine-grained energy-aware offloading of mobile codes to a cloud. Also, a num-ber of experiments are conducted to evaluate the energyused for game applications with 3G network and WiFi net-work. It is found that instead of offloading all codes tothe cloud for processing, MAUI partitions the applicationcodes at a runtime based on the costs of network com-munication and CPU on the mobile device to maximizeenergy savings given network connectivity. The resultsdemonstrate that MAUI not only helps energy reductionsignificantly for mobile devices (i.e., MAUI saves 27%of energy usage for the video game and 45% for chess),but also improves the performance of mobile applications(i.e., the game’s refresh rate increases from 6 to 13 framesper second).

Wang and Dey [50] presents a new cloud-based m-game using a rendering adaptation technique to dynami-cally adjust the game rendering parameters according tocommunication constraints and gamers’ demands. The ren-dering adaptation technique mainly bases on the idea toreduce the number of objects in the display list becausenot all objects in the display list created by game engineare necessary for playing the game and scale the com-plexity of rendering operations. The objective is to max-imize the user experience given the communications andcomputing costs.

3.5. Other practical applications

A cloud becomes a useful tool to help mobile users sharephotos and video clips efficiently and tag their friends inpopular social networks as Twitter and Facebook. MeLog[51] is an MCC application that enables mobile usersto share real-time experience (e.g., travel, shopping, andevent) over clouds through an automatic blogging. Themobile users (e.g., travelers) are supported by severalcloud services such as guiding their trip, showing maps,recording itinerary, and storing images and video.

Ye et al.[52] introduces a mobile locationing serviceallowing users to capture a short video clip about thesurrounding buildings. The matching algorithm run on acloud can use a large amount of information to searchfor a location of these buildings. Also, One Hour Trans-lation [53] provides an online translation service runningon the cloud of Amazon Web Services. One Hour Transla-tion helps mobile users, especially foreign visitors, receivethe information translated in their language through theirmobile devices.

A cloud becomes the most effective tool when mobileusers require searching services (e.g., searching informa-tion, location, images, voices, or video clips).

� Keyword-based searching. Pendyala and Holliday[54] proposes an intelligent mobile search modelusing semantic in which searching tasks will be per-formed on servers in a cloud. This model can analyzethe meaning of a word, a phrase, or a complex multi-phase to produce the results efficiently and accurately.Lagerspetz and Tarkoma [55] presents an applica-tion using the cloud to perform data searching tasksfor mobile users. Lagerspetz and Tarkoma [55] usesDessy system [56] to find the users’ data, meta-data, and context information through desktop search(e.g., indexing, query, and index term stemming,and search relevance ranking), and synchronizationtechniques.

� Voice-based searching. Fabbrizio et al. [57] pro-poses a search service via a speech recognition inwhich mobile users just talk to microphone on theirdevices rather than typing on keypads or touch-screens. Fabbrizio et al. [57] introduces the AT&Tspeech mashup model that utilizes web services andCC environment to meet the speech service demandsof customers. This model optimizes the data trans-mission in a mobile network, reduces latency, andis flexible in integrating with other services. Severalexamples are demonstrated (e.g., speak4it, iPizza, andJME local business search).

� Tag-based searching. Cai-Dong et al. [58] introducesa photo searching technique based on ontologicalsemantic tags. Mobile users search only recall param-eters that are tagged on images before such imagesare sent to a cloud. The cloud is used for storing andprocessing images for resource-limited devices. Thecurrent service is designed for the images stored onprivate CC environment. In the future, it is expectedto expand for searching images in a public cloudenvironment.

In addition, there are a mobile-cloud collaborative appli-cation [59] to detect traffic lights for the blind, a CC frame-work [60] to monitor different corners in a house througha mobile device, and some efforts which integrate cur-rent services (e.g., BitTorrent, and Mobile Social Network)into the clouds as in [61,62]. Thereby, we can recognizethat MCC is probably a prevailing technology trend withnumerous applications in the near future.

4. ISSUES AND APPROACHES OFMOBILE CLOUD COMPUTING

As discussed in the previous section, MCC has manyadvantages for mobile users and service providers. How-ever, because of the integration of two different fields, thatis, CC and mobile networks, MCC has to face many techni-cal challenges. This section lists several research issues inMCC, which are related to the mobile communication andCC. Then, the available solutions to address these issuesare reviewed.

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 8: A Survey of Mobile Cloud Computing

A survey of mobile cloud computing H. T. Dinh et al.

4.1. Issues in mobile communication side

(1) Low bandwidth. Bandwidth is one of the big issuesin MCC because the radio resource for wirelessnetworks is much scarce as compared with thetraditional wired networks.

Jin and Kwok [63] proposes a solution to sharethe limited bandwidth among mobile users who arelocated in the same area (e.g., a workplace, a station,and a stadium) and involved in the same content(e.g., a video file). The authors model the interactionamong the users as a coalitional game. For exam-ple, the users form a coalition where each memberis responsible for a part of video files (e.g., sounds,images, and captions) and transmits/exchanges itto other coalition members. This results in theimprovement of the video quality. However, the pro-posed solution is only applied in the case when theusers in a certain area are interested in the same con-tents. Also, it does not consider a distribution policy(e.g., who receives how much and which part of con-tents) which leads to a lack of fairness about eachuser’s contribution to a coalition.

Jung et al.[64] considers the data distribution pol-icy which determines when and how much por-tions of available bandwidth are shared among usersfrom which networks (e.g., WiFi and WiMAX).It collects user profiles (e.g., calling profile, sig-nal strength profile, and power profile) periodicallyand creates decision tables by using Markov deci-sion process algorithm. Based on the tables, theusers decide whether or not to help other usersdownload some contents that they cannot receiveby themselves due to the bandwidth limitation andhow much it should help (e.g., 10% of contents).The authors build a framework, named RACE(Resource-Aware Collaborative Execution), on thecloud to take advantages of the computing resourcesfor maintaining the user profiles. This approach issuitable for the users who share the limited band-width to balance the trade-off between benefits ofthe assistance and energy costs.

(2) Availability. Service availability becomes a moreimportant issue in MCC than that in the CC withwired networks. Mobile users may not be able toconnect to the cloud to obtain a service due to trafficcongestion, network failures, and the out-of-signal.

Huerta-Canepa and Lee [65] and Zhang et al.[66]propose solutions to help mobile users in the case ofthe disconnection from clouds. In [65], the authorsdescribe a discovery mechanism to find the nodesin the vicinity of a user whose link to the cloudis unavailable. After detecting nearby nodes thatare in a stable mode, the target provider for theapplication is changed. In this way, instead of hav-ing a link directly to the cloud, a mobile user canconnect to the cloud through neighboring nodes inan ad hoc manner. However, it does not consider

the mobility, capability of devices, and privacy ofneighboring nodes.

Zhang et al. [66] tries to overcome the draw-backs of [65]. In particular, [66] proposes a WiFibased multihop networking system called MoNetand a distributed content sharing protocol for thesituation without any infrastructure. Unlike [65],this solution considers moving nodes in the user’svicinity. Each node periodically broadcasts controlmessages to inform other nodes of its status (e.g.,connectivity and system parameters) and local con-tent updates. According to the messages, each nodemaintains a neighboring node list and a content listand estimates role levels of other nodes based onthe disk space, bandwidth, and power supply. Then,the nodes with the shortest hop length path andthe highest role level are selected as the intermedi-ate nodes to receive contents. Besides, the authorsalso consider security issues for mobile clients whenthey share information by using an account key(to authenticate and encrypt the private content), afriend key (to secure channel between two friends),and a content key (to protect an access control).Two applications are introduced; that is, WiFace andWiMarket that are two colocated social network-ing. This approach is much more efficient than thecurrent social networking systems, especially in theevent of disconnection.

(3) Heterogeneity. Mobile cloud computing will beused in the highly heterogeneous networks in termsof wireless network interfaces. Different mobilenodes access to the cloud through different radioaccess technologies such as WCDMA, GPRS,WiMAX, CDMA2000, and WLAN. As a result, anissue of how to handle the wireless connectivitywhile satisfying MCC’s requirements arises (e.g.,always-on connectivity, on-demand scalability ofwireless connectivity, and the energy efficiency ofmobile devices).

Klein et al.[67] proposes an architecture to pro-vide an intelligent network access strategy formobile users to meet the application requirements.This architecture is built based on a concept of Intel-ligent Radio Network Access (IRNA [68]). IRNAis an effective model to deal with the dynam-ics and heterogeneity of available access networks.To apply IRNA in MCC environment, the authorspropose a context management architecture withthe purpose to acquire, manage, and distribute acontext information. As shown in Figure 3, thisarchitecture consists of three main components:context provider, context broker, and context con-sumer. However, the context quality enabler is alsorequired to facilitate the operations of other compo-nents. In this architecture, when a context consumerwants to communicate with a context provider,the context consumer will request the UniformResource Identifier (URI) of context providers at

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 9: A Survey of Mobile Cloud Computing

H. T. Dinh et al. A survey of mobile cloud computing

Synchronous communcation

Synchronous and asynchronous communication

Synchronouscommunication

Requirements forcontext quality

ContextCustomer

ContextProvider

Context Broker

ContextQualityEnabler

ContextCache

ContextHistory

Figure 3. Context management architecture introduced in [67].

the context broker. Using this URI, the contextconsumer can communicate directly to the contextprovider and request the context data. Hence, thisprocess increases the speed of context data deliv-ery. Furthermore, when a context quality enablerreceives the requirement about the context qual-ity from the context consumer, the context qualityenabler will filter out URIs of the context providersthat are not suitable with the required quality level.Therefore, this architecture enables controlling con-text quality according to the demands of the con-text consumers.

4.2. Issues in computing side

(1) Computing offloading. As explained in the previ-ous section, offloading is one of the main featuresof MCC to improve the battery lifetime for themobile devices and to increase the performance ofapplications. However, there are many related issuesincluding efficient and dynamic offloading underenvironment changes.(a) Offloading in the static environment. Experi-

ments in [18] show that offloading is not alwaysthe effective way to save energy. For a codecompilation, offloading might consume moreenergy than that of local processing when thesize of codes is small. For example, whenthe size of altered codes after compilation is500 KB, offloading consumes about 5% of adevice’s battery for its communication, whereasthe local processing consumes about 10% ofthe battery for its computation. In this case,the offloading can save the battery up to 50%.However, when the size of altered codes is250 KB, the efficiency reduces to 30%. Whenthe size of altered codes is small, the offload-ing consumes more battery than that of localprocessing. As another example, [18] shows

the Gaussian application (to solve a system oflinear algebraic equations) which offloads theentire matrix into the remote server. In termsof the energy efficiency, the cost of offloadingis higher for small matrices (e.g., smaller than500 x 500 in size), whereas the cost saving canbe up to 45% for large matrices. Therefore, it isa critical problem for mobile devices to deter-mine whether to offload and which portions ofthe application’s codes need to be offloadedto improve the energy efficiency. In addition,different wireless access technologies consumedifferent amount of energy and support differ-ent data transfer rates. These factors have to betaken into account.

Kumar and Lu [28] suggests a program par-titioning based on the estimation of the energyconsumption (communication energy and com-putation energy) before the program execution.The optimal program partitioning for offload-ing is calculated based on the trade-off betweenthe communication and computation costs. Thecommunication cost depends on the size oftransmitted data and the network bandwidth,whereas the computation cost is impacted by thecomputation time. However, information suchas the communication requirements or/and thecomputation workload may change in differ-ent execution instances. Thus, optimal decisionsof a program partitioning must be made at aruntime dynamically.

Several solutions are proposed to find theoptimal decision for partitioning applicationsbefore offloading. In [49], the authors presenta partition scheme to offload computationaltasks on mobile devices. The scheme is basedon the profiling information about computa-tion time and data sharing at the level of pro-cedure calls. This scheme constructs a cost

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 10: A Survey of Mobile Cloud Computing

A survey of mobile cloud computing H. T. Dinh et al.

graph. Then branch-and-bound algorithm [69]is applied to the cost graph with an objec-tive to minimize the total energy consumptionof computation and the total data communi-cation cost. The idea of this algorithm is toprune the search space to obtain an approxi-mated solution. The experiment results indicatethat the energy saving of partitioning obtainedfrom this scheme is considerable in some pro-grams (e.g., Mediabench programs and GNUGo for a Go game). However, the authors donot show the experiment results in a dynamicenvironment such as network disconnection andbandwidth changes (high to low bandwidth).Also, this approach considers only partition fortasks which are procedure calls.

In [70], the authors present an approach todecide which components of Java programsshould be offloaded. This approach first dividesa Java program into methods and uses inputparameters (e.g., size of methods) to computeexecution costs for these methods. Then, thisapproach compares the local execution costs ofeach method with the remote execution coststhat are estimated based on status of the cur-rent wireless channel condition to make an opti-mal execution decision. Similar to [49], theapproach in [70] lacks generality and cannot beapplied for diverse applications.

Wang and Li [71] present a computationoffloading scheme on mobile devices and

proposes a polynomial time algorithm to findan optimal program partition. The proposedscheme partitions a program into the distributedsubprograms (which run on a device and aserver) by producing a program abstraction. Inthis case, all physical memory references aremapped into the references of abstract memorylocations. The program abstraction is generatedat a runtime based on pointer analysis tech-niques [72,73]. Then, the task allocation anddata transfer of the abstract memory locationsare determined subject to the control and dataflow defined over the program abstraction. Theprogram abstraction is divided into clusters byclustering analysis [74], and a heuristic algo-rithm [75] is applied into the clusters to findthe optimal partition to minimize the execu-tion cost of the program. Unlike [49,70], thisscheme does not restrict the tasks to be parti-tioned at any specific level (e.g., a basic block,a loop, a function, or even a group of closelyrelated functions).

Hunt and Scott [76] present an automaticdistributed partitioning system called Coign,which automatically transforms a program intothe distributed applications without accessingthe source codes. As shown in Figure 4, Coignconstructs a graph model of the application’sintercomponent communication through thescenario-based profiling (e.g., network data) tofind the best distribution. Coign applies the

Application Binary

Binary Rewriter

InstrumentedBinary

ApplicationBinary

ProfilingScenarios

AbstractICC Data

ProfileAnalysis

NetworkData

NetworkProfiler

BestDistribution

BinaryRewriter

DistributedApplication

Figure 4. The Coign automatic distributed partitioning system: an application is transformed into a distributed application by insertingthe Coign runtime, profiling the instrumented application, and analyzing the profiles to cut the network-based graph.

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 11: A Survey of Mobile Cloud Computing

H. T. Dinh et al. A survey of mobile cloud computing

lift-to-front minimum-cut graph-cutting algo-rithm [77] to choose the distributed applicationswith the minimum communication time.

Most approaches use the data size and exe-cution time of computations to find the optimalprogram partition for offloading and assumethat such an information is known before theexecution. However, it is difficult to obtainthe accurate execution time of computationsbecause the time varies in different instancesof the computations, and the inaccurate infor-mation results in inefficient offloading perfor-mance. Therefore, [78] proposes an offloadingmethod which does not require the estimation ofexecution time for each computation instance.Online statistics of the computation time areused to compute optimal timeout, and if thecomputation is not completed after the time-out, this computation will be offloaded to theserver. Through experiments, it is shown thatthis approach not only addresses the inaccuracyin estimating the computing execution time butalso saves up to 17% more energy than existingapproaches.

(b) Offloading in the dynamic environment. Thissubsection introduces few approaches to dealwith offloading in a dynamic network envi-ronment (e.g., changing connection status andbandwidth). The environment changes cancause additional problems. For example, thetransmitted data may not reach the destination,or the data executed on the server will be lostwhen it has to be returned to the sender.

Ou et al. [79] analyzes the performance ofoffloading systems operating in wireless envi-ronments. In this work, the authors take intoaccount three circumstances of executing anapplication, thereby estimating the efficiency ofoffloading. They are the cases when the applica-tion is performed locally (without offloading),performed in ideal offloading systems (with-out failures), and performed with the presenceof offloading and failure recoveries. In the lastcase, when a failure occurs, the applicationwill be re-offloaded. This approach only re-offloads the failed subtasks, thereby improving

the execution time. However, this solution hassome limitations. That is, the mobile environ-ment is considered as a wireless ad hoc localarea network (i.e., broadband connectivity is notsupported). Also, during offloading execution, adisconnection of a mobile device is treated as afailure.

Tang and Cao [80] consider three commonenvironmental changes shown in Table III andexplains the suitable solutions for offloadingin the different environments. For example, inthe case of connection status (e.g., disconnec-tion during the program execution) changes, theserver will periodically check the connectionstatus with the client and maintain the execu-tion information about the particular runningtasks. When the disconnection is recovered, theserver will send the execution results for theclient. If the server cannot reconnect to theclient, the server will wait for the predefinedtime interval, and the tasks will be deleted.However, the drawback of these approaches isthat they are only general solutions, and theydo not mention a detailed method to addressthe dynamic partitioning issue; that is, how topartition application.

Chun and Maniatis [81] present a systemto partition an application in dynamic envi-ronments. The proposed system follows threesteps with different requirements related to theapplication structuring, partitioning choice, andsecurity. In the application structuring step, theprograms are structured to be seamlessly anddynamically executed between a mobile deviceand a cloud. To achieve this, both the clientand cloud must have all parts of the application,and the application decides what modules to runat the client and at the server dynamically ata runtime. Secondly, in the partitioning choicestep, the system will choose a suitable parti-tioning policy so that the total energy consump-tion is minimized. Finally, to address securityissue, the authors point out that modules con-taining sensitive data will be executed locally.The sensitive data is marked based on the pro-grammer annotations. This system considers

Table III. Common mobile computing environmental changes.

Changes Priority level Description

Client side power level 1 Power can be divided into sufficient and insufficient powerlevels, which will depend on the particular situation.

Connection status 2 The connection status can be faded, disconnected from themobile network, or reconnected to the mobile network.

Bandwidth 3 The bandwidth varies from time to time and depends on severalfactors, such as the network traffic condition, and so on.

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 12: A Survey of Mobile Cloud Computing

A survey of mobile cloud computing H. T. Dinh et al.

both partitioning application and security issue.However, it lacks accuracy because the parti-tion is based on a prediction model through anoff-line analysis.

Cuervo et al. [21] introduces an architec-ture to dynamically partition an application ata runtime in three steps. First, MAUI usescode portability to create two versions of amobile application, one for the local execu-tion on devices and the other for the remoteexecution in cloud. Besides, because today’ssmartphones typically use an instruction setarchitecture (Advanced RISC Machine, ARM)different from desktop and servers (x86), soMAUI is designed to execute the same pro-gram on different CPU architectures, prefer-ably without access to the program source code.Second, MAUI uses programing reflection toidentify which methods of the application aremarked ‘remoteable’ or not and type safety toextract only the program state needed by the‘remoteable’ methods. Then, MAUI sends thenecessary program state to the cloud. Thereare some certain types of code that shouldnot be marked ‘remoteable’ attribute includ-ing: a code that implements the application’suser interface, a code that interacts with I/Odevices where such interaction is only possibleon the mobile device, and a code that inter-acts with any external component that wouldbe affected by a re-execution. Third, the MAUIprofiles each method of an application anduses serialization to determine communicationcosts (e.g., due to the size of its state). Then,the MAUI combines three main factors includ-ing the communication cost, mobile device’senergy consumption cost, and network status(e.g., bandwidth and latency) at a runtime toconstruct a linear programming formulation.MAUI can make optimal decisions for partition-ing based on the linear programming formula-tion. The serialization enables MAUI’s programpartitioning to be highly dynamic. The authorsfind that MAUI can maximize the potentialfor energy savings through the fine-grainedcode offloading while minimizing the changesrequired to applications.

(2) Security. Protecting user privacy and data/applicationsecrecy from adversary is a key to establish andmaintain consumers’ trust in the mobile platform,especially in MCC. In the following, the security-related issues in MCC are introduced in twocategories: the security for mobile users and thesecurity for data. Also, some solutions to addressthese issues are reviewed.(a) Security for mobile users. Mobile devices

such as cellular phone, personal digital assis-tant (PDA), and smartphone are exposed to

numerous security threats like malicious codes(e.g., virus, worm, and Trojan horses) andtheir vulnerability. In addition, with mobilephones integrated global positioning system(GPS) device, they can cause privacy issues forsubscribers. Two main issues are as follows:� Security for mobile applications. Installing

and running security softwares such asKaspersky, McAfee, and AVG antivirusprograms on mobile devices are the sim-plest ways to detect security threats (e.g.,virus, worms, and malicious codes) on thedevices. However, mobile devices are con-strained in their processing and power;protecting them from the threats is moredifficult than that for resourceful device(e.g., PC). For example, it is impossi-ble to keep running the virus detectionsoftware on mobile devices. Oberheideet al.[31] presents an approach to movethe threat detection capabilities to clouds.This paradigm is an extension of the exist-ing cloud AV platform that provides an in-cloud service for malware detection. Theplatform consists of host agent and net-work service components [82,83]. Hostagent is a lightweight process that runson mobile devices, and its function is toinspect the file activity on a system (i.e.,it is similar to the function of antivirussoftware). If an identified file is not avail-able in a cache of previous analyzed files,this file will be sent to the in-cloud net-work service for verification. The secondmajor component of CloudAV is a networkservice that is responsible for file veri-fication. The network service will deter-mine whether a file is malicious or not.The most advantage of this solution is thatmoving the detection capabilities to a net-work service enables the use of multipleantivirus engines in parallel by hostingthem in virtualized containers. However,to apply CloudAV platform for the mobileenvironment, a mobile agent should beimproved and customized to fit in themobile devices. Oberheide et al. [31]builds a mobile agent to interact with theCloudAV network service for the Linux-based Maemo platform implemented on aNokia N800 mobile device. The mobileagent is deployed in Python and uses theDazuko [84] framework to interpose onthe system events. In particular, the mobileagent requires only 170 lines of code. As aresult, it is suitable with resource-limitedmobile devices. To demonstrate the effi-ciency of using CC for detecting malicious

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 13: A Survey of Mobile Cloud Computing

H. T. Dinh et al. A survey of mobile cloud computing

softwares on mobile devices, [85] presentsa paradigm in which attack detection fora smartphone is performed on a remoteserver in the cloud. Similarly, instead ofrunning an antivirus program locally, thesmartphone records only a minimal execu-tion trace and transmits it to the securityserver in the cloud. This paradigm not onlyenhances the efficiency of detecting mal-ware but also improves battery lifetime upto 30%.

� Privacy. With the advantages of GPS posi-tioning devices, the number of mobileusers using the location based services(LBS) increases. However, the LBS facesa privacy issue when mobile users pro-vide private information such as their cur-rent location. This problem becomes evenworse if an adversary knows the user’simportant information. Location trustedserver (LTS) [86] is presented to addressthis issue. As shown in Figure 5, afterreceiving the mobile users’ requests, LTSgathers their location information in a cer-tain area and cloaks the information called‘cloaked region’ based on a ‘k-anonymity’concept [87] to conceal the user’s informa-tion. The ‘cloaked region’ is sent to LBS,so LBS knows only general informationabout the users but cannot identify them.Wang and Wang [88] point out the prob-lem that if LTS reveals the users’ infor-mation, or if LTS colludes with LBS, theusers’ information will be in danger. Theauthors propose to generate the ‘cloakedregion’ on mobile devices based on Caspercloaking algorithm [89]. Meanwhile, gath-ering the information of other users aroundthe sender will be done on the cloud toreduce cost and improve speed and scala-bility. When launching the program on thesender’s mobile device, the program will

require the cloud to provide informationabout surrounding users. After that, themobile client will generate the ‘cloakedregion’ by itself and send ‘cloaked region’to the LBS. In this way, both LTS and LBScannot know the sender’s information.

(b) Securing data on clouds. Although both mobileusers and application developers benefit fromstoring a large amount of data/applications ona cloud, they should be careful of dealing withthe data/applications in terms of their integrity,authentication, and digital rights. The data-related issues in MCC are as follows:

� Integrity. Mobile users are often concernedabout their data integrity on the cloud.Several solutions are proposed to addressthis issue (e.g., [90,91]). However, suchsolutions do not take the energy consump-tion of mobile users into account. Itaniet al.[92] considers the energy consump-tion issue. This scheme consists of threemain components: a mobile client, a cloudstorage service, and a trusted third party.The scheme performs three phases: theinitialization, update, and verification. Inthe first phase, files .Fx/ that need to besent to the cloud will be assigned with amessage authentication code .MACFx /.These MACF x will be stored locally,while the files will be sent and stored onthe cloud. In the update phase, a case whena user wants to insert the data into file.Fx/ is considered. The cloud then sendsfile .Fx/ to this user. At the same time,the cloud also sends a requirement to thetrusted crypto coprocessor (TCC) to gen-erate MAC 0

Fx. TCC then sends MAC 0

Fxto the client to verify Fx by comparingit with MACFx . If everything is properlyauthenticated, the user can insert/deletedata. Finally, the mobile client can request

MobileClient

LocationBased

ServicesLocation Trusted Server

User location information

Query Result

Cloaked Spatial Region and Query

Candidate PolSet

Figure 5. Overall Architecture of Spatial Cloaking.

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 14: A Survey of Mobile Cloud Computing

A survey of mobile cloud computing H. T. Dinh et al.

the integrity verification of a file, collec-tion of files, or the whole file system storedin the cloud. This phase starts when theuser sends a requirement to verify integrityof files to TCC. TCC then retrieves filesthat need to be checked from the cloud andgenerates MAC 0

Fxto send to the client.

The client only compares the receivedMAC 0

Fxand MACFx that are stored on

its device to verify the integrity of suchfiles. This approach not only verifies theintegrity of data but also saves energy forthe device and bandwidth for the com-munication network. The reason is thatchecking and verification are processed onTCC and the client just runs a simple codefor comparison. The result shows that thissolution can save 90% processing require-ments, thus saving significant energy formobile device.

� Authentication. Chow [93] presents anauthentication method using CC to securethe data access suitable for mobileenvironments. This scheme combinesTrustCube [94] and implicit authentication[95,96] to authenticate the mobile clients.TrustCube is a policy-based cloud authen-tication platform using the open standards,and it supports the integration of vari-ous authentication methods. The authorsbuild an implicit authentication systemusing mobile data (e.g., calling logs, SMSmessages, website accesses, and location)for existing mobile environment. The sys-tem requires input constraints that makeit difficult for mobile users to use com-plex passwords. As a result, this often

leads to the use of simple and short pass-words or personal identification numbers(PINs). Figure 6 shows the system archi-tecture and how the system secures mobileusers’ access. When a web server receivesa request from a mobile client, the webserver redirects the request to the inte-grated authenticated (IA) service alongwith the details of the request. The IAservice retrieves the policy for the accessrequest, extracts the information that needsto be collected, and sends an inquiry tothe IA server through the trusted networkconnect protocol. The IA server receivesthe inquiry, generates a report, and sendsit back to the IA service. After that, theIA service applies the authentication rulein the policy and determines the authen-tication result (whether or not the mobileclient is authenticated successfully for theaccess request) and sends the authen-tication result back to the web server.Based on the authentication result, the webserver either provides the service or deniesthe request.

� Digital rights management. The unstruc-tured digital contents (e.g., video, image,audio, and e-book) have often been piratedand illegally distributed. Protecting thesecontents from illegal access is of cru-cial importance to the content providersin MCC like traditional CC and peer-to-peer networks. Zou et al.[30] proposesPhosphor, a cloud-based mobile digitalrights management (DRM) scheme witha subscriber identity module (SIM) cardin mobile phone to improve the flexibility

Web serverMobile client

IA Engine

Database

Integrated Authentication Service

TNC Server Database

Policy Engine

Implicit Authentication Service

Figure 6. TrustCube architecture.

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 15: A Survey of Mobile Cloud Computing

H. T. Dinh et al. A survey of mobile cloud computing

and reduce the vulnerability of its securityat a low cost. The authors design a licensestate word (LSW) located in a SIM cardand the LSW protocol based on the appli-cation protocol data unit (APDU) com-mand. In addition, the cloud-based DRMwith an efficient unstructured data man-agement service can meet the performancerequirements with high elasticity. Thus,when a mobile user receives the encrypteddata (e.g., video stream) from the con-tent server via real-time transport proto-col, he/she uses the decryption key from aSIM card via APDU command to decode.If the decoding is successful, the mobileuser can watch this video on his/her phone.The drawback of this solution is that it isstill based on the SIM card of the mobilephone; so, it cannot be applied for otherkinds of access; that is, a laptop using WiFito access these contents.

(3) Enhancing the efficiency of data access. With anincreasing number of cloud services, the demandof accessing data resources (e.g., image, files, anddocuments) on the cloud increases. As a result, amethod to deal with (i.e., store, manage, and access)data resources on clouds becomes a significant chal-lenge. However, handling the data resources onclouds is not an easy problem because of the lowbandwidth, mobility, and the limitation of resourcecapacity of mobile devices.

For commercial cloud storage providers (e.g.,Amazon S3), every I/O operations (e.g., put, copy,cut, and list) are taken by the cloud provider. The

I/O operations are executed at a file-level in general,so this increases the cost of network communicationand service for mobile users. Nam et al. [97] pro-poses an algorithm in which I/O operations areexecuted at a block-level. The algorithm uses log-structured I/O transaction [98] to minimize the num-ber of the block-level I/O operations. The main ideahere is to allow the cloud storage log-structure per-form write operation with the optimal number ofdata blocks that adaptively changes with I/O andcloud storage pricing policy. The authors demon-strate that, through experimentation, the proposedsolution reduces the total I/O costs considerably upto 54% compared with the data management at a filelevel in Amazon Simple Storage Service. However,this solution does not consider about access methodsto adapt for this new data management.

Shen et al.[99] presents a cloud-based frame-work, named E-Recall to address the data accessissue. This approach builds a novel infrastructurein managing, searching, sharing, and archiving therich media resources based on the coordination ofmobile search, CC, and multimodality integration.As shown in Figure 7, there are three main func-tional blocks as follow: query formulation, cloud-based indexing structure, and user-centric mediasharing and publishing. Query formulation block isdesigned based on the principle of query depen-dent fusion [100] to optimize the representationfor describing user information and search detail.Meanwhile, the aim of a cloud-based indexing struc-ture block is to provide a database access methodand that of user-centric media is to help mobileclients share and publish media resources in a

World Wide Web

Text keywords Input

Sketch Input

Content InputMultimodal based

scheme to express userinformation need

User-centric richmedia sharing &

publishingmodule

Cloud basedIndexing Structure

..Rich media data collections

Results

Results

Results

Publishing and S

haring

Rich media Objectsto be inserted

Figure 7. Architecture of E-Recall system.

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 16: A Survey of Mobile Cloud Computing

A survey of mobile cloud computing H. T. Dinh et al.

flexible and fast way. This approach addresses bothmanaging and accessing media resource issues inthe cloud.

Another solution to increase the efficiency ofaccessing data on the cloud is using a local storagecache. Koukoumidis et al. [101] presents a solu-tion which utilizes a memory capacity of mobiledevices to increase the speed of data access, reducelatency, and improve energy efficiency for themobile devices. The idea of this solution is tobuild a Pocket Cloudlet based on nonvolatile mem-ory to store the specific parts or even full cloudservices in the mobile devices. Using the PocketCloudlet clearly brings many benefits not only forusers but also for service providers because thissolution can increase access speed and reduce bot-tleneck of wireless link in a cellular network. How-ever, not all data can be stored on the mobile cache.The authors develop an architecture for the PocketCloudlet including data selection and data manage-ment to determine the amount of data to be stored onthe device for each cloud service. Also, this archi-tecture introduces a mechanism to manage and syn-chronize data between mobile devices and the cloudto deal with changes of data on the cloud (e.g.,web contents to be updated over time). This is aneffective architecture for the mobile users accessingdata on the cloud. Nonetheless, there are two issuesin this approach. First, this architecture requires anexpensive nonvolatile memory to store data fromclouds. Second, for each cloud service, the mobiledevices need to determine which parts of servicesto be cached locally. Thus, this is not flexible whenapplying for diverse services on the cloud.

Dong et al. [102] addresses three main issues asfollows: maintaining seamless connection betweenusers and clouds, controlling cache consistency, andsupporting data privacy. As depicted in Figure 8,there are two main functional blocks; that is, randomfile system (RFS) client developed on the mobiledevice and RFS server located on the cloud. Onthe client side, RFS that is built above a local filesystem (FS) layer (e.g., Ext3 or FAT), consists of

four components: encrypt, sync, metadata, and localcache heaps. Sync component will be connectedto the comm component on the RFS server (asshown in Figure 8) via HTTP protocol to synchro-nize the data between a client and the cloud. In thisapproach, the authors propose using RESTful webservice [6] as a service provider and HTTP as acommunication protocol, because they are widelysupported. Besides, to protect data privacy, encryptcomponent is used to control the data encryptionand decryption. Sync and encrypt components areused by the users depending on their demands. Inthe kernel, metadata and local cache heaps aim tomanage and track all files cached on the client. Theyalso provide cache access for the synchronization.On the cloud side, user image service provider isresponsible for managing the user accounts and theRFS image (i.e, the mobile file systems) for eachRFS user. The cloud cache component caches dataaccess for all RFS users to improve the performanceof file access to the cloud. When the cloud receives arequest from a client, it records the file block accesspatterns. Hence, the cloud can predict a new useraccess pattern and apply a server prepush optimiza-tion to increase the speed of file delivery. Finally,the cloud adapter is used to enable all RFS ser-vices to be performed on the diverse cloud stor-age systems, because cloud storage systems havetheir own application programing interface. Thisapproach can be considered as a suitable solutionfor accessing data on the cloud from mobile usersbecause it addresses several issues; that is, device-aware cache management, data privacy, and wirelessconnectivity. In the future, RFS can be improvedby posing policies to manage users (i.e., whatand when to encrypt). Alternatively, some otherapproaches (e.g., Moxie [103]) can be applied tohash the contents of files, thereby optimizing the useof bandwidth.

(4) Context-aware mobile cloud services. It is importantfor the service provider to fulfill mobile users’ satis-faction by monitoring their preferences and provid-ing appropriate services to each of the users. A lot of

Encrypt Sync

Metadata

Local cache heaps

---------------------user

kernel

RFS Client RFS Server

Comm User image

Cloud cache

Cloud adapter

Local FS Cloud FS

http

Figure 8. Random file system architecture.

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 17: A Survey of Mobile Cloud Computing

H. T. Dinh et al. A survey of mobile cloud computing

research work try to utilize the local contexts (e.g.,data types, network status, device environments,and user preferences) to improve the quality ofservice (QoS).

Samimi et al.[104] builds a model, called MobileService Clouds (MSCs), which is extended fromservice clouds paradigm [105]. In this model, whena customer uses a service on the cloud, the user’srequest firstly goes to a service gateway. The gate-way will choose an appropriate primary proxy tomeet the requirements (e.g., the shortest path andminimum round-trip time) and then sends the resultto the user. In the case of disconnection, MSCswill establish transient proxies [106] for mobiledevices to monitor the service path, and supportdynamic reconfiguration (with minimum interrup-tion). The advantages of this model are that themodel addresses the disconnection issue and canmaintain the QoS at an acceptable level.

La and Kim [107] propose a framework for pro-viding context-aware mobile services based on thealgorithm to choose a context-aware adapter. Theauthors consider several contexts such as deviceenvironments, user preferences, and situational con-texts. The algorithm, firstly, determines a gap occur-ring in the given contexts. A gap is defined asa result of context changes. Then, the algorithmdetermines a cause of predefined gaps before sav-ing the current states of the service invocation forrecovering in the case of disconnection. After that,

for each case of the identified gap, this algorithmwill choose an appropriate adapter for the mobileuser. Because the relationship between a cause andan adapter is predefined, the proper action can bechosen and performed. In the case of user pref-erence context, the relationship can be checkedwhen the context of mobile user changes. How-ever, in the other contexts, the relationship cannotbe known when mobile users change to another con-text. Moreover, the causes, adapters, and gaps in thismodel are predefined, so this may lack flexibility inpractical usage.

Unlike [107], [108] builds a middleware mod-ule, called VOLARE, embedded on mobile device,which monitors the resources and contexts ofthe mobile device, thereby dynamically adjustingrequirements of users at a runtime. As shown inFigure 9, when a mobile user launches an applica-tion on his/her mobile device that requires serviceson the cloud, this request is generated at mobileOS before it is sent to the service request mod-ule. At the same time, mobile OS simultaneouslysends context data to context monitoring module,and QoS monitoring data to QoS monitoring mod-ule. An adaptation module will receive a servicerequest request from a service request module andprocess this request along with the alerts receivedfrom a context monitoring module if there are sig-nificantly differences of the contexts and notifica-tions about QoS from QoS monitoring module at

MobileOSMobileOS

Service BindingModule

VOLAVE

QoS MonitoringModule

Adaption Module

Context MonitoringModule

Service Request Module

QoS Monitor

Data

Service Binding

Service Provision

Events

AdaptedService Request

ContextData &

Context ChangeEvents

Service RequestService

Binding

CLOUD Cloud Broker

RenegotiationRequest

Service Binding

AdaptedServiceRequest

Service Binding

ServiceRequest

Service Request

Context Data

Client Device

Mobile OS

Application

Figure 9. The VOLARE middleware modules.

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 18: A Survey of Mobile Cloud Computing

A survey of mobile cloud computing H. T. Dinh et al.

runtime. Therefore, adaptation module can offerthe appropriate service requests based on the con-text and resource data. Because the QoS monitoringmodule periodically performs checking, if the QoSlevels of a service provided by service providers arelower than an accepted level of the request, a ser-vice request module will be notified to launch anew request for discovery of a new service satis-fying the new requirements. The advantage of thismodel is that the model can automatically recognizechanges in the contexts on a mobile device throughthe dependent functionality modules, thereby pro-viding an effective service request for mobile usersat runtime.

5. OPEN ISSUES AND FUTURERESEARCH DIRECTIONS

Several research works contribute to the development ofMCC by tackling issues as presented in the previous sec-tion. However, there are still some issues which need to beaddressed. This section discusses several open issues andpossible research directions in the development of MCC.

5.1. Low bandwidth

Although many researchers propose the optimal and effi-cient way of bandwidth allocation, the bandwidth limita-tion is still a big concern because the number of mobile andcloud users is dramatically increasing. We consider thatfourth generation (4G) network and Femtocell are emerg-ing as promising technologies that overcome the limitationand bring a revolution in improving bandwidth.

(1) 4G network. Fourth generation network is a technol-ogy that significantly increases bandwidth capacityfor subscribers. 4G network is capable of providingup to 100 Mbit/s (for ‘LTE Advanced’ standard) and128 Mbit/s (for ‘WirelessMAN-Advanced’ stan-dard) for mobile users, whereas the current 3Gnetwork supports a maximum of 14.4 Mbit/s.Furthermore, 4G network also promises otheradvantages such as widering mobile coverage area,smoothering quicker handoff, varied services, andso on [109]. Nevertheless, 4G wireless networks stillhave several issues related to network architecture,access protocol, or QoS that are taken into accountin [110].

(2) Femtocell. Femtocell [111] is a small cellular basestation, designed for use in a small area. HaySystems Ltd (HSL) [112] develops a service to com-bine femtocells and CC to deliver a highly eco-nomical, scalable, and secure network for mobileoperators. This allows the resources employed indelivering mobile services over the femtocell net-work to expand or contract as user demands for ser-vices increase or decrease, respectively. The result

is a highly economical femtocell network withonly sufficient resources being used at any givenpoint, without impacting the ability to immediatelyscale to meet demands. In this paradigm, femto-cells located in homes and offices of users con-nect via the Internet to the cloud to gain accessto their operator’s network. Mobile operators con-nect with the cloud enabling their subscribers togain access to their network when using a femto-cell connected to the cloud. However, [112] justshows that femtocell is practically useful when usedwith clouds. We need to investigate a uniform stan-dard and performance impact of using femtocellsin MCC.

5.2. Network access management

An efficient network access management not onlyimproves link performance for mobile users but also opti-mizes bandwidth usage. Cognitive radio can be expectedas a solution to achieve the wireless access managementin mobile communication environment [113]. Cognitiveradio increases the efficiency of the spectrum utilizationsignificantly, by allowing unlicensed users to access thespectrum allocated to the licensed users. When this tech-nique is integrated into MCC, the spectrum can be uti-lized more efficiently. The spectrum scarcity can be solvedand thus millions of dollars for network providers canbe saved [114]. However, cognitive radio is defined aswireless communication technology in which each nodecommunicates via an optimal wireless system based onrecognition of radio resource availability in heterogeneouswireless communication environment. Therefore, mobileusers in MCC must be able to detect this radio resourceavailability (through spectrum sensing) while ensuring thatthe traditional services will not be interfered.

5.3. Quality of service

In MCC, mobile users need to access to servers locatedin a cloud when requesting services and resources in thecloud. However, the mobile users may face some prob-lems such as congestion due to the limitation of wirelessbandwidths, network disconnection, and the signal attenu-ation caused by mobile users’ mobility. They cause delayswhen the users want to communicate with the cloud, soQoS is reduced significantly. Two new research directionsare CloneCloud and Cloudlets that are expected to reducethe network delay.

(1) CloneCloud. CloneCloud brings the power of CCto your smartphones [115]. CloneCloud uses nearbycomputers or data centers to increase the speedof running smartphone applications. The idea is toclone the entire set of data and applications from thesmartphone onto the cloud and to selectively exe-cute some operations on the clones, re-integrating

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 19: A Survey of Mobile Cloud Computing

H. T. Dinh et al. A survey of mobile cloud computing

the results back into the smartphone. One can havemultiple clones for the same smartphone, and clonespretend to be more powerful smartphones, and soon. CloneCloud is limited in some respects by itsinability to migrate native state and to export uniquenative resources remotely. A related limitation isthat CloneCloud does not virtualize access to nativeresources that are not virtualized already and are notavailable on the clone.

(2) Cloudlets. A cloudlet is a trusted, resource-richcomputer or cluster of computers which is well-connected to the Internet and available for useby nearby mobile devices. Thus, when mobiledevices do not want to offload to the cloud (maybedue to delay and cost), they can find and use anearby cloudlet. In this way, mobile users maymeet the demand for real-time interactive responseby low-latency, one-hop, high-bandwidth wirelessaccess to the cloudlet. If no cloudlet is avail-able nearby, the mobile device may refer to thedefault mode that will send requirements to a dis-tant cloud, or in the worst case, solely its ownresources. Satyanarayanan et al.[116] builds anarchitecture through exploiting a virtual machinetechnology to rapidly instantiate customized ser-vice software on a nearby cloudlet and then usesthat service over a wireless local area network.This technology can help mobile users overcomethe limitations of CC due to wide area networklatency and low bandwidth. However, there aresome considerations that need to be addressedbefore this idea can be applied widely in practi-cal system. For example, how to distribute pro-cessing, storage, and networking capacity for eachcloudlet? How to manage policies for cloudletproviders to maximize user experience while min-imizing cost? Also, trust and security for cloudletare other issues in implementing this idea becauseadversaries can create a fake cloudlet to steal theuser’s information.

5.4. Pricing

Using services in MCC involves both mobile serviceprovider (MSP) and cloud service provider (CSP). How-ever, MSPs and CSPs have different services management,customers management, methods of payment, and prices.Therefore, this will lead to many issues; that is, how toset price, how the price will be divided among differ-ent entities, and how the customers pay. For example,when a mobile user runs mobile gaming application onthe cloud, this involves the game service provider (provid-ing a game license), mobile service provider (accessing thedata through base station), and CSP (running game engineon a data center). The price paid by the game player hasto be divided among these three entities such that all ofthem are satisfied with the division. It is clear that the

business model including pricing and revenue sharing hasto be carefully developed for MCC.

5.5. Standard interface

Interoperability becomes an important issue when mobileusers need to interact and communicate with the cloud.The current interface between mobile users and cloud aremostly based on the web interfaces. However, using webinterfaces may not be the best option. First, web interfaceis not specifically designed for mobile devices. Therefore,web interface may have more overhead. Also, compatibil-ity among devices for web interface could be an issue.In this case, the standard protocol, signaling, and inter-face for interacting between mobile users and cloud wouldbe required to ensure seamless services. In the future,HTML5 is expected as a promising technique to addressthis issue. HTML5 WebSockets offer an interface. How-ever, an extensive performance evaluation and feasibilitystudy have to be performed to ensure that it will work inMCC efficiently.

5.6. Service convergence

The development and competition of CSPs can lead tothe fact that in the near future, these services will be dif-ferentiated according to the types, cost, availability andquality. Moreover, in some cases, a single cloud is notenough to meet the mobile user’s demands. Therefore, thenew scheme is needed in which the mobile users can uti-lize multiple clouds in a unified fashion. In this case, thescheme should be able to automatically discover and com-pose services for user. One of the potential solutions ofthis issue is the sky computing, which will be the nextstep of cloud computing. Sky computing is a computingmodel where resources from multiple cloud providers areleveraged to create a large scale distributed infrastructure[117]. Similarly, the mobile sky computing will enablethe providers to support a cross-cloud communication andenable users to implement mobile services and applica-tions. However, to offer a service to mobile user in a unifiedway, the service integration (i.e., convergence) would needto be explored.

6. CONCLUSION

Mobile cloud computing is one of the mobile technologytrends in the future because it combines the advantages ofboth MC and CC, thereby providing optimal services formobile users. That traction will push the revenue of MCCto $5.2 billion. With this importance, this article has pro-vided an overview of MCC in which its definitions, archi-tecture, and advantages have been presented. The appli-cations supported by MCC including m-commerce, m-learning, and mobile healthcare have been discussed whichclearly show the applicability of the MCC to a wide range

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 20: A Survey of Mobile Cloud Computing

A survey of mobile cloud computing H. T. Dinh et al.

of mobile services. Then, the issues and related approachesfor MCC (i.e., from communication and computing sides)have been discussed. Finally, the future research directionshave been outlined.

REFERENCES

1. Satyanarayanan M. Proceedings of the 1st ACMWorkshop on Mobile Cloud Computing & Services:Social Networks and Beyond (MCS), 2010.

2. Satyanarayanan M. Fundamental challenges inmobile computing, In Proceedings of the 5th annualACM symposium on Principles of distributed comput-ing, 1996; 1–7.

3. Ali M. Green cloud on the horizon, In Proceed-ings of the 1st International Conference on CloudComputing (CloudCom), Manila, 2009; 451–459.

4. http://www.mobilecloudcomputingforum.com/.5. White Paper. Mobile Cloud Computing Solution

Brief. AEPONA, 2010.6. Christensen JH. Using RESTful web-services and

cloud computing to create next generation mobileapplications, In Proceedings of the 24th ACM SIG-PLAN conference companion on Object orientedprogramming systems languages and applications(OOPSLA), 2009; 627–634.

7. Liu L, Moulic R, Shea D. Cloud service portal formobile device management, In Proceedings of IEEE7th International Conference on e-Business Engi-neering (ICEBE), 2011; 474.

8. Foster I, Zhao Y, Raicu I, Lu S. Cloud computing andgrid computing 360-degree compared, In Proceed-ings of Workshop on Grid Computing Environments(GCE), 2009; 1.

9. Calheiros RN, Vecchiola C, Karunamoorthy D,Buyya R. The Aneka platform and QoS-drivenresource provisioning for elastic applications onhybrid Clouds. Future Generation Computer Sys-tems, to appear.

10. Buyya R, Yeo CS, Venugopal S, Broberg J, Brandic I.Cloud computing and emerging IT platforms: vision,hype, and reality for delivering computing as the5th utility. Journal on Future Generation ComputerSystems 2009; 25(6): 599–616.

11. Huang Y, Su H, Sun W, et al. Framework for buildinga low-cost, scalable, and secured platform for web-delivered business services. IBM Journal of Researchand Development 2010; 54(6): 535–548.

12. Tsai W, Sun X, Balasooriya J. Service-oriented cloudcomputing architecture, In Proceedings of the 7thInternational Conference on Information Technol-ogy: New Generations (ITNG), 2010; 684–689.

13. Forman GH, Zahorjan J. The Challenges of mobilecomputing. IEEE Computer Society Magazine 1994;27(4): 38–47.

14. Kakerow R. Low power design methodologies formobile communication, In Proceedings of IEEEInternational Conference on Computer Design: VLSIin Computers and Processors, 2003; 8.

15. Paulson LD. Low-power chips for high-poweredhandhelds. IEEE Computer Society Magazine 2003;36(1): 21.

16. Davis JW. Power benchmark strategy for systemsemploying power management, In Proceedings of theIEEE International Symposium on Electronics andthe Environment, 2002; 117.

17. Mayo RN, Ranganathan P. Energy consumption inmobile devices: why future systems need require-ments aware energy scale-down, In Proceedings ofthe Workshop on Power-Aware Computing Systems,2003.

18. Rudenko A, Reiher P, Popek GJ, Kuenning GH. Sav-ing portable computer battery power through remoteprocess execution. Journal of ACM SIGMOBILEon Mobile Computing and Communications Review1998; 2(1).

19. Smailagic A, Ettus M. System design and power opti-mization for mobile computers, In Proceedings ofIEEE Computer Society Annual Symposium on VLSI,2002; 10.

20. Kremer U, Hicks J, Rehg J. A compilation frame-work for power and energy management on mobilecomputers, In Proceedings of the 14th InternationalConference on Languages and Compliers for ParallelComputing, 2001; 115–131.

21. Cuervo E, Balasubramanian A, Dae-ki C, et al.MAUI: making smartphones last longer with codeoffload, In Proceedings of the 8th InternationalConference on Mobile systems, applications, andservices, 2010; 49–62.

22. http://aws.amazon.com/s3/.23. Vartiainen E, Mattila KV-V. User experience of

mobile photo sharing in the cloud, In Proceedingsof the 9th International Conference on Mobile andUbiquitous Multimedia (MUM), 2010.

24. http://www.flickr.com/.25. http://www.shozu.com/portal/index.do.26. http://www.facebook.com/.27. Garcia A, Kalva H. Cloud transcoding for mobile

video content delivery, In Proceedings of the IEEEInternational Conference on Consumer Electronics(ICCE), 2011; 379.

28. Kumar K, Lu Y. Cloud computing for mobile users:can offloading computation save energy. IEEE Com-puter Society 2010; 43(4).

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 21: A Survey of Mobile Cloud Computing

H. T. Dinh et al. A survey of mobile cloud computing

29. Li L, Li X, Youxia S, Wen L. Research on mobilemultimedia broadcasting service integration basedon cloud computing, In Proceedings of the IEEEInternational Conference on Multimedia Technology(ICMT), 2010; 1.

30. Zou P, Wang C, Liu Z, Bao D. Phosphor: a cloudbased drm scheme with SIM card, In Proceedings ofthe 12th International Asia-Pacific on Web Confer-ence (APWEB), 2010; 459.

31. Oberheide J, Veeraraghavan K, Cooke E, Flinn J,Jahanian F. Virtualized in-cloud security services formobile devices, In Proceedings of the 1st Workshopon Virtualization in Mobile Computing (MobiVirt),2008; 31–35.

32. Yang X, Pan T, Shen J. On 3G mobile e-commerceplatform based on cloud computing, 2010; 198–201.

33. Dai J, Zhou Q. A PKI-based mechanism for secureand efficient access to outsourced data, In Proceed-ings of the 2nd International Conference on Network-ing and Digital Society (ICNDS), 2010; 640.

34. Leina Z, Tiejun P, Guoqing Y. Research of mobilesecurity solution for fourth party logistics, InProceedings of the 6th International Conferenceon Semantics Knowledge and Grid (SKG), 2011;383–386.

35. Chen X, Liu* J, Han J, Xu H. Primary exploration ofmobile learning mode under a cloud computing envi-ronment, In Proceedings of the International Con-ference on E-Health Networking, Digital Ecosystemsand Technologies (EDT), vol.2, 2010; 484–487.

36. Gao H, Zhai Y. System design of cloud computingbased on mobile learning, In Proceedings of the 3rdInternational Symposium on Knowledge Acquisitionand Modeling (KAM), 2010; 293–242.

37. Li J. Study on the development of mobile learn-ing promoted by cloud computing, In Proceedingsof the 2nd International Conference on Informa-tion Engineering and Computer Science (ICIECS),2010; 1.

38. Zhao W, Sun Y, Dai L. Improving computerbasis teaching through mobile communication andcloud computing technology, In Proceedings of the3rd International Conference on Advanced Com-puter Theory and Engineering (ICACTE), 2010;452–454.

39. Yin C, David B, Chalon R. Use your mobile com-puting devices to learn - Contextual mobile learn-ing system design and case studies, In Proceedingsof the 2nd IEEE International Conference on Com-puter Science and Information Technology (ICCSIT),2009; 440.

40. Rieger R, Gay G. Using mobile computing to enhancefield study, In Proceedings of the 2nd international

conference on Computer support for collaborativelearning (CSCL), 1997; 218–226.

41. Ferzli R, Khalife I. Mobile cloud computing edu-cational tool for image/video processing algorithms,In Digital Signal Processing Workshop and IEEESignal Processing Education Workshop (DSP/SPE),2011; 529.

42. Kohn LT, Corrigan JM, Donaldson S. To Err IsHuman: Building a Safer Health System. NationalAcademy Press: Washington, 1999.

43. Kopec D, Kabir MH, Reinharth D, Rothschild O,Castiglione JA. Human errors in medical prac-tice: systematic classification and reduction withautomated information systems. Journal of MedicalSystems 2003; 27(4): 297–313.

44. Varshney U. Pervasive healthcare and wireless healthmonitoring. Journal on Mobile Networks and Appli-cations 2007; 12(2-3): 113–127.

45. Doukas C, Pliakas T, Maglogiannis I. Mobile health-care information management unitizing cloud com-puting and Android OS, In Annual InternationalConference of the IEEE on Engineering in Medicineand Biology Society (EMBC), 2010; 1037–1040.

46. Tang W-T, Hu C-M, Hsu C-Y. A mobile phonebased homecare management system on the cloud,In Proceedings of the 3rd International Confer-ence on Biomedical and Informatics (BMEI), 2010;2442.

47. Hoang DB, Chen L. Mobile cloud for assistivehealthcare (MoCAsH), In Proceedings of the 2010IEEE Asia-Pacific Services Computing Conference(APSCC), 2011; 325.

48. Nkosi MT, Mekuria F. Cloud computing forenhanced mobile health applications, In Proceedingsof the 2nd IEEE International Conference on CloudComputing Technology and Science, 2011; 629.

49. Li Z, Wang C, Xu R. Computation offloading to saveenergy on handheld devices: a partition scheme, InProceedings of the 2001 international conference onCompilers, architecture, and synthesis for embeddedsystems (CASES), 2001; 238–246.

50. Wang S, Dey S. Rendering adaptation to addresscommunication and computation constraints in cloudmobile gaming, In IEEE Global TelecommunicationsConference (GLOBECOM), 2011; 1–6.

51. Li H, Hua X-S. Melog: mobile experience shar-ing through automatic multimedia blogging, In Pro-ceedings of the 2010 ACM multimedia workshopon Mobile cloud media computing (MCMC), 2010;19–24.

52. Ye Z, Chen X, Li Z. Video based mobile locationsearch with large set of SIFT points in cloud, InProceedings of the 2010 ACM multimedia workshop

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 22: A Survey of Mobile Cloud Computing

A survey of mobile cloud computing H. T. Dinh et al.

on Mobile cloud media computing (MCMC), 2010;25–30.

53. http://www.onehourtranslation.com/.54. Pendyala VS, Holliday J. Performing intelligent

mobile searches in the cloud using semantictechnologies, In IEEE International Conference onGranular Computing, 2010; 381.

55. Lagerspetz E, Tarkoma S. Cloud-assisted mobiledesktop search, In Proceedings of the 8th IEEEInternational Conference on Pervasive Computingand Communications Workshops (PERCOM), 2010;826.

56. Lagerspetz E, Lindholm T, Tarkoma S. Dessy:towards flexible mobile desktop search, In Proceed-ings of the DIALM-POMC International Workshopon Foundations of Mobile Computing, 2007.

57. Fabbrizio GD, Okken T, Wilpon JG. A speechmashup framework for multimodal mobile services,In Proceedings of the 2009 international confer-ence on Multimodal interfaces (ICMI-MLMI), 2009;71–78.

58. Cai-Dong G, Kan L, Jian-Ping W, et al. Theinvestigation of cloud-computing-based image min-ing mechanism in mobile communication WEB onAndroid, In Proceedings of the 9th InternationalConference on Grid and Cooperative Computing(GCC), 2011; 408.

59. Angin P, Bhargava B, Helal S. A mobile-cloud col-laborative traffic lights detector for blind navigation,In Proceedings of the 2010 Eleventh InternationalConference on Mobile Data Management (MDM),2010; 396–401.

60. Li Y-C, Liao I-J, Cheng H-P, Lee W-T, A cloudcomputing framework of free view point real-time monitor system working on mobile devices,In International Symposium on Intelligent SignalProcessing and Communication Systems (ISPACS),2011; 1.

61. Zhenyu W, Chunhong Z, Yang J, Hao W. Towardscloud and terminal collaborative mobile social net-work service, In Proceedings of the 2nd IEEEInternational Conference on Social Computing(SocialCom), 2010; 623.

62. Kelenyi I, Nurminen JK. CloudTorrent - energy-efficient bittorrent content sharing for mobile devicesvia cloud services, In Proceedings of the 7th IEEE onConsumer Communications and Networking Confer-ence (CCNC), 2010; 1.

63. Jin X, Kwok YK. Cloud assisted P2P media stream-ing for bandwidth constrained mobile subscribers, InProceedings of the 16th IEEE International Confer-ence on Parallel and Distributed Systems (ICPADS),2011; 800.

64. Jung E, Wang Y, Prilepov I, Maker F, Liu X,Akella V. User-profile-driven collaborative band-width sharing on mobile phones, In Proceedings ofthe 1st ACM Workshop on Mobile Cloud Comput-ing & Services: Social Networks and Beyond (MCS),2010.

65. Huerta-Canepa G, Lee D. A virtual cloud comput-ing provider for mobile devices, In Proceedings ofthe 1st ACM Workshop on Mobile Cloud Comput-ing & Services: Social Networks and Beyond (MCS),2010.

66. Zhang L, Ding X, Wan Z, Gu M, Li XY. WiFace:a secure geosocial networking system using WiFi-based multi-hop MANET, In Proceedings of the1st ACM Workshop on Mobile Cloud Computing &Services: Social Networks and Beyond (MSC), 2010.

67. Klein A, Mannweiler C, Schneider J, Hans D. Accessschemes for mobile cloud computing, In Proceedingsof the 11th International Conference on Mobile DataManagement (MDM), 2010; 387.

68. Klein A, Mannweiler C, Schotten HD. A frameworkfor intelligent radio network access based on contextmodels, In Proceedings of the 22nd WWRF meeting2009, 2009.

69. Jigang W, Thambipillai S. A branch-and-bound algo-rithm for hardware/software partitioning, In Pro-ceedings of the 4th IEEE International Symposiumon Signal Processing and Information Technology,2005; 526.

70. Chen G, Kang BT, Kandermir M, Vijaykrishnan N,Irwin MJ, Chandranouli R. Studying energy tradeoffs in offloading computation/compilation in Java-enabled mobile devices. IEEE Transactions onParallel and Distributed Systems 2004; 15(9): 795.

71. Wang C, Li Z. A computation offloading scheme onhandheld devices. Journal of Parallel and DistributedComputing Special issue on middleware 2004; 64(6):740–746.

72. Andersien L. Program analysis and specialization forthe C programming language, Ph.D thesis, DIKU,University of Copenhagen, 1994.

73. Wilson RP, Lam MS. Efficient context-sensitivepointer analysis for C programs, In Proceedings ofthe ACM SIGPLAN ’95 Conference on ProgrammingLanguage Design and Implementation (PLDI), 1995;1–12.

74. Kimmo E, Raatikainen E. Cluster analysis and work-load classification, In ACM SIGMETRICS Perfor-mance Evaluation Review, 1993.

75. Dai YS, Xie M, Wang X. A heuristic algorithm forreliability modeling and analysis of grid systems.IEEE Transactions on Systems, Man and Cybernetics,Part A: Systems and Humans 2007; 37(2): 189.

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 23: A Survey of Mobile Cloud Computing

H. T. Dinh et al. A survey of mobile cloud computing

76. Hunt GC, Scott ML. The Coign automatic distributedpartitioning system, In Proceedings of the 3rd sym-posium on Operating systems design and implemen-tation (OSDI), 1999; 187–200.

77. Stoer M, Wagner F. A simple min-cut algorithm.Journal of the ACM (JACM) 1997; 4: 44.

78. Xian C, Lu YH, Li Z. Adaptive computation offload-ing for energy conservation on battery-poweredsystems, In International Conference on Parallel andDistributed Systems, 2009; 1.

79. Ou S, Yang K, Liotta A, Hu L. Performanceanalysis of offloading systems in mobile wirelessenvironments, In Proceedings of the IEEE Interna-tional Conference on Communications (ICC), 2007;1821.

80. Tang MH, Cao J. A dynamic mechanism for han-dling mobile computing environmental changes, InProceedings of the 1st international conferenceon Scalable information systems (InfoScale), 2006;1–9.

81. Chun B-G, Maniatis P. Dynamically partitioningapplications between weak devices and clouds, InProceedings of the 1st ACM Workshop on MobileCloud Computing & Services: Social Networks andBeyond (MCS), 2010.

82. Oberheide J, Cooke E, Jahanian F. Rethinkingantivirus: executable analysis in the network cloud,In Proceedings of the 2nd USENIX workshop on Hottopics in security (HOTSEC), 2007.

83. Oberheide J, Cooke E, Jahanian F. Cloudav: N-version antivirus in the network cloud, In Processingof the 17th USENIX Security Symposium, 2008.

84. Ogness J. Dazuko: an open solution to facilitate on-access scanning, In Proceedings of the 13th VirusBulletin International Conference, 2003.

85. Portokalidis G, Homburg P, Anagnostakis K, BosH. Paranoid Android: versatile protection for smart-phones, In Proceedings of the 26th Annual ComputerSecurity Application Conference (ACSAC), 2010;347–356.

86. Zhangwei H, Mingjun X. A distributed spatial cloak-ing protocol for location privacy, In Proceedings ofthe 2nd International Conference on Networks Secu-rity Wireless Communications and Trusted Comput-ing (NSWCTC), 2010; 468.

87. Sweeney L. K-anonymity: a model for protectingprivacy. International Journal of Uncertainty Fuzzi-ness and Knowledge-Based Systems 2002; 10(5):557–570.

88. Wang S, Wang XS. In-device spatial cloaking formobile user privacy assisted by the cloud, In Proceed-ings of the 11th International Conference on MobileData Management (MDM), 2010; 381.

89. Chow C-Y, Mokbel MF, Aref WG. Casper*: queryprocessing for location services without compromis-ing privacy. ACM Transactions on Database Systems(TODS) 2009; 34(4): 1–48.

90. Tanenbaum A, Van Steen M. Distributed Systems:Principles and Paradigms. Pearson Prentice Hall,2007.

91. Wang W, Li Z, Owens R, Bhargava B. Secure andefficient access to outsourced data, In ACM CloudComputing Security Workshop (CCSW), 2009; 55–66.

92. Itani W, Kayssi A, Chehab A. Energy-efficient incre-mental integrity for securing storage in mobile cloudcomputing, In International Conference on EnergyAware Computing (ICEAC), January 2011; 1.

93. Chow R, Jakobsson M, Masuoka R, et al. Authenti-cation in the clouds: a framework and its applicationto mobile users, In Proceedings of the 2010 ACMworkshop on Cloud computing security workshop(CCSW), 2010; 1–6.

94. Song Z, Molina J, Lee S, Kotani S, Masuoka R.TrustCube: an infrastructure that builds trust in client,In Proceedings of the 1st International Conference onFuture of Trust in Computing, 2009.

95. Jakobsson M, Shi E, Golle P, Chow R. Implicitauthentication for mobile devices, In Processing ofthe 4th USENIX Workshop on Hot Topics in Security(HotSec), 2009.

96. Shi E, Niu Y, Jakobsson M, Chow R. Implicitauthentication through learning user behavior, InProceedings of the Implicit authentication SecurityConference (ISC), 2010.

97. Nam YJ, Park YK, Lee JT, Ishengoma F. Cost-awarevirtual USB drive: providing cost-effective block i/omanagement commercial cloud storage for mobiledevices, In Proceedings of the 13th IEEE Interna-tional Conference on Computational Science andEngineering (CSE), 2011; 427.

98. Rosenblum M, Ousterhout JK. The design and imple-mentation of a log-structured file system. ACM Trans-actions on Computer Systems (TOCS) 1992; 10(1):26–52.

99. Shen J, Yan S, Hua X-S. The e-recall environment forcloud based mobile rich media data management, InProceedings of the 2010 ACM multimedia workshopon Mobile cloud media computing, 2010; 31–34.

100. Kennedy L, Chang SF, Natsev A. Query-adaptivefusion for multimodal search. Proceedings of theIEEE Magazine 2008; 96(4): 567–588.

101. Koukoumidis E, Lymberopoulos D, Strauss K, Liu J,Burger D. Pocket cloudlets, In Proceedings of the16th international conference on Architectural sup-port for programming languages and operating sys-tems (ASPLOS), 2011; 171–184.

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 24: A Survey of Mobile Cloud Computing

A survey of mobile cloud computing H. T. Dinh et al.

102. Dong Y, Peng J, Wang D, et al. RFS: a networkfile system for mobile devices and the cloud. ACMSIGOPS Operating Systems Review 2011; 45(1):101–111.

103. Eaton RP. Improving Access to Remote Storage forWeakly Connected Users. University of California atBerkeley: Berkeley, 2007.

104. Samimi FA, Mckinley PK, Sadjadi SM. Mobile ser-vice clouds: a self-managing infrastructure for auto-nomic mobile computing services, In Proceedingsof the 2nd International Workshop on Self-ManagedNetworks,Systems & Services (SelfMan),vol. 3996,2006; 130–141.

105. McKinley PK, Samimi FA, Shapiro JK, Tang C. Ser-vice Clouds: A Distributed Infrastructure For Con-structing Autonomic Communication Services, InProceedings of the 2nd IEEE International Sympo-sium on Dependable,Autonomic and Secure Comput-ing, 2006; 341.

106. Samimi FA, McKinley PK, Sadjadi SM, Ge P.Kernel-middleware interaction to support adaptationin pervasive computing environments, In Proceedingsof the 2nd workshop on Middleware for pervasive andad-hoc computing (MPAC), 2004; 140–145.

107. La HH, Kim SD. A Conceptual framework for provi-sioning context-aware mobile cloud services, In Pro-ceedings of the 3rd IEEE International Conference onCloud Computing (CLOUD), 2010; 466.

108. Papakos P, Capra L, Rosenblum DS. VOLARE:context-aware adaptive cloud service discovery formobile systems, In Proceedings of the 9th Interna-tional Workshop on Adaptive and Reflective Middle-ware (ARM), 2010; 32–38.

109. Rahman M, Mir FAM. Fourth Generation (4G)mobile networks - features,technologies & issues, InProceedings of the 6th IEEE International Confer-ence on 3G and Beyond, 2007; 1.

110. Varshney U, Jain R. Issues in emerging 4G wirelessnetworks. Computer 2002; 34(6): 94–96.

111. Boccuzzi J, Ruggiero M. Femtocells: Design &Application. McGraw-Hill, 2011.

112. http://www.haysystems.com/.113. Yucek T, Arslan H. A survey of spectrum sens-

ing algorithms for cognitive radio applications, InIEEE Communications Surveys & Tutorials, 2009;116–130.

114. Ge F, Lin H, Khajeh A. Cognitive radio rides onthe cloud, In Military Communications Conference(MILCOM), 2011; 1448.

115. Chun BG, Ihm S, Maniatis P, Naik M, Patti A.CloneCloud: elastic execution between mobile device

and cloud, In Proceedings of the 6th conference onComputer systems (EuroSys), 2011; 301–314.

116. Satyanarayanan M, Bahl P, Caceres R, Davies N. Thecase for VM-based cloudlets in mobile computing.IEEE Pervasive Computing 2009; 8(4): 14–23.

117. Keahey K, Tsugawa M, Matsunaga A, Fortes J.Sky Computing. IEEE Internet Computing Magazine2009; 13(5): 43.

AUTHORS’ BIOGRAPHIES

Dinh Thai Hoang received hisElectronics and Telecommunicationsdiploma in 2009 from HUT (HanoiUniversity of Technology), Vietnam.He joined the Network lab in HUTfrom February 2009 to June 2010 inproject ‘Development of the serviceplatform for next generation networks(NGN/UMTS)’. He has been a project

officer since November 2010 in NTU (Nanyang Techno-logical University) – Singapore. His current research inter-ests include design, analysis, and optimization of wirelesscommunication and mobile cloud computing.

Chonho Lee currently works as aresearch fellow at the School of Com-puter Engineering, Nanyang Tech-nological University, Singapore. Hereceived his BS and MS in Com-puter Science from the University ofCalifornia, Irvine and PhD in Com-puter Science from the Universityof Massachusetts, Boston, 2010. His

current research interests include optimization and self-adaptation using game theory and bio-inspired approachesin large-scale network systems such as data centersand clouds.

Dusit Niyato is currently an assis-tant professor in the Division ofComputer Communications, Schoolof Computer Engineering, NanyangTechnological University, Singapore.His current research interests includedesign, analysis, and optimization ofwireless communication and mobilecloud computing, smart grid systems,

and green radio communications. Dusit serves as an edi-tor for the IEEE Transactions on Wireless Communica-tions, Wireless Communications and Mobile Computing(WCMC) Journal, and Journal of Communications andNetworks (JCN).

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm

Page 25: A Survey of Mobile Cloud Computing

H. T. Dinh et al. A survey of mobile cloud computing

Ping Wang received the BE andME degrees from Huazhong Uni-versity of Science and Technology,Wuhan, China, in 1994 and 1997,respectively, and the PhD degreefrom University of Waterloo, Ontario,Canada, in 2008, all in electrical engi-neering. Since June 2008, she hasbeen an assistant professor in the

School of Computer Engineering, Nanyang Technological

University, Singapore. Her current research interestsinclude QoS provisioning and resource allocation in wire-less communications and cloud computing. She was acorecipient of the Best Paper Award from the IEEE Interna-tional Conference on Communications (ICC 07). She is amember of the IEEE. She is an editor of IEEE Transactionson Wireless Communications, EURASIP Journal on Wire-less Communications and Networking, International Jour-nal of Communication Systems, and International Journalof Ultra Wideband Communications and Systems.

Wirel. Commun. Mob. Comput. (2011) © 2011 John Wiley & Sons, Ltd.DOI: 10.1002/wcm