JP2013200615A - Virtual machine movement control system, virtual machine movement method, and program - Google Patents

Virtual machine movement control system, virtual machine movement method, and program Download PDF

Info

Publication number
JP2013200615A
JP2013200615A JP2012067302A JP2012067302A JP2013200615A JP 2013200615 A JP2013200615 A JP 2013200615A JP 2012067302 A JP2012067302 A JP 2012067302A JP 2012067302 A JP2012067302 A JP 2012067302A JP 2013200615 A JP2013200615 A JP 2013200615A
Authority
JP
Japan
Prior art keywords
virtual machine
network bandwidth
movement
time
memory rewrite
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
JP2012067302A
Other languages
Japanese (ja)
Inventor
Akihito Kohiga
亮仁 小比賀
Junichi Yamato
純一 大和
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012067302A priority Critical patent/JP2013200615A/en
Publication of JP2013200615A publication Critical patent/JP2013200615A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a virtual machine movement control system capable of more appropriately planning a virtual machine movement schedule, and capable of suppressing frequent occurrence of planning of the movement schedule.SOLUTION: Network band securing means 200 executes reservation of a network band. Then, a dynamic load distribution mechanism 300 plans, on the basis of the network band reserved by the network band securing means 200, a movement schedule for a virtual machine 400. Thereby, the dynamic load distribution mechanism 300 can plan the movement schedule for the virtual machine 400 more appropriately in a state that the network band is stable (secured). Further, by executing the movement of the virtual machine 400 in a state that the network band is stable, the movement of the virtual machine 400 can be executed along a movement schedule, and frequent occurrence of planning of the movement schedule can be suppressed.

Description

本発明は、仮想マシン移動制御システム、仮想マシン移動方法およびプログラムに関する。   The present invention relates to a virtual machine movement control system, a virtual machine movement method, and a program.

仮想マシンの移動に関連して幾つかの技術が提案されている。例えば、特許文献1には、仮想マシンの移動計画を立案し、実行する仮想マシン移動制御装置が示されている。
図13は、特許文献1に示されている仮想マシン移動制御装置の構成を示すブロック図である。この仮想マシン移動制御装置1010は、仮想マシン監視部1011、移動計画立案部1012、所要時間推計部1013、評価部1014、計画実行部1015を有する。また、仮想マシン移動制御装置1010は、仮想マシン1030が動作している物理マシン1020と接続されている。
Several techniques have been proposed in connection with the movement of virtual machines. For example, Patent Document 1 discloses a virtual machine movement control device that creates and executes a movement plan for a virtual machine.
FIG. 13 is a block diagram illustrating a configuration of the virtual machine movement control device disclosed in Patent Document 1. As illustrated in FIG. The virtual machine movement control apparatus 1010 includes a virtual machine monitoring unit 1011, a movement plan planning unit 1012, a required time estimation unit 1013, an evaluation unit 1014, and a plan execution unit 1015. Further, the virtual machine migration control apparatus 1010 is connected to a physical machine 1020 on which the virtual machine 1030 is operating.

この仮想マシン移動制御装置1010は、物理マシン1020で稼動する仮想マシン1030の移動状況に応じて、仮想マシン1030が現在稼動している物理マシン1020から他の物理マシン1020へ移動するための移動計画を移動計画立案部1012で立案する。そして、仮想マシン移動制御装置1010は、立案した移動計画の移動所要時間と現在実行中の仮想マシン1030の移動計画の移動所要時間を評価部1014で比較し、立案された移動計画と現在実行中の仮想マシン1030の移動計画とでは、どちらの移動計画の終了時刻が早いかを評価する。計画実行部1015は、評価部1014によって評価された結果、立案された移動計画の終了時刻が現在実行中の仮想マシン1030の移動計画の終了時刻よりも早い場合には、立案された移動計画を実行する。
これにより、ユーザ数や、サービスの利用量の変化が激しい状況下であっても、仮想マシンの移動にかかる所要時間を短縮することが可能であるとされている。
The virtual machine movement control apparatus 1010 is a movement plan for moving the virtual machine 1030 from the currently operating physical machine 1020 to another physical machine 1020 according to the movement status of the virtual machine 1030 operating on the physical machine 1020. Is planned by the movement planning unit 1012. Then, the virtual machine movement control apparatus 1010 compares the movement required time of the planned movement plan with the movement required time of the movement plan of the currently executed virtual machine 1030 by the evaluation unit 1014, and compares the planned movement plan with the current execution time. The migration plan of the virtual machine 1030 is evaluated as to which migration plan end time is earlier. As a result of the evaluation by the evaluation unit 1014, the plan execution unit 1015 determines the planned migration plan when the planned migration plan end time is earlier than the migration plan end time of the currently executing virtual machine 1030. Run.
As a result, the time required to move the virtual machine can be shortened even under a situation where the number of users and the usage amount of the service are drastically changed.

特開2011−138184号公報JP 2011-138184 A

ユーザ数やサービスの利用量の変動が激しい状況下では、特許文献1に記載の仮想マシン移動制御装置が仮想マシンを移動させる際の転送スループット、言い換えると、仮想マシンの移動に利用できるネットワーク帯域が変動する。例えば、特許文献1に記載の仮想マシン移動制御装置が移動所要時間を推定した後、移動計画立案までの間にネットワーク帯域が変動すると、当該仮想マシン移動制御装置は、現状(計画立案時の状況)に適した移動計画を立案できないおそれがある。このため、当該仮想マシン移動装置が、移動所要時間を短縮できないおそれがある。   Under a situation where the number of users and the usage amount of the service are drastically changed, the transfer throughput when the virtual machine movement control device described in Patent Document 1 moves the virtual machine, in other words, the network bandwidth that can be used for moving the virtual machine is not sufficient. fluctuate. For example, if the network bandwidth fluctuates between the time when the virtual machine movement control device described in Patent Document 1 estimates the required movement time and before the movement planning, the virtual machine movement control device ) May not be able to make a travel plan suitable for For this reason, the virtual machine migration apparatus may not be able to reduce the time required for migration.

また、特許文献1に記載の仮想マシン移動制御装置が、現状に適した移動計画を立案できた場合でも、その後のネットワーク帯域の変動に対応するために、移動計画の立案を頻繁に行う必要が生じ得る。移動計画の立案を頻繁に行うことで、当該仮想マシン移動制御装置の負荷が上昇してしまう。   Further, even when the virtual machine movement control device described in Patent Document 1 can make a movement plan suitable for the current situation, it is necessary to frequently make a movement plan in order to cope with subsequent fluctuations in the network bandwidth. Can occur. By frequently creating a migration plan, the load on the virtual machine migration control device increases.

本発明は、上述の課題を解決することのできる仮想マシン移動制御システム、仮想マシン移動方法およびプログラムを提供することを目的としている。   An object of the present invention is to provide a virtual machine migration control system, a virtual machine migration method, and a program that can solve the above-described problems.

この発明は上述した課題を解決するためになされたもので、本発明の一態様による仮想マシン移動制御システムは、ネットワーク帯域の予約を行うネットワーク帯域確保手段と、前記ネットワーク帯域確保手段が予約したネットワーク帯域に基づいて仮想マシンの移動計画を立案する移動計画立案手段と、前記移動計画立案手段が立案した前記仮想マシンの移動計画に基づいて、仮想マシンの移動を実行する仮想マシン移動実行手段と、を具備することを特徴とする。   The present invention has been made to solve the above-described problems. A virtual machine migration control system according to an aspect of the present invention includes a network bandwidth securing unit that reserves a network bandwidth, and a network reserved by the network bandwidth securing unit. A migration plan planning unit that formulates a migration plan of a virtual machine based on a bandwidth; a virtual machine migration execution unit that executes a migration of a virtual machine based on the migration plan of the virtual machine that is planned by the migration plan planning unit; It is characterized by comprising.

また、本発明の一態様による仮想マシン移動方法は、仮想マシン移動制御システムの仮想マシン移動方法であって、ネットワーク帯域の予約を行うネットワーク帯域確保ステップと、前記ネットワーク帯域確保手段が予約したネットワーク帯域に基づいて仮想マシンの移動計画を立案する移動計画立案ステップと、前記移動計画立案手段が立案した前記仮想マシンの移動計画に基づいて、仮想マシンの移動を実行する仮想マシン移動実行ステップと、を具備することを特徴とする。   The virtual machine migration method according to one aspect of the present invention is a virtual machine migration method of a virtual machine migration control system, wherein a network bandwidth securing step for reserving a network bandwidth and a network bandwidth reserved by the network bandwidth securing means A migration plan planning step for formulating a migration plan for a virtual machine based on the virtual machine migration execution step for executing a migration of a virtual machine based on the migration plan for the virtual machine formulated by the migration plan planning unit. It is characterized by comprising.

また、本発明の一態様によるプログラムは、仮想マシン移動制御システムとしてのコンピュータに、ネットワーク帯域の予約を行うネットワーク帯域確保ステップと、前記ネットワーク帯域確保手段が予約したネットワーク帯域に基づいて仮想マシンの移動計画を立案する移動計画立案ステップと、前記移動計画立案手段が立案した前記仮想マシンの移動計画に基づいて、仮想マシンの移動を実行する仮想マシン移動実行ステップと、を実行させるためのプログラムである。   A program according to an aspect of the present invention includes a network bandwidth securing step for reserving a network bandwidth in a computer as a virtual machine migration control system, and a virtual machine migration based on the network bandwidth reserved by the network bandwidth securing means. A program for executing a migration plan planning step for formulating a plan, and a virtual machine migration execution step for executing migration of a virtual machine based on the migration plan of the virtual machine designed by the migration plan planning unit .

本発明によれば、仮想マシンの移動計画をより適切に立案することができ、また、移動計画の立案の頻発を抑制することができる。   ADVANTAGE OF THE INVENTION According to this invention, the migration plan of a virtual machine can be drawn more appropriately, and the frequent occurrence of the planning of a migration plan can be suppressed.

本発明の第1の実施形態における仮想マシン移動制御システムの機能構成を示す概略ブロック図である。It is a schematic block diagram which shows the function structure of the virtual machine movement control system in the 1st Embodiment of this invention. 同実施形態においてメモリ書き換え量格納部が記憶するデータのデータ構造例を示す説明図である。It is explanatory drawing which shows the example of a data structure of the data which a memory rewrite amount storage part memorize | stores in the same embodiment. 同実施形態において動的負荷分散機構が生成する移動計画の一例を示す説明図である。It is explanatory drawing which shows an example of the movement plan which a dynamic load distribution mechanism produces | generates in the same embodiment. 同実施形態において、仮想マシン移動制御システムが、仮想マシンの移動予約を設定する処理手順を示すフローチャートである。5 is a flowchart showing a processing procedure for setting a virtual machine migration reservation by the virtual machine migration control system in the embodiment. 同実施形態における仮想マシン移動制御システムの、より具体的な構成例を示す概略構成図である。It is a schematic block diagram which shows the more specific structural example of the virtual machine movement control system in the embodiment. 本発明の第2の実施形態における仮想マシン移動制御システムの機能構成を示す概略ブロック図である。It is a schematic block diagram which shows the function structure of the virtual machine movement control system in the 2nd Embodiment of this invention. 同実施形態においてメモリ書き換え量格納部が記憶するデータのデータ構造例を示す説明図である。It is explanatory drawing which shows the example of a data structure of the data which a memory rewrite amount storage part memorize | stores in the same embodiment. 同実施形態において、仮想マシン移動制御システムが、仮想マシンの移動予約を設定する処理手順を示すフローチャートである。5 is a flowchart showing a processing procedure for setting a virtual machine migration reservation by the virtual machine migration control system in the embodiment. 同実施形態において、メモリ書き換え量推定手段が、仮想マシンのメモリ書き換え量を推定(予測)する処理の手順を示すフローチャートである。5 is a flowchart illustrating a procedure of processing in which a memory rewrite amount estimation unit estimates (predicts) a memory rewrite amount of a virtual machine in the embodiment. 本発明の第3の実施形態における仮想マシン移動制御システムの機能構成を示す概略ブロック図である。It is a schematic block diagram which shows the function structure of the virtual machine movement control system in the 3rd Embodiment of this invention. 同実施形態において、仮想マシン移動制御システムが、仮想マシンの移動予約を設定する処理手順を示すフローチャートである。5 is a flowchart showing a processing procedure for setting a virtual machine migration reservation by the virtual machine migration control system in the embodiment. 仮想マシン移動制御システムにおける本発明の最小構成を示す概略ブロック図である。It is a schematic block diagram which shows the minimum structure of this invention in a virtual machine movement control system. 特許文献1に示されている仮想マシン移動制御装置の構成を示すブロック図である。10 is a block diagram illustrating a configuration of a virtual machine movement control device disclosed in Patent Document 1. FIG.

<第1の実施形態>
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本発明の第1の実施形態における仮想マシン移動制御システムの機能構成を示す概略ブロック図である。同図において、仮想マシン移動制御システム1は、仮想マシン400と、メモリ書き換え量監視手段500と、メモリ書き換え量格納部600と、仮想マシン移動安定化装置100と、動的負荷分散機構(移動計画立案手段)300と、仮想マシン移動実行手段700と、ネットワーク帯域確保手段200とを具備する。仮想マシン移動安定化装置100は、ネットワーク帯域計算手段110と、仮想マシン移動時間推定手段120とを具備する。
<First Embodiment>
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a schematic block diagram showing a functional configuration of a virtual machine migration control system according to the first embodiment of the present invention. In the figure, a virtual machine movement control system 1 includes a virtual machine 400, a memory rewrite amount monitoring unit 500, a memory rewrite amount storage unit 600, a virtual machine movement stabilization device 100, a dynamic load distribution mechanism (movement plan). (Planning means) 300, virtual machine movement execution means 700, and network bandwidth securing means 200. The virtual machine movement stabilization device 100 includes network bandwidth calculation means 110 and virtual machine movement time estimation means 120.

仮想マシン400は、物理マシン上で、コンピュータを擬似的に構築するプログラムであり、本発明における移動対象である。ここで、仮想マシン移動制御システム1は、仮想マシン400を構築可能(プログラムとしての仮想マシン400を実行可能)な複数の物理マシンに接続されて通信可能である。また、物理マシン同士もネットワークで接続されて通信可能である。そして、仮想マシン移動制御システム1は、仮想マシン400を構築するためのデータ(プログラムを含む)を物理マシン間で伝送させることで、仮想マシンを物理マシン間で移動させる。   The virtual machine 400 is a program for constructing a computer on a physical machine in a pseudo manner, and is a movement target in the present invention. Here, the virtual machine movement control system 1 is connected to and can communicate with a plurality of physical machines that can construct the virtual machine 400 (execute the virtual machine 400 as a program). In addition, physical machines can communicate with each other by being connected via a network. The virtual machine movement control system 1 moves the virtual machine between the physical machines by transmitting data (including a program) for constructing the virtual machine 400 between the physical machines.

