IP Library Granted Patent US 11,714,726
Granted Patent B2
US 11,714,726 · App. 17/112,731 · Granted Aug 1, 2023

Failover and recovery for replicated data instances

Inventors: Grant Alexander Macdonald McAlister (Seattle, WA); Swaminathan Sivasubramanian (Sammamish, WA)
Assignee: Amazon Technologies, Inc.
G06F11/1469G06F11/1443G06F11/1451G06F11/1464G06F11/2025G06F11/2056G06F11/2064G06F11/2069G06F11/2082G06F11/3006G06F16/178G06F16/275G06F11/2028G06F11/2041G06F11/2048G06F11/2076
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,714,726
App. No.
17/112,731
Granted
Aug 1, 2023
Kind
B2
Abstract

Replicated instances in a database environment provide for automatic failover and recovery. A monitoring component can periodically communicate with a primary and a secondary replica for an instance, with each capable of residing in a separate data zone or geographic location to provide a level of reliability and availability. A database running on the primary instance can have information synchronously replicated to the secondary replica at a block level, such that the primary and secondary replicas are in sync. In the event that the monitoring component is not able to communicate with one of the replicas, the monitoring component can attempt to determine whether those replicas can communicate with each other, as well as whether the replicas have the same data generation version. Depending on the state information, the monitoring component can automatically perform a recovery operation, such as to failover to the secondary replica or perform secondary replica recovery.

Claims (34)

1. A system, comprising:

at least one processor; and

a memory, storing program instructions that when executed by the at least one processor, cause the at least one processor to implement:

detect a failure of a first replica of a database in a first data zone comprising a first one or more data centers, wherein the database is synchronously replicated to a second replica of the database in a second data zone comprising a second one or more data centers, wherein the second data zone is selected out of a plurality of data zones offered by a database service that hosts the database via an interface of the database service, and wherein the selection of the second data zone is to create the second replica of the database in the second data zone;

responsive to the detection of the failure:

perform a failover to the second replica of the database in the second data zone from the first replica of the database in the first data zone; and

update a record for an endpoint DNS name of the database to direct client requests using the endpoint DNS name to the second replica of the database in the second data zone instead of the first replica of the database in the first data zone.

2. The system of claim 1 , wherein the memory stores further instructions that cause the at least one processor to monitor health of the first replica of the database, wherein the failure of the first replica of the database is detected as a result of the monitoring.

3. The system of claim 1 , wherein the memory stores further instructions that cause the at least one processor to store an event indicative of the failure of the first replica as part of a log accessible via an interface.

4. The system of claim 1 , wherein the memory stores further instructions that cause the at least one processor to receive a request that enables replication of the database across the first data zone and second data zone.

5. The system of claim 1 , wherein the memory stores further instructions that cause the at least one processor to receive a request to create the database that specifies a replication parameter set to “true.”

6. The system of claim 1 , wherein the memory stores further instructions that cause the at least one processor to provide information regarding the failure in further response to the detection of the failure.

7. The system of claim 1 , wherein the database is implemented as part of a cloud application.

8. A method, comprising:

detecting a failure of a first replica of a database in a first data zone comprising a first one or more data centers, wherein the database is synchronously replicated to a second replica of the database in a second data zone comprising a second one or more data centers, wherein the second data zone is selected out of a plurality of data zones offered by a database service that hosts the database via an interface of the database service and wherein the selection of the second data zone is to create the second replica of the database in the second data zone;

responsive to detecting the failure:

performing a failover to the second replica of the database in the second data zone from the first replica of the database in the first data zone; and

updating a record for an endpoint DNS name of the database to direct client requests using the endpoint DNS name to the second replica of the database in the second data zone instead of the first replica of the database in the first data zone.

9. The method of claim 8 , further comprising monitoring health of the first replica of the database, wherein the failure of the first replica of the database is detected as a result of the monitoring.

10. The method of claim 8 , further comprising storing an event indicative of the failure of the first replica as part of a log accessible via an interface.

11. The method of claim 8 , further comprising receiving a request that enables replication of the database across the first data zone and second data zone.

12. The method of claim 8 , further comprising receiving a request to create the database that specifies a replication parameter set to “true.”

13. The method of claim 8 , further comprising providing information regarding the failure in further response to the detection of the failure.

14. The method of claim 8 , wherein the database is implemented as part of a cloud application.

15. One or more non-transitory, computer-readable storage media, storing program instructions that when executed on or across one or more computing devices, cause the one or more computing devices to implement:

detecting a failure of a first replica of a database in a first data zone comprising a first one or more data centers, wherein the database is synchronously replicated to a second replica of the database in a second data zone comprising a second one or more data centers, wherein the second data zone is selected out of a plurality of data zones offered by a database service that hosts the database via an interface of the database service and wherein the selection of the second data zone is to create the second replica of the database in the second data zone;

responsive to detecting the failure:

performing a failover to the second replica of the database in the second data zone from the first replica of the database in the first data zone; and

updating a record for an endpoint DNS name of the database to direct client requests using the endpoint DNS name to the second replica of the database in the second data zone instead of the first replica of the database in the first data zone.

16. The non-transitory, computer-readable storage medium of claim 15 , storing further instructions that when executed on or across the one or more computing resources, cause the one or more computing resources to implement monitoring health of the first replica of the database, wherein the failure of the first replica of the database is detected as a result of the monitoring.

17. The non-transitory, computer-readable storage medium of claim 15 , storing further instructions that when executed on or across the one or more computing resources, cause the one or more computing resources to implement storing an event indicative of the failure of the first replica as part of a log accessible via an interface.

18. The non-transitory, computer-readable storage medium of claim 15 , storing further instructions that when executed on or across the one or more computing resources, cause the one or more computing resources to implement receiving a request that enables replication of the database across the first data zone and second data zone.

19. The non-transitory, computer-readable storage medium of claim 15 , storing further instructions that when executed on or across the one or more computing resources, cause the one or more computing resources to implement receiving a request to create the database that specifies a replication parameter set to “true.”

20. The non-transitory, computer-readable storage medium of claim 15 , storing further instructions that when executed on or across the one or more computing resources, cause the one or more computing resources to implement providing information regarding the failure in further response to the detection of the failure.

Continuity (6)
Continuation 15811565 · Nov 13, 2017
Continuation 15083210 · Mar 28, 2016
Continuation 14089616 · Nov 25, 2013
Continuation 13299601 · Nov 18, 2011
Continuation 12606097 · Oct 26, 2009
Related Publication 20210208980A1 · Jul 8, 2021