SlideShare a Scribd company logo
SelfSelfSelfSelf----Adaptive Battery and Context Aware MobileAdaptive Battery and Context Aware MobileAdaptive Battery and Context Aware MobileAdaptive Battery and Context Aware Mobile
Application DevelopmentApplication DevelopmentApplication DevelopmentApplication Development
Soumya Kanti Datta
Research Engineer, EURECOM, France
Email: soumya-kanti.datta@eurecom.fr
10101010thththth IIIInternational Wireless Communicationnternational Wireless Communicationnternational Wireless Communicationnternational Wireless Communication and Mobileand Mobileand Mobileand Mobile
Computing Conference (IWCMCComputing Conference (IWCMCComputing Conference (IWCMCComputing Conference (IWCMC----2014)2014)2014)2014)
ContentsContentsContentsContents
• Introduction
• Lessons Learnt from Power Monitor
• Self-Adaptive Framework
• Prototype Implementations
• Result
• Conclusion
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 2
IntroductionIntroductionIntroductionIntroduction
• High power consumption
– at hardware resources
– By mobile applications
• Battery – a bottleneck for mobile devices and
applications
• Developed ‘Power Monitor’ to understand
– Usage patterns of smart devices
– How applications limit the battery life
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 3
ContentsContentsContentsContents
• Introduction
• Lessons Learnt from Power Monitor
• Self-Adaptive Framework
• Prototype Implementations
• Result
• Conclusion
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 4
Brightness Level in Mobile DevicesBrightness Level in Mobile DevicesBrightness Level in Mobile DevicesBrightness Level in Mobile Devices
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 5
95
24
127
38
20
155
95
107
255 255
102
130
79
10
45
34
135
255
125
65
255
96
179
63
144
30 34 30
107 102
0
50
100
150
200
250
300
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Brightness
User No.
Brightness Level in Smart Devices
Energy Consumption at HardwareEnergy Consumption at HardwareEnergy Consumption at HardwareEnergy Consumption at Hardware
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 6
Battery Consumption at Network InterfacesBattery Consumption at Network InterfacesBattery Consumption at Network InterfacesBattery Consumption at Network Interfaces
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 7
Network Interface Battery Consumption (mA)
Active mode Idle mode
EDGE 300 5
3G 225 2.5 – 3
Wi-Fi 330 12 - 15
NetworkNetworkNetworkNetwork Usage of UsersUsage of UsersUsage of UsersUsage of Users
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 8
0
50
100
150
200
250
300
350
400
450
1 5 9 13 17 21 25 29
Traffic
User
Total Network Traffic per Day (MB)
Upload
Downld
Lessons LearntLessons LearntLessons LearntLessons Learnt
• Applications keep on consuming power even
though battery level is low and status is
discharging.
• Many users of the smart devices do not modify
the settings so that hardware elements spend
less power.
• Thus
– Applications should be self-adaptive to react to
battery level, status, context etc.
– Dynamically change the device settings to activate
low-power mode
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 9
ContentsContentsContentsContents
• Introduction
• Lessons Learnt from Power Monitor
• Self-Adaptive Framework
• Prototype Implementations
• Result
• Conclusion
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 10
SelfSelfSelfSelf----Adaptive FrameworkAdaptive FrameworkAdaptive FrameworkAdaptive Framework
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 11
Battery and Context MonitorBattery and Context MonitorBattery and Context MonitorBattery and Context Monitor
• Battery monitor
– Battery level, status (AC/USB charging or
discharging)
• Context monitor
– Location (home, office, abroad)
• Statistics
– Battery charging pattern by correlating status
– Location
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 12
Analyser EngineAnalyser EngineAnalyser EngineAnalyser Engine
• Examines
– Current battery level (B) , status (S), occurrence of
next charging opportunity (C) and location (L)
• Triggers one of these profiles
– Light self-adaption
– Medium self-adaption
– Strong self-adaption
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 13
SelfSelfSelfSelf----Adaptive FeaturesAdaptive FeaturesAdaptive FeaturesAdaptive Features
• Hardware resource adaption
– Minimize brightness, turn off GPS
• Software resource adaption
– Use network to get location not GPS
• User feature adaption
– Turn-off secondary features in an application
• Additional optimization
– Distribute CPU intensive tasks
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 14
ContentsContentsContentsContents
• Introduction
• Lessons Learnt from Power Monitor
• Self-Adaptive Framework
• Prototype Implementations
• Result
• Conclusion
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 15
Prototype ImplementationPrototype ImplementationPrototype ImplementationPrototype Implementation
• Two Android apps are developed
– One with self-adaptive features and another without that.
• The functionalities are
– Display several texts in the screen with default brightness
level being 200.
– Stream videos from a server and enabling background
services to download and upload images, video and text
files to a server. These are the primary functionalities of
the application.
– Display location in a map using both GPS and network
based locations to compare and determine the best
location. This is a secondary feature in the application.
– Show in-app advertisements.
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 16
Condition for No SelfCondition for No SelfCondition for No SelfCondition for No Self----AdaptionAdaptionAdaptionAdaption
• Battery level lies within 76-100
– 76 < B < 100
• Battery status can be either discharging or
charging
– S == discharging or S == charging
• Irrespective of the occurrence of charging
opportunity and location information
– C == Anything
– L == Anything
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 17
Conditions for Light SelfConditions for Light SelfConditions for Light SelfConditions for Light Self----AdaptionAdaptionAdaptionAdaption
• Triggered when one of the following is true
• Condition 1
– (51<B<75) and (S == discharging) and (C==anything) and
(L==anything)
• Condition 2
– (11<B<50) and (S == AC charging) and (C==anything) and
(L==anything)
• Condition 3
– (11<B<50) and (S == discharging) and (11<C<30) and
(L!=roaming)
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 18
Light SelfLight SelfLight SelfLight Self----Adaptive FeaturesAdaptive FeaturesAdaptive FeaturesAdaptive Features
• The brightness is set to 125.
• For bulk-data transfer, compress the data before uploading to
a server. The server must decompress the data after receiving
it.
• Check for high speed network before streaming video
contents or transferring bulk data.
• If highly accurate location is not needed then use coarse
location information for the mapping functionality.
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 19
Conditions for Medium SelfConditions for Medium SelfConditions for Medium SelfConditions for Medium Self----AdaptionAdaptionAdaptionAdaption
• Triggered when one of the following is true
• Condition 1
– (10<B<50) and (S == discharging or S == USB charging) and
(C>31) and (L != roaming)
• Condition 2
– (1<B<10) and (S == anything) and (C<10) and (L ==
anything)
• Condition 3
– (51<B<75) and (S == anything) and (C == anything) and (L
== travelling abroad)
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 20
Medium SelfMedium SelfMedium SelfMedium Self----Adaptive FeaturesAdaptive FeaturesAdaptive FeaturesAdaptive Features
• Tone down brightness to 75. This degrades the user experience to some
extent if the user prefers higher brightness level.
• Network operations are preferred to be done on high speed networks like
Wi-Fi/3G. If none of them are available and EDGE has to be used, notify
the user about the same and ask if the user would like to continue to use
EDGE.
• Transferring bulk data over EDGE should be avoided. This is a user feature
adaption in the application.
• Establishing multiple connections to stream HD videos or downloading
high volume data should be avoided.
• For scheduling background updates, inexact timer must be used. In this
case, Android system will couple several network operations together to
conserve battery and bandwidth.
• More features are given in the paper.
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 21
Conditions for Strong SelfConditions for Strong SelfConditions for Strong SelfConditions for Strong Self----AdaptionAdaptionAdaptionAdaption
• Triggered when one of the following is true
• Condition 1
– (B<10) and (S == anything) and (C>31) and (L == anything)
• Condition 2
– (11<B<50) and (S == anything) and (C == anything) and (L
== travelling abroad)
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 22
Strong SelfStrong SelfStrong SelfStrong Self----Adaptive FeaturesAdaptive FeaturesAdaptive FeaturesAdaptive Features
• Reduce brightness to 30 which minimizes the power consumption at
display.
• Defer network operations from the application and notify the user about
the same. This includes taking backup in remote server, streaming audio
or video files and downloading bulk data. This is another user feature
adaption done to make the dying battery last longer.
• By default the mapping feature is not offered in this profile as network
operations are turned off. But there is an option where the user can
override the settings and use only wireless network location to get the
location.
• Stop background updates or any less important services.
• Stop computationally expensive parts of the applications.
• Do not show in-app advertisements.
• Avoid using sensors if possible. For example, do not change the view
based on rotation of the screen.
• For video playback from the memory, reduce the size of viewing window.
For audio playback, reduce the volume.
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 23
ContentsContentsContentsContents
• Introduction
• Lessons Learnt from Power Monitor
• Self-Adaptive Framework
• Prototype Implementations
• Results
• Conclusion
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 24
ResultsResultsResultsResults
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 25
ContentsContentsContentsContents
• Introduction
• Lessons Learnt from Power Monitor
• Self-Adaptive Framework
• Prototype Implementations
• Result
• Conclusion
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 26
ConclusionConclusionConclusionConclusion
• Presented a self-adaptive framework for
Android application development.
• Monitors several parameters, analyzes them
and triggers the appropriate self-adaptive
profile.
• Prototype application and validation through
promising results.
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 27
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 28

