IP Library Granted Patent US 8,892,698
Granted Patent B2
US 8,892,698 · App. 14/021,037 · Granted Nov 18, 2014

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,892,698
App. No.
14/021,037
Granted
Nov 18, 2014
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 (25)

1. A method for execution by a computing device, the method comprises:

assigning a data object identifier (DOI) to a data object;

partitioning a data object into a plurality of blocks;

encoding the plurality of blocks using an information dispersal algorithm to generate a plurality of sets of data slices, wherein a first set of the plurality of sets of data slices is generated from a first block and a second set of the plurality of sets of data slices is generated from a second block;

transmitting the plurality of sets of data slices to a plurality of slice servers within a dispersed data storage network, wherein a first data slice of a first set of the plurality of sets of data slices and a first data slice of a second set of the plurality of sets of data slices are transmitted to a first slice server, wherein a second data slice of the first set of the plurality of sets of data slices and a second data slice of the second set of the plurality of sets of data slices are transmitted to a second slice server, wherein each data slice within each set of the plurality of sets of data slices is transmitted to a different slice server of the plurality of slice servers;

generating an information record for the data object for use to retrieve a minimum number of data slices of the plurality of sets of data slices required to reconstruct the data object, wherein the information record specifies the DOI for the data object, identity of each block of the plurality of blocks, identity of each set of the plurality of sets of data slices, and identity of each data slice within the plurality of sets of data slices, wherein each data slice is also identified by that corresponding set of the plurality of sets of data slices and that corresponding block of the plurality of block from which that that data slice was generated; and

transmitting the information record, which identifies the data object, for storage in a database within the dispersed data storage network.

2. The method of claim 1 further comprising:

accepting a name; and

generating the (DOI) from the name using a hashing function.

3. The method of claim 1 further comprising:

randomly generating the (DOI) based on a randomly generated number.

4. A dispersed data storage unit comprises:

a network port;

a dispersed data storage application configured to:

assign a data object identifier (DOI) to a data object;

partition a data object into a plurality of blocks;

encode the plurality of blocks using an information dispersal algorithm to generate a plurality of sets of data slices, wherein a first set of the plurality of sets of data slices is generated from a first block and a second set of the plurality of sets of data slices is generated from a second block;

transmit, via the network port, the plurality of sets of data slices to a plurality of slice servers within a dispersed data storage network, wherein a first data slice of a first set of the plurality of sets of data slices and a first data slice of a second set of the plurality of sets of data slices are transmitted to a first slice server, wherein a second data slice of the first set of the plurality of sets of data slices and a second data slice of the second set of the plurality of sets of data slices are transmitted to a second slice server, wherein each data slice within each set of the plurality of sets of data slices is transmitted to a different slice server of the plurality of slice servers;

generate an information record for the data object for use to retrieve a minimum number of data slices of the plurality of sets of data slices required to reconstruct the data object, wherein the information record specifies the DOI for the data object, identity of each block of the plurality of blocks, identity of each set of the plurality of sets of data slices, and identity of each data slice within the plurality of sets of data slices, wherein each data slice is also identified by that corresponding set of the plurality of sets of data slices and that corresponding block of the plurality of block from which that that data slice was generated; and

transmit, via the network port, the information record, which identifies the data object, for storage in a database within the dispersed data storage network.

5. The dispersed data storage unit of claim 4 , wherein the dispersed data storage application is further configured to:

generate the (DOI) by applying a hashing function to a name.

6. The dispersed data storage unit of claim 4 , wherein the dispersed data storage application is further configured to:

generate, via a randomly generated process, the (DOI) based on a randomly generated number.

Assignments (6)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST 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 049346/0965 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038687/0596 →