connection path is preserved, which means that RIP
router ‘A’ still has its routing state consistency after
changing the dynamic module.
4 CONCLUSIONS
Service continuity is very important in mission
critical and safety software application such as
internet infrastructure, telecommunication, military
and medical applications, since these applications
above, it is unacceptable to shut-down and restart the
system during software upgrade. The purpose of
run-time software upgrade technique is to
dynamically upgrade the behaviour of a running
software system without the software outage and
service interruption. In this article, we present a run-
time software upgrading method based on software
architecture. We proposed the software framework
for dynamic software module architecture and run-
time module upgrading procedure. Also, we
implemented the proposed scheme and show results
of run-time upgrading via network router software.
In future work, we will focus on further enhanced
features such performance measurement and dealing
with the case that user data structure is changed in
run-time.
ACKNOWLEDGMENTS
This research was supported by the IT R&D program of
MSIP (Ministry of Science, ICT and Future Planning) /
IITP (Institute for Information & Communication
Technology Promotion). [R0101-16-0070, Development
of The High Availability Network Operating System for
Supporting Non-Stop Active Routing]. This research was
supported by the National Research Foundation of Korea
(NRF-2012R1A1A2044460).
REFERENCES
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.
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.
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.
Jonathan E. Cook, Jeffrey A. Dage, “Highly Reliable
Upgrading of Components”, IEEE/ACM International
Conference on Software Engineering (ICSE ’99),
pp.203-212, Los Angeles, CA. 1999.
Mike Gagliardi, Raj Rajkumar, and Lui Sha, “Designing
for Evolvability: Building Blocks for Evolvable Real-
Time Systems,” In Proceedings of the IEEE Real-time
Technology and Applications Symposium, pp. 100-
109, June 1996.
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.
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.
Michael Franz, “Dynamic Linking of Software
Components”, IEEE Computer, Vol. 30, No. 3, pp. 74-
81, March 1997.
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.
Donn Seeley, “Shared Libraries as Objects,” USENIX
Summer Conference Proceedings, pp. 25-37, 1990.
S. Drossopoulou and S. Eisenbach, Manifestations of
Dynamic Linking, The First Workshop on
Unanticipated Software Evolution (USE 2002),
Málaga, Spain, June 2002.
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.
H. Chen, J. Yu, R. Chen, B Zang. "POLUS: A POwerful
Live Updating System", 29th International Conference
on Software Engineering, May 2007, ICSE'07.
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.
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.
K. Makris, R. Bazzi, “Immediate multi-threaded dynamic
software updates using stack reconstruction”, Proc.
Conf. USENIX Annu. Tech. Conf., 2009, p. 31.
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.
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.