Database Connection Manager for Dynamic Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems face inefficiencies due to direct client connections, which are disrupted by server failures, lead to suboptimal performance, and require clients to maintain burdensome connection information, and are not scalable for dynamic load balancing.

Innovation Solution

Implementing a database connection manager that routes database statements to replica servers based on server metrics, allowing for load balancing, automatic retry of failed statements, caching of read results, and reducing client-side updates by moving routing and load balancing functionalities to the server side.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If database clients connect directly to database servers, then clients can access data, but connection reliability deteriorates when servers go down for maintenance or become unavailable

Engineering Contradiction:
Improveconnection reliabilityVSAvoidconnection management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a database connection manager as an intermediary component that sits between database clients and database servers. The connection manager receives client connections, determines the appropriate server based on operational state and metrics, and forwards requests accordingly. This mediator handles server availability and routing logic, shielding clients from server failures and maintenance events, thereby improving connection reliability while centralizing management complexity in a dedicated component.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If database clients select servers directly, then clients have server awareness, but performance becomes suboptimal due to lack of operational state awareness

Engineering Contradiction:
Improvedatabase access performanceVSAvoidserver operational state information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent implements a feedback mechanism where the connection manager continuously monitors database server operational states and performance metrics. This feedback information about server health, load, and availability is used by the connection manager to dynamically route client requests to the most appropriate servers. The feedback loop ensures that routing decisions are based on current server conditions rather than static client-side configurations, optimizing performance while maintaining information symmetry.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If clients maintain knowledge of connection information, then clients can establish connections, but client software becomes burdensome and requires frequent updates

Engineering Contradiction:
Improveclient connection establishmentVSAvoidclient software complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent extracts the connection management functionality from client applications and relocates it to a dedicated database connection manager service. Clients only need to connect to the connection manager, which handles all server selection, routing, and connection management logic. This extraction removes the burden of maintaining connection information and server awareness from client software, simplifying client implementations while centralizing management capabilities in the connection manager.

Inventive Principle:
Principle #2Taking out (Extraction)

4Adaptability or versatility

If direct client-server connections are used, then system architecture is simple, but scalability and load balancing capabilities are limited

Engineering Contradiction:
Improveload balancing capabilityVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The database connection manager is designed as a universal component that performs multiple functions: connection management, server selection, load balancing, failover handling, and metrics collection. By consolidating these diverse functionalities in a single multi-functional service, the system gains advanced capabilities like dynamic load balancing and automatic failover without requiring complex distributed client-side logic. The connection manager serves all clients uniformly, providing scalable architecture while managing complexity centrally.

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

Data Source

PatentUS12141162B1Database connection manager, metric-based routing and load balancing for replica servers
Publication Date: 2024.11.12 AMAZON TECH INC
  • US12141162B1 patent drawing
  • US12141162B1 patent drawing
  • US12141162B1 patent drawing

AI summary

Systems and methods are provided to implement a database connection manager that dynamically routes database query statements to database servers storing replicas of the database. In embodiments, the database connection manager may implement a data access interface that mimics the interface of the database servers, so as to appear to clients as just another database server. In embodiments, various health or performance metrics of the servers are monitored, and the routing may be performed based on the metrics to load balance the servers. In embodiments, the routing may distinguish between read and write statements, so that read statements are routed to servers hosting read-only replicas, and write statements are routed to servers hosting writable replicas. These and other disclosed features improve the functioning of the database, to allow, among other things, the database servers to be dynamically load balanced, and the servers' identities to be hidden from clients.