Framework for context-aware computation offloading in mobile cloud computing

Computation offloading is a promising way to improve the performance as well as reducing the battery power consumption of a mobile application by executing some parts of the application on a remote server. Recent researches on mobile cloud computing mainly focus on the code partitioning and offloading techniques, assuming that mobile codes are offloaded to a prepared server. However, the context of a mobile device, such as locations, network conditions and available cloud resources, changes continuously as it moves throughout the day. And applications are also different in computation complexity and coupling degree. So it needs to dynamically select the appropriate cloud resources and offload mobile codes to them on demand, in order to offload in a more effective way. Supporting such capability is not easy for application developers due to (1) adaptability: mobile applications often face changes of runtime environments so that the adaptation on offloading is needed. (2) effectiveness: when the context of the mobile device changes, it needs to decide which cloud resource is used for offloading, and the reduced execution time must be greater than the network delay caused by offloading. This paper proposes a framework, which supports mobile applications with the context-aware computation offloading capability. First, a design pattern is proposed to enable an application to be computation offloaded on-demand. Second, an estimation model is presented to automatically select the cloud resource for offloading. Third, a framework at both client and server sides is implemented to support the design pattern and the estimation model. A thorough evaluation on two real-world applications is proposed, and the results show that our approach can help reduce execution time by 6–96% and power consumption by 60–96% for computation-intensive applications.

[1]  Henri E. Bal,et al.  Cuckoo: A Computation Offloading Framework for Smartphones , 2010, MobiCASE.

[2]  Alec Wolman,et al.  MAUI: making smartphones last longer with code offload , 2010, MobiSys '10.

[3]  Rajkumar Buyya,et al.  A Context Sensitive Offloading Scheme for Mobile Cloud Computing Service , 2015, 2015 IEEE 8th International Conference on Cloud Computing.

[4]  Michael Philippsen,et al.  JavaParty - Transparent Remote Objects in Java , 1997, Concurr. Pract. Exp..

[5]  Wenzhong Li,et al.  Efficient Multi-User Computation Offloading for Mobile-Edge Cloud Computing , 2015, IEEE/ACM Transactions on Networking.

[6]  Chung-Ta King,et al.  Context-aware decision engine for mobile cloud offloading , 2013, 2013 IEEE Wireless Communications and Networking Conference Workshops (WCNCW).

[7]  Mahadev Satyanarayanan,et al.  Self-tuned remote execution for pervasive computing , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

[8]  HuangGang,et al.  Refactoring android Java code for on-demand computation offloading , 2012 .

[9]  Yung-Hsiang Lu,et al.  Cloud Computing for Mobile Users , 2011 .

[10]  BhargavaBharat,et al.  A Survey of Computation Offloading for Mobile Systems , 2013 .

[11]  Pan Hui,et al.  ThinkAir: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading , 2012, 2012 Proceedings IEEE INFOCOM.

[12]  Joseph A. Paradiso,et al.  Energy scavenging for mobile and wireless electronics , 2005, IEEE Pervasive Computing.

[13]  T. Kallonen,et al.  Use of distributed resources in mobile environment , 2006, 2006 International Conference on Software in Telecommunications and Computer Networks.

[14]  Mahadev Satyanarayanan,et al.  Simplifying cyber foraging , 2006 .

[15]  Alan Messer,et al.  Adaptive offloading inference for delivering applications in pervasive computing environments , 2003, Proceedings of the First IEEE International Conference on Pervasive Computing and Communications, 2003. (PerCom 2003)..

[16]  Mahadev Satyanarayanan,et al.  The case for cyber foraging , 2002, EW 10.

[17]  Sateesh Kumar Peddoju,et al.  Handoff Strategy for Improving Energy Efficiency and Cloud Service Availability for Mobile Devices , 2015, Wirel. Pers. Commun..

[18]  Jiang Zhu,et al.  Fog Computing: A Platform for Internet of Things and Analytics , 2014, Big Data and Internet of Things.

[19]  Ciprian Dobre,et al.  Big Data and Internet of Things: A Roadmap for Smart Environments , 2014, Big Data and Internet of Things.

[20]  Paramvir Bahl,et al.  Anatomizing application performance differences on smartphones , 2010, MobiSys '10.

[21]  Chunming Qiao,et al.  Joint Virtual MIMO and Data Gathering for Wireless Sensor Networks , 2015, IEEE Transactions on Parallel and Distributed Systems.

[22]  Alan Messer,et al.  Towards a distributed platform for resource-constrained devices , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[23]  Yannis Smaragdakis,et al.  J-Orchestra: Enhancing Java programs with distribution capabilities , 2009, TSEM.

[24]  Mahadev Satyanarayanan,et al.  Transient customization of mobile computing infrastructure , 2008, MobiVirt '08.

[25]  Byung-Gon Chun,et al.  Augmented Smartphone Applications Through Clone Cloud Execution , 2009, HotOS.

[26]  Michael Philippsen,et al.  JavaParty – transparent remote objects in Java , 1997 .

[27]  Paramvir Bahl,et al.  The Case for VM-Based Cloudlets in Mobile Computing , 2009, IEEE Pervasive Computing.

[28]  John Carter,et al.  A lightweight secure cyber foraging infrastructure for resource-constrained devices , 2004, Sixth IEEE Workshop on Mobile Computing Systems and Applications.

[29]  Galen C. Hunt,et al.  The Coign automatic distributed partitioning system , 1999, OSDI '99.

[30]  Ying Zhang,et al.  Refactoring android Java code for on-demand computation offloading , 2012, OOPSLA '12.

[31]  Bharat K. Bhargava,et al.  A Survey of Computation Offloading for Mobile Systems , 2012, Mobile Networks and Applications.

[32]  Mahadev Satyanarayanan,et al.  Tactics-based remote execution for mobile computing , 2003, MobiSys '03.

[33]  Gustavo Alonso,et al.  Calling the Cloud: Enabling Mobile Phones as Interfaces to Cloud Applications , 2009, Middleware.

[34]  Mahadev Satyanarayanan,et al.  Balancing performance, energy, and quality in pervasive computing , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[35]  Byung-Gon Chun,et al.  CloneCloud: elastic execution between mobile device and cloud , 2011, EuroSys '11.

[36]  Xu Chen,et al.  Decentralized Computation Offloading Game for Mobile Cloud Computing , 2014, IEEE Transactions on Parallel and Distributed Systems.

[37]  Kun Yang,et al.  On effective offloading services for resource-constrained mobile devices running heavier mobile Internet applications , 2008, IEEE Communications Magazine.