JP2018005664A - Controller, information process system, control method, and information processing program - Google Patents

Controller, information process system, control method, and information processing program Download PDF

Info

Publication number
JP2018005664A
JP2018005664A JP2016133385A JP2016133385A JP2018005664A JP 2018005664 A JP2018005664 A JP 2018005664A JP 2016133385 A JP2016133385 A JP 2016133385A JP 2016133385 A JP2016133385 A JP 2016133385A JP 2018005664 A JP2018005664 A JP 2018005664A
Authority
JP
Japan
Prior art keywords
migration
packet
server
virtual machine
received
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
JP2016133385A
Other languages
Japanese (ja)
Inventor
健司郎 森
Kenshiro Mori
健司郎 森
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016133385A priority Critical patent/JP2018005664A/en
Publication of JP2018005664A publication Critical patent/JP2018005664A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

PROBLEM TO BE SOLVED: To suppress an instantaneous break of communication due to migration.SOLUTION: A controller which monitors packets between a server and a client terminal comprises: a reception unit which receives packets from a migration-source server and a migration-destination server as a migration destination of processing environment of the migration-source server; a determination unit which determines whether a difference in reception time between corresponding packets received from the migration-source server and migration-destination server, and discards packets received from the migration-destination server between the corresponding packets; a control unit which stops processing of the migration-source server when it is determined that the difference in reception time is within an allowable range; and a transmission unit which transmits the packet received from the migration-source server or migration-destination server.SELECTED DRAWING: Figure 7

Description

本発明は、制御装置、情報処理システム、制御方法、及び、情報処理プログラムに関する。   The present invention relates to a control device, an information processing system, a control method, and an information processing program.

装置上で動作しているOS(Operation System)やソフトウェア、当該OSやソフトウェアの設定や状態、装置上で保持されているデータ等をそのまま他の装置に移行させることをマイグレーションと称する。サービスプロバイダでは、サービスを提供しているサーバ等のハードウェアのメンテナンスや部品の交換時にサービスを停止させないように、OSやソフトウェアを別環境に移行させるライブマイグレーションが行われる。ライブマイグレーションでは、別環境への切替の際に、ダウンタイムが発生し、ミリ秒単位の通信の瞬断が発生する。瞬断とは、本明細書では、処理環境の切替によって通信できない期間が生じる現象を示す。処理環境とは、コンピュータのハードウェアの構成や設定、OSなどソフトウェアの構成や設定、および、それら全体の組み合わせのことである。   Migration of an OS (Operation System) and software operating on a device, settings and states of the OS and software, data held on the device, and the like as they are to another device is referred to as migration. The service provider performs live migration for migrating the OS and software to another environment so that the service is not stopped during maintenance of hardware such as a server that provides the service or replacement of parts. In live migration, when switching to another environment, downtime occurs and communication interruption in milliseconds occurs. In the present specification, instantaneous interruption refers to a phenomenon in which a period during which communication cannot be performed due to switching of the processing environment occurs. The processing environment is a configuration and setting of computer hardware, a configuration and setting of software such as an OS, and a combination of them.

別環境への切り替えの際の通信の瞬断時間は、ユーザ端末とのセッションの切断が判定される時間よりも短い為、ユーザ端末とのセッションは維持される。また、別環境への切り替えの際の通信の切断によりパケットロスが発生した場合でも、ユーザ端末における再送機能によって、通信内容への影響は少ない。したがって、ライブマイグレーションの環境の移行によるユーザへのサービス提供への影響は少ない。   Since the instantaneous interruption time of communication at the time of switching to another environment is shorter than the time when the disconnection of the session with the user terminal is determined, the session with the user terminal is maintained. Further, even when a packet loss occurs due to communication disconnection when switching to another environment, the retransmission function in the user terminal has little influence on the communication content. Therefore, there is little influence on the service provision to the user due to the migration of the live migration environment.

特開2013−47920号公報JP 2013-47920 A

しかしながら、インターネットなどのネットワークは、近年、高速化、且つ、大容量化しており、ライブマイグレーションによる通信の瞬断がミリ秒単位であっても、サービスに与える影響が大きくなる可能性がある。以降、本明細書では、マイグレーションと称する場合には、ライブマイグレーションを示すこととする。   However, networks such as the Internet have recently increased in speed and capacity, and even if the interruption of communication due to live migration is in units of milliseconds, there is a possibility that the effect on the service will be great. Hereinafter, in this specification, the term “migration” refers to live migration.

本発明の一態様は、マイグレーションによる通信の瞬断を抑制する制御装置、情報処理システム、制御方法、及び、情報処理プログラムを提供することを目的とする。   An object of one embodiment of the present invention is to provide a control device, an information processing system, a control method, and an information processing program that suppress instantaneous interruption of communication due to migration.

本発明の態様の一つは、サーバとクライアント端末との間のパケットを監視する制御装置である。制御装置は、移行元のサーバと移行元のサーバの処理環境の移行先である移行先のサーバとからパケットを受信する受信部と、移行元のサーバと移行先のサーバとから受信された対応するパケットの受信時刻の差分が許容範囲内であるか否かを判定し、対応するパケットのうち移行先のサーバから受信されたパケットを廃棄する判定部と、受信時刻の差分が許容範囲内であると判定された場合に、移行元のサーバの処理を停止させる制御部と、移行元のサーバ又は移行先のサーバから受信されたパケットを送信する送信部と、を備える。   One aspect of the present invention is a control device that monitors packets between a server and a client terminal. The control device includes a receiver that receives packets from the migration source server and the migration destination server that is the migration destination of the processing environment of the migration source server, and the correspondence received from the migration source server and the migration destination server. A determination unit that determines whether or not the difference in the reception time of the packet to be received is within an allowable range, and discards the packet received from the migration destination server among the corresponding packets, and the difference in the reception time is within the allowable range A control unit that stops processing of the migration source server when it is determined to be present, and a transmission unit that transmits a packet received from the migration source server or the migration destination server.

開示の制御装置、情報処理システム、制御方法、及び、情報処理プログラムによれば、
マイグレーションによる通信の瞬断を抑制することができる。
According to the disclosed control device, information processing system, control method, and information processing program,
Communication interruption due to migration can be suppressed.

図1は、参考例の一つである情報処理システムのシステム構成の一例を示す図である。FIG. 1 is a diagram illustrating an example of a system configuration of an information processing system which is one of reference examples. 図2は、参考例の他の一つとしての情報処理システムのシステム構成の一例を示す図である。FIG. 2 is a diagram illustrating an example of a system configuration of an information processing system as another reference example. 図3は、第1実施形態に係る情報処理システムのシステム構成の一例を示す図である。FIG. 3 is a diagram illustrating an example of a system configuration of the information processing system according to the first embodiment. 図4は、第1実施形態に係る他の一つの情報処理システムのシステム構成の一例を示す図である。FIG. 4 is a diagram illustrating an example of a system configuration of another information processing system according to the first embodiment. 図5は、情報処理システムにおけるスイッチのインタフェースカードのハードウェア構成の一例である。FIG. 5 is an example of a hardware configuration of a switch interface card in the information processing system. 図6は、情報処理システムにおける物理サーバのハードウェア構成の一例である。FIG. 6 is an example of a hardware configuration of a physical server in the information processing system. 図7は、パケット監視アクセラレータの機能構成の一例を示す図である。FIG. 7 is a diagram illustrating an example of a functional configuration of the packet monitoring accelerator. 図8は、マイグレーション元タイムスタンプリストの一例である。FIG. 8 is an example of a migration source time stamp list. 図9は、パケット監視部の処理のフローチャートの一例である。FIG. 9 is an example of a flowchart of processing of the packet monitoring unit. 図10は、バッファ部の処理のフローチャートの一例である。FIG. 10 is an example of a flowchart of processing of the buffer unit. 図11は、ミラー部の処理のフローチャートの一例である。FIG. 11 is an example of a flowchart of processing of the mirror unit. 図12は、パケット振分部の処理のフローチャートの一例である。FIG. 12 is an example of a flowchart of processing of the packet distribution unit. 図13Aは、パケットチェック部の処理のフローチャートの一例である。FIG. 13A is an example of a flowchart of processing of the packet check unit. 図13Bは、パケットチェック部の処理のフローチャートの一例である。FIG. 13B is an example of a flowchart of processing of the packet check unit. 図13Cは、パケットチェック部の処理のフローチャートの一例である。FIG. 13C is an example of a flowchart of processing of the packet check unit.

以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. The configuration of the following embodiment is an exemplification, and the present invention is not limited to the configuration of the embodiment.

<参考例>
図1は、参考例の一つである情報処理システムのシステム構成の一例を示す図である。図1に示される参考例である情報処理システムP100Aは、異なるサーバ間でマイグレーションが行われる例である。情報処理システムP100Aは、スイッチP3と、2台の物理サーバP2、スイッチP3とネットワークを介して接続するクライアント端末P4とを含む。各物理サーバP2は、それぞれ、仮想マシンP21と仮想スイッチP22とを備える。
<Reference example>
FIG. 1 is a diagram illustrating an example of a system configuration of an information processing system which is one of reference examples. The information processing system P100A, which is a reference example shown in FIG. 1, is an example in which migration is performed between different servers. The information processing system P100A includes a switch P3, two physical servers P2, and a client terminal P4 connected to the switch P3 via a network. Each physical server P2 includes a virtual machine P21 and a virtual switch P22.

仮想マシンP21は、ソフトウェアによって仮想的に構築されたコンピュータであり、入力パケットに対して、仮想マシンP21上で実行されているソフトウェアの所定の処理を行い、該処理の結果として、応答パケットを出力する。クライアント端末P4は、物理サーバA上で動作する仮想マシンAとTCP(Transport Control Protocol)通信を行っている。例えば、マイグレーションは、物理サーバAのメンテナンス、処理負荷の減増を契機に行われる。物理サーバB上で仮想マシンBが起動され、スイッチP3の通信をマイグレーション元の仮想マシンAから仮想マシンBに切り替えることによって、物理サーバAのマイグレーションは行われる。   The virtual machine P21 is a computer virtually constructed by software, performs predetermined processing of software executed on the virtual machine P21 on the input packet, and outputs a response packet as a result of the processing To do. The client terminal P4 performs TCP (Transport Control Protocol) communication with the virtual machine A operating on the physical server A. For example, migration is performed in response to maintenance of the physical server A and a decrease or increase in processing load. The virtual server B is started on the physical server B, and the physical server A is migrated by switching the communication of the switch P3 from the migration source virtual machine A to the virtual machine B.

より具体的には、マイグレーション先となる物理サーバBは、マイグレーション元の仮
想マシンAから仮想マシンBにメモリをコピーし、仮想マシンAを停止状態(サスペンド)し、仮想マシンBを仮想マシンAの停止時と同じ状態から起動(レジューム)する。このとき、仮想マシンBは、Gratuitous ARPをスイッチP3に送信し、スイッチ3上のMAC(Media Access Control)アドレステーブルを書き換える。これによって、仮想マシンAとクライアント端末P4との通信の転送先を仮想マシンAから仮想マシンBへと切り替えることができる。
More specifically, the physical server B that is the migration destination copies memory from the migration source virtual machine A to the virtual machine B, stops the virtual machine A (suspends), and moves the virtual machine B to the virtual machine A. Start (resume) from the same state as when stopped. At this time, the virtual machine B transmits the Gratuitous ARP to the switch P3 and rewrites the MAC (Media Access Control) address table on the switch 3. Thereby, the transfer destination of communication between the virtual machine A and the client terminal P4 can be switched from the virtual machine A to the virtual machine B.

情報処理システムP100Aにおけるマイグレーションでは、マイグレーション先の仮想マシンBが自身の起動処理の完了を判定し、マイグレーション元の仮想マシンAをサスペンドしてからスイッチP3に対してGratuitous ARPを行う。仮想マシンBがスイッチP3に対してGratuitous ARPを行っている間にも、スイッチP3には仮想マシンA宛てのパケットは届く。しかしながら、例えば、MACアドレステーブルが書換途中であり、当該パケットが仮想マシンAに転送された場合には、仮想マシンAが停止している等により、当該パケットが処理されない可能性がある。このようにしてマイグレーションによる瞬断が発生する。   In the migration in the information processing system P100A, the migration destination virtual machine B determines the completion of its own startup process, suspends the migration source virtual machine A, and then performs the Gratuitous ARP for the switch P3. While the virtual machine B is performing the Gratuitous ARP for the switch P3, the packet addressed to the virtual machine A reaches the switch P3. However, for example, when the MAC address table is being rewritten and the packet is transferred to the virtual machine A, the packet may not be processed because the virtual machine A is stopped. In this way, an interruption due to migration occurs.

図2は、参考例の他の一つとしての情報処理システムのシステム構成の一例を示す図である。図2に示される参考例である情報処理システムP100Bは、同一サーバ上でマイグレーションが行われる例である。情報処理システムP100Bは、スイッチP3と、1台の物理サーバP2、スイッチP3とネットワークを介して接続するクライアント端末P4とを含む。物理サーバP2は、仮想マシンA、仮想マシンB、仮想スイッチP22を備える。   FIG. 2 is a diagram illustrating an example of a system configuration of an information processing system as another reference example. The information processing system P100B, which is a reference example shown in FIG. 2, is an example in which migration is performed on the same server. The information processing system P100B includes a switch P3, one physical server P2, and a client terminal P4 connected to the switch P3 via a network. The physical server P2 includes a virtual machine A, a virtual machine B, and a virtual switch P22.

情報処理システムP100Bにおいても、情報処理システムP100Aと同様に、クライアント端末P4は、仮想マシンAとTCP通信を行っており、例えば、物理サーバP2のメンテナンス、処理負荷の減増を契機にマイグレーションが行われる。物理サーバP2内で仮想マシンBが起動され、仮想スイッチP22の通信をマイグレーション元の仮想マシンAから仮想マシンBに切り替えることによって、物理サーバP2のマイグレーションは行われる。   In the information processing system P100B, as with the information processing system P100A, the client terminal P4 performs TCP communication with the virtual machine A. For example, the migration is performed when the physical server P2 is maintained and the processing load is reduced. Is called. The virtual machine B is activated in the physical server P2, and the physical server P2 is migrated by switching the communication of the virtual switch P22 from the migration source virtual machine A to the virtual machine B.

