A growing class of embedded sensor networks deployed for scientific, engineering, industrial, and medical applications use sensors that, in aggregate, capture thousands or millions of samples per second. XStream is a signal-oriented stream processing system designed to analyze these high-rate data streams effectively and efficiently, targeting applications that combine signal processing and asynchronous event-stream processing operations.
The prototype XStream system demonstrates very high performance on a single-node system. XStream's signal-oriented optimizations yield 1000x performance improvements relative to commercial streaming databases that would process each sample as a separate tuple. This single-node prototype is being extended to support distributed operation in a heterogeneous network comprised of a mixture of wireless sensor nodes, user interface devices, and wired server farms. These extensions include network protocols and components to support distributed computation and in-network storage, improved support for multi-core, multi-processor server systems, and modifications to the WaveScript query language as needed to express and implement these features. To ground and validate the XStream design, these new features are being tested in fielded deployments implementing a bio-acoustic animal localization study.
XStream will extend the state of the art in both streaming database technology and high-rate sensor systems. In addition, XStream will become a powerful tool for building interactive and reactive sensing systems, with broad application to scientific inquiry, industrial and medical systems, and defense and homeland security. The XStream source code will be released for public use and we are already working with biologists and medical researchers to apply XStream in their domains.