More Related Content

Similar to Self adaptive battery and context aware mobile application development

Synapseindia mobile apps cellular networks and mobile computing part1
Synapseindia mobile apps cellular networks and mobile computing part1Synapseindia mobile apps cellular networks and mobile computing part1
Synapseindia mobile apps cellular networks and mobile computing part1
saritasingh19866
 
How to Lower Android Power Consumption Without Affecting Performance
How to Lower Android Power Consumption Without Affecting PerformanceHow to Lower Android Power Consumption Without Affecting Performance
How to Lower Android Power Consumption Without Affecting Performance
rickschwar
 
Implementing Oracle Utilities Smart Grid Gateway: A Customer Experience
Implementing Oracle Utilities Smart Grid Gateway: A Customer ExperienceImplementing Oracle Utilities Smart Grid Gateway: A Customer Experience
Implementing Oracle Utilities Smart Grid Gateway: A Customer Experience
cgjohns
 
Deep Automation and ML-Driven Analytics for Application Services
Deep Automation and ML-Driven Analytics for Application ServicesDeep Automation and ML-Driven Analytics for Application Services
Deep Automation and ML-Driven Analytics for Application Services
Avi Networks
 
Software Defined Data Center: The Intersection of Networking and Storage
Software Defined Data Center: The Intersection of Networking and StorageSoftware Defined Data Center: The Intersection of Networking and Storage
Software Defined Data Center: The Intersection of Networking and Storage
EMC
 
