You are on page 1of 25

WIRELESS COMMUNICATIONS AND MOBILE COMPUTING

Wirel. Commun. Mob. Comput. 2013; 13:1587–1611


Published online 11 October 2011 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: dniyato@ntu.edu.sg

1. INTRODUCTION minimal management efforts or service provider’s interac-


tions. With the explosion of mobile applications and the
Mobile devices (e.g., smartphone and tablet PC) are support of CC for a variety of services for mobile users,
increasingly becoming an essential part of human life as mobile cloud computing (MCC) is introduced as an inte-
the most effective and convenient communication tools not gration of CC into the mobile environment. MCC brings
bounded by time and place. Mobile users accumulate rich new types of services and facilities mobile users to take
experience of various services from mobile applications full advantages of CC.
(e.g., iPhone apps and Google apps), which run on the This paper presents a comprehensive survey on MCC.
devices and/or on remote servers via wireless networks. Section 2 provides a brief overview of MCC including defi-
The rapid progress of mobile computing (MC) [1] becomes nition, architecture, and its advantages. Section 3 discusses
a powerful trend in the development of IT technology as the use of MCC in various applications. Then, Section 4
well as commerce and industry fields. However, the mobile presents several issues that arise in MCC and approaches to
devices are facing many challenges in their resources (e.g., address the issues. Next, the future research directions are
battery life, storage, and bandwidth) and communications outlined in Section 5. Finally, we summarize and conclude
(e.g., mobility and security) [2]. The limited resources the survey in Section 6. The list of acronyms appeared in
significantly impede the improvement of service qualities. this paper is given in Table I.
Cloud computing (CC) has been widely recognized as
the next generation computing infrastructure. CC offers
some advantages by allowing users to use infrastructure 2. OVERVIEW OF MOBILE CLOUD
(e.g., servers, networks, and storages), platforms (e.g., mid- COMPUTING
dleware services and operating systems), and softwares
(e.g., application programs) provided by cloud providers The term ‘mobile cloud computing’ was introduced not
(e.g., Google, Amazon, and Salesforce) at low cost. In long after the concept of ‘cloud computing’. It has been
addition, CC enables users to elastically utilize resources attracting the attentions of entrepreneurs as a profitable
in an on-demand fashion. As a result, mobile applica- business option that reduces the development and run-
tions can be rapidly provisioned and released with the ning cost of mobile applications, of mobile users as a

Copyright © 2011 John Wiley & Sons, Ltd. 1587


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

Table I. Acronyms

4G Fourth Generation
AAA Authentication, Authorization, Accounting
APDV Application Protocol Data Unit
API Application Programing Interface
ARM Advanced RISC Machine
AV Antivirus
B2B Business to Business
B2C Business to Customer
BTS Base Transceiver Station
CC Cloud Computing
CSP Cloud Service Provider
EC2 Elastic Compute Cloud
GPS Global Positioning System
HA Home Agent
IaaS Infrastructure as a Service
IA Integrated Authenticated
ID Identifier
IMERA French acronym for Mobile Interaction in Augmented Reality Environment
ISP Internet Service Provider
IRNA Intelligent Radio Network Access
JME Java ME, a Java platform
LBS Location Base Service
LTE Long Term Evolution
LTS Location Trusted Server
MAUI Memory Arithmetic Unit and Interface
MC Mobile Computing
MCC Mobile Cloud Computing
MDP Markov Decision Process
MSC Mobile Service Cloud
P2P Peer-to-Peer
PaaS Platform as a Service
QoS Quality of Service
RACE Resource-Aware Collaborative Execution
REST Repretational State Transfer
RFS Random File System
RTP Real-time Transport Protocol
S3 Simple Storage Service
SaaS Software as a Service
TCC Truster Crypto Coprocessor
URI Uniform Resource Identifier

new technology to achieve rich experience of a variety of applications and MC to not just smartphone users but a
mobile services at low cost, and of researchers as a promis- much broader range of mobile subscribers’.
ing solution for green IT [3]. This section provides an Aepona [5] describes MCC as a new paradigm for
overview of MCC including definition, architecture, and mobile applications whereby the data processing and stor-
advantages of MCC. age are moved from the mobile device to powerful and
centralized computing platforms located in clouds. These
centralized applications are then accessed over the wireless
2.1. What is mobile cloud computing? connection based on a thin native client or web browser on
the mobile devices.
The MCC forum defines MCC as follows [4]: Alternatively, MCC can be defined as a combination of
‘Mobile cloud computing at its simplest, refers to an mobile web and CC [6,7], which is the most popular tool
infrastructure where both the data storage and data pro- for mobile users to access applications and services on the
cessing happen outside of the mobile device. Mobile cloud Internet.
applications move the computing power and data storage Briefly, MCC provides mobile users with the data pro-
away from mobile phones and into the cloud, bringing cessing and storage services in clouds. The mobile devices

1588 Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd.
DOI: 10.1002/wcm
H. T. Dinh et al. A survey of mobile cloud computing

do not need a powerful configuration (e.g., CPU speed and programming models [9]. [10] presents an architecture
memory capacity) because all the complicated computing for creating market-oriented clouds and [11] proposes an
modules can be processed in the clouds. architecture for web-delivered business services. In this
paper, we focus on a layered architecture of CC (Figure 2).
This architecture is commonly used to demonstrate the
2.2. Architectures of mobile cloud
effectiveness of the CC model in terms of meeting the
computing
user’s requirements [12].
Generally, a CC is a large-scale distributed network sys-
From the concept of MCC, the general architecture of
tem implemented based on a number of servers in data
MCC can be shown in Figure 1. In Figure 1, mobile devices
centers. The cloud services are generally classified based
are connected to the mobile networks via base stations
on a layer concept (Figure 2). In the upper layers of this
(e.g., base transceiver station, access point, or satellite)
paradigm, Infrastructure as a Service (IaaS), Platform as
that establish and control the connections (air links) and
a Service (PaaS), and Software as a Service (SaaS) are
functional interfaces between the networks and mobile
stacked.
devices. Mobile users’ requests and information (e.g., ID
and location) are transmitted to the central processors that
are connected to servers providing mobile network ser-  Data centers layer. This layer provides the hardware
vices. Here, mobile network operators can provide ser- facility and infrastructure for clouds. In data center
vices to mobile users as authentication, authorization, and layer, a number of servers are linked with high-speed
accounting based on the home agent and subscribers’ data networks to provide services for customers. Typically,
stored in databases. After that, the subscribers’ requests data centers are built in less populated places, with a
are delivered to a cloud through the Internet. In the cloud, high power supply stability and a low risk of disaster.
cloud controllers process the requests to provide mobile  IaaS. Infrastructure as a Service is built on top of
users with the corresponding cloud services. These ser- the data center layer. IaaS enables the provision of
vices are developed with the concepts of utility computing, storage, hardware, servers, and networking compo-
virtualization, and service-oriented architecture (e.g., web, nents. The client typically pays on a per-use basis.
application, and database servers). Thus, clients can save cost as the payment is only
The details of cloud architecture could be different in based on how much resource they really use. Infras-
different contexts. For example, a four-layer architecture tructure can be expanded or shrunk dynamically as
is explained in [8] to compare cloud computing with needed. The examples of IaaS are Amazon Elastic
grid computing. Alternatively, a service-oriented architec- Cloud Computing and Simple Storage Service (S3).
ture, called Aneka, is introduced to enable developers to  PaaS. Platform as a Service offers an advanced inte-
build. Microsoft .NET applications with the supports of grated environment for building, testing, and deploy-
application programming interfaces (APIs) and multiple ing custom applications. The examples of PaaS are

Figure 1. Mobile cloud computing architecture.

Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd. 1589
DOI: 10.1002/wcm
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)

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

Data centers

Figure 2. Service-oriented cloud computing architecture.

Google App Engine, Microsoft Azure, and Amazon (i.e., mobile devices) to resourceful machines (i.e.,
Map Reduce/Simple Storage Service. servers in clouds). This avoids taking a long applica-
 SaaS. Software as a Service supports a software dis- tion execution time on mobile devices which results
tribution with specific requirements. In this layer, in large amount of power consumption.
the users can access an application and informa- Rudenko et al. [18] and Smailagic and Ettus
tion remotely via the Internet and pay only for that [19] evaluate the effectiveness of offloading tech-
they use. Salesforce is one of the pioneers in pro- niques through several experiments. The results
viding this service model. Microsoft’s Live Mesh demonstrate that the remote application execution
also allows sharing files and folders across multiple can save energy significantly. Especially, Rudenko
devices simultaneously. et al. [18] evaluates large-scale numerical com-
putations and shows that up to 45% of energy
Although the CC architecture can be divided into four consumption can be reduced for large matrix calcu-
layers as shown in Figure 2, it does not mean that the top lation. In addition, many mobile applications take
layer must be built on the layer directly below it. For exam- advantages from task migration and remote pro-
ple, the SaaS application can be deployed directly on IaaS, cessing. For example, offloading a compiler opti-
instead of PaaS. Also, some services can be considered as mization for image processing [20] can reduce
a part of more than one layer. For example, data storage 41% for energy consumption of a mobile device.
service can be viewed as either in IaaS or PaaS. Given this Also, using memory arithmetic unit and interface
architectural model, the users can use the services flexibly (MAUI) to migrate mobile game components [21]
and efficiently. to servers in the cloud can save 27% of energy
consumption for computer games and 45% for the
2.3. Advantages of mobile cloud chess game.
computing (2) Improving data storage capacity and processing
power. Storage capacity is also a constraint for
Cloud computing is known to be a promising solution for mobile devices. MCC is developed to enable mobile
MC because of many reasons (e.g., mobility, communica- users to store/access the large data on the cloud
tion, and portability [13]). In the following, we describe through wireless networks. First example is the
how the cloud can be used to overcome obstacles in MC, Amazon Simple Storage Service [22] which sup-
thereby pointing out advantages of MCC. ports file storage service. Another example is Image
Exchange which utilizes the large storage space in
(1) Extending battery lifetime. Battery is one of the clouds for mobile users [23]. This mobile photo
main concerns for mobile devices. Several solutions sharing service enables mobile users to upload
have been proposed to enhance the CPU perfor- images to the clouds immediately after capturing.
mance [14,15] and to manage the disk and screen in Users may access all images from any devices. With
an intelligent manner [16,17] to reduce power con- the cloud, the users can save considerable amount
sumption. However, these solutions require changes of energy and storage space on their mobile devices
in the structure of mobile devices, or they require because all images are sent and processed on the
a new hardware that results in an increase of cost clouds. Flicker [24] and ShoZu [25] are also the suc-
and may not be feasible for all mobile devices. cessful mobile photo sharing applications based on
Computation offloading technique is proposed with MCC. Facebook [26] is the most successful social
the objective to migrate the large computations and network application today, and it is also a typical
complex processing from resource-limited devices example of using cloud in sharing images.

1590 Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd.
DOI: 10.1002/wcm
H. T. Dinh et al. A survey of mobile cloud computing

