IP Library Granted Patent US 10,592,172
Granted Patent B2
US 10,592,172 · App. 15/795,537 · Granted Mar 17, 2020

Application transparent continuous availability using synchronous replication across data stores in a failover cluster

Inventors: Ganesh Prasad (Bellevue, WA); Roopesh Battepati (Bellevue, WA); Vyacheslav Kuznetsov (Sammamish, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F3/0683G06F3/065G06F3/0619G06F11/203G06F11/2033G06F11/2097G06F11/2041G06F11/2048
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,592,172
App. No.
15/795,537
Granted
Mar 17, 2020
Kind
B2
Abstract

Disclosed herein is a system and method for automatically moving an application from one site to another site in the event of a disaster. Prior to coming back online the application is configured with information to allow it to run on the new site without having to perform the configuration actions after the application has come online. This enables a seamless experience to the user of the application while also reducing the associated downtime for the application.

Claims (43)

1. A method for failing over an application from a failed primary site to a replication site, the method comprising:

determining that the primary site has failed, based at least on one or more primary nodes of the primary site not being connected to an application cluster resource group (ACRG) at the primary site;

based at least on the determination that the primary site has failed:

building a candidate list of a plurality of replication cluster resource groups (RCRG) at secondary sites that are each capable of becoming a new ACRG;

selecting a particular RCRG at a particular secondary site from the candidate list, based at least on removing another RCRG at another secondary site from the candidate list;

converting the particular RCRG to be the new ACRG; and

designating the particular secondary site as a new primary site; and

prior to bringing the application online, configuring the application to execute on one or more new primary nodes and the new ACRG at the new primary site, including configuring a mapping of a cluster physical disk resource to a physical data store.

2. The method of claim 1 , wherein removing the other RCRG at the other secondary site from the candidate list is based at least on a failure to establish a connection to the other RCRG.

3. The method of claim 1 , wherein removing the other RCRG at the other secondary site from the candidate list is based at least on an analysis of a replication status of each RCRG.

4. The method of claim 3 , wherein the replication status of each RCRG indicates whether each RCRG is in sync status, or is not in sync status.

5. The method of claim 1 , wherein the particular RCRG at the particular secondary site is selected from the candidate list based upon gathered characteristics for each candidate in the candidate list.

6. The method of claim 5 , wherein the gathered characteristics comprise one or more of geographical location, performance characteristics, or quality characteristics.

7. The method of claim 1 , wherein the particular RCRG at the particular secondary site is selected from the candidate list based upon a geographical constraint.

8. A computer system, comprising:

one or more processors; and

one or more computer-readable media having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computer system to fail over an application from a failed primary site to a replication site, the computer-executable instructions being executable to cause the computer system to at least:

determine that the primary site has failed, based at least on one or more primary nodes of the primary site not being connected to an application cluster resource group (ACRG) at the primary site;

based at least on the determination that the primary site has failed:

build a candidate list of a plurality of replication cluster resource groups (RCRG) at secondary sites that are each capable of becoming a new ACRG;

select a particular RCRG at a particular secondary site from the candidate list, based at least on removing another RCRG at another secondary site from the candidate list for failure to establish a connection to the other RCRG;

convert the particular RCRG to be the new ACRG; and

designate the particular secondary site as a new primary site; and

prior to bringing the application online, configure the application to execute on one or more new primary nodes and the new ACRG at the new primary site, including configuring a mapping of a cluster physical disk resource to a physical data store.

9. The computer system of claim 8 , wherein removing the other RCRG at the other secondary site from the candidate list is based at least on an analysis of a replication status of each RCRG.

10. The computer system of claim 9 , wherein the replication status of each RCRG indicates whether each RCRG is in sync, or is not in sync.

11. The computer system of claim 8 , wherein the particular RCRG at the particular secondary site is selected from the candidate list based upon gathered characteristics for each candidate in the candidate list.

12. The computer system of claim 11 , wherein the gathered characteristics comprise one or more of geographical location, performance characteristics, or quality characteristics.

13. The computer system of claim 8 , wherein the particular RCRG at the particular secondary site is selected from the candidate list based upon a geographical constraint.

14. The computer system of claim 8 , wherein the particular RCRG at the particular secondary site is selected from the candidate list based upon a random selection.

15. A computer program product comprising one or more hardware storage devices having stored thereon computer-executable instructions that are executable by one or more processors to cause a computer system to fail over an application from a failed primary site to a replication site, the computer-executable instructions being executable to cause the computer system to at least:

determine that the primary site has failed, based at least on one or more primary nodes of the primary site not being connected to an application cluster resource group (ACRG) at the primary site;

based at least on the determination that the primary site has failed:

build a candidate list of a plurality of replication cluster resource groups (RCRG) at secondary sites that are each capable of becoming a new ACRG;

select a particular RCRG at a particular secondary site from the candidate list, based at least on removing another RCRG at another secondary site from the candidate list for having a not in sync status;

convert the particular RCRG to be the new ACRG; and

designate the particular secondary site as a new primary site; and

prior to bringing the application online, configure the application to execute on one or more new primary nodes and the new ACRG at the new primary site, including configuring a mapping of a cluster physical disk resource to a physical data store.

16. The computer program product of claim 15 , wherein removing the other RCRG at the other secondary site from the candidate list is based at least on a failure to establish a connection to the other RCRG.

17. The computer program product of claim 15 , wherein a replication status of each RCRG indicates whether each RCRG is in sync, or is not in sync.

18. The computer program product of claim 15 , wherein the particular RCRG at the particular secondary site is selected from the candidate list based upon gathered characteristics for each candidate in the candidate list.

19. The computer program product of claim 18 , wherein the gathered characteristics comprise one or more of geographical location, a performance characteristic, or a quality characteristic.

20. The computer program product of claim 15 , wherein the particular RCRG at the particular secondary site is selected from the candidate list based upon a geographical constraint.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2017
From: PRASAD, GANESH; BATTEPATI, ROOPESH; KUZNETSOV, VYACHESLAV
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 043968/0041 →
Continuity (3)
Continuation 14848318 · Sep 8, 2015
Provisional Application 62047634 · Sep 8, 2014
Related Publication 20180067698A1 · Mar 8, 2018