More Related Content
Similar to Energy Smart Apps - Location-aware algorithms to save energy on mobile devices
Similar to Energy Smart Apps - Location-aware algorithms to save energy on mobile devices (20)
More from Sean Barbeau (17)
Energy Smart Apps - Location-aware algorithms to save energy on mobile devices
- 1. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
Location-aware algorithms that save
energy on mobile devices
- 2. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
U.S. Patent # 8,036,679 – Optimizing performance of location-aware applications
using state machines.
IEEE Pervasive Computing, vol. 10, no. 3, pp. 58-67, July-Sept. 2011. © 2011 IEEE
Proceedings of IEEE UBICOMM 2008 – The Second International Conference on
Mobile Ubiquitous Computing, Systems, Services, and Technologies, Valencia, Spain,
September 29 – October 4, 2008. © 2008 IEEE
The Journal of Navigation, volume 64, issue 03, pp. 381-399. July 2011. © 2011
The Royal Institute of Navigation.
2
- 3. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
GPS Auto-Sleep
3
GPS Auto-Sleep
Critical
Point
Algorithm
Location Data Signing
Adaptive
Location
Buffering
Location
Data
Encryption
SessionManagement
Legend
Real-time Phone-Generated
Location Data Flow
Control Signals
Application Data Flow
UDP
HTTP(S)
TCP
Location Data
Flow Control
Device Platform Software
LAISYC – Communications
Management
LAISYC – Positioning
Systems Management
Server
Location API Persistent Storage API I/O API
Virtual Machine
Java ME / Android
LAISYC Comm. APILAISYC Positioning API
Location-Aware Application
(Device-side)
- 4. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
GPS Tracking
“High-definition” view of
travel
Frequent sampling allows
us to determine:
Path, distance traveled
Origin-Destination pairs
Avg. speeds
Enables high-accuracy real-
time, historical LBS
Challenges:
Battery life
Amount of data
4
- 5. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
GPS Tracking
Infrequent tracking
solves energy, data
problems
BUT, doesn’t give us the
data we want:
Path, distance traveled
Origin-Destination pairs
Avg. speeds
5
- 6. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
Purpose – to save battery energy & reduce data transfer
to server by dynamically adjusting the GPS sampling
interval based on user movement
Change states based on speed/distance/time thresholds
GPS-Auto Sleep
ASLEEPAWAKE
State
[0]
State
[1]
State
[n – 1]
State
[n]
Move directly to state[0] when current_speed >
high_speed_threshold.
GPS Sampling
Interval = 4 sec.
GPS Sampling
Interval = 8 sec.
GPS Sampling
Interval = 128 sec.
GPS Sampling
Interval = 256 sec.
After leaving state[0], gradually move towards state[n] when ((current_speed <
low_speed value) AND (distance_between_fixes < moved_distance_threshold))
OR if a GPS fix can’t be acquired.
Gradually move towards state[0] when
(low_speed_threshold < current_speed <
high_speed_threshold) OR
(distance_between_fixes >
moved_distance_threshold).
6
- 7. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
State
[0]
State
[1]
State
[n – 1]
State
[n]
Move directly to state[0] when current_speed >
high_speed_threshold.
GPS Sampling
Interval = 4 sec.
GPS Sampling
Interval = 8 sec.
GPS Sampling
Interval = 128 sec.
GPS Sampling
Interval = 256 sec.
After leaving state[0], gradually move towards state[n] when ((current_speed <
low_speed value) AND (distance_between_fixes < moved_distance_threshold))
OR if a GPS fix can’t be acquired.
Gradually move towards state[0] when
(low_speed_threshold < current_speed <
high_speed_threshold) OR
(distance_between_fixes >
moved_distance_threshold).
ASLEEPAWAKE
7
- 8. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
8
8.04
10.71
13.01
14.20
15.68
18.77
41.94
0
5
10
15
20
25
30
35
40
45
4 8 15 30 60 150 300
BatteryLife(hours)
Interval Between GPS Fixes (s)
Impact of Interval Between GPS Fixes on
Battery Life
Sanyo
Pro 200
Sprint CDMA
EV-DO Rev. A
network
- 9. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
9
0
50
100
150
200
250
300
1
23
45
67
89
111
133
155
177
199
221
243
265
287
309
331
353
375
397
419
441
463
485
507
529
551
573
595
617
639
661
683
705
727
749
771
793
815
837
859
881
903
925
947
969
991
1013
1035
IntervalBetweenGPSFixes(seconds)
GPS Auto-Sleep Transitions - “Awake” to “Asleep”
Sanyo Pro 200
Sprint CDMA
EV-DO Rev. A
network
“Asleep”
“Awake”
State errors
No GPS signal
- 10. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
10
0.51%
29.10%
11.60% 10.54%
15.67%
23.97%
7.37%
0.00%
5.00%
10.00%
15.00%
20.00%
25.00%
30.00%
35.00%
Min Max Mean 50th 68th 95th STD DEV
GPS Auto-Sleep -
State ErrorPercentage
Approx. 88% mean accuracy in state tracking
Avg. doubling of battery life (based on TRAC-IT tests)
n = 30
- 11. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
U.S. Patent # 8,249,807 – Method for Determining Critical Points in Location Data Generated by
Location-Based Applications
IEEE Pervasive Computing, vol. 10, no. 3, pp. 58-67, July-Sept. 2011, doi:10.1109/MPRV.2010.48
© 2011 IEEE
The Journal of Navigation, volume 64, issue 03, pp. 381-399. July 2011. © 2011 The Royal
Institute of Navigation.
Proceedings of IEEE UBICOMM 2008 – The Second International Conference on Mobile
Ubiquitous Computing, Systems, Services, and Technologies, Valencia, Spain, September 29 –
October 4, 2008. © 2008 IEEE
11
- 12. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
Critical Point Algorithm
12
Critical
Point
Algorithm
Location Data Signing
GPS Auto-Sleep
Adaptive
Location
Buffering
Location
Data
Encryption
SessionManagement
Legend
Real-time Phone-Generated
Location Data Flow
Control Signals
Application Data Flow
UDP
HTTP(S)
TCP
Location Data
Flow Control
Device Platform Software
LAISYC – Communications
Management
LAISYC – Positioning
Systems Management
Server
Location API Persistent Storage API I/O API
Virtual Machine
Java ME / Android
LAISYC Comm. APILAISYC Positioning API
Location-Aware Application
(Device-side)
- 13. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
13
Critical Point Algorithm
13
Purpose – to reduce battery energy expenditures and amount
of data transferred by eliminating non-essential GPS data
Pre-filters real-time GPS data on mobile device before it is
wirelessly transmitted
- 14. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
Critical Point Algorithm
14
changeInDirection() = |Angle2 – Angle1|
NORTH
Last Critical Point
Current Point
Last Trigger Point
(Under Evaluation)
Angle1
Angle2
= Mobile Device Path
= Location Points
- 15. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
15
START
(Input = currentLocation)
TransportationMode=
WALKING
TransportationMode=
VEHICLE
First Point?
lastCriticalPoint=
currentLocation
lastCriticalPoint=lastTriggerPoint
YES
NO
YES
NO
YES
NO
(Since currentLocation is first point in
sequence, it is saved as both the
lastCriticalPoint and LastValidPoint)
(lastTriggerPoint is a CriticalPoint, and
is stored as lastCriticalPoint for future
executions of CP algorithm and
returned to application)
(No Critical Points were found)
NO
YES
Return currentLocation
lastTriggerPoint=
currentLocation
lastTriggerPoint=currentLocation
(Optional) Reset Conditional
Evaluation Variables
(for Real-time Applications)
Return lastCriticaPointReturn null
Speed >
max_walk_speed
(Optional)
Conditional Evaluations = TRUE?
(for Real-time Applications)
(changeInDirection() >
angle_threshold) AND
(currentSpeed >
min_speed_threshold)?
changeInDirection()
Uses angle threshold
Changed per speed
min_speed()
If currentSpeed >
min_speed, device is moving
Real-time Conditional
Evaluations (Optional)
timerExpired()?
distanceCounterExceeded?
receivedServerProbe?
Critical Point
Algorithm
- 16. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
16
Sanyo 7050
Sprint CDMA
1xRTT Network
UDP
Effect of Wireless Transmission Interval on Battery Life
- 17. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
Critical Point Algorithm
Uses several thresholds for filtering points, based on
observed data:
min_speed_threshold
max_walk_speed
Used to determine angle_threshold
angle_threshold
Increasing angle threshold results in fewer points
Tradeoff of reduced data vs. line accuracy
Example shown in following slides
17
- 18. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
• Angle 1
18
- 19. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
• Angle 2
19
- 20. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
• Angle 3
20
- 21. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
• Angle 4
21
- 22. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
• Angle 5
22
- 23. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
• Angle 6
23
- 24. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
• Angle 7
24
- 25. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
• Angle 8
25
- 26. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
• Angle 10
26
- 27. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
• Angle 11
27
- 28. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
• Angle 15
28
- 29. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
• Angle 18
29
- 30. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
Avg. GPS reduction of 77% per trip
Avg. 18.8kB saved per trip
Average distance error percentage under 10%
On avg., as Tx interval doubles battery life doubles
Critical Point Algorithm
30
Min Max Avg.
5th
percentile
25th
percentile
50th
percentile
68th
percentile
95th
percentile
Total Critical Point Count 2 322 35 3 13 27 38 97
Total GPS Fix Count 20 3,710 193 31 74 130 188 511
% Savings 20.83% 99.40% 77.43% 47.97% 69.49% 80.00% 86.83% 95.84%
Bytes Saved* 595 403,172 18,883 2,380 6,426 12,138 17,493 54,788
Distance Critical Points (m) 0.00 1,043,805.50 7,437.09 328.14 1,162.37 2,675.00 4,049.37 22,815.61
Total Distance (m) 2.36 1,087,043.20 7,878.02 380.79 1,252.55 2,913.39 4,345.91 24,231.34
Distance Error Percentage 0.00% 100.00% 8.90% 1.94% 3.98% 6.20% 8.70% 24.11%
* Based on 119 bytes per UDP payload
- 31. CONFIDENTIAL - Protected under U.S. Patent #8036679,#8,249,807 Other Patents Pending USF 2012. © 2012 USF, Sean J. Barbeau, IEEE
Questions?
31
Principal Mobile Software Architect for R&D
Center for Urban Transportation Research &
Department of Computer Science & Engineering
University of South Florida
(813) 974-7208
USF Location-Aware Information Systems Lab:
http://www.locationaware.usf.edu/
Sean J. Barbeau, Ph.D.