Server-Based Operational Transformation for Collaborative Editing
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Reliability
If operational transformation rules are applied server-side for mobile devices, then document consistency is maintained, but server complexity increases
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.
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.
2Device complexity
If mobile devices without operational transformation capability receive raw changes, then device complexity is reduced, but change application accuracy deteriorates
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.
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.
3Manufacturing precision
If all devices must have operational transformation capability, then change application precision is improved, but device accessibility deteriorates
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.
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.
Data Source
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.


