IP Library Granted Patent US 12,120,127
Granted Patent B1
US 12,120,127 · App. 17/087,786 · Granted Oct 15, 2024

Storage of data objects in a storage network

Inventors: Gary W. Grube (Barrington Hills, IL); Jason K. Resch (Chicago, IL)
Assignee: Pure Storage, Inc.
H04L63/108G06F3/061G06F3/0619G06F3/0635G06F3/064G06F3/0659G06F3/067G06F11/00G06F11/1096G06F16/182G06F21/62H04L63/20H04L67/1097G06F11/08G06F2211/1028G06F2221/2137G06F2221/2141H04L2012/6467
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 12,120,127
App. No.
17/087,786
Granted
Oct 15, 2024
Kind
B1
Abstract

A method for execution by a processing system of a storage network includes: generating encoded data slices based on a dispersed error encoding of at least one data object; receiving an access policy associated with the at least one data object; determining a timestamp corresponding to a current time; and storing the encoded data slices, an indicator of the time stamp and an indicator of the access policy in a storage unit of the storage network.

Claims (46)

1. A method for execution by a processing system of a storage network, the method comprises:

generating encoded data slices based on a dispersed error encoding of a data object;

associating an access policy with a set of storage units of the storage network to store the data object, wherein the access policy includes time varying accessibility patterns that differ for differing ones of the set of storage units of the storage network;

determining a timestamp;

storing the encoded data slices of the data object, an indicator of the time stamp and an indicator of the access policy, wherein the encoded data slices of the data object are stored among differing ones of the set of storage units of the storage network having the time varying accessibility patterns that differ for the differing ones of the set of storage units of the storage network;

receiving an access request associated with the data object; and

retrieving a read threshold number of the encoded data slices associated with the data object from two or more of the differing ones of the set of storage units of the storage network in accordance with the time varying accessibility patterns that differ for the differing ones of the set of storage units of the storage network.

2. The method of claim 1 , wherein the dispersed error encoding utilizes a forward error correction.

3. The method of claim 1 , wherein the dispersed error encoding utilizes a Reed-Solomon encoding.

4. The method of claim 1 , wherein the access policy is associated with access authorization for the encoded data slices.

5. The method of claim 1 , further comprising:

receiving an access request associated with the object;

determining, based on the access policy, when the access request is authorized; and

fulfilling the access request when the access request is authorized.

6. The method of claim 5 , wherein fulfilling the access request includes retrieving a threshold number of the encoded data slices from the storage unit.

7. The method of claim 5 , wherein fulfilling the access request includes generating the data object based on a decoding of a threshold number of the encoded data slices.

8. The method of claim 5 , wherein fulfilling the access request includes sending the data object to a device that originated the access request.

9. The method of claim 1 , further comprising:

receiving an access request associated with the object;

determining, based on the access policy, when the access request is not authorized; and

not fulfilling the access request when the access request is not authorized.

10. The method of claim 9 , wherein not fulfilling the access request includes sending a message to a device that originated the access request.

11. A processing system of a storage network comprises:

at least one memory that stores operational instructions; and

at least one processor that, in response to executing the operational instructions, performs operations that include:

generating encoded data slices based on a dispersed error encoding of a data object;

associating an access policy with a set of storage units of the storage network to store the data object, wherein the access policy includes time varying accessibility patterns that differ for differing ones of the set of storage units of the storage network;

determining a timestamp; and

storing the encoded data slices of the data object, an indicator of the time stamp and an indicator of the access policy, wherein the encoded data slices of the data object are stored among differing ones of the set of storage units of the storage network having the time varying accessibility patterns that differ for the differing ones of the set of storage units of the storage network;

receiving an access request associated with the data object; and

retrieving a read threshold number of the encoded data slices associated with the data object from two or more of the differing ones of the set of storage units of the storage network in accordance with the time varying accessibility patterns that differ for the differing ones of the set of storage units of the storage network.

12. The processing system of claim 11 , wherein the dispersed error encoding utilizes a forward error correction.

13. The processing system of claim 11 , wherein the dispersed error encoding utilizes a Reed-Solomon encoding.

14. The processing system of claim 11 , wherein the access policy is associated with access authorization for the encoded data slices.

15. The processing system of claim 11 , wherein the operations further include:

receiving an access request associated with the data object;

determining, based on the access policy, when the access request is authorized; and

fulfilling the access request when the access request is authorized.

16. The processing system of claim 15 , wherein fulfilling the access request includes retrieving a threshold number of the encoded data slices from the storage unit.

17. The processing system of claim 15 , wherein fulfilling the access request includes generating the data object based on a decoding of a threshold number of the encoded data slices.

18. The processing system of claim 15 , wherein fulfilling the access request includes sending the data object to a device that originated the access request.

19. The processing system of claim 11 , wherein the operations further include:

receiving an access request associated with the data object;

determining, based on the access policy, when the access request is not authorized; and

not fulfilling the access request when the access request is not authorized.

20. The processing system of claim 19 , wherein not fulfilling the access request includes sending a message to a device that originated the access request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2020
From: GRUBE, GARY W.; RESCH, JASON K.
To: PURE STORAGE, INC.
Reel/Frame 054256/0728 →
Continuity (5)
Continuation In Part 16244315 · Jan 10, 2019
Continuation 15221731 · Jul 28, 2016
Continuation In Part 14612422 · Feb 3, 2015
Continuation 12886368 · Sep 20, 2010
Provisional Application 61290757 · Dec 29, 2009
Cited By (2)
US 12,634,295 US 12,717,953