Mobile cloud computing also helps in reducing  Multitenancy. Service providers (e.g., network oper-
the running cost for compute-intensive applications ator and data center owner) can share the resources
that take long time and large amount of energy and costs to support a variety of applications and large
when performed on the limited-resource devices. number of users.
CC can efficiently support various tasks for data  Ease of integration. Multiple services from different
warehousing, managing and synchronizing multi- service providers can be integrated easily through the
ple documents online. For example, clouds can be cloud and Internet to meet the user demand.
used for transcoding [27], playing chess [21,28],
or broadcasting multimedia services [29] to mobile 3. APPLICATIONS OF MOBILE
devices. In these cases, all the complex calcula- CLOUD COMPUTING
tions for transcoding or offering an optimal chess
move that take a long time when perform on mobile Mobile applications gain increasing share in a global
devices will be processed efficiently on the cloud. mobile market. Various mobile applications have taken the
Mobile applications also are not constrained by stor- advantages of MCC. In this section, some typical MCC
age capacity on the devices because their data now applications are introduced.
is stored on the cloud.
(3) Improving reliability. Storing data or running appli-
cations on clouds is an effective way to improve 3.1. Mobile commerce
the reliability because the data and application are
stored and backed up on a number of computers. Mobile commerce (m-commerce) is a business model
This reduces the chance of data and application lost for commerce using mobile devices. The m-commerce
on the mobile devices. In addition, MCC can be applications generally fulfill some tasks that require
designed as a comprehensive data security model mobility (e.g., mobile transactions and payments, mobile
for both service providers and users. For example, messaging, and mobile ticketing). The m-commerce appli-
the cloud can be used to protect copyrighted digital cations can be classified into few classes including finance,
contents (e.g., video, clip, and music) from being advertising, and shopping (Table II).
abused and unauthorized distribution [30]. Also, the The m-commerce applications have to face various chal-
cloud can remotely provide to mobile users with lenges (e.g., low network bandwidth, high complexity of
security services such as virus scanning, malicious mobile device configurations, and security). Therefore,
code detection, and authentication [31]. Also, such m-commerce applications are integrated into CC environ-
cloud-based security services can make efficient ment to address these issues. Yang et al.[32] proposes a 3G
use of the collected record from different users to E-commerce platform based on CC. This paradigm com-
improve the effectiveness of the services. bines the advantages of both third generation (3G) network
and CC to increase data processing speed and security level
[33] based on public key infrastructure (PKI). The PKI
In addition, MCC also inherits some advantages of mechanism uses an encryption-based access control and an
clouds for mobile services as follows: over-encryption to ensure privacy of user’s access to the
outsourced data. In [34], a 4PL-AVE trading platform uti-
 Dynamic provisioning. Dynamic on-demand provi- lizes CC technology to enhance the security for users and
sioning of resources on a fine-grained, self-service improve the customer satisfaction, customer intimacy, and
basis is a flexible way for service providers and cost competitiveness.
mobile users to run their applications without
advanced reservation of resources. 3.2. Mobile learning
 Scalability. The deployment of mobile applications
can be performed and scaled to meet the unpredictable Mobile learning (m-learning) is designed based on elec-
user demands due to flexible resource provisioning. tronic learning (e-learning) and mobility. However, tradi-
Service providers can easily add and expand an appli- tional m-learning applications have limitations in terms
cation and service without or with little constraint on of high cost of devices and network, low network trans-
the resource usage. 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 fees
Mobile advertising B2C Sending custom made advertisements according to user’s physical location
Mobile shopping B2C,B2B Locate/order certain products from a mobile terminal

B2C, business to customer; B2B, business to business

Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd. 1591
DOI: 10.1002/wcm
A survey of mobile cloud computing H. T. Dinh et al.

Cloud-based m-learning applications are introduced to  Pervasive access to healthcare information allows
solve these limitations. For example, utilizing a cloud with patients or healthcare providers to access the current
the large storage capacity and powerful processing ability, and past medical information.
the applications provide learners with much richer services  Pervasive lifestyle incentive management can be used
in terms of data (information) size, faster processing speed, to pay healthcare expenses and manage other related
and longer battery life. charges automatically.
Zhao et al. [38] presents the benefits of combining m-
learning and CC to enhance the communication quality Similarly, [45] proposes @HealthCloud, a prototype
between students and teachers. In this case, a smartphone implementation of m-healthcare information manage-
software based on the open source JavaME UI frame- ment system based on CC and a mobile client running
work and Jaber for clients is used. Through a web site Android operating system (OS). This prototype presents
built on Google Apps Engine, students communicate with three services utilizing the Amazon’s S3 Cloud Storage
their teachers at anytime. Also, the teachers can obtain the Service to manage patient health records and medical
information about student’s knowledge level of the course images.
and can answer students’ questions in a timely manner. In
addition, a contextual m-learning system based on Mobile  Seamless connection to cloud storage allows users to
Interaction in Augmented Reality Environment platform retrieve, modify, and upload medical contents (e.g.,
[39] shows that a cloud-based m-learning system helps medical images, patient health records, and biosig-
learners access learning resources remotely. nals) utilizing web services and a set of available APIs
Another example of MCC applications in learning is called Repretational State Transfer.
‘Cornucopia’ implemented for researches of undergradu-  Patient health record management system displays
ate genetics students and ‘plantations pathfinder’ designed the information regarding patients’ status, related
to supply information and provide a collaboration space for biosignals, and image contents through application’s
visitors when they visit the gardens [40]. The purpose of interface.
the deployment of these applications is to help the students  Image viewing support allows the mobile users to
enhance their understanding about the appropriate design decode the large image files at different resolution
of MCC in supporting field experiences. In [41], an educa- levels given different network availability and quality.
tion tool is developed based on CC to create a course about
image/video processing. Through mobile phones, learn- For practical system, a telemedicine homecare man-
ers can understand and compare different algorithms used agement system [46] is implemented in Taiwan to moni-
in mobile applications (e.g., deblurring, denoising, face tor participants, especially for patients with hypertension
detection, and image enhancement). and diabetes. The system monitors 300 participants and
stores more than 4736 records of blood pressure and sugar
3.3. Mobile healthcare measurement data on the cloud. When a participant per-
forms blood glucose/pressure measurement via specialized
The purpose of applying MCC in medical applications is equipment, the equipment can send the measured param-
to minimize the limitations of traditional medical treat- eters to the system automatically. Also, the participant
ment (e.g., small physical storage, security and privacy, and can send parameters by SMS via their mobile devices.
medical errors [42,43]). Mobile healthcare (m-healthcare) After that, the cloud will gather and analyze the infor-
provides mobile users with convenient helps to access re- mation about the participant and return the results. The
sources (e.g., patient health records) easily and efficiently. development of mobile healthcare clearly provides tremen-
Besides, m-healthcare offers hospitals and healthcare orga- dous helps for the participants. However, the information
nizations a variety of on-demand services on clouds rather to be collected and managed related to personal health is
than owning standalone applications on local servers. sensitive. Therefore, [47,48] propose solutions to protect
There are a few schemes of MCC applications in health- the participant’s health information, thereby, increasing the
care. For example, [44] presents five main mobile health- privacy of the services. Although [47] uses peer-to-peer
care applications in the pervasive environment. paradigm to federate clouds to address security issue, data
protection, and ownership, the model in [48] provides secu-
 Comprehensive health monitoring services enable rity as a service on the cloud to protect mobile applications.
patients to be monitored at anytime and anywhere Therefore, mobile health application providers and users
through broadband wireless communications. will not have to worry about security issue because it is
 Intelligent emergency management system can man- ensured by the security vendor.
age and coordinate the fleet of emergency vehicles
effectively and in time when receiving calls from 3.4. Mobile gaming
accidents or incidents.
 Health-aware mobile devices detect pulse rate, blood Mobile game (m-game) is a potential market generating
pressure, and level of alcohol to alert healthcare revenues for service providers. M-game can completely
emergency system. offload game engine requiring large computing resource

1592 Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd.
DOI: 10.1002/wcm
H. T. Dinh et al. A survey of mobile cloud computing

(e.g., graphic rendering) to the server in the cloud, and  Keyword-based searching. Pendyala and Holliday
gamers only interact with the screen interface on their [54] proposes an intelligent mobile search model
devices. using semantic in which searching tasks will be per-
Li et al.[49] demonstrates that offloading (multimedia formed on servers in a cloud. This model can analyze
code) can save energy for mobile devices, thereby increas- the meaning of a word, a phrase, or a complex multi-
ing game playing time on mobile devices. Cuervo et al.[21] phase to produce the results efficiently and accurately.
proposes MAUI, a system that enables fine-grained energy- Lagerspetz and Tarkoma [55] presents an applica-
aware offloading of mobile codes to a cloud. Also, a num- tion using the cloud to perform data searching tasks
ber of experiments are conducted to evaluate the energy for mobile users. Lagerspetz and Tarkoma [55] uses
used for game applications with 3G network and WiFi net- Dessy system [56] to find the users’ data, meta-
work. It is found that instead of offloading all codes to data, and context information through desktop search
the cloud for processing, MAUI partitions the application (e.g., indexing, query, and index term stemming,
codes at a runtime based on the costs of network com- and search relevance ranking), and synchronization
munication and CPU on the mobile device to maximize techniques.
energy savings given network connectivity. The results  Voice-based searching. Fabbrizio et al. [57] pro-
demonstrate that MAUI not only helps energy reduction poses a search service via a speech recognition in
significantly for mobile devices (i.e., MAUI saves 27% which mobile users just talk to microphone on their
of energy usage for the video game and 45% for chess), devices rather than typing on keypads or touch-
but also improves the performance of mobile applications screens. Fabbrizio et al. [57] introduces the AT&T
(i.e., the game’s refresh rate increases from 6 to 13 frames speech mashup model that utilizes web services and
per second). CC environment to meet the speech service demands
Wang and Dey [50] presents a new cloud-based m- of customers. This model optimizes the data trans-
game using a rendering adaptation technique to dynami- mission in a mobile network, reduces latency, and
cally adjust the game rendering parameters according to is flexible in integrating with other services. Several
communication constraints and gamers’ demands. The ren- examples are demonstrated (e.g., speak4it, iPizza, and
dering adaptation technique mainly bases on the idea to JME local business search).
reduce the number of objects in the display list because  Tag-based searching. Cai-Dong et al. [58] introduces
not all objects in the display list created by game engine a photo searching technique based on ontological
are necessary for playing the game and scale the com- semantic tags. Mobile users search only recall param-
plexity of rendering operations. The objective is to max- eters that are tagged on images before such images
imize the user experience given the communications and are sent to a cloud. The cloud is used for storing and
computing costs. processing images for resource-limited devices. The
current service is designed for the images stored on
private CC environment. In the future, it is expected
3.5. Other practical applications to expand for searching images in a public cloud
environment.
A cloud becomes a useful tool to help mobile users share
photos and video clips efficiently and tag their friends in In addition, there are a mobile-cloud collaborative appli-
popular social networks as Twitter and Facebook. MeLog cation [59] to detect traffic lights for the blind, a CC frame-
[51] is an MCC application that enables mobile users work [60] to monitor different corners in a house through
to share real-time experience (e.g., travel, shopping, and a mobile device, and some efforts which integrate cur-
event) over clouds through an automatic blogging. The rent services (e.g., BitTorrent, and Mobile Social Network)
mobile users (e.g., travelers) are supported by several into the clouds as in [61,62]. Thereby, we can recognize
cloud services such as guiding their trip, showing maps, that MCC is probably a prevailing technology trend with
recording itinerary, and storing images and video. numerous applications in the near future.
Ye et al.[52] introduces a mobile locationing service
allowing users to capture a short video clip about the
surrounding buildings. The matching algorithm run on a 4. ISSUES AND APPROACHES OF
cloud can use a large amount of information to search MOBILE CLOUD COMPUTING
for a location of these buildings. Also, One Hour Trans-
lation [53] provides an online translation service running As discussed in the previous section, MCC has many
on the cloud of Amazon Web Services. One Hour Transla- advantages for mobile users and service providers. How-
tion helps mobile users, especially foreign visitors, receive ever, because of the integration of two different fields, that
the information translated in their language through their is, CC and mobile networks, MCC has to face many techni-
mobile devices. cal challenges. This section lists several research issues in
A cloud becomes the most effective tool when mobile MCC, which are related to the mobile communication and
users require searching services (e.g., searching informa- CC. Then, the available solutions to address these issues
tion, location, images, voices, or video clips). are reviewed.

Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd. 1593
DOI: 10.1002/wcm
A survey of mobile cloud computing H. T. Dinh et al.

