(57)【要約】【課題】仮想環境においても障害の影響範囲を正確に特定できるようにする。【解決手段】本方法は、通信装置を介して接続される複数の情報処理装置のうちいずれかの情報処理装置への第１仮想マシンの配備又は移動に応じて、複数の情報処理装置の各々に含まれ且つ当該情報処理装置において実行されている仮想マシンを管理する管理部に、自ら管理し且つ第１の仮想マシンが属するグループに属する仮想マシンを代理して上記通信装置を介して制御パケットの交換を行わせ、管理部に制御パケットの交換を行わせた後、上記通信装置の各々から、第１仮想マシンが属するグループについて送信先アドレスとポート識別子との対応付けデータを取得し、取得した対応付けデータから、上記通信装置のうち第１通信装置の識別子と当該第１通信装置の第１ポートの識別子とに関連する送信先アドレスを抽出し、抽出した送信先アドレスを用いて出力データを生成する処理を含む。【選択図】図２
2014207594.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数の通信装置を介して接続される複数の情報処理装置のうちいずれかの情報処理装置への第１の仮想マシンの配備又は移動に応じて、前記複数の情報処理装置の各々に含まれ且つ当該情報処理装置において実行されている仮想マシンを管理する管理部に、自ら管理し且つ前記第１の仮想マシンが属するグループに属する仮想マシンを代理して前記１又は複数の通信装置を介して制御パケットの交換を行わせ、
前記管理部に前記制御パケットの交換を行わせた後、前記１又は複数の通信装置の各々から、前記第１の仮想マシンが属するグループについて送信先アドレスとポート識別子との対応付けデータを取得し、
取得した前記対応付けデータから、前記１又は複数の通信装置のうち第１の通信装置の識別子と当該第１の通信装置の第１のポートの識別子とに関連する送信先アドレスを抽出し、
抽出した前記送信先アドレスを用いて出力データを生成する
処理を、コンピュータに実行させるためのプログラム。
【請求項２】
取得した前記対応付けデータから、前記１又は複数の通信装置のうち第２の通信装置の識別子と当該第２の通信装置の第２のポートの識別子とに基づき、対応する第２の送信先アドレスを抽出する処理を、
さらに前記コンピュータに実行させ、
前記生成する処理が、
前記第１の送信先アドレスと前記第２の送信先アドレスとを、グループ毎に組み合わせる
処理を含む請求項１記載のプログラム。
【請求項３】
前記取得する処理が、
前記複数の情報処理装置の各々に含まれる前記管理部から、前記第１の仮想マシンが属するグループについて通信相手のアドレスを含むデータを取得する
処理を含み、
前記管理部から取得した前記データから、特定の情報処理装置の識別子又は当該特定の情報処理装置に含まれる管理部の識別子に関連する通信相手のアドレスを抽出する処理をさらに前記コンピュータに実行させ、
前記生成する処理が、
前記第１の送信先アドレスと抽出した前記通信相手のアドレスとを、グループ毎に組み合わせる
処理を含む請求項１記載のプログラム。
【請求項４】
１又は複数の通信装置を介して接続される複数の情報処理装置を管理する情報処理装置から前記複数の情報処理装置のいずれかで実行される仮想マシンのグループの指定を含む指示に応じて、指定されたグループの識別子を含む第１のパケットを同報し、
前記第１のパケットに対する応答として前記複数の情報処理装置のうち他の情報処理装置から前記指定されたグループに属する仮想マシンのアドレスを送信元アドレスとして含み且つ前記他の情報処理装置のアドレスを含む第２のパケットを受信すると、自情報処理装置において前記指定されたグループに属する仮想マシンを送信元アドレスとして含む第３のパケットを前記他の情報処理装置のアドレス宛に送信し、
前記複数の情報処理装置のうち他の情報処理装置から、第２のグループの識別子を含む第３のパケットを受信すると、前記第２のグループに属する仮想マシンが前記自情報処理装置において実行されているか判断し、
前記自情報処理装置において前記第２のグループに属する仮想マシンが実行されている場合には、当該仮想マシンのアドレスを送信元アドレスに含む第４のパケットを前記第３のパケットの応答として、前記他の情報処理装置へ送信する
処理を、情報処理装置に実行させるためのプログラム。
【請求項５】
前記第２のパケットを受信すると、当該第２のパケットの送信元アドレスを保持し、
前記他の情報処理装置から、前記第４のパケットの応答として前記他の情報処理装置において実行されており且つ前記第２のグループに属する他の仮想マシンのアドレスを送信元アドレスとして含む第５のパケットを受信すると、当該第５のパケットの送信元アドレスを保持し、
前記管理する情報処理装置からの要求に応じて、保持している送信元アドレスを前記管理する情報処理装置へ送信する
処理を、さらに前記情報処理装置に実行させるための請求項４記載のプログラム。
【請求項６】
１又は複数の通信装置を介して接続される複数の情報処理装置のうちいずれかの情報処理装置への第１の仮想マシンの配備又は移動に応じて、前記複数の情報処理装置の各々に含まれ且つ当該情報処理装置において実行されている仮想マシンを管理する管理部に、自ら管理し且つ前記第１の仮想マシンが属するグループに属する仮想マシンを代理して前記１又は複数の通信装置を介して制御パケットの交換を行わせ、
前記管理部に前記制御パケットの交換を行わせた後、前記１又は複数の通信装置の各々から、前記第１の仮想マシンが属するグループについて送信先アドレスとポート識別子との対応付けデータを取得し、
取得した前記対応付けデータから、前記１又は複数の通信装置のうち第１の通信装置の識別子と当該第１の通信装置の第１のポートの識別子とに関連する送信先アドレスを抽出し、
抽出した前記送信先アドレスを用いて出力データを生成する
処理を含み、コンピュータにより実行される情報処理方法。
【請求項７】
１又は複数の通信装置を介して接続される複数の情報処理装置のうちいずれかの情報処理装置への第１の仮想マシンの配備又は移動に応じて、前記複数の情報処理装置の各々に含まれ且つ当該情報処理装置において実行されている仮想マシンを管理する管理部に、自ら管理し且つ前記第１の仮想マシンが属するグループに属する仮想マシンを代理して前記１又は複数の通信装置を介して制御パケットの交換を行わせる処理部と、
前記管理部に前記制御パケットの交換を行わせた後、前記１又は複数の通信装置の各々から、前記第１の仮想マシンが属するグループについて送信先アドレスとポート識別子との対応付けデータを取得する取得部と、
取得した前記対応付けデータから、前記１又は複数の通信装置のうち第１の通信装置の識別子と当該第１の通信装置の第１のポートの識別子とに関連する送信先アドレスを抽出し、抽出した前記送信先アドレスを用いて出力データを生成する生成部と、
を有する情報処理装置。
【請求項８】
１又は複数の通信装置を介して接続される複数の情報処理装置を管理する情報処理装置から前記複数の情報処理装置のいずれかで実行される仮想マシンのグループの指定を含む指示に応じて、指定されたグループの識別子を含む第１のパケットを同報し、
前記第１のパケットに対する応答として前記複数の情報処理装置のうち他の情報処理装置から前記指定されたグループに属する仮想マシンのアドレスを送信元アドレスとして含み且つ前記他の情報処理装置のアドレスを含む第２のパケットを受信すると、自情報処理装置において前記指定されたグループに属する仮想マシンを送信元アドレスとして含む第３のパケットを前記他の情報処理装置のアドレス宛に送信し、
前記複数の情報処理装置のうち他の情報処理装置から、第２のグループの識別子を含む第３のパケットを受信すると、前記第２のグループに属する仮想マシンが前記自情報処理装置において実行されているか判断し、
前記自情報処理装置において前記第２のグループに属する仮想マシンが実行されている場合には、当該仮想マシンのアドレスを送信元アドレスに含む第４のパケットを前記第３のパケットの応答として、前記他の情報処理装置へ送信する
処理を含み、情報処理装置により実行されるパケット交換方法。
【請求項９】
１又は複数の通信装置を介して接続される複数の情報処理装置を管理する情報処理装置から前記複数の情報処理装置のいずれかで実行される仮想マシンのグループの指定を含む指示に応じて、指定されたグループの識別子を含む第１のパケットを同報する手段と、
前記第１のパケットに対する応答として前記複数の情報処理装置のうち他の情報処理装置から前記指定されたグループに属する仮想マシンのアドレスを送信元アドレスとして含み且つ前記他の情報処理装置のアドレスを含む第２のパケットを受信すると、自情報処理装置において前記指定されたグループに属する仮想マシンを送信元アドレスとして含む第３のパケットを前記他の情報処理装置のアドレス宛に送信する手段と、
前記複数の情報処理装置のうち他の情報処理装置から、第２のグループの識別子を含む第３のパケットを受信すると、前記第２のグループに属する仮想マシンが前記自情報処理装置において実行されているか判断する手段と、
前記自情報処理装置において前記第２のグループに属する仮想マシンが実行されている場合には、当該仮想マシンのアドレスを送信元アドレスに含む第４のパケットを前記第３のパケットの応答として、前記他の情報処理装置へ送信する手段と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、ネットワークにおいて発生する障害に対処するための技術に関する。
【背景技術】
【０００２】
ネットワーク上にあるコンピューティング資源を利用して仮想的なサーバ（すなわち仮想マシン）を構築し、当該仮想マシンを組み合わせて所望のＩＣＴ（Information and Communication Technology）システムを構築するクラウドコンピューティング環境が注目を集めている。
【０００３】
クラウドコンピューティング環境では、複数のテナント（企業、部門、ユーザ等のグループ）がコンピューティング資源（具体的には物理サーバ）を共有しながらも、テナント毎にネットワークアイソレーション（すなわちデータパケットの到達性の制限）が確保されており、テナント毎に仮想的に独立した環境が提供される。
【０００４】
コンピューティングリソースを多くのユーザで共有することでリソースの効率化が図れ、投資コストを削減できるというメリットがある一方で、コンピューティング資源に障害が発生したときには、複数のユーザに障害の影響が波及するという問題がある。このため、障害が発生した際には、迅速に障害の影響を特定することが望ましい。
【０００５】
障害位置特定のための前提として、ネットワークにどのような装置が接続されているかを把握するための技術が存在している。この技術のあるものには、ネットワークに含まれるスイッチやハブに備えられているフォワーディングデータベース（ＦＤＢ：Forwarding DataBase）に蓄積されたデータを活用する。しかしながら、ＦＤＢでは、無通信状態が一定時間続くとそのエントリが削除される仕様であるため、障害が発生したときに無通信状態のホスト（物理サーバ等）が存在する場合には、ＦＤＢに登録されていないため、考慮されない場合がある。
【０００６】
比較的大きな企業やクラウドサービス事業者においては、企業やクラウドサービス事業者が保有するデータセンタ内に、数百台乃至数千台の物理サーバを設置し、各物理サーバ上で数十乃至１００台規模の仮想マシンを収容して、データセンタ全体で数千乃至数万規模の仮想マシンを稼働させている。
【０００７】
このようなデータセンタにおいては、テナントのネットワークアイソレーションを確保する手段として、ＧＲＥ（Generic Routing Encapsulation）、ＶＸＬＡＮ（Virtual eXtensible Local Area Network）やＮＶＧＲＥ（Network Virtualization using Generic Routing Encapsulation）等のトンネリング技術を利用する方法が知られている。
【０００８】
汎用的なアイソレーション技術としてＶＬＡＮ（Virtual Local Area Network）が広く知られているが、４０９６を超えるテナントを収容できないため、より大規模な環境においてもトンネリング技術を適用することになる。しかしながら、トンネリング技術ではトンネル化を行うので、ＦＤＢには個々の仮想マシンのＭＡＣアドレスは登録されないという問題もある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０００−２５３０４１号公報
【非特許文献】
【００１０】
【非特許文献１】桝田秀夫等「ＦＤＢを用いた接続ポート固有のＩＰアドレスリースが可能なＤＨＣＰサーバの設計と実装」，pp41-46, ２００５−ＤＳＭ−３７（８），社団法人情報処理学会研究報告
【発明の概要】
【発明が解決しようとする課題】
【００１１】
従って、本技術の目的は、一側面によれば、仮想環境においても障害の影響範囲を正確に特定できるようにするための技術を提供することである。
【課題を解決するための手段】
【００１２】
本技術の第１の態様に係る情報処理方法は、（Ａ）１又は複数の通信装置を介して接続される複数の情報処理装置のうちいずれかの情報処理装置への第１の仮想マシンの配備又は移動に応じて、複数の情報処理装置の各々に含まれ且つ当該情報処理装置において実行されている仮想マシンを管理する管理部に、自ら管理し且つ第１の仮想マシンが属するグループに属する仮想マシンを代理して上記１又は複数の通信装置を介して制御パケットの交換を行わせ、（Ｂ）管理部に制御パケットの交換を行わせた後、上記１又は複数の通信装置の各々から、第１の仮想マシンが属するグループについて送信先アドレスとポート識別子との対応付けデータを取得し、（Ｃ）取得した対応付けデータから、上記１又は複数の通信装置のうち第１の通信装置の識別子と当該第１の通信装置の第１のポートの識別子とに関連する送信先アドレスを抽出し、（Ｄ）抽出した送信先アドレスを用いて出力データを生成する処理を含む。
【００１３】
本技術の第２の態様に係るパケット交換方法は、（Ａ）１又は複数の通信装置を介して接続される複数の情報処理装置を管理する情報処理装置から上記複数の情報処理装置のいずれかで実行される仮想マシンのグループの指定を含む指示に応じて、指定されたグループの識別子を含む第１のパケットを同報し、（Ｂ）第１のパケットに対する応答として複数の情報処理装置のうち他の情報処理装置から上記指定されたグループに属する仮想マシンのアドレスを送信元アドレスとして含み且つ上記他の情報処理装置のアドレスを含む第２のパケットを受信すると、自情報処理装置において指定されたグループに属する仮想マシンを送信元アドレスとして含む第３のパケットを上記他の情報処理装置のアドレス宛に送信し、（Ｃ）複数の情報処理装置のうち他の情報処理装置から、第２のグループの識別子を含む第３のパケットを受信すると、第２のグループに属する仮想マシンが自情報処理装置において実行されているか判断し、（Ｄ）自情報処理装置において第２のグループに属する仮想マシンが実行されている場合には、当該仮想マシンのアドレスを送信元アドレスに含む第４のパケットを第３のパケットの応答として、上記他の情報処理装置へ送信する処理を含む。
【発明の効果】
【００１４】
一側面においては、仮想環境においても障害の影響範囲を正確に特定できるようになる。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施の形態に係るシステムの概要を示す図である。
【図２】図２は、管理サーバの機能ブロック図である。
【図３】図３は、ホストの機能ブロック図である。
【図４Ａ】図４Ａは、第１の実施の形態の概要を説明するための図である。
【図４Ｂ】図４Ｂは、要求パケットのフォーマットの概要を示す図である。
【図４Ｃ】図４Ｃは、スイッチＳＷ２のＦＤＢに登録されるデータの一例を示す図である。
【図４Ｄ】図４Ｄは、スイッチＳＷ２のＦＤＢに登録されるデータの一例を示す図である。
【図５Ａ】図５Ａは、第１の実施の形態の概要を説明するための図である。
【図５Ｂ】図５Ｂは、要求応答パケットのフォーマットの概要を示す図である。
【図５Ｃ】図５Ｃは、スイッチＳＷ２のＦＤＢに登録されるデータの一例を示す図である。
【図５Ｄ】図５Ｄは、ＡＣＫパケットのフォーマットの概要を示す図である。
【図５Ｅ】図５Ｅは、ＡＣＫパケットのフォーマットの概要を示す図である。
【図５Ｆ】図５Ｆは、スイッチＳＷ２のＦＤＢに登録されるデータの一例を示す図である。
【図５Ｇ】図５Ｇは、ホストＨ１で保持される擬似的ＦＤＢのデータの一例を示す図である。
【図５Ｈ】図５Ｈは、ホストＨ２で保持される擬似的ＦＤＢのデータの一例を示す図である。
【図６】図６は、第１の実施の形態の概要を説明するための図である。
【図７】図７は、対応テーブルの一例を示す図である。
【図８】図８は、障害発生を示す図である。
【図９】図９は、管理サーバの処理の処理フローを示す図である。
【図１０】図１０は、各ホストの制御パケット処理部の処理フローを示す図である。
【図１１Ａ】図１１Ａは、制御パケットのフォーマットを示す図である。
【図１１Ｂ】図１１Ｂは、送信元ＭＡＣアドレス及び宛先ＭＡＣアドレスの設定について示す図である。
【図１１Ｃ】図１１Ｃは、送信元ＩＰアドレス及び宛先ＩＰアドレスの設定について示す図である。
【図１１Ｄ】図１１Ｄは、制御パケット識別子の設定について示す図である。
【図１２】図１２は、各ホストの制御パケット処理部の処理フローを示す図である。
【図１３】図１３は、障害発生検出時の処理の処理フローを示す図である。
【図１４】図１４は、第２の実施の形態に係るホストの機能ブロック図である。
【図１５Ａ】図１５Ａは、第２の実施の形態に係る要求パケットのフォーマットの概要を示す図である。
【図１５Ｂ】図１５Ｂは、第２の実施の形態に係る要求応答パケットのフォーマットの概要を示す図である。
【図１５Ｃ】図１５Ｃは、第２の実施の形態に係るＡＣＫパケットのフォーマットの概要を示す図である。
【図１６Ａ】図１６Ａは、トンネリング技術を説明するための図である。
【図１６Ｂ】図１６Ｂは、トンネリング技術を説明するための図である。
【図１７】図１７は、第３の実施の形態に係る制御パケットのフォーマット例を示す図である。
【図１８】図１８は、リンクアグリゲーションが行われているネットワークの一例を示す図である。
【図１９Ａ】図１９Ａは、スイッチＳＷ１のＦＤＢに含まれるデータの一例を示す図である。
【図１９Ｂ】図１９Ｂ は、スイッチＳＷ３のＦＤＢに含まれるデータの一例を示す図である。
【図１９Ｃ】図１９Ｃは、スイッチＳＷ２のＦＤＢに含まれるデータの一例を示す図である。
【図１９Ｄ】図１９Ｄは、スイッチＳＷ４のＦＤＢに含まれるデータの一例を示す図である。
【図１９Ｅ】図１９Ｅは、ホストＨ１の擬似的ＦＤＢに含まれるデータの一例を示す図である。
【図１９Ｆ】図１９Ｆは、ホストＨ２の擬似的ＦＤＢに含まれるデータの一例を示す図である。
【図２０】図２０は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１６】
［実施の形態１］
本実施の形態に係るシステムの構成例を図１に示す。図１では、物理マシンであるホストＨ１乃至Ｈ３が、スイッチＳＷ１及びＳＷ２で接続されている例を示している。スイッチＳＷ１及びＳＷ２は、それぞれＦＤＢを有しており、スイッチＳＷ１及びＳＷ２の構成については従来と変わらない。なお、本実施の形態では、ホストＨ１には、テナントＢの仮想マシンＢ０と、テナントＡの仮想マシンＡ２とが実行されているものとする。また、ホストＨ２には、テナントＡの仮想マシンＡ３と、テナントＢの仮想マシンＢ１とが実行されているものとする。さらに、ホストＨ３には、テナントＡの仮想マシンＡ１が実行されているものとする。ホストＨ１乃至Ｈ３には、それぞれ本実施の形態に係る制御パケット処理部が設けられている。
【００１７】
また、スイッチＳＷ１のポートＰ２とホストＨ３とが接続されており、スイッチＳＷ１のポートＰ１とスイッチＳＷ２のポートＰ２とが接続されている。さらに、スイッチＳＷ２のポートＰ３とホストＨ２とが接続されており、スイッチＳＷ２のポートＰ１とホストＨ１とが接続されている。
【００１８】
ホストＨ１乃至Ｈ３と、スイッチＳＷ１及びＳＷ２とは、例えば管理用ＬＡＮ（Local Area Network）を介して管理サーバ１００に接続されている。管理サーバ１００は、ホストＨ１乃至Ｈ３で実行されている仮想マシンを管理し、仮想マシンの移動、起動、停止その他の制御を行う。さらに、管理サーバ１００は、以下で述べるように、スイッチＳＷ１及びＳＷ２のＦＤＢに、仮想マシンのＭＡＣ（Media Access Control）アドレス及びポート番号の対応付けデータを蓄積させるための処理を実行すると共に、当該ＦＤＢに蓄積された対応付けデータを収集する。さらに、管理サーバ１００は、ネットワークにおける障害を検出すると、収集された対応付けデータから当該障害の影響範囲を特定するためのデータを生成する。
【００１９】
次に、図２を用いて管理サーバ１００の機能ブロック図を示す。管理サーバ１００は、ＶＭ管理部１１０と、イベント送信部１２０と、ＦＤＢ取得部１３０と、対応テーブル格納部１４０と、障害監視部１５０と、特定部１６０とを有する。
【００２０】
ＶＭ管理部１１０は、仮想マシンの移動、配備、停止その他の制御を行うと共に、いずれのホストにいずれの仮想マシンが起動中であるかといったデータを保持している。ＶＭ管理部１１０の処理は従来と変わらないので、これ以上述べない。イベント送信部１２０は、ＶＭ管理部１１０が仮想マシンの移動又は配備を行うと、当該仮想マシンが属するテナントのテナントＩＤを含み且つイベント発生を通知する制御パケットを、仮想マシンの移動先又は配備先のホストにおける制御パケット処理部に送信する。
【００２１】
ＦＤＢ取得部１３０は、スイッチＳＷ１及びＳＷ２の各々からＦＤＢのデータを取得し、さらに各ホストの制御パケット処理部からＦＤＢに類似するデータを取得し、対応テーブル格納部１４０における対応テーブルに登録する。
【００２２】
その後、障害監視部１５０は、従来と同じようにネットワークの障害を監視し、障害を検出すると、特定部１６０に障害箇所のデータを出力する。特定部１６０は、障害監視部１５０などから通知された障害箇所から、対応テーブルに格納されている関連データを抽出し、障害影響範囲を表すデータを生成し、表示装置などの出力装置や他のコンピュータなどに出力する。
【００２３】
図３は、物理サーバの一例としてホストＨ１の機能ブロック図を示す。ホストＨ１は、振り分け部２０１と、仮想スイッチ２０３及び２０４と、制御パケット処理部２０２と、仮想マシンＡ２並びにＢ０とを含む。振り分け部２０１は、ＶＬＡＮＩＤ（又はトンネルＩＤ）及びパケットタイプなどで、受信パケットを仮想スイッチ２０４又は２０３若しくは制御パケット処理部２０２に出力する。仮想スイッチ２０４は、テナントＡのための仮想スイッチであり、そのポートＰ１は振り分け部２０１に接続され、そのポートＰ２は仮想マシンＡ２に接続されているとして動作する。さらに、仮想スイッチ２０３は、テナントＢのための仮想スイッチであり、そのポートＰ１は振り分け部２０１に接続され、そのポートＰ２は仮想マシンＢ０に接続されているとして動作する。
【００２４】
制御パケット処理部２０２は、自ホストで実行されている仮想マシンを把握しており、以下で述べるような制御パケットの交換を行う。自ホストで実行されている仮想マシンについては、例えば管理サーバ１００のＶＭ管理部１１０等からの通知で把握されるものとする。なお、振り分け部２０１及び制御パケット処理部２０２は、ホストのＯＳ（Operating System）内に設けられる。
【００２５】
次に、図４Ａ乃至図１３を用いて、本実施の形態に係るシステムの動作を説明する。まず、図４Ａ乃至図８を用いて処理の概要を説明する。
【００２６】
ここではホストＨ１にテナントＢの仮想マシンＢ２を、ＶＭ管理部１１０が配備する処理を行ったケースを説明する。ＶＭ管理部１１０は、ホストＨ１に仮想マシンＢ２を配備すると、イベント送信部１２０に、当該仮想マシンＢ２が属するテナントのテナントＩＤ及び配備先ホストＨ１の識別子を出力する。そうすると、図４Ａに示すように、イベント送信部１２０は、制御パケットであり且つテナントＩＤを含むイベント通知を、配備先ホストＨ１に送信する（ステップ（１））。そうすると、配備先ホストＨ１の制御パケット処理部２０２は、管理サーバ１００からイベント通知を受信すると、要求パケットをブロードキャストする（ステップ（２））。
【００２７】
要求パケットは、図４Ｂに示すように、宛先アドレス（Ｄｓｔ）としてブロードキャスト用のアドレスを含み、送信元アドレス（Ｓｒｃ）としてホストＨ１のアドレスを含み、ペイロードにテナントＩＤ「Ｔｅｎａｎｔ  Ｂ」を含む。そうすると、スイッチＳＷ２のＦＤＢには、図４Ｃに示すようなデータが登録される。すなわち、送信元アドレスを、宛先アドレスとして登録し、当該要求パケットの受信ポートのポート番号を登録する。
【００２８】
要求パケットを受信したホストＨ２及びＨ３の制御パケット処理部２０２は、自ホストに、要求パケットのペイロードに含まれるテナントＩＤの仮想マシンが実行されているか判断する。本例では、テナントＢの仮想マシンは、ホストＨ３には実行されていないので、ホストＨ３の制御パケット処理部２０２は、要求パケットに対する処理はこれ以上行わない。
【００２９】
一方、ホストＨ２には、テナントＢの仮想マシンＢ１が実行されているので、図５Ａに示すように、ホストＨ２の制御パケット処理部２０２は、要求パケットの応答として要求応答パケットを、要求パケットの送信元アドレスへ送信する（ステップ（３））。なお、要求応答パケットの送信元アドレスとしては、テナントＢの仮想マシンＢ１のＭＡＣアドレスを用いる。もし、テナントＢの仮想マシンを複数実行している場合には、仮想マシン毎に要求応答パケットを送信する。
【００３０】
要求応答パケットは、図５Ｂに示すように、宛先アドレス（Ｄｓｔ）としてホストＨ１のＭＡＣアドレス「Ｈ１」を含み、送信元アドレス（Ｓｒｃ）として仮想マシンＢ１のＭＡＣアドレス「Ｂ１」を含み、ペイロードにテナントＩＤ「Ｔｅｎａｎｔ  Ｂ」及び送信元ホストのアドレス「Ｈ２」を含む。送信元アドレスとして仮想マシンＢ１のＭＡＣアドレス「Ｂ１」を用いているので、要求応答パケットの応答として送信されるＡＣＫパケットの宛先を設定するため、ホストＨ２のＭＡＣアドレスをペイロードに含めている。
【００３１】
そうすると、スイッチＳＷ２のＦＤＢには、図５Ｃに示すようなデータが登録される。すなわち、要求応答パケットの送信元アドレス「Ｂ１」が、宛先アドレスとして登録され、要求応答パケットを受信したポートのポート番号「Ｐ３」が、出力ポートのポート番号として登録される。
【００３２】
要求応答パケットを受信したホストＨ１の制御パケット処理部２０２は、自ホストＨ１で実行されており且つ要求応答パケットのペイロードに含まれるテナントＩＤ「Ｂ」に属するテナントＢの仮想マシンＢ０及びＢ２を特定する。そして、制御パケット処理部２０２は、図５Ａに示すように、送信元アドレス（Ｓｒｃ）として仮想マシンＢ０を送信元アドレスとして含むＡＣＫパケットと、送信元アドレス（Ｓｒｃ）として仮想マシンＢ２を送信元アドレスとして含むＡＣＫパケットとを、要求応答パケットに含まれる送信元ホスト「Ｈ２」宛に送信する（ステップ（４））。
【００３３】
ＡＣＫパケットは、図５Ｄに示すように、宛先アドレス（Ｄｓｔ）としてホストＨ２のＭＡＣアドレス「Ｈ２」を含み、送信元アドレス（Ｓｒｃ）として仮想マシンＢ２のＭＡＣアドレス「Ｂ２」を含み、ペイロードにテナントＩＤ「Ｔｅｎａｎｔ  Ｂ」を含む。なお、もう一つのＡＣＫパケットは、図５Ｅに示すように、宛先アドレス（Ｄｓｔ）としてホストＨ２のＭＡＣアドレス「Ｈ２」を含み、送信元アドレス（Ｓｒｃ）として仮想マシンＢ０のＭＡＣアドレス「Ｂ０」を含み、ペイロードにテナントＩＤ「Ｔｅｎａｎｔ  Ｂ」を含む。
【００３４】
そうすると、スイッチＳＷ２のＦＤＢには、図５Ｆに示すようなデータが登録される。すなわち、ＡＣＫパケットの送信元アドレス「Ｂ２」が、宛先アドレスとして登録され、ＡＣＫパケットを受信したポートのポート番号「Ｐ１」が、出力ポートのポート番号として登録される。さらに、ＡＣＫパケットの送信元アドレス「Ｂ０」が、宛先アドレスとして登録され、ＡＣＫパケットを受信したポートのポート番号「Ｐ１」が、出力ポートのポート番号として登録される。
【００３５】
なお、要求応答パケットを受信したホストＨ１の制御パケット処理部２０２は、図５Ｇに示すように、擬似的なＦＤＢのデータとして、要求応答パケットの送信元アドレスとしてＭＡＣアドレス「Ｂ１」と当該要求応答パケットを受信した仮想的なポートのポート番号としてポート「Ｐ１」とを対応付けて保持しておく。
【００３６】
同様に、２つのＡＣＫパケットを受信したホストＨ２の制御パケット処理部２０２は、図５Ｈに示すように、擬似的なＦＤＢのデータとして、ＡＣＫパケットの送信元アドレスとしてＭＡＣアドレス「Ｂ０」及び「Ｂ２」と当該ＡＣＫパケットを受信した仮想的なポートのポート番号としてポート「Ｐ１」とを対応付けて保持しておく。
【００３７】
このようにすれば、仮想マシンの配備又は移動というタイミングで、ホスト上で実行されている同一テナントの仮想マシンのＭＡＣアドレスが、物理的なスイッチのＦＤＢに登録されると共に、各ホストの擬似的なＦＤＢにも登録されるようになる。
【００３８】
そこで、図６に示すように、管理サーバ１００のＦＤＢ取得部１３０は、イベント送信部１２０がイベント通知を送信した後一定時間後に、スイッチＳＷ１及びＳＷ２からＦＤＢのデータをＳＮＭＰ（Simple Network Management Protocol）などにより取得し、対応テーブル格納部１４０に格納する（ステップ（６））。この際、ホストのＭＡＣアドレスは用いないので、ホストのＭＡＣアドレスは除外すると共に、今回イベント通知を行ったテナントについてのＭＡＣアドレスに絞り込む。
【００３９】
例えば、対応テーブル格納部１４０には、図７に示すようなデータが格納される。図７の例では、装置ＩＤと、ＶＭのＭＡＣアドレスと、ポート番号とが登録されるようになっている。装置ＩＤは、スイッチだけではなくホストの場合もある。ホストの場合には、ポート番号は仮想的なポートのポート番号である。
【００４０】
次に、障害監視部１５０は、例えば図８の障害Ａに示すように、スイッチＳＷ２とスイッチＳＷ１との間のリンクがダウンしたことを検出すると、スイッチＳＷ１及びそのポート「Ｐ１」とスイッチＳＷ２及びそのポート「Ｐ２」とを関係する装置ＩＤ及びポート番号として特定する。このデータは、特定部１６０に出力される。特定部１６０は、対応テーブルを、障害監視部１５０からのデータに基づき検索して、該当データを抽出する。図７の場合には、「ＳＷ１」且つ「Ｐ１」については「Ａ２」及び「Ａ３」が抽出され、「ＳＷ２」且つ「Ｐ２」については「Ａ１」が抽出される。そうすると、同一テナントについて組み合わせれば、「Ａ１」と「Ａ２」の組み合わせ、「Ａ１」と「Ａ３」の組み合わせが、障害影響範囲として特定される。
【００４１】
また、障害監視部１５０が、例えば図８の障害Ｂに示すようにスイッチＳＷ２とホストＨ１との間のリンクがダウンしたことを検出すると、スイッチＳＷ２及びそのポート「Ｐ１」と、ホストＨ１及びそのポート「Ｐ１」とを、関係する装置ＩＤ及びポート番号として特定する。このデータは、特定部１６０に出力される。特定部１６０は、対応テーブルを、障害監視部１５０からのデータに基づき検索して、該当データを抽出する。図７の場合には、「ＳＷ２」且つ「Ｐ１」については「Ａ２」「Ｂ２」及び「Ｂ０」が抽出され、「Ｈ１」且つ「Ｐ１」については「Ａ１」「Ａ３」及び「Ｂ１」が抽出される。同一テナントについて組み合わせれば、「Ａ２」と「Ａ１」の組み合わせ、「Ａ２」と「Ａ３」の組み合わせ、「Ｂ１」と「Ｂ２」の組み合わせ、「Ｂ１」と「Ｂ０」の組み合わせが、障害範囲として特定される。
【００４２】
次に、処理の詳細について図９乃至図１３を用いて説明する。
【００４３】
まず、ＶＭ管理部１１０が仮想マシンの配備又は移動を指示すると、ＶＭ管理部１１０はイベント送信部１２０に対して当該仮想マシンの配備先又は移動先ホストの識別子及び所属するテナントのテナントＩＤを出力する。そうすると、イベント送信部１２０は、仮想マシンの配備又は移動イベントを検出し（図９：ステップＳ１）、配備先又は移動先ホストの制御パケット処理部２０２に対して、仮想マシンが属するテナントのテナントＩＤを含むイベント通知を送信する（ステップＳ３）。また、イベント送信部１２０は、テナントＩＤをＦＤＢ取得部１３０に出力する。
【００４４】
ＦＤＢ取得部１３０は、テナントＩＤを受け取ると、タイマをセットして（ステップＳ５）、このタイマがタイムアウトするまで待機する（ステップＳ７）。この間、ネットワークに接続されている各ホストの制御パケット処理部２０２は、上で述べたような制御パケットの交換を、自ホストで実行されている仮想マシンを代理して実行する。
【００４５】
タイマがタイムアウトすると、ＦＤＢ取得部１３０は、ＦＤＢのデータ（擬似的なＦＤＢのデータを含む）を各スイッチ及び各ホストから取得する（ステップＳ９）。物理的なスイッチについてはＳＮＭＰ等を用いてＦＤＢのデータを取得し、ホストについては制御パケット処理部２０２に対して要求を送信して、その応答として擬似的なＦＤＢのデータを送信してもらう。
【００４６】
そして、ＦＤＢ取得部１３０は、受信データから、配備又は移動に係るテナントに属する仮想マシンのデータを抽出する（ステップＳ１１）。具体的には、ホストに係るＭＡＣアドレスを含むデータは以下の処理に無関係であるので除外し、他のテナントに属する仮想マシンのデータについても最新ではない可能性があるので除外する。なお、ＭＡＣアドレスの付与状態を管理しておき、それに基づき本除外処理を行う。
【００４７】
その後、ＦＤＢ取得部１３０は、ステップＳ１１で抽出されたデータで、対応テーブル格納部１４０に格納されている対応データを更新する（ステップＳ１３）。すなわち、対応テーブルにおいて、移動又は配備に係るテナントについてのデータを破棄して、今回取得されたデータを上書きする。
【００４８】
以上のような処理を実行することで、仮想マシンの配備又は移動のタイミングで最新の配備状態を強制的にＦＤＢに反映させることができるので、対応テーブルを可能な限り最新の状況に保持できる。
【００４９】
次に、各ホストの制御パケット処理部２０２の処理について、図１０乃至図１２を用いて説明する。制御パケット処理部２０２は、他のホスト又は管理サーバ１００からイベント通知又は制御パケットを受信する（図１０：ステップＳ２１）。
【００５０】
制御パケットのパケットフォーマットの一例を図１１Ａに示す。図１１Ａの例では、宛先ＭＡＣアドレス（Ｄｓｔ．ＭＡＣ）と、送信元ＭＡＣアドレス（Ｓｒｃ．ＭＡＣ）と、タイプ（ここでは制御パケットの識別子が設定される）と、ペイロードとが含まれる。また、ペイロードには、ＩＰヘッダと、ＵＤＰヘッダと、制御パケット識別子と、テナントＩＤと、実送信元ＭＡＣアドレスとが含まれる。但し、実送信元ＭＡＣアドレスは、要求応答パケットの場合のみ有効となる。
【００５１】
送信元ＭＡＣアドレス及び宛先ＭＡＣアドレスの設定は、図１１Ｂに示すようになる。これについては具体的には以下で説明する。さらに、ＩＰヘッダに含まれる送信元ＩＰアドレス及び宛先ＩＰアドレスの設定は、図１１Ｃに示すようになる。基本的には図１１ＢのＭＡＣアドレスをＩＰアドレスに変更したものとなる。さらに、制御パケット識別子については、図１１Ｄに示すようになる。図１１Ｄにおける制御パケット識別子は一例であって他の値を設定するようにしても良い。なお、イベント通知は、制御パケットの一種であるが、ペイロードにテナントＩＤを含む。
【００５２】
そして、制御パケット処理部２０２は、受信したパケットがイベント通知を受信したか判断する（ステップＳ２３）。イベント通知を受信した場合には、制御パケット処理部２０２は、図４Ｂ及び図１１Ｂに示すように、イベント通知に含まれるテナントＩＤをペイロードに含み、宛先ＭＡＣアドレスにブロードキャストアドレスが設定され、且つ送信元ＭＡＣアドレスに自ホストのＭＡＣアドレスを含む要求パケットを生成し、ブロードキャストする（ステップＳ２５）。そして、制御パケット処理部２０２は、処理終了であるか判断する（ステップＳ２７）。処理終了でなければ処理はステップＳ２１に戻る。一方、処理終了であれば処理を終了する。
【００５３】
一方、イベント通知ではない場合、制御パケット処理部２０２は、受信パケットが要求パケットであるか否かを判断する（ステップＳ２９）。要求パケットの受信ではない場合には、処理は端子Ａを介して図１２の処理に移行する。
【００５４】
一方、要求パケットを受信した場合には、制御パケット処理部２０２は、自ホスト上に、要求パケットのペイロードに含まれるテナントＩＤと同じテナントＩＤを有するテナントに係る仮想マシンが存在しているか判断する（ステップＳ３１）。制御パケット処理部２０２は、管理サーバ１００のＶＭ管理部１１０などと連携して自ホスト上で実行されている仮想マシンをテナント毎に管理している。例えば、テナント毎に仮想マシンのＭＡＣアドレスリストを有するようにしても良い。
【００５５】
自ホスト上に、要求パケットで指定されたテナントと同一のテナントに属する仮想マシンを実行していない場合には、処理はステップＳ２７に移行する。一方、自ホスト上に、要求パケットで指定されたテナントと同一のテナントに属する仮想マシンを実行している場合には、制御パケット処理部２０２は、その仮想マシンのうち未処理の仮想マシンを１つ特定する（ステップＳ３３）。そして、制御パケット処理部２０２は、特定された仮想マシンのＭＡＣアドレスが送信元ＭＡＣアドレスとして設定され、宛先ＭＡＣアドレスとして要求パケットの送信元ＭＡＣアドレスが設定され且つペイロードに自ホストのＭＡＣアドレス及びテナントＩＤが含まれる要求応答パケットを生成し、送信する（ステップＳ３５）。その他の設定については、図１１Ａ乃至１１Ｄで示したフォーマットに従う。
【００５６】
そして、制御パケット処理部２０２は、要求パケットで指定されたテナントと同一のテナントに属する仮想マシンの全てについて処理を行ったか判断し（ステップＳ３７）、未処理の仮想マシンが存在する場合には処理はステップＳ３３に戻る。一方、未処理の仮想マシンが存在しない場合には、処理はステップＳ２７に移行する。
【００５７】
次に、端子Ａを介して図１２の処理に移行して、制御パケット処理部２０２は、要求応答パケットを受信したか判断する（ステップＳ３９）。要求応答パケットを受信した場合には、制御パケット処理部２０２は、要求応答パケットの送信元ＭＡＣアドレスを、擬似的なＦＤＢのデータとして保持しておく（ステップＳ４１）。また、制御パケット処理部２０２は、ペイロードから送信元ホストのＭＡＣアドレスを抽出し、ＡＣＫパケットの宛先ＭＡＣアドレスのフィールドに設定する（ステップＳ４３）。そして、制御パケット処理部２０２は、自ホスト上で実行されており、且つ要求応答パケットのペイロードで指定されたテナントの仮想マシン毎に、当該仮想マシンのＭＡＣアドレスを送信元ＭＡＣアドレスとして設定したＡＣＫパケットを送信する（ステップＳ４５）。複数の仮想マシンがあれば、それぞれについてＡＣＫパケットを送信する。そして処理は端子Ｂを介してステップＳ２７に戻る。
【００５８】
一方、要求応答パケットではなくＡＣＫパケットを受信した場合には（ステップＳ３９：Ｎｏルート）、制御パケット処理部２０２は、ＡＣＫパケットの送信元ＭＡＣアドレスを、擬似的なＦＤＢのデータとして保持しておく（ステップＳ４７）。そして処理は端子Ｂを介してステップＳ２７に戻る。
【００５９】
このようにすれば、要求パケットで指定されたテナントについての仮想マシンのＭＡＣアドレスがスイッチのＦＤＢに設定されるようになる。また、他のホストにおける制御パケット処理部２０２においても、擬似的なＦＤＢに登録されるようになる。すなわち、図７に示すようなデータを、管理サーバ１００で保持できるようになる。
【００６０】
次に、障害発生検出時の処理を、図１３を用いて説明する。障害監視部１５０は、ネットワークにおけるいずれかのリンクの障害発生を検出すると、当該リンクの一方の装置に係る第１の装置ＩＤ及び第１のポート番号と、当該リンクの他方の装置に係る第２の装置ＩＤ及び第２のポート番号とを特定し、特定部１６０に出力する（ステップＳ５１）。障害監視部１５０は、ネットワークの構成データを有しているので、このデータを用いる。
【００６１】
そうすると、特定部１６０は、第１の装置ＩＤ及び第１のポート番号で、対応テーブルを検索して、該当するＭＡＣアドレスを抽出する（ステップＳ５３）。また、特定部１６０は、第２の装置ＩＤ及び第２のポート番号で、対応テーブルを検索して、該当するＭＡＣアドレスを抽出する（ステップＳ５５）。ここで、ホストの装置ＩＤ及び仮想的なポート番号が検索に用いられる場合もある。
【００６２】
そして、特定部１６０は、テナント毎に、抽出されたＭＡＣアドレスの組み合わせを生成する（ステップＳ５７）。具体例でも述べたように、テナント毎に、ステップＳ５３で抽出されたＭＡＣアドレスと、ステップＳ５５で抽出されたＭＡＣアドレスとの組み合わせを、全て生成する。組み合わせられないテナントのデータについては破棄する。
【００６３】
その後、特定部１６０は、ステップＳ５７で生成された組み合わせのデータを含む障害影響範囲データを、出力装置（他のコンピュータの場合もある）に出力する（ステップＳ５９）。
【００６４】
以上のような処理を実行することにより、正確な障害影響範囲のデータを得ることができるようになる。
【００６５】
［実施の形態２］
第１の実施の形態では、ホストにおけるＯＳに、制御パケット処理部２０２を設けていたが、本実施の形態では、図１４に示すように、特別な仮想マシンとして実装するようにしても良い。
【００６６】
すなわち、振り分け部２０１に仮想スイッチ２０５を接続して、振り分け部２０１は第１の実施の形態と同様に、通常のパケットであれば、ＶＬＡＮＩＤ（トンネリング技術を用いている場合にはトンネルＩＤ）に応じて仮想スイッチ２０４又は２０３にパケットを出力し、パケットタイプで特定される制御パケット（イベント通知を含む）であれば、仮想スイッチ２０５に制御パケットを出力する。
【００６７】
仮想スイッチ２０５は、制御仮想マシン２０６に接続されている。制御仮想マシン２０６は、第１の実施の形態に係る制御パケット処理部２０２と同様の機能を有している。但し、ホストＨ１のＭＡＣアドレスＨ１とは別のＭＡＣアドレスＨ１ｘを有しているものとする。
【００６８】
このような構成を採用しても基本的な処理内容は第１の実施の形態と同様である。但し、ホストのＭＡＣアドレスとは別の制御仮想マシン２０６のＭＡＣアドレスが存在しているので、図１５Ａに示すように、要求パケットの送信元ＭＡＣアドレス（Ｓｒｃ）には、制御仮想マシン２０６のＭＡＣアドレスが設定される。また、図１５Ｂに示すように、要求応答パケットの宛先ＭＡＣアドレスには、ホストのＭＡＣアドレスではなく、送信元である制御仮想マシン２０６のＭＡＣアドレスが設定され、さらにペイロードには、送信元の制御仮想マシン２０６のＭＡＣアドレスが設定される。同様に、図１５Ｃに示すように、ＡＣＫパケットの宛先ＭＡＣアドレスには、ホストのＭＡＣアドレスではなく、要求応答パケットのペイロードに含まれる送信元の制御仮想マシン２０６のＭＡＣアドレスが設定される。
【００６９】
このようなパケットの構成のため一部ＦＤＢに蓄積されるＭＡＣアドレスが変化するが、処理で用いられる仮想マシンのＭＡＣアドレスについては同じであるから、管理サーバ１００における処理においても実質的な差異はない。
【００７０】
［実施の形態３］
図１６Ａに示すように、トンネリング技術では、物理的なスイッチに対してテナント毎に論理的なトンネルを構築して、アイソレーションを実現している。すなわち、テナントＡには、トンネルＩＤ「ａ」を付与し、テナントＢには、トンネルＩＤ「ｂ」を付与する。そして、テナントＡに属する仮想マシンＡ１乃至Ａ３は、トンネルａを介して通信を行い、テナントＢに属する仮想マシンＢ０乃至Ｂ２は、トンネルｂを介して通信を行う。この際、図１６Ｂに示すように、仮想マシンＢ１から仮想マシンＢ２へパケットを送信する場合には、ホストＨ２のＯＳがカプセル化を行って、送信されるパケットには、送信元ＭＡＣアドレスとしてホストＨ２のＭＡＣアドレス「Ｈ２」が設定され、宛先ＭＡＣアドレスとしてホストＨ１のＭＡＣアドレス「Ｈ１」が設定され、トンネルＩＤ「ｂ」が設定される。その後に、宛先仮想マシンのＭＡＣアドレス「Ｂ２」及び送信元仮想マシンのＭＡＣアドレス「Ｂ１」が設定される。宛先のホストＨ１のＯＳでは、トンネルＩＤまでのデータを取り除いて、トンネルＩＤで特定される仮想スイッチ（ＶＳＷ）に出力する。
【００７１】
このようなトンネリング技術を用いている場合には、このままではスイッチのＦＤＢに仮想マシンのＭＡＣアドレスが蓄積されず、第１の実施の形態のように障害影響範囲データを生成できない。
【００７２】
そこで、トンネリング技術を用いる場合には、制御パケット処理部２０２は、図１７に示すような制御パケットを生成する。
【００７３】
図１７において、ＭＡＣヘッダ１以降の部分は、図１１Ａに示したパケットフォーマットと同じである。但し、カプセル化されているので、ＭＡＣヘッダ２も付加されており、当該ＭＡＣヘッダ２にも宛先ＭＡＣアドレス（Ｄｓｔ．ＭＡＣアドレス）及び送信元ＭＡＣアドレス（Ｓｒｃ．ＭＡＣアドレス）が設定されるが、これらはＭＡＣヘッダ１の宛先ＭＡＣアドレス及び送信元ＭＡＣアドレスと同じになるように設定される。なお、ＭＡＣヘッダ２におけるタイプは、トンネルプロトコルを識別するＩＤが含まれる。また、トンネルＩＤについては、配備又は移動に係るテナントのテナントＩＤについてのトンネルＩＤを設定する。
【００７４】
このような制御パケットを交換することで、物理的なスイッチのＦＤＢには、第１の実施の形態と同様に仮想マシンのＭＡＣアドレスが設定されるので、管理サーバ１００の処理も同じでよい。
【００７５】
なお、単純なネットワークだけではなく、リンクアグリゲーション（ＬＡＧ：Link Aggregation）が用いられている場合にも対処できるようになる。例えば図１８に示すように、スイッチＳＷ３がスイッチＳＷ１及びＳＷ２に接続されており、スイッチＳＷ４はスイッチＳＷ１及びＳＷ２に接続されている。そして、テナントＡについての通信は、スイッチＳＷ３、ＳＷ１及びＳＷ４を経由する経路で行われ、テナントＢについての通信は、スイッチＳＷ３、ＳＷ２及びＳＷ４を経由する経路で行われる。経路の切り替えはスイッチＳＷ３及びスイッチＳＷ４でトンネルＩＤに応じて行われる。但し、ＬＡＧにおいては、複数のポートが論理的に統合されるため、スイッチＳＷ３において、論理的にポートＰ１とポートＰ２は統合されており、これらのポートには論理的なポート番号Ｔ０が設定されて、ＦＤＢへの登録にはポート番号Ｔ０が用いられる。このような状況においてホストのＭＡＣアドレスしかＦＤＢに登録されないと、例えばスイッチＳＷ１とスイッチＳＷ３の間のリンクに障害が発生した場合、テナントＢにも影響が及ぶと判断されてしまう恐れがある。
【００７６】
しかしながら、上で述べたような制御パケットを交換すれば、スイッチＳＷ１のＦＤＢには、図１９Ａのようなデータが保持される。なお、ほぼ同時にテナントＡ及びＢの仮想マシンが配備されたものと仮定する。また、スイッチＳＷ３のＦＤＢには、図１９Ｂに示すようなデータが保持される。さらに、スイッチＳＷ２のＦＤＢには、図１９Ｃに示すようなデータが保持される。さらに、スイッチＳＷ４のＦＤＢには、図１９Ｄに示すようなデータが保持される。また、ホストＨ１には、図１９Ｅに示すような擬似的なＦＤＢのデータが保持される。ホストＨ２には、図１９Ｆに示すような擬似的なＦＤＢのデータが保持される。
【００７７】
そうすると、図１８のように、スイッチＳＷ１とスイッチＳＷ３の間のリンクに障害が発生した場合、スイッチＳＷ１のポートＰ０とスイッチＳＷ３のポートＴ０とが関係する装置ＩＤ及びポート番号の組み合わせとして特定される。そうすると、スイッチＳＷ１についてのＦＤＢのデータ（図１９Ａ）から、ＭＡＣアドレス「ａ１」が抽出され、スイッチＳＷ３についてのＦＤＢのデータ（図１９Ｂ）から、ＭＡＣアドレス「ａ２」及び「ｂ２」が抽出される。しかしながら、ＭＡＣアドレス「ｂ２」はテナントＢの仮想マシンのＭＡＣアドレスであり、ＭＡＣアドレスの組み合わせを行うことができないので、障害影響範囲データには含まれない。結果として得られる組み合わせはＭＡＣアドレス「ａ１」と「ａ２」となる。すなわちテナントＡにのみ影響があることが正しく得られるようになる。
【００７８】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、管理サーバ１００の機能ブロック図は一例であり、プログラムモジュール構成と一致しない場合もある。また、処理フローについても、処理結果が変わらない限り変更しても良い。
【００７９】
なお、上で述べた管理サーバ１００及びホストは、コンピュータ装置であって、図２０に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００８０】
以上述べた本実施の形態をまとめると以下のようになる。
【００８１】
本実施の形態の第１の態様に係る情報処理方法は、（Ａ）１又は複数の通信装置を介して接続される複数の情報処理装置のうちいずれかの情報処理装置への第１の仮想マシンの配備又は移動に応じて、複数の情報処理装置の各々に含まれ且つ当該情報処理装置において実行されている仮想マシンを管理する管理部に、自ら管理し且つ第１の仮想マシンが属するグループに属する仮想マシンを代理して上記１又は複数の通信装置を介して制御パケットの交換を行わせ、（Ｂ）管理部に制御パケットの交換を行わせた後、上記１又は複数の通信装置の各々から、第１の仮想マシンが属するグループについて送信先アドレスとポート識別子との対応付けデータを取得し、（Ｃ）取得した対応付けデータから、上記１又は複数の通信装置のうち第１の通信装置の識別子と当該第１の通信装置の第１のポートの識別子とに関連する送信先アドレスを抽出し、（Ｄ）抽出した送信先アドレスを用いて出力データを生成する処理を含む。
【００８２】
このようにすれば、障害への影響を仮想マシン単位で特定できる。
【００８３】
なお、上記情報処理方法は、（Ｅ）取得した対応付けデータから、上記１又は複数の通信装置のうち第２の通信装置の識別子と当該第２の通信装置の第２のポートの識別子とに基づき、対応する第２の送信先アドレスを抽出する処理さらに含むようにしても良い。この場合、上で述べた生成する処理が、第１の送信先アドレスと第２の送信先アドレスとを、グループ毎に組み合わせる処理を含むようにしても良い。例えばスイッチ間のリンクダウンなどの場合には、このような処理にて対処できる。
【００８４】
さらに、上で述べた取得する処理が、（ｂ１）複数の情報処理装置の各々に含まれる管理部から、第１の仮想マシンが属するグループについて通信相手のアドレスを含むデータを取得する処理を含むようにしても良い。この場合、上記情報処理方法が、（Ｆ）管理部から取得したデータから、特定の情報処理装置の識別子又は当該特定の情報処理装置に含まれる管理部の識別子に関連する通信相手のアドレスを抽出する処理を含むようにしても良い。さらに、上で述べた生成する処理が、第１の送信先アドレスと抽出した通信相手のアドレスとを、グループ毎に組み合わせる処理を含むようにしても良い。このように、ホストとスイッチとの間のリンクダウンにも対処できるようになる。
【００８５】
本技術の第２の態様に係るパケット交換方法は、（Ａ）１又は複数の通信装置を介して接続される複数の情報処理装置を管理する情報処理装置から上記複数の情報処理装置のいずれかで実行される仮想マシンのグループの指定を含む指示に応じて、指定されたグループの識別子を含む第１のパケットを同報し、（Ｂ）第１のパケットに対する応答として複数の情報処理装置のうち他の情報処理装置から上記指定されたグループに属する仮想マシンのアドレスを送信元アドレスとして含み且つ上記他の情報処理装置のアドレスを含む第２のパケットを受信すると、自情報処理装置において指定されたグループに属する仮想マシンを送信元アドレスとして含む第３のパケットを上記他の情報処理装置のアドレス宛に送信し、（Ｃ）複数の情報処理装置のうち他の情報処理装置から、第２のグループの識別子を含む第３のパケットを受信すると、第２のグループに属する仮想マシンが自情報処理装置において実行されているか判断し、（Ｄ）自情報処理装置において第２のグループに属する仮想マシンが実行されている場合には、当該仮想マシンのアドレスを送信元アドレスに含む第４のパケットを第３のパケットの応答として、上記他の情報処理装置へ送信する処理を含む。
【００８６】
このような処理を行うことで、現在の仮想マシンの実行状態がスイッチのＦＤＢに正確に反映されるようになる。
【００８７】
さらに、パケット交換方法は、（Ｅ）第２のパケットを受信すると、当該第２のパケットの送信元アドレスを保持し、（Ｆ）他の情報処理装置から、第４のパケットの応答として他の情報処理装置において実行されており且つ前記第２のグループに属する他の仮想マシンのアドレスを送信元アドレスとして含む第５のパケットを受信すると、当該第５のパケットの送信元アドレスを保持し、（Ｇ）管理する情報処理装置からの要求に応じて、保持している送信元アドレスを管理する情報処理装置へ送信する処理をさらに含むようにしても良い。ホストとスイッチ間に発生する障害に対処するためには、このような処理を行えばよい。
【００８８】
なお、上記方法による処理をプロセッサ（又はコンピュータ）に行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００８９】
以上の実施の形態を含む実施形態に関し、さらに以下の付記を開示する。
【００９０】
（付記１）
１又は複数の通信装置を介して接続される複数の情報処理装置のうちいずれかの情報処理装置への第１の仮想マシンの配備又は移動に応じて、前記複数の情報処理装置の各々に含まれ且つ当該情報処理装置において実行されている仮想マシンを管理する管理部に、自ら管理し且つ前記第１の仮想マシンが属するグループに属する仮想マシンを代理して前記１又は複数の通信装置を介して制御パケットの交換を行わせ、
前記管理部に前記制御パケットの交換を行わせた後、前記１又は複数の通信装置の各々から、前記第１の仮想マシンが属するグループについて送信先アドレスとポート識別子との対応付けデータを取得し、
取得した前記対応付けデータから、前記１又は複数の通信装置のうち第１の通信装置の識別子と当該第１の通信装置の第１のポートの識別子とに関連する送信先アドレスを抽出し、
抽出した前記送信先アドレスを用いて出力データを生成する
処理を、コンピュータに実行させるためのプログラム。
【００９１】
（付記２）
取得した前記対応付けデータから、前記１又は複数の通信装置のうち第２の通信装置の識別子と当該第２の通信装置の第２のポートの識別子とに基づき、対応する第２の送信先アドレスを抽出する処理を、
さらに前記コンピュータに実行させ、
前記生成する処理が、
前記第１の送信先アドレスと前記第２の送信先アドレスとを、グループ毎に組み合わせる
処理を含む付記１記載のプログラム。
【００９２】
（付記３）
前記取得する処理が、
前記複数の情報処理装置の各々に含まれる前記管理部から、前記第１の仮想マシンが属するグループについて通信相手のアドレスを含むデータを取得する
処理を含み、
前記管理部から取得した前記データから、特定の情報処理装置の識別子又は当該特定の情報処理装置に含まれる管理部の識別子に関連する通信相手のアドレスを抽出する処理をさらに前記コンピュータに実行させ、
前記生成する処理が、
前記第１の送信先アドレスと抽出した前記通信相手のアドレスとを、グループ毎に組み合わせる
処理を含む付記１記載のプログラム。
【００９３】
（付記４）
１又は複数の通信装置を介して接続される複数の情報処理装置を管理する情報処理装置から前記複数の情報処理装置のいずれかで実行される仮想マシンのグループの指定を含む指示に応じて、指定されたグループの識別子を含む第１のパケットを同報し、
前記第１のパケットに対する応答として前記複数の情報処理装置のうち他の情報処理装置から前記指定されたグループに属する仮想マシンのアドレスを送信元アドレスとして含み且つ前記他の情報処理装置のアドレスを含む第２のパケットを受信すると、自情報処理装置において前記指定されたグループに属する仮想マシンを送信元アドレスとして含む第３のパケットを前記他の情報処理装置のアドレス宛に送信し、
前記複数の情報処理装置のうち他の情報処理装置から、第２のグループの識別子を含む第３のパケットを受信すると、前記第２のグループに属する仮想マシンが前記自情報処理装置において実行されているか判断し、
前記自情報処理装置において前記第２のグループに属する仮想マシンが実行されている場合には、当該仮想マシンのアドレスを送信元アドレスに含む第４のパケットを前記第３のパケットの応答として、前記他の情報処理装置へ送信する
処理を、情報処理装置に実行させるためのプログラム。
【００９４】
（付記５）
前記第２のパケットを受信すると、当該第２のパケットの送信元アドレスを保持し、
前記他の情報処理装置から、前記第４のパケットの応答として前記他の情報処理装置において実行されており且つ前記第２のグループに属する他の仮想マシンのアドレスを送信元アドレスとして含む第５のパケットを受信すると、当該第５のパケットの送信元アドレスを保持し、
前記管理する情報処理装置からの要求に応じて、保持している送信元アドレスを前記管理する情報処理装置へ送信する
処理を、さらに前記情報処理装置に実行させるための付記４記載のプログラム。
【００９５】
（付記６）
１又は複数の通信装置を介して接続される複数の情報処理装置のうちいずれかの情報処理装置への第１の仮想マシンの配備又は移動に応じて、前記複数の情報処理装置の各々に含まれ且つ当該情報処理装置において実行されている仮想マシンを管理する管理部に、自ら管理し且つ前記第１の仮想マシンが属するグループに属する仮想マシンを代理して前記１又は複数の通信装置を介して制御パケットの交換を行わせ、
前記管理部に前記制御パケットの交換を行わせた後、前記１又は複数の通信装置の各々から、前記第１の仮想マシンが属するグループについて送信先アドレスとポート識別子との対応付けデータを取得し、
取得した前記対応付けデータから、前記１又は複数の通信装置のうち第１の通信装置の識別子と当該第１の通信装置の第１のポートの識別子とに関連する送信先アドレスを抽出し、
抽出した前記送信先アドレスを用いて出力データを生成する
処理を含み、コンピュータにより実行される情報処理方法。
【００９６】
（付記７）
１又は複数の通信装置を介して接続される複数の情報処理装置のうちいずれかの情報処理装置への第１の仮想マシンの配備又は移動に応じて、前記複数の情報処理装置の各々に含まれ且つ当該情報処理装置において実行されている仮想マシンを管理する管理部に、自ら管理し且つ前記第１の仮想マシンが属するグループに属する仮想マシンを代理して前記１又は複数の通信装置を介して制御パケットの交換を行わせる処理部と、
前記管理部に前記制御パケットの交換を行わせた後、前記１又は複数の通信装置の各々から、前記第１の仮想マシンが属するグループについて送信先アドレスとポート識別子との対応付けデータを取得する取得部と、
取得した前記対応付けデータから、前記１又は複数の通信装置のうち第１の通信装置の識別子と当該第１の通信装置の第１のポートの識別子とに関連する送信先アドレスを抽出し、抽出した前記送信先アドレスを用いて出力データを生成する生成部と、
を有する情報処理装置。
【００９７】
（付記８）
１又は複数の通信装置を介して接続される複数の情報処理装置を管理する情報処理装置から前記複数の情報処理装置のいずれかで実行される仮想マシンのグループの指定を含む指示に応じて、指定されたグループの識別子を含む第１のパケットを同報し、
前記第１のパケットに対する応答として前記複数の情報処理装置のうち他の情報処理装置から前記指定されたグループに属する仮想マシンのアドレスを送信元アドレスとして含み且つ前記他の情報処理装置のアドレスを含む第２のパケットを受信すると、自情報処理装置において前記指定されたグループに属する仮想マシンを送信元アドレスとして含む第３のパケットを前記他の情報処理装置のアドレス宛に送信し、
前記複数の情報処理装置のうち他の情報処理装置から、第２のグループの識別子を含む第３のパケットを受信すると、前記第２のグループに属する仮想マシンが前記自情報処理装置において実行されているか判断し、
前記自情報処理装置において前記第２のグループに属する仮想マシンが実行されている場合には、当該仮想マシンのアドレスを送信元アドレスに含む第４のパケットを前記第３のパケットの応答として、前記他の情報処理装置へ送信する
処理を含み、情報処理装置により実行されるパケット交換方法。
【００９８】
（付記９）
１又は複数の通信装置を介して接続される複数の情報処理装置を管理する情報処理装置から前記複数の情報処理装置のいずれかで実行される仮想マシンのグループの指定を含む指示に応じて、指定されたグループの識別子を含む第１のパケットを同報する手段と、
前記第１のパケットに対する応答として前記複数の情報処理装置のうち他の情報処理装置から前記指定されたグループに属する仮想マシンのアドレスを送信元アドレスとして含み且つ前記他の情報処理装置のアドレスを含む第２のパケットを受信すると、自情報処理装置において前記指定されたグループに属する仮想マシンを送信元アドレスとして含む第３のパケットを前記他の情報処理装置のアドレス宛に送信する手段と、
前記複数の情報処理装置のうち他の情報処理装置から、第２のグループの識別子を含む第３のパケットを受信すると、前記第２のグループに属する仮想マシンが前記自情報処理装置において実行されているか判断する手段と、
前記自情報処理装置において前記第２のグループに属する仮想マシンが実行されている場合には、当該仮想マシンのアドレスを送信元アドレスに含む第４のパケットを前記第３のパケットの応答として、前記他の情報処理装置へ送信する手段と、
を有する情報処理装置。
【符号の説明】
【００９９】
１００  管理サーバ
１１０  ＶＭ管理部
１２０  イベント送信部
１３０  ＦＤＢ取得部
１４０  対応テーブル格納部
１５０  障害監視部
１６０  特定部
【図１】
2014207594.tif 000003
【図２】
2014207594.tif 000004
【図３】
2014207594.tif 000005
【図４Ａ】
2014207594.tif 000006
【図４Ｂ】
2014207594.tif 000007
【図４Ｃ】
2014207594.tif 000008
【図４Ｄ】
2014207594.tif 000009
【図５Ａ】
2014207594.tif 000010
【図５Ｂ】
2014207594.tif 000011
【図５Ｃ】
2014207594.tif 000012
【図５Ｄ】
2014207594.tif 000013
【図５Ｅ】
2014207594.tif 000014
【図５Ｆ】
2014207594.tif 000015
【図５Ｇ】
2014207594.tif 000016
【図５Ｈ】
2014207594.tif 000017
【図６】
2014207594.tif 000018
【図７】
2014207594.tif 000019
【図８】
2014207594.tif 000020
【図９】
2014207594.tif 000021
【図１０】
2014207594.tif 000022
【図１１Ａ】
2014207594.tif 000023
【図１１Ｂ】
2014207594.tif 000024
【図１１Ｃ】
2014207594.tif 000025
【図１１Ｄ】
2014207594.tif 000026
【図１２】
2014207594.tif 000027
【図１３】
2014207594.tif 000028
【図１４】
2014207594.tif 000029
【図１５Ａ】
2014207594.tif 000030
【図１５Ｂ】
2014207594.tif 000031
【図１５Ｃ】
2014207594.tif 000032
【図１６Ａ】
2014207594.tif 000033
【図１６Ｂ】
2014207594.tif 000034
【図１７】
2014207594.tif 000035
【図１８】
2014207594.tif 000036
【図１９Ａ】
2014207594.tif 000037
【図１９Ｂ】
2014207594.tif 000038
【図１９Ｃ】
2014207594.tif 000039
【図１９Ｄ】
2014207594.tif 000040
【図１９Ｅ】
2014207594.tif 000041
【図１９Ｆ】
2014207594.tif 000042
【図２０】
2014207594.tif 000043