Distributed Metadata Structures for Scalable Cluster Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face challenges in efficiently managing I/O access across a cluster of node apparatuses, particularly in distributing data and rebalancing loads while maintaining scalability and reliability, especially when adding or removing nodes.

Innovation Solution

A data storage system that uses metadata structures with a parent object and child objects, where metadata is distributed across multiple node apparatuses, allowing for efficient I/O access management through deterministic distribution algorithms and dynamic rebalancing of data segments across nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data is distributed across multiple node apparatuses in a cluster system, then scalability and reliability are improved, but I/O access management complexity increases

Engineering Contradiction:
ImprovescalabilityVSAvoidI/O access management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The metadata of a data object is segmented into multiple metadata structures distributed across different node apparatuses. Each metadata structure contains a portion of the metadata and references to other metadata structures, enabling scalable I/O access management without centralizing control

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Metadata structures act as intermediaries between I/O access requests and distributed data blocks. The metadata structures contain references (pointers) that enable indirect access to data blocks through a chain of metadata nodes, simplifying the access path across distributed nodes

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If metadata structures are distributed across node apparatuses, then I/O access independence from data location is improved, but system complexity increases

Engineering Contradiction:
ImproveI/O access independenceVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

Each metadata structure serves multiple functions: storing metadata for its associated data blocks, containing references to other metadata structures, and enabling I/O access regardless of which node receives the request. This multi-functionality reduces the need for separate location-tracking mechanisms

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

Solution Approach 2:

Metadata structures are nested in a hierarchical manner where metadata structures can contain references to other metadata structures (root metadata nodes, direct metadata nodes, indirect metadata nodes). This nesting enables indirect access paths that work independently of data location

Inventive Principle:
Principle #7Nested doll (Nesting)

3Productivity

If data is rebalanced across node apparatuses for load balancing, then system performance is improved, but data relocation overhead increases

Engineering Contradiction:
Improvesystem performanceVSAvoiddata relocation overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system enables dynamic rebalancing of data across node apparatuses by updating references in metadata structures. When data is moved between nodes, only the reference pointers in the distributed metadata structures need to be updated, not the entire metadata, enabling flexible load balancing with minimal overhead

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10956393B2Data storage system and process for providing distributed storage in a scalable cluster system and computer program for such data storage system
Publication Date: 2021.03.23 HITACHI VANTARA LTD
  • US10956393B2 patent drawing
  • US10956393B2 patent drawing
  • US10956393B2 patent drawing

AI summary

In a distributed storage of data objects in a cluster system, a data object is distributed across a group of node apparatuses in units of data blocks. For each child object, the metadata structure of the respective child object is stored to one of the node apparatuses of the group of node apparatuses for managing locations of data blocks of the data object and includes a root metadata node and one or more direct metadata nodes, optionally further including one or more indirect metadata nodes; and the metadata structure of the parent object is distributed across the plural node apparatuses of the group of node apparatuses for managing locations of child objects of the data object and includes, on each node apparatus of the group of node apparatuses, a root metadata node and one or more direct metadata nodes, optionally further including one or more indirect metadata nodes.