Hosted file sync with stateless sync nodes

US11943291B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11943291-B2
Application numberUS-201916558978-A
CountryUS
Kind codeB2
Filing dateSep 3, 2019
Priority dateSep 14, 2015
Publication dateMar 26, 2024
Grant dateMar 26, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method comprising: receiving, from a client device, a sync request for synchronizing data between the client device and a file store on a remote host platform; dividing the sync request into two or more data sync tasks for synchronizing data between the client device and the file store, and assigning the two or more data sync tasks to two or more stateless sync nodes, respectively; transmitting, from a state store to the two or more stateless sync nodes, a synchronization state of the data between the client device and the file store; and synchronizing, via transmissions by the two or more stateless sync nodes, the data based on the synchronization state and the two or more data sync tasks which results in changes to the data stored by at least one of the client device and the file store. 2. The method of claim 1 , wherein the synchronization state comprises a synchronization history of the data between the client and the file store performed by at least one different stateless sync node. 3. The method of claim 1 , further comprising selecting the two or more stateless sync nodes from among a plurality of stateless sync nodes based on a current sync load among the plurality of stateless sync nodes. 4. The method of claim 1 , further comprising selecting the two or more stateless sync nodes from among a plurality of stateless sync nodes based on an expected duration of a sync task identified by the sync request. 5. The method of claim 1 , further comprising selecting the two or more stateless sync nodes from among a plurality of stateless sync nodes based on a round-robin approach. 6. The method of claim 5 , wherein the selecting comprises selecting a different stateless sync node than a most recently selected stateless sync node from among the plurality of stateless sync nodes. 7. The method of claim 1 , wherein the synchronizing comprises resuming synchronizing of the data between the client device and the file store based on a point at which a different stateless sync node finished synchronizing the data between the client device and the file store. 8. A computing system comprising: a network interface device configured to receive, from a client device, a sync request for synchronizing data between the client device and a file store on a remote host platform; at least one processor; and a memory storing instructions that, when executed by the at least one processor, cause the computing system to perform a set of operations, comprising: dividing the sync request into two or more data sync tasks for synchronizing data between the client device and the file store, and assign the two or more sync tasks to two or more stateless sync nodes, respectively; transmitting, from a runtime state store to the two or more stateless sync nodes, a synchronization state of the data between the client device and the file store; and controlling the two or more stateless sync nodes to synchronize the data based on the synchronization state and the two or more data sync tasks, which results in changes to the data stored by at least one of the client device and the file store. 9. The computing system of claim 8 , wherein the synchronization state comprises a synchronization history of the data between the client and the file store performed by at least one different stateless sync node. 10. The computing system of claim 8 , wherein the processor is further configured to select the two or more stateless sync nodes from among a plurality of stateless sync nodes based on a current sync load among the plurality of stateless sync nodes. 11. The computing system of claim 8 , wherein the processor is further configured to select the two or more stateless sync nodes from among a plurality of stateless sync nodes based on an expected duration of a sync task identified by the sync request. 12. The computing system of claim 8 , wherein the processor is further configured to select the two or more stateless sync nodes from among a plurality of stateless sync nodes based on a round-robin approach. 13. The computing system of claim 12 , wherein the processor selects a different stateless sync node than a most recently selected stateless sync node from among the plurality of stateless sync nodes. 14. The computing system of claim 8 , wherein the processor is configured to control the two or more stateless sync nodes to resume synchronizing of the data between the client device and the file store based on a point at which a different stateless sync node finished synchronizing the data between the client device and the file store. 15. A non-transitory computer-readable medium comprising instructions that, when executed by a processor, cause a computer to perform a method comprising: receiving, from a client device, a sync request for synchronizing data between the client device and a file store on a remote host platform; dividing the sync request into two or more data sync tasks for synchronizing data between the client device and the file store, and assigning the two or more data sync tasks to two or more stateless sync nodes, respectively; transmitting, from a state store to the two or more stateless sync nodes, a synchronization state of the data between the client device and the file store from a state store; and synchronizing, via transmissions by the two or more stateless sync nodes, the data based on the synchronization state and the two or more data sync tasks which results in changes to the data stored by at least one of the client device and the file store. 16. The non-transitory computer-readable medium of claim 15 , wherein the method further comprises selecting the two or more stateless sync nodes from among a plurality of stateless sync nodes based on a current sync load among the plurality of stateless sync nodes. 17. The non-transitory computer-readable medium of claim 15 , wherein the method further comprises selecting the two or more stateless sync nodes from among a plurality of stateless sync nodes based on an expected duration of a sync task identified by the sync request. 18. The non-transitory computer-readable medium of claim 15 , wherein the method further comprises selecting the two or more stateless sync nodes from among a plurality of stateless sync nodes based on a round-robin approach in which a different stateless sync node than a most recently selected stateless sync node is selected from among the plurality of stateless sync nodes. 19. The method of claim 1 , wherein the dividing comprises dividing the sync request into the two or more data sync tasks based on one or more of a size of the data and a speed required for the sync request. 20. The method of claim 1 , wherein the dividing comprises dividing the sync request into two or more data sync tasks based on two or more shards in the file store where the sync tasks are to be performed, respectively.

Assignees

Inventors

Classifications

  • Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · CPC title

  • G06F16/178Primary

    Techniques for file synchronisation in file systems · CPC title

  • Provision of network file services by network file servers, e.g. by using NFS, CIFS (network file access protocols H04L67/1097) · CPC title

  • Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files · CPC title

  • Update request formulation · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11943291B2 cover?
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 …
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification H04L67/1095. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 26 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).