Realtime Collaborative Document Editing with Segmented Change Events
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing collaborative text editing systems face challenges in providing real-time synchronization of document edits across multiple users, leading to delays and inconsistencies in updating text documents across client systems.
Innovation Solution
A system comprising a host computing system and client computing systems that utilize client and host codes to manage changesets, where edits are transmitted and updated in real-time, with each client system maintaining a local version of the document and synchronizing with the host system to ensure all users see changes instantly, using a method that involves defining revision records and sending updates within 500 ms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If edits are transmitted frequently to ensure real-time synchronization, then synchronization speed is improved, but network bandwidth consumption increases
Solution Approach 1:
The patent segments document edits into discrete change events that are transmitted individually rather than continuously. Each edit is packaged as a separate transmission unit, allowing the system to send updates only when changes occur rather than maintaining constant communication, thus reducing bandwidth consumption while preserving real-time synchronization capability.
Solution Approach 2:
The system implements periodic transmission of edits at strategically determined intervals. Instead of continuous transmission, edits are sent periodically based on when changes occur and when synchronization is needed, optimizing the balance between synchronization speed and bandwidth efficiency.
2Reliability
If multiple versions of the document are maintained to preserve user intent, then document integrity is improved, but system complexity increases
Solution Approach 1:
The patent segments the document into discrete versions with unique identifiers, where each version represents a specific state of the document. This segmentation allows the system to maintain multiple versions without managing them as a monolithic structure, reducing the complexity of version management while preserving document integrity through clear version boundaries.
Solution Approach 2:
The system creates copies of the document at each version point, storing them with unique identifiers. This copying approach allows multiple versions to coexist without requiring complex merging or reconciliation mechanisms, as each version is an independent copy that can be retrieved and displayed as needed.
3Ease of operation
If edits are transmitted within 500ms to ensure real-time viewing, then user experience is improved, but network latency tolerance requirements increase
Solution Approach 1:
The system performs preliminary actions by buffering edits locally at the client before transmission. This allows the client to prepare and queue edits immediately upon receipt, then transmit them as soon as network conditions permit, ensuring that even if network latency varies, the user experiences real-time updates within the 500ms target window.
Solution Approach 2:
The patent implements feedback mechanisms where the server acknowledges received edits and confirms synchronization status to clients. This feedback loop allows the system to monitor network performance and adjust transmission timing dynamically, ensuring that edits are delivered within the 500ms window while accommodating varying network latency conditions.
Data Source
AI summary
Collaborative editing of electronic documents in realtime is provided. A host serves a client code over a network to a plurality of clients that each employ a browser to run the client code. The client code revises the text document locally in response to user input, frequently sends those edits to the host, receives updates from the other clients via the host, and revises the local text document accordingly. Each client, in some embodiments, stores three variables, one for edits not yet reported to the host, one for edits reported by not yet acknowledged, and one for the text document as modified by the acknowledged edits. Updates from the other clients are applied to the three variables according to certain rules. A composition of the three variables yields a version of the text document. The host keeps records of which edits were introduced by which client.


