Resource Dependency Graph for Software Uninstallation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current undo operations and software uninstall techniques in computing environments often leave behind remnants and dangling resources, leading to inefficiencies and decreased performance due to unused memory and increased power consumption.

Innovation Solution

A system and method that builds initial and second resource dependency graphs to identify and remove dangling resources hierarchically, ensuring a complete uninstallation of software applications without user intervention, including building a resource ownership graph and extending it to form a dependency graph to detect and delete residual resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If current undo operations and software uninstall techniques are used, then the uninstallation process is simple and quick, but remnants and dangling resources are left behind causing memory waste and performance degradation

Engineering Contradiction:
Improveuninstallation speedVSAvoidcompleteness of removal
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by building a resource dependency graph before uninstallation to identify all resources associated with the software application. This allows the system to plan and execute complete removal of all dependent resources, preventing remnants from being left behind while maintaining an automated uninstallation process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback mechanisms by continuously monitoring and comparing the resource dependency graph before and after uninstallation. This feedback loop ensures that all dangling resources are identified and removed, verifying complete uninstallation while maintaining system efficiency and performance.

Inventive Principle:
Principle #23Feedback

2Reliability

If a comprehensive resource tracking system is implemented to remove all remnants, then complete uninstallation is achieved, but system complexity increases

Engineering Contradiction:
Improvecompleteness of removalVSAvoiduninstallation system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system introduces an intermediary component - the resource dependency graph - that mediates between the software application and the uninstallation process. This graph serves as a structured representation of resource relationships, enabling systematic identification and removal of dangling resources without requiring complex manual intervention or overly complicated uninstallation logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If dangling resources are not removed, then processing efficiency decreases and power consumption increases, but removing them requires additional processing overhead

Engineering Contradiction:
Improvecomputing efficiencyVSAvoidtime for resource cleanup
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary action by building the resource dependency graph before uninstallation begins. This upfront preparation identifies all resources that need to be removed, allowing the actual cleanup process to execute efficiently without requiring additional processing time after the main uninstallation is complete.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240296034A1Undoing actions and uninstalling applications in a computing environment
Publication Date: 2024.09.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20240296034A1 patent drawing
  • US20240296034A1 patent drawing
  • US20240296034A1 patent drawing

AI summary

A computer-implemented method, computer program product, and/or computing system is disclosed for preforming at least one of a performance group consisting of undoing an action in and uninstalling a software application from a computing environment is disclosed. The computer-implemented method, computer program product, and/or computing system includes: building an initial resource dependency graph; building a second resource dependency graph; determining a resulting resource dependency graph to identify dangling resources; and removing the dangling resources. In an embodiment, building at least one of the initial resource dependency graph or the second resource dependency graph includes building a resource ownership graph and extending the resource ownership graph to include associations to form a resource dependency graph.