Increasing system availability through on-line software version change
- 30 December 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
The usual way of installing a new version of a software is to shut down the running program and then installing the new version. This necessitates a delay during which service is denied to the users of the software, and has the effect of reducing the overall availability of the system. An online software replacement system replaces parts of the software while it is in execution, thereby eliminating shutdown of the software and increasing the availability of the system. The authors describe an approach for performing online version change and a system for online software version change that implements that approach. In the proposed method, for performing an online change, the system creates a new process with the new version of the software, and monitors the execution of the old version. When certain conditions are met, it transfers the state of the old process and the control to the new process, thereby affecting the change. The user sees a minimal delay in this switchover. The system has been implemented for C programs on a Sun workstation.Keywords
This publication has 10 references indexed in Scilit:
- On‐line software version change using state transfer between processesSoftware: Practice and Experience, 1993
- On dynamically updating a computer program: From concept to prototypeJournal of Systems and Software, 1991
- Implementing fault-tolerant services using the state machine approach: a tutorialACM Computing Surveys, 1990
- Fault tolerant processesDistributed Computing, 1989
- Dynamic program updating: A software maintenance technique for minimizing software, downtimeJournal of Software Maintenance: Research and Practice, 1989
- The N-Version Approach to Fault-Tolerant SoftwareIEEE Transactions on Software Engineering, 1985
- Weighted voting for replicated dataPublished by Association for Computing Machinery (ACM) ,1979
- Dynamic Restructuring in an Experimental Operating SystemIEEE Transactions on Software Engineering, 1978
- Guarded commands, nondeterminacy and formal derivation of programsCommunications of the ACM, 1975
- System structure for software fault toleranceIEEE Transactions on Software Engineering, 1975