Connection Pool Sizing for Heterogeneous Concurrency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The challenge lies in efficiently managing connection pool sizing for heterogeneous concurrency, particularly when client devices attempt to establish HTTP/2 connections with remote servers that only support HTTP/1.1 connections, leading to overburdened servers, excessive resource consumption, and increased network congestion and power usage due to repeated requests and unnecessary connection creation.

Innovation Solution

A connection pool management system that determines available capacity and establishes persistent connections efficiently, allowing reuse of existing connections to reduce the need for repeated establishment, thereby optimizing resource usage and minimizing network congestion and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a client device attempts to establish HTTP/2 connections with a remote server that only supports HTTP/1.1 connections, then the client device can achieve faster connection establishment and improved performance, but the remote server becomes overburdened and experiences increased resource consumption and network congestion

Engineering Contradiction:
Improveconnection establishment speedVSAvoidserver resource consumption
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The connection pool manager dynamically adjusts connection pool sizes based on the actual connection types established. When HTTP/2 connections are requested but HTTP/1.1 connections are established instead, the system automatically reduces the HTTP/2 connection pool size and increases the HTTP/1.1 connection pool size, allowing the system to adapt to actual server capabilities while optimizing resource usage

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms where the connection pool manager monitors which connection types are actually established (HTTP/2 vs HTTP/1.1) and uses this information to adjust future connection pool sizing decisions. This feedback loop prevents continuous attempts to create unsupported connection types, reducing server burden while maintaining optimal performance

Inventive Principle:
Principle #23Feedback

2Productivity

If the connection pool size is increased to handle more concurrent requests, then the system can improve request handling capacity, but networking resources are consumed and network congestion increases

Engineering Contradiction:
Improverequest handling capacityVSAvoidnetworking resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The connection pool sizes for different connection types (HTTP/2 and HTTP/1.1) are dynamically adjusted based on actual usage patterns and server capabilities. The system starts with initial pool sizes and modifies them over time based on feedback from connection establishment attempts, ensuring optimal resource utilization without over-provisioning

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameters (connection pool sizes) based on the actual connection types established and performance observations. By adjusting the number of connections in each pool based on real-world usage and server capabilities, the system optimizes the balance between request handling capacity and networking resource consumption

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If dedicated connection pools are created for each connection type (HTTP/1.1 and HTTP/2), then the system can optimize for specific connection protocols, but the overall connection pool size increases and creates more connections than necessary

Engineering Contradiction:
Improveprotocol optimizationVSAvoidconnection pool management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The connection pool manager is designed to handle multiple connection types (HTTP/1.1 and HTTP/2) within a single unified management framework. Instead of requiring separate management systems for each protocol, the universal manager can allocate connections from different pools based on the actual needs and server capabilities, reducing overall complexity while maintaining protocol-specific optimizations

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

Data Source

PatentUS11799941B2Handling connection pool sizing with heterogeneous concurrency
Publication Date: 2023.10.24 RED HAT INC
  • US11799941B2 patent drawing
  • US11799941B2 patent drawing
  • US11799941B2 patent drawing

AI summary

A system and method for handling connection pool sizing with heterogeneous concurrency. The method includes executing, by a processing device of a client device, a connection pool to manage persistent connections for the client device. The method includes executing, by the processing device, an application to cause the application to send a request to the connection pool for a first persistent connection of a first connection type to the remote server. The method includes determining an available capacity of the connection pool to provide, to the application, the first persistent connection of the first connection type to the remote server. The method includes establishing, by the connection pool, the first persistent connection of the first connection type to the remote server. The method includes granting, by the connection pool to the application, access to the first persistent connection of the first connection type to the remote server.