发明名称 Dynamic update of a distributed message processing system
摘要 A distributed system with multiple nodes, each of which processes input data streams according to a set of independent, asynchronous processing components connected in a manner represented by a directed graph, is dynamically updated. Such a dynamic update occurs while the system is processing input data by pausing the input data stream, making changes to the system configuration, and then restarting the input data stream. If the update fails for any reason, the system configuration is rolled back to its prior state.
申请公布号 US9367301(B1) 申请公布日期 2016.06.14
申请号 US201313787047 申请日期 2013.03.06
申请人 Attivio Inc. 发明人 Serrano Martin Anthony;Johnson, III William K.
分类号 G06F9/445;G06F9/44 主分类号 G06F9/445
代理机构 Patent GC LLC 代理人 Patent GC LLC
主权项 1. In a distributed message processing system, having a plurality of nodes implemented on one or more computers, each node independently processing input streams of data, according to a set of independent, asynchronous processing components connected in a manner represented by a directed graph, a process for dynamically updating, on each node, a runtime version of computer program defining the set of processing components during execution of the runtime version, comprising: receiving a new runtime version of the computer program into memory; determining differences between the new runtime version of the computer program and a current runtime version of the computer program; preparing a change listing defining an ordered set of commands for each node to perform to modify the current runtime version of the computer program into the new runtime version of the computer program, such commands being invertible such that when an inverse of such commands are performed in reverse order, the current runtime version of the computer program is restored; pausing the input streams of data from being provided to the nodes; instructing each node to update the runtime version of the computer program from the current version to the new version; monitoring progress of updates to the nodes; after failure of the update by one or more nodes, instructing the nodes to rollback the update to the current runtime version of the computer program; and after rollback or successful update by the nodes, resuming the input streams of data to be provided to the nodes.
地址 Newton MA US