The Design, Implementation, and Evaluation of Cells

Abstract

Smartphones are increasingly ubiquitous, and many users carry multiple phones to accommodate work, personal, and geographic mobility needs. We present Cells , a virtualization architecture for enabling multiple virtual smartphones to run simultaneously on the same physical cellphone in an isolated, secure manner. Cells introduces a usage model of having one foreground virtual phone and multiple background virtual phones. This model enables a new device namespace mechanism and novel device proxies that integrate with lightweight operating system virtualization to multiplex phone hardware across multiple virtual phones while providing native hardware device performance. Cells virtual phone features include fully accelerated 3D graphics, complete power management features, and full telephony functionality with separately assignable telephone numbers and caller ID support. We have implemented a prototype of Cells that supports multiple Android virtual phones on the same phone. Our performance results demonstrate that Cells imposes only modest runtime and memory overhead, works seamlessly across multiple hardware devices including Google Nexus 1 and Nexus S phones, and transparently runs Android applications at native speed without any modifications.

Document Details

Document Type
Pub Defense Publication
Publication Date
Aug 01, 2012
Source ID
10.1145/2324876.2324877

Entities

People

  • Alexander Van't Hof
  • Christoffer Dall
  • Jason Nieh
  • Jeremy Andrus
  • Oren Laadan

Organizations

  • Air Force Office of Scientific Research
  • Columbia University
  • Division of Computer and Network Systems

Tags

Fields of Study

  • Computer science

Readers

  • Agent-Based Social Robotics and Mobile-Assisted Learning in Virtual Environments.
  • Database Systems and Applications
  • Parallel and Distributed Computing.