IP Library Granted Patent US 11,669,528
Granted Patent B2
US 11,669,528 · App. 16/953,100 · Granted Jun 6, 2023

Joining multiple events in data streaming analytics systems

Inventor: Gary Peter Brown (Farnborough, GB)
Assignee: Red Hat, Inc.
G06F16/24568G06F16/2456G06F16/24537G06F16/24552
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 11,669,528
App. No.
16/953,100
Granted
Jun 6, 2023
Kind
B2
Abstract

A method is provided. The method includes determining whether second event data of a second data stream of the plurality of data streams is stored in a cache memory in accordance with a first key. The method further includes performing a join operation of the first event data and the second event data at least partially in view of whether the second event data is stored in the cache memory.

Claims (34)

1. A method, comprising:

determining, by a first stream processing device, that second event data of a second data stream of a plurality of data streams is stored in a first cache of a plurality of caches in a distributed cache memory in accordance with a first key used to process a first event data of a first data stream of the plurality of data streams, the second event data to be joined with the first event data;

performing, by the first stream processing device, the join operation of the first event data and the second event data responsive to determining that the second event data is stored in the first cache of the plurality of caches in the distributed cache memory;

determining that the join operation is not completed before an elapse of a maximum time interval allotted to perform the join operation of the first event data and the second event data; and

deleting the first event data from the first cache of the plurality of caches in the distributed cache memory responsive to determining that the join operation is not completed before the elapse of the maximum time interval.

2. The method of claim 1 , wherein the plurality of data streams comprises a plurality of analytics events each from a respective client device.

3. The method of claim 1 , further processing the first event data of the first data stream comprises processing the first event data via the first stream processing device.

4. The method of claim 3 , further comprising processing the second event data of the second data stream via a second stream processing device.

5. The method of claim 1 , wherein performing the join operation of the first event data and the second event data comprises performing the join operation at least partially in view of the first key.

6. The method of claim 1 , wherein, when the second event data is determined to be stored in the first cache the distributed cache memory, the method further comprising:

retrieving the second event data from the first cache of the distributed cache memory in accordance with the first key; and

performing the join operation of the first event data and the second event data at least partially in view of the first key.

7. The method of claim 1 , wherein, when the second event data is determined not to be stored in the first cache of the distributed cache memory, further comprising:

storing the first event data in a second cache of the plurality of caches of the distributed cache memory in accordance with the first key.

8. An apparatus, comprising:

a distributed cache memory comprising a plurality of caches; and

a stream processing device operatively coupled to the distributed cache memory, the stream processing device to:

determine that second event data of a second data stream of a plurality of data streams is stored in a first cache of the plurality of caches in the distributed cache memory in accordance with a first key used to process a first event data of a first data stream of the plurality of data streams, the second event data to be joined with the first event data;

perform a join operation of the first event data and the second event data responsive to determining that the second event data is stored in the first cache of the plurality of caches of the distributed cache memory;

determine that the join operation is not completed before an elapse of a maximum time interval allotted to perform the join operation of the first event data and the second event data; and

delete the first event data from the first cache of the plurality of caches in the distributed cache memory responsive to determining that the join operation is not completed before the elapse of the maximum time interval.

9. The apparatus of claim 8 , wherein the stream processing device is to perform the join operation of the first event data and the second event data by performing the join operation at least partially in view of the first key.

10. The apparatus of claim 8 , wherein, when the second event data is determined to be stored in the first cache of the distributed cache memory, the stream processing device is to:

retrieve the second event data from the first cache of the distributed cache memory in accordance with the first key; and

perform the join operation of the first event data and the second event data at least partially in view of the first key.

11. The apparatus of claim 8 , wherein, when the second event data is determined not to be stored in the first cache of the distributed cache memory, the stream processing device is to:

store the first event data in a second cache of the plurality of caches of the distributed cache memory in accordance with the first key.

12. A non-transitory computer-readable storage medium including instructions that, when executed by a stream processing device, cause the stream processing device to:

determine that second event data of a second data stream of a plurality of data streams is stored in a first cache of a plurality of caches in a distributed cache memory in accordance with a first key used to process a first event data of a first data stream of the plurality of data streams, the second event data to be joined with the first event data;

perform a join operation of the first event data and the second event data responsive to determining that the second event data is stored in the first cache of the plurality of caches of the distributed cache memory;

determine, by the processing device, that the join operation is not completed before an elapse of a maximum time interval allotted to perform the join operation of the first event data and the second event data; and

delete the first event data from the first cache of the plurality of caches in the distributed cache memory responsive to determining that the join operation is not completed before the elapse of the maximum time interval.

13. The non-transitory computer-readable storage medium of claim 12 , wherein, when the second event data is determined not to be stored in the first cache of the distributed cache memory, further causing the stream processing device to store the first event data in another cache of the plurality of caches of the distributed cache memory in accordance with the first key.

14. The non-transitory computer-readable storage medium of claim 12 , further causing the stream processing device to remove the second event data from the first cache of the distributed cache memory following the join operation of the first event data and the second event data.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2020
From: BROWN, GARY PETER
To: RED HAT, INC.
Reel/Frame 054426/0960 →
Continuity (2)
Continuation 15899276 · Feb 19, 2018
Related Publication 20210073234A1 · Mar 11, 2021