Opportunistic Failover in High Availability Clusters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-availability cluster servers face delays in failover processes due to grace periods in lease-based locking mechanisms, which can lead to unacceptable access times and potential data inconsistency issues.

Innovation Solution

The opportunistic failover technique speeds up failover processing by concurrently assessing the status of the initial service instance and bringing up a failover instance while monitoring for access operations on resources, allowing quicker determination of false positives and freeing up resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the storage server waits for the grace period to pass before releasing the lock, then false positive failure indications are reduced, but failover delay increases

Engineering Contradiction:
Improvefalse positive reductionVSAvoidfailover delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The failover instance is started in advance during the grace period before the lock is released. This preliminary action allows the service to be ready immediately upon lock acquisition, eliminating the startup delay that would otherwise occur after failover is initiated. The grace period is utilized productively to perform preparatory work rather than idle waiting.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of having the system idle during the grace period, the failover instance continuously performs useful work by starting up and preparing to service requests. This continuous useful action transforms the previously wasted time into productive preparation, maintaining system readiness without compromising the lock holding period.

Inventive Principle:
Principle #20Continuity of useful action

2Speed

If the failover instance starts up immediately upon lock acquisition, then service restoration is faster, but resource contention and data inconsistency risks increase

Engineering Contradiction:
Improveservice restoration speedVSAvoiddata consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The failover instance is started in advance during the grace period while the initial instance still holds the lock. This ensures that when the lock is released and the failover instance needs to access resources, the service is already prepared and can immediately take over without additional startup delay, achieving fast service restoration.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The lock mechanism acts as an intermediary that coordinates access to resources. By waiting for the lock to be released before the failover instance accesses resources, the system ensures that only one instance accesses resources at a time, preventing data inconsistency while still achieving fast restoration through preliminary startup.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10324811B2Opportunistic failover in a high availability cluster
Publication Date: 2019.06.18 VMWARE INC
  • US10324811B2 patent drawing
  • US10324811B2 patent drawing
  • US10324811B2 patent drawing

AI summary

Failover processing of a service in a cluster of nodes is disclosed. A node brings up a failover instance of a service in response to an indication of a failure in an initial instance of the service. The failover service executes in the background so as not to be visible to users and thus does not receive user requests. The background service is terminated in response to the failure indication being a false positive. The background service is executed in the foreground in response to detecting that the initial instance of the service has failed and processes user requests.