S4: Small State and Small Stretch Routing for Large Wireless Sensor Networks Yun Mao2, Feng Wang1, Lili Qiu1, Simon S. Lam1, Jonathan M. Smith2 Univ. of Texas at Austin1, Univ. of Pennsylvania2 1 Background • Smart wireless sensor networks call for internode communication – In network processing – In network storage • Challenges for a point-to-point routing protocol in wireless sensornets – Limited resources: Scalability – RF phenomena: Efficiency, Resilience 2 The core theme: a tradeoff We want small state!! We want small stretch!! routing debate • State: the routing table size describing the network topology • Stretch: path length found by the routing algorithm optimal path length 3 Design space state O(n) Shortest-path routing hierarchical routing O( n ) O(1) ? Virtual-coordinate routing geographic routing avg/worst-case stretch 4 Goals • Small stretch – Efficient usage of the wireless resources. – Constant bound for worst-case stretch and near-optimal for average cases • Small state – Memory size is increasing, but still limited • 0.5KB (WeC) 1KB(Dot) 4KB (Mica, Mica2) 10KB (telos) 64KB (iMote) – O( n) bound – Reasonable control traffic to maintain the state • Practical – Don’t assume perfect radios – No GPS or preconfigured physical locations 5 S4 routing algorithm in a nutshell • Theoretical foundation on compact routing [SPAA’01] – Worst-case routing stretch is 3 – O( n) state per node • Node classification – beacon nodes • n nodes – regular nodes • Know how to route to the beacons • Node clusters – Each regular node d has a cluster, in which each node knows how to route to d. – Radius is the distance to the closest beacon. – Different from hierarchical routing. 6 Example Beacon 1 Source Beacon 3 Radius=2 hops Dest Rules: • Inside cluster: route on the shortest path • Outside cluster: route towards the beacon closest to the dest Beacon 2 7 Protocol Design Challenges • How to maintain routing state inside a cluster? – Flooding is expensive • How to maintain routing state for beacon nodes? – Unreliable broadcast may affect routing stretch • Routes to beacons may not be optimal. • Unnecessarily long radius • How to provide resilience against node/link failure? – Transient failure – During routing state convergence 8 Key components of S4 • Disseminate routing states inside the clusters: Scoped Distance Vector (SDV) – <d, nexthop(d), seq(d), hop(d), radius(d)> – Incremental update • Inter-cluster routing: Resilient Beacon Distance Vector (RBDV) – Passively listen to further broadcasts of neighbors – Re-broadcast if overhearing too few broadcasts within a certain time. • Failure handling – Distance Guided Local Failure Recovery (DLF) 9 Distance-guided local failure recovery 6 4 source Dest 5 #1 asks for help from neighbors. 1 2 3 The nodes closer to dest reply earlier. Priorities are estimated from SDV & RBDV. #3 suppresses unnecessary packets. #1 chooses the best neighbor to forward. 10 Other design issues • • • • Location Directory Beacon node maintenance Link quality estimation, neighbor selection Please refer to the paper for details 11 Evaluation • Methodology – High-level simulation with ideal radio model • No loss, no contention, circle communication range – TOSSIM packet level simulation • Lossless and lossy link with contention – Mica2 test bed evaluation • Real environment, unpredictable obstacles • Use Beacon Vector Routing (BVR) [NSDI 2005] as benchmark – Virtual coordinate approach – A similar goal: practical – Code available 12 Questions to answer • Does S4 achieve small stretch? – routing stretch and transmission stretch – Average case vs worst case • • • • Does S4 achieve small state? How does S4 perform under failure? How well does S4 work in a real testbed? Many others in the paper.. 13 Routing/transmission stretch in TOSSIM # of beacons = n lossless link with contention and collision n S4 has smaller avg. stretch and variation. 14 routing state per node BVR S4 •Routing state of S4 increases at the scale of O( n ); •The amount of state is evenly distributed between beacon and non-beacon nodes. 15 Stretch under irregular topologies BVR S4 The stretch of S4 is not affected by the irregular topology, even for those worst cases. 16 Distance-guided local failure recovery DLF greatly increases the success rate of S4 under node failures. 17 Testbed Deployment • 42 mica2 motes – 915MHz radios – 11 of them (called gateway motes) are connected to MIB600 Ethernet board, powered by the adapters – 31 of them are powered by batteries • Reduce power level to create multi-hop topology – A link between two nodes exists if the packet delivery rates of both directions are above 30% – The network diameter is around 4 to 6 hops. 18 ACES Building 5th Floor NW @ UT Austin 19 Routing success rate 6 random beacon nodes Sources are randomly chosen from all nodes. Destinations are randomly chosen from 11 “gateway” nodes. 20 Routing under node failures 21 Summary • Key properties: – avg stretch ~ 1; worst-case stretch <=3 – State ~O( n ) • Key components – Scoped distance vector (SDV) – Resilient beacon distance vector (RBDV) – Distance guided local failure recovery (DLF) • Extensive simulation and experimental results • Limitations and Future work – ETX aware – Rapid mobility http://www.cs.utexas.edu/~lili/projects/s4.htm 22 Backup slides 23 3-stretch guarantee B S D dist<= |BD|+|SB| (shortcut) <= |BD| + (|BD|+|SD|) (triangle inequality) = |SD| + 2|BD| <=|SD| + 2|SD| (cluster definition) <=3|SD| 24 Control traffic overhead 25 Link quality over time Real world is tough: unstable, asymmetric links do exist 26 stretch comparison High-level simulation: 3200 nodes, high density K n K n For average cases, S4 has routing and transmission stretches close to optimal, consistently smaller than BVR. 27 Transmission Stretch in TOSSIM simulation BVR K n S4 BVR: stretch increases when the simulation is more realistic S4: no change 28 Topology A link between two nodes exists if the packet delivery rates of both directions are above 30% 29