IP Library › Granted Patent US 12,335,090
Granted Patent B2
US 12,335,090 · App. 17/869,727 · Granted Jun 17, 2025

Placement of containerized applications in a network for embedded centralized discovery controller (CDC) deployment

Inventors: Balaji Rajagopalan (Sunnyvale, CA); Pawan Kumar Singal (Milpitas, CA); Joseph Lasalle White (San Jose, CA); Charles Park (San Jose, CA); Ning Zhuang (San Jose, CA); Sreejith Sethumadhavan (Fremont, CA); Dhanunjayareddy Madhana (Guntur, IN)
Assignee: DELL PRODUCTS L.P.
H04L41/0806H04L41/044H04L41/0816H04L41/12
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,335,090
App. No.
17/869,727
Granted
Jun 17, 2025
Kind
B2
Abstract

System and method embodiments of centralized discovery controller (CDC) services on a switching network fabric are disclosed. Nodes on the switching network fabric are categorized into leader nodes, e.g., spine switches, and follower nodes, e.g., leaf switches. The CDC services may be divided into centralized CDC services and distributed CDC services, which have direct connections to endpoints for seamless horizontal scaling of endpoints. The centralized CDC services may be placed on a leader node, and the distributed CDC services may be placed among the follower nodes. Operations of the CDC services may be monitored. In case of a node failure, CDC services deployed on the failed node may be moved or transferred to one or more other nodes that have the same role as the failed node. Implementations of the CDC service placement embodiments enable seamless horizontal scaling for endpoints and provide capability for more visibility and monitoring of endpoint.

Claims (54)

1. A computer-implemented method for placement of centralized discovery controller (CDC) services comprising:

given a plurality of endpoints and a network fabric comprising a plurality of nodes comprising at least one leader node and multiple follower nodes in the network fabric:

dividing a plurality of CDC services into one or more centralized services and multiple distributed services, the one or more centralized services configured to have connectivity to the multiple distributed services;

placing the one or more centralized services on a leader node on the at least one leader node; and

placing the multiple distributed services on or distributed across the multiple follower nodes, the multiple distributed services being placed closer to the plurality of endpoints than the one or more centralized services are to the plurality of endpoints.

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

monitoring operations of the one or more centralized services and the multiple distributed services; and

responsive to failure of a node that is placed with at least one CDC service, moving or transferring the at least one CDC service to one or more other nodes that have a same role as the failed node.

3. The computer-implemented method of claim 2 wherein:

responsive to the failed node being the leader node, moving the one or more centralized services to a backup leader node; and

responsive to the failed node being a follower node, moving one or more distributed services placed on the follower node to one or more other follower nodes.

4. The computer-implemented method of claim 3 wherein the backup leader node is chosen automatically based on available resources of the network fabric, and a Domain Name System (DNS) service is updated automatically by a placement service as part of a leader node change so that the DNS service update is available to all CDC other services in the network fabric.

5. The computer-implemented method of claim 1 wherein the at least one leader node and the multiple follower nodes are determined dynamically by a placement service that uses one or more factors comprising role of a node and position of a node in the network fabric.

6. The computer-implemented method of claim 1 wherein determining at least one leader node and multiple follower nodes involves at least one of:

a role for each node in a topology of the network fabric; and

a location for each node in the topology of the network fabric.

7. The computer-implemented method of claim 1 wherein:

responsive to one or more new endpoints to be added for accessing the network fabric,

adding one or more follower nodes to the network fabrics, the one or more added follower nodes having connections to the one or more new endpoints with new distributed services instantiated on the one or more added follower nodes.

8. An information handling system for placement of centralized discovery controller (CDC) services 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, causes steps to be performed comprising:

determining at least one leader node and multiple follower nodes in a network fabric that comprises a plurality of nodes;

dividing a plurality of CDC services into one or more centralized services and multiple distributed services, the one or more centralized services configured to have connectivity to the multiple distributed services;

placing the one or more centralized services on a leader node on the at least one leader node; and

placing the multiple distributed services on or distributed across the multiple follower nodes, the multiple distributed services being placed closer to a plurality of endpoints than the one or more centralized services are to the plurality of endpoints.

9. The information handling system of claim 8 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, causes steps to be performed comprising:

monitoring operations of the one or more centralized services and the multiple distributed services; and

responsive to failure of a node that is placed with at least one CDC service, moving or transferring the at least one CDC service to one or more other nodes that have a same role as the failed node.

10. The information handling system of claim 9 wherein:

responsive to the failed node being the leader node, moving the one or more centralized services to a backup leader node; and

responsive to the failed node being a follower node, moving one or more distributed services placed on the follower node to one or more other follower nodes.

