Title: Geographic Routing Made Practical
1Geographic Routing Made Practical
- Young-Jin Kim, Ramesh Govindan, Brad Karp, Scott
Shenker - Presented by Jorge Ortiz
2Scalability in Routing
Internet Routing (Distance-Vector,
Link-State) Routing table size O(N) per node For
correctness, routing table must be completely
up-to-date Geographic Routing A scalable class
of routing algorithms for wireless
networks Routing table size O(d) per node,
number of single-hop neighbors but exclusively
evaluated in simulation
- ? Does geographic routing work correctly in real
world? - ? irregular radio range
- ? radio-opaque obstacles
- ? imperfect localization
3Introduction to geographic routing
1. Greedy traversal G.G. Finn 87
- - Nodes learn 1-hop neighbors positions from
beaconing
- A node forwards packets to its neighbor closest
to D
4Introduction to geographic routing
Greedy traversal not always possible!
x is a local minimum to D w and y are far from D
5Introduction to geographic routing
2. Face (Perimeter) traversal The Right hand
rule
- Well-known graph traversal right-hand rule
- Requires only neighbors positions
z
y
x
Fails when there are cross links in the graph!
6Introduction to geographic routing
2. Face (Perimeter) traversal on a planar graph
Two primitives (1) the right-hand rule
(2) face-changes
D
F4
F3
F2
Walking sequence F1 -gt F2 -gt F3 -gt F4
F1
X
? Many existing algorithms like GFG, GPSR,
GOAFR, and etc. combine greedy traversal with
face traversal.
7Introduction to geographic routing
3. Planarization techniques GG or RNG
- Given a radio graph, make a planar sub-graph in
which every cross-edge is eliminated.
- ? Important assumptions
- - Unit-disk graph Accurate localization
- ? How well do planarization techniques work
in real-world?
w
u
v
?
Gabriel Graph
GG (Gabriel Graph)
GG Sub-graph
Full Radio Graph
8GPSR in network test-beds
? A test-bed deployed in UC Berkeley Soda Hall
50 MICA2dot, 433MHz radio, 5.2 average node
density
Cross-link
- 68.2 routing success among node pairs
- Whats happening?
Unidirectional
Disconnected
Wireless Network Graph
GG sub-graph
9Mutual Witness
- ? Key idea
- - remove a link only if both ends of the
link see a mutual witness - - can eliminate unidirectional links,
disconnections
- Raises success rate to 87
- But, mutual witness introduces other failure
modes - - converts unidirectional/disconnected links into
cross links - leaves cross links in a sub-graph
- generates collinear links (a degenerate case)
10CLDP (Cross-Link Detection Protocol)
- Basic Idea
- - Each node probes its links to determine
crossed links.
- ? Key features
- 1. Completely distributed protocol
- - Each node executes this protocol on all
links - 2. Can prove that, when CLDP executes on any
arbitrary graph, face traversal never fails on
the resulting sub-graph
pcrossings of (S, A)?
B
A
p(B, C) crosses (S, A)!
pcrossings of (S, A)?
S
C
p(B, C) crosses (S, A)!
11Avoiding network partition
Network partition!
Cross links!
B
A
A
B
C
C
S
S
case A
case B
Solution ? keep a link if the probe returns on
the link it was sent out on ? can leave
cross-links in the sub-graph, but our proof shows
that face traversal cannot fail on the
sub-graph
12Avoiding race conditions
- Problem
- Concurrent CLDP probing causes race
conditions -
Network partition by race condition!
Solution ? lazy locking mechanism ?
described in the paper
13- Experimental Results Simulation
- Radio graphs with obstacles
- Random graphs
- Metric
- Success rate
- Stretch
- Overhead
- Convergence
14Success Rate
Radio graphs with 200 obstacles
- Observations
- CLDP is perfect on radio graphs with obstacles.
- GPSR performs poorly due to partitions and
unidirectional links
15Success Rate
Random graphs
- Observations
- Even on random graphs, CLDP is perfect.
16Stretch
- measured path length / shortest path length
Radio graph
CLDP subgraph
GG subgraph
- Observations
- CLDP (24) outperforms GPSRGG/MW
- GG planarization removes more links than CLDP
17Stretch distribution
Radio graphs with 200 obstacles
- Observations
- Worst-case stretch - 102
Geographic routing uses only local information
to determine paths!
18Worst case stretch
? Worst case stretch O(n), n number of
nodes ? Worst case path length O(nl), l
optimal path length ? Recently, we have
discovered techniques that can improve
worst-case behavior
S
D
Right-hand rule
Example from test-bed experiment
19Experimental Results Implementation
- nesC Code (about 4500 lines)
- Run on MICA2 (CC1000 Radio)
20Experiments on test-beds
- Two sensor network test-beds (Berkeley-433MHz
and Intel-916MHz)
1. Rm 50 nodes on Berkeley Soda Mica2dot
test-bed 2. Rs 25 nodes on Berkeley Soda
Mica2dot test-bed 3. C 36 nodes on Intel
Berkeley Mica2dot test-bed
- Success rate of all source-destination pairs.
- CLDP is immune to all pathologies
21Stretch
- measured path length / shortest path length
- Mostly (8197) below 3
- But, worst case 20
22Overhead
- the number of CLDP probes observed on each link
- during a probing interval (15 seconds in our
implementation)
- low overhead below 7 for 90 of links
- depends on the size of faces and the no. of
cross links - affected by the deployment node density
23Steady-state Convergence
v Over 80 of links converge within 3 probing
intervals v Almost all links converge within 6
probing intervals.
24Conclusion
- Geographic routings GG planarization suffers
from 3 pathologies. - asymmetric links, network partition, and
cross links -
- Augmenting GG planarization with MW is not
enough. - other illness such as cross-links and
collinear links -
- CLDP
- ? the first distributed planarization
protocol - - immune to pathologies that cause persistent
routing failures on static networks. - - thus, guarantees routing success for all
node pairs. - ? shows good average stretch, reasonable
overhead and - convergence time.