Presentation is loading. Please wait.

Presentation is loading. Please wait.

CountTorrent: Ubiquitous Access to Query Aggregates in Dynamic and Mobile Sensor Networks Abhinav Kamra, Vishal Misra and Dan Rubenstein - Columbia University.

Similar presentations


Presentation on theme: "CountTorrent: Ubiquitous Access to Query Aggregates in Dynamic and Mobile Sensor Networks Abhinav Kamra, Vishal Misra and Dan Rubenstein - Columbia University."— Presentation transcript:

1 CountTorrent: Ubiquitous Access to Query Aggregates in Dynamic and Mobile Sensor Networks Abhinav Kamra, Vishal Misra and Dan Rubenstein - Columbia University (ACM SenSys 2007) Presenter : Justin

2 A few definitions  Distributive queries (e.g. MIN, MAX, COUNT, SUM)  Form: f(p U q) = f( f(p), f(q) ), (p, q = set of disjoint nodes)  e.g. Sum: f(p U q) = |p| + |q| 6 3 4 5 1 2 9 10 11 21 2

3 A few definitions (cont.)  Two types of queries:  Duplicate-sensitive: e.g. SUM, COUNT  Duplicate-insensitive: e.g. MIN, MAX 3

4 Traditional data aggregation  Goal: Combine data values while routing to the sink  Two schemes  Tree-based  Multi-path example Tree-based (spanning tree) Multi-path (DAG) 4

5 Traditional data aggregation (cont.)  Tree-based  Error-prone in dynamic networks  Not accurate in failure-prone settings  Multi-path  Bandwidth overkill in stable networks  Have to avoid duplicate and redundant data  Still loses accuracy in high mobility/loss scenarios 5

6 CountTorrent: An adaptive approach  Adapt to network conditions:  Stable networks: accurate tree-based aggregation  Dynamic networks: multi-path aggregation, accuracy degrades gracefully  Completely distributed: local decisions  Can compute duplicate-sensitive and duplicate- insensitive query aggregates 6

7 CountTorrent: A conceptual overview  Divide and conquer strategy  Arrange information in a hierarchy using a (prefix- free) binary labeling  Combine disjoint information  Adapt the labeling as network changes 0 1 10 11 7

8 CountTorrent: Label assignment  Each node is assigned a unique (binary) label by its parent.  When a new node joins:  Chooses one of its neighbors as parent  Parent splits its label S into 2 separate labels S0 and S1: Child given label S1 h2 h3 h1 0 10 11 h4 h2 h3 h1 0 10 11 Node h4 joins Chooses h1 as parent 01 00 8

9 CountTorrent: Data combining  After a label is assigned to each node  All labels can be merged to form ε 3 5 4 1 00 100 101 11 010 011 6 2 6 4 00 11 9 2 01 10 1 0 11 10 ε 21 9

10 CountTorrent: Data combining  Aggregating with tuples  Definition: Tuple = (binary label, aggregate value) pair  Labels differ only in last bit  merge tuples (11, 5)(01, 3)(001, 2)(011, 1)(10, 3)(001, 2) (011, 1)(11, 5)(10, 3)(001, 2)(011, 1)(1, 8)(001, 2) Node ANode B Neighbors exchange tuples randomly Merge any tuples if possible 10

11 CountTorrent: Variants  Static CountTorrent  Exchange tuples with neighbors  Dynamic CountTorrent  Addiction tuple cache contains tuples associated with the node’s children and its own label. b c a (10,4) (1100,2) (111,3) (1101,1) (111,3) …… d (10,4) (1100,2) (1101,1)(111,3) (10,4) (1100, 0 ) c a (111,3) …… d (10,4) (1101,1)(111,3) Send up node b leaves node a reset value of “1100” into 0 node d require new label from a c a (10,4) (11,3) …… d (10,4) (1101,1)(11,3) Update down 11

12 CountTorrent: Fine-tuning  Random exchange is not efficient: Convergence is slow  Optimizations:  Intelligent Selection  Carefully choose data to send to neighbors  Minimize redundant and duplicate tuple exchanges  Preferred Diffusion  Carefully choose neighbor to send data to  Fast convergence in stable networks 12

13 CountTorrent: Intelligent Selection  Node A sending to neighbor B  Remembers what was sent to B  Remembers what was received from B  Only send tuples that are useful for B (11, 5)(01, 3)(0010, 2)(10, 3)(001, 2) Node ANode B (11, 5)(10, 3)(001, 2) (1, 8)(001, 2) Node a won’t send (11,5) again (11, 5)(01, 3)(0010, 2) Node a won’t send (0010,2) to node b, since “001” is the prefix of “0010” (11, 5)(001, 2)(01, 3)(0010, 2) 13

14 CountTorrent: Preferred Diffusion  Preferential forwarding:  If any tuple useful for parent  Send  Else, if any tuple useful for a child  Send  Else, send to another neighbor  Stable networks: Mimics tree-based aggregation  Dynamic network: mix of tree-based and multi- path 14

15 Simulations & Experiments  Simulations:  Compare with other aggregation methods  Effect of Node joins & failures  Aggregation in a mobile network  Experiments on Tossim & motes:  CountTorrent implementation on Crossbow micaz motes 15

16 CountTorrent accuracy 16

17 Bandwidth usage 17

18 Adapting to node joins & failures 18

19 COUNT aggregate in a mobile network 19

20 CountTorrent on TOSSIM 20

21 CountTorrent on micaz motes 21

22 Conclusions  Robust: Accurate even in lossy networks  Adaptive: Data communication adapts to changing topology  Handles mobility: Close to accurate aggregates  Bandwidth-efficient: adapts to the stability of the network to maintain accuracy  Ubiquitous: All nodes get the aggregate by design 22


Download ppt "CountTorrent: Ubiquitous Access to Query Aggregates in Dynamic and Mobile Sensor Networks Abhinav Kamra, Vishal Misra and Dan Rubenstein - Columbia University."

Similar presentations


Ads by Google