Landmark--based routing Landmark Landmark--based routing Landmark [Kleinberg04] J. Kleinberg, A. Slivkins, T. Wexler. Triangulation and Embedding using Small Sets of Beacons. Proc. 45th IEEE Symposium on Foundations of Computer Science, 2004. Using the distances to landmarks and triangle inequality, one can approximate the distance for most of pairs. [Fang05a] Qing Fang, Jie Gao, Leonidas Guibas, Vin de Silva, Li Zhang, GLIDER: Gradient Landmark-Based Distributed Routing for Sensor Networks, Proc. of the 24th Conference of the IEEE Communication Society (INFOCOM'05), March, 2005. Route around holes. Use combinatorial Delaunay graph to capture the global topology. [Fonseca05] Rodrigo Fonseca, Sylvia Ratnasamy, Jerry Zhao, Cheng Tien Ee and David Culler, Scott Shenker, Ion Stoica, Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets, NSDI'05. Landmark-based routing scheme. [Mao07] Yun Mao, Feng Wang, Lili Qiu, Simon S. Lam, Jonathan M. Smith, S4: Small State and Small Stretch Routing Protocol for Large Wireless Sensor Networks, NSDI’07. Landmark-based routing with constant stretch, and \sqrt{n} routing table size. Landmark--based schemes Landmark • k nodes are selected as landmarks (beacons) that flood the network. Each node records hop distances to these landmarks. – estimate pair-wise distances, – point-to-point routing. • Pros: – simplicity, – location-free, – independent of dimensionality (works for 3D networks). – No unit disk graph assumption Use landmarks to estimate pairpair-wise distances • Triangulation: estimate via triangle inequality – (u,v), beacon b : |d(u,b)-d(v,b)| ≤ d(u,v) ≤ d(u,b)+d(v,b) – lower bound: d-(u, v) = max beacons b |d(u,b)-d(v,b)| – upper bound: d+(u,v) = min beacons b d(u,b)+d(v,b) – Internet setting, IDMaps [Francis+ ’01], etc • magic: relative error <1 on 90% node pairs – 900 random nodes, 15 beacons – relative error(x,y) = |x-y| / min(x,y) A simple case • With O(1) random landmarks, d+(u,v) ≤ 3d(u,v) for all but εfraction of pairs with prob 1-γ. – – – – At least one beacon inside B(u). For any point v outside B(u), d(v,b) ≤ d(u,b)+d(u,v) ≤ 2d(u,v) d+(u,v) ≤ d(u,b)+d(v,b) ≤ 3d(u,v) b u B(u): ball with εn nodes inside. v Sensor networks, doubling metric • A metric space has doubling dimension s if any ball of radius r can be covered by s balls of radius r/2. – Geometric growth. – Binary trees do not have constant doubling dimension. – Euclidean space has constant doubling dimension – Many practical networks fit in this model: Internet delay distance, sensor network (not too fragmented), VSLI layout, etc. Improved bound on triangulation • With O(1) random landmarks, d+(u,v) ≤ (1+δ) d+(u,v) for all but ε fraction of pairs with prob 1-γ. Landmark--based embedding Landmark Global Network Positioning (GNP) [Ng+Zhang’02] • select small #nodes as “beacons” – users measure latencies to beacons • embed into low-dim Euclidian space – embed the beacons – embed non-beacons one by one • magic: 90% node pairs are embedded with relative error <.5 – 900 random nodes, 15 beacons, 7 dimensions – Proof omitted. Discussion • With distances estimation, potentially we can do “greedy routing”. • Next: different ways to implement landmark-based routing schemes. – Beacon Vector Routing – GLIDER – S4: compact routing Beacon Vector Routing (BVR) • A heuristic landmark-based routing. • Every node remembers hop counts to a total of r landmarks. – Move towards a beacon when the destination is closer to the beacon than the current node – Move away from a beacon when the destination is further from the beacon than the current node 2/27/09 Jie Gao, CSE595-spring09 10 Beacon Vector Routing (BVR) • A heuristic landmark-based routing. • Every node remembers hop counts to a total of r landmarks. • Routing metric: – Pulling landmarks (those closer to destination). Dist from d to landmark i. Dist from p to landmark i. – Pushing landmarks (further to destination) 2/27/09 Jie Gao, CSE595-spring09 11 Beacon Vector Routing (BVR) • Routing metric: Choose a neighbor that minimizes Dist from d to landmark i. Dist from p to landmark i. • No theoretical understanding of the performance. 2/27/09 Jie Gao, CSE595-spring09 12 Fall back mode • If greedy routing with the routing metric gets stuck, then send to the closest beacon. • The closest beacon does a scoped flooding. Simulations • Assumptions for high level simulation – Fixed circular radio range – Ignore the network capacity and congestion – Ignore packet losses • Place nodes uniformly at random in a square planner region – 3200 nodes uniformly distributed in a 200 * 200 unit area – Radio range is 8 units – Average node degree is 16 • Vary #total beacons and #routing beacons Greedy success rate Greedy routing with 10 beacons Obstacles Routing around holes • Real-world deployment is not uniform, has holes (due to buildings, landscape variation). • Face routing is too “Short-sighted” and greedy. • Boundary nodes get overloaded. 2/27/09 Jie Gao, CSE595-spring09 18 GLIDER • 2-level infrastructure • Top-level: capture the global topology. – Where the holes are (e.g., CS building, Javitz center, etc). – General routing guidance (e.g., get around the Javitz center, go straight to SAC). • Bottom-level: capture the local connectivity. – Gradient descent to realize the routing path. 2/27/09 Jie Gao, CSE595-spring09 19 2-level infrastructure • Why this makes sense? – Global topology is stable (the position of buildings are unlikely to change often). – Global topology is compact (a small number of buildings) • From each node’s point of view: – A rough guidance. – Local greedy rule. 2/27/09 Jie Gao, CSE595-spring09 20 Combinatorial Delaunay graph • Given a communication graph on sensor nodes, with path length in shortest path hop counts • Select a set of landmarks • Landmarks flood the network. Each node learns the hop count to each landmark. • Construct Landmark Voronoi Complex (LVC) 2/27/09 Jie Gao, CSE595-spring09 21 Combinatorial Delaunay graph • Construct Landmark Voronoi Complex (LVC) • Each sensor identifies its closest landmark. • A sensor is on the boundary if it has 2 closest landmarks. • If flooding are synchronized, then restricted flooding up to the boundary nodes is enough. 2/27/09 Jie Gao, CSE595-spring09 22 Combinatorial Delaunay graph • Construct Combinatorial Delaunay Triangulation (CDT) on landmarks • If there is at least one boundary node between landmark i and j, then there is an edge ij in CDT. • Holes in the sensor field map to holes in CDT. • CDT is broadcast to the whole network. 2/27/09 Jie Gao, CSE595-spring09 23 Virtual coordinates Each node stores virtual coordinates (d1, d2, d3, … dk), dk= hop count to the kth reference landmark (home+neighboring landmarks) home landmark (think about post-office) resident tile p reference landmarks 2/27/09 Boundary nodes Jie Gao, CSE595-spring09 24 Combinatorial Delaunay graph Theorem: If G is connected, then the Combinatorial Delaunay graph D(L) for any subset of landmarks is also connected. 1. Compact and stable 2. Abstract the connectivity graph: Each edge can be mapped to a path that uses only the nodes in the two corresponding Voronoi tiles; Each path in G can be “lifted” to a path in D(L) 2/27/09 Jie Gao, CSE595-spring09 25 Information Stored at Each Node • The shortest path tree on D(L) rooted at its home landmark • Its coordinates and those of its neighbors for greedy routing 2/27/09 Jie Gao, CSE595-spring09 26 Virtual coordinates • With the virtual coordinates, a node can test if – It is on the boundary (two closest landmarks). – A neighbor who is closer to a reference landmark. 2/27/09 Jie Gao, CSE595-spring09 27 Local Routing with Global Guidance • Global Guidance: routing on tiles the D(L) that encodes global connectivity information is accessible to every node for proactive route planning on tiles. • Local Routing: how to go from tile to tile. high-level routes on tiles are realized as actual paths in the network by using reactive protocols. 2/27/09 Jie Gao, CSE595-spring09 28 GLIDER -- Routing 1. Global planning u2 2. Local routing – Inter-tile routing u1 – Intra-tile routing p 2/27/09 Jie Gao, CSE595-spring09 u3 q 29 Intra--tile routing Intra L5 L1 p L0 L4 L3 2/27/09 q • How to route from one node to the other inside a tile? • Each node knows the hop count to home landmark and neighboring landmarks. • No idea where the landmarks are. L2 • A bogus proposal: p routes to the home landmark then routes to q. Jie Gao, CSE595-spring09 30 Centered LandmarkLandmark-Distance Coordinates and Greedy Routing L5 L1 Reference landmarks: L0,…Lk T(p) = L0 2 p L0 L4 q Local virtual coordinates: 2 2 c(p)= (pL0 – s,…, pLk – s) L2 L3 2 Let s = mean(pL0 ,…, pLk ) (centered metric) Distance function: 2 d(p, q) = |c(p) – c(q)| Greedy strategy: to reach q, do gradient descent on the function d(p, q) 2/27/09 Jie Gao, CSE595-spring09 31 Local Landmark Coordinates – No Local Minimum • Theorem: In the continuous Euclidean plane, gradient descent on the function d(p, q) always converges to the destination q, for at least three non-collinear landmarks. • Landmark-distance coordinates • Centered coordinates • The function function! 2/27/09 Landmark i is a linear Jie Gao, CSE595-spring09 32 Node Density vs. Success Rate of Greedy Routing In the discrete case, we empirically observe that landmark gradient descending does not get stuck on networks with reasonable density (each node has on average six neighbors or more). 2000 nodes distributed on a perturbed grid. Perturbation ~ Gaussian(0, 0.5r), where r is the radio range 2/27/09 Jie Gao, CSE595-spring09 33 u2 u1 u3 q p 2/27/09 Jie Gao, CSE595-spring09 34 Examples 2/27/09 Each node on average has 6 one-hop neighbors. Jie Gao, CSE595-spring09 35 Simulations – Path Length and Load Balancing GLIDER 41 hops GPSR 52 hops Each node on average has 6 one-hop neighbors. 2/27/09 Jie Gao, CSE595-spring09 36 Simulations – Hot Spots Comparison Randomly pick 45 source and destination pairs, each separated by more than 30 hops. GLIDER GPSR Blue (6-8 transit paths), orange (9-11 transit paths), black (>11 transit paths) 2/27/09 Jie Gao, CSE595-spring09 37 Stability • Landmark failure. – Not a big problem as the landmark is simply a point of reference. – Not like gateway. • Combinatorial Delaunay edge change? – Requires big change in the network topology (merge of holes, disconnect a band of nodes, etc). 2/27/09 Jie Gao, CSE595-spring09 38 S4: small state small stretch • Landmark-based – Each node knows how to route to the landmark. – Use additional routing table entries to keep the routes to other nodes. – Routing: first route to the landmark closest to t, when the message gets close, use local routing tables. S4: small state small stretch • Node clusters – Each regular node d has a cluster, in which each node knows how to route to d. – Radius is the distance to the closest beacon. • Claim: this guarantees delivery. Stretch is 3 Path = |ux|+|xv| = |ux|+|bv| ≤ |ub|+|bv| //shortcut ≤|uv|+2|bv| //triangle inequality ≤ 3|uv| // u is outside cluster b x v u Routing table size? • Take \sqrt{n} random landmarks such that the number of nodes inside cluster is roughly \sqrt{n}. Comparison with BVR Routing states Summary • Landmark failure? – Landmark is for reference, and do not necessarily carry messages. • Design principles: – Global routing -- route to somewhere close to the destination v.s local routing – route to the destination. – Gradient-based or routing table based. – Landmarks are global or local: accurate distances to far away landmarks. Summary • BVR: global landmarks, global potential function, gradient based. • GLIDER: – Global routing: routing table; local routing: gradient based. – Landmarks are local: the distances to far away landmarks do not need to be accurate. • S4: global landmarks, global routing: gradient-based; local routing: routing table.