Patent ID: 7872769

Claim:
A job assignment method in an image forming apparatus having a job scheduler which divides an input job and determines a client apparatus to assign the divided job, and a task manager which transmits the divided job to the client apparatus determined by the job scheduler, said method comprising the steps of: dividing the input job into the divided job, wherein the divided job is obtained by dividing the input job into a plurality of divided jobs; causing the job scheduler to assign a same divided job of the plurality of divided jobs to a plurality of client apparatuses in a case where a number of client apparatuses is larger than a number of the plurality of divided jobs; and in a case where the job scheduler receives a finish notification for the same divided job from one of the plurality of client apparatuses assigned the same divided job, causing the job scheduler to instruct the task manager to issue a forcible termination instruction for the same divided job in the remaining client apparatuses, wherein the job scheduler prepares and holds a client score for each of the plurality of client apparatuses, by incrementing the client score for a client apparatus from which a divided job finish or normal finish notification has been received but decrementing the client score for a client apparatus to which a forcible termination instruction has been transmitted in response to the reception of the same divided job finish notification from another client apparatus, and changing the client score for a client apparatus based on the capability of the CPU or OS of the client apparatus or the processing time required for a normal finish by the client apparatus, wherein, in said step of causing the job scheduler to assign the same divided job to the plurality of client apparatuses, the job scheduler divides the plurality of client apparatuses into a plurality of groups based on processing speed of a CPU or capacity of a memory in each of the client apparatuses and determines the client apparatus to be assigned the divided job for each group, and wherein the job scheduler gives priority for assigning the divided job to a client apparatus that has a higher score than that of other client apparatuses among the plurality of client apparatuses, and wherein the job scheduler assigns the divided jobs to the plurality of client apparatuses in descending order of the held client scores for the plurality of client apparatuses.