440 likes | 547 Views
Multi-hop DT A new routing protocol. Simon S. Lam The University of Texas at Austin (Based on joint work with Chen Qian ). Keynote, IEEE ICNP, October 31, 2012. Delaunay triangulation (DT)?. A set of point in 2D. A triangulation of S. Circumcircle of this triangle is not empty.
E N D
Multi-hop DTA new routing protocol Simon S. Lam The University of Texas at Austin (Based on joint work with Chen Qian) Keynote, IEEE ICNP, October 31, 2012
Delaunay triangulation (DT)? A set of point in 2D Multi-hop DT (Simon S. Lam)
A triangulation of S Circumcircle of this triangle is not empty Multi-hop DT (Simon S. Lam)
Delaunay triangulation of S Circumcircle of every triangle is empty Multi-hop DT (Simon S. Lam)
Greedy forwarding in a DT always succeeds to find a destination node Theorem and proof for nodes in 2D [Bose & Morin 2004] Each node is identified by its coordinates in 2D destination source Multi-hop DT (Simon S. Lam)
DT in d-dimensional Euclidean space • DT definition generalized from 2D • In any dimension, the DT of S is a graph, denoted by DT(S) • neighbors in the graph are called DT neighbors Multi-hop DT (Simon S. Lam)
Greedy forwarding in a DT always succeeds to find a node closest to a destination location Theorem and proof for nodes in a d-dimensional Euclidean space, d ≥ 2 [Lee & Lam 2006] Node coordinates may be arbitrary location source Multi-hop DT (Simon S. Lam)
Distributed system model of DT • A set S of nodes in a d-dimensional Euclidean space • Each node assigns itself coordinates in the space to be used as the node’s identifier • “ u knows v ” means “ u knows v’s coordinates ” • Each node is a communicating state machine • a node’s state is set of nodes it knows • protocol messages it sends and receives No need to think about d-dimensional objects except when proving theorems Multi-hop DT (Simon S. Lam)
A distributed DT local info Cuset of nodes u knows DT(Cu ) local DT computed by u Nuneighbors of u inDT(Cu ) • The distributed DT is correctiff, for all u S, Nu =set of u’s neighbors in global DT, DT(S) • No broadcast, NuCu and |Cu| << |S| Multi-hop DT (Simon S. Lam)
Node u finds nodes and computes its local DT How does u search? e g i k h f j l When does u stop? a d b Cu={u, a, b, c, d} c u DT(Cu) Nu={a, b, c} Multi-hop DT (Simon S. Lam)
Application to Layer 2 routing How to make use of distributed DT? • Layer 2 network represented by an arbitrary graph of nodes and physical links (connectivity graph) • Minimal assumptions: • graph is connected • each physical link is bidirectional Multi-hop DT (Simon S. Lam)
Extension - Multi-hop DT j i h g b a e c f d a physical link that is not a DT edge • Connectivity graph – nodes and physical links • DT graph • In a multi-hop DT, neighbors can be • directly connected • multiple hops apart and communicate via a virtual link Multi-hop DT (Simon S. Lam)
Each node has a forwarding table j i h g b a e c f d The tuple is used by b for forwarding in both directions • Each entry in the forwarding table is a 4-tuple <source, pred, succ, dest> • for the DT edge a-d, to provide the path a-b-c-d, each node stores a tuple, e.g., • node bstores<a, a, c, d> Multi-hop DT (Simon S. Lam)
In a multi-hop DT, each node u state of node u node u’slocal DT • maintains tuples in its forwarding table Fu as soft state Cu = set of destination nodes in tuples of Fu Nu= set of neighbors in DT(Cu) Multi-hop DT (Simon S. Lam)
A multi-hop DT is correct iff (the distributed DT is correct) • for all u S,Nu =set of u’s neighbors in DT(S) • for every DT edge (u, v), there exists a unique k-hop path between u and v in the forwarding tables of nodes in S Multi-hop DT (Simon S. Lam)
MDT’s 2-step greedy forwarding node u receives a packet with destination d greedy step 1 yes a physical neighbor v closest to d ? transmit to v greedy step 2 no yes a DT neighbor wclosest to d ? forward to w (using a tuple in forwarding table) no nodeuis closest to d Multi-hop DT (Simon S. Lam)
MDT’s 2-step greedy - example destination k • Source c, dest. k • At node c, physical neighbor closest to kisb • c transmits msg to b j i h g b a e c source f d MSG Multi-hop DT (Simon S. Lam)
2-step greedy example (cont.) destination k • Nodeb is a local minimum • with multi-hop DT neighbor jclosest to k • node bforwards msgto j by transmitting it to e • node e forwards msg to j by transmitting it to h • does not perform greedy step 1 • h transmits msg to j • jfinds itself closest to k j i h g b MSG a e c source d f Multi-hop DT (Simon S. Lam)
In a correct multi-hop DT • MDT’s 2-step greedy forwarding provides guaranteed delivery to a node that is closest to the destination location Theorem and proof [Lam and Qian 2011] We next present a join protocol for nodes to construct a correct multi-hop DT Multi-hop DT (Simon S. Lam)
MDT join protocol: initial step Given: a correct multi-hop DT of S node a boots up to join S, a needs to find the closest node in S It must be a neighbor of a in the DT of S{a} j i h g b a e c f d Multi-hop DT (Simon S. Lam)
2-step greedy in existing DT finds node closest to a a sends JOIN_ req to bwith a’s location as destination It is greedily forwarded to node c which is closest to a Each node along the path of JOIN_req stores a forwarding tuple for the path j i h g JOIN_req JOIN_req b a e c f d Multi-hop DT (Simon S. Lam)
Closest node c found c sends JOIN_ rep to a along the reverse path Node a begins an iterative search a sends NB_req to c j i h g NB_req b a e c JOIN_rep f d Multi-hop DT (Simon S. Lam)
Finding more DT neighbors c adds a to its set Cc crecomputesDT(Cc) Set of a’s new neighbors in DT(Cc) is Nac = { j, d } c sends NB_rep(Nac) to a j i h g b a e c f d NB_rep Multi-hop DT (Simon S. Lam)
Iterative search by node u for distributed DT [Lee and Lam 2006] node x receive NB_req from u Cx = Cx {u} compute DT(Cx); update Nx Nux = u ’s neighbors in DT(Cx) send NB_rep (Nux) to u Nunew new neighbors that have not been sent a NB_req repeat for allx Nunewdo remove x from Nunew send NB_req to x receive NB_rep(Nux) Cu= Cu {Nux} compute DT(Cu); update Nu update Nunew until Nunew is empty (successfully joined) Multi-hop DT (Simon S. Lam)
Path to a multi-hop DT neighbor Node a has learned jfrom node c a sends NB_req a-cpath has been established c-j: the existing multi-hop DT is correct; a forwarding path exists between c and j The virtual link a-jis set up j i h g b e a c NB_req NB_req f d 25 Multi-hop DT (Simon S. Lam)
Physical-link shortcut j receivedNB_req and sends NB_rep to a At any intermediate node along the reverse path j-h-e-c-b- if a node (h in this example) finds that dest. a is a physical neighbor, the msg is transmitted directly toa h updates its tuple for aandj NB_rep j i h g b e a c f d Tuples for aandj in nodes b,c, and ewill time out Multi-hop DT (Simon S. Lam)
When join protocol terminates the multi-hop DT of S{u} is correct • For a single join • Theorem and proof [Lam and Qian 2011] • Theorem also holds for concurrent joins that are independent • A correct multi-hop DT can be constructed by nodes joining serially Multi-hop DT (Simon S. Lam)
Concurrent events • Two practical problems • At network initialization, all nodes join concurrently to construct a correct multi-hop DT • Dynamic topology changes occurring at a high rate (churn) • nodes • Links • MDT solution - Each node runs the iterative search protocol repeatedly and asynchronously (controlled by a timer) Multi-hop DT (Simon S. Lam)
Initialization - Accuracy vs. time concurrent joins of 300 nodes in 3D, ave. msg delay =15 ms Each node has run iterative search 2 or 3 times accuracy=1 correctMDT 10 sec TO Multi-hop DT (Simon S. Lam)
Convergence to a correct multi-hop DT 300 nodes in 3D join concurrently, 50 experiments max. no. = 6 Multi-hop DT (Simon S. Lam)
Convergence to a correct multi-hop DT 700 nodes in 3D join concurrently, 50 experiments max. no. = 8 Multi-hop DT (Simon S. Lam)
Achieving 100% routing success rate is faster 300 nodes in 3D join concurrently, 50 experiments Multi-hop DT (Simon S. Lam)
Achieving 100% routing success rate is faster 700 nodes in 3D join concurrently, 50 experiments max. no. = 4 Multi-hop DT (Simon S. Lam)
500 simulation experiments • 300 - 1500 nodes in 3D and 2D, ran on some difficult graphs • Convergence to a correct multi-hop DT in every experiment • Conjecture. The iterative search protocol when run repeatedly by a set of nodes is self-stabilizing. • No proof, but no counter example has been found in simulations • What assumptions are needed? Multi-hop DT (Simon S. Lam)
Churn - Accuracy vs. time 300 nodes in 3D, churn rate = 20 nodes/second from time 0 to 5 sec, ave. msg delay = 15 ms correct multi-hop DT Each node has run iterative search 2 or 3 times 10 sec TO churn stopped Multi-hop DT (Simon S. Lam)
Msg cost/node/sec vs. churn rate 300 nodes in 3D, ave. msg delay =15 ms • This message cost depends more on • TO interval than on churn rate • TO interval should be adaptive 10 sec TO per iterative search Multi-hop DT (Simon S. Lam)
Comparison of 5 protocols in 2D Routing stretch vs. e 300 nodes with inaccurate coordinates, static topologies, density = 9.7 log scale only for packets delivered by GPSR Multi-hop DT (Simon S. Lam)
Initialization msg cost vs. N log scale node density = 12 MDT costs do not increase with N Multi-hop DT (Simon S. Lam)
Virtual vs. physical coordinates log scale inaccurate physical coordinates VPoD Multi-hop DT (Simon S. Lam)
Multi-hop DT - overview • Nodes in a d-dimensional Euclidean space • Each node assigns itself coordinates in the space • any connectivity graph, bidirectional links • MDT protocols • 2-step greedy forwarding • Joinprotocol – each node runs iterative search once • Leave and failure protocols for repairing node states after a single leave or failure • Maintenance protocol – each node runs optimized iterative search periodically to repair node states • Network initialization by concurrent joins – each node runs iterative search once followed by optimized iterative search repeatedly Multi-hop DT (Simon S. Lam)
MDT protocols performance • An efficient and effective search methodfor nodes to construct and maintain a correct multi-hop DT – fast convergence • 2-step greedy forwarding provides guaranteed deliveryto a node closest to a given location – basis for a DHT • scalable and highly resilient to dynamic topology changes • every node runs the same protocols – no special nodes Multi-hop DT (Simon S. Lam)
Routing applications in layer 2 • Wireless routing for nodes with inaccurate coordinates in 2D or 3D • Lowest routing stretch compared to other geographic routing protocols • Wired or wireless routing using virtual coordinates • VPoD and GDV provide end-to-end routing cost close to that of shortest path routing • Finding a node closest to a location in a virtual space • Delaunay DHT – highly resilient to churn Multi-hop DT (Simon S. Lam)
References P. Bose and P. Morin. Online routing in triangulations. SIAM Journal on Computing, 2004. D.-Y. Lee and S. S. Lam. Protocol design for dynamic Delaunay triangulation. Technical Report TR-06-48, UTCS, December 2006; an abbreviated version in Proceedings IEEE ICDCS, June 2007. S. S. Lam and C. Qian. Geographic Routing in d-dimensional Spaces with Guaranteed Delivery and Low Stretch. In Proceedings of ACM SIGMETRICS, June 2011; revised version to appear in IEEE/ACM Trans. Networking. C. Qian and S. S. Lam. Greedy Distance Vector Routing. In Proceedings of IEEE ICDCS, June 2011. C. Qian and S. S. Lam. ROME: Routing On Metropolitan-scale Ethernet. In Proceedings of IEEE ICNP, 2012. Multi-hop DT (Simon S. Lam)
The end Multi-hop DT (Simon S. Lam)