Centralized Framework Manager for Active-Active Storage Node HA Flow Coordination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In active-active storage node configurations, managing concurrent high-availability events across multiple nodes is challenging due to dependencies between HA flows, leading to mutual interference and increased recovery times.

Innovation Solution

A centralized framework manager is implemented to receive notifications and reports of node statuses, determine the necessary actions for HA events, and manage the execution of HA flows as asynchronous process threads, including refusing, servicing, aborting, or postponing based on defined dependencies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple HA flows are executed concurrently to address simultaneous HA events on multiple active nodes, then the system can respond to multiple failures simultaneously, but mutual interference between dependent HA flows increases and recovery time is extended

Engineering Contradiction:
Improveconcurrent HA event handling capabilityVSAvoidrecovery time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

A centralized framework manager is introduced as an intermediary component that receives notifications of HA events from multiple storage nodes and coordinates the execution of HA flows. The framework manager maintains a repository of HA flow definitions and their dependencies, and dynamically determines the execution order of HA flows based on these dependencies and current system state, thereby preventing mutual interference while maintaining concurrent processing capability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically adjusts the execution strategy of HA flows based on real-time conditions. The framework manager evaluates dependency relationships and system state to determine whether to execute, postpone, or abort HA flows dynamically, rather than following a fixed execution pattern. This dynamic approach allows the system to optimize recovery time based on actual event scenarios

Inventive Principle:
Principle #15Dynamics

2Loss of time

If a centralized framework manager is introduced to coordinate HA flow execution, then mutual interference is reduced and recovery time is shortened, but system complexity increases

Engineering Contradiction:
Improverecovery timeVSAvoidframework management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The framework manager is designed as a universal component that can handle multiple types of HA events from multiple storage nodes through a single unified interface. It maintains a repository that stores definitions of various HA flows and their dependencies, making the system manageable through standardized structures rather than requiring separate management logic for each event type

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

HA flow definitions and their dependency relationships are stored as templates in a repository. When HA events occur, the framework manager creates instances of these predefined flow definitions rather than creating new logic from scratch. This copying approach simplifies management by allowing centralized definition of execution rules that can be reused across multiple events

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11586466B2Centralized high-availability flows execution framework
Publication Date: 2023.02.21 EMC IP HLDG CO LLC
  • US11586466B2 patent drawing
  • US11586466B2 patent drawing
  • US11586466B2 patent drawing

AI summary

Techniques for providing a framework for handling execution of HA flows in an active-active storage node configuration. The techniques include receiving notifications of functional statuses of processes and/or equipment associated with storage nodes in the active-active configuration, making determinations regarding how to address HA events occurring on the processes and/or equipment associated with the storage nodes based on the received notifications, and, in response to a request to execute an HA flow for a respective HA event, determining whether to refuse the request to execute the HA flow, service the request to execute the HA flow, abort one or more HA flows in execution, and/or postpone execution of the HA flow to a later time based on one or more dependencies defining conditions for the HA flow. In this way, mutual interference of HA flows or other process threads in the active-active configuration can be reduced or eliminated.