How Alcatel-Lucent Enterprise Makes Universities State-of-the-Art
How Alcatel-Lucent Enterprise Makes Universities State-of-the-ArtHow Alcatel-Lucent Enterprise Makes Universities State-of-the-Art
How Alcatel-Lucent Enterprise Makes Universities State-of-the-Art
Alcatel-Lucent Enterprise
 
Android Mobile Application for Video Streaming using Load Balancing
Android Mobile Application for Video Streaming using Load BalancingAndroid Mobile Application for Video Streaming using Load Balancing
Android Mobile Application for Video Streaming using Load Balancing
IRJET Journal
 
Personalized power saving profiles generation analyzing smart device usage pa...
Personalized power saving profiles generation analyzing smart device usage pa...Personalized power saving profiles generation analyzing smart device usage pa...
Personalized power saving profiles generation analyzing smart device usage pa...
Soumya Kanti Datta
 
Software Defined Data Center: The Intersection of Networking and Storage
Software Defined Data Center: The Intersection of Networking and StorageSoftware Defined Data Center: The Intersection of Networking and Storage
Software Defined Data Center: The Intersection of Networking and Storage
EMC
 
Innovate 2013 session 1243 mobile testing.v3
Innovate 2013   session 1243 mobile testing.v3Innovate 2013   session 1243 mobile testing.v3
Innovate 2013 session 1243 mobile testing.v3
Leigh Williamson
 
