Transparent Database Connection Pooling via Intermediary Accelerator

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional database client/server arrangements face bottlenecks due to the need for repeated connection establishment, which is compute-intensive and can lead to connection failures when the maximum number of connections is reached, especially in data-intensive applications that do not support connection pooling, requiring extensive modifications to existing applications.

Innovation Solution

A database accelerator maintains a pool of reusable connections to database servers, allowing it to forward client queries through available connections, create new connections as needed, and queue queries when maximum connections are reached, without modifying client or server software, and supports separate pools for read-only and read-write servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If connection pooling is implemented in traditional database arrangements, then connection reuse efficiency is improved, but application complexity and modification requirements increase

Engineering Contradiction:
Improveconnection reuse efficiencyVSAvoidapplication complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary connection pool manager component that sits between the database server and client applications. This manager handles connection pooling operations transparently, allowing connection reuse efficiency to improve while applications remain unchanged. The intermediary absorbs the complexity of connection management, preventing it from propagating to application code.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the maximum number of database connections is reached, then connection stability is maintained, but query processing capability deteriorates due to connection failures

Engineering Contradiction:
Improveconnection stabilityVSAvoidquery processing capability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements preliminary actions by pre-establishing a pool of database connections and maintaining them in a ready state before they are needed. The connection pool manager proactively manages connection lifecycle, including creating connections in advance, monitoring their status, and replenishing the pool as connections become available. This ensures that when query demand increases, stable connections are already available rather than attempting to create new connections under load.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The connection pool implements dynamic adjustment of connection availability. The pool manager continuously monitors connection status and dynamically allocates connections from the pool to waiting queries. When connections are returned to the pool after use, they are dynamically made available for reuse. This dynamic management allows the system to maintain connection stability while adapting to varying query loads.

Inventive Principle:
Principle #15Dynamics

3Productivity

If connection pooling is supported by the database server, then connection management efficiency is improved, but compatibility with existing applications deteriorates

Engineering Contradiction:
Improveconnection management efficiencyVSAvoidapplication compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent positions the connection pool manager as an intermediary layer that provides connection pooling functionality without requiring database server modifications or application changes. The manager intercepts connection requests from applications, manages the pool of connections to the database server, and returns connections from the pool to applications. This intermediary approach enables connection pooling efficiency while maintaining full compatibility with existing applications that do not natively support connection pooling.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8874609B1Method and system for transparent database connection pooling and query queuing
Publication Date: 2014.10.28 SCALEBASE INC
  • US8874609B1 patent drawing
  • US8874609B1 patent drawing
  • US8874609B1 patent drawing

AI summary

Roughly described, a database accelerator is installed transparently in a network between database client and server systems. It maintains a pool of connections to the database server(s) for re-use as needed. Connection requests from client systems are received and completed by the accelerator, and queries received on such client-side connections are forwarded through pool connections toward the database servers. If no appropriate connections are available when needed for a particular query, the accelerator forms one by emulating a client system requesting a connection to the desired database server. If the maximum number of connections has already been reached, then the query is queued until a connection becomes available in the pool. By installing the accelerator transparently in the network, no modifications are required to the software in either the client systems or the database servers to add connection pooling functionality to an existing client/server database environment.