CELLS A Virtual Mobile Smartphone Architecture



Similar documents
The Case for Device Namespaces

Architecture (SOSP 2011) 11/11/2011 Minsung Jang

AppScope: Application Energy Metering Framework for Android Smartphones using Kernel Activity Monitoring

ANDROID OPERATING SYSTEM

Introduction to Android

Android Operating System

COS 318: Operating Systems. Virtual Machine Monitors

Mobile Phones Operating Systems

Introduction to Android

Remote Desktop on Mobile

Development. SriSeshaa Technologies. Table of Contents

Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University

Skype for Business for Android

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

Virtual Hosting & Virtual Machines

Android Architecture. Alexandra Harrison & Jake Saxton

GROUPTALK FOR ANDROID VERSION for Android

Android Basics. Xin Yang

Getting Started on the PC and MAC

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

INTERMEDIATE ANDROID DEVELOPMENT Course Syllabus

Android Virtualization from Sierraware. Simply Secure

UC-One. Epik. UC-One Quick Guide. Quick Guide For Apps. Why we love UC-One

MOVEIRO BT-200 Technical Information for Application Developer

1. Smart phone requirements. Hardware / Operating System OS - Android 2.3/4.0/4.1 CPU RAM. Network. Video Codec - H.264 Recommended Smart Phones

8x8 Virtual Office Mobile User Guide for Android

The Xen of Virtualization

Intermedia Cloud Softphone. User Guide

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

VoIP support on Qtopia. Vladimir Minenko, Ph.D.

REDCENTRIC UNITY SOFTWARE MINIMUM REQUIREMENTS

Systems Manager Cloud Based Mobile Device Management

Android Operating System:

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

Full and Para Virtualization

Multi-core Programming System Overview

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

WIND RIVER SECURE ANDROID CAPABILITY

WEARIT DEVELOPER DOCUMENTATION 0.2 preliminary release July 20 th, 2013

A Look through the Android Stack

FREE VOICE CALLING IN WIFI CAMPUS NETWORK USING ANDROID

Connecting your Aiki phone to a network

Scholastic Education Technology Programs

Do Containers fully 'contain' security issues? A closer look at Docker and Warden. By Farshad Abasi,

Thingsquare Technology

WorkTime UC Mobile Admin Guide

Empowering Developers to Estimate App Energy Consumption. Radhika Mittal, UC Berkeley Aman Kansal & Ranveer Chandra, Microsoft Research

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Mobile Cloud Computing for Data-Intensive Applications

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