Open programmable architecture for java enabled network devices
Open programmable architecture for java enabled network devicesOpen programmable architecture for java enabled network devices
Open programmable architecture for java enabled network devices
Tal Lavian Ph.D.
 
Open Programmable Architecture for Java-enabled Network Devices
Open Programmable Architecture for Java-enabled Network DevicesOpen Programmable Architecture for Java-enabled Network Devices
Open Programmable Architecture for Java-enabled Network Devices
Tal Lavian Ph.D.
 
Doug Sillars on App Optimization
Doug Sillars on App OptimizationDoug Sillars on App Optimization
Doug Sillars on App Optimization
wipjam
 
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Prolifics
 
Assessment to Delegate the Task to Cloud for Increasing Energy Efficiency of ...
Assessment to Delegate the Task to Cloud for Increasing Energy Efficiency of ...Assessment to Delegate the Task to Cloud for Increasing Energy Efficiency of ...
Assessment to Delegate the Task to Cloud for Increasing Energy Efficiency of ...
IRJET Journal
 
Update OSGi Residential Expert Group
Update OSGi Residential Expert Group Update OSGi Residential Expert Group
Update OSGi Residential Expert Group
OSGiUsers
 
Connectivity Challenges for CAVs - Athonet Group
Connectivity Challenges for CAVs - Athonet GroupConnectivity Challenges for CAVs - Athonet Group
Connectivity Challenges for CAVs - Athonet Group
techUK
 
Software Defined Networking (SDN) / Network Function Virtualization (NFV) bas...
Software Defined Networking (SDN) / Network Function Virtualization (NFV) bas...Software Defined Networking (SDN) / Network Function Virtualization (NFV) bas...
Software Defined Networking (SDN) / Network Function Virtualization (NFV) bas...
Michelle Holley
 
“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...
“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...
“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...
Edge AI and Vision Alliance
 
Beyond Traditional Mobile Testing
Beyond Traditional Mobile TestingBeyond Traditional Mobile Testing
Beyond Traditional Mobile Testing
ColomboCampsCommunity
 

Similar to Self adaptive battery and context aware mobile application development (20)

Synapseindia mobile apps cellular networks and mobile computing part1
Synapseindia mobile apps cellular networks and mobile computing part1Synapseindia mobile apps cellular networks and mobile computing part1
Synapseindia mobile apps cellular networks and mobile computing part1
 
How to Lower Android Power Consumption Without Affecting Performance
How to Lower Android Power Consumption Without Affecting PerformanceHow to Lower Android Power Consumption Without Affecting Performance
How to Lower Android Power Consumption Without Affecting Performance
 
Implementing Oracle Utilities Smart Grid Gateway: A Customer Experience
Implementing Oracle Utilities Smart Grid Gateway: A Customer ExperienceImplementing Oracle Utilities Smart Grid Gateway: A Customer Experience
Implementing Oracle Utilities Smart Grid Gateway: A Customer Experience
 
Deep Automation and ML-Driven Analytics for Application Services
Deep Automation and ML-Driven Analytics for Application ServicesDeep Automation and ML-Driven Analytics for Application Services
Deep Automation and ML-Driven Analytics for Application Services
 
Software Defined Data Center: The Intersection of Networking and Storage
Software Defined Data Center: The Intersection of Networking and StorageSoftware Defined Data Center: The Intersection of Networking and Storage
Software Defined Data Center: The Intersection of Networking and Storage
 
How Alcatel-Lucent Enterprise Makes Universities State-of-the-Art
How Alcatel-Lucent Enterprise Makes Universities State-of-the-ArtHow Alcatel-Lucent Enterprise Makes Universities State-of-the-Art
How Alcatel-Lucent Enterprise Makes Universities State-of-the-Art
 
