Chen Qian University of California Santa Cruz Geographic Routing in d-dimensional Spaces with Guaranteed Delivery and Low Stretch Chen Qian University of California Santa Cruz My changes are marked in green - sl
Outline Motivation Concepts and definitions MDT forwarding MDT protocol suite (join, maintenance, leave, failure and initialization) Performance Evaluation & Comparisons Conclusion 2
Geographic routing Makes use of greedy forwarding Uses location information of the destination, current node and the neighbors of current node for forwarding Per-node storage is independent of the network size Good for routing in large-scale networks 3
Most geographic routing protocols are designed for 2D Greedy forwarding fails at a local minimum, where all neighbors are farther to the dest than the local min. itself. d (destination) g f b e c a h local minimum to d 4
GFG/GPSR [Bose 99] [Karp 00] d At a local minimum, the message is always routed in one direction by right-hand rule, traversing a face, until it reaches a node that is not a local minimum Only for 2D spaces Have many variants g f b e c a h the face includes the local min. 5
Limitations of GFG/GPSR To provide guaranteed delivery, GFG/GPSR need the routing graph to be planar, such as GG and RNG. Planarization requires two assumptions for all nodes accurate location info; unit-disk graph. Both are unrealistic assumptions R u 6
For arbitrary connectivity graph Definition: An arbitrary connected graph of nodes and physical links CLDP [Kim 05]: construct a “safe” graph Face routing on a safe graph never fails Assumption: no co-linear links GDSTR [Leong 07] Maintains a distributed spanning tree Each node in the tree maintains the convex hull of its all descendants Called “hull tree” 7
Geographic routing in 3D Greedy-hull-greedy (GHG) [Liu 09]: for unit ball graph and accurate location information Greedy-random-greedy (GRG) [Flury 08]: does not guarantee delivery GDSTR-3D [Zhou 10]: for static network topology only Not clear if it is adaptive to any topology changes 8
MDT routing Low routing stretch (defined later) Guaranteed delivery for arbitrary connectivity graph of nodes in 2D, 3D and higher dimensions with accurate, inaccurate, or arbitrary coordinates Low routing stretch (defined later) Highly resilient to dynamic topology changes 9
Voronoi Diagram VCS(h) Voronoi diagram of node set S is a partitioning of the space into cells such that a node u ∈ S is the closest node to all points within its Voronoi cell VCS(u) j i h g b a e c f d 10
Delaunay triangulation (DT) graph DT of S is a graph on S where two nodes u and v in S have an edge between them if and only if VCS(u) and VCS(v) share a facet (an edge if in 2D). j i h g b a e c f d DT graph 11
Proof for nodes in 2D [Bose 2004] MDT uses the guaranteed delivery property of a Delaunay triangulation (DT) graph Proof for nodes in 2D [Bose 2004] Proof for nodes in 3D and higher dimensions [Lee & Lam 2006]. j i h g b a e c f d DT graph 12
Example of connectivity and DT graphs Two nodes may not be able to communicate directly obstacles limited communication range antenna direction Cannot make use of DT directly for routing 13
Prior work on applying DT to geographic routing Restricted DT graph [Gao 01] and k-localized DT [Li 03] are both approximations of the DT graph. Do not provide guaranteed delivery 2D only Assume unit disk graphs 14
Outline Motivation Concepts and definitions MDT forwarding MDT protocol suite (join, maintenance, leave, failure and initialization) Performance Evaluation & Comparisons Conclusion 15
Multi-hop DT A distributed DT of a set S of nodes is specified by {<u, Nu>}, where Nu is the set of u’s neighbor nodes in u’s local DT. [Lee Lam 08] Assume any pair of nodes can communicate directly. A multi-hop DT is specified by {<u, Nu, Fu>}, where Fu is a soft-state forwarding table. On any connected graph of nodes and physical links 16
Multi-hop DT MDT graph: includes every physical link in the connectivity graph and every edge in the DT graph In a multi-hop DT, neighbors can be directly connected multiple hops away from each other; Communicate via a virtual link j i h g b a e c f d 17
Multi-hop DT Each entry in the forwarding table Fu is a 4-tuple <source, pred, succ, dest> To provide the multi-hop path a-b-c-d for the DT neighbors a-d, a must include <-, -, b, d> b must include <a, a, c, d> c must include <a, b, d, d> d must include <-, -, c, a> j i h g b a e c f d 18
Multi-hop DT Tuples are maintained as soft states. Each tuple is refreshed whenever there is packet traffic (e.g., application data or keep-alive message) and is deleted when its timeout occurs. 19
Correctness of multi-hop DT A multi-hop DT of S is correct if and only if the following conditions hold: The distributed DT of S is correct: iff for every node u ∈ S, Nu is the same as the neighbor set of u in DT(S). For every neighbor pair (u, v), there exists a unique k-hop path between u and v in the forwarding tables of nodes in S. 20
Outline Motivation Concepts and definitions MDT forwarding MDT protocol suite (join, maintenance, leave, failure and initialization) Performance Evaluation & Comparisons Conclusion 21
Key idea of MDT forwarding The node d sends a message m to j. If the current node is not a local minimum, send m to a physical neighbor closest to j. dest. j i h g b a e c f d source MSG 22
Key idea of MDT forwarding b is a local min. to the destination j. Find a multi-hop DT neighbor closest to j. Since b has j in Nb, b will delivery the message to its DT neighbor j Using the multi-hop path b-a-h-j dest j i h g b MSG a e c f d source 23
Correctness of MDT forwarding Theorem 1. Consider a correct multi-hop DT of a finite set S of nodes in a d-dimensional Euclidean space. Given a location ℓ in the space, MDT forwarding succeeds to find a node closest to ℓ in a finite number of hops. If there is a node at ℓ, it is found If not, the node closest to ℓ is found. 24
Outline Motivation Concepts and definitions MDT forwarding MDT protocol suite (join, maintenance, leave, failure and initialization) Performance Evaluation & Comparisons Conclusion 25
How to construct a correct multi-hop DT? MDT protocol suite is designed to construct and maintain a multi-hop DT for a dynamic set of nodes in a d-dimensional space. Join, maintenance, leave, failure, and initialization protocols. 26
MDT join protocol for a new node a Greedy forwarding of a’s join request finds a’s closest DT neighbor, using a’s location as the destination. a sends a neighbor-set request to every new neighbor it has found. Each new neighbor replies with a set of the joining node’s neighbors it knows, by local DT computation. Repeat steps 2 and 3, until a finds no more new neighbor in replies. Bullet 3 revised 27
Finding the closest node A node a joins the network with a correct multi-hop DT. a needs to find the node closest to it in the current network, which must be a’s DT neighbor in the new network. j i h g b a e c Second bullet revised f d 28
Finding the closest node A physical neighbor b of a runs MDT forwarding for the JOIN_ REQ message in the current multi-hop DT, setting the dest. location as a. Finally the node closest to a in the current multi-hop DT, c, will be found. All nodes along the path of JOIN_REQ cached the path. j i h g J_REQ J_REQ b a e c f d 29
Finding the closest node c sends JOIN_ REPLY to a using the reverse path. Then a sends c NB_SET_REQ. j i h g b a e c NB_REQ J_REP f d 30
Finding DT neighbors j i After receiving it, c adds a into its candidate set Cc, and computes its local DT DT(Cc). Candidate set includes physical and DT neighbors c will send NB_SET_REP to a, including Nac i.e., a’s neighbors in DT(Cc). DT(Cc) h g b e a c NB_REP f d Nac = {j, d} 31
Path construction to multi-hop DT neighbors Construct the multi-hop path from a to j: a-c: path has been established c-j: the existing multi-hop DT is correct. A forwarding path exists between c and j The virtual link a-j is then generated j i h g b a e c NB_REQ NB_REQ f d 32
Physical-link shortcuts j will send NB_SET_ REPLY back to a. At any intermediate node h on the reverse path j-h-e-c-b-a, if h found that dest. a is its phy. neighbor, it takes the shortcut, and updates the tuple. NB_REP j i h g b a e c f d 33
MDT join protocol The process repeats until every new neighbor of a is queried, and every NB_SET_REQ is replied. When MDT join protocol finishes, the distributed DT is correct, and for every DT neighbor of the new node, there exists a unique path in forwarding tables. 34
Correctness of MDT Join Protocol If the multi-hop DT is correct before a single join, then it is also correct after the single join. Theorem 2. Let S be a set of nodes and w be a joining node that is a physical neighbor of at least one node in S. Suppose the existing multi-hop DT of S is correct, w joins using the MDT join protocol, and no other node joins, leaves, or fails. Then the MDT join protocol finishes and the updated multi-hop DT is correct. 35
MDT Maintenance Protocol To deal with concurrent joins and dynamic network changes, MDT maintenance protocol is run periodically to detect and repair any error in node states. Each node sends requests to only a subset of neighbors to find a new neighbor. One neighbor per simplex in DT(Cu). Use the same methods as join protocol to construct multi-hop paths in forwarding tables 36
MDT Leave and Failure Protocol Used to improve accuracy and reduce communication cost for single leave and failure A departed node has almost all recovery information in its state to inform its neighbors how to repair Concurrent join, leave and failure occurrence in different parts of a large network are often independent 37
Initialization Protocols To initialize a set of connected nodes, we design two system initialization protocols to determine the order of executing MDT join protocols. Serial joins by token passing Concurrent joins by token broadcast.: reduces the join time and can converge to 100% accurate quickly after all nodes join the network. 38
Outline Motivation Concepts and definitions MDT forwarding MDT protocol suite (join, maintenance, leave, failure and initialization) Performance Evaluation & Comparisons Conclusion 39
Performance evaluation We evaluate the following metrics for MDT protocols. Routing success rate: 100% means guaranteed delivery Routing stretch Storage cost: # of nodes stored per node Communication cost for initialization and under churn Accuracy of the multi-hop DT, during initialization and under churn 40
Creating general connectivity graphs Obstacles are placed in the physical space: 20% of the physical space For production runs, the three obstacles are randomly placed in the horizontal plane 41
Creating general connectivity graphs Physical links are placed using the following algorithm for each pair of nodes: If the distance is larger than the communication range R or the line between them intersects an obstacle, there is no physical link Else, a physical link is placed with probability p p is the connection probability 1 - p is the missing link probability 42
Inaccurate coordinates Practical localization methods have errors. We model this fact by assigning nodes inaccurate coordinates. The error ratio e 43
Initialization Accuracy vs. time for concurrent joins 300 nodes in 3D large obstacles e =1 p = 0.5 aver. node degree: 13.5 Accuracy =100% iff. the multi-hop DT is correct 44
Routing stretch nodes in 3D, average node degree: 13.5 both inacc. coord. obstacles and missing links 45
Storage cost nodes in 3D, average node degree: 13.5 both inacc. coord. obstacles and missing links 46
Resilience to node churn Accuracy vs. time for 300 nodes in 3D Churn period: 0-60 secs Maint. timeout: 60 secs. Ave. lifetime: 3 mins. Accuracy returns to 100% quickly after churn 47
Resilience to node churn Routing success rate vs. time for 300 nodes in 3D inacc. coord. obstacles and missing links both 48
Resilience to node churn Communication cost vs. churn rate for 300 nodes in 3D both obstacles and missing links inacc. coord. 49
Resilience to link churn Accuracy of multi-hop DT and Routing success rate vs. time for 300 nodes in 3D 50
Comparison with other protocols in 2D GPSR on GG, RNG [Karp 00], and CLDP [Kim 05] GDSTR [Leong 07]: two hulls trees for each tree, every node need to maintain the convex hull of all its descendants only for static nodes 51
Routing success rate (2D) 300 nodes in 2D large obstacles p = 0.5 aver. node degree: 9.7 52
Routing stretch (2D) 300 nodes in 2D large obstacles p = 0.5 aver. node degree: 9.7 53
Storage cost (2D) 300 nodes in 2D large obstacles p = 0.5 aver. node degree: 9.7 54
Initialization cost for graph construction (2D) Message cost vs. N large obstacles p = 0.5 e = 1 aver. node degree: 12 Each GDSTR msg is a broadcast msg and is counted as one! MDT and CLDP msgs are unicast msgs 55
Comparison with other protocols in 3D GRG [Flury 08]: does not guarantee delivery VRR [Caesar 06]: Not geographic routing, but also uses virtual links GDSTR-3D [Zhou 10]: Extension of GDSTR designed for static topology only uses two-hop neighbors developed at the same time as MDT 56
Routing success rate (3D) in 3D spaces large obstacles p = 0.5 e = 1 aver. node degree: 13.5 57
Routing stretch (3D) in 3D spaces large obstacles p = 0.5 e = 1 aver. node degree: 13.5 In VRR, GDSTR-3D and MDTv2, each node stores both 1-hop and 2-hop neighbors. 58
Storage cost (3D) in 3D spaces large obstacles p = 0.5 e = 1 aver. node degree: 13.5 MDT storage cost much lower thanVRR and GDSTR-3D. 59
Delaunay DHT (D2HT) <ka, va> <ka, va> <ka, va> H(ka) Resolver Sc H(ka) <ka, va> host a REPLY PUB <ka, va> Publisher Sa sender b LKUP DATA Sb <ka, va> Require neither flooding, nor knowledge of all switches All messages find the same resolver, only based upon the key 60
Other techniques Reducing lookup latency by multiple hashes Consistent key-value tuples under host/network dynamics H1(k) H2(k) LKUP sending switch 61
62
Conclusion MDT routing has several major advances Applicable to 2, 3 and higher dimensions Guaranteed delivery for nodes with inaccurate coordinates and arbitrary connectivity graph Routing stretch remains low as N becomes large Scalable to large networks: storage cost, communication cost, computation cost (each node computes its local DT only) Highly resilient to node and link churn No other protocol can deal with system churn. 63
Thank You Questions?