IP Library Granted Patent US 11,604,806
Granted Patent B2
US 11,604,806 · App. 17/181,586 · Granted Mar 14, 2023

System and method for highly available database service

Inventors: Yashesh Mankad (Sunnyvale, CA); Kamaldeep Khanuja (Dublin, CA); Manish Pratap Singh (Cupertino, CA)
Assignee: Nutanix, Inc.
G06F16/27
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,604,806
App. No.
17/181,586
Filed
Feb 22, 2021
Granted
Mar 14, 2023
Kind
B2
Art Unit
2167
USPC
707/655
Abstract

A highly available database system includes a first instance of a database server on a first cluster of a virtual computing system, a second instance of the database server on a second cluster of the virtual computing system, a first instance of an administration database on the first cluster, and a second instance of the administration database on the second cluster. The first instance of the database server and the second instance of the database server form a highly available database server, the first instance of the administration database and the second instance of the administration database form a highly available administration database, and the first instance of the database server, the second instance of the database server, the first instance of the administration database, and the second instance of the administration database are configured to manage at least one customer database.

Claims (52)

1. A system comprising:

a first instance of a database server on a first cluster of a virtual computing system, wherein the first instance of the database server includes a processor and memory;

a second instance of the database server on a second cluster of the virtual computing system;

a first instance of an administration database on the first cluster; and

a second instance of the administration database on the second cluster,

wherein the first instance of the database server and the second instance of the database server form a highly available database server;

wherein the first instance of the administration database and the second instance of the administration database form a highly available administration database; and

wherein the first instance of the database server, the second instance of the database server, the first instance of the administration database, and the second instance of the administration database are configured to manage at least one customer database,

wherein the first instance of the database server is located on a first virtual machine of the first cluster and the first instance of the administration database is located on a second virtual machine of the first cluster.

2. The system of claim 1 , further comprising:

a first proxy on the first cluster to facilitate communication between a leader database server and one of the first instance of the administration database or the second instance of the administration database, wherein the leader database server is selected from the first instance of the database server or the second instance of the database server.

3. The system of claim 2 , further comprising a second proxy on the second cluster to facilitate communication between the leader database server and one of the first instance of the administration database and the second instance of the administration database when the first proxy fails.

4. The system of claim 2 , wherein the first proxy is located on a second virtual machine of the first cluster.

5. The system of claim 1 , wherein the second instance of the database server is located on a first virtual machine of the second cluster and the second instance of the administration database is located on a second virtual machine of the second cluster.

6. The system of claim 1 , wherein the first instance of the database server is a primary database server and the second instance of the database server is a secondary database server, and wherein the second instance of the database server becomes the primary database server upon the first instance of the database server becoming unavailable.

7. The system of claim 1 , wherein the first instance of the administration database is a primary administration server and the second instance of the administration database is a secondary administration database, and wherein the second instance of the administration database becomes the primary administration database upon the first instance of the administration database becoming unavailable.

8. The system of claim 1 , wherein each of the first instance of the administration database and the second instance of the administration database comprises a consensus keeper configured to record state transitions in the first instance of the administration database and the second instance of the administration database.

9. A method comprising:

creating, by a processor executing computer-readable instructions stored on a memory, a highly available administration database by:

creating, by the processor, a first instance of an administration database on a first cluster of a virtual computing system; and

creating, by the processor, a second instance of the administration database on a second cluster of the virtual computing system; and

creating, by the processor, a highly available database server by:

creating, by the processor, a first instance of a database server on the first cluster; and

creating, by the processor, a second instance of the database server on the second cluster,

wherein the first instance of the database server, the second instance of the database server, the first instance of the administration database, and the second instance of the administration database are configured to manage at least one customer database,

wherein the first instance of the database server is located on a first virtual machine of the first cluster and the first instance of the administration database is located on a second virtual machine of the first cluster.

10. The method of claim 9 , further comprising enabling a high availability option before creating the highly available database server.

11. The method of claim 9 , wherein the highly available administration database is created before the highly available database server is created.

12. The method of claim 9 , wherein the second instance of the database server is located on a first virtual machine of the second cluster and the second instance of the administration database is located on a second virtual machine of the second cluster.

13. The method of claim 9 , further comprising:

designating, by the processor, the first instance of the database server as a leader database server; and

designating, by the processor, the second instance of the database server as a secondary database server.

14. The method of claim 13 , further comprising sending a user request, by the processor, from the leader database server to a proxy, wherein the proxy transmits the user request to one of the first instance of the administration database or the second instance of the administration database.

15. The method of claim 13 , further comprising automatically electing, by the processor, the second instance of the database server as the leader database server upon the first instance of the database server becoming unavailable.

16. The method of claim 9 , further comprising:

designating, by the processor, the first instance of the administration database as a primary administration server; and

designating, by the processor, the second instance of the administration database as a secondary administration database, wherein the second instance of the administration database becomes the primary administration database upon the first instance of the administration database becoming unavailable.

17. A non-transitory computer-readable media comprising computer-readable instructions stored thereon that when executed by a processor cause the processor to:

create a highly available administration database by:

creating a first instance of an administration database on a first cluster of a virtual computing system; and

creating a second instance of the administration database on a second cluster of the virtual computing system; and

create a highly available database server by:

creating a first instance of a database server on the first cluster; and

creating a second instance of the database server on the second cluster,

wherein the first instance of the database server, the second instance of the database server, the first instance of the administration database, and the second instance of the administration database are configured to manage at least one customer database,

wherein the first instance of the database server is located on a first virtual machine of the first cluster and the first instance of the administration database is located on a second virtual machine of the first cluster.

18. The non-transitory computer-readable media of claim 17 , wherein the second instance of the database server is located on a first virtual machine of the second cluster and the second instance of the administration database is located on a second virtual machine of the second cluster.

19. The non-transitory computer-readable media of claim 17 , wherein the processor further executes the computer-readable instructions to:

designate the first instance of the database server as a leader database server; and

designate the second instance of the database server as a secondary database server.

20. The non-transitory computer-readable media of claim 19 , wherein the processor further executes the computer-readable instructions to send a user request from the leader database server to a proxy, and wherein the proxy transmits the user request to one of the first instance of the administration database or the second instance of the administration database.

21. The non-transitory computer-readable media of claim 19 , wherein the processor further executes the computer-readable instructions to automatically elect the second instance of the database server as the leader database server upon the first instance of the database server becoming unavailable.

Assignments (2)
SECURITY INTEREST Recorded Feb 13, 2025
From: NUTANIX, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070206/0463 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2021
From: MANKAD, YASHESH; KHANUJA, KAMALDEEP; SINGH, MANISH PRATAP
To: NUTANIX, INC.
Reel/Frame 055357/0193 →
Continuity (2)
Provisional Application 63131169 · Dec 28, 2020
Related Publication 20220207053A1 · Jun 30, 2022
Cited By (10)
US 12,259,796 US 12,306,819 US 12,481,638 US 12,517,865 US 12,554,594 US 12,613,857 US 12,657,097 US 12,693,939 US 12,693,999 US 12,699,685