US 12,450,228 B1
Conditional database synchronization
Jeff Crouch, Bloomington, IL (US); Calvin James Scarbrough, Jr., Plano, TX (US); Suresh Babu Gajendran, Fairview, TX (US); Jason Young, San Tan Valley, AZ (US); and Isabelle Giovinazzo, Dallas, TX (US)
Assigned to State Farm Mutual Automobile Insurance Company, Bloomington, IL (US)
Filed by State Farm Mutual Automobile Insurance Company, Bloomington, IL (US)
Filed on Nov. 29, 2023, as Appl. No. 18/523,538.
Int. Cl. G06F 16/23 (2019.01)
CPC G06F 16/2379 (2019.01) 17 Claims
OG exemplary drawing
 
1. A method comprising:
receiving, by a processor, a first timestamp for a first data record, wherein the first data record is stored on a first database that is accessible by the processor via a first remote connection;
querying, at a first time, by the processor, and using a first execution thread, a second database to retrieve first log data, the first log data representing: (i) a first update indicator representing whether a third database has been updated based on the first data record, and (ii) a first error indicator representing whether the first data record is determined to have satisfied an error condition, wherein:
the second database is accessible by the processor via a local connection, and
the third database is accessible by the processor via a second remote connection;
determining, by the processor and based on the first log data, that a first pending flag is affirmative and indicates that the first update indicator and the first error indicator are both negative;
based on determining that the first pending flag is affirmative, querying, by the processor and based on the first data record, the third database to determine a second timestamp for the first data record;
updating, by the processor, the third database based on a first deviation between the first timestamp and the second timestamp;
updating, by the processor, the second database to set the first update indicator to affirmative; and
querying, at a second time after the first time, by the processor, and using a second execution thread executed in parallel with the first execution thread, the second database to retrieve the first update indicator, wherein:
the first execution thread and the second execution thread are associated with a shared memory for intra-thread communication, and
the shared memory stores the first update indicator.