Coordinated Namespace Replication for Distributed File System Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Hadoop Distributed File System (HDFS) implementations face reliability issues due to the single point of failure in the NameNode, leading to potential data loss and corruption during failover, especially when the transaction journal is corrupted or network failures occur, causing 'split-brain' conditions and stale reads.

Innovation Solution

Implementing a distributed file system with multiple active NameNodes (ConsensusNodes) coordinated by a Coordination Engine to ensure consistency across nodes, eliminating the single point of failure by replicating the namespace and using a Coordination Engine to order updates, thereby maintaining high availability and scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single NameNode is used in conventional HDFS, then the system structure is simple and easy to manage, but the system reliability deteriorates due to single point of failure

Engineering Contradiction:
Improvesystem structureVSAvoidsystem reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The single NameNode is segmented into multiple NameNodes (primary and standby) that share the namespace management responsibilities. The namespace is divided into multiple copies distributed across these NameNodes, eliminating the single point of failure while maintaining manageable system structure through defined roles and coordination protocols.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The namespace is copied and replicated across multiple NameNodes. The standby NameNode maintains a complete copy of the namespace, and additionalNameNodes can be configured to hold namespace copies. This replication ensures that if one_nameNode fails, others can continue serving requests, thereby improving reliability.

Inventive Principle:
Principle #26Copying

2Ease of operation

If manual failover intervention is required, then system control is precise, but the loss of time increases during failure recovery

Engineering Contradiction:
Improvemanual controlVSAvoidfailure recovery time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The standby_nameNode is pre-configured with a complete copy of the namespace and transaction journal before failure occurs. This preliminary preparation allows the standby to immediately take over as primary upon failure detection, eliminating the need for manual intervention and reducing failure recovery time to minimal automated steps.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements automated failure detection and failover triggers. When the primary_nameNode fails, the standby_nameNode detects the failure through heartbeat monitoring and automatically initiates failover procedures. This feedback mechanism eliminates manual intervention while maintaining precise system control through automated decision-making protocols.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11853263B2Geographically-distributed file system using coordinated namespace replication over a wide area network
Publication Date: 2023.12.26 CIRATA INC
  • US11853263B2 patent drawing
  • US11853263B2 patent drawing
  • US11853263B2 patent drawing

AI summary

A cluster of nodes implements a single distributed file system comprises at least first and second data centers and a coordination engine process. The first data center may comprise first DataNodes configured to store data blocks of client files, and first NameNodes configured to update a state of a namespace of the cluster. The second data center, geographically remote from and coupled to the first data center by a wide area network, may comprise second DataNodes configured to store data blocks of client files, and second NameNodes configured to update the state of the namespace. The first and second NameNodes are configured to update the state of the namespace responsive to data blocks being written to the DataNodes. The coordination engine process spans the first and second NameNodes and coordinates updates to the namespace stored such that the state thereof is maintained consistent across the first and second data centers.