(57)【特許請求の範囲】
【請求項１】
入力データを格納する第１のバッファと、この第１のバッファから読み出したデータの書き込み／読み出しを行う第１のキューを備えた稼働系と、
入力データを格納する第２のバッファと、この第２のバッファから読み出したデータの書き込み／読み出しを行う第２のキューを備えた待機系と、
前記第１及び第２のバッファにデータがあるとき、データ有り信号を前記稼動系から前記待機系へ供給するとともに前記待機系から前記稼動系へ供給する第１の手段と、
前記第１及び第２のキューへリード／ライトを指令するリード／ライト開始、及びリード／ライト種別、及び前記第１及び第２のキュー内のデータ数を示すキュー内データ数を含む交絡信号を前記稼動系から前記待機系へ供給するとともに前記待機系から前記稼動系へ供給する第２の手段とを備え、
前記第１の手段は、前記稼動系及び前記待機系が前記待機系及び前記稼動系から前記データ有り信号を供給されたとき、前記第１及び第２のバッファへの新たなデータへの入力を禁止し、かつ前記第１及び第２のバッファから前記第１及び第２のキューへのデータの出力を許容し、
前記第２の手段は、前記稼動系及び前記待機系が前記待機系及び前記稼動系から供給される前記交絡信号中のライト指令によって前記第１及び第２のキューへ前記第１及び第２のバッファから出力されるデータを書き込み、前記交絡信号中の前記キュー内データ数が前記第１及び第２のキュー内のデータ数の一致を示したとき、前記交絡信号中のリード指令によって前記第１及び第２のキューからデータを読み出し、前記キュー内のデータ数が不一致のとき、前記第１及び第２のキューからデータの読み出しを行わないことを特徴とする二重化キュー同期化方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、二重化キュー同期化方式に関し、特に、二重化の各々の系で外部からのデータをキューイングする際、各系に異なるタイミングでデータが入力された場合でも、簡単な構成により同期化動作を可能にする二重化キュー同期化方式に関する。
【０００２】
【従来の技術】
通信システム等において信頼性が要求される場合、一般に二重化が採用され、運転中の系に障害が発生した時に他方の系に切り替えることにより、運転が中断されないようにし、システムとしての信頼性を保証している。
【０００３】
例えば、特開２０００−２８６８５９号公報においては、切り換え等があっても既に確立している通信コネクションを何の矛盾もなく引き継ぎが行えるするため、０系及び１系のデータ交換部と、入力回線対応部と、出力回線対応部によりネットワーク機器が二重化されており、０系及び１系のデータ交換部のそれぞれは、共通バッファメモリを備え、この共通バッファメモリの制御及び回線対応部の内部セル転送手段を同じ周期、同じ位相のクロックに同期し、同じスタートパルスを基点に、同じ順序で同じ周期の時分割多重動作をするように構成されている。
【０００４】
また、特開平１１−２７２８０号公報においては、入・出力のインターフェース部、現用系スイッチ部、及び予備系スイッチ部を備えて構成されるＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）通信装置の無瞬断切替方式において、遅延優先クラスに対応した複数のキューに対して順次切替制御セルを送出するようにし、キュー単位で現用系スイッチ部の蓄積セル状態と予備系スイッチ部の蓄積セル状態とを合わせ込み、遅延優先クラスを備える無瞬断切替方式にあって、切り替えに伴うセル遅延を生じることなく、無瞬断で冗長切り替えが行われるようにしている。
【０００５】
【発明が解決しようとする課題】
しかし、従来の二重化キュー同期化方式によると、二重化構成を採用したために、両系の二重化制御（同期化処理）という複雑な処理が必要になる。そのために不具合が発生することが懸念される。もし、同期化動作を簡易に実現することができれば、システムの信頼性を向上させる上で、非常に有効になると考えられる。
したがって、本発明の目的は、二重化の各系で外部からのデータをキューイングする際、各系に異なるタイミングでデータが入力された場合でも、簡単な構成により同期化の動作を可能にする二重化キュー同期化方式を提供することにある。
【０００６】
【課題を解決するための手段】
本発明は、上記の目的を達成するため、入力データを格納する第１のバッファと、この第１のバッファから読み出したデータの書き込み／読み出しを行う第１のキューを備えた稼働系と、入力データを格納する第２のバッファと、この第２のバッファから読み出したデータの書き込み／読み出しを行う第２のキューを備えた待機系と、前記第１及び第２のバッファにデータがあるとき、データ有り信号を前記稼動系から前記待機系へ供給するとともに前記待機系から前記稼動系へ供給する第１の手段と、前記第１及び第２のキューへリード／ライトを指令するリード／ライト開始、及びリード／ライト種別、及び前記第１及び第２のキュー内のデータ数を示すキュー内データ数を含む交絡信号を前記稼動系から前記待機系へ供給するとともに前記待機系から前記稼動系へ供給する第２の手段とを備え、前記第１の手段は、前記稼動系及び前記待機系が前記待機系及び前記稼動系から前記データ有り信号を供給されたとき、前記第１及び第２のバッファへの新たなデータへの入力を禁止し、かつ前記第１及び第２のキューへの出力を許容し、前記第２の手段は、前記稼動系及び前記待機系が前記待機系及び前記稼動系から供給される前記交絡信号中のライト指令によって前記第１及び第２のキューへ前記第１及び第２のバッファから出力されるデータを書き込み、前記交絡信号中の前記キュー内データ数が前記第１及び第２のキュー内のデータ数の一致を示したとき、前記交絡信号中のリード指令によって前記第１及び第２のキューからデータを読み出し、前記キュー内のデータ数が不一致のとき、前記データの読み出しを行わないことを特徴とする二重化キュー同期化方式を提供することにある。
【０００７】
【発明の実施の形態】
以下、本発明の実施の形態について図面を基に説明する。
【０００８】
図１は、本発明の二重化キュー同期化方式の構成を示す。
【０００９】
本発明の二重化キュー同期化方式は、稼働系１０と待機系２０を備えて構成されており、これらは、例えば交換機やＡＴＭに用いられる。稼働系（ＡＣＴ系）１０は、バッファ（ｂｕｆｆｅｒ）３ａ（第１のバッファ）とキュー（ｑｕｅｕｅ）１ａ（第１のキュー）を備えて構成され、待機系２０はバッファ３ｂ（第２のバッファ）とキュー１ｂ（第２のキュー）を備えて構成されている。キュー１ａ，１ｂとしては、例えば、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）と呼ばれる集積回路を用いることができる。バッファ３ａには外部から入力された入力データ２ａが一時的に格納され、キュー１ａにはバッファ３ａから読み出されたデータの書き込み（ライト）及び読み出し（リード）が行われ、出力信号８ａが出力される。待機系（ＳＢＹ系）２０は、バッファ３ｂとキュー１ｂを備え、バッファ３ｂには外部から入力された入力データ２ｂが一時的に格納され、キュー１ｂにはバッファ３ｂから読み出されたデータの書き込み及び読み出しが行われ、出力信号８ｂが出力される。
稼働系１０及び待機系２０には、バッファ３ａ，３ｂにデータがあることを示すレベル信号（データ有り信号）４ａ，４ｂ、同期動作を実現するために必要な参照クロック５、及び参照フレーム６が入力される。稼働系１０には同期情報を含む交絡信号７ａが入力され、同様に、待機系２０には交絡信号７ｂが入力される。
図２は、データ有り信号４ａ，４ｂ、参照クロック５、参照フレーム６、及び交絡信号７ａ（７ｂ）の動作タイミングを示す。図１及び図２を参照して本発明の動作を説明する。
【００１０】
図１において、待機系２０が稼働系１０の指示に従って動作することにより同期が実現する。まず、データ有り信号４ａ，４ｂ、参照クロック５、参照フレーム６、及び交絡信号７ａ，７ｂが、図２に示すタイミングで出力される。参照クロック５は、稼働系１０及び待機系２０の両系でシステムクロックとして使用される。また、交絡信号７ａ，７ｂは時分割のシリアル信号とする。シリアル信号にすることによって、両系間の信号数を減らすことが可能になる。なお、データ有り信号を交絡信号に含めることも可能である。ここでは、交絡信号７ａ，７ｂに、「Ｒ（リード）／Ｗ（ライト）開始」、「Ｒ／Ｗ種別」、「キュー内データ数」を割り付けている。
図３は、交絡信号７ａ（７ｂ）のデータの割り付け例を示す。ここでは、シリアルデータを８ビット単位のタイムスロット（  ｔｉｍｅ  ｓｌｏｔ：ＴＳ）に分類した場合のＴＳ＃０〜ＴＳ＃ｎのデータ割付例を示している。参照フレーム６が発生すると、交絡信号７ａ（７ｂ）が出力される。ＴＳ＃０にはＲ／Ｗ開始とＲ／Ｗ種別が割り付けられ、ＴＳ＃１〜ＴＳ＃ｎにはキュー内データ数（ｄ．ｃ．）が割り付けられる。ＴＳ＃ｎに合わせて２つ目の参照フレーム６が発生する。ここで、Ｒ／Ｗ開始、Ｒ／Ｗ種別、及びキュー内データ数の詳細を示せば、〔表１〕のようになる。
【００１１】
【表１】
0003591491.tif 000002
【００１２】
入力データ２ａ，２ｂは、それぞれバッファ３ａ，３ｂに一旦保持され、データ有り信号４ａ，４ｂをそれぞれ図２の通りハイレベルにする。また、データ有り信号４ａ，４ｂは、キュー１ａ，１ｂへの書き込みが完了すると、ローレベルになる。
図４は、キュー書き込み時の動作シーケンスを示す。図中、Ｓはステップを表している。
【００１３】
稼働系１０は、バッファ３ａ内にデータが有り（Ｓ１０１）、かつ、待機系２０からのデータ有り信号４ｂが「データ有」である場合、図３に示す様に、次の参照フレーム６の先頭において、「Ｒ／Ｗ開始＝０×５」と「Ｒ／Ｗ種別＝０×１」の情報を交絡信号７ａの１フレーム間に挿入する（Ｓ１０２）。ここで、データ有り信号４ａ，４ｂを、それぞれ受信側でプルアップ処置をしておけば、仮に待機系２０が未実装の場合でも、稼働系１０のみによる動作が可能になる。
待機系２０は、稼働系１０からの交絡信号７ａを受信し、その情報を基にキュー１ｂにキュー書き込みの準備を開始する（Ｓ１０３）。そして、稼働系１０と待機系２０が共に次の参照フレーム６の先頭からキューの書き込みを実施することにより（Ｓ１０４，Ｓ１０５）、同期動作を実現する。
ここで、待機系２０において、稼働系１０よりのキュー書き込み指示を受信して、キュー書き込みの準備が完了する時間よりも、次の交絡フレーム７ａの先頭が来る時間の方が十分に長くなるように、参照フレーム６の周期を設定するものとする（具体的には、次の交絡フレームの先頭までに待機系２０では準備を完了させる）。また、バッファ３ａ，３ｂにデータが有り、キュー１ａ，１ｂへの書き込みが完了していない間は、新しい入力データ２ａ，２ｂのバッファ３ａ，３ｂへの書き込みは禁止とする。これは、バッファ３ａ，３ｂ内にデータのある時に入力されたデータは、破棄する仕様とするか、データの入力タイミングの条件に従って参照クロック５および参照フレーム６の周期を短くする必要がある。
図５は、キュー読み出し時の動作シーケンスを示す。
【００１４】
稼働系１０は、キュー１ａ内にデータがある場合（Ｓ２０１）、図３に示す次の参照フレーム６の先頭において、「Ｒ／Ｗ開始＝０×５」、「Ｒ／Ｗ種別＝０×０」の情報を交絡信号に１フレーム間のみ挿入する（Ｓ２０２）。待機系２０は稼働系１０からの交絡信号７ａを受信し、その情報に従ってキュー読み出しの準備をする（Ｓ２０４，Ｓ２０５）。
但し、読み出しの場合、待機系２０では交絡信号内の「キュー内データ数」も参照し、稼働系１０のキュー内データ数と自系（待機系２０）のキュー内データ数の照合を行い、等しい場合は読み出し準備完了とし、等しくない場合は読み出し処理は行わない。その後、両系共に次の参照フレーム６の先頭からキューの読み出しを実施することにより、同期動作を実現する（キュー内データ数が両系で等しくない間は同期動作は行えない）。なお、幾つかの細かい仕様について、以下に列挙する。
（１）書き込みおよび読み出しの実施中は、新しく書き込み又は読み出しのアクションは起こさないものとする。
（２）稼働系１０によるキュー書き込みも読み出しも可能な場合は、書き込みを優先するものとする。このとき、キュー内のデータ数が最大になった場合の考慮が必要である。キュー１ａ内のデータ数が最大の場合は入力データ２ａを破棄するか、外部側でキュー内のデータ数が最大の間は入力データ２ａを送出しない等の仕様にすることが必要である。但し、読み出し優先の仕様にすることも可能である。この場合は、バッファ３ａにデータがある時も書き込みを待ち合わせするケースが発生するため、バッファ３ａにデータがある場合に新規に入力データ２ａが来た場合の仕様について明確にしておく必要がある。
以上説明したように、本発明の実施の形態によれば、二重化を図ったシステムにおいて、キューの書き込み／読み出しの同期動作をハードウェア論理によって簡単に実現できるため、プロセッサおよびその周辺回路が不要になるほか、プロセッサ用制御プログラムも設計する必要がなくなる。また、稼働系１０と待機系２０の両系を同期化させて動作するものの、待機系が未実装の場合も動作が可能であり、片系故障時の回路基板交換も可能になる。
【００１５】
【発明の効果】
以上より明らかなように、本発明の二重化キュー同期化方式によれば、第１の手段により、稼働系及び待機系の各バッファにデータが有ると、システムクロックに同期して稼働系から待機系へ交絡信号が送られ、これに基づいて両系のそれぞれにキューへの書き込みが開始され、第２の手段により、稼働系のキュー内にデータが有ると、稼働系から待機系へ交絡信号が伝送され、これに基づいてキュー内のデータ数が両系で一致するとき、前記キューからの読み出しが開始されるようにしたので、ハードウェアによることなく、所定の内容の交絡信号を待機系側へ送るのみで簡単にキューの書き込み／読み出しの同期動作が可能になり、外部からのデータをキューイングする際、稼働系と待機系に異なるタイミングでデータが入力されたとしても、同期化が可能になる。
【図面の簡単な説明】
【図１】本発明の二重化キュー同期化方式を示すブロック図である。
【図２】データ有り信号、参照クロック、参照フレーム、及び交絡信号の動作タイミングを示すタイミングチャートである。
【図３】交絡信号のデータの割り付け例を示す説明図である。
【図４】キュー書き込み時の動作を示すシーケンス図である。
【図５】キュー読み出し時の動作を示すシーケンス図である。
【符号の説明】
１ａ，１ｂ  キュー
２ａ，２ｂ  入力データ
３ａ，３ｂ  バッファ
４ａ，４ｂ  データ有り信号
５  参照クロック
６  参照フレーム
７ａ，７ｂ  交絡信号
８ａ，８ｂ  出力信号
１０  稼働系
２０  待機系
【図１】
0003591491.tif 000003
【図２】
0003591491.tif 000004
【図３】
0003591491.tif 000005
【図４】
0003591491.tif 000006
【図５】
0003591491.tif 000007