4.1. Issues in mobile communication side the mobility, capability of devices, and privacy of
neighboring nodes.
(1) Low bandwidth. Bandwidth is one of the big issues Zhang et al. [66] tries to overcome the draw-
in MCC because the radio resource for wireless backs of [65]. In particular, [66] proposes a WiFi
networks is much scarce as compared with the based multihop networking system called MoNet
traditional wired networks. and a distributed content sharing protocol for the
Jin and Kwok [63] proposes a solution to share situation without any infrastructure. Unlike [65],
the limited bandwidth among mobile users who are this solution considers moving nodes in the user’s
located in the same area (e.g., a workplace, a station, vicinity. Each node periodically broadcasts control
and a stadium) and involved in the same content messages to inform other nodes of its status (e.g.,
(e.g., a video file). The authors model the interaction connectivity and system parameters) and local con-
among the users as a coalitional game. For exam- tent updates. According to the messages, each node
ple, the users form a coalition where each member maintains a neighboring node list and a content list
is responsible for a part of video files (e.g., sounds, and estimates role levels of other nodes based on
images, and captions) and transmits/exchanges it the disk space, bandwidth, and power supply. Then,
to other coalition members. This results in the the nodes with the shortest hop length path and
improvement of the video quality. However, the pro- the highest role level are selected as the intermedi-
posed solution is only applied in the case when the ate nodes to receive contents. Besides, the authors
users in a certain area are interested in the same con- also consider security issues for mobile clients when
tents. Also, it does not consider a distribution policy they share information by using an account key
(e.g., who receives how much and which part of con- (to authenticate and encrypt the private content), a
tents) which leads to a lack of fairness about each friend key (to secure channel between two friends),
user’s contribution to a coalition. and a content key (to protect an access control).
Jung et al.[64] considers the data distribution pol- Two applications are introduced; that is, WiFace and
icy which determines when and how much por- WiMarket that are two colocated social network-
tions of available bandwidth are shared among users ing. This approach is much more efficient than the
from which networks (e.g., WiFi and WiMAX). current social networking systems, especially in the
It collects user profiles (e.g., calling profile, sig- event of disconnection.
nal strength profile, and power profile) periodically (3) Heterogeneity. Mobile cloud computing will be
and creates decision tables by using Markov deci- used in the highly heterogeneous networks in terms
sion process algorithm. Based on the tables, the of wireless network interfaces. Different mobile
users decide whether or not to help other users nodes access to the cloud through different radio
download some contents that they cannot receive access technologies such as WCDMA, GPRS,
by themselves due to the bandwidth limitation and WiMAX, CDMA2000, and WLAN. As a result, an
how much it should help (e.g., 10% of contents). issue of how to handle the wireless connectivity
The authors build a framework, named RACE while satisfying MCC’s requirements arises (e.g.,
(Resource-Aware Collaborative Execution), on the always-on connectivity, on-demand scalability of
cloud to take advantages of the computing resources wireless connectivity, and the energy efficiency of
for maintaining the user profiles. This approach is mobile devices).
suitable for the users who share the limited band- Klein et al.[67] proposes an architecture to pro-
width to balance the trade-off between benefits of vide an intelligent network access strategy for
the assistance and energy costs. mobile users to meet the application requirements.
(2) Availability. Service availability becomes a more This architecture is built based on a concept of Intel-
important issue in MCC than that in the CC with ligent Radio Network Access (IRNA [68]). IRNA
wired networks. Mobile users may not be able to is an effective model to deal with the dynam-
connect to the cloud to obtain a service due to traffic ics and heterogeneity of available access networks.
congestion, network failures, and the out-of-signal. To apply IRNA in MCC environment, the authors
Huerta-Canepa and Lee [65] and Zhang et al.[66] propose a context management architecture with
propose solutions to help mobile users in the case of the purpose to acquire, manage, and distribute a
the disconnection from clouds. In [65], the authors context information. As shown in Figure 3, this
describe a discovery mechanism to find the nodes architecture consists of three main components:
in the vicinity of a user whose link to the cloud context provider, context broker, and context con-
is unavailable. After detecting nearby nodes that sumer. However, the context quality enabler is also
are in a stable mode, the target provider for the required to facilitate the operations of other compo-
application is changed. In this way, instead of hav- nents. In this architecture, when a context consumer
ing a link directly to the cloud, a mobile user can wants to communicate with a context provider,
connect to the cloud through neighboring nodes in the context consumer will request the Uniform
an ad hoc manner. However, it does not consider Resource Identifier (URI) of context providers at

1594 Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd.
DOI: 10.1002/wcm
H. T. Dinh et al. A survey of mobile cloud computing

Synchronous
communication
Context Context
Customer Provider

Synchronous and
asynchronous Synchronous
communication communcation

Requirements for
context quality Context Broker Context
History
Context Context
Quality Cache
Enabler

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

the context broker. Using this URI, the context the Gaussian application (to solve a system of
consumer can communicate directly to the context linear algebraic equations) which offloads the
provider and request the context data. Hence, this entire matrix into the remote server. In terms
process increases the speed of context data deliv- of the energy efficiency, the cost of offloading
ery. Furthermore, when a context quality enabler is higher for small matrices (e.g., smaller than
receives the requirement about the context qual- 500 x 500 in size), whereas the cost saving can
ity from the context consumer, the context quality be up to 45% for large matrices. Therefore, it is
enabler will filter out URIs of the context providers a critical problem for mobile devices to deter-
that are not suitable with the required quality level. mine whether to offload and which portions of
Therefore, this architecture enables controlling con- the application’s codes need to be offloaded
text quality according to the demands of the con- to improve the energy efficiency. In addition,
text consumers. different wireless access technologies consume
different amount of energy and support differ-
4.2. Issues in computing side ent data transfer rates. These factors have to be
taken into account.
(1) Computing offloading. As explained in the previ- Kumar and Lu [28] suggests a program par-
ous section, offloading is one of the main features titioning based on the estimation of the energy
of MCC to improve the battery lifetime for the consumption (communication energy and com-
mobile devices and to increase the performance of putation energy) before the program execution.
applications. However, there are many related issues The optimal program partitioning for offload-
including efficient and dynamic offloading under ing is calculated based on the trade-off between
environment changes. the communication and computation costs. The
(a) Offloading in the static environment. Experi- communication cost depends on the size of
ments in [18] show that offloading is not always transmitted data and the network bandwidth,
the effective way to save energy. For a code whereas the computation cost is impacted by the
compilation, offloading might consume more computation time. However, information such
energy than that of local processing when the as the communication requirements or/and the
size of codes is small. For example, when computation workload may change in differ-
the size of altered codes after compilation is ent execution instances. Thus, optimal decisions
500 KB, offloading consumes about 5% of a of a program partitioning must be made at a
device’s battery for its communication, whereas runtime dynamically.
the local processing consumes about 10% of Several solutions are proposed to find the
the battery for its computation. In this case, optimal decision for partitioning applications
the offloading can save the battery up to 50%. before offloading. In [49], the authors present
However, when the size of altered codes is a partition scheme to offload computational
250 KB, the efficiency reduces to 30%. When tasks on mobile devices. The scheme is based
the size of altered codes is small, the offload- on the profiling information about computa-
ing consumes more battery than that of local tion time and data sharing at the level of pro-
processing. As another example, [18] shows cedure calls. This scheme constructs a cost

Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd. 1595
DOI: 10.1002/wcm
A survey of mobile cloud computing H. T. Dinh et al.

graph. Then branch-and-bound algorithm [69] proposes a polynomial time algorithm to find
is applied to the cost graph with an objec- an optimal program partition. The proposed
tive to minimize the total energy consumption scheme partitions a program into the distributed
of computation and the total data communi- subprograms (which run on a device and a
cation cost. The idea of this algorithm is to server) by producing a program abstraction. In
prune the search space to obtain an approxi- this case, all physical memory references are
mated solution. The experiment results indicate mapped into the references of abstract memory
that the energy saving of partitioning obtained locations. The program abstraction is generated
from this scheme is considerable in some pro- at a runtime based on pointer analysis tech-
grams (e.g., Mediabench programs and GNU niques [72,73]. Then, the task allocation and
Go for a Go game). However, the authors do data transfer of the abstract memory locations
not show the experiment results in a dynamic are determined subject to the control and data
environment such as network disconnection and flow defined over the program abstraction. The
bandwidth changes (high to low bandwidth). program abstraction is divided into clusters by
Also, this approach considers only partition for clustering analysis [74], and a heuristic algo-
tasks which are procedure calls. rithm [75] is applied into the clusters to find
In [70], the authors present an approach to the optimal partition to minimize the execu-
decide which components of Java programs tion cost of the program. Unlike [49,70], this
should be offloaded. This approach first divides scheme does not restrict the tasks to be parti-
a Java program into methods and uses input tioned at any specific level (e.g., a basic block,
parameters (e.g., size of methods) to compute a loop, a function, or even a group of closely
execution costs for these methods. Then, this related functions).
approach compares the local execution costs of Hunt and Scott [76] present an automatic
each method with the remote execution costs distributed partitioning system called Coign,
that are estimated based on status of the cur- which automatically transforms a program into
rent wireless channel condition to make an opti- the distributed applications without accessing
mal execution decision. Similar to [49], the the source codes. As shown in Figure 4, Coign
approach in [70] lacks generality and cannot be constructs a graph model of the application’s
applied for diverse applications. intercomponent communication through the
Wang and Li [71] present a computation scenario-based profiling (e.g., network data) to
offloading scheme on mobile devices and find the best distribution. Coign applies the

Application
Binary

Application Binary
Binary Rewriter

Profiling Instrumented Abstract


Scenarios Binary ICC Data Network
Profiler

Profile Network
Analysis Data

Binary Best
Rewriter Distribution

Distributed
Application

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

1596 Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd.
DOI: 10.1002/wcm
H. T. Dinh et al. A survey of mobile cloud computing

