(57)【要約】【課題】コンピュータシステムにおける通信障害や通信品質の劣化の原因を精度良く特定する。【解決手段】本発明によるコンピュータシステムは、コントローラ２と、コントローラ２によってフローエントリが設定されたフローテーブル１１を保持し、フローエントリに適合する受信パケットに対し、フローエントリで規定された中継動作を行うスイッチ１と、スイッチ１を介して通信を行う複数のコンピュータ６と、データ処理装置２０とを具備する。データ処理装置２０は、異常のある通信に対応するフローエントリが設定された複数のスイッチ１から当該通信に対する統計情報を収集し、当該統計情報に応じて、異常のある通信の原因箇所を特定する。【選択図】図１
2011146982.tif 000002
【特許請求の範囲】
【請求項１】
コントローラと、
前記コントローラによってフローエントリが設定されたフローテーブルを保持し、前記フローエントリに適合する受信パケットに対し、前記フローエントリで規定された中継動作を行うスイッチと、
前記スイッチを介して通信を行う複数のコンピュータと、
異常のある通信に対応するフローエントリが設定された複数の前記スイッチから、前記異常のある通信に対する統計情報を収集し、前記統計情報に応じて前記異常のある通信の原因箇所を特定するデータ処理装置と
を具備する
コンピュータシステム。
【請求項２】
請求項１に記載のコンピュータシステムにおいて、
前記データ処理装置は、
前記異常のある通信に対応するフローエントリと、前記複数のコンピュータと前記スイッチとの接続関係を示すトポロジ情報とを用いて、前記異常のある通信の経路を計算する通信経路計算部と、
前記通信経路において、隣接する２つのスイッチのそれぞれから収集された統計情報の差が所定の閾値以上の箇所を、前記原因箇所として特定する異常箇所計算部と
を備える
コンピュータシステム。
【請求項３】
請求項１又は２に記載のコンピュータシステムにおいて、
前記データ処理装置は、前記異常のある通信に対応するフローエントリが設定されたスイッチに対し、統計情報収集用のフローエントリを設定する統計情報収集部を備え、
前記統計情報収集用のフローエントリが設定されたスイッチは、前記統計情報収集用のフローエントリに適合するパケットの、所定の期間内における統計情報を前記データ処理装置に送信する
コンピュータシステム。
【請求項４】
請求項１から３のいずれか１項に記載のコンピュータシステムにおいて、
異常のある通信を検知し、前記異常のある通信において転送されるデータのヘッダ情報を前記データ処理装置に通知する異常検知装置を更に具備し、
前記データ処理装置は、前記ヘッダ情報に適合するフローエントリを前記異常のある通信に対応するフローエントリとして特定する
コンピュータシステム。
【請求項５】
請求項１から４のいずれか１項に記載のコンピュータシステムにおいて、
前記統計情報は、前記スイッチにおいて、前記データ処理装置によって指定されたフローに適合する受信パケット数である
コンピュータシステム。
【請求項６】
コントローラと、
前記コントローラによってフローエントリが設定されたフローテーブルを保持し、前記フローエントリに適合する受信パケットに対し、前記フローエントリで規定された中継動作を行うスイッチと、
前記スイッチを介して通信を行う複数のコンピュータと、
を具備するコンピュータシステムの監視方法において、
異常のある通信に対応するフローエントリが設定された複数の前記スイッチから、前記異常のある通信に対する統計情報を収集するステップと、
前記統計情報を用いて前記異常のある通信の原因箇所を特定するステップと
を具備する
コンピュータシステムの監視方法。
【請求項７】
請求項６に記載のコンピュータシステムの監視方法において、
前記特定するステップは、
前記異常のある通信に対応するフローエントリと、前記複数のコンピュータと前記スイッチとの接続関係を示すトポロジ情報とを用いて、前記異常のある通信の経路を計算するステップと、
前記通信経路において、隣接する２つのスイッチのそれぞれから収集された統計情報の差を計算するステップと、
前記差が所定の閾値以上の箇所を、前記原因箇所として特定するステップと
を備える
コンピュータシステムの監視方法。
【請求項８】
請求項６又は７に記載のコンピュータシステムの監視方法において、
前記収集するステップは、
前記異常のある通信に対応するフローエントリが設定されたスイッチに対し、統計情報収集用のフローエントリを設定するステップと、
前記統計情報収集用のフローエントリが設定されたスイッチが、前記統計情報収集用のフローエントリに適合するパケットの、所定の期間内における統計情報を前記データ処理装置に送信するステップと
を備える
コンピュータシステムの監視方法。
【請求項９】
請求項６から８のいずれか１項に記載のコンピュータシステムの監視方法において、
異常のある通信を検知するステップと、
前記異常のある通信において転送されるデータのヘッダ情報を前記データ処理装置に通知するステップと
を更に具備し、
前記特定するステップは、前記ヘッダ情報に適合するフローエントリを前記異常のある通信に対応するフローエントリとして特定するステップを備える
コンピュータシステムの監視方法。
【請求項１０】
請求項６から９のいずれか１項に記載のコンピュータシステムの監視方法において、
前記統計情報は、前記スイッチにおいて、前記異常のある通信に対応するフローエントリに適合する受信パケット数である
コンピュータシステムの監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム、及びコンピュータシステムの監視方法に関し、特に、障害発生箇所を特定可能なコンピュータシステムの監視する方法に関する。
【背景技術】
【０００２】
ネットワークを利用した情報システムの普及により、ＩＰ網などのネットワークは大規模かつ複雑になり、加えて高品質が求められている。このため、通信障害や品質劣化の原因箇所の特定はより困難になっているにもかかわらず、迅速な復旧が要求されている。  
【０００３】
このような要求を実現するため、特開２００６−２３８０５２では、フロー品質情報に基づいて品質劣化箇所を推定する技術が開示されている（特許文献１参照）。特許文献１では、現在通信中のフローが経由している全てのリンクについて、現在の通信品質劣化を起こし得る、あらゆる品質劣化したリンクの組み合わせのうち、最小のリンク数からなる組み合わせを品質劣化箇所として推定する。あるいは、過去の各リンクが品質劣化原因となった確率に基づいて、最も高い確率となる組み合わせを品質劣化箇所として推定する。  
【０００４】
特許文献１では、フロー品質情報を得るためにネットワーク上に多数のパケット収集装置を設置する必要があるため、膨大なコストが必要となる。又、提供される結果は確率的な推定であり、状況によっては正しい原因箇所を得ることはできない。  
【０００５】
一方、特開２００２−１５２２６６には、計測装置によってフロー毎にカウントされた受信パケット数を収集し、複数の計測装置間のカウント値の比較結果に基づいて区間毎のパケットロスを検出するシステムが記載されている（特許文献２参照）。
【０００６】
又、本発明の関連技術として、ＯｐｅｎＦｌｏｗ  Ｃｏｎｓｏｒｔｉｕｍが提案しているＯｐｅｎＦｌｏｗがある（非特許文献１参照）。この技術に対応したネットワークスイッチ（以下、オープンフロースイッチ（ＯＦＳ）と称す）は、プロトコル種別やポート番号等の詳細な情報をフローテーブルに保持し、フローの制御と統計情報の採取を行うことができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−２３８０５２
【特許文献２】特開２００２−１５２２６６
【非特許文献】
【０００８】
【非特許文献１】ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  ０．９．０  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ９８）  Ｊｕｌｙ  ２０，  ２００９
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献２の技術では、区間毎のパケット数を取得することで、計測区間におけるパケットロスを検出することが可能となる。しかし、区間毎のパケットロスを検出できても、通信障害や品質劣化の原因箇所を特定することはできなかった。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、［特許請求の範囲］の記載と［発明を実施するための形態］の記載との対応関係を明らかにするために、［発明を実施するための形態］で使用される番号・符号が付加されている。ただし、付加された番号・符号は、［特許請求の範囲］に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。
【００１１】
本発明によるコンピュータシステムは、コントローラ（２）と、コントローラ（２）によってフローエントリが設定されたフローテーブル（１１）を保持し、フローエントリに適合する受信パケットに対し、フローエントリで規定された中継動作を行うスイッチ（１）と、スイッチ（１）を介して通信を行う複数のコンピュータ（６）と、データ処理装置（２０）とを具備する。データ処理装置（２０）は、異常のある通信に対応するフローエントリが設定された複数のスイッチ（１）から当該通信に対する統計情報を収集し、当該統計情報に応じて、異常のある通信の原因箇所を特定する。
【００１２】
本発明によるコンピュータシステムの監視方法は、コントローラ（２）と、コントローラ（２）によってフローエントリが設定されたフローテーブル（１１）を保持し、フローエントリに適合する受信パケットに対し、フローエントリで規定された中継動作を行うスイッチ（１）と、スイッチ（１）を介して通信を行う複数のコンピュータ（６）を具備するコンピュータシステムを監視する方法である。本発明による監視方法は、異常のある通信に対応するフローエントリが設定された複数の前記スイッチから、当該通信に対する統計情報を収集するステップと、当該統計情報を用いて異常のある通信の原因箇所を特定するステップとを具備する。
【発明の効果】
【００１３】
本発明によれば、コンピュータシステムにおける通信障害や通信品質の劣化の原因を精度良く特定することができる。
【００１４】
又、コンピュータシステムにおける各スイッチ間の通信障害や通信品質の劣化を把握できる。
【００１５】
更に、スイッチ間の通信障害や通信品質の劣化の原因を特定するためのコストを削減できる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明によるコンピュータシステムの実施の形態における構成を示す図である。
【図２】図２は、本発明によるデータ処理装置、記憶装置、オープンフロースイッチの実施の形態における構成を示す図である。
【図３】図３は、本発明による異常箇所特定処理の動作の一例を示すフロー図である。
【図４】図４は、本発明によって異常箇所が特定される通信経路の一例を示す図である。
【図５】図５は、本発明によるデータ処理装置によって収集される統計情報の一例を示す図である。
【図６】図６は、本発明による異常箇所特定処理の動作の他の一例を示すフロー図である。
【図７】図７は、本発明に係るオープンフロー制御を説明するための図である。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示す。
【００１８】
（コンピュータシステムの構成）
図１及び図２を参照して、本発明によるコンピュータシステムの構成を説明する。図１は、本発明によるコンピュータシステムの構成を示す図である。本発明によるコンピュータシステムは、通信ネットワークを介して接続される、複数のオープンフロースイッチ１−１〜１−ｎ（以下、ＯＦＳ１−１〜１−ｎと称す。ｎは自然数）、オープンフローコントローラ２（以下、ＯＦＣ２と称す）、障害検知装置４、及びホストコンピュータ６−１〜６−ｍ（以下、ＨＯＳＴ６−１〜６−ｍと称す。ｍは２以上の整数）を具備する。尚、ＯＦＳ１−１〜１−ｎを区分せずに説明する場合、ＯＦＳ１と称す。又、ＨＯＳＴ６−１〜６−ｍを区分せずに説明する場合、ＨＯＳＴ６と称す。
【００１９】
ＨＯＳＴ６は、図示しないＣＰＵ、主記憶装置、及び外部記憶装置を備えるコンピュータ装置であり、外部記憶装置に格納されたプログラムを実行することで、他のＨＯＳＴ６との間で通信を行う。ＨＯＳＴ６間の通信は、ＯＦＳ１を介して行われる。ＨＯＳＴ６は、実行するプログラムに応じて、Ｗｅｂサーバ、ファイルサーバ、アプリケーションサーバ、あるいはクライアント端末等に例示される機能を実現する。例えば、ＨＯＳＴ６がＷｅｂサーバとして機能する場合、図示しないクライアント端末の要求に従い、記憶装置（図示なし）内のＨＴＭＬ文書や画像データを他のＨＯＳＴ６（例示：クライアント端末）に転送する。
【００２０】
ＯＦＣ２は、オープンフロー技術により、システム内の通信を制御するフロー制御部１０を備える。オープンフロー技術とは、コントローラ（ここではＯＦＣ２）が、ルーティングポリシー（フローエントリ：フロー＋アクション）に従い、マルチレイヤ及びフロー単位の経路情報をＯＦＳ１に設定し、経路制御やノード制御を行う技術を示す。これにより、経路制御機能がルータやスイッチから分離され、コントローラによる集中制御によって最適なルーティング、トラフィック管理が可能となる。オープンフロー技術が適用されるＯＦＳ１は、従来のルータやスイッチのようにパケットやフレームの単位ではなく、ＥＮＤ２ＥＮＤのフローとして通信を取り扱う。
【００２１】
ＯＦＣ２は、図示しないＣＰＵ及び記憶装置を備えるコンピュータによって実現される。フロー制御部１０は、記憶装置に格納されたプロラムを実行することで実現され、ＯＦＳ１毎にフローエントリ（フロー＋アクション）を設定することで当該ＯＦＳ１の動作（例えばパケットデータの中継動作）を制御する。
【００２２】
詳細には、フロー制御部１０は、ＯＦＣ２が保持するフローテーブル３１に従ってＯＦＳ１に対するフローエントリ（フロー＋アクション）の設定又は削除を行う。これにより、各ＯＦＳ１が保持するフローテーブル１１に対し、フローエントリ（フロー＋アクション）が設定又は削除される。
【００２３】
フローエントリをＯＦＳ１に設定する場合、フロー制御部１０は、フローエントリを設定したＯＦＳ１の識別子を、当該フローに対応づけてフローテーブル３１に記録する。又、フローエントリをＯＦＳ１から削除する場合、当該フローエントリに対応付けられていたＯＦＳ１の識別子をフローテーブル３１から削除する。
【００２４】
ＯＦＳ１は、自身が保持するフローテーブル１１を参照し、受信パケットのヘッダ情報に応じたフローエントリで規定されたアクション（例えばパケットデータの中継や破棄）を実行する。詳細には、ＯＦＳ１は、受信パケットのヘッダ情報が、自身のフローテーブルに設定されたフローエントリで規定されたフローに適合（一致）する場合、当該フローエントリで規定されたアクションを実行する。一方、ＯＦＳ１は、受信パケットのヘッダ情報が、フローテーブルに設定されたフローエントリで規定されたフローに適合（一致）しない場合、受信パケットをファーストパケットと認識し、当該ファーストパケットを受信したことをＯＦＣ２に通知するとともに、当該ヘッダ情報をＯＦＣ２に送信する。この際、ＯＦＣ２は、通知されたヘッダ情報に対応するフローエントリ（フロー＋アクション）をフローテーブル３１から選択し、通知元のＯＦＳ１に設定する。
【００２５】
フローエントリには、フロー（パケットデータ）を特定するための情報（以下、フロー情報と称す）として、例えば、ＴＣＰ／ＩＰのパケットデータにおけるヘッダ情報に含まれる、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルのレイヤ１からレイヤ４のアドレスや識別子の組み合わせが規定される。例えば、図７に示すレイヤ１の物理ポート、レイヤ２のＭＡＣアドレス、レイヤ３のＩＰアドレス、レイヤ４のポート番号、ＶＬＡＮタグのそれぞれの組み合わせがフロー情報としてフローエントリに設定される。ここで、フローエントリに設定されるポート番号等の識別子やアドレス等は、所定の範囲が設定されても構わない。又、フロー情報として、宛先や送信元のアドレス等を区別してフローエントリに設定されることが好ましい。例えば、ＭＡＣ宛先アドレスの範囲や、接続先のアプリケーションを特定する宛先ポート番号の範囲、接続元のアプリケーションを特定する送信元ポート番号の範囲がフロー情報としてフローエントリに設定される。更に、データ転送プロトコルを特定する識別子をフロー情報としてフローエントリに設定してもよい。
【００２６】
フローエントリで規定されるアクションは、例えばＴＣＰ／  ＩＰのパケットデータを処理する方法が規定される。例えば、受信パケットデータを中継するか否かを示す情報や、中継する場合はその送信先が設定される。又、アクションは、パケットデータの複製や、破棄することを指示する情報が設定されてもよい。
【００２７】
具体例として、フロー情報：ＭＡＣ送信元アドレス（Ｌ２）が“Ａ１〜Ａ３”、ＩＰ宛先アドレス（Ｌ３）が“Ｂ１〜Ｂ３”、プロトコルが“ｈｔｔｐ”、宛先ポート番号（Ｌ４）が“Ｃ１〜Ｃ３”と、アクション：“ＨＩＳＴ６−１に中継”とが対応付けられているフローエントリが設定されたＯＦＳ１−１の動作を説明する。ＭＡＣ送信元アドレス（Ｌ２）が“Ａ１”、ＩＰ宛先アドレス（Ｌ３）が“Ｂ２”、プロトコルが“ｈｔｔｐ”、宛先ポート番号（Ｌ４）が“Ｃ３”であるパケットデータを受信した場合、ＯＦＳ１は、ヘッダ情報が当該フローエントリに適合（一致）していると判断し、受信したパケットデータをＨＯＳＴ６−１に転送する。一方、ＭＡＣ送信元アドレス（Ｌ２）が“Ａ５”、ＩＰ宛先アドレス（Ｌ３）が“Ｂ２”、プロトコルが“ｈｔｔｐ”、宛先ポート番号（Ｌ４）が“Ｃ４”であるパケットデータを受信した場合、ＯＦＳ１−１は、ヘッダ情報が当該フローエントリに適合しないと判断し、ファーストパケット受信の旨をＯＦＣ２に通知するとともに当該ヘッダ情報をＯＦＣ２に送信する。ＯＦＣ２は、自身が保持するフローテーブルから、受信したヘッダ情報に対応するフローエントリを抽出し、ＯＦＳ１−１に送信する。尚、ＯＦＣ２は、フローテーブルに適切なフローがない場合は、新たにフローエントリを作成してもよい。ＯＦＳ１−１は送信されたフローエントリを自身のフローテーブルに設定し、これに従った、受信パケットの中継処理を実行する。
【００２８】
本発明によるコンピュータシステムでは、上述のようなオープンフロー技術によってフロー制御が行われている。このため、フローエントリよってＨＯＳＴ間の通信を特定できるとともに、フローエントリを指定することで特定の通信に対するフロー制御や品質監視を行うことが可能となる。
【００２９】
本発明によるＯＦＣ２は、上述のＯＦＣの機能の他に各ＯＦＳ１から統計情報を収集する機能、及び統計情報を利用して通信障害や品質劣化（以下、異常と称す）の原因箇所（以下、異常箇所と称す）を特定する機能を備える。詳細には、ＯＦＣ２は、ＯＦＳ１から統計情報を収集し、これを用いて異常箇所を特定するデータ処理装置２０、ＯＦＳ１から収集した統計情報を格納する記憶装置３０、収集した統計情報や、特定された異常箇所を視認可能に表示する出力装置４０（例えば、モニタ装置）を備える。ただし、これらの機能（データ処理装置２０、記憶装置３０、及び出力装置４０）は、ＯＦＣ２とは別の装置として、システム内に設けられても良い。
【００３０】
図２は、本発明によるデータ処理装置２０、記憶装置３０、ＯＦＳ１の実施の形態における構成を示す図である。データ処理装置２０は、図示しないＣＰＵ及び記憶装置を備え、記憶装置に格納されたプログラムをＣＰＵによって実行することで統計情報収集部２１、フロー経路計算部２２、異常箇所計算部２３の各機能を実現する。データ処理装置２０は、フロー制御部１０と共通のＣＰＵ及び記憶装置によって実現されても良い。
【００３１】
統計情報収集部２１は、異常のあった通信フローに対応するフローエントリが設定されたＯＦＳ１を統計情報の収集対象スイッチとして指定し、当該フローエントリに適合するフロー（パケットデータ）の統計情報を収集する。この際、統計情報収集部２１は、当該フローの統計情報を収集するためのフローエントリを生成し、指定した収集対象スイッチに設定する。尚、統計情報を収集するためのフローエントリは、予め用意されたフローテーブルから抽出しても良い。記憶装置３０は、統計情報を格納する領域として統計情報記憶部３１を有する。統計情報収集部２１によって収集された統計情報は、収集元のＯＦＳ１と対応付けられて統計情報記憶部３１に記録される。
【００３２】
収集対象スイッチとして指定されたＯＦＳ１は、設定された統計情報収集用のフローエントリに適合するパケットの処理回数（例えば転送回数）を、統計情報としてデータ処理装置２０に送信する。統計情報収集部２１は、統計情報を収集する期間をＯＦＳ１に指定することが好ましい。この場合、ＯＦＳ１は、指定された期間内における統計情報を取得し、データ処理装置２０に送信する。
【００３３】
例えば、ｓＦｌｏｗでは、所定のサンプリング周期で取得されたパケットを解析することで、フロー毎の統計情報を求めている。この場合、データ転送のタイミングによっては、実際のトラフィック状況と異なる結果となる場合がある。一方、本発明によるＯＦＳ１は、フローに応じた処理毎に、パケットの統計情報を収集している。このため、監視対象のフローに対する実際のトラフィック状況に応じた統計情報を得ることができる。又、ＯＦＳ１は、フローテーブル１１に適合するフローのみを統計情報の収集対象とするため、ｓＦｌｏｗのようにサンプリング処理を行うことなく処理負荷が低減される。
【００３４】
フロー経路計算部２２は、記憶装置３０におけるトポロジ情報記憶部３３から取得した各ＯＦＳの物理的な接続関係（トポロジ情報）を用いて、障害が発生している通信フローが通過するＯＦＳ１の経路を算出する。算出された経路は経路情報として異常箇所計算部２３に出力される。
【００３５】
トポロジ情報は、ＯＦＳ１やノード（例えば、ＨＯＳＴ６）、外部ネットワーク（例えばインターネット）等の接続状況に関する情報を含む。具体的には、トポロジ情報として、スイッチやノードを特定する装置識別子に、当該装置のポート数やポート接続先情報が対応付けられて記憶装置に記録される。ポート接続先情報は、接続相手を特定する接続種別（スイッチ／ノード／外部ネットワーク）や接続先を特定する情報（スイッチの場合はスイッチＩＤ、ノードの場合はＭＡＣアドレス、外部ネットワークの場合は外部ネットワークＩＤ）が含まれる。
【００３６】
通信経路情報は、通信経路を特定するための情報である。詳細には、通信経路情報として、ノード（例えばＨＯＳＴ６）、あるいは、外部ネットワークインタフェースを端点として指定する端点情報と、通過するＯＦＳ１とポートの対群を指定する通過スイッチ情報とが対応付けられる。例えば、２つのＨＯＳＴ６を接続する経路である場合、２つのＨＯＳＴ６のそれぞれのＭＡＣアドレスが端点情報として記録される。通過スイッチ情報は、端点情報で示される端点間の通信経路上に設けられるＯＦＳ１の識別子を含む。
【００３７】
異常箇所計算部２３は、障害が発生、又は品質が低下している通信フローの経路上の統計情報を分析し、パケットロスが発生している箇所を特定する。異常箇所計算部２３は、異常のある通信経路において、隣接する２つのスイッチから収集された統計情報の比較結果に応じて当該スイッチ間におけるパケットロスを算出する。又、通信経路内の各区間におけるパケットロスが大きく変化する区間を、異常箇所として特定する。異常箇所や通信経路上における各区間のパケットロスは、出力装置４０によって視認可能に出力される。
【００３８】
本発明では、フローを指定することで、当該フローに対応するフローエントリが設定されたＯＦＳ１及び通信経路を一意に特定することができる。このため、障害が発生したフローを特定することで、異常のある通信経路、及び異常通信経路上のＯＦＳを特定することができる。又、特定したＯＦＳに対して統計情報を収集するためのフローエントリを設定することで、異常通信経路上のフローに対する統計情報のみを選択して収集することができる。更に、通信経路上のＯＦＳ１から収集した統計情報を比較することで、パケットロスの大きさを区間毎に確認することができる。更に、パケットロスの変化が大きい箇所を特定できるため、当該箇所を通信障害や品質低下の原因箇所として特定することができる。
【００３９】
データ処理装置２０に対する通信の異常通知は、異常検知装置４によって行われる。異常検知装置４は、一般的に用いられるネットワーク監視機器と同様に、ネットワーク内の品質低下や、障害発生を検出する。あるいは、異常検知装置４は、ＨＯＳＴ６のユーザからの苦情（例えば、所定のコンピュータからのＦＴＰが遅いや、ストリーミングが乱れる等）を通信異常として検知してもよい。又、本発明による異常検知装置４は、異常通知とともに、異常のある通信で転送されるパケットデータのヘッダ情報をデータ処理装置２０に通知する。通知されるヘッダ情報は、例えば、送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、送信元ポート番号、宛先ポート番号を含む。
【００４０】
（コンピュータシステムにおける異常箇所特定動作）
次に、図３から図６を参照して、本発明による異常箇所特定処理の動作の詳細を説明する。図３は、本発明による異常箇所特定処理の動作の一例を示すフロー図である。
【００４１】
障害検知装置４は、障害が発生したフローのヘッダ情報（送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、送信元ポート番号、宛先ポート番号）を障害箇所計算部２３に通知する（ステップＳ１１）。異常箇所計算部２３は、通知されたヘッダ情報に基づき、統計情報収集用のフローエントリを計算する（ステップＳ１２）。
【００４２】
ステップＳ１２では、障害箇所計算部２３は、障害が発生したフローのヘッダ情報に一致するフロー情報と、所定の統計情報（例えば受信パケット数）を収集するためのアクションとが対応付けられたフローエントリをフロー情報統計情報収集用のフローエントリとして生成する。例えば、統計情報収集用のフローエントリには、フロー情報として、送信元ＩＰアドレス：ＨＯＳＴ６−１、宛先ＩＰアドレス：ＨＯＳＴ６−２、プロトコル番号：６、送信元ポート番号：＊、宛先ポート番号：８０が設定され、アクションとして受信パケット数の収集する処理が設定される。
【００４３】
次に、異常箇所計算部２３は、フローテーブル３１を参照して、障害が発生したフローに対応するフローエントリが設定されているＯＦＳ１を特定し、これを統計情報収集対象スイッチとして設定する（ステップＳ１３）。この際、フロー経路計算部２２は、障害が発生したフローに対応するＯＦＳ１（統計情報収集対象スイッチ）を始点から終点まで順に辿ることで異常のある通信経路を特定することができる。
【００４４】
統計情報収集対象スイッチが特定されると、統計情報の収集が行われる（ステップＳ１４）。ステップＳ１４において、統計情報収集部２１は、異常箇所計算部２３から通知された統計情報収集用のフローエントリを、統計情報収集対象スイッチに設定（指定）されたＯＦＳ１に指定する。ここでは、ＯＦＳ１−１〜１−５が統計情報収集対象スイッチに設定（指定）される。ＯＦＳ１−１〜１−５は、統計情報収集部１２から指定された期間中、設定された統計情報収集用のフローエントリに適合する受信パケット数を計数し、統計情報として統計情報収集部２１に送信する。ここで、各ＯＦＳ１における統計情報の取得期間は、同一時刻を開始時刻とする同じ期間が設定されることが好ましい。統計情報収集部２１は、ＯＦＳ１−１〜１−５から送信された統計情報をそれぞれの識別子に対応付けて統計情報記憶部３２に記録する。
【００４５】
図５は、本発明によるデータ処理装置２０によって収集される統計情報の一例を示す図である。図５に示す一例では、統計情報として、受信パケット数が収集される。ここで収集される統計情報は、送信元ＩＰアドレスがＨＯＳＴ６−１であるフローエントリに対応するため、ＨＯＳＴ６−１側から送信されたパケットの受信数が収集される。図５を参照して、ＯＦＳ１−１〜１−３における受信パケット数は、“９９９９”であり、ＯＦＳ１−３〜１−５における受信パケット数は“５５５”である。
【００４６】
一方、ステップＳ１３において、フロー経路計算部２２は、トポロジ情報記憶部３３から各ＯＦＳの物理的な接続関係を解析しフローの経路（異常通信経路）を算出している。詳細には、フロー経路計算部２２は、異常検知装置４からのヘッダ情報に基づいて端点を特定し、統計情報収集対象スイッチを、端点間の経路上のスイッチとして通信経路（異常通信経路）を特定する。この結果、例えば、図４に示すような通信経路が算出される。ここでは、ＨＯＳＴ６−１、６−２を端点とし、ＯＦＳ１−１〜１−５を通過する経路が算出される。
【００４７】
統計情報の収集と異常通信経路の計算が終了すると、異常箇所計算部２３は、異常通信経路上において隣接する２つのスイッチ間の統計情報を比較し、異常箇所を特定する（ステップＳ１６）。図４及び図５に示す一例では、ＨＯＳＴ６−１側からの受信パケット数が、ＯＦＳ１−２とＯＦＳ１−３との間で大きく変化している。この場合、ＯＦＳ１−２とＯＦＳ１−３との間で大きなパケットロスが生じていると判定され、当該区間が通信異常の原因箇所と特定される。
【００４８】
図５に示す統計情報の一例では、隣接するスイッチ間における統計情報に差が生じる箇所が１区間のみであるが、これに限らず、複数の箇所で差が生じる場合がある。この場合、それぞれの差は、それぞれのＯＦＳ間におけるパケットロスとして表示することができる。又、このパケットロスが最大の区間を異常箇所として特定してもよいし、パケットロスが所定の閾値異常の区間を異常箇所として特定してもよい。ここで、異常箇所を判定するための閾値は、予め設定された値でも、収集した統計情報に基づいて設定された値（例えば偏差値等）でも良い。
【００４９】
図３に示す一例では、異常のある通信経路上における各ＯＦＳ間におけるパケットロスを精度よく計算し、表示することができる。一方、図６に示すフローのように、通信経路における送信元の端点から順に、ＯＦＳ１間のパケットロスを計算することで、早期に異常箇所のみを検出することが可能となる。
【００５０】
図６は、本発明による異常箇所特定処理の動作の他の一例を示すフロー図である。ステップＳ１１〜Ｓ１４までは、上述（図３）と同様な動作が行われる。
【００５１】
統計情報の収集と通信経路の計算が終了すると、異常箇所計算部２３は、通信経路上において隣接するスイッチ間の統計情報を通信経路の開始点から順に比較し、スイッチ間のパケットロスを計算する。（ステップＳ２１）。詳細には、異常箇所計算部２３は、特定した異常通信経路の開始点からから最も近いＯＦＳ１−１とＯＦＳ１−２の受信パケット数の差を当該区間におけるパケットロスとして算出する。
【００５２】
次に、異常箇所計算部２３は、パケットロスが所定の閾値以上となるかを判定する（ステップＳ２２）。例えば、ＯＦＳ１−１とＯＦＳ１−２の間のパケットロスは“０”である。ここで、異常判定のための閾値が、“２０００”である場合、この区間は、正常区間と判定され、ステップＳ２１に移行する。
【００５３】
ステップＳ２１、Ｓ２２の処理は、ＯＦＳ間のパケットロスが閾値を越えるまで続けられる。ここで、ＯＦＳ１−２とＯＦＳ１−２との間のパケットロスは、“９９４４”となり閾値“２０００”より大きいため、この区間が異常箇所として特定される（ステップＳ２３）。
【００５４】
以上のように、図６に示す方法では、異常箇所が特定されるまで統計情報の比較判定が行われ、特定後の比較判定処理が省略されるため、データ処理装置２０における処理負荷が軽減されるとともに、障害検出速度が向上する。
【００５５】
従来技術によれば、数千台規模のコンピュータ装置を有するネットワークにおいて障害が発生した場合、原因となっている機器とポートを特定することは通常困難である。一方、本発明では、障害が発生したフローに対応するフローエントリを特定することで統計情報の収集対象となる通信経路（スイッチ）及びフロー（パケットデータ）を特定できる。このため、障害発生箇所を特定するために収集するデータ量や計算量は大幅に減少する。又、指定したフロー対する全ての統計情報を収集するため、従来のサンプリングによる統計情報の収集比べて精確なパケットロス等の検証及び異常箇所の特定を行うことができる。
【００５６】
又、本発明によれば、ＴＲＡＰ、ＳＹＳＬＯＧ等のアラート監視や死活監視では検知できないサイレント障害であっても、その原因箇所を特定することができる。その理由は、ＴＲＡＰやＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）ではなくパケットロスを確認することで原因箇所を特定しているためである。  
【００５７】
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【符号の説明】
【００５８】
１、１−１〜１−ｎ：オープンフロースイッチ（ＯＦＳ）
２：オープンフローコントローラ（ＯＦＣ）
４：異常検知装置
６、６−１〜６−ｍ：ホストコンピュータ（ＨＯＳＴ）
１０：フロー制御部
１１、３１：フローテーブル
２０：データ処理装置
２１：統計情報収集部
２２：フロー経路計算部
２３：異常箇所計算部
３０：記憶装置
３２：統計情報記憶部
３３：トポロジ情報記憶部
４０：出力装置
【図１】
2011146982.tif 000003
【図２】
2011146982.tif 000004
【図３】
2011146982.tif 000005
【図４】
2011146982.tif 000006
【図５】
2011146982.tif 000007
【図６】
2011146982.tif 000008
【図７】
2011146982.tif 000009