CloudAware: Empowering context‐aware self‐adaptation for mobile applications

Mobile devices are already woven into our everyday life, and we became accustomed that mobile applications assist us in a multitude of daily activities. With the rise of the Internet of Things, new opportunities to further automatize tedious tasks open up. New functional and user experience requirements demand for further resources and new ways to acquire these, because mobile devices remain comparatively limited in terms of, eg, computation, storage, and battery life. To face these challenges, current approaches augment mobile applications either with cloud resources (mobile cloud computing) or with resources near the mobile device at the logical edge of the network (mobile edge computing) onto which tasks can be offloaded during runtime. However, this does not automatically solve the conflict between resource demands and good user experience, as current solutions prove. It is the dynamically changing context that makes for good or bad offloading strategies. In this paper, we corroborate this finding by first evaluating 40 existing solutions based on a requirements catalogue derived from several application scenarios as well as the International Organization for Standardization/International Electrotechnical Commission criteria for software quality. Afterward, we present CloudAware, which is a mobile cloud computing/mobile edge computing middleware that supports automated context-aware self-adaptation techniques that ease the development of elastic, scalable, and context-adaptive mobile applications. Moreover, we present a qualitative evaluation of our concepts and quantitatively evaluate different offloading scenarios using real usage data to prove that mobile applications indeed benefit from context-aware self-adaptation techniques. Finally, we conclude with a discussion of open challenges.

[1]  Eric Chen,et al.  Offloading Android applications to the cloud without customizing Android , 2012, 2012 IEEE International Conference on Pervasive Computing and Communications Workshops.

[2]  Guilherme Horta Travassos,et al.  ISPIS: From Conception towards Industry Readiness , 2007, XXVI International Conference of the Chilean Society of Computer Science (SCCC'07).

[3]  Bu-Sung Lee,et al.  μCloud: Towards a New Paradigm of Rich Mobile Applications , 2011, ANT/MobiWIS.

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

[5]  Yolande Berbers,et al.  Research challenges in mobile and context-aware service development , 2006 .

[6]  Rajkumar Buyya,et al.  Mobile code offloading: from concept to practice and beyond , 2015, IEEE Communications Magazine.

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

[8]  Muhammad Shiraz,et al.  A lightweight active service migration framework for computational offloading in mobile cloud computing , 2014, The Journal of Supercomputing.

[9]  Jessie Dedecker,et al.  AmbientTalk: Object-oriented Event-driven Programming in Mobile Ad hoc Networks , 2007, XXVI International Conference of the Chilean Society of Computer Science (SCCC'07).

[10]  Michele Amoretti,et al.  Code Migration in Mobile Clouds with the NAM4J Middleware , 2013, 2013 IEEE 14th International Conference on Mobile Data Management.

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

[12]  Ramesh Govindan,et al.  Odessa: enabling interactive perception applications on mobile devices , 2011, MobiSys '11.

[13]  James D. Herbsleb,et al.  Simplifying cyber foraging for mobile devices , 2007, MobiSys '07.

[14]  Kurt Geihs,et al.  Selbst-adaptive Software , 2008, Informatik-Spektrum.

[15]  Gustavo Alonso,et al.  AlfredO: An Architecture for Flexible Interaction with Electronic Devices , 2008, Middleware.

[16]  Ramesh Govindan,et al.  Reliable and efficient programming abstractions for wireless sensor networks , 2007, PLDI '07.

[17]  Michael Haupt,et al.  A comparison of context-oriented programming languages , 2009, COP@ECOOP.

[18]  .K Dhanya,et al.  A Virtual Cloud Computing Provider for Mobile Devices , 2017 .

[19]  Eyal de Lara,et al.  Dimorphic Computing (CMU-CS-06-123) , 2006 .

[20]  Jason Flinn,et al.  Slingshot: deploying stateful services in wireless hotspots , 2005, MobiSys.

[21]  Imad Aad,et al.  From big smartphone data to worldwide research: The Mobile Data Challenge , 2013, Pervasive Mob. Comput..

[22]  Winfried Lamersdorf,et al.  Generic context adaptation for mobile cloud computing environments , 2018, J. Ambient Intell. Humaniz. Comput..

[23]  Gregory D. Abowd,et al.  The context toolkit: aiding the development of context-enabled applications , 1999, CHI '99.

[24]  Chonho Lee,et al.  A survey of mobile cloud computing: architecture, applications, and approaches , 2013, Wirel. Commun. Mob. Comput..

[25]  Rajkumar Buyya,et al.  Seamless application execution in mobile cloud computing: Motivation, taxonomy, and open challenges , 2015, J. Netw. Comput. Appl..

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

[27]  Cho-Li Wang,et al.  JESSICA2: a distributed Java Virtual Machine with transparent thread migration support , 2002, Proceedings. IEEE International Conference on Cluster Computing.

[28]  Winfried Lamersdorf,et al.  CloudAware: Towards context-adaptive mobile cloud computing , 2015, 2015 IFIP/IEEE International Symposium on Integrated Network Management (IM).

[29]  Cho-Li Wang,et al.  A Stack-on-Demand Execution Model for Elastic Computing , 2010, 2010 39th International Conference on Parallel Processing.

[30]  Eugene Marinelli,et al.  Hyrax: Cloud Computing on Mobile Devices using MapReduce , 2009 .

[31]  Stawros Ladikos,et al.  Real-time multi-view 3D reconstruction for interventional environments , 2011 .

[32]  Andrew P. Black,et al.  Fine-grained mobility in the Emerald system , 1987, TOCS.

[33]  Johan Tordsson,et al.  How Beneficial Are Intermediate Layer Data Centers in Mobile Edge Networks? , 2016, 2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS*W).

[34]  Hannu Flinck,et al.  Application Orchestration in Mobile Edge Cloud: Placing of IoT Applications to the Edge , 2016, 2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS*W).

