Dynamic Load Spreading in Clustered Network Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network storage systems face limitations in scalability under write-intensive workloads due to bottlenecks and the need for manual load-spreading and data migration, which complicates data management and reduces productivity.

Innovation Solution

Implementing a method that uses write-back persistent file system caches to dynamically stripe file data, metadata, and directory accesses across a cluster of data storage nodes, allowing for automatic load spreading and simplifying management by distributing resources efficiently and ensuring resilience against single node failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is statically mapped to a single node, then system simplicity is maintained, but performance and availability are limited due to single point of contention and failure

Engineering Contradiction:
ImproveavailabilityVSAvoiddata mapping complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements dynamic data mapping where the mapping between data and storage nodes is not fixed but can change over time. The mapping is determined by hash functions that distribute data across nodes dynamically, allowing the system to adapt to node failures and load changes without manual intervention, thus improving availability while maintaining manageable complexity through automated algorithms.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the mapping parameter from static node assignment to dynamic hash-based distribution. By using hash functions with configurable parameters (such as different hash algorithms or node selection criteria), the system can adjust data distribution patterns to optimize for different scenarios while automatically handling the complexity of remapping when nodes are added or fail.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If manual load-spreading and data migration are performed, then data management control is improved, but system downtime and lost productivity increase

Engineering Contradiction:
Improvedata management controlVSAvoidsystem downtime
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system implements self-service automated load spreading and data migration capabilities. When nodes are added to the cluster or fail, the system automatically detects the change, recalculates optimal data distribution using hash functions, and migrates data without human intervention. This eliminates system downtime associated with manual operations while maintaining full control over the data management process through automated algorithms.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system incorporates feedback mechanisms that continuously monitor cluster topology, node status, and data distribution patterns. This feedback enables the system to automatically adjust data mapping and trigger migrations when necessary, ensuring optimal load balancing while minimizing disruption. The feedback loop allows the system to respond to changes in real-time without requiring manual intervention.

Inventive Principle:
Principle #23Feedback

3Speed

If replication is used to offload read accesses, then read performance is improved, but write performance degrades due to replication overhead

Engineering Contradiction:
Improveread performanceVSAvoidwrite performance
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system applies different quality characteristics to different nodes based on their role and the data they hold. Rather than uniformly replicating data across all nodes, the system uses hash-based mapping to determine which node serves which data, creating local optimization where each node handles the specific subset of data it is mapped to. This eliminates the write overhead of replication while maintaining read performance through efficient local access.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically determines read access patterns and data location through hash functions rather than using static replication. When a read request arrives, the system dynamically routes it to the appropriate node based on the data's hash-mapped location, achieving read performance optimization without the write overhead of replication. This dynamic approach adapts to the actual data distribution rather than pre-replicating data.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8046422B2Automatic load spreading in a clustered network storage system
Publication Date: 2011.10.25 NETAPP INC
  • US8046422B2 patent drawing
  • US8046422B2 patent drawing
  • US8046422B2 patent drawing

AI summary

A cache is used in a network storage system that includes a plurality of data storage nodes in a storage cluster, to automatically spread read and write access load, by a plurality of storage clients, for file system data and metadata, across the plurality of data storage nodes.