Hot Patch Management via Dynamic Slot Reclamation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtualization technologies face limitations in applying an unlimited number of hot patches without rebooting, despite having only a finite number of logical slots.
Innovation Solution
The solution involves assigning each hot patch request to an inactive logical patch slot, executing the patch from that slot, and reclaiming resources when the patch generation reaches zero, allowing for an unlimited number of hot patches without rebooting by leveraging bounded execution guarantees.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a finite number of logical patch slots are used to store hot patches, then device complexity is reduced and memory overhead is bounded, but the ability to apply an unlimited number of hot patches without rebooting is limited
Solution Approach 1:
The patent implements a reference counting mechanism where each logical patch slot tracks how many threads are using its patch generation. When the reference count reaches zero, the slot is automatically reclaimed and marked inactive, making it available for future patch assignments. This allows unlimited hot patches to be applied over time while maintaining a bounded number of active slots, resolving the contradiction between adaptability and device complexity.
2Duration of action of stationary object
If multiple hot patches are applied sequentially without rebooting, then system availability is improved, but memory resource management becomes more complex
Solution Approach 1:
The patent changes the state parameter of logical patch slots from static (always occupied) to dynamic (active/inactive based on reference count). This allows the system to maintain a fixed pool of logical slots while dynamically adjusting which slots are actively used based on patch application and thread execution patterns. The reference counting mechanism ensures that memory resources are reclaimed when no longer needed, enabling extended system uptime without unbounded memory growth.
3Reliability
If a fixed number of logical patch slots are allocated, then memory overhead is bounded, but the flexibility to handle varying patch requirements is reduced
Solution Approach 1:
The patent introduces dynamic reference counting to track thread usage of each patch slot. The system transitions from static slot allocation to dynamic slot activation/deactivation based on real-time thread execution patterns. When all threads complete their patch execution, the slot automatically transitions from active to inactive state, providing flexibility within a fixed memory footprint while maintaining reliable patch application through structured reference management.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The disclosed technology is generally directed to the patching of executing binaries. In one example of the technology, at separate times, a plurality of hot patch requests is received. Each hot patch request of the plurality of hot patch requests includes a corresponding hot patch to hot patch the executing binary. A cardinality of the plurality of hot patch requested is greater than the fixed number of logical patch slots. with the executing binary continuing to execute, each time a request to apply a hot patch to the executing binary is received, the corresponding hot patch is assigned to an inactive logical patch slot of the fixed number of logical patch slots. The corresponding hot patch is executed from the assigned logical patch slot to hot patch the executing binary based on the corresponding hot patch.