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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend