IP Library Granted Patent US 8,649,399
Granted Patent B2
US 8,649,399 · App. 13/080,446 · Granted Feb 11, 2014

Check 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 8,649,399
App. No.
13/080,446
Granted
Feb 11, 2014
Kind
B2
Abstract

A method begins by a processing module generating a payload section of a dispersed storage network (DSN) frame regarding a check request operation by generating one or more slice name fields of the payload section to include one or more slice names corresponding to one or more encoded data slices and generating a transaction number field of the payload section to include a transaction number corresponding to the check request operation. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length that represents a length of the payload section and generating remaining fields of the protocol header.

Claims (91)

1. A method for executing by a computing device for a check request operation, the method comprises:

generating a payload section of a dispersed storage network (DSN) frame regarding the check request operation by:

generating one or more slice name fields of the payload section to include one or more slice names corresponding to one or more encoded data slices; and

generating a transaction number field of the payload section to include a transaction number corresponding to the check request operation; and

generating a protocol header of the DSN frame by:

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

generating remaining fields of the protocol header.

2. The method of claim 1 further comprises:

outputting the DSN frame in order of the protocol header, the transaction number field, and the one or more slice name fields.

3. The method of claim 1 , wherein generating remaining fields of the protocol header comprises at least one of:

generating an operation code field to indicate the check request operation;

generating a protocol class field to indicate a protocol class for the check request operation; and

generating a protocol class version field for the check request operation.

4. The method of claim 1 further comprises:

generating the transaction number by:

obtaining a clock value;

multiplying the clock value by a predetermined multiplier to produce an expanded clock value; and

summing the expanded clock value and a random number to produce the value, wherein a number of digits of the random number is substantially the same as a number of digits of the predetermined multiplier.

5. The method of claim 1 further comprises:

determining a length of the transaction number;

determining a length for each of the one or more slices names;

determining a number of slice names of the one or more slices names; and

generating the payload length for the payload length field based on the length of the transaction number, the length for each of the one or more slices names, and the number of slice names of the one or more slices names.

6. The method of claim 1 further comprises:

generating a plurality of DSN frames regarding the check request operation, wherein the plurality of DSN frames includes the DSN frame.

7. A method for execution by a computing device for a check response operation, the method comprises:

generating a payload of a dispersed storage network (DSN) frame regarding one or more slice names of the check response operation to include one or more slice information sections,

wherein generating a slice information section of the one or more slice information sections includes:

generating a slice revision count field to indicate a number of revisions of the slice name included in the slice information section; and

generating a slice revision numbering field for each of the revisions of the slice name to include a revision number to produce one or more slice revision numbering fields; and

generating a protocol header of the DSN frame by:

generating a payload length field of the protocol header to include a payload length that represents a length of the one or more slice information sections; and

generating remaining fields of the protocol header.

8. The method of claim 7 further comprises:

outputting the DSN frame in order of the protocol header and the one or more slice information sections, and, within each of the one or more slice information sections, in an order of the slice revision count field and the one or more slice revision numbering fields.

9. The method of claim 7 , wherein generating remaining fields of the protocol header comprises at least one of:

generating an operation code field to indicate the check response operation;

generating a protocol class field to indicate a protocol class for the check response operation; and

generating a protocol class version field for the check response operation.

10. The method of claim 7 further comprises:

establishing an error condition based on one or more of: the one or more slice names being associated with a locked encoded data slice state, a transaction number error, the one or more slice names are associated with one or more encoded data slices that are not locally stored, and a check request message is not authorized; and

discarding the DSN frame when the error condition is established.

11. The method of claim 7 , wherein generating the payload of the DSN frame further comprises:

generating a slice length field for each of the revisions of the slice name to include a length of a corresponding encoded data slice.

12. A computer comprises:

an interface;

a memory; and

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

generate a payload section of a dispersed storage network (DSN) frame regarding a check request operation by:

generating one or more slice name fields of the payload section to include one or more slice names corresponding to one or more encoded data slices; and

generating a transaction number field of the payload section to include a transaction number corresponding to the check request operation; and

generate a protocol header of the DSN frame by:

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

generating remaining fields of the protocol header.

13. The computer of claim 12 , wherein the processing module processor further functions to:

output, via the interface, the DSN frame in order of the protocol header, the transaction number field, and the one or more slice name fields.

14. The computer of claim 12 , wherein the processor further functions to generate the remaining fields of the protocol header by at least one of:

generating an operation code field to indicate a check request operation;

generating a protocol class field to indicate a protocol class for the check request operation; and

generating a protocol class version field for the check request operation.

15. The computer of claim 12 , wherein the processor further functions to:

generate the transaction number by:

obtaining a clock value;

multiplying the clock value by a predetermined multiplier to produce an expanded clock value; and

summing the expanded clock value and a random number to produce the value, wherein a number of digits of the random number is substantially the same as a number of digits of the predetermined multiplier.

16. The computer of claim 12 , wherein the processor further functions to:

determine a length of the transaction number;

determine a length for each of the one or more slices names;

determine a number of slice names of the one or more slices names; and

generate the payload length for the payload length field based on the length of the transaction number, the length for each of the one or more slices names, and the number of slice names of the one or more slices names.

17. The computer of claim 12 , wherein the processor further functions to:

generate a plurality of DSN frames regarding the check request operation, wherein the plurality of DSN frames includes the DSN frame.

18. A computer comprises:

an interface;

a memory; and

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

generate a payload of a dispersed storage network (DSN) frame regarding one or more slice names of the check response operation to include one or more slice information sections, wherein generating a slice information section of the one or more slice information sections includes:

generating a slice revision count field to indicate a number of revisions of the slice name included in the slice information section; and

generating a slice revision numbering field for each of the revisions of the slice name to include a revision number to produce one or more slice revision numbering fields; and

generate a protocol header of the DSN frame by:

generating a payload length field of the protocol header to include a payload length that represents a length of the one or more slice information sections; and

generating remaining fields of the protocol header.

19. The computer of claim 18 , wherein the processor further functions to:

output, via the interface, the DSN frame in order of the protocol header and the one or more slice information sections, and, within each of the one or more slice information sections, in an order of the slice revision count field and the one or more slice revision numbering fields.

20. The computer of claim 18 , wherein the processor further functions to generate the remaining fields of the protocol header by at least one of:

generating an operation code field to indicate a check response operation;

generating a protocol class field to indicate a protocol class for the check response operation; and

generating a protocol class version field for the check response operation.

21. The computer of claim 18 , wherein the processor further functions to:

establish an error condition based on one or more of: the one or more slice names being associated with a locked encoded data slice state, a transaction number error, the one or more slice names are associated with one or more encoded data slices that are not locally stored, and a read request message is not authorized; and

discard the DSN frame when the error condition is established.

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 May 5, 2011
From: BAPTIST, ANDREW; LEGGETTE, WESLEY; RESCH, JASON K.; MARK, ZACHARY J.; VOLVOVSKI, ILYA; DHUSE, GREG
To: CLEVERSAFE, INC.
Reel/Frame 026230/0162 →