Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


Share this Page URL
Help

20.1 Introduction > 20.1.1 Stream-Processing Engines and Sensor Networks - Pg. 506

506 CHAPTER 20 Pervasive Sensing and Monitoring for Situational Awareness challenges then include how to optimally per- form a QoS-based service discovery and compo- sition [12, 14, 15], proactive and reactive failure resilience [14, 15], and dynamic swapping of ser- vices and service graphs. SPEs usually execute queries on a centralized server and many mechanisms to scale data stream processing to high data rates given memory and CPU constraints have been devised. These include techniques for load shedding (to dynam- ically adjust stream rates to those manageable by the stream engine) [16], chain scheduling [5], dynamic tuple routing [1, 17], load balancing (to distribute stream processing across multi- ple processors) [18], and approximate computa- tion (to reduce memory requirements and speed up stream-processing computation). Recently, Yahoo's S4 system has explored an actor-based framework to scale stream processing dynami- cally by exploiting cloud resources [18]. Although the work on SPEs has focused on scaling stream processing to high data stream rates, research on wireless sensor networks (WSNs) has focused on in-network processing of sensor information primarily from the goal of minimizing communication to maximize bat- tery life of sensor nodes. These include techniques for improved ad hoc programming of sensor net- works via dynamic code upload to each node [19] or providing a database-like view of the sensor network and pushing the execution of the rela- tional operators into the WSN nodes [20]. building design, transportation, avionics, agri- culture, water management, and infrastructure lifelines. The goal of this chapter is to identify funda- mental challenges in building large-scale sen- tient spaces. Before we discuss challenges and describe emerging technological advances to address them, we briefly discuss existing work on data streaming systems and sensor networks. 20.1.1. Stream-Processing Engines and Sensor Networks Over the past decade, various stream-process- ing engines (SPEs) such as TelegraphCQ [1], STREAMS [2], S3 [3], Cayuga [4], Aurora [5], Borealis [6], and MedSMan [7] have been pro- posed in the literature and many related com- mercial products have been developed (e.g., S4 by Yahoo). Such systems provide on-the-fly tech- niques to resolving continuous queries and per- forming analyses on the data streams before (or instead of) storing the streaming data into the database. Such approaches are in contrast to traditional database approach wherein stream- ing data would be first stored into a database and queried/analyzed later. With the exception of Aurora and Borealis, many stream-processing systems have focused on providing support for SQL-like queries. Examples include CQL [8], MF-CQL [6], TelegraphCQ [1], and TinyDB [9]. These languages extend SQL with window opera- tors, relation-to-stream operators, syntax to spec- ify the sampling period and the lifetime of the sensor network, and even syntax to generate out- put streams based on the query result. In con- trast to the above SQL-style languages, Aurora and Borealis focus on a "Box-and-Arrow" pro- gramming model where one describes queries as a graph of operators with a series of param- eters. Service-oriented middlewares (SOM) for pervasive spaces such as Gaia [10], Oxygen [11], PICO [12], Scooby [13], and Aura take an approach similar to Aurora and Borealis where applications are described as graphs of services. Each device in the pervasive/ubiquitous space advertises its capabilities as services. The main 20.1.2. Limitations of Existing Research Since pervasive sensing and monitoring systems create awareness out of continuous data streams generated at the sensors, many of the techniques for stream processing and sensor networks dis- cussed above are highly relevant to building sen- tient space applications. Although existing efforts provide effective data processing capabilities over continuous streams of data, it exhibits significant limitations, in our view, to serve as a platform for building sentient spaces. We highlight these chal- lenges below: