Database Conflict Resolution via Private-Public Version Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database systems lack mechanisms to detect and resolve conflicts when multiple users simultaneously modify the same database file, often resulting in overwriting previous changes without notification or user awareness.
Innovation Solution
A system that detects conflicts between versions of a database file by notifying users and providing options to resolve them, allowing users to select values from the private or public versions, or suggest intermediate values, while preventing overwriting of earlier data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the database locks a table or rows to prevent concurrent modifications, then data integrity is maintained, but user productivity decreases due to locked-out access
Solution Approach 1:
The patent segments the database table into private and public versions, allowing users to work on private copies while the public version remains accessible to others. This eliminates the need for complete table locking while maintaining data integrity through selective merging of changes.
Solution Approach 2:
The patent introduces an intermediary merging mechanism that automatically reconciles changes between private and public versions. This mediator resolves conflicts without requiring users to wait for locks, enabling concurrent access while maintaining data consistency.
2Productivity
If the database allows parallel updates without locks, then user productivity improves, but conflicts occur and data integrity deteriorates
Solution Approach 1:
By dividing the database into private and public versions, the system enables multiple users to work simultaneously on private copies without interfering with each other, while the public version maintains consistency through controlled merging operations.
Solution Approach 2:
The patent implements feedback mechanisms that detect conflicts during the merge process and notify users. This allows the system to maintain high concurrent access while preserving data integrity by identifying and resolving conflicts through user input or automatic resolution.
3Reliability
If the database overwrites previous changes during conflicts, then data consistency is maintained, but information loss occurs and user trust decreases
Solution Approach 1:
The patent provides feedback to users about conflicting changes through notifications and visual indicators. This transparent feedback mechanism allows users to understand what changes occurred and make informed decisions about how to resolve conflicts, preventing accidental data loss and maintaining user trust.
Solution Approach 2:
The merging mechanism acts as an intermediary that carefully reconciles changes between private and public versions. Rather than automatically overwriting, the mediator presents conflicts to users and facilitates informed resolution, preserving all valid data changes.
4Device complexity
If the database provides no conflict resolution mechanism, then system complexity is reduced, but user awareness of conflicts is lost and manual resolution becomes difficult
Solution Approach 1:
The patent uses visual indicators such as color-coded cells or highlighted rows to indicate conflicts between private and public versions. This visual feedback makes conflicts immediately recognizable to users without requiring complex conflict detection interfaces, simplifying the resolution process.
Solution Approach 2:
By maintaining copies of both private and public versions, the patent enables users to review and compare changes side-by-side. This copying mechanism provides clear visibility into conflicts without adding complex resolution logic, as users can manually compare and select desired outcomes from the copied data.
Data Source
AI summary
Provided are systems and methods for resolving conflicts between different versions of a database file. In one example, the method may include one or more of receiving, at a database, a request to publish a modified version of a database file modified by a user having privileges to update the database file, detecting, during a merge operation, a conflict between one or more data values included in the unpublished modified version of the database file and one or more corresponding data values in an intervening version of the database file published by another user that also has privileges to update the database file, and outputting a user interface displaying an identification of the one or more conflicting data values and one or more selections for resolving the one or more conflicting data values.


