Method and apparatus for enhanced client persistence in multi-site gslb deployments
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
exact text as granted — not AI-modified1 - 20 . (canceled)
21 . A method of performing global server load balancing (GSLB), the method comprising:
at a first domain name system (DNS) server:
receiving a DNS request from a client;
determining whether the first DNS server is a home DNS server for the client that should resolve the DNS request for the client;
after determining that the first DNS server is not the home DNS server for the client, forwarding the DNS request to a second DNS server that is a home DNS cluster for the client, in order for the second DNS server to resolve the DNS request and provide to the client an Internet Protocol (IP) address as part of the DNS request resolution.
22 . The method of claim 21 further comprising using an identifier of the client to identify the home DNS server for the client, said determining comprising determining whether the identified home DNS server is the first DNS server.
23 . The method of claim 22 , wherein the DNS request is a first DNS request and the client is a first client and a second DNS server is the identified home DNS server for the first client, the method further comprising:
at the first DNS server:
receiving a second DNS request from a second client;
determining that the first DNS server is the home DNS server for the second client;
resolving the second DNS request to provide to the second client another IP address as part of the DNS request resolution.
24 . The method of claim 22 , wherein using the identifier comprises performing a hash on the identifier of the client to compute a hash value and using the computed hash value as an index to perform a look-up to identify the home DNS server.
25 . The method of claim 23 further comprising creating, in a persistence table of the first DNS cluster, an entry associating the other IP address provided to the second client.
26 . The method of claim 25 further comprising moving the entry to a third DNS server when the third DNS server becomes the home DNS server of the second client.
27 . The method of claim 21 , wherein
the IP address is a virtual IP (VIP) address associated with one of a set of servers that is associated with a domain name that is part of the DNS request; the domain name comprises an identifier for an application executing on each server in the set of servers; and the client, after receiving the VIP address, sends a packet flow to the VIP address for a load balancer to use to select one of the servers to process the packet flow.
28 . The method of claim 25 , wherein the load balancer performs a network address translation (NAT) that replaces the VIP with an IP address of the selected server.
29 . A non-transitory machine readable medium storing a program that when executed by one or more processing units performs global server load balancing (GSLB) at a first DNS server, the program comprising sets of instructions for:
receiving a DNS request from a client; determining whether the first DNS server is a home DNS server for the client that should resolve the DNS request for the client; after determining that the first DNS server is not the home DNS server for the client, forwarding the DNS request to a second DNS server that is a home DNS cluster for the client, in order for the second DNS server to resolve the DNS request and provide to the client an Internet Protocol (IP) address as part of the DNS request resolution.
30 . The non-transitory machine readable medium of claim 29 further comprising using an identifier of the client to identify the home DNS server for the client, said determining comprising determining whether the identified home DNS server is the first DNS server.
31 . The non-transitory machine readable medium of claim 30 , wherein the DNS request is a first DNS request and the client is a first client and a second DNS server is the identified home DNS server for the first client, the program further comprising sets of instructions for:
receiving a second DNS request from a second client; determining that the first DNS server is the home DNS server for the second client; resolving the second DNS request to provide to the second client another IP address as part of the DNS request resolution.
32 . The non-transitory machine readable medium of claim 30 , wherein the set of instructions for using the identifier comprises a set of instructions for performing a hash on the identifier of the client to compute a hash value and using the computed hash value as an index to perform a look-up to identify the home DNS server.
33 . The non-transitory machine readable medium of claim 31 , wherein the program further comprises a set of instructions for creating, in a persistence table of the first DNS cluster, an entry associating the other IP address provided to the second client.
34 . The non-transitory machine readable medium of claim 33 , wherein the program further comprises a set of instructions for moving the entry to a third DNS server when the third DNS server becomes the home DNS server of the second client.
35 . The non-transitory machine readable medium of claim 34 , wherein
the IP address is a virtual IP (VIP) address associated with one of a set of servers that is associated with a domain name that is part of the DNS request; the domain name comprises an identifier for an application executing on each server in the set of servers; and the client, after receiving the VIP address, sends a packet flow to the VIP address for a load balancer to use to select one of the servers to process the packet flow.
36 . The non-transitory machine readable medium of claim 33 , wherein the load balancer performs a network address translation (NAT) that replaces the VIP with an IP address of the selected server.Join the waitlist — get patent alerts
Track US2024015133A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.