Connection Pool Timer Keep-Alive Mechanism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems face inefficiencies due to delayed connection establishment and resource overhead when maintaining connections to remote endpoints, as connections in caches may have timed out, leading to degraded performance and unnecessary resource consumption.

Innovation Solution

A system maintains a pool of runspaces with active connections using timers to keep connections alive and manages cache sizes dynamically, ensuring that connections are actively maintained and resources are optimized.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If connections are maintained in a cache pool for reuse, then connection establishment time is reduced, but connections may timeout and require reopening

Engineering Contradiction:
Improveconnection establishment timeVSAvoidconnection availability
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system performs preliminary actions by maintaining a pool of pre-established connections to endpoint computing systems. These connections are kept open and ready for use before actually needed, allowing the system to immediately reuse existing connections rather than establishing new ones each time a user requests access. This preliminary preparation of connections directly reduces connection establishment time while maintaining reliability through active connection monitoring.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by continuously monitoring the health and status of connections in the cache pool. When a connection times out or becomes invalid, the monitoring system detects this through timeout detection and automatically triggers connection reopening. This feedback loop ensures that connections remain reliable and available, converting the potential problem of timeout into an automated recovery process that maintains connection availability.

Inventive Principle:
Principle #23Feedback

2Reliability

If connections are frequently reopened after timeout, then connection availability is maintained, but processing overhead increases

Engineering Contradiction:
Improveconnection availabilityVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

By maintaining a pool of pre-established connections that are kept open proactively, the system performs the connection establishment action in advance rather than reacting to timeouts. This preliminary action reduces the frequency of connection reopening operations, thereby maintaining connection availability while significantly reducing the processing overhead associated with frequent connection establishment and teardown cycles.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system ensures continuity of useful action by keeping connections in a persistent open state within the cache pool, allowing multiple reuse operations without interruption. This continuous availability of pre-established connections eliminates the stop-start nature of frequent connection reopening, maintaining both connection reliability and processing efficiency by avoiding repeated establishment overhead.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If connection cache pool size is increased, then connection reuse is improved, but resource consumption increases

Engineering Contradiction:
Improveconnection reuse efficiencyVSAvoidmemory overhead
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system applies dynamics by making the connection cache pool size adjustable and adaptable rather than fixed. The pool size can be dynamically configured based on specific workload requirements, allowing the system to optimize the balance between connection reuse efficiency and memory overhead. This dynamic approach enables the system to scale the cache pool up or down as needed, improving productivity when high connection reuse is required while reducing resource consumption during low-demand periods.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10356173B2Maintaining and caching server connections
Publication Date: 2019.07.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10356173B2 patent drawing
  • US10356173B2 patent drawing
  • US10356173B2 patent drawing

AI summary

A set of runspaces with active connections are maintained in a pool. A set of timers are set and, based upon the timers, simple commands are submitted through the runspaces, to maintain the connections in an active state. The runspaces with the active connections can then be used from the cache, without having to open a new connection.