Patent ID: 8250564

Claim:
An image forming apparatus capable of communicating with a server storing a plurality of kinds of update programs together with update information indicating update conditions for each of a plurality of kinds of functions executed by the image forming apparatus, comprising: a program storage memory to store an execution program; a function execution portion to execute said stored execution program and execute at least one of the plurality of kinds of functions; a performance storage portion, when any of said plurality of kinds of functions is executed by the image forming apparatus, to store performance information regarding execution of the function for each of said plurality of kinds of functions executed by the image forming apparatus so that the performance information stored by the performance storage portion indicates an execution history for each of said plurality of kinds of functions; a determination portion to select, based on said performance information and said update information stored in said server, a target program from among said plurality of kinds of update programs stored in said server, wherein the determination portion selects the target program by evaluating the execution history for each of said plurality of kinds of functions having the update conditions indicated in the update information; and an updating portion to acquire said selected target program and update said execution program stored in said program storage memory with said acquired target program.