US 11,915,236 B2
Immutable database for bitemporal analysis
Philip Austin Kedy, Oakton, VA (US); Kenneth J. Schneider, Arlington, VA (US); and Aaron Zhang, McLean, VA (US)
Assigned to Capital One Services, LLC, McLean, VA (US)
Filed by Capital One Services, LLC, McLean, VA (US)
Filed on Nov. 1, 2021, as Appl. No. 17/516,345.
Claims priority of provisional application 63/157,455, filed on Mar. 5, 2021.
Prior Publication US 2022/0284422 A1, Sep. 8, 2022
Int. Cl. G06F 16/00 (2019.01); G06Q 20/38 (2012.01); G06F 16/21 (2019.01); G06F 16/215 (2019.01); G06F 16/901 (2019.01); H04L 41/0806 (2022.01); H04L 69/00 (2022.01); G06F 16/23 (2019.01); G06Q 20/08 (2012.01); H04L 41/0816 (2022.01); H04L 41/0853 (2022.01); H04L 41/0866 (2022.01); H04L 67/00 (2022.01); H04L 69/08 (2022.01); H04L 9/40 (2022.01); G06Q 40/00 (2023.01)
CPC G06Q 20/389 (2013.01) [G06F 16/215 (2019.01); G06F 16/219 (2019.01); G06F 16/2308 (2019.01); G06F 16/2358 (2019.01); G06F 16/2365 (2019.01); G06F 16/2379 (2019.01); G06F 16/9024 (2019.01); G06Q 20/08 (2013.01); H04L 41/0806 (2013.01); H04L 41/0816 (2013.01); H04L 41/0856 (2013.01); H04L 41/0866 (2013.01); H04L 67/34 (2013.01); H04L 69/02 (2013.01); H04L 69/08 (2013.01); G06Q 40/00 (2013.01); H04L 63/20 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method executed by a bitemporal ledger in a data processing system, the method comprising:
storing a sequence of transactions in the bitemporal ledger, wherein the sequence of transactions includes a plurality of transactions previously received by the data processing system in a temporal sequence up to a current time;
receiving, by the data processing system, a transaction for processing by the data processing system and temporal metadata associated with the transaction, wherein the temporal metadata includes a valid-from time and a creation time, and wherein the valid-from time indicates a specific execution time in the sequence of transactions in relation to the current time and the creation time indicates when the transaction is created in relation to the plurality of transactions in the sequence of transactions;
appending, in the bitemporal ledger, the transaction to a position in the sequence of transactions, wherein the position is based on the temporal metadata, wherein the plurality of transactions includes a second transaction and a plurality of subsequent transactions, wherein the transaction is a correcting transaction configured to correct an error in the second transaction;
generating, based on the correcting transaction, an alternate sequence of transactions separate from the sequence of transactions, wherein the alternate sequence of transactions includes the plurality of transactions, the correcting transaction, and a second plurality of subsequent transactions that occur subsequent to the current time; and
replacing the sequence of transactions with the alternate sequence of transactions in the bitemporal ledger.