Dynamic Software Patching via Simulation and Backup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The process of patching software applications often results in downtime and inefficiency due to the need to deactivate the application and account for unique hardware and software interactions, leading to productivity losses and potential disruptions in complex systems.

Innovation Solution

A dynamic software patch installation method that identifies an optimal time to disable the target application, performs a simulation of code replacement, and generates an impact analysis to ensure minimal disruption, replacing execution code only if the deviation from pre-determined parameters is below a threshold, thereby minimizing system disablement and optimizing patching efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional patching is performed by deactivating the software application, then code updates can be applied to repair defects and improve security, but productivity is lost through system downtime

Engineering Contradiction:
Improvesoftware security and defect repairVSAvoidsystem availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary actions by creating a complete backup of the original executable code and establishing a rollback mechanism before applying patches. This allows the system to maintain availability during patching by能够快速 restore if issues occur, resolving the contradiction between security updates and system availability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary backup copy of the original executable code that mediates between the patching process and the running system. This intermediary allows patches to be applied and tested without completely deactivating the application, maintaining productivity while improving security

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the software application is deactivated for patching, then code updates can be implemented, but additional problems arise from not accounting for unique hardware and software interactions

Engineering Contradiction:
Improvecode update implementationVSAvoidhardware and software interaction compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent applies partial action by selectively patching only the specific code sections that need updating while preserving the rest of the executable code that handles hardware and software interactions. This approach maintains adaptability to unique system configurations while still implementing necessary security and defect repairs

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent performs preliminary analysis of hardware and software interactions before applying patches, using the backup copy to understand the original system behavior. This ensures that patches are applied in a way that maintains compatibility with unique system configurations

Inventive Principle:
Principle #10Preliminary action

3Stability of the object's composition

If comprehensive testing is performed to ensure patch compatibility with all hardware and software interactions, then system stability is maintained, but patching time and complexity increase

Engineering Contradiction:
Improvesystem stabilityVSAvoidpatching process complexity
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

Solution Approach 1:

The patent creates a backup copy of the original executable code that can be used for testing patch compatibility without affecting the running system. This copying approach allows comprehensive stability testing to be performed on the backup while the original system continues to operate, reducing patching complexity and time

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs preliminary testing on the backup copy before applying patches to the production system. This preliminary action ensures system stability is maintained while avoiding the complexity of extensive testing during the actual patching process

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10481890B2Environment mapping and patching synthesis
Publication Date: 2019.11.19 BANK OF AMERICA CORP
  • US10481890B2 patent drawing
  • US10481890B2 patent drawing
  • US10481890B2 patent drawing

AI summary

Method and apparatus for a system to efficiently and with limited disruption of overall activities, install software patches into a target application. The system maps out segments comprising the various system units that interact with the target application and that may be impacted by the patch. A model simulates various possible alternatives for deactivating none, one, some or all of the various units of the segment in identification of an optimal patching strategy. Implementation of the optimal strategy results in efficient patching with minimal disruption of system activities.