I/O Module Request Delaying for Storage Channel Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-user computing systems, the finite and hard-to-expand data Input/Output (I/O) channel poses challenges in managing resource utilization, as multiple users share a limited data storage channel, leading to potential bottlenecks and performance issues.

Innovation Solution

The system evaluates the I/O history of each requester and determines whether to delay file-level requests based on predefined or calculated criteria, using an I/O module that manages the data storage channel utilization by creating a history for each user and adjusting request prioritization to optimize channel usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple users share the data storage channel simultaneously, then resource utilization increases, but performance bottlenecks and channel exhaustion occur

Engineering Contradiction:
Improveresource utilizationVSAvoidchannel performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system monitors I/O channel usage by each requester and uses this feedback to dynamically adjust request handling. When a requester exceeds usage thresholds, the system detects this through history evaluation and modifies its behavior by delaying subsequent requests from that requester, thereby preventing channel exhaustion while maintaining high overall utilization

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts the handling of I/O requests based on real-time channel usage patterns. Instead of static allocation, the system evaluates requester history and adapts its response in real-time, delaying requests from high-usage requesters while allowing requests from low-usage requesters to proceed, creating a dynamic balance that prevents bottlenecks

Inventive Principle:
Principle #15Dynamics

2Reliability

If the system delays file-level requests from high-usage requesters, then channel exhaustion is prevented, but request processing time increases

Engineering Contradiction:
Improvechannel stabilityVSAvoidrequest processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system applies partial delay action only to requests from high-usage requesters who are approaching channel exhaustion thresholds, rather than delaying all requests uniformly. This selective approach delays only the necessary portion of requests to prevent channel overload, while allowing other requests to proceed without delay, thereby minimizing overall time loss

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system applies different handling qualities to different requesters based on their individual usage patterns. High-usage requesters experience request delays while low-usage requesters experience no delay, creating localized quality differences in service delivery that prevent channel exhaustion without unnecessarily impacting overall system performance

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8805899B2Data channel utilization management in multi-user system
Publication Date: 2014.08.12 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8805899B2 patent drawing
  • US8805899B2 patent drawing
  • US8805899B2 patent drawing

AI summary

The management of data storage channel utilization in a computing system that has multiple users. The system receives file-level requests from requesters and then creates a history for each requester. Upon evaluating the history of each requester, the system determines whether to delay the file-level requests from entering the file system stack based on the result of the evaluation. The system delays one or more of the file-level requests if the history of the corresponding requester meets one or more criteria. If the history of the corresponding requester does not meet the criteria, the system allows the file-level requests to be passed to the file system stack without being delayed.