CountTorrent: Ubiquitous Access to Query Aggregates in Dynamic and Mobile Sensor Networks Abhinav...

Preview:

Citation preview

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

1011

21

3

A few definitions (cont.)

Two types of queries: Duplicate-sensitive: e.g. SUM, COUNT Duplicate-insensitive: e.g. MIN, MAX

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)

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

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

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

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

h10

10

11

h4h2

h3

h10

10

11

Node h4 joinsChooses h1 as parent

0100

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

400 11

9

2

01

10

11

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 A Node B

Neighbors exchange tuples randomly

Merge any tuples if possible

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) (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)

(11,3)……

d

(10,4)

(1101,1)(11,3)

Update down

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

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 A Node 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)

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

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

16

CountTorrent accuracy

17

Bandwidth usage

18

Adapting to node joins & failures

19

COUNT aggregate in a mobile network

20

CountTorrent on TOSSIM

21

CountTorrent on micaz motes

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

Recommended