IP Library Granted Patent US 12,321,244
Granted Patent B1
US 12,321,244 · App. 18/795,110 · Granted Jun 3, 2025

Dynamic implementation of a backup policy for database recovery

Inventors: Adil Gul Rather (Bangalore, IN); Akshay Ashok Chandak (Bangalore, IN); Altaf Mahmood (Bangalore, IN); Jagadeesh Kumar Dittakavi (Bengaluru, IN)
Assignee: Nutanix Inc.
G06F11/1469G06F2201/80
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 12,321,244
App. No.
18/795,110
Filed
Aug 5, 2024
Granted
Jun 3, 2025
Kind
B1
Examiner
CHEUNG, EDDY
Art Unit
2165
USPC
707/654
Abstract

A method may include, based on a recovery policy associated with the primary database, creating a first snapshot of the primary database at a primary computing system, replicating the first snapshot of the primary database to a secondary computing system, wherein a backup database of the primary database is hosted on the secondary cluster, in response to the primary database being unavailable, applying the first snapshot of the primary database to the backup database, creating, according to the recovery policy associated with the primary database, a snapshot of the backup database, in response to the primary database having restored availability, creating, according to the recovery policy associated with the primary database, a second snapshot of the primary database.

Claims (44)

1. An apparatus comprising a processor and a memory, wherein the memory includes programmed instructions that, when executed by the processor, cause the apparatus to:

based on a recovery policy associated with the primary database, create a first snapshot of a primary database at a primary computing system;

replicate the first snapshot of the primary database to a secondary computing system, wherein a backup database of the primary database is hosted on the secondary cluster;

in response to the primary database being unavailable:

apply the first snapshot of the primary database to the backup database;

create, according to the recovery policy associated with the primary database, a snapshot of the backup database;

in response to the primary database having restored availability, create, according to the recovery policy associated with the primary database, a second snapshot of the primary database.

2. The apparatus of claim 1 , wherein the instructions further cause the apparatus to:

in response to the primary database being unavailable, switch the recovery policy from the primary database to the backup database; and

in response to the primary database having restored availability, switch the recovery policy from the backup database to the primary database.

3. The apparatus of claim 1 , wherein the instructions further cause the apparatus to:

based on the recovery policy, create snapshots of the primary database at a predefined interval; and

in response to the primary database being unavailable, create snapshots of the backup database at the predefined interval.

4. The apparatus of claim 1 , wherein the instructions cause the apparatus to create the first snapshot of the primary database by transmitting a snapshot creation command to the primary database.

5. The apparatus of claim 1 , wherein the instructions cause the apparatus to:

based on the recovery policy, capture logs of the primary database; and

apply a subset of the captured logs to the backup database upon applying the first snapshot of the primary database to the backup database.

6. The apparatus of claim 5 , wherein the subset of the captured logs were captured after the first snapshot was created to provide point-in-time recovery (PITR) at the backup database based on the first snapshot and the subset of the captured logs.

7. The apparatus of claim 1 , wherein the instructions cause the apparatus to monitor a status of the primary database to determine when the primary database is unavailable.

8. The apparatus of claim 1 , wherein the primary database is asynchronously replicated to the backup database.

9. The apparatus of claim 1 , wherein the recovery policy is implemented by a service running on a control plane, wherein the control plane sends commands to a plurality of databases hosted on one or more public clouds and on one or more on-premises systems.

10. The apparatus of claim 1 , wherein the primary computing system and the secondary computing system are in different regions of a public cloud.

11. A method comprising:

based on a recovery policy associated with the primary database, creating a first snapshot of a primary database at a primary computing system;

replicating the first snapshot of the primary database to a secondary computing system, wherein a backup database of the primary database is hosted on the secondary cluster;

in response to the primary database being unavailable:

applying the first snapshot of the primary database to the backup database;

creating, according to the recovery policy associated with the primary database, a snapshot of the backup database;

