Parallel transparent restructuring of immutable content in a distributed object storage system
First Claim
1. A method of restructuring content stored at a storage server of a distributed object storage system, the method comprising:
- determining that an original chunk containing original content is to be restructured into an alternate chunk containing alternate contentderiving the alternate content from the original content;
writing the alternate chunk; and
writing an alternate-index key-value tuple (KVT) that establishes that the alternate chunk as containing an alternate encoding of the original chunk.
4 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure provides an innovative technique for parallel transparent restructuring of immutable content in a distributed object storage system. The content restructuring technique disclosed herein may be implemented with parallel operations by multiple storage servers in a live system. The restructuring is transparent in that the original CHIT may still be used to retrieve and validate the original content, such that a client requesting the original content need not be aware that the original content has been restructured. Furthermore, the restructuring is performed while maintaining support for pre-existing immutable metadata. Other embodiments, aspects and features are also disclosed. The content remains immutable from the perspective of the end user, but still may be advantageously restructured to optimize storage efficiency.
-
Citations
27 Claims
-
1. A method of restructuring content stored at a storage server of a distributed object storage system, the method comprising:
-
determining that an original chunk containing original content is to be restructured into an alternate chunk containing alternate content deriving the alternate content from the original content; writing the alternate chunk; and writing an alternate-index key-value tuple (KVT) that establishes that the alternate chunk as containing an alternate encoding of the original chunk. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A storage server of a distributed object storage system, the storage server comprising:
-
at least one storage device managed by the storage server; at least one processor; and computer-readable instruction code stored in the at least one storage device, wherein the computer-readable instruction code is executable by the at least one processor to manage the at least one storage device and communicate with other storage servers of the distributed object storage system; wherein the computer-readable instruction code is configured to; derive the alternate content from the original content; write the alternate chunk; and write an alternate-index key-value tuple (KVT) that establishes that the alternate chunk as containing an alternate encoding of the original chunk. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method of multicast collaborative restructuring of a target chunk stored in a distributed object storage cluster without requiring any single node to drive the restructuring process, the method comprising:
-
multicasting a roll call request for the target chunk to every storage server in a negotiating group for the chunk; generating and multicasting roll call inventory responses by every storage server in the negotiating group, wherein the roll call inventory responses indicate whether the target chunk is stored at the storage server and whether any alternate chunk derived from the target chunk is stored at the storage server; and collecting the roll call inventory responses by every storage server in the negotiating group from other storage servers in the negotiating group to form a set of roll call inventory responses. - View Dependent Claims (23, 24, 25, 26, 27)
-
Specification