JP5109748B2 - Virtual computer system, packet transmission control method, and network interface card used therefor - Google Patents

Virtual computer system, packet transmission control method, and network interface card used therefor Download PDF

Info

Publication number
JP5109748B2
JP5109748B2 JP2008079458A JP2008079458A JP5109748B2 JP 5109748 B2 JP5109748 B2 JP 5109748B2 JP 2008079458 A JP2008079458 A JP 2008079458A JP 2008079458 A JP2008079458 A JP 2008079458A JP 5109748 B2 JP5109748 B2 JP 5109748B2
Authority
JP
Japan
Prior art keywords
transmission
upper limit
transmission packet
packet
priority
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.)
Expired - Fee Related
Application number
JP2008079458A
Other languages
Japanese (ja)
Other versions
JP2009239374A (en
Inventor
敏男 大比良
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 JP2008079458A priority Critical patent/JP5109748B2/en
Publication of JP2009239374A publication Critical patent/JP2009239374A/en
Application granted granted Critical
Publication of JP5109748B2 publication Critical patent/JP5109748B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は仮想計算機システム及びパケット送信制御方法並びにそれに用いるネットワークインターフェースカードに関し、特に複数の仮想計算機の各々の送信すべきパケット群の各送信パケットに関する情報群を処理し、この処理結果に従って各仮想計算機の送信パケットをネットワークへ送信するネットワークインターフェースカードのパケット送信制御方式に関するものである。   The present invention relates to a virtual machine system, a packet transmission control method, and a network interface card used for the virtual machine system, and more particularly, to process information groups related to transmission packets of packet groups to be transmitted from a plurality of virtual machines, and to each virtual machine according to the processing result. The present invention relates to a packet transmission control method for a network interface card that transmits a transmission packet to a network.

1つの計算機システムで利用可能なプロセッサ数は、マルチコアプロセッサが登場したことにより飛躍的に増加させることが可能となってきた。このようなプロセッサを多数搭載した計算機システムを単独OSで利用すると、システムアイドル状態で多くのプロセッサ資源が無駄になってしまう。そこで、プロセッサ資源の利用効率を向上させる方法として、制御プログラムにより計算機システム上に複数の仮想計算機を同時に稼動させるという方法がある。   The number of processors that can be used in one computer system can be dramatically increased with the advent of multi-core processors. When a computer system equipped with a large number of such processors is used as a single OS, many processor resources are wasted in the system idle state. Therefore, as a method of improving the utilization efficiency of processor resources, there is a method of operating a plurality of virtual machines simultaneously on a computer system by a control program.

ここで、計算機システム上のI/Oデバイスの数はプロセッサ数に比べて増加の程度が緩やかなため、マルチコアプロセッサを搭載した計算機システムでは、プロセッサに対するI/Oデバイス数が減少するという状況が生じている。従って、計算機システム上で多くの仮想計算機を稼動させるためには、I/Oデバイスをいかに効率よく利用するかが課題となる。   Here, since the number of I / O devices on the computer system increases slowly compared to the number of processors, a situation occurs in a computer system equipped with a multi-core processor that the number of I / O devices for the processor decreases. ing. Therefore, in order to operate many virtual machines on a computer system, how to efficiently use I / O devices becomes a problem.

そのための1つの解決策として、I/Oデバイスの1つであるネットワークインタ−フェースカード(Network Interface Card:NIC)を制御プログラムにより仮想化し、この制御プログラムによって、計算機システム上に搭載している物理NICを、複数のVNICで共有するという方法がある(特許文献1参照)。この方法により、1つのI/Oデバイスを複数の仮想計算機で共有利用することが可能となる。   As one solution for this, a network interface card (NIC), which is one of the I / O devices, is virtualized by a control program, and the physical mounted on the computer system by this control program. There is a method in which a NIC is shared by a plurality of VNICs (see Patent Document 1). With this method, one I / O device can be shared and used by a plurality of virtual machines.

図21に、このようなVNICを用いた仮想計算機システムの一例を示している。図21を参照すると、複数の仮想計算機10a,10b,10c、主記憶30及び物理NIC20は、PCI(Peripheral Component Interconnect )バス50に共通接続されている。そして、物理NIC20はネットワーク40に接続されている。   FIG. 21 shows an example of a virtual machine system using such a VNIC. Referring to FIG. 21, a plurality of virtual machines 10a, 10b, 10c, main memory 30 and physical NIC 20 are commonly connected to a PCI (Peripheral Component Interconnect) bus 50. The physical NIC 20 is connected to the network 40.

仮想計算機は10aは、アプリケーション101aと、OS102aと、VNIC(仮想NIC)105aとを備えており、OS102aは、TCP(Transmission Control Protocol )/IP(Internet Protocol )機能部103aとドライバ104aとを有している。他の仮想計算機10b,10cも、仮想計算機10aと同一構成である。   The virtual machine 10a includes an application 101a, an OS 102a, and a VNIC (virtual NIC) 105a. The OS 102a includes a TCP (Transmission Control Protocol) / IP (Internet Protocol) function unit 103a and a driver 104a. ing. The other virtual machines 10b and 10c have the same configuration as the virtual machine 10a.

物理NIC20は、PCIバスI/F(インターフェース)200と、送信キュー201と、受信キュー202と、DMA(Direct Memory Access)制御部206と、送信バッファ207と、受信バッファ208と、ネットワークI/F209とを備えている。   The physical NIC 20 includes a PCI bus I / F (interface) 200, a transmission queue 201, a reception queue 202, a DMA (Direct Memory Access) control unit 206, a transmission buffer 207, a reception buffer 208, and a network I / F 209. And.

ここで、図21に示したVNICを使用した場合のパケット送信動作について説明する。VNIC105a,105b,105cが同時にパケットを送信する場合、1つの物理NIC20に対して3つのVNICが同時にアクセスしようとすることになるために、これらVNIC間で排他制御を行う必要がある。   Here, the packet transmission operation when the VNIC shown in FIG. 21 is used will be described. When the VNICs 105a, 105b, and 105c transmit packets at the same time, since three VNICs try to access one physical NIC 20 at the same time, it is necessary to perform exclusive control between these VNICs.

ここで、VNIC105aが物理NIC20のロックを取得して物理NIC20へのアクセス権を取得したとすると、VNIC105bとVNIC105cとは物理NIC20へのアクセス権を得られないので、ロック取得待ち状態となりパケット送信はできない。   Here, if the VNIC 105a acquires the lock of the physical NIC 20 and acquires the access right to the physical NIC 20, the VNIC 105b and the VNIC 105c cannot obtain the access right to the physical NIC 20, so that the lock transmission wait state is entered. Can not.

一方、ロックを取得したVNIC105aは送信パケット情報を物理NIC20の送信キュー201に登録する。VNIC105aが連続してパケットを送信する場合には、当該送信パケット情報は送信キュー201に連続登録されることになる。送信パケット情報の送信キューへの登録が完了した後、VNIC105aのロックは開放となる。 On the other hand, the VNIC 105 a that has acquired the lock registers the transmission packet information in the transmission queue 201 of the physical NIC 20. When the VNIC 105a continuously transmits packets, the transmission packet information is continuously registered in the transmission queue 201. After the registration of the transmission packet information to the transmission queue is completed, the lock of the VNIC 105a is released.

ロックが解放されると、ロック取得待ち状態のVNIC105bとVNIC105cとに対してロック取得の機会が与えられる。ここで、VNIC105bがロックを取得したとすると、VNIC105cはロック取得待ち状態が継続することになる。   When the lock is released, a lock acquisition opportunity is given to the VNIC 105b and the VNIC 105c waiting to acquire the lock. Here, assuming that the VNIC 105b has acquired the lock, the VNIC 105c continues to be in a lock acquisition waiting state.

ロックを得したVNIC105bは送信パケット情報を物理NIC20の送信キュー201に登録する。VNIC105bが連続してパケットを送信する場合は、当該送信パケット情報は送信キュー201に連続登録される。送信パケット情報の送信キューへの登録が完了した後、VNIC105bのロッは開放となる。   The VNIC 105b that has obtained the lock registers the transmission packet information in the transmission queue 201 of the physical NIC 20. When the VNIC 105b continuously transmits packets, the transmission packet information is continuously registered in the transmission queue 201. After the registration of the transmission packet information to the transmission queue is completed, the lock of the VNIC 105b is released.

ロックが解放されると、ロック取得待ち状態のVNIC105cがロックを取得する。VNIC105cは送信パケット情報を物理NIC20の送信キュー201に登録する。VNIC105cが連続してパケットを送信する場合には、当該送信パケット情報は送信キュー201に連続登録される。送信パケット情報の送信キューへの登録が完了すると、VNIC105cのロックは開放となる。   When the lock is released, the VNIC 105c in the lock acquisition waiting state acquires the lock. The VNIC 105 c registers transmission packet information in the transmission queue 201 of the physical NIC 20. When the VNIC 105c continuously transmits packets, the transmission packet information is continuously registered in the transmission queue 201. When the registration of the transmission packet information to the transmission queue is completed, the lock of the VNIC 105c is released.

物理NIC20のDMA制御部206は、VNIC105a→VNIC105b→VNIC105cの順に送信キューに登録された送信パケット情報に従って、送信キューに登録されている順番で、計算機主記憶30に対してDMA制御を行う。すなわち、DMA制御部206は、主記憶30から、送信パケット情報に従って送信パケットデータをPCIバス50経由で取得し、送信バッファ207に格納する。送信バッファ207に格納されたパケットデータは、ネットワークI/F209を介してネットワーク40に送信される。 The DMA control unit 206 of the physical NIC 20 performs DMA control on the computer main memory 30 in the order registered in the transmission queue in accordance with the transmission packet information registered in the transmission queue in the order of VNIC 105a → VNIC 105b → VNIC 105c . That is, the DMA control unit 206 acquires transmission packet data from the main memory 30 according to the transmission packet information via the PCI bus 50 and stores it in the transmission buffer 207. The packet data stored in the transmission buffer 207 is transmitted to the network 40 via the network I / F 209.

なお、ネットワークI/F209は、ネットワーク40からの自NIC宛のパケットデータを受信して受信バッファ208に格納する。受信バッファ208はネットワーク40からの受信パケットを格納し、格納した受信パケットを解析してDMA制御部206に対してDMA起動指示を与えるようになっている。
特開2007−158870号公報
The network I / F 209 receives packet data addressed to its own NIC from the network 40 and stores it in the reception buffer 208. The reception buffer 208 stores a reception packet from the network 40, analyzes the stored reception packet, and gives a DMA activation instruction to the DMA control unit 206.
JP 2007-158870 A

図21に示したシステムでは、1つの物理リソースを、複数のVNICにより共有する構成のために、制御プログラムによる物理NICの排他制御が必要になり、ロック取得待ちの処理時間が発生する。このためロック取得待ち時間分のパケット送信遅延が発生する。   In the system shown in FIG. 21, because a configuration in which one physical resource is shared by a plurality of VNICs, exclusive control of the physical NIC by a control program is required, and processing time waiting for lock acquisition occurs. For this reason, a packet transmission delay corresponding to the lock acquisition waiting time occurs.

また、特定のVNICがデータ転送で物理NICを占有することにより、他VNICのデータ転送ができなくなって、最低限のデータ転送帯域が確保できなくなる場合がある。更に、リアルタイム性が必要なパケット(例えば、Telnet、FTP(File Transfer Protocol)制御といったパケット)が、先行する他VNICのデータ転送パケットにより処理が遅延する場合がある。   In addition, when a specific VNIC occupies a physical NIC for data transfer, data transfer of other VNICs may not be possible and a minimum data transfer bandwidth may not be ensured. Furthermore, processing of packets that require real-time properties (for example, packets such as Telnet and FTP (File Transfer Protocol) control) may be delayed due to the data transfer packet of another preceding VNIC.

本発明の目的は、特定のVNICによる共有物理NICのパケット送信のためのロック占有をなくして、ロック取得待ち時間に起因するパケット送信遅延を少なくするようにした仮想計算機システム及びパケット送信制御方法並びにそれに用いるネットワークインターフェースカード、プロクラムを提供することである。   An object of the present invention is to eliminate a lock occupation for packet transmission of a shared physical NIC by a specific VNIC, and reduce a packet transmission delay caused by a lock acquisition waiting time, a packet transmission control method, and It is to provide a network interface card and program to be used for it.

本発明による仮想計算機システムは、
複数の仮想計算機の各々に対応して設けられ対応する仮想計算機とネットワークとのインターフェースをなす仮想ネットワークインターフェースカード(VNIC)に共有され、前記VNICの各々から供給されて前記仮想計算機の各々の送信すべきパケット群の各送信パケットに関する情報群を処理し、この処理結果に従って各仮想計算機の送信パケットを前記ネットワークへ送信する物理ネットワークインターフェースカードを含む仮想計算機システムであって、
前記物理ネットワークインターフェースカードは、
前記VNICにそれぞれ対応して設けられ、対応するVNICの送信パケット情報群に含まれる各優先度を基に、各送信パケットの送信順を定める優先度制御手段と、
前記VNICにそれぞれ対応して設けられ、対応するVNICの前記送信パケット情報群に含まれる各データ量を基に、前記送信順に従って単位時間当りの送信最大量を制限する上限帯域制御手段と、
前記上限帯域制御手段の各々からの前記送信パケット情報群に含まれる各データ量を基に、前記VNIC毎に、前記送信順に従って単位時間当りの送信最低量を保証する下限帯域制御手段とを含み、
前記優先度制御手段、前記上限帯域制御手段、前記下限帯域制御手段は、この順に制御をなすよう設けられており、
前記優先度制御手段は、優先的に送信する高優先送信パケットの数を所定値に設定して、前記高優先送信パケットの数が前記所定値に達した時に、より低優先送信パケットを送出するようにしたことを特徴とする。
The virtual machine system according to the present invention is:
A virtual network interface card (VNIC) provided corresponding to each of a plurality of virtual machines and serving as an interface between the corresponding virtual machines and a network is shared, supplied from each of the VNICs, and transmitted from each of the virtual machines. A virtual machine system including a physical network interface card that processes a group of information about each transmission packet of a power packet group and transmits a transmission packet of each virtual machine to the network according to the processing result,
The physical network interface card is
Priority control means provided corresponding to each of the VNICs, and determining the transmission order of each transmission packet based on each priority included in the transmission packet information group of the corresponding VNIC;
Upper limit bandwidth control means provided corresponding to each of the VNICs, and based on each data amount included in the transmission packet information group of the corresponding VNIC, to limit the maximum transmission amount per unit time according to the transmission order;
Lower limit bandwidth control means for guaranteeing the minimum amount of transmission per unit time according to the transmission order for each VNIC based on the amount of data included in the transmission packet information group from each of the upper limit bandwidth control means. See
The priority control unit, the upper limit band control unit, and the lower limit band control unit are provided to perform control in this order,
The priority control means sets the number of high priority transmission packets to be preferentially transmitted to a predetermined value, and transmits a lower priority transmission packet when the number of the high priority transmission packets reaches the predetermined value. characterized in that way the.

本発明によるパケット送信制御方法は、
複数の仮想計算機の各々に対応して設けられ対応する仮想計算機とネットワークとのインターフェースをなす仮想ネットワークインターフェースカード(VNIC)に共有され、前記VNICの各々から供給されて前記仮想計算機の各々の送信すべきパケット群の各送信パケットに関する情報群を処理し、この処理結果に従って各仮想計算機の送信パケットを前記ネットワークへ送信する物理ネットワークインターフェースカードのパケット送信制御方法であって、
前記VNIC毎に、前記VNICの送信パケット情報群に含まれる各優先度を基に、各送信パケットの送信順を定める優先度制御ステップと、
前記VNIC毎に、前記VNICの前記送信パケット情報群に含まれる各データ量を基に、前記送信順に従って単位時間当りの送信最大量を制限する上限帯域制御ステップと、
前記VNIC毎に、前記上限帯域制御ステップからの前記送信パケット情報群に含まれる各データ量を基に、前記送信順に従って単位時間当りの送信最低量を保証する下限帯域制御ステップとを含み、
前記優先度制御ステップ、前記上限帯域制御ステップ、前記下限帯域制御ステップは、この順に制御をなすよう構成されており、
前記優先度制御ステップは、優先的に送信する高優先送信パケットの数を所定値に設定して、前記高優先送信パケットの数が前記所定値に達した時に、より低優先送信パケットを送出するようにしたことを特徴とする。
A packet transmission control method according to the present invention includes:
A virtual network interface card (VNIC) provided corresponding to each of a plurality of virtual machines and serving as an interface between the corresponding virtual machines and a network is shared, supplied from each of the VNICs, and transmitted from each of the virtual machines. A packet transmission control method for a physical network interface card that processes a group of information about each transmission packet of a power packet group and transmits a transmission packet of each virtual machine to the network according to the processing result;
A priority control step for determining the transmission order of each transmission packet based on each priority included in the transmission packet information group of the VNIC for each VNIC;
For each VNIC, based on each data amount included in the transmission packet information group of the VNIC, an upper limit bandwidth control step for limiting a maximum transmission amount per unit time according to the transmission order;
Wherein each VNIC, based on the respective amount of data included in the transmission packet information unit from the upper band control step, seen including a lower band control step to ensure transmission minimum amount per unit time according to the transmission order,
The priority control step, the upper limit bandwidth control step, and the lower limit bandwidth control step are configured to perform control in this order,
The priority control step sets the number of high-priority transmission packets to be preferentially transmitted to a predetermined value, and transmits a lower-priority transmission packet when the number of high-priority transmission packets reaches the predetermined value. characterized in that way the.

本発明によるネットワークインターフェースカードは、
複数の仮想計算機の各々に対応して設けられ対応する仮想計算機とネットワークとのインターフェースをなす仮想ネットワークインターフェースカード(VNIC)に共有され、前記VNICの各々から供給されて前記仮想計算機の各々の送信すべきパケット群の各送信パケットに関する情報群を処理し、この処理結果に従って各仮想計算機の送信パケットを前記ネットワークへ送信する物理ネットワークインターフェースカードであって、
前記VNICにそれぞれ対応して設けられ、対応するVNICの送信パケット情報群に含まれる各優先度を基に、各送信パケットの送信順を定める優先度制御手段と、
前記VNICにそれぞれ対応して設けられ、対応するVNICの前記送信パケット情報群に含まれる各データ量を基に、前記送信順に従って単位時間当りの送信最大量を制限する上限帯域制御手段と、
前記上限帯域制御手段の各々からの前記送信パケット情報群に含まれる各データ量を基に、前記VNIC毎に、前記送信順に従って単位時間当りの送信最低量を保証する下限帯域制御手段とを含み、
前記優先度制御手段、前記上限帯域制御手段、前記下限帯域制御手段は、この順に制御をなすよう設けられており、
前記優先度制御手段は、優先的に送信する高優先送信パケットの数を所定値に設定して、前記高優先送信パケットの数が前記所定値に達した時に、より低優先送信パケットを送出するようにしたことを特徴とする。
The network interface card according to the present invention comprises:
A virtual network interface card (VNIC) provided corresponding to each of a plurality of virtual machines and serving as an interface between the corresponding virtual machines and a network is shared, supplied from each of the VNICs, and transmitted from each of the virtual machines. A physical network interface card for processing a group of information about each transmission packet of a power packet group and transmitting a transmission packet of each virtual machine to the network according to the processing result;
Priority control means provided corresponding to each of the VNICs, and determining the transmission order of each transmission packet based on each priority included in the transmission packet information group of the corresponding VNIC;
Upper limit bandwidth control means provided corresponding to each of the VNICs, and based on each data amount included in the transmission packet information group of the corresponding VNIC, to limit the maximum transmission amount per unit time according to the transmission order;
Lower limit bandwidth control means for guaranteeing the minimum amount of transmission per unit time according to the transmission order for each VNIC based on the amount of data included in the transmission packet information group from each of the upper limit bandwidth control means. See
The priority control unit, the upper limit band control unit, and the lower limit band control unit are provided to perform control in this order,
The priority control means sets the number of high priority transmission packets to be preferentially transmitted to a predetermined value, and transmits a lower priority transmission packet when the number of the high priority transmission packets reaches the predetermined value. characterized in that way the.

本発明によるプログラムは、
複数の仮想計算機の各々に対応して設けられ対応する仮想計算機とネットワークとのインターフェースをなす仮想ネットワークインターフェースカード(VNIC)に共有され、前記VNICの各々から供給されて前記仮想計算機の各々の送信すべきパケット群の各送信パケットに関する情報群を処理し、この処理結果に従って各仮想計算機の送信パケットを前記ネットワークへ送信する物理ネットワークインターフェースカードのパケット送信制御方法をコンピュータに実行させるためのプログラムであって、
前記VNIC毎に、前記VNICの送信パケット情報群に含まれる各優先度を基に、各送信パケットの送信順を定める優先度制御処理と、
前記VNIC毎に、前記VNICの前記送信パケット情報群に含まれる各データ量を基に、前記送信順に従って単位時間当りの送信最大量を制限する上限帯域制御処理と、
前記VNIC毎に、前記上限帯域制御処理からの前記送信パケット情報群に含まれる各データ量を基に、前記送信順に従って単位時間当りの送信最低量を保証する下限帯域制御処理とを含み、
前記優先度制御処理、前記上限帯域制御処理、前記下限帯域制御処理は、この順に制御をなすよう構成されており、
前記優先度制御処理は、優先的に送信する高優先送信パケットの数を所定値に設定して、前記高優先送信パケットの数が前記所定値に達した時に、より低優先送信パケットを送出するようにしたことを特徴とする。
The program according to the present invention is:
A virtual network interface card (VNIC) provided corresponding to each of a plurality of virtual machines and serving as an interface between the corresponding virtual machines and a network is shared, supplied from each of the VNICs, and transmitted from each of the virtual machines. A program for causing a computer to execute a packet transmission control method of a physical network interface card that processes information groups related to each transmission packet of a power packet group and transmits the transmission packet of each virtual machine to the network according to the processing result. ,
For each VNIC, based on each priority included in the transmission packet information group of the VNIC, priority control processing for determining the transmission order of each transmission packet;
For each VNIC, based on each data amount included in the transmission packet information group of the VNIC, an upper limit bandwidth control process for limiting the maximum transmission amount per unit time according to the transmission order;
Wherein each VNIC, based on each data amount the included in the transmission packet information unit from the upper band control process, look including a lower bandwidth control process to ensure the transmission minimum amount per unit time according to the transmission order,
The priority control process, the upper limit band control process, and the lower limit band control process are configured to perform control in this order,
The priority control process sets the number of high-priority transmission packets to be transmitted with priority to a predetermined value, and transmits a lower-priority transmission packet when the number of high-priority transmission packets reaches the predetermined value. characterized in that way the.

本発明によれば、以下の効果が得られる。複数のVNICの各々に対して、送信パケットの優先度制御、また単位時間当りの最大送信量の制限をなす上限帯域制御機能、更には、単位時間当りの最低送信量の保証する下限帯域制御機能を設けることにより、複数のVNICにより物理NICが共有利用されても、各VNICのデータ転送帯域を保証することができ、パケット送信遅延をなくすことが可能となる。   According to the present invention, the following effects can be obtained. For each of a plurality of VNICs, priority control of transmission packets, upper limit bandwidth control function for limiting the maximum transmission amount per unit time, and lower limit bandwidth control function for guaranteeing the minimum transmission amount per unit time Thus, even if a physical NIC is shared and used by a plurality of VNICs, the data transfer bandwidth of each VNIC can be guaranteed and packet transmission delay can be eliminated.

以下に、本発明の実施の形態について説明するが、それに先立ち、本発明のより良い理解のために、図1及び図2を参照して本発明の原理を説明する。   Hereinafter, embodiments of the present invention will be described. Prior to that, the principle of the present invention will be described with reference to FIGS. 1 and 2 for better understanding of the present invention.

図1は本発明の原理を説明すたるめ概略機能ブロック図である。複数の仮想計算機1,2,3と物理NIC5とは共通バス4により相互接続されている。これら仮想計算機の各々は仮想ネットワークインターフェースカード(VNIC)11,21,31を有している。物理ネットワークインターフェースカード(物理NIC)5は、共通バス4に接続されてVNIC11,21,31により共有(共用)されている。   FIG. 1 is a schematic functional block diagram illustrating the principle of the present invention. The plurality of virtual machines 1, 2, 3 and the physical NIC 5 are interconnected by a common bus 4. Each of these virtual machines has virtual network interface cards (VNICs) 11, 21, 31. The physical network interface card (physical NIC) 5 is connected to the common bus 4 and shared (shared) by the VNICs 11, 21, and 31.

この物理NIC5は、仮想計算機1,2,3の各々の送信すべきパケット群(グループ)の各送信パケットに関する情報群を処理して、処理結果に従って、各仮想計算機の送信パケットをネットワークへ送信するものである。なお、この送信パケットに関する情報(送信パケット情報と称す)とは、送信パケットの番号、送信の優先度、データサイズ(データ量)、DMA制御のための主記憶(図21の30参照)のアドレスなどを含むものとする。   The physical NIC 5 processes the information group related to each transmission packet of the packet group (group) to be transmitted of each of the virtual machines 1, 2, and 3, and transmits the transmission packet of each virtual machine to the network according to the processing result. Is. The information about the transmission packet (referred to as transmission packet information) includes the number of the transmission packet, the priority of transmission, the data size (data amount), and the address of the main memory for DMA control (see 30 in FIG. 21). Etc.

物理NIC5は、優先度制御部51と、上限帯域制御部52と、下限帯域制御部53とを備えている。優先度制御部51は、仮想計算機1〜3の各々のVNIC11,21,31からの送信パケット情報の各優先度を基に、VNIC11,21,31毎に、各送信パケットの優先度をそれぞれ判定して、その優先度に応じて送信パケットの送信順を定めるものである。   The physical NIC 5 includes a priority control unit 51, an upper limit band control unit 52, and a lower limit band control unit 53. The priority control unit 51 determines the priority of each transmission packet for each VNIC 11, 21, 31 based on the priority of the transmission packet information from each VNIC 11, 21, 31 of the virtual machines 1-3. Thus, the transmission order of transmission packets is determined according to the priority.

上限帯域制御部52は、VNIC11,21,31毎に、送信パケット情報のデータ量を基に、送信順に従って送信パケットデータ量を監視して単位時間当りの送信最大量を、制限するものである。下限帯域制御部53は、送信パケット情報を基に、VNIC毎に、送信順に従って送信パケットのデータ量を監視して単位時間当りの送信最低量を保証するものである。   The upper limit bandwidth controller 52 limits the maximum transmission amount per unit time by monitoring the transmission packet data amount according to the transmission order based on the data amount of the transmission packet information for each VNIC 11, 21, 31. . The lower limit bandwidth control unit 53 monitors the data amount of the transmission packet according to the transmission order for each VNIC based on the transmission packet information, and guarantees the minimum transmission amount per unit time.

図2を参照すると、図1に示した物理NIC5の動作の概略を示すフローである。先ず、物理NIC5の優先度制御部51において、VNIC11,21,31からの各送信パケット情報群のそれぞれの優先度が判定され、優先度に応じて送信パケットの送信順が、VNIC毎に決定される(ステップS1)。   Referring to FIG. 2, it is a flowchart showing an outline of the operation of the physical NIC 5 shown in FIG. First, the priority control unit 51 of the physical NIC 5 determines the priority of each transmission packet information group from the VNICs 11, 21, 31, and the transmission order of the transmission packets is determined for each VNIC according to the priority. (Step S1).

次に、上限帯域制御部52において、VNIC11,21,31からの各送信パケット情報群のそれぞれのデータ量を、送信順に従って監視して、VNIC毎に単位時間当りの送信最大量を制限する、上限帯域制御がなされる(ステップS2)。   Next, the upper limit bandwidth control unit 52 monitors the data amount of each transmission packet information group from the VNICs 11, 21, 31, according to the transmission order, and limits the maximum transmission amount per unit time for each VNIC. Upper limit bandwidth control is performed (step S2).

最後に、下限帯域制御部53において、VNIC11,21,31からの各送信パケット情報群のそれぞれのデータ量を、送信順に従って監視して、仮想計算機毎に単位時間当りの送信最低量を制限する、下限帯域制御がなされる(ステップS3)。   Finally, the lower limit bandwidth control unit 53 monitors the data amount of each transmission packet information group from the VNICs 11, 21, 31 in accordance with the transmission order, and limits the minimum transmission amount per unit time for each virtual machine. Lower limit band control is performed (step S3).

この様に、優先度制御と、上限帯域制御と、下限帯域制御とを、仮想計算機すなわちVNIC毎に、物理NICにおいて実行することにより、各VNICのデータ転送帯域を保証することができ、パケット送信遅延をなくすことが可能となる。   As described above, by executing the priority control, the upper limit bandwidth control, and the lower limit bandwidth control in the physical NIC for each virtual computer, that is, for each VNIC, it is possible to guarantee the data transfer bandwidth of each VNIC and to transmit the packet. It becomes possible to eliminate the delay.

次に、本発明の実施の形態について図面を参照して詳細に説明する。図3は本発明の一実施の形態による物理NIC20の機能を示すブロック図である。物理NIC20は、PCIバスI/F200と、送信キュー201a〜201cと、受信キュー202a〜202cと、優先度制御機構203a〜203cと、上限帯域制御機構204a〜204cと、下限帯域制御機構205と、DMA制御部206と、送信バッファ207と、受信バッファ208と、ネットワークI/F209とを備えている。   Next, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 3 is a block diagram showing functions of the physical NIC 20 according to the embodiment of the present invention. The physical NIC 20 includes a PCI bus I / F 200, transmission queues 201a to 201c, reception queues 202a to 202c, priority control mechanisms 203a to 203c, upper limit band control mechanisms 204a to 204c, a lower limit band control mechanism 205, A DMA control unit 206, a transmission buffer 207, a reception buffer 208, and a network I / F 209 are provided.

PCIバスI/F200は、図1に示したPCIバス4とのインターフェースである。送信キュー201a〜201cは、図1に示した各VNIC11〜33に対応する送信パケット情報を格納するキューである。受信キュー202a〜202cは、図1に示した各VNIC11〜33に対応する受信パケット情報を格納するキューである。   The PCI bus I / F 200 is an interface with the PCI bus 4 shown in FIG. The transmission queues 201a to 201c are queues that store transmission packet information corresponding to the VNICs 11 to 33 illustrated in FIG. The reception queues 202a to 202c are queues that store reception packet information corresponding to the VNICs 11 to 33 shown in FIG.

優先度制御機構203a〜203cは、送信キュー201a〜201cに対応するものであって、対応する送信キューにそれぞれ登録された送信パケット情報を基に、送信キューに登録された順番を優先度の高いパケットを先に送信するように並べ替える機能を有している。   The priority control mechanisms 203a to 203c correspond to the transmission queues 201a to 201c, and based on the transmission packet information respectively registered in the corresponding transmission queue, the order registered in the transmission queue has a high priority. It has a function of rearranging packets to be transmitted first.

ここで、図4を参照すると、当該優先度制御機構203(203a〜203c)の構成を示している。優先度制御機構203において、データレジスタ2031は、対応する送信キュー201より送られてくる送信パケット情報を一時的に保持するものである。また、優先判定論理部2032は、このデータレジスタ203に保持されている送信パケット情報のパケットフラグを参照して、次に登録する送信キューを選択する機能を有する。   Here, referring to FIG. 4, the configuration of the priority control mechanism 203 (203a to 203c) is shown. In the priority control mechanism 203, the data register 2031 temporarily holds transmission packet information transmitted from the corresponding transmission queue 201. The priority determination logic unit 2032 has a function of referring to a packet flag of transmission packet information held in the data register 203 and selecting a transmission queue to be registered next.

また、高優先送信キュー2033は、高優先の送信パケット情報を登録するものであり、低優先送信キュー2034は、その他低優先の送信パケット情報を登録ものである。更に、選択判定論理部2035は、高優先送信キュー2033への送信パケット登録状態を監視して次に送る送信パケット情報を選択する機能を有している。すなわち、優先的に送出する高優先送信パケット情報の数を予め所定値としておき、高優先送信パケット情報の数がこの所定値に達すると、低優先送信パケット情報の送信沈み込みを回避すべく、低優先送信パケット情報を送出するような論理制御をなす機能を、選択判定論理部は有している。この所定値を、選択判定基準と称するものとする。   The high-priority transmission queue 2033 registers high-priority transmission packet information, and the low-priority transmission queue 2034 registers other low-priority transmission packet information. Further, the selection determination logic unit 2035 has a function of monitoring transmission packet registration status in the high priority transmission queue 2033 and selecting transmission packet information to be transmitted next. That is, the number of high-priority transmission packet information to be preferentially transmitted is set as a predetermined value in advance, and when the number of high-priority transmission packet information reaches this predetermined value, in order to avoid transmission sinking of low-priority transmission packet information, The selection determination logic unit has a function of performing logical control such that low-priority transmission packet information is transmitted. This predetermined value is referred to as a selection criterion.

図3に戻ると、上限帯域制御機構204a〜204cは、送信キュー201a〜201cに対応するものであって、対応する送信キューに登録された各送信パケット情報のパケット長を監視し、予め設定しておいた上限帯域(最大送信量)以上のパケット送信を抑止する機能を有する。   Returning to FIG. 3, the upper limit bandwidth control mechanisms 204 a to 204 c correspond to the transmission queues 201 a to 201 c, monitor the packet length of each transmission packet information registered in the corresponding transmission queue, and set it in advance. It has a function of suppressing packet transmission exceeding the upper limit bandwidth (maximum transmission amount).

ここで、図5を参照すると、当該上限帯域制御機構204(204a〜204c)の構成を示している。上限帯域制御機構204において、データレジスタ2041は、対応する優先度制御機構2032から送られてくる送信パケット情報を一時的に保持するものである。また、カウンタ2042は、このデータレジスタ2041に保持された各送信パケット情報のデータサイズを加算して一定期間保持するものである。   Here, referring to FIG. 5, the configuration of the upper limit bandwidth control mechanism 204 (204a to 204c) is shown. In the upper limit bandwidth control mechanism 204, the data register 2041 temporarily holds transmission packet information sent from the corresponding priority control mechanism 2032. The counter 2042 adds the data size of each piece of transmission packet information held in the data register 2041 and holds it for a certain period.

更に、上限値レジスタ2043は、上限帯域値を設定しておくものであり、比較論理部2044は、カウンタ2042と上限値レジスタ2043との値を比較して、カウンタ2042の値が上限値よりも小さい場合に、データレジスタ2041に保持された送信パケット情報を送出する機能を有する。   Further, the upper limit register 2043 sets an upper limit band value, and the comparison logic unit 2044 compares the values of the counter 2042 and the upper limit register 2043 so that the value of the counter 2042 is greater than the upper limit value. When it is small, it has a function of transmitting transmission packet information held in the data register 2041.

再度図3に戻ると、下限帯域保証機構205は、各上限帯域制御機構204a〜204cから送られてくる送信パケット情報から実際の送信パケットサイズを監視して、予め設定しておいた最低(下限)送信量の保証をなす機能を有する。   Returning to FIG. 3 again, the lower limit bandwidth guarantee mechanism 205 monitors the actual transmission packet size from the transmission packet information sent from each of the upper limit bandwidth control mechanisms 204a to 204c, and sets the minimum (lower limit) set in advance. ) Has a function to guarantee the transmission amount.