[PACKTl. Flash Development for Android Cookbook. Flash, Flex, and AIR. Joseph Labrecque. Over 90 recipes to build exciting Android applications with

Here to take you beyond Mobile Application development using Android Course details

ITG Software Engineering

Hyper-V vs ESX at the datacenter

Next Gen Platform: Team & Mentor Guide

Berlin Institute of Technology FG Security in Telecommunications

CSE597a - Cell Phone OS Security. Cellphone Hardware. William Enck Prof. Patrick McDaniel

Quick Start Guide: Iridium GO! Advanced Portal

Technology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Eleventh Edition. Copyright 2015 Pearson Education, Inc.

STeP-IN SUMMIT June 2014 at Bangalore, Hyderabad, Pune - INDIA. Mobile Performance Testing

A Review OnEmployee Monitoring Application Using Android Smartphone s Neha S. Mankar 1, Sweeti M. Shambharkar 2 and Asst. Prof. Priti P.

Chapter 14 Virtual Machines

Kaspersky Security 10 for Mobile Implementation Guide

Digital telephony. Softphone Getting Started Guide. Business Edition TEL-GDA-AFF

User Guide. Memo S580.

Lync TM Phone User Guide Polycom CX600 IP Phone

BroadTouch Business Communicator for Desktop

Honor T1 8.0 FAQ. Issue 01. Date 06/30

QUIRE: : Lightweight Provenance for Smart Phone Operating Systems

AirBag: Boosting Smartphone Resistance to Malware Infection

Introduction to the NI Real-Time Hypervisor

CS378 -Mobile Computing. Android Overview and Android Development Environment

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

HUAWEI MediaPad T1 8.0 FAQ HUAWEI TECHNOLOGIES CO., LTD. Issue 01. Date 06/30

Setting up for Adobe Connect meetings

WE VoIP User Guide For OfficeServ 7000 Series

Cid Santos Luis Matos. Introduction to AllJoyn

Mobile App Proposal Magazine company- @address.com. January 12, y. Direct Contact.

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application

Virtualization Technologies (ENCS 691K Chapter 3)

Mobile application testing is a process by which application software developed for hand held mobile devices is tested for its functionality,

VMware/Hyper-V Backup Plug-in User Guide

Virtualization in Linux

Mentor Embedded IVI Solutions

Kaspersky Security for Mobile Administrator's Guide

Cloudvue Remote Desktop Client GUI User Guide

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:

Performance Measuring in Smartphones Using MOSES Algorithm

FMC VoIP. User Manual. OfficeServ 7000

Virtualization. Dr. Yingwu Zhu

BroadTouch Business Communicator

USER AND INSTALLATION MANUAL

SierraVMI Sizing Guide

Transcription:

CELLS A Virtual Mobile Smartphone Architecture Jeremy Andrus, Christoffer Dall, Alexander Van t Hof, Oren Laadan, Jason Nieh Columbia University 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011

Outline: Introduction Usage Model System Architecture Graphics Power Management Telephony Networking Experimental Results Conclusion Limitations

Introduction: Platform shifting from computers to smartphones Need of Virtualizing smartphones CELLS: lightweight virtualization architecture Work phone Personal phone

Basic Approach1: Server virtualization Bare-Metal Hypervisor OKL4 Microvisor Red Bend VLX Disadvantages: Single VP access No Simultaneous access Poor support

Basic Approach2: Desktop virtualization Hosted Hypervisor Host Kernel VMware MVP Disadvantages: Emulation overhead Multiple Kernels

Challenges: Device diversity: Cell Radio, GPU, Framebuffer, Binder IPC, Touchscreen, Accelerometer, pmem, Compass, Microphone, Headset, Power, Buttons, GPS, h.264 accel.,speakers, Camera(s). Mobile usage model Graphics- accelerated UI

Usage Model: CELLS Isolated virtual phones Foreground/Background model Switching of virtual phones Virtual phone creation deletion Virtual phone access rights No access VP no access to the GPS sensor Shared access Foreground VP with shared access to audio device allows Background VP to play music Exclusive access Secure VPs

Architecture: Lightweight OS virtualization for virtual phones isolation Single OS kernel Virtualizes identifiers, kernel interfaces and hardware resources Transparently remapping OS resource identifiers to virtual ones

Kernel-Level Device Virtualization: Device namespaces Hardware resource multiplexing and isolation Virtualize process identifiers Call back functions 3 methods I. Device driver wrapper II. III. Modify device sub system Event handlers Modify Device driver to be aware of name spaces

User-Level Device Virtualization: Name space proxy mechanisms Proprietary/entirely closed source Virtualize device configuration Kernel device namespaces export an interface to the root namespace through the /proc filesystem that is used to switch the foreground VP and set access permissions for devices. CellD also coordinates user space virtualization mechanisms such as the configuration of telephony and wireless networking

Graphics: Existed Approaches: 1. Single assignment 2. Emulated hardware Proposed approach: Mux_fb driver Independent Graphics context

Power Management: Frame buffer early suspend: Fbearlysuspend driver exportsts display device suspend and resume state into user space. Block all processes using display while display powered off/ redraws screen when powered on. Wake locks: Two states Active- locked Inactive- unlocked Created at compile time by kernel drivers or user space

Telephony: Radio stack virtualization RIL proxy CELLS own proxy RIL library by RILD RIL library + CELLD=RIL proxy Multiple phone numbers Pairing cells with VOIP service Single digit scheme Asterisk server

Networking: IEEE 802.11 wireless LAN Virtualization of core network resource Unique wireless configuration management virtualization User level device namespace proxy RIL libraries CELLD

Experimental Results: Setup Devices: I. Google Nexus 1 Qualcomm 1 GHz QSD8250, Adreno 200 GPU,512 MB RAM II. Google Nexus S Samsung Hummingbird 1 GHzCortex A8, PowerVR GPU, 512 MB RAM Android Platform(any version) Five virtual phones

Experimental Results: Setup Benchmarks Used: I. Linpack - CPU II. Neocore - Graphics III. Quadrant - Storage IV. Sun Spider - Web browsing V. Custom WiFi Test - Networking

Results:

Results:

Conclusion: First complete OS virtualization for mobile devices. Device namespaces + Foreground/Background = Complete virtualization Less overhead No visible performance variation for benchmark configurations

Limitations: Service cost. No hardware virtualization support. Finding notifications from Background virtual phones while other virtual phone is on foreground.