Undo Operations in Collaborative Software via Server Mediators

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvereal-time collaborative application capabilityVSAvoidundo operation support
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improveconsistency across multiple usersVSAvoidcomputational cost of undo operations
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvecollaborative interaction capabilityVSAvoidcomplexity of computing undo requests
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP3230893B1Method and system for concurrent collaborative undo operations in computer application software
Publication Date: 2019.03.06 LIVELOOP INC
  • EP3230893B1 patent drawingFigure 1
  • EP3230893B1 patent drawingFigure 2
  • EP3230893B1 patent drawingFigure 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).