Presentation is loading. Please wait.

Presentation is loading. Please wait.

March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 TAG: a Tiny Aggregation Service for Ad-Hoc Sensor Networks Samuel Madden, Michael J. Franklin, Joseph.

Similar presentations


Presentation on theme: "March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 TAG: a Tiny Aggregation Service for Ad-Hoc Sensor Networks Samuel Madden, Michael J. Franklin, Joseph."— Presentation transcript:

1 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 TAG: a Tiny Aggregation Service for Ad-Hoc Sensor Networks Samuel Madden, Michael J. Franklin, Joseph Hellerstein, Wei Hong Published in 2002 Research funds coming from IBM, Intel, and Microsoft

2 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 Motivation Sensor networks are computers Applications extract Info from network Aggregation saves resources Philosophy: Aggregation as network service Extract info aggregation to higher level

3 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 TAG Contributions Basic query interface (like SQL) Power and time efficient distribution of queries Query Language Abstraction leads to Optimizations High level language leads to network loss techniques

4 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 Ad-Hoc Routing Doesn’t matter, as long as: –Query requests deliverable to all nodes –Provides routes from every node to root –No duplicate messages received by node TAG uses a routing tree

5 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 Routing Tree 1 23 5 6 4 Root P: None L: 0 P: 1 L: 1 P: 1 L: 1 P: 3 L: 2 P: 3 L: 2 P: 2 L: 2 P = Parent L = Level

6 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 Query Model SQL style query syntax Table called “sensors” Schema known to base station Append-only relational database

7 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 TAG Query Syntax Example SELECT AVG(volume), room FROM sensors WHERE floor = 6 GROUP BY room HAVING AVG(volume) > threshold EPOCH DURATION 30s

8 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 TAG Query Syntax SELECT {agg(expr), attrs} FROM sensors WHERE {selPreds} GROUP BY {attrs} HAVING {havingPreds} EPOCH DURATION i

9 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 Aggregate Functions (agg) 3 Components: 1) Merging function f = f(, ) 2) Initializer i 3) Evaluator e 4 32 1 i(x) = f(, ) = f(,, ) i(x) = e( ) = S/C

10 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 Classes of Aggregates Duplicate Sensitivity Exemplary or Summary Monotonicity Amount of Partial State Information –Distributive –Algebraic –Holistic –Unique –Content Sensitive Classification based on four categories:

11 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 Attribute Catalog Queries contain named attributes Each mote has catalog of supported attributes Assume central query processor stores attributes of motes Mote returns NULL if attribute not supported Increases scalability

12 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 Algorithm Two Phases: –Query Distribution –Collection Single aggregate value every epoch Aggregation before propagation Children deliver partial state in time interval specified by parent

13 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 Collection

14 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 Grouping Specified by GROUP BY query clause SELECT AVG(volume), room FROM sensors WHERE floor = 6 GROUP BY room HAVING AVG(volume) > threshold EPOCH DURATION 30s Each sensor reading in single group Groups partitioned by attributes

15 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 Grouping Example

16 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 A Few Advantages… Decreased Communication Nodes send one message per epoch “Lost Nodes” can reconnect

17 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 Simulation Done in Java Java Objects passed as messages

18 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 Optimizations Snooping on Shared Channels –Nodes can overhear missed query –Nodes can exclude certain messages Hypothesis Testing –Somewhat query specific –Nodes don’t send data if irrelevant –Ex: root finds level 1 min, then uses “having” to narrow down query

19 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 Optimizations

20 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 Improving Loss Tolerance Important because single node loss causes entire subtree loss… 1.Each node keeps track of neighbor link quality Keeps proportion of messages received Chooses parent’ over weaker parent 2.Node chooses a new parent if no messages received over set time

21 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 Loss Tolerance

22 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 Realistic Simulation Caching: use old “ cached ” information when new info not received from children

23 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 Implementation Prototype with TinyOS motes

24 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 Conclusions High Level Query Language Aggregation and Bandwidth Reduction Tight network integration, optimizable Currently working towards “event driven” model

25 March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 Thanks! Q and A


Download ppt "March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 TAG: a Tiny Aggregation Service for Ad-Hoc Sensor Networks Samuel Madden, Michael J. Franklin, Joseph."

Similar presentations


Ads by Google