Client Software Upgrade via I/O Suspension in Storage Nodes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional client software upgrades in distributed storage systems cause service interruptions and inefficiencies due to I/O exceptions or high scheduling costs.

Innovation Solution

A method and apparatus for upgrading client software that involves suspending I/O operations during the upgrade process, allowing buffered data to be transmitted to storage nodes for persistent storage, and resuming I/O operations after the upgrade is complete, ensuring service continuity and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If client software is upgraded by manually disabling service, then upgrade can be performed, but service interruption occurs and user experience is affected

Engineering Contradiction:
Improveservice continuityVSAvoidservice interruption time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by saving the current running status and suspending I/O operations before the upgrade process begins. This preparation ensures that the service can be quickly restored after upgrade by resuming the saved status, thereby maintaining service continuity and avoiding user-facing interruptions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The upgrade management module acts as an intermediary between the upgrade process and the service operations. It coordinates the suspension and resumption of I/O operations, manages the upgrade execution, and ensures that service requests are properly handled during the transition, preventing service interruption while enabling the upgrade.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If service is scheduled to another unupgraded client by using scheduler, then service continuity is maintained, but scheduling costs increase and upgrade efficiency decreases

Engineering Contradiction:
Improveservice continuityVSAvoidupgrade efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system extracts the service processing capability from the individual client being upgraded and temporarily holds it at the upgrade management module. This allows the client to be upgraded in place without requiring complex inter-client scheduling, thereby improving upgrade efficiency while maintaining service continuity through the suspension and resumption mechanism.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The client performs self-upgrade by suspending its own I/O operations, upgrading its local software, and then resuming operations. This eliminates the need for external scheduling to other clients, reducing scheduling overhead and improving upgrade efficiency while maintaining service continuity through the self-managed suspension-resumption cycle.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If I/O operations are suspended during upgrade, then client software can be upgraded online, but I/O operations are blocked during the process

Engineering Contradiction:
Improveonline upgrade capabilityVSAvoidI/O processing throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The I/O suspension is applied periodically and temporarily only during the actual software upgrade execution, not continuously. The system suspends I/O operations for the brief upgrade duration and then resumes them, allowing online upgrade capability while minimizing the impact on I/O processing throughput by limiting suspension to necessary periods only.

Inventive Principle:
Principle #19Periodic action

4Productivity

If buffered data is not transmitted before I/O suspension, then upgrade process is faster, but data loss occurs

Engineering Contradiction:
Improveupgrade speedVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary action by transmitting buffered data to storage nodes before suspending I/O operations. This ensures data integrity is maintained while minimizing the impact on upgrade speed, as the data transmission occurs in advance during a controlled phase rather than blocking the entire upgrade process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4390671B1Client software upgrading method and apparatus
Publication Date: 2026.03.25 HUAWEI TECH CO LTD
  • EP4390671B1 patent drawingFigure 1
  • EP4390671B1 patent drawingFigure 2~3
  • EP4390671B1 patent drawingFigure 4~5

AI summary

A method and an apparatus for upgrading client software are provided, to provide a technical solution of online upgrade, and avoid service interruption caused by upgrade of a client deployed on a computing node in a storage system. Alternatively, compared with a manner in which a service processed by client software is scheduled by using a scheduler during upgrade, this application does not increase scheduling time costs, thereby improving upgrade efficiency. The method includes: The computing node in the storage system receives an upgrade instruction for client software deployed on the computing node, where the client software is used to access one or more storage nodes in the storage system based on a received input/output I/O instruction; performs I/O suspension on the received I/O instruction in response to the upgrade instruction; and upgrades the client software based on the upgrade instruction.