×

Dynamic update of a distributed message processing system

  • US 9,367,301 B1
  • Filed: 03/06/2013
  • Issued: 06/14/2016
  • Est. Priority Date: 03/06/2013
  • Status: Active Grant
First Claim
Patent Images

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.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×