メモリ書き換え量監視手段500は、仮想マシン400のメモリ書き換えを監視し、単位時間当たりのメモリ書き換え量を測定する。ここで、仮想マシンのメモリ書き換えとは、仮想マシンの移動に際して伝送されるデータ(例えば、仮想マシンの構成や状態を示すデータや、仮想マシンが記憶するデータなど各種データ)の更新であり、データの追加(新規登録)および削除を含む。
メモリ書き換え量監視手段500は、測定したメモリ書き換え量をメモリ書き換え量格納部600に記憶させる。
The memory rewrite amount monitoring unit 500 monitors the memory rewrite of the virtual machine 400 and measures the memory rewrite amount per unit time. Here, the memory rewriting of the virtual machine is an update of data transmitted when the virtual machine is moved (for example, various data such as data indicating the configuration and state of the virtual machine and data stored in the virtual machine). Including addition (new registration) and deletion.
The memory rewrite amount monitoring unit 500 stores the measured memory rewrite amount in the memory rewrite amount storage unit 600.

メモリ書き換え量格納部600は、メモリ書き換え量監視手段500が測定した、仮想マシン400のメモリ書き換え量を格納(記憶)する。
図2は、メモリ書き換え量格納部600が記憶するデータのデータ構造例を示す説明図である。同図において、メモリ書き換え量格納部600は、テーブル(表)形式のデータを格納(記憶)しており、1行が1つの仮想マシン400に対応している。
The memory rewrite amount storage unit 600 stores (stores) the memory rewrite amount of the virtual machine 400 measured by the memory rewrite amount monitoring unit 500.
FIG. 2 is an explanatory diagram showing an example of the data structure of data stored in the memory rewrite amount storage unit 600. In the figure, a memory rewrite amount storage unit 600 stores (stores) data in a table format, and one row corresponds to one virtual machine 400.

図2に示すデータ構造にて、メモリ書き換え量格納部600は、仮想マシン400毎に、仮想マシン名601と、仮想マシン400のメモリ使用量602と、単位時間当たりのメモリ書き換え量603とを格納している。ここで、仮想マシン400のメモリ使用量とは、当該仮想マシン400の移動に際して伝送されるデータのデータ量である。以下では、メモリ書き換え量格納部600が記憶するデータを、「メモリ書き換え量データ」と称する。
なお、図2では、メモリ書き換え量の単位時間を1秒としているが、これに限らない。例えばミリ秒など、様々な単位時間を用いることができる。
メモリ書き換え量格納部600は、メモリ書き換え量監視手段500の書き込みに従ってデータを記憶し、記憶しているデータを、ネットワーク帯域計算手段100の読み込みに従って出力する。
In the data structure shown in FIG. 2, the memory rewrite amount storage unit 600 stores, for each virtual machine 400, a virtual machine name 601, a memory usage amount 602 of the virtual machine 400, and a memory rewrite amount 603 per unit time. doing. Here, the memory usage of the virtual machine 400 is the amount of data transmitted when the virtual machine 400 is moved. Hereinafter, the data stored in the memory rewrite amount storage unit 600 is referred to as “memory rewrite amount data”.
In FIG. 2, the unit time of the memory rewrite amount is 1 second, but is not limited to this. Various unit times, such as milliseconds, can be used.
The memory rewrite amount storage unit 600 stores data according to the writing of the memory rewrite amount monitoring unit 500 and outputs the stored data according to the reading of the network bandwidth calculating unit 100.

動的負荷分散機構300は、2つの役割を有する。1つは、仮想マシン移動安定化装置100(ネットワーク帯域計算手段110)へ、仮想マシン400の最大移動許容時間を出力することである。ここで、仮想マシン400の最大移動許容時間とは、仮想マシン400の移動に許容される上限時間であり、仮想マシン400の移動を何分、もしくは何秒以内に終了させることの要求を示す。
動的負荷分散機構300は、この要求を、仮想マシン毎に、仮想マシン名と仮想マシン400の最大移動許容時間との組み合わせとして仮想マシン移動安定化装置100へ出力する。
The dynamic load distribution mechanism 300 has two roles. One is to output the maximum allowable movement time of the virtual machine 400 to the virtual machine movement stabilization apparatus 100 (network bandwidth calculation unit 110). Here, the maximum allowable movement time of the virtual machine 400 is an upper limit time allowed for the movement of the virtual machine 400, and indicates a request for ending the movement of the virtual machine 400 within minutes or seconds.
The dynamic load distribution mechanism 300 outputs this request to the virtual machine movement stabilization apparatus 100 as a combination of the virtual machine name and the maximum movement allowable time of the virtual machine 400 for each virtual machine.

ここで、動的負荷分散機構300が最大移動許容時間を取得する方法として、様々な方法を用いることができる。例えば、動的負荷分散機構300が、最大移動許容時間を、一律の定数あるいは仮想マシン毎の定数として予め記憶するようにしてもよい。あるいは、動的負荷分散機構300が、最大移動許容時間を入力するユーザ操作を受け付けるようにしてもよい。
動的負荷分散機構300のもう一つの役割は、仮想マシン移動安定化装置100から出力される仮想マシン移動所要時間を元に、仮想マシン400の移動計画を立案することである。
Here, various methods can be used as a method by which the dynamic load distribution mechanism 300 acquires the maximum allowable movement time. For example, the dynamic load distribution mechanism 300 may store the maximum allowable movement time in advance as a uniform constant or a constant for each virtual machine. Alternatively, the dynamic load distribution mechanism 300 may accept a user operation for inputting the maximum allowable movement time.
Another role of the dynamic load balancing mechanism 300 is to create a migration plan for the virtual machine 400 based on the required time for moving the virtual machine output from the virtual machine migration stabilization apparatus 100.

なお、本実施形態では、仮想マシン移動制御システム1が、物理マシンの負荷分散を目的として仮想マシン400の移動を行う場合について説明する。例えば、仮想マシンサーバを複数備えるデータセンターにおけるサーバ負荷の分散に、仮想マシン移動制御システム1を用いることができる。
ただし、本発明は、仮想マシンの移動目的に依存しない。例えば、物理マシンの稼働台数の削減など、様々な目的で仮想マシン400の移動を行う際に、本発明を適用し得る。例えば、仮想マシンサーバを複数備えるデータセンターにおいて、サーバ稼働台数を低減させ、サーバ消費電力を削減するために、仮想マシン移動制御システム1を用いることができる。
In the present embodiment, a case will be described in which the virtual machine movement control system 1 moves the virtual machine 400 for the purpose of load distribution of physical machines. For example, the virtual machine migration control system 1 can be used for distributing server loads in a data center including a plurality of virtual machine servers.
However, the present invention does not depend on the purpose of moving the virtual machine. For example, the present invention can be applied when moving the virtual machine 400 for various purposes such as reduction of the number of operating physical machines. For example, in a data center including a plurality of virtual machine servers, the virtual machine movement control system 1 can be used to reduce the number of operating servers and reduce server power consumption.

図3は、動的負荷分散機構300が生成する移動計画の一例を示す説明図である。同図を参照すると、動的負荷分散機構300が生成する移動計画は、時刻(移動開始時刻)301と、仮想マシン名302と、移動先物理マシン名303とを含む。この移動計画を元に、動的負荷分散機構300は、仮想マシン移動実行手段700に対して仮想マシン400の移動を命令する。動的負荷分散機構300は、自らの生成した移動計画を記憶しておき、当該移動計画に基づいて、仮想マシン移動実行手段700に移動命令を出力する。   FIG. 3 is an explanatory diagram illustrating an example of a movement plan generated by the dynamic load distribution mechanism 300. Referring to the figure, the migration plan generated by the dynamic load distribution mechanism 300 includes a time (migration start time) 301, a virtual machine name 302, and a migration destination physical machine name 303. Based on this movement plan, the dynamic load distribution mechanism 300 instructs the virtual machine movement execution means 700 to move the virtual machine 400. The dynamic load distribution mechanism 300 stores the migration plan generated by itself and outputs a migration command to the virtual machine migration execution unit 700 based on the migration plan.

仮想マシン移動実行手段700は、動的負荷分散機構300からの移動命令に基づいて、仮想マシン400を移動させる。
ネットワーク帯域確保手段200は、ネットワーク帯域の予約と開放との手段を提供する。予約されたネットワーク帯域は他のプログラムによって利用されることは無い。例えば、帯域幅が1Gbps(ギガビット毎秒)のネットワークが、仮想マシン400の移動元と移動先の間に存在すると仮定する。そのうち、ネットワーク帯域確保手段200が、10Mbps(メガビット毎秒)の帯域を、ある仮想マシン400の移動用に予約したとすると、他のプログラムは最大でも990Mbpsのネットワーク帯域しか使えない。
The virtual machine movement execution unit 700 moves the virtual machine 400 based on the movement command from the dynamic load distribution mechanism 300.
Network bandwidth securing means 200 provides means for reserving and releasing network bandwidth. The reserved network bandwidth is not used by other programs. For example, it is assumed that a network having a bandwidth of 1 Gbps (gigabit per second) exists between the migration source and the migration destination of the virtual machine 400. Of these, if the network bandwidth securing means 200 reserves a bandwidth of 10 Mbps (megabits per second) for movement of a certain virtual machine 400, other programs can use only a network bandwidth of 990 Mbps at the maximum.

ネットワーク帯域確保手段200は、ネットワーク経路とネットワーク帯域との入力情報を、仮想マシン移動安定化装置100(ネットワーク帯域計算手段110)から受けて、ネットワーク帯域の予約を行う。そして、ネットワーク帯域確保手段200は、出力情報として、実際に確保できたネットワーク帯域を、仮想マシン移動安定化装置100(ネットワーク帯域計算手段110)へ出力する。   The network bandwidth securing unit 200 receives the input information of the network route and the network bandwidth from the virtual machine migration stabilization apparatus 100 (network bandwidth calculation unit 110) and reserves the network bandwidth. Then, the network bandwidth securing unit 200 outputs the network bandwidth actually secured as output information to the virtual machine migration stabilization apparatus 100 (network bandwidth computing unit 110).

仮想マシン移動安定化装置100において、ネットワーク帯域計算手段110は、動的負荷分散機構300からの、最大移動許容時間と、移動対象となる仮想マシン400のメモリ書き換え量と、移動対象となる仮想マシン400のメモリ使用量とから、当該仮想マシン400の移動に必要なネットワーク帯域を計算する。そして、ネットワーク帯域計算手段110は、ネットワーク帯域確保手段200に対して、計算したネットワーク帯域の予約を要求する。   In the virtual machine movement stabilization apparatus 100, the network bandwidth calculation unit 110 includes the maximum allowable movement time from the dynamic load distribution mechanism 300, the memory rewrite amount of the virtual machine 400 to be moved, and the virtual machine to be moved. From the memory usage amount of 400, the network bandwidth necessary for the movement of the virtual machine 400 is calculated. Then, the network bandwidth calculating unit 110 requests the network bandwidth securing unit 200 to reserve the calculated network bandwidth.

ここで、ネットワーク帯域計算手段110が行う帯域の計算方法の例について説明する。
まず、仮想マシン400のメモリ使用量をM、ネットワーク帯域(当該仮想マシン400の移動に用いられるネットワーク帯域)をtp、当該仮想マシン400の単位時間当たりのメモリ書き換え量をrで示す。すると、当該仮想マシン400のメモリ使用量Mを移動(データ転送)するのに要する時間は、M/tpとなる。この時間M/tpの間に書き換えられたデータの転送に要する時間は、(M/tp)rとなる。さらに、このデータ転送の間に書き換えられたデータの転送が必要になる、というように、i番目のデータ転送に要する時間は、数式(1)のように示される。
Here, an example of a bandwidth calculation method performed by the network bandwidth calculation unit 110 will be described.
First, the memory usage of the virtual machine 400 is denoted by M, the network bandwidth (network bandwidth used for moving the virtual machine 400) is denoted by tp, and the memory rewrite amount per unit time of the virtual machine 400 is denoted by r. Then, the time required to move (data transfer) the memory usage M of the virtual machine 400 is M / tp. The time required to transfer the rewritten data during this time M / tp is (M / tp) r. Further, the time required for the i-th data transfer is expressed as in Equation (1), such that the rewritten data needs to be transferred during the data transfer.

Figure 2013200615
Figure 2013200615

ここで、転送元と転送先とでデータの差異が充分小さくなるようデータ転送を繰り返すことを想定して、データ転送回数nをn→∞とすると、当該仮想マシン400の転送に要する時間(最大転送時間)Tは、数式(2)のように示される。   Here, assuming that the data transfer is repeated so that the difference in data between the transfer source and the transfer destination becomes sufficiently small, if the data transfer count n is changed from n to ∞, the time required for transfer of the virtual machine 400 (maximum) (Transfer time) T is expressed as in Equation (2).

Figure 2013200615
Figure 2013200615

ただし、tp>rを条件とする。すなわち、単位時間当たりのメモリ書き換え量以上のネットワーク帯域を確保できない場合、仮想マシン400の転送を完了させることができない。
数式(2)についてネットワーク帯域tpを左辺とする等式に書き換えると、数式(3)が得られる。
However, tp> r is a condition. In other words, when the network bandwidth exceeding the memory rewrite amount per unit time cannot be secured, the transfer of the virtual machine 400 cannot be completed.
Rewriting equation (2) into an equation with the network band tp as the left side, equation (3) is obtained.

Figure 2013200615
Figure 2013200615

ここで、vm1は、移動対象となる1つ以上の仮想マシン400のうちの1つを示す。また、tpvm1、Mvm1、Tvm1、rvm1は、それぞれ、仮想マシンvm1の移動に必要なネットワーク帯域、仮想マシンvm1のメモリ使用量、仮想マシンvm1の最大転送時間、仮想マシンvm1の単位時間当たりのメモリ書き換え量を示す。移動対象となる仮想マシン400が複数ある場合、仮想マシンvm2、vm3・・・についても同様である。 Here, vm1 indicates one of one or more virtual machines 400 to be moved. In addition, tp vm1 , M vm1 , T vm1 , and r vm1 are the network bandwidth necessary for moving the virtual machine vm1, the memory usage of the virtual machine vm1, the maximum transfer time of the virtual machine vm1, and the unit time of the virtual machine vm1, respectively. Indicates the amount of memory rewriting per hit. The same applies to the virtual machines vm2, vm3... When there are a plurality of virtual machines 400 to be moved.

