IP Library Granted Patent US 12670120
Granted Patent B2
US 12670120 · App. 18/335,987 · Granted Jun 30, 2026

Federated discovery controller

Inventors: Erik Smith (Douglas, MA); Pawan Kumar Singal (Milpitas, CA); Joseph LaSalle White (San Jose, CA); Balaji Rajagopalan (Sunnyvale, CA)
Assignee: DELL PRODUCTS L.P.
G06F15/17331G06F9/542
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 12670120
App. No.
18/335,987
Granted
Jun 30, 2026
Kind
B2
Abstract

Embodiments presented herein address issues related to discovery controller collaboration in multi-cloud operating environments, in which a resource storage system and a destination storage system may not be managed by the same team or process. Therefore, providing a single Centralized Discovery Controller (CDC) that can be directly utilized by both the source and destination may not be possible. To address the multi-datacenter configuration concerns, embodiments of a Federated Discovery Controller (FDC) are disclosed. In one or more embodiments, an FDC comprises a primary CDC (PCDC) and one or more non-primary Discovery Controllers (NDCs). After initial configuration and connection establishment, a bi-directional connection between the PCDC and each NDC may be established for desired namespace discovery and storage capacity utilization across different Discovery Controllers.

Claims (67)

1 . A computer-implemented method comprising:

given a multi-cloud environment comprising:

a primary centralized discovery controller (PCDC) instance at a first cloud location, in which the PCDC instance comprises a PCDC with a PCDC IP address; and

one or more non-primary discovery controller (NDC) instances, in which each NDC instance is at a cloud location that is other than the first cloud location and locations of the other NDC instances and comprises an NDC with an NDC IP address and an entry of the PCDC IP address used for connection to the PCDC:

establishing a bi-directional connection between the PCDC and each NDC of the one or more NDC instances using steps, for each NDC, comprising:

establishing, at the NDC, an NDC-to-PCDC transport connection using the PCDC IP address;

sending, from the NDC, a Non-Volatile Memory Express (NVMe) connect command to the PCDC to establish an NDC-to-PCDC persistent connection, the NVMe connect command comprising a source IP address;

establishing with at the PCDC a PCDC-to-NDC transport connection, in which PCDC-to-NDC transport connection is established using the source IP address; and

receiving, from the PCDC, an NVMe connect command at the NDC to establish a PCDC-to-NDC persistent connection.

2 . The computer-implemented method of claim 1 further comprising:

configuring, for each NDC, a scope of sharing regarding end-devices connected to the NDC, the scope of sharing comprising: none, all, or selected;

wherein:

the scope of none indicates that no name server entries are shared from the NDC to the PCDC,

the scope of all indicates that all name server entries are shared from the NDC to the PCDC, and

the scope of selected indicates that only name server entries that have been specifically selected for sharing are shared from the NDC to the PCDC.

3 . The computer-implemented method of claim 1 wherein the first cloud location for PCDC deployment is a customer's data center.

4 . The computer-implemented method of claim 1 wherein establishing a bi-directional connection between the PCDC and each NDC comprises:

sending, from the NDC to the PCDC, at least one asynchronous event request (AER) that may be used by the PCDC to notify the NDC if a change associated with the NDC has occurred; and

receiving, from the PCDC, at least one AER that may be used by the NDC to notify the PCDC if a change has occurred.

5 . The computer-implemented method of claim 1 further comprising:

synchronizing name server databases between the PCDC and the NDC after the bi-directional connection is established.

6 . The computer-implemented method of claim 5 wherein synchronizing name server databases is controlled by a name server synchronization policy and is accomplished using one or more of the following mechanisms:

sending, from the NDC to the PCDC, host and subsystem entries being shared with the PCDC;

using, by the NDC, an asynchronous event notification (AEN) to notify the PCDC that an update to a discovery log page has been made to trigger the PCDC to retrieve name server entries being shared with the PCDC;

using, by the NDC, a north bound interface (NBI) of the PCDC instance to access an application program interface (API) of the PCDC to make a change or changes to the name server of the PCDC via the API; or

