Failure Domain Harmonization in Distributed Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed computing systems face challenges in maintaining reliability and efficiency during node failures and system upgrades due to the risk of unexpected failure conditions and prolonged upgrade times when scaling out work across multiple devices, leading to potential data unavailability and integrity issues.

Innovation Solution

Implementing failure domains in a distributed computing system by assigning computing nodes to specific domains, generating hashing information, and using a group update component to manage node operations, allowing for parallel updates and redundancy to ensure data availability even with node failures, thereby reducing the impact of upgrades and improving system adaptability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If nodes are upgraded sequentially in a distributed computing system, then system stability is maintained, but upgrade time and downtime increase

Engineering Contradiction:
Improvesystem stabilityVSAvoidupgrade time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system divides nodes into separate failure domains, allowing independent upgrading of each domain. This segmentation enables parallel upgrades across different domains while maintaining stability within each domain, resolving the contradiction between system stability and upgrade time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-assigning nodes to failure domains and pre-configuring failover mechanisms before upgrades begin. This allows the system to prepare for parallel upgrades in advance, reducing actual upgrade time while maintaining stability through pre-established redundancy.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If more nodes are added to increase computing efficiency, then processing capacity improves, but complexity of managing node failures and consistency increases

Engineering Contradiction:
Improvecomputing efficiencyVSAvoidfailure management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

By segmenting nodes into failure domains, the system reduces the scope of failure management. Each domain can be managed independently, simplifying the complexity that would otherwise arise from managing all nodes uniformly. This allows more nodes to be added while keeping failure management tractable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameter of node organization from flat individual management to hierarchical domain-based management. This parameter change transforms the complexity from O(n) individual node management to O(n/d) domain management where d is the number of domains, reducing overall complexity while maintaining scalability.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If hashing information is updated across all nodes simultaneously, then data consistency is maintained, but system downtime increases

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments hashing information updates by failure domain, allowing different domains to update their hashing information at different times. This maintains data consistency within each domain while enabling parallel updates across domains, reducing overall system downtime.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary hashing information generation for each failure domain before updates are needed. This pre-computation allows domains to be updated independently and in parallel, maintaining consistency without requiring simultaneous system-wide updates, thereby reducing downtime.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If nodes are removed or added frequently to scale the system, then adaptability improves, but unexpected failure conditions increase

Engineering Contradiction:
Improvesystem scalabilityVSAvoidfailure condition predictability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

By organizing nodes into failure domains, the system creates predictable failure boundaries. When nodes are added or removed, the impact is contained within specific domains rather than affecting the entire system unpredictably. This segmentation makes failure conditions more predictable while maintaining scalability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the organizational parameter from individual node management to domain-based management. This allows frequent additions and removals of nodes within domains without propagating unexpected failures system-wide, improving both adaptability and failure predictability simultaneously.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11023324B2Harmonization of failure domains in a distributed system
Publication Date: 2021.06.01 EMC IP HLDG CO LLC
  • US11023324B2 patent drawing
  • US11023324B2 patent drawing
  • US11023324B2 patent drawing

AI summary

Harmonization of failure domains in a distributed system is provided herein. A data storage system as described herein can include a memory that stores computer executable components and a processor that executes computer executable components stored in the memory. The computer executable components can include a node assignment component that assigns computing nodes in the data storage system to respective failure domains of a set of data failure domains, a hashing component that generates hashing information associated with respective computing nodes of the computing nodes assigned to a selected failure domain of the set of failure domains, and a group update component that designates at least one computing node of the computing nodes in the selected data failure domain to perform an operation associated with the hashing information.