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, doesnt 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 cant 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 cant 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.