Application Patching via Dual File System Views

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current patch management methods for enterprise applications result in significant downtime and uncertainty about the correctness of patched systems, often requiring restoration from backups due to incorrect patches.

Innovation Solution

A method that creates copies of files to be modified, allowing the application to be updated without stopping it, using separate file system views for the original and patched files, enabling seamless switching and minimal downtime, with the ability to roll back to previous versions quickly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional patch management methods are used, then patches can be applied to fix bugs and improve functionality, but the application must be stopped and downtime increases significantly

Engineering Contradiction:
Improveapplication availabilityVSAvoiddowntime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the application files into multiple versions stored in separate directories (e.g., /app/current, /app/patched, /app/backup). This allows the system to switch between versions without stopping the application, as the runtime loader can dynamically load files from different directories. The segmentation enables continuous operation while patches are being applied in the background.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic file loading where the runtime loader can switch between different file sets based on configuration. The application files are dynamically replaced by updating the loader's configuration to point to patched versions instead of original versions. This dynamic switching occurs without stopping the application, reducing downtime to minimal levels.

Inventive Principle:
Principle #15Dynamics

2Reliability

If patches are applied to fix bugs, then functionality improves, but incorrect patches may require restoration from backup increasing downtime

Engineering Contradiction:
Improvepatch correctnessVSAvoidrestoration time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by maintaining backup copies of application files before applying patches. The backup mechanism is activated automatically when a patch is applied, creating a restore point that can be used if the patch proves incorrect. This preliminary backup action enables rapid restoration without waiting for manual intervention or lengthy recovery processes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates copies of application files in separate backup directories before modifying the original files. These copies serve as restore points that can be quickly deployed if a patch fails. The copying mechanism ensures that both the original and patched versions coexist, enabling rapid switching between versions to mitigate the impact of incorrect patches.

Inventive Principle:
Principle #26Copying

3Productivity

If application files are modified directly, then updates can be applied quickly, but the application cannot continue running during the update process

Engineering Contradiction:
Improveupdate speedVSAvoidapplication runtime
Core Design Contradiction:
ProductivityVSDuration of action of moving object

Solution Approach 1:

The patent segments application files into distinct versions stored in separate directories, allowing the runtime loader to switch between them. This segmentation enables the system to apply patches to one version while the application continues running on another version, maintaining productivity without interrupting runtime operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a runtime loader as an intermediary component that mediates between the application and the file system. The loader manages file loading and can dynamically switch between different file sets without requiring the application to stop. This intermediary enables updates to proceed in the background while maintaining continuous application operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8561050B2Method and system for updating an application
Publication Date: 2013.10.15 HEWLETT PACKARD ENTERPRISE DEV LP
  • US8561050B2 patent drawing
  • US8561050B2 patent drawing
  • US8561050B2 patent drawing

AI summary

The patching of applications is achieved by performing application updates in one file system view, while the application is running in another view. A patch user copies any files that are to be modified, performs the modification on the copies, and switches all users to the patch view once all modifications are complete.