| 研究生: |
魏文康 Wei, Wen-Kang |
|---|---|
| 論文名稱: |
實作主從式系統的服務不中斷軟體升級技術 Implementation of Nonstop Software Update for Client-Server Applications |
| 指導教授: |
斯國峰
Ssu, Kuo-Feng |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電機工程學系 Department of Electrical Engineering |
| 論文出版年: | 2003 |
| 畢業學年度: | 91 |
| 語文別: | 英文 |
| 論文頁數: | 46 |
| 中文關鍵詞: | 軟體升級 |
| 外文關鍵詞: | nonstop software update |
| 相關次數: | 點閱:42 下載:1 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
現今許多的系統軟體是建立在主從式架構環境中,每當為了維護或是升級伺服器時服務因此而中斷,客戶則無法得到伺服器的服務。在商業系統造成利益上的流失;在工業應用與災害偵測上系統則則降低可用率(availability),可能導致嚴重的後果,在理想的情況下,上述的狀況應該完全地被避免。
本篇論文中建立了一個NSU系統,主要解決伺服器端因維護系統或是升級時所造成的服務中斷。當系統管理要關閉伺服器之前,NSU系統能夠提供一個暫時性的伺服器來接管服務,這個暫時性的伺服器是一個新版本的伺服器,並且利用同步全域變數的方式使客戶端並不會感受到有任何的影響,目前NSU是採用Java語言開發並且成功地在Linux作業平台上運作。實驗結果已證明NSU系統所造成的系統負擔並不會超過百分之一。
Many software systems are established in client-server models. If a program on the server needs to be updated due to software maintenance, the service provided by the program must be terminated. The clients cannot be served until the update process is completed. The downtime for the update process reduces commercial profit especially for e-commerce systems. Therefore, how to update software without interfere its service becomes an important research issue.
This thesis develops an NSU system to update general server programs without stopping services. The NSU system can take over the task of old version with a redundant server for updating. The system supports applications with shared variables and maintains data consistency during software update, so the process of updating will not affect clients. The current implementation is designed for Java programs running on the Linux operating system. Experimental results show that the NSU system incurred less than 1% performance overhead during normal execution.
[1] H. Araki, S. Futagami, and K. Nitoh, "A Non-Stop Updating Technique for Device Driver Programs on the IROS Platform," Proceedings of the IEEE International Conference on Communications, vol. 1, pp. 88-92, June 1995.
[2] O. Frieder, G. E. Herman, W. H. Mans.eld, Jr, and M. E. Segal, "Dynamic Program Modification in Telecommunications System," Proceedings of the IEEE International Conference on Software Engineering for Telecommunication, pp. 168-172, July 1989.
[3] L. Nagamat, "Runtime Software Reorganization by Traditional OS Features," Proceedings of IEEE International Symposium on Principles of Software Evolution, pp. 311-315, Nov. 2000.
[4] M. E. Segal and O. Frieder, "Dynamic Program Updating in a Distributed Computer System," Proceedings of the IEEE International Conference on Software Maintenance, pp. 198-203, Oct. 1988.
[5] J. Lyu, Y. Kim, and I. Lee, "A Procedure- Based Dynamic Software Update," Proceedings of the International Conference on Dependable Systems and Networks, pp. 271-280, July 2001.
[6] N. Budhiraja, K. Marzullo, F. B. Schneider, and S. Toueg, "Primary-Backup Protocols: Lower Bounds and Optimal Implementations," Proceedings of the Third IFIP Conference on Dependable Computing for Critical Applications, pp. 321-343, July 1992.
[7] H. Nakamura and S. Futagami, "Non-stop Processor Field Upgrading with Layered Software Architecture," Proceedings of the IEEE GLOBECOM, vol. 3, pp. 1594-1599, Oct. 1998.
[8] K. F. Ssu and H. C. Jiau, "Online Non-stop Software Update using Replicated Execution Blocks," Proceedings of the IEEE International Computer Software and Applications Conference, pp. 319-324, Oct. 2000.
[9] P. Narashimhan, L. E. Moser, and P. M. Melliar-Smith, "State Synchronization and Recovery for Strongly Consistent Replicated CORBA Objects," Proeedings of the IEEE the International Conference on Dependable Systems and Networks, pp. 261-270, July 2001.
[10] L. E. Moser, P. M. Melliar-Smith, and P. Narasimhan, "Consistent Object Replication in the Eternal System," Theory and Practice of Object Systems, vol. 4, no. 2, pp. 81?2, Jan. 1998.
[11] O. Andreasson, "Iptables Tutorial," http://www.net.lter.org/documentation/.
[12] A. S. Tanenbaum, Distributed Operation systems. Pretice Hall, 1995.