IP Library Granted Patent US 9,047,218
Granted Patent B2
US 9,047,218 · App. 13/021,510 · Granted Jun 2, 2015

Dispersed storage network slice name verification

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,047,218
App. No.
13/021,510
Granted
Jun 2, 2015
Kind
B2
Abstract

A method begins by a processing module dispersed storage error encoding data to produce a plurality of sets of encoded data slices in accordance with dispersed storage error coding parameters. The method continues with the processing module determining a plurality of sets of slice names corresponding to the plurality of sets of encoded data slices. The method continues with the processing module determining integrity information for the plurality of sets of slice names and sending the plurality of sets of encoded data slices, the plurality of sets of slice names, and the integrity information to a dispersed storage network memory for storage therein.

Claims (67)

1. A method comprises:

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

determining a plurality of sets of slice names corresponding to the plurality of sets of encoded data slices;

determining integrity information for the plurality of sets of slice names; and

sending the plurality of sets of encoded data slices, the plurality of sets of slice names, and the integrity information to a dispersed storage network (DSN) memory for storage therein.

2. The method of claim 1 , wherein the determining the integrity information further comprises:

for a first integrity method:

generating individual integrity information for at least some of the slice names of at least some of the plurality of sets of slice names; and

generating the integrity information based on the individual integrity information;

for a second integrity method:

generating set integrity information for each set of slice names of at least some of the plurality of sets of slice names; and

generating the integrity information based on the set integrity information;

for a third integrity method:

generating pillar integrity information for each pillar set of slice names of at least some of the plurality of sets of slice names; and

generating the integrity information based on the pillar integrity information;

for a fourth integrity method:

generating data file integrity information for at least some of the plurality of sets of slice names; and

generating the integrity information based on the data file integrity information; and

for a fifth integrity method:

generating combined integrity information for at least some of the encoded data slices of the plurality of sets of encoded data slices and for at least some of the slices names of at least some of the plurality of sets of slice names; and

generating the integrity information based on the combined integrity information.

3. The method of claim 2 further comprises:

performing the first integrity method, the fourth integrity method, and at least one of the second and third integrity methods to generate the integrity information.

4. The method of claim 2 further comprises:

for the first integrity method, performing one or more of a hash function, cyclic redundancy check, encryption function, and parity check on a slice name of the at least some of the slice names of at least some of the plurality of sets of slice names to generate the individual integrity information;

for the second integrity method, performing one or more of the hash function, the cyclic redundancy check, the encryption function, and the parity check on the set of slice names of at least some of the plurality of sets of slice names to generate the set integrity information;

for the third integrity method, performing one or more of the hash function, the cyclic redundancy check, the encryption function, and the parity check on the pillar set of slice names of at least some of the plurality of sets of slice names to generate the pillar integrity information;

for the fourth integrity method, performing one or more of the hash function, the cyclic redundancy check, the encryption function, and the parity check on the at least some of the plurality of sets of slice names to generate the data file integrity information; and

for the fifth integrity method, performing one or more of a hash function, cyclic redundancy check, encryption function, and parity check on an encoded data slice of the at least some of the encoded data slices of the plurality of set of encoded data slices and an associated slice name of the at least some of the slice names of the plurality of sets of slice names to generate the combined integrity information.

5. The method of claim 4 further comprises:

the hash function including a hashed message authentication code (HMAC) that uses a shared key; and

the encryption function including an encryption algorithm that utilizes a private key, which is paired to a public key.

6. A computer comprises:

an interface;

a memory; and

a processing module operable to:

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

determine a plurality of sets of slice names corresponding to the plurality of sets of encoded data slices;

determine integrity information for the plurality of sets of slice names; and

send, via the interface, the plurality of sets of encoded data slices, the plurality of sets of slice names, and the integrity information to a dispersed storage network (DSN) memory for storage therein.

7. The computer of claim 6 , wherein the processing module further functions to determine the integrity information by:

for a first integrity method:

generating individual integrity information for at least some of the slices names of at least some of the plurality of sets of slices names; and

generating the integrity information based on the individual integrity information;

for a second integrity method:

generating set integrity information for each set of slice names of at least some of the plurality of sets of slice names; and

generating the integrity information based on the set integrity information;

for a third integrity method:

generating pillar integrity information for each pillar set of slice names of at least some of the plurality of sets of slice names; and

generating the integrity information based on the pillar integrity information;

for a fourth integrity method:

generating data file integrity information for at least some of the plurality of sets of slice names; and

generating the integrity information based on the data file integrity information; and

for a fifth integrity method:

generating combined integrity information for at least some of the encoded data slices of the plurality of sets of encoded data slices and for at least some of the slices names of at least some of the plurality of sets of slice names; and

generating the integrity information based on the combined integrity information.

8. The computer of claim 7 , wherein the processing module further functions to:

perform the first integrity method, the fourth integrity method, and at least one of the second and third integrity methods to generate the integrity information.

9. The computer of claim 7 , wherein the processing module further functions to:

for the first integrity method, perform one or more of a hash function, cyclic redundancy check, encryption function, and parity check on a slice name of the at least some of the slices names of at least some of the plurality of sets of slices names to generate the individual integrity information;

for the second integrity method, perform one or more of the hash function, the cyclic redundancy check, the encryption function, and the parity check on the set of slice names of at least some of the plurality of sets of slice names to generate the set integrity information;

for the third integrity method, perform one or more of the hash function, the cyclic redundancy check, the encryption function, and the parity check on the pillar set of slice names of at least some of the plurality of sets of slice names to generate the pillar integrity information;

for the fourth integrity method, perform one or more of the hash function, the cyclic redundancy check, the encryption function, and the parity check on the at least some of the plurality of sets of slice names to generate the data file integrity information; and

for the fifth integrity method, performing one or more of a hash function, cyclic redundancy check, encryption function, and parity check on an encoded data slice of the at least some of the encoded data slices of the plurality of sets of encoded data slices and an associated slice name of the at least some of the slice names of the plurality of sets of slice names to generate the combined integrity information.

10. The computer of claim 9 further comprises:

the hash function including a hashed message authentication code (HMAC) that uses a shared key; and

the encryption function including an encryption algorithm that utilizes a private key, which is paired to a public key.

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 13, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038687/0596 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2011
From: RESCH, JASON K.; QUIGLEY, JOHN; LEGGETTE, WESLEY
To: CLEVERSAFE, INC.
Reel/Frame 025793/0940 →