File Consistency via Version Vector Conflict Resolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing file synchronization technologies face challenges in maintaining consistency across different versions of a file, particularly when users collaborate in real-time, as hash comparisons may not accurately reflect content equivalence, leading to data loss and false conflicts.
Innovation Solution
A collaboration service manages file consistency by utilizing version vector data to determine synchronization between different versions of a file, ensuring that the most recent version is surfaced for users, and automatically resolving conflicts through conflict detection and resolution mechanisms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If hash comparison is used to determine file synchronization, then synchronization status can be quickly determined, but false conflicts occur when different versions have the same content but different hashes
Solution Approach 1:
The patent introduces version vector data as an intermediary mechanism between hash comparison and conflict detection. The version vector contains version numbers for each service, acting as a mediator that provides additional context about file provenance. When hash comparison shows a mismatch, the version vector data helps determine whether the mismatch represents a true conflict or a false positive, thereby resolving the contradiction between quick synchronization detection and data consistency reliability
Solution Approach 2:
The patent changes the parameters used for conflict detection by incorporating version vector data with service-specific version numbers alongside hash values. This multi-parameter approach allows the system to distinguish between genuine conflicts (different content) and false conflicts (same content, different service versions), improving both detection accuracy and data consistency without sacrificing speed
2Reliability
If version vector data evaluation is performed to resolve false conflicts, then data consistency is improved, but additional processing time and complexity are required
Solution Approach 1:
The patent implements preliminary action by maintaining version vector data that is continuously updated in the background as files are synchronized across services. This version metadata is prepared in advance and stored alongside hash values, so when conflict detection is needed, the system can immediately evaluate the pre-computed version vector data without adding complex real-time processing, thus improving data consistency while minimizing additional complexity
Solution Approach 2:
The system uses feedback from version vector evaluation to refine conflict detection. When the version vector data indicates that hash mismatches are due to different service versions rather than actual content differences, the system learns to recognize this pattern and adjust its conflict detection logic, reducing the need for complex processing in future cases while maintaining data consistency
3Reliability
If multiple version checks are performed across different services, then file consistency is ensured, but synchronization overhead increases
Solution Approach 1:
The patent applies local quality by having each service maintain its own local version number in the version vector, rather than requiring centralized coordination for every check. Each service can independently evaluate its local version against the version vector data it receives, enabling parallel and distributed verification that ensures file consistency across services while minimizing synchronization overhead through localized decision-making
Data Source
Figure 1A
Figure 1B
Figure 2A
AI summary
Method and systen for performing processing operations that achieve file consistency in the presence of a large-scale collaboration service. A mismatch may be determined between hash values associated with two or more versions of a file that is associated with a tenant of a productivity service. Version vector data for different versions of the file may be evaluated. Version vector data may comprise: a session value indicating a session of the productivity service and a version value that indicates a number of changes made by the tenant during the session. A synchronization determination is generated based on an evaluation of the version vector data for the different versions of the file.