ここで、図6を参照すると、当該下限帯域保証機構205の構成を示している。下限帯域保証機構205において、データレジスタ2051a〜2051cは、対応する上限帯域制御機構204a〜204cからそれぞれ送られてくる送信パケット情報を一時的に保持するものである。また、カウンタ2052a〜2052cは、各データレジスタ2051a〜2051cに保持された送信パケット情報のデータサイズを加算して一定期間保持するものである。   Here, referring to FIG. 6, a configuration of the lower limit band guarantee mechanism 205 is shown. In the lower limit band guarantee mechanism 205, the data registers 2051a to 2051c temporarily hold transmission packet information respectively transmitted from the corresponding upper limit band control mechanisms 204a to 204c. Further, the counters 2052a to 2052c add the data sizes of the transmission packet information held in the data registers 2051a to 2051c and hold them for a certain period.

更に、下限値レジスタ2053は、下限帯域値を設定しておくものである。送信パケット選択論理部2054は、各カウンタ2052a〜2052cと下限値レジスタ2053との値をそれぞれ比較した結果に基づき、実際にネットワークへ送信するパケット情報を選択して、DMA制御部に対してDMA起動指示を与えるものである。   Further, the lower limit register 2053 is for setting a lower limit band value. The transmission packet selection logic unit 2054 selects packet information to be actually transmitted to the network based on the result of comparing the values of the counters 2052a to 2052c and the lower limit register 2053, and performs DMA activation for the DMA control unit. Give instructions.

