A communication apparatus comprising: a receiver configured to receive metadata, the metadata including information associated with update data capable of being executed after the receiver has received the metadata, wherein the metadata includes information of update data that may be downloaded before an update executable date; and a determination part configured to determine whether an update of the update data is executable in accordance with the metadata, wherein when the determination part has determined that the update is executable, the update is executed, wherein the metadata includes version information indicating a version number of a program stored in the communication apparatus, version dependency information indicating another version number that is depended on by the version number indicated in the version information, storing destination of a list of programs that are updated entities, and a flag indicating whether the update data are executable, the determination part is further configured to verify whether there are depended-on versions based on the version dependency information included in the metadata, and if there are depended-on versions, to acquire the depended-on versions from an update server and to sequentially trace the depended-on versions with respect to the latest version and to acquire the metadata associated with the traced depended-on version, and subsequently to verify whether there are new update data by comparing the version number indicated in the version information of the received metadata and the version number of the program stored in the communication apparatus, when the determination part determines that there are new update data, the determination part is further configured to determine whether the new update data are executable based on the flag included in the metadata, when the determination part determines that the new update data are not executable, the determination part is further configured to execute a pre-download process in which update data that are allowed to be downloaded are downloaded in advance, when the determination part determines that the new update data are executable, the determination part is further configured to determine whether the new update data are already acquired, and when the determination part determines that the new update data are already acquired in the pre-download process, the determination part is further configured to verify the checksums of all the acquired data. a receiver configured to receive metadata, the metadata including information associated with update data capable of being executed after the receiver has received the metadata, wherein the metadata includes information of update data that may be downloaded before an update executable date; and a determination part configured to determine whether an update of the update data is executable in accordance with the metadata, wherein when the determination part has determined that the update is executable, the update is executed, wherein the metadata includes version information indicating a version number of a program stored in the communication apparatus, version dependency information indicating another version number that is depended on by the version number indicated in the version information, storing destination of a list of programs that are updated entities, and a flag indicating whether the update data are executable, the determination part is further configured to verify whether there are depended-on versions based on the version dependency information included in the metadata, and if there are depended-on versions, to acquire the depended-on versions from an update server and to sequentially trace the depended-on versions with respect to the latest version and to acquire the metadata associated with the traced depended-on version, and subsequently to verify whether there are new update data by comparing the version number indicated in the version information of the received metadata and the version number of the program stored in the communication apparatus, when the determination part determines that there are new update data, the determination part is further configured to determine whether the new update data are executable based on the flag included in the metadata, when the determination part determines that the new update data are not executable, the determination part is further configured to execute a pre-download process in which update data that are allowed to be downloaded are downloaded in advance, when the determination part determines that the new update data are executable, the determination part is further configured to determine whether the new update data are already acquired, and when the determination part determines that the new update data are already acquired in the pre-download process, the determination part is further configured to verify the checksums of all the acquired data.