Context-Awareness for Mobile Sensing: A Survey and Future Directions <s> C. Energy Estimation and Modeling <s> Mobile consumer-electronics devices, especially phones, are powered from batteries which are limited in size and therefore capacity. This implies that managing energy well is paramount in such devices. ::: ::: Good energy management requires a good understanding of where and how the energy is used. To this end we present a detailed analysis of the power consumption of a recent mobile phone, the Openmoko Neo Freerunner. We measure not only overall system power, but the exact breakdown of power consumption by the device's main hardware components. We present this power breakdown for micro-benchmarks as well as for a number of realistic usage scenarios. These results are validated by overall power measurements of two other devices: the HTC Dream and Google Nexus One. ::: ::: We develop a power model of the Freerunner device and analyse the energy usage and battery lifetime under a number of usage patterns. We discuss the significance of the power drawn by various components, and identify the most promising areas to focus on for further improvements of power management. We also analyse the energy impact of dynamic voltage and frequency scaling of the device's application processor. <s> BIB001 </s> Context-Awareness for Mobile Sensing: A Survey and Future Directions <s> C. Energy Estimation and Modeling <s> This paper describes PowerBooter, an automated power model construction technique that uses built-in battery voltage sensors and knowledge of battery discharge behavior to monitor power consumption while explicitly controlling the power management and activity states of individual components. It requires no external measurement equipment. We also describe PowerTutor, a component power management and activity state introspection based tool that uses the model generated by PowerBooter for online power estimation. PowerBooter is intended to make it quick and easy for application developers and end users to generate power models for new smartphone variants, which each have different power consumption properties and therefore require different power models. PowerTutor is intended to ease the design and selection of power efficient software for embedded systems. Combined, PowerBooter and PowerTutor have the goal of opening power modeling and analysis for more smartphone variants and their users. <s> BIB002 </s> Context-Awareness for Mobile Sensing: A Survey and Future Directions <s> C. Energy Estimation and Modeling <s> We aim to detect and diagnose code misbehavior that wastes energy, which we call energy bugs. This paper describes a method and implementation, called Carat, for performing such diagnosis on mobile devices. Carat takes a collaborative, black-box approach. A non-invasive client app sends intermittent, coarse-grained measurements to a server, which identifies correlations between higher expected energy use and client properties like the running apps, device model, and operating system. Carat successfully detected all energy bugs in a controlled experiment and, during a deployment to 883 users, identified 5434 instances of apps exhibiting buggy behavior in the wild. <s> BIB003
The use of smart devices is constrained by limited battery. The slow growth in energy densities of battery technologies compared with the increasing computing power requirement and hardware capabilities is now driving the need for accurately modeling power consumption profiles. With an high accurate energy model on device performance, energy efficient applications or running operating systems can be designed. However, the diversity in architectural designs within mobile devices and their components along with the differences in usage patterns present a challenge to profile energy consumption. To do this, we need to explicitly consider the impact of different usage patterns, and their relationships with the projected effect on power consumptions. To find the relationship between user activity and energy cost, special applications are developed to gather data on user behavior by tracing usage pattern on device. Traditional methods BIB001 use external equipments such as power meters to model energy estimation based on measurements of device operation in different activity modes. On the contrary, recent studies remove the necessity of using extra equipments by runtime monitoring to track key operating system parameters and hardware components. They first determine a measurable power cost of using a specific device component, and characterize its effect on battery drain over a unit of time. Then, they collect power consumption related data through use of applications, and broke this data down onto premeasured component base statistics collected in applications in order to create a proper energy model. The final step aggregates all data collected by use of different applications and components, and generates power cost coefficients to anticipate online power consumption or battery drain for future smartphone operations. There exist many tools to measure energy consumption of mobile software entities. PowerBooter BIB002 constructs an automated power model technique that uses built-in measurement sensors and knowledge of battery discharge status to monitor power consumption on individual device components. The study also provides an online smartphone application called PowerTutor by associating with proposed technique to estimate systemlevel power consumption, and then inform software developers and end-users power-efficiency-wise application use. Another study in BIB003 uses an application tool called Carat that explores the energy drainage behavior on mobile applications. The study classifies applications as either having an energy bug, or being an energy hog. Informally, an application is an energy hog when the application drains the battery much faster than its average use. Whereas, an application has an energy bug when some running instances of the application drain the battery much faster than other instances of the same application. Trepn Profiler by Qualcomm is a diagnostic tool that measures mobile phone system performance and power consumption. It is capable of system and application level of energy profiling that might helpful to developers to be aware of power optimization in application developments. However, these studies lack of some drawbacks that affect on accuracy of energy estimations. CPU time is mostly used as a proxy for energy, whereas mobile devices may interact with multiple hardware components at the same time for a specific application, and it causes a very variant voltage discharge on the device battery. Also, background running applications or services could consume a significant amount of energy that could distort the energy attributed to the application and create false truthfulness in energy estimation process; therefore, estimation techniques require carefully fine-tuned software environments. Moreover, power modeling tools like Trepn Profiler uses information obtained from internal device components to perform the battery level measurements. However, many mobile devices may not include components inside to support this feature, and power modeling lacks from sufficient measurements on power management. Finally, running energy modeling application tool itself requires involved process and algorithms to retrieve accurate measurements with a very low error margin.