Patent ID: 7546596

Claim:
A non-disruptive method for replacing a first software module of a system with a second software module, the method comprising: copying, by a currently executing, first software module of a system, update control code from the currently executing, first software module to memory space outside a memory location at which the first software module is currently executing, wherein only the update control code is copied from the currently executing, first software module to the memory space outside the memory location at which the first software module is currently executing; replacing the currently executing, first software module with a second software module by storing the second software module in memory at a location which at least partially overlies the memory location at which the first software module was executing, wherein the replacing includes employing the update control code copied from the first software module to memory space outside the memory location from which the first software module was executing, and wherein the replacing includes executing the update control code copied from the first software module during the replacing of the first software module with the second software module to monitor replacing of the first software module with the second software module; responsive to the replacing, and without resetting or restarting the system, branching from executing the update control code to executing code of the second software module at an entry point thereof specified by the update control code, thereby beginning execution of the second software module; and wherein the first software module and the second software module are each a single statically linked module.