IP Library Granted Patent US 9,841,899
Granted Patent B2
US 9,841,899 · App. 14/451,610 · Granted Dec 12, 2017

Dispersed storage system with sub-vaults and methods for use therewith

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 9,841,899
App. No.
14/451,610
Granted
Dec 12, 2017
Kind
B2
Abstract

A method for execution by one or more processing modules of a dispersed storage network (DSN) includes receiving a data access request for at least one data segment stored in the DSN. A vault associated with data access request is identified along with one of a plurality of sub-vaults associated with the vault. Access information corresponding to the one of the plurality of sub-vaults is retrieved to determine whether the access request is allowed. When the access request is allowed, a sub-vault directory associated with the one of the plurality of sub-vaults is retrieved to identify a DSN address corresponding to the data access request, and fulfilling the data access request based on the DSN address.

Claims (46)

1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:

receiving a data access request for at least one data segment stored in the DSN;

identifying a vault associated with the data access request and one of a plurality of sub-vaults associated with the vault including:

issuing a plurality of requests to a set of distributed storage and/or task (DST) execution units to retrieve at least one set of vault list slices that are distributedly stored in the set of DST execution units, wherein a decode threshold number of vault list slices are needed to recover a vault list;

receiving at least the decode threshold number of vault list slices in responses to the plurality of requests from the set of DST execution units;

decoding the at least the decode threshold number of vault list slices to produce the vault list; and

identifying the vault based on the vault list;

retrieving access information corresponding to the one of the plurality of sub-vaults to determine whether the data access request is allowed; and

when the data access request is allowed, retrieving a sub-vault directory associated with the one of the plurality of sub-vaults to identify a DSN address corresponding to the data access request, and fulfilling the data access request based on the DSN address.

2. The method of claim 1 wherein the data access request includes a requesting entity identifier (ID) and the vault is identified based on the requesting entity ID.

3. The method of claim 2 wherein the one of the plurality of sub-vaults is identified based on an identification of the vault and based on a sub-vault ID included in the data access request.

4. The method of claim 1 wherein retrieving the access information corresponding to the one of the plurality of sub-vaults includes retrieving a vault directory corresponding to the vault associated with the data access request.

5. The method of claim 4 wherein the vault directory indicates an address for each of the plurality of sub-vaults associated with the vault.

6. The method of claim 1 wherein determining whether the data access request is allowed includes determining a request type associated with the data access request and allowing the data access request when the access information indicates the request type is allowed.

7. The method of claim 6 wherein the data access request indicates the request type as one of: a read request, or a write request.

8. A dispersed storage and task (DST) processing unit comprises:

at least one module, when operable within a computing device, that causes the computing device to:

receive a data access request for at least one data segment stored in a dispersed storage network (DSN);

identify a vault associated with the data access request and one of a plurality of sub-vaults associated with the vault including to:

issue a plurality of requests to a set of distributed storage and/or task (DST) execution units to retrieve at least one set of vault list slices that are distributedly stored in the set of DST execution units, wherein a decode threshold number of vault list slices are needed to recover a vault list;

receive at least the decode threshold number of vault list slices in responses to the plurality of requests from the set of DST execution units;

decode the at least the decode threshold number of vault list slices to produce the vault list; and

identify the vault based on the vault list;

retrieve access information corresponding to the one of the plurality of sub-vaults to determine whether the data access request is allowed; and

when the data access request is allowed, retrieve a sub-vault directory associated with the one of the plurality of sub-vaults to identify a DSN address corresponding to the data access request, and fulfilling the data access request based on the DSN address.

9. The DST processing unit of claim 8 wherein the data access request includes a requesting entity identifier (ID) and the vault is identified based on the requesting entity ID.

10. The DST processing unit of claim 9 wherein the one of the plurality of sub-vaults is identified based on an identification of the vault and based on a sub-vault ID included in the data access request.

11. The DST processing unit of claim 8 wherein retrieving the access information corresponding to the one of the plurality of sub-vaults includes retrieving a vault directory corresponding to the vault associated with the data access request.

12. The DST processing unit of claim 11 wherein the vault directory indicates an address for each of the plurality of sub-vaults associated with the vault.

13. The DST processing unit of claim 8 wherein determining whether the data access request is allowed includes determining a request type associated with the data access request and allowing the data access request when the access information indicates the request type is allowed.

14. The DST processing unit of claim 13 wherein the data access request indicates the request type as one of: a read request, or a write request.

15. A non-transitory computer readable storage medium comprises:

at least one memory section that stores operational instructions that, when executed by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), causes the one or more computing devices to:

receive a data access request for at least one data segment stored in the DSN;

identify a vault associated with the data access request and one of a plurality of sub-vaults associated with the vault including to:

issue a plurality of requests to a set of distributed storage and/or task (DST) execution units to retrieve at least one set of vault list slices that are distributedly stored in the set of DST execution units, wherein a decode threshold number of vault list slices are needed to recover a vault list;

receive at least the decode threshold number of vault list slices in responses to the plurality of requests from the set of DST execution units;

decode the at least the decode threshold number of vault list slices to produce the vault list; and

identify the vault based on the vault list;

retrieve access information corresponding to the one of the plurality of sub-vaults to determine whether the data access request is allowed; and

when the data access request is allowed, retrieve a sub-vault directory associated with the one of the plurality of sub-vaults to identify a DSN address corresponding to the data access request, and fulfilling the data access request based on the DSN address.

16. The non-transitory computer readable storage medium of claim 15 wherein the data access request includes a requesting entity identifier (ID) and the vault is identified based on the requesting entity ID.

17. The non-transitory computer readable storage medium of claim 16 wherein the one of the plurality of sub-vaults is identified based on an identification of the vault and based on a sub-vault ID included in the data access request.

18. The non-transitory computer readable storage medium of claim 15 wherein retrieving the access information corresponding to the one of the plurality of sub-vaults includes retrieving a vault directory corresponding to the vault associated with the data access request.

19. The non-transitory computer readable storage medium of claim 18 wherein the vault directory indicates an address for each of the plurality of sub-vaults associated with the vault.

20. The non-transitory computer readable storage medium of claim 15 wherein determining whether the data access request is allowed includes determining a request type associated with the data access request and allowing the data access request when the access information indicates the request type is allowed.

Assignments (7)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052205/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0012 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY DATA FOR SECOND INVENTOR PREVIOUSLY RECORDED AT REEL: 033463 FRAME: 0429. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 15, 2019
From: LEGGETTE, WESLEY; CILFONE, BART
To: CLEVERSAFE, INC.
Reel/Frame 050940/0052 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2014
From: LEGGETTE, WESLEY; CLIFONE, BART
To: CLEVERSAFE, INC.
Reel/Frame 033463/0429 →