情報処理システムP100Bにおけるマイグレーションでも、移行先の仮想マシンBが自身の起動処理の完了を判定し、仮想マシンAをサスペンドしてから仮想スイッチP22に対してGratuitous ARPを行う。仮想マシンBが仮想スイッチP22に対してGratuitous ARPを行っている間にも仮想マシンA宛てのパケットが届く。しかしながら、仮想スイッチP22のMACアドレステーブルの書換途中であり、パケットが仮想マシンAに転送された場合には、仮想マシンAが停止している等によって、当該パケットは処理されない可能性がある。これによって、マイグレーションによる瞬断が発生する。   Also in the migration in the information processing system P100B, the migration destination virtual machine B determines the completion of its own startup process, suspends the virtual machine A, and then performs the Gratuitous ARP for the virtual switch P22. The packet addressed to the virtual machine A arrives even while the virtual machine B is performing the Gratuitous ARP for the virtual switch P22. However, when the MAC address table of the virtual switch P22 is being rewritten and the packet is transferred to the virtual machine A, the packet may not be processed because the virtual machine A is stopped. This causes a momentary interruption due to migration.

情報処理システムP100A、P100Bのいずれにおいても、マイグレーションによる瞬断の時間は、10ミリ秒単位であり、TCPのタイムアウト内であるため、クライアント端末P4とのコネクションは維持される。また、瞬断中に損失されたパケットは、クライアント端末P4のTCPの再送機能によって再送処理が行われ、補完される。   In both of the information processing systems P100A and P100B, the instantaneous interruption time due to migration is in units of 10 milliseconds and is within the TCP timeout, so the connection with the client terminal P4 is maintained. Further, the packet lost during the momentary interruption is subjected to a retransmission process by the TCP retransmission function of the client terminal P4 and complemented.

しかしながら、ネットワークが高速化、大容量化すると、10ミリ秒単位の瞬断中にロスされるデータ量も多くなる。例えば、10ミリ秒の瞬断が発生した場合、100Mbpsの回線では最大約1Mビット、1Gの回線では最大約10Mビット、10Gの回線では最大約100Mビットものデータが損失される。クライアント端末P4のセッションが、例えば、動画のストリーミングのセッション等、遅延に敏感なセッションである場合には、マイグレーションによる瞬断によって、クライアント端末P4のユーザに与える影響が
大きくなる可能性がある。
However, as the network speeds up and increases in capacity, the amount of data lost during an instantaneous interruption in units of 10 milliseconds also increases. For example, when an instantaneous interruption of 10 milliseconds occurs, a maximum of about 1 Mbit is lost for a 100 Mbps line, and a maximum of about 100 Mbit is lost for a 10 G line. When the session of the client terminal P4 is a session that is sensitive to delay, such as a video streaming session, for example, there is a possibility that the influence on the user of the client terminal P4 is increased due to an instantaneous interruption due to migration.

<第1実施形態>
第1実施形態では、パケット監視アクセラレータが、仮想マシンの起動及び停止を制御する。パケット監視アクセラレータは、マイグレーション先の仮想マシンの起動完了を、マイグレーション元の仮想マシンとマイグレーション先の仮想マシンとからの対応するパケットの受信時刻の差分に基づいて判定する。対応するパケットとは、受信時刻の比較対象となる、マイグレーション元の仮想マシンによって処理されたパケットと、マイグレーション先の仮想マシンによって処理されたパケットと、である。第1実施形態では、パケット監視アクセラレータは、クライアント端末からのパケットをコピーして、マイグレーション元及びマイグレーション先の仮想マシンに出力する。マイグレーション元及びマイグレーション先の仮想マシンは、同じ内容のパケットに対して同じ処理を実行して、処理の実行結果としてパケットをパケット監視アクセラレータに出力する。したがって、マイグレーション元及びマイグレーション先の仮想マシンとからの対応するパケットは、第1実施形態では、マイグレーション元及びマイグレーション先の仮想マシンによる同じパケットに対する同じ処理の実行結果としてのパケットである。
<First Embodiment>
In the first embodiment, the packet monitoring accelerator controls the start and stop of the virtual machine. The packet monitoring accelerator determines completion of activation of the migration destination virtual machine based on a difference in reception times of corresponding packets from the migration source virtual machine and the migration destination virtual machine. The corresponding packets are a packet processed by the migration source virtual machine and a packet processed by the migration destination virtual machine, which are reception time comparison targets. In the first embodiment, the packet monitoring accelerator copies a packet from the client terminal and outputs it to the migration source and migration destination virtual machines. The migration source and migration destination virtual machines execute the same processing on packets having the same contents, and output the packets to the packet monitoring accelerator as the execution results of the processing. Therefore, in the first embodiment, the corresponding packets from the migration source and migration destination virtual machines are packets that are the result of executing the same processing on the same packets by the migration source and migration destination virtual machines.

マイグレーション先の仮想マシンの起動完了を判定するまでの間は、パケット監視アクセラレータは、マイグレーション元の仮想マシンから受信したパケットを出力する。マイグレーション先の仮想マシンの起動完了を判定すると、パケット監視アクセラレータは、マイグレーション元の仮想マシンを停止し、マイグレーション先の仮想マシンから受信したパケットを出力する。これによって、パケット監視アクセラレータは、マイグレーションによる通信の瞬断を抑制する。   Until the start of the migration destination virtual machine is determined, the packet monitoring accelerator outputs a packet received from the migration source virtual machine. When it is determined that the migration destination virtual machine has been started, the packet monitoring accelerator stops the migration source virtual machine and outputs a packet received from the migration destination virtual machine. As a result, the packet monitoring accelerator suppresses communication interruption due to migration.

図3は、第1実施形態に係る情報処理システムのシステム構成の一例を示す図である。図3に示される情報処理システム100Aは、異なるサーバ間でマイグレーションが行われるシステムである。情報処理システム100Aは、2台の物理サーバ2、スイッチ3A、スイッチ3Aとネットワークを介して接続するクライアント端末4を備える。2台の物理サーバ2は、それぞれ、スイッチ3Aと接続されている。なお、図3に示されるスイッチ3Aと各物理サーバ2との接続は、データ通信を行うための回線であり、図示されていないが、スイッチ3Aと各物理サーバ2とは、マイグレーションの制御のための回線でも接続されている。   FIG. 3 is a diagram illustrating an example of a system configuration of the information processing system according to the first embodiment. An information processing system 100A illustrated in FIG. 3 is a system in which migration is performed between different servers. The information processing system 100A includes two physical servers 2, a switch 3A, and a client terminal 4 connected to the switch 3A via a network. The two physical servers 2 are each connected to the switch 3A. The connection between the switch 3A and each physical server 2 shown in FIG. 3 is a line for performing data communication. Although not shown, the switch 3A and each physical server 2 are for migration control. It is also connected with the line.

2台の物理サーバ2は、物理サーバAと物理サーバBとである。これらの2台が区別されない場合には、物理サーバ2と表記される。物理サーバ2は、仮想マシン21と仮想スイッチ22とを備える。仮想マシン及び仮想スイッチについても、区別されない場合には、仮想マシン21及び仮想スイッチ22、と表記される。第1実施形態では、仮想マシンAがマイグレーション元、仮想マシンBがマイグレーション先と想定される。マイグレーション元の仮想マシンAは、「移行元のサーバ」の一例である。マイグレーション先の仮想マシンBは、「移行先のサーバ」の一例である。   The two physical servers 2 are a physical server A and a physical server B. When these two units are not distinguished, they are represented as a physical server 2. The physical server 2 includes a virtual machine 21 and a virtual switch 22. The virtual machine and the virtual switch are also expressed as a virtual machine 21 and a virtual switch 22 if they are not distinguished. In the first embodiment, it is assumed that the virtual machine A is the migration source and the virtual machine B is the migration destination. The migration source virtual machine A is an example of a “migration source server”. The migration destination virtual machine B is an example of a “migration destination server”.

異なる物理サーバ間でマイグレーションが行われる情報処理システム100Aでは、スイッチ3に、パケット監視アクセラレータ1が備えられる。スイッチ3に備えられるパケット監視アクセラレータ1は、「制御装置」の一例である。   In an information processing system 100A in which migration is performed between different physical servers, the switch 3 includes the packet monitoring accelerator 1. The packet monitoring accelerator 1 provided in the switch 3 is an example of a “control device”.

図4は、第1実施形態に係る他の一つの情報処理システムのシステム構成の一例を示す図である。図4に示される情報処理システム100Bは、同一の物理サーバ上でマイグレーションが行われる例である。情報処理システム100Bは、1台の物理サーバ2B、スイッチ3、スイッチ3とネットワークを介して接続するクライアント端末4を備える。物理サーバ2Bは、スイッチ3と接続されている。なお、図4に示されるスイッチ3と物理
サーバ2Bとの接続は、データ通信を行うための回線であり、図示されていないが、スイッチ3と物理サーバ2とは、マイグレーションの制御のための回線でも接続されている。
FIG. 4 is a diagram illustrating an example of a system configuration of another information processing system according to the first embodiment. The information processing system 100B illustrated in FIG. 4 is an example in which migration is performed on the same physical server. The information processing system 100B includes one physical server 2B, a switch 3, and a client terminal 4 connected to the switch 3 via a network. The physical server 2B is connected to the switch 3. The connection between the switch 3 and the physical server 2B shown in FIG. 4 is a line for performing data communication and is not shown, but the switch 3 and the physical server 2 are lines for controlling the migration. Even connected.

第1実施形態では、物理サーバ2Bは、仮想マシンA、仮想マシンBと、仮想スイッチに代えて、パケット監視アクセラレータ1と、を備える。仮想マシンについては、区別されない場合には、仮想マシン21と表記される。第1実施形態では、仮想マシンAがマイグレーション元、仮想マシンBがマイグレーション先と想定される。情報処理システム100Bにおいて、マイグレーション元の仮想マシンAは、「移行元のサーバ」の一例である。マイグレーション先の仮想マシンBは、「移行先のサーバ」の一例である。物理サーバ2Bに備えられるパケット監視アクセラレータ1は、「制御装置」の一例である。   In the first embodiment, the physical server 2B includes a virtual machine A, a virtual machine B, and a packet monitoring accelerator 1 instead of the virtual switch. A virtual machine is expressed as a virtual machine 21 when it is not distinguished. In the first embodiment, it is assumed that the virtual machine A is the migration source and the virtual machine B is the migration destination. In the information processing system 100B, the migration source virtual machine A is an example of a “migration source server”. The migration destination virtual machine B is an example of a “migration destination server”. The packet monitoring accelerator 1 provided in the physical server 2B is an example of a “control device”.

第1実施形態では、図3に示される情報処理システム100A、図4に示される情報処理システム100Bのどちらともが、適用システムとして想定される。   In the first embodiment, both the information processing system 100A shown in FIG. 3 and the information processing system 100B shown in FIG. 4 are assumed as application systems.

<装置構成>
図5は、情報処理システム100Aにおけるスイッチ3Aのインタフェースカードのハードウェア構成の一例である。情報処理システム100Aでは、スイッチ3Aにパケット監視アクセラレータ1が搭載されている。
<Device configuration>
FIG. 5 is an example of the hardware configuration of the interface card of the switch 3A in the information processing system 100A. In the information processing system 100A, the packet monitoring accelerator 1 is mounted on the switch 3A.

スイッチ3Aは、例えば、複数のインタフェースカードと、制御カードとを備える。いずれのインタフェースカードも同様のハードウェア構成を有する。インタフェースカードは、ハードウェア構成要素として、CPU(Central Processing Unit)301、メモリ
302、NIC(Network Interface Card)303、スイッチ(SW)部304を備え、これらはバスで接続されている。
The switch 3A includes, for example, a plurality of interface cards and a control card. All interface cards have the same hardware configuration. The interface card includes a CPU (Central Processing Unit) 301, a memory 302, a NIC (Network Interface Card) 303, and a switch (SW) unit 304 as hardware components, which are connected by a bus.

NIC 303は、複数のインタフェースポート、PHY/MAC(PHYsical/Media Access Control)チップ、NPU(Network Processing Unit)を備える。PHY/MACチップは、ネットワークインタフェースから入力された電気信号をビット列に変換し、ビット列からフレームを組み立てて、SW部304に出力する。NPUは、ネットワーク関連の処理を行うプロセッサである。   The NIC 303 includes a plurality of interface ports, a PHY / MAC (PHYsical / Media Access Control) chip, and an NPU (Network Processing Unit). The PHY / MAC chip converts an electrical signal input from the network interface into a bit string, assembles a frame from the bit string, and outputs the frame to the SW unit 304. The NPU is a processor that performs network-related processing.

パケット監視アクセラレータ1は、仮想マシンを搭載する物理サーバ2に接続するインタフェースポートを有するインタフェースカードのNIC 303に搭載される。パケット監視アクセラレータ1は、例えば、NIC 303に搭載されるNPUのモジュールの一つであり、NPU内のメモリに記録されるプログラムをNPU内のプロセッサが実行することによって達成される。または、パケット監視アクセラレータ1は、例えば、NIC
303に搭載されるFPGA(Field-Programmable Gate Array)によって実現されて
もよい。
The packet monitoring accelerator 1 is mounted on the NIC 303 of the interface card having an interface port connected to the physical server 2 on which the virtual machine is mounted. The packet monitoring accelerator 1 is one of NPU modules mounted on the NIC 303, for example, and is achieved by a processor in the NPU executing a program recorded in a memory in the NPU. Alternatively, the packet monitoring accelerator 1 is, for example, NIC
It may be realized by an FPGA (Field-Programmable Gate Array) mounted on the H.303.

スイッチ部304は、同一カード内のインタフェースポート間のスイッチング、カード間のスイッチングを行う。スイッチ部304は、図示されていないスイッチカードに接続している。他のカード内のインタフェースポートを出力先とするフレームは、スイッチ部304によってスイッチカードに転送され、スイッチカードから、出力先のインタフェースポートが存在するカードに転送される。   The switch unit 304 performs switching between interface ports in the same card and switching between cards. The switch unit 304 is connected to a switch card (not shown). A frame having an interface port in another card as an output destination is transferred to the switch card by the switch unit 304, and transferred from the switch card to a card having the output destination interface port.

