skip to main content
research-article

The Design, Implementation, and Evaluation of Cells: A Virtual Smartphone Architecture

Published:01 August 2012Publication History
Skip Abstract Section

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.

References

  1. Asterisk. 2011. http://www.asterisk.org.Google ScholarGoogle Scholar
  2. Barr, K., Bungale, P., Deasy, S., Gyuris, V., Hung, P., Newell, C., Tuch, H., and Zoppis, B. 2010. The VMware mobile virtualization platform: Is that a hypervisor in your pocket? ACM SIGOPS Oper. Syst. Rev. 44, 124--135. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bhattiprolu, S., Biederman, E. W., Hallyn, S., and Lezcano, D. 2008. Virtual servers and checkpoint/restart in mainstream linux. ACM SIGOPS Oper. Syst. Rev. 42, 104--113. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. CNN. 2011. Industry First: Smartphones Pass PCs in Sales. http://tech.fortune.cnn.com/2011/02/07/idc-smartphone-shipment-numbers-passed-pc-in-q4-2010.Google ScholarGoogle Scholar
  5. Dall, C. and Nieh, J. 2010. KVM for ARM. In Proceedings of the Ottawa Linux Symposium.Google ScholarGoogle Scholar
  6. Dowty, M. and Sugerman, J. 2009. GPU virtualization on VMware’s hosted I/O architecture. ACM SIGOPS Oper. Syst. Rev. 43, 73--82. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Enterproid. 2011. Enterproid, Inc. http://www.enterproid.com.Google ScholarGoogle Scholar
  8. Google. 2011a. Nexus One - Google phone gallery. http://www.google.com/phone/detail/nexus-one.Google ScholarGoogle Scholar
  9. Google. 2011b. Nexus S - Google phone gallery. http://www.google.com/phone/detail/nexus-s.Google ScholarGoogle Scholar
  10. Google. 2011c. Google voice. http://www.google.com/googlevoice/about.html.Google ScholarGoogle Scholar
  11. HFS. 2011. HFS ∼ HTTP file server. http://www.rejetto.com/hfs/.Google ScholarGoogle Scholar
  12. Hills, M. Android on OKL4. http://www.ertos.nicta.com.au/software/androidokl4/.Google ScholarGoogle Scholar
  13. Hwang, J., Suh, S., Heo, S., Park, C., Ryu, J., Park, S., and Kim, C. 2008. Xen on ARM: System virtualization using xen hypervisor for ARM-based secure mobile phones. In Proceedings of the 5th Consumer Communications and Newtork Conference.Google ScholarGoogle Scholar
  14. Imagination Technologies Ltd. 2011. PowerVR Series 5 SGX Architecture Guide for Developers.Google ScholarGoogle Scholar
  15. Khronos Group. 2011. OpenGL extensions -- OpenGL.org. http://www.opengl.org/wiki/OpenGL_Extensions.Google ScholarGoogle Scholar
  16. Kolyshkin, K. 2011. Recent advances in the Linux kernel resource management. http://www.cse.wustl.edu/~lu/control-tutorials/im09/slides/virtualization.pdf.Google ScholarGoogle Scholar
  17. Laadan, O., Baratto, R., Phung, D., Potter, S., and Nieh, J. 2007. DejaView: A personal virtual computer recorder. In Proceedings of the 21st Symposium on Operating Systems Principles. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Liu, J., Huang, W., Abali, B., and Panda, D. K. 2006. High performance VMM-bypass I/O in virtual machines. In Proceedings of the USENIX Annual Technical Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Microsoft. 2011. About the wireless hosted network. http://msdn.microsoft.com/en-us/library/dd815243(v=vs.85).aspx.Google ScholarGoogle Scholar
  20. Mobile Systems. 2011. Office Suite Pro (Trial) -- Android Market. https://market.android.com/details?id=com.mobisystems.editor.office_with_reg.Google ScholarGoogle Scholar
  21. NVIDIA Corporation. 2011. NVIDIA SLI MultiOS. http://www.nvidia.com/object/sli_multi_os.html.Google ScholarGoogle Scholar
  22. Okajima, J. R. 2011. AUFS. http://aufs.sourceforge.net/aufs2/man.html.Google ScholarGoogle Scholar
  23. Open Kernel Labs. 2011. OKL4 Microvisor. http://www.ok-labs.com/products/okl4-microvisor.Google ScholarGoogle Scholar
  24. Osman, S., Subhraveti, D., Su, G., and Nieh, J. 2002. The design and implementation of zap: A system for migrating computing environments. In Proceedings of the 5th Symposium on Operating Systems Design and Implementation. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. polarbit. 2011. Reckless Racing -- Android market. https://market.android.com/details?id=com.polarbit.RecklessRacing.Google ScholarGoogle Scholar
  26. Red Bend Software. 2011. VLX mobile virtualization. http://www.redbend.com.Google ScholarGoogle Scholar
  27. Rovio Mobile Ltd. 2011. Angry birds -- Android market. https://market.android.com/details?id=com.rovio.angrybirds.Google ScholarGoogle Scholar
  28. Su, G. 2004. MOVE: Mobility with persistent network connections. Ph.D. thesis, Columbia University. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Sugerman, J., Venkitachalam, G., and Lim, B. 2001. Virtualizing I/O devices on VMware workstation’s hosted virtual machine monitor. In Proceedings of the USENIX Annual Technical Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. VMware, Inc. 2011. VMware workstation. http://www.vmware.com/products/workstation/.Google ScholarGoogle Scholar
  31. Waldspurger, C. A. 2002. Memory resource management in VMware ESX server. In Proceedings of the 5th Symposium on Operating Systems Design and Implementation. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. WorkLight, Inc. 2011. WorkLight mobile platform. http://www.worklight.com.Google ScholarGoogle Scholar
  33. Wright, C. P., Dave, J., Gupta, P., Krishnan, H., Quigley, D. P., Zadok, E., and Zubair, M. N. 2006. Versatility and unix semantics in namespace unification. ACM Trans. Storage 2, 74--105. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Wysocki, R. J. 2011a. An alternative to suspend blockers. http://lwn.net/Articles/416690/.Google ScholarGoogle Scholar
  35. Wysocki, R. J. 2011b. Technical background of the android suspend blockers controversy. http://lwn.net/images/pdf/suspend_blockers.pdf.Google ScholarGoogle Scholar
  36. Xen Project. 2011. Architecture for split drivers within xen. http://wiki.xensource.com/xenwiki/XenSplitDrivers.Google ScholarGoogle Scholar
  37. ZDNet. 2011. Stolen apps that root android, steal data and open backdoors available for download from google market. google market. http://zd.net/gGUhOo.Google ScholarGoogle Scholar

Index Terms

  1. The Design, Implementation, and Evaluation of Cells: A Virtual Smartphone Architecture

                  Recommendations

                  Comments

                  Login options

                  Check if you have access through your login credentials or your institution to get full access on this article.

                  Sign in

                  Full Access

                  • Published in

                    cover image ACM Transactions on Computer Systems
                    ACM Transactions on Computer Systems  Volume 30, Issue 3
                    August 2012
                    97 pages
                    ISSN:0734-2071
                    EISSN:1557-7333
                    DOI:10.1145/2324876
                    Issue’s Table of Contents

                    Copyright © 2012 ACM

                    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                    Publisher

                    Association for Computing Machinery

                    New York, NY, United States

                    Publication History

                    • Published: 1 August 2012
                    • Accepted: 1 June 2012
                    • Received: 1 May 2012
                    Published in tocs Volume 30, Issue 3

                    Permissions

                    Request permissions about this article.

                    Request Permissions

                    Check for updates

                    Qualifiers

                    • research-article
                    • Research
                    • Refereed

                  PDF Format

                  View or Download as a PDF file.

                  PDF

                  eReader

                  View online with eReader.

                  eReader