Server-Side Connection Pool Tagging in Multi-Tenant Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current connection pooling mechanisms in multi-tenant environments, such as Oracle Database Resident Connection Pooling (DRCP), face limitations in managing multiple connection properties, leading to inefficiencies in resource utilization and scalability due to the inability to associate and manage multiple tags or properties with server-side connections.

Innovation Solution

The system introduces server-side connection pool multiple tagging, allowing for the association of multiple connection properties with server-side connections in a DRCP environment, enabling lookup and utilization of connections based on these properties to optimize resource allocation and improve scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If connection pooling is used in multi-tenant environments, then resource utilization is improved, but the ability to manage multiple connection properties is lost

Engineering Contradiction:
Improveresource utilizationVSAvoidconnection property management
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The connection pool is segmented into multiple tagged pools, where each tag represents a distinct connection property or property combination. This allows the system to manage multiple connection properties by dividing the overall pool into manageable segments, each serving specific tenant or application needs while maintaining efficient resource utilization across the entire pool.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If multiple connection properties are associated with server-side connections, then connection management flexibility is improved, but system complexity increases

Engineering Contradiction:
Improveconnection management flexibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The tagging mechanism provides universality by allowing a single connection pool infrastructure to handle multiple connection properties and tenant requirements through a unified approach. The same pool management system can accommodate various connection scenarios (different tenants, applications, or property combinations) without requiring separate management systems, thus reducing overall system complexity despite the enhanced flexibility.

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

3Productivity

If connections are reused efficiently, then productivity is improved, but the ability to select connections based on multiple properties is limited

Engineering Contradiction:
Improveconnection reuse efficiencyVSAvoidconnection selection capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The connection selection process is made dynamic through the tagging mechanism, allowing the system to adaptively select connections based on multiple properties at runtime. Instead of static connection allocation, the system can dynamically match connection requests with appropriate tagged connections, optimizing both reuse efficiency and selection capability by adjusting the matching criteria based on current workload and tenant requirements.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11290540B2System and method for use of server-side connection pool tagging in a multi-tenant environment
Publication Date: 2022.03.29 ORACLE INT CORP
  • US11290540B2 patent drawing
  • US11290540B2 patent drawing
  • US11290540B2 patent drawing

AI summary

Described herein are systems and methods for providing access to a database in a multi-tenant environment, including the use of a connection pool, and support for server-side connection pool multiple tagging. For example, the system can provide a capability to associate multiple connection properties with a particular server-side connection in, e.g., an Oracle Database Resident Connection Pooling (DRCP) environment; look up a connection with one or multiple properties; and provide information about a returned connection so that a requesting application can review the properties associated with the returned connection, in order to determine how best to “fix-up” or otherwise use that connection.