Enhancing Mobile Apps to Use Sensor Hubs without Programmer Effort Haichen Shen, Aruna Balasubramanian, Anthony LaMarca, David Wetherall 1.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

Display Power Management Policies in Practice Stephen P. Tarzia Peter A. Dinda Robert P. Dick Gokhan Memik Presented by: Andrew Hahn.
Code Injection Attacks on HTML5-based Mobile Apps: Characterization, Detection and Mitigation Xing Jin, Xunchao Hu, Kailiang Ying, Wenliang Du, Heng Yin,
Android Power Calculations Approaches and Best Practice Hafed Alghamdi.
Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.
Programmable Interval Timer
FindAll: A Local Search Engine for Mobile Phones Aruna Balasubramanian University of Washington.
Overview: Chapter 7  Sensor node platforms must contend with many issues  Energy consumption  Sensing environment  Networking  Real-time constraints.
Energy control and user impatience Daniel Mosse. Power Model CPUs can vary frequency and voltage, screen brightness, etc. The strategy is: if there is.
Storage-aware Smartphone Energy Savings David T. Nguyen, Gang Zhou, Xin Qi, Ge Peng, Jianing Zhao, Tommy Nguyen, Duy Le.
ACE: Exploiting Correlation for Energy-Efficient and Continuous Context Sensing Suman Nath Microsoft Research MobiSys 2012 Presenter: Jeffrey.
TRADING OFF PREDICTION ACCURACY AND POWER CONSUMPTION FOR CONTEXT- AWARE WEARABLE COMPUTING Presented By: Jeff Khoshgozaran.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
ThinkAir: Dynamic Resource Allocation and Parallel Execution in Cloud for Mobile Code Offloading Sokol Kosta, Pan Hui Deutsche Telekom Labs, Berlin, Germany.
Diversity in Smartphone Usage Hossein Falaki, Ratul mahajan, Srikanth kandula, Dimitrios Lymberopoulous, Ramesh Govindan, Deborah Estrin. UCLA, Microsoft,
CS 423 – Operating Systems Design Lecture 22 – Power Management Klara Nahrstedt and Raoul Rivas Spring 2013 CS Spring 2013.
Efficient Privilege De-Escalation for Ad Libraries in Mobile Apps Bin Liu (SRA), Bin Liu (CMU), Hongxia Jin (SRA), Ramesh Govindan (USC)
Understanding Android Security Yinshu Wu William Enck, Machigar Ongtang, and PatrickMcDaniel Pennsylvania State University.
SoundSense: Scalable Sound Sensing for People-Centric Application on Mobile Phones Hon Lu, Wei Pan, Nocholas D. lane, Tanzeem Choudhury and Andrew T. Campbell.
Ambulation : a tool for monitoring mobility over time using mobile phones Computational Science and Engineering, CSE '09. International Conference.
Common Alerting Protocol (CAP) Implementation Workshop – 2014 ArcGIS Geotrigger for CAP Implementation by Nalaka Kodippili Geo Technical Manager GIS Solutions.
C7:Complex Event Processing Making Sense of Sensor Network Events in Real Time John Doherty Senior Presales Consultant.
D2Taint: Differentiated and Dynamic Information Flow Tracking on Smartphones for Numerous Data Sources Boxuan Gu, Xinfeng Li, Gang Li, Adam C. Champion,
Authors: William Enck The Pennsylvania State University Peter Gilbert Duke University Byung-Gon Chun Intel Labs Landon P. Cox Duke University Jaeyeon Jung.
Low-Power Wireless Sensor Networks
Evaluating Impact of Storage on Smartphone Energy Efficiency David T. Nguyen.
TECH 6 VLIW Architectures {Very Long Instruction Word}
1 Overview 1.Motivation (Kevin) 1.5 hrs 2.Thermal issues (Kevin) 3.Power modeling (David) Thermal management (David) hrs 5.Optimal DTM (Lev).5 hrs.
Gauge Operation and Software by Scott A. Ager. Computer Recommendations 750 MHz Pentium III 64 Meg SRAM 40 Gig Hard Drive 1024 x 768 graphics CD Writer.
University of Central Florida TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones Written by Enck, Gilbert,
CSE 598/494 Class 20. Announcements Graded midterms handed out Assignment 3 coming up due Nov 14 th  After class collect the hardware platforms Phase.
Mahesh Sukumar Subramanian Srinivasan. Introduction Embedded system products keep arriving in the market. There is a continuous growing demand for more.
Transmeta and Dynamic Code Optimization Ashwin Bharambe Mahim Mishra Matthew Rosencrantz.
SecureLocation Abhinav Tyagi. What is SecureLocation? SecureLocation demonstrate use of BluetoothLE based beacons for securing a region. The application.
Engineering on Display: Back-End Development for Sensor Instrumentation Systems Student: Brian J Kapala Supervisor: Dr. Cavalcanti.
Power Containers: An OS Facility for Fine-Grained Power and Energy Management on Multicore Servers Kai Shen, Arrvindh Shriraman, Sandhya Dwarkadas, Xiao.
Checking More Alerting Less PRESENTED BY: AMIN ROIS SINUNG NUGROHO.
Keith Murphy Supervisor: Dr Caspar Ryan RMIT University – Distributed Systems and Networking Melbourne, AUSTRALIA Keith Murphy1.
A Systematic Approach to the Design of Distributed Wearable Systems Urs Anliker, Jan Beutel, Matthias Dyer, Rolf Enzler, Paul Lukowicz Computer Engineering.
Rule based Context Sensing. Background Context sensing – Sensors in smartphone – Reacts based on operating condition Example – Location based reminder,
Determina, Inc. Persisting Information Across Application Executions Derek Bruening Determina, Inc.
Lev Finkelstein ISCA/Thermal Workshop 6/ Overview 1.Motivation (Kevin) 2.Thermal issues (Kevin) 3.Power modeling (David) 4.Thermal management (David)
Adaptive Sleep Scheduling for Energy-efficient Movement-predicted Wireless Communication David K. Y. Yau Purdue University Department of Computer Science.
Accurate Prediction of Power Consumption in Sensor Networks University of Tubingen, Germany In EmNetS 2005 Presented by Han.
By: C. Eldracher, T. McKee, A Morrill, R. Robson. Supervised by: Professor Shams.
Ensieea Rizwani An energy-efficient management mechanism for large-scale server clusters By: Zhenghua Xue, Dong, Ma, Fan, Mei 1.
Power Guru: Implementing Smart Power Management on the Android Platform Written by Raef Mchaymech.
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
Pinpoint: Problem Determination in Large, Dynamic Internet Services Mike Chen, Emre Kıcıman, Eugene Fratkin {emrek,
1 of 14 Lab 2: Design-Space Exploration with MPARM.
A Software Energy Analysis Method using Executable UML for Smartphones Kenji Hisazumi System LSI Research Center Kyushu University.
1 Aphirak Jansang Thiranun Dumrongson
Accelerometer based motion gestures for mobile devices Presented by – Neel Parikh Advisor Committee members Dr. Chris Pollett Dr. Robert Chun Dr. Mark.
Better Performance Through Thread-local Emulation Ali Razeen, Valentin Pistol, Alexander Meijer, and Landon P. Cox Duke University.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
Smartphone Energy Drain in the Wild: Analysis and Implications Authors: Xiaomeng Chen, Ning Ding, Abhilash Jindal†, Y. Charlie Hu†, Maruti Gupta, Rath.
Automatic License Plate Recognition for Electronic Payment system Chiu Wing Cheung d.
Joshua Garcia Institute for Software Research
Hydromet Cloud Presentation
Overview Motivation (Kevin) Thermal issues (Kevin)
Jacob R. Lorch Microsoft Research
Telepath: Sensory Offloading for Wearable Devices
Outline Introduction Related Work
Mobile Application Development
TaintART: A Practical Multi-level Information-Flow Tracking System for Android RunTime Sadiq Basha.
Collaborative Offloading for Distributed Mobile-Cloud Apps
Programmable Logic Controllers (PLCs) An Overview.
Hydromet Cloud Presentation
Smita Vijayakumar Qian Zhu Gagan Agrawal
Gesto: Mapping UI Events to Gestures and Voice Commands
Presentation transcript:

Enhancing Mobile Apps to Use Sensor Hubs without Programmer Effort Haichen Shen, Aruna Balasubramanian, Anthony LaMarca, David Wetherall 1

Continuous sensing apps 2 Participatory sensing: MobiPerf Healthcare apps: Ambulation Lifestyle monitoring: BeWell, Acoustic Step CountingFall DetectionDriver MonitorTheft Detection

But it drains the battery 3 Problem: CPU frequently wakes up to process sensor data

Sensor hub: low power processor 4 Apple M7 Intel Merrifield TI’s Tiva ~1.5 mW at 2MHz

Existing approaches APIs Provided by software company Easy to program ✗ Only support a set of pre-defined events ✗ Require programmer effort Hardware SDK Provided by hardware manufacturer Full control of sensor hub ✗ Compatibility ✗ Require programmer effort 5

MobileHub: leverage sensor hub without programmer effort 6 Optimized app: Same semantics, but more energy efficient MobileHub System Analyze app and rewrite binary

MobileHub example Trigger Steps: 0 No change to app semantics CPU Sensor Display Trigger 0 CPU Sensor Display 1 [Idle] [Active] 1 MobileHub CPU idle for longer Challenge: How does MobileHub know when the application needs to be triggered? App Notificatio n Steps:

Step 3a Sensor hub program: Implement the classifier in the sensor hub, corresponding to the app Step 2 Learning: Learn how change in sensor values result in app notifications Step 3b Application rewriting: Rewrite app to offload sensing to the sensor hub Step 1 Dynamic taint tracking: Track app notifications for a series of sensor inputs Optimized app Original app Step 0: Sensor traces Taint log Classifier model Sensor parameter System Overview MobileHub System

Step 3a Sensor hub program: Implement the classifier in the sensor hub, corresponding to the app Step 2 Learning: Learn how change in sensor values result in app notifications Step 3b Application rewriting: Rewrite app to offload sensing to the sensor hub Step 1 Dynamic taint tracking: Track app notifications for a series of sensor inputs Optimized app Original app Step 0: Sensor traces Taint log Classifier model Sensor parameter System overview MobileHub System

Taint tracking To track the flow of sensor data during the runtime and capture app notifications 10 void onSensorChange(sensorEvent){ X = sensorEvent.val; Y = (X + 1) / 2; if (Y > THRESHOLD) { stepCounter++; display(stepCounter); } Taint tag Taint Source Explicit Information Flow Implicit Information Flow Taint tag Taint Sink Taint tag

Challenge: implicit flow Most taint tracking platforms only track explicit flow Without implicit flow tracking, we could only track 20% of triggers for sensing apps Extend TaintDroid [Enck_OSDI2010] to track implicit flow 11

Implicit flow tracking example 12 void onSensorChange(sensorEvent){ X = sensorEvent.val; Y = (X + 1) / 2; tag = getTaintTag(Y); if (Y > THRESHOLD) { stepCounter++; Taint(stepCounter, tag); display(stepCounter); } } Taint tag Taint Block TAINT CAPTURED Use static analysis to identify all taint blocks and instrument the app binary automatically.

Step 3a Sensor hub program: Implement the classifier in the sensor hub, corresponding to the app Step 2 Learning: Learn how change in sensor values result in app notifications Step 3b Application rewriting: Rewrite app to offload sensing to the sensor hub Step 1 Dynamic taint tracking: Track app notifications for a series of sensor inputs Optimized app Original app Step 0: Sensor traces Taint log Classifier model Sensor parameter System overview MobileHub System

Learning a buffer policy Hard to use a classifier to model the app logic Simply learn the statistical properties and distinguish between idle and active periods 14 Trigger Time Active Idle Label

Goal: find a proper buffer size Precisely predict active and idle periods Reduce the number of notification delays 15 Trigger Time Buffer More to save Notification delay! Buffer

Implementation Implemented in Android –Taint tracking –Interface with sensor hub –App binary rewriting Prototype –Implemented classifier on sensor hub 16

End-to-end measurement 17

Trace-driven evaluation Trace collection from 21 participants –10 traces for sleeping, driving, and daily life –5 traces for other activities Downloaded 20 apps from Google Play 18

19 NameGoogle Play Store IDTaskSensor nWalkpl.rork.nWalkStep countingAccelerometer pedometerbagi.levente.pedometerStep countingAccelerometer stepcounterStepcounter.StepStep countingAccelerometer appsonenet.appsone.android.pedometerStep countingAccelerometer virticjp.virtic.apps.WidgetManpokStep countingAccelerometer walkingcha.health.walkingStep countingAccelerometer lodecodecom.lodecode.metaldetectorMetal detectorMagnetometer imkurtcom.imkurt.metaldetectorMetal detectorMagnetometer tdtcom.tdt.magneticfielddetectorMetal detectorMagnetometer multunuscom.multunus.falldetectorFall detectorAccelerometer itercom.iter.falldetectorFall detectorAccelerometer t3labit.t3lab.fallDetectorFall detectorAccelerometer fallcom.fallFall detectorAccelerometer jietusoftcom.jietusoft.earthquakeEarthquake detectorAccelerometer vibrationycl.vibrationsensorEarthquake detectorOrientation posviccz.posvic.fitnessbar.sleeptrackSleep monitoringGyroscope mywaymyway.project.sleepmanagementSleep monitoringAccelerometer drivingjp.co.noito.AccelerometerDriver monitoringAccelerometer motioncom.app.accelerometerMotion detectorAccelerometer theftheadcom.thefthead.appfinalsettingsTheft detectorAccelerometer

Methodology 20 Run each app on the phone receiving sensor values from a trace file Trace file embeds the buffering policy Power Accounting: Measure the power consumption of phone Deduct the standby power consumption

Evaluation Does MobileHub reduce power consumption for sensing applications? How much delay does MobileHub cause in the app notifications? 21

Energy improvement 22

Notification delay AppTask #Delay/#Noti fications Max delay (s) nWalkStep Counting1/ imkurtFall Detection2/ posvicSleep Monitor1/ theftheadAnti-theft6/ Notification is delayed by at least 0.5s

Conclusion Design and implement MobileHub that rewrites application without programmer effort Experiment with 20 sensing apps, and reduce power consumption by 74% in median MobileHub delays 1.5% app notification across all apps on average 24

Thank you! 25

Back up 26

Android Binder Sensor Hub Service Comm. Manager Sensor Hub Sensor Distributor App Hub Binder Sensor Listener App Hub Binder Sensor Listener Sensor Hub Service 27

Dynamic vs static buffer 28