Key permission distribution

US11494356B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11494356-B2
Application numberUS-202017029928-A
CountryUS
Kind codeB2
Filing dateSep 23, 2020
Priority dateSep 23, 2020
Publication dateNov 8, 2022
Grant dateNov 8, 2022

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: distributing, by a database system, first permission information to a plurality of database nodes of the database system, wherein the first permission information identifies a distribution of key range permissions to ones of the plurality of database nodes, and wherein a given key range permission being distributed to a given database node permits the given database node to write records whose keys fall within a key range associated with the given key range permission; receiving, by the database system from a first database node, a request for a first key range permission provisioned to a second database node; modifying, by the database system, 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; and distributing, by the database system, the second permission information to ones of the plurality of database nodes, wherein the second permission information defines a key range transaction commit number associated with a latest committed record for the first key range permission, and wherein the first database node is operable to: determine whether a transaction commit number associated with the first database node satisfies a particular condition relative to the key range transaction commit number; and in response to determining that the transaction commit number satisfies the particular condition, write a record for a particular key associated with the first key range permission. 2. The method of claim 1 , further comprising: prior to modifying the first permission information, the database system: sending, to the second database node, a request to relinquish the first key range permission, wherein the second database node is operable to relinquish the first key range permission in response to determining that the first key range permission is not being used in a set of active transactions being performed at the second database node; and receiving, from the second database node, an indication that the first key range permission has been relinquished. 3. The method of claim 2 , wherein the first permission information provisions, to the second database node, a second key range permission that is a superset of the first key range permission, and wherein the second database node is operable to relinquish the first key range permission but retain the remaining portions of the second key range permission. 4. The method of claim 2 , wherein the indication specifies the key range transaction commit number associated with the latest committed record for the first key range permission. 5. The method of claim 1 , wherein the first database node is operable to: determine whether a second transaction commit number associated with the first database node is greater than the key range transaction commit number; and in response to determining that the second transaction commit number is not greater than the key range transaction commit number, retrieve, from a database node that committed the latest committed record, a record transaction commit number for a second particular key associated with the first key range permission. 6. The method of claim 5 , wherein the first database node is operable to: prevent a record write for the second particular key in response to determining that the second transaction commit number associated with the first database node is not greater than the record transaction commit number. 7. The method of claim 5 , wherein the first database node is operable to: write a record for the second particular key in response to determining that the second transaction commit number associated with the first database node is greater than the record transaction commit number. 8. The method of claim 1 , wherein the second 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 permission. 9. The method of claim 8 , wherein distributing the second permission information to ones of the plurality of database nodes includes: notifying the plurality of database nodes about the second permission information; receiving, from the ones of the plurality of database nodes, information requests for the second permission information; and returning the trie data structure in responses to the information requests. 10. A non-transitory computer readable medium having program instructions stored thereon that are executable by a database system to cause the database system to perform operations comprising: distributing first permission information to a plurality of database nodes of the database system, wherein the first permission information identifies a distribution of key range permissions to ones of the plurality of database nodes, and wherein a given key range permission being distributed to a given database node permits the given database node to write records whose keys fall within a key range associated with the given key range permission; receiving, from a first database node, a permission request for a first key range permission provisioned to a second database node; modifying 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; and distributing the second permission information to ones of the plurality of database nodes wherein the second permission information defines a key range transaction commit number associated with a latest committed record for the first key range permission, and wherein the first database node is operable to: determine whether a transaction commit number associated with the first database node satisfies a particular condition relative to the key range transaction commit number; and in response to determining that the transaction commit number satisfies the particular condition, write a record for a particular key associated with the first key range permission. 11. The medium of claim 10 , wherein the operations further comprise: sending, to the second database node, a request to relinquish at least the first key range permission; and prior to modifying the first permission information, receiving, from the second database node, an indication that the first key range permission and a second key range permission has been relinquished. 12. The medium of claim 11 , wherein the modifying of the first permission information is performed such that a superset key range permission is provisioned to the first database node, and wherein the superset key range permission includes the first key range permission and the second key range permission that was not requested by the first database node in the permission request. 13. The medium of claim 11 , wherein the indication specifies that the second database node committed, during a particular timeframe, a record for a key that falls within a key range associated with the first key range permission. 14. The medium of claim 10 , wherein the modifying of the first permission information is performed such that the second permission information includes an indication of whether another database node committed, during a particular timeframe, a record having a key that falls within a key range associated with the first key range permission. 15. A method, comprising: provisioning, by a permission orchestrator database node of a database system, a first key range permission to a first worker database node of the database system, wherein th

Assignees

Inventors

Classifications

  • Trees, e.g. B+trees · CPC title

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

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

  • Relational databases · CPC title

  • to a system of files or objects, e.g. local or distributed file system or database · 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 US11494356B2 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 Com 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 Nov 08 2022 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).