US 11,782,908 B1
Systems and methods to process an erroneously pre-committed transaction on a target database which has been aborted on a source database and replicated from the source database to the target database
John R. Hoffmann, Kennett Square, PA (US); Bruce D. Holenstein, Media, PA (US); and Paul J. Holenstein, Downingtown, PA (US)
Assigned to GRAVIC, INC., Malvern, PA (US)
Filed by Gravic, Inc., Malvern, PA (US)
Filed on May 12, 2023, as Appl. No. 18/316,961.
Application 18/316,961 is a continuation of application No. 16/904,687, filed on Jun. 18, 2020, granted, now 11,681,686.
Application 16/904,687 is a continuation of application No. 14/619,804, filed on Feb. 11, 2015, granted, now 10,706,041, issued on Jul. 7, 2020.
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/23 (2019.01); G06F 16/27 (2019.01); G06F 16/28 (2019.01)
CPC G06F 16/2379 (2019.01) [G06F 16/27 (2019.01); G06F 16/283 (2019.01)] 20 Claims
OG exemplary drawing
 
1. An automated method of processing a transaction that has been aborted on a source system, wherein transactions are completed within a transaction processing system, and wherein the transactions are replicated from a source database to a target database by a replication engine, and wherein each transaction is a series of one or more transaction steps or operations, and wherein the aborted transaction on the source system was replicated and is a pre-committed transaction on the target database, the method comprising:
(a) providing a transaction pattern table that includes a plurality of records, each record being defined by a transaction pattern identifier, each record including:
(i) a transaction pattern, wherein each completed transaction is the series of one or more transaction steps or operations, and the transaction pattern includes the series of one or more transaction steps or operations of the completed transaction, and
(ii) a metric of occurrence of the transaction pattern,
the plurality of records in the transaction pattern table thereby encompassing information needed to recognize with a degree of confidence that the pre-committed transaction has been observed before;
(b) automatically comparing in a computer processor the series of one or more transaction steps or operations of the pre-committed transaction to the transaction patterns in the transaction pattern table;
(c) identifying in the computer processor, based on the automatic comparison, a subset of transaction patterns in the transaction pattern table that are potential candidates for matching the pre-committed transaction, the subset of transaction patterns belonging to a range of transactions in the transaction pattern table that are candidates for the completed transaction;
(d) categorizing in the computer processor the pre-committed transaction using the metric of occurrence of the transaction pattern for each transaction pattern in the subset of transaction patterns, wherein the categorizing predicts when all of the series of one or more transaction steps or operations which have completed in the source database have been replicated by the replication engine;
(e) predicting from the categorization when the pre-committed transaction is an erroneously committed transaction; and
(f) reversing the pre-committed transaction on the target database when the prediction indicates that the pre-committed transaction was erroneously committed.