図1は、識別装置の一実施例の構成を図解した機能ブロック図である。図1において識別装置10は、取得部1、識別部2、及び障害判定部3を含む。
取得部1は、情報を通信する複数の通信装置間で通信される情報の量を含む情報を取得する。
識別部2は、複数の通信装置のうちのいずれかの装置である第1通信装置と、第1通信装置と通信する1以上の通信装置との所定期間における通信において、第1通信装置から出力される情報の量が第1通信装置へ入力される情報の量以上である場合に、第1通信装置をサーバ装置と識別する。
また取得部1は、複数の通信装置間の通信を中継する中継装置を制御する制御装置から、複数の通信装置間で通信される情報の量を含む情報を取得する。
また識別部2は、第1通信装置と、第1通信装置と通信する1以上の通信装置の各々との所定期間における通信において、第1通信装置から出力される情報の量が第1通信装置へ入力される情報の量以上である場合に、第1通信装置をサーバ装置と識別する。
また識別部2は、第1通信装置をサーバ装置と識別した場合、複数の通信装置のうちの何れかの装置であって第1通信装置と通信する第2通信装置と、第2通信装置と通信し第1通信装置と異なる1以上の通信装置との所定期間における通信において、第2通信装置から出力される情報の量が第2通信装置へ入力される情報の量以上である場合に、第2通信装置をサーバ装置と識別する。
また識別部2は、所定期間における、第1通信装置の通信量と、複数の通信装置のうちの何れかの装置である第3通信装置の通信量とに相関がある場合に、第1通信装置及び第3通信装置をサーバ装置と識別する。
また識別部2は、第1通信装置と第3通信装置毎に、第1期間における所定の時間間隔毎の通信量の平均または分散に基いて第1閾値を算出し、第1期間において、通信量が第1閾値以上であり且つ通信量が極大となる所定の時間間隔の期間を特定し、特定した期間が第1通信装置と第3通信装置で一致する場合、第1通信装置及び第3通信装置をサーバ装置と識別する。
障害判定部3は、第1通信装置の第2期間における所定の時間間隔毎の通信量の平均または分散に基いて第2閾値を算出し、第2期間において、第1通信装置の通信量が第2閾値未満であり且つ複数の通信装置のすべてと通信を行う場合、第1通信装置と、第1通信装置と通信する第4通信装置との間で所定期間において通信される情報の量が所定の閾値以上であり、且つ、第4通信装置と、第4通信装置と通信する1以上の通信装置の各々との通信において、第4通信装置へ入力される情報があるにもかかわらず、第4通信装置から出力される情報がない場合に、第4通信装置に障害が発生していると判定する。
このようにすることで、個々のパケットの内容を解析することなく、端末間の通信に関する情報からサーバ装置の識別が可能となる。
図2は、実施形態に係る情報処理システムの構成の一例を示す。図2において、情報処理システムは、端末21(21a、21b)、制御装置22、中継装置23(23a、23b)、及び監視装置24を含む。情報処理システムのネットワーク20においては、例えばオープンフロー(Open Flow)技術が用いられる。監視装置24は識別装置10の一例である。
端末21は、中継装置23を介して情報の通信を行う。
制御装置22は、各中継装置23の動作を制御し、各中継装置23から通信に関する統計情報を収集する。統計情報には通信量(トラフィック量)を示す情報が含まれる。例えば統計情報は、同じ属性を有する通信毎に集約される。ここで属性とは、例えば、「宛先MACアドレス」「送信元MACアドレス」、「宛先IPアドレス」、「送信元IPアドレス」、「宛先ポート番号」、「送信元ポート番号」、「VLANのID」等の通信に関する属性のいずれかまたは複数の組み合わせを指す。例えば、「送信元MACアドレス」と「宛先MACアドレス」が同じトラフィック同士は同じ属性の通信である。このような同じ属性を有する通信の集合をフローと呼ぶ。
また制御装置22は、ネットワーク20のトポロジ情報(スイッチ間の接続関係に関する情報)を検出する。
例えばネットワーク20にオープンフロー技術が用いられる場合、制御装置22はオープンフロースイッチコントローラ(OFSコントローラ)であり、オープンフロー(OpenFlow)プロトコルを用いて中継装置23の動作を制御し、統計情報を収集する。また制御装置22は、例えばLLDP(Link Layer Discovery Protocol)を用いてネットワーク20のトポロジ情報を収集する。
中継装置23は、端末21間の通信を中継する。中継装置23は、制御装置22により規定されたルールに従って動作し、中継する通信に関する情報を制御装置22へ送信する。例えばネットワーク20にオープンフロー技術が用いられる場合、中継装置23はオープンフロースイッチ(OFS)であり、制御装置22(OFSコントローラ)によって規定されたルールに基いて処理を行う。このルールには、受信したパケット(フレーム)を転送する際にどの経路を選択するかを示すフローテーブルが含まれている。フローテーブルには、条件(Match Fields)と、各条件に対応付けられたアクション(Instructions)が規定されており、中継装置23は条件にマッチするパケットを受信すると、その条件に対応するアクションを実行する。尚、このような条件とアクションの組み合わせの定義に従う同じ属性の通信の集合は、フローの一例である。またフローテーブルにはフロー毎の統計情報(Counters)が含まれ、この統計情報には各フローのトラフィック量を示す情報が含まれる。統計情報は、OFSコントローラへ送信されて集約される。中継装置23は、制御装置22が中継装置23を一意に識別するための情報であるスイッチIDが割り当てられる。
監視装置24は、制御装置22から、ネットワーク20のトポロジ情報、及び統計情報を取得し、取得した情報を用いてネットワーク20の障害監視を行う。具体的には監視装置24は、端末21の間の情報が通信される経路のうち、障害が発生している経路の重複性に基いた、通信経路上の障害箇所(区間)の特定処理を行う。例えば監視装置24は、ネットワークトモグラフィ技術を用いてネットワーク20の障害監視を行う。
ここでネットワークトモグラフィ技術を用いてネットワークの障害監視を行う動作について説明する。図3は、ネットワークトモグラフィ技術を用いたネットワークの障害監視を説明する図である。図3において、端末21(21c〜21g)は、中継装置23(23c〜23i)を介して接続されており、端末間でデータの通信が行われている。また、図3には示していないが、各中継装置23は、制御装置22にネットワークを介して接続されており、また制御装置22は、ネットワークを介して、監視装置24に接続されている。以下の説明では、フローにおいてデータが通信(経由)される中継装置間の経路の各々をリンクと記す。また、フローにおいてデータが通信される端末同士は、論理的に接続されると記す。図3においては、フローはF1〜F4で示されており、リンクはL1〜L9で示されている。ここで、図3においては、リンクL3でパケットのロスが発生している。
このとき、図3に示さない監視装置24は、図3に示さない制御装置22を介して、各フローの2つの端末間または中継装置間で単位時間に送受信されるパケットの数を取得する。そして監視装置24は、取得したパケットの数に基いて、各フローが正常か否かを判定する。例えば監視装置24は、端末間または中継装置間を送受信されるパケットに所定の数以上のロスが発生している場合には、そのフローは異常であると判定する。そして監視装置24は、各フローが正常か否かを示す情報と、各フローで通信されるデータが通過するリンクの識別情報を対応付けたネットワークトモグラフィリンク情報を生成する。
図4は、ネットワークトモグラフィリンク情報の一例である。図4において、フローF1のデータが通信されるリンクL1、L2、及びフローF4のデータが通信されるリンクL6、L9は、正常であることが示されている。またフローF2のデータが通信されるリンクL2、L3、L4、及び、フローF3のデータが通信されるリンクL2、L3、L7、L8は、異常であることが示されている。ここで、監視装置24は、一つでも正常なフローが通過するリンクを正常であると判定し、全ての異常なフローが通過するリンクを異常であると判定する。図4の例では、異常なフローはF2、F3であり、これらの二つのフローが通過するリンクはL3である。よって、監視装置24はL3が異常であると判定する。
以上のようにして監視装置24は、ネットワークトモグラフィを用いたネットワークの障害監視を行う。すなわち監視装置24は、障害が発生しているフローの重複性に基いて、障害が発生しているリンクの特定処理を行う。しかしながら、ネットワークトモグラフィを用いたネットワークの障害監視は、障害が発生した場合に、端末に接続するリンクに障害が発生したのか、あるいは端末自体に障害が発生したのかの区別ができない場合がある。このような場合の例を、図5を用いて説明する。
図5は、ネットワークトモグラフィ技術を用いたネットワークの障害監視における障害の一例である。図5において、端末21fはサーバであって、その端末21fが故障している。この場合には、監視装置24は、ネットワークトモグラフィを用いたネットワークの障害の監視では、リンクL10に障害が発生したのか、端末21fに障害が発生したのかを区別できない。
そこで実施形態に係る監視装置24は、サーバに接続するリンクに障害が発生した場合、リンクとサーバのどちらに障害が発生したのかを特定する処理を行う。ここで、サーバの過負荷による障害の場合、多数の入力パケットに対して、出力パケットの数が少なくなるという特性がある。よって、予め各端末がサーバか否かが判明していれば、この特性を用いてサーバとリンク障害の切り分けが可能である。
そこで、リンクとサーバのどちらに障害が発生したのかを特定する処理において、先ず監視装置24は、各端末がサーバか否かを判定するサーバ識別処理を行う。
サーバ識別処理は、各端末に入出力されるデータの量(入出力トラフィック量)に基いて行われる。そしてサーバ識別処理は、所定期間における各端末の入力データ量と出力データ量の比較に基く処理と、複数の端末の所定期間における通信データ量の相関に基く処理の2つに分けられる。
入力データ量と出力データ量の比較に基くサーバ識別処理は、所定の期間において端末に対して入出力されたデータの量(端末の通信データ量)が所定の閾値以上である端末に対して行われる。これは、入力データ量と出力データ量の比較において比較対象のデータ量が少ない場合には、サーバの特定処理の結果が不正確になる可能性があるからである。また所定期間における入力データと出力データがない場合には、データ量の比較は行えないからである。
通信データ量の相関に基くサーバ識別処理は、所定の期間における端末の通信データ量が所定の閾値未満である端末に対して行われる。これは、通信データ量が少ないサーバ同士は、サーバの特性を考慮すると、通信データ量に相関がみられる場合があることに基いている。
通信データ量が少ないサーバとしては、一度アクセスすればタイムアウト時間になるまで次のアクセスが行われないサーバがある。そのようなサーバには、例えば、DNS(Domain Name System)サーバやRADIUS(Remote Authentication Dial In User Service)などの認証サーバがある。DNSサーバや認証サーバは通信発生時にどちらのサーバにもアクセスが発生するため、それらのサーバの通信データ量には相関が生まれる。例えばクライアントは、RADIUSサーバにアクセスする前に一旦DNSサーバにアクセスし、その後、RADIUSサーバへアクセスを行うため、両サーバの入出力パケット数に相関が発生する。以上のように、通信データ量が少ないサーバ同士は、サーバの特性上、通信データ量に相関がある場合があり、この特性を利用して、通信データ量の相関に基くサーバ識別処理が行われる。
尚、通信データ量の相関に基くサーバ識別処理は、入力データ量と出力データ量の比較に基くサーバ識別処理において、サーバまたはクライアントと判定されなかった端末に対しても行われる。
入力データ量と出力データ量の比較に基くサーバ識別処理は、所定期間における端末の入力データ量と出力データ量とを比較し、出力データ量が入力データ量よりも大きい場合、その端末をサーバと識別する処理である。これは、所定時間において各々のクライアントから入力されるデータ量よりもクライアントへ出力するデータ量が大きくなるというサーバの特性を利用するものである。
各端末における入力データ量と出力データ量の比較は、例えば、その端末が送受信する情報のフロー毎に行われ、また、その端末の全てのフローに対して行われる。
端末がサーバと識別されたら、サーバと識別された端末(以下、単にサーバと記す場合がある)に論理的に接続される端末に対しても、入力データ量と出力データ量の比較が行われる。ただし、サーバに論理的に接続される端末に対しては、サーバと通信が行われるフロー以外のフロー毎に、入力データ量と出力データ量の比較が行われる。そして、サーバと通信が行われるフロー以外の全てのフローにおいて、出力データ量が入力データ量よりも大きい場合、その端末はサーバと識別される。これにより、サーバに論理的に接続する端末が更に他の端末に対してサーバとなっている場合に、そのサーバに論理的に接続する端末をサーバと識別することができる。
このように、サーバと識別された端末に論理的に接続された端末を順次たどっていき、論理的に接続された端末の、サーバとは異なる端末との間の各フローにおいて、出力データ量が入力データ量よりも大きいか否かを判定する。そして、サーバと特定した端末とは異なる端末へのすべてのフローにおいて、出力データ量が入力データ量よりも大きい場合、サーバと論理的に接続された端末もサーバであると判定する。同様の処理が、順次探索端末がなくなるまで繰り返される。
入力データ量と出力データ量の比較は、具体的には例えば、入力パケット数と出力パケット数の比較により行われる。
図6は、入力データ量と出力データ量の比較に基くサーバ識別処理を説明する図である。図6においては、端末21h〜21lの間のフローと、各フローにおいて送受信されるパケット数が示されている。
先ず、監視装置24は、監視対象の各端末に対して、各端末の全てのフローにおいて、出力パケット数が入力パケット数よりも大きいか否かを判定する。図6の端末21hは、端末21i、21j、21kとの間のフロー(F21、F22、F23)のいずれにおいても、出力パケット数が入力パケット数より大きくなっている。よってこの場合、監視装置24は、端末21hの全てのフローにおいて、出力パケット数が入力パケット数よりも大きいと判定し、その結果、端末21hをサーバと識別する。
次に監視装置24は、サーバと判定した端末21hに論理的に接続される端末である、端末21i、21j、21kの各々に対して、出力パケット数が入力パケット数よりも大きいか否かを判定する。具体的には監視装置24は先ず、端末21iのフロー(F21、F24)のうち、サーバと判定された端末21hとは異なる端末との間の全てのフロー(F24)において、出力パケット数が入力パケット数よりも大きいか否かを判定する。図6の場合、フローF24の端末21iに対する入力パケット数は80であり、出力パケット数は100であるので、監視装置24は、出力パケット数が入力パケット数よりも大きいと判定し、その結果、端末21iはサーバと識別する。端末21j、21kについても端末21iと同様に、出力パケット数が入力パケット数よりも大きいか否かを判定する。図6の場合、監視装置24は、端末21j、21kもサーバと識別する。
次に監視装置24は、サーバと判定された端末である端末21i、21j、21kに論理的に接続する端末である端末21lに対して、端末21i等と同様に、出力パケット数が入力パケット数よりも大きいか否かを判定する。端末21lは、サーバと判定された端末とだけ接続され、サーバ以外の端末と論理的に接続されていないため、端末21lの全てのフローにおいては、出力パケット数が入力パケット数よりも小さくなる。この場合、監視装置24は、端末21lをクライアントと(サーバではない)と識別する。
図6の構成は、例えば、端末21hはDB(DataBase)サーバであり、端末21i、21j、21kはWEB/AP(Application)サーバであり、端末21lはNAT(Network Address Translation)またはファイアウォールである場合が考えられる。NATあるいはファイアウォールとWeb/APサーバ間の入出力パケット数はWeb/APサーバからの出力パケット数が多くなる。また、Web/APサーバとDBサーバ間の入出力パケット数の関係はDBサーバからの出力パケット数が多くなる。DBサーバのような、ある階層システムの最上位にあり、全てのフローの出力パケット数が入力パケット数より多くなるサーバをまず特定し、その配下の端末を順次、探索することにより全端末に対してサーバか否かの識別を行うことができる。また、Web/APサーバのような中間の階層の端末は、上位のサーバ(DBサーバ)へのフロー以外(NATあるいはファイアウォール)へのフローの出力パケット数が入力パケット数より多くなるが、実施形態ではこのような端末もサーバと識別することができる。
通信データ量の相関に基くサーバ識別処理は、複数の端末間で、所定期間の各々の通信量に相関があるか否かを判定し、通信量に相関がある端末同士をサーバと識別する処理である。尚、通信量は、入力データ量と出力データ量のいずれか、または両方の和を指す。
具体的には、監視装置24は、識別対象の端末のフローの各々において、所定期間において所定の間隔で計測された入力パケット数の情報を取得する。監視装置24は、所定期間における所定の間隔で測定された入力パケット数の情報から、時系列における入力パケット数の変化の情報を得られる。次に監視装置24は、所定期間における入力パケット数の平均値と分散に基いて閾値を算出する。そして監視装置24は、入力パケット数が、算出した閾値を超える時刻であって、入力パケット数が極大となる時刻を特定する。以上のような入力パット数が極大となる時刻の特定を、監視装置24は、複数の端末の全てのフローに対して行う。そして監視装置24は、複数の端末間で、所定期間における特定した極大値の時刻が一致する端末同士があるか否かを判定する。そして監視装置24は、所定期間における極大値の時刻が一致する端末同士をサーバと判定する。尚、監視装置24は、極大値の時刻に加えて、極大値の数も比較の対象としてもよい。
図7及び図8は、所定の期間における通信データ量の相関に基くサーバ特定処理を説明する図である。図7においては、端末21mのフロー及び21nのフローと、各フローにおいて送受信されるパケット数が示されている。また、図8の(A)は、端末21mのフロー(F27)において、端末21mに対して入力されるパケットの数の時系列における変化を示す。また図8の(B)は、端末21nのフロー(F28)において、端末21nに対して入力されるパケットの数の時系列における変化を示す。図8の(A)と(B)では、1時間の入力パケット数の変化が示されている。このとき監視装置24は1時間の入力パケット数の平均値と標準偏差を算出し、平均値と標準偏差の和を閾値として設定する。そして監視装置24は、図8の(A)と(B)において、算出した平均値と標準偏差の和を超える極大値の時刻がすべて一致するか否かを判定する。図8の場合、監視装置24は、平均値と標準偏差の和を超える極大値の時刻がすべて一致していると判定し、端末21mと端末21nはサーバであると判定する。
これにより、通信データ量が少ない端末に対しても、サーバか否かの識別処理が可能となる。尚、各サーバにおいてタイムアウト値が異なる場合があるため、一方の端末の通信データ量の全ての極大値に、他方の端末の通信データ量の極大値のいずれかが一致する場合、それらの端末をサーバと判定してもよい。また、極大値の時刻には所定の時間幅を持たせて、その所定の時間幅内に比較対象の極大値の時刻のいずれもが含まれる場合には、比較対象の極大値の時刻は一致していると判定してもよい。
尚、所定の期間における通信データ量の相関は、例えば相関係数を用いて相関があるか否かを判定する方法等、種々の方法により算出してもよい。実施形態においては、相関があるとは、各端末の各フローの分散値を超える極大値が発生する時刻、あるいは発生数が一致する場合のことを指しているが、これに限定されない。
尚、図7の構成は、例えば、端末21mはDNSサーバであり、端末21nは、RADIUSサーバである場合が考えられる。
所定期間における各端末に入出力されるデータの量に基いたサーバの特定処理において、サーバの特定ができない端末がある場合、監視装置24は、さらに長期間(例えば12時間、あるいは1日)における期間で、同様にしてサーバの識別処理を行うこともできる。
図9は、長期間における通信データ量に基いたサーバの特定処理で用いられる、端末の入力データ量の変化の一例を示す。図9の(A)、(B)、(C)は、それぞれ図7における、フローF29の端末21mへの入力パケット数、フローF27の端末21mへの入力パケット数、フローF28の端末21nへの入力パケット数の12時間の変化を示している。このように、各端末に入出力される長期間のデータ量に基いて、サーバの特定処理が行われてもよい。尚、図9において、(A)と(C)の極大値の時刻は一致していないが、(B)と(C)では一致している。このように端末21mの何れかのフローと、端末21nの何れかのフローの極大値が一致している場合、監視装置24は、端末21mと端末21nはサーバであると判定する。
監視装置24はサーバの識別処理の途中において、または識別処理が終了すると、障害特定処理を行う。障害特定処理は、ネットワークトモグラフィを用いた障害特定処理と、端末の通信データ量に基く障害特定処理に分けられる。
ネットワークトモグラフィを用いた障害特定処理では、先ず監視装置24は、図3〜5を参照して説明した、ネットワークトモグラフィ技術を用いたネットワークの障害監視を実行する。そしてネットワークトモグラフィ技術を用いたネットワークの障害監視の結果、ネットワーク20に含まれるリンクに障害が発生していると判定すると、監視装置24は、障害が発生していると判定されたリンクが、サーバに接続するリンクか否かを判定する。障害が発生していると判定したリンクが、サーバに接続するリンクであると判定すると、監視装置24は、障害リンクが接続するサーバへの入力データ量と出力データ量を比較する。そして監視装置24は、入力データ量が出力データ量よりも多いと判定すると、サーバに障害が発生していると判定する。
通信データ量に基く障害特定処理では、障害判定の対象端末と保守端末との間で通信されるデータ量の変化(増減)と、対象端末の通信データ量とに基いて、対象端末の障害の判定を行う。
ネットワーク20には、保守者が定期的に管理しているノードに定期的に死活監視を行うような保守端末が含まれる可能性がある。保守端末は、保守対象端末に対して定期的にポーリングを行う。保守端末と各保守対象端末との間で通信されるデータ量は、保守対象端末に障害が起きていない場合は所定の範囲内で一定であるが、保守対象端末に障害が発生した場合、障害が発生した端末と保守端末との間で通信されるデータの量が大きくなる。これのようなケースは、例えば、任意のサーバで障害が発生した場合に、ユーザからのクレーム等によりそのサーバを調査するため、そのサーバへの入出力パケット数が増えるケース等が考えられる。また、障害が発生した端末は、保守端末とは異なる端末に対してはデータの送信ができない。すなわち、障害が発生した端末に対するフローにおいては、障害が発生した端末から、保守端末とは異なる端末へ出力されるデータ量は0になる。
図10は、障害発生時の保守対象端末と保守端末の間の通信データの量の変化を説明する図である。図10(A)は保守対象端末のいずれもが正常である場合の監視の様子を示しており、図10(B)は保守対象端末に障害が発生した場合の監視の様子を示している。図10(A)において、保守端末21oは、複数の端末に対してポーリングによる死活監視を行っており、各端末と保守端末との間で通信されるパケット数は「1」となっている。図10(B)は端末において障害が発生している場合の監視の例である。この場合、保守端末21oと障害が発生している端末21pとの間の通信データの量が増え「100」となっている。また、端末21pから保守端末21oとは異なる端末21qへ出力されるデータ量は「0」となっている。
以上のことを考慮して、監視装置24は、保守端末との間で通信されるデータの量(トラフィック量)が所定の期間において、所定の閾値よりも大きくなる端末を特定する。そして監視装置24は、特定した端末が通信する情報のフローであって保守端末とは異なる端末との間で通信される情報の全てのフローにおいて、特定した端末に対する入力データがあるにもかかわらず、出力データがないか否かを判定する。入力データがあるにもかかわらず、出力データがないと判定した場合、監視装置24は、特定した端末に障害が発生していると判定する。
以上のような入出力データの量に基く障害特定処理は、保守者が挙動のおかしいサーバにアクセスし調査することを想定したものであり、このような処理を行うことで、異常なサーバを特定することが可能となる。
尚、端末に障害が発生した場合、その端末から保守端末への送信データ量も0となる場合もあるが、この場合も保守端末から障害が発生した端末への送信データ量は増加する。このため障害特定処理の監視装置24の動作は、障害発生端末から保守端末へのデータ量がある場合と同様である。
次に監視装置24の構成について説明する。図11は、監視装置24の構成の一例を示す。図11において監視装置24は、記憶部31、収集部32、フロー情報管理部33、トラフィック情報管理部34、判定部35、特定部36、及び出力部37を含む。
収集部32は、取得部1の一例である。フロー情報管理部33、トラフィック情報管理部34、及び判定部35は、識別部2の一例である。特定部36は、障害判定部3の一例である。
記憶部31は、リンク情報41、経路情報42、フロー管理情報43、トラフィック情報44、未判定端末情報45、保守管理情報46、判定結果情報47、及びフロー状態管理情報48を含む。各情報の詳細については後ほど説明する。
収集部32は、一定の周期で制御装置22から、トポロジ情報とフロー情報とを収集する。そして収集部32はトポロジ情報及びフロー情報を、フロー情報管理部33、トラフィック情報管理部34、及び特定部36へ出力する。
トポロジ情報はスイッチ間のリンク情報41を含む。具体的にはトポロジ情報は、端末の識別情報と、その端末に接続する中継装置の識別情報及びポート番号を含む。またトポロジ情報は、相互に接続される中継装置の識別情報とポート番号を含む。フロー情報は各フローに関する統計情報を含む。具体的にはフロー情報は、フローにおいて通信される2つの端末の識別情報、及びフローにおいて通信されるデータの量を示す情報を含む。
図12はトポロジ情報の一例である。トポロジ情報は、図12(A)に示すように、端末とスイッチの接続情報を含む。図12(A)では、具体的には、(a)に端末のMACアドレス(Media Access Control address)が示され、(b)にスイッチの識別情報が示され、(c)に、(a)の端末へ接続する(b)スイッチのポートの番号が示されている。また、トポロジ情報は、図12(B)に示すように、スイッチ間の接続情報を含む。図12(B)では、具体的には、(d)と(e)に、接続される2つのスイッチの各々の識別情報とポート番号が示されている。
図13はフロー情報の一例である。図13においてフロー情報は、(f)と(g)に、フローにおいて通信される2つの端末の各々のMACアドレスが示されている。また(h)に、フローにおいて通信されるパケット数が示されている。さらに、(f)と(g)の送信元と宛先が入れ替わった、(i)と(j)のフローの情報も示されている。また(k)に、(i)と(j)のフローにおいて通信されるパケット数が示されている。
フロー情報管理部33は、収集部32から入力されたトポロジ情報及びフロー情報から、リンク情報41、経路情報42、及びフロー管理情報43を生成する。
リンク情報41は、中継装置間の接続関係を示す情報である。リンク情報41は、ネットワークトモグラフィの処理において使用される。図14は、リンク情報41の一例を示す。リンク情報41は、「スイッチID」、「出力ポートID」、「隣接スイッチID」、及び「隣接スイッチの入力ポートID」のデータ項目を対応付けて記憶する。「スイッチID」は、中継装置を一意に識別するための識別情報を示す。「出力ポートID」は、対応する「スイッチID」の中継装置の出力ポートを一意に識別するための識別情報を示す。「隣接スイッチID」は、対応する「スイッチID」の中継装置の「出力ポートID」のポートに接続された中継装置の識別情報を示す。「隣接スイッチの入力ポートID」は、対応する「スイッチID」の中継装置の「出力ポートID」のポートに接続された中継装置の入力ポートを一意に識別するための識別情報を示す。このリンク情報41により、監視装置24は端末間のフローが物理的にどの経路を通過するかを把握できる。
経路情報42は、各フローの2つの端末間で通信される情報が、どの中継装置をどの順番で経由するのかを示す。すなわち経路情報42は、各フローと、フローにおいて通信される端末の識別情報、及び、フローにおいて端末間で通信される情報が中継される中継装置の識別情報とを、情報が通信される順に対応付けた情報である。
図15は、経路情報42の一例を示す。図15において経路情報42は、「フローID」と「ノード」のデータ項目を含む。「フローID」は、フローを一意に識別するための識別情報である。「ノード」は、「ノード1」、「ノード2」、・・・、「ノードN」・・・のデータ項目を含む。「ノード1」は、対応する「フローID」のフローにおいて、2つの終端の端末のうちの一方の端末の識別情報を示す。「ノード2」は、対応する「フローID」のフローで通信される情報が、対応する「ノード1」の端末から他の中継装置を介さないで直接通信される中継装置または端末の識別情報である。「ノードN」は、対応する「フローID」のフローで通信される情報が、対応する「ノードN−1」の中継装置から他の中継装置を介さないで直接接続される中継装置または端末の識別情報である。図15の「ノード」には、情報が通信される2つの端末と、2つの端末間で通信される情報が中継される中継装置が含まれる。「ノード」はフローにおいて片方向に送信された情報が伝達されるノードの順番を示す情報を含む。また、フロー毎に、そのフローにおいて通信される情報が中継される中継装置の数に応じて、「ノード」のデータ項目の数は変化する。
図15においては、例えばフローID「1」で示されるフローは、端末「00:11:22:33:44:55」から、スイッチ「OFS5」、「OFS3」、「OFS1」を経由して(中継されて)、端末「aa:bb:cc:dd:ee:00」へ送受信されることを示す。尚、図15において、ノードの識別情報の並びにおいて、最初と最後は端末となる。また図15において、端末の識別情報はMACアドレスで示され、スイッチの識別情報はスイッチIDで示されている。
経路情報42を用いることで、監視装置24はネットワークトモグラフィを用いた障害箇所の特定が可能となる。
フロー管理情報43は、所定の計測間隔(例えば1分)内に発生した各フローの通信に関して、データの送受信端末のMACアドレス、及び入出力パケット数を対応付けて記憶する。入出力パケット数については、同一フローに関する各スイッチのフロー情報のトラフィック量の最小値あるいは、端末が接続されたリンクのパケット数が用いられる。フロー管理情報43を用いることで、監視装置24は、入出力パケット数の比較に基いた、サーバの識別処理が可能となる。
図16は、フロー管理情報43の一例を示す。フロー管理情報43は、「フローID」、「発信元MACアドレス」、「宛先MACアドレス」、「入力パケット数」、及び「出力パケット数」のデータ項目を対応付けて記憶する。
「フローID」は、フローを一意に識別するための識別情報を示す。「発信元MACアドレス」は、対応する「フローID」のフローにおいて情報が通信される端末のうちのいずれか一方の端末のMACアドレスを示す。「宛先MACアドレス」は、対応する「フローID」のフローにおいて「発信元MACアドレス」の端末と情報の通信を行う端末のMACアドレスを示す。「入力パケット数」は、「フローID」のフローにおいて、単位時間(計測間隔)当たりに「発信元MACアドレス」の端末から「宛先MACアドレス」の端末へ入力されるパケット数を示す。「出力パケット数」は、「フローID」のフローにおいて、単位時間(計測間隔)当たりに「発信元MACアドレス」の端末に対して「宛先MACアドレス」の端末から出力されるパケット数を示す。
判定部35は、所定期間における端末の入出力パケット数に基いて、各端末がサーバであるか否かを判定する。また、所定期間における入出力パケット数が所定の閾値に満たない端末に対しては、判定部35は、他の端末との所定期間における入力パケット数の相関に基いて端末がサーバであるか否かを判定する。
先ず、所定期間における端末の入出力パケット数に基くサーバの識別処理について説明する。判定部35は、フロー情報を用いて、識別の対象端末に対して情報が通信される全てのフローにおいて、対象端末からの出力パケット数が対象端末への入力パケット数より多いか否かを判定する。そして判定部35は、出力パケット数が入力パケット数より多いと判定した場合、対象端末はサーバであると判定する。ただし、入出力パケットの数が所定の閾値よりも少ない場合は、入出力パケットの数を用いたサーバの特定処理は行わないものとする。そして判定部35はサーバと判定したサーバの識別情報と、そのサーバがサーバであると判定されたことを示す情報とを対応付けて、判定結果情報47に記録する。
入出力パケット数に基いたサーバの識別処理では、具体的には判定部35は、識別対象の端末のうちの一つの端末に着目する。ここで着目した端末を対象端末と記す。
すると判定部35は先ず、フロー情報において、「宛先MACアドレス」が、対象端末のMACアドレスと等しいすべての行を抽出する。次に判定部35は、抽出した行の「入力パケット数」と「出力パケット数」の値を比較する。抽出したすべての行において、「出力パケット数」の値が「入力パケット数」の値よりも大きいと判定した場合、次に判定部35は、「発信元MACアドレス」が、対象端末のMACアドレスと一致するすべての行を抽出する。そして判定部35は、抽出した行の「入力パケット数」と「出力パケット数」の値を比較する。抽出したすべての行において、「入力パケット数」の値が「出力パケット数」の値よりも大きい場合、判定部35は、対象端末はサーバであると判定する。
同様にして判定部35は、識別対象の端末のうちの全ての端末を対象端末として、対象端末がサーバか否かを識別する処理を行う。
尚、以下の説明では判定部35がサーバであると判定した端末を、単にサーバと記す。
次に判定部35は、サーバに論理的に接続された端末において、サーバとの間で情報が通信されるフローとは異なる各フローの出力パケット数が入力パケット数より大きい場合、サーバに論理的に接続された端末をサーバであると判定する。
具体的には判定部35は先ず、サーバに論理的に接続される端末を特定する。この特定処理はフロー管理情報43又は経路情報42を用いて行われる。例えばフロー管理情報43を用いて特定を行う場合、判定部35は先ず、「宛先MACアドレス」がサーバのMACアドレスと一致する行を抽出し、抽出した行の「発信元MACアドレス」の値を取得する。このように取得した「発信元MACアドレス」の端末を先ず、判定部35は、サーバに論理的に接続された端末であると特定する。さらに判定部35は、「発信元MACアドレス」がサーバのMACアドレスと一致する行を抽出し、抽出した行の「宛先MACアドレス」の値を取得する。このように取得した「宛先MACアドレス」の端末を判定部35は、さらに、サーバに論理的に接続された端末であると特定する。
そして判定部35は、特定した、サーバに論理的に接続された端末のうちの一つの端末に着目する。ここで着目した端末を着目端末と記す。次に判定部35は先ず、フロー管理情報43において、「宛先MACアドレス」が、着目端末のMACアドレスと等しい行であって、「発信元MACアドレス」の値がサーバのMACアドレスと異なるすべての行を抽出する。そして判定部35は、抽出した行のうち、「出力パケット数」の値と「入力パケット数」の値を比較する。
抽出した何れかの行において、「出力パケット数」の値が「入力パケット数」の値以下であると判定すると、判定部35は、着目端末はクライアントであると判定する。一方、抽出した全ての行において、「出力パケット数」の値が「入力パケット数」の値よりも大きいと判定すると、判定部35は次の処理を行う。すなわち判定部35は、「発信元MACアドレス」が、着目端末のMACアドレスと等しい行であって、「宛先MACアドレス」が、サーバのMACアドレスと異なるすべての行を抽出する。そして判定部35は、抽出した行の「入力パケット数」と「出力パケット数」の値を比較する。
抽出したすべての行において、「入力パケット数」の値が「出力パケット数」の値よりも大きい場合、判定部35は、着目端末はサーバであると判定する。一方、抽出した何れかの行において、「入力パケット数」の値が「出力パケット数」の値以下であると判定すると、判定部35は、着目端末はクライアントであると判定する。
同様にして判定部35は、サーバに論理的に接続された端末の全ての端末を着目端末として、着目端末がサーバかクライアントかを判定する処理を行う。着目端末がサーバであると判定された場合は、判定部35はさらに、その着目端末に論理リンクで接続された、サーバとは異なる全ての端末に対して、サーバか否かの判定を行う。
以上のようにして判定部35は、入出力データ量の比較結果に基くサーバの識別処理を行い、結果を判定結果情報47へ記録する。判定結果情報47は、端末の識別情報と判定結果を対応付けて記憶する。図17は、判定結果情報47の一例を示す。図17において判定結果情報47は、「ID」、「MACアドレス」、「判定結果」のデータ項目を対応付けて記憶する。「ID」は、判定結果情報47を管理するための管理番号である。「MACアドレス」は、端末のMACアドレスである。「判定結果」は、対応する「MACアドレス」の端末の判定結果であり、サーバかクライアントかが示される。図17の例では、「判定結果」の「S」はサーバを示し、「C」はクライアントである(サーバではない)ことを示す。
次に、入出力パケット数に基づく識別処理において、入出力パケットの数が所定の閾値より小さいと判定された端末、及び、サーバまたはクライアントとは判定されなかった端末に対する、サーバの識別処理について説明する。以下の説明では、入出力パケット数に基づく識別処理において、所定の期間における入出力パケットの数が所定の閾値より小さいと判定された端末、及び、サーバまたはクライアントとは判定されなかった端末を、未判定端末TG1と記す。
判定部35は、未判定端末TG1の識別情報を、未判定端末情報45に記録して管理する。図18は、未判定端末情報45の一例を示す。未判定端末情報45は、「ID」と「MACアドレス」のデータ項目を対応付けて記憶する。「ID」は、未判定端末情報45を管理するための管理番号である。「MACアドレス」は、未判定端末のMACアドレスである。
未判定端末TG1に対しては、判定部35は、各端末の通信データ量の相関に基づくサーバの識別処理を行う。通信データ量の相関に基づくサーバの識別処理においては、トラフィック情報44が用いられる。トラフィック情報44は、トラフィック情報管理部34により管理される。
トラフィック情報管理部34は、収集部32から入力されたトポロジ情報及びフロー情報から、トラフィック情報44を生成する。トラフィック情報44は、所定の期間における、所定の計測間隔ごとの各未判定端末TG1の入力パケット数を示す情報である。
図19はトラフィック情報44の一例である。図19においてトラフィック情報44は、「時刻」のデータ項目と、「未判定端末MACアドレス」、「ポートID」、「入力パケット数」のデータ項目の組み合わせとを対応付けて記憶する。
「時刻」は、所定の時間間隔の時刻を示す。「未判定端末MACアドレス」、「ポートID」、「入力パケット数」は、これらの3つのデータ項目の組み合わせで1つの未判定端末に関する情報を示している。これらの3つのデータ項目の組み合わせは、未判定端末TG1の数だけ各行に記憶される。「未判定端末MACアドレス」は、未判定端末TG1のMACアドレスを示す。「ポートID」は、対応する「MACアドレス」の端末のポート番号を示す。「入力パケット数」は、対応する行の「時刻」から次の行の「時刻」において、対応する「MACアドレス」の端末の「ポートID」のポートに入力されるパケット数を示す。図19においては、12時間の期間における、1分毎の未判定端末TG1の入力パケット数が示されている。
このようなトラフィック情報44を用いて、判定部35は、各端末の通信データ量の相関に基づくサーバの識別処理を行う。
すなわち判定部35は、所定期間における所定の計測間隔ごとに複数の端末の通信データ量を比較し、通信データ量に相関があるか否かを判定する。複数の端末間で、所定期間における通信データ量に相関があると判定した場合、判定部35は、通信データ量に相関がある端末同士はいずれもサーバであると判定する。
具体的には、判定部35は、トラフィック情報44から、未判定端末TG1毎の所定期間における所定間隔ごとの入力パケット数の情報を取得する。次に判定部35は、未判定端末TG1毎の所定期間における入力パケット数の平均値と分散を算出し、算出した平均値と分散とに基づいて閾値を算出する。そして判定部35は、未判定端末TG1毎の閾値よりも、入力パケット数が多く、且つ、入力パケット数が極大となっている所定期間における所定間隔の期間を特定する。
図19においては、例えば判定部35は、「未判定端末MACアドレス」の「ポートID」の組み合わせ毎に、「時刻」が「09:00:00」から「20:59:00」までの「入力パケット数」の平均値と標準偏差とを算出する。次に判定部35は、算出した平均値と標準偏差の和を、その「未判定端末MACアドレス」の「ポートID」の組み合わせの閾値として設定する。次に判定部35は、閾値よりも「入力パケット数」が大きく、且つ極大となっている行の「時刻」を特定する。ここで特定した「時刻」は複数である場合もある。このようにして、すべての「未判定端末MACアドレス」の「ポートID」の組み合わせの、閾値よりも「入力パケット数」が大きく、且つ極大となっている行の「時刻」を特定する。そして判定部35は、「未判定端末MACアドレス」の「ポートID」の組み合わせ毎に特定した「時刻」、及び特定した「時刻」の数が、互いに一致する「未判定端末MACアドレス」の端末同士を特定し、特定した端末同士をサーバであると識別する。
尚、ここでは閾値を、平均値と標準偏差の和としたが、分散としてもよい。また例えば、一方の端末の特定した「時刻」に、他方の端末の特定した「時刻」がすべて一致する場合、それらの端末同士を判定部35はサーバと識別してもよい。例えば、一方の端末Aの、特定した「時刻」が、T1、T2であり、他方の端末Bの、特定した「時刻」がT1、T2、T3である場合、端末Aの特定した「時刻」はすべて、端末Bの特定した「時刻」に一致している。よってこの場合、端末Aと端末Bはサーバであると識別される。
尚、実施形態では「未判定端末MACアドレス」の「ポートID」の組み合わせ毎に、閾値よりも「入力パケット数」が大きく、且つ極大となっている「時刻」を特定するとしたが、この「時刻」の特定は「未判定端末MACアドレス」のフロー毎に行ってもよい。
以上のようにして、判定部35は通信データ量の相関に基づくサーバの識別処理を行い、結果を判定結果情報47へ記録する。ここで判定部35は、未判定端末情報45から、「MACアドレス」が、サーバと識別された端末を示す行を削除する。
次に、通信データ量の相関に基づくサーバの識別処理の後においても、未判定である端末に対するサーバ識別処理について説明する。以下の説明では、通信データ量の相関に基づくサーバ識別処理においてサーバまたはクライアントであると識別されなかった端末を、未判定端末TG2と記す。
判定部35は、未判定端末TG2に対して、さらに長期間(例えば12時間、あるいは1日)における期間で、通信データ量の相関に基づくサーバ識別処理を行う。さらに長期間における通信データ量の相関に基づくサーバ識別処理は、判定の対象とする期間と、入力パケット数の測定間隔が長期間であること以外は、上記の通信データ量の相関に基づくサーバ識別処理と同様である。
図20は、さらに長期間における通信データ量に基づくサーバ識別処理で用いられるトラフィック管理情報の一例を示す。図20においては、トラフィック管理情報の「時刻」の最初と最終の行の期間の差が24時間となっており図19と比較して長くなっている。
特定部36は、障害特定処理を行う。すなわち特定部36は、端末の通信データ量に基く障害特定処理と、ネットワークトモグラフィを用いた障害特定処理とを行う。
先ず、端末の通信データ量に基づく障害特定処理について説明する。通信データ量に基く障害特定処理では、障害判定の対象端末と保守端末との間で通信されるデータ量の変化(増減)と、対象端末の通信データ量とに基いて、対象端末の障害の判定を特定部36は行う。
先ず特定部36は、ネットワーク20に含まれる複数の端末のうちから保守端末を特定する。保守端末は、複数の保守対象端末に対して定期的にping等でポーリングを行う。また保守端末は、複数の保守対象端末が正常である場合には、通信データ量の相関に基づく識別処理の結果、未判定端末に属することとなる。これは、保守端末に対する入力パケット数は時系列の変動が少なく、分散値を超える極大値が存在しないからである。これらのことから、特定部36は、通信データ量の相関に基づく識別処理の結果として未判定端末に属する端末のうちから、ネットワーク20に含まれる他の端末へのフローの数(論理的に接続されている他の端末の数)に基づいて、保守端末を特定する。すなわち特定部36は、通信データ量の相関に基づく識別処理の結果として未判定端末に属する端末のうちで、ネットワーク20に含まれるすべての端末に対して論理的に接続されている端末を、保守端末であると特定する。
具体的には特定部36は、未判定端末情報45及び経路情報42に基づいて、保守端末を特定する。すなわち特定部36は、通信データ量の相関に基づく識別処理の結果が反映された未判定端末情報45に含まれる各端末のうち、ネットワーク20に含まれる全ての端末に対して論理的に接続されている端末を、経路情報42を用いて特定する。例えば特定部36は先ず、経路情報42の「ノード」の何れかに未判定端末の端末が含まれる全ての行を抽出する。次に特定部36は、抽出したすべての行の「ノード」に含まれる端末を特定する。そして特定部36は、特定した端末の各々が、ネットワーク20に含まれる全ての端末にそれぞれ対応するか否かを判定する。特定した端末が、ネットワーク20に含まれる全ての端末に対応する場合、特定部36は、未判定端末を保守端末であると特定する。
保守端末を特定すると特定部36は、所定期間における所定間隔毎の、保守端末と、保守端末に論理的に接続される保守対象端末との間の通信のデータ量を収集して、保守管理情報46として記録する。すなわち特定部36は、収集部32から入力されたトポロジ情報及びフロー情報から、保守管理情報46を生成する。
保守管理情報46は、所定期間における所定間隔毎の、保守端末から各端末への出力パケット数を対応付けて記憶する。図21は保守管理情報46の構成の一例を示す。図21において保守管理情報46は、「時刻」のデータ項目と、「端末MACアドレス」及び「出力パケット数」のデータ項目の組み合わせと、を対応付けて記憶する。「時刻」は、所定の時間間隔の時刻を示す。「端末MACアドレス」は、保守端末に論理的に接続される端末のMACアドレスを示す。「出力パケット数」は、対応する行の「時刻」から次の行の「時刻」において、保守端末から「端末MACアドレス」の端末へ出力された出力パケット数を示す。各行において、「端末MACアドレス」及び「出力パケット数」のデータ項目の組み合わせは、保守端末と論理的に接続される端末の数だけ含まれる。図21においては、12時間の期間における、1分毎の保守端末から各端末への出力パケット数が示されている。
次に保守管理情報46から、特定部36は、保守端末との間で通信されるデータの量が所定の期間において、所定の閾値以上となる時刻が存在する端末を特定する。
具体的には特定部36は、保守管理情報46から、所定期間における所定間隔ごとの、保守端末から各端末へ出力されるパケット数を取得する。次に特定部36は、端末毎の所定期間における保守端末から出力されるパケット数の平均値と分散を算出し、算出した平均値と分散とに基づいて閾値を算出する。そして特定部36は、閾値よりも保守端末からの出力パケット数が多い所定期間における所定間隔の期間がある端末を特定する。
図21においては、例えば特定部36は、端末毎に、「時刻」が「09:00:00」から「20:59:00」までの「出力パケット数」の平均値と標準偏差とを算出する。次に特定部36は、算出した平均値と標準偏差の和を、その端末の閾値として設定する。次に特定部36は、対応する端末の「出力パケット数」が閾値よりも大きい行が存在するか否かを判定し、対応する端末の「出力パケット数」が閾値よりも大きい行が存在する端末を特定する。ここで特定した端末を以下の説明では、障害監視対象端末と記す場合がある。
特定した障害監視対象端末において、特定部36は、障害監視対象端末のフローであって保守端末とは異なる端末との間の全てのフローにおいて、障害監視対象端末に対する入力データがあるにもかかわらず、出力データがないか否かを判定する。入力データがあるにもかかわらず、出力データがないと判定した場合、特定部36は、障害監視対象端末に障害が発生していると判定する。
障害監視対象端末に対する入力データがあるにもかかわらず、出力データがないか否かの判定は、フロー管理情報43に基づいて特定部36は行う。例えば特定部36は、フロー管理情報43において、「宛先MACアドレス」が、障害監視対象端末のMACアドレスと一致する行であって、「発信元MACアドレス」の値が保守端末のMACアドレスと異なるすべての行を抽出する。そして特定部36は、抽出した全ての行において、「入力パケット数」が0でなく、且つ、「出力パケット数」が0であるか否かを判定する。抽出した全ての行において、「入力パケット数」が0でなく、且つ、「出力パケット数」が0であると判定すると、特定部36は次の処理を行う。すなわち特定部36は、「発信元MACアドレス」が、障害監視対象端末のMACアドレスと一致する行であって、「宛先MACアドレス」が、保守端末のMACアドレスと異なるすべての行を抽出する。そして特定部36は、抽出した全ての行において、「出力パケット数」が0でなく、且つ、「入力パケット数」が0であるか否かを判定する。抽出した全ての行において、「出力パケット数」が0でなく、且つ、「入力パケット数」が0であると判定すると、特定部36は、障害監視対象端末で障害が発生していると判定する。
次に、実施形態におけるネットワークトモグラフィを用いた障害特定処理について説明する。特定部36は先ず、図3〜5を参照して説明した、ネットワークトモグラフィ技術を用いたネットワークの障害監視を実行する。ネットワークトモグラフィ技術を用いたネットワークの障害監視の実行の結果を、特定部36は、フロー状態管理情報48に記録する。図22はフロー状態管理情報48の一例を示す。フロー状態管理情報48は、フローの識別情報と、フローの経路上または端末において障害が発生しているか否かを示す情報とを対応付けて記憶する。図22においては、「結果」のデータ項目が「×」で記されている「フローID」のフローにおいて、障害が発生していることが示されている。
ネットワークトモグラフィによる障害監視の結果、ネットワーク20に含まれるリンクのうちの何れか(または複数)に障害が発生していると判定すると、特定部36は次の処理を行う。すなわち特定部36は、リンク情報41または経路情報42を参照して、障害が発生していると判定したリンクが、サーバに接続するリンクか否かを判定する。尚、障害が発生していると判定したリンクが、サーバに接続するリンクか否かの判定は、特定部36はトポロジ情報に基づいて判定してもよい。障害が発生していると判定したリンクが、サーバに接続するリンクであると判定すると、特定部36は、障害が発生しているリンクが接続するサーバへの入力パケット数と出力パケット数を比較する。その結果、障害が発生しているリンクが接続するサーバへの入力パケット数が出力パケット数よりも多いと判定すると、特定部36は、障害が発生しているリンクが接続するサーバに障害が発生していると判定する。
出力部37は、サーバの識別結果を表示し、また、ネットワークトモグラフィにより判定した障害箇所を表示する。これにより管理者がシステムの障害時に必要となる情報を得ることが可能となる。
具体的には出力部37は、判定部35によるサーバ識別処理の識別結果の情報、及び、特定部36による障害特定処理の特定結果の情報を、例えば、監視装置24に接続された所定の表示装置へ出力する。
図23は、出力部37により出力される情報の一例である。図23においては、サーバ識別処理によりサーバと識別された端末のMACアドレス「00:11:22:33:44:55」、「aa:bb:cc:dd:00:11」が示されている。また、障害特定処理により特定された障害が発生しているサーバまたはリンクの識別情報として、「OFS5とS1のリンク」、「OFS5とOFS4のリンク」、「S1」が示されている。尚、「OFS4」、「OSF5」は、それぞれスイッチの識別情報の一例であり、「S1」は、サーバの識別情報の一例である。出力部37は、判定結果情報47、及びフロー状態管理情報48を出力してもよい。
次に、サーバの識別処理の動作フローについて、図24〜図28を参照して説明する。図24〜図28は、サーバの識別処理の詳細を図解したフローチャート(その1〜その5)である。
図24において、先ず、収集部32は、定期的に制御装置22からトポロジ情報及びフロー情報を取得する(S101)。収集部32は、取得したトポロジ情報及びフロー情報を、フロー情報管理部33へ出力する。
次にフロー情報管理部33は、収集部32から入力された、トポロジ情報及びフロー情報を用いて、リンク情報41及び経路情報42を生成して、記憶部31に記録する(S102)。
次にフロー情報管理部33は、収集部32から入力された、トポロジ情報及びフロー情報を用いて、フロー管理情報43を生成して、記憶部31に記録する(S103)。
次に収集部32は、所定の計測期間が終了したか否かを判定する(S104)。尚、このステップにおける所定の計測期間は、予め設定された値であり、所定の記憶部31に記憶されているものとする。所定の計測期間が終了していないと判定されると(S104でNo)、処理はS101へ遷移する。
一方、所定の計測期間が終了したと判定されると(S104でYes)、判定部35は、サーバの識別処理の対象の端末のうちから、1つの端末を対象端末として選択する(S105)。
次に判定部35は、S105で選択した対象端末において、対象端末が通信する情報のすべてのフロー毎に、対象端末への入力パケット数と、対象端末からの出力パケット数を比較する(S106)。
次に判定部35は、対象端末が通信するすべてのフローの入出力パケット数の合計が所定の閾値以上か否かを判定する(S107)。S107における所定の閾値は、予め設定された値であり、所定の記憶部31に記憶されているものとする。対象端末が通信するすべてのフローの入出力パケット数の合計が所定の閾値未満であると判定した場合(S107でNo)、判定部35は、対象端末を未判定端末として、未判定情報へ記憶する(S108)。そして処理は、S111に遷移する。
一方S107において、対象端末が通信するすべてのフローの入出力パケット数の合計が所定の閾値以上であると判定した場合(S10で7Yes)、判定部35は次の処理を行う。すなわち判定部35は、対象端末が通信するすべてのフローにおいて、対象端末からの出力パケット数が対象端末への入力パケット数よりも大きいか否かを判定する(S109)。
対象端末が通信する何れかのフローにおいて、対象端末からの出力パケット数が対象端末への入力パケット数以下であると判定した場合(S109でNo)、処理はS111に遷移する。
一方、対象端末が通信するすべてのフローにおいて、対象端末からの出力パケット数が対象端末への入力パケット数より大きいと判定した場合(S109でYes)、判定部35は、対象端末をサーバと識別し、結果を判定結果情報47へ格納する(S110)。
次に判定部35は、S105において、未判定情報に記憶された未判定端末以外のすべての端末を選択済みか否かを判定する(S111)。未判定端末以外のいずれかの端末を未だS105において選択していないと判定された場合(S111でNo)、処理はS105に遷移し、判定部35は、未選択の端末のうちの一つを対象端末として選択する(S105)。
一方S111において、未判定端末以外のすべての端末をS105において選択済みであると判定された場合(S111でYes)、処理は図25のS112に遷移する。
図25のS112において、判定部35は、S110においてサーバと識別された端末のうちの一つとを新たに対象端末として選択する(S112)。
次に判定部35は、対象端末に論理的に接続される端末のうちの一つを選択端末として選択する(S113)。すなわち判定部35は、対象端末に論理的に接続される端末を、経路情報42またはフロー管理情報43を参照して特定する。
次に判定部35は、S113で選択した選択端末において、対象端末とは異なる端末と通信するすべてのフロー毎に、選択端末への入力パケット数と、選択端末からの出力パケット数を比較する(S114)。
次に判定部35は、選択端末が、対象端末とは異なる端末と通信するすべてのフローにおいて、選択端末からの出力パケット数が選択端末への入力パケット数よりも大きいか否かを判定する(S115)。
選択端末が、対象端末とは異なる端末と通信するすべてのフローにおいて、選択端末からの出力パケット数が選択端末への入力パケット数より大きいと判定した場合(S115でYes)、判定部35は次の処理を行う。すなわち判定部35は、選択端末をサーバと識別し、結果を判定結果情報47へ格納する(S116)。そして処理はS118に遷移する。
一方、選択端末が、対象端末とは異なる端末と通信する何れかのフローにおいて、選択端末からの出力パケット数が選択端末への入力パケット数以下であると判定した場合(S115でNo)、判定部35は次の処理を行う。すなわち判定部35は、選択端末をクライアントと識別し、結果を判定結果情報47へ格納する(S117)。そして処理はS118に遷移する。
次に判定部35は、S113において、対象端末に論理的に接続されるすべての端末を選択済みか否かを判定する(S118)。対象端末に論理的に接続されるいずれかの端末が未だS113において選択されていないと判定された場合(S118でNo)、処理はS113に遷移し、判定部35は、未選択の端末のうちの一つを選択端末として選択する(S113)。
一方S118において、対象端末に論理的に接続されるすべての端末をS113において選択済みであると判定した場合(S118でYes)、判定部35は、判定結果情報47に記憶された、サーバと識別された端末の全てを選択済みか否かを判定する(S119)。サーバと識別された端末のいずれかが未だS112において選択されていないと判定された場合(S119でNo)、処理はS112に遷移し、判定部35は、未選択の端末のうちの一つを対象端末として選択する(S112)。
一方S119において、サーバと識別されたすべての端末がS112において選択済みであると判定された場合(S119でYes)、処理は、図26のS120に遷移する。
図26のS120において、判定部35は、未判定端末が存在するか否かを判定する(S120)。サーバか否かが識別された端末については、判定結果情報47に格納されているため、判定結果情報47に対応するエントリが格納されていない端末が未判定端末である。ここで判定部35は、判定結果情報47に格納されていない端末を未判定端末情報45に格納する。尚、S120における未判定端末は、S108で未判定端末情報45に記録された端末としてもよい。
未判定端末が存在しないと判定された場合(S120でNo)、処理は図28のS139に遷移する。
一方S120において、未判定端末が存在すると判定された場合(S120でYes)、収集部32は、所定の計測期間における所定の計測周期毎のフロー情報を収集し、トラフィック情報管理部34へ出力する。トラフィック情報管理部34は、収集部32から入力されたフロー情報を用いて、トラフィック情報44を生成して、記憶部31に記録する(S121)。
次に判定部35は、未判定端末毎に、未判定端末に対して情報が通信される各フローにおいて、入力パケット数の計測周期毎の平均値と分散値に基づいて閾値を算出し、算出した閾値を超える入力パケット数の極大値の発生時間と発生数を算出する(S122)。
次に判定部35は、未判定端末間で、極大値の発生時間及び発生数が一致するか否かを判定し、極大値の発生時間及び発生数が一致する複数の端末が存在するか否かを判定する(S123)。極大値の発生時間及び発生数が一致する複数の端末は存在しないと判定された場合(S123でNo)、処理はS125に遷移する。
一方S123において、極大値の発生時間及び発生数が一致する複数の端末が存在すると判定した場合(S123でYes)、判定部35は、極大値の発生時間及び発生数が一致した複数の端末をサーバと識別し、判定結果情報47に格納する(S124)。ここでサーバと識別した端末については、判定部35は、未判定端末情報45から、対応するエントリを削除する。
次に判定部35は、未判定端末が存在するか否かを判定する(S125)。未判定端末は存在しないと判定された場合(S125でNo)、処理は図28のS139に遷移する。
一方S125において、未判定端末が存在すると判定された場合(S125でYes)、処理は図27のS126に遷移する。
図27のS126において、特定部36は、不確定の端末のうちの一つを新たに対象端末として選択する(S126)。
次に特定部36は、対象端末のフローの数を算出し確認する(S127)。すなわち特定部36は、対象端末のフローの数を、フロー管理情報43に基づいて算出する。
次に特定部36は、S127で確認した、対象端末のフローの数に基づいて、対象端末が他の全ての端末と通信しているか否かを判定する(S128)。具体的には例えば、特定部36は、S127で確認した対象端末のフローの数が、ネットワーク20に含まれる端末の数から1引いた数と一致するか否かを判定する。対象端末が他のいずれかの端末とは通信していないと判定された場合(S128でNo)、処理はS131に遷移する。
一方S128において、対象端末が他の全ての端末と通信していると判定した場合(S128でYes)、特定部36は、対象端末を保守端末と識別する(S129)。また特定部36は、対象端末をクライアントと識別し、判定結果情報47に記録する。ここでクライアントと識別した端末については、特定部36は、未判定端末情報45から、対応するエントリを削除する。
次に特定部36は、後ほど説明する図29のフローに示す障害特定処理を開始する(S130)。そして処理はS131に遷移する。
次に特定部36は、S126において、全ての未判定端末を選択済みか否かを判定する(S131)。S126において、いずれかの未判定端末が未だ選択されていないと判定された場合(S131でNo)、処理はS126に遷移し、特定部36は未選択の未判定端末のうちの一つを新たに対象端末として選択する(S126)。
一方S131において、全ての未判定端末を選択済みであると判定した場合(S131でYes)、特定部36は、未判定端末が存在するか否かを判定する(S132)。未判定端末が存在しないと判定された場合(S132でNo)、処理は図28のS139に遷移する。
一方S132において、未判定端末が存在すると判定された場合(S132でYes)、処理は図28のS133に遷移する。
図28のS133において、収集部32は、S121の計測期間よりも長い所定の計測期間における所定の計測周期毎のフロー情報を収集し、トラフィック情報管理部34へ出力する。トラフィック情報管理部34は、収集部32から入力されたフロー情報を用いて、トラフィック情報44を生成して、記憶部31に記録する(S133)。
次に判定部35は、未判定端末毎に、未判定端末に対して情報が通信される各フローにおいて、入力パケット数の計測周期毎の平均値と分散値に基づいて閾値を算出し、算出した閾値を超える入力パケット数の極大値の発生時間と発生数を算出する(S134)。
次に判定部35は、極大値の発生時間及び発生数が一致する複数の端末が存在するか否かを判定する(S135)。極大値の発生時間及び発生数が一致する複数の端末が存在しないと判定された場合(S135でNo)、処理はS137に遷移する。
一方S135において、極大値の発生時間及び発生数が一致する複数の端末が存在すると判定した場合(S135でYes)、判定部35は、極大値の発生時間及び発生数が一致した複数の端末をサーバと識別し、判定結果情報47に格納する(S136)。ここでサーバと識別した端末については、判定部35は、未判定端末情報45から、対応するエントリを削除する。
次に判定部35は、未判定端末が存在するか否かを判定する(S137)。未判定端末が存在しないと判定された場合(S137でNo)、処理はS139に遷移する。
一方S137において、未判定端末が存在すると判定された場合(S137でYes)、判定部35は、未判定端末を識別不能と判定する(S138)。ここで識別不能と判定した未判定端末の識別情報を、判定部35は、判定結果情報47に記録してもよい。
次にS139において、出力部37は識別結果を出力する(S139)。次に判定部35は、サーバ識別処理を終了するか否かを判定する(S140)。識別処理を終了するか否かは、予め所定の記憶部31に設定されて記憶されている情報に基づいて判定される。例えば、収集部32が収集するトポロジ情報及びフロー情報の計測を継続する期間を予め複数定義(例えば1時間と1日など)して記憶部31に記憶させておく。そして判定部35は、未判定端末が存在する場合であって、定義しておいた計測を継続する期間が終了していなければ、識別処理を終了しないと判定する。一方判定部35は、未判定端末が存在しない場合、もしくは、未判定端末が存在する場合であって、定義しておいた計測を継続する期間が終了している場合、識別処理を終了すると判定する。
S140において、判定部35によりサーバ識別処理を終了しないと判定された場合(S140でNo)、処理は、図24のS101に遷移する。一方S140において、判定部35によりサーバ識別処理を終了すると判定された場合(S140でYes)、処理は終了する。
次に、S130で開始される、障害特定処理の動作フローについて説明する。図29は、端末の通信データ量に基く障害特定処理の詳細を図解したフローチャートである。
図29において先ず、収集部32は、所定の計測期間における、S130において特定した保守端末の所定の計測周期毎のフロー情報を収集し、特定部36へ出力する。特定部36は、収集部32から入力されたフロー情報を用いて、保守管理情報46を生成して、記憶部31に記録する(S201)。
次に特定部36は、保守端末の各フローにおいて所定の計測周期毎の入出力パケット数の平均値と分散から閾値を算出し、閾値を超える入出力パケット数を有するフローにおいて保守端末と通信する端末を特定する(S202)。S202で特定した端末は障害監視対象端末である。
次に特定部36は、S202で特定した障害監視対象端末のうちの一つを新たに対象端末として選択する(S203)。
次に特定部36は、対象端末からの送信トラフィックがないか否かを判定する(S204)。具体的には例えば、特定部36は、フロー管理情報43に基づいて、保守端末とは異なる端末からの対象端末への入力データがあるにもかかわらず、保守端末とは異なる端末への出力データがないか否かの判定を行う。対象端末からの送信トラフィックがあると判定された場合(S204でNo)、処理はS206に遷移する。
一方S204において、対象端末からの送信トラフィックがないと判定した場合(S204でYes)、特定部36は、対象端末で障害が発生していると判定する(S205)。そして特定部36は、対象端末と、障害が発生していることを示す情報とを対応付けて、記憶部31に記録する。
次に特定部36は、S202で特定した端末のうち、すべての端末をS203で選択済みか否かを判定する(S206)。S202で特定した端末のうち、いずれかの端末がS203で未だ選択されていないと判定された場合(S206でNo)、処理はS203に遷移し、特定部36は、S202で特定した端末のうち未選択の端末の一つを、対象端末として選択する(S203)。
一方、S202で特定した端末のうち、すべての端末がS203で選択されたと判定された場合(S206でYes)、出力部37は、障害判定の結果を出力する(S207)。例えば出力部37は、S205で障害が発生していると判定された端末の識別情報を、障害が発生していることを示す情報とともに出力する。
次に特定部36は、障害特定処理を終了するか否かを判定する(S208)。S208で障害特定処理を終了するか否かは、予め所定の記憶部31に設定されて記憶されている情報に基づいて判定される。例えば、収集部32が収集するフロー情報の計測を継続する期間を予め複数定義して記憶部31に記憶させておく。そして特定部36は、S201の計測期間が、予め定義しておいた計測を継続する期間を越えていなければ、障害特定処理を終了しないと判定する。一方特定部36は、S201の計測期間が、予め定義しておいた計測を継続する期間を越えている場合、障害特定処理を終了すると判定する。
S208において、特定部36により障害特定処理を終了しないと判定された場合(S208でNo)、処理は、S201に遷移する。一方S208において、特定部36により障害特定処理を終了すると判定された場合(S208でYes)、処理は終了する。
次に、ネットワークトモグラフィを用いた障害特定処理の動作フローについて説明する。図30は、ネットワークトモグラフィを用いた障害特定処理の詳細を図解したフローチャートである。
図30において先ず、特定部36は、定期的にネットワークトモグラフィによる障害箇所特定処理を実行する(S301)。
次に特定部36は、S301において障害が発生していると判定されたリンクが、サーバに接続するリンクか否かを判定する(S302)。障害が発生しているとS301において判定されたリンクが、サーバに接続するリンクではないと判定された場合(S302でNo)、処理はS306に遷移する。
一方、障害が発生しているとS301において判定されたリンクが、サーバに接続するリンクであると判定した場合(S302でYes)、特定部36は以下の処理を行う。すなわち特定部36は、障害が発生しているリンクが接続するサーバ(以下、障害リンク接続サーバと記す)への入力パケット数が、障害リンク接続サーバからの出力パケット数よりも多いか否かを判定する(S303)。
S303において、障害リンク接続サーバへの入力パケット数が、障害リンク接続サーバからの出力パケット数よりも多いと判定した場合(S303でYes)、特定部36は、障害リンク接続サーバに障害が発生していると判定する(S304)。ここで特定部36は、障害が発生していると判定したサーバの識別情報と、障害が発生していることを示す情報を対応付けて記憶部31に記録してもよい。そして処理はS306に遷移する。
一方、障害リンク接続サーバへの入力パケット数が、障害リンク接続サーバからの出力パケット数以下と判定した場合(S303でNo)、特定部36はS301において障害が発生していると判定されたリンクに障害が発生していると判定する(S305)。ここで特定部36は、障害が発生していると判定したリンクの識別情報と、障害が発生していることを示す情報を対応付けて記憶部31に記録してもよい。そして処理はS306に遷移する。
次に出力部37は、障害箇所の特定結果を出力する(S306)。例えば出力部37は、S304またはS305で判定した障害が発生しているサーバまたはリンクの識別情報と、障害が発生していることを示す情報とを対応付けて出力する。
次に特定部36は、障害特定処理を終了するか否かを判定する(S307)。S307で障害特定処理を終了するか否かは、予め所定の記憶部31に設定されて記憶されている情報に基づいて判定される。例えば、ネットワークトモグラフィの実行を継続する期間を予め複数定義して記憶部31に記憶させておく。そして特定部36は、ネットワークトモグラフィの実行期間が、予め定義しておいたネットワークトモグラフィの実行を継続する期間を越えていなければ、障害特定処理を終了しないと判定する。一方特定部36は、ネットワークトモグラフィの実行期間が、予め定義しておいたネットワークトモグラフィの実行を継続する期間を越えている場合、障害特定処理を終了すると判定する。
S307において、特定部36により障害特定処理を終了しないと判定された場合(S307でNo)、処理は、S301に遷移する。一方S307において、特定部36により障害特定処理を終了すると判定された場合(S307でYes)、処理は終了する。
図31において、監視装置24は、CPU(Central Processing Unit)601、メモリ602、記憶装置603、読取装置604、通信インターフェース605、及び表示装置606を含む。CPU601、メモリ602、記憶装置603、読取装置604、通信インターフェース605、及び表示装置606はバスを介して接続される。
CPU601は、メモリ602を利用して上述のフローチャートの手順を記述したプログラムを実行することにより、収集部32、フロー情報管理部33、トラフィック情報管理部34、判定部35、特定部36、及び出力部37の一部または全部の機能を提供する。
メモリ602は、例えば半導体メモリであり、RAM(Random Access Memory)領域およびROM(Read Only Memory)領域を含んで構成される。記憶装置603は、例えばハードディスクである。なお、記憶装置603は、フラッシュメモリ等の半導体メモリであってもよい。また、記憶装置603は、外部記録装置であってもよい。記憶装置603は記憶部31の一部または全部の機能を提供する。
読取装置604は、CPU601の指示に従って着脱可能記憶媒体650にアクセスする。着脱可能記憶媒体650は、たとえば、半導体デバイス(USBメモリ等)、磁気的作用により情報が入出力される媒体(磁気ディスク等)、光学的作用により情報が入出力される媒体(CD−ROM、DVD等)などにより実現される。尚、読取装置604は監視装置24に含まれなくてもよい。
通信インターフェース605は、CPU601の指示に従ってネットワークを介して制御装置22から、トポロジ情報及びフロー情報を収集する。また、出力部37により出力された情報は、通信インターフェース605を介して接続された図示しない他の端末へ出力されてもよい。
表示装置606は、出力部37により出力された情報を表示する。尚、表示装置606は監視装置24に含まれなくてもよい。
実施形態のプログラムは、例えば、下記の形態で監視装置24に提供される。
(1)記憶装置603に予めインストールされている。
(2)着脱可能記憶媒体650により提供される。
(3)プログラムサーバ(図示せず)から通信インターフェース605を介して提供される。
さらに、実施形態の監視装置24の一部は、ハードウェアで実現してもよい。或いは、実施形態の監視装置24は、ソフトウェアおよびハードウェアの組み合わせで実現してもよい。
尚、図2において監視装置24は、制御装置22からトポロジ情報を収集するとしたが、トポロジ情報とフロー情報が取得できれば、制御装置22を介さずに、スイッチや他の情報処理装置から受信してもよい。また、実施形態においては、端末の識別情報としてMACアドレスを用いたが、端末を識別できる情報であればMACアドレスに限定されない。
入力データ量と出力データ量の比較に基くサーバ識別処理は、各端末が送受信する情報のフロー毎に行われるとしたが、端末の所定期間における入力データ量の合計と出力データ量の合計との比較により行ってもよい。
実施形態の識別装置は、端末間の通信に関する情報から、端末がサーバか否かの識別ができる。また実施形態によれば、OSI(Open Systems Interconnection)参照モデルのデータリンク層(第2層)までの情報に基いて、端末がサーバか否かの識別が可能となる。すなわち実施形態によれば、端末のMACアドレスと、通信されるデータ量に基いて、端末がサーバか否かの識別が可能となる。
また実施形態によれば、端末間の通信データ量の相関に基いて、通信データ量が少ない端末に対するサーバか否かの識別が可能となる。また実施形態によれば、端末間の通信に関する情報に基いて、障害が発生しているサーバの特定が可能となる。また実施形態によれば、端末間の通信に関する情報に基いて、サーバで障害が発生しているのか、リンクで障害が発生しているのかの区別が可能となる。
尚、本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
上記実施形態に関し、更に以下の付記を開示する。
(付記1)
情報を通信する複数の通信装置間で通信される情報の量を含む情報を取得する取得部と、
前記複数の通信装置のうちのいずれかの装置である第1通信装置と、該第1通信装置と通信する1以上の前記通信装置との所定期間における通信において、前記第1通信装置から出力される情報の量が前記第1通信装置へ入力される情報の量以上である場合に、前記第1通信装置をサーバ装置と識別する識別部と、
を備えることを特徴とする識別装置。
(付記2)
前記取得部は、前記複数の通信装置間の通信を中継する中継装置を制御する制御装置から、前記複数の通信装置間で通信される情報の量を含む情報を取得する
ことを特徴とする付記1に記載の識別装置。
(付記3)
前記識別部は、前記第1通信装置と、該第1通信装置と通信する1以上の前記通信装置の各々との所定期間における通信において、前記第1通信装置から出力される情報の量が前記第1通信装置へ入力される情報の量以上である場合に、前記第1通信装置をサーバ装置と識別する
ことを特徴とする付記1または2に記載の識別装置。
(付記4)
前記識別部は、さらに、
前記第1通信装置をサーバ装置と識別した場合、前記複数の通信装置のうちの何れかの装置であって前記第1通信装置と通信する第2通信装置と、該第2通信装置と通信し前記第1通信装置と異なる1以上の前記通信装置との所定期間における通信において、前記第2通信装置から出力される情報の量が前記第2通信装置へ入力される情報の量以上である場合に、前記第2通信装置をサーバ装置と識別する
ことを特徴とする付記1〜3のうちいずれか1項に記載の識別装置。
(付記5)
前記識別部は、さらに、
所定期間における、前記第1通信装置の通信量と、前記複数の通信装置のうちの何れかの装置である第3通信装置の通信量とに相関がある場合に、前記第1通信装置及び前記第3通信装置をサーバ装置と識別する
ことを特徴とする付記1〜4のうちのいずれか1項に記載の識別装置。
(付記6)
前記識別部は、前記第1通信装置と前記第3通信装置毎に、第1期間における所定の時間間隔毎の通信量の平均または分散に基いて第1閾値を算出し、前記第1期間において、前記通信量が前記第1閾値以上であり且つ前記通信量が極大となる前記所定の時間間隔の期間を特定し、特定した期間が前記第1通信装置と前記第3通信装置で一致する場合、前記第1通信装置及び前記第3通信装置をサーバ装置と識別する
ことを特徴とする付記5に記載の識別装置。
(付記7)
前記識別装置は、さらに、
前記第1通信装置が前記複数の通信装置のすべてと通信を行う場合、前記第1通信装置と、該第1通信装置と通信する第4通信装置との間で所定期間において通信される情報の量が所定の閾値以上であり、且つ、前記第4通信装置と、該第4通信装置と通信する1以上の前記通信装置の各々との通信において、前記第4通信装置へ入力される情報があるにもかかわらず、前記第4通信装置から出力される情報がない場合に、前記第4通信装置に障害が発生していると判定する障害判定部
を備えることを特徴とする付記1〜6のうちのいずれか1項に記載の識別装置。
(付記8)
コンピュータに、
情報を通信する複数の通信装置間で通信される情報の量を含む情報を取得し、
前記複数の通信装置のうちのいずれかの装置である第1通信装置と、該第1通信装置と通信する1以上の前記通信装置との所定期間における通信において、前記第1通信装置から出力される情報の量が前記第1通信装置へ入力される情報の量以上である場合に、前記第1通信装置をサーバ装置と識別する
処理をさせることを特徴とする識別プログラム。
(付記9)
情報を通信する複数の通信装置間で通信される情報の量を含む情報を取得し、
前記複数の通信装置のうちのいずれかの装置である第1通信装置と、該第1通信装置と通信する1以上の前記通信装置との所定期間における通信において、前記第1通信装置から出力される情報の量が前記第1通信装置へ入力される情報の量以上である場合に、前記第1通信装置をサーバ装置と識別する
処理をコンピュータが実行することを特徴とする識別方法。