Full On-Device Stay Points Detection in Smartphones for Location-Based Mobile Applications
<p>A typical MCC approach for stay points discovery.</p> "> Figure 2
<p>Top-level architecture of an event-driven system in the context of stay points detection.</p> "> Figure 3
<p>Architecture of the proposed middleware for GPS data collection and on-device stay points detection.</p> "> Figure 4
<p>Interaction 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.</p> "> Figure 5
<p>Location fixes and stay points rendered as pins in maps. The temporal aspect is discarded. (<b>a</b>) Location fixes and stay points rendered as grouped cylindrical regions in a three-dimensional coordinate system composed by longitude, latitude and time; (<b>b</b>) Visualization of a set of stay points found in the experimentation.</p> "> Figure 6
<p>Energy performance comparison of on-device vs MCC oriented sample apps using different GPS sampling periods.</p> "> Figure 7
<p>Battery gains obtained by the proposed on-device approach in the different experiments.</p> ">
Abstract
:1. Introduction
1.1. MCC as an Initial Solution for Addressing Smartphone Constraints
1.2. On-Device Processing as an Alternative Solution
- The design of a full on-device middleware for autonomous location data collection and event-driven stay points detection in smartphones in a non-intrusive manner, which addresses power saving mechanisms of mobile OS and offers duty cycling support for a flexible sampling process.
- A quantitative evaluation through experiments in real mobile devices using the proposed middleware, which highlights the possibility of obtaining power savings when detecting stay points, in comparison with an MCC oriented solution, even under variable stress levels expressed as different fixed duty cycles.
2. Related Work
2.1. Stay Point Definition
2.2. Stay Points Detection Strategies
- Differential-based strategies: Algorithms are based on the analysis of time and space differences between individual GPS fixes for finding centroids that represent a stay point (as in [30,31,37,38]). Because of the low computational complexity and streaming nature for calculating such differences, differential-based algorithms are more suitable for conducting on-line detection of stay points in smartphones [33].
2.3. Platforms for Location Data Analysis and Stay Points Detection
3. Fundamentals of Event-Driven Solution
3.1. Event-Driven Adaptation of Stay Points Detection Algorithms
- First, the algorithm keeps two pointers (start) and (end) for defining a sub-trajectory that is iteratively accumulating more fixes, always within the distance and time parameter thresholds.
- Second, the (end) pointer is shifted to the right only when the distance constraint defined in Equation (1) is met, which is captured when the if comparison of line 6 is false, meaning that user is still inside the geographical region.
- Third, if the distance constraint is not met (i.e., the if comparison of line 6 is true), it would mean that user has exited from the geographical zone, so that the time constraint defined in Equation (2) (listed as the if comparison of line 7) must be evaluated.
- Lastly, a stay point will be built only when this last if comparison is evaluated as true, meaning that user stayed more than the time parameter inside the region defined by , and intermediate location fixes. Regardless of the result of this last if evaluation, the (start) pointer is assigned the (end) pointer value in line 15, so that the analysis of sub-trajectory is restarted and the evaluation of the next location fixes is continued.
3.2. Mobile Software Stack Operation
4. Android Implementation
4.1. Implementation of Event-Driven Algorithm
4.1.1. Buffered Event-Driven Algorithm
4.1.2. Sigma Event-Driven Algorithm
4.2. Event-Driven Middleware for On-Device Stay Points Detection
5. Experimental Results and Evaluation
5.1. Feasibility of On-Device Stay Points Detection
Accuracy of Stay Points Detected through Different Sampling Periods
5.2. Energy Savings of On-Device Stay Points Detection
6. Conclusions and Future Work
Acknowledgments
Author Contributions
Conflicts of Interest
References
- Campbell, A.; Choudhury, T. From smart to cognitive phones. IEEE Perv. Comput. 2012, 11, 7–11. [Google Scholar]
- Lane, N.D.; Miluzzo, E.; Lu, H.; Peebles, D.; Choudhury, T.; Campbell, A.T. A survey of mobile phone sensing. IEEE Commun. Mag. 2010, 48, 140–150. [Google Scholar] [CrossRef]
- Macias, E.; Suarez, A.; Lloret, J. Mobile Sensing Systems. Sensors 2013, 13, 17292–17321. [Google Scholar] [CrossRef] [PubMed]
- Ma, X.; Cui, Y.; Stojmenovic, I. Energy efficiency on location based applications in mobile cloud computing: A survey. Proc. Comput. Sci. 2012, 10, 577–584. [Google Scholar] [CrossRef]
- Evarts, E.C. Lithium batteries: To the limits of lithium. Nature 2015, 526, S93–S95. [Google Scholar] [CrossRef] [PubMed]
- Coughlin, T.; Future Directions Committee, I.C.E.S. A Moore’s Law for Mobile Energy: Improving upon conventional batteries and energy sources for mobile devices. IEEE Consum. Electron. Mag. 2015, 4, 74–82. [Google Scholar] [CrossRef]
- Yurur, O.; Liu, C.; Moreno, W. Modeling Battery Behavior on Sensory Operations for Context-Aware Smartphone Sensing. Sensors 2015, 15, 12323–12341. [Google Scholar] [CrossRef] [PubMed]
- Dinh, H.T.; Lee, C.; Niyato, D.; Wang, P. A survey of mobile cloud computing: architecture, applications, and approaches. Wirel. Commun. Mob. Comput. 2013, 13, 1587–1611. [Google Scholar] [CrossRef]
- Fernando, N.; Loke, S.W.; Rahayu, W. Mobile cloud computing: A survey. Future Gen. Comput. Syst. 2013, 29, 84–106. [Google Scholar] [CrossRef]
- Srinivasan, V.; Moghaddam, S.; Mukherji, A.; Rachuri, K.K.; Xu, C.; Tapia, E.M. MobileMiner: Mining your frequent patterns on your phone. In Proceedings of the 2014 ACM International Joint Conference on Pervasive and Ubiquitous Computing—UbiComp ’14 Adjunct, Seattle, WA, USA, 13–17 September 2014; ACM Press: New York, NY, USA, 2014; pp. 389–400. [Google Scholar]
- Liu, H.; Zhou, Y.; Zhang, Y. Estimating users’ home and work locations leveraging large-scale crowd-sourced smartphone data. IEEE Commun. Mag. 2015, 53, 71–79. [Google Scholar] [CrossRef]
- Miluzzo, E.; Papandrea, M.; Lane, N.D.; Sarroff, A.M.; Giordano, S.; Campbell, A.T. Tapping into the Vibe of the city using VibN, a continuous sensing application for smartphones. In Proceedings of the 1st International Symposium from Digital Footprints to Social and Community Intelligence (SCI ’11), Beijing, China, 17–21 September 2011; ACM Press: New York, NY, USA, 2011; pp. 13–18. [Google Scholar]
- Hache, G.; Lemaire, E.D.; Baddour, N. Wearable Mobility Monitoring Using a Multimedia Smartphone Platform. IEEE Trans. Instrum. Meas. 2011, 60, 3153–3161. [Google Scholar] [CrossRef]
- Torres-Huitzil, C.; Alvarez-Landero, A. Accelerometer-Based Human Activity Recognition in Smartphones for Healthcare Services; Springer Series in Bio-/Neuroinformatics; Springer: Berlin, Germany, 2015; Volume 5, pp. 147–169. [Google Scholar]
- Yu, S.; Al-Jadir, L.; Spaccapietra, S. Matching user’s semantics with data semantics in location-based services. In Proceedings of the 1st Workshop on Semantics in Mobile Environments (SME ’05), Ayia Napa, Cyprus, 9 May 2005; Volume 165.
- Wang, W.; Xi, T.; Ngai, E.C.H.; Song, Z. Energy-Efficient Collaborative Localization for Participatory Sensing System. Sensors 2016, 16, 762. [Google Scholar] [CrossRef] [PubMed]
- Liu, J.; Priyantha, B.; Hart, T.; Ramos, H.S.; Loureiro, A.A.F.; Wang, Q. Energy efficient GPS sensing with cloud offloading. In Proceedings of the 10th ACM Conference on Embedded Network Sensor Systems (SenSys ’12), Toronto, ON, Canada, 6–9 November 2012; ACM Press: New York, NY, USA, 2012; p. 85. [Google Scholar]
- Bhattacharya, S.; Blunck, H.; Kjargaard, M.B.; Nurmi, P. Robust and Energy-Efficient Trajectory Tracking for Mobile Devices. IEEE Trans. Mob. Comput. 2015, 14, 430–443. [Google Scholar] [CrossRef]
- Ying, F.; Mooney, P.; Corcoran, P.; Winstanley, A.C. Dynamic Visualization of Geospatial Data on Small Screen Mobile Devices. In Advances in Location-Based Services; Springer: Berlin, Germany, 2011; pp. 77–90. [Google Scholar]
- Perez-Torres, R.; Torres-Huitzil, C. A power-aware middleware for location & context aware mobile apps with cloud computing interaction. In Proceedings of the World Congress on Information and Communication Technologies (WICT), Trivandrum, India, 30 October–2 November 2012; pp. 691–696.
- Sadoun, B.; Al-Bayari, O. Location based services using geographical information systems. Comput. Commun. 2007, 30, 3154–3160. [Google Scholar] [CrossRef]
- Suarez-Tangil, G.; Tapiador, J.E.; Peris-Lopez, P.; Pastrana, S. Power-aware anomaly detection in smartphones: An analysis of on-platform versus externalized operation. Perv. Mob. Comput. 2015, 18, 137–151. [Google Scholar] [CrossRef]
- Kumar, K.; Lu, Y.H. Cloud computing for mobile users: Can offloading computation save energy? Computer 2010, 43, 51–56. [Google Scholar] [CrossRef]
- Khoda, M.E.; Razzaque, M.A.; Almogren, A.; Hassan, M.M.; Alamri, A.; Alelaiwi, A. Efficient Computation Offloading Decision in Mobile Cloud Computing over 5G Network. Mob. Netw. Appl. 2016, 21, 1–16. [Google Scholar] [CrossRef]
- Yurur, O. Energy Efficient Context-Aware Framework in Mobile Sensing. Ph.D. Thesis, University of South Florida, Tampa, FL, USA, 2013. [Google Scholar]
- Kapadia, A.; Kotz, D.; Triandopoulos, N. Opportunistic sensing: Security challenges for the new paradigm. In Proceedings of the 2009 First International Communication Systems and Networks and Workshops, Bangalore, India, 5–10 January 2009; pp. 1–10.
- Christin, D. Privacy in mobile participatory sensing: Current trends and future challenges. J. Syst. Softw. 2015, 10, 1–12. [Google Scholar] [CrossRef]
- Rawassizadeh, R.; Tomitsch, M.; Nourizadeh, M.; Momeni, E.; Peery, A.; Ulanova, L.; Pazzani, M. Energy-Efficient Integration of Continuous Context Sensing and Prediction into Smartwatches. Sensors 2015, 15, 22616–22645. [Google Scholar] [CrossRef] [PubMed]
- Pérez-Torres, R.; Torres-Huitzil, C.; Galeana-Zapién, H. Power management techniques in smartphone-based mobility sensing systems: A survey. Perv. Mob. Comput. 2016, 31, 1–21. [Google Scholar] [CrossRef]
- Li, Q.; Zheng, Y.; Xie, X.; Chen, Y.; Liu, W.; Ma, W.Y. Mining user similarity based on location history. In Proceedings of the 16th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems (GIS ’08), Irvine, CA, USA, 5–7 November 2008; ACM Press: New York, NY, USA, 2008; p. 1. [Google Scholar]
- Ye, Y.; Zheng, Y.; Chen, Y.; Feng, J.; Xie, X. Mining Individual Life Pattern Based on Location History. In Proceedings of the 2009 Tenth International Conference on Mobile Data Management: Systems, Services and Middleware, Taipei, Taiwan, 18–21 May 2009; pp. 1–10.
- Zheng, Y.; Zhou, X. Computing with Spatial Trajectories; Springer: New York, NY, USA, 2011. [Google Scholar]
- Lee, C.; Yoon, G.; Han, D. A Probabilistic Place Extraction Algorithm Based on a Superstate Model. IEEE Trans. Mob. Comput. 2013, 12, 945–956. [Google Scholar] [CrossRef]
- Ester, M.; Hans-Peter, K.; Sander, J.; Xu, X. A density-based algorithm for discovering clusters in large spatial databases with noise. In Proceedings of the International Conference on Knowledge Discovery and Data Mining, Portland, OR, USA, 2–4 August 1996; Volume 96, pp. 226–331.
- Zhou, C.; Frankowski, D.; Ludford, P.; Shekhar, S.; Terveen, L. Discovering personally meaningful places. ACM Trans. Inf. Syst. 2007, 25, 12. [Google Scholar] [CrossRef]
- Palma, A.T.; Bogorny, V.; Kuijpers, B.; Alvares, L.O. A clustering-based approach for discovering interesting places in trajectories. In Proceedings of the 2008 ACM Symposium on Applied Computing (SAC ’08), Ceará, Brazil, 16–20 March 2008; ACM Press: New York, NY, USA, 2008; p. 863. [Google Scholar]
- Kang, J.H.; Welbourne, W.; Stewart, B.; Borriello, G. Extracting places from traces of locations. ACM SIGMOBILE Mob. Comput. Commun. Rev. 2005, 9, 58. [Google Scholar] [CrossRef]
- Hu, D.H.; Wang, C.L. GPS-Based Location Extraction and Presence Management for Mobile Instant Messenger. In Embedded and Ubiquitous Computing; Kuo, T.W., Sha, E., Guo, M., Yang, L.T., Shao, Z., Eds.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2007; Volume 4808, pp. 309–320. [Google Scholar]
- Zhang, K.; Li, H.; Torkkola, K.; Gardner, M. Adaptive Learning of Semantic Locations and Routes. In Location- and Context-Awareness; Springer: Berlin/Heidelberg, Germany, 2007; pp. 193–210. [Google Scholar]
- Nurmi, P.; Bhattacharya, S. Identifying meaningful places: The non-parametric way. In Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Springer: Berlin/Heidelberg, Germany, 2008; Volume 5013 LNCS, pp. 111–127. [Google Scholar]
- Liao, Z.X.; Li, S.C.; Peng, W.C.; Yu, P.S.; Liu, T.C. On the feature discovery for app usage prediction in smartphones. In Proceedings of the IEEE International Conference on Data Mining, Dallas, TX, USA, 7–10 December 2013; pp. 1127–1132.
- Barbeau, S.; Labrador, M.A.; Perez, A.; Winters, P.; Georggi, N.; Aguilar, D.; Perez, R. Dynamic Management of Real-Time Location Data on GPS-Enabled Mobile Phones. In Proceedings of the Second International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies, Valencia, Spain, 29 September–4 October 2008; pp. 343–348.
- Loseto, G.; Ruta, M.; Scioscia, F.; Di Sciascio, E.; Mongiello, M. Mining the user profile from a smartphone: A multimodal agent framework. In Proceedings of the CEUR Workshop, Luxembourg, 5–6 December 2013; Volume 1099, pp. 47–53.
- Montoliu, R.; Gatica-Perez, D. Discovering human places of interest from multimodal mobile phone data. In Proceedings of the 9th International Conference on Mobile and Ubiquitous Multimedia (MUM ’10), Limassol, Cyprus, 1–3 December 2010; ACM Press: New York, NY, USA, 2010; pp. 1–10. [Google Scholar]
- Yan, Y.; Cosgrove, S.; Blantont, E.; Ko, S.Y.; Ziarek, L. Real-Time Sensing on Android. In Proceedings of the 12th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES ’14), Niagara Falls, NY, USA, 13–14 October 2014; ACM Press: New York, NY, USA, 2014; pp. 67–75. [Google Scholar]
- Android Open Source Project. HAL interface. Available online: https://source.android.com/devices/sensors/hal-interface.html (accessed on 1 September 2016).
- Faison, T. Event-Based Programming: Taking Events to the Limit, 1st ed.; Apress: Berkely, CA, USA, 2006; pp. 1–670. [Google Scholar]
- Etzion, O.; Niblett, P. Event Processing in Action; Manning Publications: Greenwich, CT, USA, 2010; p. 325. [Google Scholar]
- Lee, C.Y.; Lai, K.Y.T.; Hsu, S.Y. A Sensor-Fusion Solution for Mobile Health-Care Applications. In Smart Sensors and Systems; Lin, Y.L., Kyung, C.M., Yasuura, H., Liu, Y., Eds.; Springer: Berlin, Germany, 2015; pp. 387–397. [Google Scholar]
- Duffy, C.; Roedig, U.; Herbert, J.; Sreenan, C. An Experimental Comparison of Event Driven and Multi-Threaded Sensor Node Operating Systems. In Proceedings of the Fifth Annual IEEE International Conference on Pervasive Computing and Communications Workshops (PerComW’07), White Plains, New York, NY, USA, 19–23 March 2007; pp. 267–271.
- Android Open Source Project. Managing Your App’s Memory. Available online: https://developer.android.com/topic/performance/memory.html (accessed on 1 September 2016).
- Fowler, M. Inversion of Control Containers and the Dependency Injection Pattern. Available online: http://martinfowler.com/articles/injection.html (accessed on 1 September 2016).
- Gamma, E.; Helm, R.; Johnson, R.; Vlissides, J. Design Patterns: Elements of Reusable Object-Oriented Software; Addison-Wesley: Boston, MA, USA, 1995. [Google Scholar]
- Galeana-Zapién, H.; Torres-Huitzil, C.; Rubio-Loyola, J. Mobile phone middleware architecture for energy and context awareness in location-based services. Sensors 2014, 14, 23673–23696. [Google Scholar] [CrossRef] [PubMed]
- Liu, Y.; Xu, C.; Chi, S.; Terragni, V. Understanding and Detecting Wake Lock Misuses for Android Applications. In Proceedings of the 24th ACM SIGSOFT International Symposium on the Foundations of Software Engineering, Raleigh, NC, USA, 8–10 October 2016.
- Yan, Y.; Cosgrove, S.; Anand, V.; Kulkarni, A.; Konduri, S.H.; Ko, S.Y.; Ziarek, L. Real-time android with RTDroid. In Proceedings of the 12th Annual International Conference on Mobile Systems, Applications, and Services (MobiSys ’14), Woods, NH, USA, 16–19 June 2014; ACM Press: New York, NY, USA, 2014; pp. 273–286. [Google Scholar]
- Zheng, Y.; Chen, Y.; Li, Q.; Xie, X.; Ma, W.Y. Understanding transportation modes based on GPS data for web applications. ACM Trans. Web 2010, 4, 1–36. [Google Scholar] [CrossRef]
- Android Open Source Project. Power Management. Available online: https://source.android.com/devices/tech/power/mgmt.html (accessed on 1 September 2016).
- Agarwal, N.; Basch, J.; Beckmann, P.; Bharti, P.; Bloebaum, S.; Casadei, S.; Chou, A.; Enge, P.; Fong, W.; Hathi, N.; et al. Algorithms for GPS operation indoors and downtown. GPS Solut. 2002, 6, 149–160. [Google Scholar] [CrossRef]
- Paek, J.; Kim, J.; Govindan, R. Energy-efficient rate-adaptive GPS-based positioning for smartphones. In Proceedings of the 8th International Conference on Mobile Systems, Applications, and Services (MobiSys ’10), San Francisco, CA, USA, 15–18 June 2010; ACM Press: New York, NY, USA, 2010; Volume 223–224, p. 299. [Google Scholar]
- Lu, H.; Yang, J.; Liu, Z.; Lane, N.D.; Choudhury, T.; Campbell, A.T. The Jigsaw continuous sensing engine for mobile phone applications. In Proceedings of the 8th ACM Conference on Embedded Networked Sensor Systems (SenSys ’10), Zürich, Switzerland, 3–5 November 2010; ACM Press: New York, NY, USA, 2010; pp. 71–84. [Google Scholar]
- Chon, Y.; Kim, Y.; Shin, H.; Cha, H. Adaptive duty cycling for place-centric mobility monitoring using zero-cost information in smartphone. IEEE Trans. Mob. Comput. 2014, 13, 1694–1706. [Google Scholar] [CrossRef]
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 |
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 |
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 |
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 |
© 2016 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC-BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Pérez-Torres, R.; Torres-Huitzil, C.; Galeana-Zapién, H. Full On-Device Stay Points Detection in Smartphones for Location-Based Mobile Applications. Sensors 2016, 16, 1693. https://doi.org/10.3390/s16101693
Pérez-Torres R, Torres-Huitzil C, Galeana-Zapién H. Full On-Device Stay Points Detection in Smartphones for Location-Based Mobile Applications. Sensors. 2016; 16(10):1693. https://doi.org/10.3390/s16101693
Chicago/Turabian StylePérez-Torres, Rafael, César Torres-Huitzil, and Hiram Galeana-Zapién. 2016. "Full On-Device Stay Points Detection in Smartphones for Location-Based Mobile Applications" Sensors 16, no. 10: 1693. https://doi.org/10.3390/s16101693