Chen Qian University of California Santa Cruz

Slides:



Advertisements
Similar presentations
The Capacity of Wireless Networks Danss Course, Sunday, 23/11/03.
Advertisements

Scalable Content-Addressable Network Lintao Liu
1 GPSR: Greedy Perimeter Stateless Routing for Wireless Networks B. Karp, H. T. Kung Borrowed slides from Richard Yang.
Stateless and Guaranteed Geometric Routing on Virtual Coordinate Systems Ke Liu and Nael Abu-Ghazaleh Dept. of CS, Binghamton University.
Common approach 1. Define space: assign random ID (160-bit) to each node and key 2. Define a metric topology in this space,  that is, the space of keys.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Small-world Overlay P2P Network
© nCode 2000 Title of Presentation goes here - go to Master Slide to edit - Slide 1 Reliable Communication for Highly Mobile Agents ECE 7995: Term Paper.
Geometric Spanners for Routing in Mobile Networks Jie Gao, Leonidas Guibas, John Hershberger, Li Zhang, An Zhu.
Efficient Hop ID based Routing for Sparse Ad Hoc Networks Yao Zhao 1, Bo Li 2, Qian Zhang 2, Yan Chen 1, Wenwu Zhu 3 1 Lab for Internet & Security Technology,
A Scalable Content-Addressable Network Authors: S. Ratnasamy, P. Francis, M. Handley, R. Karp, S. Shenker University of California, Berkeley Presenter:
1 Computer Networks Routing Algorithms. 2 IP Packet Delivery Two Processes are required to accomplish IP packet delivery: –Routing discovering and selecting.
Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets.
Ad Hoc Wireless Routing COS 461: Computer Networks
A Delaunay Triangulation Architecture Supporting Churn and User Mobility in MMVEs Mohsen Ghaffari, Behnoosh Hariri and Shervin Shirmohammadi Advanced Communications.
WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example.
Message-Optimal Connected Dominating Sets in Mobile Ad Hoc Networks Paper By: Khaled M. Alzoubi, Peng-Jun Wan, Ophir Frieder Presenter: Ke Gao Instructor:
CCAN: Cache-based CAN Using the Small World Model Shanghai Jiaotong University Internet Computing R&D Center.
Content Addressable Network CAN. The CAN is essentially a distributed Internet-scale hash table that maps file names to their location in the network.
Load-Balancing Routing in Multichannel Hybrid Wireless Networks With Single Network Interface So, J.; Vaidya, N. H.; Vehicular Technology, IEEE Transactions.
On Graphs Supporting Greedy Forwarding for Directional Wireless Networks W. Si, B. Scholz, G. Mao, R. Boreli, et al. University of Western Sydney National.
On Reducing Broadcast Redundancy in Wireless Ad Hoc Network Author: Wei Lou, Student Member, IEEE, and Jie Wu, Senior Member, IEEE From IEEE transactions.
GPSR: Greedy Perimeter Stateless Routing for Wireless Networks EECS 600 Advanced Network Research, Spring 2005 Shudong Jin February 14, 2005.
A correction The definition of knot in page 147 is not correct. The correct definition is: A knot in a directed graph is a subgraph with the property that.
Dual-Region Location Management for Mobile Ad Hoc Networks Yinan Li, Ing-ray Chen, Ding-chau Wang Presented by Youyou Cao.
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
P2P Group Meeting (ICS/FORTH) Monday, 28 March, 2005 A Scalable Content-Addressable Network Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp,
Void Traversal for Guaranteed Delivery in Geometric Routing
Teknik Routing Pertemuan 10 Matakuliah: H0524/Jaringan Komputer Tahun: 2009.
1 Presented by Jing Sun Computer Science and Engineering Department University of Conneticut.
Ad Hoc Multicast Routing
A Framework for Reliable Routing in Mobile Ad Hoc Networks Zhenqiang Ye Srikanth V. Krishnamurthy Satish K. Tripathi.
New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008.
2/14/2016  A. Orda, A. Segall, 1 Queueing Networks M nodes external arrival rate (Poisson) service rate in each node (exponential) upon service completion.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
Fundamentals of Computer Networks ECE 478/578
Peter Pham and Sylvie Perreau, IEEE 2002 Mobile and Wireless Communications Network Multi-Path Routing Protocol with Load Balancing Policy in Mobile Ad.
Introduction Wireless Ad-Hoc Network  Set of transceivers communicating by radio.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
The network layer: routing
2010 IEEE Global Telecommunications Conference (GLOBECOM 2010)
A Location-Based Routing Method for Mobile Ad Hoc Networks
Delay-Tolerant Networks (DTNs)
Routing Jennifer Rexford.
Ch 13 WAN Technologies and Routing
Virtual Domain and Coordinate Routing in Wireless Sensor Networks
A Study of Group-Tree Matching in Large Scale Group Communications
Surviving Holes and Barriers in Geographic Data Reporting for
Internet Networking recitation #4
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing: Distance Vector Algorithm
Network Layer Path Determination.
Routing in Packet Networks Shortest Path Routing
Multi-hop DT A new routing protocol
A Scalable content-addressable network
CMPE 252A : Computer Networks
Topology Control and Its Effects in Wireless Networks
Paraskevi Raftopoulou, Euripides G.M. Petrakis
Intradomain Routing Outline Introduction to Routing
Introduction Wireless Ad-Hoc Network
Communication Networks
Greedy Distributed Spanning tree routing (gdstr)
Routing.
COS 461: Computer Networks
A Scalable Content Addressable Network
Communication Networks
CMPE 252A : Computer Networks
A Routing Protocol for WLAN Mesh
EE 122: Intra-domain routing: Link State
Presentation transcript:

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?