US 11,755,580 B2
Method and system for defining an object-agnostic offlinable synchronization model
Kaarthik Balasubrahmanian, Belmont, CA (US); Donald Creig Humes, Yorktown, VA (US); Hamid Bahadori, Atherton, CA (US); and Sridhar Tadepalli, Bangalore (IN)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Jan. 24, 2022, as Appl. No. 17/582,519.
Application 17/582,519 is a division of application No. 16/877,689, filed on May 19, 2020, granted, now 11,294,904.
Application 16/877,689 is a division of application No. 15/951,041, filed on Apr. 11, 2018, granted, now 10,691,694, issued on Jun. 23, 2020.
Claims priority of provisional application 62/519,076, filed on Jun. 13, 2017.
Claims priority of provisional application 62/519,068, filed on Jun. 13, 2017.
Claims priority of provisional application 62/519,072, filed on Jun. 13, 2017.
Prior Publication US 2022/0147586 A1, May 12, 2022
Int. Cl. G06F 9/46 (2006.01); G06F 16/2455 (2019.01); G06F 16/951 (2019.01); G06F 16/2453 (2019.01); G06F 16/33 (2019.01); G06F 16/957 (2019.01); G06F 16/23 (2019.01); G06F 16/955 (2019.01); G06F 16/25 (2019.01); H04L 67/5683 (2022.01)
CPC G06F 16/24552 (2019.01) [G06F 9/466 (2013.01); G06F 16/2365 (2019.01); G06F 16/2379 (2019.01); G06F 16/2386 (2019.01); G06F 16/2453 (2019.01); G06F 16/252 (2019.01); G06F 16/3349 (2019.01); G06F 16/951 (2019.01); G06F 16/955 (2019.01); G06F 16/9574 (2019.01); H04L 67/5683 (2022.05)] 21 Claims
OG exemplary drawing
 
1. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising:
defining an object-agnostic data structure at runtime according to metadata;
storing an object, obtained from a datastore, as a local version of the object in the object-agnostic data structure;
receiving a transaction for applying to the object;
storing the transaction in a pending transaction queue comprising transactions to be synchronized with the datastore, wherein the transaction is not applied to the local version of the object in the object-agnostic data structure;
receiving a request for a current version of the object;
responsive to receiving the request for the current version of the object:
generating a copy of the local version of the object obtained from the datastore and stored in the object-agnostic data structure;
applying the transaction to the copy of the local version of the object to obtain the current version of the object without applying the transaction to the local version of the object stored in the object-agnostic data structure; and
presenting the current version of the object.