1 / 30

Constraint-Chaining: On Energy -Efficient Continuous Monitoring in Sensor Networks

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

zubeda
Download Presentation

Constraint-Chaining: On Energy -Efficient Continuous Monitoring in Sensor Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Constraint-Chaining: On Energy -Efficient Continuous Monitoring in Sensor Networks Adam Silberstein Rebecca Braynard Jun Yang Duke University

  2. 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

  3. 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?

  4. Outline • Existing suppression techniques • Temporal • Spatial • Conch (Spatio-temporal suppression) • Conch construction • Failure handling • Experimental evaluation • Conclusion

  5. 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!

  6. 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

  7. 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

  8. 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

  9. 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)

  10. 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)

  11. 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

  12. 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?

  13. 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!

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. Experiment: Density • Adjust Density • Nodes rise uniformly

  23. 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

  24. 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

  25. Experiment: Wavefront • Conch construction matters • Conch explicitly chooses (near) vertical edges Shortest-Path Routing Tree (Conch-Comm) Conch

  26. 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

  27. Questions?

  28. 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

  29. Experiment: Reliability • Node values all take random walk • Random message loss at varying rates • Conch trees with varying numbers of redundant edges

  30. 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

More Related