(57)【要約】【課題】通信装置間の通信に関する情報から通信装置がサーバか否かを識別する識別装置を提供する。【解決手段】識別装置は、情報を通信する複数の通信装置間で通信される情報の量を含む情報を取得し、前記複数の通信装置のうちのいずれかの装置である第１通信装置と、該第１通信装置と通信する１以上の前記通信装置との所定期間における通信において、前記第１通信装置から出力される情報の量が前記第１通信装置へ入力される情報の量以上である場合に、前記第１通信装置をサーバ装置と識別する。【選択図】図１
2015171052.tif 000002
【特許請求の範囲】
【請求項１】
情報を通信する複数の通信装置間で通信される情報の量を含む情報を取得する取得部と、
前記複数の通信装置のうちのいずれかの装置である第１通信装置と、該第１通信装置と通信する１以上の前記通信装置との所定期間における通信において、前記第１通信装置から出力される情報の量が前記第１通信装置へ入力される情報の量以上である場合に、前記第１通信装置をサーバ装置と識別する識別部と、
を備えることを特徴とする識別装置。
【請求項２】
前記取得部は、前記複数の通信装置間の通信を中継する中継装置を制御する制御装置から、前記複数の通信装置間で通信される情報の量を含む情報を取得する
ことを特徴とする請求項１に記載の識別装置。
【請求項３】
前記識別部は、前記第１通信装置と、該第１通信装置と通信する１以上の前記通信装置の各々との所定期間における通信において、前記第１通信装置から出力される情報の量が前記第１通信装置へ入力される情報の量以上である場合に、前記第１通信装置をサーバ装置と識別する
ことを特徴とする請求項１または２に記載の識別装置。
【請求項４】
前記識別部は、さらに、
前記第１通信装置をサーバ装置と識別した場合、前記複数の通信装置のうちの何れかの装置であって前記第１通信装置と通信する第２通信装置と、該第２通信装置と通信し前記第１通信装置と異なる１以上の前記通信装置との所定期間における通信において、前記第２通信装置から出力される情報の量が前記第２通信装置へ入力される情報の量以上である場合に、前記第２通信装置をサーバ装置と識別する
ことを特徴とする請求項１〜３のうちいずれか１項に記載の識別装置。
【請求項５】
前記識別部は、さらに、
所定期間における、前記第１通信装置の通信量と、前記複数の通信装置のうちの何れかの装置である第３通信装置の通信量とに相関がある場合に、前記第１通信装置及び前記第３通信装置をサーバ装置と識別する
ことを特徴とする請求項１〜４のうちのいずれか１項に記載の識別装置。
【請求項６】
前記識別装置は、さらに、
前記第１通信装置の第１期間における所定の時間間隔毎の通信量の平均または分散に基いて第１閾値を算出し、前記第１期間において、前記第１通信装置の通信量が前記第１閾値未満であり且つ前記複数の通信装置のすべてと通信を行う場合、前記第１通信装置と、該第１通信装置と通信する第４通信装置との間で所定期間において通信される情報の量が所定の閾値以上であり、且つ、前記第４通信装置と、該第４通信装置と通信する１以上の前記通信装置の各々との通信において、前記第４通信装置へ入力される情報があるにもかかわらず、前記第４通信装置から出力される情報がない場合に、前記第４通信装置は異常であると判定する障害判定部
を備えることを特徴とする請求項１〜５のうちのいずれか１項に記載の識別装置。
【請求項７】
コンピュータに、
情報を通信する複数の通信装置間で通信される情報の量を含む情報を取得し、
前記複数の通信装置のうちのいずれかの装置である第１通信装置と、該第１通信装置と通信する１以上の前記通信装置との所定期間における通信において、前記第１通信装置から出力される情報の量が前記第１通信装置へ入力される情報の量以上である場合に、前記第１通信装置をサーバ装置と識別する
処理をさせることを特徴とする識別プログラム。
【請求項８】
情報を通信する複数の通信装置間で通信される情報の量を含む情報を取得し、
前記複数の通信装置のうちのいずれかの装置である第１通信装置と、該第１通信装置と通信する１以上の前記通信装置との所定期間における通信において、前記第１通信装置から出力される情報の量が前記第１通信装置へ入力される情報の量以上である場合に、前記第１通信装置をサーバ装置と識別する
処理をコンピュータが実行することを特徴とする識別方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、装置の識別に関する。
【背景技術】
【０００２】
サーバとクライアント等を含むシステムにおいて、ネットワークの通信が不通になる原因としてネットワークに接続された端末の異常もしくは通信経路（リンク）の異常が考えられる。サーバはネットワークを介して、他の端末へ所定のサービスを提供する端末であり、クライアントは、サーバが提供するサービスを利用する端末である。そしてクライアントは、あるフロー間でリクエストを送信する端末であり、サーバは、クライアントからのリクエストに対するレスポンスを送信する端末である。クライアントは、所定時間において各々のサーバへ出力するデータ量よりもサーバから入力されるデータ量が大きくなる。一方サーバは、所定期間において、各々のクライアントから入力されるデータ量よりもクライアントへ出力するデータ量が大きくなる。
【０００３】
ここで、障害が発生したリンクに接続された装置がサーバかクライアントかによって、障害対応の緊急度が変わる。よって、システムの各々の端末に対してサーバか否かの識別が求められる。このようなシステムの各々の端末に対するサーバか否かの識別は、システムの管理者が登録した構成情報に基いて行われている。
【０００４】
しかしながら、例えばクラウドシステムの管理者は顧客がクラウドシステム内に構築した端末がサーバか否かを知ることはできない。また、管理者が登録した構成情報に誤りがあると、間違った異常個所の解析をしてしまうことになるという問題がある。
【０００５】
一方、パケットが有する情報からクライアントに対応する通信装置とサーバに対応する通信装置とを識別する第１の技術がある。第１の技術は、通信装置が送受信したパケットを取得し、パケットの送信先のアドレスと送信元のアドレスとの組み合わせに基づいて、パケットの送信先と送信元が入れ替わる時間の間隔を同一のセッション内で集計する。そして集計の結果に基づいて、第１の技術は、パケットの送信元又はパケットの送信先が、サーバに対応するか、クライアントに対応するかを判定する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１９９７８８号公報
【特許文献２】特開２００７−２０７１９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、取得したパケットの情報からサーバを識別する識別装置では、クラウドシステム内の顧客が管理する端末で通信されるパケットを取得して内容を解析することはできないため、クラウドシステムのようなシステムに対しては適用できない場合がある。
【０００８】
そこで、１つの側面では、本発明は、通信装置間の通信に関する情報から通信装置がサーバか否かを識別する識別装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
一態様による識別装置は、取得部と識別部を含む。取得部は、情報を通信する複数の通信装置間で通信される情報の量を含む情報を取得する。識別部は、複数の通信装置のうちのいずれかの装置である第１通信装置と、第１通信装置と通信する１以上の通信装置との所定期間における通信において、第１通信装置から出力される情報の量が第１通信装置へ入力される情報の量以上である場合に、第１通信装置をサーバ装置と識別する。
【発明の効果】
【００１０】
一態様によれば、通信装置間の通信に関する情報から通信装置がサーバか否かを識別する識別装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】識別装置の一実施例の構成を図解した機能ブロック図である。
【図２】実施形態に係る情報処理システムの構成の一例を示す。
【図３】ネットワークトモグラフィ技術を用いたネットワークの障害監視を説明する図である。
【図４】ネットワークトモグラフィリンク情報の一例である。
【図５】ネットワークトモグラフィ技術を用いたネットワークの障害監視における障害の一例である。
【図６】入力データ量と出力データ量の比較に基くサーバ識別処理を説明する図である。
【図７】通信データ量の相関に基くサーバ識別処理を説明する図（その１）である。
【図８】通信データ量の相関に基くサーバ識別処理を説明する図（その２）である。
【図９】長期間における通信データ量に基いたサーバの特定処理で用いられる、端末の入力データ量の変化の一例を示す。
【図１０】障害発生時の保守対象端末と保守端末の間の通信データの量の変化を説明する図である。
【図１１】監視装置の構成の一例を示す。
【図１２】トポロジ情報の一例を示す。
【図１３】フロー情報の一例を示す。
【図１４】リンク情報の一例を示す。
【図１５】経路情報の一例を示す。
【図１６】フロー管理情報の一例を示す。
【図１７】判定結果情報の一例を示す。
【図１８】未判定端末情報の一例を示す。
【図１９】トラフィック情報の一例を示す。
【図２０】長期間における通信データ量に基づくサーバの識別処理で用いられるトラフィック管理情報の一例を示す。
【図２１】保守管理情報の構成の一例を示す。
【図２２】フロー状態管理情報の一例を示す。
【図２３】出力部により出力される情報の一例である。
【図２４】サーバの識別処理の詳細を図解したフローチャート（その１）である。
【図２５】サーバの識別処理の詳細を図解したフローチャート（その２）である。
【図２６】サーバの識別処理の詳細を図解したフローチャート（その３）である。
【図２７】サーバの識別処理の詳細を図解したフローチャート（その４）である。
【図２８】サーバの識別処理の詳細を図解したフローチャート（その５）である。
【図２９】端末の通信データ量に基く障害特定処理の詳細を図解したフローチャートである。
【図３０】ネットワークトモグラフィを用いた障害特定処理の詳細を図解したフローチャートである。
【図３１】監視装置のハードウェア構成の一例を示す。
【発明を実施するための形態】
【００１２】
図１は、識別装置の一実施例の構成を図解した機能ブロック図である。図１において識別装置１０は、取得部１、識別部２、及び障害判定部３を含む。
【００１３】
取得部１は、情報を通信する複数の通信装置間で通信される情報の量を含む情報を取得する。
【００１４】
識別部２は、複数の通信装置のうちのいずれかの装置である第１通信装置と、第１通信装置と通信する１以上の通信装置との所定期間における通信において、第１通信装置から出力される情報の量が第１通信装置へ入力される情報の量以上である場合に、第１通信装置をサーバ装置と識別する。
【００１５】
また取得部１は、複数の通信装置間の通信を中継する中継装置を制御する制御装置から、複数の通信装置間で通信される情報の量を含む情報を取得する。
【００１６】
また識別部２は、第１通信装置と、第１通信装置と通信する１以上の通信装置の各々との所定期間における通信において、第１通信装置から出力される情報の量が第１通信装置へ入力される情報の量以上である場合に、第１通信装置をサーバ装置と識別する。
【００１７】
また識別部２は、第１通信装置をサーバ装置と識別した場合、複数の通信装置のうちの何れかの装置であって第１通信装置と通信する第２通信装置と、第２通信装置と通信し第１通信装置と異なる１以上の通信装置との所定期間における通信において、第２通信装置から出力される情報の量が第２通信装置へ入力される情報の量以上である場合に、第２通信装置をサーバ装置と識別する。
【００１８】
また識別部２は、所定期間における、第１通信装置の通信量と、複数の通信装置のうちの何れかの装置である第３通信装置の通信量とに相関がある場合に、第１通信装置及び第３通信装置をサーバ装置と識別する。
【００１９】
また識別部２は、第１通信装置と第３通信装置毎に、第１期間における所定の時間間隔毎の通信量の平均または分散に基いて第１閾値を算出し、第１期間において、通信量が第１閾値以上であり且つ通信量が極大となる所定の時間間隔の期間を特定し、特定した期間が第１通信装置と第３通信装置で一致する場合、第１通信装置及び第３通信装置をサーバ装置と識別する。
【００２０】
障害判定部３は、第１通信装置の第２期間における所定の時間間隔毎の通信量の平均または分散に基いて第２閾値を算出し、第２期間において、第１通信装置の通信量が第２閾値未満であり且つ複数の通信装置のすべてと通信を行う場合、第１通信装置と、第１通信装置と通信する第４通信装置との間で所定期間において通信される情報の量が所定の閾値以上であり、且つ、第４通信装置と、第４通信装置と通信する１以上の通信装置の各々との通信において、第４通信装置へ入力される情報があるにもかかわらず、第４通信装置から出力される情報がない場合に、第４通信装置に障害が発生していると判定する。
【００２１】
このようにすることで、個々のパケットの内容を解析することなく、端末間の通信に関する情報からサーバ装置の識別が可能となる。
【００２２】
図２は、実施形態に係る情報処理システムの構成の一例を示す。図２において、情報処理システムは、端末２１（２１ａ、２１ｂ）、制御装置２２、中継装置２３（２３ａ、２３ｂ）、及び監視装置２４を含む。情報処理システムのネットワーク２０においては、例えばオープンフロー（Open Flow）技術が用いられる。監視装置２４は識別装置１０の一例である。
【００２３】
端末２１は、中継装置２３を介して情報の通信を行う。
制御装置２２は、各中継装置２３の動作を制御し、各中継装置２３から通信に関する統計情報を収集する。統計情報には通信量（トラフィック量）を示す情報が含まれる。例えば統計情報は、同じ属性を有する通信毎に集約される。ここで属性とは、例えば、「宛先ＭＡＣアドレス」「送信元ＭＡＣアドレス」、「宛先ＩＰアドレス」、「送信元ＩＰアドレス」、「宛先ポート番号」、「送信元ポート番号」、「ＶＬＡＮのＩＤ」等の通信に関する属性のいずれかまたは複数の組み合わせを指す。例えば、「送信元ＭＡＣアドレス」と「宛先ＭＡＣアドレス」が同じトラフィック同士は同じ属性の通信である。このような同じ属性を有する通信の集合をフローと呼ぶ。
【００２４】
また制御装置２２は、ネットワーク２０のトポロジ情報（スイッチ間の接続関係に関する情報）を検出する。
【００２５】
例えばネットワーク２０にオープンフロー技術が用いられる場合、制御装置２２はオープンフロースイッチコントローラ（OFSコントローラ）であり、オープンフロー（OpenFlow）プロトコルを用いて中継装置２３の動作を制御し、統計情報を収集する。また制御装置２２は、例えばＬＬＤＰ（Link Layer Discovery Protocol）を用いてネットワーク２０のトポロジ情報を収集する。
【００２６】
中継装置２３は、端末２１間の通信を中継する。中継装置２３は、制御装置２２により規定されたルールに従って動作し、中継する通信に関する情報を制御装置２２へ送信する。例えばネットワーク２０にオープンフロー技術が用いられる場合、中継装置２３はオープンフロースイッチ（OFS）であり、制御装置２２（OFSコントローラ）によって規定されたルールに基いて処理を行う。このルールには、受信したパケット（フレーム）を転送する際にどの経路を選択するかを示すフローテーブルが含まれている。フローテーブルには、条件（Match Fields）と、各条件に対応付けられたアクション（Instructions）が規定されており、中継装置２３は条件にマッチするパケットを受信すると、その条件に対応するアクションを実行する。尚、このような条件とアクションの組み合わせの定義に従う同じ属性の通信の集合は、フローの一例である。またフローテーブルにはフロー毎の統計情報（Counters）が含まれ、この統計情報には各フローのトラフィック量を示す情報が含まれる。統計情報は、OFSコントローラへ送信されて集約される。中継装置２３は、制御装置２２が中継装置２３を一意に識別するための情報であるスイッチＩＤが割り当てられる。
【００２７】
監視装置２４は、制御装置２２から、ネットワーク２０のトポロジ情報、及び統計情報を取得し、取得した情報を用いてネットワーク２０の障害監視を行う。具体的には監視装置２４は、端末２１の間の情報が通信される経路のうち、障害が発生している経路の重複性に基いた、通信経路上の障害箇所（区間）の特定処理を行う。例えば監視装置２４は、ネットワークトモグラフィ技術を用いてネットワーク２０の障害監視を行う。
【００２８】
ここでネットワークトモグラフィ技術を用いてネットワークの障害監視を行う動作について説明する。図３は、ネットワークトモグラフィ技術を用いたネットワークの障害監視を説明する図である。図３において、端末２１（２１ｃ〜２１ｇ）は、中継装置２３（２３ｃ〜２３ｉ）を介して接続されており、端末間でデータの通信が行われている。また、図３には示していないが、各中継装置２３は、制御装置２２にネットワークを介して接続されており、また制御装置２２は、ネットワークを介して、監視装置２４に接続されている。以下の説明では、フローにおいてデータが通信（経由）される中継装置間の経路の各々をリンクと記す。また、フローにおいてデータが通信される端末同士は、論理的に接続されると記す。図３においては、フローはＦ１〜Ｆ４で示されており、リンクはＬ１〜Ｌ９で示されている。ここで、図３においては、リンクＬ３でパケットのロスが発生している。
【００２９】
このとき、図３に示さない監視装置２４は、図３に示さない制御装置２２を介して、各フローの２つの端末間または中継装置間で単位時間に送受信されるパケットの数を取得する。そして監視装置２４は、取得したパケットの数に基いて、各フローが正常か否かを判定する。例えば監視装置２４は、端末間または中継装置間を送受信されるパケットに所定の数以上のロスが発生している場合には、そのフローは異常であると判定する。そして監視装置２４は、各フローが正常か否かを示す情報と、各フローで通信されるデータが通過するリンクの識別情報を対応付けたネットワークトモグラフィリンク情報を生成する。
【００３０】
図４は、ネットワークトモグラフィリンク情報の一例である。図４において、フローＦ１のデータが通信されるリンクＬ１、Ｌ２、及びフローＦ４のデータが通信されるリンクＬ６、Ｌ９は、正常であることが示されている。またフローＦ２のデータが通信されるリンクＬ２、Ｌ３、Ｌ４、及び、フローＦ３のデータが通信されるリンクＬ２、Ｌ３、Ｌ７、Ｌ８は、異常であることが示されている。ここで、監視装置２４は、一つでも正常なフローが通過するリンクを正常であると判定し、全ての異常なフローが通過するリンクを異常であると判定する。図４の例では、異常なフローはＦ２、Ｆ３であり、これらの二つのフローが通過するリンクはＬ３である。よって、監視装置２４はＬ３が異常であると判定する。
【００３１】
以上のようにして監視装置２４は、ネットワークトモグラフィを用いたネットワークの障害監視を行う。すなわち監視装置２４は、障害が発生しているフローの重複性に基いて、障害が発生しているリンクの特定処理を行う。しかしながら、ネットワークトモグラフィを用いたネットワークの障害監視は、障害が発生した場合に、端末に接続するリンクに障害が発生したのか、あるいは端末自体に障害が発生したのかの区別ができない場合がある。このような場合の例を、図５を用いて説明する。
【００３２】
図５は、ネットワークトモグラフィ技術を用いたネットワークの障害監視における障害の一例である。図５において、端末２１ｆはサーバであって、その端末２１ｆが故障している。この場合には、監視装置２４は、ネットワークトモグラフィを用いたネットワークの障害の監視では、リンクＬ１０に障害が発生したのか、端末２１ｆに障害が発生したのかを区別できない。
【００３３】
そこで実施形態に係る監視装置２４は、サーバに接続するリンクに障害が発生した場合、リンクとサーバのどちらに障害が発生したのかを特定する処理を行う。ここで、サーバの過負荷による障害の場合、多数の入力パケットに対して、出力パケットの数が少なくなるという特性がある。よって、予め各端末がサーバか否かが判明していれば、この特性を用いてサーバとリンク障害の切り分けが可能である。
【００３４】
そこで、リンクとサーバのどちらに障害が発生したのかを特定する処理において、先ず監視装置２４は、各端末がサーバか否かを判定するサーバ識別処理を行う。
【００３５】
サーバ識別処理は、各端末に入出力されるデータの量（入出力トラフィック量）に基いて行われる。そしてサーバ識別処理は、所定期間における各端末の入力データ量と出力データ量の比較に基く処理と、複数の端末の所定期間における通信データ量の相関に基く処理の２つに分けられる。
【００３６】
入力データ量と出力データ量の比較に基くサーバ識別処理は、所定の期間において端末に対して入出力されたデータの量（端末の通信データ量）が所定の閾値以上である端末に対して行われる。これは、入力データ量と出力データ量の比較において比較対象のデータ量が少ない場合には、サーバの特定処理の結果が不正確になる可能性があるからである。また所定期間における入力データと出力データがない場合には、データ量の比較は行えないからである。
【００３７】
通信データ量の相関に基くサーバ識別処理は、所定の期間における端末の通信データ量が所定の閾値未満である端末に対して行われる。これは、通信データ量が少ないサーバ同士は、サーバの特性を考慮すると、通信データ量に相関がみられる場合があることに基いている。
【００３８】
通信データ量が少ないサーバとしては、一度アクセスすればタイムアウト時間になるまで次のアクセスが行われないサーバがある。そのようなサーバには、例えば、ＤＮＳ（Domain Name System）サーバやＲＡＤＩＵＳ（Remote Authentication Dial In User Service）などの認証サーバがある。ＤＮＳサーバや認証サーバは通信発生時にどちらのサーバにもアクセスが発生するため、それらのサーバの通信データ量には相関が生まれる。例えばクライアントは、ＲＡＤＩＵＳサーバにアクセスする前に一旦ＤＮＳサーバにアクセスし、その後、ＲＡＤＩＵＳサーバへアクセスを行うため、両サーバの入出力パケット数に相関が発生する。以上のように、通信データ量が少ないサーバ同士は、サーバの特性上、通信データ量に相関がある場合があり、この特性を利用して、通信データ量の相関に基くサーバ識別処理が行われる。
【００３９】
尚、通信データ量の相関に基くサーバ識別処理は、入力データ量と出力データ量の比較に基くサーバ識別処理において、サーバまたはクライアントと判定されなかった端末に対しても行われる。
【００４０】
入力データ量と出力データ量の比較に基くサーバ識別処理は、所定期間における端末の入力データ量と出力データ量とを比較し、出力データ量が入力データ量よりも大きい場合、その端末をサーバと識別する処理である。これは、所定時間において各々のクライアントから入力されるデータ量よりもクライアントへ出力するデータ量が大きくなるというサーバの特性を利用するものである。
【００４１】
各端末における入力データ量と出力データ量の比較は、例えば、その端末が送受信する情報のフロー毎に行われ、また、その端末の全てのフローに対して行われる。
【００４２】
端末がサーバと識別されたら、サーバと識別された端末（以下、単にサーバと記す場合がある）に論理的に接続される端末に対しても、入力データ量と出力データ量の比較が行われる。ただし、サーバに論理的に接続される端末に対しては、サーバと通信が行われるフロー以外のフロー毎に、入力データ量と出力データ量の比較が行われる。そして、サーバと通信が行われるフロー以外の全てのフローにおいて、出力データ量が入力データ量よりも大きい場合、その端末はサーバと識別される。これにより、サーバに論理的に接続する端末が更に他の端末に対してサーバとなっている場合に、そのサーバに論理的に接続する端末をサーバと識別することができる。
【００４３】
このように、サーバと識別された端末に論理的に接続された端末を順次たどっていき、論理的に接続された端末の、サーバとは異なる端末との間の各フローにおいて、出力データ量が入力データ量よりも大きいか否かを判定する。そして、サーバと特定した端末とは異なる端末へのすべてのフローにおいて、出力データ量が入力データ量よりも大きい場合、サーバと論理的に接続された端末もサーバであると判定する。同様の処理が、順次探索端末がなくなるまで繰り返される。
【００４４】
入力データ量と出力データ量の比較は、具体的には例えば、入力パケット数と出力パケット数の比較により行われる。
【００４５】
図６は、入力データ量と出力データ量の比較に基くサーバ識別処理を説明する図である。図６においては、端末２１ｈ〜２１ｌの間のフローと、各フローにおいて送受信されるパケット数が示されている。
【００４６】
先ず、監視装置２４は、監視対象の各端末に対して、各端末の全てのフローにおいて、出力パケット数が入力パケット数よりも大きいか否かを判定する。図６の端末２１ｈは、端末２１ｉ、２１ｊ、２１ｋとの間のフロー（Ｆ２１、Ｆ２２、Ｆ２３）のいずれにおいても、出力パケット数が入力パケット数より大きくなっている。よってこの場合、監視装置２４は、端末２１ｈの全てのフローにおいて、出力パケット数が入力パケット数よりも大きいと判定し、その結果、端末２１ｈをサーバと識別する。
【００４７】
次に監視装置２４は、サーバと判定した端末２１ｈに論理的に接続される端末である、端末２１ｉ、２１ｊ、２１ｋの各々に対して、出力パケット数が入力パケット数よりも大きいか否かを判定する。具体的には監視装置２４は先ず、端末２１ｉのフロー（Ｆ２１、Ｆ２４）のうち、サーバと判定された端末２１ｈとは異なる端末との間の全てのフロー（Ｆ２４）において、出力パケット数が入力パケット数よりも大きいか否かを判定する。図６の場合、フローＦ２４の端末２１ｉに対する入力パケット数は80であり、出力パケット数は100であるので、監視装置２４は、出力パケット数が入力パケット数よりも大きいと判定し、その結果、端末２１ｉはサーバと識別する。端末２１ｊ、２１ｋについても端末２１ｉと同様に、出力パケット数が入力パケット数よりも大きいか否かを判定する。図６の場合、監視装置２４は、端末２１ｊ、２１ｋもサーバと識別する。
【００４８】
次に監視装置２４は、サーバと判定された端末である端末２１ｉ、２１ｊ、２１ｋに論理的に接続する端末である端末２１ｌに対して、端末２１ｉ等と同様に、出力パケット数が入力パケット数よりも大きいか否かを判定する。端末２１ｌは、サーバと判定された端末とだけ接続され、サーバ以外の端末と論理的に接続されていないため、端末２１ｌの全てのフローにおいては、出力パケット数が入力パケット数よりも小さくなる。この場合、監視装置２４は、端末２１ｌをクライアントと（サーバではない）と識別する。
【００４９】
図６の構成は、例えば、端末２１ｈはＤＢ（DataBase）サーバであり、端末２１ｉ、２１ｊ、２１ｋはＷＥＢ／ＡＰ（Application）サーバであり、端末２１ｌはＮＡＴ（Network Address Translation）またはファイアウォールである場合が考えられる。ＮＡＴあるいはファイアウォールとＷｅｂ／ＡＰサーバ間の入出力パケット数はＷｅｂ／ＡＰサーバからの出力パケット数が多くなる。また、Ｗｅｂ／ＡＰサーバとＤＢサーバ間の入出力パケット数の関係はＤＢサーバからの出力パケット数が多くなる。ＤＢサーバのような、ある階層システムの最上位にあり、全てのフローの出力パケット数が入力パケット数より多くなるサーバをまず特定し、その配下の端末を順次、探索することにより全端末に対してサーバか否かの識別を行うことができる。また、Ｗｅｂ／ＡＰサーバのような中間の階層の端末は、上位のサーバ（ＤＢサーバ）へのフロー以外（ＮＡＴあるいはファイアウォール）へのフローの出力パケット数が入力パケット数より多くなるが、実施形態ではこのような端末もサーバと識別することができる。
【００５０】
通信データ量の相関に基くサーバ識別処理は、複数の端末間で、所定期間の各々の通信量に相関があるか否かを判定し、通信量に相関がある端末同士をサーバと識別する処理である。尚、通信量は、入力データ量と出力データ量のいずれか、または両方の和を指す。
【００５１】
具体的には、監視装置２４は、識別対象の端末のフローの各々において、所定期間において所定の間隔で計測された入力パケット数の情報を取得する。監視装置２４は、所定期間における所定の間隔で測定された入力パケット数の情報から、時系列における入力パケット数の変化の情報を得られる。次に監視装置２４は、所定期間における入力パケット数の平均値と分散に基いて閾値を算出する。そして監視装置２４は、入力パケット数が、算出した閾値を超える時刻であって、入力パケット数が極大となる時刻を特定する。以上のような入力パット数が極大となる時刻の特定を、監視装置２４は、複数の端末の全てのフローに対して行う。そして監視装置２４は、複数の端末間で、所定期間における特定した極大値の時刻が一致する端末同士があるか否かを判定する。そして監視装置２４は、所定期間における極大値の時刻が一致する端末同士をサーバと判定する。尚、監視装置２４は、極大値の時刻に加えて、極大値の数も比較の対象としてもよい。
【００５２】
図７及び図８は、所定の期間における通信データ量の相関に基くサーバ特定処理を説明する図である。図７においては、端末２１ｍのフロー及び２１ｎのフローと、各フローにおいて送受信されるパケット数が示されている。また、図８の（Ａ）は、端末２１ｍのフロー（Ｆ２７）において、端末２１ｍに対して入力されるパケットの数の時系列における変化を示す。また図８の（Ｂ）は、端末２１ｎのフロー（Ｆ２８）において、端末２１ｎに対して入力されるパケットの数の時系列における変化を示す。図８の（Ａ）と（Ｂ）では、１時間の入力パケット数の変化が示されている。このとき監視装置２４は１時間の入力パケット数の平均値と標準偏差を算出し、平均値と標準偏差の和を閾値として設定する。そして監視装置２４は、図８の（Ａ）と（Ｂ）において、算出した平均値と標準偏差の和を超える極大値の時刻がすべて一致するか否かを判定する。図８の場合、監視装置２４は、平均値と標準偏差の和を超える極大値の時刻がすべて一致していると判定し、端末２１ｍと端末２１ｎはサーバであると判定する。
【００５３】
これにより、通信データ量が少ない端末に対しても、サーバか否かの識別処理が可能となる。尚、各サーバにおいてタイムアウト値が異なる場合があるため、一方の端末の通信データ量の全ての極大値に、他方の端末の通信データ量の極大値のいずれかが一致する場合、それらの端末をサーバと判定してもよい。また、極大値の時刻には所定の時間幅を持たせて、その所定の時間幅内に比較対象の極大値の時刻のいずれもが含まれる場合には、比較対象の極大値の時刻は一致していると判定してもよい。
【００５４】
尚、所定の期間における通信データ量の相関は、例えば相関係数を用いて相関があるか否かを判定する方法等、種々の方法により算出してもよい。実施形態においては、相関があるとは、各端末の各フローの分散値を超える極大値が発生する時刻、あるいは発生数が一致する場合のことを指しているが、これに限定されない。
【００５５】
尚、図７の構成は、例えば、端末２１ｍはＤＮＳサーバであり、端末２１ｎは、ＲＡＤＩＵＳサーバである場合が考えられる。
【００５６】
所定期間における各端末に入出力されるデータの量に基いたサーバの特定処理において、サーバの特定ができない端末がある場合、監視装置２４は、さらに長期間（例えば１２時間、あるいは１日）における期間で、同様にしてサーバの識別処理を行うこともできる。
【００５７】
図９は、長期間における通信データ量に基いたサーバの特定処理で用いられる、端末の入力データ量の変化の一例を示す。図９の（Ａ）、（Ｂ）、（Ｃ）は、それぞれ図７における、フローＦ２９の端末２１ｍへの入力パケット数、フローＦ２７の端末２１ｍへの入力パケット数、フローＦ２８の端末２１ｎへの入力パケット数の１２時間の変化を示している。このように、各端末に入出力される長期間のデータ量に基いて、サーバの特定処理が行われてもよい。尚、図９において、（Ａ）と（Ｃ）の極大値の時刻は一致していないが、（Ｂ）と（Ｃ）では一致している。このように端末２１ｍの何れかのフローと、端末２１ｎの何れかのフローの極大値が一致している場合、監視装置２４は、端末２１ｍと端末２１ｎはサーバであると判定する。
【００５８】
監視装置２４はサーバの識別処理の途中において、または識別処理が終了すると、障害特定処理を行う。障害特定処理は、ネットワークトモグラフィを用いた障害特定処理と、端末の通信データ量に基く障害特定処理に分けられる。
【００５９】
ネットワークトモグラフィを用いた障害特定処理では、先ず監視装置２４は、図３〜５を参照して説明した、ネットワークトモグラフィ技術を用いたネットワークの障害監視を実行する。そしてネットワークトモグラフィ技術を用いたネットワークの障害監視の結果、ネットワーク２０に含まれるリンクに障害が発生していると判定すると、監視装置２４は、障害が発生していると判定されたリンクが、サーバに接続するリンクか否かを判定する。障害が発生していると判定したリンクが、サーバに接続するリンクであると判定すると、監視装置２４は、障害リンクが接続するサーバへの入力データ量と出力データ量を比較する。そして監視装置２４は、入力データ量が出力データ量よりも多いと判定すると、サーバに障害が発生していると判定する。
【００６０】
通信データ量に基く障害特定処理では、障害判定の対象端末と保守端末との間で通信されるデータ量の変化（増減）と、対象端末の通信データ量とに基いて、対象端末の障害の判定を行う。
【００６１】
ネットワーク２０には、保守者が定期的に管理しているノードに定期的に死活監視を行うような保守端末が含まれる可能性がある。保守端末は、保守対象端末に対して定期的にポーリングを行う。保守端末と各保守対象端末との間で通信されるデータ量は、保守対象端末に障害が起きていない場合は所定の範囲内で一定であるが、保守対象端末に障害が発生した場合、障害が発生した端末と保守端末との間で通信されるデータの量が大きくなる。これのようなケースは、例えば、任意のサーバで障害が発生した場合に、ユーザからのクレーム等によりそのサーバを調査するため、そのサーバへの入出力パケット数が増えるケース等が考えられる。また、障害が発生した端末は、保守端末とは異なる端末に対してはデータの送信ができない。すなわち、障害が発生した端末に対するフローにおいては、障害が発生した端末から、保守端末とは異なる端末へ出力されるデータ量は０になる。
【００６２】
図１０は、障害発生時の保守対象端末と保守端末の間の通信データの量の変化を説明する図である。図１０（Ａ）は保守対象端末のいずれもが正常である場合の監視の様子を示しており、図１０（Ｂ）は保守対象端末に障害が発生した場合の監視の様子を示している。図１０（Ａ）において、保守端末２１ｏは、複数の端末に対してポーリングによる死活監視を行っており、各端末と保守端末との間で通信されるパケット数は「1」となっている。図１０（Ｂ）は端末において障害が発生している場合の監視の例である。この場合、保守端末２１ｏと障害が発生している端末２１ｐとの間の通信データの量が増え「100」となっている。また、端末２１ｐから保守端末２１ｏとは異なる端末２１ｑへ出力されるデータ量は「0」となっている。
【００６３】
以上のことを考慮して、監視装置２４は、保守端末との間で通信されるデータの量（トラフィック量）が所定の期間において、所定の閾値よりも大きくなる端末を特定する。そして監視装置２４は、特定した端末が通信する情報のフローであって保守端末とは異なる端末との間で通信される情報の全てのフローにおいて、特定した端末に対する入力データがあるにもかかわらず、出力データがないか否かを判定する。入力データがあるにもかかわらず、出力データがないと判定した場合、監視装置２４は、特定した端末に障害が発生していると判定する。
【００６４】
以上のような入出力データの量に基く障害特定処理は、保守者が挙動のおかしいサーバにアクセスし調査することを想定したものであり、このような処理を行うことで、異常なサーバを特定することが可能となる。
【００６５】
尚、端末に障害が発生した場合、その端末から保守端末への送信データ量も０となる場合もあるが、この場合も保守端末から障害が発生した端末への送信データ量は増加する。このため障害特定処理の監視装置２４の動作は、障害発生端末から保守端末へのデータ量がある場合と同様である。
【００６６】
次に監視装置２４の構成について説明する。図１１は、監視装置２４の構成の一例を示す。図１１において監視装置２４は、記憶部３１、収集部３２、フロー情報管理部３３、トラフィック情報管理部３４、判定部３５、特定部３６、及び出力部３７を含む。
【００６７】
収集部３２は、取得部１の一例である。フロー情報管理部３３、トラフィック情報管理部３４、及び判定部３５は、識別部２の一例である。特定部３６は、障害判定部３の一例である。
【００６８】
記憶部３１は、リンク情報４１、経路情報４２、フロー管理情報４３、トラフィック情報４４、未判定端末情報４５、保守管理情報４６、判定結果情報４７、及びフロー状態管理情報４８を含む。各情報の詳細については後ほど説明する。
【００６９】
収集部３２は、一定の周期で制御装置２２から、トポロジ情報とフロー情報とを収集する。そして収集部３２はトポロジ情報及びフロー情報を、フロー情報管理部３３、トラフィック情報管理部３４、及び特定部３６へ出力する。
【００７０】
トポロジ情報はスイッチ間のリンク情報４１を含む。具体的にはトポロジ情報は、端末の識別情報と、その端末に接続する中継装置の識別情報及びポート番号を含む。またトポロジ情報は、相互に接続される中継装置の識別情報とポート番号を含む。フロー情報は各フローに関する統計情報を含む。具体的にはフロー情報は、フローにおいて通信される２つの端末の識別情報、及びフローにおいて通信されるデータの量を示す情報を含む。
【００７１】
図１２はトポロジ情報の一例である。トポロジ情報は、図１２（Ａ）に示すように、端末とスイッチの接続情報を含む。図１２（Ａ）では、具体的には、（ａ）に端末のＭＡＣアドレス（Media Access Control address）が示され、（ｂ）にスイッチの識別情報が示され、（ｃ）に、（ａ）の端末へ接続する（ｂ）スイッチのポートの番号が示されている。また、トポロジ情報は、図１２（Ｂ）に示すように、スイッチ間の接続情報を含む。図１２（Ｂ）では、具体的には、（ｄ）と（ｅ）に、接続される２つのスイッチの各々の識別情報とポート番号が示されている。
【００７２】
図１３はフロー情報の一例である。図１３においてフロー情報は、（ｆ）と（ｇ）に、フローにおいて通信される２つの端末の各々のＭＡＣアドレスが示されている。また（ｈ）に、フローにおいて通信されるパケット数が示されている。さらに、（ｆ）と（ｇ）の送信元と宛先が入れ替わった、（ｉ）と（ｊ）のフローの情報も示されている。また（ｋ）に、（ｉ）と（ｊ）のフローにおいて通信されるパケット数が示されている。
【００７３】
フロー情報管理部３３は、収集部３２から入力されたトポロジ情報及びフロー情報から、リンク情報４１、経路情報４２、及びフロー管理情報４３を生成する。
【００７４】
リンク情報４１は、中継装置間の接続関係を示す情報である。リンク情報４１は、ネットワークトモグラフィの処理において使用される。図１４は、リンク情報４１の一例を示す。リンク情報４１は、「スイッチＩＤ」、「出力ポートＩＤ」、「隣接スイッチＩＤ」、及び「隣接スイッチの入力ポートＩＤ」のデータ項目を対応付けて記憶する。「スイッチＩＤ」は、中継装置を一意に識別するための識別情報を示す。「出力ポートＩＤ」は、対応する「スイッチＩＤ」の中継装置の出力ポートを一意に識別するための識別情報を示す。「隣接スイッチＩＤ」は、対応する「スイッチＩＤ」の中継装置の「出力ポートＩＤ」のポートに接続された中継装置の識別情報を示す。「隣接スイッチの入力ポートＩＤ」は、対応する「スイッチＩＤ」の中継装置の「出力ポートＩＤ」のポートに接続された中継装置の入力ポートを一意に識別するための識別情報を示す。このリンク情報４１により、監視装置２４は端末間のフローが物理的にどの経路を通過するかを把握できる。
【００７５】
経路情報４２は、各フローの２つの端末間で通信される情報が、どの中継装置をどの順番で経由するのかを示す。すなわち経路情報４２は、各フローと、フローにおいて通信される端末の識別情報、及び、フローにおいて端末間で通信される情報が中継される中継装置の識別情報とを、情報が通信される順に対応付けた情報である。
【００７６】
図１５は、経路情報４２の一例を示す。図１５において経路情報４２は、「フローＩＤ」と「ノード」のデータ項目を含む。「フローＩＤ」は、フローを一意に識別するための識別情報である。「ノード」は、「ノード１」、「ノード２」、・・・、「ノードＮ」・・・のデータ項目を含む。「ノード１」は、対応する「フローＩＤ」のフローにおいて、２つの終端の端末のうちの一方の端末の識別情報を示す。「ノード２」は、対応する「フローＩＤ」のフローで通信される情報が、対応する「ノード１」の端末から他の中継装置を介さないで直接通信される中継装置または端末の識別情報である。「ノードＮ」は、対応する「フローＩＤ」のフローで通信される情報が、対応する「ノードＮ−１」の中継装置から他の中継装置を介さないで直接接続される中継装置または端末の識別情報である。図１５の「ノード」には、情報が通信される２つの端末と、２つの端末間で通信される情報が中継される中継装置が含まれる。「ノード」はフローにおいて片方向に送信された情報が伝達されるノードの順番を示す情報を含む。また、フロー毎に、そのフローにおいて通信される情報が中継される中継装置の数に応じて、「ノード」のデータ項目の数は変化する。
【００７７】
図１５においては、例えばフローＩＤ「１」で示されるフローは、端末「00:11:22:33:44:55」から、スイッチ「OFS5」、「OFS3」、「OFS1」を経由して（中継されて）、端末「aa:bb:cc:dd:ee:00」へ送受信されることを示す。尚、図１５において、ノードの識別情報の並びにおいて、最初と最後は端末となる。また図１５において、端末の識別情報はＭＡＣアドレスで示され、スイッチの識別情報はスイッチＩＤで示されている。
【００７８】
経路情報４２を用いることで、監視装置２４はネットワークトモグラフィを用いた障害箇所の特定が可能となる。
【００７９】
フロー管理情報４３は、所定の計測間隔（例えば１分）内に発生した各フローの通信に関して、データの送受信端末のＭＡＣアドレス、及び入出力パケット数を対応付けて記憶する。入出力パケット数については、同一フローに関する各スイッチのフロー情報のトラフィック量の最小値あるいは、端末が接続されたリンクのパケット数が用いられる。フロー管理情報４３を用いることで、監視装置２４は、入出力パケット数の比較に基いた、サーバの識別処理が可能となる。
【００８０】
図１６は、フロー管理情報４３の一例を示す。フロー管理情報４３は、「フローＩＤ」、「発信元ＭＡＣアドレス」、「宛先ＭＡＣアドレス」、「入力パケット数」、及び「出力パケット数」のデータ項目を対応付けて記憶する。
【００８１】
「フローＩＤ」は、フローを一意に識別するための識別情報を示す。「発信元ＭＡＣアドレス」は、対応する「フローＩＤ」のフローにおいて情報が通信される端末のうちのいずれか一方の端末のＭＡＣアドレスを示す。「宛先ＭＡＣアドレス」は、対応する「フローＩＤ」のフローにおいて「発信元ＭＡＣアドレス」の端末と情報の通信を行う端末のＭＡＣアドレスを示す。「入力パケット数」は、「フローＩＤ」のフローにおいて、単位時間（計測間隔）当たりに「発信元ＭＡＣアドレス」の端末から「宛先ＭＡＣアドレス」の端末へ入力されるパケット数を示す。「出力パケット数」は、「フローＩＤ」のフローにおいて、単位時間（計測間隔）当たりに「発信元ＭＡＣアドレス」の端末に対して「宛先ＭＡＣアドレス」の端末から出力されるパケット数を示す。
【００８２】
判定部３５は、所定期間における端末の入出力パケット数に基いて、各端末がサーバであるか否かを判定する。また、所定期間における入出力パケット数が所定の閾値に満たない端末に対しては、判定部３５は、他の端末との所定期間における入力パケット数の相関に基いて端末がサーバであるか否かを判定する。
【００８３】
先ず、所定期間における端末の入出力パケット数に基くサーバの識別処理について説明する。判定部３５は、フロー情報を用いて、識別の対象端末に対して情報が通信される全てのフローにおいて、対象端末からの出力パケット数が対象端末への入力パケット数より多いか否かを判定する。そして判定部３５は、出力パケット数が入力パケット数より多いと判定した場合、対象端末はサーバであると判定する。ただし、入出力パケットの数が所定の閾値よりも少ない場合は、入出力パケットの数を用いたサーバの特定処理は行わないものとする。そして判定部３５はサーバと判定したサーバの識別情報と、そのサーバがサーバであると判定されたことを示す情報とを対応付けて、判定結果情報４７に記録する。
【００８４】
入出力パケット数に基いたサーバの識別処理では、具体的には判定部３５は、識別対象の端末のうちの一つの端末に着目する。ここで着目した端末を対象端末と記す。
【００８５】
すると判定部３５は先ず、フロー情報において、「宛先ＭＡＣアドレス」が、対象端末のＭＡＣアドレスと等しいすべての行を抽出する。次に判定部３５は、抽出した行の「入力パケット数」と「出力パケット数」の値を比較する。抽出したすべての行において、「出力パケット数」の値が「入力パケット数」の値よりも大きいと判定した場合、次に判定部３５は、「発信元ＭＡＣアドレス」が、対象端末のＭＡＣアドレスと一致するすべての行を抽出する。そして判定部３５は、抽出した行の「入力パケット数」と「出力パケット数」の値を比較する。抽出したすべての行において、「入力パケット数」の値が「出力パケット数」の値よりも大きい場合、判定部３５は、対象端末はサーバであると判定する。
【００８６】
同様にして判定部３５は、識別対象の端末のうちの全ての端末を対象端末として、対象端末がサーバか否かを識別する処理を行う。
尚、以下の説明では判定部３５がサーバであると判定した端末を、単にサーバと記す。
【００８７】
次に判定部３５は、サーバに論理的に接続された端末において、サーバとの間で情報が通信されるフローとは異なる各フローの出力パケット数が入力パケット数より大きい場合、サーバに論理的に接続された端末をサーバであると判定する。
【００８８】
具体的には判定部３５は先ず、サーバに論理的に接続される端末を特定する。この特定処理はフロー管理情報４３又は経路情報４２を用いて行われる。例えばフロー管理情報４３を用いて特定を行う場合、判定部３５は先ず、「宛先ＭＡＣアドレス」がサーバのＭＡＣアドレスと一致する行を抽出し、抽出した行の「発信元ＭＡＣアドレス」の値を取得する。このように取得した「発信元ＭＡＣアドレス」の端末を先ず、判定部３５は、サーバに論理的に接続された端末であると特定する。さらに判定部３５は、「発信元ＭＡＣアドレス」がサーバのＭＡＣアドレスと一致する行を抽出し、抽出した行の「宛先ＭＡＣアドレス」の値を取得する。このように取得した「宛先ＭＡＣアドレス」の端末を判定部３５は、さらに、サーバに論理的に接続された端末であると特定する。
【００８９】
そして判定部３５は、特定した、サーバに論理的に接続された端末のうちの一つの端末に着目する。ここで着目した端末を着目端末と記す。次に判定部３５は先ず、フロー管理情報４３において、「宛先ＭＡＣアドレス」が、着目端末のＭＡＣアドレスと等しい行であって、「発信元ＭＡＣアドレス」の値がサーバのＭＡＣアドレスと異なるすべての行を抽出する。そして判定部３５は、抽出した行のうち、「出力パケット数」の値と「入力パケット数」の値を比較する。
【００９０】
抽出した何れかの行において、「出力パケット数」の値が「入力パケット数」の値以下であると判定すると、判定部３５は、着目端末はクライアントであると判定する。一方、抽出した全ての行において、「出力パケット数」の値が「入力パケット数」の値よりも大きいと判定すると、判定部３５は次の処理を行う。すなわち判定部３５は、「発信元ＭＡＣアドレス」が、着目端末のＭＡＣアドレスと等しい行であって、「宛先ＭＡＣアドレス」が、サーバのＭＡＣアドレスと異なるすべての行を抽出する。そして判定部３５は、抽出した行の「入力パケット数」と「出力パケット数」の値を比較する。
【００９１】
抽出したすべての行において、「入力パケット数」の値が「出力パケット数」の値よりも大きい場合、判定部３５は、着目端末はサーバであると判定する。一方、抽出した何れかの行において、「入力パケット数」の値が「出力パケット数」の値以下であると判定すると、判定部３５は、着目端末はクライアントであると判定する。
【００９２】
同様にして判定部３５は、サーバに論理的に接続された端末の全ての端末を着目端末として、着目端末がサーバかクライアントかを判定する処理を行う。着目端末がサーバであると判定された場合は、判定部３５はさらに、その着目端末に論理リンクで接続された、サーバとは異なる全ての端末に対して、サーバか否かの判定を行う。
【００９３】
以上のようにして判定部３５は、入出力データ量の比較結果に基くサーバの識別処理を行い、結果を判定結果情報４７へ記録する。判定結果情報４７は、端末の識別情報と判定結果を対応付けて記憶する。図１７は、判定結果情報４７の一例を示す。図１７において判定結果情報４７は、「ＩＤ」、「ＭＡＣアドレス」、「判定結果」のデータ項目を対応付けて記憶する。「ＩＤ」は、判定結果情報４７を管理するための管理番号である。「ＭＡＣアドレス」は、端末のＭＡＣアドレスである。「判定結果」は、対応する「ＭＡＣアドレス」の端末の判定結果であり、サーバかクライアントかが示される。図１７の例では、「判定結果」の「Ｓ」はサーバを示し、「Ｃ」はクライアントである（サーバではない）ことを示す。
【００９４】
次に、入出力パケット数に基づく識別処理において、入出力パケットの数が所定の閾値より小さいと判定された端末、及び、サーバまたはクライアントとは判定されなかった端末に対する、サーバの識別処理について説明する。以下の説明では、入出力パケット数に基づく識別処理において、所定の期間における入出力パケットの数が所定の閾値より小さいと判定された端末、及び、サーバまたはクライアントとは判定されなかった端末を、未判定端末ＴＧ１と記す。
【００９５】
判定部３５は、未判定端末ＴＧ１の識別情報を、未判定端末情報４５に記録して管理する。図１８は、未判定端末情報４５の一例を示す。未判定端末情報４５は、「ＩＤ」と「ＭＡＣアドレス」のデータ項目を対応付けて記憶する。「ＩＤ」は、未判定端末情報４５を管理するための管理番号である。「ＭＡＣアドレス」は、未判定端末のＭＡＣアドレスである。
【００９６】
未判定端末ＴＧ１に対しては、判定部３５は、各端末の通信データ量の相関に基づくサーバの識別処理を行う。通信データ量の相関に基づくサーバの識別処理においては、トラフィック情報４４が用いられる。トラフィック情報４４は、トラフィック情報管理部３４により管理される。
【００９７】
トラフィック情報管理部３４は、収集部３２から入力されたトポロジ情報及びフロー情報から、トラフィック情報４４を生成する。トラフィック情報４４は、所定の期間における、所定の計測間隔ごとの各未判定端末ＴＧ１の入力パケット数を示す情報である。
【００９８】
図１９はトラフィック情報４４の一例である。図１９においてトラフィック情報４４は、「時刻」のデータ項目と、「未判定端末ＭＡＣアドレス」、「ポートＩＤ」、「入力パケット数」のデータ項目の組み合わせとを対応付けて記憶する。
【００９９】
「時刻」は、所定の時間間隔の時刻を示す。「未判定端末ＭＡＣアドレス」、「ポートＩＤ」、「入力パケット数」は、これらの３つのデータ項目の組み合わせで１つの未判定端末に関する情報を示している。これらの３つのデータ項目の組み合わせは、未判定端末ＴＧ１の数だけ各行に記憶される。「未判定端末ＭＡＣアドレス」は、未判定端末ＴＧ１のＭＡＣアドレスを示す。「ポートＩＤ」は、対応する「ＭＡＣアドレス」の端末のポート番号を示す。「入力パケット数」は、対応する行の「時刻」から次の行の「時刻」において、対応する「ＭＡＣアドレス」の端末の「ポートＩＤ」のポートに入力されるパケット数を示す。図１９においては、１２時間の期間における、１分毎の未判定端末ＴＧ１の入力パケット数が示されている。
【０１００】
このようなトラフィック情報４４を用いて、判定部３５は、各端末の通信データ量の相関に基づくサーバの識別処理を行う。
【０１０１】
すなわち判定部３５は、所定期間における所定の計測間隔ごとに複数の端末の通信データ量を比較し、通信データ量に相関があるか否かを判定する。複数の端末間で、所定期間における通信データ量に相関があると判定した場合、判定部３５は、通信データ量に相関がある端末同士はいずれもサーバであると判定する。
【０１０２】
具体的には、判定部３５は、トラフィック情報４４から、未判定端末ＴＧ１毎の所定期間における所定間隔ごとの入力パケット数の情報を取得する。次に判定部３５は、未判定端末ＴＧ１毎の所定期間における入力パケット数の平均値と分散を算出し、算出した平均値と分散とに基づいて閾値を算出する。そして判定部３５は、未判定端末ＴＧ１毎の閾値よりも、入力パケット数が多く、且つ、入力パケット数が極大となっている所定期間における所定間隔の期間を特定する。
【０１０３】
図１９においては、例えば判定部３５は、「未判定端末ＭＡＣアドレス」の「ポートＩＤ」の組み合わせ毎に、「時刻」が「09:00:00」から「20:59:00」までの「入力パケット数」の平均値と標準偏差とを算出する。次に判定部３５は、算出した平均値と標準偏差の和を、その「未判定端末ＭＡＣアドレス」の「ポートＩＤ」の組み合わせの閾値として設定する。次に判定部３５は、閾値よりも「入力パケット数」が大きく、且つ極大となっている行の「時刻」を特定する。ここで特定した「時刻」は複数である場合もある。このようにして、すべての「未判定端末ＭＡＣアドレス」の「ポートＩＤ」の組み合わせの、閾値よりも「入力パケット数」が大きく、且つ極大となっている行の「時刻」を特定する。そして判定部３５は、「未判定端末ＭＡＣアドレス」の「ポートＩＤ」の組み合わせ毎に特定した「時刻」、及び特定した「時刻」の数が、互いに一致する「未判定端末ＭＡＣアドレス」の端末同士を特定し、特定した端末同士をサーバであると識別する。
【０１０４】
尚、ここでは閾値を、平均値と標準偏差の和としたが、分散としてもよい。また例えば、一方の端末の特定した「時刻」に、他方の端末の特定した「時刻」がすべて一致する場合、それらの端末同士を判定部３５はサーバと識別してもよい。例えば、一方の端末Ａの、特定した「時刻」が、Ｔ１、Ｔ２であり、他方の端末Ｂの、特定した「時刻」がＴ１、Ｔ２、Ｔ３である場合、端末Ａの特定した「時刻」はすべて、端末Ｂの特定した「時刻」に一致している。よってこの場合、端末Ａと端末Ｂはサーバであると識別される。
【０１０５】
尚、実施形態では「未判定端末ＭＡＣアドレス」の「ポートＩＤ」の組み合わせ毎に、閾値よりも「入力パケット数」が大きく、且つ極大となっている「時刻」を特定するとしたが、この「時刻」の特定は「未判定端末ＭＡＣアドレス」のフロー毎に行ってもよい。
【０１０６】
以上のようにして、判定部３５は通信データ量の相関に基づくサーバの識別処理を行い、結果を判定結果情報４７へ記録する。ここで判定部３５は、未判定端末情報４５から、「ＭＡＣアドレス」が、サーバと識別された端末を示す行を削除する。
【０１０７】
次に、通信データ量の相関に基づくサーバの識別処理の後においても、未判定である端末に対するサーバ識別処理について説明する。以下の説明では、通信データ量の相関に基づくサーバ識別処理においてサーバまたはクライアントであると識別されなかった端末を、未判定端末ＴＧ２と記す。
【０１０８】
判定部３５は、未判定端末ＴＧ２に対して、さらに長期間（例えば１２時間、あるいは１日）における期間で、通信データ量の相関に基づくサーバ識別処理を行う。さらに長期間における通信データ量の相関に基づくサーバ識別処理は、判定の対象とする期間と、入力パケット数の測定間隔が長期間であること以外は、上記の通信データ量の相関に基づくサーバ識別処理と同様である。
【０１０９】
図２０は、さらに長期間における通信データ量に基づくサーバ識別処理で用いられるトラフィック管理情報の一例を示す。図２０においては、トラフィック管理情報の「時刻」の最初と最終の行の期間の差が２４時間となっており図１９と比較して長くなっている。
【０１１０】
特定部３６は、障害特定処理を行う。すなわち特定部３６は、端末の通信データ量に基く障害特定処理と、ネットワークトモグラフィを用いた障害特定処理とを行う。
【０１１１】
先ず、端末の通信データ量に基づく障害特定処理について説明する。通信データ量に基く障害特定処理では、障害判定の対象端末と保守端末との間で通信されるデータ量の変化（増減）と、対象端末の通信データ量とに基いて、対象端末の障害の判定を特定部３６は行う。
【０１１２】
先ず特定部３６は、ネットワーク２０に含まれる複数の端末のうちから保守端末を特定する。保守端末は、複数の保守対象端末に対して定期的にｐｉｎｇ等でポーリングを行う。また保守端末は、複数の保守対象端末が正常である場合には、通信データ量の相関に基づく識別処理の結果、未判定端末に属することとなる。これは、保守端末に対する入力パケット数は時系列の変動が少なく、分散値を超える極大値が存在しないからである。これらのことから、特定部３６は、通信データ量の相関に基づく識別処理の結果として未判定端末に属する端末のうちから、ネットワーク２０に含まれる他の端末へのフローの数（論理的に接続されている他の端末の数）に基づいて、保守端末を特定する。すなわち特定部３６は、通信データ量の相関に基づく識別処理の結果として未判定端末に属する端末のうちで、ネットワーク２０に含まれるすべての端末に対して論理的に接続されている端末を、保守端末であると特定する。
【０１１３】
具体的には特定部３６は、未判定端末情報４５及び経路情報４２に基づいて、保守端末を特定する。すなわち特定部３６は、通信データ量の相関に基づく識別処理の結果が反映された未判定端末情報４５に含まれる各端末のうち、ネットワーク２０に含まれる全ての端末に対して論理的に接続されている端末を、経路情報４２を用いて特定する。例えば特定部３６は先ず、経路情報４２の「ノード」の何れかに未判定端末の端末が含まれる全ての行を抽出する。次に特定部３６は、抽出したすべての行の「ノード」に含まれる端末を特定する。そして特定部３６は、特定した端末の各々が、ネットワーク２０に含まれる全ての端末にそれぞれ対応するか否かを判定する。特定した端末が、ネットワーク２０に含まれる全ての端末に対応する場合、特定部３６は、未判定端末を保守端末であると特定する。
【０１１４】
保守端末を特定すると特定部３６は、所定期間における所定間隔毎の、保守端末と、保守端末に論理的に接続される保守対象端末との間の通信のデータ量を収集して、保守管理情報４６として記録する。すなわち特定部３６は、収集部３２から入力されたトポロジ情報及びフロー情報から、保守管理情報４６を生成する。
【０１１５】
保守管理情報４６は、所定期間における所定間隔毎の、保守端末から各端末への出力パケット数を対応付けて記憶する。図２１は保守管理情報４６の構成の一例を示す。図２１において保守管理情報４６は、「時刻」のデータ項目と、「端末ＭＡＣアドレス」及び「出力パケット数」のデータ項目の組み合わせと、を対応付けて記憶する。「時刻」は、所定の時間間隔の時刻を示す。「端末ＭＡＣアドレス」は、保守端末に論理的に接続される端末のＭＡＣアドレスを示す。「出力パケット数」は、対応する行の「時刻」から次の行の「時刻」において、保守端末から「端末ＭＡＣアドレス」の端末へ出力された出力パケット数を示す。各行において、「端末ＭＡＣアドレス」及び「出力パケット数」のデータ項目の組み合わせは、保守端末と論理的に接続される端末の数だけ含まれる。図２１においては、１２時間の期間における、１分毎の保守端末から各端末への出力パケット数が示されている。
【０１１６】
次に保守管理情報４６から、特定部３６は、保守端末との間で通信されるデータの量が所定の期間において、所定の閾値以上となる時刻が存在する端末を特定する。
【０１１７】
具体的には特定部３６は、保守管理情報４６から、所定期間における所定間隔ごとの、保守端末から各端末へ出力されるパケット数を取得する。次に特定部３６は、端末毎の所定期間における保守端末から出力されるパケット数の平均値と分散を算出し、算出した平均値と分散とに基づいて閾値を算出する。そして特定部３６は、閾値よりも保守端末からの出力パケット数が多い所定期間における所定間隔の期間がある端末を特定する。
【０１１８】
図２１においては、例えば特定部３６は、端末毎に、「時刻」が「09:00:00」から「20:59:00」までの「出力パケット数」の平均値と標準偏差とを算出する。次に特定部３６は、算出した平均値と標準偏差の和を、その端末の閾値として設定する。次に特定部３６は、対応する端末の「出力パケット数」が閾値よりも大きい行が存在するか否かを判定し、対応する端末の「出力パケット数」が閾値よりも大きい行が存在する端末を特定する。ここで特定した端末を以下の説明では、障害監視対象端末と記す場合がある。
【０１１９】
特定した障害監視対象端末において、特定部３６は、障害監視対象端末のフローであって保守端末とは異なる端末との間の全てのフローにおいて、障害監視対象端末に対する入力データがあるにもかかわらず、出力データがないか否かを判定する。入力データがあるにもかかわらず、出力データがないと判定した場合、特定部３６は、障害監視対象端末に障害が発生していると判定する。
【０１２０】
障害監視対象端末に対する入力データがあるにもかかわらず、出力データがないか否かの判定は、フロー管理情報４３に基づいて特定部３６は行う。例えば特定部３６は、フロー管理情報４３において、「宛先ＭＡＣアドレス」が、障害監視対象端末のＭＡＣアドレスと一致する行であって、「発信元ＭＡＣアドレス」の値が保守端末のＭＡＣアドレスと異なるすべての行を抽出する。そして特定部３６は、抽出した全ての行において、「入力パケット数」が０でなく、且つ、「出力パケット数」が０であるか否かを判定する。抽出した全ての行において、「入力パケット数」が０でなく、且つ、「出力パケット数」が０であると判定すると、特定部３６は次の処理を行う。すなわち特定部３６は、「発信元ＭＡＣアドレス」が、障害監視対象端末のＭＡＣアドレスと一致する行であって、「宛先ＭＡＣアドレス」が、保守端末のＭＡＣアドレスと異なるすべての行を抽出する。そして特定部３６は、抽出した全ての行において、「出力パケット数」が０でなく、且つ、「入力パケット数」が０であるか否かを判定する。抽出した全ての行において、「出力パケット数」が０でなく、且つ、「入力パケット数」が０であると判定すると、特定部３６は、障害監視対象端末で障害が発生していると判定する。
【０１２１】
次に、実施形態におけるネットワークトモグラフィを用いた障害特定処理について説明する。特定部３６は先ず、図３〜５を参照して説明した、ネットワークトモグラフィ技術を用いたネットワークの障害監視を実行する。ネットワークトモグラフィ技術を用いたネットワークの障害監視の実行の結果を、特定部３６は、フロー状態管理情報４８に記録する。図２２はフロー状態管理情報４８の一例を示す。フロー状態管理情報４８は、フローの識別情報と、フローの経路上または端末において障害が発生しているか否かを示す情報とを対応付けて記憶する。図２２においては、「結果」のデータ項目が「×」で記されている「フローＩＤ」のフローにおいて、障害が発生していることが示されている。
【０１２２】
ネットワークトモグラフィによる障害監視の結果、ネットワーク２０に含まれるリンクのうちの何れか（または複数）に障害が発生していると判定すると、特定部３６は次の処理を行う。すなわち特定部３６は、リンク情報４１または経路情報４２を参照して、障害が発生していると判定したリンクが、サーバに接続するリンクか否かを判定する。尚、障害が発生していると判定したリンクが、サーバに接続するリンクか否かの判定は、特定部３６はトポロジ情報に基づいて判定してもよい。障害が発生していると判定したリンクが、サーバに接続するリンクであると判定すると、特定部３６は、障害が発生しているリンクが接続するサーバへの入力パケット数と出力パケット数を比較する。その結果、障害が発生しているリンクが接続するサーバへの入力パケット数が出力パケット数よりも多いと判定すると、特定部３６は、障害が発生しているリンクが接続するサーバに障害が発生していると判定する。
【０１２３】
出力部３７は、サーバの識別結果を表示し、また、ネットワークトモグラフィにより判定した障害箇所を表示する。これにより管理者がシステムの障害時に必要となる情報を得ることが可能となる。
【０１２４】
具体的には出力部３７は、判定部３５によるサーバ識別処理の識別結果の情報、及び、特定部３６による障害特定処理の特定結果の情報を、例えば、監視装置２４に接続された所定の表示装置へ出力する。
【０１２５】
図２３は、出力部３７により出力される情報の一例である。図２３においては、サーバ識別処理によりサーバと識別された端末のＭＡＣアドレス「00:11:22:33:44:55」、「aa:bb:cc:dd:00:11」が示されている。また、障害特定処理により特定された障害が発生しているサーバまたはリンクの識別情報として、「ＯＦＳ５とＳ１のリンク」、「ＯＦＳ５とＯＦＳ４のリンク」、「Ｓ１」が示されている。尚、「ＯＦＳ４」、「ＯＳＦ５」は、それぞれスイッチの識別情報の一例であり、「Ｓ１」は、サーバの識別情報の一例である。出力部３７は、判定結果情報４７、及びフロー状態管理情報４８を出力してもよい。
【０１２６】
次に、サーバの識別処理の動作フローについて、図２４〜図２８を参照して説明する。図２４〜図２８は、サーバの識別処理の詳細を図解したフローチャート（その１〜その５）である。
【０１２７】
図２４において、先ず、収集部３２は、定期的に制御装置２２からトポロジ情報及びフロー情報を取得する（Ｓ１０１）。収集部３２は、取得したトポロジ情報及びフロー情報を、フロー情報管理部３３へ出力する。
【０１２８】
次にフロー情報管理部３３は、収集部３２から入力された、トポロジ情報及びフロー情報を用いて、リンク情報４１及び経路情報４２を生成して、記憶部３１に記録する（Ｓ１０２）。
【０１２９】
次にフロー情報管理部３３は、収集部３２から入力された、トポロジ情報及びフロー情報を用いて、フロー管理情報４３を生成して、記憶部３１に記録する（Ｓ１０３）。
【０１３０】
次に収集部３２は、所定の計測期間が終了したか否かを判定する（Ｓ１０４）。尚、このステップにおける所定の計測期間は、予め設定された値であり、所定の記憶部３１に記憶されているものとする。所定の計測期間が終了していないと判定されると（Ｓ１０４でＮｏ）、処理はＳ１０１へ遷移する。
【０１３１】
一方、所定の計測期間が終了したと判定されると（Ｓ１０４でＹｅｓ）、判定部３５は、サーバの識別処理の対象の端末のうちから、１つの端末を対象端末として選択する（Ｓ１０５）。
【０１３２】
次に判定部３５は、Ｓ１０５で選択した対象端末において、対象端末が通信する情報のすべてのフロー毎に、対象端末への入力パケット数と、対象端末からの出力パケット数を比較する（Ｓ１０６）。
【０１３３】
次に判定部３５は、対象端末が通信するすべてのフローの入出力パケット数の合計が所定の閾値以上か否かを判定する（Ｓ１０７）。Ｓ１０７における所定の閾値は、予め設定された値であり、所定の記憶部３１に記憶されているものとする。対象端末が通信するすべてのフローの入出力パケット数の合計が所定の閾値未満であると判定した場合（Ｓ１０７でＮｏ）、判定部３５は、対象端末を未判定端末として、未判定情報へ記憶する（Ｓ１０８）。そして処理は、Ｓ１１１に遷移する。
【０１３４】
一方Ｓ１０７において、対象端末が通信するすべてのフローの入出力パケット数の合計が所定の閾値以上であると判定した場合（Ｓ１０で７Ｙｅｓ）、判定部３５は次の処理を行う。すなわち判定部３５は、対象端末が通信するすべてのフローにおいて、対象端末からの出力パケット数が対象端末への入力パケット数よりも大きいか否かを判定する（Ｓ１０９）。
【０１３５】
対象端末が通信する何れかのフローにおいて、対象端末からの出力パケット数が対象端末への入力パケット数以下であると判定した場合（Ｓ１０９でＮｏ）、処理はＳ１１１に遷移する。
【０１３６】
一方、対象端末が通信するすべてのフローにおいて、対象端末からの出力パケット数が対象端末への入力パケット数より大きいと判定した場合（Ｓ１０９でＹｅｓ）、判定部３５は、対象端末をサーバと識別し、結果を判定結果情報４７へ格納する（Ｓ１１０）。
【０１３７】
次に判定部３５は、Ｓ１０５において、未判定情報に記憶された未判定端末以外のすべての端末を選択済みか否かを判定する（Ｓ１１１）。未判定端末以外のいずれかの端末を未だＳ１０５において選択していないと判定された場合（Ｓ１１１でＮｏ）、処理はＳ１０５に遷移し、判定部３５は、未選択の端末のうちの一つを対象端末として選択する（Ｓ１０５）。
【０１３８】
一方Ｓ１１１において、未判定端末以外のすべての端末をＳ１０５において選択済みであると判定された場合（Ｓ１１１でＹｅｓ）、処理は図２５のＳ１１２に遷移する。
【０１３９】
図２５のＳ１１２において、判定部３５は、Ｓ１１０においてサーバと識別された端末のうちの一つとを新たに対象端末として選択する（Ｓ１１２）。
【０１４０】
次に判定部３５は、対象端末に論理的に接続される端末のうちの一つを選択端末として選択する（Ｓ１１３）。すなわち判定部３５は、対象端末に論理的に接続される端末を、経路情報４２またはフロー管理情報４３を参照して特定する。
【０１４１】
次に判定部３５は、Ｓ１１３で選択した選択端末において、対象端末とは異なる端末と通信するすべてのフロー毎に、選択端末への入力パケット数と、選択端末からの出力パケット数を比較する（Ｓ１１４）。
【０１４２】
次に判定部３５は、選択端末が、対象端末とは異なる端末と通信するすべてのフローにおいて、選択端末からの出力パケット数が選択端末への入力パケット数よりも大きいか否かを判定する（Ｓ１１５）。
【０１４３】
選択端末が、対象端末とは異なる端末と通信するすべてのフローにおいて、選択端末からの出力パケット数が選択端末への入力パケット数より大きいと判定した場合（Ｓ１１５でＹｅｓ）、判定部３５は次の処理を行う。すなわち判定部３５は、選択端末をサーバと識別し、結果を判定結果情報４７へ格納する（Ｓ１１６）。そして処理はＳ１１８に遷移する。
【０１４４】
一方、選択端末が、対象端末とは異なる端末と通信する何れかのフローにおいて、選択端末からの出力パケット数が選択端末への入力パケット数以下であると判定した場合（Ｓ１１５でＮｏ）、判定部３５は次の処理を行う。すなわち判定部３５は、選択端末をクライアントと識別し、結果を判定結果情報４７へ格納する（Ｓ１１７）。そして処理はＳ１１８に遷移する。
【０１４５】
次に判定部３５は、Ｓ１１３において、対象端末に論理的に接続されるすべての端末を選択済みか否かを判定する（Ｓ１１８）。対象端末に論理的に接続されるいずれかの端末が未だＳ１１３において選択されていないと判定された場合（Ｓ１１８でＮｏ）、処理はＳ１１３に遷移し、判定部３５は、未選択の端末のうちの一つを選択端末として選択する（Ｓ１１３）。
【０１４６】
一方Ｓ１１８において、対象端末に論理的に接続されるすべての端末をＳ１１３において選択済みであると判定した場合（Ｓ１１８でＹｅｓ）、判定部３５は、判定結果情報４７に記憶された、サーバと識別された端末の全てを選択済みか否かを判定する（Ｓ１１９）。サーバと識別された端末のいずれかが未だＳ１１２において選択されていないと判定された場合（Ｓ１１９でＮｏ）、処理はＳ１１２に遷移し、判定部３５は、未選択の端末のうちの一つを対象端末として選択する（Ｓ１１２）。
【０１４７】
一方Ｓ１１９において、サーバと識別されたすべての端末がＳ１１２において選択済みであると判定された場合（Ｓ１１９でＹｅｓ）、処理は、図２６のＳ１２０に遷移する。
【０１４８】
図２６のＳ１２０において、判定部３５は、未判定端末が存在するか否かを判定する（Ｓ１２０）。サーバか否かが識別された端末については、判定結果情報４７に格納されているため、判定結果情報４７に対応するエントリが格納されていない端末が未判定端末である。ここで判定部３５は、判定結果情報４７に格納されていない端末を未判定端末情報４５に格納する。尚、Ｓ１２０における未判定端末は、Ｓ１０８で未判定端末情報４５に記録された端末としてもよい。
【０１４９】
未判定端末が存在しないと判定された場合（Ｓ１２０でＮｏ）、処理は図２８のＳ１３９に遷移する。
【０１５０】
一方Ｓ１２０において、未判定端末が存在すると判定された場合（Ｓ１２０でＹｅｓ）、収集部３２は、所定の計測期間における所定の計測周期毎のフロー情報を収集し、トラフィック情報管理部３４へ出力する。トラフィック情報管理部３４は、収集部３２から入力されたフロー情報を用いて、トラフィック情報４４を生成して、記憶部３１に記録する（Ｓ１２１）。
【０１５１】
次に判定部３５は、未判定端末毎に、未判定端末に対して情報が通信される各フローにおいて、入力パケット数の計測周期毎の平均値と分散値に基づいて閾値を算出し、算出した閾値を超える入力パケット数の極大値の発生時間と発生数を算出する（Ｓ１２２）。
【０１５２】
次に判定部３５は、未判定端末間で、極大値の発生時間及び発生数が一致するか否かを判定し、極大値の発生時間及び発生数が一致する複数の端末が存在するか否かを判定する（Ｓ１２３）。極大値の発生時間及び発生数が一致する複数の端末は存在しないと判定された場合（Ｓ１２３でＮｏ）、処理はＳ１２５に遷移する。
【０１５３】
一方Ｓ１２３において、極大値の発生時間及び発生数が一致する複数の端末が存在すると判定した場合（Ｓ１２３でＹｅｓ）、判定部３５は、極大値の発生時間及び発生数が一致した複数の端末をサーバと識別し、判定結果情報４７に格納する（Ｓ１２４）。ここでサーバと識別した端末については、判定部３５は、未判定端末情報４５から、対応するエントリを削除する。
【０１５４】
次に判定部３５は、未判定端末が存在するか否かを判定する（Ｓ１２５）。未判定端末は存在しないと判定された場合（Ｓ１２５でＮｏ）、処理は図２８のＳ１３９に遷移する。
【０１５５】
一方Ｓ１２５において、未判定端末が存在すると判定された場合（Ｓ１２５でＹｅｓ）、処理は図２７のＳ１２６に遷移する。
【０１５６】
図２７のＳ１２６において、特定部３６は、不確定の端末のうちの一つを新たに対象端末として選択する（Ｓ１２６）。
【０１５７】
次に特定部３６は、対象端末のフローの数を算出し確認する（Ｓ１２７）。すなわち特定部３６は、対象端末のフローの数を、フロー管理情報４３に基づいて算出する。
【０１５８】
次に特定部３６は、Ｓ１２７で確認した、対象端末のフローの数に基づいて、対象端末が他の全ての端末と通信しているか否かを判定する（Ｓ１２８）。具体的には例えば、特定部３６は、Ｓ１２７で確認した対象端末のフローの数が、ネットワーク２０に含まれる端末の数から１引いた数と一致するか否かを判定する。対象端末が他のいずれかの端末とは通信していないと判定された場合（Ｓ１２８でＮｏ）、処理はＳ１３１に遷移する。
【０１５９】
一方Ｓ１２８において、対象端末が他の全ての端末と通信していると判定した場合（Ｓ１２８でＹｅｓ）、特定部３６は、対象端末を保守端末と識別する（Ｓ１２９）。また特定部３６は、対象端末をクライアントと識別し、判定結果情報４７に記録する。ここでクライアントと識別した端末については、特定部３６は、未判定端末情報４５から、対応するエントリを削除する。
【０１６０】
次に特定部３６は、後ほど説明する図２９のフローに示す障害特定処理を開始する（Ｓ１３０）。そして処理はＳ１３１に遷移する。
【０１６１】
次に特定部３６は、Ｓ１２６において、全ての未判定端末を選択済みか否かを判定する（Ｓ１３１）。Ｓ１２６において、いずれかの未判定端末が未だ選択されていないと判定された場合（Ｓ１３１でＮｏ）、処理はＳ１２６に遷移し、特定部３６は未選択の未判定端末のうちの一つを新たに対象端末として選択する（Ｓ１２６）。
【０１６２】
一方Ｓ１３１において、全ての未判定端末を選択済みであると判定した場合（Ｓ１３１でＹｅｓ）、特定部３６は、未判定端末が存在するか否かを判定する（Ｓ１３２）。未判定端末が存在しないと判定された場合（Ｓ１３２でＮｏ）、処理は図２８のＳ１３９に遷移する。
【０１６３】
一方Ｓ１３２において、未判定端末が存在すると判定された場合（Ｓ１３２でＹｅｓ）、処理は図２８のＳ１３３に遷移する。
【０１６４】
図２８のＳ１３３において、収集部３２は、Ｓ１２１の計測期間よりも長い所定の計測期間における所定の計測周期毎のフロー情報を収集し、トラフィック情報管理部３４へ出力する。トラフィック情報管理部３４は、収集部３２から入力されたフロー情報を用いて、トラフィック情報４４を生成して、記憶部３１に記録する（Ｓ１３３）。
【０１６５】
次に判定部３５は、未判定端末毎に、未判定端末に対して情報が通信される各フローにおいて、入力パケット数の計測周期毎の平均値と分散値に基づいて閾値を算出し、算出した閾値を超える入力パケット数の極大値の発生時間と発生数を算出する（Ｓ１３４）。
【０１６６】
次に判定部３５は、極大値の発生時間及び発生数が一致する複数の端末が存在するか否かを判定する（Ｓ１３５）。極大値の発生時間及び発生数が一致する複数の端末が存在しないと判定された場合（Ｓ１３５でＮｏ）、処理はＳ１３７に遷移する。
【０１６７】
一方Ｓ１３５において、極大値の発生時間及び発生数が一致する複数の端末が存在すると判定した場合（Ｓ１３５でＹｅｓ）、判定部３５は、極大値の発生時間及び発生数が一致した複数の端末をサーバと識別し、判定結果情報４７に格納する（Ｓ１３６）。ここでサーバと識別した端末については、判定部３５は、未判定端末情報４５から、対応するエントリを削除する。
【０１６８】
次に判定部３５は、未判定端末が存在するか否かを判定する（Ｓ１３７）。未判定端末が存在しないと判定された場合（Ｓ１３７でＮｏ）、処理はＳ１３９に遷移する。
【０１６９】
一方Ｓ１３７において、未判定端末が存在すると判定された場合（Ｓ１３７でＹｅｓ）、判定部３５は、未判定端末を識別不能と判定する（Ｓ１３８）。ここで識別不能と判定した未判定端末の識別情報を、判定部３５は、判定結果情報４７に記録してもよい。
【０１７０】
次にＳ１３９において、出力部３７は識別結果を出力する（Ｓ１３９）。次に判定部３５は、サーバ識別処理を終了するか否かを判定する（Ｓ１４０）。識別処理を終了するか否かは、予め所定の記憶部３１に設定されて記憶されている情報に基づいて判定される。例えば、収集部３２が収集するトポロジ情報及びフロー情報の計測を継続する期間を予め複数定義（例えば１時間と１日など）して記憶部３１に記憶させておく。そして判定部３５は、未判定端末が存在する場合であって、定義しておいた計測を継続する期間が終了していなければ、識別処理を終了しないと判定する。一方判定部３５は、未判定端末が存在しない場合、もしくは、未判定端末が存在する場合であって、定義しておいた計測を継続する期間が終了している場合、識別処理を終了すると判定する。
【０１７１】
Ｓ１４０において、判定部３５によりサーバ識別処理を終了しないと判定された場合（Ｓ１４０でＮｏ）、処理は、図２４のＳ１０１に遷移する。一方Ｓ１４０において、判定部３５によりサーバ識別処理を終了すると判定された場合（Ｓ１４０でＹｅｓ）、処理は終了する。
【０１７２】
次に、Ｓ１３０で開始される、障害特定処理の動作フローについて説明する。図２９は、端末の通信データ量に基く障害特定処理の詳細を図解したフローチャートである。
【０１７３】
図２９において先ず、収集部３２は、所定の計測期間における、Ｓ１３０において特定した保守端末の所定の計測周期毎のフロー情報を収集し、特定部３６へ出力する。特定部３６は、収集部３２から入力されたフロー情報を用いて、保守管理情報４６を生成して、記憶部３１に記録する（Ｓ２０１）。
【０１７４】
次に特定部３６は、保守端末の各フローにおいて所定の計測周期毎の入出力パケット数の平均値と分散から閾値を算出し、閾値を超える入出力パケット数を有するフローにおいて保守端末と通信する端末を特定する（Ｓ２０２）。Ｓ２０２で特定した端末は障害監視対象端末である。
【０１７５】
次に特定部３６は、Ｓ２０２で特定した障害監視対象端末のうちの一つを新たに対象端末として選択する（Ｓ２０３）。
【０１７６】
次に特定部３６は、対象端末からの送信トラフィックがないか否かを判定する（Ｓ２０４）。具体的には例えば、特定部３６は、フロー管理情報４３に基づいて、保守端末とは異なる端末からの対象端末への入力データがあるにもかかわらず、保守端末とは異なる端末への出力データがないか否かの判定を行う。対象端末からの送信トラフィックがあると判定された場合（Ｓ２０４でＮｏ）、処理はＳ２０６に遷移する。
【０１７７】
一方Ｓ２０４において、対象端末からの送信トラフィックがないと判定した場合（Ｓ２０４でＹｅｓ）、特定部３６は、対象端末で障害が発生していると判定する（Ｓ２０５）。そして特定部３６は、対象端末と、障害が発生していることを示す情報とを対応付けて、記憶部３１に記録する。
【０１７８】
次に特定部３６は、Ｓ２０２で特定した端末のうち、すべての端末をＳ２０３で選択済みか否かを判定する（Ｓ２０６）。Ｓ２０２で特定した端末のうち、いずれかの端末がＳ２０３で未だ選択されていないと判定された場合（Ｓ２０６でＮｏ）、処理はＳ２０３に遷移し、特定部３６は、Ｓ２０２で特定した端末のうち未選択の端末の一つを、対象端末として選択する（Ｓ２０３）。
【０１７９】
一方、Ｓ２０２で特定した端末のうち、すべての端末がＳ２０３で選択されたと判定された場合（Ｓ２０６でＹｅｓ）、出力部３７は、障害判定の結果を出力する（Ｓ２０７）。例えば出力部３７は、Ｓ２０５で障害が発生していると判定された端末の識別情報を、障害が発生していることを示す情報とともに出力する。
【０１８０】
次に特定部３６は、障害特定処理を終了するか否かを判定する（Ｓ２０８）。Ｓ２０８で障害特定処理を終了するか否かは、予め所定の記憶部３１に設定されて記憶されている情報に基づいて判定される。例えば、収集部３２が収集するフロー情報の計測を継続する期間を予め複数定義して記憶部３１に記憶させておく。そして特定部３６は、Ｓ２０１の計測期間が、予め定義しておいた計測を継続する期間を越えていなければ、障害特定処理を終了しないと判定する。一方特定部３６は、Ｓ２０１の計測期間が、予め定義しておいた計測を継続する期間を越えている場合、障害特定処理を終了すると判定する。
【０１８１】
Ｓ２０８において、特定部３６により障害特定処理を終了しないと判定された場合（Ｓ２０８でＮｏ）、処理は、Ｓ２０１に遷移する。一方Ｓ２０８において、特定部３６により障害特定処理を終了すると判定された場合（Ｓ２０８でＹｅｓ）、処理は終了する。
【０１８２】
次に、ネットワークトモグラフィを用いた障害特定処理の動作フローについて説明する。図３０は、ネットワークトモグラフィを用いた障害特定処理の詳細を図解したフローチャートである。
【０１８３】
図３０において先ず、特定部３６は、定期的にネットワークトモグラフィによる障害箇所特定処理を実行する（Ｓ３０１）。
【０１８４】
次に特定部３６は、Ｓ３０１において障害が発生していると判定されたリンクが、サーバに接続するリンクか否かを判定する（Ｓ３０２）。障害が発生しているとＳ３０１において判定されたリンクが、サーバに接続するリンクではないと判定された場合（Ｓ３０２でＮｏ）、処理はＳ３０６に遷移する。
【０１８５】
一方、障害が発生しているとＳ３０１において判定されたリンクが、サーバに接続するリンクであると判定した場合（Ｓ３０２でＹｅｓ）、特定部３６は以下の処理を行う。すなわち特定部３６は、障害が発生しているリンクが接続するサーバ（以下、障害リンク接続サーバと記す）への入力パケット数が、障害リンク接続サーバからの出力パケット数よりも多いか否かを判定する（Ｓ３０３）。
【０１８６】
Ｓ３０３において、障害リンク接続サーバへの入力パケット数が、障害リンク接続サーバからの出力パケット数よりも多いと判定した場合（Ｓ３０３でＹｅｓ）、特定部３６は、障害リンク接続サーバに障害が発生していると判定する（Ｓ３０４）。ここで特定部３６は、障害が発生していると判定したサーバの識別情報と、障害が発生していることを示す情報を対応付けて記憶部３１に記録してもよい。そして処理はＳ３０６に遷移する。
【０１８７】
一方、障害リンク接続サーバへの入力パケット数が、障害リンク接続サーバからの出力パケット数以下と判定した場合（Ｓ３０３でＮｏ）、特定部３６はＳ３０１において障害が発生していると判定されたリンクに障害が発生していると判定する（Ｓ３０５）。ここで特定部３６は、障害が発生していると判定したリンクの識別情報と、障害が発生していることを示す情報を対応付けて記憶部３１に記録してもよい。そして処理はＳ３０６に遷移する。
【０１８８】
次に出力部３７は、障害箇所の特定結果を出力する（Ｓ３０６）。例えば出力部３７は、Ｓ３０４またはＳ３０５で判定した障害が発生しているサーバまたはリンクの識別情報と、障害が発生していることを示す情報とを対応付けて出力する。
【０１８９】
次に特定部３６は、障害特定処理を終了するか否かを判定する（Ｓ３０７）。Ｓ３０７で障害特定処理を終了するか否かは、予め所定の記憶部３１に設定されて記憶されている情報に基づいて判定される。例えば、ネットワークトモグラフィの実行を継続する期間を予め複数定義して記憶部３１に記憶させておく。そして特定部３６は、ネットワークトモグラフィの実行期間が、予め定義しておいたネットワークトモグラフィの実行を継続する期間を越えていなければ、障害特定処理を終了しないと判定する。一方特定部３６は、ネットワークトモグラフィの実行期間が、予め定義しておいたネットワークトモグラフィの実行を継続する期間を越えている場合、障害特定処理を終了すると判定する。
【０１９０】
Ｓ３０７において、特定部３６により障害特定処理を終了しないと判定された場合（Ｓ３０７でＮｏ）、処理は、Ｓ３０１に遷移する。一方Ｓ３０７において、特定部３６により障害特定処理を終了すると判定された場合（Ｓ３０７でＹｅｓ）、処理は終了する。
【０１９１】
図３１において、監視装置２４は、ＣＰＵ（Central Processing Unit）６０１、メモリ６０２、記憶装置６０３、読取装置６０４、通信インターフェース６０５、及び表示装置６０６を含む。ＣＰＵ６０１、メモリ６０２、記憶装置６０３、読取装置６０４、通信インターフェース６０５、及び表示装置６０６はバスを介して接続される。
【０１９２】
ＣＰＵ６０１は、メモリ６０２を利用して上述のフローチャートの手順を記述したプログラムを実行することにより、収集部３２、フロー情報管理部３３、トラフィック情報管理部３４、判定部３５、特定部３６、及び出力部３７の一部または全部の機能を提供する。
【０１９３】
メモリ６０２は、例えば半導体メモリであり、ＲＡＭ（Random Access Memory）領域およびＲＯＭ（Read Only Memory）領域を含んで構成される。記憶装置６０３は、例えばハードディスクである。なお、記憶装置６０３は、フラッシュメモリ等の半導体メモリであってもよい。また、記憶装置６０３は、外部記録装置であってもよい。記憶装置６０３は記憶部３１の一部または全部の機能を提供する。
【０１９４】
読取装置６０４は、ＣＰＵ６０１の指示に従って着脱可能記憶媒体６５０にアクセスする。着脱可能記憶媒体６５０は、たとえば、半導体デバイス（ＵＳＢメモリ等）、磁気的作用により情報が入出力される媒体（磁気ディスク等）、光学的作用により情報が入出力される媒体（ＣＤ−ＲＯＭ、ＤＶＤ等）などにより実現される。尚、読取装置６０４は監視装置２４に含まれなくてもよい。
【０１９５】
通信インターフェース６０５は、ＣＰＵ６０１の指示に従ってネットワークを介して制御装置２２から、トポロジ情報及びフロー情報を収集する。また、出力部３７により出力された情報は、通信インターフェース６０５を介して接続された図示しない他の端末へ出力されてもよい。
【０１９６】
表示装置６０６は、出力部３７により出力された情報を表示する。尚、表示装置６０６は監視装置２４に含まれなくてもよい。
【０１９７】
実施形態のプログラムは、例えば、下記の形態で監視装置２４に提供される。
（１）記憶装置６０３に予めインストールされている。
（２）着脱可能記憶媒体６５０により提供される。
（３）プログラムサーバ（図示せず）から通信インターフェース６０５を介して提供される。
【０１９８】
さらに、実施形態の監視装置２４の一部は、ハードウェアで実現してもよい。或いは、実施形態の監視装置２４は、ソフトウェアおよびハードウェアの組み合わせで実現してもよい。
【０１９９】
尚、図２において監視装置２４は、制御装置２２からトポロジ情報を収集するとしたが、トポロジ情報とフロー情報が取得できれば、制御装置２２を介さずに、スイッチや他の情報処理装置から受信してもよい。また、実施形態においては、端末の識別情報としてＭＡＣアドレスを用いたが、端末を識別できる情報であればＭＡＣアドレスに限定されない。
【０２００】
入力データ量と出力データ量の比較に基くサーバ識別処理は、各端末が送受信する情報のフロー毎に行われるとしたが、端末の所定期間における入力データ量の合計と出力データ量の合計との比較により行ってもよい。
【０２０１】
実施形態の識別装置は、端末間の通信に関する情報から、端末がサーバか否かの識別ができる。また実施形態によれば、ＯＳＩ（Open Systems Interconnection）参照モデルのデータリンク層(第２層)までの情報に基いて、端末がサーバか否かの識別が可能となる。すなわち実施形態によれば、端末のＭＡＣアドレスと、通信されるデータ量に基いて、端末がサーバか否かの識別が可能となる。
【０２０２】
また実施形態によれば、端末間の通信データ量の相関に基いて、通信データ量が少ない端末に対するサーバか否かの識別が可能となる。また実施形態によれば、端末間の通信に関する情報に基いて、障害が発生しているサーバの特定が可能となる。また実施形態によれば、端末間の通信に関する情報に基いて、サーバで障害が発生しているのか、リンクで障害が発生しているのかの区別が可能となる。
【０２０３】
尚、本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【０２０４】
上記実施形態に関し、更に以下の付記を開示する。
（付記１）
情報を通信する複数の通信装置間で通信される情報の量を含む情報を取得する取得部と、
前記複数の通信装置のうちのいずれかの装置である第１通信装置と、該第１通信装置と通信する１以上の前記通信装置との所定期間における通信において、前記第１通信装置から出力される情報の量が前記第１通信装置へ入力される情報の量以上である場合に、前記第１通信装置をサーバ装置と識別する識別部と、
を備えることを特徴とする識別装置。
（付記２）
前記取得部は、前記複数の通信装置間の通信を中継する中継装置を制御する制御装置から、前記複数の通信装置間で通信される情報の量を含む情報を取得する
ことを特徴とする付記１に記載の識別装置。
（付記３）
前記識別部は、前記第１通信装置と、該第１通信装置と通信する１以上の前記通信装置の各々との所定期間における通信において、前記第１通信装置から出力される情報の量が前記第１通信装置へ入力される情報の量以上である場合に、前記第１通信装置をサーバ装置と識別する
ことを特徴とする付記１または２に記載の識別装置。
（付記４）
前記識別部は、さらに、
前記第１通信装置をサーバ装置と識別した場合、前記複数の通信装置のうちの何れかの装置であって前記第１通信装置と通信する第２通信装置と、該第２通信装置と通信し前記第１通信装置と異なる１以上の前記通信装置との所定期間における通信において、前記第２通信装置から出力される情報の量が前記第２通信装置へ入力される情報の量以上である場合に、前記第２通信装置をサーバ装置と識別する
ことを特徴とする付記１〜３のうちいずれか１項に記載の識別装置。
（付記５）
前記識別部は、さらに、
所定期間における、前記第１通信装置の通信量と、前記複数の通信装置のうちの何れかの装置である第３通信装置の通信量とに相関がある場合に、前記第１通信装置及び前記第３通信装置をサーバ装置と識別する
ことを特徴とする付記１〜４のうちのいずれか１項に記載の識別装置。
（付記６）
前記識別部は、前記第１通信装置と前記第３通信装置毎に、第１期間における所定の時間間隔毎の通信量の平均または分散に基いて第１閾値を算出し、前記第１期間において、前記通信量が前記第１閾値以上であり且つ前記通信量が極大となる前記所定の時間間隔の期間を特定し、特定した期間が前記第１通信装置と前記第３通信装置で一致する場合、前記第１通信装置及び前記第３通信装置をサーバ装置と識別する
ことを特徴とする付記５に記載の識別装置。
（付記７）
前記識別装置は、さらに、
前記第１通信装置が前記複数の通信装置のすべてと通信を行う場合、前記第１通信装置と、該第１通信装置と通信する第４通信装置との間で所定期間において通信される情報の量が所定の閾値以上であり、且つ、前記第４通信装置と、該第４通信装置と通信する１以上の前記通信装置の各々との通信において、前記第４通信装置へ入力される情報があるにもかかわらず、前記第４通信装置から出力される情報がない場合に、前記第４通信装置に障害が発生していると判定する障害判定部
を備えることを特徴とする付記１〜６のうちのいずれか１項に記載の識別装置。
（付記８）
コンピュータに、
情報を通信する複数の通信装置間で通信される情報の量を含む情報を取得し、
前記複数の通信装置のうちのいずれかの装置である第１通信装置と、該第１通信装置と通信する１以上の前記通信装置との所定期間における通信において、前記第１通信装置から出力される情報の量が前記第１通信装置へ入力される情報の量以上である場合に、前記第１通信装置をサーバ装置と識別する
処理をさせることを特徴とする識別プログラム。
（付記９）
情報を通信する複数の通信装置間で通信される情報の量を含む情報を取得し、
前記複数の通信装置のうちのいずれかの装置である第１通信装置と、該第１通信装置と通信する１以上の前記通信装置との所定期間における通信において、前記第１通信装置から出力される情報の量が前記第１通信装置へ入力される情報の量以上である場合に、前記第１通信装置をサーバ装置と識別する
処理をコンピュータが実行することを特徴とする識別方法。
【符号の説明】
【０２０５】
１      取得部
２      識別部
３      障害判定部
１０    識別装置
２０    ネットワーク
２１    端末
２２    制御装置
２３    中継装置
２４    監視装置
３１    記憶部
３２    収集部
３３    フロー情報管理部
３４    トラフィック情報管理部
３５    判定部
３６    特定部
３７    出力部
４１    リンク情報
４２    経路情報
４３    フロー管理情報
４４    トラフィック情報
４５    未判定端末情報
４６    保守管理情報
４７    判定結果情報
４８    フロー状態管理情報
６０１  ＣＰＵ
６０２  メモリ
６０３  記憶装置
６０４  読取装置
６０５  通信インターフェース
６０６  表示装置
６５０  着脱可能記憶媒体
【図１】
2015171052.tif 000003
【図２】
2015171052.tif 000004
【図３】
2015171052.tif 000005
【図４】
2015171052.tif 000006
【図５】
2015171052.tif 000007
【図６】
2015171052.tif 000008
【図７】
2015171052.tif 000009
【図８】
2015171052.tif 000010
【図９】
2015171052.tif 000011
【図１０】
2015171052.tif 000012
【図１１】
2015171052.tif 000013
【図１２】
2015171052.tif 000014
【図１３】
2015171052.tif 000015
【図１４】
2015171052.tif 000016
【図１５】
2015171052.tif 000017
【図１６】
2015171052.tif 000018
【図１７】
2015171052.tif 000019
【図１８】
2015171052.tif 000020
【図１９】
2015171052.tif 000021
【図２０】
2015171052.tif 000022
【図２１】
2015171052.tif 000023
【図２２】
2015171052.tif 000024
【図２３】
2015171052.tif 000025
【図２４】
2015171052.tif 000026
【図２５】
2015171052.tif 000027
【図２６】
2015171052.tif 000028
【図２７】
2015171052.tif 000029
【図２８】
2015171052.tif 000030
【図２９】
2015171052.tif 000031
【図３０】
2015171052.tif 000032
【図３１】
2015171052.tif 000033