320 likes | 340 Views
Explore the concept of ad hoc networking in the context of pervasive computing. Learn about ad hoc scenarios, benefits, challenges, and protocols like Geographic Forwarding and Grid Location Service. Discover how to build scalable and efficient networks.
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