Causal Graph for Convergent Document Collaboration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional collaborative document editing methods often lead to conflicts due to lack of synchronization among users, resulting in the need for manual resolution of edit conflicts, which can be time-consuming and error-prone.
Innovation Solution
A system and method utilizing a causal graph data structure to track and store changes made in documents, allowing multiple users to collaborate by representing document changes as a sequence of editing instructions, where each instruction has a unique identifier and a reference to its parent, ensuring convergence of changes across all user sites.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple users edit a document simultaneously using conventional collaborative approaches, then collaboration capability is improved, but edit conflicts increase requiring manual resolution
Solution Approach 1:
The patent segments the document editing process into discrete, trackable changes represented as nodes in a causal graph. Each editing instruction is broken down into individual change events that can be independently tracked, ordered, and merged, allowing simultaneous edits from multiple users to be systematically reconciled without conflict
Solution Approach 2:
The patent introduces a causal graph data structure as an intermediary layer between users and the document. This causal graph acts as a mediator that receives editing instructions from multiple users, processes them through causal ordering, and produces a unified document state, eliminating direct conflicts between concurrent edits
2Ease of operation
If conventional document collaboration methods are used, then user access flexibility is improved, but time consumption for conflict resolution increases
Solution Approach 1:
The patent performs preliminary ordering of editing instructions by establishing causal relationships between changes before conflicts arise. By pre-ordering edits based on their causal dependencies in the causal graph, the system eliminates the need for time-consuming conflict resolution later, as edits are already arranged in a conflict-free sequence
Solution Approach 2:
The patent replaces the manual mechanical process of conflict resolution with an automated computational system. The causal graph data structure and its associated algorithms automatically process, order, and merge concurrent edits without human intervention, substituting manual conflict resolution with automated causal reasoning
3Adaptability or versatility
If manual conflict resolution is required, then collaboration flexibility is maintained, but error rate in document merging increases
Solution Approach 1:
The patent implements feedback through the causal graph structure, where each editing instruction references its parent node and maintains causal relationships. This feedback mechanism ensures that edits are consistently ordered and applied in the correct sequence, preventing merging errors and ensuring document integrity across multiple users
Solution Approach 2:
The patent changes the fundamental parameters of document collaboration by representing edits as structured data objects with explicit causal relationships rather than simple text changes. Each editing instruction includes metadata about its parent, order, and causal dependencies, transforming the collaboration process from error-prone manual merging to precise automated reconciliation
Data Source
AI summary
In various implementations, a computing device: displays the document outline on the user interface; maintains, in a non-transitory computer-readable medium, a causal graph data structure representing the document outline, wherein the causal graph data structure includes a plurality of structure nodes, each structure node representing a level of the document outline; receives, via the user interface, an insertion of a new level to the document outline; in response to the insertion, defines a structure node that represents the inserted level; inserts a transition node in the causal graph data structure, wherein the transition node represents a relationship between the structure node and at least one other node of the causal graph data structure; inserts the structure node into the causal graph data structure as a child of the transition node; and updating the user interface to display the inserted level.


