US 11,669,547 B2
Parallel data synchronization of hierarchical data
Sean Mahbod, Los Altos Hills, CA (US); Liangqi Wang, Pleasanton, CA (US); and Junyi Song, San Mateo, CA (US)
Assigned to Zuora, Inc., Redwood City, CA (US)
Filed by Zuora, Inc., Redwood City, CA (US)
Filed on May 31, 2022, as Appl. No. 17/829,098.
Application 17/829,098 is a continuation of application No. 16/891,072, filed on Jun. 3, 2020, granted, now 11,347,768.
Claims priority of provisional application 62/856,708, filed on Jun. 3, 2019.
Prior Publication US 2022/0292110 A1, Sep. 15, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/30 (2019.01); G06F 16/27 (2019.01); G06F 12/0875 (2016.01); G06F 16/28 (2019.01)
CPC G06F 16/27 (2019.01) [G06F 12/0875 (2013.01); G06F 16/282 (2019.01); G06F 2212/1041 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A computer-implemented method for syncing data between a first computing system and a second computing system, the method comprising:
performing a first cache lookup of a data sync cache prior to initiating a sync of a first child data object of a first parent data object;
determining, based at least in part on the first cache lookup, that the data sync cache contains first parent data object sync information indicating that the first parent data object has been successfully synced from the first computing system to the second computing system, the first parent data object having been synced by a sync engine;
retrieving the first child data object from a first datastore associated with the first computing system;
initiating, by the sync engine, the sync of the first child data object to a second datastore associated with the second computing system;
performing one or more second cache lookups of the data sync cache for second parent data object sync information indicating that a second parent data object of a second child data object has been successfully synced from the first computing system to the second computing system;
determining, responsive at least in part to the one or more second cache lookups, that a threshold number of cache misses have occurred, each cache miss indicating that the data sync cache does not contain the second parent data object sync information;
responsive at least in part to determining that the threshold number of cache misses have occurred, retrieving the second child data object from a third datastore associated with the first computing system; and
initiating, by the sync engine, a sync of the second child data object to a fourth datastore associated with the second computing system.