IP Library Granted Patent US 9,781,208
Granted Patent B2
US 9,781,208 · App. 14/468,731 · Granted Oct 3, 2017

Obtaining dispersed storage network system registry information

Inventors: Wesley Leggette (Chicago, IL); Jason K. Resch (Chicago, IL)
Assignee: International Business Machines Corporation
H04L67/1097H04N7/17336G06F21/6218H04L63/0823H04L63/101
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,781,208
App. No.
14/468,731
Granted
Oct 3, 2017
Kind
B2
Abstract

A method begins by a processing module of a dispersed storage network (DSN) obtaining an identifier (ID) piece of multiple ID pieces regarding a registry fragment of a distributed DSN registry. The method continues with the processing module performing a function on the ID piece to obtain a registry fragment alias, wherein performance of the function on the multiple ID pieces would produce multiple registry fragment aliases. The method continues with the processing module determining DSN addressing information for the registry fragment based on the registry fragment alias, wherein the DSN addressing information is determinable from any one of the multiple registry fragment aliases. The method continues with the processing module receiving a response regarding the registry fragment when a local copy of the registry fragment is not up-to-date.

Claims (113)

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

obtaining an identifier (ID) piece of multiple ID pieces regarding a registry fragment of the distributed DSN registry, wherein the distributed DSN registry includes a multitude of registry entries, wherein the registry fragment includes a plurality of related registry entries of the multitude of registry entries, wherein a registry entry of the multitude of registry entries includes information regarding one or more of virtual address to physical device mapping, virtual address to user mapping, and DSN operational parameters;

performing a function on the ID piece to obtain a registry fragment alias, wherein performance of the function on the multiple ID pieces would produce multiple registry fragment aliases;

determining DSN addressing information for the registry fragment based on the registry fragment alias, wherein the DSN addressing information is determinable from any one of the multiple registry fragment aliases; and

receiving a response regarding the registry fragment when a local copy of the registry fragment is not up-to-date.

2. The method of claim 1 , wherein the multiple ID pieces comprises two or more of:

a vault ID;

a storage pool ID;

a user group ID;

a user ID;

a data object ID;

a folder ID; and

a file ID.

3. The method of claim 1 , wherein the performing the function on the ID piece comprises:

performing a deterministic function on the ID piece to obtain the registry fragment alias.

4. The method of claim 1 further comprises:

obtaining, by a requesting device, the ID piece, wherein the requesting device is a first computing device of the one or more computing devices;

performing, by the requesting device, the function on the ID piece to obtain the registry fragment alias;

sending, by the requesting device, the registry fragment alias and a local most recent revision level of a local copy of the registry fragment to a storage unit, wherein the storage unit is a second computing device of the one or more computing devices;

determining, by the storage unit, the DSN addressing information for the registry fragment;

identifying, by the storage unit, a set of encoded data slices of the registry fragment based on the DSN addressing information;

determining, by the storage unit, a global most recent revision level for the set of encoded data slices; and

sending, by the storage unit, the response to the requesting device when the local most recent revision level does not substantially match the global most recent revision level.

5. The method of claim 4 further comprises one of:

sending, by the storage unit, a global most recent copy of the registry fragment to the requesting device; and

sending, by the storage unit, a message indicating that the local copy of the registry fragment is out-of-date.

6. The method of claim 1 further comprises:

determining, by a requesting device, the DSN addressing information for the registry fragment based on the registry fragment alias, wherein the requesting device is a first computing device of the one or more computing devices;

sending, by the requesting device, an inquiry regarding the registry fragment based on the DSN addressing information; and

receiving, from a storage unit, a response to the inquiry, wherein the storage unit is a second computing device of the one or more computing devices.

7. The method of claim 1 further comprises:

obtaining a set of ID pieces of the multiple ID pieces regarding the registry fragment of the distributed DSN registry;

performing the function, or another function, on the set of ID pieces to obtain a registry sub-fragment alias, wherein the registry fragment includes a plurality of registry sub-fragments and the registry sub-fragment alias corresponds to one of the plurality of registry sub-fragments;

determining DSN addressing information for the registry sub-fragment based on the registry sub-fragment alias; and

receiving a response regarding the registry sub-fragment when a local copy of the registry sub-fragment is not up-to-date.

8. 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:

obtain an identifier (ID) piece of multiple ID pieces regarding a registry fragment of a distributed DSN registry, wherein the distributed DSN registry includes a multitude of registry entries, wherein the registry fragment includes a plurality of related registry entries of the multitude of registry entries, wherein a registry entry of the multitude of registry entries includes information regarding one or more of virtual address to physical device mapping, virtual address to user mapping, and DSN operational parameters;

perform a function on the ID piece to obtain a registry fragment alias, wherein performance of the function on the multiple ID pieces would produce multiple registry fragment aliases;

determine DSN addressing information for the registry fragment based on the registry fragment alias, wherein the DSN addressing information is determinable from any one of the multiple registry fragment aliases; and

receive a response regarding the registry fragment when a local copy of the registry fragment is not up-to-date.

9. The non-transitory computer readable storage medium of claim 8 , wherein the multiple ID pieces comprises two or more of:

a vault ID;

a storage pool ID;

a user group ID;

a user ID;

a data object ID;

a folder ID; and

a file ID.

10. The non-transitory computer readable storage medium of claim 8 , wherein the one or more processing modules functions to execute the operational instructions stored by the at least one memory section to cause the one or more computing devices of the DSN to perform the function on the ID piece by:

performing a deterministic function on the ID piece to obtain the registry fragment alias.

11. The non-transitory computer readable storage medium of claim 8 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

obtain, by a requesting device, the ID piece, wherein the requesting device is a first computing device of the one or more computing devices;

perform, by the requesting device, the function on the ID piece to obtain the registry fragment alias;

send, by the requesting device, the registry fragment alias and a local most recent revision level of a local copy of the registry fragment to a storage unit, wherein the storage unit is a second computing device of the one or more computing devices;

determine, by the storage unit, the DSN addressing information for the registry fragment;

identify, by the storage unit, a set of encoded data slices of the registry fragment based on the DSN addressing information;

determine, by the storage unit, a global most recent revision level for the set of encoded data slices; and

send, by the storage unit, the response to the requesting device when the local most recent revision level does not substantially match the global most recent revision level.

12. The non-transitory computer readable storage medium of claim 11 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

send, by the storage unit, a global most recent copy of the registry fragment to the requesting device; and

send, by the storage unit, a message indicating that the local copy of the registry fragment is out-of-date.

13. The non-transitory computer readable storage medium of claim 8 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

determine, by a requesting device, the DSN addressing information for the registry fragment based on the registry fragment alias, wherein the requesting device is a first computing device of the one or more computing devices;

send, by the requesting device, an inquiry regarding the registry fragment based on the DSN addressing information; and

receive, from a storage unit, a response to the inquiry, wherein the storage unit is a second computing device of the one or more computing devices.

14. The non-transitory computer readable storage medium of claim 8 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

obtain a set of ID pieces of the multiple ID pieces regarding the registry fragment of the distributed DSN registry;

perform the function, or another function, on the set of ID pieces to obtain a registry sub-fragment alias, wherein the registry fragment includes a plurality of registry sub-fragments and the registry sub-fragment alias corresponds to one of the plurality of registry sub-fragments;

determine DSN addressing information for the registry sub-fragment based on the registry sub-fragment alias; and

receive a response regarding the registry sub-fragment when a local copy of the registry sub-fragment is not up-to-date.

15. A computing device one or more computing devices of a dispersed storage network (DSN) comprises:

an interface;

a memory; and

a processing module operably coupled to the interface and the memory, wherein the processing module functions to:

obtain an identifier (ID) piece of multiple ID pieces regarding a registry fragment of a distributed DSN registry, wherein the distributed DSN registry includes a multitude of registry entries, wherein the registry fragment includes a plurality of related registry entries of the multitude of registry entries, wherein a registry entry of the multitude of registry entries includes information regarding one or more of virtual address to physical device mapping, virtual address to user mapping, and DSN operational parameters;

perform a function on the ID piece to obtain a registry fragment alias, wherein performance of the function on the multiple ID pieces would produce multiple registry fragment aliases;

determine DSN addressing information for the registry fragment based on the registry fragment alias, wherein the DSN addressing information is determinable from any one of the multiple registry fragment aliases; and

receive a response regarding the registry fragment when a local copy of the registry fragment is not up-to-date.

16. The computing device of claim 15 , wherein the multiple ID pieces comprises two or more of:

a vault ID;

a storage pool ID;

a user group ID;

a user ID;

a data object ID;

a folder ID; and

a file ID.

17. The computing device of claim 15 , wherein the processing module functions to perform the function on the ID piece by:

performing a deterministic function on the ID piece to obtain the registry fragment alias.

18. The computing device of claim 15 , wherein the processing module further functions to:

obtain the ID piece;

perform the function on the ID piece to obtain the registry fragment alias;

send the registry fragment alias and a local most recent revision level of a local copy of the registry fragment to a storage unit, wherein the storage unit is another computing device of the one or more computing devices;

determine, by the storage unit, the DSN addressing information for the registry fragment;

identify, by the storage unit, a set of encoded data slices of the registry fragment based on the DSN addressing information;

determine, by the storage unit, a global most recent revision level for the set of encoded data slices; and

send, by the storage unit, the response to the computing device when the local most recent revision level does not substantially match the global most recent revision level.

19. The computing device of claim 18 , wherein the processing module further functions to:

send, by the storage unit, a global most recent copy of the registry fragment to the requesting device; and

send, by the storage unit, a message indicating that the local copy of the registry fragment is out-of-date.

20. The computing device of claim 15 , wherein the processing module further functions to:

determine the DSN addressing information for the registry fragment based on the registry fragment alias;

send an inquiry regarding the registry fragment based on the DSN addressing information; and

receive, from a storage unit, a response to the inquiry, wherein the storage unit is another computing device of the one or more computing devices.

21. The computing device of claim 15 , wherein the processing module further functions to:

obtain a set of ID pieces of the multiple ID pieces regarding the registry fragment of the distributed DSN registry;

perform the function, or another function, on the set of ID pieces to obtain a registry sub-fragment alias, wherein the registry fragment includes a plurality of registry sub-fragments and the registry sub-fragment alias corresponds to one of the plurality of registry sub-fragments;

determine DSN addressing information for the registry sub-fragment based on the registry sub-fragment alias; and

receive a response regarding the registry sub-fragment when a local copy of the registry sub-fragment is not up-to-date.

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 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2014
From: LEGGETTE, WESLEY; RESCH, JASON K.
To: CLEVERSAFE, INC.
Reel/Frame 033610/0539 →
Continuity (2)
Provisional Application 61898934 · Nov 1, 2013
Related Publication 20150127699A1 · May 7, 2015