Automated OS Upgrade via Knowledge Base State Modification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Operating system upgrades often fail due to system modifications and configuration complexities, leading to time-consuming and costly manual troubleshooting and potential avoidance of upgrades, with existing automation tools requiring upfront configuration and facing challenges in identifying necessary components and settings for migration.

Innovation Solution

A method involving a knowledge base with mappings from system states to state modifications, using unsupervised classification algorithms like k-nearest neighbors to automatically modify the system for successful upgrades, with iterative learning from log files to update the knowledge base and adapt to failures, enabling unattended and highly successful OS upgrades.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the OS vendor's upgrade installation program is run on a system with wide range of changes, modifications, configuration options and addons, then the upgrade process can be initiated, but the upgrade will fail because the program will only work on a subset of systems

Engineering Contradiction:
Improveupgrade compatibilityVSAvoidupgrade success rate
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary analysis of the current system state before initiating the upgrade, identifying modifications, configuration options, and addons that may cause upgrade failure. This preliminary action allows the system to prepare appropriate state modifications in advance, ensuring the upgrade program can succeed on a wider range of systems.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically changes system parameters (state modifications) based on the detected system state to make the system compatible with the upgrade program. By adjusting parameters such as disabling conflicting services, modifying configuration files, or removing problematic addons, the system transforms an incompatible state into a compatible one, thereby improving both adaptability and reliability.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If a system administrator manually troubleshoots upgrade failures by searching documentation and trying changes, then the upgrade can eventually succeed, but the process is time-consuming and interactive

Engineering Contradiction:
Improveupgrade success rateVSAvoidtroubleshooting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs self-diagnosis and self-correction by automatically detecting upgrade failure causes and applying appropriate state modifications without human intervention. The system services itself by using its own diagnostic capabilities to identify problems and its own modification capabilities to resolve them, eliminating the need for manual administrator troubleshooting and significantly reducing time loss.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements a feedback loop where upgrade failure information is captured, analyzed, and used to automatically adjust system state for retry. The feedback mechanism learns from each failure attempt, identifying patterns and applying corrective modifications, thereby automating what previously required time-consuming manual administrator intervention while maintaining high success rates.

Inventive Principle:
Principle #23Feedback

3Reliability

If administrators avoid the upgrade process and provision a new system instead, then upgrade failures are avoided, but upfront cost and configuration effort increase

Engineering Contradiction:
Improveupgrade success rateVSAvoidconfiguration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system automatically performs the configuration work that would otherwise be required when provisioning a new system. By detecting the current system state and applying appropriate modifications, the system makes the existing system upgrade-ready without requiring administrator intervention or complex manual configuration, thereby avoiding the need to provision entirely new systems while maintaining reliability.

Inventive Principle:
Principle #25Self-service

4Extent of automation

If configuration management systems are used to automate system configuration, then the upgrade process can be automated, but upfront cost is required to define the configuration in advance

Engineering Contradiction:
Improveupgrade automationVSAvoidconfiguration definition complexity
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The system transitions from static, pre-defined configuration management to a dynamic approach where the system state is automatically detected and analyzed in real-time. Rather than requiring upfront configuration definitions, the system dynamically determines the necessary state modifications based on the actual current state, achieving automation without the complexity of pre-defining all possible configurations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system automatically determines and applies parameter changes based on detected system state rather than following pre-defined configuration scripts. This approach achieves automation by dynamically adjusting parameters as needed, eliminating the need for complex upfront configuration definitions while maintaining high automation levels.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20230393838A1Process for automatically upgrading an operating system on a computer
Publication Date: 2023.12.07 CRISTIE SOFTWARE LTD
  • US20230393838A1 patent drawing
  • US20230393838A1 patent drawing
  • US20230393838A1 patent drawing

AI summary

A method for automatically upgrading an operating system on a computer is provided. The method includes collecting system state information from the computer, and querying a knowledge base to identify state modification actions. Querying the knowledge base may include use of a classification algorithm, for example the k-nearest-neighbours algorithm, to identify non-exact matches in the knowledge base. The system is modified according to identified state modification actions and an upgrade is attempted. In the event that the upgrade fails, information from collected log files is used to update the knowledge base to propose further state modification actions, and the upgrade is attempted again.