Dynamic program updating: A software maintenance technique for minimizing software, downtime
Mark E. Segal, Ophir Frieder · Journal of Software Maintenance Research and Practice · 1989
Abstract When a new version of a software system is created, the current version of the system must be shut down while the new version is installed, resulting in software ‘downtime’. There are application domains where such downtime is undesirable if not wholly unacceptable. A dynamic program updating system replaces, or updates, a computer program with a new version while the program continues to run. A dynamic program updating system for programs written in conventional procedural languages such as Pascal and C is described. The proposed system updates programs without causing substantial performance degradation and requires minimal user intervention to initiate the update. A fully functional prototype updating system is presented and a sample program, namely an internet packet router called the ‘Packet Pumper’, is updated. The performance of the updating system and the Packet Pumper is discussed.