Mini Project Report On Android Battery Saver System: Department of Information Technology
Mini Project Report On Android Battery Saver System: Department of Information Technology
Mini Project Report On Android Battery Saver System: Department of Information Technology
On
INTERNAL GUIDE
DR.L. SRIDHARA RAO
ASSOCIATE PROFESSOR
SUBMITTED BY
CH. SAI VENKAT
(18671A1209)
HOD-IT
Literature Survey:
The idea of using prediction with battery saving applications originates from examining how
prediction was used in other applications. In many cases, prediction was used to reduce wait
times and preserve battery life. However, these were part of larger projects, where battery life
was not the primary objective. The repeated mention of battery life in many articles was a
clear indicator of its importance to mobile applications, leading to the combination of both
concepts.
2.2. Prediction
Many people may be familiar with smartphone prediction due to its use on their keyboard.
However, the applications of prediction extend well beyond such a simple use. The primary
benefit of prediction is speed, and a reduced wait time is always welcomed by users. Higgins
et al. [14] examine prediction on smartphones and illustrate how and when it can be used.
They have designed an API that leverages the uncertainty level in their prediction before
making a decision. The API can use three different methods when determining the predictive
error rate, each with a different drawback. Their API is used and tested on two applications: a
network selection, and a speech recognition application. The network selection application is
used to determine if the smartphone should transmit data over cellular, WiFi or both
mediums, 20 based on latency, bandwidth, dwell time, and energy usage. In the speech
recognition system, the API is used to determine if the recognition should be performed on
the device, the remote server, or both, based on latency, bandwidth, dwell time, application
compute time, and energy usage. For both applications, a scenario to use both options exists
because Higgins et al. consider the benefits of redundant strategies, as they understand the
uncertainty of predictive approaches. Their results for the network selection application
resulted in a 21% reduced wait time over cellular-only strategies, and 44% for Wi-Fi
preferred and adaptive strategies. For speech recognition, there were varying results
depending on the energy usage. Redundant strategies are still beneficial for low to mid-
energy cost scenarios, but prove to be too energy consuming for high-cost scenarios. In
addition, their API reduced recognition delay in the no-cost energy scenario by 23%. While
their study showcases the benefits of prediction, it fails to illustrate where and how it can be
used. Other research into the topic provides better examples of its practicality.
One notable example of prediction use is in mobile exercise applications. Kotsev et al. [15]
have begun using prediction to determine when users will exercise. . By predicting a pattern,
researchers can develop a better understand of what motivates users to exercise, allowing
them to create better tools to increase motivation. Their work begins with analyzing a dataset
generated from over 10000 users, with the goal of identifying as many different factors as
possible. The dataset provided information such as the type of activity performed, the country
the user is from, their social connectivity, when they exercise, and how long their exercise
for. While their research is inconclusive, they identify the top 10 features that can be used to
predict future behaviour, which are runs per week, mean runs per week, max runs per week,
min runs per week, average runs per week, 2 elapsed hours, min distance, min elapsed hours,
mean speed, and max speed.
Bulut et al. [16] have also utilized prediction in a unique way, creating a crowdsourced line
wait-time monitoring system with smartphones. Its implementation at grocery stores, DMV’s
and banks would allow users to make informed choices in time-sensitive environments.
Known as LineKing, it has been tested at a coffee shop at the State University of New York
at Buffalo. Customers who enter the shop will establish a connection with the service, where
any connection lasting longer than 2 minutes but less than 20 is deemed a customer. The
wait-time calculation is completed on the server side of the application, taking the time of the
day, the day of the week, and seasonality into account. The estimated wait times are accurate
within 2-3 minutes.
LineKing is comprised of two components, a client-side and a server-side. The client side is
comprised of three subcomponents: phone-state-receiver, wait-time-detection, and
datauploader. The phone-state-receiver is comprised of a variety of receivers registered to
monitor various events for the application. The most notable event is the device entering and
exiting the shop. The wait-time-detection component can use either location sensing or WiFi
sensing to detect the user’s presence at the shop. In order to preserve battery life, the
component begins monitoring the device under two conditions: if the user opens the
application to check the wait time or if the user is physically close to the shop. Once a
condition is triggered, the application begins to monitor the user’s location. For location
sensing, if the user is within a specific range of the shop, the application will set a proximity
alert to register the timestamp of entering the shop. If they are outside of the specified range,
the application will estimate the arrival time of the user, and recheck their location at that
time. If the user does not travel towards the shop after a certain amount of time, the
monitoring will cease. In the Wi-Fi sensing approach, the application will monitor Wi-Fi
beacons periodically to determine when the user enters and leaves the shop. Their calculation
in this approach takes into account the time delay of the scanning period. Lastly, the data-
uploader component is responsible for uploading the wait-times to the estimation system.
Rattagan et al. [19] examine prediction and battery life together, evaluating online power
estimations from battery monitoring units. They discuss the current methods of online and
offline monitors, indicating the pros and cons of each. While online methods are more
feasible and scalable, their results have a higher error rate due to three problems that are not
taken into consideration: battery capacity degradation, asynchronous power consumption
behaviour, and the effect of state of charge difference in hardware training. The battery
capacity of a device will decrease after usage, while online methods use the original battery
capacity value without taking this into account.
Peltonen et al. [20] attempt to construct energy models of smartphone usage through
crowdsourcing, whereas most research focused on a singular device or system. They use a
subset of data collected from Carat [11], a collaborative energy diagnostic system. The data
contains 11.2 millions samples from approximately 150 000 Android devices. The dataset
also provides energy rates that can be used to calculate battery consumption. Within this
dataset, they identify 13 different context factors, 5 of which are user-changeable settings and
8 are subsystem state information.
Anguita et al. [21] attempt to use machine learning to overcome battery limitations. They
propose sensors can be used to predict the actions of the user. They use an existing machine
learning framework and modify it to meet the resource constraints of a smartphone. Their
implementation is then validated in a series of test cases where the framework predicts
whether the user is walking, walking upstairs, walking downstairs, sitting, standing, or
laying. While the test cases are outside the scope of traditional application monitoring, they
illustrate the usage of machine learning is feasible for mobile devices, and the resource
requirements can be reduced.