Shareable Global Cache for Database Connection Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing connection pools in database environments are not scalable, as connections are typically isolated to specific database instances and services, leading to inefficient resource usage and poor performance in multi-tenant cloud environments, where connections cannot be shared across caches or used to access different services.
Innovation Solution
A shareable global cache system that caches connections to database instances, allowing idle connections to be switched for different services, and uses load balancing to distribute requests among multiple database instances, enabling connections to be reused across caches and services.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If connections are isolated to specific database instances and services in traditional connection pools, then connection management is simple and straightforward, but scalability is poor and resource utilization is inefficient in multi-tenant cloud environments
Solution Approach 1:
The patent implements a universal connection pool that can serve multiple database instances and services simultaneously. Connections are no longer bound to a single instance-service pair but can be dynamically assigned to any service within the pool, making the connection management system multi-functional and adaptable to various services without requiring separate connection pools for each service.
Solution Approach 2:
The patent merges multiple isolated connection pools into a single shared connection pool that manages connections to multiple database instances. This consolidation allows connections to be shared across different services and instances, improving resource utilization while maintaining centralized management through a unified pool architecture.
2Reliability
If separate connection pools are created for each service and database instance, then connection isolation and security are maintained, but the number of connections required increases and resource utilization decreases
Solution Approach 1:
The patent implements logical segmentation within a unified connection pool by maintaining separate connection caches for different services while allowing dynamic sharing. Each service maintains its own logical namespace and connection tracking, ensuring isolation and security, while the underlying physical connections can be shared across services when appropriate, reducing the total number of connections needed.
Solution Approach 2:
The patent introduces a connection pool manager as an intermediary layer between services and database instances. This manager handles connection allocation, tracking, and switching, enabling secure and controlled sharing of connections across multiple services while maintaining isolation policies. The intermediary ensures that services can only access connections appropriate for their needs while benefiting from shared resources.
3Productivity
If connections are reused across different services through service switching, then resource utilization improves and fewer connections are needed, but the complexity of connection management and service switching increases
Solution Approach 1:
The patent implements dynamic service switching capability in the connection pool manager. Instead of static connection assignments, the system can dynamically switch the service context on existing connections based on current requests. This allows the same physical connection to serve different services at different times, improving resource utilization while the dynamic management is handled transparently by the pool manager.
Solution Approach 2:
The connection pool manager automatically handles service switching and connection allocation without requiring manual intervention or complex configuration by application developers. The system self-manages the complexity of tracking which connections are available for which services, switching contexts as needed, and ensuring proper connection return to the pool, thereby hiding the complexity from users while enabling resource reuse.
4Adaptability or versatility
If a global shared connection pool is implemented across multiple database instances, then scalability and resource sharing improve, but the difficulty of detecting and measuring connection states and performance increases
Solution Approach 1:
The patent implements comprehensive monitoring and feedback mechanisms in the connection pool manager that track connection states, service assignments, and performance metrics across all database instances. The system provides visibility into connection utilization, switching operations, and pool health, enabling operators to detect and measure connection states and performance despite the complexity of the shared pool environment.
Data Source
AI summary
Described herein is a system and method for providing a shareable global cache for use with a database environment. In accordance with an embodiment, a shareable global cache is used for caching connections to database instances. When a request is received for a particular service, the system looks for an idle connection to that service, and, if none is available, locates an existing connection to a database instance serving that service and switches a service on the existing connection to that service.


