IP Library Granted Patent US 11,487,637
Granted Patent B2
US 11,487,637 · App. 16/517,441 · Granted Nov 1, 2022

Global inline name space verification for distributed file systems

Inventors: Charles I Hickey (Aptos, CA); Murthy V Mamidi (San Jose, CA); Neerajkumar N Chourasia (San Ramon, CA)
Assignee: EMC IP Holding Company LLC
G06F11/2289G06F3/065G06F3/067G06F3/0619G06F3/0641G06F11/1004G06F11/3082G06F11/3086
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,487,637
App. No.
16/517,441
Granted
Nov 1, 2022
Kind
B2
Abstract

Embodiments for providing global inline name space verification for a distributed file system in a network of a metadata server coupled to a plurality of data servers by taking a global dataless snapshot of a namespace of the distributed file system; walking all of the files in the namespace for each data server and the metadata server to generate parsed information; combining, by an XOR operation, the parsed information into data blocks for each server; obtaining a checksum of each data block of the data blocks; comparing actual and expected checksums from the metadata server and all of the data servers; and generating an alert if a comparison of any actual and expected checksums do not match.

Claims (45)

1. A method of providing global inline name space verification for a distributed file system in a network of a metadata server coupled to a plurality of data servers, the method comprising:

maintaining, on a name node of the network, the metadata server storing data of all files of the file system;

spawning, across available nodes of the network, the plurality of data servers, each data server of the plurality of data servers storing only data of specified subsets of the files;

allocating, by the metadata server only and for each data server, an array of expected-checksums and an array of actual checksums to provide a mechanism to detect instances of data corruption on a data server without needing coordination among the plurality data servers as separate machines;

taking a global dataless snapshot of the metadata server and each of the plurality of data servers;

fetching a server master checksum from the global data dataless snapshot of each data server;

saving each fetched server master checksum in a corresponding entry in the actual-checksums array;

walking a directory structure of the metadata server's global dataless snapshot;

combining, for each file type of files stored on a respective data server of the plurality of data servers, file data into the expected-checksum for the respective data server; and

comparing, on completion of the walking, the expected-checksum for each data server with the actual-checksum of each data server.

2. The method of claim 1 further comprising generating an error if a mismatch is detected in the comparing.

3. The method of claim 2 further comprising generating an error message noting which data server of the plurality of data servers caused the error.

4. The method of claim 1 wherein the server master checksum is generated for each data server by combining in an Exclusive-OR operation: file length, file identifier, and a disk location of each file with corresponding information for all other files of the respective specific subset of files to create a data block.

5. The method of claim 4 further comprising performing an Adler-32 checksum process to the data block to create a checksum for a respective data server.

6. The method of claim 5 further comprising, for each data server and the metadata server, updating its respective checksum upon creation, removal, or modification of any a file maintained by a respective server.

7. The method of claim 1 wherein the global dataless snapshot comprises a data element storing only metadata of the distributed file system at a specific point in time.

8. The method of claim 1 wherein the network comprises a cluster network including clustered backup appliances as part of a deduplication backup system operated by a backup server.

9. The method of claim 8 wherein the distributed file system utilizes Mtrees storing files and directories in respective nodes in the deduplication backup system, and wherein the Mtree comprises user-defined logical partitions of a file system of the deduplication backup system.

10. A method of providing global inline name space verification for a distributed file system in a network of a metadata server coupled to a plurality of data servers, the method comprising:

maintaining, on a name node of the network, the metadata server storing data of all files of the file system;

spawning, across available nodes of the network, the plurality of data servers, each data server of the plurality of data servers storing only data of specified subsets of the files;

allocating, by the metadata server only and for each data server, a first array of expected-checksums and a second array of actual checksums to provide a mechanism to detect instances of data corruption on a data server without needing coordination among the plurality data servers as separate machines;

taking a global dataless snapshot of a namespace of the distributed file system;

walking all files in the namespace for each data server and the metadata server to generate parsed information;

combining, in an Exclusive-OR operation, the parsed information into data blocks for each server;

obtaining a checksum of each data block of the data blocks;

comparing actual and expected checksums of the first and second arrays from the metadata server and all of the data servers; and

generating an alert if a comparison of any actual and expected checksums do not match.

11. The method of claim 10 wherein the checksums are obtained by an Adler-32 process that obtains a checksum by calculating two 1b-bit checksums A and B and concatenating their bits into a 32-bit integer.

12. The method of claim 10 wherein the parsed information comprises file length, file identifier, and disk location for each file with corresponding information for all of the other files of the respective specific subset of files to create a corresponding data block.

13. The method of claim 12 further comprising, for each data server and the metadata server, updating its respective checksum upon creation, removal, or modification of any a file maintained by a respective server.

14. The method of claim 10 wherein the global dataless snapshot comprises a data element storing only metadata of the distributed file system at a specific point in time.

15. A system for providing global inline name space verification for a distributed file system in a network of a metadata server coupled to a plurality of data servers, comprising:

the metadata server maintained on a name node of the network and storing data of all files of the file system;

the plurality of data servers spawned across available nodes of the network, wherein each data server of the plurality of data servers stores only data of specified subsets of the files;

a first array of expected-checksums allocated by the metadata server only, and a second array of actual checksums for each data server to provide a mechanism to detect instances of data corruption on a data server without needing coordination among the plurality data servers as separate machines;

a processor-based global snapshot component executing program code taking a global dataless snapshot of a namespace of the distributed file system;

a processor-based file parser executing program code walking all files in the namespace for each data server and the metadata server to generate parsed information;

an Exclusive-OR circuit combining the parsed information into data blocks for each server;

a processor-based checksum generator executing program code obtaining a checksum of each data block of the data blocks;

a processor-based comparator executing program code comparing actual and expected checksums using the first and second arrays from the metadata server and all of the data servers; and

a user interface generating an alert a comparisonof any actual and expected checksums do not match.

16. The system of claim 15 wherein the global dataless snapshot comprises a data element storing only metadata of the distributed file system at a specific point in time.

17. The system of claim 15 wherein the parsed information comprises file length, file identifier, and disk location for each file of the walked files with corresponding information for all of the other files of the respective specific subset of files to create a corresponding data block, and wherein each data server and the metadata server updates its respective checksum upon creation, removal, or modification of a file maintained by a respective server.

18. The system of claim 15 wherein the network comprises a cluster network including clustered backup appliances as part of a deduplication backup system operated by a backup server, and wherein the distributed file system utilizes Mtrees storing files and directories in respective nodes in the deduplication backup system, and wherein the Mtree comprises user-defined logical partitions of a file system of the deduplication backup system.

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 (053311/0169) Recorded Jun 23, 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 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 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 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 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 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
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 053311/0169 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
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 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →