Software Image Distribution with Binary Patches for Lower Network Load

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software image distribution methods are inefficient, leading to significant network load and time delays due to the transfer of entire images or layers, even when only minor updates are necessary, and conventional deduplication techniques waste storage space by creating similar blobs for slight differences.

Innovation Solution

Generating binary patches representing differences between software images, allowing only unique portions to be stored and distributed, reducing the size of updates and optimizing storage and transmission.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If entire software images are distributed to client devices, then complete software updates are ensured, but network load increases and transmission time delays occur

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

Solution Approach 1:

The patent extracts only the differential portions (patches) from complete software images. Instead of distributing entire images, the system identifies and transmits only the changed portions between version A and version B, significantly reducing transmission data while maintaining update completeness through patch application to the base image.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments software updates into base images and differential patches. The update process is divided into: (1) distributing the base image, (2) distributing only the differential portion, and (3) applying the patch locally. This segmentation allows selective transmission of only necessary update data.

Inventive Principle:
Principle #1Segmentation

2Reliability

If entire software images are distributed to ensure complete updates, then update reliability is maintained, but network load increases

Engineering Contradiction:
Improvesoftware update completenessVSAvoidnetwork load
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system extracts and transmits only the differential portions between old and new software versions. By removing redundant unchanged data from transmission, network load is significantly reduced while update reliability is maintained through the patch application process that ensures complete software state updates.

Inventive Principle:
Principle #2Taking out (Extraction)

3Quantity of substance

If conventional deduplication techniques are used to store similar image portions, then storage efficiency is improved, but storage space is wasted by creating separate blobs for slight differences

Engineering Contradiction:
Improvestorage efficiencyVSAvoidstorage space waste
Core Design Contradiction:
Quantity of substanceVSLoss of substance

Solution Approach 1:

The patent merges the storage of base images and differential patches into a unified storage system. Instead of creating separate blobs for slight differences, the system stores the base image once and maintains differential portions as patches, eliminating redundant storage while preserving the ability to reconstruct any software version.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Instead of storing complete images and hoping for deduplication, the patent inverts the approach by storing base images and only their differences as patches. This inversion fundamentally changes the storage model from redundant complete copies to efficient differential storage, reducing storage space waste.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS12353872B2Considering differences of software images during software image distribution using patches
Publication Date: 2025.07.08 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12353872B2 patent drawing
  • US12353872B2 patent drawing
  • US12353872B2 patent drawing

AI summary

A computer-implemented method, according to one embodiment, includes receiving a first image, having a first image tag, to store in a predetermined image storage service, and determining whether the first image tag matches any image tags of images stored in the image storage service. In response to a determination that the first image tag matches a second image tag associated with a second image stored in the image storage service, a predetermined process is performed. The predetermined process includes determining whether the first image is identical to the second image, and in response to a determination that the first image is not identical to the second image, executing actions. The actions include generating a patch of differences between the first image and the second image to thereafter use for fulfilling requests for data.