Unique identification management

US11892992B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11892992-B2
Application numberUS-202217649475-A
CountryUS
Kind codeB2
Filing dateJan 31, 2022
Priority dateJan 31, 2022
Publication dateFeb 6, 2024
Grant dateFeb 6, 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 implementing synthetic identifiers (IDs) for a non-relational database. A server system may operate a database, which includes receiving requests to access records of the database using synthetic IDs. But the database may be searchable using natural IDs. The server system may receive a request to insert a record. In response, the server system may obtain, from a first instance of multiple ID generator instances that implement a distributed ID generator service, a synthetic ID generated based on an identifier assigned to the first ID generator instance. The server system may insert the record with the synthetic ID and a natural ID that corresponds to one or more values of the record. The server system may cause the synthetic ID and the natural ID to be stored in an index of the database to enable the record to be accessed via the synthetic ID.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: operating, by a server system, a database, including receiving requests to access records of the database, wherein the requests specify synthetic identifiers (IDs) that are included in respective corresponding records currently stored in the database and are usable to access the respective corresponding records but do not include user-provided values of the records, and wherein the database is searchable using natural IDs that respectively comprise one or more values of a record that uniquely identify a corresponding record of the database; receiving, by the server system, a request to insert a new record into the database; in response to the request, obtaining, by the server system from a first instance of a plurality of identifier (ID) generator instances that implement a distributed ID generator service, a new synthetic ID for the new record, wherein the new synthetic ID is generated based on an identifier assigned to the first ID generator instance to ensure uniqueness of the new synthetic ID across the database; inserting, by the server system, the new record into the database, wherein the new record includes the new synthetic ID and a natural ID that corresponds to one or more values of the new record; and causing, by the server system, an index of the database to be updated to store the new synthetic ID and the natural ID, wherein the index enables the new record to be accessed using the natural ID based on the new synthetic ID stored in the index. 2. The method of claim 1 , wherein the new record is a child record that specifies a natural ID of a parent record, and wherein the method further comprises: after inserting the child record, the server system: accessing the parent record using the natural ID of the parent record specified by the child record; and updating the child record to specify a synthetic ID of the parent record. 3. The method of claim 1 , wherein the new record is a child record inserted before a corresponding parent record, and wherein the method further comprises: after inserting the child record, the server system: inserting the parent record into the database; and updating the child record to specify a synthetic ID of the parent record. 4. The method of claim 1 , wherein the record is a child record that specifies a natural ID of a parent record and a synthetic ID of the parent record, and wherein the method further comprises the server system: deleting the parent record from the database; reinserting the parent record into the database; updating the child record to specify a null value for the synthetic ID of the parent record; and after the updating, updating the child record to specify the synthetic ID of the parent record. 5. The method of claim 1 , wherein the database is a non-relational database operated by a plurality of server systems, and wherein synthetic IDs generated by the distributed ID generator service are unique across the plurality of server systems. 6. The method of claim 1 , wherein the obtaining of the new synthetic ID includes the server system: providing, to the first ID generator instance, a record type and a tenant ID of a tenant associated with the new record, wherein the new synthetic ID is unique to records of the record type with respect to the tenant. 7. The method of claim 1 , wherein the obtaining of the new synthetic ID includes the server system: sending a synthetic ID request to the first ID generator instance to generate a batch of synthetic IDs having the new synthetic ID, wherein the server system is operable to insert a set of records using ones of the batch of synthetic IDs without issuing another synthetic ID request to the first ID generator instance. 8. The method of claim 1 , further comprising: deleting the new record from the database; and reinserting the new record into the database, wherein the reinserted record includes the natural ID but a different synthetic ID. 9. The method of claim 1 , wherein the new record is queryable using the new synthetic ID and the natural ID. 10. The method of claim 1 , wherein the natural ID is specified by a provider of the request to insert the new record. 11. A non-transitory computer-readable medium having program instructions stored thereon that are capable of causing a computer system to perform operations comprising: operating a database, including receiving requests to access records of the database, wherein the requests specify synthetic identifiers (IDs) that are included in respective corresponding records currently stored in the database and are usable to access the respective corresponding records but do not include user-provided values of the records, and wherein the database is searchable using natural IDs that respectively comprise one or more values of a record that uniquely identify a corresponding record of the database; receiving a request to insert a new record into the database; obtaining, from a first instance of a set of identifier (ID) generator instances that implement a distributed ID generator service, a new synthetic ID for the new record, wherein the new synthetic ID is generated based on an identifier assigned to the first ID generator instance to ensure uniqueness of the new synthetic ID across the database; inserting the new record into the database, wherein the new record includes the new synthetic ID and a natural ID that corresponds to one or more values of the new record; and causing an index of the database to be updated to store the new synthetic ID and the natural ID, wherein the index enables the new record to be accessed using the natural ID based on the new synthetic ID stored in the index. 12. The medium of claim 11 , wherein the new record is a child record that specifies a natural ID of a parent record, and wherein the operations further comprise: accessing the parent record using the natural ID of the parent record specified by the child record; and updating the child record to specify a synthetic ID of the parent record to enable the child record to be accessed using the synthetic ID of the parent record. 13. The medium of claim 11 , wherein the new record is a child record inserted before a corresponding parent record, and wherein the operations further comprise: after inserting the parent record, updating the child record to specify a synthetic ID included in the parent record. 14. The medium of claim 11 , wherein the new synthetic ID is obtained as a part of a batch of synthetic IDs provided by the first ID generator instance. 15. The medium of claim 11 , wherein a portion of the new synthetic ID specifies the identifier assigned to the first ID generator instance. 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: operating a database, including receiving requests to access records of the database, wherein the requests specify synthetic identifiers (IDs) that are included in respective corresponding records currently stored in the database and are usable to access the respective corresponding records but do not include user-provided values of the record, and wherein the database is searchable using natural IDs that respectively comprise one or more values of a record that uniquely identify a corresponding record of the database; receiving a request to insert a new record into the database; obtaining, from a first instance of a set of identifier (ID) generator instances that implement a distributed

Assignees

Inventors

Classifications

  • G06F16/22Primary

    Indexing; Data structures therefor; Storage structures · CPC title

  • with details for schema evolution support · CPC title

  • Change logging, detection, and notification (replication G06F16/27) · CPC title

  • Data retrieval commands; View definitions · CPC title

  • Indexing structures · 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 US11892992B2 cover?
Techniques are disclosed relating to implementing synthetic identifiers (IDs) for a non-relational database. A server system may operate a database, which includes receiving requests to access records of the database using synthetic IDs. But the database may be searchable using natural IDs. The server system may receive a request to insert a record. In response, the server system may obtain, fr…
Who is the assignee on this patent?
Salesforce Com Inc, Salesforce Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/22. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 06 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).