What are Spatial Alarms?

Most people use time-based alarms in their daily lives in order to wake up in the morning or to remind them of important time-based events. Such alarms are effective reminders of future events that have a definite time of occurrence associated with them. Just as time-based alarms are set to remind us of the arrival of a future reference time point, spatial alarms are set to remind us of the arrival of a spatial location of interest. Thus, spatial alarms can be modeled as location-based triggers which are fired whenever a mobile user enters the spatial region of the alarms. Spatial alarms provide critical capabilities for many location-based applications ranging from real time personal assistants, inventory tracking, to industrial safety warning systems.

Challenges

Processing of spatial alarms requires meeting two demanding objectives: high accuracy, which ensures no alarms are missed, and high scalability, which guarantees that alarm processing is highly efficient and scales to large number of spatial alarms and growing base of mobile users. The conventional approach to similar problems involves periodic evaluations at a high frequency. Each spatial alarm evaluation can be conducted by testing whether the user is entering the spatial region of the alarm. High frequency is essential to ensure that none of the alarms are missed. Though periodic evaluation is simple, it can be extremely inefficient due to frequent alarm evaluation and the high rate of irrelevant evaluations. This is especially true when the mobile user is traveling in a location that is distant from all her location triggers, or when all her alarms are set on spatial regions that are far apart from one another. We explore alternative techniques which ensure high alarm evaluation accuracy along with highly efficient processing of alarms thus providing system scalability.

Alternative Architectures

We consider three alternative architectures for supporting spatial alarms: (1) the client-server architecture, which allows mobile clients to register and install location triggers of interest on the server system; the server being responsible for processing spatial alarms, performing associated actions and sending out notifications upon firing of alarms; (2) the client-centric architecture, which enables mobile users to manage and process spatial alarms on their own mobile clients; and (3) the decentralized peer to peer architecture, which allows mobile users to collaborate with one another in terms of spatial alarm processing. The server-centric architecture is particularly suitable for supporting public and group-based spatial alarms, enabling effective sharing of spatial alarm processing among multiple users. The client-centric architecture is more suitable for users possessing mobile clients with high computational capacity and more sensitive to the location privacy of their spatial alarms. The decentralized peer to peer architecture provides on-demand and opportunistic collaboration in terms of spatial alarm evaluation. Clearly, the performance optimizations for server-centric architecture should focus on efficient and scalable processing of location triggers by reducing the bandwidth consumption and the amount of redundant computation at the server, whereas the performance optimizations for client-centric architecture and decentralized architecture should also take into account energy efficiency of mobile clients in addition to computational efficiency.  In addition, processing of spatial alarms with moving target of interest requires the knowledge of positioning information of the moving target and may not be suitable for the client-centric architecture. We explore the design principles and the performance optimization techniques of spatial alarm framework, including a suite of energy-efficient spatial trigger indexing techniques for optimizing both wake-up times and check times of location trigger evaluations.