IP Library Granted Patent US 10,140,304
Granted Patent B1
US 10,140,304 · App. 14/965,257 · Granted Nov 27, 2018

Distributed metadata servers in a file system with separate metadata servers for file metadata and directory metadata

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,140,304
App. No.
14/965,257
Granted
Nov 27, 2018
Kind
B1
Abstract

A file system is provided having a plurality of distributed metadata servers with separate metadata servers for file metadata and directory metadata. An exemplary distributed metadata storage system comprises a plurality of compute nodes, wherein at least one compute node comprises a file system client that generates a directory metadata request and/or a file metadata request; a plurality of directory metadata servers to serve directory metadata in response to a given directory metadata request; and a plurality of file metadata servers to serve file metadata in response to a given file metadata request. The plurality of directory metadata servers are distinct from the plurality of file metadata servers. The compute nodes optionally comprise an object client that requests object data from an object store system. The number of directory metadata servers and the number of file metadata servers are optionally determined independently to balance for different workloads, and can be dynamically readjusted for evolving workloads.

Claims (29)

1. A distributed metadata storage system, comprising:

a plurality of compute nodes, wherein at least one of said compute nodes comprises a file system client that generates one or more of a directory metadata request and a file metadata request;

a plurality of directory metadata servers to serve only directory metadata in response to a given directory metadata request;

a plurality of file metadata servers to serve only file metadata in response to a given file metadata request, wherein said plurality of directory metadata servers are distinct from said plurality of file metadata servers, and wherein said plurality of directory metadata servers and said plurality of file metadata servers comprise at least one processing device and are connected to said plurality of compute nodes using at least one network; and

at least one shared persistent key-value metadata store for storing said directory metadata and said file metadata, wherein said at least one shared persistent key-value metadata store is accessed by said plurality of directory metadata servers and said plurality of file metadata servers.

2. The distributed metadata storage system of claim 1 , wherein at least one of said compute nodes comprises an object client that requests object data from an object store system.

3. The distributed metadata storage system of claim 1 , wherein said plurality, N, of directory metadata servers and said plurality, M, of file metadata servers are determined independently to balance for different workloads.

4. The distributed metadata storage system of claim 1 , wherein said plurality, N, of directory metadata servers and said plurality, M, of file metadata servers are dynamically readjusted for evolving workloads.

5. The distributed metadata storage system of claim 1 , wherein each of said plurality of directory metadata servers and said plurality of file metadata servers comprises an abstract storage interface comprising a software interface module that communicates with said at least one shared persistent key-value metadata store.

6. The distributed metadata storage system of claim 5 , wherein said abstract storage interface provides a storage-specific interface for said at least one shared persistent metadata store.

7. The distributed metadata storage system of claim 1 , wherein a directory traversal evaluates only directory metadata in one or more of said plurality of directory metadata servers, without evaluating file metadata.

8. The distributed metadata storage system of claim 1 , wherein a load is dynamically redistributed among said plurality of directory metadata servers and said plurality of file metadata servers by modifying an operation that is used to select one of said plurality of directory metadata servers and said plurality of file metadata servers.

9. A directory metadata server in a distributed metadata storage environment, comprising:

at least one processing device configured to obtain a directory metadata request from at least one file system client on at least one compute node, wherein said directory metadata server is dedicated to processing only directory metadata request types and wherein a plurality of file metadata servers in said distributed metadata storage environment are dedicated to processing only file metadata request types; and

at least one processing device configured to process said directory metadata request using at least one shared persistent key-value metadata store accessed by said directory metadata server and said plurality of file metadata servers.

10. The directory metadata server of claim 9 , wherein said at least one compute node comprises an object client that requests object data from an object store system.

11. The directory metadata server of claim 9 , wherein said directory metadata server is one of a plurality, N, of directory metadata servers and wherein said distributed metadata storage environment further comprises a plurality, M, of said file metadata servers, and wherein said N and M values are determined independently to balance for different workloads.

12. The directory metadata server of claim 9 , wherein said directory metadata server is one of a plurality, N, of directory metadata servers and wherein said distributed metadata storage environment further comprises a plurality, M, of said file metadata servers, and wherein said N and M values are dynamically readjusted for evolving workloads.

13. The directory metadata server of claim 9 , wherein said directory metadata server is one of a plurality, N, of directory metadata servers and wherein said distributed metadata storage environment further comprises a plurality, M, of said file metadata servers, and wherein each of said plurality of directory metadata servers and said plurality of file metadata servers comprises an abstract storage interface comprising a software interface module that communicates with said at least one shared persistent key-value metadata store.

14. The directory metadata server of claim 9 , wherein a directory traversal evaluates only directory metadata in one or more of a plurality of said directory metadata servers, without evaluating file metadata.

15. A method performed by a directory metadata server in a distributed metadata storage environment, comprising the steps of:

obtaining, using at least one processing device, a directory metadata request from at least one file system client on at least one compute node, wherein said directory metadata server is dedicated to processing only directory metadata request types and wherein a plurality of file metadata servers in said distributed metadata storage environment are dedicated to processing only file metadata request types; and

processing said directory metadata request using at least one shared persistent key-value metadata store accessed by said directory metadata server and said plurality of file metadata servers.

16. The method of claim 15 , wherein said at least one compute node comprises an object client that requests object data from an object store system.

17. The method of claim 15 , wherein said directory metadata server is one of a plurality, N, of directory metadata servers and wherein said distributed metadata storage environment further comprises a plurality, M, of said file metadata servers, and wherein said N and M values are determined independently to balance for different workloads.

18. The method of claim 15 , wherein said directory metadata server is one of a plurality, N, of directory metadata servers and wherein said distributed metadata storage environment further comprises a plurality, M, of said file metadata servers, and wherein said N and M values are dynamically readjusted for evolving workloads.

19. The method of claim 15 , wherein said directory metadata server is one of a plurality, N, of directory metadata servers and wherein said distributed metadata storage environment further comprises a plurality, M, of said file metadata servers, and wherein each of said plurality of directory metadata servers and said plurality of file metadata servers comprises an abstract storage interface comprising a software interface module that communicates with said at least one shared persistent key-value metadata store.

20. The method of claim 15 , wherein a directory traversal evaluates only directory metadata in one or more of a plurality of said directory metadata servers, without evaluating file metadata.

21. A non-transitory machine-readable recordable storage medium, wherein one or more software programs when executed by one or more processing devices implement the steps of the method of claim 15 .

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 AT REEL 048825 FRAME 0489 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 058000/0916 →
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 Apr 8, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 048825/0489 →
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 Nov 8, 2018
From: LOS ALAMOS NATIONAL SECURITY, LLC
To: TRIAD NATIONAL SECURITY, LLC
Reel/Frame 047485/0323 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2018
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 047146/0643 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2017
From: GRIDER, GARY
To: LOS ALAMOS NATIONAL SECURITY, LLC
Reel/Frame 041228/0510 →
CONFIRMATORY LICENSE Recorded Apr 6, 2016
From: LOS ALAMOS NATIONAL SECURITY
To: U.S. DEPARTMENT OF ENERGY
Reel/Frame 038200/0129 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2015
From: BENT, JOHN M.; FAIBISH, SORIN
To: EMC CORPORATION
Reel/Frame 037262/0688 →