In a former life, I learned C++ from James Coplien's "Advanced C++" book, and a training course he gave. One technique he presented was how AT&T was updating software in their switches "on-the-fly". The running process would do a dynamic load, and switch pointers in a v-table to start using the new code, on the next object instantiation; without bringing down the process.
Obviously, this isn't for a linear start-to-stop program. But for long-running daemons, that do , say, network inspection; and a new (example only) BGP decoder is ready to be used. Can that be inserted into an existing monitor without disrupting state or the on-going monitor process.
I am familiar with the "save state, shutdown, patch, restart, restore, run" methodology; But each of those steps is a coding/testing/documenting effort, and it can't be done in the time between 2 packets on the wire(for example).
Thoughts...
In reply to On-the-fly module replacements : On topic - really by Wiggins
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |