Professional Documents
Culture Documents
EA Endorsed Transactions
on Industrial Networks and Intelligent Systems Research Article
With an exploding growth of the mobile applications and emerging of cloud computing, mobile cloud
computing (MCC) has become a potential technology for mobile services. MCC is the combination of cloud
computing, mobile computing and wireless networks to bring rich computational resources to mobile users,
network operators, as well as cloud computing providers. Despite increasing usage of mobile computing,
exploiting its full potential is difficult due to its inherent problems such as resource scarcity, frequent
disconnections and mobility. MCC can address these problems by executing mobile applications on the
resource providers’ side. In this paper, we give a definition of mobile cloud computing and provide an
overview of state-of-the-art progress, in particular, models of mobile cloud applications. We also highlight
research challenges in the area of mobile cloud computing. We conclude that mobile cloud computing can
help building more powerful mobile applications.
Copyright © 2016 Fei Gu et al., licensed to EAI. This is an open access article distributed under the terms of the
Creative Commons Attribution licence (http://creativecommons.org/licenses/by/3.0/), which permits unlimited use,
distribution and reproduction in any medium so long as the original work is properly cited.
doi: 10.4108/eai.21-4-2016.151159
1. Introduction
The market of mobile devices has expanded rapidly. can cloud computing bridge the resource gap of mobile
According to IDC[24], the premier global market computing?
intelligence firm, the worldwide Smartphone market The answer is definitively yes. Recently, we have
grew 55.3% year over year in 2015. Mobile devices witnessed several cases which cloud computing is called
allow users to run powerful applications that take in to solve mobile computing problems. Apple’s iCloud
advantage of the growing availability of built-in sensing stores customers’ music, photos, apps, calendars,
and better data exchange capabilities of mobile devices. documents, etc, and wirelessly pushes them to all
In recent years, applications targeted at mobile devices their devices automatically. Apple’s iCloud stores are
have started becoming abundant with applications in hosted in Amazon Elastic Compute Cloud (EC2) and
various categories such as entertainment, health, games, Microsoft Azure. Amazon has released its new "cloud-
business, social networking, travel and news. The accelerated" Web browser Silk. Silk a "split browser"
popularity of these are evident by browsing through whose software resides both on Kindle Fire and
mobile app download centers such as Apple’s iTunes EC2. With each web page request, Silk dynamically
or Google’s Play. The reason for this is that mobile determines a division of labor between the mobile
computing is able to provide a tool to the user when hardware and Amazon EC2 (i.e. which browser sub-
and where it is needed irrespective of user movement, components run where) that takes into consideration
hence supporting location independence. factors like network conditions, page complexity and
However, the mobile devices are facing many the location of any cached content. We refer to
challenges in their resources (e.g., battery life, storage, mobile applications that leverage the public cloud
and bandwidth) and communications (e.g., mobility (e.g. Amazon EC2 and Windows Azure) as mobile
and security)[39]. The limited resources significantly cloud applications or mCloud apps for short. We
impede the improvement of service qualities. Given refer to the research area of mobile computing that
the abundance of and easy access to public cloud taps in cloud resources as mobile cloud computing or
computing resources, the natural question to ask is, mCloud computing for short. The public cloud today
are designed for enterprise applications without any
explicit consideration of mobile applications. Mobile
∗ Corresponding author. Email: gufei@buaa.edu.cn computing demand fundamental changes to the public
cloud. We refer to a public cloud that supports mobile be considered as mobile devices, such as smartphone
applications seamlessly as mCloud. and laptop, or their mobile components. Software of
Cloud computing (CC) has been widely recognized as mobile computing is the numerous mobile applications
the next generation computing infrastructure. CC offers in the devices, such as the mobile browser, anti-virus
some advantages by allowing users to use infrastructure software and games. The communication issue includes
(e.g., servers, networks, and storages), platforms (e.g., the infrastructure of mobile networks, protocols and
middleware services and operating systems), and data delivery in their use. They must be transparent to
softwares (e.g., application programs) provided by end users.
cloud providers (e.g., Google, Amazon, and Salesforce) Compared with the traditional wired network,
at low cost. In addition, CC enables users to elastically mobile computing network may face various problems
utilize resources in an on-demand fashion. As a result, and challenges in different aspects, such as signal
mobile applications can be rapidly provisioned and disturbance, security, hand-off delay, limited power,
released with the minimal management efforts or low computing ability, and so on, due to the wireless
service provider’s interactions. With the explosion of environment and numerous mobile nodes. In addition,
mobile applications and the support of CC for a variety the Quality of Service (QoS) in mobile computing
of services for mobile users, MCC is introduced as an network is much easier to be affected by the landforms,
integration of CC into the mobile environment. MCC weather and buildings.
brings new types of services and facilities mobile users
to take full advantages of CC. 2.2. Cloud Computing
This paper presents a comprehensive summary on
In the era of PC, many users found that the PCs
MCC. A brief background of MCC can be shown in
bought 2 years ago cannot keep pace with the
Section 2. Section 3 provides a brief overview of MCC
development of software nowadays; they need a higher
including definition, architecture, and its advantages.
speed CPU, a larger capacity hard disk, and a higher
Then, Section 4 presents several open research issues
performance Operation System (OS). That is the magic
and Section 5 shows the basic mobile cloud computing
of "Moores Law" which urges user upgrading their PCs
services. Finally, the future research Trends and the
constantly, but never ever overtakes the development
conclusion are outlined in Section 6.
of techniques. Thus, a term called "Cloud Computing"
burst upon our lives.
2. Background Cloud Computing has become a popular phrase since
As a development and extension of Cloud Computing 2007. However, there is no consensual definition on
and Mobile Computing, Mobile Cloud Computing, as what a Cloud Computing or Cloud Computing System
a new phrase, has been devised since 2009. In order is, due to dozens of developers and organizations
to help us grasping better understanding of Mobile described it from different perspectives. C. Hewitt[22]
Cloud Computing, let’s start from the two previous introduces that the major function of a cloud computing
techniques: Mobile Computing and Cloud Computing. system is storing data on the cloud servers, and uses of
cache memory technology in the client to fetch the data.
2.1. Mobile Computing Those clients can be PCs, laptops, smartphones and so
on. R. Buyya[9] gives a definition from the perspective
Mobility has become a very popular word and
of marking that cloud computing is a parallel and
rapidly increasing part in today’s computing area. An
distributed computing system, which is combined
incredible growth has appeared in the development
by a group of virtual machines with internal links.
of mobile devices such as, smartphone, PDA, GPS
Such systems dynamically offer computing resources
Navigation and laptops with a variety of mobile
from service providers to customers according to
computing, networking and security technologies. In
their Service level Agreement (SLA). However, some
addition, with the development of wireless technology
authors mentioned that cloud computing was not a
like WiMax, Ad Hoc Network and WIFI, users may be
completely new concept. L. Youseff[45] from University
surfing the Internet much easier but not limited by the
of California, Santa Barbara (UCSB) declares that
cables as before. Thus, those mobile devices have been
cloud computing is just combined by many existent
accepted by more and more people as their first choice
and few new concepts in many research fields, such
of working and entertainment in their daily lives.
as distributed and grid computing, Service-Oriented
So, what is Mobile computing exactly? In Wikipedia,
Architectures (SOA) and in virtualization.
it is described as a form of human-computer interaction
by which a computer is expected to be transported
during normal usage[32]. Mobile computing is based on
3. Overview of Mobile Cloud Computing
a collection of three major concepts: hardware, software The term "mobile cloud computing" was introduced not
and communication. The concepts of hardware can long after the concept of "cloud computing". It has been
From the concept of MCC, the general architecture of • Data centers layer: This layer provides the
MCC can be shown in Figure 1. In Figure 1, mobile hardware facility and infrastructure for clouds. In
devices are connected to the mobile networks via base data center layer, a number of servers are linked
stations (e.g., base transceiver station, access point, or with high-speed networks to provide services for
satellite) that establish and control the connections customers. Typically, data centers are built in
(air links) and functional interfaces between the less populated places, with a high power supply
networks and mobile devices. Mobile users’ requests stability and a low risk of disaster.
and information (e.g., ID and location) are transmitted
• IaaS: Infrastructure as a Service is built on top of
to the central processors that are connected to servers
the data center layer. IaaS enables the provision
providing mobile network services. Here, mobile
of storage, hardware, servers, and networking
network operators can provide services to mobile users
components. The client typically pays on a per-use
as authentication, authorization, and accounting based
basis. Thus, clients can save cost as the payment
on the home agent and subscribers’ data stored in
is only based on how much resource they really
databases. After that, the subscribers’ requests are
use. Infrastructure can be expanded or shrunk
delivered to a cloud through the Internet. In the
dynamically as needed. The examples of IaaS are
cloud, cloud controllers process the requests to provide
Amazon Elastic Cloud Computing and Simple
mobile users with the corresponding cloud services.
Storage Service (S3).
These services are developed with the concepts of
utility computing, virtualization, and service-oriented • PaaS: Platform as a Service offers an advanced
architecture (e.g., web, application, and database integrated environment for building, testing, and
servers). deploying custom applications. The examples of
The details of cloud architecture could be different PaaS are Google App Engine, Microsoft Azure,
in different contexts. For example, a four-layer archi- and Amazon Map Reduce/Simple Storage Service.
tecture is explained in [18] to compare cloud com-
puting with grid computing. Alternatively, a service- • SaaS: Software as a Service supports a software
oriented architecture, called Aneka, is introduced to distribution with specific requirements. In this
Mobile Network A
Satellite
atellite
Database
Datab
a ase
Data center owners or
Access HA cloud service providers
ccess
Servers
Point
Point Centrol
AAA
Processor
BTS
BTS
Mobile
devices
Cloud Computing
Internet
Mobile Network B Cloud Cloud
controler controler Data
Data
center center
Mobile Network Services
Satellite
atellite Cloud A Cloud B
Database
Datab
a ase
Access HA
ccess
Servers
Point
Point Centrol
AAA
Processor
BTS
BTS
Mobile Application
Appllicatiion
devices servers
servers
layer, the users can access an application and performance[25][34] and to manage the disk and
information remotely via the Internet and pay screen in an intelligent manner[13][30] to reduce
only for that they use. Salesforce is one of power consumption. However, these solutions
the pioneers in providing this service model. require changes in the structure of mobile devices,
Microsoft’s Live Mesh also allows sharing files and or they require a new hardware that results in
folders across multiple devices simultaneously. an increase of cost and may not be feasible for
all mobile devices. Computation offloading tech-
Although the CC architecture can be divided into four
nique is proposed with the objective to migrate
layers as shown in Figure 2, it does not mean that the
the large computations and complex process-
top layer must be built on the layer directly below
ing from resource-limited devices (i.e., mobile
it. For example, the SaaS application can be deployed
devices) to resourceful machines (i.e., servers in
directly on IaaS, instead of PaaS. Also, some services
clouds). This avoids taking a long application
can be considered as a part of more than one layer. For
execution time on mobile devices which results in
example, data storage service can be viewed as either in
large amount of power consumption.
IaaS or PaaS. Given this architectural model, the users
can use the services flexibly and efficiently.
In [35] and [42], the effectiveness of offloading
3.3. Advantages techniques were evaluated through several exper-
iments. The results demonstrate that the remote
Cloud computing is known to be a promising solution
application execution can save energy signifi-
for mobile computing (MC) because of many reasons
cantly. Especially, Rudenko[35] evaluates large-
(e.g., mobility, communication, and portability[17]). In
scale numerical computations and shows that up
the following, we describe how the cloud can be used
to 45% of energy consumption can be reduced for
to overcome obstacles in MC, thereby pointing out
large matrix calculation. In addition, many mobile
advantages of MCC.
applications take advantages from task migration
• Extending battery lifetime. Battery is one of the and remote processing. For example, offloading
main concerns for mobile devices. Several solu- a compiler optimization for image processing[26]
tions have been proposed to enhance the CPU can reduce 41% for energy consumption of a
mobile device. What’s more, using memory arith- being abused and unauthorized distribution[46].
metic unit and interface (MAUI) to migrate mobile In addition, the cloud can remotely provide
game components[12] to servers in the cloud can mobile users with security services such as
save 27% of energy consumption for computer virus scanning, malicious code detection, and
games and 45% for the chess game. authentication[33]. Such cloud-based security
services also can make efficient use of the
• Improving data storage capacity and processing collected record from different users to improve
power. Storage capacity is also a constraint for the effectiveness of the services.
mobile devices. MCC is developed to enable
mobile users to store/access the large data on the In addition, MCC also inherits some advantages of
cloud through wireless networks. First example clouds for mobile services as follows:
is the Amazon Simple Storage Service[5] which • Dynamic provisioning. Dynamic on-demand
supports file storage service. Another example is provisioning of resources on a fine-grained, self-
Image Exchange which utilizes the large storage service basis is a flexible way for service providers
space in clouds for mobile users[44]. This mobile and mobile users to run their applications without
photo sharing service enables mobile users to advanced reservation of resources.
upload images to the clouds immediately after
capturing. Users may access all images from • Scalability. The deployment of mobile appli-
any devices. With the cloud, the users can save cations can be performed and scaled to meet
considerable amount of energy and storage space the unpredictable user demands due to flexible
on their mobile devices because all images are resource provisioning. Service providers can eas-
sent and processed on the clouds. Flickr[16] and ily add and expand an application and service
ShoZu[41] are also the successful mobile photo without or with little constraint on the resource
sharing applications based on MCC. Facebook[15] usage.
is the most successful social network application • Multitenancy. Service providers (e.g., network
today, and it is also a typical example of using operator and data center owner) can share the
cloud in sharing images. resources and costs to support a variety of
Mobile cloud computing also helps in reducing applications and largenumber of users.
the running cost for compute-intensive applica-
• Ease of integration. Multiple services from
tions that take long time and large amount of
different service providers can be integrated easily
energy when performed on the limited-resource
through the cloud and Internet to meet the user
devices. CC can efficiently support various tasks
demand.
for data warehousing, managing and synchro-
nizing multiple documents online. For example,
clouds can be used for transcoding[19], play- 4. Open Research Issues
ing chess[12][27], or broadcasting multimedia 4.1. Energy efficiency
services[28] to mobile devices. In these cases, all
the complex calculations for transcoding or offer- Owing to the limited resources such as battery
ing an optimal chess move that take a long time life, available network bandwidth, storage capacity
when perform on mobile devices will be processed and processor performance, on the mobile devices,
efficiently on the cloud. Mobile applications also researchers are always on the lookout for solutions that
are not constrained by storage capacity on the result in optimal utilization of available resources.
devices because their data now is stored on the
cloud. 4.2. Security
The absence of standards poses a serious issue
• Improving reliability: Storing data or running
specifically with respect to security and privacy of data
applications on clouds is an effective way to
being delivered to and from the mobile devices to the
improve the reliability because the data and
cloud.
application are stored and backed up on a
number of computers. This reduces the chance
of data and application lost on the mobile
4.3. Better service
devices. In addition, MCC can be designed as The original motivation behind MCC was to provide
a comprehensive data security model for both PC-like services to mobile devices. However, owing to
service providers and users. For example, the the varied differences in features between fixed and
cloud can be used to protect copyrighted digital mobile devices, transformation of services from one to
contents (e.g., video, clip, and music) from the other may not be as direct.
Video
Memcache Moble e-
streaming
commerce
proxy
Bakcup
Compute Application
nodes Presence Location-
services based
applications
Data locker Push
Storage
for p2p notification
Gaming
Databases Speech/image
recognition
CDNs
Platform
services Collaborative
Basic Applications
platform Constructed
services services
Many mobile applications need to send push Mobile Networks Social Networks Sensor Networks