IP Library Granted Patent US 12,355,839
Granted Patent B2
US 12,355,839 · App. 18/586,157 · Granted Jul 8, 2025

Workload-based cache compression in a distributed storage system

Inventors: Gabriel Zvi BenHanokh (Tel Aviv, IL); Orit Wasserman (Mitzpe-Aviv, IL); Yehoshua Salomon (Kfar-Saba, IL)
Assignee: Red Hat, Inc.
H04L67/1097G06F12/0802G06F2212/60
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 12,355,839
App. No.
18/586,157
Granted
Jul 8, 2025
Kind
B2
Abstract

An example method may include receiving, in a virtualized execution environment, a data access request from a storage system, identifying, in view of a virtualized execution image associated with the virtualized execution environment, an application running in the virtualized execution environment, generating a cache classification that specifies whether data accessed by the application is suitable for cache compression, including, in the data access request, a tag indicating whether cached data is to be accessed in a compressed-memory cache, wherein the tag is determined in view of the cache classification, and sending, to a server of the storage system, the data access request. The application can be identified in view of metadata included in the virtualized execution image, where the metadata comprises one or more of an application name or an application version.

Claims (60)

1. A method, comprising:

receiving, by a cache manager of a storage system executing on a computing system comprising one or more computing devices, a first data read request originating from a first application;

generating, by the cache manager, a first cache classification indicating the first application is suitable to receive compressed data, the first cache classification based on past data accessed by the first application;

determining, by the cache manager based on the first cache classification associated with the first application, that a compressed cache memory maintained by the storage system is to be selected to satisfy the first data read request, wherein the storage system maintains a non-compressed cache memory and the compressed cache memory; and

in response to determining that the compressed cache memory is to be selected, accessing, by the storage system, the compressed cache memory to satisfy the first data read request.

2. The method of claim 1 , further comprising:

determining, by the cache manager, an identity of the first application; and

based on the identity of the first application, determining the first cache classification associated with the first application.

3. The method of claim 2 , wherein determining, by the cache manager, the identity of the first application comprises determining, by the cache manager, the identity of the first application based on a container image from which the first application was executed.

4. The method of claim 1 , further comprising:

generating, by the cache manager, a tag that indicates the compressed cache memory is to be selected; and

sending, by the cache manager to a server computing device of the one or more computing devices, the first data read request and the tag.

5. The method of claim 1 , further comprising:

accessing, by the cache manager, a first record of a mapping data structure that corresponds to the first application, where the mapping data structure comprises a plurality of records including the first record, each record of the plurality of records comprising an identifier of an application of a plurality of applications and a cache classification associated with the respective application; and

determining, by the cache manager based on the first record, the first cache classification associated with the first application.

6. The method of claim 1 , further comprising:

receiving, by the cache manager, a second data read request originating from a second application;

determining, by the cache manager based on a second cache classification associated with the second application, that the non-compressed cache memory maintained by the storage system is to be selected to satisfy the second data read request; and

in response to determining that the non-compressed cache memory is to be selected, accessing, by the storage system, the non-compressed cache memory to satisfy the second data read request.

7. The method of claim 1 , further comprising determining, by the cache manager, the first cache classification based on a previous data access pattern of the first application.

8. The method of claim 1 , further comprising determining, by the cache manager, the first cache classification based on an application type of the first application selected from a group of a streaming application type and a transactional application type.

9. A computing system, comprising:

one or more computing devices to:

receive, by a cache manager of a storage system executing on the computing system, a first data read request originating from a first application;

generate, by the cache manager, a first cache classification indicating the first application is suitable to receive compressed data, the first cache classification based on past data accessed by the first application;

determine, by the cache manager based on the first cache classification associated with the first application, that a compressed cache memory maintained by the storage system is to be selected to satisfy the first data read request, wherein the storage system maintains a non-compressed cache memory and the compressed cache memory; and