再び図3に戻ると、DMA制御部206は、下限帯域保証機構205の指示に応じて、計算機システムの主記憶(図21の30に相当)から送信パケットデータをPCIバス経由で取得し、送信バッファ207に格納する機能と、受信バッファ208の指示に応じて、受信バッファ208に格納されている受信パケットデータをPCIバス経由で主記憶に格納する機能を有する。   Returning to FIG. 3 again, the DMA control unit 206 acquires the transmission packet data from the main memory of the computer system (corresponding to 30 in FIG. 21) via the PCI bus according to the instruction of the lower limit bandwidth guarantee mechanism 205, and transmits it. It has a function of storing in the buffer 207 and a function of storing received packet data stored in the reception buffer 208 in the main memory via the PCI bus in accordance with an instruction from the reception buffer 208.

送信バッファ207は、送信パケットデータを格納する機能を有する。受信バッファ208は、ネットワークから受信した受信パケットを格納し、格納した受信パケットを解析し、受信対象となるVNICに対応する受信キュー202a〜202cを選択し、DMA制御部205に対してDMA起動指示を与える機能を有する。   The transmission buffer 207 has a function of storing transmission packet data. The reception buffer 208 stores reception packets received from the network, analyzes the stored reception packets, selects the reception queues 202a to 202c corresponding to the VNIC to be received, and instructs the DMA control unit 205 to start DMA. It has the function to give.

ネットワークI/F209は、送信バッファに格納された送信パケットデータをネットワークに出力する機能と、ネットワークから自NIC20宛てのパケットデータを受信し、受信バッファに格納する機能を有する。   The network I / F 209 has a function of outputting transmission packet data stored in the transmission buffer to the network and a function of receiving packet data addressed to the NIC 20 from the network and storing the packet data in the reception buffer.

以下に、本発明の実施の形態の動作を、図7及び図8並びに図9を参照しつつ説明する。図7及び図8は物理NIC20の送信パケット制御態様の一例を示し、図9は物理NIC20の受信パケット制御態様の一例を示している。先ず、図7及び図8を参照して物理NIC20のパケット送信動作について詳細に説明する。   The operation of the embodiment of the present invention will be described below with reference to FIGS. 7 and 8 show an example of the transmission packet control mode of the physical NIC 20, and FIG. 9 shows an example of the reception packet control mode of the physical NIC 20. First, the packet transmission operation of the physical NIC 20 will be described in detail with reference to FIGS.

図7及び図8では、送信キュー201a〜201cにそれぞれ対応した送信パケット情報グループA〜Cについて示しており、先ず、送信パケット情報グループAについて説明する。   7 and 8 show the transmission packet information groups A to C respectively corresponding to the transmission queues 201a to 201c. First, the transmission packet information group A will be described.

優先度制御機構203aは、送信キュー201aに登録された送信パケット情報1a〜8aの送信パケットフラグ情報を参照して、高優先送信パケット1a,2a,5aと低優先送信パケット3a,4a,6a,7a,8aとに分け、高優先送信パケット情報から順番(1a→2a→5a→3a→4a→6a→7a→8a)に上限帯域制御機構204aへ送る。   The priority control mechanism 203a refers to the transmission packet flag information of the transmission packet information 1a to 8a registered in the transmission queue 201a, and the high priority transmission packets 1a, 2a, 5a and the low priority transmission packets 3a, 4a, 6a, It is divided into 7a and 8a and sent to the upper limit bandwidth control mechanism 204a in order from the high priority transmission packet information (1a → 2a → 5a → 3a → 4a → 6a → 7a → 8a).

上限帯域制御機構204aは、優先度制御機構203aから送られてくる送信パケット情報の送信パケットデータサイズを順次加算(積算)して、この加算値が上限値レジスタ値(本例では、1000としている)未満の場合に、下限帯域制御機構205に送信パケット情報を送る。ここでは、送信パケット情報1a,2a,5a,3a,4a,6a,7a,8aの送信パケットデータサイズの合計が930(=10+10+10+100+300+200+200+100)となるため、上限値レジスタ値1000未満であることから、送信パケット情報1a〜8aの全てが下限帯域制御機構205に送られる。   The upper limit bandwidth control mechanism 204a sequentially adds (accumulates) the transmission packet data size of the transmission packet information sent from the priority control mechanism 203a, and this added value is set to the upper limit value register value (1000 in this example). ), The transmission packet information is sent to the lower limit bandwidth control mechanism 205. Here, since the sum of the transmission packet data sizes of the transmission packet information 1a, 2a, 5a, 3a, 4a, 6a, 7a, 8a is 930 (= 10 + 10 + 10 + 100 + 300 + 200 + 200 + 100), it is less than the upper limit value register value 1000. All of the packet information 1 a to 8 a is sent to the lower limit bandwidth control mechanism 205.

次に、送信パケット情報グループBについて説明する。優先度制御機構203bは、送信キュー201bに登録された送信パケット情報1b〜8bの送信パケットフラグ情報を参照して、高優先送信パケット5bと低優先送信パケット1b,2b,3b,4b,6b,7b,8bとに分け、高優先送信パケット情報から順番(5b→1b→2b→3b→4b→6b→7b→8b)に上限帯域制御機構204bへ送る。   Next, the transmission packet information group B will be described. The priority control mechanism 203b refers to the transmission packet flag information of the transmission packet information 1b to 8b registered in the transmission queue 201b, and the high priority transmission packet 5b and the low priority transmission packets 1b, 2b, 3b, 4b, 6b, It is divided into 7b and 8b and sent to the upper limit bandwidth control mechanism 204b in order from the high priority transmission packet information (5b → 1b → 2b → 3b → 4b → 6b → 7b → 8b).

上限帯域制御機構204bは、優先度判定機構203bから送られてくる送信パケット情報の送信パケットデータサイズを順次加算(積算)して、この加算値が上限値レジスタ値未満の場合に、下限帯域制御機構205に送信パケット情報を送る。ここでは、送信パケット情報の5b,1b,2b,3bの送信パケットデータサイズを加算した時点で、送信パケットデータサイズの合計が910(=10+300+500+100)となる。   The upper limit bandwidth control mechanism 204b sequentially adds (accumulates) the transmission packet data size of the transmission packet information sent from the priority determination mechanism 203b, and when the added value is less than the upper limit register value, the lower limit bandwidth control mechanism 204b Send packet information to the mechanism 205. Here, when the transmission packet data sizes 5b, 1b, 2b, and 3b of the transmission packet information are added, the total transmission packet data size is 910 (= 10 + 300 + 500 + 100).

そして、次の送信パケット情報4bの送信パケットデータサイズを加算すると、送信パケットデータサイズの合計が1210(=910+300)となり、上限値レジスタ値以上になるために、送信パケット情報4b,6b,7b,8bは下限帯域制御機構205に送られず、送信パケット情報5b,1b,2b,3bが下限帯域制御機構205に送られる。   Then, when the transmission packet data size of the next transmission packet information 4b is added, the total transmission packet data size becomes 1210 (= 910 + 300), which is equal to or larger than the upper limit register value, so that the transmission packet information 4b, 6b, 7b, 8b is not sent to the lower limit bandwidth control mechanism 205, and transmission packet information 5b, 1b, 2b, 3b is sent to the lower limit bandwidth control mechanism 205.

次に、送信パケット情報グループCについて説明する。優先度制御機構203cは、送信キュー201cに登録された送信パケット情報1c〜8cの送信パケットフラグ情報を参照して、高優先送信パケット2c,4c,5c,6c,7c,8cと低優先送信パケット1c,3cとに分ける。   Next, the transmission packet information group C will be described. The priority control mechanism 203c refers to the transmission packet flag information of the transmission packet information 1c to 8c registered in the transmission queue 201c, and high priority transmission packets 2c, 4c, 5c, 6c, 7c, 8c and low priority transmission packets. It is divided into 1c and 3c.

ここでは、高優先送信パケット情報数が選択判定基準(本例では、選択判定基準の値は5とする)を超過することになる。この高優先送信パケット情報数の超過による低優先送信パケット情報の送信沈み込みを回避するために、高優先送信パケット情報の2c→4c→5c→6c→7cを送った後に、低優先送信パケット情報の1cを送り、再度高優先送信パケット情報の8cを送る制御を行う。この結果、送信パケット情報2c→4c→5c→6c→7c→1c→8c→3cの順番で、上限帯域制御機構204cに送られることになる。   Here, the number of high-priority transmission packet information exceeds the selection criterion (in this example, the value of the selection criterion is 5). In order to avoid the transmission sinking of the low-priority transmission packet information due to the excess of the number of high-priority transmission packet information, the low-priority transmission packet information is transmitted after the high-priority transmission packet information 2c → 4c → 5c → 6c → 7c 1c is sent and 8c of the high-priority transmission packet information is sent again. As a result, the transmission packet information 2c → 4c → 5c → 6c → 7c → 1c → 8c → 3c is sent to the upper limit bandwidth control mechanism 204c in this order.

上限帯域制御機構204cは、優先度制御機構203cから送られてくる送信パケット情報の送信パケットデータサイズを順次加算(積算)して、この加算値が上限値レジスタ値未満の場合に、下限帯域制御機構205に送信パケット情報を送る。ここでは、送信パケット情報2c,4c,5c,6c,7c,1c,8c,3cの送信パケットデータサイズの合計が660(=10+10+10+10+10+500+10+100)となるため、上限値レジスタ値1000未満となるので送信パケット情報1c〜8cが下限帯域制御機構205に送られる。   The upper limit bandwidth control mechanism 204c sequentially adds (accumulates) the transmission packet data sizes of the transmission packet information sent from the priority control mechanism 203c, and when this added value is less than the upper limit register value, the lower limit bandwidth control Send packet information to the mechanism 205. Here, since the total of the transmission packet data sizes of the transmission packet information 2c, 4c, 5c, 6c, 7c, 1c, 8c, 3c is 660 (= 10 + 10 + 10 + 10 + 10 + 500 + 10 + 100), the transmission packet information is less than the upper limit value register value 1000. 1 c to 8 c are sent to the lower limit band control mechanism 205.

この送信キュー201a〜201cから上限帯域制御機構204a〜204cまでの処理は、物理NIC20上で同時に動作可能である。また、各上限帯域制御機構204a〜204c内のカウンタ2042は一定の時間間隔でリセットされ、リセット後は、後続の送信パケット情報に対して、上記した送信パケット制御が行われることになる。   The processing from the transmission queues 201a to 201c to the upper limit bandwidth control mechanisms 204a to 204c can be operated simultaneously on the physical NIC 20. Further, the counter 2042 in each of the upper limit bandwidth control mechanisms 204a to 204c is reset at a constant time interval, and after the reset, the above-described transmission packet control is performed on the subsequent transmission packet information.

このような送信パケット制御を繰返すことにより、各送信パケット情報グループにそれぞれ対応する送信パケットデータグループに対して上限帯域を保証することが可能になる。下限帯域制御機構205に送られなかった送信パケット情報グループBの送信パケット情報4b,6b,7b,8bは、カウンタがリセットされた後で処理される。   By repeating such transmission packet control, it becomes possible to guarantee the upper limit band for the transmission packet data group corresponding to each transmission packet information group. The transmission packet information 4b, 6b, 7b, 8b of the transmission packet information group B that has not been sent to the lower limit bandwidth control mechanism 205 is processed after the counter is reset.

