Join operations for continuous queries over archived views
US-9262479-B2 · Feb 16, 2016 · US
US9390135B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9390135-B2 |
| Application number | US-201313770961-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 19, 2013 |
| Priority date | Feb 19, 2013 |
| Publication date | Jul 12, 2016 |
| Grant date | Jul 12, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A continuous event processing (CEP) query processor determines how and when a CEP query can be processed in a concurrent manner, such that multiple threads of execution can concurrently perform at least some of the CEP query's operations concurrently with each other. According to one technique, a user can instruct a CEP query processor to attempt to execute a CEP query in a concurrent manner. The CEP query processor responsively determines whether the CEP query's execution, or parts thereof, can be made concurrent based on certain constraints that can depend on inheritance and operation type. Based on this determination, the CEP query processor can execute at least certain parts of a CEP query in parallel relative to the same event within an event stream.
Opening claim text (preview).
What is claimed is: 1. A computer-readable memory storing a plurality of instructions for causing a processor to perform operations, the plurality of instructions comprising: instructions that cause the processor to determine that multiple portions of a continuous event processing (CEP) query can be executed concurrently relative to an event in an event stream, the instructions that cause the processor to determine that multiple portions of a continuous event processing (CEP) query can be executed concurrently relative to an event in an event stream comprising: instructions that cause the processor to split the CEP query into a plurality of separate operators; instructions that cause the processor to determine a separate ordering constraint for each particular operator within the plurality of separate operators; instructions that cause the processor to determine an ordering constraint for the CEP query based at least in part on the ordering constraints that the processor determined for the plurality of separate operators; and instructions that cause the processor to determine, based on the ordering constraint for the CEP query, whether the multiple portions of the CEP query can be executed in a concurrent manner; and instructions that cause the processor to execute the multiple portions of the CEP query concurrently against a first event received via the event stream, the instructions that cause the processor to execute the multiple portions of the CEP query concurrently against a first event received via the event stream comprising: instructions that cause the processor to spawn multiple threads of execution that concurrently process the multiple portions of the CEP query against the first event received via the event stream in response to determining that the multiple portions of the CEP query can be executed in a concurrent manner. 2. The computer-readable memory of claim 1 , wherein the instructions that cause the processor to determine the ordering constraint for the CEP query cause the processor to determine the ordering constraint for the CEP query based at least in part on an ordering constraint that is associated with the event stream. 3. The computer-readable memory of claim 1 , wherein the instructions that cause the processor to determine the separate ordering constraint for each particular operator within the plurality of separate operators comprise instructions that cause the processor to determine, for at least one operator of the plurality of separate operators, the ordering constraint for the particular operator based at least in part on one or more constraints of one or more other operators from which the particular operator receives input. 4. The computer-readable memory of claim 1 , wherein the instructions that cause the processor to determine the separate ordering constraint for each particular operator within the plurality of separate operators comprise instructions that cause the processor to determine, for a particular operator of the plurality of separate operators, the ordering constraint for the particular operator based at least in part on whether an operation type of the particular operator is a filtering operation type. 5. The computer-readable memory of claim 1 , wherein the instructions that cause the processor to determine the separate ordering constraint for each particular operator within the plurality of separate operators comprise instructions that cause the processor to determine, for a particular operator of the plurality of separate operators, the ordering constraint for the particular operator by determining a most constrained constraint within a set of constraints including (a) constraints of all other operators from which the particular operator receives input and (b) a constraint associated with an operation type of the particular operator. 6. The computer-readable memory of claim 1 , wherein the plurality of instructions further comprise: instructions that cause the processor to merge, into a single shared operator, (a) a first operator that is used by a first CEP query that processes events in the event stream, and (b) a second operator that is used by a second CEP query that also processes events in the event stream, in response to determining that the first operator and the second operator both perform a particular type of operation. 7. The computer-readable memory of claim 1 , wherein the plurality of instructions further comprise: instructions that cause the processor to merge, into a single shared operator, (a) a first operator that is used by a first CEP query that processes events in the event stream, and (b) a second operator that is used by a second CEP query that also processes events in the event stream, in response to determining that the first operator and the second operator both perform a particular type of operation; wherein the instructions that cause the processor to determine the separate ordering constraint for each particular operator within the plurality of separate operators comprise instructions that cause the processor to determine the ordering constraint for a third operator, which receives input from the shared operator, based at least in part on the ordering constraint of the shared operator; wherein the instructions that cause the processor to determine the separate ordering constraint for each particular operator within the plurality of separate operators comprise instructions that cause the processor to determine the ordering constraint for a fourth operator, which receives input from the shared operator, based at least in part on the ordering constraint of the shared operator; wherein the third operator is used by the first CEP query and is not used by the second CEP query; wherein the fourth operator is used by the second CEP query and is not used by the first CEP query. 8. A system for processing a data stream of events, the system comprising: a memory storing a plurality of instructions; and a processor coupled to the memory, the processor configured to execute the plurality of instructions to: determine that multiple portions of a continuous event processing (CEP) query can be executed concurrently relative to an event in an event stream, the instructions to determine that multiple portions of a continuous event processing (CEP) query can be executed concurrently relative to an event in an event stream comprising instructions to: split the CEP query into a plurality of separate operators; determine a separate ordering constraint for each particular operator within the plurality of separate operators; determine an ordering constraint for the CEP query based at least in part on the ordering constraints that the processor determined for the plurality of separate operators; and determine, based on the ordering constraint for the CEP query, whether the multiple portions of the CEP query can be executed in a concurrent manner; and execute the multiple portions of the CEP query concurrently against a first event received via the event stream, the instructions to execute the multiple portions of the CEP query concurrently against a first event received via the event stream comprising instructions to: spawn multiple threads of execution that concurrently process the multiple portions of the CEP query against the first event received via the event stream in response to determining that the multiple portions of the CEP query can be executed in a concurrent manner. 9. The system of claim 8 , wherein the processor is configured to determine the ordering constraint for the CEP query further based at least in part on an ordering constraint that is associated with the event stream. 10. The system of claim 8 , wherein the processor i
Triggers; Constraints · CPC title
Sequence data queries, e.g. querying versioned data · CPC title
Data stream processing; Continuous queries · CPC title
of parallel queries · CPC title
Physics · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.