IP Library Granted Patent US 9,852,146
Granted Patent B1
US 9,852,146 · App. 14/663,634 · Granted Dec 26, 2017

Distributed metadata servers for cluster file systems using shared low latency persistent key-value metadata store

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 9,852,146
App. No.
14/663,634
Granted
Dec 26, 2017
Kind
B1
Abstract

A cluster file system is provided having a plurality of distributed metadata servers with shared access to one or more shared low latency persistent key-value metadata stores. A metadata server comprises an abstract storage interface comprising a software interface module that communicates with at least one shared persistent key-value metadata store providing a key-value interface for persistent storage of key-value metadata. The software interface module provides the key-value metadata to the at least one shared persistent key-value metadata store in a key-value format. The shared persistent key-value metadata store is accessed by a plurality of metadata servers. A metadata request can be processed by a given metadata server independently of other metadata servers in the cluster file system. A distributed metadata storage environment is also disclosed that comprises a plurality of metadata servers having an abstract storage interface to at least one shared persistent key-value metadata store.

Claims (28)

1. A metadata server, comprising:

at least one hardware device configured to provide an abstract storage interface comprising a software interface module that communicates with at least one shared persistent key-value metadata store providing a key-value interface for persistent storage of key-value metadata, wherein said software interface module provides said key-value metadata to said at least one shared persistent key-value metadata store in a key-value format,

wherein said shared persistent key-value metadata store is partitioned across a plurality of metadata servers and wherein a metadata request affecting multiple partitions of the namespace is processed by said metadata server independently of other metadata servers in said plurality of metadata servers.

2. The metadata server of claim 1 , wherein said abstract storage interface provides a storage-specific interface for said at least one shared persistent key-value metadata store.

3. The metadata server of claim 1 , wherein said software interface module processes at least one batch operation for processing metadata.

4. The metadata server of claim 1 , wherein said metadata request is further processed by locking one or more directories in a namespace affected by said metadata request.

5. The metadata server of claim 4 , wherein said locking of said one or more directories is performed using an atomic locking operation.

6. The metadata server of claim 4 , wherein said locking of said one or more directories employs a failure detection mechanism to unlock said one or more directories if said metadata server processing said metadata request fails.

7. The metadata server of claim 4 , wherein said metadata request from a file system client is processed by any of said plurality of metadata servers that are connected to a compute node that executes said file system client.

8. The metadata server of claim 1 , wherein a processor in said shared persistent key-value metadata store performs one or more of index building, reorganization, resorting, deduplication and compression of said key-value metadata.

9. The metadata server of claim 1 , wherein a key of a given key-value metadata item identifies a locked portion of the namespace and a value of the given key-value metadata identifies a particular metadata server holding the lock.

10. A distributed metadata storage environment, comprising:

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

a plurality of metadata servers connected to said plurality of compute nodes using at least one network, wherein each of said plurality of metadata servers comprises an abstract storage interface comprising a software interface module that communicates with at least one shared persistent key-value metadata store providing a key-value interface for persistent storage of key-value metadata, wherein said software interface module provides said key-value metadata to said at least one shared persistent key-value metadata store in a key-value format,

wherein said shared persistent key-value metadata store is partitioned across said plurality of said metadata servers and wherein a metadata request affecting multiple partitions of the namespace is processed by one of said metadata servers independently of other metadata servers in said plurality of metadata servers.

11. The distributed metadata storage environment of claim 10 , wherein said abstract storage interface provides a storage-specific interface for said at least one shared persistent key-value metadata store.

12. The distributed metadata storage environment of claim 10 , wherein said at least one metadata request is processed by locking one or more directories in a namespace affected by said metadata request using an atomic locking operation.

13. The distributed metadata storage environment of claim 10 , wherein said metadata request from said file system client is processed by any one of said plurality of metadata servers that are connected to a compute node that executes said file system client.

14. The distributed metadata storage environment of claim 10 , wherein a processor in said shared persistent key-value metadata store performs one or more of index building, reorganization, resorting, deduplication and compression of said key-value metadata.

15. The distributed metadata storage environment of claim 10 , wherein a key of a given key-value metadata item identifies a locked portion of the namespace and a value of the given key-value metadata identifies a particular metadata server holding the lock.

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

providing an abstract storage interface comprising a software interface module that communicates with at least one shared persistent key-value metadata store providing a key-value interface for persistent storage of key-value metadata, wherein said software interface module provides said key-value metadata to said at least one shared persistent key-value metadata store in a key-value format, wherein said shared persistent key-value metadata store is partitioned across a plurality of metadata servers;

obtaining a metadata request from at least one file system client, wherein said metadata request affects multiple partitions of the namespace and is processed by one of said metadata servers independently of other metadata servers in said plurality of metadata servers; and

processing said metadata request using said at least one shared persistent key-value metadata store using said key-value interface.

17. The method of claim 16 , wherein said metadata request is processed by any one of said plurality of metadata servers that are connected to a compute node that executes said at least one file system client.

18. The method of claim 16 , wherein said step of processing said metadata request further comprises a step of locking one or more directories in a namespace affected by said metadata request using an atomic locking operation.

19. A tangible 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 16 .

20. The method of claim 16 , wherein a key of a given key-value metadata item identifies a locked portion of the namespace and a value of the given key-value metadata identifies a particular metadata server holding the lock.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045482/0131) 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 061749/0924 →
RELEASE OF SECURITY INTEREST AT REEL 045482 FRAME 0395 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0314 →
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 Nov 8, 2018
From: LOS ALAMOS NATIONAL SECURITY, LLC
To: TRIAD NATIONAL SECURITY, LLC
Reel/Frame 047485/0323 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 045482/0395 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 045482/0131 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2017
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 043652/0140 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2017
From: IONKOV, LATCHESAR A.; GRIDER, GARY
To: LOS ALAMOS NATIONAL SECURITY, LLC
Reel/Frame 041228/0097 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2015
From: BENT, JOHN M.; FAIBISH, SORIN; PEDONE, JAMES M., JR.; TZELNIC, PERCY; TING, DENNIS P. J.
To: EMC CORPORATION
Reel/Frame 035688/0336 →