説明

ネットワーク障害検出プログラム、ネットワーク障害検出装置、およびネットワーク障害検出方法

【課題】アクセス先の障害と上流ネットワークの障害とを自動的に切り分けること。
【解決手段】各端末Siは、あらかじめ設定された上流ネットワーク103のキャリア101により、インターネット100に接続可能である。ネットワーク障害検出装置111は端末SiおよびサーバDj間のトラフィックを監視する。上流ネットワーク103は、インターネットプロバイダなどのキャリア101,102からなる。ネットワーク障害検出装置111がキャリア101の障害発生を検出することで、端末SiをサーバDjに接続させるキャリア101の障害とサーバDjの障害とを切り分ける。ネットワーク障害検出装置111は、上流ネットワーク103との接続を変更するなどの対処をネットワーク管理装置112に指示する。これにより、下流ネットワーク110をインターネット100に接続させるキャリアがキャリア101からキャリア102に切り替わる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、各アクセス元とそれぞれのアクセス先とを接続させるネットワークの障害を検出するネットワーク障害検出プログラム、ネットワーク障害検出装置、およびネットワーク障害検出方法に関する。
【背景技術】
【0002】
従来からネットワーク障害を検出するシステムが開示されている(たとえば、下記特許文献1を参照。)。この特許文献1では、汎用コンピュータと端末装置との間に物理的に2本の通信回線を設けたオンラインシステムに対し、回線障害時に自動的に回線の切り替えをおこなう技術である。
【0003】
【特許文献1】特開平7−84912号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した特許文献1では、オンラインシステムを構成する汎用コンピュータは1台に固定されているため、不特定多数のアクセス元(端末装置)から不特定多数のアクセス先に接続するネットワークの障害を検出することができないという問題があった。
【0005】
このようなネットワークは、不特定多数のアクセス元を下流ネットワークとした場合に、上流ネットワークと呼ばれ、下流ネットワークの端末装置をWebサーバなどのアクセス先に接続させるキャリア(インターネットサービスプロバイダ)である。この上流ネットワークに障害が発生したことを検知する場合、大別すると、上流ネットワーク側の管理者(一個人だけでなく管理組織という意味も含む。以下同様)からの通知による方法と、自ネットワーク内で独自に調査する方法に分けられる。
【0006】
上流ネットワークからは一般的に障害発生が通知されるものであるが、実際には形式的な通知となっているケースもある。また障害の内容によっては、ネットワークの管理者自身が障害の発生に気がつかない場合もある。このような障害はサイレント障害と呼ばれ、通知はおこなわれない。それらの結果として通知を受ける下流ネットワーク側では、通知はあまり期待できない状況がある。
【0007】
したがって、上流ネットワークからの通知によらない自主的な調査による検知手段が重要であるが、それらには、外部サーバとの接続可否の確認(ハートビート方式)、SNMP(Simple Network Management Protocol)によるトラフィック流量の監視、キャプチャによるアクセス状況の取得などがある。いずれも常時状況を把握しておき、状況が通常時と変化したら障害と判断する。
【0008】
しかしながら、上述したハートビート方式では、ハートビート先となるアクセス先がダウンしたにもかかわらず、そのアクセス先のWebサーバの障害と判断せず、上流ネットワーク障害であると誤検出してしまうという問題があった。
【0009】
また、SNMPによるトラフィック流量の監視やキャプチャによるアクセス状況の取得では、通信先が偏りを持っていた場合に、その特定サーバでの障害に起因するトラフィックの変化を上流ネットワーク障害であると誤検出してしまうという問題があった。
【0010】
このように、上述した従来技術では、上流ネットワークからの通知がなければ、アクセス先となるサーバの障害と上流ネットワークの障害とを区別することができないという問題があった。
【0011】
この発明は、上述した従来技術による問題点を解消するため、アクセス先となるサーバの障害と上流ネットワークの障害とを自動的に切り分けることにより、障害に応じた復旧対策を円滑におこなうことができるネットワーク障害検出プログラム、ネットワーク障害検出装置、およびネットワーク障害検出方法を提供することを目的とする。
【課題を解決するための手段】
【0012】
上述した課題を解決し、目的を達成するため、このネットワーク障害検出プログラム、ネットワーク障害検出装置、およびネットワーク障害検出方法は、各アクセス元からそれぞれのアクセス先へのリクエストパケットと当該リクエストパケットに対するレスポンスパケットとを取得し、その取得結果に基づいて、前記アクセス先へのアクセス成否を判定し、現在までの前記各アクセス先のアクセス総数およびアクセス成立回数を、判定されたアクセス成否に基づいて更新し、更新された場合、当該更新後における前記各アクセス先のアクセス総数およびアクセス成立回数に基づいて、前記アクセス先へのアクセス可否を判定し、その判定結果に基づいて、前記各アクセス元と前記アクセス先とを接続させるネットワークに障害が発生したか否かを判定し、その判定結果を出力することを要件とする。
【0013】
このネットワーク障害検出プログラム、ネットワーク障害検出装置、およびネットワーク障害検出方法によれば、各アクセス元とアクセス先とを接続させるネットワークの障害と、アクセス先の障害とを切り分けることができる。したがって、信頼性の高い障害検出結果を報知することができる。
【0014】
また、前記アクセス不可と判定されたアクセス先の数が所定数以上である場合、前記ネットワークに障害が発生したと判定することとしてもよい。
【0015】
このネットワーク障害検出プログラム、ネットワーク障害検出装置、およびネットワーク障害検出方法によれば、複数のアクセス先が同時に障害発生する可能性よりも、単一のネットワークに障害が発生する可能性が高いという性質を利用することで、ネットワークの障害とアクセス先の障害とを切り分けることができる。
【0016】
また、前記アクセス先の総数と前記アクセス可と判定されたアクセス先の数とに基づいて、前記全アクセス先のうちアクセス可となるアクセス先の存在確率を算出し、その存在確率が所定確率以下である場合、前記ネットワークに障害が発生したと判定することとしてもよい。
【0017】
このネットワーク障害検出プログラム、ネットワーク障害検出装置、およびネットワーク障害検出方法によれば、所定確率以下の場合、ネットワーク障害と判定し、所定確率より大きい場合、アクセス先に障害が発生していると判定する。なお、算出された存在確率が100%の場合は、いずれの障害も発生していないことがわかる。
【0018】
また、所定時間の経過を検出し、経過が検出された場合、前記所定時間前の時点以前における前記各アクセス先のアクセス総数およびアクセス成立回数を消去することにより、現在までの前記各アクセス先のアクセス総数およびアクセス成立回数を更新することとしてもよい。
【0019】
このネットワーク障害検出プログラム、ネットワーク障害検出装置、およびネットワーク障害検出方法によれば、ネットワークの障害とアクセス先の障害との切り分けをリアルタイムで実現することができる。
【発明の効果】
【0020】
このネットワーク障害検出プログラム、ネットワーク障害検出装置、およびネットワーク障害検出方法によれば、アクセス先となるサーバの障害と上流ネットワークの障害とを自動的に切り分けることにより、障害に応じた復旧対策を円滑におこなうことができるという効果を奏する。
【発明を実施するための最良の形態】
【0021】
以下に添付図面を参照して、このネットワーク障害検出プログラム、ネットワーク障害検出装置、およびネットワーク障害検出方法の好適な実施の形態を詳細に説明する。まず、実施の形態の全体構成について説明する。なお、本実施の形態では、アクセス元を端末、アクセス先をサーバとして説明する。そして、端末をサーバに接続させる上流ネットワークの障害とサーバとの障害を切り分ける。
【0022】
(システム構成)
図1は、実施の形態にかかるネットワーク障害検出システムのシステム構成を示す説明図である。図1において、下流ネットワーク110は、アクセス元となる多数の端末S1〜Snとネットワーク障害検出装置111とネットワーク管理装置112とから構成される。下流ネットワーク110としては、たとえば、企業網が挙げられる。各端末Si(i=1〜n)は、あらかじめ設定された上流ネットワーク103の特定のキャリア101により、インターネット100に接続可能である。ネットワーク障害検出装置111は、端末SiおよびサーバDj(j=1〜m)間のトラフィックを監視する。ネットワーク管理装置112は、ルータなど上流ネットワーク103とのパケットを中継する装置である。
【0023】
上流ネットワーク103は、インターネットプロバイダなどのキャリア101,102からなる。本例では、下流ネットワーク110をインターネット100に接続させるキャリアをキャリア101とする。ネットワーク障害検出装置111においてキャリア101の障害発生が検出されると、上流ネットワーク103との接続を変更するなどの対処をネットワーク管理装置112に指示する。これにより、下流ネットワーク110をインターネット100に接続させるキャリアがキャリア101からキャリア102に切り替わる。また、インターネット上には、端末Siと通信するWebサーバなどの不特定多数のサーバD1〜Dmが存在する。mは、端末Siのアクセス先としてあらたに指定されるとその都度追加されるため増加する値であり、固定数ではない。
【0024】
(コンピュータのハードウェア構成)
つぎに、実施の形態にかかるコンピュータ(ネットワーク障害検出装置111、ネットワーク管理装置112、端末Si、サーバDj、キャリア101,102内のコンピュータ)のハードウェア構成について説明する。
【0025】
図2は、実施の形態にかかるコンピュータのハードウェア構成を示す説明図である。図2において、ネットワーク障害検出装置111は、コンピュータ本体210と、入力装置220と、出力装置230と、から構成されており、不図示のルータやモデムを介して各種ネットワーク240に接続可能である。
【0026】
コンピュータ本体210は、CPU,メモリ,インターフェースを有する。CPUは、ネットワーク障害検出装置111の全体の制御を司る。メモリは、ROM,RAM,HD,光ディスク211,フラッシュメモリなどの記憶領域から構成される。記憶領域はCPUのワークエリアとして使用される。
【0027】
また、記憶領域には各種プログラムが格納されており、CPUからの命令に応じてロードされる。HDおよび光ディスク211はディスクドライブによりデータのリード/ライトが制御される。また、光ディスク211およびフラッシュメモリはコンピュータ本体210に対し着脱自在である。インターフェースは、入力装置220からの入力、出力装置230への出力、ネットワーク240に対する送受信の制御をおこなう。
【0028】
また、入力装置220としては、キーボード221、マウス222、スキャナ223などがある。キーボード221は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス222は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ223は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体210内の記憶領域に格納される。なお、スキャナ223にOCR機能を持たせてもよい。
【0029】
また、出力装置230としては、ディスプレイ231、スピーカ232、プリンタ233などがある。ディスプレイ231は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。スピーカ232は、効果音や読み上げ音などの音声を出力する。また、プリンタ233は、画像データや文書データを印刷する。
【0030】
(データ構造およびデータベース)
つぎに、実施の形態にかかるネットワーク障害検出装置111において利用されるデータのデータ構造およびデータベースについて説明する。図3は、リクエストパケットのデータ構造を示す説明図である。リクエストパケット300は、端末SiからサーバDjに対して送信されるパケットである。リクエストパケット300は、ヘッダとして送信元アドレス301および宛先アドレス302とリクエストデータ303とを有する。送信元アドレス301は、アクセス元である端末SiのIPアドレスである。宛先アドレス302は、アクセス先であるサーバDjのIPアドレスである。
【0031】
図4は、レスポンスパケットのデータ構造を示す説明図である。レスポンスパケット400は、端末Siからのリクエストパケット300を受信したサーバDjからその端末Siに対して送信されるパケットである。レスポンスパケット400は、ヘッダとして送信元アドレス401および宛先アドレス402とレスポンスデータ403とを有する。送信元アドレス401は、アクセス先となったサーバDjのIPアドレスである。宛先アドレス402は、アクセス元である端末SiのIPアドレスである。
【0032】
図5は、アクセス成否情報のデータ構造を示す説明図である。アクセス成否情報500は、リクエストパケット300に対するレスポンスパケット400の取得の成否を示す情報である。アクセス成否情報500は、リクエスト単位で生成される。アクセス成否情報500には、アクセス先情報501とアクセス成否フラグ502が記述されている。アクセス先情報501とは、アクセス先であるサーバDjを特定する情報であり、たとえば、IPアドレスが記述される。
【0033】
アクセス成否フラグ502は、アクセス先とのアクセスの成否を特定する情報であり、アクセス成否フラグ502の値が1のときはアクセス成立、すなわち、時間内にアクセス先(サーバDj)からのレスポンスパケット400が端末Siに受信されたことを示す。アクセス成否フラグ502の値が0のときはアクセス不成立、すなわち、時間内にアクセス先(サーバDj)からのレスポンスパケット400が端末Siに受信されなかったことを示す。
【0034】
図6は、アクセス成否DBの記憶内容を示す説明図である。アクセス成否DB600は、アクセス先別のアクセス成功率が記憶されている。アクセス成功率は、アクセス先ごとに、アクセス成立回数を分子、アクセス総数を分母としたときの値である。アクセス成立回数およびアクセス総数は、図5に示したアクセス成否情報500により更新される。具体的には、アクセス成否フラグ502の値が1である場合、そのアクセス先のアクセス成効率の分子および分母を1加算する。一方、アクセス成否フラグ502の値が0である場合、そのアクセス先のアクセス成効率の分母のみを1加算する。
【0035】
たとえば、(A)の状態から、アクセス先:サーバD1、アクセス成否フラグ:1のアクセス成否情報500を受け付けると、(B)に示したように、(A)に示したアクセス先:サーバD1のアクセス成効率“7/10”から“8/11”に更新される。(B)の状態から、アクセス先:サーバD2、アクセス成否フラグ:0のアクセス成否情報500を受け付けると、(C)に示したように、(B)に示したアクセス先:サーバD2のアクセス成効率“4/20”から“4/21”に更新される。
【0036】
図7は、アクセス可否DBの記憶内容を示す説明図である。アクセス可否DB700は、アクセス先(サーバDj)ごとに、アクセス可否情報を記憶する。アクセス可否情報とは、そのアクセス先にアクセスが可能か否かを示す情報である。アクセス可否情報は、たとえば、「可」、「不可」、「判定不可」の3種類用意されている。アクセス可否情報は、図6に示したアクセス成否DB600のアクセス成立回数(アクセス成効率の分子の値)やアクセス成効率により決定される。
【0037】
(ネットワーク障害検出装置111の機能的構成)
図8は、ネットワーク障害検出装置111の機能的構成を示すブロック図である。図8において、ネットワーク障害検出装置111は、取得部801と、アクセス成否判定部802と、更新部803と、アクセス可否判定部804と、障害判定部805と、算出部806と、出力部807と、を備えている。これら各機能801〜807は、ネットワーク障害検出装置111の記憶部に記憶された当該機能801〜807に関するプログラムをCPUに実行させることにより、または、入出力I/Fにより、当該機能を実現することができる。
【0038】
また、各機能801〜807からの出力データは上記記憶部に保持される。また、図8中矢印で示した接続先の機能は、接続元の機能からの出力データを記憶領域から読み込んで、当該機能に関するプログラムをCPUに実行させるものとする。
【0039】
取得部801は、各アクセス元からそれぞれのアクセス先へのリクエストパケット300と当該リクエストパケット300に対するレスポンスパケット400とを取得する機能を有する。具体的には、たとえば、端末Siから送信されるリクエストパケット300をキャプチャするとともに、サーバDjからのレスポンスパケット400をキャプチャする。
【0040】
アクセス成否判定部802は、取得部801による取得結果に基づいて、アクセス先へのアクセス成否を判定する機能を有する。具体的には、たとえば、あるリクエストパケット300をキャプチャした場合、そのリクエストパケット300の送信元アドレス301を宛先アドレス402とし、宛先アドレス302を送信元アドレス401とするレスポンスパケット400が、所定時間以内にキャプチャされたか否かを判断する。
【0041】
所定時間以内にキャプチャされた場合、アクセス成立と判定し、されなかった場合、アクセス不成立と判定する。アクセス成立と判定された場合、アクセス成否フラグ:1のアクセス成否情報500を更新部803に出力する。一方、アクセス不成立と判定された場合、アクセス成否フラグ:0のアクセス成否情報500を更新部803に出力する。
【0042】
更新部803は、現在までの各アクセス先のアクセス総数およびアクセス成立回数を、アクセス成否判定部802によって判定されたアクセス成否に基づいて更新する機能を有する。具体的には、たとえば、アクセス成否判定部802から出力されるアクセス成否情報500により、更新対象となるアクセス先のエントリを特定し、図7で説明したとおり、アクセス成否フラグ502の値に応じてアクセス成効率を更新する。
【0043】
アクセス可否判定部804は、更新部803によって更新された場合、当該更新後における各アクセス先のアクセス総数およびアクセス成立回数に基づいて、アクセス先へのアクセス可否を判定する機能を有する。具体的には、たとえば、アクセス成効率のしきい値を設定しておき、アクセス先(サーバDj)ごとにそのアクセス成効率がしきい値以上であれば、そのアクセス先には今後もアクセス可能と判定され、しきい値未満であれば、それ以降はアクセス不可と判定される。
【0044】
たとえば、しきい値が60%である場合、図6の(A)の状態では、サーバD1のアクセス成効率は“7/10”であるため、アクセス可となる。一方、サーバD2やサーバDnは、しきい値である60%を下回るため、アクセス不可と判定される。なお、アクセス総数(アクセス成効率の分母)が所定数以下である場合、判定対象とするにはアクセス総数が少なすぎるため、判定対象外としてもよい。たとえば、この所定数を6とした場合、サーバDnは判定対象外とする。このアクセス判定の可否により、アクセス可否DB700は更新される。
【0045】
障害判定部805は、アクセス可否判定部804によって判定された判定結果に基づいて、各アクセス元とアクセス先とを接続させるネットワークに障害が発生したか否かを判定する機能を有する。具体的には、たとえば、端末SiとサーバDjとを接続させる上流ネットワーク103のキャリアに障害が発生したか否かを判定する。より具体的には、アクセス可否判定部804によってアクセス不可と判定されたアクセス先の数が所定数以上である場合、上流ネットワーク103内のキャリアに障害が発生したと判定する。
【0046】
障害判定には2つの手法がある。1つはアクセス不可となったアクセス先の数を計数する手法である。障害判定部805は、障害判定しきい値を持ち、アクセス不可となったアクセス先の数がこのしきい値以上となった場合には上流ネットワーク103での障害発生と判定する。複数のアクセス先での障害が同時に発生することは少ないためである。ここでしきい値は2以上の値を設定する。
【0047】
なお、2だけでなく任意の値を設定可能とする。これは、可能性は低いが同時に複数のサーバ障害が発生した際に、上流ネットワーク103障害と誤判定すること(過敏に判定してしまうこと)を避けるためである。このときのしきい値の設定内容はネットワーク管理者の判断による。アクセス先の傾向などによりその障害発生率は異なるため、柔軟に設定できる余地を残す。
【0048】
もう1つの判定手法は、アクセス全体におけるアクセス可のサーバDjの存在確率を用いて判定する方法である。この存在確率は、算出部806で算出される。算出部806は、アクセス先の総数とアクセス可と判定されたアクセス先の数とに基づいて、全アクセス先のうちアクセス可となるアクセス先の存在確率を算出する機能を有する。すなわち、存在確率は、アクセス可否DB700を参照し、サーバDjの総数n(アクセス可否判定部804で判定対象外とされたアクセス先は除く)を分母とし、アクセス可であるサーバDjの数を分子とした値である。
【0049】
この存在確率がそのしきい値以下であれば上流ネットワーク103での障害発生と判定する。逆にしきい値を上回っている場合には特定のサーバにて障害が発生していることになる。また、ここですべてのアクセス先がアクセス可でありアクセス可否率が100%であった場合には、上流ネットワーク103の障害も特定サーバ障害も発生していないことになる。アクセス可のサーバDjの数がある程度を超えるとサーバ障害が同時に複数箇所で発生している状況になることもあり得るため、上記一つめの判定手法では過敏に障害発生と判定してしまう可能性が出てくる。
【0050】
一方、すべてのサーバDjがアクセス不可となったときに障害発生という判定ルールにしてしまうと、上流ネットワーク103の障害または上流ネットワーク103との接続部分での障害しか判定できないことになり、サイレント障害の特徴である部分的に障害が発生している状況に対応できない。そこでこの存在確率による判定を用いる。このときのしきい値として設定する値はネットワーク管理者の判断による。たとえば、複数のサーバDjで障害が発生することは考えられるが、全体の40%以上で障害が発生することは考えにくい、という場合にはしきい値を40%に設定する。
【0051】
また、出力部807は、障害判定部805によって判定された判定結果を出力する機能を有する。具体的には、たとえば、ネットワーク管理装置112に出力する。出力される判定結果は、少なくとも上流ネットワーク103障害ありとする判定結果でよい。これにより、下流ネットワーク110をインターネット100に接続させるキャリアがキャリア101からキャリア102に切り替わる。
【0052】
(ネットワーク障害検出処理手順)
図9は、ネットワーク障害検出処理手順を示すフローチャートである。まず、取得部801により、リクエストパケット300が取得されるまで待ち受ける(ステップS901:No)。取得された場合(ステップS901:Yes)、アクセス成否判定部802により、アクセス成否判定処理を実行する(ステップS902)。そして、更新部803により更新処理を実行し(ステップS903)、更新後のアクセス成否DB600を参照することで、アクセス可否判定部804によりアクセス可否判定処理を実行する(ステップS904)。そして、障害判定部805により障害判定処理を実行し(ステップS905)、その判定結果を出力する。このあと、ステップS901に戻って、一連の処理(ステップS901〜ステップS905)を繰り返す。
【0053】
図10は、図9に示したアクセス成否判定処理の詳細な処理手順を示すフローチャートである。図10において、ステップS901で取得されたリクエストパケット300に対するレスポンスパケット400が取得されたか否かを判断する(ステップS1001)。取得されていない場合(ステップS1001:No)、所定時間経過したか否かを判断する(ステップS1002)。所定時間経過していない場合(ステップS1002:No)、ステップS1001に戻る。
【0054】
一方、所定時間経過した場合(ステップS1002:Yes)、アクセス成否情報500(アクセス成否フラグ:0)を生成する(ステップS1003)。そして、ステップS903に移行する。一方、ステップS1001において、レスポンスパケット400が取得された場合(ステップS1001:Yes)、アクセス成否情報500(アクセス成否フラグ:1)を生成する(ステップS1004)。そして、ステップS903に移行する。これにより、所定時間以内にリクエストパケット300とそのレスポンスパケット400をキャプチャした場合に、そのアクセス先となるサーバDjへのアクセスが成立したこととなる。
【0055】
図11は、図9に示した更新処理の詳細な処理手順を示すフローチャートである。図11において、アクセス成否情報500が生成されるのを待ち受け(ステップS1101:No)、アクセス成否情報500が生成された場合(ステップS1101:Yes)、そのアクセス先が新規であるか否かを判断する(ステップS1102)。具体的には、すでにアクセス成否DB600のエントリとして登録されているアクセス先と一致するか否かを判断する。
【0056】
新規(不一致)である場合(ステップS1102:Yes)、そのアクセス先を新規登録する(ステップS1103)。この場合、アクセス成否情報500のアクセス成否フラグ502が1であれば、アクセス成効率は“1/1”となり、アクセス成否情報500のアクセス成否フラグ502が0であれば、アクセス成効率は“0/1”となる。このあと、ステップS905に移行する。
【0057】
一方、アクセス先が新規でない(一致)場合(ステップS1102:No)、アクセス先のアクセス成効率を更新する(ステップS1104)。この場合、アクセス成否情報500のアクセス成否フラグ502が1であれば、アクセス成効率の分子および分母ともに1加算され、アクセス成否情報500のアクセス成否フラグ502が0であれば、アクセス成効率の分母のみ1加算される。このあと、ステップS904に移行する。
【0058】
図12は、図9に示したアクセス可否判定処理の詳細な処理手順を示すフローチャートである。図12において、アクセス成効率が更新されたアクセス総数(アクセス成効率の分母)が所定数以下であるか否かを判断する(ステップS1201)。所定数以下である場合(ステップS1201:Yes)、アクセス総数が少なすぎるため、ステップS905に移行する。
【0059】
一方、アクセス総数が所定数以下でない場合(ステップS1201:No)、更新後のアクセス成効率がしきい値以上であるか否かを判断する(ステップS1202)。しきい値以上でない場合(ステップS1202:No)、ステップS905に移行する。一方、しきい値以上である場合(ステップS1202:Yes)、アクセス可否DB700のアクセス可否情報を“不可”から“可”に更新し(ステップS1203)、ステップS905に移行する。
【0060】
図13は、図9に示した障害判定処理の詳細な処理手順を示すフローチャートである。図13は、アクセス不可のアクセス先の数により上流ネットワーク103の障害判定をおこなう例である。まず、アクセス可否DB700を参照して、アクセス不可であるアクセス先の数を計数する(ステップS1301)。つぎに、その計数値が所定数以上であるか否かを判断する(ステップS1302)。所定数以上でない場合(ステップS1302:No)、ステップS906に移行する。一方、所定数以上である場合(ステップS1302:Yes)、上流ネットワーク103の障害発生との判定結果をネットワーク管理装置112に出力する(ステップS1303)。
【0061】
図14は、図9に示した障害判定処理の詳細な処理手順を示すフローチャートである。図14は、アクセス可の存在確率により上流ネットワーク103の障害判定をおこなう例である。まず、アクセス可否DB700を参照して、算出部806により、アクセス可であるアクセス先の存在確率を算出する(ステップS1401)。
【0062】
つぎに、その存在確率がしきい値以下であるか否かを判断する(ステップS1402)。しきい値以下でない場合(ステップS1402:No)、ステップS906に移行する。一方、しきい値以下である場合(ステップS1402:Yes)、上流ネットワーク103の障害発生との判定結果をネットワーク管理装置112に出力する(ステップS1403)。
【0063】
このように、本実施の形態によれば、サイレント障害を自動検出することで、上流ネットワーク103障害とサーバ障害とを切り分けることができる。これにより、ある下流ネットワーク110において、上流ネットワーク103に障害が発生したときにそれを検知し、上流経路をキャリア101からバックアップ回線であるキャリア102に素早く切り替えるというニーズにこたえることができる。したがって、障害に応じた復旧対策を円滑におこなうことができる。
【0064】
なお、上述した実施の形態では、アクセス成否DB600のエントリにはアクセス先のアクセス成効率を記憶する構成としたが、アクセス成効率をサマリとして記憶するとともに、アクセス成否情報500をアクセス先ごとに関連付けて保持しておくこととしてもよい。
【0065】
図15は、アクセス成否DB600の他の例を示す説明図である。図15において、アクセス先のエントリには、アクセス先ごとに生成されたアクセス成否情報500が保持されている。アクセス成否情報500にはタイムスタンプがあり、時系列順に書き込まれている。図15に示した例では、手前側にあるアクセス成否情報500ほど過去の情報であり、最も奥に位置するアクセス成否情報500が最新の情報を意味している。
【0066】
このアクセス成否情報500は、所定時間(図10のステップS1002とは異なる。)が経過すると、古いアクセス成否情報500から削除される。削除の手法としては、所定時間以前に書き込まれたアクセス成否情報500を削除してもよく、最も古いアクセス成否情報500を削除することとしてもよい。
【0067】
図16は、ネットワーク障害検出装置111の他の機能的構成を示すブロック図である。図16において、図8に示した構成と同一構成には同一符号を付し、その説明を省略する。図16において、検出部1600は、所定時間の経過を検出する機能を有する。すなわち、タイマとして機能する。所定時間の経過が検出されると、更新部803は、その所定時間前の時点以前における各サーバDjのアクセス総数およびアクセス成立回数を消去する。
【0068】
たとえば、図15において、(A)の状態から所定時間前の時点以前におけるアクセス成否情報500を削除する。そして、残されたアクセス成否情報500でアクセス成効率を計算すると、(B)の状態となる。なお、このアクセス成否情報500の削除により、アクセス成否情報500の保持数が0となった場合、そのアクセス先のエントリは削除され、アクセス先の総数が減少する。
【0069】
図17は、タイムアウト処理手順を示すフローチャートである。図17において、検出部1600により所定時間が経過するまで待ち受ける(ステップS1701:No)、所定時間が経過した場合(ステップS1701:Yes)、該当するアクセス成否情報500を削除する(ステップS1702)。そして、ステップS1701に戻る。
【0070】
図18は、更新処理の他の詳細な処理手順を示すフローチャートである。図18において、まず、アクセス成否情報500が生成されていない場合(ステップS1801:No)、図17に示したタイムアウト処理があったか否かを判断する(ステップS1802)。タイムアウト処理がない場合(ステップS1802:No)、ステップS1801に戻る。一方、タイムアウト処理があった場合(ステップS1802:Yes)、アクセス先のアクセス成効率を更新する(ステップS1803)。このあと、ステップS904に移行する。
【0071】
一方、ステップS1801において、アクセス成否情報500が生成された場合(ステップS1801:Yes)、そのアクセス先が新規であるか否かを判断する(ステップS1804)。具体的には、すでにアクセス成否DB600のエントリとして登録されているアクセス先と一致するか否かを判断する。
【0072】
新規(不一致)である場合(ステップS1804:Yes)、そのアクセス先を新規登録する(ステップS1805)。この場合、アクセス成否情報500のアクセス成否フラグ502が1であれば、アクセス成効率は“1/1”となり、アクセス成否情報500のアクセス成否フラグ502が0であれば、アクセス成効率は“0/1”となる。このあと、ステップS905に移行する。
【0073】
一方、アクセス先が新規でない(一致)場合(ステップS1804:No)、アクセス先のアクセス成効率を更新する(ステップS1806)。この場合、アクセス成否情報500のアクセス成否フラグ502が1であれば、アクセス成効率の分子および分母ともに1加算され、アクセス成否情報500のアクセス成否フラグ502が0であれば、アクセス成効率の分母のみ1加算される。このあと、ステップS1904に移行する。
【0074】
図19は、アクセス可否判定処理の他の詳細な処理手順を示すフローチャートである。図19において、ステップS1803においてアクセス成効率が更新されたアクセス総数(アクセス成効率の分母)が所定数以下であるか否かを判断する(ステップS1901)。所定数以下である場合(ステップS1901:Yes)、アクセス総数が少なすぎるため、ステップS905に移行する。
【0075】
一方、所定数以下でない場合(ステップS1901:No)、更新後のアクセス成功率がしきい値以上であるか否かを判断する(ステップS1902)。しきい値以上でない場合(ステップS1902:No)、ステップS905に移行する。一方、しきい値以上である場合(ステップS1902:Yes)、アクセス可否DB700のアクセス可否情報を“不可”から“可”に更新し(ステップS1903)、ステップS905に移行する。
【0076】
また、ステップS1806においてアクセス成効率が更新された場合、アクセス成効率が更新されたアクセス総数(アクセス成効率の分母)が所定数以下であるか否かを判断する(ステップS1904)。所定数以下である場合(ステップS1904:Yes)、アクセス総数が少なすぎるため、ステップS905に移行する。
【0077】
一方、アクセス総数が所定数以下でない場合(ステップS1904:No)、更新後のアクセス成効率がしきい値以上であるか否かを判断する(ステップS1905)。しきい値以上でない場合(ステップS1905:No)、ステップS905に移行する。一方、しきい値以上である場合(ステップS1905:Yes)、アクセス可否DB700のアクセス可否情報を“不可”から“可”に更新する(ステップS1906)。そして、このときのアクセス成否情報500を、アクセス成否DB600におけるそのアクセス先のエントリに追加して(ステップS1907)、ステップS905に移行する。
【0078】
このように、タイムアウト処理を利用することで、アクセス成否情報500が蓄積され続けることで障害検出の精度低下を防ぐことができ、より実効性の高い障害検出をおこなうことができる。
【0079】
以上説明したように、本実施の形態によれば、アクセス先となるサーバの障害と上流ネットワーク103の障害とを自動的に切り分けることにより、障害に応じた復旧対策を円滑におこなうことができるという効果を奏する。
【0080】
なお、本実施の形態で説明したネットワーク障害検出方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット100等のネットワークを介して配布することが可能な媒体であってもよい。
【0081】
また、本実施の形態で説明したネットワーク障害検出装置111は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述したネットワーク障害検出装置111の機能801〜807をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、ネットワーク障害検出装置111を製造することができる。
【産業上の利用可能性】
【0082】
以上のように、ネットワーク障害検出プログラム、ネットワーク障害検出装置、およびネットワーク障害検出方法は、情報をパケットに格納して転送するパケットネットワークに有用である。
【図面の簡単な説明】
【0083】
【図1】実施の形態にかかるネットワーク障害検出システムのシステム構成を示す説明図である。
【図2】実施の形態にかかるコンピュータのハードウェア構成を示す説明図である。
【図3】リクエストパケットのデータ構造を示す説明図である。
【図4】レスポンスパケットのデータ構造を示す説明図である。
【図5】アクセス成否情報のデータ構造を示す説明図である。
【図6】アクセス成否DBの記憶内容を示す説明図である。
【図7】アクセス可否DBの記憶内容を示す説明図である。
【図8】ネットワーク障害検出装置の機能的構成を示すブロック図である。
【図9】ネットワーク障害検出処理手順を示すフローチャートである。
【図10】図9に示したアクセス成否判定処理の詳細な処理手順を示すフローチャートである。
【図11】図9に示した更新処理の詳細な処理手順を示すフローチャートである。
【図12】図9に示したアクセス可否判定処理の詳細な処理手順を示すフローチャートである。
【図13】図9に示した障害判定処理の詳細な処理手順を示すフローチャートである。
【図14】図9に示した障害判定処理の詳細な処理手順を示すフローチャートである。
【図15】アクセス成否DBの他の例を示す説明図である。
【図16】ネットワーク障害検出装置の他の機能的構成を示すブロック図である。
【図17】タイムアウト処理手順を示すフローチャートである。
【図18】更新処理の他の詳細な処理手順を示すフローチャートである。
【図19】アクセス可否判定処理の他の詳細な処理手順を示すフローチャートである。
【符号の説明】
【0084】
100 インターネット
101,102 キャリア
103 上流ネットワーク
110 下流ネットワーク
111 ネットワーク障害検出装置
112 ネットワーク管理装置
300 リクエストパケット
400 レスポンスパケット
500 アクセス成否情報
502 アクセス成否フラグ
600 アクセス成否DB
700 アクセス可否DB
801 取得部
802 アクセス成否判定部
803 更新部
804 アクセス可否判定部
805 障害判定部
806 算出部
807 出力部
1600 検出部
Dj サーバ
Si 端末

