IP Library Granted Patent US 9,015,323
Granted Patent B2
US 9,015,323 · App. 12/635,371 · Granted Apr 21, 2015

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 9,015,323
App. No.
12/635,371
Granted
Apr 21, 2015
Kind
B2
Abstract

A global server load-balancing (GSLB) switch serves as a proxy to an authoritative DNS and communicates with numerous site switches that are coupled to host servers serving specific applications. The GSLB switch receives from site switches operational information regarding host servers within the site switches neighborhood. When a client program requests a resolution of a host name, the GSLB switch, acting as a proxy of an authoritative DNS, returns one or more ordered IP addresses for the host name. The IP addresses are ordered using metrics that include the information collected from the site switches or based on other metric information. Examples of metrics include weighted site, weighted IP, and active bindings metrics. The GSLB switch places the address that is deemed “best” at the top of the list.

Claims (25)

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

determining, by a first network device to load balance, from at least one report provided to the first network device by at least one second network device, a number of active host servers bound to each of a plurality of virtual addresses, wherein the report comprises information corresponding to a configuration of one or more virtual ports for each of the virtual addresses and a number of active real servers bound to the one or more virtual ports;

receiving, by the first network device, a list of virtual addresses; and

arranging, by the first network device based on the at least one report provided to the first network device by a second network device, the virtual addresses in the list of virtual addresses to identify at least one virtual address, having a highest determined number of active host servers bound to it, from the list as a candidate optimum virtual address to receive traffic,

wherein the first network device is configurable as a proxy to an authoritative domain name system (DNS) server that resolves a name into the addresses in the list.

2. The method of claim 1 , wherein at least one of the virtual addresses in the list is configurable at a second network device.

3. The method of claim 1 , wherein arranging the virtual addresses comprises arranging the virtual addresses according to a load balance algorithm, and wherein the candidate optimum virtual address is determined using a load balance algorithm after evaluation of a session capacity metric that represents a maximum number of sessions able to be served by at least one second network device corresponding to a virtual address in the list.

4. The method of claim 1 , wherein receiving the list of virtual addresses comprises receiving, by the first network device, a DNS reply generated by an authoritative DNS server and having the list of virtual addresses contained therein.

5. The method of claim 1 , wherein receiving comprises receiving, by the first network device, the list of virtual addresses from an authoritative domain name system (DNS) server that resolves a name into the virtual addresses.

6. An apparatus, comprising:

a first network device to load balance, configurable as a proxy to an authoritative domain name system (DNS) server that resolves a name into addresses in a list of virtual addresses, to:

receive the list of virtual addresses; and

arrange the list of addresses and to identify a candidate optimum address as one of the addresses having a largest number of active servers bound to it, as determined by the first network device based on at least one report provided to the first network device by at least one second network device, wherein the reports comprise information corresponding to a configuration of one or more virtual ports for each of the virtual addresses and a number of active real servers bound to the one or more virtual ports.

7. The apparatus of claim 6 , wherein the first network device includes a controller to arrange the list of addresses and identify the candidate optimum address.

8. The apparatus of claim 6 , wherein at least one of the addresses in the list includes a virtual address configurable at a network device.

9. The apparatus of claim 6 , wherein the first network device is configured to arrange the list of addresses according to a load balance algorithm, and select the candidate optimum address using the load balance algorithm after evaluation of a session capacity metric that represents a maximum number of sessions able to be served by at least one of the plurality of second network devices corresponding to an address in the list.

10. The apparatus of claim 6 , wherein the first network device is configured to receive the list of addresses in a DNS reply generated by an authoritative DNS server that resolves a name into the addresses.

11. A network apparatus for performing global server load balancing, comprising:

a first network device to switch; and

a controller configured to:

arrange a list of virtual addresses; and

identify a candidate optimum address as one of the addresses having a largest number of active servers bound to it based on at least one report provided to the network apparatus by at least one second network device, wherein the network apparatus is configurable as a proxy to an authoritative domain name system (DNS) server that resolves a name into the addresses in the list and wherein the reports comprise information corresponding to a configuration of one or more virtual ports for each of the virtual addresses and a number of active real servers bound to the one or more virtual ports.

12. The network apparatus of claim 11 , wherein at least one of the addresses in the list includes a virtual address configurable at a network device.

13. The network apparatus of claim 11 , wherein the controller arranges the list according to a load balance algorithm, and wherein the candidate optimum address is identified through the load balance algorithm after evaluation of a session capacity metric that represents a maximum number of sessions able to be served by at least one second network device corresponding to an address in the list.

14. The network apparatus of claim 10 , wherein the network apparatus receives the list of addresses in a DNS reply generated by the authoritative DNS server.

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 9, 2011
From: KOMMULA, SUNANDA L.
To: FOUNDRY NETWORKS, INC.
Reel/Frame 026247/0338 →
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 →