IP Library Granted Patent US 9,858,143
Granted Patent B2
US 9,858,143 · App. 15/230,108 · Granted Jan 2, 2018

Command line interpreter for accessing a data object stored in a distributed 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 9,858,143
App. No.
15/230,108
Granted
Jan 2, 2018
Kind
B2
Abstract

A method includes obtaining a data object for storage. The method further includes generating a data object identifier for the data object. The method further includes determining a vault for storing the data object. The method further includes generating a source name for the data object based on the data object identifier and a vault identifier. The method further includes dispersed storage error encoding the data object to produce a plurality of sets of encoded data slices. The method further includes generating a plurality of sets of slice names, wherein each of the slice names of the plurality of slice names includes the source name. The method further includes sending, in accordance with the plurality of sets of slice names, the plurality of sets of encoded data slices to a set of storage units of the DSN that supports the vault for storage therein.

Claims (47)

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

obtaining a data object for storage in the DSN;

generating a data object identifier for the data object;

determining a vault of the DSN for storing the data object;

generating a source name for the data object based on the data object identifier and a vault identifier, which identifies the vault;

dispersed storage error encoding the data object to produce a plurality of sets of encoded data slices;

wherein the dispersed storage error encoding the data object further comprises: dispersed storage error encoding the data object in accordance with dispersed storage error encoding parameters that include a pillar width number and a decode threshold number, wherein pillar width number corresponds to a total number of encoded data slices in a set of encoded data slices and the decode threshold number is a minimum number of encoded data slices of the set of encoded data slices needed to recover a corresponding data segment of the data object;

generating a plurality of sets of slice names for the plurality of sets of encoded data slices, wherein each of the slice names of the plurality of slice names includes the source name; and

sending, in accordance with the plurality of sets of slice names, the plurality of sets of encoded data slices to a set of storage units of the DSN that supports the vault for storage therein.

2. The method of claim 1 , wherein the obtaining the data object comprises one of:

receiving the data object from a second computing device of the DSN; and

generating, by the computing device, the data object.

3. The method of claim 1 , wherein the generating the data object identifier comprises:

performing a hash function on the data object to produce the data object identifier.

4. The method of claim 1 further comprises:

determining the vault identifier based on user information affiliated with a source of the data object.

5. The method of claim 1 further comprises:

generating the source name further include a vault generation indicator.

6. The method of claim 1 , wherein a slice name of the plurality of sets of slice names comprises:

a pillar number identifier;

a segment identifier; and

the source name.

7. A computing device comprises:

an interface;

memory; and

a processing module operably coupled to the memory and the interface, wherein the processing module is operable to:

obtain a data object for storage in the DSN;

generate a data object identifier for the data object;

determine a vault of the DSN for storing the data object;

generate a source name for the data object based on the data object identifier and a vault identifier, which identifies the vault;

dispersed storage error encode the data object to produce a plurality of sets of encoded data slices;

wherein the processing module is operable to dispersed storage error encode the data object by: dispersed storage error encoding the data object in accordance with dispersed storage error encoding parameters that include a pillar width number and a decode threshold number, wherein pillar width number corresponds to a total number of encoded data slices in a set of encoded data slices and the decode threshold number is a minimum number of encoded data slices of the set of encoded data slices needed to recover a corresponding data segment of the data object;

generate a plurality of sets of slice names for the plurality of sets of encoded data slices, wherein each of the slice names of the plurality of slice names includes the source name; and

send, via the interface and in accordance with the plurality of sets of slice names, the plurality of sets of encoded data slices to a set of storage units of the DSN that supports the vault for storage therein.

8. The computing device of claim 7 , wherein the processing module is operable to obtain the data object by preforming one of:

receiving, via the interface, the data object from a second computing device of the DSN; and

generating, by the computing device, the data object.

9. The computing device of claim 7 , wherein the processing module is operable to generate the data object identifier by:

performing a hash function on the data object to produce the data object identifier.

10. The computing device of claim 7 , wherein the processing module is further operable to:

determine the vault identifier based on user information affiliated with a source of the data object.

11. The computing device of claim 7 , wherein the processing module is further operable to:

generate the source name to further include a vault generation indicator.

12. The computing device of claim 7 , wherein a slice name of the plurality of sets of slice names comprises:

a pillar number identifier;

a segment identifier; and

the 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 Feb 2, 2017
From: MOTWANI, MANISH; GLADWIN, S. CHRISTOPHER; YOUNG, JESSE LOUIS; ENGLAND, MATTHEW MICHAEL
To: CLEVERSAFE, INC.
Reel/Frame 041158/0686 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2017
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041596/0001 →