Directed Diffusion:
A Scalable and Robust Communication Paradigm for Sensor Networks
Presented by Barath Raghavan
Motivation
Properties of Sensor Networks
Data
centric, but not node centric Have no notion of central authority Are often resource constrained
Nodes are tied to physical locations, but:
They
may not know the topology They may fail or move arbitrarily
Problem: How can we get data from the sensors?
Directed Diffusion
Data centric nodes are unimportant Request driven:
Sinks
place requests as interests Sources are eventually found and satisfy interests Intermediate nodes route data toward sinks
Localized repair and reinforcement Multi-path delivery for multiple sources, sinks, and queries
Motivating Example
Sensor nodes are monitoring a flat space for animals We are interested in receiving data for all 4-legged creatures seen in a rectangle We want to specify the data rate
Interest and Event Naming
Query/interest:
Type=four-legged animal 2. Interval=20ms (event data rate) 3. Duration=10 seconds (time to cache) 4. Rect=[-100, 100, 200, 400]
1.
Reply:
1. 2. 3. 4. 5. 6.
Type=four-legged animal Instance = elephant Location = [125, 220] Intensity = 0.6 Confidence = 0.85 Timestamp = [Link]
Attribute-Value pairs, no advanced naming scheme
Diffusion (High Level)
Sinks broadcast interest to neighbors Interests are cached by neighbors Gradients are set up pointing back to where interests came from at low data rate Once a source receives an interest, it routes measurements along gradients
Directed Diffusion (Gradients)
Gradients from Source (S) to Sink (N) are initially small Increased during reinforcement
Example
Directed Diffusion (Data)
Sensors match signature waveforms from codebook against observations Sensors match data against interest cache, compute highest event rate request from all gradients, and (re) sample events at this rate Receiving node:
Finds matching entry in interest cache, no match silent drop Checks and updates data cache (loop prevention, aggregation) Retrieve all gradients, and resend message, doing frequency conversion if necessasry
Directed Diffusion (Reinforcement)
Reinforcement:
Data-driven rules unseen msg. from neighbor=>resend original with smaller interval This neighbor, in turn, reinforces upstream nodes Local rule for this paper: empirically minimize delay, other rules possible Passive reinforcement handling (timeout) or active (weights)
Multiple sources+reinforcement
Works in some cases, open for further exploration
Multiple sinks: Exploit prior setup (i.e., use cache) Intermediate nodes use reinforcement for local repair
Cascading reinforcement discoveries from upstream can be a problem; one soln: interpolate requests to preserve status-quo
Design Considerations
Claims
Allows nodes to propagate data in the absence of interests Finds empirically best performing path Better performance than ad-hoc protocols
Evaluation
ns2 simulation Modified 802.11 MAC for energy use calc. Comparison against flooding and omniscient multicast Experiment with node failure Did not overload system Standard random node placement (but only 3 hops across entire topology)
Metrics
Average dissipated energy
Ratio
of total energy expended per node to number of distinct events received at sink Measures average work budget
Average delay
Average
one-way latency between event transmission and reception at sink Measures temporal accuracy of location estimates
Both measured as functions of network size
Topology
50-250 nodes in 50 node increments Avg. Node density constant with network size Square of 160m, radio range of 40m 5 sources, 5 sinks uniformly distributed 1.6Mbps 802.11 MAC
Not
realistic (reliable transmission, RTS/CTS, high power, idle power ~ receive power) Set idle power to 10% of receive power, 5% of transmit power
Sim: Average energy and delay
Sim: Average energy and delay
Average delay is misleading Directed Diffusion is better than Omniscient Multicast!?
Omniscient
multicast sends duplicate messages over the same paths Topology has little path diversity Why not suppress messages with Omniscient Multicast just as in Directed Diffusion?
Didnt show synchronization effects of reinforcement
Sim: Failures
Dynamic failures (no settling time), adverse network conditions (10-20% failure at any time) Each source sends different signals <20% delay increase, fairly robust Energy efficiency improves:
Reinforcement
maintains adequate number of high
quality paths Should it be doing that in the first place?
Analysis
Energy gains are dependent on 802.11 energy assumptions Can the network always deliver at an interests requested rate? The capacity of such networks is small how does it fare during overload? Does reinforcement actually work? Can low timeouts cause loops in large sensor networks?
Conclusions
Directed Diffusion provides a data-centric communication protocol for sensor sources and sinks Its gains due to aggregation and duplicate suppression may make it more viable than adhoc routing in sensor networks Its performance needs more extensive evaluation before strong claims can be made