Innovations in mobile hardware and software need corresponding advances in the accurate assessment of power consumption under realistic conditions. This is especially relevant for smartphone-based background sensing applications. Assessing the power consumption of such applications requires ease of use, deployment in situ and well-understood error characteristics. Existing measurement methods, based on external power meters or power models, are increasingly unable to keep up with these requirements. External power meters require access to device batteries and do not capture context-sensitive power drain. Power models must be rebuilt for each specific device, adapted to each new OS version, and require administrator access to instrument fine-grained system-level APIs. These limitations impede the inclusion of accurate, universal evaluations in the research literature. We propose a simple and portable alternative, Zephyr, which infers an application's power drain using the relative State of Charge change rate (SoCCR) via the phone's battery sensor. We validate our methodology through experiments that characterize SoCCR on Android and iOS devices and show that they are consistent with hardware readings, across identical phones, for the same phone over time and over both slowly and quickly varying workloads. The Zephyr implementation is modular, open source, and available for Android and iOS today.
|Publication status||Published - 1 Dec 2018|