Virtual clustering and load balancing servers
First Claim
1. A method of processing queries in a network, comprising the steps of:
- defining a plurality of virtual clusters from a plurality of servers;
routing a request to a virtual cluster of the plurality of virtual clusters based on predetermined criteria in order to allocate system resources;
removing at least one of the plurality of servers from the virtual cluster when at least one of the plurality of servers is burdened;
creating a new virtual cluster comprising only the removed at least one of the plurality of servers;
returning the removed at least one of the plurality of servers back to the virtual cluster when the at least one of the plurality of servers is unburdened;
monitoring performance of the plurality of servers; and
sending a report in response to workload at one of the plurality of servers exceeding a pre-determined threshold so that routing of further requests to the one of the plurality of servers is altered; and
removing the one of the plurality of servers from an associated virtual cluster and adding the one of the plurality of servers back into the associated virtual cluster in response to workload falling below the predetermined threshold.
6 Assignments
0 Petitions
Accused Products
Abstract
A method and system is provided intelligent network dispatchers that are capable of routing requests to one or more servers (e.g., LDAP servers) based on the requested application or the identity of the requester. The servers may be grouped into virtual clusters so that a particular cluster may service requests associated with a particular application or based on a type of customer (e.g., preferred or general customer) in order to grade levels of service. Also, a system resource monitor may provide continual monitoring of servers in virtual clusters to determine when one or more servers are overburdened or under burdened based on statistical performance data. As a servers performance changes, the system resource monitor may advise the intelligent network dispatcher causing a change in the rate of requests to the overburdened/under burdened server. The server may be temporarily removed from the virtual cluster until performance levels normalize. Further, servers may be re-assigned to other virtual clusters on demand to provide increased capacity to a virtual cluster.
85 Citations
39 Claims
-
1. A method of processing queries in a network, comprising the steps of:
-
defining a plurality of virtual clusters from a plurality of servers; routing a request to a virtual cluster of the plurality of virtual clusters based on predetermined criteria in order to allocate system resources; removing at least one of the plurality of servers from the virtual cluster when at least one of the plurality of servers is burdened; creating a new virtual cluster comprising only the removed at least one of the plurality of servers; returning the removed at least one of the plurality of servers back to the virtual cluster when the at least one of the plurality of servers is unburdened; monitoring performance of the plurality of servers; and sending a report in response to workload at one of the plurality of servers exceeding a pre-determined threshold so that routing of further requests to the one of the plurality of servers is altered; and removing the one of the plurality of servers from an associated virtual cluster and adding the one of the plurality of servers back into the associated virtual cluster in response to workload falling below the predetermined threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 35, 36, 37, 38, 39)
-
-
16. A method for load balancing servers, comprising the steps of:
-
allocating a plurality of servers among a plurality of virtual clusters; monitoring the plurality of virtual clusters for workload capacity; removing at least one of the plurality of servers from the plurality of virtual clusters when at least one of the plurality of servers is burdened; creating a new virtual cluster comprising only the removed at least one of the plurality of servers; returning the removed at least one of the plurality of servers back to the plurality of virtual clusters when the at least one of the plurality of servers is unburdened; and reassigning at least one server from one of the plurality of virtual clusters to another of the plurality of virtual clusters based on workload capacity of the at least one server in order to reallocate system resources, wherein the monitoring step includes determining when a workload capacity of the one of the plurality of virtual clusters has crossed a threshold based on statistics associated with one of a plurality of virtual cluster'"'"'s performance; and further comprising the step of identifying another of the plurality of virtual cluster having available workload capacity based on statistics associated with the virtual cluster'"'"'s performance and transferring at least one of the plurality of servers to the another of the virtual cluster. - View Dependent Claims (17, 18, 19)
-
-
20. A computer program product comprising a computer usable storage medium having readable program code embodied in the storage medium, the computer program product includes at least one component to:
-
define a plurality of virtual clusters from a plurality of servers; route a request to a virtual cluster of the plurality of virtual clusters based on predetermined criteria to allocate system resources; remove at least one of the plurality of servers from the virtual cluster when at least one of the plurality of servers is burdened; create a new virtual cluster comprising only the removed at least one of the plurality of servers; return the removed at least one of the plurality of servers back to the virtual cluster when the at least one of the plurality of servers is unburdened; monitor performance of the plurality of servers; send a report in response to workload at one of the plurality of servers exceeding a pre-determined threshold so that routing of further requests to the one of the plurality of servers is altered; and remove the one of the pluar1ity of servers from an associated virtual cluster and add the one of the plurality of servers back into the associated virtual cluster in response to workload falling below the predetermined threshold. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
Specification