The invention is directed to techniques for selecting a resource from
several resources to process a request from a client. A client sends the
request to a data communications device (e.g., network device or switch),
which measures usage information from usage meters associated with each
resource (e.g., server). The data communications device then makes a
usage estimate for each server of the increase in usage required for that
server to process the request from the client. Then the data
communications device selects one of the servers depending on the usage
estimates required to respond to the client's request. The data
communications device can consider other factors such as the current
level of usage, past usage, and the increased cost of responding to the
request. In addition, the data communications device can consider the
peak usage level of each resource already established in a current
billing period.