SCALABLE DISTRIBUTED STORAGE ARCHITECTURE
First Claim
1. A method for providing a file system interface for an object store intended to support simultaneous access to objects stored in the object store by multiple clients, the steps comprising:
- exposing to clients an abstraction of a root directory to a hierarchical namespace for the object store, wherein the object store (i) is backed by a plurality of physical storage devices housed in or directly attached to the plurality of host computers, and (ii) internally tracks its stored objects using a flat namespace that maps unique identifiers to the stored objects; and
enabling creation of top-level objects appearing as subdirectories of the root directory, wherein each top-level object represents a separate abstraction of a storage device having a separate namespace that can be organized in accordance with any designated file system.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques are disclosed for providing a file system interface for an object store intended to support simultaneous access to objects stored in the object store by multiple clients. In accordance with one method, an abstraction of a root directory to a hierarchical namespace for the object store is exposed to clients. The object store is backed by a plurality of physical storage devices housed in or directly attached to the plurality of host computers and internally tracks its stored objects using a flat namespace that maps unique identifiers to the stored objects. The creation of top-level objects appearing as subdirectories of the root directory is enabled, wherein each top-level object represents a separate abstraction of a storage device having a separate namespace that can be organized in accordance with any designated file system.
30 Citations
32 Claims
-
1. A method for providing a file system interface for an object store intended to support simultaneous access to objects stored in the object store by multiple clients, the steps comprising:
-
exposing to clients an abstraction of a root directory to a hierarchical namespace for the object store, wherein the object store (i) is backed by a plurality of physical storage devices housed in or directly attached to the plurality of host computers, and (ii) internally tracks its stored objects using a flat namespace that maps unique identifiers to the stored objects; and enabling creation of top-level objects appearing as subdirectories of the root directory, wherein each top-level object represents a separate abstraction of a storage device having a separate namespace that can be organized in accordance with any designated file system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory computer readable storage medium storing instructions, which, when executed on a processor, performs an operation for providing a file system interface for an object store intended to support simultaneous access to objects stored in the object store by multiple clients, the operation comprising:
-
exposing an abstraction of a storage device to a plurality of host computers in a cluster, wherein the storage device is backed by an object store comprising, in aggregate, a plurality of physical storage devices housed in the plurality of host computers; and enabling creation of multiple top-level file system objects in the object store that each represent separate file systems, wherein each top-level file system object is configured to (i) respond according to the semantics of its corresponding file system, and (ii) store metadata for file objects representing files stored in the corresponding file system, wherein the file objects are stored in the object store separate from their corresponding top-level file system objects. - View Dependent Claims (14, 15, 16, 17, 18, 21, 22)
-
- 19. The computer readable storage medium of claim 19, wherein the file represented by the file object is a virtual disk file used by a virtual machine running on one of the plurality host computers.
-
23. A computer system, comprising:
-
a processor and a memory hosting a module, which, when executed on the processor, performs an operation for providing a file system interface for an object store intended to support simultaneous access to objects stored in the object store by multiple clients, the operation comprising; exposing an abstraction of a storage device to a plurality of host computers in a cluster, wherein the storage device is backed by an object store comprising, in aggregate, a plurality of physical storage devices housed in the plurality of host computers; and enabling creation of multiple top-level file system objects in the object store that each represent separate file systems, wherein each top-level file system object is configured to (i) respond according to the semantics of its corresponding file system, and (ii) store metadata for file objects representing files stored in the corresponding file system, wherein the file objects are stored in the object store separate from their corresponding top-level file system objects. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32)
-
Specification