Dynamic IO Flow Rate Distribution in Multi-Node Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional multi-node storage systems lack the ability for storage nodes to adjust their IO flow rates collectively, leading to inefficiencies as each node applies its own limit independently, resulting in wasted IO flow and inefficient processing.

Innovation Solution

A method to divide and dynamically adjust the total IO flow rate limit among storage nodes based on their individual desired IO flow rates, ensuring optimal distribution and minimizing waste by incrementally updating each node's IO flow rate limit.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If each storage node applies its own IO flow limit independently, then each node can control its processing load, but the total IO flow rate is not utilized efficiently and processing capability is wasted

Engineering Contradiction:
Improvetotal IO flow rate utilizationVSAvoidIO flow rate management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a feedback mechanism where storage nodes report their desired IO flow rates to a management system, which then adjusts the limits dynamically. This allows the system to respond to actual node capabilities and workload conditions, optimizing total IO flow rate utilization while maintaining manageable complexity through automated control loops.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent transitions from static, pre-configured IO flow limits to dynamic, adaptive limits that adjust based on real-time system conditions. Each storage node's IO flow rate limit is continuously updated based on its desired rate and the overall system state, enabling efficient resource utilization without manual reconfiguration.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If storage nodes operate with fixed IO flow limits, then system configuration is simple, but the system cannot adapt to changing processing capabilities and workload demands

Engineering Contradiction:
Improveadaptability to processing capabilitiesVSAvoidIO flow rate adjustment mechanism
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent enables storage nodes to self-report their desired IO flow rates based on their own processing capabilities and workload conditions. Each node autonomously determines its optimal performance level and communicates this to the management system, eliminating the need for external intervention or complex manual configuration while achieving high adaptability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements incremental adjustment of IO flow rate limits, where changes are applied gradually rather than all at once. This preliminary, step-by-step approach allows the system to adapt to changing conditions smoothly, preventing sudden performance fluctuations while maintaining flexibility in response to workload demands.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12182408B2Storage management system and method
Publication Date: 2024.12.31 EMC IP HLDG CO LLC
  • US12182408B2 patent drawing
  • US12182408B2 patent drawing
  • US12182408B2 patent drawing

AI summary

A method, computer program product, and computing system for dividing a total IO flow rate limit between a plurality of storage nodes of a multi-node storage system. A total desired IO flow rate may be determined. Each storage node of the plurality of storage nodes may be queried for a desired IO flow rate, thus defining a plurality of desired IO flow rates. An updated IO flow rate limit may be defined, for each storage node, an updated IO flow rate limit based upon, at least in part, the total IO flow rate limit and the plurality of desired IO flow rates. One or more IO requests may be processed on the plurality of storage nodes based upon, at least in part, the updated IO flow rate limit defined for each storage node and the total desired IO flow rate.