【特許請求の範囲】
【請求項1】
コンピュータを、
各アクセス元からそれぞれのアクセス先へのリクエストパケットと当該リクエストパケットに対するレスポンスパケットとを取得する取得手段、
前記取得手段による取得結果に基づいて、前記アクセス先へのアクセス成否を判定するアクセス成否判定手段、
現在までの前記各アクセス先のアクセス総数およびアクセス成立回数を、前記アクセス成否判定手段によって判定されたアクセス成否に基づいて更新する更新手段、
前記更新手段によって更新された場合、当該更新後における前記各アクセス先のアクセス総数およびアクセス成立回数に基づいて、前記アクセス先へのアクセス可否を判定するアクセス可否判定手段、
前記アクセス可否判定手段によって判定された判定結果に基づいて、前記各アクセス元と前記アクセス先とを接続させるネットワークに障害が発生したか否かを判定する障害判定手段、
前記障害判定手段によって判定された判定結果を出力する出力手段、
として機能させることを特徴とするネットワーク障害検出プログラム。
【請求項2】
前記障害判定手段は、
前記アクセス可否判定手段によって前記アクセス不可と判定されたアクセス先の数が所定数以上である場合、前記ネットワークに障害が発生したと判定することを特徴とする請求項1に記載のネットワーク障害検出プログラム。
【請求項3】
前記コンピュータを、
前記アクセス先の総数と前記アクセス可と判定されたアクセス先の数とに基づいて、前記全アクセス先のうちアクセス可となるアクセス先の存在確率を算出する算出手段として機能させ、
前記障害判定手段は、
前記算出手段によって算出された存在確率が所定確率以下である場合、前記ネットワークに障害が発生したと判定することを特徴とする請求項1に記載のネットワーク障害検出プログラム。
【請求項4】
前記コンピュータを、
所定時間の経過を検出する検出手段として機能させ、
前記更新手段は、
前記検出手段によって検出された場合、前記所定時間前の時点以前における前記各アクセス先のアクセス総数およびアクセス成立回数を消去することにより、現在までの前記各アクセス先のアクセス総数およびアクセス成立回数を更新することを特徴とする請求項1〜3のいずれか一つに記載のネットワーク障害検出プログラム。
【請求項5】
各アクセス元からそれぞれのアクセス先へのリクエストパケットと当該リクエストパケットに対するレスポンスパケットとを取得する取得手段と、
前記取得手段による取得結果に基づいて、前記アクセス先へのアクセス成否を判定するアクセス成否判定手段と、
現在までの前記各アクセス先のアクセス総数およびアクセス成立回数を、前記アクセス成否判定手段によって判定されたアクセス成否に基づいて更新する更新手段と、
前記更新手段によって更新された場合、当該更新後における前記各アクセス先のアクセス総数およびアクセス成立回数に基づいて、前記アクセス先へのアクセス可否を判定するアクセス可否判定手段と、
前記アクセス可否判定手段によって判定された判定結果に基づいて、前記各アクセス元と前記アクセス先とを接続させるネットワークに障害が発生したか否かを判定する障害判定手段と、
前記障害判定手段によって判定された判定結果を出力する出力手段と、
を備えることを特徴とするネットワーク障害検出装置。
【請求項6】
各アクセス元からそれぞれのアクセス先へのリクエストパケットと当該リクエストパケットに対するレスポンスパケットとを取得する取得工程と、
前記取得工程による取得結果に基づいて、前記アクセス先へのアクセス成否を判定するアクセス成否判定工程と、
現在までの前記各アクセス先のアクセス総数およびアクセス成立回数を、前記アクセス成否判定工程によって判定されたアクセス成否に基づいて更新する更新工程と、
前記更新工程によって更新された場合、当該更新後における前記各アクセス先のアクセス総数およびアクセス成立回数に基づいて、前記アクセス先へのアクセス可否を判定するアクセス可否判定工程と、
前記アクセス可否判定工程によって判定された判定結果に基づいて、前記各アクセス元と前記アクセス先とを接続させるネットワークに障害が発生したか否かを判定する障害判定工程と、
前記障害判定工程によって判定された判定結果を出力する出力工程と、
を含んだことを特徴とするネットワーク障害検出方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2009−171009(P2009−171009A)
【公開日】平成21年7月30日(2009.7.30)
【国際特許分類】
【出願番号】特願2008−4200(P2008−4200)
【出願日】平成20年1月11日(2008.1.11)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】