A catalog of architectural tactics for cyber-foraging

Mobile devices have become for many the preferred way of interacting with the Internet, social media and the enterprise. However, mobile devices still do not have the computing power or battery life that will allow them to perform effectively over long periods of time or for executing applications that require extensive communication or computation, or low latency. Cyber-foraging is a technique enabling mobile devices to extend their computing power and storage by offloading computation or data to more powerful servers located in the cloud or in single-hop proximity. This paper presents a catalog of architectural tactics for cyber-foraging that was derived from the results of a systematic literature review on architectures for cyber-foraging systems. Elements of the architectures identified in the primary studies were codified in the form of Architectural Tactics for Cyber-Foraging. These tactics will help architects extend their design reasoning towards cyber-foraging as a way to support the mobile applications of the present and the future.

[1]  Jon Crowcroft,et al.  Energy efficient mobile m2m communications , 2012 .

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

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

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

[5]  Arun K. Majumdar,et al.  Algorithms and heuristics for efficient medical information display in PDA , 2007, Comput. Biol. Medicine.

[6]  Luís Veiga,et al.  SPADE: scheduler for parallel and distributed execution from mobile devices , 2008, MPAC '08.

[7]  Jianzhong Zhang,et al.  SmartVirtCloud: Virtual cloud assisted application offloading execution at mobile devices' discretion , 2013, 2013 IEEE Wireless Communications and Networking Conference (WCNC).

[8]  J. Wenny Rahayu,et al.  Mobile cloud computing: A survey , 2013, Future Gener. Comput. Syst..

[9]  Philippe Kruchten,et al.  Building Up and Reasoning About Architectural Knowledge , 2006, QoSA.

[10]  T. Roopa,et al.  Extending Android Application Programming Framework for Seamless Cloud Integration , 2012, 2012 IEEE First International Conference on Mobile Services.

[11]  Mario Gerla,et al.  PowerSense: power aware dengue diagnosis on mobile phones , 2011, mHealthSys '11.

[12]  Rajkumar Buyya,et al.  Cloud-Based Augmentation for Mobile Devices: Motivation, Taxonomies, and Open Challenges , 2013, IEEE Communications Surveys & Tutorials.

[13]  Marlon Dumas,et al.  Middleware support for mobile applications , 2005, Int. J. Pervasive Comput. Commun..

[14]  Shoji Kurakake,et al.  Roam, a seamless application framework , 2004, J. Syst. Softw..

[15]  Athanasios V. Vasilakos,et al.  MAPCloud: Mobile Applications on an Elastic and Scalable 2-Tier Cloud Architecture , 2012, 2012 IEEE Fifth International Conference on Utility and Cloud Computing.

[16]  John B. Carter,et al.  A collective approach to harness idle resources of end nodes , 2011 .

[17]  Grace A. Lewis,et al.  Architecture Strategies for Cyber-Foraging: Preliminary Results from a Systematic Literature Review , 2014, ECSA.

[18]  Heon Young Yeom,et al.  SOME: Selective Offloading for a Mobile Computing Environment , 2012, 2012 IEEE International Conference on Cluster Computing.

[19]  John Aycock,et al.  ThinAV: truly lightweight mobile cloud-based anti-malware , 2012, ACSAC '12.

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

[21]  Ralf Klamma,et al.  Framework for Computation Offloading in Mobile Cloud Computing , 2012, Int. J. Interact. Multim. Artif. Intell..

[22]  Byoung-Dai Lee,et al.  A Framework for Seamless Execution of Mobile Applications in the Cloud , 2012 .

[23]  Duga Naod Optimality Analysis and Middleware Design for Heterogeneous Cloud HPC in Mobile Devices , 2011 .

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

[25]  Eduardo Cuervo Laffaye,et al.  Enhancing Mobile Devices through Code Offload , 2012 .

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

[27]  Jeffrey Miller List of Tables / iv , 1998 .

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

[29]  Eduardo Cuervo,et al.  Enhancing mobile devices through code offload , 2012 .

[30]  Ivan Beschastnikh,et al.  Sonora: A Platform for Continuous Mobile-Cloud Computing , 2012 .

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

[32]  B. J. Ferro Castro,et al.  Pattern-Oriented Software Architecture: A System of Patterns , 2009 .

[33]  Tao Li,et al.  A Framework for Partitioning and Execution of Data Stream Applications in Mobile Cloud Computing , 2012, 2012 IEEE Fifth International Conference on Cloud Computing.

