Distributed Service Engine Failover via Autonomous Heartbeat Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed networking systems with active-active high availability (HA) configurations rely on a controller to reconfigure secondary nodes in case of primary node failure, but fail when the controller is unavailable, leading to system unavailability.

Innovation Solution

Secondary service engines autonomously detect primary service engine unavailability and select a new primary service engine from among themselves, even if the controller is unavailable, by monitoring heartbeats and using predefined priority lists or quorum-based selection methods.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a controller is used to monitor and reconfigure nodes in an active-active HA configuration, then the system can detect primary node failures, but the system becomes unavailable when the controller itself fails or cannot communicate with nodes

Engineering Contradiction:
Improvesystem availabilityVSAvoidcontroller dependency
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Secondary service engines autonomously detect primary node failures and perform self-reconfiguration without requiring controller intervention. Each secondary service engine monitors heartbeats from primary service engines and can independently assume the primary role when failures are detected, making the system self-healing and eliminating the single point of failure represented by the controller.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The failover detection and reconfiguration functionality is extracted from the centralized controller and distributed to individual secondary service engines. This allows secondary nodes to independently perform health monitoring and role assumption without relying on the controller, effectively removing the controller as a mandatory component for HA operation.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If secondary nodes autonomously detect failures and perform failover without a controller, then system availability is maintained during controller outages, but the mechanism for detecting failures and selecting new primaries becomes more complex

Engineering Contradiction:
Improvecontroller independenceVSAvoidautonomous detection mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Service engines exchange periodic heartbeat messages to provide feedback on their operational status. Secondary service engines monitor these heartbeats from primary service engines, and the absence of heartbeats triggers autonomous failover. This feedback mechanism enables distributed failure detection without requiring complex centralized control logic.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Secondary service engines are pre-configured with priority lists indicating the order in which they should assume primary roles. When a failover is needed, the selected secondary service engine automatically consults its pre-configured priority list to determine which role to assume, eliminating the need for complex real-time negotiation or controller-mediated selection.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11206173B2High availability on a distributed networking platform
Publication Date: 2021.12.21 VMWARE INC
  • US11206173B2 patent drawing
  • US11206173B2 patent drawing
  • US11206173B2 patent drawing

AI summary

Providing high availability in a distributed networking platform includes detecting that an original primary service engine is unavailable, wherein: the original primary service engine and a plurality of secondary service engines are configured to provide one or more network applications associated with a virtual Internet Protocol (VIP) address; the original primary service engine and the plurality of secondary service engines are in active-active configuration mode; and the original primary service engine is configured to respond to Address Resolution Protocol (ARP) requests designating the VIP address. Additionally, providing high availability in a distributed networking platform further includes determining that a controller is unavailable; and configuring a selected secondary service engine as the next primary service engine.