340 likes | 345 Views
Explore different routing methods for mobile and wireless systems without relying on geographic information. Evaluate the effectiveness of virtual coordinates and perimeter nodes in achieving efficient routing.
E N D
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 Discrete Algs for Mobile Wireless Sys
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
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
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
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
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
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
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
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
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
Evaluation Framework [RRPSS] Discrete Algs for Mobile Wireless Sys
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
Simulation Results [RRPSS] Discrete Algs for Mobile Wireless Sys
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
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
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
Results [RRPSS] Discrete Algs for Mobile Wireless Sys
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
Results [RRPSS] Discrete Algs for Mobile Wireless Sys
More Complete Simulation Results • Performed detailed simulations with a packet-level simulator, mobility, … • Representative result: Discrete Algs for Mobile Wireless Sys
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
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
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
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
Voronoi Diagram www.amath.washington.edu/~dnlennon/voronoi/ Discrete Algs for Mobile Wireless Sys
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
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
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
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
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
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
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
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