in response to determining that the compressed cache memory is to be selected, access, by the storage system, the compressed cache memory to satisfy the first data read request.

10. The computing system of claim 9 , wherein the one or more computing devices are further to:

determine, by the cache manager, an identity of the first application; and

based on the identity of the first application, determine the first cache classification associated with the first application.

11. The computing system of claim 9 , wherein the one or more computing devices are further to:

generate, by the cache manager, a tag that indicates the compressed cache memory is to be selected; and

send, by the cache manager to a server computing device of the one or more computing devices, the first data read request and the tag.

12. The computing system of claim 9 , wherein the one or more computing devices are further to:

access, by the cache manager, a first record of a mapping data structure that corresponds to the first application, where the mapping data structure comprises a plurality of records including the first record, each record of the plurality of records comprising an identifier of an application of a plurality of applications and a cache classification associated with the respective application; and

determine, by the cache manager based on the first record, the first cache classification associated with the first application.

13. The computing system of claim 9 , wherein the one or more computing devices are further to:

receive, by the cache manager, a second data read request originating from a second application;

determine, by the cache manager based on a second cache classification associated with the second application, that the non-compressed cache memory maintained by the storage system is to be selected to satisfy the second data read request; and

in response to determining that the non-compressed cache memory is to be selected, access, by the storage system, the non-compressed cache memory to satisfy the second data read request.

14. The computing system of claim 9 , wherein the one or more computing devices are further to determine, by the cache manager, the first cache classification based on a previous data access pattern of the first application.

15. The computing system of claim 9 , wherein the one or more computing devices are further to determine, by the cache manager, the first cache classification based on an application type of the first application selected from a group of a streaming application type and a transactional application type.

16. A non-transitory computer-readable storage medium that includes executable instructions to cause one or more computing devices to:

receive, by a cache manager of a storage system executing on the computing system, a first data read request originating from a first application;

generate, by the cache manager, a first cache classification indicating the first application is suitable to receive compressed data, the first cache classification based on past data accessed by the first application;

determine, by the cache manager based on the first cache classification associated with the first application, that a compressed cache memory maintained by the storage system is to be selected to satisfy the first data read request, wherein the storage system maintains a non-compressed cache memory and the compressed cache memory; and

in response to determining that the compressed cache memory is to be selected, access, by the storage system, the compressed cache memory to satisfy the first data read request.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the instructions further cause the one or more computing devices to:

determine, by the cache manager, an identity of the first application; and

based on the identity of the first application, determine the first cache classification associated with the first application.

18. The non-transitory computer-readable storage medium of claim 16 , wherein the instructions further cause the one or more computing devices to:

generate, by the cache manager, a tag that indicates the compressed cache memory is to be selected; and

send, by the cache manager to a server computing device of the one or more computing devices, the first data read request and the tag.

19. The non-transitory computer-readable storage medium of claim 16 , wherein the instructions further cause the one or more computing devices to:

access, by the cache manager, a first record of a mapping data structure that corresponds to the first application, where the mapping data structure comprises a plurality of records including the first record, each record of the plurality of records comprising an identifier of an application of a plurality of applications and a cache classification associated with the respective application; and

determine, by the cache manager based on the first record, the first cache classification associated with the first application.

20. The non-transitory computer-readable storage medium of claim 16 , wherein the instructions further cause the one or more computing devices to:

receive, by the cache manager, a second data read request originating from a second application;

determine, by the cache manager based on a second cache classification associated with the second application, that the non-compressed cache memory maintained by the storage system is to be selected to satisfy the second data read request; and

in response to determining that the non-compressed cache memory is to be selected, access, by the storage system, the non-compressed cache memory to satisfy the second data read request.

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 Feb 27, 2024
From: BENHANOKH, GABRIEL ZVI; WASSERMAN, ORIT; SALOMON, YEHOSHUA
To: RED HAT, INC.
Reel/Frame 066573/0964 →