IP Library Granted Patent US 8,244,991
Granted Patent B2
US 8,244,991 · App. 12/575,577 · Granted Aug 14, 2012

Systems, methods, and apparatus for subdividing data for storage in a dispersed data storage grid

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,244,991
App. No.
12/575,577
Granted
Aug 14, 2012
Kind
B2
Abstract

An efficient method for breaking source data into smaller data subsets and storing those subsets along with coded information about some of the other data subsets on different storage nodes such that the original data can be recreated from a portion of those data subsets in an efficient manner.

Claims (43)

1. A computer comprises:

a communication network interface operably coupled to receive at least a threshold number of data slices for each of one or more strings of data, wherein a data slice of the threshold number of data slices includes a data value and a coded value;

a decoding module operably coupled to:

for each of the one or more strings of data:

decode, using a decoding algorithm, the at least the threshold number of data slices to produce “n” data values, wherein the “n” is a positive integer greater than the threshold number; and

reconstruct a string of data of the one or more strings of data from the “n” data values; and

reconstruct a computer file from the one or more strings of data; and

memory for storing at least a portion the computer file.

2. The computer of claim 1 , wherein the decoding algorithm further comprises:

a Viterbi decoding algorithm.

3. The computer of claim 1 , wherein the communication network interface further functions to:

receive the threshold number of data slices from a transmitting computer.

4. The computer of claim 1 , wherein the communication network interface further functions to:

receives the at least the threshold number of data slices from at least some of plurality of storage nodes.

5. The computer of claim 4 , wherein the communication network interface further functions to:

receive a first data slice of the “n” data slices of each of the one or more strings of data to a first storage node of the at least some of the a plurality of storage nodes;

receive a second data slice of the “n” data slices of each of the one or more strings of data to a second storage node of the at least some of the a plurality of storage nodes;

receive a third data slice of the “n” data slices of each of the one or more strings of data to a third storage node of the at least some of the a plurality of storage nodes; and

receive a fourth data slice of the “n” data slices of each of the one or more strings of data to a fourth storage node of the at least some of the a plurality of storage nodes.

6. The computer of claim 1 further comprises:

the memory storing the computer file, which is encrypted.

7. A method for execution by a computer, the method comprises:

receiving at least a threshold number of data slices for each of one or more strings of data, wherein a data slice of the threshold number of data slices includes a data value and a coded value;

for each of the one or more strings of data:

decoding, using a decoding algorithm, the at least the threshold number of data slices to produce “n” data values, wherein the “n” is a positive integer greater than the threshold number; and

reconstructing a string of data of the one or more strings of data from the “n” data values; and

reconstructing a computer file from the one or more strings of data; and

storing at least a portion of the computer file.

8. The method of claim 7 , wherein the decoding algorithm further comprises:

a Viterbi decoding algorithm.

9. The method of claim 7 further comprises:

receiving the threshold number of data slices from a transmitting computer.

10. The method of claim 7 further comprises:

receiving the at least the threshold number of data slices from at least some of a plurality of storage nodes.

11. The method of claim 10 further comprises:

receiving a first data slice of the “n” data slices of each of the one or more strings of data to a first storage node of the at least some of the a plurality of storage nodes;

receiving a second data slice of the “n” data slices of each of the one or more strings of data to a second storage node of the at least some of the a plurality of storage nodes;

receiving a third data slice of the “n” data slices of each of the one or more strings of data to a third storage node of the at least some of the a plurality of storage nodes; and

receiving a fourth data slice of the “n” data slices of each of the one or more strings of data to a fourth storage node of the at least some of the a plurality of storage nodes.

12. The method of claim 7 further comprises:

storing the computer file, which is encrypted.

13. The method of claim 12 further comprises:

decrypting the computer file.

Assignments (5)
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 May 13, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038687/0596 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Aug 20, 2013
From: SILICON VALLEY BANK
To: CLEVERSAFE, INC.
Reel/Frame 031058/0255 →
FIRST AMENDMENT TO IPSA Recorded Dec 31, 2012
From: CLEVERSAFE, INC.
To: SILICON VALLEY BANK
Reel/Frame 029555/0356 →