IP Library Granted Patent US 11,449,262
Granted Patent B1
US 11,449,262 · App. 17/206,867 · Granted Sep 20, 2022

Optimal and dynamic selection of compression dictionary size and data buffer coalesce infrastructure for greater data reduction and lowered network bandwidth usage of remote data facility replication systems

Inventors: Kenneth Dorman (West Brookfield, MA); Venkata Ippatapu (Westborough, MA)
Assignee: Dell Products L.P.
G06F3/065G06F3/067G06F3/0608G06F3/0656G06F3/0659G06F3/0689H03M7/3088
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,449,262
App. No.
17/206,867
Granted
Sep 20, 2022
Kind
B1
Abstract

Storage arrays in a mirror relationship use dynamic compression dictionary size adjustment and data buffer merging to more efficiently compress data associated with maintenance of consistency of a replicated storage object. A compression dictionary size selector selects a supported compression dictionary size based on the aggregate size of the updates enqueued for transmission in the data buffers, e.g., a compression dictionary size that is greater than or equal to, and as close as possible to, the aggregate size of the enqueued updates. A combiner selects enqueued updates based on the selected compression dictionary size, e.g., aggregate enqueued update size less than or equal to, and as close as possible to, the selected compression dictionary size. The selected updates are coalesced and compressed using the selected compression dictionary size.

Claims (40)

1. A method, comprising:

repeatedly, and responsive to replica updates being enqueued for transmission to a mirror:

determining an aggregate size of the replica updates enqueued for transmission;

selecting a compression dictionary size based on the aggregate size of the replica updates enqueued for transmission;

selecting ones of the replica updates enqueued for transmission based on the selected compression dictionary size;

coalescing the selected ones of the replica updates;

compressing the coalesced replica updates using the selected compression dictionary size; and

providing the compressed coalesced replica updates to the mirror.

2. The method of claim 1 comprising selecting the compression dictionary size from a plurality of supported compression dictionary sizes.

3. The method of claim 2 comprising selecting the supported compression dictionary size that is greater than or equal to, and as close as possible to, the aggregate size of the replica updates enqueued for transmission.

4. The method of claim 2 comprising selecting the supported compression dictionary size that is a maximum supported compression dictionary size responsive to one of the supported compression dictionary sizes being greater than or equal to the aggregate size of the replica updates enqueued for transmission.

5. The method of claim 2 comprising selecting the supported compression dictionary size that is a minimum supported compression dictionary size.

6. The method of claim 1 comprising selecting the ones of the replica updates enqueued for transmission such that aggregate size of the selected ones of the replica updates is less than or equal to, and as close as possible to, the selected compression dictionary size.

7. The method of claim 1 comprising determining the aggregate size of the replica updates enqueued for transmission based on number of populated data buffers and data buffer size.

8. An apparatus, comprising:

at least one compute node configured to maintain a replicated storage object, the compute node comprising:

data buffers configured to store enqueued updates to the replicated storage object;

a compression dictionary size selector configured to select a compression dictionary size based on aggregate size of the updates enqueued for transmission in the data buffers;

a combiner configured to select ones of the updates enqueued for transmission based on the selected compression dictionary size and coalesce the selected ones of the updates; and

a data reduction module configured to compress the coalesced updates using the selected compression dictionary size;

wherein the compressed coalesced updates are provided to a mirror.

9. The apparatus of claim 8 wherein the compression dictionary size selector is configured to select the compression dictionary size from a plurality of supported compression dictionary sizes.

10. The apparatus of claim 9 wherein the compression dictionary size selector is configured to select the supported compression dictionary size that is greater than or equal to, and as close as possible to, the aggregate size of the replica updates enqueued for transmission.

11. The apparatus of claim 9 wherein the compression dictionary size selector is configured to select the supported compression dictionary size that is a maximum supported compression dictionary size responsive to one of the supported compression dictionary sizes being greater than or equal to the aggregate size of the replica updates enqueued for transmission.

12. The apparatus of claim 9 wherein the compression dictionary size selector is configured to select the supported compression dictionary size that is a minimum supported compression dictionary size responsive to available memory limitations.

13. The apparatus of claim 8 wherein the combiner is configured to select the ones of the updates enqueued for transmission such that aggregate size of the selected ones of the updates is less than or equal to, and as close as possible to, the selected compression dictionary size.

14. The apparatus of claim 8 wherein the combiner is configured to determine the aggregate size of the replica updates enqueued for transmission based on a number of populated data buffers and data buffer size.

15. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for generating compressed replication data, the method comprising:

repeatedly, and responsive to replica updates being enqueued for transmission to a mirror:

determining an aggregate size of the replica updates enqueued for transmission;

selecting a compression dictionary size based on the aggregate size of the replica updates enqueued for transmission;

selecting ones of the replica updates enqueued for transmission based on the selected compression dictionary size;

coalescing the selected ones of the replica updates;

compressing the coalesced replica updates using the selected compression dictionary size; and

providing the compressed coalesced replica updates to the mirror.

16. The computer-readable storage medium of claim 15 wherein the method comprises selecting the compression dictionary size from a plurality of supported compression dictionary sizes.

17. The computer-readable storage medium of claim 16 wherein the method comprises selecting the supported compression dictionary size that is greater than or equal to, and as close as possible to, the aggregate size of the replica updates enqueued for transmission.

18. The computer-readable storage medium of claim 16 wherein the method comprises selecting the supported compression dictionary size that is a maximum supported compression dictionary size responsive to one of the supported compression dictionary sizes being greater than or equal to the aggregate size of the replica updates enqueued for transmission.

19. The computer-readable storage medium of claim 16 wherein the method comprises selecting the supported compression dictionary size that is a minimum supported compression dictionary size.

20. The computer-readable storage medium of claim 15 wherein the method comprises selecting the ones of the replica updates enqueued for transmission such that aggregate size of the selected ones of the replica updates is less than or equal to, and as close as possible to, the selected compression dictionary size.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2021
From: DORMAN, KENNETH; IPPATAPU, VENKATA
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055652/0930 →