IP Library Granted Patent US 10,073,638
Granted Patent B2
US 10,073,638 · App. 15/400,529 · Granted Sep 11, 2018

Automatic namespace ordering determination

Inventors: Greg R. Dhuse (Chicago, IL); Jason K. Resch (Chicago, IL)
Assignee: International Business Machines Corporation
G06F3/0619G06F3/0665G06F3/0689H04L67/1097
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 10,073,638
App. No.
15/400,529
Granted
Sep 11, 2018
Kind
B2
Abstract

A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and a processing module operably coupled to the interface and memory such that the processing module, when operable within the computing device based on the operational instructions, is configured to perform various operations. The computing device detects a commissioned storage unit (SU) that was previously non-commissioned and identifies SU(s) that include commissioned SUs among the SUs. The computing device then identifies a SU topology of the SU(s) and selects a subset of the SU(s) based on the SU topology. The computing device then obtains SU address range assignments of the subset of the SU(s) facilitates assignment of a SU address range for the commissioned SU that was previously non-commissioned within the SUs based on the SU address range assignments of the subset of the SU(s).

Claims (69)

1. A computing device comprising:

an interface configured to interface and communicate with a dispersed or distributed storage network (DSN);

memory that stores operational instructions; and

a processing module operably coupled to the interface and to the memory, wherein the processing module, when operable within the computing device based on the operational instructions, is configured to:

detect a commissioned storage unit (SU) that was previously non-commissioned within a plurality of storage units (SUs) that are implemented within the DSN;

identify at least some of the plurality of SUs that include commissioned SUs among the plurality of SUs;

identify a SU topology of the at least some of the plurality of SUs;

select a subset of the at least some of the plurality of SUs based on the SU topology based on a favorable condition of the commissioned SU that was previously non-commissioned within the plurality of SUs, wherein the favorable condition includes at least one of a physical proximity of the commissioned SU that was previously non-commissioned within the plurality of SUs favorably comparing to a physical proximity threshold, a virtual proximity of the commissioned SU that was previously non-commissioned within the plurality of SUs favorably comparing to a virtual proximity threshold, a bandwidth availability of the commissioned SU that was previously non-commissioned within the plurality of SUs favorably comparing to a bandwidth threshold, or a performance level of the commissioned SU that was previously non-commissioned within the plurality of SUs favorably comparing to a performance threshold;

obtain SU address range assignments of the subset of the at least some of the plurality of SUs; and

facilitate assignment of a SU address range for the commissioned SU that was previously non-commissioned within the plurality of SUs based on the SU address range assignments of the subset of the at least some of the plurality of SUs.

2. The computing device of claim 1 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:

detect the commissioned SU that was previously non-commissioned within the plurality of SUs based on at least one of a commissioning message received from a SU within the plurality of SUs, a query operation with the SU within the plurality of SUs, receiving an authentication request from the SU within the plurality of SUs, or detection of a reset of the commissioned SU that was previously non-commissioned within the plurality of SUs.

3. The computing device of claim 1 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:

identify the at least some of the plurality of SUs that include commissioned SUs among the plurality of SUs based on at least one of a lookup from a database that stores commissioning information regarding the at least some of the plurality of SUs, a query operation associated with at least one SU of the at least some of the plurality of SUs, a ping test operation with the at least one SU of the at least some of the plurality of SUs, obtaining of an internet protocol address of the at least one SU of the at least some of the plurality of SUs, identification of a common router identifiers among the at least one SU of the at least some of the plurality of SUs, a measure of a level of bandwidth associated with at least one SU of the at least some of the plurality of SUs, or an estimation of a distance to each SU of the at least some of the plurality of SUs.

4. The computing device of claim 1 , wherein the SU topology of the at least some of the plurality of SUs indicates at least one of a physical layout or a virtual layout of the at least some of the plurality of SUs with respect to each other and to the commissioned SU that was previously non-commissioned within the plurality of SUs.

5. The computing device of claim 1 , wherein:

the plurality of SUs is configured to store distributedly a set of encoded data slices (EDSs);

a data object is segmented into a plurality of data segments;

a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of EDSs; and wherein at least one of:

a decode threshold number of EDSs are needed to recover the data segment;

a read threshold number of EDSs provides for reconstruction of the data segment; or

a write threshold number of EDSs provides for a successful transfer of the set of EDSs from a first at least one location in the DSN to a second at least one location in the DSN.

6. The computing device of claim 1 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:

obtain the SU address range assignments of the subset of the at least some of the plurality of SUs based on at least one of a lookup from a database that stores commissioning information regarding the SU address range assignments of the subset of the at least some of the plurality of SUs, receipt of the SU address range assignments of the subset of the at least some of the plurality of SUs from another computing device or a SU of the plurality of SUs, and a query operation with the SU within the plurality of SUs.

7. The computing device of claim 1 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:

facilitate the assignment of the SU address range for the commissioned SU that was previously non-commissioned within the plurality of SUs based on the SU address range assignments of the subset of the at least some of the plurality of SUs includes at least one of selection of an available address range with regards to the subset of the at least some of the plurality of SUs, issuance of a range assignment request that includes a selected address range for the assignment of the SU address range to another computing device or a SU of the plurality of SUs, receipt of a favorable address range assignment response from the another computing device or the SU of the plurality of SUs, storing the selected address range, or sending the selected address range to the subset of the at least some of the plurality of SUs.

8. The computing device of claim 1 , wherein the computing device is located at a first premises that is remotely located from at least one SU of the plurality of SUs within the DSN.

9. The computing device of claim 1 further comprising:

a SU of the plurality of SUs within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

10. The computing device of claim 1 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication system, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).

11. A computing device comprising:

an interface configured to interface and communicate with a dispersed or distributed storage network (DSN) that includes at least one of a wireless communication system, a wire lined communication system, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN);

memory that stores operational instructions; and

a processing module operably coupled to the interface and to the memory, wherein the processing module, when operable within the computing device based on the operational instructions, is configured to:

detect a commissioned storage unit (SU) that was previously non-commissioned within a plurality of storage units (SUs) that are implemented within the DSN;

identify at least some of the plurality of SUs that include commissioned SUs among the plurality of SUs;

identify a SU topology of the at least some of the plurality of SUs, wherein the SU topology of the at least some of the plurality of SUs indicates at least one of a physical layout or a virtual layout of the at least some of the plurality of SUs with respect to each other and to the commissioned SU that was previously non-commissioned within the plurality of SUs;

select a subset of the at least some of the plurality of SUs based on the SU topology based on a favorable condition of the commissioned SU that was previously non-commissioned within the plurality of SUs, wherein the favorable condition includes at least one of a physical proximity of the commissioned SU that was previously non-commissioned within the plurality of SUs favorably comparing to a physical proximity threshold, a virtual proximity of the commissioned SU that was previously non-commissioned within the plurality of SUs favorably comparing to a virtual proximity threshold, a bandwidth availability of the commissioned SU that was previously non-commissioned within the plurality of SUs favorably comparing to a bandwidth threshold, or a performance level of the commissioned SU that was previously non-commissioned within the plurality of SUs favorably comparing to a performance threshold;

obtain SU address range assignments of the subset of the at least some of the plurality of SUs based on at least one of a lookup from a database that stores commissioning information regarding the SU address range assignments of the subset of the at least some of the plurality of SUs, receipt of the SU address range assignments of the subset of the at least some of the plurality of SUs from another computing device or a SU of the plurality of SUs, and a query operation with the SU within the plurality of SUs; and

facilitate assignment of a SU address range for the commissioned SU that was previously non-commissioned within the plurality of SUs based on the SU address range assignments of the subset of the at least some of the plurality of SUs includes at least one of selection of an available address range with regards to the subset of the at least some of the plurality of SUs, issuance of a range assignment request that includes a selected address range for the assignment of the SU address range to the another computing device or the SU of the plurality of SUs, receipt of a favorable address range assignment response from the another computing device or the SU of the plurality of SUs, storing the selected address range, or sending the selected address range to the subset of the at least some of the plurality of SUs.

12. The computing device of claim 11 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:

detect the commissioned SU that was previously non-commissioned within the plurality of SUs based on at least one of a commissioning message received from a SU within the plurality of SUs, a query operation with the SU within the plurality of SUs, receiving an authentication request from the SU within the plurality of SUs, or detection of a reset of the commissioned SU that was previously non-commissioned within the plurality of SUs.

13. The computing device of claim 11 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:

identify the at least some of the plurality of SUs that include commissioned SUs among the plurality of SUs based on at least one of a lookup from a database that stores commissioning information regarding the at least some of the plurality of SUs, a query operation associated with at least one SU of the at least some of the plurality of SUs, a ping test operation with the at least one SU of the at least some of the plurality of SUs, obtaining of an internet protocol address of the at least one SU of the at least some of the plurality of SUs, identification of a common router identifiers among the at least one SU of the at least some of the plurality of SUs, a measure of a level of bandwidth associated with at least one SU of the at least some of the plurality of SUs, or an estimation of a distance to each SU of the at least some of the plurality of SUs.

