| Literature DB >> 27754388 |
Rafael Pérez-Torres1, César Torres-Huitzil2, Hiram Galeana-Zapién3.
Abstract
The tracking of frequently visited places, also known as stay points, is a critical feature in location-aware mobile applications as a way to adapt the information and services provided to smartphones users according to their moving patterns. Location based applications usually employ the GPS receiver along with Wi-Fi hot-spots and cellular cell tower mechanisms for estimating user location. Typically, fine-grained GPS location data are collected by the smartphone and transferred to dedicated servers for trajectory analysis and stay points detection. Such Mobile Cloud Computing approach has been successfully employed for extending smartphone's battery lifetime by exchanging computation costs, assuming that on-device stay points detection is prohibitive. In this article, we propose and validate the feasibility of having an alternative event-driven mechanism for stay points detection that is executed fully on-device, and that provides higher energy savings by avoiding communication costs. Our solution is encapsulated in a sensing middleware for Android smartphones, where a stream of GPS location updates is collected in the background, supporting duty cycling schemes, and incrementally analyzed following an event-driven paradigm for stay points detection. To evaluate the performance of the proposed middleware, real world experiments were conducted under different stress levels, validating its power efficiency when compared against a Mobile Cloud Computing oriented solution.Entities:
Keywords: Location Based Services (LBS); context-aware; event-driven; power-aware; smartphone; stay point
Year: 2016 PMID: 27754388 PMCID: PMC5087481 DOI: 10.3390/s16101693
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1A typical MCC approach for stay points discovery.
Figure 2Top-level architecture of an event-driven system in the context of stay points detection.
Figure 3Architecture of the proposed middleware for GPS data collection and on-device stay points detection.
Figure 4Interaction between components and information flow across tasks executions. Components are provided by the middleware itself, with the exception of the policy (shown as dotted) that could be injected by an additional entity, such as the hosted mobile app.
Summary of results of first experiment (SP = stay point).
| Sampling Period (s) | Event-Driven Algorithm | Obtained GPS Fixes | Average GPS Fixes per SP | Running Time (min) |
|---|---|---|---|---|
| 30 | Buffered | 3876 | 218.3 | 6752 |
| Sigma | 5199 | 244.4 | 8243 | |
| 60 | Buffered | 5307 | 155.6 | 14,877 |
| Sigma | 3054 | 126.3 | 8428 | |
| 90 | Buffered | 2573 | 115.2 | 7694 |
| Sigma | 2447 | 108.1 | 7522 | |
| 120 | Buffered | 1708 | 77.4 | 8460 |
| Sigma | 1993 | 82.2 | 10,214 | |
| 150 | Buffered | 1417 | 53.8 | 10,433 |
| Sigma | 1651 | 51.1 | 10,349 |
Spatial and time accuracy observed in results of first experiment (SP = stay point).
| Sampling Period (s) | Event-Driven Algorithm | Detected SP’s | Average SP Stay Time Difference (s) | Average SP Distance Difference (m) |
|---|---|---|---|---|
| 30 | Buffered | 16 (out of 19) † | 64.13 | 13.35 |
| Sigma | 19 (out of 19) | 68.78 | 16.01 | |
| 60 | Buffered | 29 (out of 29) | 98.24 | 14.97 |
| Sigma | 21 (out of 29) † | 82.35 | 19.42 | |
| 90 | Buffered | 20 (out of 20) | 104.95 | 20.6 |
| Sigma | 20 (out of 20) | 211.68 | 20.68 | |
| 120 | Buffered | 19 (out of 21) † | 63.7 | 35.56 |
| Sigma | 21 (out of 21) | 59.7 | 34.05 | |
| 150 | Buffered | 24 (out of 29) † | 116.4 | 59.11 |
| Sigma | 28 (out of 29) ‡ | 115.6 | 50.81 |
† Due to battery depletion; ‡ Actual SP miss.
Figure 5Location fixes and stay points rendered as pins in maps. The temporal aspect is discarded. (a) Location fixes and stay points rendered as grouped cylindrical regions in a three-dimensional coordinate system composed by longitude, latitude and time; (b) Visualization of a set of stay points found in the experimentation.
Summary of results of second experiment.
| SamplingPeriod (s) | Processing Strategy | Obtained GPS Fixes | GPS-on Time (min) | Average Acquisition Time per Fix (s) | Running Time (min) | Data Sent (bytes) | Data Received (bytes) |
|---|---|---|---|---|---|---|---|
| 30 | On-device | 12,341 | 1614 | 7.84 | 7790 | - | - |
| MCC oriented | 9324 | 770 | 4.98 | 5402 | 1,084,901 | 18,796 | |
| 60 | On-device | 10,816 | 1219 | 6.76 | 12,028 | - | - |
| MCC oriented | 7205 | 764 | 6.45 | 7907 | 838,640 | 14,696 | |
| 90 | On-device | 7868 | 1178 | 8.91 | 13,075 | - | - |
| MCC oriented | 5624 | 546 | 5.84 | 8946 | 653,833 | 12,223 | |
| 120 | On-device | 5189 | 809 | 9.26 | 11,289 | - | - |
| MCC oriented | 4332 | 387 | 5.43 | 8931 | 504,012 | 8838 | |
| 150 | On-device | 5576 | 933 | 9.94 | 14,998 | - | - |
| MCC oriented | 4564 | 452 | 6.06 | 11,619 | 530,764 | 10,309 |
Figure 6Energy performance comparison of on-device vs MCC oriented sample apps using different GPS sampling periods.
Battery gains of the on-device approach vs MCC oriented solution across time, as observed during experiment two.
| Remote Experiment Elapsed Time | Sampling Period (s) | ||||
|---|---|---|---|---|---|
| 30 | 60 | 90 | 120 | 150 | |
| 20 % | 0.04 | 0.05 | 0.03 | 0.02 | 0.02 |
| 40 % | 0.11 | 0.19 | 0.11 | 0.08 | 0.05 |
| 60 % | 0.44 | 0.47 | 0.34 | 0.45 | 0.16 |
| 80 % | 1.45 | 1.25 | 1.04 | 0.95 | 0.40 |
| 100 % | 8.5 | 9 | 7.75 | 5.25 | 5 |
Figure 7Battery gains obtained by the proposed on-device approach in the different experiments.