Improving Society Through Innovation

12,530,338 - Methods for validating transactions in a system that includes indeterministic values and ordering of change log events by using deterministic indicia of the transactions

Abstract:

A method is provided for validating transactions in a system that includes indeterministic ordering of change log events by using deterministic indicia. At least some of the change log events include indeterministic values. 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 redundantly executes the same transactions to be validated. Each transaction includes 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 transaction executing at each node, indeterministic values of the change log events are pre-converted to deterministic values of the change log events. 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 transaction from the ordered subunits. 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.