Access consistency in high-availability databases

US11704182B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11704182-B2
Application numberUS-202117404471-A
CountryUS
Kind codeB2
Filing dateAug 17, 2021
Priority dateOct 21, 2020
Publication dateJul 18, 2023
Grant dateJul 18, 2023

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 maintaining a high availability (HA) database. In some embodiments, a computer system receives, from a plurality of host computers, a plurality of requests to access data stored in a database implemented using a plurality of clusters. In some embodiments, the computer system responds to the plurality of requests by accessing data stored in an active cluster. The computer system may then determine, based on the responding, health information for ones of the plurality of clusters, wherein the health information is generated based on real-time traffic for the database. In some embodiments, the computer system determines, based on the health information, whether to switch from accessing the active cluster to accessing a backup cluster. In some embodiments, the computer system stores, in respective clusters of the database, a changeover decision generated based on the determining.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: receiving, by a computer system from a plurality of host computers, a plurality of requests to access data stored in a database implemented using a plurality of clusters; responding, by the computer system, to the plurality of requests by accessing data stored in an active cluster; determining, by the computer system based on the responding, health information for ones of the plurality of clusters, wherein the health information is generated based on real-time traffic for the database; periodically determining, by the computer system based on a cleanup time threshold, whether one or more access host computers have been removed from a pool of access host computers used in responding to the plurality of requests; removing, by the computer system from the health information, one or more health ballots associated with one or more access host computers that have been removed from the pool; determining, by the computer system based on the health information, whether to switch from accessing the active cluster to accessing a backup cluster; and storing, by the computer system in respective clusters of the database, a changeover decision generated based on the determining. 2. The method of claim 1 , wherein the database is a non-relational database, wherein the active cluster and the backup cluster include redundant data, and wherein the computer system is a gatekeeper for the non-relational database such that it facilitates communication between the plurality of host computers and the database. 3. The method of claim 1 , wherein determining the health information includes determining whether one or more database accesses were successful, and wherein the health information indicates inferior characteristics of the active cluster. 4. The method of claim 1 , further comprising: periodically receiving, by the computer system from access host computers included in a pool of access host computers configured to respond to the plurality of requests, updated health information, wherein the updated health information is generated based on changes in real-time traffic for the database; and updating, based on the updated health information, the changeover decision. 5. The method of claim 1 , wherein the health information is generated by access host computers by: sending, to the database via the computer system, a plurality of requests for data; determining, based on success of database accesses, health values for respective database accesses; and calculating, based on the health values, failure ratios for one or more clusters in the database. 6. The method of claim 5 , wherein the health information is further generated by: determining whether the failure ratios satisfy a health threshold, wherein the health information indicates whether one or more clusters in the database are healthy based on the determining. 7. The method of claim 1 , wherein the stored changeover decision is accessible to one or more access host computers for determining whether to access the active cluster or the backup cluster included in the database based on receiving requests from ones of the plurality of host computers. 8. The method of claim 1 , wherein the database is a key-value database, wherein the computer system is a distributed micro-service acting as a data access layer (DAL) for the key-value database, and wherein the computer system includes a pool of access host computers that maintain a plurality of connections to the database. 9. The method of claim 8 , wherein the changeover decision includes health ballots for clusters of the key-value database, and wherein the health ballots specify for respective clusters in the database: a name of an access host computer as an entry in a key field; and a timestamp and health vote as an entry in a value field. 10. A non-transitory computer-readable medium having instructions stored thereon that are executable by a gatekeeper device to perform operations comprising: receiving, from a plurality of host computers, a plurality of requests to access data stored in a database implemented using a plurality of clusters; responding, by accessing data stored in an active cluster, to the plurality of requests; determining, based on whether the data accessing is successful, health information for ones of the plurality of clusters of the database, wherein the health information is generated based on real-time traffic for the database; determining, based on the health information, whether to switch from accessing the active cluster to accessing a backup cluster; storing, in respective clusters of the database, a changeover decision generated based on the determining; periodically receiving, from access host computers included in a pool of access host computers configured to respond to the plurality of requests, updated health information, wherein the updated health information is generated based on changes in real-time traffic for the database; and updating, based on the updated health information, the changeover decision. 11. The non-transitory computer-readable medium of claim 10 , wherein the database is a key-value database, and wherein the gatekeeper device is a distributed micro-service acting as a data access layer (DAL) for the key-value database. 12. The non-transitory computer-readable medium of claim 11 , wherein the changeover decision includes health ballots for clusters of the key-value database, and wherein the health ballots specify for respective clusters in the database: a name of an access host computer as an entry in a key field; and a timestamp and health vote as an entry in a value field. 13. The non-transitory computer-readable medium of claim 10 , wherein the operations further comprise: periodically determining, based on a cleanup time threshold, whether one or more host computers are no longer active; and removing, from the health information based on the determining, information associated with the one or more computers that are no longer active. 14. The non-transitory computer-readable medium of claim 13 , wherein removing, from the health information, information associated with the one or more computers that are no longer active includes removing one or more health ballots associated with one or more access host computers that are no longer active. 15. The non-transitory computer-readable medium of claim 10 , wherein the health information is generated by access host computers by: sending, to the database, a plurality of requests for data; determining, based on success of database accesses, health values for respective database accesses; and calculating, based on the health values, failure ratios for one or more clusters in the database. 16. A method, comprising: accessing, by an access host computer, data stored in a database implemented using a plurality of clusters; receiving, by the access host computer from the database, responses indicating whether accessing data stored in clusters of the database was successful; and determining, by the access host computer based on the responses, health values for respective database accesses, wherein the health values are usable by a gateway device to generate health information for ones of the plurality of clusters, and wherein the health information is usable by one or more access host computers maintained by the gateway device to determine whether to switch from accessing an active cluster of the database to accessing a backup cluster of the database; and calculating, based on the health values, a failure ratio for one or more clusters in th

Assignees

Inventors

Classifications

  • Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers · CPC title

  • by exceeding a count or rate limit, e.g. word- or bit count limit · CPC title

  • by exceeding a time limit, i.e. time-out, e.g. watchdogs · CPC title

  • by selection of backup contents · CPC title

  • for networked environments · 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 US11704182B2 cover?
Techniques are disclosed relating to maintaining a high availability (HA) database. In some embodiments, a computer system receives, from a plurality of host computers, a plurality of requests to access data stored in a database implemented using a plurality of clusters. In some embodiments, the computer system responds to the plurality of requests by accessing data stored in an active cluster.…
Who is the assignee on this patent?
Paypal Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/0772. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 18 2023 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 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).