Mobile Cloud Computing: A Comparison of Application Models
Cloud computing is an emerging concept combining many fields of computing. The foundation of cloud computing is the delivery of services, software and processing capacity over the Internet, reducing cost, increasing storage, automating systems, decou…
Authors: Dejan Kovachev, Yiwei Cao, Ralf Klamma
Mobile Cloud Computing: A Comparison of Application Models Dejan K ov ache v , Y iwei Cao and Ralf Klamma Information Systems & Database T echnologies R WTH Aachen Univ ersity Ahornstr . 55, 52056 Aachen Germany { kov achev , cao, klamma } @dbis.rwth-aachen.de Abstract —Cloud computing is an emerging concept combining many fields of computing. The foundation of cloud computing is the delivery of services, software and processing capacity over the Internet, reducing cost, increasing storage, automating systems, decoupling of service delivery from underlying technology , and pro viding flexibility and mobility of information. However , the actual realization of these benefits is far from being achieved for mobile applications and open many new research questions. In order to better understand how to facilitate the building of mobile cloud-based applications, we have surv eyed existing work in mobile computing through the prism of cloud computing principles. W e give a definition of mobile cloud coputing and pro vide an ov erview of the results from this review , in particular , models of mobile cloud applications. W e also highlight research challenges in the area of mobile cloud computing. W e conclude with recommendations for how this better understanding of mobile cloud computing can help building more powerful mobile applications. Index T erms —cloud computing; mobile computing; remote execution; distrib uted systems; automatic offloading I . I N T R O D U C T I O N Mobile devices allo w users to run powerful applications that take adv antage of the gro wing av ailability of built-in sensing and better data exchange capabilities of mobile de vices. As a result, mobile applications seamlessly integrate with realtime data streams and W eb 2.0 applications, such as mashups, open collaboration, social networking and mobile commerce [1], [2]. The mobile execution platform is being used for more and more tasks, e.g., for playing games; capturing, editing, annotating and uploading video; handling finances; managing personal health, micro payments, ticket purchase, interacting with ubiquitous computing infrastructures. Even mobile device hardware and mobile networks continue to ev olve and to improv e, mobile devices will always be resource-poor, less secure, with unstable connectivity , and with less energy since they are powered by battery . Resource poverty is major obstacle for many applications [3]. Therefore, computation on mobile devices will always in volve a compromise. Mobile devices can be seen as entry points and interface of cloud online services. Recently , has been discussed what cloud computing really means. V aquero et al. [4] studied more than 20 definitions using the main characteristics associated with cloud computing. The cloud computing paradigm is often confused about its capabilities, described as general term that includes almost any kind of outsourcing of hosting and computing resources. According to NIST [5] cloud computing is a model for enabling con venient, on-demand network access to computing resources that can be rapidly provisioned and released with minimal management effort. The combination of cloud computing, wireless communica- tion infrastructure, portable computing devices, location-based services, mobile W eb, etc., has laid the foundation for a nov el computing model, called mobile cloud computing , which allows users an online access to unlimited computing power and storage space. T aking the cloud computing features in the mobile domain, we define: “Mobile cloud computing is a model for transpar ent elastic augmentation of mobile device capabilities via ubiquitous wir eless access to cloud storag e and computing resour ces, with context-awar e dynamic adjusting of offloading in r espect to change in operating conditions, while preserving available sensing and interactivity capabilities of mobile de vices. ” For example, OnLiv e [6] ex ecutes video games in the cloud and delivers video stream to resource-poor clients without interrupting the game experience. Man y other examples where the cloud can augment mobile devices can be envisioned, e.g. virus scan, mobile file system indexing, augmented reality applications. In our surve y we consider smart mobile devices that include devices continuously connected to the Internet, with handheld form and a large, high quality graphics display and significant but limited computing power . T o make this vision a reality beyond simple services, mobile cloud computing has many hurdles to overcome. Existing cloud computing tools tackle only specific problems such as parallelized processing on massi ve data v olumes [7], flexible virtual machine (VM) management [8] or lar ge data storage [9]. Howe ver , these tools provide little support for mobile clouds. The full potential of mobile cloud applications can only be unleashed, if computation and storage is of floaded into the cloud, but without hurting user interacti vity , introducing latency or limiting application possibilities. The applications should benefit from the rich b uilt-in sensors which open new doorways to more smart mobile applications. As the mobile en vironments change, the application has to shift computation between device and cloud without operation interruptions, considering many external and internal parameters. The mobile cloud computing model needs to address the mobile constraints in success to supporting “unlimited” computing capabilities for applications. Such model should be applicable to different scenarios. The research challenges include how to abstract the complex hetero- geneous underlying technology , how to model all the different parameters that influence the performance and interactivity of the application, how to achieve optimal adaptation under different constraints, how to integrate computation and storage with the cloud while preserving priv acy and security . In this paper, we provide a systematic and comparativ e description of mobile application models that go along with the cloud computing ideas. The survey results show that current related projects cover only different subsets of the desired mobile cloud characteristics. Therefore, a new architecture design model for mobile applications that operates with the cloud needs to be adopted. In rest of the paper, we go along the connection between mobile and cloud computing. W e start by briefly checking the current status in mobile application models and their drawbacks (Section II). Next, we categorize, examine and compare different novel promising application models that fit to mobile cloud computing paradigm and compare them (Section III). In the next section we outline the research challenges ahead (Section IV). In the final section we conclude our paper . I I . C U R R E N T S TA T U S I N M O B I L E A P P L I C A T I O N S Sev eral researchers, [10]–[12], hav e identified the funda- mental challenges in mobile computing. Mobile computing en vironments are characterized by severe resources constraints and frequent changes in operating conditions. Mobile devices inherently hav e and will continue to hav e limited resources as processing power , memory capacity , display size, and input forms. These hav e been the forming factors of e xitsting mobile appliction approaches. A. Offline Applications Most of the applications a vailable for modern mobile de vices fall into this category . They act as fat client that processes the presentation and business logic layer locally on mobile devices with data downloaded from backend systems. There is periodical synchronization between the client and backend system. A fat client is a network ed application with most resources av ailable locally , rather than distributed over a network as is the case with a thin client. Offline applications, also often called nativ e applications, offer: • good integration with device functionality and access to its features • performance optimized for specific hardware and multi- tasking • always av ailable capabilities, ev en without network con- nectivity On the other hand, the nativ e applications have many disadvantages: • no portability to other platforms • complex code • increased time to market • a requirement for de velopers to learn ne w programming languages B. Online Applications An online application assumes that the connection between mobile de vices and backend systems is a vailable most of the time. Smartphones are popular due to the power and utility of their applications, but there are problems such as cross-platform issues. Here W eb technologies can overcome them; applications based on W eb technology are a powerful alternati ve to nati ve applications. Mobile hav e the potential to o vercome some of the disad- vantages of offline applications because they are: • multi-platform • directly accessible from anywhere • knowledge of W eb technologies is widespread among dev elopers, greatly minimizing the learning curve required to start creating mobile applications Howe ver , mobile W eb applications have disadvantages: • too much introduced latency for real-time responsiveness, (e ven 30 msec latency affects interactiv e performance [3]) • no access to de vice’ s features such as camera or motion detection • difficulties in handling complex scenarios that require keeping communication session a over longer period of time C. Issues with Offline and Online Mobile Applications Current applications are statically partitioned, i.e. most of the ex ecution happens on the device or on backend systems. Howe ver , mobile clients could face wide v ariations and rapid changes in network conditions and local resource a vailability when accessing remote data and services. As a result, one partitioning model does not satisfy all application types and devices. In order to enable applications and systems to continue to operate in such dynamic en vironments, mobile cloud applications must react with dynamical adjusting of the computing functionality between the mobile device and cloud depending on circumstances. In other words, the computation of clients and cloud has to be adaptive in response to the changes in mobile en vironments [13]. I I I . N O V E L A P P L I C A T I O N M O D E L S F O R M O B I L E C L O U D C O M P U T I N G Mobile cloud computing could be described as the av ail- ability of cloud computing services in a mobile ecosystem, i.e. world wide distributed storage system, e xceed traditional mobile device capabilities, and of fload processing, storage and security . T o lev erage the full potential of mobile cloud computing we need to consider the capabilities and constraints of existing architectures. A. Augmented Execution Augmented execution refers to a technique used to ov ercome the limitations of smartphones in terms of computation, memory and battery . Chun and Maniatis [14] propose an architecture that Fig. 1. CloneCloud categories for augmented execution (adapted from [14]) addresses these challenges via seamlessly offloading e xecution from the phone to computational infrastructure (cloud) where cloned r eplica of the smartphone’ s software is running. The mobile phone hosts its computation and memory demanding applications. Howe ver , some or all of the tasks are of floaded in the cloud where a cloned system image of the device is running. The results from the augmented ex ecution are reintegrated upon completion. This approach for off- loading intensiv e computations employs loosely synchronized virtualized or emulated replicas of the mobile device in the cloud. Thus, it provids illusions that the mobile user has a more po werful, feature-rich de vice than actually in reality , and that the application de veloper is programming such powerful device without having to manually partition the application or provision proxies. Instantiating device’ s replica in the cloud is determined based on the cost policies which try to optimize ex ecution time, energy consumption, monetary cost and security . Fig. 1 sho ws categorization of possible augmented execution for mobile phones: (1) primary functionality outsourcing - more like a client-serv er application, (2) background augmentation - good for independent separate process that can run in back- ground like a virus scanning, (3) mainline - in-between primary and background augmentation, (4) hardware - the replica runs on more po werful emulated VM, and (5) multiplicity - helpful for parallel ex ecutions. Similar approach of using virtual machine (VM) technologies ex ecuting the computation intensi ve software from mobile device is presented by Satyanarayanan et al. [3]. In this architecture, a mobile user exploits VMs to rapidly instantiate customized service software on a nearby cloudlet and uses the service over WLAN. A cloudlet is a trusted, resource- rich computer or a cluster of computers well connected to the Internet and a vailable for use by nearby mobile de vices. Rather relying on a distant cloud, the cloudlets eliminate the long latency introduced by wide-area networks for accessing the cloud resources. As a result, the responsiv eness and interactivity on the device are increased by low-latenc y , one-hop, high- bandwidth wireless access to the cloudlet. The mobile client acts as thin client, with all significant computation occurring in a nearby cloudlet. This approach relies on technique called dynamic VM synthesis (cf. Fig. 2). A mobile de vice deliv ers small VMs ov erlay to the cloudlet infrastructure that already owns the base VM from which this ov erlay was deri ved. The infrastructure applies the o verlay to the base to derive the VM which starts executing in the precise state in which it was suspended. Howe ver , Satyanarayanan et al. [3] report that the Fig. 2. Dynamic virtual machine synthesis timeline (adapted from [3]) VM synthesis takes 60 to 90 seconds, which might not be acceptable for performing simple or ad hoc tasks. Garriss et al. [15] use a similar principle of running o wn VMs on public kiosks in order to establish a trustworthy and personalized computing en vironment. The user le verages a personal mobile devi ce to gain degree of trust in a kiosk prior to using the kiosk. Using VMs enables the user to resume a complete personal computing environment that includes o wn choices of operating system, applications, settings, and data. B. Elastic P artitioned/Modularized Applications Running applications in heterogeneous changing environ- ments like mobile clouds requires dynamic partitioning of applications and remote execution of some components. Ap- plications can improve their performance by deleg ating part of the application to remote execution on a resource-rich cloud infrastructure. Giurgiu et al. [16] dev elop an application middle ware that can automatically distribute different layers of an application between the device and the server while optimizing sev eral parameters such as latency , data transfer, cost, etc. In the core of this approach is a distributed module management which automatically and dynamically determines when and which application modules should be of floaded, in order to achie ve the optimal performance or the minimal cost of the overall application. Giuriu et al. use the AlfredO [17] frame work to carry out the distrib ution of the application modules between the mobile phone and the serv er . The AlfredO frame work allo ws dev elopers to decompose and distribute the presentation and logic layer of the application, while the data layer always stays on the server side. The minimal requirement is the UI of the application to run on the client side. Furthermore, Rellermeyer et al. [18] showed how such a modular application model enables elasticity . Elasticity in software can be observ ed as the ability to acquire and release resources on demand. Modules are units of encapsulation and units of deployment that compose the distrib uted application. The underlying runtime module management platform hides most of the comple xity of distributed deployment, execution, and maintenance. AlfredO is based on R-OSGi [19], a conceptual extension of the OSGi middlw are model, that allows decomposition of Fig. 3. AlfredO architecture (adapted from [16]) Fig. 4. Reference architecture for elastic applications (adapted from [20]) Jav a applications in software modules . A modified version of the original OSGi, namely R-OSGi, is used because the original OSGi allows only running services on the same Ja va virtual machine. Figure 3 shows the main concept. After the connection is established, the client requests an application. Then the optimal deployment for the application is computed. Based on that decision, an application description and a list of services to be fetched are sent to the client’ s Renderer . The Renderer generates corresponding UI according to the description. Furthermore, for the services that are decided to run on the client side the corresponding service bundles are fetched (on Fig. 3 service S1). Otherwise, for the services that are decided to run on the server , a local proxy on the client is created as an interface to this services (services S2 and S3). Similarly , MA UI [21] is a system that enables fine-grained offload of mobile code to the cloud infrastructure. MA UI’ s goal is to maximize battery life of device with code of fload. Dev elopers annotate while programming which methods can be of floaded for remote e xecution. The profiling information for once of floaded methods is gathered, which is later used to better predict future in vocations whether methods should be offloaded. The profiling information, network connectivity measurements, bandwidth and latency estimations are used as input parameters for an optimization problem which is periodically solv ed to gi ve a decision which methods and when should be of floaded. Compared with [16], MA UI allows a fine grained offloading mechanism on the le vel of single methods, where in [16] the offloading happens on complete software modules. Even the experimental results from MA UI sho w that the separate method of floading can be contra-producti ve, i.e. sev eral methods should be combined to achie ve benefits. Zhang et al. [20], [22] dev elop a reference framework for partitioning a single application into elastic components with dynamic configuration of execution. The components, called weblets , are platform independent and can be executed transparently on different computing infrastructures including mobile devices or IaaS (Infrastructure as a Service) cloud providers such as Amazon EC2 and S3 [8]. The application is split down to a UI component, weblets, and a manifest describing the application (cf. Fig. 4). W eblets are autonomous functional software entities that run on the device or cloud, performing computing, storing and network tasks. An elasticity manager component decides on migration, instantiation and migration of the weblets. This processes are transparent to the running application. The advantage of using such independent functional units - weblets - ov er AlfredO and R-OSGi is that weblets are not tied to one particular programming language or specification, allowing wider range of applications. C. Application Mobility The mobile cloud is accessed through heterogeneous devices. In order to pro vide seamless user experience same applications need to run on dif ferent devices. The application mobility plays a crucial role in enabling the ne xt generation mobile applica- tions. Application mobility is the act of moving application between hosts during their execution. Basically , application mobility is migrating running application states from one device to another to which the user has an immediate access [23], [24]. Application mobility is closely related to process migration. Process migration is an operating system capability that allo ws a running process to be paused, relocated to another machine, and continued there. It represents seamless mobility at the granularity of individual processes, and has been the research focus of many experimental projects [25]. Howe ver , application mobility in volv es more than process migration, e.g. migration tasks to different architectures or UI adaptation. Satyanarayanan et al. [26] employ a mechanism called Internet Suspend/Resume (ISR), which allo ws one to logically suspend a machine at one Internet site, travel to some other sites and then seamlessly resume work there on another machine. ISR implementation is b uilt on top of virtual machine technology and distributed file system. Each VM encapsulates distinct execution and user customization state. The distrib uted file system transports that state. Ho wev er , one drawback is that migrating a complete virtual machine consumes more time and bandwidth than just selective application migration. Another drawback is that this works only on one platform type, otherwise the the latency is too high. In contrast to ISR, David et al. [27] propose an adaptive application mobility solution based on Jav a-based platform that supports mobile agents across heterogeneous hardware (J ADE). In this approach, their design solution migrates individual applications and supports adaptation. D. Ad-hoc Mobile Clouds An ad-hoc computing cloud represents a group of mobile devices that serve as a cloud computing provider by exposing their computing resources to other mobile devices. This type of mobile cloud computing becomes more interesting in situations with no or weak connections to the Internet and lar ge cloud providers. Of floading to nearby mobile devices sav e monetary cost, because data char ging is a voided, especially favored in roaming situations. Moreover , it allows creating computing communities in which users can collaborative ly e xecute shared tasks. Huerta-Canepa and Lee [28] present guidelines for a frame- work to create virtual mobile cloud computing providers. This framework mimics a traditional cloud provider using nearby mobile devices. The proposed approach allows av oiding a connection to infrastructure-based cloud providers while bringing benefits of computation offloading. Ho wev er , such an approach requires the support for spontaneous interaction networking with discovery and selection of mobile peers. Hadoop 1 ported on mobile device is used for distributing of processing tasks and storage. Communication is based on the Extensible Messaging and Presence Protocol (XMPP). The Hyrax project [29] employs a similar approach of using the Hadoop framework on mobile devices to share data and computation. Hadoop implements much of the core functionality needed for ad-hoc clouds, including global data access, distributed data processing, scalability , fault-tolerance, hardware interoperability and data-local computation. Since Hadoop is mainly designed for deployment on many servers, the major problem is how to enable the Hadoop frame work to run on a mobile device. Cao et al. [30] present a middle ware that allows access from mobile devices to a bundle of multimedia services exposed from other mobile nodes. Mobile nodes can host web services that are accessed by other mobile nodes, thus exposing their computing capacities to the other mobile peers in an ad-hoc cloud. Particularly , related to ad-hoc clouds, much research in mobile ad-hoc and sensor networks has been done up to date. E. Comparison of Mobile Cloud Application Models A comparison of existing approaches for mobile cloud computing may point out the way to a better solution for mobile applications. The aforementioned application models fulfill in different scales the vision of mobile cloud computing. W e have compared the models according to: • Middlewar e: The enabling underlying technology used to achiev e desired system properties. • Cost Model: Are the different parameters of mobile clouds used to provide best performance? 1 http://hadoop.apache.org • Pr ogramming Abstraction: How powerful are the used programming tools to achie ve quicker solid applications, while preserving the control ov er different mobile cloud parts? • Solution Generality: Does the solution work for all applications or only for a few? • Implementation Comple xity: Ho w difficult is it to dev elop mobile cloud applications? • Static & Dynamic Adaptation: What is the separation of responsibilities between mobile clients and the cloud? • Network Load: How large is the volume of data trans- ferred? What is the introduced latency by of floading? • Scalability: Can the application scale? T able I shows how each of the approaches maps to the above attributes. The approaches from Cuerv o et al. [21] and Zhang et al. [20] recei ved top scores, because their model incorporates a cost model for deciding best execution configuration, the ex ecution can also adapt dynamically . They provide a SDK that simplifies the dev elopment, and applications can scale both vertically and horizontally . The approach in [16] is similar , b ut lacks of dynamic adaptation of the computation between mobile devices and the cloud. Cloudlets [3] and ISR [26] allow high abstraction and personalization of the computing en vironment by using VMs, but lack from fine-grained execution adaptation. [28] and [29] approaches enable high horizontal scaling of the av ailable ad-hoc mobile nodes, but with high communication ov erhead. I V . T O P I C S F O R E X P L O R A T I O N T o enable the new mobile cloud application model, many challenges exist in different areas, including data replication, consistency , transaction management, cache management, op- timal cost-effecti ve execution in heterogeneous computing en vironments, elastic module lifecycle management and their communication and state synchronization. The middlware should provide an infrastructure for seamless and transparent ex ecution of elastic applications and offer con venient dev elop- ment support. A. Pr ogramming Abstraction Dev elopment on mobile clouds should be simple and intuitiv e, ho wev er , at the same time the dev eloper should be able to control beha vior and location of his application. T o take full adv antage of modern mobile devices and av ailable cloud computing resources, new programing abstraction tools hiding the complexity of underlying cloud technologies are needed. These tools need to raise the lev el of abstraction for application dev elopment, but enable also getting the performance on mobile client as described by Catanzaro et al. [32]. The dev eloped software modules should be optimized for running on dif ferent mobile device hardware. Moreov er , the programming tools need to support scalability and generate the cloud code, similar to MapReduce [33], a frame work for doing batch processing jobs on thousands of machines. The programming tools should allow a holistic application dev elopment for the mobile client, middlware, and cloud, with dynamic shifting of the computation T ABLE I C O MPA R IS O N O F E X I S TI N G A N D P RO P O SE D MO B I L E C LO U D C O M P UT I N G A P PR OAC H E S Application Model Underlying T echnologies Cost Model Programming Abstraction Solution Generality Implementation Complexity Static Adap- tation Dynamic Adaptation Network Load Scalability Offline V endor SDK / / medium low high low high low Online W eb services, HTML5.0 / high low low high high medium high Chun and Mantiatis [14] (CloneCloud) DalvikVM (An- droid) in [31] / low high high low low high Satyanarayanan et al. [3] (Cloudlets) V irtualBox Dy- namic VM syn- thesis / high low low / / low low (vertical) Giurgiu et al. [16] (AlfredO and R- OSGi) OSGi, Java consumption graph high medium low high low low medium (ver- tical) Cuervo et al. [21] (MA UI) .NET linear optimization high high low high high low high Zhang et al. [20] (W eblets) REST , C# Na ¨ ıve Bayes Classifier high high low high high / high ˚ Ahlund et al. [23] P2P / / low low medium / / / Satyanarayanan et al. [26] (ISR) VM, Distributed File System / medium low low low low high medium (ver- tical) Huerta-Canepa and Lee [28] Hadoop, XMPP / high low low medium low high high (horizontal) Cao et al. [30] (Mo- bile WS) W eb services / high medium low medium low medium medium (ver- tical) Marinelli [29] (Hyrax) Hadoop / high low low medium medium high high (horizontal) and the storage between them. For e xample, Zhang et al. [20] hav e implemented SDK, which is used to develop the basic interfaces of application modules and manage their lifecycle. Using the SDK, developers can build applications in high-le vel languages such as Java or C#. T o support the rise of mobile clouds, not only new applications and services are of interest, but also the migration of existing applications and services to the cloud infrastructure. Coign [34] provides automatic program partitioning without source code modification. Alternativ ely , the complexity can be hidden in the middle- ware. For example, W u et al. [35] propose an architecture that enables online, offline and mixed mode of operation for mobile applications with unified access to the business logic. The architecture is based on open standards which can be integrated with other platforms, and extended with other loosely coupled modules. The architecture framew ork enables easy b uilding and adapting mobile applications that run in a selected mode depending on the scenario and user requirements. Different types of applications can be b uild or adapt without architectural changes. Howe ver , this approach is limited, in sense that dynamically changing the operation mode is not possible which requires rebuilding the application. B. Cost Model In order to dynamically shift the computation between mobile device and cloud, applications needed to be split in loosely- coupled modules interacting with each other . The modules are dynamically instantiated on and shifted between mobile devices and cloud depending on the several metric parameters modeled in a cost model. These parameters can include the module execution time, resource consumption, battery lev el, monetary costs, security , or network bandwidth. A key aspect is user waiting time, i.e. that is the time a user waits from in voking some actions on the device’ s interface until a desired output or exception is returned to the user . User wait time is important for deciding whether to do the processing locally or remotely . The cost model takes inputs from both de vice and cloud, and runs optimization algorithms to decide e xecution configuration of applications (cf. Fig. 5). Zhang et al. [20] use Na ¨ ıve Bayesian Learning classifiers to find the optimal execution configuration from all possible configurations with given CPU, memory and network consumption, user preferences, and log data from the application. Guirgiu et al. [16] model the application behavior through a resource consumption g raph. Every bundle or module composing the application has memory consumption, generated input and output traffic, and code size. Application’ s distrib ution between the server and phone is then optimized. The server is assumed to ha ve infinite resources and the client has sev eral resource constraints. The partitioning problem seeks to find an optimal cut in the graph satisfying an objectiv e function and device’ s constraints. The objectiv e function tries to minimize the interactions between the phone and the serv er , while taking into account the ov erhead of acquiring and installing the necessary bundles. Howe ver , optimization in volving man y interrelated parame- ters in the cost model can be time or computation consuming, and ev en can override the cost savings. Therefore, approximate and fast optimization techniques in volving prediction are needed. The model could predict costs of different partitioning configurations before running the application and deciding on the best one [31]. C. Adaptation Adaptation is key to mobility . Mobile cloud applications, running on relativly limited resources of mobile devices coping Fig. 5. Cost model of elastic mobile cloud applications (extended from [20]) with unreliable networks and changing circumstances, must react on and dynamically reassign the responsibilities of mobile client and cloud, i.e. must be adapti ve. In [10], the range of strategies for application and system adaptation is identified. The range is delimited by two extremes. At one extreme, adaptation is entirely the responsibility of individual applica- tions. This approach, called laissez-fair adaptation, av oids the need for system support. The other extreme, called application- transparent adaptation, places the entire responsibility for adaptation on the system. A typical case of this approach is to use proxies to perform adaptation on behalf of applications. Between these two extremes lies a spectrum of possibilities that are referred to as application-aware adaptation. The application models from previous section lie somewhere between these boundaries. D. Cloud Inte gration Cloud storage is the most obvious use of of cloud computing in mobile applications. Most devices ha ve limited storage to hold applications, data, multimedia and operating system. The open questions that arise in this context are data transfer size optimization, and data persistence versus data a vailability [36]. Data transfer size optimization refers to how much data to move in a single transfer . Ideally the data transfer strategy should also hav e a degree of parameterization to handle stepping up and down the chunk size relativ e to network bandwidth, since bandwidth is highly variable in mobile applications. Data av ailability is important for completing tasks in a currently running process. Data persistence refers to storing data in the cloud until it is needed again in future. There is ob viously a trade-off between them which requires taking into consideration of network connectivity , bandwidth, device capacity and latency . Caching can be used, but the use of cache on distributed databases requires additional ef forts such as cache v alidation coherency . Cloud processing offers a great option for offloading process- ing of large tasks requiring more time for calculation. Howe ver , many issues exist. First, cloud processing is more complex to implement than cloud storage because it in volv es both data management and synchronization. Second, to achieve truly computation augmentation of the limited mobile device, the performance of application execution needs to be monitored. For example, the supporting mobile cloud middleware can insert performance probes into the code and sense the running application modules. Third, mo ving software modules poses more issues. Some application modules can not be moved or it does not benefit from doing it. Moving stateless modules is more achiev able than stateful modules. Since data is shared on different systems, maintaining consistency becomes more and more important and dif ficult. Providing true transactional guaranties for software stacks that provides large scalability , an ywhere, is an open gap for mobile cloud computing. Currently , only little support is available to cross-platform ex ecution and migration which mobile cloud computing struc- tures will require. All of the analyzed approaches above are mostly tied to one specific middle ware. Movement between cloud structures as a key issue has not been supported fully yet. E. T rust, Security and Privacy A never ending issue will always be security in cloud computing related to multi-tenancy , concurrency , scale and distribution. First, direct concerns arise from aspects such as lacking control ov er data and code distrib ution in distributed infrastructures, potential data loss. Second, indirect issues arise from providing virtually unlimited computational resources to perhaps untrustworthy entities [37]. V . C O N C L U S I O N S In this paper, we ha ve co vered several representativ e mobile cloud approaches. Much other related work exist, but the purpose of this paper is to gi ve an ov erview of the wide spectrum of mobile cloud computing possibilities. None of the existing approaches meets completely the requirements of mobile clouds. Nativ e (offline) and W eb (online) applications are the two extremes of mobile applications. The former type is using capabilities of mobile devices, but the integration with the cloud is poor . The latter type lacks from insuf ficient usage of mobile de vice sensors and a vailable device computing resources while suf fering from interactivity issues. Therefore, we believ e that the full potential of mobile cloud applications lies in between these two extremes, while dynamically shifting the responsibilities between mobile device and cloud. Several researchers have shown how to achiev e that by , e.g., replicating whole de vice software image or offloading parts of the application. The of floading can happen to some remote data center , nearby computer or cluster of computers, or e ven to nearby mobile devices. Moreover , due to the unstable mobile en vironments, many f actors need to be incorporated in a cost model, and fast predicti ve optimizing algorithms decide upon the best application ex ecution. T o simplify the dev elopment a con venient, but effecti ve, programming abstraction is required. Mobile cloud computing will be a source of challenging re- search problems in information and communication technology for many years to come. Solving this problems will require interdisciplinary research from systems, networks, and HCI. R E F E R E N C E S [1] A. Wright, “Get Smart, ” Communications of the ACM , vol. 52, no. 1, pp. 15–16, 2009. [2] D. Ko vache v , D. Renzel, R. Klamma, and Y . Cao, “Mobile Community Cloud Computing: Emerges and Evolv es, ” in Pr oceedings of the F irst International W orkshop on Mobile Cloud Computing (MCC) . Kansas City , MO, USA: IEEE, 2010. [3] M. Satyanarayanan, P . Bahl, R. C ´ aceres, and N. Davies, “The Case for VM-Based Cloudlets in Mobile Computing, ” IEEE P ervasive Computing , vol. 8, no. 4, pp. 14–23, Oct. 2009. [4] L. M. V aquero, L. Rodero-Merino, J. Caceres, and M. Lindner, “A Bbreak in the Clouds: T ow ards a Cloud Definition, ” SIGCOMM Computer Communication Review , vol. 39, no. 1, pp. 50–55, 2009. [5] P . Mell and T . Grance, “The NIST Definition of Cloud Computing, ” 2009. [Online]. A vailable: http://csrc.nist.gov/groups/SNS/cloud- computing/ cloud- def- v15.doc [6] OnLiv e Inc., “OnLIve. ” [Online]. A vailable: http://www .onlive.com [7] J. Dean and S. Ghemaw at, “MapReduce: Simplified Data Processing on Large Clusters, ” in Pr oceedings of the 6th Conference and Symposium on Operating Systems Design & Implementation (OSDI’04) . San Francisco, CA, USA: USENIX Association, 2004, p. 10. [8] Amazon.com, Inc., “Amazon W eb Services. ” [Online]. A vailable: http://aws.amazon.com [9] F . Chang, J. Dean, S. Ghemaw at, W . C. Hsieh, D. A. W allach, M. Burrows, T . Chandra, A. Fikes, and R. E. Gruber, “Bigtable : A Distributed Storage System for Structured Data, ” ACM T ransactions on Computer Systems , vol. 26, no. 2, pp. 1–26, 2008. [10] M. Satyanarayanan, “Fundamental Challenges in Mobile Computing, ” in Pr oceedings of the F ifteenth Annual ACM Symposium on Principles of Distributed Computing . Philadelphia, P A, USA: A CM, 1996, pp. 1–7. [11] A. K. Gupta, “Challenges in Mobile Computing, ” in Pr oceedings of 2nd National Conference on Challenges and Opportunities in Information T echnology (COIT -2008) . Mandi Gobindgarh, India: RIMT -IET , 2008, pp. 86–90. [12] J. Jing, A. S. Helal, and A. Elmagarmid, “Client-server Computing in Mobile En vironments, ” ACM Computing Surveys (CSUR) , v ol. 31, no. 2, pp. 117–157, 1999. [13] X. Gu, K. Nahrstedt, A. Messer , I. Greenberg, and D. Milojicic, “Adapti ve Offloading Inference for Delivering Applications in Pervasi ve Computing En vironments, ” in Pr oceedings of the F irst IEEE International Confer ence on P ervasive Computing and Communications (P erCom 2003). Dallas- Fort W orth, TX, USA: IEEE, 2003, pp. 107–114. [14] B.-G. Chun and P . Maniatis, “Augmented Smartphone Applications Through Clone Cloud Ex ecution, ” in Pr oceedings of the 12th W orkshop on Hot T opics in Operating Systems (HotOS XII) . Monte V erita, Switzerland: USENIX, 2009. [15] S. Garriss, R. C ´ aceres, S. Berger , R. Sailer, L. van Doorn, and X. Zhang, “T rustworthy and Personalized Computing on Public Kiosks, ” in Pr oceeding of the 6th International Confer ence on Mobile Systems, Applications, and Services (MobiSys ’08) . Breckenridge, CO, USA: A CM, 2008, pp. 199 – 210. [16] I. Giurgiu, O. Riv a, D. Juric, I. Krivulev , and G. Alonso, “Calling the Cloud: Enabling Mobile Phones as Interfaces to Cloud Applications, ” in Pr oceedings of the 10th ACM/IFIP/USENIX International Conference on Middlewar e (Middlewar e ’09) . Urbana Champaign, IL, USA: Springer , Nov . 2009, pp. 1–20. [17] J. Rellermeyer , O. Riv a, and G. Alonso, “AlfredO: An Architecture for Flexible Interaction with Electronic Devices, ” in Proceedings of the 9th ACM/IFIP/USENIX International Conference on Middlewar e (Middlewar e 2008) , ser . Lecture Notes in Computer Science, vol. 5346. Leuven, Belgium: Springer, 2008, pp. 22–41. [18] J. S. Rellermeyer , M. Duller, and G. Alonso, “Engineering the Cloud from Software Modules, ” in Pr oceedings of the W orkshop on Softwar e Engineering Challenges in Cloud Computing (ICSE-Cloud, in conjunction with ICSE 2009) . V ancouver, Canada: IEEE, 2009, pp. 32–37. [19] J. S. Rellermeyer , G. Alonso, and T . Roscoe, “R-OSGi: Distributed Applications Through Software Modularization, ” in Pr oceedings of the ACM/IFIP/USENIX 8th International Middlewar e Conference Conference (Middlewar e 2007) . Ne wport Beach, CA, USA: Springer , Nov . 2007, pp. 50–54. [20] X. Zhang, S. Jeong, A. Kunjithapatham, and Simon Gibbs, “T owards an Elastic Application Model for Augmenting Computing Capabilities of Mobile Platforms, ” in The Thir d International ICST Conference on MOBILe W ir eless MiddleW ARE, Operating Systems, and Applications , Chicago, IL, USA, 2010. [21] E. Cuervo, A. Balasubramanian, D.-k. Cho, A. W olman, S. Saroiu, R. Chandra, and P . Bahl, “MA UI: Making Smartphones Last Longer with Code Offload, ” in Pr oceedings of the 8th international confer ence on Mobile systems, applications, and services (ACM MobiSys ’10) . San Francisco, CA, USA: A CM, 2010, pp. 49–62. [22] X. Zhang, J. Schiffman, S. Gibbs, A. Kunjithapatham, and S. Jeong, “Securing Elastic Applications on Mobile De vices for Cloud Computing, ” in CCSW ’09: Proceedings of the 2009 ACM W orkshop on Cloud Computing Security . Chicago, IL, USA: ACM, Nov . 2009, pp. 127–134. [23] A. ˚ A hlund, K. Mitra, D. Johansson, C. ˚ A hlund, and A. Zaslavsky , “Context-aw are Application Mobility Support in Pervasi ve Computing En vironments, ” in Pr oceedings of the 6th International Conference on Mobile T echnology , Application & Systems (Mobility ’09) . Nice, France: A CM, Sep. 2009, pp. 1–4. [24] T . Koponen, A. Gurtov , and P . Nikander, “Application Mobility with Host Identity Protocol, ” in Identifier/Locator Split and DHTs: Pr oceedings of the Resear ch Seminar on T elecommunications Softwar e . Helsinki: Helsinki University of T echnology , 2004, p. 50. [25] D. S. Miloji ˇ ci ´ c, F . Douglis, Y . Paindav eine, R. Wheeler, and S. Zhou, “Process Migration, ” ACM Computing Surveys (CSUR) , vol. 32, no. 3, pp. 241–299, Sep. 2000. [26] M. Satyanarayanan, M. A. K ozuch, C. J. Helfrich, and D. R. O. Hallaron, “T owards Seamless Mobility on Pervasiv e Hardware, ” P ervasive and Mobile Computing , vol. 1, no. 2, pp. 157–189, Jul. 2005. [27] F . David, B. Donkervoet, J. Carlyle, and EM, “Supporting Adaptive Application Mobility, ” in On the Move to Meaningful Internet Systems 2007: OTM 2007 W orkshops . V ilamoura, Portugal: Springer, Nov . 2007, pp. 896–905. [28] G. Huerta-Canepa and D. Lee, “A V irtual Cloud Computing Provider for Mobile Devices, ” in Proceedings of the 1st ACM W orkshop on Mobile Cloud Computing & Services Social Networks and Beyond (MCS ’10) . San Francisco, CA, USA: A CM, 2010, pp. 1–5. [29] E. E. Marinelli, “Hyrax: Cloud Computing on Mobile Devices using MapReduce, ” Master Thesis, Carnegie Mellon University , 2009. [30] Y . Cao, M. Jarke, R. Klamma, O. Mendoza, and S. Srirama, “Mobile Access to MPEG-7 Based Multimedia Services, ” in 2009 T enth Interna- tional Conference on Mobile Data Management: Systems, Services and Middlewar e . T aipei, T aiwan: IEEE, 2009, pp. 102–111. [31] B.-G. Chun and P . Maniatis, “Dynamically Partitioning Applications Between W eak Devices and Clouds, ” in Proceedings of the 1st ACM W orkshop on Mobile Cloud Computing & Services Social Networks and Beyond (MCS ’10) . San Francisco, CA, USA: ACM Press, 2010, pp. 1–5. [32] B. Catanzaro, S. A. Kamil, Y . Lee, K. Asano vic, J. Demmel, K. K eutzer , J. Shalf, K. A. Y elick, and A. Fox, “SEJITS: Getting Productivity and Performance With Selecti ve Embedded JIT Specialization, ” EECS Department, Uni versity of California, Berkeley , Raleigh, NC, USA, T ech. Rep. UCB/EECS-2010-23, Sep. 2009. [33] J. Dean and S. Ghemaw at, “Mapreduce: Simplified data processing on large clusters, ” Communications of the ACM , vol. 51, no. 1, pp. 107–113, 2008. [34] G. C. Hunt and M. L. Scott, “The Coign Automatic Distributed Partitioning System, ” in Proceeedings of the Third Symposium on Operating System Design and Implementation (OSDI’99) , no. February . New Orleans, LA, USA: USENIX Association, 1999, pp. 187–200. [35] H. W u, L. Hamdi, and N. Mahe, “T ANGO: A Flexible Mobility-Enabled Architecture for Online and Offline Mobile Enterprise Applications, ” in Pr oceedings of 11th International Confer ence on Mobile Data Mangement (MDM 2010) . Kanas City , MO, USA: IEEE, 2010, pp. 230–238. [36] J. H. Christensen, “Using RESTful W eb-services and Cloud Computing to Create Next Generation Mobile Applications, ” in Proceeding of the 24th ACM SIGPLAN Confer ence Companion on Object Oriented Pro gramming Systems Languages and Applications (OOPSLA ’09) . Orlando, FL, USA: A CM, 2009, pp. 627–634. [37] Expert Group Report, “The Future of Cloud Computing. Opportunities for European Cloud Computing Beyond 2010, ” 2010. [Online]. A vailable: http://cordis.europa.eu/fp7/ict/ssai/docs/cloud- report- final.pdf
Original Paper
Loading high-quality paper...
Comments & Academic Discussion
Loading comments...
Leave a Comment