Patch Data Block Difference Generation for Software Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As game software data sizes increase due to improved hardware specifications and the need for frequent updates, existing technologies face challenges in efficiently downloading and managing patch data, leading to increased data transfer and processing loads.

Innovation Solution

The implementation of an information processing device and method that generates and utilizes difference information between patch file versions to download only updated data blocks, reducing the amount of data transferred and processing required, by comparing hash values and storing offset information for reusable blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire patch file is downloaded for each update, then the patch can be applied, but the data transfer amount increases significantly

Engineering Contradiction:
Improvepatch application reliabilityVSAvoiddata transfer amount
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patch file is divided into multiple data blocks, each with a unique identifier. The system compares identifiers between the current patch file and previously downloaded blocks to determine which blocks need to be re-downloaded, enabling selective downloading of only necessary portions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system extracts and stores identifier information (such as hashes or checksums) of each data block in a separate management structure. This extracted metadata enables the system to identify and retrieve only the necessary blocks without transferring the entire patch file.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If difference information is generated and stored for each patch version, then download efficiency improves, but storage requirements increase

Engineering Contradiction:
Improvedownload efficiencyVSAvoidstorage requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

Only the essential identifier information of data blocks is extracted and stored in the difference information, rather than storing complete patch files or extensive metadata. This minimizes storage requirements while maintaining the ability to efficiently determine download needs.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system pre-generates and stores difference information that maps data block identifiers between patch versions. This preliminary preparation enables rapid determination of required blocks during actual downloads without performing complex comparisons at download time.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If all data blocks are downloaded regardless of changes, then data security is maintained, but network bandwidth and processing load increase

Engineering Contradiction:
Improvedata securityVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system uses feedback from identifier comparisons (such as hash values or checksums) to determine which data blocks have changed between patch versions. This feedback mechanism ensures that only necessary blocks are downloaded, maintaining data integrity while reducing unnecessary network traffic.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system replaces the mechanical approach of downloading entire files with a more intelligent selection process using identifier comparison. This substitution enables precise identification of changed blocks without transferring unnecessary data, optimizing network resource usage.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS9286059B2Information processing device and difference generating for software patching system
Publication Date: 2016.03.15 SONY INTERACTIVE ENTERTAINMENT LLC
  • US9286059B2 patent drawing
  • US9286059B2 patent drawing
  • US9286059B2 patent drawing

AI summary

An information processing device includes: an application recording portion in which application software is recorded; a patch obtaining portion obtaining patch data from a server; a patch recording portion in which the obtained patch data is recorded; and an application executing portion executing an application using the application software and the patch data. The patch obtaining portion includes a difference information obtaining unit obtaining data block difference information between a latest patch file retained by the server and a patch file recorded in the patch recording portion, and a download executing unit downloading an updated data block from the latest patch file according to the difference information.