Incremental Software Appliance Updates via Binary Alteration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Users face inefficiencies and resource wastage due to the universal nature of software, which requires upgrading and updating all features and components, even if not all are utilized, leading to increased size and cost.

Innovation Solution

The implementation of a software appliance system that uses an appliance support module to provide incremental updates and upgrades, tailoring changes to the software based on user requests, utilizing a minimal operating system (MiniOS) and allowing for self-contained, pre-configured binary images that can be easily distributed and managed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software is designed to meet the needs of a wide range of users with universal compatibility, then the software can be used by all users, but the size and cost of the software increase dramatically

Engineering Contradiction:
Improvesoftware compatibilityVSAvoidsoftware size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The software is divided into a core universal component and optional feature modules. The core component contains essential functionality that works across all platforms, while additional features are segmented into separate modules that can be selectively installed based on user needs and platform compatibility requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Platform-specific and feature-specific components are extracted from the universal core software. This allows the base software to remain small and compatible across all systems, while users can extract and install only the specific features or platform adaptations they require.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If all features and components of software are upgraded, then the software remains up-to-date, but users waste resources on upgrading features and components not typically utilized

Engineering Contradiction:
Improvesoftware update statusVSAvoidupdate resources
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

Instead of performing complete software upgrades, the system performs partial upgrades by identifying and updating only the specific components, features, or plugins that are actually used by the user. This partial action approach maintains software reliability for used features while avoiding the resource waste of updating unused components.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system implements feedback mechanisms that monitor which software features and components are actually utilized by the user. This feedback information is then used to intelligently determine which components require updating, allowing the system to maintain up-to-date software while avoiding unnecessary updates to unused features.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If post-installation configuration is required for software to be operational, then the software can be tailored to user needs, but the configuration process cannot be automated without user interaction

Engineering Contradiction:
Improvesoftware customizationVSAvoidconfiguration automation
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The software implements self-service configuration capabilities where the system automatically detects the user's platform, hardware, and usage patterns, then autonomously configures appropriate settings and feature sets without requiring user interaction. This allows the software to be customized to user needs while maintaining full automation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8935687B2Incrementally updating a software appliance
Publication Date: 2015.01.13 RED HAT INC
  • US8935687B2 patent drawing
  • US8935687B2 patent drawing
  • US8935687B2 patent drawing

AI summary

An appliance support module can be configured to update and upgrade the software incrementally. To achieve this, the appliance support module can be configured to receive a request to update or upgrade a software appliance. The request can include the update or upgrade requested and information describing the software appliance to upgrade or update. Based on the request, the appliance support module can be configured to determine alterations to make to a original binary image of the software appliance to upgrade or update.