メモリ302は、例えば、RAM(Random Access Memory)である。メモリ302は、用途によって、複数備えられていてもよい。例えば、パケットが一時的に格納されるパケット用メモリ、MACテーブル等を格納するアドレス用メモリ、プログラムやデータ等を格納するメモリ、等である。メモリ302には、OS(Operating System)、アプリケーション等が格納されている。   The memory 302 is, for example, a RAM (Random Access Memory). A plurality of memories 302 may be provided depending on applications. For example, a packet memory that temporarily stores packets, an address memory that stores a MAC table or the like, a memory that stores programs, data, or the like. The memory 302 stores an OS (Operating System), applications, and the like.

CPU 301は、スイッチ部304からパケットの入力を受ける。CPU 301は、メモリ302に保持されたOSや様々なアプリケーションプログラムを実行することによって、様々な処理を実行する。   The CPU 301 receives a packet input from the switch unit 304. The CPU 301 executes various processes by executing the OS and various application programs held in the memory 302.

制御カードには、CPU、メモリ等が搭載されている。制御カードは、各インタフェースカードの管理を行う。なお、スイッチ3のハードウェア構成は、図5に示されるものに限定されない。   A CPU, a memory, and the like are mounted on the control card. The control card manages each interface card. The hardware configuration of the switch 3 is not limited to that shown in FIG.

図6は、情報処理システム100Bにおける物理サーバ2Bのハードウェア構成の一例である。情報処理システム100Bでは、パケット監視アクセラレータ1は、物理サーバ2Bに搭載される。物理サーバ2Bは、専用のコンピュータである。   FIG. 6 is an example of a hardware configuration of the physical server 2B in the information processing system 100B. In the information processing system 100B, the packet monitoring accelerator 1 is mounted on the physical server 2B. The physical server 2B is a dedicated computer.

物理サーバ2Bは、CPU(Central Processing Unit)201、主記憶装置202、
入力装置203、出力装置204、補助記憶装置205、NIC 207を備える。また、これらはバス209により互いに接続されている。
The physical server 2B includes a CPU (Central Processing Unit) 201, a main storage device 202,
An input device 203, an output device 204, an auxiliary storage device 205, and a NIC 207 are provided. These are connected to each other by a bus 209.

入力装置203は、例えば、キーボード、マウス、操作ボタン、タッチパネル、キーパッド等である。入力装置203から入力されたデータは、CPU 201に出力される。出力装置204は、CPU 201の処理の結果を出力する。出力装置204は、ディスプレイ、プリンタを含む。   The input device 203 is, for example, a keyboard, a mouse, operation buttons, a touch panel, a keypad, and the like. Data input from the input device 203 is output to the CPU 201. The output device 204 outputs the processing result of the CPU 201. The output device 204 includes a display and a printer.

補助記憶装置205は、OS、様々なプログラムや、各プログラムの実行に際してCPU 201が使用するデータを格納する。補助記憶装置205は、仮想マシン21を実現するソフトウェア又はフレームワークを格納する。補助記憶装置205は、例えば、EPROM(Erasable Programmable ROM)、フラッシュメモリ、又はハードディスクドライ
ブ(Hard Disk Drive)等の不揮発性のメモリである。
The auxiliary storage device 205 stores the OS, various programs, and data used by the CPU 201 when executing each program. The auxiliary storage device 205 stores software or a framework that implements the virtual machine 21. The auxiliary storage device 205 is a nonvolatile memory such as an EPROM (Erasable Programmable ROM), a flash memory, or a hard disk drive.

主記憶装置202は、CPU 201に、補助記憶装置205に格納されているプログラムをロードする記憶領域および作業領域を提供したり、バッファとして用いられたりする記憶装置である。主記憶装置202は、例えば、ROM(Read Only Memory)、RAMのような半導体メモリを含む。   The main storage device 202 is a storage device that provides the CPU 201 with a storage area and a work area for loading a program stored in the auxiliary storage device 205, and is used as a buffer. The main storage device 202 includes, for example, a semiconductor memory such as a ROM (Read Only Memory) and a RAM.

CPU 201は、補助記憶装置205に保持されたOSや様々なアプリケーションプログラムを主記憶装置202にロードして実行することによって、様々な処理を実行する。CPU 201は、1つに限られず、複数備えられてもよい。CPU 201が、補助記憶装置205に格納されるソフトウェア又はフレームワークを実行することによって、物理サーバ2B上に仮想マシン21が実装される。   The CPU 201 executes various processes by loading the OS and various application programs held in the auxiliary storage device 205 into the main storage device 202 and executing them. The CPU 201 is not limited to one, and a plurality of CPUs 201 may be provided. When the CPU 201 executes software or a framework stored in the auxiliary storage device 205, the virtual machine 21 is mounted on the physical server 2B.

NIC 207は、ネットワークとの情報の入出力を行うインタフェースポート、PHY/MAC回路、NPU等を備える。パケット監視アクセラレータ1は、NIC 207に備えられるNPUのモジュールの一つであり、NPU内のメモリに記録されるプログラムをNPU内のプロセッサが実行することによって達成される。または、パケット監視アクセラレータ1は、NIC 207に搭載されるFPGAである。   The NIC 207 includes an interface port for inputting / outputting information to / from the network, a PHY / MAC circuit, an NPU, and the like. The packet monitoring accelerator 1 is one of NPU modules provided in the NIC 207, and is achieved by a processor in the NPU executing a program recorded in a memory in the NPU. Alternatively, the packet monitoring accelerator 1 is an FPGA mounted on the NIC 207.

なお、図6に示される物理サーバ2Bのハードウェア構成は、一例であり、上記に限られず、実施の形態に応じて適宜構成要素の省略や置換、追加が可能である。例えば、物理サーバ2Bは、可搬記録媒体駆動装置を備え、可搬記録媒体に記録されたプログラムを実行してもよい。可搬記録媒体は、例えば、SDカード、miniSDカード、microSDカード、USB(Universal Serial Bus)フラッシュメモリ、CD(Compact Disc)
、DVD(Digital Versatile Disc)、Blu−ray(登録商標) Disc、又はフラッシュメモリカードのような記録媒体である。
Note that the hardware configuration of the physical server 2B shown in FIG. 6 is an example, and is not limited to the above, and components can be omitted, replaced, or added as appropriate according to the embodiment. For example, the physical server 2B may include a portable recording medium driving device and execute a program recorded on the portable recording medium. Portable recording media include, for example, SD cards, miniSD cards, microSD cards, USB (Universal Serial Bus) flash memory, CD (Compact Disc)
, A recording medium such as a DVD (Digital Versatile Disc), a Blu-ray (registered trademark) Disc, or a flash memory card.

図7は、パケット監視アクセラレータ1の機能構成の一例を示す図である。パケット監視アクセラレータ1は、機能構成要素として、パケット監視部11、バッファ部12、ミラー部13、セレクタ14、パケット振分部15、パケットチェック部16、セレクタ17を備える。これらの機能構成要素は、例えば、スイッチ3A又は物理サーバ2BのNICに搭載されるFPGAにより実現される。または、これらの要素は、NPUのモジュールの一つとして実現される。   FIG. 7 is a diagram illustrating an example of a functional configuration of the packet monitoring accelerator 1. The packet monitoring accelerator 1 includes a packet monitoring unit 11, a buffer unit 12, a mirror unit 13, a selector 14, a packet sorting unit 15, a packet check unit 16, and a selector 17 as functional components. These functional components are realized by, for example, an FPGA mounted on the NIC of the switch 3A or the physical server 2B. Alternatively, these elements are realized as one of NPU modules.

パケット監視部11は、クライアント端末4からのパケットを受信し、パケットの流量を監視する。パケット監視部11は、例えば、パケットの宛先IPアドレス毎にパケットの流量を監視する。ただし、これに限られず、パケット監視部11は、パケットの宛先IPアドレス、宛先ポート番号、送信元IPアドレス、送信元ポート番号等のうちの複数の組合せごとにパケットの流量を監視してもよい。   The packet monitoring unit 11 receives a packet from the client terminal 4 and monitors the flow rate of the packet. For example, the packet monitoring unit 11 monitors the flow rate of the packet for each destination IP address of the packet. However, the present invention is not limited to this, and the packet monitoring unit 11 may monitor the packet flow rate for each of a plurality of combinations of the packet destination IP address, destination port number, source IP address, source port number, and the like. .

パケット監視部11は、単位時間当たりのパケットの流量に基づいて、仮想マシン21のマイグレーションの制御を行う。より具体的には、パケット監視部11は、コア増加設定閾値、コア減少設定閾値を用いて、マイグレーション先の仮想マシンの起動及び当該仮想マシンのコア数を決定する。マイグレーション先の仮想マシンの起動の決定により、マイグレーションが開始される。   The packet monitoring unit 11 controls migration of the virtual machine 21 based on the packet flow rate per unit time. More specifically, the packet monitoring unit 11 determines the activation of the migration destination virtual machine and the number of cores of the virtual machine using the core increase setting threshold and the core decrease setting threshold. Migration is started by determining the activation of the migration destination virtual machine.

パケット監視部11は、パケットの宛先の仮想マシン21についてマイグレーションが実行されている間は、当該パケットをバッファ部12に出力する。パケットの宛先の仮想マシン21についてマイグレーションが実行されていない場合には、パケット監視部11は、セレクタ14を通じて、宛先の仮想マシン21にパケットを出力する。パケット監視部11の処理の詳細は後述される。   The packet monitoring unit 11 outputs the packet to the buffer unit 12 while migration is being executed for the virtual machine 21 that is the destination of the packet. When the migration is not executed for the packet destination virtual machine 21, the packet monitoring unit 11 outputs the packet to the destination virtual machine 21 through the selector 14. Details of the processing of the packet monitoring unit 11 will be described later.

パケット監視部11は、仮想マシン21についてのマイグレーションについて、パケットチェック部16からマイグレーション完了通知の入力を受ける。パケット監視部11は、マイグレーション完了通知の入力を受けると、該当するマイグレーション元の仮想マシン21に動作停止の指示を送信する。パケット監視部11は、「制御部」の一例である。   For the migration of the virtual machine 21, the packet monitoring unit 11 receives a migration completion notification from the packet check unit 16. When receiving the migration completion notification, the packet monitoring unit 11 transmits an operation stop instruction to the corresponding migration source virtual machine 21. The packet monitoring unit 11 is an example of a “control unit”.

バッファ部12は、パケット監視部11からパケットの入力を受ける。バッファ部12は、宛先の仮想マシン21毎にバッファを備えている。バッファ部12が備えるバッファは、FIFO(First In First Out)キューである。バッファ部12は、バッファに所定時間パケットを滞留させ、当該所定時間が経過すると、当該パケットをミラー部13に出力する。   The buffer unit 12 receives a packet input from the packet monitoring unit 11. The buffer unit 12 includes a buffer for each destination virtual machine 21. The buffer provided in the buffer unit 12 is a FIFO (First In First Out) queue. The buffer unit 12 keeps the packet in the buffer for a predetermined time, and outputs the packet to the mirror unit 13 when the predetermined time elapses.

また、バッファ部12は、パケットの滞留時間をパケットチェック部16からの指示に従って設定する。パケットの滞留時間が長いほど、バッファのサイズは大きく設定される。バッファ部12は、「バッファ」の一例である。   Further, the buffer unit 12 sets the packet residence time in accordance with an instruction from the packet check unit 16. The longer the packet residence time, the larger the buffer size is set. The buffer unit 12 is an example of a “buffer”.

ミラー部13は、バッファ部12からパケットの入力を受ける。ミラー部13は、入力されたパケットをコピーして、マイグレーション元の仮想マシン21に転送されるパケットと、マイグレーション先の仮想マシン21に転送されるパケットとを用意する。ミラー部13は、それぞれのパケットに、仮想マシン21を識別するための識別ヘッダを付与して、マイグレーション元の仮想マシン21と、マイグレーション先の仮想マシン21とに、セレクタ14を通じて、出力する。ミラー部13は、「複製部」の一例である。   The mirror unit 13 receives a packet input from the buffer unit 12. The mirror unit 13 copies the input packet and prepares a packet to be transferred to the migration source virtual machine 21 and a packet to be transferred to the migration destination virtual machine 21. The mirror unit 13 adds an identification header for identifying the virtual machine 21 to each packet, and outputs the packet to the migration source virtual machine 21 and the migration destination virtual machine 21 through the selector 14. The mirror unit 13 is an example of a “replication unit”.

例えば、各仮想マシン21は、互いに異なるVLAN(Virtual Local Area)に属し、パケット監視アクセラレータ1を搭載する装置は、それぞれのVLANに接続するインタフェースを有している。仮想マシン21が互いに異なるVLANに属している場合には、ミラー部13によってパケットに付与される識別ヘッダには、VLAN IDが含まれる。   For example, each virtual machine 21 belongs to a different VLAN (Virtual Local Area), and a device equipped with the packet monitoring accelerator 1 has an interface connected to each VLAN. When the virtual machines 21 belong to different VLANs, the identification header given to the packet by the mirror unit 13 includes the VLAN ID.

また、例えば、パケット監視アクセラレータ1を搭載する装置は、各仮想マシン21と通信トンネルを構築して接続されている。パケット監視アクセラレータ1を搭載する装置と各仮想マシン21とが通信トンネルによって接続されている場合には、ミラー部13によってパケットに付与される識別ヘッダには、トンネルIDが含まれる。   Further, for example, a device equipped with the packet monitoring accelerator 1 is connected to each virtual machine 21 by constructing a communication tunnel. When the apparatus equipped with the packet monitoring accelerator 1 and each virtual machine 21 are connected by a communication tunnel, the identification header given to the packet by the mirror unit 13 includes the tunnel ID.

なお、マイグレーション元の仮想マシン21とマイグレーション先の仮想マシン21とは、異なる仮想マシンであって、それぞれへのパケットには、異なる識別ヘッダが付与される。   Note that the migration-source virtual machine 21 and the migration-destination virtual machine 21 are different virtual machines, and different identification headers are given to the packets to each.

