Source: https://patents.justia.com/patent/20050081211
Timestamp: 2020-04-10 09:44:40
Document Index: 314495907

Matched Legal Cases: ['Application No. 9', 'art 111', 'art 112', 'art 112', 'art 112', 'art 111', 'art 111', 'art 113']

US Patent Application for Load balance control method and apparatus in data-processing system Patent Application (Application #20050081211 issued April 14, 2005) - Justia Patents Search
Justia Patents US Patent Application for Load balance control method and apparatus in data-processing system Patent Application (Application #20050081211)
Aug 11, 2004 - HITACHI, LTD.
Conventional load distribution control methods, as disclosed in JPApplication No. 9-167141, U.S. Pat. No. 5,774,660, and U.S. Pat. No. 6,138,159, perform load distribution according to use conditions of the resources for each job, e.g., such as batch, on-line and TSS (time sharing system) executed in a computer system. The load is balanced according to the types of job requests, i.e., based on whether or not a request is a batch request, a TSS request, or on-line request.
Another feature of the invention is to to prevent a large backup of jobs (or “light load jobs”) that may otherwise be performed quickly due to having jobs (“heavy load jobs”) that require long time to access a shared DB.
One embdoiment of the invention is directed to a method for controlling loads being applyed on the shared DB for each job by previously determining jobs requested by a request transmitted from a client and setting a maximum number of process time for each job type. The request is associated with a given job type by examining the Universal Resource Locator (URL) of the request.
In another embodiment, a load control apparatus for processing a plurality of job requests from a plurality of clients includes means for receiving a first request from one of the clients at a load control apparatus, the first request relating to peforming a first function by one or more of a plurality of application servers that are coupled to the plurality of clients; means for associating the first request received to one of a plurality of job categories that each of the servers is configured to perform, the one job category to which the first request is associated being a first job category; means for determining whether or not a first condition associated with the first job category is satisfied; means for sending the first request to a load balancer if the first condition associated with the first job category is determined to be satisfied, so that the load balancer can assign the first request to one of the application server in order to perform the requested first function, wherein the load balancer is coupled to the servers and configured to balance loads of the servers by distributing requests to the servers; and means for receiving at the load control module first information from the load balancer, the first information relating to the time expended in processing the first request, wherein the load control module uses second information relating to the first information to determine whether to send a second request received at the load control module to the load balancer or to a queue, the second request relating to the same job category as the first request.
In yet another embodiment, a load controling device provided in a data processing system, the data processing system including a plurality of clients and a pluarlity of servers, comprises a request registration component to receive a first request from one of the clients, the first request relating to peforming a first function by one or more of a plurality of application servers that are coupled to the plurality of clients, the request registration part being configured to associate the first request received to one of a plurality of job categories that each of the servers is configured to perform, the one job category to which the first request is associated being a first job category; a load restriction component to determine whether or not a first condition associated with the first job category is satisfied, the load restriction component being configured to send the first request to a load balancer if the first condition associated with the first job category is determined to be satisfied, so that the load balancer can assign the first request to one of the application server in order to perform the requested first function, wherein the load balancer is coupled to the servers and configured to balance loads of the servers by distributing requests to the servers; and a process result registration component to receive first information from the load balancer, the first information relating to the time expended in executing the first request, wherein the load control device uses second information relating to the first information to determine whether to send a second request received from one of the clients to the load balancer or to a queue, the second request relating to the same job category as the first request.
The request information DB has a table 200 as shown in FIG. 2. URL pass names 201 are used for processing the DBs. For example, a pass name is assigned to a given URL. A job name 202 exists inside the job processing apparatus 120. The job name identifies a given type or category of job processing. For example, the first two URLs in the table are defined as “Job A,” so that any job requests received for these URLs would be categorized as requests for Job A or Category A. A number 203 of requests being executed shows the number of job requests being executed in the job processing apparatus 120 for each of the URLs listed in the URL pass name 201. That is, the number 203 indicates a number of requests currently being executed for each job type by the job processing group 120. One or more job types comprise a job name or cateogry. An average response time 204 shows an average time required to execute a given request, e.g., from starting of processing of the URL to the completion. For example, in FIG. 2, a job request for the first URL on the table 200 requires an average of 1.9 second to execute.
FIG. 4 illustrates a process associated with the request registration part 111 according to one embdiment of the present invention. When the request is received at the load control apparatus 110, the apparatus examines the URL specified by the request (Step 400). After that, the apparatus accesses the request information DB and increases by the number 203 of requests being executed for the URL specified by the request (Step 401). The apparatus attaches the job name 202 to the request URL (Step 402) and delivers the request and job name to the load restriction part 112 (Step 403). The load restriction part 112 processes the request received based on a number of requests currently being executed for such a job category and loads being applied on the shared DB 130, as explained below.
FIG. 3 shows a table 300 in the restriction information DB 115 according to one embodiment of the present invention. A number 301 indicates a job name or job category, and a number 302 indicates a maximum number of requests that may be executed currently for a given job name or cateogry. In one implementation, this maximum or threshold number is predefined by an administrator. In another implemenation, the number is set by a management program.
FIG. 5 illustrates a process associated with the load restriction part 112 according to one embodiment of the present invention. When the object job (or job name or category) is input from the request registration part 111 (Step 500), the total number 303 of requests currently being executed in the job processing apparatus group 120 for that job cateory is compared to the maximum number 302 (Step 501). If the total number 303 equals or exceeds the maximum number 302, the request received from the request registration part 111 is temporarily stored in the queue 116 to be processed after the number 303 has decreased below the number 302 (Step 503).
Otherwise, the next condition is tested at step 502. At step 502, it is determined whether or not the average respone time 305 equals or exeeds the maximum response time 304. If so, the request received is stored in the queue 116 to be processed after the average response time 305 has decreased below the maximum response time 304. If not, the value of the total number of requests 303 is incremented by one (Step 504), and request is transmitted to the load distribution apparatus 117 (Step 505).
FIG. 6 illustrates a process associated with the process result registration part 113 according to one embodiment of the present invention. The average reponse time 204 for the request is updated based on the time period calculated by the timer 119 (Step 600). Step 502 associated with the load restriction part uses this updated average response time to process the next request on the same job category. The number 203 of requests currently being executed, which corresponds to the request executed, is decremented by one (Step 601). Similarly, the total number 303 corresponding to the executed request is decremented by one (Step 602). The corresponding average response time 305 is calculated and updated (Step 603). Thereafter, the job process result is returned to the client (Step 604). Alternatively, the job process result may be returned to the client first and the steps 600-604 may be performed thereafter or in parallel to any of these steps.
receiving a first request from one of the clients at a load control module, the first request relating to peforming a first function by one or more of a plurality of application servers that are coupled to the plurality of clients;
associating the first request received to one of a plurality of job categories that each of the servers is configured to perform, the one job category to which the first request is associated being a first job category;
determining whether or not a first condition associated with the first job category is satisfied;
sending the first request to a load balancer if the first condition associated with the first job category is determined to be satisfied, so that the load balancer can assign the first request to one of the application server in order to perform the requested first function, wherein the load balancer is coupled to the servers and configured to balance loads of the servers by distributing requests to the servers; and
receiving at the load control module first information from the load balancer, the first information relating to the time expended in processing the first request, wherein the load control module uses second information relating to the first information to determine whether to send a second request received from one of the clients to the load balancer or to a queue, the second request relating to the same job category as the first request.
2. The load balancing method of claim 1, wherein the first information relates to the time expended in executing the first request and the second information relates to an average time expended in executing requests relating to the first job category, the second information being derived using the first information.
3. The method of claim 1, wherein the first request is associated to the first job category based on an address of the first function indicated on the first request.
4. The method of claim 3, wherein the address of the first function is a Universal Resource Locator (URL).
5. The method of claim 1, wherein the first category includes first and second job types, the first job type relating to a batch process, the second job type relating to an on-line process.
6. The method of claim 1, wherein the first condition is determined to be not satisfied if an average time for processing requests relating to the first job category is determined to be longer than a predefined time period.
determining whether or not a second condition associated with the first job category is satisfied, wherein the first request is sent to a load balancer if both of the first and second conditions associated with the first job category are determined to be satisfied.
8. The method of claim 7, wherein the load control module updates a request information table upon receiving the first request, the request information table includes information on a number of requests being processed that are related to the first job category and an average time needed to complete the execution of requests relating to the first job type of the first job category.
9. The method of claim 8, wherein the load control module accesses a restriction information table to determine whether or not the first and second conditions associated with the first request are satisfied, the restriction information table includes a maximum number of requests that may be executed concurrently for requests relating to the first job category and a maximum delay time allowed for executing a request relating to the first category,
wherein the first condition is satisfied if the maximum number is not exceeded and the second condition is satisfied if the maximum delay time is not exceeded.
10. The method of claim 1, wherein the load control module is a load control apparatus that is remotely located from the load balancer.
11. The method of claim 1, wherein the load control module and the load balancer are provided within the same housing.
12. The method of claim 1, wherein the second request relates to performing a second function by one or more of the plurality of application servers, wherein the first function requested by the first request relates to a batch process and the second function requested by the second request relates to an on-line process.
13. A load control apparatus for processing a plurality of job requests from a plurality of clients, the load conrol apparatus comprising:
means for receiving a first request from one of the clients at a load control apparatus, the first request relating to peforming a first function by one or more of a plurality of application servers that are coupled to the plurality of clients;
means for associating the first request received to one of a plurality of job categories that each of the servers is configured to perform, the one job category to which the first request is associated being a first job category;
means for determining whether or not a first condition associated with the first job category is satisfied;
means for sending the first request to a load balancer if the first condition associated with the first job category is determined to be satisfied, so that the load balancer can assign the first request to one of the application server in order to perform the requested first function, wherein the load balancer is coupled to the servers and configured to balance loads of the servers by distributing requests to the servers; and
means for receiving at the load control module first information from the load balancer, the first information relating to the time expended in processing the first request, wherein the load control module uses second information relating to the first information to determine whether to send a second request received at the load control module to the load balancer or to a queue, the second request relating to the same job category as the first request.
14. A load controling device provided in a data processing system, the data processing system including a plurality of clients and a pluarlity of servers, the load controling device comprising:
a request registration component to receive a first request from one of the clients, the first request relating to peforming a first function by one or more of a plurality of application servers that are coupled to the plurality of clients, the request registration part being configured to associate the first request received to one of a plurality of job categories that each of the servers is configured to perform, the one job category to which the first request is associated being a first job category;
a load restriction component to determine whether or not a first condition associated with the first job category is satisfied, the load restriction component being configured to send the first request to a load balancer if the first condition associated with the first job category is determined to be satisfied, so that the load balancer can assign the first request to one of the application server in order to perform the requested first function, wherein the load balancer is coupled to the servers and configured to balance loads of the servers by distributing requests to the servers; and
a process result registration component to receive first information from the load balancer, the first information relating to the time expended in executing the first request,
wherein the load control device uses second information relating to the first information to determine whether to send a second request received from one of the clients to the load balancer or to a queue, the second request relating to the same job category as the first request.
15. The load controling device of claim 14, wherein the load balancer couples the load control device to the plurality of servers.
16. The load controlling device of claim 14, wherein the load controling device and th load balancer are integrated as a single network device.
17. The load controling device of claim 14, wherein the first information relates to the time expended in executing the first request and the second information relates to an average time expended in executing requests relating to the first job category, the second information being derived using the first information.
18. The load controling device of claim 14, wherein the first request is associated to the first job category based on an address of the first function indicated on the first request.
19. The load controling device of claim 18, wherein the address of the first function is a Universal Resource Locator (URL).
20. The load controling device of claim 14, wherein the first category includes first and second job types, the first job type relating to a batch process, the second job type relating to an on-line process.
Publication number: 20050081211
Patent Grant number: 7779416
Inventors: Kentaro Koga (Fujisawa), Akinori Inoue (Kamakura)
Application Number: 10/917,267
Current U.S. Class: 718/105.000