Complex Temporal Patterns Detection over Continuous Data Streams

A growing number of applications require support for processing data that is in the form of continuous stream, rather than finite stored data. In this paper we present a new approach for detecting temporal patterns with complex predicates over continuous data stream. Our algorithm efficiently scans the stream with a sliding window, and checks the data inside the window from right-to-left to see if they satisfy the pattern predicates. By first preprocessing the complex temporal patterns at compile time, it can exploit their predicates interdependency, and skip unnecessary checks with efficient window slides at run time. It resembles the sliding window process of the Boyer-Moore algorithm, although allowing complex predicates that are beyond the scope of this traditional string search algorithm. Some preliminary evaluation of our proposed algorithm shows its efficiency when compared to the naive approach.