IP Library Granted Patent US 10,193,852
Granted Patent B2
US 10,193,852 · App. 12/506,137 · Granted Jan 29, 2019

Canonical name (CNAME) handling for global server load balancing

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 10,193,852
App. No.
12/506,137
Granted
Jan 29, 2019
Kind
B2
Abstract

Canonical name (CNAME) handling is performed in a system configured for global server load balancing (GSLB), which orders IP addresses into a list based on a set of performance metrics. When the GSLB switch receives a reply from an authoritative DNS server, the GSLB switch scans the reply for CNAME records. If a CNAME record is detected and it points to a host name configured for GSLB, then a GSLB algorithm is applied to the reply. This involves identifying the host name (pointed to by the CNAME record) in the reply and applying the metrics to the list of returned IP addresses corresponding to that host name, to reorder the list to place the “best” IP address at the top. If the CNAME record in the reply points to a host name that is not configured for GSLB, then the GSLB sends the reply unaltered to the inquiring client.

Claims (38)

1. A method of providing load balancing in a network, the method comprising:

receiving, by a processor, a domain name system (DNS) reply to a DNS request to resolve an alias host name that is an alias for a primary domain, wherein the DNS reply includes

a canonical name (CNAME) record identifying the primary domain, and

network addresses that correspond with the primary domain;

detecting, by said processor, the CNAME record identifying the primary domain in said DNS reply;

applying, by said processor a load balancing algorithm configured to be applied to DNS requests for the primary domain to the network addresses received in response to the DNS request to resolve the alias host name; and

sending, by said processor, to a client program that originated the DNS request to resolve the alias host name, a response to the DNS request that includes a list of the network addresses associated with the primary domain that has been ordered according to the load balancing algorithm configured to be applied to DNS requests for the primary domain.

2. The method of claim 1 wherein the list of network addresses provided in the DNS reply includes virtual IP addresses.

3. The method of claim 1 wherein said applying the load balancing algorithm comprises arranging, by said processor, the network addresses in said list based on a set of performance metrics.

4. An article of manufacture, comprising:

a non-transitory storage medium having instructions stored thereon that are executable by a computing device to:

receive, by said computing device, a domain name system (DNS) reply for an alias associated with a canonical name (CNAME) record, wherein the alias is for a primary domain;

detect, by said computing device, the CNAME record in said DNS reply identifying the primary domain; and

apply, by said computing device a load balancing algorithm configured to be applied to DNS requests for the primary domain, to a list of one or more network addresses provided in the DNS reply for the alias.

5. The article of manufacture of claim 4 wherein the non-transitory storage medium further comprises instructions stored thereon that are executable by said computing device to:

send, by said computing device, the list of network addresses, having the load balancing algorithm applied thereto, to a client program.

6. The article of manufacture of claim 4 wherein the instructions to apply the load balancing algorithm to the list of network addresses comprise instructions executable by said computing device to:

arrange, by said computing device, the network addresses as an ordered list based on a set of performance metrics.

7. An apparatus to provide load balancing, the apparatus comprising:

a network device to load balance configurable as a proxy to an authoritative domain name system (DNS) server and including:

a non-transitory storage medium having instructions stored thereon;

a parser to receive a DNS reply and to detect the CNAME record in said DNS reply, wherein said DNS reply was generated by the authoritative DNS server in response to a DNS query to resolve an alias into network addresses, the alias associated with a canonical name (CNAME) record, wherein the alias is for a primary domain; and

a controller coupled to the parser, the controller being operative to apply a load balancing algorithm for the primary domain, to a list of one or more network addresses provided in the DNS reply to the DNS query to resolve the alias into network addresses.

8. The apparatus of claim 7 wherein said network device to load balance further comprises a proxy module to receive the DNS reply, wherein the DNS reply to the DNS query is received from the authoritative DNS server.

9. The apparatus of claim 7 wherein the load balancing algorithm comprises an arrangement of the network addresses provided in the received DNS reply as an ordered list based on a set of performance metrics.

10. The method of claim 1 wherein the DNS reply is received by said processor from an authoritative DNS server in response to a DNS query to resolve a name into a network address.

11. The article of manufacture of claim 4 wherein the DNS reply is received by said computing device from an authoritative DNS server as a reply to a DNS query to resolve a name into a network address.

12. An apparatus to provide load balancing, the apparatus comprising:

a network device to load balance configured to:

receive a domain name system (DNS) reply for an alias associated with a canonical name (CNAME) record, wherein the alias is for a primary domain;

detect the CNAME record in the received DNS reply; and

apply a load balancing algorithm for the primary domain, to a list of one or more network addresses provided in the DNS reply for the alias.

13. The apparatus of claim 12 wherein said network device to load balance comprises a controller to perform said apply.

14. The apparatus of claim 12 wherein the DNS reply is received by said network device to load balance from an authoritative DNS server as a reply to a DNS query to resolve a name into a network address.

15. The apparatus of claim 12 wherein the list of network addresses provided in the DNS reply comprises virtual IP addresses.

16. The apparatus of claim 12 wherein said load balancing algorithm comprises at least one performance metric to be applied by said network device to load balance to at least one network address in said list.

17. The apparatus of claim 12 wherein said network device to load balance is configured as a site switch to balance load amongst host servers.

18. The method of claim 1 wherein the alias and the primary domain comprises a common domain.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
CHANGE OF NAME Recorded Dec 13, 2017
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS LLC
Reel/Frame 044891/0536 →
RELEASE OF SECURITY INTEREST Recorded Jan 22, 2015
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC
Reel/Frame 034804/0793 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2011
From: KOMMULA, SUNANDA LAKSHMI
To: FOUNDRY NETWORKS, INC.
Reel/Frame 026222/0752 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2010
From: FOUNDRY NETWORKS, LLC
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 025056/0830 →
CHANGE OF NAME Recorded Jul 21, 2010
From: FOUNDRY NETWORKS, INC.
To: FOUNDRY NETWORKS, LLC
Reel/Frame 024733/0739 →
SECURITY AGREEMENT Recorded Jan 20, 2010
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION; MCDATA SERVICES CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 023814/0587 →
Cited By (2)
US 12,568,138 US 12,579,229