パケット振分部15は、仮想マシン21から、当該仮想マシン21によって処理されたパケットの入力を受ける。パケット振分部15は、パケットの送信元の仮想マシン21についてマイグレーションが実行中である場合には、当該パケットをパケットチェック部16に出力する。パケットの送信元の仮想マシン21についてマイグレーションが実行中でない場合には、当該パケットをネットワーク側へ、セレクタ17を通じて、出力する。   The packet distribution unit 15 receives an input of a packet processed by the virtual machine 21 from the virtual machine 21. The packet distribution unit 15 outputs the packet to the packet check unit 16 when migration is being executed for the virtual machine 21 that is the transmission source of the packet. If migration is not being executed for the virtual machine 21 that is the source of the packet, the packet is output to the network side through the selector 17.

パケット振分部15は、例えば、マイグレーション元の仮想マシン21とマイグレーション先の仮想マシン21との対応についての情報を、他の機能構成要素と共有して、保持している。また、仮想マシン21からのパケットには識別ヘッダが付与されている。したがって、パケット振分部15は、パケットに付与されている識別ヘッダに基づいて、マイグレーション中の仮想マシン21からのパケットか否かを判定する。   The packet distribution unit 15 holds, for example, information on the correspondence between the migration source virtual machine 21 and the migration destination virtual machine 21 by sharing it with other functional components. An identification header is added to the packet from the virtual machine 21. Therefore, the packet distribution unit 15 determines whether the packet is from the virtual machine 21 being migrated based on the identification header given to the packet.

また、パケット振分部15は、パケットチェック部16からマイグレーション完了通知の入力を受ける。マイグレーション完了通知の入力を受けると、パケット振分部15は、該当する仮想マシン21からのパケットの出力先を、パケットチェック部16からセレクタ17に切り替える。パケット振分部15は、「受信部」の一例である。   Further, the packet distribution unit 15 receives a migration completion notification from the packet check unit 16. Upon receiving the migration completion notification input, the packet distribution unit 15 switches the output destination of the packet from the corresponding virtual machine 21 from the packet check unit 16 to the selector 17. The packet distribution unit 15 is an example of a “reception unit”.

パケットチェック部16は、パケット振分部17から、マイグレーション元の仮想マシン21によって処理されたパケットと、マイグレーション先の仮想マシン21によって処理されたパケットと、の入力を受ける。パケットチェック部16は、入力されたパケットから識別ヘッダを除去する。また、パケットチェック部16は、入力されたパケットについて、受信時刻のタイムスタンプを取得する。また、パケットチェック部16は、入力されたパケットについて、パケット識別子を求める。パケット識別子は、例えば、ハッシュ計算により算出されハッシュ値である。   The packet check unit 16 receives from the packet distribution unit 17 an input of a packet processed by the migration source virtual machine 21 and a packet processed by the migration destination virtual machine 21. The packet check unit 16 removes the identification header from the input packet. Further, the packet check unit 16 acquires a time stamp of the reception time for the input packet. Further, the packet check unit 16 obtains a packet identifier for the input packet. The packet identifier is a hash value calculated by, for example, hash calculation.

パケットチェック部16は、マイグレーション元タイムスタンプリストを保持している。マイグレーション元タイムスタンプリストは、マイグレーション元の仮想マシン21によって処理されたパケットの受信時刻を記録するリストである。パケットチェック部16は、マイグレーション元の仮想マシン21からのパケットの、パケット識別子とタイムスタンプとを、マイグレーション元タイムスタンプリストに格納する。   The packet check unit 16 holds a migration source time stamp list. The migration source time stamp list is a list for recording the reception time of packets processed by the migration source virtual machine 21. The packet check unit 16 stores the packet identifier and time stamp of the packet from the migration source virtual machine 21 in the migration source time stamp list.

パケットチェック部16は、マイグレーション先の仮想マシン21によって処理されたパケットについて、マイグレーション元タイムスタンプリストを参照して、マイグレーション元の仮想マシン21からのパケットの受信時刻との差分を取得する。以降、マイグレーション元の仮想マシン21からのパケットの受信時刻とマイグレーション先の仮想マシ
ン21からのパケットの受信時刻との差分を、単に、受信時刻の差分、と称する。
The packet check unit 16 refers to the migration source time stamp list for the packet processed by the migration destination virtual machine 21 and acquires the difference from the reception time of the packet from the migration source virtual machine 21. Hereinafter, the difference between the packet reception time from the migration source virtual machine 21 and the packet reception time from the migration destination virtual machine 21 is simply referred to as a reception time difference.

マイグレーション先の仮想マシン21の起動処理中は、起動処理と並行してパケットの処理が行われるため、起動処理が完了している状態に比べると、応答時間が長くなる。すなわち、マイグレーション先の仮想マシン21の起動処理中は、受信時刻の差分が大きくなる。マイグレーション先の仮想マシン21の起動処理が完了すると、マイグレーション先の仮想マシン21は、より多くのリソースをパケットの処理に割り当てられるので、受信時刻の差分はほぼなくなる。あるいは、マイグレーション先の仮想マシン21の起動処理が完了すると、マイグレーション元の仮想マシン21からのパケットよりもマイグレーション先の仮想マシン21からのパケット方が先に入力される。   During the startup process of the migration destination virtual machine 21, the packet processing is performed in parallel with the startup process, so that the response time is longer than in the state where the startup process is completed. That is, the difference in the reception time becomes large during the activation process of the migration destination virtual machine 21. When the activation process of the migration destination virtual machine 21 is completed, the migration destination virtual machine 21 can allocate more resources for packet processing, and therefore there is almost no difference in reception time. Alternatively, when the activation process of the migration destination virtual machine 21 is completed, the packet from the migration destination virtual machine 21 is input before the packet from the migration source virtual machine 21.

したがって、受信時刻の差分が一致するとみなせる許容範囲内である場合には、マイグレーション先の仮想マシン21の起動処理が完了したとみなすことができる。パケットチェック部16は、受信時刻の差分が許容範囲内となった場合に、マイグレーションの完了通知を、パケット監視部11とパケット振分部15とに通知する。受信時刻の差分が許容範囲内であるか否かは、例えば、所定の閾値を用いて判定される。所定の閾値は、例えば、10μ秒である。ただし、受信時刻の差分についての閾値は、10μ秒に限定されず、例えば、マイグレーション先の仮想マシン21とマイグレーション元の仮想マシン21との性能差に応じた値に設定されてもよい。   Therefore, when the difference in the reception times is within an allowable range that can be regarded as matching, it can be considered that the activation process of the migration destination virtual machine 21 has been completed. The packet check unit 16 notifies the packet monitoring unit 11 and the packet distribution unit 15 of a migration completion notification when the difference in reception time falls within the allowable range. Whether or not the difference in reception time is within an allowable range is determined using, for example, a predetermined threshold. The predetermined threshold is, for example, 10 μsec. However, the threshold for the difference in reception time is not limited to 10 μs, and may be set to a value corresponding to the performance difference between the migration destination virtual machine 21 and the migration source virtual machine 21, for example.

パケットチェック部16は、マイグレーション先の仮想マシン21からのパケットを廃棄し、マイグレーション元の仮想マシン21からのパケットをセレクタ17に出力する。なお、パケット識別子はハッシュ値である。そのため、マイグレーション先の仮想マシン21からのパケットとパケット識別子が一致するエントリが、マイグレーション元タイムスタンプリストにあることによって、マイグレーション元及びマイグレーション先の仮想マシン21からのパケットが一致していることが担保される。   The packet check unit 16 discards the packet from the migration destination virtual machine 21 and outputs the packet from the migration source virtual machine 21 to the selector 17. The packet identifier is a hash value. Therefore, it is guaranteed that the packets from the migration source and migration destination virtual machines 21 match by having an entry whose packet identifier matches the packet from the migration destination virtual machine 21 in the migration source time stamp list. Is done.

また、パケットチェック部16は、受信時刻の差分に基づいて、バッファ部12のパケット滞留時間を設定する。パケットチェック部16は、受信時刻の差分が大きければ大きいほどバッファ部12のパケット滞留時間を長く設定し、受信時刻の差分が小さければ小さいほどバッファ部12のパケット滞留時間を短く設定する。より具体的には、パケットチェック部16は、受信時刻の差分に係数を乗じて、バッファ部12のバッファ量を算出する。パケットの滞留時間とバッファ量とは、パケットの滞留時間が長いほどバッファ量も大きくなるという関係であるので、バッファ部12のバッファ量Buffer(byte)として求められる。以下の数式は、バッファ部12のバッファ量の算出式である。バッファリング係数は、例えば、マイグレーション先及び/又はマイグレーション元の仮想マシン21の性能に応じて設定される。パケットチェック部16は、バッファ部12に、算出したバッファ量を通知する。

Figure 2018005664
Further, the packet check unit 16 sets the packet residence time of the buffer unit 12 based on the difference in reception time. The packet check unit 16 sets the packet residence time of the buffer unit 12 to be longer as the difference in reception time is larger, and sets the packet residence time of the buffer unit 12 to be shorter as the difference in reception time is smaller. More specifically, the packet check unit 16 calculates the buffer amount of the buffer unit 12 by multiplying the difference in reception time by a coefficient. The packet retention time and the buffer amount are obtained as the buffer amount Buffer (byte) of the buffer unit 12 because the buffer amount increases as the packet retention time increases. The following formula is a formula for calculating the buffer amount of the buffer unit 12. The buffering coefficient is set according to the performance of the migration destination and / or migration source virtual machine 21, for example. The packet check unit 16 notifies the buffer unit 12 of the calculated buffer amount.
Figure 2018005664

マイグレーション元の仮想マシン21は、起動処理を行っていないので、パケットの入力後すぐに当該パケットに対する処理を開始することができる。一方、マイグレーション先の仮想マシン21は、起動処理を行っているので、パケットの入力後当該パケットに対
する処理が起動処理によって待機させられる可能性がある。そのため、マイグレーション先の仮想マシン21によるパケットに対する処理は、マイグレーション元の仮想マシン21によるパケットに対する処理から遅れて開始される可能性がある。
Since the migration source virtual machine 21 has not performed the activation process, the process for the packet can be started immediately after the packet is input. On the other hand, since the migration-destination virtual machine 21 is performing the activation process, there is a possibility that the process for the packet is made to wait by the activation process after the packet is input. Therefore, there is a possibility that the process for the packet by the migration destination virtual machine 21 may be delayed after the process for the packet by the migration source virtual machine 21.

マイグレーション元の仮想マシン21宛てのパケットをバッファ部12にバッファリングすることによって、マイグレーション元及びマイグレーション先の仮想マシン21のパケットに対する処理の開始時点を一致させるようにすることができる。また、受信時刻の差に応じてバッファ部12の設定バッファ量を設定することによって、受信時刻の差が大きい場合にはバッファ部12にパケットがバッファリングされる時間も長くなる。受信時刻の差が大きいことは、マイグレーション先の仮想マシン21が起動処理に時間がかかっていることが示される。この場合、バッファ部12の設定バッファ量を大きくすることによって、マイグレーション先の仮想マシン21へのパケット入力を遅らせ、その分、マイグレーション先の仮想マシン21に起動処理をよりすすめさせることができる。結果として、マイグレーション先の仮想マシン21の起動処理の完了を早めることができる。パケットチェック部16は、「判定部」の一例である。   By buffering the packet addressed to the migration source virtual machine 21 in the buffer unit 12, it is possible to match the start time of processing for the packets of the migration source and migration destination virtual machines 21. Further, by setting the set buffer amount of the buffer unit 12 in accordance with the difference in reception time, the time for which packets are buffered in the buffer unit 12 becomes longer when the difference in reception time is large. A large difference in reception time indicates that the migration destination virtual machine 21 is taking a long time to start. In this case, by increasing the set buffer amount of the buffer unit 12, the packet input to the migration destination virtual machine 21 can be delayed, and the migration destination virtual machine 21 can be encouraged to start up accordingly. As a result, the completion of the activation process of the migration destination virtual machine 21 can be accelerated. The packet check unit 16 is an example of a “determination unit”.

セレクタ14、セレクタ17は、2つの入力経路と1つの出力経路を有し、いずれかの経路から入力されたパケットを出力経路から出力する。セレクタ14は、入力経路として、ミラー部13からの入力経路と、パケット監視部11からの入力経路とを有する。セレクタ14は、出力経路として、仮想マシン21への経路を有する。セレクタ17は、入力経路として、パケットチェック部17からの経路と、パケット振分部15からの経路と、を有する。セレクタ17は、出力経路として、ネットワークへの経路を有する。セレクタ17は、「送信部」の一例である。   The selector 14 and the selector 17 have two input paths and one output path, and output packets input from either path from the output path. The selector 14 has an input path from the mirror unit 13 and an input path from the packet monitoring unit 11 as input paths. The selector 14 has a path to the virtual machine 21 as an output path. The selector 17 has a route from the packet check unit 17 and a route from the packet sorting unit 15 as input routes. The selector 17 has a route to the network as an output route. The selector 17 is an example of a “transmission unit”.

以上より、マイグレーションの実行中でない仮想マシン21に係るパケットは、パケット監視部11、セレクタ14、パケット振分部15、セレクタ17の順で、パケット監視アクセラレータ1を通過する。マイグレーションが実行中の仮想マシン21に係るパケットは、パケット監視部11、バッファ部12、ミラー部13、セレクタ14、パケット振分部15、パケットチェック部16、セレクタ17の順で、パケット監視アクセラレータ1を通過する。   As described above, a packet related to the virtual machine 21 not being migrated passes through the packet monitoring accelerator 1 in the order of the packet monitoring unit 11, the selector 14, the packet distribution unit 15, and the selector 17. Packets related to the virtual machine 21 on which migration is being performed are packet monitoring accelerator 1 in the order of packet monitoring unit 11, buffer unit 12, mirror unit 13, selector 14, packet distribution unit 15, packet check unit 16, and selector 17. Pass through.

