(第1実施形態)
図1は、本発明に係る通信装置10の構成図である。通信装置10は、第1受信部110と、第2受信部160と、遅延差検出部120と、同期書込制御部130と、記憶部140と、読出制御部150と、フレーム選択部170と、を備える。
第1受信部110はデータ信号を含むフレームを受信する。そのデータを特定の規則で分割したものに対して、各種制御情報を付加したものをパケットと称する。フレームは、当該パケットを所定数備える。第2受信部160は、第1受信部110と同様にデータ信号を含むフレームを受信する。
本実施形態において、第1受信部110は0系のデータ信号を含むフレームを受信する。第2受信部160は1系のデータ信号を含むフレームを受信する。第2受信部160が受信するフレームは、第1受信部110が受信するフレームと同一である。初期状態において、0系が現用系であり、1系が予備系である。第1受信部110が受信するフレームと第2受信部160が受信するフレームとは、異なる伝送路に基づく異なる遅延を有する。
第1受信部110は、受信したフレームからフレーム先頭情報およびフレーム番号を抽出し、当該フレーム先頭情報、フレーム番号、および受信したフレームを遅延差検出部120と同期書込制御部130とに出力する。また、第1受信部110は、受信したフレームをフレーム選択部170に出力する。ここで、第1受信部110は第1フレーム先頭情報検出部111を備えていても良い。第1フレーム先頭情報検出部111は当該フレーム先頭情報を検出して遅延差検出部120と同期書込制御部130とに出力しても良い。
第2受信部160も同様に、受信したフレームからフレーム先頭情報およびフレーム番号を抽出し、当該フレーム先頭情報、フレーム番号、および受信したフレームを遅延差検出部120と同期書込制御部130とに出力する。また、第2受信部160は、受信したフレームをフレーム選択部170に出力する。ここで、第2受信部160は第2フレーム先頭情報検出部161を備えていても良い。第2フレーム先頭情報検出部161は当該フレーム先頭情報を検出して遅延差検出部120と同期書込制御部130とに出力しても良い。
遅延差検出部120は、第1受信部110から受信したフレームと第2受信部160から受信するフレームとの間の遅延差を検出する。すなわち、遅延差検出部120は、0系と1系との間の遅延差を検出する。遅延差検出部120における動作の詳細については後述する。なお、遅延差検出部120は同期書込制御部130の内部に配置されていても良い。
同期書込制御部130は、第1受信部110から入力される0系の複数のフレームと当該複数の先頭情報と、遅延差検出部120から入力される0系と1系との遅延差と、第2受信部160から入力される1系の複数のフレームと当該複数の先頭情報と、フレーム選択部170から入力される制御信号に基づいて、0系のデータおよび1系のデータの書き込みアドレスを生成する。同期書込制御部130は、0系のデータおよび1系のデータを記憶部140の当該アドレスにそれぞれ書き込む。なお、フレーム選択部170から入力される制御信号は、用いる伝送路が0系または1系のどちらかであることを示す。
記憶部140は、例えば、DRAM(Dynamib Random Access Memory)等の揮発性メモリである。あるいは、記憶部140はEEPROM(Electrically Erasable Programmable Read−Only Memory)、FLASHメモリなどの不揮発性メモリであっても良いし、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置であっても良い。さらに記憶部140は、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
フレーム選択部170は、第1受信部110から入力される0系の複数のフレームと第2受信部160から入力される1系の複数のフレームとに基づいて、0系および1系の伝送路異常を検出する。例えば0系が現用系の場合、フレーム選択部170は、第1受信部110から入力される複数のフレームの品質に基づいて0系の伝送路異常を検出しても良い。例えば、フレーム選択部170は、フレーム誤り率が所定の閾値を超えたら0系の伝送路の異常を検出しても良いし、フレームを構成するビット誤り率が所定の閾値を超えたら0系の伝送路の異常を検出しても良い。
あるいは、例えば1系が現用系の場合、フレーム選択部170は、第2受信部160から入力される複数のフレームの品質に基づいて1系の伝送路異常を検出しても良い。例えば、フレーム選択部170は、フレーム誤り率が所定の閾値を超えたら1系の伝送路の異常を検出しても良いし、フレームを構成するビット誤り率が所定の閾値を超えたら0系の伝送路の異常を検出しても良い。
フレーム選択部170は、0系の伝送路異常を検出しない場合、用いる伝送路が0系であることを示す制御信号を同期書込制御部130および読出制御部150に出力する。フレーム選択部170は、0系の伝送路異常を検出した場合、用いる伝送路が1系であることを示す制御信号を同期書込制御部130および読出制御部150に出力する。読出制御部150は、当該制御信号に基づいて0系または1系の伝送路のデータを記憶部140から読み出す。なお、当該制御信号を、読み出し系選択信号とも称する。
なお、フレーム選択部170は読出制御部150の内部に配置されていても良い。フレーム選択部170は0系および1系いずれかの伝送路の異常を検出したら、異常を検出した伝送路を示す情報を警報として読出制御部150に出力しても良い。読出制御部150は、当該警報に基づいて有効な伝送路を示す情報を検出または/および生成して、記憶部140からデータを読み出しても良い。
次に本発明の第1実施形態に係る通信装置10の動作を詳細に説明する。図2は、本発明の第1実施形態に係る通信装置10の詳細な機能構成例を示す概略ブロック図である。図1の構成に加えて、通信装置10は書込レート監視部180を備える。遅延差検出部120は第1計算部121、遅延差計測部122、および第2計算部123を備える。同期書込制御部130は、第1書込制御部131、アドレス同期処理部132、および第2書込制御部133を備える。読出制御部150は、読出レート監視部151、読出部152、およびアクティブポート制御部153を備える。
書込レート監視部180は、データが第1書込制御部131および第2書込制御部133によって記憶部140に書き込まれる際の速度を監視する。当該速度を書き込みレートとも称する。読出部152は、フレーム選択部170から入力される読み出し系選択信号に基づいて、0系または1系いずれかのデータを記憶部140から読み出す。読出レート監視部151は、読出部152が記憶部140からデータを読み出す速度が書き込みレートと一致するように制御する。
次に、アドレス同期処理部132の構成を詳細に説明する。図3は、本発明の第1実施形態に係るアドレス同期処理部132の機能構成例を示す概略ブロック図である。アドレス同期処理部132は、第1書込アドレス保持部1321、第2書込アドレス保持部1322、減算部1323、書込アドレス差分保持部1324、第1書込アドレス生成カウンタ1325、第1書込上位アドレス付与部1326、同期異常検出部1327、第2書込アドレス生成カウンタ1328、および第2書込上位アドレス付与部1329を備える。
第1書込アドレス保持部1321は、0系の各フレームの先頭で書き込みアドレスを保持し、減算部1323に対して当該アドレスを出力する。第2書込アドレス保持部1322は、1系の各フレームの先頭で書き込みアドレスを保持し、減算部1323に対して当該アドレスを出力する。
減算部1323は、第1書込アドレス保持部1321が保持するアドレスと第2書込アドレス保持部1322が保持するアドレスとの差分を算出して書込アドレス差分保持部1324に対して出力する。書込アドレス差分保持部1324は、0系および1系の特定のタイミングで、減算部1323から入力される当該アドレス差分を保持する。当該アドレス差分を、書き込みアドレス差情報とも称する。
第1書込アドレス生成カウンタ1325は、読み出し系選択信号と書き込みアドレス差情報とに基づいて、0系のデータを記憶部140に書き込む際の書き込みアドレスの同期処理を行い、書き込みアドレスを生成する。第2書込アドレス生成カウンタ1328は、読み出し系選択信号と書き込みアドレス差情報とに基づいて、1系のデータを記憶部140に書き込む際の書き込みアドレスの同期処理を行い、書き込みアドレスを生成する。
第1書込上位アドレス付与部1326は、第1書込アドレス生成カウンタ1325が生成した書き込みアドレスの上位に0系の情報を追加する。第2書込上位アドレス付与部1329は、第2書込アドレス生成カウンタ1328が生成した書き込みアドレスの上位に1系の情報を追加する。同期異常検出部1327は、0系および1系のアドレス同期状態を監視する。
なお、図3に示すようにアドレス同期処理部132には読み出し系選択信号、許容遅延時間設定、および0系/1系間遅延差情報が入力される。読み出し系選択信号は、書込アドレス差分保持部1324、第1書込アドレス生成カウンタ1325、および第2書込アドレス生成カウンタ1328に入力される。許容遅延時間設定は、書込アドレス差分保持部1324、第1書込アドレス生成カウンタ1325、第2書込アドレス生成カウンタ1328、および同期異常検出部1327に入力される。0系/1系間遅延差情報は、同期異常検出部1327に入力される。
次に、第1実施形態に係る通信装置10がフレームを記憶部140に書き込み、記憶部140から当該フレームを読み出す際の動作を、タイムチャートを用いて説明する。図4は、現用系が0系の場合において通信装置10がフレームを記憶部140に書き込む際の処理手順の例を示す図である。図5は、現用系が1系の場合において通信装置10がフレームを記憶部140に書き込む際の処理手順の例を示す図である。図4および図5において、1系の伝送路は0系の伝送路より大きな遅延を有しており、その遅延差をAとする。
図4(イ)は、第1受信部110が0系の複数のフレームを受信する際の時間的推移を示す。図4(ハ)は、第2受信部160が1系の複数のフレームを受信する際の時間的推移を示す。図4(ロ)は、第1受信部110が0系の先頭情報を受信する際の時間的推移を示す。図4(ニ)は、第2受信部160が1系の先頭情報を受信する際の時間的推移を示す。先頭情報は、0系および1系を流れる複数のフレーム各々の先頭を示す。先頭情報は、図4のような1ビットのパルス信号でも良いし、「10」といった特定のパターンであっても良い。
図4(ホ)は、第1受信部110が0系のフレーム番号を受信する際の時間的推移を示す。図4(ヘ)は、第2受信部160が1系のフレーム番号を受信する際の時間的推移を示す。フレーム番号は、0系および1系の複数のフレーム各々の番号を示すものである。フレーム番号には所定数の上限が存在しても良い。例えば、フレーム番号を2ビットで表す場合は、フレーム番号数は4であり、フレーム番号の最大値は「3」であり、「0」「1」「2」「3」が順番に繰り返される。フレーム番号の最大値は「3」に限られず、フレーム番号数が8の場合、フレーム番号の最大値は「7」となる。同様に、フレーム番号の最大値は「15」または「31」等でも良い。
第1受信部110は、0系の複数のフレーム、各フレームの先頭情報、および各フレームのフレーム番号を受信し、遅延差検出部120内部の第1計算部121と、同期書込制御部130内部の第1書込制御部131とアドレス同期処理部132とに出力する。また、第1受信部110は、先頭情報を遅延差計測部122に出力する。
第2受信部160は、1系の複数のフレーム、各フレームの先頭情報、および各フレームのフレーム番号を受信し、遅延差検出部120内部の第2計算部123と、同期書込制御部130内部のアドレス同期処理部132と第2書込制御部133とに出力する。また、第2受信部160は、先頭情報を遅延差計測部122に出力する。
第1計算部121は、入力された0系のフレーム先頭情報から、次の先頭情報までのフレームについて、生成多項式による除算処理を行い、計算結果を遅延差計測部122に出力する。第2計算部123は、入力された1系のフレーム先頭情報から、次の先頭情報までのフレームについて、生成多項式による除算処理を行い、計算結果を遅延差計測部122に出力する。
遅延差計測部122は、生成多項式による計算結果と0系側のフレーム先頭情報とに基づいて0系と1系の遅延差を計算し、計算結果をアドレス同期処理部132に出力する。アドレス同期処理部132は、遅延差計測部122で算出した0系/1系遅延差情報、0系および1系のフレーム先頭情報、フレーム番号、許容遅延時間設定、さらに読出し系選択信号をもとに、書き込みアドレスの同期処理を行う。
アドレス同期処理部132による書き込みアドレス同期処理について、図4および図5のタイミングチャートを用いて詳細に説明する。図4において、現用系は0系である。図4は、読み出し系選択番号に基づいて通信装置10が1系の書込みアドレスを0系の書込みアドレスに同期させる際のタイミングチャートである。図5において現用系は1系である。図5は、読み出し系選択番号に基づいて通信装置10が0系の書込みアドレスを1系の書込みアドレスに同期させる際のタイミングチャートである。
図4(ロ)に示すタイミングで0系のフレーム先頭情報が入力されると、先頭情報が「1」であって、フレーム番号が図4(ホ)において「0」のタイミングで、第1書込アドレス保持部1321は0系側書き込みアドレスsWA0(n)の値をsWA_LAT0として保持し、減算部1323に対して出力する。第1書込アドレス保持部1321は、0系側書き込みアドレスsWA0(n)の値を図4(リ)に示すタイミングで保持する。
図4(ハ)に示すタイミングで1系のフレームが入力され、図4(ニ)に示すタイミングでフレーム先頭情報が入力されると、先頭情報が「1」であって、フレーム番号が図4(ヘ)において「0」のタイミングで、第2書込アドレス保持部1322は1系側書き込みアドレスsWA1(j)の値をsWA_LAT1として保持し、減算部1323に対して出力する。第2書込アドレス保持部1322は、1系側書き込みアドレスsWA1(j)の値を図4(ヌ)に示すタイミングで保持する。
減算部1323は、0系側書き込みアドレスsWA0(n)および1系側書き込みアドレスsWA1(j)に基づいてアドレス差分sDLT_WAを計算し、結果を書込アドレス差分保持部1324に出力する。
sDLT_WA = sWA_LAT0 − sWA_LAT1・・・(式1)
図4において現用系は0系である。1系の経路が用いられることを読み出し系選択番号が示す場合、図4(ル)に示すタイミングで、書込アドレス差分保持部1324は書き込みアドレス差分sDLT_WAをsDLT_WA_SELとして保持し、第1書込アドレス生成カウンタ1325に出力する。
なお、書込アドレス差分保持部1324が書き込みアドレス差分sDLT_WAをsDLT_WA_SELとして保持するタイミングは、図4(ロ)に示すように0系のフレーム先頭情報が「1」、図4(ホ)に示すように0系のフレーム番号が「1」のタイミングである。
次に、現用系が1系の場合における通信装置10の動作を説明する。図5(二)に示すタイミングで1系のフレーム先頭情報が入力されると、先頭情報が「1」であって、フレーム番号が図5(ヘ)において「0」のタイミングで、第2書込アドレス保持部1322は1系側書き込みアドレスsWA1(j)の値をsWA_LAT1として保持し、減算部1323に対して出力する。第2書込アドレス保持部1322は、1系側書き込みアドレスsWA1(j)の値を図5(ヌ)に示すタイミングで保持する。
図5(イ)に示すタイミングで0系のフレームが入力され、図5(ロ)に示すタイミングで0系のフレーム先頭情報が入力されると、先頭情報が「1」であって、フレーム番号が図5(ホ)において0のタイミングで、第1書込アドレス保持部1321は0系側書き込みアドレスsWA0(n)の値をsWA_LAT0として保持し、減算部1323に対して出力する。第1書込アドレス保持部1321は、0系側書き込みアドレスsWA0(n)の値を図5(リ)に示すタイミングで保持する。
現用系が1系の場合も、減算部1323は、現用系が0系だった場合と同様、式1に基づいてアドレス差分sDLT_WAを計算し、結果を書込アドレス差分保持部1324に出力する。
図5において現用系は1系である。0系の経路が用いられることを読み出し系選択番号が示す場合、図5(ル)に示すタイミングで、書込アドレス差分保持部1324は書き込みアドレス差分sDLT_WAをsDLT_WA_SELとして保持し、第2書込アドレス生成カウンタ1328に対して出力する。
なお、書込アドレス差分保持部1324が書き込みアドレス差分sDLT_WAをsDLT_WA_SELとして保持するタイミングは、図5(二)に示すように0系のフレーム先頭情報が「1」、図5(ハ)に示すように1系のフレーム番号が「1」のタイミングである。
次に、アドレス同期処理部132において書き込みアドレスを現用系から予備系に一致させる処理について説明する。図4において、1系の経路が用いられることを読み出し系選択番号が示す場合、第1書込アドレス生成カウンタ1325は、図4(ル)に示すタイミングで、式2に基づいて1系側の書き込みアドレスを0系側に一致させ、当該アドレスを第1書込上位アドレス付与部1326に出力する。
sWA1(m) = sWA1(k) − sDLT_WA_SEL・・・(式2)
なお、図4(ル)に示すタイミングで、1系側の書き込みアドレスを0系側に一致させるタイミングは、図4(ロ)において0系のフレーム先頭情報が「1」で、図4(ホ)において0系のフレーム番号が「2」を示す場合である。なお、0系は現用系なので、第1書込アドレス生成カウンタ1325は0系の書き込みアドレス同期処理を行わない。
次に、現用系が1系の場合について説明する。図5において、0系の経路が用いられることを読み出し系選択番号が示す場合、第2書込アドレス生成カウンタ1328は、図5(ル)に示すタイミングで、式3に基づいて1系側の書き込みアドレスを0系側に一致させ、当該アドレスを第2書込上位アドレス付与部1329に対して出力する。
sWA0(r) = sWA0(p) + SDLT_WA_SEL・・・(式3)
なお、図5(ル)に示すタイミングで、0系側の書き込みアドレスを1系側に一致させるタイミングは、図5(二)において1系のフレーム先頭情報が「1」で、図5(ヘ)において1系のフレーム番号が「2」を示す場合である。なお、1系は現用系なので、第2書込アドレス生成カウンタ1328は1系の書き込みアドレス同期処理を行わない。
第1書込上位アドレス付与部1326は、第1書込アドレス生成カウンタ1325から入力される書き込みアドレスsWA0に対して上位アドレスとして「0」を付与して第1書込制御部131に出力する。ここで、当該上位アドレスを付与するのは、0系側のデータと1系側のデータを記憶部140内に分けて保存するためである。
同様に、第2書込上位アドレス付与部1329は、第2書込アドレス生成カウンタ1328から入力される書き込みアドレスsWA1に対して上位アドレスとして「1」を付与して第2書込制御部133に出力する。
同期異常検出部1327は、書き込みアドレス差分(sDLT_WA_SEL)、許容遅延時間設定、および0系/1系遅延差情報に基づいて、式4の演算処理を行い、アドレス同期が正しく行われているかを確認する。
同期異常信号 = (許容遅延時間設定 < 0系/1系遅延差情報) or (sDLT_WA_SEL != 0)・・・(式4)
以上の通り、アドレス同期処理部132は現用系に予備系の書き込みアドレスを同期させる。そして、第1書込制御部131は受信した0系のフレームを書き込みアドレスに基づいて記憶部140に書き込む。第2書込制御部133は受信した1系のフレームを書き込みアドレスに基づいて記憶部140に書き込む。
読出制御部150は、記憶部140からフレームを読み出す。読出レート監視部151は、記憶部140書込み側の書込みレートと同じレートで読出しを行うよう制御する。読出レート監視部151は、同期書込制御部130にて記憶部140書込み側のレートを監視した結果を使用して読出しレートを算出し、読出部152に結果を通知する。
また、アクティブポート制御部153は、フレーム選択部170より受信した0系/1系の伝送路に関する警報情報、及びCPU設定により、0系/1系の切り替え制御を行い、遅延差検出部120、同期書込制御部130、書込レート監視部180、および読出部152等に通知しても良い。
読出部152は、記憶部140からフレームを読み出す処理を行う。本実施形態において0系/1系とも同じ記憶部140を共有していることから、フレーム選択部170またはアクティブポート制御部153より受信した読出し系選択信号に基づいて、読出部152は記憶部140の上位アドレスを切り替えることによって0系または1系いずれかのフレームを選択して読み出す。
また、アドレス同期処理部132に含まれる同期異常検出部1327から出力される同期異常信号が入力された場合、すなわちアドレス同期異常時において、読出部152は系の切替処理を実施しなくても良い。書込レート監視部180は、0系/1系のうち、フレーム選択部170またはアクティブポート制御部153より通知される読出し系選択信号に基づいて、選択されている系の書込みレートの監視を行い、読出レート監視部151に結果を通知する。
以上説明した第1実施形態の通信装置10によれば、0系/1系の無瞬断切り替えに必要なデータの位相調整を、パケットの制御情報の中に、特定のパタンを挿入することなく、フレームの先頭情報として例えば1ビット入れ、また、フレーム番号を追加するのみで、0系/1系間の遅延量の大小関係によらず正しく位相調整を行う。これにより、伝送路間に遅延が存在する場合であっても無瞬断の経路切替を行い、伝送路の信頼性を高めることが可能となる。
(第2実施形態)
次に、第2実施形態における処理について、第1実施形態との相違点を中心として説明する。図6は、本発明の第2実施形態に係る通信装置10の詳細な機能構成例を示す概略ブロック図である。図1の構成に加えて、第2実施形態に係る通信装置10は、第1タイミング生成カウンタ112および第2タイミング生成カウンタ162をさらに備える。
第2実施形態においては第1実施形態と異なりフレーム番号を受信しないが、第1タイミング生成カウンタ112は第1受信部で抽出した受信フレームの先頭情報を起点にクロックパルスの数を数えることによって擬似先頭情報を生成する。第1タイミング生成カウンタ112は、当該擬似先頭情報に基づいて、0系の複数のフレーム各々に対応する擬似受信フレーム番号を生成する。第2タイミング生成カウンタ162も同様に、擬似先頭情報を生成し、当該擬似先頭情報に基づいて1系の複数のフレーム各々に対応する擬似受信フレーム番号を生成する。
第1タイミング生成カウンタ112は、クロックパルスの数を、0系のフレームを受信するタイミングで計測し始め、当該クロックパルス数を評価することによって擬似先頭情報および擬似受信フレーム番号を生成しても良い。例えば、0系のクロックパルス数をN_p0とし、閾値をThとすると、第1タイミング生成カウンタ112は、0系においてfloor(N_p0,Th)の演算を行うことによって、当該演算結果がインクリメントされたタイミングで0系の擬似先頭情報を生成する。第1タイミング生成カウンタ112は、当該擬似先頭情報に基づいて、擬似受信フレーム番号インクリメントすることによって生成しても良い。
同様に、例えば、1系のクロックパルス数をN_p1とし、閾値をThとすると、第2タイミング生成カウンタ162は、1系においてfloor(N_p1,Th)の演算を行うことによって1系の擬似フレーム先頭情報および擬似受信フレーム番号を生成しても良い。
ここで、第1実施形態と同様に、擬似受信フレーム番号数には所定の上限を設けても良い。第1受信部110および第2受信部160は、フレーム番号が上限に達したら、フレーム番号を0にリセットし、再度擬似受信フレーム番号を生成しても良い。
図7は、本発明の第2実施形態に係る通信装置がデータフレームを記憶部に書き込む際の処理手順の例を示す図である。図7において、0系が現用系で、読み出し系選択番号に基づいて伝送路を1系に切り替えるものとする。図7(ヲ)は、第1タイミング生成カウンタ112がクロックパルスを受信および計数する際のタイミングチャートを示す。初期状態として、擬似受信フレーム番号は0で、クロックパルス数も0である。
第1受信部110は擬似先頭信号を生成したタイミングでクロックパルス数を評価する。1つ目の擬似先頭信号を受信した際、floor(N_p0,Th)の演算を行い、計算結果が0であるため図7(ホ)において擬似フレーム番号として「0」を生成している。第1受信部110は、2個目以降の擬似先頭信号を生成したタイミングでも同様にクロックパルス数を評価し、擬似受信フレーム番号として順に「1」、「2」、「3」を生成している。
本実施形態において、擬似受信フレーム番号数の上限を4とすると、擬似受信フレーム番号が「3」に達した段階で、第1受信部110は擬似受信フレーム番号を0にリセットする。また、第1受信部110は、第1タイミング生成カウンタ112に対してクロックパルス数を0にリセットさせる。第2受信部160および第2タイミング生成カウンタ162も、第1受信部110および第1タイミング生成カウンタ112と同様の手法で1系の擬似受信フレーム番号を生成する。
また、図7では現用系が0系で、通信装置10が読み出し系選択番号に基づいて伝送路を1系に切り替える際に擬似先頭情報および擬似受信フレーム番号を生成する方法について述べたが、現用系が1系で0系に伝送路を切り替える場合も同様の手法で擬似先頭情報および擬似受信フレーム番号を生成することができる。擬似先頭情報および擬似受信フレーム番号の生成以外の動作は第1実施形態と同様であるため、説明を省略する。
ここで、第1タイミング生成カウンタ112および第2タイミング生成カウンタ162は、擬似先頭情報と擬似フレーム情報を生成したあとは、動作を停止し、第1受信部、第2受信部で抽出した受信フレームの先頭情報を受信するとともに動作を再開する。
以上説明した第2実施形態の通信装置10によれば、0系/1系の無瞬断切り替えに必要なデータの位相調整を、パケットの制御情報の中に、特定のパタンを挿入することなく、フレームの擬似先頭情報として例えば1ビット入れることによって、0系/1系間の遅延量の大小関係によらず正しく位相調整を行う。これにより、伝送路間に遅延が存在する場合であっても無瞬断の経路切替を行い、伝送路の信頼性を高めることが可能となる。
(第3実施形態)
次に、本発明の第3実施形態における処理について、第1実施形態および第2実施形態との相違点を中心として説明する。図8は、本発明の第3実施形態に係る通信装置10がデータフレームを記憶部に書き込む際の処理手順の例を示す図である。図8において、0系が現用系で、通信装置10は読み出し系選択番号に基づいて伝送路を1系に切り替えるものとする。
第3実施形態において、最大擬似受信フレーム番号数は4である。擬似受信フレーム番号「0のフレームから擬似受信フレーム番号「3」までのフレーム長の総和よりも、0系と1系との間の遅延差は大きい。このため、第1実施形態および第2実施形態のアドレス同期手法では、擬似受信フレーム番号が「3」から「0」にリセットされる段階でアドレスも更新されてしまうので、0系と1系との間の書き込みアドレス差分を正確に検出できない。
第3実施形態においては、第2実施形態と同様、通信装置10は第1受信部110、第1タイミング生成カウンタ112、第2受信部160、および第2タイミング生成カウンタ162を備える。
また、本実施形態において、0系および1系のフレーム各々は複数のパケットを含む。図8(イ)および(ロ)に示すように、0系において当該複数のパケットの1つは同期パケットとして周期的に送信される。図8(ハ)および(ニ)に示すように、1系においても当該複数のパケットの1つは同期パケットとして周期的に送信される。当該同期パケットは、0系および1系のフレームの所定の位置に埋め込まれる。
例えば0系において、各フレームはN個のパケットを含むとすると、当該同期パケットはフレーム「0」におけるk番目のパケットに埋め込まれる。ここで、kは0以上N以下である。1系においても同様に、同期パケットはフレーム「0」におけるk番目のパケットに埋め込まれる。同期パケットが送信される周期は0系と1系とで同一である。同期パケットが送信される周期は、0系と1系との遅延差以上である。
第1タイミング生成カウンタ112は、当該同期信号を受信すると、当該受信タイミングをトリガとしてクロックパルス数を計数する。第1タイミング生成カウンタ112は、クロックパルス数を数える。図8(ヲ)および図8(チ)に示すように、第1タイミング生成カウンタ112は、当該クロックパルス数が閾値Thの整数倍を超える度に擬似先頭情報を生成する。
第1タイミング生成カウンタ112は、クロックパルス数の計数値N_p0がThの整数倍を超える度にfloor(N_p0,Th)の演算を行う。図8(チ)および図8(ホ)に示すように、第1タイミング生成カウンタ112は、当該演算結果が変化するたびに、擬似受信フレーム番号として「0」、「1」、「2」、および「3」を生成する。
本実施形態において、擬似受信フレーム番号数の上限を4とすると、擬似受信フレーム番号が「3」に達した段階で、第1タイミング生成カウンタ112は擬似受信フレーム番号を0にリセットする。また、第1タイミング生成カウンタ112はクロックパルスの計数値を0にリセットする。
図8(ハ)、(ニ)、(ワ)、(リ)、および(ヘ)に示すように、第2タイミング生成カウンタ162は、第1タイミング生成カウンタ112と同様の手法で1系の擬似先頭情報および擬似受信フレーム番号を生成する。
本実施形態において、第1書込アドレス保持部1321が0系側書き込みアドレスを保持する動作は第1実施形態と同様であるが、埋め込まれた同期信号の受信をトリガとして、当該アドレスを保持する動作を行う点が第1実施形態との差異である。すなわち、第1タイミング生成カウンタ112は受信フレームを受信すると、埋め込まれた同期信号を抽出する。
タイミング生成カウンタ112は同期信号に基づいて擬似先頭情報および擬似受信フレーム番号を生成し、アドレス同期処理部132に出力する。第1書込アドレス保持部1321は、擬似先頭情報が「1」でかつ擬似受信フレーム番号が最初に「0」を示すタイミングで、0系側書き込みアドレスsWA0(n)を保持し、減算部1323に対して出力する。
本実施形態において、1系の動作についても0系の動作と同様である。すなわち、第2タイミング生成カウンタ162は受信フレームを受信すると、埋め込まれた同期信号を抽出する。第2タイミング生成カウンタ162は同期信号に基づいて擬似先頭情報および擬似受信フレーム番号を生成し、アドレス同期処理部132に出力する。第2書込アドレス保持部1322は、擬似先頭情報が「1」でかつ擬似受信フレーム番号が最初に「0」を示すタイミングで、1系側書き込みアドレスsWA1(j)を保持し、減算部1323に対して出力する。
減算部1323は、0系側書き込みアドレスsWA0(n)および1系側書き込みアドレスsWA1(j)に基づいてアドレス差分sDLT_WAを計算し、結果を書込アドレス差分保持部1324に出力する。減算部1323の動作は第1実施形態と同様なので説明を省略する。
図8において現用系は0系である。1系の経路が用いられることを読み出し系選択番号が示す場合、書込アドレス差分保持部1324は書き込みアドレス差分sDLT_WAをsDLT_WA_SELとして保持し、第1書込アドレス生成カウンタ1325に出力する。
なお、書込アドレス差分保持部1324が書き込みアドレス差分sDLT_WAをsDLT_WA_SELとして保持するタイミングは、第1受信部110が埋め込まれた同期信号を受信した後、0系の擬似先頭情報を受信し、0系の擬似先頭情報が「1」かつ0系の擬似受信フレーム番号が最初に「1」を示すタイミングである。
1系の経路が用いられることを読み出し系選択番号が示す場合、第1書込アドレス生成カウンタ1325は、式2に基づいて1系側の書き込みアドレスを0系側に一致させ、当該アドレスを第1書込上位アドレス付与部1326に出力する。
なお、1系側の書き込みアドレスを0系側に一致させるタイミングは、第1タイミング生成カウンタ112が、埋め込まれた同期信号を受信した後、0系の擬似先頭情報を生成し、当該0系の疑似先頭情報が「1」で、かつ0系の擬似受信フレーム番号が最初に「2」を示す場合である。なお、0系は現用系なので、第1書込アドレス生成カウンタ1325は0系の書き込みアドレス同期処理を行わない。
図8は現用系が0系であって、通信装置10が伝送路を1系に切り替える場合の動作に係るが、現用系が1系であって、通信装置10が伝送路を0系に切り替える場合の動作についても適用可能である。また、本実施形態では1系の遅延が0系の遅延よりも大きい場合を例として説明したが、遅延量の大小関係が逆であっても構わない。
以上説明した第3実施形態の通信装置10によれば、0系/1系の伝送路間の遅延量が大きい場合であっても0系/1系の無瞬断切り替えに必要なデータの位相調整を、フレーム中に同期信号を挿入することによって、0系/1系間の遅延量の大きさによらず正しく位相調整を行う。これにより、伝送路間の遅延が大きい場合であっても無瞬断の経路切替を行い、伝送路の信頼性を高めることが可能となる。
(第4実施形態)
次に、本発明の第4実施形態における処理について、第1実施形態、第2実施形態、および第3実施形態との相違点を中心として説明する。図9は、本発明の第4実施形態に係る通信装置10aの機能構成例を示す概略ブロック図である。図9において、通信装置10aは図1の構成に加えて第1送信部190および第2送信部200をさらに備える。
また、通信装置10aの管理部20は第1受信部110a、第2受信部160a、第1送信部190、第2送信部200、および遅延差検出部120aは管理部20に接続されている。なお、管理部20は通信装置10aおよび管理部20は同一装置筐体内に含まれていても良い。
図10は、第4実施形態に係る通信システム1の構成例を示す概略ブロック図である。通信システム1において、2つの通信装置10a−1および通信装置10a−2が、0系の経路R0および1系の経路R1によって互いに接続され、双方向通信を行う。経路R0および経路R1は物理的に離れて敷設されていて、いずれかの経路に障害が発生した場合においても他方の経路は通信が可能である。0系の経路R0および1系の経路R1は互いに経路長が異なるため、通信装置10a−1および通信装置10a−2間の通信において経路間の伝搬遅延は異なる。0系の経路R0は伝送媒体F1およびF2を備え、1系の経路R1は伝送媒体F3およびF4を備える。伝送媒体F1、F2、F3、およびF4は例えば光ファイバであっても良い。
通信装置10a−1は管理部20−1と接続される。通信装置10a−1は、第1受信部110a−1、第1送信部190−1、第2受信部160a−1、および第2送信部200−1を備える。通信装置10a−1は遅延差検出部120a、同期書込制御部130、記憶部140、読出制御部150、およびフレーム選択部170も備えるが、図10においてはそれらを図示していない。
通信装置10a−2は管理部20−2と接続される。通信装置10a−2は、第1受信部110a−2、第1送信部190−2、第2受信部160a−2、および第2送信部200−2を備える。通信装置10a−2は遅延差検出部120a、同期書込制御部130、記憶部140、読出制御部150、およびフレーム選択部170も備えるが、図10においてはそれらを図示していない。
通信装置10a−1および通信装置10a−2は接続されると、例えば電源投入時等の初期状態において、管理部20−1は第1受信部110a−1、第1送信部190−1、第2受信部160a−1、第2送信部200−1および遅延差検出部120a−1を制御して0系の経路R0と1系の経路R1間の伝搬遅延を測定しても良い。遅延差検出部120a−1は測定した遅延量を管理部20−1に出力し、遅延差検出部120a−2は測定した遅延量を管理部20−2に出力する。2経路間の伝搬遅延が所定の遅延量Th_lat以下の場合は、通信システム1は第1実施形態または第2実施形態に記載した手法で経路切替を行っても良い。
この場合、管理部20−1は第1送信部190−1および第2送信部200−1に対して、第1実施形態または第2実施形態に記載の手法で先頭情報を送信させるように制御する。管理部20−2は第1送信部190−2および第2送信部200−2に対して、第1実施形態または第2実施形態に記載の手法で先頭情報を送信させるように制御する。
そして、管理部20−1は第1受信部110a−1または第1タイミング生成カウンタ112a−1、および第2受信部160a−1または第2タイミング生成カウンタ162a−1に対して、第1実施形態または第2実施形態に記載の手法で先頭情報を取得し、フレーム番号を生成するよう制御する。管理部20−2は第1受信部110a−2また第1タイミング生成カウンタ112a−2、および第2受信部160a−2または第2タイミング生成カウンタ162a−2に対して、第1実施形態または第2実施形態に記載の手法で先頭情報を取得し、フレーム番号を生成するよう制御する。この結果、通信装置10a−1および通信装置10a−2は、第1実施形態または第2実施形態に記載の手法で経路切替を行う。
2経路間の伝搬遅延が所定の遅延量Th_latを超える場合は、通信システム1は第3実施形態に記載した手法で経路切替を行っても良い。その場合、通信装置10a−1は、第1タイミング生成カウンタ112a−1および第2タイミング生成カウンタ162a−1を備える。また、通信システム1が第3実施形態に記載した手法で経路切替を行う場合、通信装置10a−2は、第1タイミング生成カウンタ112a−2および第2タイミング生成カウンタ162a−2を備える。
なお、第1タイミング生成カウンタ112a−1、第1タイミング生成カウンタ112a−2、第2タイミング生成カウンタ162a−1、および第2タイミング生成カウンタ162a−2については図示していない。管理部20−1は第1送信部190−1および第2送信部200−1に対して、第3実施形態に記載の手法で同期信号を送信させるように制御する。同様に、管理部20−2は第1送信部190−2および第2送信部200−2に対して、第3実施形態に記載の手法で同期信号を送信させるように制御する。
そして、管理部20−1は第1タイミング生成カウンタ112a−1および第2タイミング生成カウンタ162a−1に対して、第3実施形態に記載の手法で擬似先頭情報を生成し、擬似受信フレーム番号を生成するよう制御する。
管理部20−2は第1タイミング生成カウンタ112a−2および第2タイミング生成カウンタ162a−2に対して、第3実施形態に記載の手法で擬似先頭情報を生成し、擬似受信フレーム番号を生成するよう制御する。この結果、通信装置10a−1および通信装置10a−2は、第3実施形態に記載の手法で経路切替を行う。本実施形態において、例えばフレーム番号数が4の場合は、当該所定の遅延量Th_latはフレーム長の4倍であっても良い。
以上説明した第4実施形態の通信装置10aおよび通信システム1によれば、通信装置10aは管理部20をさらに用いることにより、0系/1系の伝送路間の遅延量に基づいて適切な経路切替手法を選択することができる。これにより、伝送路間の遅延量に応じて適切な経路切替手段を選択することで無瞬断の経路切替を行い、伝送路の信頼性を高めることが可能となる。
図11は、本発明に係る通信装置10の最小構成を示す図である。通信装置10は、複数の第1データフレームと複数の第2データフレームとの遅延差を検出する遅延差検出部120と、同期書込制御部130と、記憶部140と、読出制御部150と、前記複数の第1データフレームおよび前記複数の第2データフレームに基づいて選択制御情報を生成するフレーム選択部170と、を備え、前記同期書込制御部130は、前記第1情報と前記第2情報と前記遅延差と前記選択制御情報とに基づいて、前記複数の第1データフレームを前記記憶部140の第1のアドレスに書き込み、前記複数の第2データフレームを前記記憶部140の第2のアドレスに書き込み、前記読出制御部150は、前記選択制御情報に基づいて、前記複数の第1データフレームおよび前記複数の第2データフレームのいずれかを前記記憶部140から読み出す。
なお、第1受信部110、遅延差検出部120、同期書込制御部130、読出制御部150、および第2受信部160の少なくとも1つの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりコネクタ110−1の嵌合状態の検出を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。