IP Library Granted Patent US 8,978,049
Granted Patent B2
US 8,978,049 · App. 13/545,474 · Granted Mar 10, 2015

System and method for realtime detection of process disruptions in event-driven architectures

Inventor: Martin Grumann (Schwetzingen, DE)
Assignee: Software AG
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 8,978,049
App. No.
13/545,474
Granted
Mar 10, 2015
Kind
B2
Abstract

Certain example embodiments relate to a system for realtime detection of process execution disruptions in an event-driven architecture. A plurality of event-driven applications each execute at least one process step to participate in the execution of a process. The system includes an event bus usable by the plurality of event-driven applications to communicate events among each other. The event bus comprises a control channel, the control channel being configured to receive at least one start event and at least one stop event from the plurality of event-driven applications. The start and stop events indicate the execution of a corresponding process step. The system further includes a Complex Event Processing (CEP) engine configured to analyze the start and stop events on the control channel to detect a disruption of the process.

Claims (41)

1. A system for realtime detection of process execution disruptions in an event-driven architecture, wherein a plurality of event-driven applications, in connection with respective processing resources including at least one processor, each execute at least one process step to participate in the execution of a process, wherein the system comprises:

an event bus including one or more channels, the event bus being usable by the plurality of event-driven applications to communicate events among each other via the one or more channels;

wherein the event bus comprises a dedicated control channel, that is distinct from the other channels of the event bus, the dedicated control channel being configured to receive at least one start event and at least one stop event from the plurality of event-driven applications, wherein the start and stop events indicate the execution of a corresponding process step;

wherein the system further comprises: a Complex Event Processing (CEP) engine in communication with the dedicated control channel, the CEP engine being configured to execute at least one continuous query on the start and stop events on the dedicated control channel to detect a disruption of the process, the at least one continuous query comprising a predefined process step threshold, and

wherein the CEP engine is further configured to evaluate whether a start event on the dedicated control channel is followed by a corresponding stop event before expiration of the threshold.

2. The system of claim 1 , wherein detecting a disruption of the process comprises detecting that process steps are not executed in a predetermined order, detecting that the execution time of a process step exceeds a predefined threshold, detecting that the execution time of a process step transition exceeds a predefined threshold and/or detecting that the execution time of the process exceeds a predefined threshold.

3. The system of claim 1 , wherein an event on the dedicated control channel comprises a process identifier, a process instance identifier, a process step identifier and/or a type, the type indicating whether the event is a start event or a stop event.

4. The system of claim 1 , wherein the at least one continuous query evaluates the sequence of start events on the dedicated control channel to determine whether the process steps are executed in a predetermined order.

5. The system of claim 1 , wherein the at least one continuous query takes into account a process instance identifier defined in the start and stop events to correlate events relating to the same process instance.

6. A system for realtime detection of process execution disruptions in an event-driven architecture, wherein a plurality of event-driven applications, in connection with respective processing resources including at least one processor, each execute at least one process step to participate in the execution of a process, wherein the system comprises:

an event bus including one or more channels, the event bus being usable by the plurality of event-driven applications to communicate events among each other via the one or more channels;

wherein the event bus comprises a dedicated control channel, that is distinct from the other channels of the event bus, the dedicated control channel being configured to receive at least one start event and at least one stop event from the plurality of event-driven applications, wherein the start and stop events indicate the execution of a corresponding process step;

wherein the system further comprises: a Complex Event Processing (CEP) engine in communication with the dedicated control channel, the CEP engine being configured to execute at least one continuous query on the start and stop events on the dedicated control channel to detect a disruption of the process, the at least one continuous query comprising a predefined process step transition threshold, and

wherein the CEP engine is further configured to evaluate whether a stop event on the dedicated control channel relating to a first process step is followed by a start event relating to the succeeding process step before expiration of the threshold.

7. The system of claim 6 , wherein detecting a disruption of the process comprises detecting that process steps are not executed in a predetermined order, detecting that the execution time of a process step exceeds a predefined threshold, detecting that the execution time of a process step transition exceeds a predefined threshold, and/or detecting that the execution time of the process exceeds a predefined threshold.

8. The system of claim 6 , wherein an event on the dedicated control channel comprises a process identifier, a process instance identifier, a process step identifier, and/or a type, the type indicating whether the event is a start event or a stop event.

9. A system for realtime detection of process execution disruptions in an event-driven architecture, wherein a plurality of event-driven applications, in connection with respective processing resources including at least one processor, each execute at least one process step to participate in the execution of a process, wherein the system comprises:

an event bus including one or more channels, the event bus being usable by the plurality of event-driven applications to communicate events among each other via the one or more channels;

wherein the event bus comprises a dedicated control channel, that is distinct from the other channels of the event bus, the dedicated control channel being configured to receive at least one start event and at least one stop event from the plurality of event-driven applications, wherein the start and stop events indicate the execution of a corresponding process step;

