Synchronizing Text in Tree-Structured Documents

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvepreservation of user changesVSAvoidmerging process complexity
Core Design Contradiction:
ReliabilityVSEase of manufacture

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If independent changes are made to the same document simultaneously, then user productivity is improved, but conflicts and data loss occur

Engineering Contradiction:
Improveuser editing efficiencyVSAvoidloss of user changes
Core Design Contradiction:
ProductivityVSLoss of information

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20240086621A1Methods and systems to synchronize text in tree-structured documents
Publication Date: 2024.03.14 JERDONEK CHRISTOPHER J
  • US20240086621A1 patent drawing
  • US20240086621A1 patent drawing
  • US20240086621A1 patent drawing

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.