Dynamic software updating java
In the event of a failure, the hot spare would take over, and the main machine would become the new hot spare. In the event of an update, the hot spare would activate, the main system would update, and then the updated system would resume control.The earliest true Dynamic Software Updating system is DYMOS (Dynamic Modification System).For example, Ksplice only supports code changes in functions, and does not support changes to state representation.This is because Ksplice primarily targets security changes, rather than general updates.For example, any update safety check limits the scope of updates to updates which pass that safety check.The mechanism used to transform code and state influences what kinds of updates a system will support.
Ginseng's compiler will attempt to infer good locations for update points, but can also use programmer-specified update points.
In contrast, Ekiden can update a program to any other program capable of being executed, even one written in a different programming language.
Systems designers can extract valuable performance or safety assurances by limiting the scope of updates.
The earliest precursor to dynamic software updating is redundant systems.
In a redundant environment, spare systems exist ready to take control of active computations in the event of a failure of the main system.