Title: 6.964 Pervasive Computing Grid: Scalable Ad Hoc Networking
16.964 Pervasive Computing Grid Scalable Ad Hoc
Networking
- 1 November 2001
- Douglas S. J. De Couto
- Parallel and Distributed Operating Systems Group
- MIT Laboratory For Computer Science
- http//www.pdos.lcs.mit.edu/grid
2Who are we?
- Grid project in PDOS
- Professor Robert Morris
- Students
- Douglas De Couto
- Dan Aguayo
- Jinyang Li
- Ben Chambers
- Hu Imm Lee
3Outline
- Motivation
- Classic ad hoc protocol
- Geographic forwarding
- Grid location service (GLS)
- Location proxies
- The Grid network
4So you want to build a pervasive network?
- Assumptions
- Wireless, packet-based, mobile
- Bigger than just your living room (multihop)
- Todays approach IEEE 802.11 base stations
- Site survey, measure radio performance
- Channel Allocation
- Inter-base-station network (wiring?)
5Base-station example
Wired network
B1
B2
3
1
2
4
6Ad hoc a better way
- Ad hoc means no infrastructure, no planning
- Normally implies wireless, mobile, multihop
- Place devices (nodes) anywhere
- Constraint devices should form connected network
- If not, add relay nodes
- Costs less!
7Ad hoc example
3
r
1
2
4
8Ad hoc scenarios
- Temporary, fast setup
- Emergencies
- Social events
- Rooftop networks
- Connect neighborhoods
- No wires, trenches, etc.
- Developing communities
- Ad hoc is cheaper, more incremental
- Automatic protocols ? no technicians needed
9Other ad hoc benefits
- Better spectrum reuse (spatial)
- Better scalability
- Possibly better power
10Ad hoc challenges
- How do we find multihop routes?
- Is there enough network capacity?
- Does it use too much device power?
- Span Chen et al., Mobicom 2001
11Classic protocol
- Dynamic Source Routing (DSR)
- Flooding route discovery finds source routes as
needed - Aggressive caching helps performance
12Why not use DSR?
- Protocol works well with about a hundred nodes
- Simulation results vary with movement, data
traffic - Protocols scales poorly
- Propagates topology information throughout
network - Overhead grows too fast with network size,
especially with mobility
13DSR overhead
Avg. packets transmitted per node per second
Number of nodes
14Geographic forwarding (GF)
Cs radio range
A
D
F
C
G
B
E
- Packets addressed to ?id,location?
- Next hop is chosen from neighbors to move packet
geographically closer to destination location - Routing overhead constant as network size (nodes,
area) grows
15GF With a Local Protocol
E
D
C
F
Local protocol is 2-hop distance vector A
sends packets to F dcf dbf but ddf and C is Bs next hop to D
Bs nbrs A, 1 hop (nh A) C, 1 hop (nh C) D, 2
hops (nh C)
B
A
As nbrs B, 1 hop (nh B) C, 2 hops (nh B)
D, 2 hops (nh C)
C, 2 hops (nh B)
16Geo. forwarding challenges
- How do we find destination locations?
- How do nodes find their own locations?
- Location sensors not always practical
- Topology problems (holes)
- General ad hoc problems
- Power, capacity
17Grid Location Service (GLS) overview
E
H
L
B
D
J
G
A
D?
I
F
K
C
Each node has a few servers that know its
location. 1. Node D sends location updates to its
servers (B, H, K). 2. Node J sends a query for D
to one of Ds close servers.
18Grid Node Identifiers
- Each Grid node has a unique identifier.
- Identifiers are numbers.
- Perhaps a hash of the nodes IP address.
- Identifier X is the successor of Y if X is the
smallest identifier greater than Y.
19GLSs Spatial Hierarchy
All nodes agree on the global origin of the grid
hierarchy
203 servers per node per level
- s is ns successor in that square.
- (Successor is the node with least ID greater
than n )
21Queries search for destinations successors
s
n
s
s
s
s
Each query step visit ns successor at
increasing level.
s
s
s1
x
s2
s
s3
22GF GLS performs well
Biggest network simulated 600 nodes,
2900x2900m (4-level grid hierarchy)
Fraction of data packets delivered successfully
- Geographic forwarding is less fragile than
source routing. - DSR queries use too much b/w with 300 nodes.
23GLS properties
- Spreads load evenly over all nodes
- Degrades gracefully as nodes fail
- Queries for nearby nodes stay local
- Per-node storage and communication costs grow
slowly as the network size grows O(log n), n
nodes - More details Li et al, Mobicom 2000
24Geo. forwarding challenges
- How do we find destination locations?
- How do nodes find their own locations?
- Location sensors not always practical
25Location Proxies
- Nodes that know their location can act as
location proxies - Location proxies can communicate with each other
using geographic forwarding and the local routing
protocol - Nodes without location select proxies, and
communicate through them using the local protocol - Nodes advertise proxy locations as their own
- Proxies not special besides knowing locations
26Proxies Increase Delivery Rate
27The Grid network
- Red 5th floor
- Blue 6th floor
- 20 relay nodes
- About 2 to 4 hops across each floor
28Current Grid services
- IP routing, including Internet gateway
- E.g. supports traceroute
- Grid specific information
- Who can my radio talk to?
- Who do I have routes to?
29Grid services in progress
- Location service
- Where is node X?
- Geocast
- Send message m to every node in region R
- Position estimation protocol
- I dont have a position sensor
- Where am I?
30Grid Applications
- What is a Grid application
- Uses unique Grid services
- Under development Grid chat
- Regular text voice chat
- Whos nearby? (ask Grid)
- Whos at the student center? (ask Grid)
31Grid details
- Protocol software implemented in the Click
modular router - Runs at userlevel, easy to interface to
applications - Very portable
- Nodes
- Mobile iPaqs 802.11 PCMCIA Linux
- Relay small PCs 802.11 PCI cards OpenBSD
- Global distance vector (DV), or k-hop DV GF
32Grid Summary
- Grid routing protocols are
- Self-configuring
- Easy to deploy
- Scalable
- http//www.pdos.lcs.mit.edu/grid
- ipkg http//www.pdos.lcs.mit.edu/decouto/grid-fe
ed - ipkg install grid