Android Mobile Application for Video Streaming using Load Balancing
Android Mobile Application for Video Streaming using Load BalancingAndroid Mobile Application for Video Streaming using Load Balancing
Android Mobile Application for Video Streaming using Load Balancing
 
Personalized power saving profiles generation analyzing smart device usage pa...
Personalized power saving profiles generation analyzing smart device usage pa...Personalized power saving profiles generation analyzing smart device usage pa...
Personalized power saving profiles generation analyzing smart device usage pa...
 
Software Defined Data Center: The Intersection of Networking and Storage
Software Defined Data Center: The Intersection of Networking and StorageSoftware Defined Data Center: The Intersection of Networking and Storage
Software Defined Data Center: The Intersection of Networking and Storage
 
Innovate 2013 session 1243 mobile testing.v3
Innovate 2013   session 1243 mobile testing.v3Innovate 2013   session 1243 mobile testing.v3
Innovate 2013 session 1243 mobile testing.v3
 
Open programmable architecture for java enabled network devices
Open programmable architecture for java enabled network devicesOpen programmable architecture for java enabled network devices
Open programmable architecture for java enabled network devices
 
Open Programmable Architecture for Java-enabled Network Devices
Open Programmable Architecture for Java-enabled Network DevicesOpen Programmable Architecture for Java-enabled Network Devices
Open Programmable Architecture for Java-enabled Network Devices
 
Doug Sillars on App Optimization
Doug Sillars on App OptimizationDoug Sillars on App Optimization
Doug Sillars on App Optimization
 
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
 
Assessment to Delegate the Task to Cloud for Increasing Energy Efficiency of ...
Assessment to Delegate the Task to Cloud for Increasing Energy Efficiency of ...Assessment to Delegate the Task to Cloud for Increasing Energy Efficiency of ...
Assessment to Delegate the Task to Cloud for Increasing Energy Efficiency of ...
 
Update OSGi Residential Expert Group
Update OSGi Residential Expert Group Update OSGi Residential Expert Group
Update OSGi Residential Expert Group
 
Connectivity Challenges for CAVs - Athonet Group
Connectivity Challenges for CAVs - Athonet GroupConnectivity Challenges for CAVs - Athonet Group
Connectivity Challenges for CAVs - Athonet Group
 
Software Defined Networking (SDN) / Network Function Virtualization (NFV) bas...
Software Defined Networking (SDN) / Network Function Virtualization (NFV) bas...Software Defined Networking (SDN) / Network Function Virtualization (NFV) bas...
Software Defined Networking (SDN) / Network Function Virtualization (NFV) bas...
 
“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...
“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...
“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...
 
Beyond Traditional Mobile Testing
Beyond Traditional Mobile TestingBeyond Traditional Mobile Testing
Beyond Traditional Mobile Testing
 

More from Soumya Kanti Datta

WoT framework and use cases
WoT framework and use casesWoT framework and use cases
WoT framework and use cases
Soumya Kanti Datta
 
Survey, comparison & evaluation of cross platform mobile application developm...
Survey, comparison & evaluation of cross platform mobile application developm...Survey, comparison & evaluation of cross platform mobile application developm...
Survey, comparison & evaluation of cross platform mobile application developm...
Soumya Kanti Datta
 
Minimizing energy expenditure in smart devices
Minimizing energy expenditure in smart devicesMinimizing energy expenditure in smart devices
Minimizing energy expenditure in smart devices
Soumya Kanti Datta
 
Android power management, current and future trends
Android power management, current and future trendsAndroid power management, current and future trends
Android power management, current and future trends
Soumya Kanti Datta
 
An IoT gateway centric architecture to provide novel m2m services
An IoT gateway centric architecture to provide novel m2m servicesAn IoT gateway centric architecture to provide novel m2m services
An IoT gateway centric architecture to provide novel m2m services
Soumya Kanti Datta
 
Connect and control things
Connect and control thingsConnect and control things
Connect and control things
Soumya Kanti Datta
 
