Improving Society Through Innovation

12,105,699 - Method for validating subsets of transactions in a system that includes indeterministic ordering of change log events by using deterministic indicia of the transaction subsets

Abstract:

A method is provided for validating transactions in a system that includes indeterministic ordering of change log events by using deterministic indicia. The system includes a plurality of nodes. Each node in the system includes an instance of a database used by an application, and a change log associated with the instance of the database used by the application. Each node executes transactions. Each transaction has a plurality of subsets including one or more data manipulation language (DML) or data definition language (DDL) operations. Results of the DML or DDL operations are stored in the change log as change log events, wherein the order of the change log events stored in the change log on one node is in a different order than the order of change log events stored in the change log of at least one of the other nodes. For each subset of a transaction executing at each node, deterministic subunits of the change log events are defined. Indicia are then computed for each subunit of the change log events. The subunits are ordered by the computed indicia. Deterministic indicia are then computed for the subset of the transaction from the ordered subunits. The subset of the transaction is then validated with at least one of the other nodes using the deterministic indicia. The validation indicates either a match or a mismatch of the deterministic indicia computed at the plurality of nodes. This process is then repeated for one or more remaining subsets of the plurality of subsets of the transaction.