Dynamic Tenant Relocation in Multi-Tenant Database via Connection Pooling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tenant database environments, existing systems face challenges in dynamically relocating tenants across container databases with minimal downtime, especially when managing existing and new connections, without requiring changes to the underlying application.

Innovation Solution

The system employs a connection pool with dynamic relocation capabilities, utilizing connection labeling and sharding techniques to enable seamless tenant relocation across multiple container databases, managing connection draining and migration, and using server-side connection pooling to maintain near-zero downtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If tenant relocation is performed in a multi-tenant database environment, then tenant mobility and resource optimization are improved, but connection management complexity and downtime increase

Engineering Contradiction:
Improvetenant mobilityVSAvoidconnection management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a connection pool as an intermediary layer between the application and the database. This connection pool manages all database connections centrally, allowing tenant relocations to occur without requiring the application to directly manage individual connections. The connection pool handles connection draining, migration, and routing transparently, reducing the complexity burden on the overall system while enabling flexible tenant mobility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements automatic connection management where the connection pool autonomously handles connection creation, validation, pooling, and termination. During tenant relocation, the system automatically drains connections from the source tenant, migrates them to the target tenant, and maintains service continuity without manual intervention. This self-service approach reduces operational complexity while improving tenant adaptability.

Inventive Principle:
Principle #25Self-service

2Reliability

If existing connections are drained during tenant relocation, then data consistency and reliability are improved, but relocation time and service interruption increase

Engineering Contradiction:
Improvedata consistencyVSAvoidrelocation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary connection validation and pooling before initiating tenant relocation. Connections are pre-established and validated in the connection pool, ensuring they are ready for immediate use. During relocation, the system has already prepared alternative connections in the pool, allowing for rapid switching without extensive draining time, thus maintaining both data consistency and minimizing relocation time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The connection pool maintains a continuous supply of valid connections throughout the relocation process. While some connections are being drained from the source tenant, the pool simultaneously provides connections to the target tenant and maintains service continuity. This ensures data consistency through proper connection management while minimizing service interruption by keeping the connection supply chain uninterrupted.

Inventive Principle:
Principle #20Continuity of useful action

3Manufacturing precision

If application changes are required for tenant relocation, then relocation precision and control are improved, but system complexity and maintenance burden increase

Engineering Contradiction:
Improverelocation precisionVSAvoidsystem complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The connection pool serves as an intermediary that abstracts the complexity of connection management from the application. The application interacts with the connection pool through standardized interfaces, while the pool handles the complex tasks of connection routing, tenant association, and relocation logic. This maintains precise control over relocation operations without requiring complex application-level changes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements self-service relocation capabilities where the connection pool automatically manages tenant-to-connection mappings without requiring application code modifications. The pool monitors tenant relocation events and automatically reassigns connections accordingly, providing precise relocation control through automated processes rather than complex application-level orchestration.

Inventive Principle:
Principle #25Self-service

4Productivity

If new connections are created during relocation, then service availability and flexibility are improved, but resource consumption and connection pool overhead increase

Engineering Contradiction:
Improveservice availabilityVSAvoidresource consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The connection pool implements a reuse strategy where connections are discarded from the source tenant and recovered for use by the target tenant during relocation. Instead of creating entirely new connections, the system recycles existing connection resources, reducing overall resource consumption. This maintains high service availability by ensuring connections are continuously available while minimizing the total number of connections needed in the system.

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The system dynamically adjusts connection pool parameters such as pool size, connection timeout, and validation frequency based on relocation activities and system load. During relocation, the pool may increase connection creation rates to ensure availability, then optimize parameters afterward to reduce resource consumption. This dynamic parameter adjustment balances service availability with resource efficiency throughout the relocation process.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3494476A1System and method for providing dynamic relocation of tenants in a multi-tenant database environment
Publication Date: 2019.06.12 ORACLE INT CORP

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 dynamic relocation of tenants. In accordance with an embodiment, a software application can obtain a connection from the connection pool, on behalf of a tenant, which enables the software application or tenant to access the database. A relocation process enables a tenant which is associated with a multi-tenant or other client application, to be relocated within the database environment, for example across a plurality of container databases, with near-zero downtime to the client application, including managing the draining of existing connections, and the migrating of new connections, without requiring changes to the underlying application.