Incremental Software Installation Using File Difference Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software installation methods are inefficient, time-consuming, and inflexible, requiring large manual efforts and resulting in multiple software versions occupying disk space, limiting scalability and customization options.

Innovation Solution

The system performs incremental software installations by identifying differences between existing and required software components, reusing existing files and sharing resources, allowing for nonlinear variations and efficient deployment of software updates, upgrades, and downgrades without assuming a linear progression of updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a complete installation of the latest version is performed, then the software is updated to the current version, but it is time-consuming and results in multiple versions occupying disk space

Engineering Contradiction:
Improvesoftware version currencyVSAvoidinstallation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The installation package is segmented into multiple components or modules that can be independently identified and installed. The system analyzes the target system's existing software state and determines which specific segments need to be installed or updated, rather than performing a complete installation. This segmentation enables selective installation of only the necessary portions, reducing installation time while ensuring the software reaches the required version.

Inventive Principle:
Principle #1Segmentation

2Reliability

If a linear progression of updates is performed, then the software is updated through intermediate versions, but it requires large manual effort to construct and test

Engineering Contradiction:
Improveupdate completenessVSAvoidconstruction and testing effort
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The update progression is made dynamic rather than static and linear. The system automatically determines the optimal update path based on the target system's current state, selecting which updates to apply directly without requiring manual construction of linear progression sequences. This dynamic approach allows the system to skip intermediate versions when safe, reducing the manual effort required for construction and testing while maintaining update completeness.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If older versions of software are kept on the device, then multiple versions can coexist for different deployments, but they occupy large amounts of disk space

Engineering Contradiction:
Improvedeployment flexibilityVSAvoiddisk space occupation
Core Design Contradiction:
Adaptability or versatilityVSVolume of stationary object

Solution Approach 1:

The installation system is designed to be universal and adaptable to multiple deployment scenarios. It can install different software versions and configurations on the same target system based on the specific deployment requirements, rather than requiring separate physical installations for each version. This multi-functionality allows the system to maintain deployment flexibility while optimizing disk space by installing only the necessary version for each scenario.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Ease of manufacture

If a static installation system is used, then the installation process is simple to construct, but it has limited scalability and customization

Engineering Contradiction:
Improveinstallation system constructionVSAvoidscalability and customization
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The installation system transitions from a static to a dynamic architecture. It automatically analyzes the target system's characteristics, existing software state, and deployment requirements to adaptively determine the installation approach. This dynamic capability enables the system to scale to different environments and customize installations based on specific needs, while the underlying automated analysis keeps the construction process relatively simple compared to manually configuring each scenario.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9552201B2System and method for incremental software installation
Publication Date: 2017.01.24 ARLINGTON TECHNOLOGIES LLC
  • US9552201B2 patent drawing
  • US9552201B2 patent drawing
  • US9552201B2 patent drawing

AI summary

Disclosed herein are systems, methods, and non-transitory computer-readable storage media for performing incremental software installations. The system identifies a set of files associated with one or more software programs. Each file can be a component of a software program, or any file accessed by the software program or system when the software program is executed. The system receives a list of files associated with a software version that is not installed on the system. The system determines the differences between the set of files and the list of files, and receives a missing file from the list of files based on the differences. Finally, the system builds the software version on the system using the set of files and the missing file. In building the software version, the system does not assume a linear progression of updates and is able to reuse existing files to create nonlinear variations of software.