IP Library Granted Patent US 11,112,989
Granted Patent B2
US 11,112,989 · App. 16/293,055 · Granted Sep 7, 2021

Utilizing a decentralized storage network for data storage

Inventor: Michael Richardson (Kansas City, MO)
Assignee: Pure Storage, Inc.
G06F3/0647H04L67/1095H04L67/1097G06F2201/84
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 11,112,989
App. No.
16/293,055
Granted
Sep 7, 2021
Kind
B2
Abstract

Offloading data storage to a decentralized storage network, including: identifying a plurality of decentralized storage networks that the storage system can utilize for storing data; selecting, in dependence upon characteristics of each decentralized storage network and requirements associated with storing the data, 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 (49)

1. A method of utilizing a decentralized storage network for data storage, the method comprising:

identifying a plurality of decentralized storage networks that a storage system utilizes for storing data, wherein each of the plurality of decentralized storage networks comprises a collection of network connected computers operating as cooperative participants without employing dedicated servers for the storage of data;

selecting, in dependence upon characteristics of each decentralized storage network and requirements associated with storing the data, one or more decentralized storage networks for storing the data;

initiating storage of the data on the selected one of more decentralized storage networks; and

sharing, with one or more other storage systems, information describing the storage system and the one or more decentralized storage networks storing the data.

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

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

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

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

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

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

8. An apparatus for utilizing a decentralized storage network for data storage, the apparatus comprising a computer processor and a computer memory operatively coupled to the computer processor, the computer memory having computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

identifying a plurality of decentralized storage networks that a storage system utilizes for storing data, wherein each of the plurality of decentralized storage networks comprises a collection of network connected computers operating as cooperative participants without employing dedicated servers for the storage of data;

selecting, in dependence upon characteristics of each decentralized storage network and requirements associated with storing the data, one or more decentralized storage networks for storing the data;

initiating storage of the data on the selected one of more decentralized storage networks; and

sharing, with one or more other storage systems, information describing the storage system and the one or more decentralized storage networks storing the data.

9. The apparatus of claim 8 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of: 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.

10. The apparatus of claim 8 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.

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

12. The apparatus of claim 8 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

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.

13. The apparatus of claim 8 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of mirroring, between the plurality of decentralized storage networks, the data.

14. The apparatus of claim 8 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

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.

15. A computer program product for utilizing a decentralized storage network for data storage, the computer program product disposed upon a computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

identifying a plurality of decentralized storage networks that a storage system utilizes for storing data, wherein each of the plurality of decentralized storage networks comprises a collection of network connected computers operating as cooperative participants without employing dedicated servers for the storage of data;

selecting, in dependence upon characteristics of each decentralized storage network and requirements associated with storing the data, one or more decentralized storage networks for storing the data;

initiating storage of the data on the selected one of more decentralized storage networks; and

sharing, with one or more other storage systems, information describing the storage system and the one or more decentralized storage networks storing the data.

16. The computer program product of claim 15 further comprising computer program instructions that, when executed, cause a computer to carry out the steps of: 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.

17. The computer program product of claim 15 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.

18. The computer program product of claim 15 wherein initiating storage of the data on the selected one of more decentralized storage networks further comprises including, in a blockchain, the data.

19. The computer program product of claim 15 further comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

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.

20. The computer program product of claim 15 further comprising computer program instructions that, when executed, cause a computer to carry out the steps of: mirroring, between the plurality of decentralized storage networks, the data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2019
From: RICHARDSON, MICHAEL
To: PURE STORAGE, INC.
Reel/Frame 048507/0653 →
Continuity (2)
Continuation 15916599 · Mar 9, 2018
Related Publication 20190278506A1 · Sep 12, 2019