JP2011203810A - Server, computer system, and virtual computer management method - Google Patents

Server, computer system, and virtual computer management method Download PDF

Info

Publication number
JP2011203810A
JP2011203810A JP2010068111A JP2010068111A JP2011203810A JP 2011203810 A JP2011203810 A JP 2011203810A JP 2010068111 A JP2010068111 A JP 2010068111A JP 2010068111 A JP2010068111 A JP 2010068111A JP 2011203810 A JP2011203810 A JP 2011203810A
Authority
JP
Japan
Prior art keywords
information
performance
virtual machine
network interface
application
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.)
Pending
Application number
JP2010068111A
Other languages
Japanese (ja)
Inventor
Keiko Tanigawa
桂子 谷川
Keisuke Hatasaki
恵介 畑▲崎▼
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010068111A priority Critical patent/JP2011203810A/en
Publication of JP2011203810A publication Critical patent/JP2011203810A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To normally operate service on a virtual computer by taking into consideration a performance difference of hardware resources constituting a computer system, in a virtual computer monitor for managing the virtual computer on a physical computer.SOLUTION: A server includes a virtual machine monitor for managing the virtual computer and an operating system for executing an application so as to provide a virtual environment. The virtual machine monitor includes a physical resource information manager for managing information related to physical resources assigned to each virtual computer, an application information manager for managing information related to the operating state of the application, and a performance difference information manager for obtaining performance difference information representing a performance difference between the first physical resource performance and the second physical resource performance and generating control information to adjust the second physical resource performance so that the application is operated normally as long as a first physical resource in the server is changed to a second physical resource having higher performance.

Description

本発明は、仮想計算機に関し、更に詳しくは、仮想計算機と他の装置とを接続する仮想ネットワークインタフェースを用いてデータ転送するサーバ、計算機システム及び仮想計算機管理方法に関する。   The present invention relates to a virtual machine, and more particularly to a server, a computer system, and a virtual machine management method for transferring data using a virtual network interface that connects the virtual machine and another device.

近年の物理計算機はマルチコアプロセッサを複数搭載するようになってきており、プロセッサ資源を有効利用するために、複数の仮想計算機を同時に稼働させるサーバ仮想化技術が注目されている。   In recent years, a plurality of multi-core processors have been installed in physical computers, and server virtualization technology that simultaneously operates a plurality of virtual computers has attracted attention in order to effectively use processor resources.

サーバ仮想化技術を用いることによって、1台の物理計算機上に複数の仮想計算機を稼働できるため、1台の物理計算機に1つのOSを実行させる従来システムと比べ、コスト削減を望める。   By using the server virtualization technology, a plurality of virtual computers can be operated on one physical computer, so that a cost reduction can be expected as compared with a conventional system in which one physical computer executes one OS.

PCのようなオープン系システムは、性能向上の進度が速く、次々と後継機種が登場し、製品の保証期間は約5年程度と短い。   An open system such as a PC has a rapid progress in performance improvement, and successor models have appeared one after another, and the product warranty period is as short as about 5 years.

これに対し、基幹系(企業の会計、生産管理、人事、給与等の業務アプリケーション、及び銀行や鉄道等社会インフラに関わるサービス等)のようなサービスは、基本的なサービスであるためにサービス内容が変わらないものが多い。また、基幹系のサービスでは稼働実績のあるサービスを更改することによる障害を起こしてはならない。前述したような理由から、サービスをできるかぎり長期に稼働させたいというニーズがある。   In contrast, services such as core systems (business applications such as corporate accounting, production management, human resources, salary, and services related to social infrastructure such as banks and railways) are basic services. There are many things that do not change. In addition, the core service must not cause trouble by renewing a service that has been used. For the reasons described above, there is a need to operate the service as long as possible.

仮想化技術は前述したニーズに答えるものであり、物理計算機に新しいハードウェアを導入した場合であっても、現在稼働しているサービスの環境をそのまま移行することが可能であり、また、オープン系システムに対して費用対効果が認められるサービスへの適用が始まっている。   The virtualization technology answers the above-mentioned needs. Even when new hardware is installed in a physical computer, it is possible to migrate the service environment that is currently in operation, and open systems Application to services that are cost-effective for the system has begun.

長期に運用させたいサービスを仮想計算機上で動作させる場合、サービスの性能を保持することが重要である。ハードウェアは数年で変更する必要があり、変更の度に性能差が広がる。従って、サービスが構築された時の環境を維持するためには、仮想計算機を制御する仮想計算機モニタがその性能差を解消し、サービスが実行される環境にハードウェアの変更による影響を与えないことが必要である。   When operating a service that you want to operate for a long time on a virtual machine, it is important to maintain the performance of the service. The hardware needs to be changed in a few years, and the performance difference increases with each change. Therefore, in order to maintain the environment when the service is built, the virtual machine monitor that controls the virtual machine must eliminate the performance difference and the environment in which the service is executed will not be affected by hardware changes. is required.

ハードウェア資源の一つとして、ネットワークがある。ネットワークに関しては、高速化と、LAN(Local Area Network)系ネットワーク及びストレージ系ネットワークの統合化と、が進んでいる。   One of the hardware resources is a network. As for the network, high speed and integration of a LAN (Local Area Network) network and a storage network are progressing.

イーサネット(登録商標、以降同じ)は、10Gbps以上の性能を持つようになっており、特にデータセンタ(以降、DCと記載する)は大量のデータをリアルタイムに扱うサービスが多いため、DC向けの規格がIEEE 802.1 WGにて策定されている。   Ethernet (registered trademark, hereinafter the same) has a performance of 10 Gbps or more, and in particular, a data center (hereinafter referred to as DC) has many services that handle a large amount of data in real time. Is formulated by the IEEE 802.1 WG.

ネットワーク側では大量のデータを高速に扱えるようになっているが、当該サービスの動作環境(仮想計算機)より先がサービスの受信能力以上のシステム構成となることによって、サービス側では仮想計算機側の受信側処理を越える可能性がある。すなわち、受信バッファのオーバーフローが発生し、これによってデータが損失、サービスの異常終了や異常動作の原因となる。   A large amount of data can be handled at high speed on the network side. However, since the system configuration beyond the service's operating environment (virtual computer) exceeds the service reception capability, the service side can receive data on the virtual computer side. There is a possibility of exceeding the side processing. That is, an overflow of the reception buffer occurs, which causes data loss and abnormal termination of service or abnormal operation.

この問題を解消する方法としては、ある物理計算機上に生成される複数の仮想計算機間を接続する仮想ネットワークシステムにおいて、送信先の仮想計算機の受信バッファが溢れることを防止する方法がある(例えば、特許文献1参照)。   As a method for solving this problem, there is a method for preventing a reception buffer of a destination virtual machine from overflowing in a virtual network system connecting a plurality of virtual machines generated on a certain physical machine (for example, Patent Document 1).

具体的には、仮想計算機モニタは仮想計算機の送受信状況を管理する仮想ネットワーク制御部を備え、各仮想計算機は仮想ネットワークインタフェースカード(以下、仮想NICと記載する)を備える。仮想ネットワーク制御部は、各仮想NICの受信バッファサイズを監視し、ある仮想NICが送信する送信データサイズと受信バッファサイズとから、送信可否を判定する。受信バッファ残量が受信データサイズ以下である場合、送信を停止させる。   Specifically, the virtual machine monitor includes a virtual network control unit that manages the transmission / reception status of the virtual machine, and each virtual machine includes a virtual network interface card (hereinafter referred to as a virtual NIC). The virtual network control unit monitors the reception buffer size of each virtual NIC, and determines whether or not transmission is possible from the transmission data size and reception buffer size transmitted by a certain virtual NIC. If the reception buffer remaining amount is less than or equal to the reception data size, transmission is stopped.

特開2009−296133号公報JP 2009-296133 A

特許文献1では、同一の物理計算機上に仮想計算機が配置されるため、仮想計算機モニタが各仮想計算機のデータ送受信状況を把握できる。従って、受信側の仮想計算機の受信バッファと送信側の仮想計算機の送信データとを比較することができる。しかし、物理NICを介さないため、物理NICの性能と仮想計算機の稼働環境との関係を考慮したものではなく、物理NICを介した別の物理計算機との通信する計算機システムに適用することは困難である。   In Patent Document 1, since virtual machines are arranged on the same physical computer, the virtual machine monitor can grasp the data transmission / reception status of each virtual machine. Therefore, it is possible to compare the reception buffer of the reception-side virtual machine and the transmission data of the transmission-side virtual machine. However, since the physical NIC is not used, the relationship between the performance of the physical NIC and the operating environment of the virtual machine is not considered, and it is difficult to apply to a computer system that communicates with another physical computer via the physical NIC. It is.

すなわち、仮想計算機モニタは、同一の物理計算機上の仮想計算機の管理はできるが、他の計算機の管理はできないため、複数の計算機を備える計算機システムには適用できない。   That is, the virtual machine monitor can manage virtual machines on the same physical machine, but cannot manage other machines, and therefore cannot be applied to a computer system including a plurality of machines.

本発明の目的は、複数の物理計算機を備える計算機システムにおいて、物理計算機上に生成された仮想計算機を制御する仮想計算機モニタが、変更される物理計算機のハードウェア資源の性能を適正に考慮して、仮想計算機上のアプリケーションを正常に動作させることである。   An object of the present invention is to appropriately consider the performance of hardware resources of a physical computer to be changed by a virtual computer monitor that controls a virtual computer generated on the physical computer in a computer system including a plurality of physical computers. It is to operate the application on the virtual machine normally.

本発明の代表的な一例を示せば以下の通りである。すなわち、プロセッサと、前記プロセッサに接続されるメモリとを備え、前記プロセッサによって実行され、サーバの物理資源を仮想的に分割して生成される複数の仮想計算機を管理する仮想マシンモニタと、前記各仮想計算機上で実行され、アプリケーションを実行するオペレーティングシステムと、を備えた仮想環境を提供するサーバであって、前記仮想マシンモニタは、前記各仮想計算期毎に割り当てられた前記物理資源に関する情報を管理する物理資源情報管理部と、前記各仮想計算機毎に、前記オペレーティングシステム上で実行される前記アプリケーションの稼働状態に関する情報を管理するアプリケーション情報管理部と、前記サーバの物理資源の性能情報を管理し、前記サーバの第1の物理資源が性能の高い第2の物理資源に変更された場合に、前記第1の物理資源の性能と前記第2の物理資源の性能との差を表す性能差分情報を取得して、前記性能差分情報に基づいて、前記アプリケーションが正常に動作するように前記第2の物理資源の性能を調整するための制御情報を生成する性能差分情報管理部と、を備えることを特徴とする。   A typical example of the present invention is as follows. That is, a virtual machine monitor that includes a processor and a memory connected to the processor, and that is executed by the processor and manages a plurality of virtual machines generated by virtually dividing a physical resource of a server; A server that provides a virtual environment including an operating system that executes an application on the virtual machine, wherein the virtual machine monitor stores information on the physical resources allocated for each virtual calculation period Manages the physical resource information management unit to manage, the application information management unit that manages information related to the operating state of the application executed on the operating system for each virtual machine, and manages the physical resource performance information of the server And the first physical resource of the server is a second physical resource with high performance. When changed, it acquires performance difference information representing the difference between the performance of the first physical resource and the performance of the second physical resource, and the application operates normally based on the performance difference information And a performance difference information management unit for generating control information for adjusting the performance of the second physical resource.

本発明によれば、計算機システムを構成するハードウェア資源の変更時、仮想計算機上で実行されるアプリケーションの稼働状態を変更することなく正常に稼働させることができる。   According to the present invention, when changing the hardware resources constituting the computer system, it is possible to operate normally without changing the operating state of the application executed on the virtual computer.

本発明の実施形態の概要を説明するブロック図である。It is a block diagram explaining the outline | summary of embodiment of this invention. 本発明の第1の実施形態のネットワークシステムの構成例を説明するブロック図である。It is a block diagram explaining the structural example of the network system of the 1st Embodiment of this invention. 本発明の第1の実施形態のサーバシステムの内部構成の一例を説明するブロック図である。It is a block diagram explaining an example of the internal structure of the server system of the 1st Embodiment of this invention. 本発明の第1の実施形態の物理計算機のハードウェア構成の一例を説明するブロック図である。It is a block diagram explaining an example of the hardware constitutions of the physical computer of the 1st Embodiment of this invention. 本発明の第1の実施形態のAP情報管理テーブルのフォーマットの一例を示す説明図である。It is explanatory drawing which shows an example of the format of AP information management table of the 1st Embodiment of this invention. 本発明の第1の実施形態の構成履歴管理テーブルのフォーマットの一例を示す説明図である。It is explanatory drawing which shows an example of the format of the structure log | history management table of the 1st Embodiment of this invention. 本発明の第1の実施形態のネットワークシステムにおけるサーバシステムが実行する処理の流れを説明するシーケンス図である。It is a sequence diagram explaining the flow of the process which the server system in the network system of the 1st Embodiment of this invention performs. 本発明の第1の実施形態の仮想計算機モニタが実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the virtual machine monitor of the 1st Embodiment of this invention performs. 本発明の第1の実施形態の仮想計算機モニタが実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the virtual machine monitor of the 1st Embodiment of this invention performs. 本発明の第1の実施形態の仮想計算機モニタが実行するAP動作情報のロギング処理を説明するフローチャートである。It is a flowchart explaining the logging process of AP operation information which the virtual machine monitor of the 1st Embodiment of this invention performs. 本発明の第2の実施形態のネットワークスイッチの内部構成の一例を説明するブロック図である。It is a block diagram explaining an example of the internal structure of the network switch of the 2nd Embodiment of this invention. 本発明の第2の実施形態のネットワークシステムにおけるサーバシステム及びネットワークスイッチが実行する処理の流れを説明するシーケンス図である。It is a sequence diagram explaining the flow of the process which the server system and network switch in the network system of the 2nd Embodiment of this invention perform. 本発明の第2の実施形態の仮想計算機モニタが実行する性能差を解消するための処理を説明するフローチャートである。It is a flowchart explaining the process for eliminating the performance difference which the virtual machine monitor of the 2nd Embodiment of this invention performs. 本発明の第2の実施形態のネットワークスイッチが実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the network switch of the 2nd Embodiment of this invention performs. 本発明の第2の実施形態のネットワークスイッチによって実行されるスイッチング処理を説明するフローチャートである。It is a flowchart explaining the switching process performed by the network switch of the 2nd Embodiment of this invention. ネットワークスイッチが管理するAP−ネットワーク環境情報テーブルのフォーマットの一例を示す説明図である。It is explanatory drawing which shows an example of the format of the AP-network environment information table which a network switch manages.

本発明の実施形態について、以下に、図を参照して説明する。まず、本発明の概要を、図1を用いて説明する。   Embodiments of the present invention will be described below with reference to the drawings. First, the outline of the present invention will be described with reference to FIG.

図1は、本発明の実施形態の概要を説明するブロック図である。   FIG. 1 is a block diagram illustrating an outline of an embodiment of the present invention.

図1に示す例では、物理サーバは、ハードウェア107とソフトウェア100とから構成される。ソフトウェア100は、仮想計算機モニタ101及び仮想計算機102を含む。   In the example illustrated in FIG. 1, the physical server includes hardware 107 and software 100. The software 100 includes a virtual machine monitor 101 and a virtual machine 102.

以下、ハードウェア107がハードウェア108に更新された場合を例に説明する。なお、以降ではハードウェア107を旧ハードウェア107と記載し、ハードウェア108を新ハードウェア108と記載する。   Hereinafter, a case where the hardware 107 is updated to the hardware 108 will be described as an example. Hereinafter, the hardware 107 will be referred to as old hardware 107 and the hardware 108 will be referred to as new hardware 108.

仮想計算機モニタ101は、アプリケーション動作情報106、ハードウェア性能差分情報109及び性能差解消処理部110とを含む。   The virtual machine monitor 101 includes application operation information 106, hardware performance difference information 109, and a performance difference elimination processing unit 110.

アプリケーション動作情報106は、仮想計算機102上で動作するアプリケーションの動作環境に関する情報を格納する。ハードウェア性能差分情報109は、旧ハードウェア107と新ハードウェア108との性能に関する情報を格納する。性能差解消処理部110は、ハードウェア変更時に、ハードウェアの性能の差分を適正化する処理を実行する。   The application operation information 106 stores information related to the operating environment of an application that operates on the virtual computer 102. The hardware performance difference information 109 stores information about the performance of the old hardware 107 and the new hardware 108. The performance difference elimination processing unit 110 executes processing for optimizing the difference in hardware performance when the hardware is changed.

具体的には、性能差解消処理部110は、新ハードウェア108の性能情報を取得し(S120)、旧ハードウェア107との性能差を算出し(S121)、変更されるハードウェアに基づいて、どのハードウェアの性能差を適正化するかを設定する(S122)。   Specifically, the performance difference elimination processing unit 110 acquires the performance information of the new hardware 108 (S120), calculates the performance difference from the old hardware 107 (S121), and based on the changed hardware. The hardware performance difference to be optimized is set (S122).

[第1の実施形態]
次に、本発明の第1の実施形態について、図2〜図10を参照して説明する。
[First Embodiment]
Next, a first embodiment of the present invention will be described with reference to FIGS.

第1の実施形態では、物理計算機に物理NICが高速な物理NICに変更された場合に、仮想計算機を制御する仮想計算機モニタが、アプリケーション動作情報106とハードウェア性能差分情報109とに基づいて、受信バッファがオーバーフローしないように、疑似的に輻輳状況を発生させる。   In the first embodiment, when the physical NIC is changed to a high-speed physical NIC in the physical computer, the virtual machine monitor that controls the virtual machine is based on the application operation information 106 and the hardware performance difference information 109. A pseudo congestion state is generated so that the reception buffer does not overflow.

