Non-disruptive Driver Upgrade via Module Cutover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing driver upgrade processes require system reboot and application restart, disrupting system operations and being undesirable in terms of impact on system operation.

Innovation Solution

A method for upgrading drivers that involves installing a driver with an upgrade facility, loading upgrade modules, and performing cutover processing to switch from the old to the new driver configuration tree and stack, allowing seamless I/O operations without disrupting applications by suspending and resuming operations on a device-by-device basis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a driver upgrade is performed using traditional methods, then the driver functionality is updated to a new version, but the system requires reboot and applications must be stopped and restarted, causing disruption to system operation

Engineering Contradiction:
Improvedriver functionalityVSAvoidsystem operation continuity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The driver is segmented into multiple loadable modules (base driver module and extension modules) that can be independently loaded and unloaded. This segmentation allows the system to upgrade driver functionality by loading new modules without requiring a system reboot, as each module can be updated independently while the overall driver structure remains functional.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The driver architecture implements dynamic loading and unloading of modules during system operation. The upgrade facility enables modules to be loaded, replaced, or unloaded at runtime without stopping the driver or requiring system reboot. This dynamic capability allows continuous system operation while driver functionality is updated, resolving the contradiction between reliability improvement and productivity maintenance.

Inventive Principle:
Principle #15Dynamics

2Reliability

If driver extension modules are upgraded, then the driver is updated to a new version, but applications utilizing the driver must be stopped and restarted to use the upgraded driver

Engineering Contradiction:
Improvedriver versionVSAvoidapplication downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The upgrade facility performs preliminary actions by loading upgraded extension modules into memory before applications need to use them. The system prepares the new driver modules in advance, registers them with the driver, and makes them available for immediate use without requiring application restart. This preliminary preparation eliminates the need for application downtime during driver upgrades.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The driver architecture introduces an intermediary upgrade facility that acts as a mediator between the upgraded extension modules and the running applications. This facility manages the module loading, replacement, and unloading processes, allowing applications to continue operating while the driver modules are updated in the background. The intermediary mechanism decouples the module upgrade process from application execution, eliminating the need to stop applications.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If a system reboot is performed to use the upgraded driver, then the driver upgrade is completed, but system operation is interrupted

Engineering Contradiction:
Improvedriver upgrade completionVSAvoidsystem operation
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The driver upgrade facility implements self-service capability by automatically managing the entire upgrade process without requiring system reboot. The facility handles module loading, registration, replacement, and unloading operations autonomously while the system continues to run. This self-service mechanism allows the driver to upgrade itself and its modules without external intervention or system interruption, maintaining ease of operation while completing the upgrade.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9081704B1Techniques for non-disruptive upgrade
Publication Date: 2015.07.14 EMC IP HLDG CO LLC
  • US9081704B1 patent drawing
  • US9081704B1 patent drawing
  • US9081704B1 patent drawing

AI summary

Described are techniques for upgrading a driver. A driver is installed which includes an upgrade facility, a base driver and a first set of one or more driver extension modules for processing input/output operations for one or more devices. Processing is performed to upgrade the driver using the upgrade facility. The processing includes loading one or more upgrade modules associated with a second version of said driver and performing cutover processing for each of the one or more devices.