Method and apparatus for web farm traffic control
First Claim
Patent Images
1. A method for controlling a web farm comprising:
- providing a web farm comprising a plurality of different websites and a plurality of web servers, wherein each website is assigned to a set of one or more of the web servers;
receiving a customer request for accessing a target website of the web farm;
categorizing the received customer request for the target website as either (i) a shareable customer request which can be processed by a server assigned to another website of the web farm or (ii) an unshareable customer request which can not be processed by a server assigned to another website in the web farm;
if the received customer request for the target website is categorized as a sharable customer request, routing the customer request to a server assigned to another website which can process the received customer request;
if the received customer request for the target website is categorized as an unshareable customer request, routing the customer request to a server specifically assigned to the target website for processing, anda Goal procedure, said Goal procedure comprising determining, for each said customer request, an optimal server from among said servers to which each said customer request is to be assigned so as to minimize an average customer response time at any given moment, given said assignment of said websites to said servers and a current customer request load, wherein,said Goal procedure is effected by minimizing an objective function measuring expected response time as a function of customer request arrival rate subject to a plurality of constraints including a maximum load due to a plurality of public requests for the target website on the server and a plurality of private requests for the target website on the server.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed is a method for controlling a web farm having a plurality of websites and servers, the method comprising categorizing customer requests received from said websites into a plurality of categories, said categories comprising a shareable customer requests and unshareable customer requests, routing said shareable customer requests such that any of said servers may process shareable customer requests received from different said websites, and routing said unshareable customer requests from specific said websites only to specific servers to which said specific websites have been assigned.
-
Citations
15 Claims
-
1. A method for controlling a web farm comprising:
-
providing a web farm comprising a plurality of different websites and a plurality of web servers, wherein each website is assigned to a set of one or more of the web servers; receiving a customer request for accessing a target website of the web farm; categorizing the received customer request for the target website as either (i) a shareable customer request which can be processed by a server assigned to another website of the web farm or (ii) an unshareable customer request which can not be processed by a server assigned to another website in the web farm; if the received customer request for the target website is categorized as a sharable customer request, routing the customer request to a server assigned to another website which can process the received customer request; if the received customer request for the target website is categorized as an unshareable customer request, routing the customer request to a server specifically assigned to the target website for processing, and a Goal procedure, said Goal procedure comprising determining, for each said customer request, an optimal server from among said servers to which each said customer request is to be assigned so as to minimize an average customer response time at any given moment, given said assignment of said websites to said servers and a current customer request load, wherein, said Goal procedure is effected by minimizing an objective function measuring expected response time as a function of customer request arrival rate subject to a plurality of constraints including a maximum load due to a plurality of public requests for the target website on the server and a plurality of private requests for the target website on the server. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for controlling a web farm, said method steps comprising:
-
receiving a customer request for accessing a target website of a web farm having a plurality of different websites and a plurality of web servers, wherein each website is assigned to a set of one or more of the web servers; categorizing the received customer request for the target website as either (i) a shareable customer request which can be processed by a server assigned to another website of the web farm or (ii) an unshareable customer request which can not be processed by a server assigned to another website in the web farm; if the received customer request for the target website is categorized as a sharable customer request, routing the received customer request to a server assigned to another website which is can process the received customer request; if the received customer request for the target website is categorized as an unshareable customer request, routing the received customer request to a server specifically assigned to the target website for processing; and a Goal procedure, said Goal procedure comprising determining, for each said customer request, an optimal server from among said servers to which each said customer request is to be assigned so as to minimize an average customer response time at any given moment, given said assignment of said websites to said servers and a current customer request load, wherein, said Goal procedure is effected by minimizing an objective function measuring expected response time as a function of customer request arrival rate subject to a plurality of constraints including a maximum load due to a plurality of public requests for the target website on the server and a plurality of private requests for the target website on the server. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A web farm, comprising:
-
a plurality of web sites each having one or more servers assigned thereto; means for receiving customer requests from said plurality of websites; means for processing said customer requests to produce responses; means for transmitting said responses to said customers; means for categorizing said customer requests received from said plurality of websites into a plurality of categories, said categories comprising shareable customer requests which can be processed by servers of different websites and unshareable customer requests which can not be processed by servers of different websites; a network dispatcher comprising means for executing a Goal procedure, a Static procedure, and a Dynamic procedure; said Goal procedure comprising determining, for each said customer request, an optimal server from among said servers to which each said customer request is to be assigned so as to minimize an average customer response time at any given moment, given said assignment of said websites to said servers and a current customer request load, wherein said shareable customer requests may be assigned to any said server and wherein said unshareable customer requests may only be assigned to specific servers depending on which said website said unshareable customer request originated; said Static procedure comprising assigning specific said websites to specific said servers; and said Dynamic procedure comprising; examining the next customer request; invoking said Goal procedure in order to determine which server is the optimal server to currently process said next customer request; dispatching said next customer request to said optimal serve; receiving said customer requests into a queue; monitoring said customer requests in said queue; monitoring customer requests currently being processed by said servers; defining, for each server, a convex increasing function and a revised acceptable load limit; and invoking said Goal procedure to utilize said convex increasing function and revised acceptable load limit to minimize an objective function measuring expected response time as a function of customer request arrival rate subject to a plurality of constraints including a maximum load for each server due to a number of shareable requests in the queue for said website and a number of unshareable requests for said website.
-
Specification