ネットワーク帯域計算手段110は、この数式(3)に、最大移動許容時間と、仮想マシン400のメモリ書き換え量と、仮想マシン400のメモリサイズとを代入して、必要なネットワーク帯域を計算する。具体的には、ネットワーク帯域計算手段110は、メモリ書き換え量格納部600から、仮想マシンのメモリ使用量を読み出して、仮想マシン400のメモリサイズとして用いる。また、ネットワーク帯域計算手段110は、メモリ書き換え量格納部600から、1秒当たりの平均書き換え量を読み出して、仮想マシン400のメモリ書き換え量として用いる。仮想マシン400は、これらのデータと、動的負荷分散機構300からの最大移動許容時間とを数式(3)に代入して、必要なネットワーク帯域を計算する。   The network bandwidth calculation unit 110 calculates the necessary network bandwidth by substituting the maximum allowable movement time, the memory rewrite amount of the virtual machine 400, and the memory size of the virtual machine 400 into this equation (3). Specifically, the network bandwidth calculation unit 110 reads the memory usage of the virtual machine from the memory rewrite amount storage unit 600 and uses it as the memory size of the virtual machine 400. Further, the network bandwidth calculation unit 110 reads the average rewrite amount per second from the memory rewrite amount storage unit 600 and uses it as the memory rewrite amount of the virtual machine 400. The virtual machine 400 calculates the necessary network bandwidth by substituting these data and the maximum allowable movement time from the dynamic load distribution mechanism 300 into Equation (3).

ただし、数式(4)に示すとおり、あるネットワークを利用して移動する仮想マシン400がN個(Nは自然数)存在する場合、仮想マシン400の移動に必要なネットワーク帯域の総和が、予約できる最大ネットワーク帯域を超えてはならない。   However, as shown in Formula (4), when there are N virtual machines 400 that move using a certain network (N is a natural number), the total network bandwidth necessary for moving the virtual machines 400 is the maximum that can be reserved. Do not exceed network bandwidth.

Figure 2013200615
Figure 2013200615

数式(4)において、tpvm1、tpvm2、・・・、tpvmNは、それぞれ、仮想マシンvm1、vm2、・・・、vmNの移動に必要なネットワーク帯域を示す。また、tpmaxは、仮想マシン400の移動に必要なネットワーク帯域の総和を示す。
仮想マシン400の移動に必要なネットワーク帯域の総和が、予約できる最大ネットワーク帯域を超える場合、ネットワーク帯域計算手段110は、必要なネットワーク帯域の調整を行う。具体的には、ネットワーク帯域計算手段110は、移動する仮想マシン400で必要なネットワーク帯域の総和が、予約できる最大ネットワーク帯域を超えないように調整する。例えば、ネットワーク帯域計算手段110は、個々の仮想マシン400の移動に用いるネットワーク帯域を、tp>rの範囲内で減らすか、各仮想マシン400の移動優先度を元に、当該仮想マシン400のいくつかを移動対象から除外する。
In Expression (4), tp vm1 , tp vm2 ,..., Tp vmN indicate network bandwidths necessary for movement of the virtual machines vm1, vm2,. Also, tp max indicates the total network bandwidth necessary for moving the virtual machine 400.
When the sum of the network bandwidths necessary for the movement of the virtual machine 400 exceeds the maximum network bandwidth that can be reserved, the network bandwidth calculation means 110 adjusts the necessary network bandwidth. Specifically, the network bandwidth calculation unit 110 adjusts so that the sum of the network bandwidths necessary for the moving virtual machine 400 does not exceed the maximum network bandwidth that can be reserved. For example, the network bandwidth calculation unit 110 reduces the network bandwidth used for the movement of each virtual machine 400 within the range of tp> r, or determines how many of the virtual machines 400 are based on the movement priority of each virtual machine 400. Is excluded from the movement target.

調整を行っても、仮想マシン400の移動に必要なネットワーク帯域の総和が、予約できる最大ネットワーク帯域を必ず超えてしまう場合、ネットワーク帯域計算手段110は、動的負荷分散機構300に対して、予約に失敗したことを通知する。一方、仮想マシン400の移動に必要なネットワーク帯域を全て予約できる場合、ネットワーク帯域計算手段110は、ネットワーク帯域確保手段200を用いて、当該ネットワーク帯域を予約する。ネットワーク帯域の予約後、ネットワーク帯域計算手段110は、実際に予約できたネットワーク帯域を仮想マシン移動時間推定手段120に通知する。   If the total network bandwidth necessary for moving the virtual machine 400 always exceeds the maximum network bandwidth that can be reserved even after the adjustment, the network bandwidth calculator 110 makes a reservation to the dynamic load distribution mechanism 300. Notify that failed. On the other hand, when all the network bandwidths necessary for the movement of the virtual machine 400 can be reserved, the network bandwidth calculation unit 110 reserves the network bandwidth using the network bandwidth securing unit 200. After reserving the network bandwidth, the network bandwidth calculation means 110 notifies the virtual machine movement time estimation means 120 of the network bandwidth that can actually be reserved.

仮想マシン移動時間推定手段120は、ネットワーク帯域確保手段200で実際に確保されたネットワーク帯域を受け取って、仮想マシン400の移動時間を推定する。仮想マシン移動時間推定手段120は、数式(2)を用いて移動時間を推定し、推定結果を、仮想マシン名と推定移動時間との組み合わせにて、動的負荷分散機構300へ通知する。   The virtual machine movement time estimation unit 120 receives the network band actually reserved by the network band reservation unit 200 and estimates the movement time of the virtual machine 400. The virtual machine movement time estimation unit 120 estimates the movement time using Expression (2), and notifies the dynamic load distribution mechanism 300 of the estimation result by a combination of the virtual machine name and the estimated movement time.

なお、仮想マシン400の移動に利用可能なネットワークが複数存在していてもよい。この場合、ネットワーク帯域計算手段110は、ネットワーク毎にこれら帯域の計算を行なう。
例えば、仮想マシン400の移動に利用可能なネットワークが4本存在する場合、より具体的には、仮想マシン400の移動元に接続されているネットワークケーブルが4本あり、それぞれが独立した経路を持っている場合、それぞれのネットワークに対してネットワーク帯域計算手段110を設ける。それぞれのネットワーク帯域計算手段110は、それぞれのネットワークの予約できる最大ネットワーク帯域を予め記憶している。
この場合、動的負荷分散機構300は、仮想マシン名と当該仮想マシン400の最大移動許容時間とに加えて、ネットワーク名を、ネットワーク帯域計算手段110に出力する。
There may be a plurality of networks that can be used to move the virtual machine 400. In this case, the network bandwidth calculation means 110 calculates these bandwidths for each network.
For example, if there are four networks that can be used to move the virtual machine 400, more specifically, there are four network cables connected to the movement source of the virtual machine 400, each having an independent route. Network bandwidth calculation means 110 is provided for each network. Each network bandwidth calculation unit 110 stores in advance the maximum network bandwidth that can be reserved for each network.
In this case, the dynamic load distribution mechanism 300 outputs the network name to the network bandwidth calculation unit 110 in addition to the virtual machine name and the maximum allowable movement time of the virtual machine 400.

次に、図4を参照して仮想マシン移動制御システム1の動作について説明する。
図4は、仮想マシン移動制御システム1が、仮想マシンの移動予約を設定する処理手順を示すフローチャートである。
Next, the operation of the virtual machine migration control system 1 will be described with reference to FIG.
FIG. 4 is a flowchart illustrating a processing procedure in which the virtual machine migration control system 1 sets a migration reservation for a virtual machine.

同図の処理において、まず、動的負荷分散機構300が、仮想マシン移動安定化装置100(ネットワーク帯域計算手段110)へ、仮想マシン400毎の最大移動許容時間を出力する(ステップS1)。具体的には、動的負荷分散機構300は、仮想マシン400の仮想マシン名と当該仮想マシン400の最大移動許容時間との組み合わせにて、仮想マシン400毎の最大移動許容時間を出力する。   In the process shown in FIG. 5, first, the dynamic load distribution mechanism 300 outputs the maximum allowable movement time for each virtual machine 400 to the virtual machine movement stabilization apparatus 100 (network bandwidth calculation unit 110) (step S1). Specifically, the dynamic load distribution mechanism 300 outputs the maximum allowable movement time for each virtual machine 400 by a combination of the virtual machine name of the virtual machine 400 and the maximum allowable movement time of the virtual machine 400.

次に、ネットワーク帯域計算手段110は、当該仮想マシン400のメモリ使用量と単位時間当たりのメモリ書き換え量とを、メモリ書き換え量格納部600から読み込む(ステップS2)。
次に、ネットワーク帯域計算手段110は、各仮想マシンの移動に必要となるネットワーク帯域を計算する(ステップS3)。例えば、ネットワーク帯域計算手段110は、数式(3)を移動対象となる仮想マシン400毎に適用して、ネットワーク帯域を計算する。
Next, the network bandwidth calculation unit 110 reads the memory usage amount of the virtual machine 400 and the memory rewrite amount per unit time from the memory rewrite amount storage unit 600 (step S2).
Next, the network bandwidth calculation unit 110 calculates a network bandwidth necessary for moving each virtual machine (step S3). For example, the network bandwidth calculation unit 110 calculates the network bandwidth by applying Equation (3) to each virtual machine 400 to be moved.

次に、ネットワーク帯域計算手段110は、移動対象となる仮想マシン400で必要なネットワーク帯域の総和が、予約できる最大ネットワーク帯域を超えているかどうかを判定する(ステップS4)。
超えていると判定した場合(ステップS4のYES)、ネットワーク帯域計算手段110は、計算した仮想マシン400毎のネットワーク帯域を縮小する(ステップS5)。その際、ネットワーク帯域計算手段110が、仮想マシン400毎に一律に縮小しても良いし、優先度を設けて、優先的に縮小する仮想マシン400を決めておいても良い。
Next, the network bandwidth calculation unit 110 determines whether or not the sum of the network bandwidths necessary for the virtual machine 400 to be moved exceeds the maximum network bandwidth that can be reserved (step S4).
When it is determined that the network bandwidth has been exceeded (YES in step S4), the network bandwidth calculation unit 110 reduces the calculated network bandwidth for each virtual machine 400 (step S5). At this time, the network bandwidth calculation unit 110 may reduce the virtual machine 400 uniformly for each virtual machine 400, or may determine the virtual machine 400 to be preferentially reduced by providing a priority.

そして、ネットワーク帯域計算手段110は、移動対象となる仮想マシン400のうち、当該仮想マシン400のためのネットワーク帯域よりも、当該仮想マシン400の単位時間当たりのメモリ書き換え量が多いものが存在するか否かを判定する(ステップS6)。   Then, the network bandwidth calculation unit 110 has a virtual machine 400 to be moved that has a larger memory rewrite amount per unit time than the network bandwidth for the virtual machine 400. It is determined whether or not (step S6).

存在すると判定した場合(ステップS6のYES)、ネットワーク帯域割り当て不可能として、動的負荷分散機構300に通知する。一方、移動対象となる仮想マシン400の全てについて、当該仮想マシン400のためのネットワーク帯域よりも、当該仮想マシン400の単位時間当たりのメモリ書き換え量が少ないと判定した場合(ステップS6のNO)、仮想マシン移動時間推定手段120が、各仮想マシンの移動時間を推定する。   If it is determined that it exists (YES in step S6), the dynamic load distribution mechanism 300 is notified that network bandwidth allocation is impossible. On the other hand, when it is determined that the memory rewrite amount per unit time of the virtual machine 400 is less than the network bandwidth for the virtual machine 400 for all the virtual machines 400 to be moved (NO in step S6). The virtual machine movement time estimation unit 120 estimates the movement time of each virtual machine.

一方、移動対象となる仮想マシン400で必要なネットワーク帯域の総和が、予約できる最大ネットワーク帯域を超えていないと判定した場合(ステップS4のNO)、ネットワーク帯域計算手段110は、ネットワーク帯域確保手段200に仮想マシン毎のネットワーク帯域予約要求を出し、ネットワーク帯域確保手段200は、要求に従ってネットワーク帯域を予約する(ステップS7)。   On the other hand, when it is determined that the total network bandwidth necessary for the virtual machine 400 to be moved does not exceed the maximum network bandwidth that can be reserved (NO in step S4), the network bandwidth calculation unit 110 uses the network bandwidth securing unit 200. A network bandwidth reservation request is issued for each virtual machine, and the network bandwidth securing means 200 reserves the network bandwidth according to the request (step S7).

そして、仮想マシン移動時間推定手段120は、ネットワーク帯域確保手段200が実際に予約できたネットワーク帯域に基づいて、仮想マシン400の移動時間を推定する(ステップS8)。
その後、同図の処理を終了し、動的負荷分散機構300は、各仮想マシンの推定移動時間を元に、仮想マシン400の移動計画を立案する。そして、仮想マシン移動実行手段700は、動的負荷分散機構300が立案した移動計画に従って、仮想マシンの移動を実行する。
Then, the virtual machine movement time estimation unit 120 estimates the movement time of the virtual machine 400 based on the network band that the network band securing unit 200 can actually reserve (step S8).
Thereafter, the processing in FIG. 6 is terminated, and the dynamic load distribution mechanism 300 creates a migration plan for the virtual machine 400 based on the estimated migration time of each virtual machine. Then, the virtual machine movement execution unit 700 executes the movement of the virtual machine according to the movement plan formulated by the dynamic load distribution mechanism 300.

以上のように、ネットワーク帯域計算手段110は、移動対象となる仮想マシン400の単位時間当たりのメモリ書き換え量、当該仮想マシン400のメモリ量、ならびに当該仮想マシン400の最大移動許容時間から、必要となるネットワーク帯域を計算する。
これにより、ネットワーク帯域計算手段110は、仮想マシン400の移動に必要なネットワーク帯域を、より正確に求めることができる。
As described above, the network bandwidth calculation unit 110 is necessary based on the memory rewrite amount per unit time of the virtual machine 400 to be moved, the memory amount of the virtual machine 400, and the maximum allowable movement time of the virtual machine 400. Calculate the network bandwidth.
As a result, the network bandwidth calculation unit 110 can more accurately determine the network bandwidth necessary for the movement of the virtual machine 400.

そして、ネットワーク帯域確保手段200は、ネットワーク帯域計算手段110が求めたネットワーク帯域に基づいて、ネットワーク帯域の予約を行う。
これにより、ネットワーク帯域確保手段200は、より適切にネットワーク帯域の予約を行うことができ、必要以上にネットワーク帯域を確保する事態や、ネットワーク帯域が不足する事態を低減させることができる。
Then, the network bandwidth securing unit 200 reserves the network bandwidth based on the network bandwidth obtained by the network bandwidth calculation unit 110.
Thereby, the network bandwidth securing means 200 can reserve the network bandwidth more appropriately, and can reduce the situation of securing the network bandwidth more than necessary and the situation where the network bandwidth is insufficient.

また、仮想マシン移動時間推定手段120は、ネットワーク帯域確保手段200が予約したネットワーク帯域に基づいて仮想マシン400の移動時間を推定する。
これにより、仮想マシン移動時間推定手段120は、ネットワーク帯域の安定した(確保された)状態における仮想マシン400の移動時間を推定することができ、仮想マシン400の移動時間(移動にかかる所要時間)をより正確に推定することができる。
The virtual machine movement time estimation unit 120 estimates the movement time of the virtual machine 400 based on the network band reserved by the network band securing unit 200.
Thereby, the virtual machine movement time estimation means 120 can estimate the movement time of the virtual machine 400 in a stable (reserved) state of the network band, and the movement time of the virtual machine 400 (time required for movement). Can be estimated more accurately.

