The Cougar Approach to In-Network Query Processing in Sensor Networks By Yong Yao and Johannes Gehrke Cornell University Presented by Penelope Brooks Overview • • • • • • Motivation Sensor Networks Overview Applications Sensor Data Problems in Sensor Networks Cougar – Architecture – Approach • Related Projects Motivation • Distributed database approach to sensor networks • Why? – Declarative queries are well-suited to sensor networks – Energy conservation in sensor networks is crucial The Big Idea Local computation is much cheaper than communication, so push computation to the network and improve energy consumption Sensor Networks Overview • Thousands of sensors connected through wireless communication – Multi-hop routing protocol used – Limited computation and storage – Limited energy supply • Sensor nodes connected to one or more physical sensors • Distributed to measure and monitor physical environment • Communication and computation biggest energy drains Challenges • Communication • Power consumption • Computation • Uncertainty in sensor readings Some Applications • Besides temperature… • Intelligent building management • Hostile environments – Battlefield – Disaster regions/Early warning systems • Tracking items in transit • Automatic target recognition and tracking Sensor Data • Uncertainty of data values – Measurements accurate within range – Addressed by aggregation • Historically - sensor networks collect data and transfer to central node for querying and analysis Problems in Sensor Networks • Aggregation – Must complete at leader node – Data has to be delivered from source nodes – Computation approaches • Send all data to leader and compute there • Some computation at nodes along path • Query Languages – Diverse applications, data, query classes – Look at properties of sensor data, abstract computational patterns that fit Problems in Sensor Networks (cont’d) • Query Optimization – Large space of possible query plans – Cost of plan is energy consumed – Make decisions with uncertainty • Catalog Management – Metadata for optimizer – Sensor position, density, connectivity, system workload, network stability • Multi-Query Optimization – Share results from similar queries Cougar Architecture • Loosely-coupled, distributed • Supports in-network computation • Query optimizer on sensor gateway contribution – Describes data flow in network – Computation flow in each sensor • Query proxies on sensor nodes – – – – Register query Create local operator tree Activate relevant sensors Return applicable results contribution Cougar Architecture Query Proxy Layer here Query Optimizer here Approach • Query presented to optimizer • Query optimizer – Merge with existing query OR – Generate new query plan Approach (cont’d) • Designate leader for computation – Methods • Fixed • Randomly selected node – Leader selection policy • Dynamically maintained in case of failure • Minimize communication distance • Two plans: leader, other • Query plans disseminated to all nodes Query Plan QPL Towards the gateway QPO Towards the leader Select Aggregated Results In-network aggregation Partially aggregated data from other sensors Network Interface Data from local sensor Sensor scan Aggregate Operator Partially aggregated results Network Interface Example • Query Q: – Monitor office temperature – Generate notification to administrator when temperature over threshold • Optimize query • Query Plan QP generated, leader identified, computation plans generated • Query plans disseminated • Query proxy actions initiated Example (cont’d) • Sensors collect temperature • Leader aggregates sensors readings, performs AVG • Aggregate value compared to initial condition of query Q • If AVG > threshold – Value sent to gateway – Administrator notified • Otherwise, sensors continue Another Example TinyDB: An Acquisitional Query Processing System for Sensor Networks SAMUEL R. MADDEN, MICHAEL J. FRANKLIN, JOSEPH M. HELLERSTEIN, and WEI HONG ACM Transactions on Database Systems, Vol. 30, No. 1, March 2005, Pages 122–173. Related Projects • • • • • • • • CoSense - Xerox PARC SCADDS - UCLA WebDust - Rutgers Agent-based Tasking of Massive Sensor Networks - Univ of MD Reactive Sensor Networks - Penn State TinyOS - Berkeley Telegraph - Berkeley Location-Centric Distributed Computation and Signal Processing - Wisconsin Wrap-Up • Cougar is one possible architecture for a sensor network • Performs in-network computation • Decreases energy consumption • One leader per query plan • Attempt to merge similar queries • Propagate results to system if condition met Questions?