Collaborative Object Editing with Composed Delta Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing real-time collaborative editing platforms face significant processing challenges, particularly with high concurrent user counts and edit rates, due to the complexity of operational transformations required to maintain object consistency.
Innovation Solution
A computer-implemented method involving a first client application that maintains a local version of an electronic object and a local buffer with deltas, receives server deltas, composes them, and transforms the combined delta against local edits to synchronize changes efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If operational transformation protocols are used to maintain object consistency in real-time collaborative editing, then multiple users can simultaneously edit the same electronic object, but the processing overhead increases significantly with high concurrent user counts and edit rates
Solution Approach 1:
The patent segments the object state into multiple independent regions or segments that can be edited independently. Instead of transforming entire object states, the system only transforms and synchronizes the specific segments that have changed, reducing the computational complexity from O(n) to O(1) for each edit operation.
Solution Approach 2:
The system applies local quality by maintaining different data structures and transformation rules for different regions of the object. Frequently edited regions use optimized data structures with constant-time operations, while less frequently edited regions use more compact representations, allowing the system to adapt processing complexity to actual usage patterns.
2Reliability
If traditional operational transformation is used to synchronize edits from multiple users, then object consistency is maintained, but editing operations may block or experience delays under high load
Solution Approach 1:
The system performs preliminary actions by pre-calculating and caching transformation rules for common edit patterns before they are needed. When edits occur, the system retrieves pre-computed transformation logic rather than calculating it in real-time, eliminating blocking delays while ensuring consistency through the pre-validated transformation rules.
Solution Approach 2:
The patent implements continuous synchronization by processing edits asynchronously and applying transformations in a continuous stream rather than batch processing. This allows the system to maintain object consistency while keeping editing operations non-blocking, as each edit is transformed and applied continuously without waiting for other operations to complete.
3Measurement precision
If the system processes and transforms each edit operation individually to maintain consistency, then accuracy of synchronization is preserved, but the processing time increases with the number of concurrent edits
Solution Approach 1:
The system merges multiple adjacent or overlapping edit operations into a single composite transformation when possible. By combining sequential edits on the same object segment into one unified transformation operation, the system maintains the same synchronization accuracy as individual transformations while reducing the total number of processing steps from n to 1 for merged operations.
Data Source
AI summary
Described herein is a computer implemented method for editing an electronic object. The method includes maintaining a local version of the electronic object and a local buffer that includes one or more local deltas. A plurality of server deltas are received from a server system, each server delta being in respect of a remote edit made to the electronic object. The plurality of server deltas are composed to generate a single composed server delta which is then transformed against the one or more local deltas to generate a transformed server delta. The local version of the electronic document is then edited by applying the transformed server delta to the local version of the electronic document.


