Title: Grid: Scalable AdHoc Geographic Routing
1Grid Scalable Ad-Hoc Geographic Routing
- Li, De Couto, Morris, Kaashoek,
- Karger, and Jannotti
- http//www.pdos.lcs.mit.edu/grid
2Motivation
- How will my smart camera communicate?
- How to organize a campus full of smart devices?
- How to design/choose
- Communication hardware.
- Automatic configuration plan.
- Scalable routing protocols.
- Deployment strategy.
3Possible Technologies
- Campus wired ethernet w/ DHCP.
- Hard to deploy everywhere.
- Cellular modems / CDPD.
- Pervasive but slow, complex per-node setup.
- 802.11 base stations w/ DHCP.
- Hard to deploy everywhere.
- Metricom / Ricochet.
- Like cellular but faster and less pervasive.
- Ad-hoc routing.
4Ad-Hoc Nets The Dream
Frans
Doug
Nodes forward each others packets. No
infrastructure easy to deploy fault
tolerant. Short hops are good for power and
spectrum. Can it be made to work?
5Ad-Hoc Nets The Reality
Avg. packets transmitted per node per second
Number of nodes
- Flooding-based on-demand routing works best in
small nets. - Can we route without global topology knowledge?
6Geographic Forwarding Scales Well
- Assume each node knows its geographic location.
Cs radio range
A
D
F
C
G
B
E
- A addresses a packet to Gs latitude, longitude
- C only needs to know its immediate neighbors to
forward packets towards G. - Geographic forwarding needs a location service!
7Possible Designs for a Location Service
- Flood to get a nodes location (e.g. LAR, DREAM)
- excessive flooding messages
- Central static location server.
- not fault tolerant
- too much load on central server and nearby nodes
- the server might be far away for nearby nodes or
inaccessible due to network partition. - Every node acts as server for a few others.
- good for spreading load and tolerating failures.
8Desirable Properties of a Distributed Location
Service
- Spread load evenly over all nodes.
- Degrade gracefully as nodes fail.
- Queries for nearby nodes stay local.
- Per-node storage and communication costs grow
slowly as the network size grows.
9GLSs Spatial Hierarchy
All nodes agree on the global origin of the grid
hierarchy
103 Servers Per Node Per Level
- s is ns successor in that square.
- (Successor is the node with least ID greater
than n )
11Queries Search for Destinations Successors
Each query step visit ns successor at
increasing level.
12GLS Update (level 0)
Invariant (for all levels) For node n in a
square, ns successor in each sibling square
knows about n.
11
1
2
3
9
23
29
16
7
6
Base case Each node in a level-0 square knows
about all other nodes in the same square.
17
5
26
25
4
8
21
19
13GLS Update (level 1)
Invariant (for all levels) For node n in a
square, ns successor in each sibling square
knows about n.
9
11
1
2
3
2
11
9
6
23
29
2
16
2
23
7
6
17
5
26
25
4
8
21
19
14GLS Update (level 1)
...
Invariant (for all levels) For node n in a
square, ns successor in each sibling square
knows about n.
9
...
11
1
2
...
3
11, 2
9
6
...
23
29
2
16
...
23, 2
7
6
...
...
...
17
5
...
26
25
...
...
...
8
4
21
...
19
15GLS Update (level 2)
...
Invariant (for all levels) For node n in a
square, ns successor in each sibling square
knows about n.
9
...
1
11
1
1
2
...
3
11, 2
9
6
...
23
29
2
16
...
23, 2
7
6
...
...
...
17
5
...
26
25
...
...
...
8
4
21
...
19
16GLS Query
...
9
...
1
11
1
1
2
...
3
11, 2
9
6
...
23
29
2
16
...
23, 2
7
6
...
...
...
17
5
...
26
25
location table content
...
...
...
8
4
21
query from 23 for 1
...
19
17Performance Analysis
- How scalable is GLS to big mobile ad-hoc networks?
- Simulations using ns
- Mobility Model
- random way-point with speed 0-10 m/s (22 mph)
- Area of square universe grows with the number of
nodes in the network. - Achieve spatial reuse of the spectrum
- GLS level-0 square is 250m x 250m
18GLS Finds Nodes in Big Mobile Networks
Biggest network simulated 600 nodes,
2900x2900m (4-level grid hierarchy)
- Failed queries are not retransmitted in this
simulation - Queries fail because of out-of-date information
for destination nodes or intermediate servers.
19GLS Protocol Overhead Grows Slowly
Avg. packets transmitted per node per second
Number of nodes
- Protocol packets include GLS update, GLS
query/reply
20Fraction of Data Packets Delivered
- Geographic forwarding is less fragile than
source routing. - DSR queries use too much b/w with gt 300 nodes.
21Grid Status
- Deployed 16 nodes with preliminary software.
- Mostly stationary nodes
- Linux, Click, 802.11 radios.
- Aiming for campus-wide deployment.
- Currently adding wireless handhelds (iPaq)
- Will add location sensors
22Real-world Challenges
- Smart protocols to save battery lifetime.
- Geography holes, congestion, position
estimation. - Node density adaptivity variable transmit power.
- Model for system capacity.
- Appropriate applications.
- Privacy, security, anonymity.
- Internet access.
- Relays and wires for complete campus coverage.
23Practical Problems
- Location sensors add cost, size, and power
requirements - Connectivity holes
- The world is not randomly uniform!
- Radio ranges vary
- Power not all devices can expend energy
forwarding for others - Capacity does network capacity grow with the
number of nodes?
24Only Some Nodes Know Position
- E.g. GPS doesnt work well inside
- Previous work assumed every node knew position
- To choose next forwarding hop
- To address packet to destination
- To run GLS
25Solution Location Proxies
- Nodes that know their location can act as
location proxies. - Location proxies can communicate with each other
using geographic forwarding and local routing
protocol (DV distance vector). - Nodes without location select proxies, and
communicate through them using only local DV. - Proxies are not special besides knowing locations.
26Location Proxies (2)
P location proxies N nodes without location
N3
P
P2
P1
P
N
N2
P
N
N
N1
N
local DV protocol
Geographic forwarding local DV protocol
27Choosing Location Proxies
- Location ignorant nodes always remember and
advertise any routes to location equipped nodes - Routes to nodes with location will propagate to
all location ignorant nodes - Location ignorant nodes choose closest (in hops)
location equipped node as proxy - Advertise proxys location to location service as
own - Forward all data via proxy
28Proxy Example (finding proxies)
P position equipped N position ignorant
Advertisements
P
N4
N3
N2
N1
Routes
P, 4
P, 3
P, 2
P, 1
29Receiving Packets Using Proxies
- Proxy P will receive packets for N via geographic
forwarding. - P uses local routing to send packets to N.
- P will learn the route to N.
30How Proxies Learn Routes
- Location ignorant node N sets propagate_hops
field in its own route advertisements to hop
count of proxy P. - When receiving a route entry with propagate_hops
field set, decrement field and advertise the
entry.
31How Proxies Learn Routes
N1s route should be propagated for 4 hops to
reach proxy P.
32Proxy Example (complete)
P position equipped N position ignorant
Advertisements
P
N4
N3
N2
N1
Routes
N1, 4
P, 4
P, 3
P, 2
P, 1
N1, 1
N1, 2
N1, 3
33Proxy Results scenario
- 10 know location
- Nodes with location placed along top edge
0
10
Knows loc
Ignorant
100
34Location Proxies are Effective
35What is a hole?
- There could be no geographically closer next hop
Cs radio range
B
A
F
G
C
?
D
E
Next hop D is backwards!
36Intermediate Node Forwarding
- Idea If geographic route fails, try another
route! - Select an intermediate location L.
- Forward packets to destination via L
- Use geographic forwarding from source to L, and
from L to destination - L can be backwards, or to the side, avoiding
holes.
37Implementing INF
- Select L randomly from circle c about midpoint m
- If routes continue to fail, increase radius of
circle c, e.g. double the radius, and choose new
L.
38Intermediate Node ForwardingExample
INF through L1 will fail (A-B-C-?)
B
A
G
L1
C
F
L2
INF through L2 will succeed (A-B-C-D-E-F-G)
D
E
39Summary
- GLS geographic forwarding is scalable
- Practical challenges
- No location info
- Geographic connectivity holes
- Power
- Capacity
- Basic system is functioning, we are addressing
the challenges.