US 11,940,877 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/224,365.
Claims priority of provisional application 62/751,156, filed on Oct. 26, 2018.
Prior Publication US 2020/0133786 A1, Apr. 30, 2020
Int. Cl. G06F 15/16 (2006.01); 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)] 22 Claims
OG exemplary drawing
 
1. A method of restoring a shared directory to a state prior to a past synchronization event, the method comprising:
causing, by a content management system, a client device associated with a first user account to present a content item directory displaying a first set of content items in the shared directory and a history panel displaying a history of synchronization events for the shared directory in a user interface, the shared directory is shared by at least the first user account and a second user account of the content management system, the shared directory being synchronized between the client device associated with the first user account, a second client device associated with the second user account, and the content management system, the history of synchronization events for the shared directory lists changes for content items in the shared directory and its subdirectories;
receiving, via the content item directory, a first request from the user interface to display a second set of content items of a subdirectory of the shared directory;
after receiving the first request, causing the client device to concurrently present a history of the subdirectory of the shared directory in the history panel of the user interface along with the second set of content items at the content item directory;
receiving, from the client device, a second request in the user interface to return the subdirectory of the shared directory to a target state prior to a past synchronization event of the history of synchronization events of the subdirectory;
identifying, by the content management system, a plurality of synchronization events in a period of time between a current state and the target state of the subdirectory, the plurality of synchronization events including adding or removing a content item or mounting or unmounting subdirectories of the subdirectory;
restoring a directory structure of the subdirectory by performing reverse synchronization actions that return the directory structure to the target state prior to the past synchronization event;
after the restoring the directory structure, restoring each content item to one or more blocks of each content item, wherein during the restoration of the directory structure, the content management system receives synchronization events for the shared directory or other directories of the first user account and the content management system; and
causing the client device to present, in the history panel of the user interface, a synchronization event reflecting the return to the target state.