Patch File Data Block Identification Using Two-Stage Hash Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing difference information generating software fails to efficiently determine identical data blocks between different versions of patch files due to shifts in recording positions, leading to ineffective reduction in data distribution amounts and inefficient duplicate data searching.

Innovation Solution

An information processing apparatus that calculates and compares hash values of data blocks in patch files, using a first-stage comparison with 64-bit rolling hash values and a second-stage comparison with 256-bit hash values to determine identical data blocks, thereby reducing the amount of data to be distributed by identifying only the necessary data blocks for distribution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If hash values are compared to determine identical data blocks between patch files, then data distribution amount is reduced, but recording position shifts cause false negatives where identical data is not recognized

Engineering Contradiction:
Improvedata distribution amountVSAvoiddata block identification accuracy
Core Design Contradiction:
Loss of substanceVSReliability

Solution Approach 1:

The patent divides the data block comparison process into two stages: first comparing 64-bit hash values for quick filtering, then comparing 256-bit hash values for final verification. This segmentation allows efficient processing while maintaining high accuracy in identifying identical data blocks despite recording position shifts.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of hash value bit length dynamically - using 64-bit hash values for initial broad comparison and 256-bit hash values for final precise verification. This parameter change strategy enables both efficiency in large-scale comparison and reliability in final determination.

Inventive Principle:
Principle #35Parameter changes

2Loss of substance

If comprehensive comparison of all data blocks is performed to ensure accuracy, then data distribution amount is reduced, but processing time increases

Engineering Contradiction:
Improvedata distribution amountVSAvoidprocessing time
Core Design Contradiction:
Loss of substanceVSLoss of time

Solution Approach 1:

The comparison process is segmented into two distinct stages with different hash value lengths. The first stage uses 64-bit hash values to quickly eliminate non-matching blocks, and the second stage uses 256-bit hash values only for blocks that passed the first stage, significantly reducing total processing time while maintaining accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of performing full 256-bit hash comparisons on all data blocks, the patent applies partial action by first using computationally lighter 64-bit hash comparisons to filter out obvious non-matches, then applying the more computationally intensive 256-bit comparisons only to candidate blocks that passed the initial filter.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If two-stage hash value comparison is implemented, then data block identification accuracy is improved, but device complexity increases

Engineering Contradiction:
Improvedata block identification accuracyVSAvoidcomparison process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the hash value comparison into two distinct stages with clearly defined purposes: first-stage 64-bit hash comparison for rapid filtering and second-stage 256-bit hash comparison for definitive verification. This segmentation manages complexity by organizing the process into manageable, sequential steps.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first-stage 64-bit hash comparison serves as a preliminary action that prepares the data by identifying candidate blocks before the more complex second-stage verification. This preliminary filtering simplifies the subsequent detailed comparison by reducing the number of blocks requiring full 256-bit verification.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11327741B2Information processing apparatus
Publication Date: 2022.05.10 SONY INTERACTIVE ENTERTAINMENT LLC
  • US11327741B2 patent drawing
  • US11327741B2 patent drawing
  • US11327741B2 patent drawing

AI summary

Disclosed herein is an information processing apparatus including a first holding section configured to hold a first patch file, a second holding section configured to hold a first hash value of each data block in a second patch file including a plurality of data blocks each having a predetermined block size, a hash value calculating section configured to calculate a first hash value of data corresponding to the block size in the first patch file, and a comparing section configured to compare the first hash value calculated by the hash value calculating section with the first hash value of each data block held in the second holding section, as a first-stage comparison process.