IP Library Granted Patent US 9,582,459
Granted Patent B2
US 9,582,459 · App. 14/223,138 · Granted Feb 28, 2017

List digest operation dispersed storage network frame

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,582,459
App. No.
14/223,138
Granted
Feb 28, 2017
Kind
B2
Abstract

A method begins generating a plurality of list digest request frames. Each list digest request frames includes a payload section and a protocol header. The payload section includes a start slice name field, an end slice name, and a response count field. The protocol header includes a payload length field and an operation code field to indicate the list digest request operation. The method continues by outputting the list digest request frames to storage units of a dispersed storage network.

Claims (125)

1. A method for a processing module of a computing device to perform a list digest request operation, the method comprises:

generating a plurality of list digest request frames, wherein each of the plurality of list digest request frames includes:

a payload section that includes:

a start slice name field to include a corresponding one of a set of start slice names of a corresponding one of a set of slice name ranges;

an end slice name field to include a corresponding one of a set of end slice names of the corresponding one of a set of slice name ranges; and

a response count field to include a slice name response count; and

a protocol header that includes:

a payload length field to include a payload length that represents a length of the payload section; and

an operation code field to indicate the list digest request operation, wherein the list digest request operation requests a representation of slice names in each of the corresponding ones of a set of slice name ranges; and

outputting the plurality of list digest request frames to storage units of a dispersed storage network.

2. The method of claim 1 , wherein the protocol header further comprises:

a protocol class field to indicate a protocol class for the list digest request operation; and

a protocol class version field for the list digest request operation.

3. The method of claim 1 further comprises:

determining each of the set of slice name ranges based on common attributes of slices names, wherein a data segment is encoded into a set of encoded data slices having a corresponding set of slices names, wherein each slices names of the corresponding set of slice names includes common attributes regarding the data segment.

4. The method of claim 1 further comprises:

for a slice name range of the set of slice name ranges:

generating the start slice name by one of:

establishing the start slice name as a first slice name in a spectrum of slice names;

establishing the start slice name as an intermediate slice name in the spectrum of slice names; and

determining the start slice name based on a response to a previous list digest request operation; and

generating the end slice name by one of:

establishing the end slice name as the last slice name in the spectrum of slice names;

establishing the end slice name as a second intermediate slice name in the spectrum of slice names; and

determining the end slice name based on a response to a previous list digest request operation.

5. The method of claim 1 , wherein the response count field comprises:

a maximum response count field to indicate a maximum response count that is determined by at least one of:

determining the maximum response count based on a number of slice names in a spectrum of slice names;

determining the maximum response count based on a DSN performance indicator; and

determining the maximum response count based on a response to a previous list digest request operation.

6. The method of claim 1 further comprises:

receiving list digest responses from at least some of the storage units, wherein one of the list digest responses includes:

a response payload that includes:

a digest response length field to include a length of a digest, wherein the digest includes a representation of slice names of one of the sets of slice name ranges that are stored;

a digest field to include the digest;

a response last slice name field to include a last slice name of the digest; and

a slice count field to indicate a number of slice names in the digest; and

a response protocol header that includes:

a response payload length field to include a length of the response payload; and

a response operation field to include a list digest response operation.

7. A computing device comprises:

an interface;

a memory; and

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

generate a plurality of list digest request frames, wherein each of the plurality of list digest request frames includes:

a payload section that includes:

a start slice name field to include a corresponding one of a set of start slice names of a corresponding one of a set of slice name ranges;

an end slice name field to include a corresponding one of a set of end slice names of the corresponding one of a set of slice name ranges; and

a response count field to include a slice name response count; and

a protocol header that includes:

a payload length field to include a payload length that represents a length of the payload section; and

an operation code field to indicate a list digest request operation, wherein the list digest request operation requests a representation of slice names in each of the corresponding ones of a set of slice name ranges; and

output, via the interface, the plurality of list digest request frames to storage units of a dispersed storage network.

8. The computing device of claim 7 , wherein the protocol header further comprises:

a protocol class field to indicate a protocol class for the list digest request operation; and

a protocol class version field for the list digest request operation.

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

determine each of the set of slice name ranges based on common attributes of slices names, wherein a data segment is encoded into a set of encoded data slices having a corresponding set of slices names, wherein each slices names of the corresponding set of slice names includes common attributes regarding the data segment.

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

for a slice name range of the set of slice name ranges:

generate the start slice name by one of:

establishing the start slice name as a first slice name in a spectrum of slice names;

