The Design of an Acquisitional Query Processor for Sensor Networks CS851 Presentation 2005 Presented by: Gang Zhou University of Virginia.

Slides:



Advertisements
Similar presentations
Directed Diffusion for Wireless Sensor Networking
Advertisements

Energy-Efficient Communication Protocol for Wireless Microsensor Networks by Mikhail Nesterenko Wendi Rabiner Heinzelman, Anantha Chandrakasan, and Hari.
SENSOR NETWORKS ECE 654 Irene Ioannou. Sensor networks communication architecture.
한국기술교육대학교 컴퓨터 공학 김홍연 TinyDB : An Acquisitional Query Processing System for Sensor Networks. - Samuel R. Madden, Michael J. Franklin, Joseph M. Hellerstein,
Rumor Routing Algorithm For sensor Networks David Braginsky, Computer Science Department, UCLA Presented By: Yaohua Zhu CS691 Spring 2003.
Rumor Routing in Sensor Networks David Braginsky and Deborah Estrin LECS – UCLA Modified and Presented by Sugata Hazarika.
1 Routing Techniques in Wireless Sensor networks: A Survey.
Rumor Routing in Sensor Networks David Braginsky and Deborah Estrin Presented By Tu Tran 1.
A Query-Based Routing Tree in Sensor Networks In Chul Song Yohan Roh Dongjoon Hyun Myoung Ho Kim GSN 2006 (Geosensor Network) 1.
1 Sensor Network Databases Ref: Wireless sensor networks---An information processing approach Feng Zhao and Leonidas Guibas (chapter 6)
David Chu--UC Berkeley Amol Deshpande--University of Maryland Joseph M. Hellerstein--UC Berkeley Intel Research Berkeley Wei Hong--Arched Rock Corp. Approximate.
A Novel Cluster-based Routing Protocol with Extending Lifetime for Wireless Sensor Networks Slides by Alex Papadimitriou.
Monday, June 01, 2015 ARRIVE: Algorithm for Robust Routing in Volatile Environments 1 NEST Retreat, Lake Tahoe, June
Investigating Mac Power Consumption in Wireless Sensor Network
Directed Diffusion: A Scalable and Robust Communication Paradigm for Sensor Networks.
PEDS September 18, 2006 Power Efficient System for Sensor Networks1 S. Coleri, A. Puri and P. Varaiya UC Berkeley Eighth IEEE International Symposium on.
Dissemination protocols for large sensor networks Fan Ye, Haiyun Luo, Songwu Lu and Lixia Zhang Department of Computer Science UCLA Chien Kang Wu.
Aggregation in Sensor Networks NEST Weekly Meeting Sam Madden Rob Szewczyk 10/4/01.
Sensor Database: Querying Sensor Networks Yinghua Wu, Haiyong Xie.
Approximate data collection in sensor networks the appeal of probabilistic models David Chu Amol Deshpande Joe Hellerstein Wei Hong ICDE 2006 Atlanta,
Congestion Control and Fairness for Many-to-One Routing in Sensor Networks Cheng Tien Ee Ruzena Bajcsy Motivation Congestion Control Background Simulation.
Exploiting Correlated Attributes in Acquisitional Query Processing Amol Deshpande University of Maryland Joint work with Carlos Sam
Online Data Gathering for Maximizing Network Lifetime in Sensor Networks IEEE transactions on Mobile Computing Weifa Liang, YuZhen Liu.
1 Acquisitional Query Processing in TinyDB Sam Madden UC Berkeley NEST Winter Retreat 2003.
The Design of an Acquisitional Query Processor For Sensor Networks Samuel Madden, Michael J. Franklin, Joseph M. Hellerstein, and Wei Hong Presentation.
Model-driven Data Acquisition in Sensor Networks Amol Deshpande 1,4 Carlos Guestrin 4,2 Sam Madden 4,3 Joe Hellerstein 1,4 Wei Hong 4 1 UC Berkeley 2 Carnegie.
Data Management for Sensor Networks Zachary G. Ives University of Pennsylvania CIS 650 – Database & Information Systems April 4, 2005.
CS 580S Sensor Networks and Systems Professor Kyoung Don Kang Lecture 7 February 13, 2006.
TAG: A TINY AGGREGATION SERVICE FOR AD-HOC SENSOR NETWORKS Presented by Akash Kapoor SAMUEL MADDEN, MICHAEL J. FRANKLIN, JOSEPH HELLERSTEIN, AND WEI HONG.
Energy Saving In Sensor Network Using Specialized Nodes Shahab Salehi EE 695.
An adaptive framework of multiple schemes for event and query distribution in wireless sensor networks Vincent Tam, Keng-Teck Ma, and King-Shan Lui IEEE.
TAG: a Tiny Aggregation Service for Ad-Hoc Sensor Networks Paper By : Samuel Madden, Michael J. Franklin, Joseph Hellerstein, and Wei Hong Instructor :
The Design of an Acquisitional Query Processor For Sensor Networks Samuel Madden, Michael J. Franklin, Joseph M. Hellerstein, and Wei Hong.
TinyOS By Morgan Leider CS 411 with Mike Rowe with Mike Rowe.
Sensor Network Databases1 Overview: Chapter 6  Sensor Network Databases  Sensor networks are conceptually a distributed DB  Store collected data  Indexes.
March 6th, 2008Andrew Ofstad ECE 256, Spring 2008 TAG: a Tiny Aggregation Service for Ad-Hoc Sensor Networks Samuel Madden, Michael J. Franklin, Joseph.
TAG: a Tiny Aggregation Service for Ad-Hoc Sensor Networks Authors: Samuel Madden, Michael Franklin, Joseph Hellerstein Presented by: Vikas Motwani CSE.
한국기술교육대학교 컴퓨터 공학 김홍연 Habitat Monitoring with Sensor Networks DKE.
ENERGY-EFFICIENT FORWARDING STRATEGIES FOR GEOGRAPHIC ROUTING in LOSSY WIRELESS SENSOR NETWORKS Presented by Prasad D. Karnik.
Lan F.Akyildiz,Weilian Su, Erdal Cayirci,and Yogesh sankarasubramaniam IEEE Communications Magazine 2002 Speaker:earl A Survey on Sensor Networks.
 SNU INC Lab MOBICOM 2002 Directed Diffusion for Wireless Sensor Networking C. Intanagonwiwat, R. Govindan, D. Estrin, John Heidemann, and Fabio Silva.
