Transaction Request Broker for MVCC Collision Control
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If transaction requests are throttled to reduce MVCC collisions, then collision rate decreases, but system throughput and productivity are reduced
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.
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.
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
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.
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.
Data Source
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.


