Humans naturally communicate in a hybrid fashion by making use of broadcast services, emails, phones, or simply face-to-face communication. Thus, it seems natural to study hybrid communication also in distributed systems. But fundamental research in this area is still in its infancy, even though there are several examples where hybrid communication is already exploited in practice. For instance, in modern data centers, wired communication networks are combined with high-speed wireless communication to reduce wire length or increase bandwidth without adding congestion to the wired network . This paper focuses on hybrid wireless networks: networks that combine ad-hoc, WLAN-based connections (the local network) with connections via a cellular or satellite infrastructure (the global network). These can be realized, for instance, by smartphones, since they support both communication modes and solutions for smartphone ad hoc networks have been around for almost a decade. Connections in the local network can transfer large amounts of data cheaply, but have limited range, while global connections can transmit data between any pair of devices, but typically with bandwidth restrictions and additional costs. So ideally, global communication should be reserved for exchanging control messages while the data should be sent via the local edges, which necessitates the computation of a routing scheme for the local network.
The simplest solution to compute a routing scheme would be to use the global mode to collect all local device connections and/or positions in a centralized server and do the computation there. However, a centralized solution would represent a bottleneck and single point of failure, or it would not be for free when making use of a cloud service. We avoid these problems by only relying on the devices themselves. Interestingly, even without any central service, we vastly improve the results over what is possible with just the local network. More specifically, we demonstrate that with a hybrid wireless network one can significantly speed up the computation of compact routing schemes under certain natural circumstances, thereby opening up a new research direction for wireless networks.
1.1 Model and Problem Definition
We assume a set of nodes with unique IDs. Each node is associated with a fixed, distinct point in the 2-dimensional Euclidean plane, (i.e., ), and every node knows the global coordinates of its point. We assume the standard synchronous message passing model: time proceeds in synchronous time slots called rounds. In each round, every node can perform an arbitrary amount of local computation and then communicate with other nodes.
In the model, communication occurs in one of two modes: the local mode and the global mode. The connections for the local mode are given by a fixed graph. In our case, this graph is represented by a unit-disk graph : for any , if and only if and are at distance at most 1. For the local mode, we use the model for simplicity: in each round, for all edges , node can send a message of bits to node . However, our algorithms still work if instead the more restrictive (and more natural) model is used (see Appendix D.3). We assume that each message can carry a constant number of node locations (this is analogous to the Real RAM model, a standard model of sequential computation).
For the global mode, we are using a variant of the node-capacitated clique () model called  that captures key aspects of overlay networks. In this model, any node can send messages to any other node provided knows ’s ID. Initially, the set of IDs known to each node is just limited to its neighbors in . Each node is limited to sending messages of bits via the global mode in each round. W.l.o.g., we assume that whenever a node knows the ID of some node , it also knows ’s location (since this can be sent together with its ID).
The assumption that the nodes know their global coordinates is motivated by the fact that smartphones can nowadays accurately determine their location using GPS or wireless access point or base station information. However, it would also be sufficient if the nodes can determine the distance and relative angles to their neighbors in the UDG (this can be obtained via kown localization methods ), though with some precision loss.
The use of the model in the global communication mode is motivated by the fact that nodes can communicate with any other node in the world via the cellular infrastructure given its ID (e.g., its phone number). Note that is weaker than , which assumes a clique from the start, but it is known that once the right topology has been set up in (which can be done in rounds ), any communication round in can be simulated by communication rounds in .
Our goal is to compute a compact routing scheme for , in hybrid networks where is connected and does not contain radio holes. is said to contain a radio hole if, roughly speaking, there is an internal cycle in that cannot be triangulated. A precise definition will be given in Section 2.
Let be a class of graphs. A stateless111In a stateless routing scheme a packet can not accumulate information along the routing path and is thus oblivious to the routing path that the packet took so far (as opposed to stateful routing) routing scheme for is a family of labeling functions for each , which assigns a bit string to every node in . The label serves as the address of for routing in : it contains the identifier of , and may also contain information about the topology of .
While the identifier is given as part of the input, the label is determined in the preprocessing. Additionally, the preprocessing has to set up a routing function for the given graph that, given the current node of a message and the label of the destination, determines the neighbor of in to forward the message to222More general definitions of routing functions exist, but we do not require the additional power afforded by stateful routing (for instance), to compute near-constant routing schemes in logarithmic time.. A routing scheme must satisfy various properties.
First of all, it must be correct, i.e., for every source-destination pair , determines a path in leading from to . Second, it must be local, in a sense that every node can evaluate locally. Third, the routing should be efficient, i.e., the ratio of the length of the routing path and the shortest path — also known as the stretch factor — should be as close to 1 as possible. In our case, the length of a routing path is simply determined by the number of edges used by it. Note that whenever we have a constant stretch w.r.t. the number of edges in , we also have a constant stretch w.r.t. the sum of the Euclidean lengths of its edges, so we achieve a constant stretch for both types of metrics (see Section 2). Finally, the routing scheme should be compact, i.e., the labels of the nodes and the amount of space needed at each node to evaluate should be as small as possible.
There are various reasons for developing fast distributed algorithms for compact routing schemes in hybrid wireless networks. First of all, computing routing schemes for the local ad-hoc network is useful even in the presence of a cellular infrastructure since ad-hoc connections are comparatively cheap to use and typically offer a much larger bandwidth. Also, the ability to quickly compute compact routing schemes allows for frequent adaption in case of topological changes in the wireless ad-hoc network with low overhead.
1.2 Our Contributions
In Appendix A we show that it is impossible to set up a compact routing scheme with constant stretch in time when just relying on the UDG for communication even if the geometric location of all nodes is known and the UDG is hole-free. This poses the question of whether limited global communication can overcome this. We answer this question by showing the following result, which demonstrates the impact that a modest amount of global communication has when applied to problems which are challenging to solve locally.
For a network with a hole-free , a compact, stateless routing scheme can be deterministically computed for in rounds. The scheme uses node labels of bits and a mapping that (i) can be evaluated locally with bits of information in each node and (ii) such that for every source-destination pair , determines a routing path of constant stretch from to in .
Technical novelties of this work include a grid graph abstraction of any UDG which serves to sparsify the UDG while preserving its geometric structure. Computations on the grid graph can be simulated efficiently in . Furthermore, we can transform a routing scheme on the grid graph to one in the UDG, increasing the stretch only by a constant.
We show how to construct this abstraction in a distributed setting based entirely on local communication. This could potentially make it of interest when studying routing or distance approximation problems on UDGs in the or models or for simplification of existing algorithms. We also believe that the grid graph abstraction and its properties will be useful for future work in the setting, making it a springboard for the case of UDGs with radio-holes.
The first step is the computation of a simple, yet surprisingly useful abstract graph structure on , which we call a grid graph . The vertices of are the centers of the cells of a regular square grid which intersect with an edge of . Two vertices of share an edge iff their cells are vertically or horizontally adjacent (see Section 2.2, Figure 1). Subsequently, in Section 2.3, we tie the graphs and together by defining a representative in for each vertex of that fulfills two main properties. First, two representatives of adjacent grid vertices are connected with a path of at most 3 hops in (see Figure 2). Second, each node in has such a representative within 1 hop in .
We then turn to the algorithmic aspects of . In Section 2.4 we define the representation of , where grid vertices correspond to their aforementioned representatives and grid edges correspond to paths of 3 hops in , and we show that can be efficiently computed in . Furthermore, the representation can be used to efficiently simulate the model on , which is summarized in Theorem 2.4. In Section 3, we show that an optimal path in implies a path in with a constant approximation ratio (Theorem 3.1).
The final step of the first part is to construct a constant stretch routing scheme for assuming that we have an optimal one for (Section 3.2), which is encapsulated by Theorem 3.2. Since we can efficiently simulate the model on (Theorem 2.4), the second part can be considered in isolation from the first part. Note that so far we did not exploit the fact that is hole-free. In fact, the construction, simulation, and properties of hold without that assumption, which is only needed for the second part.
Requiring the UDG to be hole-free is a strong assumption. However, we believe that at least bounding the number of holes is necessary in order to compute a compact, constant-stretch labelling scheme in rounds. Doing this in time and space polylogarithmic in that also scales well in the number of radio holes in the UDG seems to be highly non-trivial, as these holes may intertwine in arbitrary ways, while there are exponentially many possibilities of navigating around them.333The number of simple -paths that cannot be continuously deformed into each other without crossing a hole (i.e., non-homotopic paths) is , where is the number of radio holes. While in our setting there still can be exponentially many simple paths between two points, we are able to exploit the lack of large holes between them to deal with arbitrarily complex boundaries of UDGs in a hybrid network setting.
To compute the routing scheme on , the first step (Section 4) is to arrange the grid nodes into maximal vertical lines, called portals (see Figure 2(a)). All portals with two horizontally adjacent nodes will add one such edge, resulting in a portal-tree , which is cycle-free because is hole-free (see Figure 2(b)). In order to compute a labelling scheme we first perform a distributed depth-first traversal on (where the root is the node with min ID). This allows us to compute intervals for each node of that fulfill the parenthesis theorem: it is () for each ancestor (descendant) node of in , or else when are in different branches of (see Figure 2(d)). Then all nodes of a portal will agree on interval of node that is closest to the root as their portal label. The challenge here is to carefully line up techniques for the more restrictive model to obtain such a labelling in rounds.
Finally, in Section 5, we use to route a packet from source to target node in . Since the shortest path in may not necessarily follow the tree, we have to define a routing strategy that jumps over branches when needed, for which we can use the “tree information” encoded in the labels. We use the portal labels to prioritize jumping horizontally as soon as the next portal on a path is reachable via any edge in . Vertical routing within portals is done as a second priority for which node labels are used. We prove that this strategy yields an exact routing scheme for formalized in Theorem 5. Consequently, Theorem 1.2 is a corollary from the fact that we can emulate on (Theorem 2.4) and that can be transformed into a constant stretch routing scheme for (Theorem 3.2).
1.4 Related Work
An early effort to formalize hybrid communication networks by , combined the model with a global communication mode that essentially allows a single node to broadcast a message to all others per round. Note that this conception of the global network is fundamentally different to ours, which manifests in the fact that solving a aggregations problem (e.g., computing the sum of inputs of each node) can take rounds (by contrast, it takes rounds in the model).
Recently, shortest path problems in general hybrid networks have been studied by various authors [3, 9, 21, 11], which provide approximate and exact solutions for the all-pairs shortest paths problem (APSP) and the single-source shortest paths problem (SSSP). These solutions all require rounds (for constant ) to achieve a constant approximation ratio, and this is tight in the case of APSP. -time algorithms to solve SSSP for some classes of sparse graphs (not including UDGs) are given in . Shortest path problems have also been studied for hybrid wireless networks . They show that for a bounded-degree with a convex outer boundary, where the bounding boxes of the radio holes do not overlap, one can compute an abstraction of in time so that paths of constant stretch between all source-destination pairs outside of the bounding boxes can be found (a simple extension of their approach to outer boundaries of arbitrary shape seems unlikely).
Numerous online routing strategies have been proposed for general UDGs, including FACE-I, FACE-II, AFR, OAFR, GOAFR and GOAFR+ [5, 24, 22, 23]. In [24, 22] it is proven that GOAFR and GOAFR+ are asymptotically optimal w.r.t. path length compared to any geometric routing strategy. However, the achieved stretch is linear in the length of a shortest path. When a UDG contains the Delaunay graph of its nodes, one can exploit the fact that the Delaunay graph is a 2-spanner of the Euclidean metric , and MixedChordArc has been shown to be a constant-competitive routing strategy for Delaunay graphs . This is only applicable in UDGs where the line segment connecting two nodes of the UDG does not intersect a boundary, which is the case if it has a convex outer boundary and is hole-free.
Centralized constructions444Note that in this paper, we allow ourselves just rounds for pre-computation and each node can learn only bits per round given that it has small () degree, which can be true for every node. The local network has size , meaning no single node can learn it completely. This inhibits solving the problem locally at some node, i.e., by direct use of some centralized algorithm. for compact routing schemes have been heavily investigated for general graphs (see, e.g., ) as well as UDGs. Here, we just focus on UDGs. Bruck et al.  present a medial axis based naming and routing protocol that does not require geographical locations, makes routing decisions locally, and achieves good load balancing. The routing paths seem near-optimal in simulations, but no rigorous results are given. Gao and Goswami  propose a routing algorithm that achieves a constant approximation ratio for load balanced routing in a UDG of arbitrary shape, but the question of near-optimal routing paths is not addressed. Based on work by Gupta et al.  for planar graphs, Yan et al.  show how to assign a label of bits to each node of the graph such that given the labels of a source and of a target , one can locally compute a path from to with constant stretch. Using the well-separated pair decomposition (WSPD) for UDGs , Kaplan et al.  present a local routing scheme with stretch with node labels, routing tables and headers of size polynomial in , and , where is the diameter of . Later,  shows how to achieve a stretch of without using dynamic headers.
Our routing scheme for the grid graph abstraction extends the routing scheme proposed by Santoro and Khatib , who presented a labelling along with an optimal routing scheme for trees by computing a minimum-distance spanning tree and labelling of that tree via a depth-first search.555 While the routing scheme in  guarantees a 2-approximation for general graphs regarding the worst-case optimal cost when routing over all possible source-target-pairs, their scheme does not guarantee constant stretch when routing a message between two specific nodes in the grid graph. In our scheme, we provide optimal paths between any source-target pair in the grid graph, because we allow using edges that are not part of the spanning tree for routing in order to jump between the branches of the spanning tree.
Our study is also related to routing problems in sparse graphs in parallel models [20, 10]. For example, the algorithm of Kavvadias et al.  can be used to compute routing tables in planar graphs in time and work . Together with the simulation framework of Feldmann et al. , the algorithm could in principle be used to solve our problem. However, for the simulation to work, one would need to construct a suitable global network, sparsify the graph, and, together with the simulation overhead, one would obtain a polylogarithmic runtime much higher than . Further, the size of the routing tables may be .
2 Grid Graph
Let . The goal of this section is to construct a grid abstraction of which makes finding routing protocols in the subsequent section manageable. In particular (but still suppressing some details), we want to simulate a bounded degree grid graph on such that shortest paths in the grid graph represents only a constant factor detour in . The way we obtain such a grid representation of in a distributed fashion is by simulating grid nodes with real nodes of that are close by, where edges between grid nodes correspond to paths of constant length in . We start by introducing some notations we require in the following.
Graphs and Polygons in .
Since each node in is associated with a point in , we can associate each edge with the line segment with endpoints and , i.e., the set . We use the names of vertices and edges to refer to their associated subsets of when no ambiguity arises.
A polygonal chain is a finite sequence of points where consecutive points are connected by segments. A polygonal chain is closed if the first point in the sequence is equal to the last. A polygon is a closed, connected, and bounded region in where the boundary consists of a finite number of (not necessarily disjoint) closed polygonal chains (this implies the edges in these polygonal chains have no proper intersections).
A hole of a polygon is an open region in that is a maximal bounded and connected component of . Note that the boundary of each hole of is equal to one of the polygonal chains bounding . A polygon is simple if it has no holes.
We use the notation for the Euclidean metric on . Consequently, for , denotes the Euclidean distance from to . For sets of points we define the distance between those sets as .
Let be a polygon in the Euclidean plane and let . We define the geometric distance between and in , , to be the length of the shortest path between in . Note that because is a polygon, there is a polygonal chain from to inside such that .
Let be an embedded graph. Let be a path, i.e., a sequence of incident edges of . Then we define . Let be the number of edges (or hops) of a path in . The hop-distance between two nodes is defined as .
2.2 Grid Graph Definition
We first give some definitions to formalize the notion of an UDG having radio-holes. A triangle of is a region in that is bounded by the edges of a -cycle in (including both the boundary and interior of the triangle). We define the contour polygon of as the union of all triangles and edges of . Since is connected, is indeed a polygon. We call the holes in radio-holes of . We say an UDG has no radio-holes if the contour polygon of that UDG has no holes, i.e., the polygon is simple.
Next we partition the plane into an axis-parallel square grid with side-length and a fixed origin corresponding to origin of the coordinate system. Note that due to knowledge of coordinates, all nodes are aware of their position relative to the grid.
Define a square grid-cell to be active if it has a non-empty intersection with . Based on this grid, we define the grid graph , where has a node positioned at the center of each active cell in our grid, and we have an edge in between every pair of nodes of that lie in adjacent cells in the grid (i.e., the square cells share an edge). The grid graph will be simulated in the routing protocol. We will also define the cell graph in the analysis of our protocol, but do not simulate it. We call a vertex of the grid loose if it is a corner of exactly active cells that are not adjacent. is composed of the boundaries of the square grid, with the set of all corners of each active grid-cell that are not loose, with a pair of vertices in having an edge in if they are ends of an edge of a grid-cell. To define the cell polygon , first take the union of all active grid-cells. Then, for every loose vertex in the grid, remove a triangle from at every active grid-cell incident to that is small enough to be disjoint from , such that no longer contains . Note that since a loose vertex does not lie in (otherwise, all cells incident to it would have been active), such a triangle exists. See Figure 1 for an example of these definitions. Next, we define a representative for each grid node , which simulates throughout the rest of the protocol. We apply one of the following rules to assign a grid node to a node .
Let , and let be the grid cell of which is the center. We define as the set of vertices of all triangles of that contain the point . We define as the set of vertices incident to an edge that intersects .
We define the set of candidate representatives as .
The representative of is defined as if is non-empty, and otherwise. In either case, we break ties by smallest node ID.
2.3 Properties of the Grid Graph
The next step is to show that the grid abstraction introduced in Definition 2.2 represents the UDG well. In this section we prove several properties to this effect: we show that nodes are adjacent to the representative of the cell which they are in (Lemma 2.3); that representatives for adjacent grid cells are close (Lemma 2.3); and that the cell polygon is simple (Lemma 2.3).
Let . If is the representative of the cell containing , then
Intuitively, this is true because must be close to the centre of , as must : even if these nodes are different they cannot be too far apart.
Let be the center of . Because lies in , we have . If or , we have , because otherwise would not be the representative of . Together with the triangle inequality, we get .
Otherwise, we have and . This means lies inside a triangle of and does not. So, there is an edge of a triangle of that intersects . Let be the closest point to on . We have because intersects . There is an endpoint of with , because the length of is at most . Since is orthogonal to , we have . Therefore, we have . ∎
Next, we show that the representatives of adjacent grid cells are within hops of each other.
Let be an edge in . Let be representatives of respectively. Then .
We consider two cases: First, suppose either or is a vertex of a triangle that contains both and . Then and are both candidates for the same grid node, so by Lemma B.
Otherwise, both and are either a vertex of a triangle of which the boundary intersects the segment (because the triangle contains exactly one of two grid nodes) or an endpoint of an edge that intersects the cell of or . In both cases, there exists an edge that (i) intersects the union of the cells belonging to and , and (ii) has both ends within hop-distance at most to . Analogously, there exists a segment with the same properties.
Since and both intersect a rectangle of size by , their distance is at most . By Lemma B, one end of is adjacent to an end of . Since both ends of have distance at most to respectively, we have . ∎
We show that the edges which define and are at most the diagonal of a block of grid cells apart. We conclude that this distance is small enough that an edge connects an endpoint of one edge with an endpoint from the other, and so the representatives of adjacent cells have distance at most from each other.
Finally, we show that is simple, i.e., it has no holes. We show this by observing that if there is a hole in , there is a cycle of active cells with an inactive cell in its interior. We show this cycle of cells contains a cycle of , which implies contains a radio-hole.
If has no holes, then is simple.
We prove the contrapositive. Suppose is not simple. Then, one of the polygonal chains bounding contains only inactive grid cells in its interior. Let be the set of active cells with a vertex of on its boundary. Because does not contain any loose vertices, forms a cycle of cells where adjacent cells share an edge. Since contains only inactive cells in its interior, lies outside of . Each cell in shares a corner with a grid-cell that is not active, because all vertices of lie on the boundary of an inactive grid cell. So, each cell in intersects the boundary of and therefore intersects an edge in . Consider two adjacent cells in containing edges , respectively. These edges intersect a rectangle of size by , so their distance is at most . By Lemma B, one end of is adjacent to an end of in . Since lies outside there is a cycle in that has an inactive cell in its interior. This means the cycle bounds a region of . But then the polygon of is not simple, so has a radio-hole. ∎
2.4 Grid Graph Representation, Computation and Simulation
Building on the previous subsections, we show that we can efficiently simulate the grid graph with a sub-graph of the UDG which we call a representation of in which closely approximates the structure of . In a nutshell: the set of nodes contains the set of representatives of all grid nodes . On top of that, for each grid edge in , we add a path in the UDG to between two representatives of the corresponding grid nodes (see example in Figure 2). Note that in the previous subsection we have shown the existence of such paths that have at most 3 hops.
The first goal of this subsection is to thoroughly define and to show that we can compute in according to that definition in rounds. The second goal is to give an interfacing theorem for later sections that purely work with , showing that a round of in the grid graph can be simulated in rounds by the nodes in . By simulation, we mean that one round of local communication between adjacent grid nodes in can be performed using rounds of local communication in to route messages between the representatives of adjacent grid nodes. An analogous property holds for the global communication.
Let be the grid graph as defined in Section 2. A representation of in is a sub-graph of defined as follows. For every grid node with representative we define: . For each edge let be the corresponding representatives. Then contains all nodes and edges of one --path in such that . We call the representation of the edge . Note that such a path always exists due to Lemma 2.3.
A representation of can be computed in rounds.
We first compute the representatives of all grid nodes in rounds (see Lemma D.1). The representatives will serve as source nodes to run all the in parallel. From Lemma C, we have . By construction of , only nodes that are within distance 3 of can ever receive a message from . Hence only nodes within distance of can participate in . Thus, by Lemma D.1 we can run the in parallel.
Due to Lemma 2.3 we have for any pair of representatives whose corresponding grid nodes are adjacent in . Hence we will add exactly one path (including all nodes on ) to ; either the branch in in which is located in case ID() ID(), or vice versa. ∎
A round of the model in can be simulated in rounds.
We simulate with a representation of . Lemma 2.4 shows that the construction of can be done in rounds. The representative of some grid node is responsible for simulating . If a given representative has to simulate multiple grid nodes , where by Corollary C, then it assigns the simulated grid node the identifier (where “” denotes the concatenation of strings and has length at least with leading zeros if necessary). Since ’s ID is unique in , the IDs of are unique as well. The simulation of the model by the representatives is then covered by Lemma D.2.
As a consequence of the Lemma D.2, representatives of adjacent grid nodes also know each others ID, which fulfills the formal requirement of the model that is used as the global network. By Corollary C each node has only a constant number of grid nodes it needs to simulate so we are also able to simulate a round in the model by either combining messages or via time-multiplexing. ∎
3 Constant Stretch Routing Scheme for the UDG
It remains to show how to leverage the grid graph constructed in the previous section for the computation of routing schemes for the UDG assuming that an exact routing scheme for the grid graph is known. We start with the analysis of the approximation factor.
3.1 From Shortest Paths in to Approximate Paths in
The goal of this subsection is to show that shortest paths in the simulated grid graph represent good paths in the UDG . In particular, paths in that are obtained via the representation of are constant approximations of optimal paths in , both in terms of hop-length and Euclidean distance. We start by defining a representative path.
Let . Let be the two grid nodes which are located in the same grid cell as respectively. Let be the representatives of and . Note that due to Lemma 2.3. Consider an optimal --path . For let be the representation of the grid edge (see Definition 2.4). Let . We define the representative --path as
We will show that our routing scheme routes packets from to along the representative path --path . First, we show that these paths achieve constant stretch in .
Let . Let be the --path given in Def. 3.1. If Then .
Note that if then we can send the packet directly along this edge and the distance and number of hops is guaranteed to be optimal. If then , a fact which we use in the proof of Theorem 3.1. We prove this theorem in stages represented by the subsequent lemmas. In the first stage we upper bound the number of hops of the representative path with the distance of a corresponding -path in .
Let . Then .
Since the cell-polygon completely covers (the smallest polygon containing all edges of does not, in general), we relate paths in the grid graph to paths in the cell-graph . This allows us to relate paths in to . Note that comparisons of hop-distance in and correspond to equal comparisons of distances, since both graphs have the same granularity .
Let be located in cells , respectively. There exist nodes that are corners of respectively, such that .
Choose such that . Let be a shortest -path in . Since all edges and vertices of are part of the boundary of an active grid cell and contains no loose vertices, there is a sequence of active grid-cells from to , where consecutive cells share a side and each cell has an edge or vertex of on its boundary. There are two kinds of cells in : the first kind has an edge of on its boundary, the second kind does not have an edge of on its boundary, but has a vertex of on its boundary. The number of cells of the first kind is at most , because each edge in is adjacent to at most one cell of . The number of cells of the second kind is at most , because each vertex of is adjacent to at most one cell of this type (since has at least one edge.). So, .
We obtain a -path of length in from the chain by taking the vertex centered at each cell in . So, we have . Since all edges in and have length , we have . ∎
We follow up on the previous stage, and bound the distance of an optimal path in the graph with that of an optimal geometric path in the polygon . The resulting approximation factor of stems from a segment-wise comparison of Euclidean distance of a shortest polygonal chain in to the Manhattan distance in the graph .
Let . Then .
Let be the shortest geometric path from to in . Since is a polygon, is a polygonal chain connecting vertices , where are reflex vertices (i.e., vertices with an internal angle of at least ) of . Note that by construction of , all reflex vertices of are vertices of , so we have .
Consider one such segment . Each point of lies in some gridcell belonging to , because the path lies in . Therefore, there is a monotone chain of gridcells connecting and . Consider the axis aligned bounding rectangle defined by the two opposite corners . The width and length of sum up to (where for some denotes the -norm).
Traversing the boundary of the monotone chain of gridcells between and in the shortest possible way represents a shortest path between and in . On one hand, the length of this path equals the sum of side-lengths of , i.e., . On the other hand the geometric distance equals the length of which is . We have
using the equivalence property of and -norms: for any . So, for each segment of , there exists a path in with stretch at most connecting the endpoints. Concatenating these paths gives the required --path in . ∎
Next we observe that an optimal path between two nodes in the UDG can not be any shorter than a corresponding shortest geometric path in .
Let . Then .
Let be a shortest -path in . By definition, each cell that is intersected by an edge of is active and therefore this edge lies in . So, is an -path in . ∎
We now use the inequalities proven in the lemmas above to prove Theorem 3.1.
Proof of Theorem 3.1.
Let and let be their cell representatives. Let be two corner-nodes of for which Lemma 3.1 holds. Then we get
In the equality in the fourth step we use that the segments and are both contained in a single grid cell, hence the distance in the cell-polygon equals the Euclidean distance. Since a grid cell has side length , we have in the second last step. As is a path in a UDG each edge has distance at most 1, thus
Since we have a direct edge to targets with distance at most 1, the additive error can be accounted for by increasing the multiplicative stretch by the additive error for targets at distance more than . Consequentially, we obtain
3.2 Transforming Routing Schemes for the Grid Graph to the UDG
We provide an interface to transform a routing scheme for the grid graph (for which an exact routing scheme is provided in the subsequent section) into a routing scheme for the UDG with constant stretch. The idea is to construct from using the representation of (see Definition 2.4). Theorem 3.2 provides approximation guarantees by leveraging the insights on representative paths from the previous subsection.
[UDG Routing Scheme] Let be an exact routing scheme for consisting of and . Let be the representation of (see Def. 2.4). The routing scheme for is defined on the basis of grid cells. Let be a cell with grid node and let be the representative of . For each we set (where “” represents the concatenation of bit strings). The routing function is defined as follows. Let be the current node and let be the label of the target node , where is the label of the representative in ’s cell w.r.t. . We assume , as otherwise the packet has already arrived.
If , then we can directly deliver to : .
Else, if is the source we directly route to the representative of : .
Else, if is the representative of this grid cell , let be the next grid node suggested by . Let be the first node on the path that represents the edge . Then .
Else, if but is not the representative of , then must be a “transitional node” on that represents . W.l.o.g. let be the next grid node suggested by and be the next node on towards . Then .
Let be a local, correct, exact routing scheme for with labels and local routing information of bits. Then the routing scheme from Definition 3.2 is local, correct, has constant stretch, labels and local routing information of size bits and can be computed in rounds.
Given some , the label of is the concatenation of the label of the grid node which is in the same cell as and ID(). Hence, the labelling requires bits, given that the same is true for . The information required to compute is composed of the knowledge of neighbors of in which includes the representative of the cell of (due to Lemma 2.3) and the information required to evaluate . Since nodes know their neighbors already as part of the problem input (local network equals the routing graph), we do not regard this as additional routing information. The information to evaluate is bits by our presumption.
We continue with the correctness and the stretch of a path implied by . Let be the current node and the target node respectively. Consider the case that , i.e., the nodes are adjacent. Then, according to Definition 3.2 rule (1) the packet is delivered directly to which constitutes a correct and exact path.
Consider the case that . Let and be the respective grid nodes and representatives of the cells of . Let be the optimal --path in implied by . Then the path implied by equals from Definition 3.1, where and is the representation of the grid edge