[34]  Changzhou Wang,et al.  The Workflow Based Architecture for Mobile Information Access in Occasionally Connected Computing , 2006, 2006 IEEE International Conference on Services Computing (SCC'06).

[35]  Paolo Traverso,et al.  Service-Oriented Computing: a Research Roadmap , 2008, Int. J. Cooperative Inf. Syst..

[36]  Mahadev Satyanarayanan,et al.  Lowering the barriers to large-scale mobile crowdsensing , 2013, HotMobile '13.

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

[38]  Tao Guan,et al.  A System Architecture to Provide Enhanced Grid Access for Mobile Devices , 2008 .

[39]  Kiran Rachuri,et al.  Smartphones based social sensing : adaptive sampling, sensing and computation offloading , 2013 .

[40]  Michael D. McCool,et al.  Real options for mobile communication management , 2011, 2011 IEEE GLOBECOM Workshops (GC Wkshps).

[41]  Mahadev Satyanarayanan,et al.  Cloud Offload in Hostile Environments , 2011 .

[42]  Jiannong Cao,et al.  Application mobility in pervasive computing: A survey , 2013, Pervasive Mob. Comput..

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

[44]  Lin Zhong,et al.  Self-constructive high-rate system energy modeling for battery-powered mobile systems , 2011, MobiSys '11.

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

[46]  Xinwen Zhang,et al.  Elastic HTML5: Workload Offloading Using Cloud-Based Web Workers and Storages for Mobile Devices , 2010, MobiCASE.

[47]  Eli Tilevich,et al.  Reducing the Energy Consumption of Mobile Applications Behind the Scenes , 2013, 2013 IEEE International Conference on Software Maintenance.

[48]  Shih-Hao Hung,et al.  Developing Collaborative Applications with Mobile Cloud - A Case Study of Speech Recognition , 2011, J. Internet Serv. Inf. Secur..

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

[50]  Dan Grigoras,et al.  The Cloud Personal Assistant for Providing Services to Mobile Clients , 2013, 2013 IEEE Seventh International Symposium on Service-Oriented System Engineering.

[51]  Miodrag Potkonjak,et al.  mHealthMon: Toward Energy-Efficient and Distributed Mobile Health Monitoring Using Parallel Offloading , 2013, 2013 35th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC).

[52]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[53]  Lee W. McKnight,et al.  Wireless Internet access: 3G vs. WiFi? , 2003 .

[54]  Arun Venkataramani,et al.  Energy consumption in mobile phones: a measurement study and implications for network applications , 2009, IMC '09.

[55]  Nalini Venkatasubramanian,et al.  Optimizing Power using Reconfigurable Middleware , 2003 .

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

[57]  Eyal de Lara,et al.  Efficient and transparent dynamic content updates for mobile clients , 2006, MobiSys '06.

[58]  Kay Weckemann,et al.  Remote Utilization of OpenCL for Flexible Computation Offloading using Embedded ECUs, CE Devices and Cloud Servers , 2011, PARCO.

[59]  Myong-Soon Park,et al.  A Distributed Resource Furnishing to Offload Resource-Constrained Devices in Cyber Foraging Toward Pervasive Computing , 2007, NBiS.

[60]  Shih-Hao Hung,et al.  Migrating Android Applications to the Cloud , 2011, Int. J. Grid High Perform. Comput..

[61]  Bharat K. Bhargava,et al.  An Agent-based Optimization Framework for Mobile-Cloud Computing , 2013, J. Wirel. Mob. Networks Ubiquitous Comput. Dependable Appl..

[62]  Mahmut T. Kandemir,et al.  Studying energy trade offs in offloading computation/compilation in Java-enabled mobile devices , 2004, IEEE Transactions on Parallel and Distributed Systems.

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

[64]  Ying Zhang,et al.  Towards module-based automatic partitioning of Java applications , 2012, Frontiers of Computer Science.

[65]  Tao Huang,et al.  A Heterogeneous Auto-offloading Framework Based on Web Browser for Resource-Constrained Devices , 2009, 2009 Fourth International Conference on Internet and Web Applications and Services.

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

[67]  Marios D. Dikaiakos,et al.  Feel the World: A Mobile Framework for Participatory Sensing , 2013, MobiWIS.

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

[69]  Mahadev Satyanarayanan,et al.  Data Staging on Untrusted Surrogates , 2003, FAST.

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

[71]  Yung-Hsiang Lu,et al.  Cloud Computing for Mobile Users: Can Offloading Computation Save Energy? , 2010, Computer.

[72]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[73]  Paris Avgeriou,et al.  First workshop on sharing and reusing architectural knowledge , 2006, SOEN.