Grouped Conflict Resolution API for Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveautomatic conflict resolutionVSAvoiduser ability to view and resolve conflicts
Core Design Contradiction:
Extent of automationVSEase of operation

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvedelayed conflict resolutionVSAvoidefficiency of conflict resolution
Core Design Contradiction:
Loss of timeVSProductivity

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

Inventive Principle:
Principle #5Merging (Combining)

3Loss of information

If synchronization systems provide detailed conflict information, then users can understand conflicts better, but the system complexity increases

Engineering Contradiction:
Improveconflict information preservationVSAvoidsynchronization system complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

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

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7805408B2Unified mechanism for presenting and resolving grouped synchronization conflicts
Publication Date: 2010.09.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7805408B2 patent drawing
  • US7805408B2 patent drawing
  • US7805408B2 patent drawing

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.