IP Library Granted Patent US 11,416,339
Granted Patent B1
US 11,416,339 · App. 16/988,135 · Granted Aug 16, 2022

Validating requests based on stored vault information

Inventors: Sebastien Vas (Sunnyvale, CA); Zachary J. Mark (Chicago, IL); Jason K. Resch (Chicago, IL)
Assignee: PURE STORAGE, INC.
G06F11/1092G06F11/0727G06F11/141G06F11/167G06F16/13H04L9/3242H04L9/3247H04L9/3263H04L9/3271H04L63/06H04L63/12H04L67/06H04W12/041H04W12/0431H04W12/35G06F16/137G06F21/31G06F21/6209G06F2211/1028H04L63/0428H04L67/1097H04L2209/043H04L2209/30H04L2209/34H04L2209/56H04L2209/80H04W12/10
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,416,339
App. No.
16/988,135
Granted
Aug 16, 2022
Kind
B1
Abstract

A system includes a plurality of storage units, where one or more storage vaults is associated with the plurality of storage units and each storage vault of the one or more storage vaults represents a software-constructed grouping of storage units of the plurality of storage units. The software-constructed grouping of storage units stores encoded data slices. A data segment is encoded using an information dispersal algorithm to produce the encoded data slices. The system further includes a grid access manager that generates a data structure pertaining to the software-constructed grouping of storage units. A storage unit of the software-constructed grouping of storage units receives, from a client computer of the system, a request regarding the data segment, obtains, from the data structure, information regarding the request, determines whether the request is valid based on the information regarding the request, and when the request is valid, executes the request.

Claims (37)

1. A system comprising:

a plurality of storage units each including a network port operably coupled to a network, wherein one or more storage vaults is associated with the plurality of storage units and each storage vault of the one or more storage vaults represents a software-constructed grouping of storage units of the plurality of storage units, wherein the software-constructed grouping of storage units stores encoded data slices, and wherein a data segment is encoded using an information dispersal algorithm to produce the encoded data slices; and

a grid access manager including a network port operably coupled to the network, wherein the grid access manager:

generates a data structure pertaining to the software-constructed grouping of storage units, wherein the data structure includes:

an indication of the software-constructed grouping of storage units;

the information dispersal algorithm;

storage capacity information of the software-constructed grouping of storage units; and

information regarding one or more associated user accounts; and

wherein a storage unit of the software-constructed grouping of storage units:

receives, from a client computer of the system via the network port, a request regarding the data segment stored in the software-constructed grouping of storage units;

obtains, from the data structure, information regarding the request;

determines whether the request is valid based on the information regarding the request; and

when the request is valid:

executes the request.

2. The system of claim 1 , wherein the data structure further includes:

an indication of an encryption algorithm used to encrypt the data segment.

3. The system of claim 1 , wherein the data structure further includes:

an indication of a compression algorithm used to compress the data segment.

4. The system of claim 1 , wherein the data structure further includes:

an integrity check for the data segment.

5. The system of claim 1 , wherein the data structure is stored by at least one storage unit of the software-constructed grouping of storage units.

6. The system of claim 1 , wherein the data structure is stored by the grid access manager.

7. A method comprising:

receiving, by a storage unit of a software-constructed grouping of storage units, a request regarding a data segment stored in the software-constructed grouping of storage units, wherein one or more storage vaults is associated with the plurality of storage units and a storage vault of the one or more storage vaults represents the software-constructed grouping of storage units of a plurality of storage units, wherein the software-constructed grouping of storage units stores encoded data slices, and wherein a data segment is encoded using an information dispersal algorithm to produce the encoded data slices;

obtaining, by the storage unit, information regarding the request from a data structure pertaining to the software-constructed grouping of storage units, wherein the data structure includes:

an indication of the software-constructed grouping of storage units;

the information dispersal algorithm;

storage capacity information of the software-constructed grouping of storage units; and

information regarding one or more associated user accounts; and

determining, by the storage unit, whether the request is valid based on the information regarding the request; and

when the request is valid:

executing, by the storage unit, the request.

8. The method of claim 7 , wherein the data structure further includes an indication of an encryption algorithm used to encrypt the data segment.

9. The method of claim 7 , wherein the data structure further includes an indication of a compression algorithm used to compress the data segment.

10. The method of claim 7 , wherein the data structure further includes: an integrity check for the data segment.

11. The method of claim 7 , wherein the data structure is stored by at least one storage unit of the software-constructed grouping of storage units.

12. The method of claim 7 , wherein the data structure is stored by a grid access manager.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2020
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 053430/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 053430/0331 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2020
From: VAS, SEBASTIEN; MARK, ZACHARY J.; RESCH, JASON K.
To: CLEVERSAFE, INC.
Reel/Frame 053436/0324 →
Continuity (17)
Continuation 16390530 · Apr 22, 2019
Continuation 14447890 · Jul 31, 2014
Continuation 13154725 · Jun 7, 2011
Continuation In Part 12749592 · Mar 30, 2010
Continuation In Part 12218594 · Jul 16, 2008
Continuation In Part 11973613 · Oct 9, 2007
Continuation In Part 11973622 · Oct 9, 2007
Continuation In Part 11973542 · Oct 9, 2007
Continuation In Part 11973621 · Oct 9, 2007
Continuation In Part 11241555 · Sep 30, 2005
Continuation In Part 11403684 · Apr 13, 2006
Continuation In Part 11404071 · Apr 13, 2006
Continuation In Part 11403391 · Apr 13, 2006
Continuation In Part 12080042 · Mar 31, 2008
Continuation In Part 12218200 · Jul 14, 2008
Provisional Application 61237624 · Aug 27, 2009
Provisional Application 61357430 · Jun 22, 2010