Patent ID: 7093244

Claim:
A method of remotely upgrading an application program in a field-deployed device connected to an upgrade server via a network, the device having a non-volatile memory including an application program memory area containing the application program and an upgrade program memory area containing an upgrade program, the method comprising transferring control of the device to the upgrade program in the upgrade program memory area to control execution of the updating of the application program; and updating the application program by: copying from the server a new application program directly to the application program memory area over at least a part of the application program memory area containing the application program; and transferring control of the device to the new application program stored in the application program memory area; after transferring control of the device to the upgrade program, updating the update program by: transferring control of the device to the copy of the update program in the application program memory area; copying from a new update program from the server to the application program memory area over at least a part of the upgrade program memory area containing the upgrade program; copying from the new update program from the application program memory area to the upgrade program memory area containing the upgrade program; and transferring control of the device to the new upgrade program in the upgrade program memory area, wherein the upgrade program memory area is comprised of base layers; programs are stored in separate layers of the base layers; the separate layers are copied from the server to the application program memory area on a layer-by-layer basis; and the separate layers are subseguently copied from the application program memory area to the upgrade program memory area on a layer-by-layer basis.