IP Library Granted Patent US 12,014,047
Granted Patent B2
US 12,014,047 · App. 17/894,692 · Granted Jun 18, 2024

Stream based compressibility with auto-feedback

Inventors: Gabriel Zvi BenHanokh (Ra'anana, IL); Orit Wasserman (Ra'anana, IL); Yehoshua Salomon (Ra'anana, IL)
Assignee: Red Hat, Inc.
G06F3/0608G06F3/0655G06F3/0679
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,014,047
App. No.
17/894,692
Granted
Jun 18, 2024
Kind
B2
Abstract

Systems, methods, and apparatus are disclosed for management of data storage with stream based compressibility. In an example, an orchestrator including a storage controller managing one or more storage nodes executes on one or more processors. The orchestrator receives compression ratio measurements associated with attempts to compress data from a plurality of applications running on a plurality of service guests. The orchestrator receives a request for storing a first data stream from a first application running in a first service guest. Based on a compression ratio of previously stored data associated with the first application being less than a threshold, the orchestrator assigns a first compressibility setting to the first data stream. The first compressibility setting causes a storage node to store the first data stream without attempting to compress the first data stream.

Claims (51)

1. A system comprising:

an orchestrator including a storage controller managing one or more storage nodes to store data from a plurality of service guests;

one or more processors, wherein the orchestrator executes on the one or more processors to:

receive, from one or more storage nodes, compression ratio measurements associated with attempts to compress data from a plurality of applications running in the plurality of service guests;

receive a request for storing a first data stream from a first application of the plurality of applications, the first application running in a first service guest of the plurality of service guests; and

provide, to the one or more storage nodes, the first data stream and an indication of a compression ratio of previously stored data associated with the first application.

2. The system of claim 1 , wherein the orchestrator executes on the one or more processors to:

based on a compression ratio of previously stored data associated with the first application being less than a threshold, assign a first compressibility setting to the first data stream, wherein the first compressibility setting causes a storage node to store the first data stream without attempting to compress the first data stream;

receive a request for storing a second data stream from a second application of the plurality of applications, the second application running in the first service guest; and

based on a compression ratio of previously stored data from the second application being greater than the threshold, assign a second compressibility setting to the second data stream, wherein the second compressibility setting causes the storage node to attempt compressing the second data stream.

3. The system of claim 1 , wherein the orchestrator executes on the one or more processors to:

assign a first identifier to the first data stream from the first service guest and a second identifier to the second data stream from a second service guest.

4. The system of claim 3 , wherein the first identifier is mapped to a first compression ratio of the previously stored data associated with the first application, wherein the second identifier is mapped to a second compression ratio of the previously stored data associated with the second application.

5. The system of claim 1 , wherein the previously stored data associated with the first application was sent from an instance of the first application running on a second service guest of the plurality of service guests.

6. The system of claim 1 , wherein the orchestrator executes on the one or more processors to:

determine that the first application does not have previously stored data; and

responsively provide the first data stream to the storage node without applying the first compressibility setting.

7. The system of claim 1 , wherein the orchestrator executes on the one or more processors to:

determine that the first application has a user-defined compressibility setting related to a compressibility of the first data stream; and

responsively assign the user-defined compressibility setting to the first data stream.

8. A method comprising:

receiving, from one or more storage nodes, compression ratio measurements associated with attempts to compress data from a plurality of applications running in a plurality of service guests;

receive a request for storing a first data stream from a first application of the plurality of applications, the first application running in a first service guest of the plurality of service guests; and

based on a compression ratio of previously stored data from the first application being less than a threshold, assign a first compressibility setting to the first data stream, wherein the first compressibility setting causes a storage node to store the first data stream without attempting to compress the first data stream.

9. The method of claim 8 , further comprising:

receiving a request for storing a second data stream from a second application of the plurality of applications, the second application running in the first service guest; and

based on a compression ratio of previously stored data from the second application being greater than the threshold, assigning a second compressibility setting to the second data stream, wherein the second compressibility setting causes the storage node to attempt compressing the second data stream.

10. The method of claim 8 , further comprising:

assigning a first identifier to the first data stream from the first service guest and a second identifier to a second data stream from a second service guest.

11. The method of claim 10 , wherein the first identifier is mapped to a first compression ratio of the previously stored data associated with the first application, wherein the second identifier is mapped to a second compression ratio of the previously stored data associated with the second application.

12. The method of claim 8 , wherein the previously stored data associated with the first application was sent from an instance of the first application running on a second service guest of the plurality of service guests.

13. The method of claim 8 , further comprising:

determining that the first application does not have previously stored data; and

responsively providing the first data stream to the storage node without applying the first compressibility setting.

14. The method of claim 8 , further comprising:

determining that the first application has a user-defined compressibility setting related to a compressibility of the first data stream; and

responsively assigning the user-defined compressibility setting to the first data stream.

15. A non-transitory computer readable medium storing instructions that, when executed by one or more processors, cause a computing system to:

receive, from one or more storage nodes, compression ratio measurements associated with attempts to compress data from a plurality of applications running in a plurality of service guests;

receive a request for storing a first data stream from a first application of the plurality of applications, the first application running in a first service guest of the plurality of service guests; and

based on a compression ratio of previously stored data from the first application being less than a threshold, assign a first compressibility setting to the first data stream, wherein the first compressibility setting causes a storage node to store the first data stream without attempting to compress the first data stream.

16. The non-transitory computer readable medium of claim 15 , wherein the instructions further cause the computing system to:

receive a request for storing a second data stream from a second application of the plurality of applications, the second application running in the first service guest; and

based on a compression ratio of previously stored data from the second application being greater than the threshold, assign a second compressibility setting to the second data stream, wherein the second compressibility setting causes the storage node to attempt compressing the second data stream.

17. The non-transitory computer readable medium of claim 15 , wherein the instructions further cause the computing system to:

assign a first identifier to the first data stream from the first service guest and a second identifier to a second data stream from a second service guest.

18. The non-transitory computer readable medium of claim 17 , wherein the first identifier is mapped to a first compression ratio of the previously stored data associated with the first application, wherein the second identifier is mapped to a second compression ratio of the previously stored data associated with the second application.

19. The non-transitory computer readable medium of claim 15 , wherein the previously stored data associated with the first application was sent from an instance of the first application running on a second service guest of the plurality of service guests.

20. The non-transitory computer readable medium of claim 15 , wherein the instructions further cause the computing system to:

determine that the first application does not have previously stored data; and

responsively provide the first data stream to the storage node without applying the first compressibility setting.

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 Aug 24, 2022
From: BENHANOKH, GABRIEL ZVI; WASSERMAN, ORIT; SALOMON, YEHOSHUA
To: RED HAT, INC.
Reel/Frame 060890/0647 →