Cloud Database Connection Multiplexing via URI Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud computing database scalability is limited by the number of virtual machines, leading to increased costs and overhead due to resource sharing, as each virtual machine requires a full solution stack, restricting the number of tenants that can be serviced effectively.

Innovation Solution

Implementing techniques for routing and multiplexing connections to a cloud database using uniform resource identifiers (URIs), allowing multiple user processes to share the same database instance, thereby increasing scalability and reducing costs by optimizing resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If each consumer is provided with their own database instance in a virtual machine, then resource isolation and security are improved, but scalability and cost efficiency deteriorate due to the overhead of full solution stacks and limited virtual machine capacity

Engineering Contradiction:
Improveresource isolationVSAvoidscalability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

Multiple database instances are merged into a single shared database instance, allowing multiple tenants to access the same database through connection pooling and multiplexing. This eliminates the need for separate virtual machines for each database instance while maintaining logical separation through connection management, thereby improving scalability without sacrificing security.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

A single database instance serves multiple tenants simultaneously through connection multiplexing and pooling. The database instance becomes universal, handling requests from multiple consumers through a shared connection pool, which eliminates the overhead of multiple full solution stacks while maintaining service isolation through connection management.

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

2Adaptability or versatility

If multiple virtual machines are deployed to service more tenants, then the number of serviced tenants increases, but infrastructure costs and operational overhead increase proportionally

Engineering Contradiction:
Improvenumber of tenants servicedVSAvoidinfrastructure overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Multiple virtual machine infrastructure instances are merged into a single shared database instance with connection pooling. This consolidation allows the same infrastructure to serve multiple tenants simultaneously through multiplexed connections, reducing the number of virtual machines needed while increasing the number of tenants serviced.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Instead of copying entire virtual machine instances for each tenant, the system creates logical copies through connection pooling where multiple connection handles reference the same physical database instance. This allows tenants to have isolated connection contexts without requiring separate physical or virtual infrastructure instances.

Inventive Principle:
Principle #26Copying

3Productivity

If connection pooling and multiplexing are implemented, then resource utilization and scalability improve, but connection management complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidconnection management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

A connection pool manager acts as an intermediary between tenants and the database instance, handling connection creation, pooling, multiplexing, and termination. This intermediary abstracts the complexity of connection management from individual tenant applications while maximizing resource utilization through shared connections and multiplexed access.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10536545B2Cloud database connection multiplexing
Publication Date: 2020.01.14 ORACLE INT CORP
  • US10536545B2 patent drawing
  • US10536545B2 patent drawing
  • US10536545B2 patent drawing

AI summary

Techniques are described herein for routing requests for database cloud services. In an embodiment, a different Uniform Resource Identifier (URI) is assigned to each respective database schema of a plurality of database schemas in one or more databases. For each respective database schema, mapping data is stored that maps at least a portion of the URI to the respective database schema. In response to receiving a first request that includes a URI and a set of one or more database commands, a target database schema in a target database is identified based on the mapping data and the URI. A connection is established for accessing the target database schema in the target database. The set of one or more database commands is sent over the connection to access the target database schema in the target database.