図2は、本発明の第1の実施形態のネットワークシステムの構成例を説明するブロック図である。   FIG. 2 is a block diagram illustrating a configuration example of the network system according to the first embodiment of this invention.

DC200は、ルータ202、ネットワークスイッチ203−1〜203−n、サーバシステム204−1〜204−n、ストレージ装置205−1、205−2とから構成される。以下、ネットワークスイッチ203−1〜203−nを区別しない場合、ネットワークスイッチ203と記載し、サーバシステム204−1〜204−nを区別しない場合、サーバシステム204と記載し、また、ストレージ装置205−1、205−2を区別しない場合、ストレージ装置205と記載する。   The DC 200 includes a router 202, network switches 203-1 to 203-n, server systems 204-1 to 204-n, and storage apparatuses 205-1 and 205-2. Hereinafter, when the network switches 203-1 to 203-n are not distinguished from each other, they are described as the network switch 203. When the server systems 204-1 to 204-n are not distinguished from each other, they are referred to as the server system 204, and the storage device 205- 1 and 205-2 are described as the storage device 205 when not distinguished.

ルータ202、ネットワークスイッチ203、サーバシステム204、及びストレージ装置205は、それぞれネットワーク206を介して接続される。   The router 202, the network switch 203, the server system 204, and the storage apparatus 205 are connected via a network 206, respectively.

DC200は、例えばインターネットのような外部ネットワーク201を介して、他のDC、システム又は端末等と接続される。   The DC 200 is connected to another DC, system, terminal, or the like via an external network 201 such as the Internet.

図3は、本発明の第1の実施形態のサーバシステム204の内部構成の一例を説明するブロック図である。   FIG. 3 is a block diagram illustrating an example of the internal configuration of the server system 204 according to the first embodiment of this invention.

図3に示す例では、サーバシステム204は、物理計算機300と物理NIC312とから構成される。物理計算機300と物理NIC312とは、例えば、PCI(Peripheral Component InterConnect)バスのような内部バス320を介して互いに接続される。   In the example illustrated in FIG. 3, the server system 204 includes a physical computer 300 and a physical NIC 312. The physical computer 300 and the physical NIC 312 are connected to each other via an internal bus 320 such as a PCI (Peripheral Component Interconnect) bus.

物理計算機300は、1つ以上の仮想計算機1(301−1)〜仮想計算機n(301−n)と、仮想計算機モニタ302とを含む。なお、物理計算機300のハードウェア構成については、図4を用いて後述する。   The physical computer 300 includes one or more virtual machines 1 (301-1) to n (301-n) and a virtual machine monitor 302. The hardware configuration of the physical computer 300 will be described later with reference to FIG.

仮想計算機モニタ302は、仮想計算機1(301−1)〜仮想計算機n(301−n)を生成し、生成された仮想計算機1(301−1)〜仮想計算機n(301−n)を管理する。   The virtual machine monitor 302 generates virtual machine 1 (301-1) to virtual machine n (301-n), and manages the generated virtual machine 1 (301-1) to virtual machine n (301-n). .

仮想計算機モニタ302は、物理計算機300が備える物理的な計算機資源を仮想的な計算機資源に変換し、仮想計算機1(301−1)〜仮想計算機n(301−n)に、それぞれ、仮想的な計算機資源を割り当てる。なお、物理計算機300が備える計算機資源を割り当てる方法については、周知又は公知の技術を適宜用いればよいので、ここでは詳述しない。   The virtual machine monitor 302 converts physical computer resources included in the physical machine 300 into virtual machine resources, and each of the virtual machine monitors 302 is transferred to the virtual machine 1 (301-1) to the virtual machine n (301-n). Allocate computer resources. Note that a method of allocating computer resources included in the physical computer 300 is not described in detail here because a known or publicly known technique may be used as appropriate.

以降、仮想計算機1(301−1)〜仮想計算機n(301−n)を区別しない場合、仮想計算機301と記載する。   Hereinafter, when the virtual machines 1 (301-1) to n (301-n) are not distinguished, they are referred to as virtual machines 301.

物理計算機300が備える物理的な計算機資源としては、図4に示すようなものが考えられる。   As a physical computer resource provided in the physical computer 300, the one shown in FIG. 4 is conceivable.

図4は、本発明の第1の実施形態の物理計算機300のハードウェア構成の一例を説明するブロック図である。   FIG. 4 is a block diagram illustrating an example of the hardware configuration of the physical computer 300 according to the first embodiment of this invention.

図4に示すように、物理計算機300は、CPU330とメモリ331と不揮発性記憶媒体332とを備え、内部バス等を介して互いに接続される。   As shown in FIG. 4, the physical computer 300 includes a CPU 330, a memory 331, and a non-volatile storage medium 332, which are connected to each other via an internal bus or the like.

CPU330は、メモリ331上に展開されたプログラムを実行する。メモリ331は、CPU330によって実行されるプログラム及び当該プログラムを実行するために必要な情報を格納する。また、メモリ331はCPU330が処理を実行するためのワークエリアとしても使用される。不揮発性記憶媒体332は、各種情報を格納し、例えば、HDD等が考えられる。   The CPU 330 executes a program developed on the memory 331. The memory 331 stores a program executed by the CPU 330 and information necessary for executing the program. The memory 331 is also used as a work area for the CPU 330 to execute processing. The non-volatile storage medium 332 stores various types of information, such as an HDD.

仮想計算機モニタ302は、CPU330、メモリ331及び不揮発性記憶媒体332を各仮想計算機301に割り当てる。なお、物理計算機300は、図示しない構成を備えてもよい。例えば、I/Oインタフェース、ネットワークインタフェース等を備えてもよい。   The virtual machine monitor 302 assigns the CPU 330, the memory 331, and the nonvolatile storage medium 332 to each virtual machine 301. Note that the physical computer 300 may have a configuration (not shown). For example, an I / O interface, a network interface, or the like may be provided.

なお、図4では、CPU330、メモリ331及び不揮発性記憶媒体332がそれぞれ1つの場合を示したが、複数備えていてもよい。また、CPU330は、複数のコアを含むものであってもよい。   Note that FIG. 4 shows the case where there is one CPU 330, one memory 331, and one non-volatile storage medium 332, but a plurality of them may be provided. The CPU 330 may include a plurality of cores.

図3の説明に戻る。   Returning to the description of FIG.

仮想計算機1(301−1)〜仮想計算機n(301−n)は、アプリケーション(以降、APと記載する)321−1〜321−n、ゲストOS322−1〜322−n、仮想ドライバ323−1〜323−nを備える。   The virtual machine 1 (301-1) to the virtual machine n (301-n) are applications (hereinafter referred to as AP) 321-1 to 321-n, guest OS 322-1 to 322-n, and virtual driver 323-1. ~ 323-n.

ゲストOS322−1〜322−nは、各仮想計算機301上で実行されるOSである。AP321−1〜321−nは、各ゲストOS322−1〜322−n上で実行されるプログラムである。AP321−1〜321−nが実行されることによって、すなわち、AP321−1〜322−nが動作することによって、各AP321−1〜322−nに対応するサービスが提供される。   The guest OSs 322-1 to 322-n are OSs executed on the respective virtual machines 301. The APs 321-1 to 321-n are programs executed on the guest OSs 322-1 to 322-n. When the APs 321-1 to 321-n are executed, that is, when the APs 321-1 to 322-n operate, services corresponding to the APs 321-1 to 322-n are provided.

以降、ゲストOS322−1〜322−nを区別しない場合、ゲストOS322と記載し、AP321−1〜321−nを区別しない場合、AP321と記載する。   Hereinafter, the guest OSs 322-1 to 322-n are described as guest OS 322 when not distinguished from each other, and the APs 321-1 to 321-n are described as AP 321 when not distinguished from each other.

仮想ドライバ323−1〜323−nは、ゲストOS322−1〜322−nが処理を実行するときに用いられるデバイスドライバである。   The virtual drivers 323-1 to 323-n are device drivers used when the guest OSs 322-1 to 322-n execute processing.

以降、仮想ドライバ323−1〜323−nを区別しない場合、仮想ドライバ323と記載する。   Hereinafter, when the virtual drivers 323-1 to 323-n are not distinguished, they are described as virtual drivers 323.

なお、本実施形態では、各仮想計算機301におけるネットワークのエミュレーション処理は、物理NIC312によって実行される。   In this embodiment, network emulation processing in each virtual machine 301 is executed by the physical NIC 312.

仮想計算機モニタ302は、送信モニタ303、受信モニタ304、性能差解消処理部305、疑似輻輳処理部306、AP情報管理部307、AP情報管理テーブル308、構成履歴管理部309、及び構成履歴管理テーブル310を備える。   The virtual machine monitor 302 includes a transmission monitor 303, a reception monitor 304, a performance difference elimination processing unit 305, a pseudo congestion processing unit 306, an AP information management unit 307, an AP information management table 308, a configuration history management unit 309, and a configuration history management table. 310 is provided.

送信モニタ303は、各仮想計算機301上で実行されるAP321が送信するデータを解析し、当該解析結果を物理NIC312に送信する。   The transmission monitor 303 analyzes the data transmitted by the AP 321 executed on each virtual machine 301 and transmits the analysis result to the physical NIC 312.

受信モニタ304は、物理NIC312を介して受信した、仮想計算機301上で実行される各AP321宛のデータをロギングする。例えば、受信データの受信間隔、及び仮想NICの受信バッファにバッファリングされる受信データ数等が監視される。   The reception monitor 304 logs data addressed to each AP 321 executed on the virtual machine 301 and received via the physical NIC 312. For example, the reception interval of reception data, the number of reception data buffered in the reception buffer of the virtual NIC, and the like are monitored.

AP情報管理部307は、AP321の動作環境に関する情報を管理する。以降、AP321の動作環境に関する情報をAP動作情報と記載する。   The AP information management unit 307 manages information related to the operating environment of the AP 321. Hereinafter, information regarding the operating environment of the AP 321 is referred to as AP operation information.

AP動作情報は、例えば、AP321を特定する識別子、ネットワーク設定情報、受信モニタ304によって測定された受信データの受信間隔等が考えられる。   The AP operation information may be, for example, an identifier that identifies the AP 321, network setting information, a reception interval of reception data measured by the reception monitor 304, and the like.

AP情報管理部307は、前述したようなAP動作情報を取得し、取得されたAP動作情報をAP情報管理テーブル308に格納する。AP情報管理テーブル308の詳細については、図5を用いて後述する。   The AP information management unit 307 acquires the AP operation information as described above, and stores the acquired AP operation information in the AP information management table 308. Details of the AP information management table 308 will be described later with reference to FIG.

構成履歴管理部309は、サーバシステム204のハードウェアの構成情報及び仮想計算機301に割り当てるハードウェアの構成情報を管理する。   The configuration history management unit 309 manages the hardware configuration information of the server system 204 and the hardware configuration information assigned to the virtual machine 301.

構成履歴管理部309は、例えば、仮想計算機301の生成時に、サーバシステム204のハードウェアの構成情報及び仮想計算機301に割り当てるハードウェアの構成情報を取得し、取得された各構成情報を構成履歴管理テーブル310に格納する。なお、サーバシステム204のハードウェアの構成情報は、サーバシステム204の初期設定時に取得されてもよい。   The configuration history management unit 309 acquires, for example, the hardware configuration information of the server system 204 and the hardware configuration information assigned to the virtual computer 301 when the virtual computer 301 is generated, and the acquired configuration information is managed as a configuration history. Store in table 310. Note that the hardware configuration information of the server system 204 may be acquired when the server system 204 is initially set.

構成履歴管理部309は、サーバシステム204のハードウェア構成が変更された場合に、変更されたハードウェアの構成情報を取得し、構成履歴管理テーブル310に取得されたハードウェアの構成情報を格納する。   When the hardware configuration of the server system 204 is changed, the configuration history management unit 309 acquires the changed hardware configuration information and stores the acquired hardware configuration information in the configuration history management table 310. .

構成履歴管理テーブル310の詳細については、図6を用いて後述する。   Details of the configuration history management table 310 will be described later with reference to FIG.

性能差解消処理部305は、サーバシステム204のハードウェア構成が変更される場合、AP321を正常に動作させるための制御情報を決定する。   The performance difference elimination processing unit 305 determines control information for operating the AP 321 normally when the hardware configuration of the server system 204 is changed.

具体的には、性能差解消処理部305は、サーバシステム204のハードウェア構成が変更される場合、AP321がインストールされた時点のハードウェアの構成情報とハードウェアの構成が変更された後のハードウェアの構成情報とを構成履歴管理テーブル310から取得する。さらに、性能差解消処理部305は、AP321がインストールされた時点のハードウェアの構成情報とハードウェアの構成が変更された後のハードウェアの構成情報との差分を算出し、算出された差分に基づいて、AP321を正常に動作させるための制御内容を決定する。本実施形態では、監視するハードウェアを物理NIC312として説明するが、CPU330、又はメモリ331等のハードウェアであっても本発明は実施可能である。   Specifically, when the hardware configuration of the server system 204 is changed, the performance difference elimination processing unit 305 includes the hardware configuration information at the time when the AP 321 is installed and the hardware after the hardware configuration is changed. Hardware configuration information is acquired from the configuration history management table 310. Further, the performance difference elimination processing unit 305 calculates a difference between the hardware configuration information at the time when the AP 321 is installed and the hardware configuration information after the hardware configuration is changed, and calculates the difference. Based on this, the control content for operating the AP 321 normally is determined. In the present embodiment, the hardware to be monitored is described as the physical NIC 312, but the present invention can be implemented even with hardware such as the CPU 330 or the memory 331.

疑似輻輳処理部306は、性能差解消処理部305によって決定された制御内容に基づいて、疑似的に輻輳状態を発生させる処理を実行する。   The pseudo congestion processing unit 306 executes a process for generating a pseudo congestion state based on the control content determined by the performance difference cancellation processing unit 305.

物理NIC312は、サーバシステム204が他の装置(例えば、ネットワークスイッチ203及びストレージ装置205等)と通信するためのネットワークインタフェースである。物理NIC312は、仮想NIC327−1〜327−n、ルーティング部328及び処理部329を備える。   The physical NIC 312 is a network interface for the server system 204 to communicate with other devices (for example, the network switch 203 and the storage device 205). The physical NIC 312 includes virtual NICs 327-1 to 327-n, a routing unit 328, and a processing unit 329.

仮想NIC327−1〜327−nは、それぞれ、仮想計算機1(301−1)〜仮想計算機n(301−n)に対応する仮想NICネットワーク機能を備える。すなわち、仮想NIC327−1〜327−nは、各仮想計算機301におけるネットワークのエミュレーション処理を実行するための機能を備える。物理NIC312がネットワークのエミュレーション処理を実行することによって、サーバシステム204の処理性能を向上することが可能となる。   The virtual NICs 327-1 to 327-n have virtual NIC network functions corresponding to the virtual machines 1 (301-1) to n (301-n), respectively. That is, the virtual NICs 327-1 to 327-n have a function for executing network emulation processing in each virtual machine 301. When the physical NIC 312 executes network emulation processing, the processing performance of the server system 204 can be improved.

仮想NIC327−1〜327−nは、それぞれ、送信バッファ324−1〜324−n及び受信バッファ325−1〜325−nを備える。送信バッファ324−1〜324−nは、各仮想計算機301から送信されるデータを一時的に格納するバッファである。受信バッファ325−1〜325−nは、各仮想計算機301が受信するデータを一時的に格納するバッファである。   The virtual NICs 327-1 to 327-n include transmission buffers 324-1 to 324-n and reception buffers 325-1 to 325-n, respectively. The transmission buffers 324-1 to 324-n are buffers that temporarily store data transmitted from each virtual machine 301. The reception buffers 325-1 to 325-n are buffers that temporarily store data received by the virtual machines 301.

仮想計算機モニタ302は、仮想計算機301における仮想ドライバ323と物理NIC312の仮想NIC327とを対応づけて管理する。図3に示す例では、仮想ドライバ323−1と仮想NIC327−1とが対応づけられ、仮想ドライバ323−2と仮想NIC327−2とが対応づけられ、仮想ドライバ323−nと仮想NIC327−nとが対応づけられる。   The virtual machine monitor 302 manages the virtual driver 323 in the virtual machine 301 and the virtual NIC 327 of the physical NIC 312 in association with each other. In the example illustrated in FIG. 3, the virtual driver 323-1 and the virtual NIC 327-1 are associated with each other, the virtual driver 323-2 and the virtual NIC 327-2 are associated with each other, and the virtual driver 323-n and the virtual NIC 327-n are associated with each other. Are matched.

以降、仮想NIC327−1〜327−nを区別しない場合、仮想NIC327と記載する。また、送信バッファ324−1〜324−nを区別しない場合、送信バッファ324と記載し、また、受信バッファ325−1〜325−nを区別しない場合、受信バッファ325と記載する。   Hereinafter, when the virtual NICs 327-1 to 327-n are not distinguished, they are described as virtual NICs 327. Further, when the transmission buffers 324-1 to 324 -n are not distinguished from each other, they are described as transmission buffers 324, and when the reception buffers 325-1 to 325 -n are not distinguished from each other, they are described as reception buffers 325.

ルーティング部328は、各仮想計算機301から送信された送信データを処理部329へ出力し、処理部329から入力されたデータを各仮想NIC327へ振分ける処理を行う。   The routing unit 328 outputs the transmission data transmitted from each virtual computer 301 to the processing unit 329, and performs processing for distributing the data input from the processing unit 329 to each virtual NIC 327.

処理部329は、ネットワークからデータを受信し、また、ネットワークへデータを送信する。   The processing unit 329 receives data from the network and transmits data to the network.

なお、サーバシステム204は、サーバシステム204とストレージ装置205との間の接続に用いられるインタフェースであるHBA(図示省略)を備える。また、仮想計算機301は、仮想HBA(図示省略)を備えていてもよい。   The server system 204 includes an HBA (not shown) that is an interface used for connection between the server system 204 and the storage apparatus 205. The virtual computer 301 may include a virtual HBA (not shown).

