Software Installation System with Dynamic Resource Throttling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software installation methods are inefficient, causing processor, network, and memory usage inefficiencies, and result in the installation of unwanted components, leading to incompatibilities and unnecessary storage usage.

Innovation Solution

Implement a method that determines the need for software components by monitoring device usage, initiating installation during low-usage periods, and throttling bandwidth to ensure minimal disruption and resource allocation for other tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If software installation is performed using traditional methods, then the installation process is simple to implement, but processor usage, network usage, and memory space are inefficiently consumed

Engineering Contradiction:
Improveinstallation process simplicityVSAvoidprocessor usage efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The installation process dynamically adjusts resource allocation based on system state. The installer monitors processor usage, network bandwidth availability, and memory consumption in real-time, adapting the installation speed and resource consumption accordingly. This allows efficient resource utilization without compromising installation completion.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters during installation based on detected system conditions. When processor usage is high, the installer reduces installation speed or pauses. When network bandwidth is limited, it adjusts transfer rates. This parameter adaptation optimizes resource efficiency while maintaining installation progress.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the entire application suite is transferred and installed, then all components are available for use, but unwanted components are installed consuming valuable storage space and potentially creating incompatibilities

Engineering Contradiction:
Improvecomponent availabilityVSAvoidstorage space consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The installer extracts and installs only the specific components that are actually needed by the user, rather than installing the entire application suite. It identifies required components based on user selection or system requirements and selectively transfers and installs only those portions, leaving unwanted components on the source system.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The application suite is segmented into individual installable components. The installer processes components separately, allowing selective installation of only those segments that are needed. This segmentation enables precise control over what gets installed, reducing storage consumption while ensuring all necessary components are present.

Inventive Principle:
Principle #1Segmentation

3Productivity

If the computing device is locked during download and installation, then the installation process can proceed without interruption, but the device cannot perform other tasks during this period

Engineering Contradiction:
Improveinstallation speedVSAvoiddevice availability
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The installation process uses periodic action by pausing and resuming based on system availability. Instead of continuously locking the device, the installer periodically checks for system readiness, pausing when the device is in use and resuming when available. This maintains device availability while ultimately completing the installation.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The installer dynamically adjusts between foreground and background operation based on system state. When the device is idle, installation proceeds actively. When the device is in use, the installer transitions to background mode or pauses, allowing other tasks to continue. This dynamic behavior balances installation progress with device availability.

Inventive Principle:
Principle #15Dynamics

4Speed

If substantial network bandwidth is devoted to file transfer, then the installation can be completed faster, but other network activities are constrained

Engineering Contradiction:
Improveinstallation speedVSAvoidnetwork usage flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The installer dynamically adjusts network bandwidth consumption based on available capacity. It continuously monitors network usage and adapts the file transfer rate accordingly. When network bandwidth is available, installation proceeds quickly. When other network activities are detected, the installer reduces its bandwidth consumption to accommodate them.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes network transfer parameters based on real-time network conditions. Transfer speed, buffer sizes, and concurrency levels are adjusted according to available bandwidth. This parameter adaptation allows fast installation when possible while maintaining network flexibility for other uses when needed.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7707573B1Systems and methods for providing and installing software
Publication Date: 2010.04.27 GOOGLE LLC
  • US7707573B1 patent drawing
  • US7707573B1 patent drawing
  • US7707573B1 patent drawing

AI summary

The present invention comprises systems and methods, and computer readable media comprising the methods, for installing software components. A user's need for a software component may be determined prior to installation. The systems and methods of the present invention provide automation and flexibility to the installation process. In an embodiment, processor usage and network usage are monitored and software installation are initiated and/or continued during periods where processor and/or network usage are low. The installation process may be halted when the processor and/or network connection are called upon for other uses. Processor and/or network usage may also be throttled, for example limiting the bandwidth available for the installation to maintain sufficient processor share and/or bandwidth for other tasks. Adverse impact on a computer user is minimized.