IP Library Granted Patent US 10,180,864
Granted Patent B2
US 10,180,864 · App. 15/349,553 · Granted Jan 15, 2019

Increasing efficiency of an event processing system

Inventors: Rocky He (Shanghai, CN); Chester Feng (Shanghai, CN); Grace Yu (Shanghai, CN)
Assignee: SAP SE
G06F9/542G06F9/543
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,180,864
App. No.
15/349,553
Granted
Jan 15, 2019
Kind
B2
Abstract

Systems and methods of increasing the efficiency of an event processing system are disclosed. In some example embodiments, a computer-implemented method comprises identifying a first group of computing events from a plurality of computing events in an execution pipeline based on a similarity between the computing events of the first group, and merging the computing events of the first group into a single representative computing event of the first group in the execution pipeline. In some example embodiments, the identifying of the first group of computing events comprises calculating a corresponding identifier using a hash function on at least one attribute of the corresponding computing event for each one of the plurality of computing events in the execution pipeline, and determining that the computing events of the first group have corresponding identifiers that match each other.

Claims (43)

1. A system of increasing efficiency in an event processing system, the system comprising:

at least one processor; and

a non-transitory computer-readable medium storing executable instructions that, when executed, cause the at least one processor to perform operations comprising:

identifying a first group of computing events from a plurality of computing events in an execution pipeline based on a similarity between the computing events of the first group, the identifying comprising determining that the computing events of the first group of computing events in the execution pipeline have corresponding identifiers that match each other;

determining that a computing event of the first group of computing events is allowed to merge; and

based on the determination that the computing events of the first group have corresponding identifiers that match each other and the determination that the computing event of the first group is allowed to merge, merging the computing events of the first group into a single representative computing event of the first group in the execution pipeline, the merging the computing events of the first group comprises:

identifying one of the computing events of the first group as the oldest computing event in the first group;

selecting the one of the computing events of the first group to be the single representative computing event of the first group based on the identifying of the one of the computing events of the first group as the oldest computing event in the first group; and

removing all of the computing events of the first group other than the selected one from the execution pipeline.

2. The system of claim 1 , wherein the execution pipeline comprises a first-in first-out (FIFO) data structure.

3. The system of claim 1 , wherein the identifying the first group of computing events comprises:

for each one of the plurality of computing events in the execution pipeline, calculating a corresponding identifier using a hash function on at least one attribute of the corresponding computing event.

4. The system of claim 3 , wherein the at least one attribute comprises at least one of an event type, an event identification, an event content, and a merge method.

5. The system of claim 3 , wherein the hash function comprises an MD5 hash function.

6. The system of claim 1 , wherein the operations further comprise executing the single representative computing event of the first group.

7. The system of claim 1 ; wherein the operations further comprise:

identifying a second group of computing events from the plurality of computing events in the execution pipeline based on a similarity between the computing events of the second group; and

merging the computing events of the second group into a single representative computing event of the second group in the execution pipeline, the single representative computing event of the second group being in the execution pipeline concurrently with the single representative computing event of the first group.

8. A computer-implemented method of increasing efficiency in an event processing system, the computer-implemented method comprising:

identifying, by a machine having a memory and at least one hardware processor, a first group of computing events from a plurality of computing events in an execution pipeline based on a similarity between the computing events of the first group, the identifying comprising determining that the computing events of the first group of computing events in the execution pipeline have corresponding identifiers that match each other;

determining that a computing event of the first group of computing events is allowed to merge; and

based on the determination that the computing events of the first group have corresponding identifiers that match each other and the determination that the computing event of the first group is allowed to merge, merging the computing events of the first group into a single representative computing event of the first group in the execution pipeline, the merging the computing events of the first group comprises:

identifying one of the computing events of the first group as the oldest computing event in the first group;

selecting the one of the computing events of the first group to be the single representative computing event of the first group based on the identifying of the one of the computing events of the first group as the oldest computing event in the first group; and

removing all of the computing events of the first group other than the selected one from the execution pipeline.

9. The computer-implemented method of claim 8 , wherein the execution pipeline comprises a first-in first-out (FIFO) data structure.

10. The computer-implemented method of claim 8 , wherein the identifying the first group of computing events comprises:

for each one of the plurality of computing events in the execution pipeline, calculating a corresponding identifier using a hash function on at least one attribute of the corresponding computing event.

11. The computer-implemented method of claim 10 , wherein the at least one attribute comprises at least one of an event type, an event identification, an event content, and a merge method.

12. The computer-implemented method of claim 10 , wherein the hash function comprises an MD5 hash function.

13. The computer-implemented method of claim 8 , further comprising executing the single representative computing event of the first group.

14. The computer-implemented method of claim 8 , further comprising:

identifying a second group of computing events from the plurality of computing events in the execution pipeline based on a similarity between the computing events of the second group; and

merging the computing events of the second group into a single representative computing event of the second group in the execution pipeline, the single representative computing event of the second group being in the execution pipeline concurrently with the single representative computing event of the first group.

15. A non-transitory machine-readable storage medium, tangibly embodying a set of instructions that, when executed by at least one processor, causes the at least one processor to perform operations for increasing efficiency in an event processing system, the operations comprising:

identifying a first group of computing events from a plurality of computing events in an execution pipeline based on a similarity between the computing events of the first group, the identifying comprising determining that the computing events of the first group of computing events in the execution pipeline have corresponding identifiers that match each other;

determining that a computing event of the first group of computing events is allowed to merge; and

based on the determination that the computing events of the first group have corresponding identifiers that match each other and the determination that the computing event of the first group is allowed to merge, merging the computing events of the first group into a single representative computing event of the first group in the execution pipeline, the merging the computing events of the first group comprises:

identifying one of the computing events of the first group as the oldest computing event in the first group;

selecting the one of the computing events of the first group to be the single representative computing event of the first group based on the identifying of the one of the computing events of the first group as the oldest computing event in the first group; and

removing all of the computing events of the first group other than the selected one from the execution pipeline.

16. The storage medium of claim 15 , wherein the identifying the first group of two or more computing events comprises:

for each one of the plurality of computing events in the execution pipeline, calculating a corresponding identifier using a hash function on at least one attribute of the corresponding computing event.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2016
From: HE, ROCKY; FENG, CHESTER; YU, GRACE
To: SAP SE
Reel/Frame 040311/0769 →
Continuity (1)
Related Publication 20180136987A1 · May 17, 2018