A Survey of Mobile Cloud Computing : Architecture,
Applications, and Approaches
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 computing
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)
discussed 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.
I.
INTRODUCTION
Mobile devices (e.g., smartphone,
tablet pcs, etc) are increasingly becoming an essential part of human life as
the most effective and convenient communication tools not bounded by time and
place. Mobile users accumulate rich experience of various services from mobile
applications (e.g., iPhone apps, Google apps, etc), which run on the devices
and/or on remote servers via wireless networks. The rapid progress of mobile computing
(MC) becomes a powerful trend in the development of IT technology as well
as commerce and industry fields. However, the mobile devices are facing many
challenges in their resources (e.g., battery life, storage, and bandwidth) and
communications (e.g., mobility and security). The limited resources
significantly impede the improvement of service qualities.Cloud computing (CC) has been widely recognized as the next
generation’s computing infrastructure. CC offers some advantages by allowing users
to use infrastructure (e.g., servers, networks, and storages), platforms (e.g.,
middleware services and operating systems), and softwares (e.g., application
programs) provided by cloud
providers (e.g., Google, Amazon, and Salesforce) at low cost. In addition, CC
enables users to elastically utilize resources in an on-demand fashion. As a
result, mobile applications can be rapidly provisioned and released with the
minimal management efforts or service provider’s interactions. With the explosion
of mobile applications and the support of CC for a variety of services for
mobile users, mobile cloud computing (MCC) is introduced as an integration of
cloud computing into the mobile environment. Mobile cloud computing brings new
types of services and facilities for mobile users to take full advantages of
cloud computing.
This paper presents a comprehensive survey on mobile cloud
computing. Section II provides a brief overview of MCC including definition,
architecture, and its advantages. Section III discusses the use of MCC in
various applications. Then, Section IV presents several issues that arise in
MCC and approaches to address the issues. Next, the future research directions
are outlined in Section V. Finally, we summarize and conclude the survey in
Section VI. The list of acronyms appeared in this paper is given in Table I.
II.
OVERVIEW OF MOBILE CLOUD COMPUTING
The term “mobile cloud computing” was introduced not long
after the concept of “cloud computing” launched in mid-2007. It has been attracting
the attentions of entrepreneurs as a profitable business option that reduces
the development and running cost of mobile applications, of mobile users as a
new technology to achieve rich experience of a variety of mobile services at
low cost, and of researchers as a promising solution for green IT. This
section provides an overview of MCC including definition, architecture, and
advantages of MCC.
A. What is Mobile Cloud
Computing?
“Mobile
Cloud Computing at its simplest, refers to an infrastructure where both the
data storage and the data processing happen outside of the mobile device.
Mobile cloud applications move the computing power and data storage away from
mobile phones and into the cloud, bringing applications and mobile computing to
not just smartphone users but a much broader range of mobile subscribers”.
Aepona describes MCC as a new
paradigm for mobile applications whereby the data processing and storage are
moved from the mobile device to powerful and centralized computing platforms
located in clouds. These centralized applications are then accessed over the
wireless connection based on a thin native client or web browser on the mobile
devices.
B. Architectures of Mobile Cloud Computing
From the concept of MCC, the
general architecture of MCC can be shown in Fig. 1. In Fig. 1, mobile devices
are connected to the mobile networks via base stations (e.g., base transceiver
station (BTS), access point, or satellite) that establish and control the
connections (air links) and functional interfaces between the networks and
mobile 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 services. Here, mobile network operators can provide
services to mobile users as AAA (for authentication, authorization, and
accounting) based on the home agent (HA) and subscribers’ data stored in
databases. After that, the subscribers’ requests are delivered to a cloud
through the Internet. In the cloud, cloud controllers process the requests to
provide mobile users with the corresponding cloud services. These services are developed with
the concepts of utility computing, virtualization, and service-oriented
architecture (e.g., web, application, and database servers).
The details of cloud architecture
could be different in different contexts. For example, a four-layer
architecture is explained in to compare cloud computing with grid
computing. Alternatively, a serviceoriented architecture, called Aneka, is
introduced to enable developers to build .NET applications with the supports of
application programming interfaces (APIs) and multiple programming models presents an architecture for creating market-oriented clouds, and proposes an architecture for webdelivered business services. In this paper, we
focus on a layered architecture of cloud computing (Fig. 2). This architecture
is commonly used to demonstrate the effectiveness of the cloud computing model
in terms of meeting the user’s requirements.
Generally, a cloud computing is a large-scale
distributed network system implemented based on a number of servers in data
centers. The cloud services are generally classified based on a layer concept. In the upper layers of this paradigm, Infrastructure as a Service
(IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) are
stacked
1. Data centers layer: This layer provides
the hardware facility and infrastructure for clouds. In data center layer, a
number of servers are linked with high-speed networks to provide services for
customers. Typically, data centers are built in less populated places, with a
high power supply stability and a low risk of disaster.
2. Infrastructure as a Service (IaaS): IaaS
is built on top of the data center layer. IaaS enables the provision of
storage, hardware, servers and networking components. The client typically pays
on a per-use basis. Thus, clients can save cost as the payment is only based on
how much resource they really use. Infrastructure can be expanded or shrunk
dynamically as needed. The examples of IaaS are Amazon EC2 (Elastic Cloud
Computing) and S3 (Simple Storage Service).
3. Platform as a Service (PaaS): PaaS
offers an advanced integrated environment for building, testing and deploying
custom applications. The examples of PaaS are Google App Engine, Microsoft
Azure, and Amazon Map Reduce/Simple Storage Service.
4. Software as a Service (SaaS): SaaS
supports a software distribution with specific requirements. In this layer, the
users can access an application and information remotely via the Internet and
pay only for that they use. Salesforce is one of the pioneers in providing this
service model. Microsoft’s Live Mesh also allows sharing files and folders across
multiple devices simultaneously.
Although the cloud computing architecture can be
divided into four layers as shown in Fig. 2, it does not mean that the top
layer must be built on the layer directly below it. For example, the SaaS
application can be deployed directly on IaaS, instead of PaaS. Also, some
services can be considered as a part of more than one layer. For example, data
storage service can be viewed as either in IaaS or PaaS. Given this
architectural model, the users can use the services flexibly and efficiently.
C. Advantages of Mobile Cloud Computing
Cloud computing is known to be a promising solution
for mobile computing due to many reasons (e.g., mobility, communication, and
portability. In the following, we describe how the cloud can be used to
overcome obstacles in mobile computing, thereby pointing out advantages of MCC.
1) Extending
battery lifetime: Battery is one of the main concerns for mobile devices.
Several solutions have been proposed to enhance the CPU performance and to manage the disk and screen in an intelligent manner to reduce
power consumption. However, these solutions require changes in the structure of
mobile devices, or they require a new hardware that results in an increase of
cost and may not be feasible for all mobile devices. Computation offloading
technique is proposed with the objective to migrate the large computations and
complex processing from resource-limited devices (i.e., mobile devices) to
resourceful machines (i.e., servers in clouds). This avoids taking a long
application execution time on mobile devices which results in large amount of
power consumption.
2) Improving data storage capacity and processing power: Storage
capacity is also a constraint for mobile devices. MCC is developed to enable
mobile users to store/access the large data on the cloud through wireless
networks. First example is the Amazon Simple Storage Service (Amazon S3) which supports file storage service. Another example is Image Exchange which
utilizes the large storage space in clouds for mobile users. This mobile
photo sharing service enables mobile users to upload images to the clouds
immediately after capturing. Users may access all images from any devices. With
cloud, the users can save considerable amount of energy and storage space on
their mobile devices since all images are sent and processed on the clouds.
Flickr and ShoZu are also the successful mobile photo sharing
applications based on MCC. Facebook is the most successful social network
application today, and it is also a typical example of using cloud in sharing
images.
3) Improving reliability: Storing data or running applications on
clouds is an effective way to improve the reliability since the data and
application are stored and backed up on a number of computers. This reduces the
chance of data and application lost on the mobile devices. In addition, MCC can
be designed as a comprehensive data security model for both service providers
and users. For example, the cloud can be used to protect copyrighted digital
contents (e.g., video, clip, and music) from being abused and unauthorized
distribution . Also, the cloud can remotely provide to mobile users with
security services such as virus scanning, malicious code detection, and
authentication. Also, such cloud-based security services can make
efficient use of the collected record from different users to improve the
effectiveness of the services.
III. APPLICATIONS OF MOBILE CLOUD
COMPUTING
Mobile applications gain increasing share in a global
mobile market. Various mobile applications have taken the advantages of MCC. In
this section, some typical MCC applications are introduced.
A. Mobile Commerce
Mobile commerce (m-commerce) is a
business model for commerce using mobile devices. The mcommerce applications
generally fulfill some tasks that require mobility (e.g., mobile transactions
and payments, mobile messaging, and mobile ticketing). The m-commerce
applications can be classified into a few classes including finance,
advertising and shopping. The m-commerce applications have to face various
challenges (e.g., low network bandwidth, high complexity of mobile device
configurations, and security). Therefore, m-commerce applications are
integrated into cloud computing environment to address these issues. proposes a 3G E-commerce platform based on cloud computing. This paradigm
combines the advantages of both 3G network and cloud computing to increase data
processing speed and security level [33] based on PKI (public key infrastructure).
The PKI mechanism uses an encryption-based access control and an
over-encryption to ensure privacy of user’s access to the outsourced data. In, a 4PL-AVE trading platform utilizes cloud computing technology to enhance
the security for users and improve the customer satisfaction, customer
intimacy, and cost competitiveness.
B. Mobile Learning
Mobile learning (m-learning) is designed based on
electronic learning (e-learning) and mobility. However, traditional m-learning
applications have limitations in terms of high cost of devices and network, low
network transmission rate, and limited educational resources. Cloud-based m-learning applications are introduced to solve these limitations.
For example, utilizing a cloud with the large storage capacity and powerful
processing ability, the applications provide learners with much richer services
in terms of data (information) size, faster processing speed, and longer
battery life. presents benefits of
combining m-learning and cloud computing to enhance the communication quality
between students and teachers. In this case, a smartphone software based on the
open source JavaME UI framework and Jaber for clients is used. Through a web
site built on Google Apps Engine, students communicate with their teachers at
anytime. Also, the teachers can obtain the information about student’s
knowledge level of the course and can answer students’ questions in a timely
manner. In addition, a contextual m-learning system based on IMERA platform shows that a cloud-based m-learning system helps learners access learning
resources remotely.
Another example of MCC applications in learning is
“Cornucopia” implemented for researches of undergraduate genetics students and
“Plantations Pathfinder” designed to supply information and provide a
collaboration space for visitors when they visit the gardens. The purpose
of the deployment of these applications is to help the students enhance their
understanding about the appropriate design of mobile cloud computing in
supporting field experiences. In [41], an education tool is developed based on
cloud computing to create a course about image/video processing. Through mobile
phones, learners can understand and compare different algorithms used in mobile
applications (e.g., de-blurring, de-noising, face detection, and image
enhancement).
C. Mobile Healthcare
The purpose of applying MCC in
medical applications is to minimize the limitations of traditional medical
treatment (e.g., small physical storage, security and privacy, and medical
errors. Mobile healthcare (m-healthcare) provides mobile users with
convenient helps to access resources (e.g., patient health records) easily and
quickly. Besides, m-healthcare offers hospitals and healthcare organizations a
variety of on-demand services on clouds rather than owning standalone
applications on local servers.
There are a few schemes of MCC applications in
healthcare. For example, presents five main mobile healthcare applications
in the pervasive environment.
• Comprehensive health monitoring services enable
patients to be monitored at anytime and anywhere through broadband wireless
communications.
• Intelligent emergency management system can
manage and coordinate the fleet of emergency vehicles effectively and in time
when receiving calls from accidents or incidents.
• Health-aware mobile devices detect
pulse-rate, blood pressure, and level of alcohol to alert healthcare emergency
system.
• Pervasive access to healthcare information allows
patients or healthcare providers to access the current and past medical
information.
• Pervasive lifestyle incentive management can
be used to pay healthcare expenses and manage other related charges
automatically .
Similarly, proposes
@HealthCloud, a prototype implementation of m-healthcare information management
system based on cloud computing and a mobile client running Android operating
system (OS). This prototype presents three services utilizing the Amazon’s S3
Cloud Storage Service to manage patient health records and medical images.
• Seamless connection to cloud storage allows
users to retrieve, modify, and upload medical contents (e.g., medical images,
patient health records and biosignals) utilizing web services and a set of
available APIs called REST.
• Patient health record management system displays
the information regarding patients’ status, related biosignals and image
contents through application’s interface.
• Image viewing support allows the mobile
users to decode the large image files at different resolution levels given
different network availability and quality.
For practical system, a telemedicine homecare
management system is implemented in Taiwan to monitor participants,
especially for patients with hypertension and diabetes. The system monitors 300
participants and stores more than 4736 records of blood pressure and sugar
measurement data on the cloud. When a participant performs blood
glucose/pressure measurement via specialized equipment, the equipment can send
the measured parameters to the system automatically, or the participant can
send parameters by SMS via their mobile devices. After that, the cloud will
gather and analyze the information about the participant and return results.
The development of mobile healthcare clearly provides tremendous helps for the
participants. However, the information to be collected and managed related to
personal health is sensitive. Therefore, propose solutions to
protect participant’s health information, thereby increasing the privacy of the
services. While uses P2P paradigm to federate clouds to address security
issue, data protection and ownership, the model in provides security as a
service on the cloud to protect mobile applications. Therefore, mobile health
application providers and users will not have to worry about security issue
since it is ensured by security vendor.
D. Mobile Gaming
Mobile game (m-game) is a potential market
generating revenues for service providers. M-game can completely offload game
engine requiring large computing resource (e.g., graphic rendering) to the
server in the cloud, and gamers only interact with the screen interface on
their devices.
[49] demonstrates
that offloading (multimedia code) can save energy for mobile devices, thereby
increasing game playing time on mobile devices. proposes MAUI (memory
arithmetic unit and interface), a system that enables fine-grained energy-aware
offloading of mobile codes to a cloud. Also, a number of experiments are
conducted to evaluate the energy used for game applications with 3G network and
WiFi network. It is found that instead of offloading all codes to the cloud for
processing, MAUI partitions the application codes at a runtime based on the
costs of network communication and CPU on the mobile device to maximize energy
savings given network connectivity. The results demonstrate that MAUI not only
helps energy reduction significantly for mobile devices (i.e., MAUI saves 27%
of energy usage for the video game and 45% for chess), but also improves the
performance of mobile applications (i.e., the game’s refresh rate increases
from 6 to 13 frames per second).
presents
a new cloud-based m-game using a rendering adaptation technique to dynamically
adjust the game rendering parameters according to communication constraints and
gamers’ demands. The rendering adaptation technique mainly bases on the idea to
reduce the number of objects in the display list since not all objects in the
display list created by game engine are necessary for playing the game and
scale the complexity of rendering operations. The objective is to maximize the
user experience given the communications and computing costs.
E. Other Practical Applications
A cloud becomes a useful tool to help mobile users
share photos and video clips efficiently and tag their friends in popular
social networks as Twitter and Facebook. MeLog is an MCC application that
enables mobile users to share real-time experience (e.g., travel, shopping, and
event) over clouds through an automatic blogging. The mobile users (e.g.,
travelers) are supported by several cloud services such as guiding their trip,
showing maps, recording itinerary, and storing images and video.
introduces a mobile
locationing service allowing users to capture a short video clip about the
surrounding buildings. The matching algorithm run on a cloud can use a large
amount of information to search for a location of these buildings. Also, One
Hour Translation provides an online translation service running on the
cloud of Amazon Web Services. One Hour Translation helps mobile users,
especially foreign visitors, receive the information translated in their
language through their mobile devices.
A cloud becomes the most effective tool when mobile
users require searching services (e.g., searching information, location,
images, voices, or video clips).
• Keyword-based Searching: proposes
an intelligent mobile search model using semantic in which searching tasks will
be performed on servers in a cloud. This model can analyze the meaning of a
word, a phrase, or a complex multi-phase to produce the results quickly and
accurately. presents an application using the cloud to perform data
searching tasks for mobile users.uses Dessy system to find the
users’ data, metadata, and context information through desktop search (e.g.,
indexing, query, and index term stemming, and search relevance ranking) and
synchronization techniques.
• Voice-based Searching: proposes a
search service via a speech recognition in which mobile users just talk to
microphone on their devices rather than typing on keypads or touchscreens. introduces the AT&T speech mashup model that utilizes web services and
cloud computing environment to meet the speech service demands of customers.
This model optimizes the data transmission in a mobile network, reduces
latency, and is flexible in integrating with other services. Several examples
are demonstrated (e.g., speak4it, iPizza, and JME local business search).
• Tag-based Searching: introduces a
photo searching technique based on ontological semantic tags. Mobile users
search only recall parameters that are tagged on images before such images are
sent to a cloud. The cloud is used for storing and processing images for
resource-limited devices. The current service is designed for the images stored
on private cloud computing environment. In the future, it is expected to expand
for searching images in a public cloud environment.
In addition, there are a mobile-cloud collaborative
application to detect traffic lights for the blind, a cloud computing
framework to monitor different corners in a house through a mobile device,
and some efforts which integrate current services (e.g., BitTorrent, and Mobile
Social Network) into the clouds as in Thereby, we can recognize
that MCC is probably a prevailing technology trend with numerous applications
in the near future.
IV. ISSUES AND APPROACHES OF MCC
A. Issues in Mobile Communication Side
1) Low
Bandwidth
2)
Availability
3) Heterogeneity
B. Issues in Computing Side
1) Computing
Offloading
2) Security
3) Enhancing the
Efficiency of Data Access
4) Context-aware
mobile cloud services
V. OPEN ISSUES AND FUTURE
RESEARCH
DIRECTIONS
Several research works contribute to the
development of MCC by tackling issues as presented in the previous section.
However, there are still some issues which need to be addressed. This section
presents several open issues and possible research directions in the
development of MCC.
A. Low Bandwidth
B. Network Access Management
C. Quality of Service
D. Pricing
E. Standard Interface
F. Service Convergence
E. Standard Interface
F. Service Convergence
VI. CONCLUSION
Mobile cloud computing is one of mobile technology
trends in the future since it combines the advantages of both mobile computing
and cloud computing, thereby providing optimal services for mobile users.
According to a recent study by ABI Research, a New York-based firm, more than
240 million business will use cloud services through mobile devices by 2015.
That traction will push the revenue of mobile cloud computing to $5.2 billion.
With this importance, this article has provided an overview of mobile cloud
computing in which its definitions, architecture, and advantages have been
presented. The applications supported by mobile cloud computing including
mobile commerce, mobile learning, and mobile healthcare have been discussed
which clearly show the applicability of the mobile cloud computing to a wide
range of mobile services. Then, the issues and related approaches for mobile
cloud computing (i.e., from communication and computing sides) have been
discussed. Finally, the future research directions have been outlined.