IP Library Granted Patent US 12,111,791
Granted Patent B2
US 12,111,791 · App. 17/113,237 · Granted Oct 8, 2024

Using machine learning to select compression algorithms for compressing binary datasets

Inventors: John Krasner (Coventry, RI); Sweetesh Singh (Benares, IN)
Assignee: DELL PRODUCTS, L.P.
G06F16/1744G06N5/04G06N20/00
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,111,791
App. No.
17/113,237
Granted
Oct 8, 2024
Kind
B2
Abstract

A data model is trained to predict compressibility of binary data structures based on component entropy and predict relative compression efficiency for various compression algorithms based on component size. A recommendation engine in a storage system uses the data model to predict compressibility of binary data and determines whether to compress the binary data based on predicted compressibility. If the recommendation engine determines that compression of the binary data is justified, then a compression algorithm is recommended based on predicted relative compression efficiency. For example, the compression algorithm predicted to yield the greatest compression ratio or shortest compression/decompression time may be recommended.

Claims (33)

1. An apparatus comprising:

at least one compute node that manages access to non-volatile storage, the compute node configured to respond to commands from host nodes to access host application data stored on the non-volatile storage, wherein the host application data comprises binary data;

a data model that has been trained to predict compression efficiency of binary data structures by a plurality of data compression algorithms based on sizes of components of the binary data structures, where each of the binary data structures comprises a header, metadata, signature, encoding, and a plurality of the components; and

a recommendation engine that uses the data model to determine which one of the plurality of data compression algorithms will most efficiently compress selected binary data and recommends that compression algorithm;

wherein the compute node compresses the selected binary data using the recommended compression algorithm.

2. The apparatus of claim 1 wherein the data model that has been trained to predict compressibility of the binary data structures based on component entropy, and wherein the recommendation engine uses the data model to determine whether the selected binary data is sufficiently compressible to justify compression.

3. The apparatus of claim 1 wherein the selected binary data is a binary data structure selected from the group consisting of: executable files, image files, audio files, video files, lists, arrays, stacks, queues, and trees.

4. The apparatus of claim 1 wherein the selected binary data is a block comprising at least a portion of a binary data structure selected from the group consisting of: executable files, image files, audio files, and video files.

5. The apparatus of claim 1 wherein the recommendation engine uses the data model to identify the recommended compression algorithm based on predicted compression ratio of the selected binary data by each of the compression algorithms.

6. The apparatus of claim 2 wherein the data model is trained to predict compressibility using statistical features comprising: mean, median, mode, standard deviation, skewness, and kurtosis of binary data structure components.

7. The apparatus of claim 1 wherein the recommendation engine provides the recommendation to the compute node.

8. A method comprising:

in a storage system comprising at least one compute node that manages access to non-volatile storage, the compute node configured to respond to commands from host nodes to access host application data stored on the non-volatile storage, wherein the host application data comprises binary data:

predicting compression efficiency of selected binary data by a plurality of compression algorithms using a data model that has been trained to predict compression efficiency of binary data structures with the data compression algorithms based on sizes of components of the binary data structures, where each of the binary data structures comprises a header, metadata, signature, encoding, and a plurality of the components; and

based on predicted compressibility, selecting one of the plurality of data compression algorithms that will most efficiently compress the selected binary data;

recommending the selected compression algorithm; and

compressing the selected binary data using the recommended compression algorithm.

9. The method of claim 8 wherein the data model that has been trained to predict compressibility of the binary data structures based on component entropy and comprising using the data model to determine whether the selected binary data is sufficiently compressible to justify compression.

10. The method of claim 8 comprising training the data model with binary data structures selected from the group consisting of: executable files, image files, audio files, and video files.

11. The method of claim 8 wherein predicting compression efficiency of the selected binary data comprising predicting compression efficiency of a block comprising at least a portion of one or more of: executable files, image files, audio files, and video files.

12. The method of claim 8 comprising using the data model to identify the recommended compression algorithm based on predicted compression ratio of the selected binary data with each of the compression algorithms.

13. The method of claim 9 comprising training the data model to predict compressibility using statistical features comprising: mean, median, mode, standard deviation, skewness, and kurtosis of binary data structure components.

14. The method of claim 8 comprising providing the recommendation to the compute node.

15. A computer-readable storage medium storing instructions that when executed by a compute node cause a storage system to perform a method for data compression, the method comprising:

predicting compression efficiency of selected binary data by a plurality of compression algorithms using a data model that has been trained to predict compression efficiency of binary data structures by the data compression algorithms based on sizes of components of the binary data structures, where each of the binary data structures comprises a header, metadata, signature, encoding, and a plurality of the components; and

based on predicted compression efficiency, selecting one of the plurality of data compression algorithms that will most efficiently compress the selected binary data;

recommending the selected compression algorithm; and

compressing the selected binary data using the recommended compression algorithm.

16. The computer-readable storage medium of claim 15 wherein the data model has been trained to predict compressibility of binary data structures based on component entropy and the method comprises using the data model to determine whether the selected binary data is sufficiently compressible to justify compression.

17. The computer-readable storage medium of claim 15 wherein the method comprises training the data mode with binary data structures selected from the group consisting of: executable files, image files, audio files, and video files.

18. The computer-readable storage medium of claim 15 wherein predicting compression efficiency of the selected binary data comprises predicting compression efficiency of a block comprising at least a portion of one or more of: executable files, image files, audio files, video files, lists, arrays, stacks, queues, and trees.

19. The computer-readable storage medium of claim 15 comprising using the data model to identify the recommended compression algorithm based on predicted compression ratio of the selected binary data by each of the compression algorithms.

20. The computer-readable storage medium of claim 16 comprising training the data model to predict compressibility using statistical features comprising: mean, median, mode, standard deviation, skewness, and kurtosis of binary data structure components.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0663 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0771 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0051 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0342 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2020
From: KRASNER, JOHN; SINGH, SWEETESH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054562/0055 →