図8は、マイグレーション元タイムスタンプリストの一例である。マイグレーション元タイムスタンプリストは、マイグレーション元の仮想マシン21からのパケットの受信タイムスタンプの記録を保持する。マイグレーション元タイムスタンプリストは、例えば、パケット監視アクセラレーション1が搭載されるNPUに備えられるメモリに格納されている。   FIG. 8 is an example of a migration source time stamp list. The migration source time stamp list holds a record of the reception time stamp of the packet from the migration source virtual machine 21. The migration source time stamp list is stored, for example, in a memory provided in the NPU in which the packet monitoring acceleration 1 is installed.

マイグレーション元タイムスタンプリストのエントリには、例えば、受信パケット識別子、受信タイムスタンプ上位、受信タイムスタンプ下位の項目が含まれる。「受信パケット識別子」の項目には、マイグレーション元の仮想マシン21からの受信パケットのパケット識別子が格納される。例えば、パケット識別子は、ハッシュ計算によって求められる4ビットのハッシュ値である。ただし、ハッシュ値の長さは、4ビットに限定されない。パケット識別子をハッシュ値として求めることによって、マイグレーション元タイムスタンプリストの検索時間を短縮させることができる。また、パケット識別子が一致する場合には、パケットのデータが一致していることが担保される。   The entry of the migration source time stamp list includes, for example, items of a received packet identifier, a higher reception time stamp, and a lower reception time stamp. The item “received packet identifier” stores the packet identifier of the received packet from the migration source virtual machine 21. For example, the packet identifier is a 4-bit hash value obtained by hash calculation. However, the length of the hash value is not limited to 4 bits. By obtaining the packet identifier as a hash value, the search time for the migration source time stamp list can be shortened. If the packet identifiers match, it is ensured that the packet data match.

「受信タイムスタンプ上位」の項目には、受信タイムスタンプの小数点より前の値が格納される。「受信タイムスタンプ下位」の項目には、受信タイプスタンプの小数点以下の値が格納される。「受信タイムスタンプ上位」、「受信タイムスタンプ下位」の項目のいずれも、単位は、秒(s)である。   A value before the decimal point of the reception time stamp is stored in the item “Reception Time Stamp Higher”. In the item “reception time stamp lower”, a value after the decimal point of the reception type stamp is stored. The unit of each of the items “reception time stamp upper” and “reception time stamp lower” is seconds (s).

ただし、マイグレーション元タイムスタンプリストのエントリの項目は、図7に示されるものに限定されず、実施の形態によって、適宜変更可能である。パケット識別子は、パケットの「識別情報」の一例である。   However, the entry items of the migration source time stamp list are not limited to those shown in FIG. 7, and can be appropriately changed according to the embodiment. The packet identifier is an example of “identification information” of the packet.

<処理の流れ>
図9は、パケット監視部11の処理のフローチャートの一例である。パケット監視部11は、パケットを受信すると、図9に示される処理を開始する。
<Process flow>
FIG. 9 is an example of a flowchart of processing of the packet monitoring unit 11. When receiving the packet, the packet monitoring unit 11 starts the processing shown in FIG.

OP11では、パケット監視部11は、クライアント端末4からのパケットを受信する。OP12では、パケット監視部11は、受信パケットの宛先の仮想マシン21についてマイグレーションが実行中であるか否かを判定する。この判定は、例えば、他の機能構成と共有する、マイグレーション元の仮想マシン21とマイグレーション先の仮想マシン21との対応についての情報に基づいて行われる。   In OP11, the packet monitoring unit 11 receives a packet from the client terminal 4. In OP12, the packet monitoring unit 11 determines whether migration is being executed for the destination virtual machine 21 of the received packet. This determination is performed based on, for example, information about the correspondence between the migration source virtual machine 21 and the migration destination virtual machine 21 that is shared with other functional configurations.

受信パケットの宛先の仮想マシン21についてマイグレーションの実行中である場合には(OP12:YES)、処理がOP20に進む。受信パケットの宛先の仮想マシン21についてマイグレーションの実行中でない場合には(OP12:NO)、処理がOP13に進む。   When migration is being executed for the destination virtual machine 21 of the received packet (OP12: YES), the process proceeds to OP20. If migration is not being executed for the destination virtual machine 21 of the received packet (OP12: NO), the process proceeds to OP13.

OP13では、パケット監視部11は、当該仮想マシン21宛ての単位時間当たりのパケット受信量がコア数増加閾値より大きいか否かを判定する。当該仮想マシン21宛ての単位時間当たりのパケット受信量がコア数増加閾値より大きい場合には(OP13:YES)、処理がOP14に進む。当該仮想マシン21宛ての単位時間当たりのパケット受信量がコア数増加閾値以下である場合には(OP13:NO)、処理がOP15に進む。   In OP13, the packet monitoring unit 11 determines whether or not the packet reception amount per unit time addressed to the virtual machine 21 is larger than the core number increase threshold. If the amount of packets received per unit time addressed to the virtual machine 21 is greater than the core number increase threshold (OP13: YES), the process proceeds to OP14. If the amount of packets received per unit time addressed to the virtual machine 21 is equal to or smaller than the core number increase threshold (OP13: NO), the process proceeds to OP15.

OP14の処理は、当該仮想マシン21宛ての単位時間当たりのパケット受信量がコア数増加閾値より大きい場合の処理である。OP14では、パケット監視部11は、マイグレーション先となる新たに起動する仮想マシン21のコア数を、マイグレーション元となる既存の仮想マシン21のコア数より増加させた数に設定する。コア数の増加分は、予め固定値で設定されていてもよいし、単位時間当たりのパケット受信量に基づいて決定されてもよい。   The process of OP14 is a process when the amount of received packets per unit time addressed to the virtual machine 21 is larger than the core number increase threshold. In OP14, the packet monitoring unit 11 sets the number of cores of the newly started virtual machine 21 that is the migration destination to a number that is greater than the number of cores of the existing virtual machine 21 that is the migration source. The increase in the number of cores may be set in advance as a fixed value, or may be determined based on the amount of received packets per unit time.

OP15〜OP17の処理は、当該仮想マシン21宛ての単位時間当たりのパケット受信量がコア数増加閾値以下である場合の処理である。OP15では、パケット監視部11は、当該仮想マシン21宛ての単位時間当たりのパケット受信量がコア数減少閾値より大きいか否かを判定する。当該仮想マシン21宛ての単位時間当たりのパケット受信量がコア数減少閾値より大きい場合には(OP15:YES)、処理がOP16に進む。当該仮想マシン21宛ての単位時間当たりのパケット受信量がコア数減少閾値以下である場合には(OP15:NO)、処理がOP17に進む。   The processing of OP15 to OP17 is processing when the packet reception amount per unit time addressed to the virtual machine 21 is equal to or less than the core number increase threshold. In OP15, the packet monitoring unit 11 determines whether or not the amount of received packets per unit time addressed to the virtual machine 21 is greater than the core number reduction threshold. When the packet reception amount per unit time addressed to the virtual machine 21 is larger than the core number decrease threshold (OP15: YES), the process proceeds to OP16. If the amount of packets received per unit time addressed to the virtual machine 21 is equal to or less than the core number decrease threshold (OP15: NO), the process proceeds to OP17.

OP16の処理は、当該仮想マシン21宛ての単位時間当たりのパケット受信量がコア数増加閾値以下であり、且つ、コア数減少閾値より大きい場合の処理である。OP16では、パケット監視部11は、セレクタ14にパケットを出力する。パケットは、セレクタ14を通じて、宛先の仮想マシン21に出力される。その後、図9に示される処理が終了する。   The process of OP16 is a process when the amount of received packets per unit time addressed to the virtual machine 21 is equal to or smaller than the core number increase threshold and greater than the core number decrease threshold. In OP16, the packet monitoring unit 11 outputs the packet to the selector 14. The packet is output to the destination virtual machine 21 through the selector 14. Thereafter, the process shown in FIG. 9 ends.

OP17では、パケット監視部11は、マイグレーション先となる新たに起動する仮想マシン21のコア数を、マイグレーション元となる既存の仮想マシン21のコア数より減少させた数に設定する。コア数の減少分は、予め固定値で設定されていてもよいし、単位
時間当たりのパケット受信量に基づいて決定されてもよい。
In OP17, the packet monitoring unit 11 sets the number of cores of the newly started virtual machine 21 that is the migration destination to a number that is less than the number of cores of the existing virtual machine 21 that is the migration source. The decrease in the number of cores may be set in advance as a fixed value, or may be determined based on the amount of received packets per unit time.

OP18では、パケット監視部11は、新たな仮想マシン21を搭載する物理サーバ2に対して、起動指示を送信する。起動指示には、コア数の設定も含まれる。OP19では、パケット監視部11は、既存の仮想マシン21を搭載する物理サーバ2に対して、マイグレーションの開始指示を送信する。   In OP18, the packet monitoring unit 11 transmits an activation instruction to the physical server 2 on which the new virtual machine 21 is mounted. The start instruction includes setting of the number of cores. In OP19, the packet monitoring unit 11 transmits a migration start instruction to the physical server 2 on which the existing virtual machine 21 is mounted.

OP20では、パケット監視部11は、バッファ部12にパケットを出力する。その後、図9に示される処理が終了する。   In OP20, the packet monitoring unit 11 outputs the packet to the buffer unit 12. Thereafter, the process shown in FIG. 9 ends.

図10は、バッファ部12の処理のフローチャートの一例である。図10に示される処理は、バッファ部12にパケットが入力されると開始される。   FIG. 10 is an example of a flowchart of processing of the buffer unit 12. The process shown in FIG. 10 is started when a packet is input to the buffer unit 12.

OP31では、バッファ部12にパケットを受信する。OP32では、バッファ部12は、現在のバッファ量に受信パケットのサイズを加算した値が設定バッファ量未満であるか否かを判定する。現在のバッファ量に受信パケットのサイズを加算した値が設定バッファ量未満である場合には(OP32:YES)、処理がOP33に進む。現在のバッファ量に受信パケットのサイズを加算した値が設定バッファ量より大きい場合には(OP32:NO)、処理がOP34に進む。   In OP31, the buffer unit 12 receives the packet. In OP32, the buffer unit 12 determines whether the value obtained by adding the size of the received packet to the current buffer amount is less than the set buffer amount. If the value obtained by adding the size of the received packet to the current buffer amount is less than the set buffer amount (OP32: YES), the process proceeds to OP33. If the value obtained by adding the size of the received packet to the current buffer amount is larger than the set buffer amount (OP32: NO), the process proceeds to OP34.

OP33の処理は、現在のバッファ量に受信パケットのサイズを加算した値が設定バッファ量未満である場合の処理である。OP33では、バッファ部12は、受信パケットをバッファリングする。   The processing of OP33 is processing when the value obtained by adding the size of the received packet to the current buffer amount is less than the set buffer amount. In OP33, the buffer unit 12 buffers the received packet.

OP34の処理は、現在のバッファ量に受信パケットのサイズを加算した値が設定バッファ量より大きい場合の処理である。OP34では、バッファ部12は、バッファリングされているパケットのうち、最も古いパケットをミラー部13に出力する。   The process of OP34 is a process when the value obtained by adding the size of the received packet to the current buffer amount is larger than the set buffer amount. In OP34, the buffer unit 12 outputs the oldest packet among the buffered packets to the mirror unit 13.

OP35では、バッファ部12には、バッファ量を、現在のバッファ量に受信パケットのサイズを加算した値に更新する。その後、図10に示される処理が終了する。   In OP35, the buffer unit 12 updates the buffer amount to a value obtained by adding the size of the received packet to the current buffer amount. Thereafter, the process shown in FIG. 10 ends.

図11は、ミラー部13の処理のフローチャートの一例である。図11に示される処理は、ミラー部13にパケットが入力されると開始される。   FIG. 11 is an example of a flowchart of processing of the mirror unit 13. The process shown in FIG. 11 is started when a packet is input to the mirror unit 13.

OP41では、ミラー部13は、パケットを受信する。OP42では、ミラー部13は、受信パケットのコピーを作成して、2つのパケットを取得する(パケットミラーリング)。OP43では、ミラー部13は、2つのパケットのうち1つのパケットにマイグレーション元の仮想マシン21の識別ヘッダを付与し、もう一つのパケットにマイグレーション先の仮想マシン21の識別ヘッダを付与する。OP44では、ミラー部13は、2つのパケットを、セレクタ14に出力する。2つのパケットのうち1つのパケットはマイグレーション元の仮想マシン21に出力される。もう一つのパケットは、マイグレーション先の仮想マシン21に出力される。その後、図11に示される処理が終了する。   In OP41, the mirror unit 13 receives the packet. In OP42, the mirror unit 13 creates a copy of the received packet and acquires two packets (packet mirroring). In OP43, the mirror unit 13 adds the identification header of the migration source virtual machine 21 to one of the two packets, and adds the identification header of the migration destination virtual machine 21 to the other packet. In OP44, the mirror unit 13 outputs two packets to the selector 14. One of the two packets is output to the migration source virtual machine 21. Another packet is output to the migration destination virtual machine 21. Thereafter, the process shown in FIG. 11 ends.

図12は、パケット振分部15の処理のフローチャートの一例である。図12に示される処理は、パケット振分部15にパケットが入力されると開始される。   FIG. 12 is an example of a flowchart of processing of the packet distribution unit 15. The process shown in FIG. 12 is started when a packet is input to the packet distribution unit 15.

OP51では、パケット振分部15は、仮想マシン21による処理結果としてのパケットを受信する。仮想マシン21による処理結果としてのパケットには、仮想マシン21によって、当該パケットに対応する入力パケットと同じ識別ヘッダが付与されている。   In OP51, the packet distribution unit 15 receives a packet as a processing result by the virtual machine 21. The packet as the processing result by the virtual machine 21 is given the same identification header as the input packet corresponding to the packet by the virtual machine 21.

