US 11,055,261 B2
In-application support for topological changes to files during remote synchronization
Yisheng Chen, Issaquah, WA (US); Tejprakash Singh Gill, Bellevue, WA (US); Kevin Paschal D'Souza, Sammamish, WA (US); George N. Armah, Kirkland, WA (US); and Brian David Jones, Woodinville, WA (US)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed on May 14, 2018, as Appl. No. 15/979,113.
Claims priority of provisional application 62/636,705, filed on Feb. 28, 2018.
Prior Publication US 2019/0266258 A1, Aug. 29, 2019
Int. Cl. G06F 16/178 (2019.01); G06F 16/25 (2019.01); G06F 16/16 (2019.01); G06F 16/23 (2019.01); G06F 16/182 (2019.01)
CPC G06F 16/178 (2019.01) [G06F 16/16 (2019.01); G06F 16/182 (2019.01); G06F 16/23 (2019.01); G06F 16/252 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A method for moving or renaming a locally-stored file during synchronization between a client computing device having a local storage and a remote service having a remote storage, the method comprising:
receiving, at a productivity application configured to edit the contents of the locally-stored file stored in the local storage, a request to move or rename the locally-stored file, wherein the request indicates a directory location and an updated file name, and wherein the locally-stored file is opened for editing in the productivity application;
determining whether the directory location is a valid or an invalid directory location for the local storage;
in response to determining that the directory location is invalid,
causing the productivity application that is editing the locally-stored file to unlock the locally-stored file to enable a synchronization application to modify the locally-stored file, wherein the synchronization application executes separately from the productivity application,
communicating metadata and the contents of the locally-stored file to the remote service, wherein the metadata indicates the directory location and the updated file name, the metadata causing the remote service to store the contents in a remotely-stored file stored on the remote storage using the directory location and the updated file name,
causing the productivity application to transition to a server mode enabling communication and storage of edits to the content directly to the remotely-stored file stored on the remote storage, and
instructing the synchronization application to remove the locally-stored file from the local storage and update a database record indicating the directory location and the updated file name; and
in response to determining that the directory location is valid,
causing the productivity application to move or rename the locally-stored file to the directory location on the local storage using the updated file name,
communicating the metadata and the contents of the locally-stored file to the remote service, wherein the metadata indicates the directory location and the updated file name, the metadata causing the remote service to store the contents in the remotely-stored file stored on the remote storage using the updated file name and the directory location, wherein the contents are concurrently stored in the remotely-stored file and the locally-stored file, and wherein the productivity application stores edits made to the content directly to the locally-stored file on the local storage, and
causing the synchronization application to update the database record indicating the directory location and the updated file name.