US 11,914,617 B2
Executing updates of records in a distributed database system
Austin Douglas McKee, Greeneville, TN (US); and Julien Daniel Wetterwald, San Mateo, CA (US)
Assigned to WEALTHFRONT CORPORATION, Palo Alto, CA (US)
Filed by Wealthfront Corporation, Palo Alto, CA (US)
Filed on Apr. 18, 2022, as Appl. No. 17/723,448.
Claims priority of provisional application 63/176,856, filed on Apr. 19, 2021.
Prior Publication US 2022/0335063 A1, Oct. 20, 2022
Int. Cl. G06F 16/27 (2019.01); G06F 16/23 (2019.01); G06F 16/2455 (2019.01)
CPC G06F 16/275 (2019.01) [G06F 16/2358 (2019.01); G06F 16/2379 (2019.01); G06F 16/24556 (2019.01); G06F 16/273 (2019.01)] 14 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
storing records for a plurality of users in a follower system and a leader system, the stored records comprising records of users, the records of users comprising fields storing values;
storing, by the follower system and the leader system, a set of private logs and a set of public logs, wherein public logs from the set of public logs are periodically synchronized across the follower system and the leader system;
performing, by the leader system, operations specifying a proposed decrease in a value of a field of a user record of the records with operations specifying a proposed increase in the value of the field of the user record without synchronizing with the follower system;
receiving periodically, by the follower system, each update request of update requests, said each update request of the update requests specifying a proposed increase in the value of the field of the user record to make changes to a set of private logs of the follower system, wherein the changes in the set of private logs of the follower system are copied with time delay to a set of public logs of the follower system;
executing, by the follower system, a set of transactions corresponding to said each update request of the update requests, and storing information describing the set of the transactions in the set of private logs of the follower system, the set of the transactions executed prior to synchronizing the public logs of the follower system with public logs of the leader system, wherein the executing includes delaying reporting certain transactions of the set of the transactions for a predetermined length of time interval that is determined automatically by a set of predefined rules while the value of the field is below or above a threshold and making the transactions public once the value of the field reaches the threshold;
receiving, by the follower system, a new update request specifying a proposed decrease in the value of the field of the user record; and
synchronizing periodically, by the follower system via a network, changes to the public logs of the follower system with the public logs of the leader system in response to the receiving the new update request, wherein the follower system synchronizes with the leader system responsive to receiving an operation specifying a proposed decrease in the value of the field of the user record but allows each operation of a plurality of operations specifying a proposed increase in other value of a field of the records before synchronizing with the leader system.