次に、下限帯域制御機構205は、上限帯域制御機構204a〜204cから送られてくる送信パケット情報を用いて、DMA制御部206に対してDMA起動指示を行う。先ず、下限帯域制御機構205は通信パケット情報グループAの処理を行う。すなわち、下限帯域制御機構205は、上限帯域制御機構204aから送られてくる送信パケット情報1a〜8aの送信パケットデータサイズを、カウンタ2052aにより加算して、下限値レジスタ値以上になるまでの送信パケット情報にてDMA制御部206に対してDMA起動指示を行う。   Next, the lower limit band control mechanism 205 issues a DMA activation instruction to the DMA control unit 206 using the transmission packet information sent from the upper limit band control mechanisms 204a to 204c. First, the lower limit bandwidth control mechanism 205 performs processing of the communication packet information group A. In other words, the lower limit bandwidth control mechanism 205 adds the transmission packet data sizes of the transmission packet information 1a to 8a sent from the upper limit bandwidth control mechanism 204a by the counter 2052a, and transmits packets up to the lower limit register value or more. The DMA activation instruction is given to the DMA control unit 206 with the information.

ここでは、1a→2a→5a→3aのパケットデータを取得した時点で、送信パケットデータサイズの合計が130(=10+10+10+100)となり、下限値レジスタ値(例えば、下限値レジスタ値を100とする)以上となるので、下限帯域制御機構205は、DMA制御部206に対して、次の通信パケット情報グループの送信パケットデータの取得に移るよう指示する。すなわち、送信パケット情報グループAの処理に続いて通信パケット情報グループBの処理を行うことになる。   Here, when the packet data of 1a → 2a → 5a → 3a is acquired, the total transmission packet data size becomes 130 (= 10 + 10 + 10 + 100), which is equal to or greater than the lower limit register value (for example, the lower limit register value is 100). Therefore, the lower limit bandwidth control mechanism 205 instructs the DMA control unit 206 to move to acquisition of transmission packet data of the next communication packet information group. That is, the processing of the communication packet information group B is performed following the processing of the transmission packet information group A.

下限帯域制御機構205は、上限帯域制御機構204bから送られてくる送信パケット情報5b,1b,2b,3bの送信パケットデータサイズを、カウンタ2052bにより加算して、下限値レジスタ値以上になるまでの送信パケット情報にてDMA制御部206に対してDMA起動指示を行う。   The lower limit bandwidth control mechanism 205 adds the transmission packet data size of the transmission packet information 5b, 1b, 2b, 3b sent from the upper limit bandwidth control mechanism 204b by the counter 2052b until the value becomes equal to or greater than the lower limit value register value. A DMA activation instruction is issued to the DMA control unit 206 using the transmission packet information.

ここでは、5b→1bのパケットデータを取得した時点で、送信パケットデータサイズの合計が310(=10+300)となり、下限値レジスタ値の100以上となるので、下限帯域制御機構205は、DMA制御部206に対して、次の通信パケット情報グループの送信パケットデータの取得に移るよう指示する。すなわち、送信パケット情報グループBの処理に続いて通信パケット情報グループCの処理を行うことになる。   Here, when the packet data of 5b → 1b is acquired, the total transmission packet data size is 310 (= 10 + 300), which is 100 or more of the lower limit register value. Instruct 206 to move to the acquisition of transmission packet data of the next communication packet information group. That is, the processing of the communication packet information group C is performed following the processing of the transmission packet information group B.

下限帯域制御機構205は、上限帯域制御機構204cから送られてくる送信パケット情報1c〜8cの送信パケットデータサイズを、カウンタ2052cにより加算して、下限値レジスタ値以上になるまでの送信パケット情報にてDMA制御部206に対してDMA起動指示を行う。   The lower limit bandwidth control mechanism 205 adds the transmission packet data sizes of the transmission packet information 1c to 8c sent from the upper limit bandwidth control mechanism 204c by the counter 2052c, and adds the transmission packet information to the transmission packet information up to the lower limit register value or more. The DMA control unit 206 is instructed to start DMA.

ここでは、2c→4c→5c→6c→7c→1cのパケットデータを取得した時点で、送信パケットデータサイズの合計が550(=10+10+10+10+10+500)となり、下限値レジスタ値の100以上となるので、下限帯域制御機構205は、DMA制御部206に対して、次の通信パケット情報グループの送信パケットデータの取得に移るように指示する。   Here, when the packet data of 2c → 4c → 5c → 6c → 7c → 1c is acquired, the total transmission packet data size is 550 (= 10 + 10 + 10 + 10 + 10 + 500), which is 100 or more of the lower limit register value. The control mechanism 205 instructs the DMA control unit 206 to move to acquisition of transmission packet data of the next communication packet information group.

このようにして、送信パケット情報を1a→2a→5a→3a→5b→1b→2c→4c→5c→6c→7c→1cの順番で処理することにより、該当する送信パケットデータを主記憶30から取得し送信バッファ207に格納する。   In this way, the transmission packet information is processed from the main memory 30 by processing the transmission packet information in the order of 1a → 2a → 5a → 3a → 5b → 1b → 2c → 4c → 5c → 6c → 7c → 1c. Obtained and stored in the transmission buffer 207.

かかる送信パケットデータの処理により、送信パケット情報グループA〜Cに対して既に下限帯域を保証したので、残りの送信パケット情報に対する処理はラウンドロビン制御により送信パケット情報グループA→B→Cの順番で行う。   Since the lower limit band has already been guaranteed for the transmission packet information groups A to C by the processing of the transmission packet data, the processing for the remaining transmission packet information is performed in the order of the transmission packet information groups A → B → C by round robin control. Do.

ここでは、残りの送信パケット情報を、4a→2b→8c→6a→3b→3c→7a→8aの順番で処理することにより、該当する送信パケットデータを主記憶30から取得し送信バッファ207に格納する。また、下限帯域制御機構205内のカウンタ2052a〜2052cは一定の時間間隔でリセットされる。リセット後は、ラウンドロビン制御で行っていた送信パケット制御を、下限値レジスタ値と送信パケットデータサイズの加算結果とを比較する送信パケット制御に戻る。   Here, by processing the remaining transmission packet information in the order of 4a → 2b → 8c → 6a → 3b → 3c → 7a → 8a, the corresponding transmission packet data is obtained from the main memory 30 and stored in the transmission buffer 207. To do. Further, the counters 2052a to 2052c in the lower limit band control mechanism 205 are reset at regular time intervals. After the reset, the transmission packet control performed by the round robin control is returned to the transmission packet control for comparing the lower limit register value and the addition result of the transmission packet data size.

このような送信パケット制御を繰り返すことにより、各送信パケット情報グループにそれぞれ対応する送信パケットデータグループに対して下限帯域を保証することができる。なお、上述した処理により、送信バッファ207に格納された送信パケットデータは、ネットワークI/F209にてネットワーク40に送信される。   By repeating such transmission packet control, it is possible to guarantee the lower limit band for the transmission packet data group corresponding to each transmission packet information group. Note that the transmission packet data stored in the transmission buffer 207 by the above-described processing is transmitted to the network 40 by the network I / F 209.

次に、物理NIC20のパケット受信動作について、図9を参照して詳細に説明する。物理NIC20は、ネットワーク40から受信したパケットについて受信した順番で処理を行う。ネットワーク40からネットワークI/F209が、受信パケット番号1(以下単に番号1と称す)の受信パケットデータを受信すると、受信バッファ208にこの受信パケットデータを格納する。   Next, the packet reception operation of the physical NIC 20 will be described in detail with reference to FIG. The physical NIC 20 processes the packets received from the network 40 in the order received. When the network I / F 209 receives the received packet data of the received packet number 1 (hereinafter simply referred to as “number 1”) from the network 40, the received packet data is stored in the reception buffer 208.

受信バッファ208は、格納された番号1の受信パケットデータから受信対象のIPアドレスデータを抜き出し、この受信パケットのIPアドレスに対応する受信キューを選択する。ここでは、番号1の受信パケットデータの受信パケットのIPアドレスは、“a.a.a.a”なので、“a.a.a.a”のIPアドレスに対応する受信キュー202aが選択される。DMA制御部206は、選択された受信キュー202aに対応する主記憶30のアドレスに、番号1の受信パケットデータ1をDMA転送し、受信キュー202aに受信バッファ情報を登録する。   The reception buffer 208 extracts IP address data to be received from the stored reception packet data of number 1, and selects a reception queue corresponding to the IP address of the reception packet. Here, since the IP address of the received packet of the received packet data of number 1 is “aa”, the reception queue 202a corresponding to the IP address of “aa” is selected. . The DMA control unit 206 DMA-transfers the received packet data 1 of number 1 to the address of the main memory 30 corresponding to the selected reception queue 202a, and registers the reception buffer information in the reception queue 202a.

次に、ネットワークI/F209は、番号2の受信パケットデータを受信すると、受信バッファ208に受信パケットデータ2を格納する。受信バッファ208は、格納された番号2の受信パケットデータから受信対象のIPアドレスデータを抜き出し、この受信パケットのIPアドレスに対応する受信キューを選択する。ここでは、番号2の受信パケットデータの受信パケットのIPアドレスは“b.b.b.b”なので、“b.b.b.b”のIPアドレスに対応する受信キュー202bが選択される。DMA制御部206は、選択された受信キュー202bに対応する主記憶30のアドレスに、受信パケットデータ2をDMA転送し、受信キュー202bに受信バッファ情報を登録する。   Next, when receiving the received packet data of number 2, the network I / F 209 stores the received packet data 2 in the reception buffer 208. The reception buffer 208 extracts IP address data to be received from the stored reception packet data of number 2, and selects a reception queue corresponding to the IP address of this reception packet. Here, since the IP address of the reception packet of the reception packet data of number 2 is “bbbb”, the reception queue 202b corresponding to the IP address “bbbb” is selected. The DMA control unit 206 DMA-transfers the received packet data 2 to the address of the main memory 30 corresponding to the selected reception queue 202b, and registers the reception buffer information in the reception queue 202b.

次に、ネットワークI/F209は、番号3の受信パケットデータを受信すると、受信バッファ208にこの受信パケットデータを格納する。受信バッファ208は、格納された番号3の受信パケットデータ3から受信対象のIPアドレスデータを抜き出し、受信パケットのIPアドレスに対応する受信キューを選択する。ここでは、受信パケットデータ3の受信パケットのIPアドレスは“c.c.c.c”なので、“c.c.c.c”のIPアドレスに対応する受信キュー202cが選択される。DMA制御部206は、選択された受信キュー202cの対応する主記憶30のアドレスに、受信パケットデータ2をDMA転送し、受信キュー202cに受信バッファ情報を登録する。   Next, when receiving the received packet data of number 3, the network I / F 209 stores the received packet data in the reception buffer 208. The reception buffer 208 extracts the IP address data to be received from the stored reception packet data 3 of number 3, and selects a reception queue corresponding to the IP address of the reception packet. Here, since the IP address of the received packet of the received packet data 3 is “ccc”, the reception queue 202c corresponding to the IP address “ccc” is selected. The DMA control unit 206 DMA-transfers the received packet data 2 to the address of the main memory 30 corresponding to the selected reception queue 202c, and registers the reception buffer information in the reception queue 202c.

以下、番号4〜8の各受信パケットについても同様に、受信したパケットデータに応じて、各受信キュー202a〜202cに受信パケットデータが登録されるのである。こうして、各受信キューに受信パケット情報が登録されると、各受信キューに対応しているVNIC105,115,25が、それぞれ受信パケットデータの取り込みを行う。   Hereinafter, similarly for each of the received packets of numbers 4-8, the received packet data is registered in each of the receive queues 202a-202c according to the received packet data. Thus, when the received packet information is registered in each reception queue, the VNICs 105, 115, and 25 corresponding to the respective reception queues take in the received packet data.

このように、複数の送信キューと、優先度制御機構と、上限帯域制御機構と、下限帯域制御機構とを設けることにより、複数のVNICに共有されるNICは、各VNICのデータ転送帯域を保証することが可能となり、各仮想計算システムに対して安定したネットワークサービスを提供することが可能となる。また、各VNICが対応する受信キューを搭載することにより、受信データの振り分け処理の負荷が軽減可能である。   Thus, by providing a plurality of transmission queues, a priority control mechanism, an upper limit bandwidth control mechanism, and a lower limit bandwidth control mechanism, the NIC shared by the plurality of VNICs guarantees the data transfer bandwidth of each VNIC. This makes it possible to provide a stable network service to each virtual computing system. Also, by installing a reception queue corresponding to each VNIC, it is possible to reduce the load of the received data distribution process.

次に、本発明の他の実施の形態について、図10を参照して説明する。図10において、図3と同等部分には同一符号を付して示している。本実施の形態では、先の実施の形態における下限値レジスタ2053及び上限値レジスタ2043として、NICの制御ソフトウエアにより個別に設定値を変更可能とする。更に、これら上限値レジスタ及び下限値レジスタを個々の送信キュー201a,201b,201cにそれぞれ対応して実装することにより、VNIC毎のデータ転送性能に差をつけるようにしたものである。   Next, another embodiment of the present invention will be described with reference to FIG. 10, parts that are the same as those in FIG. 3 are given the same reference numerals. In this embodiment, as the lower limit register 2053 and the upper limit register 2043 in the previous embodiment, setting values can be individually changed by NIC control software. Further, the upper limit value register and the lower limit value register are mounted in correspondence with the respective transmission queues 201a, 201b, and 201c, so that the data transfer performance for each VNIC is differentiated.

図10を参照すると、上限値レジスタ210a〜210c、下限値レジスタ211a〜211cを、個々の送信キュー201a,201b,201c対応に実装した物理NIC20の構成を示している。これら上限値レジスタ210a〜210c及び下限値レジスタ211a〜211cは、NICの制御ソフトウエアにより個別に値を設定可能なレジスタにより構成される。   Referring to FIG. 10, there is shown a configuration of the physical NIC 20 in which the upper limit registers 210a to 210c and the lower limit registers 211a to 211c are mounted in correspondence with the individual transmission queues 201a, 201b, and 201c. The upper limit value registers 210a to 210c and the lower limit value registers 211a to 211c are configured by registers whose values can be individually set by NIC control software.

ここで、一例として、送信パケット情報グループAの上限値レジスタ210aを1000、下限値レジスタ211aを100に、それぞれ設定するものとする。また、送信パケット情報グループBの上限値レジスタ210bを2000、下限値レジスタ211bを500に、それぞれ設定するものとする。送信パケット情報グループCの上限値レジスタ210cを600、下限値レジスタ211cを50に、それぞれ設定するものとする。   Here, as an example, the upper limit register 210a of the transmission packet information group A is set to 1000, and the lower limit register 211a is set to 100, respectively. In addition, the upper limit register 210b and the lower limit register 211b of the transmission packet information group B are set to 2000 and 500, respectively. Assume that the upper limit register 210c and the lower limit register 211c of the transmission packet information group C are set to 600 and 50, respectively.

図7及び図11は本実施の形態の動作を説明するための図であり、図7に示したように、各グループA〜Cの送信パケット情報は、先の実施の形態と同一とし、また優先度制御機構203a〜203cにおける動作も先の実施の形態と同一とする。それより後段の上限帯域制御機構204a〜204c及び下限帯域制御機構205、更にはDMA制御部206の動作が異なるので、以下に、図11を参照して説明する。   7 and 11 are diagrams for explaining the operation of the present embodiment. As shown in FIG. 7, the transmission packet information of each of the groups A to C is the same as that of the previous embodiment. The operations in the priority control mechanisms 203a to 203c are the same as those in the previous embodiment. Since the operations of the upper limit band control mechanisms 204a to 204c and the lower limit band control mechanism 205 and the DMA control unit 206 in the subsequent stages are different, a description will be given below with reference to FIG.

