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 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 different host computers including a first physical storage device housed in or directly attached to a first host computer and a second physical storage device housed in or directly attached to a second host computer;
(ii) includes at least one stored object that is backed by both the first physical storage device and the second physical storage device; and
(iii) 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 organized in accordance with a 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.
-
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 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 different host computers including a first physical storage device housed in or directly attached to a first host computer and a second physical storage device housed in or directly attached to a second host computer;
(ii) includes at least one stored object that is backed by both the first physical storage device and the second physical storage device; and
(iii) internally tracks its stored objects using a flat namespace that maps unique identifiers to the stored objects; andenabling 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 organized in accordance with a designated file system. - View Dependent Claims (4, 5, 6, 7, 14, 15, 20, 21, 22, 27, 30)
-
-
2. 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, wherein the storage device is backed by an object store comprising, in aggregate, a plurality of physical storage devices housed in or attached to different host computers including a first physical storage device housed in or directly attached to a first host computer and a second physical storage device housed in or directly attached to a second host computer; 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 and at least one file object is backed by both the first physical storage device and the second physical storage device. - View Dependent Claims (8, 9, 10, 16, 17, 23, 24, 28, 31)
-
-
3. 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, wherein the storage device is backed by an object store comprising, in aggregate, a plurality of physical storage devices housed in or directly attached to different host computers including a first physical storage device housed in or directly attached to a first host computer and a second physical storage device housed in or directly attached to a second host computer; 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 and at least one file object is backed by both the first physical storage device and the second physical storage device. - View Dependent Claims (11, 12, 13, 18, 19, 25, 26, 29, 32)
-
Specification