Method and Apparatus for Upgrading Client Software

US2024211246A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2024211246-A1
Application numberUS-202418597029-A
CountryUS
Kind codeA1
Filing dateMar 6, 2024
Priority dateSep 8, 2021
Publication dateJun 27, 2024
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method for upgrading client software includes receiving an upgrade instruction for client software deployed on a 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; performing I/O suspension on the received I/O instruction in response to the upgrade instruction; and upgrading the client software based on the upgrade instruction.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method comprising: receiving, by a client software, a first input/output (I/O) instruction to access one or more storage nodes of a storage system; receiving an upgrade instruction for the client software; performing I/O suspension on the first I/O instruction in response to the upgrade instruction; and upgrading the client software based on the upgrade instruction. 2 . The method according to of claim 1 , further comprising: generating buffered data in response to the first I/O instruction; sending the buffered data to the one or more storage nodes; and performing, in response to the upgrade instruction, the I/O suspension after sending the buffered data to the one or more storage nodes. 3 . The method according to of claim 2 , further comprising: receiving a second I/O instruction while sending the buffered data to the one or more storage nodes; processing the second I/O instruction in a manner of synchronously accessing the one or more storage nodes. 4 . The method according to of claim 1 , further comprising: determining that the client software has completed being upgraded to obtain an upgraded client software; canceling the I/O suspension; and processing, based on the upgraded client software, the first I/O instruction. 5 . The method of claim 1 , wherein upgrading the client software comprises upgrading a core module of the client software. 6 . A computing node, comprising: one or more memories are configured to store instructions; and one or more processors configured to execute the instructions to cause the computing node to: receive, by a client software, a first input/output (I/O) instruction to access one or more storage nodes of a storage system; receive an upgrade instruction for client software; perform I/O suspension on the first I/O instruction in response to the upgrade instruction; and upgrade the client software based on the upgrade instruction. 7 . The computing node of claim 6 , wherein the one or more processors are further configured to execute the instructions to cause the computing node to: generate buffered data in response to the first I/O instruction; send the buffered data to the one or more storage nodes; and perform, in response to the upgrade instruction, the I/O suspension after sending the buffered data to the one or more storage nodes. 8 . The computing node of claim 7 , wherein the one or more processors are further configured to execute the instructions to cause the computing node to: receive a second I/O instruction while sending the buffered data to the one or more storage nodes; process the second I/O instruction in a manner of synchronously accessing the one or more storage nodes. 9 . The computing node of claim 6 , wherein the one or more processors are further configured to execute the instructions to cause the computing node to: determine that the client software has completed being upgraded to obtain an upgraded client software; cancel the I/O suspension; and process, based on the upgraded client software, the first I/O instruction. 10 . The computing node of claim 6 , wherein the one or more processors are configured to execute the instructions to further cause the computing node to: upgrade a core module of the client software based on the upgrade instruction. 11 . A computer program product comprising computer-executable instructions stored on a non-transitory computer-readable storage medium, wherein the computer-executable instructions when executed by a processor of an apparatus, cause the apparatus to: deploy a client software on a computing node, wherein the client software is configured to access one or more storage nodes of a storage system; receive, by the client software, a first input/output (I/O) instruction to access the one or more storage nodes; receive an upgrade instruction for client software; perform I/O suspension on the first I/O instruction in response to the upgrade instruction; and upgrade the client software based on the upgrade instruction. 12 . The computer program product of claim 11 , wherein the computer-executable instructions when executed by the processor of the apparatus, further cause the apparatus to: generate buffered data in response to the first I/O instruction; send the buffered data to the one or more storage nodes; and perform, in response to the upgrade instruction, the I/O suspension after sending the buffered data to the one or more storage nodes. 13 . The computer program product of claim 12 , wherein the computer-executable instructions when executed by the processor of the apparatus, further cause the apparatus to: receive a second I/O instruction while sending the buffered data to the one or more storage nodes; process the second I/O instruction in a manner of synchronously accessing the one or more storage nodes. 14 . The computer program product of claim 11 , wherein the computer-executable instructions when executed by the processor of the apparatus, further cause the apparatus to: determine that the client software has completed being upgraded to obtain an upgraded client software; cancel the I/O suspension; and process, based on the upgraded client software, the first I/O instruction. 15 . The computer program product of claim 12 , wherein the computer-executable instructions when executed by the processor of the apparatus, further cause the apparatus to upgrade a core module of the client software based on the upgrade instruction. 16 . The computer program product of claim 15 , wherein the computer-executable instructions when executed by the processor of the apparatus, further cause the apparatus to: receive the first I/O instruction at an interface module of the client software; and transmit the first I/O instruction to the core module. 17 . The computer program product of claim 16 , wherein the computer-executable instructions when executed by the processor of the apparatus, further cause the core module to synchronously access storage data in the one or more storage nodes. 18 . The computer program product of claim 17 , wherein the computer-executable instructions when executed by the processor of the apparatus, further cause a control module of the client software to send the buffered data to the one or more storage nodes. 19 . The computer program product of claim 18 , wherein the computer-executable instructions when executed by the processor of the apparatus, further cause the control module to send, in response to the upgrade instruction, a control command to the interface module to perform I/O suspension on the first I/O instruction. 20 . The computer program product of claim 19 , wherein the computer-executable instructions when executed by the processor of the apparatus, further cause the interface module to execute the control command to perform I/O suspension on the first I/O instruction.

Assignees

Inventors

Classifications

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

  • G06F3/0619Primary

    in relation to data integrity, e.g. data losses, bit errors · CPC title

  • Program loading or initiating (bootstrapping G06F9/4401; security arrangements for program loading or initiating G06F21/57) · CPC title

  • G06F8/65Primary

    Updates (security arrangements therefor G06F21/57) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2024211246A1 cover?
A method for upgrading client software includes receiving an upgrade instruction for client software deployed on a 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; performing I/O suspension on the received I/O instruction in response to the upgrade instruction; and upgrading the client s…
Who is the assignee on this patent?
Huawei Tech Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F3/0619. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jun 27 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).