IP Library Granted Patent US 10,521,221
Granted Patent B2
US 10,521,221 · App. 15/818,575 · Granted Dec 31, 2019

Method and apparatus for upgrading vhost-net module

Inventors: Xiantao Zhang (Hangzhou, CN); Junkang Fu (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
G06F8/656G06F8/65G06F9/455G06F9/4555
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,521,221
App. No.
15/818,575
Granted
Dec 31, 2019
Kind
B2
Abstract

A method and an apparatus for upgrading a para-virtualized network adapter kernel acceleration module are disclosed. The method includes switching a network flow of a first para-virtualized network adapter kernel acceleration module to a user mode for transmission; removing the first para-virtualized network adapter kernel acceleration module; inserting a second para-virtualized network adapter kernel acceleration module; and switching a transmission of the network flow in the user mode to a transmission by the second para-virtualized network adapter kernel acceleration module. The method and the apparatus for upgrading a para-virtualized network adapter kernel acceleration module switches between a kernel mode and a user mode for a network flow without affecting fluctuations in a network flow of a virtual machine. An upgrade of a para-virtualized network adapter kernel acceleration module is achieved, which is unnoticeable by a user, and user experience is not affected.

Claims (45)

1. A method comprising:

switching a network flow of a first para-virtualized network adapter kernel acceleration module to a user mode for transmission;

removing the first para-virtualized network adapter kernel acceleration module;

inserting a second para-virtualized network adapter kernel acceleration module; and

switching a transmission of the network flow in the user mode to a transmission by the second para-virtualized network adapter kernel acceleration module.

2. The method of claim 1 , wherein switching the network flow of the first para-virtualized network adapter kernel acceleration module to the user mode for transmission comprises:

a process of a machine virtualizer obtaining a usage status of a shared memory; and

the process of the machine virtualizer controlling sending and/or receiving network data packets in the shared memory.

3. The method of claim 2 , wherein switching the network flow of the first para-virtualized network adapter kernel acceleration module to the user mode for transmission further comprises stopping a poll of a kernel thread of the first para-virtualized network adapter kernel acceleration module.

4. The method of claim 1 , wherein removing the first para-virtualized network adapter kernel acceleration module comprises clearing up resources of the first para-virtualized network adapter kernel acceleration module.

5. The method of claim 1 , wherein inserting the second para-virtualized network adapter kernel acceleration module comprises initializing resources of the second para-virtualized network adapter kernel acceleration module.

6. The method of claim 1 , wherein switching the transmission of the network flow in the user mode to the transmission by the second para-virtualized network adapter kernel acceleration module comprises:

the second para-virtualized network adapter kernel acceleration module creating a kernel thread;

the kernel thread of the second para-virtualized network adapter kernel acceleration module obtaining a usage status of a shared memory; and

the kernel thread of the second para-virtualized network adapter kernel acceleration module controlling sending and/or receiving of network data packets in the shared memory.

7. The method of claim 6 , wherein switching the transmission of the network flow in the user mode to the transmission by the second para-virtualized network adapter kernel acceleration module further comprises opening a poll of the kernel thread of the second para-virtualized network adapter kernel acceleration module.

8. An apparatus comprising:

one or more processors;

memory storing executable instructions that, when executed by the one or more processors, cause the one or more processors to perform acts comprising:

switching a network flow of a first para-virtualized network adapter kernel acceleration module to a user mode for transmission;

removing the first para-virtualized network adapter kernel acceleration module;

inserting a second para-virtualized network adapter kernel acceleration module; and

switching a transmission of the network flow in the user mode to a transmission by the second para-virtualized network adapter kernel acceleration module.

9. The apparatus of claim 8 , wherein the acts further comprise enabling a process of a machine virtualizer to obtain a usage status of a shared memory, and enabling the process of the machine virtualizer to control sending and/or receiving of a data packet in the shared memory.

10. The apparatus of claim 9 , the acts further comprise stopping a poll of a kernel thread of the first para-virtualized network adapter kernel acceleration module.

11. The apparatus of claim 8 , wherein the acts further comprise clearing up resources of the first para-virtualized network adapter kernel acceleration module.

12. The apparatus of claim 8 , wherein the acts further comprise initializing resources of the second para-virtualized network adapter kernel acceleration module.

13. The apparatus of claim 8 , wherein the acts further comprise creating a kernel thread for the second para-virtualized network adapter kernel acceleration module, enabling the kernel thread of the second para-virtualized network adapter kernel acceleration module to obtain a usage status of a shared memory, and to control sending and/or receiving of network data packets in the shared memory.

14. The apparatus of claim 13 , wherein the acts further comprise opening a poll of the kernel thread of the second para-virtualized network adapter kernel acceleration module.

15. One or more computer-readable media storing executable instructions that, when executed by one or more processors, cause the one or more processors to perform acts comprising:

switching a network flow of a first para-virtualized network adapter kernel acceleration module to a user mode for transmission;

removing the first para-virtualized network adapter kernel acceleration module;

inserting a second para-virtualized network adapter kernel acceleration module; and

switching a transmission of the network flow in the user mode to a transmission by the second para-virtualized network adapter kernel acceleration module.

16. The one or more computer-readable media of claim 15 , wherein switching the network flow of the first para-virtualized network adapter kernel acceleration module to the user mode for transmission comprises:

a process of a machine virtualizer obtaining a usage status of a shared memory; and

the process of the machine virtualizer controlling sending and/or receiving network data packets in the shared memory.

17. The one or more computer-readable media of claim 16 , wherein switching the network flow of the first para-virtualized network adapter kernel acceleration module to the user mode for transmission further comprises stopping a poll of a kernel thread of the first para-virtualized network adapter kernel acceleration module.

18. The one or more computer-readable media of claim 15 , wherein removing the first para-virtualized network adapter kernel acceleration module comprises clearing up resources of the first para-virtualized network adapter kernel acceleration module.

19. The one or more computer-readable media of claim 15 , wherein inserting the second para-virtualized network adapter kernel acceleration module comprises initializing resources of the second para-virtualized network adapter kernel acceleration module.

20. The one or more computer-readable media of claim 15 , wherein switching the transmission of the network flow in the user mode to the transmission by the second para-virtualized network adapter kernel acceleration module comprises

the second para-virtualized network adapter kernel acceleration module creating a kernel thread;

the kernel thread of the second para-virtualized network adapter kernel acceleration module obtaining a usage status of a shared memory;

the kernel thread of the second para-virtualized network adapter kernel acceleration module controlling sending and/or receiving of network data packets in the shared memory; and

opening a poll of the kernel thread of the second para-virtualized network adapter kernel acceleration module.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075478/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2018
From: ZHANG, XIANTAO; FU, JUNKANG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 045302/0124 →
Priority Claims (1)
CN 2015 1 0264571 · May 21, 2015 · national
Continuity (2)
Continuation PCTCN2016081953 · May 13, 2016
Related Publication 20180074837A1 · Mar 15, 2018