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