Self Self Self Self- - -Adaptive Battery and Context Aware Mobile Adaptive Battery and Context Aware Mobile Adaptive Battery and Context Aware Mobile Adaptive Battery and Context Aware Mobile Application Development Application Development Application Development Application Development Soumya Kanti Datta Research Engineer, EURECOM, France Email: [email protected]10 10 10 10 th th th th I I International Wireless Communication nternational Wireless Communication nternational Wireless Communication nternational Wireless Communication and Mobile and Mobile and Mobile and Mobile Computing Conference (IWCMC Computing Conference (IWCMC Computing Conference (IWCMC Computing Conference (IWCMC- - -2014) 2014) 2014) 2014)
28
Embed
Self adaptive battery and context aware mobile application development
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
SelfSelfSelfSelf----Adaptive Battery and Context Aware Mobile Adaptive Battery and Context Aware Mobile Adaptive Battery and Context Aware Mobile Adaptive Battery and Context Aware Mobile Application DevelopmentApplication DevelopmentApplication DevelopmentApplication Development
10101010thththth IIIInternational Wireless Communicationnternational Wireless Communicationnternational Wireless Communicationnternational Wireless Communication and Mobile and Mobile and Mobile and Mobile
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
Network Network Network Network Usage of UsersUsage of UsersUsage of UsersUsage of Users
6-Aug-14 Self-Adaptive Battery and Context Aware Mobile Application Development 8
• 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