(57)【特許請求の範囲】
【請求項１】
複数の通信経路と接続され、該複数の通信経路のうち１つの通信経路を選択して通信を行う通信装置であって、
前記複数の通信経路のうち、第１の通信経路の状態を確認するための経路確認要求信号を送信し、該送信した経路確認要求信号に対する応答信号を受信する経路状態確認部と、
前記経路状態確認部が、前記経路確認要求信号を送信してから該経路確認要求信号に対する前記応答信号を受信するまでの応答時間を計測するタイマーと、
前記経路状態確認部が、前記経路確認要求信号に対して前記応答信号を受信した連続回数をカウントする正常カウンタと、
前記経路状態確認部が、前記経路確認要求信号に対して前記応答信号を受信しなかった連続回数をカウントする異常カウンタと、
前記経路状態確認部が前記経路確認要求信号に対して前記応答信号を受信した後、前記経路確認要求信号に対して前記応答信号を受信しなかった場合、前記異常カウンタの初期値を算出するための補正値と前記正常カウンタの値とに基づいて前記初期値を算出し、前記異常カウンタの値を前記算出した初期値からカウントし、該カウントした異常カウンタの値があらかじめ設定された切り替え閾値以上となった場合、前記通信経路を前記第１の通信経路から該第１の通信経路以外の第２の通信経路へ切り替える指示を行い、前記経路状態確認部が前記経路確認要求信号に対して前記応答信号を受信しなかった後、前記経路確認要求信号に対して前記応答信号を受信した場合、前記タイマーが計測した応答時間に基づいて算出した平均応答時間と前記応答時間のうち最小となる最小応答時間とに基づいて、応答閾値を算出し、前記補正値を、前記応答閾値と前記タイマーが計測した応答時間と現在の補正値と現在の前記異常カウンタの値とに基づいて算出し、前記正常カウンタの値が該算出した補正値とあらかじめ設定された切り戻し閾値とを加算した値以上となった場合、前記通信経路を前記第２の通信経路から前記第１の通信経路へ切り戻す指示を行う状態算出部と、
前記状態算出部からの指示に基づいて、前記通信経路として前記第１の通信経路と前記第２の通信経路とのどちらか一方を選択する経路選択部とを有する通信装置。
【請求項２】
請求項１に記載の通信装置において、
前記状態算出部は、現在の前記平均応答時間と前記応答時間とを加算した値を２で除算した値を平均応答時間として算出し、該算出した平均応答時間を２で乗算した値から前記最小応答時間を減算した値を前記応答閾値として算出することを特徴とする通信装置。
【請求項３】
請求項１または請求項２に記載の通信装置において、
前記状態算出部は、前記異常カウンタの値が前記切り替え閾値以上である場合、０を前記異常カウンタの初期値を算出するための補正値とし、前記応答時間が前記応答閾値よりも短く、且つ前記補正値が０よりも大きな値であり、且つ前記異常カウンタの値が０よりも大きく前記切り替え閾値未満である場合、該補正値から１を減算し、該１を減算した補正値と前記異常カウンタの値とを加算した値を２で除算した値を前記異常カウンタの初期値を算出するための補正値とすることを特徴とする通信装置。
【請求項４】
請求項１から３のいずれか１項に記載の通信装置において、
前記状態算出部は、前記補正値を算出した後、前記異常カウンタの値をリセットすることを特徴とする通信装置。
【請求項５】
請求項１から４のいずれか１項に記載の通信装置において、
前記状態算出部は、前記補正値と１とを加算した値から前記正常カウンタの値を差し引いた値を前記初期値として算出し、該初期値を算出した後、前記正常カウンタの値をリセットすることを特徴とする通信装置。
【請求項６】
複数の通信経路と接続された通信装置が通信を行う通信経路を前記複数の通信経路のうちから選択する経路選択方法であって、
前記複数の通信経路のうち、第１の通信経路の状態を確認するための経路確認要求信号を送信する処理と、
前記送信した経路確認要求信号に対する応答信号を受信したかどうかを確認する処理と、
前記経路確認要求信号を送信してから該経路確認要求信号に対する前記応答信号を受信するまでの応答時間を計測する処理と、
前記経路確認要求信号に対して前記応答信号を受信した後、前記経路確認要求信号に対して前記応答信号を受信しなかった場合、前記経路確認要求信号に対して前記応答信号を受信しなかった連続回数である第１の回数をカウントする際の初期値を算出するための補正値と、前記経路確認要求信号に対して前記応答信号を受信した連続回数である第２の回数とに基づいて前記初期値を算出する処理と、
前記第１の回数を前記算出した初期値からカウントする処理と、
前記カウントした第１の回数とあらかじめ設定された切り替え閾値とを比較する処理と、
前記カウントした第１の回数が前記切り替え閾値以上となった場合、前記通信経路を前記第１の通信経路から該第１の通信経路以外の第２の通信経路へ切り替える処理と
前記経路確認要求信号に対して前記応答信号を受信しなかった後、前記経路確認要求信号に対して前記応答信号を受信した場合、前記計測した応答時間に基づいて算出した平均応答時間と前記応答時間のうち最小となる最小応答時間とに基づいて、応答閾値を算出する処理と、
前記応答閾値を算出した後、前記補正値を、前記応答閾値と前記計測した応答時間と現在の補正値と現在の第１の回数とに基づいて算出する処理と、
該算出した補正値とあらかじめ設定された切り戻し閾値とを加算した値と、前記第２の回数とを比較する処理と、
前記第２の回数が該算出した補正値と前記切り戻し閾値とを加算した値以上となった場合、前記通信経路を前記第２の通信経路から前記第１の通信経路へ切り戻す処理とを行う経路選択方法。
【請求項７】
複数の通信経路と接続され、該複数の通信経路のうち１つの通信経路を選択して通信を行う通信装置に、
前記複数の通信経路のうち、第１の通信経路の状態を確認するための経路確認要求信号を送信する手順と、
前記送信した経路確認要求信号に対する応答信号を受信したかどうかを確認する手順と、
前記経路確認要求信号を送信してから該経路確認要求信号に対する前記応答信号を受信するまでの応答時間を計測する手順と、
前記経路確認要求信号に対して前記応答信号を受信した後、前記経路確認要求信号に対して前記応答信号を受信しなかった場合、前記経路確認要求信号に対して前記応答信号を受信しなかった連続回数である第１の回数をカウントする際の初期値を算出するための補正値と、前記経路確認要求信号に対して前記応答信号を受信した連続回数である第２の回数とに基づいて前記初期値を算出する手順と、
前記第１の回数を前記算出した初期値からカウントする手順と、
前記カウントした第１の回数とあらかじめ設定された切り替え閾値とを比較する手順と、
前記カウントした第１の回数が前記切り替え閾値以上となった場合、前記通信経路を前記第１の通信経路から該第１の通信経路以外の第２の通信経路へ切り替える手順と
前記経路確認要求信号に対して前記応答信号を受信しなかった後、前記経路確認要求信号に対して前記応答信号を受信した場合、前記計測した応答時間に基づいて算出した平均応答時間と前記応答時間のうち最小となる最小応答時間とに基づいて、応答閾値を算出する手順と、
前記応答閾値を算出した後、前記補正値を、前記応答閾値と前記計測した応答時間と現在の補正値と現在の第１の回数とに基づいて算出する手順と、
該算出した補正値とあらかじめ設定された切り戻し閾値とを加算した値と、前記第２の回数とを比較する手順と、
前記第２の回数が該算出した補正値と前記切り戻し閾値とを加算した値以上となった場合、前記通信経路を前記第２の通信経路から前記第１の通信経路へ切り戻す手順とを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信経路から１つの通信経路を選択する通信装置、経路選択方法及びプログラムに関する。
【背景技術】
【０００２】
一般的にネットワークに適用されている通信装置は、当該通信装置に接続された複数の通信装置間にて送受信されるデータが通過する通信経路（ネットワーク）を選択する機能を有している。選択される通信経路は、当該通信経路の状態に基づいて選択される。例えば、現在選択されている通信経路に障害が発生したと判断された際や、通信品質が低下したと判断された際、他の通信経路が選択され、当該データが通過する通信経路が現在選択されている通信経路から他の通信経路へ切り替えられる。
【０００３】
このような通信経路における障害発生を判断する手段として、例えば、ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）パケット等の、経路の状態を確認するための確認メッセージ及びそれに対する返信メッセージが用いられている。確認メッセージを送信し、当該確認メッセージに対する返信メッセージを受信しない場合には、通信経路に障害が発生したと判断される。
【０００４】
また、送信した確認メッセージに対する返信メッセージを受信しない場合、即座に通信経路を切り替えるのではなく、所定の保護段数（回数の閾値）を用いるものが一般的である。
【０００５】
ここで、この閾値が小さな値であると、メインとなる通信経路（メイン経路）が断続的に品質低下した場合などに、メイン経路と迂回経路との切り替えおよび切り戻しの繰り返しが頻繁に行われてしまうおそれがある。一方、この閾値が大きな値であると、メイン経路が突発的な異常から復旧した場合に、迂回経路からの切り戻しに時間がかかってしまうおそれがある。
【０００６】
そこで、メイン経路の品質が十分に回復していることを、確認メッセージを送信してから返信メッセージを受信するまでの応答時間に基づいて判別し、品質低下の状態を示すマージン値を減らしていくことで、切り戻しの遅れを減少させる技術が考えられている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−１６９９１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した技術においては、判別する際に、応答時間と比較する応答閾値をあらかじめ設定する必要があり、その手間がかかってしまうという問題点がある。なお、この応答閾値は、メイン経路の種別等の条件を考慮する必要がある。
【０００９】
本発明の目的は、上述した課題を解決する通信装置、経路選択方法及びプログラムを提供することである。
【課題を解決するための手段】
【００１０】
本発明の通信装置は、
複数の通信経路と接続され、該複数の通信経路のうち１つの通信経路を選択して通信を行う通信装置であって、
前記複数の通信経路のうち、第１の通信経路の状態を確認するための経路確認要求信号を送信し、該送信した経路確認要求信号に対する応答信号を受信する経路状態確認部と、
前記経路状態確認部が、前記経路確認要求信号を送信してから該経路確認要求信号に対する前記応答信号を受信するまでの応答時間を計測するタイマーと、
前記経路状態確認部が、前記経路確認要求信号に対して前記応答信号を受信した連続回数をカウントする正常カウンタと、
前記経路状態確認部が、前記経路確認要求信号に対して前記応答信号を受信しなかった連続回数をカウントする異常カウンタと、
前記経路状態確認部が前記経路確認要求信号に対して前記応答信号を受信した後、前記経路確認要求信号に対して前記応答信号を受信しなかった場合、前記異常カウンタの初期値を算出するための補正値と前記正常カウンタの値とに基づいて前記初期値を算出し、前記異常カウンタの値を前記算出した初期値からカウントし、該カウントした異常カウンタの値があらかじめ設定された切り替え閾値以上となった場合、前記通信経路を前記第１の通信経路から該第１の通信経路以外の第２の通信経路へ切り替える指示を行い、前記経路状態確認部が前記経路確認要求信号に対して前記応答信号を受信しなかった後、前記経路確認要求信号に対して前記応答信号を受信した場合、前記タイマーが計測した応答時間に基づいて算出した平均応答時間と前記応答時間のうち最小となる最小応答時間とに基づいて、応答閾値を算出し、前記補正値を、前記応答閾値と前記タイマーが計測した応答時間と現在の補正値と現在の前記異常カウンタの値とに基づいて算出し、前記正常カウンタの値が該算出した補正値とあらかじめ設定された切り戻し閾値とを加算した値以上となった場合、前記通信経路を前記第２の通信経路から前記第１の通信経路へ切り戻す指示を行う状態算出部と、
前記状態算出部からの指示に基づいて、前記通信経路として前記第１の通信経路と前記第２の通信経路とのどちらか一方を選択する経路選択部とを有する。
【００１１】
また、本発明の経路選択方法は、
複数の通信経路と接続された通信装置が通信を行う通信経路を前記複数の通信経路のうちから選択する経路選択方法であって、
前記複数の通信経路のうち、第１の通信経路の状態を確認するための経路確認要求信号を送信する処理と、
前記送信した経路確認要求信号に対する応答信号を受信したかどうかを確認する処理と、
前記経路確認要求信号を送信してから該経路確認要求信号に対する前記応答信号を受信するまでの応答時間を計測する処理と、
前記経路確認要求信号に対して前記応答信号を受信した後、前記経路確認要求信号に対して前記応答信号を受信しなかった場合、前記経路確認要求信号に対して前記応答信号を受信しなかった連続回数である第１の回数をカウントする際の初期値を算出するための補正値と、前記経路確認要求信号に対して前記応答信号を受信した連続回数である第２の回数とに基づいて前記初期値を算出する処理と、
前記第１の回数を前記算出した初期値からカウントする処理と、
前記カウントした第１の回数とあらかじめ設定された切り替え閾値とを比較する処理と、
前記カウントした第１の回数が前記切り替え閾値以上となった場合、前記通信経路を前記第１の通信経路から該第１の通信経路以外の第２の通信経路へ切り替える処理と
前記経路確認要求信号に対して前記応答信号を受信しなかった後、前記経路確認要求信号に対して前記応答信号を受信した場合、前記計測した応答時間に基づいて算出した平均応答時間と前記応答時間のうち最小となる最小応答時間とに基づいて、応答閾値を算出する処理と、
前記応答閾値を算出した後、前記補正値を、前記応答閾値と前記計測した応答時間と現在の補正値と現在の第１の回数とに基づいて算出する処理と、
該算出した補正値とあらかじめ設定された切り戻し閾値とを加算した値と、前記第２の回数とを比較する処理と、
前記第２の回数が該算出した補正値と前記切り戻し閾値とを加算した値以上となった場合、前記通信経路を前記第２の通信経路から前記第１の通信経路へ切り戻す処理とを行う。
【００１２】
また、本発明のプログラムは、
複数の通信経路と接続され、該複数の通信経路のうち１つの通信経路を選択して通信を行う通信装置に実行させるためのプログラムであって、
前記複数の通信経路のうち、第１の通信経路の状態を確認するための経路確認要求信号を送信する手順と、
前記送信した経路確認要求信号に対する応答信号を受信したかどうかを確認する手順と、
前記経路確認要求信号を送信してから該経路確認要求信号に対する前記応答信号を受信するまでの応答時間を計測する手順と、
前記経路確認要求信号に対して前記応答信号を受信した後、前記経路確認要求信号に対して前記応答信号を受信しなかった場合、前記経路確認要求信号に対して前記応答信号を受信しなかった連続回数である第１の回数をカウントする際の初期値を算出するための補正値と、前記経路確認要求信号に対して前記応答信号を受信した連続回数である第２の回数とに基づいて前記初期値を算出する手順と、
前記第１の回数を前記算出した初期値からカウントする手順と、
前記カウントした第１の回数とあらかじめ設定された切り替え閾値とを比較する手順と、
前記カウントした第１の回数が前記切り替え閾値以上となった場合、前記通信経路を前記第１の通信経路から該第１の通信経路以外の第２の通信経路へ切り替える手順と
前記経路確認要求信号に対して前記応答信号を受信しなかった後、前記経路確認要求信号に対して前記応答信号を受信した場合、前記計測した応答時間に基づいて算出した平均応答時間と前記応答時間のうち最小となる最小応答時間とに基づいて、応答閾値を算出する手順と、
前記応答閾値を算出した後、前記補正値を、前記応答閾値と前記計測した応答時間と現在の補正値と現在の第１の回数とに基づいて算出する手順と、
該算出した補正値とあらかじめ設定された切り戻し閾値とを加算した値と、前記第２の回数とを比較する手順と、
前記第２の回数が該算出した補正値と前記切り戻し閾値とを加算した値以上となった場合、前記通信経路を前記第２の通信経路から前記第１の通信経路へ切り戻す手順とを実行させる。
【発明の効果】
【００１３】
以上説明したように本発明においては、通信経路の切り戻しの判別を容易に行うことができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の通信装置の実施の一形態を示す図である。
【図２】図１に示した形態において、経路確認要求信号に対する応答信号が受信されなかった場合の経路選択方法を説明するためのフローチャートである。
【図３】図１に示した形態において、経路確認要求信号に対する応答信号が受信された場合の経路選択方法を説明するためのフローチャートである。
【図４】ステップＳ３１の処理の詳細を説明するためのフローチャートである。
【図５】ステップＳ３２の処理の詳細を説明するためのフローチャートである。
【発明を実施するための形態】
【００１５】
以下に、本発明の実施の形態について図面を参照して説明する。
【００１６】
図１は、本発明の通信装置の実施の一形態を示す図である。
【００１７】
本形態は図１に示すように、通信装置１−１，１−２と、メイン経路２と、迂回経路３と、通信端末４−１，４−２とから構成されている。なお、図１に示した形態においては、通信経路が２つである場合を例に挙げて示したが、３つ以上の複数であっても良い。
【００１８】
通信装置１−１，１−２は、通信端末４−１と通信端末４−２との間において送受信されるＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケット等のデータが通過する通信経路を選択する。
【００１９】
メイン経路２は、通信装置１−１と通信装置１−２とを接続し、通信端末４−１と通信端末４−２との間において送受信されるデータが通過する通常設定される第１の通信経路である。
【００２０】
迂回経路３は、通信装置１−１と通信装置１−２とを接続し、通信端末４−１と通信端末４−２との間において送受信されるデータが通過する通信経路の１つである。また、迂回経路３は、メイン経路２に障害が発生した場合に選択される第２の通信経路である。
【００２１】
通信端末４−１，４−２は、通信装置１−１，１−２のそれぞれ接続された通信装置である。
【００２２】
さらに、通信装置１−１には、経路状態確認部１１と、状態算出部１２と、経路選択部１３と、正常カウンタ１４と、異常カウンタ１５と、タイマー１６とが設けられている。
【００２３】
経路状態確認部１１は、メイン経路２の状態を確認する。具体的には、経路状態確認部１１は、メイン経路２を介して通信装置１−２へ経路確認要求信号を送信し、送信した経路確認要求信号に対する応答信号が受信されるかどうかに基づいて、メイン経路２に障害が発生しているかどうかを確認する。本形態においては、この経路確認要求信号として、ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）のＩＣＭＰ  ＥＣＨＯ＿ＲＥＱＵＥＳＴを用いて、応答信号としてＩＣＭＰ  ＥＣＨＯ＿ＲＥＰＬＹを用いるものを例に挙げて説明する。
【００２４】
状態算出部１２は、経路状態確認部１１にて確認されたメイン経路２の状態に基づいて、通信経路の切り替え／切り戻しを判断し、判断した結果を経路選択部１３へ指示する。ここで、通信経路の切り替えとは、通信経路をメイン経路２から迂回経路３へ変更することを示す。また、通信経路の切り戻しとは、通信経路を迂回経路３からメイン経路２へ変更することを示す。
【００２５】
また、状態算出部１２は、経路状態確認部１１が送信した経路確認要求信号に対して応答信号を受信した後、経路確認要求信号に対して応答信号を受信しなかった場合、異常カウンタ１５の初期値を算出するための補正値（マージン値）と正常カウンタ１４の値とに基づいて当該初期値を算出する。この算出方法の詳細については、後述する。また、状態算出部１２は、初期値の算出後、異常カウンタ１５に対して、この算出した初期値からカウントさせる。また、状態算出部１２は、異常カウンタ１５がカウントした値とあらかじめ設定された切り替え閾値とを比較する。また、状態算出部１２は、異常カウンタ１５がカウントした値が切り替え閾値以上となった場合、経路選択部１３に対して、通信経路をメイン経路２から迂回経路３へ切り替える指示を行う。
【００２６】
また、状態算出部１２は、経路状態確認部１１が送信した経路確認要求信号に対して応答信号を受信しなかった後、経路確認要求信号に対して応答信号を受信した場合、タイマー１６が測定した応答時間に基づいて、平均応答時間を算出する。具体的には、状態算出部１２は、現在の平均応答時間とタイマー１６が計測した応答時間とを加算した値を２で除算した値を新たな平均応答時間として算出する。また、状態算出部１２は、算出した平均応答時間と、応答時間のうち最小となる最小応答時間とに基づいて、応答閾値を算出する。具体的には、算出した平均応答時間を２で乗算した値から最小応答時間を減算した値を応答閾値として算出する。また、状態算出部１２は、応答閾値を算出した後、上述した補正値（マージン値）を、算出した応答閾値とタイマー１６が計測した応答時間と現在の補正値と現在の異常カウンタ１５の値とに基づいて算出する。また、状態算出部１２は、算出した補正値とあらかじめ設定された切り戻し閾値とを加算した値と、正常カウンタ１４の値とを比較する。また、状態算出部１２は、正常カウンタ１４の値が、算出した補正値と切り戻し閾値とを加算した値以上となった場合、通信経路を迂回経路３からメイン経路２へ切り戻す指示を行う。
【００２７】
また、状態算出部１２は、異常カウンタ１５の値が切り替え閾値以上である場合、「０」を異常カウンタ１５の初期値を算出するための補正値とする。
【００２８】
また、状態算出部１２は、タイマー１６が計測した応答時間が応答閾値よりも短く、且つ補正値が「０」よりも大きな値であり、且つ異常カウンタ１５の値が「０」よりも大きく切り替え閾値未満である場合、その補正値から１を減算する。そして、状態算出部１２は、１を減算した補正値と異常カウンタ１５の値とを加算した値を２で除算した値を異常カウンタ１５の初期値を算出するための補正値とする。
【００２９】
また、状態算出部１２は、補正値を算出した後、異常カウンタ１５の値をリセットする。
【００３０】
また、状態算出部１２は、補正値と１とを加算した値から正常カウンタ１４の値を差し引いた値を初期値として算出し、その初期値を算出した後、正常カウンタ１４の値をリセットする。
【００３１】
経路選択部１３は、状態算出部１２からの指示に基づいて、通信経路として、メイン経路２と迂回経路３とのどちらか一方を選択する。つまり、経路選択部１３は、状態算出部１２からの指示に基づいて、通信経路の切り替え（メイン経路２から迂回経路３へ）／切り戻し（迂回経路３からメイン経路２へ）を行う。
【００３２】
正常カウンタ１４は、経路状態確認部１１が送信した経路確認要求信号に対する応答信号を受信した連続回数（第２の回数）をカウントする。つまり、経路状態確認部１１が送信した経路確認要求信号に対する応答信号を受信しない状態の後、経路状態確認部１１が送信した経路確認要求信号に対する応答信号を受信した場合、次に経路確認要求信号に対する応答信号を受信しなくなるまでの間に、経路状態確認部１１が送信した経路確認要求信号に対する応答信号の受信回数をカウントする。また、正常カウンタ１４は、カウントした回数であるカウント値を状態算出部１２へ通知する。
【００３３】
異常カウンタ１５は、経路状態確認部１１が送信した経路確認要求信号に対する応答信号を受信しなかった連続回数（第１の回数）をカウントする。つまり、経路状態確認部１１が送信した経路確認要求信号に対する応答信号を受信した後、経路状態確認部１１が送信した経路確認要求信号に対する応答信号を受信しなかった場合、次に経路確認要求信号に対する応答信号を受信するまでの間に、経路状態確認部１１が送信した経路確認要求信号の送信回数をカウントする。また、異常カウンタ１５は、カウントした回数であるカウント値を状態算出部１２へ通知する。
【００３４】
タイマー１６は、経路状態確認部１１が、経路確認要求信号を送信してからその経路確認要求信号に対する応答信号を受信するまでの応答時間を計測する。また、タイマー１６は、計測した応答時間を状態算出部１２へ通知する。
【００３５】
なお、通信装置１−２は、通信装置１−１と同じ構成を有する。
【００３６】
以下に、図１に示した形態における経路選択方法について説明する。ここで、経路状態確認部１１が経路確認要求信号を送信する都度、タイマー１６が応答時間の計測を開始する。
【００３７】
図２は、図１に示した形態において、経路確認要求信号に対する応答信号が受信されなかった場合の経路選択方法を説明するためのフローチャートである。
【００３８】
経路状態確認部１１からメイン経路２を介して通信装置１−２へ送信されたＩＣＭＰ  ＥＣＨＯ＿ＲＥＱＵＥＳＴに対して、所定の時間内に応答が無い、つまりＩＣＭＰ  ＥＣＨＯ＿ＲＥＰＬＹが経路状態確認部１１にて受信されないと判断されると（ステップＳ２０）、状態算出部１２によって異常カウンタ１５の初期値が設定される（ステップＳ２１）。
【００３９】
ここで、ステップＳ２０の判断は、ＩＣＭＰ  ＥＣＨＯ＿ＲＥＱＵＥＳＴを送信する際に起動するタイマー１６を用いて行うものであっても良い。このタイマー１６は、ＩＣＭＰ  ＥＣＨＯ＿ＲＥＰＬＹを受信した際にリセットされるものである。また、ＩＣＭＰ  ＥＣＨＯ＿ＲＥＱＵＥＳＴを送信したにもかかわらずＩＣＭＰ  ＥＣＨＯ＿ＲＥＰＬＹを受信しない場合、所定の時間が経過した時点で「ＩＣＭＰ  ＥＣＨＯ＿ＲＥＰＬＹが受信されない」と判断するものである。
【００４０】
ここで、ステップＳ２１の処理について具体的に説明する。
【００４１】
ステップＳ２０にてＩＣＭＰ  ＥＣＨＯ＿ＲＥＰＬＹが経路状態確認部１１にて受信されないと判断されると、現在選択している通信経路がメイン経路２であるかどうかが経路選択部１３にて判断される（ステップＳ２１１）。
【００４２】
現在選択している通信経路がメイン経路２であると判断されると、異常カウンタ１５の値が「０」であるかどうかが状態算出部１２によって判断される（ステップＳ２１２）。
【００４３】
異常カウンタ１５の値が「０」であると判断された場合、正常カウンタ１４の値が「（マージン値）＋１」よりも小さいかどうかが状態算出部１２によって判断される（ステップＳ２１３）。この「マージン値」は、異常カウンタ１５の初期値を算出するための補正値であり、その算出方法は後述する。
【００４４】
正常カウンタ１４の値が「（マージン値）＋１」よりも小さいと判断された場合、状態算出部１２によって異常カウンタ１５の値が「（マージン値）＋１−（正常カウンタ１４の値）」に設定される（ステップＳ２１４）。この値が異常カウンタ１５の初期値となる。
【００４５】
このマージン値は、メイン経路２の断続的な品質低下を表した値である。このマージン値を用いることによって、メイン経路２の断続的な品質低下が発生した場合であっても、迂回経路３への切り替えが行えるように、異常カウンタ１５に含まれて初期化されている。
【００４６】
その後、状態算出部１２によって正常カウンタ１４の値が「０」にリセットされる（ステップＳ２２）。また、ステップＳ２１１にて「Ｎｏ」の場合、あるいはステップＳ２１２にて「Ｎｏ」の場合、あるいはステップＳ２１３にて「Ｎｏ」の場合、ステップＳ２２の処理が行われる。
【００４７】
また、状態算出部１２によって異常カウンタ１５の値が１つインクリメント（カウント）される（ステップＳ２３）。
【００４８】
すると、異常カウンタ１５の値があらかじめ設定されている切り替え閾値以上かどうかが状態算出部１２によって判断される（ステップＳ２４）。
【００４９】
異常カウンタ１５の値が切り替え閾値以上であると判断された場合、状態算出部１２から経路選択部１３へ、通信経路をメイン経路２から迂回経路３へ切り替える指示が行われる。そして、通信経路をメイン経路２から迂回経路３へ切り替えるように指示された経路選択部１３にて、通信経路がメイン経路２から迂回経路３へ切り替えられる（ステップＳ２５）。
【００５０】
図３は、図１に示した形態において、経路確認要求信号に対する応答信号が受信された場合の経路選択方法を説明するためのフローチャートである。
【００５１】
経路状態確認部１１から送信されたＩＣＭＰ  ＥＣＨＯ＿ＲＥＱＵＥＳＴに対して、応答がある、つまりＩＣＭＰ  ＥＣＨＯ＿ＲＥＰＬＹが経路状態確認部１１にて受信されると（ステップＳ３０）、通信経路を迂回経路３からメイン経路２へ切り戻すためのマージン値の更新が状態算出部１２によって行われる（ステップＳ３１〜Ｓ３２）。
【００５２】
このステップＳ３１の処理は、ＩＣＭＰ  ＥＣＨＯ＿ＲＥＰＬＹの受信速度に基づくマージン値の更新処理である。また、ステップＳ３２の処理は、ＩＣＭＰ  ＥＣＨＯ＿ＲＥＰＬＹの受信の有無に基づくマージン値の更新処理である。
【００５３】
以下、ステップＳ３１に処理の詳細について説明する。
【００５４】
図４は、ステップＳ３１の処理の詳細を説明するためのフローチャートである。
【００５５】
ＩＣＭＰ  ＥＣＨＯ＿ＲＥＰＬＹが経路状態確認部１１にて受信されると、タイマー１６が計測した、経路状態確認部１１からＩＣＭＰ  ＥＣＨＯ＿ＲＥＱＵＥＳＴが送信されてからＩＣＭＰ  ＥＣＨＯ＿ＲＥＰＬＹを受信するまでの応答時間と、これまでの応答時間のうち最小となる最小応答時間とが状態算出部１２によって比較される（ステップＳ３１１）。タイマー１６が計測した応答時間が最小応答時間よりも短い場合、状態算出部１２によって最小応答時間が当該応答時間の値に更新される（ステップＳ３１２）。つまり、応答時間のうち最小となる応答時間が状態算出部１２によって常に最小応答時間として保持される。保持している応答時間のデータが無い場合（例えば、最初の応答時間の測定の場合等）は、最小応答時間をある値にあらかじめ設定しておいて利用する。
【００５６】
また、状態算出部１２によって、現在の平均応答時間とタイマー１６が計測した応答時間とを加算した値を２で除算した値が平均応答時間として更新される（平均応答時間＝（平均応答時間＋応答時間）÷２）（ステップＳ３１３）。また、ステップＳ３１１にて、タイマー１６が計測した応答時間が最小応答時間以上である場合、ステップＳ３１２の処理は行われず、ステップＳ３１３の処理が行われる。
【００５７】
続いて、状態算出部１２によって、平均応答時間と最小応答時間とに基づいて、応答閾値が算出される（ステップＳ３１４）。具体的には、状態算出部１２によって、平均応答時間を２で乗算した値から最小応答時間を減算した値が応答閾値として算出される（応答閾値＝平均応答時間×２−最小応答時間）。
【００５８】
続いて、タイマー１６が計測した応答時間と応答閾値とが状態算出部１２によって比較される（ステップＳ３１５）。
【００５９】
応答時間が応答閾値よりも短い場合、現在のマージン値が「０」よりも大きな値であるかどうかが状態算出部１２によって判断される（ステップＳ３１６）。
【００６０】
現在のマージン値が「０」よりも大きな値であると判断された場合、状態算出部１２によって、マージン値が、現在のマージン値から「１」を差し引いた値に更新される（ステップＳ３１７）。その後、ステップＳ３２の処理が行われる。
【００６１】
また、ステップＳ３１５にて応答時間が応答閾値よりも短くはない場合、またはステップＳ３１６にて現在のマージン値が「０」よりも大きな値ではないと判断された場合は、ステップＳ３２の処理が行われる。
【００６２】
以下、ステップＳ３２の詳細について説明する。
【００６３】
図５は、ステップＳ３２の処理の詳細を説明するためのフローチャートである。
【００６４】
まず、異常カウンタ１５の値が「０」よりも大きな値であるかどうかが状態算出部１２によって判断される（ステップＳ３２１）。
【００６５】
異常カウンタ１５の値が「０」でよりも大きな値であると判断された場合、異常カウンタ１５の値があらかじめ設定されている切り替え閾値以上かどうかが状態算出部１２にて判断される（ステップＳ３２２）。
【００６６】
異常カウンタ１５の値が切り替え閾値以上であると判断された場合、状態算出部１２によってマージン値が「０」にリセットされる（ステップＳ３２３）。このマージン値は、上述した異常カウンタ１５の初期値の設定に用いられるものである。このように、異常カウンタ１５の値が切り替え閾値以上であると判断された場合は、メイン経路２に突発的な異常が発生したと判断して、マージン値を「０」にしている。
【００６７】
一方、ステップＳ３２２にて異常カウンタ１５の値が切り替え閾値以上ではないと判断された場合、マージン値が現在のマージン値と現在の異常カウンタ１５の値とに基づいて状態算出部１２によって算出（更新）される（ステップＳ３２４）。具体的な算出方法は、「（マージン値）＝（（現在のマージン値）＋（異常カウンタ１５の値））÷２」である。なお、ここで端数（小数点以下）は切り上げられる。このように、異常カウンタ１５の値が切り替え閾値以上ではないと判断された場合は、メイン経路２の品質が断続的に低下していると判断して、マージン値を再計算して更新している。
【００６８】
その後、状態算出部１２によって、正常カウンタ１４の値が１つインクリメント（カウント）される（ステップＳ３３）。
【００６９】
また、ステップＳ３２１にて異常カウンタ１５の値が「０」であると判断された場合も、ステップＳ３３の処理が行われる。
【００７０】
また、状態算出部１２によって、異常カウンタ１５の値が「０」にリセットされる（ステップＳ３４）。
【００７１】
そして、正常カウンタ１４の値があらかじめ設定された切り戻し閾値とマージン値とを加算した値以上かどうかが状態算出部１２によって判断される（ステップＳ３５）。
【００７２】
ステップＳ３５にて正常カウンタ１４の値が切り戻し閾値とマージン値とを加算した値以上であると判断された場合、状態算出部１２から経路選択部１３へ通信経路の切り戻しの指示が通知され、経路選択部１３によって通信経路が迂回経路３からメイン経路２へ切り戻される（ステップＳ３６）。そして、状態算出部１２によってマージン値が「０」にリセットされる（ステップＳ３７）。通信経路を迂回経路３からメイン経路２へ切り戻すかどうかの判断にマージン値を含むことで、メイン経路２の品質が断続的に低下している場合の通信経路の切り戻しを抑制している。
【００７３】
このように、本発明においては、応答時間に応じて応答閾値を更新していくことで、通信経路の切り戻しの判別を容易に行うことを実現している。
【００７４】
また、応答閾値の算出方法として、重みづけ係数（ｎ）を用いて、（応答閾値＝平均応答時間＋（平均応答時間−最小応答時間）×ｎ）を使用しても良い。また、平均応答時間の算出方法として、（平均応答時間＝総応答時間÷総応答数）を使用しても良い。
【００７５】
また、障害監視にＩＣＭＰ  ＥＣＨＯ＿ＲＥＱＵＥＳＴ／ＥＣＨＯ＿ＲＥＰＬＹを用いるもののほか、独自のｋｅｅｐａｌｉｖｅを用いるものであっても良い。
【００７６】
上述した通信装置１−１に設けられた各構成要素が行う処理は、目的に応じてそれぞれ作製された論理回路で行うようにしても良い。また、処理内容を手順として記述したコンピュータプログラム（以下、プログラムと称する）を通信装置１−１にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムを通信装置１−１に読み込ませ、実行するものであっても良い。通信装置１−１にて読取可能な記録媒体とは、フロッピー（登録商標）ディスク、光磁気ディスク、ＤＶＤ、ＣＤなどの移設可能な記録媒体の他、通信装置１−１に内蔵されたＲＯＭ、ＲＡＭ等のメモリやＨＤＤ等を指す。この記録媒体に記録されたプログラムは、通信装置１−１に設けられたＣＰＵ（不図示）にて読み込まれ、ＣＰＵの制御にしたがって、上述したものと同様の処理が行われる。ここで、ＣＰＵは、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作するものである。
【００７７】
上記の実施の形態の一部または全部は、以下の付記のようにも記載され得るが、以下には限られない。
（付記１）複数の通信経路と接続され、該複数の通信経路のうち１つの通信経路を選択して通信を行う通信装置であって、
前記複数の通信経路のうち、第１の通信経路の状態を確認するための経路確認要求信号を送信し、該送信した経路確認要求信号に対する応答信号を受信する経路状態確認部と、
前記経路状態確認部が、前記経路確認要求信号を送信してから該経路確認要求信号に対する前記応答信号を受信するまでの応答時間を計測するタイマーと、
前記経路状態確認部が、前記経路確認要求信号に対して前記応答信号を受信した連続回数をカウントする正常カウンタと、
前記経路状態確認部が、前記経路確認要求信号に対して前記応答信号を受信しなかった連続回数をカウントする異常カウンタと、
前記経路状態確認部が前記経路確認要求信号に対して前記応答信号を受信した後、前記経路確認要求信号に対して前記応答信号を受信しなかった場合、前記異常カウンタの初期値を算出するための補正値と前記正常カウンタの値とに基づいて前記初期値を算出し、前記異常カウンタの値を前記算出した初期値からカウントし、該カウントした異常カウンタの値があらかじめ設定された切り替え閾値以上となった場合、前記通信経路を前記第１の通信経路から該第１の通信経路以外の第２の通信経路へ切り替える指示を行い、前記経路状態確認部が前記経路確認要求信号に対して前記応答信号を受信しなかった後、前記経路確認要求信号に対して前記応答信号を受信した場合、前記タイマーが計測した応答時間に基づいて算出した平均応答時間と前記応答時間のうち最小となる最小応答時間とに基づいて、応答閾値を算出し、前記補正値を、前記応答閾値と前記タイマーが計測した応答時間と現在の補正値と現在の前記異常カウンタの値とに基づいて算出し、前記正常カウンタの値が該算出した補正値とあらかじめ設定された切り戻し閾値とを加算した値以上となった場合、前記通信経路を前記第２の通信経路から前記第１の通信経路へ切り戻す指示を行う状態算出部と、
前記状態算出部からの指示に基づいて、前記通信経路として前記第１の通信経路と前記第２の通信経路とのどちらか一方を選択する経路選択部とを有する通信装置。
（付記２）前記状態算出部は、現在の前記平均応答時間と前記応答時間とを加算した値を２で除算した値を平均応答時間として算出し、該算出した平均応答時間を２で乗算した値から前記最小応答時間を減算した値を前記応答閾値として算出することを特徴とする、付記１に記載の通信装置。
（付記３）前記状態算出部は、前記異常カウンタの値が前記切り替え閾値以上である場合、０を前記異常カウンタの初期値を算出するための補正値とし、前記応答時間が前記応答閾値よりも短く、且つ前記補正値が０よりも大きな値であり、且つ前記異常カウンタの値が０よりも大きく前記切り替え閾値未満である場合、該補正値から１を減算し、該１を減算した補正値と前記異常カウンタの値とを加算した値を２で除算した値を前記異常カウンタの初期値を算出するための補正値とすることを特徴とする、付記１または付記２に記載の通信装置。
（付記４）前記状態算出部は、前記補正値を算出した後、前記異常カウンタの値をリセットすることを特徴とする、付記１から３のいずれか１項に記載の通信装置。
（付記５）前記状態算出部は、前記補正値と１とを加算した値から前記正常カウンタの値を差し引いた値を前記初期値として算出し、該初期値を算出した後、前記正常カウンタの値をリセットすることを特徴とする、付記１から４のいずれか１項に記載の通信装置。
（付記６）複数の通信経路と接続された通信装置が通信を行う通信経路を前記複数の通信経路のうちから選択する経路選択方法であって、
前記複数の通信経路のうち、第１の通信経路の状態を確認するための経路確認要求信号を送信する処理と、
前記送信した経路確認要求信号に対する応答信号を受信したかどうかを確認する処理と、
前記経路確認要求信号を送信してから該経路確認要求信号に対する前記応答信号を受信するまでの応答時間を計測する処理と、
前記経路確認要求信号に対して前記応答信号を受信した後、前記経路確認要求信号に対して前記応答信号を受信しなかった場合、前記経路確認要求信号に対して前記応答信号を受信しなかった連続回数である第１の回数をカウントする際の初期値を算出するための補正値と、前記経路確認要求信号に対して前記応答信号を受信した連続回数である第２の回数とに基づいて前記初期値を算出する処理と、
前記第１の回数を前記算出した初期値からカウントする処理と、
前記カウントした第１の回数とあらかじめ設定された切り替え閾値とを比較する処理と、
前記カウントした第１の回数が前記切り替え閾値以上となった場合、前記通信経路を前記第１の通信経路から該第１の通信経路以外の第２の通信経路へ切り替える処理と
前記経路確認要求信号に対して前記応答信号を受信しなかった後、前記経路確認要求信号に対して前記応答信号を受信した場合、前記計測した応答時間に基づいて算出した平均応答時間と前記応答時間のうち最小となる最小応答時間とに基づいて、応答閾値を算出する処理と、
前記応答閾値を算出した後、前記補正値を、前記応答閾値と前記計測した応答時間と現在の補正値と現在の第１の回数とに基づいて算出する処理と、
該算出した補正値とあらかじめ設定された切り戻し閾値とを加算した値と、前記第２の回数とを比較する処理と、
前記第２の回数が該算出した補正値と前記切り戻し閾値とを加算した値以上となった場合、前記通信経路を前記第２の通信経路から前記第１の通信経路へ切り戻す処理とを行う経路選択方法。
（付記７）複数の通信経路と接続され、該複数の通信経路のうち１つの通信経路を選択して通信を行う通信装置に、
前記複数の通信経路のうち、第１の通信経路の状態を確認するための経路確認要求信号を送信する手順と、
前記送信した経路確認要求信号に対する応答信号を受信したかどうかを確認する手順と、
前記経路確認要求信号を送信してから該経路確認要求信号に対する前記応答信号を受信するまでの応答時間を計測する手順と、
前記経路確認要求信号に対して前記応答信号を受信した後、前記経路確認要求信号に対して前記応答信号を受信しなかった場合、前記経路確認要求信号に対して前記応答信号を受信しなかった連続回数である第１の回数をカウントする際の初期値を算出するための補正値と、前記経路確認要求信号に対して前記応答信号を受信した連続回数である第２の回数とに基づいて前記初期値を算出する手順と、
前記第１の回数を前記算出した初期値からカウントする手順と、
前記カウントした第１の回数とあらかじめ設定された切り替え閾値とを比較する手順と、
前記カウントした第１の回数が前記切り替え閾値以上となった場合、前記通信経路を前記第１の通信経路から該第１の通信経路以外の第２の通信経路へ切り替える手順と
前記経路確認要求信号に対して前記応答信号を受信しなかった後、前記経路確認要求信号に対して前記応答信号を受信した場合、前記計測した応答時間に基づいて算出した平均応答時間と前記応答時間のうち最小となる最小応答時間とに基づいて、応答閾値を算出する手順と、
前記応答閾値を算出した後、前記補正値を、前記応答閾値と前記計測した応答時間と現在の補正値と現在の第１の回数とに基づいて算出する手順と、
該算出した補正値とあらかじめ設定された切り戻し閾値とを加算した値と、前記第２の回数とを比較する手順と、
前記第２の回数が該算出した補正値と前記切り戻し閾値とを加算した値以上となった場合、前記通信経路を前記第２の通信経路から前記第１の通信経路へ切り戻す手順とを実行させるためのプログラム。
【符号の説明】
【００７８】
１−１，１−２    通信装置
２    メイン経路
３    迂回経路
４−１，４−２    通信端末
１１    経路状態確認部
１２    状態算出部
１３    経路選択部
１４    正常カウンタ
１５    異常カウンタ
１６    タイマー
【図１】
0005505998.tif 000002
【図２】
0005505998.tif 000003
【図３】
0005505998.tif 000004
【図４】
0005505998.tif 000005
【図５】
0005505998.tif 000006