Cluster State Machine for Non-Disruptive Storage Node Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data management systems face challenges in performing non-disruptive updates of storage clusters, as traditional update methods require taking storage nodes offline, leading to service unavailability and prolonged downtime.

Innovation Solution

The implementation of a cluster-level state machine and nested node-level state machines allows for serial updates of storage nodes, enabling continuous service provision during the update process by coordinating cluster-wide and node-level tasks independently, with designated synchronization points for testing and error handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional update methods are used to update storage nodes, then the update can be completed, but service availability is lost and downtime is prolonged

Engineering Contradiction:
Improveservice availabilityVSAvoiddowntime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The storage cluster is divided into multiple storage nodes that can be updated independently. Each storage node is segmented as an individual update unit, allowing the system to update one node at a time while others remain operational. This segmentation enables continuous service provision during updates by isolating the update process to specific nodes rather than requiring system-wide downtime.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by designating synchronization points before updating each storage node. These synchronization points ensure data consistency and proper state transitions are established before the update begins. The state machine transitions are prepared in advance, with pre-update and post-update states defined, allowing the system to maintain reliability while enabling sequential updates.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If storage nodes are updated sequentially to maintain service availability, then downtime is reduced, but the complexity of coordinating cluster-wide and node-level tasks increases

Engineering Contradiction:
ImprovedowntimeVSAvoidcoordination complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system implements nested state machines where a cluster-level state machine contains multiple node-level state machines. Each node-level state machine is nested within the cluster-level structure, allowing hierarchical coordination of updates. This nesting enables the system to manage complex cluster-wide and node-level tasks independently while maintaining overall coordination, reducing the effective complexity through structured organization.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The state machine mechanism acts as an intermediary between cluster-wide operations and node-level update tasks. The state machine transitions serve as mediators that coordinate the sequential updating of storage nodes, ensuring proper synchronization and state management. This intermediary structure simplifies the coordination complexity by providing a standardized interface and control mechanism for managing multiple independent update processes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20240319987A1State machine operation for non-disruptive update of a data management system
Publication Date: 2024.09.26 RUBRIK INC
  • US20240319987A1 patent drawing
  • US20240319987A1 patent drawing
  • US20240319987A1 patent drawing

AI summary

Aspects of data management are described. A cluster-level state machine may be instantiated for an update procedure for updating software for a cluster of storage nodes, where the update procedure may be configured to serially update the plurality of storage nodes. The cluster-level state machine may be configured to monitor the update procedure at a cluster level. One or more node-level state machines may be instantiated for the update procedure, where the one or more node-level state machines may be configured to monitor the performance of the update procedure at a storage node level. During an update procedure, the state of the cluster-level state machine may reflect a state of the cluster of storage nodes and the state of a node-level state machine may reflect a state of a respective one or more storage nodes.