OP52では、パケット振分部15は、受信パケットの送信元の仮想マシン21について、マイグレーションが実行中であるか否かを判定する。受信パケットの送信元の仮想マシン21について、マイグレーションが実行中であるか否かは、例えば、他の機能構成要素と共有するマイグレーション元及びマイグレーション先の仮想マシンの対応付けに関する情報に基づいて判定される。または、例えば、図8のOP19において、パケット監視部11がマイグレーション開始通知をパケット振分部15にも通知するようにし、パケット振分部15は、マイグレーション開始通知及びマイグレーション完了通知に基づいて判定してもよい。   In OP52, the packet distribution unit 15 determines whether migration is being executed for the virtual machine 21 that is the transmission source of the received packet. Whether or not the migration is being executed for the virtual machine 21 that is the transmission source of the received packet is determined based on, for example, information related to the association between the migration source and the migration destination virtual machine shared with other functional components. The Alternatively, for example, in OP19 in FIG. 8, the packet monitoring unit 11 notifies the packet distribution unit 15 of the migration start notification, and the packet distribution unit 15 makes a determination based on the migration start notification and the migration completion notification. May be.

受信パケットの送信元の仮想マシン21について、マイグレーションが実行中である場合には(OP52:YES)、処理がOP53に進む。受信パケットの送信元の仮想マシン21について、マイグレーションが実行中でない場合には(OP52:NO)、処理がOP54に進む。   If migration is being executed for the virtual machine 21 that is the transmission source of the received packet (OP52: YES), the process proceeds to OP53. If migration is not being executed for the virtual machine 21 that is the transmission source of the received packet (OP52: NO), the process proceeds to OP54.

OP53の処理は、受信パケットの送信元の仮想マシン21について、マイグレーションが実行中である場合の処理である。OP53では、パケット振分部15は、受信パケットをパケットチェック部16に出力する。その後、図12に示される処理が終了する。   The processing of OP53 is processing when migration is being executed for the virtual machine 21 that is the transmission source of the received packet. In OP53, the packet sorting unit 15 outputs the received packet to the packet check unit 16. Thereafter, the process shown in FIG. 12 ends.

OP54の処理は、受信パケットの送信元の仮想マシン21について、マイグレーションが実行中でない場合の処理である。OP54では、パケット振分部15は、セレクタ17に受信パケットを出力する。受信パケットは、ネットワークへ出力される。その後、図12に示される処理が終了する。   The processing of OP54 is processing when migration is not being executed for the virtual machine 21 that is the transmission source of the received packet. In OP54, the packet sorting unit 15 outputs the received packet to the selector 17. The received packet is output to the network. Thereafter, the process shown in FIG. 12 ends.

図13A、図13B、及び、図13Cは、パケットチェック部16の処理のフローチャートの一例である。図13Aの処理は、パケットチェック部16にパケットが入力されると開始される。   13A, 13B, and 13C are examples of flowcharts of processing of the packet check unit 16. FIG. The process of FIG. 13A is started when a packet is input to the packet check unit 16.

OP61では、パケットチェック部16は、パケットを受信する。OP62では、パケットチェック部16は、受信パケットから識別ヘッダを除去する。OP63では、パケットチェック部16は、受信パケットのタイムスタンプを取得する。OP64では、パケットチェック部16は、受信パケットからパケット識別子を算出する。次に、処理が図13BのOP71に進む。   In OP61, the packet check unit 16 receives a packet. In OP62, the packet check unit 16 removes the identification header from the received packet. In OP63, the packet check unit 16 acquires the time stamp of the received packet. In OP64, the packet check unit 16 calculates a packet identifier from the received packet. Next, the process proceeds to OP71 in FIG. 13B.

OP71では、パケットチェック部16は、受信パケットがマイグレーション元(移行元)の仮想マシン21からのパケットであるか否かを判定する。受信パケットがマイグレーション元の仮想マシン21からのパケットである場合には(OP71:YES)、処理がOP72に進む。受信パケットがマイグレーション元の仮想マシン21からのパケットである場合には(OP71:NO)、処理がOP74に進む。   In OP71, the packet check unit 16 determines whether the received packet is a packet from the migration source (migration source) virtual machine 21 or not. If the received packet is from the migration source virtual machine 21 (OP71: YES), the process proceeds to OP72. If the received packet is from the migration source virtual machine 21 (OP71: NO), the process proceeds to OP74.

OP72、OP73は、受信パケットがマイグレーション元の仮想マシン21からのパケットである場合の処理である。OP72では、パケットチェック部16は、受信パケットについて、マイグレーション元タイムスタンプリスト(移行元TSリスト)にエントリを登録し、マイグレーション元タイムスタンプリストを更新する。   OP 72 and OP 73 are processes when the received packet is a packet from the migration source virtual machine 21. In OP72, the packet check unit 16 registers an entry in the migration source time stamp list (migration source TS list) for the received packet, and updates the migration source time stamp list.

OP73では、パケットチェック部16は、受信パケットをセレクタ17に出力する。パケットは、セレクタ17からネットワークに出力される。その後、図13Bに示される処理が終了する。   In OP73, the packet check unit 16 outputs the received packet to the selector 17. The packet is output from the selector 17 to the network. Thereafter, the process illustrated in FIG. 13B ends.

OP74以降の処理は、受信パケットがマイグレーション先の仮想マシン21からのパケットである場合の処理である。OP74では、パケットチェック部16は、マイグレー
ション元タイムスタンプリストを、受信パケットのパケット識別子で検索する。
The processing after OP74 is processing when the received packet is a packet from the migration destination virtual machine 21. In OP74, the packet check unit 16 searches the migration source time stamp list with the packet identifier of the received packet.

OP75では、パケットチェック部16は、マイグレーション元タイムスタンプリストに受信パケットのパケット識別子と一致するエントリがあるか否かを判定する。マイグレーション元タイムスタンプリストに受信パケットのパケット識別子と一致するエントリがある場合には(OP75:YES)、処理がOP76に進む。マイグレーション元タイムスタンプリストに受信パケットのパケット識別子と一致するエントリがない場合には(OP75:NO)、処理が図13CのOP81に進む。   In OP75, the packet check unit 16 determines whether there is an entry that matches the packet identifier of the received packet in the migration source time stamp list. If there is an entry that matches the packet identifier of the received packet in the migration source time stamp list (OP75: YES), the process proceeds to OP76. If there is no entry that matches the packet identifier of the received packet in the migration source time stamp list (OP75: NO), the process proceeds to OP81 in FIG. 13C.

OP76〜OP80の処理は、マイグレーション元タイムスタンプリストに受信パケトのパケット識別子と一致するエントリがある場合の処理である。マイグレーション元タイムスタンプリストに受信パケットのパケット識別子と一致するエントリがあることは、マイグレーション元の仮想マシン21からの受信パケットと同一のパケットがすでに受信されていることが示される。   The processing of OP76 to OP80 is processing when there is an entry that matches the packet identifier of the received packet in the migration source time stamp list. The presence of an entry that matches the packet identifier of the received packet in the migration source time stamp list indicates that the same packet as the received packet from the migration source virtual machine 21 has already been received.

OP76では、パケットチェック部16は、マイグレーション元タイムスタンプリストの受信パケットのパケット識別子と一致するエントリの受信時刻のタイムスタンプと、受信パケットの受信時刻のタイムスタンプとの差分が許容範囲内であるか否かを判定する。受信時刻の差分が許容範囲内である場合には(OP76:YES)、処理がOP79に進む。受信時刻の差分が許容範囲外である場合に(OP76:NO)、処理がOP77に進む。   In OP76, the packet check unit 16 determines whether the difference between the reception time stamp of the entry matching the packet identifier of the received packet in the migration source time stamp list and the reception time stamp of the received packet is within an allowable range. Determine whether or not. If the difference in reception time is within the allowable range (OP76: YES), the process proceeds to OP79. If the difference in reception time is outside the allowable range (OP76: NO), the process proceeds to OP77.

OP77、OP78の処理は、受信時刻の差分が許容範囲外である場合の処理である。受信時刻の差分が許容範囲外であることによって、マイグレーション先の仮想マシン21の起動処理が終了していないことが示される。   The processing of OP77 and OP78 is processing when the difference in reception time is outside the allowable range. If the difference in reception time is outside the allowable range, it indicates that the activation process of the migration destination virtual machine 21 has not been completed.

OP77では、パケットチェック部16は、受信時刻の差分(TS差分)に応じて、バッファ部12の設定バッファ量を設定する。受信時刻の差分が大きいほど、設定バッファ量が大きくなり、受信時刻の差分が小さいほど設定バッファ量が小さくなるように、設定バッファ量は設定される。第1実施形態では、バッファ部12の設定バッファ量は、受信時刻の差分にバッファリング係数を乗じて算出される。OP78では、パケットチェック部16は、バッファ部12に設定バッファ量を通知する。   In OP77, the packet check unit 16 sets the set buffer amount of the buffer unit 12 according to the difference in reception time (TS difference). The set buffer amount is set such that the set buffer amount increases as the difference in reception time increases, and the set buffer amount decreases as the difference in reception time decreases. In the first embodiment, the set buffer amount of the buffer unit 12 is calculated by multiplying the difference in reception time by the buffering coefficient. In OP78, the packet check unit 16 notifies the buffer unit 12 of the set buffer amount.

OP79は、受信時刻の差分が許容範囲内である場合の処理である。受信時刻の差分が許容範囲内であることによって、マイグレーション先の仮想マシン21の起動処理が完了したことを示される。   OP79 is a process when the difference in reception time is within an allowable range. If the difference in the reception times is within the allowable range, it indicates that the activation process of the migration destination virtual machine 21 has been completed.

OP79では、パケットチェック部16は、パケット監視部11とパケット振分部15とに、マイグレーション完了通知を出力する。   In OP79, the packet check unit 16 outputs a migration completion notification to the packet monitoring unit 11 and the packet distribution unit 15.

OP80では、パケットチェック部16は、受信パケットを廃棄する。なお、OP80において、受信パケットとは、マイグレーション先の仮想マシン21からのパケットである。その後、図13Bに示される処理が終了する。   In OP80, the packet check unit 16 discards the received packet. In OP80, the received packet is a packet from the migration destination virtual machine 21. Thereafter, the process illustrated in FIG. 13B ends.

図13CのOP81〜OP84は、マイグレーション元タイムスタンプリストに受信パケトのパケット識別子と一致するエントリがない場合の処理である。マイグレーション元タイムスタンプリストに受信パケットのパケット識別子と一致するエントリがないことは、マイグレーション元の仮想マシン21からの受信パケットと同一のパケットがまだ受信されていないことを示す。または、例えば、エラー等によって、マイグレーション元の仮想マシン21からの受信パケットとマイグレーション先の仮想マシン21からの受信パケ
ットとが一致しないことが示される。
OP81 to OP84 in FIG. 13C are processes when there is no entry that matches the packet identifier of the received packet in the migration source time stamp list. The absence of an entry that matches the packet identifier of the received packet in the migration source time stamp list indicates that the same packet as the received packet from the migration source virtual machine 21 has not yet been received. Alternatively, for example, an error or the like indicates that the received packet from the migration source virtual machine 21 does not match the received packet from the migration destination virtual machine 21.

OP81では、パケットチェック部16は、マイグレーション元の仮想マシン21からのパケットの到着を待機する。OP82では、パケットチェック部16は、OP61で受信したパケットのパケット識別子と一致するパケット識別子を有するパケットを受信したか否かを判定する。   In OP81, the packet check unit 16 waits for arrival of a packet from the migration source virtual machine 21. In OP82, the packet check unit 16 determines whether or not a packet having a packet identifier that matches the packet identifier of the packet received in OP61 has been received.

OP61で受信したパケットのパケット識別子と一致するパケット識別子を有するパケットを受信した場合には(OP82:YES)、処理がOP83に進む。OP61で受信したパケットのパケット識別子と一致するパケット識別子を有するパケットを受信していない場合には(OP82:NO)、処理がOP84に進む。   If a packet having a packet identifier that matches the packet identifier of the packet received in OP61 is received (OP82: YES), the process proceeds to OP83. When a packet having a packet identifier that matches the packet identifier of the packet received in OP61 has not been received (OP82: NO), the process proceeds to OP84.

OP83の処理は、OP61で受信したパケットのパケット識別子と一致するパケット識別子を有するパケットを受信した場合の処理である。OP61で受信したパケットのパケット識別子と一致するパケット識別子を有するパケットを受信することは、マイグレーション先の仮想マシン21からのパケットを、マイグレーション元の仮想マシン21からのパケットよりも先に受信したことを示す。マイグレーション元の仮想マシン21からのパケットよりも先にマイグレーション先の仮想マシン21からのパケットを受信することは、マイグレーション先の仮想マシン21の起動処理が完了していることが示される。   The process of OP83 is a process when a packet having a packet identifier that matches the packet identifier of the packet received at OP61 is received. Receiving a packet having a packet identifier that matches the packet identifier of the packet received in OP61 indicates that the packet from the migration destination virtual machine 21 has been received before the packet from the migration source virtual machine 21. Show. Receiving the packet from the migration destination virtual machine 21 before the packet from the migration source virtual machine 21 indicates that the activation process of the migration destination virtual machine 21 has been completed.

OP83では、パケットチェック部16は、マイグレーション完了通知をパケット監視部11及びパケット振分部15に通知する。   In OP83, the packet check unit 16 notifies the packet monitoring unit 11 and the packet distribution unit 15 of a migration completion notification.

OP84では、パケットチェック部16は、OP61で受信したパケットを廃棄する。その後、図13Cに示される処理が終了する。   In OP84, the packet check unit 16 discards the packet received in OP61. Thereafter, the process illustrated in FIG. 13C ends.

なお、図9から図13Cのフローチャートはいずれも一例であり、処理の実行順等は、実施の形態によって適宜変更可能である。   Note that the flowcharts of FIGS. 9 to 13C are only examples, and the execution order of the processes can be changed as appropriate according to the embodiment.