また、動的負荷分散機構300は、ネットワーク帯域確保手段200が予約したネットワーク帯域に基づいて、仮想マシン400の移動計画を立案する。
これにより、動的負荷分散機構300は、ネットワーク帯域の安定した(確保された)状態において、仮想マシン400の移動計画をより適切に立案することができる。すなわち、動的負荷分散機構300は、より短時間で移動完了可能な移動計画を立案することができる。
特に、動的負荷分散機構300は、仮想マシン移動時間推定手段120が推定した仮想マシン400の移動時間に基づいて移動計画を立案することで、仮想マシン400の移動計画をより適切に立案することができる。
Further, the dynamic load distribution mechanism 300 creates a migration plan for the virtual machine 400 based on the network bandwidth reserved by the network bandwidth securing unit 200.
As a result, the dynamic load distribution mechanism 300 can more appropriately make a migration plan for the virtual machine 400 in a stable (reserved) state of the network bandwidth. That is, the dynamic load distribution mechanism 300 can make a movement plan that can be completed in a shorter time.
In particular, the dynamic load distribution mechanism 300 makes a migration plan for the virtual machine 400 more appropriately by making a migration plan based on the migration time of the virtual machine 400 estimated by the virtual machine migration time estimation unit 120. Can do.

そして、仮想マシン移動実行手段700は、動的負荷分散機構300が立案した移動計画に従って、仮想マシン400の移動を実行する。
これにより、仮想マシン移動実行手段700は、ネットワーク帯域確保手段200が予約したネットワーク帯域に基づいて、ネットワーク帯域の安定した(確保された)状態において、仮想マシンの移動を安定的に行なうことができる。
Then, the virtual machine movement execution unit 700 executes the movement of the virtual machine 400 according to the movement plan formulated by the dynamic load distribution mechanism 300.
As a result, the virtual machine movement execution unit 700 can stably move the virtual machine in a stable (reserved) state of the network band based on the network band reserved by the network band securing unit 200. .

特に、仮想マシン移動実行手段700は、動的負荷分散機構300が立案した移動計画に沿って(ほぼ移動計画どおりに)、仮想マシン400の移動を実行することができ、移動計画の見直しを行なう回数を少なくすることができる。すなわち、移動計画の立案の頻発を抑制することができる。
なお、仮想マシン移動制御システムは、例えば、単位時間当たりのメモリ書き換え量が大きく変化した場合に、移動計画の見直しを行なう。
In particular, the virtual machine movement execution means 700 can execute the movement of the virtual machine 400 in accordance with the movement plan established by the dynamic load distribution mechanism 300 (substantially in accordance with the movement plan) and review the movement plan. The number of times can be reduced. That is, the frequent occurrence of the movement plan can be suppressed.
Note that the virtual machine migration control system reviews the migration plan when, for example, the amount of memory rewriting per unit time changes significantly.

次に、仮想マシン移動制御システム1の、より具体的な構成例について説明する。
図5は、仮想マシン移動制御システム1の、より具体的な構成例を示す概略構成図である。同図において、図1の仮想マシン400は、KVM(Kernel-based Virtual Machine)800にて構築される。KVMは、Linux(登録商標)のカーネルをハイパーバイザとして構築する仮想マシンである。また、図1のメモリ書き換え量監視手段500は、Linuxカーネルモジュール810(Linuxは登録商標)にて構築される。
Next, a more specific configuration example of the virtual machine migration control system 1 will be described.
FIG. 5 is a schematic configuration diagram illustrating a more specific configuration example of the virtual machine migration control system 1. In the figure, the virtual machine 400 in FIG. 1 is constructed by a KVM (Kernel-based Virtual Machine) 800. The KVM is a virtual machine that builds a Linux (registered trademark) kernel as a hypervisor. Further, the memory rewrite amount monitoring means 500 in FIG. 1 is constructed by a Linux kernel module 810 (Linux is a registered trademark).

また、図1のメモリ書き換え量格納部600は、SQLサーバ820にて構築される。SQLサーバは、リレーショナル・データベース管理サーバであり、各種データを記憶する。
また、図1の仮想マシン移動実行手段700は、libvirtデーモン840にて構築される。libvirtは、仮想マシンの制御を抽象化したライブラリである。
1 is constructed by the SQL server 820. The SQL server is a relational database management server and stores various data.
Further, the virtual machine movement execution means 700 in FIG. 1 is constructed by the libvirt daemon 840. libvirt is a library that abstracts control of a virtual machine.

また、ネットワーク帯域確保手段200は、オープンフロー(Open Flow)スイッチ830にて構築される。オープンフロースイッチは、オープンフローコントローラにて制御可能なスイッチである。仮想マシン移動制御システム1では、仮想マシン移動安定化装置100が、オープンフロースイッチを制御して、ネットワーク帯域の予約を行わせる。   The network bandwidth securing means 200 is constructed by an Open Flow switch 830. The OpenFlow switch is a switch that can be controlled by an OpenFlow controller. In the virtual machine migration control system 1, the virtual machine migration stabilization device 100 controls the OpenFlow switch to reserve the network bandwidth.

図5に示す構成において、Linuxカーネルモジュール810(Linuxは登録商標)は、KVM800のページテーブルを参照し、メモリ書き換え量を計算する。ここで、ページテーブルとは、ページエントリから構成されるテーブルである。ページテーブルは、ページング方式の仮想記憶システムにおいて、仮想アドレスと物理アドレスとのマッピングを格納する。また、ページエントリとは、ページ単位に区切られたメモリ領域の状態を保持するデータである。ページエントリには、ダーティービットと呼ばれる、ページが書き換えられたかどうかを示す情報が備えられている。   In the configuration shown in FIG. 5, the Linux kernel module 810 (Linux is a registered trademark) refers to the page table of the KVM 800 and calculates the memory rewrite amount. Here, the page table is a table composed of page entries. The page table stores a mapping between a virtual address and a physical address in a paging virtual storage system. A page entry is data that holds the state of a memory area divided into page units. The page entry includes information called a dirty bit indicating whether the page has been rewritten.

Linuxカーネルモジュール810(Linuxは登録商標)は、定期的にダーティービットを参照することによってメモリ書き換え量を計算する。例えば、Linuxカーネルモジュール810(Linuxは登録商標)は、1秒毎にダーティービットを参照して、単位時間1秒にてメモリ書き換え量を計算する。ここで、Linuxカーネルモジュール810(Linuxは登録商標)は、参照後、ダーティービットをクリアする(OFFにする)。従って、次の参照にてダーティービットがONになっていることを検出することで、Linuxカーネルモジュール810(Linuxは登録商標)は、単位時間のうちに、当該ダーティービットに対応するページに書き換えが発生したことを検出できる。   The Linux kernel module 810 (Linux is a registered trademark) periodically calculates the memory rewrite amount by referring to the dirty bit. For example, the Linux kernel module 810 (Linux is a registered trademark) refers to the dirty bit every second and calculates the memory rewrite amount per unit time 1 second. Here, the Linux kernel module 810 (Linux is a registered trademark) clears (turns OFF) the dirty bit after reference. Therefore, by detecting that the dirty bit is turned ON at the next reference, the Linux kernel module 810 (Linux is a registered trademark) can rewrite the page corresponding to the dirty bit within the unit time. You can detect what happened.

SQLサーバ820は、仮想マシン毎のメモリ書き換え量を格納する。具体的には、SQLサーバ820は、仮想マシン名とメモリ書き換え量とを属性情報として、仮想マシンの数だけエントリを持つデータベースとして、メモリ書き換え量を格納する。
libvirtデーモン840は、KVM800のライブマイグレーションを実行する。ここで、ライブマイグレーションとは、仮想マシンをある物理マシンから他の物理マシンへ移動することを指す。
The SQL server 820 stores the memory rewrite amount for each virtual machine. Specifically, the SQL server 820 stores the memory rewrite amount as a database having entries corresponding to the number of virtual machines using the virtual machine name and the memory rewrite amount as attribute information.
The libvirt daemon 840 executes live migration of the KVM 800. Here, live migration refers to moving a virtual machine from one physical machine to another physical machine.

オープンフロースイッチ830は、ネットワーク帯域予約手段を提供する。オープンフロースイッチ830は、ネットワークスイッチの一種であり、フロー毎、つまり、仮想マシンの移動に使われるネットワーク毎にネットワークの速度やその他の振る舞いを制御できるネットワークスイッチである。
例えば、OpenFlowSwitch Specification Version 1.1.0のA.2.2節には、オープンフロースイッチ830における具体的なネットワーク帯域の予約方法が記載されている。その概略は次の通りである。仮想マシンの移動に使うネットワーク(オープンフロースイッチ830におけるフロー)毎にキューを生成し、当該キューのコンフィギュレーションに、最大データ転送保証を設定する。このように、オープンフロースイッチ830は、仮想マシンの移動(データ転送)フローをキューに格納し、各物理マシンに転送されるデータ量を制御することができる(従って、ネットワーク帯域を予約し、確保することができる)。
The open flow switch 830 provides network bandwidth reservation means. The OpenFlow switch 830 is a type of network switch, and is a network switch that can control the speed of the network and other behaviors for each flow, that is, for each network used for moving a virtual machine.
For example, A. of OpenFlowSwitch Specification Version 1.1.0. Section 2.2 describes a specific network bandwidth reservation method in the OpenFlow switch 830. The outline is as follows. A queue is generated for each network (a flow in the OpenFlow switch 830) used for moving a virtual machine, and the maximum data transfer guarantee is set in the configuration of the queue. In this way, the OpenFlow switch 830 can store a virtual machine movement (data transfer) flow in a queue and control the amount of data transferred to each physical machine (thus reserving and securing network bandwidth). can do).

<第2の実施形態>
次に、本発明の第2の実施形態について図面を参照して説明する。
図6は、本発明の第2の実施形態における仮想マシン移動制御システムの機能構成を示す概略ブロック図である。同図において、仮想マシン移動制御システム2は、仮想マシン400と、メモリ書き換え量監視手段500と、メモリ書き換え量格納部600Bと、仮想マシン移動安定化装置100Bと、動的負荷分散機構300と、仮想マシン移動実行手段700と、ネットワーク帯域確保手段200とを具備する。仮想マシン移動安定化装置100Bは、ネットワーク帯域計算手段110Bと、仮想マシン移動時間推定手段120と、メモリ書き換え量推定手段130とを具備する。
<Second Embodiment>
Next, a second embodiment of the present invention will be described with reference to the drawings.
FIG. 6 is a schematic block diagram illustrating a functional configuration of the virtual machine migration control system according to the second embodiment of the present invention. In the figure, the virtual machine movement control system 2 includes a virtual machine 400, a memory rewrite amount monitoring unit 500, a memory rewrite amount storage unit 600B, a virtual machine movement stabilization device 100B, a dynamic load distribution mechanism 300, A virtual machine movement execution unit 700 and a network bandwidth securing unit 200 are provided. The virtual machine migration stabilization apparatus 100B includes a network bandwidth calculation unit 110B, a virtual machine migration time estimation unit 120, and a memory rewrite amount estimation unit 130.

同図に示す仮想マシン移動制御システム2は、仮想マシン移動制御システム1(図1)が具備する各部に加えて、メモリ書き換え量推定手段130を具備する。また、メモリ書き換え量推定手段130の追加に伴って、ネットワーク帯域計算手段110Bおよびメモリ書き換え量格納部600Bが扱うデータの構造が、仮想マシン移動制御システム1の場合と異なっている。   The virtual machine movement control system 2 shown in the figure includes a memory rewrite amount estimation unit 130 in addition to the units included in the virtual machine movement control system 1 (FIG. 1). Further, with the addition of the memory rewrite amount estimation unit 130, the data structure handled by the network bandwidth calculation unit 110B and the memory rewrite amount storage unit 600B is different from that of the virtual machine migration control system 1.

図7は、メモリ書き換え量格納部600Bが記憶するデータのデータ構造例を示す説明図である。同図において、メモリ書き換え量格納部600Bは、仮想マシン400毎にテーブル形式のデータを格納している。各テーブルには、仮想マシン名601と、仮想マシンのメモリ使用量602と、単位時間当たりのメモリ書き換え量603とに加えて、状態取得時刻604が含まれている。当該データ構造にて、メモリ書き換え量格納部600Bは、状態取得時刻604における仮想マシンのメモリ使用量602と1秒当たりの平均書き換え量603との履歴を複数記憶している。   FIG. 7 is an explanatory diagram showing an example of the data structure of data stored in the memory rewrite amount storage unit 600B. In the figure, the memory rewrite amount storage unit 600B stores data in a table format for each virtual machine 400. Each table includes a status acquisition time 604 in addition to a virtual machine name 601, a virtual machine memory usage 602, and a memory rewrite amount 603 per unit time. With this data structure, the memory rewrite amount storage unit 600B stores a plurality of histories of the virtual machine memory use amount 602 and the average rewrite amount per second 603 at the state acquisition time 604.

なお、図7に示されるメモリ書き換え量格納部600Bのデータの例では、仮想マシン毎のテーブルエントリ数が3つになっているが、このエントリ数は2つ以上であればよい。また、仮想マシン毎にエントリ数が異なっていてもよい。
メモリ書き換え量格納部600Bは、メモリ書き換え量監視手段500からの書き込みに従ってデータを記憶し、記憶しているデータを、メモリ書き換え量推定手段130の読み込みに従って出力する。
In the example of data in the memory rewrite amount storage unit 600B shown in FIG. 7, the number of table entries for each virtual machine is three. However, the number of entries may be two or more. The number of entries may be different for each virtual machine.
The memory rewrite amount storage unit 600B stores data according to the writing from the memory rewrite amount monitoring unit 500, and outputs the stored data according to the reading of the memory rewrite amount estimating unit 130.

ネットワーク帯域計算手段110Bは、ネットワーク帯域計算手段110(図1)とは異なり、メモリ書き換え量推定手段130に対して、移動対象となる仮想マシン400の将来(要求時よりも未来)のメモリ書き換え量を要求する。ネットワーク帯域計算手段110Bは、仮想マシン名と推定の必要な時刻とをメモリ書き換え量推定手段130へ出力して、当該時刻のメモリ書き換え量を、メモリ書き換え量推定手段130から受け取る。例えば、ネットワーク帯域計算手段110Bは、仮想マシン400の最大移動許容時間を2で割った値、つまり移動の中間時刻を算出して、推定の必要な時刻とする。
ネットワーク帯域計算手段110Bは、メモリ書き換え量推定手段130からのメモリ書き換え量(推定値)に基づいて、ネットワーク帯域計算手段110(図1)と同様に、仮想マシン400の移動に必要なネットワーク帯域を計算する。そして、ネットワーク帯域計算手段110Bは、ネットワーク帯域確保手段200に対して、計算したネットワーク帯域の予約を要求する。また、ネットワーク帯域計算手段110Bは、ネットワーク帯域計算手段110(図1)と同様に、ネットワーク帯域の調整等も行う。
Unlike the network bandwidth calculator 110 (FIG. 1), the network bandwidth calculator 110B differs from the memory rewrite amount estimator 130 in the future memory rewrite amount of the virtual machine 400 to be moved (future from the time of request). Request. The network bandwidth calculation unit 110B outputs the virtual machine name and the time required for estimation to the memory rewrite amount estimation unit 130, and receives the memory rewrite amount at the time from the memory rewrite amount estimation unit 130. For example, the network bandwidth calculation unit 110B calculates a value obtained by dividing the maximum allowable movement time of the virtual machine 400 by 2, that is, an intermediate time of movement, and sets it as a time required for estimation.
Based on the memory rewrite amount (estimated value) from the memory rewrite amount estimation unit 130, the network bandwidth calculation unit 110B determines the network bandwidth necessary for the movement of the virtual machine 400, similarly to the network bandwidth calculation unit 110 (FIG. 1). calculate. Then, the network bandwidth calculating unit 110B requests the network bandwidth securing unit 200 to reserve the calculated network bandwidth. The network bandwidth calculation unit 110B also adjusts the network bandwidth and the like in the same manner as the network bandwidth calculation unit 110 (FIG. 1).

