Availability Group Database Patching Sequence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtual computing systems face challenges in minimizing downtime during database patching operations in Availability Groups (AG) clusters, as traditional methods do not consider the current state of the cluster, leading to decreased performance and increased downtime.

Innovation Solution

A dynamic patching algorithm that intelligently determines the best order for patching operations in AG clusters by prioritizing secondary replica nodes before primary replica nodes and selecting healthy nodes as failover targets, minimizing disruptions and downtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional patching methods are used without considering cluster state, then patching operations can be performed simply, but downtime increases and performance decreases

Engineering Contradiction:
ImprovedowntimeVSAvoidpatching process complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements a dynamic patching algorithm that adapts the patching sequence based on the real-time state of cluster nodes. Instead of using a static predetermined order, the system continuously monitors node health, workload, and synchronization status, then dynamically adjusts which node should be patched next. This dynamic approach minimizes downtime by selecting optimal patching targets that maintain cluster availability while applying updates.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms by continuously monitoring the current state of each node (health status, workload, synchronization level) and using this information to determine the next patching target. The algorithm receives feedback about node conditions and adjusts the patching sequence accordingly, ensuring that patching operations proceed in an order that minimizes disruption to cluster operations.

Inventive Principle:
Principle #23Feedback

2Reliability

If nodes are patched in arbitrary order, then the patching process is simple to implement, but service level agreements may not be met

Engineering Contradiction:
ImproveSLA complianceVSAvoidalgorithm complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent employs a dynamic prioritization algorithm that adjusts patching priorities based on real-time cluster state. Secondary replica nodes are generally prioritized over primary nodes, but the algorithm dynamically adjusts this priority based on node health, workload conditions, and synchronization status. This ensures SLA compliance by maintaining service availability while applying patches in an optimized sequence.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameters used for node selection based on current cluster conditions. Instead of using a fixed priority scheme, the algorithm adjusts selection parameters such as node role weight, health status thresholds, and synchronization requirements dynamically. This allows the system to meet SLA requirements by adapting patching behavior to current operational conditions.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If primary replica nodes are patched first, then the patching process follows a straightforward sequence, but cluster availability and performance suffer

Engineering Contradiction:
Improvecluster performanceVSAvoidpatching sequence simplicity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent inverts the traditional patching approach by prioritizing secondary replica nodes over primary replica nodes. Instead of patching primary nodes first (which would maintain simplicity but harm availability), the system patches secondary nodes first, allowing primary nodes to continue serving requests. This inverted sequence maintains cluster performance and availability while still achieving complete patching coverage.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The system performs preliminary actions by patching secondary replica nodes before primary nodes. This preliminary patching of secondary nodes prepares them to take over if needed, while primary nodes continue operating normally. This approach maintains cluster performance during the patching process by ensuring that functional nodes remain active throughout the update sequence.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240134762A1System and method for availability group database patching
Publication Date: 2024.04.25 NUTANIX INC
  • US20240134762A1 patent drawing
  • US20240134762A1 patent drawing
  • US20240134762A1 patent drawing

AI summary

A patching operation on an availability group cluster having a plurality of nodes is disclosed. The patching operation is performed in a plurality of iterations, each including determining a current state of each of the plurality of nodes, selecting a next node based on the current state, and patching the next node. A secondary replica node is selected as the next node before the a primary replica node. Each secondary replica node is patched in accordance with a first priority, upon patching each of the secondary replica node, a failover target node for patching the primary replica node is selected, the failover target node is selected based on a second priority, and according to the second priority, a healthy synchronous secondary replica node of the plurality of nodes is selected as the failover target node before an unhealthy synchronous secondary replica node of the plurality of nodes.