Request Scheduling for Middleware Bottleneck Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Middleware environments, such as WebSphere, often face capacity issues like input or output bottlenecks and high processor utilization, leading to violations of service-level agreements due to sudden increases in requests or system slowdowns.

Innovation Solution

A scheduling system that determines resource utilization across multiple resources, identifies at-risk resources, and strategically approves requests with the lowest impact on these resources based on historical data, holding unapproved requests in a waiting queue to prevent bottlenecks and ensure compliance with service-level agreements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If all requests are processed in a middleware environment, then request throughput is maximized, but resource bottlenecks occur and service-level agreements are violated

Engineering Contradiction:
Improverequest throughputVSAvoidservice-level agreement compliance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary analysis of incoming requests against historical resource utilization data and service-level agreement requirements before processing. By pre-evaluating whether processing a request would cause resource bottlenecks or SLA violations, the system can proactively reject or queue problematic requests, thereby maintaining both high throughput for safe requests and compliance with service-level agreements.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If resources are allocated to handle sudden increases in requests, then request processing capacity is improved, but resource utilization becomes inefficient during low-load periods

Engineering Contradiction:
Improverequest processing capacityVSAvoidresource utilization efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system dynamically adjusts resource allocation and request processing capacity based on real-time resource utilization monitoring and historical patterns. Rather than maintaining static over-provisioned resources, the system flexibly scales processing capacity up during high-demand periods and down during low-demand periods, optimizing both productivity and resource utilization efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters such as request processing thresholds, queue depths, and resource allocation levels based on current system state and historical data. By adjusting these parameters dynamically, the system can handle sudden request increases without permanent over-provisioning, thereby maintaining productivity while avoiding continuous resource waste.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If resource utilization monitoring is performed continuously, then bottleneck detection is improved, but system overhead increases

Engineering Contradiction:
Improvebottleneck detection accuracyVSAvoidsystem overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system pre-calculates and stores historical resource utilization patterns and bottleneck indicators during low-load periods. When monitoring is needed, it compares current metrics against these pre-computed baselines rather than performing complex real-time analysis, thereby achieving accurate bottleneck detection with minimal real-time computational overhead.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10210020B2Scheduling requests in an execution environment
Publication Date: 2019.02.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10210020B2 patent drawing
  • US10210020B2 patent drawing
  • US10210020B2 patent drawing

AI summary

A computer-implemented method includes receiving a plurality of requests. Resource utilization is determined for two or more resources in an execution environment. An at-risk resource is identified, from among the two or more resources, with highest utilization among the two or more resources. The method further includes determining, by a computer processor, a subset of requests to be approved that are estimated to have lowest impact on the at-risk resource, based at least in part on historical resource utilization applicable to one or more request types of the plurality of requests. The subset of requests is approved for processing by the execution environment, where the subset of requests excludes one or more unapproved requests. The one or more unapproved requests are held in a waiting queue in lieu of processing the one or more unapproved requests, responsive to the one or more unapproved requests not being approved.