IP Library › Granted Patent US 11,146,490
Granted Patent B2
US 11,146,490 · App. 16/405,561 · Granted Oct 12, 2021

Distributed load balancer health management using data center network manager

Inventors: Manish Chandra Agrawal (San Jose, CA); Samar Sharma (San Jose, CA); Shyam Kapadia (San Jose, CA); Lukas Krattiger (Pleasanton, CA)
Assignee: CISCO TECHNOLOGY, INC.
H04L47/125G06F9/505H04L47/30
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 11,146,490
App. No.
16/405,561
Granted
Oct 12, 2021
Kind
B2
Abstract

The disclosed technology relates to a load balancing system. A load balancing system is configured to receive health monitoring metrics, at a controller, from a plurality of leaf switches. The load balancing system is further configured to determine, based on the health monitoring metrics, that a server has failed and modify a load balancing configuration for the network fabric. The load balancing system is further configured to transmit the load balancing configuration to each leaf switch in the network fabric and update the tables in each leaf switch to reflect an available server.

Claims (44)

1. A method comprising:

requesting, by a controller running a subscription application configured to receive messages from a publication application on a topic, to subscribe to the topic;

receiving, at the controller, messages on the topic including at least health monitoring metrics from a plurality of load balancer leaf switches in a network fabric, each leaf switch of the plurality of load balancer leaf switches running the publication application configured to continuously publish messages on the topic, each leaf switch of the plurality of load balancer leaf switches manage one or more local servers of a plurality of local servers, each leaf switch only probes the one or more local servers it manages, and in response to a probe, each local server of the plurality of local servers only provides the health monitoring metrics to its respective managing leaf switch;

determining, at the controller based on the health monitoring metrics, that a local server of the plurality of local servers in the network fabric has failed; and

modifying, by the controller, a load balancing configuration for the network fabric; and

transmitting, by the controller, the load balancing configuration to the plurality of load balancer leaf switches, wherein

the load balancing configuration includes instructions for each leaf switch of the plurality of load balancer leaf switches to replace reference to the local server of the plurality of local servers in the network fabric that has failed in a Static Random Access Memory (SRAM) that is associated with a Ternary Content Addressable Memory (TCAM),

the TCAM including forwarding table prefixes and the SRAM including corresponding actions to be taken for each of the prefixes.

2. The method of claim 1 , wherein a particular load balancer leaf switch probes only the one or more local servers that the particular load balancer leaf switch is connected to.

3. The method of claim 1 , further comprising: updating, in each load balancer leaf switch, an entry in a Static Random Access Memory (SRAM) table corresponding to a Ternary Content Addressable Memory (TCAM) table of the local server in the network fabric that has failed.

4. The method of claim 3 , wherein updating the Static Random Access Memory (SRAM) table in each load balancer leaf switch results in load balancing of client traffic to an available and active local server of the plurality of local servers.

5. The method of claim 4 , wherein the available and active server can be on standby by user configuration.

6. The method of claim 1 , wherein the health monitoring metrics include health monitoring metrics for services hosted on the local servers.

7. A controller, running a subscription application configured to receive messages from a publication application on a topic, the controller comprising:

one or more processors; and

a computer-readable storage medium having stored therein instructions which, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

requesting to subscribe to the topic;

receiving messages on the topic including at least health monitoring metrics from a plurality of load balancer leaf switches in a network fabric, each leaf switch of the plurality of load balancer leaf switches running the publication application configured to continuously publish messages on the topic, each leaf switch of the plurality of load balancer leaf switches manage one or more local servers of a plurality of local servers, each leaf switch only probes the one or more local servers it manages, and in response to a probe, each local server of the plurality of local servers only provides the health monitoring metrics to its respective managing leaf switch;

determining, based on the health monitoring metrics, that a local server of the plurality of local servers in a fabric have failed;

modifying a load balancing configuration for the network fabric; and

transmitting the load balancing configuration to each leaf switch in the plurality of leaf switches in the network fabric; and

transmitting the load balancing configuration to the plurality of load balancer leaf switches, wherein

