Tree Delta Encoding for Multi-File Software Version Comparison

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 system performs tree delta encoding by classifying similarity between nodes of two data trees based on file names, paths, values, and directory structures, generating a delta as a sequence of edit operations to transform one data tree into another, using fingerprint matching for precise node identification and similarity assessment across multiple levels of directory and file nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If file delta encoding is applied to individual files, then file-level change tracking is achieved, but it cannot determine changes between entire software versions consisting of multiple files and directories

Engineering Contradiction:
Improveapplicability to software version comparisonVSAvoidencoding system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the software version comparison problem into hierarchical components: data trees representing file systems, nodes representing files or directories, and similarity levels (no match, weak match, fair match, exact match) for classification. This segmentation allows the system to handle complex software version comparisons by breaking them down into manageable node-level similarity assessments that can be aggregated to determine overall software changes.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If similarity classification is performed at multiple levels (no match, weak match, fair match, exact match), then precise node identification is achieved, but computational complexity increases

Engineering Contradiction:
Improvenode similarity classification accuracyVSAvoidclassification system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by establishing a predefined hierarchy of similarity levels (no match, weak match, fair match, exact match) before performing the actual comparison. This pre-established classification framework guides the comparison process, allowing the system to efficiently categorize nodes without requiring complex real-time decision-making during the comparison operation.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If fingerprint matching is used for node identification, then precise matching is achieved, but data processing time increases

Engineering Contradiction:
Improvenode matching accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces fingerprints as an intermediary representation of file content. Instead of directly comparing entire files or complex data structures, the system computes fingerprints (hash values) that serve as compact proxies. This intermediary approach maintains high matching reliability while significantly reducing the computational time required for node identification during tree delta encoding.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11138000B2Tree delta encoding
Publication Date: 2021.10.05 BEIJING VOYAGER TECH CO LTD
  • US11138000B2 patent drawing
  • US11138000B2 patent drawing
  • US11138000B2 patent drawing

AI summary

Similarity between files nodes of two data tree may be classified based on file names, file paths, and file values. Similarity between directory nodes of two data trees. Responsive to similarity between a file node of a data tree being classified within a no match level: (1) a matching file node of the other data tree may be identified based fingerprints, and (2) a file-node delta may be determined between the file node and the matching file node. A delta between the two data trees may be generated based on the classification of similarity between the file nodes, the classification of similarity between the directory nodes, and the file-node delta.