Sangeun Oh, Hyuck Yoo, Dae R. Jeong, Duc Hoang Bui, and Insik Shin

Slides:



Advertisements
Similar presentations
Sophos Mobile Control SophSkills Session Name: Thomas Lippert – Product Management DPG Date: 17-Feb-2011.
Advertisements

Consistency and Replication Chapter 7 Part II Replica Management & Consistency Protocols.
Remote Procedure Call Design issues Implementation RPC programming
Tam Vu Remote Procedure Call CISC 879 – Spring 03 Tam Vu March 06, 03.
USER LEVEL INTERPROCESS COMMUNICATION FOR SHARED MEMORY MULTIPROCESSORS Presented by Elakkiya Pandian CS 533 OPERATING SYSTEMS – SPRING 2011 Brian N. Bershad.
Outcomes What is RPC? The difference between conventional procedure call and RPC? Understand the function of client and server stubs How many steps could.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
Dreams in a Nutshell Steven Sommer Microsoft Research Institute Department of Computing Macquarie University.
Home Control Protocol for Smart Devices Hojin Park WG!-N1505.
University of Central Florida TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones Written by Enck, Gilbert,
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
 Remote Procedure Call (RPC) is a high-level model for client-sever communication.  It provides the programmers with a familiar mechanism for building.
Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy. Presented by: Tim Fleck.
The Mach System Silberschatz et al Presented By Anjana Venkat.
Operating-System Structures
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Brian Bershad, Thomas Anderson, Edward Lazowska, and Henry Levy Presented by: Byron Marohn Published: 1991.
VMM Based Rootkit Detection on Android
Data-Centric Systems Lab. A Virtual Cloud Computing Provider for Mobile Devices Gonzalo Huerta-Canepa presenter 김영진.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
DeepDroid Dynamically Enforcing Enterprise Policy Manwoong (Andy) Choi
Submitted By: Tarun Tyagi Website- - Enable USB Debugging.
Computer System Structures
6. Application Server Issues for the Project
Prof. Jong-Moon Chung’s Lecture Notes at Yonsei University
Becoming a Pro IN Mobile Applications Testing
Efficient Software-Based Fault Isolation
Kernel Design & Implementation
University of Maryland College Park
Boxify: Full-fledged App Sandboxing for Stock Android
Top 10 Strategic Technology Trends for 2013
Credits: 3 CIE: 50 Marks SEE:100 Marks Lab: Embedded and IOT Lab
LWIP TCP/IP Stack 김백규.
Architecture of Android
Regulating ARM TrustZone Devices in Restricted Spaces
Chapter 2: System Structures
Operating System Structure
Understanding and Defending Binder Attack Surface in Android
Binder Attack Surface in Android
INTER-PROCESS COMMUNICATION
TYPES OFF OPERATING SYSTEM
#01 Client/Server Computing
Chapter 3: Windows7 Part 4.
Mobile Payment Protocol 3D by Using Cloud Messaging
Advanced IoT Mobile App Development Company
Address Translation for Manycore Systems
Background Energy efficiency is a critical issue for mobile device.
Outline Midterm results summary Distributed file systems – continued
Lesson 8 Operating Systems
Top 10 Strategic Technology Trends for 2013
Today: Coda, xFS Case Study: Coda File System
Cloud Security 李芮,蒋希坤,崔男 2018年4月.
By Brian N. Bershad, Thomas E. Anderson, Edward D
Remote Procedure Call (RPC) Neil Tang 11/26/2008
Protocols and combining networks
Chapter 17: Client/Server Computing
Multithreaded Programming
Presented by: SHILPI AGARWAL
Introduction to Computing
Operating Systems Tasks 04/04/2019.
CS533 Concepts of Operating Systems Class 13
Outline Review of Quiz #1 Distributed File Systems 4/20/2019 COP5611.
Software - Operating Systems
Operating Systems Structure
Lecture 7: RPC (exercises/questions)
Light-Weight Process (Threads)
Operating Systems Tasks 05/08/2019.
Parallel I/O for Distributed Applications (MPI-Conn-IO)
#01 Client/Server Computing
Presentation transcript:

