Closure Merge Conflict Detection via Ancestor Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In parallel development cycles, maintaining data consistency across multiple developer changes is challenging, leading to potential data corruption due to concurrent modifications and synchronization issues between different file fragments.

Innovation Solution

A method for performing a merge operation on a closure of files, which involves identifying a source closure, a target file set, and a previously merged closure, loading them into a merge session, and determining conflicts based on comparisons to ancestor files, ensuring all changes are processed as an atomic unit to maintain synchronization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple developers work on the same data in parallel, then productivity increases, but data consistency deteriorates leading to potential data corruption

Engineering Contradiction:
Improveparallel development efficiencyVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by identifying all files in the closure and their dependencies before the merge operation begins. It loads the source closure, target file set, and ancestor files into a merge session in advance, preparing the complete context needed for conflict detection and resolution before actual merging occurs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary merge session that acts as a mediator between the source closure and target file set. This intermediate structure holds all files in a controlled environment where conflicts can be detected and resolved before final integration, preventing direct corruption of the target data.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If files are merged incrementally, then merge speed increases, but data integrity deteriorates due to synchronization issues between file fragments

Engineering Contradiction:
Improvemerge operation speedVSAvoiddata integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent merges all files from the source closure, target file set, and ancestor files into a single unified merge session simultaneously. This combined approach ensures that all file fragments are processed together as an atomic unit, maintaining synchronization and preventing partial or inconsistent merges that would compromise data integrity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system maintains continuous control over the entire merge process by keeping all files in the merge session throughout the operation. The merge session preserves the complete context and relationships between files from start to finish, ensuring uninterrupted and consistent processing that prevents synchronization issues.

Inventive Principle:
Principle #20Continuity of useful action

3Ease of operation

If conflict detection is performed after merging, then merge simplicity increases, but data corruption risk increases due to undetected conflicts

Engineering Contradiction:
Improvemerge process simplicityVSAvoidconflict detection accuracy
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system performs conflict detection preliminarily during the merge session before finalizing the merge operation. By comparing files in the merge session against ancestor files and identifying conflicts upfront, the system ensures that no conflicts are overlooked while maintaining a streamlined process where conflicts are resolved as part of the normal merge workflow.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10055302B2Performing a closure merge operation
Publication Date: 2018.08.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10055302B2 patent drawing
  • US10055302B2 patent drawing
  • US10055302B2 patent drawing

AI summary

In a method for data management, one or more processors identifying a source closure, a target file set, and a previously merged closure, wherein the source closure is a closure of files that includes changed files to merge into the target file set, and wherein the previously merged closure is a closure of files previously merged into the target file set. The method further includes one or more processors loading the identified source closure, the previously merged closure, and a closure of ancestor files shared by the identified source closure and the previously merged closure into a merge session. The method further includes one or more processors determining one or more file merge conflicts in the merge session based on differences between a comparison of the identified source closure to the closure of ancestor files and a comparison of the previously merged closure to the closure of ancestor files.