wherein the system further comprises: a Complex Event Processing (CEP) engine in communication with the dedicated control channel, the CEP engine being configured to execute at least one continuous query on the start and stop events on the dedicated control channel to detect a disruption of the process, the at least one continuous query comprising a predefined process threshold, and

wherein the CEP engine is further configured to evaluate whether a stop event on the dedicated control channel occurs relating to the last step of the process before expiration of the threshold.

10. The system of claim 9 , wherein detecting a disruption of the process comprises detecting that process steps are not executed in a predetermined order, detecting that the execution time of a process step exceeds a predefined threshold, detecting that the execution time of a process step transition exceeds a predefined threshold, and/or detecting that the execution time of the process exceeds a predefined threshold.

11. The system of claim 9 , wherein an event on the dedicated control channel comprises a process identifier, a process instance identifier, a process step identifier, and/or a type, the type indicating whether the event is a start event or a stop event.

12. A method for realtime detection of process execution disruptions in an event-driven architecture, wherein a plurality of event-driven applications each execute at least one process step to participate in the execution of a process, the method comprising:

receiving, on a dedicated control channel of an event bus including one or more additional channels usable by the plurality of event-driven applications to communicate events among each other via the one or more additional channels, at least one start event and at least one stop event from the plurality of event-driven applications, wherein the start and stop events indicate the execution of a corresponding process step, and wherein the dedicated control channel is distinct from the one or more additional channels of the event bus;

executing, in connection with a Complex Event Processing (CEP) engine in communication with the dedicated control channel and running on a computer system including at least one processor and a memory, at least one continuous query on the start and stop events on the dedicated control channel to detect a disruption of the process, wherein the at least one continuous query comprises a predefined process step threshold, the CEP engine evaluating whether a start event on the dedicated control channel is followed by a corresponding stop event before expiration of the threshold.

13. The method of claim 12 , wherein an event on the dedicated control channel comprises a process identifier, a process instance identifier, a process step identifier and/or a type, the type indicating whether the event is a start event or a stop event.

14. The method of claim 12 , wherein the at least one continuous query evaluates the sequence of start events on the dedicated control channel to determine whether the process steps are executed in a predetermined order.

15. The method of claim 12 , wherein the at least one continuous query takes into account a process instance identifier defined in the start and stop events to correlate events relating to the same process instance.

16. A non-transitory computer readable storage medium tangibly storing a computer program comprising instructions for implementing real-time detection of process execution disruptions in an event-driven architecture, wherein a plurality of event-driven applications each execute at least one process step to participate in the execution of a process, the instructions being implemented to at least:

receive, on a dedicated control channel of an event bus including one or more channels usable by the plurality of event-driven applications to communicate events among each other via the one or more channels, at least one start event and at least one stop event from the plurality of event-driven applications, wherein the start and stop events indicate the execution of a corresponding process step and the dedicated control channel is distinct from the other channels of the event bus; and

execute, in connection with a Complex Event Processing (CEP) engine in communication with the dedicated control channel and running on a computer system including at least one processor and a memory, at least one continuous query on the start and stop events on the dedicated control channel to detect a disruption of the process, wherein the at least one continuous query comprises a predefined process step threshold, and wherein the CEP engine is configured to evaluate whether a start event on the dedicated control channel is followed by a corresponding stop event before expiration of the threshold.

17. A system for realtime detection of process execution disruptions in an event-driven architecture, wherein a plurality of event-driven applications, in connection with respective processing resources including at least one processor, each execute at least one process step to participate in the execution of a process, wherein the system comprises:

an event bus usable by the plurality of event-driven applications to communicate events among each other via the event bus;

the event bus comprising a control channel configured to receive at least one start event and at least one stop event from the plurality of event-driven applications, wherein the start and stop events indicate the execution of a corresponding process step;

wherein the system further comprises: a Complex Event Processing (CEP) engine configured to analyze the start and stop events on the control channel and execute at least one continuous query to evaluate a sequence of the events on the control channel to detect a disruption of the process, wherein the at least one continuous query comprises at least one of:

a first predefined process step threshold and evaluates whether a start event on the control channel is followed by a corresponding stop event before expiration of the first threshold;

a second predefined process step transition threshold and evaluates whether a stop event on the control channel relating to a first process step is followed by a start event relating to the succeeding process step before expiration of the second threshold; and/or

a third predefined process threshold and evaluates whether a stop event on the control channel occurs relating to the last step of the process before expiration of the third threshold.

18. The system of claim 17 , wherein the continuous query is executed on each new event occurring on the control channel.

19. The system of claim 17 , wherein the continuous query reads a process step identifier defined in the start event and the stop event to correlate events relating to the same process instance.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2024
From: SOFTWARE AG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 069048/0240 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2012
From: GRUMANN, MARTIN
To: SOFTWARE AG
Reel/Frame 028522/0686 →
Priority Claims (1)
EP 12172403 · Jun 18, 2012 · regional
Continuity (1)
Related Publication 20130339984A1 · Dec 19, 2013