Server-Based Operational Transformation for Collaborative Editing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Collaborative document editing on mobile devices is challenging due to limited capabilities and lack of access to the latest document versions, as well as the absence of operational transformation rules, which hinder proper change application.

Innovation Solution

A server-based system that determines operational transformation capability of user devices, applies operational transformation rules to changes from devices without these capabilities, and transmits transformed changes, ensuring consistency across all devices, including mobile devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If operational transformation rules are applied server-side for mobile devices, then document consistency is maintained, but server complexity increases

Engineering Contradiction:
Improvedocument consistencyVSAvoidserver complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The server acts as an intermediary that receives raw changes from clients, determines operational transformation capability, applies transformations when needed, and transmits processed changes. This mediator approach centralizes the complexity management while maintaining document consistency across devices with different capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system changes the parameter of transformation application based on device capability detection. When a device lacks operational transformation capability, the server transforms changes; when capability exists, changes are transmitted as-is. This parameter change approach resolves the contradiction by adapting behavior to device characteristics.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If mobile devices without operational transformation capability receive raw changes, then device complexity is reduced, but change application accuracy deteriorates

Engineering Contradiction:
Improvedevice complexityVSAvoidchange application accuracy
Core Design Contradiction:
Device complexityVSManufacturing precision

Solution Approach 1:

The server serves as an intermediary that ensures accurate change application for mobile devices by detecting their lack of operational transformation capability and applying necessary transformations before transmission, thereby maintaining change application accuracy without requiring complex local processing on the device.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system changes the state of changes based on device capability parameters. For devices without operational transformation capability, changes are transformed to match the device's processing capabilities, ensuring accurate application while keeping the device itself simple.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If all devices must have operational transformation capability, then change application precision is improved, but device accessibility deteriorates

Engineering Contradiction:
Improvechange application precisionVSAvoiddevice accessibility
Core Design Contradiction:
Manufacturing precisionVSAdaptability or versatility

Solution Approach 1:

The server provides universal service by handling both devices with and without operational transformation capability through a single unified process. The server detects device capability and adapts its behavior accordingly, allowing any device to access collaborative editing without requiring specific capabilities on the client side.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The server acts as a universal intermediary that bridges the gap between devices with different capabilities. It receives changes from any device, determines the appropriate transformation based on the receiving device's capabilities, and ensures accurate change application, thereby maintaining accessibility for all device types.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10445414B1Systems and methods for collaborative document editing
Publication Date: 2019.10.15 GOOGLE LLC
  • US10445414B1 patent drawing
  • US10445414B1 patent drawing
  • US10445414B1 patent drawing

AI summary

A collaborative development service manages a document that can be shared among multiple users. If multiple users are editing the document, the edits may need to have operational transformation rules applied thereon. The collaborative development service provides operational transformation rules to users of mobile devices that do not have copies of the operational transformation rules stored on their devices. When a change to the document is received by the collaborative development service, it is determined that a first user device has operational transformation capability. In response to determining that the first user device has operational transformation capability, the change is transmitted to the first user. The collaborative development service determines that a second user device does not have operational transformation capability and applies an operational transformation to the change to generate a transformed change. The transformed change is transmitted to the second user device.