Patent ID: 8245237

Claim:
A CPU resource provider comprising plurality of nodes that provides a processing service to a part of an application executed by a client that requires advanced computation for executing a job requested by a user to the client, the CPU resource provider comprising: an execution time estimating unit which estimates execution time required to complete said requested job based on a deemed number of nodes required for execution of said requested job within an estimated computation time sent from the client; a node count determining unit which determines a number of nodes currently available for assignment; a first estimated end time determining unit which determines a first estimated end time of said requested job assuming that said requested job is executed immediately using the number of nodes currently available for assignment; a second estimated end time determining unit which determines a second estimated end time of said requested job, the second estimated end time including a time to complete a currently executing job and an execution time of said requested job assuming that said requested job is executed upon completion of the currently executing job using the number of nodes currently available for assignment and a number of nodes being used by the currently executing job; and assigning unit which assigns said requested job by securing only the currently available nodes when said first estimated end time is within the estimated execution time, otherwise assign said requested job either by securing only the currently available nodes or by securing the currently available nodes and the nodes being used by the currently executing job upon completion of the currently executing job based on a comparison of the first estimated end time and the second estimated end time.