Namespace Subpartitioning for Distributed Storage Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large scale data storage systems, such as Hadoop's HDFS, are vulnerable to single points of failure and bottlenecks due to reliance on a primary name node for data storage and retrieval, which can lead to performance issues and availability problems when handling large data volumes.

Innovation Solution

Implementing a namespace partitioning technology using hashing functions to distribute the namespace across multiple name nodes, allowing for load balancing and failover without redistributing data, where a master name node creates and manages a partition table to direct file requests to appropriate name nodes, and subpartitioning optimizes load balancing by redistributing partitions dynamically.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a primary name node is used to coordinate data storage and retrieval in HDFS, then the system structure is simplified and ease of operation is improved, but the system becomes vulnerable to single points of failure and bottlenecks, worsening reliability and productivity

Engineering Contradiction:
Improveease of operationVSAvoidreliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent divides the namespace into multiple partitions, each managed by a different name node. This segmentation eliminates the single point of failure by distributing namespace management responsibilities across multiple nodes, thereby improving reliability while maintaining operational simplicity through the partition table coordination mechanism.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If a primary name node stores all namespace metadata in memory, then the system structure is simplified, but the name node becomes a bottleneck when servicing large quantities of data storage requests, worsening productivity

Engineering Contradiction:
Improvedevice complexityVSAvoidproductivity
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The namespace metadata is segmented into multiple partitions distributed across different name nodes. Each name node manages only its assigned partition's metadata in memory, reducing the memory burden and request handling load on any single node, thereby improving productivity while maintaining manageable device complexity through the partition table.

Inventive Principle:
Principle #1Segmentation

3Reliability

If multiple name nodes are introduced to eliminate single points of failure, then reliability is improved, but the system complexity increases, worsening device complexity

Engineering Contradiction:
ImprovereliabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The partition table acts as an intermediary that coordinates multiple name nodes, directing client requests to the appropriate name node for each partition. This intermediary mechanism enables multiple name nodes to work together reliably while hiding the complexity from clients and simplifying the overall system architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If namespace partitions are distributed across multiple name nodes, then load balancing is improved and productivity increases, but the difficulty of managing and coordinating name nodes increases, worsening ease of operation

Engineering Contradiction:
ImproveproductivityVSAvoidease of operation
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The partition table serves as a coordination intermediary that manages the distribution of namespace partitions across multiple name nodes. It receives client requests, determines the appropriate name node based on the partition table, and directs requests accordingly, thereby enabling load balancing and improved productivity while maintaining ease of operation through centralized coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9542404B2Subpartitioning of a namespace region
Publication Date: 2017.01.10 NETAPP INC
  • US9542404B2 patent drawing
  • US9542404B2 patent drawing
  • US9542404B2 patent drawing

AI summary

Technology is disclosed for subpartitioning a namespace region. In various embodiments, the technology creates at least two subpartitions from a partitioned namespace, wherein the partitioned namespace corresponds to at least two different name nodes of the large scale data storage service; and stores data corresponding to each subpartition as a separate file, e.g., so that it can be easily mounted by an operating system executed by a different computing device.