Adaptive Lock Management for Distributed Key-Value Store Transactions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed Key-Value Store (KVS) systems employing the optimistic exclusive control method, transactions often compete, leading to increased overhead due to retries and potential failure of long transactions, while pessimistic exclusive control methods reduce scalability due to lock management bottlenecks.

Innovation Solution

A transaction processing apparatus and method that analyzes transactions to determine if they acquire locks, acquires locks for such transactions, and executes them only when no other transactions hold locks, updating data accordingly, thereby reducing competition and overhead while maintaining scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the optimistic exclusive control method is employed, then scalability is improved, but transaction commitment reliability deteriorates due to competition and retries

Engineering Contradiction:
ImprovescalabilityVSAvoidtransaction commitment reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system dynamically selects between optimistic and pessimistic exclusive control methods based on the characteristics of each transaction. The transaction analyzer examines transaction properties and determines which control method to apply, allowing the system to adapt its conflict resolution strategy to specific transaction needs rather than using a fixed approach for all transactions.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the pessimistic exclusive control method is employed, then transaction commitment reliability is improved, but scalability deteriorates due to lock management overhead

Engineering Contradiction:
Improvetransaction commitment reliabilityVSAvoidscalability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

Different exclusive control methods are applied to different transactions based on their specific characteristics. The transaction analyzer identifies which transactions would benefit from pessimistic control (those with high conflict probability or long execution time) and applies locks only to those specific cases, while other transactions continue to use optimistic control without lock overhead.

Inventive Principle:
Principle #3Local quality

3Stability of the object's composition

If locks are acquired for transactions, then transaction execution stability is improved, but system throughput deteriorates due to lock management bottlenecks

Engineering Contradiction:
Improvetransaction execution stabilityVSAvoidsystem throughput
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

Instead of applying pessimistic exclusive control (lock acquisition) to all transactions, the system applies it only partially to transactions that specifically require it based on analyzer determination. This selective approach provides sufficient stability for critical transactions while avoiding the throughput penalty of universal lock management.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10303676B2Transaction processing apparatus, transaction processing method, and computer-readable recording medium
Publication Date: 2019.05.28 NEC CORP
  • US10303676B2 patent drawing
  • US10303676B2 patent drawing
  • US10303676B2 patent drawing

AI summary

The transaction processing apparatus (100) includes: a transaction analyzer (101) that determines whether or not a transaction is a transaction that acquires a lock to operate and specifies, on a data storage device (200), data that is to be accessed by the transaction; a lock manager (102) that causes, if the transaction acquires a lock to operate, this transaction to acquire the lock; and a transaction executor (103) that executes this transaction on the condition that another transaction other than this transaction has not acquired the lock, and updates, based on the execution result, the data that is to be accessed.