Systems and methods for scalable object storage
First Claim
Patent Images
1. 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 each forward-reference references a chunk by an identity of the chunk without identifying any server on which the chunk is stored; and
a chunk payload subsystem comprising a plurality of chunk server computers communicatively interconnected by the network, the chunk payload subsystem storing the chunks and encodes back-references to version manifests that reference the chunk, wherein each back-reference references an object by an identity of the object without identifying any server on which the object is stored,further wherein the back-references maintained by the chunk payload subsystem comprise speculative back-references and verified back-references,further wherein a speculative back-reference is created during a chunk put operation to put a chunk into the system, and the speculative back-reference is deleted if the speculative back-reference is of a lower class-of-storage than a verified back-reference from the chunk to the object.
4 Assignments
0 Petitions
Accused Products
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.
-
Citations
23 Claims
-
1. 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 each forward-reference references a chunk by an identity of the chunk without identifying any server on which the chunk is stored; and a chunk payload subsystem comprising a plurality of chunk server computers communicatively interconnected by the network, the chunk payload subsystem storing the chunks and encodes back-references to version manifests that reference the chunk, wherein each back-reference references an object by an identity of the object without identifying any server on which the object is stored, further wherein the back-references maintained by the chunk payload subsystem comprise speculative back-references and verified back-references, further wherein a speculative back-reference is created during a chunk put operation to put a chunk into the system, and the speculative back-reference is deleted if the speculative back-reference is of a lower class-of-storage than a verified back-reference from the chunk to the object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. 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 each forward-reference references a chunk by an identity of the chunk without identifying any server on which the chunk is stored; and a chunk payload subsystem comprising a plurality of chunk server computers communicatively interconnected by the network, the chunk payload subsystem storing the chunks and encoding back-references to version manifests that reference the chunk, wherein each back-reference references an object by an identity of the object without identifying any server on which the object is stored, further wherein the back-references maintained by the chunk payload subsystem comprise speculative back-references and verified back-references, further wherein a speculative back-reference is created during a chunk put operation to put a chunk into the system, and, in order to verify the speculative back-reference, the chunk payload subsystem queries the manifest tracking subsystem to confirm that there is a corresponding forward-reference to the chunk from the object, further wherein upon confirmation of the corresponding forward-reference, a verified back-reference from the chunk to the object is created if none already exists, and a class-of-storage attribute for the verified back-reference is updated if the verified back-reference already exists, further wherein the speculative back-reference is then deleted. - View Dependent Claims (20)
-
-
21. A system for providing distributed storage of data objects, the system comprising:
-
a manifest tracking subsystem comprising a plurality of manifest server computers interconnected by a network, the manifest tracking subsystem encoding forward-references from version manifests to chunks, wherein each forward-reference references a chunk by an identity of the chunk without identifying any server on which the chunk is stored; and a chunk payload subsystem comprising a plurality of chunk server computers interconnected by the network, the chunk payload subsystem storing the chunks and encoding back-references to version manifests that reference the chunk, wherein each back-reference references an object by an identity of the object without identifying any server on which the object is stored, further wherein the back-references maintained by the chunk payload subsystem comprise speculative back-references and verified back-references, further wherein a speculative back-reference is created during a chunk put operation to put a chunk into the system, and, in order to verify the speculative back-reference, the chunk payload subsystem queries the manifest tracking subsystem to confirm that there is a corresponding forward-reference to the chunk from the object, further wherein upon confirmation of the corresponding forward-reference, a reference count for the chunk for the specific class-of-storage is incremented, further wherein the speculative back-reference is then deleted. - View Dependent Claims (22)
-
-
23. 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 each forward-reference references a chunk by an identity of the chunk without identifying any server on which the chunk is stored; and encoding back-references to version manifests that reference the chunk, wherein each back-reference references an object by an identity of the object without identifying any server on which the object is stored, further wherein the back-references maintained by the chunk payload system comprise speculative back-references and verified back-references, further wherein a speculative back-reference is created during a chunk put operation to put a chunk into the system, and the speculative back-reference is deleted if the speculative back-reference is of a lower class-of-storage than a verified back-reference from the chunk to the object.
-
Specification