310 likes | 461 Views
Constraint-Chaining: On Energy -Efficient Continuous Monitoring in Sensor Networks. Adam Silberstein Rebecca Braynard Jun Yang Duke University. Base Station. Sensor Networks. Network of nodes Equipped with sensing devices (e.g. temp.) Battery-powered
E N D
Constraint-Chaining: On Energy -Efficient Continuous Monitoring in Sensor Networks Adam Silberstein Rebecca Braynard Jun Yang Duke University
Base Station Sensor Networks • Network of nodes • Equipped with sensing devices (e.g. temp.) • Battery-powered • Communicate via radio, among each other, to base station/root • Radio is primary energy consumer • Goal: limit number/size of messages with in-network processing
v0 v1 v2 t0 t1 t2 t3 Continuous “Select *” • Query: Collect each measured value, vi, from each node, ui, at each timestep • Continuous Reporting: each node transmits its value at each timestep • Maximal data transmission • Sensor data is often slow moving and/or spatially correlated • How can we exploit this?
Outline • Existing suppression techniques • Temporal • Spatial • Conch (Spatio-temporal suppression) • Conch construction • Failure handling • Experimental evaluation • Conclusion
10 20 30 40 50 20 20 20 20 20 20 20 10 10 10 10 10 10 10 10 10 10 10 10 10 30 30 30 30 30 30 30 30 30 30 30 30 30 Temporal Suppression • Constraint: at ui, if vi != vil.r., transmit vi • Effective when values change slowly, or only a few change • What about large-scale change? Root • Change is simple, but whole-sale. All nodes transmit!
10 20 30 40 50 20 20 20 20 20 20 20 10 10 10 10 10 10 10 10 10 10 10 10 10 30 30 30 30 30 30 30 30 30 30 30 30 30 Spatial Suppression • At ui, if vi= vneighbor, do not transmit • Effective when all values are similar Root • “Coverage” nodes transmit • Many nodes along front must transmit
Spatial Suppression • Other Spatial Issues • Misses relationships between nodes that are consistent over time • No temporal consideration • Spatial relationships must be explicitly defined • Overhearing Plan (Event Contour, Meng 04) • Nodes listen for neighbors transmitting before them • If average of overheard values equals node’s, suppress • Without a global reporting order, root has no way to know which neighbors were overheard to trigger suppression
Spatio-temporal • Want to combine advantages of temporal and spatial suppression • Avoid transmitting when values not changing • Avoid transmitting when nearby nodes are similar • AND: Require both types be satisfied • More restrictive, less suppression • OR: Require one type be satisfied • Ambiguous, no way for root to know which type triggered suppression
Suppression-Another Look • Set constraints within the network for which data is or is not transmitted to the root • The absence of a constraint report means the constraint’s state is unchanged • The current state of all constraints must be sufficient to produce a query result (in this case, produce all node values)
monitor: vi-vj ui uj Spatio-temporal • Solution: Temporally monitor spatial constraints • Constraint: Difference in value (or model parameters) between neighboring nodes • Monitor which constraints? • Leverage broadcast • Each node broadcasts value when it changes • All overhearing nodes calculate differences, report if changed • Monitoring all 1-hop edges: Neighborhood • Chain current constraint values together to determine node values • Must know one node value as starting point (ex. root)
10 20 30 40 50 +20 0 +10 0 20 20 20 20 20 20 20 10 10 10 10 10 10 10 10 10 10 10 10 10 30 30 30 30 30 30 30 30 30 30 30 30 30 Neighborhood • Monitor all edges (between nodes that can communicate) Root * • Only nodes on borders must transmit • Still, the number of reports seems too large…redundant • Use chaining to derive node values
Remaining Questions • Can we do better than neighborhood by generating fewer reports? • How can we monitor fewer edges and still use chaining to derive all node values? • How can we prevent outlier nodes from generating lots of edge messages?
Conch • Choose edges explicitly, rather than rely on broadcast • Build a spanning forest over nodes • A set of trees, such that each node is in exactly one tree • Each tree must have a temporally monitored root from which chaining is done • For each edge, one node designated updater, one designated reporter • Updater notifies reporter if value has changed • Reporter notifies root if difference has changed • Spanning forest is not for routing!
10 20 30 40 50 +20 0 0 0 0 0 20 20 20 20 20 20 20 +10 10 10 10 10 10 10 10 10 10 10 10 10 10 30 30 30 30 30 30 30 30 30 30 30 30 30 Conch Root * • Only 1 node on each border transmits • Chain is longer, but derivation is at root, so is free
Conch Construction • Intuitions • Conch forest is not used for routing • Routing layer handles sending edge reports to base station (e.g. along a shortest path tree) • Use edges connecting nodes with correlated behavior • These trigger the fewest reports • Don’t insist on connecting nodes with uncorrelated or erratic behavior • Spanning forest, not spanning tree
Conch Construction • Initially use any spanning forest to collect “training data” • Any Conch plan returns all node values, from which we can calculate all edge statistics • Score correlation for all possible edges • Number of rounds in which nodes have uncorrelated activity • Use linear programming to choose updaters, reporters • Prefer reporters be closer to root • Prefer single reporter for multiple correlated edges
Root ! Conch Construction • Use Prim’s or Kruskal’s • Repeatedly choose edge with lowest score that connects (at least) one new node to the tree ! : monitored node : monitored edge
50 50 50 +20 Failure • Major issue for all suppression strategies • Ambiguity: Does the absence of a particular report indicate its constraint is not violated, or that it is violated, but the report was lost • In Conch, the more effective suppression, the more detrimental each failure +0 +0 +0 Root 30 30 30 30 30 30 30
r 0 +1 a b +1 to +2 +2 c Redundancy • Add redundant constraints • Spanning forest provides minimal number of constraints needed to derive node values • Neighborhood provides maximal possible redundancy • Redundancy provides multiple paths for chaining between tree roots and nodes • But if failure occurs, chains are inconsistent • Two calculations lead to different values for c c=r+0+2 c=r+1+2
Redundancy • Goal: choose a set of constraints to trust such that they produce a consistent setting of node values • Factors to consider • Failure rate • Change frequency • Time since last report • We show given failure rates (assuming independence) how to use linear programming to find “best” solution
Experiments: Overview • 4 Algorithms • Temporal Suppression • Spatial Suppression • Nodes report in fixed order • Suppression based on average of reporting node neighbors earlier in order • Neighborhood • Conch • Simulation of Mica2 motes • Radio costs: energy cost for bytes sent+received • Updater to reporter messages • Reporter to base station messages
Experiment: Density • Adjust Density • Nodes rise uniformly
Experiment: Outliers • Some percentage of nodes are outliers, all others correlated • Conch degrades to temporal suppression when no correlation exists Non-outliers consistently rise Non-outliers never change
Experiment: Wavefront • Vertical front moves from left to right, raising the values of nodes over which it passes • Values correlated on x-coordinate • Only Conch edges newly or no longer intersecting a value border report • When edges are vertical, wavespeed does not impact number of reporting edges t0 t1 Case 1 Case 2
Experiment: Wavefront • Conch construction matters • Conch explicitly chooses (near) vertical edges Shortest-Path Routing Tree (Conch-Comm) Conch
Conclusions • Conch provides a framework for monitoring using spatio-temporal suppression • Conch forest is built to exploit the spatial correlations in network • We have used value-based as example, but it can be extended to model parameters, etc. • Failure causes ambiguity in suppression • We are developing stronger techniques for planning for failure, and for interpreting results affected by failure
Monitoring Parameters • Temperature measured as x=f(t,p) • t is time of day • p is a current baseline dictating temperature • Monitor p and error, e=x-f(t,p) • p and e should change less often than x • p values are spatially correlated • e values are spatially correlated due to events affecting nearby nodes • Shade canopies in a forest
Experiment: Reliability • Node values all take random walk • Random message loss at varying rates • Conch trees with varying numbers of redundant edges
Conch Plan • Conch plan involves nodes reporting and edges reporting • Formally: • For each tree root, ur, if vr changes, ur transmits vr to base station • For each edge eij in spanning forest, node ui is updater and node uj is reporter • If vi changes, uj transmits vi to uj • Reporter evaluates (vi - vj) • If (vi - vj) != (vi - vj)old, ujtransmits (vi - vj) to base station