IP Library Granted Patent US 11,394,397
Granted Patent B2
US 11,394,397 · App. 17/081,614 · Granted Jul 19, 2022

System and method for selecting a lossless compression algorithm for a data object based on performance objectives and performance metrics of a set of compression algorithms

Inventors: Rômulo Teixeira De Abreu Pinho (Niterói, BR); Vinicius Michel Gottin (Rio de Janeiro, BR); Joel Evans Christner (San Jose, TX)
Assignee: EMC IP Holding Company LLC
H03M7/6082G06K9/6256H03M7/3037H03M7/3073
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,394,397
App. No.
17/081,614
Granted
Jul 19, 2022
Kind
B2
Abstract

A method for managing data includes obtaining a compression algorithm selection request for a data object, wherein the data object is generated by a production host, identifying, in response to the compression algorithm selection request, a set of production host performance objectives of the production host, performing a compression algorithm selection analysis using the set of production host performance objectives and a compression selection model to obtain a compression algorithm selection for a compression algorithm, specifying the compression algorithm to the production host using a data agent, wherein the data agent is operatively connected to the production host, initiating a compression on the data object using the data agent by applying the compression algorithm to obtain a compressed data object, and initiating a storage of the compressed data object.

Claims (76)

1. A method for managing data, the method comprising:

obtaining a compression algorithm selection request for a data object, wherein the data object is generated by a production host;

identifying, in response to the compression algorithm selection request, a set of production host performance objectives of the production host;

performing a compression algorithm selection analysis using the set of production host performance objectives and a compression selection model to obtain a compression algorithm selection for a compression algorithm;

specifying the compression algorithm to the production host using a data agent, wherein the data agent is operatively connected to the production host;

initiating a compression on the data object using the data agent by applying the compression algorithm to obtain a compressed data object; and

initiating a storage of the compressed data object.

2. The method of claim 1 , further comprising:

prior to obtaining the compression algorithm selection request:

identifying a set of compression algorithms;

identifying a set of performance objectives;

obtaining a set of data objects;

performing a compression algorithm analysis on each compression algorithm in the set of compression algorithms using the set of data objects to obtain a set of training compression algorithm performance metrics; and

generating the compression selection model using the set of performance objectives and the set of training compression algorithm performance metrics.

3. The method of claim 2 , wherein the compression selection model comprises a learning piece and an optimization piece.

4. The method of claim 3 , wherein the learning piece comprises a plurality of learning patterns associated with values of the set of training compression algorithm performance metrics based on a plurality of data object characteristics and the set of compression algorithms.

5. The method of claim 4 , wherein each learning pattern of the plurality of learning patterns comprises an average value of compression metrics obtained for a plurality of compression algorithms based on the plurality of data object characteristics.

6. The method of claim 3 , wherein the optimization piece comprises determining the compression algorithm selection based on a function of the set of production host performance objectives and a set of performance metrics associated with data object characteristics.

7. The method of claim 6 , wherein the set of performance metrics associated with data object characteristics specify estimates generated by the learning piece.

8. The method of claim 6 , wherein the function comprises a linear combination between a set of weights associated with the set of production host performance objectives.

9. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for managing data, the method comprising:

obtaining a compression algorithm selection request for a data object, wherein the data object is generated by a production host;

identifying, in response to the compression algorithm selection request, a set of production host performance objectives of the production host;

performing a compression algorithm selection analysis using the set of production host performance objectives and a compression selection model to obtain a compression algorithm selection for a compression algorithm;

specifying the compression algorithm to the production host using a data agent, wherein the data agent is operatively connected to the production host;

initiating a compression on the data object using the data agent by applying the compression algorithm to obtain a compressed data object; and

initiating a storage of the compressed data object.

10. The non-transitory computer readable medium of claim 9 , the method further comprising:

prior to obtaining the compression algorithm selection request:

identifying a set of compression algorithms

identifying a set of performance objectives;

obtaining a set of data objects;

performing a compression algorithm analysis on each compression algorithm in the set of compression algorithms using the set of data objects to obtain a set of training compression algorithm performance metrics; and

