Software Installation Checker Modular Design

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods lack an efficient mechanism for testing and monitoring software installation in networked computers, leading to delayed detection and resolution of installation issues.

Innovation Solution

A software installation checker comprising a stub, bootstrapper, engine, collector, database, and user interface is developed to perform installation checks, collect data, and report results to a server, enabling prompt identification and fixing of installation problems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a software installation checking mechanism is implemented, then installation problems can be detected and fixed promptly, but the system complexity increases due to multiple components (stub, bootstrapper, engine, collector, database, user interface)

Engineering Contradiction:
Improvesoftware installation reliabilityVSAvoidchecking system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The software installation checker is divided into six independent modules: stub (installed in client computers), bootstrapper (downloads and prepares engine), engine (performs installation checks), collector (gathers checking data), database (stores collected data), and user interface (displays results). Each module has a specific function, allowing the system to detect installation problems reliably while managing complexity through modular design.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If comprehensive installation checking is performed across networked computers, then installation issues are detected timely, but the time and resources required for checking increase

Engineering Contradiction:
Improvedetection timeVSAvoidchecking efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

A stub is pre-installed in each client computer as part of the infrastructure package, prepared in advance to support software applications. When an installation check is needed, the stub immediately contacts the server, downloads the bootstrapper and engine, and executes the checking process without delay, enabling timely detection of installation issues.

Inventive Principle:
Principle #10Preliminary action

3Loss of information

If a complete installation checking system with database and user interface is deployed, then installation monitoring capability is improved, but the ease of operation decreases due to multiple components requiring coordination

Engineering Contradiction:
Improveinstallation data collectionVSAvoidsystem operation simplicity
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The server acts as an intermediary between client computers and the installation checking system. It hosts the collector, database, and user interface, and manages communication with stubs on client machines. This centralizes data collection and result display functions, allowing comprehensive installation monitoring across the network while simplifying operation through a single server interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7913249B1Software installation checker
Publication Date: 2011.03.22 JPMORGAN CHASE BANK NA
  • US7913249B1 patent drawing
  • US7913249B1 patent drawing
  • US7913249B1 patent drawing

AI summary

A software installation checker is disclosed. A small stub application is put inside a desktop package, and is run at certain points during a software installation. The stub contacts a server and fetches a library which comprises a class with a method. The stub runs the method on the class, passing to the class the information as well as the server. The class unpacks an engine and passes control to the engine. The engine runs a check with tasks received from a collector of the server. Data is uploaded to the server, and can be examined via a web interface.