KORS: Keyword-aware Optimal Route Search System Xin Cao § Lisi Chen § Gao Cong § Jihong Guan † Nhan-Tue Phan § Xiaokui Xiao § § School of Computer Engineering, Nanyang Technological University, Singapore † Department of Computer Science & Technology, Tongji University, China {xcao@e., lchen012@e., gaocong@, phan0032@e., xkxiao@}ntu.edu.sg jhguan@tongji.edu.cn Abstract—We present the Keyword-aware Optimal Route Search System (KORS), which efficiently answers the KOR queries. A KOR query is to find a route such that it covers a set of user-specified keywords, a specified budget constraint is satisfied, and an objective score of the route is optimized. Consider a tourist who wants to spend a day exploring a city. The user may issue the following KOR query: “find the most popular route such that it passes by shopping mall, restaurant, and pub, and the travel time to and from her hotel is within 4 hours.” KORS provides browser-based interfaces for desktop and laptop computers and provides a client application for mobile devices as well. The interfaces and the client enable users to formulate queries and view the query results on a map. Queries are then sent to the server for processing by the HTTP post operation. Since answering a KOR query is NP-hard, we devise two approximation algorithms with provable performance bounds and one greedy algorithm to process the KOR queries in our KORS prototype. We use two real-world datasets to demonstrate the functionality and performance of this system. I. I NTRODUCTION Identifying a preferable route in a road network is an important problem that finds applications in map services. For example, map applications like Baidu Lvyou (http://lvyou. baidu.com/) and Yahoo Travel (http://travel.yahoo.com) offer tools for trip planning. However, the routes that they provide are collected from users and are thus pre-defined. This is a significant deficiency since there may not exist any pre- defined route that meets the needs of users. The existing solutions (e.g., [3]–[5]) for trip planning or route search are often insufficient in offering the flexibility for users to specify their requirements on the route. We use the following example to illustrate the insufficiency of existing applications and solutions. Example 1: Consider a user who wants to spend a day exploring a city with which she is not familiar. She would like to visit a shopping mall, a restaurant, and a pub. Meanwhile, she is not willing to spend too much time on the road. The following query might be posed: “Find the most popular route to and from my hotel such that it passes by shopping mall, restaurant, and pub, and the time spent on the road in total is within 4 hours.” ✷ The example query above has two hard constraints: 1) the points of interests preferred by the user, as expressed by a set of keywords that should be covered in the route (e.g., shopping mall, restaurant and pub); 2) a budget constraint (e.g., travel time) that should be satisfied by the route. The query aims to identify the optimal route under the two hard constraints, such that an objective score is optimized (e.g., route popularity). In general, the budget constraint and the objective score can be of different types, such as travel duration, travel distance, route popularity, travel budget, etc. We consider two different attributes for budget constraint and objective score because users often need to balance the trade- off of two aspects when planning trips. For example, a popular route may be quite expensive, or a route with the shortest length is of little interests. In the example query, it is likely that the most popular route requires traveling time more than 4 hours. Hence, a route searching system should be able to allow users to set their preferences according to their requirements. We refer to the aforementioned type of queries as K eyword- aware O ptimal R oute query, denoted as KOR [1]. Formally, a KOR query is defined over a road network graph G , and the input to the query consists of five parameters, v s , v t , ψ, Δ, and f , where v s is the source location of the route in G , v t is the target location, ψ is a set of keywords, Δ is a budget limit, and f is a function that calculates the objective score of a route. The query returns a path R in G starting at v s and ending at v t , such that R minimizes f (R) under the constraints that R satisfies the budget limit Δ and passes through locations that cover the query keywords in ψ. In this demonstration, we illustrate the Keyword-aware Op- timal Route Search System (KORS) which efficiently retrieves the optimal route according to user requirements specified in the KOR query. We use the route popularity as the objective score and the travel distance as the budget score in our KORS prototype (Note that route popularity can be estimated by the number of users traveling on a route, obtained from the user traveling histories recorded in sources such as GPS trajectories or Flickr photos [2]). We develop browser-based user interfaces for conventional desktop and laptop computers. We also provide an Android client for mobile devices. They enable users to formulate their 978-1-4673-4910-9/13/$31.00 2013 IEEE ICDE Conference 2013 1340