NESL. CAreDroid: Adaptation Framework for Android Context-Aware Applications. Salma Elmalaki Lucas Wanner Mani Srivastava

Size: px
Start display at page:

Download "NESL. CAreDroid: Adaptation Framework for Android Context-Aware Applications. Salma Elmalaki Lucas Wanner Mani Srivastava"

Transcription

1 CAreDroid: Adaptation Framework for Android Context-Aware Applications Salma Elmalaki Lucas Wanner Mani Srivastava 1

2 Isolated Disconnected Unaware Photo Courtesy: Student Portal 2

3 Computing From Isolation to Awareness Photo Courtesy: Mobile innovation lab 3

4 Sense 4

5 Sense Understand 5

6 Sense Adapt Emergency Understand 6

7 Sense CAreDroid Eme Adapt Understand 7

8 CAreDroid Challenges 1. Automatically adapt to the environmental change at runtime. 2. Adaptation should be burden-free for the user. 3. Overhead of reading the environmental context should be small. Sense Understand Adapt 8

9 What is Context-awareness? ContextOS: A Context Aware Operating ErdOS: System Achieving for Energy Mobile Devices ([GreenCom 13]) Fusing mobile, Savings sensor, in and social data to fully enable context-aware Mobile computing A System ([HotMobile ([MobiArch 11]) Context-Aware '10]) Approach for Battery Lifetime Prediction in Smart Phones ([SAC 11]) adapt sense The Latency Accuracy and Battery LAB Abstraction: Programmer Productivity and Energy Efficiency for Continuous Mobile Context Sensing ([OOPSLA 13]) understand ACE: Exploiting Correlation for Energy- Efficient and Continuous Balancing Context Energy, Latency and Sensing (MobiSys 12) Accuracy for Mobile Sensor Data SymPhoney: Classification A Coordinated (SenSys 11) Sensing Flow Execution Engine for Concurrent Mobile Sensing Applications (SenSys 12) 9

10 Adaptation Realization f() Program f1() f2() f3() Location Temperature Context-Aware System Activity fn() Connectivity Battery Status Function Adaptation 10

11 Adaptation Realization f() Program f1() f2() f3() Location Temperature Context-Aware System Activity fn() Connectivity Battery Status Function Adaptation 11

12 Adaptation Realization f() Program f1() f2() f3() Location Temperature Context-Aware System Activity fn() Connectivity Battery Status Function Adaptation 12

13 CAreDroid Architecture Usability Performance 13

14 CAreDroid Architecture Application Layer app f f 1 f 2 f 3 g g 1 g 2 g 3 Application Layer System Layer Sensitive function registration & config parsing Adaptation Engine Context Monitoring Context Sensors 14

15 CAreDroid Architecture Application Layer app f f 1 f 2 f 3 Application Layer g g 1 g 2 g 3 System Layer Sensitive function registration & config parsing Adaptation Engine Context Monitoring System Layer Context Sensors Temperature Energy Connectivity 15

16 CAreDroid Architecture Application Layer app f f 1 f 2 f 3 Application Layer g g 1 g 2 g 3 System Layer Sensitive function registration & config parsing Adaptation Engine Context Monitoring System Layer Context Sensors Temperature Energy Connectivity Context Sensors 16

17 uration app Application Layer f f 1 f 2 f 3 g g 1 g 2 g 3 Sensitive function registration & config parsing Adaptation Engine System Layer Context Monitoring Context Sensors Temperature Energy Connectivity 17

18 Function Registration The sensitive function registration part is responsible for: understanding the ranges of operations of each method integrate it in the Android run-time system app Sensitive function registration & config parsing f f 1 f 2 f 3 g Adaptation Engine Application Layer g 1 g 2 g 3 System Layer Context Monitoring Context Sensors Temperature Energy Connectivity 18

19 app Application Layer f f 1 f 2 f 3 g g 1 g 2 g 3 Function Registration &. Parsing Sensitive function registration & config parsing Adaptation Engine System Layer Context Monitoring Context Sensors Temperature Energy Connectivity Normal Android Normal Android Flow Development time.java Compilation and packaging time.class.dex Installation time intercept.odex CAreDriod Flow CAreDroid Sensitive Method Discovery Replacement Map Table of of of Range Identifiers Identifiers.apk extended.odex 19

20 app Application Layer f f 1 f 2 f 3 g g 1 g 2 g 3 Function Registration &. Parsing Sensitive function registration & config parsing Adaptation Engine System Layer Context Monitoring Context Sensors Temperature Energy Connectivity Normal Android Normal Android Flow Development time.java Compilation and packaging time.class.dex Installation time intercept.odex CAreDriod Flow CAreDroid Sensitive Method Discovery Replacement Map Table of of of Range Identifiers Identifiers.apk extended.odex 20

21 app Application Layer f f 1 f 2 f 3 g g 1 g 2 g 3 Function Registration &. Parsing Sensitive function registration & config parsing Adaptation Engine System Layer Context Monitoring Context Sensors Temperature Energy Connectivity Normal Android Normal Android Flow Development time.java Compilation and packaging time.class.dex Installation time intercept.odex CAreDriod Flow CAreDroid Sensitive Method Discovery Replacement Map Table of of of Range Identifiers Identifiers.apk extended.odex 21

22 app Application Layer f f 1 f 2 f 3 g g 1 g 2 g 3 Function Registration &. Parsing Sensitive function registration & config parsing Adaptation Engine System Layer Context Monitoring Context Sensors Temperature Energy Connectivity Normal Android Normal Android Flow Development time.java Compilation and packaging time.class.dex Installation time intercept.odex CAreDriod Flow CAreDroid Sensitive Method Discovery Replacement Map Table of of of Range Identifiers Identifiers.apk extended.odex 22

23 Context Monitoring 1. Battery state: capacity, temperature, voltage 2. Connectivity state: WiFi connection status, WiFi link quality, RSSI received signal strength indication 3. Location: GPS location 4. Mobility: run, walk, still Bypassing the HAL layer and the associated sensor managers. Snooping on the interface between the HAL and the low-level device drivers through the sysfs virtual file system. app Sensitive function registration & config parsing f f 1 f 2 f 3 Adaptation Engine Application Layer g 1 g 2 g 3 System Layer Context Monitoring Context Sensors Temperature Energy Connectivity g 23

24 Adaptation Engine It is where the method replacement happens at runtime. app Application Layer f f 1 f 2 f 3 g g 1 g 2 g 3 System Layer Sensitive function registration & config parsing Adaptation Engine Context Monitoring Context Sensors Temperature Energy Connectivity 24

25 app Application Layer f f 1 f 2 f 3 Adaptation Engine Sensitive function registration & config parsing Adaptation Engine g 1 g 2 g 3 System Layer Context Monitoring Context Sensors Temperature Energy Connectivity g CAreDriod Flow Normal Android Flow invoke-virtual-quick Normal Android Dalvik Interpreter CAreDroid Dalvik Interpreter Extension Class ID Table of of of Range Identifiers Identifiers intercept Class Virtual Table Replaced cache miss Operation Range Identifiers Resolution Cache Replacement Map cache hit update cache CAreDroid Decision Graph Execute method Pointer to method byte code Replaced Current Context 25

26 app Application Layer f f 1 f 2 f 3 Adaptation Engine Sensitive function registration & config parsing Adaptation Engine g 1 g 2 g 3 System Layer Context Monitoring Context Sensors Temperature Energy Connectivity g CAreDriod Flow Normal Android Flow invoke-virtual-quick Normal Android Dalvik Interpreter CAreDroid Dalvik Interpreter Extension Class ID Table of of of Range Identifiers Identifiers intercept Class Virtual Table Replaced cache miss Operation Range Identifiers Resolution Cache Replacement Map cache hit update cache CAreDroid Decision Graph Execute method Pointer to method byte code Replaced Current Context 26

27 app Application Layer f f 1 f 2 f 3 Adaptation Engine Sensitive function registration & config parsing Adaptation Engine g 1 g 2 g 3 System Layer Context Monitoring Context Sensors Temperature Energy Connectivity g CAreDriod Flow Normal Android Flow invoke-virtual-quick Normal Android CAreDroid Dalvik Interpreter CAreDroid Dalvik Interpreter Extension Class ID Table of of of Range Identifiers Identifiers intercept Class Virtual Table Replaced cache miss Operation Range Identifiers Resolution Cache Replacement Map cache hit update cache CAreDroid Decision Graph Execute method Pointer to method byte code Replaced Current Context 27

28 app Application Layer f f 1 f 2 f 3 Adaptation Engine Sensitive function registration & config parsing Adaptation Engine g 1 g 2 g 3 System Layer Context Monitoring Context Sensors Temperature Energy Connectivity g CAreDriod Flow Normal Android Flow invoke-virtual-quick Normal Android CAreDroid Dalvik Interpreter CAreDroid Dalvik Interpreter Extension Class ID Table of of of Range Identifiers Identifiers intercept Class Virtual Table Replaced cache miss Operation Range Identifiers Resolution Cache Replacement Map cache hit update cache CAreDroid Decision Graph Execute method Pointer to method byte code Replaced Current Context 28

29 app Application Layer f f 1 f 2 f 3 Adaptation Engine Sensitive function registration & config parsing Adaptation Engine g 1 g 2 g 3 System Layer Context Monitoring Context Sensors Temperature Energy Connectivity g CAreDriod Flow Normal Android Flow invoke-virtual-quick Normal Android CAreDroid Dalvik Interpreter CAreDroid Dalvik Interpreter Extension Class ID Table of of of Range Identifiers Identifiers intercept Class Virtual Table Replaced cache miss Operation Range Identifiers Resolution Cache Replacement Map cache hit update cache CAreDroid Decision Graph Execute method Pointer to method byte code Replaced Current Context 29

30 app Application Layer f f 1 f 2 f 3 Adaptation Engine Sensitive function registration & config parsing Adaptation Engine g 1 g 2 g 3 System Layer Context Monitoring Context Sensors Temperature Energy Connectivity g CAreDriod Flow Normal Android Flow invoke-virtual-quick Normal Android CAreDroid Dalvik Interpreter CAreDroid Dalvik Interpreter Extension Class ID Table of of of Range Identifiers Identifiers intercept Class Virtual Table Replaced cache miss Operation Range Identifiers Resolution Cache Replacement Map cache hit update cache CAreDroid Decision Graph Execute method Pointer to method byte code Replaced Current Context 30

31 app Application Layer f f 1 f 2 f 3 Adaptation Engine Sensitive function registration & config parsing Adaptation Engine g 1 g 2 g 3 System Layer Context Monitoring Context Sensors Temperature Energy Connectivity g B CAreDriod Flow Normal Android Flow invoke-virtual-quick Normal T Android V S CAreDroid W Q M L Dalvik Interpreter CAreDroid Dalvik Interpreter Extension Class ID Table of of of Range Identifiers Identifiers intercept Class Virtual Table Replaced 4 Method 5 ID cache hit Resolution cache miss Cache Operation Range Identifiers M1 M2 M3 M4 M Replacement Map Current Context update cache CAreDroid Decision Graph Execute method Pointer to method byte code Replaced Best Fit policy Must Fit policy 31

32 app Application Layer f f 1 f 2 f 3 Adaptation Engine Sensitive function registration & config parsing Adaptation Engine g 1 g 2 g 3 System Layer Context Monitoring Context Sensors Temperature Energy Connectivity g CAreDriod Flow Normal Android Flow invoke-virtual-quick Normal Android CAreDroid Dalvik Interpreter CAreDroid Dalvik Interpreter Extension Class ID Table of of of Range Identifiers Identifiers intercept Class Virtual Table Replaced cache miss Operation Range Identifiers Resolution Cache Replacement Map cache hit update cache CAreDroid Decision Graph Execute method Pointer to method byte code Replaced Current Context 32

33 app Application Layer f f 1 f 2 f 3 Adaptation Engine Sensitive function registration & config parsing Adaptation Engine g 1 g 2 g 3 System Layer Context Monitoring Context Sensors Temperature Energy Connectivity g CAreDriod Flow Normal Android Flow invoke-virtual-quick Normal Android CAreDroid Dalvik Interpreter CAreDroid Dalvik Interpreter Extension Class ID Table of of of Range Identifiers Identifiers intercept Class Virtual Table Replaced cache miss Operation Range Identifiers Resolution Cache Replacement Map cache hit update cache CAreDroid Decision Graph Execute method Pointer to method byte code Replaced Current Context 33

34 Evaluation 1. Push context monitoring and adaptation to runtime system 2. At least 2x fewer lines of code 3. At least 10 more efficient in execution time 34

35 Context-aware Camera Still Still position position Walking! (non context aware) Walking! (with CAreDroid) 35

36 Context-aware Camera Still Still position position Walking! (non-context aware) Walking! (with CAreDroid) 36

37 Context-aware Camera Still Still position position Walking! (non-context aware) Walking! (with (With CAreDroid) 37

38 Analysis - Significant Line of Code (SLOC) Platform SLOC %Increase 38

39 Analysis of CAreDroid 1. Analyze the effect of cache in the adaptation engine 2. Examine the overhead of context-monitoring module 3. The difference in energy and execution time between pure Java implementation using Android APIs and CAreDroid 39

40 Testbed and testing environment Nexus 4 Android API 17 Overhead of system image is 4.6% 40

41 Analysis Execution time Platform CPU time (ms) Overhead Without cache With cache f1 f2 f3 f1 f2 f3 f1 f2 f3 f1 f2 f Average of 10 executions with variance 0.5% ~ 1% 41

42 Analysis Energy 1. CAreDroid consumes only 6.73% more energy compared with the non-context aware implementation and 2. CAreDroid gives 69.33% energy saving compared to the pure Java implementation. 3. Measurements are taken every 5 seconds. Average is shown with variance < 1% Energy [J] 5,000 4,000 3,000 2,000 1, Pure Java Best fit Time [hr] Must fit Non-context aware 42

43 Future Work 1. Migrate to new versions of Android that are based on ART instead of Dalvik (Kitkat and Lollipop). 2. Add support for more abstract contexts, for example, stress, smoking, fitness, etc 3. The adaptation can be privacy-aware. 4. Time of the day is another axis that can be used to enhancing the adaptation support 43

44 Thank you! 44

45 Keeping the developer/user in the loop Make the user not fully obfuscated Why this adaptation takes place? Special CAreDroid API - read_operating_point() 45

CAreDroid: Adaptation Framework for Android Context-Aware Applications

CAreDroid: Adaptation Framework for Android Context-Aware Applications CAreDroid: Adaptation Framework for Android Context-Aware Applications Salma Elmalaki University of California, Los Angeles selmalaki@ucla.edu Lucas Wanner Department of Informatics and Statistics, Federal

More information

Enabling opportunistic resources sharing in mobile Operating Systems

Enabling opportunistic resources sharing in mobile Operating Systems ErdOS Enabling opportunistic resources sharing in mobile Operating Systems Narseo Vallina-Rodríguez Jon Crowcroft University of Cambridge http://www.cl.cam.ac.uk/~nv240/erdos.html http://nosql.mypopescu.com/post/1016320617

More information

Open Mobile Platforms. EE 392I, Lecture-6 May 4 th, 2010

Open Mobile Platforms. EE 392I, Lecture-6 May 4 th, 2010 Open Mobile Platforms EE 392I, Lecture-6 May 4 th, 2010 Open Mobile Platforms The Android Initiative T-Mobile s ongoing focus on Android based devices in US and EU markets In Nov 2007, Google announced

More information

L.C.Smith. Privacy-Preserving Offloading of Mobile App to the Public Cloud

L.C.Smith. Privacy-Preserving Offloading of Mobile App to the Public Cloud Privacy-Preserving Offloading of Mobile App to the Public Cloud Yue Duan, Mu Zhang, Heng Yin and Yuzhe Tang Department of EECS Syracuse University L.C.Smith College of Engineering 1 and Computer Science

More information

Android Debugging ART

Android Debugging ART Android Debugging ART Khaled JMAL 2016 / 11 / 17 2 / 24 The Dalvik Virtual Machine Up to version 4.4 KitKat, Android was based on the Dalvik Virtual Machine Java compiles into DEX code DEX code is compiled

More information

Mobile Offloading. Matti Kemppainen

Mobile Offloading. Matti Kemppainen Mobile Offloading Matti Kemppainen kemppi@cs.hut.fi 1. Promises and Theory Learning points What is mobile offloading? What does offloading promise? How does offloading differ from earlier practices? What

More information

PROCE55 Mobile: Web API App. Web API. https://www.rijksmuseum.nl/api/...

PROCE55 Mobile: Web API App. Web API. https://www.rijksmuseum.nl/api/... PROCE55 Mobile: Web API App PROCE55 Mobile with Test Web API App Web API App Example This example shows how to access a typical Web API using your mobile phone via Internet. The returned data is in JSON

More information

Android Online Training

Android Online Training Android Online Training IQ training facility offers Android Online Training. Our Android trainers come with vast work experience and teaching skills. Our Android training online is regarded as the one

More information

Mobile and Ubiquitous Computing: Mobile Sensing

Mobile and Ubiquitous Computing: Mobile Sensing Mobile and Ubiquitous Computing: Mobile Sensing Master studies, Winter 2015/2016 Dr Veljko Pejović Veljko.Pejovic@fri.uni-lj.si Based on: Mobile and Ubiquitous Computing Mirco Musolesi, University of Birmingham,

More information

Understanding Storage I/O Behaviors of Mobile Applications. Louisiana State University Department of Computer Science and Engineering

Understanding Storage I/O Behaviors of Mobile Applications. Louisiana State University Department of Computer Science and Engineering Understanding Storage I/O Behaviors of Mobile Applications Jace Courville jcourv@csc.lsu.edu Feng Chen fchen@csc.lsu.edu Louisiana State University Department of Computer Science and Engineering The Rise

More information

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1 Android Lesson 1 1 1 1.0 to Android 2 Contents Android is an ecosystem Android platform architecture Android Versions Challenges of Android app development App fundamentals 3 Android Ecosystem 4 What is

More information

Operating Systems (2INC0) 2018/19. Introduction (01) Dr. Tanir Ozcelebi. Courtesy of Prof. Dr. Johan Lukkien. System Architecture and Networking Group

Operating Systems (2INC0) 2018/19. Introduction (01) Dr. Tanir Ozcelebi. Courtesy of Prof. Dr. Johan Lukkien. System Architecture and Networking Group Operating Systems (2INC0) 20/19 Introduction (01) Dr. Courtesy of Prof. Dr. Johan Lukkien System Architecture and Networking Group Course Overview Introduction to operating systems Processes, threads and

More information

Installation and operating manual

Installation and operating manual HEATING CONTROL PACK GATEWAY ENERGY MONITOR Installation and operating manual 1 Version 1.0 Index Introduction... 3 Preliminary considerations... 4 SmartCommand System Elements... 5 Installation instructions...

More information

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on Chapter 2: Operating-System Structures Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures 1. Operating System Services 2. User Operating System

More information

Self-Adapting MAC Layer for Wireless Sensor Networks

Self-Adapting MAC Layer for Wireless Sensor Networks Self-Adapting MAC Layer for Wireless Sensor Networks Mo Sha, Rahav Dor, Gregory Hackmann, Chenyang Lu Cyber-Physical Systems Laboratory Washington University in St. Louis Tae-Suk Kim, Taerim Park Samsung

More information

Chapter 2. Operating-System Structures

Chapter 2. Operating-System Structures Chapter 2 Operating-System Structures 2.1 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

Installation and operating manual

Installation and operating manual HEATING CONTROL PACK GATEWAY ENERGY MONITOR Installation and operating manual 1 Version 1.0 Index Introduction... 3 Preliminary considerations... 4 SmartCommand System Elements... 5 Installation instructions...

More information

Android App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore

Android App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore Android App Development Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore Mobile devices (e.g., smartphone, tablet PCs, etc.) are increasingly becoming an essential part of human life

More information

UMOBILE in a nutshell. Christos-Alexandros Sarros Research assistant, Athena Research and Innovation Center

UMOBILE in a nutshell. Christos-Alexandros Sarros Research assistant, Athena Research and Innovation Center UMOBILE in a nutshell Christos-Alexandros Sarros Research assistant, Athena Research and Innovation Center Tutorial Overview - UMOBILE in a nutshell - ATHENA, Christos-Alexandros Sarros - The UMOBILE Lab

More information

3. Collecting Data with Collector

3. Collecting Data with Collector Open an ArcGIS Online Map in Collector In this guide, we will use the Collector for ArcGIS app to collect points on the SFSU Quad. As with other tutorials, much of this is translatable to other field sites;

More information

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna Programming with Android: System Architecture Luca Bedogni Marco Di Felice Dipartimento di Scienze dell Informazione Università di Bologna Outline Android Architecture: An Overview Android Dalvik Java

More information

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services Operating System Services One set of services for users The other set of services for system operations Operating Systems Structures Notice: This set of slides is based on the notes by Professor Perrone

More information

Developing Enterprise Cloud Solutions with Azure

Developing Enterprise Cloud Solutions with Azure Developing Enterprise Cloud Solutions with Azure Java Focused 5 Day Course AUDIENCE FORMAT Developers and Software Architects Instructor-led with hands-on labs LEVEL 300 COURSE DESCRIPTION This course

More information

PowerForecaster: Predicting Smartphone Power Impact of Continuous Sensing Applications at Pre-installation Time

PowerForecaster: Predicting Smartphone Power Impact of Continuous Sensing Applications at Pre-installation Time PowerForecaster: Predicting Smartphone Power Impact of Continuous Sensing Applications at Pre-installation Time Chulhong Min 1 Youngki Lee 2 Chungkuk Yoo 1 Seungwoo Kang 3 Sangwon Choi 1 Pillsoon Park

More information

Ad Hoc Networks - Applications and System Design

Ad Hoc Networks - Applications and System Design Ad Hoc Networks - Applications and System Design Prof Sanjay Srivastava DA-IICT, Gandhinagar Modelling and Analysis Group of NeTworks (MAGNeT) Two day workshop on Ad Hoc Networks: Design, Applications,

More information

ipshield: A Framework For Enforcing Context-Aware Privacy

ipshield: A Framework For Enforcing Context-Aware Privacy ipshield: A Framework For Enforcing Context-Aware Privacy Supriyo Chakraborty, Chenguang Shen, Kasturi Rangan Raghavan, Yasser Shoukry, Matt Millar, Mani Srivastava 2 From sensor data to inferences Sensor

More information

Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.

Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs. 9. Android is an open-source operating system for mobile devices. Nowadays, it has more than 1.4 billion monthly active users (statistic from September 2015) and the largest share on the mobile device

More information

Adaptive Cluster Computing using JavaSpaces

Adaptive Cluster Computing using JavaSpaces Adaptive Cluster Computing using JavaSpaces Jyoti Batheja and Manish Parashar The Applied Software Systems Lab. ECE Department, Rutgers University Outline Background Introduction Related Work Summary of

More information

Web Services for Geospatial Mobile AR

Web Services for Geospatial Mobile AR Web Services for Geospatial Mobile AR Introduction Christine Perey PEREY Research & Consulting cperey@perey.com Many popular mobile applications already use the smartphone s built-in sensors and receivers

More information

u Emerging mobile applications that sense context are very important; e.g. for timely news and events, health tracking, social connections, etc.

u Emerging mobile applications that sense context are very important; e.g. for timely news and events, health tracking, social connections, etc. November 11, 2013 Presented by: Merhawit Habte 1. Introduc,on u Emerging mobile applications that sense context are very important; e.g. for timely news and events, health tracking, social connections,

More information

Overview. Background. Intelligence at the Edge. Learning at the Edge: Challenges and Brainstorming. Amazon Alexa Smart Home!

Overview. Background. Intelligence at the Edge. Learning at the Edge: Challenges and Brainstorming. Amazon Alexa Smart Home! Overview Background Intelligence at the Edge Samsung Research Learning at the Edge: Challenges and Brainstorming Amazon Alexa Smart Home! Background Ph.D. at UW CSE RFID, Mobile, Sensors, Data Nokia Research

More information

What are some common categories of system calls? What are common ways of structuring an OS? What are the principles behind OS design and

What are some common categories of system calls? What are common ways of structuring an OS? What are the principles behind OS design and What are the services provided by an OS? What are system calls? What are some common categories of system calls? What are the principles behind OS design and implementation? What are common ways of structuring

More information

Programming with Android: System Architecture. Luca Bedogni. Dipartimento di Scienze dell Informazione Università di Bologna

Programming with Android: System Architecture. Luca Bedogni. Dipartimento di Scienze dell Informazione Università di Bologna Programming with Android: System Architecture Luca Bedogni Dipartimento di Scienze dell Informazione Università di Bologna Outline Android Architecture: An Overview Android Java Virtual Machine Android

More information

Android project proposals

Android project proposals Android project proposals Luca Bedogni, Federico Montori 13 April 2018 Abstract In this document, we describe three possible projects for the exam of Laboratorio di applicazioni mobili course. Each student

More information

Introduction To Android

Introduction To Android Introduction To Android Mobile Technologies Symbian OS ios BlackBerry OS Windows Android Introduction to Android Android is an operating system for mobile devices such as smart phones and tablet computers.

More information

Mobile Middleware Course. Mobile Platforms and Middleware. Sasu Tarkoma

Mobile Middleware Course. Mobile Platforms and Middleware. Sasu Tarkoma Mobile Middleware Course Mobile Platforms and Middleware Sasu Tarkoma Role of Software and Algorithms Software has an increasingly important role in mobile devices Increase in device capabilities Interaction

More information

Mobile and Ubiquitous Computing: Android Programming (part 1)

Mobile and Ubiquitous Computing: Android Programming (part 1) Mobile and Ubiquitous Computing: Android Programming (part 1) Master studies, Winter 2015/2016 Dr Veljko Pejović Veljko.Pejovic@fri.uni-lj.si The World of Android The Android Platform A mobile operating

More information

Lecture 08. Android Permissions Demystified. Adrienne Porter Felt, Erika Chin, Steve Hanna, Dawn Song, David Wagner. Operating Systems Practical

Lecture 08. Android Permissions Demystified. Adrienne Porter Felt, Erika Chin, Steve Hanna, Dawn Song, David Wagner. Operating Systems Practical Lecture 08 Android Permissions Demystified Adrienne Porter Felt, Erika Chin, Steve Hanna, Dawn Song, David Wagner Operating Systems Practical 20 November, 2013 OSP Lecture 08, Android Permissions Demystified

More information

Mobile Application Development

Mobile Application Development Mobile Application Development The principal goal of education is to create men and women who are capable of doing new things, not simply repeating what other generations have done. -Jean Piaget Mobile

More information

Research Faculty Summit Systems Fueling future disruptions

Research Faculty Summit Systems Fueling future disruptions Research Faculty Summit 2018 Systems Fueling future disruptions Elevating the Edge to be a Peer of the Cloud Kishore Ramachandran Embedded Pervasive Lab, Georgia Tech August 2, 2018 Acknowledgements Enrique

More information

MOBILE COMPUTING 2/11/18. System Structure. Context as Implicit Input. explicit input. explicit output. explicit input.

MOBILE COMPUTING 2/11/18. System Structure. Context as Implicit Input. explicit input. explicit output. explicit input. MOBILE COMPUTING CSE 40814/60814 Spring 2018 System Structure explicit input explicit output Context as Implicit Input explicit input explicit output Context: state of the user state of the physical environment

More information

WearDrive: Fast and Energy Efficient Storage for Wearables

WearDrive: Fast and Energy Efficient Storage for Wearables WearDrive: Fast and Energy Efficient Storage for Wearables Reza Shisheie Cleveland State University CIS 601 Wearable Computing: A New Era 2 Wearable Computing: A New Era Notifications Fitness/Healthcare

More information

Diffusing Your Mobile Apps: Extending In-Network Function Virtualisation to Mobile Function Offloading

Diffusing Your Mobile Apps: Extending In-Network Function Virtualisation to Mobile Function Offloading Diffusing Your Mobile Apps: Extending In-Network Function Virtualisation to Mobile Function Offloading Mario Almeida, Liang Wang*, Jeremy Blackburn, Konstantina Papagiannaki, Jon Crowcroft* Telefonica

More information

Security versus Energy Tradeoffs in Host-Based Mobile Malware Detection

Security versus Energy Tradeoffs in Host-Based Mobile Malware Detection Security versus Energy Tradeoffs in Host-Based Mobile Malware Detection Jeffrey Bickford *, H. Andrés Lagar-Cavilla #, Alexander Varshavsky #, Vinod Ganapathy *, and Liviu Iftode * * Rutgers University

More information

Four Components of a Computer System

Four Components of a Computer System Four Components of a Computer System Operating System Concepts Essentials 2nd Edition 1.1 Silberschatz, Galvin and Gagne 2013 Operating System Definition OS is a resource allocator Manages all resources

More information

Android framework. How to use it and extend it

Android framework. How to use it and extend it Android framework How to use it and extend it Android has got in the past three years an explosive growth: it has reached in Q1 2011 the goal of 100M of Activations world wide with a number of daily activations

More information

MOBILE COMPUTING 2/14/17. System Structure. Context as Implicit Input. explicit input. explicit output. explicit input.

MOBILE COMPUTING 2/14/17. System Structure. Context as Implicit Input. explicit input. explicit output. explicit input. MOBILE COMPUTING CSE 40814/60814 Spring 2017 System Structure explicit input explicit output Context as Implicit Input explicit input explicit output Context: state of the user state of the physical environment

More information

Personalized Diapause: Reducing Radio Energy Consumption of Smartphones by Network-Context Aware Dormancy Predictions

Personalized Diapause: Reducing Radio Energy Consumption of Smartphones by Network-Context Aware Dormancy Predictions 1 A period of suspended growth accompanied by decreased metabolism in insects Personalized Diapause: Reducing Radio Energy Consumption of Smartphones by -Context Aware Dormancy Predictions Yeseong Kim

More information

Android. Operating System and Architecture. Android. Screens. Main features

Android. Operating System and Architecture. Android. Screens. Main features Android Android Operating System and Architecture Operating System and development system from Google and Open Handset Alliance since 2008 At the lower level is based on the Linux kernel and in a higher

More information

Android System Architecture. Android Application Fundamentals. Applications in Android. Apps in the Android OS. Program Model 8/31/2015

Android System Architecture. Android Application Fundamentals. Applications in Android. Apps in the Android OS. Program Model 8/31/2015 Android System Architecture Android Application Fundamentals Applications in Android All source code, resources, and data are compiled into a single archive file. The file uses the.apk suffix and is used

More information

Context-Aware Computing. Ramakrishna Padmanabhan February 12, 2013

Context-Aware Computing. Ramakrishna Padmanabhan February 12, 2013 Context-Aware Computing Ramakrishna Padmanabhan February 12, 2013 Overall Theme What kinds of applications can we create that make good use of context? How can we obtain location? What kind of software

More information

Smart City Aspern laying the foundation for a sustainable energy system ASCR 2016 All rights reserved.

Smart City Aspern laying the foundation for a sustainable energy system ASCR 2016 All rights reserved. Aspern Smart City Research Smart City Aspern laying the foundation for a sustainable energy system ASCR All rights reserved. Seestadt Aspern Facts and Figures 20.000 Jobs Total size:2.4 million m² Appartements

More information

Distributed Systems - Mertz & McCarthy

Distributed Systems - Mertz & McCarthy Design Issues in Distributed Mobile Applications Association Sensing and Context Awareness Security and Privacy Adaptation Devices Appear and disappear from the space. Do so unpredictably May be totally

More information

ECE1778: Creative Applications for Mobile Devices. Mover-bot. Android-based Mobile Robotics Development Platform

ECE1778: Creative Applications for Mobile Devices. Mover-bot. Android-based Mobile Robotics Development Platform ECE1778: Creative Applications for Mobile Devices Mover-bot Android-based Mobile Robotics Development Platform and Fitsum Andargie Word count: 1639 4/8/2012 0 Introduction: Traditionally, research in the

More information

ART JIT in Android N. Xueliang ZHONG Linaro ART Team

ART JIT in Android N. Xueliang ZHONG Linaro ART Team ART JIT in Android N Xueliang ZHONG Linaro ART Team linaro-art@linaro.org 1 Outline Android Runtime (ART) and the new challenges ART Implementation in Android N Tooling Performance Data & Findings Q &

More information

STEALING PINS VIA MOBILE SENSORS: ACTUAL RISK VERSUS USER PERCEPTION

STEALING PINS VIA MOBILE SENSORS: ACTUAL RISK VERSUS USER PERCEPTION STEALING PINS VIA MOBILE SENSORS: ACTUAL RISK VERSUS USER PERCEPTION Maryam Mehrnezhad Ehsan Toreini Siamak F. Shahandashti Feng Hao Newcastle University, UK At EuroUSEC, July 2016 JavaScript-based attack

More information

ios vs Android By: Group 2

ios vs Android By: Group 2 ios vs Android By: Group 2 The ios System Memory Section A43972 Delta Core OS Layer Core Services Layer Media Layer CoCoa Touch Layer Memory Section A43972 Delta Aaron Josephs Core OS Layer - Core OS has

More information

Mobile Computing Meets Research Data

Mobile Computing Meets Research Data Mobile Computing Meets Research Data Engineer Bainomugisha Pilot Research Data Center Workshop Mombasa/Kenya Software Languages Lab. Department of Computer Science Vrije Universiteit Brussel, Belgium Department

More information

Corporate R&D: Excellence in Wireless Innovation. September

Corporate R&D: Excellence in Wireless Innovation. September Corporate R&D: Excellence in Wireless Innovation September 2011 www.qualcomm.com/research State of the Art Capabilities Fostering Innovation Human Resources Complete Development Labs 30% of engineers with

More information

Computing and Sustainability Systems/Architecture & Beyond. Carla Schlatter Ellis Duke University

Computing and Sustainability Systems/Architecture & Beyond. Carla Schlatter Ellis Duke University Computing and Sustainability Systems/Architecture & Beyond Carla Schlatter Ellis Duke University 1 Scope Do less harm -- the greening of computing Energy efficiency for computing Data Centers Costs of

More information

SE 3S03 - Tutorial 1. Zahra Ali. Week of Feb 1, 2016

SE 3S03 - Tutorial 1. Zahra Ali. Week of Feb 1, 2016 SE 3S03 - Tutorial 1 Department of Computer Science McMaster University naqvis7@mcmaster.ca Week of Feb 1, 2016 testing vs Software Devices and s Devices and s App Device Outline testing vs Software Devices

More information

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed. CHAPTER 2: SYSTEM STRUCTURES By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System

More information

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview Today CSCI 4061 Introduction to s Instructor: Abhishek Chandra OS Evolution Unix Overview Unix Structure Shells and Utilities Calls and APIs 2 Evolution How did the OS evolve? Generation 1: Mono-programming

More information

Chapter 2: Operating-System Structures

Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

Improve Web Application Performance with Zend Platform

Improve Web Application Performance with Zend Platform Improve Web Application Performance with Zend Platform Shahar Evron Zend Sr. PHP Specialist Copyright 2007, Zend Technologies Inc. Agenda Benchmark Setup Comprehensive Performance Multilayered Caching

More information

Introduction to Virtual Machines. Michael Jantz

Introduction to Virtual Machines. Michael Jantz Introduction to Virtual Machines Michael Jantz Acknowledgements Slides adapted from Chapter 1 in Virtual Machines: Versatile Platforms for Systems and Processes by James E. Smith and Ravi Nair Credit to

More information

9/27/15 MOBILE COMPUTING. CSE 40814/60814 Fall System Structure. explicit output. explicit input

9/27/15 MOBILE COMPUTING. CSE 40814/60814 Fall System Structure. explicit output. explicit input MOBILE COMPUTING CSE 40814/60814 Fall 2015 System Structure explicit input explicit output 1 Context as Implicit Input explicit input explicit output Context: state of the user state of the physical environment

More information

ART and Dalvik performance compared

ART and Dalvik performance compared ART and Dalvik performance compared Tobias Konradsson Tobias Konradsson VT 2015 Examensarbete, 15 hp Supervisor: Andrew Wallace Examiner: Jerry Eriksson Kandidatprogrammet i datavetenskap, 180 hp Abstract

More information

Location-based Services in Ubiquitous Computing Environments

Location-based Services in Ubiquitous Computing Environments Location-based Services in Ubiquitous Computing Environments National Institute of Informatics Email: ichiro@nii.ac.jp Outline 1. Motivation 2. Approach 3. Design and Implementation 4. Applications 5.

More information

Dimensions of Mobile Computing

Dimensions of Mobile Computing Dimensions of Mobile Computing Alexander Nelson August 23, 2017 University of Arkansas - Department of Computer Science and Computer Engineering Reminders Course Mechanics Course Webpage: you.uark.edu/ahnelson/cmpe-4623-mobile-programming/

More information

The CarTel Project. Lewis Girod. M.I.T. Computer Science & Artificial Intelligence Lab cartel.csail.mit.edu

The CarTel Project. Lewis Girod. M.I.T. Computer Science & Artificial Intelligence Lab cartel.csail.mit.edu The CarTel Project Lewis Girod M.I.T. Computer Science & Artificial Intelligence Lab cartel.csail.mit.edu MIT/CSAIL MIT Computer Science and Artificial Intelligence Laboratory (CSAIL) Entrepreneurial approach

More information

VDC Help Guide. Conduct your daily vehicle check and much more with this Android App.

VDC Help Guide. Conduct your daily vehicle check and much more with this Android App. VDC Help Guide Conduct your daily vehicle check and much more with this Android App. ClockWatcher and all associated materials are copyright Aquarius IT Ltd 2016 - Ver 4 Aquarius Driver Assistant Application

More information

Dalvik And Art Android Internals Newandroidbook

Dalvik And Art Android Internals Newandroidbook We have made it easy for you to find a PDF Ebooks without any digging. And by having access to our ebooks online or by storing it on your computer, you have convenient answers with dalvik and art android

More information

Information Brokerage

Information Brokerage Information Brokerage Sensing Networking Leonidas Guibas Stanford University Computation CS321 Information Brokerage Services in Dynamic Environments Information Brokerage Information providers (sources,

More information

VTag Instruction & Tips

VTag Instruction & Tips VTag Instruction & Tips Thanks To VTag You'll NEVER Lose Track of Your Phone, Keys, Purse, Wallet, Kid, Cat & Other Personal Belonging's Again! VTag is a Bluetooth wireless device that works with your

More information

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition Chapter 2: Operating-System Structures Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System

More information

LANGUAGE RUNTIME NON-VOLATILE RAM AWARE SWAPPING

LANGUAGE RUNTIME NON-VOLATILE RAM AWARE SWAPPING Technical Disclosure Commons Defensive Publications Series July 03, 2017 LANGUAGE RUNTIME NON-VOLATILE AWARE SWAPPING Follow this and additional works at: http://www.tdcommons.org/dpubs_series Recommended

More information

WHY APPLICATIONS ARE STILL DRAINING OUR BATTERIES and how we can help. Aaron Schulman & Sachin Katti

WHY APPLICATIONS ARE STILL DRAINING OUR BATTERIES and how we can help. Aaron Schulman & Sachin Katti WHY APPLICATIONS ARE STILL DRAINING OUR BATTERIES and how we can help. Aaron Schulman & Sachin Katti We cannot rely on improvements in battery technology In past 30 years: only 4x improvement in energy

More information

Part I: Introduction to Wireless Sensor Networks. Xenofon Fafoutis

Part I: Introduction to Wireless Sensor Networks. Xenofon Fafoutis Part I: Introduction to Wireless Sensor Networks Xenofon Fafoutis Sensors 2 DTU Informatics, Technical University of Denmark Wireless Sensor Networks Sink Sensor Sensed Area 3 DTU Informatics,

More information

Research on DPDK Based High-Speed Network Traffic Analysis. Zihao Wang Network & Information Center Shanghai Jiao Tong University

Research on DPDK Based High-Speed Network Traffic Analysis. Zihao Wang Network & Information Center Shanghai Jiao Tong University Research on DPDK Based High-Speed Network Traffic Analysis Zihao Wang Network & Information Center Shanghai Jiao Tong University Outline 1 Background 2 Overview 3 DPDK Based Traffic Analysis 4 Experiment

More information

Full file at

Full file at Import Settings: Base Settings: Brownstone Default Highest Answer Letter: D Multiple Keywords in Same Paragraph: No Chapter: Chapter 2 Multiple Choice 1. A is an example of a systems program. A) command

More information

SoMA Product Description

SoMA Product Description SoMA Product Description SoMA Product Description Summary This document is the product description of the Sofica Multimedia Test Automation Solution (SoMA). SoMA is robot aided camera performance test

More information

Embedded Software: Its Growing Influence on the Hardware world

Embedded Software: Its Growing Influence on the Hardware world Embedded Software: Its Growing Influence on the Hardware world ISA Vision Summit 2009, Bangalore 16 th FEB 09 V. R. Venkatesh Head, Product Engineering Services, Wipro Technologies. Wipro in Product Engineering

More information

RAD Studio Product Address

RAD Studio Product Address RAD Studio Product Address Marco Cantu DevTracks 18/4/18 1 Presented by Marco Cantù RAD Studio Product Manager marco.cantu@embarcadero.com @marcocantu WHAT IS RAD STUDIO? What is RAD Studio? The fastest

More information

Innovative M-Tech projects list IEEE papers

Innovative M-Tech projects list IEEE papers Innovative M-Tech projects list IEEE-2013-14 papers 1. Analysis and Practical Considerations in Implementing Multiple Transmitters for Wireless Power Transfer via Coupled Magnetic Resonance (IEEE 2014)

More information

CS260 Intro to Java & Android 04.Android Intro

CS260 Intro to Java & Android 04.Android Intro CS260 Intro to Java & Android 04.Android Intro Winter 2015 Winter 2015 CS260 - Intro to Java & Android 1 Android - Getting Started Android SDK contains: API Libraries Developer Tools Documentation Sample

More information

Mobile development initiation

Mobile development initiation Mobile development initiation Outline Mobile development: o Why? o How? o New issues Android ios 2 Mobile growth ¼ Internet access Sales of smartphones and tablets increase o + 70% tab Community 3 Why

More information

ABB MOTORS AND GENERATORS SERVICES, 2018 ABB Ability Smart Sensor Activating and Adding Assets. App Version 6.2.3

ABB MOTORS AND GENERATORS SERVICES, 2018 ABB Ability Smart Sensor Activating and Adding Assets. App Version 6.2.3 ABB MOTORS AND GENERATORS SERVICES, 2018 Activating and Adding Assets App Version 6.2.3 Activating your Smart Sensor 1 2 NOTE: The vibration method is only required for sensors with old firmware versions.

More information

Pre-Requisites: CS2510. NU Core Designations: AD

Pre-Requisites: CS2510. NU Core Designations: AD DS4100: Data Collection, Integration and Analysis Teaches how to collect data from multiple sources and integrate them into consistent data sets. Explains how to use semi-automated and automated classification

More information

Sens-ation. Final Presentation Architecture, Components

Sens-ation. Final Presentation Architecture, Components Bauhaus University Weimar Final Presentation Architecture, Components Sens-ation February 2005 Nicolai Marquardt CML Cooperative Media Lab Bauhaus University Weimar Outline 1. Introduction 2. Sensor Adapter,

More information

The Return of Innovation. David May. David May 1 Cambridge December 2005

The Return of Innovation. David May. David May 1 Cambridge December 2005 The Return of Innovation David May David May 1 Cambridge December 2005 Long term trends Computer performance/cost has followed an exponential path since the 1940s, doubling about every 18 months This has

More information

Lecture 9 Dynamic Compilation

Lecture 9 Dynamic Compilation Lecture 9 Dynamic Compilation I. Motivation & Background II. Overview III. Compilation Policy IV. Partial Method Compilation V. Partial Dead Code Elimination VI. Escape Analysis VII. Results Partial Method

More information

Android OS. Operating System based on Linux [ ] [Jonas Teuscher, Alex Cuordileone, Cédric Glaus]

Android OS. Operating System based on Linux [ ] [Jonas Teuscher, Alex Cuordileone, Cédric Glaus] 1 Android OS Operating System based on Linux [24-02-16] [Jonas Teuscher, Alex Cuordileone, Cédric Glaus] 1 https://www.androidpit.com/android-marshmallow-update-overview-for-smartphones-and-tablets 2 https://blog.idrsolutions.com/2014/12/android-apps-ide-for-java-coder-programmers/

More information

Advantage Air Status Codes End User

Advantage Air Status Codes End User Advantage Air Status Codes End User This document is a compilation of status codes for Advantage Air Control Systems; you can use this to find the definition of the fault code displayed on your MyAir 3/4/5

More information

Beam: Ending Monolithic Applications for Connected Devices

Beam: Ending Monolithic Applications for Connected Devices Beam: Ending Monolithic Applications for Connected Devices Chenguang Shen (UCLA) Rayman Preet Singh (Univ. of Waterloo/Samsung Research) Amar Phanishayee, Aman Kansal, Ratul Mahajan (Microsoft Research)

More information

real Power from Sifos

real Power from Sifos PowerSync Programmable Load IEEE 802.3at Power over Ethernet Product Overview Key Features Multi-Port Precise PSE DC Loading Static PSE Loading > 42 Watts Per Port x 24 Ports Powered Device Flexible LLDP

More information

VIProf: A Vertically Integrated Full-System Profiler

VIProf: A Vertically Integrated Full-System Profiler VIProf: A Vertically Integrated Full-System Profiler NGS Workshop, April 2007 Hussam Mousa Chandra Krintz Lamia Youseff Rich Wolski RACELab Research Dynamic software adaptation As program behavior or resource

More information

Distributed and Cloud Computing

Distributed and Cloud Computing Distributed and Cloud Computing K. Hwang, G. Fox and J. Dongarra Chapter 9: Ubiquitous Clouds and The Internet of Things (suggested for use in 5 lectures in 250 minutes) Prepared by Kai Hwang University

More information

MediaTek CorePilot 2.0. Delivering extreme compute performance with maximum power efficiency

MediaTek CorePilot 2.0. Delivering extreme compute performance with maximum power efficiency MediaTek CorePilot 2.0 Heterogeneous Computing Technology Delivering extreme compute performance with maximum power efficiency In July 2013, MediaTek delivered the industry s first mobile system on a chip

More information

Datasheet. Shenzhen TG-NET Botone Technology Co., Ltd. M-5 TG-NET Cloud Box. Datasheet

Datasheet. Shenzhen TG-NET Botone Technology Co., Ltd. M-5 TG-NET Cloud Box. Datasheet Datasheet M-5 TG-NET Cloud Box Datasheet Shenzhen TG-NET Botone Technology Co., Ltd. Address: Bldg.E3,Int l E-City,#1001 Zhongshanyuan Rd.,Nanshan District,Shenzhen, China Website: www.tg-net.net Tel:

More information