Runtime semantic query optimization for event stream processing
First Claim
Patent Images
1. A method for applying a query to an event stream, comprising:
- storing one or more event constraints specifying a predetermined order or occurrence of events in a stream of events ordered by timestamps, wherein the event constraints represent prior knowledge to discern event patterns that can appear in the event stream from patterns that cannot appear in the event stream;
generating a query with one or more correlation rules representing one or more event patterns to be detected in the event stream;
analyzing the query for query unsatisfiability using the event constraints and predicting whether upcoming events satisfy the constraints in the query;
performing constraint aware complex event processing on the query and the event constraints by determining whether the event stream corresponds to the correlation rules in the query; and
optimizing the query by detecting and terminating an unsatisfiable query as early as possible using the query and the event constraints,where the event stream can be partitioned into multiple sub-sequences based on a predetermined criteria, each partition of the event stream comprising a trace, andwhere for a query Q, event constraints C and a partial trace hp, Q is said to be runtime unsatisfiable if there does not exist a trace he that is consistent with C and contains a match to Q, where hp is prefix of he where event data becomes available in order of occurrences and the partial trace hp is the prefix of the trace he and wherein the trace comprises sub-sequences of the stream of events (event history) and wherein the query Q is runtime unsatisfiable if there does not exist a remaining trace hp=he−
hp that contains a match to a remaining query.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and method are disclosed for applying a query to an event stream by storing one or more event constraints; performing constraint aware complex event processing on the query and the event constraints; and optimizing the query at run time.
40 Citations
20 Claims
-
1. A method for applying a query to an event stream, comprising:
-
storing one or more event constraints specifying a predetermined order or occurrence of events in a stream of events ordered by timestamps, wherein the event constraints represent prior knowledge to discern event patterns that can appear in the event stream from patterns that cannot appear in the event stream; generating a query with one or more correlation rules representing one or more event patterns to be detected in the event stream; analyzing the query for query unsatisfiability using the event constraints and predicting whether upcoming events satisfy the constraints in the query; performing constraint aware complex event processing on the query and the event constraints by determining whether the event stream corresponds to the correlation rules in the query; and optimizing the query by detecting and terminating an unsatisfiable query as early as possible using the query and the event constraints, where the event stream can be partitioned into multiple sub-sequences based on a predetermined criteria, each partition of the event stream comprising a trace, and where for a query Q, event constraints C and a partial trace hp, Q is said to be runtime unsatisfiable if there does not exist a trace he that is consistent with C and contains a match to Q, where hp is prefix of he where event data becomes available in order of occurrences and the partial trace hp is the prefix of the trace he and wherein the trace comprises sub-sequences of the stream of events (event history) and wherein the query Q is runtime unsatisfiable if there does not exist a remaining trace hp =he−
hp that contains a match to a remaining query. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
2. A system to process an event stream, comprising:
-
a constraint database to store one or more event constraints specifying a predetermined order or occurrence of events in a stream of events ordered by timestamps, wherein the event constraints represent prior knowledge to discern event patterns that can appear in the event stream from patterns that cannot appear in the event stream; a query with one or more correlation rules representing one or more event patterns to be detected in the event stream; a constraint processor coupled to the database to perform constraint aware complex event processing on a query and the event constraints, the constraint processor analyzing the query for query unsatisfiability using the event constraints and predicting whether upcoming events satisfy the constraints in the query; and a query processor coupled to the constraint processor to optimize the query optimizing the query by detecting and terminating an unsatisfiable query as early as possible using the query and the event constraints at run time by determining whether the event stream corresponds to the correlation rules in the query, where the event stream can be partitioned into multiple sub-sequences based on a predetermined criteria, each partition of the event stream comprising a trace, and where for a query Q, event constraints C and a partial trace hp, Q is said to be runtime unsatisfiable if there does not exist a trace he that is consistent with C and contains a match to Q, where hp is prefix of he where event data becomes available in order of occurrences and the partial trace hp is the prefix of the trace he and wherein the trace comprises sub-sequences of the stream of events (event history) and wherein the query is runtime unsatisfiable if there does not exist a remaining trace hp =he−
hp that contains a match to a remaining query.
-
-
13. A system to process an event stream, comprising:
-
a constraint database to store one or more event constraints specifying a predetermined order or occurrence of events in a stream of events ordered by timestamps, wherein the event constraints represent prior knowledge to discern event patterns that can appear in the event stream from patterns that cannot appear in the event stream; a query with one or more correlation rules representing one or more event patterns to be detected in the event stream; a constraint processor coupled to the database to perform constraint aware complex event processing on a query and the event constraints, the constraint processor analyzing the query for query unsatisfiability using the event constraints and predicting whether upcoming events satisfy the constraints in the query; and a query processor coupled to the constraint processor to optimize the query optimizing the query by detecting and terminating an unsatisfiable query as early as possible using the query and the event constraints at run time by determining whether the event stream corresponds to the correlation rules in the query, where the event stream can be partitioned into multiple sub-sequences based on a predetermined criteria, each partition of the event stream comprising a trace, and where for a query Q, event constraints C and a partial trace hp, Q is said to be runtime unsatisfiable if there does not exist a trace he that is consistent with C and contains a match to Q, where hp is prefix of he where event data becomes available in order of occurrences and the partial trace hp is the prefix of the trace he. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification