-
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1,
FIRST QUARTER 2014 369
Heterogeneity in Mobile Cloud Computing:Taxonomy and Open
Challenges
Zohreh Sanaei, Member, IEEE, Saeid Abolfazli, Member, IEEE,
Abdullah Gani, Senior Member, IEEE andRajkumar Buyya, Senior
Member, IEEE
AbstractThe unabated flurry of research activities to aug-ment
various mobile devices by leveraging heterogeneous cloudresources
has created a new research domain called MobileCloud Computing
(MCC). In the core of such a non-uniformenvironment, facilitating
interoperability, portability, and inte-gration among heterogeneous
platforms is nontrivial. Buildingsuch facilitators in MCC requires
investigations to understandheterogeneity and its challenges over
the roots. Although thereare many research studies in mobile
computing and cloud com-puting, convergence of these two areas
grants further academicefforts towards flourishing MCC. In this
paper, we define MCC,explain its major challenges, discuss
heterogeneity in convergentcomputing (i.e. mobile computing and
cloud computing) andnetworking (wired and wireless networks), and
divide it intotwo dimensions, namely vertical and horizontal.
Heterogeneityroots are analyzed and taxonomized as hardware,
platform,feature, API, and network. Multidimensional heterogeneity
inMCC results in application and code fragmentation problemsthat
impede development of cross-platform mobile applicationswhich is
mathematically described. The impacts of heterogeneityin MCC are
investigated, related opportunities and challenges areidentified,
and predominant heterogeneity handling approacheslike
virtualization, middleware, and service oriented architecture(SOA)
are discussed. We outline open issues that help inidentifying new
research directions in MCC.
Index TermsMobile Cloud Computing, Vertical and Hori-zontal
heterogeneity, Mobile computation offloading, Interoper-ability,
Portability, Seamless communication.
I. INTRODUCTION
THE POPULARITY and availability of mobile devicessuch as
smartphones, which are offering ubiquitouscommunication and
information services, are creating sucha dependency that one does
not leave home without them.Smartphones possess a likelihood of
one-upmanship fromnotebooks and desktops [1]. These smart handheld
computerswill generate 150.6-billion-dollar benefits by the end of
2014,while devices like PDAs will bring in 2.7 billion
dollarscomparatively [2]. Hence, with the increasing ubiquity
ofsmartphones, the greater demand for heavier applicationswith high
quality of experience is gaining ground. However,
Manuscript received May 5, 2012; revised November 14, 2012 and
Febru-ary 28, 2013. This work is funded by the Malaysian Ministry
of HigherEducation under the University of Malaya High Impact
Research Grant -UM.C/HIR/MOHE/FCSIT/03.
Z. Sanaei, S. Abolfazli, and A. Gani are with the Department of
ComputerSystem & Technology, The University of Malaya, Kuala
Lumpur, Malaysia(e-mail: {sanaei,abolfazli}@ieee.org;
[email protected]).
R. Buyya is with the Cloud Computing and Distributed
Systems(CLOUDS) Laboratory, Department of Computing and
Information, TheUniversity of Melbourne, Parkville, Melbourne, VIC
3010, Australia (e-mail:[email protected]).
Digital Object Identifier 10.1109/SURV.2013.050113.00090
smartphones miniature nature, lightness, and mobility
imposeintrinsic limits on their processing abilities, battery
lifetime,storage capacity, and visualization power (e.g. screen
sizeand rendering capability). These restraints impede
executingresource-intensive tasks and storing large amount of data
onsmartphones.
To overcome some of these limitations, Satyanarayana [3]proposes
cyber foraging approach. In this approach, mobileaugmentation is
achieved via offloading applications (entirelyor partially) to
resource-rich, non-mobile computing devicesin the vicinity called
surrogates to provide heavy functionalityand to conserve local
resources, especially energy. Proposalssimilar to Spectra [4] and
Scavenger [5] are aimed to augmentmobile devices leveraging cyber
foraging. However, safetyand reliability are the major challenges
for migrating codesto the surrogates in the absence of authorities
supervisingfunctionality, performance, and the reliability of
surrogates [6].
Alternatively, cloud computing [7][9] as a distributedcomputing
paradigm has recently obtained momentous groundin augmenting mobile
devices. MAUI [10], CloneCloud [11],and Elastic Applications [12]
are some efforts that exploitclouds infrastructures to mitigate
resource poverty of mobiledevices. ABI Research forecasts that by
the end of 2015more than 240 million mobile business users will
utilize cloudservices driving nearly $5 billion in revenues [13].
Deployingcloud resources is a complex task that obliges programmers
toacquire specific skills. To mitigate such design and program-ming
overhead, cloud computing software platforms such asEucalyptus [14]
was developed to facilitate cloud deploymentand management in IT
business.
Recently, the exploitation of cloud resources for
augmentingmobile devices has bred a new research area called
MobileCloud Computing (MCC). Mobility established on
convergentnetworks [15] is the key attribute that distinguishes
MCCfrom cloud computing. MCC aims to augment computingcapabilities
of mobile devices, conserve local resources -especially battery,
extend storage capacity, and enhance datasafety to enrich the
computing experience of mobile users.The main difference between
surrogate-based and cloud-basedaugmenting approaches is that
surrogates offer free serviceswithout commitment to complete
assigned jobs (they canleave a task anytime at any stage of
computing), whereasclouds provide paid services with assured
availability, quality,and commitment according to the negotiated
Service-LevelAgreement (SLA) between cloud vendor and mobile
client[16]. Nevertheless, MCC is a nascent technology restrainedby
heterogeneity that still requires a plethora of research
anddevelopment for deployment in real augmentation scenarios.
1553-877X/14/$31.00 c 2014 IEEE
-
370 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1,
FIRST QUARTER 2014
MCC is a convergent technology comprised of three cor-nerstone
heterogeneous technologies, namely mobile comput-ing, cloud
computing, and networking. Such heterogeneityaggregation
complicates MCC and decelerates its success. Inthe mobile computing
landscape, the vast variety of mobiledevices with different
operating systems(OSs), platforms, andwireless network standards is
making mobile application de-velopment a major challenge for
developers [17]. Also, fromthe mobile user perspective, application
and data migrationincur redundant monetary and temporal costs in
the case ofshifting from one platform to another.
In the cloud ecosystem, the rapid development of cloudcomputing
in the absence of early standards beside fragmentedbusiness
policies have created various types of heterogeneity(e.g. hardware
and platform) that give rise to new problemssuch as vendor lock-in.
Vendor lock-in problem is the statewhen code and data cannot
(easily) be moved from one cloudto another because of
dissimilarities among underlying ar-chitectures and programming
languages. Though the problemmight be attractive in business
competition [18], it causes sev-eral challenges particularly data
integrity, interoperability, andportability. Hence, cloud-users
become vulnerable to problemslike (i) reliability if the service
provider stops serving requests,(ii) data extraction from the
hosting server(s), and (iii) a pricehike.
Furthermore, the convergence of heterogeneous wirelessnetworks
(e.g. WLAN and cellular) and wired networksmakes MCC more
challengeable than cloud computing. In-termittency, low security,
and a high probability of signalinterception in wireless networks
are factors that degradecommunication quality and increase
application response time.These challenges are intensified when
mobile users cross theInternet channel to utilize cloud
services.
To actuate MCC vision, essential requirements like (i) man-aging
distributed data between heterogeneous cloud servers[19], (ii)
unifying network connectivity, (iii) utilizing IP-based wireless
systems [20], and (iv) establishing commonapplication programming
interface (API) standards for mobileservices (e.g. GSMA OneAPI
[21]) as well as cloud services(e.g. OCCI [22] and OVF [23]) should
be met. Furthermore,underpinning requisitions i.e. ubiquity, energy
efficiency, andtrust can enhance user experience quality toward
unleashingthe power of MCC [24].
To address the challenges within MCC, academic and in-dustrial
communities are bound together. Academic proposalsparticularly
Cloudlet [25], Mirage [26], RASIC [27], andCloud Mobile Hybrid
(CMH) Applications [28] are soughtto mitigate heterogeneity-caused
problems by leveraging ap-proaches particularly virtualization,
middleware, semantic,Service Oriented Architecture (SOA), and
Domain SpecificLanguage (DSL). In industry, Marmalade [29] and
PhoneGap[30] are some of the cross-platform toolkits that aim to
reducedevelopers workload by automatically transiting the
mobileapplication code to the required platform (e.g. Android1
andBlackberry2). However, building cloud-mobile applications intwo
widely divergent environments (i.e. mobile and cloud)
1http://www.android.com/2http://us.blackberry.com/
is maturating and necessitates further research. Surveys suchas
[31], [32] provide extensive overview of MCC includingsome
challenges and advantages that sufficiently reflect thecurrent
trend in MCC. However, comprehensive study onheterogeneity in MCC
as a root of great number of challengesis lacking.
This article provides a comprehensive study on MCC
het-erogeneity, presents MCC definition, and describes
challengesthat are either caused or intensified by heterogeneity.
Taxon-omy of heterogeneity roots in MCC is devised according tothe
fragmentation in mobile computing, cloud computing, andnetworking
environments. Heterogeneity in MCC is analyzedand classified into
vertical and horizontal aspects based onheterogeneity raised in
mobile devices, clouds, and wirelessnetworks. Furthermore,
application and data fragmentationare described and the impacts of
heterogeneity in MCC arepresented. The survey ends by reviewing
major heterogeneityhandling techniques and describing few open
issues as futureresearch directions. In the burgeoning
heterogeneous MCCdomain, the comprehension and settlement of
fundamentalproblems in the early development stages leads to the
successof MCC. Considering the dominating popularity of
smart-phones compared to other mobile devices, this article
studiessmartphones as the main mobile computing devices. The
termsmobile devices and smartphones are used interchangeably
withthe same notion.
The remainder of this paper is organized as follows. Thenext
Section presents an overview of MCC and discussesits major
challenges. Section III devises taxonomy of hetero-geneity roots
and describes heterogeneity dimensions (verticaland horizontal) in
MCC. Impacts of heterogeneity in MCCis identified in Section IV.
Technologies and techniques foralleviating the challenges of
heterogeneity are discussed inSection V. Finally, Section VI
highlights open issues and thepaper concludes in Section VII.
II. MOBILE CLOUD COMPUTING (MCC)
Resource poverty is a major shortcoming of mobile comput-ing.
Recently, the connotation of MCC has arisen in order toovercome the
resource deficiency of mobile devices, especiallysmartphones. In
order to bring a clear understanding of MCCand its challenges, we
examine the respective definitions ofmobile computing, ubiquitous
computing, cloud, and cloudcomputing.
A. Definitions
There are several definitions in mobile computing [33],[34],
ubiquitous computing [35], [36], cloud [7], and cloudcomputing [8].
Here are some of the definitions deemedgeneric enough to understand
the fundamentals.Mobile Computing. The design of small, powerful
devicesenables mobility in wireless networks that supports a
trendtoward computing on the go, known as mobile computing.
Satyanarayana [37] describes the vision of mobile comput-ing as
information at fingertips anywhere, anytime, whileImielinski and
Korth [33] discuss that The mobile computingno longer requires
users to maintain a fixed and universally
-
SANAEI et al.: HETEROGENEITY IN MOBILE CLOUD COMPUTING: TAXONOMY
AND OPEN CHALLENGES 371
Fig. 1. Taxonomy of Smartphone Augmentation Approaches.
known position in the network and enables almost
unrestrictedmobility.Ubiquitous Computing. Mark Weiser [35] defines
ubiquitouscomputing as the method of enhancing computer use
bymaking many computers available throughout the
physicalenvironment, but making them effectively invisible to
theuser.Cloud. Cloud is a rich computing resource. Buyya, Yeo,
andVenugopal [7] propose one of the most popular definitions
forcloud as a type of parallel and distributed system consistingof
a collection of interconnected and virtualized computersdynamically
provisioned and presented as one or more uni-fied computing
resources based on service-level agreementsestablished through
negotiation between the service providerand consumers.Cloud
Computing. Cloud computing is a computing tech-nology that
leverages clouds resources for enabling ubiq-uitous, convenient,
on-demand network access to a sharedpool of configurable computing
resources (e.g., networks,servers, storage, applications, and
services) that can be rapidlyprovisioned and released with minimal
management effort orservice provider interaction, as NIST [8]
describes.
Based on these definitions and our observation of theessence of
what and how MCC landscape is deemed, thefollowing definition is
proposed.Mobile Cloud Computing is a rich mobile computing
tech-nology that leverages unified elastic resources of varied
cloudsand network technologies toward unrestricted
functionality,storage, and mobility to serve a multitude of mobile
devicesanywhere, anytime through the channel of Ethernet or
Internetregardless of heterogeneous environments and platforms
basedon the pay-as-you-use principle.
B. Vision
MCC is the state-of-the-art mobile computing technologythat aims
to augment a multitude of mobile devices, especiallysmartphones and
alleviate their resource poverty. Mobile userscan have access to
their applications, data, and cloud servicesthrough the Internet by
leveraging mobile web [31]. Thisfuturistic accomplishment will be
employed in several areaslike healthcare (e.g. telemonitoring and
telesurgery), educa-tion, IT Business, rural and urban development,
and social
networking. In our previous work [38], smartphone augmen-tation
approaches are reviewed and a taxonomy is definedwhich is depicted
in Figure 1. Technological advancementin manufacturing high-end
mobile resources is slower thanthe ever-growing expectations of
mobile users and applicationrequirements. Hence, soft resource
augmentation is necessaryfor delivering user-centric computing
capabilities [3] equal touser expectations. We advocated that cloud
computing is thepredominant technology recently deployed to augment
smart-phones by reducing application resource requirements.
Severalefforts such as [10], [12], [39][42] deploy cloud
computingtechnology to enhance the capability of smartphone.
Moreover, cloud computing is beneficial in enhancing
infor-mation safety and security. Storing data in smartphones
localstorage is a hazardous practice due to their susceptibility
totheft, loss, and physical damage. Cloud data storage is
envi-sioned to enhance data safety and security, provide
pervasiveaccessibility, and facilitate data portability and
synchronizationamong several devices (e.g. smartphones and PCs).
DropBox3,SugarSync4, and Box5 are examples of cloud storage
services.People exploit such huge data warehouses to store and
retrievetheir data (bulk data) which are accessible from
variousdevices. Users can even access their data through the
Internetby utilizing public devices and providing unique
credentials.
The advent of MCC has advanced into a technologicalrevolution
providing profitable opportunities for several do-mains such as
healthcare, e-learning, and the tourism industry.It connotes the
impression to reduce development cost andstimulate execution of
resource-intensive mobile applicationsby leveraging distant rich
resources to enhance the qualityof user experience. Figure 2
illustrates a conceptual viewof MCC and depicts its usability in
several domains suchas healthcare, social networking, urban
development, andvehicular technology. It shows the possibility of
utilizinggeographically distributed private clouds (e.g. medical
andbiological research groups), public clouds (e.g. Google6
andFacebook7), and hybrid clouds (that can be generated by
3https://www.dropbox.com/4http://www.sugarsync.com/5http://www.box.com/6https://www.google.com7http://www.facebook.com
-
372 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1,
FIRST QUARTER 2014
Fig. 2. A Conceptual View of Mobile Cloud Computing.
converging private and public clouds) in global roaming.It is
notable that authorized mobile users can utilize morethan one
private cloud simultaneously. Furthermore, Figure 2illustrates
heterogeneity in MCC among varied mobile devices,communication
networks, and clouds. Although heterogeneityhas been existing in
mobile and cloud computing domains,accumulated intensity and
complexity make it a unique, chal-lenging feature within MCC that
necessitates a comprehensivestudy.
C. Heterogeneity
Heterogeneity in MCC is the existence of differentiatedhardware,
architectures, infrastructure, and technologies ofmobile devices,
clouds, and wireless networks. The cuttingedge technologies are
expected to initiate and facilitate collab-oration among these
heterogeneous computing devices towardunrestricted mobile
computing.Heterogeneity in Mobile Devices: Software, hardware,
andtechnology variation among mobile devices cause heterogene-ity
in this domain. Moreover, increasing popularity of smart-phones
creates a dynamic and demanding market that dispersethem to
different dimensions, e.g. brand, hardware, OS, fea-ture, and
communication medium. Consequently, device-levelcollaboration
becomes more challenging in MCC.Heterogeneity in Clouds: Numerous
cloud vendors providedifferent services with custom-built policies,
infrastructures,
platforms, and APIs that make the cloud landscape
heteroge-neous. Such variations cause interoperability and
portability[43] as major challenges in cloud computing. There is
anotion [18] that business competition also diversifies
cloudproviders with their heterogeneous frameworks,
exacerbatingheterogeneity on the cloud side.Heterogeneity in
Wireless Networks: In MCC, the majorityof communications take place
in the wireless network envi-ronment which is a heterogeneous
communication medium.Variations in wireless networks and their
related technologiesimpact the delivery of cloud services and
affect mobility,augmentation, and usability of smartphones
[38].
D. Challenges
In the MCC landscape, an amalgam of mobile computing,cloud
computing, and communication networks (to augmentsmartphones)
creates several complex challenges. This partdescribes challenges
either stemmed or intensified by hetero-geneity. Although some of
these challenges such as seamlessconnectivity, vendor lock-in, and
security and privacy arecommon with mobile computing and cloud
computing, weaim to highlight how different are these traditional
challengesand in what extent they increase the complexity in
MCC.
Mobile Computation Offloading: Leveraging heteroge-neous cloud
resources to augment computing limitations
-
SANAEI et al.: HETEROGENEITY IN MOBILE CLOUD COMPUTING: TAXONOMY
AND OPEN CHALLENGES 373
of multitude of mobile devices towards realizing thevision of
unrestricted functionality, storage, and mobilityin current diverse
communication environment is a non-trivial task. Realizing
cloud-based augmentation visionis impeded by multi-dimensional
overhead of identifyingand efficiently partitioning resource
intensive compo-nents, VM (Virtual Machine) creation and migration,
andmonitoring the overall outsourcing process [44]. More-over, a
plethora of hurdles in utilizing cloud resourcessuch as latency,
heterogeneity, security (both offloadedcode and cloud permanent
software), code portability,and cloud-mobile interoperability
intensifies the situation.Although several efforts such as
CloneCloud [11], MAUI[10], Cloudlet [25], SAMI [45], and MOMCC [46]
arefacilitating and promoting cloud-based computation of-floading,
still research and development in this domainremains a top
priority.
Seamless Connectivity: Wireless networks are charac-terized by
low-bandwidth, intermittent, and less-reliabletransmission grounds
compared with the wired networks.Establishing and maintaining
seamless sessions betweennomadic MCC users (leveraging cloud
computation orstorage) and other entities (e.g. smartphones and
clouds)in a wireless medium composed of heterogeneous net-work
technologies are critical issues to fully unleashthe power of MCC
[24]. The intermittent connectivitycauses several challenges such
as dismissal of always-on connectivity, excessive consumption of
limited mobileresources, and disproportionate delaying of
applicationexecution that sharply degrade quality of
computingservices.Seamless connectivity in heterogeneous MCC
envi-ronment demands reliable inter-system signal handoffschemes
along next generation wireless networks [47].Unstable wireless
bandwidth, low wireless network se-curity, and the high probability
of signal interceptionare challenges likely intensified by crossing
the Internetchannel in order to utilize the cloud services for
mobileaugmentation.
Long WAN Latency: Latency adversely impacts on theenergy
efficiency [48] and interactive response [49] ofcloud-mobile
applications by consuming excessive mo-bile resources and raising
transmission delays. In cellularcommunication, distance from the
base station (near orfar) and variation in bandwidth and speed of
variouswireless technologies affect the energy efficiency
andusability of MCC devices. For example, data transfer bit-rate
consumes comparatively more energy in cellular net-works than WLAN.
The higher the transmission bit-rate,the more energy efficient the
transmission [48]. More-over, leveraging wireless Internet networks
to offloadmobile intensive applications to distant cloud
resourcescreates a bottleneck. Consequently, the long WAN latencyis
increased while the quality of user experience isdecreased. To
reduce interaction latency, proposals suchas Cloudlet, MOMCC, and
SAMI are proposed to createa proximate cloud to access nearby
remote resources,but further advancement to achieve crisper
response isrequired.
Mobility Management: Integration of dissimilar wirelessnetworks
is a challenging task due to heterogeneity inaccess technologies,
architectures, protocols, user mobil-ity pattern, and user service
requirements [20]. To achievethe converged wired, mobile, and
broadband communica-tion not only accurate and efficient mobility
managementschemes are prerequisite, but also seamless
integrationand interoperation of mobility management approaches
toaddress intrasystem and especially intersystem mobilityis
mandatory in MCC environment. Hence, an adaptiveprotocol suit
similar to AdaptNet [50] is essential toalleviate a plethora of
heterogeneity-made issues, particu-larly rate adaptation and
congestion control, and provideinteroperation among various
networks. Integration andinteroperation of converged heterogeneous
networks inMCC demand lightweight, resource- and
cost-effective,sustainable, and user-friendly approaches with
optimizedperformance to address seamless mobility. Realizing
suchvital need with least signal traffic and latency can
signif-icantly enrich quality of cloud-mobile user experience.
Context-Processing: Contemporary mobile devices arecapable of
gathering extensive context and social infor-mation, specifically
available cloud resources, networkbandwidth, weather conditions,
and users voice andgestures from their surrounding environment
[51], [52].Exponential growth in context and social
information(considering environment dynamism and mobility ofmobile
clients) creates several challenges such as stor-ing, managing, and
processing information on resource-constraint smartphones. Although
cloud infrastructuresare connoted to be a suitable platform for
context storage,management, and processing [53], the need for an
energy-efficient, reliable, and robust cloud-mobile data
migrationand communication is unavoidable.
Energy Constraint: Energy is the only unreplenishableresource in
mobile devices that cannot be restored spon-taneously and requires
external resources to be renewed[54]. Current technologies can
increase battery capacityby only 5% per annum [55]. Several energy
harvestingefforts have been in progress since the 1990s to
replenishenergy from external resources like human movement[56] and
wireless radiation [57], but these intermittentresources are not
available on-demand [58]. Alternatively,application offloading [3]
and fidelity adaptation [59] ap-proaches are proposed to conserve
local mobile resources,especially energy. However, application
offloading is arisky, resource-intensive approach, that needs
further re-search and development to be deployed in real
scenarios[6]. Fidelity adaptation solutions compromise quality
toconserve local resources which impoverish quality of
userexperience in MCC. Researchers [10][12] endeavouredto mitigate
application offloading challenges by exploit-ing secure, reliable,
elastic cloud resources instead ofinsecure, limited surrogates
resources. However, cloud-based application offloading cannot
always save energywith current developments and demands further
efforts[6], [60], [61]. Therefore, the energy constraint of
mobilenodes remains a challenge in MCC.
Vendor/data Lock-in: Variety of cloud servers and mobile
-
374 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1,
FIRST QUARTER 2014
devices beside a silo of varied OSs and applications onone hand
and non-uniformity of APIs in the absenceof underpinning standards
on the other hand, intensifydata lock-in problem in MCC that bounds
customersto a specific mobile device and cloud provider.
Forexample, if cloud-mobile users utilize Apple iCloud8 asan
automatic cloud-based storage service developed anddedicated to
Apple products, no data fetch from non-Apple devices is
addressable. Alleviating vendor lock-in problem in MCC is more
challenging compared withcloud computing. Vendor lock-in solutions
need to beapplied in both mobile and cloud sides in an
interoperablemanner (different mobile nodes can communicate
withdifferent cloud vendors) which is excessively challenging.
Security and Privacy: A drastic hike in cyber crimesand Internet
threats [62], mandates restricted securityprovisions for publicly
accessible cloud resources, espe-cially storage. At a cursory
glance, security is only anissue for requesters, but in a deep
view, service providersneed to set up tighter security provisions
to protect theirproperties and clients privacy. Ensuring user
privacyand security of varied mobile applications running
ondifferent mobile devices that utilize heterogeneous
cloudresources are the most challenging tasks in MCC. Secu-rity and
privacy in MCC become more volatile compareto cloud computing due
to the insecure nature of wirelesscommunication medium. Hence, the
absence of adaptive,rationalized, and rigorous security
arrangements is apotential challenge with catastrophic consequences
forservice providers and requesters in MCC.
Elasticity: Cloud providers confront situations in whichthere
are more demands than available resources. Adverseimpact of
cloud-resource unavailability and service inter-ruption for MCC
clients is more severe than stationaryclients connected to the wall
power and fixed network.Frequent suspension of energy-constraint
mobile clientsdue to resource scarcity, not only shrinks usefulness
ofcloud outsourcing for MCC end-users, but also divestsprivilege of
intensive computation anytime, anywherefrom mobile users.Therefore,
several challenging tasks (e.g. resource pro-visioning without
service interruption, quick disaster re-covery, and high service
availability) need to be realizedsince service unavailability and
interruption prolong ex-ecution time, increase monitoring overhead,
and depletesmartphones local resources, especially battery.
Emerg-ing solutions such as Reservoir [63] can be employedto expand
and contract cloud resources on demand withmain focus on mobile
clients.
Cloud Policies for Mobile Users: Cloud service providersapply
certain policies to restrain service quality to adesired level by
imposing specific limitations via theirintermediate applications
like Google App Engine bulkloader9. Also, service provisioning,
controlling, balanc-ing, and billing are often matched with the
requirementsof desktop clients rather than mobile users.
Considering
8http://www.apple.com/icloud/9https://developers.google.com/appengine/docs/python/tools/uploadingdata
the great differences in wired and wireless communi-cations,
disregarding mobility and resource limitationsof mobile devices in
design and maintenance of cloudstructures can significantly impact
on feasibility of MCCsolutions. Metrics such as bandwidth quota and
numberof API calls per day limit clients and impact on
userexperience [64]. Hence, it is essential to amend
restrictionrules and policies to meet MCC users requirements
andrealize intense mobile computing on the go.
Service Execution and Delivery: Cloud-mobile users,require an
efficient monitoring means to measure andevaluate the quality of
service they receive. SLA as aformal contract is employed and
negotiated in advanceto enforce certain level of quality against a
fee. Duringnegotiation phase, the terms of services are defined,
whilethe real-time performance is screening during monitoringphase.
However, considering MCC dynamism, severalnetwork challenges such
as inconsistent bandwidth andpacket delivery ratio, delay, jitter,
and network blips ham-per service delivery, raise ambiguity, and
increase disputebetween cloud vendors and MCC end-users.
Therefore,current static SLA can be fleshed out with more
powerful,dynamic representation and monitoring techniques
estab-lished in heterogeneous wireless environment for cloud-mobile
users.
MCC Billing: Client mobility in the rapidly changing
en-vironment diverges the cloud billing system in MCC fromcloud
computing. Designing an appropriate billing systemfor MCC with
dynamic heterogeneous environment re-quires considering additional
parameters compared withcloud computing. Interception latency,
jitter, session re-establishment delay, bandwidth capacity, and
quality ofsecurity are examples of major parameters in designinga
MCC billing system.Designing an appropriate billing system for
cloud-mobileusers that continuously adapts to the heterogeneity
anddynamism of MCC environment requires consideringadditional
parameters compared with cloud computing.Interception latency,
jitter, session re-establishment delay,bandwidth capacity, and
quality of security are examplesof major parameters in designing a
MCC billing system.
Review of challenges in MCC highlights that heterogeneityhas
remarkable impacts on mobile computation offloading,seamless
connectivity, long WAN latency, mobility manage-ment, and
vendor/data lock-in which encumber resource-intensive computing on
the go and necessitate in-depth anal-ysis. Also, managing billing
systems and SLAs in MCCbecome more complex considering
heterogeneity among var-ied entities which demand upfront
consideration on severalparameters. Hence, mitigating the impact of
heterogeneity cansignificantly enhance quality of MCC and extend
usability ofmobile devices to more resource-intensive computing
areas.Due to its vital influence, we comprehensively analyze
rootsof heterogeneity in the following section.
III. TAXONOMY OF HETEROGENEITY IN MCC
In this section, we comprehensively study heterogeneity inMCC by
analyzing roots and dimensions of heterogeneity.
-
SANAEI et al.: HETEROGENEITY IN MOBILE CLOUD COMPUTING: TAXONOMY
AND OPEN CHALLENGES 375
Fig. 3. Taxonomy of Heterogeneity Roots in MCC.
We identify heterogeneity roots as hardware, platform, fea-ture,
API, and network and devise a taxonomy depicted inFigure 3. We
further scrutinize heterogeneity and realize thatheterogeneity in
MCC can be classified into two categories,namely vertical and
horizontal that is shown in Figure 6.
A. Heterogeneity Roots in MCC
Being heterogeneous is neither a new paradigm nor limitedto a
specific domain. If we look around we may capture: (i)people speak
different languages, but can talk to each otherby using a
translator (human or tools) or through a commonlanguage; (ii) all
body parts are intrinsically heterogeneous,but cooperate very
concisely and consciously to keep thebody fully operational.
Similarly, three various components(i.e. mobile devices, clouds,
and wireless networks) in MCCshould seamlessly cooperate and
communicate with each otherto benefit mankind, however, some causes
make the situationdifficult to flourish MCC vision that we examine
them asfollows.
1) Hardware Heterogeneity: Variety of hardware with dif-ferent
inward architecture between mobile devices, cloudservers, and
network infrastructures (e.g. access points, radiotransceivers, and
routers) trigger hardware heterogeneity inMCC.
In the cloud environment, cloud providers maintain
differentinfrastructures and architectural design to enhance
quality oftheir service. Servers use X86 CISC (Complex
InstructionSet Computer) architecture with two variations of 32-bit
and64-bit. Moreover, cloud infrastructures gradually grow
moreheterogeneous due to upgrade and replacement. The
emerginggrowth of cloud computing will increase the number of
ge-ographically distributed cloud nodes that intensifies
hardwareheterogeneity among cloud providers.
The inward architecture and resource specifications ofmobile
devices such as processor speed, internal memory,radio
specification, and battery capacity vary widely amongdifferent
brands and models. The majority of smartphones arebuilt based on
32-bit ARM RISC (Reduced Instruction SetComputer) processor
architecture, but there is a large variationin terms of speed,
number of cores, and amount of processor
cache which suits them in specific domains. For instance,among
recent Cortext series processors, Cortex-A is ideal forcomputing
intensive multi user applications while Cortex-R ismore suitable
for real-time data processing scenarios [65]. Inthe near future,
the 64-bit ARM processors are expected toincrease the heterogeneity
among smartphones [66].
Hardware and architectural heterogeneity among mobiledevices and
cloud servers hamper direct deployment of cloudresources and
services in mobile devices and leads to severalproblems as
below.
Imbalanced quality and performance: Variation in com-puting
resources and their implementations diversify per-formance and
quality of cloud services. Although suchvariation triggers business
competition towards improvedservices and avoids service monopoly,
it negatively af-fects the business cooperation among cloud
providers andcomplicates users decision making in choosing the
mostappropriate vendor among available options. To facilitatethe
users decision making, a comprehensive study andcomparison among
reputed cloud vendors is presented in[67]. Users can compare and
contrast the service qualityof each vendor from various
aspects.
Data management and integrity: The increasing numberof very
large scale geographically distributed data ware-houses and the
non-similarity of data structures compli-cate data management.
Integrating huge distributed dataand providing virtually unified
storage for mobile usersis becoming more complicated with the ever
increasingheterogeneity in MCC [19].
Interoperation: Data interoperation is the ability of
con-necting heterogeneous systems (based on wired or wire-less),
understanding geographical information resources,and exchanging
data between/across two or more hetero-geneous systems [68].
However, in MCC infrastructurediversity among various clouds on one
hand and dissim-ilarities between cloud and mobile infrastructures
withexistence of wired against wireless network hardwaresystems on
the other hand, have created data integrationand interoperation
problems in the absence of interfacesstandards and uniform
platforms. For example, when
-
376 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1,
FIRST QUARTER 2014
Fig. 4. Mirage Approach with Statistically-linked Kernel and
App. [71]
Alice moves from current city to another while utilizing anearby
cloud A via her Android mobile device, remotedata (in part or
whole) might be migrated to a nearercloud B for the sake of
performance. In this situation,if the cloud B fails to connect to
the cloud A, if cloudB cannot understand cloud A database
informationafter establishing a connection, or fail to exchange
datawith cloud A, the Alice computing experience will bedegraded
because of data interoperation problem.
Portability: Codes are not easily movable and executableto/on
heterogeneous hosts and the privilege of write oncerun anywhere is
divested from developers. For instance,the application written for
quad-core processor is notexecutable on dual-core processor due to
architecturaland hardware dissimilarities. Similarly, the
applicationsdeveloped for the ARM architecture cannot be executedon
X86 without code modification and re-configuration.
Accurate energy estimation: One of the most importantaims of MCC
is to conserve mobile battery power. Thus,resource-intensive tasks
are offloaded from mobile deviceto the cloud to deliver
long-lasting online mobile services.However, before offloading, a
decision making systemneeds to determine whether offloading
computation cansave energy or not [61]. If the remote execution can
saveenergy, then the offloading is performed, otherwise
theapplication is either terminated or executed locally. How-ever,
estimating energy efficiency of offloading is a non-trivial task
due to heterogeneity of wireless technologiesand infrastructures.
Metrics such as power and bit-rate ofwireless modems, activating
time of interface, activationand deactivation delay of interface,
and traffic patterncomplicate accurate energy estimation. Also,
varied hard-ware technologies and implementations are different
interms of power consumption [69]. Therefore, preciseestimation of
required energy for application executionis difficult in different
platforms.
Cloud-mobile application development: Developingcross-platform
components (i.e. cloud, mobile, andhybrid) for cloud-mobile
application is a complicatedtask. Mobile components should be able
to moveamong various smartphones while cloud componentsmust be
portable to all cloud infrastructures. Thehybrid components should
easily travel among varioussmartphone and cloud platforms.
To address these problems, Stone et al. [70] proposeOpenCL as a
parallel programming standard for heterogeneouscomputing devices.
OpenCL enables developers to create
desktop applications executable on various types of
computingelements like multicore CPU, GPU, and other
accelerators.The same approach can be maintained in the cloud
whichshrinks hardware heterogeneity. Applications developed
forcertain architectures using OpenCL can be ported to
otherarchitectures with guaranteed correct functionalities.
Usingmultiple programming strategies, the application can
queryhardware specifications and capabilities of the hosting
ma-chine and choose an appropriate kernel to increase
correctnessand compatibility. However, developing and managing
severalkernels incur extra cost and encumbrance beside
occupyinglots of space.
To dilute the impact of hardware variety in the cloud
andsmartphones, Madhavapeddy et al. [71] propose a cloud OScalled
Mirage, based on virtualization technology. Mirage runson top of a
hypervisor to produce cross-platform applicationsthat are portable
to a plethora of mobile devices and cloudservers. In the Mirage,
applications are developed on normalOS like Linux and then compiled
into a kernel that is ableto run directly on mobile devices and
virtual clouds. Figure4 depicts the layered architecture of Mirage
that links themicrokernel to an application on top of the
hypervisor. Miragemicrokernel leverages Xen hypervisor to lessen
the impactof architecture heterogeneity of mobile and PCs on
mobileapplications. However, creating, maintaining, and
destroyingVM over a smartphone consume local resources and
shortenbattery life.
Huerta-Canepa and Lee [72] create a virtual cloud com-puting
platform in the absence of a real cloud to augmentmobile devices
using an ad-hoc network of mobile phones. Inthis approach impact of
hardware heterogeneity is mitigatedby leveraging smartphones as
remote servers instead of usingdesktop machines or cloud servers.
Similarly, Marinelli [73]propose a MCC platform composed of Android
smartphonescalled Hyrax to lessen the architectural impact of
non-ARM(X86) devices. However, using smartphones as cloud
providersis hindered by two main challenges. Firstly, giant
cloudprocessing resources are exchanged for limited resourcesof
smartphones. Secondly, the lack of appropriate securityand billing
mechanisms for individual smartphone owners,discourage the sharing
of scarce resources. However, mutualbenefits of individual
smartphone clients will likely encourageresource sharing in this
context.
2) Platform Heterogeneity: Platform heterogeneity is
theavailability of various OSs, programming languages, and
datastructures in MCC. Currently, a plethora of heterogeneousmobile
OSs such as Googles Android and Apples iOS, eachwith multiple
versions, developed to provide rich, compellingservices to
end-users. Each platform supports different com-binations of
programming language and data structures. Forinstance, Android
offers Java language, native code with JNI,and C/C++, while iOS
supports Objective-C [17].
In the context of cloud computing, the most widespreadcloud
providers such as Amazon Web Service (AWS)10,Google App Engine11,
and Microsoft Azure12 offer different
10http://aws.amazon.com11https://appengine.google.com/12http://www.windowsazure.com
-
SANAEI et al.: HETEROGENEITY IN MOBILE CLOUD COMPUTING: TAXONOMY
AND OPEN CHALLENGES 377
Fig. 5. Platform Heterogeneity in MCC and Challenges for
ApplicationDevelopers.
OSs, programming languages, and data structures. WindowsAzure
supports a multiple choice of languages like .NET,PHP, Ruby,
Phyton, and Java [74], whereas Google AppEngine supports Java and
its products plus Ruby and Python.AWS supports most developing
languages and offers SDK forAndroid and iOS smartphones [75]. Azure
is built on the SQL,while the App Engine datastore includes GQL,
and AmazonsDynamo system [76] has a different structural design
andpartitioning scheme. Cloud providers enforce restrictions
indatabases to provide more flexible services.
Such non-uniformity makes an irksome impediment forcloud-mobile
users and application developers. Portability anddata integrity
problems are also exacerbated in MCC andporting data to different
clouds imposes extra monetary andtemporal costs. The costs may
include downloading datafrom the current cloud, performing required
modification andconversion, and uploading data to the new cloud.
Therefore,mobile users, especially corporate mobile users with
bulksensitive data face problems in transferring a huge amountof
data between heterogeneous clouds because it is a costly,time
consuming, and risky process [77]. Millions of recordsstored in a
cloud database cannot be utilized in another cloudwithout
compromising privacy and integrity when there is adifference
between file systems and encryption techniques.Figure 5 depicts
heterogeneous platforms and programmingtechnologies in the cloud
and mobile domains, and challengesfor application programmer in
selection of a suitable develop-ment environment or a programming
language.
Furthermore, application development is a complex task dueto
platform heterogeneity. Developers need to acquire exten-sive
knowledge of various mobile and cloud programminglanguages to be
able to migrate the application from oneplatform to another. To
mitigate the impact of platform hetero-geneity on application
portability, several cloud-ready appli-cation transition solutions
such as Marmalade and PhoneGapare proposed to automatically
generate compatible codes for
various platforms. Though these approaches reduce the impactof
heterogeneity on the application development process, theeffort is
not congruous with the definition of portability offeredby the
InterNational Committee for Information TechnologyStandards
(INCITS) [78] as portability is the capability oftransferring one
application from one device to a wide rangeof devices with little
or no modification and conversion.
For MCC applications, we need a unified application envi-ronment
similar to Aneka [79], which allows one to developcloud
applications and deploy them on multiple cloud infras-tructures
such as AWS, Azure, and GoGrid13 in a seamlessmanner. Although
Aneka was developed to serve stationaryclients, minor extensions
and modifications (depending on theneeds of client applications)
can be performed to leverageAneka in mobile environments.
3) Feature Heterogeneity: Feature heterogeneity in MCC isa
result of feature variations in the mobile and cloud
domains.Feature heterogeneity in smartphones is due to variation
innative features like multimedia, sensing, and interaction
tools,visualization area, and networking technologies. For
instance,HTC Sensation14 possesses an 8MP camera while
BlackBerryCurve 852015 provides 2MP camera. Hence, the
developmentprocess and performance of applications on various
devicesare different. For example, the bar code reader
applicationwhose functionality depends on the quality of captured
imagemay not offer similar functionality in HTC Sensation
andBlackBerry Curve 8520.
Differentiation in sensing apparatuses and interaction fea-tures
intensify application portability and usability. Recently,sensing
tools such as tilting sensors have received noticeableattention
from academia and the industry to enhance thequality of interaction
in smartphones. In various proposals[80], [81] authors exploit
sensing tools such as accelerometerto augment the interaction
capabilities of smartphones towardsdelivering rich user experience.
However, feature variationand lack of feature upgrading facility in
smartphones obscureusability of feature-dependent applications on
various devices.
Moreover, variation in the data visualization area remainsa
challenge for developers to design and deliver a commonuser
interface for all smartphones. Omitting redundant andless important
data according to the preference and contextof individual users is
an approach in some proposals likeevent-based semantic image
adaptation scheme [82]. Authorsidentify important objects in an
image and collect user pref-erence using a simple feedback
mechanism. An adaptationalgorithm integrates important objects with
user preferencesto produce a suitable version for target mobile
devices. Thisapproach not only reduces the volume of presentation
databy omitting non-important objects, but also offers a
superbfeeling of customization to mobile users.
Similarly, Chen et al. [83] propose a page split methodto adapt
web content for mobile devices. This approach isimplemented inside
the mobile browser to adapt the webpage content according to the
screen size and semantics ofthe content. However, components like
page analysis, content
13http://www.gogrid.com/14http://www.htc.com/us/products/sensation4g-tmobile/15http://us.blackberry.com/smartphones/blackberrycurve8500/
-
378 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1,
FIRST QUARTER 2014
detection, page splitting, and index page generation consume
ahigh volume of local resources. Programming level solutionssuch as
screen support APIs in Android 3.2 provides morecontrol to
developers to adapt screen content for differentAndroid devices
with varied screen sizes [84].
Feature heterogeneity in the cloud domain arises from
vari-ations in the services (e.g. infrastructure, platform,
softwareand security as a service) offered by different vendors.
Forexample, Google App Engine (PaaS vendor) and MicrosoftWindows
Azure (PaaS) provide dissimilar security features;though they offer
paid backup storage service, critical dataprivacy is only offered
by Azure [67]. Therefore, users,especially corporate users, face
difficulties in moving fromone vendor to another.
4) API Heterogeneity: Application Programming Interface(API) is
an interface supplied by OS vendors or serviceproviders that allows
an application written in a high-levellanguage to access specific
data or functions from the APIdistributor. Programmers, including
mobile application devel-opers, are usually in a hurry, while
mobile users are increas-ingly demanding a rich computing
experience. Therefore, APIsplay an important role in delivering a
rich experience to mobileusers. Mobile platforms such as Android,
BlackBerry, and iOSoffer a gigantic number of APIs to assist
programmers withdeveloping rich mobile applications without direct
access tothe kernel. However, application portability has become
anirksome practice for developers due to inward dissimilaritiesof
APIs. Tarkoma and Lagerspetz [17] study the role of APIsin mobile
devices and argue that The marketplace has a clearneed for a common
API that unifies network connectivity,energy awareness, and the
user experience.
Similarly, on the cloud side, the majority of cloud
providersdevelop and deploy their own proprietary APIs to
describesyntax of specific operations to be utilized by their
clients. Adrastic growth in the number of cloud providers has
createda huge silo of different APIs that intensifies the
difficultyof developing applications due to interpreting semantics
ofdata and operations. This outlook, results in API
variationintensifying interoperability and portability issues. To
mitigatethe impact of API heterogeneity on the cloud, several
regula-tory and research unions endeavour to provide common
cloudAPIs through, including the European
TelecommunicationsStandards Institute Technical Community (ETSI TC
Cloud)16,DMTF17, and Cloud Audit18.
5) Network Heterogeneity: The composition of variouswireless
technologies such as Wi-Fi, 3G, and WiMAX makesMCC more complicated
compared to cloud computing. Unlikedesktop computers, smartphones
utilize wireless communica-tion which is comparatively more
intermittent and unreliablewhile offers lower bandwidth. Client
mobility among variednetwork environments intensifies communication
deficienciesand stems complex issues like signal handover.
Inappropriatedecision making during the handover process like (i)
lessappropriate selection of network technology among
availablecandidates and (ii) transferring the communication link at
thewrong time, increases WAN latency and jitter which directly
16http://www.etsi.org/WebSite/Technologies/GRID
CLOUD.aspx17http://www.dmtf.org18http://cloudaudit.org/CloudAudit/Home.html
degrade the quality of mobile cloud services, especially for
de-lay sensitive content and services [85]. Consequently, qualityof
cloud-mobile user experience is degraded.
To tackle these challenges, the concept of seamless
con-nectivity among heterogeneous wireless technologies playsa
vital role that necessitates reliable intra-system and inter-system
handoff schemes [47]. Intra-system handover is aless challenging
task due to inward homogeneity of engagingtechnologies, while
addressing inter-system handover is morecomplicated due to signal
transmission difficulties betweenheterogeneous environments. To
realize seamless connectivityacross heterogeneous wireless
networks, the burgeoning con-cept of next generation wireless
networks [20] with the notionof all IP-based infrastructures is
emerging. In the absenceof seamless connectivity, the quality of
user experience isdecreased because of decrements in communication
qualityand increments in code execution and application
responsetime.
In addition, convergence of wireless and wired networkscreates
data bottleneck problem. The problem happens whenlarge data streams
from a wired network flood the limitedbandwidth of wireless
networks. This congestion not onlyincreases packet drop ratio and
prolongs data transfer betweencloud and mobile, but also rises
control and maintenanceoperations which demands enhancement in
current network ar-chitecture and design for mobile operators.
However, networkoperators are employing powerful helping nodes like
wall-connected Wi-Fi hotspots to relay data packets and reducethe
intensive load from congested cells. The helping nodesbandwidth is
not infinite because very large bandwidth cannoteffectively enhance
data trafficking and is limited to a certainupper bound [86].
Hence, a large number of such helpingnodes are needed to alleviate
ever increasing wireless traffic.Although, MCC imposes overhead on
operators network,strategies like Ciscos innovative Next-Generation
Hotspot(NGH) [87] and proposals such as SAMI and MOMCC canreduce
data traffic and hike the MNOs revenue by increasingmarket share
through subscriber retention.
NGH is an advance approach to provide mobile networkoptimization
by offering Wi-Fi as a side mechanism forsecure mobile access of
data traffic, while aims to enrich theuser experience. SAMI is an
architecture providing service-based arbitrated multi-tier
infrastructure for MCC. The majorstrengths of this architecture are
the existence of SOA-basedmobile applications and multi-tier
infrastructure layer to lever-age infrastructures from three main
sources of clouds, MNOs,and MNOs authorized dealers. On top of the
infrastructurelayer, an arbitrator layer is designed to classify
Services andassign them the suitable resources to them based on
severalfactors such as resource requirement, latency, and security.
Thesolution not only provides an opportunity to employ
mobilenetwork operators in sundry supervisory activities, but
alsohikes the MNOs revenue, facilitates development and deploy-ment
of service-based platform-neutral mobile applicationsfor
cloud-mobile application developers, and enhances qualityof user
experience by minimizing latency. MNOs not onlyact as a
well-established carriers in heterogeneous wirelessnetworks, but
also can perform as an adaptor in two differentedges; wired
(connectible to other clouds like Google) and
-
SANAEI et al.: HETEROGENEITY IN MOBILE CLOUD COMPUTING: TAXONOMY
AND OPEN CHALLENGES 379
Fig. 6. Heterogeneity Dimensions in MCC.
Fig. 7. Vertical and Horizontal Heterogeneity in Three Aspects
within MCC: (a) mobile OSs and their versions, (b) cloud services
and vendors, and (c)wireless networks and related technologies.
wireless (connectible to mobile devices). Therefore, MNOscan
facilitate data interoperation in MCC.
In MOMCC, MNOs are employed as a trusted authorityto authorize
mobile application programmer, and govern acloud of decentralized
mobile users to enhance computingcapabilities of mobile users.
Here, MNOs play different rolessuch as UDDI (Universal Description,
Discovery and Integra-tion) and security server authenticating and
authorizing variedengaged entities such as mobile service host and
mobile end-user. Programmers can develop mobile computational
servicesand store them in MNO servers to be called by MCC usersfor
execution. Although, such operational extension can dras-tically
increase MNOs data revenues, but capital investmentin
infrastructure and architecture is unavoidable.
B. Heterogeneity dimensions in MCC
Analysing roots of heterogeneity in MCC results
significantdifferentiation in silo of mobile devices, cloud, and
wirelessnetworks. Thus, we describe and taxonomize
heterogeneitydimensions in MCC into two categories of vertical and
hor-izontal. The proposed taxonomy depicted in Figure 6 showshow
three underlying MCC components are influenced by twodimensions of
heterogeneity. Figure 7 shows three examplesof vertical and
horizontal heterogeneity in MCC.
1) Vertical Heterogeneity: When differentiation is within
asingle type of mobile OS, cloud service, or wireless networkit is
named vertical heterogeneity.
Mobile Devices: Among mobile devices, vertical het-erogeneity
appears within a similar family of products.Different flavors of
the OSs offer some unique featuresand services that are not
compatible with other versions.The vertical oval shape in Figure
7(a) shows verticalheterogeneity within different flavors of
Android OS.Android 4.0.3 offers social, calendar, and visual
voicemail APIs which are totally new compared to Android3.x [88].
Similarly, in various BlackBerry mobile prod-ucts, different
features and hardware specifications aredeployed that prevent the
application portability amongdevices from the same manufacturer.
Moreover, depre-cating programming elements by OS vendors such
asGoogle19 and Apple20, and discouraging mobile program-mers from
using such elements further highlights verticalheterogeneity.
Although utilizing deprecated methods iscurrently possible,
developers require employing extramechanisms to ensure
compatibility among various OSversions, which cannot satisfy
portability principles de-scribed by INCITS [78]. Therefore, the
application de-veloped for an OS version and deployed in one
specificproduct may not be portable to the same family ofproducts
with different versions of the same OS with noor less configuration
and modification.
19http://developer.android.com/reference/java/lang/Deprecated.html20http://developer.apple.com/library/ios/#documentation/uikit/reference/UIDevice
Class/DeprecationAppendix/AppendixADeprecatedAPI.html
-
380 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1,
FIRST QUARTER 2014
Clouds: In the cloud, vertical heterogeneity occurs withina
single type of clouds that provides similar services,e.g. IaaS
(Infrastructure as a Service) or PaaS (Platformas a Service). The
vertical oval shape in Figure 7(b)shows vertical heterogeneity
within various IaaS servicevendors. Though Amazon EC2 and Rackspace
are IaaSclouds, they are built on different pillars: internal
infras-tructures, technologies, and business policies.
Therefore,demand for switching between these two cloud
servicesincurs redundant cost, even though both vendors
provideIaaS. It also creates data and application portability
issuesand hinders easy code and data migration within a singletype
of clouds. Cloud users are forced to adhere to spe-cific cloud
service provider(s) [89]. However, standard-ization efforts like
the Open Virtualization Format (OVF)[23] are emerging to alleviate
problems and facilitate thedeployment of virtual appliances in
various clouds.
Wireless Networks: Among different wireless technolo-gies,
horizontal handoff is a well-known phenomenoncaused due to vertical
heterogeneity in mobile wirelessenvironments including MCC. In MCC,
horizontal hand-off happens in the situations when a cloud-mobile
useris moving across heterogeneous access points within asingle
type of wireless network to access cloud ser-vices. For instance,
this happens when cloud-mobile useris moving between IEEE 802.11a
and IEEE 802.11gWLAN, or between CDMA 2000 and WCDMA
3Gtechnologies. In majority of offloading algorithms inMCC, the
network characteristics highly influence onoffloading decision [6].
Hence, any change in networkingtechnologies directly impacts on
efficiency and effec-tiveness of the offloading decision and
overall process.The vertical oval shape in Figure 7(c) shows
verticalheterogeneity within various cellular technologies.
Datatransmission in cognitive wireless access networks [90]which is
configured with a set of different Radio AccessTechnologies (RATs)
and Frequencies (F) is an illustriousexample of vertical
heterogeneity. When an application ordata is tended to change the
environment, the transceivermay need to change RAT and F, just
change RAT andmaintain F, or reverse. Ultimately, the user session
ismaintained continuously and consistently during mobilityby
leveraging horizontal handoff process [47].
2) Horizontal Heterogeneity: When differentiation isacross
different types of mobile OSs, cloud services, orwireless networks
it is named horizontal heterogeneity. Mobile devices: Among mobile
devices, horizontal het-
erogeneity appears between different platforms: two ormore OSs
(e.g. Android and RIM) or brands (e.g. Sam-sung and Nokia). The
horizontal oval shape in Figure 7(a)shows horizontal heterogeneity
between different OSs.For instance, the application developed for
BlackBerryTorch21 (RIM V6.0) is not executable in Android
V3.xproducts.Horizontal heterogeneity is usually more
challengingcompared with the vertical heterogeneity. Portability
isexacerbated when development of applications such as
21http://us.blackberry.com/smartphones/blackberrytorch/
CMH applications is concerned. To develop CMH ap-plications,
developers should design the application forthe cloud as well as
the mobile side. This developmentprocess must be repeated for
various platforms, which isan exasperating effort for the developer
[28]. Developersshould consider various mobile platforms, cloud
vendorsand supporting programming languages to decide how todevelop
the application which is an irksome impediment.
Clouds: In the cloud, horizontal heterogeneity occursbetween
different types of clouds that provide hetero-geneous services,
like IaaS and PaaS. The horizontaloval shape in Figure 7(b) shows
horizontal heterogeneitybetween various types of cloud services. In
a scenariothat some PaaS vendors offer free limited storage, if
anew application utilizes such storage that is incidentallycoupled
with specific data structure like Google AppEngine22 (the only
Google Query Language (GQL)-basedPaaS cloud), such dependency locks
the application in thecloud. Hence, porting rapidly growing data to
an IaaScloud (for less hosting cost) which is non-GQL-basedIaaS
(e.g. SQL-based cloud) is hardly possible and inflictsupfront
investment.This type of heterogeneity, similar to the mobile
side,is more difficult to address as compared with
verticalheterogeneity because of switching difficulties
betweenvarious service providers with different patterns,
archi-tectures, APIs, and business policies.
Wireless Networks: Horizontal heterogeneity in wirelessnetworks
occurs when a mobile client is travelling acrossvarious networks
like cellular and WLAN. Changingnetwork node and supporting
mobility, termed verticalhandoff, highlighting a dilemma in
horizontal heteroge-neous wireless network, which is a more
challenging taskwith presence of different infrastructure. In this
situation,signal handoff processes are more difficult than
verticalheterogeneity due to the switching process between
dif-ferent types of network [47]. Unlike the decision
makingalgorithm in vertical handoff that relies on several
pa-rameters (like energy efficiency, Received Signal Strength(RSS),
accessible bandwidth, security, financial cost, anduser
preference), decision in horizontal handoff is madebased on the RSS
only [85]. Such increased complexityobliges vertical handoff
optimization toward seamlessconnectivity in MCC which will enhance
on-demandservices and increase the quality of user experience.
Thehorizontal oval shape in Figure 7(c) shows
horizontalheterogeneity between various types of networks.
IV. IMPACTS OF HETEROGENEITY IN MCC
Variations in smartphones, clouds, and networking tech-nologies
breed several opportunities and challenges that arediscussed in
this section.
A. Opportunities
The opportunities arising from heterogeneity in MCC areexplained
as follows:
22https://developers.google.com/appengine/
-
SANAEI et al.: HETEROGENEITY IN MOBILE CLOUD COMPUTING: TAXONOMY
AND OPEN CHALLENGES 381
1) Business opportunity: One of the positive aspects
ofheterogeneity in IT, is the business opportunity that createsnew
jobs (e.g. system analyst, application designer, program-mers, and
testers) by manufacturing and maintaining multipleversions of a
single software for different clients. Market com-petition is
increased and client-centric services are stimulated.If challenges
are addressed, IT corporates loss business andmany employees become
jobless.
2) Performance Gain: User perceived performance fromonline
mobile applications is highly influenced by computingperformance of
server and wireless networks in MCC [91].While it is financially
impossible to avoid infrastructure het-erogeneity within a single
cloud (due to maintenance, update,and technological advancements),
cloud service providers usesuch heterogeneity as an opportunity to
enhance performanceand cost of their services. Rosenberg and Chiang
[92] studytwo clusters of computers with identical mean speed. In
onecluster, all CPU speeds are similar while in the other one,
het-erogeneous CPUs are utilized. The authors analyze
executionperformance of both clusters and mathematically
demonstratethat the cluster with heterogeneous CPU speed
outperformsanother cluster with homogeneous CPUs. Moreover,
becausevaried applications have different architectural
preferences,combination of heterogeneous processors with dissimilar
ar-chitectural features (e.g., pipeline depth, in-order versus
out-of-order execution, and superscalar width) can efficientlymeet
application preferences toward better performance [93](further
explanation is out of the scope of this paper). Forinstance, Amazon
leverages dissimilar processing entities suchas Intel Xeon E550723
and AMD Opteron 2218HE 24 forcreating an instance of VM to fulfill
various computingrequirements of different mobile applications with
least pos-sible cost. Exploiting heterogeneous computing resources
increating VM instances enhances execution performance ofonline
applications in MCC [92][94].
Moreover, researchers and industrialists can leverage ben-efits
of heterogeneous communication and networking tech-nologies such as
2G and 3G towards efficient communication.In enterprise
organization, running communication-intensivecloud-mobile
applications on 3G-ready devices and rest of theapplications on 2G
devices can reduce capital and operationalcosts of buying
3G-enabled mobile device and long-lastingbatteries [95]. In
academia, researchers [96] study executiontime and cost of code
offloading in MCC. They exploitheterogeneous communication
technologies to access remotecomputation resources located near/far
to/from the mobileusers and could remarkably enhance application
performanceand responsiveness by leveraging both 3G and WiFi.
Theauthors propose a multi-tiered cloud infrastructure consistof
distant clouds and nearby cloudlets aiming to
alleviateeffectiveness and efficiency of computation offloading
process.They leverage Wi-Fi technology to save energy while
commu-nicating with nearby cloudlets and use 3G to access
distantgiant clouds. The authors report 32% lower delay and
40%cost-reduction in offloading computation-intensive tasks
totwo-tiered cloud with heterogeneous infrastructure compare to
23http://ark.intel.com/products/37100?wapkw=e550724http://http://products.amd.com/(S(iecvm0y4bbazo4ujjdtjcl55))/pages/
OpteronCPUDetail.aspx?id=350\&AspxAutoDetectCookieSupport=1
single-tiered cloud. Thus, heterogeneous co-existence of
vari-ous communication technologies can originate a
performance-energy trade off which can benefit mobile clients,
cloudvendors, and network operators. Future mobile
communicationtechnologies will likely enable mobile nodes to
negotiate withnetwork infrastructures for optimized communication
technol-ogy. Therefore, heterogeneous selection of infrastructures
inmobile-cloud environment provides a higher performance andservice
range to MCC community.
3) Enhanced Application Response Time: Reducing cloud-mobile
application response time is one of the most importantrequirements
of MCC which is likely achievable by enhancedperformance of
leveraging heterogeneous resources while out-sourcing computation.
Heterogeneous computation hardwarein the cloud datacenters,
remarkably decreases computationdelay in server side resulting less
cloud-mobile executionlatency and better overall response time.
Researchers in [93]explore that leveraging combination of three
heterogeneousprocessor architectures can reduce response time
violation by12X leading to crisp application response which is
criticalin MCC. Therefore, leveraging heterogeneous computing
re-sources can increase application responsiveness in MCC.
4) Cost Efficiency: One of the most critical metrics
insuccessful MCC adoption is the cost of utilizing cloud ser-vices
by mobile users which includes the amount of nativeresources,
energy, and time used as well as monetary costof inter-system
communication and computation. Efficientmatch of communication
requirements and available wirelesstechnologies, and migrating
resource-intensive tasks to high-performance heterogeneous clouds,
reduce overall applicationexecution cost. Researchers in [94]
observe heterogeneitywithin computing entities in Amazon EC2 for
two period in2011-2012 and explore that Amazon EC2 leverages
variousprocessors in creating a single VM to reduce costs and
achieveefficiency. For example, in large VM instances,
heterogeneousCPU models, namely Intel Xeon E5507, E5430, E5645,
andAMD Opteron 2218HE and 270 are being used. Experimentalanalysis
of CPU, memory, and disk performance of variousVM instances
resulted different performance outcomes invaried computation loads.
The authors conclude that efficientselection of service instance
from pool of heterogeneousinstances, can deliver up to 30% cost
saving to Amazonend-users. Therefore, by assuming rich computing
capabilitiesin cloud and seamless high bandwidth connectivity
betweenmobile and cloud, mobile application responsiveness,
localresource consumption, and utilization cost could be
enhancedtowards more efficiency.
B. Challenges
Several important challenges resulting from, or intensifiedby
heterogeneity are explained below.
1) Application Fragmentation: MCC applications have al-ready
been fragmented because of heterogeneity roots ex-plained in
section III. For instance, application developed foriPhone cannot
run on Android mobile devices. The remedyto this situation is
two-folds. Firstly, handling existing het-erogeneity; because
generating multiple versions of contentsfor various mobile and
cloud platforms is not feasible due
-
382 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1,
FIRST QUARTER 2014
to the monetary and temporal costs. Secondly,
deceleratingfragmentation growth via standardization and common
API.Mobile manufacturers endeavour to enhance user experienceby
utilizing high-end resources and technologies such as multi-core
Samsung Exynos 5 processor25 and the face unlockfeature of Android
4.026. Although these accomplishmentsenrich computing quality, they
intensify heterogeneity andimpose extra cost on end-users as well
as developers. Portinga platform-dependent application to a new
platform leviesmonetary and temporal cost on the user. Similarly,
developingmultiple versions of a single application is frustrating
anda time consuming practice for developers, that also goesagainst
the write once, run anywhere principle. Hence,application
portability and interoperability are exacerbated.However,
application fragmentation differs in web, online, andnative
applications.
Web applications: In web applications, data and logiclayers are
device-agnostic because data storage and codeexecution take place
on the web, whereas presentationlayer is naturally
device-dependent. Hence, fragmenta-tion in web applications stems
from variations in the visu-alization area and screen rendering
capabilities of differ-ent mobile devices (excluding
feature-dependent compo-nents). Several content adaptation
approaches [82], [83],[97] are proposed to identify, extract, and
adapt essentialcontents from web pages to the variety of mobile
devices.However, successful content adaptation in smartphonesneeds
existing issues (such as functional, structural, andsemantical
analysis of content, analyzing the screensbuilding blocks, and
applying user preferences) to beaddressed.
Online applications: Similar to web applications,
onlineapplications such as cloud-mobile applications [40] andrich
mobile applications are distributed according to theclient-server
concept. Computing and storage intensivecomponents of cloud-mobile
applications are likely ex-ecuted inside cloud resources while
native componentsare executed locally [40]. Hence, fragmentation in
on-line applications is more severe than web
applications.Separating the screen rendering from the
presentationlayer is a significant effort [41] in which screen
renderingtasks are performed in the cloud where data and
logiclayers are located. This approach not only conserves
localsmartphone resources, but also adapts screen contentsaccording
to the target device which is deemed to al-leviate heterogeneity
problems in application fragmenta-tion. In a cross platform
cloud-mobile application, cloudcomponents are required to be
portable to various cloudvendors, and mobile components should be
executableon a multitude of mobile devices.
Native applications: Unlike web and online applications,native
applications are monolithic, meaning they areentirely installed and
run locally. Hence, developingcross-platform native applications is
comparatively themost expensive and time consuming process.
Developing
25http://www.samsung.com/global/business/semiconductor/minisite/Exynos/index.html
26http://developer.android.com/sdk/android-4.0-highlights.html
cross-platform application not only requires developersto
acquire programming skills in multiple languages,but also inflicts
extra temporal and financial costsdue to redundant work of porting
the application tovarious platforms. To have a clear understanding
ofwhat portability challenge is, we use a mathematicalmodel as
follows.
If the development process of a mobile application A iscomposed
of n phases (e.g. creation, deployment, andtesting) and each phase
imposes a differing developmentcost Ci, then:
CDA =
n
i=1
Ci (1)
where CDA is the total cost for developing A for theprimary
mobile platform and Ci is the cost of developingphase i.
To generate a cross-platform application executable onm new
platforms, developers need to transit the appli-cation A to m new
platforms (e.g. Android, iPhone, andBlackBerry) via code
regeneration from the scratch (inthe worst case) or partial code
conversion/modification.Therefore,
CTA =m
j=1
CTj (2)
where CTA is the cost of transiting A to m destinationplatforms
and CTj is the cost of transiting the applicationto mobile platform
j.From (1) and (2), we drive:
CCA =
n
i=1
Ci +
m
j=1
CTj = CDA + CTA (3)
where CCA is the total cost of developing a cross-platform
application for m+1 platforms.In practice, if the portability
problem is addressed, thecost of developing a cross-platform
application will beas low as (3) which is the real taste of write
once, runanywhere. However, according to the definition of
porta-bility by INCITS [78], for cross-platform applications, is
feasible as a little modification or conversion cost.Therefore, we
will have:
CCA =
n
i=1
Ci + = CDA + (4)
According to (4), it is observed that cross-platform solu-tions
omit transition cost for m platforms if the applica-tion is
deployable and executable on m+1 platforms. Thiscost includes
coding charges, electricity, maintenance,time, and sundry charges.
Furthermore, if developingcloud components is required, the
development processbecomes excessively complicated and costly. To
reducethe burden of building cloud-mobile applications, Manju-natha
et al. [28] utilize Domain Specific Language (DSL)
-
SANAEI et al.: HETEROGENEITY IN MOBILE CLOUD COMPUTING: TAXONOMY
AND OPEN CHALLENGES 383
Fig. 8. Titanium Cross-Platform Project [98].
to auto-generate communication interfaces for mobileand cloud
target platforms.Moreover, to alleviate the fragmentation problem,
in-dustrial toolkits such as Appcelerator Titanium [98],PhoneGap,
and Marmalade aim to auto-generate cross-platform mobile
applications. Figure 8 depicts the lay-ered architecture of
Titanium. However, these toolkitsconvert the source code to the
destination platformsby creating an abstraction on top of the
source code.Also, these tools cannot be a generic solution for
de-veloping cross-platform mobile applications, especiallyfor
background processing and complex business logics.Because
JavaScript API in PhoneGap which exposesnative functionality to the
browsers JavaScript code isa resource-intensive and slow process
compared to thenative code [99]. Similarly usability of Titanium
Appcel-erator is hindered by newly released mobile platformsAPIs.
Implementing new APIs in Titanium middleware isa time consuming
process while end-users are not patientenough to wait till the API
is implemented in Titanium.In general, usability of these
transition solutions is hin-dered by some issues explained
below.
No dynamic alteration: Even though cross-platformtoolkits are
likely suitable for business applications, theyare unable to fully
alleviate the feature heterogeneity inMCC. Cross-platform tools do
not generate customizedcodes for destination platforms, but convert
the sourcecode to a new format. For instance, applications
devel-oped on traditional mobile devices cannot utilize
specialfeatures of contemporary devices like GPS.
Similarly,applications which depend on accelerometer
functionalityare unusable in a device without a tilting sensor.
Further enhancements required: Application transitiontoolkits
require post-transition enhancements (e.g. mod-ification, testing,
and maintenance) to fit the applicationto the target platform
[100]. Performing cyclic transition
and post-transition tasks are complex processes due to
thediversity of underlying environments which might takeweeks for
an application to perform [101], [102]. Also,there are many
environment variables to be configuredbased on the new execution
environment.
2) Data Fragmentation: Successful movement
andmachine-understandable data across various devices areone of the
most irksome impediments of mobile end-users,especially for
platform-dependent data such as messagesand call history. Storing
contact list, messages, and personaldata on a mobile device bounds
user to the data structureand policies of the mobile platform
vendor and locks datain the device. Therefore, transferring data to
a devicewith heterogeneous data structure and policies
originatesextra temporal and monetary cost for converting data to
aformat supported by the new platform, due to portabilityproblem in
mobile computing. Furthermore, utilizing thirdparty applications
for such conversion compromises userprivacy and security. Yet, a
likelihood of data corruptionand mismatch at conversion phase is
threatening end-users.High heterogeneity of hardware, platform, and
brand amongmobile devices complicate data exchange among
multitudeof mobile devices in the absence of common standards
andpotability solutions.
To alleviate this problem, utilizing cloud resources andstoring
personal data on the cloud, similar to the iCloud,becomes
prevalent. End-users store data on the cloud to benefitfrom the
anywhere, anytime, any device principal of MCCand avoid data
lock-in in their mobile device. However, thestorage structure of
clouds is fragmented due to the variedarchitectural designs,
supported programming languages, andpolicies enforced by different
cloud vendors [28]. Storing datain the cloud may alleviate data
exchange problem betweenheterogeneous devices in vertically
heterogeneous dimensionof MCC, but it is more challenging with
horizontal heterogene-ity when data are migrating across two
different mobile OSs
-
384 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1,
FIRST QUARTER 2014
Fig. 9. Interoperability in MCC: Collaboration of Inter-Cloud
and Mobile-Cloud Systems with Varied Interfaces Provides
Interoperability.
supported by two varied cloud storages based on fragmenteddata
structures.
Furthermore, considering huge data growth in the nearfuture
[103], storing whole data in a single warehouse isoften impossible.
Heterogeneous storage infrastructures notonly reduce data integrity
and consistency, but also make datamanagement an open cloud issue
in MCC [19]. Applying asingle access control mechanism for relevant
data in variousstorage environments is another challenging task in
a heteroge-neous domain such as MCC. Hence, a logical data
warehouseis deemed to alleviate the problem by virtually merging
thedata from multiple warehouses [104].
Despite heterogeneity-originated problems, variations indata
structures may offer data security and isolation benefitsto the MCC
users because of various customized data struc-tures and enforced
management policies. Different structuralcharacteristics of cloud
storage like architectural schema,cryptography mechanisms, and data
compression methods canenhance data security in the cloud.
3) Interoperability: API Heterogeneity of mobile and
cloudsystems beside inward variation in cloud system
structureoriginate interoperability as a major challenge in MCC
[43].The challenge intensifies vendor lock-in problem and
obscuresdata migration and code transition across a multitude of
exist-ing processing units. In MCC, providing collaboration
amongvarious mobile and cloud processing unites with
differentinterfaces is a non-trivial matter. Figure 9 depicts
mobile-cloud interoperability across a silo of computing devices
andillustrates the inter-cloud collaboration between different
cloudproviders as essential requirements in MCC.
4) Portability: A lack of standards, technologies, and
solu-tions to handle heterogeneity in MCC implicitly creates
theportability challenge. In the cloud, providers offer
variouscomputing services with different structures and
programminglanguages. Similarly, smartphone vendors develop
variousapproaches and technologies to enhance the quality of
theirproducts. Thus, porting an application to varied devices in
thefragmented MCC domain becomes more challenging.
Ideally, data and application should be able to cross a
multi-tude of clouds and smartphones with no or little
configuration
and conversion [78]. However, it is almost impractical toport
native codes to the cloud and transfer resource-intensivecodes from
clouds to the weak smartphones. Therefore, welimit portability in
MCC to the ability of (i) migrating cloudcomponents from one cloud
to other clouds, (ii) migratingmobile components from one
smartphone to other smart-phones, and (iii) migrating data across
heterogeneous cloudsand smartphones. Figure 10 depicts portability
in MCC.
5) Developing cost: Developing one application for
severalplatforms is a costly process that demands knowledge
ofseveral programming languages and enforces redundant designand
programming tasks. In the presence of heterogeneity,the market
share for a single version of an application isdiminished to a
fraction of total customers that decreaserevenue and demotivates
individual programmers.
6) Time lag: In many scenarios, although the financial costof
developing a multi-platform application is affordable andwelcomed
due to its business opportunity, prolonged applica-tion development
process procrastinates service offering to awider community and
leads to financial loss.
7) Application maintenance: When there are multiple ver-sions of
a single application, each for a different platform,if one
application is enhanced or changed, the modificationsshould be
reflected to all versions. Usually a single develop-ment model
cannot be employed and extended to differentplatforms, hence,
different modification approaches shouldbe undertaken for each
platform which is a hectic job fordevelopers.
8) Communication: The heterogeneity of wireless tech-nologies in
MCC created communication problems like signalhandover. Bandwidth
variation between wireless and wiredtechnologies is the source of
data bottlenecks when hugeamounts of data stream from wired (cloud
servers) into a wire-less medium (mobile devices). Hence,
continuous, consistentconnectivity and scalable, accessible
networking services arenecessary to enhance the quality of mobility
and communica-tion between a wide range of mobile devices and
clouds.
9) Security and privacy: Although MCC can enhance thequality of
mobile computing and increase the usability ofsmartphones, lack of
strict, robust supervision over the wire-
-
SANAEI et al.: HETEROGENEITY IN MOBILE CLOUD COMPUTING: TAXONOMY
AND OPEN CHALLENGES 385
Fig. 10. Portability in MCC: Data should be portable to all
cloud and mobile devices. Cloud codes should move between clouds
while mobile codes shouldmove between a multitude of mobile devices
regardless of the inward heterogeneity of hosting machines.
less communications and cloud resources utilization [62]
sig-nificantly abate trust among cloud users with cloud
attachment.Storing confidential information (e.g. banking
information,medical records, and social security numbers) in cloud
infras-tructures and remote access to them via the Internet and
wire-less mediums threaten mobile users in the presence of
numer-ous hackers. Therefore, to increase trust among
cloud-mobileusers and a secure collaboration process between
differentcloud service providers and consumers, strong
authentication,authorization, and communication protection are
required. Forexample, data migration from one cloud to another
(serially)or operation across multiple clouds (simultaneously)
should besecured by cloud providers. During communication
processes,personal information and personally identifiable
informationrequire protection by cloud providers, mobile network
opera-tors, and trusted third parties. Identity provisioning and
accessmanagement through different environments are a sample ofthe
security keys which manifest the necessity of
secureintercommunication in MCC.
V. HETEROGENEITY HANDLING APPROACHESTo avail maximum benefits
from heterogeneity and over-
come its challenges, researchers have leveraged several
tech-nologies and approaches like virtualization, middleware,
andSOA which are referred to as heterogeneity handling ap-proaches.
This Section presents a survey of generic solutionsto handle
heterogeneity in mobiles, clouds, and networks.
A. Virtualization Technology
Virtualization [105] is one of the cornerstone technologiesof
MCC promising to reduce the negative impacts of hardware,feature,
and platform heterogeneity. Using the virtualizationapproach, a VM
manager (hypervisor) is deployed on top of acloud, mobile, or both
to host desired platform(s) in order tocreate a homogeneous
execution environment between varioussmartphones and clouds. Mirage
is an example effort thatexploits hypervisor in both the cloud and
smartphone to buildcross-platform applications regardless of
variations in under-lying devices. However, in prior work [106], we
showed that
VM deployment and management impose excessive overheadon
resource-constrained mobile devices.
Moreover, recent application offloading approaches like[10],
[11] leverage virtualization technology to offload
mobileapplication (entirely or partially) to remote cloud
resourcesfor execution. Similarly, efforts like [41] exploit
virtualiza-tion technology to separate screen rendering tasks from
thepresentation layer and migrate them to the cloud. On topof a VM
inside a cloud, a remote server can render screen-related
processing tasks and send the result to the device. Theauthors aim
to address the feature heterogeneity (screen size)of smartphones
using a virtual screen rendering approach.However, virtualization
gives rise to several security threatssuch as VM hopping and VM
escape [107]. VM hopping isa virtualization threat through which an
attacker can exploit aVM and attack other VM(s) on the same host.
VM escapes canviolate the security of VMs when an attacker accesses
controlover the hypervisor. Therefore, several open challenges
suchas VM deployment and management [106] and security
estab-lishment [108], [109] sh