上限帯域制御機構204aは、優先度制御機構203aから送られてくる送信パケット情報の送信パケットデータサイズを加算して、上限値レジスタ210aに設定された値未満(1000未満)の場合に、下限帯域制御機構205に送信パケット情報を送る。ここでは、送信パケット情報1a,2a,5a,3a,4a,6a,7a,8aの送信パケットデータサイズの合計が930(=10+10+10+100+300+200+200+100)となるため、全ての送信パケット情報1a〜8aが、下限帯域制御機構205に送られる。   The upper limit bandwidth control mechanism 204a adds the transmission packet data size of the transmission packet information sent from the priority control mechanism 203a, and if it is less than the value set in the upper limit register 210a (less than 1000), the lower limit bandwidth Transmission packet information is sent to the control mechanism 205. Here, since the sum of the transmission packet data sizes of the transmission packet information 1a, 2a, 5a, 3a, 4a, 6a, 7a, 8a is 930 (= 10 + 10 + 10 + 100 + 300 + 200 + 200 + 100), all the transmission packet information 1a-8a It is sent to the control mechanism 205.

上限帯域制御機構204bは、優先度制御機構203bから送られてくる送信パケット情報の送信パケットデータサイズを加算して、上限値レジスタ210bに設定された値未満(2000未満)の場合に、下限帯域制御機構205に送信パケット情報を送る。ここでは、送信パケット情報5b,1b,2b,3b,4b,6b,7b,8bの送信パケットデータサイズの合計が1710(=10+300+500+100+300+200+200+100)となるため、全ての送信パケット情報1b〜8bが下限帯域制御機構205に送られる。   The upper limit bandwidth control mechanism 204b adds the transmission packet data size of the transmission packet information sent from the priority control mechanism 203b, and if the upper limit bandwidth control mechanism 204b is less than the value set in the upper limit register 210b (less than 2000), Transmission packet information is sent to the control mechanism 205. Here, since the sum of the transmission packet data sizes of the transmission packet information 5b, 1b, 2b, 3b, 4b, 6b, 7b, and 8b is 1710 (= 10 + 300 + 500 + 100 + 300 + 200 + 200 + 100), all the transmission packet information 1b to 8b has the lower limit bandwidth control. Sent to mechanism 205.

上限帯域制御機構204cは、優先度制御機構203cから送られてくる送信パケット情報の送信パケットデータサイズを加算して、上限値レジスタ210cに設定された値未満(600未満)の場合に、下限帯域制御機構205に送信パケット情報を送る。ここでは、送信パケット情報2c,4c,5c,6c,7c,1c,8cの送信パケットデータサイズを加算した時点で、送信パケットデータサイズの合計が560(=10+10+10+10+10+500+10)となる。   The upper limit bandwidth control mechanism 204c adds the transmission packet data size of the transmission packet information sent from the priority control mechanism 203c, and when it is less than the value set in the upper limit register 210c (less than 600), the lower limit bandwidth Transmission packet information is sent to the control mechanism 205. Here, when the transmission packet data sizes of the transmission packet information 2c, 4c, 5c, 6c, 7c, 1c, and 8c are added, the total transmission packet data size is 560 (= 10 + 10 + 10 + 10 + 10 + 500 + 10).

そして、次の送信パケット情報3cの送信パケットデータサイズを加算すると、送信パケットデータサイズの合計が660(=560+100)となり、上限値レジスタ値を越えることになる。よって、送信パケット情報3cは下限帯域制御機構205に送られず、送信パケット情報2c,4c,5c,6c,7c,1c,8cが下限帯域制御機構205に送られるのである。   When the transmission packet data size of the next transmission packet information 3c is added, the total transmission packet data size is 660 (= 560 + 100), which exceeds the upper limit register value. Therefore, the transmission packet information 3c is not sent to the lower limit bandwidth control mechanism 205, and the transmission packet information 2c, 4c, 5c, 6c, 7c, 1c, 8c is sent to the lower limit bandwidth control mechanism 205.

下限帯域制御機構205は、上限帯域制御機構204a〜204cから送られてくる送信パケット情報を用いて、DMA制御部206に対してDMA起動指示を行う。先ず、送信パケット情報グループAの処理を行う。下限帯域制御機構205は、上限帯域制御機構204aから送られてくる送信パケット情報1a〜8aに対して、送信パケットデータサイズを加算して、下限値レジスタ211aに設定された値以上になるまでの送信パケット情報に基づいて、DMA制御部206に対してDMA起動指示を行う。   The lower limit bandwidth control mechanism 205 issues a DMA activation instruction to the DMA control unit 206 using the transmission packet information sent from the upper limit bandwidth control mechanisms 204a to 204c. First, the transmission packet information group A is processed. The lower limit bandwidth control mechanism 205 adds the transmission packet data size to the transmission packet information 1a to 8a sent from the upper limit bandwidth control mechanism 204a until the value reaches or exceeds the value set in the lower limit register 211a. Based on the transmission packet information, the DMA control unit 206 is instructed to start DMA.

ここでは、1a→2a→5a→3aのパケットデータを取得した時点で、送信パケットデータサイズの合計が130(=10+10+10+100)となり、下限値レジスタ211aに設定した100以上となるので、次の送信パケット情報グループの送信パケットデータの取得に移る。   Here, when the packet data of 1a → 2a → 5a → 3a is acquired, the total transmission packet data size is 130 (= 10 + 10 + 10 + 100), which is 100 or more set in the lower limit register 211a. Move on to obtain transmission packet data of information group.

送信パケット情報グループAの処理に続いて、送信パケット情報グループBの処理を行う。下限帯域制御機構205は、上限帯域制御機構204bから送られてくる送信パケット情報1b〜8bに対して送信パケットデータサイズを加算して、下限値レジスタ211bに設定された値以上になるまでの送信パケット情報に基づいて、DMA制御部206に対してDMA起動指示を行う。   Subsequent to the processing of the transmission packet information group A, the processing of the transmission packet information group B is performed. The lower limit bandwidth control mechanism 205 adds the transmission packet data size to the transmission packet information 1b to 8b sent from the upper limit bandwidth control mechanism 204b, and transmits until the value set in the lower limit register 211b is exceeded. Based on the packet information, the DMA controller 206 is instructed to start DMA.

ここでは、5b→1b→2bのパケットデータを取得した時点で、送信パケットデータサイズの合計が810(=10+300+500)となり、下限値レジスタ211bに設定した500以上となるので、次の送信パケット情報グループの送信パケットデータの取得に移る。   Here, when the packet data of 5b → 1b → 2b is acquired, the total transmission packet data size is 810 (= 10 + 300 + 500), which is 500 or more set in the lower limit register 211b, so the next transmission packet information group Move on to acquire the transmission packet data.

送信パケット情報グループBの処理に続いて、送信パケット情報グループCの処理を行う。下限帯域制御機構205は、上限帯域制御機構204cから送られてくる送信パケット情報2c,4c,5c,6c,7c,1c,8cに対して送信パケットデータサイズを加算して、下限値レジスタ211cに設定された値以上になるまでの送信パケット情報に基づき、DMA制御部206に対してDMA起動指示を行う。   Subsequent to the processing of the transmission packet information group B, the processing of the transmission packet information group C is performed. The lower limit bandwidth control mechanism 205 adds the transmission packet data size to the transmission packet information 2c, 4c, 5c, 6c, 7c, 1c, 8c sent from the upper limit bandwidth control mechanism 204c, and stores it in the lower limit value register 211c. Based on transmission packet information up to a set value or more, a DMA activation instruction is issued to the DMA control unit 206.

ここでは、2c→4c→5c→6c→7cのパケットデータを取得した時点で、送信パケットデータサイズの合計が50(=10+10+10+10+10)となり、下限値レジスタ211cに設定した50以上となるので、次の送信パケット情報グループの送信パケットデータの取得に移る。   Here, when the packet data of 2c → 4c → 5c → 6c → 7c is acquired, the total transmission packet data size is 50 (= 10 + 10 + 10 + 10 + 10), which is 50 or more set in the lower limit register 211c. The process proceeds to acquisition of transmission packet data of the transmission packet information group.

上述した上記の送信パケットデータの処理をなすことにより、送信パケット情報グループA〜Cに対して下限帯域の保証が可能となったので、残りの送信パケット情報に対する処理は、ラウンドロビン制御により、送信パケット情報グループA→B→Cの順番で行うことになる。   By performing the above-described transmission packet data processing, it becomes possible to guarantee the lower limit bandwidth for the transmission packet information groups A to C. Therefore, the processing for the remaining transmission packet information is performed by round-robin control. The packet information groups A → B → C are performed in this order.

以上の処理に基づいて、各グループにおける総送信データサイズを考えると、単位時間で比較した場合、グループAの総送信データサイズは930となり、グループBの総送信データサイズは1710となり、グループCの送信データサイズは560となって、結果として、VNIC毎のデータ転送性能に差をつけることできる。これにより、VNIC毎のネットワーク性能を制御することが可能となり、性能に応じた価格帯の設定等が可能となる。   Considering the total transmission data size in each group based on the above processing, when compared in unit time, the total transmission data size of group A is 930, the total transmission data size of group B is 1710, and the total transmission data size of group C is The transmission data size is 560, and as a result, the data transfer performance for each VNIC can be differentiated. As a result, the network performance for each VNIC can be controlled, and a price range can be set according to the performance.

次に、本発明の更に他の実施の形態について説明する。先の実施の形態においては、上限値レジスタを設けているので、あるグループにおいて、他グループの送信パケットがなくても、自グループ送信パケットデータサイズが上限値に達してしまった場合には、一時的にパケットの送信ができなくなってしまうという問題がある。この問題を解決するために、本実施の形態では、上限帯域制御機構204を改良したものである。   Next, still another embodiment of the present invention will be described. In the previous embodiment, since the upper limit register is provided, even if there is no transmission packet of another group in a certain group, if the own group transmission packet data size has reached the upper limit, There is a problem that the packet cannot be transmitted. In order to solve this problem, the upper limit bandwidth control mechanism 204 is improved in the present embodiment.

図12は、全ての上限帯域制御機構が、他の上限帯域制御機構が保持するパケット情報の有無を参照するようにした構成となっている。図13は、本実施の形態において、ある上限帯域制御機構が、他上限限帯域制御機構が保持するパケット情報を参照する場合の、送信パケット情報を送る動作手順を示している。   FIG. 12 shows a configuration in which all upper limit bandwidth control mechanisms refer to the presence or absence of packet information held by other upper limit bandwidth control mechanisms. FIG. 13 shows an operation procedure for transmitting transmission packet information when a certain upper limit bandwidth control mechanism refers to packet information held by another upper limit bandwidth control mechanism in the present embodiment.

図12を用いて、本実施の形態が上記実施の形態と異なる部分に関してのみ説明する。他の上限帯域制御機構に対して、自上限帯域制御機構が保持する送信パケット情報の有無を出力する機能(データレジスタ2041からの出力)と、他の上限帯域制御機構が保持する送信パケット情報の有無を、比較論理部2044にて参照する機能とを、上記の実施の形態に対して追加している。   With reference to FIG. 12, only the portions in which this embodiment is different from the above embodiment will be described. A function for outputting the presence / absence of transmission packet information held by the own upper limit bandwidth control mechanism (output from the data register 2041) with respect to other upper limit bandwidth control mechanisms, and transmission packet information held by other upper limit bandwidth control mechanisms A function for referring to the presence / absence in the comparison logic unit 2044 is added to the above embodiment.

図13を参照して、比較論理部2044の制御フローについて説明する。先ず、自上限帯域制御機構のカウンタ値(2042の値)と上限値レジスタの値(2043の値)とを比較する。ここで、カウンタ値が上限値に達していない場合には、送信パケット情報を下限帯域制御機構へ送る。上限値に達している場合には、他の上限帯域制御機構が送信パケット情報を保持しているかを確認する。ここで、他の上限帯域制御機構が送信パケットを保持していない場合には、送信パケット情報を下限帯域制御機構へ送る。   A control flow of the comparison logic unit 2044 will be described with reference to FIG. First, the counter value (2042 value) of the own upper limit bandwidth control mechanism is compared with the value (2043 value) of the upper limit register. If the counter value has not reached the upper limit value, the transmission packet information is sent to the lower limit bandwidth control mechanism. When the upper limit value is reached, it is confirmed whether another upper limit bandwidth control mechanism holds transmission packet information. If another upper limit bandwidth control mechanism does not hold the transmission packet, the transmission packet information is sent to the lower limit bandwidth control mechanism.

次に、本実施の形態における送信パケット制御の一例を、図14を用いて説明する。図14において、優先度制御機構203a〜203cの各選択判定基準は先の実施の形態の場合と同様に5とする。また、上限帯域制御機構204a〜204cの各上限値レジスタ値は1000とする。   Next, an example of transmission packet control in the present embodiment will be described with reference to FIG. In FIG. 14, the selection criterion of the priority control mechanisms 203a to 203c is set to 5 as in the case of the previous embodiment. The upper limit register values of the upper limit bandwidth control mechanisms 204a to 204c are 1000.

上限帯域制御機構204aは、優先度制御機構203aから送られてくる送信パケット情報の送信パケットデータサイズを加算して、上限値レジスタ210aに設定された値未満(1000未満)の場合に、下限帯域制御機構205に送信パケット情報を送る。ここでは、送信パケット情報1a,2a,3aの送信パケットデータサイズの合計が120(=10+10+100)となるため、送信パケット情報1a〜3aが下限帯域制御機構205に送られる。   The upper limit bandwidth control mechanism 204a adds the transmission packet data size of the transmission packet information sent from the priority control mechanism 203a, and if it is less than the value set in the upper limit register 210a (less than 1000), the lower limit bandwidth Transmission packet information is sent to the control mechanism 205. Here, since the sum of the transmission packet data sizes of the transmission packet information 1a, 2a, 3a is 120 (= 10 + 10 + 100), the transmission packet information 1a-3a is sent to the lower limit bandwidth control mechanism 205.

上限帯域制御機構204bは、優先度制御機構203bから送られてくる送信パケット情報の送信パケットデータサイズを加算して、上限値レジスタ210bに設定された値未満(1000未満)の場合に、下限帯域制御機構205に送信パケット情報を送る。ここでは、送信パケット情報5b,1b,2b,3bの送信パケットデータサイズの合計が910(=10+300+500+100)となるため、送信パケット情報5b,1b,2b,3bが下限帯域制御機構205に送られる。   The upper limit bandwidth control mechanism 204b adds the transmission packet data size of the transmission packet information sent from the priority control mechanism 203b, and if the upper limit bandwidth control mechanism 204b is less than the value set in the upper limit register 210b (less than 1000), the lower limit bandwidth Transmission packet information is sent to the control mechanism 205. Here, since the sum of the transmission packet data sizes of the transmission packet information 5b, 1b, 2b, 3b is 910 (= 10 + 300 + 500 + 100), the transmission packet information 5b, 1b, 2b, 3b is sent to the lower limit bandwidth control mechanism 205.

上限帯域制御機構204cは、優先度制御機構203cから送られてくる送信パケット情報の送信パケットデータサイズを加算して、上限値レジスタ210cに設定された値未満(1000未満)の場合に、下限帯域制御機構205に送信パケット情報を送る。ここでは、送信パケット情報2c,1cの送信パケットデータサイズを加算した時点で、送信パケットデータサイズの合計が510(=10+500)となるため、送信パケット情報2c,1cが下限帯域制御機構205に送られる。   The upper limit bandwidth control mechanism 204c adds the transmission packet data size of the transmission packet information sent from the priority control mechanism 203c, and when the upper limit bandwidth control mechanism 204c is less than the value set in the upper limit register 210c (less than 1000), the lower limit bandwidth Transmission packet information is sent to the control mechanism 205. Here, when the transmission packet data sizes of the transmission packet information 2c and 1c are added, the total transmission packet data size is 510 (= 10 + 500), so the transmission packet information 2c and 1c is sent to the lower limit bandwidth control mechanism 205. It is done.

