Dual write and dual read access to graph databases

US12353585B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12353585-B2
Application numberUS-202218053870-A
CountryUS
Kind codeB2
Filing dateNov 9, 2022
Priority dateSep 13, 2022
Publication dateJul 8, 2025
Grant dateJul 8, 2025

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.

A method for operating a graph database, including receiving, by a computer system, a query to a particular graph database, the query identifying a plurality of vertices of the particular graph database. The method further includes performing, by the computer system, hash operations on two or more of the plurality of vertices to generate respective hash values and dividing, using the respective hash values, the query into a plurality of sub-queries, each corresponding to a subset of the plurality of vertices. The method also includes sending, by the computer system, ones of the plurality of sub-queries to a plurality of database repositories for the particular graph database.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: maintaining a primary copy of a particular graph database on a first repository of a plurality of database repositories; maintaining one or more redundant copies of the particular graph database on respective one or more different repositories of the plurality of database repositories; receiving, by a computer system, a query to retrieve information from the particular graph database, the query identifying a plurality of vertices of the particular graph database; performing, by the computer system, hash operations on two or more of the plurality of vertices to generate respective hash values; dividing, by the computer system using the respective hash values, the query into a plurality of sub-queries, each corresponding to a subset of the plurality of vertices; and sending, by the computer system, ones of the plurality of sub-queries to respective ones of the plurality of database repositories to retrieve corresponding portions of the information from a plurality of copies of the particular graph database. 2. The method of claim 1 , further comprising: receiving, by the computer system from the respective ones of the plurality of database repositories, corresponding results for the ones of the plurality of sub-queries; and based on the received results, sending a response to the query. 3. The method of claim 1 , further comprising: receiving, by the computer system, an indication that a particular one of the plurality of database repositories is unavailable; and distributing, by the computer system, vertices included in a sub-query intended for the unavailable database repository into remaining ones of the plurality of sub-queries. 4. The method of claim 1 , further comprising: receiving, by the computer system, an indication that a particular one of the plurality of database repositories is unavailable; and reassigning, by the computer system, a sub-query intended for the unavailable database repository to an available one of the plurality of database repositories. 5. The method of claim 1 , further comprising: storing, by the computer system, a duplicate of the particular graph database into a different plurality of database repositories; wherein the particular graph database is accessible by a first group of users categorized as risk; and wherein the duplicate graph database is accessible by a second group of users categorized as non-risk and is not accessible by the first group. 6. The method of claim 5 , further comprising: receiving a first query from a user of the first group using a first process running on the computer system; and receiving a second query from a user of the second group using a second process running on the computer system, wherein the first and second processes do not communicate with one another. 7. The method of claim 5 , wherein storing the particular and duplicate graph databases includes sending, by the computer system using respective data storage engines for the particular and duplicate graph databases, a new record to the particular and duplicate graph databases concurrently. 8. The method of claim 7 , further comprising validating storage of the new record to the particular and duplicate graph databases by: reading respective copies of the new record from the particular and duplicate graph databases; and comparing the respective copies to a copy of the new record held in the computer system. 9. A computer-readable, non-transient memory including instructions that when executed by a computer system within a computer network, cause the computer system to perform operations including: maintaining a primary copy of a particular graph database in a first database repository of a plurality of database repositories; maintaining one or more redundant copies of the particular graph database on respective one or more different database repositories of the plurality of database repositories; receiving a query to retrieve information from the particular graph database, the query identifying a plurality of vertices of the particular graph database; generating respective hash values for two or more of the plurality of vertices; dividing, using the respective hash values, the query into a plurality of sub-queries, ones of the sub-queries corresponding to a subset of the plurality of vertices; and sending ones of the plurality of sub-queries to respective repositories of the plurality of database repositories to retrieve corresponding portions of the information from the redundant copies of the particular graph database. 10. The computer-readable, non-transient memory of claim 9 , wherein generating the respective hash values includes performing hash operations on user identification information associated with ones of the subset of vertices. 11. The computer-readable, non-transient memory of claim 9 , further comprising, in response to an indication that a particular one of the plurality of database repositories is unavailable, distributing vertices included in a sub-query intended for the unavailable database repository into remaining ones of the plurality of sub-queries. 12. The computer-readable, non-transient memory of claim 9 , further comprising, in response to an indication that a particular one of the plurality of database repositories is unavailable, reassigning a sub-query intended for the unavailable database repository to an available one of the plurality of database repositories. 13. The computer-readable, non-transient memory of claim 9 , further comprising: storing a duplicate of the particular graph database into a different plurality of database repositories; wherein the particular graph database is accessible by a first group of users; and wherein the duplicate graph database is accessible by a second group of users and is not accessible by the first group. 14. The computer-readable, non-transient memory of claim 13 , further comprising: receiving a first query from a user of the first group using a first process running on the computer system; and receiving a second query from a user of the second group using a second process running on the computer system, wherein the first and second processes are isolated from one another. 15. The computer-readable, non-transient memory of claim 13 , wherein storing the particular and duplicate graph databases includes sending, using respective data storage engines for the particular and duplicate graph databases, a new record to the particular and duplicate graph databases concurrently. 16. A system comprising: a processor circuit; and a memory circuit including instructions that when executed by the processor circuit, cause the system to perform operations including: maintaining a primary copy of a particular graph database on a first repository of a plurality of database repositories; maintaining one or more redundant copies of the particular graph database on a respective one or more different repositories of the plurality of database repositories; receiving a query to retrieve information from the particular graph database, the query identifying a plurality of vertices of the particular graph database; generating respective hash values for two or more of the plurality of vertices; dividing, using the respective hash values, the query into a plurality of sub-queries, ones of the sub-queries corresponding to a subset of the plurality of vertices; and sending ones of the plurality of sub-queries to respective repositories of the plurality of database repositories to retrieve corresponding portions of the information from the

Assignees

Inventors

Classifications

  • of sub-queries or views · CPC title

  • Access rights, e.g. capability lists, access control lists, access tables, access matrices · CPC title

  • Object oriented databases · CPC title

  • where protection concerns the structure of data, e.g. records, types, queries · 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 US12353585B2 cover?
A method for operating a graph database, including receiving, by a computer system, a query to a particular graph database, the query identifying a plurality of vertices of the particular graph database. The method further includes performing, by the computer system, hash operations on two or more of the plurality of vertices to generate respective hash values and dividing, using the respective…
Who is the assignee on this patent?
Paypal Inc
What technology area does this patent fall under?
Primary CPC classification G06F21/6227. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 08 2025 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).