Cells: a Virtual Mobile Smartphone Architecture

Cells: a Virtual Mobile Smartphone Architecture

Cells: A Virtual Mobile Smartphone Architecture Jeremy Andrus, Christoffer Dall, Alexander Van’t Hof, Oren Laadan, and Jason Nieh {jeremya, cdall, alexvh, orenl, nieh}@cs.columbia.edu Department of Computer Science Columbia University ABSTRACT Keywords Smartphones are increasingly ubiquitous, and many users Android, Smartphones, Virtualization carry multiple phones to accommodate work, personal, and geographic mobility needs. We present Cells, a virtualiza- tion architecture for enabling multiple virtual smartphones 1. INTRODUCTION to run simultaneously on the same physical cellphone in an The preferred platform for a user's everyday computing needs isolated, secure manner. Cells introduces a usage model is shifting from traditional desktop and laptop computers of having one foreground virtual phone and multiple back- toward mobile smartphone and tablet devices [4]. Smart- ground virtual phones. This model enables a new device phones are becoming an increasingly important work tool namespace mechanism and novel device proxies that inte- for professionals who rely on them for telephone, text mes- grate with lightweight operating system virtualization to saging, email, Web browsing, contact and calendar manage- multiplex phone hardware across multiple virtual phones ment, news, and location-specific information. These same while providing native hardware device performance. Cells functions as well as the ability to play music, movies, and virtual phone features include fully accelerated 3D graphics, games also make smartphones a useful personal tool. In fact, complete power management features, and full telephony hundreds of thousands of smartphone applications are avail- functionality with separately assignable telephone numbers able for users to download and try through various online and caller ID support. We have implemented a prototype application stores. The ease of downloading new software of Cells that supports multiple Android virtual phones on imposes a risk on users as malicious software can easily ac- the same phone. Our performance results demonstrate that cess sensitive data with the risk of corrupting it or even Cells imposes only modest runtime and memory overhead, leaking it to third parties [35]. For this reason, smartphones works seamlessly across multiple hardware devices including given to employees for work use are often locked down re- Google Nexus 1 and Nexus S phones, and transparently runs sulting in many users having to carry separate work and per- Android applications at native speed without any modifica- sonal phones. Application developers also carry additional tions. phones for development to avoid having a misbehaving ap- plication prototype corrupt their primary phone. Parents Categories and Subject Descriptors sometimes wish they had additional phones when their chil- C.0 [Computer Systems Organization]: General{ dren use the parent's smartphone for entertainment and end System architectures; D.4.6 [Operating Systems]: Secu- up with unexpected charges due to accidental phone calls or rity and Protection; D.4.7 [Operating Systems]: Orga- unintended in-app purchases. nization and Design; D.4.8 [Operating Systems]: Per- formance; H.5.2 [Information Interfaces and Pre- Virtual machine (VM) mechanisms have been proposed that sentation]: User Interfaces{User-centered design; I.3.4 enable two separate and isolated instances of a smartphone [Computer Graphics]: Graphics Utilities{Virtual device software stack to run on the same ARM hardware [2, 5, 13, interfaces 22]. These approaches require substantial modifications to both user and kernel levels of the software stack. Paravir- tualization is used in all cases since ARM is not virtual- General Terms izable and proposed ARM virtualization extensions are not Design, Experimentation, Measurement, Performance, Se- yet available in hardware. While VMs are useful for desktop curity and server computers, applying these hardware virtualiza- tion techniques to smartphones has two crucial drawbacks. First, smartphones are more resource constrained, and run- ning an entire additional operating system (OS) and user space environment in a VM imposes high overhead and lim- its the number of instances that can run. Slow system re- sponsiveness is less acceptable on a smartphone than on a desktop computer since smartphones are often used for just a few minutes or even seconds at a time. Second, smart- phones incorporate a plethora of devices that applications expect to be able to use, such as GPS, cameras, and GPUs. 173 Existing approaches provide no effective mechanism to en- native performance including GPUs, sensors, cameras, and able applications to directly leverage these hardware device touchscreens, and transparently runs all Android applica- features from within VMs, severely limiting the overall sys- tions in VPs without any modifications. tem performance and making existing approaches unusable on a smartphone. We present the design and implementation of Cells. Sec- tion 2 describes the Cells usage model. Section 3 provides We present Cells, a new, lightweight virtualization architec- an overview of the system architecture. Sections 4 and 5 ture for enabling multiple virtual phones (VPs) to run si- describe graphics and power management virtualization, re- multaneously on the same smartphone hardware with high spectively, using kernel device namespaces. Sections 6 and performance. Cells does not require running multiple OS 7 describe telephony and wireless network virtualization, re- instances. It uses lightweight OS virtualization to provide spectively, using user-level device namespaces. Section 8 virtual namespaces that can run multiple VPs on a single presents experimental results. Section 9 discusses related OS instance. Cells isolates VPs from one another, and en- work. Finally, we present some concluding remarks. sures that buggy or malicious applications running in one VP cannot adversely impact other VPs. Cells provides a 2. USAGE MODEL novel file system layout based on unioning to maximize shar- Cells runs multiple VPs on a single hardware phone. Each ing of common read-only code and data across VPs, mini- VP runs a standard Android environment capable of making mizing memory consumption and enabling additional VPs phone calls, running unmodified Android applications, using to be instantiated without much overhead. data connections, interacting through the touch screen, uti- lizing the accelerometer, and everything else that a user can Cells takes advantage of the small display form factors of normally do on the hardware. Each VP is completely iso- smartphones, which display only a single application at a lated from other VPs and cannot inspect, tamper with, or time, and introduces a usage model having one foreground otherwise access any other VP. VP that is displayed and multiple background VPs that are not displayed at any given time. This simple yet powerful Given the limited size of smartphone screens and the ways model enables Cells to provide novel kernel-level and user- in which smartphones are used, Cells only allows a single level device namespace mechanisms to efficiently multiplex VP, the foreground VP, to be displayed at any time. We hardware devices across multiple VPs, including proprietary refer to all other VPs that are running but not displayed as, or opaque hardware such as the baseband processor, while background VPs. Background VPs are still running on the maintaining native hardware performance. The foreground system in the background and are capable of receiving sys- VP is always given direct access to hardware devices. Back- tem events and performing tasks, but do not render content ground VPs are given shared access to hardware devices on the screen. A user can easily switch among VPs by se- when the foreground VP does not require exclusive access. lecting one of the background VPs to become the foreground Visible applications are always running in the foreground VP one. This can be done using a custom key-combination to and those applications can take full advantage of any avail- cycle through the set of running VPs, or by swiping up and able hardware feature, such as hardware-accelerated graph- down on the home screen of a VP. Each VP also has an ics. Since foreground applications have direct access to hard- application that can be launched to see a list of available ware, they perform as fast as when they are running natively. VPs, and to switch any of these to the foreground. The system can force a new VP to become the foreground VP Cells uses a VoIP service to provide individual telephone as a result of an event, such as an incoming call or text numbers for each VP without the need for multiple SIM message. For security and convenience reasons, a no-auto- cards. Incoming and outgoing calls use the cellular network, switch can be set to prevent background VPs from being not VoIP, and are routed through the VoIP service as needed switched to the foreground without explicit user action, pre- to provide both incoming and outgoing caller ID function- venting background VPs from stealing input focus or device ality for each VP. Cells uses this combination of a VoIP data. An auto-lock can be enabled forcing a user to unlock server and the cellular network to allow users to make and a VP using a passcode or gesture when it transitions from receive calls using their standard cell phone service, while background to foreground. Section 3 discusses how the fore- maintaining per-VP phone number and caller ID features. ground-background usage model is fundamental to the Cells virtualization architecture. We have implemented a Cells prototype that supports mul- tiple virtual Android phones on the same mobile device. VPs are created and configured on a PC and downloaded to Each VP can be configured the same or completely differ- a phone via USB. A VP can be deleted by the user, but its ent from other VPs. The prototype has been tested to work configuration is password protected and can only be changed with multiple versions of Android, including the most re- from a PC given the appropriate credentials. For example, a cent open-source version, version 2.3.4.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    15 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us