Skip to Main Content
Advanced location based services have the ability to track users with Global Positioning System (GPS)-enabled cell phones in real-time. These applications share a common problem; the continuous calculation and transmission of GPS fixes from the mobile phone to a server consumes a considerable amount of energy and increases data transmission costs. Therefore, an application-level algorithm is necessary to reduce the number of GPS fixes calculated and transmitted, while continuing to track the user in real-time and record an accurate representation of his or her travel path. In this paper, two complementary algorithms are presented: the critical point (CP) algorithm, which filters data points to be transmitted to the server, and the location-aware state machine, which dynamically manages the frequency of the location re-calculation update rate. Both algorithms were implemented in TRAC-IT, a Java Micro Edition (Java ME) application designed to automatically collect user travel behavior; the proposed algorithms allow TRAC-IT to build an accurate representation of the user's path with a considerably reduced number of fixes while significantly extending mobile device battery life.