Cyber Foraging: Bridging Mobile and Cloud Computing

This lecture provides an introduction to cyber foraging, a topic that lies at the intersection of mobile and cloud computing. Cyber foraging dynamically augments the computing resources of mobile computers by opportunistically exploiting fixed computing infrastructure in the surrounding environment. In a cyber foraging system, applications functionality is dynamically partitioned between the mobile computer and infrastructure servers that store data and execute computation on behalf of mobile users. The location of application functionality changes in response to user mobility, platform characteristics, and variation in resources such as network bandwidth and CPU load. Cyber foraging also introduces a new, surrogate computing tier that lies between mobile users and cloud data centers. Surrogates are wired, infrastructure servers that offer much greater computing resources than those offered by small, battery-powered mobile devices. Surrogates are geographically distributed to be as cl se as possible to mobile computers so that they can provide substantially better response time to network requests than that provided by servers in cloud data centers. For instance, surrogates may be co-located with wireless hotspots in coffee shops, airport lounges, and other public locations. This lecture first describes how cyber foraging systems dynamically partition data and computation. It shows how dynamic partitioning can often yield better performance, energy efficiency, and application quality than static thin-client or thick-client approaches for dividing functionality between cloud and mobile computers. The lecture then describes the design of the surrogate computing tier. It shows how strong isolation can enable third-party computers to host computation and store data on behalf of nearby mobile devices. It then describes how surrogates can provide reasonable security and privacy guarantees to the mobile computers that use them. The lecture concludes with a discussion of d ta staging, in which surrogates temporarily store data in transit between cloud servers and mobile computers in order to improve transfer bandwidth and energy efficiency. Table of Contents: Introduction / Partitioning / Management / Security and Privacy / Data Staging / Challenges and Opportunities

[1]  Srinivasan Seshan,et al.  Wifi-Reports: Improving Wireless Network Selection with Collaboration , 2010, IEEE Transactions on Mobile Computing.

[2]  Fabrice Bellard,et al.  QEMU, a Fast and Portable Dynamic Translator , 2005, USENIX Annual Technical Conference, FREENIX Track.

[3]  Ju Wang,et al.  Windows Azure Storage: a highly available cloud storage service with strong consistency , 2011, SOSP.

[4]  Mahadev Satyanarayanan,et al.  Integrating Portable and Distributed Storage , 2004, FAST.

[5]  Jonathan Roughgarden,et al.  Rule of thumb , 1991, Behavioral and Brain Sciences.

[6]  Arun Venkataramani,et al.  Augmenting mobile 3G using WiFi , 2010, MobiSys '10.

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

[8]  Ramachandran Ramjee,et al.  Bartendr: a practical approach to energy-aware cellular data scheduling , 2010, MobiCom.

[9]  Michael K. Reiter,et al.  Bump in the Ether: A Framework for Securing Sensitive User Input , 2006, USENIX Annual Technical Conference, General Track.

[10]  Dennis Shasha,et al.  Secure Untrusted Data Repository (SUNDR) , 2004, OSDI.

[11]  Rahul Sukthankar,et al.  SLIPstream: scalable low-latency interactive perception on streaming data , 2009, NOSSDAV '09.

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

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

[14]  Mahadev Satyanarayanan,et al.  Disconnected operation in the Coda File System , 1992, TOCS.

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

[16]  Geoffrey H. Kuenning,et al.  Saving portable computer battery power through remote process execution , 1998, MOCO.

[17]  Ravi Jain,et al.  Evaluating location predictors with extensive Wi-Fi mobility data , 2004, INFOCOM.

[18]  Brian D. Noble,et al.  BreadCrumbs: forecasting mobile connectivity , 2008, MobiCom '08.

[19]  Fred B. Schneider,et al.  Implementing fault-tolerant services using the state machine approach: a tutorial , 1990, CSUR.

[20]  Mahadev Satyanarayanan,et al.  Internet suspend/resume , 2002, Proceedings Fourth IEEE Workshop on Mobile Computing Systems and Applications.

[21]  Amin Vahdat,et al.  ECOSystem: managing energy as a first class operating system resource , 2002, ASPLOS X.

[22]  Mahadev Satyanarayanan,et al.  Agile application-aware adaptation for mobility , 1997, SOSP.

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

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

[25]  Darrell D. E. Long,et al.  Design and Implementation of a Predictive File Prefetching Algorithm , 2001, USENIX Annual Technical Conference, General Track.

[26]  Jason Flinn,et al.  Can deterministic replay be an enabling tool for mobile computing? , 2011, HotMobile '11.

[27]  Jason Flinn,et al.  Self-Tuning Wireless Network Power Management , 2003, MobiCom '03.

[28]  Lei Yang,et al.  Accurate online power estimation and automatic battery behavior based power model generation for smartphones , 2010, 2010 IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[29]  Jason Flinn,et al.  Intentional networking: opportunistic exploitation of mobile network diversity , 2010, MobiCom.

