Distributed complex event processing
First Claim
Patent Images
1. A method comprising:
- constructing at least one complex event query specification comprising one or more grouping criteria by which event data is grouped into distributed event streams, one or more filtering criteria by which individual events relevant to a given complex event are specified and one or more query statements specifying event stream processing to be performed by complex event processing engines;
establishing a time interval defining an event stream continuation interval for mapping the distributed event streams to complex event processing engines;
analyzing said at least one complex event query specification to determine a given number of different complex event processing engines and corresponding distributed event streams based on the grouping criteria in said at least one complex event query specification;
instantiating the given number of complex event processing engines;
activating said at least one complex event query specification in the complex event processing engines; and
responsive to determining that a new event stream continuation interval has arrived based on the established time interval;
identifying new event data stored in a distributed file system relevant to said at least one complex event query specification, wherein relevance is determined based on the one or more filtering criteria in said at least one complex event query specification; and
mapping the new event data to respective ones of the complex event processing engines via the distributed event streams, wherein the complex event processing engines evaluates the one or more query statements of said at least one complex event query specification for the event data in the distributed event streams;
wherein the method is performed by at least one processing device comprising a processor coupled to a memory, the at least one processing device comprising one or more master processing nodes and one or more slave processing nodes, the complex event processing engines being instantiated on respective ones of the slave processing nodes, the slave processing nodes executing under control of the master processing nodes;
wherein the master processing nodes are configured to implement an application interface for constructing the at least one complex event processing query, to coordinate use of compute and storage resources by the complex event processing engines, to track one or more complex event processing jobs performed by the complex event processing engines, and to control and record transactions of the complex event processing jobs in a distributed file system;
wherein a given one of the slave processing nodes is configured to monitor one or more of the complex event processing jobs, to report job progress for the one or more complex event processing jobs to the master processing nodes, to perform file system transactions for one or more of the complex event processing jobs in the distributed file system, and to provide event data from the distributed file system to a given one of the complex event processing engines;
wherein said at least one complex event query specification comprises two or more complex event query specifications;
wherein a first one of the complex event processing engines and at least a second one of the complex event processing engines are activated with a same one of the two or more complex event query specifications; and
wherein a third one of the complex event processing engines and at least a fourth one of the complex event processing engines are activated with different ones of the two or more complex event query specifications.
9 Assignments
0 Petitions
Accused Products
Abstract
A complex event query specification may be constructed that a complex event processing engine uses to analyze an event stream for an occurrence of a complex event. Event data stored in a distributed file system are mapped to respective instances of the complex event processing engine in respective distributed event streams. The distributed event streams are analyzed by the independently executing complex event processing engines in accordance with the complex event query specification. The occurrence of the complex event in any of the distributed event streams is indicated at the output of the complex event processing engines.
31 Citations
18 Claims
-
1. A method comprising:
-
constructing at least one complex event query specification comprising one or more grouping criteria by which event data is grouped into distributed event streams, one or more filtering criteria by which individual events relevant to a given complex event are specified and one or more query statements specifying event stream processing to be performed by complex event processing engines; establishing a time interval defining an event stream continuation interval for mapping the distributed event streams to complex event processing engines; analyzing said at least one complex event query specification to determine a given number of different complex event processing engines and corresponding distributed event streams based on the grouping criteria in said at least one complex event query specification; instantiating the given number of complex event processing engines; activating said at least one complex event query specification in the complex event processing engines; and responsive to determining that a new event stream continuation interval has arrived based on the established time interval; identifying new event data stored in a distributed file system relevant to said at least one complex event query specification, wherein relevance is determined based on the one or more filtering criteria in said at least one complex event query specification; and mapping the new event data to respective ones of the complex event processing engines via the distributed event streams, wherein the complex event processing engines evaluates the one or more query statements of said at least one complex event query specification for the event data in the distributed event streams; wherein the method is performed by at least one processing device comprising a processor coupled to a memory, the at least one processing device comprising one or more master processing nodes and one or more slave processing nodes, the complex event processing engines being instantiated on respective ones of the slave processing nodes, the slave processing nodes executing under control of the master processing nodes; wherein the master processing nodes are configured to implement an application interface for constructing the at least one complex event processing query, to coordinate use of compute and storage resources by the complex event processing engines, to track one or more complex event processing jobs performed by the complex event processing engines, and to control and record transactions of the complex event processing jobs in a distributed file system; wherein a given one of the slave processing nodes is configured to monitor one or more of the complex event processing jobs, to report job progress for the one or more complex event processing jobs to the master processing nodes, to perform file system transactions for one or more of the complex event processing jobs in the distributed file system, and to provide event data from the distributed file system to a given one of the complex event processing engines; wherein said at least one complex event query specification comprises two or more complex event query specifications; wherein a first one of the complex event processing engines and at least a second one of the complex event processing engines are activated with a same one of the two or more complex event query specifications; and wherein a third one of the complex event processing engines and at least a fourth one of the complex event processing engines are activated with different ones of the two or more complex event query specifications. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An apparatus comprising:
-
at least one processing device comprising a processor coupled to a memory; the at least one processing device being configured; to construct at least one complex event query specification comprising one or more grouping criteria by which event data is grouped into distributed event streams, one or more filtering criteria by which individual events relevant to a given complex event are specified and one or more query statements specifying event stream processing to be performed by complex event processing engines; to establish a time interval defining an event stream continuation interval for mapping the distributed event streams to complex event processing engines; to analyze said at least one complex event query specification to determine a given number of different complex event processing engines and corresponding distributed event streams based on the grouping criteria in said at least one complex event query specification; to instantiate the given number of complex event processing engines; to activate said at least one complex event query specification in the complex event processing engines; and responsive to determining that a new event stream continuation interval has arrived based on the established time interval; to identify new event data stored in a distributed file system relevant to said at least one complex event query specification, wherein relevance is determined based on the one or more filtering criteria in said at least one complex event query specification; and to map the new event data to respective ones of the complex event processing engines via the distributed event streams, wherein the complex event processing engines evaluates the one or more query statements of said at least one complex event query specification for the event data in the distributed event streams; wherein the at least one processing device comprises one or more master processing nodes and one or more slave processing nodes, the complex event processing engines being instantiated on respective ones of the slave processing nodes, the slave processing nodes executing under control of the master processing nodes; wherein the master processing nodes are configured to implement an application interface for constructing the at least one complex event processing query, to coordinate use of compute and storage resources by the complex event processing engines, to track one or more complex event processing jobs performed by the complex event processing engines, and to control and record transactions of the complex event processing jobs in a distributed file system; wherein a given one of the slave processing nodes is configured to monitor one or more of the complex event processing jobs, to report job progress for the one or more complex event processing jobs to the master processing nodes, to perform file system transactions for one or more of the complex event processing jobs in the distributed file system, and to provide event data from the distributed file system to a given one of the complex event processing engines; wherein said at least one complex event query specification comprises two or more complex event query specifications; wherein a first one of the complex event processing engines and at least a second one of the complex event processing engines are activated with a same one of the two or more complex event query specifications; and wherein a third one of the complex event processing engines and at least a fourth one of the complex event processing engines are activated with different ones of the two or more complex event query specifications. - View Dependent Claims (14, 15)
-
-
16. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device cause the at least one processing device:
-
to construct at least one complex event query specification comprising one or more grouping criteria by which event data is grouped into distributed event streams, one or more filtering criteria by which individual events relevant to a given complex event are specified and one or more query statements specifying event stream processing to be performed by complex event processing engines; to establish a time interval defining an event stream continuation interval for mapping the distributed event streams to complex event processing engines; to analyze said at least one complex event query specification to determine a given number of different complex event processing engines and corresponding distributed event streams based on the grouping criteria in said at least one complex event query specification; to instantiate the given number of complex event processing engines; to activate said at least one complex event query specification in the complex event processing engines; and responsive to determining that a new event stream continuation interval has arrived based on the established time interval; to identify new event data stored in a distributed file system relevant to said at least one complex event query specification, wherein relevance is determined based on the one or more filtering criteria in said at least one complex event query specification; and to map the new event data to respective ones of the complex event processing engines via the distributed event streams, wherein the complex event processing engines evaluates the one or more query statements of said at least one complex event query specification for the event data in the distributed event streams; wherein the at least one processing device comprises one or more master processing nodes and one or more slave processing nodes, the complex event processing engines being instantiated on respective ones of the slave processing nodes, the slave processing nodes executing under control of the master processing nodes; wherein the master processing nodes are configured to implement an application interface for constructing the at least one complex event processing query, to coordinate use of compute and storage resources by the complex event processing engines, to track one or more complex event processing jobs performed by the complex event processing engines, and to control and record transactions of the complex event processing jobs in a distributed file system; and wherein a given one of the slave processing nodes is configured to monitor one or more of the complex event processing jobs, to report job progress for the one or more complex event processing jobs to the master processing nodes, to perform file system transactions for one or more of the complex event processing jobs in the distributed file system, and to provide event data from the distributed file system to a given one of the complex event processing engines; wherein said at least one complex event query specification comprises two or more complex event query specifications; wherein a first one of the complex event processing engines and at least a second one of the complex event processing engines are activated with a same one of the two or more complex event query specifications; and wherein a third one of the complex event processing engines and at least a fourth one of the complex event processing engines are activated with different ones of the two or more complex event query specifications. - View Dependent Claims (17, 18)
-
Specification