Naps: Scalable, Robust Topology Management in Wireless Ad Hoc Networks Brighten Godfrey and David Ratajczak IPSN 2004, Berkeley, CA April 27, 2004
What is Naps? • Naps is a simple, randomized algorithm that “thins” an ad hoc net- work to a desired density of nodes per unit area without knowledge of the underlying density or node location. • Potential applications: reducing contention among radios, smooth- ing sensing coverage • Application in this paper: power saving – Nodes deployed at density λ – Density λ t < λ sufficient for multi-hop routing connectivity – Use Naps to thin network to density λ t – Thinned nodes “sleep” (turn off their radios)
Model Geometric random graph: • Nodes distributed uniformly at random in a square region • Average of λ nodes per unit area • Unit radius connectivity Naps performs well empirically even under relaxed assumptions. 1
Intuition • λ = underlying density, λ t = target density • Easy way to thin to desired density: leave each node on with prob- ability λ t /λ (others sleep) – Nodes distributed like Poisson process with intensity λ – Poisson thinning property: waking set is like Poisson with λ t • Problems: – Needs global knowledge of λ – Node density may vary over space and time • Naps uses an adaptive local estimate of underlying density
The Naps algorithm in words Executed at each node: • Iterate over time periods: – Broadcast HELLO message – Listen for HELLO messages from neighbors – If c HELLO messages received, sleep until end of period • Initially and every 10 periods thereafter, period length is uniform- random ∈ [0 , T ) ; otherwise period length is T . Two parameters: • Neighbor threshold c proportional to target density (e.g. c = 6 ) • Time period T controls rate of turnover (e.g. T = 10 minutes)
The Naps algorithm in pictures Here c = 4 . time 0
The Naps algorithm in pictures Here c = 4 . time 0 t
The Naps algorithm in pictures Here c = 4 . Hello! time 0 t
The Naps algorithm in pictures Here c = 4 . Hello! 1 time 0 t
The Naps algorithm in pictures Here c = 4 . Hello! 1 2 time 0 t
The Naps algorithm in pictures Here c = 4 . Hello! 1 2 time 0 t t+T
The Naps algorithm in pictures Here c = 4 . Hello! Hello! 1 2 time 0 t t+T
The Naps algorithm in pictures Here c = 4 . Hello! Hello! 1 2 1 time 0 t t+T
The Naps algorithm in pictures Here c = 4 . Hello! Hello! 1 2 1 2 time 0 t t+T
The Naps algorithm in pictures Here c = 4 . Hello! Hello! 1 2 1 2 3 time 0 t t+T
The Naps algorithm in pictures Here c = 4 . Hello! Hello! 1 2 1 2 3 4 time 0 t t+T
The Naps algorithm in pictures Here c = 4 . Hello! Hello! 1 2 1 2 3 4 Zzzzz.... time 0 t t+T
The Naps algorithm in pictures Here c = 4 . Hello! Hello! 1 2 1 2 3 4 Zzzzz.... time 0 t t+T
The Naps algorithm in pictures Here c = 4 . Hello! Hello! Hello! 1 2 1 2 3 4 Zzzzz.... 1 2 3 4 Zzzzz.... time 0 t t+T t+2T
Why it works • Suppose node v has d neighbors • HELLO messages received by node v are uniformly distributed T • = ⇒ expected time between two messages is d +1 • Node v stays awake for c of these intervals per period T c • = ⇒ awake for fraction d +1 of time • E [ d ] = πλ ⇒ average node stays awake for fraction of time ≈ c • = πλ • i.e. for target density λ t , pick c = πλ t
Using Naps for power saving • Goal: Turn off as many nodes as possible such that multi-hop rout- ing still works, i.e. – (almost all) waking nodes are in a connected component and – (almost every) sleeping node has a waking neighbor • Property of geometric random graphs: there is a critical density λ c above which a large fraction of nodes are in a connected compo- nent w.h.p. • Set λ t above critical threshold = ⇒ almost all waking nodes are connected • Random graphs produced by Naps are not geometric random graphs... • ...but we prove they also have a critical threshold above which con- nectivity is good.
Simulation: connectivity Underlying graph 1.4 c = 6 c = 5 1.2 c = 4 c = 3 1 Average MCA 0.8 0.6 0.4 0.2 0 0 1 2 3 4 5 6 7 8 Density MCA = Maximum Component Accessibility = fraction of nodes in or adjacent to the largest waking component
Simulation: connectivity Underlying graph 1.4 c = 6 c = 5 1.2 c = 4 c = 3 1st percentile MCA 1 0.8 0.6 0.4 0.2 0 0 1 2 3 4 5 6 7 8 Density Area = 625 . 1st percentile is minimum of 100 samples within a time period, then averaged over 20 trials.
Simulation: power savings 8 r = 0 = 0.01 7 Factor increase in network lifetime = 0.1 = 0.5 6 5 4 3 2 1 0 0 2 4 6 8 10 12 14 16 18 20 Density Network lifetime is time that MCA ≥ 0 . 9 . r = ratio of sleeping power to waking power. Area = 900 , c = 6 , waking node lifetime = 100 T . 5 trials.
Summary • Naps selects a rotating set of “waking” nodes of a desired density • Advantages – Low communication (one message sent per node, Θ( λ t ) received) – Simple, robust (performs better in mobile setting) – No location information necessary • Disadvantages – Only probabalistic guarantees – Isn’t optimal in terms of number of nodes turned off (but more efficent schemes are costly) • Future work – Test performance in a real network – Estimate target density adaptively
Simulation: mobility 1 0.8 Average MCA 0.6 0.4 Immobile, uniform (1) Immobile, clustered (2) 0.2 Mobile, no clustering (3) Mobile, s_max = 0.2 (4) Mobile, s_max = 16 (5) 0 0 50 100 150 200 250 300 350 400 Time Area = 256 , λ = 5 , c = 6 , r = 0 . 1 , and waking node survives for time 100 T . Averaged over 5 trials.
Simulation: scaling 1 c = 8 c = 6 c = 5 0.8 c = 4.5 c = 4.3 1st percentile MCA c = 4 c = 3 0.6 0.4 0.2 0 32 128 512 2048 8192 Area 1st percentile is over 100 samples within a time period. λ = 5 .
Simulation: fraction of nodes awake 1 Simulation, c = 4 c = 6 c = 8 0.8 Analysis, c = 4 Fraction of nodes awake c = 6 c = 8 0.6 0.4 0.2 0 0 1 2 3 4 5 6 7 8 Density Area = 625 .
Simulation: MCA vs. time 1 Density = 5 = 10 = 15 0.8 = 20 Average MCA 0.6 0.4 0.2 0 0 100 200 300 400 500 600 700 800 Time Area = 625 , c = 6 , r = 0 . 1 , and a waking node survives for time 100 T .
Recommend
More recommend