Distributed Database Conflict Resolution for KVS Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed key-value store (KVS) systems, the coexistence of multiple master servers after a failure can lead to data inconsistency and reduced system availability due to unmanaged transaction processing.

Innovation Solution

A computer system with a distributed database across multiple servers, featuring a control module for generating operation histories, a distribution module for sequencing operations, a conflict judgment module for determining conflicts, and an applying module for ensuring non-conflicting transaction processing, thereby maintaining data consistency and increasing system availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple master servers coexist after a failure, then system availability is improved, but data consistency deteriorates

Engineering Contradiction:
Improvesystem availabilityVSAvoiddata consistency
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The patent introduces an intermediary mechanism (operation history logging and conflict detection system) between multiple master servers to coordinate their operations. Each master server logs its operations and checks for conflicts with other masters before applying transactions, allowing multiple masters to coexist while maintaining consistency through mediated conflict resolution

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback loops where master servers continuously monitor operation histories, detect conflicts in real-time, and adjust their transaction processing accordingly. This feedback mechanism enables the system to maintain data consistency while allowing multiple master servers to remain active and improve availability

Inventive Principle:
Principle #23Feedback

2Stability of the object's composition

If all transaction processing is aborted when a failure occurs, then data consistency is guaranteed, but system availability deteriorates

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem availability
Core Design Contradiction:
Stability of the object's compositionVSReliability

Solution Approach 1:

The patent segments transaction processing into individual operable units with unique operation numbers, allowing the system to evaluate and apply transactions independently rather than aborting all transactions when a failure occurs. This segmentation enables selective transaction processing that maintains consistency while preserving availability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameter of transaction handling from binary (all-or-nothing) to granular (selective application based on conflict detection). By introducing operation histories and conflict detection parameters, the system can determine which transactions to apply and which to abort, optimizing both consistency and availability

Inventive Principle:
Principle #35Parameter changes

3Reliability

If multiple master servers execute transaction processing on the same data, then system availability is improved, but data inconsistency increases

Engineering Contradiction:
Improvesystem availabilityVSAvoiddata consistency
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The patent implements preliminary action by requiring master servers to log operation histories and perform conflict detection before applying transactions. This pre-check mechanism prevents conflicting transactions from being applied simultaneously, ensuring data consistency while allowing multiple masters to operate concurrently

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10747777B2Computer system and transaction processing management method
Publication Date: 2020.08.18 HITACHI LTD
  • US10747777B2 patent drawing
  • US10747777B2 patent drawing
  • US10747777B2 patent drawing

AI summary

A computer system has a database constructed from storage areas in each of a plurality of computers, which stores data including an operation number for managing an operation status by transaction processing. The data is allocated to the computers in accordance with predetermined management ranges, and the computers include a control module configured to generate an operation history indicating specifics of each operation included in the piece of transaction processing in a case of receiving an execution request. A distribution module determines a sequence number of applying a plurality of operation histories to the database and transmits them to the other computers. A conflict judgment module determines whether a piece of transaction processing corresponding to an operation history conflicts based on the operation number; and an applying module operates the database based on an operation history corresponding to a piece of transaction processing to the database determined not to conflict.