【24h】

Practical dynamic software updating for C

机译:实用的C动态软件更新

获取原文
获取原文并翻译 | 示例
           

摘要

Software updates typically require stopping and restarting an application, but many systems cannot afford to halt service, or would prefer not to. Dynamic software updating (DSU) addresses this difficulty by permitting programs to be updated while they run. DSU is appealing compared to other approaches for on-line upgrades because it is quite general and requires no redundant hardware. The challenge is in making DSU practical: it should be flexible, and yet safe, efficient, and easy to use.In this paper, we present Ginseng, a DSU implementation for C that aims to meet this challenge. We compile programs specially so that they can be dynamically patched, and generate most of a dynamic patch automatically. Ginseng performs a series of analyses that when combined with some simple runtime support ensure that an update will not violate type-safety while guaranteeing that data is kept up-to-date. We have used Ginseng to construct and dynamically apply patches to three substantial open-source server programs---Very Secure FTP daemon, OpenSSH sshd daemon, and GNU Zebra. In total, we dynamically patched each program with three years' worth of releases. Though the programs changed substantially, the majority of updates were easy to generate. Performance experiments show that all patches could be applied in less than 5 ms, and that the overhead on application throughput due to updating support ranged from 0 to at most 32%.
机译:软件更新通常需要停止并重新启动应用程序,但许多系统无法停止服务,或者愿意这样做。动态软件更新(DSU)通过允许程序在运行时进行更新来解决此难题。与其他在线升级方法相比,DSU具有吸引力,因为它非常通用,并且不需要冗余硬件。挑战在于使DSU实用:它应该灵活,安全,高效且易于使用。在本文中,我们介绍了针对C的DSU实现人参,旨在应对这一挑战。我们专门编译程序,以便可以对它们进行动态修补,并自动生成大多数动态修补程序。人参进行了一系列分析,与一些简单的运行时支持结合使用时,可以确保更新不会违反类型安全性,同时还能保证数据是最新的。我们已经使用人参来构建补丁并将补丁动态地应用于三个重要的开源服务器程序-极安全FTP守护程序,OpenSSH sshd守护程序和GNU Zebra。总体而言,我们为每个程序提供了三年的动态补丁。尽管程序进行了重大更改,但大多数更新很容易生成。性能实验表明,所有补丁程序都可以在不到5毫秒的时间内完成应用,并且由于更新支持而导致的应用程序吞吐量的开销范围从0到最多32%。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号