メモリ書き換え量推定手段130は、メモリ書き換え量格納部600Bに格納されている状態取得時刻と1秒当たりの平均書き換え量(仮想マシン400毎のメモリ書き換え量)との複数の組から、仮想マシン400の将来のメモリ書き換え量を推定(予測)する。具体的な例としては、メモリ書き換え量推定手段130は、仮想マシン400毎に格納されている、状態取得時刻と単位時間当たりのメモリ書き換え量との組み合わせを、メモリ書き換え量格納部600Bから複数読み込む。そして、メモリ書き換え量推定手段130は、最小二乗法により、読み出したメモリ書き換え量に対する、メモリ書き換え量の予測関数を計算する。   The memory rewrite amount estimation unit 130 determines the virtual machine 400 from a plurality of sets of the state acquisition time stored in the memory rewrite amount storage unit 600B and the average rewrite amount per second (memory rewrite amount for each virtual machine 400). Estimate (predict) the future memory rewrite amount. As a specific example, the memory rewrite amount estimation unit 130 reads a plurality of combinations of the state acquisition time and the memory rewrite amount per unit time stored for each virtual machine 400 from the memory rewrite amount storage unit 600B. . Then, the memory rewrite amount estimation unit 130 calculates a memory rewrite amount prediction function for the read memory rewrite amount by the least square method.

ここで、最小二乗法は、例えば(x,y)の組からなるN個のデータに対して、最も当てはまる近時関数を求める方法である。例えば、直線式y=ax+bを求める場合、係数aは、数式(5)により求められる。   Here, the least square method is a method for obtaining a most recent function which is most applicable to N pieces of data composed of, for example, a set of (x, y). For example, when the linear equation y = ax + b is obtained, the coefficient a is obtained by Equation (5).

Figure 2013200615
Figure 2013200615

また、係数bは、数式(6)により求められる。   Further, the coefficient b is obtained by Expression (6).

Figure 2013200615
Figure 2013200615

最小二乗法を用いて、直線式だけではなく、2次関数、3次関数など多次の近似関数を求めることもできる。
このように、メモリ書き換え量推定手段130は、状態取得時刻と単位時間当たりのメモリ書き換え量との複数の組み合わせから、状態取得時刻と単位時間当たりのメモリ書き換え量との関係を示す近似式を求める。そして、メモリ書き換え量推定手段130は、得られた式に推定の必要な時刻(将来時刻)を代入することで、当該時刻における単位時間当たりのメモリ書き換え量を求める。
By using the least square method, not only a linear expression but also a multi-order approximation function such as a quadratic function and a cubic function can be obtained.
As described above, the memory rewrite amount estimation unit 130 obtains an approximate expression indicating the relationship between the state acquisition time and the memory rewrite amount per unit time from a plurality of combinations of the state acquisition time and the memory rewrite amount per unit time. . Then, the memory rewrite amount estimation unit 130 obtains the memory rewrite amount per unit time at the time by substituting the estimated time (future time) into the obtained equation.

ただし、メモリ書き換え量推定手段130が将来のメモリ書き換え量を推定(計算)する方法は、最小二乗法を用いる方法に限らない。状態取得時刻と単位時間当たりのメモリ書き換え量の組み合わせから、当該メモリ書き換え量を求めることのできる方法であればよい。
メモリ書き換え量推定手段130は、得られたメモリ書き換え量を、ネットワーク帯域計算手段110Bに出力する。
However, the method by which the memory rewrite amount estimation unit 130 estimates (calculates) the future memory rewrite amount is not limited to the method using the least square method. Any method capable of obtaining the memory rewrite amount from the combination of the state acquisition time and the memory rewrite amount per unit time may be used.
The memory rewrite amount estimation unit 130 outputs the obtained memory rewrite amount to the network bandwidth calculation unit 110B.

図8は、仮想マシン移動制御システム2が、仮想マシン400の移動予約を設定する処理手順を示すフローチャートである。同図の処理手順において、ステップS1およびS3〜S8は、図4の場合と同様である。図8の処理手順は、図4の処理手順のうち、ステップS2を、メモリ書き換え量推定手段130の動作を示すステップS9に置き換えたものとなっている。     FIG. 8 is a flowchart illustrating a processing procedure in which the virtual machine migration control system 2 sets a migration reservation for the virtual machine 400. In the processing procedure of the figure, steps S1 and S3 to S8 are the same as in the case of FIG. The processing procedure of FIG. 8 is obtained by replacing step S2 in the processing procedure of FIG. 4 with step S9 indicating the operation of the memory rewrite amount estimation unit 130.

次に、図9を参照して、メモリ書き換え量推定手段130の動作について説明する。
図9は、メモリ書き換え量推定手段130が、仮想マシン400のメモリ書き換え量を推定(予測)する処理の手順を示すフローチャートである。メモリ書き換え量推定手段130は、図8のステップS9にて、図9の処理を行う。
Next, the operation of the memory rewrite amount estimation unit 130 will be described with reference to FIG.
FIG. 9 is a flowchart illustrating a procedure of processing in which the memory rewrite amount estimation unit 130 estimates (predicts) the memory rewrite amount of the virtual machine 400. The memory rewrite amount estimating means 130 performs the process of FIG. 9 in step S9 of FIG.

図9の処理において、メモリ書き換え量推定手段130は、まず、仮想マシン400の状態取得時刻を読み込む(ステップS10)、次に、メモリ書き換え量推定手段130は、当該仮想マシン400のメモリ書き換え量を読み込む(ステップS11)。この2つのステップでは、次の近似関数を計算する際に必要な数だけ、状態取得時刻とメモリ書き換え量の組を読み込む。読み込む組み合わせの数が多いほど、近似関数の精度は高くなる。   In the process of FIG. 9, the memory rewrite amount estimation unit 130 first reads the state acquisition time of the virtual machine 400 (step S10), and then the memory rewrite amount estimation unit 130 calculates the memory rewrite amount of the virtual machine 400. Read (step S11). In these two steps, a set of state acquisition time and memory rewrite amount is read as many times as necessary for calculating the next approximate function. The more combinations that are read, the higher the accuracy of the approximate function.

次に、メモリ書き換え量推定手段130は、近似関数を計算する(ステップS12)。そして、メモリ書き換え量推定手段130は、ある時点(推定の必要な時刻)におけるメモリ書き換え量を計算する(ステップS13)。例えば、近似関数がy=ax+bであり、5秒後のメモリ書き換え量を計算したい場合、メモリ書き換え量推定手段130は、Y=5a+bとなるY、つまり、メモリ書き換え量を計算する。
ただし、メモリ書き換え量推定手段130の説明で述べたように、計算される将来のメモリ書き換え量推定は、状態取得時刻と単位時間当たりのメモリ書き換え量の組み合わせから計算できれば、最小二乗法以外の方法を用いてもよい。
Next, the memory rewrite amount estimating means 130 calculates an approximate function (step S12). Then, the memory rewrite amount estimation unit 130 calculates the memory rewrite amount at a certain point in time (time required for estimation) (step S13). For example, when the approximate function is y = ax + b and it is desired to calculate the memory rewrite amount after 5 seconds, the memory rewrite amount estimating means 130 calculates Y where Y = 5a + b, that is, the memory rewrite amount.
However, as described in the description of the memory rewrite amount estimation unit 130, the estimated future memory rewrite amount can be calculated by a method other than the least square method as long as it can be calculated from a combination of the state acquisition time and the memory rewrite amount per unit time. May be used.

以上のように、メモリ書き換え量推定手段130は、仮想マシン400の、将来時刻における単位時間当たりのメモリ書き換え量を推定する。そして、ネットワーク帯域計算手段110Bは、メモリ書き換え量推定手段130が推定した、将来時刻における単位時間当たりのメモリ書き換え量に基づいて、当該仮想マシン400の移動に必要なネットワーク帯域を計算する。
これにより、ネットワーク帯域計算手段110Bは、仮想マシン400の移動に必要なネットワーク帯域を、より高精度に算出することができる。
そして、ネットワーク帯域確保手段200は、ネットワーク帯域計算手段110Bが求めたネットワーク帯域に基づいて、ネットワーク帯域の予約を行うことで、より適切にネットワーク帯域の予約を行うことができる。
As described above, the memory rewrite amount estimation unit 130 estimates the memory rewrite amount per unit time at the future time of the virtual machine 400. Then, the network bandwidth calculation unit 110B calculates a network bandwidth necessary for the movement of the virtual machine 400 based on the memory rewrite amount per unit time at the future time estimated by the memory rewrite amount estimation unit 130.
Thereby, the network bandwidth calculation unit 110B can calculate the network bandwidth necessary for the movement of the virtual machine 400 with higher accuracy.
Then, the network bandwidth securing means 200 can make a network bandwidth reservation more appropriately by making a network bandwidth reservation based on the network bandwidth obtained by the network bandwidth calculation means 110B.

また、仮想マシン移動時間推定手段120は、ネットワーク帯域確保手段200が予約したネットワーク帯域と、メモリ書き換え量推定手段130が推定した、将来時刻におけるメモリ書き換え量に基づいて、仮想マシン400の移動時間を推定する。
仮想マシン400の移動時におけるメモリ書き換え量に基づいて推定を行うことで、仮想マシン移動時間推定手段120は、仮想マシン400の移動時間(移動にかかる所要時間)を、さらに正確に推定し得る。
そして、動的負荷分散機構300は、仮想マシン移動時間推定手段120が将来時刻におけるメモリ書き換え量に基づいて推定した仮想マシン400の移動時間を用いて、仮想マシン400の移動計画を立案する。これにより、動的負荷分散機構300は、仮想マシン400の移動計画をさらに適切に立案し得る。
Further, the virtual machine movement time estimation unit 120 calculates the movement time of the virtual machine 400 based on the network bandwidth reserved by the network bandwidth securing unit 200 and the memory rewrite amount at a future time estimated by the memory rewrite amount estimation unit 130. presume.
By performing the estimation based on the memory rewrite amount at the time of movement of the virtual machine 400, the virtual machine movement time estimation unit 120 can estimate the movement time (time required for movement) of the virtual machine 400 more accurately.
Then, the dynamic load distribution mechanism 300 makes a movement plan for the virtual machine 400 using the movement time of the virtual machine 400 estimated by the virtual machine movement time estimation unit 120 based on the memory rewrite amount at a future time. As a result, the dynamic load distribution mechanism 300 can make a migration plan for the virtual machine 400 more appropriately.

<第3の実施形態>
次に、本発明の第3の実施形態について図面を参照して説明する。
図10は、本発明の第3の実施形態における仮想マシン移動制御システムの機能構成を示す概略ブロック図である。同図において、仮想マシン移動制御システム3は、仮想マシン400と、メモリ書き換え量監視手段500と、メモリ書き換え量格納部600と、仮想マシン移動安定化装置100Cと、動的負荷分散機構300と、仮想マシン移動実行手段700と、ネットワーク帯域確保手段200とを具備する。仮想マシン移動安定化装置100Cは、ネットワーク帯域計算手段110Cと、仮想マシン移動時間推定手段120と、ネットワーク帯域測定手段140とを具備する。
<Third Embodiment>
Next, a third embodiment of the present invention will be described with reference to the drawings.
FIG. 10 is a schematic block diagram illustrating a functional configuration of the virtual machine migration control system according to the third embodiment of the present invention. In the figure, the virtual machine movement control system 3 includes a virtual machine 400, a memory rewrite amount monitoring unit 500, a memory rewrite amount storage unit 600, a virtual machine movement stabilization device 100C, a dynamic load distribution mechanism 300, A virtual machine movement execution unit 700 and a network bandwidth securing unit 200 are provided. The virtual machine migration stabilization apparatus 100C includes a network bandwidth calculation unit 110C, a virtual machine migration time estimation unit 120, and a network bandwidth measurement unit 140.

同図に示す仮想マシン移動制御システム3は、仮想マシン移動制御システム1(図1)が具備する各部に加えて、ネットワーク帯域測定手段140を具備する。また、ネットワーク帯域測定手段140の追加に伴って、ネットワーク帯域計算手段110Cの動作が、ネットワーク帯域計算手段110(図1)の場合と異なっている。   The virtual machine migration control system 3 shown in the figure includes a network bandwidth measuring unit 140 in addition to the units included in the virtual machine migration control system 1 (FIG. 1). Further, with the addition of the network bandwidth measuring means 140, the operation of the network bandwidth calculating means 110C is different from that of the network bandwidth calculating means 110 (FIG. 1).

ネットワーク帯域測定手段140は、1つのネットワークについて、利用可能なネットワーク帯域を測定する。具体的には、ネットワーク帯域測定手段140は、まず、当該ネットワーク上で測定用のデータ通信を行い、現在使われて(利用されて)いないネットワーク帯域を測定する。次に、ネットワーク帯域測定手段140は、測定したネットワーク帯域を、当該ネットワークが有する最大帯域から減算して、現在利用されているネットワーク帯域を算出する。   The network bandwidth measuring unit 140 measures an available network bandwidth for one network. Specifically, the network bandwidth measuring unit 140 first performs data communication for measurement on the network, and measures a network bandwidth that is not currently used (not used). Next, the network bandwidth measuring unit 140 subtracts the measured network bandwidth from the maximum bandwidth possessed by the network to calculate the network bandwidth currently used.

例として、1Gbpsの帯域を持つネットワーク上でのネットワーク利用帯域の測定方法を示す。ネットワーク帯域測定手段140は、まず、iperfなどの既存のネットワーク帯域測定プログラムを用いて、利用可能なネットワーク帯域、すなわち現在使われていないネットワーク帯域を測定する。仮に、現在使われていないネットワーク帯域が100Mbpsだとすると、900Mbpsが現在利用されているネットワーク帯域であることがわかる。
ネットワーク帯域測定手段140は、測定したネットワーク帯域を、ネットワーク帯域測定手段内に格納しておく。
As an example, a method for measuring a network usage band on a network having a band of 1 Gbps is shown. The network bandwidth measuring unit 140 first measures an available network bandwidth, that is, a network bandwidth that is not currently used, using an existing network bandwidth measurement program such as iperf. If the network bandwidth that is not currently used is 100 Mbps, it can be seen that 900 Mbps is the network bandwidth that is currently used.
The network band measuring unit 140 stores the measured network band in the network band measuring unit.

