Structured content item synchronization

US9053165B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9053165-B2
Application numberUS-201314040584-A
CountryUS
Kind codeB2
Filing dateSep 27, 2013
Priority dateJul 8, 2013
Publication dateJun 9, 2015
Grant dateJun 9, 2015

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.

A content management system defines a synchronization application programming interface (API) used by applications executing on client devices to synchronize content items after the content items are changed. Functions of the API specify changes to the content items in terms of semantically-meaningful locations within the content items, rather than physical file locations. The content management system can represent the state of a content item in terms of change descriptors that reference the semantic locations of the API. The content management system can then distribute the change descriptors to the client devices, which refer to the semantic locations of the change descriptors when determining how to reconcile changes made by other client devices.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method performed by a content management system, the method comprising: receiving, by the content management system from a first client device, a notification of a change to a content item stored on the first client device, the content item having a data format with data semantics unknown to the content management system, the notification of the change comprising an indication of a first semantic location of the change within the content item and an indication of a first version of the content item at a time of the change; determining, based on the indication of the first version of the content item, whether a second client device has already made a second change to the content item with respect to the first version of the content item; responsive to determining that the second client device has already made the second change, providing a notification of change rejection to the first client device, the notification of change rejection comprising an indication of a second semantic location of the second change within the content item, the indication of the second semantic location having been provided by the second client device; receiving a request from the second client device to receive changes to the content item; registering the second client device to receive changes to the content item; receiving from the first client device a notification of a third change resulting from the first client device combining the change and the second change, the notification of the third change comprising an indication of a third semantic location of the third change within the content item; and responsive to receiving the notification of the third change, providing a notification of the third change to the second client device. 2. The computer-implemented method of claim 1 , further comprising: storing the indication of the third semantic location within content storage in association with an identifier of the content item. 3. The computer-implemented method of claim 2 , wherein the second change made by the second client device resulted in a second version of the content item, the second version being later than the first version, the method further comprising: receiving a query from a third client device for changes to the content item since the second version, the query being distinct from a notification of a change to a content item; responsive to receiving the query, providing to the third client device the indication of the third semantic location of the third change for incorporation by the third client device of the third change within a copy of the content item stored on the third client device. 4. The computer-implemented method of claim 1 , wherein the indications of the first and second semantic location are specified in terms of an indicator of a record within the content item and an indicator of a field within the record. 5. The computer-implemented method of claim 4 , wherein neither the indicator of the record nor the indicator of the field contains a byte-based location. 6. The computer-implemented method of claim 1 , wherein determining whether a second client device has stored a second change to the content item with respect to the first version of the content item comprises comparing a version indicator provided by the first client device along with the notification of the change, and a version indicator stored in association with the content item. 7. The computer-implemented method of claim 1 , wherein the notification of the change to the content item is specified using an application programming interface (API) of the content management system, the API comprising an insert function to insert a record within a content item, a delete function to delete a record within a content item, and a modify operation to modify a field of a record within a content item. 8. The computer-implemented method of claim 1 , wherein the change to the content item is a single logical change corresponding to a plurality of distinct physical portions of the content item. 9. A non-transitory computer-readable storage medium having executable computer program instructions embodied therein, the instructions comprising: instructions for receiving, from a first client device, a notification of a change to a content item stored on the first client device, the notification of the change comprising an indication of a first semantic location of the change within the content item and an indication of a first version of the content item at a time of the change; instructions for determining, based on the indication of the first version of the content item, whether a second client device has made a second change to the content item with respect to the first version of the content item; instructions for providing a notification of change rejection to the first client device responsive to determining that the second client device has made the second change, the notification of change rejection comprising an indication of a second semantic location of the second change within the content item, the indication of the second semantic location having been provided by the second client device; instructions for receiving a request from the second client device to receive changes to the content item; instructions for registering the second client device to receive changes to the content item; instructions for receiving from the first client device a notification of a third change resulting from the first client device combining the change and the second change, the notification of the third change comprising an indication of a third semantic location of the third change within the content item; and instructions for, responsive to receiving the notification of the third change, providing a notification of the third change to the second client device. 10. The non-transitory computer-readable storage medium of claim 9 , the instructions further comprising: instructions for storing the indication of the third semantic location within a content item repository in association with an identifier of the content item. 11. The non-transitory computer-readable storage medium of claim 10 , wherein the second change made by the second client device resulted in a second version of the content item, the second version being later than the first version, the instructions further comprising: instructions for receiving a query from a third client device for changes to the content item since the second version; instructions for providing to the third client device the indication of the third semantic location of the third change for incorporation by the third client device of the third change within a copy of the content item stored on the third client device, responsive to receiving the query. 12. The non-transitory computer-readable storage medium of claim 9 , wherein the indications of the first and second semantic location are specified in terms of an indicator of a record within the content item and an indicator of a field within the record. 13. The non-transitory computer-readable storage medium of claim 12 , wherein neither the indicator of the record nor the indicator of the field contains a byte-based location. 14. The non-transitory computer-readable storage medium of claim 9 , wherein determining whether a second client device has stored a second change to the content item with respect to the first version of the content item comprises comparing a version indicator provided by the first client device along with the notification of the change, and a version indicator stored in association with the content item.

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • Error detection; Error correction; Monitoring (error detection, correction or monitoring in information storage based on relative movement between record carrier and transducer G11B20/18; monitoring, i.e. supervising the progress of recording or reproducing G11B27/36; in static stores G11C29/00) · CPC title

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

  • Collaborative creation, e.g. joint development of products or services · CPC title

  • Physics · mapped topic

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 US9053165B2 cover?
A content management system defines a synchronization application programming interface (API) used by applications executing on client devices to synchronize content items after the content items are changed. Functions of the API specify changes to the content items in terms of semantically-meaningful locations within the content items, rather than physical file locations. The content managemen…
Who is the assignee on this patent?
Dropbox Inc
What technology area does this patent fall under?
Primary CPC classification G06F17/30581. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 09 2015 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).