6.964 pervasive computing grid: scalable ad hoc networking 1 november 2001 douglas s. j. de couto...
TRANSCRIPT
6.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
Who are we?
• Grid project in PDOS• Professor: Robert Morris• Students:
– Douglas De Couto– Dan Aguayo– Jinyang Li– Ben Chambers– Hu Imm Lee
Outline
• Motivation
• “Classic” ad hoc protocol
• Geographic forwarding
• Grid location service (GLS)
• Location proxies
• The Grid network
So you want to build a pervasive network?
• Assumptions– Wireless, packet-based, mobile– Bigger than just your living room (multihop)
• Today’s approach: IEEE 802.11 base stations– Site survey, measure radio performance– Channel Allocation– Inter-base-station network (wiring?)– …
B1
Base-station example
B2
4
Wired network
2
13
Ad 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!
Ad hoc example
r
4
2
13
Ad 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
Other ad hoc benefits
• Better spectrum reuse (spatial)
• Better scalability
• Possibly better power
Ad 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
“Classic” protocol
• Dynamic Source Routing (DSR) – Flooding route discovery finds source routes as
needed– Aggressive caching helps performance
Why 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
DSR overhead
Number of nodes
Avg
. pa
cket
s t r
ansm
i tted
per
no
d e p
er s
e con
d
Geographic forwarding (GF)
• 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
A
B
CD F
C’s radio range
E
G
A B
C DE
F
A’s nbrs:B, 1 hop (nh: B)C, 2 hops (nh: B)C, 2 hops (nh: B)
B’s nbrs:A, 1 hop (nh: A)C, 1 hop (nh: C)D, 2 hops (nh: C)
• Local protocol is 2-hop distance vector• A sends packets to F• dcf > dbf but…• ddf < dbf and• C is B’s next hop to D
D, 2 hops (nh: C)
GF With a Local Protocol
Geo. 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
A
EH
G
B
D
FC
J
I K
L
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 D’s close servers.
“D?”
Grid Location Service (GLS) overview
Grid Node Identifiers
• Each Grid node has a unique identifier.– Identifiers are numbers.– Perhaps a hash of the node’s IP address.
• Identifier X is the “successor” of Y if X is the smallest identifier greater than Y.
level-0
level-1
level-2
level-3
All nodes agree on the global origin of the grid hierarchy
GLS’s Spatial Hierarchy
3 servers per node per leveln
s
s
s
s
s
s
s
s s
• s is n’s successor in that square. (Successor is the node with “least ID greater than” n )
sibling level-0squares
sibling level-1squares
sibling level-2squares
Queries search for destination’s successors
Each query step: visit n’s successor at increasing level.
n
s
s
s
s
s
s
s
s s3
xs2
s1
location query path
• Geographic forwarding is less fragile than source routing.• DSR queries use too much b/w with > 300 nodes.
Fra
cti o
n of
da t
a pa
c ket
s de
l iver
ed s
ucce
ssfu
l ly
Number of nodes
DSR
Grid
GF + GLS performs well
Biggest network simulated:600 nodes, 2900x2900m(4-level grid hierarchy)
GLS 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
Geo. forwarding challenges
• How do we find destination locations?
• How do nodes find their own locations?– Location sensors not always practical
Location 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
Proxies Increase Delivery Rate
The Grid network
• Red: 5th floor• Blue: 6th floor• > 20 “relay” nodes• About 2 to 4 hops across each floor
Current 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?
Grid services “in progress”
• Location service– Where is node X?
• Geocast– Send message m to every node in region R
• Position estimation protocol– I don’t have a position sensor– Where am I?
Grid Applications
• What is a “Grid application”– Uses unique Grid services
• Under development: Grid chat– Regular text + voice chat– Who’s nearby? (ask Grid)– Who’s at the student center? (ask Grid)
Grid 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
Grid 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-feed
ipkg install grid