Transparency Engine Connection Concentration in Database Environments
Solution Overview
Problem
Existing database environments face challenges in providing high availability and load balancing due to restrictions on connection pools and database drivers, leading to inefficient resource usage and scalability issues, especially in cloud deployments where features like Fast Connection Failover and Application Continuity are not universally available.
Innovation Solution
A transparency engine is introduced between client applications and databases, acting as a proxy and session abstraction layer to enable the use of connection pools without code changes, efficiently reuse database connections, and implement row buffering to improve response times.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple client applications each maintain their own connection pools to access the database, then each application can operate independently, but the total number of database connections increases significantly, causing resource exhaustion and scalability issues
Solution Approach 1:
The patent merges multiple application-specific connection pools into a single shared connection pool that serves all client applications. The transparency engine intercepts connection requests from multiple applications and routes them to a common pool of database connections, allowing connections to be reused across different applications rather than each application maintaining separate connections.
Solution Approach 2:
The transparency engine acts as an intermediary layer between client applications and the database connection pool. It receives connection requests from multiple applications, manages the shared connection pool, and distributes connections appropriately, thereby reducing the total number of connections while maintaining application independence through the mediation layer.
2Productivity
If the transparency engine concentrates many application connections onto fewer database connections, then resource utilization improves and scalability increases, but the complexity of managing session states and connection pooling increases
Solution Approach 1:
The transparency engine implements self-service mechanisms where the connection pool automatically manages its own state, including tracking which connections are active, their associated session states, and their availability. The system autonomously handles connection allocation, recycling, and state management without requiring complex external orchestration.
Solution Approach 2:
The shared connection pool is designed to be universal, serving multiple client applications simultaneously with a single pool infrastructure. The same connection pool handles connections for different applications, different user sessions, and various types of database operations, reducing the need for separate management mechanisms for each application.
3Loss of energy
If database connections are reused across multiple client applications, then connection efficiency improves and resource consumption decreases, but ensuring connection availability and handling failures becomes more difficult
Solution Approach 1:
The transparency engine implements feedback mechanisms that continuously monitor the state of database connections, including their health, availability, and performance metrics. When connections become unavailable or fail, the system receives feedback about their state and automatically takes corrective actions such as recycling failed connections, redistributing load to healthy connections, or alerting administrators.
Solution Approach 2:
The system prepares for potential connection failures by maintaining a pool of standby connections and implementing connection validation checks before allocating connections to applications. The transparency engine proactively manages connection health and has pre-configured fallback mechanisms to ensure connection availability even when some connections fail.
Data Source
AI summary
In accordance with an embodiment, described herein is a system and method for connection concentration in a database environment. A transparency engine provided between client applications and a database can include a connection pool (e.g., UCP connection pool). The transparency engine can operate as a proxy engine for the database and as a session abstraction layer for the client applications, to enable the client applications to utilize features provided by the connection pool without code changes. The transparency engine can receive application connections from the client applications, and concentrate the application connections on a smaller number of database connections maintained in the connection pool.


