IP Library Granted Patent US 11,799,824
Granted Patent B2
US 11,799,824 · App. 17/837,359 · Granted Oct 24, 2023

Method and apparatus for enhanced client persistence in multi-site GSLB deployments

Inventors: Sudarshana Kandachar Sridhara Rao (Bangalore, IN); Rajagopal Sreenivasan (Bangalore, IN); Raghav Kempanna (Bangalore, IN); Sreeram Iyer (Bengaluru, IN)
Assignee: VMWARE, INC.
H04L61/4511H04L61/2514H04L61/5007H04L67/1095H04L61/5038
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,799,824
App. No.
17/837,359
Filed
Jun 10, 2022
Granted
Oct 24, 2023
Kind
B2
Art Unit
2443
USPC
709/245
Abstract

Some embodiments provide a method that, at a first domain name system (DNS) cluster of a set of DNS clusters, receives a DNS request from a client. The first DNS cluster identifies, based on an identifier of the client in the DNS request, a home DNS cluster of the client. The method forwards the DNS request to the home DNS cluster. The home DNS cluster supplies a DNS response to the client. Identifying the home DNS cluster, in some embodiments, includes performing a hash on the identifier of the client. Supplying the DNS response, in some embodiments, includes receiving a virtual IP (VIP) address associated with one of a plurality of sets of application servers to the client and providing the received VIP address to the client in the DNS response.

Claims (48)

1. A method comprising:

at a first domain name system (DNS) cluster of a set of DNS clusters:

receiving, from a client, a DNS request for a domain name;

performing a hashing operation to produce a hash value from an identifier that identifies the client;

using the hash value to identify a home DNS cluster for the client; and

forwarding the DNS request to the home DNS cluster, wherein the home DNS cluster supplies, to the client, a DNS response that includes a virtual Internet Protocol (VIP) address associated with the domain name.

2. The method of claim 1 , wherein

the VIP address is associated with one of a plurality of sets of application servers.

3. The method of claim 2 , wherein the supplied VIP address is a VIP address of a load balancer or a network address translation (NAT) engine that:

assigns, to the client, an IP address of an application server in the set of application servers associated with the VIP address; and

creates a record that associates the IP address with the client.

4. The method of claim 2 further comprising creating, in a persistence table of the home DNS cluster, an entry associating the VIP address with the client.

5. The method of claim 4 , wherein the DNS request is a first DNS request from the client, the domain name is a first domain name, the VIP address is a first VIP address, and the DNS response is a first DNS response, the method further comprising:

at a second DNS cluster of the set of DNS clusters:

receiving, from the client, a second DNS request for a second domain name;

performing the hashing operation to produce the hash value from the identifier that identifies the client;

using the hash value to identify the home DNS cluster for the client; and

forwarding the second DNS request to the home DNS cluster, wherein the home DNS cluster supplies, to the client, a second DNS response that includes a second VIP address.

6. The method of claim 5 , wherein supplying the second DNS response comprises finding, based on the client identifier, the entry in the persistence table of the home DNS cluster.

7. The method of claim 6 , wherein finding the entry in the persistence table comprises applying a counting bloom filter and bloom collision hash to the identifier.

8. The method of claim 4 , wherein the home DNS cluster is a home DNS cluster to a plurality of clients, wherein the persistence table includes a persistence table entry for each client in the plurality of clients, the method further comprising:

assigning a set of backup home DNS clusters to the home DNS cluster;

backing up the persistence table of the home DNS cluster with each DNS cluster in the set of backup home DNS clusters.

9. The method of claim 8 , wherein each DNS cluster in the set of DNS clusters is a home DNS cluster to a plurality of clients, and each DNS cluster maintains a persistence table for that DNS cluster's clients and clients of a set of DNS clusters that that DNS cluster is assigned as a backup home DNS cluster for.

10. The method of claim 2 , wherein the VIP address is received from a load balancer that selects the VIP address from a set of VIP addresses, each VIP address associated with a set of application servers.

11. A non-transitory machine readable medium storing a program that when executed by one or more processing units responds to a domain name system (DNS) request, the program comprising sets of instructions for:

at a first DNS cluster of a set of DNS clusters:

receiving, from a client, a DNS request for a domain name;

performing a hashing operation to produce a hash value from an identifier that identifies the client;

using the hash value to identify a home DNS cluster for the client; and

forwarding the DNS request to the home DNS cluster, wherein the home DNS cluster supplies, to the client, a DNS response that includes a virtual Internet Protocol (VIP) address associated with the domain name.

12. The non-transitory machine readable medium of claim 11 , wherein

the VIP address is associated with one of a plurality of sets of application servers.

13. The non-transitory machine readable medium of claim 12 , wherein the supplied VIP address is a VIP address of a load balancer or a network address translation (NAT) engine that:

assigns, to the client, an IP address of an application server in the set of application servers associated with the VIP address; and

creates a record that associates the IP address with the client.

14. The non-transitory machine readable medium of claim 12 , the program further comprising sets of instructions for creating, in a persistence table of the home DNS cluster, an entry associating the VIP address with the client.

15. The non-transitory machine readable medium of claim 13 , wherein the DNS request is a first DNS request from the client, the domain name is a first domain name, the VIP address is a first VIP address, and the DNS response is a first DNS response, the program further comprising sets of instructions for:

at a second DNS cluster of the set of DNS clusters:

receiving, from the client, a second DNS request for a second domain name;

performing the hashing operation to produce the hash value from the identifier that identifies the client;

using the hash value to identify the home DNS cluster for the client; and

forwarding the second DNS request to the home DNS cluster, wherein the home DNS cluster supplies, to the client, a second DNS response that includes a second VIP address.

16. The non-transitory machine readable medium of claim 14 , wherein supplying the second DNS response comprises finding, based on the client identifier, the entry in the persistence table of the home DNS cluster.

17. The non-transitory machine readable medium of claim 15 , wherein finding the entry in the persistence table comprises applying a counting bloom filter and bloom collision hash to the identifier.

18. The non-transitory machine readable medium of claim 13 , wherein the home DNS cluster is a home DNS cluster to a plurality of clients, wherein the persistence table includes a persistence table entry for each client in the plurality of clients, the program further comprising sets of instructions for:

assigning a set of backup home DNS clusters to the home DNS cluster; and

backing up the persistence table of the home DNS cluster with each DNS cluster in the set of backup home DNS clusters.

Assignments (3)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2023
From: KANDACHAR SRIDHARA RAO, SUDARSHANA; SREENIVASAN, RAJAGOPAL; KEMPANNA, RAGHAV; IYER, SREERAM
To: VMWARE, INC.
Reel/Frame 063248/0969 →