in response to the primary database having restored availability, creating, according to the recovery policy associated with the primary database, a second snapshot of the primary database.

12. The method of claim 11 , further comprising:

in response to the primary database being unavailable, switching the recovery policy from the primary database to the backup database; and

in response to the primary database having restored availability, switching the recovery policy from the backup database to the primary database.

13. The method of claim 11 , further comprising:

based on the recovery policy, creating snapshots of the primary database at a predefined interval; and

in response to the primary database being unavailable, creating snapshots of the backup database at the predefined interval.

14. The method of claim 11 , wherein creating the first snapshot of the primary database includes transmitting a snapshot creation command to the primary database.

15. The method of claim 11 , further comprising:

based on the recovery policy, capturing logs of the primary database; and

applying a subset of the captured logs to the backup database upon applying the first snapshot of the primary database to the backup database.

16. The method of claim 15 , wherein the subset of the captured logs were captured after the first snapshot was created to provide point-in-time recovery (PITR) at the backup database based on the first snapshot and the subset of the captured logs.

17. The method of claim 11 , further comprising monitoring a status of the primary database to determine when the primary database is unavailable.

18. The method of claim 11 , wherein the primary database is asynchronously replicated to the backup database.

19. The method of claim 11 , wherein the recovery policy is implemented by a service running on a control plane, wherein the control plane sends commands to a plurality of databases hosted on one or more public clouds and on one or more on-premises systems.

20. The method of claim 11 , wherein the primary computing system and the secondary computing system are in different regions of a public cloud.

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 Aug 5, 2024
From: RATHER, ADIL GUL; CHANDAK, AKSHAY ASHOK; MAHMOOD, ALTAF; DITTAKAVI, JAGADEESH KUMAR
To: NUTANIX, INC.
Reel/Frame 068187/0490 →
Priority Claims (1)
IN 202441047174 · Jun 19, 2024 · national
References Cited (20)
US 8549518B1 · Aron et al. · 2013 [cited by applicant]
US 8601473B1 · Aron et al. · 2013 [cited by applicant]
US 8850130B1 · Aron et al. · 2014 [cited by applicant]
US 8863124B1 · Aron · 2014 [cited by applicant]
US 9009106B1 · Aron et al. · 2015 [cited by applicant]
US 9069708B2 · Gill et al. · 2015 [cited by applicant]
US 9336132B1 · Aron et al. · 2016 [cited by applicant]
US 9652265B1 · Narayanasamy et al. · 2017 [cited by applicant]
US 9772866B1 · Aron et al. · 2017 [cited by applicant]
US 20210406132A1 · Gupta · 2021 [cited by examiner]
US 20220004469A1 · Shen · 2022 [cited by examiner]
US 20220050753A1 · Mehta · 2022 [cited by examiner]
Sontakke, et al, “Tessell Availability Machine: Why, What, How?”, Aug. 17, 2023, https://www.tessell.com/blogs/why-what-how-of-tessell-availability-machine. [cited by applicant]
Cano, Ignacio, et al. “Curator: Self-Managing Storage for Enterprise Clusters” (Mar. 27, 2017), from https://www.usenix.org/conference/nsdi17/. [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jan. 11, 2014), from http://stevenpoitras.com/the-nutanix-bible/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Oct. 15, 2013), from http://stevenpoitras.com/the-nutanix-bible/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Sep. 17, 2019), from https://nutanixbible.com/. [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jun. 20, 2014), from http://stevenpoitras.com/the-nutanix-bible/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jan. 7, 2015), from http://stevenpoitras.com/the-nutanix-bible/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). [cited by applicant]
Poitras, Steven. “The Nutanix Bible” (Jun. 9, 2015), from http://stevenpoitras.com/the-nutanix-bible/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). [cited by applicant]
Cited By (7)
US 12,554,599 US 12,572,559 US 12,613,857 US 12,657,097 US 12,657,163 US 12,693,939 US 12,699,685