Stern-Brocot Forest for Concurrent Document Editing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Concurrent editing systems face challenges in managing complex documents like vector graphics, where traditional fractional indexing systems incur high resource costs, precision issues, and network load due to the need for explicit index generation and storage for every anchor point, leading to slow document open times and increased memory consumption.
Innovation Solution
The use of a Stern-Brocot Forest representation, which includes a two-tiered data structure with a logical tier for the initial state and a physical tier for changes, allowing implicit indexing of Bezier paths and efficient propagation of changes across clients, reducing network costs and memory footprint.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional fractional indexing systems are used for concurrent editing of complex documents, then document editing capability is provided, but resource costs (memory consumption and network load) increase significantly
Solution Approach 1:
The patent extracts only the necessary index information from the document structure and stores it externally in a fractional indexing system, rather than maintaining complete indexing data in memory. This allows the system to provide full concurrent editing capability while significantly reducing in-memory resource consumption by storing index data on disk or in external storage.
Solution Approach 2:
The patent introduces a fractional indexing system as an intermediary layer between the document data and the concurrent editing operations. This mediator handles index generation, storage, and retrieval, allowing multiple users to edit simultaneously without directly competing for memory resources, thus reducing overall memory consumption while maintaining editing capability.
2Adaptability or versatility
If traditional fractional indexing systems are used for concurrent editing of complex documents, then document editing capability is provided, but network load increases due to explicit index generation and storage
Solution Approach 1:
The patent implements local fractional indexing where each client device generates and maintains its own local index for the document portions it accesses, rather than requiring all clients to exchange and synchronize complete index data. This localizes the indexing functionality, reducing network traffic while preserving concurrent editing capability for multiple users.
3Measurement precision
If explicit index generation and storage is performed for every anchor point, then editing precision is maintained, but document open times increase
Solution Approach 1:
The patent generates fractional indices in advance during document loading and stores them in an external indexing system, so that when users need to edit, the indices are already prepared and available. This preliminary generation of index data maintains editing precision while reducing document open times, as the system doesn't need to compute indices on-demand during user interactions.
Data Source
AI summary
Embodiments are disclosed for managing co-editing management. A method of co-editing management includes detecting a modification operation to be performed on a sequential data structure being edited by one or more client devices, determining a segment of the sequential data structure associated with the modification operation based on a logical index associated with the modification operation, generating a tree structure associated with the segment, a root node of the tree structure corresponding to the modification operation, determining a global index for the root node of the tree structure, and sending an update corresponding to the modification operation, including the root node and the global index, to a co-editing server to be distributed to the one or more client devices.


