Merge Master Conflict Resolution for Multi-Master Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed data services with single-master configurations face limitations such as performance bottlenecks, latency issues, and single points of failure, while multi-master configurations can lead to data versioning conflicts and inefficient conflict resolution processes, compromising data integrity and resource utilization.

Innovation Solution

Designating a merge master within a multi-master server set to coordinate and resolve data version conflicts, consolidating conflict resolution processes to reduce redundant processing and ensure deterministic outcomes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple masters are designated to update the data set, then performance and availability improve, but data versioning conflicts increase

Engineering Contradiction:
Improvewrite throughputVSAvoiddata versioning conflicts
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

A conflict resolution service is introduced as an intermediary component that receives conflict notifications from master servers, determines the winning update, and coordinates propagation to all masters. This mediator handles the complexity of conflict resolution centrally, allowing multiple masters to operate independently while maintaining consistency through coordinated conflict management.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Extent of automation

If conflict resolution is handled by each master independently, then automation increases, but redundant processing and resource waste occur

Engineering Contradiction:
Improveautomated conflict resolutionVSAvoidredundant processing
Core Design Contradiction:
Extent of automationVSLoss of energy

Solution Approach 1:

The conflict resolution functionality is merged into a dedicated conflict resolution service that all masters utilize. Instead of each master independently implementing conflict resolution logic, the system combines these functions into a single centralized service that handles all conflicts, eliminating redundant processing and resource waste.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If a single master is designated, then data consistency is maintained, but performance bottlenecks occur

Engineering Contradiction:
Improvedata consistencyVSAvoidwrite throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments the master role into multiple independent master servers that can each handle write operations. By dividing the single-master function across multiple segments (masters), the system maintains data consistency through the conflict resolution service while improving write throughput through parallel processing capability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11397721B2Merging conflict resolution for multi-master distributed databases
Publication Date: 2022.07.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11397721B2 patent drawing
  • US11397721B2 patent drawing
  • US11397721B2 patent drawing

AI summary

A server set for a data set may designate a subset of “master” servers that update the data set in order to reduce data version conflicts involving mutually exclusive updates of the data set. Multi-master configurations may fulfill the performance constraints, and the subset of masters may detect and resolve data version conflicts. However, if multiple masters perform conflict resolution for a particular data version conflict, the resolution may produce inefficiency and redundancy (if the masters reach the same outcome) or additional data version conflicts (if the masters reach different outcomes). Instead, among the masters, a merge master may be identified that applies conflict resolution techniques to data version conflicts and forwards the conflict resolution outcome to the other masters for application to the data set to resolve the data version conflict. The other masters may temporarily store updates in a tentative update set until data version conflicts are resolved.