Synchronized failover for active-passive applications
First Claim
1. A computing system comprising:
- one or more processor; and
one or more hardware storage devices having stored computer-executable instructions which, when executed by the one or more processors, implement a method for hosting a failover controller that facilitates active-passive failover for an application, the computing system interoperating with one or more computer systems in a distributed system, the distributed system natively supporting active-active failover, wherein the method includes;
an act of loading one or more active-active modules for one or more active-active applications on an instance of a virtual machine running in the distributed system;
an act of loading an active-passive failover controller on the instance of the virtual machine, the active-passive failover controller loaded as a stateless module having active-active failover within the distributed system, the active-passive failover controller exposing a synchronization point to refresh status for instances of active-passive applications such that when an active instance fails an available passive instance can take over as a new active instance;
an act of hosting a plurality of instances of an active-passive application in the active-passive failover controller, the plurality of instances including a currently active instance and one or more passive instances;
an act of each of the plurality of instances calling the active-passive controller to refresh status;
an act of the currently active instance failing; and
an act of a passive instance becoming a new active instance based on refreshed statuses for the plurality of instances, the passive instance selected from among the one or more passive instances.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention extends to methods, systems, and computer program products for synchronized active-passive application failover. A data connection to a single data source can be used as a synchronizations point. Interoperating instance side and data source side algorithms coordinate to transition a passive instance to an active instance within a specified period of time when a prior active instance fails. An active-passive controller can operate as an active-active module within an active-active environment to provide active-passive failover to active-passive modules. Application virtual names can be mapped to application instance electronic addresses to assist external modules in establishing application connections to active-passive applications.
15 Citations
20 Claims
-
1. A computing system comprising:
-
one or more processor; and one or more hardware storage devices having stored computer-executable instructions which, when executed by the one or more processors, implement a method for hosting a failover controller that facilitates active-passive failover for an application, the computing system interoperating with one or more computer systems in a distributed system, the distributed system natively supporting active-active failover, wherein the method includes; an act of loading one or more active-active modules for one or more active-active applications on an instance of a virtual machine running in the distributed system; an act of loading an active-passive failover controller on the instance of the virtual machine, the active-passive failover controller loaded as a stateless module having active-active failover within the distributed system, the active-passive failover controller exposing a synchronization point to refresh status for instances of active-passive applications such that when an active instance fails an available passive instance can take over as a new active instance; an act of hosting a plurality of instances of an active-passive application in the active-passive failover controller, the plurality of instances including a currently active instance and one or more passive instances; an act of each of the plurality of instances calling the active-passive controller to refresh status; an act of the currently active instance failing; and an act of a passive instance becoming a new active instance based on refreshed statuses for the plurality of instances, the passive instance selected from among the one or more passive instances. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. One or more hardware storage devices having stored computer-executable instructions which, when executed by one or more processors of a computing system, implement a method for hosting a failover controller that facilitates active-passive failover for an application, the computing system interoperating with one or more computer systems in a distributed system, the distributed system natively supporting active-active failover, wherein the method includes:
-
an act of loading one or more active-active modules for one or more active-active applications on an instance of a virtual machine running in the distributed system; an act of loading an active-passive failover controller on the instance of the virtual machine, the active-passive failover controller loaded as a stateless module having active-active failover within the distributed system, the active-passive failover controller exposing a synchronization point to refresh status for instances of active-passive applications such that when an active instance fails an available passive instance can take over as a new active instance; an act of hosting a plurality of instances of an active-passive application in the active-passive failover controller, the plurality of instances including a currently active instance and one or more passive instances; an act of each of the plurality of instances calling the active-passive controller to refresh status; an act of the currently active instance failing; and an act of a passive instance becoming a new active instance based on refreshed statuses for the plurality of instances, the passive instance selected from among the one or more passive instances. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. One or more hardware storage devices having stored computer-executable instructions which, when executed by one or more processors of a computing system, implement a method for indicating the location of an active instance within a distributed system, the computing system interoperating with one or more computer systems in the distributed system, a plurality of instances of an active-passive module running in the distributed system, the plurality of instances including an active instance and one or more passive instances, wherein a virtual name is assigned to the active-passive module within the distributed system and wherein the method includes:
-
an act of a passive instance, from among the one or more passive instances, becoming a currently active instance due to the active instance failing; an act of the currently active instance registering a network address for the virtual name to a host file refreshing framework, and wherein the host file refreshing framework flushes out mappings from network addresses to virtual name registrations to modules within the distributed network that utilize a host file client for the host file refreshing framework such that any of the one or more modules can use the registration to connect to the active-passive application, and which results in at least one module from among the one or more modules, connecting to the active-passive application by using the virtual name to connect to the currently active instance. - View Dependent Claims (17, 18, 19, 20)
-
Specification