ネットワーク帯域計算手段110Cは、ネットワーク帯域計算手段110(図1)とは異なり、ネットワーク帯域測定手段140に対して、現在利用されているネットワーク帯域を要求し、その結果を用いて、ネットワーク帯域の計算を行なう。具体的には、ネットワーク帯域計算手段110Cは、当該仮想マシン400のメモリ使用量と、メモリ書き換え量と、当該仮想マシン400の最大移動許容時間とから、当該仮想マシン400の移動に必要なネットワーク帯域を計算する。ネットワーク帯域計算手段110Cは、移動対象となる仮想マシン400毎に当該計算を行って、必要なネットワーク帯域の総和を求める。そして、ネットワーク帯域計算手段110Cは、得られた総和に、ネットワーク帯域測定手段によって得た現在利用中のネットワーク帯域を加える。そして、ネットワーク帯域計算手段110Cは、得られた値が当該ネットワークの持つ最大帯域を超えているかどうか判定する。超えていなければ、そのままネットワーク帯域を予約できる。一方、超えていれば、これから予約するネットワーク帯域を縮小するか、そのまま予約するかを判断する。
なお、調整(ネットワーク帯域の縮小)を行っても、ネットワーク帯域の総和が、予約できる最大ネットワーク帯域を必ず超えてしまう場合、ネットワーク帯域計算手段110Cは、動的負荷分散機構300に対して、予約に失敗したことを通知する。一方、予約に成功した場合、ネットワーク帯域計算手段110Cは、ネットワーク帯域計算手段110(図1)と同様、実際に予約できたネットワーク帯域を仮想マシン移動時間推定手段120に通知する。
Unlike network bandwidth calculation means 110 (FIG. 1), network bandwidth calculation means 110C requests network bandwidth measurement means 140 for the currently used network bandwidth, and uses the result to calculate network bandwidth. To do. Specifically, the network bandwidth calculation unit 110C calculates the network bandwidth necessary for the movement of the virtual machine 400 from the memory usage amount of the virtual machine 400, the memory rewrite amount, and the maximum allowable movement time of the virtual machine 400. Calculate The network bandwidth calculation unit 110C performs the calculation for each virtual machine 400 to be migrated, and obtains the total required network bandwidth. Then, the network bandwidth calculating unit 110C adds the currently used network bandwidth obtained by the network bandwidth measuring unit to the obtained sum. Then, the network bandwidth calculation unit 110C determines whether the obtained value exceeds the maximum bandwidth of the network. If not exceeded, the network bandwidth can be reserved as it is. On the other hand, if it exceeds, it is determined whether the network bandwidth to be reserved is reduced or reserved as it is.
If the total network bandwidth always exceeds the maximum reservable network bandwidth even after adjustment (reduction of network bandwidth), the network bandwidth calculation unit 110C makes a reservation to the dynamic load distribution mechanism 300. Notify that failed. On the other hand, when the reservation is successful, the network bandwidth calculation unit 110C notifies the virtual machine movement time estimation unit 120 of the network bandwidth that can be actually reserved, as with the network bandwidth calculation unit 110 (FIG. 1).

第1の実施形態でも説明したとおり、ネットワーク帯域が予約されれば、他のプログラムは当該予約帯域を利用することができなくなる。つまり、予約帯域の総和と現在利用中のネットワーク帯域の総和が、当該ネットワークの最大帯域を超えている状態でネットワーク帯域を予約すれば、現在、ネットワークを利用中のプログラムのネットワーク通信を圧迫することになる。
そこで、ネットワーク帯域計算手段110Cがネットワーク帯域の調整を行うことで、ネットワークを利用中のプログラムへの影響を低減させることができる。
As described in the first embodiment, if a network band is reserved, other programs cannot use the reserved band. In other words, if the network bandwidth is reserved when the sum of the reserved bandwidth and the sum of the network bandwidth currently in use exceeds the maximum bandwidth of the network, the network communication of the program that is currently using the network will be compressed. become.
Therefore, the network bandwidth calculation unit 110C adjusts the network bandwidth, so that the influence on the program that is using the network can be reduced.

図11は、仮想マシン移動制御システム3が、仮想マシン400の移動予約を設定する処理手順を示すフローチャートである。同図の処理手順において、ステップS1〜S3およびS4〜S8は、図4の場合と同様である。図11の処理手順では、ステップS3とS4との間に、ステップS14が挿入されている。   FIG. 11 is a flowchart illustrating a processing procedure in which the virtual machine migration control system 3 sets a migration reservation for the virtual machine 400. In the processing procedure of the figure, steps S1 to S3 and S4 to S8 are the same as in the case of FIG. In the processing procedure of FIG. 11, step S14 is inserted between steps S3 and S4.

ステップS14は、計算したネットワークの総和に現在のネットワーク使用量を加算するというステップであり、現在のネットワーク使用量は、ネットワーク帯域測定手段140によって測定されているものとする。また、図中のステップS5において、縮小すべきネットワーク帯域は、これから予約するネットワーク帯域であっても、現在利用されているネットワーク帯域であってもどちらでもよい。これから予約するネットワーク帯域を縮小する場合は、ステップS6の条件を必ず確認する必要があるが、現在利用されているネットワーク帯域を縮小する場合、つまり計算された予約帯域はそのまま予約する場合、ステップS6は必ず「NO」となる。   Step S14 is a step of adding the current network usage amount to the calculated sum of the networks, and it is assumed that the current network usage amount is measured by the network bandwidth measuring means 140. In step S5 in the figure, the network bandwidth to be reduced may be a network bandwidth to be reserved or a network bandwidth that is currently used. When reducing the network bandwidth to be reserved from now on, it is necessary to confirm the conditions of step S6. However, when reducing the currently used network bandwidth, that is, when the calculated reserved bandwidth is reserved as it is, step S6 is used. Is always “NO”.

以上のように、ネットワーク帯域測定手段140は、現在利用中のネットワーク帯域を測定する。そして、ネットワーク帯域計算手段110Cは、現在利用中のネットワーク帯域(測定値)に基づいて、予約すべきネットワーク帯域の決定や調整を行う。
これにより、ネットワーク帯域計算手段11Cは、現在利用中のネットワーク帯域を考慮しつつ、仮想マシンの移動に必要なネットワーク帯域を(ネットワーク帯域確保手段を介して)予約することができる。従って、仮想マシン移動制御システム3では、仮想マシンの移動に使われるネットワーク帯域と他のサービス・プログラムで利用されるネットワーク帯域とを混在させることができ、他のサービス・プログラムで利用されるネットワーク帯域への影響を低減させ得る。
As described above, the network bandwidth measuring unit 140 measures the network bandwidth currently being used. Then, the network bandwidth calculation unit 110C determines and adjusts the network bandwidth to be reserved based on the network bandwidth (measurement value) currently in use.
Thereby, the network bandwidth calculation unit 11C can reserve the network bandwidth necessary for the movement of the virtual machine (via the network bandwidth securing unit) in consideration of the network bandwidth currently being used. Therefore, in the virtual machine movement control system 3, the network band used for moving the virtual machine and the network band used by other service programs can be mixed, and the network band used by other service programs can be mixed. Can reduce the impact on

次に、図12を参照して、仮想マシン移動制御システム1における最小構成について説明する。図12は、図1に示した各部のうち、仮想マシン移動制御システム1における本発明の最小構成を示す概略ブロック図である。同図において、図1に示した仮想マシン移動制御システム1の各部のうち、ネットワーク帯域確保手段200と、動的負荷分散機構300と、仮想マシン移動実行手段700とが示されている。   Next, a minimum configuration in the virtual machine migration control system 1 will be described with reference to FIG. FIG. 12 is a schematic block diagram showing the minimum configuration of the present invention in the virtual machine migration control system 1 among the units shown in FIG. In the drawing, a network bandwidth securing unit 200, a dynamic load balancing mechanism 300, and a virtual machine migration execution unit 700 are shown among the units of the virtual machine migration control system 1 shown in FIG.

この構成において、図1に示した構成に基づいて上述したのと同様、ネットワーク帯域確保手段200が、ネットワーク帯域の予約を行う。そして、動的負荷分散機構300は、ネットワーク帯域確保手段200が予約したネットワーク帯域に基づいて、仮想マシン400の移動計画を立案する。そして、仮想マシン移動実行手段700は、動的負荷分散機構300が立案した移動計画に従って、仮想マシン400の移動を実行する。
これにより、動的負荷分散機構300は、ネットワーク帯域の安定した(確保された)状態において、仮想マシン400の移動計画をより適切に立案することができる。また、仮想マシン移動実行手段700が、ネットワーク帯域の安定した状態で仮想マシン400の移動実行することで、移動計画に沿って仮想マシン400の移動を実行することができ、移動計画の立案の頻発を抑制することができる。
In this configuration, as described above based on the configuration shown in FIG. 1, the network bandwidth securing unit 200 reserves the network bandwidth. Then, the dynamic load balancing mechanism 300 creates a migration plan for the virtual machine 400 based on the network bandwidth reserved by the network bandwidth securing unit 200. Then, the virtual machine movement execution unit 700 executes the movement of the virtual machine 400 according to the movement plan formulated by the dynamic load distribution mechanism 300.
As a result, the dynamic load distribution mechanism 300 can more appropriately make a migration plan for the virtual machine 400 in a stable (reserved) state of the network bandwidth. In addition, the virtual machine movement execution means 700 can move the virtual machine 400 in accordance with the movement plan by executing the movement of the virtual machine 400 in a stable network bandwidth state. Can be suppressed.

なお、仮想マシン移動制御システム1〜3の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
Note that a program for realizing all or part of the functions of the virtual machine movement control systems 1 to 3 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into the computer system. The processing of each unit may be performed by executing. Here, the “computer system” includes an OS and hardware such as peripheral devices.
Further, the “computer system” includes a homepage providing environment (or display environment) if a WWW system is used.
The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. Furthermore, the “computer-readable recording medium” dynamically holds a program for a short time like a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line. In this case, a volatile memory in a computer system serving as a server or a client in that case, and a program that holds a program for a certain period of time are also included. The program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system.

以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。   The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes design changes and the like without departing from the gist of the present invention.

上記の実施形態の一部または全部は、以下の付記のようにも記載され得るが、以下には限られない。   A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.

(付記1)ネットワーク帯域の予約を行うネットワーク帯域確保手段と、前記ネットワーク帯域確保手段が予約したネットワーク帯域に基づいて仮想マシンの移動計画を立案する移動計画立案手段と、前記移動計画立案手段が立案した前記仮想マシンの移動計画に基づいて、仮想マシンの移動を実行する仮想マシン移動実行手段と、を具備することを特徴とする仮想マシン移動制御システム。   (Appendix 1) Network bandwidth securing means for reserving network bandwidth, migration plan planning means for planning a virtual machine migration plan based on the network bandwidth reserved by the network bandwidth securing means, and the migration plan planning means A virtual machine movement execution means for executing movement of the virtual machine based on the movement plan of the virtual machine.

(付記2)ネットワーク帯域計算手段と、仮想マシン移動時間推定手段と、を具備し、前記ネットワーク帯域計算手段は、最大移動許容時間と、移動対象となる仮想マシンにおける単位時間当たりのメモリ書き換え量と、当該仮想マシンのメモリ使用量とから、当該仮想マシンの移動に必要なネットワーク帯域を計算し、前記ネットワーク帯域確保手段は、前記ネットワーク帯域計算手段が計算した、前記仮想マシンの移動に必要なネットワーク帯域に基づいて、前記ネットワーク帯域の予約を行い、前記仮想マシン移動時間推定手段は、前記ネットワーク帯域確保手段が予約したネットワーク帯域に基づいて、仮想マシンの移動時間を推定し、前記移動計画立案手段は、前記仮想マシン移動時間推定手段が推定した前記仮想マシンの移動時間に基づいて、前記仮想マシンの移動計画を立案する、ことを特徴とする付記1に記載の仮想マシン移動制御システム。   (Appendix 2) Network bandwidth calculation means and virtual machine movement time estimation means, wherein the network bandwidth calculation means includes a maximum movement allowable time, a memory rewrite amount per unit time in a virtual machine to be moved, and The network bandwidth necessary for the movement of the virtual machine is calculated from the memory usage of the virtual machine, and the network bandwidth securing means calculates the network necessary for the movement of the virtual machine calculated by the network bandwidth calculation means. Reserving the network bandwidth based on a bandwidth, the virtual machine moving time estimating means estimates the moving time of a virtual machine based on the network bandwidth reserved by the network bandwidth securing means, and the movement planning means Is the movement time of the virtual machine estimated by the virtual machine movement time estimation means Virtual machine movement control system according to Supplementary Note 1, the drafting of the movement plan of the virtual machine, and wherein the basis of the.

(付記3)前記移動対象となる仮想マシンにおける単位時間当たりのメモリ書き換え量の測定値と測定時刻とを対応付けて記憶するメモリ書き換え量格納部と、前記メモリ書き換え量格納部が記憶する前記メモリ書き換え量の測定値および測定時刻に基づいて、前記移動対象となる仮想マシンの将来時刻における単位時間当たりのメモリ書き換え量を推定するメモリ書き換え量推定手段と、を具備し、前記ネットワーク帯域計算手段は、前記メモリ書き換え量推定手段が推定した、前記将来時刻における単位時間当たりのメモリ書き換え量に基づいて、前記仮想マシンの移動に必要なネットワーク帯域を計算する、ことを特徴とする付記2に記載の仮想マシン移動制御システム。   (Additional remark 3) The memory rewrite amount storage part which memorize | stores the measured value and measurement time of the memory rewrite amount per unit time in the virtual machine used as the movement object in association, and the memory which the memory rewrite amount storage part stores Memory rewrite amount estimating means for estimating a memory rewrite amount per unit time at a future time of the virtual machine to be moved based on a measurement value and a measurement time of the rewrite amount, and the network bandwidth calculating means includes: The network bandwidth necessary for moving the virtual machine is calculated based on the memory rewrite amount per unit time at the future time estimated by the memory rewrite amount estimation unit. Virtual machine migration control system.

(付記4)使用されているネットワーク帯域を測定するネットワーク帯域測定手段を具備し、前記ネットワーク帯域計算手段は、前記ネットワーク帯域測定手段が測定した前記使用されているネットワーク帯域に基づいて、予約する前記ネットワーク帯域を調整する、ことを特徴とする付記2または3に記載の仮想マシン移動制御システム。   (Additional remark 4) It has the network band measurement means which measures the used network band, The said network band calculation means reserves based on the said used network band which the said network band measurement means measured The virtual machine migration control system according to appendix 2 or 3, wherein the network bandwidth is adjusted.

