# US 12,111,791 B2 · Using machine learning to select compression algorithms for compressing binary datasets

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,111,791 B2
- Document ID: US12111791B2
- Status: Granted
- Kind: B2
- Application number: 17/113,237
- Filed: 2020-12-07
- Published: 2022-06-09
- Granted: 2024-10-08
- Earliest claimed: 2020-12-07
- Assignees: Dell Products L.P.
- Applicants: Emc IP Holding Company LLC
- Inventors: John Krasner; Sweetesh Singh
- Web page: https://patentgrep.com/patent/US12111791B2

## CPC

- G06F 16/1744: {using compression, e.g. sparse files}
- G06N 5/04: Inference or reasoning models
- G06N 20/00: Machine learning
- H03M 7/6064: {Selection of Compressor}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 2)

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.

### Claim 7 (depends on 1)

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

### Claim 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.

### Claim 9 (depends on 8)

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.

### Claim 10 (depends on 8)

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.

### Claim 11 (depends on 8)

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.

### Claim 12 (depends on 8)

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.

### Claim 13 (depends on 9)

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.

### Claim 14 (depends on 8)

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

### Claim 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.

### Claim 16 (depends on 15)

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.

### Claim 17 (depends on 15)

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.

### Claim 18 (depends on 15)

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.

### Claim 19 (depends on 15)

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.

### Claim 20 (depends on 16)

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.
