Software Component Recycling via Remote Server Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software architectures are inflexible and require frequent updates, leading to system downtime and software obesity due to the inability to adapt to unpredictable changes and efficiently manage software components based on usage levels.

Innovation Solution

A system and method for automatically recording usage data of software components and applying expiration policies to retire unused components, with the option to re-institute them when usage criteria are met, utilizing a remote server for continued access and metadata storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software components are continuously updated and added to adapt to changing requirements, then adaptability is improved, but device complexity increases and software obesity occurs

Engineering Contradiction:
ImproveadaptabilityVSAvoidsoftware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system automatically removes unused software components from the local environment based on usage data and expiration policies, then provides remote access to these removed components. This allows the local system to maintain only actively used components while preserving access to the full software suite through remote servers, thereby reducing local complexity while maintaining adaptability.

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The patent transitions software component storage from a single local dimension to a distributed model with local and remote dimensions. Frequently used components remain locally installed for immediate access, while less frequently used components are moved to remote servers but remain accessible when needed, effectively adding a spatial dimension to component management.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Device complexity

If software components are removed to reduce system complexity, then device complexity is reduced, but reliability may worsen due to potential loss of needed functionality

Engineering Contradiction:
Improvesoftware complexityVSAvoidsoftware reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The system introduces an intermediary remote server layer between the user and the removed software components. When a removed component is needed, the system automatically retrieves it from the remote server, ensuring that functionality is preserved while maintaining local system simplicity. This intermediary mechanism guarantees that no needed functionality is permanently lost.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system continuously monitors usage data of software components and dynamically adjusts local component retention based on actual usage patterns. If a removed component is accessed frequently, the system can automatically re-instate it locally, ensuring that reliability requirements are met while optimizing for complexity reduction.

Inventive Principle:
Principle #23Feedback

3Productivity

If usage data is continuously monitored and components are dynamically managed, then productivity is improved through reduced downtime, but device complexity increases due to monitoring and management systems

Engineering Contradiction:
Improvesystem availabilityVSAvoidmanagement system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements automated self-service mechanisms where software components are automatically monitored, evaluated against expiration policies, removed when appropriate, and re-instated when needed without manual intervention. This automation reduces the operational complexity of managing software updates and component lifecycle while improving system availability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system pre-configures expiration policies and usage criteria before component removal, and pre-establishes remote access mechanisms before components are actually removed. This preliminary preparation ensures that component management operations can be executed automatically and efficiently without complex real-time decision-making, thereby improving productivity while controlling complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7590599B2System and method of automatically maintaining and recycling software components
Publication Date: 2009.09.15 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7590599B2 patent drawing
  • US7590599B2 patent drawing
  • US7590599B2 patent drawing

AI summary

In one aspect of the disclosure, a computer program product, system and method for maintaining and recycling software components is disclosed. A first set of usage data for one or more software components is recorded. At least one of the plurality of software components is automatically removed if the first set of usage data for the at least one software component meets usage criteria specified in an expiration policy. Access is then provided to the removed software component through a remote server. A second set of usage data is now recorded for the removed software component. The removed software component is automatically re-instated if the second set of usage data meets usage criteria specified in a re-instatement policy.