lift-to-front minimum-cut graph-cutting algo- the execution time. However, this solution has
rithm [77] to choose the distributed applications some limitations. That is, the mobile environ-
with the minimum communication time. ment is considered as a wireless ad hoc local
Most approaches use the data size and exe- area network (i.e., broadband connectivity is not
cution time of computations to find the optimal supported). Also, during offloading execution, a
program partition for offloading and assume disconnection of a mobile device is treated as a
that such an information is known before the failure.
execution. However, it is difficult to obtain Tang and Cao [80] consider three common
the accurate execution time of computations environmental changes shown in Table III and
because the time varies in different instances explains the suitable solutions for offloading
of the computations, and the inaccurate infor- in the different environments. For example, in
mation results in inefficient offloading perfor- the case of connection status (e.g., disconnec-
mance. Therefore, [78] proposes an offloading tion during the program execution) changes, the
method which does not require the estimation of server will periodically check the connection
execution time for each computation instance. status with the client and maintain the execu-
Online statistics of the computation time are tion information about the particular running
used to compute optimal timeout, and if the tasks. When the disconnection is recovered, the
computation is not completed after the time- server will send the execution results for the
out, this computation will be offloaded to the client. If the server cannot reconnect to the
server. Through experiments, it is shown that client, the server will wait for the predefined
this approach not only addresses the inaccuracy time interval, and the tasks will be deleted.
in estimating the computing execution time but However, the drawback of these approaches is
also saves up to 17% more energy than existing that they are only general solutions, and they
approaches. do not mention a detailed method to address
(b) Offloading in the dynamic environment. This the dynamic partitioning issue; that is, how to
subsection introduces few approaches to deal partition application.
with offloading in a dynamic network envi- Chun and Maniatis [81] present a system
ronment (e.g., changing connection status and to partition an application in dynamic envi-
bandwidth). The environment changes can ronments. The proposed system follows three
cause additional problems. For example, the steps with different requirements related to the
transmitted data may not reach the destination, application structuring, partitioning choice, and
or the data executed on the server will be lost security. In the application structuring step, the
when it has to be returned to the sender. programs are structured to be seamlessly and
Ou et al. [79] analyzes the performance of dynamically executed between a mobile device
offloading systems operating in wireless envi- and a cloud. To achieve this, both the client
ronments. In this work, the authors take into and cloud must have all parts of the application,
account three circumstances of executing an and the application decides what modules to run
application, thereby estimating the efficiency of at the client and at the server dynamically at
offloading. They are the cases when the applica- a runtime. Secondly, in the partitioning choice
tion is performed locally (without offloading), step, the system will choose a suitable parti-
performed in ideal offloading systems (with- tioning policy so that the total energy consump-
out failures), and performed with the presence tion is minimized. Finally, to address security
of offloading and failure recoveries. In the last issue, the authors point out that modules con-
case, when a failure occurs, the application taining sensitive data will be executed locally.
will be re-offloaded. This approach only re- The sensitive data is marked based on the pro-
offloads the failed subtasks, thereby improving 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 power
levels, which will depend on the particular situation.
Connection status 2 The connection status can be faded, disconnected from the
mobile network, or reconnected to the mobile network.
Bandwidth 3 The bandwidth varies from time to time and depends on several
factors, such as the network traffic condition, and so on.

Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd. 1597
DOI: 10.1002/wcm
A survey of mobile cloud computing H. T. Dinh et al.

both partitioning application and security issue. numerous security threats like malicious codes
However, it lacks accuracy because the parti- (e.g., virus, worm, and Trojan horses) and
tion is based on a prediction model through an their vulnerability. In addition, with mobile
off-line analysis. phones integrated global positioning system
Cuervo et al. [21] introduces an architec- (GPS) device, they can cause privacy issues for
ture to dynamically partition an application at subscribers. Two main issues are as follows:
a runtime in three steps. First, MAUI uses  Security for mobile applications. Installing
code portability to create two versions of a and running security softwares such as
mobile application, one for the local execu- Kaspersky, McAfee, and AVG antivirus
tion on devices and the other for the remote programs on mobile devices are the sim-
execution in cloud. Besides, because today’s plest ways to detect security threats (e.g.,
smartphones typically use an instruction set virus, worms, and malicious codes) on the
architecture (Advanced RISC Machine, ARM) devices. However, mobile devices are con-
different from desktop and servers (x86), so strained in their processing and power;
MAUI is designed to execute the same pro- protecting them from the threats is more
gram on different CPU architectures, prefer- difficult than that for resourceful device
ably without access to the program source code. (e.g., PC). For example, it is impossi-
Second, MAUI uses programing reflection to ble to keep running the virus detection
identify which methods of the application are software on mobile devices. Oberheide
marked ‘remoteable’ or not and type safety to et al.[31] presents an approach to move
extract only the program state needed by the the threat detection capabilities to clouds.
‘remoteable’ methods. Then, MAUI sends the This paradigm is an extension of the exist-
necessary program state to the cloud. There ing cloud AV platform that provides an in-
are some certain types of code that should cloud service for malware detection. The
not be marked ‘remoteable’ attribute includ- platform consists of host agent and net-
ing: a code that implements the application’s work service components [82,83]. Host
user interface, a code that interacts with I/O agent is a lightweight process that runs
devices where such interaction is only possible on mobile devices, and its function is to
on the mobile device, and a code that inter- inspect the file activity on a system (i.e.,
acts with any external component that would it is similar to the function of antivirus
be affected by a re-execution. Third, the MAUI software). If an identified file is not avail-
profiles each method of an application and able in a cache of previous analyzed files,
uses serialization to determine communication this file will be sent to the in-cloud net-
costs (e.g., due to the size of its state). Then, work service for verification. The second
the MAUI combines three main factors includ- major component of CloudAV is a network
ing the communication cost, mobile device’s service that is responsible for file veri-
energy consumption cost, and network status fication. The network service will deter-
(e.g., bandwidth and latency) at a runtime to mine whether a file is malicious or not.
construct a linear programming formulation. The most advantage of this solution is that
MAUI can make optimal decisions for partition- moving the detection capabilities to a net-
ing based on the linear programming formula- work service enables the use of multiple
tion. The serialization enables MAUI’s program antivirus engines in parallel by hosting
partitioning to be highly dynamic. The authors them in virtualized containers. However,
find that MAUI can maximize the potential to apply CloudAV platform for the mobile
for energy savings through the fine-grained environment, a mobile agent should be
code offloading while minimizing the changes improved and customized to fit in the
required to applications. mobile devices. Oberheide et al. [31]
(2) Security. Protecting user privacy and data/application builds a mobile agent to interact with the
secrecy from adversary is a key to establish and CloudAV network service for the Linux-
maintain consumers’ trust in the mobile platform, based Maemo platform implemented on a
especially in MCC. In the following, the security- Nokia N800 mobile device. The mobile
related issues in MCC are introduced in two agent is deployed in Python and uses the
categories: the security for mobile users and the Dazuko [84] framework to interpose on
security for data. Also, some solutions to address the system events. In particular, the mobile
these issues are reviewed. agent requires only 170 lines of code. As a
(a) Security for mobile users. Mobile devices result, it is suitable with resource-limited
such as cellular phone, personal digital assis- mobile devices. To demonstrate the effi-
tant (PDA), and smartphone are exposed to ciency of using CC for detecting malicious

1598 Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd.
DOI: 10.1002/wcm
H. T. Dinh et al. A survey of mobile cloud computing

softwares on mobile devices, [85] presents require the cloud to provide information
a paradigm in which attack detection for about surrounding users. After that, the
a smartphone is performed on a remote mobile client will generate the ‘cloaked
server in the cloud. Similarly, instead of region’ by itself and send ‘cloaked region’
running an antivirus program locally, the to the LBS. In this way, both LTS and LBS
smartphone records only a minimal execu- cannot know the sender’s information.
tion trace and transmits it to the security (b) Securing data on clouds. Although both mobile
server in the cloud. This paradigm not only users and application developers benefit from
enhances the efficiency of detecting mal- storing a large amount of data/applications on
ware but also improves battery lifetime up a cloud, they should be careful of dealing with
to 30%. the data/applications in terms of their integrity,
 Privacy. With the advantages of GPS posi- authentication, and digital rights. The data-
tioning devices, the number of mobile related issues in MCC are as follows:
users using the location based services
(LBS) increases. However, the LBS faces  Integrity. Mobile users are often concerned
a privacy issue when mobile users pro- about their data integrity on the cloud.
vide private information such as their cur- Several solutions are proposed to address
rent location. This problem becomes even this issue (e.g., [90,91]). However, such
worse if an adversary knows the user’s solutions do not take the energy consump-
important information. Location trusted tion of mobile users into account. Itani
server (LTS) [86] is presented to address et al.[92] considers the energy consump-
this issue. As shown in Figure 5, after tion issue. This scheme consists of three
receiving the mobile users’ requests, LTS main components: a mobile client, a cloud
gathers their location information in a cer- storage service, and a trusted third party.
tain area and cloaks the information called The scheme performs three phases: the
‘cloaked region’ based on a ‘k-anonymity’ initialization, update, and verification. In
concept [87] to conceal the user’s informa- the first phase, files .Fx / that need to be
tion. The ‘cloaked region’ is sent to LBS, sent to the cloud will be assigned with a
so LBS knows only general information message authentication code .MACFx /.
about the users but cannot identify them. These MACF x will be stored locally,
Wang and Wang [88] point out the prob- while the files will be sent and stored on
lem that if LTS reveals the users’ infor- the cloud. In the update phase, a case when
mation, or if LTS colludes with LBS, the a user wants to insert the data into file
users’ information will be in danger. The .Fx / is considered. The cloud then sends
authors propose to generate the ‘cloaked file .Fx / to this user. At the same time,
region’ on mobile devices based on Casper the cloud also sends a requirement to the
cloaking algorithm [89]. Meanwhile, gath- trusted crypto coprocessor (TCC) to gen-
ering the information of other users around erate MACF0 x . TCC then sends MACF0 x
the sender will be done on the cloud to to the client to verify Fx by comparing
reduce cost and improve speed and scala- it with MACFx . If everything is properly
bility. When launching the program on the authenticated, the user can insert/delete
sender’s mobile device, the program will data. Finally, the mobile client can request

User location Cloaked Spatial


information Region and Query

Query Result Candidate Pol


Set
Mobile Location
Location Based
Client Services
Trusted
Server

Figure 5. Overall Architecture of Spatial Cloaking.

Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd. 1599
DOI: 10.1002/wcm
A survey of mobile cloud computing H. T. Dinh et al.

the integrity verification of a file, collec- leads to the use of simple and short pass-
tion of files, or the whole file system stored words or personal identification numbers
in the cloud. This phase starts when the (PINs). Figure 6 shows the system archi-
user sends a requirement to verify integrity tecture and how the system secures mobile
of files to TCC. TCC then retrieves files users’ access. When a web server receives
that need to be checked from the cloud and a request from a mobile client, the web
generates MACF0 x to send to the client. server redirects the request to the inte-
The client only compares the received grated authenticated (IA) service along
MACF0 x and MACFx that are stored on with the details of the request. The IA
its device to verify the integrity of such service retrieves the policy for the access
files. This approach not only verifies the request, extracts the information that needs
integrity of data but also saves energy for to be collected, and sends an inquiry to
the device and bandwidth for the com- the IA server through the trusted network
munication network. The reason is that connect protocol. The IA server receives
checking and verification are processed on the inquiry, generates a report, and sends
TCC and the client just runs a simple code it back to the IA service. After that, the
for comparison. The result shows that this IA service applies the authentication rule
solution can save 90% processing require- in the policy and determines the authen-
ments, thus saving significant energy for tication result (whether or not the mobile
mobile device. client is authenticated successfully for the
 Authentication. Chow [93] presents an access request) and sends the authen-