establishing the start slice name as an intermediate slice name in the spectrum of slice names; and

determining the start slice name based on a response to a previous list digest request operation; and

generate the end slice name by one of:

establishing the end slice name as a last slice name in the spectrum of slice names;

establishing the end slice name as a second intermediate slice name in the spectrum of slice names; and

determining the end slice name based on the response to the previous list digest request operation.

11. The computing device of claim 7 , wherein the response count field comprises:

a maximum response count field to indicate a maximum response count that is determined by at least one of:

determining the maximum response count based on a number of slice names in a spectrum of slice names;

determining the maximum response count based on a DSN performance indicator; and

determining the maximum response count based on a response to a previous list digest request operation.

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

receive, via the interface, list digest responses from at least some of the storage units, wherein one of the list digest responses includes:

a response payload that includes:

a digest response length field to include a length of a digest, wherein the digest includes a representation of slice names of one of the sets of slice name ranges that are stored;

a digest field to include the digest;

a response last slice name field to include a last slice name of the digest; and

a slice count field to indicate a number of slice names in the digest; and

a response protocol header that includes:

a response payload length field to include a length of the response payload; and

a response operation field to include a list digest response operation.

13. A computer readable memory device comprises:

a first memory section that stores operational instructions that, when executed by a processing module of a computing device, causes the processing module to:

generate a plurality of list digest request frames, wherein each of the plurality of list digest request frames includes:

a payload section that includes:

a start slice name field to include a corresponding one of a set of start slice names of a corresponding one of a set of slice name ranges;

an end slice name field to include a corresponding one of a set of end slice names of the corresponding one of a set of slice name ranges; and

a response count field to include a slice name response count; and

a protocol header that includes:

a payload length field to include a payload length that represents a length of the payload section; and

an operation code field to indicate a list digest request operation, wherein the list digest request operation requests a representation of slice names in each of the corresponding ones of a set of slice name ranges; and

a second memory section that stores operational instructions that, when executed by the processing module, causes the processing module to:

output, via an interface of the computing device, the plurality of list digest request frames to storage units of a dispersed storage network.

14. The computer readable memory device of claim 13 , wherein the protocol header further comprises:

a protocol class field to indicate a protocol class for the list digest request operation; and

a protocol class version field for the list digest request operation.

15. The computer readable memory device of claim 13 , wherein the first memory section further includes operational instructions that, when executed by the processing module, causes the processing module to:

determine each of the set of slice name ranges based on common attributes of slices names, wherein a data segment is encoded into a set of encoded data slices having a corresponding set of slices names, wherein each slices names of the corresponding set of slice names includes common attributes regarding the data segment.

16. The computer readable memory device of claim 13 , wherein the first memory section further includes operational instructions that, when executed by the processing module, causes the processing module to:

for a slice name range of the set of slice name ranges:

generate the start slice name by one of:

establishing the start slice name as a first slice name in a spectrum of slice names;

establishing the start slice name as an intermediate slice name in the spectrum of slice names; and

determining the start slice name based on a response to a previous list digest request operation; and

generate the end slice name by one of:

establishing the end slice name as a last slice name in the spectrum of slice names;

establishing the end slice name as a second intermediate slice name in the spectrum of slice names; and

determining the end slice name based on the response to the previous list digest request operation.

17. The computer readable memory device of claim 13 , wherein the response count field comprises:

a maximum response count field to indicate a maximum response count that is determined by at least one of:

determining the maximum response count based on a number of slice names in a spectrum of slice names;

determining the maximum response count based on a DSN performance indicator; and

determining the maximum response count based on a response to a previous list digest request operation.

18. The computer readable memory device of claim 13 , wherein the first memory section further includes operational instructions that, when executed by the processing module, causes the processing module to:

receive, via the interface, list digest responses from at least some of the storage units, wherein one of the list digest responses includes:

a response payload that includes:

a digest response length field to include a length of a digest, wherein the digest includes a representation of slice names of one of the sets of slice name ranges that are stored;

a digest field to include the digest;

a response last slice name field to include a last slice name of the digest; and

a slice count field to indicate a number of slice names in the digest; and

a response protocol header that includes:

a response payload length field to include a length of the response payload; and

a response operation field to include a list digest response operation.

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 Nov 22, 2016
From: MARK, ZACHARY J.; VOLVOVSKI, ILYA
To: CLEVERSAFE, INC.
Reel/Frame 040401/0319 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →