Hosted file sync with stateless sync nodes
First Claim
1. A method comprising:
- synchronizing a set of files and/or folders between a client device and a remote file server, via a sync node, and storing a synchronization state of the synchronizing by the sync node within a runtime state store managed independent of the sync node by a host service;
receiving, by the host service from the client device, a sync request for synchronizing the set of files and/or folders between the client device and the remote file store;
selecting, by the service, one or more stateless sync nodes from among a plurality of stateless sync nodes of the host service, for resuming synchronizing the set of files and/or folders between the client device and the remote file server, wherein the one or more stateless sync nodes do not maintain a synchronization state between the client device and the remote file store for the set of files and/or folders;
transmitting, by the host service, the synchronization state of the set of files and/or folders of the synchronizing performed by the sync node from the runtime state store to the one or more stateless sync nodes;
continuing synchronizing, by the one or more stateless sync nodes, the set of files and/or folders based on the synchronization state provided by the host service from the runtime state store, where the continuing of the synchronizing results in one or more changes to the client device and/or the remote file store; and
committing, by the service, the one or more changes.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed herein is a system and method 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. When the client desires to synchronize with the files stored on the hosted file store the process identifies a sync role that can process the request. The particular sync role does not need to maintain state with the client device or the file store. The state necessary for the processing of the synchronization process is maintained separate from the sync role such that any sync role in the system can pick up the requests and process the requests. Once the role has been selected the synchronization process proceeds as normal. As state is not maintained by the sync role multiple roles can process the request or two roles can handle different portions of the process.
16 Citations
20 Claims
-
1. A method comprising:
-
synchronizing a set of files and/or folders between a client device and a remote file server, via a sync node, and storing a synchronization state of the synchronizing by the sync node within a runtime state store managed independent of the sync node by a host service; receiving, by the host service from the client device, a sync request for synchronizing the set of files and/or folders between the client device and the remote file store; selecting, by the service, one or more stateless sync nodes from among a plurality of stateless sync nodes of the host service, for resuming synchronizing the set of files and/or folders between the client device and the remote file server, wherein the one or more stateless sync nodes do not maintain a synchronization state between the client device and the remote file store for the set of files and/or folders; transmitting, by the host service, the synchronization state of the set of files and/or folders of the synchronizing performed by the sync node from the runtime state store to the one or more stateless sync nodes; continuing synchronizing, by the one or more stateless sync nodes, the set of files and/or folders based on the synchronization state provided by the host service from the runtime state store, where the continuing of the synchronizing results in one or more changes to the client device and/or the remote file store; and committing, by the service, the one or more changes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 19, 20)
-
-
8. A computing device comprising:
memory that is coupled to at least one hardware computing device and that includes computer executable instructions that, based on execution by the at least one hardware computing device, configure a service to perform actions comprising; synchronizing a set of files and/or folders between a client device and a remote file server, via a sync node, and storing a synchronization state of the synchronizing by the sync node within a runtime state store managed independent of the sync node by a host service; receiving, by the host service from the client device, a sync request for synchronizing the set of files and/or folders between the client device and the remote file store; selecting, by the host service, one or more stateless sync nodes from among a plurality of stateless sync nodes of the host service, for synchronizing the set of files and/or folders between the client device and the remote file server, wherein the one or more stateless sync nodes do not maintain a synchronization state between the client device and the remote file store for the set of files and/or folders; transmitting, by the host service, the synchronization state of the set of files and/or folders of the synchronizing performed by the sync node from the runtime state store to the one or more stateless sync nodes; continuing synchronizing, by the one or more stateless sync nodes, the set of files and/or folders based on the synchronization state provided by the host service from the runtime state store, where the continuing of the synchronizing results in one or more changes to the client device and/or the remote file store; and committing, by the service, the one or more changes. - View Dependent Claims (9, 10, 11, 12, 13)
-
14. A non-transitory computer-readable medium storing program instructions which when executed by a processor cause a computer to perform a method comprising:
-
synchronizing a set of files and/or folders between a client device and a remote file server, via a sync node, and storing a synchronization state of the synchronizing by the sync node within a runtime state store managed independent of the sync node by a host service; receiving, by the host service from the client device, a sync request for synchronizing the set of files and/or folders between the client device and the remote file store; selecting, by the host service, one or more stateless sync nodes from among a plurality of stateless sync nodes of the host service, for synchronizing the set of files and/or folders between the client device and the remote file server, wherein the one or more stateless sync nodes do not maintain a synchronization state between the client device and the remote file store for the set of files and/or folders; transmitting, by the host service, the synchronization state of the set of files and/or folders of the synchronizing performed by the sync node from the runtime state store to the one or more stateless sync nodes; continuing synchronizing, by the one or more stateless sync nodes, the set of files and/or folders based on the synchronization state provided by the host service from the runtime state store, where the continuing of the synchronizing results in one or more changes to the client device and/or the remote file store; and committing, by the service, the one or more changes. - View Dependent Claims (15, 16, 17, 18)
-
Specification