{"title":"Runtime software reorganization by traditional OS features","authors":"L. Nagamatsu","doi":"10.1109/ISPSE.2000.913252","DOIUrl":null,"url":null,"abstract":"With the increased complexity of software and requirements for non-stop service features, it is important to establish an effective method for online or runtime program updating. For commercial servers, even a short break of service can cause a great loss for a company, and modern complex software systems are frequently updated for patching security holes or adding new features. To cope with such situations, a new paradigm for easy and effective software maintenance is needed. Many approaches have been proposed in software engineering for autonomous evolution or growth schemes, while in the domain of computer hardware or traditional machines, the in-operation replacement of parts (known as a \"hot swap\"), where a defective module in a complex system can be replaced during its operation, is common. In this paper, we discuss such a \"hot swap\" method for the software system, as well as ways to divide the whole system into basic modules and to reorganize them. We focus on methods using facilities that are available in traditional UNIX-type operating systems, such as dynamic linking or process management. With experiments on prototype routines, we demonstrate the feasibility of such a technique, which employs a version manager routine included in a simple example application.","PeriodicalId":170375,"journal":{"name":"Proceedings International Symposium on Principles of Software Evolution","volume":"15 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2000-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings International Symposium on Principles of Software Evolution","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ISPSE.2000.913252","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5
Abstract
With the increased complexity of software and requirements for non-stop service features, it is important to establish an effective method for online or runtime program updating. For commercial servers, even a short break of service can cause a great loss for a company, and modern complex software systems are frequently updated for patching security holes or adding new features. To cope with such situations, a new paradigm for easy and effective software maintenance is needed. Many approaches have been proposed in software engineering for autonomous evolution or growth schemes, while in the domain of computer hardware or traditional machines, the in-operation replacement of parts (known as a "hot swap"), where a defective module in a complex system can be replaced during its operation, is common. In this paper, we discuss such a "hot swap" method for the software system, as well as ways to divide the whole system into basic modules and to reorganize them. We focus on methods using facilities that are available in traditional UNIX-type operating systems, such as dynamic linking or process management. With experiments on prototype routines, we demonstrate the feasibility of such a technique, which employs a version manager routine included in a simple example application.