Centralized Connection Pool for Microservice Transaction Coordination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing transactions across multiple micro services for database updates is inefficient and resource-intensive, especially when dealing with large monolithic applications, as it is difficult to track and coordinate successful updates or rollbacks across separate processes executed on different machines or nodes.

Innovation Solution

A centralized connection pool service system generates reference identifiers for connections between micro services and databases, allowing a parent process to determine which services are needed for updates, and uses AI to dynamically allocate connections based on usage patterns, enabling efficient data updates and rollbacks through a single commit or abort point.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If separate micro services are used for different processes, then efficiency is improved compared to monolithic applications, but connection and management of the separate micro services becomes problematic

Engineering Contradiction:
Improveupdate efficiencyVSAvoidconnection management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

A centralized transaction coordinator service is introduced as an intermediary between micro services and the database. This coordinator manages connection pools centrally, assigns connections to micro services, and coordinates transactions across multiple services, reducing the complexity of connection management while maintaining the efficiency benefits of micro services.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Multiple separate connection pools used by individual micro services are merged into a single centralized connection pool managed by the transaction coordinator. This consolidation reduces duplicate connections, optimizes resource utilization, and simplifies management while allowing micro services to operate independently.

Inventive Principle:
Principle #5Merging (Combining)

2Adaptability or versatility

If multiple micro services are executed on different machines or nodes, then distribution and scalability are improved, but tracking and managing transactions/updates becomes difficult

Engineering Contradiction:
Improvesystem distribution capabilityVSAvoidtransaction state tracking
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The centralized transaction coordinator implements a feedback mechanism where micro services report their transaction status back to the coordinator. The coordinator maintains a central transaction state registry that tracks the status of all micro services participating in a transaction, enabling reliable coordination across distributed machines while preserving scalability.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If each micro service has its own connection pool, then service independence is maintained, but all connections may not be utilized or needed for each process

Engineering Contradiction:
Improveservice independenceVSAvoidconnection resource waste
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The centralized connection pool serves multiple micro services simultaneously, making the connection resources universal rather than dedicated to single services. The transaction coordinator dynamically assigns connections from the shared pool to micro services based on actual demand, maintaining service independence while optimizing resource utilization and preventing connection waste.

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

Data Source

PatentUS11347724B2System and method of allocation and centralized transaction handling across multiple micro service clients
Publication Date: 2022.05.31 DELL PROD LP
  • US11347724B2 patent drawing
  • US11347724B2 patent drawing
  • US11347724B2 patent drawing

AI summary

A system, method, and computer-readable medium are disclosed for management of a centralized service for transaction handling across multiple processes that sends connections to a parent process that determines the multiple processes that are used to provide data or upgrade to a user database. Reference identifiers are generated for the connections. The reference identifiers are mapped. Connection of the multiple processes is performed using the reference identifiers to the database to provide data or upgrade to the user database. An abort or rollback is received if all of the other processes are not successful in providing the data or upgrading user database. A commit is received if all of the multiple processes are successful in providing the data or upgrading the user database.