IP Library Granted Patent US 9,697,072
Granted Patent B2
US 9,697,072 · App. 14/525,737 · Granted Jul 4, 2017

Self-correcting complex event processing system and corresponding method for error correction

Inventor: Harald Schöning (Dieburg, DE)
Assignee: SOFTWARE AG
G06F11/10G06F11/0706G06F11/0793H04L41/0806
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 9,697,072
App. No.
14/525,737
Granted
Jul 4, 2017
Kind
B2
Abstract

Certain example embodiments relate to a complex event processing, CEP, system, including an error correction component configured to receive a stream of events including at least one event from at least one event source. The error correction component is configured to detect at least one error in the at least one event. The error correction component is configured to emit a corrected stream of events including at least one event, which can then be processed by at least one event processing application.

Claims (27)

1. A complex event processing system, comprising:

a correction component, including at least one processor, configured to receive a stream of events comprising at least one event transmitted, over an event bus that is external to the correction component, from at least one event source to at least one event processing application configured to execute a continuous query on event streams transmitted over the event bus;

wherein the correction component is interposed between the at least one event processing application and the at least one event source, is logically decoupled from the at least one event processing application and is configured to detect at least one error in the at least one event and to prevent erroneous events from being transmitted to the at least one event processing application by modifying such events so that they are either corrected prior to, or excluded from, onward transmission to the at least one event processing application; and

wherein the correction component is configured to emit, over the event bus that is external to the correction component, a corrected stream of events comprising the at least one modified event that is subsequently processible by the at least one event processing application.

2. The system of claim 1 , wherein the correction component is configured to detect the at least one error in the at least one event based on at least one configuration file specifying an expected behavior of the at least one event source, comprising an indication whether time-ordered event delivery is expected, a maximum tolerated event delay time and/or an expected arrival rate of events.

3. The system of claim 1 , wherein the correction component is configured to detect the at least one error in the at least one event based on at least one configuration file specifying at least one error correction parameter for the at least one event, comprising an allowed value range, an allowed change rate and/or an expected value distribution.

4. The system of claim 2 , wherein the at least one configuration file further specifies at least one error correction method to be applied by the correction component, comprising a reference to a function for calculating at least one corrected event, ignoring at least one event, replacing at least one erroneous value of at least one event with at least one value of a previous event and/or generating at least one interpolated value for at least one event.

5. The system of claim 1 , wherein at least one configuration file is stored in a repository.

6. The system of claim 2 , wherein the at least one configuration file specifies a grouping of events, and wherein the correction component is configured to apply an error correction method on the grouping of events.

7. The system of claim 1 , wherein the correction component is further configured to emit at least one error event indicating that at least one error in the stream of events was detected, wherein the at least one error event is consumable by a monitoring component.

8. The system of claim 2 , wherein the at least one event and/or the at least one configuration file is XML based.

9. The system of claim 2 , wherein the correction component is configured to adapt the at least one configuration file based on the corrected stream of events and/or the at least one error event.

10. A method for correcting events in a stream of events in a complex event processing (CEP) system performed by a correction component operating under the control of processing resources including at least one processor, the method comprising:

receiving, by the correction component, a stream of events comprising at least one event transmitted, over an event bus that is external to the correction component, from at least one event source to at least one event processing application configured to execute a continuous query on event streams transmitted over the event bus, wherein the correction component is interposed between the at least one event processing application and the at least one event source and is logically decoupled from the at least one event processing application;

detecting, by the correction component, at least one error in the at least one event;

preventing erroneous events from being transmitted to the at least one event processing application by modifying the at least one event in which the at least one error is detected so that the at least one event is either corrected prior to, or excluded from, onward transmission to the at least one event processing application; and

emitting, by the correction component over the event bus, a corrected stream of events comprising the at least one modified event that is subsequently processible by at least one event processing application.

11. The method of claim 10 , wherein the detecting is performed based on at least one configuration file specifying an expected behavior of the at least one event source, comprising an indication of whether time-ordered event delivery is expected, a maximum tolerated event delay time and/or an expected arrival rate of events.

12. The method of claim 11 , further comprising applying, by the correction component, at least one error correction method based on at least one configuration file specifying the at least one error correction method to be applied by the correction component, comprising a reference to a function for calculating at least one corrected event, ignoring at least one event, replacing at least one erroneous value of at least one event with at least one value of a previous event, and/or generating at least one interpolated value for at least one event.

13. The method of claim 11 , further comprising applying, by the correction component, at least one error correction method on a grouping of events that is specified in the at least one configuration file.

14. The method of claim 10 , further comprising emitting, by the correction component, at least one error event indicating that at least one error in the stream of events was detected, wherein the at least one error event is consumable by a monitoring component.

15. A non-transitory computer readable storage medium tangibly storing a computer program for correcting events in a stream of events in a complex event processing (CEP) system, the program comprising instructions that, when executed by a correction component operating under the control of processing resources, perform functionality comprising:

receiving, by the correction component, a stream of events comprising at least one event transmitted, over an event bus that is external to the correction component, from at least one event source to at least one event processing application configured to execute a continuous query on event streams transmitted over the event bus, wherein the correction component is interposed between the at least one event processing application and the at least one event source and is logically decoupled from the at least one event processing application;

detecting, by the correction component, at least one error in the at least one event;

preventing erroneous events from being transmitted to the at least one event processing application by modifying the at least one event in which the at least one error is detected so that the at least one event is either corrected prior to, or excluded from onward, transmission to the at least one event processing application; and

emitting, by the correction component over an event bus that is external to the correction component, a corrected stream of events comprising the at least one modified event that is subsequently processible by the at least one event processing application.

16. The system of claim 1 , wherein the correction component is decoupled from queries executable by the at least one event processing application.

Assignments (3)
MERGER Recorded Dec 17, 2024
From: SOFTWARE AG
To: MOSEL BIDCO AG
Reel/Frame 069715/0235 →
CHANGE OF NAME Recorded Dec 17, 2024
From: MOSEL BIDCO AG
To: SOFTWARE GMBH
Reel/Frame 069715/0411 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2014
From: SCHOENING, HARALD
To: SOFTWARE AG
Reel/Frame 034166/0105 →
Priority Claims (1)
EP 13190497 · Oct 28, 2013 · regional
Continuity (1)
Related Publication 20150121175A1 · Apr 30, 2015