US 12,216,546 B2
Restoring a directory to a state prior to a past synchronization event
Pranav Vishnu Ramabhadran, Redwood City, CA (US); Ken Park, Pacifica, CA (US); Wes O'Haire, Dublin, CA (US); Raveesh Nayar, San Bruno, CA (US); Helen Lu, San Francisco, CA (US); Grant Mathews, San Francisco, CA (US); Sam Keller, San Francisco, CA (US); Niklas Nordlof, San Francisco, CA (US); Marian Oman, San Francisco, CA (US); and Julia Weingardt, Austin, TX (US)
Assigned to Dropbox, Inc., San Francisco, CA (US)
Filed by Dropbox, Inc., San Francisco, CA (US)
Filed on Dec. 18, 2018, as Appl. No. 16/223,697.
Claims priority of provisional application 62/751,156, filed on Oct. 26, 2018.
Prior Publication US 2020/0133782 A1, Apr. 30, 2020
Int. Cl. G06F 11/14 (2006.01); G06F 16/178 (2019.01); G06F 16/18 (2019.01); H04L 67/1095 (2022.01)
CPC G06F 11/1448 (2013.01) [G06F 11/1451 (2013.01); G06F 11/1458 (2013.01); G06F 16/178 (2019.01); G06F 16/1815 (2019.01); H04L 67/1095 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A non-transitory computer readable medium including instructions stored thereon, the instructions, when executed by a computing system being effective to cause the computing system to:
receive a first request to restore a directory from a current state to a prior state;
predict the prior state of the directory by determining contents of the directory at the prior state from add events, mount events, delete events, or unmount events in a list of synchronization events from a server file journal that have occurred in the directory subsequent to the prior state to determine a predicted prior state;
present a preview of the predicted prior state of the directory;
after an acknowledgment of the preview, plan first synchronization actions, based on the predicted prior state, to restore the directory to the prior state, wherein the first synchronization actions include associating at least one content item present in the prior state with data making up the at least one content item as it existed in the prior state;
execute the first synchronization actions to restore the directory to the prior state, resulting in a first restoration;
during the executing of the first synchronization actions, receive a modification to be performed after the restoration;
determine, based on the modification, that one or more of the first synchronization actions that have yet to be executed is unnecessary;
remove the one or more unnecessary first synchronization actions from execution;
after executing the first synchronization actions to restore the directory to the prior state, synchronize the first restoration of the directory on a content management system with a client device;
receive a second request to restore the directory from the prior state to the current state;
plan second synchronization actions to restore the directory from the prior state to the current state, wherein the second synchronization actions include the first synchronization actions and subsequent synchronization actions including the modification, and wherein the modification in the directory that occurred during the first restoration causes a subset of the one or more second synchronization actions, including the first synchronization actions, to become unnecessary to restore the directory to the current state;
remove the subset of the one or more second synchronization actions from an execution of the second synchronization actions to restore the directory to the current state; and
execute the second synchronization actions to restore the directory to the current state, resulting in a second restoration.