| CPC G06F 16/27 (2019.01) [G06F 1/04 (2013.01); G06F 3/0619 (2013.01); G06F 3/0623 (2013.01); G06F 3/0629 (2013.01); G06F 3/065 (2013.01); G06F 3/0652 (2013.01); G06F 3/067 (2013.01); G06F 9/547 (2013.01); G06F 11/1469 (2013.01); G06F 12/1466 (2013.01); G06F 16/11 (2019.01); G06F 16/113 (2019.01); G06F 16/116 (2019.01); G06F 16/119 (2019.01); G06F 16/122 (2019.01); G06F 16/125 (2019.01); G06F 16/128 (2019.01); G06F 16/13 (2019.01); G06F 16/137 (2019.01); G06F 16/148 (2019.01); G06F 16/152 (2019.01); G06F 16/156 (2019.01); G06F 16/16 (2019.01); G06F 16/162 (2019.01); G06F 16/168 (2019.01); G06F 16/172 (2019.01); G06F 16/1734 (2019.01); G06F 16/1744 (2019.01); G06F 16/176 (2019.01); G06F 16/1767 (2019.01); G06F 16/178 (2019.01); G06F 16/1787 (2019.01); G06F 16/18 (2019.01); G06F 16/182 (2019.01); G06F 16/1827 (2019.01); G06F 16/183 (2019.01); G06F 16/184 (2019.01); G06F 16/1844 (2019.01); G06F 16/185 (2019.01); G06F 16/2246 (2019.01); G06F 16/2255 (2019.01); G06F 16/2322 (2019.01); G06F 16/2358 (2019.01); G06F 16/2365 (2019.01); G06F 16/2379 (2019.01); G06F 16/24552 (2019.01); G06F 16/275 (2019.01); G06F 16/9027 (2019.01); G06F 16/907 (2019.01); G06F 16/951 (2019.01); G06F 16/955 (2019.01); G06F 16/958 (2019.01); G06F 21/10 (2013.01); G06F 21/604 (2013.01); G06F 21/6218 (2013.01); H04L 9/3213 (2013.01); H04L 9/3247 (2013.01); H04L 63/08 (2013.01); H04L 63/0853 (2013.01); H04L 63/10 (2013.01); H04L 63/101 (2013.01); H04L 63/102 (2013.01); H04L 67/06 (2013.01); H04L 67/1095 (2013.01); H04L 67/1097 (2013.01); G06F 2201/84 (2013.01); G06F 2212/1052 (2013.01); G06F 2221/2141 (2013.01); H04L 67/01 (2022.05); H04L 67/306 (2013.01)] | 20 Claims |

|
1. A non-transitory computer readable medium comprising instructions, the instructions, when executed by a computing system, cause the computing system to:
retrieve, from a server file journal a journal of revisions at a content management system, a plurality of revisions associated with one or more content items stored at a client device for a user account registered at the content management system;
determine, by a server synchronization service, respective operations based on a respective set of revisions of each content item associated with the plurality of revisions;
based on the respective operations, generate, by the server synchronization service, a set of linearized operations for each content item, wherein the set of linearized operations for each content item translates revisions data at the content management system to operations data for the client device;
generate, by the server synchronization service, a cursor identifying a position in a log of revisions in the journal represented by the set of linearized operations; and
send, by the server synchronization service, to the client device, the set of linearized operations and the cursor, wherein the set of linearized operations is configured to synchronize the one or more content items stored at the client device by causing the client device to use the cursor to identify a last revision and implement at least one modification based on the set of linearized operations.
|