Efficient shortest path query processing in dynamic road networks

Given an origin and a destination in a road network, a shortest path query returns a path between them with the minimum cost (e.g. shortest distance, minimum travel time or lowest fuel consumption). It is the fundamental operation for app-based/ in-car navigation services and the building block of various applications such as Network-based k-Nearest Neighbors query processing(KNN), Shortest Path Counting (SPC), carpooling scheduling, transportation management and any many other applications. Even though this query has been extensively studied in the last decades, there are two novel challenges that limit the application of shortest path queries in modern applications: (1) a huge amount of queries are submitted to the servers simultaneously with the business expansion; (2) the road network keeps evolving all the time because of traffic. So both the query processing efficiency and adaption to frequent change are required for the shortest path algorithms. However, the existing algorithms can either adapt to dynamics naturally or process the query efficiently. Therefore, we study how to process shortest path query efficiently in dynamically evolving networks.Our first solution is to process the queries by batch with index-free algorithms. The index-free algorithms can deal with dynamics naturally while having relatively slow query processing speed. We attempt to speed up the query answering by processing multiple queries in one single run. The difficulty lies in how to partition the queries into several cluster such that queries within one cluster can be processed by batch and how to design the batch shortest path algorithms. To cope with this difficulty, we propose to set the queries in one cluster in the form of 1-N (queries with the same origin and different destinations) or M-N (localized queries with both different origins and destinations) distributions. Further, we propose different query decomposition methods by accumulating the localized queries and design the corresponding batch algorithms by sharing computation among different queries for each of these two forms. Experiments on a large real-world query sets verify the effectiveness and efficiency of our decomposition methods and batch shortest path algorithms compared with the state-of-the-art batch algorithms.Our second solution is snapshot clustering with index-based algorithms. The index-based algorithms can achieve high query efficiency and to support dynamically changing road networks, we treat the road network as a sequence of snapshots. Because some snapshot networks are similar, we cluster them and select a representative from each cluster. After that, we build one index for each representative and the current queries are processed approximately on the most similar typical snapshot. The challenges lie in snapshot representation and snapshot similarity measurement. To represent snapshot networks, we consider different components (such as vertex, edge, path, origin-destination pair) in a network and propose corresponding representations and similarity measurements. Experiments in large real-world dynamic road networks verify the effectiveness of our method compared with the state-of-the-art.Our third solution is index maintenance. In this solution, we refresh the index incrementally to adapt to the changes in the network. The difficulties lie in maintaining the index efficiently and correctly, while keeping the fast query processing. We propose two types of index maintenance methods based on different algorithms with different principles. In the first one, we take Pruned Landmark Labeling (PLL) as the underlying algorithm and maintain the index based on both synchronous and asynchronous propagation mechanisms. We categorize all the situations into multiple sub-cases and analyze their correctness by dividing all paths into two types. The second index maintenance method is based on Hierarchical 2-Hop (H2H) and we introduce some properties for correctness guarantee. Then we propose the paradigm of index change tracing and some progressive techniques for faster index update. Our experimental results on real road networks validate the superiority of our proposed solutions over existing solutions on both index maintenance and query processing.