Data model and data service for content management system

US12019599B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12019599-B2
Application numberUS-202217825571-A
CountryUS
Kind codeB2
Filing dateMay 26, 2022
Priority dateDec 21, 2020
Publication dateJun 25, 2024
Grant dateJun 25, 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.

The disclosed technology addresses the need in the art for a content management system that can be highly flexible to the needs of its subjects. The present technology permits any object to be shared by providing a robust and flexible access control list mechanism. The present technology utilizes a data structure that is highly efficient that both minimizes the amount of information that needs to be written into any database, but also allows for fast reads and writes of information from authoritative tables that are a source of truth for the content management system, while allowing for maintenance of indexes containing more refined data that allow for efficient retrieval of certain information that would normally need to be calculated when it is needed.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: maintaining a database including at least one table, wherein the database includes immutable rows with fields for data descriptive of changed data occurring relative to objects stored in a content management system, the fields including: an object identifier (“ID”) referencing a specific object for which data in a respective row in the at least one table pertains; access capability data for the specific object represented by the object ID; object type data for the specific object represented by the object ID; and recording a new immutable row in the at least one table when the changed data occurs relative to at least one of the objects stored in the content management system, wherein the new immutable row includes the object ID for at least one of the objects stored in the content management system to which the changed data has occurred and data pertaining to the changed data including a first access capability data that identifies a subject and a capability of the subject or a permission granted to the subject, and a first object type data for the at least one of the objects stored in the content management system. 2. The method of claim 1 , wherein the at least one table comprises at least three tables including: a first object table containing the access capability data; a second object table containing object activity data including the object type data; and a third table containing ancestor data including a second object identifier (“ID”) referencing a second specific object that is a direct ancestor of the specific object represented by the object ID, wherein each of the at least three tables is indexed by the object D and clock value fields. 3. The method of claim 2 comprising: maintaining a directory index in addition to the third table containing ancestor data, the directory index containing descendants of the specific object by identifying at least a third object identifier (“ID”) referencing a direct descendant of the specific object. 4. The method of claim 1 , wherein the fields further comprise at least one of: a clock value recording a system time in which the changed data relative to the specific object represented by the object ID occurred; and an ancestor object ID referencing a second specific object that is a direct ancestor of the specific object represented by the object ID. 5. The method of claim 4 , wherein the clock value is based on a hybrid logical clock. 6. The method of claim 1 , comprising: receiving a request to represent a directory tree at a specified time; and accessing the database to identify ancestors of the specific object by first identifying a direct ancestor of the specific object, and then recursively identifying a further direct ancestor of the direct ancestor until no further direct ancestors are available. 7. The method of claim 1 , wherein the at least one table includes descriptive data sufficient to perform its intended function. 8. The method of claim 7 , wherein the descriptive data does not include a description of an action resulting in the changed data for the specific object. 9. A non-transitory computer readable medium comprising instructions, the instructions, when executed by a computing system, cause the computing system to: maintain a database including at least one table, wherein the database includes immutable rows with fields for data descriptive of changed data occurring relative to objects stored in a content management system, the fields including: an object identifier (“ID”) referencing a specific object for which data in a respective row in the at least one table pertains; access capability data for the specific object represented by the object ID; object type data for the specific object represented by the object ID; and record a new immutable row in the at least one table when the changed data occurs relative to at least one of the objects stored in the content management system, wherein the new immutable row includes the object ID for at least one of the objects stored in the content management system to which the changed data has occurred and data pertaining to the changed data including a first access capability data that identifies a subject and a capability of the subject or a permission granted to the subject, and a first object type data for the at least one of the objects stored in the content management system. 10. The computer readable medium of claim 9 , wherein the at least one table comprises at least three tables including: a first object table containing access capability data; a second object table containing object activity data including object type data; and a third table containing ancestor data including a second object ID referencing a second specific object that is a direct ancestor of the specific object represented by the object ID, wherein each of the at least three tables is indexed by the object ID and clock value fields. 11. The computer readable medium of claim 9 , wherein the fields further comprise at least one of: a clock value recording a system time in which the changed data relative to the specific object represented by the object ID occurred; and an ancestor object ID referencing a second specific object that is a direct ancestor of the specific object represented by the object ID. 12. The computer readable medium of claim 11 , wherein the clock value is based on a hybrid logical clock. 13. The computer readable medium of claim 9 , wherein the at least one table includes descriptive data to perform its intended function. 14. The computer readable medium of claim 9 , wherein the instructions, when executed by a computing system, further cause the computing system to: receive a request to represent a directory tree at a specified time; and access the database to identify ancestors of the specific object by first identifying a direct ancestor of the specific object, and then recursively identifying a further direct ancestor of the direct ancestor until no further direct ancestors are available. 15. A system comprising: at least one processor; and at least one non-transitory computer readable medium storing instructions thereon, the instructions are effective to cause the at least one processor to: maintain a database including at least one table, wherein the database includes immutable rows with fields for data descriptive of changed data occurring relative to objects stored in a content management system, the fields including: an object identifier (“ID”) referencing a specific object for which data in a respective row in the at least one table pertains; access capability data for the specific object represented by the object ID; object type data for the specific object represented by the object ID; and record a new immutable row in the at least one table whenever the changed data occurs relative to at least one of the objects stored in the content management system, wherein the new immutable row includes the object ID for at least one of the objects stored in the content management system to which the changed data has occurred and data pertaining to the changed data including a first access capability data that identifies a subject and a capability of the subject or a permission granted to the subject, and a first object type data for the at least one of the objects stored in the content management system. 16. The system of claim 15 , wherein the at least one table comprises at least three tables including: a first object table containing access capability data; a second object table containing object activ

Assignees

Inventors

Classifications

  • Data partitioning, e.g. horizontal or vertical partitioning · CPC title

  • Synchronous replication · CPC title

  • Asynchronous replication or reconciliation · CPC title

  • Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title

  • Large Object storage; Management thereof · 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 US12019599B2 cover?
The disclosed technology addresses the need in the art for a content management system that can be highly flexible to the needs of its subjects. The present technology permits any object to be shared by providing a robust and flexible access control list mechanism. The present technology utilizes a data structure that is highly efficient that both minimizes the amount of information that needs …
Who is the assignee on this patent?
Dropbox Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/219. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 25 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).