authentication method using CC to secure tication result back to the web server.
the data access suitable for mobile Based on the authentication result, the web
environments. This scheme combines server either provides the service or denies
TrustCube [94] and implicit authentication the request.
[95,96] to authenticate the mobile clients.  Digital rights management. The unstruc-
TrustCube is a policy-based cloud authen- tured digital contents (e.g., video, image,
tication platform using the open standards, audio, and e-book) have often been pirated
and it supports the integration of vari- and illegally distributed. Protecting these
ous authentication methods. The authors contents from illegal access is of cru-
build an implicit authentication system cial importance to the content providers
using mobile data (e.g., calling logs, SMS in MCC like traditional CC and peer-to-
messages, website accesses, and location) peer networks. Zou et al.[30] proposes
for existing mobile environment. The sys- Phosphor, a cloud-based mobile digital
tem requires input constraints that make rights management (DRM) scheme with
it difficult for mobile users to use com- a subscriber identity module (SIM) card
plex passwords. As a result, this often in mobile phone to improve the flexibility

Implicit Authentication Service Integrated Authentication Service

Policy Engine
IA Engine

Database TNC Server Database

Mobile client Web server

Figure 6. TrustCube architecture.

1600 Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd.
DOI: 10.1002/wcm
H. T. Dinh et al. A survey of mobile cloud computing

and reduce the vulnerability of its security I/O operations are executed at a file-level in general,
at a low cost. The authors design a license so this increases the cost of network communication
state word (LSW) located in a SIM card and service for mobile users. Nam et al. [97] pro-
and the LSW protocol based on the appli- poses an algorithm in which I/O operations are
cation protocol data unit (APDU) com- executed at a block-level. The algorithm uses log-
mand. In addition, the cloud-based DRM structured I/O transaction [98] to minimize the num-
with an efficient unstructured data man- ber of the block-level I/O operations. The main idea
agement service can meet the performance here is to allow the cloud storage log-structure per-
requirements with high elasticity. Thus, form write operation with the optimal number of
when a mobile user receives the encrypted data blocks that adaptively changes with I/O and
data (e.g., video stream) from the con- cloud storage pricing policy. The authors demon-
tent server via real-time transport proto- strate that, through experimentation, the proposed
col, he/she uses the decryption key from a solution reduces the total I/O costs considerably up
SIM card via APDU command to decode. to 54% compared with the data management at a file
If the decoding is successful, the mobile level in Amazon Simple Storage Service. However,
user can watch this video on his/her phone. this solution does not consider about access methods
The drawback of this solution is that it is to adapt for this new data management.
still based on the SIM card of the mobile Shen et al.[99] presents a cloud-based frame-
phone; so, it cannot be applied for other work, named E-Recall to address the data access
kinds of access; that is, a laptop using WiFi issue. This approach builds a novel infrastructure
to access these contents. in managing, searching, sharing, and archiving the
(3) Enhancing the efficiency of data access. With an rich media resources based on the coordination of
increasing number of cloud services, the demand mobile search, CC, and multimodality integration.
of accessing data resources (e.g., image, files, and As shown in Figure 7, there are three main func-
documents) on the cloud increases. As a result, a tional blocks as follow: query formulation, cloud-
method to deal with (i.e., store, manage, and access) based indexing structure, and user-centric media
data resources on clouds becomes a significant chal- sharing and publishing. Query formulation block is
lenge. However, handling the data resources on designed based on the principle of query depen-
clouds is not an easy problem because of the low dent fusion [100] to optimize the representation
bandwidth, mobility, and the limitation of resource for describing user information and search detail.
capacity of mobile devices. Meanwhile, the aim of a cloud-based indexing struc-
For commercial cloud storage providers (e.g., ture block is to provide a database access method
Amazon S3), every I/O operations (e.g., put, copy, and that of user-centric media is to help mobile
cut, and list) are taken by the cloud provider. The clients share and publish media resources in a

Text keywords
Input

Sketch Input

Content Input Rich media Objects


Multimodal based to be inserted
scheme to express user
information need
Results
Re
su

Cloud based
lts

Indexing Structure

User-centric rich
media sharing &
Publishing and Sharing

publishing
module Results

..
Rich media data collections
World Wide Web

Figure 7. Architecture of E-Recall system.

Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd. 1601
DOI: 10.1002/wcm
A survey of mobile cloud computing H. T. Dinh et al.

flexible and fast way. This approach addresses both four components: encrypt, sync, metadata, and local
managing and accessing media resource issues in cache heaps. Sync component will be connected
the cloud. to the comm component on the RFS server (as
Another solution to increase the efficiency of shown in Figure 8) via HTTP protocol to synchro-
accessing data on the cloud is using a local storage nize the data between a client and the cloud. In this
cache. Koukoumidis et al. [101] presents a solu- approach, the authors propose using RESTful web
tion which utilizes a memory capacity of mobile service [6] as a service provider and HTTP as a
devices to increase the speed of data access, reduce communication protocol, because they are widely
latency, and improve energy efficiency for the supported. Besides, to protect data privacy, encrypt
mobile devices. The idea of this solution is to component is used to control the data encryption
build a Pocket Cloudlet based on nonvolatile mem- and decryption. Sync and encrypt components are
ory to store the specific parts or even full cloud used by the users depending on their demands. In
services in the mobile devices. Using the Pocket the kernel, metadata and local cache heaps aim to
Cloudlet clearly brings many benefits not only for manage and track all files cached on the client. They
users but also for service providers because this also provide cache access for the synchronization.
solution can increase access speed and reduce bot- On the cloud side, user image service provider is
tleneck of wireless link in a cellular network. How- responsible for managing the user accounts and the
ever, not all data can be stored on the mobile cache. RFS image (i.e, the mobile file systems) for each
The authors develop an architecture for the Pocket RFS user. The cloud cache component caches data
Cloudlet including data selection and data manage- access for all RFS users to improve the performance
ment to determine the amount of data to be stored on of file access to the cloud. When the cloud receives a
the device for each cloud service. Also, this archi- request from a client, it records the file block access
tecture introduces a mechanism to manage and syn- patterns. Hence, the cloud can predict a new user
chronize data between mobile devices and the cloud access pattern and apply a server prepush optimiza-
to deal with changes of data on the cloud (e.g., tion to increase the speed of file delivery. Finally,
web contents to be updated over time). This is an the cloud adapter is used to enable all RFS ser-
effective architecture for the mobile users accessing vices to be performed on the diverse cloud stor-
data on the cloud. Nonetheless, there are two issues age systems, because cloud storage systems have
in this approach. First, this architecture requires an their own application programing interface. This
expensive nonvolatile memory to store data from approach can be considered as a suitable solution
clouds. Second, for each cloud service, the mobile for accessing data on the cloud from mobile users
devices need to determine which parts of services because it addresses several issues; that is, device-
to be cached locally. Thus, this is not flexible when aware cache management, data privacy, and wireless
applying for diverse services on the cloud. connectivity. In the future, RFS can be improved
Dong et al. [102] addresses three main issues as by posing policies to manage users (i.e., what
follows: maintaining seamless connection between and when to encrypt). Alternatively, some other
users and clouds, controlling cache consistency, and approaches (e.g., Moxie [103]) can be applied to
supporting data privacy. As depicted in Figure 8, hash the contents of files, thereby optimizing the use
there are two main functional blocks; that is, random of bandwidth.
file system (RFS) client developed on the mobile (4) Context-aware mobile cloud services. It is important
device and RFS server located on the cloud. On for the service provider to fulfill mobile users’ satis-
the client side, RFS that is built above a local file faction by monitoring their preferences and provid-
system (FS) layer (e.g., Ext3 or FAT), consists of ing appropriate services to each of the users. A lot of

RFS Client RFS Server


http
Encrypt Sync Comm User image
user
---------------------
kernel
Metadata Cloud cache

Local cache heaps Cloud adapter

Local FS Cloud FS

Figure 8. Random file system architecture.

1602 Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd.
DOI: 10.1002/wcm
H. T. Dinh et al. A survey of mobile cloud computing

research work try to utilize the local contexts (e.g., for each case of the identified gap, this algorithm
data types, network status, device environments, will choose an appropriate adapter for the mobile
and user preferences) to improve the quality of user. Because the relationship between a cause and
service (QoS). an adapter is predefined, the proper action can be
Samimi et al.[104] builds a model, called Mobile chosen and performed. In the case of user pref-
Service Clouds (MSCs), which is extended from erence context, the relationship can be checked
service clouds paradigm [105]. In this model, when when the context of mobile user changes. How-
a customer uses a service on the cloud, the user’s ever, in the other contexts, the relationship cannot
request firstly goes to a service gateway. The gate- be known when mobile users change to another con-
way will choose an appropriate primary proxy to text. Moreover, the causes, adapters, and gaps in this
meet the requirements (e.g., the shortest path and model are predefined, so this may lack flexibility in
minimum round-trip time) and then sends the result practical usage.
to the user. In the case of disconnection, MSCs Unlike [107], [108] builds a middleware mod-
will establish transient proxies [106] for mobile ule, called VOLARE, embedded on mobile device,
devices to monitor the service path, and support which monitors the resources and contexts of
dynamic reconfiguration (with minimum interrup- the mobile device, thereby dynamically adjusting
tion). The advantages of this model are that the requirements of users at a runtime. As shown in
model addresses the disconnection issue and can Figure 9, when a mobile user launches an applica-
maintain the QoS at an acceptable level. tion on his/her mobile device that requires services
La and Kim [107] propose a framework for pro- on the cloud, this request is generated at mobile
viding context-aware mobile services based on the OS before it is sent to the service request mod-
algorithm to choose a context-aware adapter. The ule. At the same time, mobile OS simultaneously
authors consider several contexts such as device sends context data to context monitoring module,
environments, user preferences, and situational con- and QoS monitoring data to QoS monitoring mod-
texts. The algorithm, firstly, determines a gap occur- ule. An adaptation module will receive a service
ring in the given contexts. A gap is defined as request request from a service request module and
a result of context changes. Then, the algorithm process this request along with the alerts received
determines a cause of predefined gaps before sav- from a context monitoring module if there are sig-
ing the current states of the service invocation for nificantly differences of the contexts and notifica-
recovering in the case of disconnection. After that, tions about QoS from QoS monitoring module at

CLOUD Cloud Broker

Service Renegotiation Adapted


Binding Request ServiceRequest

Service Binding
Module
Adapted
Service Service Service
Binding Provision Request
Events
QoS Monitoring Adaption Module
Module
Context
Data & Service
Service Context Change Request
Binding Events
QoS
Monitor Service Request
Context Monitoring
Data Module
Module
VOLAVE

Context Service
Data Request

Service
Binding Mobile OS
MobileOS

Application Service Client Device


Request

Figure 9. The VOLARE middleware modules.

Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd. 1603
DOI: 10.1002/wcm
A survey of mobile cloud computing H. T. Dinh et al.

