Grouped Conflict Resolution API for Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing synchronization systems are unable to effectively resolve conflicts at a later time and lack the capability to view and resolve conflicts at a granularity understandable to users, often grouping related conflicts together for simultaneous resolution.
Innovation Solution
A conflict management API that allows for programmatic enumeration and resolution of conflicts, enabling logging and resolution of detected conflicts at a logical group synchronization level, handling both constraint-based and non-constraint-based conflicts, and providing user-friendly conflict presentation and resolution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If conflicts are resolved at the time of synchronization according to a policy, then automatic conflict resolution is achieved, but users cannot view or resolve conflicts at a later time and cannot resolve conflicts at a granularity they understand
Solution Approach 1:
The system performs preliminary actions by detecting and logging conflicts at the time of synchronization, but does not immediately resolve them. Instead, conflicts are preserved in a log with full metadata, allowing users to review and resolve them later at their convenience and at a granularity they understand, thus combining automated detection with manual resolution capability
Solution Approach 2:
The system segments conflicts into individually loggable units with distinct metadata, allowing users to view and resolve specific conflicts or groups of conflicts separately. This segmentation enables users to understand and resolve conflicts at a fine granularity rather than as a bulk undifferentiated set
2Loss of time
If conflicts are logged for later resolution, then users can resolve conflicts at a later time, but conflicts are not grouped together for simultaneous resolution
Solution Approach 1:
The system merges multiple related conflicts into grouped presentations that can be resolved simultaneously. Conflicts are organized by source, target, and type, allowing users to review and resolve multiple related conflicts in a single operation, thus maintaining the ability to delay resolution while improving efficiency through batch processing
3Loss of information
If synchronization systems provide detailed conflict information, then users can understand conflicts better, but the system complexity increases
Solution Approach 1:
The system introduces an intermediary conflict logging and management layer that captures detailed conflict information including source, target, type, and metadata. This intermediary layer preserves all necessary information while managing the complexity internally, presenting organized conflict data to users without requiring the entire synchronization system to become unnecessarily complex
Data Source
AI summary
Conflicts detected during synchronization of replicas are enumerated and resolved according to a specified policy, comprising conditions and actions or simply a specified action. Specified actions may be drawn from a set of standard actions and custom actions may also be composed. The conflicts are enumerated and resolved in logical groups. A logical group is a collection of one or more item envelopes, each comprising entities, such as items, links, and/or extensions. In an example configuration, both constraint-based conflicts, such as a name collision, and non-constraint-based conflicts are handled via the same application programming interface.


