(57)【特許請求の範囲】
【請求項１】
プロセッサとメモリを備え、所定の処理を実行する複数の機能モジュールと、
前記複数の機能モジュールを監視制御する制御モジュールから構成されるシステムにおいて、
複数の前記機能モジュールと前記制御モジュールの間でデータの転送を行うシステムバスと、
複数の前記機能モジュールと前記制御モジュールの間で監視制御用のデータの転送を行うシリアルバスを備え、
前記制御モジュールは、さらに、前記シリアルバスを介して収集した前記機能モジュールに関する障害情報の内容を基に前記機能モジュールの再立ち上げを行う手段を備え、
前記機能モジュールは、前記制御モジュールからの指示により、前記機能モジュールのプロセッサを代行して障害データの収集および送信を行うバスマスタ制御部を備えており、
前記制御モジュールは、前記機能モジュールに対して前記機能モジュールのプロセッサのテストを実施し、その結果ソフトウェアが走行できない場合には、前記機能モジュールの前記バスマスタ制御部が、前記機能モジュールのプロセッサを代行して障害データの収集および送信を行うよう指示する手段を備える、
ことを特徴とする二重化バスシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の機能モジュールと、複数の機能モジュールを監視／制御する制御モジュールを接続する二重化バスシステムに関する。
【０００２】
例えば、パケット／セルを交換する電子交換装置において、データ転送を高速に行なうために、回線とのデータの送受信は複数の回線と接続された回線モジュールで行ない、複数の回線モジュールを制御モジュールで監視／制御を行なう構成が広く採用されている。
【０００３】
かかるシステムにおいて、障害が発生した場合、障害の切り分けと、システムの再立上げを迅速に行なうことが要求されている。
【０００４】
【従来の技術】
図８は従来例を説明する図（１）を示す。図は電子交換機の複数の回線制御モジュール１０１Ａ〜１０ｎＡをシステムバス３００でシステム制御モジュール２００Ａに接続した構成を示す。
【０００５】
図の構成において、転送を行なうデータはシステムバス３００上を転送されるとともに、システム制御モジュール２００Ａとの監視／制御データもシステムバス３００上で転送される。
【０００６】
図９は従来例を説明する図（２）を示す。図の基本構成は、図８の従来例（１）と同様であるが、システムバス３０１、３０２で二重化し、バスの信頼度を高めたものである。
【０００７】
図において、転送を行なうデータ、監視／制御データは、通常、システムバス３０１上で転送されるが、システムバス３０１に障害が発生した場合は、システムバス３０２上で転送される。
【０００８】
かかる従来例において、回線制御モジュール１０１Ａ〜１０ｎＡは、それぞれ、データ転送の制御を行なうためのマイクロプロセッサ（図示省略）を備えている。
【０００９】
このマイクロプロセッサが障害となった場合、システムバス３００を使用して、できるだけ多くの障害情報をとり、システム制御モジュール２００Ａは、その情報からシステムの再立上げを行なう。
【００１０】
また、障害が発生した回線制御モジュール１０ｉ（１０１〜１０ｎの中で障害が発生したモジュールを１０ｉと称する）Ａが再立ち上げできない場合には、ハードウェア的にリセットをかけておき、システム制御モジュール２００Ａからのヘルスチェックにより、その回線制御モジュール１０ｉＡの異常を検出する。
【００１１】
【発明が解決しようとする課題】
上述の従来例（１）においては、システムバス３００が障害となった場合には障害情報の収集を行なうことができない。また、回線制御モジュール１０ｉＡのマイクロプロセッサが障害となった場合、その障害情報を収集できない。
【００１２】
また、従来例（２）においては、システムバス３０１、３０２で二重化しているので、例えば、一方のシステムバス３０１に障害が発生しても、他方のシステムバス３０２でデータの転送は可能であるが、バスの構成が大きくなり、コストアップとなる。さらに、システムバスの一方をシリアルバスで構成することも可能である。例えば、システムバス３０２をシリアルバスで構成した場合、このシリアルバスの能力をシステムバス３０１と同等の能力を持たせることが必要であるので、バスの規模が大きくなり、コストアップとなる。
【００１３】
本発明は、システムバスと、最小限の監視／制御用のシリアルバスを設け、二重化バス構成とすることにより、障害発生時の影響を最小限に抑え、且つ、経済的な二重化バスシステムを実現しようとする。
【００１４】
【課題を解決するための手段】
図１は本発明の原理を説明するブロック図である。図は複数の機能モジュール１０１〜１０ｎと、複数の機能モジュール１０１〜１０ｎを制御する制御モジュール２００から構成されるシステムである。
【００１５】
本発明では、複数の機能モジュール１０１〜１０ｎと制御モジュール２００をデータ転送用のシステムバス３００と、監視／制御用のシリアルバス４００で接続し、複数の機能モジュール１０１〜１０ｎ間、および、複数の機能モジュール１０１〜１０ｎと制御モジュール２００の間のデータ転送はシステムバス３００を介して行ない、複数の機能モジュール１０１〜１０ｎと制御モジュール２００の間の制御／監視データの転送はシリアルバス４００を介して行なう。
機能モジュール１０１〜１０ｎに、システムバス３００と接続を行なうシステムバス制御部１１０と、シリアルバス４００と接続を行なうシリアルバス制御部１２０とを設け、データ転送はシステムバス制御部１１０を介してシステムバス３００上で行ない、制御／監視データの転送はシリアルバス制御部１２０を介してシリアルバス４００上で行なう。
制御モジュール２００に、機能モジュール１０ｉで障害が発生したとき、シリアルバス４００を通して障害情報を収集する障害情報収集部２４０Ａと、障害情報収集部２４０Ａで収集した障害にしたがって、障害が発生した機能モジュール１０ｉの再組み込みを行なう再立上げ部２４０Ｂを設け、機能モジュール１０ｉに障害が発生した場合、障害情報収集部２４０Ａはシリアルバス４００を介して障害情報を収集し、再立上げ部２４０Ｂはその障害情報の内容に応じて再立上げ処理を実行する。
シリアルバス制御部１２０に、機能モジュール１０ｉのプロセッサ１４０が障害となった場合、シリアルバス制御部１２０をバスマスタとして動作させるバスマスタ制御部１２０Ａを設け、機能モジュール１０ｉのマイクロプロセッサ１４０が障害となった場合、シリアルバス制御部１２０のバスマスタ制御部１２０Ａがバスマスタとして動作し、制御モジュール２００との監視／制御データの送受信を行なう。
【００１６】
【発明の実施の形態】
図２は本発明の第１の実施の形態を説明するブロック図である。図は、複数の機能モジュール１０１〜１０ｎと制御モジュール２００の間をシステムバス３００とシリアルバス４００で接続した構成としている。
【００１７】
図に示す構成において、複数の機能モジュール１０１〜１０ｎ相互間のデータの転送、複数の機能モジュール１０１〜１０ｎと制御モジュール２００の間のデータの転送をシステムバス３００とシステムバス制御部１１０を介して行ない、複数の機能モジュール１０１〜１０ｎと制御モジュール２００の間での監視／制御データの転送はシリアルバス４００とシリアルバス制御部１２０を介して行なう。
【００１８】
図３は本発明の第２の実施の形態を説明する図である。図３では図１で説明した機能モジュール１００として、電子交換機の回線制御モジュール１００Ａで構成した例である。
【００１９】
図中の１１０はシステムバス３００とのインタフェースをとるシステムバス制御部であり、１２０はシリアルバス４００とのインタフェースをとるシリアルバス制御部であり、１３０は転送するデータを書き込む共有メモリ、１３１は共有メモリバス、１４０はプロセッサ（図中ＣＰＵと示す）、１４１はＣＰＵバス、１５０はプロセッサ１４０を制御するプログラムが書き込まれるメモリ、１６０は共有メモリバス１３１とＣＰＵバス１４１とのバス変換を行なうバス変換部、１７０は回線制御部である。また、回線制御部１７０に接続されたＬ１〜Ｌ８は回線を示す。
【００２０】
また、シリアルバス制御部１２０の中の１２０Ａはバスマスタ制御部であり、プロセッサ１４０が障害となった場合、バスマスタとして動作するものである。図の構成において、回線Ｌｉ（Ｌ１〜Ｌ８の任意の１つをＬｉとする）から入力したデータは回線制御部１７０に入り、共有メモリバス１３１を介して共有メモリ１３０に展開される。データの転送先が同一の回線制御モジュール１０ｉＡ内の回線Ｌｊの場合は、プロセッサ１４０の指示により、回線制御部１７０にデータが転送され、回線Ｌｊに出力される。
【００２１】
データの転送先が他の回線制御モジュール１０ｊＡが制御する回線Ｌｋの場合は、回線制御モジュール１０ｉＡのプロセッサ１４０の指示により、システムバス制御部１１０がシステムバス３００より、データを転送し、受信側の回線制御モジュール１０ｊＡのシステムバス制御部１１０に取り込まれ、共有メモリ１３０に転送される。そして、プロセッサ１４０からの制御により、回線制御部１７０が共有メモリ１３０からデータを取り込み回線Ｌｋに出力する。
【００２２】
さらに、本発明では、回線制御モジュール１０ｉＡが障害となった場合、システム制御モジュール２００からの指示により、障害データを収集する。このとき、障害となった回線制御モジュール１０ｉＡのプロセッサ１４０が正常の場合は、プロセッサ１４０が障害データの収集、送信の制御を行なうが、プロセッサ１４０が障害の場合は、シリアルバス制御部１２０内のバスマスタ制御部１２０Ａが障害データの収集、送信の制御を行なう。
【００２３】
図４は本発明の第３の実施の形態を説明する図である。
図は、図１で説明した制御モジュール２００として、電子交換機のシステム制御モジュール２００Ａで構成した例である。
【００２４】
図中の２１０はシステムバス制御部であり、２２０はシリアルバス制御部であり、２３０は転送するデータを書き込む共有メモリ、２３１は共有メモリバス、２４０はプロセッサ、２４１はＣＰＵバス、２５０はメモリ、２６０はバス変換部であり、回線制御モジュール１００Ａから回線制御部１７０を削除した構成としている。また、プロセッサ２４０には、回線制御モジュール１０ｉＡに障害が発生したとき、シリアルバス４００を通して障害情報を収集する障害情報収集部２４０Ａと、障害情報収集部２４０Ａで収集した障害にしたがって、障害が発生した回線制御モジュール１０ｉＡの再組み込みを行なう再立上げ部（図中再立上部と示す）２４０Ｂを設けている。
【００２５】
さらに、システムバス制御部２１０、シリアルバス制御部２２０には、システムバス３００とシリアルバス４００のバス競合を行なう機能（図示省略）が付加されている。
【００２６】
さらに、 図１の原理図では、制御モジュール２００は１個としているが、システム全体の処理能力向上のために、制御モジュール２００をｎ個で構成し、ｎ個の現用モジュールに１個の予備モジュールを備えるｎ＋１システムで構成することも可能である。
【００２７】
図５は本発明のＩＰＬのシーケンス図（１）である。
図は、正常時のＩＰＬ（Initial Program Load) 動作を示し、図中の実線はシリアルバス４００による通信、太線、および破線はシステムバス３００による通信を示す。以下、シーケンス図により本発明の動作を説明する。
【００２８】
▲１▼  回線制御モジュール１０１Ａ〜１０ｎＡは、シリアルバス４００に対して、デフォルトで受信のみが行なえるように設定されている。システム制御モジュール２００Ａから回線制御モジュール１０ｉＡに対して、シリアルバス４００の初期設定を行なう。
【００２９】
▲２▼  それぞれの回線制御モジュール１０ｉＡは初期設定終了後、設定終了の応答を送出する。
▲３▼  正常応答を受信したシステム制御モジュール２００Ａは、シリアルバス４００を使用して、システムバス３００の初期設定を行なう。
【００３０】
▲４▼  それぞれの回線制御モジュール１０ｉＡは初期設定終了後、設定終了の応答を送出する。この初期設定により回線制御モジュール２００Ａはシステムバス３００の使用が可能となり、ＩＰＬ待ち状態となる。
【００３１】
▲５▼  ブロードキャストにより、システム制御モジュール２００Ａから、回線制御モジュール１０ｉＡのＩＰＬを行なう。ＩＰＬするプログラムが長い場合には、ＩＰＬのシーケンス中で、その時点での状態が正常であるか否かのチェックを行なう。
【００３２】
▲６▼  すべてのＩＰＬが完了した状態で、システム制御モジュール２００Ａは各回線制御モジュール１０ｉＡに対して、スタート指示を送出し、このスタート指示により各回線制御モジュール１０ｉＡは通常運用に入る。システム制御モジュール２００Ａはスタート応答を受信することにより各回線制御モジュール１０ｉＡが通常運用に入ったことを認識する。
【００３３】
図６、７は本発明のＩＰＬのシーケンス図（２）、（３）を示す。
図は、ＩＰＬ中に異常が発生した場合の動作を示し、図中の実線はシリアルバス４００による通信、太線、および破線はシステムバス３００による通信を示す。以下、シーケンス図により本発明の動作を説明する。
【００３４】
▲１▼  シリアルバス４００の初期設定を行なう。
▲２▼  設定終了の応答を送出する。
▲３▼  システムバス３００の初期設定を行なう。
【００３５】
▲４▼  設定終了の応答を送出する。
▲５▼  ブロードキャストにより、回線制御モジュール１０ｉＡのＩＰＬを行なう。この▲１▼〜▲５▼の処理は図５で説明した処理と同じである。
【００３６】
▲６▼  ＩＰＬ中に異常を検出した場合は、その回線制御モジュール１０ｊＡに対して、指定の回数のＩＰＬのリトライを行なう。
▲７▼  指定の回数のＩＰＬのリトライを行なっても、初期設定できない場合、システムバス３００は回線制御モジュール１０ｊＡを切り離す。
【００３７】
▲８▼  他の正常な回線制御モジュール１０ｉＡ（１０ｊを除く）に対して引続きＩＰＬを実行する。ＩＰＬ終了後、スタート指示により、通常運用に入る。
▲９▼  システム制御モジュール２００の障害情報収集部２４０Ａは障害が発生した回線制御モジュール１０ｊＡに対して、シリアルバス４００をとおして障害解析処理を起動する。
【００３８】
障害解析処理が起動され、障害データを収集し、再立上げ部２４０Ｂは、障害情報を解析して、障害状況に応じた再立上げ処理を行なう。例えば、他の回線制御モジュール１０ｉＡ（１０ｊを除く）に対して影響のない範囲で試験を行ない、回線制御モジュール１０ｊＡのプロセッサ１４０のテスト、および個別機能プログラムのＩＰＬ等を行なう。そして、ソフトウェアが正しく走行できるようなプロセッサ１４０が正常の場合には、プロセッサ１４０によって収集された障害情報、試験結果よって、被疑箇所の特定ができる。また、プロセッサ１４０上でソフトウェアが走行できない場合、システム制御モジュール２００Ａからのシリアル制御を行なうコマンドにより、シリアルバス制御部１２０のバスマスタ制御部１２０Ａが擬似バスマスタとなり、プロセッサ１４０の代わりとして動作し、障害情報を収集すること（あるいは、アクセス不能の情報）により被疑箇所の特定ができる。
【００３９】
【発明の効果】
本発明によれば、回線制御モジュールに障害が発生した場合、ハードウェア的にその障害情報を容易に収集することができる。
【００４０】
また、システムバスの障害発生の場合、シリアルバスを使用することにより障害情報の収集、試験を容易に行なうことができ、障害の切り分けが容易となる。そして、収集した障害情報により、ＩＰＬ内容を変更し、再立上げできる部分のみで再立上げを行ない、障害の影響を最小限に抑えることができる。
【図面の簡単な説明】
【図１】  本発明の原理を説明するブロック図
【図２】  本発明の第１の実施の形態を説明する図
【図３】  本発明の第２の実施の形態を説明する図
【図４】  本発明の第３の実施の形態を説明する図
【図５】  本発明のＩＰＬのシーケンス図（１）
【図６】  本発明のＩＰＬのシーケンス図（２）
【図７】  本発明のＩＰＬのシーケンス図（３）
【図８】  従来例を説明する図（１）
【図９】  従来例を説明する図（２）
【符号の説明】
１０１〜１０ｎ  機能モジュール
１００、１００Ａ〜１０ｎＡ  回線制御モジュール
１１０、２１０  システムバス制御部
１２０、２２０  シリアルバス制御部
１２０Ａ  バスマスタ制御部
１３０、２３０  共有メモリ
１３１、２３１  共有メモリバス
１４０、２４０  プロセッサ
１４１、２４１  ＣＰＵバス
１５０、２５０  メモリ
１６０、２６０  バス変換部
１７０  回線制御部
Ｌ１〜Ｌ８  回線
２００  制御モジュール
２００Ａ  システム制御モジュール
２４０Ａ  障害情報収集部
２４０Ｂ  再立上部
３００、３０１、３０２  システムバス
４００  シリアルバス
【図１】
0004112642.tif 000002
【図２】
0004112642.tif 000003
【図３】
0004112642.tif 000004
【図４】
0004112642.tif 000005
【図５】
0004112642.tif 000006
【図６】
0004112642.tif 000007
【図７】
0004112642.tif 000008
【図８】
0004112642.tif 000009
【図９】
0004112642.tif 000010