Mobile cloud computing: A survey

https://doi.org/10.1016/j.future.2012.05.023Get rights and content

Abstract

Despite increasing usage of mobile computing, exploiting its full potential is difficult due to its inherent problems such as resource scarcity, frequent disconnections, and mobility. Mobile cloud computing can address these problems by executing mobile applications on resource providers external to the mobile device. In this paper, we provide an extensive survey of mobile cloud computing research, while highlighting the specific concerns in mobile cloud computing. We present a taxonomy based on the key issues in this area, and discuss the different approaches taken to tackle these issues. We conclude the paper with a critical analysis of challenges that have not yet been fully met, and highlight directions for future work.

Highlights

► Problems in mobile computing can be solved when combined with cloud computing. ► Three types of mobile clouds are; offloading to a remote server, to a local cloudlet, and sharing work in a mobile p2p network. ► Existing research on mobile cloud computing is presented as a taxonomy of issues. ► We identify issues in operational, end user, and service levels, and in security and context awareness.

Introduction

The increasing usage of mobile computing is evident by the study by Juniper Research, which states that the consumer and enterprise market for cloud-based mobile applications is expected to rise to $9.5 billion by 2014 [1]. In recent years, applications targeted at mobile devices have started becoming abundant with applications in various categories such as entertainment, health, games, business, social networking, travel and news. The popularity of these are evident by browsing through mobile app download centers such as Apple’s iTunes or Nokia’s Ovi suite. The reason for this is that mobile computing is able to provide a tool to the user when and where it is needed irrespective of user movement, hence supporting location independence. Indeed, ‘mobility’ is one of the characteristics of a pervasive computing environment where the user is able to continue his/her work seamlessly regardless of his/her movement.

However, with mobility comes its inherent problems such as resource scarceness, finite energy and low connectivity as outlined by Satyanarayanan in [2]. These pose the problem of executing many useful programs that could aid the user and create a pervasive environment. According to Tim O’Reilly ‘the future belongs to services that respond in real time to information provided either by their users or by nonhuman sensors’ [3]. Real time applications are just one type of mobile applications that demand high levels of responsiveness, that in turn, demand intensive computing resources. Some mobile applications, such as location based social networking, process and make use of the phone’s various sensor data. However, extensive use of sensors, such as obtaining a GPS reading, is expensive in terms of energy and this limits the mobile phone in providing the user a better service through its embedded sensors. Furthermore, consider applications that require extensive processing–image processing for video games, speech synthesis, natural language processing, augmented reality, wearable computing—all these demand high computational capacities thus restricting the developers in implementing applications for mobile phones. Considering the trends in mobile phone architecture and battery, it is unlikely that these problems will be solved in the future. This is, in fact, not merely a temporary technological deficiency but intrinsic to mobility [4], and a barrier that needs to be overcome in order to realize the full potential of mobile computing.

In recent years, this problem has been addressed by researchers though cloud computing. Cloud computing can be defined as the aggregation of computing as a utility and software as a service [5] where the applications are delivered as services over the Internet and the hardware and systems software in data centers provide those services [6]. Also called ‘on demand computing’, ‘utility computing’ or ‘pay as you go computing’, the concept behind cloud computing is to offload computation to remote resource providers. The key strengths of cloud computing can be described in terms of the services offered by cloud service providers: software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS) [7]. Extensive surveys on cloud computing such as [6], [5], [8], [7], [9], [10] can be found in the literature, and here we focus on the potential of, and the challenges faced by mobile cloud computing.

The concept of offloading data and computation in cloud computing, is used to address the inherent problems in mobile computing by using resource providers other than the mobile device itself to host the execution of mobile applications. Such an infrastructure where data storage and processing could happen outside the mobile device could be termed a ‘mobile cloud’. By exploiting the computing and storage capabilities of the mobile cloud, computer intensive applications can be executed on low resource mobile devices.

Some of the key questions needing to be answered are: How does mobile cloud computing differ from cloud computing? What approaches have been made towards mobile cloud computing and how do they differ from each other? How can computation be offloaded and distributed to the cloud efficiently and in which ways does this differ from traditional distributed computing? What incentives can be used to persuade surrounding surrogate devices to participate in sharing the workload? How can context information be used in a beneficial way? How does mobility affect the performance of a mobile cloud?

The goal of this paper is to discuss in detail the current research that addresses these issues. We review the proposed solutions, and explore the upcoming research challenges in mobile cloud computing.

