Command process load balancing system
First Claim
1. A computer-implemented method for load balancing a first set of commands among a plurality of server processes, the method comprising:
- receiving a first command of the first set of commands;
predicting that a load associated with a first server process of the plurality of server processes processing the first command and at least a second command of the first set of commands is greater than or equal to a reference value, wherein the predicting comprises;
determining a second set of processed commands based at least in part on a similarity of each command in the second set of processed commands to a respective command in the first set of commands;
accessing a first recorded history of the second set of processed commands, the first recorded history comprising a respective response time associated with processing of each command in the second set of processed commands;
determining that a combined response time for the second set of processed commands is greater than or equal to the reference value;
determining a third set of processed commands, wherein at least one command in the third set of processed commands is dissimilar from each command in the first set of commands;
accessing a second recorded history of the third set of processed commands, the second recorded history comprising a respective response time associated with processing of each command in the third set of processed commands;
determining a combined response time for the third set of processed commands; and
predicting that the load is greater than or equal to the reference value based at least in part on the combined response time for the second set of processed commands and the combined response time for the third set of processed commands;
assigning the first command for processing by a second server process of the plurality of server processes, wherein the second server process is different from the first server process; and
executing, by the second server process, the first command.
1 Assignment
0 Petitions
Accused Products
Abstract
A command process load balancing system performs load balancing of received commands among a number of server processes to resolve access contention for virtual software resources. These contentions are resolved through a history recording unit that records a history including contents of a processed command and a response time of a process for the command into a history database. A prediction unit predicts, in a case where a set of commands to be processed is assigned to a server process, whether or not a load that is equal to or higher than a reference value is applied, on the basis of the history recorded in the history database. An assigning unit assigns at least one command included in the set of commands to be processed to a different server process, in accordance with prediction that a load that is equal to or higher than the reference.
29 Citations
14 Claims
-
1. A computer-implemented method for load balancing a first set of commands among a plurality of server processes, the method comprising:
-
receiving a first command of the first set of commands; predicting that a load associated with a first server process of the plurality of server processes processing the first command and at least a second command of the first set of commands is greater than or equal to a reference value, wherein the predicting comprises; determining a second set of processed commands based at least in part on a similarity of each command in the second set of processed commands to a respective command in the first set of commands; accessing a first recorded history of the second set of processed commands, the first recorded history comprising a respective response time associated with processing of each command in the second set of processed commands; determining that a combined response time for the second set of processed commands is greater than or equal to the reference value; determining a third set of processed commands, wherein at least one command in the third set of processed commands is dissimilar from each command in the first set of commands; accessing a second recorded history of the third set of processed commands, the second recorded history comprising a respective response time associated with processing of each command in the third set of processed commands; determining a combined response time for the third set of processed commands; and predicting that the load is greater than or equal to the reference value based at least in part on the combined response time for the second set of processed commands and the combined response time for the third set of processed commands; assigning the first command for processing by a second server process of the plurality of server processes, wherein the second server process is different from the first server process; and executing, by the second server process, the first command. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An information processing apparatus for load balancing a first set of commands among a plurality of server processes, the information processing apparatus comprising:
-
at least one memory storing computer-executable instructions; and at least one processor configured to access the at least one memory and execute the computer-executable instructions to; receive a first command of the first set of commands; predict that a load associated with a first server process of the plurality of server processes processing the first command and at least a second command of the first set of commands is greater than or equal to a reference value, wherein the prediction unit predicts by; determine a second set of processed commands based at least in part on a similarity of each command in the second set of processed commands to a respective command in the first set of commands; access a first recorded history of the second set of processed commands, the first recorded history comprising a respective response time associated with processing of each command in the second set of processed commands; determine that a combined response time for the second set of processed commands is greater than or equal to the reference value; determine a third set of processed commands, wherein at least one command in the third set of processed commands is dissimilar from each command in the first set of commands; access a second recorded history of the third set of processed commands, the second recorded history comprising a respective response time associated with processing of each command in the third set of processed commands; determine a combined response time for the third set of processed commands; and predict that the load is greater than or equal to the reference value based at least in part on the combined response time for the second set of processed commands and the combined response time for the third set of processed commands; assign the first command for processing by a second server process of the plurality of server processes, wherein the second server process is different from the first server process; and execute the first command using the second server process. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer program product for load balancing a first set of commands among a plurality of server processes, the computer program product comprising a non-transitory storage medium readable by a processing circuit, the non-transitory storage medium storing instructions executable by the processing circuit to cause a method to be performed, the method comprising:
-
receiving a first command of the first set of commands; predicting that a load associated with a first server process of the plurality of server processes processing the first command and at least a second command of the first set of commands is greater than or equal to a reference value, wherein the predicting comprises; determining a second set of processed commands based at least in part on a similarity of each command in the second set of processed commands to a respective command in the first set of commands; accessing a first recorded history of the second set of processed commands, the first recorded history comprising a respective response time associated with processing of each command in the second set of processed commands; determining that a combined response time for the second set of processed commands is greater than or equal to the reference value; determining a third set of processed commands, wherein at least one command in the third set of processed commands is dissimilar from each command in the first set of commands; accessing a second recorded history of the third set of processed commands, the second recorded history comprising a respective response time associated with processing of each command in the third set of processed commands; determining a combined response time for the third set of processed commands; and predicting that the load is greater than or equal to the reference value based at least in part on the combined response time for the second set of processed commands and the combined response time for the third set of processed commands; assigning the first command for processing by a second server process of the plurality of server processes, wherein the second server process is different from the first server process; and executing, by the second server process, the first command. - View Dependent Claims (12, 13, 14)
-
Specification