IP Library Granted Patent US 9,575,826
Granted Patent B2
US 9,575,826 · App. 14/788,664 · Granted Feb 21, 2017

Two level addressing in storage clusters

Inventors: Paul R. M. Carpentier (Boechout, BE); Russell Turpin (Corpus Christi, TX)
Assignee: Caringo, Inc.
G06F11/0709G06F3/061G06F3/0604G06F3/064G06F3/067G06F3/0607G06F3/0613G06F3/0626G06F3/0635G06F3/0659G06F3/0667G06F3/0683G06F11/2084G06F12/1009H04L45/745H04L67/1097G06F2212/206
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 9,575,826
App. No.
14/788,664
Granted
Feb 21, 2017
Kind
B2
Abstract

Digital objects are stored and accessed within a fixed content storage cluster by using a page mapping table and a pages index. A stream is read from the cluster by using a portion of its unique identifier as a key into the page mapping table. The page mapping table indicates a node holding a pages index indicating where the stream is stored. A stream is written to the cluster by storing the stream on any suitable node and then updating a pages index stored within the cluster. The cluster recovers from a node failure by first replicating streams from the failed node and reallocating a page mapping table to create a new pages index. The remaining nodes send records of the unique identifiers corresponding to objects they hold to the new pages index. A node is added to the cluster by reallocating a page mapping table.

Claims (12)

1. A method of recovering from a node failure within a storage cluster, said method comprising:

detecting within said storage cluster that a first computer node out of a plurality of computer nodes is unavailable, said storage cluster including stored digital objects in persistent storage, each of said digital objects being identified by a unique identifier (UID), and wherein said unique identifiers having ranges of possible values;

accessing a table of said storage cluster, said table mapping each UID range to one of said computer nodes, and a first UID range being mapped to said first computer node within said table;

replacing said mapping of said first UID range to said first computer node with a mapping of said first UID range to a different computer node within said storage cluster;

causing each computer node within said storage cluster other than said first node to determine a set of unique identifiers falling within said first UID range indicating digital objects stored upon said each computer node;

receiving, at said different computer node from said each computer node, said sets that identify said unique identifiers and said each computer nodes where the digital objects corresponding to said unique identifiers are stored; and

updating an index on said different computer node to store mappings from said unique identifiers to said each computer node.

2. The method as recited in claim 1 wherein said storage cluster is a write-once read-many (WORM) fixed-content storage cluster.

3. The method as recited in claim 1 wherein said index maps a portion of said unique identifiers to said each computer node.

4. The method as recited in claim 1 wherein said index maps each unique identifier directly to a volume identifier identifying a disk within said storage cluster, said method further comprising:

mapping said volume identifier to said one of said computer nodes, whereby said index maps each unique identifier indirectly to said one of said computer nodes.

5. The method as recited in claim 1 wherein said table and said index are located in RAM.

Assignments (4)
SECURITY INTEREST Recorded May 29, 2024
From: DATACORE SOFTWARE CORPORATION
To: VISTARA TECHNOLOGY GROWTH FUND V MASTER, LP
Reel/Frame 067563/0884 →
SECURITY INTEREST Recorded Oct 28, 2021
From: DATACORE SOFTWARE CORPORATION
To: STIFEL BANK
Reel/Frame 057969/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2021
From: CARINGO, INC.
To: DATACORE SOFTWARE CORPORATION
Reel/Frame 055607/0754 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2015
From: CARPENTIER, PAUL R.M.; TURPIN, RUSSELL
To: CARINGO, INC.
Reel/Frame 036452/0087 →
Continuity (2)
Division 13517523 · Jun 13, 2012
Related Publication 20150301948A1 · Oct 22, 2015