LOAD BALANCING AMONG VOIP SERVER GROUPS
First Claim
1. A computerized method for load balancing among servers in a network, the method comprising:
- storing, by a Domain Name Server (DNS) server, an identity table in a database, wherein the identity table comprises an identity entry for each of a plurality of servers in communication with the DNS server, each identity entry comprising a fully qualified domain name (FQDN) and load balancing information for the associated server;
storing, by the DNS server, a persistence table in the database for storing one or more persistence entries, each persistence entry indicative of a persistent connection between a server, from the plurality of servers, and a client;
receiving, by the DNS server, updated load balancing information from a first server of the plurality of servers, wherein the updated load balancing information is determined by the first server;
updating, by the DNS server, the identity table based on the updated load balancing information, wherein the load balancing information for the identity entry associated with the first server is updated to include the updated load balancing information;
receiving, by the DNS server, a service request from a client;
determining, by the DNS server, whether the client is associated with a persistence entry in the persistence table; and
if the client is not associated with a persistence entry;
selecting, by the DNS server, a second server from the plurality of servers based on load balancing information for each identity entry in the identity table;
storing, by the DNS server, a persistence entry indicative of a persistent connection between the client and the selected second server, the persistence entry comprising a FQDN from the identity entry associated with the selected second server and an identifier for the client; and
transmitting, by the DNS server, the FQDN to the client.
1 Assignment
0 Petitions
Accused Products
Abstract
Described are computer-based methods and apparatuses, including computer program products, for load balancing among VOIP servers. An identity table includes an identity entry for a plurality of servers, each identity entry comprising a FQDN and load balancing information. A persistence table stores persistence entries indicative of a persistent connection between a client and a server. Updated load balancing information determined by the first server is received. The identity table is updated based on the updated load balancing information. A service request is received from a client. If the client is not associated with a persistence entry, a second server is selected from the plurality of servers based on load balancing information for each identity entry in the identity table. A persistence entry is stored indicative of a persistent connection between the client and the selected second server, the persistence entry comprising a FQDN and an identifier for the client.
66 Citations
17 Claims
-
1. A computerized method for load balancing among servers in a network, the method comprising:
-
storing, by a Domain Name Server (DNS) server, an identity table in a database, wherein the identity table comprises an identity entry for each of a plurality of servers in communication with the DNS server, each identity entry comprising a fully qualified domain name (FQDN) and load balancing information for the associated server; storing, by the DNS server, a persistence table in the database for storing one or more persistence entries, each persistence entry indicative of a persistent connection between a server, from the plurality of servers, and a client; receiving, by the DNS server, updated load balancing information from a first server of the plurality of servers, wherein the updated load balancing information is determined by the first server; updating, by the DNS server, the identity table based on the updated load balancing information, wherein the load balancing information for the identity entry associated with the first server is updated to include the updated load balancing information; receiving, by the DNS server, a service request from a client; determining, by the DNS server, whether the client is associated with a persistence entry in the persistence table; and if the client is not associated with a persistence entry; selecting, by the DNS server, a second server from the plurality of servers based on load balancing information for each identity entry in the identity table; storing, by the DNS server, a persistence entry indicative of a persistent connection between the client and the selected second server, the persistence entry comprising a FQDN from the identity entry associated with the selected second server and an identifier for the client; and transmitting, by the DNS server, the FQDN to the client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. An apparatus for load balancing among servers in a network, the apparatus comprising:
-
a database; a DNS server in communication with the database, the DNS server being configured to; store an identity table in a database, wherein the identity table comprises an identity entry for each of a plurality of servers in communication with the DNS server, each identity entry comprising a fully qualified domain name (FQDN) and load balancing information for the associated server; store a persistence table in the database for storing one or more persistence entries, each persistence entry indicative of a persistent connection between a server, from the plurality of servers, and a client; receive updated load balancing information from a first server of the plurality of servers, wherein the updated load balancing information is determined by the first server; update the identity table based on the updated load balancing information, wherein the load balancing information for the identity entry associated with the first server is updated to include the updated load balancing information; receive a service request from a client; determine whether the client is associated with a persistence entry in the persistence table; and if the client is not associated with a persistence entry; select a second server from the plurality of servers based on load balancing information for each identity entry in the identity table; store a persistence entry indicative of a persistent connection between the client and the selected second server, the persistence entry comprising a FQDN from the identity entry associated with the selected second server and an identifier for the client; and transmit the FQDN to the client.
-
-
17. A computer program product, tangibly embodied in a machine-readable storage device, the computer program product including instructions being operable to cause a data processing apparatus to:
-
store an identity table in a database, wherein the identity table comprises an identity entry for each of a plurality of servers in communication with the DNS server, each identity entry comprising a fully qualified domain name (FQDN) and load balancing information for the associated server; store a persistence table in the database for storing one or more persistence entries, each persistence entry indicative of a persistent connection between a server, from the plurality of servers, and a client; receive updated load balancing information from a first server of the plurality of servers, wherein the updated load balancing information is determined by the first server; update the identity table based on the updated load balancing information, wherein the load balancing information for the identity entry associated with the first server is updated to include the updated load balancing information; receive a service request from a client; determine whether the client is associated with a persistence entry in the persistence table; and if the client is not associated with a persistence entry; select a second server from the plurality of servers based on load balancing information for each identity entry in the identity table; store a persistence entry indicative of a persistent connection between the client and the selected second server, the persistence entry comprising a FQDN from the identity entry associated with the selected second server and an identifier for the client; and transmit the FQDN to the client.
-
Specification