Key permission distribution

US12164494B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12164494-B2
Application numberUS-202318535805-A
CountryUS
Kind codeB2
Filing dateDec 11, 2023
Priority dateSep 23, 2020
Publication dateDec 10, 2024
Grant dateDec 10, 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.

Techniques are disclosed relating to the distribution of database key permissions. A database system may distribute first permission information to a plurality of database nodes that identifies a distribution of key range permissions to ones of the plurality of database nodes. A given key range permission being distributed to a given database node may permit that database node to write records whose keys fall within a key range associated with the given key range permission. The database system may receive, from a first database node, a request for a first key range permission provisioned to a second database node. The database system may modify the first permission information to derive second permission information that provisions the first key range permission to the first database node instead of the second database node. The database system may distribute the second permission information to ones of the plurality of database nodes.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: performing, by a first database node of a database system, a database transaction that involves writing a record for a particular key; based on first permission information that indicates that the first database node has permission to write records whose keys fall within a first key range identified by the first permission information, the first database node determining that permission to write records for the particular key has not been provisioned to the first database node; issuing, by the first database node, a permission request to a permission orchestrator database node for permission to write records for the particular key; receiving, by the first database node and from the permission orchestrator database node, second permission information that indicates that the first database node has permission to write records for the particular key, wherein the second permission information is associated with history information that is indicative of previous work performed by a set of other database nodes of the database system; and writing, by the first database node, the record for the particular key in response to determining that the record does not conflict with the previous work performed by the set of other database nodes of the database system. 2. The method of claim 1 , wherein the history information specifies a key range transaction commit number corresponding to a latest committed record for a second key range that includes the particular key. 3. The method of claim 2 , further comprising: after writing the record for the particular key, the first database node providing updated history information to the permission orchestrator database node that specifies a key range transaction commit number corresponding to a latest committed record for the second key range by the first database node. 4. The method of claim 2 , further comprising: determining, by the first database node, whether a snapshot transaction commit number for the database transaction satisfies a particular condition relative to the key range transaction commit number; and in response to a determination that the snapshot transaction commit number does not satisfy the particular condition relative to the key range transaction commit number, the first database node sending, to at least one of the set of other database nodes, a request for information indicating whether a different record was committed for the particular key that conflicts with the record of the database transaction. 5. The method of claim 4 , wherein the writing of the record is performed in response to determining, from the at least one other database node, that a different record was not committed for the particular key that conflicts with the record of the database transaction. 6. The method of claim 1 , wherein the second permission information indicates that permission to write records for a superset key range has been provisioned to the first database node, and wherein the superset key range includes the particular key and a key range that was not requested by the first database node in the permission request. 7. The method of claim 1 , further comprising: receiving, by the first database node and from the permission orchestrator database node, a request to relinquish ownership of at least a portion of a second key range that includes the particular key; and in response to determining that there are no transactions that have a lock on the at least a portion, the first database node providing, to the permission orchestrator database node, a response that relinquishes the ownership of the at least a portion of the second key range. 8. The method of claim 7 , wherein the response relinquishes a larger portion of the second key range than the at least a portion requested by the permission orchestrator database node, and wherein the larger portion encompasses the at least a portion. 9. The method of claim 1 , wherein the first permission information is stored in a trie data structure that includes a plurality of branches, a particular branch of which corresponds to the first key range. 10. The method of claim 1 , wherein the first database node is one of a plurality of worker database nodes that writes records to a database shared among the plurality of worker database nodes. 11. A non-transitory computer readable medium having program instructions stored thereon that are capable of causing a first database node of a database system to perform operations comprising: performing a database transaction that involves writing a record for a particular key; based on first permission information that indicates that the first database node has permission to write records whose keys fall within a first key range identified by the first permission information, determining that permission to write records for the particular key has not been provisioned to the first database node; issuing a permission request to a permission orchestrator database node for permission to write records for the particular key; receiving, from the permission orchestrator database node, second permission information that indicates that the first database node has permission to write records for the particular key, wherein the second permission information is associated with history information that is indicative of previous work performed by a set of other database nodes of the database system; and writing the record for the particular key in response to determining that the record does not conflict with the previous work performed by the set of other database nodes of the database system. 12. The non-transitory computer readable medium of claim 11 , wherein the operations further comprise: determining whether a snapshot transaction commit number for the database transaction satisfies a particular condition relative to a key range transaction commit number specified by the history information; and in response to a determination that the snapshot transaction commit number does not satisfy the particular condition relative to the key range transaction commit number, the first database node sending, to at least one of the set of other database nodes, a request for information indicating whether a different record was committed for the particular key that conflicts with the record of the database transaction. 13. The non-transitory computer readable medium of claim 12 , wherein the operations further comprise: in response to determining, from the at least one other database node, that a different record was committed for the particular key that conflicts with the record of the database transaction, preventing a record write of the record for the particular key. 14. The non-transitory computer readable medium of claim 11 , wherein the operations further comprise: receiving a request to relinquish ownership of a second key range that includes the particular key; and in response to determining that there are no transactions that have a lock on the second key range, returning a response that relinquishes the ownership of the second key range. 15. The non-transitory computer readable medium of claim 14 , wherein the operations further comprise: including, in the response, history information that indicates when a latest committed record for the second key range was committed by the first database node. 16. A system, comprising: at least one processor; and memory having program instructions stored thereon that are executable by the at least one processor to cause the system to perform operations comprising: performing a database trans

Assignees

Inventors

Classifications

  • Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy · CPC title

  • where protection concerns the structure of data, e.g. records, types, queries · CPC title

  • Relational databases · CPC title

  • Updates performed during online database operations; commit processing · CPC title

  • Object oriented databases · 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 US12164494B2 cover?
Techniques are disclosed relating to the distribution of database key permissions. A database system may distribute first permission information to a plurality of database nodes that identifies a distribution of key range permissions to ones of the plurality of database nodes. A given key range permission being distributed to a given database node may permit that database node to write records …
Who is the assignee on this patent?
Salesforce Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/2246. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 10 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 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).