Based in San Francisco California, Mobile Enerlytics was started by researchers from Purdue University who pioneered the line of research on mobile application energy management since 2012. The team published seminal papers on the subject which laid the technical foundation for mobile application battery drain proling and debugging. These research papers have been cited over 1,600 times according to Google Scholar.
The technology inventions have yielded 3 granted patents and 1 provisional patent pending. The three distinct patents focus on abnormal battery drain detection, energy tracking, and energy accounting techniques. The pending patent focuses on providing actionable insights for optimization of battery performance by means of differential energy profiling and machine learning.
This leak had plaged their users for over a year
Here is the time to drain the entire battery on Nexus 6
You won’t catch many if your battery dies so quickly
Where is battery drain happening?
As a first step, we hook up the phone with a power meter and accurately model the power behavior of each mobile device component such as CPU, GPU, WiFi, LTE, and GPS as finite state machine models. These power models correlate the operating system triggers with each components’ actual power consumption. (Patent 9,170,912).
Without such power modeling, the built-in power sensors of mobile devices (or external power meters) can only read out whole-phone power draw and therefore cannot attribute phone battery drain to various hardware components.
Next, at runtime, we track the same operating system triggers using deep kernel profiling and use these triggers to drive each component’s power model to predict the power consumption of each device component over time.
Finally, we map each operating system trigger to its originating software components such as apps, threads, and methods, thus also establishing the mapping between the power draw of mobile device components to program software components. (Patent 10,013,511)
Such a mapping between the power draw of hardware components and code execution allows for a fine-grained energy profile of all software components being executed on the device.
One of the central challenges we solve is in choosing the right operating system triggers which enable high power modeling accuracy, good software accountability, and can be collected with low runtime overhead.
Mobile Enerlytics has developed technologies to provide actionable insights for battery performance optimizations. One such insight was that the “Wish apps battery drain can be reduced by 30% by switching from PNG to JPEG images” and another that “ Spotify 4.8.0 battery drain can be reduced by 52% by eliminating invisible progress bar updates”.
Our technology works by differential energy profiling (Prov. Patent 16/595,321) which applies Machine Learning (ML) techniques to identify energy patterns and anti-patterns from comparing the fine-grained energy profile of hundreds of apps. These energy patterns and anti-patterns when detected can be turned into valuable actionable insight.
Mobile Enerlytics offers Eagle Tester, an automated energy testing solution built using our patented technologies, that can be applied to any application during its software development cycle. Eagle Tester provides fine-grained accounting of energy usage for all applications concurrently running on the system and does not require instrumentation of source code.
Mobile Enerlytics Eagle Tester offers a significant competitive advantage over existing energy profiling solutions available on the market.
|Pre-release testing||Pre- & Post-release testing||Post-release testing|
|Mobile Enerlytics Eagle Tester||Android profiler||Firebase test lab||Battery Historian||Firebase performance monitoring||Android Vitals|
|Where is battery drain happening?|
|Resource energy utilization||CPU, GPU, OLED screen, network, hardware decoder, DRM, SD card, GPS||CPU, network, GPS||No||CPU, Network, Bluetooth||No||No|
|Energy accounting scope||Fine-grained (per component, process, thread)||Coarse-grained (per app, component)||No||Coarse-grained (per app, component)||No||No|
|Why is app draining battery?|
|Instantaneous power timeline||Fine-grained per component and process (power in mAh, synchronized with screen video and logcat)||Coarse-grained whole device (high, medium, low power)||No||No||No||No|
|Power events||Wake locks, alarms, jobs, BLE scans, WiFi scans, top, fg, …||Wake locks, alarms, jobs||No||Wake locks, alarms, jobs, BLE scans, WiFi scans, top, fg, …||No||Wake locks, Alarms, WiFi scans|