runtime. Therefore, adaptation module can offer is a highly economical femtocell network with
the appropriate service requests based on the con- only sufficient resources being used at any given
text and resource data. Because the QoS monitoring point, without impacting the ability to immediately
module periodically performs checking, if the QoS scale to meet demands. In this paradigm, femto-
levels of a service provided by service providers are cells located in homes and offices of users con-
lower than an accepted level of the request, a ser- nect via the Internet to the cloud to gain access
vice request module will be notified to launch a to their operator’s network. Mobile operators con-
new request for discovery of a new service satis- nect with the cloud enabling their subscribers to
fying the new requirements. The advantage of this gain access to their network when using a femto-
model is that the model can automatically recognize cell connected to the cloud. However, [112] just
changes in the contexts on a mobile device through shows that femtocell is practically useful when used
the dependent functionality modules, thereby pro- with clouds. We need to investigate a uniform stan-
viding an effective service request for mobile users dard and performance impact of using femtocells
at runtime. in MCC.

5.2. Network access management


5. OPEN ISSUES AND FUTURE
RESEARCH DIRECTIONS
An efficient network access management not only
improves link performance for mobile users but also opti-
Several research works contribute to the development of
mizes bandwidth usage. Cognitive radio can be expected
MCC by tackling issues as presented in the previous sec-
as a solution to achieve the wireless access management
tion. However, there are still some issues which need to be
in mobile communication environment [113]. Cognitive
addressed. This section discusses several open issues and
radio increases the efficiency of the spectrum utilization
possible research directions in the development of MCC.
significantly, by allowing unlicensed users to access the
spectrum allocated to the licensed users. When this tech-
5.1. Low bandwidth nique is integrated into MCC, the spectrum can be uti-
lized more efficiently. The spectrum scarcity can be solved
Although many researchers propose the optimal and effi- and thus millions of dollars for network providers can
cient way of bandwidth allocation, the bandwidth limita- be saved [114]. However, cognitive radio is defined as
tion is still a big concern because the number of mobile and wireless communication technology in which each node
cloud users is dramatically increasing. We consider that communicates via an optimal wireless system based on
fourth generation (4G) network and Femtocell are emerg- recognition of radio resource availability in heterogeneous
ing as promising technologies that overcome the limitation wireless communication environment. Therefore, mobile
and bring a revolution in improving bandwidth. users in MCC must be able to detect this radio resource
availability (through spectrum sensing) while ensuring that
(1) 4G network. Fourth generation network is a technol-
the traditional services will not be interfered.
ogy that significantly increases bandwidth capacity
for subscribers. 4G network is capable of providing
up to 100 Mbit/s (for ‘LTE Advanced’ standard) and 5.3. Quality of service
128 Mbit/s (for ‘WirelessMAN-Advanced’ stan-
dard) for mobile users, whereas the current 3G In MCC, mobile users need to access to servers located
network supports a maximum of 14.4 Mbit/s. in a cloud when requesting services and resources in the
Furthermore, 4G network also promises other cloud. However, the mobile users may face some prob-
advantages such as widering mobile coverage area, lems such as congestion due to the limitation of wireless
smoothering quicker handoff, varied services, and bandwidths, network disconnection, and the signal attenu-
so on [109]. Nevertheless, 4G wireless networks still ation caused by mobile users’ mobility. They cause delays
have several issues related to network architecture, when the users want to communicate with the cloud, so
access protocol, or QoS that are taken into account QoS is reduced significantly. Two new research directions
in [110]. are CloneCloud and Cloudlets that are expected to reduce
(2) Femtocell. Femtocell [111] is a small cellular base the network delay.
station, designed for use in a small area. Hay
Systems Ltd (HSL) [112] develops a service to com- (1) CloneCloud. CloneCloud brings the power of CC
bine femtocells and CC to deliver a highly eco- to your smartphones [115]. CloneCloud uses nearby
nomical, scalable, and secure network for mobile computers or data centers to increase the speed
operators. This allows the resources employed in of running smartphone applications. The idea is to
delivering mobile services over the femtocell net- clone the entire set of data and applications from the
work to expand or contract as user demands for ser- smartphone onto the cloud and to selectively exe-
vices increase or decrease, respectively. The result cute some operations on the clones, re-integrating

1604 Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd.
DOI: 10.1002/wcm
H. T. Dinh et al. A survey of mobile cloud computing

the results back into the smartphone. One can have business model including pricing and revenue sharing has
multiple clones for the same smartphone, and clones to be carefully developed for MCC.
pretend to be more powerful smartphones, and so
on. CloneCloud is limited in some respects by its
inability to migrate native state and to export unique 5.5. Standard interface
native resources remotely. A related limitation is
that CloneCloud does not virtualize access to native Interoperability becomes an important issue when mobile
resources that are not virtualized already and are not users need to interact and communicate with the cloud.
available on the clone. The current interface between mobile users and cloud are
(2) Cloudlets. A cloudlet is a trusted, resource-rich mostly based on the web interfaces. However, using web
computer or cluster of computers which is well- interfaces may not be the best option. First, web interface
connected to the Internet and available for use is not specifically designed for mobile devices. Therefore,
by nearby mobile devices. Thus, when mobile web interface may have more overhead. Also, compatibil-
devices do not want to offload to the cloud (maybe ity among devices for web interface could be an issue.
due to delay and cost), they can find and use a In this case, the standard protocol, signaling, and inter-
nearby cloudlet. In this way, mobile users may face for interacting between mobile users and cloud would
meet the demand for real-time interactive response be required to ensure seamless services. In the future,
by low-latency, one-hop, high-bandwidth wireless HTML5 is expected as a promising technique to address
access to the cloudlet. If no cloudlet is avail- this issue. HTML5 WebSockets offer an interface. How-
able nearby, the mobile device may refer to the ever, an extensive performance evaluation and feasibility
default mode that will send requirements to a dis- study have to be performed to ensure that it will work in
tant cloud, or in the worst case, solely its own MCC efficiently.
resources. Satyanarayanan et al.[116] builds an
architecture through exploiting a virtual machine 5.6. Service convergence
technology to rapidly instantiate customized ser-
vice software on a nearby cloudlet and then uses The development and competition of CSPs can lead to
that service over a wireless local area network. the fact that in the near future, these services will be dif-
This technology can help mobile users overcome ferentiated according to the types, cost, availability and
the limitations of CC due to wide area network quality. Moreover, in some cases, a single cloud is not
latency and low bandwidth. However, there are enough to meet the mobile user’s demands. Therefore, the
some considerations that need to be addressed new scheme is needed in which the mobile users can uti-
before this idea can be applied widely in practi- lize multiple clouds in a unified fashion. In this case, the
cal system. For example, how to distribute pro- scheme should be able to automatically discover and com-
cessing, storage, and networking capacity for each pose services for user. One of the potential solutions of
cloudlet? How to manage policies for cloudlet this issue is the sky computing, which will be the next
providers to maximize user experience while min- step of cloud computing. Sky computing is a computing
imizing cost? Also, trust and security for cloudlet model where resources from multiple cloud providers are
are other issues in implementing this idea because leveraged to create a large scale distributed infrastructure
adversaries can create a fake cloudlet to steal the [117]. Similarly, the mobile sky computing will enable
user’s information. the providers to support a cross-cloud communication and
enable users to implement mobile services and applica-
tions. However, to offer a service to mobile user in a unified
5.4. Pricing way, the service integration (i.e., convergence) would need
to be explored.
Using services in MCC involves both mobile service
provider (MSP) and cloud service provider (CSP). How-
ever, MSPs and CSPs have different services management, 6. CONCLUSION
customers management, methods of payment, and prices.
Therefore, this will lead to many issues; that is, how to Mobile cloud computing is one of the mobile technology
set price, how the price will be divided among differ- trends in the future because it combines the advantages of
ent entities, and how the customers pay. For example, both MC and CC, thereby providing optimal services for
when a mobile user runs mobile gaming application on mobile users. That traction will push the revenue of MCC
the cloud, this involves the game service provider (provid- to $5.2 billion. With this importance, this article has pro-
ing a game license), mobile service provider (accessing the vided an overview of MCC in which its definitions, archi-
data through base station), and CSP (running game engine tecture, and advantages have been presented. The appli-
on a data center). The price paid by the game player has cations supported by MCC including m-commerce, m-
to be divided among these three entities such that all of learning, and mobile healthcare have been discussed which
them are satisfied with the division. It is clear that the clearly show the applicability of the MCC to a wide range

Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd. 1605
DOI: 10.1002/wcm
A survey of mobile cloud computing H. T. Dinh et al.

of mobile services. Then, the issues and related approaches 13. Forman GH, Zahorjan J. The Challenges of mobile
for MCC (i.e., from communication and computing sides) computing. IEEE Computer Society Magazine 1994;
have been discussed. Finally, the future research directions 27(4): 38–47.
have been outlined. 14. Kakerow R. Low power design methodologies for
mobile communication, In Proceedings of IEEE
International Conference on Computer Design: VLSI
in Computers and Processors, 2003; 8.
REFERENCES
15. Paulson LD. Low-power chips for high-powered
1. Satyanarayanan M. Proceedings of the 1st ACM handhelds. IEEE Computer Society Magazine 2003;
Workshop on Mobile Cloud Computing & Services: 36(1): 21.
Social Networks and Beyond (MCS), 2010. 16. Davis JW. Power benchmark strategy for systems
2. Satyanarayanan M. Fundamental challenges in employing power management, In Proceedings of the
mobile computing, In Proceedings of the 5th annual IEEE International Symposium on Electronics and
ACM symposium on Principles of distributed comput- the Environment, 2002; 117.
ing, 1996; 1–7. 17. Mayo RN, Ranganathan P. Energy consumption in
3. Ali M. Green cloud on the horizon, In Proceed- mobile devices: why future systems need require-
ings of the 1st International Conference on Cloud ments aware energy scale-down, In Proceedings of
Computing (CloudCom), Manila, 2009; 451–459. the Workshop on Power-Aware Computing Systems,
4. http://www.mobilecloudcomputingforum.com/. 2003.
5. White Paper. Mobile Cloud Computing Solution 18. Rudenko A, Reiher P, Popek GJ, Kuenning GH. Sav-
Brief. AEPONA, 2010. ing portable computer battery power through remote
6. Christensen JH. Using RESTful web-services and process execution. Journal of ACM SIGMOBILE
cloud computing to create next generation mobile on Mobile Computing and Communications Review
applications, In Proceedings of the 24th ACM SIG- 1998; 2(1).
PLAN conference companion on Object oriented 19. Smailagic A, Ettus M. System design and power opti-
programming systems languages and applications mization for mobile computers, In Proceedings of
(OOPSLA), 2009; 627–634. IEEE Computer Society Annual Symposium on VLSI,
7. Liu L, Moulic R, Shea D. Cloud service portal for 2002; 10.
mobile device management, In Proceedings of IEEE 20. Kremer U, Hicks J, Rehg J. A compilation frame-
7th International Conference on e-Business Engi- work for power and energy management on mobile
neering (ICEBE), 2011; 474. computers, In Proceedings of the 14th International
8. Foster I, Zhao Y, Raicu I, Lu S. Cloud computing and Conference on Languages and Compliers for Parallel
grid computing 360-degree compared, In Proceed- Computing, 2001; 115–131.
ings of Workshop on Grid Computing Environments 21. Cuervo E, Balasubramanian A, Dae-ki C, et al.
(GCE), 2009; 1. MAUI: making smartphones last longer with code
9. Calheiros RN, Vecchiola C, Karunamoorthy D, offload, In Proceedings of the 8th International
Buyya R. The Aneka platform and QoS-driven Conference on Mobile systems, applications, and
resource provisioning for elastic applications on services, 2010; 49–62.
hybrid Clouds. Future Generation Computer Sys- 22. http://aws.amazon.com/s3/.
tems, to appear. 23. Vartiainen E, Mattila KV-V. User experience of
10. Buyya R, Yeo CS, Venugopal S, Broberg J, Brandic I. mobile photo sharing in the cloud, In Proceedings
Cloud computing and emerging IT platforms: vision, of the 9th International Conference on Mobile and
hype, and reality for delivering computing as the Ubiquitous Multimedia (MUM), 2010.
5th utility. Journal on Future Generation Computer 24. http://www.flickr.com/.
Systems 2009; 25(6): 599–616. 25. http://www.shozu.com/portal/index.do.
11. Huang Y, Su H, Sun W, et al. Framework for building 26. http://www.facebook.com/.
a low-cost, scalable, and secured platform for web- 27. Garcia A, Kalva H. Cloud transcoding for mobile
delivered business services. IBM Journal of Research video content delivery, In Proceedings of the IEEE
and Development 2010; 54(6): 535–548. International Conference on Consumer Electronics
12. Tsai W, Sun X, Balasooriya J. Service-oriented cloud (ICCE), 2011; 379.
computing architecture, In Proceedings of the 7th 28. Kumar K, Lu Y. Cloud computing for mobile users:
International Conference on Information Technol- can offloading computation save energy. IEEE Com-
ogy: New Generations (ITNG), 2010; 684–689. puter Society 2010; 43(4).

