(57)【要約】【課題】パケットをロスすることなくミラーポートの切り替えを行うこと。【解決手段】情報処理装置１０１は、仮想スイッチ１１３により、移行元ポートと移行先ポートとを特定するミラー切替指示を受け付ける。情報処理装置１０１は、仮想スイッチ１１３により、ミラー切替指示を受け付けたことに応じて、移行先ポートを有する仮想スイッチ１２２に対する第１ミラー切替通知を送信するとともに、移行元ポートにおける移行先ポートへの送信パケットのミラー設定を解除する。情報処理装置１０１は、仮想スイッチ１１３により、仮想スイッチ１２２からの第２ミラー切替通知を受け付けたことに応じて、移行元ポートにおける移行先ポートからの受信パケットのミラー設定を解除する。【選択図】図１
2018117193.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
移行元ポートと移行先ポートとを特定するミラー切替指示に応じて、前記移行先ポートを有する仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を要求する第１ミラー切替通知を送信するとともに、前記移行元ポートにおける前記移行先ポートへの送信パケットのミラー設定を解除し、
前記仮想スイッチからの前記移行先ポートにおけるミラー設定の変更を示す第２ミラー切替通知に応じて、前記移行元ポートにおける前記移行先ポートからの受信パケットのミラー設定を解除する、
処理を実行させることを特徴とするポート切替プログラム。
【請求項２】
前記コンピュータに、
前記第１ミラー切替通知の次に前記移行元ポートから送信されるパケットの送信処理を、前記送信パケットのミラー設定を解除する処理の完了後に実行させることを特徴とする請求項１に記載のポート切替プログラム。
【請求項３】
前記第２ミラー切替通知には、他のパケットよりも高い優先度が設定され、かつ、当該第２ミラー切替通知の直前に前記移行先ポートから送信されたパケットの送信順序を示す所定の番号が含まれており、
前記コンピュータに、
前記移行先ポートからの受信パケットのミラー設定を解除した場合でも、前記第２ミラー切替通知よりも後に受信された受信パケットのうち、前記移行先ポートから送信された送信順序を示す番号が前記所定の番号以下である受信パケットのミラーリングを行う、処理を実行させることを特徴とする請求項１または２に記載のポート切替プログラム。
【請求項４】
コンピュータに、
移行元ポートを有する仮想スイッチからの移行先ポートにおけるミラー設定の変更を要求する第１ミラー切替通知に応じて、前記移行先ポートにおける前記移行元ポートからの受信パケットのミラー設定を行い、
前記受信パケットのミラー設定が行われたことに応じて、前記仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を示す第２ミラー切替通知を送信するとともに、前記移行先ポートにおける前記移行元ポートへの送信パケットのミラー設定を行う、
処理を実行させることを特徴とするポート切替プログラム。
【請求項５】
前記コンピュータに、
前記第２ミラー切替通知の次に前記移行先ポートから送信されるパケットの送信処理を、前記送信パケットのミラー設定を行う処理の完了後に実行させることを特徴とする請求項４に記載のポート切替プログラム。
【請求項６】
前記第１ミラー切替通知には、他のパケットよりも高い優先度が設定され、かつ、当該第１ミラー切替通知の直前に前記移行元ポートから送信されたパケットの送信順序を示す所定の番号が含まれており、
前記コンピュータに、
前記移行元ポートからの受信パケットのミラー設定を行った場合でも、前記第１ミラー切替通知よりも後に受信された受信パケットのうち、前記移行元ポートから送信された送信順序を示す番号が前記所定の番号以下である受信パケットをミラーリング対象から除外する、ことを特徴とする請求項４または５に記載のポート切替プログラム。
【請求項７】
コンピュータが、
移行元ポートと移行先ポートとを特定するミラー切替指示に応じて、前記移行先ポートを有する仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を要求する第１ミラー切替通知を送信するとともに、前記移行元ポートにおける前記移行先ポートへの送信パケットのミラー設定を解除し、
前記仮想スイッチからの前記移行先ポートにおけるミラー設定の変更を示す第２ミラー切替通知に応じて、前記移行元ポートにおける前記移行先ポートからの受信パケットのミラー設定を解除する、
処理を実行することを特徴とするポート切替方法。
【請求項８】
コンピュータが、
移行元ポートを有する仮想スイッチからの移行先ポートにおけるミラー設定の変更を要求する第１ミラー切替通知に応じて、前記移行先ポートにおける前記移行元ポートからの受信パケットのミラー設定を行い、
前記受信パケットのミラー設定が行われたことに応じて、前記仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を示す第２ミラー切替通知を送信するとともに、前記移行先ポートにおける前記移行元ポートへの送信パケットのミラー設定を行う、
処理を実行することを特徴とするポート切替方法。
【請求項９】
移行元ポートと移行先ポートとを特定するミラー切替指示に応じて、前記移行先ポートを有する仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を要求する第１ミラー切替通知を送信するとともに、前記移行元ポートにおける前記移行先ポートへの送信パケットのミラー設定を解除し、
前記仮想スイッチからの前記移行先ポートにおけるミラー設定の変更を示す第２ミラー切替通知に応じて、前記移行元ポートにおける前記移行先ポートからの受信パケットのミラー設定を解除する、
制御部を有することを特徴とする情報処理装置。
【請求項１０】
移行元ポートを有する仮想スイッチからの移行先ポートにおけるミラー設定の変更を要求する第１ミラー切替通知に応じて、前記移行先ポートにおける前記移行元ポートからの受信パケットのミラー設定を行い、
前記受信パケットのミラー設定が行われたことに応じて、前記仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を示す第２ミラー切替通知を送信するとともに、前記移行先ポートにおける前記移行元ポートへの送信パケットのミラー設定を行う、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポート切替プログラム、ポート切替方法、および情報処理装置に関する。
【背景技術】
【０００２】
従来、仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）に接続された仮想スイッチのポートを流れるデータをミラーリングして蓄積し、解析する技術がある。ミラーリングはＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）や通信帯域などの各種リソースを消費するため、同一ホスト上の他のＶＭに影響を与えてしまうことがある。このため、ミラーリングする処理を負荷に応じて、他の仮想スイッチに切り替えることがある。
【０００３】
先行技術としては、例えば、計測装置Ａから計測装置Ｂにキャプチャを交替させる際に、計測装置Ｂにキャプチャを開始するよう指示し、計測装置Ｂからパケットをキャプチャしたことを表す状況が通知された後に、計測装置Ａにキャプチャの停止を指示するものがある。また、制御リンクからキャプチャデータを受信した場合に、そのキャプチャデータを上流ポートへミラーリングし、ユーザデータリンクから流入するトラフィックをキャプチャ処理の対象外とする技術がある。また、物理サーバ上に構築された仮想マシンに対応する仮想スイッチのポートとの間に設定されたトンネルの回線帯域が、ポートミラートラフィックの通信帯域を充足しないと判定された場合、仮想マシンを異なる物理サーバへ移動させる技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１０／０８６９０７号
【特許文献２】特開２００９−１３０５２８号公報
【特許文献３】特開２０１６−１４９６８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、パケットをロスすることなくミラーポートの切り替えを行うことが難しい。例えば、パケットロスを防ぐために、二つのミラーポートでミラーリングを行ってパケットを重複させておき、パケットを収集して解析する側で重複したパケットを除去する方法では、重複除去に負荷や時間がかかり、後の解析に影響を及ぼすおそれがある。
【０００６】
一つの側面では、本発明は、パケットをロスすることなくミラーポートの切り替えを行うことを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様では、移行元ポートと移行先ポートとを特定するミラー切替指示に応じて、前記移行先ポートを有する仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を要求する第１ミラー切替通知を送信するとともに、前記移行元ポートにおける前記移行先ポートへの送信パケットのミラー設定を解除し、前記仮想スイッチからの前記移行先ポートにおけるミラー設定の変更を示す第２ミラー切替通知に応じて、前記移行元ポートにおける前記移行先ポートからの受信パケットのミラー設定を解除する、ポート切替プログラムが提供される。
【０００８】
また、１つの実施態様では、移行元ポートを有する仮想スイッチからの移行先ポートにおけるミラー設定の変更を要求する第１ミラー切替通知に応じて、前記移行先ポートにおける前記移行元ポートからの受信パケットのミラー設定を行い、前記受信パケットのミラー設定が行われたことに応じて、前記仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を示す第２ミラー切替通知を送信するとともに、前記移行先ポートにおける前記移行元ポートへの送信パケットのミラー設定を行う、ポート切替プログラムが提供される。
【発明の効果】
【０００９】
本発明の一側面によれば、パケットをロスすることなくミラーポートの切り替えを行うことができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態にかかるポート切替方法の一実施例を示す説明図である。
【図２】図２は、システム２００のシステム構成例を示す説明図である。
【図３】図３は、情報処理装置ＰＭｉ等のハードウェア構成例を示すブロック図である。
【図４】図４は、ミラーポート管理テーブルＴＢ１の記憶内容の一例を示す説明図である。
【図５】図５は、ポート間接続管理テーブルＴＢ２の記憶内容の一例を示す説明図である。
【図６】図６は、ミラーフィルタ管理テーブルＴＢ３の記憶内容の一例を示す説明図である。
【図７】図７は、管理装置２０１の機能的構成例を示すブロック図である。
【図８】図８は、情報処理装置ＰＭｉの機能的構成例を示すブロック図である。
【図９】図９は、ミラー切替通知ＣＮのフォーマット例を示す説明図（その１）である。
【図１０】図１０は、ミラー切替通知ＣＮのフォーマット例を示す説明図（その２）である。
【図１１】図１１は、パケットの追い越しが発生した場合のミラーリングの処理例を示す説明図である。
【図１２】図１２は、ＶＭ間の接続関係の一例を示す説明図である。
【図１３】図１３は、ミラーポートを切り替える際の各モジュールの動作例を示すシーケンス図である。
【図１４】図１４は、仮想マシン間で送受信されるパケットの流れを示す説明図（その１）である。
【図１５】図１５は、仮想マシン間で送受信されるパケットの流れを示す説明図（その２）である。
【図１６】図１６は、管理装置２０１のミラーポート切替管理処理手順の一例を示すフローチャートである。
【図１７】図１７は、情報処理装置ＰＭｉのミラー切替通知生成処理手順の一例を示すフローチャートである。
【図１８】図１８は、情報処理装置ＰＭｉのパケット送信処理手順の一例を示すフローチャートである。
【図１９】図１９は、情報処理装置ＰＭｉのパケット受信処理手順の一例を示すフローチャートである。
【図２０】図２０は、情報処理装置ＰＭｉのミラーフィルタ処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に図面を参照して、本発明にかかるポート切替プログラム、ポート切替方法、および情報処理装置の実施の形態を詳細に説明する。
【００１２】
（実施の形態）
図１は、実施の形態にかかるポート切替方法の一実施例を示す説明図である。図１において、情報処理装置１０１，１０２は、自装置のハードウェア資源を仮想化して、複数の異なるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を実行可能なコンピュータである。自装置のハードウェア資源とは、例えば、ＣＰＵ、メモリ、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）などである。
【００１３】
具体的には、例えば、情報処理装置１０１，１０２は、自装置のハードウェア資源を分割して構築される実行環境で動作する仮想マシンによってＯＳを稼働させることができる。仮想マシンとは、物理的なコンピュータのハードウェア資源を分割して構築される実行環境で動作する仮想的なコンピュータである。
【００１４】
図１の例では、情報処理装置１０１上で仮想マシン１１１，１１２が動作し、情報処理装置１０２上で仮想マシン１２１が動作する場合を想定する。
【００１５】
また、情報処理装置１０１，１０２は、仮想スイッチを有する。仮想スイッチとは、物理サーバ上の仮想マシン同士をつないだり、仮想マシンと外部のネットワークとをつないだりする仮想的なネットワークスイッチである。
【００１６】
図１の例では、情報処理装置１０１は、仮想マシン１１１，１１２に接続された仮想スイッチ１１３を有する。また、情報処理装置１０２は、仮想マシン１２１に接続された仮想スイッチ１２２を有する。仮想スイッチ１１３，１２２は、ポートミラーリングの機能を有する。ポートミラーリングとは、ポートの入力パケット、または、出力パケット、または、両方のパケットを、別のポートにミラーリングする機能である。
【００１７】
図１の例では、仮想マシン１１２，１２１間で送受信されるパケットが、仮想スイッチ１１３のポート１１４においてミラーリングされている場合を想定する。ポート１１４においてミラーリングされたパケットは、キャプチャツール１３０に送られて、各種解析に用いられる。
【００１８】
ここで、ミラーリングはＣＰＵや通信帯域などの各種リソースを消費するため、同一ホスト上の別の仮想マシンに影響を与えてしまうことがある。図１の例では、仮想スイッチ１１３におけるミラーリングの処理により、例えば、仮想マシン１１１の性能に影響を与えてしまうことがある。
【００１９】
このため、負荷に応じてミラーリングする処理を、他の仮想スイッチに切り替えることがある。この際、パケットロスが生じると、解析に影響を及ぼすことになるため、二つのミラーポートでミラーリングを行ってパケットを重複させておき、パケットを収集して解析する側で重複したパケットを除去する方法がある。なお、ミラーポートとは、パケットをミラーするポートである。ところが、重複したミラーパケットを正確に除去するには負荷や時間がかかり、後の解析に影響を及ぼすおそれがある。
【００２０】
また、パケットのロスや重複を防ぐために、ミラーポートの切り替えが完了するまでの間、関連する全ての仮想マシンをサスペンドすることが考えられる。しかしながら、関連する全ての仮想マシンをサスペンドすると、ミラー対象以外の通信や通信以外の処理まで停止してしまうという問題がある。
【００２１】
そこで、本実施の形態では、パケットのロスも重複もさせることなく、ミラーポートの切り替えを行うことができるポート切替方法について説明する。以下、本ポート切替方法の処理例について説明する。ここでは、仮想スイッチ１１３のポート１１４を移行元ポートとし、仮想スイッチ１２２のポート１２３を移行先ポートとして、ミラーポートをポート１１４からポート１２３に切り替える場合を例に挙げて説明する。
【００２２】
（１）情報処理装置１０１は、仮想スイッチ１１３により、移行元ポートと移行先ポートとを特定するミラー切替指示を受け付ける。ミラー切替指示は、ミラーポートを移行元ポートから移行先ポートに切り替えるための指示である。具体的には、例えば、情報処理装置１０１は、仮想スイッチ１１３により、ポートミラーマネージャ１４０からのミラー切替指示を受け付ける。ポートミラーマネージャ１４０は、仮想スイッチのポートにおけるミラーリングを管理するソフトウェアである。
【００２３】
（２）情報処理装置１０１は、仮想スイッチ１１３により、ミラー切替指示を受け付けたことに応じて、移行先ポートを有する仮想スイッチ１２２に対する第１ミラー切替通知を送信するとともに、移行元ポートにおける移行先ポートへの送信パケットのミラー設定を解除する。
【００２４】
ここで、第１ミラー切替通知は、ミラーポートを移行元ポートから移行先ポートに切り替えるための通知であり、移行先ポートにおけるミラー設定の変更を要求するものである。また、送信パケットのミラー設定を解除するとは、移行元ポートから移行先ポートへ送信されるパケットのミラーリングを行わないように、ミラー設定を解除することである。
【００２５】
これにより、仮想スイッチ１１３において、仮想スイッチ１２２へ第１ミラー切替通知を送信したタイミングで、それ以降に移行元ポート（ポート１１４）から移行先ポート（ポート１２３）へ送信されるパケットをミラーリング対象から除外することができる。
【００２６】
（３）情報処理装置１０２は、仮想スイッチ１２２により、移行元ポートを有する仮想スイッチ１１３からの第１ミラー切替通知を受け付けたことに応じて、当該第１ミラー切替通知から特定される移行先ポートにおける移行元ポートからの受信パケットのミラー設定を行う。ここで、受信パケットのミラー設定とは、移行先ポートにおいて移行元ポートから受信されるパケットのミラーリングを行うようにミラー設定することである。
【００２７】
これにより、仮想スイッチ１２２において、仮想スイッチ１１３からの第１ミラー切替通知を受信したタイミングで、それ以降に移行先ポート（ポート１２３）において移行元ポート（ポート１１４）から受信されるパケットをミラーリング対象とすることができる。
【００２８】
（４）情報処理装置１０２は、仮想スイッチ１２２により、受信パケットのミラー設定が行われたことに応じて、仮想スイッチ１１３に対する第２ミラー切替通知を送信するとともに、移行先ポートにおける移行元ポートへの送信パケットのミラー設定を行う。
【００２９】
ここで、第２ミラー切替通知は、移行先ポートにおけるミラー設定の変更を示す通知である。送信パケットのミラー設定とは、移行先ポートから移行元ポートへ送信されるパケットのミラーリングを行うようにミラー設定することである。換言すれば、第２ミラー切替通知は、その送信前後で移行先ポートにおける受信パケットおよび送信パケットのミラー設定が行われるため、移行先ポートにおけるミラー設定の切替完了を示す通知であるといえる。
【００３０】
これにより、仮想スイッチ１２２において、仮想スイッチ１１３へ第２ミラー切替通知を送信したタイミングで、それ以降に移行先ポート（ポート１２３）から移行元ポート（ポート１１４）に送信されるパケットをミラーリング対象とすることができる。
【００３１】
（５）情報処理装置１０１は、仮想スイッチ１１３により、仮想スイッチ１２２からの第２ミラー切替通知を受け付けたことに応じて、移行元ポートにおける移行先ポートからの受信パケットのミラー設定を解除する。ここで、受信パケットのミラー設定を解除するとは、移行元ポートにおいて移行先ポートから受信されるパケットのミラーリングを行わないように、ミラー設定を解除することである。
【００３２】
これにより、仮想スイッチ１１３において、仮想スイッチ１２２からの第２ミラー切替通知を受け付けたタイミングで、それ以降に移行元ポート（ポート１１４）において移行先ポート（ポート１２３）から受信されるパケットをミラーリング対象から除外することができる。
【００３３】
このように、情報処理装置１０１，１０２によれば、第１、第２ミラー切替通知を送受信したタイミングで、移行元ポート、移行先ポートにおけるミラー設定を切り替えることができる。これにより、ミラーポートの切替タイミングを合わせて、パケットのロスも重複もさせることなく、ミラーポートの切り替えを行うことができる。また、ミラーポートの切替時に、関連する仮想マシン（例えば、仮想マシン１１２，１２１）をサスペンドしないため、ミラー対象以外の通信や通信以外の処理を停止させることなく、ミラーポートの切り替えを行うことができる。
【００３４】
（システム２００のシステム構成例）
つぎに、実施の形態にかかるシステム２００のシステム構成例について説明する。
【００３５】
図２は、システム２００のシステム構成例を示す説明図である。図２において、システム２００は、情報処理装置ＰＭ１〜ＰＭｎ（ｎ：２以上の自然数）と、管理装置２０１と、管理者端末２０２と、を含む。システム２００において、情報処理装置ＰＭ１〜ＰＭｎ、管理装置２０１および管理者端末２０２は、有線または無線のネットワーク２１０を介して接続される。ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどを含む。
【００３６】
以下の説明では、情報処理装置ＰＭ１〜ＰＭｎのうちの任意の情報処理装置を「情報処理装置ＰＭｉ」と表記する場合がある（ｉ＝１，２，…，ｎ）。また、情報処理装置ＰＭ１〜ＰＭｎのうち、キャプチャツールＣを有する情報処理装置を「情報処理装置ＰＭｍ」と表記する場合がある。キャプチャツールＣは、ミラーパケットを蓄積して解析を行うソフトウェアである。
【００３７】
管理装置２０１は、ポートミラーマネージャＭを有するコンピュータである。ポートミラーマネージャＭは、仮想スイッチのポートにおけるミラーリングを管理するソフトウェアである。図１に示したポートミラーマネージャ１４０は、例えば、ポートミラーマネージャＭに相当する。
【００３８】
また、管理装置２０１は、ミラーポート管理テーブルＴＢ１およびポート間接続管理テーブルＴＢ２を有する。ミラーポート管理テーブルＴＢ１およびポート間接続管理テーブルＴＢ２は、ポートミラーマネージャＭが用いる情報である。ミラーポート管理テーブルＴＢ１およびポート間接続管理テーブルＴＢ２の記憶内容については、図４および図５を用いて後述する。
【００３９】
管理者端末２０２は、システム２００の管理者が使用するコンピュータであり、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）である。
【００４０】
情報処理装置ＰＭｉは、自装置のハードウェア資源２２０を仮想化して、複数の異なるＯＳを実行可能なコンピュータである。具体的には、例えば、情報処理装置ＰＭｉは、ハイパーバイザ２３０と、ホストＯＳ２４０と、仮想マシン２５０と、を含む。ハイパーバイザ２３０は、コンピュータを仮想化し、複数のＯＳを並列に実行できるようにするソフトウェアである。
【００４１】
ホストＯＳ２４０は、仮想マシン２５０を動作させるための基盤となるＯＳである。ホストＯＳ２４０は、仮想スイッチ２６０を有する。仮想マシン２５０は、フロントエンドドライバ２７０を有する。仮想スイッチ２６０は、バックエンドドライバ２８０を有する。フロントエンドドライバ２７０およびバックエンドドライバ２８０は、ハードウェアにアクセスするためのＰＶ（ｐａｒａｖｉｒｔｕａｌ）ドライバである。
【００４２】
具体的には、例えば、フロントエンドドライバ２７０は、パケット送信時に、送信するパケットを共有メモリ２９０に書き込む。共有メモリ２９０は、例えば、後述の図３に示すメモリ３０２により実現される。そして、フロントエンドドライバ２７０は、共有メモリ２９０の書込先アドレスをリングバッファＴＸに書き込んで、バックエンドドライバ２８０に通知する。バックエンドドライバ２８０は、リングバッファＴＸから書込先アドレスを読み込んで、共有メモリ２９０の書込先アドレスからパケットを読み出して送信処理を行う。
【００４３】
また、バックエンドドライバ２８０は、パケット受信時に、受信されたパケットを共有メモリ２９０に書き込む。そして、バックエンドドライバ２８０は、共有メモリ２９０の書込先アドレスをリングバッファＲＸに書き込んで、フロントエンドドライバ２７０に通知する。フロントエンドドライバ２７０は、リングバッファＲＸから書込先アドレスを読み込んで、共有メモリ２９０の書込先アドレスからパケットを読み出して受信処理を行う。なお、リングバッファＴＸおよびリングバッファＲＸは、例えば、共有メモリ２９０に含まれる。
【００４４】
フロントエンドドライバ２７０およびバックエンドドライバ２８０によれば、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）処理のオーバーヘッドを小さくして、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）を高速化することができる。
【００４５】
また、情報処理装置ＰＭｉは、ミラーフィルタ管理テーブルＴＢ３を有する。ミラーフィルタ管理テーブルＴＢ３は、仮想スイッチ２６０が用いる情報である。ミラーフィルタ管理テーブルＴＢ３の記憶内容については、図６を用いて後述する。図１に示した情報処理装置１０１，１０２は、例えば、情報処理装置ＰＭｉに相当する。
【００４６】
なお、ここではポートミラーマネージャＭを、管理装置２０１上で動作させる場合を例に挙げて説明したが、これに限らない。例えば、情報処理装置ＰＭｉ上あるいは管理者端末２０２上でポートミラーマネージャＭを動作させることにしてもよい。
【００４７】
（情報処理装置ＰＭｉのハードウェア構成例）
つぎに、図２に示した情報処理装置ＰＭｉ、管理装置２０１および管理者端末２０２のハードウェア構成例について説明する。ここでは、情報処理装置ＰＭｉ、管理装置２０１および管理者端末２０２を「情報処理装置ＰＭｉ等」と表記する。
【００４８】
図３は、情報処理装置ＰＭｉ等のハードウェア構成例を示すブロック図である。図３において、情報処理装置ＰＭｉ等は、ＣＰＵ３０１と、メモリ３０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、ディスクドライブ３０４と、ディスク３０５と、を有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００４９】
ここで、ＣＰＵ３０１は、情報処理装置ＰＭｉ等の全体の制御を司る。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００５０】
Ｉ／Ｆ３０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他の装置に接続される。そして、Ｉ／Ｆ３０３は、ネットワーク２１０と自装置内部とのインターフェースを司り、他の装置からのデータの入出力を制御する。Ｉ／Ｆ３０３には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００５１】
ディスクドライブ３０４は、ＣＰＵ３０１の制御に従ってディスク３０５に対するデータのリード／ライトを制御する。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する。ディスク３０５としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００５２】
なお、情報処理装置ＰＭｉ等は、上述した構成部のほか、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、入力装置、ディスプレイなどを有することにしてもよい。
【００５３】
（ミラーポート管理テーブルＴＢ１の記憶内容）
つぎに、管理装置２０１が有するミラーポート管理テーブルＴＢ１の記憶内容について説明する。ミラーポート管理テーブルＴＢ１は、例えば、図３に示した管理装置２０１のメモリ３０２、ディスク３０５等の記憶装置に記憶される。
【００５４】
図４は、ミラーポート管理テーブルＴＢ１の記憶内容の一例を示す説明図である。図４において、ミラーポート管理テーブルＴＢ１は、ポート名、ポートＩＤ、ポートミラー方向およびモニタポートＩＤのフィールドを有する。各フィールドに情報を設定することで、ミラーポート管理情報（例えば、ミラーポート管理情報４００−１〜４００−３）がレコードとして記憶される。
【００５５】
ここで、ポート名は、仮想マシン２５０に接続される仮想スイッチ２６０のポートの名称である。ポートＩＤは、仮想マシン２５０に接続される仮想スイッチ２６０のポートを一意に識別する識別子である。ポートミラー方向は、パケットのミラーリングを行う方向を示す。
【００５６】
具体的には、ポートミラー方向「双方向」は、ポートＩＤのポートを流れる受信パケットおよび送信パケットの両方のミラーリングを行うことを示す。なお、受信パケットとは、ポートで受信されるパケット（入力パケット）である。送信パケットとは、ポートから送信されるパケット（出力パケット）である。
【００５７】
また、ポートミラー方向「出力」は、ポートＩＤのポートを流れる送信パケットのミラーリングを行うことを示す。また、ポートミラー方向「入力」は、ポートＩＤのポートを流れる受信パケットのミラーリングを行うことを示す。モニタポートＩＤは、情報処理装置ＰＭｍのキャプチャツールＣにつながるポートを一意に識別する識別子である。
【００５８】
例えば、ミラーポート管理情報４００−１は、ポート名「“Ｐｏｒｔ２”」およびポートＩＤ「Ｐ２」のポートのポートミラー方向「双方向」およびモニタポートＩＤ「Ｐｍ」を示す。なお、ミラーポート管理テーブルＴＢ１には、ポート名の情報が含まれていなくてもよい。
【００５９】
（ポート間接続管理テーブルＴＢ２の記憶内容）
つぎに、管理装置２０１が有するポート間接続管理テーブルＴＢ２の記憶内容について説明する。ポート間接続管理テーブルＴＢ２は、例えば、図３に示した管理装置２０１のメモリ３０２、ディスク３０５等の記憶装置に記憶される。
【００６０】
図５は、ポート間接続管理テーブルＴＢ２の記憶内容の一例を示す説明図である。図５において、ポート間接続管理テーブルＴＢ２は、ポート間の接続関係を示すポート間接続管理情報（例えば、ポート間接続管理情報５００−１〜５００−３）をレコードとして記憶する。
【００６１】
接続元／接続先のポートは、ポートＩＤ、ＶＭＩＤおよびホストＩＤの組み合わせから特定される。ポートＩＤは、仮想スイッチ２６０が有するポートのポートＩＤである。ＶＭＩＤは、ポートＩＤのポートに接続される仮想マシン２５０を一意に識別する識別子である。
【００６２】
ＶＭＩＤとしては、例えば、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスなどを用いることができる。ホストＩＤは、仮想マシン２５０が動作するホストＯＳ２４０を一意に識別する識別子である。
【００６３】
以下の説明では、ホストＩＤ「Ｈ＃」のホストＯＳ２４０を「ホストＨ＃」と表記する場合がある。また、ホストＨ＃の仮想スイッチ２６０を「仮想スイッチＳＷ＃」と表記する場合がある。また、ＶＭＩＤ「ＶＭ＃」の仮想マシン２５０を「仮想マシンＶＭ＃」と表記する場合がある。また、ポートＩＤ「Ｐ＃」のポートを「ポートＰ＃」と表記する場合がある。
【００６４】
例えば、ポート間接続管理情報５００−１は、ホストＨ１で動作する仮想マシンＶＭ１に接続された仮想スイッチＳＷ１のポートＰ１と、ホストＨ２で動作する仮想マシンＶＭ３に接続された仮想スイッチＳＷ２のポートＰ３との接続関係を示す。
【００６５】
なお、ポート間接続管理テーブルＴＢ２内の各エントリ（レコード）は、例えば、仮想マシン２５０の生成時に作成される。仮想マシン２５０の通信相手は、例えば、アプリケーションに応じて決定してもよいし、また、仮想マシン間のパケットをキャプチャして特定することにしてもよい。
【００６６】
（ミラーフィルタ管理テーブルＴＢ３の記憶内容）
つぎに、情報処理装置ＰＭｉが有するミラーフィルタ管理テーブルＴＢ３の記憶内容について説明する。ミラーフィルタ管理テーブルＴＢ３は、例えば、図３に示した情報処理装置ＰＭｉのメモリ３０２、ディスク３０５等の記憶装置に記憶される。ミラーフィルタ管理テーブルＴＢ３は、ミラーポートを切り替える際に、ポートミラーマネージャＭから、移行元／移行先の各ホストＯＳ２４０の仮想スイッチ２６０に送信される。なお、移行元のホストＯＳ２４０とは、移行元ポートを有するホストＯＳ２４０である。移行先のホストＯＳ２４０とは、移行先ポートを有するホストＯＳ２４０である。
【００６７】
図６は、ミラーフィルタ管理テーブルＴＢ３の記憶内容の一例を示す説明図である。図６において、ミラーフィルタ管理テーブルＴＢ３（ＴＢ３−１〜ＴＢ３−３）は、ポートＩＤ、ＳＲＣ  ＶＭＩＤ、ＤＳＴ  ＶＭＩＤ、送信フラグおよび受信フラグのフィールドを有する。各フィールドに情報を設定することで、ミラーフィルタ情報（６１０−１，６１０−２，６２０−１，６３０−１）がレコードとして記憶される。
【００６８】
ここで、ミラーフィルタ管理テーブルＴＢ３−１は、移行元のホストＨ１の仮想スイッチＳＷ１によって用いられる。ミラーフィルタ管理テーブルＴＢ３−２は、移行先のホストＨ２の仮想スイッチＳＷ２によって用いられる。ミラーフィルタ管理テーブルＴＢ３−３は、移行先のホストＨ３の仮想スイッチＳＷ３によって用いられる。
【００６９】
ポートＩＤは、ホストＯＳ２４０の仮想スイッチ２６０が有するポートのポートＩＤである。ＳＲＣ（ｓｏｕｒｃｅ）  ＶＭＩＤは、ポートＩＤのポートに接続される仮想マシン２５０のＶＭＩＤである。ＤＳＴ（ｄｅｓｔｉｎａｔｉｏｎ）  ＶＭＩＤは、ポートＩＤのポートを介して、ＳＲＣ  ＶＭＩＤの仮想マシン２５０と通信する通信先の仮想マシン２５０のＶＭＩＤである。
【００７０】
送信フラグは、ポートＩＤのポートにおいて送信パケットをミラーリングするか否かを示す情報である。ここでは、送信パケットをミラーリングする場合に、送信フラグに「Ｔｒｕｅ」が設定され、送信パケットをミラーリングしない場合に、送信フラグに「Ｆａｌｓｅ」が設定される。
【００７１】
受信フラグは、ポートＩＤのポートにおいて受信パケットをミラーリングするか否かを示す情報である。ここでは、受信パケットをミラーリングする場合に、受信フラグに「Ｔｒｕｅ」が設定され、受信パケットをミラーリングしない場合に、受信フラグに「Ｆａｌｓｅ」が設定される。
【００７２】
各ミラーフィルタ管理テーブルＴＢ３（ＴＢ３−１〜ＴＢ３−３）には、例えば、移行元ポートのポートミラー方向を特定する情報が含まれることにしてもよい。
【００７３】
例えば、ミラーフィルタ情報６１０−１は、仮想マシンＶＭ２に接続されたポートＰ２において、仮想マシンＶＭ３への送信パケット、および仮想マシンＶＭ３からの受信パケットをミラーリングすることを示す。また、ミラーフィルタ情報６２０−１は、仮想マシンＶＭ３に接続されたポートＰ３において、仮想マシンＶＭ２への送信パケット、および仮想マシンＶＭ２からの受信パケットをミラーリングしないことを示す。
【００７４】
なお、各ミラーフィルタ管理テーブルＴＢ３（ＴＢ３−１〜ＴＢ３−３）には、例えば、移行元ポートのポートミラー方向を特定する情報が含まれることにしてもよい。ただし、初期状態では、例えば、ミラーフィルタ管理テーブルＴＢ３−１の送信フラグおよび受信フラグから移行元ポートのポートミラー方向を特定することができる。
【００７５】
また、ミラーフィルタ管理テーブルＴＢ３には、例えば、ミラーポートの切替対象となるポート以外のポートのミラーフィルタ情報についても記憶されることにしてもよい。また、ミラーポートの切替対象となるポート以外のポートのミラーフィルタ情報については、各ホストＯＳ２４０においてミラーフィルタ管理テーブルＴＢ３とは別テーブルで管理することにしてもよい。
【００７６】
（管理装置２０１の機能的構成例）
図７は、管理装置２０１の機能的構成例を示すブロック図である。図７において、管理装置２０１は、受付部７０１と、切替管理部７０２と、通知部７０３と、を含む構成である。受付部７０１〜通知部７０３は、ポートミラーマネージャＭが有する機能部である。受付部７０１〜通知部７０３は制御部となる機能であり、具体的には、例えば、図３に示した管理装置２０１のメモリ３０２、ディスク３０５などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、管理装置２０１のメモリ３０２、ディスク３０５などの記憶装置に記憶される。
【００７７】
受付部７０１は、移行元ポートを指定したミラーポートの切替指示を受け付ける。ここで、ミラーポートの切替指示は、ミラーポートを切り替えるための指示である。ミラーポートの切替指示には、例えば、移行元ポートのポートＩＤが含まれる。具体的には、例えば、受付部７０１は、管理者端末２０２からミラーポートの切替指示を受信することにより、ミラーポートの切替指示を受け付ける。
【００７８】
なお、ミラーポートの切替指示には、例えば、移行先ポートのポートＩＤが含まれていてもよい。すなわち、受付部７０１は、移行元ポートと移行先ポートとを指定したミラーポートの切替指示を受け付けることにしてもよい。
【００７９】
切替管理部７０２は、ミラーポート管理テーブルＴＢ１とポート間接続管理テーブルＴＢ２とに基づいて、ミラーフィルタ管理テーブルＴＢ３を生成する。具体的には、例えば、切替管理部７０２は、ミラーポートの切替指示を受け付けたことに応じて、ポート間接続管理テーブルＴＢ２から、当該切替指示に含まれる移行元ポートのポートＩＤに対応する移行先ポートのポートＩＤを検索する。すなわち、移行先ポートは、移行元ポートと接続関係を有するポートである。
【００８０】
一例として、ミラーポートの切替指示に、移行元ポートのポートＩＤ「Ｐ２」が含まれる場合を想定する。この場合、図５の例では、ポート間接続管理テーブルＴＢ２から、移行元ポートのポートＩＤ「Ｐ２」に対応する移行先ポートのポートＩＤ「Ｐ３，Ｐ４」が検索される。
【００８１】
なお、ここではポート間接続管理テーブルＴＢ２から移行先ポートを特定することにしたが、これに限らない。例えば、ミラーポートの切替指示に移行先ポートのポートＩＤが含まれる場合、切替管理部７０２は、当該ポートＩＤを、移行先ポートのポートＩＤとして特定することにしてもよい。
【００８２】
つぎに、切替管理部７０２は、ミラーポート管理テーブルＴＢ１を参照して、移行元ポートのポートミラー方向を特定する。そして、切替管理部７０２は、特定した移行元ポートのポートミラー方向に基づいて、移行元ポートのミラーフィルタ管理テーブルＴＢ３を生成する。上述した例では、移行元ポートＰ２のミラーフィルタ管理テーブルＴＢ３−１（図６参照）が生成される。
【００８３】
より詳細に説明すると、例えば、ミラーフィルタ管理テーブルＴＢ３−１のポートＩＤには、移行元ポートＰ２のポートＩＤ「Ｐ２」が設定される。ＳＲＣ  ＶＭＩＤには、移行元ポートＰ２に接続された仮想マシンＶＭ２のＶＭＩＤ「ＶＭ２」が設定される。ＤＳＴ  ＶＭＩＤには、移行先ポートＰ３，Ｐ４に接続された仮想マシンＶＭ３，ＶＭ４のＶＭＩＤ「ＶＭ３，ＶＭ４」がそれぞれ設定される。また、移行元ポートＰ２のポートミラー方向は「双方向」のため、送信フラグおよび受信フラグに「Ｔｒｕｅ」がそれぞれ設定される。この結果、ミラーフィルタ情報６１０−１，６１０−２がレコードとしてミラーフィルタ管理テーブルＴＢ３−１に記憶される。
【００８４】
また、切替管理部７０２は、移行先ポートのミラーフィルタ管理テーブルＴＢ３を生成する。上述した例では、移行先ポートＰ３，Ｐ４のミラーフィルタ管理テーブルＴＢ３−２，ＴＢ３−３（図６参照）がそれぞれ生成される。
【００８５】
より詳細に説明すると、例えば、ミラーフィルタ管理テーブルＴＢ３−２のポートＩＤに、移行先ポートＰ３のポートＩＤ「Ｐ３」が設定される。ＳＲＣ  ＶＭＩＤに、移行先ポートＰ３に接続された仮想マシンＶＭ３のＶＭＩＤ「ＶＭ３」が設定される。ＤＳＴ  ＶＭＩＤに、移行元ポートＰ２に接続された仮想マシンＶＭ２のＶＭＩＤ「ＶＭ２」が設定される。送信フラグおよび受信フラグには、初期設定として「Ｆａｌｓｅ」がそれぞれ設定される。この結果、ミラーフィルタ情報６２０−１がレコードとしてミラーフィルタ管理テーブルＴＢ３−２に記憶される。なお、ミラーフィルタ情報６２０−１には、例えば、ミラーポートを切り替える前の移行元ポートＰ２のポートミラー方向「双方向」を特定する情報が含まれることにしてもよい。
【００８６】
切替管理部７０２は、生成した移行元ポートのミラーフィルタ管理テーブルＴＢ３を、移行元ポートを有する仮想スイッチ２６０に送信する。移行元ポートを有する仮想スイッチ２６０（ホストＯＳ２４０）は、例えば、ポート間接続管理テーブルＴＢ２から特定される。具体的には、例えば、切替管理部７０２は、生成した移行元ポートＰ２のミラーフィルタ管理テーブルＴＢ３−１を、移行元ポートＰ２を有する仮想スイッチＳＷ１（ホストＨ１）に送信する。
【００８７】
また、切替管理部７０２は、生成した移行先ポートのミラーフィルタ管理テーブルＴＢ３を、移行先ポートを有する仮想スイッチ２６０に送信する。移行先ポートを有する仮想スイッチ２６０のホストＯＳ２４０は、例えば、ポート間接続管理テーブルＴＢ２から特定される。具体的には、例えば、切替管理部７０２は、生成した移行先ポートＰ３，Ｐ４のミラーフィルタ管理テーブルＴＢ３−２，ＴＢ３−３を、移行先ポートＰ３，Ｐ４を有する仮想スイッチＳＷ２，ＳＷ３（ホストＨ２，Ｈ３）にそれぞれ送信する。
【００８８】
以下の説明では、移行元ポートを有する仮想スイッチ２６０を「移行元スイッチ」と表記する場合がある。また、移行先ポートを有する仮想スイッチ２６０を「移行先スイッチ」と表記する場合がある。
【００８９】
通知部７０３は、移行元ポートと移行先ポートとを特定するミラー切替指示ＣＩを移行元スイッチに通知する。ここで、ミラー切替指示ＣＩは、ミラーポートを移行元ポートから移行先ポートに切り替えるための指示である。ミラー切替指示ＣＩには、例えば、移行元ポートのポートＩＤと移行先ポートのポートＩＤとが含まれる。
【００９０】
具体的には、例えば、通知部７０３は、移行元スイッチおよび移行先スイッチそれぞれにミラーフィルタ管理テーブルＴＢ３を送信したことに応じて、移行元スイッチに対してミラー切替指示ＣＩを送信する。より具体的には、例えば、通知部７０３は、リモート関数呼び出しにより、移行先ポートのポートＩＤを通知先パラメータとして、移行先スイッチの機能部（例えば、後述の図８に示す通知生成部８０１）を呼び出すことにしてもよい。
【００９１】
（情報処理装置ＰＭｉの機能的構成例）
図８は、情報処理装置ＰＭｉの機能的構成例を示すブロック図である。図８において、情報処理装置ＰＭｉは、通知生成部８０１と、送信処理部８０２と、設定変更部８０３と、受信処理部８０４と、ミラーフィルタ部８０５と、ミラーパケット生成部８０６と、を含む構成である。通知生成部８０１〜ミラーパケット生成部８０６は、仮想スイッチ２６０が有する機能部である。通知生成部８０１〜ミラーパケット生成部８０６は制御部となる機能であり、具体的には、例えば、図３に示した情報処理装置ＰＭｉのメモリ３０２、ディスク３０５などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、情報処理装置ＰＭｉのメモリ３０２、ディスク３０５などの記憶装置に記憶される。
【００９２】
・移行元スイッチ
まず、仮想スイッチ２６０が移行元スイッチとして動作する場合について説明する。移行元スイッチは、ミラーポートを切り替える際の移行元ポートを有する仮想スイッチ２６０である。
【００９３】
通知生成部８０１は、移行先スイッチに対するミラー切替通知ＣＮを生成する。具体的には、例えば、通知生成部８０１は、ポートミラーマネージャＭからのミラー切替指示ＣＩに応じて、当該ミラー切替指示ＣＩから特定される移行先ポートを有する移行先スイッチに対するミラー切替通知ＣＮを生成する。
【００９４】
移行先スイッチに対するミラー切替通知ＣＮは、移行先ポートにおけるミラー設定の変更を要求する通知であり、例えば、図１で説明した「第１ミラー切替通知」に相当する。ミラー切替通知ＣＮには、例えば、ミラー切替通知ＣＩに含まれる移行元ポートのポートＩＤと移行先ポートのポートＩＤとが含まれる。また、ミラー切替通知ＣＮには、モニタポートＩＤが含まれていてもよい。モニタポートＩＤは、情報処理装置ＰＭｍのキャプチャツールＣにつながるポートのポートＩＤである。
【００９５】
ここで、図９を用いて、ミラー切替通知ＣＮのフォーマット例について説明する。
【００９６】
図９は、ミラー切替通知ＣＮのフォーマット例を示す説明図（その１）である。図９において、ミラー切替通知ＣＮは、ヘッダ部９１０と、ペイロード部９２０と、を含む。ヘッダ部９１０は、Ｅｔｈｅｒヘッダ、ＩＰヘッダおよびＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）ヘッダを含む。
【００９７】
ペイロード部９２０は、ミラー切替通知ＣＮを識別する識別子Ａを含む。識別子Ａによれば、ミラー切替通知ＣＮを通常のパケットと区別することができる。移行元ポートのポートＩＤと移行先ポートのポートＩＤは、例えば、ヘッダ部９１０（ＴＣＰヘッダの送信元ポート番号、宛先ポート番号）に含まれる。ただし、ペイロード部９２０に、移行元ポートのポートＩＤ、移行先ポートのポートＩＤ、およびモニタポートＩＤが含まれることにしてもよい。
【００９８】
図８の説明に戻り、送信処理部８０２は、データの送信処理を行う。具体的には、例えば、送信処理部８０２は、通知生成部８０１によって生成されたミラー切替通知ＣＮを移行先スイッチに対して送信する。より詳細に説明すると、例えば、まず、通知生成部８０１は、生成したミラー切替通知ＣＮを共有メモリ２９０（図２参照）の送信キューに書き込む。
【００９９】
そして、通知生成部８０１は、共有メモリ２９０上のリングバッファＴＸに送信通知を書き込む。送信通知には、例えば、共有メモリ２９０の書込先アドレスが含まれる。この場合、送信処理部８０２は、リングバッファＴＸへの送信通知の書き込みを検出すると、共有メモリ２９０の書込先アドレスからミラー切替通知ＣＮを読み出して、移行先スイッチに対するミラー切替通知ＣＮの送信処理を行う。
【０１００】
設定変更部８０３は、移行元ポートにおけるミラー設定を変更する。具体的には、例えば、設定変更部８０３は、移行先スイッチに対してミラー切替通知ＣＮが送信された場合に、移行元ポートにおける移行先ポートへの送信パケットのミラー設定を解除する。より具体的には、例えば、設定変更部８０３は、ミラーフィルタ管理テーブルＴＢ３内の該当レコードの送信フラグに「Ｆａｌｓｅ」を設定する。
【０１０１】
ここで、ミラーフィルタ管理テーブルＴＢ３内の該当レコードとは、移行元ポートと移行先ポートとの組み合わせに対応するレコードである。例えば、移行元スイッチＳＷ１の移行元ポートＰ２における移行先ポートＰ３への送信パケットのミラー設定を解除する場合を想定する。この場合、設定変更部８０３は、図６に示したミラーフィルタ管理テーブルＴＢ３−１内のミラーフィルタ情報６１０−１の送信フラグに「Ｆａｌｓｅ」を設定する。
【０１０２】
これにより、移行元スイッチＳＷ１において、移行先スイッチＳＷ２へミラー切替通知ＣＮを送信したタイミングで、それ以降に移行元ポートＰ２から移行先ポートＰ３へ送信されるパケットをミラーリング対象から除外することができる。
【０１０３】
ただし、設定変更部８０３は、移行元ポートにおけるポートミラー方向が入力方向（受信）のみの場合は、送信パケットのミラー設定を解除する処理を行わない。移行元ポートにおけるポートミラー方向は、例えば、ミラーフィルタ管理テーブルＴＢ３内の該当レコードの送信フラグおよび受信フラグから特定される。具体的には、例えば、設定変更部８０３は、ミラーフィルタ管理テーブルＴＢ３内の該当レコードの送信フラグに「Ｆａｌｓｅ」が設定されている場合に、移行元ポートにおけるポートミラー方向が入力方向（受信）のみであると判断することにしてもよい。
【０１０４】
また、送信処理部８０２は、移行元ポートからミラー切替通知ＣＮの次に送信されるパケットの送信処理を、設定変更部８０３による送信パケットのミラー設定を解除する処理の完了後に実行することにしてもよい。すなわち、送信処理部８０２は、ポートミラーの設定変更（ここでは、送信パケットのミラー設定の解除）が完了するまで、次のパケットの送信を停止することにしてもよい。
【０１０５】
これにより、ミラー切替通知ＣＮが送信されてからポートミラーの設定変更が完了するまでの間に、移行先スイッチに対して次のパケットが送信されるのを防ぐことができる。なお、送信処理部８０２は、例えば、設定変更部８０３に問い合わせる、あるいは、仮想スイッチ２６０におけるポートミラーの設定状態を管理するデータベースを参照して、ポートミラーの設定変更の完了を判断することにしてもよい。
【０１０６】
受信処理部８０４は、データの受信処理を行う。具体的には、例えば、受信処理部８０４は、図２に示した共有メモリ２９０上のリングバッファＲＸへの受信通知（書込先アドレス）の書き込みを検出すると、共有メモリ２９０の書込先アドレスからパケットを読み出す。ここで、読み出したパケットが、通常パケットの場合は、受信処理部８０４は、通常パケットの受信処理を行う。
【０１０７】
一方、読み出したパケットが、移行先スイッチからのミラー切替通知ＣＮの場合は、受信処理部８０４は、ミラー切替通知ＣＮを設定変更部８０３に通知する。移行先スイッチからのミラー切替通知ＣＮは、移行先ポートにおけるミラー設定の変更を示す通知であり、例えば、図１で説明した「第２ミラー切替通知」に相当する。
【０１０８】
設定変更部８０３は、移行先スイッチからのミラー切替通知ＣＮに応じて、移行元ポートにおける移行先ポートからの受信パケットのミラー設定を解除する。具体的には、例えば、設定変更部８０３は、ミラーフィルタ管理テーブルＴＢ３内の該当レコードの受信フラグに「Ｆａｌｓｅ」を設定する。
【０１０９】
例えば、移行元スイッチＳＷ１の移行元ポートＰ２における移行先ポートＰ３からの受信パケットのミラー設定を解除する場合を想定する。この場合、設定変更部８０３は、図６に示したミラーフィルタ管理テーブルＴＢ３−１内のミラーフィルタ情報６１０−１の受信フラグに「Ｆａｌｓｅ」を設定する。
【０１１０】
これにより、移行元スイッチＳＷ１において、移行先スイッチＳＷ２からのミラー切替通知ＣＮを受信したタイミングで、それ以降に移行元ポートＰ２において移行先ポートＰ３から受信されるパケットをミラーリング対象から除外することができる。
【０１１１】
ただし、設定変更部８０３は、移行元ポートにおけるポートミラー方向が出力方向（送信）のみの場合は、受信パケットのミラー設定を解除する処理を行わない。具体的には、例えば、設定変更部８０３は、ミラーフィルタ管理テーブルＴＢ３内の該当レコードの受信フラグに「Ｆａｌｓｅ」が設定されている場合に、移行元ポートにおけるポートミラー方向が出力方向（送信）のみであると判断することにしてもよい。
【０１１２】
また、設定変更部８０３は、ミラーポートの切り替えが完了した場合、ミラーポートの切り替えが完了したことを示す切替完了通知をポートミラーマネージャＭに送信する。具体的には、例えば、設定変更部８０３は、受信パケットのミラー設定の解除が完了した場合に、ポートミラーマネージャＭに切替完了通知を送信することにしてもよい。
【０１１３】
ミラーフィルタ部８０５は、移行元スイッチのポートを通過するパケットがミラーリング対象であるか否かを判断する。具体的には、例えば、ミラーフィルタ部８０５は、移行元ポートを通過するパケットを取得する。つぎに、ミラーフィルタ部８０５は、取得したパケットのヘッダ情報からアドレス（送信元アドレス、宛先アドレス）を取得する。
【０１１４】
そして、ミラーフィルタ部８０５は、ミラーフィルタ管理テーブルＴＢ３を参照して、移行元ポートのポートＩＤとアドレス（送信元アドレス、宛先アドレス）との組み合わせに対応するポートミラー方向を特定する。なお、アドレス（送信元アドレス、宛先アドレス）は、例えば、仮想マシンのＶＭＩＤに相当する。
【０１１５】
例えば、ミラーフィルタ部８０５は、ポートＩＤとアドレスとの組み合わせに対応するミラーフィルタ情報の送信フラグ、受信フラグがともに「Ｔｒｕｅ」の場合は、ポートミラー方向「双方向」を特定する。また、ミラーフィルタ部８０５は、送信フラグが「Ｔｒｕｅ」、受信フラグが「Ｆａｌｓｅ」の場合は、ポートミラー方向「出力」を特定する。また、ミラーフィルタ部８０５は、送信フラグが「Ｆａｌｓｅ」、受信フラグが「Ｔｒｕｅ」の場合は、ポートミラー方向「入力」を特定する。また、ミラーフィルタ部８０５は、送信フラグ、受信フラグがともに「Ｆａｌｓｅ」の場合は、ポートミラー方向「−（Ｎｕｌｌ）」を特定する。ポートミラー方向「−」は、ミラーリングしないことを示す。
【０１１６】
つぎに、ミラーフィルタ部８０５は、取得したパケットの方向が、特定したポートミラー方向と一致するか否かを判断する。ここで、パケットの方向がポートミラー方向と一致する場合、ミラーフィルタ部８０５は、取得したパケットがミラーリング対象であると判断する。そして、ミラーフィルタ部８０５は、取得したパケットをミラーパケット生成部８０６に出力する。一方、パケットの方向がポートミラー方向と一致しない場合、ミラーフィルタ部８０５は、取得したパケットがミラーリング対象ではないと判断する。この場合、ミラーフィルタ部８０５は、取得したパケットをミラーパケット生成部８０６に出力しない。
【０１１７】
なお、ミラーフィルタ部８０５は、移行元ポート以外のポートについても、移行元ポートと同様に処理することにしてもよい。この際、ミラーポートの切替対象となるポート以外のポートのミラーフィルタ情報が、ミラーフィルタ管理テーブルＴＢ３とは別テーブルで管理されている場合は、ミラーフィルタ部８０５は、別テーブルも参照して、ポートミラー方向を特定する。
【０１１８】
ミラーパケット生成部８０６は、ミラーフィルタ部８０５から出力されるパケットをコピーしてミラーパケットを生成する。この際、ミラーパケット生成部８０６は、例えば、ミラーパケットの宛先のポートＩＤに、モニタポートＩＤを設定する。そして、ミラーパケット生成部８０６は、生成したミラーパケットを共有メモリ２９０の送信キューに書き込み、共有メモリ２９０上のリングバッファＴＸに送信通知を書き込む。
【０１１９】
この結果、送信処理部８０２が、リングバッファＴＸへの送信通知の書き込みを検知すると、共有メモリ２９０の書込先アドレスからミラーパケットを読み出して、キャプチャツールＣに対するミラーパケットの送信処理を行う。
【０１２０】
・移行先スイッチ
つぎに、仮想スイッチ２６０が移行先スイッチとして動作する場合について説明する。移行先スイッチは、ミラーポートを切り替える際の移行先ポートを有する仮想スイッチ２６０である。ただし、移行元スイッチにおいて説明した箇所と同様の箇所については説明を省略する場合がある。
【０１２１】
受信処理部８０４は、データの受信処理を行う。具体的には、例えば、受信処理部８０４は、共有メモリ２９０上のリングバッファＲＸへの受信通知（書込先アドレス）の書き込みを検出すると、共有メモリ２９０の書込先アドレスからパケットを読み出す。
【０１２２】
ここで、読み出したパケットが、通常パケットの場合は、受信処理部８０４は、通常パケットの受信処理を行う。一方、読み出したパケットが、移行元スイッチからのミラー切替通知ＣＮの場合は、受信処理部８０４は、移行元スイッチからのミラー切替通知ＣＮを設定変更部８０３に通知する。
【０１２３】
設定変更部８０３は、移行先ポートにおけるミラー設定を変更する。具体的には、例えば、設定変更部８０３は、移行元スイッチからのミラー切替通知ＣＮに応じて、移行先ポートにおける移行元ポートからの受信パケットのミラー設定を行う。より具体的には、例えば、設定変更部８０３は、ミラーフィルタ管理テーブルＴＢ３内の該当レコードの受信フラグに「Ｔｒｕｅ」を設定する。そして、設定変更部８０３は、移行元スイッチからのミラー切替通知ＣＮを通知生成部８０１に出力する。
【０１２４】
例えば、移行先スイッチＳＷ２の移行先ポートＰ３における移行元ポートＰ１からの受信パケットのミラー設定を行う場合を想定する。この場合、設定変更部８０３は、図６に示したミラーフィルタ管理テーブルＴＢ３−２内のミラーフィルタ情報６２０−１の受信フラグに「Ｔｒｕｅ」を設定する。
【０１２５】
これにより、移行先スイッチＳＷ２において、移行元スイッチＳＷ１からのミラー切替通知ＣＮを受信したタイミングで、それ以降に移行先ポートＰ３において移行元ポートＰ２から受信されるパケットをミラーリング対象とすることができる。
【０１２６】
ただし、設定変更部８０３は、移行先ポートにおけるポートミラー方向が出力方向（送信）のみの場合は、受信パケットのミラー設定を行わない。なお、移行先ポートにおけるポートミラー方向を特定する情報は、例えば、ミラーフィルタ管理テーブルＴＢ３に含まれていてもよい。移行先ポートにおけるポートミラー方向は、ミラーポートを切り替える前の移行先ポートにおけるポートミラー方向と同じである。
【０１２７】
通知生成部８０１は、移行元スイッチに対するミラー切替通知ＣＮを生成する。具体的には、例えば、通知生成部８０１は、移行元スイッチからのミラー切替通知ＣＮに応じて、当該ミラー切替通知ＣＮから特定される移行元ポートを有する移行元スイッチに対するミラー切替通知ＣＮを生成する。
【０１２８】
送信処理部８０２は、通知生成部８０１によって生成されたミラー切替通知ＣＮを移行元スイッチに対して送信する。より詳細に説明すると、例えば、まず、通知生成部８０１は、生成したミラー切替通知ＣＮを共有メモリ２９０の送信キューに書き込む。そして、通知生成部８０１は、共有メモリ２９０上のリングバッファＴＸに送信通知を書き込む。この場合、送信処理部８０２は、リングバッファＴＸへの送信通知の書き込みを検知すると、共有メモリ２９０の書込先アドレスからミラー切替通知ＣＮを読み出して、移行元スイッチに対するミラー切替通知ＣＮの送信処理を行う。
【０１２９】
設定変更部８０３は、移行元スイッチに対してミラー切替通知ＣＮが送信された場合に、移行先ポートにおける移行元ポートへの送信パケットのミラー設定を行う。より具体的には、例えば、設定変更部８０３は、ミラーフィルタ管理テーブルＴＢ３内の該当レコードの送信フラグに「Ｔｒｕｅ」を設定する。
【０１３０】
例えば、移行先スイッチＳＷ２の移行先ポートＰ３における移行元ポートＰ２への送信パケットのミラー設定を行う場合を想定する。この場合、設定変更部８０３は、図６に示したミラーフィルタ管理テーブルＴＢ３−２内のミラーフィルタ情報６２０−１の送信フラグに「Ｔｒｕｅ」を設定する。
【０１３１】
これにより、移行先スイッチＳＷ２において、移行元スイッチＳＷ１へのミラー切替通知ＣＮを送信したタイミングで、それ以降に移行先ポートＰ３から移行元ポートＰ２へ送信されるパケットをミラーリング対象とすることができる。
【０１３２】
ただし、設定変更部８０３は、移行先ポートにおけるポートミラー方向が入力方向（受信）のみの場合は、送信パケットのミラー設定を行わない。
【０１３３】
また、送信処理部８０２は、移行先ポートからミラー切替通知ＣＮの次に送信されるパケットの送信処理を、設定変更部８０３による送信パケットのミラー設定を行う処理の完了後に実行することにしてもよい。すなわち、送信処理部８０２は、ポートミラーの設定変更（ここでは、送信パケットのミラー設定）が完了するまで、次のパケットの送信を停止することにしてもよい。
【０１３４】
これにより、ミラー切替通知ＣＮが送信されてからポートミラーの設定変更が完了するまでの間に、移行元スイッチに対して次のパケットが送信されるのを防ぐことができる。
【０１３５】
ミラーフィルタ部８０５は、移行先スイッチのポートを通過するパケットがミラーリング対象であるか否かを判断する。具体的には、例えば、ミラーフィルタ部８０５は、移行先ポートを通過するパケットを取得する。つぎに、ミラーフィルタ部８０５は、取得したパケットのヘッダ情報からアドレス（送信元アドレス、宛先アドレス）を取得する。
【０１３６】
そして、ミラーフィルタ部８０５は、ミラーフィルタ管理テーブルＴＢ３を参照して、移行先ポートのポートＩＤとアドレス（送信元アドレス、宛先アドレス）との組み合わせに対応するポートミラー方向を特定する。つぎに、ミラーフィルタ部８０５は、取得したパケットの方向が、特定したポートミラー方向と一致するか否かを判断する。
【０１３７】
ここで、パケットの方向がポートミラー方向と一致する場合、ミラーフィルタ部８０５は、取得したパケットがミラーリング対象であると判断する。そして、ミラーフィルタ部８０５は、取得したパケットをミラーパケット生成部８０６に出力する。一方、パケットの方向がポートミラー方向と一致しない場合、ミラーフィルタ部８０５は、取得したパケットがミラーリング対象ではないと判断する。この場合、ミラーフィルタ部８０５は、取得したパケットをミラーパケット生成部８０６に出力しない。
【０１３８】
なお、ミラーフィルタ部８０５は、移行先ポート以外のポートについても、移行先ポートと同様に処理することにしてもよい。
【０１３９】
（パケットの追い越しを考慮したミラー切替通知ＣＮ）
つぎに、パケットの追い越しを考慮したミラー切替通知ＣＮについて説明する。移行元ポート／移行先ポート間で送受信されるパケットは、通信途中にルータ等のネットワーク機器があると、パケットの優先度などの条件で追い越しが発生することがある。このため、ミラー切替通知ＣＮが、当該ミラー切替通知ＣＮよりも後に送信されたパケットに追い越されることがある。
【０１４０】
そこで、ミラー切替通知ＣＮに、通常のパケットよりも高い優先度、例えば、最高の優先度を設定するとともに、当該ミラー切替通知ＣＮの直前にポート（移行元ポートまたは移行先ポート）から送信されたパケットの送信順序を示す情報を含めることにしてもよい。パケットの送信順序を示す情報としては、例えば、ＴＣＰヘッダのシーケンス番号を用いることができる。
【０１４１】
ここで、図１０を用いて、直前に送信されたパケットのシーケンス番号を含むミラー切替通知ＣＮのフォーマット例について説明する。
【０１４２】
図１０は、ミラー切替通知ＣＮのフォーマット例を示す説明図（その２）である。図１０において、ミラー切替通知ＣＮは、ヘッダ部１０１０と、ペイロード部１０２０と、を含む。ヘッダ部１０１０は、Ｅｔｈｅｒヘッダ、ＩＰヘッダおよびＴＣＰヘッダを含む。ペイロード部１０２０は、ミラー切替通知ＣＮを識別する識別子Ａと、ミラー切替通知ＣＮの直前に送信されたパケットのシーケンス番号Ｂと、を含む。
【０１４３】
シーケンス番号Ｂは、ミラー切替通知ＣＮの直前にポート（移行元ポートまたは移行先ポート）から送信されたパケットの送信順序を示す情報であり、例えば、当該パケットのＴＣＰヘッダに含まれるシーケンス番号である。
【０１４４】
この場合、移行元スイッチは、移行元ポートにおいて、ミラー切替通知ＣＮよりも後に受信された受信パケットのうち、移行先ポートから送信された送信順序を示すシーケンス番号がシーケンス番号Ｂ以下である受信パケットのミラーリングを行う。これにより、移行先スイッチからのミラー切替通知ＣＮに応じて受信パケットのミラー設定を解除したとしても、通信途中でミラー切替通知ＣＮに追い越されたパケットについてはミラーリングすることができ、ミラー漏れ（パケットロス）を防ぐことができる。
【０１４５】
また、移行先スイッチは、移行先ポートにおいて、ミラー切替通知ＣＮよりも後に受信された受信パケットのうち、移行元ポートから送信された送信順序を示すシーケンス番号がシーケンス番号Ｂ以下である受信パケットをミラーリング対象から除外する。これにより、移行元スイッチからのミラー切替通知ＣＮに応じて受信パケットのミラー設定を行ったとしても、通信途中でミラー切替通知ＣＮに追い越されたパケットについてはミラーリング対象から除外することができ、ミラーパケットの重複を防ぐことができる。
【０１４６】
ここで、図１１を用いて、移行元スイッチから移行先スイッチに送信されたパケットの追い越しが発生した場合のミラーリングの処理例について説明する。
【０１４７】
図１１は、パケットの追い越しが発生した場合のミラーリングの処理例を示す説明図である。図１１において、送信側（移行元スイッチ）から、「パケットＰ１⇒パケットＰ２⇒パケットＰ３⇒ミラー切替通知ＣＮ⇒パケットＰ４」の順にパケットが受信側（移行先スイッチ）に送信されている。
【０１４８】
図１１中、「Ｓｅｑ．＃」は、移行元スイッチの移行元ポートから送信されたパケットの送信順序を示すシーケンス番号である（＃＝１，２，３，４）。ミラー切替通知ＣＮには、当該ミラー切替通知ＣＮの直前に送信されたパケットＰ３のシーケンス番号Ｂ「Ｓｅｑ．３」が含まれている。
【０１４９】
ここでは、パケットＰ３が通信途中でミラー切替通知ＣＮに追い越された場合を想定する。このため、本来は先に受信側（移行先スイッチ）に到達すべきパケットＰ３が、ミラー切替通知ＣＮよりも後に受信側（移行先スイッチ）に到達している。
【０１５０】
この場合、受信側（移行先スイッチ）は、送信側（移行元スイッチ）からのミラー切替通知ＣＮを受信したタイミングで、受信パケットのミラー設定を行う。ただし、受信側（移行先スイッチ）は、ミラー切替通知ＣＮよりも後に受信されたパケットについては、ミラー切替通知ＣＮに含まれるシーケンス番号「Ｓｅｑ．３」との比較を行う。
【０１５１】
具体的には、受信側（移行先スイッチ）は、ミラー切替通知ＣＮよりも後に受信されたパケットＰ３のシーケンス番号「Ｓｅｑ．３」と、ミラー切替通知ＣＮに含まれるシーケンス番号Ｂ「Ｓｅｑ．３」との比較を行う。ここでは、パケットＰ３のシーケンス番号「Ｓｅｑ．３」がシーケンス番号Ｂ「Ｓｅｑ．３」以下である。このため、受信側（移行先スイッチ）は、パケットＰ３をミラーリング対象から除外する。
【０１５２】
また、受信側（移行先スイッチ）は、ミラー切替通知ＣＮよりも後に受信されたパケットＰ４のシーケンス番号「Ｓｅｑ．３」と、ミラー切替通知ＣＮに含まれるシーケンス番号Ｂ「Ｓｅｑ．３」との比較を行う。ここでは、パケットＰ４のシーケンス番号「Ｓｅｑ．４」がシーケンス番号Ｂ「Ｓｅｑ．３」より大きい。このため、受信側（移行先スイッチ）は、パケットＰ４をミラーリング対象とする。
【０１５３】
（ポート切替処理の具体例）
つぎに、図１２および図１３を用いて、ポート切替処理の具体例について説明する。
【０１５４】
図１２は、ＶＭ間の接続関係の一例を示す説明図である。図１２において、ホストＨ１と、ホストＨ２と、ホストＨ３と、ホストＨｍと、管理装置２０１と、が示されている。ホストＨ２上では、仮想マシンＶＭ３が動作している。ホストＨ３上では、仮想マシンＶＭ４が動作している。ホストＨｍ上では、キャプチャツールＣが動作している。
【０１５５】
ここで、仮想マシンＶＭ１は、ポートＰ１を介して、仮想マシンＶＭ３と通信する。仮想マシンＶＭ２は、ポートＰ２を介して、仮想マシンＶＭ３と通信する。また、仮想マシンＶＭ２は、ポートＰ２を介して、仮想マシンＶＭ４と通信する。仮想マシンＶＭ３は、ポートＰ３を介して、仮想マシンＶＭ１および仮想マシンＶＭ２と通信する。仮想マシンＶＭ４は、ポートＰ４を介して、仮想マシンＶＭ２と通信する。
【０１５６】
また、ポートＰ２は、ミラーポートである。具体的には、仮想スイッチＳＷ１は、ポートＰ２において、ＶＭ２とＶＭ３との間で送受信されるパケットのミラーリングを行っている。また、仮想スイッチＳＷ１は、ポートＰ２において、ＶＭ２とＶＭ４との間で送受信されるパケットのミラーリングを行っている。
【０１５７】
以下、図１３を用いて、ミラーポートをポートＰ２からポートＰ３，Ｐ４にそれぞれ切り替える場合を例に挙げて、各モジュール（ポートミラーマネージャＭ、仮想スイッチＳＷ１〜ＳＷ３）の動作例について説明する。
【０１５８】
図１３は、ミラーポートを切り替える際の各モジュールの動作例を示すシーケンス図である。（１３−１）ポートミラーマネージャＭは、管理者端末２０２からミラーポートの切替指示に応じて、各ホストＨ１〜Ｈ３の仮想スイッチＳＷ１〜ＳＷ３に、ミラーフィルタ管理テーブルＴＢ３−１〜ＴＢ３−３（例えば、図６参照）をそれぞれ送信する。
【０１５９】
この結果、各仮想スイッチＳＷ１〜ＳＷ３において、ミラーフィルタ管理テーブルＴＢ３−１〜ＴＢ３−３が格納される。そして、各仮想スイッチＳＷ１〜ＳＷ３からポートミラーマネージャＭに対して、ミラーフィルタ管理テーブルＴＢ３−１〜ＴＢ３−３の格納処理が完了したことを示す完了応答が送信される。図１３中、点線矢印は各種処理の完了応答を示す。
【０１６０】
（１３−２）ポートミラーマネージャＭは、ミラー切替指示ＣＩを仮想スイッチＳＷ１に通知する。ミラー切替指示ＣＩは、ミラーポートを、ポートＰ２からポートＰ３，Ｐ４にそれぞれ切り替えるための指示である。
【０１６１】
（１３−３）仮想スイッチＳＷ１は、ポートミラーマネージャＭからのミラー切替指示ＣＩに応じて、移行先ポートＰ３を有する仮想スイッチＳＷ２にミラー切替通知ＣＮを送信する。
【０１６２】
（１３−４）仮想スイッチＳＷ２は、仮想スイッチＳＷ１からのミラー切替通知ＣＮに応じて、移行先ポートＰ３における移行元ポートＰ２からの受信パケットのミラー設定を行う。
【０１６３】
（１３−５）仮想スイッチＳＷ１は、仮想スイッチＳＷ２に対してミラー切替通知ＣＮを送信したことに応じて、移行元ポートＰ２における移行先ポートＰ３への送信パケットのミラー設定を解除する。
【０１６４】
（１３−６）仮想スイッチＳＷ２は、移行先ポートＰ３における移行元ポートＰ２からの受信パケットのミラー設定が完了すると、移行元ポートＰ２を有する仮想スイッチＳＷ１にミラー切替通知ＣＮを送信する。
【０１６５】
（１３−７）仮想スイッチＳＷ２は、仮想スイッチＳＷ１に対してミラー切替通知ＣＮを送信したことに応じて、移行先ポートＰ３における移行元ポートＰ２への送信パケットのミラー設定を行う。
【０１６６】
（１３−８）仮想スイッチＳＷ１は、仮想スイッチＳＷ２からのミラー切替通知ＣＮを受信したことに応じて、移行元ポートＰ２における移行先ポートＰ３からの受信パケットのミラー設定を解除する。
【０１６７】
（１３−９）仮想スイッチＳＷ１は、移行先ポートＰ４を有する仮想スイッチＳＷ３にミラー切替通知ＣＮを送信する。
【０１６８】
（１３−１０）仮想スイッチＳＷ３は、仮想スイッチＳＷ１からのミラー切替通知ＣＮに応じて、移行先ポートＰ４における移行元ポートＰ２からの受信パケットのミラー設定を行う。
【０１６９】
（１３−１１）仮想スイッチＳＷ１は、仮想スイッチＳＷ３に対してミラー切替通知ＣＮを送信したことに応じて、移行元ポートＰ２における移行先ポートＰ４への送信パケットのミラー設定を解除する。
【０１７０】
（１３−１２）仮想スイッチＳＷ３は、移行先ポートＰ４における移行元ポートＰ２からの受信パケットのミラー設定が完了すると、移行元ポートＰ２を有する仮想スイッチＳＷ１にミラー切替通知ＣＮを送信する。
【０１７１】
（１３−１３）仮想スイッチＳＷ３は、仮想スイッチＳＷ１に対してミラー切替通知ＣＮを送信したことに応じて、移行先ポートＰ４における移行元ポートＰ２への送信パケットのミラー設定を行う。
【０１７２】
（１３−１４）仮想スイッチＳＷ１は、仮想スイッチＳＷ３からのミラー切替通知ＣＮを受信したことに応じて、移行元ポートＰ２における移行先ポートＰ４からの受信パケットのミラー設定を解除する。そして、仮想スイッチＳＷ１は、ミラーポートの切り替えが完了したことを示す完了応答をポートミラーマネージャＭに送信する。
【０１７３】
これにより、ミラーポートをポートＰ２からポートＰ３，Ｐ４にそれぞれ切り替えることができる。
【０１７４】
ここで、図１２に示した仮想マシンＶＭ２と仮想マシンＶＭ３との間で送受信されるパケットを例に挙げて、ミラー設定の変遷例について説明する。ただし、ここでは、パケットの追い越しやミラー切替通知ＣＮのロスがない場合を想定する。
【０１７５】
図１４および図１５は、仮想マシン間で送受信されるパケットの流れを示す説明図である。図１４および図１５において、マークｍｋ１は、移行元ポートＰ２（図１２参照）におけるミラー設定の状態を示す。また、マークｍｋ２は、移行先ポートＰ３（図１２参照）におけるミラー設定の状態を示す。
【０１７６】
マークｍｋ１，ｍｋ２は、丸印を二等分した図形である。半円が白塗りの場合は、ミラー設定がＯＮの状態を示す。半円が黒塗りの場合は、ミラー設定がＯＦＦの状態を示す。右側の半円は、仮想マシンＶＭ２から仮想マシンＶＭ３に送信されるパケットのミラー設定の状態を示す。左側の半円は、仮想マシンＶＭ３から仮想マシンＶＭ２に送信されるパケットのミラー設定の状態を示す。
【０１７７】
（１４−１）において、マークｍｋ１の右側の半円は白塗りである。このため、仮想マシンＶＭ２から仮想マシンＶＭ３に送信されるパケット１は、移行元ポートＰ２においてミラーリングされてキャプチャツールＣに送られる。
【０１７８】
（１４−２）において、マークｍｋ１の右側の半円は白塗りである。このため、仮想マシンＶＭ２から仮想マシンＶＭ３に送信されるパケット２は、移行元ポートＰ２においてミラーリングされてキャプチャツールＣに送られる。
【０１７９】
（１４−３）において、仮想マシンＶＭ２側（仮想スイッチＳＷ１）から仮想マシンＶＭ３側（仮想スイッチＳＷ３）にミラー切替通知ＣＮが送信されている。
【０１８０】
（１４−４）において、マークｍｋ１の右側の半円は黒塗りになっている。すなわち、ミラー切替通知ＣＮが送信されたことに応じて、移行元ポートＰ２における移行先ポートＰ３への送信パケットのミラー設定が解除されている。このため、仮想マシンＶＭ２から仮想マシンＶＭ３に送信されるパケット３はミラーリング対象から除外される。
【０１８１】
（１４−５）において、仮想マシンＶＭ３側（仮想スイッチＳＷ３）で、仮想マシンＶＭ２側（仮想スイッチＳＷ１）からのミラー切替通知ＣＮが受信されている。
【０１８２】
（１４−６）において、マークｍｋ２の右側の半円は白塗りになっている。すなわち、ミラー切替通知ＣＮが受信されたことに応じて、移行先ポートＰ３における移行元ポートＰ２からの受信パケットのミラー設定が行われている。このため、仮想マシンＶＭ２から仮想マシンＶＭ３に送信されるパケット３は、移行先ポートＰ３においてミラーリングされてキャプチャツールＣに送られる。
【０１８３】
（１５−１）において、マークｍｋ１の左側の半円は白塗りである。このため、仮想マシンＶＭ２において受信される仮想マシンＶＭ３からのパケットＡは、移行元ポートＰ２においてミラーリングされてキャプチャツールＣに送られる。
【０１８４】
（１５−２）において、仮想マシンＶＭ３側（仮想スイッチＳＷ３）から仮想マシンＶＭ２側（仮想スイッチＳＷ１）にミラー切替通知ＣＮが送信されている。
【０１８５】
（１５−３）において、マークｍｋ２の左側の半円は白塗りになっている。すなわち、ミラー切替通知ＣＮが送信されたことに応じて、移行先ポートＰ３における移行元ポートＰ３への送信パケットのミラー設定が行われている。このため、仮想マシンＶＭ３から仮想マシンＶＭ２に送信されるパケットＤは、移行先ポートＰ３においてミラーリングされてキャプチャツールＣに送られる。
【０１８６】
（１５−４）において、仮想マシンＶＭ２側（仮想スイッチＳＷ１）で、仮想マシンＶＭ３側（仮想スイッチＳＷ３）からのミラー切替通知ＣＮが受信されている。
【０１８７】
（１５−５）において、マークｍｋ１の左側の半円は黒塗りになっている。すなわち、ミラー切替通知ＣＮが受信されたことに応じて、移行元ポートＰ２における移行先ポートＰ３からの受信パケットのミラー設定が解除されている。このため、仮想マシンＶＭ２で受信されるパケットＤはミラーリング対象から除外される。
【０１８８】
このように、ミラー切替通知ＣＮの送受信のタイミングで、移行元ポートＰ２および移行先ポートＰ３のミラー設定を変更することで、パケットのロスや重複をさせることなく、ミラーポートを切り替えることができる。
【０１８９】
（管理装置２０１のミラーポート切替管理処理手順）
つぎに、図１６を用いて、管理装置２０１のミラーポート切替管理処理手順について説明する。ミラーポート切替管理処理は、管理装置２０１のポートミラーマネージャＭにより実行される。
【０１９０】
図１６は、管理装置２０１のミラーポート切替管理処理手順の一例を示すフローチャートである。図１６のフローチャートにおいて、まず、管理装置２０１のポートミラーマネージャＭは、管理者端末２０２からミラーポートの切替指示を受信したか否かを判断する（ステップＳ１６０１）。ここで、ポートミラーマネージャＭは、ミラーポートの切替指示を受信するのを待つ（ステップＳ１６０１：Ｎｏ）。
【０１９１】
そして、ポートミラーマネージャＭは、ミラーポートの切替指示を受信した場合（ステップＳ１６０１：Ｙｅｓ）、ポート間接続管理テーブルＴＢ２から、移行元ポートのポートＩＤに対応するエントリを検索する（ステップＳ１６０２）。移行元ポートのポートＩＤは、ミラーポートの切替指示に含まれる。つぎに、ポートミラーマネージャＭは、移行元ポートのポートＩＤに対応するエントリが検索されたか否かを判断する（ステップＳ１６０３）。
【０１９２】
ここで、エントリが検索された場合（ステップＳ１６０３：Ｙｅｓ）、ポートミラーマネージャＭは、ミラーポート管理テーブルＴＢ１とポート間接続管理テーブルＴＢ２とに基づいて、移行元ポートのミラーフィルタ管理テーブルＴＢ３を生成する（ステップＳ１６０４）。そして、ポートミラーマネージャＭは、移行元ポートのミラーフィルタ管理テーブルＴＢ３を、移行元ポートを有する移行元スイッチに送信する（ステップＳ１６０５）。
【０１９３】
つぎに、ポートミラーマネージャＭは、ミラーポート管理テーブルＴＢ１とポート間接続管理テーブルＴＢ２とに基づいて、移行先ポートのミラーフィルタ管理テーブルＴＢ３を生成する（ステップＳ１６０６）。そして、ポートミラーマネージャＭは、移行先ポートのミラーフィルタ管理テーブルＴＢ３を、移行先ポートを有する移行先スイッチに送信する（ステップＳ１６０７）。
【０１９４】
つぎに、ポートミラーマネージャＭは、移行先ポートのポートＩＤを通知先パラメータとして、移行元ポートと移行先ポートとを特定するミラー切替指示ＣＩを移行元スイッチに送信して（ステップＳ１６０８）、本フローチャートによる一連の処理を終了する。
【０１９５】
これにより、管理者端末２０２からミラーポートの切替指示に応じて、ミラーポートを移行元ポートから移行先ポートに切り替えるためのミラー切替指示ＣＩを移行元スイッチに通知することができる。
【０１９６】
また、ステップＳ１６０３において、移行元ポートのポートＩＤに対応するエントリが検索されなかった場合（ステップＳ１６０３：Ｎｏ）、ポートミラーマネージャＭは、エラー処理を実行して（ステップＳ１６０９）、本フローチャートによる一連の処理を終了する。エラー処理は、例えば、切替対象のポートが存在しないことを管理者端末２０２に通知する処理である。
【０１９７】
（情報処理装置ＰＭｉの各種処理手順）
つぎに、図１７〜図２１を用いて、情報処理装置ＰＭｉの各種処理手順について説明する。以下に説明する情報処理装置ＰＭｉの各種処理は、情報処理装置ＰＭｉの仮想スイッチ２６０（移行元スイッチ、移行先スイッチ）により実行される。
【０１９８】
・ミラー切替通知生成処理手順
まず、図１７を用いて、情報処理装置ＰＭｉのミラー切替通知生成処理手順について説明する。ミラー切替通知生成処理は、ポートミラーマネージャＭからのミラー切替指示ＣＩ、または、後述の図１９に示すステップＳ１９１２において呼び出される。
【０１９９】
図１７は、情報処理装置ＰＭｉのミラー切替通知生成処理手順の一例を示すフローチャートである。図１７のフローチャートにおいて、まず、情報処理装置ＰＭｉの仮想スイッチ２６０は、通知先パラメータを取得する（ステップＳ１７０１）。なお、通知先パラメータは、ミラー切替通知生成処理がポートミラーマネージャＭからのミラー切替指示ＣＩに応じて起動された場合、移行先ポートのポートＩＤとなる。通知先パラメータは、ミラー切替通知生成処理が移行元スイッチからのミラー切替通知ＣＮに応じて起動された場合、移行元ポートのポートＩＤとなる。
【０２００】
つぎに、仮想スイッチ２６０は、取得した通知先パラメータに基づいて、通知先に対するミラー切替通知ＣＮを生成する（ステップＳ１７０２）。そして、仮想スイッチ２６０は、生成したミラー切替通知ＣＮを共有メモリ２９０の送信キューに書き込む（ステップＳ１７０３）。
【０２０１】
つぎに、仮想スイッチ２６０は、共有メモリ２９０上のリングバッファＴＸに送信通知を書き込む（ステップＳ１７０４）。そして、仮想スイッチ２６０は、ポートミラー方向が受信のみであるか否かを判断する（ステップＳ１７０５）。なお、ポートミラー方向は、ミラーポートを切り替える前の移行元ポートのポートミラー方向に相当する。ここで、ポートミラー方向が受信のみの場合（ステップＳ１７０５：Ｙｅｓ）、仮想スイッチ２６０は、本フローチャートによる一連の処理を終了する。
【０２０２】
一方、ポートミラー方向が受信のみではない場合（ステップＳ１７０５：Ｎｏ）、仮想スイッチ２６０は、自スイッチが有する切替対象ポートが移行元ポートであるか否かを判断する（ステップＳ１７０６）。ここで、移行元ポートの場合（ステップＳ１７０６：Ｙｅｓ）、仮想スイッチ２６０は、移行元ポートにおける移行先ポートへの送信パケットのミラー設定を解除する（ステップＳ１７０７）。
【０２０３】
そして、仮想スイッチ２６０は、ミラーフィルタ管理テーブルＴＢ３内の該当レコードの送信フラグに「Ｆａｌｓｅ」を設定して（ステップＳ１７０８）、本フローチャートによる一連の処理を終了する。なお、ミラーフィルタ管理テーブルＴＢ３内の該当レコードとは、移行元ポートと移行先ポートとの組み合わせに対応するレコードである。
【０２０４】
また、ステップＳ１７０６において、移行先ポートの場合（ステップＳ１７０６：Ｎｏ）、仮想スイッチ２６０は、移行先ポートにおける移行元ポートへの送信パケットのミラー設定を行う（ステップＳ１７０９）。そして、仮想スイッチ２６０は、ミラーフィルタ管理テーブルＴＢ３内の該当レコードの送信フラグに「Ｔｒｕｅ」を設定して（ステップＳ１７１０）、本フローチャートによる一連の処理を終了する。
【０２０５】
これにより、移行元スイッチにおいて、移行先スイッチへミラー切替通知ＣＮを送信したタイミングで、それ以降に移行元ポートから移行先ポートへ送信されるパケットをミラーリング対象から除外することができる。また、移行先スイッチにおいて、移行元スイッチへミラー切替通知ＣＮを送信したタイミングで、それ以降に移行先ポートから移行元ポートへ送信されるパケットをミラーリング対象とすることができる。
【０２０６】
・パケット送信処理手順
つぎに、図１８を用いて、情報処理装置ＰＭｉのパケット送信処理手順について説明する。
【０２０７】
図１８は、情報処理装置ＰＭｉのパケット送信処理手順の一例を示すフローチャートである。図１８のフローチャートにおいて、まず、情報処理装置ＰＭｉの仮想スイッチ２６０は、共有メモリ２９０上のリングバッファＴＸへの送信通知の書き込みを検出する（ステップＳ１８０１）。
【０２０８】
つぎに、仮想スイッチ２６０は、共有メモリ２９０の書込先アドレスからパケットを読み出す（ステップＳ１８０２）。そして、仮想スイッチ２６０は、読み出したパケットがミラー切替通知ＣＮであるか否かを判断する（ステップＳ１８０３）。ここで、ミラー切替通知ＣＮではない場合（ステップＳ１８０３：Ｎｏ）、仮想スイッチ２６０は、ステップＳ１８０７に移行する。
【０２０９】
一方、ミラー切替通知ＣＮの場合（ステップＳ１８０３：Ｙｅｓ）、仮想スイッチ２６０は、ミラー切替通知ＣＮの送信処理を行う（ステップＳ１８０４）。そして、仮想スイッチ２６０は、リングバッファＴＸへの次のパケットの送信通知の書き込みを検出したか否かを判断する（ステップＳ１８０５）。
【０２１０】
ここで、仮想スイッチ２６０は、次のパケットの送信通知の書き込みを検出するのを待つ（ステップＳ１８０５：Ｎｏ）。そして、仮想スイッチ２６０は、次のパケットの送信通知の書き込みを検出した場合（ステップＳ１８０５：Ｙｅｓ）、ポートミラーの設定変更が完了したか否かを判断する（ステップＳ１８０６）。
【０２１１】
ここで、仮想スイッチ２６０は、ポートミラーの設定変更が完了するのを待つ（ステップＳ１８０６：Ｎｏ）。そして、仮想スイッチ２６０は、ポートミラーの設定変更が完了した場合（ステップＳ１８０６：Ｙｅｓ）、パケットの送信処理を行って（ステップＳ１８０７）、本フローチャートによる一連の処理を終了する。
【０２１２】
これにより、ミラー切替通知ＣＮの送信時に、ミラー切替通知ＣＮが送信されてからポートミラーの設定変更が完了するまでの間に、次のパケットが送信されるのを防ぐことができる。
【０２１３】
・パケット受信処理手順
つぎに、図１９を用いて、情報処理装置ＰＭｉのパケット受信処理手順について説明する。
【０２１４】
図１９は、情報処理装置ＰＭｉのパケット受信処理手順の一例を示すフローチャートである。図１９のフローチャートにおいて、まず、情報処理装置ＰＭｉの仮想スイッチ２６０は、共有メモリ２９０上のリングバッファＲＸへの受信通知の書き込みを検出する（ステップＳ１９０１）。
【０２１５】
つぎに、仮想スイッチ２６０は、共有メモリ２９０の書込先アドレスからパケットを読み出す（ステップＳ１９０２）。そして、仮想スイッチ２６０は、読み出したパケットがミラー切替通知ＣＮであるか否かを判断する（ステップＳ１９０３）。ここで、ミラー切替通知ＣＮではない場合（ステップＳ１９０３：Ｎｏ）、仮想スイッチ２６０は、パケットの受信処理を行って（ステップＳ１９０４）、本フローチャートによる一連の処理を終了する。
【０２１６】
一方、ミラー切替通知ＣＮの場合（ステップＳ１９０３：Ｙｅｓ）、仮想スイッチ２６０は、ポートミラー方向が送信のみであるか否かを判断する（ステップＳ１９０５）。ここで、ポートミラー方向が送信のみの場合（ステップＳ１９０５：Ｙｅｓ）、仮想スイッチ２６０は、本フローチャートによる一連の処理を終了する。
【０２１７】
一方、ポートミラー方向が送信のみではない場合（ステップＳ１９０５：Ｎｏ）、仮想スイッチ２６０は、自スイッチが有する切替対象ポートが移行元ポートであるか否かを判断する（ステップＳ１９０６）。ここで、移行元ポートの場合（ステップＳ１９０６：Ｙｅｓ）、仮想スイッチ２６０は、移行元ポートにおける移行先ポートからの受信パケットのミラー設定を解除する（ステップＳ１９０７）。
【０２１８】
つぎに、仮想スイッチ２６０は、ミラーフィルタ管理テーブルＴＢ３内の該当レコードの受信フラグに「Ｆａｌｓｅ」を設定する（ステップＳ１９０８）。なお、ミラーフィルタ管理テーブルＴＢ３内の該当レコードとは、移行元ポートと移行先ポートとの組み合わせに対応するレコードである。
【０２１９】
そして、仮想スイッチ２６０は、ポートミラーマネージャＭに、ミラーポートの切り替えが完了したことを示す切替完了通知を送信して（ステップＳ１９０９）、本フローチャートによる一連の処理を終了する。
【０２２０】
また、ステップＳ１９０６において、移行先ポートの場合（ステップＳ１９０６：Ｎｏ）、仮想スイッチ２６０は、移行先ポートにおける移行元ポートからの受信パケットのミラー設定を行う（ステップＳ１９１０）。つぎに、仮想スイッチ２６０は、ミラーフィルタ管理テーブルＴＢ３内の該当レコードの受信フラグに「Ｔｒｕｅ」を設定する（ステップＳ１９１１）。
【０２２１】
そして、仮想スイッチ２６０は、移行元ポートのポートＩＤを通知先パラメータとして、図１７に示したミラー切替通知生成処理を呼び出して（ステップＳ１９１２）、本フローチャートによる一連の処理を終了する。
【０２２２】
これにより、移行元スイッチにおいて、移行先スイッチからのミラー切替通知ＣＮを受信したタイミングで、それ以降に移行元ポートにおいて移行先ポートから受信されるパケットをミラーリング対象から除外することができる。また、移行先スイッチにおいて、移行元スイッチからのミラー切替通知ＣＮを受信したタイミングで、それ以降に移行先ポートにおいて移行元ポートから受信されるパケットをミラーリング対象とすることができる。
【０２２３】
・ミラーフィルタ処理手順
つぎに、図２０を用いて、情報処理装置ＰＭｉのミラーフィルタ処理手順について説明する。ここでは、ミラーポートの切替対象となるポート（切替対象ポート）についてのミラーフィルタ処理について説明する。
【０２２４】
図２０は、情報処理装置ＰＭｉのミラーフィルタ処理手順の一例を示すフローチャートである。図２０のフローチャートにおいて、まず、情報処理装置ＰＭｉの仮想スイッチ２６０は、自スイッチの切替対象ポート（移行元ポート、移行先ポート）を通過するパケットを取得する（ステップＳ２００１）。
【０２２５】
つぎに、仮想スイッチ２６０は、取得したパケットのヘッダ情報からアドレス（送信元アドレス、宛先アドレス）を取得する（ステップＳ２００２）。そして、仮想スイッチ２６０は、ミラーフィルタ管理テーブルＴＢ３を参照して、切替対象ポートとアドレス（送信元アドレス、宛先アドレス）との組み合わせに対応するポートミラー方向を特定する（ステップＳ２００３）。
【０２２６】
つぎに、仮想スイッチ２６０は、取得したパケットの方向が、特定したポートミラー方向と一致するか否かを判断する（ステップＳ２００４）。ここで、パケットの方向がポートミラー方向と一致しない場合（ステップＳ２００４：Ｎｏ）、仮想スイッチ２６０は、本フローチャートによる一連の処理を終了する。
【０２２７】
一方、パケットの方向がポートミラー方向と一致する場合（ステップＳ２００４：Ｙｅｓ）、仮想スイッチ２６０は、取得したパケットをコピーしてミラーパケットを生成する（ステップＳ２００５）。つぎに、仮想スイッチ２６０は、生成したミラーパケットを共有メモリ２９０の送信キューに書き込む（ステップＳ２００６）。
【０２２８】
そして、仮想スイッチ２６０は、共有メモリ２９０上のリングバッファＴＸに送信通知を書き込んで（ステップＳ２００７）、本フローチャートによる一連の処理を終了する。これにより、切替対象ポートにおけるミラー設定に応じて、切替対象ポートを通過するパケットをフィルタリングすることができる。
【０２２９】
以上説明したように、実施の形態にかかる情報処理装置ＰＭｉによれば、ミラー切替指示ＣＩに応じて、移行先スイッチに対してミラー切替通知ＣＮを送信するとともに、移行元ポートにおける移行先ポートへの送信パケットのミラー設定を解除することができる。また、情報処理装置ＰＭｉによれば、移行先スイッチからのミラー切替通知ＣＮに応じて、移行元ポートにおける移行先ポートからの受信パケットのミラー設定を解除することができる。
【０２３０】
これにより、移行元スイッチにおいて、移行先スイッチへミラー切替通知ＣＮを送信したタイミングで、それ以降に移行元ポートから移行先ポートへ送信されるパケットをミラーリング対象から除外することができる。また、移行元スイッチにおいて、移行先スイッチからのミラー切替通知ＣＮを受信したタイミングで、それ以降に移行元ポートにおいて移行先ポートから受信されるパケットをミラーリング対象から除外することができる。
【０２３１】
また、情報処理装置ＰＭｉによれば、ミラー切替通知ＣＮの次に移行元ポートから送信されるパケットの送信処理を、移行元ポートにおける移行先ポートへの送信パケットのミラー設定を解除する処理の完了後に行うことができる。これにより、ミラー切替通知ＣＮが送信されてからポートミラーの設定変更が完了するまでの間に、移行先スイッチに対して次のパケットが送信されるのを防いで、ミラーパケットの重複を防ぐことができる。
【０２３２】
また、情報処理装置ＰＭｉによれば、移行先ポートからの受信パケットのミラー設定を解除した場合でも、移行先スイッチからのミラー切替通知ＣＮよりも後に受信された受信パケットのうち、移行先ポートから送信された送信順序を示すシーケンス番号がシーケンス番号Ｂ以下である受信パケットのミラーリングを行うことができる。ただし、移行先スイッチからのミラー切替通知ＣＮには、他のパケットよりも高い優先度が設定され、かつ、当該ミラー切替通知ＣＮの直前に移行先ポートから送信されたパケットの送信順序を示すシーケンス番号Ｂが含まれる。
【０２３３】
これにより、移行先スイッチからのミラー切替通知ＣＮに応じて受信パケットのミラー設定を解除したとしても、通信途中でミラー切替通知ＣＮに追い越されたパケットについてはミラーリングすることができ、ミラー漏れ（パケットロス）を防ぐことができる。
【０２３４】
また、情報処理装置ＰＭｉによれば、移行元スイッチからのミラー切替通知ＣＮに応じて、移行先ポートにおける移行元ポートからの受信パケットのミラー設定を行うことができる。また、情報処理装置ＰＭｉによれば、受信パケットのミラー設定が行われたことに応じて、移行元スイッチに対してミラー切替通知ＣＮを送信するとともに、移行先ポートにおける移行元ポートへの送信パケットのミラー設定を行うことができる。
【０２３５】
これにより、移行先スイッチにおいて、移行元スイッチからのミラー切替通知ＣＮを受信したタイミングで、それ以降に移行先ポートにおいて移行元ポートから受信されるパケットをミラーリング対象とすることができる。また、移行先スイッチにおいて、移行元スイッチへのミラー切替通知ＣＮを送信したタイミングで、それ以降に移行先ポートから移行元ポートへ送信されるパケットをミラーリング対象とすることができる。
【０２３６】
また、情報処理装置ＰＭｉによれば、ミラー切替通知ＣＮの次に移行先ポートから送信されるパケットの送信処理を、移行先ポートにおける移行元ポートへの送信パケットのミラー設定を行う処理の完了後に行うことができる。これにより、ミラー切替通知ＣＮが送信されてからポートミラーの設定変更が完了するまでの間に、移行元スイッチに対して次のパケットが送信されるのを防いで、ミラー漏れ（パケットロス）を防ぐことができる。
【０２３７】
また、情報処理装置ＰＭｉによれば、移行元ポートからの受信パケットのミラー設定を行った場合でも、移行元スイッチからのミラー切替通知ＣＮよりも後に受信された受信パケットのうち、移行元ポートから送信された送信順序を示すシーケンス番号がシーケンス番号Ｂ以下である受信パケットをミラーリング対象から除外することができる。ただし、移行元スイッチからのミラー切替通知ＣＮには、他のパケットよりも高い優先度が設定され、かつ、当該ミラー切替通知ＣＮの直前に移行元ポートから送信されたパケットの送信順序を示すシーケンス番号Ｂが含まれる。
【０２３８】
これにより、移行元スイッチからのミラー切替通知ＣＮに応じて受信パケットのミラー設定を行ったとしても、通信途中でミラー切替通知ＣＮに追い越されたパケットについてはミラーリング対象から除外して、ミラーパケットの重複を防ぐことができる。
【０２３９】
これらのことから、実施の形態にかかるシステム２００、情報処理装置ＰＭｉによれば、移行元／移行先スイッチにおいてミラー切替通知ＣＮを送受信したタイミングで、移行元／移行先ポートにおけるミラー設定を切り替えることができる。これにより、移行元／移行先スイッチにおいて、ミラーポートの切替タイミングを合わせて、パケットのロスも重複もさせることなく、ミラーポートの切り替えを行うことができる。また、ミラーポートの切替時に関連する仮想マシン２５０をサスペンドしないため、ミラー対象以外の通信や通信以外の処理を停止させることなく、ミラーポートの切り替えを行うことができる。
【０２４０】
なお、本実施の形態で説明したポート切替方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本ポート切替プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本ポート切替プログラムは、インターネット等のネットワークを介して配布してもよい。
【０２４１】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２４２】
（付記１）コンピュータに、
移行元ポートと移行先ポートとを特定するミラー切替指示に応じて、前記移行先ポートを有する仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を要求する第１ミラー切替通知を送信するとともに、前記移行元ポートにおける前記移行先ポートへの送信パケットのミラー設定を解除し、
前記仮想スイッチからの前記移行先ポートにおけるミラー設定の変更を示す第２ミラー切替通知に応じて、前記移行元ポートにおける前記移行先ポートからの受信パケットのミラー設定を解除する、
処理を実行させることを特徴とするポート切替プログラム。
【０２４３】
（付記２）前記コンピュータに、
前記第１ミラー切替通知の次に前記移行元ポートから送信されるパケットの送信処理を、前記送信パケットのミラー設定を解除する処理の完了後に実行させることを特徴とする付記１に記載のポート切替プログラム。
【０２４４】
（付記３）前記第２ミラー切替通知には、他のパケットよりも高い優先度が設定され、かつ、当該第２ミラー切替通知の直前に前記移行先ポートから送信されたパケットの送信順序を示す所定の番号が含まれており、
前記コンピュータに、
前記移行先ポートからの受信パケットのミラー設定を解除した場合でも、前記第２ミラー切替通知よりも後に受信された受信パケットのうち、前記移行先ポートから送信された送信順序を示す番号が前記所定の番号以下である受信パケットのミラーリングを行う、処理を実行させることを特徴とする付記１または２に記載のポート切替プログラム。
【０２４５】
（付記４）前記送信パケットのミラー設定を解除する処理は、前記移行元ポートにおけるポートミラー方向が入力方向のみの場合は行われない、ことを特徴とする付記１〜３のいずれか一つに記載のポート切替プログラム。
【０２４６】
（付記５）前記受信パケットのミラー設定を解除する処理は、前記移行元ポートにおけるポートミラー方向が出力方向のみの場合は行われない、ことを特徴とする付記１〜４のいずれか一つに記載のポート切替プログラム。
【０２４７】
（付記６）前記第２ミラー切替通知は、前記移行先ポートにおける前記移行元ポートからの受信パケットのミラー設定が行われたことに応じて前記仮想スイッチから送信される、ことを特徴とする付記１〜５のいずれか一つに記載のポート切替プログラム。
【０２４８】
（付記７）前記移行先ポートにおける前記移行元ポートへの送信パケットのミラー設定は、前記仮想スイッチから前記第２ミラー切替通知が送信されたことに応じて行われる、ことを特徴とする付記１〜６のいずれか一つに記載のポート切替プログラム。
【０２４９】
（付記８）コンピュータに、
移行元ポートを有する仮想スイッチからの移行先ポートにおけるミラー設定の変更を要求する第１ミラー切替通知に応じて、前記移行先ポートにおける前記移行元ポートからの受信パケットのミラー設定を行い、
前記受信パケットのミラー設定が行われたことに応じて、前記仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を示す第２ミラー切替通知を送信するとともに、前記移行先ポートにおける前記移行元ポートへの送信パケットのミラー設定を行う、
処理を実行させることを特徴とするポート切替プログラム。
【０２５０】
（付記９）前記コンピュータに、
前記第２ミラー切替通知の次に前記移行先ポートから送信されるパケットの送信処理を、前記送信パケットのミラー設定を行う処理の完了後に実行させることを特徴とする付記８に記載のポート切替プログラム。
【０２５１】
（付記１０）前記第１ミラー切替通知には、他のパケットよりも高い優先度が設定され、かつ、当該第１ミラー切替通知の直前に前記移行元ポートから送信されたパケットの送信順序を示す所定の番号が含まれており、
前記コンピュータに、
前記移行元ポートからの受信パケットのミラー設定を行った場合でも、前記第１ミラー切替通知よりも後に受信された受信パケットのうち、前記移行元ポートから送信された送信順序を示す番号が前記所定の番号以下である受信パケットをミラーリング対象から除外する、ことを特徴とする付記８または９に記載のポート切替プログラム。
【０２５２】
（付記１１）前記受信パケットのミラー設定を行う処理は、前記移行先ポートにおけるポートミラー方向が出力方向のみの場合は行われない、ことを特徴とする付記８〜１０のいずれか一つに記載のポート切替プログラム。
【０２５３】
（付記１２）前記送信パケットのミラー設定を行う処理は、前記移行先ポートにおけるポートミラー方向が入力方向のみの場合は行われない、ことを特徴とする付記８〜１１のいずれか一つに記載のポート切替プログラム。
【０２５４】
（付記１３）コンピュータが、
移行元ポートと移行先ポートとを特定するミラー切替指示に応じて、前記移行先ポートを有する仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を要求する第１ミラー切替通知を送信するとともに、前記移行元ポートにおける前記移行先ポートへの送信パケットのミラー設定を解除し、
前記仮想スイッチからの前記移行先ポートにおけるミラー設定の変更を示す第２ミラー切替通知に応じて、前記移行元ポートにおける前記移行先ポートからの受信パケットのミラー設定を解除する、
処理を実行することを特徴とするポート切替方法。
【０２５５】
（付記１４）コンピュータが、
移行元ポートを有する仮想スイッチからの移行先ポートにおけるミラー設定の変更を要求する第１ミラー切替通知に応じて、前記移行先ポートにおける前記移行元ポートからの受信パケットのミラー設定を行い、
前記受信パケットのミラー設定が行われたことに応じて、前記仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を示す第２ミラー切替通知を送信するとともに、前記移行先ポートにおける前記移行元ポートへの送信パケットのミラー設定を行う、
処理を実行することを特徴とするポート切替方法。
【０２５６】
（付記１５）移行元ポートと移行先ポートとを特定するミラー切替指示に応じて、前記移行先ポートを有する仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を要求する第１ミラー切替通知を送信するとともに、前記移行元ポートにおける前記移行先ポートへの送信パケットのミラー設定を解除し、
前記仮想スイッチからの前記移行先ポートにおけるミラー設定の変更を示す第２ミラー切替通知に応じて、前記移行元ポートにおける前記移行先ポートからの受信パケットのミラー設定を解除する、
制御部を有することを特徴とする情報処理装置。
【０２５７】
（付記１６）移行元ポートを有する仮想スイッチからの移行先ポートにおけるミラー設定の変更を要求する第１ミラー切替通知に応じて、前記移行先ポートにおける前記移行元ポートからの受信パケットのミラー設定を行い、
前記受信パケットのミラー設定が行われたことに応じて、前記仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を示す第２ミラー切替通知を送信するとともに、前記移行先ポートにおける前記移行元ポートへの送信パケットのミラー設定を行う、
制御部を有することを特徴とする情報処理装置。
【符号の説明】
【０２５８】
１０１，１０２  情報処理装置
１１１，１１２，１２１，２５０  仮想マシン
１１３，１２２，２６０  仮想スイッチ
１１４，１２３  ポート
１３０，Ｃ  キャプチャツール
１４０，Ｍ  ポートミラーマネージャ
２００  システム
２０１  管理装置
２０２  管理者端末
２１０  ネットワーク
２２０  ハードウェア資源
２３０  ハイパーバイザ
２４０  ホストＯＳ
２７０  フロントエンドドライバ
２８０  バックエンドドライバ
２９０  共有メモリ
７０１  受付部
７０２  切替管理部
７０３  通知部
８０１  通知生成部
８０２  送信処理部
８０３  設定変更部
８０４  受信処理部
８０５  ミラーフィルタ部
８０６  ミラーパケット生成部
【図１】
2018117193.tif 000003
【図２】
2018117193.tif 000004
【図３】
2018117193.tif 000005
【図４】
2018117193.tif 000006
【図５】
2018117193.tif 000007
【図６】
2018117193.tif 000008
【図７】
2018117193.tif 000009
【図８】
2018117193.tif 000010
【図９】
2018117193.tif 000011
【図１０】
2018117193.tif 000012
【図１１】
2018117193.tif 000013
【図１２】
2018117193.tif 000014
【図１３】
2018117193.tif 000015
【図１４】
2018117193.tif 000016
【図１５】
2018117193.tif 000017
【図１６】
2018117193.tif 000018
【図１７】
2018117193.tif 000019
【図１８】
2018117193.tif 000020
【図１９】
2018117193.tif 000021
【図２０】
2018117193.tif 000022