发明名称 DYNAMIC SOFTWARE UPDATES
摘要 A method, and a corresponding system, for dynamically updating software while the software is running by automatically dividing a patch into a plurality of micro-updates using compiler analysis. The method includes providing the patch which includes updates to several variable units of the software, including functions, type definitions, and data stores. Next, an interference graph of the patch is generated by creating a node corresponding to each variable unit of the patch and creating connected components by adding edges connecting variable units having an impact expression with a non-zero intersection. The patch is divided into the micro-updates, where each micro-update corresponds to a connected component. The micro-updates are then applied to the software when the variable units of the micro-update are at a safepoint, and at least two of the micro-updates are applied at different times while the software is running.
申请公布号 US2016098268(A1) 申请公布日期 2016.04.07
申请号 US201514965373 申请日期 2015.12.10
申请人 Hewlett Packard Enterprise Development LP 发明人 Srivilliputtur Mannarswamy Sandya;Saraswati Sujoy
分类号 G06F9/445 主分类号 G06F9/445
代理机构 代理人
主权项 1. A computer-implemented method for dynamically updating software, comprising: a computer receiving a dynamic patch to update a set of variable units of the software; the computer constructing an interference graph of the dynamic patch by: generating a node corresponding to each variable unit of the software, andgenerating edges connecting nodes having impact expressions with a non-zero intersection, wherein a plurality of connected nodes is a connected component, and wherein a non-zero intersection occurs when the impact expression of two nodes intersects; the computer dividing the dynamic patch into a plurality of micro-updates each corresponding to one of the connected components; and the computer applying at least two of the micro-updates to the software independently while the software is running, comprising: selecting a first micro-update from the plurality of micro-updates, andwhen the variable units of the selected micro-update are not at a safepoint, waiting until the variable units are at a safepoint before applying the selected micro-update to the software.
地址 Houston TX US