本実施形態では、物理NICがネットワークのエミュレーションを実行するため、仮想NIC327及びルーティング部328を備えているが、仮想計算機モニタ302が仮想NIC327を構えていてもよい。この場合、仮想計算機モニタ302が、ネットワークのエミュレーション処理を実行する。   In this embodiment, since the physical NIC executes network emulation, the virtual NIC 327 and the routing unit 328 are provided. However, the virtual machine monitor 302 may include the virtual NIC 327. In this case, the virtual machine monitor 302 executes network emulation processing.

なお、各部が備える機能を一つの部にまとめてもよい。   Note that the functions provided in each unit may be combined into one unit.

図5は、本発明の第1の実施形態のAP情報管理テーブル308のフォーマットの一例を示す説明図である。   FIG. 5 is an explanatory diagram illustrating an example of a format of the AP information management table 308 according to the first embodiment of this invention.

AP情報管理テーブル308は、AP情報アドレス管理表800を含む。AP情報アドレス管理表800は、各仮想計算機301上で動作するAP321のAP動作情報が格納されるエリアのアドレスを管理する。   The AP information management table 308 includes an AP information address management table 800. The AP information address management table 800 manages addresses of areas in which AP operation information of the AP 321 operating on each virtual machine 301 is stored.

ここで、エリアとはメモリ331上のアドレス空間の一部分を示し、AP情報アドレス管理表800に格納されるアドレスは当該エリアの先頭のアドレスが格納される。仮想計算機モニタ302は、メモリ331上に各仮想計算機301上で動作するAP321のAP動作情報を格納するエリアを確保し、当該エリアに以下で説明する情報を格納する。   Here, the area indicates a part of the address space on the memory 331, and the address stored in the AP information address management table 800 stores the head address of the area. The virtual machine monitor 302 secures an area for storing AP operation information of the AP 321 operating on each virtual machine 301 on the memory 331, and stores information described below in the area.

AP情報アドレス管理表800のアドレスに示されたエリアには、AP名801、AP−ID802、NW設定情報、インストール日時808、送信ログアドレス809、受信ログアドレス810、AP受信処理間隔811及び疑似輻輳処理ログアドレス812等が格納される。   The area indicated by the address of the AP information address management table 800 includes an AP name 801, AP-ID 802, NW setting information, installation date / time 808, transmission log address 809, reception log address 810, AP reception processing interval 811, and pseudo congestion. A processing log address 812 and the like are stored.

AP名801は、仮想計算機301上で実行されるAP321の名称である。AP−ID802は、仮想計算機301上で実行されるAP321を特定する識別子である。   The AP name 801 is the name of the AP 321 executed on the virtual machine 301. The AP-ID 802 is an identifier that identifies the AP 321 executed on the virtual computer 301.

NW設定情報は、仮想計算機301上で実行されるAP321が使用する仮想NIC327におけるネットワークの設定情報である。NW設定情報は、例えば、MACアドレス803、IPアドレス804、ポート805、受信バッファサイズ806及びVLAN−ID807等を含む。   The NW setting information is network setting information in the virtual NIC 327 used by the AP 321 executed on the virtual computer 301. The NW setting information includes, for example, a MAC address 803, an IP address 804, a port 805, a reception buffer size 806, a VLAN-ID 807, and the like.

MACアドレス803はAP321が利用する仮想NIC327に割り当てられたMACアドレスである。IPアドレス804は、仮想NIC327に割り当てられたIPアドレスである。ポート805は、仮想NIC327におけるポートのポート番号である。受信バッファサイズ806は、仮想NIC327に割り当てられた受信バッファ325のサイズである。VLAN−ID807は、仮想NIC327に対して設定されたVLAN(Virtual Local Area Network)の識別子等である。   The MAC address 803 is a MAC address assigned to the virtual NIC 327 used by the AP 321. The IP address 804 is an IP address assigned to the virtual NIC 327. The port 805 is a port number of the port in the virtual NIC 327. The reception buffer size 806 is the size of the reception buffer 325 allocated to the virtual NIC 327. The VLAN-ID 807 is an identifier of a VLAN (Virtual Local Area Network) set for the virtual NIC 327.

インストール日時808は、仮想計算機301にAP321がインストールされた日時等の時間情報である。   The installation date and time 808 is time information such as the date and time when the AP 321 is installed in the virtual computer 301.

送信ログアドレス809は、仮想計算機301上で実行されるAP321が送信するデータのロギング情報が格納されるエリアの先頭のアドレスである。   The transmission log address 809 is the head address of an area in which logging information of data transmitted by the AP 321 executed on the virtual computer 301 is stored.

受信ログアドレス810は、仮想計算機301上で実行されるAP321が受信するデータのロギング情報が格納されるエリアの先頭のアドレスである。受信ログアドレス810によって示されるエリアには、通信相手アドレス820、シーケンス番号821、NIC受信タイムスタンプ822、AP受信処理タイムスタンプ823及び受信データ824等が格納される。   The reception log address 810 is the head address of an area in which logging information of data received by the AP 321 executed on the virtual computer 301 is stored. In the area indicated by the reception log address 810, a communication partner address 820, a sequence number 821, a NIC reception time stamp 822, an AP reception processing time stamp 823, reception data 824, and the like are stored.

通信相手アドレス820は、仮想計算機301上で実行されるAPが通信する相手のアドレスである。シーケンス番号821は、仮想計算機モニタ302によって、各AP321毎にカウントされる受信データパケットのシーケンス番号である。NIC受信タイムスタンプ822は、物理NIC312が受信データパケットを受信した時刻情報である。AP受信処理タイムスタンプ823は、AP321が受信データパケットを受信した時刻情報である。受信データ824は、受信データパケットそのものである。   The communication partner address 820 is an address of a partner with which the AP executed on the virtual computer 301 communicates. The sequence number 821 is the sequence number of the received data packet that is counted for each AP 321 by the virtual machine monitor 302. The NIC reception time stamp 822 is time information when the physical NIC 312 receives the reception data packet. The AP reception processing time stamp 823 is time information when the AP 321 receives the reception data packet. Received data 824 is a received data packet itself.

AP受信処理間隔811は、仮想計算機301上で実行されるAP321がデータを受信する間隔である。   The AP reception processing interval 811 is an interval at which the AP 321 executed on the virtual computer 301 receives data.

疑似輻輳処理ログアドレス812は、疑似輻輳処理部306によって実行された処理のロギング情報を格納するエリアのアドレスである。   The pseudo congestion processing log address 812 is an address of an area in which logging information of processing executed by the pseudo congestion processing unit 306 is stored.

疑似輻輳処理ログアドレス812に示されたエリアには、判定日時830、CPU831、メモリ832、物理NIC帯域833、仮想NIC帯域834及び疑似輻輳発生間隔835等が格納される。   In the area indicated by the pseudo congestion processing log address 812, a determination date / time 830, a CPU 831, a memory 832, a physical NIC band 833, a virtual NIC band 834, a pseudo congestion occurrence interval 835, and the like are stored.

判定日時830は、疑似輻輳が必要であると判定された日時等の時間情報である。CPU831は、疑似輻輳が必要であると判定された時の、仮想計算機301に割り当てられたCPUの情報である。例えば、CPUの情報は、AP321によって使用される仮想計算機301に割り当てられたCPUの稼働率である。   The determination date and time 830 is time information such as the date and time when it is determined that pseudo congestion is necessary. The CPU 831 is information on the CPU assigned to the virtual machine 301 when it is determined that pseudo congestion is necessary. For example, the CPU information is a CPU operating rate assigned to the virtual machine 301 used by the AP 321.

メモリ832は、疑似輻輳が必要であると判定された時の、仮想計算機301に割り当てられたメモリの情報である。例えば、メモリの情報は、AP321によって使用される仮想計算機301に割り当てられたメモリのメモリサイズである。   The memory 832 is information on the memory allocated to the virtual machine 301 when it is determined that pseudo congestion is necessary. For example, the memory information is the memory size of the memory allocated to the virtual machine 301 used by the AP 321.

物理NIC帯域833は、物理NIC312に割り当てられた帯域である。仮想NIC帯域834は、仮想NIC327に割り当てられた帯域である。疑似輻輳発生間隔835は、疑似輻輳を発生する間隔である。   The physical NIC band 833 is a band assigned to the physical NIC 312. The virtual NIC band 834 is a band assigned to the virtual NIC 327. The pseudo congestion occurrence interval 835 is an interval at which pseudo congestion occurs.

図6は、本発明の第1の実施形態の構成履歴管理テーブル310のフォーマットの一例を示す説明図である。   FIG. 6 is an explanatory diagram illustrating an example of a format of the configuration history management table 310 according to the first embodiment of this invention.

構成履歴管理テーブル310は、構成情報アドレス管理表900を含む。構成情報アドレス管理表900は、サーバシステム204のハードウェアの構成情報が格納されるワークエリアのアドレスを管理する。なお、構成情報アドレス管理表900に格納されるアドレスは、当該ワークエリアの先頭のアドレスが格納される。   The configuration history management table 310 includes a configuration information address management table 900. The configuration information address management table 900 manages addresses of work areas in which hardware configuration information of the server system 204 is stored. Note that the address stored in the configuration information address management table 900 is the head address of the work area.

構成履歴管理テーブル310は、サーバシステム204上で仮想計算機モニタ302が稼働を開始した後、ハードウェアの変更が発生する毎に更新される。すなわち、ハードウェアが変更された場合、構成情報アドレス管理表900にアドレスが追加され、当該アドレスに対応するエリアにハードウェアの構成情報が格納される。   The configuration history management table 310 is updated each time a hardware change occurs after the virtual machine monitor 302 starts operating on the server system 204. That is, when the hardware is changed, an address is added to the configuration information address management table 900, and the hardware configuration information is stored in an area corresponding to the address.

構成情報アドレス管理表900に示されたエリアには、設定日時901、CPU902、メモリ903、NIC904、HBA905、仮想計算機総数906及び仮想計算機の設定情報アドレス等が格納される。   The area shown in the configuration information address management table 900 stores a setting date and time 901, a CPU 902, a memory 903, a NIC 904, an HBA 905, a virtual machine total number 906, a setting information address of the virtual machine, and the like.

設定日時901は、ハードウェアが変更された日時等の時間情報である。CPU902は、ハードウェアが変更された後の物理計算機300におけるCPU330の情報である。メモリ903はハードウェアが変更された後の物理計算機300におけるメモリ331の情報である。   The set date 901 is time information such as date and time when the hardware is changed. The CPU 902 is information of the CPU 330 in the physical computer 300 after the hardware is changed. The memory 903 is information of the memory 331 in the physical computer 300 after the hardware is changed.

NIC904は、ハードウェアが変更された後の物理NIC312の情報である。例えば、物理NIC312の帯域等が格納される。HBA905は、ハードウェアが変更された後の物理計算機300におけるHBA(Host Bus Adapter)の情報である。   The NIC 904 is information of the physical NIC 312 after the hardware is changed. For example, the bandwidth of the physical NIC 312 is stored. The HBA 905 is information of an HBA (Host Bus Adapter) in the physical computer 300 after the hardware is changed.

仮想計算機総数906は、物理計算機300上に生成された仮想計算機301の数である。   The total number of virtual machines 906 is the number of virtual machines 301 generated on the physical machine 300.

仮想計算機の設定情報アドレスは、物理計算機300上に生成された各仮想計算機301の設定情報が格納されるエリアのアドレスである。   The setting information address of the virtual machine is an address of an area in which setting information of each virtual machine 301 generated on the physical machine 300 is stored.

図6に示す例では、仮想計算機1の設定情報アドレス907と、仮想計算機2の設定情報アドレス908とが格納される。仮想計算機1の設定情報アドレス907は、仮想計算機1(301−1)の設定情報が格納されるエリアのアドレスである。仮想計算機2の設定情報アドレス908は、仮想計算機2(301−2)の設定情報が格納されるエリアのアドレスである。   In the example shown in FIG. 6, the setting information address 907 of the virtual machine 1 and the setting information address 908 of the virtual machine 2 are stored. The setting information address 907 of the virtual machine 1 is an address of an area in which the setting information of the virtual machine 1 (301-1) is stored. The setting information address 908 of the virtual machine 2 is an address of an area where setting information of the virtual machine 2 (301-2) is stored.

以下、仮想計算機1の設定情報アドレス907に示されたエリアに格納される情報を例として説明する。   Hereinafter, the information stored in the area indicated by the setting information address 907 of the virtual machine 1 will be described as an example.

仮想計算機1の設定情報アドレス907に示されたエリアには、設定日時910、OS911、CPU912、メモリ913、仮想NIC帯域914及び仮想HBA帯域915等が含まれる。   The area indicated by the setting information address 907 of the virtual machine 1 includes a setting date and time 910, an OS 911, a CPU 912, a memory 913, a virtual NIC band 914, a virtual HBA band 915, and the like.

設定日時910は、仮想計算機1(301−1)が生成された日時等の時間情報である。OS911は、仮想計算機1(301−1)のゲストOS322−1の情報である。CPU912は、仮想計算機1(301−1)に割り当てられたCPUの情報である。メモリ913は、仮想計算機1(301−1)に割り当てられたメモリの情報である。仮想NIC帯域914は、仮想計算機1(301−1)の仮想NIC327−1に割り当てられた帯域である。仮想HBA帯域915は、仮想計算機1(301−1)の仮想HBAに割り当てられた帯域である。   The set date and time 910 is time information such as the date and time when the virtual machine 1 (301-1) was generated. The OS 911 is information on the guest OS 322-1 of the virtual machine 1 (301-1). The CPU 912 is information on the CPU assigned to the virtual machine 1 (301-1). The memory 913 is information on the memory allocated to the virtual machine 1 (301-1). The virtual NIC band 914 is a band assigned to the virtual NIC 327-1 of the virtual machine 1 (301-1). The virtual HBA band 915 is a band allocated to the virtual HBA of the virtual machine 1 (301-1).

図7は、本発明の第1の実施形態のネットワークシステムにおけるサーバシステム204が実行する処理の流れを説明するシーケンス図である。   FIG. 7 is a sequence diagram illustrating the flow of processing executed by the server system 204 in the network system according to the first embodiment of this invention.

仮想計算機301−1上にAP321−1がインストールされ、AP321−1が起動される(400)。   The AP 321-1 is installed on the virtual machine 301-1, and the AP 321-1 is activated (400).

仮想計算機モニタ302は、AP321−1の起動を検知すると以下の処理を実行する。   When the virtual machine monitor 302 detects the activation of the AP 321-1, the virtual machine monitor 302 executes the following processing.

仮想計算機モニタ302は、構成履歴管理テーブル310からAP321−1がインストールされた時のハードウェアの構成情報を取得し、AP321−1についてのロギング(図9参照)を開始する(401)。具体的には、仮想計算機モニタ302は、AP321−1から送受信されるパケットの測定し、AP情報管理テーブル308に測定結果を格納する。なお、送信パケットの測定は送信モニタ303によって実行され、受信パケットの測定は受信モニタ304によって実行される。   The virtual machine monitor 302 acquires hardware configuration information when the AP 321-1 is installed from the configuration history management table 310, and starts logging (see FIG. 9) for the AP 321-1 (401). Specifically, the virtual machine monitor 302 measures packets transmitted and received from the AP 321-1 and stores the measurement results in the AP information management table 308. The transmission packet is measured by the transmission monitor 303, and the reception packet is measured by the reception monitor 304.

AP321−1は、パケットを送受信する(402、403)。AP321−1が送信されたパケットは、仮想NIC327−1からネットワークスイッチ203へと送信され、ネットワークスイッチ203から受信したパケットは、仮想NIC327−1を介してAP321−1が受信する。   The AP 321-1 transmits / receives a packet (402, 403). The packet transmitted by the AP 321-1 is transmitted from the virtual NIC 327-1 to the network switch 203, and the packet received from the network switch 203 is received by the AP 321-1 via the virtual NIC 327-1.

仮想計算機モニタ302は、送受信されるパケットの測定結果に基づいて、仮想計算機301−1が使用する仮想NIC327−1の受信バッファ325−1のサイズ、及び、AP受信処理間隔等を取得する(404)。取得された情報は、AP情報管理テーブル308の仮想計算機301−1に対応するエリアに格納される。   The virtual machine monitor 302 acquires the size of the reception buffer 325-1 of the virtual NIC 327-1 used by the virtual machine 301-1, the AP reception processing interval, and the like based on the measurement result of the transmitted and received packets (404). ). The acquired information is stored in an area corresponding to the virtual machine 301-1 in the AP information management table 308.

ここで、物理NIC312が変更されると(405)、仮想計算機モニタ302は、物理NIC312の変更を検知し、変更後の物理NIC312の情報を取得し、疑似輻輳の発生間隔を算出する(406)。   Here, when the physical NIC 312 is changed (405), the virtual machine monitor 302 detects the change of the physical NIC 312, acquires the information of the physical NIC 312 after the change, and calculates the occurrence interval of the pseudo congestion (406). .

以下、性能が高い物理NIC312に変更された場合を例に疑似輻輳の発生間隔の算出方法を説明する。なお、AP321−1がインストールされた時の物理NICを旧物理NIC312と記載し、また、性能が高い物理NIC312を新物理NIC312と記載する。   Hereinafter, a method for calculating the pseudo-congestion occurrence interval will be described by taking as an example the case where the physical NIC 312 is changed to a high performance. The physical NIC when the AP 321-1 is installed is referred to as an old physical NIC 312 and the physical NIC 312 with high performance is referred to as a new physical NIC 312.

物理NIC312の変更を検知した仮想計算機モニタ302は、新物理NIC312の情報を取得し、他のハードウェア情報とともに取得された新物理NICの情報を、世代の異なるハードウェア構成情報として構成履歴管理テーブル310に格納する。   The virtual machine monitor 302 that has detected the change of the physical NIC 312 acquires the information of the new physical NIC 312, and the configuration history management table uses the information of the new physical NIC acquired together with other hardware information as hardware configuration information of different generations. Stored in 310.