11. The information handling system of claim 10 wherein the backup leader node is chosen automatically based on available resources of the network fabric, and a Domain Name System (DNS) service is updated automatically by a placement as part of a leader node change so that the DNS service update is available to other services in the network fabric.

12. The information handling system of claim 8 wherein the at least one leader node and the multiple follower nodes are determined dynamically by a placement service that uses one or more factors comprising role of a node and position of a node in the network fabric.

13. The information handling system of claim 8 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, causes steps to be performed comprising:

responsive to one or more new endpoints to be added for accessing the network fabrics, adding one or more follower nodes to the network fabric, the one or more added follower nodes having connections to the one or more new endpoints with new distributed services instantiated on the one or more added follower nodes.

14. A non-transitory computer-readable medium or media comprising one or more sequences of instructions which, when executed by at least one processor, causes steps for placement of centralized discovery controller (CDC) services comprising:

given a plurality of endpoints and a network fabric comprising a plurality of nodes comprising at least one leader node and multiple follower nodes in the network fabric:

dividing a plurality of CDC services into one or more centralized services and multiple distributed services, the one or more centralized services configured to have connectivity to the multiple distributed services;

placing the one or more centralized services on a leader node on the at least one leader node; and

placing the multiple distributed services on the multiple follower nodes, the multiple distributed services being placed closer to the plurality of endpoints than the one or more centralized services are to the plurality of endpoints.

15. The non-transitory computer-readable medium or media of claim 14 wherein determining at least one leader node and multiple follower nodes involves at least one of:

a role for each node in a topology of the network fabric; and

a location for each node in the topology of the network fabric.

16. The non-transitory computer-readable medium or media of claim 14 wherein the at least one leader node and the multiple follower nodes are determined dynamically by a placement service that uses one or more factors comprising role of a node and position of a node in the network fabric.

17. The non-transitory computer-readable medium or media of claim 14 further comprising one or more sequences of instructions which, when executed by at least one processor, causes steps to be performed comprising:

monitoring operations of the one or more centralized services and the multiple distributed services; and

responsive to failure of a node that is placed with at least one CDC service, moving or transferring the at least one CDC service to one or more other nodes that have a same role as the failed node.

18. The non-transitory computer-readable medium or media of claim 17 wherein:

responsive to the failed node being the leader node, moving the one or more centralized services to a backup leader node; and

responsive to the failed node being a follower node, moving one or more distributed services placed on the follower node to one or more other follower nodes.

19. The non-transitory computer-readable medium or media of claim 14 further comprising one or more sequences of instructions which, when executed by at least one processor, causes steps to be performed comprising:

responsive to one or more new endpoints to be added for accessing the network fabric, adding one or more follower nodes to the network fabrics, the one or more added follower nodes having connections to the one or more new endpoints with new distributed services instantiated on the one or more added follower nodes.