14. A method for execution by a computing device, the method comprising:

detecting a commissioned storage unit (SU) that was previously non-commissioned within a plurality of storage units (SUs) that are implemented within a dispersed or distributed storage network (DSN);

identifying at least some of the plurality of SUs that include commissioned SUs among the plurality of SUs;

identifying a SU topology of the at least some of the plurality of SUs;

selecting a subset of the at least some of the plurality of SUs based on the SU topology based on a favorable condition of the commissioned SU that was previously non-commissioned within the plurality of SUs, wherein the favorable condition includes at least one of a physical proximity of the commissioned SU that was previously non-commissioned within the plurality of SUs favorably comparing to a physical proximity threshold, a virtual proximity of the commissioned SU that was previously non-commissioned within the plurality of SUs favorably comparing to a virtual proximity threshold, a bandwidth availability of the commissioned SU that was previously non-commissioned within the plurality of SUs favorably comparing to a bandwidth threshold, or a performance level of the commissioned SU that was previously non-commissioned within the plurality of SUs favorably comparing to a performance threshold;

obtaining SU address range assignments of the subset of the at least some of the plurality of SUs; and

facilitating, via an interface of the computing device configured to interface and communicate with the DSN, assignment of a SU address range for the commissioned SU that was previously non-commissioned within the plurality of SUs based on the SU address range assignments of the subset of the at least some of the plurality of SUs.

15. The method of claim 14 further comprising:

detecting the commissioned SU that was previously non-commissioned within the plurality of SUs based on at least one of a commissioning message received from a SU within the plurality of SUs, a query operation with the SU within the plurality of SUs, receiving an authentication request from the SU within the plurality of SUs, or detection of a reset of the commissioned SU that was previously non-commissioned within the plurality of SUs.

16. The method of claim 14 further comprising:

identifying the at least some of the plurality of SUs that include commissioned SUs among the plurality of SUs based on at least one of a lookup from a database that stores commissioning information regarding the at least some of the plurality of SUs, a query operation associated with at least one SU of the at least some of the plurality of SUs, a ping test operation with the at least one SU of the at least some of the plurality of SUs, obtaining of an internet protocol address of the at least one SU of the at least some of the plurality of SUs, identification of a common router identifiers among the at least one SU of the at least some of the plurality of SUs, a measure of a level of bandwidth associated with at least one SU of the at least some of the plurality of SUs, or an estimation of a distance to each SU of the at least some of the plurality of SUs.

17. The method of claim 14 , wherein:

a set of encoded data slices (EDSs) is distributedly stored within the plurality of SUs;

a data object is segmented into a plurality of data segments;

a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of EDSs; and wherein at least one of:

a decode threshold number of EDSs are needed to recover the data segment;

a read threshold number of EDSs provides for reconstruction of the data segment; or

a write threshold number of EDSs provides for a successful transfer of the set of EDSs from a first at least one location in the DSN to a second at least one location in the DSN.

18. The method of claim 14 further comprising:

obtaining the SU address range assignments of the subset of the at least some of the plurality of SUs based on at least one of a lookup from a database that stores commissioning information regarding the SU address range assignments of the subset of the at least some of the plurality of SUs, receipt of the SU address range assignments of the subset of the at least some of the plurality of SUs from another computing device or a SU of the plurality of SUs, and a query operation with the SU within the plurality of SUs.

19. The method of claim 14 further comprising:

facilitating the assignment of the SU address range for the commissioned SU that was previously non-commissioned within the plurality of SUs based on the SU address range assignments of the subset of the at least some of the plurality of SUs includes at least one of selection of an available address range with regards to the subset of the at least some of the plurality of SUs, issuance of a range assignment request that includes a selected address range for the assignment of the SU address range to another computing device or a SU of the plurality of SUs, receipt of a favorable address range assignment response from the another computing device or the SU of the plurality of SUs, storing the selected address range, or sending the selected address range to the subset of the at least some of the plurality of SUs.

20. The method of claim 14 , wherein at least one of:

the computing device includes a SU of the plurality of SUs within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device; or

the DSN includes at least one of a wireless communication system, a wire lined communication system, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).

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 →
CORRECTIVE ASSIGNMENT TO ADD ASSIGNOR GREG R. DHUSE DATA PREVIOUSLY RECORDED AT REEL: 040875 FRAME: 0825. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 3, 2017
From: DHUSE, GREG R.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041622/0607 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2017
From: RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040875/0825 →
Continuity (3)
Continuation In Part 13866457 · Apr 19, 2013
Provisional Application 61655753 · Jun 5, 2012
Related Publication 20170115910A1 · Apr 27, 2017