次に、仮想計算機モニタ302は、構成履歴管理テーブル310から変更前のハードウェアの構成情報を取得し、旧物理NIC312と新物理NIC312との性能の差分を算出する。   Next, the virtual machine monitor 302 acquires hardware configuration information before the change from the configuration history management table 310 and calculates a difference in performance between the old physical NIC 312 and the new physical NIC 312.

例えば、100Mbpsの速度である旧物理NIC312から1Gbpsの速度である新物理NIC312に変更された場合、性能の差分は、1Gbps/100Mbps=10と算出される。すなわち、旧物理NIC312と新物理NIC312との性能の差分は10倍と算出される。   For example, when the old physical NIC 312 having a speed of 100 Mbps is changed to the new physical NIC 312 having a speed of 1 Gbps, the difference in performance is calculated as 1 Gbps / 100 Mbps = 10. That is, the difference in performance between the old physical NIC 312 and the new physical NIC 312 is calculated as 10 times.

この場合、AP321−1は、物理NIC312が変更された後、変更前と比較して10倍のデータ量を受信する可能性があり、オーバーフローが発生する可能性がある。   In this case, after the physical NIC 312 is changed, the AP 321-1 may receive a data amount 10 times that before the change, which may cause an overflow.

そこで、仮想計算機モニタ302は、AP情報管理テーブル308を参照して、AP受信処理間隔811と受信バッファサイズ806とを取得し、受信バッファがオーバーフローする前に、輻輳状態を疑似的に発生させる間隔(疑似輻輳発生間隔414)を算出する。疑似輻輳発生間隔414は、疑似輻輳処理を実行するタイミングとなる時間である。   Therefore, the virtual machine monitor 302 acquires the AP reception processing interval 811 and the reception buffer size 806 with reference to the AP information management table 308, and generates an artificial congestion state before the reception buffer overflows. (Pseudo congestion occurrence interval 414) is calculated. The pseudo congestion occurrence interval 414 is a time that is a timing for executing the pseudo congestion processing.

なお、疑似輻輳発生間隔の算出方法については、図8A及び図8Bを用いて後述する。   A method for calculating the pseudo congestion occurrence interval will be described later with reference to FIGS. 8A and 8B.

仮想計算機モニタ302は、疑似輻輳発生処理を開始する(407)。具体的には、仮想計算機モニタ302は、算出された疑似輻輳発生間隔414に基づいて、送受信されるパケット(408、409)の計測を開始する。また、仮想計算機モニタ302は、疑似輻輳発生間隔414のカウントを開始する。   The virtual machine monitor 302 starts pseudo congestion generation processing (407). Specifically, the virtual machine monitor 302 starts measuring the transmitted and received packets (408, 409) based on the calculated pseudo congestion occurrence interval 414. Further, the virtual machine monitor 302 starts counting the pseudo congestion occurrence interval 414.

仮想計算機モニタ302は、疑似輻輳発生間隔414分の時間が経過した後、疑似輻輳の発生を仮想NIC327−1へ通知する(410)。具体的には、パケットの送信の停止を要求するPAUSEコマンドの発生を通知する。   The virtual machine monitor 302 notifies the virtual NIC 327-1 of the occurrence of the pseudo congestion after the time of the pseudo congestion occurrence interval 414 minutes has elapsed (410). Specifically, it notifies the occurrence of a PAUSE command requesting the stop of packet transmission.

イーサネット等の物理NIC312は輻輳状態を検知した場合に、データ送信の停止を要求する機能を備える。例えば、ネットワークスイッチ203が、PAUSEコマンドを専用のマルチキャストアドレスに送信することによってデータ受信者(この場合、AP321−1)へのデータ送信を中断させる方法、又はデータ送信元に対して衝突検知を通知することによってデータ送信を中断させる方法等が考えられる。   The physical NIC 312 such as Ethernet has a function of requesting the stop of data transmission when a congestion state is detected. For example, the network switch 203 transmits a PAUSE command to a dedicated multicast address to interrupt data transmission to the data receiver (in this case, AP 321-1), or notifies the data transmission source of collision detection. A method of interrupting data transmission by doing so can be considered.

図7に示す例では、疑似輻輳の発生の通知を受けた仮想NIC327−1がPAUSEコマンドをネットワークスイッチ203に送信する(411)。これによって、PAUSEコマンドを受信したSW203がパケットの送信元に対して当該PAUSEコマンドを送信することによって、受信データのフロー制御を行うことができる。   In the example illustrated in FIG. 7, the virtual NIC 327-1 that has received the notification of the occurrence of pseudo congestion transmits a PAUSE command to the network switch 203 (411). Thus, the SW 203 that has received the PAUSE command transmits the PAUSE command to the transmission source of the packet, whereby the flow control of the received data can be performed.

ネットワークスイッチ203は、仮想NIC327−1から送信されたPAUSEコマンドを受信し、受信したPAUSEコマンドをデータ送信元のアドレスへ送信して、データ送信元からのデータ送信を一時停止させる(412)。これによって、AP321−1が受信するパケットの受信量が一定に保たれる。すなわち、オーバーフローの発生を回避することができる。   The network switch 203 receives the PAUSE command transmitted from the virtual NIC 327-1, transmits the received PAUSE command to the address of the data transmission source, and temporarily stops data transmission from the data transmission source (412). As a result, the amount of packets received by the AP 321-1 is kept constant. That is, the occurrence of overflow can be avoided.

疑似輻輳を発生させることによって、AP321−1は、新物理NIC312に変更される前と同一のデータ量のパケットを受信することができる(413)。   By generating pseudo congestion, the AP 321-1 can receive a packet having the same data amount as before the change to the new physical NIC 312 (413).

なお、AP321−1が利用する仮想NIC327−1に対して疑似輻輳を通知するため、他の仮想NIC327を利用するAP321には影響を与えない。   In addition, since pseudo-congestion is notified to the virtual NIC 327-1 used by the AP 321-1, the AP 321 that uses another virtual NIC 327 is not affected.

図8A及び図8Bは、本発明の第1の実施形態の仮想計算機モニタ302が実行する処理を説明するフローチャートである。   8A and 8B are flowcharts illustrating processing executed by the virtual machine monitor 302 according to the first embodiment of this invention.

仮想計算機モニタ302は、処理を開始すると、仮想計算機301を新たに生成するか否かを判定する(ステップ500)。例えば、サーバシステム204の管理者から仮想計算機301の生成要求を受けたか否かによって判定される。   When starting the process, the virtual machine monitor 302 determines whether or not to newly create the virtual machine 301 (step 500). For example, the determination is made based on whether a generation request for the virtual machine 301 is received from the administrator of the server system 204.

仮想計算機301を新たに生成すると判定された場合、仮想計算機モニタ302は、仮想計算機301に割り当てるCPU、メモリ等のハードウェアの構成情報を決定し、決定されたハードウェアの構成情報を構成履歴管理テーブル310に格納する(ステップ501)。   When it is determined that a new virtual machine 301 is to be generated, the virtual machine monitor 302 determines hardware configuration information such as a CPU and a memory to be allocated to the virtual machine 301, and configuration history management of the determined hardware configuration information is performed. It stores in the table 310 (step 501).

次に、仮想計算機モニタ302は、生成された仮想計算機301にAP321がインストールされるか否かを判定する(ステップ502)。例えば、生成された仮想計算機301を利用するユーザが、当該仮想計算機にAP321をインストールしたか否かを検知することによって判定される。   Next, the virtual machine monitor 302 determines whether or not the AP 321 is installed in the generated virtual machine 301 (step 502). For example, the determination is made by detecting whether a user who uses the generated virtual machine 301 has installed the AP 321 in the virtual machine.

生成された仮想計算機301にAP321がインストールされると判定された場合、仮想計算機モニタ302は、インストールされるAP321を実行するために必要な設定情報(例えば、AP321の名称、及びIPアドレスなどのネットワーク設定情報等)を取得し、AP情報管理テーブル308に格納する(ステップ503)。   When it is determined that the AP 321 is installed in the generated virtual machine 301, the virtual machine monitor 302 displays setting information necessary for executing the installed AP 321 (for example, the network such as the name of the AP 321 and the IP address). Setting information, etc.) is acquired and stored in the AP information management table 308 (step 503).

具体的には、仮想計算機モニタ302は、メモリ331上に生成された仮想計算機301上で実行されるAP321の情報を格納するためのエリアを確保し、さらに、送信ログエリア及び受信ログエリアの確保し、確保された各エリアに、取得された情報を格納する。   Specifically, the virtual machine monitor 302 secures an area for storing information of the AP 321 executed on the virtual machine 301 generated on the memory 331, and further secures a transmission log area and a reception log area. The acquired information is stored in each secured area.

仮想計算機モニタ302は、インストールされたAP321が起動されたか否かを判定する(ステップ504)。   The virtual machine monitor 302 determines whether or not the installed AP 321 is activated (step 504).

インストールされたAP321が起動されていないと判定された場合、仮想計算機モニタ302は、ステップ502に戻り、同様の処理を実行する。   If it is determined that the installed AP 321 is not activated, the virtual machine monitor 302 returns to step 502 and executes the same processing.

インストールされたAP321が起動されたと判定された場合、仮想計算機モニタ302は、AP動作情報を取得するためのロギングを開始する(ステップ505)。ロギングの詳細については、図9を用いて後述する。   When it is determined that the installed AP 321 is activated, the virtual machine monitor 302 starts logging for acquiring AP operation information (step 505). Details of the logging will be described later with reference to FIG.

仮想計算機モニタ302は、疑似輻輳を発生させるか否かを判定する(ステップ506)。   The virtual machine monitor 302 determines whether or not pseudo congestion occurs (step 506).

具体的には、仮想計算機モニタ302が、疑似輻輳発生処理を開始してから、疑似輻輳発生間隔835に示された時間間隔に達したか否かを判定する。さらに、疑似輻輳発生間隔835に示された時間間隔が経過した場合、仮想計算機モニタ302は、受信バッファ325にバッファリングされているデータパケット数を検出し、AP情報管理テーブル308の受信ログアドレスに示されるエリアの情報を参照し、次の疑似輻輳発生間隔835に示された時間間隔が経過するまでに、バッファリングされたデータパケット数がバッファオーバーを起こさないか否かを判定する。   Specifically, the virtual machine monitor 302 determines whether or not the time interval indicated by the pseudo congestion occurrence interval 835 has been reached after the pseudo congestion occurrence processing is started. Further, when the time interval indicated by the pseudo-congestion occurrence interval 835 has elapsed, the virtual machine monitor 302 detects the number of data packets buffered in the reception buffer 325 and sets the reception log address in the AP information management table 308. By referring to the information of the indicated area, it is determined whether or not the number of buffered data packets does not cause buffer over until the time interval indicated by the next pseudo congestion occurrence interval 835 elapses.

次の疑似輻輳発生間隔835に示された時間間隔が経過するまでに、バッファリングされたデータパケット数がバッファオーバーを起こさないと判定された場合には、仮想計算機モニタ302は、次の疑似輻輳発生間隔835に示された時間間隔が経過するまで、疑似輻輳処理を実行しない。   If it is determined that the number of buffered data packets will not cause buffer over until the time interval indicated by the next pseudo-congestion occurrence interval 835 elapses, the virtual machine monitor 302 displays the next pseudo-congestion. The pseudo congestion process is not executed until the time interval indicated by the generation interval 835 has elapsed.

疑似輻輳を発生させると判定された場合、仮想計算機モニタ302は、AP情報管理テーブル308に仮想計算機301の情報を更新し(ステップ507)、疑似輻輳の発生を仮想NIC327へ通知する(ステップ508)。   When it is determined that the pseudo congestion is generated, the virtual machine monitor 302 updates the information of the virtual machine 301 in the AP information management table 308 (step 507), and notifies the virtual NIC 327 of the occurrence of the pseudo congestion (step 508). .

具体的には、疑似輻輳処理部306が、現在の時間を取得し、取得された現在の時間をAP情報管理テーブル308の疑似輻輳発生ロギングエリアに格納する。   Specifically, the pseudo congestion processing unit 306 acquires the current time, and stores the acquired current time in the pseudo congestion occurrence logging area of the AP information management table 308.

また、PAUSEコマンドの送信要求を受信した仮想NIC327は、当該仮想NIC327が設定される物理NIC312と接続されるネットワークスイッチ203に対してPAUSEコマンドを送信する。なお、イーサネットにおけるPAUSEコマンドには送信を停止させる時間が含まれるため、送信停止時間を設定することによって、自動的にデータ送信を再開させることが可能である。   In addition, the virtual NIC 327 that has received the PAUSE command transmission request transmits the PAUSE command to the network switch 203 connected to the physical NIC 312 in which the virtual NIC 327 is set. Since the PAUSE command in Ethernet includes a time for stopping transmission, it is possible to automatically restart data transmission by setting the transmission stop time.

仮想計算機モニタ302は、AP321が終了したか否かを判定する(ステップ509)。なお、AP321は、ユーザ又はサーバシステム204の管理者によって終了される。   The virtual machine monitor 302 determines whether the AP 321 has ended (step 509). The AP 321 is terminated by the user or the administrator of the server system 204.

AP321が終了していないと判定された場合、仮想計算機モニタ302は、ステップ505からステップ508の処理を実行する。   If it is determined that the AP 321 has not ended, the virtual machine monitor 302 executes the processing from step 505 to step 508.

AP321が終了したと判定された場合、仮想計算機モニタ302は、処理を終了する。   If it is determined that the AP 321 has ended, the virtual machine monitor 302 ends the process.

ステップ500において仮想計算機301を新たに生成しないと判定された場合、又は、ステップ502において生成された仮想計算機301にAP321がインストールされないと判定された場合、仮想計算機モニタ302は、サーバシステム204のハードウェアが変更されたか否かを判定する(ステップ510)。   If it is determined in step 500 that the virtual computer 301 is not newly generated, or if it is determined that the AP 321 is not installed in the virtual computer 301 generated in step 502, the virtual computer monitor 302 displays the hardware of the server system 204. It is determined whether or not the wear has been changed (step 510).

サーバシステム204のハードウェアが変更されていないと判定された場合、仮想計算機モニタ302は、ステップ500に戻り同様の処理を実行する。   If it is determined that the hardware of the server system 204 has not been changed, the virtual machine monitor 302 returns to step 500 and executes the same processing.

サーバシステム204のハードウェアが変更されたと判定された場合、仮想計算機モニタ302は、ハードウェアが変更された後のサーバシステム204のハードウェアの構成情報を取得して構成履歴管理テーブル310を更新する(ステップ511)。   When it is determined that the hardware of the server system 204 has been changed, the virtual machine monitor 302 acquires the hardware configuration information of the server system 204 after the hardware has been changed and updates the configuration history management table 310. (Step 511).

具体的には、仮想計算機モニタ302は、変更後のサーバシステム204のハードウェア構成情報を格納するためのエリアをメモリ331上に確保し、構成情報アドレス管理表900に当該確保されたエリアの先頭アドレスを追加する。   Specifically, the virtual machine monitor 302 secures an area for storing the hardware configuration information of the server system 204 after the change on the memory 331, and starts the reserved area in the configuration information address management table 900. Add an address.

さらに、仮想計算機モニタ302は、変更後のサーバシステム204のハードウェア構成情報を格納するためのエリアに、取得された情報(例えば、設定日時、CPU、メモリ、NICの処理速度及びプロトコルのバージョン等)を格納する。なお、変更されないハードウェアについては、変更後のサーバシステム204のハードウェア構成情報を格納するためのエリアには、変更前のサーバシステム204のハードウェアの構成情報と同一のものが格納される。   Further, the virtual machine monitor 302 stores the acquired information (for example, setting date / time, CPU, memory, NIC processing speed, protocol version, etc.) in the area for storing the hardware configuration information of the server system 204 after the change. ). As for the hardware that is not changed, the same hardware configuration information as that of the server system 204 before the change is stored in the area for storing the hardware configuration information of the server system 204 after the change.

次に、仮想計算機モニタ302は、ハードウェアの変更に伴う移行処理を実行する(ステップ512)。   Next, the virtual machine monitor 302 executes a migration process associated with the hardware change (step 512).

例えば、変更されるハードウェアが物理NIC312の場合、仮想計算機モニタ302は、当該物理NIC312を利用するAP321を停止させ、新たな物理NIC312に変更された後にネットワークの設定情報を移行する方式や、AP321は稼働させたまま、別のサーバシステム204又は別の物理計算機300上に構築された仮想環境に仮想計算機301を移行するライブマイグレーション方式等を利用する方法が考えられる。   For example, when the hardware to be changed is the physical NIC 312, the virtual machine monitor 302 stops the AP 321 that uses the physical NIC 312 and migrates the network setting information after the change to the new physical NIC 312, or the AP 321. A method of using a live migration method for migrating the virtual computer 301 to a virtual environment constructed on another server system 204 or another physical computer 300 while operating is considered.

仮想計算機モニタ302は、変更されたハードウェアが物理NIC312であるか否かを判定する(ステップ513)。   The virtual machine monitor 302 determines whether or not the changed hardware is the physical NIC 312 (step 513).

変更されたハードウェアが物理NIC312でないと判定された場合、仮想計算機モニタ302は、ステップ500に戻り同様の処理を実行する。なお、変更されたハードウェアに基づいた処理を実行してもよい。   If it is determined that the changed hardware is not the physical NIC 312, the virtual machine monitor 302 returns to step 500 and executes the same processing. Note that processing based on the changed hardware may be executed.

