-
公开(公告)号:US07784044B2
公开(公告)日:2010-08-24
申请号:US10307902
申请日:2002-12-02
申请人: Garret J. Buban , Paul V. Donlan , Adrian Marinescu , Thomas D. McGuire , David B. Probert , Hoi H. Vo , Zheng Wang
发明人: Garret J. Buban , Paul V. Donlan , Adrian Marinescu , Thomas D. McGuire , David B. Probert , Hoi H. Vo , Zheng Wang
IPC分类号: G06F9/45
摘要: A system and method for automatically updating software components on a running computer system without requiring any interruption of service. A software module is hotpatched by loading a patch into memory and modifying an instruction in the original module to jump to the patch. A coldpatching technique places a coldpatch version of the module on disk for subsequent loading by processes, after hotpatching occurred. The coldpatch has the entry points to its functions at the same relative locations within the module as the hotpatch, which facilitates subsequent hotpatching. A hotpatch and coldpatch are automatically generated by deriving differences between changed and original binary files, and establishing the point to insert the jump. Validation is performed to ensure that the hotpatch is applied to the correct version, and that the coldpatch is replacing the correct version. Version management is also provided to control the number of patches via support rules.
摘要翻译: 一种用于在运行中的计算机系统上自动更新软件组件而不需要任何中断服务的系统和方法。 通过将补丁加载到内存中并修改原始模块中的指令以跳转到修补程序来对软件模块进行热补丁。 冷发技术将冷却版本的模块放在磁盘上,以便在热补丁发生后随后加载进程。 冷补物具有在模块内与热补丁相同的相对位置的入口点,这有助于随后的热补丁。 通过导出更改和原始二进制文件之间的差异,并建立点来插入跳转,自动生成热补丁和冷补。 执行验证以确保热补丁应用于正确的版本,并且冷补正在替换正确的版本。 还提供版本管理以通过支持规则控制补丁的数量。