Synchronizing Text in Tree-Structured Documents
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Collaboration systems face challenges in effectively merging independent changes to tree-structured documents, such as HTML documents, which can result in loss of user changes and other issues due to poor combination of changes made by different users.
Innovation Solution
A method and system for synchronizing text in tree-structured documents by flattening document trees into sequences of atoms, creating new document trees that reflect merged versions of these sequences, and applying patches to ensure consistent content across all trees, utilizing a three-way merge function to combine changes intelligently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional merging methods are used to combine changes from multiple users, then the merging process can be implemented, but user changes are lost and conflicts arise
Solution Approach 1:
The patent segments the document into a tree structure where each node represents a specific portion of content, and changes are tracked at individual node levels. This segmentation allows precise identification of which parts of the document were modified by each user, enabling reliable merging without loss of changes while managing complexity through localized operations.
Solution Approach 2:
The patent introduces a temporal dimension by tracking the version history of each node in the tree structure. Each node maintains information about when changes occurred and by whom, creating a multi-dimensional view of the document history. This enables the system to resolve conflicts by understanding the timeline of changes rather than simply comparing static versions.
2Productivity
If independent changes are made to the same document simultaneously, then user productivity is improved, but conflicts and data loss occur
Solution Approach 1:
The patent performs preliminary actions by establishing a baseline version of the document before accepting changes. Each user's edit is applied to this baseline, and the system pre-processes the changes to identify potential conflicts before final merging. This preliminary preparation allows multiple users to work independently efficiently while preventing information loss through proactive conflict resolution.
Solution Approach 2:
The patent implements feedback mechanisms that continuously monitor the document state and provide real-time information about conflicts and merge status to users. This feedback loop allows users to see when their changes have been applied, when conflicts have been resolved, and what the current state of the document is, maintaining productivity while preventing information loss through transparent communication.
Data Source
AI summary
In one aspect, a method for automatically implementing merging of online changes to a document tree of a web page document includes the step of providing a document tree TO representing a web page document. The method includes the step of providing actors A and B. The method includes the step of detecting that actor A changes a copy of TO to create a new document tree TA. The method includes the step of detecting that actor B makes a different change to another copy of TO to create a new document tree TB. The method includes the step of flattening the document tree TO (resp. TA and TB) to generate a sequence SO (resp. SA and SB) of atoms, wherein each atom of the sequence comprises an individual character of the document tree TO (resp. TA and TB). The method includes the step of synchronizing the content of the three document trees TO, TA, and TB by creating new document trees T′O, T′A, and T′B from them, respectively, so that T′O, T′A, and T′B each flatten to a merged version of the sequences SO, SA, and SB of atoms.


