1 Introduction
Route Planning Services (RPS) are web-based applications that can calculate routes between two chosen points in a road network and are indispensable navigational aids for commuters, vehicle operators, autonomous vehicles, and so on. However, these same routes can reveal
points of interest [
15] that may contain users’ places of work and residence, in addition to highly sensitive information about their political, sexual, or religious tendencies [
30]. Furthermore, this exposes users to risks of targeted criminal acts, mass surveillance, discrimination, and so on. The rise in high-profile data breaches over the past decade has highlighted the importance of protecting user location (and route) data and has spurred many recent works focusing on adding privacy-preserving mechanisms to RPS.
In the RPS context, privacy primarily entails keeping users’ origin, destination, and route information from being acquired by untrusted entities. It exists side-by-side with other important
Quality of Service (QoS) metrics such as Utility (e.g., the accuracy of the routes) and Performance (e.g., the response time of the RPS), which affect whether or not an RPS would gain widespread adoption. Finding a good balance between these metrics is crucial for any privacy-preserving RPS. For instance, privacy-preserving protocols for querying road traffic data have been developed for
Vehicle Ad-hoc Networks (VANETs), but these either offload the computation cost of route planning onto the vehicle itself [
24,
25,
39] or an external trusted entity [
3,
4]. The latter approaches are already done by modern RPS, while the former are not web-based RPS at all. Structured encryption schemes [
17,
26,
37] provide privacy-protection for both user queries and road network data while also being relatively lightweight and efficient but at the cost of inherently leaking some query-related information that are detrimental to the privacy of user routes.
Aside from these, there are also works that utilize
Private Information Retrieval (PIR) [
7], since this protocol has strong privacy guarantees. In an RPS, their efficiency depends mostly on the routing algorithm but are often considered too computationally heavy to be used on very large databases—such as the road network graph of a large city. As such, only a few examples of PIR-based RPS have been developed over the past decade. One approach [
35] compresses road network graphs in a novel PIR-queryable manner but results in longer pre-processing and query response times. The other approach [
28] partitions the road network into disjoint subgraphs and these are individually retrieved via PIR to inform a local routing algorithm on the user’s device. This results in longer route completion times, since many PIR queries are needed to complete the route. Both approaches clearly entail a significant degradation of QoS, which dissuades most mainstream RPS from experimenting with and adopting them.
Our approach aims to create a RPS that addresses the aforementioned issues by fulfilling the following three objectives: (1) produce close-to-optimal users’ routes, (2) provide strong privacy guarantees for users’ route data, and (3) maintain an adequate level of performance by minimizing processing and communication overhead as much as possible. The approach involves two phases. In the
pre-processing phase, a graph partitioning technique is used to hierarchically divide the road network into balanced partitions. Routes within each partition are then pre-computed and stored in separate databases, and the same is done for an additional set of routes between neighboring partitions. In the
routing phase, a novel hierarchical heuristic algorithm on the user’s device privately obtains partial routes from the different partition databases using PIR and iteratively combines them to create a progressively finer route. We named the proposed approach,
Hierarchical Privacy-Preserving Route Planning(HPRoP), which makes the following key contributions:
–
An RPS that uses a hierarchical partitioning of the road network with a novel hierarchical route-planning algorithm to produce routes with good optimal route approximation while maintaining strong privacy guarantees and low route completion times,
–
A pair of privacy metrics—endpoint location privacy and route privacy—that aim to be general enough to be applicable to other privacy-preserving RPS while also accounting for specific characteristics of PIR-based RPS (such as providing strong privacy guarantees between routes in the same database), and
–
A comprehensive evaluation of the Utility, Privacy, and Performance of the proposed RPS on a simulated road network based in Osaka City against two PIR-based baseline approaches.
Note that the baseline approaches mentioned above were also developed solely for this article to address the lack of recent PIR-based route-planning approaches that HPRoP can be compared against. However, we do not count them as separate contributions, since they are primarily used as an evaluation tool. The rest of this article is organized as follows: Section
2 presents a summary of prior work related to privacy-preserving route planning. Section
3 discusses the mathematical models, assumptions, and other preliminaries. Section
4 presents the concept and intuition behind route planning under the constraints of PIR. Section
5 defines and discusses the privacy metrics used to evaluate the RPS. Section
6 presents the key ideas behind the approach itself and the details of the heuristic algorithm. Section
7 discusses the evaluation framework and the results. Section
8 concludes with a brief summary of the article and some notes on potential future work.
2 Related Work
Most algorithms for calculating exact shortest paths require
knowledge of the exact source and destination locations. Classical algorithms such as Dijkstra’s and Bellman-Ford [
10] calculate routes by repeatedly scanning connected vertices from some source point and assigning them weights until a path to the destination point is found. Modern algorithms improve upon this by leveraging unique properties of road networks. ALT [
18] pre-computes distances to fixed landmarks and uses them as lower bounds to inform a bidirectional A* search [
21].
Contraction Hierarchies [
16] pre-processes the network graph to establish “shortcut edges,” facilitating faster route calculation between distant points.
Customizable Route Planning [
11] uses the network graph’s topology in their metric-independent hierarchical routing method. Regardless, deploying these on the server-side inevitably means that the user’s origin and destination must be divulged so the final route can be computed. Meanwhile, deploying these on the client side means downloading large amounts of road network data and computing routes on more resource-constrained machines. In other words, the first case compromises privacy while the second degrades functionality.
Alternatively, algorithms for finding
approximate shortest paths also exist, focusing on quickly obtaining short routes rather than finding the exact shortest ones. Point-to-point variants of these [
8,
22,
23] were developed at a time when mobile computational power was very limited and have been outclassed by modern exact shortest path algorithms. Yet, these remain useful in
All-Pairs Shortest Path (APSP) distance oracles [
1,
34] for speeding up goal-directed route calculations.
Recent research on privacy-preserving route-planning techniques generally fall under three categories: (1)
Structured Encryption-based, (2)
PIR-based, and (3)
Other encryption-based schemes. In addition, a number of schemes for privately querying road traffic information with applications to vehicle navigation systems also exist, but, since these either perform route planning on the vehicle itself [
24,
25,
39] or an external trusted entity [
3,
4], these works have been excluded here.
Structured Encryption [
6] refers to techniques that allow data structures to be encrypted such that these can be queried later in a privacy-preserving manner. They are typically more efficient in terms of computation time and communication overhead at the cost of leaking a small amount of information about the data and the queries. The approaches in References [
26,
37] use structured encryption to find the shortest distance between vertex-pairs in encrypted graphs. These, however, are only able to find shortest distance values instead of the actual shortest paths and are vulnerable to collusion between the storage and computing servers—which are essentially the same entity in the RPS context. In contrast, Reference [
17] is able to retrieve the actual shortest paths on a single-server setup, which effectively eliminates the aforementioned issues. However, pre-computing the encrypted database for large sparse graphs (i.e., with
\(|V| \ge 10,\!000\) and
\(|E| \ge 30,\!000\)) took upwards of 16.5 hours and produced very large files (around 4.4 GB), rendering it impractical for dynamic scenarios such as real-time route planning. Additionally, while all three have heavily constrained leakage profiles, some of the information they inherently leak may be detrimental to route privacy. For instance, the number of potential query elements (i.e., the database size) can be used to determine the specific subgraph of the road network graph being used. Query repetitions and total queries for route completion can be jointly analyzed across multiple sessions to deduce the actual route. Different approaches may also leak other information in addition to the ones mentioned here.
PIR [
7] is a technique that allows remote databases to be queried in such a way that the retrieved element would not be revealed to the service provider or any third-party entity. PIR-based schemes, therefore, have slightly stronger privacy guarantees in that repeated queries and underlying database sizes are not leaked but have the disadvantage of much higher communication overhead. While most modern implementations [
2,
19,
27,
29] have become very communication-efficient (i.e., up to
\(O(\sqrt {N})\)), they remain impractical for accessing a database of APSP in a large city. This is because PIR schemes need to go through each individual element to avoid leaking information about the element being retrieved [
5]. The approach in Reference [
35] describes a method for compressing road network graphs via sign-decomposition combined with Yao’s garbled circuits [
36] and PIR to protect both user queries and said graph, giving it strong end-to-end privacy guarantees. However, it also has relatively long pre-processing and query response times, since the protocol must operate on compressed and encrypted data at all times. The approach in Reference [
28] partitions the network graph into disjoint sections (i.e., each consisting of a separate subgraph) that can then be retrieved via PIR during local computation of a shortest path during the routing phase. While this requires minimal pre-processing time, the total route completion time remains rather long, since the locally run routing algorithm would need multiple PIR queries to complete a single route.
Other encryption-based schemes with much stronger privacy guarantees also exist, but they are also much less efficient than the previous two. For instance, Reference [
38] allows users to request routes between arbitrary source and destination partitions, as well as within said partitions in a privacy-preserving manner using 1-of-n Oblivious Transfer [
31]. However, the scheme needs to compute
All-Pairs of Shortest Paths (APSP) for the aforementioned partitions during the routing phase, drastically slowing down query response times. Similarly, the work in Reference [
14] uses Paillier’s Encryption to privately query outgoing edge weights from vertices in the road network graph that, in turn, is used to inform a route-planning algorithm running locally on the user’s own device. The scheme, unfortunately, has a very high communication overhead, since it has to make a separate query for every vertex that needs to be “scanned” by the routing algorithm.
As this work aims to achieve strong privacy guarantees for users’ routes while also meeting utility and performance targets, PIR was chosen as the core privacy-preservation mechanism for the proposed approach. Unlike structured encryption, it does not leak information about query repetitions, which can potentially be analyzed by an adversary to distinguish between different route requests by the same user.
3 Models and Assumptions
This section presents the assumptions and mathematical models related to the road network graph, its corresponding partition graph, and the “approximate” routes that can be derived from the latter. Table
1 provides a summary of the symbols and notation used in this section.
3.1 Road Network Partitioning Model
A road network can be modelled as a directed graph
\(G = (V,E),\) where the edges
E represent road segments, and the vertices
V represent either road intersections or terminals. Each road segment
\(e \in E\) is a directed edge between two vertices
\(u,v \in V\) such that
\(e = (u,v)\), with parallel opposing lanes being represented by two directed edges going in opposite directions. The traversal cost for
e is given by its length,
\(l_{G}(u,v)\). A
route or
path between two vertices
\(s,d \in V\) is defined as a sequence of vertices
\(r_{G}(s,d) = (v^{sd}_{1}, v^{sd}_{2}, \dots , v^{sd}_{n-1}, v^{sd}_{n})\) where the first vertex
\(v^{sd}_{1}=s\) and the last vertex
\(v^{sd}_{n}=d\). The total length of
\(r_{G}(s,d)\) is given by
\(L_{G}(r_{G}(s,d)) = \sum ^{|r_{G}(s,d)|-1}_{i=1} l_{G}(v^{sd}_{i}, v^{sd}_{i+1})\). Denoting
all possible paths (between
s and
d) as
\(R_{G}(s,d)\), the
Shortest Path is then:
Most modern route-planning algorithms can already deal with very large road networks, but typically do not incorporate route privacy protection mechanisms out of the box, as they tend to significantly increase processing and communication overhead, as mentioned in Section
2. However, if the route-planning task can be divided, then the additional processing cost incurred by the privacy mechanism can be distributed across multiple devices instead and ultimately improve RPS performance. This is done by first dividing the road network into different areas called
partitions.
An arbitrary partitioning of the road network graph G is represented by a separate partition graph \(G_{P} = (P,C),\) where the vertices P represent partitions and the edges C represent connections between them. Each partition \(p \in P\) is a subgraph \(p = (V_{p}, E_{p})\) such that \(V_{p} \subseteq V\) and \(E_{p} \subseteq E\). Each connection \(c_{p_{u}p_{v}} \in C\) is a shortest path \(\rho _{G}(x_{u},x_{v})\) between the representative vertices \(x_{u},x_{v} \in V\) of any two neighboring partitions \(p_{u},p_{v} \in P\) where \(x_{u} \in V_{p_{u}} \wedge x_{v} \in V_{p_{v}}\). Two partitions are considered “neighbors” if \(\exists ~e = (u,v)~\text{s.t.}~e \in E \wedge u \in V_{p_{u}} \wedge v \in V_{p_{v}}\). Finally, the set of all neighboring partitions for \(p_{u}\) is defined as \(NB_{p_{u}} = \lbrace p_{v} | p_{v} \in P \wedge (c_{p_{u}p_{v}} \in C \vee c_{p_{v}p_{u}} \in C)\rbrace .\)
Representative vertices are ideally chosen to minimize the shortest path distance to all other vertices in the partition. Vertices with high graph centrality are good candidates, but our preliminary experiments show that it is viable to simply choose the vertex closest to the geospatial average of the coordinates of each partition’s vertices with no impact on routing performance. Thus, representative vertices were chosen via this method. It then follows that \(l_{G_{P}}(p_{u},p_{v}) = L_{G}(\rho _{G}(x_{u},x_{v}))\). For simplicity, the shortest path distance between any \(u,v \in G\) is represented by \(dist_{G}(u,v)\), while \(dist_{G_{P}}(p_{u}, p_{v})\) refers to the shortest path distance between their containing partitions, \(p_{u}, p_{v} \in P\).
Partitions are defined in a hierarchical manner with the maximum partition level being \(\mathcal {L}\) and the subset of partitions for each level \(\ell \lt \mathcal {L}\) denoted as \(P^{\ell } \subseteq P\) such that \(P^{\ell } \subset P^{\ell -1}\) for \(\ell \gt 0\). A partition may also be defined as \(p^{\ell }_{i}\), where \(\ell\) is the partition’s level and i is the partition’s index at that level given \(P^{\ell } = \lbrace p^{\ell }_{0}, p^{\ell }_{1}, \dots , p^{\ell }_{n}\rbrace\). The base level partition set \(P^{0}\) contains only one partition/subgraph \(p^{0}_{0} = G\) at \(\ell = 0\). Conversely, \(p^{0}_{0}\) might be composed of several smaller partitions \(p^{1}_{0}\), \(p^{1}_{1}\), \(p^{1}_{2}\), and \(p^{1}_{3}\) at \(\ell = 1\) such that all of them are subgraphs of \(p^{0}_{0}\) and so on. For clarity, partition levels will henceforth be referred to by their position (i.e., higher or lower) instead of their subgraph’s size.
Each partition
\(p^{\ell }\) has three sets of shortest path data, as depicted in Figure
1: (1) the shortest paths
within the partition
\(p^{\ell }\) (black edges), (2) the shortest paths to its
neighboring partitions,
\(NB_{p^{\ell }}\) (blue edges), and (3) the shortest paths between the
containing partition,
\(p^{\ell -1}\), to its own neighbors,
\(NB_{p^{\ell -1}}\) (green edges). This database of shortest paths is represented by
\(\mathcal {D}(p^{\ell })\).
3.2 Approximate Shortest Path Model
Our approach relaxes the shortest path problem by accepting approximate shortest paths between two areas (in this case, partitions) containing
s and
d in place of the exact shortest path between the two points. This, in turn, reduces the number of queries required to obtain a route (hence, faster route completion times) at the cost of potentially having slightly longer paths. These are formally defined here as follows: Given an arbitrary
\(s,d \in V\), the exact shortest path
\(\rho _{G}(s,d)\) rarely coincides with the shortest path
\(\rho _{G_{P}}(x_{s},x_{d}),\) where
\(x_{s}\) and
\(x_{d}\) are the representative vertices in the same partitions as
s and
d, respectively. This is because only routes between representative vertices of partitions in
P can be produced from
\(G_{P}\), and it is highly likely that
\(s \ne x_{s}\) or
\(d \ne x_{d}\). However, it is still possible to “complete” the route by adding in the missing start and end sections. Letting
\(\mathcal {C}(\rho _{1}, \ldots , \rho _{n})\) be a route combination heuristic, the simplest “completed” route would be:
This can be generalized further by replacing
\(\rho _{G_{P}}(x_{s},x_{d})\) with
\(\mathcal {C}(\rho _{G_{P}}(x_{1}, x_{2}), \dots , \rho _{G_{P}}(x_{n-1}, x_{n}))\):
where
\(x_{1}=x_{s}\) and
\(x_{n}=x_{d}\). In this work, these kinds of combined paths are designated as
approximate shortest paths, and their quality is measured based on how well they approximate their counterpart exact shortest paths. This metric is defined as the
optimal route approximation:
where
\(l_{G}(r^{*}_{G}(s,d))\) is the length of the approximate shortest path, and
\(dist_{G}(s,d)\) is the length of the exact shortest path in
G.
3.3 Assumptions
Having presented the mathematical models relevant to route planning, we now state the core assumptions in this work as follows: Foremost is that the RPS operates over a particular service region and is primarily used by the general public for their day-to-day activities. The
service region in this case is assumed to be a geographical area of arbitrary shape and size that has fixed bounds. This area is assumed to have comprehensive road network data available such that an RPS can be used to calculate routes within it. This road network is assumed to be represented as a graph that can be divided multiple times to produce subgraphs representing partitions as per Section
3.1. Each highest-level partition is assumed to be handled by a distinct physical or virtual device for the purpose of the RPS. Additionally, it is assumed that each partition can calculate, build, and maintain its own database of shortest paths
\(\mathcal {D}(p)\) independent of its other tasks. This per-partition database is then assumed to be queryable by users in a privacy-preserving manner through PIR.
We additionally assume that all entities other than the user are potential threats—henceforth, simply called “adversaries”—interested in gaining access to the user’s route information. Note that no distinction is made between the service providers themselves and malicious third-parties. The kinds of information that can be leaked include the user’s: (1) exact origin, (2) exact destination, and (3) the calculated “route” between them.
4 Route Planning with PIR
PIR can be used by RPS to provide strong privacy guarantees by protecting the database representation of the road network graph used to calculate routes. In the simplest case, consider a database containing APSP for the whole road network graph, indexed by pairs of origin and destination vertices,
\((s,d)\). PIR can then be used to retrieve any route between any two locations on the road network using a single query (i.e.,
\(O(1)\)) with very high privacy. This is the
naive approach, which is not feasible in practice for two reasons: (1) it requires a prohibitively large amount of storage space, and (2) pre-computing APSP information for large road network graphs takes a very long time. As the following sections will discuss space and time complexity in great detail, a summary of the symbols and notation for this section is provided in Table
2.
Assuming a graph with \(10,\!000\) vertices, a longest path length of 20 vertices, and a 1-byte representation for vertex data, the total PIR database size is already around 2 GB. This is even larger for city-sized road networks such as Osaka City’s, which has \(\sim 99,\!000\) vertices (\(\sim 200.8\) GB keeping all other parameters same). In short, letting \(R^{*}_{G} = \lbrace r^{*}_{G}(u,v) | u,v \in V \rbrace\) and \(L^{max}_{G} = L_{G}({\arg\max}_{r \in R^{*}_{G}} |r|\)), the space complexity for such an approach is \(O(|V|^{2} \cdot L^{max}_{G})\). This issue is made even worse by PIR, since individual record retrieval times become slower with larger database sizes. This has been verified through preliminary experiments where data retrieval times were observed to scale linearly with database sizes by a constant factor, \(\mathcal {C}_{pir}\), such that accessing a single route would have a time complexity of \(O(\mathcal {C}_{pir} \cdot |V|^{2}) \approx O(|V|^{2})\) instead of the expected \(O(1)\).
Since time complexity is heavily dependent on space-complexity for PIR-based approaches, existing works [
28,
35] have focused on tackling the space complexity problem, since pre-processing is assumed to be done offline only once. This is not the case for real-world road networks, however, where traffic conditions can change very quickly. One way to solve this is by distributing route data among several edge servers such that each one only manages vertices for a
distinct partition. This reduces the time complexity to
\(O(|V| \cdot \mathcal {N}_{p}),\) where
\(\mathcal {N}_{p} = 1 /|P| \cdot \sum _{p \in P} |V_{p}|\) is the average vertex count per partition, while the per-partition space complexity becomes
\(O(\mathcal {N}_{p} \cdot |V| \cdot L^{max}_{G})\). These databases still need to be kept updated, but it is much easier to do so in a distributed manner. However, dividing the data comes at the cost of weaker privacy, since the set of route data stored on the
accessed edge server is assumed known to the adversary. This is analyzed further in Section
5.
4.1 Exact Partial Region Dijkstra’s Algorithm (EPR-D)
The space complexity problem can be mitigated further by storing only edge weights between adjacent vertex pairs, as this is the minimum information needed by Dijkstra’s algorithm. This is also known as the
adjacency matrix representation, which readily maps into a database that can then be used with
any PIR scheme. We designated this PIR-adapted approach as
Exact
Partial
Region
Dijkstra’s Algorithm (
EPR-D), since it simply partitions and distributes graph data across several edge servers and produces exact shortest paths. A notable disadvantage is its use of separate PIR queries to retrieve information for each vertex, since the original algorithm tends to scan a lot of vertices, which can make route completion times very long. It is also possible to reidentify routes based on the sequence of edge servers queried by the user. This is examined further in Section
5. This is reflected in its average time complexity of
\(O(\mathcal {N}_{p} \cdot [\mathcal {N}_{p} + \mathcal {N}^{adj}_{p}] \cdot [|V| + |E| log |V|]),\) where
\(\mathcal {N}^{adj}_{p} = 1 /|P| \cdot \sum _{p \in P} |V^{adj}_{p}|\) is the average number of vertices adjacent to
other partitions, in turn, represented by
\(V_{p}^{adj} = \lbrace v | v \notin V_{p} \wedge [ (u,v) \in E \wedge u \in V_{p} ] \rbrace\). Meanwhile, its average per-partition space complexity is
\(O(\mathcal {N}_{p} \cdot [\mathcal {N}_{p} + \mathcal {N}^{adj}_{p}])\). Table
3 summarizes the complexity of EPR-D.
4.2 Approximate Partial Region Dijkstra’s Algorithm (APR-D)
A possible solution to the time complexity issue is by allowing the RPS to produce
approximate shortest paths instead of exact shortest paths. This can be done as follows: (1) calculate an approximate route between source and destination partitions
\(p_{s}\) and
\({p_{d}}\) using Dijkstra’s algorithm over partition graph
\(G_{P}\), (2) retrieve
subpaths to both
s and
d from
within their respective partitions via database lookup, and (3) merge all obtained paths to form the final route. We designated this approach as
Approximate
Partial
Region
Dijkstra’s Algorithm (
APR-D), since it produces approximate routes instead of exact ones. While it is significantly faster than EPR-D, it requires more space (since full routes are stored). It also has weaker privacy guarantees, since routes between distant areas tend to follow the same intermediate route, as will be expanded upon in Section
5. Since the database has to store complete routes, the space complexity is larger than EPR-D’s being at
\(O([\mathcal {N}^{2}_{p} + \mathcal {N}_{c}] \cdot R^{*,max}_{G}),\) where
\(\mathcal {N}_{c} = 1 /|P| \cdot \sum _{p \in P} |C_{p}|\) is the average number of external connections from each partition. The different stages have different time complexities, with the first stage having
\(O([\mathcal {N}^{2}_{p} + \mathcal {N}_{c}] \cdot [|P| + |C| log |P|])\) and the second stage having
\(O(2 \cdot \mathcal {N}^{2}_{p} + \mathcal {N}_{c})\). The combined time complexity is then
\(O([\mathcal {N}^{2}_{p} + \mathcal {N}_{c}] \cdot [ (|P| + |C| log |P|) + 2) ])\), which is significantly less than that of EPR-D, since
\(|P| \lt \lt |V|\). The complexity of APR-D is also summarized in Table
3.
8 Conclusion
In this work, the Hierarchical Privacy-Preserving Route Planning (HPRoP) approach was proposed, which combines Inertial Flow partitioning, Private Information Retrieval (PIR), and Edge Computing techniques along with a novel hierarchical route-planning heuristic algorithm to produce routes that can adequately approximate the actual shortest paths while also providing endpoint location privacy and route privacy. HPRoP reliably produced routes with an optimal route approximation of \(\alpha (r_{*})\le 1.2\), while also achieving near-optimal endpoint location privacy at \(\Omega (s,d) \approx 1.0\) and good route privacy at \(\Phi (Q^{*}) \ge 0.5\). In terms of performance, HPRoP has a route completion time of around 23.55 seconds, on average, which is reasonable for a privacy-preserving RPS. Its viability for deployment in a distributed/edge-based smart city context were also shown through its relatively small memory footprint (20–160 MB for each partition’s database) and short pre-processing times (2–5 seconds per partition), which are well within the capabilities of conventional edge servers.
In addition, although most modern route-planning algorithms can also use PIR, we did not use them as the basis of our approach due to several reasons. For instance,
bounded-hop techniques such as two-hop labelling [
9] are the fastest known class of routing algorithms but they require computing and storing prohibitively large indices for city-sized road networks, which becomes even worse in combination with PIR.
Separator-based techniques such as
Customizable Route Planning (CRP) [
11] and
goal-directed techniques such as ALT (based on A*) [
18] and Arc Flags [
20] have very long precomputation times, making them infeasible to use with dynamic road networks having edge weights that need to be updated frequently. The
hierarchical technique called
Contraction Hierarchies (CH) [
16] has none of the aforementioned problems but still presents a potential route privacy risk, since it must explicitly query the partitions along the actual shortest path multiple times to obtain the final path. Nevertheless, it is a good routing algorithm to consider for future PIR-based RPS work.
Aside from the experiments presented in Section
7, we also conducted tests on how well HPRoP generalizes to other road networks, but the results are omitted for conciseness. In particular, it was tested on three other large cities—New York, Shanghai, and Tokyo—by obtaining 4,000 test routes and examining the optimal route approximation distribution. For
\(75\%\) of all routes, the optimal route approximation was at
\(\alpha (r_{*})\le 1.20\) for New York,
\(\alpha (r_{*})\le 1.23\) for Shanghai, and
\(\alpha (r_{*})\le 1.24\) for Tokyo. This indicates that HPRoP generalizes somewhat, but further research is still required.
In the future, we also plan to refine HPRoP’s route-planning algorithm to further improve optimal route approximation and reduce route completion times by exploring more efficient data structures for route information and improve route privacy by considering out-of-order query execution.