Proxy Object System for Seamless Virtual Hard Disk Driver Upgrades
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed computing systems, upgrading virtual hard disk (VHD) drivers typically requires shutting down virtual machines (VMs), leading to downtime and disrupting business continuity.
Innovation Solution
A proxy object system leveraging an agent-principal-based mechanism allows for seamless modification of software components by intercepting task requests, tracking I/O tasks, closing session tasks, and preserving state information, enabling upgrades without shutting down the VM.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If VHD drivers are updated by shutting down the VM, then driver modification is achieved, but VM uptime and business continuity deteriorate
Solution Approach 1:
The patent introduces a driver store as an intermediary component that maintains a copy of the driver and driver symbols. This allows the driver to be updated in the driver store while the running driver continues to serve the VM, eliminating the need to shut down the VM for driver updates. The intermediary driver store acts as a buffer between the update process and the running system.
Solution Approach 2:
The system performs preliminary actions by pre-loading and maintaining driver copies in the driver store before they are needed. The driver symbols and binary information are prepared in advance in the driver store, so when an update is required, the new driver is already available and can be activated without interrupting the VM operation.
2Adaptability or versatility
If active resources of the VHD are closed and VM is shutdown, then driver replacement is enabled, but operation continuity deteriorates
Solution Approach 1:
The system creates and maintains copies of the driver and driver symbols in the driver store. These copies allow the original running driver to continue serving the VM while a new driver copy is prepared and loaded into the driver store, enabling driver replacement without affecting operation continuity.
Solution Approach 2:
Driver copies and symbols are prepared in advance in the driver store before replacement is needed. This preliminary preparation ensures that when driver replacement is required, the new driver is already available and can be activated immediately without interrupting VM operations.
3Ease of repair
If driver updates require VM shutdown, then driver maintenance is simplified, but system availability deteriorates
Solution Approach 1:
The driver store serves as an intermediary that maintains driver copies independent of the running VM. This allows driver maintenance operations to be performed on the driver store without affecting the running driver, enabling maintenance without downtime while keeping the process simple through the intermediary layer.
Solution Approach 2:
The system maintains continuous driver functionality by keeping a running driver active while performing maintenance on driver copies in the driver store. The useful action of driver operation continues uninterrupted while maintenance occurs in the background on the intermediary driver store.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In various embodiments, methods and systems, for implementing proxy objects are provided. A task request directed to a driver component is intercepted at a proxy object component. The task request is an Input/Output or a session task. A proxy object is generated for the task request at the proxy object component. The task request is communicated from the proxy object component to the driver component. A modification indication to modify the driver component is received. A standby mode is initiated at the proxy object component and the driver component, the standby mode comprises processing task requests and proxy objects based on standby operations. A determination that the driver component has been modified to a modified version of the driver component is made. A recovery mode is initiated at the proxy object component and the driver component, the recovery mode comprises processing task requests and proxy objects based on recovery operations.