Order Management System Concurrent Update Conflict Resolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database management systems face challenges in handling concurrent update requests for the same order, as both pessimistic and optimistic approaches have limitations, such as preventing concurrent edits or resulting in unnecessary rejections, leading to inefficiencies and user frustration.
Innovation Solution
An order management system that acts as an intermediary between users and the database, utilizing a conflict resolution module to determine conflicting and non-conflicting aspects of update requests, allowing for partial updates and notifications to users, enabling efficient and reliable management of concurrent updates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a pessimistic approach is used to handle concurrent updates, then data consistency is maintained, but concurrent update capability is lost and user productivity decreases
Solution Approach 1:
The patent segments the order data into multiple independent aspects or fields (e.g., shipping address, billing address, items, totals). Each aspect can be updated independently by different users without blocking others. The system identifies which specific aspects are conflicting and allows non-conflicting aspects to be updated concurrently, thus maintaining data consistency for conflicting aspects while enabling parallel updates for non-conflicting aspects.
Solution Approach 2:
The patent applies local quality by treating different aspects of the order data with different update permissions. Instead of applying a global lock to the entire order record, the system applies fine-grained control at the aspect level. Each aspect has its own consistency rules and update permissions, allowing users to update non-conflicting aspects simultaneously while maintaining consistency for conflicting aspects through selective locking or conflict detection.
2Productivity
If a purely optimistic approach is used to handle concurrent updates, then concurrent update capability is improved, but data consistency cannot be guaranteed and update rejection increases
Solution Approach 1:
The patent performs preliminary conflict detection by comparing the aspects in the incoming update request with the current state of the order before applying the update. The system identifies which aspects would create conflicts and which could be safely updated. This preliminary analysis allows the system to proceed with non-conflicting updates immediately while handling conflicting aspects through user notification or selective application, thus maintaining consistency without requiring full optimistic rejection.
Solution Approach 2:
The patent applies partial action by updating only the non-conflicting aspects of the order data while leaving conflicting aspects unchanged or subject to user resolution. Instead of rejecting the entire update request when any conflict is detected, the system partially applies the update, accepting the portions that do not conflict and handling only the conflicting portions through notification or selective processing. This approach maintains data consistency for critical aspects while maximizing concurrent update throughput.
3Productivity
If concurrent updates are allowed without conflict detection, then update throughput increases, but user frustration increases due to data loss and inconsistent state
Solution Approach 1:
The patent implements feedback by notifying users of conflicts through structured messages that identify which specific aspects are conflicting and which aspects were successfully updated. The system provides actionable feedback that helps users understand the state of their update and take appropriate actions. This feedback mechanism maintains high throughput by automatically applying non-conflicting updates while keeping users informed about conflicts that require their attention, thus improving ease of operation without sacrificing productivity.
Data Source
AI summary
An order management system in electronic communication with a database may be configured to manage concurrent update requests for the order data stored in the database. In particular, the order management system may be configured to receive two or more order modification requests, determine that the second order modification request includes one or more aspects that conflict with the modified order and includes one or more aspects that do not conflict with the modified order, send a notification to the second user, wherein the notification includes the one or more aspects that conflict with the modified order, and modify the modified order according to the one or more aspects of the second order modification request that do not conflict with the modified order to create a second modified order.


