IP Library › Granted Patent US 12,670,120
Granted Patent B2
US 12,670,120 · 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 12,670,120
App. No.
18/335,987
Filed
Jun 15, 2023
Granted
Jun 30, 2026
Kind
B2
Examiner
DAO, TUAN C.
Art Unit
2198
USPC
719/318
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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2023
From: SMITH, ERIK; SINGAL, PAWAN KUMAR; WHITE, JOSEPH LASALLE; RAJAGOPALAN, BALAJI
To: DELL PRODUCTS L.P.
Reel/Frame 065546/0773 →
Continuity (1)
Related Publication 20240419625A1 · Dec 19, 2024
References Cited (161)
US 6625625B1 · Kihara et al. · 2003 [cited by applicant]
US 7185334B2 · Bourke-Dunphy · 2007 [cited by applicant]
US 7697920B1 · Mcclain · 2010 [cited by applicant]
US 8375014B1 · Brocato · 2013 [cited by applicant]
US 9384093B1 · Aiello · 2016 [cited by applicant]
US 9516108B1 · Sullivan · 2016 [cited by applicant]
US 10225138B2 · Wu · 2019 [cited by applicant]
US 10372926B1 · Leshinsky · 2019 [cited by applicant]
US 10445229B1 · Kuzmin et al. · 2019 [cited by applicant]
US 10771340B2 · Ballapuram · 2020 [cited by applicant]
US 10877669B1 · Sivasubramanian · 2020 [cited by applicant]
US 11237997B2 · Smith et al. · 2022 [cited by applicant]
US 11323355B1 · Gupta · 2022 [cited by applicant]
US 11442652B1 · Dailey · 2022 [cited by applicant]
US 11451470B2 · Power · 2022 [cited by applicant]
US 11487690B2 · Puttagunta et al. · 2022 [cited by applicant]
US 11489723B2 · Smith · 2022 [cited by applicant]
US 11520518B2 · Desanti · 2022 [cited by applicant]
US 11526283B1 · Mallick et al. · 2022 [cited by applicant]
US 11543966B1 · Varghese · 2023 [cited by applicant]
US 11550734B1 · Matosevich · 2023 [cited by applicant]
US 11579808B2 · Satapathy · 2023 [cited by applicant]
US 11588261B2 · Olarig et al. · 2023 [cited by applicant]
US 11614970B2 · Huang · 2023 [cited by applicant]
US 11625273B1 · Elhemali · 2023 [cited by applicant]
US 11640245B2 · Rao et al. · 2023 [cited by applicant]
US 11651066B2 · Levi et al. · 2023 [cited by applicant]
US 11675499B2 · Dhatchinamoorthy · 2023 [cited by applicant]
US 11782611B2 · Shachar et al. · 2023 [cited by applicant]
US 11805171B2 · Smith · 2023 [cited by applicant]
US 11818031B2 · Smith · 2023 [cited by applicant]
US 11822545B2 · Cappiello · 2023 [cited by applicant]
US 11822706B2 · Anchi et al. · 2023 [cited by applicant]
US 11907530B2 · Desanti · 2024 [cited by applicant]
US 11928365B2 · Anchi et al. · 2024 [cited by applicant]
US 11940935B2 · Bar-Ilan et al. · 2024 [cited by applicant]
US 12026402B2 · Paulchamy et al. · 2024 [cited by applicant]
US 12086431B1 · Dreier et al. · 2024 [cited by applicant]
US 12088470B2 · Radi et al. · 2024 [cited by applicant]
US 12105989B2 · Desanti et al. · 2024 [cited by applicant]
US 20010002912A1 · Tony · 2001 [cited by examiner]
US 20020016921A1 · Olsen · 2002 [cited by applicant]
US 20030235206A1 · Heller · 2003 [cited by examiner]
US 20040097217A1 · Mcclain · 2004 [cited by applicant]
US 20050071585A1 · Hayardeny · 2005 [cited by examiner]
US 20050271055A1 · Stupka · 2005 [cited by examiner]
US 20060242320A1 · Nettle et al. · 2006 [cited by applicant]
US 20070299880A1 · Kawabe et al. · 2007 [cited by applicant]
US 20090225351A1 · Lacagnina · 2009 [cited by applicant]
US 20100199330A1 · Schott et al. · 2010 [cited by applicant]
US 20120254554A1 · Nakajima · 2012 [cited by applicant]
US 20130196656A1 · Liu · 2013 [cited by examiner]
US 20130238636A1 · Subramanya · 2013 [cited by examiner]
US 20130247223A1 · Park · 2013 [cited by examiner]
US 20130297835A1 · Cho · 2013 [cited by applicant]
US 20150038076A1 · Naruse · 2015 [cited by applicant]
US 20160241659A1 · Wessendorf · 2016 [cited by applicant]
US 20170048322A1 · Desanti · 2017 [cited by applicant]
US 20170315522A1 · Kwon et al. · 2017 [cited by applicant]
US 20180052704A1 · Ohnishi · 2018 [cited by examiner]
US 20180074717A1 · Olarig · 2018 [cited by applicant]
US 20180074984A1 · Olarig · 2018 [cited by applicant]
US 20180084051A1 · Trachy · 2018 [cited by examiner]
US 20180270119A1 · Ballapuram · 2018 [cited by applicant]
US 20190020603A1 · Subramani · 2019 [cited by applicant]
US 20190037033A1 · Khakimov et al. · 2019 [cited by applicant]
US 20190042144A1 · Peterson · 2019 [cited by applicant]
US 20190047841A1 · Chang · 2019 [cited by applicant]
US 20190245924A1 · Li · 2019 [cited by applicant]
US 20190318734A1 · Nair · 2019 [cited by applicant]
US 20190332766A1 · Guri · 2019 [cited by applicant]
US 20190334949A1 · Guri · 2019 [cited by applicant]
US 20200065269A1 · Balasubramani et al. · 2020 [cited by applicant]
US 20200081640A1 · Enz et al. · 2020 [cited by applicant]
US 20200136996A1 · Li · 2020 [cited by applicant]
US 20200159421A1 · Karumbunathan · 2020 [cited by examiner]
US 20200310657A1 · Cayton et al. · 2020 [cited by applicant]
US 20200319812A1 · He et al. · 2020 [cited by applicant]
US 20200329074A1 · Everhart · 2020 [cited by examiner]
US 20200349094A1 · Smith et al. · 2020 [cited by applicant]
US 20200409583A1 · Kusters · 2020 [cited by examiner]
US 20200409893A1 · Puttagunta · 2020 [cited by applicant]
US 20210019272A1 · Olarig et al. · 2021 [cited by applicant]
US 20210028987A1 · Krivenok · 2021 [cited by applicant]
US 20210037105A1 · Smith-Denny · 2021 [cited by applicant]
US 20210064281A1 · Satapathy et al. · 2021 [cited by applicant]
US 20210117249A1 · Doshi · 2021 [cited by examiner]
US 20210124695A1 · Jaiswal et al. · 2021 [cited by applicant]
US 20210126861A1 · Rajendiran et al. · 2021 [cited by applicant]
US 20210185039A1 · Huang · 2021 [cited by examiner]
US 20210263686A1 · Satapathy et al. · 2021 [cited by applicant]
US 20210263762A1 · Kachare et al. · 2021 [cited by applicant]
US 20210286540A1 · Tylik · 2021 [cited by applicant]
US 20210286741A1 · Smith et al. · 2021 [cited by applicant]
US 20210286745A1 · Smith · 2021 [cited by applicant]
US 20210288878A1 · Smith · 2021 [cited by applicant]
US 20210289027A1 · Smith · 2021 [cited by applicant]
US 20210289029A1 · Smith · 2021 [cited by applicant]
US 20210311899A1 · Smith · 2021 [cited by applicant]
US 20210391988A1 · Bedau · 2021 [cited by applicant]
US 20210397351A1 · Dhatchinamoorthy et al. · 2021 [cited by applicant]
US 20220014592A1 · Kachare · 2022 [cited by applicant]
US 20220027076A1 · Reichbach · 2022 [cited by applicant]
US 20220030062A1 · Jennings · 2022 [cited by examiner]
US 20220050797A1 · Dreier · 2022 [cited by examiner]
US 20220066670A1 · Naik · 2022 [cited by examiner]
US 20220066799A1 · Pinto · 2022 [cited by applicant]
US 20220075539A1 · Juch · 2022 [cited by examiner]
US 20220174094A1 · Subbiah et al. · 2022 [cited by applicant]
US 20220237274A1 · Paul · 2022 [cited by applicant]
US 20220286377A1 · Smith · 2022 [cited by applicant]
US 20220286508A1 · Smith · 2022 [cited by applicant]
US 20230035799A1 · Desanti · 2023 [cited by applicant]
US 20230283666A1 · Karr · 2023 [cited by examiner]
US 20230305700A1 · Desanti · 2023 [cited by applicant]
US 20230325200A1 · Desanti · 2023 [cited by applicant]
US 20230353462A1 · Cho · 2023 [cited by examiner]
US 20240020055A1 · Desanti · 2024 [cited by applicant]
US 20240020056A1 · Desanti · 2024 [cited by applicant]
US 20240020057A1 · Paulchamy · 2024 [cited by applicant]
US 20250293876A1 · Kar · 2025 [cited by examiner]
Claudio DeSanti, “Subsystem Driven Zoning with Pull Registration Model,” nvm Express, Feb. 1, 2022. (8pgs). [cited by applicant]
Office Action received Nov. 9, 2023, in the related matter, U.S. Appl. No. 17/863,300. (18pgs). [cited by applicant]
Non-Final Office Action (2580), including List of Ref., dated Jul. 25, 2025, in U.S. Appl. No. 17/863,300 (52 pgs). [cited by applicant]
Notice of Allowance & Fee(s) Due mailed Aug. 7, 2025, U.S. Appl. No. 18/786,533. (37 pgs). [cited by applicant]
Office Action received Mar. 14, 2024, in the related matter, U.S. Appl. No. 17/863,263. (25pgs). [cited by applicant]
“NVMe-oF™: Discovery Automation for NVMe® IP-based SANs,” SNIA NSF Networking Storage, Nov. 2021. (49pgs). [cited by applicant]
Office Action received Oct. 26, 2023, in the related matter, U.S. Appl. No. 17/699,005. (10pgs). [cited by applicant]
Notice of Allowance & Fee(s) Due received Apr. 29, 2024, in the related matter, U.S. Appl. No. 17/699,005. (11pgs). [cited by applicant]
Non-Final Office Action (2580), including List of Ref., dated May 22, 2025, in U.S. Appl. No. 17/863,300 (19 pgs). [cited by applicant]
Notice of Allowance (2578), including List of References, dated May 21, 2025, in U.S. Appl. No. 17/863,263 (33 pgs). [cited by applicant]
Response filed Feb. 9, 2024, in the related matter, U.S. Appl. No. 17/863,300. (16pgs). [cited by applicant]
Response filed Jun. 6, 2024, in the related matter, U.S. Appl. No. 17/863,300. (14pgs). [cited by applicant]
Response filed Jun. 7, 2024, in the related matter, U.S. Appl. No. 17/863,263. (16pgs). [cited by applicant]
Notice of Allowance & Fee(s) Due received Jun. 25, 2024, in the related matter, U.S. Appl. No. 17/863,277. (5 pgs). [cited by applicant]
Office Action received Jan. 24, 2024, in the related matter, U.S. Appl. No. 17/863,277. (15pgs). [cited by applicant]
Response filed Nov. 28, 2023, in the related matter, U.S. Appl. No. 17/699,005. (11pgs). [cited by applicant]
Notice of Allowance & Fee(s) Due received Jan. 8, 2024, in the related matter, U.S. Appl. No. 17/699,005. (10pgs). [cited by applicant]
Erik Smith, “NVM Express Technical Proposal for New Feature,” nvm Express, Dell EMC, Jan. 11, 2022. (9 pgs). [cited by applicant]
Erik Smith et al., “NVM Express Technical Proposal (TP) 8010,” nvm Express, Jan. 12, 2022. (82 pgs). [cited by applicant]
Erik Smith et al., “NVM Express Technical Proposal (TP) 8010a,” nvm Express, May 9, 2022. (80 pgs). [cited by applicant]
“FC and FCoE versus iSCSI—“Network-centric” versus “End-Node-centric” provisioning,” [online], [Retrieved Oct. 12, 2020]. Retrieved from Internet (6pgs). [cited by applicant]
“Hard zoning versus soft zoning in a FC/FCoE SAN,” [online], [Retrieved Oct. 12, 2020] Retrieved from Internet (5pgs). [cited by applicant]
“NVM Express Base Specification,” revision 1.4, Jun. 10, 2019, [online], [Retrieved Oct. 12, 2020] Retrieved from Internet (403pgs). [cited by applicant]
“NVM Express Over Fabrics,” revision 1.0, ratified May 31, 2016, [online], [Retrieved Oct. 12, 2020] Retrieved from Internet (49pgs). [cited by applicant]
“NVMe over Fabrics' Discovery problem,” [online], [Retrieved Oct. 12, 2020] Retrieved from Internet (2pgs). [cited by applicant]
INCITS 548-2020, Information Technology—Fibre Channel—Generic Services—8 (FC-GS-8), American National Standard for Information Technology, 2020 (431 pages). [cited by applicant]
Notice of Allowance & Fee(s) Due received Dec. 10, 2024, U.S. Appl. No. 17/863,277. (5 pgs). [cited by applicant]
Notice of Allowance & Fee(s) Due received Dec. 18, 2024, U.S. Appl. No. 17/863,263. (10 pgs). [cited by applicant]
Notice of Allowance and Fee(s) Due, mailed Mar. 4, 2025, U.S. Appl. No. 17/863,300. (5pgs). [cited by applicant]
NVM Express Over Fabrics, revision 1.1, Oct. 22, 2019, [online], [Retrieved Oct. 12, 2020] Retrieved from Internet <URL:http://nvmexpress.org> (83pgs). [cited by applicant]
Office Action mailed Sep. 12, 2024, U.S. Appl. No. 17/863,263. (25pgs). [cited by applicant]
Office Action received Oct. 24, 2024, U.S. Appl. No. 17/863,300. (24pgs). [cited by applicant]
Response filed Jan. 24, 2025, U.S. Appl. No. 17/863,300. (12pgs). [cited by applicant]
Response filed Sep. 3, 2024, U.S. Appl. No. 17/863,300. (12pgs). [cited by applicant]
Response filed Apr. 9, 2024, U.S. Appl. No. 17/863,277. (14pgs). [cited by applicant]
Notice of Allowance & Fee(s) Due received Dec. 28, 2023, in the related matter, U.S. Appl. No. 17/865,244. (30pgs). [cited by applicant]
NVM Express TM over Fabrics , Revision 1.1 a, Jul. 12, 2021, [online], [Retrieved Jan. 12, 2024]. Retrieved from Internet <URL: https://nvmexpress.org/wp-content/uploads/NVMe-over-Fabrics-1.1a-2021.07.12-Ratified.pdf.> … [cited by applicant]
Office Action received Mar. 6, 2024, in the related matter, U.S. Appl. No. 17/863,300. (23pgs). [cited by applicant]
Final Office Action recieved Jul. 3, 2024, in the related matter, U.S. Appl. No. 17/863,300. (19pgs). [cited by applicant]
Notice of Allowance & Fee(s) Due mailed Nov. 11, 2025, U.S. Appl. No. 18/786,533. (17 pgs). [cited by applicant]