Connection Pool Labeling for Multi-Tenant Database Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tenant cloud environments, high-cost connections pose a challenge due to their complexity and resource-intensive initialization, which can hinder system performance and efficiency.

Innovation Solution

Implementing connection labeling within connection pools to identify and manage high-cost connections, allowing for the reuse or creation of connections based on cost thresholds and application-defined labels, thereby optimizing resource utilization and reducing reinitialization overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If connection pools are used to reuse connection objects, then resource utilization is improved and creation costs are reduced, but in multi-tenant environments complex high-cost connections are required to maintain security between tenants, which increases connection initialization time and resource consumption

Engineering Contradiction:
Improveconnection reuse efficiencyVSAvoidconnection initialization time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-initializing connections with tenant-specific security contexts and configurations before they are needed. Connection labels are assigned in advance during connection creation, allowing the connection pool to quickly identify and retrieve pre-configured connections without performing costly initialization at request time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates lightweight copies of connection metadata (labels) without copying the entire connection object. Labels are simple key-value pairs that can be quickly replicated and assigned to connections, providing a low-cost mechanism to track connection characteristics and tenant associations without duplicating expensive connection resources.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If connection pools are configured to accommodate multiple tenants with security requirements, then multi-tenant support is achieved, but connection complexity increases making them high-cost connections

Engineering Contradiction:
Improvemulti-tenant supportVSAvoidconnection complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments connection management by introducing labels that divide connections into distinct categories based on tenant and connection type. Each connection can have multiple labels that segment its identity, allowing the pool to manage complex multi-tenant scenarios by breaking down the overall complexity into manageable labeled segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameter representation of connections by using labels instead of complex nested configuration objects. Labels transform connection metadata into simple, searchable key-value pairs that maintain the necessary information for multi-tenant security while reducing the operational complexity of managing connection states.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If new connections are created frequently to serve different tenants, then tenant isolation is maintained, but resource consumption and creation costs increase

Engineering Contradiction:
Improvetenant isolationVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system uses label-based feedback mechanisms where the connection pool continuously monitors connection usage patterns, availability, and tenant requirements. When a connection request arrives, the pool queries for connections with matching labels, receives feedback on available connections, and makes intelligent decisions about reuse versus creation based on this feedback loop.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system changes the state representation of connections by assigning and manipulating labels that encode tenant identity, connection type, and security context. This parameter transformation allows the system to maintain tenant isolation through label matching while enabling efficient reuse of connections that share the same label configuration, reducing the need for frequent creation.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP2989546B1Support for cloud-based multi-tenant environments using connection labeling
Publication Date: 2021.08.11 ORACLE INT CORP
  • EP2989546B1 patent drawingFigure 1
  • EP2989546B1 patent drawingFigure 2
  • EP2989546B1 patent drawingFigure 3

AI summary

A system and method for connection labeling for use with connection pools, including support for cloud-based multi-tenant environments using connection labeling. In accordance with an embodiment, the system comprises a connection pool, including a plurality of connection objects which provide connections that software applications can use to make requests to access the database, wherein each of the connections can be labeled according to the configuration of particular applications; and a connection pool logic that identifies connections labeled as high-cost connections, and controls the creation or repurposing of high-cost connections to serve requests from the multiple tenants or tenant applications. In accordance with an embodiment, the system comprises a connection pool logic that identifies connections labeled as high-cost connections, and avoids using those high-cost connections to serve requests when the total number of connections is below a particular threshold value.