変更されたハードウェアが物理NIC312であると判定された場合、仮想計算機モニタ302は、ステップ514からステップ518に示す、性能差を解消するための処理を実行する。すなわち、疑似輻輳を発生させるための処理が実行される。   When it is determined that the changed hardware is the physical NIC 312, the virtual machine monitor 302 executes processing for eliminating the performance difference shown in steps 514 to 518. That is, processing for generating pseudo congestion is executed.

まず、仮想計算機モニタ302は、構成履歴管理テーブル310から変更後の物理NIC312の性能情報(例えば、処理速度やプロトコル情報等)を取得する(ステップ514)。   First, the virtual machine monitor 302 acquires the changed performance information (for example, processing speed and protocol information) of the physical NIC 312 from the configuration history management table 310 (step 514).

仮想計算機モニタ302は、AP情報管理テーブル308及び構成履歴管理テーブル310から、AP321がインストールされた時点のサーバシステム204のハードウェアの構成情報を取得する(ステップ515)。すなわち、変更前の物理NIC312の性能情報が取得される。当該処理は、性能差解消処理部305によって実行される。   The virtual machine monitor 302 acquires the hardware configuration information of the server system 204 at the time when the AP 321 is installed from the AP information management table 308 and the configuration history management table 310 (step 515). That is, the performance information of the physical NIC 312 before the change is acquired. This processing is executed by the performance difference elimination processing unit 305.

具体的には、仮想計算機モニタ302は、構成履歴管理テーブル310から、AP321がインストールされた時点のサーバシステム204のハードウェアの構成情報を取得する。   Specifically, the virtual machine monitor 302 acquires the hardware configuration information of the server system 204 at the time when the AP 321 is installed from the configuration history management table 310.

次に、仮想計算機モニタ302は、取得されたハードウェアの構成情報の設定日時901に基づいて、変更前の物理NIC312が割り当てられていた仮想計算機上で実行されるAP321を特定する。さらに、仮想計算機モニタ302は、AP情報管理テーブル308から特定されたAP321の情報を取得する。特定されたAP321の情報は、仮想NIC327の受信バッファ325のバッファサイズ及びAP321の受信処理間隔を含む。   Next, the virtual machine monitor 302 identifies the AP 321 that is executed on the virtual machine to which the physical NIC 312 before the change has been assigned, based on the setting date and time 901 of the acquired hardware configuration information. Further, the virtual machine monitor 302 acquires information on the AP 321 specified from the AP information management table 308. The specified AP 321 information includes the buffer size of the reception buffer 325 of the virtual NIC 327 and the reception processing interval of the AP 321.

なお、以下では、変更前の物理NIC312を第1世代の物理NIC312と記載し、変更後の物理NIC312を第2世代の物理NIC312と記載する。   Hereinafter, the physical NIC 312 before the change is referred to as a first generation physical NIC 312, and the physical NIC 312 after the change is referred to as a second generation physical NIC 312.

仮想計算機モニタ302は、取得された第1世代の物理NIC312の性能情報と第2世代の物理NIC312の性能情報とに基づいて、第1世代の物理NIC312と第2世代の物理NIC312との性能差を算出する(ステップ516)。当該処理は、性能差解消処理部305によって実行される。   Based on the acquired performance information of the first generation physical NIC 312 and the performance information of the second generation physical NIC 312, the virtual machine monitor 302 determines the performance difference between the first generation physical NIC 312 and the second generation physical NIC 312. Is calculated (step 516). This processing is executed by the performance difference elimination processing unit 305.

例えば、第1世代の物理NIC312の速度が100Mbps、第2世代の物理NIC312の速度が1Gbpsの速度である場合、1Gbps/100Mbpsを計算することによって、第2世代の物理NIC312は、第1世代の物理NIC312の10倍のデータ送受信能力を持つことが分かる。   For example, when the speed of the first generation physical NIC 312 is 100 Mbps and the speed of the second generation physical NIC 312 is 1 Gbps, the second generation physical NIC 312 is calculated by calculating 1 Gbps / 100 Mbps. It can be seen that the data transmission / reception capability is 10 times that of the physical NIC 312.

第2世代の物理NIC312の性能が第1世代の物理NIC312の性能より高いと判定された場合には、仮想計算機モニタ302は、疑似輻輳を発生させることを決定し、以下の処理を実行する。   When it is determined that the performance of the second generation physical NIC 312 is higher than the performance of the first generation physical NIC 312, the virtual machine monitor 302 determines to generate pseudo congestion and executes the following processing.

なお、第2世代の物理NIC312の性能が第1世代の物理NIC312の性能より低い場合、疑似輻輳を発生させる必要がないためステップ509に進んでもよい。   If the performance of the second generation physical NIC 312 is lower than the performance of the first generation physical NIC 312, the process may proceed to step 509 because it is not necessary to generate pseudo congestion.

仮想計算機モニタ302は、第1世代の物理NIC312上の仮想NIC327を利用していたAP321の情報、及び算出された第1世代の物理NIC312と第2世代の物理NIC312との性能差に基づいて、疑似輻輳発生間隔を決定する(ステップ517)。当該処理は、性能差解消処理部305によって実行される。   The virtual machine monitor 302 is based on the information of the AP 321 that used the virtual NIC 327 on the first generation physical NIC 312 and the calculated performance difference between the first generation physical NIC 312 and the second generation physical NIC 312. The pseudo congestion occurrence interval is determined (step 517). This processing is executed by the performance difference elimination processing unit 305.

例えば、第1世代の物理NIC312と第2世代の物理NIC312との性能差が10倍であり、AP321の受信処理間隔が100msであり、仮想NIC327の受信バッファ325のバッファサイズが10データパケット分である場合、データを受信してから10ms経過後に仮想NIC327の受信バッファ325にオーバーフローが起こる可能性がある。従って、この場合、仮想計算機モニタ302は、疑似輻輳発生間隔を「10ms」と決定し、決定された疑似輻輳発生間隔をAP情報管理テーブル308の疑似輻輳発生間隔835に格納する。   For example, the performance difference between the first generation physical NIC 312 and the second generation physical NIC 312 is 10 times, the reception processing interval of the AP 321 is 100 ms, and the buffer size of the reception buffer 325 of the virtual NIC 327 is 10 data packets. In some cases, an overflow may occur in the reception buffer 325 of the virtual NIC 327 10 ms after the data is received. Therefore, in this case, the virtual machine monitor 302 determines the pseudo congestion occurrence interval as “10 ms”, and stores the determined pseudo congestion occurrence interval in the pseudo congestion occurrence interval 835 of the AP information management table 308.

仮想計算機モニタ302は、決定された疑似輻輳発生間隔を用いて、疑似輻輳発生処理を開始する(ステップ518)。   The virtual machine monitor 302 starts pseudo congestion generation processing using the determined pseudo congestion generation interval (step 518).

その後、仮想計算機モニタ302は、ステップ505に進み、ステップ505からステップ509の処理を実行する。   Thereafter, the virtual machine monitor 302 proceeds to step 505 and executes the processing from step 505 to step 509.

なお、ステップ518は、仮想計算機モニタ302が仮想NIC327の受信バッファ325にバッファリングされるデータ量の上限値を設定し、仮想NIC327の受信バッファ325にバッファリングされるデータ量が疑似輻輳発生間隔以内であっても、設定された上限値を超える場合には、PAUSEコマンドの送信要求を通知する処理であってもよい。   In step 518, the virtual computer monitor 302 sets an upper limit value of the amount of data buffered in the reception buffer 325 of the virtual NIC 327, and the amount of data buffered in the reception buffer 325 of the virtual NIC 327 is within the pseudo-congestion occurrence interval. However, when the set upper limit value is exceeded, a process of notifying a PAUSE command transmission request may be performed.

なお、仮想計算機モニタ302は、仮想NIC327の受信バッファ325に設定される上限値を決定し、当該上限値を用いて処理を実行してもよい。すなわち、仮想計算機モニタ302は、疑似輻輳発生間隔の代わりに、仮想NIC327の受信バッファ325のバッファサイズの上限値に基づいて、疑似輻輳の発生の有無を判定してもよい。   The virtual machine monitor 302 may determine an upper limit value set in the reception buffer 325 of the virtual NIC 327 and execute processing using the upper limit value. That is, the virtual machine monitor 302 may determine whether or not pseudo congestion has occurred based on the upper limit value of the buffer size of the reception buffer 325 of the virtual NIC 327 instead of the pseudo congestion occurrence interval.

また、仮想NIC327の受信バッファ325へのバッファリング量が多く、疑似輻輳発生間隔毎に毎回PAUSEコマンドが送信されているような場合においては、例えば、仮想NIC327に更に当該AP321の仮想NIC327の受信バッファ325を持たせて受信可能なデータ量を増やす処理を実行してもよい。   Further, when the amount of buffering to the reception buffer 325 of the virtual NIC 327 is large and the PAUSE command is transmitted every time the pseudo congestion occurs, for example, the reception buffer of the virtual NIC 327 of the AP 321 is further added to the virtual NIC 327. A process of increasing the amount of receivable data with 325 may be executed.

なお、ステップ509からステップ505に戻るときに、仮想計算機モニタ302は、ハードウェアが変更されたか否かを判定し、ハードウェアが変更された場合には、ステップ511からステップ518の処理を実行するようにしてもよい。   When returning from step 509 to step 505, the virtual machine monitor 302 determines whether or not the hardware has been changed. When the hardware has been changed, the virtual machine monitor 302 executes the processing from step 511 to step 518. You may do it.

図9は、本発明の第1の実施形態の仮想計算機モニタ302が実行するAP動作情報のロギング処理を説明するフローチャートである。   FIG. 9 is a flowchart illustrating AP operation information logging processing executed by the virtual machine monitor 302 according to the first embodiment of this invention.

図9に示す処理は、ステップ505において実行される処理である。なお、以下で説明する処理は、送信モニタ303及び受信モニタ304によって実行される。   The process shown in FIG. 9 is a process executed in step 505. Note that the processing described below is executed by the transmission monitor 303 and the reception monitor 304.

仮想計算機モニタ302は、ステップ504においてAP321が起動した後、計測用エリアを初期化する(ステップ600)。   The virtual machine monitor 302 initializes the measurement area after the AP 321 is activated in step 504 (step 600).

仮想計算機モニタ302は、AP情報管理テーブル308から起動しているAP321の設定情報を取得する(ステップ601)。取得される設定情報は、例えば、通信相手のアドレス情報、仮想NIC327の受信バッファ325のバッファサイズ(受信バッファサイズ806)等が含まれる。   The virtual machine monitor 302 acquires the setting information of the activated AP 321 from the AP information management table 308 (step 601). The acquired setting information includes, for example, address information of the communication partner, the buffer size of the reception buffer 325 of the virtual NIC 327 (reception buffer size 806), and the like.

仮想計算機モニタ302は、物理NIC312からの割り込みがあったか否かを判定する(ステップ602)。   The virtual machine monitor 302 determines whether or not there is an interrupt from the physical NIC 312 (step 602).

物理NIC312からの割り込みがないと判定された場合、仮想計算機モニタ302は、ステップ602に戻り、物理NIC312からの割り込みを検出するまで同様の処理を実行する。   If it is determined that there is no interrupt from the physical NIC 312, the virtual machine monitor 302 returns to step 602 and executes the same processing until it detects an interrupt from the physical NIC 312.

物理NIC312からの割り込みがあったと判定された場合、すなわち、物理NIC312からの割り込みを検出した場合、仮想計算機モニタ302は、当該割り込みがデータ受信についての割り込みか否かを判定する(ステップ603)。   When it is determined that there is an interrupt from the physical NIC 312, that is, when an interrupt from the physical NIC 312 is detected, the virtual machine monitor 302 determines whether the interrupt is an interrupt for data reception (step 603).

物理NIC312からの割り込みがデータ受信についての割り込みであると判定された場合、仮想計算機モニタ302は、仮想NIC327の受信バッファ325に受信データをバッファリングし、受信データにタイムスタンプを付与する(ステップ604)。付与されるタイムスタンプは、物理NICが受信データを受け取った時刻を示し、当該タイムスタンプの情報は、NIC受信タイムスタンプ822に格納される。   If it is determined that the interrupt from the physical NIC 312 is an interrupt for data reception, the virtual machine monitor 302 buffers the received data in the reception buffer 325 of the virtual NIC 327 and adds a time stamp to the received data (step 604). ). The given time stamp indicates the time at which the physical NIC received the reception data, and information on the time stamp is stored in the NIC reception time stamp 822.

次に、仮想計算機モニタ302は、受信データを受け取った間隔を算出する(ステップ605)。   Next, the virtual machine monitor 302 calculates an interval at which received data is received (step 605).

具体的には、仮想計算機モニタ302は、現在の時刻を取得し、取得された現在の時刻と前回のデータ受信割り込みが発生した時刻との時間間隔を算出し、算出結果をAP情報管理テーブル308に格納する。   Specifically, the virtual machine monitor 302 acquires the current time, calculates the time interval between the acquired current time and the time when the previous data reception interrupt occurred, and the calculation result is stored in the AP information management table 308. To store.

仮想計算機モニタ302は、AP321が受信処理を実行したか否かを判定する(ステップ606)。すなわち、AP321が受信データを受け取ったか否かが判定される。   The virtual machine monitor 302 determines whether or not the AP 321 has executed reception processing (step 606). That is, it is determined whether or not the AP 321 has received the received data.

AP321が受信処理を実行していないと判定された場合、仮想計算機モニタ302は、ステップ608に進む。   If it is determined that the AP 321 is not executing reception processing, the virtual machine monitor 302 proceeds to step 608.

AP321が受信処理を実行していると判定された場合、仮想計算機モニタ302は、受信データにタイムスタンプを付与する(ステップ607)。付与されるタイムスタンプは、AP321が受信データを受け取った時刻を示し、当該タイムスタンプの情報は、AP受信処理タイムスタンプ823に格納される。   If it is determined that the AP 321 is executing the reception process, the virtual machine monitor 302 adds a time stamp to the received data (step 607). The given time stamp indicates the time at which the AP 321 received the received data, and information on the time stamp is stored in the AP reception processing time stamp 823.

次に、仮想計算機モニタ302は、現在の時刻を取得して、取得された現在の時刻と、前回のAP321が受信処理を実行した時刻との時間間隔(AP受信処理間隔)を算出し、算出結果をAP情報管理テーブル308に格納し(ステップ608)、処理を終了する。   Next, the virtual machine monitor 302 acquires the current time, calculates a time interval (AP reception processing interval) between the acquired current time and the time when the previous AP 321 executed the reception processing, and calculates The result is stored in the AP information management table 308 (step 608), and the process is terminated.

なお、本実施形態では世代毎に管理されるハードウェアとして物理NIC312を対象としているが、その他CPU330やメモリ331等のハードウェアであってもよい。例えば、変更されるハードウェアがCPU330である場合、変更前のCPUの100%の処理能力に近似させるように使用率を制限する等の処理によって、ハードウェアの変更に伴う性能差の解消を実現できる。   In this embodiment, the physical NIC 312 is targeted as hardware managed for each generation, but other hardware such as the CPU 330 and the memory 331 may be used. For example, when the hardware to be changed is the CPU 330, the performance difference due to the hardware change is resolved by processing such as limiting the usage rate so as to approximate the processing capacity of 100% of the CPU before the change. it can.

第1の実施形態によれば、仮想計算機モニタ302は仮想計算機301上にアプリケーションがインストールされた時点におけるサーバシステム204のハードウェアの構成情報を記録する。物理NICが変更された場合、仮想計算機モニタ302は、変更前の物理NIC312と変更後の物理NIC312との性能差を考慮して疑似輻輳を発生させることによって、受信データのフロー制御を行うことができる。これによって、ネットワークの高速化によって発生するアプリケーションの異常稼働や異常終了を防止することができる。   According to the first embodiment, the virtual machine monitor 302 records hardware configuration information of the server system 204 when an application is installed on the virtual machine 301. When the physical NIC is changed, the virtual machine monitor 302 may perform flow control of received data by generating pseudo congestion in consideration of the performance difference between the physical NIC 312 before the change and the physical NIC 312 after the change. it can. As a result, it is possible to prevent abnormal operation and abnormal termination of applications that occur due to network speedup.

[第2の実施形態]
本発明の第2の実施形態について、図10〜図15を参照して説明する。
[Second Embodiment]
A second embodiment of the present invention will be described with reference to FIGS.

第2の実施形態は、ネットワークスイッチ203が、疑似輻輳を発生させる処理を実行する点が第1の実施形態と異なる。   The second embodiment is different from the first embodiment in that the network switch 203 executes processing for generating pseudo congestion.

すなわち、物理計算機300の物理NIC312を変更する場合、仮想計算機モニタ302が、受信バッファがオーバーフローしないようにするための疑似輻輳発生間隔を、物理計算機300に接続されるネットワークスイッチ203に通知し、ネットワークスイッチ203が当該通知に従って疑似輻輳を発生させる。   That is, when the physical NIC 312 of the physical computer 300 is changed, the virtual computer monitor 302 notifies the network switch 203 connected to the physical computer 300 of a pseudo congestion occurrence interval for preventing the reception buffer from overflowing, and the network The switch 203 generates pseudo congestion according to the notification.

以下、第1の実施形態との差異を中心に説明する。   Hereinafter, the difference from the first embodiment will be mainly described.

第2の実施形態のネットワークシステムの構成は第1の実施形態と同一であるため説明を省略する。また、サーバシステム204及び物理計算機300の構成も第1の実施形態と同一であるため説明を省略する。   Since the configuration of the network system of the second embodiment is the same as that of the first embodiment, description thereof is omitted. In addition, the configuration of the server system 204 and the physical computer 300 is the same as that of the first embodiment, and a description thereof will be omitted.

図10は、本発明の第2の実施形態のネットワークスイッチ203の内部構成の一例を説明するブロック図である。   FIG. 10 is a block diagram illustrating an example of the internal configuration of the network switch 203 according to the second embodiment of this invention.