generating the compression selection model using the set of performance objectives and the set of training compression algorithm performance metrics.

11. The non-transitory computer readable medium of claim 10 ,

wherein the compression selection model comprises a learning piece and an optimization piece, and

wherein performing the compression algorithm selection analysis using the set of production host performance objectives and the compression selection model comprises inputting the set of performance objectives into the optimization piece to generate the compression algorithm selection as an output.

12. The non-transitory computer readable medium of claim 10 , wherein the set of performance objectives comprises at least one of: a compression ratio, a compression time, and a decompression time.

13. The non-transitory computer readable medium of claim 10 , wherein each of the set of production host performance objectives comprises a set of weights each associated with a performance objective of the set of performance objectives.

14. The non-transitory computer readable medium of claim 9 , the method further comprising:

obtaining a second compression algorithm selection request for a second data object, wherein the second data object is generated by a second production host, wherein the second production host is of a second architecture;

identifying, in response to the second compression algorithm selection request, a second set of production host performance objectives of the second production host;

performing a second compression algorithm selection analysis using the second set of production host performance objectives and the compression selection model to obtain a second compression algorithm selection for a second compression algorithm;

specifying the second compression algorithm to the second production host using the data agent;

initiating a second compression on the second data object using the data agent by applying the second compression algorithm to obtain a second compressed data object; and

initiating storage of the second compressed data object,

wherein the production host is of a first architecture.

15. A system, comprising:

a processor; and

memory comprising instructions which, when executed by the processor, perform a method, the method comprising:

obtaining a compression algorithm selection request for a data object, wherein the data object is generated by a production host;

identifying, in response to the compression algorithm selection request, a set of production host performance objectives of the production host;

performing a compression algorithm selection analysis using the set of production host performance objectives and a compression selection model to obtain a compression algorithm selection for a compression algorithm;

specifying the compression algorithm to the production host using a data agent, wherein the data agent is operatively connected to the production host;

initiating a compression on the data object using the data agent by applying the compression algorithm to obtain a compressed data object; and initiating a storage of the compressed data object.

16. The system of claim 15 , the method further comprising:

prior to obtaining the compression algorithm selection request:

identifying a set of compression algorithms

identifying a set of performance objectives;

obtaining a set of data objects;

performing a compression algorithm analysis on each compression algorithm in the set of compression algorithms using the set of data objects to obtain a set of training compression algorithm performance metrics; and

generating the compression selection model using the set of performance objectives and the set of training compression algorithm performance metrics.

17. The system of claim 16 ,

wherein the compression selection model comprises a learning piece and an optimization piece, and

wherein performing the compression algorithm selection analysis using the set of production host performance objectives and the compression selection model comprises inputting the set of performance objectives into the optimization piece to generate the compression algorithm selection as an output.

18. The system of claim 16 , wherein the set of performance objectives comprises at least one of: a compression ratio, a compression time, and a decompression time.

19. The system of claim 16 , wherein each of the set of production host performance objectives comprises a set of weights each associated with a performance objective of the set of performance objectives.

20. The system of claim 15 , the method further comprising:

obtaining a second compression algorithm selection request for a second data object, wherein the second data object is generated by a second production host;

identifying, in response to the second compression algorithm selection request, a second set of production host performance objectives of the second production host;

performing a second compression algorithm selection analysis using the second set of production host performance objectives and the compression selection model to obtain a second compression algorithm selection for a second compression algorithm;

specifying the second compression algorithm to the second production host using the data agent;

initiating a second compression on the second data object using the data agent by applying the second compression algorithm to obtain a second compressed data object; and

initiating storage of the second compressed data object,

wherein the production host is of a first architecture, and

wherein the second production host is of a second architecture.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) 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 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) 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 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) 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/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
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 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
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 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2020
From: TEIXEIRA DE ABREU PINHO, RÔMULO; GOTTIN, VINICIUS MICHEL; CHRISTNER, JOEL EVANS
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054201/0008 →
Continuity (1)
Related Publication 20220131556A1 · Apr 28, 2022
Cited By (2)
US 12,474,944 US 12,566,627