Distributed Storage Node Self-Healing via Multicast Replication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed data storage systems face challenges in achieving robust and reliable data writing and maintenance without centralized maintenance servers, which can be a weak link in the system.

Innovation Solution

A method is implemented in each storage node to monitor the status of other nodes, detect conditions requiring data replication, and initiate a replication process, including sending multicast messages to select and update data across multiple storage nodes, ensuring self-healing and geographic diversity during data writing and maintenance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If centralized maintenance servers are used to manage data storage, then system coordination and control are simplified, but system reliability decreases due to the weak link created by centralized servers

Engineering Contradiction:
Improvesystem coordinationVSAvoidsystem reliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent divides the centralized maintenance server function into distributed segments across multiple storage nodes. Each storage node independently performs monitoring, detection, and replication initiation, eliminating the single point of failure while maintaining coordinated control through peer-to-peer communication.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the maintenance server functionality from a centralized location and distributes it to individual storage nodes. Each node takes out the responsibility for monitoring itself and other nodes, detecting replication needs, and initiating replication processes independently.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If each storage node independently monitors and initiates replication, then system reliability improves through self-healing, but device complexity increases

Engineering Contradiction:
Improveself-healing capabilityVSAvoidnode complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent makes each storage node universal by enabling it to perform multiple functions: monitoring itself and other nodes, detecting replication conditions, initiating replication processes, and participating in data storage. This multi-functionality distributes complexity across many nodes rather than concentrating it in one server.

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

Solution Approach 2:

The patent implements self-service by enabling storage nodes to autonomously monitor their own status, detect when replication is needed, and initiate replication processes without external intervention. Each node serves itself and contributes to serving the overall system.

Inventive Principle:
Principle #25Self-service

3Reliability

If geographic diversity is implemented across storage nodes, then data redundancy and reliability improve, but system complexity and coordination difficulty increase

Engineering Contradiction:
Improvedata redundancyVSAvoidsystem coordination
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms where storage nodes continuously monitor the status of other nodes and the system environment. This feedback enables automatic detection of replication needs and triggers appropriate actions, simplifying coordination across geographically distributed nodes through decentralized decision-making based on local observations.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11907256B2Query-based selection of storage nodes
Publication Date: 2024.02.20 PURE STORAGE INC
  • US11907256B2 patent drawing
  • US11907256B2 patent drawing
  • US11907256B2 patent drawing

AI summary

An illustrative method includes receiving, in response to a storage query sent to a plurality of storage nodes of a data storage system to inquire as to which of the storage nodes can store data, a plurality of responses from a subset of storage nodes included in the plurality of storage nodes, the responses including an indication as to whether any of the storage nodes included in the subset is already storing additional data having a data identifier included in the storage query; renaming, based on a particular storage node included in the subset indicating that the particular storage node is already storing the additional data, the data; selecting, based on the responses, multiple storage nodes included in the subset; and sending the data and the data identifier to the selected storage nodes for storage by the selected storage nodes.