CLAM Protocol Dynamic HA Partner Reconfiguration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems face challenges in maintaining high availability when a node fails, as the HA partner node becomes a single point of failure until the failed node is operational, and existing solutions like data relocation or aggregate relocation are either infeasible due to large storage container sizes or require user intervention.

Innovation Solution

A distributed control protocol, known as the CLAM protocol, dynamically establishes and rebalances high availability partner relationships among nodes in a cluster by leveraging the Cluster Liveliness and Availability Manager (CLAM) utility to mirror NVRAM information and alter HA partner relationships, allowing seamless addition or removal of nodes without user intervention and maintaining data availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is mirrored to HA partner node over high speed connection, then data availability is guaranteed, but HA partner node becomes single point of failure when local node fails

Engineering Contradiction:
Improvedata availabilityVSAvoidHA pair configuration
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the HA relationship into multiple independent pairs within a cluster. Instead of a single HA pair where the partner becomes a SPOF, the system creates multiple HA pairs (e.g., Node1-HA1, Node2-HA2, Node3-HA3) where each node has its own dedicated HA partner. This segmentation distributes the availability burden and eliminates the SPOF condition.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a one-dimensional single HA pair model to a multi-dimensional cluster model with multiple HA pairs. By adding the dimension of multiple independent HA relationships, the system provides alternative paths for data availability and prevents any single node from becoming a bottleneck or SPOF.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If data is physically relocated to another node in different HA pair, then dependency on SPOF is reduced, but operation becomes infeasible due to large storage container sizes

Engineering Contradiction:
Improvereduction of SPOF dependencyVSAvoiddata relocation feasibility
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent uses copying (mirroring) of data containers to HA partner nodes instead of physical relocation. When a node fails, its data container is already copied to the HA partner, allowing immediate takeover without the need to physically move large amounts of data. This copying approach maintains reliability while avoiding the feasibility issues of data relocation.

Inventive Principle:
Principle #26Copying

3Reliability

If aggregate relocation approach is used, then physical data movement is avoided, but user intervention is required and only relocated aggregate has HA support

Engineering Contradiction:
ImproveHA support for relocated aggregateVSAvoiduser intervention requirement
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements self-service automation where the system automatically establishes HA pairs, mirrors data containers, and manages failover without requiring user intervention. The HA relationships are dynamically created and managed by the system itself, eliminating the need for users to manually identify aggregates or configure HA pairs, while ensuring all containers have HA support.

Inventive Principle:
Principle #25Self-service

4Ease of manufacture

If HA pair configuration is determined at pre-setup phase, then initial configuration is simplified, but configuration cannot be changed after setup

Engineering Contradiction:
Improveinitial configuration simplicityVSAvoidconfiguration flexibility
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent transforms the static HA pair configuration into a dynamic model where HA relationships can be automatically established, modified, and rebalanced based on cluster conditions. The system dynamically creates HA pairs when nodes are added and automatically rebalances data containers when nodes fail or are removed, providing configuration flexibility while maintaining operational simplicity.

Inventive Principle:
Principle #15Dynamics

5Reliability

If multiple nodes are added to cluster, then HA support scales, but additional node reboots are required with existing solutions

Engineering Contradiction:
ImproveHA support scalabilityVSAvoidnode reboot time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-establishing HA pairs and pre-mirring data containers before failures occur. When nodes are added to the cluster, the system proactively creates HA relationships and replicates data in advance, so that when failover is needed, the HA partner is already prepared and no reboot is required. This preliminary preparation eliminates the time loss associated with node reboots during failover events.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9692645B2Distributed control protocol for high availability in multi-node storage cluster
Publication Date: 2017.06.27 NETAPP INC
  • US9692645B2 patent drawing
  • US9692645B2 patent drawing
  • US9692645B2 patent drawing

AI summary

A distributed control protocol dynamically establishes high availability (HA) partner relationships for nodes in a cluster. A HA partner relationship may be established by copying (mirroring) information maintained in a non-volatile random access memory (NVRAM) of a node over a HA interconnect to the NVRAM of a partner node in the cluster. The distributed control protocol leverages a Cluster Liveliness and Availability Manager (CLAM) utility of a storage operating system executing on the nodes to rebalance NVRAM mirroring and alter HA partner relationships of the nodes in the cluster. The CLAM utility is configured to maintain various cluster related issues, such as CLAM quorum events, addition or subtraction of a node in the cluster and other changes in configuration of the cluster. Notably, the CLAM utility is an event based manager that implements the control protocol to keep the nodes informed of any cluster changes through event generation and propagation.