[go: up one dir, main page]

JP2017010070A - Paravirtualized network device, information processing device, information processing method, and information processing program - Google Patents

Paravirtualized network device, information processing device, information processing method, and information processing program Download PDF

Info

Publication number
JP2017010070A
JP2017010070A JP2015121268A JP2015121268A JP2017010070A JP 2017010070 A JP2017010070 A JP 2017010070A JP 2015121268 A JP2015121268 A JP 2015121268A JP 2015121268 A JP2015121268 A JP 2015121268A JP 2017010070 A JP2017010070 A JP 2017010070A
Authority
JP
Japan
Prior art keywords
driver
information processing
virtio
operating system
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015121268A
Other languages
Japanese (ja)
Other versions
JP6548010B2 (en
Inventor
裕志 島本
Hiroshi Shimamoto
裕志 島本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2015121268A priority Critical patent/JP6548010B2/en
Publication of JP2017010070A publication Critical patent/JP2017010070A/en
Application granted granted Critical
Publication of JP6548010B2 publication Critical patent/JP6548010B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To use a paravirtualized network device as a device compatible with a device driver used by an application that operates on a guest operating system.SOLUTION: A paravirtualized network device includes initialization means that initializes an interface with a device driver according to the device driver used by an application that operates on a guest operating system. This allows the paravirtualized network device to operate as a device compatible with the device driver.SELECTED DRAWING: Figure 1

Description

本発明は、準仮想化ネットワークデバイス、情報処理装置、情報処理方法、および情報処理プログラムに関する。   The present invention relates to a paravirtualized network device, an information processing apparatus, an information processing method, and an information processing program.

上記技術分野において、特許文献1には、仮想制御プログラムが、仮想ネットワークデバイスを提供することが開示されている。また、仮想デバイスドライバと物理デバイスドライバとを介してデータ流通が行われるように、仮想制御プログラムが、仮想デバイスドライバと物理デバイスドライバとを接続させる技術が開示されている。   In the above technical field, Patent Document 1 discloses that a virtual control program provides a virtual network device. Also disclosed is a technique in which a virtual control program connects a virtual device driver and a physical device driver so that data is distributed via the virtual device driver and the physical device driver.

特開2012−93917号公報JP 2012-93917 A

しかしながら、上記文献に記載の技術では、ゲストオペレーティングシステム上のデバイスドライバに対して準仮想化ネットワークデバイスが対応できなかったので、デバイスドライバに適応しない準仮想化ネットワークデバイスを使用できなかった。   However, in the technique described in the above document, since the paravirtualized network device cannot cope with the device driver on the guest operating system, the paravirtualized network device that does not adapt to the device driver cannot be used.

本発明の目的は、上述の課題を解決する技術を提供することにある。   The objective of this invention is providing the technique which solves the above-mentioned subject.

上記目的を達成するため、本発明に係る準仮想化ネットワークデバイスは、
ゲストオペレーティングシステムの上で動作するアプリケーションが用いるデバイスドライバに応じて前記デバイスドライバとのインタフェースを初期化する初期化手段を備えた。
In order to achieve the above object, a para-virtualized network device according to the present invention includes:
Initializing means for initializing an interface with the device driver according to a device driver used by an application operating on the guest operating system is provided.

上記目的を達成するため、本発明に係る情報処理装置は、
ホストオペレーティングシステム上で動作する仮想マシンと、前記仮想マシン上で動作するゲストペレーティングシステムとを有する情報処理装置であって、
前記ホストオペレーティングシステム上で動作し、前記仮想マシンを形成するプロセッサエミュレータと、
前記ゲストオペレーティングシステム上で動作するアプリケーションが用いるデバイスドライバに応じて前記デバイスドライバとのインタフェースを初期化する初期化手段を備えた準仮想化ネットワークデバイスと、
を備えた。
In order to achieve the above object, an information processing apparatus according to the present invention provides:
An information processing apparatus having a virtual machine operating on a host operating system and a guest operating system operating on the virtual machine,
A processor emulator running on the host operating system and forming the virtual machine;
A para-virtualized network device comprising initialization means for initializing an interface with the device driver in accordance with a device driver used by an application operating on the guest operating system;
Equipped with.

上記目的を達成するため、本発明に係る情報処理方法は、
仮想マシン上で動作するゲストオペレーティングシステムの上で動作するアプリケーションが用いるデバイスドライバの種類を判別するステップと、
前記判別の結果に基づいて、前記仮想マシン上で動作する準仮想化ネットワークデバイスのインタフェースを前記デバイスドライバに適応したインタフェースに置き換えて動作させるステップと、
を含む。
In order to achieve the above object, an information processing method according to the present invention includes:
Determining the type of device driver used by the application running on the guest operating system running on the virtual machine;
Replacing the interface of the para-virtualized network device operating on the virtual machine with an interface adapted to the device driver based on the result of the determination; and
including.

上記目的を達成するため、本発明に係る情報処理プログラムは、
仮想マシン上で動作するゲストオペレーティングシステムの上で動作するアプリケーションが用いるデバイスドライバの種類を判別するステップと、
前記判別の結果に基づいて、前記仮想マシン上で動作する準仮想化ネットワークデバイスのインタフェースを前記デバイスドライバに適応したインタフェースに置き換えて動作させるステップと、
をコンピュータに実行させる。
In order to achieve the above object, an information processing program according to the present invention provides:
Determining the type of device driver used by the application running on the guest operating system running on the virtual machine;
Replacing the interface of the para-virtualized network device operating on the virtual machine with an interface adapted to the device driver based on the result of the determination; and
Is executed on the computer.

本発明によれば、ゲストオペレーティングシステム上のデバイスドライバに対して準仮想化ネットワークデバイスが対応できるので、デバイスドライバに適応しない準仮想化ネットワークデバイスを使用することができる。   According to the present invention, since the para-virtualized network device can cope with the device driver on the guest operating system, it is possible to use a para-virtualized network device that is not adapted to the device driver.

本発明の第1実施形態に係る準仮想化ネットワークデバイスの構成を説明するためのブロック図である。It is a block diagram for demonstrating the structure of the paravirtualized network device which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係る準仮想化ネットワークデバイスの初期化処理手順を説明するためのフローチャートである。It is a flowchart for demonstrating the initialization process sequence of the paravirtualized network device which concerns on 1st Embodiment of this invention. 本発明の第2実施形態に係る情報処理装置の機能構成を説明するためのブロック図である。It is a block diagram for demonstrating the function structure of the information processing apparatus which concerns on 2nd Embodiment of this invention. 本発明の第3実施形態に係る情報処理装置の機能構成を説明するためのブロック図である。It is a block diagram for demonstrating the function structure of the information processing apparatus which concerns on 3rd Embodiment of this invention. 本発明の第3実施形態に係るvirtioデバイスの要部構成を説明するための図である。It is a figure for demonstrating the principal part structure of the virtio device which concerns on 3rd Embodiment of this invention. 本発明の第3実施形態におけるvirtioドライバ接続時のvirtioデバイスの動作を説明するための図である。It is a figure for demonstrating operation | movement of the virtio device at the time of the virtio driver connection in 3rd Embodiment of this invention. 本発明の第3実施形態におけるポールモードドライバ接続時のvirtioデバイスの動作を説明するための図である。It is a figure for demonstrating operation | movement of the virtio device at the time of the pole mode driver connection in 3rd Embodiment of this invention. 本発明の第3実施形態に係る情報処理装置におけるvirtioデバイスの初期化処理手順を説明するためのフローチャートである。It is a flowchart for demonstrating the initialization process procedure of the virtio device in the information processing apparatus which concerns on 3rd Embodiment of this invention. 本発明の第3実施形態に係る情報処理装置における通常アプリケーションのパケット受信処理手順を説明するための図である。It is a figure for demonstrating the packet reception process procedure of the normal application in the information processing apparatus which concerns on 3rd Embodiment of this invention. 本発明の第3実施形態に係る情報処理装置における通常アプリケーションのパケット送信処理手順を説明するための図である。It is a figure for demonstrating the packet transmission processing procedure of the normal application in the information processing apparatus which concerns on 3rd Embodiment of this invention. 本発明の第3実施形態に係る情報処理装置における高速パケット通信アプリケーションのパケット送受信処理手順を説明するための図である。It is a figure for demonstrating the packet transmission / reception processing procedure of the high-speed packet communication application in the information processing apparatus which concerns on 3rd Embodiment of this invention.

以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。   Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the drawings. However, the components described in the following embodiments are merely examples, and are not intended to limit the technical scope of the present invention only to them.

[第1実施形態]
本発明の第1実施形態としての準仮想化ネットワークデバイスについて、図1を参照して説明する。準仮想化ネットワークデバイス100は、初期化部101を備えている。
[First Embodiment]
A para-virtualized network device as a first embodiment of the present invention will be described with reference to FIG. The para-virtualized network device 100 includes an initialization unit 101.

初期化部101は、仮想マシン上で動作するゲストオペレーティングシステムの上で動作するアプリケーションが有するデバイスドライバの種類に適応したデバイスとして動作するように準仮想化ネットワークデバイス100のインタフェースを初期化する。   The initialization unit 101 initializes the interface of the para-virtualized network device 100 so as to operate as a device adapted to the type of device driver included in the application operating on the guest operating system operating on the virtual machine.

次に、準仮想化ネットワークデバイス100の初期化処理手順について図2を参照して説明する。   Next, an initialization process procedure of the para-virtualized network device 100 will be described with reference to FIG.

準仮想化ネットワークデバイス100の初期化部101は、ステップS201において、ゲストオペレーティングシステムからデバイスドライバの種類の通知を受ける。次いで、ステップS203において、初期化部101は、デバイスドライバの種類に応じて準仮想化ネットワークデバイス100のインタフェースを初期化して動作させる。   In step S201, the initialization unit 101 of the para-virtualized network device 100 receives a device driver type notification from the guest operating system. Next, in step S203, the initialization unit 101 initializes and operates the interface of the para-virtualized network device 100 according to the type of device driver.

本実施形態によれば、初期化部101はアプリケーションが有するデバイスドライバの種類に適応したデバイスとして動作するように準仮想化ネットワークデバイス100のインタフェースを初期化する。   According to the present embodiment, the initialization unit 101 initializes the interface of the para-virtualized network device 100 so as to operate as a device adapted to the type of device driver included in the application.

したがって、ゲストオペレーティングシステムに備わるデバイスドライバに適応したデバイスとして準仮想化ネットワークデバイス100を使用することができる。   Therefore, the para-virtualized network device 100 can be used as a device adapted to the device driver provided in the guest operating system.

[第2実施形態]
本発明の第2実施形態としての情報処理装置300について、図3を参照して説明する。情報処理装置300は、ハードウェア301を備えている。さらに、ハードウェア301上にはホストオペレーティングシステム302が動作し、ホストオペレーティングシステム302上には仮想スイッチ321と仮想マシン303が動作している。
[Second Embodiment]
An information processing apparatus 300 as a second embodiment of the present invention will be described with reference to FIG. The information processing apparatus 300 includes hardware 301. Further, a host operating system 302 operates on the hardware 301, and a virtual switch 321 and a virtual machine 303 operate on the host operating system 302.

仮想スイッチ321は、ハードウェア301に物理的ネットワークカードが接続された場合、この物理的ネットワークカードを通してネットワーク通信が可能である。   When a physical network card is connected to the hardware 301, the virtual switch 321 can perform network communication through the physical network card.

仮想マシン303は、仮想スイッチ321と接続するプロセッサエミュレータ331と、準仮想化ネットワークデバイス332とを備えている。   The virtual machine 303 includes a processor emulator 331 connected to the virtual switch 321 and a para-virtualized network device 332.

さらに、仮想マシン303上には、ゲストオペレーティングシステム304が動作し、ゲストオペレーティングシステム304上にはデバイスドライバ351を有するアプリケーション305が動作している。   Furthermore, a guest operating system 304 operates on the virtual machine 303, and an application 305 having a device driver 351 operates on the guest operating system 304.

また、準仮想化ネットワークデバイス332は、プロセッサエミュレータ331によって提供されたものであり、初期化部333を備えている。   The para-virtualized network device 332 is provided by the processor emulator 331 and includes an initialization unit 333.

初期化部333は、ゲストオペレーティングシステム304上で動作するアプリケーション305が有するデバイスドライバ351の種類に関してゲストオペレーティングシステム304から通知を受ける。そして、このデバイスドライバ351に適応したデバイスとして動作するように準仮想化ネットワークデバイス332のインタフェースを初期化する。これにより、準仮想化ネットワークデバイス332は、アプリケーション305が有するデバイスドライバ351に適応したデバイスとして動作する。   The initialization unit 333 receives a notification from the guest operating system 304 regarding the type of the device driver 351 that the application 305 operating on the guest operating system 304 has. Then, the interface of the para-virtualized network device 332 is initialized so as to operate as a device adapted to the device driver 351. Thereby, the para-virtualized network device 332 operates as a device adapted to the device driver 351 included in the application 305.

本実施形態によれば、アプリケーション305が有するデバイスドライバ351に適応したデバイスとして準仮想化ネットワークデバイス332を使用することができる。   According to the present embodiment, the para-virtualized network device 332 can be used as a device adapted to the device driver 351 included in the application 305.

したがって、アプリケーション305は、ゲストオペレーティングシステム304と仮想マシン303とを通してホストオペレーティングシステム302上の仮想スイッチ321の動作制御を行なうことができる。   Therefore, the application 305 can control the operation of the virtual switch 321 on the host operating system 302 through the guest operating system 304 and the virtual machine 303.

なお、ホストオペレーティングシステム302上に2つ以上の仮想マシンが存在する場合は、それぞれの仮想マシンの準仮想化ネットワークデバイスを用いて、異なる仮想マシン上のアプリケーション間の通信を行なうことも可能である。   When two or more virtual machines exist on the host operating system 302, it is possible to perform communication between applications on different virtual machines using the para-virtualized network devices of the respective virtual machines. .

[第3実施形態]
次に本発明の第3実施形態に係る情報処理装置について、図4乃至図8を用いて説明する。
[Third Embodiment]
Next, an information processing apparatus according to a third embodiment of the present invention will be described with reference to FIGS.

《前提技術》
SDN(Software-Defined Networking)と呼ばれるソフトウェアでネットワークを制御する技術が注目されている。さらに、NFV(Network Function Virtualization)と呼ばれるネットワーク機能を仮想化して、サービスの柔軟性を上げる技術が注目されている。汎用サーバを利用して、特定用途向けハードウェアを減らし、構成を簡略化して運用を容易にすることができる。これらの要素技術として仮想化が利用される。
《Prerequisite technology》
A technique for controlling a network with software called SDN (Software-Defined Networking) attracts attention. Furthermore, a technique for virtualizing a network function called NFV (Network Function Virtualization) to increase service flexibility has attracted attention. By using a general-purpose server, it is possible to reduce hardware for specific applications, simplify the configuration, and facilitate operation. Virtualization is used as these elemental technologies.

サーバの仮想化においてKVM/qemu(Kernel-based Virtual Machine/qemu)に代表される仮想マシンモニタが、入出力機器のエミュレーションを行っている。仮想化におけるネットワークカードの標準的なエミュレーションデバイスとしてvirtioデバイスが存在する。virtioデバイスは仮想マシンで動作するゲストオペレーティングシステムにとって、一般的なPCI(Peripheral Component Interconnect)デバイスに見える。このため、ゲストオペレーティングシステムとして使用される多くのオペレーティングシステムがvirtioデバイスのデバイスドライバを提供している。   In server virtualization, virtual machine monitors represented by KVM / qemu (Kernel-based Virtual Machine / qemu) emulate input / output devices. There is a virtio device as a standard emulation device for network cards in virtualization. The virtio device looks like a general PCI (Peripheral Component Interconnect) device for a guest operating system operating in a virtual machine. For this reason, many operating systems used as guest operating systems provide device drivers for virtio devices.

サーバの仮想化がデータセンタなどで一般化していくなかで、ファイアウォールやDPI(Deep Packet Inspection)のような大量のパケットを扱うネットワークサービスにおいて、高速なパケット通信が求められている。   As server virtualization becomes commonplace in data centers and the like, high-speed packet communication is required in network services that handle a large amount of packets such as firewalls and DPI (Deep Packet Inspection).

ネットワークのパケット通信性能はサーバ仮想化において大きな課題となっている。PCIパススルーあるいはSR−IOV(Single Root I/O Virtualization)パススルー技術などを用いて物理デバイスをゲストオペレーティングシステムに直接扱わせることで、物理環境とほぼ同等の性能を得ることができる。しかし、仮想化を用いたメリットである柔軟性が失われてしまう。   Network packet communication performance is a major issue in server virtualization. By causing the guest device to directly handle a physical device using PCI pass-through or SR-IOV (Single Root I / O Virtualization) pass-through technology, it is possible to obtain almost the same performance as the physical environment. However, flexibility, which is a merit using virtualization, is lost.

一方、汎用サーバにおいて高速にパケット通信を行うためのアプリケーションを作成する開発キットであるDPDK(Data Plane Development Kit)が注目されている。   On the other hand, a DPDK (Data Plane Development Kit), which is a development kit for creating an application for performing high-speed packet communication in a general-purpose server, has attracted attention.

DPDKではポールモードドライバと呼ばれる機構を利用して、デバイスアクセスのレイテンシ(latency)を削減し、高速パケット通信を実現している。このため、高速なパケット通信アプリケーションはDPDKを利用して作成されるようになってきている。また、仮想化技術を用いたサービス柔軟性と運用の簡易化が進む中、DPDKを用いる高速パケット通信アプリケーションの適用が求められている。   In DPDK, a mechanism called a poll mode driver is used to reduce device access latency and realize high-speed packet communication. For this reason, high-speed packet communication applications have been created using DPDK. In addition, as service flexibility using virtualization technology and simplification of operations progress, application of high-speed packet communication applications using DPDK is required.

ゲストオペレーティングシステムでDPDKを利用して、ネットワークのパケット通信性能を確保しようとした場合、virtioデバイスでは高速なパケット通信を行うことが困難となっている。すなわち、virtioデバイスは一般的なPCIデバイスをエミュレーションしている。このため、ドライバからのデバイスアクセスの際に、ホストオペレーティングシステムによるエミュレーションが入ることで、オーバヘッド(間接的あるいは付加的な処理の大きさ)が大きくなり、高速なパケット通信を行うことが困難となっている。   When attempting to ensure network packet communication performance using DPDK in a guest operating system, it is difficult for the virtio device to perform high-speed packet communication. That is, the virtio device emulates a general PCI device. For this reason, when the device is accessed from the driver, the emulation by the host operating system is inserted, so that the overhead (indirect or additional processing size) increases and it becomes difficult to perform high-speed packet communication. ing.

高速なパケット通信を実現するため、DPDKのポールモードドライバの動作に合わせた特殊なデバイスを仮想マシンに実装する案もある。しかし、このような特殊なデバイスは、そのデバイス専用のドライバをもったゲストオペレーティングシステムのみがアクセスできるものとなり、一般的なサーバアプリケーションで利用されるゲストオペレーティングシステムにとっては使えないデバイスとなる。そのため、デプロイ(deploy)するサービスのアプリケーションにおけるゲストオペレーティングシステムに合わせて仮想マシンの種別を変更することが必要となり、管理が煩雑となる。   In order to realize high-speed packet communication, there is a proposal to mount a special device in the virtual machine in accordance with the operation of the DPDK poll mode driver. However, such a special device can be accessed only by a guest operating system having a driver dedicated to the device, and cannot be used by a guest operating system used in a general server application. For this reason, it is necessary to change the type of the virtual machine according to the guest operating system in the application of the service to be deployed, which makes management complicated.

《本実施形態の説明》
図4は、本実施形態に係る情報処理装置の機能構成を説明するためのブロック図である。図において情報処理装置400は、物理ネットワークインタフェースカード(NIC:Network Interface Card)411を搭載したハードウェア401を備えている。物理NIC411は、ハードウェア401に接続され、図示せぬネットワークとの間でパケットを送受信する。
<< Description of this embodiment >>
FIG. 4 is a block diagram for explaining a functional configuration of the information processing apparatus according to the present embodiment. In the figure, the information processing apparatus 400 includes hardware 401 on which a physical network interface card (NIC) 411 is mounted. The physical NIC 411 is connected to the hardware 401 and transmits / receives a packet to / from a network (not shown).

ハードウェア401上ではホストオペレーティングシステム402が動作している。さらに、ホストオペレーティングシステム402上には、仮想スイッチ421と2つの仮想マシン(VM:Virtual Machine)403、404が動作している。なお、本実施形態ではホストオペレーティングシステム402としてLinux(登録商標)を使用している。   A host operating system 402 is operating on the hardware 401. Further, on the host operating system 402, a virtual switch 421 and two virtual machines (VMs) 403 and 404 are operating. In the present embodiment, Linux (registered trademark) is used as the host operating system 402.

仮想マシン403、404のそれぞれは、KVM/qemuで実現されており、qemu431、441を有すると共に、qemu431、441によって提供される準仮想化ネットワークデバイスとしてのvirtioデバイス433、443を備えている。   Each of the virtual machines 403 and 404 is realized by KVM / qemu, has qemu 431 and 441, and includes virtio devices 433 and 443 as para-virtualized network devices provided by the qemu 431 and 441.

また、仮想マシン403、404のvirtioデバイス433、443はqemu431、441が提供するvhost-userバックエンド機能432、442と仮想スイッチ421が提供するvhost-user422とを通して、仮想スイッチ421と接続されている。これにより、virtioデバイス433、443は仮想スイッチ421を介して物理NIC411を利用し、外部のネットワークを介して通信可能となっている。   Further, the virtio devices 433 and 443 of the virtual machines 403 and 404 are connected to the virtual switch 421 through the vhost-user back-end functions 432 and 442 provided by the qemu 431 and 441 and the vhost-user 422 provided by the virtual switch 421. . As a result, the virtio devices 433 and 443 can use the physical NIC 411 via the virtual switch 421 and communicate via an external network.

virtioデバイス433、443は、仮想マシン403、404上で動作するゲストオペレーティングシステム405、406の上で動作するアプリケーション407、408が有するデバイスドライバと接続するときに用いる初期化部434、444を備えている。   The virtio devices 433 and 443 include initialization units 434 and 444 used when connecting to device drivers included in the applications 407 and 408 operating on the guest operating systems 405 and 406 operating on the virtual machines 403 and 404. Yes.

ゲストオペレーティングシステム405上には、virtioドライバ471を有する通常アプリケーション407が動作している。   A normal application 407 having a virtio driver 471 is running on the guest operating system 405.

ゲストオペレーティングシステム406上には、DPDK481のポールモードドライバ482を有する高速パケット通信アプリケーション408が動作している。なお、本実施形態においては、高速パケット通信アプリケーション408は、DPDKを用いて作成されたものである。   A high-speed packet communication application 408 having a DPDK 481 poll mode driver 482 is running on the guest operating system 406. In the present embodiment, the high-speed packet communication application 408 is created using DPDK.

仮想マシン403上で動作している通常アプリケーション407は、virtioドライバ471を用いて、virtioデバイス433と仮想スイッチ421と物理NIC411とを通じてネットワーク通信を行う。   The normal application 407 operating on the virtual machine 403 performs network communication through the virtio device 433, the virtual switch 421, and the physical NIC 411 using the virtio driver 471.

仮想マシン404上で動作している高速パケット通信アプリケーション408は、ポールモードドライバ482を用いて、virtioデバイス443と仮想スイッチ421と物理NIC411とを通じてネットワーク通信を行う。   The high-speed packet communication application 408 operating on the virtual machine 404 performs network communication through the virtio device 443, the virtual switch 421, and the physical NIC 411 using the poll mode driver 482.

図5はvirtioデバイス433、443の要部構成を説明するための図である。図5に示すように、virtioデバイス433、443は初期化部434、444とvirtioドライバ用インタフェース501とポールモードドライバ用インタフェース502とを備えている。初期化部434、444は判定部535、545を有している。さらに、virtioドライバ用インタフェース501はPCIレジスタ511を有している。   FIG. 5 is a diagram for explaining a main configuration of the virtio devices 433 and 443. As shown in FIG. 5, the virtio devices 433 and 443 include initialization units 434 and 444, a virtio driver interface 501, and a pole mode driver interface 502. The initialization units 434 and 444 have determination units 535 and 545, respectively. Further, the virtio driver interface 501 has a PCI register 511.

仮想マシン403上で動作するゲストオペレーティングシステム405において、virtioデバイス433はPCIデバイスとして認識され、virtioドライバ471によって認識されて制御することができる。   In the guest operating system 405 operating on the virtual machine 403, the virtio device 433 is recognized as a PCI device and can be recognized and controlled by the virtio driver 471.

すなわち、ゲストオペレーティングシステム405はvirtioデバイス433に対してPCIデバイスとして動作するようにvirtioデバイス433の初期化部434の判定部535に通知する。初期化部434がvirtioデバイス433を初期化することにより、図6に示すように、virtioドライバ471は、virtioデバイス433に対して、virtioドライバ用インタフェース501のPCIレジスタ511とメモリ602とを介して要求を行なうことができる。また、virtioデバイス433の処理完了通知はCPU(Central Processing Unit)601への割り込みを通じてvirtioドライバ471に伝えられる。パケットを送信する際は、メモリ602におかれたパケットを送信するようにPCIレジスタ511に送信命令を書き込む。virtioデバイス433はパケット送信が完了すると、CPU601に割り込みをかけ、virtioドライバ471はPCIレジスタ511とメモリ602とを使って送信完了を確認する。パケット受信の際は、virtioデバイス433がメモリ602にパケット情報を書き込み、CPU601へ割り込みをかける。virtioドライバ471は割り込みに対応して、メモリ602上のパケット情報を確認して、新たなパケットのためのメモリ領域をPCIレジスタ511を通じて設定する。   That is, the guest operating system 405 notifies the determination unit 535 of the initialization unit 434 of the virtio device 433 so that the virtio device 433 operates as a PCI device. When the initialization unit 434 initializes the virtio device 433, the virtio driver 471 communicates with the virtio device 433 via the PCI register 511 and the memory 602 of the virtio driver interface 501 as shown in FIG. You can make a request. Further, the processing completion notification of the virtio device 433 is transmitted to the virtio driver 471 through an interrupt to a CPU (Central Processing Unit) 601. When transmitting a packet, a transmission command is written in the PCI register 511 so as to transmit the packet stored in the memory 602. When the packet transmission is completed, the virtio device 433 interrupts the CPU 601, and the virtio driver 471 uses the PCI register 511 and the memory 602 to confirm the transmission completion. When receiving a packet, the virtio device 433 writes the packet information in the memory 602 and interrupts the CPU 601. In response to the interrupt, the virtio driver 471 checks the packet information on the memory 602 and sets a memory area for a new packet through the PCI register 511.

一方、仮想マシン404上で動作するゲストオペレーティングシステム406において、virtioデバイス443はPCIデバイスとして認識される。しかし、高速パケット通信アプリケーション408は、DPDK481のポールモードドライバ482を用いてvirtioデバイス443へポールモード専用のインタフェースでのアクセスを行う。これにより、virtioデバイス443におけるオーバヘッドを取り除き、高速パケット通信アプリケーション408が高速なパケット通信を行なうことができる。   On the other hand, in the guest operating system 406 operating on the virtual machine 404, the virtio device 443 is recognized as a PCI device. However, the high-speed packet communication application 408 uses the poll mode driver 482 of the DPDK 481 to access the virtio device 443 through a poll mode dedicated interface. Thereby, the overhead in the virtio device 443 is removed, and the high-speed packet communication application 408 can perform high-speed packet communication.

すなわち、ゲストオペレーティングシステム406はvirtioデバイス443に対してポールモードドライバ482に適応したデバイスとして動作するようにvirtioデバイス443の初期化部444の判定部545に通知する。これにより、初期化部444によってvirtioデバイス443が初期化され、図7に示すように、ポールモードドライバ482による動作時は、全てメモリ702上で完結するように動作させる。つまり、メモリ702上に送受信それぞれのパケット操作領域を確保して動作する。パケット送信時は送信領域にパケットを書き込む。ポールモード動作時のvirtioデバイス443は、ポールモードドライバ用インタフェース502を用いてメモリ602上の送信領域を常にチェックしており、送信パケットが積まれたら、送信処理を行う。また、virtioデバイス443はパケットを受信した際に、メモリ702上の受信領域にパケットを書き込む。ポールモードドライバ482は常に受信領域をポーリングによりチェックするようにアプリケーションが作られている。このため、ポールモードドライバ482は、ポーリングによって受信パケットが存在することを見つけて、パケットを受信する。   That is, the guest operating system 406 notifies the determination unit 545 of the initialization unit 444 of the virtio device 443 so that the virtio device 443 operates as a device adapted to the poll mode driver 482. As a result, the initialization unit 444 initializes the virtio device 443, and the operation by the pole mode driver 482 is completed so as to be completed on the memory 702 as shown in FIG. That is, the operation is performed by securing a packet operation area for each transmission / reception on the memory 702. During packet transmission, the packet is written in the transmission area. The virtio device 443 during the poll mode operation always checks the transmission area on the memory 602 using the poll mode driver interface 502, and performs transmission processing when transmission packets are stacked. Further, when the virtio device 443 receives the packet, it writes the packet in the reception area on the memory 702. The poll mode driver 482 is designed to always check the reception area by polling. Therefore, the poll mode driver 482 finds that a received packet exists by polling, and receives the packet.

したがって、高速パケット通信アプリケーション408は、virtioデバイス443を用いて仮想化のオーバヘッドが削減された高速通信を行うことができる。   Therefore, the high-speed packet communication application 408 can perform high-speed communication with reduced virtualization overhead using the virtio device 443.

次に、本実施形態に係る情報処理装置400におけるvirtioデバイス433、443の初期化処理手順を図8に示すフローチャートを参照して説明する。   Next, an initialization process procedure of the virtio devices 433 and 443 in the information processing apparatus 400 according to the present embodiment will be described with reference to a flowchart shown in FIG.

ステップS801において、システム管理者が仮想マシン(VM:Virtual Machine)403、404を作成する。ステップS803において、ゲストオペレーティングシステム405、406を起動すると、ステップS805において、ゲストオペレーティングシステム405、406はvirtioデバイス433、443のプローブを行なう。このプローブの結果、ゲストオペレーティングシステム405は通常アプリケーション407が有するドライバの種類を判別し、virtioドライバ471に適応するようにvirtioデバイス433に要求する。また、ゲストオペレーティングシステム406は高速パケット通信アプリケーション408が有するドライバの種類を判別し、ポールモードドライバ482に適応するようにvirtioデバイス443に要求する。   In step S801, the system administrator creates virtual machines (VM) 403 and 404. When the guest operating systems 405 and 406 are activated in step S803, the guest operating systems 405 and 406 probe the virtio devices 433 and 443 in step S805. As a result of this probe, the guest operating system 405 determines the type of driver that the normal application 407 has, and requests the virtio device 433 to adapt to the virtio driver 471. In addition, the guest operating system 406 determines the type of driver included in the high-speed packet communication application 408 and requests the virtio device 443 to adapt to the poll mode driver 482.

この後、virtioデバイス433、443は初期化を開始する。ステップS807において、仮想マシン403、404に備わるvirtioデバイス433、443の初期化部434、444は、アプリケーション407、408が有するデバイスドライバがDPDKのポールモードドライバであるか否かを判定する。   After this, the virtio devices 433 and 443 start initialization. In step S807, the initialization units 434 and 444 of the virtio devices 433 and 443 included in the virtual machines 403 and 404 determine whether the device driver included in the applications 407 and 408 is a DPDK pole mode driver.

ステップS807の判定の結果、DPDKのポールモードドライバである場合は、ステップS809において、初期化部434、444は、virtioデバイス433、443をポールモードドライバに適応したデバイスとして初期化する。この後、ステップS811において、初期化部434、444は、初期化が成功したか否かを判定し、初期化が成功しない場合はステップS813の処理に移行し、初期化が成功した場合は処理を終了する。   If the result of determination in step S807 is that it is a DPDK pole mode driver, in step S809, the initialization units 434 and 444 initialize the virtio devices 433 and 443 as devices suitable for the pole mode driver. Thereafter, in step S811, the initialization units 434 and 444 determine whether or not the initialization is successful. If the initialization is not successful, the process proceeds to step S813. If the initialization is successful, the process is performed. Exit.

ステップS807の判定の結果、DPDKのポールモードドライバでない場合は、ステップS813において、初期化部434、444は、virtioデバイス433、443を標準的なvirtioデバイスとして初期化する。これにより、virtioデバイス433、443は、標準的なvirtioデバイスとして動作する。   If the result of determination in step S807 is that it is not a DPDK pole mode driver, in step S813, the initialization units 434 and 444 initialize the virtio devices 433 and 443 as standard virtio devices. As a result, the virtio devices 433 and 443 operate as standard virtio devices.

本実施形態では、通常アプリケーション407が有するデバイスドライバはvirtioドライバ471であるので、初期化部434は、virtioデバイス433を標準的なvirtioデバイスとして初期化して動作させる。一方、高速パケット通信アプリケーション408が有するデバイスドライバはDPDK481のポールモードドライバ482であるので、初期化部444は、virtioデバイス443をポールモードドライバに適応したデバイスとして初期化して動作させる。なお、virtioデバイス443の初期化部444は、virtioデバイス443をポールモードドライバに適応したデバイスとして初期化できなかった場合、標準的なvirtioデバイスとして初期化する。これにより、virtioデバイス443を標準的なvirtioデバイスとして動作させる。この場合、高速パケット通信アプリケーション408は、オーバヘッドは大きくなるが、virtioデバイス443を使用することができる。このため、通常アプリケーション用と高速パケット通信アプリケーション用とのそれぞれに対応して提供する仮想マシンを分ける必要がなくなる。   In this embodiment, since the device driver of the normal application 407 is the virtio driver 471, the initialization unit 434 initializes and operates the virtio device 433 as a standard virtio device. On the other hand, since the device driver included in the high-speed packet communication application 408 is the poll mode driver 482 of the DPDK 481, the initialization unit 444 initializes and operates the virtio device 443 as a device suitable for the poll mode driver. Note that the initialization unit 444 of the virtio device 443 initializes the virtio device 443 as a standard virtio device if it cannot be initialized as a device adapted to the pole mode driver. As a result, the virtio device 443 is operated as a standard virtio device. In this case, the high-speed packet communication application 408 can use the virtio device 443 although the overhead becomes large. For this reason, it is not necessary to divide the virtual machines provided corresponding to the normal application and the high-speed packet communication application.

次に、通常アプリケーション407がパケット通信を行なう場合の処理手順を図9を参照して説明する。   Next, a processing procedure when the normal application 407 performs packet communication will be described with reference to FIG.

通常アプリケーション407はネットワークスタック901を通して仮想マシン403の外部と通信する。   The normal application 407 communicates with the outside of the virtual machine 403 through the network stack 901.

図9は通常アプリケーション407がパケットを受信する場合の処理手順を説明する図である。通常アプリケーション407がパケットを受信する場合は、virtioデバイス433においてパケットを受信すると、virtioデバイス433は、virtioドライバ471に割り込みを使って、パケットの受信を通知する。virtioドライバ471は、パケット受信の割り込みに対応して、パケットデータを受け取る。このパケットデータは、ネットワークスタック901で処理された後に、通常アプリケーション407に渡される。   FIG. 9 is a diagram illustrating a processing procedure when the normal application 407 receives a packet. When the normal application 407 receives a packet, when the virtio device 433 receives the packet, the virtio device 433 notifies the virtio driver 471 of the reception of the packet by using an interrupt. The virtio driver 471 receives packet data in response to a packet reception interrupt. This packet data is processed by the network stack 901 and then passed to the normal application 407.

図10は、通常アプリケーション407がパケットを送信する場合の処理手順を説明する図である。通常アプリケーション407がパケットを送信する場合は、通常アプリケーション407がネットワークスタック901に送信データを渡す。そして、ネットワークスタック901はパケットを構築し、virtioドライバ471に渡す。virtioドライバ471はvirtioデバイス433にパケット送信指示を行う。virtioデバイス433がパケット送信を完了すると、virtioデバイス433は、virtioドライバ471に送信完了割り込みを行い、データ送信が完了する。   FIG. 10 is a diagram illustrating a processing procedure when the normal application 407 transmits a packet. When the normal application 407 transmits a packet, the normal application 407 passes transmission data to the network stack 901. Then, the network stack 901 constructs a packet and passes it to the virtio driver 471. The virtio driver 471 issues a packet transmission instruction to the virtio device 433. When the virtio device 433 completes packet transmission, the virtio device 433 issues a transmission completion interrupt to the virtio driver 471, and data transmission is completed.

次に、高速パケット通信アプリケーション408がパケット通信を行なう場合の処理手順を説明する。図11は、高速パケット通信アプリケーション408がパケット通信を行なう場合の処理手順を説明する図である。   Next, a processing procedure when the high-speed packet communication application 408 performs packet communication will be described. FIG. 11 is a diagram illustrating a processing procedure when the high-speed packet communication application 408 performs packet communication.

高速パケット通信アプリケーション408はDPDK481のポールモードドライバ482を通じてvirtioデバイス443を操作する。DPDK481においては、パケット受信処理はポーリング動作になる。すなわち、高速パケット通信アプリケーション408はポールモードドライバ482を通じてvirtioデバイス443から直接データを取りこむ。取り込むべきデータがvirtioデバイス443上に存在しない場合は、高速パケット通信アプリケーション408は何もせずに次の処理に進む。パケットを送信する場合は、高速パケット通信アプリケーション408は、ポールモードドライバ482を通じてvirtioデバイス443の送信ディスクリプタをチェックして空きがあればパケット送信を行う。送信ディスクリプタに空きがなければ、高速パケット通信アプリケーション408は何もせずに次の処理に進む。   The high-speed packet communication application 408 operates the virtio device 443 through the poll mode driver 482 of the DPDK 481. In DPDK481, the packet reception process is a polling operation. That is, the high-speed packet communication application 408 fetches data directly from the virtio device 443 through the poll mode driver 482. If the data to be captured does not exist on the virtio device 443, the high-speed packet communication application 408 does nothing and proceeds to the next process. When transmitting a packet, the high-speed packet communication application 408 checks the transmission descriptor of the virtio device 443 through the poll mode driver 482, and performs packet transmission if there is a vacancy. If there is no space in the transmission descriptor, the high-speed packet communication application 408 proceeds to the next processing without doing anything.

なお、本実施形態ではホストオペレーティングシステム402としてLinux(登録商標)を用いたがこれに限定されることはない。また、本実施形態では高速パケット通信アプリケーション408およびポールモードドライバ482をDPDK481を用いて作成したものとしたが、これに限定されることはない。さらに、本実施形態では、準仮想化デバイスをvirtioとし、プロセッサエミュレータをqemuとしたがこれに限定されることはない。   In this embodiment, Linux (registered trademark) is used as the host operating system 402, but the present invention is not limited to this. In this embodiment, the high-speed packet communication application 408 and the poll mode driver 482 are created using the DPDK 481, but the present invention is not limited to this. Furthermore, in this embodiment, the paravirtualized device is virtio and the processor emulator is qemu. However, the present invention is not limited to this.

[他の実施形態]
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の範疇に含まれる。
[Other Embodiments]
While the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. In addition, a system or an apparatus in which different features included in each embodiment are combined in any way is also included in the scope of the present invention.

また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する情報処理プログラムが、システムあるいは装置に直接あるいは遠隔から供給される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるWWW(World Wide Web)サーバも、本発明の範疇に含まれる。特に、少なくとも、上述した実施形態に含まれる処理ステップをコンピュータに実行させるプログラムを格納した非一時的コンピュータ可読媒体(non-transitory computer readable medium)は本発明の範疇に含まれる。   In addition, the present invention may be applied to a system composed of a plurality of devices, or may be applied to a single device. Furthermore, the present invention can also be applied to a case where an information processing program that implements the functions of the embodiments is supplied directly or remotely to a system or apparatus. Therefore, in order to realize the functions of the present invention on a computer, a program installed in the computer, a medium storing the program, and a WWW (World Wide Web) server that downloads the program are also included in the scope of the present invention. . In particular, at least a non-transitory computer readable medium storing a program for causing a computer to execute the processing steps included in the above-described embodiments is included in the scope of the present invention.

Claims (8)

ゲストオペレーティングシステムの上で動作するアプリケーションが用いるデバイスドライバに応じて前記デバイスドライバとのインタフェースを初期化する初期化手段を備えた、準仮想化ネットワークデバイス。   A para-virtualized network device comprising initialization means for initializing an interface with the device driver according to a device driver used by an application operating on a guest operating system. 前記初期化手段は、前記デバイスドライバの種類を判定する判定手段を有し、判定結果に基づいて、前記デバイスドライバとのインタフェースを、前記デバイスドライバに適応したインタフェースに置き換える、
請求項1に記載の準仮想化ネットワークデバイス。
The initialization unit includes a determination unit that determines the type of the device driver, and based on the determination result, replaces the interface with the device driver with an interface adapted to the device driver.
The para-virtualized network device according to claim 1.
前記初期化手段は、前記デバイスドライバがポールモードドライバの場合、前記インタフェースを前記ポールモードドライバに適応したインタフェースに置き換える、請求項2に記載の準仮想化ネットワークデバイス。   The para-virtualized network device according to claim 2, wherein when the device driver is a pole mode driver, the initialization unit replaces the interface with an interface adapted to the pole mode driver. 前記初期化手段は、前記デバイスドライバがPCI(Peripheral Component Interconnect)ドライバの場合、前記インタフェースを前記PCIドライバに適応したインタフェースに置き換える、請求項2に記載の準仮想化ネットワークデバイス。   The para-virtualized network device according to claim 2, wherein, when the device driver is a PCI (Peripheral Component Interconnect) driver, the initialization unit replaces the interface with an interface adapted to the PCI driver. ホストオペレーティングシステム上で動作する仮想マシンと、前記仮想マシン上で動作するゲストペレーティングシステムとを有する情報処理装置であって、
前記ホストオペレーティングシステム上で動作し、前記仮想マシンを形成するプロセッサエミュレータと、
前記ゲストオペレーティングシステム上で動作するアプリケーションが用いるデバイスドライバに応じて前記デバイスドライバとのインタフェースを初期化する初期化手段を備えた準仮想化ネットワークデバイスと、
を備えた情報処理装置。
An information processing apparatus having a virtual machine operating on a host operating system and a guest operating system operating on the virtual machine,
A processor emulator running on the host operating system and forming the virtual machine;
A para-virtualized network device comprising initialization means for initializing an interface with the device driver in accordance with a device driver used by an application operating on the guest operating system;
An information processing apparatus comprising:
virtioドライバを用いる通常アプリケーションを備えた第1仮想マシンと、
ポールモードドライバを用いる高速パケット通信アプリケーションを備えた第2仮想マシンと、
を備えた請求項5に記載の情報処理装置。
a first virtual machine with a normal application using the virtio driver;
A second virtual machine with a high-speed packet communication application using a pole mode driver;
The information processing apparatus according to claim 5, comprising:
仮想マシン上で動作するゲストオペレーティングシステムの上で動作するアプリケーションが用いるデバイスドライバの種類を判別するステップと、
前記判別の結果に基づいて、前記仮想マシン上で動作する準仮想化ネットワークデバイスのインタフェースを前記デバイスドライバに適応したインタフェースに置き換えて動作させるステップと、
を含む情報処理方法。
Determining the type of device driver used by the application running on the guest operating system running on the virtual machine;
Replacing the interface of the para-virtualized network device operating on the virtual machine with an interface adapted to the device driver based on the result of the determination; and
An information processing method including:
仮想マシン上で動作するゲストオペレーティングシステムの上で動作するアプリケーションが用いるデバイスドライバの種類を判別するステップと、
前記判別の結果に基づいて、前記仮想マシン上で動作する準仮想化ネットワークデバイスのインタフェースを前記デバイスドライバに適応したインタフェースに置き換えて動作させるステップと、
をコンピュータに実行させる情報処理プログラム。
Determining the type of device driver used by the application running on the guest operating system running on the virtual machine;
Replacing the interface of the para-virtualized network device operating on the virtual machine with an interface adapted to the device driver based on the result of the determination; and
An information processing program that causes a computer to execute.
JP2015121268A 2015-06-16 2015-06-16 Para-virtualized network device, information processing apparatus, information processing method, and information processing program Active JP6548010B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015121268A JP6548010B2 (en) 2015-06-16 2015-06-16 Para-virtualized network device, information processing apparatus, information processing method, and information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015121268A JP6548010B2 (en) 2015-06-16 2015-06-16 Para-virtualized network device, information processing apparatus, information processing method, and information processing program

Publications (2)

Publication Number Publication Date
JP2017010070A true JP2017010070A (en) 2017-01-12
JP6548010B2 JP6548010B2 (en) 2019-07-24

Family

ID=57764413

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015121268A Active JP6548010B2 (en) 2015-06-16 2015-06-16 Para-virtualized network device, information processing apparatus, information processing method, and information processing program

Country Status (1)

Country Link
JP (1) JP6548010B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021070240A1 (en) * 2019-10-08 2021-04-15

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102392626B1 (en) 2020-08-11 2022-04-29 숭실대학교 산학협력단 Secure communication control system and method used in virtualized operating system environment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009134601A (en) * 2007-11-30 2009-06-18 Fujitsu Ltd Disk access method switching device
JP2011014088A (en) * 2009-07-06 2011-01-20 Hitachi Ltd Computer apparatus and path management method
US20120011506A1 (en) * 2010-07-07 2012-01-12 Fujitsu Limited Information processor, control method, and computer-readable recording medium recording control program
US20120084487A1 (en) * 2010-10-01 2012-04-05 Futurewei Technologies, Inc. System and Method for Controlling the Input/Output of a Virtualized Network
US20130326505A1 (en) * 2012-05-30 2013-12-05 Red Hat Inc. Reconfiguring virtual machines
JP2015197874A (en) * 2014-04-03 2015-11-09 日本電信電話株式会社 virtual communication path construction system, virtual communication path construction method, and virtual communication path construction program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009134601A (en) * 2007-11-30 2009-06-18 Fujitsu Ltd Disk access method switching device
JP2011014088A (en) * 2009-07-06 2011-01-20 Hitachi Ltd Computer apparatus and path management method
US20120011506A1 (en) * 2010-07-07 2012-01-12 Fujitsu Limited Information processor, control method, and computer-readable recording medium recording control program
US20120084487A1 (en) * 2010-10-01 2012-04-05 Futurewei Technologies, Inc. System and Method for Controlling the Input/Output of a Virtualized Network
US20130326505A1 (en) * 2012-05-30 2013-12-05 Red Hat Inc. Reconfiguring virtual machines
JP2015197874A (en) * 2014-04-03 2015-11-09 日本電信電話株式会社 virtual communication path construction system, virtual communication path construction method, and virtual communication path construction program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021070240A1 (en) * 2019-10-08 2021-04-15
WO2021070240A1 (en) * 2019-10-08 2021-04-15 日本電信電話株式会社 Intra-server delay control system, intra-server delay control device, intra-server delay control method, and program
JP7251648B2 (en) 2019-10-08 2023-04-04 日本電信電話株式会社 In-server delay control system, in-server delay control device, in-server delay control method and program

Also Published As

Publication number Publication date
JP6548010B2 (en) 2019-07-24

Similar Documents

Publication Publication Date Title
CN114996185B (en) Bridging across address space
EP3556081B1 (en) Reconfigurable server
US9529773B2 (en) Systems and methods for enabling access to extensible remote storage over a network as local storage via a logical storage controller
US9176767B2 (en) Network interface card device pass-through with multiple nested hypervisors
US8776090B2 (en) Method and system for network abstraction and virtualization for a single operating system (OS)
US10684880B2 (en) Allocating and initializing I/O devices at virtual
CN110770708B (en) Method and apparatus for hardware virtualization
US9294567B2 (en) Systems and methods for enabling access to extensible storage devices over a network as local storage via NVME controller
JP6458798B2 (en) Computer system, data processing device
JP2009187368A (en) USB port sharing control method
US10169075B2 (en) Method for processing interrupt by virtualization platform, and related device
JP7310924B2 (en) In-server delay control device, server, in-server delay control method and program
CN114691286B (en) Server system, virtual machine creation method and device
US10452570B1 (en) Presenting physical devices to virtual computers through bus controllers emulated on PCI express endpoints
WO2015010896A1 (en) Input/output monitoring mechanism
CN110968392B (en) Method and device for upgrading virtualized simulator
US9483290B1 (en) Method and system for virtual machine communication
CN108124475A (en) Virtual system Bluetooth communication method and device, virtual system, storage medium and electronic equipment
KR101716715B1 (en) Method and apparatus for handling network I/O apparatus virtualization
Zazo et al. A PCIe DMA engine to support the virtualization of 40 Gbps FPGA-accelerated network appliances
CN119201341A (en) A network communication method, device and equipment between a virtual machine and a host machine
WO2015190079A1 (en) Computer system, connection management method for remote device, and program recording medium
US20240028381A1 (en) Virtual i/o device management
KR101468179B1 (en) Method for changing virtual environment in cloud computuing and terminal equipment using the same
JP6548010B2 (en) Para-virtualized network device, information processing apparatus, information processing method, and information processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180508

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190521

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190530

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190612

R150 Certificate of patent or registration of utility model

Ref document number: 6548010

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150