Collaborative Undo via Operation History and State Reconstruction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current collaborative software applications struggle to implement undo operations effectively due to the absence of Inverse Property 2, which complicates the transformation of operations across multiple users and systems, leading to inconsistencies in document states.
Innovation Solution
A method and system that employ operational transformation algorithms to manage undo and redo operations by maintaining a history of operations, condensing server operations, and applying transformations to ensure consistency across users, even in cases where Inverse Property 2 does not hold true, allowing for the proper execution of undo and redo operations.
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 capability is improved, but undo operations cannot be properly executed when Inverse Property 2 does not hold
Solution Approach 1:
The system performs preliminary actions by maintaining a complete history of all operations (including server operations) before undo operations are needed. This history is stored with sufficient detail to reconstruct previous states, enabling reliable undo operations even when Inverse Property 2 does not hold for the transformation algorithms.
Solution Approach 2:
The patent introduces an intermediary mechanism (the operation history and state reconstruction system) that mediates between the operational transformation algorithms and the undo operation requirements. This intermediary preserves the necessary information to perform undos without being constrained by the limitations of the transformation properties.
2Stability of the object's composition
If Inverse Property 2 is required for operational transformation, then transformation consistency is improved, but many software functions cannot support collaborative undo operations
Solution Approach 1:
The patent segments the undo operation into two independent parts: (1) retrieving the original operation from the operation history, and (2) reconstructing the state before the operation. This segmentation allows the system to support undo for any function without requiring Inverse Property 2, as long as the operation and its parameters are recorded.
Solution Approach 2:
The system changes the approach from relying on algebraic properties (Inverse Property 2) to relying on parameter recording and state reconstruction. By recording operation parameters and reconstructing states, the system achieves undo capability for a broader range of functions without being constrained by transformation property requirements.
3Speed
If server operations are detailed and distributed to users, then real-time synchronization is improved, but undo operations become complex due to the absence of Inverse Property 2
Solution Approach 1:
The patent merges user operations and server operations into a single unified operation history. By treating all operations uniformly and recording them with their parameters and timestamps, the system simplifies the undo mechanism despite the presence of multiple operation sources, reducing complexity while maintaining real-time synchronization.
Data Source
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).


