(57)【要約】【課題】リンクアグリゲーション区間における振り分けルールの変更を把握すること。【解決手段】記憶部１１は、パケットに含まれるアドレスの所定の関数により算出される算出値と物理リンクＬ１，Ｌ２，Ｌ３，Ｌ４のうちパケットが出力される物理リンクとの対応を示す振り分けテーブルＴ１を記憶する。演算部１２は、収集したパケットの算出値のうち所定期間以上取得が途絶えた算出値の組が振り分けテーブルＴ１に記憶された物理リンクに対応する算出値の組として存在する場合に、リンクアグリゲーション区間における振り分けテーブルＴ１が変更されると判定する。【選択図】図１
2016103784.tif 000002
【特許請求の範囲】
【請求項１】
２つの中継装置の間を接続する複数の物理リンクにより１つの論理リンクを形成するリンクアグリゲーション区間に流れるパケットを収集し、収集したパケットを用いて監視を行う監視装置であって、
パケットに含まれるアドレスの所定の関数により算出される算出値と前記複数の物理リンクのうち前記パケットが出力される物理リンクとの対応を示す対応情報を記憶する記憶部と、
収集したパケットの算出値のうち所定期間以上取得が途絶えた前記算出値の組が前記対応情報に記憶された物理リンクに対応する算出値の組として存在する場合に、前記リンクアグリゲーション区間における前記対応情報が変更されると判定する演算部と、
を有する監視装置。
【請求項２】
前記記憶部は、物理リンクが障害から復旧した後に使用される復旧後の対応情報を更に物理リンクごとに記憶し、
前記演算部は、前記所定期間以上取得が途絶えた算出値の組に基づいて変更後の前記対応情報を選択する、
請求項１記載の監視装置。
【請求項３】
２つの中継装置の間を接続する複数の物理リンクにより１つの論理リンクを形成するリンクアグリゲーション区間に流れるパケットを収集し、収集したパケットを用いて監視を行う監視装置であって、
パケットに含まれるアドレスの所定の関数により算出される算出値と前記複数の物理リンクのうち前記パケットが出力される物理リンクとの対応を示す対応情報を記憶する記憶部と、
収集したパケットの算出値のうち一時的に取得が途絶えた前記算出値の組が前記対応情報に記憶された物理リンクに対応する算出値の組として存在しない場合に、前記リンクアグリゲーション区間における前記対応情報が変更されたと判定する演算部と、
を有する監視装置。
【請求項４】
前記一時的に取得が途絶えた前記算出値の組は、前記パケットの損失率が閾値以上である前記算出値の組み合わせであり、
前記演算部は、前記一時的に取得が途絶えた前記算出値の組に含まれる算出値の一部の組が前記対応情報において何れかの物理リンクに対応付けられている場合、前記リンクアグリゲーション区間における前記対応情報が変更されたと判定する、
請求項３記載の監視装置。
【請求項５】
前記記憶部は、物理リンクが障害から復旧した後に使用される復旧後の対応情報を更に物理リンクごとに記憶し、
前記演算部は、前記一部の組に基づいて変更後の前記対応情報を選択する、
請求項４記載の監視装置。
【請求項６】
前記演算部は、収集したパケットの算出値のうち所定期間以上取得が途絶えた算出値の組が前記対応情報に記憶された物理リンクに対応する算出値の組として存在しない場合で、かつ、前記所定期間以上取得が途絶えた算出値の組に含まれる算出値の数と、前記対応情報において前記複数の物理リンクそれぞれに対応する算出値の数とが一致している場合に、前記リンクアグリゲーション区間における前記対応情報が更に変更されると判定する、請求項３記載の監視装置。
【請求項７】
２つの中継装置の間を接続する複数の物理リンクにより１つの論理リンクを形成するリンクアグリゲーション区間に流れるパケットを収集し、収集したパケットを用いて監視を行うコンピュータに、
パケットに含まれるアドレスの所定の関数により算出される算出値と前記複数の物理リンクのうち前記パケットが出力される物理リンクとの対応を示す対応情報に基づいて、収集したパケットの算出値のうち所定期間以上取得が途絶えた前記算出値の組が前記対応情報に記憶された物理リンクに対応する算出値の組として存在する場合に、前記リンクアグリゲーション区間における前記対応情報が変更されると判定する、
処理を実行させる監視プログラム。
【請求項８】
２つの中継装置の間を接続する複数の物理リンクにより１つの論理リンクを形成するリンクアグリゲーション区間に流れるパケットを収集し、収集したパケットを用いて監視を行うコンピュータに、
パケットに含まれるアドレスの所定の関数により算出される算出値と前記複数の物理リンクのうち前記パケットが出力される物理リンクとの対応を示す対応情報に基づいて、収集したパケットの算出値のうち一時的に取得が途絶えた前記算出値の組が前記対応情報に記憶された物理リンクに対応する算出値の組として存在しない場合に、前記リンクアグリゲーション区間における前記対応情報が変更されたと判定する、
処理を実行させる監視プログラム。
【請求項９】
２つの中継装置の間を接続する複数の物理リンクにより１つの論理リンクを形成するリンクアグリゲーション区間に流れるパケットを収集し、収集したパケットを用いて監視を行うコンピュータが、
パケットに含まれるアドレスの所定の関数により算出される算出値と前記複数の物理リンクのうち前記パケットが出力される物理リンクとの対応を示す対応情報に基づいて、収集したパケットの算出値のうち所定期間以上取得が途絶えた前記算出値の組が前記対応情報に記憶された物理リンクに対応する算出値の組として存在する場合に、前記リンクアグリゲーション区間における前記対応情報が変更されると判定する、
監視方法。
【請求項１０】
２つの中継装置の間を接続する複数の物理リンクにより１つの論理リンクを形成するリンクアグリゲーション区間に流れるパケットを収集し、収集したパケットを用いて監視を行うコンピュータが、
パケットに含まれるアドレスの所定の関数により算出される算出値と前記複数の物理リンクのうち前記パケットが出力される物理リンクとの対応を示す対応情報に基づいて、収集したパケットの算出値のうち一時的に取得が途絶えた前記算出値の組が前記対応情報に記憶された物理リンクに対応する算出値の組として存在しない場合に、前記リンクアグリゲーション区間における前記対応情報が変更されたと判定する、
監視方法。
【請求項１１】
２つの中継装置の間を接続する複数の物理リンクにより１つの論理リンクを形成するリンクアグリゲーション区間に流れるパケットを収集し、収集したパケットを用いて監視を行う監視装置であって、
パケットに含まれるアドレスの所定の関数により算出される算出値と前記複数の物理リンクのうち前記パケットが出力される物理リンクとの対応を示す第１の対応情報と、物理リンクが障害から復旧した後に使用される復旧後の第２の対応情報とを、中継装置のベンダの識別情報に対応付けて記憶する記憶部と、
何れかのベンダの識別情報の入力を受け付け、入力されたベンダの識別情報に対応する前記第１および前記第２の対応情報と、収集したパケットの算出値とに基づいて、前記複数の物理リンクそれぞれの通信品質を監視する演算部と、
を有する監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は監視装置、監視プログラムおよび監視方法に関する。
【背景技術】
【０００２】
情報処理システムでは、クライアントコンピュータやサーバコンピュータなどの種々の情報処理装置がネットワークを介して接続され、データ通信を行う。ネットワークは、複数の中継装置を含む。例えば、ある中継装置のポートと他の中継装置のポートとを所定のケーブルで接続することで通信路（物理リンク）が形成される。中継装置は、転送対象のパケットに含まれるアドレスに基づいて、当該パケットを送出するポートを選択する。アドレスとして、例えばＯＳＩ（Open Systems Interconnection）参照モデルの第２層では、ＭＡＣ（Media Access Control）アドレスが用いられる。同第３層ではＩＰ（Internet Protocol）アドレスが用いられる。
【０００３】
また、中継装置間の通信品質を向上させる方法として、リンクアグリゲーションと呼ばれる技術が知られている。リンクアグリゲーションは、２つの中継装置の間に物理リンクを複数設け、複数の物理リンクを束ねて１つの論理リンクを形成する技術である。リンクアグリゲーションを用いることで、１つの物理リンクよりも高速な通信路を実現できる。また、複数の物理リンクを同時に使用できるため、一部の物理リンクが故障しても通信路が完全に切断されることを防止し、可用性を向上できる。
【０００４】
リンクアグリゲーションでは、中継装置においてパケットに含まれるアドレスに基づくハッシュ計算を行い、計算されたハッシュ値から出力先の物理リンクを決定することが多い。ある送信元端末から宛先端末に送信される情報列を１つの物理リンク上で伝送させることで、情報列の順序逆転を防ぐためである。
【０００５】
ところで、情報処理システムでは、通信品質の監視が行われることがある。例えば、複数の物理リンクを含むリンクアグリゲーショングループが構成されているときに、Ｅｔｈ−ＬＴ（Ethernet-Link Trace、Ｅｔｈｅｒｎｅｔは登録商標）と呼ばれる機能を用いて、特定のユーザの通信に対する伝送品質を監視可能にする提案がある。この提案では、ユーザＭＡＣフレーム中のＭＡＣヘッダ情報や伝送品質を監視するための伝送品質監視フレーム中のＭＡＣヘッダ情報を、Ｅｔｈ−ＬＴのＬＴＭ（Link Trace Message）に追加する。ＬＴＭを受信したレイヤ２スイッチは、リンクアグリゲーショングループに属する何れかの物理リンクへＬＴＭを送出する際、ＬＴＭに含まれるユーザＭＡＣフレームのＭＡＣヘッダ情報により送出先の物理リンクを決定する。レイヤ２スイッチは、決定した送出先と同じ物理リンクに伝送品質監視フレームが送出されるよう負荷分散ルールを追加設定する。更に、レイヤ２スイッチは、決定した送出先の物理リンクの識別子を、ＬＴＭに対する応答であるＬＴＲ（Link Trace Reply）に追加して、ＬＴＭの送信元に応答する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−２２３１７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
任意の中継装置が転送するパケットを監視装置により収集し、収集したパケットに基づいて、ネットワークにおけるパケットロスなどの通信品質の劣化有無を監視することが考えられる。情報の収集ポイントを局所化することで、各中継装置から監視用の情報を個別に収集するよりも、ネットワーク監視を効率的に行えるためである。
【０００８】
ネットワーク内にリンクアグリゲーショングループにより接続された２つの中継装置間（以降リンクアグリゲーション区間とする）がある場合、リンクアグリゲーション区間における物理リンク毎の通信品質を、収集したパケットに基づいて監視することが考えられる。例えば、物理リンクに対するハッシュ値の振り分けルールの情報を監視装置に格納しておく。監視装置は、品質劣化のある通信のパケットから計算されるハッシュ値が、振り分けルール内のある物理リンクに対応するハッシュ値のみである場合、当該物理リンクで通信品質の劣化が生じている可能性があると判定できる。
【０００９】
ところが、実際に利用される振り分けルールが常に同じとは限らない。中継装置には物理リンクに対するハッシュ値の振り分けルールを変更するものもある。ルールが変更されるタイミングとしては、例えばリンクアグリゲーション区間の何れかの物理リンクが障害により利用不能となったタイミングや、障害から回復した物理リンクでの通信が再開されたタイミングが挙げられる。
【００１０】
振り分けルールが変更されているにも関わらず変更前のルールを用いて監視を行ってしまうと、何れの物理リンクで通信品質の劣化が生じているかについて適正な判断を行えない。そこで、収集したパケットからリンクアグリゲーション区間における振り分けルールの変更を把握する方法が問題となる。
【００１１】
また、振り分けルールの変更方法は、中継装置のベンダに応じて異なる。このため、監視対象のスイッチ毎に、ハッシュ値と出力先の物理リンクとの対応関係の情報の作成および監視装置への入力をユーザに強いると、ユーザの作業負担が増大するおそれがある。
【００１２】
１つの側面では、本発明は、リンクアグリゲーション区間における振り分けルールの変更を把握できる監視装置、監視プログラムおよび監視方法を提供することを目的とする。
また、１つの側面では、本発明は、ユーザによる監視のための設定作業を支援できる監視装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
１つの態様では、２つの中継装置の間を接続する複数の物理リンクにより１つの論理リンクを形成するリンクアグリゲーション区間に流れるパケットを収集し、収集したパケットを用いて監視を行う監視装置が提供される。この監視装置は、記憶部と演算部とを有する。記憶部は、パケットに含まれるアドレスの所定の関数により算出される算出値と複数の物理リンクのうちパケットが出力される物理リンクとの対応を示す対応情報を記憶する。演算部は、収集したパケットの算出値のうち所定期間以上取得が途絶えた算出値の組が対応情報に記憶された物理リンクに対応する算出値の組として存在する場合に、リンクアグリゲーション区間における対応情報が変更されると判定する。
【００１４】
また、１つの態様では、２つの中継装置の間を接続する複数の物理リンクにより１つの論理リンクを形成するリンクアグリゲーション区間に流れるパケットを収集し、収集したパケットを用いて監視を行う監視装置が提供される。この監視装置は、記憶部と演算部とを有する。記憶部は、パケットに含まれるアドレスの所定の関数により算出される算出値と複数の物理リンクのうちパケットが出力される物理リンクとの対応を示す対応情報を記憶する。演算部は、収集したパケットの算出値のうち一時的に取得が途絶えた算出値の組が対応情報に記憶された物理リンクに対応する算出値の組として存在しない場合に、リンクアグリゲーション区間における対応情報が変更されたと判定する。
【００１５】
また、１つの態様では、２つの中継装置の間を接続する複数の物理リンクにより１つの論理リンクを形成するリンクアグリゲーション区間に流れるパケットを収集し、収集したパケットを用いて監視を行う監視装置が提供される。この監視装置は、記憶部と演算部とを有する。記憶部は、パケットに含まれるアドレスの所定の関数により算出される算出値と複数の物理リンクのうちパケットが出力される物理リンクとの対応を示す第１の対応情報と、物理リンクが障害から復旧した後に使用される復旧後の第２の対応情報とを、中継装置のベンダの識別情報に対応付けて記憶する。演算部は、何れかのベンダの識別情報の入力を受け付け、入力されたベンダの識別情報に対応する第１および第２の対応情報と、収集したパケットの算出値とに基づいて、複数の物理リンクそれぞれの通信品質を監視する。
【発明の効果】
【００１６】
１つの側面では、リンクアグリゲーション区間における振り分けルールの変更を把握できる。また、１つの側面では、ユーザによる監視のための設定作業を支援できる。
【図面の簡単な説明】
【００１７】
【図１】第１の実施の形態の監視装置を示す図である。
【図２】第１の実施の形態のリンクダウン後の監視例を示す図である。
【図３】第１の実施の形態の監視例を示すフローチャートである。
【図４】第２の実施の形態の監視装置を示す図である。
【図５】第２の実施の形態の監視例を示す図である。
【図６】第２の実施の形態の他の監視例を示す図である。
【図７】第２の実施の形態の監視例を示すフローチャートである。
【図８】第３の実施の形態の情報処理システムを示す図である。
【図９】第３の実施の形態の監視サーバのハードウェア例を示す図である。
【図１０】第３の実施の形態の監視サーバの機能例を示す図である。
【図１１】第３の実施の形態のＩＰヘッダの例を示す図である。
【図１２】第３の実施の形態の振り分けテーブルの例を示す図である。
【図１３】第３の実施の形態のＧＵＩの例を示す図である。
【図１４】第３の実施の形態のルール登録データの例を示す図である。
【図１５】第３の実施の形態の障害管理テーブルの例を示す図である。
【図１６】第３の実施の形態の品質計測結果テーブルの例を示す図である。
【図１７】第３の実施の形態の監視例を示すフローチャートである。
【図１８】第３の実施の形態の監視例（その１）である。
【図１９】第３の実施の形態の監視例（その２）である。
【図２０】第３の実施の形態の監視例（その３）である。
【図２１】第３の実施の形態の監視例（その３の続き）である。
【発明を実施するための形態】
【００１８】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の監視装置を示す図である。監視装置１０は、中継装置２０，２０ａ，２０ｂ，２０ｃにより形成されるネットワークの通信品質を監視する。中継装置２０，２０ａ，２０ｂ，２０ｃは、例えばレイヤ２スイッチまたはレイヤ３スイッチである。監視装置１０は、中継装置２０と接続されている。監視装置１０は、ネットワークで転送されるパケットを中継装置２０から収集する。監視装置１０は、収集したパケットに基づいてネットワークの通信品質の監視を行う。
【００１９】
中継装置２０，２０ａは１本のケーブル（例えば、ＴＰ（Twisted Pair）ケーブルや光ケーブルなど）で接続されている。すなわち、中継装置２０，２０ａの間には１つの物理リンクが存在する。中継装置２０ａ，２０ｂは４本のケーブルで接続されている。すなわち、中継装置２０ａ，２０ｂの間には４つの物理リンクＬ１，Ｌ２，Ｌ３，Ｌ４が存在する。中継装置２０ｂ，２０ｃは１本のケーブルで接続されている。すなわち、中継装置２０ａ，２０ｂの間には１つの物理リンクが存在する。
【００２０】
中継装置２０は、監視装置１０および端末装置３０，３０ａ，３０ｂと接続されている。中継装置２０ｃは、端末装置４０，４０ａ，４０ｂと接続されている。端末装置３０，３０ａ，３０ｂ，４０，４０ａ，４０ｂは、例えばクライアントコンピュータやサーバコンピュータである。端末装置３０，３０ａ，３０ｂ，４０，４０ａ，４０ｂは、中継装置２０，２０ａ，２０ｂ，２０ｃを介して通信可能である。
【００２１】
中継装置２０ａ，２０ｂは、リンクアグリゲーションの技術により、物理リンクＬ１，Ｌ２，Ｌ３，Ｌ４を１つに束ね、１つの論理リンクとして扱う。リンクアグリゲーションは、ＩＥＥＥ（Institute of Electrical and Electronics Engineers）８０２．１ａｘで規定されている。１つに束ねられた物理リンクＬ１，Ｌ２，Ｌ３，Ｌ４のグループを、リンクアグリゲーショングループ（ＬＡＧ：Link Aggregation Group）と呼ぶことがある。ＬＡＧが存在する中継装置２０ａ，２０ｂの間の区間を、リンクアグリゲーション区間と呼ぶことができる。物理リンクＬ１，Ｌ２，Ｌ３，Ｌ４では、障害によるリンクダウンおよび中継装置２０ａ，２０ｂによるダウンからの自動復旧が発生することがある。中継装置２０ａ，２０ｂは、リンクアグリゲーション制御プロトコル（ＬＡＣＰ：Link Aggregation Control Protocol）を用いて相互に通信し、一部の物理リンクで障害が発生した際のダウンした物理リンクのハッシュ値を別の正常な物理リンクに振り分ける。また、中継装置２０ａ，２０ｂは、リンク障害から復旧した際に、復旧した物理リンクへハッシュ値の再振り分けを行う。
【００２２】
中継装置２０ａ，２０ｂは、端末装置間で送受信されるパケットを、物理リンクＬ１，Ｌ２，Ｌ３，Ｌ４の何れを用いて転送するかを、パケットに含まれるアドレスから計算されるハッシュ値に基づいて決定する。中継装置２０ａ，２０ｂは、所定のハッシュ化アルゴリズム（ハッシュ関数ということもある）により、送信元アドレスおよび宛先アドレスの１つの組に対して１つのハッシュ値を計算する。中継装置２０ａ，２０ｂは、ハッシュ計算用のアドレスとして、ＩＰアドレスを用いる。ハッシュ計算用のアドレスとしてＭＡＣアドレスを用いてもよい。
【００２３】
例えば、中継装置２０ａ，２０ｂは、物理リンクＬ１，Ｌ２，Ｌ３，Ｌ４の全てがアクティブな状態では、８種類のハッシュ値（０，１，２，３，４，５，６，７）を物理リンクＬ１，Ｌ２，Ｌ３，Ｌ４に２種類ずつ均等に振り分ける。物理リンクとハッシュ値との対応関係は１対多（本例の場合、１対２）である。例えば、物理リンクＬ１には、ハッシュ値の組（０，４）が振り分けられる。物理リンクＬ２には、ハッシュ値の組（１，５）が振り分けられる。物理リンクＬ３には、ハッシュ値の組（２，３）が振り分けられる。物理リンクＬ４には、ハッシュ値の組（６，７）が振り分けられる。
【００２４】
中継装置２０ａ，２０ｂは、物理リンクＬ１，Ｌ２，Ｌ３，Ｌ４の一部の物理リンクで障害が発生すると、物理リンクとハッシュ値との対応関係を変更する。具体的には、障害により物理リンクがダウンした場合、障害の発生した物理リンクに振り分けていた２つのハッシュ値を、別の正常な物理リンクに振り分け直す。また、ダウンした物理リンクが復旧した場合、何れか２つのハッシュ値を、回復した物理リンクに振り分け直し、各物理リンクに対するハッシュ値の数を均等にする。
【００２５】
監視装置１０は、中継装置２０から収集したパケットに基づいて、リンクアグリゲーション区間における物理リンクとハッシュ値との対応関係の変更を、次のように判定する。監視装置１０は、記憶部１１および演算部１２を有する。
【００２６】
記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置でもよいし、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置でもよい。演算部１２は、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）などを含み得る。演算部１２はプログラムを実行するプロセッサであってもよい。ここでいう「プロセッサ」には、複数のプロセッサの集合（マルチプロセッサ）も含まれ得る。
【００２７】
記憶部１１は、振り分けテーブルＴ１を記憶する。振り分けテーブルＴ１は、パケットに含まれるアドレスと物理リンクＬ１，Ｌ２，Ｌ３，Ｌ４のうちパケットが出力される物理リンクとの対応を示す対応情報である。振り分けテーブルＴ１は、物理リンクとアドレスから計算されるハッシュ値との１対多の対応関係を示す。振り分けテーブルＴ１は、物理リンクとハッシュ値の組との次の対応関係の情報を含む。第１には、物理リンクＬ１とハッシュ値の組（０，４）との対応である。第２には、物理リンクＬ２とハッシュ値の組（１，５）との対応である。第３には、物理リンクＬ３とハッシュ値の組（２，３）との対応である。第４には、物理リンクＬ４とハッシュ値の組（６，７）との対応である。
【００２８】
記憶部１１は、中継装置２０，２０ａ，２０ｂ，２０ｃの間に存在する物理リンクの情報（物理トポロジの情報）を予め記憶する。例えば、演算部１２は、ＬＬＤＰ（Link Layer Discovery Protocol）やＣＤＰ（Cisco Discovery Protocol、ＣＩＳＣＯは登録商標）に関する情報を中継装置２０，２０ａ，２０ｂ，２０ｃから収集し、物理トポロジやリンクアグリゲーション区間の有無などを把握することもできる。
【００２９】
演算部１２は、ネットワークで転送されるパケットを中継装置２０から継続的に収集する。演算部１２は、中継装置２０のポートミラーリング機能を利用してパケットを収集できる。具体的には、中継装置２０は、中継装置２０ａと接続されたポートを経由するパケットを複製して、監視装置１０と接続されたポートからも継続的に送出する。演算部１２は、監視装置１０に到達したパケットを収集する。
【００３０】
演算部１２は、収集したパケットに応じたハッシュ値を取得する。演算部１２は、中継装置２０ａ，２０ｂが用いるハッシュ化アルゴリズムと同じハッシュ化アルゴリズムを用いて、パケットに含まれる送信元アドレスおよび宛先アドレスの組に応じたハッシュ値を計算する。演算部１２は、パケットを収集した時刻毎に、収集されたパケットに応じたハッシュ値を取得する。
【００３１】
演算部１２は、所定長さｔの期間以上、取得が途絶えたハッシュ値の第１の組を特定する。第１の組に属するハッシュ値に対応する通信は、当該期間の直前の時点まではパケットの転送が行われていたが、当該期間以上パケットの転送が途絶えたことになる。演算部１２は、記憶部１１を参照して、物理リンクＬ１，Ｌ２，Ｌ３，Ｌ４それぞれに対応するハッシュ値の組のうち、第１の組と完全に一致する組を検索する。演算部１２は、第１の組と一致する組がある場合、リンクアグリゲーション区間における対応関係が変更されると判定する。
【００３２】
ここで、中継装置２０ａ，２０ｂは、何れかの物理リンクが障害でダウンすると、ある期間（待機期間）だけ待機した後に、ダウンした物理リンクを経由するパケットが、他の正常な物理リンクを経由して転送されるよう制御する。すると、中継装置２０ａ，２０ｂでは、振り分けテーブルＴ１とは異なる振り分けルールが用いられることになる。監視装置１０は、収集したパケットから何れかの物理リンクのリンクダウンの可能性を検出することで、リンクアグリゲーション区間における振り分けルールが変更されることを検出する。
【００３３】
中継装置２０ａ，２０ｂによる待機期間の長さは、例えば、１秒から数秒程度であり、中継装置のベンダ（製品を販売する事業者）などによって異なる。中継装置２０ａ，２０ｂが待機期間だけ待機してから正常な物理リンクへ切り替える理由は、中継装置２０ａ，２０ｂによって転送されるパケットの順序逆転を抑えるためである。
【００３４】
長さｔは、中継装置２０ａ，２０ｂによる待機期間の長さに応じて決定される。具体的には、長さｔは待機期間と同じ長さとすることができる。ただし、長さｔは、待機期間の長さとは異なっていてもよい（例えば、待機期間よりも所定割合だけ短い長さとするなど）。
【００３５】
例えば、演算部１２は、収集したパケットに基づいて、長さｔの期間以上取得が途絶えたハッシュ値の第１の組として、ハッシュ値の組（０，４）を特定する。
演算部１２は、記憶部１１に記憶された振り分けテーブルＴ１を参照して、第１の組（０，４）と完全に一致するハッシュ値の組（０，４）を検索する。振り分けテーブルＴ１には、第１の組と一致する組（０，４）が存在する。この場合、ハッシュ値の組（０，４）に対応付けられた物理リンクＬ１でリンクダウンが発生している可能性が高い。
【００３６】
したがって、演算部１２は、リンクアグリゲーション区間において、物理リンクとハッシュ値との対応関係が変更される（振り分けテーブルＴ１で示されるルールとは異なる振り分けルールに変更される）と判定する。これにより、リンクアグリゲーション区間において振り分けルールが変更されることを適切に把握可能となる。
【００３７】
その後は、振り分けルールの変更に応じた監視が可能である。具体的には、上記の例において、物理リンクＬ１のリンクダウンが検出された場合に備えて、リンク回復後に用いられる回復後の振り分けルールを記憶部１１に予め格納しておいてもよい。すると、演算部１２は、通信品質の劣化が観測されたときに、回復後の振り分けルールを参照して、リンクアグリゲーション区間の何れの物理リンクでの品質劣化であるか否かを判別できる。
【００３８】
図２は、第１の実施の形態のリンクダウン後の監視例を示す図である。例えば、物理リンクＬ１のリンクダウン中は、物理リンクＬ１に振り分けられていたハッシュ値“４”は物理リンクＬ３に、同ハッシュ値“０”は物理リンクＬ４に振り分けられる（図２の（２Ａ））。その後、中継装置２０ａ，２０ｂの自動復旧機能により、物理リンクＬ１が障害から回復する。
【００３９】
物理リンクＬ１が障害から回復すると、物理リンクＬ２，Ｌ３，Ｌ４に振り分けられているハッシュ値のうちの何れか２つが物理リンクＬ１に振り分けられるようになる。例えば、物理リンクＬ１にハッシュ値の組（０，２）が振り分けられる。物理リンクＬ２にハッシュ値の組（１，５）が振り分けられる。物理リンクＬ３にハッシュ値の組（３，４）が振り分けられる。物理リンクＬ３にハッシュ値の組（６，７）が振り分けられる。
【００４０】
そこで、例えば振り分けテーブルＴ１に対応付けて、物理リンクＬ１，Ｌ２，Ｌ３，Ｌ４それぞれが障害によりダウンし、障害から回復したときの、回復後の振り分けテーブルＴ２を記憶部１１に予め格納しておくことができる。回復後の振り分けテーブルＴ２は、例えば中継装置２０ａ，２０ｂを用いた事前の動作検証などによって得ることができる。例えば、物理リンクＬ１の回復後の振り分けテーブルＴ２は、各物理リンクとハッシュ値の組とを次のように対応付けている。第１には物理リンクＬ１とハッシュ値の組（０，２）との対応である。第２には物理リンクＬ２とハッシュ値の組（１，５）との対応である。第３には、物理リンクＬ３とハッシュ値の組（３，４）との対応である。第４には、物理リンクＬ４とハッシュ値の組（６，７）との対応である。
【００４１】
その後、演算部１２は、収集したパケットからハッシュ値“０”、“２”の通信で品質劣化が発生したことを検出する（図２の（２Ｂ））。ここで、通信の品質劣化は、例えば、送受信されたパケット数に対して損失されたパケット数の割合（パケットの損失率）が閾値以上であるか否かの判定により検出できる。パケットの損失率が閾値以上であれば、品質劣化が生じており、パケットの損失率が閾値未満であれば品質劣化が生じていない。
【００４２】
すると、演算部１２は、記憶部１１に記憶された回復後の振り分けテーブルＴ２を参照して、ハッシュ値の組（０，２）を検索する。前述のように、回復後の振り分けテーブルＴ２では、ハッシュ値の組（０，２）は物理リンクＬ１に対応付けられている。したがって、演算部１２は、リンクアグリゲーション区間における物理リンクＬ１で品質劣化が生じている可能性があることを検出できる。
【００４３】
例えば、演算部１２は、システムの管理者に検出結果を通知することで、管理者による通信品質の劣化箇所の特定作業を支援できる。通知方法としては、例えばシステムの管理者が利用するアカウント宛に通知用のメッセージを送信する、監視装置１０に接続された表示装置に通知用のメッセージや画像を表示する、などの方法を利用できる。すると、システムの管理者は、通知内容を閲覧して、中継装置２０ａ，２０ｂを調査し、通信品質の改善作業を行える。
【００４４】
図３は、第１の実施の形態の監視例を示すフローチャートである。以下、図３に示す処理をステップ番号に沿って説明する。ステップＳ１１の直前において、監視装置１０で監視用に適用されている振り分けテーブルは、振り分けテーブルＴ１である。また、回復後の振り分けテーブルＴ２も予め記憶部１１に格納される。
【００４５】
（Ｓ１１）演算部１２は、中継装置２０ａ，２０ｂの間のリンクアグリゲーション区間を流れるパケットの収集を行う。例えば、演算部１２は、中継装置２０（他の中継装置でもよい）のポートミラーリング機能を利用して、パケットを収集する。収集期間は、例えば１分間（２分間や５分間など他の長さでもよい）である。演算部１２は、収集した各パケットを取得した時間に対応付けて記憶部１１に格納する。
【００４６】
（Ｓ１２）演算部１２は、ステップＳ１１で収集したパケットに基づいてハッシュ値を取得する。具体的には、演算部１２は、パケットに含まれる送信元ＩＰアドレス（一部の値でもよい）および宛先ＩＰアドレス（一部の値でもよい）の組をハッシュ関数に代入することで、ハッシュ値を求める。その結果、演算部１２は、各時点のパケットに対応するハッシュ値を時系列に取得する。
【００４７】
（Ｓ１３）演算部１２は、ステップＳ１２のハッシュ値の取得結果に基づいて、複数のハッシュ値の観測が所定期間以上途絶したか否かを判定する。複数のハッシュ値の観測が所定期間（長さｔ）以上途絶した場合、処理をステップＳ１４に進める。複数のハッシュ値の観測が所定期間以上途絶していない場合、処理を終了する。複数のハッシュ値の観測が所定期間以上途絶している場合、何れかの物理リンクで障害が発生した可能性がある。
【００４８】
（Ｓ１４）演算部１２は、長さｔの所定期間以上途絶されたパケットのハッシュ値の組が何れかの物理リンクに対応するハッシュ値の組として振り分けテーブルＴ１にあるか否かを判定する。ある場合、処理をステップＳ１５に進める。ない場合、処理を終了する。例えば、所定期間以上観測が途絶したハッシュ値の組が（０，４）である場合、演算部１２は、振り分けテーブルＴ１には、物理リンクＬ１に対応する当該ハッシュ値の組（０，４）があると判定する。
【００４９】
（Ｓ１５）演算部１２は、リンクアグリゲーション区間の物理リンクの障害により、振り分けテーブルＴ１が変更されると判定する。例えば、所定期間以上観測が途絶したハッシュ値の組が（０，４）である場合、演算部１２は、振り分けテーブルＴ１から、ハッシュ値の組（０，４）に対応する物理リンクＬ１で障害が発生したと判定する。演算部１２は、物理リンクＬ１の障害に対する回復後の振り分けテーブルＴ２を特定する。
【００５０】
（Ｓ１６）演算部１２は、通信品質の監視に用いる振り分けテーブルを、振り分けテーブルＴ１から振り分けテーブルＴ２に変更する。変更のタイミングは、ステップＳ１５で物理リンクでの障害を検出してから、一定期間（例えば、中継装置２０ａ，２０ｂ間で物理リンク障害の自動復旧が完了すると予測される時間）を経過した後でもよい。
【００５１】
このようにして、監視装置１０は、上記の手順を繰り返し実行することで、リンクアグリゲーション区間における振り分けテーブルの変更の有無を判定する。また、監視装置１０は、通信品質の監視に用いる振り分けテーブルの変更を行うことで、リンクアグリゲーション区間における通信品質を適切に監視できる。
【００５２】
第１の実施の形態の例では、中継装置２０，２０ａ，２０ｂ，２０ｃを含むものとしたが、監視対象の中継装置の数は、２つや３つでもよいし、５つ以上でもよい。特に、ネットワークが大規模になるほど、監視対象の中継装置の数は増大し、品質劣化箇所の特定は困難になる。そこで、第１の実施の形態の方法を用いることで、通信品質の劣化箇所の特定に伴う管理者の作業の省力化を図れる。
【００５３】
なお、第１の実施の形態の例では、監視装置１０は中継装置２０に接続されるものとしたが、中継装置２０ａ，２０ｂ，２０ｃの何れかに接続されてもよい。監視装置１０は、中継装置２０ａ，２０ｂ，２０ｃの何れかから収集したパケットを用いても、第１の実施の形態と同様にして、リンクアグリゲーション区間における振り分けルールの変更を把握できる。
【００５４】
［第２の実施の形態］
図４は、第２の実施の形態の監視装置を示す図である。第２の実施の形態のネットワークの物理トポロジは、第１の実施の形態で例示したネットワークと同様であり、第１の実施の形態と同じ装置や物理リンクを同一名称・同一符号により示す。
【００５５】
第１の実施の形態の方法を用いることで、パケットを転送中の物理リンクでリンクダウンが発生する場合に、監視装置１０は、リンクアグリゲーション区間における振り分けルールの変更を把握できる。しかし、パケットを転送中でない物理リンクでリンクダウンが発生する場合、監視装置１０は、リンクダウンを見過ごす可能性がある。
【００５６】
そこで、第２の実施の形態では、パケットを転送中でない物理リンクでリンクダウンが発生した場合でも、収集したパケットに基づいて、リンクアグリゲーション区間における振り分けルールの変更を判定する機能を提供する。
【００５７】
監視装置１０は、記憶部１１および演算部１２を有する。記憶部１１は、振り分けテーブルＴ１を記憶する。また、記憶部１１は、中継装置２０，２０ａ，２０ｂ，２０ｃの間に存在する物理リンクの情報（物理トポロジの情報）を記憶する。
【００５８】
演算部１２は、ネットワークで転送されるパケットを中継装置２０から継続的に収集する。演算部１２は、前述のように、中継装置２０のポートミラーリング機能を利用してパケットを収集できる。
【００５９】
演算部１２は、収集したパケットに応じたハッシュ値を取得する。演算部１２は、中継装置２０ａ，２０ｂが用いるハッシュ化アルゴリズムと同じハッシュ化アルゴリズムを用いて、パケットに含まれる送信元アドレスおよび宛先アドレスの組に応じたハッシュ値を計算する。すなわち、演算部１２は、パケットの収集時刻毎に、収集されたパケットに応じたハッシュ値を取得する。
【００６０】
演算部１２は、パケットの収集期間中に一時的に取得が途絶えたハッシュ値の第１の組を特定する。一時的とは、例えば前述の時間ｔよりも短い時間である。演算部１２は、記憶部１１を参照して、物理リンクＬ１，Ｌ２，Ｌ３，Ｌ４それぞれに対応するハッシュ値の組のうち、第１の組と完全に一致する組を検索する。演算部１２は、第１の組と一致する組がない場合にリンクアグリゲーション区間における対応関係が変更されたと判定する。ハッシュ値の第１の組が、現在参照している振り分けルールに存在しないのであれば、振り分けルールが変更された可能性が高いからである。
【００６１】
これにより、パケットを転送中でない物理リンクでリンクダウンが発生したとしても、リンクアグリゲーション区間において振り分けルールが変更されたことを把握可能となる。具体的には、次の通りである。
【００６２】
例えば、物理リンクＬ１でリンクダウンが発生したとする。このとき、物理リンクＬ１でパケットが転送中でない点が、図１のケースと異なる。この場合、演算部１２は、リンクダウンが発生したタイミングでは、振り分けルールの変更を判定できない（物理リンクＬ１を通るパケットが収集されないため）。
【００６３】
図５は、第２の実施の形態の監視例を示す図である。例えば、物理リンクＬ１のリンクダウン中は、物理リンクＬ１に振り分けられていたハッシュ値“４”は物理リンクＬ３に、ハッシュ値“０”は物理リンクＬ４に振り分けられる。
【００６４】
このとき、演算部１２は、収集したパケットに基づいて、通信品質の劣化（例えば、パケットの損失率が閾値以上であること）が観測されたハッシュ値の第１の組（２，３，４）を特定したとする（図５の（５Ａ））。演算部１２は、記憶部１１に記憶された振り分けテーブルＴ１を参照して、第１の組（２，３，４）と完全に一致するハッシュ値の組（２，３，４）を検索する。振り分けテーブルＴ１には、第１の組（２，３，４）と一致する組が存在しない。したがって、演算部１２は、リンクアグリゲーション区間において、物理リンクとハッシュ値との対応関係が変更された（振り分けテーブルＴ１で示されるルールとは異なる振り分けルールに変更された）と判定する。
【００６５】
特に、この場合、振り分けテーブルＴ１には、ハッシュ値の組（２，３）が物理リンクＬ３に対応付けて登録されている。ハッシュ値の組（２，３，４）とハッシュ値の組（２，３）との差分はハッシュ値“４”である。振り分けテーブルＴ１では、ハッシュ値“４”は、ハッシュ値“０”とともに物理リンクＬ１に対応付けられている。よって、演算部１２は、ハッシュ値“４”が物理リンクＬ１から物理リンクＬ３へ収容替えされたものと判定し、物理リンクＬ１が障害によりダウンしたものと判断できる。すなわち、演算部１２は、現在、物理リンクＬ１がリンクダウン中であることを検出できる。また、演算部１２は、物理リンクＬ３で通信品質の劣化が生じていることも検出できる。
【００６６】
このようにして、監視装置１０は、リンクアグリゲーション区間における振り分けルールの変更を把握できる。例えば、演算部１２は、振り分けルールの変更を検出した後、回復後の振り分けテーブルＴ２を用いて、監視を継続することもできる。
【００６７】
具体的には、上記の例において、物理リンクＬ１が障害から回復すると、物理リンクＬ２，Ｌ３，Ｌ４に振り分けられているハッシュ値のうちの何れか２つが、回復後の物理リンクＬ１に振り分けられるようになる（図５の（５Ｂ））。例えば、物理リンクＬ１にハッシュ値の組（０，２）が振り分けられる。物理リンクＬ２にハッシュ値の組（１，５）が振り分けられる。物理リンクＬ３にハッシュ値の組（３，４）が振り分けられる。物理リンクＬ３にハッシュ値の組（６，７）が振り分けられる。
【００６８】
そこで、例えば振り分けテーブルＴ１に対応付けて、物理リンクＬ１，Ｌ２，Ｌ３，Ｌ４それぞれが障害によりダウンし、障害から回復した後の、回復後の振り分けテーブルＴ２を記憶部１１に予め格納しておいてもよい。回復後の振り分けテーブルＴ２は、例えば中継装置２０ａ，２０ｂを用いた事前の動作検証などによって得ることができる。例えば、物理リンクＬ１に対する回復後の振り分けテーブルＴ２は、各物理リンクとハッシュ値の組とを次のように対応付けている。第１には、物理リンクＬ１とハッシュ値の組（０，２）との対応である。第２には、物理リンクＬ２とハッシュ値の組（１，５）との対応である。第３には、物理リンクＬ３とハッシュ値の組（３，４）との対応である。第４には、物理リンクＬ４とハッシュ値の組（６，７）との対応である。
【００６９】
例えば、演算部１２は、ハッシュ値“０”、“２”の通信で通信品質の劣化が発生したことを、収集したパケットから検出する（図５の（５Ｃ））。すると、演算部１２は、記憶部１１に記憶された回復後の振り分けテーブルＴ２を参照して、ハッシュ値の組（０，２）を検索する。前述のように、回復後の振り分けテーブルＴ２では、ハッシュ値の組（０，２）は物理リンクＬ１に対応付けられている。したがって、演算部１２は、リンクアグリゲーション区間における物理リンクＬ１で通信品質の劣化が生じている可能性があることを検出できる。
【００７０】
例えば、演算部１２は、システムの管理者に検出結果を通知することで、管理者による通信品質の劣化箇所の特定作業を支援できる。通知方法としては、例えばシステムの管理者が利用するアカウント宛に通知用のメッセージを送信する、監視装置１０に接続された表示装置に通知用のメッセージや画像を表示する、などの方法を利用できる。すると、システムの管理者は、通知内容を閲覧して、中継装置２０ａ，２０ｂを調査し、通信品質の改善作業を行える。
【００７１】
なお、上述したように、演算部１２は、リンクダウン中の何れかの物理リンクで品質劣化が発生した可能性を振り分けテーブルＴ１から検出できる。このため、演算部１２は、リンクダウン中の品質劣化を検出してから所定時間（中継装置２０ａ，２０ｂの自動復旧が完了すると予測される時間）が経過した後に、振り分けテーブルＴ１から回復後の振り分けテーブルＴ２へ、参照するテーブルを変更してもよい。
【００７２】
図６は、第２の実施の形態の他の監視例を示す図である。図６の処理は、図４で示したリンクダウン発生後に行われる。図５の監視例では、演算部１２は、物理リンクＬ１がリンクダウン中のときに検出された通信品質の劣化により、リンクアグリゲーション区間において振り分けルールが変更されたと判定するものとした。一方、物理リンクＬ１がリンクダウン中のときに通信品質の劣化が検出されないこともある。その場合、演算部１２は、次のようにリンクアグリゲーション区間において振り分けルールが変更されたことを把握する。
【００７３】
例えば、物理リンクＬ１のリンクダウン中は、図５と同様に、物理リンクＬ１に振り分けられていたハッシュ値“４”は物理リンクＬ３に、同ハッシュ値“０”は物理リンクＬ４に振り分けられる（図６の（６Ａ））。ただし、リンクダウン中に通信品質の劣化が検出されない点が図５の（５Ａ）のケースと異なる。
【００７４】
ここで、中継装置２０ａ，２０ｂは、リンク回復した物理リンクに対してハッシュ値を新たに振り分ける際、振り分け対象のハッシュ値に対応する通信をある期間（待機期間）だけ停止する。前述のように、パケットの転送順序が逆転することを抑えるためである。中継装置２０ａ，２０ｂは、待機時間経過後に、回復した物理リンクを用いて、停止させた通信を再開する。待機期間の長さは、第１の実施の形態と同様に、例えば１秒から数秒程度であり、中継装置のベンダなどによって異なる。
【００７５】
演算部１２は、収集したパケットに基づいて、長さｔの期間以上取得が途絶えたハッシュ値の第１の組として、ハッシュ値の組（０，２）を特定する（図６の（６Ｂ））。長さｔは、上記の待機期間に応じて決定される。具体的には、長さｔは待機期間と同じ長さとすることができる。ただし、長さｔは、待機期間の長さと異なっていてもよい（例えば、待機期間よりも所定割合だけ短い長さとするなど）。
【００７６】
演算部１２は、記憶部１１に記憶された振り分けテーブルＴ１を参照して、第１の組（０，２）と完全に一致するハッシュ値の組（０，２）を検索する。振り分けテーブルＴ１には、第１の組（０，２）と一致する組が存在しない。したがって、演算部１２は、リンクアグリゲーション区間において、物理リンクとハッシュ値との対応関係が変更された（振り分けテーブルＴ１で示されるルールとは異なる振り分けルールＴ２に変更された）と判定する。
【００７７】
特に、この場合、振り分けテーブルＴ１で１つの物理リンクに対するハッシュ値の数“２”と、ハッシュ値の上記第１の組（０，２）に含まれるハッシュ値の数“２”とが等しい。ハッシュ値の数が一致するということは、リンク回復により、物理リンクＬ１，Ｌ２，Ｌ３，Ｌ４に対して、障害前と同様にハッシュ値が均等に振り分け直される兆候と判断できる。よって、演算部１２は、リンクアグリゲーション区間における振り分けルールが、リンク回復に応じて更に変更されると判定することも可能である。
【００７８】
このようにして、監視装置１０は、リンクアグリゲーション区間における振り分けルールの変更を把握できる。例えば、演算部１２は、振り分けルールの変更を検出した後、回復後の振り分けテーブルＴ２を用いて、監視を継続することもできる。例えば、上記の例において、物理リンクＬ２，Ｌ３，Ｌ４に振り分けられているハッシュ値のうちの何れか２つが回復後の物理リンクＬ１に振り分けられるようになる。
【００７９】
そこで、例えば振り分けテーブルＴ１に対応付けて、物理リンクＬ１，Ｌ２，Ｌ３，Ｌ４それぞれが障害によりダウンし、障害から回復した後の、回復後の振り分けテーブルＴ２を記憶部１１に予め格納しておいてもよい。回復後の振り分けテーブルＴ２は、例えば中継装置２０ａ，２０ｂを用いた事前の動作検証などによって得ることができる。
【００８０】
その後、演算部１２は、例えばハッシュ値“０”、“２”の通信で通信品質の劣化が発生したことを、収集したパケットから検出する（図６の（６Ｃ））。演算部１２は、通信品質の劣化が検出されたハッシュ値の組（０，２）が振り分けテーブルＴ１から検索できない場合に、回復後の振り分けテーブルＴ２からハッシュ値の組（０，２）を検索する。演算部１２は、回復後の振り分けテーブルＴ２にハッシュ値の組（０，２）が存在していれば、回復後の振り分けテーブルＴ２上でハッシュ値の組（０，２）に対応付けられている物理リンク（例えば、物理リンクＬ１）で、通信品質の劣化が発生している可能性があると検出できる。
【００８１】
例えば、演算部１２は、システムの管理者に検出結果を通知することで、管理者による通信品質の劣化箇所の特定作業を支援できる。通知方法としては、例えばシステムの管理者が利用するアカウント宛に通知用のメッセージを送信する、監視装置１０に接続された表示装置に通知用のメッセージや画像を表示する、などが考えられる。すると、システムの管理者は、通知内容を閲覧して、中継装置２０ａ，２０ｂを調査し、通信品質の改善作業を行える。
【００８２】
図７は、第２の実施の形態の監視例を示すフローチャートである。以下、図７に示す処理をステップ番号に沿って説明する。ステップＳ２１の直前において、監視装置１０で監視用に適用されている振り分けテーブルは、振り分けテーブルＴ１である。また、回復後の振り分けテーブルＴ２も予め記憶部１１に格納される。
【００８３】
（Ｓ２１）演算部１２は、中継装置２０ａ，２０ｂの間のリンクアグリゲーション区間を流れるパケットの収集を行う。例えば、演算部１２は、中継装置２０（他の中継装置でもよい）のポートミラーリング機能を利用して、パケットを収集する。収集期間は、例えば１分間（２分間や５分間など他の長さでもよい）である。演算部１２は、収集した各パケットを取得した時間に対応付けて記憶部１１に格納する。
【００８４】
（Ｓ２２）演算部１２は、ステップＳ２１で収集したパケットに基づいてハッシュ値を取得する。具体的には、演算部１２は、パケットに含まれる送信元ＩＰアドレス（一部の値でもよい）および宛先ＩＰアドレス（一部の値でもよい）の組をハッシュ関数に代入することで、ハッシュ値を求める。その結果、演算部１２は、各時点のパケットに対応するハッシュ値を時系列に取得する。
【００８５】
（Ｓ２３）演算部１２は、ステップＳ２２のハッシュ値の取得結果に基づいて、複数のハッシュ値の観測が一時的に途絶えたか否かを判定する。複数のハッシュ値の観測が一時的に途絶えた場合、処理をステップＳ２４に進める。複数のハッシュ値の観測が一時的に途絶えていない場合、処理を終了する。
【００８６】
（Ｓ２４）演算部１２は、一時的に途絶えたパケットのハッシュ値の組が何れかの物理リンクに対応するハッシュ値の組として振り分けテーブルＴ１にないかを判定する。ない場合、処理をステップＳ２５に進める。ある場合、処理を終了する（この場合、途絶の状況に応じて振り分けテーブルＴ１の該当の組に対応する物理リンクで品質劣化が発生した可能性があると判定してもよい）。例えば、一時的に途絶えたハッシュ値の組が（２，３，４）である場合、振り分けテーブルＴ１には、当該ハッシュ値の組が存在していない。一方、例えば、一時的に途絶えたハッシュ値の組が（１，５）である場合、振り分けテーブルＴ１には当該ハッシュ値の組（１，５）が存在している。
【００８７】
（Ｓ２５）演算部１２は、リンクアグリゲーション区間の物理リンクの障害により、振り分けテーブルＴ１が変更されたと判定する。例えば、一時的に途絶えたハッシュ値の組が（２，３，４）である場合、演算部１２は、振り分けテーブルＴ１から、ハッシュ値の組（０，４）に対応する物理リンクＬ１で障害が発生したと判定する。なぜなら、振り分けテーブルＴ１に存在するハッシュ値の組（２，３）と一時的に途絶えたハッシュ値の組（２，３，４）との差分のハッシュ値“４”は、現在の振り分けテーブルＴ１で物理リンクＬ１に対応付けられているからである。すなわち、この場合、物理リンクＬ１の障害によりハッシュ値（０，４）が別の物理リンクに収容替えされたものと判断できる。演算部１２は、物理リンクＬ１の障害に対する回復後の振り分けテーブルＴ２を特定する。
【００８８】
（Ｓ２６）演算部１２は、通信品質の監視に用いる振り分けテーブルを、振り分けテーブルＴ１から振り分けテーブルＴ２に変更する。変更のタイミングは、ステップＳ２５で物理リンクでの障害を検出してから、一定期間（例えば、中継装置２０ａ，２０ｂ間で物理リンク障害の自動復旧が完了すると予測される時間）を経過した後でもよい。
【００８９】
このようにして、監視装置１０は、リンクアグリゲーション区間における振り分けテーブルの変更を判定する。また、監視装置１０は、監視に用いる振り分けテーブルの変更を行うことで、リンクアグリゲーション区間における通信品質を適切に監視できる。
【００９０】
なお、ステップＳ２５では、図６で例示したように、所定期間以上の途絶が検出されたハッシュ値がある場合に当該ハッシュ値の数（例えば、（０，２）であれば“２”）と、振り分けテーブルＴ１で各物理リンクに対応付けられたハッシュ値の数（例えば、“２”）とが一致するかを判定してもよい。一致する場合、前述のように当該途絶をリンク回復時の現象と判断し、演算部１２は、リンク回復により振り分けテーブルＴ１が更に変更されると判定してもよい。
【００９１】
あるいは、演算部１２は、回復後の振り分けテーブルＴ２が記憶部１１に格納されている場合、所定期間以上の途絶が検出されたハッシュ値の組（例えば、（０，２））が、振り分けテーブルＴ１にはないが回復後の振り分けテーブルＴ２にはあることを検出してもよい。その場合も、演算部１２は、リンク回復により振り分けテーブルＴ１が更に変更されると判断できる。更に、演算部１２は、監視に用いる振り分けテーブルを、途絶が検出されたハッシュ値の組（０，２）を含む回復後の振り分けテーブルＴ２に変更すると決定してもよい。
【００９２】
また、上記の例では監視装置１０は中継装置２０に接続されるものとしたが、中継装置２０ａ，２０ｂ，２０ｃの何れかに接続されてもよい。監視装置１０は、中継装置２０ａ，２０ｂ，２０ｃの何れかから収集したパケットを用いても、第２の実施の形態の方法と同様にして、リンクアグリゲーション区間における振り分けルールの変更を把握できる。
【００９３】
［第３の実施の形態］
図８は、第３の実施の形態の情報処理システムを示す図である。第３の実施の形態の情報処理システムは、監視サーバ１００、スイッチ２００，２００ａ，２００ｂ，２００ｃ、クライアント３００，３００ａ，３００ｂおよびサーバ４００，４００ａ，４００ｂを有する。第３の実施の形態の情報処理システムでは、クライアント３００，３００ａ，３００ｂそれぞれのユーザは、サーバ４００，４００ａ，４００ｂによって提供される各種のサービスを利用できる。
【００９４】
第３の実施の形態の各装置は、所定のケーブル（例えば、ＴＰケーブルなど）を用いて次のように接続されている。監視サーバ１００は、スイッチ２００に接続されている。クライアント３００，３００ａ，３００ｂは、スイッチ２００に接続されている。スイッチ２００はスイッチ２００ａに接続されている。スイッチ２００ａは、スイッチ２００ｂに接続されている。スイッチ２００ｂは、スイッチ２００ｃに接続されている。スイッチ２００ｃは、サーバ４００，４００ａ，４００ｂに接続されている。
【００９５】
ここで、スイッチ２００ａ，２００ｂの間は、４本のケーブル（すなわち、４つの物理リンク）で接続されている。スイッチ２００ａ，２００ｂが備える各ポートは、ポート番号によって識別される。スイッチ２００ａ，２００ｂの同じポート番号で識別されるポート同士が、１本のケーブルで接続され、１つの物理リンクを形成する。
【００９６】
スイッチ２００ａ，２００ｂは、ＬＡＣＰを用いて相互に通信し、スイッチ２００ａ，２００ｂの間の４つの物理リンクを集約して１つに束ね、スイッチ２００ａ，２００ｂの間にリンクアグリゲーション区間を形成する。この場合、４つの物理リンクを１つのリンクアグリゲーショングループ（ＬＡＧ）と呼ぶことができる。
【００９７】
監視サーバ１００は、ネットワークで転送されるパケットを収集、分析するサーバコンピュータである。監視サーバ１００は、収集したパケットから通信品質の劣化状況を分析することで、サーバ４００，４００ａ，４００ｂによるサービス品質（例えば、通信速度および音声／映像などのコンテンツ配信の品質など）の向上を支援する。
【００９８】
スイッチ２００，２００ａ，２００ｂ，２００ｃは、クライアント３００，３００ａ，３００ｂおよびサーバ４００，４００ａ，４００ｂ間の通信を中継する中継装置である。スイッチ２００，２００ａ，２００ｂ，２００ｃとして、ＯＳＩ参照モデルの第３層でパケットを転送するレイヤ３スイッチやルータを用いることができる。
【００９９】
ここで、スイッチ２００ａ，２００ｂの間には、前述のようにリンクアグリゲーション区間が存在している。スイッチ２００ａ，２００ｂは、パケットに含まれる送信元ＩＰアドレスおよび宛先ＩＰアドレスの組に応じたハッシュ値に基づいて、ＬＡＧに属する何れの物理リンクからパケットを送出するかを決定する。スイッチ２００ａ，２００ｂは、あるハッシュ値に対応するパケットを何れの物理リンクから送出するかを決定するための情報を保持する。ここで、送信元ＩＰアドレスおよび宛先ＩＰアドレスの組によって識別されるパケットの流れを、フローと称することがある。
【０１００】
１つの物理リンクには、複数のハッシュ値（ハッシュ値の組）が対応付けられる。ＬＡＧに属する全ての物理リンクが正常である場合、各物理リンクに均等に（同じ数の）ハッシュ値が振り分けられる。
【０１０１】
スイッチ２００ａ，２００ｂの間の何れかの物理リンクが障害によりダウンすることがある。スイッチ２００ａ，２００ｂは、何れかの物理リンクが障害によりリンクダウンすると、ダウンした物理リンクに振り分けられたハッシュ値を、他の正常な物理リンクに振り分ける。また、スイッチ２００ａ，２００ｂは、ダウンした物理リンクを自動的に復旧させる機能を有している。ダウンした物理リンクが障害から回復すると、スイッチ２００ａ，２００ｂは、再度、各物理リンクに均等に（同じ数の）ハッシュ値を振り分けるようになる。このとき、リンクダウン前とリンク回復後とでは、スイッチ２００ａ，２００ｂによるハッシュ値の振り分けルールＴ１は変更される。そこで、監視サーバ１００は、振り分けルールの変更を考慮して監視を行う。
【０１０２】
クライアント３００，３００ａ，３００ｂは、ユーザが利用するクライアントコンピュータである。例えば、クライアント３００のユーザは、サーバ４００，４００ａ，４００ｂが提供する各種のサービスを利用できる。クライアント３００ａ，３００ｂそれぞれのユーザも同様である。
【０１０３】
サーバ４００，４００ａ，４００ｂは、クライアント３００，３００ａ，３００ｂに各種のサービスを提供するサーバコンピュータである。
図９は、第３の実施の形態の監視サーバのハードウェア例を示す図である。監視サーバ１００は、プロセッサ１０１、ＲＡＭ１０２、ＨＤＤ１０３、画像信号処理部１０４、入力信号処理部１０５、媒体リーダ１０６および通信インタフェース１０７を有する。各ユニットは監視サーバ１００のバスに接続されている。クライアント３００，３００ａ，３００ｂやサーバ４００，４００ａ，４００ｂも監視サーバ１００と同様のユニットを用いて実現できる。
【０１０４】
プロセッサ１０１は、監視サーバ１００の情報処理を制御する。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ、ＤＳＰ、ＡＳＩＣまたはＦＰＧＡなどである。プロセッサ１０１は、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどのうちの２以上の要素の組み合わせであってもよい。
【０１０５】
ＲＡＭ１０２は、監視サーバ１００の主記憶装置である。ＲＡＭ１０２は、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１０２は、プロセッサ１０１による処理に用いる各種データを記憶する。
【０１０６】
ＨＤＤ１０３は、監視サーバ１００の補助記憶装置である。ＨＤＤ１０３は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３は、ＯＳのプログラム、アプリケーションプログラム、および各種データを記憶する。監視サーバ１００は、フラッシュメモリやＳＳＤ（Solid State Drive）などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
【０１０７】
画像信号処理部１０４は、プロセッサ１０１からの命令に従って、監視サーバ１００に接続されたディスプレイ５１に画像を出力する。ディスプレイ５１としては、ＣＲＴ（Cathode Ray Tube）ディスプレイや液晶ディスプレイなどを用いることができる。
【０１０８】
入力信号処理部１０５は、監視サーバ１００に接続された入力デバイス５２から入力信号を取得し、プロセッサ１０１に出力する。入力デバイス５２としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
【０１０９】
媒体リーダ１０６は、記録媒体５３に記録されたプログラムやデータを読み取る装置である。記録媒体５３として、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）を使用できる。また、記録媒体５３として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。媒体リーダ１０６は、例えば、プロセッサ１０１からの命令に従って、記録媒体５３から読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【０１１０】
通信インタフェース１０７は、所定のケーブルを用いて、スイッチ２００が備える複数のポートの何れかに接続される。通信インタフェース１０７は、スイッチ２００を介して他の装置と通信を行う。
【０１１１】
図１０は、第３の実施の形態の監視サーバの機能例を示す図である。監視サーバ１００は、振り分けルール記憶部１１０、障害情報記憶部１２０、品質計測結果記憶部１３０、送受信部１４０、ＭＩＢ（Management Information Base）取得部１５０、トポロジ管理部１６０、品質計測部１７０、障害箇所判定部１８０および表示制御部１９０を有する。
【０１１２】
振り分けルール記憶部１１０、障害情報記憶部１２０および品質計測結果記憶部１３０は、ＲＡＭ１０２またはＨＤＤ１０３に確保された記憶領域として実現できる。送受信部１４０、ＭＩＢ取得部１５０、トポロジ管理部１６０、品質計測部１７０、障害箇所判定部１８０および表示制御部１９０は、プロセッサ１０１が所定のプログラムを実行することで実現できる。
【０１１３】
振り分けルール記憶部１１０は、振り分けルールおよび振り分けルールの変更パターンの情報を記憶する。振り分けルールは、スイッチ２００ａ，２００ｂの間で、パケットに含まれる送信元ＩＰアドレスおよび宛先ＩＰアドレスの組から算出されるハッシュ値がＬＡＧに属する何れの物理リンクに振り分けられるかを示す情報である。振り分けルールは、初期の振り分けルール、および、ＬＡＧの物理リンクが障害によりダウンし、障害から回復した後の回復後の振り分けルールの複数の候補を含む。
【０１１４】
振り分けルールの変更パターンは、スイッチのベンダによって異なる。そこで、振り分けルール記憶部１１０は、各ベンダのスイッチを用いて、振り分けルールの初期設定と、何れの物理リンクがダウン／回復したかに応じた回復後の振り分けルールの候補とを、ベンダの識別情報に対応付けて予め記憶する。すると、情報処理システムの管理者（監視サーバ１００を利用する者であり、ユーザと呼ぶこともできる）は、ベンダの識別情報を監視サーバ１００に入力することで、監視サーバ１００が監視に用いる振り分けルールを容易に設定可能となる。
【０１１５】
障害情報記憶部１２０は、障害情報を記憶する。障害情報は、スイッチ２００ａ，２００ｂの間の各物理リンクにおける障害の発生状況を管理するための情報である。障害情報は、障害箇所判定部１８０によって更新される。
【０１１６】
品質計測結果記憶部１３０は、ネットワークにおける通信品質の計測結果を、ハッシュ値に対応付けて記憶する。通信品質の計測は、品質計測部１７０によって行われる。
送受信部１４０は、スイッチ２００で設定されたミラーポートからネットワークに流れるパケットを受信し、受信した時刻に対応付けてＲＡＭ１０２またはＨＤＤ１０３の記憶領域に格納する。送受信部１４０が収集したパケットは、品質計測部１７０による品質計測に用いられる。
【０１１７】
また、送受信部１４０は、ＭＩＢ取得部１５０の指示に応じてスイッチ２００，２００ａ，２００ｂ，２００ｃとＳＮＭＰ（Simple Network Management Protocol）による通信を行う。送受信部１４０は、ＳＮＭＰを用いてＬＬＤＰに関するＭＩＢ情報をスイッチ２００，２００ａ，２００ｂ，２００ｃから収集する。送受信部１４０が収集したＭＩＢ情報は、トポロジ管理部１６０によるスイッチ間の物理的な接続関係（トポロジと呼ばれることもある）の取得に用いられる。
【０１１８】
ＭＩＢ取得部１５０は、ＬＬＤＰに関するＭＩＢ情報を収集するために、送受信部１４０にＳＮＭＰ通信を指示する。例えば、ＭＩＢ取得部１５０は、ＬＬＤＰに関するＭＩＢ情報を収集するために、監視対象のスイッチに応じたＭＩＢオブジェクトを指定したＳＮＭＰ要求を生成し、監視対象のスイッチを宛先として送受信部１４０に送信させる。ＭＩＢ取得部１５０は、ＳＮＭＰ要求に応じたＳＮＭＰ応答（ＭＩＢ情報）を、送受信部１４０を介してスイッチから取得し、ＲＡＭ１０２またはＨＤＤ１０３の記憶領域に格納する。なお、ＭＩＢ取得部１５０は、スイッチ間のトポロジを取得するための情報として、ＣＤＰに関するＭＩＢ情報を収集してもよい。
【０１１９】
トポロジ管理部１６０は、送受信部１４０およびＭＩＢ取得部１５０を用いて収集されたＭＩＢ情報に基づいて、スイッチ間のトポロジを取得する。これにより、トポロジ管理部１６０は、スイッチ２００，２００ａの間に物理リンクが１つ、２００ａ，２００ｂの間にＬＡＧを形成する物理リンクが４つ、スイッチ２００ｂ，２００ｃの間に物理リンクが１つ存在することを把握する。トポロジ管理部１６０は、スイッチ間のトポロジを示す情報を生成し、ＲＡＭ１０２またはＨＤＤ１０３の記憶領域に格納する。トポロジを示す情報は、障害箇所判定部１８０による障害箇所判定の処理に用いられる。
【０１２０】
品質計測部１７０は、送受信部１４０が収集したパケットに基づいて、ネットワークにおける通信品質を計測し、通信品質の計測結果を、品質計測結果記憶部１３０に格納する。品質計測部１７０は、パケットに含まれる送信元ＩＰアドレスおよび宛先ＩＰアドレスの組から算出されるハッシュ値毎に、パケットの損失が発生しているか否かを監視する。品質計測部１７０は、パケットのヘッダに含まれるＩＤ（IDentifier）フィールドに設定された情報に基づいて、パケットの損失の有無を計測する。例えば、パケットの送信元の装置は、ＩＤフィールドの設定値（ＩＤ）をインクリメントしながらパケットを順次送信する。この場合、品質計測部１７０は、あるフローにおいて観測されるＩＤが途切れたとき、該当のフローにおけるパケットの損失を検出できる。また、品質計測部１７０は、欠落したＩＤの数から損失したパケットの数を把握できる。
【０１２１】
品質計測部１７０は、パケットの損失状況に応じて品質劣化が発生しているか否かを判定する。品質計測部１７０は、あるハッシュ値に対応するフローにおいて、送受信されるパケット数に対する損失したパケット数の割合（パケットの損失率）と閾値との比較に応じて、品質劣化の有無を判定する。すなわち、パケットの損失率が閾値（例えば、１％など）以上であれば品質劣化があると判定する。一方、パケットの損失率が閾値よりも小さければ品質劣化がないと判定する。
【０１２２】
障害箇所判定部１８０は、品質計測部１７０による品質計測結果を参照して、品質劣化のある複数のフローに対応するハッシュ値の組と完全に一致するハッシュ値の組を、振り分けルールに登録されたハッシュ値の組の中から検索する。障害箇所判定部１８０は、該当のハッシュ値の組を検索できた場合に、振り分けルールにおいて当該ハッシュ値の組に対応付けられた物理リンクが原因となって、通信品質の劣化が生じていると判定する。障害箇所判定部１８０は、振り分けルールにおいて、該当のハッシュ値の組を検索できない場合は、品質劣化の原因はＬＡＧに属する物理リンクではないと判定する。
【０１２３】
このとき、障害箇所判定部１８０は、障害情報の登録結果に基づいて、何れの振り分けルールからハッシュ値の組を検索するかの選択を行う。すなわち、障害箇所判定部１８０は、過去の所定時間内に発生した障害情報の登録がなければ、現在参照中の振り分けルールを選択する。一方、障害箇所判定部１８０は、過去の所定時間内に発生した障害情報の登録があれば、障害情報に応じた回復後の振り分けルールを選択する。障害箇所判定部１８０は、収集されたパケットに基づいて、物理リンクにおける障害の可能性を検知し、上記障害情報の記録も行う。
【０１２４】
表示制御部１９０は、ディスプレイ５１によるＧＵＩ（Graphical User Interface）の表示を制御する。具体的には、障害箇所判定部１８０によりＬＡＧに属する何れかの物理リンクで通信品質の劣化が発生していると判定された場合、表示制御部１９０は該当の物理リンクで通信品質の劣化が発生している旨をディスプレイ５１に表示させる。
【０１２５】
また、表示制御部１９０は、システムの管理者による、ＬＡＧにおける振り分けルールの設定登録を支援するＧＵＩをディスプレイ５１に表示させる。表示制御部１９０は、管理者によって入力された振り分けルールを振り分けルール記憶部１１０に格納する。あるいは、表示制御部１９０は、システムの管理者による、ベンダの識別情報の入力を受け付けることもできる。障害箇所判定部１８０は、入力されたベンダの識別情報に基づいて、振り分けルール記憶部１１０に格納済みの振り分けルールの中から、監視に用いる振り分けルールを選択し、障害箇所判定の処理を行う。
【０１２６】
図１１は、第３の実施の形態のＩＰヘッダの例を示す図である。ＩＰヘッダ６０は、２０バイト（ただし、可変長のＯｐｔｉｏｎフィールドを除いたサイズ）の情報である。ＩＰヘッダ６０には、送信元ＩＰアドレス（Source IP Address）や宛先ＩＰアドレス（Destination IP Address）などの種々のフィールドが含まれる。前述のように、一連のパケットの送信元の装置は、ＩＤフィールドの設定値をインクリメントしながら、各パケットを宛先の装置へ送信する。
【０１２７】
このため、品質計測部１７０は、ＩＰヘッダ６０に含まれるＩＤフィールドの設定値を基に、パケットが順番通り送信されているかなどをチェックすることで、フロー毎にパケットの損失の有無を判定できる。例えば、品質計測部１７０は、連続するＩＤを、収集したパケットから欠落なく観測できる場合、該当のフローではパケットの損失がないと判定できる。一方、品質計測部１７０は、連続するＩＤのうちの一部の欠落を観測した場合、該当のフローにおいてパケットの損失があると判定できる。品質計測部１７０は、連続するＩＤのうち、欠落しているＩＤの数を判別することで、損失したパケットの数を取得できる。
【０１２８】
図１２は、第３の実施の形態の振り分けテーブルＴ１の例を示す図である。振り分けテーブル１１１は、パケットに含まれるアドレスに基づいて算出されるハッシュ値が、スイッチ２００ａ，２００ｂの間のＬＡＧに属する何れの物理リンクに振り分けられるかを示す。また、振り分けテーブル１１１は、スイッチ２００ａ，２００ｂが稼働を開始した当初の振り分けルールを示す情報である。
【０１２９】
振り分けテーブル１１１は、ポート番号およびアドレスのハッシュ値の項目を含む。ポート番号の項目には、物理リンクに対応するポート番号が登録される。ここで、前述のように、スイッチ２００ａ，２００ｂの同じポート番号で識別されるポート同士が、ケーブルで接続され、１つの物理リンクを形成する。このため、ポート番号によってスイッチ２００ａ，２００ｂの間の１つの物理リンクを識別できる。アドレスのハッシュ値の項目には、物理リンクに振り分けられるアドレスのハッシュ値の組が登録される。
【０１３０】
ここで、第３の実施の形態の例では、スイッチ２００ａ，２００ｂは、各フローを０〜７の８つのハッシュ値に対応づける。各フローに対応するハッシュ値の計算には、例えば送信元ＩＰアドレスおよび宛先ＩＰアドレスに含まれる特定のビットに対する所定のビット演算を用いることができる。品質計測部１７０および障害箇所判定部１８０は、各フローのハッシュ値を求める際には、スイッチ２００ａ，２００ｂと同じ演算を用いる。
【０１３１】
例えば、振り分けテーブル１１１には、ポート番号“１”、アドレスのハッシュ値“０，４”という情報が登録される。これは、ポート番号“１”で識別される物理リンクに対して、ハッシュ値の組（０，４）が振り分けられることを示す。他の物理リンクに対しても、同様にしてハッシュ値の組が対応付けられる。ここで、第３の実施の形態では、ＬＡＧに属する４つの物理リンクが全て正常な場合において、１つの物理リンク当たり２つのハッシュ値が振り分けられる例を示している。
【０１３２】
振り分けテーブル１１２，１１３，１１４，１１５は、振り分けテーブル１１１で示される振り分けルールがＬＡＧに適用されている際に、何れかの物理リンクが障害によりダウンし、その後復旧したときの回復後の振り分けルールの候補である。振り分けテーブル１１２，１１３，１１４，１１５をリンク障害からの復旧後の振り分けルールの候補ということもできる。
【０１３３】
振り分けテーブル１１２は、ポート番号“１”で識別される物理リンクで障害が発生し、障害から回復した場合の回復後の振り分けルールを示す。振り分けテーブル１１３は、ポート番号“２”で識別される物理リンクで障害が発生し、障害から回復した場合の回復後の振り分けルールを示す。振り分けテーブル１１４は、ポート番号“３”で識別される物理リンクで障害が発生し、障害から回復した場合の回復後の振り分けルールを示す。振り分けテーブル１１５は、ポート番号“４”で識別される物理リンクで障害が発生し、障害から回復した場合の回復後の振り分けルールを示す。
【０１３４】
振り分けテーブル１１２，１１３，１１４，１１５も振り分けテーブル１１１と同様にアドレスのハッシュ値と振り分け先のポート番号との対応関係を示している。ただし、図１２では、振り分けテーブル１１２，１１３，１１４，１１５においてポート番号の項目の図示を省略している。振り分けテーブル１１２，１１３，１１４，１１５それぞれに含まれる４つのレコードは、上から順番にポート番号“１”、“２”、“３”、“４”にそれぞれ対応付けられている。
【０１３５】
振り分けルール記憶部１１０には、振り分けテーブル１１２，１１３，１１４，１１５それぞれを起点として、物理リンク障害／回復が発生したときの回復後の振り分けテーブルの候補を、更に複数登録しておくこともできる。
【０１３６】
ＬＡＧにおける振り分けルールの変更パターンは、スイッチのベンダに応じて異なる。システムの管理者は、以下に示すＧＵＩを用いて、振り分けルールおよび変更パターンを、ベンダの識別情報に対応付けて、振り分けルール記憶部１１０に予め登録することができる。振り分けテーブル１１１，１１２，１１３，１１４，１１５および振り分けテーブル１１１から振り分けテーブル１１２，１１３，１１４，１１５への変更パターンの情報は、例えばベンダの識別情報“Ａ”に対応付けて振り分けルール記憶部１１０に登録される。また、予め登録された振り分けルールをベンダの識別情報を指定することで容易に呼び出すこともできる。
【０１３７】
図１３は、第３の実施の形態のＧＵＩの例を示す図である。ＧＵＩ７０は、表示制御部１９０によって生成され、ディスプレイ５１により表示される。ＧＵＩ７０は、ベンダ選択フォーム７１、入力フォーム７２，７３，７４，７５，７６およびボタン７７，７８，７９を含む。管理者は、ＧＵＩ７０を閲覧しながら、入力デバイス５２を操作することで、ＧＵＩ７０上に表示されるポインタＰ１を移動させ、設定を行いたい入力フォームの選択やボタンの押下などを行える。また、管理者は、選択した入力フォームに設定値を入力することができる。
【０１３８】
ベンダ選択フォーム７１は、登録済のベンダの識別情報を選択するためのプルダウンである。表示制御部１９０は、ポインタＰ１によりベンダ選択フォーム７１が選択されると、登録済のベンダの識別情報をリスト表示させ、ポインタＰ１による何れかのベンダの選択を可能とする。表示制御部１９０は、選択されたベンダの識別情報に応じた振り分けルールを振り分けルール記憶部１１０から取得し、入力フォーム７２，７３，７４，７５，７６のテキストボックスに表示させる。図１３の例では、ベンダの識別情報“Ａ”が選択されている。
【０１３９】
入力フォーム７２は、振り分けルールの初期値を入力するためのフォームである。入力フォーム７２には、ポート番号（すなわち、物理リンク）に対応付けられた４つのテキストボックスが表示されている。例えば、ベンダ選択フォーム７１でベンダの識別情報“Ａ”が選択される場合、入力フォーム７２の各テキストボックスには、振り分けテーブル１１１の設定内容が表示される。ここで、入力フォーム７３，７４，７５，７６にも、ポート番号に対応付けられた４つのテキストボックスが表示される。
【０１４０】
入力フォーム７３は、ポート番号“１”の物理リンクで障害が発生し、障害から回復したときの回復後の振り分けルールを入力するためのフォームである。例えば、ベンダ選択フォーム７１でベンダの識別情報“Ａ”が選択される場合、入力フォーム７３の各テキストボックスには、振り分けテーブル１１２の設定内容が表示される。
【０１４１】
入力フォーム７４は、ポート番号“２”の物理リンクで障害が発生し、障害から回復したときの回復後の振り分けルールを入力するためのフォームである。例えば、ベンダ選択フォーム７１でベンダの識別情報“Ａ”が選択される場合、入力フォーム７４の各テキストボックスには、振り分けテーブル１１３の設定内容が表示される。
【０１４２】
入力フォーム７５は、ポート番号“３”の物理リンクで障害が発生し、障害から回復したときの回復後の振り分けルールを入力するためのフォームである。例えば、ベンダ選択フォーム７１でベンダの識別情報“Ａ”が選択される場合、入力フォーム７５の各テキストボックスには、振り分けテーブル１１４の設定内容が表示される。
【０１４３】
入力フォーム７６は、ポート番号“４”の物理リンクで障害が発生し、障害から回復したときの回復後の振り分けルールを入力するためのフォームである。例えば、ベンダ選択フォーム７１でベンダの識別情報“Ａ”が選択される場合、入力フォーム７６の各テキストボックスには、振り分けテーブル１１５の設定内容が表示される。
【０１４４】
管理者は、入力フォーム７２，７３，７４，７５，７６に含まれるテキストボックスをポインタＰ１により選択し、各テキストボックスに表示されている設定値を変更することもできる。
【０１４５】
ボタン７７は、新たに登録する振り分けルールを読み込む際に押下されるボタンである。表示制御部１９０は、ボタン７７が押下されると、振り分けルールの登録用のデータ（ルール登録データ）をユーザに選択させるダイアログをディスプレイ５１に表示させる。表示制御部１９０は、選択されたルール登録データで記述される振り分けルールの内容を、ＧＵＩ７０上に表示させる。表示制御部１９０は、ＬＡＧに属する物理リンクの数に応じて、入力フォーム７２，７３，７４，７５，７６に表示させるテキストボックスの数を変更させる。
【０１４６】
ボタン７８は、ＧＵＩ７０に表示された振り分けルールを振り分けルール記憶部１１０に登録する際に押下されるボタンである。表示制御部１９０は、ボタン７８が押下されると、ＧＵＩ７０上で入力されているベンダの識別情報に対応付けて、入力フォーム７２，７３，７４，７５，７６の入力内容（すなわち、振り分けルールおよび変更パターン）を振り分けルール記憶部１１０に格納する。
【０１４７】
ボタン７９は、ＧＵＩ７０に入力された設定内容を用いたネットワークの監視を、監視サーバ１００に開始させる際に押下されるボタンである。例えば、表示制御部１９０は、ＧＵＩ７０で示される振り分けルールを用いたネットワーク監視を、障害箇所判定部１８０に開始させる。
【０１４８】
図１４は、第３の実施の形態のルール登録データの例を示す図である。ルール登録データ８０は、図１２，１３で例示した振り分けルールを、振り分けルール記憶部１１０に登録するためのデータを例示している。表示制御部１９０は、ＧＵＩ７０において、ボタン７７が押下され、ダイアログからルール登録データ８０が選択されると、ルール登録データ８０の内容をＧＵＩ７０に表示させる。
【０１４９】
ルール登録データ８０は、ＨＤＤ１０３などに予め格納されていてもよい（例えば、スイッチのベンダから入手してもよい）。あるいは、管理者が、スイッチ２００ａ，２００ｂを用いた動作試験を行って、ルール登録データ８０を予め作成し、ＨＤＤ１０３などに格納しておくこともできる。図１４において、ルール登録データ８０の左側の番号（１〜２６の番号）は、便宜的に付与した行番号である。
【０１５０】
１行目は、“＃Ｖｅｎｄｏｒ  Ａ”という情報である。これは、以降に示される情報がベンダの識別情報“Ａ”に対応付けられる情報であることを示す。
２行目は、“＃ｉｎｉｔｉａｌ  Ｔａｂｌｅ”という情報である。これは、以降に示される情報が、システムが稼働開始した際の振り分けルールであることを示す。３〜６行目は、それぞれ、ハッシュ値の組“０，４”、“１，５”、“２，３”、“６，７”を示す情報である。
【０１５１】
７行目は、“＃Ｐｏｒｔ１  Ｆａｉｌｕｒｅ”という情報である。これは、以降に示される情報が、ポート番号“１”の物理リンクで障害が発生し、障害が回復した後の振り分けルールであることを示す。この場合、表示制御部１９０は、３〜６行目までをシステムが稼働開始した際の振り分けルールと判別する。３〜６行目の４行に渡り、ハッシュ値の組が４つ設定されている。表示制御部１９０は、行番号の小さい方のハッシュ値の組から順に、ポート番号“１”の物理リンク、ポート番号“２”の物理リンク、・・・と対応付けることができる。同様に、ポート番号“１”の物理リンクでの障害に応じた回復後の振り分けルールも、８〜１１行目の情報により示される。
【０１５２】
同様に、１２行目は、“＃Ｐｏｒｔ２  Ｆａｉｌｕｒｅ”という情報である。これは、以降に示される情報（１７行目の“＃Ｐｏｒｔ３  Ｆａｉｌｕｒｅ”の直前の１６行目まで）がポート番号“２”の物理リンクで障害が発生し、障害が回復した後の振り分けルールであることを示す。ポート番号“３”、“４”それぞれの物理リンクの障害に応じた回復後の振り分けルールも、同様に記述される。
【０１５３】
なお、ルール登録データの２６行目よりも後に他のベンダに関する振り分けルールを記述してもよい。例えば、２７行目に“＃Ｖｅｎｄｏｒ  Ｂ”という情報があれば、表示制御部１９０は、２８行目以降の情報が、ベンダの識別情報“Ａ”ではなく、ベンダの識別情報“Ｂ”に対応付けられる情報であると判別できる。更に、振り分けルール記憶部１１０には、ルール登録データ８０の形式によって、振り分けルールおよび振り分けルールの変更パターンの情報が登録されてもよい。
【０１５４】
図１５は、第３の実施の形態の障害管理テーブルの例を示す図である。障害管理テーブル１２１は、障害情報記憶部１２０に格納される。障害管理テーブル１２１は、現在の振り分けルールに登録されているハッシュ値の組のうち、所定長さの一期間に観測が途絶えたハッシュ値の組を管理するためのテーブルである。ハッシュ値の観測が途絶えたことは、観測が途絶えたハッシュ値に対応するフローでパケットの転送の途絶が発生したことを意味する。障害管理テーブル１２１は、時刻およびハッシュ値の項目を含む。
【０１５５】
時刻の項目には、あるハッシュ値の組の観測が所定長さの一期間途絶えたという事象を検出した時刻が登録される。ハッシュ値の項目には、ハッシュ値の組が登録される。例えば、障害管理テーブル１２１には、時刻が“２０１４／７／９  １５：００”、ハッシュ値が“０，４”という情報が登録される。これは、ハッシュ値“０”、“４”の観測が所定長さの一期間途絶えたことを、２０１４年７月９日１５時００分に観測したことを示す。
【０１５６】
図１６は、第３の実施の形態の品質計測結果テーブルの例を示す図である。品質計測結果テーブル１３１は、品質計測部１７０により生成され、品質計測結果記憶部１３０に格納される。品質計測結果テーブル１３１は、パケットのアドレスから算出されるハッシュ値に対する、パケットの損失状況と品質劣化の有無とを管理するための情報である。品質計測結果テーブル１３１は、ハッシュ値、送信パケット数、送信側損失パケット数、受信パケット数、受信側損失パケット数および品質劣化の項目を含む。
【０１５７】
ハッシュ値の項目には、ハッシュ値が登録される。送信パケット数の項目には、クライアント３００，３００ａ，３００ｂからサーバ４００，４００ａ，４００ｂへ送信されたパケットの数が登録される。送信側損失パケット数の項目には、クライアント３００，３００ａ，３００ｂからサーバ４００，４００ａ，４００ｂへ送信されたパケットのうち、損失したパケットの数が登録される。受信パケット数の項目には、サーバ４００，４００ａ，４００ｂからクライアント３００，３００ａ，３００ｂへ送信されたパケットの数が登録される。受信側損失パケット数の項目には、サーバ４００，４００ａ，４００ｂからクライアント３００，３００ａ，３００ｂへ送信されたパケットのうち、損失したパケットの数が登録される。品質劣化の項目には、該当のハッシュ値に対応するフローにおいて、品質劣化があるか否かを示す情報が登録される。
【０１５８】
例えば、品質計測結果テーブル１３１には、ハッシュ値“０”、送信パケット数“１００００”、送信側損失パケット数“１００”、受信パケット数“１００００”、受信側損失パケット数“１００”、品質劣化“あり”という情報が登録される。
【０１５９】
これは、ハッシュ値“０”に対応するフローにおいて、送信パケット数が１００００であり、送信パケット数のうち損失したパケット数が１００であること、受信パケット数が１００００であり、受信パケット数のうち損失したパケット数が１００であることを示す。また、ハッシュ値“０”に対応するフローにおいて、通信品質の劣化があったことを示す。他のハッシュ値に対しても同様の情報が登録される。
【０１６０】
図１７は、第３の実施の形態の監視例を示すフローチャートである。以下、図１７に示す処理をステップ番号に沿って説明する。
（Ｓ３１）トポロジ管理部１６０は、トポロジ情報の収集を行う。具体的には、トポロジ管理部１６０は、ＭＩＢ取得部１５０に対してトポロジ情報を収集するためのＳＮＭＰ要求の送信を指示する。ＭＩＢ取得部１５０は、各スイッチを宛先としたＳＮＭＰ要求を生成し、送受信部１４０に送信させる。ＭＩＢ取得部１５０は、送受信部１４０を介して各スイッチからＳＮＭＰ応答（ＬＬＤＰによるトポロジ情報を含む）を取得する。トポロジ管理部１６０は、ＭＩＢ取得部１５０により取得されたＳＮＭＰ応答から、スイッチ間の物理リンクの情報を取得する。
【０１６１】
（Ｓ３２）表示制御部１９０は、ＧＵＩ７０においてユーザによるベンダの識別情報の入力を受け付ける。表示制御部１９０は、振り分けルール記憶部１１０を参照して、選択されたベンダの識別情報に対応する振り分けルールを、ＧＵＩ７０の表示内容に反映させる。例えば、ベンダ選択フォーム７１でベンダの識別情報“Ａ”が選択された場合、ＧＵＩ７０は図１３で例示した表示内容となる。表示制御部１９０は、ＧＵＩ７０においてボタン７９の押下を受け付けると、ＧＵＩ７０に入力されている振り分けルールを障害箇所判定部１８０が用いる振り分けルールとして設定する。例えば、ベンダの識別情報“Ａ”に対応する振り分けルールは、初期の振り分けテーブル１１１および物理リンクの障害に応じた回復後の振り分けテーブル１１２，１１３，１１４，１１５を含む。障害箇所判定部１８０は、監視当初では、振り分けテーブル１１１を用いて監視を行う。
【０１６２】
（Ｓ３３）品質計測部１７０は、スイッチ２００から送受信部１４０を介してパケットを収集する。パケットの収集期間の長さは、例えば、１分間程度である。品質計測部１７０は、収集したパケットに基づいて各フローの通信品質の計測を開始する。品質計測部１７０は、フロー毎に送受信パケット数および損失パケット数を取得する。
【０１６３】
（Ｓ３４）品質計測部１７０は、各パケットの送信元ＩＰアドレスおよび宛先ＩＰアドレスの組に応じたハッシュ値を算出し、計算されたハッシュ値で各フローを分離する。例えば、複数のフローのうち、一部のフローがハッシュ値“０”に、他の一部のフローがハッシュ値“１”に、というように、各フローが何れかのハッシュ値に対応付けられる。品質計測部１７０は、ハッシュ値毎の送受信パケット数に対する損失パケット数の割合（パケットの損失率）に基づいて、各ハッシュ値に対する品質劣化の有無を取得する。品質計測部１７０は、パケットの損失率が例えば１％以上の場合に品質劣化“あり”と判定し、パケットの損失率が例えば１％未満の場合に品質劣化“なし”と判定する。品質計測部１７０は、ハッシュ値に対応付けて、送受信パケット数、損失パケット数および品質劣化の“あり”、“なし”を品質計測結果記憶部１３０に記憶された品質計測結果テーブル１３１に登録する。そして、品質計測部１７０による通信品質の計測が終了する。
【０１６４】
（Ｓ３５）障害箇所判定部１８０は、品質計測結果テーブル１３１を参照して、何れかのハッシュ値に対して、品質劣化が検出されているか否かを判定する。検出されている場合、処理をステップＳ３６に進める。検出されていない場合、処理をステップＳ３３に進める。ここで、品質計測結果テーブル１３１に登録された何れかのハッシュ値に対し、品質劣化の項目に“あり”が設定されている場合、障害箇所判定部１８０は、品質劣化が検出されていると判定する。一方、全てのハッシュ値に対して、品質劣化の項目に“なし”が設定されている場合、品質劣化が検出されていないと判定する。
【０１６５】
（Ｓ３６）障害箇所判定部１８０は、ステップＳ３３で収集されたパケットを参照し、品質劣化“あり”であるハッシュ値について、ハッシュ値の観測状況を時系列に取得する。障害箇所判定部１８０は、複数のハッシュ値の観測が長さｔの期間以上途絶えているか否かを判定する。複数のハッシュ値の観測が長さｔの期間以上途絶えている場合、処理をステップＳ３８に進める。複数のハッシュ値の観測が長さｔの期間以上途絶えていない場合、処理をステップＳ３７に進める。長さｔは、例えば、１〜数秒程度である。長さｔは、スイッチ２００ａ，２００ｂがある物理リンクに対応付けられたハッシュ値を別の物理リンクに収容替えする際の待機時間に応じて決定される。待機時間は、スイッチのベンダやスイッチの機種などに応じた固有の長さとなる。長さｔは待機期間と同じ長さでもよい。ただし、長さｔは、待機期間とは異なる長さでもよい（例えば、待機期間よりも所定割合だけ短い長さとするなど）。なお、品質劣化“あり”であるハッシュ値の数が１つの場合は、処理をステップＳ３７に進めることになる。
【０１６６】
（Ｓ３７）障害箇所判定部１８０は、現在適用中の振り分けテーブル（初期のままであれば振り分けテーブル１１１）を参照して、品質劣化のあるハッシュ値が、ＬＡＧの何れかの物理リンクに対応するハッシュ値の組に１つのハッシュ値を追加したものか否かを判定する。品質劣化のあるハッシュ値が、ＬＡＧの何れかの物理リンクに対応するハッシュ値の組に１つのハッシュ値を追加したものである場合、処理をステップＳ３９に進める。品質劣化のあるハッシュ値が、ＬＡＧの何れかの物理リンクに対応するハッシュ値の組に１つのハッシュ値を追加したものでない場合、処理をステップＳ４０に進める。例えば、振り分けテーブル１１１を用いて監視を行っており、品質劣化のあるハッシュ値が（２，３，４）という組である場合を考える。振り分けテーブル１１１には、ポート番号“３”の物理リンクに対してハッシュ値の組（２，３）が登録されている。この場合、品質劣化のあるハッシュ値の組（２，３，４）は、ハッシュ値の組（２，３）に１つのハッシュ値“４”を追加したものと判断できる。なお、振り分けルールでは、１つの物理リンクに対して複数のハッシュ値が対応するため、品質劣化のあるハッシュ値が１つの場合は、ステップＳ４０に進めることになる。
【０１６７】
（Ｓ３８）障害箇所判定部１８０は、長さｔの期間以上途絶されたパケットのハッシュ値の組と同じ組が振り分けテーブルに記憶されているか否かを判定する。同じ組が記憶されている場合、処理をステップＳ３９に進める。同じ組が記憶されていない場合、処理をステップＳ４４に進める。例えば、ステップＳ３６において、ハッシュ値の組（０，４）で観測の途絶があり、現在適用中の振り分けテーブルが振り分けテーブル１１１である場合、ハッシュ値の組（０，４）は振り分けテーブル１１１に記憶されていることになる。
【０１６８】
（Ｓ３９）障害箇所判定部１８０は、障害情報記憶部１２０に記憶された障害管理テーブル１２１に、現時刻とハッシュ値の組とを登録する。ここで、障害箇所判定部１８０は、次のようにして登録するハッシュ値の組を決定する。以下の（１）の処理は、ステップＳ３８（Ｙｅｓ）の後に実行される。（２）の処理は、ステップＳ３７（Ｙｅｓ）の後に実行される。
【０１６９】
（１）長さｔの期間以上観測が途絶えたハッシュ値の組が、現在適用中の振り分けテーブルの何れかのハッシュ値の組と完全に一致する場合、当該ハッシュ値の組に対応する物理リンクで障害があるものと判定する。障害箇所判定部１８０は、当該ハッシュ値の組を障害管理テーブル１２１に登録する。この場合の途絶は、リンクダウン時の現象と判断できる。
【０１７０】
（２）障害箇所判定部１８０は、品質劣化のあるハッシュ値のうち、ステップＳ３７で特定した振り分けテーブル上のハッシュ値の組（ステップＳ３７の例ではハッシュ値の組“２，３”）を除いたハッシュ値（ステップＳ３７の例ではハッシュ値“４”）を取得する。障害箇所判定部１８０は、振り分けテーブルに基づいて、取得したハッシュ値“４”が何れの物理リンクから収容替えされたものかを判断する。例えば、現在適用中のテーブルが振り分けテーブル１１１の場合、ハッシュ値“４”は、ポート番号“１”の物理リンクに対応付けられている。よって、障害箇所判定部１８０は、ポート番号“１”の物理リンクで障害があったものと判定できる。この場合、障害箇所判定部１８０は、振り分けテーブル１１１のポート番号“１”に対応するハッシュ値の組（０，４）を障害管理テーブル１２１に登録する。障害箇所判定部１８０は、（１）、（２）の何れかを実行すると、処理をステップＳ３３に進める。
【０１７１】
（Ｓ４０）障害箇所判定部１８０は、障害管理テーブル１２１の最新エントリが、現時点から過去の特定の時間間隔以内に登録されたものであるか否かを判定する。特定の時間間隔は、例えば１時間以内に物理リンク障害が自動復旧する事例が多い場合は１時間とするなど、運用に応じて決定できる。１時間とする場合、障害箇所判定部１８０は、最新エントリが直近の１時間以内に登録されたものであるか否かを判定することになる。最新エントリが、現時点から過去の特定の時間間隔以内に登録されたものである場合、処理をステップＳ４１に進める。現時点から過去の特定の時間間隔以内に登録されたものでない場合、処理をステップＳ４２に進める。ステップＳ４０の判定は、障害管理テーブル１２１の最新エントリが比較的新しい情報であるか否かを判定しているともいえる。古過ぎるエントリを無視することで、振り分けテーブルが誤って変更される可能性を低減できる。
【０１７２】
（Ｓ４１）障害箇所判定部１８０は、障害管理テーブル１２１の最新エントリに基づいて、監視に用いる振り分けテーブルを変更する。例えば、振り分けテーブル１１１を用いており、障害管理テーブル１２１の最新エントリに登録されたハッシュ値の組が（０，４）の場合、図１２で例示した変更パターンによれば、振り分けテーブル１１２に変更されることになる。したがって、障害箇所判定部１８０は、回復後の振り分けテーブルとして、振り分けテーブル１１２を選択し、監視に用いる振り分けテーブルを振り分けテーブル１１２に変更する。
【０１７３】
（Ｓ４２）障害箇所判定部１８０は、品質劣化のあるハッシュ値の組が、現在適用中の振り分けテーブルに登録された何れかの物理リンクに対応するハッシュ値の組に完全に一致するか否かを判定する。完全に一致する場合、処理をステップＳ４３に進める。完全には一致しない場合、処理をステップＳ４４に進める。
【０１７４】
（Ｓ４３）障害箇所判定部１８０は、ステップＳ３５で検出された品質劣化が、ＬＡＧでの品質劣化であると判定する。障害箇所判定部１８０は、品質劣化のあるハッシュ値の組に対応する物理リンクを、現在適用中の振り分けテーブルから取得する。そして、処理をステップＳ４５に進める。
【０１７５】
（Ｓ４４）障害箇所判定部１８０は、ステップＳ３５で検出された品質劣化が、ＬＡＧ以外の区間での品質劣化であると判定する。
（Ｓ４５）表示制御部１９０は、障害箇所判定部１８０による障害箇所の判定結果をディスプレイ５１に表示させる。例えば、ＬＡＧにおける品質劣化であると判定されている場合、表示制御部１９０は、ＬＡＧにおいて品質劣化が発生していること、および、該当の物理リンクの情報（例えば、ポート番号）をディスプレイ５１に表示させる。また、ＬＡＧ以外の区間での品質劣化であると判定されている場合、表示制御部１９０は、ＬＡＧ以外の区間において品質劣化が発生していることをディスプレイ５１に表示させる。
【０１７６】
（Ｓ４６）障害箇所判定部１８０は、監視を終了するか否かを判定する。監視を終了する場合、処理を終了する。監視を終了しない場合、処理をステップＳ３３に進める。例えば、障害箇所判定部１８０は、ステップＳ３２において振り分けルールが設定された後の一定期間を監視期間とし、当該監視期間が満了している場合に、監視を終了すると判定してもよい。または、障害箇所判定部１８０は、管理者による監視終了の操作入力を受け付けたタイミングで監視を終了すると判定してもよい。
【０１７７】
ここで、ステップＳ３７において、品質劣化のあるハッシュ値が、振り分けテーブルに登録された何れかのハッシュ値の組に１つのハッシュ値が追加されたものか否かを判定する理由は、物理リンク障害の判定精度が低下するのを抑えるためである。すなわち、品質劣化のあるハッシュ値が、振り分けテーブルに登録された何れかのハッシュ値の組に複数のハッシュ値が追加されたものである場合は、物理リンク障害が発生している可能性が低い。
【０１７８】
また、ステップＳ３６では、障害箇所判定部１８０は、各フローにおける送信元ＩＰアドレスに着目して、あるハッシュ値の観測が途絶したか否かを判定してもよい。具体的には、監視サーバ１００がスイッチ２００に接続されている場合において、サーバ４００，４００ａ，４００ｂのＩＰアドレスを送信元ＩＰアドレスとするパケットに関してのみ、ハッシュ値の観測を行ってもよい。この場合、クライアント側よりもサーバ側から送信されるパケットの方が、パケット収集においてＬＡＧにおける物理リンクのダウンの影響を強く受けるためである。また、障害箇所判定部１８０は、フロー単位に、パケットの収集が所定長さｔの期間以上途絶したかを確認し、あるハッシュ値に対応する何れかのフローで当該途絶があった場合に、該当のハッシュ値の観測が当該期間の間途絶えたと判断してもよい。
【０１７９】
また、ステップＳ３７（Ｙｅｓ）の場合は、例示したように、現在稼働中の特定の物理リンクで品質劣化が生じていることを把握できる。このため、表示制御部１９０は、例えば該当の物理リンクで品質劣化が生じている旨をディスプレイ５１に表示させることで、その旨を管理者に通知してもよい。
【０１８０】
更に、ステップＳ３８では、障害箇所判定部１８０は、現在適用中の振り分けテーブルおよび回復後の振り分けテーブルの何れかに、途絶されたハッシュ値の組が存在するかを判定してもよい。そして、現在または回復後の何れかの振り分けテーブルに該当のハッシュ値の組が存在していれば、ステップＳ３８の判定をＹｅｓ（それ以外の場合はＮｏ）としてもよい。より具体的には、現在適用中の振り分けテーブルが振り分けテーブル１１１であり、回復後の振り分けテーブルが振り分けテーブル１１２，１１３，１１４，１１５であるとする。ステップＳ３６において、ハッシュ値の組（０，４）で観測の途絶がある場合、ハッシュ値の組（０，４）は振り分けテーブル１１１に記憶されていることになる（第１の場合）。一方、ステップＳ３６において、ハッシュ値の組（０，２）で観測の途絶がある場合、ハッシュ値の組（０，２）は振り分けテーブル１１１には記憶されていないが、回復後の振り分けテーブル１１２には記憶されていることになる（第２の場合）。第２の場合、ステップＳ３９（１）での処理が第１の場合と異なる。第２の場合では、障害箇所判定部１８０は以下の処理を行う。
【０１８１】
長さｔの期間以上観測が途絶えたハッシュ値の組が、現在適用中の振り分けテーブルにはないが、回復後の振り分けテーブルにある場合、当該途絶はリンク回復時の現象と判断できる。この場合、障害箇所判定部１８０は、回復後の振り分けテーブルの中から観測が途絶したハッシュ値の組を検索し、何れの物理リンクで障害があったかを判定する。例えば、振り分けテーブル１１１を用いて監視を行っている場合を考える。障害箇所判定部１８０は、観測が途絶したハッシュ値の組が（０，２）であるとき、振り分けテーブル１１１からは障害のあった物理リンクを判定できない。そこで、障害箇所判定部１８０は、回復後の振り分けテーブル１１２，１１３，１１４，１１５を参照して、ハッシュ値の組（０，２）を検索する。振り分けテーブル１１２，１１４，１１５では、ハッシュ値の組（０，２）はポート番号“１”の物理リンクに対応付けられている。このため、障害箇所判定部１８０は、ポート番号“１”の物理リンクが障害になったと判定する。そして、障害箇所判定部１８０は、振り分けテーブル１１１のポート番号“１”に対応するハッシュ値の組（０，４）を障害管理テーブル１２１に登録する。以降の手順は、図１７に示した以降のステップと同様である。
【０１８２】
次に、スイッチ２００ａ，２００ｂ間のＬＡＧの状況と監視サーバ１００が監視に用いる振り分けルールおよび障害管理テーブル１２１の内容との関係を例示する。以下の例では、監視サーバ１００において、ベンダの識別情報“Ａ”に対応する振り分けルールが監視用に設定されており、各例の最初のステップの時点では、振り分けテーブル１１１を用いているものとする。また、図中、スイッチをＳＷ（SWitch）と略記する。
【０１８３】
図１８は、第３の実施の形態の監視例（その１）である。以下、図１８に示す処理をステップ番号に沿って説明する。
（ＳＴ１１）この時点では、ＬＡＧの全ての物理リンクは正常である。スイッチ２００ａ，２００ｂは振り分けテーブル１１１と同じルールで、ハッシュ値を物理リンクに振り分ける。この時点では、障害管理テーブル１２１のエントリはない。
【０１８４】
（ＳＴ１２）ポート番号“１”の物理リンクが障害によりダウンする。監視サーバ１００は、ハッシュ値“０”、“４”の観測が所定長（例えば、１〜数秒程度）の一期間に途絶えたことを検出する。ハッシュ値“０”、“４”を別の正常な物理リンクに収容替えする前に、スイッチ２００ａ，２００ｂによりハッシュ値“０”、“４”に対応するパケットの送信が一時的に停止されるためである。すると、監視サーバ１００は、障害管理テーブル１２１に、現時刻に対応付けて、ハッシュ値の組（０，４）を登録する（図１７のステップＳ３９で示した（１）の例）。
【０１８５】
（ＳＴ１３）ポート番号“１”の物理リンクがダウン中である。スイッチ２００ａ，２００ｂは、ハッシュ値“４”をポート番号“３”の物理リンク、ハッシュ値“０”をポート番号“４”の物理リンクに対応付けて転送する。
【０１８６】
（ＳＴ１４）ポート番号“１”の物理リンクのリンクダウンが回復する。スイッチ２００ａ，２００ｂは、ポート番号“１”の物理リンクにハッシュ値の組（０，２）を振り分けるようになる（振り分けテーブル１１２と同じルールとなる）。そして、監視サーバ１００は、ハッシュ値“０”、“２”に対応するフローで品質劣化を検出する（該当の各フローに対するハッシュ値の観測の同じ期間における途絶はなかったとする）。監視サーバ１００は、障害管理テーブル１２１にハッシュ値の組（０，４）が登録されており、登録された時刻が現時点よりも過去の特定の時間内（例えば、１時間以内）であることを確認する。
【０１８７】
すると、監視サーバ１００は、変更パターンの情報に基づいて、現在参照している振り分けテーブル１１１を、ポート番号“１”の物理リンク（ハッシュ値の組（０，４）に対応）の回復後の振り分けテーブル１１２に切り替える。そして、監視サーバ１００は、振り分けテーブル１１２を用いて、品質劣化がＬＡＧの物理リンクに起因するものかを判断する。振り分けテーブル１１２には、ポート番号“１”の物理リンクに対応付けてハッシュ値の組（０，２）が登録されている。このため、監視サーバ１００は、ポート番号“１”の物理リンクが要因となって品質劣化が発生していると判定する。監視サーバ１００は、ディスプレイ５１に判定結果を表示し、管理者に品質劣化箇所を通知する。
【０１８８】
このように、監視サーバ１００は、リンクダウン発生時のハッシュ値の組を所定長の一期間に観測できなかったことを検出することで、振り分けルールが変更されることを判定できる。しかし、ステップＳＴ１２において、必ずしもダウンした物理リンクにパケットが流れているとは限らない。ダウンした物理リンクにパケットが流れていない場合、監視サーバ１００は、振り分けルールが変更されることを見過ごすことになる。そこで、監視サーバ１００は、次のように監視を行う。
【０１８９】
図１９は、第３の実施の形態の監視例（その２）である。以下、図１９に示す処理をステップ番号に沿って説明する。
（ＳＴ２１）この時点では、ＬＡＧの全ての物理リンクは正常である。スイッチ２００ａ，２００ｂは振り分けテーブル１１１と同じルールで、ハッシュ値を物理リンクに振り分ける。この時点では、障害管理テーブル１２１のエントリはない。
【０１９０】
（ＳＴ２２）ポート番号“１”の物理リンクが障害によりダウンする。ただし、ポート番号“１”の物理リンクにパケットが流れていないため、監視サーバ１００は、何も観測しない。この時点でも、障害管理テーブル１２１のエントリはない。
【０１９１】
（ＳＴ２３）ポート番号“１”の物理リンクがダウン中である。スイッチ２００ａ，２００ｂは、ハッシュ値“４”をポート番号“３”の物理リンク、ハッシュ値“０”をポート番号“４”の物理リンクに対応付けて転送する。この状態で、監視サーバ１００は、ハッシュ値“２”、“３”、“４”に対応するフローの品質劣化を検出する（該当の各フローに対するハッシュ値の観測の同じ期間における途絶はなかったとする）。すると、監視サーバ１００は、振り分けテーブル１１１に基づいて、正常時に振り分けられるハッシュ値の組（２，３）に加え、ハッシュ値“４”が別のリンクから収容替えされたものと判定する。
【０１９２】
更に、振り分けテーブル１１１によれば、ハッシュ値“４”は正常時には、ハッシュ値“０”と同じ物理リンク（ポート番号“１”）に対応付けられる。このため、監視サーバ１００は、ポート番号“１”の物理リンクでリンクダウンが発生したものと判定し、現時刻とともにハッシュ値“０，４”を障害管理テーブル１２１に登録する（図１７のステップＳ３９で示した（２）の例）。
【０１９３】
（ＳＴ２４）ポート番号“１”の物理リンクのリンクダウンが回復する。スイッチ２００ａ，２００ｂは、ポート番号“１”の物理リンクにハッシュ値の組（０，２）を振り分けるようになる（振り分けテーブル１１２と同じルールとなる）。そして、監視サーバ１００は、ハッシュ値“０”、“２”に対応するフローで品質劣化を検出する（該当の各フローに対するハッシュ値の観測の同じ期間における途絶はなかったとする）。監視サーバ１００は、障害管理テーブル１２１にハッシュ値の組（０，４）が登録されており、登録された時刻が現時点よりも過去の特定の時間内（例えば、１時間以内）であることを確認する。
【０１９４】
すると、監視サーバ１００は、現在参照している振り分けテーブル１１１を、ポート番号“１”の物理リンク（ハッシュ値の組（０，４）に対応）の回復後の振り分けテーブル１１２に切り替える。そして、監視サーバ１００は、振り分けテーブル１１２を用いて、品質劣化がＬＡＧの物理リンクに起因するものかを判断する。振り分けテーブル１１２には、ポート番号“１”の物理リンクに対応付けてハッシュ値の組（０，２）が登録されている。このため、監視サーバ１００は、ポート番号“１”の物理リンクが要因となって品質劣化が発生していると判定する。監視サーバ１００は、ディスプレイ５１に判定結果を表示し、管理者に品質劣化箇所を通知する。
【０１９５】
こうして、監視サーバ１００は、リンクダウン発生時にハッシュ値の組の途絶を検出しなかったとしても、リンクダウン中に品質劣化が観測されたハッシュ値に基づいて、振り分けルールが変更されたことを判定できる。ただし、リンクダウン中に品質劣化が観測できない場合は、振り分けルールの変更を見過ごす可能性がある。そこで、監視サーバ１００は、更に次のような監視を行う。
【０１９６】
図２０は、第３の実施の形態の監視例（その３）である。以下、図２０に示す処理をステップ番号に沿って説明する。
（ＳＴ３１）この時点では、ＬＡＧの全ての物理リンクは正常である。スイッチ２００ａ，２００ｂは振り分けテーブル１１１と同じルールで、ハッシュ値を物理リンクに振り分ける。この時点では、障害管理テーブル１２１のエントリはない。
【０１９７】
（ＳＴ３２）ポート番号“１”の物理リンクが障害によりダウンする。ただし、ポート番号“１”の物理リンクにパケットが流れていないため、監視サーバ１００は、何も観測しない。この時点でも、障害管理テーブル１２１のエントリはない。
【０１９８】
（ＳＴ３３）ポート番号“１”の物理リンクがダウン中である。スイッチ２００ａ，２００ｂは、ハッシュ値“４”をポート番号“３”の物理リンク、ハッシュ値“０”をポート番号“４”の物理リンクに対応付けて転送する。３つの物理リンクで正常に通信が行われており、監視サーバ１００は、品質劣化を観測しない。
【０１９９】
図２１は、第３の実施の形態の監視例（その３の続き）である。以下、図２１に示す処理をステップ番号に沿って説明する。
（ＳＴ３４）ポート番号“１”の物理リンクのリンクダウンが回復する。スイッチ２００ａ，２００ｂは、ポート番号“１”の物理リンクにハッシュ値の組（０，２）を振り分けるようになる（振り分けテーブル１１２と同じルールとなる）。監視サーバ１００は、ハッシュ値の組（０，２）の観測が所定長（例えば、１〜数秒程度）の一期間に途絶したことを検出する。ハッシュ値“０”、“２”をポート番号“１”の物理リンクに収容替えする前に、スイッチ２００ａ，２００ｂによりハッシュ値の組（０，２）に対応するパケットの送信が一時的に停止されるためである。監視サーバ１００は、振り分けテーブル１１１でハッシュ値の組（０，２）を検索する。しかし、ハッシュ値の組（０，２）は振り分けテーブル１１１に存在しない。そこで、監視サーバ１００は、回復後の振り分けテーブル１１２，１１３，１１４，１１５でハッシュ値の組（０，２）を検索する。振り分けテーブル１１２，１１４，１１５にハッシュ値の組（０，２）が存在し、ポート番号“１”に対応付けられている。このため、監視サーバ１００は、ポート番号“１”の物理リンクがダウンしたものと判定し、障害管理テーブル１２１に、現時刻とともにハッシュ値の組（０，４）を登録する。
【０２００】
（ＳＴ３５）監視サーバ１００は、ハッシュ値“０”、“２”に対応するフローで品質劣化を検出する（該当の各フローに対するハッシュ値の観測の同じ期間における途絶はなかったとする）。監視サーバ１００は、障害管理テーブル１２１にハッシュ値の組（０，４）が登録されており、登録された時刻が現時点よりも過去の特定の時間内（例えば、１時間以内）であることを確認する。
【０２０１】
すると、監視サーバ１００は、現在参照している振り分けテーブル１１１を、ポート番号“１”の物理リンク（ハッシュ値の組（０，４）に対応）の回復後の振り分けテーブル１１２に切り替える。そして、監視サーバ１００は、振り分けテーブル１１２を用いて、品質劣化がＬＡＧの物理リンクに起因するものかを判断する。振り分けテーブル１１２には、ポート番号“１”の物理リンクに対応付けてハッシュ値の組（０，２）が登録されている。このため、監視サーバ１００は、ポート番号“１”の物理リンクが要因となって品質劣化が発生していると判定する。監視サーバ１００は、ディスプレイ５１に判定結果を表示し、管理者に品質劣化箇所を通知する。
【０２０２】
こうして、監視サーバ１００は、リンクダウン発生時にハッシュ値の組の途絶を検出できなかったとしても、リンク回復時にハッシュ値の組の観測が所定長の一期間に途絶えたことを検出することで、振り分けルールが変更されたことを判定できる。
【０２０３】
以上のように、監視サーバ１００によれば、何れかのスイッチから収集したパケットに基づいて、リンクアグリゲーション区間で通信品質の劣化が発生していることを把握できる。このため、ネットワークの全スイッチを個別に調査（例えば、全スイッチから障害監視用のＭＩＢ情報を常時収集するなど）しなくてもよく、ネットワーク監視を効率的に行える。また、リンクアグリゲーション区間における何れの物理リンクが通信品質の劣化要因となっているかを短時間で特定できるようになる。更に、リンクアグリゲーション区間における振り分けルールが変更される場合であっても、品質劣化箇所の誤検知を抑えられ、品質劣化箇所の特定精度を向上することができる。
【０２０４】
更に、監視サーバ１００は、ＧＵＩ７０により、管理者によるベンダ毎の振り分けルールの入力を支援する。管理者は、ベンダの識別情報を監視サーバ１００に入力することで、ベンダに応じた振り分けルールを呼び出して監視用に設定できる。このため、管理者に対して、新たに振り分けルールを作成させる作業を強いずに済み、管理者による作業の省力化を図れる。
【０２０５】
ここで、第３の実施の形態では、ネットワークにリンクアグリゲーション区間が１つ存在する例を示したが、複数存在していてもよい。また、パケットは、ＭＡＣフレームのペイロードに含めて転送され得る。このため、スイッチ２００ａ，２００ｂは、ＭＡＣフレームに含まれる送信元ＭＡＣアドレスおよび宛先ＭＡＣアドレスの組に応じたハッシュ値に基づいて、ＬＡＧに属する何れの物理リンクからＭＡＣフレームを送出するかを決定してもよい。スイッチ２００，２００ａ，２００ｂ，２００ｃは、ＯＳＩ参照モデルの第２層でＭＡＣフレーム（ＭＡＣフレームを指してパケットということもある）を転送するレイヤ２スイッチでもよい。その場合も、監視サーバ１００は、上記と同様の方法により、リンクアグリゲーション区間における振り分けルールの変更を把握できる。
【０２０６】
なお、第１，第２の実施の形態の情報処理は、演算部１２にプログラムを実行させることで実現できる。また、第３の実施の形態の情報処理は、プロセッサ１０１にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体５３に記録できる。
【０２０７】
例えば、プログラムを記録した記録媒体５３を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体５３に記録されたプログラムまたは他のコンピュータから受信したプログラムを、ＲＡＭ１０２やＨＤＤ１０３などの記憶装置に格納し（インストールし）、当該記憶装置からプログラムを読み込んで実行してもよい。
【符号の説明】
【０２０８】
１０  監視装置
１１  記憶部
１２  演算部
２０，２０ａ，２０ｂ，２０ｃ  中継装置
３０，３０ａ，３０ｂ，４０，４０ａ，４０ｂ  端末装置
Ｌ１，Ｌ２，Ｌ３，Ｌ４  物理リンク
Ｔ１  振り分けテーブル
【図１】
2016103784.tif 000003
【図２】
2016103784.tif 000004
【図３】
2016103784.tif 000005
【図４】
2016103784.tif 000006
【図５】
2016103784.tif 000007
【図６】
2016103784.tif 000008
【図７】
2016103784.tif 000009
【図８】
2016103784.tif 000010
【図９】
2016103784.tif 000011
【図１０】
2016103784.tif 000012
【図１１】
2016103784.tif 000013
【図１２】
2016103784.tif 000014
【図１３】
2016103784.tif 000015
【図１４】
2016103784.tif 000016
【図１５】
2016103784.tif 000017
【図１６】
2016103784.tif 000018
【図１７】
2016103784.tif 000019
【図１８】
2016103784.tif 000020
【図１９】
2016103784.tif 000021
【図２０】
2016103784.tif 000022
【図２１】
2016103784.tif 000023