Software Update Relevance Analysis for Deployment Risk

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

System administrators face challenges in determining the relevance of software updates for deployed software, as they often require system downtime and can lead to regressions, prompting administrators to hesitate in applying updates.

Innovation Solution

A recommendation system that analyzes running state information and build data to provide tailored software update relevance information, identifying directly impacted functions and computing a relevance rating to assist administrators in deciding whether to apply or reject updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software updates are applied to keep software up to date, then software reliability and functionality are improved, but system downtime increases and risk of regressions occurs

Engineering Contradiction:
Improvesoftware reliabilityVSAvoidsystem downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary analysis of software updates by comparing build data between versions and analyzing running state information before updates are applied. This preliminary assessment identifies which functions will be impacted, allowing administrators to make informed decisions about update timing and potentially schedule updates during maintenance windows when downtime is acceptable.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The update assessment process is segmented into distinct analytical components: collecting running state information, obtaining build data for both current and new versions, computing version differences, and analyzing function-level impacts. This segmentation allows for targeted evaluation of update relevance without requiring full system shutdown or comprehensive testing of all functions.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If software updates are applied to access new features and bug fixes, then software functionality is improved, but risk of regressions and system instability increases

Engineering Contradiction:
Improvesoftware functionalityVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system collects and analyzes running state information that provides feedback about how the software is actually being used in production. By comparing this real-world usage data with the changes introduced in new versions, the system can predict which updates are most likely to impact stability and provide this feedback to administrators for informed decision-making.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Instead of requiring comprehensive testing of all software functions before update approval, the system performs partial analysis focused only on the specific functions that are actually running and being used. This partial action approach reduces the burden of update validation while still identifying potential stability risks for the relevant functionality.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If administrators apply every available software update, then software currency is maintained, but unnecessary updates increase downtime and potential regression risk

Engineering Contradiction:
Improvesoftware currencyVSAvoidcumulative downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system changes the parameter of update selection from a binary decision (update or not) to a nuanced assessment based on multiple parameters including function-level impact analysis, running state metrics, and version difference data. This allows administrators to prioritize updates based on their actual relevance to the deployed system rather than applying all updates uniformly.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The manual mechanical process of administrators reviewing and evaluating each update is replaced with an automated analytical system that computationally compares build data, analyzes running states, and generates relevance assessments. This substitution provides more consistent and data-driven update recommendations while reducing the time and effort required for update decision-making.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS11880224B2Providing tailored software update relevance information for deployed software
Publication Date: 2024.01.23 CISCO TECHNOLOGY INC
  • US11880224B2 patent drawing
  • US11880224B2 patent drawing
  • US11880224B2 patent drawing

AI summary

A recommendation system can be configured to provide tailored software update relevance information for deployed software. The recommendation engine can obtain running state information for a current version of software running on a device, as well as build data for each of the current version of the software and a new version of the software. The recommendation engine can obtain software version difference information based on the build data and determine, based on at least the software version difference information and the running state information, a number of functions in the current version of software that are directly impacted by the new version. The recommendation engine can cause relevance information derived from this determination to be displayed on a computing device, and/or the recommendation engine can automatically cause an update to the new version of the software to be applied or rejected based on the determination.