GRID COMPUTING SYSTEM, MANAGEMENT SERVER, PROCESSING SERVER, CONTROL METHOD, CONTROL PROGRAM AND RECORDING MEDIUM
First Claim
1. A system comprising multiple processing servers and a management server for managing the multiple processing servers, each processing server adapted to execute a program assigned thereto from among multiple programs for performing a requested job;
- the management server comprising;
an execution direction generating unit for generating an execution direction, said execution direction including identification information identifying each of the multiple programs, input and/or output files for each of the multiple programs, and an execution order of the multiple programs for performing the requested job, said execution order identifying a first program of the multiple programs to be executed before any other program of the multiple programs is executed;
an input data sending unit for sending input data and the execution direction to a first processing server of the multiple processing servers for executing the first program with the input data;
a processing server information storing unit for storing identification information identifying each program of the multiple programs and identification information on each processing server for executing the program assigned to each processing server;
an inquiry responding unit for acquiring identification information from the processing server information storing unit and for sending the identification information to an inquiring processing server of the multiple processing servers in response to an inquiry for said identification information received from the inquiring processing server after the inquiring processing server has completed execution of the program assigned thereto, said identification information identifying a next processing server to execute a next program included in the execution direction; and
each processing server of the multiple processing servers comprising;
a program executing unit for executing the assigned program using received input data and for updating the input data following said executing the assigned program;
a processing server selecting unit for sending, to the management server, an inquiry for identification information identifying a next processing server to execute the next program included in the execution direction after said each processing server has completed execution of the program assigned thereto; and
an input data transferring unit for sending, to the next processing server identified in the identification information received by the processing server selecting unit from the management server in response to said inquiry, the received execution direction and updated input data.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system for performing a requested job. The system includes multiple processing servers and a management server. Each processing server executes an assigned program for performing the requested job. An execution direction, which identifies each of the multiple programs and an execution order for their execution (including identification of a first program to be executed), is generated. The management server sends to a first processing server the execution direction and input data. The first processing server: executes the first program using the input data, resulting in updating the input data; sends to the management server an inquiry for identification information that identifies a second processing server to execute a second program included in the execution direction; receives the identification information from the management server; and sends to the second processing server the execution direction and the updated input data for subsequent execution of the second program.
-
Citations
39 Claims
-
1. A system comprising multiple processing servers and a management server for managing the multiple processing servers, each processing server adapted to execute a program assigned thereto from among multiple programs for performing a requested job;
-
the management server comprising; an execution direction generating unit for generating an execution direction, said execution direction including identification information identifying each of the multiple programs, input and/or output files for each of the multiple programs, and an execution order of the multiple programs for performing the requested job, said execution order identifying a first program of the multiple programs to be executed before any other program of the multiple programs is executed; an input data sending unit for sending input data and the execution direction to a first processing server of the multiple processing servers for executing the first program with the input data; a processing server information storing unit for storing identification information identifying each program of the multiple programs and identification information on each processing server for executing the program assigned to each processing server; an inquiry responding unit for acquiring identification information from the processing server information storing unit and for sending the identification information to an inquiring processing server of the multiple processing servers in response to an inquiry for said identification information received from the inquiring processing server after the inquiring processing server has completed execution of the program assigned thereto, said identification information identifying a next processing server to execute a next program included in the execution direction; and each processing server of the multiple processing servers comprising; a program executing unit for executing the assigned program using received input data and for updating the input data following said executing the assigned program; a processing server selecting unit for sending, to the management server, an inquiry for identification information identifying a next processing server to execute the next program included in the execution direction after said each processing server has completed execution of the program assigned thereto; and an input data transferring unit for sending, to the next processing server identified in the identification information received by the processing server selecting unit from the management server in response to said inquiry, the received execution direction and updated input data. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
wherein the identification information is cached by the caching unit; and wherein the processing server selecting unit selects the next processing server to execute the next program.
-
-
4. The system of claim 1,
wherein in response to receiving the input data, the program executing unit sends a receiving notification indicating that input data has been received to the management server, and in response to terminating execution of the assigned program, the program executing unit sends an termination notification indicating that execution of the assigned program has been terminated; -
wherein the processing server information storing unit stores excutability information based on the receiving notification and the termination notification on whether or not it is possible for each processing server of the multiple processing servers to newly receive input data and execute its assigned program; and wherein the inquiry responding unit selects the next processing server to execute the next program.
-
-
5. The system of claim 4,
wherein the management server further comprises a program activating unit for, on condition that more than a predetermined percentage of the processing servers are not capable of newly receiving input data and executing the next program, activating the next program on one processing server which has not activated the next program; - and
wherein the inquiry responding unit sends identification information of the one processing server on which the next program has been activated by the program activating unit.
- and
-
6. The system of claim 1,
wherein each processing server of the multiple processing servers comprises: -
a history storing unit for storing history of the input data and the execution direction sent by the input data transferring unit to the processing server; and a fault occurrence determining unit for determining whether or not any fault has occurred in execution of a program on a sending-destination processing server to which the input data transferring unit has sent the updated input data and the execution direction; wherein in response to determining by the fault occurrence determining unit that said any fault has occurred, the processing server selecting unit selects a different processing server for executing the next program to be executed next; and wherein the input data transferring unit acquires the input data and the execution direction from the history storing unit to send the input data and the execution direction to the different processing server selected by the processing server selecting unit.
-
-
7. The system of claim 6,
wherein in response to receiving the input data, the program executing unit sends a receiving notification indicating that input data has been received from the management server, wherein in response to terminating execution of the assigned program, the program executing unit sends an termination notification to the management server indicating that execution of the assigned program has been terminated; - and
wherein the management server further comprises a fault occurrence notification sending unit for, if the receiving notification is received from any processing server and, after that, the termination notification is not received within a predetermined reference processing time from said any processing server, sending a fault occurrence notification indicating that a fault has occurred in execution of a program on said any processing server to a sending-source processing server which has sent the input data to said any processing server; and wherein the fault occurrence determining unit determines, if receiving the fault occurrence notification, that a fault has occurred in execution of a program on a sending-destination processing server to which the input data transferring unit has sent the updated input data and the execution direction.
- and
-
8. The system of claim 6,
wherein in response to receiving the input data and execution direction by a sending-destination processing server, on determining that it is impossible to execute a program, the program executing unit of the sending-destination processing server sends a refusal notification indicating refusal of the input data to a sending-source processing server which has sent the input data and the execution direction to the sending-destination processing server; - and
wherein in response to receiving the refusal notification from the sending-destination processing server, the fault occurrence determining unit of the sending-source processing server determines that a fault has occurred in execution of a program on the sending-destination processing server.
- and
-
9. The system of claim 6, wherein the management server further comprises a deletion directing unit for, on condition that the job is completed by execution of the multiple programs, causing the input data and the execution direction to be deleted from the history storing section of each processing server of the multiple processing servers
-
10. The system of claim 6, wherein the processing server selecting unit of each processing server of the multiple processing servers selects, from among processing servers activating a program to be executed next with the updated input data, a processing server which communicates with the processing server with a higher communication speed as the different processing server in preference to a server with a lower communication speed.
-
11. The system of claim 1, wherein each processing server of the multiple processing servers further comprises:
-
a history storing unit for storing history information on data on the processing server which the program executing unit has changed by executing the program, in association with information which enables restoration to the state before the program executing unit has changed; and a change restoring unit for, if a fault has occurred in execution of a program on a sending-destination processing server to which the input data transferring unit has sent the updated input data and execution direction, restoring data changed by the program executing unit to the original state of the changed data based on the history information in the history storing unit.
-
-
12. The system of claim 1, wherein the management server further comprises a program activating unit for detecting each of programs to be executed for and after the second time using the input data, based on the execution direction, and activating each of the detected programs on any processing server different from the sending-destination server of the input data sending unit.
-
13. The system of claim 12,
wherein the program executing unit of each processing server of the multiple processing servers notifies the management server of throughput required for execution of a program in the past; - and
wherein the program activating unit of the management server activates, on condition that the past throughput of a program notified by the program executing unit exceeds the maximum throughput to be processed by a processing server already activating the program, the program on any processing server different from the sending-destination server of the input data sending unit.
- and
-
14. The system of claim 1, wherein the management server further comprises a program activating unit for detecting each of programs to be executed using the input data and, for each of the detected programs, on condition that throughput required for the program to be executed with the input data exceeds the maximum throughput to be processed by a processing server already activating the program, activates the program on any processing server different from the sending-destination server of the input data sending unit.
-
15. The system of claim 1, wherein on condition that the program executing unit does not receive the input data and execution direction within a predetermined reference waiting time after receiving input data and execution direction, the program executing unit stops execution of a program by the processing server that is executing the program.
-
16. The system of claim 1, wherein the management server further comprises a processing server changing unit for, on condition that the usage rate of computation resources to be used for execution of a program by the program executing unit is below a predetermined reference usage rate, causing a different processing server with a less maximum throughput than that of the processing server to execute the program.
-
17. The system of claim 1, wherein in response to receiving input data and execution direction by a sending-destination processing server, the program executing unit detects that there still exists a program which should have been already executed based on received execution direction, and executes the detected program on condition that it is possible for the sending-source processing server to execute the program.
-
18. The system of claim 1,
wherein the input data transferring unit of each processing server of the multiple processing servers creates a digital signature of the updated input data or the execution information to send the created digital signature in association with the input data and execution direction to be covered by the digital signature; - and
wherein the program executing unit of a processing server executes a program on condition that the digital signature is correctly verified.
- and
-
2. (canceled)
-
19. A management server for managing multiple processing servers, each processing server adapted to execute a program assigned thereto from among multiple programs for performing a requested job,
the management server comprising: -
an execution direction generating unit for generating an execution direction, said execution direction including identification information identifying each of the multiple programs, input and/or output files for each of the multiple programs, and an execution order of the multiple programs for performing the requested job, said execution order identifying a first program of the multiple programs to be executed before any other program of the multiple programs is executed; an input data sending unit for sending input data and the execution direction to a first processing server of the multiple processing servers for executing the first program with the input data; a processing server information storing unit for storing identification information identifying each program of the multiple programs and identification information on each processing server for executing the program assigned to each processing server; an inquiry responding unit for acquiring identification information from the processing server information storing unit and for sending the identification information to an inquiring processing server of the multiple processing servers in response to an inquiry for said identification information received from the inquiring processing server after the inquiring processing server has completed execution of the program assigned thereto, said identification information identifying a next processing server to execute a next program included in the execution direction.
-
-
20-25. -25. (canceled)
-
26. A method for performing a requested job by a system that comprises multiple processing servers and a management server for managing the multiple processing servers, each processing server adapted to execute a program assigned thereto from among multiple programs for performing the requested job, said method comprising:
-
generating, by the management server, an execution direction, said execution direction including identification information identifying each of the multiple programs, input and/or output files for each of the multiple programs, and an execution order of the multiple programs for performing the requested job, said execution order identifying a first program of the multiple programs to be executed before any other program of the multiple programs is executed; sending, by the management server to a first processing server of the multiple processing servers, the execution direction and input data for subsequent execution of the first program; executing, by the first processing server, the first program using the input data as input, wherein said executing the first program results in said input data being updated; after said executing the first program, sending, by the first processing server to the management server, an inquiry for identification information that identifies a second processing server to execute a second program included in the execution direction; after sending the inquiry, receiving, by the first processing server from the management server, the identification information; and sending, by the first processing server to the second processing server, the execution direction and the updated input data for subsequent execution of the second program. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
Specification