Font Size: a A A

Dynamic Software Update:a Literature Review And An Experimental Study

Posted on:2013-12-02Degree:MasterType:Thesis
Country:ChinaCandidate:Y YaoFull Text:PDF
GTID:2268330431962023Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Software often needs update to fix bugs, expand functionality, adapt to changes in its environment and requirements after it has been put into operation. Commonly software has to be stopped to apply updates. However frequently restarts may bring trouble or cost unnecessarily. Even worse, stopping mission critical systems could be disastrous. Dynamic software update (DSU) addresses the problems by updating the software system without stopping it. DSU is more challenging than offline updates, mainly because it has to carefully balancing some competing forces, including flexibility, consistency, efficiency, ease of use, etc.Quite a few DSU approaches have been proposed in the literature. Nevertheless there is still a lack of systematic review of the state of art and guidelines for the selection of appropriate techniques to update real-world systems. Especially, we observe that DSU is mainly used to evolve long-running server systems that usually contain several software levels such as programming language runtime, middleware system and business logic. Updating these systems involves the level of not only business logic but also middleware systems. This dissertation focuses on the DSU of these systems. We survey and compare existing DSU techniques systematically, and then evaluate their functionality and performance with experiments.In details, the work can be summarized as follows:1) Proposing a framework for comparing DSU techniques. The framework covers various dimensions such as consistency, flexibility, enforceability, state transformers, efficiency, programmer transparency and concurrency. It also distinguishes three ways for dynamic updating of systems based on middleware with Java language concerned. First, the application supports dynamic update by itself. Second, middleware supports dynamic update of the applications. Third, the Java virtual machine supports dynamic update of programs.2) Reviewing and comparing DUSC, JBoss hot deployment, HotSpot JVM, DCE VM, JRebel, JVolve and JDUS systematically with the above framework, and discussing their usability.3) Designing experiments to evaluate the functions and performance of JBoss hot deployment, DCE VM, JRebel, Jvolve and JDUS. First, we use a set of independent test cases to verify their functionality. Then, we choose the most popular Java middleware JBoss and the benchmark application Daytrader as the experimental subject to assess the performance of these techniques.Based on the survey and experiments, we give suggestions for selecting techniques of dynamic software update according to practical concerns.
Keywords/Search Tags:dynamic software update, middleware, comparing framewOrk
PDF Full Text Request
Related items