using, by the NDC via an NBI of the PCDC instance, a remote procedure call that makes one or more changes to the name server of the PCDC.

7 . The computer-implemented method of claim 1 further comprising:

connecting an NDC deployed in a source location to another NDC in a destination location via the PCDC for desired data movement.

8 . The computer-implemented method of claim 7 wherein the NDC deployed in the source location functions as a host and the NDC deployed in the destination location functions as a subsystem.

9 . The computer-implemented method of claim 1 wherein the one or more NDCs are centralized discovery controllers (CDCs).

10 . A computer-implemented method comprising:

given a multi-cloud operating environment with a primary centralized discovery controller (PCDC) at a first location, a first non-primary discovery controller (NDC) at a second location, and a second NDC at a third location, performing steps comprising:

receiving, at the PCDC from the first NDC, connectivity information for a first subsystem that is connected and registered to the first NDC;

receiving, at the PCDC from the second NDC, connectivity information for a first host that is connected and registered to the second NDC;

zoning, at the PCDC, the first host and the first subsystem together;

sending, from the PCDC to the first NDC, zoning information and connectivity information about the first host causing the first NDC to send a first Asynchronous Event Notification (AEN) to the first subsystem and to receive a first get log page command from the first subsystem; and

sending, from the PCDC to the second NDC, zoning information and connectivity information about the first subsystem causing the second NDC to send a second AEN to the first host and to receive a second get log page command from the first host.

11 . The computer-implemented method of claim 10 further comprising:

receiving, at the first subsystem from the first NDC, a first response regarding the first get log page command;

receiving, at the first host from the second NDC, a second response regarding the second get log page command;

determining, at the first host, that the first subsystem is available for communication; and

connecting to the first subsystem to perform namespace discovery and utilize storage capacity.

12 . The computer-implemented method of claim 10 wherein the PCDC has bi-directional connections to the first NDC and the second NDC.

13 . The computer-implemented method of claim 11 wherein the first response is a first log page, and the second response is a second log page.

14 . The computer-implemented method of claim 10 wherein zoning, at the PCDC, the first host and the first subsystem together comprises:

creating, by the PCDC, a first zone containing the first host and the first subsystem;

creating, by the PCDC, a first zone group containing the first zone; and

activating the first zone group.

15 . An information handling system comprising:

one or more processors; and

a non-transitory computer-readable medium or media comprising one or more sets of instructions which, when executed by at least one of the one or more processors, cause steps to be performed comprising:

receiving, at a primary centralized discovery controller (PCDC) deployed at a first location, connectivity information for a first subsystem that is connected and registered to a first non-primary discovery controller (NDC) that is deployed at a second location;

receiving, at the PCDC, connectivity information for a first host that is connected and registered to a second NDC that is deployed at a third location;

zoning, at the PCDC, the first host and the first subsystem together;

sending, from the PCDC to the first NDC, zoning information and connectivity information about the first host; and

sending, from the PCDC to the second NDC, zoning information and connectivity information about the first subsystem.

16 . The information handling system of claim 15 wherein zoning, at the PCDC, the first host and the first subsystem together comprises:

creating, by the PCDC, a first zone containing the first host and the first subsystem;

creating, by the PCDC, a first zone group containing the first zone; and

activating the first zone group.

17 . The information handling system of claim 15 wherein the first location is a customer data center.

18 . The information handling system of claim 15 wherein the PCDC has a bi-directional connection to each of the first NDC and the second NDC.

19 . The information handling system of claim 18 wherein:

for communication that is initiated by the PCDC, a connection where the PCDC acts as a host and the first or second NDC acts as a controller is used; and

for communication that is initiated by the first or second NDC, a connection where the first or second NDC acts as a host and the PCDC acts as a controller is used.

20 . The information handling system of claim 19 wherein the non-transitory computer-readable medium or media further comprises one or more sequences of instructions which, when executed by at least one of the one or more processors, cause steps to be performed comprising:

receiving, at the PCDC from the first and second NDCs, host and subsystem entries being shared with the PCDC for synchronizing name server databases between the PCDC and the first or second NDC.