the load balancing configuration includes instructions for each leaf switch of the plurality of load balancer leaf switches to replace reference to the local server of the plurality of local servers in the network fabric that has failed in a Static Random Access Memory (SRAM) that is associated with a Ternary Content Addressable Memory (TCAM),

the TCAM including forwarding table prefixes and the SRAM including corresponding actions to be taken for each of the prefixes.

8. The controller of claim 7 , wherein the controller is an application installed on a server that communicates with the leaf switches through a management network.

9. The controller of claim 8 , wherein the management network tracks performance throughout an external network.

10. The controller of claim 7 , wherein the controller is notified by a load balancer leaf switch connected to the local server in the network fabric that has failed.

11. The controller of claim 10 , wherein the controller sends a message to each load balancer leaf switch of the plurality of load balancer leaf switches to modify the SRAM entry of the local server in the network fabric that has failed in the Static Random Access Memory (SRAM) table corresponding to a Ternary Content Addressable Memory (TCAM) table.

12. A non-transitory computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors of a controller running a subscription application configured to receive messages from a publication application on a topic, cause the one or more processors to carry out the steps of:

requesting to subscribe to the topic;

receiving messages on the topic including at least health monitoring metrics from a plurality of load balancer leaf switches in a network fabric, each leaf switch of the plurality of load balancer leaf switches running the publication application configured to continuously publish messages on the topic, each leaf switch of the plurality of load balancer leaf switches manage one or more service nodes of a plurality service nodes, each leaf switch only probes the one or more service nodes it manages, and in response to a probe, each service node of the plurality of service nodes only provides the health monitoring metrics to its respective managing leaf switch;

determining, from the health monitoring metrics, that one or more service nodes in the network fabric have failed;

modifying a load balancing configuration of the one or more service nodes in the network fabric based on the health monitoring metrics;

transmitting the load balancing configuration to each leaf switch in the plurality of load balancer leaf switches in the network fabric; and

updating a Static Random Access Memory (SRAM) table of each leaf switch corresponding to a Ternary Content Addressable Memory (TCAM) table of the one or more service nodes in the network fabric that has failed to replace reference to the one or more service nodes in the network fabric that has failed,

the TCAM including forwarding table prefixes and the SRAM including corresponding actions to be taken for each of the prefixes.

13. The non-transitory computer-readable medium of claim 12 , wherein a particular load balancer leaf switch probes only one or more local service nodes of the plurality of local service nodes that the particular load balancer leaf switch is connected to.

14. The non-transitory computer-readable medium of claim 12 , wherein updating the Ternary Content Addressable Memory (TCAM) and Static Random Access Memory (SRAM) table in each load balancer leaf switch results in load balancing of client traffic to an available and active service nodes of the plurality of service nodes.

15. The method of claim 1 , wherein the controller is an application installed on a server that communicates with the leaf switches through a management network.

16. The method of claim 15 , wherein the management network tracks performance throughout an external network.

17. The non-transitory computer-readable medium of claim 12 , wherein the controller is an application installed on a server that communicates with the leaf switches through a management network.

18. The non-transitory computer-readable medium of claim 17 , wherein the management network tracks performance throughout an external network.

19. The controller of claim 7 , further comprising instructions which when executed by the one or more processors, cause the one or more processors to perform operations comprising: sending instructions to each load balancer leaf switch to update an entry in a Static Random Access Memory (SRAM) table corresponding to a Ternary Content Addressable Memory (TCAM) table of the local server in the network fabric that has failed.

20. The controller of claim 7 , wherein updating the Static Random Access Memory (SRAM) table in each load balancer leaf switch results in load balancing of client traffic to an available and active local server of the plurality of local servers.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2019
From: AGRAWAL, MANISH CHANDRA; SHARMA, SAMAR; KAPADIA, SHYAM; KRATTIGER, LUKAS
To: CISCO TECHNOLOGY, INC.
Reel/Frame 049104/0110 →
Continuity (1)
Related Publication 20200358702A1 · Nov 12, 2020
Cited By (1)
US 12,712,782