この時点で、送信パケットグループBの送信パケット情報4b,6b,7b,8bが下限帯域制御機構205に送られずに残っている。ここで、上限帯域制御機構203bは、上限待機制御機構203aおよび203cに送信パケット情報がないことを確認すると、自上限帯域制御機構のカウンタ2042が上限値レジスタ210bに設定されている値(1000)に達していても、送信パケット情報4b,6b,7b,8bを下限帯域制御機構205に送る。   At this time, the transmission packet information 4b, 6b, 7b, 8b of the transmission packet group B remains without being sent to the lower limit bandwidth control mechanism 205. When the upper limit bandwidth control mechanism 203b confirms that there is no transmission packet information in the upper limit standby control mechanisms 203a and 203c, the value (1000) in which the counter 2042 of the own upper limit bandwidth control mechanism is set in the upper limit register 210b. The transmission packet information 4b, 6b, 7b, and 8b is sent to the lower limit bandwidth control mechanism 205 even if it has reached

この結果、他グループの送信パケットがなく、自グループの送信パケットを保持している場合でも、パケット送信処理を停止することがなくなるので、更にNICを効率よく利用することが可能となる。   As a result, even when there is no transmission packet of another group and the transmission packet of the own group is held, the packet transmission processing is not stopped, so that the NIC can be used more efficiently.

本発明の別の実施の形態について、図15及び図16を用いて説明する。図15は、本発明の別の実施の形態による上限帯域制御機構204aの構成を示す図であり、図16はその動作を示すフローである。なお、図15においては、上限帯域制御機構204aの構成のみを示しているが、他の上限帯域制御機構204bや204cも同一の構成である。そして、図15において、図12と同等部分は、同一符号により示されている。   Another embodiment of the present invention will be described with reference to FIGS. 15 and 16. FIG. 15 is a diagram showing a configuration of the upper limit bandwidth control mechanism 204a according to another embodiment of the present invention, and FIG. 16 is a flowchart showing its operation. In FIG. 15, only the configuration of the upper limit bandwidth control mechanism 204a is shown, but the other upper limit bandwidth control mechanisms 204b and 204c have the same configuration. In FIG. 15, parts equivalent to those in FIG. 12 are denoted by the same reference numerals.

先ず、図15においては、図12の構成に対して、自上限帯域制御機構の送信パケットの有無の他に、カウンタ2042のカウンタ値、送信パケット長及び上限値レジスタ2043の値を、他の上限帯域制御機構に対して出力する機能が追加されている。また、図15においては、図12の構成に対して、他の上限帯域制御機構からの送信パケットの有無、カウンタ値、送信パケット長及び上限値レジスタの値を参照して、状態テーブル20441として作成保持する機能が追加されている。   First, in FIG. 15, in addition to the presence / absence of a transmission packet of the own upper limit bandwidth control mechanism, the counter value of the counter 2042, the transmission packet length and the value of the upper limit register 2043 are set to other upper limits in the configuration of FIG. A function to output to the bandwidth control mechanism has been added. 15 is created as a status table 20441 with reference to the presence / absence of a transmission packet from another upper limit bandwidth control mechanism, a counter value, a transmission packet length, and an upper limit register value with respect to the configuration of FIG. The function to retain has been added.

次に、図16を参照すると、ある上限帯域制御機構が、他上限帯域制御機構からの上記情報を参照して、自送信パケット情報を送信する場合の動作について説明する。先ず、自上限帯域制御機構のカウンタ値(2042の値)と上限値レジスタ値(2043の値)とを比較する。ここで、カウンタ値が上限値に達していない場合は(ステップ2044−1でNo)、送信パケット情報を下限帯域制御機構へ送る(ステップ2044−3)。   Next, with reference to FIG. 16, an operation when a certain upper limit bandwidth control mechanism transmits self-transmitted packet information with reference to the above information from the other upper limit bandwidth control mechanism will be described. First, the counter value (2042 value) of the own upper limit bandwidth control mechanism is compared with the upper limit register value (value of 2043). If the counter value has not reached the upper limit value (No in step 2044-1), the transmission packet information is sent to the lower limit bandwidth control mechanism (step 2044-3).

カウンタ値が上限値に達している場合は(ステップ2044−1でYes)、他上限帯域制御機構が送信パケット情報を保持しているかを、状態テーブル20441を参照し確認する(ステップ2044−4)。ここで、送信パケットを保持していない他上限帯域制御機構が複数ある場合には(ステップ2044−5)、そのなかから送信パケット余力がある上限帯域制御機構を選択する(ステップ2044−6)。このときの選択のアルゴリズムとしては、例えば、次の3つの方法が考えられる。   If the counter value has reached the upper limit value (Yes in Step 2044-1), it is checked by referring to the status table 20441 whether the other upper limit bandwidth control mechanism holds transmission packet information (Step 2044-4). . When there are a plurality of other upper limit bandwidth control mechanisms that do not hold transmission packets (step 2044-5), an upper limit bandwidth control mechanism having a transmission packet capacity is selected (step 2044-6). For example, the following three methods are conceivable as selection algorithms at this time.

(1)該当する上限帯域制御機構のなかから送信可能残カウント(送信余力)が最大の上限待機制御機構を選択する。(2)該当する上限帯域制御機構のなかからラウンドロビンで上限帯域制御機構を選択する。(3)該当する上限帯域制御機構のなかからランダムに上限帯域制御機構を選択する。   (1) The upper limit standby control mechanism having the maximum transmittable remaining count (transmission remaining capacity) is selected from the corresponding upper limit bandwidth control mechanisms. (2) The upper limit bandwidth control mechanism is selected by round robin from the corresponding upper limit bandwidth control mechanisms. (3) An upper limit bandwidth control mechanism is randomly selected from the corresponding upper limit bandwidth control mechanisms.

こうして選択された上限待機機構のパケット送信カウンタを更新し(ステップ2044−7)、自送信パケット情報を次段の下限帯域制御機構に送信する(ステップ2044−3)。   The packet transmission counter of the upper limit waiting mechanism selected in this way is updated (step 2044-7), and the own transmission packet information is transmitted to the lower limit bandwidth control mechanism of the next stage (step 2044-3).

次に、上記(1)の方法、すなわち該当する上限帯域制御機構のなかから、送信余力である送信可能残カウントが最大の上限待機制御機構を選択する場合について、図17の状態テーブル20441の詳細(状態変化)を参照して、詳細に説明する。   Next, the details of the state table 20441 in FIG. 17 in the case of selecting the upper limit standby control mechanism having the maximum transmittable remaining count, which is the transmission capacity, from the above method (1), that is, the corresponding upper limit bandwidth control mechanism. This will be described in detail with reference to (state change).

図17は、図14に示した送信パケット制御において、上限帯域制御機構204bが送信上限値に達した状態における各上限帯域制御機構204a〜204cの状態テーブル20441のそれぞれの内容を示している。上限帯域制御機構204a〜204cの各状態テーブルは、全ての上限帯域制御機構について、「送信パケットの有無」、「送信可能残カウント」、「カウンタ値」及び「上限のレジスタ値」を有している。   FIG. 17 shows the contents of the state table 20441 of each of the upper limit bandwidth control mechanisms 204a to 204c when the upper limit bandwidth control mechanism 204b reaches the transmission upper limit value in the transmission packet control shown in FIG. Each state table of the upper limit bandwidth control mechanisms 204a to 204c has “transmission packet presence / absence”, “transmission remaining count”, “counter value”, and “upper limit register value” for all upper limit bandwidth control mechanisms. Yes.

上限帯域制御機構204bが送信上限値に達した状態では、上限帯域制御機構204bは、図14に示した送信パケット番号4bのカウンタ値300の送信パケットを保持していることになる。この状態で、上限帯域制御機構204bは、送信上限値に達しているために、パケットの送信はできない状態となっている。この場合、上限帯域制御機構204bは、他の上限待機制御機構の送信余力を確認し自送信パケット情報の送信を試みることになる。   When the upper limit bandwidth control mechanism 204b reaches the transmission upper limit value, the upper limit bandwidth control mechanism 204b holds the transmission packet having the counter value 300 of the transmission packet number 4b shown in FIG. In this state, the upper limit bandwidth control mechanism 204b has reached a transmission upper limit value and cannot transmit a packet. In this case, the upper limit bandwidth control mechanism 204b confirms the transmission capacity of the other upper limit standby control mechanism and attempts to transmit its own transmission packet information.

先ず、上限帯域制御機構204bは、上限帯域制御機構204aの送信可能残カウンタ値880と上限帯域制御機構204cの送信可能残カウンタ値490とを比較し、残カウントが大きい上限帯域制御機構204aを選択することになる。上限待機制御機構204bは、自送信パケット情報のカウンタ値300を上限待機制御機構204aに送信し(ステップd)、上限帯域制御機構204aのカウンタを更新する(120+300=420)(ステップe)。これに同期して、上限帯域制御機構204aの送信可能残カウンタも更新される(1000−420=580)(ステップf)。   First, the upper limit bandwidth control mechanism 204b compares the transmittable remaining counter value 880 of the upper limit bandwidth control mechanism 204a with the transmittable remaining counter value 490 of the upper limit bandwidth control mechanism 204c, and selects the upper limit bandwidth control mechanism 204a having a large remaining count. Will do. The upper limit standby control mechanism 204b transmits the counter value 300 of the own transmission packet information to the upper limit standby control mechanism 204a (step d), and updates the counter of the upper limit bandwidth control mechanism 204a (120 + 300 = 420) (step e). In synchronization with this, the remaining transmittable counter of the upper limit bandwidth control mechanism 204a is also updated (1000-420 = 580) (step f).

更に、上限待機機構204b及び204cの状態テーブル内の上限待機制御機構204aのカウンタ値、送信可能残カウント情報も同期してそれぞれ更新される(ステップh,i)。その後、上限帯域制御機構204bは、自送信パケット情報を下限帯域制御機構に送るのである。   Further, the counter value of the upper limit standby control mechanism 204a and the transmittable remaining count information in the state tables of the upper limit standby mechanisms 204b and 204c are updated in synchronization with each other (steps h and i). Thereafter, the upper limit bandwidth control mechanism 204b sends the self-transmitted packet information to the lower limit bandwidth control mechanism.

次に、上限帯域制御機構204bは、後続の送信パケット番号6bのカウント値200の送信パケットを送信しようとする。この状態における上限帯域制御機構204a〜204cの各状態テーブルの内容の変化を、図18に示している。図17で説明したと同様の論理に従って、上限帯域制御機構204bは、上限帯域制御機構204aのカウンタを更新して自送信パケット情報を次段の下限帯域制御機構に送る。   Next, the upper limit bandwidth control mechanism 204b tries to transmit a transmission packet having a count value 200 of the subsequent transmission packet number 6b. FIG. 18 shows changes in the contents of the state tables of the upper limit bandwidth control mechanisms 204a to 204c in this state. According to the same logic as described in FIG. 17, the upper limit bandwidth control mechanism 204b updates the counter of the upper limit bandwidth control mechanism 204a and sends the own transmission packet information to the lower limit bandwidth control mechanism in the next stage.

そして、上限帯域制御機構204bは、後続の送信パケット番号7bのカウント200値の送信パケットを送信しようとする。この状態における上限帯域制御機構204a〜204cの各状態テーブルの内容の変化を、図19に示している。上記と同様の論理に従って、上限帯域制御機構204bは、上限帯域制御機構204cのカウンタを更新して自送信パケット情報を次段の下限帯域制御機構に送る。   Then, the upper limit bandwidth control mechanism 204b tries to transmit a transmission packet with a count of 200 values of the subsequent transmission packet number 7b. FIG. 19 shows changes in the contents of the state tables of the upper limit bandwidth control mechanisms 204a to 204c in this state. According to the same logic as described above, the upper limit bandwidth control mechanism 204b updates the counter of the upper limit bandwidth control mechanism 204c and sends the self-transmitted packet information to the lower limit bandwidth control mechanism at the next stage.

最後に、上限帯域制御機構204bは後続の送信パケット番号8bのカウント値100の送信パケットを送信しようとする。この状態における上限帯域制御機構204a〜204cの各状態テーブルの内容の変化を、図20に示している。上記と同様の論理に従って、上限帯域制御機構204bは、上限帯域制御機構204aのカウンタを更新して自送信パケット情報を次段の下限帯域制御機構に送る。   Finally, the upper limit bandwidth control mechanism 204b tries to transmit a transmission packet having a count value 100 of the subsequent transmission packet number 8b. FIG. 20 shows changes in the contents of the state tables of the upper limit bandwidth control mechanisms 204a to 204c in this state. In accordance with the same logic as described above, the upper limit bandwidth control mechanism 204b updates the counter of the upper limit bandwidth control mechanism 204a and sends its own transmission packet information to the lower limit bandwidth control mechanism in the next stage.

こうすることにより、他上限帯域制御機構にパケット送信余力がある場合には、この余力の範囲内で、かつ自上限帯域制御機構の上限値レジスタ値を超える送信パケットが送信可能となり、全仮想NICの合計上限帯域を超えるパケット送信を抑止しつつ、かつ効率の良いパケット送信が実現可能となる。   In this way, when there is a packet transmission capacity in the other upper limit bandwidth control mechanism, it is possible to transmit a transmission packet within the range of the remaining capacity and exceeding the upper limit register value of the own upper limit bandwidth control mechanism. Thus, efficient packet transmission can be realized while suppressing packet transmission exceeding the total upper limit bandwidth.

なお、図16におけるステップ2044−6の(2)の方法、すなわち、「該当する上限帯域機構をラウンドロビンで選択する」方法では、単に該当する上限帯域機構を順次予め定めた順序に基づいて選択するものである。また、ステップ2044−6の(3)の方法、すなわち、「該当する上限帯域機構をランダムに選択する」方法は、文字通り、アトランダムに選択するものである。   Note that in the method (2) of step 2044-6 in FIG. 16, that is, in the method of “selecting the appropriate upper limit bandwidth mechanism in round robin”, the corresponding upper limit bandwidth mechanism is simply selected based on a predetermined order sequentially. To do. The method (3) of step 2044-6, that is, the method of “selecting the appropriate upper limit bandwidth mechanism randomly” is literally selected at random.

上述したように、本発明においては、送信パケット情報キューを複数の仮想計算機に対応して設け、送信パケットキュー情報から送信パケット種類を解析し、送信パケットの優先度に応じて送信順番を並び替える優先度制御機能を設けている。更に、送信パケットキュー情報から実際の送信パケットサイズを監視し、単位時間当りのパケット送信の最大送信量を制限する上限帯域制御機能と、送信パケットキュー情報から実際の送信パケットサイズを監視し、単位時間当りのパケット送信の最低送信量を保証する下限帯域制御機能とを設けている。   As described above, in the present invention, a transmission packet information queue is provided corresponding to a plurality of virtual machines, the transmission packet type is analyzed from the transmission packet queue information, and the transmission order is rearranged according to the priority of the transmission packet. A priority control function is provided. Furthermore, the actual transmission packet size is monitored from the transmission packet queue information, the upper limit bandwidth control function for limiting the maximum transmission amount of packet transmission per unit time, and the actual transmission packet size is monitored from the transmission packet queue information. A lower limit bandwidth control function for guaranteeing a minimum transmission amount of packet transmission per time is provided.

かかる構成により、複数のVNIC間での送信/受信時のキューロック制御によるロック取得待ち時間がなくなる。そして、送信パケットの実データ長(パケット長)に基づいて送信すべきパケットの帯域制御を行うことができるので、VNIC毎のパケット送信帯域の保証が可能となる。また、送信パケットの優先度に応じて送信パケットの順序制御を行うので、リアルタイム性が必要なパケットを優先的に送信可能となる。   With this configuration, there is no lock acquisition waiting time due to queue lock control during transmission / reception between a plurality of VNICs. Since the bandwidth control of the packet to be transmitted can be performed based on the actual data length (packet length) of the transmission packet, the packet transmission bandwidth for each VNIC can be guaranteed. Further, since the order of the transmission packets is controlled according to the priority of the transmission packets, it is possible to preferentially transmit packets that require real-time characteristics.

そして、複数のVNICが1つの物理NICを共有して利用する場合でも、ロック取得待ちによるパケット送信遅延を回避し、VNIC毎のデータ転送帯域を確保し、遅延の最小化が必要なパケットを優先的に送信することが可能となるものである。   Even when multiple VNICs share and use one physical NIC, avoid packet transmission delays due to waiting for lock acquisition, secure a data transfer bandwidth for each VNIC, and prioritize packets that require delay minimization. Can be transmitted automatically.

