SIGMOD'061 Energy-Efficient Monitoring of Extreme Values in Sensor Networks Adam Silberstein Kamesh Munagala Jun Yang Duke University
SIGMOD'062 Papers C. Olston, B. Loo, and J. Widom, “Adaptive Precision Setting for Cached Approximate Values,” SIGMOD’01. A. Silberstein, K. Munagala and J. Yang, "Energy- Efficient Monitoring of Extreme Values in Sensor Networks," SIGMOD '06.
SIGMOD'063 Outline Introduction to Max/Min Query Algorithms Query non-specific Temporal Suppression (TS) Range Caching (RS) Query-specific SLAT (single-level adaptive thresholds) SLAT-A (single-level adaptive thresholds with aggregation) HAT (hierarchical adaptive thresholds) Experimental Results
SIGMOD'064 Max Query Max query Returns (node id, value) for node with highest value in network Addressed problem How to energy-efficient continually maintains the max result Uses: environmental, machine room monitoring Observe trends, get early alerts
SIGMOD'065 Temporal Suppression (TS) Simple monitoring algorithm Not specifically tailored to query Node transmits its value if it has changed since its last report Absence of report implies the value has not changed
SIGMOD' Temporal Suppression b a c d e f g hi j k l m n o p q r Low value Dropping value p30 k86 q65 k86, q65 Trigger
SIGMOD'067 Range Caching (RS) Range caching [Olston et al. SIGMOD 01] Range: [20 60] Sensed value: 40 Range: [55 80] Sensed value: 82 Range: [75 90] Sensed value: 89 Root: cache ranges [75 90], [21 68], [55 80], [20 60] No send Send 82 No send Range: [21 68] Sensed value: 70 Send 70
SIGMOD'068 Range Caching (RS) Range: [75 90] Sensed value: 89 Root: cache ranges [75 90], [21 68], [55 80], [20 60] Since 90 > max{70, 82} Query Reply 89
SIGMOD'069 Range Caching (RS) Range setting If a value fall outside its current range, it expands the range by a factor > 1. To avoid value-initiated packets, the interval should be wide enough to make it unlikely that modifications to the exact value will exceed the interval. When a node receives a “Query”, it contracts the range length by a factor of . to avoid “Reply” packets, the interval should be as narrow as possible.
SIGMOD'0610 Total cost [Olston et al. SIGMOD 01] the probability that a value-based transmission will occur at each round. the probability that a query-based transmission will occur at each round. Assume the costs of value-based and query-based updates are equal
SIGMOD' {20,40} 86 {70,102} {78,86} {68,84} Range Caching b a c d e f g hi j k l m n o p q r {60,76} {18,28} {74,90} {60,92} p30 k86 Q Q Q Q Low value Queries
SIGMOD'0612 SLAT Direct translation of adaptive caching SLAT : “ single level adaptive thresholds ” Ignore topology (use it for routing only) Current max node is temporally monitored Thresholds At node u i, v i <= t(u i ) <= current_max Node sends Trigger if value breaks threshold If current_max falls, root queries all nodes with threshold higher than current_max
SIGMOD' SLAT Reporting b a c d e f g hi j k l m n o p q r t=75 t=80 t=78 t=84 t=75 j84 k86 l83 m80 j84,k86,l83,m81 Unbroken Threshold, no Trigger Broken thresholds, all nodes send Triggers node thresh i j k Root stores thresholds 8586 … …
SIGMOD' SLAT Querying t=75 b a c d e f g hi j k l m n o p q r node thresh max drops: Threshold higher than max, node must be queried Q Q Q Query n72 i j k (or 72)
SIGMOD'0615 SLAT-A SLAT-A : “ single level adaptive thresholds- aggregation ” In particular round, if multiple values converge at an intermediate node for transmission, only the highest is forwarded Similar to TinyAgg
SIGMOD' SLAT-A Reporting b a c d e f g hi j k l m n o p q r t=75 t=80 t=78 t=84 t=75 j84 k86 l83 m80 k86 Unbroken threshold Broken thresholds node thresh
SIGMOD' SLAT-A Querying t=75 b a c d e f g hi j k l m n o p q r max drops: Root does not know any thresholds, so must query all nodes, including those with very low thresholds Q Q Q Q Q Q Q t=20 t=25 t=23 t=24 n72
SIGMOD'0618 HAT HAT – “ hierarchical adaptive thresholds ” Additional invariant: t(u i ) <= t(parent(u i )) Node ’ s threshold greater than all values in subtree Each node stores child thresholds Combine advantages of SLAT, SLAT-A Reporting: only propagate highest value in subtree Querying: prune subtrees with threshold lower than fallen max
SIGMOD'0619 HAT Reporting b a c d e f g hi j k l m n o p q r t=75 t=80 t=78 t=84 t=75 j84 k86 l83 m80 t=88 t=90 t=95 thresh node d e Unbroken threshold Broken thresholds, Nodes send Triggers f’s threshold short-circuits Triggers Node stores child thresholds
SIGMOD' HAT Querying t=75 b a c d e f g hi j k l m n o p q r max drops: Q72 t=80 t=85 t=90 t=70 thresh node d e d pruned from queries, e not pruned n72
SIGMOD'0621 Suppression across Space/Time Another important feature of HAT: state at intermediate nodes carries over temporally E.g. nodes a and b have common ancestors; both rise, but in subsequent rounds; b benefits from a ’ s raising of thresholds One node ’ s previous value can help suppressing other nodes ’ subsequent values at intermediate nodes!
SIGMOD' r More Suppression with HAT b a c d e f g hi j k l m n o p q r t=76 t=80 t=76 t=73 Green: r rises, value propagates to root Gold: q rises, short-circuited at n, which now has higher threshold q95
SIGMOD'0623 Experiments Simulation of Mica2 motes Computation of energy cost in mJ based on number of bytes sent+received Both actual data and transmission overhead 200 nodes, 400x400 m area
SIGMOD'0624 Comparison of 5 algorithms Nodes change its value with some probability, and then by a random amount chosen randomly from [v-100, v+100] Experimental Results
SIGMOD'0625 Experimental Results Nodes rise with some probability HAT beats SLAT-A at low probabilities, due to sharing between rounds
SIGMOD'0626 Experimental Results All nodes fall in value by some percent SLAT, HAT can prune when fall is small SLAT-A must search whole network
SIGMOD'0627 Intel Lab Data (Temperature)
SIGMOD'0628 Extensions & Conclusion Straightforward to extend max to min, top-k Two key points for continuous query, in- network processing Leverage query semantics Leverage network hierarchy: store state in- network, rather than treating intermediate nodes as only conduits Enables nodes to make decisions (drop messages) Enables filtering/aggregation across time steps