IP Library Granted Patent US 10,956,388
Granted Patent B2
US 10,956,388 · App. 16/031,920 · Granted Mar 23, 2021

Eventual consistency in a deduplicated cloud storage system

Inventors: Philip Shilane (Newtown, PA); Venkata Ravi Chandra Bandlamudi (San Jose, CA); Atul A. Karmarkar (San Jose, CA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F16/219G06F16/2255G06F16/2329G06F16/2365G06F16/27H04L67/1097
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 10,956,388
App. No.
16/031,920
Granted
Mar 23, 2021
Kind
B2
Abstract

One example method includes receiving a write request that includes a data structure version to be written, wherein the data structure version is associated with a unique identifier, storing the data structure version in association with the unique identifier, receiving a read request for a most recent version of the data structure and, when the stored data structure version is not the most recent version of the data structure, examining respective unique identifiers of each of a group of other stored data structure versions to determine which stored data structure version is the most recent. Finally, the example method includes returning the most recent data structure version, notwithstanding that one or more other data structure versions existed at the time that the read request was received.

Claims (19)

1. A non-transitory storage medium having stored therein computer-executable instructions which, when executed by one or more hardware processors, perform the following operations:

receiving a write request that includes a data structure version to be written, wherein the data structure version is assigned a unique identifier that is generated based on a hash of contents of the data structure, the data structure comprising a similarity group that records a mapping between a compression region comprising a compressed group of data portions, and fingerprints of the data portions that make up the compression region;

appending, to a name of the similarity group, a transaction ID that is incremented for each update that is made to the similarity group;

storing the data structure version in association with the unique identifier;

receiving a read request for a most recent version of the data structure;

when the stored data structure version is not the most recent version of the data structure, examining respective unique identifiers of each of a plurality of other stored data structure versions to determine which stored data structure version is the most recent; and

returning the most recent data structure version, notwithstanding that one or more other data structure versions existed at the time that the read request was received.

2. The non-transitory storage medium as recited in claim 1 , wherein the read request is received from a deduplication microservice.

3. The non-transitory storage medium of claim 1 , wherein when the size of the similarity group exceeds a threshold, the operations further comprise creating a new subgroup having a subgroup ID that has a relatively higher value than a prior in time subgroup ID.

4. The non-transitory storage medium as recited in claim 1 , wherein as between the similarity group and one or more other similarity groups, the operations further comprise performing data deduplication against the similarity group with the highest subgroup ID and, within that highest subgroup ID, the highest transaction ID.

5. The non-transitory storage medium as recited in claim 1 , wherein namespace consistency is achieved before the stored data structure version is available to fulfill the read request.

6. The non-transitory storage medium as recited in claim 1 , wherein the compression region is shared by multiple objects.

7. The non-transitory storage medium as recited in claim 1 , wherein the operations are performed in a data protection environment that implements an eventual consistency model.

8. The non-transitory storage medium as recited in claim 1 , wherein determining which stored data structure version is the most recent comprises performing a list call that includes a data structure name prefix that is common to two or more of the stored data structure versions.

9. The non-transitory storage medium as recited in claim 1 , wherein the unique identifier of a data structure version prevents that data structure version from being overwritten by another data structure version with a different unique identifier.

10. The non-transitory storage medium as recited in claim 1 , wherein the operations further comprise deleting all but the newest data structure version.

11. The non-transitory storage medium as recited in claim 1 , wherein as between successive unique identifiers, a second one of the successive unique identifiers reflects a time increment relative to a first one of the successive unique identifiers.

12. The non-transitory storage medium as recited in claim 1 , wherein the unique identifier associated with the data structure version included in the write request is assigned either by a component of a datacenter, or by an entity that issued the write request.

13. The non-transitory storage medium as recited in claim 1 , wherein one or more of the data structure versions comprise deduplicated data.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2018
From: SHILANE, PHILIP; BANDLAMUDI, VENKATA RAVI CHANDRA; KARMARKAR, ATUL A.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046312/0310 →