IP Library Granted Patent US 10,255,238
Granted Patent B2
US 10,255,238 · App. 12/929,539 · Granted Apr 9, 2019

CEP engine and method for processing CEP queries

Inventors: Michael Cammert (Wettenberg, DE); Christoph Heinz (Marburg, DE); Jürgen Krämer (Alsfeld, DE); Tobias Riemenschneider (Schwalmstadt, DE)
Assignee: SOFTWARE AG
G06F16/24568G06F16/2453G06F16/24542
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,255,238
App. No.
12/929,539
Granted
Apr 9, 2019
Kind
B2
Abstract

The present technology concerns a complex event processing (CEP) engine for processing CEP queries over data streams. The CEP engine has a parser, adapted for parsing a received CEP query into a logical query graph and a translator adapted for translating the logical query graph into a physical query plan in accordance with one of a plurality of data stream representations. The logical query graph is independent of the plurality of data stream representations.

Claims (33)

1. A system comprising at least one processor and a complex event processing (CEP) engine for processing CEP queries over data streams, the at least one processor controlling the system to:

parse a received CEP query into a logical query graph that is independent of a plurality of data stream representation models;

translate the logical query graph into a physical query plan in accordance with a selected data stream representation model from the plurality of data stream representation models, the data stream representation model selected based on preferences related to processing resources used by the CEP engine, the data stream representation model usable as a parameter in the translation process; and

execute the translated physical query plan using the data stream representation model selected from the plurality of data stream representation models based on the logical query graph, wherein

the plurality of data stream representation models comprise one or more approaches for executing the received CEP query, the one or more approaches corresponding to specific requirements for executing the received CEP query by the CEP engine.

2. The system of claim 1 , wherein the logical query graph is optimized to produce an optimized logical query graph, wherein the optimized logical query graph is independent of the plurality of data stream representation models.

3. The system of claim 2 , wherein one of the plurality of data stream representation models is selected and the logical query graph is translated into a physical query plan in accordance with the selected data stream representation model.

4. The system of claim 3 , wherein the selected data stream representation model is changed during processing of the CEP query.

5. The system of claim 2 , wherein solutions associated with one or more of the plurality of data streams are rated to optimize the logical query graph and the data stream representation model is selected from the plurality of data stream representation models in accordance with an operating criteria.

6. The system of claim 2 , wherein operators involved in the plurality of data streams are analysed and the data stream representation model is selected based on the involved operators and a rating of properties based on supported data stream representation models.

7. The system of claim 1 , wherein the physical query plan comprises at least one query building block that is independent of the plurality of data stream representation models.

8. The system of claim 1 , wherein data elements of at least one data stream to be processed by the CEP query are translated from a first data stream representation model to a second data stream representation model.

9. The system of claim 1 , wherein the plurality of data stream representation models are indicative of how one or more processing resources in the system are going to be utilized by the CEP engine.

10. The system of claim 1 , wherein the one or more approaches include a positive-negative and a time interval approach, the positive-negative approach utilizing a greater system load than the time interval approach.

11. A method implemented in an information processing apparatus having at least one processor and a complex event processing (CEP) engine for processing CEP queries over data streams, the method comprising:

a. parsing, via the at least one processor, a received CEP query into a logical query graph that is independent of a plurality of data stream representation models;

b. translating, via the at least one processor, the logical query graph into a physical query plan in accordance with a selected data stream representation model from the plurality of data stream representation models, the data stream representation model selected based on preferences related to processing resources used by the information processing apparatus, the data stream representation model usable as a parameter in the translation process; and

c. executing, via the at least one processor, the translated physical query plan using the data stream representation model selected from the plurality of data stream representation models based on the logical query graph, wherein

the plurality of data stream representation models comprise one or more approaches for executing the received CEP query, the one or more approaches corresponding to specific requirements for executing the received CEP query by the CEP engine.

12. The method of claim 11 , further comprising optimizing the logical query graph to produce an optimized logical query graph, wherein the optimized logical query graph is independent of the plurality of data stream representation models.

13. The method of claim 12 , wherein the optimizing comprises selecting one of the plurality of data stream representation models and wherein the translating comprises translating the logical query graph into a physical query plan in accordance with the selected data stream representation model.

14. The method of claim 13 , further comprising changing the selected data stream representation model during processing of the CEP query.

15. The method of claim 11 , wherein the physical query plan comprises at least one query building block that is independent of the plurality of data stream representation models.

16. The method of claim 11 , further comprising translating data elements of at least one data stream to be processed by the CEP query from a first data stream representation model to a second data stream representation model.

17. A non-transitory computer readable storage medium tangibly storing a computer program comprising instructions for using a complex event processing (CEP) engine for processing CEP queries over data streams that, when executed, cause a computer to:

parse a received CEP query into a logical query graph that is independent of a plurality of data stream representation models;

translate the logical query graph into a physical query plan in accordance with a selected data stream representation model from the plurality of data stream representation models, the data stream representation model selected based on preferences related to utilized processing resources, the data stream representation model usable as a parameter in the translation process; and

execute the translated physical query plan using the data stream representation model selected from the plurality of data stream representation models based on the logical query graph, wherein

the plurality of data stream representation models comprise one or more approaches for executing the received CEP query, the one or more approaches corresponding to specific requirements for executing the received CEP query by the CEP engine.

18. The non-transitory computer readable storage medium of claim 17 , further comprising optimizing the logical query graph to produce an optimized logical query graph, wherein the optimized logical query graph is independent of the plurality of data stream representation models.

19. The non-transitory computer readable storage medium of claim 18 , wherein the optimizing comprises selecting one of the plurality of data stream representation models and wherein the translating comprises translating the logical query graph into a physical query plan in accordance with the selected data stream representation model.

20. The non-transitory computer readable storage medium of claim 17 , wherein the physical query plan comprises at least one query building block that is independent of the plurality of data stream representation models.

21. The non-transitory computer readable storage medium of claim 17 , further comprising translating, by at least one operator, data elements of at least one data stream to be processed by the CEP query from a first data stream representation model to a second data stream representation model.

Assignments (4)
CHANGE OF NAME Recorded Dec 17, 2024
From: MOSEL BIDCO AG
To: SOFTWARE GMBH
Reel/Frame 069715/0415 →
MERGER Recorded Dec 17, 2024
From: SOFTWARE AG
To: MOSEL BIDCO AG
Reel/Frame 070095/0634 →
CORRECTIVE ASSIGNMENT TO CORRECT THE STREET ADDRESS OF THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 026164 FRAME 0263. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 20, 2012
From: CAMMERT, MICHAEL; HEINZ, CHRISTOPH; KRAEMER, JUERGEN; RIEMENSCHNEIDER, TOBIAS
To: SOFTWARE AG
Reel/Frame 029530/0098 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2011
From: CAMMERT, MICHAEL; HEINZ, CHRISTOPH; KRAEMER, JUERGEN; RIEMENSCHNEIDER, TOBIAS
To: SOFTWARE AG
Reel/Frame 026164/0263 →
Priority Claims (1)
EP 10196502 · Dec 22, 2010 · regional
Continuity (1)
Related Publication 20120166469A1 · Jun 28, 2012