Compensation-Aware Data Types for Concurrent Database Transactions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional database systems with strict ACID properties are inefficient for complex, long-running business transactions, leading to resource locking issues and cascading abort situations, and lack support for custom compensation logic, forcing applications to revert to database transactions or implement business logic in the application tier, which is costly and inefficient.

Innovation Solution

An extensible business transaction framework that supports user-provided compensation logic by making data types 'compensation aware' through abstract data classification types, allowing for validation and compensation of concurrent updates without exclusive locks, using methods like isValidChange, prepJournalRecord, confirmUpdate, and abortUpdate, and enabling shared updates with customizable data classification types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If strict ACID transaction protocols are used to ensure atomicity and consistency, then data integrity is maintained, but resource locking prevents concurrent access and reduces system productivity

Engineering Contradiction:
Improvedata integrityVSAvoidconcurrent transaction processing
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments a long-running business transaction into multiple independent database transactions that can execute concurrently. Each segment operates independently with its own transaction boundaries, allowing other transactions to access resources between segments. This segmentation resolves the contradiction by maintaining data integrity through proper commit/abort points while enabling concurrent access during transaction execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces compensation transactions as intermediaries that undo the effects of failed business transaction segments. When a segment commits but the overall business transaction fails, compensation transactions reverse the changes without requiring locks on the original resources. This mediator mechanism maintains reliability while allowing resources to be freely accessed by other transactions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If business transactions are segmented into multiple independent database transactions to improve concurrency, then resource locking is reduced, but cascading abort situations occur when undoing changes becomes complex

Engineering Contradiction:
Improveconcurrent transaction processingVSAvoidtransaction rollback complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by recording compensation information at the time each transaction segment commits. The compensation transaction definition is prepared in advance, specifying what changes need to be reversed. When a business transaction fails, these pre-prepared compensation transactions are executed systematically, eliminating the need for complex rollback logic and reducing abort complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the state parameters of transaction management by introducing compensation-aware data types and compensation information structures. Instead of traditional binary commit/abort states, the system tracks compensation requirements as additional parameters, allowing systematic reversal of changes and simplifying the abort process through structured parameter management.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If compensation logic is implemented at the application tier to support custom business rules, then flexibility is improved, but system complexity and cost increase

Engineering Contradiction:
Improvecustom compensation logicVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges compensation logic into the database management system itself, combining application-level business rules with database transaction management. Compensation-aware data types and compensation transactions are integrated into the DBMS, allowing custom compensation logic to be defined and executed within the database layer. This merging reduces architecture complexity by eliminating the need for separate application-tier compensation handling while maintaining full adaptability for custom business rules.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates universal compensation mechanisms that can handle multiple types of business transactions and compensation scenarios through a single framework. Compensation-aware data types provide multi-functional support for various data structures, and the compensation transaction system can reverse changes across different transaction types. This universality provides custom compensation logic capabilities while reducing overall system complexity through a unified approach.

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

Data Source

PatentUS9390119B2Support for compensation aware data types in relational database systems
Publication Date: 2016.07.12 ORACLE INT CORP
  • US9390119B2 patent drawing
  • US9390119B2 patent drawing
  • US9390119B2 patent drawing

AI summary

Techniques are provided for extending a business transaction framework to support user-provided compensation logic for business transactions. The extensibility framework may be used to implement user-defined semantics for (a) validating concurrent updates to shared data and (b) performing compensating actions when an associated transaction is aborted. In one embodiment, the extensibility and the compensation are provided at the data-type level. User-provided logic also maintains summaries that include values that are externalized so that they may be referenced in user-provided operational constraints.