Load-Balancing Routing in Multichannel Hybrid Wireless Networks With Single Network Interface So, J.; Vaidya, N. H.; Vehicular Technology, IEEE Transactions.
REED: Robust, Efficient Filtering and Event Detection in Sensor Networks Daniel Abadi, Samuel Madden, Wolfgang Lindner MIT United States VLDB 2005.
1 REED: Robust, Efficient Filtering and Event Detection in Sensor Networks Daniel Abadi, Samuel Madden, Wolfgang Lindner MIT United States VLDB 2005.
Energy-Efficient Monitoring of Extreme Values in Sensor Networks Loo, Kin Kong 10 May, 2007.
REECH ME: Regional Energy Efficient Cluster Heads based on Maximum Energy Routing Protocol Prepared by: Arslan Haider. 1.
Data Collection and Dissemination. Learning Objectives Understand Trickle – an data dissemination protocol for WSNs Understand data collection protocols.
K-Anycast Routing Schemes for Mobile Ad Hoc Networks 指導老師 : 黃鈴玲 教授 學生 : 李京釜.
Energy conservation in Wireless Sensor Networks Sagnik Bhattacharya, Tarek Abdelzaher University of Virginia, Department of Computer Science School of.
KAIS T Distributed cross-layer scheduling for In-network sensor query processing PERCOM (THU) Lee Cheol-Ki Network & Security Lab.
Energy-Conserving Data Placement and Asynchronous Multicast in Wireless Sensor Networks Sagnik Bhattacharya, Hyung Kim, Shashi Prabh, Tarek Abdelzaher.
a/b/g Networks Routing Herbert Rubens Slides taken from UIUC Wireless Networking Group.
By: Gang Zhou Computer Science Department University of Virginia 1 Medians and Beyond: New Aggregation Techniques for Sensor Networks CS851 Seminar Presentation.
Aggregation and Secure Aggregation. Learning Objectives Understand why we need aggregation in WSNs Understand aggregation protocols in WSNs Understand.
W. Hong & S. Madden – Implementation and Research Issues in Query Processing for Wireless Sensor Networks, ICDE 2004.
TreeCast: A Stateless Addressing and Routing Architecture for Sensor Networks Santashil PalChaudhuri, Shu Du, Ami K. Saha, and David B. Johnson Department.
REED : Robust, Efficient Filtering and Event Detection in Sensor Network Daniel J. Abadi, Samuel Madden, Wolfgang Lindner Proceedings of the 31st VLDB.
Aggregation and Secure Aggregation. [Aggre_1] Section 12 Why do we need Aggregation? Sensor networks – Event-based Systems Example Query: –What is the.
Optimizing Query Processing In Sensor Networks Ross Rosemark.
On Mobile Sink Node for Target Tracking in Wireless Sensor Networks Thanh Hai Trinh and Hee Yong Youn Pervasive Computing and Communications Workshops(PerComW'07)
Lecture A/18-849B/95-811A/19-729A Internet-Scale Sensor Systems: Design and Policy Lecture 15 Sensor Databases & Data Stream Systems Phil Gibbons.
The Design of an Acquisitional Query Processor For Sensor Networks Samuel Madden, Michael J. Franklin, Joseph M. Hellerstein, and Wei Hong Presentation.
1 Along & across algorithm for routing events and queries in wireless sensor networks Tat Wing Chim Department of Electrical and Electronic Engineering.
TAG: a Tiny AGgregation service for ad-hoc sensor networks Authors: Samuel Madden, Michael J. Franklin, Joseph M. Hellerstein, Wei Hong Presenter: Mingwei.
Distributed database approach,
The Design of an Acquisitional Query Processor For Sensor Networks
Investigating Mac Power Consumption in Wireless Sensor Network
REED : Robust, Efficient Filtering and Event Detection
Aggregation.
Edinburgh Napier University
Presentation transcript:

The Design of an Acquisitional Query Processor for Sensor Networks CS851 Presentation 2005 Presented by: Gang Zhou University of Virginia

Outline Application Structure & Design Goals Application Structure & Design Goals Acquisitional Query Language Acquisitional Query Language Power-Aware Optimization Power-Aware Optimization Power Sensitive Dissemination and Routing Power Sensitive Dissemination and Routing Processing Queries Processing Queries Conclusions and Future Work Conclusions and Future Work Discussion Discussion

Application Structure Queries submitted in PC Queries submitted in PC Parsed, optimized in PC Parsed, optimized in PC Disseminated and processed in network Disseminated and processed in network Results flow back through the routing tree Results flow back through the routing tree

Design Goals Provide a query processor-like interface to sensor networks Provide a query processor-like interface to sensor networks Use acquisitional techniques to reduce power consumption compared to traditional passive systems Use acquisitional techniques to reduce power consumption compared to traditional passive systems

How? What is meant by acquisitional techniques? What is meant by acquisitional techniques? Where, when, and how often data is acquired and delivered to query processing operators Where, when, and how often data is acquired and delivered to query processing operators Four related questions Four related questions When should samples be taken? When should samples be taken? What sensors have relevant data? What sensors have relevant data? In what order should samples be taken? In what order should samples be taken? Is it worth to process and relay samples? Is it worth to process and relay samples?

What’s the big deal? Radio is expensive Radio is expensive Sensing takes significant energy Sensing takes significant energy Four Energy Levels: Four Energy Levels: Snoozing Snoozing Processing Processing Processing and receiving Processing and receiving Transmitting Transmitting

Roadmap Application Structure & Design Goals Application Structure & Design Goals Acquisitional Query Language Acquisitional Query Language Power-Aware Optimization Power-Aware Optimization Power Sensitive Dissemination and Routing Power Sensitive Dissemination and Routing Processing Queries Processing Queries Conclusions and Future Work Conclusions and Future Work Discussion Discussion

An Acquisitional Query Language SQL-like queries in the form of SELECT- FROM-WHERE SQL-like queries in the form of SELECT- FROM-WHERE SELECT nodeid, light, temp FROM sensors SAMPLE INTERVAL 1s FOR 10s Sensors viewed as a single table Sensors viewed as a single table Columns are sensor data Columns are sensor data Rows are individual sensors Rows are individual sensors Unbounded, continuous data stream of values Unbounded, continuous data stream of values

Why Windows? Sensors table is an unbounded, continuous data stream Sensors table is an unbounded, continuous data stream Operations such as sort and symmetric join are not allowed on streams Operations such as sort and symmetric join are not allowed on streams They are allowed on bounded subsets of the stream (windows) They are allowed on bounded subsets of the stream (windows)

Windows Windows in TinyDB are fixed-size materialization points over sensor streams. Windows in TinyDB are fixed-size materialization points over sensor streams. Materialization points can be used in queries Materialization points can be used in queries Example CREATE STORAGE POINT recentlight SIZE 8 AS (SELECT nodeid, light FROM sensors SAMPLE INTERVAL 10s) SELECT COUNT(*) FROM sensors AS s, recentlight AS r1 WHERE r.nodeid = s.nodeid AND s.light < r1.light SAMPLE INTERVAL 10s Example CREATE STORAGE POINT recentlight SIZE 8 AS (SELECT nodeid, light FROM sensors SAMPLE INTERVAL 10s) SELECT COUNT(*) FROM sensors AS s, recentlight AS r1 WHERE r.nodeid = s.nodeid AND s.light < r1.light SAMPLE INTERVAL 10s

Temporal Aggregation Why Aggregation? Why Aggregation? Reduce the quantity of data that must be transmitted through the network Reduce the quantity of data that must be transmitted through the network Example Example SELECT WINAVG (volume, 30s, 5s) FROM sensors SAMPLE INTERVAL 1s SELECT WINAVG (volume, 30s, 5s) FROM sensors SAMPLE INTERVAL 1s Report the average volume over the last 30 seconds once every 5 seconds, sampling once per second Report the average volume over the last 30 seconds once every 5 seconds, sampling once per second How about spacial aggregation or spacial- temporal aggregation? How about spacial aggregation or spacial- temporal aggregation?

Event-Based Queries An alternative to continuous polling for data An alternative to continuous polling for data Example ON EVENT bird-detector(loc): SELECT AVG(light), AVG(temp), event.loc FROM sensors AS s WHERE dist(s.loc, event.loc) < 10m SAMPLE INTERVAL 2s FOR 30s Example ON EVENT bird-detector(loc): SELECT AVG(light), AVG(temp), event.loc FROM sensors AS s WHERE dist(s.loc, event.loc) < 10m SAMPLE INTERVAL 2s FOR 30s  Currently, events are only signaled on the local node.  How about a fully distributed event propagation system?  What is the gain?  What is the pay?  Is it worthy doing?

Lifetime-Based Queries Example SELECT nodeid, accel FROM sensors LIFETIME 30 days Example SELECT nodeid, accel FROM sensors LIFETIME 30 days The query specifies that the network should The query specifies that the network should Run for as least 30 days Run for as least 30 days Sampling light and acceleration sensors as quick as possible and still maintains the life time goal Sampling light and acceleration sensors as quick as possible and still maintains the life time goal

Lifetime-Based Queries Nodes perform cost-based analysis in order to determine data rate for each node Nodes perform cost-based analysis in order to determine data rate for each node

Lifetime-Based Queries Tested a mote with a 24 week query Tested a mote with a 24 week query Sample rate was 15.2 seconds per sample Sample rate was 15.2 seconds per sample Took 9 voltage readings over 12 days Took 9 voltage readings over 12 days  Reasonable to drop the first two data?  Reasonable to use data from the first 12 days to fit a line which covers 168 days?

Roadmap Application Structure & Design Goals Application Structure & Design Goals Acquisitional Query Language Acquisitional Query Language Power-Aware Optimization Power-Aware Optimization Power Sensitive Dissemination and Routing Power Sensitive Dissemination and Routing Processing Queries Processing Queries Conclusions and Future Work Conclusions and Future Work Discussion Discussion

Power-Aware Optimization Where? Where? Queries optimized by base station before dissemination Queries optimized by base station before dissemination why? why? Cost-based optimization to yield lowest overall power consumption Cost-based optimization to yield lowest overall power consumption Cost dominated by sampling and transmitting Cost dominated by sampling and transmitting How? How? Optimizer focuses on ordering joins, selections, and sampling on individual nodes Optimizer focuses on ordering joins, selections, and sampling on individual nodes

Reordering Sampling and Predicates Consider the query SELECT accel, mag FROM sensors WHERE accel > c1 AND mag > c2 SAMPLE INTERVAL 1s Consider the query SELECT accel, mag FROM sensors WHERE accel > c1 AND mag > c2 SAMPLE INTERVAL 1s Three options Three options Measure accel and mag; then process select Measure accel and mag; then process select Measure mag; filter; then measure accel Measure mag; filter; then measure accel Measure accel; filter; then measure mag Measure accel; filter; then measure mag First option always more expensive. First option always more expensive. Second option an order of magnitude more expensive than third Second option an order of magnitude more expensive than third Second option can be cheaper if the predicate is highly selective Second option can be cheaper if the predicate is highly selective

Example 2 Another example SELECT WINMAX (light, 8s, 8s) FROM sensors WHERE mag > x SAMPLE INTERVAL 1s Another example SELECT WINMAX (light, 8s, 8s) FROM sensors WHERE mag > x SAMPLE INTERVAL 1s Unless mag > x is very selective, it is cheaper to check if current light is greater than max Unless mag > x is very selective, it is cheaper to check if current light is greater than max Reordering is called exemplary aggregate pushdown Reordering is called exemplary aggregate pushdown

Event Query Batching Have a query Have a query ON EVENT e (nodeid) ON EVENT e (nodeid) SELECT a1 SELECT a1 FROM sensors AS s WHERE s.nodeid = e.nodeid SAMPLE INTERVAL d FOR k Every time e occurs, an instance of the internal query is started. Every time e occurs, an instance of the internal query is started. Multiple independent instances at the same time, independent sampling and data delivering Multiple independent instances at the same time, independent sampling and data delivering

Solution: Solution: Convert event e into a event stream Convert event e into a event stream Rewrite the internal query as a sliding window join between the event stream and sensors Rewrite the internal query as a sliding window join between the event stream and sensors ON EVENT e (nodeid) SELECT a1 SELECT a1 FROM sensors AS s FROM sensors AS s WHERE s.nodeid = e.nodeid WHERE s.nodeid = e.nodeid SAMPLE INTERVAL d FOR k SAMPLE INTERVAL d FOR k ON EVENT s.a1 FROM sensors AS s, events AS e FROM sensors AS s, events AS e WHERE s.nodeid = e.nodeid WHERE s.nodeid = e.nodeid AND e.type = e AND e.type = e AND s.time – e.time e.time AND s.time – e.time e.time SAMPLE INTERVAL d SAMPLE INTERVAL d

Roadmap Application Structure & Design Goals Application Structure & Design Goals Acquisitional Query Language Acquisitional Query Language Power-Aware Optimization Power-Aware Optimization Power Sensitive Dissemination and Routing Power Sensitive Dissemination and Routing Processing Queries Processing Queries Conclusions and Future Work Conclusions and Future Work Discussion Discussion

Semantic Routing Trees Why SRT? Why SRT? It is a routing tree designed to allow each node to efficiently determine if any of the nodes below it will need to participate in a given query over some constant attributes. It is a routing tree designed to allow each node to efficiently determine if any of the nodes below it will need to participate in a given query over some constant attributes. Used to prune the routing tree. Used to prune the routing tree. What is SRT? What is SRT? An SRT is an index over constant attribute A that can be used to locate nodes that have data relevant to the query. An SRT is an index over constant attribute A that can be used to locate nodes that have data relevant to the query. It is an overlay on the network. It is an overlay on the network.

How to use CRT? How to use CRT? When a query q with a predicate over A arrives at node n, n checks whether any child’s value of A overlaps the query range of A in q: When a query q with a predicate over A arrives at node n, n checks whether any child’s value of A overlaps the query range of A in q: If yes, prepare to receive results and forward the query If yes, prepare to receive results and forward the query If no, do not forward q If no, do not forward q Is query q applied locally: Is query q applied locally: If yes, execute the query If yes, execute the query If not, ignored If not, ignored

How to build CRT? How to build CRT? Flood the SRT build request down the network Flood the SRT build request down the network Re-transmitted by every mote until every mote hears it Re-transmitted by every mote until every mote hears it If a node has no children If a node has no children Choose a parent p; report the value of A to p Choose a parent p; report the value of A to p If a node has children If a node has children Forward the request, and wait for reply Forward the request, and wait for reply Upon reply from children, choose a parent p; report to p the range of values of A which it and its descendents cover Upon reply from children, choose a parent p; report to p the range of values of A which it and its descendents cover Since each constant attribute A may have a separate SRT, is the scheme scalable? Since each constant attribute A may have a separate SRT, is the scheme scalable?

Evaluation of SRT SRT are limited to constant attributes SRT are limited to constant attributes Even so, maintenance is required Even so, maintenance is required Possible to use for non-constant attributes but cost can be prohibitive Possible to use for non-constant attributes but cost can be prohibitive

Evaluation of SRT Compared three different strategies for building tree, random, closest, and cluster Compared three different strategies for building tree, random, closest, and cluster Random: pick a random parent from the nodes with reliable communication Random: pick a random parent from the nodes with reliable communication Closest: pick the parent whose attribute value (index attribute) is closest Closest: pick the parent whose attribute value (index attribute) is closest Cluster: by snooping siblings’ parent selection, each node try to pick the right parent, to minimize the spread of attribute values underneath all of its available parents Cluster: by snooping siblings’ parent selection, each node try to pick the right parent, to minimize the spread of attribute values underneath all of its available parents Report results for two different sensor value distributions, random and geographic Report results for two different sensor value distributions, random and geographic Random: each attribute value is randomly selected from the interval [0,1000] Random: each attribute value is randomly selected from the interval [0,1000] Geographic: values among neighbor are highly correlated Geographic: values among neighbor are highly correlated

SRT Results  The Cluster scheme is superior to the random scheme and the closest scheme.  With the geographic distribution, the performance of the cluster scheme is close to the optimal.  Where is the data of SRT’s overhead?

Roadmap Application Structure & Design Goals Application Structure & Design Goals Acquisitional Query Language Acquisitional Query Language Power-Aware Optimization Power-Aware Optimization Power Sensitive Dissemination and Routing Power Sensitive Dissemination and Routing Processing Queries Processing Queries Conclusions and Future Work Conclusions and Future Work Discussion Discussion

Processing Queries Queries have been optimized and distributed, what more can we do? Queries have been optimized and distributed, what more can we do? Aggregate data that is sent back to the root Aggregate data that is sent back to the root Prioritize data that needs to be sent Prioritize data that needs to be sent Naïve - FIFO Naïve - FIFO Winavg – average the two results at the queue’s head to make room for the new data Winavg – average the two results at the queue’s head to make room for the new data Delta – Send result with most changes Delta – Send result with most changes Adapt data rates and power consumption Adapt data rates and power consumption

Prioritization Comparison Sample rate was K times faster than delivery rate. Sample rate was K times faster than delivery rate. Readings generated by shaking the sensor Readings generated by shaking the sensor In this example, K = 4 In this example, K = 4 Delta seems to be better Delta seems to be better

Adaptation Not safe to assume that network channel is uncontested Not safe to assume that network channel is uncontested TinyDB reduces packets sent as channel contention rises TinyDB reduces packets sent as channel contention rises

Adaptation

Roadmap Application Structure & Design Goals Application Structure & Design Goals Acquisitional Query Language Acquisitional Query Language Power-Aware Optimization Power-Aware Optimization Power Sensitive Dissemination and Routing Power Sensitive Dissemination and Routing Processing Queries Processing Queries Conclusions and Future Work Conclusions and Future Work Discussion Discussion

Conclusions & Future Work Conclusions: Conclusions: Design of an acquisitional query processor for data collection in sensor networks Design of an acquisitional query processor for data collection in sensor networks Evaluation in the context of TinyDB Evaluation in the context of TinyDB Future Work: Future Work: Selectivity of operators based upon range of sensor Selectivity of operators based upon range of sensor Exemplary aggregate pushdown Exemplary aggregate pushdown More sophisticated prioritization schemes More sophisticated prioritization schemes Better re-optimization of sample rate based upon acquired data Better re-optimization of sample rate based upon acquired data

Discussion Is this the best way (right way?) to look at a sensor network? Is this the best way (right way?) to look at a sensor network? Is their approximation of battery lifetime sufficient? Is their approximation of battery lifetime sufficient? Was their evaluation of SRT good enough? Was their evaluation of SRT good enough?