Dynamic server farms
First Claim
Patent Images
1. A method comprising:
- balancing, among a plurality of servers, a load resulting from processing of traffic associated with an application hosted on the plurality of servers;
monitoring the load on the plurality of servers that results from the processing of the traffic associated with the application hosted on the plurality of servers;
determining that the load on the plurality of servers has caused a number of connections to at least one of the plurality of servers to exceed a predetermined load threshold indicative of a predetermined percentage of a maximum number of connections supported by the at least one of the plurality of servers, wherein the predetermined load threshold is chosen to account for a time needed to add an additional server so that the added server is ready when needed;
automatically provisioning one or more additional servers for use in hosting the application in response to determining that the load on the plurality of servers exceeds the predetermined load threshold;
assigning a cost to each of the plurality of servers and one or more additional servers that varies depending on whether the server is a reserved server or an on-demand server;
balancing the load resulting from the traffic associated with the application between the plurality of servers and the one or more additional servers;
determining that the load on the plurality of servers and the one or more additional servers is below the predetermined load threshold; and
in response to determining that the load is below the predetermined load threshold, automatically disabling at least one of the plurality of servers or one of the one or more additional servers based on the assigned costs such that higher cost servers are disabled first.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are provided for automatically adding/removing servers to/from a server farm in response to monitored load demands. A load among a plurality of servers, resulting from traffic associated with an application hosted on the plurality of servers is balanced. The load on the plurality of servers is monitored and it is determined that the load on the plurality of servers exceeds a predetermined load threshold. In response to such a determination, one or more additional servers are automatically provisioned for use in hosting the application. The load is then balanced between the plurality of servers and the one or more additional servers.
-
Citations
15 Claims
-
1. A method comprising:
balancing, among a plurality of servers, a load resulting from processing of traffic associated with an application hosted on the plurality of servers; monitoring the load on the plurality of servers that results from the processing of the traffic associated with the application hosted on the plurality of servers; determining that the load on the plurality of servers has caused a number of connections to at least one of the plurality of servers to exceed a predetermined load threshold indicative of a predetermined percentage of a maximum number of connections supported by the at least one of the plurality of servers, wherein the predetermined load threshold is chosen to account for a time needed to add an additional server so that the added server is ready when needed; automatically provisioning one or more additional servers for use in hosting the application in response to determining that the load on the plurality of servers exceeds the predetermined load threshold; assigning a cost to each of the plurality of servers and one or more additional servers that varies depending on whether the server is a reserved server or an on-demand server; balancing the load resulting from the traffic associated with the application between the plurality of servers and the one or more additional servers; determining that the load on the plurality of servers and the one or more additional servers is below the predetermined load threshold; and in response to determining that the load is below the predetermined load threshold, automatically disabling at least one of the plurality of servers or one of the one or more additional servers based on the assigned costs such that higher cost servers are disabled first. - View Dependent Claims (2, 3, 4, 5)
-
6. One or more non-transitory computer readable storage media encoded with software comprising computer executable instructions and when the software is executed at a load balancer it is operable to:
-
balance, among a plurality of servers, a load resulting from processing of traffic associated with an application hosted on the plurality of servers; monitor the load on the plurality of servers that results from the processing of the traffic associated with the application hosted on the plurality of servers; determine that the load on the plurality of servers has caused a number of connections to at least one of the plurality of servers to exceed a predetermined load threshold indicative of a predetermined percentage of a maximum number of connections supported by the at least one of the plurality of servers, wherein the predetermined load threshold is chosen to account for a time needed to add an additional server so that the added server is ready when needed; automatically provision one or more additional servers for use in hosting the application in response to a determination that the load exceeds a predetermined load threshold; assign a cost to each of the plurality of servers and one or more additional servers that varies depending on whether the server is a reserved server or an on-demand server; balance the load resulting from the traffic associated with the application between the plurality of servers and the one or more additional servers; determine that the load on the plurality of servers and the one or more additional servers is below the predetermined load threshold; and in response to determining that the load is below the predetermined load threshold, automatically disable at least one of the plurality of servers or one of the one or more additional servers based on the assigned costs such that higher cost servers are disabled first. - View Dependent Claims (7, 8, 9, 10)
-
-
11. An apparatus comprising:
-
a plurality of network interfaces configured to receive and forward data traffic; a memory; and a processor configured to; balance, among a plurality of servers, a load resulting from processing of traffic associated with an application hosted on the plurality of servers, monitor the load on the plurality of servers, determine that the load on the plurality of servers has caused a number of connections to at least one of the plurality of servers to exceed a predetermined load threshold indicative of a predetermined percentage of a maximum number of connections supported by the at least one of the plurality of servers, automatically provision one or more additional servers for use in hosting the application in response to determining that the load on the plurality of servers exceeds a predetermined load threshold, wherein the predetermined load threshold is chosen to account for a time needed to add an additional server so that the added server is ready when needed, assign a cost to each of the plurality of servers and one or more additional servers that varies depending on whether the server is a reserved server or an on-demand server, balance the load resulting from the traffic associated with the application between the plurality of servers and the one or more additional servers, determine that the load on the plurality of servers and the one or more additional servers is below the predetermined load threshold, and in response to determining that the load is below the predetermined load threshold, automatically disable at least one of the plurality of servers or one of the one or more additional servers based on the assigned costs such that higher cost servers are disabled first. - View Dependent Claims (12, 13, 14, 15)
-
Specification