Continuous Spatial Query Processing

Jianzhong Qi, Rui Zhang, Christian S. Jensen, Kotagiri Ramamohanarao, Jiayuan HE
2018 ACM Computing Surveys  
In the past decade, positioning system-enabled devices such as smartphones have become most prevalent. This functionality brings the increasing popularity of location-based services in business as well as daily applications such as navigation, targeted advertising, and location-based social networking. Continuous spatial queries serve as a building block for location-based services. As an example, an Uber driver may want to be kept aware of the nearest customers or service stations. Continuous
more » ... patial queries require updates to the query result as the query or data objects are moving. This poses challenges to the query efficiency, which is crucial to the user experience of a service. A large number of approaches address this efficiency issue using the concept of safe region. A safe region is a region within which arbitrary movement of an object leaves the query result unchanged. Such a region helps reduce the frequency of query result update and hence improves query efficiency. As a result, safe region based approaches have been popular for processing various types of continuous spatial queries. Safe regions have interesting theoretical properties and are worth in-depth analysis. We provide a comparative study of safe region based approaches. We describe how safe regions are computed for different types of continuous spatial queries, showing how they improve query efficiency. We compare the different safe region based approaches and discuss possible further improvements. Processing CSQs involves a wide range of challenges, among which query efficiency is an important aspect since it has significant impact on the user experience of LBS. Therefore, this survey 1:3 focuses on the efficiency of CSQ processing, i.e., how to maintain up-to-date query results at low costs, including server, client, and communication costs, and with low response time. Consider again the example in Fig. 1 . Assume that Alice requests her nearest petrol stations over a time period that may be partitioned into T time points. A straightforward query system computes and sends the updated nearest petrol stations to Alice at every time point. Let C p and C m be the computation and communication costs at one time point, respectively. In the worst case, computing k nearest petrol stations requires a scan over all petrol stations to compute and compare their distances from Alice with the aid of a priority queue of size k. Assume that there are n petrol stations. Then, C p = O(n · log k), and the worst-case computation cost for T time points is O(T · n · log k). The cost of transmitting k nearest petrol stations (without compression) is linear to k, i.e., C m = O(k). The worst-case communication cost is O(T · k). Popular LBS may involve millions of data objects and query users, e.g., Foursquare has 100 million venues and 55 million active users [Smith 2016]. Straightforward algorithms are not attractive in such settings. Many studies have been devoted to reduce the costs of CSQ processing. The safe region technique that is used commonly in many of these studies is the focus of this survey. A safe region is a region that allows arbitrary movements of an object without causing any changes to the query result. Safe regions allow the query processor to ignore some location updates of the query and data objects. A popular implementation of this technique called geo-fencing [Andriod 2017; Apple 2017] is used by mobile applications to reduce location tracking costs, including battery consumption, which is an important aspect in the user experience of mobile applications. Note that most of the studies surveyed involve some index structure over the objects. For static objects, hierarchical indexes such as R-trees [Guttman 1984] and Quadtrees [Finkel and Bentley 1974] , and grid-based indexes such as Grid files [Nievergelt et al. 1984 ] and space-filling curves [Orenstein and Merrett 1984] are frequently used. For moving objects, TPR-trees [Saltenis et al. 2000] and B-tree based indexes [Jensen et al. 2004] have been used. These index structures are not the focus of this survey. Interested readers are referred to surveys on these index structures [Gaede and Günther 1998; Böhm et al. 2001; Mokbel et al. 2003; Nguyen-Dinh et al. 2010]. Several existing surveys [Krumm 2009; Ilarri et al. 2010; Hendawi and Mokbel 2012; Silva et al. 2014] cover other aspects of CSQ processing. Hendawi and Mokbel [2012] discuss predictive CSQs and their challenges; Krumm [2009] discusses privacy issues in CSQs; Silva et al. [2014] discuss characteristics of CSQs in wireless sensor networks. For a comprehensive discussion of CSQ processing, interested readers are referred to the survey by Ilarri et al. [2010] , which covers topics from hardware system architecture to different CSQ processing frameworks and algorithms. Their survey focuses on classifying the existing literature. Thus, the studies covered there are categorized based on criteria such as the problem setting, e.g., whether or not object trajectories are known. Their survey helps choose query algorithms in different categories. The focus is not to cover safe region techniques, which are the topic of the present survey. Specifically, we cover the key idea underlying safe region techniques and how it is used in different CSQ algorithms to support a variety of query types. We also cover developments in CSQ processing (based on safe region techniques) that have appeared since the survey by Ilarri et al. [2010]. We aim for a tutorial-type survey that communicates key ideas and concepts and enables readers to apply safe region techniques to process new types of CSQs. A related concept in CSQ processing is that of a safe period. While safe regions guarantee the query result validity in the spatial dimension, safe periods guarantee this in the temporal dimension. A safe period is a time period during which the query result is guaranteed to stay valid, thus not requiring reevaluation. Safe periods are often computed based on a given maximum moving speed of the objects. Examples of this technique can be found in the literature [Tao and Papadias
doi:10.1145/3193835 fatcat:427g7ca7ifahble5s3h23ald6m