# US 11,907,824 B2 · Storage network with system registry file verification

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

- Number: US 11,907,824 B2
- Document ID: US11907824B2
- Status: Granted
- Kind: B2
- Application number: 17/810,937
- Filed: 2022-07-06
- Published: 2022-10-20
- Granted: 2024-02-20
- Earliest claimed: 2015-04-30
- Assignees: Pure Storage, Inc.
- Applicants: Pure Storage, Inc.
- Inventors: Thomas D. Cocagne; Jason K. Resch
- Web page: https://patentgrep.com/patent/US11907824B2

## CPC

- G06F 16/182: Distributed file systems
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/064: {Management of blocks}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 11/0727: {in a storage system, e.g. in a DASD or network based storage system (drivers for digital recording or reproducing units G06F3/06; circuits for error detection or correction within digital recording or reproducing units G11B20/18; 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], H04L67/1097)}
- G06F 11/0751: {Error or fault detection not based on redundancy (power supply failures G06F1/30; network fault management H04L41/06)}
- G06F 11/0769: {Readable error formats, e.g. cross-platform generic formats, human understandable formats}
- G06F 11/079: {Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36)}
- G06F 11/1092: {Rebuilding, e.g. when physically replacing a failing disk}
- G06F 16/00: Information retrieval; Database structures therefor; File system structures therefor
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06N 3/065: Analogue means
- G06F 2211/1028: Distributed, i.e. distributed RAID systems with parity
- G06N 3/06: Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A processing system of a storage network operates by: generating a request for a plurality of system registry files; receiving the plurality of system registry files via a network; generating a verification indicator based on an integrity check of the plurality of system registry files versus system registry integrity data corresponding to the plurality of system registry files; and storing the system registry files in memory when the verification indicator indicates that verification was successful.

## Claims

### Claim 1

A method for execution by a processing system that includes a processor, the method comprises:
generating a request for a plurality of system registry files;
receiving the plurality of system registry files via a network;
generating a verification indicator based on an integrity check of the plurality of system registry files versus system registry integrity data corresponding to the plurality of system registry files; and
storing the system registry files in memory when the verification indicator indicates that verification was successful.

### Claim 2 (depends on 1)

The method of claim 1, wherein the system registry integrity data includes a plurality of file identifiers corresponding to the plurality of system registry files and a plurality of integrity values corresponding to the plurality of system registry files.

### Claim 3 (depends on 2)

The method of claim 2, wherein the plurality of integrity values are cryptographic hash values corresponding to the plurality of system registry files.

### Claim 4 (depends on 2)

The method of claim 2, wherein the verification indicator is generated by calculating at least one integrity check value by performing a function on the plurality of system registry files, and comparing the at least one integrity check value to a corresponding at least one of the plurality of integrity values of the system registry integrity data, and wherein the verification indicator indicates that verification was successful when the at least one integrity check value compares favorably to the corresponding at least one of the plurality of integrity values.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
generating a system files status request for transmission to a set of storage units via the network, wherein the system files status request indicates the plurality of system registry files;
receiving a plurality of system file statuses via the network from at least one of the set of storage units;
selecting a first storage unit from the set of storage units based on the plurality of system file statuses; and
transmitting the request for the plurality of system registry files to the first storage unit.

### Claim 6 (depends on 5)

The method of claim 5, further comprising:
selecting the set of storage units from a plurality of storage units further based on at least one of: proximity to the processing system, an expected network loading level, a processing system performance level, a network performance level, or storage network configuration information.

### Claim 7 (depends on 5)

The method of claim 5, wherein the first storage unit is selected from the set of storage units in response to a one of the plurality of system file statuses corresponding to the first storage unit indicating that the plurality of system registry files are available.

### Claim 8 (depends on 5)

