Game Software Patching via Block Mapping and Differential Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing data size of game software leads to inefficiencies in updating or upgrading, particularly in data transfer times between development machines, diagnosis apparatuses, and end-user game machines, resulting in prolonged operation check times and increased data transfer volumes.

Innovation Solution

An information processing apparatus generates and provides patch files that include differential data and reusable block arrangement information, allowing for efficient updating by defining correspondence between data blocks in newer and older software versions, reducing the amount of data to be transferred and downloaded.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If full game data is transferred for each update or operation check, then the software can be updated or tested, but the data transfer time and volume increase significantly

Engineering Contradiction:
Improvesoftware update capabilityVSAvoiddata transfer time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The game data is divided into multiple data blocks, and the patent identifies and transfers only the differential blocks that contain changes between versions, rather than transferring the entire game data set. This segmentation approach significantly reduces transfer time while maintaining update capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and identifies common data blocks that remain unchanged between software versions using hash value comparison. By taking out these redundant blocks from the transfer process and only transmitting the necessary differential data, the system achieves faster updates without compromising reliability.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If full game data is transferred to development machines for operation checks, then testing can be performed, but the transfer time becomes inefficient

Engineering Contradiction:
Improveoperation check capabilityVSAvoidoperation check efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the game data into identifiable blocks and transfers only the differential portions to development machines. This allows operation checks to be performed on updated software while significantly improving productivity by reducing transfer time and data volume.

Inventive Principle:
Principle #1Segmentation

3Reliability

If full game data is downloaded to end user game machines, then the software can be updated, but the download time becomes unacceptably long

Engineering Contradiction:
Improvesoftware update capabilityVSAvoiddownload time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides game data into blocks and identifies which blocks have changed between versions. By downloading only these differential blocks to end user machines, the system maintains reliable software updates while dramatically reducing download time from hours to minutes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts common unchanged data blocks from the update process and eliminates them from downloads. Only the necessary differential data blocks are transmitted to end users, preserving update capability while minimizing download time and data usage.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20230342137A1Information processing apparatus
Publication Date: 2023.10.26 SONY INTERACTIVE ENTERTAINMENT LLC
  • US20230342137A1 patent drawing
  • US20230342137A1 patent drawing
  • US20230342137A1 patent drawing

AI summary

An information processing apparatus provides a patch file for executing second software which is a new version, to a recording device in which first software is recorded. In the information processing apparatus, a block information generation section generates reusable block arrangement information that defines correspondence between the block numbers of a plurality of data blocks included in the second software and the block numbers, in the first software, of common data blocks which are included in the first software and the second software in common. A differential data generation section generates differential data including a data block that is included in the second software but is not included in the first software. A patch file generation section generates a patch file including the differential data and the reusable block arrangement information.