1606 Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd.
DOI: 10.1002/wcm
H. T. Dinh et al. A survey of mobile cloud computing

29. Li L, Li X, Youxia S, Wen L. Research on mobile conference on Computer support for collaborative
multimedia broadcasting service integration based learning (CSCL), 1997; 218–226.
on cloud computing, In Proceedings of the IEEE 41. Ferzli R, Khalife I. Mobile cloud computing edu-
International Conference on Multimedia Technology cational tool for image/video processing algorithms,
(ICMT), 2010; 1. In Digital Signal Processing Workshop and IEEE
30. Zou P, Wang C, Liu Z, Bao D. Phosphor: a cloud Signal Processing Education Workshop (DSP/SPE),
based drm scheme with SIM card, In Proceedings of 2011; 529.
the 12th International Asia-Pacific on Web Confer- 42. Kohn LT, Corrigan JM, Donaldson S. To Err Is
ence (APWEB), 2010; 459. Human: Building a Safer Health System. National
31. Oberheide J, Veeraraghavan K, Cooke E, Flinn J, Academy Press: Washington, 1999.
Jahanian F. Virtualized in-cloud security services for 43. Kopec D, Kabir MH, Reinharth D, Rothschild O,
mobile devices, In Proceedings of the 1st Workshop Castiglione JA. Human errors in medical prac-
on Virtualization in Mobile Computing (MobiVirt), tice: systematic classification and reduction with
2008; 31–35. automated information systems. Journal of Medical
32. Yang X, Pan T, Shen J. On 3G mobile e-commerce Systems 2003; 27(4): 297–313.
platform based on cloud computing, 2010; 198–201. 44. Varshney U. Pervasive healthcare and wireless health
33. Dai J, Zhou Q. A PKI-based mechanism for secure monitoring. Journal on Mobile Networks and Appli-
and efficient access to outsourced data, In Proceed- cations 2007; 12(2-3): 113–127.
ings of the 2nd International Conference on Network- 45. Doukas C, Pliakas T, Maglogiannis I. Mobile health-
ing and Digital Society (ICNDS), 2010; 640. care information management unitizing cloud com-
34. Leina Z, Tiejun P, Guoqing Y. Research of mobile puting and Android OS, In Annual International
security solution for fourth party logistics, In Conference of the IEEE on Engineering in Medicine
Proceedings of the 6th International Conference and Biology Society (EMBC), 2010; 1037–1040.
on Semantics Knowledge and Grid (SKG), 2011; 46. Tang W-T, Hu C-M, Hsu C-Y. A mobile phone
383–386. based homecare management system on the cloud,
35. Chen X, Liu* J, Han J, Xu H. Primary exploration of In Proceedings of the 3rd International Confer-
mobile learning mode under a cloud computing envi- ence on Biomedical and Informatics (BMEI), 2010;
ronment, In Proceedings of the International Con- 2442.
ference on E-Health Networking, Digital Ecosystems 47. Hoang DB, Chen L. Mobile cloud for assistive
and Technologies (EDT), vol.2, 2010; 484–487. healthcare (MoCAsH), In Proceedings of the 2010
36. Gao H, Zhai Y. System design of cloud computing IEEE Asia-Pacific Services Computing Conference
based on mobile learning, In Proceedings of the 3rd (APSCC), 2011; 325.
International Symposium on Knowledge Acquisition 48. Nkosi MT, Mekuria F. Cloud computing for
and Modeling (KAM), 2010; 293–242. enhanced mobile health applications, In Proceedings
37. Li J. Study on the development of mobile learn- of the 2nd IEEE International Conference on Cloud
ing promoted by cloud computing, In Proceedings Computing Technology and Science, 2011; 629.
of the 2nd International Conference on Informa- 49. Li Z, Wang C, Xu R. Computation offloading to save
tion Engineering and Computer Science (ICIECS), energy on handheld devices: a partition scheme, In
2010; 1. Proceedings of the 2001 international conference on
38. Zhao W, Sun Y, Dai L. Improving computer Compilers, architecture, and synthesis for embedded
basis teaching through mobile communication and systems (CASES), 2001; 238–246.
cloud computing technology, In Proceedings of the 50. Wang S, Dey S. Rendering adaptation to address
3rd International Conference on Advanced Com- communication and computation constraints in cloud
puter Theory and Engineering (ICACTE), 2010; mobile gaming, In IEEE Global Telecommunications
452–454. Conference (GLOBECOM), 2011; 1–6.
39. Yin C, David B, Chalon R. Use your mobile com- 51. Li H, Hua X-S. Melog: mobile experience shar-
puting devices to learn - Contextual mobile learn- ing through automatic multimedia blogging, In Pro-
ing system design and case studies, In Proceedings ceedings of the 2010 ACM multimedia workshop
of the 2nd IEEE International Conference on Com- on Mobile cloud media computing (MCMC), 2010;
puter Science and Information Technology (ICCSIT), 19–24.
2009; 440. 52. Ye Z, Chen X, Li Z. Video based mobile location
40. Rieger R, Gay G. Using mobile computing to enhance search with large set of SIFT points in cloud, In
field study, In Proceedings of the 2nd international Proceedings of the 2010 ACM multimedia workshop

Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd. 1607
DOI: 10.1002/wcm
A survey of mobile cloud computing H. T. Dinh et al.

on Mobile cloud media computing (MCMC), 2010; 64. Jung E, Wang Y, Prilepov I, Maker F, Liu X,
25–30. Akella V. User-profile-driven collaborative band-
53. http://www.onehourtranslation.com/. width sharing on mobile phones, In Proceedings of
54. Pendyala VS, Holliday J. Performing intelligent the 1st ACM Workshop on Mobile Cloud Comput-
mobile searches in the cloud using semantic ing & Services: Social Networks and Beyond (MCS),
technologies, In IEEE International Conference on 2010.
Granular Computing, 2010; 381. 65. Huerta-Canepa G, Lee D. A virtual cloud comput-
55. Lagerspetz E, Tarkoma S. Cloud-assisted mobile ing provider for mobile devices, In Proceedings of
desktop search, In Proceedings of the 8th IEEE the 1st ACM Workshop on Mobile Cloud Comput-
International Conference on Pervasive Computing ing & Services: Social Networks and Beyond (MCS),
and Communications Workshops (PERCOM), 2010; 2010.
826. 66. Zhang L, Ding X, Wan Z, Gu M, Li XY. WiFace:
56. Lagerspetz E, Lindholm T, Tarkoma S. Dessy: a secure geosocial networking system using WiFi-
towards flexible mobile desktop search, In Proceed- based multi-hop MANET, In Proceedings of the
ings of the DIALM-POMC International Workshop 1st ACM Workshop on Mobile Cloud Computing &
on Foundations of Mobile Computing, 2007. Services: Social Networks and Beyond (MSC), 2010.
57. Fabbrizio GD, Okken T, Wilpon JG. A speech 67. Klein A, Mannweiler C, Schneider J, Hans D. Access
mashup framework for multimodal mobile services, schemes for mobile cloud computing, In Proceedings
In Proceedings of the 2009 international confer- of the 11th International Conference on Mobile Data
ence on Multimodal interfaces (ICMI-MLMI), 2009; Management (MDM), 2010; 387.
71–78. 68. Klein A, Mannweiler C, Schotten HD. A framework
58. Cai-Dong G, Kan L, Jian-Ping W, et al. The for intelligent radio network access based on context
investigation of cloud-computing-based image min- models, In Proceedings of the 22nd WWRF meeting
ing mechanism in mobile communication WEB on 2009, 2009.
Android, In Proceedings of the 9th International 69. Jigang W, Thambipillai S. A branch-and-bound algo-
Conference on Grid and Cooperative Computing rithm for hardware/software partitioning, In Pro-
(GCC), 2011; 408. ceedings of the 4th IEEE International Symposium
59. Angin P, Bhargava B, Helal S. A mobile-cloud col- on Signal Processing and Information Technology,
laborative traffic lights detector for blind navigation, 2005; 526.
In Proceedings of the 2010 Eleventh International 70. Chen G, Kang BT, Kandermir M, Vijaykrishnan N,
Conference on Mobile Data Management (MDM), Irwin MJ, Chandranouli R. Studying energy trade
2010; 396–401. offs in offloading computation/compilation in Java-
60. Li Y-C, Liao I-J, Cheng H-P, Lee W-T, A cloud enabled mobile devices. IEEE Transactions on
computing framework of free view point real- Parallel and Distributed Systems 2004; 15(9): 795.
time monitor system working on mobile devices, 71. Wang C, Li Z. A computation offloading scheme on
In International Symposium on Intelligent Signal handheld devices. Journal of Parallel and Distributed
Processing and Communication Systems (ISPACS), Computing Special issue on middleware 2004; 64(6):
2011; 1. 740–746.
61. Zhenyu W, Chunhong Z, Yang J, Hao W. Towards 72. Andersien L. Program analysis and specialization for
cloud and terminal collaborative mobile social net- the C programming language, Ph.D thesis, DIKU,
work service, In Proceedings of the 2nd IEEE University of Copenhagen, 1994.
International Conference on Social Computing 73. Wilson RP, Lam MS. Efficient context-sensitive
(SocialCom), 2010; 623. pointer analysis for C programs, In Proceedings of
62. Kelenyi I, Nurminen JK. CloudTorrent - energy- the ACM SIGPLAN ’95 Conference on Programming
efficient bittorrent content sharing for mobile devices Language Design and Implementation (PLDI), 1995;
via cloud services, In Proceedings of the 7th IEEE on 1–12.
Consumer Communications and Networking Confer- 74. Kimmo E, Raatikainen E. Cluster analysis and work-
ence (CCNC), 2010; 1. load classification, In ACM SIGMETRICS Perfor-
63. Jin X, Kwok YK. Cloud assisted P2P media stream- mance Evaluation Review, 1993.
ing for bandwidth constrained mobile subscribers, In 75. Dai YS, Xie M, Wang X. A heuristic algorithm for
Proceedings of the 16th IEEE International Confer- reliability modeling and analysis of grid systems.
ence on Parallel and Distributed Systems (ICPADS), IEEE Transactions on Systems, Man and Cybernetics,
2011; 800. Part A: Systems and Humans 2007; 37(2): 189.

