1 / 34

CPSC 689: Discrete Algorithms for Mobile and Wireless Systems

CPSC 689: Discrete Algorithms for Mobile and Wireless Systems. Spring 2009 Prof. Jennifer Welch. Lecture 16. Topic: Routing Without Geographic Information Sources: Rao, Ratnasamy, Papadimitriou, Shenker & Stoica Fang, Gao, Guibas, de Silva & Zhang MIT 6.885 Fall 2008 slides.

louis-gill
Télécharger la présentation

CPSC 689: Discrete Algorithms for Mobile and Wireless Systems

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. CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch

  2. Lecture 16 • Topic: • Routing Without Geographic Information • Sources: • Rao, Ratnasamy, Papadimitriou, Shenker & Stoica • Fang, Gao, Guibas, de Silva & Zhang • MIT 6.885 Fall 2008 slides Discrete Algs for Mobile Wireless Sys

  3. Point-to-Point Routing • Scenario: • network of nodes • want to send data from node A to node B • sensor networks, MANETs, etc. • Challenge: find an efficient route from A to B • nodes may not fully know network topology • topology may change as devices are added/fail/move Discrete Algs for Mobile Wireless Sys

  4. The Naïve Way • Epidemic routing / flooding • nodes forward packets to all neighbors • aim for toal network coverage • will succeed, but massive overhead • Can we do better? Discrete Algs for Mobile Wireless Sys

  5. Some Better Ways • Distance vector routing • compute shortest paths between all pairs • every node stores next hop to destination • O(n2) storage, so doesn't scale well • On-demand routing • routes established on demand by flooding route requests • O(n2) overhead to establish route, so high latency • Hierarchical addressing • used in the Internet • difficult in mobile networks where structure is changing • Landmark routing • nodes choose own address, based on concatenation of nearest landmark nodes • difficult to maintain under mobility Discrete Algs for Mobile Wireless Sys

  6. An Even Better Way: Geographic Routing • Nodes know coordinates of self, neighbors, and destination • Simple greedy algorithm: • Always forward data to the neighbor closest to the destination • O(degree) storage requirement: just maintain coordinates of your neighbors • Reliable: about 98% success rates • Problems: • local minima: no neighbor is nearer destination than current node but current node is not destination • need to know geographic coordinates, not just address, of destination Discrete Algs for Mobile Wireless Sys

  7. Geographic Routing Needs GPS • Major drawback of geographic routing is need for GPS • Problems with requiring GPS: • cost • energy usage • needs line-of-sight; doesn't work indoors or under heavy foliage • proximity not always indicative of connection quality • How to get advantages of simple and effective geographic routing without using GPS? Discrete Algs for Mobile Wireless Sys

  8. Virtual Coordinates • See whether some other coordinate system ("virtual coordinates") can be substituted for geographic location coordinates • don't need to know actual geographic locations, just need information so that routing will work well • Essentially heuristic-based • A couple of approaches, which work just as well as true geographic routing Discrete Algs for Mobile Wireless Sys

  9. Geographic Routing Without Location Information [RRPSS] • Assign nodes virtual coordinates • Using the virtual coordinates, evaluate this simple greedy routing algorithm: • if I am destination, stop • else if some neighbor is closer to destination then forward message to that neighbor • else perform expanding ring search until finding a closer node (or TTL expires) Discrete Algs for Mobile Wireless Sys

  10. Perimeter Nodes • Distinguish between perimeter nodes (those on the boundary of the 2-D area enclosing all the nodes) and non-perimeter nodes • Consider three cases: • perimeter nodes know they are perimeter nodes and know their actual 2-D coordinates • perimeter nodes know they are perimeter nodes but don't know their actual coordinates • nodes don't know if they are perimeter nodes or not Discrete Algs for Mobile Wireless Sys

  11. Evaluation Framework • Simulation: • 3200 nodes, distributed randomly in a 200x200 area • 64 perimeter nodes • average neighbor count is 16 • Communication assumptions: • perfect radios with transmission radius of 8 units • no collisions Discrete Algs for Mobile Wireless Sys

  12. Evaluation Framework [RRPSS] Discrete Algs for Mobile Wireless Sys

  13. Perimeter Nodes Know Their Location • Simple iterative relaxation algorithm • Perimeter nodes start with their (true) coordinates, others start with default coordinates • repeat • set my coordinates to the average of my neighbors' coordinates (x and y separately) • until convergence • Intuition: non-perimeter nodes will move toward perimeter and bring neighbors with them Discrete Algs for Mobile Wireless Sys

  14. Simulation Results [RRPSS] Discrete Algs for Mobile Wireless Sys

  15. Results • Success rate (how many messages make it to their destinations): • 99.3% (vs. 98.9% with true coordinates) • Hop count (average path length): • 17.1 (vs. 16.8 with true coordinates) • Discussion: • higher success rate with virtual coordinates! • Using 8 perimeter nodes instead of 64 gives 98.1% success rate • But coordinate assignment took 1000 iterations :( Discrete Algs for Mobile Wireless Sys

  16. Perimeter Nodes Don't Know Location • Perform preprocessing so that perimeter nodes (PNs) can find coordinates: • each PN floods HELLO through network • then every PN knows all other PNs and distance (hops) to each • PNs exchange this info • PNs perform a "triangulation" algorithm • minimize sum of squares of all pairwise distance errors • error = difference between measured distance in hops and distances calculated from coordinates • Resulting coordinates are only unique up to rotation, reflection and translation, so compute center of gravity of the PNs and use 2 PNs to resolve rotation and reflection Discrete Algs for Mobile Wireless Sys

  17. Results • Optimization: non-PNs will hear all the preprocessing messages so they can come up with good proposals for their own initial coordinates • Only need one! iteration to get good results: • success rate 99.2% (vs. 99.3 when PNs know coordinates) • hop count 17.2 (vs. 17.1 when PNs know coordinates) Discrete Algs for Mobile Wireless Sys

  18. Results [RRPSS] Discrete Algs for Mobile Wireless Sys

  19. Perimeter Nodes Know Nothing • Add yet another preprocessing stage: • choose a bootstrap node to broadcast HELLO • preconfigured, or chosen probabilistically • a node decides to become a PN if it is furthest from the bootstrap node among all its 2-hop neighbors • Results after 10 iteration even with some nodes misclassified as PNs: • Success rate: 99.6% • Hop count: 17.3 Discrete Algs for Mobile Wireless Sys

  20. Results [RRPSS] Discrete Algs for Mobile Wireless Sys

  21. More Complete Simulation Results • Performed detailed simulations with a packet-level simulator, mobility, … • Representative result: Discrete Algs for Mobile Wireless Sys

  22. Discussion • Shows that virtual coordinates are viable and can perform as well as, and even better than, actual coordinates for routing • Claim the approach supports mobility, but with all the preprocessing seems dubious… • Scalable as geographic routing, but requires more pre-processing as network size grows Discrete Algs for Mobile Wireless Sys

  23. GLIDER [FGGSZ] • Routing in sensor networks in which nodes do not move • Use two types of information, global and local topologies • Divide nodes into overlapping clusters, called "tiles" • A node's address is its tile's address and some local routing information • All nodes keep info about tile topology but not intra-tile topology • Consider an abstract route over the tiles • nodes inside each tile do actual greedy reouting • Small amount of state that each node keeps • called "atlas" Discrete Algs for Mobile Wireless Sys

  24. GLIDER Overview • Phase 1: Global preprocessing • divide graph into tiles of "uninteresting" clusters, centered by a landmark node • uninteresting means no problem features such as holes, which can hurt routing • tiles should reflect underlying network structure • Phase 2: Local routing • greedy forwarding based on local coordinates within each tile • works well inside a tile since it has no problem features such as holes Discrete Algs for Mobile Wireless Sys

  25. GLIDER Overview • construct an "atlas" M, a data structure containing adjacency information for tiles • choose landmark nodes • construct Voronoi cells of the landmarks • each Voronoi cell is a tile • each node belongs to the cell of the nearest landmark • nodes can be in multiple tiles as there can be ties when deciding on closest landmark • M is the "combinatorial Delaunay triangulation", i.e., the adjacency graph on the tiles Discrete Algs for Mobile Wireless Sys

  26. Voronoi Diagram www.amath.washington.edu/~dnlennon/voronoi/ Discrete Algs for Mobile Wireless Sys

  27. GLIDER Overview • Every node maintains M • Each node has a two-part name: • the global tile name (id of closest landmark) and • the local landmark coordinates (distance from the node to its own and nearby landmarks) Discrete Algs for Mobile Wireless Sys

  28. Routing in GLIDER • Given a destination d, known by name, come up with a high-level sequence of tiles • Once in a particular tile, use gradient descent towards next landmark, or toward d if in last tile Discrete Algs for Mobile Wireless Sys

  29. Why Does This Work? • For each landmark v, define tile T(v) to be set of nodes whose nearest landmark is v. • Lemma 1: For any node u in T(v), every shortest path from u to v is contained in T(v). • For the atlas M, 2 landmarks are connected iff their tiles share a common node or there is a node in one and a node in the other that are neighbors • Theorem 2: If the communication graph is connected, then M is connected. Discrete Algs for Mobile Wireless Sys

  30. Landmark Selection • Atlas M should be small to reduce overhead (since every node keeps a copy) • But need to ensure that each tile has a simple, feature-less topology! • Put landmarks near topological features, so their cells won't contain them accidentally • Suggestions: • choose landmarks manually or • select by discovering hole boundaries Discrete Algs for Mobile Wireless Sys

  31. Gradient Property of Continuous Local Coordinates • Let {u1, u2, …, uk} be the landmarks • Assume each node knows its position p in Euclidean space • Define B(p) to be the k-vector of squared distances to the k landmarks • Define B'(p) to be the average squared distance over all k landmarks • Define C(p) to be the centered landmark distance: • C(p)i = B(p)i – B'(p) • Define distance between p and q to be |C(p) – C(q)|2 • Lemma: If k ≥ 3, then (in 2D), gradient descent always converges to the destination. Discrete Algs for Mobile Wireless Sys

  32. Local Coordinate Generation • Discrete version: this is what we really care about, since we have a discrete number of hops • Same basic idea as in the previous continuous discussion, but use hops to landmarks instead of Euclidean distances • This can produce local minima, but claim that sufficient node density reduces the occurrence of local minima Discrete Algs for Mobile Wireless Sys

  33. Naming Protocol • Once landmarks are selected, nodes must be named • Done in a distributed way • Landmarks initiate flooding to determine graph distances from each node to nearby landmarks and to compute Voronoi cells (tiles) • Once centralized node receives all the information for construction the atlas and distributes it • Each node computes distances between itself and its reference landmarks Discrete Algs for Mobile Wireless Sys

  34. Results • Simulation with 2000 nodes • Algorithm works well each node has at least 5 neighbors, otherwise not well • 20% success rate with 3 neighbors, 95% with 4 • Performs better than geographic routing in face of obstacles • Claimed to work in 3D also Discrete Algs for Mobile Wireless Sys

More Related