US 11,775,561 B2
Extensible file synchronization
Neil Moore, Edinburgh (GB); Adrian O'Lenskie, West Lothian (GB); and Peter Brown, Dunblane (GB)
Assigned to ADOBE, INC., San Jose, CA (US)
Filed by ADOBE INC., San Jose, CA (US)
Filed on Jan. 6, 2021, as Appl. No. 17/142,773.
Application 17/142,773 is a continuation of application No. 15/293,109, filed on Oct. 13, 2016, granted, now 10,902,019.
Prior Publication US 2021/0124763 A1, Apr. 29, 2021
Int. Cl. G06F 16/27 (2019.01); G06F 16/178 (2019.01)
CPC G06F 16/275 (2019.01) [G06F 16/178 (2019.01)] 19 Claims
OG exemplary drawing
 
1. A method, performed by a computing device, for extending a file synchronization system with custom synchronization procedures, the method comprising:
monitoring, by a primary agent on the computing device, local changes to a first copy of a file tree and updates from another computing device regarding remote changes to a second copy of the file tree;
identifying, by the primary agent, a change to the first copy of the file tree or the second copy of the file tree;
creating, by the primary agent, a synchronization plan for the change, wherein the synchronization plan comprises a directed acyclic graph (DAG) including a set of synchronization actions to be executed by the primary agent, and an ordering of the set of synchronization actions represented, wherein the set of synchronization actions comprises at least one of upload file, move file, rename file, download file, delete file, create directory, move directory, rename directory, download directory, and delete directory;
sending, by the primary agent via electronic communication, the synchronization plan to a custom agent for customization, including the set of synchronization actions to be executed by the primary agent and an attribute associated with the change;
receiving, by the primary agent via electronic communication, a custom synchronization plan from the custom agent, wherein the custom agent determined, based on the attribute, a requirement to create the custom synchronization plan and created the custom synchronization plan by modifying the DAG representing the synchronization plan, wherein the custom synchronization plan includes at least one of the set of synchronization actions; and
modifying, by the primary agent, files of the first copy of the file tree or the second copy of the file tree based on the custom synchronization plan.