Smart M2M gateway based architecture for m2m device and endpoint management
Smart M2M gateway based architecture for m2m device and endpoint managementSmart M2M gateway based architecture for m2m device and endpoint management
Smart M2M gateway based architecture for m2m device and endpoint management
Soumya Kanti Datta
 
Usage patterns based security attacks for smart devices
Usage patterns based security attacks for smart devicesUsage patterns based security attacks for smart devices
Usage patterns based security attacks for smart devices
Soumya Kanti Datta
 
M2M communications and internet of things for smart cities
M2M communications and internet of things for smart citiesM2M communications and internet of things for smart cities
M2M communications and internet of things for smart cities
Soumya Kanti Datta
 
A lightweight framework for efficient m2m device management in onem2m archite...
A lightweight framework for efficient m2m device management in onem2m archite...A lightweight framework for efficient m2m device management in onem2m archite...
A lightweight framework for efficient m2m device management in onem2m archite...
Soumya Kanti Datta
 

More from Soumya Kanti Datta (10)

WoT framework and use cases
WoT framework and use casesWoT framework and use cases
WoT framework and use cases
 
Survey, comparison & evaluation of cross platform mobile application developm...
Survey, comparison & evaluation of cross platform mobile application developm...Survey, comparison & evaluation of cross platform mobile application developm...
Survey, comparison & evaluation of cross platform mobile application developm...
 
Minimizing energy expenditure in smart devices
Minimizing energy expenditure in smart devicesMinimizing energy expenditure in smart devices
Minimizing energy expenditure in smart devices
 
Android power management, current and future trends
Android power management, current and future trendsAndroid power management, current and future trends
Android power management, current and future trends
 
An IoT gateway centric architecture to provide novel m2m services
An IoT gateway centric architecture to provide novel m2m servicesAn IoT gateway centric architecture to provide novel m2m services
An IoT gateway centric architecture to provide novel m2m services
 
Connect and control things
Connect and control thingsConnect and control things
Connect and control things
 
Smart M2M gateway based architecture for m2m device and endpoint management
Smart M2M gateway based architecture for m2m device and endpoint managementSmart M2M gateway based architecture for m2m device and endpoint management
Smart M2M gateway based architecture for m2m device and endpoint management
 
Usage patterns based security attacks for smart devices
Usage patterns based security attacks for smart devicesUsage patterns based security attacks for smart devices
Usage patterns based security attacks for smart devices
 
M2M communications and internet of things for smart cities
M2M communications and internet of things for smart citiesM2M communications and internet of things for smart cities
M2M communications and internet of things for smart cities
 
A lightweight framework for efficient m2m device management in onem2m archite...
A lightweight framework for efficient m2m device management in onem2m archite...A lightweight framework for efficient m2m device management in onem2m archite...
A lightweight framework for efficient m2m device management in onem2m archite...
 