ネットワークスイッチ203は、CPU1100、アドレス用メモリ1101、パケット用メモリ1102、スイッチチップ1103、LAN(LOCAL AREA NETWORK)ポート1104及びメモリ1120を備える。   The network switch 203 includes a CPU 1100, an address memory 1101, a packet memory 1102, a switch chip 1103, a LAN (LOCAL AREA NETWORK) port 1104, and a memory 1120.

CPU1100は、メモリ1120に格納されたプログラムを実行する。   CPU 1100 executes a program stored in memory 1120.

アドレス用メモリ1101は、ネットワークアドレスに関する情報を格納する。具体的には、MAC(Media Access Control)アドレステーブル(図示省略)及びルーティングテーブル(図示省略)等が格納される。   The address memory 1101 stores information regarding the network address. Specifically, a MAC (Media Access Control) address table (not shown), a routing table (not shown), and the like are stored.

パケット用メモリ1102は、ネットワークスイッチが受信したデータパケットを一時的に格納するメモリである。   The packet memory 1102 is a memory that temporarily stores data packets received by the network switch.

スイッチチップ1103は、各種ネットワークの処理を実行する。具体的には、スイッチチップ1103は、LANポート1104にて受信したデータパケットを一旦パケット用メモリ1102への格納する処理、アドレス用メモリ1101から宛先アドレスのLANポート1104を検索する処理、LANポート1104へのデータパケットの引き渡し処理等を実行する。ネットワークスイッチ203自身宛の受信データを受信した場合には、CPU1100に引き渡し、受信データに従った処理が実行される。   The switch chip 1103 executes various network processes. Specifically, the switch chip 1103 temporarily stores the data packet received at the LAN port 1104 in the packet memory 1102, searches the address memory 1101 for the destination address LAN port 1104, and the LAN port 1104. Data packet delivery processing to the server is executed. When received data addressed to the network switch 203 itself is received, it is transferred to the CPU 1100 and processing according to the received data is executed.

メモリ1120は、CPU1100によって実行されるプログラム及び当該プログラムを実行するために必要な情報を格納する。   The memory 1120 stores a program executed by the CPU 1100 and information necessary for executing the program.

メモリ1120は、経路情報送信処理部1105、経路情報受信処理部1106、ルーティングテーブル管理部1107、AP動作保証処理部1108、AP−ネットワーク環境情報テーブル1109、疑似輻輳情報送信処理部1110及び疑似輻輳情報受信処理部1111を含む。   The memory 1120 includes a route information transmission processing unit 1105, a route information reception processing unit 1106, a routing table management unit 1107, an AP operation guarantee processing unit 1108, an AP-network environment information table 1109, a pseudo congestion information transmission processing unit 1110, and pseudo congestion information. A reception processing unit 1111 is included.

経路情報送信処理部1105は、ルーティングテーブル管理部1107によって実行された処理結果、及び他のネットワークスイッチ203へ通知する必要があるデータの送信処理を実行する。   The route information transmission processing unit 1105 executes a transmission process of the processing result executed by the routing table management unit 1107 and data that needs to be notified to the other network switch 203.

経路情報受信処理部1106は、受信したデータパケットが自分宛であり、経路情報に関わるデータである場合に、ルーティングテーブル管理部1107に出力する。   The route information reception processing unit 1106 outputs the received data packet to the routing table management unit 1107 when it is addressed to itself and is data related to the route information.

ルーティングテーブル管理部1107は、経路情報に従って、受信したデータパケットの転送処理を実行する。   The routing table management unit 1107 executes the transfer process of the received data packet according to the route information.

AP動作保証処理部1108は、サーバシステム204から受信したデータパケットがAP動作情報を含むデータである場合、当該データパケットに含まれるAP動作情報をAP−ネットワーク環境情報テーブル1109に格納し、受信するデータパケットの受信間隔の監視等の疑似輻輳処理を実行する。   When the data packet received from the server system 204 is data including AP operation information, the AP operation guarantee processing unit 1108 stores the AP operation information included in the data packet in the AP-network environment information table 1109 and receives it. Pseudo congestion processing such as monitoring of data packet reception intervals is executed.

疑似輻輳情報受信処理部1111は、疑似輻輳に関する情報をサーバシステム204から受信する。さらに、疑似輻輳に関する情報を他のネットワークスイッチ203等から受信する。   The pseudo congestion information reception processing unit 1111 receives information related to pseudo congestion from the server system 204. Furthermore, information regarding pseudo congestion is received from another network switch 203 or the like.

疑似輻輳情報送信処理部1110は、サーバシステム204から受信した疑似輻輳に関する情報を他のネットワークスイッチ203等に送信する。   The pseudo congestion information transmission processing unit 1110 transmits information related to pseudo congestion received from the server system 204 to another network switch 203 or the like.

なお、ネットワークスイッチ203は、CPU1100及びメモリ1120の代わりに、CPU、ROM及びRAM等を備えるワンチップ・マイコンを備えてもよい。   The network switch 203 may include a one-chip microcomputer including a CPU, a ROM, a RAM, and the like instead of the CPU 1100 and the memory 1120.

図11は、本発明の第2の実施形態のネットワークシステムにおけるサーバシステム204及びネットワークスイッチ203が実行する処理の流れを説明するシーケンス図である。   FIG. 11 is a sequence diagram illustrating the flow of processing executed by the server system 204 and the network switch 203 in the network system according to the second embodiment of this invention.

仮想計算機301−1にインストールされたAP321−1の起動後の処理(ステップ400、ステップ401)、物理NIC312が変更される処理(ステップ405)は、図7と同一であるため説明を省略する。   The processes after starting the AP 321-1 installed in the virtual machine 301-1 (step 400, step 401) and the process for changing the physical NIC 312 (step 405) are the same as those in FIG.

物理NIC312が変更されたことを検知した仮想計算機モニタ302は、AP321−1がインストールされた時点の物理NIC312の情報を構成履歴管理テーブル310から取得する(1200)。具体的には、構成履歴管理テーブル310のNIC904から、AP321−1がインストールされた時点の物理NIC312の帯域情報を取得する。   The virtual machine monitor 302 that has detected that the physical NIC 312 has been changed acquires information on the physical NIC 312 at the time when the AP 321-1 was installed from the configuration history management table 310 (1200). Specifically, the bandwidth information of the physical NIC 312 at the time when the AP 321-1 is installed is acquired from the NIC 904 of the configuration history management table 310.

仮想計算機モニタ302は、仮想NIC327−1に、取得された物理NIC312の帯域情報を送信する(1201)。さらに、仮想NIC327−1を介してネットワークスイッチ203へ取得された物理NIC312の帯域情報が送信される(1202)。   The virtual machine monitor 302 transmits the acquired bandwidth information of the physical NIC 312 to the virtual NIC 327-1 (1201). Further, the bandwidth information of the physical NIC 312 obtained is transmitted to the network switch 203 via the virtual NIC 327-1 (1202).

仮想計算機モニタ302は、AP321−1の受信処理間隔をAP情報管理テーブル308から取得し、AP321−1の受信可能な帯域であるAP受信可能帯域を算出する(1203)。AP受信可能帯域は、例えば、AP321の受信処理間隔と受信データサイズとを乗算することによって算出される。   The virtual machine monitor 302 acquires the reception processing interval of the AP 321-1 from the AP information management table 308, and calculates an AP receivable bandwidth that is a receivable bandwidth of the AP 321-1 (1203). The AP receivable bandwidth is calculated, for example, by multiplying the reception processing interval of the AP 321 and the reception data size.

算出されたAP受信可能帯域、取得されたAP321−1の受信処理間隔、及び仮想NIC327−1に割り当てられたネットワークアドレス等を含むAP動作情報を仮想NIC327−1に送信する(1204)。さらに、仮想NIC327−1を介してネットワークスイッチ203にAP動作情報が送信される(1205)。   AP operation information including the calculated AP receivable bandwidth, the acquired reception processing interval of the AP 321-1, the network address assigned to the virtual NIC 327-1, and the like is transmitted to the virtual NIC 327-1 (1204). Further, AP operation information is transmitted to the network switch 203 via the virtual NIC 327-1 (1205).

なお、仮想計算機モニタ302からネットワークスイッチ203に送信される物理NICの帯域情報及びAP動作情報は、同じデータパケットに含め、一度に送信してもよい。   The bandwidth information and AP operation information of the physical NIC transmitted from the virtual machine monitor 302 to the network switch 203 may be included in the same data packet and transmitted at a time.

AP動作情報を受信したネットワークスイッチ203は、受信したAP動作情報に含まれる受信処理間隔、AP受信可能帯域及びネットワークアドレスを取得する(1206)。   The network switch 203 that has received the AP operation information acquires a reception processing interval, an AP receivable band, and a network address included in the received AP operation information (1206).

ネットワークスイッチ203は、取得されたネットワークアドレス(データ送信元1220)向けのデータパケットの受信間隔の計測を実行する(1207)。   The network switch 203 measures the reception interval of the data packet for the acquired network address (data transmission source 1220) (1207).

ネットワークスイッチ203は、計測結果に基づいて、疑似輻輳処理が必要であるか否かを判定する(1208)。なお、当該判定は、図7の406と同一の方法を用いる方法が考えられる。   The network switch 203 determines whether or not pseudo congestion processing is necessary based on the measurement result (1208). Note that a method using the same method as 406 in FIG.

疑似輻輳処理が必要であると判定された場合、ネットワークスイッチ203は、取得されたネットワークアドレス向けのデータパケットの送信を一旦中断させるため、PAUSEコマンドをデータ送信元1220へ送信する(1209)。   If it is determined that pseudo congestion processing is necessary, the network switch 203 transmits a PAUSE command to the data transmission source 1220 in order to temporarily stop transmission of the data packet for the acquired network address (1209).

図12は、本発明の第2の実施形態の仮想計算機モニタ302が実行する性能差を解消するための処理を説明するフローチャートである。   FIG. 12 is a flowchart illustrating processing for eliminating the performance difference executed by the virtual machine monitor 302 according to the second embodiment of this invention.

なお、仮想計算機モニタ302が実行する処理のうち、ステップ500〜ステップ513の処理は同一であるため説明を省略する。   Of the processes executed by the virtual machine monitor 302, the processes from step 500 to step 513 are the same, and the description thereof is omitted.

仮想計算機モニタ302は、構成履歴管理テーブル310から変更後の物理NIC312の性能情報(例えば、処理速度やプロトコル情報等)を取得する(ステップ514)。   The virtual machine monitor 302 acquires the changed performance information (for example, processing speed and protocol information) of the physical NIC 312 from the configuration history management table 310 (step 514).

仮想計算機モニタ302は、AP情報管理テーブル308及び構成履歴管理テーブル310から、AP321がインストールされた時点のサーバシステム204のハードウェアの構成情報を取得する(ステップ515)。具体的には、AP321−1がインストールされた時点の物理NICの帯域情報が取得される。   The virtual machine monitor 302 acquires the hardware configuration information of the server system 204 at the time when the AP 321 is installed from the AP information management table 308 and the configuration history management table 310 (step 515). Specifically, the bandwidth information of the physical NIC at the time when the AP 321-1 is installed is acquired.

仮想計算機モニタ302は、取得された物理NIC312の帯域情報をネットワークスイッチ203へ送信する(ステップ1300)。なお、AP321がインストールされた時点のサーバシステム204における物理NIC312の情報として、仮想NIC327の帯域が送信されてもよい。   The virtual machine monitor 302 transmits the acquired bandwidth information of the physical NIC 312 to the network switch 203 (step 1300). Note that the bandwidth of the virtual NIC 327 may be transmitted as information of the physical NIC 312 in the server system 204 at the time when the AP 321 is installed.

仮想計算機モニタ302は、AP情報管理テーブル308からAP321−1の受信処理間隔及び受信バッファサイズ等を取得する(ステップ1301)。   The virtual machine monitor 302 acquires the AP 321-1 reception processing interval, reception buffer size, and the like from the AP information management table 308 (step 1301).

仮想計算機モニタ302は、取得されたAP321−1の受信処理間隔に基づいて、AP受信可能帯域を算出する(ステップ1302)。   The virtual machine monitor 302 calculates the AP receivable bandwidth based on the acquired reception processing interval of the AP 321-1 (step 1302).

仮想計算機モニタ302は、ネットワークスイッチ203に、算出されたAP受信可能帯域、取得されたAP321−1の受信処理間隔、及び仮想NIC327−1に割り当てられたネットワークアドレス等を含むAP動作情報を送信する(ステップ1303)。   The virtual machine monitor 302 transmits AP operation information including the calculated AP receivable bandwidth, the acquired reception processing interval of the AP 321-1 and the network address assigned to the virtual NIC 327-1 to the network switch 203. (Step 1303).

その後、ステップ506からステップ508の処理を実行せずに、AP321−1が終了されるまで、ステップ505のAP動作情報のロギング処理を実行する。   Thereafter, the AP operation information logging process of step 505 is executed until the AP 321-1 is terminated without executing the processes of step 506 to step 508.

図13は、本発明の第2の実施形態のネットワークスイッチ203が実行する処理を説明するフローチャートである。   FIG. 13 is a flowchart illustrating processing executed by the network switch 203 according to the second embodiment of this invention.

ネットワークスイッチ203は、LANポート1104を介してデータパケットを受信したか否かを判定する(ステップ1400)。   The network switch 203 determines whether a data packet is received via the LAN port 1104 (step 1400).

データパケットを受信していないと判定された場合、ネットワークスイッチ203は、ステップ1400に戻り、データパケットを受信するまで待ち続ける。   If it is determined that the data packet has not been received, the network switch 203 returns to step 1400 and continues to wait until the data packet is received.

データパケットを受信したと判定された場合、ネットワークスイッチ203は、受信したデータパケットをパケット用メモリ1102に格納し、受信したデータパケットが自分(ネットワークスイッチ203)宛であるか否かを判定する(ステップ1401)。   When it is determined that the data packet has been received, the network switch 203 stores the received data packet in the packet memory 1102, and determines whether the received data packet is addressed to itself (network switch 203) ( Step 1401).

受信したデータパケットが自分宛でないと判定された場合、ネットワークスイッチ203は、スイッチング処理を実行し(ステップ1404)、ステップ1400に戻る。なお、スイッチング処理の詳細は、図14を用いて後述する。   If it is determined that the received data packet is not addressed to itself, the network switch 203 executes a switching process (step 1404) and returns to step 1400. The details of the switching process will be described later with reference to FIG.

受信したデータパケットが自分宛であると判定された場合、ネットワークスイッチ203は、受信したデータパケットが経路情報に関するデータであるか否かを判定する(ステップ1402)。   When it is determined that the received data packet is addressed to itself, the network switch 203 determines whether or not the received data packet is data related to route information (step 1402).

受信したデータパケットが経路情報に関するデータであると判定された場合、ネットワークスイッチ203は、ルーティング情報処理を実行する(ステップ1403)。当該処理は、ルーティングテーブル管理部1107によって実行される。   If it is determined that the received data packet is data related to the route information, the network switch 203 executes routing information processing (step 1403). This processing is executed by the routing table management unit 1107.

受信したデータパケットが経路情報に関するデータではないと判定された場合、ネットワークスイッチ203は、受信したデータパケットがAP動作情報であるか否かを判定する(ステップ1405)。   When it is determined that the received data packet is not data related to route information, the network switch 203 determines whether the received data packet is AP operation information (step 1405).

受信したデータパケットがAP動作情報でないと判定された場合、ネットワークスイッチ203は、ステップ1400に戻る。   If it is determined that the received data packet is not AP operation information, the network switch 203 returns to Step 1400.

受信したデータパケットがAP動作情報であると判定された場合、ネットワークスイッチ203は、受信したデータパケットから、AP受信可能帯域、AP321−1における変更前の物理NIC312の帯域情報、AP321−1の受信処理間隔等を取得する(ステップ1406)。   When it is determined that the received data packet is AP operation information, the network switch 203 determines from the received data packet the AP receivable bandwidth, the bandwidth information of the physical NIC 312 before the change in the AP 321-1, and the reception of the AP 321-1. A processing interval or the like is acquired (step 1406).

ネットワークスイッチ203は、AP動作情報から取得された情報に基づいて、データパケット送信元である仮想計算機301−1へのデータパケットの監視処理を開始する(ステップ1407)。   Based on the information acquired from the AP operation information, the network switch 203 starts a data packet monitoring process for the virtual machine 301-1 that is the data packet transmission source (step 1407).

図14は、本発明の第2の実施形態のネットワークスイッチ203によって実行されるスイッチング処理を説明するフローチャートである。   FIG. 14 is a flowchart illustrating the switching process executed by the network switch 203 according to the second embodiment of this invention.

ネットワークスイッチ203のスイッチチップ1103は、受信したデータパケットに含まれる通信先アドレス情報を取得し、アドレス用メモリ1101に格納されるルーティングテーブル(図示省略)を検索する(ステップ1500)。   The switch chip 1103 of the network switch 203 acquires communication destination address information included in the received data packet, and searches a routing table (not shown) stored in the address memory 1101 (step 1500).

ネットワークスイッチ203は、前述の検索結果に基づいて、受信したデータパケットが監視対象の仮想計算機301−1宛に送信されるデータパケットであるか否かの判定処理を実行する(ステップ1501)。   The network switch 203 executes a process for determining whether or not the received data packet is a data packet transmitted to the monitoring target virtual machine 301-1 based on the search result (step 1501).

ネットワークスイッチ203は、判定処理の結果が受信したデータパケットが監視対象の仮想計算機301−1宛に送信されるデータパケットであるか否かを判定する(ステップ1502)。   The network switch 203 determines whether or not the data packet received as a result of the determination process is a data packet transmitted to the virtual machine 301-1 to be monitored (step 1502).

受信したデータパケットが監視対象の仮想計算機301−1宛に送信されるデータパケットでないと判定された場合、ネットワークスイッチ203は、ステップ1502に戻る。   If it is determined that the received data packet is not a data packet transmitted to the monitored virtual machine 301-1, the network switch 203 returns to step 1502.

