(57)【要約】【課題】オープンフローによる制御が行われている仮想ネットワークと、既存の技術による仮想化ネットワークとを一元管理する。【解決手段】仮想マシン管理装置３００は、スイッチングハブ１１０及び物理サーバ１２０内のハイパーバイザから管理情報を受信することにより、物理サーバ１２０内の仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を認識する。また仮想マシン管理装置３００は、オープンフローコントローラ２３０及び物理サーバ２２０内のハイパーバイザから管理情報を受信することにより、物理サーバ２２０内の仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を特定する。仮想マシン管理装置３００は、特定した情報を記憶する。【選択図】図１
2013074362.tif 000002
【特許請求の範囲】
【請求項１】
スイッチングハブに接続する第１仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を受信する第１受信手段と、
オープンフロースイッチ（Open Flow Switch）に接続する第２仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を受信する第２受信手段と、
前記第１受信手段が受信したポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を、前記スイッチングハブを識別するハブ識別情報に対応付けて記憶し、かつ前記第２受信手段が受信したポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を、前記オープンフロースイッチを識別するスイッチ識別情報に対応付けて記憶する記憶手段と、
を有する仮想マシン管理装置。
【請求項２】
請求項１に記載の仮想マシン管理装置において、
前記第１受信手段は、前記第１仮想マシンを有する第１物理サーバ及び前記スイッチングハブに、定期的に、ポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を要求し、
前記第２受信手段は、前記オープンフロースイッチに接続するオープンフローコントローラに、定期的にポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を要求する仮想マシン管理装置。
【請求項３】
請求項１又は２に記載の仮想マシン管理装置において、
前記第１仮想マシンを、当該仮想マシンが現在稼動している第１物理サーバから、前記第２仮想マシンが稼動している第２物理サーバに移す仮想マシン設定手段を備える仮想マシン管理装置。
【請求項４】
請求項３に記載の仮想マシン管理装置において、
前記仮想マシン設定手段は、
前記第１仮想マシンを前記第１物理サーバから前記第２物理サーバに移す際、前記第１仮想マシンの前記ＭＡＣアドレス及び前記ＩＰアドレスの少なくとも一方並びに前記ＶＬＡＮ識別情報が、前記ハブ識別情報ではなく前記スイッチ識別情報に対応するように前記記憶手段に記憶されている情報を更新する仮想マシン管理装置。
【請求項５】
請求項１又は２に記載の仮想マシン管理装置において、
前記第２仮想マシンを、当該仮想マシンが現在稼動している第２物理サーバから、前記第１仮想マシンが稼動している第１物理サーバに移す仮想マシン設定手段を備える仮想マシン管理装置。
【請求項６】
請求項５に記載の仮想マシン管理装置において、
前記仮想マシン設定手段は、
前記第２仮想マシンを前記第２物理サーバから前記第１物理サーバに移す際、前記第２仮想マシンの前記ＭＡＣアドレス及び前記ＩＰアドレスの少なくとも一方並びに前記ＶＬＡＮ識別情報が、前記スイッチ識別情報ではなく前記ハブ識別情報に対応するように前記記憶手段に記憶されている情報を更新する仮想マシン管理装置。
【請求項７】
コンピュータが、スイッチングハブに接続する第１仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を受信し、
前記コンピュータが、オープンフロースイッチ（Open Flow Switch）に接続する第２仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を受信し、
前記コンピュータが、前記第１仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を、前記スイッチングハブを識別するハブ識別情報に対応付けて記憶手段に記憶させ、かつ前記第２仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を、前記オープンフロースイッチを識別するスイッチ識別情報に対応付けて前記記憶手段に記憶させる、仮想マシン管理方法。
【請求項８】
コンピュータを、仮想マシンを管理するための仮想マシン管理装置として機能させるプログラムであって、
前記コンピュータに、
スイッチングハブに接続する第１仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を受信する機能と、
オープンフロースイッチ（Open Flow Switch）に接続する第２仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を受信する機能と、
前記第１仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を、前記スイッチングハブを識別するハブ識別情報に対応付けて記憶手段に記憶させ、かつ前記第２仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を、前記オープンフロースイッチを識別するスイッチ識別情報に対応付けて前記記憶手段に記憶させる機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシン管理装置、仮想マシン管理方法、及びプログラムに関する。
【背景技術】
【０００２】
新しいネットワーク制御技術として、オープンフロー（Open Flow）がある。この技術は、最適なネットワークを自由に構築できる次世代のネットワーク制御技術として注目されている。
【０００３】
なお、特許文献１には、仮想ネットワークを管理するために、サーバが、ＭＡＣアドレス、ポート番号／ＶＣＣ識別子、ＶＬＡＮ識別子、及びスイッチングハブの識別子を互いに対応付けて記憶することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０９−１３０４２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
オープンフローによる制御が行われている仮想ネットワークは、既存の技術による仮想化ネットワークと共存して使用される、と考えられる。この場合においても、オープンフローによる制御が行われている仮想ネットワークと、既存の技術による仮想化ネットワークとを一元管理する必要がある、と考えられる。
【０００６】
本発明の目的は、オープンフローによる制御が行われている仮想ネットワークと、既存の技術による仮想化ネットワークとを一元管理することができる仮想マシン管理装置、仮想マシン管理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明によれば、スイッチングハブに接続する第１仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を受信する第１受信手段と、
オープンフロースイッチ（Open Flow Switch）に接続する第２仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を受信する第２受信手段と、
前記第１受信手段が受信したポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を、前記スイッチングハブを識別するハブ識別情報に対応付けて記憶し、かつ前記第２受信手段が受信したポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を、前記オープンフロースイッチを識別するスイッチ識別情報に対応付けて記憶する記憶手段と、
を有する仮想マシン管理装置が提供される。
【０００８】
本発明によれば、コンピュータが、スイッチングハブに接続する第１仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を受信し、
前記コンピュータが、オープンフロースイッチ（Open Flow Switch）に接続する第２仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を受信し、
前記コンピュータが、前記第１仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を、前記スイッチングハブを識別するハブ識別情報に対応付けて記憶手段に記憶させ、かつ前記第２仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を、前記オープンフロースイッチを識別するスイッチ識別情報に対応付けて前記記憶手段に記憶させる、仮想マシン管理方法が提供される。
【０００９】
本発明によれば、コンピュータを、仮想マシンを管理するための仮想マシン管理装置として機能させるプログラムであって、
前記コンピュータに、
スイッチングハブに接続する第１仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を受信する機能と、
オープンフロースイッチ（Open Flow Switch）に接続する第２仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を受信する機能と、
前記第１仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を、前記スイッチングハブを識別するハブ識別情報に対応付けて記憶手段に記憶させ、かつ前記第２仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を、前記オープンフロースイッチを識別するスイッチ識別情報に対応付けて前記記憶手段に記憶させる機能と、
を実現させるプログラムが提供される。
【発明の効果】
【００１０】
本発明によれば、オープンフローによる制御が行われている仮想ネットワークと、既存の技術による仮想化ネットワークとを一元管理することができる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態に係る仮想マシン管理装置の使用環境を説明するための図である。
【図２】第１ネットワークの構成を示すブロック図である。
【図３】第２ネットワークの構成を示すブロック図である。
【図４】仮想マシン管理装置の機能構成を示すブロック図である。
【図５】記憶部が記憶している情報の一例をテーブル形式で示す図である。
【図６】仮想マシン管理装置の第１受信部が、スイッチングハブから管理情報を受信するときの処理を示すフローチャートである。
【図７】仮想マシン管理装置の第２受信部が、オープンフローコントローラから、オープンフロースイッチが管理している管理情報を受信するときの処理を示すフローチャートである。
【図８】第２の実施形態に係る仮想マシン管理装置の機能構成を示すブロック図である。
【図９】仮想マシン設定部が物理サーバに仮想マシンを設定するときの動作を示すフローチャートである。
【図１０】仮想マシン設定部が物理サーバに仮想マシンを設定するときの動作を示すフローチャートである。
【図１１】仮想マシン設定部がライブマイグレーションを行うときの動作を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１３】
（第１の実施形態）
図１は、第１の実施形態に係る仮想マシン管理装置３００の使用環境を説明するための図である。仮想マシン管理装置３００は、第１ネットワーク１００及び第２ネットワーク２００に接続している。第１ネットワーク１００及び第２ネットワーク２００は、通信網１０を介して互いに接続している。通信網１０は、例えばインターネットなどの公衆通信網である。
【００１４】
第１ネットワーク１００は、少なくとも一つの物理サーバ１２０を有している。物理サーバ１２０内には、少なくとも一つの仮想ブリッジ及び仮想マシンが生成されている。物理サーバ１２０及び仮想マシンは、スイッチングハブ１１０によって管理されている。すなわち第１ネットワーク１００は、一般的な技術を用いて管理されている。物理サーバ１２０内の仮想マシンは、物理サーバ１２０内のハイパーバイザの種類（VMware、Xen、KVMなど）に応じた種類となっている。
【００１５】
第２ネットワーク２００は、少なくとも一つの物理サーバ２２０を有している。物理サーバ２２０内には、少なくとも一つの仮想ブリッジ及び仮想マシンが生成されている。第２ネットワーク２００は、オープンフローによって制御されている。すなわち、物理サーバ２２０及び仮想マシンは、オープンフロースイッチ２１０及びオープンフローコントローラ２３０によって管理されている。物理サーバ２２０内の仮想マシンは、物理サーバ２２０内のハイパーバイザの種類（VMware、Xen、KVMなど）に応じた種類となっている。
【００１６】
仮想マシン管理装置３００は、第１ネットワーク１００のスイッチングハブ１１０及び物理サーバ１２０に接続するとともに、第２ネットワーク２００の物理サーバ２２０及びオープンフローコントローラ２３０に接続する。仮想マシン管理装置３００は、スイッチングハブ１１０及び物理サーバ１２０内のハイパーバイザそれぞれから管理情報を受信することにより、物理サーバ１２０内の仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を認識する。また仮想マシン管理装置３００は、オープンフローコントローラ２３０及び物理サーバ２２０内のハイパーバイザそれぞれから管理情報を受信することにより、物理サーバ２２０内の仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を特定する。仮想マシン管理装置３００は、特定した情報を記憶する。このため、仮想マシン管理装置３００は、オープンフローによる制御が行われている第２ネットワーク２００と、既存の技術による第１ネットワーク１００とを一元管理することができる。なお、仮想マシン管理装置３００と物理サーバ２２０の間の通信、及び仮想マシン管理装置３００とオープンフローコントローラ２３０の間の通信は、オープンフロープロトコルに従って行われる。オープンフロープロトコルは、例えば「OpenFlow Switch Specification, Version 1.1.0 Implemented」に定義されている。
【００１７】
なお、仮想マシンは、仮想ブリッジを介してスイッチングハブ１１０又は物理サーバ２２０に接続する。ＶＬＡＮ識別情報は、この仮想ブリッジそれぞれに付与される。また本実施形態において、第１ネットワーク１００及び第２ネットワーク２００それぞれにも、ＶＬＡＮ識別情報が付与される。
【００１８】
図２は、第１ネットワーク１００の構成を示すブロック図である。物理サーバ１２０は、スイッチングハブ１１０を介して通信網１０に接続している。物理サーバ１２０内には、少なくとも一つの仮想マシン及び仮想ブリッジが生成されている。本図に示す例では、物理サーバ１２０内には仮想マシン４１０、仮想ブリッジ４１２、仮想マシン４２０、及び仮想ブリッジ４２２が生成されている。仮想マシン４１０は、仮想ブリッジ４１２を介してスイッチングハブ１１０に接続しており、仮想マシン４２０は、仮想ブリッジ４２２を介してスイッチングハブ１１０に接続している。なお、仮想マシン４１０と仮想マシン４２０は、互いに通信を行うことも可能である。
【００１９】
スイッチングハブ１１０は、仮想マシン４１０，４２０のポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を記憶している。そしてスイッチングハブ１１０は、仮想マシン管理装置３００からの要求により、物理サーバ１２０内の仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を、仮想マシン管理装置３００に送信する。
【００２０】
また物理サーバ１２０は、仮想マシン管理装置３００からの要求に従って、仮想マシン及び仮想ブリッジの生成、変更、及び削除を行う。
【００２１】
図３は、第２ネットワーク２００の構成を示すブロック図である。第２ネットワーク２００は、オープンフロースイッチ２１０を介して通信網１０に接続している。物理サーバ２２０内には、一つの仮想マシン及び仮想ブリッジが生成されている。本図に示す例では、物理サーバ２２０内には仮想マシン４３０、仮想ブリッジ４３２、仮想マシン４４０、及び仮想ブリッジ４４２が生成されている。仮想マシン４３０は、仮想ブリッジ４３２を介してオープンフロースイッチ２１０に接続しており、仮想マシン４４０は、仮想ブリッジ４４２を介してオープンフロースイッチ２１０に接続している。なお、仮想マシン４３０と仮想マシン４４０は、互いに通信を行うことも可能である。
【００２２】
オープンフロースイッチ２１０は、仮想マシン４３０，４４０のポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を記憶している。オープンフローコントローラ２３０は、仮想マシン管理装置３００からの要求により、物理サーバ２２０内の仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を、オープンフロースイッチ２１０から取得して仮想マシン管理装置３００に送信する。
【００２３】
図４は、仮想マシン管理装置３００の機能構成を示すブロック図である。仮想マシン管理装置３００は、第１受信部３１０、第２受信部３２０、及び記憶部３３０を有している。
【００２４】
第１受信部３１０は、スイッチングハブ１１０及び物理サーバ１２０内のハイパーバイザから、管理情報を受信する。これら管理情報を用いることにより、第１受信部３１０は、物理サーバ１２０内の仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方（例えば双方）を特定できる。
【００２５】
第２受信部３２０は、オープンフローコントローラ２３０、及び物理サーバ１２０内のハイパーバイザから、管理情報を受信する。これら管理情報を用いることにより、第２受信部３２０は、物理サーバ２２０内の仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方（例えば双方）を特定できる。
【００２６】
記憶部３３０は、第１受信部３１０が特定した情報及び第２受信部３２０が受信した情報を記憶し、一元管理する。このとき、記憶部３３０は、第１受信部３１０が受信した情報を、送信元のスイッチングハブを識別するハブ識別情報に対応付けて記憶する。また記憶部３３０は、第２受信部３２０が特定した情報を、送信元のオープンフロースイッチを識別するスイッチ識別情報に対応付けて記憶する。
【００２７】
なお、図４に示した仮想マシン管理装置３００の各構成要素は、ハードウエア単位の構成ではなく、機能単位のブロックを示している。仮想マシン管理装置３００の各構成要素は、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウエアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置には様々な変形例がある。
【００２８】
図５は、記憶部３３０が記憶している情報の一例をテーブル形式で示す図である。本図に示す例において、第１受信部３１０及び第２受信部３２０は、仮想マシンのＩＰアドレス及びＭＡＣアドレスの双方を受信している。記憶部３３０は、仮想マシンのＭＡＣアドレス、ポート番号、ＶＬＡＮ識別情報、ＩＰアドレス、及びスイッチ識別情報もしくはハブ識別情報に対応付けて記憶している。記憶部３３０が、仮想マシンのＭＡＣアドレス、ポート番号、ＶＬＡＮ識別情報、及びＩＰアドレスを、その仮想マシンが接続しているスイッチングハブ又はオープンフロースイッチの識別情報に対応付けて記憶しているため、記憶部３３０を参照することにより、いずれの仮想マシンがいずれのネットワークに位置しているかを把握することができる。
【００２９】
なお、記憶部３３０に記憶されている情報は、不揮発性であり、また、エージングによる削除も基本的には行われない。
【００３０】
図６は、仮想マシン管理装置３００の第１受信部３１０が、スイッチングハブ１１０から管理情報を受信するときの処理を示すフローチャートである。第１受信部３１０は、図６に示す処理を、定期的に行っている。
【００３１】
まず第１受信部３１０は、スイッチングハブ１１０に、そのスイッチングハブ１１０が管理している管理情報を要求する（ステップＳ１０）。スイッチングハブ１１０は、第１受信部３１０に、管理情報を送信する（ステップＳ２０）。ここで送信する管理情報には、ＭＡＣアドレス、ポート番号、及びスイッチ/ハブ識別情報が含まれている。また、第１受信部３１０は、物理サーバ１２０内のハイパーバイザに管理情報を要求する（ステップＳ３０）。ハイパーバイザは、第１受信部３１０に、管理情報を送信する（ステップＳ４０）。ここで送信する管理情報には、ＶＬＡＮ識別番号及びＩＰアドレスが含まれている。
【００３２】
そして第１受信部３１０は、スイッチングハブ１１０から受信した管理情報、及びハイパーバイザから受信した管理情報から、仮想マシンのＭＡＣアドレス、ポート番号、ＶＬＡＮ識別情報、及びＩＰアドレスを認識する。そして第１受信部３１０は、認識した情報を、スイッチングハブ１１０のハブ識別情報に対応付けて、記憶部３３０に記憶させる（ステップＳ５０）。
【００３３】
図７は、仮想マシン管理装置３００の第２受信部３２０が、オープンフローコントローラ２３０から、オープンフロースイッチ２１０が管理している管理情報を受信するときの処理を示すフローチャートである。第２受信部３２０は、図７に示す処理を、定期的に行っている。
【００３４】
まず第２受信部３２０は、オープンフローコントローラ２３０に、オープンフロースイッチ２１０が管理している管理情報を要求する（ステップＳ２００）。オープンフローコントローラ２３０は、オープンフロースイッチ２１０に、管理情報を要求する（ステップＳ２０２）。オープンフロースイッチ２１０は、レイヤ１〜４の情報を管理している。オープンフロースイッチ２１０は、オープンフローコントローラ２３０に、管理情報を送信する（ステップＳ２０４）。オープンフローコントローラ２３０は、第２受信部３２０に、オープンフロースイッチ２１０から受診した管理情報を送信する（ステップＳ２０６）。ここで送信する管理情報には、ＭＡＣアドレス、ポート番号、及びスイッチ/ハブ識別情報が含まれている。
【００３５】
また、第２受信部３２０は、物理サーバ２２０内のハイパーバイザに管理情報を要求する（ステップＳ２０８）。ハイパーバイザは、第２受信部３２０に、管理情報を送信する（ステップＳ２１０）。ここで送信する管理情報には、ＶＬＡＮ識別番号及びＩＰアドレスが含まれている。
【００３６】
そして第２受信部３２０は、オープンフローコントローラ２３０から受信した管理情報、及びハイパーバイザから受信した管理情報から、仮想マシンのＭＡＣアドレス、ポート番号、ＶＬＡＮ識別情報、及びＩＰアドレスを認識する。そして第２受信部３２０は、認識した情報を、オープンフロースイッチ２１０のスイッチ識別情報に対応付けて、記憶部３３０に記憶させる（ステップＳ２１２）。
【００３７】
以上、本実施形態によれば、仮想マシン管理装置３００は、スイッチングハブ１１０及び物理サーバ１２０内のハイパーバイザから管理情報を受信することにより、物理サーバ１２０内の仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を認識する。また仮想マシン管理装置３００は、オープンフローコントローラ２３０及び物理サーバ２２０内のハイパーバイザから管理情報を受信することにより、物理サーバ２２０内の仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を特定する。仮想マシン管理装置３００は、特定した情報を記憶する。このため、仮想マシン管理装置３００は、オープンフローによる制御が行われている第２ネットワーク２００と、既存の技術による第１ネットワーク１００とを一元管理することができる。
【００３８】
（第２の実施形態）
図８は、第２の実施形態に係る仮想マシン管理装置３００の機能構成を示すブロック図である。本実施形態に係る仮想マシン管理装置３００は、仮想マシン設定部３４０を備えている点を除いて、第１の実施形態に係る仮想マシン管理装置３００と同様の構成である。
【００３９】
仮想マシン設定部３４０は、物理サーバ１２０に、仮想マシン及び仮想ブリッジの生成、変更、及び削除を行わせるとともに、物理サーバ２２０に、仮想マシン及び仮想ブリッジの生成、変更、及び削除を行わせる。さらに、仮想マシン設定部３４０は、物理サーバ１２０及び物理サーバ２２０に、仮想マシンのライブマイグレーションを行わせる。すなわち仮想マシン設定部３４０は、物理サーバ１２０で稼動している仮想マシンを、物理サーバ２２０に移動させる。また、仮想マシン設定部３４０は、物理サーバ２２０で稼動している仮想マシンを、物理サーバ１２０に移動させる。
【００４０】
図９は、仮想マシン設定部３４０が物理サーバ１２０に仮想マシンを設定するときの動作を示すフローチャートである。本図に示す例では、仮想マシン設定部３４０は、外部からの指示に従って、仮想マシンの設定を行う。ただし仮想マシン設定部３４０は、自発的に仮想マシンの設定を行っても良い。
【００４１】
まず仮想マシン設定部３４０は、外部から、仮想マシンの設定要求を受信する（ステップＳ１０２）。すると仮想マシン設定部３４０は、スイッチングハブ１１０に対して、新規にＶＬＡＮを設定すること要求する（ステップＳ１０４）。スイッチングハブ１１０は、新規にＶＬＡＮを設定すると、設定したＶＬＡＮのＶＬＡＮ識別情報及びこれに対応するポート番号を、仮想マシン設定部３４０に送信する（ステップＳ１０６）。
【００４２】
また仮想マシン設定部３４０は、ステップＳ１０６で送信されたＶＬＡＮ識別情報に対応する仮想ブリッジを設定するように、物理サーバ１２０に要求する（ステップＳ１０８）。物理サーバ１２０は、仮想ブリッジを設定すると、設定した仮想ブリッジの情報を仮想マシン設定部３４０に送信する（ステップＳ１１０）。
【００４３】
そして仮想マシン設定部３４０は、物理サーバ１２０のハイパーバイザに、ステップＳ１０８の要求に従って設定された仮想ブリッジを用いて仮想マシンを設定することを、要求する（ステップＳ１１２）。物理サーバ１２０のハイパーバイザは、物理サーバ１２０に仮想マシンを設定すると、設定した仮想マシンのＭＡＣアドレス及びＩＰアドレスを、仮想マシン設定部３４０に送信する（ステップＳ１１４）。
【００４４】
そして仮想マシン設定部３４０は、ステップＳ１１４で受信したＭＡＣアドレス及びＩＰアドレスを、ステップＳ１０６で受信したＶＬＡＮ識別情報及びポート番号、並びにスイッチングハブ１１０のハブ識別情報に対応付けて、記憶部３３０に記憶させる（ステップＳ１１６）。
【００４５】
図１０は、仮想マシン設定部３４０が物理サーバ２２０に仮想マシンを設定するときの動作を示すフローチャートである。本図に示す例では、仮想マシン設定部３４０は、外部からの指示に従って、仮想マシンの設定を行う。ただし仮想マシン設定部３４０は、自発的に仮想マシンの設定を行っても良い。
【００４６】
まず仮想マシン設定部３４０は、外部から、仮想マシンの設定要求を受信する（ステップＳ２２２）。すると仮想マシン設定部３４０は、オープンフローコントローラ２３０に対して、新規にＶＬＡＮを設定すること要求する（ステップＳ２２４）。オープンフローコントローラ２３０は、オープンフロースイッチ２１０に、新規にＶＬＡＮを設定すること要求する（ステップＳ２２６）。オープンフロースイッチ２１０は、新規にＶＬＡＮを設定すると、設定したＶＬＡＮのＶＬＡＮ識別情報及びこれに対応するポート番号を、オープンフローコントローラ２３０を介して仮想マシン設定部３４０に送信する（ステップＳ２２８，Ｓ２３０）。
【００４７】
また仮想マシン設定部３４０は、ステップＳ２３０で送信されたＶＬＡＮ識別情報に対応する仮想ブリッジを設定するように、物理サーバ２２０に要求する（ステップＳ２３２）。物理サーバ２２０は、仮想ブリッジを設定すると、設定した仮想ブリッジの情報を仮想マシン設定部３４０に送信する（ステップＳ２３４）。
【００４８】
そして仮想マシン設定部３４０は、物理サーバ２２０のハイパーバイザに、ステップＳ２３２の要求に従って設定された仮想ブリッジを用いて仮想マシンを設定することを、要求する（ステップＳ２３６）。物理サーバ２２０のハイパーバイザは、物理サーバ２２０に仮想マシンを設定すると、設定した仮想マシンのＭＡＣアドレス及びＩＰアドレスを、仮想マシン設定部３４０に送信する（ステップＳ２３８）。
【００４９】
そして仮想マシン設定部３４０は、ステップＳ２３８で受信したＭＡＣアドレス及びＩＰアドレスを、ステップＳ２３０で受信したＶＬＡＮ識別情報及びポート番号、並びにオープンフロースイッチ２１０のスイッチ識別情報に対応付けて、記憶部３３０に記憶させる（ステップＳ２４０）。
【００５０】
図１１は、仮想マシン設定部３４０がライブマイグレーションを行うときの動作を示すフローチャートである。まず仮想マシン設定部３４０は、記憶部３３０に接続し、ライブマイグレーションの対象となる仮想マシンのＶＬＡＮ識別情報を確認する（ステップＳ３０２）。
【００５１】
次いで仮想マシン設定部３４０は、記憶部３３０に記憶されている情報を用いることにより、仮想マシンの移行先となるネットワークに、ステップＳ３０２で認識したＶＬＡＮ識別情報と同じ識別情報が設定されているかを確認する（ステップＳ３０４）。設定されていない場合、仮想マシン設定部３４０は、移行先のネットワークのスイッチングハブ１１０又はオープンフロースイッチ２１０に、そのＶＬＡＮ識別情報を有するＶＬＡＮを設定させる（ステップＳ３０６）。
【００５２】
そして仮想マシン設定部３４０は、記憶部３３０に記憶されている情報を用いることにより、仮想マシンの移行先となるネットワークに、ステップＳ３０２で認識したＶＬＡＮ識別情報に対応する仮想ブリッジが設定されているかを確認する（ステップＳ３０８）。設定されていない場合、仮想マシン設定部３４０は、移行先のネットワークの物理サーバ１２０又は物理サーバ２２０に、そのＶＬＡＮ識別情報に対応する仮想ブリッジを設定させる（ステップＳ３１０）。
【００５３】
そして仮想マシン設定部３４０は、ライブマイグレーションを実施し、仮想マシンを、移行先のネットワークに移行させる（ステップＳ３１２）。
【００５４】
そして仮想マシン設定部３４０は、記憶部３３０が記憶している情報を更新する（ステップＳ３１４）。具体的には、物理サーバ１２０で稼動している仮想マシンを物理サーバ２２０に移す場合、その仮想マシンのＭＡＣアドレス、ＩＰアドレス、ＶＬＡＮ識別情報が、スイッチングハブ１１０のハブ識別情報ではなくオープンフロースイッチ２１０のスイッチ識別情報に対応するようにする。逆に物理サーバ２２０で稼動している仮想マシンを物理サーバ１２０に移す場合、その仮想マシンのＭＡＣアドレス、ＩＰアドレス、ＶＬＡＮ識別情報が、オープンフロースイッチ２１０のスイッチ識別情報ではなくスイッチングハブ１１０のハブ識別情報に対応するようにする。
【００５５】
本実施形態によっても、第１の実施形態と同様の効果を得ることができる。また、既存の方法で管理されている第１ネットワーク１００と、オープンフローで管理されている第２ネットワーク２００の間で、ライブマイグレーションを行うことができる。
【００５６】
なお、本実施形態によれば、以下の発明が開示されている。
（付記１）
スイッチングハブに接続する第１仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を受信する第１受信手段と、
オープンフロースイッチ（Open Flow Switch）に接続する第２仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を受信する第２受信手段と、
前記第１受信手段が受信したポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を、前記スイッチングハブを識別するハブ識別情報に対応付けて記憶し、かつ前記第２受信手段が受信したポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を、前記オープンフロースイッチを識別するスイッチ識別情報に対応付けて記憶する記憶手段と、
を有する仮想マシン管理装置。
（付記２）
付記１に記載の仮想マシン管理装置において、
前記第１受信手段は、前記第１仮想マシンを有する第１物理サーバ及び前記スイッチングハブに、定期的に、ポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を要求し、
前記第２受信手段は、前記オープンフロースイッチに接続するオープンフローコントローラに、定期的にポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を要求する仮想マシン管理装置。
（付記３）
付記１又は２に記載の仮想マシン管理装置において、
前記第１仮想マシンを、当該仮想マシンが現在稼動している第１物理サーバから、前記第２仮想マシンが稼動している第２物理サーバに移す仮想マシン設定手段を備える仮想マシン管理装置。
（付記４）
付記３に記載の仮想マシン管理装置において、
前記仮想マシン設定手段は、
前記第１仮想マシンを前記第１物理サーバから前記第２物理サーバに移す際、前記第１仮想マシンの前記ＭＡＣアドレス及び前記ＩＰアドレスの少なくとも一方並びに前記ＶＬＡＮ識別情報が、前記ハブ識別情報ではなく前記スイッチ識別情報に対応するように前記記憶手段に記憶されている情報を更新する仮想マシン管理装置。
（付記５）
付記１又は２に記載の仮想マシン管理装置において、
前記第２仮想マシンを、当該仮想マシンが現在稼動している第２物理サーバから、前記第１仮想マシンが稼動している第１物理サーバに移す仮想マシン設定手段を備える仮想マシン管理装置。
（付記６）
付記５に記載の仮想マシン管理装置において、
前記仮想マシン設定手段は、
前記第２仮想マシンを前記第２物理サーバから前記第１物理サーバに移す際、前記第２仮想マシンの前記ＭＡＣアドレス及び前記ＩＰアドレスの少なくとも一方並びに前記ＶＬＡＮ識別情報が、前記スイッチ識別情報ではなく前記ハブ識別情報に対応するように前記記憶手段に記憶されている情報を更新する仮想マシン管理装置。
（付記７）
コンピュータが、スイッチングハブに接続する第１仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を受信し、
前記コンピュータが、オープンフロースイッチ（Open Flow Switch）に接続する第２仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を受信し、
前記コンピュータが、前記第１仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を、前記スイッチングハブを識別するハブ識別情報に対応付けて記憶手段に記憶させ、かつ前記第２仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を、前記オープンフロースイッチを識別するスイッチ識別情報に対応付けて前記記憶手段に記憶させる、仮想マシン管理方法。
（付記８）
付記７に記載の仮想マシン管理方法において、
前記コンピュータは、
前記第１仮想マシンを有する第１物理サーバ及び前記スイッチングハブに、定期的に、ポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を要求し、
前記オープンフロースイッチに接続するオープンフローコントローラに、定期的にポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を要求する仮想マシン管理方法。
（付記９）
付記７又は８に記載の仮想マシン管理方法において、
前記コンピュータは、前記第１仮想マシンを、当該仮想マシンが現在稼動している第１物理サーバから、前記第２仮想マシンが稼動している第２物理サーバに移す仮想マシン管理方法。
（付記１０）
付記９に記載の仮想マシン管理方法において、
前記コンピュータは、前記第１仮想マシンを前記第１物理サーバから前記第２物理サーバに移す際、前記第１仮想マシンの前記ＭＡＣアドレス及び前記ＩＰアドレスの少なくとも一方並びに前記ＶＬＡＮ識別情報が、前記ハブ識別情報ではなく前記スイッチ識別情報に対応するように前記記憶手段に記憶されている情報を更新する仮想マシン管理方法。
（付記１１）
付記７又は８に記載の仮想マシン管理方法において、
前記コンピュータは、前記第２仮想マシンを、当該仮想マシンが現在稼動している第２物理サーバから、前記第１仮想マシンが稼動している第１物理サーバに移す仮想マシン管理方法。
（付記１２）
付記１１に記載の仮想マシン管理方法において、
前記コンピュータは、前記第２仮想マシンを前記第２物理サーバから前記第１物理サーバに移す際、前記第２仮想マシンの前記ＭＡＣアドレス及び前記ＩＰアドレスの少なくとも一方並びに前記ＶＬＡＮ識別情報が、前記スイッチ識別情報ではなく前記ハブ識別情報に対応するように前記記憶手段に記憶されている情報を更新する仮想マシン管理方法。
（付記１３）
コンピュータを、仮想マシンを管理するための仮想マシン管理装置として機能させるプログラムであって、
前記コンピュータに、
スイッチングハブに接続する第１仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を受信する機能と、
オープンフロースイッチ（Open Flow Switch）に接続する第２仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を受信する機能と、
前記第１仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を、前記スイッチングハブを識別するハブ識別情報に対応付けて記憶手段に記憶させ、かつ前記第２仮想マシンのポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を、前記オープンフロースイッチを識別するスイッチ識別情報に対応付けて前記記憶手段に記憶させる機能と、
を実現させるプログラム。
（付記１４）
付記１３に記載のプログラムにおいて、
前記コンピュータに、
前記第１仮想マシンを有する第１物理サーバ及び前記スイッチングハブに、定期的に、ポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を要求する機能と、
前記オープンフロースイッチに接続するオープンフローコントローラに、定期的にポート番号、ＶＬＡＮ識別情報、並びにＩＰアドレス及びＭＡＣアドレスの少なくとも一方を要求する機能と、
を実現させるプログラム。
（付記１５）
付記１３又は１４に記載のプログラムにおいて、
前記コンピュータに、前記第１仮想マシンを、当該仮想マシンが現在稼動している第１物理サーバから、前記第２仮想マシンが稼動している第２物理サーバに移す機能を実現させるプログラム。
（付記１６）
付記１５に記載のプログラムにおいて、
前記コンピュータに、前記第１仮想マシンを前記第１物理サーバから前記第２物理サーバに移す際、前記第１仮想マシンの前記ＭＡＣアドレス及び前記ＩＰアドレスの少なくとも一方並びに前記ＶＬＡＮ識別情報が、前記ハブ識別情報ではなく前記スイッチ識別情報に対応するように前記記憶手段に記憶されている情報を更新する機能を実現させるプログラム。
（付記１７）
付記１３又は１４に記載のプログラムにおいて、
前記コンピュータに、前記第２仮想マシンを、当該仮想マシンが現在稼動している第２物理サーバから、前記第１仮想マシンが稼動している第１物理サーバに移す機能を実現させるプログラム。
（付記１８）
付記１７に記載のプログラムにおいて、
前記コンピュータは、前記第２仮想マシンを前記第２物理サーバから前記第１物理サーバに移す際、前記第２仮想マシンの前記ＭＡＣアドレス及び前記ＩＰアドレスの少なくとも一方並びに前記ＶＬＡＮ識別情報が、前記スイッチ識別情報ではなく前記ハブ識別情報に対応するように前記記憶手段に記憶されている情報を更新する機能を実現させるプログラム。
【００５７】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【符号の説明】
【００５８】
１０ 通信網１０
１００ 第１ネットワーク
１１０ スイッチングハブ
１２０ 物理サーバ
２００ 第２ネットワーク
２１０ オープンフロースイッチ
２２０ 物理サーバ
２３０ オープンフローコントローラ
３００ 仮想マシン管理装置
３１０ 第１受信部
３２０ 第２受信部
３３０ 記憶部
３４０ 仮想マシン設定部
４１０ 仮想マシン
４１２ 仮想ブリッジ
４２０ 仮想マシン
４２２ 仮想ブリッジ
４３０ 仮想マシン
４３２ 仮想ブリッジ
４４０ 仮想マシン
４４２ 仮想ブリッジ
【図１】
2013074362.tif 000003
【図２】
2013074362.tif 000004
【図３】
2013074362.tif 000005
【図４】
2013074362.tif 000006
【図５】
2013074362.tif 000007
【図６】
2013074362.tif 000008
【図７】
2013074362.tif 000009
【図８】
2013074362.tif 000010
【図９】
2013074362.tif 000011
【図１０】
2013074362.tif 000012
【図１１】
2013074362.tif 000013