Selective Synchronization in a Hierarchical Folder Structure
US-2015100546-A1 · Apr 9, 2015 · US
US11003685B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11003685-B2 |
| Application number | US-201815867612-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 10, 2018 |
| Priority date | Dec 28, 2017 |
| Publication date | May 11, 2021 |
| Grant date | May 11, 2021 |
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.
In some embodiments, a client generates an operation modifying a local copy of a content item on a user account at a content management system and records an intent to commit the operation to a journal of revisions at the content management system. Based on the operation, the client sends to the content management system a first request to commit the operation at the journal, the first request including a cursor identifying a current position of the client in the journal. The client sends, to the content management system, a second request for a status of the commit and, based on the second request, determines whether the commit of the operation to the journal has succeeded. Based on whether the commit of the operation to the journal has succeeded, the client determines whether to update one or more tree data structures on the client and clear the intent to commit.
Opening claim text (preview).
What is claimed is: 1. A method comprising: generating, at a client device, an operation modifying a local copy of a content item associated with a user account at a content management system; recording, at the client device, an intent to commit the operation to a journal of revisions on the content management system, the journal of revisions tracking revisions to content items associated with one or more namespaces associated with the user account; based on the operation, sending, by the client device to the content management system, a first request to commit the operation to the journal of revisions, the first request comprising a cursor identifying a current position of the client device at the journal of revisions, the cursor including an FSAuth token and last observed access permissions to an identifier of the one or more namespaces to verify authorization of requesting the commit of the operation to the journal of revisions; receiving, by the client device from the content management system, a determination that the cursor is at an end of the journal of revisions indicating that the client device is receiving a latest revision of the content items associated with the one or more namespaces; sending, by the client device to the content management system, a second request for a status of the commit at the content management system; receiving, by the client device from the content management system, a response to the second request; determining, by the client device, whether the response comprises an indication that the commit of the operation to the journal of revisions succeeded; and based on whether the response comprises the indication that the commit of the operation to the journal of revisions succeeded, determining whether to update one or more tree data structures on the client device and clear the intent to commit, the one or more tree data structures comprising a synchronization tree representing a comparison between a local state and a remote state associated with the content items including the content item. 2. The method of claim 1 , wherein the one or more tree data structures further comprise a local tree and a remote tree, the local tree representing the local state of content items associated with the user account, and the remote tree representing the remote state at the content management system of the content items associated with the user account. 3. The method of claim 2 , further comprising: when the response comprises the indication that the commit of the operation to the journal of revisions succeeded: updating the remote tree and the synchronization tree to reflect a modification to the content item based on the operation; and clearing the intent to commit at the client device. 4. The method of claim 3 , further comprising updating the local tree to reflect the modification to the local copy of the content item, wherein recording the intent to commit comprises indicating that the operation comprises a self-authored operation generated by the client device. 5. The method of claim 2 , further comprising: when the response does not comprise the indication that the commit of the operation to the journal of revisions succeeded, clearing the intent to commit at the client device without updating the remote tree or the synchronization tree to reflect a modification to the content item based on the operation. 6. The method of claim 1 , wherein the cursor identifies the current position in the journal based on a respective namespace identifier of one or more namespaces associated with the content item and a respective revision number associated with the respective namespace identifier. 7. The method of claim 6 , further comprising: obtaining, by the client device from the content management system, an updated cursor that increments the respective revision number associated with the respective namespace identifier, the updated cursor being based on at least one of the first request or the second request. 8. The method of claim 1 , wherein the cursor comprises a respective namespace identifier of one or more namespaces associated with the content item and a respective revision number previously received by the client device for the respective namespace identifier, the method further comprising: receiving, by the client device from the content management system, the indication that the commit succeeded when the respective revision number comprises a latest revision at the journal of revisions corresponding to the respective namespace identifier. 9. A non-transitory computer readable medium comprising instructions, the instructions, when executed by a computing device, cause the computing device to: generate an operation modifying a local copy of a content item associated with a user account at a content management system; record an intent to commit the operation to a journal of revisions on the content management system, the journal of revisions tracking revisions to content items associated with one or more namespaces associated with the user account; based on the operation, send, to the content management system, a first request to commit the operation to the journal of revisions, the first request comprising a cursor identifying a current position of the computing device in the journal of revisions, the cursor including an FSAuth token and last observed access permissions to an identifier of the one or more namespaces to verify authorization of requesting the commit of the operation to the journal of revisions; receive, from the content management system, a determination that the cursor is at an end of the journal of revisions indicating that the computing device is receiving a latest revision of the content items associated with the one or more namespaces; send, to the content management system, a second request for a status of the commit at content management system; based on the second request, determine whether the commit of the operation to the journal of revisions has succeeded; and based on whether the commit of the operation to the journal of revisions has succeeded, determine whether to update one or more tree data structures on the computing device and clear the intent to commit, the one or more tree data structures comprising a synchronization tree representing a comparison between a local state and a remote state associated with the content items including the content item. 10. The non-transitory computer readable medium of claim 9 , wherein the one or more tree data structures further comprise a local tree and a remote tree, the local tree representing the local state of content items associated with the user account, and the remote tree representing the remote state at the content management system of the content items associated with the user account. 11. The non-transitory computer readable medium of claim 10 , storing instructions which, when executed by the computing device, cause the computing device to: based on a determination that the commit of the operation to the journal of revisions succeeded: update the remote tree and the synchronization tree to reflect a modification to the content item based on the operation; and clear the intent to commit at the computing device. 12. The non-transitory computer readable medium of claim 11 , storing instructions which, when executed by the computing device, cause the computing device to update the local tree to reflect the modification to the local copy of the content item, wherein recording the intent to commit comprises indicating that the operation comprises a self-authored operation generated by the computing device. 13. The non-transitory
Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title
File system administration, e.g. details of archiving or snapshots (error detection or correction of the data by redundancy in operations G06F11/14) · CPC title
Protocols · CPC title
implemented as replicated file system · CPC title
Configuration or reconfiguration of storage systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.