Systems and methods for scalable object storage
AssigneeNexenta Systems, Inc.
InventorsCaitlin BESTLER, Alexander AIZMAN
Life of this patent
Estimating the term…
Abstract
The present disclosure provides an advantageous systems and related methods for scalable object storage. One embodiment relates to a system that includes at least a manifest tracking subsystem and a chunk payload subsystem. The manifest tracking subsystem stores version manifests and encodes forward-references from the version manifests to chunks. The chunk payload subsystem stores the chunks and encodes back-references to version manifests that reference the chunk. Other embodiments, aspects and features are also disclosed.
Claims36
A system for providing distributed storage of data objects, the system comprising:
- a manifest tracking subsystem comprising a plurality of manifest server computers communicatively interconnected by a network, the manifest tracking subsystem encoding forward-references from version manifests to chunks, wherein the chunks comprise sequences of payload bytes for objects stored in the system, and wherein the version manifests comprise encodings of metadata for specific versions of objects;
- and
- a chunk payload subsystem comprising a plurality of chunk server computers communicatively interconnected by the network, the chunk payload subsystem storing which stores the chunks and encoding back-references to version manifests that reference the chunks.
A method for providing storage of data objects using a distributed storage system, the method comprising:
- encoding forward-references from version manifests to chunks in a manifest tracking subsystem which stores the version manifests, wherein the chunks comprise sequences of payload bytes for objects stored in the distributed storage system, and wherein the version manifests comprise encodings of metadata for specific versions of an object;
- and
- encoding back-references to version manifests that reference the chunks,
- wherein a consistent hash algorithm is used on the forward references to obtain location information for the chunks.
A method for putting an object into a distributed storage system, the method comprising:
- receiving from a client of the system a request to put an object into the system;
- obtaining a transaction identifier for the request from a manifest tracking subsystem;
- dividing a payload of the object into a plurality of chunks;
- putting the plurality of chunks into a chunk payload subsystem;
- and
- writing forward references from the object to the plurality of chunks, wherein the forward references are written in the manifest tracking subsystem, wherein a first consistent hashing algorithm is used on the forward references to obtain location information for the plurality of chunks;
- and
- putting a manifest into the manifest tracking subsystem,
- wherein the manifest is put into the manifest tracking subsystem after the plurality of chunks are put into the chunk payload subsystem.
(canceled)
Dependencies are inferred from the claim text.