Automatic Shared Object Detection and Installation System

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer users face frustration due to missing software components, such as DLLs, which can prevent application launch, especially when users lack the original installation files or if applications were not packaged with installation packages, leading to unresolved errors and installation challenges.

Innovation Solution

A system and method for detecting failed attempts to load shared objects, identifying the missing components, and automatically obtaining and installing them from a network-accessible storage device, using kernel-mode and/or user-mode drivers, and storing information in a local cache to avoid repeated lookups.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If users manually reinstall applications to resolve missing DLL errors, then the application can be reinstalled, but users cannot reinstall if they don't have original installation files or if the application wasn't packaged with an installation package

Engineering Contradiction:
Improveapplication launch reliabilityVSAvoiduser operation ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system automatically detects missing DLL files, identifies the required components, and installs them without user intervention. The detection module monitors application launches, the identification module determines missing components, and the installation module retrieves and installs the necessary DLLs from network storage, making the system self-sufficient and eliminating the need for manual user actions.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system introduces an intermediary installation module that acts as a mediator between the application and the network storage device. This module handles the complex tasks of detecting missing components, constructing installation requests, retrieving DLL files, and performing installations automatically, shielding the user from these complexities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the system automatically detects and installs missing shared objects, then application launch issues are resolved, but the system complexity increases

Engineering Contradiction:
Improveapplication launch reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system divides the complex task of automatic DLL installation into separate functional modules: a detection module that monitors application launches and identifies missing DLLs, an identification module that determines the exact components needed, and an installation module that handles retrieval and installation. This segmentation makes the complex system more manageable and maintainable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-configuring the detection module to monitor application launch events and pre-establishing the installation module's capability to retrieve DLLs from network storage. When a missing DLL is detected, the system already has the infrastructure in place to quickly identify and install the required components without delay.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the system suspends the requesting process to install missing shared objects, then the application can launch successfully after installation, but the process execution time increases

Engineering Contradiction:
Improveapplication launch successVSAvoidprocess execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system prepares for potential DLL installation needs in advance by maintaining a detection mechanism that is ready to identify and trigger installation when missing DLLs are detected. The installation module is pre-configured to immediately retrieve and install required components upon detection, minimizing the suspension time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback by monitoring the installation process progress and using this information to manage the suspended process appropriately. After installation completes, the system receives feedback that the DLL is now available and resumes the original application process, ensuring timely recovery.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8015450B1Systems and methods for detecting and automatically installing missing software components
Publication Date: 2011.09.06 GEN DIGITAL INC
  • US8015450B1 patent drawing
  • US8015450B1 patent drawing
  • US8015450B1 patent drawing

AI summary

Computer-implemented methods and systems for detecting and automatically installing missing software components are disclosed. In one example, an exemplary method for performing such a task may comprise: 1) detecting a failed attempt by a process to load a shared object, 2) identifying the shared object requested in the failed attempt, 3) automatically obtaining the shared object from a network-accessible storage device, 4) installing the shared object on the computing device, and then 5) successfully loading the shared object.