(付記5)前記ネットワーク帯域計算手段は、前記ネットワーク帯域測定手段が測定した前記使用されているネットワーク帯域と、前記仮想マシンの移動に必要なネットワーク帯域との総和が、ネットワークの最大帯域を超えないように、予約する前記ネットワーク帯域を調整する、ことを特徴とする付記4に記載の仮想マシン移動制御システム。   (Supplementary Note 5) The network bandwidth calculation means is such that the sum of the used network bandwidth measured by the network bandwidth measurement means and the network bandwidth required for moving the virtual machine does not exceed the maximum bandwidth of the network. The virtual machine migration control system according to appendix 4, wherein the network bandwidth to be reserved is adjusted as described above.

(付記6)前記ネットワーク帯域計算手段は、前記ネットワーク帯域測定手段が測定した前記使用されているネットワーク帯域と、前記仮想マシンの移動に必要なネットワーク帯域との総和が、ネットワークの最大帯域を超えないように調整できない場合、ネットワーク帯域の予約に失敗したことを通知する、ことを特徴とする付記5に記載の仮想マシン移動制御システム。   (Additional remark 6) The said network bandwidth calculation means, The sum total of the said used network bandwidth measured by the said network bandwidth measurement means and the network bandwidth required for the movement of the said virtual machine does not exceed the maximum bandwidth of a network The virtual machine migration control system according to appendix 5, characterized in that, when the adjustment cannot be made in such a manner, the network band reservation is notified of failure.

(付記7)仮想マシン移動制御システムの仮想マシン移動方法であって、ネットワーク帯域の予約を行うネットワーク帯域確保ステップと、前記ネットワーク帯域確保ステップにて予約したネットワーク帯域に基づいて仮想マシンの移動計画を立案する移動計画立案ステップと、前記移動計画立案ステップにて立案した前記仮想マシンの移動計画に基づいて、仮想マシンの移動を実行する仮想マシン移動実行ステップと、を具備することを特徴とする仮想マシン移動方法。   (Supplementary note 7) A virtual machine movement method of a virtual machine movement control system, wherein a network bandwidth reservation step for reserving a network bandwidth, and a virtual machine movement plan based on the network bandwidth reserved in the network bandwidth reservation step A virtual machine movement step for planning, and a virtual machine movement execution step for moving a virtual machine based on the virtual machine movement plan prepared in the movement planning step. Machine moving method.

(付記8)ネットワーク帯域計算ステップと、仮想マシン移動時間推定ステップと、を具備し、前記ネットワーク帯域計算ステップでは、最大移動許容時間と、移動対象となる仮想マシンにおける単位時間当たりのメモリ書き換え量と、当該仮想マシンのメモリ使用量とから、当該仮想マシンの移動に必要なネットワーク帯域を計算し、前記ネットワーク帯域確保ステップでは、前記ネットワーク帯域計算ステップにて計算した、前記仮想マシンの移動に必要なネットワーク帯域に基づいて、前記ネットワーク帯域の予約を行い、前記仮想マシン移動時間推定ステップでは、前記ネットワーク帯域確保ステップにて予約したネットワーク帯域に基づいて、仮想マシンの移動時間を推定し、前記移動計画立案ステップでは、前記仮想マシン移動時間推定ステップにて推定した前記仮想マシンの移動時間に基づいて、前記仮想マシンの移動計画を立案する、ことを特徴とする付記7に記載の仮想マシン移動方法。   (Supplementary Note 8) A network bandwidth calculation step and a virtual machine movement time estimation step, wherein the network bandwidth calculation step includes a maximum allowable movement time and a memory rewrite amount per unit time in a virtual machine to be moved. The network bandwidth required for moving the virtual machine is calculated from the memory usage of the virtual machine. In the network bandwidth securing step, the network bandwidth required for moving the virtual machine calculated in the network bandwidth calculating step is calculated. Reserving the network bandwidth based on a network bandwidth, and in the virtual machine movement time estimating step, estimating the movement time of a virtual machine based on the network bandwidth reserved in the network bandwidth securing step, and In the planning step, the virtual machine movement Based on the travel time of the virtual machine estimated at between estimating step, to develop a movement program of the virtual machine, the virtual machine migration method of statement 7, characterized in that.

(付記9)前記仮想マシン移動制御システムは、前記移動対象となる仮想マシンにおける単位時間当たりのメモリ書き換え量の測定値と測定時刻とを対応付けて記憶するメモリ書き換え量格納部を具備し、前記仮想マシン移動方法は、前記メモリ書き換え量格納部が記憶する前記メモリ書き換え量の測定値および測定時刻に基づいて、前記移動対象となる仮想マシンの将来時刻における単位時間当たりのメモリ書き換え量を推定するメモリ書き換え量推定ステップを具備し、前記ネットワーク帯域計算ステップでは、前記メモリ書き換え量推定ステップにて推定した、前記将来時刻における単位時間当たりのメモリ書き換え量に基づいて、前記仮想マシンの移動に必要なネットワーク帯域を計算する、ことを特徴とする付記8に記載の仮想マシン移動方法。   (Supplementary Note 9) The virtual machine movement control system includes a memory rewrite amount storage unit that stores a measurement value and a measurement time of the memory rewrite amount per unit time in the virtual machine to be moved in association with each other, The virtual machine migration method estimates a memory rewrite amount per unit time at a future time of the virtual machine to be migrated based on a measurement value and a measurement time of the memory rewrite amount stored in the memory rewrite amount storage unit. A memory rewrite amount estimation step, and in the network bandwidth calculation step, necessary for moving the virtual machine based on the memory rewrite amount per unit time at the future time estimated in the memory rewrite amount estimation step The virtual machine according to appendix 8, characterized by calculating a network bandwidth. Down movement method.

(付記10)使用されているネットワーク帯域を測定するネットワーク帯域測定ステップを具備し、前記ネットワーク帯域計算ステップでは、前記ネットワーク帯域測定ステップにて測定した前記使用されているネットワーク帯域に基づいて、前記仮想マシンの移動に必要なネットワーク帯域を調整する、ことを特徴とする付記8または9に記載の仮想マシン移動方法。   (Supplementary Note 10) A network bandwidth measurement step for measuring a used network bandwidth is provided. In the network bandwidth calculation step, the virtual bandwidth is measured based on the used network bandwidth measured in the network bandwidth measurement step. The virtual machine moving method according to appendix 8 or 9, wherein a network bandwidth necessary for moving the machine is adjusted.

(付記11)前記ネットワーク帯域計算ステップでは、前記ネットワーク帯域測定ステップにて測定した前記使用されているネットワーク帯域と、前記仮想マシンの移動に必要なネットワーク帯域との総和が、ネットワークの最大帯域を超えないように、予約する前記ネットワーク帯域を調整する、ことを特徴とする付記10に記載の仮想マシン移動方法。   (Supplementary Note 11) In the network bandwidth calculation step, the sum of the used network bandwidth measured in the network bandwidth measurement step and the network bandwidth necessary for moving the virtual machine exceeds the maximum bandwidth of the network. The virtual machine migration method according to appendix 10, wherein the network bandwidth to be reserved is adjusted so as not to exist.

(付記12)前記ネットワーク帯域計算ステップでは、前記ネットワーク帯域測定ステップにて測定した前記使用されているネットワーク帯域と、前記仮想マシンの移動に必要なネットワーク帯域との総和が、ネットワークの最大帯域を超えないように調整できない場合、ネットワーク帯域の予約に失敗したことを通知する、ことを特徴とする請求項11に記載の仮想マシン移動方法。   (Supplementary note 12) In the network bandwidth calculation step, the sum of the used network bandwidth measured in the network bandwidth measurement step and the network bandwidth necessary for moving the virtual machine exceeds the maximum bandwidth of the network. The virtual machine migration method according to claim 11, wherein if the adjustment cannot be made so that the network bandwidth cannot be adjusted, notification that the reservation of the network bandwidth has failed is made.

(付記13)仮想マシン移動制御システムとしてのコンピュータに、ネットワーク帯域の予約を行うネットワーク帯域確保ステップと、前記ネットワーク帯域確保ステップにて予約したネットワーク帯域に基づいて仮想マシンの移動計画を立案する移動計画立案ステップと、前記移動計画立案ステップにて立案した前記仮想マシンの移動計画に基づいて、仮想マシンの移動を実行する仮想マシン移動実行ステップと、を実行させるためのプログラム。   (Supplementary note 13) A network bandwidth securing step for reserving a network bandwidth in a computer as a virtual machine migration control system, and a migration plan for creating a migration plan for a virtual machine based on the network bandwidth reserved in the network bandwidth securing step A program for executing a planning step and a virtual machine movement execution step for executing movement of a virtual machine based on the movement plan of the virtual machine planned in the movement plan planning step.

(付記14)前記コンピュータに、ネットワーク帯域計算ステップと、仮想マシン移動時間推定ステップと、を実行させ、前記ネットワーク帯域計算ステップでは、最大移動許容時間と、移動対象となる仮想マシンにおける単位時間当たりのメモリ書き換え量と、当該仮想マシンのメモリ使用量とから、当該仮想マシンの移動に必要なネットワーク帯域を計算させ、前記ネットワーク帯域確保ステップでは、前記ネットワーク帯域計算ステップにて計算した、前記仮想マシンの移動に必要なネットワーク帯域に基づいて、前記ネットワーク帯域の予約を行わせ、前記仮想マシン移動時間推定ステップでは、前記ネットワーク帯域確保ステップにて予約したネットワーク帯域に基づいて、仮想マシンの移動時間を推定させ、前記移動計画立案ステップでは、前記仮想マシン移動時間推定ステップにて推定した前記仮想マシンの移動時間に基づいて、前記仮想マシンの移動計画を立案させる、ことを特徴とする付記13に記載のプログラム。   (Supplementary Note 14) The computer is caused to execute a network bandwidth calculation step and a virtual machine movement time estimation step, and in the network bandwidth calculation step, a maximum allowable movement time and a unit time per unit time in the virtual machine to be moved From the memory rewrite amount and the memory usage amount of the virtual machine, the network bandwidth necessary for the movement of the virtual machine is calculated, and in the network bandwidth securing step, the virtual machine calculated in the network bandwidth calculation step is calculated. Reserving the network bandwidth based on the network bandwidth required for movement, and in the virtual machine movement time estimating step, estimating the movement time of the virtual machine based on the network bandwidth reserved in the network bandwidth securing step The movement plan In-up, on the basis of the travel time of the virtual machine estimated by virtual machine travel time estimation step, the program according to Note 13, wherein to formulate the movement plan of the virtual machine, and wherein the.

(付記15)前記移動対象となる仮想マシンにおける単位時間当たりのメモリ書き換え量の測定値と測定時刻とを対応付けて記憶するメモリ書き換え量格納部を具備する前記コンピュータに、前記メモリ書き換え量格納部が記憶する前記メモリ書き換え量の測定値および測定時刻に基づいて、前記移動対象となる仮想マシンの将来時刻における単位時間当たりのメモリ書き換え量を推定するメモリ書き換え量推定ステップを実行させ、前記ネットワーク帯域計算ステップでは、前記メモリ書き換え量推定ステップにて推定した、前記将来時刻における単位時間当たりのメモリ書き換え量に基づいて、前記仮想マシンの移動に必要なネットワーク帯域を計算させる、ことを特徴とする付記14に記載のプログラム。   (Supplementary Note 15) The memory rewrite amount storage unit in the computer including the memory rewrite amount storage unit that stores the measurement value and the measurement time of the memory rewrite amount per unit time in the virtual machine to be moved in association with each other. The memory rewrite amount estimating step for estimating the memory rewrite amount per unit time at the future time of the virtual machine to be moved based on the measurement value and the measurement time of the memory rewrite amount stored in the network bandwidth, In the calculating step, the network bandwidth required for the movement of the virtual machine is calculated based on the memory rewriting amount per unit time at the future time estimated in the memory rewriting amount estimating step. 14. The program according to 14.

(付記16)前記コンピュータに、使用されているネットワーク帯域を測定するネットワーク帯域測定ステップを実行させ、前記ネットワーク帯域計算ステップでは、前記ネットワーク帯域測定ステップにて測定した前記使用されているネットワーク帯域に基づいて、前記仮想マシンの移動に必要なネットワーク帯域を調整させる、ことを特徴とする付記14または15に記載のプログラム。   (Supplementary Note 16) The computer is caused to execute a network bandwidth measurement step for measuring a used network bandwidth, and the network bandwidth calculation step is based on the used network bandwidth measured in the network bandwidth measurement step. The program according to appendix 14 or 15, wherein a network bandwidth necessary for moving the virtual machine is adjusted.

(付記17)前記コンピュータに、前記ネットワーク帯域計算ステップでは、前記ネットワーク帯域測定ステップにて測定した前記使用されているネットワーク帯域と、前記仮想マシンの移動に必要なネットワーク帯域との総和が、ネットワークの最大帯域を超えないように、予約する前記ネットワーク帯域を調整させる、ことを特徴とする付記16に記載のプログラム。   (Supplementary Note 17) In the network bandwidth calculation step, the computer uses the network bandwidth measured in the network bandwidth measurement step and the sum of the network bandwidth necessary for moving the virtual machine as the network bandwidth. The program according to appendix 16, wherein the network bandwidth to be reserved is adjusted so as not to exceed the maximum bandwidth.

(付記18)前記コンピュータに、前記ネットワーク帯域計算ステップでは、前記ネットワーク帯域測定ステップにて測定した前記使用されているネットワーク帯域と、前記仮想マシンの移動に必要なネットワーク帯域との総和が、ネットワークの最大帯域を超えないように調整できない場合、ネットワーク帯域の予約に失敗したことを通知させる、ことを特徴とする付記17に記載の仮想マシン移動方法。   (Supplementary Note 18) In the network bandwidth calculation step, the computer uses the network bandwidth used in the network bandwidth measurement step and the network bandwidth necessary for the movement of the virtual machine as a sum of the network bandwidth. 18. The virtual machine migration method according to appendix 17, characterized in that if the adjustment cannot be made so as not to exceed the maximum bandwidth, the notification of failure to reserve the network bandwidth is made.

100、100B、100C 仮想マシン移動安定化装置
110、110B、110C ネットワーク帯域計算手段
120 仮想マシン移動時間推定手段
130 メモリ書き換え量推定手段
140 ネットワーク帯域測定手段
200 ネットワーク帯域確保手段
300 動的負荷分散機構
400 仮想マシン
500 メモリ書き換え量監視手段
600、600B メモリ書き換え量格納部
700 仮想マシン移動実行手段
100, 100B, 100C Virtual machine movement stabilization device 110, 110B, 110C Network bandwidth calculation means 120 Virtual machine movement time estimation means 130 Memory rewrite amount estimation means 140 Network bandwidth measurement means 200 Network bandwidth securing means 300 Dynamic load distribution mechanism 400 Virtual machine 500 Memory rewrite amount monitoring means 600, 600B Memory rewrite amount storage unit 700 Virtual machine movement execution means

Claims (10)

