greedy routing by distributed d l delaunay triangulation
play

Greedy routing by distributed D l Delaunay triangulation t i l ti - PowerPoint PPT Presentation

Greedy routing by distributed D l Delaunay triangulation t i l ti 4/4/2017 Greedy Routing (S. S. Lam) 1 Gr Greedy Routing y out ng It is scalable to a large n t network k d (destination) o because each node stores info about its


  1. Greedy routing by distributed D l Delaunay triangulation t i l ti 4/4/2017 Greedy Routing (S. S. Lam) 1

  2. Gr Greedy Routing y out ng  It is scalable to a large n t network k d (destination) o because each node stores info about its stores info about its g g directly-connected neighbors only g y f  But it fails at a local b minimum, where all neighbors are farther away e from the destination than c a h th the node itself d its lf local minimum to d 4/4/2017 Greedy Routing (S. S. Lam) 2

  3. Greedy routing protocols include a recovery method d d  Face routing used by GFG F i d b GFG g [Bose et al. 99] and GPSR [Karp & Kung 00] [Karp & Kung 00] f  for planar graphs (2D) only  successful planarization of a  successful planarization of a b general graph requires that i. the graph is a “unit disk” graph e e and and c a h ii. node location information is accurate . Both assumptions are unrealistic the face includes the local min. h f i l d h l l i 3 Greedy Routing (S. S. Lam)

  4. Delaunay triangulation (DT)? A set of points in 2D A set of points in 2D Greedy Routing (S. S. Lam) 4

  5. A triangulation of S A triangulation of S Ci Circumcircle of this triangle is not empty i l f thi t i l i t t Greedy Routing (S. S. Lam) 5

  6. Delaunay triangulation of S Delaunay triangulation of S Circumcircle of every triangle is empty Circumcircle of every triangle is empty Greedy Routing (S. S. Lam) 6

  7. Greedy forwarding in a DT always succeeds to find a destination node  Theorem and proof for destination nodes in 2D d i 2D [Bose & Morin 2004]  Each node is identified by its coordinates in 2D source source Greedy Routing (S. S. Lam) 7

  8. DT in d -dimensional Euclidean space m p  DT definition generalized to 3D or higher di dimension i 2D d-dimensional triangle simplex empty circumcircle empty circum-hypersphere  In any dimension, the DT of S is a graph, denoted by DT(S)  neighbors in the graph are called DT neighbors Greedy Routing (S. S. Lam) 8

  9. Greedy forwarding in a DT always succeeds to find a node l f closest to a destination location closest to a destination location  Theorem and proof for p location location nodes in a d -dimensional Euclidean space, d ≥ 2 p , [Lee & Lam 2006]  Node coordinates may source source be arbitrary be arbitrary Idea: When greedy routing is stuck at a local minimum (dead end) forward packet to a DT neighbor (dead end), forward packet to a DT neighbor (via a tunnel) Greedy Routing (S. S. Lam) 9

  10. Distributed system model of DT y  A set S of nodes in a d- dimensional Euclidean space Euclidean space  Each node assigns itself coordinates in the space to be used as the node’s identifier 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  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 except when proving theorems Greedy Routing (S. S. Lam) 10

  11. A distributed DT C u set of nodes u knows DT(C u ) local DT computed by u N u neighbors of u in DT(C u )  The distributed DT is correct iff, for all u ∈ S, N u = set of u’ s neighbors in DT(S) local info global info  No broadcast, N u C u and | C u | << |S| ⊆ u u u Greedy Routing (S. S. Lam) 11

  12. Node u finds nodes and computes its local DT g i How does u search? How does u search? f f l j e h When does u stop? a d k k b C C u ={u, a, b, c, d} { b d} c u DT(C u ) N u ={a, b, c} Greedy Routing (S. S. Lam) 12

  13. Application to Layer 2 routing  Layer 2 network represented by an arbitrary graph of nodes and physical links arbitrary graph of nodes and physical links (connectivity graph)  Minimal assumptions:  graph is connected  each physical link is bidirectional p y  The connectivity graph is not the DT graph Need a protocol for nodes to compute the Need a protocol for nodes to compute the distributed DT Greedy Routing (S. S. Lam) 13

  14. Extension - Multi-hop DT p  Connectivity graph – nodes and physical links nodes and physical links j i  DT graph  DT graph h h g  In a multi hop DT  In a multi-hop DT, b a neighbors can be e c c  directly connected f d  multiple hops apart and communicate via a virtual a physical link that is link (tunnel) not a DT edge 4/4/2017 Greedy Routing (S. S. Lam) 14

  15. Each node has a forwarding table g  Each entry in the forwarding table is a 4-tuple table is a 4 tuple < source, pred, succ, dest > j i h  for the DT edge a-d , to g provide the path a-b-c-d provide the path a b c d , b each node stores a tuple, e g e.g., a a e e c c  node b stores <a, a, c, d> f d d The tuple is used by b for forwarding in both directions 4/4/2017 Greedy Routing (S. S. Lam) 15

  16. In a multi-hop DT, each node u In a multi hop DT, each node u  maintains tuples in its forwarding table F as  maintains tuples in its forwarding table F u as soft state state of node u C u = set of destination nodes in tuples of F u N u = set of neighbors in DT(C u ) N u set of neighbors in DT(C u ) node u’s local DT node u s local DT Greedy Routing (S. S. Lam) 16

  17. A multi-hop DT is correct iff A multi hop DT is correct iff for all u ∈ S, N u = set of u’ s neighbors in 1. DT(S) DT(S) (the distributed DT is correct) (the distributed DT is correct) 2. for every DT edge (u, v), there exists a unique y g ( , ), q k-hop path between u and v in the forwarding tables of nodes in S 4/4/2017 Greedy Routing (S. S. Lam) 17

  18. MDT’s 2-step greedy forwarding MDT s 2-step greedy forwarding node u receives a packet node u receives a packet with destination d greedy step 1 greedy step 1 yes ∃ a physical neighbor v closest to d ? transmit to v greedy step 2 no yes ∃ a DT neighbor w closest to d ? forward to w (using a tuple in (using a tuple in no forwarding table) node u is closest to d Greedy Routing (S. S. Lam) 18

  19. MDT s 2 step greedy MDT’s 2-step greedy - example example destination  Source c, dest. k k k j  At node c, physical i neighbor closest to k h is b g g  c transmits msg to b b a e c source f d d MSG 4/4/2017 Greedy Routing (S. S. Lam) 19

  20. 2-step greedy example (cont.)  Node b is a local minimum destination k k  with multi-hop DT neighbor j j ith m lti h DT i hb  j closest to k i  node b forwards msg to j by b j h transmitting it to e g g  node e forwards msg to j by b transmitting it to h MSG a e  does not perform greedy step 1 c  h transmits msg to j j g source d d f f  j finds itself closest to k 4/4/2017 Greedy Routing (S. S. Lam) 20

  21. In a correct multi-hop DT In a correct multi hop DT  MDT’s 2-step greedy forwarding provides  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] Theorem and proof [Lam and Qian 2011] We next present a join protocol for nodes We next present a join protocol for nodes to construct a correct multi-hop DT 4/4/2017 Greedy Routing (S. S. Lam) 21

  22. MDT join protocol initial step MDT join protocol: initial step  Given: a correct multi-hop DT of S j i  node a boots up  node a boots up h g g  to join S, a needs to b find the closest node a e in S c f  It must be a neighbor  It must be a neighbor d d of a in the DT of S ∪ {a} { } Greedy Routing (S. S. Lam) 22

  23. 2-step greedy in existing DT finds node closest to a node closest to a  a sends JOIN_ req to b with a ’s location as with a s location as destination j i  It is greedily forwarded h to node c which is closest g g to a JOIN_req JOIN_req b a a e c  Each node along the f p path of JOIN_req _ q d d stores a forwarding tuple for the path 4/4/2017 Greedy Routing (S. S. Lam) 23

  24. Closest node c found Closest node c found  c sends JOIN  c sends JOIN_ rep to a rep to a along the reverse path j i h g g NB_req Node a begins an b iterative search e e a a c  a sends NB_req to c JOIN_rep f d d Greedy Routing (S. S. Lam) 24

  25. Finding more DT neighbors  c adds a to its set C c j j i  c recomputes DT(C c ) p ( c ) h g  Set of a’s new neighbors  Set of a s new neighbors b c = { j, d } a in DT(C c ) is N a e c f f c )  c sends NB_rep(N a d NB_rep to a to a 4/4/2017 Greedy Routing (S. S. Lam) 25

  26. Iterative search by node u for a distributed DT [Lee and Lam 2006] repeat node x for all x ∈ N new do for all x ∈ N u do receive NB_req from u new remove x from N u send NB_req to x d NB t C x = C x ∪ { u } C C { } x ) receive NB_rep (N u compute DT(C x ) ; update N x p ( x ) p x x } C u = C u ∪ {N u x = u ’s neighbors in DT(C x ) N u compute DT(C u ); update N u compute D (C u ); update N u (N x ) x ) to u send NB_rep (N u d NB new update N u new is empty (successfully joined) until N u new N u new neighbors that have not been sent a NB_req Greedy Routing (S. S. Lam) 26

Recommend


More recommend