IP Library Granted Patent US 8,533,256
Granted Patent B2
US 8,533,256 · App. 12/648,528 · Granted Sep 10, 2013

Object interface to a dispersed data storage network

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 8,533,256
App. No.
12/648,528
Granted
Sep 10, 2013
Kind
B2
Abstract

A data object interface to a dispersed data storage network is disclosed. The disclosed interface accepts read and write commands from a client computer and generates network commands that are forwarded to slice servers that form the storage component of the dispersed data storage network. The slice servers then fulfill the read and write commands.

Claims (24)

1. A method of reading a data object from a dispersed data storage network that includes a plurality of networked computers and a plurality of slice servers, each of said plurality of slice servers storing at least one of a plurality of data slices, whereby n of said plurality of data slices are associated with said data object, and whereby m of said associated data slices are required to reconstruct said data object, and further whereby m is less than n, said method comprising the steps of:

receiving data indicative of the data object to read;

based on the data indicative of the data object to read:

accessing a root directory associated with a vault in which the data object is stored;

retrieving one or more directories listed in the root directory from the data storage network;

accessing a home directory of the one or more directories;

accessing file object metadata from the home directory, wherein the file object metadata identifies slice servers storing data slices associated with said data object;

reading m data slices from m of said slice servers; and

assembling said data object from said read data slices.

2. The method of claim 1 wherein said data indicative of the data object to read is a unique data object identifier.

3. The method of claim 1 wherein said data indicative of the data object to read is a user supplied name.

4. The method of claim 3 further comprising the step of generating a data object identifier from said user supplied name using a hashing function.

5. A computer for reading a data object from a dispersed data storage network comprising a plurality of networked computers including a plurality of slice servers, each of said plurality of slice servers storing at least one of a plurality of data slices, whereby n of said plurality of data slices are associated with said data object, and whereby m of said associated data slices are required to reconstruct said data object, and further whereby m is less than n, said computer comprising:

a network port;

a database including a plurality of information records wherein an information record of said information records identifies the data object stored by said dispersed data storage network and identifies the n data slices including data associated with said identified data object; and

a dispersed data storage application for (1) receiving data indicative of the data object to read, (2) based on the data indicative of the data object to read:

accessing a root directory associated with a vault in which the data object is stored;

retrieving one or more directories listed in the root directory from the data storage network;

accessing a home directory of the one or more directories;

accessing file object metadata from the home directory, wherein the file object metadata identifies slice servers storing data slices associated with said data object;

(3) reading m of said data slices from the identified slice servers using said network port, and (4) assembling said data object from said read data slices.

6. The computer of claim 5 wherein said data indicative of the data object to read is a unique data object identifier.

7. The computer of claim 5 wherein said data indicative of the data object to read is a user supplied name.

8. The computer of claim 7 further comprising the step of generating a data object identifier from said user supplied name using a hashing function.

Assignments (7)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052205/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0012 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SECOND ASSIGNOR'S EXECUTION DATE PREVIOUSLY RECORDED ON REEL 024074 FRAME 0758. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 3, 2019
From: BAPTIST, ANDREW; PALTHEPU, SRINIVAS; GLADWIN, S. CHRISTOPHER; DHUSE, GREG; MARK, ZACHARY J.; THORNTON, VANCE T.; QUIGLEY, JOHN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 049352/0887 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038687/0596 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2010
From: BAPTIST, ANDREW; PALTHEPU, SRINIVAS; GLADWIN, S. CHRISTOPHER; DHUSE, GREG; MARK, ZACHARY J.; THORNTON, VANCE T.; QUIGLEY, JOHN
To: CLEVERSAFE, INC.
Reel/Frame 024074/0758 →