Multi-tenant authorization framework in a data management and storage cluster
US-10380369-B1 · Aug 13, 2019 · US
US11789976B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11789976-B2 |
| Application number | US-202017129233-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 21, 2020 |
| Priority date | Dec 21, 2020 |
| Publication date | Oct 17, 2023 |
| Grant date | Oct 17, 2023 |
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.
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.
Opening claim text (preview).
What is claimed is: 1. A method comprising: receiving, at a content management system, data descriptive of changed data occurring relative to objects stored in the content management system; maintaining a database including at least one table, wherein the at least one table includes immutable rows with fields for the data descriptive of changed data occurring relative to objects stored in the content management system, the fields including at least an object ID referencing a specific object for which data in a respective row in the at least one table pertains, and a clock value recording a system time in which the changed data relative to the specific object represented by the object ID occurred; maintaining at least one index in addition to the at least one table, wherein data is included in the at least one index when the changed data satisfies a condition for inclusion in the at least one index, wherein the at least one index includes a directory index where the condition for inclusion includes adding an object to a directory; determining that the changed data satisfies the condition for inclusion; and updating the directory index based on the changed data, wherein the update includes adding a new row to the directory index. 2. The method of claim 1 comprising: determining that an activity occurred that is associated with a first object ID by identifying the first object ID in the at least one index, wherein the condition for inclusion of the object ID in the at least one index is that the activity occurred; and retrieving, from the at least one index, a first system time in which the activity occurred. 3. The method of claim 2 comprising: querying the at least one table using the first object ID and the first system time to retrieve additional data pertaining to the first object ID at the first system time. 4. The method of claim 1 comprising: determining that an activity occurred that is associated with a first object ID; after determining that the activity occurred, updating the at least one table substantially synchronously; and after determining that the activity occurred, updating the at least one index asynchronously. 5. The method of claim 1 comprising: constructing a list of ancestors by recursively performing at least the following: retrieving a next ancestor object ID by looking up a query object ID in the at least one table, wherein the at least one table contains ancestor data; building the list of ancestors by adding the next ancestor object ID as an ancestor to the query object ID; and making the next ancestor object ID the query object ID. 6. The method of claim 1 , comprising: looking up an object ID in an access change simple object index, wherein if the object ID is located in the simple object index there has been an access change for the object ID. 7. The method of claim 1 , comprising: looking up a changed access control list (ACL) for the object ID having one or more changes at the system time in the at least one table, wherein the at least one table in includes ACL information for the object ID. 8. A non-transitory computer readable medium comprising instructions, the instructions, when executed by a computing system, cause the computing system to: receive, at a content management system, data descriptive of changed data occurring relative to objects stored in the content management system; maintain a database including at least one table, wherein the at least one table includes rows with fields for the data descriptive of changed data occurring relative to objects stored in the content management system, the fields including at least an object ID referencing a specific object for which data in a respective row in the at least one table pertains, and a clock value recording a system time in which the changed data relative to the specific object represented by the object ID occurred; maintain at least one index in addition to the at least one table, wherein data is included in the at least one index when the changed data satisfies a condition for inclusion in the at least one index, wherein the at least one index includes a directory index where the condition for inclusion includes adding an object to a directory; determine that the changed data satisfies the condition for inclusion; and update the directory index based on the changed data, wherein the update includes adding a new row to the directory index. 9. The computer readable medium of claim 8 , wherein the computer readable medium further comprises instructions that, when executed by the computing system, cause the computing system to: determine that an activity occurred that is associated with a first object ID by identify the first object ID in the at least one index, wherein the condition for inclusion of the object ID in the at least one index is that the activity occurred; and retrieve, from the at least one index, a first system time in which the activity occurred. 10. The computer readable medium of claim 9 , wherein the computer readable medium further comprises instructions that, when executed by the computing system, cause the computing system to: query the at least one table use the first object ID and the first system time to retrieve additional data pertaining to the first object ID at the first system time. 11. The computer readable medium of claim 8 , wherein the computer readable medium further comprises instructions that, when executed by the computing system, cause the computing system to: determine that an activity occurred that is associated with a first object ID; after the determination that the activity occurred update the at least one table substantially synchronously; and wherein after the determination that the activity occurred, update the at least one index asynchronously. 12. The computer readable medium of claim 8 , wherein the computer readable medium further comprises instructions that, when executed by the computing system, cause the computing system to: construct a list of ancestors by recursively performing at least the following: retrieve a next ancestor object ID by look up a query object ID in the at least one table, wherein the at least one table contains ancestor data; build the list of ancestors by add the next ancestor object ID as an ancestor to the query object ID; and make the next ancestor object ID the query object ID. 13. The computer readable medium of claim 8 , wherein the computer readable medium further comprises instructions that, when executed by the computing system, cause the computing system to: look up an object ID in an access change simple object index, wherein if the object ID is located in the simple object index there has been an access change for the object ID. 14. The computer readable medium of claim 8 , wherein the computer readable medium further comprises instructions that, when executed by the computing system, cause the computing system to: look up a changed access control list (ACL) for the object ID having one or more changes at the system time in the at least one table, wherein the at least one table in includes ACL information for the object ID. 15. A system comprising: at least one non-transitory computer readable medium storing instructions thereon; at least one processor configured to execute the instructions and cause the at least one processor to: receiving, at a content management system, data descriptive of changed data occurring relative to objects stored in the content management system; maintain a database including at least one table, wherein the at least one table includes rows with fiel
Synchronous replication · CPC title
Tablespace storage structures; Management thereof · CPC title
Updates performed during online database operations; commit processing · CPC title
Query processing · CPC title
Access control lists [ACL] · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.