(58)【調査した分野】(Int.Cl.,DB名)
前記遅延差算出部は、遅延していない伝送路で前記同期信号が検出されてから、最初に遅延している前記伝送路で前記同期信号が検出されるまでの時間を前記遅延量とする、
請求項1から請求項5の何れか1項に記載の無瞬断切替装置。
【発明を実施するための形態】
【0012】
以下、本発明の一実施形態に係る伝送データの無瞬断切り替え方法について図面を参照して説明する。
図1は、本発明の一実施形態に係る伝送システムの一例を示す概略図である。
伝送システム1は、伝送装置2,4を含む。伝送装置2,4は、冗長化された伝送路を用いてデータの送受信を行う。例えば、0系の伝送路は現用系、1系の伝送路は予備系の伝送路である。現用系とは、現在使用されている伝送路である。予備系とは、現用系に問題が生じた際に使用するバックアップの伝送路である。伝送装置2では、送信部3が、0系と1系の伝送路を通じてデータを伝送装置4へ送信する。この際、送信部3は、送信データの各フレームに同期信号を含めて送信する。伝送装置4では、受信部5がデータを受信する。このとき、無瞬断切替装置10が、0系の伝送路を通じて送信されたデータと、1系の伝送路を通じて送信されたデータについて正常かどうかを監視する。正常な場合は、現用系(0系)の伝送路を通じて送信されたデータを選択して、受信部5に受信データとして出力する。また、現用系のデータに異常が検出された場合、無瞬断切替装置10は、現用系と予備系を切り替え、新しく現用系として選択した1系で受信したデータを選択して、受信部5に出力する。信頼性を高めるため、無瞬断切替装置10には、現用系の伝送路に異常を検出した際に予備系の伝送路に無瞬断に切替えることが求められる。一般に0系、1系で送信されたデータには遅延差がある。無瞬断切替装置10は、送信データに含まれる同期信号を用いて、現用系と予備系の遅延差を同期させ、伝送路の無瞬断に切り替えを実現する。
【0013】
(構成)
図2は、本発明の一実施形態に係る無瞬断切替装置のブロック図である。
図示するように無瞬断切替装置10は、フレーム先頭情報検出部100と、データ同期書き込み部110と、メモリ部120と、入力エラー監視部130と、データ読出制御部140と、レート監視部150と、を備える。
【0014】
フレーム先頭情報検出部100は、フレームの先頭パケットに含まれる同期信号を検出する。ここで、通信によって伝送する情報をデータとする。データを特定の規則で分割し、各種制御情報を付加したものをパケットとする。パケットが一定数集まったものをフレームとする。本実施形態では、パケットの制御情報の中に、そのパケットがフレームを構成するパケットのうちの先頭パケットか否かを示す1ビットのフラグを設け、先頭のパケットには「1」、先頭以外のパケットには「0」を設定する。フレーム先頭情報検出部100は、受信したデータの各パケットから、このフラグの値を読み出す。以下、フラグの値を先頭情報と記載する。
フレーム先頭情報検出部100は、0系の伝送路で送信されたフレームの先頭情報を検出するフレーム先頭情報検出部101と、1系の伝送路で送信されたフレームの先頭情報を検出するフレーム先頭情報検出部102と、を備える。
【0015】
データ同期書き込み部110は、現用系、予備系のデータを同期してメモリ部120に書き込む。データ同期書き込み部110は、生成多項式計算部111,113と、遅延差計測部112と、書込みアドレス同期処理部114と、メモリ書込み制御部115,116とを備える。
生成多項式計算部111は、0系で受信したデータについて、所定の生成多項式による除算処理を行う。
生成多項式計算部113は、1系で受信したデータについて、所定の生成多項式による除算処理を行う。生成多項式は、データ送受信のCRCチェック用のものを用いることができる。
遅延差計測部112は、生成多項式計算部111による除算処理の結果と、生成多項式計算部113による除算処理の結果とを比較して、0系、1系で受信したデータの遅延関係(どちらが遅延しているか)、遅延量を計測する。
書込みアドレス同期処理部114は、0系、1系それぞれで受信したデータのメモリ部120への書き込みアドレスを生成する。
メモリ書込み制御部115は、書込みアドレス同期処理部114が生成した0系用のアドレスへ、0系で受信したデータを書き込む。
メモリ書込み制御部116は、書込みアドレス同期処理部114が生成した1系用のアドレスへ、1系で受信したデータを書き込む。
【0016】
メモリ部120は、0系、1系それぞれで受信したデータを一時格納する。
入力エラー監視部130は、0系、1系それぞれで受信したデータについて、正常性をチェックする。入力エラー監視部130は、チェック結果をアラーム情報として、後述するActivePort制御部142へ出力する。
レート監視部150は、現用系の伝送路で受信したデータのメモリ120への書込みレートを監視する。レート監視部150は、現用系の書込みレートを、読出しレート制御部143へ出力する。
【0017】
データ読出制御部140は、メモリ部120からデータの読み出しを行う。データ読出制御部140は、メモリ読出制御部141と、ActivePort制御部142と、読出しレート制御部143と、を備える。
ActivePort制御部142は、入力エラー監視部130から出力されたアラーム情報およびユーザの設定に基づいて、有効なポート(0系又は1系)を選択する。選択されたポートは現用系を示す。例えば、ユーザの設定操作により、無瞬断切替装置10のCPUが0系を現用系に設定しているとする。入力エラー監視部130から取得したアラーム情報に0系の異常が含まれていない場合、ActivePort制御部142は、0系を有効なポートとして選択する。入力エラー監視部130は、選択した有効なポートをメモリ読出制御部141と、レート監視部150とに出力する。
読出しレート制御部143は、メモリ部120への受信データの書き込みレートに合わせて、同じレートで受信データを読み出すよう制御する。
メモリ読出制御部141は、メモリ部120の現用系の伝送路で受信したデータが書き込まれたアドレスから、読出しレート制御部143が指定する読み出しレートでデータを読み出す。
【0018】
(動作)
次に無瞬断切替装置10の動作について説明する。大まかなデータの流れを説明する。まず、受信データは、フレーム先頭情報検出部100と、データ同期書き込み部110とに入力される。フレーム先頭情報検出部100は、先頭情報を抽出してデータ同期書き込み部110へ出力する。データ同期書き込み部110は、先頭情報の時系列情報を用いて、0系と1系の受信データを同期させてメモリ部120に書き込む。データ読出制御部140は、入力エラー監視部130やレート監視部150と協調して、メモリ部120から現用系の伝送路で受信したデータを読み出して、
図1の受信部5側へ出力する。次に各工程の処理についてより詳しく説明する。
【0019】
図3、
図4は、それぞれ、本発明の一実施形態による切り替え制御を説明する第1の図、第2の図である。
図3、
図4に受信データに対するフレーム先頭情報検出部100およびデータ同期書き込み部110による処理のタイミングチャートを示す。
図3を参照して、0系の伝送路よりも1系の伝送路から受信するデータの方が遅れて伝送される場合の処理例を説明する。0系、1系の2つの伝送路を通じて、遅延差はあるが全く同一のフレーム(
図3の(イ)(ハ))が、フレーム先頭情報検出部101,102へ入力される。図(3)の(イ)、(ハ)に示す1、2、3は、受信した順にフレーム1、フレーム2、フレーム3を示す。同じ番号が付されたフレームは同内容である。
【0020】
<1.データの受信および先頭情報の抽出処理>
まず、0系にて、フレーム1、フレーム2、フレーム3・・・のデータを受信する。各フレームの先頭パケットには先頭情報「1」、後続のパケットには先頭情報「0」が含まれている。フレーム先頭情報検出部101は、先頭情報を抽出して「1」、「0」の時系列情報を生成し、データ同期書き込み部110へ出力する(
図3の(ロ))。データ同期書き込み部110へは、先頭情報と並行して(同期して)、受信データ(受信フレーム1〜3等)が順次送出される。
【0021】
1系についても同様である。
図3(ハ)に0系よりも遅れてフレーム1〜3・・・が到着した様子を示す。フレーム先頭情報検出部102は、各フレームの先頭情報を抽出し、先頭情報の時系列情報を生成して、データ同期書き込み部110へ出力する(
図3の(二))。
【0022】
<2.遅延量の計測処理>
データ同期書き込み部110では、生成多項式計算部111が、フレーム先頭情報検出部101から取得した先頭情報「1」に基づいて、受信データから各受信フレームを切り出す。例えば、最初に先頭情報「1」を検出してから、次に先頭情報「1」を検出する手前までの受信データを1つのフレーム(
図3の例ではフレーム1)として認識し、所定の生成多項式(例えば、CRC符号の算出に用いる式)による除算処理を行う。生成多項式計算部111は、除算処理の結果を、遅延差計測部112に出力する。除算結果の時系列の変化を
図3の(ホ)に示す。
図3の(ホ)の「1」、「2」・・・は、各タイミングで生成多項式計算部111から遅延差計測部112へ出力された除算結果が、それぞれ「フレーム1」、「フレーム2」を除算した場合の値であることを示している。図示するように、生成多項式計算部111は、フレーム1を受信し終えて、次のフレーム2の先頭情報が検出されると、その後にフレーム1に対する生成多項式による除算処理を行う。生成多項式計算部111による除算結果は、フレーム3の先頭情報が検出された後に、フレーム2に対する生成多項式による除算処理が行われるまで変わらない。
【0023】
1系についても同様である。生成多項式計算部113は、先頭情報「1」から、次のフレーム先頭情報「1」の直前までのフレームについて、生成多項式による除算処理を行う。生成多項式計算部113は、除算結果を遅延差計測部112に出力する。除算結果の時系列情報を
図3の(ヘ)に示す。
【0024】
遅延差計測部112は、生成多項式による除算結果(
図3(ホ)、(へ))と、例えば、0系のフレームの先頭情報(
図3(ロ))から、0系と1系の遅延差を計算する。0系を基準とすると、遅延差計測部112は、0系と1系の除算結果が比較可能な期間(時刻T1以降)において、0系で先頭情報「1」が検出されると、その検出の前(例えば、1ビット分前)までに、0系、1系それぞれの伝送路が受信し終えたフレームについての除算結果を比較する。
図3の場合、0系と1系の除算結果を比較可能な期間で、且つ、0系で先頭情報「1」が検出されるのはフレーム3の先頭情報「1」が検出されたときである。そのときに比較可能な除算結果は、共にフレーム1についての除算結果である。この場合、除算対象が同じなので0系と1系での除算結果は一致する。除算結果が一致する場合、遅延差計測部112は、基準となる0系に対して、1系が遅延していると判定する。また、その遅延量は、先行する0系で先頭情報「1」を検出してから、1系で最初に先頭情報「1」を検出するまでの間である。この例では、
図3に示す「遅延差A」が遅延量である。遅延差計測部112は、フレーム先頭情報検出部101が出力した先頭情報の時系列情報(
図3(ロ))と、フレーム先頭情報検出部102が出力した先頭情報の時系列情報(
図3(二))とに基づいて、遅延差Aを算出する。遅延差計測部112は、0系に対して1系が「遅延差A」だけ遅延していることを示す遅延差情報を書込みアドレス同期処理部114へ出力する。
【0025】
次に
図4を参照して、1系の伝送路よりも0系の伝送路から受信するデータの方が遅れて伝送される場合の処理例を説明する。
図4における(イ)〜(ト)のグラフの意味は、
図3で説明したものと同様である。また、基準を0系とする。
図4の場合、0系よりも1系の方が、データが早く到着する。すると、0系と1系の除算結果が比較可能な期間(時刻T2以降)において、基準である0系で先頭情報「1」が検出されると(フレーム3)、遅延差計測部112は、そのタイミングで比較可能な除算結果(0系はフレーム1、1系はフレーム2)を比較する。
図3の場合と異なり、
図4の場合には、除算対象のデータが異なるため、除算結果は一致しない。除算結果が一致しない場合、遅延差計測部112は、基準となる0系に対して、1系が先行している(基準となる0系が遅延している)と判定する。また、その遅延量は、先行している1系で先頭情報「1」を検出してから、0系で最初に先頭情報「1」を検出するまでの間である。
図4の場合、「遅延差B」が遅延量である。遅延差計測部112は、
図4(ロ)、(ニ)に基づいて、遅延量を算出する。遅延差計測部112は、1系に対して0系が「遅延差B」だけ遅延していることを示す遅延差情報を書込みアドレス同期処理部114へ出力する。
【0026】
このように遅延差計測部112は、基準となる系のフレーム先頭情報検出部101又は102が出力した先頭情報の時系列情報(
図3、
図4の(ロ)又は(ニ))と、生成多項式計算部111、113が出力した生成多項式の有無(0系と1系の両方で除算結果が算出されていて比較可能かどうか)に基づいて、遅延差情報の生成タイミングを判定する。また、遅延差計測部112は、0系と1系の除算結果、つまり除算対象となるフレームが一致するかどうかによって、遅延関係(0系、1系のどちらが遅延しているか)を判定する。また、遅延差計測部112は、判定した遅延関係と、0系および1系の先頭情報のタイミングチャート(
図3と
図4の(ロ)、(ニ))に基づいて遅延量を算出する。本実施形態によれば、フレームの先頭情報のみから、簡単に伝送路間の遅延差を計測することが可能である。
【0027】
なお、
図3、
図4に例示した、遅延関係と遅延量の算出タイミングは一例である。例えば、0系と基準としてフレーム3の先頭情報「1」を検出してから、1ビット分遅れたタイミングで算出を行ってもよい。その場合、除算結果と遅延関係の判断は、上記の説明と逆になる。つまり、除算結果が一致すれば、1系が先行し、除算結果が一致しない場合、1系が遅延すると判断する。
【0028】
<3.データ同期書込み処理>
図1に戻り、データの同期書込み以降の処理について説明する。
書込みアドレス同期処理部114は、遅延差計測部112から遅延差情報を取得する。また、書込みアドレス同期処理部114は、フレーム先頭情報検出部101から0系の先頭情報の時系列データを取得し、フレーム先頭情報検出部102から1系の先頭情報の時系列データを取得する。また、書込みアドレス同期処理部114には、現用系が0系か1系かを示す情報が通知される。書込みアドレス同期処理部114は、遅延差計測部112が算出した遅延差に基づいて、0系と1系の書込み側での同期を行う。書込み側での同期とは、メモリ部120に0系と1系のデータを書き込む際のアドレスのオフセット量を算出することを意味する。オフセット量の算出にあたっては、現用系側のデータに影響が出ないように、予備系側のオフセット量を現用側に合わせ込むことで同期させる。
図3の例で、0系が現用系だとすると、0系(現用系)に対して1系(予備系)の方が遅延差Aだけ遅れているので、1系で受信したデータをメモリ部120に書き込む際に、1系の書き込みアドレスに対して、遅延差Aだけ補正することで、0系の書き込みデータと、1系の書き込みデータの同期を行う。例えば、何の補正もしない場合、時刻t1に0系で受信したデータをアドレスX1に書き込み、同じ時刻に1系で受信したデータをアドレスX2に書き込むようになっているとする。時刻t1に0系でフレーム1の受信を開始し、時刻(t1+遅延差A)に1系でフレーム1の受信を開始した場合、書込みアドレス同期処理部114は、0系(現用系)については、受信したフレーム1のデータ書き込み位置のアドレス情報をアドレスX1に設定する。また、予備系の1系については、時刻(t1+遅延差A)に受信したデータは、本来であれば、例えば、アドレスX2から「遅延差Aに相当するアドレス」分離れた値のアドレスに書き込むところを、「遅延差Aに相当するアドレス」分を補正(例えば、アドレスX2に対してプラス又はマイナスする。)したアドレスX2を算出し、補正後のアドレスX2を、1系で受信したフレーム1のデータ書き込み位置のアドレス情報として設定する。
【0029】
反対に
図4の場合は、1系の方が0系に比べ、遅延差Bだけ早いので、1系のデータをメモリ部120に書き込む際に、1系の書き込みアドレスを遅延差Bに相当するアドレス分だけ
図3の場合と逆方向に補正(
図3の場合にマイナスしていればプラスする。)することで、0系の書き込みデータと1系の書き込みデータの同期を行う。書込みアドレス同期処理部114は、1系側の書き込みアドレスを補正し、補正後の書き込みアドレスを1系用のデータ書き込み位置のアドレス情報として設定する。
書込みアドレス同期処理部114は、0系についての書き込みアドレス情報を、メモリ書込み制御部115へ出力する。書込みアドレス同期処理部114は、1系についての書き込みアドレス情報を、メモリ書込み制御部116へ出力する。
【0030】
メモリ書込み制御部115,116は、それぞれ、メモリ部120の書込みアドレス同期処理部114から指示されたアドレスに受信データの書き込みを行う。
【0031】
<4.データの正常性のチェック>
以上の処理と並行して、入力エラー監視部130は、0系のデータと1系の受信したデータを取得し、それぞれについて、受信フレームのエラーのチェックを行う。例えば、入力エラー監視部130は、0系と1系それぞれに入力フレームが存在するかなどの監視を行う。入力エラー監視部130による受信フレームの異常のチェック方法には、一般に無瞬断切替装置で用いられるチェック方法と同様の方法を適用することができる。入力エラー監視部130は、0系と1系のそれぞれについてのチェック結果を含んだアラーム情報を、次のデータ読出制御部140に出力する。
【0032】
<5.現用系の選択/切り替え>
データ読出制御部140では、ActivePort制御部142が、0系と1系のアラーム情報を取得する。ActivePort制御部142は、アラーム情報に基づいて、現用系の選択を行う。例えば、ユーザにより0系が現用系として設定されている場合、0系のアラーム情報に異常を示す情報が含まれていなければ、ActivePort制御部142は、0系を現用系に設定する。0系のアラーム情報に異常を示す情報が含まれていて、1系のアラーム情報に異常が含まれていない場合、ActivePort制御部142は、1系を現用系に設定する。つまり、現用系を0系から1系に切り替える。ActivePort制御部142は、選択した系の情報をメモリ読出制御部141と書込みレート監視部150へ出力する。
【0033】
<6.書き込みレートの監視>
書込みレート監視部150は、0系と1系のうち、ActivePort制御部142から通知される選択された系の情報に基づいて、選択されている系(現用系)における書込みレートの監視を行う。例えば、現用系が0系の場合、書込みレート監視部150は、メモリ書込み制御部115がメモリ部120へ受信データを書き込む単位時間当たりの書き込みデータ量を監視する。書込みレート監視部150は、監視により得た書き込みレートをデータ読出制御部140に出力する。
【0034】
<7.メモリからの受信データの読み出し>
データ読出制御部140では、読出しレート制御部143が書き込みレートの情報を取得する。読出しレート制御部143は、書込みレート監視部150から取得した書込みレートと同じレートで読み出しを行うよう読み出しレートを算出し、メモリ読出制御部141に読み出しレートを通知する。メモリ読出制御部141は、ActivePort制御部142から得た現用系の情報と通知された読み出しレートとに基づいて、メモリ部120に書き込まれた現用系の受信データを指定された読み出しレートで読み出す。ActivePort制御部142による現用系の選択に合わせて、例えば、メモリの上位アドレスを切り替えることで読み出し先を0系と1系で切り替えるように構成してもよい。メモリ読出制御部141は、読み出した受信フレームを受信部5へ出力する。これにより。0系と1系に冗長化された伝送路を利用して、現用系と予備系を切り替えながら、信頼性の高いデータ伝送を実現することができる。
【0035】
(作用・効果)
本実施形態に係る無瞬断切替装置10は、
図2に例示するアーキテクチャを採用し、フレームの先頭を区別できる同期信号をパケットに挿入することで現用系と予備系を切り替えることができる。また、0系と1系の無瞬断切り替えに必要な伝送路間の遅延差を、パケットの制御情報の中に、フレームの先頭情報を1ビット入れること、および、生成多項式による除算結果の一致確認により算出することができる。また、0系と1系の遅延関係が、0系が1系より遅れている場合、先行している場合の何れでも対応が可能である。従って、一般的な無瞬断切替装置で採用されている遅延大側を基準とする位相合わせを行う必要が無く、これまで無瞬断切り替えの際に制約となっていた、伝送路間の遅延差について、より柔軟に設計することが可能となる。
【0036】
なお、0系と1系の遅延差をどの程度許容するかについても重要であるが、例えば、メモリ部120の容量の増加や、所定フレーム毎(例えば、2フレーム毎)の先頭パケットの先頭情報に「1」を設定し、他のパケットにはフレームの先頭であっても「0」を設定する等の調整を行うことで、より長い遅延差を許容することができる。従って、無瞬断切替装置10は、様々な運用条件の伝送路に適用することができる。
【0037】
図5は、本発明の一実施形態における無瞬断切替装置の最小構成を示す図である。
図5に示すように無瞬断切替装置20は、少なくとも同期信号検出部21と、同一性判定部22と、遅延差算出部23とを備える。
同期信号検出部21は、複数の伝送路を介して受信したデータの各々について、データに含まれる同期信号(先頭情報「1」)を検出する。
同一性判定部22は、前記同期信号を受信するまでに各々の伝送路を介して受信したデータの同一性を判定する。
遅延差算出部23は、各々の伝送路について検出した同期信号と同一性の判定結果から、伝送路間の遅延関係および遅延量を算出する。
上記の実施形態の構成と対比すると、同期信号検出部21は、フレーム先頭情報検出部100に対応し、同一性判定部22と遅延差算出部23は、遅延差計測部112に対応する。
【0038】
図6は、本発明の一実施形態における無瞬断切替装置のハードウェア構成の一例を示す図である。
コンピュータ900は、CPU901、主記憶装置902、補助記憶装置903、入出力インタフェース904、通信インタフェース905を備える。上述の無瞬断切替装置10は、コンピュータ900に実装される。そして、上述したフレーム先頭情報検出部100、データ同期書き込み部110、メモリ部120、入力エラー監視部130、データ読出制御部140、書込みレート監視部150の各機能の一部または全部は、プログラムの形式で補助記憶装置903に記憶されている。CPU901は、プログラムを補助記憶装置903から読み出して主記憶装置902に展開し、当該プログラムに従って上記処理を実行する。また、CPU901は、プログラムに従って、記憶領域を主記憶装置902に確保する。また、CPU901は、プログラムに従って、処理中のデータを記憶する記憶領域を補助記憶装置903に確保する。
【0039】
なお、少なくとも1つの実施形態において、補助記憶装置903は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、入出力インタフェース904を介して接続される磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ900に配信される場合、配信を受けたコンピュータ900が当該プログラムを主記憶装置902に展開し、上記処理を実行しても良い。また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置903に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0040】
また、上述した無瞬断切替装置10の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field-Programmable Gate Array)等のハードウェアを用いて実現されてもよい。
【0041】
その他、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。