受信したデータパケットが監視対象の仮想計算機301−1宛に送信されるデータパケットであると判定された場合、ネットワークスイッチ203は、現在の時刻を取得し、受信したデータパケットにタイムスタンプを付与し、また、受信データパケット数をカウントアップする(ステップ1503)。   When it is determined that the received data packet is a data packet transmitted to the virtual machine 301-1 to be monitored, the network switch 203 acquires the current time and assigns a time stamp to the received data packet. Also, the number of received data packets is counted up (step 1503).

ネットワークスイッチ203は、データパケットを受け取った間隔である受信間隔を算出し、また、受信したデータパケットの仮想計算機301−1宛てのデータパケット数を確認する(ステップ1504)。   The network switch 203 calculates a reception interval, which is an interval at which data packets are received, and confirms the number of data packets addressed to the virtual machine 301-1 of the received data packets (step 1504).

具体的には、ネットワークスイッチ203は、前回データパケットを受信した時刻とステップ1503において取得された時刻に基づいて受信間隔を算出する。また、データパケット数は、データパケットを送信先に出力したときにカウントダウンされ、パケット用メモリ1102にバッファリングされるデータパケット数が送信先毎に管理される。   Specifically, the network switch 203 calculates the reception interval based on the time when the previous data packet was received and the time acquired in step 1503. The number of data packets is counted down when the data packet is output to the transmission destination, and the number of data packets buffered in the packet memory 1102 is managed for each transmission destination.

ネットワークスイッチ203は、算出されたデータパケット受信間隔及びデータパケット数に基づいて、AP321−1が受信処理可能な範囲であるか否かを判定する(ステップ1505)。   Based on the calculated data packet reception interval and the number of data packets, the network switch 203 determines whether or not the AP 321-1 is within the reception processable range (step 1505).

例えば、変更前の物理NIC312(又は仮想NIC327−1)の帯域が100Mbpsであり、受信処理間隔が100msであり、変更後の物理NIC312の帯域が1Gbpsである場合、ネットワークスイッチ203が受信するデータパケットの受信間隔は10msと算出される。このとき、データパケット数が10データパケットである場合、仮想計算機301−1の仮想NIC327−1の受信バッファ325−1にオーバーフローが起こる可能性があるため、AP321−1が受信処理可能な範囲でないと判定される。つまり、疑似輻輳を発生させる必要があると判定される。   For example, when the bandwidth of the physical NIC 312 (or virtual NIC 327-1) before the change is 100 Mbps, the reception processing interval is 100 ms, and the bandwidth of the physical NIC 312 after the change is 1 Gbps, the data packet received by the network switch 203 The reception interval is calculated as 10 ms. At this time, if the number of data packets is 10, the overflow may occur in the reception buffer 325-1 of the virtual NIC 327-1 of the virtual machine 301-1. It is determined. That is, it is determined that pseudo congestion needs to be generated.

AP321−1が受信処理可能な範囲であると判定された場合、ネットワークスイッチ203は、処理を終了する。   When it is determined that the AP 321-1 is within the reception processable range, the network switch 203 ends the process.

AP321−1が受信処理可能な範囲でないと判定された場合、ネットワークスイッチ203は、AP321−1宛にデータパケットを送信する通信相手に対して疑似輻輳発生を通知し(ステップ1506)、処理を終了する。   When it is determined that the AP 321-1 is not within the reception processable range, the network switch 203 notifies the communication partner that transmits the data packet to the AP 321-1 of the occurrence of pseudo congestion (Step 1506), and ends the process. To do.

具体的には、ネットワークスイッチ203は、AP321−1宛にデータパケットを送信する通信相手にPAUSEコマンドを送信する。   Specifically, the network switch 203 transmits a PAUSE command to a communication partner that transmits a data packet to the AP 321-1.

これによって、AP321−1宛にデータパケットを送信する通信相手からのデータパケットの送信を一時停止させることができる。   Thereby, the transmission of the data packet from the communication partner that transmits the data packet to the AP 321-1 can be temporarily stopped.

図15は、ネットワークスイッチ203が管理するAP−ネットワーク環境情報テーブル1109のフォーマットの一例を示す説明図である。   FIG. 15 is an explanatory diagram showing an example of the format of the AP-network environment information table 1109 managed by the network switch 203.

AP−ネットワーク環境情報テーブル1109は、ポート1601、MACアドレス1602、IPアドレス1603、速度1604、AP受信間隔1605、AP受信データ数1606、受信時刻1607及び受信間隔1608を含む。   The AP-network environment information table 1109 includes a port 1601, a MAC address 1602, an IP address 1603, a speed 1604, an AP reception interval 1605, an AP reception data number 1606, a reception time 1607, and a reception interval 1608.

ポート1601は、LANポート1104のポート番号である。MACアドレス1602は、監視対象の仮想計算機301に割り当てられるMACアドレスである。なお、当該MACアドレスは仮想計算機モニタ302によって割り当てられる。   A port 1601 is a port number of the LAN port 1104. The MAC address 1602 is a MAC address assigned to the virtual machine 301 to be monitored. The MAC address is assigned by the virtual machine monitor 302.

IPアドレス1603は、監視対象の仮想計算機301に割り当てられているIPアドレスである。なお、当該IPアドレスは、仮想計算機モニタ302によって割り当てられる。   An IP address 1603 is an IP address assigned to the virtual machine 301 to be monitored. The IP address is assigned by the virtual machine monitor 302.

速度1604は、AP321が使用する物理NIC312(又は仮想NIC327)の帯域である。AP受信間隔1605は、AP321の受信処理可能間隔である。AP受信データ数1606は、ネットワークスイッチ203にバッファリングされる各仮想計算機301宛のデータパケット数である。   The speed 1604 is a band of the physical NIC 312 (or virtual NIC 327) used by the AP 321. The AP reception interval 1605 is an interval at which the AP 321 can receive data. The AP received data number 1606 is the number of data packets addressed to each virtual machine 301 buffered in the network switch 203.

受信時刻1607は、ネットワークスイッチ203が各仮想計算機301宛のデータパケットを受信した時刻である。受信間隔1608は各仮想計算機301宛のデータパケットの受信間隔である。   A reception time 1607 is a time when the network switch 203 receives a data packet addressed to each virtual machine 301. A reception interval 1608 is a reception interval of data packets addressed to each virtual machine 301.

なお、第2の実施形態では、仮想計算機モニタ302によってAP受信可能帯域が算出されたが、ネットワークスイッチ203がAP動作情報に含まれるAP321−1の受信処理間隔に基づいて、AP受信可能帯域を算出してもよい。これによって、仮想計算機モニタ302の処理負担を低減することができる。   In the second embodiment, the AP receivable bandwidth is calculated by the virtual machine monitor 302. However, the network switch 203 sets the AP receivable bandwidth based on the reception processing interval of the AP 321-1 included in the AP operation information. It may be calculated. As a result, the processing load on the virtual machine monitor 302 can be reduced.

第2の実施形態によれば、ネットワークスイッチ203が、物理NIC312が変更された場合に、仮想計算機モニタ302から送信される情報に基づいて、変更前の物理NIC312と変更後の物理NIC312との性能差を考慮して疑似輻輳を発生させることによって、受信データのフロー制御を行うことができる。これによって、ネットワークの高速化によって発生するアプリケーションの異常稼働や異常終了を防止することができる。   According to the second embodiment, when the physical NIC 312 is changed, the network switch 203 performs the performance of the physical NIC 312 before the change and the physical NIC 312 after the change based on information transmitted from the virtual machine monitor 302. The flow control of received data can be performed by generating pseudo-congestion in consideration of the difference. As a result, it is possible to prevent abnormal operation and abnormal termination of applications that occur due to network speedup.

100 ソフトウェア
101 仮想計算機モニタ
102 仮想計算機
106 アプリケーション動作情報
107、108 ハードウェア
109 ハードウェア性能差分情報
110 性能差解消処理部
111 疑似輻輳情報受信処理部
200 DC
201 外部ネットワーク
202 ルータ
203 ネットワークスイッチ
204 サーバシステム
205 ストレージ装置
206 ネットワーク
300 物理計算機
301 仮想計算機
302 仮想計算機モニタ
303 送信モニタ
304 受信モニタ
305 性能差解消処理部
306 疑似輻輳処理部
307 AP情報管理部
308 AP情報管理テーブル
309 構成履歴管理部
310 構成履歴管理テーブル
312 物理NIC
320 内部バス
321 AP
322 ゲストOS
323 仮想ドライバ
324 送信バッファ
325 受信バッファ
327 仮想NIC
328 ルーティング部
329 処理部
330 CPU
331 メモリ
332 不揮発性記憶媒体
1100 CPU
1101 アドレス用メモリ
1102 パケット用メモリ
1103 スイッチチップ
1104 LANポート
1105 経路情報送信処理部
1106 経路情報受信処理部
1107 ルーティングテーブル管理部
1108 AP動作保証処理部
1109 AP−ネットワーク環境情報テーブル
1110 疑似輻輳情報送信処理部
1111 疑似輻輳情報受信処理部
1120 メモリ
100 Software 101 Virtual machine monitor 102 Virtual machine 106 Application operation information 107, 108 Hardware 109 Hardware performance difference information 110 Performance difference elimination processing unit 111 Pseudo congestion information reception processing unit 200 DC
201 External network 202 Router 203 Network switch 204 Server system 205 Storage device 206 Network 300 Physical computer 301 Virtual computer 302 Virtual computer monitor 303 Transmission monitor 304 Reception monitor 305 Performance difference elimination processing unit 306 Pseudo congestion processing unit 307 AP information management unit 308 AP Information management table 309 Configuration history management unit 310 Configuration history management table 312 Physical NIC
320 Internal bus 321 AP
322 Guest OS
323 Virtual driver 324 Transmission buffer 325 Reception buffer 327 Virtual NIC
328 Routing unit 329 Processing unit 330 CPU
331 Memory 332 Nonvolatile storage medium 1100 CPU
1101 Address memory 1102 Packet memory 1103 Switch chip 1104 LAN port 1105 Routing information transmission processing unit 1106 Routing information reception processing unit 1107 Routing table management unit 1108 AP operation guarantee processing unit 1109 AP-network environment information table 1110 Pseudo congestion information transmission processing Unit 1111 pseudo-congestion information reception processing unit 1120 memory

Claims (15)