The remainder of this paper is organized as follows: In Section 2, we present the motivation for mobile cloud computing, and discuss potential applications and scenarios. In Section 3, we briefly introduce cloud computing and mobile cloud computing, and identify three definitions of mobile cloud computing. Next, in Section 4 we propose a taxonomy of mobile cloud computing based on the key issues, and review how each issue has been tackled in related research. We provide a discussion on the current challenges in Section 5. Finally, conclusions and directions for future research are identified in Section 6.

Section snippets

Motivation: the need for a mobile cloud

The case for mobile cloud computing can be argued by considering the unique advantages of empowered mobile computing, and a wide range of potential mobile cloud applications have been recognized in the literature. These applications fall into different areas such as image processing, natural language processing, sharing GPS, sharing Internet access, sensor data applications, querying, crowd computing and multimedia search. However, as explained in [11], applications that involve distributed

Cloud computing

“Cloud computing refers to both the applications delivered as services over the Internet and the hardware and systems software in the datacenters that provide those services” [6].

A cluster of computer hardware and software that offer the services to the general public (probably for a price) makes up a ‘public cloud’. Computing is therefore offered as a utility much like electricity, water, gas etc. where you only pay per use. For example, Amazon’s Elastic cloud, Microsoft’s Azure platform,

A taxonomy of mobile cloud computing

We present a taxonomy of current approaches in mobile cloud computing research based on issues related to Operational, End user and Service levels, and also in areas of Security, Context awareness and Data management as illustrated by Fig. 4. Our criteria for defining the taxonomy is based on the key issues in mobile cloud computing, and how they have been tackled in academia. We focus on:

  • Operational level issues

  • End user level issues

  • Service and application level issues

  • Privacy, security and

Challenges

Based on the related literature, we find that the following issues have not been sufficiently solved. These are the gaps in the reviewed work that would prove to be directions for future work.

  • Supporting continuous mobility while ensuring connectivity to the cloud: While mobile devices connecting to remote cloud servers to run apps such as Google translate can connect while mobile, this depends on the user’s 3G connection. Even if the reception is sufficient, data costs and latency has a huge

Conclusion and future work

Mobile cloud computing aims to empower the mobile user by providing a seamless and rich functionality, regardless of the resource limitations of mobile devices. Although still in its infancy, mobile cloud computing could become the dominant model for mobile applications in the future.

We have given an extensive survey of current mobile cloud computing research in this paper. Highlighting the motivation for mobile cloud computing, we have also presented different definitions of mobile cloud

Niroshinie Fernando received her B.Sc. degree in Computer Science from University of Colombo, Sri Lanka, in 2007. She is a Ph.D. student affiliated with the Department of Computer Science and Computer Engineering of La Trobe University, Australia. Her research is funded by a Ph.D. grant from La Trobe University. Her main research interests are mobile and cloud computing.

