Software Patch Packaging Using Logical Structure Differencing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing patch generation methods are inefficient in reducing data communication costs and bandwidth requirements for large-scale software updates, particularly when applied to hundreds of thousands or millions of computing devices, due to the lack of consideration for the logical structure of the software files.

Innovation Solution

A method and system for generating patch packages that analyze the logical structure of software files, using decompressing, unpacking, and differencing modules to create a more efficient patch package by identifying and applying patch operations such as addition, deletion, or update, based on structural types like directories, archives, or data, and employing differencing modules to generate patch data and instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If traditional patch generation methods are used, then the patch can be applied to update software, but the patch size is large resulting in high data communication costs and bandwidth requirements

Engineering Contradiction:
Improvepatch sizeVSAvoiddata communication costs
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The patch generation process segments the software file structure into multiple hierarchical levels (files, directories, archives). By analyzing and comparing only the changed segments at each level rather than the entire software package, the system generates smaller patch packages that reduce communication bandwidth requirements while maintaining update effectiveness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system extracts and identifies only the specific changed elements (files, directories, or archive contents) between software versions. By taking out only the necessary patch data and instructions related to changed elements rather than transmitting entire software packages, the method significantly reduces patch size and communication costs.

Inventive Principle:
Principle #2Taking out (Extraction)

2Loss of time

If traditional patch generation methods are used, then updates can be delivered, but the download time is long affecting user experience

Engineering Contradiction:
Improvedownload timeVSAvoidupdate delivery efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

By segmenting the update process into targeted patch operations on specific file structure elements rather than distributing complete software packages, the system reduces download time. Users receive only the segmented changes needed, improving update delivery efficiency without compromising completeness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary analysis of the file structure to identify changed elements before generating patches. By preparing patch instructions and data in advance based on pre-analyzed structural differences, the system optimizes the update delivery process and reduces actual download time for users.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If patch operations are applied to archive elements, then the patch can handle complex software structures, but the processing complexity increases

Engineering Contradiction:
Improvepatch operation capabilityVSAvoidprocessing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments complex archive structures into manageable hierarchical levels (outer archive, inner archives, files, directories). By applying patch operations segmentally at each level rather than treating the entire complex structure as one unit, the system maintains high adaptability to various software formats while controlling processing complexity through structured, incremental operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The method handles nested archive structures by applying decompression and patching operations in a nested sequence - first processing outer archives, then inner archives, and finally individual files. This nested approach enables the system to manage complex software structures with high versatility while organizing processing complexity into manageable hierarchical stages.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS12536011B2Systems and methods for generating and applying a patch package
Publication Date: 2026.01.27 FILO SYST LTD
  • US12536011B2 patent drawing
  • US12536011B2 patent drawing
  • US12536011B2 patent drawing

AI summary

Systems and methods of creating and applying a software package (commonly referred to as “patch” or “patch package”) that enables to more efficiently create an updated version of a software package, by applying the patch over the original software version. Embodiments of the present invention may require more resources, e.g., time, processing power and storage space, to prepare (create) a patch (compared to differencing modules of the art) as they spend more time analyzing the logical structure of each version, but the result is oftentimes a smaller and more efficient patch package. Also are disclosed systems and methods of compressing and decompressing a patch package, whether as an update or by using a single-archive input.