Presentation is loading. Please wait.

Presentation is loading. Please wait.

REED: Robust, Efficient Filtering and Event Detection in Sensor Networks Daniel Abadi, Samuel Madden, Wolfgang Lindner MIT United States VLDB 2005.

Similar presentations


Presentation on theme: "REED: Robust, Efficient Filtering and Event Detection in Sensor Networks Daniel Abadi, Samuel Madden, Wolfgang Lindner MIT United States VLDB 2005."— Presentation transcript:

1 REED: Robust, Efficient Filtering and Event Detection in Sensor Networks Daniel Abadi, Samuel Madden, Wolfgang Lindner MIT United States VLDB 2005

2 What Problem Are We Trying To Solve? Complex data filtering in sensor networks

3 Example Filter Query TimestampTemp 3:05PM 74 MinTSMaxTSMinTempMaxTemp 2:00PM2:30PM7075 2:30PM3:00PM7378 3:00PM3:30PM7580 3:30PM4:00PM8388 4:00PM4:30PM8590 4:30PM5:00PM7075 5:00PM5:30PM7277 5:30PM6:00PM7580 Join Predicate: TS > MinTS && TS MaxTemp) X Sensor Data Predicate Table

4 Constraints: Sensor Networks Sensor nodes are small, battery-powered devices Power conservation is important Sensing and transmitting data typically dominate power usage Berkeley Mote 4Mhz uProc 900Mhz Radio (50- 100 ft. range) 4 K RAM, 128 K Program Flash, 512 K Data Flash

5 Sensor Database Motivation Programming Apps is Hard Limited power budget Lossy, low bandwidth communication Require long-lived, zero admin deployments Distributed algorithms Limited tools, debugging interfaces Solution: database style interface (e.g. TinyDB [Madden 2002], Cougar [Yao 2003])

6 TinyDB Root 0 Main PC Controller 12 345 67 How TinyDB Works: 1.Form a routing tree 2.Distribute query to nodes 3.Every time node produces data tuple, filter by expression and pass result up tree, aggregating if necessary

7 Naïve Join Algorithm Send all tuples from data table to root; perform join at root Root 0 Main PC Controller 12 345 67 B C D A X B X X Predicate Table

8 Ideal Join Algorithm Root 0 Main PC Controller 12 345 67 A B C D A B C D A B C D A B C D A B C D A B C D A B C D X X BX X X Send join table to each node At node, perform join Problem: Severe Node Memory Constraints

9 X REED Algorithm 1 Cluster nodes into groups Store portion of predicate table in each group member Send sensor data tuples to every member of group Root 0 12 345 67 X D 8 X A B C D A B C D A B C D X XXX

10 Distributed Join Group Formation Root 0 12 345 67 Process: 1.Every node maintains list of nodes it can hear by listening in on packets 2.After a random interval, a node P which is not in a group broadcasts a form group request 3.Every node N which hears that request and is not currently in a group replies to P with a list of neighbors and amount free space 4.Node P collects the replies, and determines who should be in the group. For every node N which replied, P sends either a group reject or a group accept message. 5.Group accept message contains a list of nodes in the group A Group is a set of nodes where every node is in broadcast range of every other node. {1,2,3,4} {3,1,4} {4,1,3, 6} {1,2,5} {5,2,6,7} {6,5,7, 4} {7,5,6}

11 Distributed Join Operation Root 0 12 345 67 For nodes not in group: 1.When generating a data tuple or receiving data tuple from child, pass on to parent 2.When receiving a result from child, pass on to parent 1 2 3 4 5 6 7 5 6 7 3 4 1 2 1 2 3 4 5 6 7 For nodes in group: 1.When generating a data tuple or receiving data tuple from child, broadcast to group (including self). 2.Upon receiving data tuple broadcast from group, join with stored subset of join table and pass result up to parent. 3.When receiving a result from child, pass on to parent. a a a a1

12 Table Distribution Group members figure out amongst themselves how the table will be divided across group Table flooded to network

13 Bloom Filter Optimization Temp: 20 Temp: 90 0 1 0 0 0 0 1 0 hash Bloom Filter Step 1: Hash domain of sensor values onto Bloom Filter Step 2: Send Bloom Filter to Each Sensor Node Root 0 1 2 34 5 67 01000010 Might produce false positives but never false negatives Can be used in conjunction with previous REED algorithm X X

14 Cache Diffusion Root 0 12 345 67 81-90 11-20 23-50 81-90 23-50 60-70 11-20 23-50 60-70 23-50 81-90 11-20 23-50 24 20 Cache non-joining ranges on a per node basis Also will produce false positives but no false negatives 21

15 Results: Experimental Setup Ran experiments both in simulation and on real motes For simulation, 40 sensor nodes arranged in a grid Use TinyOS Packet Level Simulation Models CSMA backoff Carrier sense packet delivery model Overlap between 2 receptions leads to both being corrupted Use TinyOS MintRoute for MultiHop Routing Layer

16 REED Performs Well at Most Selectivities

17 REED Algorithm Overhead is Negligible

18 Simulated Results Match Real Results from Motes Ran REED algorithm on a simple 5 node sensor network

19 Conclusion Contributions: Complex filters  table of expressions  join REED algorithms capable of Running with limited amounts of RAM Robustness in the face of message loss and node failure Experiments show benefits of doing complex join-based filters in the sensor network


Download ppt "REED: Robust, Efficient Filtering and Event Detection in Sensor Networks Daniel Abadi, Samuel Madden, Wolfgang Lindner MIT United States VLDB 2005."

Similar presentations


Ads by Google