[30]  Mahadev Satyanarayanan,et al.  Using history to improve mobile application adaptation , 2000, Proceedings Third IEEE Workshop on Mobile Computing Systems and Applications.

[31]  Marianne Shaw,et al.  Scale and performance in the Denali isolation kernel , 2002, OSDI '02.

[32]  Thomas L. Martin,et al.  Balancing batteries, power, and performance: system issues in cpu speed-setting for mobile computing , 1999 .

[33]  Mahadev Satyanarayanan,et al.  Managing battery lifetime with energy-aware adaptation , 2004, TOCS.

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

[35]  Monica S. Lam,et al.  Optimizing the migration of virtual computers , 2002, OPSR.

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

[37]  Andrew Warfield,et al.  Xen and the art of virtualization , 2003, SOSP '03.

[38]  David Garlan,et al.  User Guidance of Resource-Adaptive Systems , 2008, ICSOFT.

[39]  Stefan Berger,et al.  Trustworthy and personalized computing on public kiosks , 2008, MobiSys '08.

[40]  Cristian Ungureanu,et al.  Examining storage performance on mobile devices , 2011, MobiHeld '11.

[41]  Brandon Lucia,et al.  DMP: deterministic shared memory multiprocessing , 2009, IEEE Micro.

[42]  Miguel Castro,et al.  BASE: Using abstraction to improve fault tolerance , 2003, TOCS.

[43]  Landon P. Cox,et al.  TightLip: Keeping Applications from Spilling the Beans , 2007, NSDI.

[44]  Azarias Reda,et al.  Distributing private data in challenged network environments , 2010, WWW '10.

[45]  David A. Patterson,et al.  Rewind, repair, replay: three R's to dependability , 2002, EW 10.

[46]  Byung-Gon Chun,et al.  TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones , 2010, OSDI.

[47]  Mahadev Satyanarayanan,et al.  Operating system support for mobile interactive applications , 2002 .

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

[49]  Miguel Castro,et al.  Using abstraction to improve fault tolerance , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

[50]  Miguel Castro,et al.  BASE: using abstraction to improve fault tolerance , 2001, SOSP.

[51]  Christopher Rose,et al.  Infostations: New Perspectives on Wireless Data Networks , 2002 .

[52]  Zygmunt J. Haas,et al.  Predictive distance-based mobility management for multidimensional PCS networks , 2003, TNET.

[53]  Sajal K. Das,et al.  LeZi-update: an information-theoretic approach to track mobile users in PCS networks , 1999, MobiCom.

[54]  Liviu Iftode,et al.  Leveraging smart phones to reduce mobility footprints , 2009, MobiSys '09.

[55]  Sachin Katti,et al.  MARS: adaptive remote execution for multi-threaded mobile devices , 2011, MobiHeld '11.

[56]  George Candea,et al.  Microreboot - A Technique for Cheap Recovery , 2004, OSDI.

[57]  Randal C. Burns,et al.  Group-based management of distributed file caches , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[58]  Brian D. Noble,et al.  Proceedings of the 5th Symposium on Operating Systems Design and Implementation Pastiche: Making Backup Cheap and Easy , 2022 .

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

[60]  William G. Griswold,et al.  Challenge: ubiquitous location-aware computing and the "place lab" initiative , 2003, WMASH '03.

[61]  Ralf D. Brown,et al.  The Pangloss-Lite machine translation system , 1996, AMTA.

[62]  Ian F. Akyildiz,et al.  The predictive user mobility profile framework for wireless multimedia networks , 2004, IEEE/ACM Transactions on Networking.

[63]  David A. Nichols,et al.  Using idle workstations in a shared computing environment , 1987, SOSP '87.

[64]  Geoffrey H. Kuenning,et al.  Automated hoarding for mobile computers , 1997, SOSP.

[65]  Jason Flinn,et al.  Informed mobile prefetching , 2012, MobiSys '12.

[66]  Ramesh K. Sitaraman,et al.  The Akamai network: a platform for high-performance internet applications , 2010, OPSR.

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

[68]  Jason Nieh,et al.  pTHINC: a thin-client architecture for mobile wireless web , 2006, WWW '06.

[69]  Brian D. Noble,et al.  Mobile network estimation , 2001, MobiCom '01.

[70]  D.J. Goodman,et al.  INFOSTATIONS: a new system model for data and messaging services , 1997, 1997 IEEE 47th Vehicular Technology Conference. Technology in Motion.

[71]  Yuanyuan Zhou,et al.  Designing and Implementing Malicious Hardware , 2008, LEET.

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

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

[74]  Konstantina Papagiannaki,et al.  Catnap: exploiting high bandwidth wireless interfaces to save energy for mobile devices , 2010, MobiSys '10.

[75]  Herbert Bos,et al.  Paranoid Android: versatile protection for smartphones , 2010, ACSAC '10.