Nguyen Thi Thanh Nha HMCL by Ying Zhang, Gang Huang, Xuanzhe Liu, Wei Zhang, Hong Mei, and Shunxiang Yang Refactoring Android Java Code for On-Demand Computation.

Slides:



Advertisements
Similar presentations
Dynamic Analysis of Windows Phone 7 apps Behrang Fouladi, SensePost.
Advertisements

A Mobile Agent Architecture for Heterogeneous Devices Presented by: Chuong Hoang CS Software Architect and Design The University of Texas at Dallas.
Vrije Universiteit Interdroid: a platform for distributed smartphone applications Henri Bal, Nick Palmer, Roelof Kemp, Thilo Kielmann High Performance.
Vrije Universiteit Interdroid: a platform for distributed smartphone applications Henri Bal, Nick Palmer, Roelof Kemp, Thilo Kielmann High Performance.
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Honing In on Multiple Targets with a Single Codebase Jeff Tapper Senior Technologist.
Implementation of an Android Phone Based Video Streamer 2010 IEEE/ACM International Conference on Green Computing and Communications 2010 IEEE/ACM International.
J2ME 25 July Overview  What is J2ME?  The CLDC and CDC configurations  MIDP and MIDlets  Development Tools  Demonstrations.
Building and Deploying Safe and Secure Android Apps for Enterprise Presented by Technology Consulting Group at Endeavour Software Technologies.
Institute of Networking and Multimedia, National Taiwan University, Jun-14, 2014.
LBVC: Towards Low-bandwidth Video Chats on Smartphones Xin Qi, Qing Yang, David T. Nguyen, Gang Zhou, Ge Peng College of William and Mary 1.
Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.
PROJECT IN DISTRIBUTED SYSTEMS IPERF FOR ANDROID Developers: Shir Degani, Yuval Degani Supervisors: Prof. Roy Friedman, Alex Kogan.
DEPARTMENT OF COMPUTER ENGINEERING
Slide 1 Written by Dr Caspar Ryan, Project Leader ATcrc project 1.2 What is MobJeX? Next Generation Java Application Framework providing transparent component.
OSGi: Open Services Gateway Initiative Richard Chapman 5 Sept
An Energy Consumption Framework for Distributed Java-Based Systems Chiyoung Seo Software Architecture Research Group University of Southern California.
COMS E Cloud Computing and Data Center Networking Sambit Sahu
This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit
On Exploiting Dynamic Execution Patterns for Workload Offloading in Mobile Cloud Applications Wei Gao, Yong Li, and Haoyang Lu The University of Tennessee,
Smart Home Current Progress Summary. Main Processor – Stellaris.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
ThinkAir: Dynamic Resource Allocation and Parallel Execution in Cloud for Mobile Code Offloading Sokol Kosta, Pan Hui Deutsche Telekom Labs, Berlin, Germany.
Creation of hybrid portlet application for file download using IBM Worklight and IBM Rational Application Developer v9 Gaurav Bhattacharjee Lakshmi Priya.
Mobile Sensor Application Group 4. Introduction Modern smartphones are often equipped with quite a large number of sensors. The sensors data can be used.
Distributed Process Implementation
Włodzimierz Funika, Filip Szura Automation of decision making for monitoring systems.
CS378 - Mobile Computing Connecting Devices. How to pass data between devices? – Chat – Games – Driving Options: – Use the cloud and a service such as.
 Energy Results: Memory Assistant Arcade Game  Performance Results:  Response Time ▪ Memory assistant: 17.3 sec -> 1.5 sec ▪ Arcade game: 6 FPS -> 13.
Ambulation : a tool for monitoring mobility over time using mobile phones Computational Science and Engineering, CSE '09. International Conference.
Accelerating Mobile Applications through Flip-Flop Replication
MOBILE CLOUD COMPUTING
Xiaoyu Tong and Edith C.-H. Ngai Dept. of Information Technology, Uppsala University, Sweden A UBIQUITOUS PUBLISH/SUBSCRIBE PLATFORM FOR WIRELESS SENSOR.
Component-Level Energy Consumption Estimation for Distributed Java-Based Software Systems Sam Malek George Mason University Chiyoung Seo Yahoo! Nenad Medvidovic.
Presented by: Kushal Mehta University of Central Florida Michael Spreitzenbarth, Felix Freiling Friedrich-Alexander- University Erlangen, Germany michael.spreitzenbart,
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
A Survey of Mobile Cloud Computing Application Models
Mobile search engine for a smart phone / navigation system can be used to search and compare hundreds of stores and their products in seconds. © 2001 –
Java Mobile Apps with GWT & PhoneGap Josh Marinacci, webOS Developer Advocate.
Smart Phone Laboratory ECEN 489 Srinivas Shakkottai.
Developing Enterprise Mobile Apps with Xamarin Loren Horsager CEO, Mobile Composer.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Monitoring Energy Consumption in Android Applications Marco Couto Departamento de Informática Universidade do Minho João Saraiva Universidade.
CSCI 6962: Server-side Design and Programming Web Services.
AppShield: A Virtual File System in Enterprise Mobility Management Zhengyang Qu 1 Northwestern University, IL, US,
Procrastinator: Pacing Mobile Apps’ Usage of the Network mobisys 2014.
Good MDM IOS Overview Presented by: Jerry Wen 02/09/2012.
Eduardo Cuervo – Duke University Aruna Balasubramanian - University of Massachusetts Amherst Dae-ki Cho - UCLA Alec Wolman, Stefan Saroiu, Ranveer Chandra,
Basics of testing mobile apps
Evaluating Wireless Network Performance David P. Daugherty ITEC 650 Radford University March 23, 2006.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
Cevgroup.org C utting E dge V isionaries. cevgroup.org TODAY’s TALK 1) Internet Of Things (IoT) 2) Wi-Fi Controlled Robots 3) Augmented Reality.
By, Rutika R. Channawar. Content Introduction Open Handset Alliance Minimum Hardware Requirements Versions Feature Architecture Advantages Disadvantages.
Distributed programming in Java Faculty:Nguyen Ngoc Tu Session 5 - RMI.
DCS230 Centralized or Decentralized Data Transfer Prof. Nalini Venkatasubramanian -Myung Guk Lee -YunHo Huh -Abhinav.
Software Engineering and Mobile Apps COM Presentation.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
A Software Energy Analysis Method using Executable UML for Smartphones Kenji Hisazumi System LSI Research Center Kyushu University.
A method for using cloud computing for Android By: Collin Molnar.
Application-Aware Traffic Scheduling for Workload Offloading in Mobile Clouds Liang Tong, Wei Gao University of Tennessee – Knoxville IEEE INFOCOM
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
Introduction to Mobile-Cloud Computing. What is Mobile Cloud Computing? an infrastructure where both the data storage and processing happen outside of.
Dynamic Mobile Cloud Computing: Ad Hoc and Opportunistic Job Sharing.
Android Mobile Application Development
Containers as a Service with Docker to Extend an Open Platform
Android Runtime – Dalvik VM
TaintART: A Practical Multi-level Information-Flow Tracking System for Android RunTime Sadiq Basha.
MOBILE DEVICE OPERATING SYSTEM
Collaborative Offloading for Distributed Mobile-Cloud Apps
Android Platform, Android App Basic Components
Presentation transcript:

