Metadata-Driven Data Placement in Distributed Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed data storage systems, existing methods globally optimize data availability across all servers, which can lead to inefficient data retrieval times, especially for real-time data like video, and lack control over data placement and migration, limiting optimization for specific business needs and server utilization.

Innovation Solution

A metadata-driven approach that allows clients to bind data files to specific server classes based on defined criteria, enabling localized control over data placement and migration within a distributed storage system, using a class database to manage server selection and replication, allowing for dynamic partitioning and optimization of data storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is stored globally optimized across all servers, then data availability is improved, but data retrieval time deteriorates for real-time data

Engineering Contradiction:
Improvedata availabilityVSAvoiddata retrieval time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies local quality by allowing different data to be placed on different server classes based on specific requirements. Real-time data can be directed to high-performance servers while less time-sensitive data can be stored on standard servers, optimizing both availability and retrieval time for different data types simultaneously

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the server infrastructure into multiple server classes with different performance characteristics. This segmentation allows the system to match specific data requirements with appropriate server capabilities, resolving the contradiction between global optimization and specialized performance needs

Inventive Principle:
Principle #1Segmentation

2Reliability

If global optimization is used for data placement, then overall system availability is improved, but control over data placement and migration deteriorates

Engineering Contradiction:
Improvesystem availabilityVSAvoidcontrol over data placement
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements dynamic data placement where data can be automatically migrated between server classes based on changing requirements. This dynamic approach maintains system availability while providing flexible control, as the system can adapt data placement in real-time based on performance metrics and business needs

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses feedback mechanisms to monitor data access patterns and server performance, automatically adjusting data placement decisions. This feedback loop maintains high availability while providing controlled optimization, as the system learns from actual usage patterns rather than relying on static global optimization

Inventive Principle:
Principle #23Feedback

3Device complexity

If data is placed without directed control, then system simplicity is maintained, but server utilization optimization deteriorates

Engineering Contradiction:
Improvesystem simplicityVSAvoidserver utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements self-service data placement where the system automatically directs data to appropriate server classes based on predefined criteria and metadata. This self-service approach maintains system simplicity from the user perspective while achieving optimized server utilization through automated intelligent placement decisions

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8504571B2Directed placement of data in a redundant data storage system
Publication Date: 2013.08.06 HARMONIC INC
  • US8504571B2 patent drawing
  • US8504571B2 patent drawing
  • US8504571B2 patent drawing

AI summary

A data processing apparatus, comprising a metadata store storing information about files that are stored in a distributed data storage system, and comprising a class database; one or more processing units; logic configured for receiving and storing in the class database a definition of a class of data storage servers comprising one or more subclasses each comprising one or more server selection criteria; associating the class with one or more directories of the data storage system; in response to a data client storing a data file in a directory, binding the class to the data file, determining and storing a set of identifiers of one or more data storage servers in the system that match the server selection criteria, and providing the set of identifiers to the data client.