Virtual switching method, related apparatus, and computer system

US10649798B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10649798-B2
Application numberUS-201815979486-A
CountryUS
Kind codeB2
Filing dateMay 15, 2018
Priority dateJun 28, 2013
Publication dateMay 12, 2020
Grant dateMay 12, 2020

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 the Host configures virtual environment between a source node and a target node in combination with an agent module, 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 data exchange method for use by a computing node, wherein the computing node comprises a hardware layer, a host running on the hardware layer, and a plurality of virtual machines (VMs) configured by the host, wherein the hardware layer comprises an input/output (I/O) device and a storage device, wherein the VMs comprise a first VM having a virtual switching function, and one or more second VMs, and wherein the method comprises: configuring, by a configuration and management module set in the host and an agent module set in the first VM or an agent module set in an Openflow controller in communication with the first VM, a port mapping table, wherein the port mapping table lists a virtual port number of the first VM that corresponds to the I/O device and a virtual port number of the first VM that corresponds to each second VM; 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 source node is the I/O device or a second VM, and the target node is the I/O device or a second VM; forming, by the first VM, a second message according to an address of the target node contained in the data and the port mapping table; and sending, by the first VM, the second message to the target node through a virtual port corresponding 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 , further comprising: configuring, by the first VM, a shared memory between the source node and the target node, wherein the shared memory is a specified storage area in the storage device of the hardware layer. 3. The method according to claim 2 , wherein the source node is a 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 virtual port corresponding to the second VM, 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 shared memory according to the virtual port through which the first message is received; obtaining the data from the shared memory; determining, according to an address of the I/O device contained in the data, the virtual port corresponding to the I/O device from the port mapping table; and forming the second message containing the address of the 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 virtual port corresponding to the I/O device, wherein the second message instructs the I/O device to read the data from the shared memory. 4. The method according to claim 3 , wherein the method further comprises: receiving, by the first VM, a reading completion indication from the I/O device and releasing the shared memory. 5. The method according to claim 2 , wherein the source node is the I/O device and the target node is a second VM, wherein the method further comprises: obtaining, 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 port mapping table comprises: determining, by the first VM by querying the port mapping table according to the address of the second VM, the virtual port corresponding to the second VM and determining an address of the first shared memory; sending, by the first VM through the virtual port corresponding to the I/O device, a reply message containing the address of the shared memory to the I/O device, wherein the reply message instructs the I/O device to write the data into the shared memory; 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 shared memory; and wherein sending, by the first VM, the second message to the target node comprises: sending, by the first VM through the virtual port corresponding to the second VM, the second message to the second VM, wherein the second message instructs the second VM to read the data from the shared memory. 6. The method according to claim 5 , wherein the method further comprises: receiving, by the first VM, a reading completion indication from the second VM and releasing the shared memory. 7. The method according to claim 1 , wherein the source node is a second VM and the target node is another second VM, wherein receiving, by the first VM, the first message from the source node comprises: receiving, by the first VM, the first message from the source node through the virtual port corresponding to the source node, wherein the first message comprises a writing completion interrupt which indicates that the source node has written the data into the 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 configured port mapping table comprises: determining, by the first VM according to the virtual port through which the first message is received, an address of the source node corresponding to the virtual port; determining, by the first VM, an address of the shared memory according to the address of the source node and an address of the target node contained in the data; and forming, by the first VM, the second message containing the address of the 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 target node, wherein the second message instructs the target node to read the data from the shared memory. 8. 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; when the entry matching the address of the target node exists, processing, by the first VM, the data according to the execution action parameter in the matching entry; and when the entry matching the address of the target node does not exist, creating, by the first VM, a new entry in the Openflow flowtable that matches the data with the address of the target node. 9. A computing node, comprising: a hardware layer comprising an input/output (I/O) device and a storage device; a host running on the hardware layer, wherein the host comprises a configuration and management module; and a plurality of virtual machines (VMs) configured by the host; wherein the one or more VMs comprise a first VM having a virtual switching function and one or more second VMs; wherein

Assignees

Inventors

Classifications

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

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

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

  • Hypervisors; Virtual machine monitors · CPC title

  • Distribution of virtual machine instances; Migration and load balancing · 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 US10649798B2 cover?
A virtual switching method, a related apparatus, and a computer system are provided. The method includes the Host configures virtual environment between a source node and a target node in combination with an agent module, 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, whe…
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 May 12 2020 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).