Virtual switching method, related apparatus, and computer system

US9996371B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9996371-B2
Application numberUS-201414486246-A
CountryUS
Kind codeB2
Filing dateSep 15, 2014
Priority dateJun 28, 2013
Publication dateJun 12, 2018
Grant dateJun 12, 2018

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 virtual switching method, a related apparatus, and a computer system are provided. The method includes receiving a first message sent by a source node, where the first message is used to request a first virtual machine to perform switching processing on to-be-switched data, where the to-be-switched data is sent from the source node to a target node and at least one of the source node and the target node is a second virtual machine; and determining a second message according to an address of the target node contained in the to-be-switched data and a configured port mapping table, and sending the second message, where the second message is used to instruct the target node to acquire the to-be-switched data from a storage device of a hardware layer.

First claim

Opening claim text (preview).

What is claimed is: 1. A virtual switching method, wherein the method is for use by a computing node and the computing node comprises a hardware layer, a host running on the hardware layer, and one or more virtual machines (VMs) running on the host, wherein the hardware layer comprises an input/output (I/O) device and a storage device, wherein the one or more VMs comprise a first VM having a virtual switching function, and a second VM, and wherein the method comprises: receiving, by the first VM, a first message from a source node, wherein the first message instructs the first VM to handle a switch of data from the source node to a target node, wherein the first message does not contain the data, and wherein the second VM is the source node or the target node; forming, by the first VM, a second message according to an address of the target node contained in the data and a configured port mapping table; and sending, by the first VM, the second message to the target node, wherein the second message instructs the target node to acquire the data from the storage device of the hardware layer. 2. The method according to claim 1 , wherein before receiving, by the first VM, the first message from the source node, the method further comprises: receiving, by the first VM, a configuration command from the host; configuring, by the first VM according to the configuration command, a first virtual port of the first VM and a second virtual port of the first VM, wherein the first virtual port is used by the first VM to communicate with the second VM, and wherein the second virtual port is used by the first VM to communicate with the I/O device; and establishing, by the first VM, a mapping relationship between the first virtual port and the second virtual port and generate the port mapping table. 3. The method according to claim 2 , wherein after receiving the configuration command from the host, the method further comprises configuring, by the first VM according to the configuration command, a first shared memory corresponding to the second VM, and wherein the first shared memory is a specified storage area in the storage device of the hardware layer. 4. The method according to claim 3 , wherein the source node is the second VM and the target node is the I/O device, wherein receiving, by the first VM, the first message from the source node comprises receiving, by the first VM, the first message from the second VM through the first virtual port, wherein the first message comprises a writing completion interrupt which indicates, to the first VM, that the second VM has written the data into the first shared memory, wherein forming, by the first VM, the second message according to the address of the target node contained in the data and the port mapping table comprises: determining, by the first VM, an address of the first shared memory according to the first virtual port used to receive the first message; acquiring the data from the first shared memory; determining, according to an address of the I/O device contained in the data, the second virtual port corresponding to the I/O device from the port mapping table; and forming the second message containing the address of the first shared memory and a reading instruction, and wherein sending, by the first VM, the second message to the target node comprises sending, by the first VM, the second message to the I/O device through the second virtual port, which instructs the I/O device to read the data from the first shared memory. 5. The method according to claim 4 , wherein the method further comprises: receiving, by the first VM, a reading completion indication from the I/O device; and releasing the first shared memory. 6. The method according to claim 3 , wherein the source node is the I/O device and the target node is the second VM, wherein the method further comprises: acquiring, by the first VM from the I/O device, an address of the second VM contained in the data after receiving the first message, wherein forming, by the first VM, the second message according to the address of the target node contained in the data and the configured port mapping table comprises: determining, by the first VM by querying the port mapping table according to the address of the second VM, the first virtual port corresponding to the second VM and determining an address of the first shared memory; sending, by the first VM through the second virtual port, a reply message containing the address of the first shared memory to the I/O device, which instructs the I/O device to write the data into the first shared memory according to the reply message; and forming the second message containing a reading instruction when the first VM receives, from the I/O device, a writing completion interrupt which indicates that the I/O device has written the data into the first shared memory, and wherein sending, by the first VM, the second message to the target node comprises sending, by the first VM through the first virtual port, the second message to the second VM, which instructs the second VM to read the data from the first shared memory. 7. The method according to claim 6 , wherein the method further comprises receiving, by the first VM, a reading completion indication from the second VM and releasing a second shared memory. 8. The method according to claim 2 , wherein the one or more VMs further comprise a third VM, wherein the source node is the second VM and the target node is the third VM, wherein receiving, by the first VM, the first message from the source node comprises receiving, by the first VM through the first virtual port, the first message from the second VM, wherein the first message comprises a writing completion interrupt which indicates that the second VM has written the data into a second shared memory, wherein the second shared memory is pre-negotiated by the second VM with the third VM through the first VM, wherein the second shared memory is a specified storage area in the storage device of the hardware layer, wherein forming, by the first VM, the second message according to the address of the target node contained in the data and the port mapping table comprises: determining, by the first VM according to the first virtual port used to receive the first message, an address of the second VM corresponding to the first virtual port; determining, by the first VM, an address of the second shared memory according to the address of the second VM and an address of the third VM contained in the data; and forming, by the first VM, the second message containing the address of the second shared memory and a reading instruction, and wherein sending, by the first VM, the second message to the target node comprises sending, by the first VM, the second message to the third VM, which instructs the third VM to read the data from the second shared memory. 9. The method according to claim 1 , wherein the port mapping table is an Openflow flowtable, wherein the Openflow flowtable comprises at least one entry, wherein the entry comprises an address, a virtual port, and an execution action parameter, and wherein after receiving, by the first VM, the first message from the source node, the method further comprises: determining, by the first VM according to the address of the target node contained in the data, whether an entry matching the address of the target node exists in the Openflow flowtable; processing, by the first VM, the data according to the execution action parameter in the matching entry when the entry matching the address of the target node exists; and creating, by the first VM, a new entry in the Openflow flowtable that matches the data with the address of the target node when the entry matching the address

Assignees

Inventors

Classifications

  • Virtual switches · CPC title

  • for initial configuration or provisioning, e.g. plug-and-play · CPC title

  • Network integration; Enabling network access in virtual machine instances · CPC title

  • I/O management, e.g. providing access to device drivers or storage · CPC title

  • Hypervisor-specific management and integration aspects · 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 US9996371B2 cover?
A virtual switching method, a related apparatus, and a computer system are provided. The method includes receiving a first message sent by a source node, where the first message is used to request a first virtual machine to perform switching processing on to-be-switched data, where the to-be-switched data is sent from the source node to a target node and at least one of the source node and the …
Who is the assignee on this patent?
Huawei Tech Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F9/45533. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 12 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).