Automatic Conflict Resolution via Rule Decomposition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conflicts arise during data synchronization between devices due to changes made to the same data objects on different devices between synchronization sessions, requiring effective conflict resolution mechanisms.

Innovation Solution

A conflict resolution policy is implemented using a generated algorithm that decomposes rules into pre-actions, conditions, and actions, allowing for automatic resolution by executing the algorithm during synchronization, with the ability to be stored in an executable file or externally for customization and extensibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual conflict resolution is used, then accuracy of resolution is improved, but productivity and ease of operation deteriorate due to requiring user intervention

Engineering Contradiction:
Improveaccuracy of conflict resolutionVSAvoidsynchronization speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system enables automatic conflict resolution by allowing the synchronization software to autonomously detect, analyze, and resolve conflicts between data objects on different devices without requiring user intervention. The software applies predefined conflict resolution rules and algorithms to automatically determine which version of conflicting data to keep or merge, thereby maintaining productivity while ensuring accurate resolution through systematic rule-based processing.

Inventive Principle:
Principle #25Self-service

2Productivity

If automatic conflict resolution is used, then productivity is improved, but adaptability deteriorates due to rigid rule-based processing

Engineering Contradiction:
Improvesynchronization speedVSAvoidflexibility in handling diverse conflict scenarios
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system enhances adaptability by implementing dynamic conflict resolution rules that can be configured and modified based on different data types, user preferences, and conflict scenarios. The synchronization software allows users to define custom resolution strategies for different situations (e.g., keep latest version, keep oldest version, merge conflicts, or prompt user for specific conflict types), enabling the automatic system to adapt flexibly to diverse synchronization needs while maintaining high productivity.

Inventive Principle:
Principle #15Dynamics

3Reliability

If complex conflict resolution algorithms are implemented, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improveconsistency of data synchronizationVSAvoidcomplexity of synchronization software
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system manages complexity by segmenting the conflict resolution process into distinct modular components: conflict detection module, conflict analysis module, rule-based resolution module, and user preference configuration module. Each module handles a specific aspect of conflict resolution independently, allowing the software to maintain high reliability through systematic processing while keeping the overall system manageable through clear separation of concerns and modular architecture.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10592496B2Automatic conflict resolution
Publication Date: 2020.03.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10592496B2 patent drawing
  • US10592496B2 patent drawing
  • US10592496B2 patent drawing

AI summary

A method and apparatus is for implementing a conflict resolution policy. The method includes providing a rule set that includes a plurality of rules that define the conflict resolution policy. An algorithm is generated by decomposing each rule in the rule set into at least one pre-action that is to be performed on data in identified fields in first and second conflicting objects, at least one condition that is to be applied to the first and second conflicting objects, and at least one action that is to be performed on the identified fields in the first and second conflicting objects if the at least one condition is satisfied. The algorithm is loaded from a configuration file for execution during a synchronization component runtime using first and second conflicting objects provided by the synchronization component.