Nguyen Thi Thanh Nha HMCL by Ying Zhang, Gang Huang, Xuanzhe Liu, Wei Zhang, Hong Mei, and Shunxiang Yang Refactoring Android Java Code for On-Demand Computation Offloading

Nguyen Thi Thanh Nha - HMCL  Android is open source  More than 59% of smartphone market  Limits  Battery Power  Size  Processing Power Refactoring Android Java Code for On-Demand Computation Offloading 2

Nguyen Thi Thanh Nha - HMCL  Some code can only run in a mobile device  GPS  Accelerometer  Sensors -> Have to identify which parts of the app cannot be offloaded  The reduced execution time must be greater than the network delay caused by computation offloading -> Have to calculate which parts are worth offloading  Changes of user requirements and runtime environments -> Have to consider such changes in computation offloading Refactoring Android Java Code for On-Demand Computation Offloading 3

Nguyen Thi Thanh Nha - HMCL 4  Present a tool, named DPartner, that automatically refactors Android applications to be the ones with computation offloading capability Refactoring Android Java Code for On-Demand Computation Offloading Refactoring restructure the given code without altering the external functionality Refactoring restructure the given code without altering the external functionality

Nguyen Thi Thanh Nha - HMCL  Offloading computations can be implemented as remotely deploying and invoking classes performing the computation  Refactoring is characterized by three aspects  Source Structure  Local invocation  Remote invocation  Target Structure  On-demand Remote Invocation  Refactoring Steps Refactoring Android Java Code for On-Demand Computation Offloading 5

Nguyen Thi Thanh Nha - HMCL  Programs run on local processor  Not support offloading any computation in class N Refactoring Android Java Code for On-Demand Computation Offloading 6

Nguyen Thi Thanh Nha - HMCL  Class X invoke the methods of a remote class N.  Support offloading computation in class N  Problem: time and energy consuming if N and X are in the same VM Refactoring Android Java Code for On-Demand Computation Offloading 7

Nguyen Thi Thanh Nha - HMCL Refactoring Android Java Code for On-Demand Computation Offloading 8 Forwards the method invocations to the latter Keeps unchanged if the location of the proxied class N is changed from local to remote, or from one remote server to another -> program structure will not know if the server or connection is changed Determine the current location of N Cross network communication from X to N

Nguyen Thi Thanh Nha - HMCL Refactoring Android Java Code for On-Demand Computation Offloading 9 Two Types of classes Movable Anchored: use some special resources available only on the phone Structure is changed to process on remote server. Classes that frequently interacted should be offloaded as a whole. Avoid the time-consuming network communication Help accelerate runtime decision The Java byte code and resources are packaged and generated into two deployable files.

Nguyen Thi Thanh Nha - HMCL 10 Refactoring Android Java Code for On-Demand Computation Offloading

Nguyen Thi Thanh Nha - HMCL 11  Anchored class  Exist “native” keyword in class methods  The class extends/implements/uses the Android system classes  E.g. the “android.view.View” class is used as the parent class for drawing the GUI of an Android app  Movable class  The rest of classes  False negative: a class is classified as anchored but it can actually be offloaded.  False positive: a class is classified as movable but it cannot be offloaded. Provides a configuration file in which the naming patterns of anchored classes Provides a configuration file in which the naming patterns of anchored classes Refactoring Android Java Code for On-Demand Computation Offloading

Nguyen Thi Thanh Nha - HMCL 12  make a proxy act exactly like its proxied class  the proxy will have the same program structure as the proxied class  N extends NParent, NProxy should also extend NParent’s proxy Refactoring Android Java Code for On-Demand Computation Offloading

Nguyen Thi Thanh Nha - HMCL  Evaluated on 3 Android applications  Reduced execution time by 46%-97%  Reduced battery consumption 27%-83% Refactoring Android Java Code for On-Demand Computation Offloading 13

Nguyen Thi Thanh Nha - HMCL THANK YOU Refactoring Android Java Code for On-Demand Computation Offloading 14