Multi-User CAx Conflict Resolution via Segmented File Locking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current CAx software systems are limited to single-user paradigms, where only one user can edit a model or part file at a time, leading to conflicts and inefficiencies in multi-user design environments, particularly with non-geometric inputs like undo and redo commands.
Innovation Solution
A multi-user CAx environment with a conflict resolution module that employs lock-based or first-in-first-out techniques to prevent conflicting edits, creating temporary files to store and analyze edits, and ensuring non-conflicting edits are implemented after completion by the first user, allowing for simultaneous editing while managing access and visualization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single-user paradigm is used in CAx software, then file access conflicts are prevented, but multi-user collaboration efficiency deteriorates
Solution Approach 1:
The patent segments the part file into multiple aspects (geometric and non-geometric), allowing different users to edit different aspects simultaneously. The conflict resolution module divides edit commands into geometric edits and non-geometric edits, processing them through different resolution procedures to enable parallel multi-user work while preventing conflicts.
Solution Approach 2:
The conflict resolution module acts as an intermediary between multiple users and the part file. It receives edit commands from multiple users, resolves conflicts according to predefined procedures (locking or FIFO for geometric edits, undo/redo tracking for non-geometric edits), and implements resolved edits, thereby enabling safe multi-user collaboration.
2Productivity
If multiple users can edit simultaneously, then collaboration efficiency improves, but conflicting edits increase
Solution Approach 1:
The patent implements dynamic conflict resolution strategies that adapt based on the type of edit command. Geometric edits use locking procedures that dynamically grant or revoke edit rights, while non-geometric edits use FIFO procedures that dynamically process commands in order. This dynamic approach allows simultaneous editing while managing conflicts appropriately for each edit type.
Solution Approach 2:
The system changes the state parameters of the part file by creating temporary files to store edits before implementation. This parameter change approach allows the system to track and resolve conflicts by comparing edit states, ensuring that only non-conflicting edits are implemented while maintaining collaboration efficiency.
3Speed
If edit commands are processed immediately, then response speed improves, but data consistency deteriorates
Solution Approach 1:
The system performs preliminary actions by creating temporary files to store edit commands before they are implemented in the actual part file. This preliminary storage allows the conflict resolution module to analyze and resolve conflicts before committing changes, ensuring data consistency while maintaining processing speed through efficient temporary file management.
Solution Approach 2:
The conflict resolution module implements feedback mechanisms by analyzing edits in temporary files, determining conflicts, and deciding whether to implement or reject edits based on resolution procedures. This feedback loop ensures that only consistent edits are applied to the part file, maintaining data stability while allowing rapid processing of edit commands.
Data Source
AI summary
A system for conflict resolution in a multi-user design package includes a host computer having a memory and a processor, wherein the host computer is configured to operate a multi-user CAx environment, and is configured to receive edit commands from a plurality of local computers. A conflict resolution module is configured to be executed by the host computer, and the conflict resolution module is configured to prevent implementation of conflicting edit commands received from the plurality of local computers in the multi-user CAx environment.