Mobile Plus: Multi-device Mobile Platform for Cross-device Functionality Sharing Sangeun Oh, Hyuck Yoo, Dae R. Jeong, Duc Hoang Bui, and Insik Shin School of Computing, KAIST Daejeon, Republic of Korea

Recent Mobile Trends 1. Multiple devices owned by users 2. Various functionalities from devices System func: sensor, camera APP func: 支付宝,社交软件,login, payment Average 3.64 devices per person System func、APP func

Potential for Multi-device Usage Q. What if devices can share their functionalities each other? “Many opportunities to provide new UX!”

User Cases 1: Remote Sensor

User Cases 2: Secure Login

Existing Solutions: System-level Develop cross-device platforms enabling unmodified apps to use functionalities of other devices Focus on utilizing system functionalities related to I/O resources e.g., Rio [Mobisys’14], Flux [Eurosys’15], remote file systems, etc. Limitation Not supporting app functionalities (e.g., login, payment, etc.) and non-I/O system functionalities (e.g., clipboard, notification, etc.)

Our Goal Design a multi-device mobile platform that Enables 1) unmodified legacy applications to share 2) a broad range of functionalities across devices

Background: RPC Scheme Designed to allow apps (processes) to share their functionalities using Remote Procedure Call (RPC) RPC: 远程过程调用

Background: Binder IPC Internally utilizes Binder Inter-Process Communication (IPC) to transfer RPC messages (called parcels) Client APP Within-device RPC Server APP User Space Parcel 1、Forwarding a parcel for RPC function call 2、Executing the corresponding RPC function Kernel Space Binder Channel Binder IPC Driver

System Design Extend the existing RPC scheme to multi-device environments

RPC function execution Problems P1. The extension of the Binder IPC P2. Support for RPC function execution Client Device Server Device RPC function execution Client APP Server APP Network Binder IPC Driver Binder IPC Driver

P1. The extension of the Binder IPC Binder IPC interception point 2 Binder channels + 1 Network channel

P2. Support for RPC function execution Binder IPC extension cannot guarantee successful execution of RPC functions RPC functions may fail due to 1) Invalid RPC arguments 2) Not maintaining some execution context 3) Not acquiring metadata about counterpart apps Server Device RPC function execution Server APP Binder IPC Driver

Cross-device Argument Passing Detect reference-type arguments Copy the corresponding resources to other device Change original arguments to new values Client Device FD = 7 Client APP FD = 5 Server APP Shared memory Shared memory Network Mobile Plus Mobile Plus

Cannot maintain Execution Context Caller-callee relationships Activity states

Evaluation Questions Environments Functionality coverage: “How many functionalities can M+ support?” Compatibility study: “How compatible is M+ with different Android versions?” Performance test: “How much overhead does M+ impose?” Environments Two Nexus 6 devices (Android 5.0) with M+ (Client & Server devices) On the same WiFi network

Functionality Coverage Using 22 use cases for functionality sharing 9 App functionalities Login, payment, viewer, photo sharing, etc. 13 System functionalities Sensor, camera, notification, contact, etc.

Compatibility Study Different Android versions may have different RPC functions Cannot support functionality sharing between them We compared the five latest Android versions for RPC functions JellyBean (4.3) KitKat (4.4) Lollipop (5.0) Marshamallow (6.0) Nougat (7.0)

Compatibility Study Comparisons with Lollipop (5.0) Same: 50 – 79 % Translatable: 10 – 13 % Incompatible: 11 – 37 % Possible to mitigate the differences via translations for RPC messages (i.e., parcels)

Conclusion We designed a multi-device mobile platform, Mobile Plus (M+), by providing the cross-device RPC scheme Enable to support a broad range of functionalities Without any modifications of legacy apps We evaluated our system with 22 use cases We expect M+ to accelerate development of creative and useful apps to provide novel UX