Tree-Graph Version Control for Real-Time Non-Text Editing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional version control systems are inefficient for non-textual objects, requiring sequential work and long project completion times due to the inability to merge changes in real-time and guarantee valid results, wasting resources and time.

Innovation Solution

A real-time collaborative version control system using two separate tree graphs, one for application data and one for checkpoints, allowing multiple users to edit non-textual objects simultaneously with guaranteed valid merges through conflict resolution and real-time change tracking.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional version control systems are used for non-textual objects, then users can work on files sequentially, but project completion time increases significantly and system resources are wasted

Engineering Contradiction:
Improvemerge validityVSAvoidproject completion speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the version control system into two separate tree graphs: one for application data and one for checkpoints. This segmentation allows independent tracking of data changes and version checkpoints, enabling parallel processing of multiple user modifications without conflicts, thus improving both merge validity and project completion speed

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces checkpoints as intermediary elements that capture the state of the application data tree at specific moments. These checkpoints act as mediators that enable valid merges by providing reference points for comparing and integrating changes from different users, ensuring merge validity while allowing concurrent work

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If traditional version control systems are used, then changes can be tracked, but multiple users cannot edit non-textual objects simultaneously, requiring sequential work

Engineering Contradiction:
Improveparallel work capabilityVSAvoidsystem structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent adds a temporal dimension to version control by introducing checkpoints that represent specific states at different times. This dimensional addition transforms the system from a simple linear version history to a multi-dimensional structure where multiple users can work in parallel across different time branches, enabling simultaneous editing while managing complexity through structured temporal relationships

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

3Loss of time

If sequential work is required for non-textual objects, then merge conflicts are avoided, but processing time increases and resource efficiency decreases

Engineering Contradiction:
Improveproject completion timeVSAvoidmerge validity guarantee
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent performs preliminary actions by creating checkpoints that capture the current state of the application data tree before changes are made. These pre-established checkpoints serve as reference points that enable valid merges later, allowing users to work in parallel without risking merge conflicts, thus reducing project completion time while maintaining merge validity through pre-planned version markers

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12411834B1Version control in networked environments
Publication Date: 2025.09.09 SNAP INC
  • US12411834B1 patent drawing
  • US12411834B1 patent drawing
  • US12411834B1 patent drawing

AI summary

The disclosed embodiments provide a version control system within a social networking environment. The disclosed embodiments perform operations comprising: storing, in a database, application data that is structured as a tree graph comprising nodes in the form of branches connected by respective edges, each child branch being connected to a single corresponding parent branch by a respective edge; generating a first checkpoint identifying a node of the tree graph, the first checkpoint comprising first checkpoint state information corresponding to initial state information of the node of the tree graph; generating a second checkpoint identifying the node of the tree graph, the second checkpoint comprising second checkpoint state information corresponding to the initial state information of the node of the tree graph; merging changes made to the first and second checkpoint state information; and modifying the initial state information of the node of the tree graph based on the merged changes.