Active-Passive Failover via Data Service Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Active-passive applications in cloud environments face difficulties in failover, particularly in identifying and synchronizing the active instance, leading to challenges in resource allocation and efficient instance management.

Innovation Solution

A data service is implemented to manage synchronization among application instances, using an active instance value and last touch value to determine the status of instances, and a failover controller facilitates active-passive failover by loading active-active modules on virtual machines, enabling seamless transition of passive instances to active roles.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a synchronization pointer is used to identify the active instance, then the reliability of failover is improved, but the device complexity increases due to additional synchronization mechanisms

Engineering Contradiction:
Improvefailover reliabilityVSAvoidsynchronization mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A data service is introduced as an intermediary component between application instances to manage synchronization. The data service stores synchronization data including active instance identifiers and last touch timestamps, eliminating the need for complex direct coordination between instances while ensuring reliable failover detection

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Application instances periodically call a status function in the data service to refresh their status and receive feedback about the current active instance. This feedback mechanism allows instances to automatically detect when they should become active without complex synchronization protocols

Inventive Principle:
Principle #23Feedback

2Speed

If passive instances continuously monitor for failover, then the response time is improved, but the use of energy increases due to continuous status checking

Engineering Contradiction:
Improvefailover response timeVSAvoidenergy consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

Instead of continuous monitoring, instances perform periodic status refreshes by calling the status function at scheduled intervals. This periodic action maintains adequate response time while significantly reducing energy consumption compared to continuous monitoring, as instances only check status when necessary rather than constantly

Inventive Principle:
Principle #19Periodic action

3Adaptability or versatility

If a separate failover framework is deployed for active-passive applications, then the adaptability is improved, but the device complexity increases due to additional framework components

Engineering Contradiction:
Improveapplication configuration flexibilityVSAvoidframework deployment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The data service provides a universal synchronization mechanism that can be used by multiple different application types (active-passive, active-active) through a single unified interface. Applications simply need to implement the status function call pattern, eliminating the need for separate dedicated frameworks while maintaining adaptability

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8959385B2Synchronized failover for active-passive applications
Publication Date: 2015.02.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8959385B2 patent drawing
  • US8959385B2 patent drawing
  • US8959385B2 patent drawing

AI summary

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.