Connection Pool Manager for Clustered System Event Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional clustered computing systems face inefficiencies in managing connections and redistributing sessions during system changes, leading to prolonged downtime and resource wastage due to slow reorganization of connections upon node or service failures.

Innovation Solution

Implementing a connection pool manager that receives notifications of system events and rapidly redistributes connections across active instances, marking invalid connections as such and rebalancing them to ensure high availability and efficient resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional connection management methods are used in clustered computing systems, then system stability is maintained, but connection reorganization speed deteriorates during node or service failures

Engineering Contradiction:
Improveconnection reorganization speedVSAvoiddowntime during system changes
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system performs preliminary actions by maintaining a connection pool with pre-established connections to multiple instances before failures occur. When a node or service fails, the connection manager can immediately redistribute existing connections without waiting for new connection establishment, thus reducing downtime and improving connection reorganization speed

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The connection pool manager acts as an intermediary layer between client applications and clustered instances. It receives notifications of system events and autonomously manages connection redistribution, isolating the complexity of failure recovery from both clients and individual instances while enabling fast reorganization

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If connections are rapidly redistributed across all instances, then system availability improves, but connection management complexity increases

Engineering Contradiction:
Improvesystem availabilityVSAvoidconnection management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The connection pool manager serves as an intermediary that centralizes connection management logic. It receives event notifications, identifies affected connections, and redistributes them across available instances without requiring complex coordination between multiple components, thus improving reliability while managing complexity through centralization

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The connection pool manager implements self-service by autonomously responding to system events without external intervention. It automatically detects failed nodes, identifies valid connections, and redistributes them to healthy instances based on pre-configured policies, eliminating the need for manual connection management while maintaining high availability

Inventive Principle:
Principle #25Self-service

3Reliability

If connection pool size is increased to handle failures, then system resilience improves, but resource consumption increases

Engineering Contradiction:
Improvesystem resilienceVSAvoidconnection pool resource consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system dynamically adjusts connection pool parameters based on system conditions. The connection pool manager monitors instance availability and modifies the number of active connections in the pool accordingly, maintaining adequate resilience during normal operation while reducing resource consumption when instances fail or are unavailable

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The connection pool maintains a partial reserve of connections beyond immediate needs to handle failures. By keeping some connections in standby state and using lazy initialization for connection creation, the system achieves sufficient resilience without allocating excessive resources, only consuming what is necessary for current operational requirements

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7953860B2Fast reorganization of connections in response to an event in a clustered computing system
Publication Date: 2011.05.31 ORACLE INT CORP
  • US7953860B2 patent drawing
  • US7953860B2 patent drawing
  • US7953860B2 patent drawing

AI summary

Techniques for fast recovery and/or balancing of connections to a clustered computing system provide management of such connections by determining a number of connections to load balance across nodes and by triggering creation of such connections. In one aspect, a notification of an event regarding the clustered computing system is received by a connection pool manager, a pool of connections to the system is identified based on the notification, and one or more connections from the pool are processed in response to the event. According to an embodiment, the notification comprises the identities of the service, database, server instance and machine that correspond to the event.