20. The non-transitory computer-readable medium or media of claim 18 wherein the backup leader node is chosen automatically based on available resources of the network fabric, and a Domain Name System (DNS) service is updated automatically by a placement as part of a leader node change so that the DNS service update is available to other services in the network fabric.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2024
From: RAJAGOPALAN, BALAJI; SINGAL, PAWAN KUMAR; WHITE, JOSEPH LASALLE; PARK, CHARLES; ZHUANG, NING; SETHUMADHAVAN, SREEJITH; MADHANA, DHANUNJAYAREDDY
To: DELL PRODUCTS L.P.
Reel/Frame 066263/0596 →
Continuity (1)
Related Publication 20240031221A1 · Jan 25, 2024
References Cited (63)
US 1469958A · Richter · 1923 [cited by applicant]
US 10606454B2 · Pani · 2020 [cited by applicant]
US 11218378B1 · Chaganti · 2022 [cited by applicant]
US 11442652B1 · Dailey et al. · 2022 [cited by applicant]
US 11469958B1 · Mackie · 2022 [cited by applicant]
US 11489723B2 · Smith et al. · 2022 [cited by applicant]
US 11543966B1 · Varghese et al. · 2023 [cited by applicant]
US 11550734B1 · Matosevich et al. · 2023 [cited by applicant]
US 20090083390A1 · Abu-Ghazaleh · 2009 [cited by examiner]
US 20090144720A1 · Roush · 2009 [cited by applicant]
US 20110167466A1 · Aiouaz · 2011 [cited by applicant]
US 20130067049A1 · Ghosh · 2013 [cited by applicant]
US 20140156667A1 · Kapadia · 2014 [cited by applicant]
US 20140198686A1 · Kamble · 2014 [cited by examiner]
US 20150124644A1 · Pani · 2015 [cited by applicant]
US 20160149776A1 · Pani · 2016 [cited by applicant]
US 20170315522A1 · Kwon · 2017 [cited by applicant]
US 20180011699A1 · Manthiramoorthy · 2018 [cited by applicant]
US 20180074717A1 · Olarig et al. · 2018 [cited by applicant]
US 20180074984A1 · Olarig et al. · 2018 [cited by applicant]
US 20180227182A1 · Patton · 2018 [cited by applicant]
US 20180241617A1 · Radzikowski · 2018 [cited by applicant]
US 20180246731A1 · Regmi · 2018 [cited by applicant]
US 20180270119A1 · Ballapuram · 2018 [cited by applicant]
US 20180375825A1 · Nataraja · 2018 [cited by applicant]
US 20190037033A1 · Khakimov · 2019 [cited by applicant]
US 20190042144A1 · Peterson et al. · 2019 [cited by applicant]
US 20200136996A1 · Li et al. · 2020 [cited by applicant]
US 20200293180A1 · Pani · 2020 [cited by applicant]
US 20200396126A1 · L'Ecuyer · 2020 [cited by examiner]
US 20200409893A1 · Puttagunta et al. · 2020 [cited by applicant]
US 20210042160A1 · Alamouti · 2021 [cited by applicant]
US 20210055947A1 · Mahajan · 2021 [cited by applicant]
US 20210157692A1 · MacCarthaigh · 2021 [cited by examiner]
US 20210286540A1 · Tylik et al. · 2021 [cited by applicant]
US 20210286741A1 · Smith et al. · 2021 [cited by applicant]
US 20210288878A1 · Smith et al. · 2021 [cited by applicant]
US 20210289027A1 · Smith et al. · 2021 [cited by applicant]
US 20210289029A1 · Smith et al. · 2021 [cited by applicant]
US 20210311899A1 · Smith et al. · 2021 [cited by applicant]
US 20210360426A1 · Kumar · 2021 [cited by examiner]
US 20210397351A1 · Dhatchinamoorthy et al. · 2021 [cited by applicant]
US 20220014435A1 · Vadapalli · 2022 [cited by applicant]
US 20220030062A1 · Jennings et al. · 2022 [cited by applicant]
US 20220066799A1 · Pinto et al. · 2022 [cited by applicant]
US 20220286377A1 · Smith et al. · 2022 [cited by applicant]
US 20220286508A1 · Smith et al. · 2022 [cited by applicant]
US 20230035799A1 · Desanti · 2023 [cited by applicant]
US 20230305700A1 · Desanti et al. · 2023 [cited by applicant]
US 20230325200A1 · Desanti et al. · 2023 [cited by applicant]
US 20240022472A1 · Krishnamurthy et al. · 2024 [cited by applicant]
US 20240031446A1 · Rajagopalan et al. · 2024 [cited by applicant]
Non-Final Office Action, mailed Jun. 27, 2023, in related matter U.S. Appl. No. 17/863,798, (18pgs). [cited by applicant]
“Deploying Docker containers to a Cisco Catalyst 9300 with Cisco DNACenter,” [online], [Retrieved Mar. 7, 2024].Retrieved from Internet <URL:https://ccie.tv/> CISCO, 2021. (13p). [cited by applicant]
Resposne filed Sep. 27, 2023, in related matter U.S. Appl. No. 17/863,798, (13 pgs). [cited by applicant]
Response filed Jun. 24, 2024 in realed U.S. Appl. No. 17/863,798, (15pgs). [cited by applicant]
Non-Final Office Action, mailed Mar. 28, 2024, in related matter U.S. Appl. No. 17/863,798, (12pgs). [cited by applicant]
Notice of Allowance and Fee(s) Due, mailed Sep. 25, 2024, in the related matter U.S. Appl. No. 17/863,798, (7pgs). [cited by applicant]
Non-Final Office Action, mailed Sep. 10, 2024, in related matter U.S. Appl. No. 17/870,351, (11pgs). [cited by applicant]
Notice of Allowance and Fee(s) Due, mailed Sep. 25, 2024, in the related Notice ofAllowance and Fee(s) Due, mailed Sep. 25, 2024, in the relatedmatter U.S. Appl. No. 17/863,798, (7pgs). [cited by applicant]
NVM Express TM over Fabrics Revision 1.1,″ [online], [Retrieved May 7, 2021] Retrieved from Internet (83pgs). [cited by applicant]
Response filed, Nov. 11, 2024, in related matter U.S. Appl. No. 17/870,351, (26pgs). [cited by applicant]
Response to Non-Final Office Action, filed Sep. 27, 2023, in related matter U.S. Appl. No. 17/863,798, (13pgs). [cited by applicant]