IP Library Granted Patent US 10,860,586
Granted Patent B2
US 10,860,586 · App. 15/899,276 · Granted Dec 8, 2020

Methods and devices for joining multiple events in data streaming analytics systems

Inventor: Gary Peter Brown (Hitchin, 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 10,860,586
App. No.
15/899,276
Granted
Dec 8, 2020
Kind
B2
Abstract

A method is provided. The method includes receiving a plurality of data streams at a computing device, processing first event data of a first data stream of the plurality of data streams in accordance with a first key, and 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 the first key. The second event data is to be joined with the first event data. 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 (42)

1. A method, comprising:

receiving a plurality of data streams at a computing device;

processing, by a first stream processing device, first event data of a first data stream of the plurality of data streams in accordance with a first key, wherein a first cache memory is associated with the first stream processing device to store event data of the first data stream;

determining, by the first stream processing device, whether second event data of a second data stream of the plurality of data streams is stored in a second cache memory associated with a second stream processing device in accordance with the first key, the second event data to be joined with the first event data, wherein the second cache memory is to store event data of the second data stream; and

performing, by the first stream processing device, a join operation of the first event data and the second event data stream at least partially in view of whether the second event data is stored in the second cache memory.

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

3. The method of claim 1 , wherein processing the first event data of the first data stream comprises processing the first event data via a first stream processing device of a plurality of stream processing devices of the computing device.

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

5. The method of claim 1 , wherein determining whether the second event data of the second data stream is stored in the cache memory in accordance with the first key comprises determining whether the second event data is stored in distributed cache memory.

6. 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.

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

retrieving the second event data from the 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.

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

storing the first event data in a second cache memory in accordance with the first key.

9. The method of claim 1 , comprising performing the join operation within a time interval corresponding to a latency associated with the cache memory, the cache memory including distributed cache memory.

10. An apparatus, comprising:

a cache memory; and

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

receive a plurality of data streams at a computing device;

process first event data of a first data stream of the plurality of data streams in accordance with a first key, wherein a first cache memory is associated with the first stream processing device to store event data of the first data stream;

determine whether second event data of a second data stream of the plurality of data streams is stored in the second cache memory in accordance with the first key, the second event data to be joined with the first event data, wherein the second cache memory is associated with a second stream processing device and the second cache memory is to store event data of the second data stream; and

perform 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 second cache memory.

11. The apparatus of claim 10 , wherein the stream processing device is to determine whether the second event data of the second data stream is stored in the cache memory by determining whether the second event data is stored in distributed cache memory.

12. apparatus of claim 10 , 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.

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

retrieve the second event data from the 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.

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

store the first event data in a second cache memory in accordance with the first key.

15. The apparatus of claim 10 , wherein the stream processing device is to perform the join operation within a time interval corresponding to a latency associated with the cache memory, the cache memory including distributed cache memory.

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

receive a plurality of data streams at a computing device;

process first event data of a first data stream of the plurality of data streams in accordance with a first correlation key, wherein a first cache memory is associated with the first stream processing device to store event data of the first data stream;

determine whether second event data of a second data stream of the plurality of data streams is stored in a second cache memory associated with a second stream processing device in accordance with the first correlation key, the second event data to be joined with the first event data, wherein the second cache memory is to store event data of the second data stream;

retrieve the second event data from the second cache memory when the second event data is determined to be stored in the second cache memory in accordance with the first correlation key; and

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

17. The non-transitory computer-readable storage medium of claim 16 , further causing the stream processing device to determine whether the second event data of the second data stream is stored in the first cache memory by parsing the first cache memory for event data associated with the first correlation key.

18. The non-transitory computer-readable storage medium of claim 16 , wherein, when the second event data is determined not to be stored in the first cache memory, further causing the stream processing device to:

store the first event data in a second cache memory in accordance with the first correlation key.

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

20. The non-transitory computer-readable storage medium of claim 16 , further causing the stream processing device to determine whether the second event data of the second data stream is stored in the first cache memory by determining whether the second event data is stored in distributed cache memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2018
From: BROWN, GARY PETER
To: RED HAT, INC.
Reel/Frame 044967/0356 →
Continuity (1)
Related Publication 20190258733A1 · Aug 22, 2019