JP2010213079A - 通信装置、経路選択方法及びプログラム - Google Patents

通信装置、経路選択方法及びプログラム Download PDF

Info

Publication number
JP2010213079A
JP2010213079A JP2009058205A JP2009058205A JP2010213079A JP 2010213079 A JP2010213079 A JP 2010213079A JP 2009058205 A JP2009058205 A JP 2009058205A JP 2009058205 A JP2009058205 A JP 2009058205A JP 2010213079 A JP2010213079 A JP 2010213079A
Authority
JP
Japan
Prior art keywords
value
route
communication
counter
request signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009058205A
Other languages
English (en)
Other versions
JP4644847B2 (ja
Inventor
Seiji Kugo
誠司 久郷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC Infrontia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Infrontia Corp filed Critical NEC Infrontia Corp
Priority to JP2009058205A priority Critical patent/JP4644847B2/ja
Publication of JP2010213079A publication Critical patent/JP2010213079A/ja
Application granted granted Critical
Publication of JP4644847B2 publication Critical patent/JP4644847B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】通信経路の品質の不安定さに基づいた経路選択を行う。
【解決手段】複数の通信経路と接続された通信装置が現在選択している通信経路の状態を確認するための経路確認要求信号を送信し、送信した経路確認要求信号に対する応答信号を受信しなかった後、経路確認要求信号に対して応答信号を受信した場合、経路確認要求信号に対して応答信号を受信しなかった連続回数をカウントする際の初期値を算出するための補正値を現在の補正値と現在の回数とに基づいて算出し、経路確認要求信号に対して応答信号を受信した後、経路確認要求信号に対して応答信号を受信しなかった場合、算出された補正値に基づいて初期値を算出し、算出した初期値からカウントした回数が閾値以上となった場合、通信経路を現在選択している通信経路から複数の通信経路のうち前記現在選択している通信経路以外の通信経路に切り替える。
【選択図】図1

Description

本発明は、複数の通信経路から1つの通信経路を選択する通信装置、経路選択方法及びプログラムに関する。
一般的にネットワークに適用されている通信装置は、当該通信装置に接続された複数の通信装置間にて送受信されるデータが通過する通信経路(ネットワーク)を選択する機能を有している。選択される通信経路は、当該通信経路の状態に基づいて選択される。例えば、現在選択されている通信経路に障害が発生したと判断された際、他の通信経路が選択され、当該データが通過する通信経路が現在選択されている通信経路から他の通信経路へ切り替えられる技術が考えられている(例えば、特許文献1参照。)。
なお、このとき通信経路における障害発生を判断する手段として、経路の状態を確認するための確認メッセージ及びそれに対する返信メッセージが用いられている。確認メッセージを送信し、当該確認メッセージに対する返信メッセージを受信しない場合には、通信経路に障害が発生したと判断される。
また、送信した確認メッセージに対する返信メッセージを受信しない場合、即座に通信経路を切り替えるのではなく、所定の保護段数(回数の閾値)を用いるものが一般的である。
特開2004−173149号公報
しかしながら、上述した技術においては、返信メッセージを受信したり受信しなかったりといった(返信メッセージを受信しない回数が保護段数を超えない)状態が続いた場合、つまり、回線品質が不安定になる障害が発生した場合、通信経路を切り替えることはできないという問題点がある。
本発明の目的は、上述した課題を解決する通信装置、経路選択方法及びプログラムを提供することである。
本発明の通信装置は、
複数の通信経路と接続され、該複数の通信経路のうち1つの通信経路を選択して通信を行う通信装置であって、
現在選択している通信経路の状態を確認するための経路確認要求信号を送信し、該送信した経路確認要求信号に対する応答信号を受信する経路状態確認部と、
前記経路状態確認部が前記経路確認要求信号に対して前記応答信号を受信しなかった連続回数をカウントする異常カウンタと、
前記経路状態確認部が前記経路確認要求信号に対して前記応答信号を受信しなかった後、前記経路状態確認部が前記経路確認要求信号に対して前記応答信号を受信した場合、前記異常カウンタの初期値を算出するための補正値を現在の補正値と現在の異常カウンタの値とに基づいて算出し、前記経路状態確認部が前記経路確認要求信号に対して前記応答信号を受信した後、前記経路状態確認部が前記経路確認要求信号に対して前記応答信号を受信しなかった場合、前記算出された補正値に基づいて前記初期値を算出し、前記異常カウンタの値を前記算出した初期値からカウントし、該カウントした異常カウンタの値があらかじめ設定された閾値以上となった場合、前記通信経路を切り替える指示を行う状態算出部と、
前記状態算出部からの指示に基づいて、前記通信経路を現在選択している通信経路から前記複数の通信経路のうち前記現在選択している通信経路以外の通信経路に切り替える経路選択部とを有する。
また、本発明の経路選択方法は、
複数の通信経路と接続された通信装置が通信を行う通信経路を前記複数の通信経路のうちから選択する経路選択方法であって、
現在選択している通信経路の状態を確認するための経路確認要求信号を送信する処理と、
前記送信した経路確認要求信号に対する応答信号を受信したかどうかを確認する処理と、
前記経路確認要求信号に対して前記応答信号を受信しなかった後、前記経路確認要求信号に対して前記応答信号を受信した場合、前記経路確認要求信号に対して前記応答信号を受信しなかった連続回数である第1の回数をカウントする際の初期値を算出するための補正値を現在の補正値と現在の第1の回数とに基づいて算出する処理と、
前記経路確認要求信号に対して前記応答信号を受信した後、前記経路確認要求信号に対して前記応答信号を受信しなかった場合、前記算出された補正値に基づいて前記初期値を算出する処理と、
前記第1の回数を前記算出した初期値からカウントする処理と、
前記カウントした第1の回数とあらかじめ設定された閾値とを比較する処理と、
前記カウントした第1の回数が前記閾値以上となった場合、前記通信経路を現在選択している通信経路から前記複数の通信経路のうち前記現在選択している通信経路以外の通信経路に切り替える処理とを有する。
また、本発明のプログラムは、
複数の通信経路と接続され、該複数の通信経路のうち1つの通信経路を選択して通信を行う通信装置に実行させるためのプログラムであって、
現在選択している通信経路の状態を確認するための経路確認要求信号を送信する手順と、
前記送信した経路確認要求信号に対する応答信号を受信したかどうかを確認する手順と、
前記経路確認要求信号に対して前記応答信号を受信しなかった後、前記経路確認要求信号に対して前記応答信号を受信した場合、前記経路確認要求信号に対して前記応答信号を受信しなかった連続回数である第1の回数をカウントする際の初期値を算出するための補正値を現在の補正値と現在の第1の回数とに基づいて算出する手順と、
前記経路確認要求信号に対して前記応答信号を受信した後、前記経路確認要求信号に対して前記応答信号を受信しなかった場合、前記算出された補正値に基づいて前記初期値を算出する手順と、
前記第1の回数を前記算出した初期値からカウントする手順と、
前記カウントした第1の回数とあらかじめ設定された閾値とを比較する手順と、
前記カウントした第1の回数が前記閾値以上となった場合、前記通信経路を現在選択している通信経路から前記複数の通信経路のうち前記現在選択している通信経路以外の通信経路に切り替える手順とを実行させる。
以上説明したように本発明においては、複数の通信経路と接続された通信装置が現在選択している通信経路の状態を確認するための経路確認要求信号を送信し、送信した経路確認要求信号に対する応答信号を受信しなかった後、経路確認要求信号に対して応答信号を受信した場合、経路確認要求信号に対して応答信号を受信しなかった連続回数をカウントする際の初期値を算出するための補正値を現在の補正値と現在の回数とに基づいて算出し、経路確認要求信号に対して応答信号を受信した後、経路確認要求信号に対して応答信号を受信しなかった場合、算出された補正値に基づいて初期値を算出し、算出した初期値からカウントした回数が閾値以上となった場合、通信経路を現在選択している通信経路から複数の通信経路のうち前記現在選択している通信経路以外の通信経路に切り替える構成としたため、通信経路の品質の不安定さに基づいた経路選択を行うことができる。
本発明の通信装置の実施の一形態を示す図である。 図1に示した形態において、経路確認要求信号に対する応答信号が受信されなかった場合の経路選択方法を説明するためのフローチャートである。 図1に示した形態において、経路確認要求信号に対する応答信号が受信された場合の経路選択方法を説明するためのフローチャートである。 図1に示した形態におけるそれぞれの値の状態遷移を示す図である。
以下に、本発明の実施の形態について図面を参照して説明する。
図1は、本発明の通信装置の実施の一形態を示す図である。
本形態は図1に示すように、通信装置1−1,1−2と、メイン経路2と、迂回経路3と、通信端末4−1,4−2とから構成されている。
通信装置1−1,1−2は、通信端末4−1と通信端末4−2との間において送受信されるデータが通過する通信経路を選択する。
メイン経路2は、通信装置1−1と通信装置1−2とを接続し、通信端末4−1と通信端末4−2との間において送受信されるデータが通過する通常設定される第1の通信経路である。
迂回経路3は、通信装置1−1と通信装置1−2とを接続し、通信端末4−1と通信端末4−2との間において送受信されるデータが通過する経路の1つである。また、迂回経路3は、メイン経路2に障害が発生した場合に選択される第2の通信経路である。
通信端末4−1,4−2は、通信装置1−1,1−2のそれぞれ接続された端末である。
さらに、通信装置1−1には、経路状態確認部11と、状態算出部12と、経路選択部13と、正常カウンタ14と、異常カウンタ15とが設けられている。
経路状態確認部11は、メイン経路2の状態を確認する。確認方法としては、通信装置1−2へ経路確認要求信号を送信し、送信した経路確認要求信号に対する応答信号が受信されるかどうかに基づいて、メイン経路2に障害が発生しているかどうかを確認するものが一般的な方法である。本形態においては、この経路確認要求信号として、ICMP(Internet Control Message Protocol)のICMP ECHO_REQUESTを用いて、応答信号としてICMP ECHO_REPLYが用いるものを例に挙げて説明する。
状態算出部12は、経路状態確認部11にて確認されたメイン経路2の状態に基づいて、通信経路の切り替え/切り戻しを判断し、判断した結果を経路選択部13へ指示する。ここで、通信経路の切り替えとは、通信経路をメイン経路2から迂回経路3へ変更することを示す。また、通信経路の切り戻しとは、通信経路を迂回経路3からメイン経路2へ変更することを示す。また、状態算出部12は、経路状態確認部11が送信した経路確認要求信号に対して応答信号を受信しなかった後、経路確認要求信号に対して応答信号を受信した場合、異常カウンタ15の初期値を算出するためのマージン値を現在のマージン値と現在の異常カウンタ15の値とに基づいて算出する。ここで、マージン値とは、異常カウンタ15の初期値を補正する補正値である。また、状態算出部12は、経路状態確認部11が送信した経路確認要求信号に対して応答信号を受信した後、経路確認要求信号に対して応答信号を受信しなかった場合、算出されたマージン値に基づいて異常カウンタ15の初期値を算出する。また、状態算出部12は、初期値の算出後、異常カウンタ15に算出した初期値からカウントさせる。また、状態算出部12は、異常カウンタ15の値があらかじめ設定された閾値とを比較し、異常カウンタ15の値があらかじめ設定された閾値以上となった場合、経路選択部13へ通信経路の切り替えを指示する。
経路選択部13は、状態算出部12からの指示に基づいて、経路の切り替え/切り戻しを行う。
正常カウンタ14は、経路状態確認部11が送信した経路確認要求信号に対する応答信号を受信した連続回数(第2の回数)をカウントする。つまり、経路状態確認部11が送信した経路確認要求信号に対する応答信号を受信しない状態の後、経路状態確認部11が送信した経路確認要求信号に対する応答信号を受信した場合、次に経路確認要求信号に対する応答信号を受信しなくなるまでの間に、経路状態確認部11が送信した経路確認要求信号に対する応答信号の受信回数をカウントする。また、正常カウンタ14は、カウントした回数であるカウント値を状態算出部12へ通知する。
異常カウンタ15は、経路状態確認部11が送信した経路確認要求信号に対する応答信号を受信しなかった連続回数(第1の回数)をカウントする。つまり、経路状態確認部11が送信した経路確認要求信号に対する応答信号を受信した後、経路状態確認部11が送信した経路確認要求信号に対する応答信号を受信しなかった場合、次に経路確認要求信号に対する応答信号を受信するまでの間に、経路状態確認部11が送信した経路確認要求信号の送信回数をカウントする。また、異常カウンタ15は、カウントした回数であるカウント値を状態算出部12へ通知する。
なお、通信装置1−2は、通信装置1−1と同じ構成を有する。
以下に、図1に示した形態における経路選択方法について説明する。
図2は、図1に示した形態において、経路確認要求信号に対する応答信号が受信されなかった場合の経路選択方法を説明するためのフローチャートである。
経路状態確認部11から送信されたICMP ECHO_REQUESTに対して、応答が無い、つまりICMP ECHO_REPLYが経路状態確認部11にて受信されないと判断されると(ステップS20)、状態算出部12によって異常カウンタ15の初期値が設定される(ステップS21)。
ここで、ステップS20の判断は、ICMP ECHO_REQUESTを送信する際に起動するタイマーを用いて行うものであっても良い。このタイマーは通信装置1−1に設けられているものであり、ICMP ECHO_REPLYを受信した際にリセットされるものである。また、ICMP ECHO_REQUESTを送信したにもかかわらずICMP ECHO_REPLYを受信しない場合、所定の時間が経過した時点で「ICMP ECHO_REPLYが受信されない」と判断するものである。
ここで、ステップS21の処理について具体的に説明する。
ステップS20にてICMP ECHO_REPLYが経路状態確認部11にて受信されないと判断されると、現在選択している通信経路がメイン経路2であるかどうかが経路選択部13にて判断される(ステップS211)。
現在選択している通信経路がメイン経路2であると判断されると、異常カウンタ15の値が「0」であるかどうかが状態算出部12によって判断される(ステップS212)。
異常カウンタ15の値が「0」であると判断された場合、正常カウンタ14の値が「(マージン値)+1」よりも小さいかどうかが状態算出部12によって判断される(ステップS213)。この「マージン値」は、異常カウンタ15の初期値を算出するためのものであり、その設定方法は後述する。
正常カウンタ14の値が「(マージン値)+1」よりも小さいと判断された場合、状態算出部12によって異常カウンタ15の値が「(マージン値)+1−(正常カウンタ14の値)」に設定される(ステップS214)。この値が異常カウンタ15の初期値となる。
その後、状態算出部12によって正常カウンタ14の値が「0」にリセットされる(ステップS22)。また、ステップS211にて「No」の場合、あるいはステップS212にて「No」の場合、あるいはステップS213にて「No」の場合、ステップS22の処理が行われる。
また、状態算出部12によって異常カウンタ15の値が1つインクリメント(カウント)される(ステップS23)。
すると、異常カウンタ15の値があらかじめ設定されている切り替え閾値以上かどうかが状態算出部12によって判断される(ステップS24)。
異常カウンタ15の値が切り替え閾値以上であると判断された場合、状態算出部12から経路選択部13へ、通信経路をメイン経路2から迂回経路3へ切り替える指示が行われる。そして、通信経路をメイン経路2から迂回経路3へ切り替えるように指示された経路選択部13にて、通信経路がメイン経路2から迂回経路3へ切り替えられる(ステップS25)。
ここで、一点鎖線で囲ったステップS21の処理が、一般的な技術にはない処理である。
図3は、図1に示した形態において、経路確認要求信号に対する応答信号が受信された場合の経路選択方法を説明するためのフローチャートである。
経路状態確認部11から送信されたICMP ECHO_REQUESTに対して、応答がある、つまりICMP ECHO_REPLYが経路状態確認部11にて受信されると(ステップS30)、正常カウンタ14の値が1つインクリメント(カウント)される(ステップS31)。
その後、異常カウンタ15の値が「0」であるかどうかが状態算出部12によって判断される(ステップS321)。
異常カウンタ15の値が「0」ではないと判断された場合、異常カウンタ15の値があらかじめ設定されている切り替え閾値以上かどうかが状態算出部12にて判断される(ステップS322)。
異常カウンタ15の値が切り替え閾値以上であると判断された場合、状態算出部12によってマージン値が「0」にリセットされる(ステップS323)。このマージン値は、上述した異常カウンタ15の初期値の設定に用いられるものである。
一方、ステップS322にて異常カウンタ15の値が切り替え閾値以上ではないと判断された場合、マージン値が現在のマージン値と現在の異常カウンタ15の値とに基づいて状態算出部12によって算出(更新)される(ステップS324)。具体的な算出方法は、「(マージン値)=((現在のマージン値)+(異常カウンタ15の値))÷2」である。なお、ここで端数は切り上げられる。
その後、状態算出部12によって、異常カウンタ15の値が「0」にリセットされる(ステップS33)。
そして、正常カウンタ14の値があらかじめ設定された切り戻し閾値とマージン値とを加算した値以上かどうかが状態算出部12によって判断される(ステップS34)。
また、ステップS321にて異常カウンタ15の値が「0」であると判断された場合も、ステップS34の処理が行われる。
ステップS34にて正常カウンタ14の値が切り戻し閾値とマージン値とを加算した値以上であると判断された場合、状態算出部12によってマージン値が「0」にリセットされる(ステップS35)。そして、状態算出部12から経路選択部13へ通信経路の切り戻しの指示が通知され、経路選択部13によって通信経路が迂回経路3からメイン経路2へ切り戻される(ステップS36)。
ここで、一点鎖線で囲ったステップS32の処理が、一般的な技術にはない処理である。
以下に、2つの具体例を用いて経路選択方法について説明する。
この具体例は、切り戻し閾値が「5」、切り替え閾値が「10」、正常カウンタ14の値が「100」、異常カウンタ15の値が「0」、マージン値が「0」であり、メイン経路2の使用の状態から、ICMP ECHO_REPLYが2回連続して受信されず(以下、受信失敗と称する)、続いてICMP ECHO_REPLYが2回連続して受信される(以下、受信成功と称する)状態が繰り返される場合を例に挙げる。
また、受信失敗では図2に示したフローチャートを用いて説明した処理が行われ、受信成功では図3に示したフローチャートを用いて説明した処理が行われる。
図4は、図1に示した形態におけるそれぞれの値の状態遷移を示す図である。
まず、1サイクル目の1回目では、受信が失敗する。
ここでは、上述した状態でステップS20にて応答無しのため、ステップS211にて現在の選択経路がメイン経路2であり、ステップS212にて異常カウンタ15の値が「0」であると判断される。
そして、ステップS213にて正常カウンタ14の値「100」が「(マージン値=0)+1」よりも小さくはないため、ステップS22にて正常カウンタ14がリセットされ(正常カウンタ14の値が「0」に設定され)、ステップS23にて異常カウンタ15の値が「+1」カウントされる。この状態で、正常カウンタ14の値は「0」であり、また異常カウンタ15の値は「1」である。また、マージン値は「0」である。
そして、ステップS24にて異常カウンタ15の値「1」が切り替え閾値「10」以上ではないため、迂回経路3への切り替えは行われない。
続いて、1サイクル目の2回目では、受信が失敗する。
ステップS20にて応答無し、ステップS211にて現在の選択経路がメイン経路2であり、ステップS212にて異常カウンタ15の値が「0」ではないと判断される。
すると、ステップS22にて正常カウンタ14がリセットされ(正常カウンタ14の値が「0」に設定され)、ステップS23にて異常カウンタ15の値が「+1」カウントされる。この状態で、正常カウンタ14の値は「0」であり、また異常カウンタ15の値は「2」である。また、マージン値は「0」である。
そして、ステップS24にて異常カウンタ15の値「2」が切り替え閾値「10」以上ではないため、迂回経路3への切り替えは行われない。
続いて、1サイクル目の3回目では、受信が成功する。
受信が成功したため、ステップS30にて応答ありとなり、ステップS31にて正常カウンタ14の値が「+1」カウントされ、「1」となる。
ステップS321にて異常カウンタ15の値が「0」ではないため、ステップS322にて異常カウンタ15の値が切り替え閾値以上かどうかが判断される。ここでは、異常カウンタ15の値「2」が切り替え閾値「10」以上ではないため、ステップS324にて現在のマージン値「0」と現在の異常カウンタ15の値「2」とを足した値を2で割った数値「1」がマージン値となる。
その後、ステップS33にて異常カウンタ15がリセットされる(異常カウンタ15の値が「0」に設定される)。
ステップS34にて正常カウンタ14の値「1」が、切り戻し閾値「5」とマージン値「1」とを足した値以上ではないため、切り替えは行われない。
この状態で、正常カウンタ14の値は「1」であり、また異常カウンタ15の値は「0」である。また、マージン値は「1」である。
続いて、1サイクル目の4回目では、受信が成功する。
受信が成功したため、ステップS30にて応答ありとなり、ステップS31にて正常カウンタ14の値が「+1」カウントされ、「2」となる。
ステップS321にて異常カウンタ15の値が「0」であり、ステップS34にて正常カウンタ14の値「2」が、切り戻し閾値「5」とマージン値「1」とを足した値以上ではないため、切り替えは行われない。
この状態で、正常カウンタ14の値は「2」であり、また異常カウンタ15の値は「0」である。また、マージン値は「1」である。
続いて、2サイクル目の1回目では、受信が失敗する。
ここでは、上述した状態でステップS20にて応答無しのため、ステップS211にて現在の選択経路がメイン経路2であり、ステップS212にて異常カウンタ15の値が「0」であると判断される。
そして、ステップS213にて正常カウンタ14の値「2」が「(マージン値=1)+1」よりも小さくはないため、ステップS22にて正常カウンタ14がリセットされ(正常カウンタ14の値が「0」に設定され)、ステップS23にて異常カウンタ15の値が「+1」カウントされる。この状態で、正常カウンタ14の値は「0」であり、また異常カウンタ15の値は「1」である。また、マージン値は「1」である。
そして、ステップS24にて異常カウンタ15の値「1」が切り替え閾値「10」以上ではないため、迂回経路3への切り替えは行われない。
続いて、2サイクル目の2回目では、受信が失敗する。
ステップS20にて応答無し、ステップS211にて現在の選択経路がメイン経路2であり、ステップS212にて異常カウンタ15の値が「0」ではないと判断される。
すると、ステップS22にて正常カウンタ14がリセットされ(正常カウンタ14の値が「0」に設定され)、ステップS23にて異常カウンタ15の値が「+1」カウントされる。この状態で、正常カウンタ14の値は「0」であり、また異常カウンタ15の値は「2」である。また、マージン値は「1」である。
そして、ステップS24にて異常カウンタ15の値「2」が切り替え閾値「10」以上ではないため、迂回経路3への切り替えは行われない。
続いて、2サイクル目の3回目では、受信が成功する。
受信が成功したため、ステップS30にて応答ありとなり、ステップS31にて正常カウンタ14の値が「+1」カウントされ、「1」となる。
ステップS321にて異常カウンタ15の値が「0」ではないため、ステップS322にて異常カウンタ15の値が切り替え閾値以上かどうかが判断される。ここでは、異常カウンタ15の値「2」が切り替え閾値「10」以上ではないため、ステップS324にて現在のマージン値「1」と現在の異常カウンタ15の値「2」とを足した値を2で割った数値「2(端数切り上げ)」がマージン値となる。
その後、ステップS33にて異常カウンタ15がリセットされる(異常カウンタ15の値が「0」に設定される)。
ステップS34にて正常カウンタ14の値「1」が、切り戻し閾値「5」とマージン値「2」とを足した値以上ではないため、切り替えは行われない。
この状態で、正常カウンタ14の値は「1」であり、また異常カウンタ15の値は「0」である。また、マージン値は「2」である。
続いて、2サイクル目の4回目では、受信が成功する。
受信が成功したため、ステップS30にて応答ありとなり、ステップS31にて正常カウンタ14の値が「+1」カウントされ、「2」となる。
ステップS321にて異常カウンタ15の値が「0」であり、ステップS34にて正常カウンタ14の値「2」が、切り戻し閾値「5」とマージン値「1」とを足した値以上ではないため、切り替えは行われない。
この状態で、正常カウンタ14の値は「2」であり、また異常カウンタ15の値は「0」である。また、マージン値は「2」である。
続いて、3サイクル目の1回目では、受信が失敗する。
ここでは、上述した状態でステップS20にて応答無しのため、ステップS211にて現在の選択経路がメイン経路2であり、ステップS212にて異常カウンタ15の値が「0」であると判断される。
そして、ステップS213にて正常カウンタ14の値「2」が「(マージン値=2)+1」よりも小さいため、ステップS214にて、異常カウンタ15の値が「(マージン値=2)+1−(正常カウンタ14の値=2)」となる「1」に設定される。
すると、ステップS22にて正常カウンタ14がリセットされ(正常カウンタ14の値が「0」に設定され)、ステップS23にて異常カウンタ15の値が「+1」カウントされる。この状態で、正常カウンタ14の値は「0」であり、また異常カウンタ15の値は「2」である。また、マージン値は「2」である。
そして、ステップS24にて異常カウンタ15の値「2」が切り替え閾値「10」以上ではないため、迂回経路3への切り替えは行われない。
続いて、3サイクル目の2回目では、受信が失敗する。
ステップS20にて応答無し、ステップS211にて現在の選択経路がメイン経路2であり、ステップS212にて異常カウンタ15の値が「0」ではないと判断される。
すると、ステップS22にて正常カウンタ14がリセットされ(正常カウンタ14の値が「0」に設定され)、ステップS23にて異常カウンタ15の値が「+1」カウントされる。この状態で、正常カウンタ14の値は「0」であり、また異常カウンタ15の値は「3」である。また、マージン値は「2」である。
そして、ステップS24にて異常カウンタ15の値「3」が切り替え閾値「10」以上ではないため、迂回経路3への切り替えは行われない。
続いて、3サイクル目の3回目では、受信が成功する。
受信が成功したため、ステップS30にて応答ありとなり、ステップS31にて正常カウンタ14の値が「+1」カウントされ、「1」となる。
ステップS321にて異常カウンタ15の値が「0」ではないため、ステップS322にて異常カウンタ15の値が切り替え閾値以上かどうかが判断される。ここでは、異常カウンタ15の値「3」が切り替え閾値「10」以上ではないため、ステップS324にて現在のマージン値「2」と現在の異常カウンタ15の値「3」とを足した値を2で割った数値「3(端数切り上げ)」がマージン値となる。
その後、ステップS33にて異常カウンタ15がリセットされる(異常カウンタ15の値が「0」に設定される)。
ステップS34にて正常カウンタ14の値「1」が、切り戻し閾値「5」とマージン値「3」とを足した値以上ではないため、切り替えは行われない。
この状態で、正常カウンタ14の値は「1」であり、また異常カウンタ15の値は「0」である。また、マージン値は「3」である。
続いて、3サイクル目の4回目では、受信が成功する。
受信が成功したため、ステップS30にて応答ありとなり、ステップS31にて正常カウンタ14の値が「+1」カウントされ、「2」となる。
ステップS321にて異常カウンタ15の値が「0」であり、ステップS34にて正常カウンタ14の値「2」が、切り戻し閾値「5」とマージン値「3」とを足した値以上ではないため、切り替えは行われない。
この状態で、正常カウンタ14の値は「2」であり、また異常カウンタ15の値は「0」である。また、マージン値は「3」である。
続いて、4サイクル目の1回目では、受信が失敗する。
ここでは、上述した状態でステップS20にて応答無しのため、ステップS211にて現在の選択経路がメイン経路2であり、ステップS212にて異常カウンタ15の値が「0」であると判断される。
そして、ステップS213にて正常カウンタ14の値「2」が「(マージン値=3)+1」よりも小さいため、ステップS214にて、異常カウンタ15の値が「(マージン値=3)+1−(正常カウンタ14の値=2)」となる「2」に設定される。
すると、ステップS22にて正常カウンタ14がリセットされ(正常カウンタ14の値が「0」に設定され)、ステップS23にて異常カウンタ15の値が「+1」カウントされる。この状態で、正常カウンタ14の値は「0」であり、また異常カウンタ15の値は「3」である。また、マージン値は「3」である。
そして、ステップS24にて異常カウンタ15の値「3」が切り替え閾値「10」以上ではないため、迂回経路3への切り替えは行われない。
続いて、4サイクル目の2回目では、受信が失敗する。
ステップS20にて応答無し、ステップS211にて現在の選択経路がメイン経路2であり、ステップS212にて異常カウンタ15の値が「0」ではないと判断される。
すると、ステップS22にて正常カウンタ14がリセットされ(正常カウンタ14の値が「0」に設定され)、ステップS23にて異常カウンタ15の値が「+1」カウントされる。この状態で、正常カウンタ14の値は「0」であり、また異常カウンタ15の値は「4」である。また、マージン値は「3」である。
そして、ステップS24にて異常カウンタ15の値「4」が切り替え閾値「10」以上ではないため、迂回経路3への切り替えは行われない。
続いて、4サイクル目の3回目では、受信が成功する。
受信が成功したため、ステップS30にて応答ありとなり、ステップS31にて正常カウンタ14の値が「+1」カウントされ、「1」となる。
ステップS321にて異常カウンタ15の値が「0」ではないため、ステップS322にて異常カウンタ15の値が切り替え閾値以上かどうかが判断される。ここでは、異常カウンタ15の値「4」が切り替え閾値「10」以上ではないため、ステップS324にて現在のマージン値「3」と現在の異常カウンタ15の値「4」とを足した値を2で割った数値「4(端数切り上げ)」がマージン値となる。
その後、ステップS33にて異常カウンタ15がリセットされる(異常カウンタ15の値が「0」に設定される)。
ステップS34にて正常カウンタ14の値「1」が、切り戻し閾値「5」とマージン値「4」とを足した値以上ではないため、切り替えは行われない。
この状態で、正常カウンタ14の値は「1」であり、また異常カウンタ15の値は「0」である。また、マージン値は「4」である。
続いて、4サイクル目の4回目では、受信が成功する。
受信が成功したため、ステップS30にて応答ありとなり、ステップS31にて正常カウンタ14の値が「+1」カウントされ、「2」となる。
ステップS321にて異常カウンタ15の値が「0」であり、ステップS34にて正常カウンタ14の値「2」が、切り戻し閾値「5」とマージン値「4」とを足した値以上ではないため、切り替えは行われない。
この状態で、正常カウンタ14の値は「2」であり、また異常カウンタ15の値は「0」である。また、マージン値は「4」である。
続いて、5サイクル目の1回目では、受信が失敗する。
ここでは、上述した状態でステップS20にて応答無しのため、ステップS211にて現在の選択経路がメイン経路2であり、ステップS212にて異常カウンタ15の値が「0」であると判断される。
そして、ステップS213にて正常カウンタ14の値「2」が「(マージン値=4)+1」よりも小さいため、ステップS214にて、異常カウンタ15の値が「(マージン値=4)+1−(正常カウンタ14の値=2)」となる「3」に設定される。
すると、ステップS22にて正常カウンタ14がリセットされ(正常カウンタ14の値が「0」に設定され)、ステップS23にて異常カウンタ15の値が「+1」カウントされる。この状態で、正常カウンタ14の値は「0」であり、また異常カウンタ15の値は「4」である。また、マージン値は「4」である。
そして、ステップS24にて異常カウンタ15の値「4」が切り替え閾値「10」以上ではないため、迂回経路3への切り替えは行われない。
続いて、5サイクル目の2回目では、受信が失敗する。
ステップS20にて応答無し、ステップS211にて現在の選択経路がメイン経路2であり、ステップS212にて異常カウンタ15の値が「0」ではないと判断される。
すると、ステップS22にて正常カウンタ14がリセットされ(正常カウンタ14の値が「0」に設定され)、ステップS23にて異常カウンタ15の値が「+1」カウントされる。この状態で、正常カウンタ14の値は「0」であり、また異常カウンタ15の値は「5」である。また、マージン値は「4」である。
そして、ステップS24にて異常カウンタ15の値「5」が切り替え閾値「10」以上ではないため、迂回経路3への切り替えは行われない。
続いて、5サイクル目の3回目では、受信が成功する。
受信が成功したため、ステップS30にて応答ありとなり、ステップS31にて正常カウンタ14の値が「+1」カウントされ、「1」となる。
ステップS321にて異常カウンタ15の値が「0」ではないため、ステップS322にて異常カウンタ15の値が切り替え閾値以上かどうかが判断される。ここでは、異常カウンタ15の値「5」が切り替え閾値「10」以上ではないため、ステップS324にて現在のマージン値「4」と現在の異常カウンタ15の値「5」とを足した値を2で割った数値「5(端数切り上げ)」がマージン値となる。
その後、ステップS33にて異常カウンタ15がリセットされる(異常カウンタ15の値が「0」に設定される)。
ステップS34にて正常カウンタ14の値「1」が、切り戻し閾値「5」とマージン値「5」とを足した値以上ではないため、切り替えは行われない。
この状態で、正常カウンタ14の値は「1」であり、また異常カウンタ15の値は「0」である。また、マージン値は「5」である。
続いて、5サイクル目の4回目では、受信が成功する。
受信が成功したため、ステップS30にて応答ありとなり、ステップS31にて正常カウンタ14の値が「+1」カウントされ、「2」となる。
ステップS321にて異常カウンタ15の値が「0」であり、ステップS34にて正常カウンタ14の値「2」が、切り戻し閾値「5」とマージン値「5」とを足した値以上ではないため、切り替えは行われない。
この状態で、正常カウンタ14の値は「2」であり、また異常カウンタ15の値は「0」である。また、マージン値は「5」である。
続いて、6サイクル目の1回目では、受信が失敗する。
ここでは、上述した状態でステップS20にて応答無しのため、ステップS211にて現在の選択経路がメイン経路2であり、ステップS212にて異常カウンタ15の値が「0」であると判断される。
そして、ステップS213にて正常カウンタ14の値「2」が「(マージン値=5)+1」よりも小さいため、ステップS214にて、異常カウンタ15の値が「(マージン値=5)+1−(正常カウンタ14の値=2)」となる「4」に設定される。
すると、ステップS22にて正常カウンタ14がリセットされ(正常カウンタ14の値が「0」に設定され)、ステップS23にて異常カウンタ15の値が「+1」カウントされる。この状態で、正常カウンタ14の値は「0」であり、また異常カウンタ15の値は「5」である。また、マージン値は「5」である。
そして、ステップS24にて異常カウンタ15の値「5」が切り替え閾値「10」以上ではないため、迂回経路3への切り替えは行われない。
続いて、6サイクル目の2回目では、受信が失敗する。
ステップS20にて応答無し、ステップS211にて現在の選択経路がメイン経路2であり、ステップS212にて異常カウンタ15の値が「0」ではないと判断される。
すると、ステップS22にて正常カウンタ14がリセットされ(正常カウンタ14の値が「0」に設定され)、ステップS23にて異常カウンタ15の値が「+1」カウントされる。この状態で、正常カウンタ14の値は「0」であり、また異常カウンタ15の値は「6」である。また、マージン値は「5」である。
そして、ステップS24にて異常カウンタ15の値「6」が切り替え閾値「10」以上ではないため、迂回経路3への切り替えは行われない。
続いて、6サイクル目の3回目では、受信が成功する。
受信が成功したため、ステップS30にて応答ありとなり、ステップS31にて正常カウンタ14の値が「+1」カウントされ、「1」となる。
ステップS321にて異常カウンタ15の値が「0」ではないため、ステップS322にて異常カウンタ15の値が切り替え閾値以上かどうかが判断される。ここでは、異常カウンタ15の値「6」が切り替え閾値「10」以上ではないため、ステップS324にて現在のマージン値「5」と現在の異常カウンタ15の値「6」とを足した値を2で割った数値「6(端数切り上げ)」がマージン値となる。
その後、ステップS33にて異常カウンタ15がリセットされる(異常カウンタ15の値が「0」に設定される)。
ステップS34にて正常カウンタ14の値「1」が、切り戻し閾値「5」とマージン値「6」とを足した値以上ではないため、切り替えは行われない。
この状態で、正常カウンタ14の値は「1」であり、また異常カウンタ15の値は「0」である。また、マージン値は「6」である。
続いて、6サイクル目の4回目では、受信が成功する。
受信が成功したため、ステップS30にて応答ありとなり、ステップS31にて正常カウンタ14の値が「+1」カウントされ、「2」となる。
ステップS321にて異常カウンタ15の値が「0」であり、ステップS34にて正常カウンタ14の値「2」が、切り戻し閾値「5」とマージン値「6」とを足した値以上ではないため、切り替えは行われない。
この状態で、正常カウンタ14の値は「2」であり、また異常カウンタ15の値は「0」である。また、マージン値は「6」である。
続いて、7サイクル目の1回目では、受信が失敗する。
ここでは、上述した状態でステップS20にて応答無しのため、ステップS211にて現在の選択経路がメイン経路2であり、ステップS212にて異常カウンタ15の値が「0」であると判断される。
そして、ステップS213にて正常カウンタ14の値「2」が「(マージン値=6)+1」よりも小さいため、ステップS214にて、異常カウンタ15の値が「(マージン値=6)+1−(正常カウンタ14の値=2)」となる「5」に設定される。
すると、ステップS22にて正常カウンタ14がリセットされ(正常カウンタ14の値が「0」に設定され)、ステップS23にて異常カウンタ15の値が「+1」カウントされる。この状態で、正常カウンタ14の値は「0」であり、また異常カウンタ15の値は「6」である。また、マージン値は「6」である。
そして、ステップS24にて異常カウンタ15の値「6」が切り替え閾値「10」以上ではないため、迂回経路3への切り替えは行われない。
続いて、7サイクル目の2回目では、受信が失敗する。
ステップS20にて応答無し、ステップS211にて現在の選択経路がメイン経路2であり、ステップS212にて異常カウンタ15の値が「0」ではないと判断される。
すると、ステップS22にて正常カウンタ14がリセットされ(正常カウンタ14の値が「0」に設定され)、ステップS23にて異常カウンタ15の値が「+1」カウントされる。この状態で、正常カウンタ14の値は「0」であり、また異常カウンタ15の値は「7」である。また、マージン値は「6」である。
そして、ステップS24にて異常カウンタ15の値「7」が切り替え閾値「10」以上ではないため、迂回経路3への切り替えは行われない。
続いて、7サイクル目の3回目では、受信が成功する。
受信が成功したため、ステップS30にて応答ありとなり、ステップS31にて正常カウンタ14の値が「+1」カウントされ、「1」となる。
ステップS321にて異常カウンタ15の値が「0」ではないため、ステップS322にて異常カウンタ15の値が切り替え閾値以上かどうかが判断される。ここでは、異常カウンタ15の値「7」が切り替え閾値「10」以上ではないため、ステップS324にて現在のマージン値「6」と現在の異常カウンタ15の値「7」とを足した値を2で割った数値「7(端数切り上げ)」がマージン値となる。
その後、ステップS33にて異常カウンタ15がリセットされる(異常カウンタ15の値が「0」に設定される)。
ステップS34にて正常カウンタ14の値「1」が、切り戻し閾値「5」とマージン値「7」とを足した値以上ではないため、切り替えは行われない。
この状態で、正常カウンタ14の値は「1」であり、また異常カウンタ15の値は「0」である。また、マージン値は「7」である。
続いて、7サイクル目の4回目では、受信が成功する。
受信が成功したため、ステップS30にて応答ありとなり、ステップS31にて正常カウンタ14の値が「+1」カウントされ、「2」となる。
ステップS321にて異常カウンタ15の値が「0」であり、ステップS34にて正常カウンタ14の値「2」が、切り戻し閾値「5」とマージン値「7」とを足した値以上ではないため、切り替えは行われない。
この状態で、正常カウンタ14の値は「2」であり、また異常カウンタ15の値は「0」である。また、マージン値は「7」である。
続いて、8サイクル目の1回目では、受信が失敗する。
ここでは、上述した状態でステップS20にて応答無しのため、ステップS211にて現在の選択経路がメイン経路2であり、ステップS212にて異常カウンタ15の値が「0」であると判断される。
そして、ステップS213にて正常カウンタ14の値「2」が「(マージン値=7)+1」よりも小さいため、ステップS214にて、異常カウンタ15の値が「(マージン値=7)+1−(正常カウンタ14の値=2)」となる「6」に設定される。
すると、ステップS22にて正常カウンタ14がリセットされ(正常カウンタ14の値が「0」に設定され)、ステップS23にて異常カウンタ15の値が「+1」カウントされる。この状態で、正常カウンタ14の値は「0」であり、また異常カウンタ15の値は「7」である。また、マージン値は「7」である。
そして、ステップS24にて異常カウンタ15の値「7」が切り替え閾値「10」以上ではないため、迂回経路3への切り替えは行われない。
続いて、8サイクル目の2回目では、受信が失敗する。
ステップS20にて応答無し、ステップS211にて現在の選択経路がメイン経路2であり、ステップS212にて異常カウンタ15の値が「0」ではないと判断される。
すると、ステップS22にて正常カウンタ14がリセットされ(正常カウンタ14の値が「0」に設定され)、ステップS23にて異常カウンタ15の値が「+1」カウントされる。この状態で、正常カウンタ14の値は「0」であり、また異常カウンタ15の値は「8」である。また、マージン値は「7」である。
そして、ステップS24にて異常カウンタ15の値「7」が切り替え閾値「10」以上ではないため、迂回経路3への切り替えは行われない。
続いて、8サイクル目の3回目では、受信が成功する。
受信が成功したため、ステップS30にて応答ありとなり、ステップS31にて正常カウンタ14の値が「+1」カウントされ、「1」となる。
ステップS321にて異常カウンタ15の値が「0」ではないため、ステップS322にて異常カウンタ15の値が切り替え閾値以上かどうかが判断される。ここでは、異常カウンタ15の値「8」が切り替え閾値「10」以上ではないため、ステップS324にて現在のマージン値「7」と現在の異常カウンタ15の値「8」とを足した値を2で割った数値「8(端数切り上げ)」がマージン値となる。
その後、ステップS33にて異常カウンタ15がリセットされる(異常カウンタ15の値が「0」に設定される)。
ステップS34にて正常カウンタ14の値「1」が、切り戻し閾値「5」とマージン値「8」とを足した値以上ではないため、切り替えは行われない。
この状態で、正常カウンタ14の値は「1」であり、また異常カウンタ15の値は「0」である。また、マージン値は「8」である。
続いて、8サイクル目の4回目では、受信が成功する。
受信が成功したため、ステップS30にて応答ありとなり、ステップS31にて正常カウンタ14の値が「+1」カウントされ、「2」となる。
ステップS321にて異常カウンタ15の値が「0」であり、ステップS34にて正常カウンタ14の値「2」が、切り戻し閾値「5」とマージン値「8」とを足した値以上ではないため、切り替えは行われない。
この状態で、正常カウンタ14の値は「2」であり、また異常カウンタ15の値は「0」である。また、マージン値は「8」である。
続いて、9サイクル目の1回目では、受信が失敗する。
ここでは、上述した状態でステップS20にて応答無しのため、ステップS211にて現在の選択経路がメイン経路2であり、ステップS212にて異常カウンタ15の値が「0」であると判断される。
そして、ステップS213にて正常カウンタ14の値「2」が「(マージン値=8)+1」よりも小さいため、ステップS214にて、異常カウンタ15の値が「(マージン値=8)+1−(正常カウンタ14の値=2)」となる「7」に設定される。
すると、ステップS22にて正常カウンタ14がリセットされ(正常カウンタ14の値が「0」に設定され)、ステップS23にて異常カウンタ15の値が「+1」カウントされる。この状態で、正常カウンタ14の値は「0」であり、また異常カウンタ15の値は「8」である。また、マージン値は「8」である。
そして、ステップS24にて異常カウンタ15の値「8」が切り替え閾値「10」以上ではないため、迂回経路3への切り替えは行われない。
続いて、9サイクル目の2回目では、受信が失敗する。
ステップS20にて応答無し、ステップS211にて現在の選択経路がメイン経路2であり、ステップS212にて異常カウンタ15の値が「0」ではないと判断される。
すると、ステップS22にて正常カウンタ14がリセットされ(正常カウンタ14の値が「0」に設定され)、ステップS23にて異常カウンタ15の値が「+1」カウントされる。この状態で、正常カウンタ14の値は「0」であり、また異常カウンタ15の値は「9」である。また、マージン値は「8」である。
そして、ステップS24にて異常カウンタ15の値「9」が切り替え閾値「10」以上ではないため、迂回経路3への切り替えは行われない。
続いて、9サイクル目の3回目では、受信が成功する。
受信が成功したため、ステップS30にて応答ありとなり、ステップS31にて正常カウンタ14の値が「+1」カウントされ、「1」となる。
ステップS321にて異常カウンタ15の値が「0」ではないため、ステップS322にて異常カウンタ15の値が切り替え閾値以上かどうかが判断される。ここでは、異常カウンタ15の値「9」が切り替え閾値「10」以上ではないため、ステップS324にて現在のマージン値「8」と現在の異常カウンタ15の値「9」とを足した値を2で割った数値「9(端数切り上げ)」がマージン値となる。
その後、ステップS33にて異常カウンタ15がリセットされる(異常カウンタ15の値が「0」に設定される)。
ステップS34にて正常カウンタ14の値「1」が、切り戻し閾値「5」とマージン値「9」とを足した値以上ではないため、切り替えは行われない。
この状態で、正常カウンタ14の値は「1」であり、また異常カウンタ15の値は「0」である。また、マージン値は「9」である。
続いて、9サイクル目の4回目では、受信が成功する。
受信が成功したため、ステップS30にて応答ありとなり、ステップS31にて正常カウンタ14の値が「+1」カウントされ、「2」となる。
ステップS321にて異常カウンタ15の値が「0」であり、ステップS34にて正常カウンタ14の値「2」が、切り戻し閾値「5」とマージン値「9」とを足した値以上ではないため、切り替えは行われない。
この状態で、正常カウンタ14の値は「2」であり、また異常カウンタ15の値は「0」である。また、マージン値は「9」である。
続いて、10サイクル目の1回目では、受信が失敗する。
ここでは、上述した状態でステップS20にて応答無しのため、ステップS211にて現在の選択経路がメイン経路2であり、ステップS212にて異常カウンタ15の値が「0」であると判断される。
そして、ステップS213にて正常カウンタ14の値「2」が「(マージン値=9)+1」よりも小さいため、ステップS214にて、異常カウンタ15の値が「(マージン値=9)+1−(正常カウンタ14の値=2)」となる「8」に設定される。
すると、ステップS22にて正常カウンタ14がリセットされ(正常カウンタ14の値が「0」に設定され)、ステップS23にて異常カウンタ15の値が「+1」カウントされる。この状態で、正常カウンタ14の値は「0」であり、また異常カウンタ15の値は「9」である。また、マージン値は「9」である。
そして、ステップS24にて異常カウンタ15の値「9」が切り替え閾値「10」以上ではないため、迂回経路3への切り替えは行われない。
続いて、10サイクル目の2回目では、受信が失敗する。
ステップS20にて応答無し、ステップS211にて現在の選択経路がメイン経路2であり、ステップS212にて異常カウンタ15の値が「0」ではないと判断される。
すると、ステップS22にて正常カウンタ14がリセットされ(正常カウンタ14の値が「0」に設定され)、ステップS23にて異常カウンタ15の値が「+1」カウントされる。この状態で、正常カウンタ14の値は「0」であり、また異常カウンタ15の値は「10」である。また、マージン値は「9」である。
そして、ステップS24にて異常カウンタ15の値「10」が切り替え閾値「10」以上であるため、ステップS25にて迂回経路3への切り替えが行われる。
このように、ICMP ECHO_REPLYの受信成功を挟んだICMP ECHO_REPLYの受信失敗を考慮することで、メイン経路2から迂回経路3への切り替えが行われる。
上述した例では、メイン経路2の品質が不安定になった場合の異常カウンタ15の初期化を現在のマージン値と正常カウンタ14との差分を基としているが、独自の値を基としてもいい。例えば、前回の異常カウンタ15の値を記憶しておき、それと正常カウンタ14の値との差分を基とするなどが考えられる。
また、ICMP ECHO_REQUEST/ICMP ECHO_REPLYによる障害監視以外の方式であっても良い。例えば独自のkeepalive方式が考えられる。
このように、本発明では異常カウンタ15の初期化部分にて異常カウンタ15をメイン経路2の状態に応じた値で初期化することで、メイン経路2が不安定で、連続したICMP ECHO_REPLYの受信失敗がなくても、メイン経路2から迂回経路3へ切り替えることができる。
これにより回線品質の不安定さのために切り替え閾値を小さく設定する必要がなくなる。
なお、上述した処理は、目的に応じて作製された論理回路で行うようにしても良い。また、処理内容を記述したプログラムを通信装置1−1,1−2にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムを通信装置1−1,1−2に読み込ませ、実行するものであっても良い。通信装置1−1,1−2にて読取可能な記録媒体とは、フロッピーディスク(登録商標)、光磁気ディスク、DVD、CDなどの移設可能な記録媒体の他、通信装置1−1,1−2に内蔵されたHDD等を指す。この記録媒体に記録されたプログラムは、通信装置1−1,1−2内のCPU(不図示)にて読み込まれ、CPUの制御によって、上述したものと同様の処理が行われる。ここで、CPUは、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作するものである。
1−1,1−2 通信装置
2 メイン経路
3 迂回経路
4−1,4−2 通信端末
11 経路状態確認部
12 状態算出部
13 経路選択部
14 正常カウンタ
15 異常カウンタ

Claims (9)

  1. 複数の通信経路と接続され、該複数の通信経路のうち1つの通信経路を選択して通信を行う通信装置であって、
    現在選択している通信経路の状態を確認するための経路確認要求信号を送信し、該送信した経路確認要求信号に対する応答信号を受信する経路状態確認部と、
    前記経路状態確認部が前記経路確認要求信号に対して前記応答信号を受信しなかった連続回数をカウントする異常カウンタと、
    前記経路状態確認部が前記経路確認要求信号に対して前記応答信号を受信しなかった後、前記経路状態確認部が前記経路確認要求信号に対して前記応答信号を受信した場合、前記異常カウンタの初期値を算出するための補正値を現在の補正値と現在の異常カウンタの値とに基づいて算出し、前記経路状態確認部が前記経路確認要求信号に対して前記応答信号を受信した後、前記経路状態確認部が前記経路確認要求信号に対して前記応答信号を受信しなかった場合、前記算出された補正値に基づいて前記初期値を算出し、前記異常カウンタの値を前記算出した初期値からカウントし、該カウントした異常カウンタの値があらかじめ設定された閾値以上となった場合、前記通信経路を切り替える指示を行う状態算出部と、
    前記状態算出部からの指示に基づいて、前記通信経路を現在選択している通信経路から前記複数の通信経路のうち前記現在選択している通信経路以外の通信経路に切り替える経路選択部とを有する通信装置。
  2. 請求項1に記載の通信装置において、
    前記状態算出部は、前記補正値を算出した後、前記異常カウンタの値をリセットすることを特徴とする通信装置。
  3. 請求項1または請求項2に記載の通信装置において、
    前記経路状態確認部が前記経路確認要求信号に対して前記応答信号を受信した連続回数をカウントする正常カウンタを有し、
    前記状態算出部は、前記補正値と1とを加算した値から前記正常カウンタの値を差し引いた値を前記初期値として算出し、該初期値を算出した後、前記正常カウンタの値をリセットすることを特徴とする通信装置。
  4. 複数の通信経路と接続された通信装置が通信を行う通信経路を前記複数の通信経路のうちから選択する経路選択方法であって、
    現在選択している通信経路の状態を確認するための経路確認要求信号を送信する処理と、
    前記送信した経路確認要求信号に対する応答信号を受信したかどうかを確認する処理と、
    前記経路確認要求信号に対して前記応答信号を受信しなかった後、前記経路確認要求信号に対して前記応答信号を受信した場合、前記経路確認要求信号に対して前記応答信号を受信しなかった連続回数である第1の回数をカウントする際の初期値を算出するための補正値を現在の補正値と現在の第1の回数とに基づいて算出する処理と、
    前記経路確認要求信号に対して前記応答信号を受信した後、前記経路確認要求信号に対して前記応答信号を受信しなかった場合、前記算出された補正値に基づいて前記初期値を算出する処理と、
    前記第1の回数を前記算出した初期値からカウントする処理と、
    前記カウントした第1の回数とあらかじめ設定された閾値とを比較する処理と、
    前記カウントした第1の回数が前記閾値以上となった場合、前記通信経路を現在選択している通信経路から前記複数の通信経路のうち前記現在選択している通信経路以外の通信経路に切り替える処理とを有する経路選択方法。
  5. 請求項4に記載の経路選択方法において、
    前記補正値を算出した後、前記第1の回数をリセットする処理を有することを特徴とする経路選択方法。
  6. 請求項4または請求項5に記載の経路選択方法において、
    前記経路確認要求信号に対して前記応答信号を受信した連続回数である第2の回数をカウントする処理と、
    前記補正値と1とを加算した値から前記第2の回数を差し引いた値を前記初期値として算出する処理と、
    前記初期値を算出した後、前記第2の回数をリセットする処理とを有することを特徴とする経路選択方法。
  7. 複数の通信経路と接続され、該複数の通信経路のうち1つの通信経路を選択して通信を行う通信装置に、
    現在選択している通信経路の状態を確認するための経路確認要求信号を送信する手順と、
    前記送信した経路確認要求信号に対する応答信号を受信したかどうかを確認する手順と、
    前記経路確認要求信号に対して前記応答信号を受信しなかった後、前記経路確認要求信号に対して前記応答信号を受信した場合、前記経路確認要求信号に対して前記応答信号を受信しなかった連続回数である第1の回数をカウントする際の初期値を算出するための補正値を現在の補正値と現在の第1の回数とに基づいて算出する手順と、
    前記経路確認要求信号に対して前記応答信号を受信した後、前記経路確認要求信号に対して前記応答信号を受信しなかった場合、前記算出された補正値に基づいて前記初期値を算出する手順と、
    前記第1の回数を前記算出した初期値からカウントする手順と、
    前記カウントした第1の回数とあらかじめ設定された閾値とを比較する手順と、
    前記カウントした第1の回数が前記閾値以上となった場合、前記通信経路を現在選択している通信経路から前記複数の通信経路のうち前記現在選択している通信経路以外の通信経路に切り替える手順とを実行させるためのプログラム。
  8. 請求項7に記載のプログラムにおいて、
    前記補正値を算出した後、前記第1の回数をリセットする手順を実行させるためのプログラム。
  9. 請求項7または請求項8に記載のプログラムにおいて、
    前記経路確認要求信号に対して前記応答信号を受信した連続回数である第2の回数をカウントする手順と、
    前記補正値と1とを加算した値から前記第2の回数を差し引いた値を前記初期値として算出する手順と、
    前記初期値を算出した後、前記第2の回数をリセットする手順とを実行させるためのプログラム。
JP2009058205A 2009-03-11 2009-03-11 通信装置、経路選択方法及びプログラム Expired - Fee Related JP4644847B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009058205A JP4644847B2 (ja) 2009-03-11 2009-03-11 通信装置、経路選択方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009058205A JP4644847B2 (ja) 2009-03-11 2009-03-11 通信装置、経路選択方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2010213079A true JP2010213079A (ja) 2010-09-24
JP4644847B2 JP4644847B2 (ja) 2011-03-09

Family

ID=42972789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009058205A Expired - Fee Related JP4644847B2 (ja) 2009-03-11 2009-03-11 通信装置、経路選択方法及びプログラム

Country Status (1)

Country Link
JP (1) JP4644847B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012169910A (ja) * 2011-02-15 2012-09-06 Nec Infrontia Corp 通信装置、経路選択方法及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1013437A (ja) * 1996-06-27 1998-01-16 Hitachi Ltd 回線切替制御方法
JP2003134114A (ja) * 2001-10-29 2003-05-09 Fujitsu Ltd アラーム監視装置および伝送装置
JP2009089153A (ja) * 2007-10-01 2009-04-23 Nec Infrontia Corp 通信装置、経路選択方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1013437A (ja) * 1996-06-27 1998-01-16 Hitachi Ltd 回線切替制御方法
JP2003134114A (ja) * 2001-10-29 2003-05-09 Fujitsu Ltd アラーム監視装置および伝送装置
JP2009089153A (ja) * 2007-10-01 2009-04-23 Nec Infrontia Corp 通信装置、経路選択方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012169910A (ja) * 2011-02-15 2012-09-06 Nec Infrontia Corp 通信装置、経路選択方法及びプログラム

Also Published As

Publication number Publication date
JP4644847B2 (ja) 2011-03-09

Similar Documents

Publication Publication Date Title
JP6306741B2 (ja) ソフトウェア定義ネットワークにおけるマルチマスタ選択
JP2008131346A (ja) Ipネットワークシステム
JP2009540436A (ja) 障害を分離するsasエクスパンダ
JP2008228035A (ja) ネットワークシステム、ノード装置及び管理サーバ
JP2014217062A (ja) リンク故障診断装置及び方法
WO2014025671A1 (en) Techniques for flooding optimization for link state protocols in a network topology
JP5630269B2 (ja) 通信システム、通信装置、制御装置、制御方法及びプログラム
US20150098317A1 (en) Linear protection switching method and apparatus for protecting network segmented into multi-domain
US9413642B2 (en) Failover procedure for networks
KR101527826B1 (ko) 데이터 전송 방법, 장치, 및 시스템
JP5207326B2 (ja) 通信装置、経路選択方法及びプログラム
JP4644847B2 (ja) 通信装置、経路選択方法及びプログラム
JP4644845B2 (ja) 通信装置、経路選択方法及びプログラム
JP5613119B2 (ja) マスター/スレーブシステム、制御装置、マスター/スレーブ切替方法、および、マスター/スレーブ切替プログラム
JP5505998B2 (ja) 通信装置、経路選択方法及びプログラム
JP5637975B2 (ja) ネットワークシステムおよび通信装置
JP2009225284A (ja) 回線監視装置及び回線監視方法
JP4946902B2 (ja) 通信制御装置、通信制御方法、通信制御プログラム
JP5881200B1 (ja) 通信装置、経路選択方法及びプログラム
JP7452872B2 (ja) 通信装置、方法及びプログラム
JP6042549B2 (ja) コンピュータネットワークを稼働する方法
US9806939B2 (en) Method and apparatus for linear protection switching
JP6288609B2 (ja) 二重化制御装置
JP2011049835A (ja) ネットワーク故障検出装置、ネットワーク故障検出プログラム
KR101892272B1 (ko) Bfd 프로토콜 기반의 결함 분류 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100921

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101116

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4644847

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees