Selective Software Patch Deployment Using Usage Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing patch deployment methods in software applications often apply patches to all objects, regardless of usage, leading to inefficiencies and potential conflicts, as they do not differentiate between used and unused objects.

Innovation Solution

The method identifies used objects by maintaining usage data and applying patches only to those that meet specific usage thresholds or have errors, utilizing a patch portal to retrieve and apply patches to objects that are actually in use, thereby avoiding unnecessary patching and conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If patches are applied to all objects regardless of usage, then all objects receive security updates and bug fixes, but resource utilization decreases and conflicts increase due to unnecessary patching of unused objects

Engineering Contradiction:
Improvesecurity updates and bug fixes coverageVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies patches selectively based on the usage status of individual objects rather than uniformly to all objects. Usage data is analyzed to determine which objects are actively used, and patches are then applied only to those specific objects that meet usage criteria. This local differentiation ensures security updates reach necessary components while avoiding wasteful patching of unused objects, thus resolving the contradiction between comprehensive coverage and resource efficiency

Inventive Principle:
Principle #3Local quality

2Reliability

If patches are applied to all objects, then complete security coverage is achieved, but patch conflicts increase due to unnecessary modifications in unused objects

Engineering Contradiction:
Improvesecurity coverageVSAvoidpatch conflicts
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The system differentiates between used and unused objects by analyzing usage data, and applies patches only to objects that are actively used or meet specific usage criteria. This selective approach reduces the number of patch applications across the system, thereby minimizing potential conflicts between patches while still ensuring that all used objects receive necessary security updates and bug fixes

Inventive Principle:
Principle #3Local quality

3Loss of energy

If usage data is maintained and analyzed to selectively apply patches, then resource utilization is optimized and conflicts reduced, but system complexity increases due to additional tracking and analysis mechanisms

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidsystem complexity for tracking and analysis
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The system automatically maintains usage data and performs analysis to determine which objects should receive patches, eliminating the need for manual intervention in patch deployment decisions. The usage analysis mechanism operates autonomously, tracking object usage patterns and automatically applying patches based on predefined criteria, thus optimizing resource utilization without requiring complex manual management processes

Inventive Principle:
Principle #25Self-service

4Loss of energy

If patches are selectively applied based on usage patterns, then unnecessary patching is avoided and resources are optimized, but time is increased due to usage data collection and analysis processes

Engineering Contradiction:
Improveresource optimizationVSAvoidtime for usage data collection and analysis
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The system maintains usage data continuously over time, collecting information about object usage patterns before patch deployment decisions are made. This preliminary data collection allows for efficient batch processing of patch decisions, where usage patterns are already established and can be quickly evaluated against patch criteria, reducing the time required at the moment of patch deployment while still achieving resource optimization

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10891124B2Deployment of patches in software applications
Publication Date: 2021.01.12 ORACLE INT CORP
  • US10891124B2 patent drawing
  • US10891124B2 patent drawing
  • US10891124B2 patent drawing

AI summary

An aspect of the present disclosure facilitates deployment of patches in computing systems. In an embodiment, specific objects of a software application that have been used for processing of commands are identified. A set of objects of the specific objects having patches available to be applied are then determined. The available patches may be retrieved and applied. As a result, patches may not be applied to objects that are not used. According to another aspect, usage data indicating usage of each object when the object is invoked for processing of corresponding command, is maintained. An administrator is also provided the ability to configure a set of rules indicating conditions under which existence of patches is to be checked for used objects, and the usage data is examined according to the set of rules.