Title: Computing Aggregates for Monitoring Wireless Sensor Networks
1Computing Aggregates for Monitoring Wireless
Sensor Networks
- Jerry Zhao, Ramesh Govindan and Deborah Estrin
- 2003. 10. 16
- Presented by Yu Seung Jeong
- (Dept. of Computer Science, KAIST)
2Outline
- Introduction
- Architecture for Monitoring Wireless Sensor
Networks - Definitions, Assumptions, and Models
- Computing Digests and Digest Diffusion
- Impact of Packet Loss and Solution
- Experimental Evaluation and Simulation Results
- Conclusions and Future Work
3Introduction
- Motivation and Goals
- Every network requires monitoring
- Monitoring in traditional networks - SNMP
- Sensor network is no exception but need for a new
architecture - Contribution
- Architecture for sensor network infrastructures
- Three classes of software - Digests, Scans, and
Dumps - Design of protocols to continuously compute
network digests - Approach
- Digest protocols must be aggressively
energy-efficient - Piggybacking digest computation messages
- Digest computations must be autonomously derived
- Digest diffusion
4Architecture
- Three software components of the architecture.
- Dumps
- Collects detailed node states or logs per node
for diagnosis - Implemented as an applications upon directed
diffusion - Amount of data per node is costly to collect
- Scans (indicate WHERE should dumps be collected
from) - Global view to the location of problems
- Abstracted views of resource consumption without
referring to individual node - Derived using in-network aggregation
- Significant energy cost of computing scans over
entire network - Should be invoked only when necessary
- Network Digests (indicate WHEN should scans be
invoked) - A digest is an aggregate of some network
property. - E.g. size of the network, average energy left at
a node etc. - Continuously collects aggregates of network
properties in the background
5Definitions, Assumptions, and Models
- Digest function is denoted by f(v1,v2,,vn)
- vi is the value contributed by sensor node i
- f is decomposable by a function g
- f(v1,v2,,vn) g(f(v1,,vk), f(vk1,,vn))
- f is monotonic if and only if, when two partial
results r1 and r2 are combined by a function r
g(r1,r2), the result r satisfies i1,2 r ri
for an ordering relationship - f is exemplary if the result can be determined
from one single value - Decomposable digest function
- final result can be calculated from partial
results - VMAX maximum of v1,v2,, vn -gt monotonic and
exemplary - VAVG average of v1,v2,,vn -gt not monotonic
(if negative) and not exemplary - VSUM sum of v1,v2,,vn -gt not monotonic (if
negative) and not exemplary - VCNT number of the nodes in the network -gt
monotonic but not exemplary
6Computing Digests 1/2
- Naive centralized approach does not scale well
and has a single point of failure - Some Requirements of Digest Computation
- Should be energy efficient
- Digests should be available all the time and
everywhere in the network - Typical Digest functions are node with max
energy, count of no. of nodes, sum of node
energies, avg. residual energy - These functions are decomposable
- Hence partial result can be added to get overall
result
7Computing Digests 2/2
- One can use hierarchical approach for computing
the digests E.g. clusters like LEACH - However this involves overhead in computing
leaders and maintaining the hierarchy - Authors propose Digest Diffusion
8Digest Diffusion 1/2
- Nodes periodically send tuple (Mi, Si, Hi)
- Initially node sets Mi to its perceived maximum
value E.g. its own residual energy - Si is source of maximum and initialized to i
- Hi is hop distance of the source of maximum
- Upon receiving a tuple from neighbor a node
performs following processing - If Mj gt Mi then set Mi Mj, Si Sj, Hi Hj1
- Also set parent Pi j
- Algorithm converges in steps proportional to
network diameter - Approach is scalable
- Periodic messages can be piggybacked
9Digest Diffusion 2/2
- Digest diffusion implicitly constructs a tree
without any overlaps - Digest tree is rooted at the node with the
maximum value - Every node i aggregates values from its children
and passes the partial result to its parent along
the tree - The root will have the final aggregate value
- Metric for establishing the tree should be
carefully chosen such that the tree is relatively
stable. E.g. link degree of a node is a bad
choice since it fluctuates a lot with node
failures
10Computing Other Digests
- Digest diffusion cannot be used for non-exemplary
digests such as VAVG due to possible overlap from
partial results - Other digest functions can be computed easily on
digest tree - Node i periodically calculates a partial result
from most recent report from its children c1,c2, - VCNT
- VAVG
11Digest Tree Maintenance
- Topology changes such as node failure and
addition is combined within the process of
updating VMAX - Each node periodically broadcasts a message M
(m,s,h) for updating VMAX every To seconds - It takes Tp seconds to detect parent node failure
or disconnection - Each node keeps timer Tc for partial result sent
by its child - Sequence number or TTL value from root is placed
into each message to avoid root crashes - TpTo is ideal but choose Tp4To for soft-state
tree stability
Digest Message for MAX, CNT, SUM, and AVG
12Impact of Packet Loss 1/2
- Packet losses are frequent in wireless
environments - Packet losses make aggregation tree unstable and
hence affect the quality of aggregate digest - More than 10 of links suffers loss rate greater
than 50
Percentage of Links
Probability of Successful Reception (1-p)
Distribution of link quality
13Impact of Packet Loss 2/2
- Symmetric links are good links with avg. packet
loss p30 - Asymmetric links are bad links with avg. packet
loss p80 - A link pair is relatively asymmetric if their
loss difference is greater than 35
Percentage of Symmetric and Asymmetric Links
14Link Quality Profiling and Rejection
- Packet loss and link asymmetry can be prevalent
in wireless networks - Result in oscillating digest tree and cause
significant error - Solution is link quality profiling and rejection
- blacklist links with poor quality or asymmetry
- A node chooses as parent a node with which it has
good and symmetric communication - Use packet sequence number to estimate how many
of the packets sent by the neighbor are getting
lost - Exchange I can hear you lists to identify
asymmetric links
15Experimental Evaluation 1/3
- Used REAL Berkley Motes
- Used root mean square (RMS) error to quantify
performance - Vt is observed digest value at time t
- V is actual digest value
- Metrics
- communication cost
- robustness to packet loss
- latency
16Experimental Evaluation 2/3
- Compared proposed solution against 3 schemes
- Scheme 1 Digest computation algorithm without
link rejection - Scheme 2 Scheme 1 rejection of poor incoming
links - Scheme 3 Scheme 1 rejection of asymmetric
(poor outgoing) links - Proposed Scheme scheme 1 with both incoming and
asymmetric link rejections turned on - Communication cost is much less than the
centralized solution because of in-network
aggregation
17Experimental Evaluation 3/3
Relative RMS Error
Relative RMS Error
Network Diameter
Network Diameter
Relative RMS error for CNT
Relative RMS error for SUM
Convergence Time (second)
Relative RMS Error
Network Diameter
Network Diameter
Latency for MAX and CNT
Relative RMS error for AVG
18Simulation Results 1/2
- Used TinyOS simulator
- Packet loss model
- Packet loss over distance d is defined
- p(d) 0.2d/r d r
- 1.6d/ - 1.4 r lt d 1.5r
- 1.0 d gt 1.5r
- (where r is the nominal transmission range)
- Packet loss slightly drops to 20 at r
- Packet loss sharply drops to 100 at 1.5r
- Asymmetric links can be generated by setting r
- Each simulation runs approximately 40 minutes
19Simulation Results 2/2
- Scalability
- Sensitivity to data distribution
- Uniform distribution 0, 100
- Skewed distribution 10 of 90, 100 and 90 of
0 or 1
20Conclusions and future work
- Proposed an architecture for monitoring sensor
network - Suggested design for computing network digests
- Carefully handling lossy and asymmetric links
reduces error in digest computation - Future work includes experiments on larger
testbed and designing a full-fledged monitoring
suite