| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AboutThis site provides a web service for the predictive location tracking with circular geofence (read the research papers). It aims to facilitate the mobile Internet of Things (IoT) on aggregating the spatiotemporal context data efficiently and effectively. By adopting the lookahead strategy, the cost of Machine-to-Machine (M2M) communications can be reduced by up to 50 per cent in average. (The cellular M2M data plan is one or two orders of magnitude more expensive than the consumer data plan.) Under user's consent, the raw data gathered here will be shared as Open Data, the natural resource that fuels the smart city. Please contact author by email in case of any problem on using the open API. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lookahead APIThis is a server-side web API to computing the lookahead location. It is designed for the communications between Location Server and Lookahead Server. The Location Server is owned by the location-awared application service provider and directly serves its mobile clients. In addition to location tracking, the Location Server is responsible for its own tasks such as mobile user authentication, privacy policy control, geofence radius setting, route planning, geo-coding and push notification of location update as appropriate. The Lookahead Server can be co-located with Location Server or deployed on the cloud remotely (right here you are visiting now) to support the Location Server (e.g., your server) to compute the lookahead location, as shown in the following message flow. For better location prediction, optionally the destination location (obtained from the GPS navigator of the consumer user, or the fleet management server of the enterprise user) can be sent to the Lookahead Server, in addition to the updated location on each location update. The Lookahead Server will construct the route plan accordingly, then perform the greedy lookahead over the deterministic trajectory (see Demo 2) such that the location updates can be halved comparing to the baseline circular geofencing where the lookahead strategy is not adopted (see Demo 1). If the destination location is not available to Lookahead Server, the Lookahead Server can still perform the greedy lookahead over the mobile's location cache. According to mobile's updated locations, the Lookahead Server will try best to reconstruct the historical trajectory (usually similar to the actual trajectory if the geofence is not too large) and store it in the location cache so as to perform the greedy lookahead on the subsequent tracking sessions over the same trajectory (see Demo 4). In case of location cache miss, the location prediction will fall down to regressive lookahead for penalty avoidance (see Demo 3). To adopt the cloud-based lookahead computation, the Location Server must obtain the user consent for location tracking and caching anonymously. The target audience of the following specification is the software programmer who will utilize the Lookahead API for the development of online location-awared services. The impatient visitor can jump to the graphic demo programs for a quick understanding on the lookahead strategy. Web Service #1. Compute lookahead location for mobile-centric geofencing. To request for the web service, the Location Server makes an HTTP request to the Lookahead Server with the following fields in query string.
The following string is a sample URL the Location Server sends to the Lookahead Server. The Lookahead Server will return the lookahead location and result code in JSON format such as {"lat":50.09291,"lon":-5.66548,"res":210}. In case of critical error, the lookahead location may be nullified (e.g., {"lat":0,"lon":0,"res":512}) and shall be ignored (i.e., fall down to no lookahead). The possible result codes include but are not limited to the following (subject to change):
Despite the fact that the mobile terminal can directly update location to the Lookahead Server through the API, we encourage the system engineers to minimize the bandwidth consumption on the air interface, e.g., use the IETF Constrained Application Protocol (CoAP), OMA Lightweight M2M (LWM2M), or MQTT over USSD for the data exchange between mobile terminal and Location Server. Besides, the direct update is not useful until the Lookahead Server provides the location query/push service. Web Service #2. Compute geofence radius for certain route plan and budget plan. Given (1) the source and destionation as the route plan, and (2) the expected number of location updates as the budget plan, the Lookahead Server will approximate the geofence radius such that the number of location updates on tracking the given route plan can be bounded by the given budget plan. To request for the web service, the Location Server makes an HTTP request to the Lookahead Server with the following fields in query string.
The following string is a sample URL the Location Server sends to the Lookahead Server. The Lookahead Server will return the geofence radius and result code in JSON format such as {"gra":1000,"res":210}. The possible result codes are the same as above. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Research PapersLookahead 1.0: The Lookahead Strategy for Distance-Based Location Tracking in Wireless Cellular Networks, published in ACM SIGMOBILE Mobile Computing and Communications Review, vol. 3, no. 4, 1999.Lookahead 2.0: The Lookahead Strategy for Online GPS Tracking with Circular Geofence, working paper. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DemoThe demo programs require an HTML5 browser to simulate and visualize the process of location tracking with circular geofence. (Here you can test whether your browser supports Canvas for graphic rendering.) The browser plays the dual role of mobile terminal and Location Server. The browser as a mobile terminal will traverse an artificial GPS trace, and update its current position to Location Server on breaching the geofence. At the meantime, the browser as a Location Server will forward the mobile terminal's updated location to the Lookahead Server as shown in the message flow. As soon as the Lookahead Server returns the lookahead location to Location Server, the Location Server will forward the lookahead location to the mobile terminal. The mobile terminal will register the lookahead location instead of the updated location as the geofence center.
Alternatively, you can use a GPX file instead of the route plan to do the simulation. (Note that Demo 2 is not applicable here because GPX track can not substitute for route plan. By definition, a route plan is a turn-by-turn shortest-path-first routing where the destination location is known a priori. A GPX track by contrast may be comprised of more than one route plans with each toward different destination location that the GPX schema does not specify.) The GPS trace (either the route plan or the GPX file) won't be made known to the Lookahead Server in practice. Upon location update, only the current location and optionally its destination location will be sent to the server. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Disclaimer of Location PrivacyThe Location Server is responsible for the control of privacy and security. The Location Server must obtain the user consent for location tracking and caching anonymously. The mobile identity given by the Location Server is not necessary to be the real world identity. |