Access Type

Open Access Dissertation

Date of Award

January 2016

Degree Type


Degree Name



Computer Science

First Advisor

Weisong Shi


The power consumption of mobile devices must be carefully managed to provide a satisfied battery life to users. This target, however, recently has become more and more difficult to complete. We still cannot expect the battery life problem be solved economically shortly, even though researchers already addressed many aspects of this problem. Principally, that's because existing power management systems, which concentrate on controlling hardware power states, cannot effectively make these hardware components work in low-power mode. Why is this the case?

Based on our analysis of 14 users' device usage trace, we found that background applications generate too many activities when the device is either idle or active. These activities are either unimportant or unnecessary for the user. However, a significant amount of CPU time was consumed by them. Moreover, these application activities cause many system services to consume a considerable quantity of battery energy. When we install more applications on our mobile devices, this situation will become even worse. Most application developers rarely consider the power consumption of applications. How to control application state and eliminate redundant application activities become more and more important. Existing power management systems, apparently, cannot handle this situation.

Some publications already tried to solve the problem several years ago.

For example, EcoSystem and Cinder operating systems try to allocate battery energy precisely to applications based on their requirements. However, the problem with their solution is that the estimated application power consumption cannot accurately represent its reasonable demand. Energy-aware adaptation is another solution to decrease application power consumption. In our previous research, we implemented the {\em Anole} framework to supply energy adaptation APIs to applications. To use this framework, application developers have to implement power-saving strategies in their program. In the operating system, we need to change application behavior automatically in energy adaptation mode. We noticed the latest iOS operating system implemented the idea; the system notifies users to turn off background application update when the battery level is lower than $20\%$. However, this kind of uniformity in power management can hardly be accepted by most users, because user habits are different from each other.

We need to customize the power management strategy for each user. Otherwise, the user experience may be significantly impacted. To solve this problem, we propose user-centric power management, which utilizes the usage pattern of the individual user to distinguish important application from regular applications. Energy-saving strategies will not influence important applications to the user. From the analysis of 14 users' device usage traces, we found that most users' user behavior follows their pattern, which is both time-dependent and location-dependent. Based on this observation, we propose the UPS power management, which collects user behaviors and analyzes the usage pattern of users. We can easily use it to bridge usage behavior to energy-saving strategies. We also proposed three energy-saving strategies, UCASS, LocalLite and WakeFilter, to optimize the redundancy in background application activities and location service usage, and the abuse of in wakelock usage. Our simulation result based on real device usage traces shows that these three strategies can effectively save battery energy consumed background application activities, location requests, and wakelock requests.