Access consistency in high-availability databases
US-11704182-B2 · Jul 18, 2023 · US
US12086020B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12086020-B2 |
| Application number | US-202318203388-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 30, 2023 |
| Priority date | Oct 21, 2020 |
| Publication date | Sep 10, 2024 |
| Grant date | Sep 10, 2024 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
Opening claim text (preview).
What is claimed is: 1. A non-transitory computer-readable medium having instructions stored thereon that are executable by a gatekeeper device to perform operations comprising: determining, based on accessing transaction data stored in one or more clusters of a database implemented using a plurality of clusters, health information for the one or more clusters; determining, based on the health information, whether to switch from accessing an active cluster to accessing a backup cluster of the database; storing, in respective clusters of the database, a changeover decision generated based on determining whether to switch from the active cluster to the backup cluster; periodically receiving, from access host computers included in a pool of access host computers configured to respond to a plurality of requests to access transaction data stored in the database, 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. 2. The non-transitory computer-readable medium of claim 1 , wherein the transaction data is for electronic transactions initiated between two or more computing devices prior to determining the health information, and wherein accessing the transaction data is based on: receiving, from a plurality of host computers, a plurality of requests to access the transaction data stored in the database; and responding, by accessing transaction data stored in the active cluster, to the plurality of requests. 3. The non-transitory computer-readable medium of claim 1 , wherein the updated health information is received every minute. 4. The non-transitory computer-readable medium of claim 1 , wherein the operations further comprise: periodically determining, based on a cleanup time threshold, whether one or more access host computers have been removed from the pool of access host computers used in responding to the plurality of requests; and removing, from the health information, one or more health ballots associated with one or more access host computers that have been removed from the pool. 5. The non-transitory computer-readable medium of claim 1 , wherein determining the health information includes determining whether one or more database accesses were successful, wherein the health information indicates inferior characteristics of the active cluster, and wherein the health information is further generated by: determining whether failure ratios for one or more clusters in the database, calculated based on health values for a plurality of requests for data, satisfy a health threshold, wherein the health information indicates whether the one or more clusters in the database are healthy. 6. The non-transitory computer-readable medium of claim 1 , wherein the database is a key-value database, 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 a plurality of host computers, wherein the stored 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 a health vote as an entry in a value field. 7. The non-transitory computer-readable medium of claim 1 , wherein the database is a key-value database, wherein the gatekeeper device is a distributed micro-service acting as a data access layer (DAL) for the key-value database, and wherein the gatekeeper device includes the pool of access host computers that maintain a plurality of connections to the database. 8. A method, comprising: determining, by a computer system based on accessing transaction data stored in one or more clusters of a transaction database implemented using a plurality of clusters, health information for one or more of the plurality of clusters of the transaction database; determining, by the computer system based on the health information, whether to switch from accessing an active cluster of the transaction database to accessing a backup cluster; storing, by the computer system in respective clusters of the transaction database, a changeover decision generated based on determining whether to switch from the active cluster to the backup cluster; periodically receiving, by the computer system from access host computers included in a pool of access host computers configured to respond to a plurality of requests to access transaction data stored in the transaction database, updated health information, wherein the updated health information is generated based on changes in real-time traffic for the transaction database; and updating, by the computer system based on the updated health information, the changeover decision. 9. The method of claim 8 , further comprising: periodically determining, by the computer system based on a cleanup time threshold, whether one or more access host computers have been removed from the pool of access host computers used in responding to the plurality of requests; and 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. 10. The method of claim 8 , wherein the updated health information is received every hour. 11. The method of claim 9 , wherein the transaction database is a non-relational database, and wherein the active cluster and the backup cluster include redundant data. 12. The method of claim 9 , wherein the transaction database is a key-value database, 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 transaction database: a name of an access host computer as an entry in a key field; and a timestamp and a health vote as an entry in a value field. 13. The method of claim 9 , wherein the transaction database is a non-relational database, and wherein the computer system is a gatekeeper for the non-relational database such that it facilitates communication between a plurality of host computers and the transaction database. 14. A system, comprising: a processor; and a non-transitory computer-readable medium having stored thereon instructions that are executable by the processor to cause the system to perform operations comprising: determining, based on accessing transaction data stored in one or more clusters of a database implemented using a plurality of clusters, health information for one or more of the plurality of clusters of the database; determining, based on the health information, whether to switch from accessing an active cluster of the database to accessing a backup cluster; storing, in respective clusters of the database, a changeover decision generated based on determining whether to switch from the active cluster to the backup cluster; periodically receiving, from access host computers included in a pool of access host computers configured to respond to requests to access transaction data stored in the database, updated health information; and updating, based on the updated health information, the changeover decision. 15. The system of claim 14 , wherein the instructions are executable by the processor to cause the system to further perform operations comprising: periodically determining, based on a cleanup time threshold, whether one
Data synchronisation · CPC title
Management of state, configuration or failover · CPC title
Backup restoration techniques · CPC title
where the computing system component is a storage system, e.g. DASD based or network based (digital input from or digital output to record carriers G06F3/06; digital recording or reproducing G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097) · CPC title
for networked environments · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.