Shareable Global Cache for Database Connection Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImprovescalabilityVSAvoidconnection management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

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

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.

Inventive Principle:
Principle #5Merging (Combining)

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

Engineering Contradiction:
Improveconnection isolation and securityVSAvoidnumber of connections required
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveresource utilizationVSAvoidservice switching complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
Improveresource sharing capabilityVSAvoidconnection state monitoring difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9747341B2System and method for providing a shareable global cache for use with a database environment
Publication Date: 2017.08.29 ORACLE INT CORP
  • US9747341B2 patent drawing
  • US9747341B2 patent drawing
  • US9747341B2 patent drawing

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.