Tree Delta Encoding for Multi-File Software Version Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing file delta encoding methods are inadequate for determining differences between data trees, which consist of multiple directories and files, as they primarily focus on file-level changes and cannot directly apply to tree structures.

Innovation Solution

The implementation of a tree-delta encoding system that generates a delta between two data trees by classifying nodes into similarity levels and using fingerprint-based file-node deltas, allowing for the determination of edit operations to transform one data tree into another, including operations like UPDATE, ADD, REMOVE, COPY, MOVE, and RENAME for directory and file nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If file delta encoding is applied to individual files, then file-level changes can be tracked efficiently, but it cannot determine changes between different versions of software containing multiple files and directories

Engineering Contradiction:
Improvechange tracking efficiencyVSAvoidapplicability to software versions
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the software version comparison problem into hierarchical components: data trees representing software versions are divided into directory nodes and file nodes, which are further segmented into comparable units. This segmentation allows the system to apply delta encoding at multiple levels (tree-level and file-level), resolving the contradiction by making the method adaptable to complex software structures while maintaining efficiency through structured breakdown of the comparison task

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extends the traditional one-dimensional file delta encoding approach by adding dimensional hierarchy through data trees. Instead of comparing files in isolation, the system compares entire data trees (software versions) by traversing hierarchical directory structures and file nodes, thereby adding spatial and structural dimensions to the comparison process. This dimensional extension enables versatile software version comparison while maintaining efficient delta encoding through structured traversal

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

2Reliability

If complete software versions are transmitted for updates, then all changes are captured, but large amounts of data are required for transmission and storage

Engineering Contradiction:
Improvechange capture completenessVSAvoiddata transmission volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential change information from complete software versions by generating delta encodings. Instead of transmitting entire data trees, the system extracts differential information representing changes between versions, capturing all necessary modifications while minimizing data volume. This extraction process maintains reliability by preserving complete change information in compressed delta form

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent discards redundant unchanged portions of software versions and recovers them through application of deltas to base versions. By identifying and discarding identical content across versions, the system reduces transmission data to only essential changes. The discarded information is recovered by applying the compact delta encoding to the original version, ensuring complete and accurate reconstruction of updated software

Inventive Principle:
Principle #34Discarding and recovering

3Measurement precision

If traditional file delta encoding is used, then file changes are detected, but it cannot classify similarity between directory nodes and file nodes in tree structures

Engineering Contradiction:
Improvechange detection accuracyVSAvoidtree structure handling capability
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent creates a universal comparison mechanism that handles both directory nodes and file nodes through a unified data tree structure. The same delta encoding and similarity classification processes are applied universally across different node types, enabling precise change detection for both files and directories while managing tree structure complexity through consistent hierarchical traversal and comparison rules

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces data trees as an intermediary structure that bridges file-level delta encoding and tree-level comparison. The data tree acts as a mediator representing software versions, enabling the system to apply file-level delta techniques while capturing directory structure changes. This intermediary structure facilitates precise measurement of changes across all node types while managing complexity through standardized tree traversal and node comparison mechanisms

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11163555B2Tree delta encoding
Publication Date: 2021.11.02 BEIJING VOYAGER TECH CO LTD
  • US11163555B2 patent drawing
  • US11163555B2 patent drawing
  • US11163555B2 patent drawing

AI summary

Fingerprints of file node(s) within a first data tree and file node(s) within a second data tree may be generated. The first data tree may include a first set of directory nodes and a first set of file nodes. The second data tree may include a second set of directory nodes and a second set of file nodes. A delta between the first data tree and the second data tree may be generated based on a first classification of similarity between the first set of file nodes and the second set of file nodes, a second classification of similarity between the first set of directory nodes and the second set of directory nodes, and file-node delta(s) between file node(s) of the first set of file nodes and file node(s) of the second set of file nodes. The file-node delta(s) determined based on two or more of the fingerprints.