Synchronization and strategic storage of multiple versions of a file
US-9805051-B2 · Oct 31, 2017 · US
US10019460B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10019460-B2 |
| Application number | US-201514853746-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 14, 2015 |
| Priority date | Sep 14, 2015 |
| Publication date | Jul 10, 2018 |
| Grant date | Jul 10, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Disclosed herein is a system and method that can be used to synchronize files from a hosted file system where the client endpoint devices have direct access to the files stored on a hosted file store/system. When the client synchronizes with the files stored on the hosted file store the synchronization process identifies the files that need to be synchronized with the client and prepares batches of files to be synced. During the process of synchronization the files are not locked from other user's being able to use the files. If the file is modified by another endpoint during the file synchronization process the file will not be synchronized with the client device during the particular synchronization process. In this way synchronization becomes possible with the hosted service without impacting the performance of other devices that use and access the data in the hosted file store.
Opening claim text (preview).
The invention claimed is: 1. A cloud service for synchronizing files between a client device of a plurality of client devices and a file store through a sync role of the cloud service, the cloud service comprising: at least one client device; memory that is coupled to the at least one computing device and that includes computer-readable instructions that, based on execution by at least one computing device, configure the cloud service to perform actions comprising: receiving, by the cloud service from the client device, a request to synchronize a set of files with a namespace in the file store, where the each of the plurality of client devices has direct access to the file store where the direct access is not through the sync role; locking, by the cloud service in response to the received request, access through the sync role by the plurality of client devices to the namespace, where the locked namespace blocks read and write access through the sync role but where the locked namespace can still be directly accessed by any of the plurality of client devices; uploading, by the cloud service from the client device, the set of files to a staging folder; receiving, by the cloud service via the sync role from the client device in connection with the uploading a set of file metadata for each file in the staged set of files; applying, by the cloud service, each received set of file metadata to its corresponding file of in the staged set of files; first obtaining, by the cloud service subsequent to the applying, an exclusive handle for each of at least a portion of the files in the namespace that corresponds to a file in the staged set of files, where each obtained handle effectively blocks changes to the corresponding file in the namespace by direct access from any of the plurality of client devices; second obtaining, by the cloud service subsequent to the applying, an exclusive handle for each of at least a portion of the files in the staged set of files; and replacing, by the cloud server subsequent to the first and second obtainings, each file in the namespace for which an exclusive handle was obtained with the corresponding file in the staged set of files for which an exclusive handle was obtained. 2. The cloud service of claim 1 , the actions further comprising: determining, by the cloud service subsequent to the applying and prior to the replacing, that metadata of a file in the staged set of files and metadata of the corresponding file in the namespace do not match; and dropping, by the cloud service in response to the determining, any obtained exclusive handle to the file in the staged set of files or any obtained exclusive handle to the corresponding file in the namespace. 3. The cloud service of claim 1 where the file store comprises the namespace. 4. The cloud service of claim 1 where the cloud service is configured for synchronizing files and folders from NTFS, FAT, and SMB file systems. 5. The cloud service of claim 1 where the namespace, when unlocked, can be accessed through the sync role by any of the plurality of client devices, where such access comprises reading and writing files and folder within the namespace. 6. The cloud service of claim 1 where the replacing comprises: first renaming a file in the namespace for which an exclusive handle was obtained from its original name to a temporary name; and second renaming the corresponding file in the staged set of files for which an exclusive handle was obtained to the original name. 7. The cloud service of claim 6 where the renaming further comprises deleting the first renamed file with the temporary name. 8. A method performed on at least one computing device of a cloud service, the method for synchronizing files between a client device of a plurality of client devices and a file store through a sync role of the cloud service, the method comprising: receiving, by the cloud service from the client device, a request to synchronize a set of files with a namespace in the file store, where the each of the plurality of client devices has direct access to the file store where the direct access is not through the sync role; locking, by the cloud service in response to the received request, access through the sync role by the plurality of client devices to the namespace, where the locked namespace blocks read and write access through the sync role but where the locked namespace can still be directly accessed by any of the plurality of client devices; uploading, by the cloud service from the client device, the set of files to a staging folder; receiving, by the cloud service via the sync role from the client device in connection with the uploading a set of file metadata for each file in the staged set of files; applying, by the cloud service, each received set of file metadata to its corresponding file of in the staged set of files; first obtaining, by the cloud service subsequent to the applying, an exclusive handle for each of at least a portion of the files in the namespace that corresponds to a file in the staged set of files, where each obtained handle effectively blocks changes to the corresponding file in the namespace by direct access from any of the plurality of client devices; second obtaining, by the cloud service subsequent to the applying, an exclusive handle for each of at least a portion of the files in the staged set of files; and replacing, by the cloud server subsequent to the first and second obtainings, each file in the namespace for which an exclusive handle was obtained with the corresponding file in the staged set of files for which an exclusive handle was obtained. 9. The method of claim 8 further comprising: determining, by the cloud service subsequent to the applying and prior to the replacing, that metadata of a file in the staged set of files and metadata of the corresponding file in the namespace do not match; and dropping, by the cloud service in response to the determining, any obtained exclusive handle to the file in the staged set of files or any obtained exclusive handle to the corresponding file in the namespace. 10. The method of claim 8 where the file store comprises the namespace. 11. The method of claim 8 where the cloud service is configured for synchronizing files and folders from NTFS, FAT, and SMB file systems. 12. The method of claim 8 where the namespace, when unlocked, can be accessed through the sync role by any of the plurality of client devices, where such access comprises reading and writing files and folder within the namespace. 13. The method of claim 8 where the replacing comprises: first renaming a file in the namespace for which an exclusive handle was obtained from its original name to a temporary name; and second renaming the corresponding file in the staged set of files for which an exclusive handle was obtained to the original name. 14. The method of claim 13 where the renaming further comprises deleting the first renamed file with the temporary name. 15. At least one hardware computer storage medium that includes computer-readable instructions that, based on execution by at least one computing device of a cloud service, configure the cloud service to perform actions for synchronizing files between a client device of a plurality of client devices and a file store through a sync role of the cloud service, the actions comprising: receiving, by the cloud service from the client device, a request to synchronize a set of files with a namespace in the file store, where the each of the plurality of client devices has direct access to the file store where the direct access is not
Techniques for file synchronisation in file systems · CPC title
based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title
Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · CPC title
specially adapted for file transfer, e.g. file transfer protocol [FTP] · CPC title
Physics · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.