Font Size: a A A

Research On Dynamic Software Updating Technology And The Application Based On KITSUNE System

Posted on:2015-02-28Degree:MasterType:Thesis
Country:ChinaCandidate:X J LiuFull Text:PDF
GTID:2348330509960626Subject:Software engineering
Abstract/Summary:PDF Full Text Request
The software requires maintenance and updating operations to fix software bugs, to extend new features or adapt to new hardware environment in the life cycle. The traditional way for maintenance or upgrades is under shutdown, but some critical applications provide 7x24 services, which require software with high availability. Dynamic software updates(DSU) can reduce the risks and losses of software systems caused by shutdown and restart. Dynamically updating software is becoming increasingly important, and has gained high priority from academia and industry.This paper summarizes relevant knowledge of dynamic software updating and introduces the techniques and issues related to DSU. Then the analysis of KITSUNE principle and related technologies is proposed, including updating points setting, dynamically linking with the state transition, and so on. According to researching on the applications based on KITSUNE system, there are some problems during updating the software by KITSUNE. The corresponding solutions as follows:Firstly, KITSUNE needs to ensure that the critical state of program is consistent during the dynamical updating process. We find that the state of program which needs to be updated under normal execution inconsistent with the state after state transition, resulting in dynamic updating incorrectly. Updating Points policy is proposed to solve this problem by setting the updates points at the beginning of long events handling cycles. It can ensure the program is in the safe state when KITSUNE starts updating, and updating can be executed correctly.Secondly, KITSUNE requires migrating and converting state of the program during the process of dynamic updating. KITSUNE can't support the applications which used custom memory management mechanism as it uses standard memory management functions of ANSI C to operate the dynamic memory. To keep the general and transparency of KITSUNE, we propose the memory management improvement purpose to support updating the applications used custom memory management mechanism based on KITSUNE.Thirdly, to update the Redis database application, we implement a special method to make Redis support updating dynamically based on KITSUNE system by changing the source code about the memory management functions of Redis. Experiment results prove that this method is valid.Finally, Research on updating the Redis database and FTP server program dynamically based on KITSUNE system to verify the correctness of updating points policy and memory management method purposed in this paper. Contrast with executing the software normally, the software which is loaded and executed by KITSUNE leads to little performance loss. By use of the delay caused by KITSUNE, we can analyze the impact of performance during dynamically updating process.
Keywords/Search Tags:Dynamic Software Updating, KITSUNE System, State-Transfer, State Consistency
PDF Full Text Request
Related items