Patent ID: 8665466

Claim:
An apparatus which executes a program and updates the program, comprising: a specifying part configured to specify a module to be updated or a program to be installed by transmitting equipment information of the apparatus, the equipment information including information of equipment that operates the program to be installed or an installed program; an updating part configured to receive updating data, based on the equipment information, to store a program prior to an updating or a copy of the program prior to the updating, and to generate an updated program by executing an updating process of the program prior to the updating, to thereby set the updated program as a boot target; a progress information recording part configured to record progress information of the updating process in a storage part, wherein the progress information recording part records the progress information by recording information that indicates a start of each phase of plural phases forming the updating process of the program upon the start of the respective phase and deleting the information indicating the start of the respective phase upon completion of the respective phase; a boot judging part configured to judge whether a booting of the updated program was successful, and to record information indicating a result of a judgment in the storage part; and a restoring part configured to confirm whether the booting of the updated program was successful based on the information, and to execute a normal boot process when the updating data does not exist, wherein the restoring part is further configured to execute, by confirming or referring to the progress information, a remaining updating process or a recovery process when the updating data does exist, and to set the stored program prior to the updating as the boot target, if the booting of the updated program failed, when the transmitted equipment information includes a program having a version different from a version of the program registered in a server, the received updating data includes the program, and when the transmitted equipment information does not include a program that is registered in the server, the received updating data includes the program to be newly installed in the apparatus.