Directory Index Hashing for Software Version Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current version labeling systems for large-scale software products, such as Microsoft Windows, struggle to track irregular patches and user modifications, leading to inefficient and resource-intensive file comparison processes that consume significant processor resources and network bandwidth.

Innovation Solution

A system and method that generates binary-level indexes for target and reference directories, allowing for quick comparison and pinpoint updates by using folder and file hashes, reducing the need for extensive file comparisons.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If file compare command is executed on each individual file to determine changes, then version tracking accuracy is improved, but processor resources and time consumption increase significantly

Engineering Contradiction:
Improveversion tracking accuracyVSAvoidcomparison speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the file comparison process into two stages: first comparing directory indexes (which contain hashed file information), and only if differences are found, then comparing individual files. This segmentation allows the system to maintain high version tracking accuracy while significantly reducing the number of file comparison operations required, thus improving overall comparison speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by generating and storing directory indexes with hashed file information before actual comparison. These indexes serve as a pre-computed reference that enables fast comparison without needing to examine every file from scratch, thereby resolving the contradiction between accuracy and speed.

Inventive Principle:
Principle #10Preliminary action

2Loss of information

If file compare is executed on all files in large-scale software products, then complete version information is obtained, but network bandwidth consumption increases vastly in centralized database environments

Engineering Contradiction:
Improveversion information completenessVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
Loss of informationVSLoss of energy

Solution Approach 1:

The patent extracts only the essential comparison information (directory indexes containing hashed file data) for transmission and comparison over the network, rather than transferring and comparing all actual file contents. This extraction approach ensures complete version information is obtained through index comparison while dramatically reducing network bandwidth consumption in centralized database environments.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces directory indexes as an intermediary structure between the files and the comparison process. These indexes act as a mediator that contains sufficient information to determine version differences without requiring direct comparison of all file contents, thus reducing network bandwidth requirements while maintaining version information completeness.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If traditional version labels are used to track software changes, then version identification is simplified, but the ability to track irregular patches and user modifications is lost

Engineering Contradiction:
Improveversion identification simplicityVSAvoidversion tracking reliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent creates a composite version tracking system that combines traditional version labels with directory indexes containing hashed file information. This composite approach maintains the simplicity of traditional version identification while adding the reliability of comprehensive file-level tracking through indexes that can detect irregular patches and user modifications without requiring complex version label management.

Inventive Principle:
Principle #40Composite materials

Data Source

PatentUS8229906B2Multi-level version format
Publication Date: 2012.07.24 SAP SE
  • US8229906B2 patent drawing
  • US8229906B2 patent drawing
  • US8229906B2 patent drawing

AI summary

A system and method for maintaining version information. An identifier (“ID”) that identifies a collection of associated files is obtained. An index is generated that specifies the contents of the collection of associated files. The ID may be saved along with the index in a target version file to convey version information about the collection of associated files. Subsequently, the index may be extracted from the target version file to compare with a corresponding index extracted from a reference version file. The result of the comparison may be used to determine whether the contents of the collection of associated files match a reference.