[35]  Xu Chen,et al.  COMET: Code Offload by Migrating Execution Transparently , 2012, OSDI.

[36]  Seyed Masoud Sadjadi,et al.  Composing adaptive software , 2004, Computer.

[37]  Mazliza Othman,et al.  A Survey of Mobile Cloud Computing Application Models , 2014, IEEE Communications Surveys & Tutorials.

[38]  Lars Braubach,et al.  The active components approach for distributed systems development , 2013, Int. J. Parallel Emergent Distributed Syst..

[39]  ISO / IEC 25010 : 2011 Systems and software engineering — Systems and software Quality Requirements and Evaluation ( SQuaRE ) — System and software quality models , 2013 .

[40]  Rajkumar Buyya,et al.  Heterogeneity in Mobile Cloud Computing: Taxonomy and Open Challenges , 2014, IEEE Communications Surveys & Tutorials.

[41]  Gustavo Alonso,et al.  Dynamic Software Deployment from Clouds to Mobile Devices , 2012, Middleware.

[42]  Mads Darø Kristensen,et al.  Scavenger: Transparent development of efficient cyber foraging applications , 2010, 2010 IEEE International Conference on Pervasive Computing and Communications (PerCom).

[43]  Ellen W. Zegura,et al.  Serendipity: enabling remote computing among intermittently connected mobile devices , 2012, MobiHoc '12.

[44]  Shih-Hao Hung,et al.  Creating Pervasive, Dynamic, Scalable Android Applications , 2013, 2013 Seventh International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing.

[45]  George Angelos Papadopoulos,et al.  Please Scroll down for Article Enterprise Information Systems a Survey of Software Adaptation in Mobile and Ubiquitous Computing a Survey of Software Adaptation in Mobile and Ubiquitous Computing , 2022 .

[46]  Winfried Lamersdorf,et al.  Context-Aware Computation Offloading for Mobile Cloud Computing: Requirements Analysis, Survey and Design Guideline , 2015, FNC/MobiSPC.

[47]  Frank Dürr,et al.  Optimal predictive code offloading , 2014, MobiQuitous.

[48]  Winfried Lamersdorf,et al.  CloudAware: A Context-Adaptive Middleware for Mobile Edge and Cloud Computing Applications , 2016, 2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS*W).

[49]  Amit P. Sheth,et al.  Power of Clouds in Your Pocket: An Efficient Approach for Cloud Mobile Hybrid Application Development , 2010, 2010 IEEE Second International Conference on Cloud Computing Technology and Science.

[50]  Klara Nahrstedt,et al.  Gaia: a middleware platform for active spaces , 2002, MOCO.

[51]  Claudia Linnhoff-Popien,et al.  A Context Modeling Survey , 2004 .

[52]  Winfried Lamersdorf,et al.  Computing at the Mobile Edge: Designing Elastic Android Applications for Computation Offloading , 2015, 2015 8th IFIP Wireless and Mobile Networking Conference (WMNC).

[53]  Mads Darø Kristensen,et al.  Dynamic Resource Management and Cyber Foraging , 2009, Middleware for Network Eccentric and Mobile Applications.

