IP Library Granted Patent US 8,621,269
Granted Patent B2
US 8,621,269 · App. 13/154,735 · Granted Dec 31, 2013

Identifying a slice name information error 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 8,621,269
App. No.
13/154,735
Granted
Dec 31, 2013
Kind
B2
Abstract

A method begins by a processing module sending list digest requests to a set of dispersed storage (DS) units. The method continues with the processing module receiving list digest responses from at least some of the set of DS units and determining whether an inconsistency exists between first and second list digest responses of the list digest responses. The method continues with the processing module requesting at least a portion of each of the slice name information lists from first and second DS units of the set of DS units and identifying a slice name information error associated with the inconsistency based on the at least a portion of each of the slices name information lists of the first and second DS units when the inconsistency exists between first and second list digest responses of the list digest responses.

Claims (75)

1. A method comprises:

sending list digest requests to a set of dispersed storage (DS) units, wherein a list digest request of the list digest requests is requesting a representation of a slice name information list regarding encoded data slices stored by a DS unit of the set of DS units;

receiving list digest responses from at least some of the set of DS units;

determining whether an inconsistency exists between first and second list digest responses of the list digest responses; and

when the inconsistency exists between first and second list digest responses of the list digest responses:

requesting at least a portion of each of the slice name information lists from first and second DS units of the set of DS units, wherein the first DS unit provided the first list digest response and the second DS unit provided the second list digest response; and

identifying a slice name information error associated with the inconsistency based on the at least a portion of each of the slices name information lists of the first and second DS units.

2. The method of claim 1 , wherein the representation of the slice name information list comprises at least one of:

a hash value resulting from a hash function performed on entries of the slice name information list;

a compression value resulting from a compression function performed on entries of the slice name information list;

a checksum value resulting from a checksum function performed on the entries of the slice name information list;

a hash-based message authentication code (HMAC) value resulting from an HMAC function performed on the entries of the slice name information list; and

a mask generating function (MGF) value resulting from an MGF performed on the entries of the slice name information list.

3. The method of claim 1 , wherein the determining whether the inconsistency exists between the first and the second list digest responses comprises at least one of:

a first hash value of the first list digest response is not substantially equal to a second hash value of the second list digest response;

a first checksum value of the first list digest response is not substantially equal to a second checksum value of the second list digest response;

a first HMAC value of the first list digest response is not substantially equal to a second HMAC value of the second list digest response; and

a first MGF value of the first list digest response is not substantially equal to a second MGF value of the second list digest response.

4. The method of claim 1 , wherein the identifying the slice name information error comprises:

establishing the at least a portion of the slice name information list from the first DS unit as a current slice name information list; and

identifying an entry of the at least a portion of the slice name information list from the second DS unit that differs from a corresponding entry of the at least a portion of the slice name information list from the first DS unit to identify the slice name information error.

5. The method of claim 4 , wherein the establishing the at least a portion of the slice name information list from the first DS unit as the current slice name information list comprises:

determining that the at least a portion of the slice name information list from the first DS unit substantially matches at least a portion of the slice name information list from a third DS unit of the set of DS units.

6. The method of claim 1 further comprises:

the slice name information list including a plurality of entries for a range of slice names, wherein an entry of the plurality of entries includes:

a slice name of a corresponding one of the encoded data slices;

a slice revision count indicating a number of revisions of the slice name; and

for a revision of the revisions of the slice names:

a revision number; and

a slice length indicator.

7. The method of claim 1 further comprises:

adding the slice name information error to a rebuild list.

8. The method of claim 1 , wherein the slice name information error comprises at least one of:

a missing encoded data slice error;

a non-deleted encoded data slice error; and

a revision error.

9. A computer comprises:

an interface;

a memory; and

a processing module operable to:

send, via the interface, list digest requests to a set of dispersed storage (DS) units, wherein a list digest request of the list digest requests is requesting a representation of a slice name information list regarding encoded data slices stored by a DS unit of the set of DS units;

receive, via the interface, list digest responses from at least some of the set of DS units;

determine whether an inconsistency exists between first and second list digest responses of the list digest responses; and

when the inconsistency exists between first and second list digest responses of the list digest responses:

request, via the interface, at least a portion of each of the slice name information lists from first and second DS units of the set of DS units, wherein the first DS unit provided the first list digest response and the second DS unit provided the second list digest response; and

identify a slice name information error associated with the inconsistency based on the at least a portion of each of the slices name information lists of the first and second DS units.

10. The computer of claim 9 , wherein the representation of the slice name information list comprises at least one of:

a hash value resulting from a hash function performed on entries of the slice name information list;

a compression value resulting from a compression function performed on entries of the slice name information list;

a checksum value resulting from a checksum function performed on the entries of the slice name information list;

a hash-based message authentication code (HMAC) value resulting from an HMAC function performed on the entries of the slice name information list; and

a mask generating function (MGF) value resulting from an MGF performed on the entries of the slice name information list.

11. The computer of claim 9 , wherein the processing module functions to determine whether the inconsistency exists between the first and the second list digest responses by at least one of:

a first hash value of the first list digest response is not substantially equal to a second hash value of the second list digest response;

a first checksum value of the first list digest response is not substantially equal to a second checksum value of the second list digest response;

a first HMAC value of the first list digest response is not substantially equal to a second HMAC value of the second list digest response; and

a first MGF value of the first list digest response is not substantially equal to a second MGF value of the second list digest response.

12. The computer of claim 9 , wherein the processing module functions to identify the slice name information error by:

establishing the at least a portion of the slice name information list from the first DS unit as a current slice name information list; and

identifying an entry of the at least a portion of the slice name information list from the second DS unit that differs from a corresponding entry of the at least a portion of the slice name information list from the first DS unit to identify the slice name information error.

13. The computer of claim 12 , wherein the processing module functions to establish the at least a portion of the slice name information list from the first DS unit as the current slice name information list by:

determining that the at least a portion of the slice name information list from the first DS unit substantially matches at least a portion of the slice name information list from a third DS unit of the set of DS units.

14. The computer of claim 9 further comprises:

the slice name information list including a plurality of entries for a range of slice names, wherein an entry of the plurality of entries includes:

a slice name of a corresponding one of the encoded data slices;

a slice revision count indicating a number of revisions of the slice name; and

for a revision of the revisions of the slice names:

a revision number; and

a slice length indicator.

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

add the slice name information error to a rebuild list.

16. The computer of claim 9 , wherein the slice name information error comprises at least one of:

a missing encoded data slice error;

a non-deleted encoded data slice error; and

a revision error.

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 Jun 7, 2011
From: VAS, SEBASTIEN; MARK, ZACHARY J.
To: CLEVERSAFE, INC.
Reel/Frame 026402/0381 →