Self adaptive battery and context aware mobile application development

  • 1. SelfSelfSelfSelf----Adaptive Battery and Context Aware MobileAdaptive Battery and Context Aware MobileAdaptive Battery and Context Aware MobileAdaptive Battery and Context Aware Mobile Application DevelopmentApplication DevelopmentApplication DevelopmentApplication Development Soumya Kanti Datta Research Engineer, EURECOM, France Email: soumya-kanti.datta@eurecom.fr 10101010thththth IIIInternational Wireless Communicationnternational Wireless Communicationnternational Wireless Communicationnternational Wireless Communication and Mobileand Mobileand Mobileand Mobile Computing Conference (IWCMCComputing Conference (IWCMCComputing Conference (IWCMCComputing Conference (IWCMC----2014)2014)2014)2014)
  • 2. ContentsContentsContentsContents • Introduction • Lessons Learnt from Power Monitor • Self-Adaptive Framework • Prototype Implementations • Result • Conclusion 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 2
  • 3. IntroductionIntroductionIntroductionIntroduction • High power consumption – at hardware resources – By mobile applications • Battery – a bottleneck for mobile devices and applications • Developed ‘Power Monitor’ to understand – Usage patterns of smart devices – How applications limit the battery life 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 3
  • 4. ContentsContentsContentsContents • Introduction • Lessons Learnt from Power Monitor • Self-Adaptive Framework • Prototype Implementations • Result • Conclusion 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 4
  • 5. Brightness Level in Mobile DevicesBrightness Level in Mobile DevicesBrightness Level in Mobile DevicesBrightness Level in Mobile Devices 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 5 95 24 127 38 20 155 95 107 255 255 102 130 79 10 45 34 135 255 125 65 255 96 179 63 144 30 34 30 107 102 0 50 100 150 200 250 300 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Brightness User No. Brightness Level in Smart Devices
  • 6. Energy Consumption at HardwareEnergy Consumption at HardwareEnergy Consumption at HardwareEnergy Consumption at Hardware 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 6
  • 7. Battery Consumption at Network InterfacesBattery Consumption at Network InterfacesBattery Consumption at Network InterfacesBattery Consumption at Network Interfaces 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 7 Network Interface Battery Consumption (mA) Active mode Idle mode EDGE 300 5 3G 225 2.5 – 3 Wi-Fi 330 12 - 15
  • 8. NetworkNetworkNetworkNetwork Usage of UsersUsage of UsersUsage of UsersUsage of Users 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 8 0 50 100 150 200 250 300 350 400 450 1 5 9 13 17 21 25 29 Traffic User Total Network Traffic per Day (MB) Upload Downld
  • 9. Lessons LearntLessons LearntLessons LearntLessons Learnt • Applications keep on consuming power even though battery level is low and status is discharging. • Many users of the smart devices do not modify the settings so that hardware elements spend less power. • Thus – Applications should be self-adaptive to react to battery level, status, context etc. – Dynamically change the device settings to activate low-power mode 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 9
  • 10. ContentsContentsContentsContents • Introduction • Lessons Learnt from Power Monitor • Self-Adaptive Framework • Prototype Implementations • Result • Conclusion 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 10
  • 11. SelfSelfSelfSelf----Adaptive FrameworkAdaptive FrameworkAdaptive FrameworkAdaptive Framework 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 11
  • 12. Battery and Context MonitorBattery and Context MonitorBattery and Context MonitorBattery and Context Monitor • Battery monitor – Battery level, status (AC/USB charging or discharging) • Context monitor – Location (home, office, abroad) • Statistics – Battery charging pattern by correlating status – Location 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 12
  • 13. Analyser EngineAnalyser EngineAnalyser EngineAnalyser Engine • Examines – Current battery level (B) , status (S), occurrence of next charging opportunity (C) and location (L) • Triggers one of these profiles – Light self-adaption – Medium self-adaption – Strong self-adaption 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 13
  • 14. SelfSelfSelfSelf----Adaptive FeaturesAdaptive FeaturesAdaptive FeaturesAdaptive Features • Hardware resource adaption – Minimize brightness, turn off GPS • Software resource adaption – Use network to get location not GPS • User feature adaption – Turn-off secondary features in an application • Additional optimization – Distribute CPU intensive tasks 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 14
  • 15. ContentsContentsContentsContents • Introduction • Lessons Learnt from Power Monitor • Self-Adaptive Framework • Prototype Implementations • Result • Conclusion 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 15
  • 16. Prototype ImplementationPrototype ImplementationPrototype ImplementationPrototype Implementation • Two Android apps are developed – One with self-adaptive features and another without that. • The functionalities are – Display several texts in the screen with default brightness level being 200. – Stream videos from a server and enabling background services to download and upload images, video and text files to a server. These are the primary functionalities of the application. – Display location in a map using both GPS and network based locations to compare and determine the best location. This is a secondary feature in the application. – Show in-app advertisements. 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 16
  • 17. Condition for No SelfCondition for No SelfCondition for No SelfCondition for No Self----AdaptionAdaptionAdaptionAdaption • Battery level lies within 76-100 – 76 < B < 100 • Battery status can be either discharging or charging – S == discharging or S == charging • Irrespective of the occurrence of charging opportunity and location information – C == Anything – L == Anything 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 17
  • 18. Conditions for Light SelfConditions for Light SelfConditions for Light SelfConditions for Light Self----AdaptionAdaptionAdaptionAdaption • Triggered when one of the following is true • Condition 1 – (51<B<75) and (S == discharging) and (C==anything) and (L==anything) • Condition 2 – (11<B<50) and (S == AC charging) and (C==anything) and (L==anything) • Condition 3 – (11<B<50) and (S == discharging) and (11<C<30) and (L!=roaming) 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 18
  • 19. Light SelfLight SelfLight SelfLight Self----Adaptive FeaturesAdaptive FeaturesAdaptive FeaturesAdaptive Features • The brightness is set to 125. • For bulk-data transfer, compress the data before uploading to a server. The server must decompress the data after receiving it. • Check for high speed network before streaming video contents or transferring bulk data. • If highly accurate location is not needed then use coarse location information for the mapping functionality. 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 19
  • 20. Conditions for Medium SelfConditions for Medium SelfConditions for Medium SelfConditions for Medium Self----AdaptionAdaptionAdaptionAdaption • Triggered when one of the following is true • Condition 1 – (10<B<50) and (S == discharging or S == USB charging) and (C>31) and (L != roaming) • Condition 2 – (1<B<10) and (S == anything) and (C<10) and (L == anything) • Condition 3 – (51<B<75) and (S == anything) and (C == anything) and (L == travelling abroad) 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 20
  • 21. Medium SelfMedium SelfMedium SelfMedium Self----Adaptive FeaturesAdaptive FeaturesAdaptive FeaturesAdaptive Features • Tone down brightness to 75. This degrades the user experience to some extent if the user prefers higher brightness level. • Network operations are preferred to be done on high speed networks like Wi-Fi/3G. If none of them are available and EDGE has to be used, notify the user about the same and ask if the user would like to continue to use EDGE. • Transferring bulk data over EDGE should be avoided. This is a user feature adaption in the application. • Establishing multiple connections to stream HD videos or downloading high volume data should be avoided. • For scheduling background updates, inexact timer must be used. In this case, Android system will couple several network operations together to conserve battery and bandwidth. • More features are given in the paper. 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 21
  • 22. Conditions for Strong SelfConditions for Strong SelfConditions for Strong SelfConditions for Strong Self----AdaptionAdaptionAdaptionAdaption • Triggered when one of the following is true • Condition 1 – (B<10) and (S == anything) and (C>31) and (L == anything) • Condition 2 – (11<B<50) and (S == anything) and (C == anything) and (L == travelling abroad) 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 22
  • 23. Strong SelfStrong SelfStrong SelfStrong Self----Adaptive FeaturesAdaptive FeaturesAdaptive FeaturesAdaptive Features • Reduce brightness to 30 which minimizes the power consumption at display. • Defer network operations from the application and notify the user about the same. This includes taking backup in remote server, streaming audio or video files and downloading bulk data. This is another user feature adaption done to make the dying battery last longer. • By default the mapping feature is not offered in this profile as network operations are turned off. But there is an option where the user can override the settings and use only wireless network location to get the location. • Stop background updates or any less important services. • Stop computationally expensive parts of the applications. • Do not show in-app advertisements. • Avoid using sensors if possible. For example, do not change the view based on rotation of the screen. • For video playback from the memory, reduce the size of viewing window. For audio playback, reduce the volume. 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 23
  • 24. ContentsContentsContentsContents • Introduction • Lessons Learnt from Power Monitor • Self-Adaptive Framework • Prototype Implementations • Results • Conclusion 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 24
  • 25. ResultsResultsResultsResults 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 25
  • 26. ContentsContentsContentsContents • Introduction • Lessons Learnt from Power Monitor • Self-Adaptive Framework • Prototype Implementations • Result • Conclusion 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 26
  • 27. ConclusionConclusionConclusionConclusion • Presented a self-adaptive framework for Android application development. • Monitors several parameters, analyzes them and triggers the appropriate self-adaptive profile. • Prototype application and validation through promising results. 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 27
  • 28. 6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 28