Grid: Scalable Ad-Hoc Wireless Networking Douglas De Couto
Goal: Networks out of Chaos AFDBECGJIH
Ad hoc Applications Temporary, fast setup Emergencies & events Rooftop networks No wires, trenches, etc. Developing communities Cheap, incremental, automatic
Direct Contact Scales Badly AFDBECGJIH “Hello J!”
Solution: Multi-hop Forwarding AFDBECGJIH “A to J: Hello!”
Design Challenges Finding routes Cope with mobile nodes Conserving battery power Coping with malicious/faulty nodes Scaling to large networks
Completed Research Scalable routing: Geographic forwarding Distributed P2P location database Low-power forwarding Understanding capacity limits Avoiding malicious nodes Current research: link selection
System Status Software distributions for Linux, BSD PC, iPaq Works with unmodified Internet software Two Grid nets deployed In-building network Rooftop network
LCS Grid Net static nodes on 5 th /6 th floors A dozen iPaq hand-helds wired gateway
Roof-Top Grid Net LCS
Geographic forwarding (GF) Packets addressed to id G,location G Next hop is chosen from neighbors to move packet geographically closer to destination location Per-node routing overhead constant as network size (nodes, area) grows Requires location service, which adds overhead A B C D F C’s radio range E G
A E H G B D F C 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
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 level n s s s ss s s s s s is n’s successor in that square. (Successor is the node with “least ID greater than” n ) sibling level-0 squares sibling level-1 squares sibling level-2 squares
Queries search for destination’s successors Each query step: visit n’s successor at increasing levels, until location server found n s s s s s s s s s3 x s2 s1 location query path
Geographic forwarding is less fragile than source routing. DSR queries use too much b/w with > 300 nodes. Fraction of data packets delivered successfully 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
Does Grid Find Useful Paths? AFDBECGJIH
Mistake: Shortest-Path Routes AFDBECGJIH A’s max range
Link Quality Isn’t Bi-modal
Route metrics How to select good routes? Compare metrics Good metric: expected total packet transmissions Want to mimimize Route metric = sum of link metrics Fight strong bias towards shortest paths While penalizing longer paths
Obstacles to Better Routing Want to detect and avoid lossy links, but… Loss rate masked by re-sends Changes quickly with time, motion
How to find loss rate? Signal strength?
Current Work Trying to directly measure loss rates Route broadcast packets Long time constants protocol beacons? Requires driver integration
Grid Summary Grid routing protocols are Self-configuring Easy to deploy Scalable
End Of Talk Demo
Application: Smart Devices Internet Access Point Print Share Remote Control
Application: Rooftop Nets Game server School/Homework Server Internet Access
Application: Disaster Services Disaster may have damaged phone system &c Want to avoid N 2 plans for N services to communicate
Topology Distribution Scales Badly 1. “C can reach A and B.” ABCDF 3. Data from F to B. 2. “D can reach A, B, and C.” G
Geographic Forwarding Scales Well Longitude Latitude AFDBECG “Send towards lat G / lon G.”
Location Database Longitude Latitude AFDBECG DB 1. “G is at lat G / lon G” 2. “Where is G?”
Distributed Location Database Each node is DB for a few other nodes How to find a node’s location server(s)? Every node has an unchanging ID hash(ID) maps ID to position in unit square
G’s Location Server is a Point G hash(G) = 0.1,0.9 x (0,0) H I
Spatial Grid Hierarchy All nodes agree on the global origin of the Grid hierarchy
Multiple Servers per Node G c ba
Lookups Expand in Scope G c ba A ?
Grid Protocol Overhead Grows Slowly Protocol packets include: Grid update, Grid query/reply. Number of nodes Protocol Overhead (packets per second)