IP Library Granted Patent US 11,847,354
Granted Patent B2
US 11,847,354 · App. 17/697,121 · Granted Dec 19, 2023

Data storage using a sliding window cache in a data grid

Inventors: Vittorio Rigamonti (Pregnana Milanese, IT); Tristan Tarrant (Cernobbio, IT)
Assignee: RED HAT, INC.
G06F3/0659G06F3/067G06F3/0619G06F3/0652
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,847,354
App. No.
17/697,121
Granted
Dec 19, 2023
Kind
B2
Abstract

A sliding window cache can be used for data storage in a data grid. For example, a computing device can receive a request from a client device for storing a data entry in a data grid. The computing device can store the data entry in a first data set including a plurality of data entries distributed across a plurality of nodes of the data grid. The computing device can also store the data entry in a second data set in a sliding window cache that is embedded in the data grid. The second data set can include a subset of the plurality of data entries synchronized with the plurality of data entries of the first data set. The computing device can determine a statistic measurement associated with the sliding window cache and output the statistic measurement to the client device.

Claims (64)

1. A method comprising:

receiving, by a processing device from a client device, a request for storing a data entry in a data grid;

storing, by the processing device, the data entry in a first data set including a plurality of data entries distributed across a plurality of nodes of the data grid;

storing, by the processing device, the data entry in a second data set of a sliding window cache that is embedded in the data grid, the second data set including a subset of the plurality of data entries synchronized with the plurality of data entries in the first data set and having a resource threshold configured to regulate memory resources consumed by the sliding window cache;

determining, by the processing device, a statistic measurement associated with the second data set of the sliding window cache; and

outputting, by the processing device, the statistic measurement to the client device.

2. The method of claim 1 , wherein the data entry is associated with an expiration time, and the method further comprises:

determining the expiration time has passed subsequent to the data entry being stored in the second data set; and

removing the data entry from the sliding window cache based on the expiration time passing.

3. The method of claim 1 , wherein the sliding window cache is a fixed size and the method further comprises:

determining that storing the data entry in the second data set exceeds the fixed size of the sliding window cache; and

prior to storing the data entry in the second data set, removing an oldest data entry from the sliding window cache.

4. The method of claim 1 , wherein the request is a first request, and the method further comprises:

prior to determining the statistic measurement, receiving an application programming interface (API) call from the client device with a second request for the statistical measurement; and

subsequent to determining the statistic measurement, outputting the statistic measurement to the client device via an API response.

5. The method of claim 1 , further comprising:

receiving, from the client device, the resource threshold related to the second data set;

determining an exceeding of the resource threshold of the second data set; and

transmitting an event notification to the client device indicating the exceeding of the resource threshold.

6. The method of claim 1 , wherein the subset of the plurality of data entries of the sliding window cache comprises most recently received data entries of the first data set.

7. The method of claim 1 , wherein the statistic measurement comprises a sum measurement, an average measurement, a variance measurement.

8. A system comprising:

a processing device; and

a memory device including instructions executable by the processing device for causing the processing device to:

receive, from a client device, a request for storing a data entry in a data grid;

store the data entry in a first data set including a plurality of data entries distributed across a plurality of nodes of the data grid;

store the data entry in a second data set of a sliding window cache that is embedded in the data grid, the second data set including a subset of the plurality of data entries synchronized with the plurality of data entries in the first data set and having a resource threshold configured to regulate memory resources consumed by the sliding window cache;

determine a statistic measurement associated with the second data set of the sliding window cache; and

output the statistic measurement to the client device.

9. The system of claim 8 , wherein the data entry is associated with an expiration time, and the memory device further includes instructions that are executable by the processing device for causing the processing device to:

determine the expiration time has passed subsequent to the data entry being stored in the second data set; and

remove the data entry from the sliding window cache based on the expiration time passing.

10. The system of claim 8 , wherein the sliding window cache is a fixed size and the memory device further includes instructions that are executable by the processing device for causing the processing device to:

determine that storing the data entry in the second data set exceeds the fixed size of the sliding window cache; and

prior to storing the data entry in the second data set, remove an oldest data entry from the sliding window cache.

11. The system of claim 8 , wherein the request is a first request, and the memory device further includes instructions that are executable by the processing device for causing the processing device to:

prior to determining the statistic measurement, receive an application programming interface (API) call from the client device with a second request for the statistical measurement; and

subsequent to determining the statistic measurement, output the statistic measurement to the client device via an API response.

12. The system of claim 8 , wherein the memory device further includes instructions that are executable by the processing device for causing the processing device to:

receive, from the client device, the resource threshold related to the second data set;

determine an exceeding of the resource threshold of the second data set; and

transmit an event notification to the client device indicating the exceeding of the resource threshold.

13. The system of claim 8 , wherein the subset of the plurality of data entries of the sliding window cache comprises most recently received data entries of the first data set.

14. The system of claim 8 , wherein the statistic measurement comprises a sum measurement, an average measurement, a variance measurement.

15. A non-transitory computer-readable medium comprising program code executable by a processing device for causing the processing device to:

receive, from a client device, a request for storing a data entry in a data grid;

store the data entry in a first data set including a plurality of data entries distributed across a plurality of nodes of the data grid;

store the data entry in a second data set of a sliding window cache that is embedded in the data grid, the second data set including a subset of the plurality of data entries synchronized with the plurality of data entries in the first data set and having a resource threshold configured to regulate memory resources consumed by the sliding window cache;

determine a statistic measurement associated with the second data set of the sliding window cache; and

output the statistic measurement to the client device.

16. The non-transitory computer-readable medium of claim 15 , wherein the data entry is associated with an expiration time, and further comprising program code that is executable by the processing device for causing the processing device to:

determine the expiration time has passed subsequent to the data entry being stored in the second data set; and

remove the data entry from the sliding window cache based on the expiration time passing.

17. The non-transitory computer-readable medium of claim 15 , wherein the sliding window cache is a fixed size, and further comprising program code that is executable by the processing device for causing the processing device to:

determine that storing the data entry in the second data set exceeds the fixed size of the sliding window cache; and

prior to storing the data entry in the second data set, remove an oldest data entry from the sliding window cache.

18. The non-transitory computer-readable medium of claim 15 , wherein the request is a first request, and further comprising program code that is executable by the processing device for causing the processing device to:

prior to determining the statistic measurement, receive an application programming interface (API) call from the client device with a second request for the statistical measurement; and

subsequent to determining the statistic measurement, output the statistic measurement to the client device via an API response.

19. The non-transitory computer-readable medium of claim 15 further comprising program code that is executable by the processing device for causing the processing device to:

receive, from the client device, the resource threshold related to the second data set;

determine an exceeding of the resource threshold of the second data set; and

transmit an event notification to the client device indicating the exceeding of the resource threshold.

20. The non-transitory computer-readable medium of claim 15 , wherein the subset of the plurality of data entries of the sliding window cache comprises most recently received data entries of the first data set.

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 Mar 17, 2022
From: RIGAMONTI, VITTORIO; TARRANT, TRISTAN
To: RED HAT, INC.
Reel/Frame 059293/0209 →