Idempotency Key Mechanism for Database Transaction Deduplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database systems lack effective mechanisms to prevent duplicate financial transactions, leading to unintentional multiple charges and inefficiencies, particularly when interacting with third-party entities like payment gateways.

Innovation Solution

Implementing a multi-layer idempotency mechanism that uses unique idempotency keys to identify and prevent duplicate transactions by registering and verifying requests, ensuring that each transaction is processed only once, even if multiple attempts are made.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional database systems process financial transactions without idempotency mechanisms, then transaction processing speed is maintained, but duplicate transactions occur leading to multiple charges and financial errors

Engineering Contradiction:
Improvetransaction accuracyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by generating and storing idempotency keys before transaction execution. When a transaction request arrives, the system first checks if an idempotency key exists and has been processed before, preventing duplicate transactions before they can cause harm. This preliminary verification ensures transaction accuracy without requiring complex post-processing checks.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism - the idempotency key - that acts as a mediator between the transaction request and the actual transaction processing. This key serves as a unique identifier that the system uses to verify whether a transaction has already been processed, thereby preventing duplicates without requiring direct comparison of transaction details.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the system implements duplicate transaction prevention mechanisms, then financial accuracy is improved, but transaction processing time increases

Engineering Contradiction:
Improvetransaction accuracyVSAvoidtransaction processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the transaction processing into distinct phases: idempotency key generation, key storage, key verification, and transaction execution. By separating the duplicate prevention logic into its own distinct steps with clear boundaries, the system can efficiently manage the overhead of duplicate checking without bottlenecking the entire transaction flow.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameter of transaction identification from comparing entire transaction details to using a compact idempotency key parameter. This parameter transformation reduces the computational complexity of duplicate detection from O(n) to O(1) lookups, significantly reducing processing time while maintaining accuracy.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If multiple transaction entities access the database simultaneously, then system throughput is maintained, but duplicate charges occur due to race conditions

Engineering Contradiction:
Improvesystem throughputVSAvoidtransaction integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The idempotency key acts as an intermediary that mediates access between multiple transaction entities and the database. Each entity uses its unique key to check transaction status before processing, preventing race conditions without requiring complex locking mechanisms that would reduce throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Each transaction entity is empowered to self-verify whether its transaction has been processed by checking its own idempotency key in the database. This self-service approach eliminates the need for centralized coordination or inter-entity communication, allowing simultaneous access while maintaining integrity through individual responsibility.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11880835B2Prevention of duplicate transactions across multiple transaction entities in database systems
Publication Date: 2024.01.23 SALESFORCE INC
  • US11880835B2 patent drawing
  • US11880835B2 patent drawing
  • US11880835B2 patent drawing

AI summary

In accordance with embodiments, there are provided mechanisms and methods for facilitating prevention of duplicate transactions across multiple transaction entities in database systems according to one embodiment. In one embodiment and by way of example, a method includes receiving a request to facilitate a financial transaction, wherein the request is received from an external computing device and includes an idempotency key that is unique to the request, and verifying, based on the idempotency key, the request as being a valid request or an invalid request, wherein the valid request is registered, and classifying, based on the idempotency key and a gateway log, the valid request as an original request or a duplicate request that is a successful duplicate request or an unsuccessful duplicate request.