MUC: Updating cloud applications dynamically via multi-version execution

被引:3
作者
Qiang, Weizhong [1 ]
Chen, Feng [1 ]
Yang, Laurence T. [2 ]
Jin, Hai [1 ]
机构
[1] Huazhong Univ Sci & Technol, Cluster & Grid Comp Lab, Serv Comp Technol & Syst Lab, Wuhan 430074, Peoples R China
[2] St Francis Xavier Univ, Antigonish, NS, Canada
来源
FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE | 2017年 / 74卷
基金
中国国家自然科学基金;
关键词
Dynamic software updating; Multi-version execution; Cloud;
D O I
10.1016/j.future.2015.12.003
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Cloud applications usually need to provide service continuously, however, updating them to fix bugs or add new features will interrupt the service. Conventional Dynamic Software Updating (DSU) systems try to update applications while running, but they are hardly able to consider the communication of the application to be updated with other programs, and could then lead to some inconsistency. Therefore, the DSU systems could not be directly applied into cloud where one application normally interacts with the other side. We propose an improved DSU system to update cloud applications dynamically, and utilize the multi version execution approach to handle the inconsistent issue. When a new update arrives, instead of updating the application to the new version, we fork a new process of the old version and dynamically update it to the new version, then make these two versions run concurrently until the update finishes. To show the feasibility of the proposed solution, a prototype system called MUC (Multi-version execution for Updating of Cloud) is implemented on Linux, and MUC is applied to update three cloud applications, Redis, Memcached, and Icecast. (C) 2015 Elsevier B.V. All rights reserved.
引用
收藏
页码:254 / 264
页数:11
相关论文
共 23 条
[1]  
[Anonymous], P 8 IEEE INT S FAULT
[2]  
Arnold J., 2009, P 4 ACM EUR C COMP S, P197
[3]  
BHATTACHARYA P., 2010, WORKSHOP ANAL PROGRA, P21
[4]  
Cadaureille Celine, 2012, Inter: Art actuel, P36
[5]  
Chen HB, 2007, PROC INT CONF SOFTW, P271
[6]  
Cook J. E., 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002), P203, DOI 10.1109/ICSE.1999.841010
[7]   ON DYNAMICALLY UPDATING A COMPUTER-PROGRAM - FROM CONCEPT TO PROTOTYPE [J].
FRIEDER, O ;
SEGAL, ME .
JOURNAL OF SYSTEMS AND SOFTWARE, 1991, 14 (02) :111-128
[8]  
Giuffrida C., 2010, P ADV SCH COMP IM AS
[9]   A formal framework for on-line software version change [J].
Gupta, D ;
Jalote, P ;
Barua, G .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1996, 22 (02) :120-131
[10]  
Hayden C. M., 2011, Proceedings 2011 27th IEEE International Conference on Data Engineering Workshops (ICDEW 2011), P179, DOI 10.1109/ICDEW.2011.5767632