<第1実施形態の作用効果>
パケット監視アクセラレータ1は、マイグレーション先の仮想マシン21とマイグレーション元の仮想マシン21との双方から、同じパケットに対する同じ処理の結果としてのパケットを受信する。パケット監視アクセラレータ1は、マイグレーション先の仮想マシン21とマイグレーション元の仮想マシン21との双方からのパケットの受信時刻の差分が許容範囲外である間は、マイグレーション元の仮想マシン21からのパケットを出力する。一方、パケット監視アクセラレータ1は、受信時刻の差分が許容範囲外である間は、マイグレーション元の仮想マシン21からのパケットを出力せずに廃棄する。受信時刻の差分が許容範囲内となる場合に、パケット監視アクセラレータ1は、マイグレーション元の仮想マシン21の動作停止指示を送信する。以降、パケット監視アクセラレータ1は、マイグレーション先の仮想マシン21からのパケットを受信し、クライアント端末4に転送する。
<Operational effects of the first embodiment>
The packet monitoring accelerator 1 receives a packet as a result of the same processing for the same packet from both the migration destination virtual machine 21 and the migration source virtual machine 21. The packet monitoring accelerator 1 outputs the packet from the migration source virtual machine 21 while the difference in the reception times of the packets from both the migration destination virtual machine 21 and the migration source virtual machine 21 is outside the allowable range. To do. On the other hand, the packet monitoring accelerator 1 discards the packet from the migration source virtual machine 21 without outputting it while the difference in reception time is outside the allowable range. When the difference in reception time is within the allowable range, the packet monitoring accelerator 1 transmits an operation stop instruction for the migration source virtual machine 21. Thereafter, the packet monitoring accelerator 1 receives a packet from the migration destination virtual machine 21 and transfers it to the client terminal 4.

受信時刻の差分が許容範囲内になることによって、マイグレーション先の仮想マシン21の起動処理が完了したことが示される。したがって、第1実施形態のパケット監視アクセラレータ1は、マイグレーション先の仮想マシン21の起動処理が完了するまでは、マイグレーション元の仮想マシン21から受信したパケットをクライアント端末4に出力する。マイグレーション先の仮想マシン21の起動処理が完了すると、パケット監視アクセラレータ1は、マイグレーション先の仮想マシンから受信したパケットをクライアント端末4に出力する。これによって、マイグレーション先の仮想マシンの起動処理が完了してから、クライアント端末4に送信されるパケットが、マイグレーション元の仮想マシン2
1からのパケットからマイグレーション先の仮想マシンからのパケットに切り替わる。第1実施形態では、マイグレーションによるクライアント端末4と仮想マシン21との通信の瞬断を抑制することができる。
When the difference in the reception time is within the allowable range, it indicates that the activation process of the migration destination virtual machine 21 has been completed. Therefore, the packet monitoring accelerator 1 according to the first embodiment outputs the packet received from the migration source virtual machine 21 to the client terminal 4 until the start processing of the migration destination virtual machine 21 is completed. When the activation process of the migration destination virtual machine 21 is completed, the packet monitoring accelerator 1 outputs the packet received from the migration destination virtual machine to the client terminal 4. As a result, after the start processing of the migration destination virtual machine is completed, the packet transmitted to the client terminal 4 is transferred to the migration source virtual machine 2.
The packet from 1 is switched to the packet from the migration destination virtual machine. In the first embodiment, instantaneous interruption of communication between the client terminal 4 and the virtual machine 21 due to migration can be suppressed.

パケット監視アクセラレータ1のパケット監視部11及びパケット振分部15は、マイグレーション実行中の場合とマイグレーション実行中でない場合とで、パケットの出力先を切り替える。マイグレーション実行中でない場合には、パケット監視アクセラレータ1は、仮想マシン21宛てのパケットを通過させるので、余計な処理を行わずに済む。また、パケット監視部11及びパケット振分部15のパケットの切替は、パケットチェック部16からのマイグレーション完了通知を受けて行われる。そのため、マイグレーション先の仮想マシンの起動処理が完了してから、クライアント端末4に送信されるパケットが、マイグレーション元の仮想マシン21からのパケットからマイグレーション先の仮想マシンからのパケットに切り替わることになる。第1実施形態では、マイグレーションによるクライアント端末4と仮想マシン21との通信の瞬断を抑制することができる。   The packet monitoring unit 11 and the packet distribution unit 15 of the packet monitoring accelerator 1 switch the output destination of the packet depending on whether the migration is being executed or not. When the migration is not being executed, the packet monitoring accelerator 1 passes the packet addressed to the virtual machine 21, so that unnecessary processing is not required. Further, the packet switching of the packet monitoring unit 11 and the packet distribution unit 15 is performed upon receiving a migration completion notification from the packet check unit 16. For this reason, after the migration destination virtual machine activation process is completed, the packet transmitted to the client terminal 4 is switched from the packet from the migration source virtual machine 21 to the packet from the migration destination virtual machine. In the first embodiment, instantaneous interruption of communication between the client terminal 4 and the virtual machine 21 due to migration can be suppressed.

パケットチェック部16は、マイグレーション元の仮想マシン21からのパケットよりも先にマイグレーション先の仮想マシン21からのパケットが到着した場合には、マイグレーション完了通知をパケット監視部11及びパケット振分部15に通知する。例えば、マイグレーション元の仮想マシン21よりもマイグレーション先の仮想マシン21の方がコア数が多い場合には、同じ処理を行った場合、マイグレーション先の仮想マシン21の方が処理に係る時間が短くなる。これによって、マイグレーション先の仮想マシン21からのパケットが先に到着することがある。したがって、マイグレーション元の仮想マシン21からのパケットよりも先にマイグレーション先の仮想マシン21からのパケットが到着することによって、マイグレーション先の仮想マシン21の起動処理が完了したことを判定することができる。   When the packet from the migration destination virtual machine 21 arrives before the packet from the migration source virtual machine 21, the packet check unit 16 sends a migration completion notification to the packet monitoring unit 11 and the packet distribution unit 15. Notice. For example, if the migration destination virtual machine 21 has a larger number of cores than the migration source virtual machine 21, when the same processing is performed, the migration destination virtual machine 21 takes less time for processing. . As a result, a packet from the migration destination virtual machine 21 may arrive first. Accordingly, when the packet from the migration destination virtual machine 21 arrives before the packet from the migration source virtual machine 21, it can be determined that the activation process of the migration destination virtual machine 21 has been completed.

パケットチェック部16は、マイグレーション元の仮想マシン21からの受信パケットについてパケット識別子を取得し、マイグレーション元タイムスタンプリストの検索キーとする。パケットチェック部16は、マイグレーション先の仮想マシン21からの受信パケットのパケット識別子を取得し、当該パケット識別子を検索キーとして、マイグレーション元タイムスタンプリストを検索する。マイグレーション先の仮想マシン21からの受信パケットのパケット識別子に合致するエントリがマイグレーション元タイムスタンプリストに存在する場合は、マイグレーション元及びマイグレーション先の仮想マシン21からのパケットが一致することが示される。これによって、マイグレーション先の仮想マシン21が、正しく動作していることを担保することができる。また、マイグレーション元の仮想マシン21とマイグレーション先の仮想マシン21とが同じパケットに対して同じ処理を行っていることが担保され、マイグレーション先の仮想マシン21の起動処理の完了をより適正に判定することができる。   The packet check unit 16 acquires a packet identifier for a received packet from the migration source virtual machine 21 and uses it as a search key for the migration source time stamp list. The packet check unit 16 acquires the packet identifier of the received packet from the migration destination virtual machine 21, and searches the migration source time stamp list using the packet identifier as a search key. If an entry that matches the packet identifier of the received packet from the migration destination virtual machine 21 exists in the migration source time stamp list, it indicates that the packets from the migration source and migration destination virtual machines 21 match. As a result, it is possible to ensure that the migration destination virtual machine 21 is operating correctly. Further, it is ensured that the migration source virtual machine 21 and the migration destination virtual machine 21 are performing the same processing on the same packet, and the completion of the startup process of the migration destination virtual machine 21 is more appropriately determined. be able to.

また、第1実施形態では、パケット識別子として、パケットから算出されるハッシュ値が用いられる。ハッシュ値のサイズは、例えば、4ビット等であり、パケットのサイズに比べて小さい。そのため、パケット識別子としてハッシュ値を用いることによって、マイグレーション元タイムスタンプリストの検索処理に係る処理負荷を軽減することができる。   In the first embodiment, a hash value calculated from the packet is used as the packet identifier. The size of the hash value is, for example, 4 bits and is smaller than the packet size. Therefore, by using a hash value as a packet identifier, it is possible to reduce the processing load related to the migration source time stamp list search process.

パケット監視アクセラレータ1は、クライアント端末4からの受信パケットをバッファ部12にバッファリングしてから、ミラー部12によって複製して、マイグレーション元及びマイグレーション先の仮想マシン21に送信する。仮想マシン21宛てのパケットをバッファリングすることによって、マイグレーション元及びマイグレーション先の仮想マシン21それぞれにおいて、パケットに対する処理の開始時点を近づけることができる。
受信時刻の差分は、マイグレーション元及びマイグレーション先の仮想マシン21それぞれにおけるパケットに対する処理に係る時間の差分を反映する。そのため、マイグレーション元及びマイグレーション先の仮想マシン21それぞれにおいて、パケットに対する処理の開始時点が同期することによって、より正確にマイグレーション先の仮想マシン21の起動処理の完了を判定することができる。
The packet monitoring accelerator 1 buffers the received packet from the client terminal 4 in the buffer unit 12, duplicates it by the mirror unit 12, and transmits it to the migration source and migration destination virtual machines 21. By buffering the packet addressed to the virtual machine 21, it is possible to bring the processing start time for the packet closer in each of the migration-source and migration-destination virtual machines 21.
The difference in reception time reflects the difference in time related to the processing for the packets in the migration source and migration destination virtual machines 21. Therefore, in the migration source and migration destination virtual machines 21, the start time of processing for the packets is synchronized, so that the completion of the startup process of the migration destination virtual machine 21 can be determined more accurately.

また、パケットチェック部16は、バッファ部12の設定バッファ量を受信時刻の差分に基づいて決定する。バッファ部12の設定バッファ量は、受信時刻の差分が大きいほど大きく設定される。受信時刻の差分が大きいことは、起動処理にマイグレーション先の仮想マシン21のリソースが費やされパケットの処理が遅れていることが示される。受信時刻の差分が大きいほどバッファ部12の設定バッファ量を大きく設定することによって、マイグレーション元及びマイグレーション先の仮想マシン21へのパケットの入力が遅くなり、その分、マイグレーション先の仮想マシン21は起動処理を行うことができる。これによって、マイグレーション先の仮想マシン21の起動処理の完了を早めることができる。   Further, the packet check unit 16 determines the set buffer amount of the buffer unit 12 based on the difference in reception time. The set buffer amount of the buffer unit 12 is set to be larger as the difference in reception time is larger. A large difference in reception time indicates that the resources of the migration destination virtual machine 21 are consumed in the start-up process and the packet processing is delayed. The larger the reception time difference is, the larger the setting buffer amount of the buffer unit 12 is set, so that the input of packets to the migration source and migration destination virtual machines 21 is delayed, and the migration destination virtual machine 21 is activated accordingly. Processing can be performed. As a result, the completion of the activation process of the migration destination virtual machine 21 can be accelerated.

第1実施形態では、パケット監視部11は、単位時間当たりのパケットの受信量に基づいて、マイグレーションの開始を判定する。これによって、マイグレーションの開始を、パケット監視アクセラレータ1が自律的に行うことができる。   In the first embodiment, the packet monitoring unit 11 determines the start of migration based on the amount of packets received per unit time. As a result, the packet monitoring accelerator 1 can autonomously start the migration.

また、パケットチェック部16は、単位時間当たりのパケットの受信量に基づいて、マイグレーション先の仮想マシン21のコア数を決定する。これによって、より柔軟に通信状況に応じてマイグレーションを行うことができる。   Further, the packet check unit 16 determines the number of cores of the migration destination virtual machine 21 based on the amount of packets received per unit time. As a result, migration can be performed more flexibly according to the communication status.

<その他>
第1実施形態では、仮想マシン21間でマイグレーションを行う場合を例として説明されたが、物理マシン間でのマイグレーション、物理マシンと仮想マシン間のマイグレーションについても、第1実施形態の技術を適用することが可能である。
<Others>
In the first embodiment, the case of performing migration between virtual machines 21 has been described as an example. However, the technology of the first embodiment is also applied to migration between physical machines and migration between physical machines and virtual machines. It is possible.

また、第1実施形態では、受信時刻の比較対象として対応するパケットとして、マイグレーション元とマイグレーション先との仮想マシンによる同じ内容のパケットに対する同じ処理の実行結果としてのパケットが用いられる。受信時刻の比較対象として対応するパケットは、これに限定されない。例えば、マイグレーション元とマイグレーション先との仮想マシンは、異なる処理を行っていてもよい。この場合、マイグレーション元とマイグレーション先との仮想マシンのそれぞれの処理に掛かる時間の差分を考慮して、受信時刻の差分の許容範囲が設定されることによって、マイグレーション元及びマイグレーション先の仮想マシンからのパケットを比較することができる。また、例えば、受信時刻の比較対象として対応するパケットとして、マイグレーション元とマイグレーション先との仮想マシンとで、異なる内容のパケットに対して行われた処理の実行結果としてのパケットが用いられてもよい。すなわち、マイグレーション元とマイグレーション先とで処理の開始タイミングがほぼ同じである場合の処理の実行結果としてのパケットであれば、受信時刻の差分の許容範囲を適宜設定することによって、受信時刻の比較対象として対応するパケットとして用いることができる。   In the first embodiment, as a packet corresponding as a reception time comparison target, a packet as a result of executing the same process on a packet having the same contents by the virtual machine at the migration source and the migration destination is used. The packet corresponding to the reception time comparison target is not limited to this. For example, the migration source and migration destination virtual machines may perform different processes. In this case, considering the difference in time required for each processing of the migration source and migration destination virtual machines, the allowable range of the reception time difference is set, so that the migration source and migration destination virtual machines Packets can be compared. Further, for example, as a packet corresponding as a comparison target of reception time, a packet as a result of execution of processing performed on packets having different contents may be used in the migration source and migration destination virtual machines. . In other words, if the packet is the execution result of the process when the process start timing is almost the same at the migration source and the migration destination, it is possible to compare the reception time by appropriately setting the allowable range of the reception time difference. Can be used as a corresponding packet.

