Asynchronous Database Conflict Resolution via Shadow Copies
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database systems face challenges in managing conflicts when multiple client databases concurrently modify data, with existing solutions either ignoring later requests or requiring schema changes that impair performance.
Innovation Solution
A system and method for resolving conflicts in an asynchronous database system by receiving data change requests, comparing row identification information and before images, and transmitting refresh messages to ensure data consistency across client databases without altering the database schema.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If time stamps are used to resolve collisions by identifying the first request, then collision resolution is achieved, but later colliding requests are ignored and portions of rows cannot be changed by separate requests
Solution Approach 1:
The patent segments the row into individual columns or fields, allowing different clients to modify different portions of the row independently. Each client database maintains a shadow database with column-level version information, enabling selective updates without requiring the entire row to be locked or treated as a single atomic unit.
Solution Approach 2:
The system dynamically determines which columns are modified by comparing before-images and after-images of data rows. The version information is updated selectively only for columns that actually changed, allowing flexible conflict resolution that adapts to different modification scenarios rather than applying a rigid timestamp-based approach.
2Reliability
If time stamps are used for collision resolution, then conflicts are managed, but an undesirable number of messages must be transmitted between master and client databases
Solution Approach 1:
Client databases maintain shadow databases that continuously store before-images of data rows locally. When a modification is received, the system immediately compares the before-image with the after-image to identify changes, eliminating the need for extensive message exchanges to verify conflicts or synchronize data.
Solution Approach 2:
Each client database independently manages its own shadow database and conflict detection using locally stored before-images. The client databases perform self-verification of conflicts without requiring constant communication with the master database, reducing overall message transmission overhead while maintaining reliable conflict resolution.
3Reliability
If database schema is changed to add unique identifiers to avoid collisions, then collisions are avoided entirely, but database performance and efficiency are impaired
Solution Approach 1:
Instead of modifying the original database schema, the patent creates shadow copies (shadow databases) at each client database that replicate the necessary version information. These shadow databases store before-images of rows, allowing conflict detection without altering the master database schema or adding unique identifiers to the actual data storage structure.
Solution Approach 2:
The shadow database acts as an intermediary layer between the client databases and the master database. It provides the necessary version tracking and conflict detection functionality without requiring changes to the core database schema, thereby avoiding the performance impairment that would result from adding unique identifiers to every row.
Data Source
AI summary
Pursuant to some embodiments, a system, method, apparatus, means and computer program code for resolving conflicts in a database system are provided where the system includes a plurality of client databases and a master database, each client database having a subset of data from the master database. Pursuant to some embodiments, conflicts are resolved by receiving a data change request message from a requesting client database, the data change request message including change information identifying a proposed change, row identification information, and a before image, and comparing the row identification information and the before image to corresponding information in the master database to identify a potential conflict.


