Dynamic Thread Pool Management for QOS Compliance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In on-demand services environments, the predetermined number of threads for task processing often fails to meet quality of service (QOS) goals due to arbitrary allocation without consideration for task types, historical volume, and processing efficiency, leading to inefficiencies.

Innovation Solution

Implementing a method to dynamically adjust processing resources by identifying unprocessed tasks and adding additional servers when QOS policies are violated, ensuring that processing power is dynamically increased to meet QOS goals.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a predetermined number of threads is used for task processing, then the system structure is simple and easy to manage, but the system cannot meet quality of service (QOS) goals due to arbitrary allocation without consideration for task types, historical volume, and processing efficiency

Engineering Contradiction:
ImproveQOS goal achievementVSAvoidthread management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic thread pool management where the system automatically adjusts the number of processing threads based on real-time queue depth and QOS requirements. Instead of using a fixed predetermined number of threads, the thread pool size is dynamically modified to match current workload demands, ensuring QOS goals are met while adapting to changing task volumes and types.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms that continuously monitor queue depth, task characteristics, and QOS compliance. Based on this feedback, the system automatically adjusts thread allocation decisions. The feedback loop enables the system to learn from historical performance data and make informed decisions about when to increase or decrease thread count to maintain QOS standards.

Inventive Principle:
Principle #23Feedback

2Productivity

If additional servers are added dynamically to meet QOS goals, then processing efficiency improves, but system complexity and resource management difficulty increase

Engineering Contradiction:
Improvetask processing efficiencyVSAvoidserver management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements self-service automation where the load balancing infrastructure automatically provisions, configures, and manages additional servers without requiring manual intervention. When QOS violations are detected, the system autonomously spins up new server instances, integrates them into the load balancing pool, and manages their lifecycle including termination when no longer needed. This self-service capability maintains high productivity while minimizing the operational complexity burden.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary actions by pre-configuring server templates and establishing automated provisioning workflows before additional servers are needed. When scaling is required, pre-defined configurations and automation scripts enable rapid server deployment and integration, reducing the complexity of ad-hoc server management while maintaining high processing efficiency.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If arbitrary static allotment of processing resources is used, then resource allocation is simple to implement, but processing efficiency deteriorates due to inability to adapt to task types, historical volume, and processing efficiency metrics

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem implementation ease
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The system dynamically changes key parameters including thread pool size, server count, and resource allocation ratios based on task characteristics, historical volume data, and observed processing efficiency metrics. Instead of static resource allotment, the system continuously adjusts these parameters to optimize processing efficiency for different task types and workload conditions while maintaining manageable complexity through automated decision-making algorithms.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8875152B2System, method and computer program product for dynamically increasing resources utilized for processing tasks
Publication Date: 2014.10.28 SALESFORCE INC
  • US8875152B2 patent drawing
  • US8875152B2 patent drawing
  • US8875152B2 patent drawing

AI summary

Mechanisms and methods are provided for dynamically increasing resources utilized for processing tasks. These mechanisms and methods for dynamically increasing resources utilized for processing tasks can enable embodiments to adjust processing power utilized for task processing. Further, adjusting processing power can ensure that quality of service goals set for processing tasks are achieved.