Abstract

Shortest path queries have been widely used in location-based services (LBSs). To calculate the shortest path from an origin to a destination, an LBS provider usually needs to know the map data of the underlying road network, which can be rather costly especially if such data need to be kept continuously and up to date. A cost-effective way is that LBS providers outsource the shortest path query processing to cloud-based mapping services such as Google Maps, by retrieving the detailed path information from them through external requests. Due to the high cost of accessing data through external requests and the usage limits of mapping services, we propose two optimization techniques in this paper, namely, path sharing and path caching, to reduce the number of external requests and the user query response time. Unlike previous work where the underlying road network is given, this paper optimizes path query processing only based on query origins and destinations. The basic idea of path sharing optimization is that the path information of a query can be shared with another query $q$ if $q$ values origin and destination both lie on the path. To achieve this, we propose an effective method to compute whether or not a query origin/destination lies on a path only based on the Euclidean distance between them. Path caching, an extension of path sharing, lets an LBS provider answer path queries directly based on cached paths. To accomplish this, we first formulate the problem of constructing path cache as a knapsack problem and design a greedy algorithm to solve it; then, we devise an effective cache structure to support efficient cache lookup. Extensive experiments on Bing Maps and real data sets are conducted, and the results show the efficiency, scalability, and applicability of our proposed approaches.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call