JP2018005664A - Controller, information process system, control method, and information processing program - Google Patents
Controller, information process system, control method, and information processing program Download PDFInfo
- 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
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
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.
しかしながら、インターネットなどのネットワークは、近年、高速化、且つ、大容量化しており、ライブマイグレーションによる通信の瞬断がミリ秒単位であっても、サービスに与える影響が大きくなる可能性がある。以降、本明細書では、マイグレーションと称する場合には、ライブマイグレーションを示すこととする。 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.
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。 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
情報処理システム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
2台の物理サーバ2は、物理サーバAと物理サーバBとである。これらの2台が区別されない場合には、物理サーバ2と表記される。物理サーバ2は、仮想マシン21と仮想スイッチ22とを備える。仮想マシン及び仮想スイッチについても、区別されない場合には、仮想マシン21及び仮想スイッチ22、と表記される。第1実施形態では、仮想マシンAがマイグレーション元、仮想マシンBがマイグレーション先と想定される。マイグレーション元の仮想マシンAは、「移行元のサーバ」の一例である。マイグレーション先の仮想マシンBは、「移行先のサーバ」の一例である。
The two
異なる物理サーバ間でマイグレーションが行われる情報処理システム100Aでは、スイッチ3に、パケット監視アクセラレータ1が備えられる。スイッチ3に備えられるパケット監視アクセラレータ1は、「制御装置」の一例である。
In an
図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
第1実施形態では、物理サーバ2Bは、仮想マシンA、仮想マシンBと、仮想スイッチに代えて、パケット監視アクセラレータ1と、を備える。仮想マシンについては、区別されない場合には、仮想マシン21と表記される。第1実施形態では、仮想マシンAがマイグレーション元、仮想マシンBがマイグレーション先と想定される。情報処理システム100Bにおいて、マイグレーション元の仮想マシンAは、「移行元のサーバ」の一例である。マイグレーション先の仮想マシンBは、「移行先のサーバ」の一例である。物理サーバ2Bに備えられるパケット監視アクセラレータ1は、「制御装置」の一例である。
In the first embodiment, the
第1実施形態では、図3に示される情報処理システム100A、図4に示される情報処理システム100Bのどちらともが、適用システムとして想定される。
In the first embodiment, both the
<装置構成>
図5は、情報処理システム100Aにおけるスイッチ3Aのインタフェースカードのハードウェア構成の一例である。情報処理システム100Aでは、スイッチ3Aにパケット監視アクセラレータ1が搭載されている。
<Device configuration>
FIG. 5 is an example of the hardware configuration of the interface card of the
スイッチ3Aは、例えば、複数のインタフェースカードと、制御カードとを備える。いずれのインタフェースカードも同様のハードウェア構成を有する。インタフェースカードは、ハードウェア構成要素として、CPU(Central Processing Unit)301、メモリ
302、NIC(Network Interface Card)303、スイッチ(SW)部304を備え、これらはバスで接続されている。
The
NIC 303は、複数のインタフェースポート、PHY/MAC(PHYsical/Media Access Control)チップ、NPU(Network Processing Unit)を備える。PHY/MACチップは、ネットワークインタフェースから入力された電気信号をビット列に変換し、ビット列からフレームを組み立てて、SW部304に出力する。NPUは、ネットワーク関連の処理を行うプロセッサである。
The
パケット監視アクセラレータ1は、仮想マシンを搭載する物理サーバ2に接続するインタフェースポートを有するインタフェースカードのNIC 303に搭載される。パケット監視アクセラレータ1は、例えば、NIC 303に搭載されるNPUのモジュールの一つであり、NPU内のメモリに記録されるプログラムをNPU内のプロセッサが実行することによって達成される。または、パケット監視アクセラレータ1は、例えば、NIC
303に搭載されるFPGA(Field-Programmable Gate Array)によって実現されて
もよい。
The
It may be realized by an FPGA (Field-Programmable Gate Array) mounted on the H.303.
スイッチ部304は、同一カード内のインタフェースポート間のスイッチング、カード間のスイッチングを行う。スイッチ部304は、図示されていないスイッチカードに接続している。他のカード内のインタフェースポートを出力先とするフレームは、スイッチ部304によってスイッチカードに転送され、スイッチカードから、出力先のインタフェースポートが存在するカードに転送される。
The
メモリ302は、例えば、RAM(Random Access Memory)である。メモリ302は、用途によって、複数備えられていてもよい。例えば、パケットが一時的に格納されるパケット用メモリ、MACテーブル等を格納するアドレス用メモリ、プログラムやデータ等を格納するメモリ、等である。メモリ302には、OS(Operating System)、アプリケーション等が格納されている。
The
CPU 301は、スイッチ部304からパケットの入力を受ける。CPU 301は、メモリ302に保持されたOSや様々なアプリケーションプログラムを実行することによって、様々な処理を実行する。
The
制御カードには、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
図6は、情報処理システム100Bにおける物理サーバ2Bのハードウェア構成の一例である。情報処理システム100Bでは、パケット監視アクセラレータ1は、物理サーバ2Bに搭載される。物理サーバ2Bは、専用のコンピュータである。
FIG. 6 is an example of a hardware configuration of the
物理サーバ2Bは、CPU(Central Processing Unit)201、主記憶装置202、
入力装置203、出力装置204、補助記憶装置205、NIC 207を備える。また、これらはバス209により互いに接続されている。
The
An
入力装置203は、例えば、キーボード、マウス、操作ボタン、タッチパネル、キーパッド等である。入力装置203から入力されたデータは、CPU 201に出力される。出力装置204は、CPU 201の処理の結果を出力する。出力装置204は、ディスプレイ、プリンタを含む。
The
補助記憶装置205は、OS、様々なプログラムや、各プログラムの実行に際してCPU 201が使用するデータを格納する。補助記憶装置205は、仮想マシン21を実現するソフトウェア又はフレームワークを格納する。補助記憶装置205は、例えば、EPROM(Erasable Programmable ROM)、フラッシュメモリ、又はハードディスクドライ
ブ(Hard Disk Drive)等の不揮発性のメモリである。
The
主記憶装置202は、CPU 201に、補助記憶装置205に格納されているプログラムをロードする記憶領域および作業領域を提供したり、バッファとして用いられたりする記憶装置である。主記憶装置202は、例えば、ROM(Read Only Memory)、RAMのような半導体メモリを含む。
The
CPU 201は、補助記憶装置205に保持されたOSや様々なアプリケーションプログラムを主記憶装置202にロードして実行することによって、様々な処理を実行する。CPU 201は、1つに限られず、複数備えられてもよい。CPU 201が、補助記憶装置205に格納されるソフトウェア又はフレームワークを実行することによって、物理サーバ2B上に仮想マシン21が実装される。
The
NIC 207は、ネットワークとの情報の入出力を行うインタフェースポート、PHY/MAC回路、NPU等を備える。パケット監視アクセラレータ1は、NIC 207に備えられるNPUのモジュールの一つであり、NPU内のメモリに記録されるプログラムをNPU内のプロセッサが実行することによって達成される。または、パケット監視アクセラレータ1は、NIC 207に搭載されるFPGAである。
The
なお、図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
, 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
パケット監視部11は、クライアント端末4からのパケットを受信し、パケットの流量を監視する。パケット監視部11は、例えば、パケットの宛先IPアドレス毎にパケットの流量を監視する。ただし、これに限られず、パケット監視部11は、パケットの宛先IPアドレス、宛先ポート番号、送信元IPアドレス、送信元ポート番号等のうちの複数の組合せごとにパケットの流量を監視してもよい。
The
パケット監視部11は、単位時間当たりのパケットの流量に基づいて、仮想マシン21のマイグレーションの制御を行う。より具体的には、パケット監視部11は、コア増加設定閾値、コア減少設定閾値を用いて、マイグレーション先の仮想マシンの起動及び当該仮想マシンのコア数を決定する。マイグレーション先の仮想マシンの起動の決定により、マイグレーションが開始される。
The
パケット監視部11は、パケットの宛先の仮想マシン21についてマイグレーションが実行されている間は、当該パケットをバッファ部12に出力する。パケットの宛先の仮想マシン21についてマイグレーションが実行されていない場合には、パケット監視部11は、セレクタ14を通じて、宛先の仮想マシン21にパケットを出力する。パケット監視部11の処理の詳細は後述される。
The
パケット監視部11は、仮想マシン21についてのマイグレーションについて、パケットチェック部16からマイグレーション完了通知の入力を受ける。パケット監視部11は、マイグレーション完了通知の入力を受けると、該当するマイグレーション元の仮想マシン21に動作停止の指示を送信する。パケット監視部11は、「制御部」の一例である。
For the migration of the
バッファ部12は、パケット監視部11からパケットの入力を受ける。バッファ部12は、宛先の仮想マシン21毎にバッファを備えている。バッファ部12が備えるバッファは、FIFO(First In First Out)キューである。バッファ部12は、バッファに所定時間パケットを滞留させ、当該所定時間が経過すると、当該パケットをミラー部13に出力する。
The
また、バッファ部12は、パケットの滞留時間をパケットチェック部16からの指示に従って設定する。パケットの滞留時間が長いほど、バッファのサイズは大きく設定される。バッファ部12は、「バッファ」の一例である。
Further, the
ミラー部13は、バッファ部12からパケットの入力を受ける。ミラー部13は、入力されたパケットをコピーして、マイグレーション元の仮想マシン21に転送されるパケットと、マイグレーション先の仮想マシン21に転送されるパケットとを用意する。ミラー部13は、それぞれのパケットに、仮想マシン21を識別するための識別ヘッダを付与して、マイグレーション元の仮想マシン21と、マイグレーション先の仮想マシン21とに、セレクタ14を通じて、出力する。ミラー部13は、「複製部」の一例である。
The
例えば、各仮想マシン21は、互いに異なるVLAN(Virtual Local Area)に属し、パケット監視アクセラレータ1を搭載する装置は、それぞれのVLANに接続するインタフェースを有している。仮想マシン21が互いに異なるVLANに属している場合には、ミラー部13によってパケットに付与される識別ヘッダには、VLAN IDが含まれる。
For example, each
また、例えば、パケット監視アクセラレータ1を搭載する装置は、各仮想マシン21と通信トンネルを構築して接続されている。パケット監視アクセラレータ1を搭載する装置と各仮想マシン21とが通信トンネルによって接続されている場合には、ミラー部13によってパケットに付与される識別ヘッダには、トンネルIDが含まれる。
Further, for example, a device equipped with the
なお、マイグレーション元の仮想マシン21とマイグレーション先の仮想マシン21とは、異なる仮想マシンであって、それぞれへのパケットには、異なる識別ヘッダが付与される。
Note that the migration-source
パケット振分部15は、仮想マシン21から、当該仮想マシン21によって処理されたパケットの入力を受ける。パケット振分部15は、パケットの送信元の仮想マシン21についてマイグレーションが実行中である場合には、当該パケットをパケットチェック部16に出力する。パケットの送信元の仮想マシン21についてマイグレーションが実行中でない場合には、当該パケットをネットワーク側へ、セレクタ17を通じて、出力する。
The
パケット振分部15は、例えば、マイグレーション元の仮想マシン21とマイグレーション先の仮想マシン21との対応についての情報を、他の機能構成要素と共有して、保持している。また、仮想マシン21からのパケットには識別ヘッダが付与されている。したがって、パケット振分部15は、パケットに付与されている識別ヘッダに基づいて、マイグレーション中の仮想マシン21からのパケットか否かを判定する。
The
また、パケット振分部15は、パケットチェック部16からマイグレーション完了通知の入力を受ける。マイグレーション完了通知の入力を受けると、パケット振分部15は、該当する仮想マシン21からのパケットの出力先を、パケットチェック部16からセレクタ17に切り替える。パケット振分部15は、「受信部」の一例である。
Further, the
パケットチェック部16は、パケット振分部17から、マイグレーション元の仮想マシン21によって処理されたパケットと、マイグレーション先の仮想マシン21によって処理されたパケットと、の入力を受ける。パケットチェック部16は、入力されたパケットから識別ヘッダを除去する。また、パケットチェック部16は、入力されたパケットについて、受信時刻のタイムスタンプを取得する。また、パケットチェック部16は、入力されたパケットについて、パケット識別子を求める。パケット識別子は、例えば、ハッシュ計算により算出されハッシュ値である。
The
パケットチェック部16は、マイグレーション元タイムスタンプリストを保持している。マイグレーション元タイムスタンプリストは、マイグレーション元の仮想マシン21によって処理されたパケットの受信時刻を記録するリストである。パケットチェック部16は、マイグレーション元の仮想マシン21からのパケットの、パケット識別子とタイムスタンプとを、マイグレーション元タイムスタンプリストに格納する。
The
パケットチェック部16は、マイグレーション先の仮想マシン21によって処理されたパケットについて、マイグレーション元タイムスタンプリストを参照して、マイグレーション元の仮想マシン21からのパケットの受信時刻との差分を取得する。以降、マイグレーション元の仮想マシン21からのパケットの受信時刻とマイグレーション先の仮想マシ
ン21からのパケットの受信時刻との差分を、単に、受信時刻の差分、と称する。
The
マイグレーション先の仮想マシン21の起動処理中は、起動処理と並行してパケットの処理が行われるため、起動処理が完了している状態に比べると、応答時間が長くなる。すなわち、マイグレーション先の仮想マシン21の起動処理中は、受信時刻の差分が大きくなる。マイグレーション先の仮想マシン21の起動処理が完了すると、マイグレーション先の仮想マシン21は、より多くのリソースをパケットの処理に割り当てられるので、受信時刻の差分はほぼなくなる。あるいは、マイグレーション先の仮想マシン21の起動処理が完了すると、マイグレーション元の仮想マシン21からのパケットよりもマイグレーション先の仮想マシン21からのパケット方が先に入力される。
During the startup process of the migration destination
したがって、受信時刻の差分が一致するとみなせる許容範囲内である場合には、マイグレーション先の仮想マシン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
パケットチェック部16は、マイグレーション先の仮想マシン21からのパケットを廃棄し、マイグレーション元の仮想マシン21からのパケットをセレクタ17に出力する。なお、パケット識別子はハッシュ値である。そのため、マイグレーション先の仮想マシン21からのパケットとパケット識別子が一致するエントリが、マイグレーション元タイムスタンプリストにあることによって、マイグレーション元及びマイグレーション先の仮想マシン21からのパケットが一致していることが担保される。
The
また、パケットチェック部16は、受信時刻の差分に基づいて、バッファ部12のパケット滞留時間を設定する。パケットチェック部16は、受信時刻の差分が大きければ大きいほどバッファ部12のパケット滞留時間を長く設定し、受信時刻の差分が小さければ小さいほどバッファ部12のパケット滞留時間を短く設定する。より具体的には、パケットチェック部16は、受信時刻の差分に係数を乗じて、バッファ部12のバッファ量を算出する。パケットの滞留時間とバッファ量とは、パケットの滞留時間が長いほどバッファ量も大きくなるという関係であるので、バッファ部12のバッファ量Buffer(byte)として求められる。以下の数式は、バッファ部12のバッファ量の算出式である。バッファリング係数は、例えば、マイグレーション先及び/又はマイグレーション元の仮想マシン21の性能に応じて設定される。パケットチェック部16は、バッファ部12に、算出したバッファ量を通知する。
マイグレーション元の仮想マシン21は、起動処理を行っていないので、パケットの入力後すぐに当該パケットに対する処理を開始することができる。一方、マイグレーション先の仮想マシン21は、起動処理を行っているので、パケットの入力後当該パケットに対
する処理が起動処理によって待機させられる可能性がある。そのため、マイグレーション先の仮想マシン21によるパケットに対する処理は、マイグレーション元の仮想マシン21によるパケットに対する処理から遅れて開始される可能性がある。
Since the migration source
マイグレーション元の仮想マシン21宛てのパケットをバッファ部12にバッファリングすることによって、マイグレーション元及びマイグレーション先の仮想マシン21のパケットに対する処理の開始時点を一致させるようにすることができる。また、受信時刻の差に応じてバッファ部12の設定バッファ量を設定することによって、受信時刻の差が大きい場合にはバッファ部12にパケットがバッファリングされる時間も長くなる。受信時刻の差が大きいことは、マイグレーション先の仮想マシン21が起動処理に時間がかかっていることが示される。この場合、バッファ部12の設定バッファ量を大きくすることによって、マイグレーション先の仮想マシン21へのパケット入力を遅らせ、その分、マイグレーション先の仮想マシン21に起動処理をよりすすめさせることができる。結果として、マイグレーション先の仮想マシン21の起動処理の完了を早めることができる。パケットチェック部16は、「判定部」の一例である。
By buffering the packet addressed to the migration source
セレクタ14、セレクタ17は、2つの入力経路と1つの出力経路を有し、いずれかの経路から入力されたパケットを出力経路から出力する。セレクタ14は、入力経路として、ミラー部13からの入力経路と、パケット監視部11からの入力経路とを有する。セレクタ14は、出力経路として、仮想マシン21への経路を有する。セレクタ17は、入力経路として、パケットチェック部17からの経路と、パケット振分部15からの経路と、を有する。セレクタ17は、出力経路として、ネットワークへの経路を有する。セレクタ17は、「送信部」の一例である。
The
以上より、マイグレーションの実行中でない仮想マシン21に係るパケットは、パケット監視部11、セレクタ14、パケット振分部15、セレクタ17の順で、パケット監視アクセラレータ1を通過する。マイグレーションが実行中の仮想マシン21に係るパケットは、パケット監視部11、バッファ部12、ミラー部13、セレクタ14、パケット振分部15、パケットチェック部16、セレクタ17の順で、パケット監視アクセラレータ1を通過する。
As described above, a packet related to the
図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
マイグレーション元タイムスタンプリストのエントリには、例えば、受信パケット識別子、受信タイムスタンプ上位、受信タイムスタンプ下位の項目が含まれる。「受信パケット識別子」の項目には、マイグレーション元の仮想マシン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
「受信タイムスタンプ上位」の項目には、受信タイムスタンプの小数点より前の値が格納される。「受信タイムスタンプ下位」の項目には、受信タイプスタンプの小数点以下の値が格納される。「受信タイムスタンプ上位」、「受信タイムスタンプ下位」の項目のいずれも、単位は、秒(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
OP11では、パケット監視部11は、クライアント端末4からのパケットを受信する。OP12では、パケット監視部11は、受信パケットの宛先の仮想マシン21についてマイグレーションが実行中であるか否かを判定する。この判定は、例えば、他の機能構成と共有する、マイグレーション元の仮想マシン21とマイグレーション先の仮想マシン21との対応についての情報に基づいて行われる。
In OP11, the
受信パケットの宛先の仮想マシン21についてマイグレーションの実行中である場合には(OP12:YES)、処理がOP20に進む。受信パケットの宛先の仮想マシン21についてマイグレーションの実行中でない場合には(OP12:NO)、処理がOP13に進む。
When migration is being executed for the destination
OP13では、パケット監視部11は、当該仮想マシン21宛ての単位時間当たりのパケット受信量がコア数増加閾値より大きいか否かを判定する。当該仮想マシン21宛ての単位時間当たりのパケット受信量がコア数増加閾値より大きい場合には(OP13:YES)、処理がOP14に進む。当該仮想マシン21宛ての単位時間当たりのパケット受信量がコア数増加閾値以下である場合には(OP13:NO)、処理がOP15に進む。
In OP13, the
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
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
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
OP17では、パケット監視部11は、マイグレーション先となる新たに起動する仮想マシン21のコア数を、マイグレーション元となる既存の仮想マシン21のコア数より減少させた数に設定する。コア数の減少分は、予め固定値で設定されていてもよいし、単位
時間当たりのパケット受信量に基づいて決定されてもよい。
In OP17, the
OP18では、パケット監視部11は、新たな仮想マシン21を搭載する物理サーバ2に対して、起動指示を送信する。起動指示には、コア数の設定も含まれる。OP19では、パケット監視部11は、既存の仮想マシン21を搭載する物理サーバ2に対して、マイグレーションの開始指示を送信する。
In OP18, the
OP20では、パケット監視部11は、バッファ部12にパケットを出力する。その後、図9に示される処理が終了する。
In OP20, the
図10は、バッファ部12の処理のフローチャートの一例である。図10に示される処理は、バッファ部12にパケットが入力されると開始される。
FIG. 10 is an example of a flowchart of processing of the
OP31では、バッファ部12にパケットを受信する。OP32では、バッファ部12は、現在のバッファ量に受信パケットのサイズを加算した値が設定バッファ量未満であるか否かを判定する。現在のバッファ量に受信パケットのサイズを加算した値が設定バッファ量未満である場合には(OP32:YES)、処理がOP33に進む。現在のバッファ量に受信パケットのサイズを加算した値が設定バッファ量より大きい場合には(OP32:NO)、処理がOP34に進む。
In OP31, the
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
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
OP35では、バッファ部12には、バッファ量を、現在のバッファ量に受信パケットのサイズを加算した値に更新する。その後、図10に示される処理が終了する。
In OP35, the
図11は、ミラー部13の処理のフローチャートの一例である。図11に示される処理は、ミラー部13にパケットが入力されると開始される。
FIG. 11 is an example of a flowchart of processing of the
OP41では、ミラー部13は、パケットを受信する。OP42では、ミラー部13は、受信パケットのコピーを作成して、2つのパケットを取得する(パケットミラーリング)。OP43では、ミラー部13は、2つのパケットのうち1つのパケットにマイグレーション元の仮想マシン21の識別ヘッダを付与し、もう一つのパケットにマイグレーション先の仮想マシン21の識別ヘッダを付与する。OP44では、ミラー部13は、2つのパケットを、セレクタ14に出力する。2つのパケットのうち1つのパケットはマイグレーション元の仮想マシン21に出力される。もう一つのパケットは、マイグレーション先の仮想マシン21に出力される。その後、図11に示される処理が終了する。
In OP41, the
図12は、パケット振分部15の処理のフローチャートの一例である。図12に示される処理は、パケット振分部15にパケットが入力されると開始される。
FIG. 12 is an example of a flowchart of processing of the
OP51では、パケット振分部15は、仮想マシン21による処理結果としてのパケットを受信する。仮想マシン21による処理結果としてのパケットには、仮想マシン21によって、当該パケットに対応する入力パケットと同じ識別ヘッダが付与されている。
In OP51, the
OP52では、パケット振分部15は、受信パケットの送信元の仮想マシン21について、マイグレーションが実行中であるか否かを判定する。受信パケットの送信元の仮想マシン21について、マイグレーションが実行中であるか否かは、例えば、他の機能構成要素と共有するマイグレーション元及びマイグレーション先の仮想マシンの対応付けに関する情報に基づいて判定される。または、例えば、図8のOP19において、パケット監視部11がマイグレーション開始通知をパケット振分部15にも通知するようにし、パケット振分部15は、マイグレーション開始通知及びマイグレーション完了通知に基づいて判定してもよい。
In OP52, the
受信パケットの送信元の仮想マシン21について、マイグレーションが実行中である場合には(OP52:YES)、処理がOP53に進む。受信パケットの送信元の仮想マシン21について、マイグレーションが実行中でない場合には(OP52:NO)、処理がOP54に進む。
If migration is being executed for the
OP53の処理は、受信パケットの送信元の仮想マシン21について、マイグレーションが実行中である場合の処理である。OP53では、パケット振分部15は、受信パケットをパケットチェック部16に出力する。その後、図12に示される処理が終了する。
The processing of OP53 is processing when migration is being executed for the
OP54の処理は、受信パケットの送信元の仮想マシン21について、マイグレーションが実行中でない場合の処理である。OP54では、パケット振分部15は、セレクタ17に受信パケットを出力する。受信パケットは、ネットワークへ出力される。その後、図12に示される処理が終了する。
The processing of OP54 is processing when migration is not being executed for the
図13A、図13B、及び、図13Cは、パケットチェック部16の処理のフローチャートの一例である。図13Aの処理は、パケットチェック部16にパケットが入力されると開始される。
13A, 13B, and 13C are examples of flowcharts of processing of the
OP61では、パケットチェック部16は、パケットを受信する。OP62では、パケットチェック部16は、受信パケットから識別ヘッダを除去する。OP63では、パケットチェック部16は、受信パケットのタイムスタンプを取得する。OP64では、パケットチェック部16は、受信パケットからパケット識別子を算出する。次に、処理が図13BのOP71に進む。
In OP61, the
OP71では、パケットチェック部16は、受信パケットがマイグレーション元(移行元)の仮想マシン21からのパケットであるか否かを判定する。受信パケットがマイグレーション元の仮想マシン21からのパケットである場合には(OP71:YES)、処理がOP72に進む。受信パケットがマイグレーション元の仮想マシン21からのパケットである場合には(OP71:NO)、処理がOP74に進む。
In OP71, the
OP72、OP73は、受信パケットがマイグレーション元の仮想マシン21からのパケットである場合の処理である。OP72では、パケットチェック部16は、受信パケットについて、マイグレーション元タイムスタンプリスト(移行元TSリスト)にエントリを登録し、マイグレーション元タイムスタンプリストを更新する。
OP 72 and OP 73 are processes when the received packet is a packet from the migration source
OP73では、パケットチェック部16は、受信パケットをセレクタ17に出力する。パケットは、セレクタ17からネットワークに出力される。その後、図13Bに示される処理が終了する。
In OP73, the
OP74以降の処理は、受信パケットがマイグレーション先の仮想マシン21からのパケットである場合の処理である。OP74では、パケットチェック部16は、マイグレー
ション元タイムスタンプリストを、受信パケットのパケット識別子で検索する。
The processing after OP74 is processing when the received packet is a packet from the migration destination
OP75では、パケットチェック部16は、マイグレーション元タイムスタンプリストに受信パケットのパケット識別子と一致するエントリがあるか否かを判定する。マイグレーション元タイムスタンプリストに受信パケットのパケット識別子と一致するエントリがある場合には(OP75:YES)、処理がOP76に進む。マイグレーション元タイムスタンプリストに受信パケットのパケット識別子と一致するエントリがない場合には(OP75:NO)、処理が図13CのOP81に進む。
In OP75, the
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
OP76では、パケットチェック部16は、マイグレーション元タイムスタンプリストの受信パケットのパケット識別子と一致するエントリの受信時刻のタイムスタンプと、受信パケットの受信時刻のタイムスタンプとの差分が許容範囲内であるか否かを判定する。受信時刻の差分が許容範囲内である場合には(OP76:YES)、処理がOP79に進む。受信時刻の差分が許容範囲外である場合に(OP76:NO)、処理がOP77に進む。
In OP76, the
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
OP77では、パケットチェック部16は、受信時刻の差分(TS差分)に応じて、バッファ部12の設定バッファ量を設定する。受信時刻の差分が大きいほど、設定バッファ量が大きくなり、受信時刻の差分が小さいほど設定バッファ量が小さくなるように、設定バッファ量は設定される。第1実施形態では、バッファ部12の設定バッファ量は、受信時刻の差分にバッファリング係数を乗じて算出される。OP78では、パケットチェック部16は、バッファ部12に設定バッファ量を通知する。
In OP77, the
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
OP79では、パケットチェック部16は、パケット監視部11とパケット振分部15とに、マイグレーション完了通知を出力する。
In OP79, the
OP80では、パケットチェック部16は、受信パケットを廃棄する。なお、OP80において、受信パケットとは、マイグレーション先の仮想マシン21からのパケットである。その後、図13Bに示される処理が終了する。
In OP80, the
図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
OP81では、パケットチェック部16は、マイグレーション元の仮想マシン21からのパケットの到着を待機する。OP82では、パケットチェック部16は、OP61で受信したパケットのパケット識別子と一致するパケット識別子を有するパケットを受信したか否かを判定する。
In OP81, the
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
OP83では、パケットチェック部16は、マイグレーション完了通知をパケット監視部11及びパケット振分部15に通知する。
In OP83, the
OP84では、パケットチェック部16は、OP61で受信したパケットを廃棄する。その後、図13Cに示される処理が終了する。
In OP84, the
なお、図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
受信時刻の差分が許容範囲内になることによって、マイグレーション先の仮想マシン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
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
パケット監視アクセラレータ1のパケット監視部11及びパケット振分部15は、マイグレーション実行中の場合とマイグレーション実行中でない場合とで、パケットの出力先を切り替える。マイグレーション実行中でない場合には、パケット監視アクセラレータ1は、仮想マシン21宛てのパケットを通過させるので、余計な処理を行わずに済む。また、パケット監視部11及びパケット振分部15のパケットの切替は、パケットチェック部16からのマイグレーション完了通知を受けて行われる。そのため、マイグレーション先の仮想マシンの起動処理が完了してから、クライアント端末4に送信されるパケットが、マイグレーション元の仮想マシン21からのパケットからマイグレーション先の仮想マシンからのパケットに切り替わることになる。第1実施形態では、マイグレーションによるクライアント端末4と仮想マシン21との通信の瞬断を抑制することができる。
The
パケットチェック部16は、マイグレーション元の仮想マシン21からのパケットよりも先にマイグレーション先の仮想マシン21からのパケットが到着した場合には、マイグレーション完了通知をパケット監視部11及びパケット振分部15に通知する。例えば、マイグレーション元の仮想マシン21よりもマイグレーション先の仮想マシン21の方がコア数が多い場合には、同じ処理を行った場合、マイグレーション先の仮想マシン21の方が処理に係る時間が短くなる。これによって、マイグレーション先の仮想マシン21からのパケットが先に到着することがある。したがって、マイグレーション元の仮想マシン21からのパケットよりも先にマイグレーション先の仮想マシン21からのパケットが到着することによって、マイグレーション先の仮想マシン21の起動処理が完了したことを判定することができる。
When the packet from the migration destination
パケットチェック部16は、マイグレーション元の仮想マシン21からの受信パケットについてパケット識別子を取得し、マイグレーション元タイムスタンプリストの検索キーとする。パケットチェック部16は、マイグレーション先の仮想マシン21からの受信パケットのパケット識別子を取得し、当該パケット識別子を検索キーとして、マイグレーション元タイムスタンプリストを検索する。マイグレーション先の仮想マシン21からの受信パケットのパケット識別子に合致するエントリがマイグレーション元タイムスタンプリストに存在する場合は、マイグレーション元及びマイグレーション先の仮想マシン21からのパケットが一致することが示される。これによって、マイグレーション先の仮想マシン21が、正しく動作していることを担保することができる。また、マイグレーション元の仮想マシン21とマイグレーション先の仮想マシン21とが同じパケットに対して同じ処理を行っていることが担保され、マイグレーション先の仮想マシン21の起動処理の完了をより適正に判定することができる。
The
また、第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
The difference in reception time reflects the difference in time related to the processing for the packets in the migration source and migration destination
また、パケットチェック部16は、バッファ部12の設定バッファ量を受信時刻の差分に基づいて決定する。バッファ部12の設定バッファ量は、受信時刻の差分が大きいほど大きく設定される。受信時刻の差分が大きいことは、起動処理にマイグレーション先の仮想マシン21のリソースが費やされパケットの処理が遅れていることが示される。受信時刻の差分が大きいほどバッファ部12の設定バッファ量を大きく設定することによって、マイグレーション元及びマイグレーション先の仮想マシン21へのパケットの入力が遅くなり、その分、マイグレーション先の仮想マシン21は起動処理を行うことができる。これによって、マイグレーション先の仮想マシン21の起動処理の完了を早めることができる。
Further, the
第1実施形態では、パケット監視部11は、単位時間当たりのパケットの受信量に基づいて、マイグレーションの開始を判定する。これによって、マイグレーションの開始を、パケット監視アクセラレータ1が自律的に行うことができる。
In the first embodiment, the
また、パケットチェック部16は、単位時間当たりのパケットの受信量に基づいて、マイグレーション先の仮想マシン21のコア数を決定する。これによって、より柔軟に通信状況に応じてマイグレーションを行うことができる。
Further, the
<その他>
第1実施形態では、仮想マシン21間でマイグレーションを行う場合を例として説明されたが、物理マシン間でのマイグレーション、物理マシンと仮想マシン間のマイグレーションについても、第1実施形態の技術を適用することが可能である。
<Others>
In the first embodiment, the case of performing migration between
また、第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
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.
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)
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 |
-
2016
- 2016-07-05 JP JP2016133385A patent/JP2018005664A/en active Pending
Cited By (2)
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 |