References (115)

  • W. Vogels, A head in the clouds the power of infrastructure as a service, in: Proceedings of the 1st Workshop on Cloud...
  • M. Armbrust, A. Fox, R. Griffith, A. Joseph, R. Katz, A. Konwinski, G. Lee, D. Patterson, A. Rabkin, I. Stoica, Above...
  • J. Carolan, S. Gaede, J. Baty, G. Brunette, A. Licht, J. Remmell, L. Tucker, J. Weise, Introduction to cloud computing...
  • Q. Zhang et al.

    Cloud computing: state-of-the-art and research challenges

    Journal of Internet Services and Applications

    (2010)
  • L. Mei et al.

    A tale of clouds: paradigm comparisons and some thoughts on research issues

  • J. Cheng, R.K. Balan, M. Satyanarayanan, Exploiting rich mobile environments, Technical Report,...
  • G. Huerta-Canepa et al.

    A virtual cloud computing provider for mobile devices

  • R.E. Frederking, R.D. Brown, The pangloss-lite machine translation system, in: Proceedings of the Second Conference of...
  • E.E. Marinelli, Hyrax: cloud computing on mobile devices using MapReduce, Masters Thesis, Carnegie Mellon University,...
  • M. Satyanarayanan

    Mobile computing: the next decade

  • N. Vallina-Rodriguez et al.

    Erdos: achieving energy savings in mobile OS

  • O. Amft et al.

    From backpacks to smartphones: past, present, and future of wearable computers

    IEEE Pervasive Computing

    (2009)
  • X. Luo

    From augmented reality to augmented computing: a look at cloud-mobile convergence

  • N. Aschenbruck et al.

    Modelling mobility in disaster area scenarios

  • Y. Sasaki, Y. Shibata, A disaster information sharing method by the mobile servers in challenged networks, in: Advanced...
  • M. Satyanarayanan et al.

    The case for VM-based cloudlets in mobile computing

    IEEE Pervasive Computing

    (2009)
  • E. Cuervo et al.

    Maui: making smartphones last longer with code offload

  • S. Zachariadis et al.

    Satin: a component model for mobile self organisation

  • J. Flinn et al.

    Balancing performance, energy, and quality in pervasive computing

  • R. Balan et al.

    Tactics-based remote execution for mobile computing

  • J. Dean et al.

    MapReduce: simplified data processing on large clusters

    Communications of the ACM

    (2008)
  • R. Kemp, N. Palmer, T. Kielmann, H. Bal, Cuckoo: a computation offloading framework for smartphones, in: Proceedings of...
  • R. Van Nieuwpoort et al.

    Ibis: a flexible and efficient java based grid programming environment

    Concurrency and Computation: Practice and Experience

    (2005)
  • D.C. Doolan et al.

    Mmpi a message passing interface for the mobile environment

  • BlueCove.org. http://www.bluecove.org/, 2008 (accessed:...
  • C. Clark et al.

    Live migration of virtual machines

  • B.-G. Chun et al.

    Clonecloud: elastic execution between mobile device and cloud

  • D. Huang, X. Zhang, M. Kang, J. Luo, Mobicloud: building secure cloud framework for mobile computing and communication,...
  • J. Lockwood, N. McKeown, G. Watson, G. Gibb, P. Hartke, J. Naous, R. Raghuraman, J. Luo, NetFPGA—An open platform for...
  • M. Kristensen, Scavenger: transparent development of efficient cyber foraging applications, in: Proceedings of the IEEE...
  • D. Borthakur, The hadoop distributed file system: architecture and design,...
  • E. Walker et al.

    To lease or not to lease from storage clouds

    Computer

    (2010)
  • L. Xinhui, L. Ying, L. Tiancheng, Q. Jie, W. Fengchun, The method and tool of cost analysis for cloud computing, in:...
  • D. Narayanan, J. Flinn, M. Satyanarayanan, Using history to improve mobile application adaptation, in: Proceedings of...
  • B.D. Noble et al.

    Agile application-aware adaptation for mobility

  • A. Kansal et al.

    Fine-grained energy profiling for power-aware application design

    SIGMETRICS Performance Evaluation Review

    (2008)
  • X. Zhang et al.

    Towards an elastic application model for augmenting the computing capabilities of mobile devices with cloud computing

    Mobile Networks and Applications

    (2011)
  • K. Kumar et al.

    Cloud computing for mobile users: can offloading computation save energy?

    Computer

    (2010)
  • C. Wang et al.

    Parametric analysis for adaptive computation offloading

    SIGPLAN Notices

    (2004)
  • H. Liang, D. Huang, D. Peng, On economic mobile cloud computing model, in: Proceedings of the International Workshop on...
  • Cited by (1398)

    • A flexible algorithm to offload DAG applications for edge computing

      2024, Journal of Network and Computer Applications
    View all citing articles on Scopus

    Niroshinie Fernando received her B.Sc. degree in Computer Science from University of Colombo, Sri Lanka, in 2007. She is a Ph.D. student affiliated with the Department of Computer Science and Computer Engineering of La Trobe University, Australia. Her research is funded by a Ph.D. grant from La Trobe University. Her main research interests are mobile and cloud computing.

    Seng W. Loke is a Reader and Associate Professor at the Department of Computer Science and Computer Engineering in La Trobe University. He leads the Pervasive Computing Interest Group at La Trobe. He has (co-)authored more than 220 research publications including numerous works on context-aware computing, and mobile and pervasive computing. He has been on the program committee of numerous conferences/workshops in the area, including Pervasive 2008. He completed his Ph.D. at the University of Melbourne.

    Wenny Rahayu is an Associate Professor at the Department of Computer Science and Computer Engineering, La Trobe University, Australia. Her research areas cover a wide range of advanced databases topics including Spatial and Temporal Databases, XML Databases, Data Warehousing, and Semantic Web and Ontology. To date, she has supervised to completion 10 Ph.D. graduates, and is currently leading a number of collaborative research and industry sponsored projects in the above areas.

    View full text