320 likes | 481 Views
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:
E N D
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?) • …
Base-station example Wired network B1 B2 3 1 2 4
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 3 1 r 2 4
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 Avg. packets transmitted per node per second Number of nodes
Geographic forwarding (GF) C’s 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
GF With a Local Protocol E D C F • 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 B’s nbrs: A, 1 hop (nh: A) C, 1 hop (nh: C) D, 2 hops (nh: C) B A A’s nbrs: B, 1 hop (nh: B) C, 2 hops (nh: B) D, 2 hops (nh: C) C, 2 hops (nh: B)
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
Grid 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 D’s close servers.
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.
GLS’s Spatial Hierarchy level-0 level-1 level-2 level-3 All nodes agree on the global origin of the grid hierarchy
sibling level-0 squares s n s s s s sibling level-1 squares s s sibling level-2 squares s s 3 servers per node per level • s is n’s successorin that square. • (Successor is the node with “least ID greater than” n )
location query path Queries search for destination’s successors s n s s s s Each query step: visit n’s successor at increasing level. s s s1 x s2 s s3
GF + GLS performs well Grid DSR Number of nodes 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.
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
Red: 5th floor Blue: 6th floor > 20 “relay” nodes About 2 to 4 hops across each floor The Grid network
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