IP Library Granted Patent US 10,884,874
Granted Patent B1
US 10,884,874 · App. 15/496,188 · Granted Jan 5, 2021

Federated restore of availability group database replicas

Inventors: Elango Chockalingam (Bangalore, IN); Jigar Bhanushali (Valsad, IN); Sunder Ramesh Andra (Bangalore, IN); Amarendra Behera (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F11/1469G06F16/27G06F2201/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 10,884,874
App. No.
15/496,188
Granted
Jan 5, 2021
Kind
B1
Abstract

Federated restore of availability group database replicas is described. A system receives a restore request associated with an availability group, and identifies a primary node in a cluster of nodes, the primary node storing a primary database replica associated with the availability group. The system identifies a secondary node in the cluster of nodes, the secondary node storing a secondary database replica associated with the availability group. The system removes the primary database replica and the secondary database replica from the availability group. The system simultaneously restores a backup database replica, associated with the availability group, as the primary database replica in the primary node and the secondary database replica in the secondary node. The system adds the restored primary database replica and the restored secondary database replica to the availability group.

Claims (43)

1. A system for federated restore of availability group database replicas, the system comprising:

one or more processors; and

a non-transitory computer readable medium storing a plurality of instructions, which when executed cause the one or more processors to:

identify a primary node in a cluster of nodes in response to receiving a restore request, the primary node storing a primary database replica associated with the availability group, the primary database replica being the only read/write database of the availability group, the restore request being a request to restore all database replicas of the availability group;

identify a secondary node in the cluster of nodes, the secondary node storing a secondary read-only database replica based on the primary database replica;

remove the primary database replica and the secondary database replica from the availability group, the removing preventing data from being written to the primary database replica and the secondary database replica during restoration of the database replicas;

restore, as the primary database replica in the primary node, a read/write accessible backup database replica of the same database as the removed primary database replica, and while the primary node is being restored, restore as the secondary database replica in the secondary node, a read-only accessible backup database replica of the same database, the backup database replica being associated with the availability group; and

add the restored primary database replica and the restored secondary database replica to the availability group.

2. The system of claim 1 , wherein identifying the primary node comprises:

sending the restore request to a listener associated with the availability group;

the listener identifying the primary node;

the listener sending the restore request to the primary node; and

wherein identifying the secondary node comprises the primary node sending the restore request to the secondary node.

3. The system of claim 1 , wherein the primary database replica comprises a plurality of primary database replicas that correspond to a plurality of secondary database replicas stored by the secondary node.

4. The system of claim 1 , wherein removing the primary database replica and the secondary database replica from the availability group comprises the primary node removing the primary database replica from the availability group and instructing the secondary node to remove the secondary database replica from the availability group.

5. The system of claim 1 , wherein adding the restored primary database replica and the restored secondary database replica to the availability group comprises the primary node adding the restored primary database replica to the availability group and instructing the secondary node to add the restored secondary database replica to the availability group.

6. A computer-implemented method for federated restore of availability group database replicas, the method comprising:

identifying a primary node in a cluster of nodes in response to receiving a restore request, the primary node storing a primary database replica associated with the availability group, the primary database replica being the only read/write database of the availability group, the restore request being a request to restore all database replicas of the availability group;

identifying a secondary node in the cluster of nodes, the secondary node storing a secondary read-only database replica based on the primary database replica;

removing the primary database replica and the secondary database replica from the availability group, the removing preventing data from being written to the primary database replica and the secondary database replica during restoration of the database replicas;

restoring, as the primary database replica in the primary node, a read/write accessible backup database replica of the same database as the removed primary database replica, and while the primary node is being restored, restoring as the secondary database replica in the secondary node, a read-only accessible backup database replica of the same database, the backup database replica being associated with the availability group; and

adding the restored primary database replica and the restored secondary database replica to the availability group.

7. The method of claim 6 , wherein identifying the primary node comprises:

sending the restore request to a listener associated with the availability group;

the listener identifying the primary node; and

the listener sending the restore request to the primary node.

8. The method of claim 6 , wherein identifying the secondary node comprises the primary node sending the restore request to the secondary node, and the primary database replica comprises a plurality of primary database replicas that correspond to a plurality of secondary database replicas stored by the secondary node.

9. The method of claim 6 , wherein removing the primary database replica and the secondary database replica from the availability group comprises the primary node removing the primary database replica from the availability group and instructing the secondary node to remove the secondary database replica from the availability group.

10. The method of claim 6 , wherein adding the restored primary database replica and the restored secondary database replica to the availability group comprises the primary node adding the restored primary database replica to the availability group and instructing the secondary node to add the restored secondary database replica to the availability group.

11. A computer program product, comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein to be executed by one or more processors, the program code including instructions to:

identify a primary node in a cluster of nodes in response to receiving a restore request, the primary node storing a primary database replica associated with the availability group, the primary database replica being the only read/write database of the availability group, the restore request being a request to restore all database replicas of the availability group;

identify a secondary node in the cluster of nodes, the secondary node storing a secondary read-only database replica based on the primary database replica;

remove the primary database replica and the secondary database replica from the availability group, the removing preventing data from being written to the primary database replica and the secondary database replica during restoration of the database replicas;

restore, as the primary database replica in the primary node, a read/write accessible backup database replica of the same database as the removed primary database replica, and while the primary node is being restored, restore as the secondary database replica in the secondary node, a read-only accessible backup database replica of the same database, the backup database replica being associated with the availability group; and

add the restored primary database replica and the restored secondary database replica to the availability group.

12. The computer program product of claim 11 , wherein identifying the primary node comprises:

sending the restore request to a listener associated with the availability group;

the listener identifying the primary node; and

the listener sending the restore request to the primary node.

13. The computer program product of claim 11 , wherein identifying the secondary node comprises the primary node sending the restore request to the secondary node.

14. The computer program product of claim 11 , wherein the primary database replica comprises a plurality of primary database replicas that correspond to a plurality of secondary database replicas stored by the secondary node.

15. The computer program product of claim 11 , wherein removing the primary database replica and the secondary database replica from the availability group comprises the primary node removing the primary database replica from the availability group and instructing the secondary node to remove the secondary database replica from the availability group.

16. The computer program product of claim 11 , wherein adding the restored primary database replica and the restored secondary database replica to the availability group comprises the primary node adding the restored primary database replica to the availability group and instructing the secondary node to add the restored secondary database replica to the availability group.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (042769/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0802 →
RELEASE OF SECURITY INTEREST AT REEL 042768 FRAME 0585 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0536 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY INTEREST (CREDIT) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 042768/0585 →
PATENT SECURITY INTEREST (NOTES) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 042769/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2017
From: CHOCKALINGAM, ELANGO; BHANUSHALI, JIGAR; ANDRA, SUNDER RAMESH; BEHERA, AMARENDRA
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 042410/0717 →
Cited By (1)
US 12,585,672