Hierarchical Edit Script Generation for Concurrent Data Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data synchronization systems face challenges in maintaining data consistency and efficiency when multiple users concurrently edit the same dataset in real-time, particularly in transforming edit scripts to account for different states of the dataset.

Innovation Solution

The system generates a hierarchical edit script using a difference algorithm that identifies move operations, which are then transformed and merged to create a simplified edit script, allowing for efficient application across various systems and minimizing transformation overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a traditional data synchronization system is used to handle concurrent edits from multiple users, then real-time collaboration is enabled, but data consistency and transformation overhead deteriorate due to the complexity of transforming edit scripts to account for different dataset states

Engineering Contradiction:
Improvedata consistencyVSAvoidtransformation overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The edit script is segmented into hierarchical operations (insert, delete, retain, update) that can be independently processed and transformed. This segmentation allows the synchronization system to handle individual operations rather than transforming entire datasets, reducing transformation overhead while maintaining data consistency through operation-level precision

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary representation layer (the hierarchical edit script format) that mediates between different user edits and the underlying dataset. This intermediary structure standardizes edit operations, enabling consistent transformation and merging of concurrent edits without direct complex interactions between different user's raw edits

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If edit scripts are transformed to account for different dataset states in concurrent editing, then data consistency is maintained, but the size and processing time of edit scripts increase

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent changes the parameters of edit script representation by using a hierarchical structure with standardized operation types (insert, delete, retain, update) instead of traditional diff formats. This parameter change enables more efficient processing and transformation of edit scripts while maintaining data consistency, as the hierarchical structure allows for selective application and merging of operations

Inventive Principle:
Principle #35Parameter changes

3Productivity

If a simplified edit script is generated to reduce size and processing overhead, then efficiency is improved, but the ability to accurately represent complex concurrent edits deteriorates

Engineering Contradiction:
Improvesynchronization efficiencyVSAvoidsemantic information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The edit script uses a nested hierarchical structure where operations can contain sub-operations, allowing complex concurrent edits to be represented within a compact framework. This nesting enables the edit script to maintain detailed semantic information about individual operations while presenting a simplified, organized structure that reduces overall size and processing requirements

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS11637897B2Systems and methods for generating an edit script
Publication Date: 2023.04.25 ATLASSIAN PTY LTD
  • US11637897B2 patent drawing
  • US11637897B2 patent drawing
  • US11637897B2 patent drawing

AI summary

A method for generating a hierarchical edit script comprises generating, using a first linear sequence of nodes of a first hierarchical dataset and a second linear sequence of nodes of a second hierarchical dataset, a linear edit script defining a linear sequence of operations that can be applied to the first linear sequence to generate the second linear sequence, generating a first delta by matching one or more operations of the linear sequence of operations to the first hierarchical dataset, generating a second delta by matching one or more operations of the linear sequence of operations to the second hierarchical dataset, and generating the hierarchical edit script by merging the first delta and the second delta.