Rebalancing Engine for Distributed Storage Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed file systems, the initial placement of files via heuristics may become sub-optimal over time due to changes in file size and file operations load, leading to inefficient storage utilization.

Innovation Solution

The implementation of a rebalancing engine, a rebalancing scanner, and a non-disruptive file movement subsystem to analyze the file system state, identify candidate files for movement, and non-disruptively move files to achieve optimal distribution across the system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If files are initially placed using heuristics, then file placement is simple and fast, but storage utilization becomes sub-optimal over time

Engineering Contradiction:
Improvefile placement speedVSAvoidstorage utilization efficiency
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system performs preliminary file placement using heuristics for fast initial placement, then later performs rebalancing operations to optimize storage distribution. This two-stage approach allows the system to achieve both fast initial placement and optimal storage utilization over time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The rebalancing engine automatically monitors storage utilization and performs file redistribution without manual intervention. The system self-adjusts to maintain optimal storage distribution by identifying imbalanced containers and moving files accordingly.

Inventive Principle:
Principle #25Self-service

2Quantity of substance

If manual rebalancing is performed, then storage utilization can be optimized, but system complexity and operational overhead increase

Engineering Contradiction:
Improvestorage utilization efficiencyVSAvoidrebalancing system complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The rebalancing engine automatically monitors storage utilization and performs file redistribution without manual intervention. The system self-adjusts to maintain optimal storage distribution by identifying imbalanced containers and moving files accordingly.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system continuously monitors storage utilization metrics and uses this feedback to trigger rebalancing operations when imbalances are detected. The rebalancing engine queries storage utilization information and adjusts file distribution based on real-time conditions.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If files are moved to achieve optimal distribution, then storage utilization improves, but client operations may be disrupted

Engineering Contradiction:
Improvestorage utilization efficiencyVSAvoidclient operation continuity
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system uses an intermediary metadata structure to track file locations and ownership during the rebalancing process. This metadata acts as a mediator that allows the system to move files while maintaining client access through proper redirection mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The rebalancing system dynamically adjusts file locations based on current storage conditions while maintaining operational continuity. The system can perform file movements during operational periods without disrupting client access by using dynamic redirection and coordination mechanisms.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250190399A1Rebalancing engine for use in rebalancing files in a distributed storage systems
Publication Date: 2025.06.12 NETAPP INC
  • US20250190399A1 patent drawing
  • US20250190399A1 patent drawing
  • US20250190399A1 patent drawing

AI summary

Redistribution of files in a containerized distributed file system is disclosed. Containers each have an engine and a scanner and each of the containers stores files and parameters for characteristics of files stored on the container. A first engine in a first container monitors characteristics of files stored on the first container and, responsive to determining that the parameters for files on the first container exceed one or more predetermined thresholds, communicates with a second engine in a second container to determine a destination container for one or more files from the first container. The second engine in the second container indicates to the first engine in the first container whether the second container is available to receive one or more files from the first container. The first engine triggers file system scanning by the scanner of the first container to identify files to be moved to the second container.