Proxy Object System for Seamless Virtual Hard Disk Driver Upgrades

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedriver modificationVSAvoidVM uptime
Core Design Contradiction:
Ease of manufactureVSReliability

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If active resources of the VHD are closed and VM is shutdown, then driver replacement is enabled, but operation continuity deteriorates

Engineering Contradiction:
Improvedriver replacementVSAvoidoperation continuity
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #10Preliminary action

3Ease of repair

If driver updates require VM shutdown, then driver maintenance is simplified, but system availability deteriorates

Engineering Contradiction:
Improvedriver maintenanceVSAvoiddowntime
Core Design Contradiction:
Ease of repairVSLoss of time

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentEP3411787B1Proxy object system
Publication Date: 2022.03.02 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3411787B1 patent drawingFigure 1
  • EP3411787B1 patent drawingFigure 2
  • EP3411787B1 patent drawingFigure 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.