Undo Operations in Collaborative Software via Server Mediators
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current collaborative software applications face challenges in supporting undo operations due to the absence of the Inverse Property 2, which complicates the transformation of user interactions and maintaining consistency across multiple users editing a shared document.
Innovation Solution
The system employs operational transformation algorithms, including inclusion transforms and server operations to handle undo and redo operations, ensuring consistency by condensing server operations into single composite operations and maintaining histories of user and server actions, even when Inverse Property 2 does not hold true.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If operational transformation algorithms are used to synchronize changes from multiple users, then real-time collaborative application capability is improved, but the ability to support undo operations deteriorates when Inverse Property 2 does not hold
Solution Approach 1:
The patent introduces server operations as an intermediary layer between user actions and document state changes. These server operations act as mediators that can be transformed and composed to reconstruct the effects of user actions, enabling undo operations even when the original user actions do not satisfy Inverse Property 2. The server operations serve as a transformable representation that bridges the gap between collaborative editing requirements and undo functionality.
Solution Approach 2:
The patent transforms the representation of user actions by converting them into server operations with specific parameters that can be manipulated algebraically. By changing the parameterization of operations from direct user actions to transformable server operations, the system enables mathematical composition and inversion of operation sequences, which is essential for implementing reliable undo operations in collaborative environments.
2Stability of the object's composition
If transformation-based methods are used to combine effects of concurrently issued user commands, then consistency across multiple users is improved, but the computational cost increases with the number of requests other users have issued
Solution Approach 1:
The patent merges multiple server operations into composite operations that represent the combined effect of several user actions. By consolidating sequences of operations into single composite operations, the system reduces the number of individual transformations needed during undo operations. This merging strategy maintains consistency while significantly reducing computational cost, as undoing a composite operation requires fewer transformation steps than undoing each individual operation separately.
Solution Approach 2:
The patent performs preliminary composition of server operations during the collaborative editing process, building composite operations that encapsulate multiple user actions. This preliminary action prepares the operation sequences in advance, so that when undo operations are needed, the system can work with pre-composed operations rather than transforming individual operations in real-time, thereby reducing computational overhead.
3Adaptability or versatility
If mirror and folding operators are introduced to build a consistent multidimensional model, then collaborative interaction capability is improved, but the complexity of computing undo requests increases due to the number of transformation operations required
Solution Approach 1:
The patent extracts the essential transformation logic from complex mirror and folding operators and encapsulates it within server operations. By separating the transformation complexity into dedicated server operation definitions, the system maintains the powerful collaborative interaction capabilities while simplifying the computation of undo requests. The extraction principle allows the system to work with higher-level abstractions that hide the underlying transformation complexity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Multi-user real-time collaborative software applications may synchronize data between multiple users or multiple devices. Current aspects describe a method and system for enabling undo operations in collaborative software applications where not all possible actions adhere to the operational transformation properties. Certain aspects herein operate in the absence of the so-called Inverse Property 2 (IP2).