×

Synchronized failover for active-passive applications

  • US 8,756,455 B2
  • Filed: 11/17/2011
  • Issued: 06/17/2014
  • Est. Priority Date: 11/17/2011
  • Status: Active Grant
First Claim
Patent Images

1. At a computer system including one or more processors and system memory, the computer system interoperating with one or more other computer systems in a distributed system, a data service running at the computer system, a plurality of instances of an active-passive application running within the distributed system, the data service storing data to control synchronization among plurality of instances of the active-passive application, the stored data including an active instance value and a last touch value, the active instance value identifying the currently active application instance for the active-passive application, the last touch value indicating a time when the currently active application instance last refreshed status, the data service exposing a status function to application instances for refreshing status for application instances, a method for refreshing the status for instances of an application, the method comprising:

  • an act of receiving a call at the status function, the call originating from an instance of the active-passive application, the call including an identifier value identifying calling application instance;

    an act of the status function refreshing the status of the calling application instance in response to the call, including;

    an act of determining if the identifier value corresponds to the active instance value;

    when the identifier value corresponds to the active instance value;

    an act of changing the last touch value to a current time; and

    an act of returning a status of active to the calling application instance;

    when the identifier value does not correspond to the active instance value;

    an act of determining if an idle timeout has been exceeded based on the last touch value;

    when the idle time has been exceeded;

    an act of storing the identifier value as the active instance value to make the calling application instance the currently active application instance;

    an act of changing the last touch value to the current time; and

    an act of returning a status of active to the calling application instance; and

    when the idle time has not been exceeded;

    an act of retuning a status of passive to the calling application instance.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×