# US 2014/0153586 A1 · Check operation dispersed storage network frame

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0153586 A1
- Document ID: US20140153586A1
- Status: Published application
- Kind: A1
- Application number: 14/176,807
- Filed: 2014-02-10
- Published: 2014-06-05
- Earliest claimed: 2010-04-26
- Assignees: Cleversafe, Inc.
- Applicants: Cleversafe, Inc.
- Inventors: Andrew Baptist; Wesley Leggette; Jason K. Resch; Zachary J. Mark; Ilya Volvovski; Greg Dhuse
- Web page: https://patentgrep.com/patent/US20140153586A1

## CPC

- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/064: {Management of blocks}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/065: {Replication mechanisms}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 11/1076: {Parity data used in redundant arrays of independent storages, e.g. in RAID systems}
- G06F 15/167: using a common memory, e.g. mailbox
- H04L 69/22: Parsing or analysis of headers
- H04L 69/26: {Special purpose or proprietary protocols or architectures (network applications for proprietary or special purpose networking environments H04L67/12)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 1

A method for executing by a computing device for a check request operation, the method comprises:
generating a set of check request frames, wherein each check request frame of the set of check request frames is generated by:
generating a unique payload section to include:
one or more slice name fields of the payload section to include one or more unique slice names corresponding to one or more unique encoded data slices; and
a common transaction number field of the payload section to include a common transaction number corresponding to the check request operation; and
generating a protocol header to include:
a payload length field of the protocol header to include a payload length that represents a length of the payload section; and
one or more remaining fields of the protocol header; and
outputting the set of check request frames to a set of storage units of a dispersed storage network.

### Claim 2 (depends on 1)

The method of claim 1 further comprises:
ordering a check frame request of the set of check frame requests in an order of the protocol header, the transaction number field, and the one or more slice name fields.

### Claim 3 (depends on 1)

The method of claim 1, wherein generating the one or more 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.

### Claim 4 (depends on 1)

The method of claim 1 further comprises:
generating the common 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.

### Claim 5 (depends on 1)

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

### Claim 6 (depends on 1)

The method of claim 1 further comprises:
from check request frame to check request frame, the unique payload section includes:
differing one or more unique slice names corresponding to differing one or more unique encoded data slices; and
the common transaction number.

### Claim 7

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 set of check request frames, wherein each check request frame of the set of check request frames is generated by:
generating a unique payload section to include:
one or more slice name fields of the payload section to include one or more unique slice names corresponding to one or more unique encoded data slices; and
a common transaction number field of the payload section to include a common transaction number corresponding to the check request operation; and
generate a protocol header to include:
a payload length field of the protocol header to include a payload length that represents a length of the payload section; and
one or more remaining fields of the protocol header; and
output, via the interface, the set of check request frames to a set of storage units of a dispersed storage network.

### Claim 8 (depends on 7)

The computer of claim 7, wherein the processor is further operable to:
order a check frame request of the set of check frame requests in an order of the protocol header, the transaction number field, and the one or more slice name fields.

### Claim 9 (depends on 7)

The computer of claim 7, wherein the processor is further operable to generate the one or more remaining fields of the protocol header by 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.

### Claim 10 (depends on 7)

The computer of claim 7, wherein the processor is further operable to:
generate the common 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.

### Claim 11 (depends on 7)

The computer of claim 7, wherein the processor is further operable 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 common 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.

### Claim 12 (depends on 7)

The computer of claim 7 further comprises:
from check request frame to check request frame, the unique payload section includes:
differing one or more unique slice names corresponding to differing one or more unique encoded data slices; and
the common transaction number.

### Claim 13 (depends on 7)

The computer of claim 7, wherein the processor comprises one or more of:
a microprocessor, a micro-controller, a digital signal processor, a microcomputer, a central processing unit, a field programmable gate array, a programmable logic device, a state machine, logic circuitry, analog circuitry, digital circuitry, and a device that manipulates signals based on at least one of hard coding and operational instructions.

### Claim 14

A computer readable memory device comprises:
a first memory section that stores operational instructions that, when executed by a computing device, causes the computing device to generate a set of check request frames, wherein each check request frame of the set of check request frames is generated by:
generating a unique payload section to include:
one or more slice name fields of the payload section to include one or more unique slice names corresponding to one or more unique encoded data slices; and
a common transaction number field of the payload section to include a common transaction number corresponding to the check request operation; and
generate a protocol header to include:
a payload length field of the protocol header to include a payload length that represents a length of the payload section; and
one or more remaining fields of the protocol header; and
a second memory section that stores operational instructions that, when executed by the computing device, causes the computing device to output, via an interface of the computing device, the set of check request frames to a set of storage units of a dispersed storage network.

### Claim 15 (depends on 14)

The computer readable memory device of claim 14, wherein the first memory section further stores operational instructions that, when executed by the computing device, causes the computing device to:
order a check frame request of the set of check frame requests in an order of the protocol header, the transaction number field, and the one or more slice name fields.

### Claim 16 (depends on 14)

The computer readable memory device of claim 14, wherein the first memory section further stores operational instructions that, when executed by the computing device, causes the computing device to generate the one or more remaining fields of the protocol header by 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.

### Claim 17 (depends on 14)

The computer readable memory device of claim 14, wherein the first memory section further stores operational instructions that, when executed by the computing device, causes the computing device to:
generate the common 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.

### Claim 18 (depends on 14)

The computer readable memory device of claim 14, wherein the first memory section further stores operational instructions that, when executed by the computing device, causes the computing device 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 common 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.

### Claim 19 (depends on 14)

The computer readable memory device of claim 14 further comprises:
from check request frame to check request frame, the unique payload section includes:
differing one or more unique slice names corresponding to differing one or more unique encoded data slices; and
the common transaction number.
