Systems and Methods for Content-Aware Load Balancing
First Claim
1. A method for satisfying requests in a system comprised of a plurality of servers, comprising the steps of:
- providing at least one load balancer for routing requests to the plurality of servers;
obtaining, at the at least one load balancer, a request from a client;
examining, at the at least one load balancer, the request;
estimating costs of satisfying the request by at least two of the plurality of servers based on estimating at least one of a number and a cost of at least one remote access for satisfying the request; and
routing the request to a server of the plurality of servers with a low estimated cost of satisfying the request.
0 Assignments
0 Petitions
Accused Products
Abstract
Improved load balancing techniques are disclosed. For example, in one illustrative aspect of the invention, a method of satisfying requests in a system comprised of a plurality of servers comprises the following steps. At least one load balancer is provided for routing requests to the plurality of servers. At the at least one load balancer, a request sent from a client is obtained. At the at least one load balancer, the request is examined. Costs of satisfying the request by at least two of the plurality of servers are estimated. The estimation is based on at least one of a number and a cost of at least one remote access for satisfying the request. The request is routed to a server of the plurality of servers with a low estimated cost of satisfying the request.
-
Citations
22 Claims
-
1. A method for satisfying requests in a system comprised of a plurality of servers, comprising the steps of:
-
providing at least one load balancer for routing requests to the plurality of servers; obtaining, at the at least one load balancer, a request from a client; examining, at the at least one load balancer, the request; estimating costs of satisfying the request by at least two of the plurality of servers based on estimating at least one of a number and a cost of at least one remote access for satisfying the request; and routing the request to a server of the plurality of servers with a low estimated cost of satisfying the request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of satisfying requests in a system comprised of a plurality of servers, comprising the steps of:
-
providing at least one load balancer for routing requests to the plurality of servers; obtaining, at the at least one load balancer, a request from a client; examining, at the at least one load balancer, the request; estimating costs of satisfying the request by at least two of the plurality of servers; sending, from the load balancer, information obtained in the estimating step to a server of the plurality of servers along with the request; and using, at the server, the information to satisfy the request.
-
-
11. A system for satisfying requests from at least one client, comprising:
-
a plurality of servers; at least one content-aware load balancer for routing requests to the plurality of servers; and at least one cost analyzer associated with the at least one content-aware load balancer for estimating costs of satisfying requests by different servers based on at least one of numbers and costs of remote accesses for satisfying requests. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. Apparatus for satisfying requests from at least one client in a system comprised of a plurality of servers, the apparatus comprising:
-
a memory; and at least one processor coupled to the memory and operative to;
(i) obtain a request from a client;
(ii) examine content of the request; and
(iii) estimate costs of satisfying the request by at least two of the plurality of servers based on estimating at least one of a number and a cost of at least one remote access for satisfying the request.
-
-
20. A method for satisfying requests from at least one client in a system comprised of a plurality of servers, comprising the steps of:
-
obtaining a request from a client; examining content of the request; and estimating costs of satisfying the request by at least two of the plurality of servers based on estimating at least one of a number and a cost of at least one remote access for satisfying the request.
-
-
21. An article of manufacture for use in satisfying requests from at least one client in a system comprised of a plurality of servers, comprising a machine readable medium containing one or more programs which when executed implement the steps of:
-
obtaining a request from a client; examining content of the request; and estimating costs of satisfying the request by at least two of the plurality of servers based on estimating at least one of a number and a cost of at least one remote access for satisfying the request.
-
-
22. A method for providing a load balancing service, comprising the step of:
a service provider providing a service to a customer which comprises; obtaining a request from a client; examining content of the request; and estimating costs of satisfying the request by at least two of the plurality of servers based on estimating at least one of a number and a cost of at least one remote access for satisfying the request.
Specification