IP Library Granted Patent US 8,625,636
Granted Patent B2
US 8,625,636 · App. 13/080,200 · Granted Jan 7, 2014

Checked write 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,625,636
App. No.
13/080,200
Granted
Jan 7, 2014
Kind
B2
Abstract

A method begins by a processing module generating a payload of a dispersed storage network frame by generating a transaction number field including a transaction number and generating one or more slice payload sections, wherein each slice payload section includes a slice name field to include a slice name corresponding to an encoded data slice, a last known slice revision numbering field including a last known revision number of the slice name, a new slice revision numbering field including a new revision number of the slice name, a slice length field including a length of the encoded data slice, and a slice payload field including the encoded data slice. The method continues with the processing module generating a protocol header including a payload length field and remaining fields of the protocol header.

Claims (102)

1. A method for a processing module of a computing device to execute a checked write request operation, the method comprises:

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

generating a transaction number field of the payload to include a transaction number corresponding to the checked write request operation; and

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

generating a slice name field to include a slice name of one or more slice names corresponding to an encoded data slice of one or more encoded data slices;

generating a last known slice revision numbering field to include a last known revision number of the slice name;

generating a new slice revision numbering field to include a new revision number of the slice name corresponding to the checked write request operation;

generating a slice length field to include a length of the encoded data slice; and

generating a slice payload field to include the encoded data slice; 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 length of the transaction number field and length of the one or more slice payload sections; 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 payload sections.

3. The method of claim 1 further comprises:

generating the last known revision number by at least one of:

selecting the last known revision number from a revision number list;

extracting the last known slice revision number from a check response message; and

extracting the last known slice revision number from a read response message.

4. 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 checked write request operation;

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

generating a protocol class version field for the checked write request operation.

5. 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.

6. The method of claim 1 further comprises:

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

7. A method for a processing module of a computing device to execute a checked write response operation, the method comprises:

generating a payload of a dispersed storage network (DSN) frame regarding one or more slice names of the checked write response operation to include one or more status fields, wherein generating a status field of the one or more status fields to indicate a status code regarding storing of an encoded data slice associated with a slice name of the one or more slice names; 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 status fields; 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 status 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 checked write response operation;

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

generating a protocol class version field for the checked write response operation.

10. The method of claim 7 , wherein the status code comprises one of:

an indication that the encoded data slice was successful stored;

an indication of a transaction conflict;

an indication of an addressing error;

an indication of a revision check error;

an indication that a corresponding write request is unauthorized; and

an indication that the encoded data slice was not stored.

11. A computer comprises:

an interface;

a memory; and

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

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

generating a transaction number field of the payload to include a transaction number corresponding to the checked write request operation; and

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

generating a slice name field to include a slice name of one or more slice names corresponding to an encoded data slice of one or more encoded data slices;

generating a last known slice revision numbering field to include a last known revision number of the slice name;

generating a new slice revision numbering field to include a new revision number of the slice name corresponding to the checked write request operation;

generating a slice length field to include a length of the encoded data slice; and

generating a slice payload field to include the encoded data slice; 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 length of the transaction number field and length of the one or more slice payload sections; and

generating remaining fields of the protocol header.

12. The computer of claim 11 , wherein the 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 payload sections.

13. The computer of claim 11 , wherein the processor further functions to:

generate the last known revision number by at least one of:

selecting the last known revision number from a revision number list;

extracting the last known slice revision number from a check response message; and

extracting the last known slice revision number from a read response message.

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

generating an operation code field to indicate the checked write request operation;

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

generating a protocol class version field for the checked write request operation.

15. The computer of claim 11 , 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 11 , wherein the processor further functions to:

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

17. A computer comprises:

an interface;

a memory; and

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

generate a payload of a dispersed storage network (DSN) frame regarding one or more slice names of a checked write response operation to include one or more status fields, wherein generating a status field of the one or more status fields to indicate a status code regarding storing of an encoded data slice associated with a slice name of the one or more slice names; 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 status fields; and

generating remaining fields of the protocol header.

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

output, via the interface, the DSN frame in order of the protocol header and the one or more status fields.

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

generating an operation code field to indicate the checked write response operation;

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

generating a protocol class version field for the checked write response operation.

20. The computer of claim 17 , wherein the status code comprises one of:

an indication that the encoded data slice was successful stored;

an indication of a transaction conflict;

an indication of an addressing error;

an indication of a revision check error;

an indication that a corresponding write request is unauthorized; and

an indication that the encoded data slice was not stored.

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 Sep 20, 2011
From: BAPTIST, ANDREW; LEGGETTE, WESLEY; RESCH, JASON K.
To: CLEVERSAFE, INC.
Reel/Frame 026935/0032 →