Font Size: a A A

Dynamic Software Updates Using Heterogeneous Checkpoints

Posted on:2015-08-24Degree:MasterType:Thesis
Country:ChinaCandidate:H WangFull Text:PDF
GTID:2308330452957201Subject:Computer technology
Abstract/Summary:PDF Full Text Request
Software is far from perfect at the beginning of its release, with the inevitable presenceof security vulnerabilities, design flaws, program bugs, or evolving with new features.Consequently, updating it again and again is the only way to maintain the software incontemporary information era. Generally, traditional software updating methods usuallyrequire stopping the running software, applying the updates and then restarting the softwareagain. However, the brief stop for some high-availability software, such as server softwareis fatal, due to the great loss in the short period of time with decreasing the availability.To solve the problem above, dynamic software update (Dynamic Software Update,DSU) is born and becomes a desirable promising technique. Among the dynamic softwareupdating approaches, multi-threaded support is challenging, because threadsare executingthe same function and attempt to modify the same data, so it is difficult to ensure dataconsistency. We propose and implement a dynamic software updating (DSU) system basedon Heterogeneous Checkpointing Algorithm which is able to avoid deadlocks betweenthreads,supporting multi-threading software as multi-threaded programming model is sopopular today. It doesn’t require stopping the running software. We use dynamicinstrumentation to insert checkpoint codes into the running software. We insert auxiliarycodes to the running software to be updated and we adopt binary rewriting to achievefunction indirection. We complete dynamic update of the application by dynamic mappingusing stack reconstruction. We implement our DSU system in Linux environment by usingdebugging Application Programming Interface(API) ptrace function provided by OperatingSystem, which enables update process attach to the running process as a monitor to managethe application of dynamic updating.The experimental results show that DSU system can correctly complete the entiredynamic update of the running software at the cost of low runtime overhead withoutstopping it. After update, software continues executing in the state of new version.Meanwhile, it ensures the consistency of data during the whole update process.
Keywords/Search Tags:Dynamic Software Update, Heterogeneous Checkpointing Algorithm, DynamicInstrumentation, Binary Rewriting, Stack Reconstruction
PDF Full Text Request
Related items