Run-time Software Upgrading Framework for Mission Critical Network Applications

Seung-Woo Hong, Seong Moon, Ho-Yong Ryu

2017

Abstract

In mission critical and safety software applications such as internet infrastructure, telecommunication, military and medical applications, service continuity is very important. Since for these applications it is unacceptable to shut-down and restart the system during software upgrade, run-time software upgrade techniques, which are deployed for online maintenance and upgrades without shutdown the system, can meet the demand for high levels of system availability and service continuity. However, upgrading an application while it is running without shut-down is a complex process. The new and the old component may differ in the functionality, interface, and performance. Only selected components of an application are changed while the other parts of the application continue to function. It is important to safeguard the software application’s integrity when changes are implemented at runtime. Various researchers have employed different tactics to solve the problem of run-time software upgrade such as compiler-based methods, hardware-based method, and analytic redundancy based. In order to ensure a reliable run-time upgrade, we designed and implemented a software framework based run-time software upgrading method, which has the ability to make runtime modification is considered at the software architecture-level. In this paper, we present the software component architecture for run-time upgrade and software upgrade procedure, and then show the implementation results.

References

  1. Jeff Magee and Jeff Kramer, “Dynamic Structure in Software Architectures,” Fourth SIGSOFT Symposium on the Foundations of Software Engineering (FSE), pp. 3-14, San Francisco, October 1996.
  2. Peyman Oreizy and Richard N. Taylor, “On the Role of Software Architectures in Runtime System Reconfiguration,” Proceedings of the International Conference on Configurable Distributed Systems (ICCDS 4), Annapolis, Maryland, May 1998.
  3. Deepak Gupta and Pankaj Jalote, “Increasing System Availability through On-Line Software Version Change,” Proceedings of 1993 IEEE 23rd International Symposium On Fault-Tolerant Computing, pp. 30-35, August 1993.
  4. Jonathan E. Cook, Jeffrey A. Dage, “Highly Reliable Upgrading of Components”, IEEE/ACM International Conference on Software Engineering (ICSE 7899), pp.203-212, Los Angeles, CA. 1999.
  5. Mike Gagliardi, Raj Rajkumar, and Lui Sha, “Designing for Evolvability: Building Blocks for Evolvable RealTime Systems,” In Proceedings of the IEEE Real-time Technology and Applications Symposium, pp. 100- 109, June 1996.
  6. L. A. Tewksbury, Louise E. Moser, P. M. Melliar-Smith, “Live Upgrades for CORBA Applications using object replication,” IEEE International Conference on Software Maintenance, pp488-497, Florence, Italy, Nov. 2001.
  7. Louise E. Moser, P. M. Melliar-Smith, P. Narasimhan, L.A. Tewksbury, V. Kalogeraki, “Eternal: fault tolerance and live upgrades for distributed object systems,” Proceedings of IEEE information Survivability Conference and Exposition (DISCEX 2000), Vol.2, pp184-196, 2000.
  8. Michael Franz, “Dynamic Linking of Software Components”, IEEE Computer, Vol. 30, No. 3, pp. 74- 81, March 1997.
  9. W. Wilson Ho and Ronald A. Olsson, “An approach to genuine dynamic linking”, Software-Pratice and Experience, Vol. 21, No. 4, pp. 375-390, April, 1991.
  10. Donn Seeley, “Shared Libraries as Objects,” USENIX Summer Conference Proceedings, pp. 25-37, 1990.
  11. S. Drossopoulou and S. Eisenbach, Manifestations of Dynamic Linking, The First Workshop on Unanticipated Software Evolution (USE 2002), Málaga, Spain, June 2002.
  12. L. Yu, G.C. Shoja, H.A. Muller, A. Srinivasan. "A Framework for Live Software Upgrade", Software Reliability Engineering, 2002, ISSRE 2003, Proceedings. pp. 149 - 158.
  13. H. Chen, J. Yu, R. Chen, B Zang. "POLUS: A POwerful Live Updating System", 29th International Conference on Software Engineering, May 2007, ICSE'07.
  14. S. Fahmi, H. Choi, “Life Cycles for Component Based Software Development”, IEEE 8th International Conference on Computer and Information Technology Workshops, July 2008, CIT Workshop 2008.
  15. I. Neamtiu, M. Hicks, G. Stoyle, and M. Oriol, “Practical dynamic software updating for C,” in Proc. ACM SIGPLAN Conf. Program. Language Design Implementation, 2006, pp. 72-83.
  16. K. Makris, R. Bazzi, “Immediate multi-threaded dynamic software updates using stack reconstruction”, Proc. Conf. USENIX Annu. Tech. Conf., 2009, p. 31.
  17. Kristis Makris, Rida A. Bazzi, Immediate multi-threaded dynamic software updates using stack reconstruction, Proceedings of the 2009 conference on USENIX Annual technical conference, p.31-31, June 14-19, 2009, San Diego, California.
  18. G. Chen, H. Jin, D. Zou, Z. Liang, B. B. Zhou, H. Wang. "A Framework for Practical Dynamic Software Updating", IEEE Transactions on Parallel and Distributed Systems, April 1 2016, pp. 941-950.
Download


Paper Citation


in Harvard Style

Hong S., Moon S. and Ryu H. (2017). Run-time Software Upgrading Framework for Mission Critical Network Applications . In Proceedings of the 19th International Conference on Enterprise Information Systems - Volume 2: ICEIS, ISBN 978-989-758-248-6, pages 727-732. DOI: 10.5220/0006355007270732


in Bibtex Style

@conference{iceis17,
author={Seung-Woo Hong and Seong Moon and Ho-Yong Ryu},
title={Run-time Software Upgrading Framework for Mission Critical Network Applications},
booktitle={Proceedings of the 19th International Conference on Enterprise Information Systems - Volume 2: ICEIS,},
year={2017},
pages={727-732},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006355007270732},
isbn={978-989-758-248-6},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 19th International Conference on Enterprise Information Systems - Volume 2: ICEIS,
TI - Run-time Software Upgrading Framework for Mission Critical Network Applications
SN - 978-989-758-248-6
AU - Hong S.
AU - Moon S.
AU - Ryu H.
PY - 2017
SP - 727
EP - 732
DO - 10.5220/0006355007270732