IP Library Granted Patent US 11,582,120
Granted Patent B2
US 11,582,120 · App. 16/746,785 · Granted Feb 14, 2023

Partitioning health monitoring in a global server load balancing system

Inventors: Murali Basavaiah (Sunnyvale, CA); Anand Parthasarathy (Fremont, CA); Sreeram Iyer (Cupertino, CA); Sambit Kumar Das (Hayward, CA); Narasimhan Gomatam Mandeyam (San Jose, CA)
Assignee: VMWARE, INC.
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,582,120
App. No.
16/746,785
Granted
Feb 14, 2023
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 (34)

1. For 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 data, the method comprising:

partitioning the plurality of resources that are located at a plurality of different geographic sites into a plurality of sets of resources;

assigning each particular set of resources to a different particular DNS server, said assigning comprising assigning a first subset of resources at a first geographic site and a second subset of resources at a second geographic site to a first DNS server that operates at the first geographic site; and

configuring each particular DNS server (i) to send health monitoring messages to the particular set of resources assigned to the particular DNS server, (ii) to generate data by analyzing responses to the sent health monitoring messages, and (iii) to distribute the generated data to the other DNS servers, said configuring comprising configuring the first DNS server to send health monitoring messages to the first subset of resources in the first geographic site and the second subset of resources in the second geographic site.

2. 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.

3. The method of claim 1 , wherein configuring each particular DNS server comprises configuring each particular DNS server to:

identify statistics from responses that each particular resource sends to the health monitoring messages from the particular DNS server; and

average, for each particular resource, the statistics collected over a duration of time.

4. The method of claim 1 , wherein configuring each particular DNS server comprises configuring each particular DNS server to:

from responses that each particular resource sends to the health monitoring messages from the particular DNS server, generate statistics relating to operational characteristics of the particular DNS server's particular set of resources; and

forward the generated statistics to a set of one or more controllers to distribute to the other DNS servers.

5. The method of claim 1 , wherein configuring each particular DNS server comprises configuring each particular DNS server to:

from responses that each particular resource sends to the health monitoring messages from the particular DNS server, generate statistics relating to operational characteristics of the particular DNS server's particular set of resources; and

forwarding forward the generated statistics to the other DNS servers.

6. The method of claim 1 , wherein the different first and second DNS servers comprises at least two different DNS servers that are part of two different DNS clusters at two different data centers.

7. The method of claim 6 , wherein a first DNS cluster is in a private datacenter, while a second DNS cluster is in a public datacenter.

8. The method of claim 1 , wherein the plurality of resources are different sets of backend servers that execute different distributed applications.

9. The method of claim 1 , wherein the DNS server at the first geographic site is assigned the first and second subsets of resources at the first and second geographic sites respectively as part of a sharding operation that assigns health monitoring checking of the plurality of resources amongst the plurality of DNS servers at the plurality of geographic sites.

10. For 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, said plurality of resources comprising a plurality of different types of resources, a method for collecting health monitoring data, the method comprising:

partitioning the plurality of resources that are located at a plurality of different geographic sites into a plurality of sets of resources based on the resource types such that different sets of resources comprise different types of resources;

generating a plurality of mapping records that assign each particular set of resources that is associated with a particular type of resource to a different particular set of one or more DNS servers, wherein said assigning comprises assigning to a first DNS server at a first geographic site first and second subset of resources that comprise resources of a first type and that are respectively in the first geographic site and a different, second geographic site; and

distributing the plurality of mapping records to each particular DNS server to use (i) to send health monitoring messages to the particular set of resources assigned to the particular DNS server, (ii) to generate data by analyzing responses to the sent health monitoring messages, and (iii) to distribute the generated data to the other DNS servers, wherein the distributed mapping records comprise at least one mapping record to configure the first DNS server to send health monitoring messages to the first subset of resources in the first geographic site and the second subset of resources in the second geographic site.

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

12. The method of claim 10 , wherein the plurality of resources comprises different sets of load balancers that forward data messages to different sets of backend servers located at different geographic sites.

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

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

15. The method of claim 14 , 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.

16. The method of claim 15 , 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.

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

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

19. A non-transitory machine readable medium storing a program for execution by a set of processing units, the program for configuring 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 to collect health monitoring data for global server load balancing (GSLB), said plurality of resources comprising a plurality of different types of resources, the program comprising sets of instructions for:

partitioning the plurality of resources that are located at a plurality of different geographic sites into a plurality of sets of resources based on the resource types such that different sets of resources comprise different types of resources;

generating a plurality of mapping records that assign each particular set of resources that is associated with a particular type of resource to a different particular set of one or more DNS servers, wherein said assigning comprises assigning to a first DNS server at a first geographic site first and second subset of resources that comprise resources of a first type and that are respectively in the first geographic site and a different, second geographic site; and

distributing the plurality of mapping records to each particular DNS server to use (i) to send health monitoring messages to the particular set of resources assigned to the particular DNS server, (ii) to generate data by analyzing responses to the sent health monitoring messages, and (iii) to distribute the generated data to the other DNS servers, wherein the distributed mapping records comprise at least one mapping record to configure the first DNS server to send health monitoring messages to the first subset of resources in the first geographic site and the second subset of resources in the second geographic site.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2020
From: BASAVAIAH, MURALI; PARTHASARATHY, ANAND; IYER, SREERAM; DAS, SAMBIT KUMAR; MANDEYAM, NARASIMHAN GOMATAM
To: VMWARE, INC.
Reel/Frame 054229/0805 →
Continuity (2)
Provisional Application 62854792 · May 30, 2019
Related Publication 20200382584A1 · Dec 3, 2020
Cited By (3)
US 12,200,008 US 12,255,950 US 12,316,601