なお、上記の各実施の形態における仮想計算機の数や各レジスタの値は、単に具体例を示すにすぎず、これら数値に限定されることはなく、種々の変形が可能であることは明らかである。   It should be noted that the number of virtual machines and the value of each register in each of the above embodiments are merely specific examples, and are not limited to these numerical values, and it is obvious that various modifications are possible. is there.

上記の各実施の形態における制御動作は、予めその制御動作手順をプログラムとして記録媒体に格納しておき、これをコンピュータにより読取らせて実行させるように構成できることは明白である。   It is obvious that the control operation in each of the above-described embodiments can be configured such that the control operation procedure is stored in advance in a recording medium as a program and is read and executed by a computer.

本発明の原理を説明するための概略ブロック図である。It is a schematic block diagram for demonstrating the principle of this invention. 本発明の原理を説明するための概略動作フローである。It is a general | schematic operation | movement flow for demonstrating the principle of this invention. 本発明の一実施の形態による物理NICの機能ブロック図である。It is a functional block diagram of physical NIC by one embodiment of this invention. 図3の優先度制御機構203(203a〜203c)の具体例を示す図である。It is a figure which shows the specific example of the priority control mechanism 203 (203a-203c) of FIG. 図3の上限帯域制御機構204(204a〜204c)の具体例を示す図である。It is a figure which shows the specific example of the upper limit band control mechanism 204 (204a-204c) of FIG. 図3の下限帯域制御機構205の具体例を示す図である。It is a figure which shows the specific example of the minimum band control mechanism 205 of FIG. 本発明の一実施の形態の送信パケット制御動作を説明するための図の一部である。It is a part of figure for demonstrating the transmission packet control operation | movement of one embodiment of this invention. 本発明の一実施の形態の送信パケット制御動作を説明するための図の一部である。It is a part of figure for demonstrating the transmission packet control operation | movement of one embodiment of this invention. 本発明の一実施の形態の受信パケット制御動作を説明するための図である。It is a figure for demonstrating the reception packet control operation | movement of one embodiment of this invention. 本発明の他の実施の形態による物理NICの機能ブロック図である。It is a functional block diagram of physical NIC by other embodiment of this invention. 本発明の他の実施の形態の送信パケット制御動作を説明するための図の一部である。It is a part of figure for demonstrating the transmission packet control operation | movement of other embodiment of this invention. 本発明の更に他の実施の形態による上限帯域制御機構204の具体例を示す図である。It is a figure which shows the specific example of the upper limit band control mechanism 204 by further another embodiment of this invention. 図12の上限帯域制御機構204の動作を示すフローである。13 is a flow showing the operation of the upper limit bandwidth control mechanism 204 of FIG. 本発明の更に他の実施の形態の送信パケット制御動作を説明するための図である。It is a figure for demonstrating the transmission packet control operation | movement of further another embodiment of this invention. 本発明の別の実施の形態による上限帯域制御機構204の具体例を示す図である。It is a figure which shows the specific example of the upper limit band control mechanism 204 by another embodiment of this invention. 図15の上限帯域制御機構204の動作を示すフローである。16 is a flow showing the operation of the upper limit bandwidth control mechanism 204 of FIG. 図15のステップ2044−6において、上限帯域制御機構の選択方法(1)の場合の、状態テーブルの状態変化の一例を示す図である。FIG. 16 is a diagram illustrating an example of a state change of the state table in the case of the selection method (1) of the upper limit bandwidth control mechanism in Step 2044-6 of FIG. 図15のステップ2044−6において、上限帯域制御機構の選択方法(1)の場合の、状態テーブルの状態変化の他の例を示す図である。FIG. 16 is a diagram showing another example of the state change of the state table in the case of the selection method (1) of the upper limit bandwidth control mechanism in Step 2044-6 of FIG. 図15のステップ2044−6において、上限帯域制御機構の選択方法(1)の場合の、状態テーブルの状態変化の更に他の例を示す図である。FIG. 16 is a diagram showing still another example of the state change of the state table in the case of the selection method (1) of the upper limit bandwidth control mechanism in Step 2044-6 of FIG. 図15のステップ2044−6において、上限帯域制御機構の選択方法(1)の場合の、状態テーブルの状態変化の別の例を示す図である。FIG. 16 is a diagram showing another example of the state change of the state table in the case of the selection method (1) of the upper limit bandwidth control mechanism in Step 2044-6 of FIG. 本発明に関連する仮想計算機システムの一例の構成を示すシステム図である。It is a system diagram showing a configuration of an example of a virtual computer system related to the present invention.

符号の説明Explanation of symbols

1〜3 仮想計算機
4 バス
5,20 物理NIC
11,21,31,105,115,125 VNIC
40 ネットワーク
51 優先度制御部
52 上限帯域制御部
53 下限帯域制御部
200 PCIバスI/F
201a〜201c 送信キュー
202a〜202c 受信キュー
203,203a〜203c 優先度制御機構
204,204a〜204c 上限帯域制御機構
205 下限帯域制御機構
206 DMA制御部
207 送信バッファ
208 受信バッファ
209 ネットワークI/F
210a〜210c,2043 上限値レジスタ
211a〜211c,2053 下限値レジスタ
2031,2041,2051a〜2051c データレジスタ
2032 優先判定部
2033 高優先送信キュー
2034 低優先送信キュー
2035 選択判定部
2042,2052a〜2052c カウンタ
2044 比較部
2054 送信パケット選択部
1-3 virtual computers
4 Bus
5,20 Physical NIC
11, 21, 31, 105, 115, 125 VNIC
40 network
51 Priority control unit
52 Upper limit bandwidth control unit
53 Lower limit bandwidth controller
200 PCI bus I / F
201a to 201c transmission queue
202a to 202c reception queue
203, 203a to 203c Priority control mechanism
204, 204a to 204c Upper limit bandwidth control mechanism
205 Lower limit bandwidth control mechanism
206 DMA controller
207 Transmission buffer
208 Receive buffer
209 Network I / F
210a to 210c, 2043 Upper limit register
211a to 211c, 2053 Lower limit register 2031, 2041, 2051a to 2051c Data register
2032 Priority determination unit
2033 High-priority transmission queue
2034 Low priority transmission queue
2035 selection determination unit
2042, 2052a to 2052c counter
2044 comparison part
2054 Transmission packet selector

Claims (28)

