Post-Installation Application Capture via Static Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional application capture systems are inefficient in capturing all necessary components of an application, often missing required files and including 'noise' in the package, and require a pre-installation snapshot, which is not always available, leading to incomplete and malfunctioning application packages.

Innovation Solution

A static analysis approach is used on endpoint devices to capture applications post-installation, scanning installation databases, binary files, COM databases, shell extensions, and file type associations to create a complete application package without the need for a staging machine or pre-installation snapshot, allowing for transparent and efficient management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If pre-installation snapshot is used to capture application components, then the capture process can identify modified files, but the process misses files that were already present and are required by the application

Engineering Contradiction:
Improveaccuracy of component captureVSAvoidmissing required files
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The system performs preliminary actions by installing the application in a staging environment and executing it to generate a list of required components before actual capture. This includes installing the application, creating shortcuts, and running the application to trigger all file associations and registry entries, ensuring all necessary files are identified beforehand.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary staging machine that acts as a mediator between the source application and the target system. The staging machine executes the application and generates component lists that are then transferred to the target system, allowing accurate capture of all required files including those already present on the source system.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If pre-installation snapshot comparison is used, then installation changes can be detected, but noise from other changes (OS updates, other applications) is captured along with the target application

Engineering Contradiction:
Improveautomation of capture processVSAvoidcapture of unrelated changes
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system extracts only the specific components related to the target application by using multiple identification methods. It separates application-specific files from system-wide changes by checking file locations, registry entries, shortcuts, and application execution patterns, capturing only what is necessary for the target application.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary execution of the application in a controlled staging environment before capture. This allows the system to identify which files are actually used by the application versus which files changed due to other simultaneous processes, filtering out noise by pre-establishing the application's component requirements.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If conventional application capture systems are used, then application packages can be created, but manual effort and resource investment are required for staging machines and snapshots

Engineering Contradiction:
Improvesimplicity of package creationVSAvoidtime for setup and capture
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The system enables self-service capture by automatically executing the application in the staging environment and autonomously generating the component list. The application itself triggers the capture process by its own execution, creating shortcuts, registering file associations, and modifying registry entries, which the system then automatically detects and captures without manual intervention.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent changes the fundamental parameter of when capture occurs - instead of capturing during installation or requiring pre-installation snapshots, the system performs capture after the application has been installed and executed. This parameter change allows the system to capture the actual runtime state of the application, including all files it requires, without manual setup effort.

Inventive Principle:
Principle #35Parameter changes

4Measurement precision

If post-installation static analysis is performed, then complete application components can be captured, but multiple scanning operations are required across different system areas

Engineering Contradiction:
Improvecompleteness of component captureVSAvoidcomplexity of analysis process
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system segments the component capture process into distinct scanning operations targeting different system areas: file system scanning for executable files and data files, registry scanning for application registration information, shortcut scanning for start menu and desktop shortcuts, and COM database scanning for component object model references. Each segment focuses on a specific aspect, making the overall complex process manageable and systematic.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10223413B2Capturing components of an application using a static post-installation analysis of the system
Publication Date: 2019.03.05 OMNISSA LLC
  • US10223413B2 patent drawing
  • US10223413B2 patent drawing
  • US10223413B2 patent drawing

AI summary

A management agent operates transparently in the background on each endpoint computing device that needs to be managed. The agent performs a static analysis of the system on the endpoint computing device on which it is operating in order to capture the applications that have been installed on the endpoint device. The static analysis is performed after the applications have been installed on the endpoint device and therefore does not require installing the application on any dedicated staging machine, nor any recording of the pre-installation state. The post-installation static analysis involves steps that are used to determine all of the necessary components that comprise the application, which can then be packaged together and managed as individual application packages.