Skip to Main Content
Wireless sensor networks have received considerable attention in recent time due to a number of potential real-life applications. These networks are being increasingly used for geophysical monitoring, highway congestion monitoring, movement tracking, medical monitoring of life signs, supervision of manufacturing process, and so on. Sensor networks usually have intermittent connectivity and are often limited by severe power constraints. These networks typically sample the data periodically and push immediately, keeping no record of information. Thus, sensor networks generate continuous, never ending streams of data (until they run out of battery power). Any sensor query processing system thus needs to able to operate directly on such data stream. Typical computational activities involving such streaming data gathered by the sensors in different application scenarios include i) activation of a trigger if several sensors in the same area report measurements that exceed a given threshold, ii) drawing temperature contours on a weather map (which needs a join operation over several temperature data streams), iii) analyze a stream of recent power usage statistics reported to a power station and adjust the power generation rate accordingly, and so on. Because streams are infinite, operators can never compute over an entire streaming relation, i.e., they cannot be blocking. Many implementations of traditional operators, such as, sort, aggregate, join, etc. cannot be used. Instead, the query processor must include special operators which deliver results incrementally, and process streaming tuples one at a time or in small blocks.