IP Library Granted Patent US 10,642,506
Granted Patent B2
US 10,642,506 · App. 15/699,036 · Granted May 5, 2020

High availability transactional replication

Inventors: Sathish Kumar Bikumala (Round Rock, TX); Nataraj Rachakonda (Austin, TX); Chandra Sekhar Uppuluri (Austin, TX)
Assignee: Dell Products L. P.
G06F3/0617G06F11/1451G06F11/1466G06F11/2023G06F11/2097G06F16/27G06F11/2038G06F11/2048G06F2201/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,642,506
App. No.
15/699,036
Granted
May 5, 2020
Kind
B2
Abstract

Some examples include instructions stored in a memory and executed by one or more processors to configure an availability group that includes a primary database and a secondary database and configure one or more subscriptions associated with the primary database. Individual subscriptions of the one or more subscriptions may identify a network element (e.g., individual subscriber) of one or more network elements that subscribe to receiving a portion of data stored in the primary database. The processors may configure the secondary database to replicate a content of the primary database, configure the secondary database to publish data based on the one or more subscriptions in response to a failover from the primary database to the secondary database, and redirect the one or more subscriptions from the primary database to the availability group.

Claims (51)

1. A computer-implemented method, comprising:

configuring an availability group that includes metadata identifying a primary database and a secondary database of the availability group;

configuring one or more subscriptions associated with the primary database, each subscription of the one or more subscriptions identifying a network element of one or more network elements that subscribes to a portion of data stored in the primary database;

configuring the secondary database to replicate a content of the primary database; and

configuring, based on the one or more subscriptions, the one or more network elements as listeners to the availability group including modifying each subscription of the one or more subscriptions to include information associated with the availability group rather than the primary database, wherein in response to a failover from the primary database to the secondary database, the secondary database publishes data to the listeners of the availability group.

2. The computer-implemented method of claim 1 , further comprising:

verifying that, in response to the failover from the primary database to the secondary database, the secondary database publishes the data based on the one or more subscriptions to one or more network elements that were, prior to the failover, receiving the data from the primary database.

3. The computer-implemented method of claim 1 , further comprising:

determining a problem with the primary database;

determining that the problem satisfies a failover threshold; and

performing the failover from the primary database to the secondary database.

4. The computer-implemented method of claim 1 , wherein, after performing the failover, the secondary database publishes the data, based on the one or more subscriptions, to the one or more network elements that were, prior to the failover, receiving the data from the primary database.

5. The computer-implemented method of claim 1 , further comprising:

determining that the failover from the primary database to the secondary database occurred; and

maintaining an atomicity, consistency, isolation, durability of the data being sent to the listeners to the availability group.

6. The computer-implemented method of claim 1 , wherein the secondary database is configured as a listener to the primary database.

7. The computer-implemented method of claim 1 , wherein:

the data is sent from the availability group to a distributor; and

the distributor forwards the data, based on the one or more subscriptions, to the network elements.

8. One or more non-transitory computer-readable media storing instructions that are executable by one or more processors to perform operations comprising:

configuring, by a distributor, an availability group that includes metadata identifying a primary database and a secondary database of the availability group;

configuring, by the distributor, one or more subscriptions associated with the primary database, each subscription of the one or more subscriptions identifying a network element of one or more network elements that subscribes to a portion of data stored in the primary database;

configuring, by the distributor, the secondary database to replicate a content of the primary database; and

configuring, based on the one or more subscriptions, the one or more network elements as listeners to the availability group including modifying each subscription of the one or more subscriptions to include information associated with the availability group rather than the primary database, wherein in response to a failover from the primary database to the secondary database, the secondary database publishes data to the distributor for forwarding to the listeners of the availability group.

9. The one or more non-transitory computer-readable media of claim 8 , further comprising:

determining a problem with the primary database; and

performing the failover from the primary database to the secondary database.

10. The one or more non-transitory computer-readable media of claim 8 , wherein, after performing the failover, the secondary database publishes the data to the distributor for forwarding to the one or more network elements based on the one or more subscriptions.

11. The one or more non-transitory computer-readable media of claim 8 , wherein the primary database is used to store data associated with staging an electronic commerce (ecommerce) website to receive orders placed by consumers.

12. The one or more non-transitory computer-readable media of claim 8 , wherein the primary database is used to store data associated with staging an electronic commerce (ecommerce) website to receive orders placed by enterprise customers.

13. The one or more non-transitory computer-readable media of claim 11 , further comprising:

receiving, by the distributor, additional data via a messaging queue; and

distributing, by the distributor, the additional data to the one or more network elements based on the one or more subscriptions.

14. A server comprising:

one or more processors; and

one or more non-transitory computer-readable media storing instructions that are executable by the one or more processors to perform operations comprising:

configuring an availability group that includes metadata identifying a primary database and a secondary database of the availability group;

configuring one or more subscriptions associated with the primary database, each subscription of the one or more subscriptions identifying a network element of one or more network elements that subscribes to a portion of data stored in the primary database; configuring the secondary database to replicate a content of the primary database; and

configuring, based on the one or more subscriptions, the one or more network elements as listeners to the availability group including modifying each subscription of the one or more subscriptions to include information associated with the availability group rather than the primary database, wherein in response to a failover from the primary database to the secondary database, the secondary database publishes data to the listeners of the availability group.

15. The server of claim 14 , the operations further comprising:

detecting a problem associated with the primary database; and

performing the failover from the primary database to the secondary database.

16. The server of claim 14 , wherein, after performing the failover, the secondary database publishes the data, based on the one or more subscriptions, to the one or more network elements that were, prior to the failover, receiving the data from the primary database.

17. The server of claim 14 , the operations further comprising:

verifying that, in response to the failover from the primary database to the secondary database, the secondary database publishes the data based on the one or more subscriptions to one or more network elements that were, prior to the failover, receiving the data from the primary database.

18. The server of claim 14 , the operations further comprising:

determining that the failover from the primary database to the secondary database occurred; and maintaining an atomicity, consistency, isolation, durability of the data being sent to the listeners to the availability group.

19. The server of claim 14 , wherein the secondary database is configured as a listener to the primary database.

20. The server of claim 14 , wherein:

the data is sent from the availability group to a distributor; and

the distributor forwards the data, based on the one or more subscriptions, to the network elements.

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 (044535/0109) Recorded May 20, 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0414 →
RELEASE OF SECURITY INTEREST AT REEL 044535 FRAME 0001 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0475 →
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 AGREEMENT (NOTES) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 044535/0109 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 044535/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2017
From: BIKUMALA, SATHISH KUMAR; RACHAKONDA, NATARAJ; UPPULURI, CHANDRA SEKHAR
To: DELL PRODUCTS L. P.
Reel/Frame 043536/0437 →