Patent ID: 8219997

Claim:
A method for executing a job that is divided into a selected number of job tasks with a plurality of interconnected computers, the method comprising: providing the job to one computer of the plurality of computers and processing job tasks with the one computer for a predetermined time; with a processing unit on the one computer, calculating a progress rate of job task processing for the predetermined time and estimating a completion time for job task processing on the one computer on the basis of the progress rate and the predetermined time; determining with the processing unit whether the estimated completion time meets requirements of the job; when the estimated completion time meets the requirements, processing job tasks on the one computer with the one computer and generating results; and when the estimated completion time does not meet the requirements: with the processing unit, dividing job tasks on the one computer into job tasks to be left on the one computer and job tasks to be transferred to another computer of the plurality of computers, with the one computer, processing the job tasks to be left on the one computer for a further predetermined time and simultaneously, with the processing unit, transferring the job tasks to be transferred to the other computer and causing the other computer to process the transferred job tasks, until the estimated completion time meets the requirements, repeating a cycle in which a completion time for job task processing is estimated, and job tasks are divided, so that job tasks to be left on the one computer are processed for a further predetermined time and simultaneously job tasks to be transferred are transferred to the other computer and the other computer is caused to process the transferred job tasks, and with the processing unit, obtaining results of the transferred and processed job tasks from the other computer and merging the obtained results with results of the job tasks processed with the one computer.