IP Library Granted Patent US 7,953,771
Granted Patent B2
US 7,953,771 · App. 12/633,779 · Granted May 31, 2011

Virtualized data storage vaults on a dispersed data storage network

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 7,953,771
App. No.
12/633,779
Granted
May 31, 2011
Kind
B2
Abstract

A dispersed data storage system includes a plurality of slice servers. In the system, a first set of the slice servers supports a first virtual digital data storage vault and a second set of the slice servers supports a second virtual digital data storage vault. A slice server is in the first and second sets and functions to: receive a request to access a virtual digital data storage vault; determine whether the virtual digital data storage vault is the first or the second virtual digital data storage vault; when the virtual digital data storage vault is the first or the second virtual digital data storage vault, determine whether the request is valid; and when the request is valid, execute the request to generate a response.

Claims (53)

1. A dispersed data storage system comprises:

a plurality of slice servers, wherein a first set of the plurality of slice servers supports a first virtual digital data storage vault and a second set of the plurality of slice servers supports a second virtual digital data storage vault, wherein a slice server of the plurality of slice servers is in the first set and is in the second set, and wherein the slice server functions to:

receive a request to access a virtual digital data storage vault;

determine whether the virtual digital data storage vault is the first or the second virtual digital data storage vault;

when the virtual digital data storage vault is the first or the second virtual digital data storage vault, determine whether the request is valid; and

when the request is valid, execute the request to generate a response.

2. The dispersed data storage system of claim 1 , wherein each of the plurality of slice servers comprises:

a network port for coupling to a network, wherein the slice server receives the request via the network port and sends the response via network port.

3. The dispersed data storage system of claim 1 , wherein the slice server further functions to determine whether the request is valid by:

accessing a first vault data structure when the request corresponds to accessing the first virtual digital data storage vault, wherein the first vault data structure includes first user account information; and

accessing a second vault data structure when the request corresponds to accessing the second virtual digital data storage vault, wherein the second vault data structure includes second user account information.

4. The dispersed data storage system of claim 1 , wherein the slice server further functions to determine whether the request is valid by:

validating a user account identified in the request; and

when the user account is valid, validating the request based on permissions associated with the user account.

5. The dispersed data storage system of claim 1 , wherein the slice server further functions to determine whether the virtual digital data storage vault is the first or the second virtual digital data storage vault by:

accessing a list of virtual digital data storage vaults supported by the dispersed data storage system; and

determining whether the first or the second virtual digital data storage vault is on the list.

6. The dispersed data storage system of claim 1 , wherein the slice server further functions to:

generate an error when the request is not for accessing the first or the second virtual digital data storage vaults or when the request is invalid.

7. The dispersed data storage system of claim 1 further comprises:

each slice server of the first set of the plurality of slice servers stores:

a slice of a first data segment in a first section of a corresponding portion of

the first virtual digital data storage vault; and

a slice of a second data segment in a second section of the corresponding portion of the first virtual digital data storage vault; and

each slice server of the second set of the plurality of slice servers stores:

a slice of a third data segment in a first section of a corresponding portion of the second virtual digital data storage vault; and

a slice of a fourth data segment in a second section of the corresponding portion of the second virtual digital data storage vault.

8. A slice server comprises:

a network port operable for coupling to a network;

a central processing unit operably coupled to the network port; and

memory operably coupled to the central processing unit, wherein the central processing unit functions to:

maintain a list of virtual digital data storage vaults that are supported by the slice server, wherein the list of virtual digital data storage vaults is stored in the memory, wherein the list of virtual digital data storage vaults includes a plurality of entries, and wherein an entry of the plurality of entries includes a virtual digital data storage vault identifier and allocated memory space;

maintain an access control list that lists valid user accounts and corresponding permissions, wherein the access control list is stored in memory; and

process requests based on the list of virtual digital data storage vaults and the access control list.

9. The slice server of claim 8 , wherein the central processing unit further functions to process requests by:

receiving the request via the network port;

identifying a virtual digital data storage vault from the request;

determining whether the identified virtual digital data storage vault is on the list of virtual digital data storage vaults;

when the identified virtual digital data storage vault is on the list of virtual digital data storage vaults, continuing processing the request based on the access control list; and

when the identified virtual digital data storage vault is not on the list of virtual digital data storage vaults, indicating an error.

10. The slice server of claim 8 , wherein the central processing unit further functions to process requests by:

when the request identifies a virtual digital data storage vault on the list of virtual digital data storage vaults, identifying a user account from the request;

determining whether the user account is listed in the access control list;

when the user account is not listed in the access control list, indicating an error;

when the user account is listed in the access control list, identifying a function from the request;

determining whether the function is within the permissions for the user account;

when the function is not within the permissions for the user account, indicating the error; and

when the function is within the permissions for the user account, executing the function to produce a response.

11. The slice server of claim 8 , wherein the central processing unit further functions to:

store a slice of a first data segment in a first section of a first virtual digital data storage vault;

store a slice of a second data segment in a second section of the first virtual digital data storage vault;

store a slice of a third data segment in a first section of a second virtual digital data storage vault; and

store a slice of a fourth data segment in a second section of the second virtual digital data storage vault.

Assignments (8)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2019
From: DHUSE, GREG; THORNTON, VANCE; GLADWIN, S. CHRISTOPHER; MOTWANI, MANISH; VOLVOVSKI, ILYA; LEGGETTE, WESLEY; BELLANCA, JAMIE; TOLEDANO, SARAH; FOSTER, JERRI LYNN; MARK, ZACHARY
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 049320/0327 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038687/0596 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Aug 20, 2013
From: SILICON VALLEY BANK
To: CLEVERSAFE, INC.
Reel/Frame 031058/0255 →
SECURITY AGREEMENT Recorded Oct 11, 2011
From: CLEVERSAFE, INC.
To: SILICON VALLEY BANK
Reel/Frame 027046/0203 →