Automated Software Patching via Mediator Layer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional patching methods are burdensome, inefficient, and disruptive, requiring multiple patches for different flavors of executable code modules, large patch sizes, separate testing, administrative permissions, and potential disruptions to computer systems, while also being difficult to apply and manage, especially for hot fixes and non-standard module locations.
Innovation Solution
A software facility for patching that includes parameter testing, automated patching agents, hot, cold, and load-time patching, data-driven and code-driven approaches, and configuration options to enable immediate application, reversibility, and reduced resource requirements, allowing patches to be applied without knowing the module's location and eliminating the need for administrative permissions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional patching methods are used to modify executable code modules, then program functionality can be corrected or improved, but the patching process becomes burdensome and disruptive requiring administrative permissions and system restarts
Solution Approach 1:
The patent introduces a mediator layer between the patch and the executable code module that enables patching without administrative permissions. The mediator captures function calls to the target module, applies patches in memory, and returns results, thereby isolating the patching operation from system-level restrictions and eliminating the need for administrative privileges and restarts.
2Adaptability or versatility
If multiple patches are created for different flavors of executable code modules, then comprehensive coverage is achieved, but patch management complexity increases significantly
Solution Approach 1:
The patent creates a universal patching mechanism that can handle multiple flavors of executable code modules through a single patch interface. The mediator layer abstracts the differences between various module flavors and provides a unified method for applying patches, thereby achieving comprehensive coverage without increasing management complexity.
Solution Approach 2:
The patent segments the patching process into distinct functional components: the mediator that handles interception and application, the patch data structure that identifies target functions, and the execution flow that manages patch deployment. This segmentation allows the system to handle multiple module flavors independently while maintaining a single manageable patching framework.
3Reliability
If entire executable modules are distributed as patches, then complete functionality is provided, but patch size becomes large and contributes to code churn
Solution Approach 1:
The patent extracts only the essential patch data needed to modify specific functions from the entire executable module. Instead of distributing complete module replacements, the system extracts targeted function signatures, patch instructions, and identification data that can be applied in-memory to the running module, dramatically reducing patch size while maintaining functional integrity.
Data Source
AI summary
A facility for automatically processing software patches is described. The facility receives in a computing system a distinguished patch package for modifying the behavior of a programmatic entity. The facility automatically extracts from the distinguished patch package (1) patch application information that identifies a distinguished programmatic entity against which the patches to be applied, and (2) patch behavior information that specifies a manner in which to modify the behavior of the distinguished programmatic entity. The facility automatically adds to a patch table a distinguished entry containing the extracted patch application information and patch behavior information.


