Hosted file sync with direct access to hosted files
First Claim
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.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
18 Citations
20 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
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. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
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 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. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification