1 / 64

Geographic Routing in d-dimensional Spaces with Guaranteed Delivery and Low Stretch

Geographic Routing in d-dimensional Spaces with Guaranteed Delivery and Low Stretch. Chen Qian University of California Santa Cruz. Outline. Motivation Concepts and definitions MDT forwarding MDT protocol suite (join, maintenance, leave, failure and initialization)

fmurray
Télécharger la présentation

Geographic Routing in d-dimensional Spaces with Guaranteed Delivery and Low Stretch

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Geographic Routing in d-dimensional Spaces with Guaranteed Delivery and Low Stretch Chen Qian University of California Santa Cruz

  2. Outline • Motivation • Concepts and definitions • MDT forwarding • MDT protocol suite (join, maintenance, leave, failure and initialization) • Performance Evaluation & Comparisons • Conclusion

  3. 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 ofthe network size Good for routing in large-scale networks 3

  4. 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

  5. GFG/GPSR [Bose 99] [Karp 00] 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 d g f b e c a h the face includes the local min. 5

  6. 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

  7. 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

  8. 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

  9. MDT routing • 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

  10. Voronoi Diagram 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) VCS(h) j i h g b a e c f d 10

  11. 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

  12. 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

  13. 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

  14. 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

  15. Outline Motivation Concepts and definitions MDT forwarding MDT protocol suite (join, maintenance, leave, failure and initialization) Performance Evaluation & Comparisons Conclusion 15

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. Outline Motivation Concepts and definitions MDT forwarding MDT protocol suite (join, maintenance, leave, failure and initialization) Performance Evaluation & Comparisons Conclusion 21

  22. 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

  23. 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

  24. 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

  25. Outline Motivation Concepts and definitions MDT forwarding MDT protocol suite (join, maintenance, leave, failure and initialization) Performance Evaluation & Comparisons Conclusion 25

  26. 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

  27. 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 neighborin replies. 27

  28. 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 f d 28

  29. 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

  30. 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

  31. Finding DT neighbors 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). j i DT(Cc) h g b e a c NB_REP f d Nac = {j, d} 31

  32. 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

  33. 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

  34. 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

  35. 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

  36. MDT Maintenance Protocol • To deal withconcurrent joins and dynamic network changes, MDTmaintenance 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

  37. 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

  38. 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

  39. Outline Motivation Concepts and definitions MDT forwarding MDT protocol suite (join, maintenance, leave, failure and initialization) Performance Evaluation & Comparisons Conclusion 39

  40. 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

  41. 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

  42. 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

  43. Inaccurate coordinates • Practical localization methods have errors. We model this fact by assigning nodes inaccurate coordinates. • The error ratio e 43

  44. Accuracy vs. time for concurrent joins Initialization • 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

  45. nodes in 3D, average node degree: 13.5 Routing stretch both inacc. coord. obstacles and missing links 45

  46. nodes in 3D, average node degree: 13.5 Storage cost both inacc. coord. obstacles and missing links 46

  47. Accuracy vs. time for 300 nodes in 3D Resilience to node churn • Churn period: 0-60 secs • Maint. timeout: 60 secs. • Ave. lifetime: 3 mins. • Accuracy returns to 100% quickly after churn 47

  48. Routing success rate vs. time for 300 nodes in 3D Resilience to node churn inacc. coord. obstacles and missing links both 48

  49. Communication cost vs. churn rate for 300 nodes in 3D Resilience to node churn both obstacles and missing links inacc. coord. 49

  50. Resilience to link churn • Accuracy of multi-hop DT and Routing success rate vs. time for 300 nodes in 3D 50

More Related