« Franz Liszt: 200 | Main | How Great Software Teams Can Go Wrong »


Brian Beuning

The redundant CPU's in the picture vote and if they disagree then the system knows something is broke.
Taken to extreme you could do this with software
by having separate teams follow the same requirements to develop two programs
and then at runtime vote that the programs get the
same results. Sounds very reliable but also twice as expensive.

The most reliable software (5ESS telephony switch) I ever worked on had a way to apply software updates while the system was running. 5ESS actually kept the old and new versions of the code in memory at the same time. Old phone calls would use the old code and new phone calls use the new code. If there was a software fault, 5ESS would automatically stop using the new code for new calls.

They is a Linux feature for applying kernel patches without rebooting the kernel.

The comments to this entry are closed.