History-Based Data Synchronization Conflict Resolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current synchronization systems face challenges in resolving conflicts between multiple devices carrying data sets, particularly when changes occur on multiple devices simultaneously, leading to uncertainty about the correct data version, especially in peer-to-peer systems where timestamp alone cannot verify the correctness of data changes.
Innovation Solution
The use of history information, such as generation counts and detailed historical data, is employed to track changes and determine the ancestry of data items, allowing for accurate conflict resolution by synchronizing history information across devices to establish the priority of data items during synchronization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If timestamp-based conflict resolution is used in peer-to-peer synchronization systems, then the synchronization process is simple and fast, but the system cannot reliably determine the correctness of data changes when multiple devices modify data simultaneously
Solution Approach 1:
The system performs preliminary actions by maintaining detailed history information including generation counts and ancestry data before conflicts occur. Each device tracks the complete evolution of its data items, recording which items were added, modified, or deleted and in what order. This preliminary tracking of data lineage enables reliable conflict resolution without requiring complex real-time analysis when conflicts are detected
Solution Approach 2:
The patent introduces history information as an intermediary between the conflicting data items. This intermediary layer contains generation counts, ancestry relationships, and change logs that mediate the conflict resolution process. Instead of directly comparing conflicting data items using only timestamps, the system uses this intermediary history data to determine which item should prevail, thereby resolving the contradiction between simple comparison and reliable resolution
2Reliability
If detailed history information is tracked for every data item to enable accurate conflict resolution, then conflict resolution reliability improves, but the system complexity and storage requirements increase
Solution Approach 1:
The system applies local quality by maintaining detailed history information only where necessary - specifically in the history tables associated with each data item or group of related items. Rather than uniformly tracking all possible history data across the entire system, the patent selectively maintains generation counts, ancestry links, and change logs only for items that may be subject to conflicts. This localized approach reduces overall system complexity while preserving reliability where needed
Solution Approach 2:
The patent implements discarding and recovering by selectively retaining and discarding history information based on synchronization state. History data is maintained during active synchronization cycles to enable conflict resolution, then discarded or archived after resolution to reduce memory footprint. The system recovers only the essential history elements needed for the current synchronization task rather than permanently storing all historical data, thereby managing complexity while maintaining reliability
3Reliability
If comprehensive history information is synchronized across all devices, then accurate conflict detection is achieved, but the synchronization bandwidth and time requirements increase
Solution Approach 1:
The system extracts only the essential history elements needed for conflict detection and resolution, rather than synchronizing complete historical records. Specifically, it extracts generation counts, ancestry relationship identifiers, and change type indicators from the full history data. This extraction approach enables accurate conflict detection by providing sufficient information to identify conflicts and determine resolution, while minimizing the amount of data that must be transmitted and processed during synchronization
Solution Approach 2:
The patent applies partial action by synchronizing history information selectively rather than completely. It synchronizes only the portions of history data that are necessary for the current synchronization context - such as history for items that have changed since the last synchronization or items that are likely to conflict. This partial synchronization approach achieves sufficient conflict detection accuracy without the overhead of transferring and processing all historical data, thereby reducing synchronization time while maintaining reliability
Data Source
AI summary
A system for synchronization whereby metadata repository maintains information regarding the history and status of data items in a data repository. Data items are associated with states and such states changes (e.g. increment) in response to changes to the data items. History statements associated with the same states describe the changes in a generic enough fashion that multiple data items may be associated with a single state (e.g. if multiple data items share a common history such as that they were all edited by a user on the same device). The history repository is synchronized with other history repositories so as to reflect the states of data items on multiple devices. The synchronized history stores are used during synchronization to identify and resolve data conflicts through ancestry of data item history.


