IP Library Granted Patent US 11,909,612
Granted Patent B2
US 11,909,612 · App. 18/102,696 · Granted Feb 20, 2024

Partitioning health monitoring in a global server load balancing system

Inventors: Murali Basavaiah (Los Altos, CA); Anand Parthasarathy (Fremont, CA); Sreeram Iyer (Bengaluru, IN); Sambit Kumar Das (Hayward, CA); Narasimhan Gomatam Mandeyam (San Jose, CA)
Assignee: VMware LLC
H04L43/065H04L43/0805H04L43/10H04L47/783H04L47/828H04L61/4511H04L67/1031H04L67/1036
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,909,612
App. No.
18/102,696
Granted
Feb 20, 2024
Kind
B2
Abstract

Some embodiments provide a novel method of performing health monitoring for resources associated with a global server load balancing (GSLB) system. This system is implemented by several domain name system (DNS) servers that perform DNS services for resources located at several geographically separate sites. The method identifies several different groupings of the resources. It then assigns the health monitoring of the different resource groups to different DNS servers. The method then configures each particular DNS server (1) to send health monitoring messages to the particular group of resources assigned to the particular DNS server, (2) to generate data by analyzing responses to the sent health monitoring messages, and (3) to distribute the generated data to the other DNS servers. The method in some embodiments is performed by a set of one or more controllers.

Claims (26)

1. For a global server load balancing (GSLB) that is performed by a plurality of domain name system (DNS) servers to perform DNS services for a plurality of resources located at a plurality of geographically separate sites, a method for collecting health monitoring, the method comprising:

partitioning the plurality of resources into a plurality of sets of resources;

assigning each particular set of resources to a different particular DNS server; and

configuring each particular DNS server (i) to receive a list of resources that need monitoring, (ii) to perform a look-up operation that computes a value for an identifier of each particular resource on the received list of resources and uses each particular resource's computed value as an index into a look-up table that specifies whether the particular DNS server is assigned the task of monitoring the health of the particular resource, (iii) to send health monitoring messages to each particular resource on the list of resources that is assigned to the particular DNS server based on the look-up operation, (iv) to generate data by analyzing responses to the sent health monitoring messages, and (v) to distribute the generated data to the other DNS servers.

2. The method of claim 1 , wherein the set of resources comprises a plurality of load balancers that forward data messages to backend servers.

3. The method of claim 1 , wherein the set of resources comprises different sets of load balancers that forward data messages to different sets of backend servers located at different geographical sites.

4. The method of claim 3 , wherein each set of load balancers is at the same geographical site as the set of backend servers to which it forwards data messages.

5. The method of claim 1 , wherein the set of resources comprises a plurality of backend servers that process and respond to data message flows.

6. The method of claim 5 , wherein the DNS servers receive DNS requests for at least one application executed by each of the backend servers and in response to the DNS requests, provide network addresses to access the backend servers.

7. The method of claim 6 , wherein the network addresses comprise virtual IP (Internet Protocol) addresses that direct the data message flows to a plurality of load balancers that distribute the load among the backend servers.

8. The method of claim 1 , wherein the health monitoring messages comprise one of ping messages, TCP messages, UDP messages, https messages, and http messages.

9. The method of claim 1 , wherein the data generated by analyzing responses to the health monitoring messages is used to identify a set of resources that have failed.

10. The method of claim 1 , wherein the data generated by analyzing responses to the health monitoring messages is used to identify a set of resources that have operational characteristics that fail to meet desired operational metrics.

11. A non-transitory machine readable medium storing a program for execution by a set of processing units to collect health monitoring data in a global server load balancing (GSLB) system includes a plurality of domain name system (DNS) servers that perform DNS services for a plurality of resources located at a plurality of geographically separate sites, the program comprising sets of instructions for:

partitioning the plurality of resources into a plurality of sets of resources;

generating a look-up table to assign each particular set of resources to a different particular DNS server; and

configuring each particular DNS server (i) to receive a list of resources that need monitoring, (ii) to examine the look-up table to determine whether the particular DNS server is assigned the task of monitoring the health of each particular resource on the list of resources, (iii) to send health monitoring messages to each particular resource on the list of resources that is assigned to the particular DNS server based on the examination of the look-up table, (iv) to generate data by analyzing responses to the sent health monitoring messages, and (v) to distribute the generated data to the other DNS servers.

12. The non-transitory machine readable medium of claim 11 , wherein the set of resources comprises a plurality of load balancers that forward data messages to backend servers.

13. The non-transitory machine readable medium of claim 11 , wherein the set of resources comprises different sets of load balancers that forward data messages to different sets of backend servers located at different geographical sites.

14. The non-transitory machine readable medium of claim 13 , wherein each set of load balancers is at the same geographical site as the set of backend servers to which it forwards data messages.

15. The non-transitory machine readable medium of claim 11 , wherein the set of resources comprises a plurality of backend servers that process and respond to data message flows.

16. The non-transitory machine readable medium of claim 15 , wherein the DNS servers receive DNS requests for at least one application executed by each of the backend servers and in response to the DNS requests, provide network addresses to access the backend servers.

17. The non-transitory machine readable medium of claim 16 , wherein the network addresses comprise virtual IP (Internet Protocol) addresses that direct the data message flows to a plurality of load balancers that distribute the load among the backend servers.

18. The non-transitory machine readable medium of claim 11 , wherein the health monitoring messages comprise one of ping messages, TCP messages, UDP messages, https messages, and http messages.

19. The non-transitory machine readable medium of claim 11 , wherein the data generated by analyzing responses to the health monitoring messages is used to identify a set of resources that have failed.

20. The non-transitory machine readable medium of claim 11 , wherein the data generated by analyzing responses to the health monitoring messages is used to identify a set of resources that have operational characteristics that fail to meet desired operational metrics.

Assignments (1)
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
Continuity (3)
Continuation 16746785 · Jan 17, 2020
Provisional Application 62854792 · May 30, 2019
Related Publication 20230171171A1 · Jun 1, 2023