CPSC 689: Discrete Algorithms for Mobile and Wireless Systems
Spring 2009
Prof. Jennifer Welch
Discrete Algs for Mobile Wireless Sys 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: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 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]
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
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 Diagramwww.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