プロセッサと、前記プロセッサに接続されるメモリとを備え、前記プロセッサによって実行され、サーバの物理資源を仮想的に分割して生成される複数の仮想計算機を管理する仮想マシンモニタと、前記各仮想計算機上で実行され、アプリケーションを実行するオペレーティングシステムと、を備えた仮想環境を提供するサーバであって、
前記仮想マシンモニタは、
前記各仮想計算期毎に割り当てられた前記物理資源に関する情報を管理する物理資源情報管理部と、
前記各仮想計算機毎に、前記オペレーティングシステム上で実行される前記アプリケーションの稼働状態に関する情報を管理するアプリケーション情報管理部と、
前記サーバの物理資源の性能情報を管理し、前記サーバの第1の物理資源が性能の高い第2の物理資源に変更された場合に、前記第1の物理資源の性能と前記第2の物理資源の性能との差を表す性能差分情報を取得して、前記性能差分情報に基づいて、前記アプリケーションが正常に動作するように前記第2の物理資源の性能を調整するための制御情報を生成する性能差分情報管理部と、を備えることを特徴とするサーバ。
A virtual machine monitor that includes a processor and a memory connected to the processor, and that is executed by the processor and manages a plurality of virtual machines generated by virtually dividing a physical resource of a server; and each of the virtual machines A server that provides a virtual environment with an operating system running on and running an application,
The virtual machine monitor is
A physical resource information management unit for managing information on the physical resource allocated for each virtual calculation period;
For each virtual machine, an application information management unit that manages information related to the operating state of the application executed on the operating system;
When the performance information of the physical resource of the server is managed and the first physical resource of the server is changed to a second physical resource with high performance, the performance of the first physical resource and the second physical resource Obtaining performance difference information representing a difference from the performance of the resource, and generating control information for adjusting the performance of the second physical resource so that the application operates normally based on the performance difference information And a performance difference information management unit.
前記物理資源は、前記サーバが他の装置と通信するためのネットワークインタフェースであることを特徴とする請求項1に記載のサーバ。   The server according to claim 1, wherein the physical resource is a network interface for the server to communicate with another device. 前記仮想マシンモニタは、前記ネットワークインタフェースを仮想的に分割して、前記各仮想計算機に仮想ネットワークインタフェースを割り当て、
前記仮想ネットワークインタフェースは、前記アプリケーションが受信するデータを一時的に蓄積する受信バッファと、前記アプリケーションが送信するデータを一時的に蓄積する送信バッファとを備え、
前記性能差分情報管理部は、
前記サーバが備える第1のネットワークインタフェースの性能情報を保持し、
前記第1のネットワークインタフェースから性能の高い第2のネットワークインタフェースに変更された場合に、前記第2のネットワークインタフェースの性能情報を取得し、
前記性能差分情報管理部が保持する前記第1のネットワークインタフェースの性能情報と、前記取得された第2のネットワークインタフェースの性能情報とに基づいて、前記第1のネットワークインタフェースの性能と前記第2のネットワークインタフェースの性能との差を算出し、
前記算出された前記第1のネットワークインタフェースの性能と前記第2のネットワークインタフェースの性能との差に基づいて、前記受信バッファが蓄積可能な容量を越えないようにするための制御情報を生成することを特徴とする請求項2に記載のサーバ。
The virtual machine monitor virtually divides the network interface and assigns a virtual network interface to each virtual machine,
The virtual network interface includes a reception buffer that temporarily accumulates data received by the application, and a transmission buffer that temporarily accumulates data transmitted by the application,
The performance difference information management unit
Holding performance information of a first network interface provided in the server;
When the first network interface is changed to a second network interface with high performance, the performance information of the second network interface is acquired;
Based on the performance information of the first network interface held by the performance difference information management unit and the acquired performance information of the second network interface, the performance of the first network interface and the second Calculate the difference with the performance of the network interface,
Generating control information for preventing the reception buffer from exceeding a capacity that can be stored based on the difference between the calculated performance of the first network interface and the performance of the second network interface; The server according to claim 2.
前記性能差分情報管理部によって生成された制御情報は、前記アプリケーションが実行される仮想計算機に割り当てられた仮想ネットワークインタフェースに輻輳状態が発生したことを通知するための輻輳通知設定情報であって、
前記仮想マシンモニタは、さらに、前記輻輳通知設定情報に基づいて、前記仮想ネットワークインタフェースに輻輳状態が発生したことを通知する輻輳処理部を備えることを特徴とする請求項3に記載のサーバ。
The control information generated by the performance difference information management unit is congestion notification setting information for notifying that a congestion state has occurred in a virtual network interface allocated to a virtual machine on which the application is executed,
The server according to claim 3, wherein the virtual machine monitor further includes a congestion processing unit that notifies that a congestion state has occurred in the virtual network interface based on the congestion notification setting information.
前記サーバは、複数のネットワークスイッチを含むネットワークと接続され、
前記仮想マシンモニタは、前記アプリケーションにおけるデータ受信状況を測定し、
前記アプリケーション情報管理部は、前記アプリケーションにおけるデータ受信状況測定結果に基づいて取得される、前記受信バッファのバッファサイズと、前記アプリケーションがデータを受信するアプリケーション受信間隔とを管理し、
前記性能差分情報管理部は、
前記性能差分情報、前記受信バッファのバッファサイズ、及び前記アプリケーション受信間隔に基づいて、前記輻輳通知設定情報を生成し、
前記輻輳処理部は、
周期的に前記仮想ネットワークインタフェースに、前記輻輳状態が発生したことを通知し、
前記仮想ネットワークインタフェースは、前記ネットワークスイッチに、前記アプリケーション宛のデータの送信を停止させる命令を送信することを特徴とする請求項4に記載のサーバ。
The server is connected to a network including a plurality of network switches;
The virtual machine monitor measures data reception status in the application,
The application information management unit manages the buffer size of the reception buffer acquired based on the data reception status measurement result in the application, and the application reception interval at which the application receives data,
The performance difference information management unit
Based on the performance difference information, the buffer size of the reception buffer, and the application reception interval, generate the congestion notification setting information,
The congestion processing unit
Periodically notifies the virtual network interface that the congestion state has occurred,
The server according to claim 4, wherein the virtual network interface transmits a command for stopping transmission of data addressed to the application to the network switch.
前記サーバは、複数のネットワークスイッチを含むネットワークと接続され、
前記仮想マシンモニタは、前記アプリケーションにおけるデータ受信状況を測定し、
前記アプリケーション情報管理部は、前記アプリケーションにおけるデータ受信状況測定結果に基づいて取得される、前記受信バッファのバッファサイズと、前記アプリケーションがデータを受信するアプリケーション受信間隔とを管理し、
前記性能差分情報管理部は、
前記性能差分情報、前記受信バッファのバッファサイズ、及び前記アプリケーション受信間隔に基づいて、前記受信バッファのバッファサイズの上限値を示す閾値情報を生成し、
前記輻輳処理部は、
前記受信バッファのバッファサイズが前記生成された閾値情報に示される上限値以上であるか否かを判定し、
前記受信バッファのバッファサイズが前記生成された閾値情報に示される上限値以上である場合に、前記仮想ネットワークインタフェースに、前記輻輳状態が発生したことを通知し、
前記仮想ネットワークインタフェースは、前記ネットワークスイッチに、前記アプリケーション宛のデータの送信を停止させる命令を送信することを特徴とする請求項4に記載のサーバ。
The server is connected to a network including a plurality of network switches;
The virtual machine monitor measures data reception status in the application,
The application information management unit manages the buffer size of the reception buffer acquired based on the data reception status measurement result in the application, and the application reception interval at which the application receives data,
The performance difference information management unit
Based on the performance difference information, the buffer size of the reception buffer, and the application reception interval, generate threshold information indicating an upper limit value of the buffer size of the reception buffer,
The congestion processing unit
Determining whether the buffer size of the reception buffer is equal to or greater than the upper limit value indicated in the generated threshold information;
When the buffer size of the reception buffer is equal to or larger than the upper limit value indicated in the generated threshold information, the virtual network interface is notified that the congestion state has occurred,
The server according to claim 4, wherein the virtual network interface transmits a command for stopping transmission of data addressed to the application to the network switch.
前記性能差分情報管理部によって生成された制御情報は、前記アプリケーションが実行される仮想計算機に割り当てられた仮想ネットワークインタフェースに輻輳状態が発生したことを通知するための輻輳通知設定情報であって、
前記サーバは、複数のネットワークスイッチを含むネットワークと接続され、
前記仮想マシンモニタは、前記アプリケーションにおけるデータ受信状況を測定し、
前記アプリケーション情報管理部は、前記アプリケーションにおけるデータ受信状況測定結果に基づいて取得される、前記受信バッファのバッファサイズと、前記アプリケーションがデータを受信するアプリケーション受信間隔とを管理し、
前記性能差分情報管理部は、
前記性能差分情報、前記受信バッファのバッファサイズ、及び前記アプリケーション受信間隔に基づいて、前記輻輳通知設定情報を生成し、
前記生成された輻輳通知設定情報を前記ネットワークスイッチに送信することによって、前記アプリケーション宛のデータの送信を停止させることを特徴とする請求項3に記載のサーバ。
The control information generated by the performance difference information management unit is congestion notification setting information for notifying that a congestion state has occurred in a virtual network interface allocated to a virtual machine on which the application is executed,
The server is connected to a network including a plurality of network switches;
The virtual machine monitor measures data reception status in the application,
The application information management unit manages the buffer size of the reception buffer acquired based on the data reception status measurement result in the application, and the application reception interval at which the application receives data,
The performance difference information management unit
Based on the performance difference information, the buffer size of the reception buffer, and the application reception interval, generate the congestion notification setting information,
The server according to claim 3, wherein transmission of data addressed to the application is stopped by transmitting the generated congestion notification setting information to the network switch.
前記第1のネットワークインタフェースの性能情報及び前記第2のネットワークインタフェースの性能情報は、前記第1のネットワークインタフェースの処理速度及び前記第2のネットワークインタフェースの処理速度であり、
前記性能差分情報管理部は、
前記第2のネットワークインタフェースの処理速度を前記第1のネットワークインタフェースの処理速度で除算することによって、前記性能差分情報を算出することを特徴とする請求項3に記載のサーバ。
The performance information of the first network interface and the performance information of the second network interface are a processing speed of the first network interface and a processing speed of the second network interface,
The performance difference information management unit
The server according to claim 3, wherein the performance difference information is calculated by dividing a processing speed of the second network interface by a processing speed of the first network interface.
複数の計算機が、複数のネットワークスイッチを含むネットワークを介して接続される計算機システムであって、
前記計算機は、プロセッサと、前記プロセッサに接続されるメモリとを備え、前記プロセッサによって実行され、前記計算機の物理資源を仮想的に分割して生成される複数の仮想計算機を管理する仮想マシンモニタと、前記各仮想計算機上で実行され、アプリケーションを実行するオペレーティングシステムと、を備え、
前記仮想マシンモニタは、
前記各仮想計算期毎に割り当てられた前記物理資源に関する情報である物理資源情報を管理し、
前記各仮想計算機毎に、前記オペレーティングシステム上で実行される前記アプリケーションの稼働状態に関する情報であるアプリケーション稼働情報を管理し、
前記計算機の第1の物理資源が性能の高い第2の物理資源に変更された場合に、前記第1の物理資源の性能と前記第2の物理資源の性能との差を表す性能差分情報を取得し、
前記物理資源情報、前記アプリケーション稼働情報、及び前記性能差分情報を、前記ネットワークスイッチに送信し、
前記ネットワークスイッチは、
受信した前記物理資源情報、前記アプリケーション稼働情報、及び前記性能差分情報に基づいて、前記アプリケーションが正常に動作するように前記第2の物理資源の性能を調整するための制御情報を生成することを特徴とする計算機システム。
A computer system in which a plurality of computers are connected via a network including a plurality of network switches,
The computer includes a processor and a memory connected to the processor, and is executed by the processor, and a virtual machine monitor that manages a plurality of virtual computers generated by virtually dividing physical resources of the computer An operating system that executes on each virtual machine and executes an application,
The virtual machine monitor is
Managing physical resource information that is information related to the physical resource allocated for each virtual computation period;
For each virtual machine, manage application operation information that is information related to the operation state of the application executed on the operating system,
When the first physical resource of the computer is changed to a high-performance second physical resource, performance difference information indicating a difference between the performance of the first physical resource and the performance of the second physical resource is displayed. Acquired,
Transmitting the physical resource information, the application operation information, and the performance difference information to the network switch;
The network switch is
Generating control information for adjusting the performance of the second physical resource so that the application operates normally based on the received physical resource information, the application operation information, and the performance difference information; A featured computer system.
前記物理資源は、前記計算機が他の装置と通信するためのネットワークインタフェースであることを特徴とする請求項9に記載の計算機システム。   The computer system according to claim 9, wherein the physical resource is a network interface for the computer to communicate with another device. 前記仮想マシンモニタは、前記ネットワークインタフェースを仮想的に分割して、前記各仮想計算機に仮想ネットワークインタフェースを割り当て、
前記仮想ネットワークインタフェースは、前記アプリケーションが受信するデータを一時的に蓄積する受信バッファと、前記アプリケーションが送信するデータを一時的に蓄積する送信バッファとを備え、
前記仮想マシンモニタは、
第1のネットワークインタフェースから性能の高い第2のネットワークインタフェースに変更された場合に、前記第2のネットワークインタフェースの性能情報を取得し、
性能差分情報管理部が保持する前記第1のネットワークインタフェースの性能情報と、前記取得された第2のネットワークインタフェースの性能情報とに基づいて、前記第1のネットワークインタフェースの性能と前記第2のネットワークインタフェースの性能との差を算出し、
前記算出された第1のネットワークインタフェースの性能と第2のネットワークインタフェースの性能との差を前記ネットワークスイッチに送信し、
前記ネットワークスイッチは、
前記算出された前記第1のネットワークインタフェースの性能と前記第2のネットワークインタフェースの性能との差に基づいて、前記受信バッファが蓄積可能な容量を越えないようにするための制御情報を生成することを特徴とする請求項10に記載の計算機システム。
The virtual machine monitor virtually divides the network interface and assigns a virtual network interface to each virtual machine,
The virtual network interface includes a reception buffer that temporarily accumulates data received by the application, and a transmission buffer that temporarily accumulates data transmitted by the application,
The virtual machine monitor is
When the first network interface is changed to a high-performance second network interface, the performance information of the second network interface is acquired;
Based on the performance information of the first network interface held by the performance difference information management unit and the acquired performance information of the second network interface, the performance of the first network interface and the second network Calculate the difference from the interface performance,
Transmitting the difference between the calculated performance of the first network interface and the performance of the second network interface to the network switch;
The network switch is
Generating control information for preventing the reception buffer from exceeding a capacity that can be stored based on the difference between the calculated performance of the first network interface and the performance of the second network interface; The computer system according to claim 10.
前記制御情報は、前記ネットワークスイッチが前記アプリケーション宛のデータの送信を停止させる命令を通知するための輻輳通知設定情報であって、
前記ネットワークスイッチは、前記輻輳通知設定情報に基づいて、前記仮想ネットワークインタフェースに輻輳状態が発生したことを通知することを特徴とする請求項11に記載の計算機システム。
The control information is congestion notification setting information for notifying a command for the network switch to stop transmission of data addressed to the application,
The computer system according to claim 11, wherein the network switch notifies that a congestion state has occurred in the virtual network interface based on the congestion notification setting information.
前記仮想マシンモニタは、前記アプリケーションの稼働状態に関する情報として、前記受信バッファのバッファサイズと、前記アプリケーションがデータを受信するアプリケーション受信間隔とを管理し、
前記ネットワークスイッチは、
前記性能差分情報、前記受信バッファのバッファサイズ、及び前記アプリケーション受信間隔に基づいて、前記輻輳通知設定情報を生成し、
周期的に、前記輻輳状態を発生させるか否かを判定し、
前記輻輳状態を発生させると判定された場合に、前記アプリケーション宛のデータの送信を停止させる命令を当該データの送信元に送信することを特徴とする請求項11に記載の計算機システム。
The virtual machine monitor manages the buffer size of the reception buffer and the application reception interval at which the application receives data as information on the operating state of the application,
The network switch is
Based on the performance difference information, the buffer size of the reception buffer, and the application reception interval, generate the congestion notification setting information,
Periodically, determine whether to generate the congestion state,
The computer system according to claim 11, wherein when it is determined that the congestion state is generated, an instruction to stop transmission of data addressed to the application is transmitted to a transmission source of the data.
前記第1のネットワークインタフェースの性能情報及び前記第2のネットワークインタフェースの性能情報は、前記第1のネットワークインタフェースの処理速度及び前記第2のネットワークインタフェースの処理速度であり、
前記仮想マシンモニタは、
前記第2のネットワークインタフェースの処理速度を前記第1のネットワークインタフェースの処理速度で除算することによって、前記性能差分情報を算出することを特徴とする請求項11に記載の計算機システム。
The performance information of the first network interface and the performance information of the second network interface are a processing speed of the first network interface and a processing speed of the second network interface,
The virtual machine monitor is
12. The computer system according to claim 11, wherein the performance difference information is calculated by dividing the processing speed of the second network interface by the processing speed of the first network interface.
プロセッサと、前記プロセッサに接続されるメモリとを備え、前記プロセッサによって実行され、前記サーバの物理資源を仮想的に分割して生成される複数の仮想計算機を管理する仮想マシンモニタと、前記各仮想計算機上で実行され、アプリケーションを実行するオペレーティングシステムと、を備えるサーバにおける仮想計算機管理方法であって、
前記仮想マシンモニタは、前記各仮想計算期毎に割り当てられた前記物理資源に関する情報を管理し、前記各仮想計算機毎に、前記オペレーティングシステム上で実行される前記アプリケーションの稼働状態に関する情報を管理し、
前記方法は、
前記仮想マシンモニタが、
前記サーバの第1の物理資源が性能の高い第2の物理資源に変更された場合に、前記第1の物理資源の性能と前記第2の物理資源の性能との差を表す性能差分情報を取得するステップと、
前記取得された性能差分情報に基づいて、前記アプリケーションが正常に動作するように前記第2の物理資源の性能とを下げるための制御情報を生成するステップと、含むことを特徴とする仮想計算機管理方法。
A virtual machine monitor that includes a processor and a memory connected to the processor, and that is executed by the processor and manages a plurality of virtual machines generated by virtually dividing physical resources of the server; A virtual machine management method in a server comprising an operating system that is executed on a computer and executes an application,
The virtual machine monitor manages information related to the physical resource allocated for each virtual calculation period, and manages information related to the operating state of the application executed on the operating system for each virtual machine. ,
The method
The virtual machine monitor is
When the first physical resource of the server is changed to a high-performance second physical resource, performance difference information indicating a difference between the performance of the first physical resource and the performance of the second physical resource is displayed. A step to obtain,
Generating virtual machine control information for reducing the performance of the second physical resource based on the acquired performance difference information so that the application operates normally, Method.
JP2010068111A 2010-03-24 2010-03-24 Server, computer system, and virtual computer management method Pending JP2011203810A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010068111A JP2011203810A (en) 2010-03-24 2010-03-24 Server, computer system, and virtual computer management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010068111A JP2011203810A (en) 2010-03-24 2010-03-24 Server, computer system, and virtual computer management method

Publications (1)

Publication Number Publication Date
JP2011203810A true JP2011203810A (en) 2011-10-13

Family

ID=44880429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010068111A Pending JP2011203810A (en) 2010-03-24 2010-03-24 Server, computer system, and virtual computer management method

Country Status (1)

Country Link
JP (1) JP2011203810A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013126062A (en) * 2011-12-14 2013-06-24 Kddi Corp Network traffic control device, control method and program
EP2782294A1 (en) 2013-03-18 2014-09-24 Fujitsu Limited Information processing apparatus and method for generating coupling information
US8972990B2 (en) 2012-08-29 2015-03-03 International Business Machines Corporation Providing a seamless transition for resizing virtual machines from a development environment to a production environment
JP2016517202A (en) * 2013-03-15 2016-06-09 テレフオンアクチーボラゲット エルエム エリクソン(パブル) Hypervisors and physical machines and their respective methods for measuring performance in hypervisors and physical machines
US9378032B2 (en) 2012-09-20 2016-06-28 Fujitsu Limited Information processing method, information processing apparatus, recording medium, and system
KR20170107502A (en) * 2015-01-28 2017-09-25 닛본 덴끼 가부시끼가이샤 System, virtualization control device, control method and program of virtualization control device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728738A (en) * 1993-07-14 1995-01-31 Nec Shizuoka Ltd Recovery time control system by software for peripheral lsi control
JP2005535154A (en) * 2001-12-18 2005-11-17 シスコ テクノロジー インコーポレイテッド Method and apparatus for network congestion control
JP2006072636A (en) * 2004-09-01 2006-03-16 Hitachi Ltd Disk array device
JP2007174152A (en) * 2005-12-21 2007-07-05 Fujitsu Access Ltd Network congestion control system and method thereof
JP2008146566A (en) * 2006-12-13 2008-06-26 Hitachi Ltd Computer, control method of virtual device and its program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728738A (en) * 1993-07-14 1995-01-31 Nec Shizuoka Ltd Recovery time control system by software for peripheral lsi control
JP2005535154A (en) * 2001-12-18 2005-11-17 シスコ テクノロジー インコーポレイテッド Method and apparatus for network congestion control
JP2006072636A (en) * 2004-09-01 2006-03-16 Hitachi Ltd Disk array device
JP2007174152A (en) * 2005-12-21 2007-07-05 Fujitsu Access Ltd Network congestion control system and method thereof
JP2008146566A (en) * 2006-12-13 2008-06-26 Hitachi Ltd Computer, control method of virtual device and its program

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013126062A (en) * 2011-12-14 2013-06-24 Kddi Corp Network traffic control device, control method and program
US8972990B2 (en) 2012-08-29 2015-03-03 International Business Machines Corporation Providing a seamless transition for resizing virtual machines from a development environment to a production environment
US9378032B2 (en) 2012-09-20 2016-06-28 Fujitsu Limited Information processing method, information processing apparatus, recording medium, and system
JP2016517202A (en) * 2013-03-15 2016-06-09 テレフオンアクチーボラゲット エルエム エリクソン(パブル) Hypervisors and physical machines and their respective methods for measuring performance in hypervisors and physical machines
US9940151B2 (en) 2013-03-15 2018-04-10 Telefonaktiebolaget Lm Ericsson (Publ) Hypervisor and physical machine and respective methods therein for performance measurement
EP2782294A1 (en) 2013-03-18 2014-09-24 Fujitsu Limited Information processing apparatus and method for generating coupling information
US9632962B2 (en) 2013-03-18 2017-04-25 Fujitsu Limited Information processing apparatus and method for generating coupling information
KR20170107502A (en) * 2015-01-28 2017-09-25 닛본 덴끼 가부시끼가이샤 System, virtualization control device, control method and program of virtualization control device
KR101939075B1 (en) 2015-01-28 2019-04-11 닛본 덴끼 가부시끼가이샤 eng
US11093296B2 (en) 2015-01-28 2021-08-17 Nec Corporation System, virtualization control apparatus, method for controlling a virtualization control apparatus, and program

Similar Documents

Publication Publication Date Title
US11550606B2 (en) Technologies for deploying virtual machines in a virtual network function infrastructure
US8826274B2 (en) Virtual machine system, networking device and monitoring method of virtual machine system
US20120089981A1 (en) Method and system for power management in a virtual machine environment without disrupting network connectivity
US9781041B2 (en) Systems and methods for native network interface controller (NIC) teaming load balancing
US8613085B2 (en) Method and system for traffic management via virtual machine migration
US9374425B2 (en) Behavior based client selection for disparate treatment
US20100274890A1 (en) Methods and apparatus to get feedback information in virtual environment for server load balancing
US20110276982A1 (en) Load Balancer and Load Balancing System
WO2017034731A1 (en) Technologies for offloading network packet processing to a gpu
US10019280B2 (en) Technologies for dynamically managing data bus bandwidth usage of virtual machines in a network device
WO2013163865A1 (en) Virtual machine hot migration and deployment method, server and cluster system
WO2012100544A1 (en) Method, device and cluster system for virtual machine migration based on network data flow direction
US9172646B2 (en) Dynamic reconfiguration of network devices for outage prediction
CN109510878B (en) Long connection session keeping method and device
US11144423B2 (en) Dynamic management of monitoring tasks in a cloud environment
JP2011203810A (en) Server, computer system, and virtual computer management method
US11734172B2 (en) Data transmission method and apparatus using resources in a resource pool of a same NUMA node
WO2014086193A1 (en) Data flow affinity for heterogenous virtual machines
WO2014183574A1 (en) Computer node deployment method, processing node, controller, and system
Lei et al. Parallelizing packet processing in container overlay networks
WO2021098425A1 (en) Qos policy method, device, and computing device for service configuration
WO2018057165A1 (en) Technologies for dynamically transitioning network traffic host buffer queues
CN114675972A (en) Method and system for flexibly scheduling cloud network resources based on integral algorithm
Lakshmi et al. I/O Device Virtualization in the multi-core era, a QoS perspective
US20220214926A1 (en) Virtual machine monitoring device, virtual machine monitoring method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120308

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131001

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140729