IP Library Granted Patent US 10,110,676
Granted Patent B2
US 10,110,676 · App. 14/998,320 · Granted Oct 23, 2018

Parallel transparent restructuring of immutable content in a distributed object storage system

Inventors: Caitlin Bestler (Sunnyvale, CA); Alexander Aizman (Santa Clara, CA); Robert E. Novak (Union City, CA)
Assignee: NEXENTA SYSTEMS, INC.
H04L67/1097G06F17/30312H04L12/1854H04L12/1877H04L47/15H04L67/10H04L67/1095H04L67/28H04L67/42H04L69/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,110,676
App. No.
14/998,320
Granted
Oct 23, 2018
Kind
B2
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.

Claims (19)

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 the alternate chunk as containing an alternate encoding of the original chunk.

2. The method of claim 1 , wherein the alternate-index KVT comprises:

a searchable key that includes an original chunk identifying token (CHIT) which identifies the original content; and

a value that includes an alternate CHIT which identifies the alternate content.

3. The method of claim 1 , wherein the original content is of a category from a group of categories consisting of a payload category, a Content Manifest category, and a Version Manifest category.

4. The method of claim 1 , wherein the alternate content is of a category from a group of categories consisting of a payload category, a Content Manifest category, and a Version Manifest category.

5. The method of claim 1 , wherein the alternate content, when represented by an alternate manifest, comprises payload chunks using different chunk boundaries; the method comprising:

generating alternate chunks with new boundaries;

creating an alternate manifest KVT to an original manifest that represents the original content; and

issuing verified back references from the original manifest to the alternate chunks referenced using the alternate manifest.

6. The method of claim 1 , wherein the alternate content comprises a compressed version of the original content.

7. The method of claim 1 , wherein the alternate content comprises a slice of a set of erasure-encoded slices generated from the original content.

8. The method of claim 1 , wherein the alternate content comprises changes relative to a content of a referenced chunk.

9. The method of claim 1 , further comprising:

reducing a retention requirement for the original content after successfully writing the alternate chunk and the alternate-index KVT.

10. The method of claim 9 , wherein the retention requirement for a given replica of a chunk on a specific storage server is reduced by marking an original KVT for the original chunk as releasable.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2019
From: NEXENTA SYSTEMS, INC.
To: NEXENTA BY DDN, INC.
Reel/Frame 050624/0524 →
RELEASE OF SECURITY INTEREST Recorded Mar 8, 2018
From: SILICON VALLEY BANK
To: NEXENTA SYSTEMS, INC.
Reel/Frame 045144/0872 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2017
From: BESTLER, CAITLIN; AIZMAN, ALEXANDER
To: NEXENTA SYSTEMS, INC.
Reel/Frame 042030/0696 →
SECURITY INTEREST Recorded Nov 9, 2016
From: NEXENTA SYSTEMS, INC.
To: SILICON VALLEY BANK
Reel/Frame 040270/0049 →
Continuity (4)
Continuation In Part 14832075 · Aug 21, 2015
Provisional Application 62098727 · Dec 31, 2014
Provisional Application 62040962 · Aug 22, 2014
Related Publication 20160205190A1 · Jul 14, 2016