IP Library Granted Patent US 9,244,768
Granted Patent B2
US 9,244,768 · App. 12/779,640 · Granted Jan 26, 2016

Dispersed storage network file system directory

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,244,768
App. No.
12/779,640
Granted
Jan 26, 2016
Kind
B2
Abstract

A dispersed storage device manages a file system directory of a dispersed storage network by receiving a data object to be stored and a user file name of the data object, calculating a data compression function of the data object, creating a file identifier based on a result of the data compression function, creating a source name for the data object using the file identifier and linking the user file name to the source name in the file system directory.

Claims (49)

1. A dispersed storage device for use within a dispersed storage network, comprising:

an interface; and

a processing module operable to:

receive, via the interface, a data object to be stored and a user file name of the data object;

calculate a data compression function of the data object to produce a compressed data result;

create a file identifier different from the user file name for the data object, the file identifier including at least part of the compressed data result;

determine vault information based on a user identifier associated with the data object;

create a source name for the data object using the file identifier and the vault information; and

link the user file name to the source name in a file system directory.

2. The dispersed storage device of claim 1 , wherein the processing module is further operable to increment a reference counter for the source name in the file system directory for the data object.

3. The dispersed storage device of claim 2 , wherein the processing module is further operable to:

receive, via the interface, the data object to be stored and a new user file name of the data object;

increment the reference counter for the source name of the data object; and

link the new user file name to the source name in the file system directory.

4. The dispersed storage device of claim 3 , wherein the processing module is further operable to:

receive, via the interface, a delete data object request for the new user file name;

remove the new user file name from the file system directory; and

decrement the reference counter for the source name of the data object.

5. The dispersed storage device of claim 4 , wherein the processing module is further operable to:

segment the data object into data segments;

slice each of the data segments into respective error coded data slices; and

output, via the interface, the error coded data slices to corresponding dispersed storage units for storage therein.

6. The dispersed storage device of claim 5 , wherein the processing module is further operable to generate and transmit, via the interface, a delete command to the dispersed storage units to delete the data slices of the data object stored therein when the reference counter reaches zero.

7. The dispersed storage device of claim 5 , wherein a number of the data slices within each of the data segments indicating a number of pillars of the data object and the processing module is further operable to output the data slices to the dispersed storage units such that each of the dispersed storage units stores no more than one of the pillars.

8. The dispersed storage device of claim 1 , wherein a byte width of the compressed data result is greater than a desired byte width of the file identifier.

9. The dispersed storage device of claim 8 , wherein the processing module is further operable to truncate the compressed data result to match the desired byte width of the file identifier to produce the file identifier.

10. The dispersed storage device of claim 1 , wherein the processing module is further operable to determine, as the vault information, a vault identifier of a vault from the user identifier, the vault being associated with at least one user of the dispersed storage network.

11. The dispersed storage device of claim 10 , wherein the processing module is further operable to determine, as part of the vault information, a vault generation of the vault from the user identifier.

12. A method for managing a file system directory of a dispersed storage network, comprising:

receiving a data object to be stored and a user file name of the data object;

calculating a data compression function of the data object to produce a compressed data result;

creating a file identifier different from the user file name for the data object, the file identifier including at least part of the compressed data result;

determining vault information based on a user identifier associated with the data object;

creating a source name for the data object using the file identifier and the vault information; and

linking the user file name to the source name in a file system directory.

13. The method of claim 12 , further comprising:

incrementing a reference counter for the source name in the file system directory for the data object.

14. The method of claim 13 , further comprising:

receiving the data object to be stored and a new user file name of the data object;

incrementing the reference counter for the source name of the data object; and

linking the new user file name to the source name in the file system directory.

15. The method of claim 14 , further comprising:

receiving a delete data object request for the new user file name;

removing the new user file name from the file system directory; and

decrementing the reference counter for the source name of the data object.

16. The method of claim 12 , wherein a byte width of the compressed data result is greater than a desired byte width of the file identifier and further comprising:

truncating the compressed data result to match the desired byte width of the file identifier to produce the file identifier.

17. The method of claim 12 , further comprising:

determining, as the vault information, a vault identifier and a vault generation of a vault from the user identifier, the vault being associated with at least one user of the dispersed storage network.

Assignments (6)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2010
From: VOLVOVSKI, ILYA; DHUSE, GREG; BAPTIST, ANDREW
To: CLEVERSAFE, INC.
Reel/Frame 024383/0289 →