The method of claim 5, further comprising:
selecting a second storage unit from the set of storage units, wherein a first one of the plurality of system file statuses corresponding to the first storage unit and a second one of the plurality of system file statuses corresponding to the second storage unit indicate that a first portion of the plurality of system registry files are available from the first storage unit and a second portion of the plurality of system registry files are available from the second storage unit, and wherein the first portion and the second portion collectively include all of the system registry files of the plurality of system registry files; and
generating a request for the second portion of the plurality of system registry files for transmission via the network to the second storage unit and receiving the second portion of the plurality of system registry files in response via the network.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
generating a verification error notification for transmission via the network when the verification indicator indicates that verification was unsuccessful.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
generating a system file status update for transmission via the network to a plurality of storage units when the verification indicator indicates that verification was successful, wherein the system file status update indicates that the plurality of system registry files are available.

### Claim 11

A processing system of a dispersed storage and task (DST) execution unit comprises:
at least one processor;
a memory that stores operational instructions, that when executed by the at least one processor cause the processing system to:
generate a request for a plurality of system registry files;
receive the plurality of system registry files via a network;
generate a verification indicator based on an integrity check of the plurality of system registry files versus system registry integrity data corresponding to the plurality of system registry files; and
store the system registry files in memory when the verification indicator indicates that verification was successful.

### Claim 12 (depends on 11)

The processing system of claim 11, wherein the system registry integrity data includes a plurality of file identifiers corresponding to the plurality of system registry files and a plurality of integrity values corresponding to the plurality of system registry files.

### Claim 13 (depends on 12)

The processing system of claim 12, wherein the plurality of integrity values are cryptographic hash values corresponding to the plurality of system registry files.

### Claim 14 (depends on 12)

The processing system of claim 12, wherein the verification indicator is generated by calculating at least one integrity check value by performing a function on the plurality of system registry files, and comparing the at least one integrity check value to a corresponding at least one of the plurality of integrity values of the system registry integrity data, and wherein the verification indicator indicates that verification was successful when the at least one integrity check value compares favorably to the corresponding at least one of the plurality of integrity values.

### Claim 15 (depends on 11)

The processing system of claim 11, wherein the operational instructions, when executed by the at least one processor, further cause the processing system to:
generating a system files status request for transmission to a set of storage units via the network, wherein the system files status request indicates the plurality of system registry files;
receiving a plurality of system file statuses via the network from at least one of the set of storage units;
selecting a first storage unit from the set of storage units based on the plurality of system file statuses; and
transmitting the request for the plurality of system registry files to the first storage unit.

### Claim 16 (depends on 15)

The processing system of claim 15, wherein the operational instructions, when executed by the at least one processor, further cause the processing system to:
select the set of storage units from a plurality of storage units further based on at least one of: proximity to the processing system, an expected network loading level, a processing system performance level, a network performance level, or storage network configuration information.

### Claim 17 (depends on 15)

The processing system of claim 15, wherein the first storage unit is selected from the set of storage units in response to a one of the plurality of system file statuses corresponding to the first storage unit indicating that the plurality of system registry files are available.

### Claim 18 (depends on 15)

The processing system of claim 15, wherein the operational instructions, when executed by the at least one processor, further cause the processing system to:
select a second storage unit from the set of storage units, wherein a first one of the plurality of system file statuses corresponding to the first storage unit and a second one of the plurality of system file statuses corresponding to the second storage unit indicate that a first portion of the plurality of system registry files are available from the first storage unit and a second portion of the plurality of system registry files are available from the second storage unit, and wherein the first portion and the second portion collectively include all of the system registry files of the plurality of system registry files; and
generate a request for the second portion of the plurality of system registry files for transmission via the network to the second storage unit and receiving the second portion of the plurality of system registry files in response via the network.

### Claim 19 (depends on 11)

The processing system of claim 11, wherein the operational instructions, when executed by the at least one processor, further cause the processing system to:
generate a verification error notification for transmission via the network when the verification indicator indicates that verification was unsuccessful.

### Claim 20

A non-transitory computer readable storage medium comprises:
at least one memory section that stores operational instructions that, when executed by a processing system of a storage network that includes a processor and a memory, causes the processing system to:
generate a request for a plurality of system registry files;
receive the plurality of system registry files via a network;
generate integrity check data based on the plurality of system registry files and system registry integrity data corresponding to the plurality of system registry files, wherein the integrity check data includes a verification indicator; and
store the system registry files in memory when the verification indicator indicates that verification was successful.
