1
GPSR: Greedy Perimeter Stateless
Routing for Wireless Networks
B. Karp, H. T. Kung
Borrowed some slides from Richard Yang’s
2
Motivation
❒
A sensor net consists of hundreds or thousands of
nodes
❍
Scalability is the issue
❍
Existing ad hoc net protocols, e.g., DSR, AODV, ZRP,
require nodes to cache e2e route information
❍
Dynamic topology changes
❍
Mobility
❒
Reduce caching overhead
❍
Hierarchical routing is usually based on well defined, rarely
changing administrative boundaries
❍
Geographic routing
• Use location for routing
3
Scalability metrics
❒
Routing protocol msg cost
❍
How many control packets sent?
❒
Per node state
❍
How much storage per node is required?
❒
E2E packet delivery success rate
4
Assumptions
❒
Every node knows its location
❍
Positioning devices like GPS
❍
Localization
❒
A source can get the location of the destination
❒
802.11 MAC
❒
Link bidirectionality
5
Geographic Routing: Greedy Routing
S
D
Closest
to D
A
-
Find neighbors who are the closer to the destination
-
Forward the packet to the neighbor closest to the destination
6
Benefits of GF
❒
A node only needs to remember the location info of one-hop
neighbors
❒
Routing decisions can be dynamically made
7
Greedy Forwarding does NOT always work
❒
If the network is dense enough that each interior node has a
neighbor in every 2Π/3 angular sector, GF will always succeed
GF fails
8
Dealing with Void: Right-Hand Rule
❒
Apply the right-hand rule to traverse the edges of a void
❍
Pick the next anticlockwise edge
❍
Traditionally used to get out of a maze
9
Right Hand Rule on Convex Subdivision
For convex subdivision, right hand rule is equivalent to
traversing the face with the crossing edges removed.
1
0
Right-Hand Rule Does Not Work with
Cross Edges
u
z
w
D
x
x originates a packet to u
Right-hand rule results in the
tour x-u-z-w-u-x
1
1
Remove Crossing Edge
u
z
w
D
x
Make the graph planar
Remove (w,z) from the graph
Right-hand rule results in the
tour x-u-z-v-x
1
2
Make a Graph Planar
Convert a connectivity graph to planar non-crossing graph by
removing “bad” edges
❍
Ensure the original graph will not be disconnected
❍
Two types of planar graphs:
• Relative Neighborhood Graph (RNG)
•
Gabriel Graph (GG)
1
3
Relative Neighborhood Graph
❒
Connection
uv
can exist if
∀
w
≠
u
,
v
,
d
(
u
,
v
) < max[
d
(
u
,
w
),
d
(
v
,
w
)]
not empty
remove uv
1
4
Gabriel Graph
❒
An edge (
u
,
v
) exists between vertices
u
and
v
if no other vertex
w is present within the circle whose diameter is uv.
∀
w
≠
u
,
v
,
d
2
(
u
,
v
) < [
d
2
(
u
,
w
) +
d
2
(
v
,
w
)]
Not empty
remove uv
1
5
Properties of GG and RNG
❒
RNG is a sub-graph of
GG
❍
Because RNG removes more
edges
❒
If the original graph is
connected, RNG is also
connected
RNG
GG
1
6
Connectedness of RNG Graph
❒
Key observation
❍
Any edge on the minimum
spanning tree of the original
graph is not removed
❍
Proof by contradiction: Assume
(u,v) is such an edge but removed in RNG
u
v
w
1
7
•
200 nodes
•
randomly placed on a 2000 x 2000 meter region
• radio range of 250 m
•Bonus: remove redundant, competing path less collision
Full graph GG subset RNG subset
Examples
1
8
Greedy Perimeter Stateless Routing (GPSR)
❒
Maintenance
❍
all nodes maintain a single-hop neighbor table
❍
Use RNG or GG to make the graph planar
❒
At source:
❍
mode = greedy
❒
Intermediate node:
❍
if (mode == greedy) {
greedy forwarding;
if (fail) mode = perimeter;
}
if (mode == perimeter) {
if (have left local maxima) mode = greedy;
else (right-hand rule);
}
1
9
GPSR
Greedy Forwarding Perimeter Forwarding
greedy fails
have left local maxima
greedy works
greedy fails
2
0
Implementation Issues
❒
Graph planarization
❍
RNG & GG planarization depend on having the current location info
of a node’s neighbors
❍
Mobility may cause problems
❍
Re-planarize when a node enters or leaves the radio range
• What if a node only moves in the radio range?
•
To avoid this problem, the graph should be re-planarize
for every beacon msg
❍
Also, assumes a circular radio transmission model
❍
In general, it could be harder & more expensive than it sounds
2
1
Performance evaluation
❒
Simulation in ns-2
❒
Baseline: DSR (Dynamic Source Routing
❒
Random waypoint model
❍
A node chooses a destination uniformly at random
❍
Choose velocity uniformly at random in the configurable range –
simulated max velocity 20m/s
❍
A node pauses after arriving at a waypoint – 300, 600 & 900 pause
times
2
2
❒
50, 112 & 200 nodes
❍
22 sending nodes & 30 flows
❍
About 20 neighbors for each node – very dense
❍
CBR (2Kbps)
❒
Nominal radio range: 250m (802.11 WaveLan radio)
❒
Each simulation takes 900 seconds
❒
Take an average of the six different randomly generated
motion patterns
2
3
Packet Delivery Success Rate
2
4
Routing Protocol Overhead
2
5
Related Work
❒
Geographic and Energy Aware Routing (GEAR), UCLA Tech
Report, 2000
❍
Consider remaining energy in addition to geographic location to
avoid quickly draining energy of the node closest to the
destination
❒
Geographic probabilistic routing, International workshop on
wireless ad-hoc networks, 2005
❍
Determine the packet forwarding probability to each neighbor
based on its location, residual energy, and link reliability