Undo Reference Invalidation in Collaborative CAx Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing CAx systems are not well-suited for collaborative design and editing, leading to data loss or corruption due to editing conflicts in synchronous collaborative applications, where undoing operations can result in syntactic or semantic conflicts as users may unknowingly perform operations on shared design models simultaneously.
Innovation Solution
A computer-implemented method that stores a shared model of an engineering object on a CAx client, receives operations from users, and before performing them, stores information to restore the feature to its previous state, determines if reversing an operation would create an invalid reference due to conflicting operations on other clients, and either reverses the operation or performs a resolution operation to prevent reference invalidation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a single-user CAx system permits undoing and redoing operations with one command history, then the ease of operation is improved, but the reliability deteriorates in collaborative environments where multiple users perform operations simultaneously
Solution Approach 1:
The patent segments the command history into user-specific command stacks, where each user maintains their own separate command history. This allows each user to have their own undo/redo operations without interfering with other users' operations, resolving the conflict between ease of operation and reliability in collaborative environments
Solution Approach 2:
The patent introduces a server as an intermediary that manages and coordinates command histories across multiple clients. The server mediates between users by tracking operations and preventing conflicts, allowing individual users to enjoy simple undo operations while maintaining overall data integrity through centralized coordination
2Productivity
If users perform operations on shared design models simultaneously without coordination, then the productivity is improved, but the loss of information increases due to editing conflicts and data corruption
Solution Approach 1:
The patent implements a feedback mechanism where the system continuously monitors operations across all users and provides real-time information about potential conflicts. When a user attempts an operation that would create a conflict, the system notifies them and can automatically adjust the operation, allowing high-speed collaboration while preventing information loss through continuous feedback loops
Solution Approach 2:
The patent performs preliminary actions by pre-coordinating operations before they are executed. The system checks for potential conflicts before allowing operations to proceed and resolves them in advance, enabling users to work simultaneously at high speed without risking data corruption from uncoordinated edits
3Ease of repair
If a user executes an undo command to reverse their last operation, then the ease of repair is improved, but the object-affected harmful factors increase due to syntactic or semantic conflicts with other users' operations
Solution Approach 1:
The patent applies preliminary anti-action by detecting potential syntactic and semantic conflicts before they occur during undo operations. The system analyzes the intended undo operation against the current state of the model and other users' operations, and preemptively prevents or adjusts the undo to avoid creating harmful conflicts, thus maintaining ease of repair while eliminating harmful effects
Data Source
AI summary
A computer-implemented method for preventing reference invalidation when reversing operations in synchronous collaborative applications may include (i) storing, on a client, a shared model of an engineering object including one or more features, (ii) receiving, from a user, an operation to be performed on the feature, (iii) before performing the operation, storing, in a command stack on the client, information sufficient to restore the feature to a state prior to performing the operation, (iv) receiving, from the user, a request to reverse the operation, (v) determining whether reversing the operation will create an invalid reference due to a conflicting operation having been performed on the feature at a second client, and (vi) in response to determining whether reversing the operation will create an invalid reference, reversing the operation or performing a resolution operation to prevent the reference invalidation. A system corresponding to the above method is also disclosed.


