Title: Geographic Routing
1Geographic Routing
2Admin.
- Homework 4
- Exam
- Highest 75
- Median 63
- Average 59
3NP-Hardness of Location Computation
Location computation of globally rigid networks
is NP-hard
Proof sketch Assume we have algorithm X that
takes as input a realizable globally rigid
network and outputs its unique positions. We
will find the set-partition of the partitionable
set S 1) scale so that the sum of elements in S
is less than p/2 2) construct wheel network with
di,i12sin(si/2) 3) call X to localize.
sin(s1/2)
1
sin(s1/2)
2
3
s1s4s2s3
s4
s2
rights lefts
s1
4
s3
0
4The Localization Process
Applications Using Location
Location Computation
Localizability
Measurements
5Geographical Routing
6Motivations
- A need for geographical based distribution
- e.g., sensornets and location-based services
- Reducing state overhead
- the routing protocols we discussed so far may not
scale to large-scale networks - routing states proportional to network size
- objective of georouting each node keeps state
(positions) only of its direct neighbors
7Greedy Geographical Routing
- Given destination D, find neighbor who is the
closest to D
S
D
8Problem of Greedy Georouting
- May stuck with local minimum
- To make progress (avoiding local min), the chosen
neighbor should be closer to destination
D
A
B
9Greedy Routing Works Well in Dense Networks
D
- If node density is high, it is a low probability
event for the region to have no nodes
10Dealing with Void
Right-hand rule When arriving at node a from
node b, the next edge traversed is the next one
sequentially counterclockwise about a from edge
(a,b)
11Example Right Hand Rule on Convex Subdivision
Convex subdivision a planar graph where every
internal face is a polytope Applying the
right-hand rule first remove the edges crossing
the line from source to destination, and then
apply the right hand rule.
12Right-Hand Rule Does Not Work Well with Cross
Edges
z
v
D
u
- s originates a packet to u
- Right-hand rule results in the long detour
s-u-z-w-u-s
w
s
13Removing Cross Edges
z
v
D
u
w
- Remove (w,z) from the graph
- Right-hand rule results in the route s-u-z-v-D
s
14Removing Cross-Edges -gt Planar Graph
- Convert a connectivity graph to planar
non-crossing graph by removing bad edges - Requirements
- make sure the original graph will not be
disconnected - local, distributed algorithm
15Two Types of Planar Graphs
- Relative Neighborhood Graph (RNG)
- Gabriel Graph (GG)
16Relative Neighborhood Graph
- Edge uv can exist only if there does not exist
another node w inside the intersection of the
two circles centered at u and v with radius d(u,
v) - i.e., no w such that d(w, u) lt d(u, v) and d(w,
v) lt d(u, v) - Or equivalently ?w ? u, v d(u,v)
maxd(u,w),d(v,w)
not empty ? remove uv
17Gabriel Graph
- An edge (u,v) exists between vertices u and v if
no other vertex w is present within or on the
circle whose diameter is uv. - ?w ? u, v d2(u,v) lt d2(u,w) d2(v,w)
Not empty ? remove uv
18Examples
Full graph
GG subset
RNG subset
- 200 nodes
- randomly placed on a 2000 x 2000 meter region
19Properties of GG and RNG
RNG
- RNG is a sub-graph of GG
- because RNG removes more edges
- GG is a planar graph
- and thus RNG is also planar
- Connectivity
- if the original graph isconnected, RNG is also
connected
GG
20Connectedness of RNG Graph
- Key observation
- Any edge on the minimumspanning tree of the
originalgraph is not removed - Assume (u,v) is such an edge but removed in RNG
due to w
u
v
21Delaunay Triangulation
- Let disk(u,v,w) be a disk defined by the three
points u,v,w - The Delaunay Triangulation (Graph)
- There is a triangle of edges between three nodes
u,v,w iff the disk(u,v,w) contains no other
points - Properties of the Delaunay Triangulation graph
- it is the dual of the Voronoi diagram
- DT graph is planar
22Some Interesting Properties
- Since the MST(V) is connected and the DT(V) is
planar, all the planar graphs above are connected
and planar
23Final Algorithm Greedy Perimeter Stateless
Routing (GPSR)
- Maintenance
- all nodes maintain a single-hop neighbor table
- Use RNG or GG to make the graph planar
- Routing
- use greedy forwarding whenever possible
- resort to perimeter routing when greedy
forwarding fails and record current location Lc - resume greedy forwarding when we are closer to
destination than Lc
24Example
d
d
D
D
e
e
c
c
a
a
f
S
S
b
For details about GPSR algorithm, please GPSR.
25Evaluations
- 50, 112, and 200 nodes with 802.11 WaveLAN radios
- Maximum velocity of 20 m/s
- 30 CBR traffic flows, originated by 22 sending
nodes - Each CBR flows at 2 Kbps, and uses 64-byte
packets
26Packet Delivery Success Rate
Very dense network 20 neighbors
27Routing Protocol Overhead
28Routing State
- State per router for 200-node
- GPSR node stores state for 26 nodes on average in
pause time-0
29Path Length
30Worst Case of GeoRouting in Terms of Hop Count
- A worst case scenario
- destination is central node
- source is any node on ring
- any spine can go to middle
- O(c) nodes along ring and O(c) nodes along each
spine - Best path length O(c)O(c)
- Geographic routing
- Test O(c) spines of length O(c)
- Cost O(c2) instead of O(c)
31Pros of GPSR
- Provides geographical routing at low routing
overhead
32Cons of GPSR
- Localization is challenging
- True location may be less effective if there are
obstacles
In the connectivity space, B is closer to
destination!!
33Geographical Routing without Location
34Clarification
- Two interpretations of the term geographical
routing - Routing to geographical locations
- Using the technique of georouting for scalable
routing (assign each node a coordinate) - What we discuss is mostly the second usage
35Overview
- Objective assign virtual coordinates to nodes
so that - the coordinates are computed efficiently,
- routing works well using the computed coordinates
- Progress in three steps
- the perimeter nodes and their locations are known
- the perimeter nodes are known but not their
coordinates are not known - nothing is known
- We cover the first two steps
36The Perimeter Nodes and Their Locations Are Known
- Image a rubber band from each node to each
(connected) neighbor - The force of a rubber band is proportional to
its length, directedto the neighbor
37The Perimeter Nodes and Their Locations Are Known
- The equilibrium is achievedwhen the position p
of a node is equal to the average of its
neighbors - where n is number of neighbors
- Algorithm
- each node sends its position to its neighbors
- a node updates its new position to be the average
of those of its neighbors
38True Node Positions
3200 nodes 64 perimeter nodes on the boundary
39Virtual Node Positions (10 iterations)
Internal nodes initialized as the center of the
square
40Virtual Node Positions (100 iterations)
Internal nodes initialized as the center of the
square
41Virtual Node Positions (1000 iterations)
Internal nodes initialized as the center of the
square
42Routing Performance
- 32000 packets with random source-destination pairs
Success rate using (distance) greedy routing
43Two More Scenarios
Success rate 0.981 Avg. path length 17.3
Success rate 0.99 Avg. path length 17.1
44Weird Shapes
45The Perimeter Nodes Are Known But Their Locations
Are Not Known
- Assume the distance between two nodes is the
(minimum) number of hops to go from one to the
other - Distances can be derived by flooding the network
- each perimeter node sends a HELLO message with a
hop counter of 0 - when seeing a message from a perimeter node with
a lower hop counter, a node increases the counter
by 1 and forwards it
46Virtual Coordinates by Triangulation
- Each perimeter node solves the minimization
problem - Detail
47Convergence and Performance
One iteration success rate 0.992 avg. path
length 17.2 Ten iterations success rate
0.994 avg. path length 17.2
48Improving Resiliency
- If perimeter vector is inaccurate, it results in
inconsistent information - Augment with two beaconing nodes which provide
two coordinate axes - special perimeter nodes or run leader election to
select the two nodes - Origin is chosen as the center of gravity of all
perimeter nodes - more robust to lost information
49Selecting Perimeter Nodes
- Rule A node is a perimeter node if
- It is farthest away from the first beacon node
among all its one-hop neighbors
50Perimeter Node Detection
51Convergence and Performance
Ten iterations success rate 0.996 avg. path
length 17.3
52Summary
- Localization is a fundamental primitive as
communications - Locations can be real or virtual
- We saw one virtual coordinate system to help
with routing - Multiple other virtual coordinate systems such
Vivaldi as an Internet coordinate system
Applications Using Location
Location Computation
Localizability
Measurements
53Backup Slides
54Projecting on Circle After First Computation
- Circle center is center of gravity radius is
average of distance of the perimeter nodes to the
CG - Motivation maintain a consistent coordinate
space
55Virtual Polar Coordinate Space
- Each node is assigned a label
- label is number of hops to root and virtual angle
range
Discussion how to do routing?
56Build the Tree
- Root node
- starts as root
- broadcasts level 0
- A non-root node
- receives message level n marks parent
- broadcasts message saying level n1
- All subtrees report size back to parent.
- Root does assignment of virtual angles.
Question what about the issues of the described
algorithm?