Virtualizing Smartphone Applications to the Cloud

Smartphone technologies have enabled sophisticated pervasive applications for mobile users. Still, many intensive applications perform poorly on smartphones due to the shortage of resources for computation, data storage, network bandwidth, and battery capacity. While such applications can be re-designed with client-server models to benefit from subscribed cloud services, the users are no longer in full control of the entire application execution, which has raised a serious concern. Meanwhile, privacy and security are also important issues, and it is an ongoing debate if public cloud services could be trusted with sensitive data. For mobile users to take full advantage of cloud services, these issues need to be resolved. In this paper, we propose an innovative framework for mobile users to execute existing Android applications on a personal virtual phone safely in the cloud. Instead of using a client-server model, the entire virtual phone is mostly controlled by the user to minimize the intervention from the service provider. Virtualization and encryption are employed to protect against eavesdropping from cloud providers and network attackers. To quickly migrate an Android application between the physical phone and the virtual phone, we use a new application-level checkpointing mechanism and minimize the state of the application.

[1]  Randy H. Katz,et al.  Above the Clouds: A Berkeley View of Cloud Computing , 2009 .

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

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

[4]  Rüdiger Schollmeier,et al.  A definition of peer-to-peer networking for the classification of peer-to-peer architectures and applications , 2001, Proceedings First International Conference on Peer-to-Peer Computing.

[5]  Alessandro Acquisti,et al.  Imagined Communities: Awareness, Information Sharing, and Privacy on the Facebook , 2006, Privacy Enhancing Technologies.

[6]  Jason Nieh,et al.  Proceedings of the 5th Symposium on Operating Systems Design and Implementation , 2022 .

[7]  Fabrice Bellard,et al.  QEMU, a Fast and Portable Dynamic Translator , 2005, USENIX ATC, FREENIX Track.

[8]  Nicolai Kuntze,et al.  On the Deployment of Mobile Trusted Modules , 2007, 2008 IEEE Wireless Communications and Networking Conference.

[9]  Mahadev Satyanarayanan,et al.  Pervasive Personal Computing in an Internet Suspend/Resume System , 2007, IEEE Internet Computing.

[10]  Cheng Wang,et al.  LIFT: A Low-Overhead Practical Information Flow Tracking System for Detecting Security Attacks , 2006, 2006 39th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'06).

[11]  Roger Riggs,et al.  Pickling State in the Java System , 1996, Comput. Syst..

[12]  David A. Basin,et al.  Securing the Distribution and Storage of Secrets with Trusted Platform Modules , 2007, WISTP.

[13]  Tal Garfinkel,et al.  When Virtual Is Harder than Real: Security Challenges in Virtual Machine Based Computing Environments , 2005, HotOS.

[14]  Stefan Berger,et al.  vTPM: Virtualizing the Trusted Platform Module , 2006, USENIX Security Symposium.

[15]  David Zhang,et al.  Secure program execution via dynamic information flow tracking , 2004, ASPLOS XI.

[16]  Jason Flinn,et al.  Virtualized in-cloud security services for mobile devices , 2008, MobiVirt '08.

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

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

[19]  Andrew Warfield,et al.  Live migration of virtual machines , 2005, NSDI.

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