IP Library Granted Patent US 10,102,068
Granted Patent B2
US 10,102,068 · App. 15/224,839 · Granted Oct 16, 2018

Non-temporarily storing temporarily stored data 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,102,068
App. No.
15/224,839
Granted
Oct 16, 2018
Kind
B2
Abstract

A method includes dispersed storage error encoding a data object in accordance with temporary parameters. The method further includes generating a first source name. The method further includes sending, in accordance with the first source name, the first sets of encoded data slices to a first set of storage units for temporary storage therein. When a determination is made to permanently store the data object, the method further includes recovering the data object from the first sets of encoded data slices. The method further includes dispersed storage error encoding the recovered data object in accordance with permanent parameters to produce second sets of encoded data slices. The method further includes generating a second source name. The method further includes sending, in accordance with the second source name, the second sets of encoded data slices to a second set of storage units for permanent storage therein.

Claims (55)

1. A method for execution by a computing device of a dispersed storage network (DSN), the method comprises:

dispersed storage error encoding a data object in accordance with temporary parameters to produce a first plurality of sets of encoded data slices;

generating a first source name for the first plurality of sets of encoded data slices;

sending, in accordance with the first source name, the first plurality of sets of encoded data slices to a first set of storage units for temporary storage therein;

when a determination is made to permanently store the data object:

retrieving, from the first set of storage units, a decode threshold number of encoded data slices per set of the first plurality of sets of encoded data slices;

recovering the data object from the decode threshold number of encoded data slices per set of the first plurality of sets of encoded data slices;

dispersed storage error encoding the recovered data object in accordance with permanent parameters to produce a second plurality of sets of encoded data slices;

generating a second source name for the second plurality of sets of encoded data slices; and

sending, in accordance with the second source name, the second plurality of sets of encoded data slices to a second set of storage units for permanent storage therein.

2. The method of claim 1 further comprises:

the temporary parameters including a first pillar width number and first decode threshold number, wherein a first level of redundancy corresponds to a difference between the first pillar width number and the first decode threshold number; and

the permanent parameters including a second pillar width number and second decode threshold number, wherein a second level of redundancy corresponds to a difference between the second pillar width number and the second decode threshold number, and the second level of redundancy is greater than the first level of redundancy.

3. The method of claim 1 , wherein generating the first source name comprises:

identifying desired storage attributes for temporary storage of the first plurality of sets of encoded data slices;

selecting a function based on the desired storage attributes;

generating a write operation regarding the first plurality of sets of encoded data slices; and

performing a deterministic function on the write operation using the desired storage attributes to produce the first source name, which corresponds to DSN addresses within a range of DSN addresses attributable to the first set of storage units.

4. The method of claim 3 further comprises:

generating a plurality of sets of slice names for the first plurality of sets of encoded data slices based on the deterministic function and on the first source name.

5. The method of claim 1 , wherein generating the second source name comprises:

identifying desired storage attributes for permanent storage of the second plurality of sets of encoded data slices;

selecting a function based on the desired storage attributes;

generating a write operation regarding the second plurality of sets of encoded data slices; and

performing a deterministic function on the write operation using the desired storage attributes to produce the second source name, which corresponds to DSN addresses within a range of DSN addresses attributable to the second set of storage units.

6. The method of claim 5 further comprises:

generating a plurality of sets of slice names for the second plurality of sets of encoded data slices based on the deterministic function and on the second source name.

7. A dispersed storage (DS) module comprises:

a first module, when operable within a computing device of a dispersed storage network (DSN), causes the computing device to:

dispersed storage error encode a data object in accordance with temporary parameters to produce a first plurality of sets of encoded data slices;

generate a first source name for the first plurality of sets of encoded data slices;

send, in accordance with the first source name, the first plurality of sets of encoded data slices to a first set of storage units for temporary storage therein; and

a second module, when operable within the computing device, causes the computing device to, when a determination is made to permanently store the data object:

retrieve, from the first set of storage units, a decode threshold number of encoded data slices per set of the first plurality of sets of encoded data slices;

recover the data object from the decode threshold number of encoded data slices per set of the first plurality of sets of encoded data slices;

dispersed storage error encode the recovered data object in accordance with permanent parameters to produce a second plurality of sets of encoded data slices;

generate a second source name for the second plurality of sets of encoded data slices; and

send, in accordance with the second source name, the second plurality of sets of encoded data slices to a second set of storage units for permanent storage therein.

8. The DS module of claim 7 further comprises:

the temporary parameters including a first pillar width number and first decode threshold number, wherein a first level of redundancy corresponds to a difference between the first pillar width number and the first decode threshold number; and

the permanent parameters including a second pillar width number and second decode threshold number, wherein a second level of redundancy corresponds to a difference between the second pillar width number and the second decode threshold number, and the second level of redundancy is greater than the first level of redundancy.

9. The DS module of claim 7 , wherein the first module, when operable within the computing device, further causes the computing device to generate the first source name by:

identifying desired storage attributes for temporary storage of the first plurality of sets of encoded data slices;

selecting a function based on the desired storage attributes;

generating a write operation regarding the first plurality of sets of encoded data slices; and

performing a deterministic function on the write operation using the desired storage attributes to produce the first source name, which corresponds to DSN addresses within a range of DSN addresses attributable to the first set of storage units.

10. The DS module of claim 9 , wherein the first module, when operable within the computing device, further causes the computing device to:

generate a plurality of sets of slice names for the first plurality of sets of encoded data slices based on the deterministic function and on the first source name.

11. The DS module of claim 7 , wherein the second module, when operable within the computing device, further causes the computing device to generate the second source name by:

identifying desired storage attributes for permanent storage of the second plurality of sets of encoded data slices;

selecting a function based on the desired storage attributes;

generating a write operation regarding the second plurality of sets of encoded data slices; and

performing a deterministic function on the write operation using the desired storage attributes to produce the second source name, which corresponds to DSN addresses within a range of DSN addresses attributable to the second set of storage units.

12. The DS module of claim 11 , wherein the second module, when operable within the computing device, further causes the computing device to:

generate a plurality of sets of slice names for the second plurality of sets of encoded data slices based on the deterministic function and on the second source name.

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 Jan 31, 2017
From: GLADWIN, S. CHRISTOPHER; MARKISON, TIMOTHY W.; DHUSE, GREG; SHIRLEY, THOMAS FRANKLIN, JR.; LEGGETTE, WESLEY; RESCH, JASON K.; GRUBE, GARY W.
To: CLEVERSAFE, INC.
Reel/Frame 041129/0332 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2017
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041565/0719 →