Software Patch Deployment via Dependency Map Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for distributing software patches are unpredictable and can have debilitating collateral effects on compute devices, as they do not account for the unique configurations and interactions between software applications and system components across different devices within a network.

Innovation Solution

A method that involves receiving data on software applications and system components, identifying dependencies, creating dependency maps, predicting affected components and applications, and selecting test devices to deploy patches safely, using a processor-readable medium and apparatus with a memory and processor configured to manage and deploy software patches based on these maps.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software patches are deployed to a wider network of compute devices in a gradual manner based on test device performance, then the reliability of patch deployment is improved, but the system cannot account for device configuration differences and unpredictable collateral effects worsen

Engineering Contradiction:
Improvepatch deployment reliabilityVSAvoiddevice configuration adaptability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the compute devices into different groups based on their software application configurations and system component interactions. By creating configuration-based segments rather than simply testing on a few devices and gradually expanding, the system can account for device differences while maintaining reliable patch deployment through targeted testing in relevant configuration groups.

Inventive Principle:
Principle #1Segmentation

2Productivity

If software patches are deployed without considering unique device configurations, then deployment speed is improved, but unpredictable collateral effects on software applications worsen

Engineering Contradiction:
Improvepatch deployment speedVSAvoidcollateral effects on software applications
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent performs preliminary actions by building dependency maps that identify relationships between system components and software applications before patch deployment. This allows the system to predict which applications may be affected by a patch and select appropriate test devices that match the configuration of devices that will receive the patch, thereby preventing harmful collateral effects while maintaining deployment speed.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If dependency maps are built for each compute device to predict patch effects, then prediction accuracy is improved, but the complexity of data collection and processing worsens

Engineering Contradiction:
Improvepatch effect prediction accuracyVSAvoiddata collection and processing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent creates a universal dependency map structure that can be applied across multiple compute devices. Instead of building completely separate dependency maps for each device, the system uses a standardized framework that captures device-specific configurations while maintaining a consistent processing approach. This reduces complexity by providing a multi-functional template that adapts to different devices without requiring unique processing logic for each one.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11907696B2Methods and apparatus for safe and smart distribution of software patches
Publication Date: 2024.02.20 IVANTI INC
  • US11907696B2 patent drawing
  • US11907696B2 patent drawing
  • US11907696B2 patent drawing

AI summary

Systems, devices, and methods are disclosed to send a signal to deploy a software patch at a compute device, to identify, based on a dependency map, a set of system components on the compute device that are likely to be impacted by the software patch, to monitor a set of parameters for a set of applications on the compute device that interact with a set of system components, to compare values for the set of parameters to one or more predefined criteria and to determine a compatibility classification for the software patch. Systems, devices, and methods are disclosed to update the dependency map based on the compatibility classification to define an updated dependency map, and based on the updated dependency map send a signal to deploy the software patch at a set of compute devices.