Distributed Application Server Thread Management for Adaptive Batch Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing batch processing in distributed application servers is inefficient due to limited number of batch servers and processing threads, leading to resource inefficiencies, time delays, and missed service level agreements (SLAs).

Innovation Solution

A computing platform with a batch queue thread manager initiates multiple process threads to handle batch servicing requests, dynamically throttling the number of threads based on CPU power, memory, and data volume to optimize processing, while simultaneously handling individual requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a fixed number of batch servers and processing threads are configured, then system stability is maintained, but processing efficiency and resource utilization deteriorate

Engineering Contradiction:
Improvebatch processing efficiencyVSAvoidthread management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic thread management where the batch queue thread manager continuously monitors system conditions (CPU utilization, memory availability, queue depth) and adjusts the number of active processing threads in real-time. This allows the system to transition from a static fixed-thread configuration to a dynamic adaptive configuration, maximizing processing efficiency during high-load periods while reducing resource consumption during low-load periods.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms through performance monitors that track processing metrics and feed this information back to the batch queue thread manager. This feedback loop enables the manager to make informed decisions about thread creation and termination, adjusting the thread pool size based on actual system performance and workload conditions rather than relying on predetermined fixed configurations.

Inventive Principle:
Principle #23Feedback

2Speed

If more processing threads are initiated to handle batch requests, then processing speed increases, but resource consumption and system overload increase

Engineering Contradiction:
Improvebatch processing speedVSAvoidCPU and memory consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The batch queue thread manager dynamically adjusts the number of active processing threads based on real-time system conditions. When CPU utilization and memory consumption are within acceptable thresholds, the manager initiates additional threads to increase processing speed. When resource consumption approaches limits, the manager terminates excess threads to prevent system overload, creating a dynamic balance between processing speed and resource usage.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters (number of active threads) based on system state. The batch queue thread manager monitors resource utilization parameters and adjusts the thread count parameter accordingly, increasing threads when resources are abundant and decreasing threads when resources are constrained, thereby optimizing the balance between processing speed and resource consumption.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If batch processing uses a limited number of threads, then system stability is maintained, but service level agreements (SLAs) are missed

Engineering Contradiction:
ImproveSLA complianceVSAvoidprocessing time delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The dynamic thread management system responds to increasing workload by activating additional processing threads, allowing the system to maintain SLA compliance during peak periods. The batch queue thread manager monitors queue depth and processing delays, and when thresholds indicate potential SLA violations, it initiates more threads to reduce processing time and meet service level requirements.

Inventive Principle:
Principle #15Dynamics

4Adaptability or versatility

If individual service requests are processed separately from batch requests, then request handling flexibility increases, but system resource fragmentation increases

Engineering Contradiction:
Improverequest handling flexibilityVSAvoidresource management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The batch queue thread manager serves multiple functions: it manages both batch processing threads and individual request threads, monitors system resources, and dynamically adjusts thread allocation for different request types. This universal thread management approach allows the system to handle diverse request types (batch and individual) through a single coordinated mechanism, maintaining flexibility while avoiding resource fragmentation through unified resource control.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12373248B2Dynamic thread management for distributed application servers
Publication Date: 2025.07.29 BANK OF AMERICA CORP
  • US12373248B2 patent drawing
  • US12373248B2 patent drawing
  • US12373248B2 patent drawing

AI summary

Aspects of the disclosure relate to batch processing at distributed servers. A computing platform may receive a first web service request, which may be a request for batch servicing. The computing platform may initiate a batch queue thread manager to process the first web service request, which may initiate a plurality of process threads, each configured to process, at any one time, a single job of the batch servicing. The computing platform may process, using the batch queue thread manager, the first web service request, which may include, by each of the plurality of process threads: 1) processing a first job of the batch servicing, and 2) processing, after completion of the first job, at least a second job of the batch servicing. After completion of the processing of the first web service request, the computing platform may output a response to the first web service request.