# US 12,216,927 B2 · Storing data for machine learning and artificial intelligence applications in a decentralized storage network

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

- Number: US 12,216,927 B2
- Document ID: US12216927B2
- Status: Granted
- Kind: B2
- Application number: 17/466,198
- Filed: 2021-09-03
- Published: 2021-12-23
- Granted: 2025-02-04
- Earliest claimed: 2018-03-09
- Assignees: Pure Storage, Inc.
- Applicants: Pure Storage, Inc.
- Inventors: Michael Richardson
- Web page: https://patentgrep.com/patent/US12216927B2

## CPC

- G06F 3/0647: {Migration mechanisms}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0653: {Monitoring storage devices or systems}
- 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}
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- 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 11/2094: {Redundant storage or storage space (G06F11/2056 takes precedence)}
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Storing data for machine learning and artificial intelligence applications in a decentralized storage network, including: identifying a plurality of decentralized storage networks that a storage system can utilize for storing data, each of the plurality of decentralized storage networks comprising a collection of network connected computers operating as cooperative participants without employing dedicated servers for the storage of data; selecting, based characteristics of each decentralized storage network, one or more decentralized storage networks for storing the data; and initiating storage of the data on the selected one of more decentralized storage networks.

## Claims

### Claim 1

A method comprising:
selecting, based on configurations of one or more decentralized storage networks from a plurality of decentralized storage networks that are aligned with requirements associated with storing data, one or more decentralized storage networks for storing the data from the plurality of decentralized storage networks that are utilized for storing data, wherein the one or more decentralized storage networks of the plurality of decentralized storage networks comprise a collection of network connected computers operating as cooperative participants without employing dedicated servers for the storage of data;
initiating storage of the data on the selected one of more decentralized storage networks, and
sharing, with one or more other decentralized storage networks, information describing a storage system that accesses the data from the one or more decentralized storage networks, wherein the data is restored using the one or more other decentralized storage networks based on the shared information.

### Claim 2 (depends on 1)

The method of claim 1 further comprising reducing, prior to initiating storage of the data on the selected one of more decentralized storage networks, a size of the data using one or more data reduction techniques.

### Claim 3 (depends on 1)

The method of claim 1 wherein initiating storage of the data on the selected one of more decentralized storage networks further comprises including, in a blockchain, a contract describing a relationship agreement between the storage system and a particular decentralized storage network.

### Claim 4 (depends on 1)

The method of claim 1 wherein initiating storage of the data on the selected one of more decentralized storage networks further comprises including, in a blockchain, the data.

### Claim 5 (depends on 1)

The method of claim 1 further comprising:
receiving a request to take a snapshot of a dataset stored within the storage system;
creating the snapshot of the dataset stored within the storage system; and
wherein initiating storage of the data on the selected one of more decentralized storage networks further comprises initiating storage of the snapshot on the selected one of more decentralized storage networks.

### Claim 6 (depends on 1)

The method of claim 1 further comprising mirroring, between the plurality of decentralized storage networks, the data.

### Claim 7 (depends on 1)

The method of claim 1 further comprising:
detecting that a dataset stored within the storage system should be replicated to a second storage system;
receiving a request to modify the dataset;
modifying the dataset stored within the storage system; and
wherein initiating storage of the data on the selected one of more decentralized storage networks further comprises initiating storage of the modified dataset on the selected one of more decentralized storage networks.

### Claim 8 (depends on 1)

The method of claim 1 wherein the data is utilized by an artificial intelligence application.

### Claim 9 (depends on 1)

The method of claim 1 wherein the data is utilized by a machine learning application.

### Claim 10

An apparatus comprising a computer processor and a computer memory operatively coupled to the computer processor, the computer memory having disposed within its computer program instructions that, when executed by the computer processor, cause the apparatus to:
select, based on configurations of one or more decentralized storage networks from a plurality of decentralized storage networks that are aligned with requirements associated with storing data, one or more decentralized storage networks for storing the data from the plurality of decentralized storage networks that are utilized for storing data, wherein the one or more decentralized storage networks of the plurality of decentralized storage networks comprise a collection of network connected computers operating as cooperative participants without employing dedicated servers for the storage of data;
initiate storage of the data on the selected one of more decentralized storage networks, and
share, with one or more other decentralized storage networks, information describing a storage system that accesses the data from the one or more decentralized storage networks, wherein the data is restored using the one or more other decentralized storage networks based on the shared information.

### Claim 11 (depends on 10)

The apparatus of claim 10 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to reduce, prior to initiating storage of the data on the selected one of more decentralized storage networks, a size of the data using one or more data reduction techniques.

### Claim 12 (depends on 10)

The apparatus of claim 10 wherein initiating storage of the data on the selected one of more decentralized storage networks further comprises including, in a blockchain, a contract describing a relationship agreement between the storage system and a particular decentralized storage network.

### Claim 13 (depends on 10)

The apparatus of claim 10 wherein initiating storage of the data on the selected one of more decentralized storage networks further comprises including, in a blockchain, the data.

### Claim 14 (depends on 10)

The apparatus of claim 10 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to:
receive a request to take a snapshot of a dataset stored within the storage system;
create the snapshot of the dataset stored within the storage system; and
wherein initiating storage of the data on the selected one of more decentralized storage networks further comprises initiating storage of the snapshot on the selected one of more decentralized storage networks.

### Claim 15 (depends on 10)

The apparatus of claim 10 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to mirror, between the plurality of decentralized storage networks, the data.

### Claim 16 (depends on 10)

The apparatus of claim 10 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to:
detect that a dataset stored within the storage system should be replicated to a second storage system;
receive a request to modify the dataset;
modify the dataset stored within the storage system; and
wherein initiating storage of the data on the selected one of more decentralized storage networks further comprises initiating storage of the modified dataset on the selected one of more decentralized storage networks.

### Claim 17

A non-transitory computer readable storage medium storing instructions which, when executed, cause a processor to:
select, based on configurations of one or more decentralized storage networks from a plurality of decentralized storage networks that are aligned with requirements associated with storing data, one or more decentralized storage networks for storing the data from the plurality of decentralized storage networks that are utilized for storing data, wherein the one or more decentralized storage networks of the plurality of decentralized storage networks comprise a collection of network connected computers operating as cooperative participants without employing dedicated servers for the storage of data;
initiate storage of the data on the selected one of more decentralized storage networks, and
share, with one or more other decentralized storage networks, information describing a storage system that accesses the data from the one or more decentralized storage networks, wherein the data is restored using the one or more other decentralized storage networks based on the shared information.

### Claim 18 (depends on 17)

The non-transitory computer readable storage medium of claim 17, the processor further configured to reduce, prior to initiating storage of the data on the selected one of more decentralized storage networks, a size of the data using one or more data reduction techniques.

### Claim 19 (depends on 17)

The non-transitory computer readable storage medium of claim 17 wherein to initiate storage of the data on the selected one of more decentralized storage networks, the processor further includes, in a blockchain, a contract describing a relationship agreement between the storage system and a particular decentralized storage network.

### Claim 20 (depends on 17)

The non-transitory computer readable storage medium of claim 17 wherein to initiate storage of the data on the selected one of more decentralized storage networks, the processor further includes, in a blockchain, the data.