[54]  M. Satyanarayanan,et al.  Dimorphic Computing , 2006 .

[55]  Xinwen Zhang,et al.  Towards an Elastic Application Model for Augmenting the Computing Capabilities of Mobile Devices with Cloud Computing , 2011, Mob. Networks Appl..

[56]  Randy H. Katz,et al.  A view of cloud computing , 2010, CACM.

[57]  Rajkumar Buyya,et al.  Application partitioning algorithms in mobile cloud computing: Taxonomy, review and future directions , 2015, J. Netw. Comput. Appl..

[58]  Robert Laddaga,et al.  Self-Adaptive Software: Applications , 2003, Lecture Notes in Computer Science.

[59]  Pedro Franco,et al.  Understanding Bitcoin: Cryptography, Engineering and Economics , 2014 .

[60]  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)..

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

[62]  Filip De Turck,et al.  AIOLOS: Middleware for improving mobile application performance through cyber foraging , 2012, J. Syst. Softw..

[63]  Jiannong Cao,et al.  Mobile Agent Enabled Application Mobility for Pervasive Computing , 2006, UIC.

[64]  Robert Laddaga,et al.  Self Adaptive Software: A Position Paper , 2004 .

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

[66]  Feng Xia,et al.  Application optimization in mobile cloud computing: Motivation, taxonomies, and open challenges , 2015, J. Netw. Comput. Appl..

[67]  Laurence T. Yang,et al.  MMPI a message passing interface for the mobile environment , 2008, MoMM.

[68]  Jason Flinn,et al.  Cyber Foraging: Bridging Mobile and Cloud Computing , 2012, Cyber Foraging: Bridging Mobile and Cloud Computing.

[69]  Mostafa Ammar,et al.  IC-Cloud: Computation Offloading to an Intermittently-Connected Cloud , 2013 .

[70]  Chenyang Lu,et al.  Mobile agent middleware for sensor networks: an application case study , 2005, IPSN 2005. Fourth International Symposium on Information Processing in Sensor Networks, 2005..

[71]  Tao Feng,et al.  Jupiter: transparent augmentation of smartphone capabilities through cloud computing , 2011, MobiHeld '11.

[72]  Rodrigo Roman,et al.  Mobile Edge Computing, Fog et al.: A Survey and Analysis of Security Threats and Challenges , 2016, Future Gener. Comput. Syst..

[73]  Ramesh Govindan,et al.  Macro-programming Wireless Sensor Networks Using Kairos , 2005, DCOSS.

[74]  J. Al-Muhtadi,et al.  Mobile Gaia: a middleware for ad-hoc pervasive computing , 2005, Second IEEE Consumer Communications and Networking Conference, 2005. CCNC. 2005.

[75]  George Coulouris,et al.  Distributed systems - concepts and design , 1988 .

[76]  Ivan Stojmenovic,et al.  The Fog computing paradigm: Scenarios and security issues , 2014, 2014 Federated Conference on Computer Science and Information Systems.

[77]  Wendi B. Heinzelman,et al.  Cloud-Vision: Real-time face recognition using a mobile-cloudlet-cloud acceleration architecture , 2012, 2012 IEEE Symposium on Computers and Communications (ISCC).

[78]  Mahadev Satyanarayanan,et al.  Pervasive computing: vision and challenges , 2001, IEEE Wirel. Commun..

[79]  Insik Shin,et al.  User mobility-aware decision making for mobile computation offloading , 2013, 2013 IEEE 1st International Conference on Cyber-Physical Systems, Networks, and Applications (CPSNA).

[80]  Maolin Tang,et al.  A Taxonomy of Computation Offloading in Mobile Cloud Computing , 2014, 2014 2nd IEEE International Conference on Mobile Cloud Computing, Services, and Engineering.

[81]  Shivakant Mishra,et al.  CAwbWeb: Towards a Standardized Programming Framework to Enable a Context-Aware Web ; CU-CS-1063-10 , 2010 .

[82]  Muhammad Shiraz,et al.  MOMCC: Market-oriented architecture for Mobile Cloud Computing based on Service Oriented Architecture , 2012, 2012 1st IEEE International Conference on Communications in China Workshops (ICCC).

[83]  Werasak Kurutach,et al.  Mobile cloud computing: A survey and propose solution framework , 2016, 2016 13th International Conference on Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology (ECTI-CON).

[84]  Yolande Berbers,et al.  CADeComp: Context-aware deployment of component-based applications , 2008, J. Netw. Comput. Appl..