IP Library Granted Patent US 12,066,901
Granted Patent B2
US 12,066,901 · App. 17/154,268 · Granted Aug 20, 2024

Protecting databases in a clusterless availability group

Inventors: Bharat Bhushan (Bangalore, IN); Niketan Kalaskar (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F11/1469G06F11/1451G06F11/1464G06F16/27G06F16/284G06F2201/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,066,901
App. No.
17/154,268
Granted
Aug 20, 2024
Kind
B2
Abstract

A determination is made that a backup of a database in an availability group provided by a relational database management system (RDBMS) should be performed. The availability group includes a node functioning as a primary node and hosting a primary replica of the database and one or more other nodes functioning as secondary nodes and hosting secondary replicas of the database. The availability group is a clusterless availability group in which the one or more other nodes functioning as secondary nodes are not available as automatic failover targets should the primary node become unavailable. A command is issued to a node in the availability group to obtain a globally unique identifier (GUID) of the availability group. The node is instructed to index a backup of the database against the GUID of the availability group.

Claims (50)

1. A method comprising:

determining that a backup of a database in an availability group provided by a relational database management system (RDBMS) should be performed, the availability group comprising a node functioning as a primary node and hosting a primary replica of the database, and one or more other nodes functioning as secondary nodes and hosting secondary replicas of the database,

wherein the primary replica is available for read-write connections and the secondary replicas are available for read-only connections, and

wherein the availability group is a clusterless availability group in which the one or more other nodes functioning as secondary nodes are not available as automatic failover targets should the primary node become unavailable;

issuing, to a node in the availability group, a command to obtain a globally unique identifier (GUID) of the availability group; and

directing, for an initial backup of the database, the node to backup a replica of the database being hosted by the node, the directing for the initial backup comprising instructing the node to index the initial backup against the GUID of the availability group, wherein the indexing of the initial backup against the GUID of the clusterless availability group thereby allows a subsequent backup of the database conducted using a different node in the availability group to be linked to the initial backup despite the subsequent backup being conducted using the different node.

2. The method of claim 1 wherein the GUID of the availability group is generated and assigned to the availability group by the RDBMS.

3. The method of claim 1 wherein the node in the availability group is a first node and the method further comprises:

directing, for the subsequent backup of the database, a second node in the availability group to backup a replica of the database being hosted by the second node, the directing for the subsequent backup comprising instructing the second node to index the subsequent backup against the GUID of the availability group, and

wherein the initial backup of the database comprises a full backup, and the subsequent backup of the database comprises a differential backup.

4. The method of claim 3 further comprising:

linking the initial and subsequent backups of the database using the GUID of the availability group.

5. The method of claim 1 wherein the GUID of the availability group is different from a name of the node and a name assigned to the availability group by a user.

6. The method of claim 1 wherein after the initial backup of the database is completed, the database is forced by a user to failover to another node in the availability group, the other node being a second node, and the method further comprises:

issuing, to the second node in the availability group, a command to obtain the GUID of the availability group; and

directing, for the subsequent backup of the database, the second node to backup a replica of the database being hosted by the second node, the directing for the subsequent backup comprising instructing the second node to index the subsequent backup against the GUID of the availability group.

7. A system comprising: a processor; and memory configured to store one or more sequences of instructions which, when executed by the processor, cause the processor to carry out the steps of:

determining that a backup of a database in an availability group provided by a relational database management system (RDBMS) should be performed, the availability group comprising a node functioning as a primary node and hosting a primary replica of the database, and one or more other nodes functioning as secondary nodes and hosting secondary replicas of the database,

wherein the primary replica is available for read-write connections and the secondary replicas are available for read-only connections, and

wherein the availability group is a clusterless availability group in which the one or more other nodes functioning as secondary nodes are not available as automatic failover targets should the primary node become unavailable;

issuing, to a node in the availability group, a command to obtain a globally unique identifier (GUID) of the availability group; and

directing, for an initial backup of the database, the node to backup a replica of the database being hosted by the node, the directing for the initial backup comprising instructing the node to index the initial backup against the GUID of the availability group, wherein the indexing of the initial backup against the GUID of the clusterless availability group thereby allows a subsequent backup of the database conducted using a different node in the availability group to be linked to the initial backup despite being the subsequent backup being conducted using the different node.

8. The system of claim 7 wherein the GUID of the availability group is generated and assigned to the availability group by the RDBMS.

9. The system of claim 7 wherein the node in the availability group is a first node and the processor further carries out the steps of:

directing, for the subsequent backup of the database, a second node in the availability group to backup a replica of the database being hosted by the second node, the directing for the subsequent backup comprising instructing the second node to index the subsequent backup against the GUID of the availability group, and

wherein the initial backup of the database comprises a full backup, and the subsequent backup of the database comprises a differential backup.

10. The system of claim 9 wherein the processor further carries out the steps of:

linking the initial and subsequent backups of the database using the GUID of the availability group.

11. The system of claim 7 wherein the GUID of the availability group is different from a name of the node and a name assigned to the availability group by a user.

12. The system of claim 7 wherein after the initial backup of the database is completed, the database is forced by a user to failover to another node in the availability group, the other node being a second node, and the processor further carries out the steps of:

issuing, to the second node in the availability group, a command to obtain the GUID of the availability group; and

directing, for the subsequent backup of the database, the second node to backup a replica of the database being hosted by the second node, the directing for the subsequent backup comprising instructing the second node to index the subsequent backup against the GUID of the availability group.

13. A computer program product, comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein, the computer-readable program code adapted to be executed by one or more processors to implement a method comprising:

determining that a backup of a database in an availability group provided by a relational database management system (RDBMS) should be performed, the availability group comprising a node functioning as a primary node and hosting a primary replica of the database, and one or more other nodes functioning as secondary nodes and hosting secondary replicas of the database,

wherein the primary replica is available for read-write connections and the secondary replicas are available for read-only connections, and

wherein the availability group is a clusterless availability group in which the one or more other nodes functioning as secondary nodes are not available as automatic failover targets should the primary node become unavailable;

issuing, to a node in the availability group, a command to obtain a globally unique identifier (GUID) of the availability group; and

directing, for an initial backup of the database, the node to backup a replica of the database being hosted by the node, the directing for the initial backup comprising instructing the node to index the initial backup against the GUID of the availability group, wherein the indexing of the initial backup against the GUID of the clusterless availability group thereby allows a subsequent backup of the database conducted using a different node in the availability group to be linked to the initial backup despite the subsequent backup being conducted using the different node.

14. The computer program product of claim 13 wherein the GUID of the availability group is generated and assigned to the availability group by the RDBMS.

15. The computer program product of claim 13 wherein the node in the availability group is a first node and the method further comprises:

directing, for the subsequent backup of the database, a second node in the availability group to backup a replica of the database being hosted by the second node, the directing for the subsequent backup comprising instructing the second node to index the subsequent backup against the GUID of the availability group, and

wherein the initial backup of the database comprises a full backup, and the subsequent backup of the database comprises a differential backup.

16. The computer program product of claim 15 wherein the method further comprises:

linking the initial and subsequent backups of the database using the GUID of the availability group.

17. The computer program product of claim 13 wherein the GUID of the availability group is different from a name of the node and a name assigned to the availability group by a user.

18. The computer program product of claim 13 wherein after the initial backup of the database is completed, the database is forced by a user to failover to another node in the availability group, the other node being a second node, and the method further comprises:

issuing, to the second node in the availability group, a command to obtain the GUID of the availability group; and

directing, for the subsequent backup of the database, the second node to backup a replica of the database being hosted by the second node, the directing for the subsequent backup comprising instructing the second node to index the subsequent backup against the GUID of the availability group.

19. The method of claim 1 further comprising:

based on the indexing of the initial backup against the GUID of the availability group, recognizing, at the subsequent backup of the database conducted at the different node in the availability group, that the initial backup of the database has been previously performed.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0663 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0771 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0051 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0342 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2021
From: BHUSHAN, BHARAT; KALASKAR, NIKETAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055058/0208 →