Bandwidth Control for I/O Channels via Intermediary Service

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software applications competing for limited bandwidth in I/O channels lead to delayed or incomplete requests, reducing performance and causing errors in other applications due to excessive bandwidth consumption by some applications.

Innovation Solution

Implementing a bandwidth management service that groups I/O channels into bandwidth groups, assigns overall bandwidth limits, and manages I/O requests using individual control policies to ensure fair bandwidth allocation, allowing for flexible customization and reducing resource consumption by intercepting requests upstream in the process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If software applications transmit I/O requests over I/O channels without bandwidth control, then applications can access data quickly, but bandwidth is consumed excessively leading to contention and performance degradation for other applications

Engineering Contradiction:
ImproveI/O request transmission speedVSAvoidoverall system throughput
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

A bandwidth management service is introduced as an intermediary component between software applications and I/O channels. This service monitors bandwidth consumption, enforces bandwidth limits per application, and manages I/O request queues. The intermediary prevents any single application from monopolizing bandwidth while maintaining efficient data transmission, thus resolving the contradiction between individual application speed and overall system productivity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The bandwidth management service implements continuous feedback mechanisms by monitoring bandwidth consumption in real-time, comparing it against predefined limits, and dynamically adjusting I/O request handling. When an application approaches its bandwidth limit, the service provides feedback by throttling or queuing additional requests, ensuring fair bandwidth distribution and preventing system-wide performance degradation

Inventive Principle:
Principle #23Feedback

2Ease of operation

If bandwidth limits are enforced to prevent excessive consumption, then fair bandwidth allocation is achieved, but I/O request handling becomes more complex

Engineering Contradiction:
Improvebandwidth allocation fairnessVSAvoidI/O request management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The bandwidth management system segments bandwidth allocation by creating separate bandwidth limits and control policies for different applications. Each application is assigned a specific bandwidth limit, and the management service independently tracks and enforces these limits. This segmentation approach simplifies the overall complexity by breaking down the global bandwidth management problem into manageable per-application control units

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The bandwidth management service automatically monitors bandwidth consumption, enforces limits, and manages I/O request queues without requiring manual intervention or complex configuration. The system self-adjusts by dynamically queuing or throttling requests based on real-time bandwidth usage, reducing operational complexity while ensuring fair bandwidth allocation across all applications

Inventive Principle:
Principle #25Self-service

3Loss of energy

If bandwidth management service intercepts I/O requests upstream, then resource consumption is minimized, but the system requires additional control infrastructure

Engineering Contradiction:
Improvesystem resource consumptionVSAvoidcontrol infrastructure
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The bandwidth management service performs preliminary actions by intercepting I/O requests early in the processing pipeline, before significant system resources are consumed. By queuing or throttling requests at this upstream stage, the service prevents wasted resource expenditure on requests that would exceed bandwidth limits, thereby minimizing overall system resource consumption while the control infrastructure remains relatively streamlined

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11693799B2Bandwidth control for input/output channels
Publication Date: 2023.07.04 RED HAT LLC
  • US11693799B2 patent drawing
  • US11693799B2 patent drawing
  • US11693799B2 patent drawing

AI summary

Bandwidth control can be provided for input/output channels according to some aspects described herein. In one example, a system can detect an input/output (I/O) request transmitted by a software application. In response to detecting the I/O request, the system can determine a bandwidth group that corresponds to an I/O channel associated with the I/O request. The system can then determine whether bandwidth consumption of the bandwidth group exceeds a predefined bandwidth limit. If so, the system can execute a predefined policy assigned to the I/O channel for handling the I/O request.