Method and apparatus for facilitating load balancing across name servers
First Claim
1. An apparatus that translates host names into Internet Protocol (IP) addresses, comprising:
- a plurality of name servers, wherein each name server is configured to translate a host name into a corresponding IP address; and
a plurality of load balancers coupled to the plurality of name servers, wherein each load balancer is configured to, receive requests for host name translations at a load balancer, and to distribute the requests between the plurality of name servers so as to balance load across the plurality of name servers;
wherein load balancers in the plurality of load balancers are organized into a ring;
wherein each load balancer is configured to take over load balancing operations for a neighboring load balancer in the ring, if the neighboring load balancer fails; and
wherein the plurality of load balancers are configured to operate in parallel in distributing requests between the plurality of name servers.
19 Assignments
0 Petitions
Accused Products
Abstract
One embodiment of the present invention provides a system that translates host names into Internet Protocol (IP) addresses. This system includes a plurality of name servers that are configured to translate host names into corresponding IP addresses. This system also includes a plurality of load balancers coupled to the plurality of name servers. Each of these load balancers is configured to receive requests for host name translations, and to distribute these requests between the plurality of name servers in order to balance load across the plurality of name servers. Note that these load balancers are configured to operate in parallel in distributing requests between the plurality of name servers. A variation on the above embodiment provides a system that performs failovers between a plurality of load balancers that are configured to balance requests for host name to IP address translations between a plurality of name servers. The system operates by sending a keep alive packet from a load balancer to a first neighboring load balancer, and then waiting for a response to the keep alive packet in order to determine if the first neighboring load balancer remains alive. If the first neighboring load balancer does not remain alive, the load balancer takes over servicing of translation requests directed to the first neighboring load balancer.
-
Citations
20 Claims
-
1. An apparatus that translates host names into Internet Protocol (IP) addresses, comprising:
-
a plurality of name servers, wherein each name server is configured to translate a host name into a corresponding IP address; and
a plurality of load balancers coupled to the plurality of name servers, wherein each load balancer is configured to, receive requests for host name translations at a load balancer, and to distribute the requests between the plurality of name servers so as to balance load across the plurality of name servers;
wherein load balancers in the plurality of load balancers are organized into a ring;
wherein each load balancer is configured to take over load balancing operations for a neighboring load balancer in the ring, if the neighboring load balancer fails; and
wherein the plurality of load balancers are configured to operate in parallel in distributing requests between the plurality of name servers. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for translating a host name into an Internet Protocol (IP) address, comprising:
-
receiving a translation request at a load balancer within a plurality of load balancers to translate the host name into the IP address;
wherein the plurality of load balancers are organized into a ring; and
wherein each load balancer is configured to take over load balancing operations for a neighboring load balancer in the ring, if the neighboring load balancer fails;
selecting a name server from a plurality of name servers to process the translation request based upon a measured load of the plurality of name servers, so that overloaded name servers will not be selected; and
forwarding the translation request to the selected name server so that the selected name server can translate the host name into the IP address. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method for performing failovers between a plurality of load balancers that are configured to balance requests for host name to IP address translations between a plurality of name servers that are coupled to the plurality of load balancers, comprising:
-
sending a keep alive packet to a first neighboring load balancer in the plurality of load balancers;
wherein the plurality of load balancers are organized into a ring; and
wherein each load balancer in the plurality of load balancers is configured to take over load balancing operations for a neighboring load balancer in the ring, if the neighboring load balancer fails;
waiting for a response to the keep alive packet in order to determine if the first neighboring load balancer remains alive;
if the first neighboring load balancer does not remain alive, taking over servicing of translation requests directed to the first neighboring load balancer. - View Dependent Claims (14, 15, 16, 17)
-
-
18. An apparatus that translates host names into Internet Protocol (IP) addresses, comprising:
-
a plurality of name servers, wherein each name server is configured to translate a host name into a corresponding IP address; and
a plurality of load balancers coupled to the plurality of name servers, wherein each load balancer is configured to, receive requests for host name translations at a load balancer, and to distribute the requests between the plurality of name servers so as to balance load across the plurality of name servers;
wherein the plurality of load balancers are configured to operate in parallel in distributing requests between the plurality of name servers;
wherein the plurality of load balancers are organized into a ring;
wherein each of the plurality of load balancers is configured to take over load balancing operations for one or more failed load balancers in the plurality of load balancers; and
wherein each of the plurality of load balancers is configured to distribute translation requests between the plurality of name servers based upon measured response times of the plurality of name servers.
-
-
19. A method for translating a host name into an Internet Protocol (IP) address, comprising:
-
receiving a translation request at one of a plurality of load balancers to translate the host name into the IP address;
selecting a name server from a plurality of name servers to process the translation request based upon a measured load of the plurality of name servers, so that overloaded name servers will not be selected;
forwarding the translation request to the selected name server from the load balancer so that the selected name server can translate the host name into the IP address; and
taking over load balancing operations, if necessary, for one or more failed load balancers in the plurality of load balancers;
wherein the plurality of load balancers are organized into a ring;
wherein each load balancer is configured to distribute the translation requests between the plurality of name servers so as to balance load across the plurality of name servers.
-
-
20. A method for performing failovers between a plurality of load balancers that are configured to balance requests for host name to IP address translations between a plurality of name servers that are coupled to the plurality of load balancers, comprising:
-
distributing translation requests between the plurality of name servers based upon measured response times of the plurality of name servers;
sending a keep alive packet to a first neighboring load balancer in the plurality of load balancers;
wherein the plurality of load balancers are organized into a ring; and
wherein each load balancer in the plurality of load balancers is configured to take over load balancing operations for a neighboring load balancer in the ring, if the neighboring load balancer fails;
waiting for a response to the keep alive packet in order to determine if first neighboring load balancer remains alive;
if the first neighboring load balancer does not remain alive, taking over servicing of translation requests directed to the first neighboring load balancer;
receiving a second keep alive packet from a second neighboring load balancer in the plurality of load balancers; and
sending a response to the second keep alive packet to the second neighboring load balancer.
-
Specification