ネットワーク帯域の予約を行うネットワーク帯域確保手段と、
前記ネットワーク帯域確保手段が予約したネットワーク帯域に基づいて仮想マシンの移動計画を立案する移動計画立案手段と、
前記移動計画立案手段が立案した前記仮想マシンの移動計画に基づいて、仮想マシンの移動を実行する仮想マシン移動実行手段と、
を具備することを特徴とする仮想マシン移動制御システム。
Network bandwidth securing means for reserving network bandwidth;
A migration plan planning means for planning a migration plan of a virtual machine based on the network bandwidth reserved by the network bandwidth securing means;
Virtual machine movement execution means for executing movement of a virtual machine based on the movement plan of the virtual machine planned by the movement plan planning means;
A virtual machine movement control system comprising:
ネットワーク帯域計算手段と、
仮想マシン移動時間推定手段と、
を具備し、
前記ネットワーク帯域計算手段は、最大移動許容時間と、移動対象となる仮想マシンにおける単位時間当たりのメモリ書き換え量と、当該仮想マシンのメモリ使用量とから、当該仮想マシンの移動に必要なネットワーク帯域を計算し、
前記ネットワーク帯域確保手段は、前記ネットワーク帯域計算手段が計算した、前記仮想マシンの移動に必要なネットワーク帯域に基づいて、前記ネットワーク帯域の予約を行い、
前記仮想マシン移動時間推定手段は、前記ネットワーク帯域確保手段が予約したネットワーク帯域に基づいて、仮想マシンの移動時間を推定し、
前記移動計画立案手段は、前記仮想マシン移動時間推定手段が推定した前記仮想マシンの移動時間に基づいて、前記仮想マシンの移動計画を立案する、
ことを特徴とする請求項1に記載の仮想マシン移動制御システム。
Network bandwidth calculation means;
A virtual machine moving time estimating means;
Comprising
The network bandwidth calculation means calculates the network bandwidth necessary for the movement of the virtual machine from the maximum allowable movement time, the memory rewrite amount per unit time in the virtual machine to be moved, and the memory usage of the virtual machine. Calculate
The network bandwidth securing means reserves the network bandwidth based on the network bandwidth necessary for movement of the virtual machine calculated by the network bandwidth calculation means,
The virtual machine moving time estimating means estimates the moving time of the virtual machine based on the network bandwidth reserved by the network bandwidth securing means,
The migration plan planning unit formulates a migration plan for the virtual machine based on the migration time of the virtual machine estimated by the virtual machine migration time estimation unit.
The virtual machine movement control system according to claim 1.
前記移動対象となる仮想マシンにおける単位時間当たりのメモリ書き換え量の測定値と測定時刻とを対応付けて記憶するメモリ書き換え量格納部と、
前記メモリ書き換え量格納部が記憶する前記メモリ書き換え量の測定値および測定時刻に基づいて、前記移動対象となる仮想マシンの将来時刻における単位時間当たりのメモリ書き換え量を推定するメモリ書き換え量推定手段と、
を具備し、
前記ネットワーク帯域計算手段は、前記メモリ書き換え量推定手段が推定した、前記将来時刻における単位時間当たりのメモリ書き換え量に基づいて、前記仮想マシンの移動に必要なネットワーク帯域を計算する、
ことを特徴とする請求項2に記載の仮想マシン移動制御システム。
A memory rewrite amount storage unit for storing a measurement value and a measurement time of the memory rewrite amount per unit time in the virtual machine to be moved;
A memory rewrite amount estimating means for estimating a memory rewrite amount per unit time at a future time of the virtual machine to be moved based on a measurement value and a measurement time of the memory rewrite amount stored in the memory rewrite amount storage unit; ,
Comprising
The network bandwidth calculation means calculates a network bandwidth necessary for moving the virtual machine based on the memory rewrite amount per unit time at the future time estimated by the memory rewrite amount estimation means.
The virtual machine movement control system according to claim 2.
使用されているネットワーク帯域を測定するネットワーク帯域測定手段を具備し、
前記ネットワーク帯域計算手段は、前記ネットワーク帯域測定手段が測定した前記使用されているネットワーク帯域に基づいて、予約する前記ネットワーク帯域を調整する、
ことを特徴とする請求項2または3に記載の仮想マシン移動制御システム。
Comprising network bandwidth measuring means for measuring the network bandwidth being used;
The network bandwidth calculating means adjusts the reserved network bandwidth based on the used network bandwidth measured by the network bandwidth measuring means;
The virtual machine movement control system according to claim 2 or 3,
前記ネットワーク帯域計算手段は、前記ネットワーク帯域測定手段が測定した前記使用されているネットワーク帯域と、前記仮想マシンの移動に必要なネットワーク帯域との総和が、ネットワークの最大帯域を超えないように、予約する前記ネットワーク帯域を調整する、
ことを特徴とする請求項4に記載の仮想マシン移動制御システム。
The network bandwidth calculating means reserves so that the sum of the used network bandwidth measured by the network bandwidth measuring means and the network bandwidth necessary for moving the virtual machine does not exceed the maximum bandwidth of the network. Adjusting the network bandwidth,
The virtual machine movement control system according to claim 4.
仮想マシン移動制御システムの仮想マシン移動方法であって、
ネットワーク帯域の予約を行うネットワーク帯域確保ステップと、
前記ネットワーク帯域確保ステップにて予約したネットワーク帯域に基づいて仮想マシンの移動計画を立案する移動計画立案ステップと、
前記移動計画立案ステップにて立案した前記仮想マシンの移動計画に基づいて、仮想マシンの移動を実行する仮想マシン移動実行ステップと、
を具備することを特徴とする仮想マシン移動方法。
A virtual machine movement method of a virtual machine movement control system,
Network bandwidth reservation step for reserving network bandwidth;
A migration plan planning step of planning a migration plan of a virtual machine based on the network bandwidth reserved in the network bandwidth securing step;
A virtual machine movement execution step for executing movement of a virtual machine based on the movement plan of the virtual machine planned in the movement plan planning step;
A virtual machine moving method comprising:
ネットワーク帯域計算ステップと、
仮想マシン移動時間推定ステップと、
を具備し、
前記ネットワーク帯域計算ステップでは、最大移動許容時間と、移動対象となる仮想マシンにおける単位時間当たりのメモリ書き換え量と、当該仮想マシンのメモリ使用量とから、当該仮想マシンの移動に必要なネットワーク帯域を計算し、
前記ネットワーク帯域確保ステップでは、前記ネットワーク帯域計算ステップにて計算した、前記仮想マシンの移動に必要なネットワーク帯域に基づいて、前記ネットワーク帯域の予約を行い、
前記仮想マシン移動時間推定ステップでは、前記ネットワーク帯域確保ステップにて予約したネットワーク帯域に基づいて、仮想マシンの移動時間を推定し、
前記移動計画立案ステップでは、前記仮想マシン移動時間推定ステップにて推定した前記仮想マシンの移動時間に基づいて、前記仮想マシンの移動計画を立案する、
ことを特徴とする請求項6に記載の仮想マシン移動方法。
Network bandwidth calculation step;
A virtual machine movement time estimation step;
Comprising
In the network bandwidth calculation step, the network bandwidth required for the movement of the virtual machine is calculated from the maximum allowable movement time, the memory rewrite amount per unit time in the virtual machine to be moved, and the memory usage of the virtual machine. Calculate
In the network bandwidth securing step, reservation of the network bandwidth is performed based on the network bandwidth necessary for the movement of the virtual machine calculated in the network bandwidth calculating step,
In the virtual machine moving time estimating step, the moving time of the virtual machine is estimated based on the network bandwidth reserved in the network bandwidth securing step,
In the migration planning step, the migration plan of the virtual machine is drafted based on the migration time of the virtual machine estimated in the virtual machine migration time estimation step.
The virtual machine moving method according to claim 6.
前記仮想マシン移動制御システムは、前記移動対象となる仮想マシンにおける単位時間当たりのメモリ書き換え量の測定値と測定時刻とを対応付けて記憶するメモリ書き換え量格納部を具備し、
前記仮想マシン移動方法は、
前記メモリ書き換え量格納部が記憶する前記メモリ書き換え量の測定値および測定時刻に基づいて、前記移動対象となる仮想マシンの将来時刻における単位時間当たりのメモリ書き換え量を推定するメモリ書き換え量推定ステップを具備し、
前記ネットワーク帯域計算ステップでは、前記メモリ書き換え量推定ステップにて推定した、前記将来時刻における単位時間当たりのメモリ書き換え量に基づいて、前記仮想マシンの移動に必要なネットワーク帯域を計算する、
ことを特徴とする請求項7に記載の仮想マシン移動方法。
The virtual machine movement control system includes a memory rewrite amount storage unit that stores a measurement value and a measurement time of a memory rewrite amount per unit time in the virtual machine to be moved in association with each other,
The virtual machine moving method is:
A memory rewrite amount estimation step for estimating a memory rewrite amount per unit time at a future time of the virtual machine to be moved based on a measurement value and a measurement time of the memory rewrite amount stored in the memory rewrite amount storage unit. Equipped,
In the network bandwidth calculation step, based on the memory rewrite amount per unit time at the future time estimated in the memory rewrite amount estimation step, the network bandwidth necessary for moving the virtual machine is calculated.
The virtual machine moving method according to claim 7, wherein:
使用されているネットワーク帯域を測定するネットワーク帯域測定ステップを具備し、
前記ネットワーク帯域計算ステップでは、前記ネットワーク帯域測定ステップにて測定した前記使用されているネットワーク帯域に基づいて、前記仮想マシンの移動に必要なネットワーク帯域を調整する、
ことを特徴とする請求項7または8に記載の仮想マシン移動方法。
A network bandwidth measuring step for measuring the network bandwidth being used;
In the network bandwidth calculation step, based on the used network bandwidth measured in the network bandwidth measurement step, a network bandwidth necessary for movement of the virtual machine is adjusted.
9. The virtual machine moving method according to claim 7, wherein the virtual machine moving method is characterized in that:
仮想マシン移動制御システムとしてのコンピュータに、
ネットワーク帯域の予約を行うネットワーク帯域確保ステップと、
前記ネットワーク帯域確保ステップにて予約したネットワーク帯域に基づいて仮想マシンの移動計画を立案する移動計画立案ステップと、
前記移動計画立案ステップにて立案した前記仮想マシンの移動計画に基づいて、仮想マシンの移動を実行する仮想マシン移動実行ステップと、
を実行させるためのプログラム。
To a computer as a virtual machine movement control system,
Network bandwidth reservation step for reserving network bandwidth;
A migration plan planning step of planning a migration plan of a virtual machine based on the network bandwidth reserved in the network bandwidth securing step;
A virtual machine movement execution step for executing movement of a virtual machine based on the movement plan of the virtual machine planned in the movement plan planning step;
A program for running
JP2012067302A 2012-03-23 2012-03-23 Virtual machine movement control system, virtual machine movement method, and program Pending JP2013200615A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012067302A JP2013200615A (en) 2012-03-23 2012-03-23 Virtual machine movement control system, virtual machine movement method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012067302A JP2013200615A (en) 2012-03-23 2012-03-23 Virtual machine movement control system, virtual machine movement method, and program

Publications (1)

Publication Number Publication Date
JP2013200615A true JP2013200615A (en) 2013-10-03

Family

ID=49520844

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012067302A Pending JP2013200615A (en) 2012-03-23 2012-03-23 Virtual machine movement control system, virtual machine movement method, and program

Country Status (1)

Country Link
JP (1) JP2013200615A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016184252A (en) * 2015-03-26 2016-10-20 日本電気株式会社 Live migration management method and apparatus
JP2016537705A (en) * 2013-12-06 2016-12-01 ホアウェイ・テクノロジーズ・カンパニー・リミテッド Method, apparatus and system for virtual machine migration management
US9720728B2 (en) 2013-12-06 2017-08-01 Huawei Technologies Co., Ltd. Migrating a VM when the available migration duration times of a source and destination node are greater than the VM's migration duration time
JP2019204378A (en) * 2018-05-25 2019-11-28 コニカミノルタ株式会社 Print controller and program
US10565009B2 (en) 2015-12-08 2020-02-18 Nec Corporation Planning system for planning disposition of virtual machine, planning method, and recording medium for storing planning program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016537705A (en) * 2013-12-06 2016-12-01 ホアウェイ・テクノロジーズ・カンパニー・リミテッド Method, apparatus and system for virtual machine migration management
US9720728B2 (en) 2013-12-06 2017-08-01 Huawei Technologies Co., Ltd. Migrating a VM when the available migration duration times of a source and destination node are greater than the VM's migration duration time
JP2016184252A (en) * 2015-03-26 2016-10-20 日本電気株式会社 Live migration management method and apparatus
US10565009B2 (en) 2015-12-08 2020-02-18 Nec Corporation Planning system for planning disposition of virtual machine, planning method, and recording medium for storing planning program
JP2019204378A (en) * 2018-05-25 2019-11-28 コニカミノルタ株式会社 Print controller and program
JP7059802B2 (en) 2018-05-25 2022-04-26 コニカミノルタ株式会社 Print controller and program

Similar Documents

Publication Publication Date Title
US10296364B2 (en) Capacity risk management for virtual machines
CN107548549B (en) Resource balancing in a distributed computing environment
US10055252B2 (en) Apparatus, system and method for estimating data transfer periods for job scheduling in parallel computing
JP6005795B2 (en) Reliable deterministic live migration of virtual machines
US9372627B2 (en) Dynamic feedback-based throughput control for black-box storage systems
US11216310B2 (en) Capacity expansion method and apparatus
CN108182105B (en) Local dynamic migration method and control system based on Docker container technology
JP6168576B2 (en) Method, apparatus and system for virtual machine migration management
JP5370946B2 (en) Resource management method and computer system
US9229778B2 (en) Method and system for dynamic scaling in a cloud environment
US20070283016A1 (en) Multiple resource control-advisor for management of distributed or web-based systems
CN103986766B (en) Adaptive load balancing job task dispatching method and device
US20210182108A1 (en) Optimizing distribution of heterogeneous software process workloads
RU2015114568A (en) AUTOMATED RESOURCE USE PROFILING
US10142211B2 (en) Storage management device and control method
Li An adaptive overload threshold selection process using Markov decision processes of virtual machine in cloud data center
JP2013200615A (en) Virtual machine movement control system, virtual machine movement method, and program
US20160364167A1 (en) Storage management device, storage management method, and computer-readable recording medium
US11003379B2 (en) Migration control apparatus and migration control method
US20220237016A1 (en) Apparatus for determining resource migration schedule
US9609054B2 (en) Load balancing scalable storage utilizing optimization modules
Babu et al. Interference aware prediction mechanism for auto scaling in cloud
US20100205306A1 (en) Grid computing system, management apparatus, and method for managing a plurality of nodes
Shi et al. Adaptive QoS-aware Microservice Deployment with Excessive Loads via Intra-and Inter-Datacenter Scheduling
US11995460B2 (en) Resource determination device, method, and program