Transaction Request Broker for MVCC Collision Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Enterprise architectures employing Multi-Version Concurrency Control (MVCC) face performance issues due to increased MVCC failures under heavy load, leading to poor system performance as clients must retry write requests when collisions occur, causing a rapid increase in rejection rates.

Innovation Solution

A middleware system with a broker component that dynamically groups transaction requests based on observed collisions, throttling or queuing requests to prevent parallel submissions that would cause MVCC failures, ensuring only non-conflicting requests are processed simultaneously.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple transaction requests are processed in parallel under heavy load, then system throughput is improved, but MVCC collision rate increases rapidly leading to write request rejections

Engineering Contradiction:
Improvesystem throughputVSAvoidMVCC collision rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments transaction requests into different collision groups based on their potential for MVCC conflicts. By dividing the transaction stream into groups that can be processed independently with reduced collision risk, the system maintains higher throughput while lowering overall collision rates. Each group is managed separately, allowing parallel processing of multiple groups simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary classification of transaction requests into collision groups before processing. By pre-organizing requests based on their collision potential using observed collision patterns, the system proactively prevents MVCC conflicts rather than reacting to them after occurrence, thereby maintaining both high throughput and low collision rates.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If transaction requests are throttled to reduce MVCC collisions, then collision rate decreases, but system throughput and productivity are reduced

Engineering Contradiction:
ImproveMVCC collision rateVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic throttling where the degree of rate limiting is adjusted based on observed collision patterns and current system load. Rather than applying static throttling that always reduces throughput, the system dynamically adapts the throttling intensity - applying stronger throttling when collision patterns indicate high risk and relaxing it when conditions are favorable, thereby optimizing the balance between collision reduction and throughput maintenance.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters (rate limiting thresholds, queue depths, parallel processing degrees) based on observed collision behavior. By monitoring collision rates and adjusting processing parameters dynamically, the system optimizes throughput while maintaining acceptable collision rates, avoiding both excessive throttling and uncontrolled collision scenarios.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If a static rate limiting approach is used to control transaction requests, then implementation simplicity is maintained, but adaptability to changing collision patterns is poor

Engineering Contradiction:
Improveimplementation simplicityVSAvoidadaptability to collision patterns
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent incorporates feedback mechanisms that monitor actual MVCC collision outcomes and use this information to dynamically adjust rate limiting parameters and collision group configurations. The system continuously learns from observed collision patterns and adapts its control strategy accordingly, maintaining both reasonable implementation complexity and high adaptability to changing conditions through data-driven adjustments.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs self-adjustment by automatically analyzing its own collision patterns and modifying its rate limiting behavior without external intervention. Through self-monitoring and self-tuning of parameters based on observed performance, the system maintains adaptability while keeping the implementation relatively simple, as the adaptation logic is embedded within the existing transaction processing flow.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11082527B2Controlling transaction requests between applications and servers
Publication Date: 2021.08.03 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11082527B2 patent drawing
  • US11082527B2 patent drawing
  • US11082527B2 patent drawing

AI summary

Concepts for controlling transaction requests delivered between applications and servers via a decentralized architecture. In such concepts, the delivery of transaction requests is controlled in consideration of information regarding groups of transaction requests that may cause transaction collisions if processed in parallel. Such groupings of transaction request may be defined, modified and updated at run-time, based on previous or current observed transaction collisions.