# CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.

## Presentation on theme: "CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch."— Presentation transcript:

CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch

Discrete Algs for Mobile Wireless Sys2 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 Sys3 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 Sys4 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 Sys5 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 Sys6 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 Sys7 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 Sys8 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 Sys9 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 Sys10 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: 1.perimeter nodes know they are perimeter nodes and know their actual 2-D coordinates 2.perimeter nodes know they are perimeter nodes but don't know their actual coordinates 3.nodes don't know if they are perimeter nodes or not

Discrete Algs for Mobile Wireless Sys11 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 Sys12 Evaluation Framework [RRPSS]

Discrete Algs for Mobile Wireless Sys13 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 Sys14 Simulation Results [RRPSS]

Discrete Algs for Mobile Wireless Sys15 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 Sys16 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 Sys17 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 Sys18 Results [RRPSS]

Discrete Algs for Mobile Wireless Sys19 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 Sys20 Results [RRPSS]

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

Discrete Algs for Mobile Wireless Sys22 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 Sys23 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 Sys24 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 Sys25 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 Sys26 Voronoi Diagram www.amath.washington.edu/~dnlennon/voronoi/

Discrete Algs for Mobile Wireless Sys27 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 Sys28 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 Sys29 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 Sys30 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 Sys31 Gradient Property of Continuous Local Coordinates Let {u 1, u 2, …, u k } 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 Sys32 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 Sys33 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 Sys34 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

Download ppt "CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch."

Similar presentations