(57)【要約】      （修正有）【課題】物理マシン内に構築された仮想ネットワークの接続構成をより簡単な方法で特定する。【解決手段】本通信管理方法は、複数の物理ネットワークインタフェースを有するコンピュータにおいて実行される。そして、本通信管理方法は、コンピュータにおいて稼働する複数の仮想マシンのうち第１仮想マシンが、複数の仮想マシンのうち第２仮想マシンに対して、ブロードキャストパケットの送信要求を送信し、第２仮想マシンが送信したブロードキャストパケットを、第１仮想マシンが有する複数の仮想ネットワークインタフェースのうちいずれかの仮想ネットワークインタフェースにて受信し、コンピュータにおいて稼働する複数の仮想スイッチのうち、ブロードキャストパケットを受信した仮想ネットワークインタフェースに接続される仮想スイッチに対応する物理ネットワークインタフェースの識別子に関連付けて、第２仮想マシンの識別子を登録する処理を含む。【選択図】図２
2017195438.tif 000002
【特許請求の範囲】
【請求項１】
複数の物理ネットワークインタフェースを有するコンピュータであって、前記コンピュータにおいて稼働する複数の仮想マシンの仮想ネットワークインタフェースから出力されるパケットが、前記コンピュータにおいて稼働する複数の仮想スイッチのうち１の仮想スイッチを経由して当該１の仮想スイッチに対応する物理ネットワークインタフェースから送信されるコンピュータにおいて実行される通信管理方法であって、
前記複数の仮想マシンのうち第１の仮想マシンが、
前記複数の仮想マシンのうち第２の仮想マシンに対して、ブロードキャストパケットの送信要求を送信し、
前記第２の仮想マシンが送信した前記ブロードキャストパケットを、前記第１の仮想マシンが有する複数の仮想ネットワークインタフェースのうちいずれかの仮想ネットワークインタフェースにて受信し、
前記複数の仮想スイッチのうち、前記ブロードキャストパケットを受信した仮想ネットワークインタフェースに接続される仮想スイッチを特定し、特定された当該仮想スイッチに対応する第１の物理ネットワークインタフェースの識別子に関連付けて、前記第２の仮想マシンの識別子を登録する、
処理を実行する通信管理方法。
【請求項２】
前記複数の仮想マシンのうち前記第１の仮想マシン以外の仮想マシンの各々は、複数の仮想ネットワークインタフェースを有し、
前記第１の仮想マシンが、
前記ブロードキャストパケットが含む送信元アドレスに基づき、前記第２の仮想マシンが前記ブロードキャストパケットの送信に使用した第１の仮想ネットワークインタフェースを特定する、
処理をさらに実行し、
前記第２の仮想マシンの識別子を登録する処理において、
前記第１の物理ネットワークインタフェースの識別子に対応付けて、前記第１の仮想ネットワークインタフェースの識別子をさらに登録する、
請求項１記載の通信管理方法。
【請求項３】
前記第１の仮想マシンが、
前記ブロードキャストパケットが含む送信元アドレスと、予め取得した、前記第２の仮想マシンに割り当てられたアドレスとが一致するか判定する、
処理をさらに実行し、
前記ブロードキャストパケットが含む送信元アドレスと前記第２の仮想マシンに割り当てられたアドレスとが一致する場合、前記第２の仮想マシンの識別子を登録する処理を実行する、
請求項２記載の通信管理方法。
【請求項４】
前記第１の仮想マシンが、
前記第２の仮想マシンが、前記第１の物理ネットワークインタフェースを使用する仮想マシンとして予め指定された仮想マシンと同じであるか判定し、
前記第２の仮想マシンが前記予め指定された仮想マシンと同じではない場合、接続が誤っていることを示すデータを出力する、
処理をさらに実行する請求項１記載の通信管理方法。
【請求項５】
複数の物理ネットワークインタフェースを有するコンピュータであって、前記コンピュータにおいて稼働する複数の仮想マシンの仮想ネットワークインタフェースから出力されるパケットが、前記コンピュータにおいて稼働する複数の仮想スイッチのうち１の仮想スイッチを経由して当該１の仮想スイッチに対応する物理ネットワークインタフェースから送信されるコンピュータに、
前記複数の仮想マシンのうち他の仮想マシンに対して、ブロードキャストパケットの送信要求を送信し、
前記他の仮想マシンが送信した前記ブロードキャストパケットを、複数の仮想ネットワークインタフェースのうちいずれかの仮想ネットワークインタフェースにて受信し、
前記複数の仮想スイッチのうち、前記ブロードキャストパケットを受信した仮想ネットワークインタフェースに接続される仮想スイッチを特定し、特定された当該仮想スイッチに対応する物理ネットワークインタフェースの識別子に関連付けて、前記第２の仮想マシンの識別子を登録する、
処理を実行させる通信管理プログラム。
【請求項６】
複数の物理ネットワークインタフェース
を有する情報処理装置であって、
複数の仮想マシンと、
前記複数の仮想マシンの仮想ネットワークインタフェースから出力されるパケットを、対応する物理ネットワークインタフェースに出力する処理を各々が実行する複数の仮想スイッチと、
を実行し、
前記複数の仮想マシンのうち第１の仮想マシンが、
前記複数の仮想マシンのうち第２の仮想マシンに対して、ブロードキャストパケットの送信要求を送信し、前記第２の仮想マシンが送信した前記ブロードキャストパケットを、前記第１の仮想マシンが有する複数の仮想ネットワークインタフェースのうちいずれかの仮想ネットワークインタフェースにて受信する通信部と、
前記複数の仮想スイッチのうち、前記ブロードキャストパケットを受信した仮想ネットワークインタフェースに接続される仮想スイッチを特定し、特定された当該仮想スイッチに対応する物理ネットワークインタフェースの識別子に関連付けて、前記第２の仮想マシンの識別子を登録する登録部とを有する、
情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想ネットワークの通信を管理する技術に関する。
【背景技術】
【０００２】
物理マシンにおいて稼働する仮想マシンは、物理マシン内に構築された仮想ネットワークを介して他の仮想マシンおよび物理ＮＩＣ（Network Interface Card）に仮想的に接続され、他の仮想マシンおよび物理マシン外の装置等との通信を行う。
【０００３】
物理マシン内に構築される仮想ネットワークの接続構成は、仮想ネットワークの規模が大きくなるほど複雑になる。仮想ネットワークの接続構成の特定に関して、或る文献は、仮想マシン間で送受信されるパケットを収集してトラフィックおよび経路の解析を行う技術を開示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−４７８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
但し、この技術は、仮想マシン等を稼働させる物理マシンとは別に監視用の装置を設けることを前提としている。
【０００６】
本発明の目的は、１つの側面では、物理マシン内に構築された仮想ネットワークの接続構成をより簡単な方法で特定するための技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明に係る通信管理方法は、複数の物理ネットワークインタフェースを有するコンピュータであって、コンピュータにおいて稼働する複数の仮想マシンの仮想ネットワークインタフェースから出力されるパケットが、コンピュータにおいて稼働する複数の仮想スイッチのうち１の仮想スイッチを経由して当該１の仮想スイッチに対応する物理ネットワークインタフェースから送信されるコンピュータにおいて実行される。そして、本通信管理方法は、複数の仮想マシンのうち第１の仮想マシンが、複数の仮想マシンのうち第２の仮想マシンに対して、ブロードキャストパケットの送信要求を送信し、第２の仮想マシンが送信したブロードキャストパケットを、第１の仮想マシンが有する複数の仮想ネットワークインタフェースのうちいずれかの仮想ネットワークインタフェースにて受信し、複数の仮想スイッチのうち、ブロードキャストパケットを受信した仮想ネットワークインタフェースに接続される仮想スイッチを特定し、特定された当該仮想スイッチに対応する第１の物理ネットワークインタフェースの識別子に関連付けて、第２の仮想マシンの識別子を登録する処理を含む。
【発明の効果】
【０００８】
１つの側面では、物理マシン内に構築された仮想ネットワークの接続構成をより簡単な方法で特定できるようになる。
【図面の簡単な説明】
【０００９】
【図１】図１は、情報処理装置のハードウエア構成図である。
【図２】図２は、情報処理装置において構築される仮想ネットワークを示す図である。
【図３】図３は、管理ＶＭの機能ブロック図である。
【図４】図４は、ＶＭの機能ブロック図である。
【図５】図５は、管理ＶＭが実行する処理の処理フローを示す図である。
【図６】図６は、ＶＭが実行する処理の処理フローを示す図である。
【図７】図７は、ブロードキャストパケットの転送例を示す図である。
【図８】図８は、管理ＶＭが実行する処理の処理フローを示す図である。
【図９】図９は、第１管理表格納部に格納される管理表の状態遷移を説明するための図である。
【図１０】図１０は、第１管理表格納部に格納される管理表の状態遷移を説明するための図である。
【図１１】図１１は、第１管理表格納部に格納される管理表の状態遷移を説明するための図である。
【図１２】図１２は、第１管理表格納部に格納される管理表の状態遷移を説明するための図である。
【図１３】図１３は、管理ＶＭの管理表処理部が実行する処理の処理フローを示す図である。
【図１４】図１４は、第１管理表格納部に格納されるデータの一例を示す図である。
【図１５】図１５は、第２管理表格納部に格納されるデータの一例を示す図である。
【図１６】図１６は、管理者への通知の一例を示す図である。
【発明を実施するための形態】
【００１０】
図１に、本実施の形態の情報処理装置１のハードウエア構成図を示す。情報処理装置１は、例えばＲＡＭ（Random Access Memory）であるメモリ１１と、ＣＰＵ（Central Processing Unit）１２と、ＨＤＤ（Hard Disk Drive）１３と、ＮＩＣ＃１乃至＃ｎ（ｎは自然数）とを有する。ＣＰＵ１２はメモリ１１に接続され、ＨＤＤ１３はＣＰＵ１２に接続され、ＮＩＣ＃１乃至＃ｎはＣＰＵ１２に接続される。ＮＩＣ＃１乃至＃ｎは物理ＮＩＣである。なお、図１の例ではＨＤＤ１３が使用されているが、その他の記憶装置（例えば、ＳＳＤ（Solid State Drive）或いはフラッシュメモリ等）を使用してもよい。
【００１１】
図２に、本実施の形態の情報処理装置１において構築される仮想ネットワークを示す。情報処理装置１においては、ＶＭ（Virtual Machine）＃１乃至＃ｍ（ｍは自然数）と、管理ＶＭ１２０と、ｖＳＷ（virtual SWitch）＃１乃至＃ｎとがハイパバイザ（すなわち、仮想化ソフトウエアのプロセス）上で実行される。
【００１２】
ＶＭ＃１乃至＃ｍの各々は、１又は複数のｖＮＩＣ（virtual Network Interface Card）を有する。管理ＶＭ１２０は、ｖＮＩＣ＃１乃至＃ｎを有する。管理ＶＭ１２０とＶＭ＃１乃至＃ｍとは、管理用の仮想ネットワーク１１０を介して仮想的に接続される。各ｖＮＩＣには一意のＭＡＣアドレスが割り振られる。なお、各ＶＭが有するｖＮＩＣの数に限定は無い。
【００１３】
ｖＳＷ＃１乃至＃ｎの各々は、１又は複数のｖＮＩＣに仮想的に接続される。また、ｖＳＷ＃１乃至＃ｎの各々は、１のＮＩＣに仮想的に接続される。本実施の形態においては、ｖＳＷとＮＩＣとが１対１で対応する。
【００１４】
破線の矩形はハイパバイザの制御範囲を表す。
【００１５】
図３に、管理ＶＭ１２０の機能ブロック図を示す。管理ＶＭ１２０は、制御部１２１と、ネットワーク処理部１２２と、管理表処理部１２３と、第１管理表格納部１２４と、第２管理表格納部１２５と、ｖＮＩＣ＃１乃至＃ｎとを有する。制御部１２１と、ネットワーク処理部１２２と、管理表処理部１２３と、ｖＮＩＣ＃１乃至＃ｎとは、ＨＤＤ１３に格納されたプログラムがメモリ１１にロードされＣＰＵ１２に実行されることで実現される。第１管理表格納部１２４および第２管理表格納部１２５は、例えばＨＤＤ１３に設けられる。
【００１６】
制御部１２１は、ネットワーク処理部１２２から受け取ったパケット（本実施の形態においては、ＩＰ（Internet Protocol）パケット）の内容に応じた処理等を実行する。ネットワーク処理部１２２は、ｖＮＩＣ＃１乃至＃ｎによるパケットの送受信を制御する処理等を実行する。管理表処理部１２３は、第１管理表格納部１２４に格納されている管理表を生成、更新および削除する処理、並びに、第１管理表格納部１２４に格納されている管理表と第２管理表格納部１２５に格納されている管理表とを比較する処理等を実行する。なお、第１管理表格納部１２４には、管理ＶＭ１２０の処理によって特定された接続構成を表す管理表が格納される。第２管理表格納部１２５には、予め管理者によって指定された接続構成を表す管理表が格納される。
【００１７】
図４に、ＶＭ＃１乃至＃ｍの機能ブロック図を示す。ＶＭ＃１乃至＃ｍは、制御部１３１と、ネットワーク処理部１３２と、１又は複数のｖＮＩＣ（図４の例では、ｖＮＩＣ＃１およびｖＮＩＣ＃２）とを有する。制御部１３１と、ネットワーク処理部１３２と、ｖＮＩＣ＃１およびｖＮＩＣ＃２とは、ＨＤＤ１３に格納されたプログラムがメモリ１１にロードされＣＰＵ１２に実行されることで実現される。
【００１８】
制御部１３１は、ネットワーク処理部１３２から受け取ったパケットの内容に応じた処理等を実行する。ネットワーク処理部１３２は、１又は複数のｖＮＩＣによるパケットの送受信を制御する処理等を実行する。
【００１９】
次に、図５乃至図１６を用いて、情報処理装置１の動作を説明する。
【００２０】
まず、情報処理装置１においてＶＭ＃１乃至＃ｍとｖＳＷ＃１乃至＃ｎとが動作している状態において、ハイパバイザが管理ＶＭ１２０を起動する（図５：ステップＳ１）。
【００２１】
稼働を開始した管理ＶＭ１２０の制御部１２１は、ＶＭ＃１乃至＃ｍのｖＮＩＣのうち接続先のＮＩＣが不明であるｖＮＩＣが有るか判定する（ステップＳ３）。接続先のＮＩＣが不明であるｖＮＩＣが無い場合（ステップＳ５：Ｎｏルート）、処理は終了する。
【００２２】
一方、接続先のＮＩＣが不明であるｖＮＩＣが有る場合（ステップＳ５：Ｙｅｓルート）、管理ＶＭ１２０の制御部１２１は、管理ＶＭ１２０の各ｖＮＩＣでのパケットキャプチャを開始させるための指示をネットワーク処理部１２２に出力する（ステップＳ７）。
【００２３】
管理ＶＭ１２０のネットワーク処理部１２２は、制御部１２１からの指示に応じ、管理ＶＭ１２０の各ｖＮＩＣにパケットキャプチャを開始させる（ステップＳ９）。これに応じ、管理ＶＭ１２０の各ｖＮＩＣは、送受信されるパケットのキャプチャを開始する。
【００２４】
管理ＶＭ１２０の制御部１２１は、接続先のＮＩＣが不明であるｖＮＩＣ（以下、対象ｖＮＩＣと呼ぶ）を有するＶＭ（以下、対象ＶＭと呼ぶ）に、対象ｖＮＩＣからブロードキャストパケットを送信させるための指示をネットワーク処理部１２２に出力する（ステップＳ１１）。
【００２５】
管理ＶＭ１２０のネットワーク処理部１２２は、制御部１２１からの指示に応じ、ブロードキャストパケットの送信要求を、管理用の仮想ネットワーク１１０を介して対象ＶＭに送信する（ステップＳ１３）。ブロードキャストパケットの送信要求は、対象ｖＮＩＣの指定を含む。
【００２６】
管理用の仮想ネットワーク１１０は、管理ＶＭ１２０とＶＭ＃１乃至＃ｍとが保守等のため通信を行う際に使用される仮想ネットワークである。これに対して、本実施の形態において接続構成が特定される仮想ネットワークは、それ以外の目的で（例えば、ＶＭ＃１乃至＃ｍが情報処理装置１の外部の装置との通知を行うために）通信を行う際に使用される仮想ネットワークである。
【００２７】
ここで、図６を用いて、ブロードキャストパケットの送信要求を受信した対象ＶＭが実行する処理を説明する。
【００２８】
まず、対象ＶＭのネットワーク処理部１３２は、ブロードキャストパケットの送信要求を管理ＶＭ１２０から受信し、制御部１３１に出力する（図６：ステップＳ４１）。
【００２９】
対象ＶＭの制御部１３１は、ブロードキャストパケットの送信要求を受け取ると、送信要求において指定された対象ｖＮＩＣからブロードキャストパケットを送信するための指示をネットワーク処理部１３２に出力する（ステップＳ４３）。
【００３０】
対象ＶＭのネットワーク処理部１３２は、制御部１３１からの指示に応じ、対象ｖＮＩＣからブロードキャストパケットを送信する（ステップＳ４５）。そして処理は終了する。
【００３１】
例えば図７に示すように、対象ＶＭがＶＭ＃３であり、対象ｖＮＩＣがＶＭ＃３のｖＮＩＣ＃１であるとする。ＶＭ＃３がｖＮＩＣ＃１からブロードキャストパケットを送信すると、ｖＳＷ＃１がブロードキャストパケットを受信し、ｖＳＷ＃１はＶＭ＃１のｖＮＩＣ＃１、ＶＭ＃２のｖＮＩＣ＃１、管理ＶＭ１２０のｖＮＩＣ＃１およびＮＩＣ＃１にブロードキャストパケットを転送する。これにより、管理ＶＭ１２０が送信要求の応答としてブロードキャストパケットを受信することができる。
【００３２】
図５の説明に戻り、管理ＶＭ１２０のネットワーク処理部１２２は、対象ＶＭの対象ｖＮＩＣから送信されたブロードキャストパケットを、管理ＶＭ１２０のｖＮＩＣ＃１乃至ｖＮＩＣ＃ｎのうちいずれかのｖＮＩＣで受信する（ステップＳ１５）。
【００３３】
管理ＶＭ１２０のネットワーク処理部１２２は、制御部１２１に、ブロードキャストパケットを受信したｖＮＩＣの識別子と、ブロードキャストパケットに含まれる送信元ＭＡＣアドレスとを通知する（ステップＳ１７）。処理は端子Ａを介して図８のステップＳ１９の説明に移行する。
【００３４】
図８の説明に移行し、管理ＶＭ１２０の制御部１２１は、ブロードキャストパケットを受信したｖＮＩＣの識別子と、ブロードキャストパケットに含まれる送信元ＭＡＣアドレスとをネットワーク処理部１２２から受け取り（ステップＳ１９）、メモリ１１に格納する。
【００３５】
管理ＶＭ１２０の制御部１２１は、管理ＶＭ１２０の各ｖＮＩＣでのパケットキャプチャを停止させるための指示をネットワーク処理部１２２に出力する（ステップＳ２１）。
【００３６】
管理ＶＭ１２０のネットワーク処理部１２２は、制御部１２１からの指示に応じ、管理ＶＭ１２０の各ｖＮＩＣにパケットキャプチャを停止させる（ステップＳ２３）。
【００３７】
管理ＶＭ１２０の制御部１２１は、メモリ１１に格納したＭＡＣアドレスと、ハイパバイザから取得した対象ｖＮＩＣのＭＡＣアドレスとを比較する（ステップＳ２５）。ハイパバイザは各ＶＭにおける各ｖＮＩＣのＭＡＣアドレスを管理しているため、例えばハイパバイザに対象ｖＮＩＣの識別子を通知することで、対応するＭＡＣアドレスを取得することができる。この処理はよく知られているので、ここでは詳細な説明を省略する。
【００３８】
管理ＶＭ１２０の制御部１２１は、メモリ１１に格納したＭＡＣアドレスと、ハイパバイザから取得した対象ｖＮＩＣのＭＡＣアドレスとが一致するか判定する（ステップＳ２７）。メモリ１１に格納したＭＡＣアドレスと、ハイパバイザから取得した対象ｖＮＩＣのＭＡＣアドレスとが一致しない場合（ステップＳ２７：Ｎｏルート）、処理は端子Ｂを介して図５のステップＳ３に移行する。
【００３９】
一方、メモリ１１に格納したＭＡＣアドレスと、ハイパバイザから取得した対象ｖＮＩＣのＭＡＣアドレスとが一致する場合（ステップＳ２７：Ｙｅｓルート）、管理ＶＭ１２０の制御部１２１は、以下の処理を実行する。具体的には、管理ＶＭ１２０の制御部１２１は、第１管理表格納部１２４に格納されている管理表を更新するための指示を管理表処理部１２３に出力する（ステップＳ２９）。本指示は、ブロードキャストパケットを受信したｖＮＩＣに接続されているｖＳＷの識別子と、対象ＶＭの識別子と、対象ｖＮＩＣの識別子およびＭＡＣアドレスとを含む。
【００４０】
管理ＶＭ１２０の管理表処理部１２３は、制御部１２１からの指示に応じ、ブロードキャストパケットを受信したｖＮＩＣに接続されたｖＳＷの識別子および当該ｖＳＷに対応するＮＩＣの識別子に対応付けて、対象ＶＭの識別子と対象ｖＮＩＣの識別子およびＭＡＣアドレスとを第１管理表格納部１２４に格納する（ステップＳ３１）。そして処理は端子Ｂを介して図５のステップＳ３に移行する。
【００４１】
以上のように、接続先のＮＩＣが不明であるｖＮＩＣが無くなるまで処理が実行され、第１管理表格納部１２４に格納されている管理表が完成する。これにより、第１管理表格納部１２４に格納されている管理表と第２管理表格納部１２５に予め格納されている管理表とを比較することができるようになる。
【００４２】
ここで、図９乃至図１２を用いて、第１管理表格納部１２４に格納される管理表の状態遷移を説明する。
【００４３】
図９に、初期状態における管理表を示す。初期状態においては、各ＶＭのｖＮＩＣの接続先のＮＩＣが一切判明していない。上で説明したように、本実施の形態においてはｖＳＷとＮＩＣとが１対１で対応するが、この対応関係についての情報はハイパバイザから取得され、管理表に書き込まれる。
【００４４】
図１０に、ＶＭ＃１のｖＮＩＣおよびＶＭ＃２のｖＮＩＣの接続先を特定した状態を示す。図１０においては、ＮＩＣ＃１（ＭＡＣアドレスはＡＡＡ）にｖＳＷ＃１が接続され、ｖＳＷ＃１にＶＭ＃１のｖＮＩＣ＃１（ＭＡＣアドレスはａａａ）とＶＭ＃２のｖＮＩＣ＃１（ＭＡＣアドレスはｂｂｂ）とが接続されていることが示されている。また、ＮＩＣ＃２（ＭＡＣアドレスはＢＢＢ）にｖＳＷ＃２が接続され、ｖＳＷ＃２にＶＭ＃２のｖＮＩＣ＃２（ＭＡＣアドレスはｃｃｃ）が接続されていることが示されている。
【００４５】
そして、図７に示したようにブロードキャストパケットが送信された結果、ＶＭ＃３のｖＮＩＣの接続先が特定され、管理表は図１１に示す状態に遷移する。図１１においては、ｖＳＷ＃１にＶＭ＃３のｖＮＩＣ＃１（ＭＡＣアドレスはｄｄｄ）が接続され、ｖＳＷ＃２にＶＭ＃３のｖＮＩＣ＃２（ＭＡＣアドレスはｅｅｅ）が接続されていることが示されている。
【００４６】
最終的には各ＶＭの各ｖＮＩＣの接続先が特定され、管理表は図１２に示す状態になる。なお、第２管理表格納部１２５に格納される管理表のフォーマットは第１管理表格納部１２４に格納される管理表のフォーマットと同じである。
【００４７】
次に、図１３乃至図１６を用いて、図５乃至図１２を用いて説明した処理を実行した後に管理ＶＭ１２０の管理表処理部１２３が実行する処理について説明する。
【００４８】
まず、管理ＶＭ１２０の管理表処理部１２３は、第１管理表格納部１２４に格納されている管理表と、第２管理表格納部１２５に格納されている管理表とを比較する（図１３：ステップＳ５１）。
【００４９】
管理ＶＭ１２０の管理表処理部１２３は、第１管理表格納部１２４に格納されている管理表と、第２管理表格納部１２５に格納されている管理表とが同一であるか判定する（ステップＳ５３）。第１管理表格納部１２４に格納されている管理表と、第２管理表格納部１２５に格納されている管理表とが同一である場合（ステップＳ５３：Ｙｅｓルート）、処理は終了する。
【００５０】
一方、第１管理表格納部１２４に格納されている管理表と、第２管理表格納部１２５に格納されている管理表とが同一ではない場合（ステップＳ５３：Ｎｏルート）、管理ＶＭ１２０の管理表処理部１２３は、両者の相違点を示すデータを生成し、生成したデータを含む通知を管理者の端末に送信する（ステップＳ５５）。そして処理は終了する。
【００５１】
例えば図１４に示すデータが第１管理表格納部１２４に格納されており、図１５に示すデータが第２管理表格納部１２５に格納されているとする。この場合、３行目のデータと６行目のデータに相違が有るので、例えば図１６に示すような、両者の相違点を示すデータが生成され、生成されたデータを含む通知が管理者の端末に送信される。
【００５２】
以上のような処理を実行すれば、物理マシン内に構築された仮想ネットワークの接続構成を、監視用の装置等を設けることなく、簡単な方法で特定することができるようになる。
【００５３】
また、実際の接続構成と管理者が指定する接続構成とが異なっている場合には管理者の端末に通知が送信されるので、管理者の作業によって所望の接続構成に直すことができるようになる。これにより、パケットロスや特定のＮＩＣにおけるトラフィック過多等の問題の発生を防ぐことができる。
【００５４】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した情報処理装置１の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【００５５】
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００５６】
また、アプリケーションが使用する物理ポートを特定するケースに対しても、本実施の形態を適用可能である。
【００５７】
また、ＶＭ＃１乃至＃ｍの各々が有するｖＮＩＣの数が１である場合には、第１管理表格納部１２４における管理表に、ｖＮＩＣの識別子を登録しなくてもよい。
【００５８】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【００５９】
本実施の形態に係る通信管理方法は、複数の物理ネットワークインタフェースを有するコンピュータであって、コンピュータにおいて稼働する複数の仮想マシンの仮想ネットワークインタフェースから出力されるパケットが、コンピュータにおいて稼働する複数の仮想スイッチのうち１の仮想スイッチを経由して当該１の仮想スイッチに対応する物理ネットワークインタフェースから送信されるコンピュータにおいて実行される。そして、本通信管理方法は、複数の仮想マシンのうち第１の仮想マシン（例えば、実施の形態における管理ＶＭ１２０）が、（Ａ）複数の仮想マシンのうち第２の仮想マシン（例えば、実施の形態におけるＶＭ＃１乃至＃ｍ）に対して、ブロードキャストパケットの送信要求を送信し、（Ｂ）第２の仮想マシンが送信したブロードキャストパケットを、第１の仮想マシンが有する複数の仮想ネットワークインタフェースのうちいずれかの仮想ネットワークインタフェースにて受信し、（Ｃ）複数の仮想スイッチのうち、ブロードキャストパケットを受信した仮想ネットワークインタフェースに接続される仮想スイッチを特定し、特定された当該仮想スイッチに対応する第１の物理ネットワークインタフェースの識別子に関連付けて、第２の仮想マシンの識別子を登録する処理を含む。
【００６０】
このような処理を実行することで、コンピュータにおいて構築された仮想ネットワークの接続構成を特定できるようになる。
【００６１】
また、複数の仮想マシンのうち第１の仮想マシン以外の仮想マシンの各々は、複数の仮想ネットワークインタフェースを有してもよい。そして、本通信管理方法は、第１の仮想マシンが、（Ｄ）ブロードキャストパケットが含む送信元アドレスに基づき、第２の仮想マシンがブロードキャストパケットの送信に使用した第１の仮想ネットワークインタフェースを特定する処理をさらに実行してもよい。そして、第２の仮想マシンの識別子を登録する処理において、第１の物理ネットワークインタフェースの識別子に対応付けて、第１の仮想ネットワークインタフェースの識別子をさらに登録してもよい。
【００６２】
複数の仮想マシンの各々が複数の仮想ネットワークインタフェースを有する場合であっても、仮想ネットワークの接続構成を特定できるようになる。
【００６３】
また、本通信管理方法は、第１の仮想マシンが、（Ｅ）ブロードキャストパケットが含む送信元アドレスと、予め取得した、第２の仮想マシンに割り当てられたアドレスとが一致するか判定する処理をさらに実行してもよい。そして、ブロードキャストパケットが含む送信元アドレスと第２の仮想マシンに割り当てられたアドレスとが一致する場合、第２の仮想マシンの識別子を登録する処理を実行してもよい。
【００６４】
第２の仮想マシン以外の仮想マシンが第１の仮想マシンに対してパケットを送信してくる可能性がある場合に誤って登録をすることを防げるようになる。
【００６５】
また、本通信管理方法は、第１の仮想マシンが、（Ｆ）第２の仮想マシンが、第１の物理ネットワークインタフェースを使用する仮想マシンとして予め指定された仮想マシンと同じであるか判定し、（Ｇ）第２の仮想マシンが予め指定された仮想マシンと同じではない場合、接続が誤っていることを示すデータを出力する処理をさらに含んでもよい。
【００６６】
誤った接続構成は、パケットロスやトラフィック過多等の問題を生じさせるが、上で述べたような処理を実行すれば、このような問題が発生することを防げるようになる。
【００６７】
なお、上記方法による処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００６８】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００６９】
（付記１）
複数の物理ネットワークインタフェースを有するコンピュータであって、前記コンピュータにおいて稼働する複数の仮想マシンの仮想ネットワークインタフェースから出力されるパケットが、前記コンピュータにおいて稼働する複数の仮想スイッチのうち１の仮想スイッチを経由して当該１の仮想スイッチに対応する物理ネットワークインタフェースから送信されるコンピュータにおいて実行される通信管理方法であって、
前記複数の仮想マシンのうち第１の仮想マシンが、
前記複数の仮想マシンのうち第２の仮想マシンに対して、ブロードキャストパケットの送信要求を送信し、
前記第２の仮想マシンが送信した前記ブロードキャストパケットを、前記第１の仮想マシンが有する複数の仮想ネットワークインタフェースのうちいずれかの仮想ネットワークインタフェースにて受信し、
前記複数の仮想スイッチのうち、前記ブロードキャストパケットを受信した仮想ネットワークインタフェースに接続される仮想スイッチを特定し、特定された当該仮想スイッチに対応する第１の物理ネットワークインタフェースの識別子に関連付けて、前記第２の仮想マシンの識別子を登録する、
処理を実行する通信管理方法。
【００７０】
（付記２）
前記複数の仮想マシンのうち前記第１の仮想マシン以外の仮想マシンの各々は、複数の仮想ネットワークインタフェースを有し、
前記第１の仮想マシンが、
前記ブロードキャストパケットが含む送信元アドレスに基づき、前記第２の仮想マシンが前記ブロードキャストパケットの送信に使用した第１の仮想ネットワークインタフェースを特定する、
処理をさらに実行し、
前記第２の仮想マシンの識別子を登録する処理において、
前記第１の物理ネットワークインタフェースの識別子に対応付けて、前記第１の仮想ネットワークインタフェースの識別子をさらに登録する、
付記１記載の通信管理方法。
【００７１】
（付記３）
前記第１の仮想マシンが、
前記ブロードキャストパケットが含む送信元アドレスと、予め取得した、前記第２の仮想マシンに割り当てられたアドレスとが一致するか判定する、
処理をさらに実行し、
前記ブロードキャストパケットが含む送信元アドレスと前記第２の仮想マシンに割り当てられたアドレスとが一致する場合、前記第２の仮想マシンの識別子を登録する処理を実行する、
付記２記載の通信管理方法。
【００７２】
（付記４）
前記第１の仮想マシンが、
前記第２の仮想マシンが、前記第１の物理ネットワークインタフェースを使用する仮想マシンとして予め指定された仮想マシンと同じであるか判定し、
前記第２の仮想マシンが前記予め指定された仮想マシンと同じではない場合、接続が誤っていることを示すデータを出力する、
処理をさらに実行する付記１記載の通信管理方法。
【００７３】
（付記５）
複数の物理ネットワークインタフェースを有するコンピュータであって、前記コンピュータにおいて稼働する複数の仮想マシンの仮想ネットワークインタフェースから出力されるパケットが、前記コンピュータにおいて稼働する複数の仮想スイッチのうち１の仮想スイッチを経由して当該１の仮想スイッチに対応する物理ネットワークインタフェースから送信されるコンピュータに、
前記複数の仮想マシンのうち他の仮想マシンに対して、ブロードキャストパケットの送信要求を送信し、
前記他の仮想マシンが送信した前記ブロードキャストパケットを、複数の仮想ネットワークインタフェースのうちいずれかの仮想ネットワークインタフェースにて受信し、
前記複数の仮想スイッチのうち、前記ブロードキャストパケットを受信した仮想ネットワークインタフェースに接続される仮想スイッチを特定し、特定された当該仮想スイッチに対応する物理ネットワークインタフェースの識別子に関連付けて、前記第２の仮想マシンの識別子を登録する、
処理を実行させる通信管理プログラム。
【００７４】
（付記６）
複数の物理ネットワークインタフェース
を有する情報処理装置であって、
複数の仮想マシンと、
前記複数の仮想マシンの仮想ネットワークインタフェースから出力されるパケットを、対応する物理ネットワークインタフェースに出力する処理を各々が実行する複数の仮想スイッチと、
を実行し、
前記複数の仮想マシンのうち第１の仮想マシンが、
前記複数の仮想マシンのうち第２の仮想マシンに対して、ブロードキャストパケットの送信要求を送信し、前記第２の仮想マシンが送信した前記ブロードキャストパケットを、前記第１の仮想マシンが有する複数の仮想ネットワークインタフェースのうちいずれかの仮想ネットワークインタフェースにて受信する通信部と、
前記複数の仮想スイッチのうち、前記ブロードキャストパケットを受信した仮想ネットワークインタフェースに接続される仮想スイッチを特定し、特定された当該仮想スイッチに対応する物理ネットワークインタフェースの識別子に関連付けて、前記第２の仮想マシンの識別子を登録する登録部とを有する、
情報処理装置。
【００７５】
（付記７）
複数の物理ネットワークインタフェース
を有する情報処理装置であって、
複数の仮想マシンと、
前記複数の仮想マシンの仮想ネットワークインタフェースから出力されるパケットを、対応する物理ネットワークインタフェースに出力する処理を各々が実行する複数の仮想スイッチと、
を実行し、
前記複数の仮想マシンのうち第１の仮想マシンが、
前記複数の仮想マシンのうち第２の仮想マシンに対して、ブロードキャストパケットの送信要求を送信し、前記第２の仮想マシンが送信した前記ブロードキャストパケットを、前記第１の仮想マシンが有する複数の仮想ネットワークインタフェースのうちいずれかの仮想ネットワークインタフェースにて受信する第１通信部と、
前記複数の仮想スイッチのうち、前記ブロードキャストパケットを受信した仮想ネットワークインタフェースに接続される仮想スイッチを特定し、特定された当該仮想スイッチに対応する物理ネットワークインタフェースの識別子に関連付けて、前記第２の仮想マシンの識別子を登録する登録部と、
を有し、
前記第２の仮想マシンが、
前記第１の仮想マシンから前記送信要求を受信した場合、前記ブロードキャストパケットを送信する第２通信部を有する、
情報処理装置。
【符号の説明】
【００７６】
１  情報処理装置    １１  メモリ
１２  ＣＰＵ    １３  ＨＤＤ
１１０  管理用の仮想ネットワーク    １２０  管理ＶＭ
１２１  制御部    １２２  ネットワーク処理部
１２３  管理表処理部    １２４  第１管理表格納部
１２５  第２管理表格納部
１３１  制御部    １３２  ネットワーク処理部
【図１】
2017195438.tif 000003
【図２】
2017195438.tif 000004
【図３】
2017195438.tif 000005
【図４】
2017195438.tif 000006
【図５】
2017195438.tif 000007
【図６】
2017195438.tif 000008
【図７】
2017195438.tif 000009
【図８】
2017195438.tif 000010
【図９】
2017195438.tif 000011
【図１０】
2017195438.tif 000012
【図１１】
2017195438.tif 000013
【図１２】
2017195438.tif 000014
【図１３】
2017195438.tif 000015
【図１４】
2017195438.tif 000016
【図１５】
2017195438.tif 000017
【図１６】
2017195438.tif 000018