<記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
<Recording medium>
A program for causing a computer or other machine or device (hereinafter, a computer or the like) to realize any of the above functions can be recorded on a recording medium that can be read by the computer or the like. The function can be provided by causing a computer or the like to read and execute the program of the recording medium.

ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる非一時的な記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ROM(リードオンリーメモリ)等がある。さらに、SSD(Solid State Drive)は、コンピュータ等から取り外し可能な記録媒体としても、コ
ンピュータ等に固定された記録媒体としても利用可能である。
Here, a computer-readable recording medium is a non-temporary recording medium in which information such as data and programs is accumulated by electrical, magnetic, optical, mechanical, or chemical action and can be read from a computer or the like. A typical recording medium. Examples of such a recording medium that can be removed from a computer or the like include a flexible disk, a magneto-optical disk, a CD-ROM, a CD-R / W, a DVD, a Blu-ray disk, a DAT, an 8 mm tape, a flash memory, and the like. There are cards. In addition, as a recording medium fixed to a computer or the like, there are a hard disk, a ROM (read only memory) and the like. Further, an SSD (Solid State Drive) can be used as a recording medium removable from a computer or the like, or as a recording medium fixed to the computer or the like.

1 パケット監視アクセラレータ
2、2B 物理サーバ
3 スイッチ
4 クライアント端末
11 パケット監視部
12 バッファ部
13 ミラー部
14、17 セレクタ
15 パケット振分部
16 パケットチェック部
207、303 NIC
1 Packet monitor accelerator 2, 2B Physical server 3 Switch 4 Client terminal 11 Packet monitor unit 12 Buffer unit 13 Mirror unit 14, 17 Selector 15 Packet distribution unit 16 Packet check unit 207, 303 NIC

Claims (14)

サーバとクライアント端末との間のパケットを監視する制御装置において、
移行元のサーバと前記移行元のサーバの処理環境の移行先である移行先のサーバとからパケットを受信する受信部と、
前記移行元のサーバと前記移行先のサーバとから受信された対応するパケットの受信時刻の差分が許容範囲内であるか否かを判定し、前記対応するパケットのうちの前記移行先のサーバから受信されたパケットを廃棄する判定部と、
前記受信時刻の差分が前記許容範囲内であると判定された場合に、前記移行元のサーバの処理を停止させる制御部と、
前記移行元のサーバ又は前記移行先のサーバから受信されたパケットを送信する送信部と、
を備える制御装置。
In a control device that monitors packets between a server and a client terminal,
A receiving unit that receives packets from a migration source server and a migration destination server that is a migration destination of a processing environment of the migration source server;
It is determined whether or not a difference in reception time of corresponding packets received from the migration source server and the migration destination server is within an allowable range, and from the migration destination server of the corresponding packets A determination unit for discarding the received packet;
A control unit that stops processing of the migration source server when it is determined that the difference in the reception time is within the allowable range;
A transmission unit for transmitting packets received from the migration source server or the migration destination server;
A control device comprising:
前記受信部は、前記移行元のサーバから前記移行先のサーバへの処理環境の移行が実行中である場合には、前記移行元のサーバ及び前記移行先のサーバから受信したパケットを前記判定部に出力し、前記移行元のサーバから前記移行先のサーバへの処理環境の移行が実行中でない場合には、前記移行先のサーバから受信したパケットを前記送信部に出力する、
請求項1に記載の制御装置。
When the migration of the processing environment from the migration source server to the migration destination server is being executed, the reception unit receives packets received from the migration source server and the migration destination server as the determination unit. When the migration of the processing environment from the migration source server to the migration destination server is not being executed, the packet received from the migration destination server is output to the transmission unit.
The control device according to claim 1.
前記判定部は、前記受信時刻の差分が前記許容範囲内であると判定した場合と、前記移行先のサーバから受信されたパケットの受信時刻が前記移行元のサーバから受信されたパケットよりも早い場合とに、前記移行元のサーバから前記移行先のサーバへの処理環境の移行が完了したことを通知する、
請求項1又は2に記載の制御装置。
When the determination unit determines that the difference in the reception time is within the allowable range, the reception time of the packet received from the migration destination server is earlier than the packet received from the migration source server. In some cases, the migration of the processing environment from the migration source server to the migration destination server is notified,
The control device according to claim 1 or 2.
前記判定部は、前記移行元のサーバから受信されたパケットと前記移行先のサーバから受信されたパケットとが一致するか否かを判定し、一致すると判定した場合には、前記受信時刻の差分が許容範囲内であるか否かの判定を行う、
請求項1から3のいずれか一項に記載の制御装置。
The determination unit determines whether or not the packet received from the migration source server matches the packet received from the migration destination server. Determine whether is within the acceptable range,
The control device according to any one of claims 1 to 3.
前記判定部は、前記移行元のサーバ及び前記移行先のサーバから受信されたパケットそれぞれについてハッシュ値を識別情報として算出し、前記移行元のサーバ及び前記移行先のサーバから受信されたパケットそれぞれの識別情報が一致するか否かを判定することで、前記移行元のサーバから受信されたパケットと前記移行先のサーバから受信されたパケットとが一致するか否かを判定する、
請求項4に記載の制御装置。
The determination unit calculates a hash value as identification information for each packet received from the migration source server and the migration destination server, and determines each packet received from the migration source server and the migration destination server. By determining whether the identification information matches, it is determined whether the packet received from the migration source server matches the packet received from the migration destination server,
The control device according to claim 4.
前記移行元のサーバ宛てのパケットをバッファリングするバッファと、
前記バッファ内から出力された前記移行元のサーバ宛てのパケットの複製を生成し、複製されたパケットを移行先のサーバに出力する複製部
をさらに備える請求項1から5のいずれか一項に記載の制御装置。
A buffer for buffering packets addressed to the migration source server;
6. The replication unit according to claim 1, further comprising: a duplication unit configured to generate a duplicate of the packet addressed to the migration source server output from the buffer and to output the duplicated packet to the migration destination server. Control device.
前記判定部は、前記受信時刻の差分に基づいて、前記バッファのバッファ量を設定する、
請求項6のいずれか一項に記載の制御装置。
The determination unit sets the buffer amount of the buffer based on the difference in the reception time.
The control device according to claim 6.
前記判定部は、前記受信時刻の差分が大きいほど前記バッファ量を大きく設定する、
請求項7に記載の制御装置。
The determination unit sets the buffer amount to be larger as the difference between the reception times is larger.
The control device according to claim 7.
サーバ宛てのパケットを受信し、当該サーバについて他のサーバへの処理環境の移行が実行中である場合には、前記サーバ宛てのパケットを前記バッファに出力し、前記サーバから前記他のサーバへの処理環境の移行が実行中でない場合には、前記サーバ宛てのパケットを前記サーバに出力するパケット監視部を、
さらに備える請求項6から8のいずれか一項に記載の制御装置。
When a packet addressed to a server is received, and the migration of the processing environment to another server is being executed for the server, the packet addressed to the server is output to the buffer, and the server sends the packet to the other server. When the processing environment is not being migrated, a packet monitoring unit that outputs a packet addressed to the server to the server,
The control device according to any one of claims 6 to 8, further comprising:
前記制御部は、前記移行元のサーバ宛てのパケットの単位時間当たりの受信量を監視し、前記移行元のサーバ宛てのパケットの単位時間当たりの受信量に応じて、前記移行先のサーバの起動を判定し、前記移行元のサーバから前記移行先のサーバへの処理環境の移行の開始を判定する、
請求項1から9のいずれか一項に記載の制御装置。
The control unit monitors a reception amount per unit time of a packet addressed to the migration source server, and activates the migration destination server according to a reception amount per unit time of a packet addressed to the migration source server. Determining the start of processing environment migration from the migration source server to the migration destination server,
The control device according to any one of claims 1 to 9.
前記移行先のサーバは、仮想サーバであり、
前記制御部は、前記移行元のサーバ宛てのパケットの単位時間当たりの受信量に応じて、前記移行先の仮想サーバのコア数を決定する、
請求項10に記載の制御装置。
The migration destination server is a virtual server,
The control unit determines the number of cores of the migration destination virtual server according to the received amount per unit time of packets addressed to the migration source server,
The control device according to claim 10.
サーバとクライアント端末との間のパケットを監視する制御装置と、
移行元のサーバと、
前記移行元のサーバの処理環境の移行先である移行先のサーバと、
を含む情報処理システムであって、
前記制御装置は、
前記移行元のサーバ及び前記移行先のサーバからパケットを受信する受信部と、
前記移行元のサーバと前記移行先のサーバとから受信された対応するパケットの受信時刻の差分が許容範囲内であるか否かを判定し、前記対応するパケットのうち前記移行先のサーバから受信されたパケットを廃棄する判定部と、
前記受信時刻の差分が前記許容範囲内であると判定された場合に、前記移行元のサーバの処理を停止させる制御部と、
前記移行元のサーバ又は前記移行先のサーバから受信されたパケットを送信する送信部と、を備える
情報処理システム。
A control device for monitoring packets between the server and the client terminal;
The source server,
A migration destination server that is a migration destination of the processing environment of the migration source server;
An information processing system including
The controller is
A receiving unit that receives packets from the migration source server and the migration destination server;
It is determined whether or not a difference in reception time of corresponding packets received from the migration source server and the migration destination server is within an allowable range, and received from the migration destination server among the corresponding packets. A determination unit for discarding the received packet;
A control unit that stops processing of the migration source server when it is determined that the difference in the reception time is within the allowable range;
An information processing system comprising: a transmission unit that transmits a packet received from the migration source server or the migration destination server.
サーバとクライアント端末との間のパケットを監視する制御装置において、
移行元のサーバと前記移行元のサーバの処理環境の移行先である移行先のサーバとからパケットを受信し、
前記移行元のサーバと前記移行先のサーバとから受信された対応するパケットの受信時刻の差分が許容範囲内であるか否かを判定し、前記対応するパケットのうち前記移行先のサーバから受信されたパケットを廃棄し、
前記受信時刻の差分が前記許容範囲内であると判定された場合に、前記移行元のサーバの処理を停止させ、
前記移行元のサーバ又は前記移行先のサーバから受信されたパケットを送信する、
制御方法。
In a control device that monitors packets between a server and a client terminal,
Receive packets from the migration source server and the migration destination server that is the migration destination of the processing environment of the migration source server,
It is determined whether or not a difference in reception time of corresponding packets received from the migration source server and the migration destination server is within an allowable range, and received from the migration destination server among the corresponding packets. Discarded packets,
When it is determined that the difference in the reception time is within the allowable range, the processing of the migration source server is stopped,
Sending packets received from the migration source server or the migration destination server;
Control method.
サーバとクライアント端末との間のパケットを監視する制御装置に、
移行元のサーバと前記移行元のサーバの処理環境の移行先である移行先のサーバとからパケットを受信させ、
前記移行元のサーバと前記移行先のサーバとから受信された対応するパケットの受信時刻の差分が許容範囲内であるか否かを判定させ、前記対応するパケットのうち前記移行先のサーバから受信されたパケットを廃棄させ、
前記受信時刻の差分が前記許容範囲内であると判定された場合に、前記移行元のサーバの処理を停止させ、
前記移行元のサーバ又は前記移行先のサーバから受信されたパケットを送信させる、
ための情報処理プログラム。
To the control device that monitors the packet between the server and the client terminal,
Receive packets from the migration source server and the migration destination server that is the migration destination of the processing environment of the migration source server,
It is determined whether a difference in reception time of corresponding packets received from the migration source server and the migration destination server is within an allowable range, and received from the migration destination server among the corresponding packets. Discarded packets,
When it is determined that the difference in the reception time is within the allowable range, the processing of the migration source server is stopped,
Sending packets received from the migration source server or the migration destination server;
Information processing program.
JP2016133385A 2016-07-05 2016-07-05 Controller, information process system, control method, and information processing program Pending JP2018005664A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016133385A JP2018005664A (en) 2016-07-05 2016-07-05 Controller, information process system, control method, and information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016133385A JP2018005664A (en) 2016-07-05 2016-07-05 Controller, information process system, control method, and information processing program

Publications (1)

Publication Number Publication Date
JP2018005664A true JP2018005664A (en) 2018-01-11

Family

ID=60944975

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016133385A Pending JP2018005664A (en) 2016-07-05 2016-07-05 Controller, information process system, control method, and information processing program

Country Status (1)

Country Link
JP (1) JP2018005664A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018137643A (en) * 2017-02-22 2018-08-30 日本電信電話株式会社 Management device and management method
WO2019225367A1 (en) * 2018-05-24 2019-11-28 日本電信電話株式会社 Information processing device, control device, transfer method, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018137643A (en) * 2017-02-22 2018-08-30 日本電信電話株式会社 Management device and management method
WO2019225367A1 (en) * 2018-05-24 2019-11-28 日本電信電話株式会社 Information processing device, control device, transfer method, and program

Similar Documents

Publication Publication Date Title
CN107925677B (en) Method and switch for offloading data object replication and service function chain management
US9614930B2 (en) Virtual machine mobility using OpenFlow
US9313088B2 (en) Network system and network managing method
JP6670109B2 (en) Scalable flow and congestion control in networks
US10749993B2 (en) Path selection using TCP handshake in a multipath environment
US8745204B2 (en) Minimizing latency in live virtual server migration
CN110022264B (en) Method for controlling network congestion, access device and computer readable storage medium
CN113326228B (en) Message forwarding method, device and equipment based on remote direct data storage
US8611207B2 (en) Data transmitter and data transmission method
CN106603409B (en) Data processing system, method and equipment
CN111026324B (en) Updating method and device of forwarding table entry
US20160014237A1 (en) Communication device, communication method, and computer-readable recording medium
US11848989B2 (en) Separate routing of NVMe-over-fabric packets and non-NVMe packets
JP2018005664A (en) Controller, information process system, control method, and information processing program
US10628201B2 (en) Analysis method and analysis apparatus
US20170373928A1 (en) Computer-readable recording medium, information processing apparatus, and vm switching method
CN116074131A (en) Data processing method, intelligent network card and electronic equipment
US11748131B2 (en) Network updates for virtual machine migration
US10862801B1 (en) Selective media access control (MAC) learning and purging to reduce flooding and replication in a network
US9705785B2 (en) Cloud architecture with state-saving middlebox scaling
US11159617B1 (en) Apparatus, system, and method for synchronizing replicated objects across network nodes in highly scaled environments
Saito et al. Low-latency remote-offloading system for accelerator offloading
CN116489115A (en) Efficient packet reordering using hints