複数の仮想計算機の各々に対応して設けられ対応する仮想計算機とネットワークとのインターフェースをなす仮想ネットワークインターフェースカード(VNIC)に共有され、前記VNICの各々から供給されて前記仮想計算機の各々の送信すべきパケット群の各送信パケットに関する情報群を処理し、この処理結果に従って各仮想計算機の送信パケットを前記ネットワークへ送信する物理ネットワークインターフェースカードを含む仮想計算機システムであって、
前記物理ネットワークインターフェースカードは、
前記VNICにそれぞれ対応して設けられ、対応するVNICの送信パケット情報群に含まれる各優先度を基に、各送信パケットの送信順を定める優先度制御手段と、
前記VNICにそれぞれ対応して設けられ、対応するVNICの前記送信パケット情報群に含まれる各データ量を基に、前記送信順に従って単位時間当りの送信最大量を制限する上限帯域制御手段と、
前記上限帯域制御手段の各々からの前記送信パケット情報群に含まれる各データ量を基に、前記VNIC毎に、前記送信順に従って単位時間当りの送信最低量を保証する下限帯域制御手段とを含み、
前記優先度制御手段、前記上限帯域制御手段、前記下限帯域制御手段は、この順に制御をなすよう設けられており、
前記優先度制御手段は、優先的に送信する高優先送信パケットの数を所定値に設定して、前記高優先送信パケットの数が前記所定値に達した時に、より低優先送信パケットを送出するようにしたことを特徴とするシステム。
A virtual network interface card (VNIC) provided corresponding to each of a plurality of virtual machines and serving as an interface between the corresponding virtual machines and a network is shared, supplied from each of the VNICs, and transmitted from each of the virtual machines. A virtual machine system including a physical network interface card that processes a group of information about each transmission packet of a power packet group and transmits a transmission packet of each virtual machine to the network according to the processing result,
The physical network interface card is
Priority control means provided corresponding to each of the VNICs, and determining the transmission order of each transmission packet based on each priority included in the transmission packet information group of the corresponding VNIC;
Upper limit bandwidth control means provided corresponding to each of the VNICs, and based on each data amount included in the transmission packet information group of the corresponding VNIC, to limit the maximum transmission amount per unit time according to the transmission order;
Lower limit bandwidth control means for guaranteeing the minimum amount of transmission per unit time according to the transmission order for each VNIC based on the amount of data included in the transmission packet information group from each of the upper limit bandwidth control means. See
The priority control unit, the upper limit band control unit, and the lower limit band control unit are provided to perform control in this order,
The priority control means sets the number of high priority transmission packets to be preferentially transmitted to a predetermined value, and transmits a lower priority transmission packet when the number of the high priority transmission packets reaches the predetermined value. A system characterized by doing so .
前記送信最大量は、前記VNIC毎に変更自在であることを特徴とする請求項1記載のシステム。   The system according to claim 1, wherein the maximum transmission amount is changeable for each VNIC. 前記送信最低量は、前記VNIC毎に変更自在であることを特徴とする請求項1または2記載のシステム。   The system according to claim 1, wherein the minimum transmission amount is changeable for each VNIC. 前記単位時間の経過後は、前記複数の仮想計算機のパケット送信をラウンドロビン方式で行うことを特徴とする請求項1〜3いずれか記載のシステム。   The system according to any one of claims 1 to 3, wherein after the unit time elapses, packet transmission of the plurality of virtual machines is performed in a round robin manner. 前記上限帯域制御手段の各々は、前記送信パケットの存在の有無を示す情報を生成する手段と、送信すべき送信パケットのデータ量が前記送信最大量以上存在する場合に、他の上限帯域制御手段からの前記送信パケットの存在の有無を示す情報に応じて、自送信パケットの送信制御をなす手段とを有することを特徴とする請求項1〜4いずれか記載のシステム。   Each of the upper limit bandwidth control means includes means for generating information indicating the presence / absence of the transmission packet, and another upper limit bandwidth control means when the data amount of the transmission packet to be transmitted is greater than or equal to the maximum transmission amount. 5. The system according to claim 1, further comprising means for controlling transmission of the self-transmitted packet in accordance with information indicating presence / absence of the transmission packet from the network. 前記送信制御をなす手段は、前記他の上限帯域制御手段からの前記送信パケットの存在の有無を示す情報が無を示すときに、自送信パケットの送信制御をなすことを特徴とする請求項5記載のシステム。   6. The transmission control unit performs transmission control of a self-transmission packet when information indicating presence / absence of the transmission packet from the other upper limit bandwidth control unit indicates nothing. The system described. 前記送信制御をなす手段は、前記送信パケットの存在の有無を示す情報が無を示す上限帯域制御手段が存在する場合に、この無を示す上限帯域制御手段の現在の送信余力以内のデータ量に相当する自送信パケットの送信制御を行うことを特徴とする請求項5記載のシステム。   The means for performing the transmission control has a data amount within the current transmission capacity of the upper limit bandwidth control means indicating the absence when there is an upper limit bandwidth control means indicating that the information indicating the presence or absence of the transmission packet is absent. 6. The system according to claim 5, wherein transmission control of the corresponding self-transmitted packet is performed. 前記送信制御をなす手段は、前記送信パケットの存在の有無を示す情報が無を示す上限帯域制御手段が複数存在する場合に、これら複数の上限帯域制御手段のうち現在の送信余力が最大の上限帯域制御手段を選択して、前記送信余力以内のデータ量に相当する自送信パケットの送信制御を行うことを特徴とする請求項7記載のシステム。   The means for performing the transmission control has an upper limit with the maximum current transmission capacity among the plurality of upper limit bandwidth control means when there are a plurality of upper limit bandwidth control means indicating that the information indicating the presence or absence of the transmission packet is not present. 8. The system according to claim 7, wherein a bandwidth control unit is selected to control transmission of a self-transmission packet corresponding to a data amount within the transmission capacity. 前記送信制御をなす手段は、前記送信パケットの存在の有無を示す情報が無を示す上限帯域制御手段が複数存在する場合に、これら複数の上限帯域制御手段を予め指定された順番に選択しつつこの選択した上限帯域制御手段の現在の送信余力以内のデータ量に相当する自送信パケットの送信制御を行うことを特徴とする請求項7記載のシステム。   The means for performing the transmission control, when there are a plurality of upper limit band control means indicating that the information indicating the presence / absence of the transmission packet is not present, selects the plurality of upper limit band control means in an order designated in advance. 8. The system according to claim 7, wherein transmission control of a self-transmission packet corresponding to a data amount within the current transmission capacity of the selected upper limit bandwidth control means is performed. 複数の仮想計算機の各々に対応して設けられ対応する仮想計算機とネットワークとのインターフェースをなす仮想ネットワークインターフェースカード(VNIC)に共有され、前記VNICの各々から供給されて前記仮想計算機の各々の送信すべきパケット群の各送信パケットに関する情報群を処理し、この処理結果に従って各仮想計算機の送信パケットを前記ネットワークへ送信する物理ネットワークインターフェースカードのパケット送信制御方法であって、
前記VNIC毎に、前記VNICの送信パケット情報群に含まれる各優先度を基に、各送信パケットの送信順を定める優先度制御ステップと、
前記VNIC毎に、前記VNICの前記送信パケット情報群に含まれる各データ量を基に、前記送信順に従って単位時間当りの送信最大量を制限する上限帯域制御ステップと、
前記VNIC毎に、前記上限帯域制御ステップからの前記送信パケット情報群に含まれる各データ量を基に、前記送信順に従って単位時間当りの送信最低量を保証する下限帯域制御ステップとを含み、
前記優先度制御ステップ、前記上限帯域制御ステップ、前記下限帯域制御ステップは、この順に制御をなすよう構成されており、
前記優先度制御ステップは、優先的に送信する高優先送信パケットの数を所定値に設定して、前記高優先送信パケットの数が前記所定値に達した時に、より低優先送信パケットを送出するようにしたことを特徴とする方法。
A virtual network interface card (VNIC) provided corresponding to each of a plurality of virtual machines and serving as an interface between the corresponding virtual machines and a network is shared, supplied from each of the VNICs, and transmitted from each of the virtual machines. A packet transmission control method for a physical network interface card that processes a group of information about each transmission packet of a power packet group and transmits a transmission packet of each virtual machine to the network according to the processing result;
A priority control step for determining the transmission order of each transmission packet based on each priority included in the transmission packet information group of the VNIC for each VNIC;
For each VNIC, based on each data amount included in the transmission packet information group of the VNIC, an upper limit bandwidth control step for limiting a maximum transmission amount per unit time according to the transmission order;
Wherein each VNIC, based on the respective amount of data included in the transmission packet information unit from the upper band control step, seen including a lower band control step to ensure transmission minimum amount per unit time according to the transmission order,
The priority control step, the upper limit bandwidth control step, and the lower limit bandwidth control step are configured to perform control in this order,
The priority control step sets the number of high-priority transmission packets to be preferentially transmitted to a predetermined value, and transmits a lower-priority transmission packet when the number of high-priority transmission packets reaches the predetermined value. method characterized by the the like.
前記送信最大量は、前記VNIC毎に変更自在であることを特徴とする請求項10記載の方法。   The method according to claim 10, wherein the maximum transmission amount is changeable for each VNIC. 前記送信最低量は、前記VNIC毎に変更自在であることを特徴とする請求項10または11記載の方法。   The method according to claim 10 or 11, wherein the minimum transmission amount is changeable for each VNIC. 前記単位時間の経過後は、前記複数の仮想計算機のパケット送信をラウンドロビン方式で行うステップを含むことを特徴とする請求項10〜12いずれか記載の方法。   The method according to any one of claims 10 to 12, further comprising a step of performing packet transmission of the plurality of virtual machines in a round robin manner after the unit time has elapsed. 前記VNIC毎の上限帯域制御ステップの各々は、前記送信パケットの存在の有無を示す情報を生成するステップと、送信すべき送信パケットのデータ量が前記送信最大量以上存在する場合に、他の上限帯域制御ステップからの前記送信パケットの存在の有無を示す情報に応じて、自送信パケットの送信制御をなすステップとを有することを特徴とする請求項10〜13いずれか記載の方法。   Each of the upper limit bandwidth control steps for each VNIC includes a step of generating information indicating the presence / absence of the transmission packet, and another upper limit when the data amount of the transmission packet to be transmitted is greater than or equal to the maximum transmission amount. The method according to any one of claims 10 to 13, further comprising a step of performing transmission control of the own transmission packet in accordance with information indicating presence / absence of the transmission packet from the bandwidth control step. 前記送信制御をなすステップは、前記他の上限帯域制御ステップからの前記送信パケットの存在の有無を示す情報が無を示すときに、自送信パケットの送信制御をなすことを特徴とする請求項14記載の方法。   15. The step of performing the transmission control performs transmission control of the own transmission packet when the information indicating the presence / absence of the transmission packet from the other upper limit bandwidth control step indicates nothing. The method described. 前記送信制御をなすステップは、前記送信パケットの存在の有無を示す情報が無を示す上限帯域制御のための手段が存在する場合に、この無を示す上限帯域制御のための手段の現在の送信余力以内のデータ量に相当する自送信パケットの送信制御を行うことを特徴とする請求項14記載の方法。   In the step of performing the transmission control, when there is a means for upper limit bandwidth control indicating that the information indicating the presence / absence of the transmission packet is not present, current transmission of the means for upper limit bandwidth control indicating the absence is present The method according to claim 14, wherein transmission control of a self-transmission packet corresponding to a data amount within a surplus capacity is performed. 前記送信制御をなすステップは、前記送信パケットの存在の有無を示す情報が無を示す上限帯域制御のための手段が複数存在する場合に、これら複数の上限帯域制御のための手段のうち現在の送信余力が最大の手段を選択して、前記送信余力以内のデータ量に相当する自送信パケットの送信制御を行うことを特徴とする請求項16記載の方法。   The step of performing the transmission control includes a plurality of means for upper limit bandwidth control indicating that there is no information indicating the presence or absence of the transmission packet. 17. The method according to claim 16, wherein a transmission control of a self-transmission packet corresponding to a data amount within the transmission capacity is performed by selecting a means having the maximum transmission capacity. 前記送信制御をなすステップは、前記送信パケットの存在の有無を示す情報が無を示す上限帯域制御のための手段が複数存在する場合に、これら複数の上限帯域制御のための手段を予め指定された順番に選択しつつこの選択した手段の現在の送信余力以内のデータ量に相当する自送信パケットの送信制御を行うことを特徴とする請求項17記載の方法。   In the step of performing the transmission control, when there are a plurality of means for the upper limit bandwidth control indicating that the information indicating the presence / absence of the transmission packet is not present, the plurality of means for the upper limit bandwidth control are designated in advance. 18. The method according to claim 17, wherein transmission control of a self-transmission packet corresponding to a data amount within the current transmission capacity of the selected means is performed while selecting in order. 複数の仮想計算機の各々に対応して設けられ対応する仮想計算機とネットワークとのインターフェースをなす仮想ネットワークインターフェースカード(VNIC)に共有され、前記VNICの各々から供給されて前記仮想計算機の各々の送信すべきパケット群の各送信パケットに関する情報群を処理し、この処理結果に従って各仮想計算機の送信パケットを前記ネットワークへ送信する物理ネットワークインターフェースカードであって、
前記VNICにそれぞれ対応して設けられ、対応するVNICの送信パケット情報群に含まれる各優先度を基に、各送信パケットの送信順を定める優先度制御手段と、
前記VNICにそれぞれ対応して設けられ、対応するVNICの前記送信パケット情報群に含まれる各データ量を基に、前記送信順に従って単位時間当りの送信最大量を制限する上限帯域制御手段と、
前記上限帯域制御手段の各々からの前記送信パケット情報群に含まれる各データ量を基に、前記VNIC毎に、前記送信順に従って単位時間当りの送信最低量を保証する下限帯域制御手段とを含み、
前記優先度制御手段、前記上限帯域制御手段、前記下限帯域制御手段は、この順に制御をなすよう設けられており、
前記優先度制御手段は、優先的に送信する高優先送信パケットの数を所定値に設定して、前記高優先送信パケットの数が前記所定値に達した時に、より低優先送信パケットを送出するようにしたことを特徴とするカード。
A virtual network interface card (VNIC) provided corresponding to each of a plurality of virtual machines and serving as an interface between the corresponding virtual machines and a network is shared, supplied from each of the VNICs, and transmitted from each of the virtual machines. A physical network interface card for processing a group of information about each transmission packet of a power packet group and transmitting a transmission packet of each virtual machine to the network according to the processing result;
Priority control means provided corresponding to each of the VNICs, and determining the transmission order of each transmission packet based on each priority included in the transmission packet information group of the corresponding VNIC;
Upper limit bandwidth control means provided corresponding to each of the VNICs, and based on each data amount included in the transmission packet information group of the corresponding VNIC, to limit the maximum transmission amount per unit time according to the transmission order;
Lower limit bandwidth control means for guaranteeing the minimum amount of transmission per unit time according to the transmission order for each VNIC based on the amount of data included in the transmission packet information group from each of the upper limit bandwidth control means. See
The priority control unit, the upper limit band control unit, and the lower limit band control unit are provided to perform control in this order,
The priority control means sets the number of high priority transmission packets to be preferentially transmitted to a predetermined value, and transmits a lower priority transmission packet when the number of the high priority transmission packets reaches the predetermined value. A card characterized by doing so .
前記送信最大量は、前記VNIC毎に変更自在であることを特徴とする請求項19記載のカード。   20. The card according to claim 19, wherein the maximum transmission amount is changeable for each VNIC. 前記送信最低量は、前記VNIC毎に変更自在であることを特徴とする請求項19または20記載のカード。   The card according to claim 19 or 20, wherein the minimum transmission amount is changeable for each VNIC. 前記単位時間の経過後は、前記複数の仮想計算機のパケット送信をラウンドロビン方式で行うことを特徴とする請求項19〜21いずれか記載のシステム。   The system according to any one of claims 19 to 21, wherein after the unit time has elapsed, packet transmission of the plurality of virtual machines is performed in a round robin manner. 前記上限帯域制御手段の各々は、前記送信パケットの存在の有無を示す情報を生成する手段と、送信すべき送信パケットのデータ量が前記送信最大量以上存在する場合に、他の上限帯域制御手段からの前記送信パケットの存在の有無を示す情報に応じて、自送信パケットの送信制御をなす手段とを有することを特徴とする請求項19〜22いずれか記載のカード。   Each of the upper limit bandwidth control means includes means for generating information indicating the presence / absence of the transmission packet, and another upper limit bandwidth control means when the data amount of the transmission packet to be transmitted is greater than or equal to the maximum transmission amount. The card according to any one of claims 19 to 22, further comprising means for controlling transmission of a self-transmitted packet in accordance with information indicating presence / absence of the transmission packet. 前記送信制御をなす手段は、前記他の上限帯域制御手段からの前記送信パケットの存在の有無を示す情報が無を示すときに、自送信パケットの送信制御をなすことを特徴とする請求項23記載のカード。   24. The means for performing the transmission control performs transmission control of the own transmission packet when the information indicating the presence / absence of the transmission packet from the other upper limit bandwidth control means indicates nothing. The listed card. 前記送信制御をなす手段は、前記送信パケットの存在の有無を示す情報が無を示す上限帯域制御手段が存在する場合に、この無を示す上限帯域制御手段の現在の送信余力以内のデータ量に相当する自送信パケットの送信制御を行うことを特徴とする請求項23記載のカード。   The means for performing the transmission control has a data amount within the current transmission capacity of the upper limit bandwidth control means indicating the absence when there is an upper limit bandwidth control means indicating that the information indicating the presence or absence of the transmission packet is absent. 24. The card according to claim 23, wherein transmission control of a corresponding self-transmitted packet is performed. 前記送信制御をなす手段は、前記送信パケットの存在の有無を示す情報が無を示す上限帯域制御手段が複数存在する場合に、これら複数の上限帯域制御手段のうち現在の送信余力が最大の上限帯域制御手段を選択して、前記送信余力以内のデータ量に相当する自送信パケットの送信制御を行うことを特徴とする請求項25記載のカード。   The means for performing the transmission control has an upper limit with the maximum current transmission capacity among the plurality of upper limit bandwidth control means when there are a plurality of upper limit bandwidth control means indicating that the information indicating the presence or absence of the transmission packet is not present. 26. The card according to claim 25, wherein a bandwidth control means is selected to perform transmission control of a self-transmission packet corresponding to a data amount within the transmission capacity. 前記送信制御をなす手段は、前記送信パケットの存在の有無を示す情報が無を示す上限帯域制御手段が複数存在する場合に、これら複数の上限帯域制御手段を予め指定された順番に選択しつつこの選択した上限帯域制御手段の現在の送信余力以内のデータ量に相当する自送信パケットの送信制御を行うことを特徴とする請求項25記載のカード。   The means for performing the transmission control, when there are a plurality of upper limit band control means indicating that the information indicating the presence / absence of the transmission packet is not present, selects the plurality of upper limit band control means in an order designated in advance. 26. The card according to claim 25, wherein transmission control of a self-transmission packet corresponding to a data amount within the current transmission capacity of the selected upper limit bandwidth control means is performed. 複数の仮想計算機の各々に対応して設けられ対応する仮想計算機とネットワークとのインターフェースをなす仮想ネットワークインターフェースカード(VNIC)に共有され、前記VNICの各々から供給されて前記仮想計算機の各々の送信すべきパケット群の各送信パケットに関する情報群を処理し、この処理結果に従って各仮想計算機の送信パケットを前記ネットワークへ送信する物理ネットワークインターフェースカードのパケット送信制御方法をコンピュータに実行させるためのプログラムであって、
前記VNIC毎に、前記VNICの送信パケット情報群に含まれる各優先度を基に、各送信パケットの送信順を定める優先度制御処理と、
前記VNIC毎に、前記VNICの前記送信パケット情報群に含まれる各データ量を基に、前記送信順に従って単位時間当りの送信最大量を制限する上限帯域制御処理と、
前記VNIC毎に、前記上限帯域制御処理からの前記送信パケット情報群に含まれる各データ量を基に、前記送信順に従って単位時間当りの送信最低量を保証する下限帯域制御処理とを含み、
前記優先度制御処理、前記上限帯域制御処理、前記下限帯域制御処理は、この順に制御をなすよう構成されており、
前記優先度制御処理は、優先的に送信する高優先送信パケットの数を所定値に設定して、前記高優先送信パケットの数が前記所定値に達した時に、より低優先送信パケットを送出するようにしたことを特徴とするプログラム。
A virtual network interface card (VNIC) provided corresponding to each of a plurality of virtual machines and serving as an interface between the corresponding virtual machines and a network is shared, supplied from each of the VNICs, and transmitted from each of the virtual machines. A program for causing a computer to execute a packet transmission control method of a physical network interface card that processes information groups related to each transmission packet of a power packet group and transmits the transmission packet of each virtual machine to the network according to the processing result. ,
For each VNIC, based on each priority included in the transmission packet information group of the VNIC, priority control processing for determining the transmission order of each transmission packet;
For each VNIC, based on each data amount included in the transmission packet information group of the VNIC, an upper limit bandwidth control process for limiting the maximum transmission amount per unit time according to the transmission order;
Wherein each VNIC, based on each data amount the included in the transmission packet information unit from the upper band control process, look including a lower bandwidth control process to ensure the transmission minimum amount per unit time according to the transmission order,
The priority control process, the upper limit band control process, and the lower limit band control process are configured to perform control in this order,
The priority control process sets the number of high-priority transmission packets to be transmitted with priority to a predetermined value, and transmits a lower-priority transmission packet when the number of high-priority transmission packets reaches the predetermined value. A program characterized by doing so .
JP2008079458A 2008-03-26 2008-03-26 Virtual computer system, packet transmission control method, and network interface card used therefor Expired - Fee Related JP5109748B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008079458A JP5109748B2 (en) 2008-03-26 2008-03-26 Virtual computer system, packet transmission control method, and network interface card used therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008079458A JP5109748B2 (en) 2008-03-26 2008-03-26 Virtual computer system, packet transmission control method, and network interface card used therefor

Publications (2)

Publication Number Publication Date
JP2009239374A JP2009239374A (en) 2009-10-15
JP5109748B2 true JP5109748B2 (en) 2012-12-26

Family

ID=41252857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008079458A Expired - Fee Related JP5109748B2 (en) 2008-03-26 2008-03-26 Virtual computer system, packet transmission control method, and network interface card used therefor

Country Status (1)

Country Link
JP (1) JP5109748B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8234400B2 (en) * 2010-03-16 2012-07-31 Microsoft Corporation Shaping virtual machine communication traffic
JP5549733B2 (en) * 2010-08-18 2014-07-16 富士通株式会社 Computer management apparatus, computer management system, and computer system
JP5871233B2 (en) * 2012-03-22 2016-03-01 株式会社日立製作所 Computer and bandwidth control method
JP5999184B2 (en) * 2012-08-01 2016-09-28 富士通株式会社 Information processing apparatus, control method, and control program
JP6424632B2 (en) 2015-01-08 2018-11-21 富士通株式会社 Load calculation method, load calculation program and load calculation device
DE112018007428T5 (en) 2018-05-07 2021-01-07 Mitsubishi Electric Corporation DEVICE FOR INFORMATION PROCESSING, TUNING PROCEDURES AND TUNING PROGRAM

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3227069B2 (en) * 1994-12-22 2001-11-12 株式会社日立製作所 I / O processing system
JP2001211207A (en) * 2000-01-26 2001-08-03 Sony Corp Packet transmission method, packet transmitter and band ensuring method
JP2001251331A (en) * 2000-03-06 2001-09-14 Fujitsu Ltd Subscriber terminator to dynamically assign band
JP2005347969A (en) * 2004-06-01 2005-12-15 Matsushita Electric Ind Co Ltd Device and method for transferring packet

Also Published As

Publication number Publication date
JP2009239374A (en) 2009-10-15

Similar Documents

Publication Publication Date Title
JP5109748B2 (en) Virtual computer system, packet transmission control method, and network interface card used therefor
KR101006260B1 (en) Apparatus and method for supporting memory management in an offload of network protocol processing
US8601181B2 (en) System and method for read data buffering wherein an arbitration policy determines whether internal or external buffers are given preference
US9632977B2 (en) System and method for ordering packet transfers in a data processor
EP2618257B1 (en) Scalable sockets
KR20070042152A (en) Apparatus and method for supporting connection establishment in an offload of network protocol processing
WO2009008007A2 (en) Data packet processing method for a multi core processor
JP2007079789A (en) Computer system and event processing method
US20140317220A1 (en) Device for efficient use of packet buffering and bandwidth resources at the network edge
JP5136564B2 (en) Packet processing apparatus and packet processing program
CN104904169A (en) Adjusting thread priority to improve throughput between peer-to-peer (P2P) devices
US8189578B2 (en) Simple fairness protocols for daisy chain interconnects
TWI296387B (en) Scheduling method for remote object procedure call and system thereof
Dumazet Busy polling: Past, present, future
WO2001080035A2 (en) Backpressure arrangement in client-server environment
JP2007249357A (en) Information processor, distributed processing system, and task management method
US8004991B1 (en) Method and system for processing network information
US11271897B2 (en) Electronic apparatus for providing fast packet forwarding with reference to additional network address translation table
US10877800B2 (en) Method, apparatus and computer-readable medium for application scheduling
JP4349636B2 (en) Packet processing apparatus and program
JP2015184960A (en) Information processing system and control method, and computer program
JPH1196108A (en) Computer system and bus control device
WO2024013830A1 (en) Server internal data transfer device, data transfer system, server internal data transfer method, and program
US8842696B1 (en) Guaranteed rate port scheduler
JP2004054562A (en) Method of controlling input and output for network file system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120619

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120820

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: 20120911

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120924

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees