SERVER LOAD BALANCING AND DRAINING IN ENHANCED COMMUNICATION SYSTEMS
First Claim
1. A method to be executed at least in part in a computing device for providing resilient load balancing in an enhanced communication system, the method comprising:
- receiving a request from a client at a load balancer;
generating a sequence of servers to receive the request based on an identifier of a user submitting the request;
attempting to route the request to a first server of the sequence; and
if the attempt fails, attempting to route the request to a subsequent server of the sequence.
2 Assignments
0 Petitions
Accused Products
Abstract
Resilient load balancing servers in an enhanced communication system is provided mitigating server failures or scheduled shutdowns. A repeatable but virtually random sequence of servers is generated for a given pool of homogeneous servers based on a user identifier in a request message. If a request cannot be routed to a first choice server, for any reason, then subsequent servers in the sequence are selected. A communication protocol within the system is adapted to permit an individual server to indicate that it cannot accept new requests. Following the indication from the server, traffic associated with existing dialogs is allowed to continue to be processed by the server, but new dialogs are directed to other servers.
171 Citations
20 Claims
-
1. A method to be executed at least in part in a computing device for providing resilient load balancing in an enhanced communication system, the method comprising:
-
receiving a request from a client at a load balancer; generating a sequence of servers to receive the request based on an identifier of a user submitting the request; attempting to route the request to a first server of the sequence; and if the attempt fails, attempting to route the request to a subsequent server of the sequence. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An enhanced communication system providing multi-modal communication services with resilient load balancing, the system comprising:
-
a plurality of function-specific servers communicating via Session Initiation Protocol (SIP); one of the plurality of servers configured to execute a load balancing application, wherein the load balancing application is adapted to; receive a request from a client; generate a sequence of servers to receive the request based on an identifier of a user submitting the request; attempt to route the request to a first server of the sequence; if the attempt fails, attempt to route the request to a subsequent server of the sequence; receive a draining mode indication from another one of the plurality of servers, the draining mode specifying the server is in preparation for being taken offline for one of;
a scheduled maintenance and a scheduled update; andsubmit a subsequent request to a subsequent server of the sequence, wherein previously submitted requests at the server indicating draining mode are continued to be processed at that server. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A computer-readable storage medium with instructions stored thereon for providing resilient load balancing in an enhanced communication system, the instructions comprising:
-
receiving a request from a client, wherein the request includes a Domain Name Server Address (DNSA) query for a cluster Fully Qualified Domain Name (FQDN); in response to the request, generating a sequence of Internet Protocol (IP) addresses of servers to receive the request based on an identifier of a user submitting the request; attempting to route the request to a first server of the sequence; if the attempt fails, attempting to route the request to a subsequent server of the sequence; receiving a draining mode indication from another one of the plurality of servers, the draining mode specifying the server is in preparation for being taken offline for one of;
a scheduled maintenance and a scheduled update; andsubmitting a subsequent request to a subsequent server of the sequence, wherein previously submitted requests at the server indicating draining mode are continued to be processed at that server. - View Dependent Claims (18, 19, 20)
-
Specification