Document Synchronization via Inverse Transformations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In concurrent document editing, users may apply edits before other users' edits are recognized, leading to asymmetrical versions of the document, causing challenges in maintaining a synchronized state across multiple computing systems.

Innovation Solution

A method involving generating inverse transformations based on asymmetric local edits, determining remote edit locations, and applying remote edits while performing local edits, using a collection of inverse transformations to minimize computational resources and ensure document synchronization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple users edit a document concurrently without synchronization mechanisms, then editing speed and user autonomy are improved, but document consistency and synchronization are worsened

Engineering Contradiction:
Improveediting speedVSAvoiddocument consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by generating inverse transformations of local edits before receiving remote edits. This allows the computing system to pre-process local changes and quickly determine their impact on document locations, enabling fast application of both local and remote edits while maintaining consistency through the transformation framework.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Inverse transformations act as an intermediary mechanism between local and remote edits. Instead of directly comparing and merging potentially conflicting edits, the system uses inverse transformations to indirectly determine the correct application locations of remote edits, mediating the synchronization process and ensuring document consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If the system applies edits immediately without waiting for recognition from other computing systems, then response time is improved, but synchronization accuracy is worsened

Engineering Contradiction:
Improveresponse timeVSAvoidsynchronization accuracy
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The system implements feedback by continuously monitoring the recognition status of local edits by other computing systems. When a local edit is applied, the system tracks whether other systems have recognized it, and uses this feedback information to adjust the application of subsequent remote edits, ensuring synchronization accuracy despite immediate edit application.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary generation of inverse transformations for local edits before knowing whether they will be recognized by other systems. This preliminary action enables immediate application of local edits while the transformation framework is already prepared to handle synchronization with remote edits regardless of recognition status.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the system waits for all edits to be recognized before applying changes, then synchronization accuracy is improved, but productivity is worsened

Engineering Contradiction:
Improvesynchronization accuracyVSAvoidediting throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary generation of inverse transformations for local edits immediately when they are made, without waiting for recognition by other systems. This allows the system to maintain synchronization accuracy through the transformation framework while avoiding delays in applying local edits, thus maintaining high editing throughput.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system serves itself by autonomously determining the correct application locations of remote edits using pre-generated inverse transformations of local edits. This self-service mechanism eliminates the need to wait for explicit recognition from other systems, as the transformation framework independently resolves synchronization issues, maintaining both accuracy and productivity.

Inventive Principle:
Principle #25Self-service

4Reliability

If the system performs complex transformations to handle asymmetric edits, then synchronization accuracy is improved, but computational complexity is worsened

Engineering Contradiction:
Improveedit synchronizationVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the complex synchronization problem into manageable parts by generating inverse transformations for individual local edits separately. Each local edit receives its own inverse transformation, which can be independently applied to determine the correct location for corresponding remote edits. This segmentation reduces computational complexity compared to processing all edits simultaneously as a single complex transformation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of directly transforming remote edits to match local edits or vice versa, the system inverts the approach by generating inverse transformations of local edits. This inversion simplifies the computational process, as applying inverse transformations to determine remote edit locations is more straightforward than performing complex forward transformations to resolve asymmetric edits.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS10095674B2Maintaining state of document concurrently edited by two computing systems by determining locations of edits based on inverse transformations
Publication Date: 2018.10.09 GOOGLE LLC
  • US10095674B2 patent drawing
  • US10095674B2 patent drawing
  • US10095674B2 patent drawing

AI summary

A non-transitory computer-readable storage medium may comprise instructions stored thereon. The instructions, when executed by at least one processor, may be configured to cause the first computing system to at least generate a collection of inverse transformations of an index of the document, the collection of inverse transformations being based on at least one asymmetric local edit to the document by the first computing system, determine a location within the document to perform a remote edit by the second computing system based on the collection of inverse transformations of the index of the document, perform the remote edit to the document at the determined location based on the remote edit by the second computing system, and perform at least one local edit to the document based on the at least one asymmetric local edit to the document by the first computing system.