IP Library › Granted Patent US 10,706,042
Granted Patent B1
US 10,706,042 · App. 15/080,448 · Granted Jul 7, 2020

Data deduplication on a distributed file system using conditional writes

Inventor: Rajiv Desai (Sunnyvale, CA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F16/2379G06F16/1748
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,706,042
App. No.
15/080,448
Filed
Mar 24, 2016
Granted
Jul 7, 2020
Kind
B1
Art Unit
2154
USPC
707/692
Abstract

A write request is transmitted from a client to a metadata server (“MDS”), wherein the write request comprises an object identifier associated with a data object. An object store location for an object store is received from the MDS. A conditional write request is transmitted to the object store using the object store location, wherein the conditional write request includes the object identifier and the data object. A metadata response is received from the object store. The metadata response is determined to contain an object designator. A commit request is transmitted to the MDS, wherein the commit response includes the object designator.

Claims (30)

1. A method for deduplicating data on a distributed file system, the method comprising:

transmitting, by a client, a write request to a metadata server (“MDS”) associated with the distributed file system, wherein the MDS maintains location data for all data objects in the distributed file system, wherein the write request comprises an object identifier associated with a data object;

receiving, by the client, an object store location for an object store from the MDS;

transmitting, by the client, a metadata request to the object store using the object store location prior to transmitting the data object, wherein the metadata request includes the object identifier, and wherein the object store is separate from the MDS;

receiving, by the client, a metadata response from the object store to the metadata request;

determining, by the client, that the object store contains the data object when the metadata response includes an object designator and determining that the object store does not contain the data object when the metadata response does not include the object designator, where the data object is transmitted to the object store and stored at the object store when the metadata response does not include the object designator; and

transmitting, by the client, a commit request to the MDS, wherein the commit response includes the object designator, wherein the object identifier uniquely identifies the data object and the object designator allows the MDS to track how many instances of the data object are stored in the distributed file system.

2. The method of claim 1 , wherein the metadata request is a conditional write request or a conditional PUT request, wherein the data object is transmitted with the conditional write request or with the conditional PUT request.

3. The method of claim 1 , wherein the object designator uniquely identifies the data object.

4. The method of claim 1 , wherein the object store is a cloud object store.

5. A non-transitory computer readable storage medium comprising processor instructions for deduplicating data on a distributed file system, the instructions comprising:

transmitting, by a client, a write request to a metadata server (“MDS”) associated with the distributed file system, wherein the MDS maintains location data for all data objects in the distributed file system, wherein the write request comprises an object identifier associated with a data object;

receiving, by the client, an object store location for an object store from the MDS;

transmitting a metadata request to the object store using the object store location prior to transmitting the data object, wherein the metadata request includes the object identifier, and wherein the object store is separate from the MDS;

receiving, by the client, a metadata response from the object store to the metadata request;

determining, by the client, that the object store contains the data object when the metadata response includes an object designator and determining that the object store does not contain the data object when the metadata response does not include the object designator, where the data object is transmitted to the object store and stored at the object store when the metadata response does not include the object designator; and

transmitting, by the client, a commit request to the MDS, wherein the commit response includes the object designator, wherein the object identifier uniquely identifies the data object and the object designator allows the MDS to track how many instances of the data object are stored in the distributed file system.

6. The computer readable storage medium of claim 5 , wherein the conditional write request is a conditional PUT request.

7. The computer readable storage medium of claim 5 , wherein the object designator uniquely identifies the data object.

8. The computer readable storage medium of claim 5 , wherein the object store is a cloud object store.

9. A system for deduplicating data on a distributed file system, the system comprising a non-transitory computer readable medium and processor enabled to execute instructions for:

transmitting, by a client, a write request to a metadata server (“MDS”) associated with the distributed file system, wherein the MDS maintains location data for all data objects in the distributed file system, wherein the write request comprises an object identifier associated with a data object;

receiving, by the client, an object store location for an object store from the MDS;

transmitting a metadata request to the object store using the object store location prior to transmitting the data object, wherein the metadata request includes the object identifier, and wherein the object store is separate from the MDS;

receiving, by the client, a metadata response from the object store to the metadata request;

determining, by the client, that the object store contains the data object when the metadata response includes an object designator and determining that the object store does not contain the data object when the metadata response does not include the object designator, where the data object is transmitted to the object store and stored at the object store when the metadata response does not include the object designator; and

transmitting, by the client, a commit request to the MDS, wherein the commit response includes the object designator, wherein the object identifier uniquely identifies the data object and the object designator allows the MDS to track how many instances of the data object are stored in the distributed file system.

10. The system of claim 9 , wherein the conditional write request is a conditional PUT request.

11. The system of claim 9 , wherein the object designator uniquely identifies the data object.

12. The system of claim 9 , wherein the object store is a cloud object store.

Assignments (10)
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 (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2016
From: DESAI, RAJIV
To: EMC CORPORATION
Reel/Frame 038097/0260 →
Continuity (1)
Continuation In Part 14755789 · Jun 30, 2015