1608 Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd.
DOI: 10.1002/wcm
H. T. Dinh et al. A survey of mobile cloud computing

76. Hunt GC, Scott ML. The Coign automatic distributed 89. Chow C-Y, Mokbel MF, Aref WG. Casper*: query
partitioning system, In Proceedings of the 3rd sym- processing for location services without compromis-
posium on Operating systems design and implemen- ing privacy. ACM Transactions on Database Systems
tation (OSDI), 1999; 187–200. (TODS) 2009; 34(4): 1–48.
77. Stoer M, Wagner F. A simple min-cut algorithm. 90. Tanenbaum A, Van Steen M. Distributed Systems:
Journal of the ACM (JACM) 1997; 4: 44. Principles and Paradigms. Pearson Prentice Hall,
78. Xian C, Lu YH, Li Z. Adaptive computation offload- 2007.
ing for energy conservation on battery-powered 91. Wang W, Li Z, Owens R, Bhargava B. Secure and
systems, In International Conference on Parallel and efficient access to outsourced data, In ACM Cloud
Distributed Systems, 2009; 1. Computing Security Workshop (CCSW), 2009; 55–66.
79. Ou S, Yang K, Liotta A, Hu L. Performance 92. Itani W, Kayssi A, Chehab A. Energy-efficient incre-
analysis of offloading systems in mobile wireless mental integrity for securing storage in mobile cloud
environments, In Proceedings of the IEEE Interna- computing, In International Conference on Energy
tional Conference on Communications (ICC), 2007; Aware Computing (ICEAC), January 2011; 1.
1821. 93. Chow R, Jakobsson M, Masuoka R, et al. Authenti-
80. Tang MH, Cao J. A dynamic mechanism for han- cation in the clouds: a framework and its application
dling mobile computing environmental changes, In to mobile users, In Proceedings of the 2010 ACM
Proceedings of the 1st international conference workshop on Cloud computing security workshop
on Scalable information systems (InfoScale), 2006; (CCSW), 2010; 1–6.
1–9. 94. Song Z, Molina J, Lee S, Kotani S, Masuoka R.
81. Chun B-G, Maniatis P. Dynamically partitioning TrustCube: an infrastructure that builds trust in client,
applications between weak devices and clouds, In In Proceedings of the 1st International Conference on
Proceedings of the 1st ACM Workshop on Mobile Future of Trust in Computing, 2009.
Cloud Computing & Services: Social Networks and 95. Jakobsson M, Shi E, Golle P, Chow R. Implicit
Beyond (MCS), 2010. authentication for mobile devices, In Processing of
82. Oberheide J, Cooke E, Jahanian F. Rethinking the 4th USENIX Workshop on Hot Topics in Security
antivirus: executable analysis in the network cloud, (HotSec), 2009.
In Proceedings of the 2nd USENIX workshop on Hot 96. Shi E, Niu Y, Jakobsson M, Chow R. Implicit
topics in security (HOTSEC), 2007. authentication through learning user behavior, In
83. Oberheide J, Cooke E, Jahanian F. Cloudav: N- Proceedings of the Implicit authentication Security
version antivirus in the network cloud, In Processing Conference (ISC), 2010.
of the 17th USENIX Security Symposium, 2008. 97. Nam YJ, Park YK, Lee JT, Ishengoma F. Cost-aware
84. Ogness J. Dazuko: an open solution to facilitate on- virtual USB drive: providing cost-effective block i/o
access scanning, In Proceedings of the 13th Virus management commercial cloud storage for mobile
Bulletin International Conference, 2003. devices, In Proceedings of the 13th IEEE Interna-
85. Portokalidis G, Homburg P, Anagnostakis K, Bos tional Conference on Computational Science and
H. Paranoid Android: versatile protection for smart- Engineering (CSE), 2011; 427.
phones, In Proceedings of the 26th Annual Computer 98. Rosenblum M, Ousterhout JK. The design and imple-
Security Application Conference (ACSAC), 2010; mentation of a log-structured file system. ACM Trans-
347–356. actions on Computer Systems (TOCS) 1992; 10(1):
86. Zhangwei H, Mingjun X. A distributed spatial cloak- 26–52.
ing protocol for location privacy, In Proceedings of 99. Shen J, Yan S, Hua X-S. The e-recall environment for
the 2nd International Conference on Networks Secu- cloud based mobile rich media data management, In
rity Wireless Communications and Trusted Comput- Proceedings of the 2010 ACM multimedia workshop
ing (NSWCTC), 2010; 468. on Mobile cloud media computing, 2010; 31–34.
87. Sweeney L. K-anonymity: a model for protecting 100. Kennedy L, Chang SF, Natsev A. Query-adaptive
privacy. International Journal of Uncertainty Fuzzi- fusion for multimodal search. Proceedings of the
ness and Knowledge-Based Systems 2002; 10(5): IEEE Magazine 2008; 96(4): 567–588.
557–570. 101. Koukoumidis E, Lymberopoulos D, Strauss K, Liu J,
88. Wang S, Wang XS. In-device spatial cloaking for Burger D. Pocket cloudlets, In Proceedings of the
mobile user privacy assisted by the cloud, In Proceed- 16th international conference on Architectural sup-
ings of the 11th International Conference on Mobile port for programming languages and operating sys-
Data Management (MDM), 2010; 381. tems (ASPLOS), 2011; 171–184.

Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd. 1609
DOI: 10.1002/wcm
A survey of mobile cloud computing H. T. Dinh et al.

102. Dong Y, Peng J, Wang D, et al. RFS: a network and cloud, In Proceedings of the 6th conference on
file system for mobile devices and the cloud. ACM Computer systems (EuroSys), 2011; 301–314.
SIGOPS Operating Systems Review 2011; 45(1): 116. Satyanarayanan M, Bahl P, Caceres R, Davies N. The
101–111. case for VM-based cloudlets in mobile computing.
103. Eaton RP. Improving Access to Remote Storage for IEEE Pervasive Computing 2009; 8(4): 14–23.
Weakly Connected Users. University of California at 117. Keahey K, Tsugawa M, Matsunaga A, Fortes J.
Berkeley: Berkeley, 2007. Sky Computing. IEEE Internet Computing Magazine
104. Samimi FA, Mckinley PK, Sadjadi SM. Mobile ser- 2009; 13(5): 43.
vice clouds: a self-managing infrastructure for auto-
nomic mobile computing services, In Proceedings
of the 2nd International Workshop on Self-Managed AUTHORS’ BIOGRAPHIES
Networks,Systems & Services (SelfMan),vol. 3996,
2006; 130–141. Dinh Thai Hoang received his
105. McKinley PK, Samimi FA, Shapiro JK, Tang C. Ser- Electronics and Telecommunications
diploma in 2009 from HUT (Hanoi
vice Clouds: A Distributed Infrastructure For Con-
University of Technology), Vietnam.
structing Autonomic Communication Services, In
He joined the Network lab in HUT
Proceedings of the 2nd IEEE International Sympo- from February 2009 to June 2010 in
sium on Dependable,Autonomic and Secure Comput- project ‘Development of the service
ing, 2006; 341. platform for next generation networks
106. Samimi FA, McKinley PK, Sadjadi SM, Ge P. (NGN/UMTS)’. He has been a project
Kernel-middleware interaction to support adaptation officer since November 2010 in NTU (Nanyang Techno-
in pervasive computing environments, In Proceedings logical University) – Singapore. His current research inter-
of the 2nd workshop on Middleware for pervasive and ests include design, analysis, and optimization of wireless
ad-hoc computing (MPAC), 2004; 140–145. communication and mobile cloud computing.
107. La HH, Kim SD. A Conceptual framework for provi-
sioning context-aware mobile cloud services, In Pro- Chonho Lee currently works as a
ceedings of the 3rd IEEE International Conference on research fellow at the School of Com-
Cloud Computing (CLOUD), 2010; 466. puter Engineering, Nanyang Tech-
108. Papakos P, Capra L, Rosenblum DS. VOLARE: nological University, Singapore. He
received his BS and MS in Com-
context-aware adaptive cloud service discovery for
puter Science from the University of
mobile systems, In Proceedings of the 9th Interna-
California, Irvine and PhD in Com-
tional Workshop on Adaptive and Reflective Middle- puter Science from the University
ware (ARM), 2010; 32–38. of Massachusetts, Boston, 2010. His
109. Rahman M, Mir FAM. Fourth Generation (4G) current research interests include optimization and self-
mobile networks - features,technologies & issues, In adaptation using game theory and bio-inspired approaches
Proceedings of the 6th IEEE International Confer- in large-scale network systems such as data centers
ence on 3G and Beyond, 2007; 1. and clouds.
110. Varshney U, Jain R. Issues in emerging 4G wireless
networks. Computer 2002; 34(6): 94–96. Dusit Niyato is currently an assis-
111. Boccuzzi J, Ruggiero M. Femtocells: Design & tant professor in the Division of
Application. McGraw-Hill, 2011. Computer Communications, School
112. http://www.haysystems.com/. of Computer Engineering, Nanyang
113. Yucek T, Arslan H. A survey of spectrum sens- Technological University, Singapore.
ing algorithms for cognitive radio applications, In His current research interests include
design, analysis, and optimization of
IEEE Communications Surveys & Tutorials, 2009;
wireless communication and mobile
116–130.
cloud computing, smart grid systems,
114. Ge F, Lin H, Khajeh A. Cognitive radio rides on and green radio communications. Dusit serves as an edi-
the cloud, In Military Communications Conference tor for the IEEE Transactions on Wireless Communica-
(MILCOM), 2011; 1448. tions, Wireless Communications and Mobile Computing
115. Chun BG, Ihm S, Maniatis P, Naik M, Patti A. (WCMC) Journal, and Journal of Communications and
CloneCloud: elastic execution between mobile device Networks (JCN).

1610 Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd.
DOI: 10.1002/wcm
H. T. Dinh et al. A survey of mobile cloud computing

Ping Wang received the BE and University, Singapore. Her current research interests
ME degrees from Huazhong Uni- include QoS provisioning and resource allocation in wire-
versity of Science and Technology, less communications and cloud computing. She was a
Wuhan, China, in 1994 and 1997, corecipient of the Best Paper Award from the IEEE Interna-
respectively, and the PhD degree tional Conference on Communications (ICC 07). She is a
from University of Waterloo, Ontario, member of the IEEE. She is an editor of IEEE Transactions
Canada, in 2008, all in electrical engi- on Wireless Communications, EURASIP Journal on Wire-
neering. Since June 2008, she has less Communications and Networking, International Jour-
been an assistant professor in the nal of Communication Systems, and International Journal
School of Computer Engineering, Nanyang Technological of Ultra Wideband Communications and Systems.

Wirel. Commun. Mob. Comput. 2013; 13:1587–1611 © 2011 John Wiley & Sons, Ltd. 1611
DOI: 10.1002/wcm

You might also like