IP Library Granted Patent US 8,019,960
Granted Patent B2
US 8,019,960 · App. 12/499,013 · Granted Sep 13, 2011

Metadata management system for an information dispersed storage system

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 8,019,960
App. No.
12/499,013
Granted
Sep 13, 2011
Kind
B2
Abstract

An apparatus includes a processing module and a network interface. The processing module is operably coupled to obtain; a data storage transaction request regarding a file; determine identity of a user based on the data storage transaction request; access file level metadata based on the identity of the user to determine a plurality of file slices associated with the file; access file slice metadata to identify at least one of a plurality of storage nodes that stores or is to store, a data slice and coded subsets of at least one of the plurality of file slices; and generate a data storage transaction message to facilitate a data storage transaction regarding the at least one of the plurality of file slices. The network interface is operably coupled to convert the data storage transaction message into a network data storage message and transmit it.

Claims (92)

1. An apparatus comprises:

a processing module operably coupled to:

obtain a data storage transaction request regarding a file;

determine identity of a user based on the data storage transaction request;

access file level metadata based on the identity of the user to determine a plurality of file slices associated with the file;

access file slice metadata associated with the plurality of file slices to identify at least one of a plurality of storage nodes that stores, or is to store, a data slice and coded subsets of at least one of the plurality of file slices; and

generate a data storage transaction message to facilitate a data storage transaction of the data storage transaction request regarding the at least one of the plurality of file slices with the at least one of the plurality of storage nodes; and

a network interface operably couple to:

convert the data storage transaction message into a network data storage message; and

transmit the network data storage message.

2. The apparatus of claim 1 , wherein the file level metadata comprises at least one of:

a transaction data sources table; and

an applications table.

3. The apparatus of claim 1 , wherein the file slice level metadata comprises at least one of:

a data sources table; and

a data space table.

4. The apparatus of claim 1 , wherein the processing module further determines the identity of the user by:

accessing data space level metadata to determine to a data space of the user based on an account identifier of the user, wherein the data storage transaction request includes the account identifier; and

accessing user level metadata based on the account identifier and the data space to determine file transaction information for a file associated with the data storage transaction request, wherein the file transaction information includes reference to the file level metadata.

5. The apparatus of claim 4 , wherein the system level metadata comprises at least one of:

a data space directory map;

a data space volume map; and

an account data space map.

6. The apparatus of claim 4 , wherein the user level metadata comprises at least one of:

a transaction context table; and

a list of files.

7. The apparatus of claim 4 , wherein the processing module further functions to:

close the file; and

when closing the file, update file transaction metadata of the user level metadata.

8. The apparatus of claim 1 , wherein the processing module further functions to:

receive, via the network interface, a committed message from the at least one of the plurality of storage nodes;

update the file slice metadata for the at least one of the plurality of file slices; and

update the file level metadata in accordance with updating of the file slice metadata.

9. The apparatus of claim 1 , wherein the processing module obtains the data storage transaction request by at least one of:

receiving the data storage transaction request from another processing module;

receiving the data storage transaction request from an application being supported by the processing module;

receiving the data storage transaction request from an application being supported by the other processing module; and

receiving the data storage transaction request during a log-in of the user.

10. The apparatus of claim 1 , wherein the data storage transaction request comprises at least one of:

a read request;

a write request;

an edit request;

a rebuild request, and

a deletion request.

11. The apparatus of claim 1 further comprises at least one of:

a computer;

a plurality of computers;

an application running on the computer; and

the application running of the plurality of computers.

12. An apparatus comprises:

a processing module operably coupled to:

receive a request to create a file, wherein the request includes an identity of a user;

create, or update, system level metadata based on the identity of the user;

create, or update, user level metadata of the user to include data regarding the file;

create file level metadata regarding the file that includes a plurality of file slices;

create slice level metadata regarding the plurality of file slices; and

generate a data storage message that identifies at least one of the plurality of storage nodes that will store at least one of the plurality of file slices; and

a network interface operably couple to:

convert the data storage message into a network data storage message; and

transmit the network data storage message.

13. The apparatus of claim 12 , wherein the file level metadata comprises at least one of:

a transaction data sources table; and

an applications table.

14. The apparatus of claim 12 , wherein the file slice level metadata comprises at least one of:

a data sources table; and

a data space table.

15. The apparatus of claim 12 , wherein the system level metadata comprises at least one of:

a data space directory map;

a data space volume map; and

an account data space map.

16. The apparatus of claim 12 , wherein the user level metadata comprises at least one of:

a transaction context table; and

a list of files.

17. The apparatus of claim 12 further comprises at least one of:

a computer;

a plurality of computers;

an application running on the computer; and

the application running of the plurality of computers.

18. An data storage node comprises:

a network interface operably coupled to:

receive a network data storage message; and

convert the network data storage message into a data storage message;

memory; and

a processing module operably coupled to:

interpret the data storage message to identify at least one of a plurality of file slices and to determine a file slice level data storage transaction request;

accessing data space metadata to determine whether file slice specific metadata exists for the at least one of the plurality of file slices;

when the file slice specific metadata exists for the at least one of the plurality of file slices, access the memory to execute the file slice level data storage transaction request on the at least one of the plurality of file slices; and

update the file slice specific metadata when the file slice level data storage transaction request has been executed.

19. The data storage node of claim 18 , wherein the data space metadata comprises at least one of:

an identification code for the data storage node;

a listing of file slices; and

status for at least one file slice of the listing of file slices.

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