Collaborative Editing Directed Acyclic Graph Conflict Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for collaborative document editing are cumbersome and inefficient, particularly in resolving conflicts between concurrent edits from multiple sources and synchronizing multiple local versions of a document, often requiring expensive network servers and complex locking mechanisms, which can impact user experience and availability.

Innovation Solution

The implementation of a method using a directed acyclic graph to represent textual or drawing edits, allowing for deterministic sorting and merging of edits across devices without the need for a central server, enabling efficient and offline collaborative editing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional collaborative editing techniques are used with central servers and locking mechanisms, then document synchronization can be achieved, but device complexity and processing power requirements increase

Engineering Contradiction:
Improvedocument synchronizationVSAvoidsystem architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the central server and locking mechanisms from the collaborative editing system, replacing them with a distributed architecture where each device independently maintains a directed acyclic graph (DAG) of edits. This eliminates the need for expensive network servers and complex centralized control while achieving the same synchronization goal through peer-to-peer edit propagation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Each device in the system independently manages its own edit synchronization by maintaining a local DAG and autonomously resolving conflicts using topological sorting algorithms. The system serves itself without requiring external server intervention, reducing device complexity and enabling offline collaborative editing.

Inventive Principle:
Principle #25Self-service

2Reliability

If Internet access and central servers are required for collaborative editing, then real-time synchronization is possible, but availability and offline access are reduced

Engineering Contradiction:
Improvesynchronization availabilityVSAvoidoffline capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the centralized synchronization system into independent distributed nodes, each maintaining its own DAG of edits. This segmentation allows devices to operate autonomously offline while still achieving synchronization when connected, as each device independently processes and propagates edits to peers without requiring continuous server mediation.

Inventive Principle:
Principle #1Segmentation

3Stability of the object's composition

If complex locking mechanisms are used to prevent concurrent edit conflicts, then data consistency is maintained, but user interface response time increases

Engineering Contradiction:
Improvedata consistencyVSAvoidinterface responsiveness
Core Design Contradiction:
Stability of the object's compositionVSEase of operation

Solution Approach 1:

The patent replaces the mechanical locking mechanism with an algorithmic approach using DAGs and topological sorting. Instead of physically blocking concurrent edits through locks, the system allows simultaneous edits to be recorded as parallel paths in the DAG and deterministically resolved through topological ordering, eliminating UI delays while maintaining data consistency.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Productivity

If conventional conflict resolution techniques are used, then concurrent edits can be merged, but processing power and energy consumption increase

Engineering Contradiction:
Improveedit merging efficiencyVSAvoidprocessing power
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent changes the fundamental parameter of how edits are represented and processed by using DAGs with topological ordering instead of traditional version vectors or conflict-free replicated data types. This parameter change enables more efficient conflict resolution with lower processing requirements, as the topological sort provides a deterministic ordering that naturally resolves conflicts without expensive merge operations.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10089056B2Device, method, and graphical user interface for collaborative editing in documents
Publication Date: 2018.10.02 APPLE INC
  • US10089056B2 patent drawing
  • US10089056B2 patent drawing
  • US10089056B2 patent drawing

AI summary

A first electronic device maintains a directed acyclic graph to represent content collaboratively edited by the first device and one or more second devices of multiple collaborating devices. The first device receives one or more editing inputs from one or more devices of the multiple collaborating devices. The first device modifies the directed acyclic graph based on relationships between the editing inputs and existing content objects embodied in the directed acyclic graph, traverses the directed acyclic graph in accordance with a predetermined ordering rule to obtain an object sequence, and, if a first editing input of the one or more editing inputs modifies a first existing sketch content object represented in the directed acyclic graph, updates a command sequence associated with the first existing sketch content object by merging each individual drawing command included the first editing input with a command sequence associated with the first existing sketch content object.