IP Library Granted Patent US 10,095,578
Granted Patent B2
US 10,095,578 · App. 14/452,774 · Granted Oct 9, 2018

Data modification in a dispersed 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 10,095,578
App. No.
14/452,774
Granted
Oct 9, 2018
Kind
B2
Abstract

A method for modifying data stored in a dispersed storage network (DSN). In various embodiments, a data object is received for storage in DSN memory. A dispersed storage processing unit determines a number of data segments for the data object and divides the data object into a plurality of data blocks. The data blocks are allocated to the data segments in a column-row orientation (for example, columns may be populated with successive data blocks of the data object). The data segments are encoded to produce a plurality of sets of encoded data slices. Additional data received for the data object is divided into additional data blocks that are allocated to data segments to create one or more new columns, which are encoded to produce a plurality of encoded data slice addendums. The encoded data slice addendums are then appended to existing encoded data slices corresponding to the data object.

Claims (50)

1. A method comprises:

receiving, by a first and a second dispersed storage processing unit, a media broadcast for storage in dispersed storage network (DSN) memory;

dispersed storage error encoding, by the first dispersed storage processing unit, in accordance with dispersed storage error encoding parameters, the media broadcast to produce a first plurality of sets of encoded data slices;

dispersed storage error encoding, by the second dispersed storage processing unit, in accordance with the dispersed storage error encoding parameters, the media broadcast to produce a second plurality of sets of encoded data slices;

outputting, by the first dispersed storage processing unit, the first plurality of sets of encoded data slices to the DSN memory for storage therein;

outputting, by the second dispersed storage processing unit, the second plurality of sets of encoded data slices to the DSN memory for storage therein; and

retrieving, by a computing device of the DSN, a decode threshold number of non-redundant encoded data slices for a data segment of the media broadcast, wherein encoded data slices of the decode threshold number of non-redundant encoded data slices are from a first corresponding set of encoded data slices of the first plurality of sets of encoded data slices corresponding to a first at least one pillar of a plurality of pillars specified by the dispersed storage error encoding parameters and a second corresponding set of encoded data slices of the second plurality of sets of encoded data slices corresponding to a second at least one pillar that is non-overlapping with the first at least one pillar of the plurality of pillars specified by the dispersed storage error encoding parameters,

wherein the decode threshold number of non-redundant encoded data slices is a minimum number of encoded data slices required to recover the data segment, and wherein an individual encoded data slice of the decode threshold number of non-redundant encoded data slices yields substantially no information regarding the data segment.

2. The method of claim 1 further comprises:

generating a first plurality of sets of slice names for the first plurality of sets of encoded data slices;

generating a second plurality of sets of slice names for the second plurality of sets of encoded data slices;

storing the first and second pluralities of sets of encoded data slices in the DSN memory based on the first and second pluralities of sets of slice names; and

sending a set of read requests to retrieve the decode threshold number of non-redundant encoded data slices, wherein a read request includes a slice name from the first or the second pluralities of sets of slice names.

3. The method of claim 1 further comprises:

the media broadcast including one or more of audio streaming, video streaming, multimedia streaming, music streaming, video files, audio files, and multimedia files.

4. The method of claim 1 , wherein the dispersed storage error encoding parameters comprises:

the decode threshold number (k); and

a pillar width number (n) that corresponds to a total number of encoded data slices in a set of encoded data slices in the first or second plurality of sets of encoded data slices.

5. The method of claim 4 , wherein the retrieving the decode threshold number of non-redundant encoded data slices for the data segment comprises:

retrieving k-x encoded data slices from the first corresponding set of encoded data slices; and

retrieving x encoded data slices from the second corresponding set of encoded data slices.

6. The method of claim 1 further comprises:

outputting, by the first dispersed storage processing unit, the first plurality of sets of encoded data slices to a set of storage units of the DSN memory for storage therein; and

outputting, by the second dispersed storage processing unit, the second plurality of sets of encoded data slices to the set of storage units for storage therein.

7. A non-transitory computer readable storage device comprises:

a first storage section that stores operational instructions that, when executed by a first computing device, causes the first computing device to:

receive a media broadcast for storage in dispersed storage network (DSN) memory;

dispersed storage error encode, in accordance with dispersed storage error encoding parameters, the media broadcast to produce a first plurality of sets of encoded data slices;

output the first plurality of sets of encoded data slices to the DSN memory for storage therein;

a second storage section that stores operational instructions that, when executed by a second computing device, causes the second computing device to:

receive the media broadcast;

dispersed storage error encode, in accordance with the dispersed storage error encoding parameters, the media broadcast to produce a second plurality of sets of encoded data slices;

output the second plurality of sets of encoded data slices to the DSN memory for storage therein;

a third storage section that stores operational instructions that, when executed by the first, the second, or a third computing device, causes the first, the second, or the third computing device to:

retrieve a decode threshold number of non-redundant encoded data slices for a data segment of the media broadcast, wherein encoded data slices of the decode threshold number of non-redundant encoded data slices are from a first corresponding set of encoded data slices of the first plurality of sets of encoded data slices corresponding to a first at least one pillar of a plurality of pillars specified by the dispersed storage error encoding parameters and a second corresponding set of encoded data slices of the second plurality of sets of encoded data slices corresponding to a second at least one pillar that is non-overlapping with the first at least one pillar of the plurality of pillars specified by the dispersed storage error encoding parameters, wherein the decode threshold number of non-redundant encoded data slices is a minimum number of encoded data slices required to recover the data segment, and wherein an individual encoded data slice of the decode threshold number of non-redundant encoded data slices yields substantially no information regarding the data segment.

8. The computer readable storage device of claim 7 further comprises:

the first storage section further stores operational instructions that, when executed by the first computing device, causes the first computing device to:

generate a first plurality of sets of slice names for the first plurality of sets of encoded data slices;

the second storage section further stores operational instructions that, when executed by the second computing device, causes the second computing device to:

generate a second plurality of sets of slice names for the second plurality of sets of encoded data slices;

a fourth storage section that stores operational instructions that, when executed by storage units of the DSN memory, causes the storage units to:

store the first and second pluralities of sets of encoded data slices in the storage units based on the first and second pluralities of sets of slice names; and

the third storage section further stores operational instructions that, when executed by the first, the second, or the third computing device, causes the first, the second, or the third computing device to:

send a set of read requests to retrieve the decode threshold number of non-redundant encoded data slices, wherein a read request includes a slice name from the first or the second pluralities of sets of slice names.

9. The computer readable storage device of claim 7 , wherein the dispersed storage error encoding parameters comprises:

the decode threshold number (k); and

a pillar width number (n) that corresponds to a total number of encoded data slices in a set of encoded data slices in the first or second plurality of sets of encoded data slices.

10. The computer readable storage device of claim 9 , wherein the retrieving the decode threshold number of non-redundant encoded data slices for the data segment comprises:

retrieving k-x encoded data slices from the first corresponding set of encoded data slices; and

retrieving x encoded data slices from the second corresponding set of encoded data slices.

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 May 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2014
From: RESCH, JASON K.
To: CLEVERSAFE, INC.
Reel/Frame 033475/0456 →
Cited By (1)
US 12,259,990