(57)【特許請求の範囲】
【請求項１】
計算機システムの制御、状態監視、及び保守を司るマスタ制御装置と、
前記マスタ制御装置と並行して動作して前記マスタ制御装置との情報の等価性を保ちながら待機系として動作するスレーブ制御装置とから構成され、
前記マスタ制御装置とスレーブ制御装置の各々は状態遷移処理部を有し、該状態遷移処理部は、少なくともイニシャライズ、マスタ、スレーブ、及びホルトの各状態を持ち、電源投入直後のイニシャライズ状態でマスタ実装位置を認識した場合にマスタ状態へ遷移し、スレーブ実装位置を認識した場合には他の装置のマスタ状態への遷移を確認した後にスレーブ状態へ遷移し、
前記マスタ制御装置とスレーブ制御装置の各々は、更に、前記状態遷移処理部によりマスタ状態に遷移した場合、一定時間毎にスレーブ状態に遷移している他の装置と自己の情報とを比較して等価性を定期的にチェックし、比較した情報が一定時間以上異なる場合は、スレーブ状態に遷移している他の装置にホルトを指示してホルトさせることを特徴とする二重化構成をもつシステム制御装置。
【請求項２】
請求項１に於いて、前記マスタ制御装置とスレーブ装置間を情報の等価性の維持に使用する第１バスを介して接続し、前記マスタ制御装置とスレーブ制御装置の各々を専用バスを介して前記計算機システムと個別に接続したことを特徴とする二重化構成をもつシステム制御装置。
【請求項３】
請求項１の装置に於いて、前記状態遷移処理部は、自己の異常を認識した際には自分自身をホルト状態に遷移し、他の装置の異常を認識した場合には該他の装置にホルトを指示してホルト状態に遷移させ、更にホルト指示を行った他の装置がマスタ制御装置であった場合は、自分自身をマスタ状態に遷移させることを特徴とする二重化構成をもつシステム制御装置。
【請求項４】
請求項１に於いて、前記マスタ制御装置とスレーブ制御装置の各々は、更に、前記状態遷移処理部によりスレーブ状態に遷移した際に、マスタ状態に遷移している他の装置に等価性を保証する情報の転送を要求し、一方、マスタ状態に遷移した際には、他の装置からの等価性を保つ情報の転送要求に応じて該当する情報を転送する情報送受信部を設けたことを特徴とする二重化構成をもつシステム制御装置。
【請求項５】
請求項１に於いて、前記マスタ制御装置とスレーブ制御装置の各々は、更に、前記状態遷移処理部によりマスタ状態に遷移した後に、等価性を保証する情報の更新を認識した場合、スレーブ状態に遷移している他の装置に更新情報を転送する更新情報転送部とを設けたことを特徴とする二重構成をもつシステム制御装置。
【請求項６】
請求項１に於いて、前記マスタ制御装置及びスレーブ制御装置の各々は、前記計算機システムからのオペレーション指令を受けた際に、要求されたオペレーションに対応する処理を実行するオペレーション処理部を備えたことを特徴とする二重化されたシステム制御装置。
【請求項７】
請求項６に於いて、前記計算機システムが前記マスタ制御装置にオペレーション指令を発行すると、該オペレーション指令を受信したマスタ制御装置は、自己のオペレーション処理部および前記スレーブ制御装置のオペレーション処理部を起動し、次に自己のオペレーション処理の実行を開始すると同時に前記スレーブ制御装置に前記オペレーション指令のパラメータデータを送信してオペレーション処理の開始を指示して処理の二重化を行うことを特徴とする二重化構成をもつシステム制御装置。
【請求項８】
請求項６に於いて、前記計算機システムが前記スレーブ制御装置にオペレーション指令を発行すると、該オペレーション指令を受信したスレーブ制御装置は、自己のオペレーション処理部および前記マスタ制御装置のオペレーション処理部を起動し、次に前記マスタ制御装置に前記オペレーション指令のパラメータデータを送信し、マスタ制御装置は該パラメータデータの受信終了後に自己のオペレーション処理を開始すると同時にスレーブ制御装置にオペレーション処理の開始を指示して処理の二重化を行うことを特徴とする二重化構成をもつシステム制御装置。
【請求項９】
請求項７又は８に於いて、前記マスタ制御装置は前記オペレーション指令を格納するキューを有し、前記マスタ制御装置のオペレーション処理部は、前記計算機システムから直接に又は前記スレーブ制御装置を経由してオペレーション指令を受けた際に前記キューに格納した後にパラメータデータのスレーブ制御装置との間の転送を行い、マスタ制御装置は該パラメータデータの転送終了後に前記キュ−を参照して受信したオペレーション指令が先頭にキューイングされている場合に、自己のオペレーション処理を開始すると同時にスレーブ制御装置にオペレーション処理の開始を指示することを特徴とする二重化構成をもつシステム制御装置。
【請求項１０】
請求項９に於いて、前記マスタ制御装置およびスレーブ制御装置で受信したオペレーションを実行した場合、前記スレーブ制御装置はオペレーションの実行を終了すると前記マスタ制御装置にオペレーションの終了を通知し、前記マスタ制御装置は自己のオペレーションが終了し且つスレーブ制御装置からオペレーションの終了通知を受信した際に、両制御装置のオペレーションの実行終了を認識して前記キューをクリアし、更に前記計算機システムにオペレーションの処理終了を通知することを特徴とする二重化構成をもつシステム制御装置。
【請求項１１】
請求項９に於いて、前記マスタ制御装置は、受信したオペレーション指令を前記キューに格納する際に、現在、同じオペレーションが実行中か否か判断し、同じオペレーションを実行中であれば、オペレーションの二重発行と判断して受信したオペレーションを実行せずに計算機システムに二重発行を通知することを特徴とする二重化構成をもつシステム制御装置。
【請求項１２】
請求項６に於いて、状態監視に基づき前記計算機システムに通知する事象が発生した場合、前記マスタ制御装置及びスレーブ制御装置の両方で前記発生事象に対する処理を行い、スレーブ制御装置は処理が終了したらマスタ制御装置に前記事象の発生を通知し、マスタ制御装置は自己の処理が終了し且つスレーブ制御装置からの事象の発生通知を受信した際に、両制御装置で発生事象に対する処理が終了したと認識して前記計算機システムに事象の発生を通知することを特徴とする二重化構成をもつシステム制御装置。
【請求項１３】
請求項９又は１０に於いて、前記マスタ制御装置は自己の処理を終了した際に、スレーブ制御装置からのオペレーション処理の終了通知を受け取ってない場合はタイマを起動して時間を監視し、一定の時間を過ぎてもスレーブ制御装置から処理の終了通知がない場合にスレーブ制御装置の異常と判断してホルト指示によりホルトさせ、マスタ制御装置自身で自己の処理を正常終了と見做して前記キューに格納されたオペレーションをクリアし、更に計算機システムに処理の終了を通知することを特徴とする二重化構成をもつシステム制御装置。
【請求項１４】
請求項１２に於いて、前記マスタ制御装置は事象発生に対する自己の処理を終了した際に、スレーブ制御装置からの事象発生の通知を受け取ってない場合はタイマを起動して時間を監視し、一定の時間を過ぎてもスレーブ制御装置から事象の発生通知がない場合にスレーブ制御装置の異常と判断してホルト指示によりホルトさせ、マスタ制御装置で自己の処理を正常と見做して計算機システムに事象の発生通知を行うことを特徴とする二重化構成をもつシステム制御装置。
【請求項１５】
請求項９又は１０に於いて、前記マスタ制御装置は自己のオペレーション処理を終了し、且つスレーブ制御装置からのオペレーション処理の終了通知を受け取った際に、両者の処理情報を比較し、不一致の場合にスレーブ制御装置の異常と判断してホルト指示によりホルトさせ、マスタ制御装置で自己の処理を正常終了と見做して前記キューに格納されたオペレーションをクリアし、更に計算機システムに処理の終了を通知することを特徴とする二重化構成をもつシステム制御装置。
【請求項１６】
請求項１２に於いて、前記マスタ制御装置は発生事象に対する自己の処理を終了し、且つスレーブ制御装置からの事象発生の通知を受け取った際に、両者の事象発生通知を比較し、不一致の場合にスレーブ制御装置の異常と判断してホルト指示によりホルトさせ、マスタ制御装置で自己の処理を正常と見做して計算機システムに事象の発生通知を行うことを特徴とする二重化構成をもつシステム制御装置。
【請求項１７】
請求項９に於いて、前記スレーブ制御装置からマスタ制御装置へオペレーション指令に伴うパラメータデータの転送中に異常を検出した場合、スレーブ制御装置は自己をホルトし、マスタ制御装置はキューに格納したオペレーションを破棄して終了させることを特徴とする二重化構成をもつシステム制御装置。
【請求項１８】
請求項９又は１０に於いて、前記マスタ制御装置はオペレーション処理を実行中に、同時にオペレーション処理を実行しているスレーブ制御装置が状態異常となり、ホルト状態に移行したことを認識した場合、自己の処理を正常終了と見做して前記キューに格納されたオペレーションをクリアし、更に計算機システムに処理の終了を通知することを特徴とする二重化構成をもつシステム制御装置。
【請求項１９】
請求項１２に於いて、前記マスタ制御装置は発生事象の処理中に、同時に発生事象の処理を実行しているスレーブ制御装置が状態異常となり、ホルト状態に移行したことを認識した場合、自己の処理を正常と見做して計算機システムに事象の発生通知を行うことを特徴とする二重化構成をもつシステム制御装置。
【請求項２０】
請求項６に於いて、スレーブ制御装置が処理の実行中に、マスタ制御装置が状態異常となり、ホルト状態に移行したことを検出した場合、現在実行中の処理を破棄した後、自身の状態をスレーブ状態からマスタ状態に遷移させることを特徴とする二重化構成をもつシステム制御装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、高信頼性の計算機システムの制御、状態監視、及び保守をオンラインで行うシステム制御装置に関し、特に二重化構成によりシステム制御装置の停止で計算機システムの停止を引き起さないようにした二重化構成をもつシステム制御装置に関する。
【０００２】
【発明が解決しようとする課題】
従来、大型の計算機システムにあっては、計算機システムの電源、構成機器の起動停止の制御、状態監視、更には保守をオンラインで行うためのシステム制御装置が設けられている。
また近年にあっては、計算機機能を並列多重化してシステム停止を回避できる高信頼性の計算機システムの開発が進められている。このような高信頼性の計算機システムに使用するシステム制御装置についても、システム制御装置の停止によって計算機システムの停止を引き起こさないため、システム制御装置を二重化構成とすることが考えられている。
【０００３】
従来のシステム制御装置の二重化構成は、一方のシステム制御装置を常用装置として動作させ、他方のシステム制御装置を予備装置として待機させておき、常用装置に異常が起きた場合、予備装置に切り替えて処理を引き継ぐようにしている。
【０００４】
【発明が解決しようとする課題】
しかしながら、このような常用装置と予備装置によって二重化されたシステム制御装置にあっては、常用装置に異常が起きた場合、予備装置を起動するためには異常を起した常用装置が保持している計算機システムの制御、状態監視及び保守に関する各種の情報をそのまま引き継がなければならず、常用装置が異常停止した後では各種の情報の引き渡しが保証できず、結局は計算機システムを一旦停止し、予備装置を使用して最初から計算機システムを立ち上げなければならない。
【０００５】
このような問題を解決する方法として、２台のシステム制御装置を並列に動作させて全く同じ処理を行わせる二重化構成の方法がある。この場合、一方のシステム制御装置が停止しても、他方のシステム制御装置が正常に動作しているため、計算機システムの停止を引き起こすことはない。
しかしながら、同時に並列動作している２台のシステム制御装置で、計算機システムの制御、状態監視、及び保守に関する情報に食い違いが出た場合、どちらの情報を元に計算機システムの制御、状態監視、保守等を行って良いか判らなくなる。この場合には、それまで主にどちらの装置の情報で動いていたかを判断し、正しいと思われる情報を採用することも考えられるが、正しいか否かは五分五分であり、これでは二重化構成による信頼性は十分に保証できない問題がある。
【０００６】
本発明は、このような問題点に鑑みてなされたもので、同時に並列的に動作される２台の装置間での情報の等価性を保証すると共に情報が食い違った場合にも適切に対応でる信頼性の高い二重化構成をもつシステム制御装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
図１は本発明の原理図である。まず本発明は、図１（Ａ）のように、計算機システム１４に対し２台のシステム制御装置１０，１２を設ける。システム制御装置１０は、マスタ制御装置１０となり、計算機システム１４の制御、状態監視、及び保守を司る、システム制御装置１２はスレーブ制御装置となり、マスタ制御装置１０と並行して動作し、マスタ制御装置１０との情報の等価性を保ちながら待機系として動作する。
【０００８】
マスタ制御装置１０とスレーブ制御装置１２の間は情報の等価性の維持に使用する第１バス２０を介して接続される。またマスタ制御装置１０とスレーブ制御装置１２の各々は、専用のバス１６，１８を介して計算機システム１４と個別に接続される。
マスタ制御装置１０及びスレーブ制御装置１２として動作するシステム制御装置の各々は、装置の動作状態を決める状態遷移処理部を備える。この状態遷移処理部は、図１（Ｂ）のように、少なくともイニシャライズ、マスタ、スレーブ、及びホルトの各状態を持つ。まず電源投入直後のイニシャライズ状態でマスタ実装位置を認識した場合にマスタ状態へ遷移する。また電源投入直後のイニシャライズ状態でスレーブ実装位置を認識した場合には、他の装置のマスタ状態への遷移を確認した後にスレーブ状態へ遷移する。
【０００９】
更に、状態遷移処理部は、自己の異常を認識した際には自分自身をホルト状態に遷移し、他の装置の異常を認識した場合にはホルトを指示して他の装置をホルト状態に遷移させ、更にホルト指示を行った他の装置がマスタ装置であった場合は、自分自身をマスタ状態に遷移させる。
マスタ制御装置１０及びスレーブ制御装置１２として動作するシステム制御装置の各々には、更に、情報の等価性を保証するための情報送受信部が設けられる。この情報送受信部は、状態遷移処理部によりスレーブ状態に遷移した際に、マスタ状態に遷移している他の装置に等価性を保証する情報の転送を要求し、一方、マスタ状態に遷移した際には、他の装置からの等価性を保つ情報の転送要求に応じて該当する情報を転送する。
【００１０】
また各装置には、更新情報転送部が設けられ、状態遷移処理部によりマスタ状態に遷移した後に、等価性を保証する情報の更新を認識した場合、スレーブ状態に遷移している他の装置に更新情報を転送する。
更に各装置には、等価性チェック部が設けられ、状態遷移処理部によりマスタ状態に遷移した場合、一定時間毎にスレーブ状態に遷移している他の装置と自己の情報とを比較して等価性を定期的にチェックする。このとき、比較した情報が一定時間以上異なる場合には、スレーブ状態に遷移している他の装置にホルトを指示してホルトさせる。
【００１１】
また本発明のマスタ制御装置１０及びスレーブ制御装置１２の各々は、計算機システムからのオペレーション指令を受けた際に、要求されたオペレーションに対応する処理を実行するオペレーション処理部を備える。
計算機システム１４からマスタ制御装置１０にオペレーション指令を発行した場合、オペレーション指令を受信したマスタ制御装置１０は、自己のオペレーション処理部およびスレーブ制御装置１２のオペレーション処理部を起動し、次に自己のオペレーション処理の実行を開始すると同時にスレーブ制御装置１２にオペレーション指令のパラメータデータを送信してオペレーション処理の開始を指示して処理の二重化を行う。
【００１２】
また計算機システム１４からスレーブ制御装置１２にオペレーション指令を発行した場合、オペレーション指令を受信したスレーブ制御装置１２は、自己のオペレーション処理部およびマスタ制御装置１０のオペレーション処理部を起動し、次にマスタ制御装置１０にオペレーション指令のパラメータデータを送信する。マスタ制御装置１０はパラメータデータの受信終了後に自己のオペレーション処理を開始すると同時にスレーブ制御装置１２にオペレーション処理の開始を指示して処理の二重化を行う。
【００１３】
マスタ制御装置１０はオペレーション指令を格納するキュー１５を有する。マスタ制御装置１０のオペレーション処理部は、計算機システム１４から直接に又はスレーブ制御装置１２を経由してオペレーション指令を受けた際に、キュー１５に格納した後にパラメータデータのスレーブ制御装置１２との間の転送を行い、転送終了後にキュー１５を参照して受信したオペレーション指令が先頭にキューイングされている場合に、自己のオペレーション処理を開始すると同時にスレーブ制御装置１２にオペレーション処理の開始を指示する。
【００１４】
マスタ制御装置１０およびスレーブ制御装置１２で受信したオペレーションを実行した場合、スレーブ制御装置１２はオペレーションの実行を終了するとマスタ制御装置１０にオペレーションの完了を通知する。マスタ制御装置１０は自己のオペレーションが終了し且つスレーブ制御装置１２からオペレーションの完了通知を受信した際に、両装置のオペレーションの実行完了を認識してキュー１５をクリアし、更に計算機システム１４にオペレーションの処理完了を通知する。
【００１５】
マスタ制御装置１０は、受信したオペレーション指令をキュー１５に格納する際に、現在、同じオペレーションが実行中か否か判断し、同じオペレーションを実行中であれば、オペレーションの二重発行と判断して受信したオペレーションを実行せずに計算機システム１４に二重発行を通知する。
電源、機器状態等の状態監視に基づき計算機システム１４に通知すべき事象が発生した場合、マスタ制御装置１０及びスレーブ制御装置１２の両方で発生事象に対する処理を行う。スレーブ制御装置１２は処理が終了したらマスタ制御装置１０に事象の発生を通知し、マスタ制御装置１０は自己の処理が終了し且つスレーブ制御装置１２からの事象の発生通知を受信した際に、両装置１０，１２で発生事象に対する処理が終了したと認識して計算機システム１４に事象の発生を通知する。
【００１６】
マスタ制御装置１０は自己のオペレーション処理を終了した際に、スレーブ制御装置１２からのオペレーション処理の終了通知を受け取ってない場合は、タイマを起動して時間を監視する。一定の時間を過ぎてもスレーブ制御装置１２から処理の終了通知がない場合、スレーブ制御装置１２の異常と判断してホルト指示によりホルトさせ、マスタ制御装置１０で自己の処理を正常終了と見做してキュー１５に格納されたオペレーションをクリアし、更に計算機システム１４に処理の終了を通知する。
【００１７】
事象発生の処理についても同様に、マスタ制御装置１０は自己の処理を終了した際に、スレーブ制御装置１２からの事象発生の通知を受け取ってない場合はタイマを起動して時間を監視し、一定の時間を過ぎてもスレーブ制御装置１２から処理の事象の発生通知がない場合、スレーブ制御装置１２の異常と判断してホルト指示によりホルトさせ、マスタ制御装置１０で自己の処理を正常と見做して計算機システム１４に事象の発生を通知する。
【００１８】
またマスタ制御装置１０は自己のオペレーション処理を終了し、且つスレーブ制御装置１２からのオペレーション処理の終了通知を受け取った際に、両者の処理情報を比較し、不一致の場合にスレーブ制御装置１２の異常と判断してホルト指示によりホルトさせ、マスタ制御装置１０で自己の処理を正常終了と見做してキュー１５に格納されたオペレーションをクリアし、更に計算機システム１４に処理の終了を通知する。
【００１９】
また事象の発生処理についても同様に、マスタ制御装置１０は自己の処理を終了し、且つスレーブ制御装置１２からの事象発生の通知を受け取った際に、両者の事象発生通知を比較し、不一致の場合にスレーブ制御装置１２の異常と判断してホルト指示によりホルトさせ、マスタ制御装置１０で自己の処理を正常と見做して計算機システム１４に事象の発生を通知する。
【００２０】
スレーブ制御装置１２からマスタ制御装置１０へオペレーション指令に伴うパラメータデータの転送中に異常を検出した場合、スレーブ制御装置１２は自分自身をホルトし、マスタ制御装置１４はキューに格納したオペレーションを破棄して終了させる。
マスタ制御装置１０はオペレーション処理を実行中に、同時にオペレーション処理を実行しているスレーブ制御装置１２が状態異常となり、ホルト状態に移行したことを認識した場合、自己の処理を正常終了と見做してキュー１５に格納されたオペレーションをクリアし、更に計算機システム１４に処理の終了を通知する。
【００２１】
マスタ制御装置１０は発生事象の処理中に、同時に発生事象の処理を実行しているスレーブ制御装置１２が状態異常となり、ホルト状態に移行したことを認識した場合、自己の処理を正常と見做して計算機システム１４に事象の発生を通知する。
更に、スレーブ制御装置１２が処理の実行中に、マスタ制御装置１０が状態異常となり、ホルト状態に移行したことを検出した場合、現在実行中の処理を破棄した後、自身の状態をスレーブ状態からマスタ状態に遷移させる。
【００２２】
【作用】
このような本発明の二重化構成をもつシステム制御装置は、マスタ制御装置における更新情報のスレーブ制御装置への転送と、スレーブ制御装置との間の定期的な等価性のチェックにより、計算機システムの制御、状態、保守をオンラインで行っている２台の装置の内部情報の食い違いをなくし、等価性を保証することができる。
【００２３】
また、マスタ制御装置で一定時間以上、情報の食い違いを認識した場合は、スレーブ制御装置をホルトさせ、マスタ制御装置の情報を有効とする。マスタ制御装置の異常については自分自身でホルトし、このときスレーブ制御装置がマスタ制御装置のホルトを認識してマスタ制御装置に状態を遷移して処理を引き継ぐ。この場合、両者の情報の等価性は保証されているため、マスタ制御装置のホルトによる引き継ぎは、外部に全く影響せず、計算機システムの停止を引き起すことはない。
【００２４】
また本発明では、２台のシステム制御装置の内のマスタ制御装置を、計算機システムからのオペレーション処理の対象と位置付ける。そして、計算機システムがオペレーションを発行した場合に、マスタ制御装置とスレーブ制御装置の両方でオペレーションを実行し、オペレーションの実行が終了したならば、マスタ制御装置は、スレーブ制御装置の処理終了との同期を取り、マスタ処理装置の結果を基にオペレーションの実行結果を判断する。この点は、電源、機器状態等の状態監視における非同期的な事象の発生の処理についても同様である。
【００２５】
このように２台のシステム制御装置でオペレーションを実行することにより、２台のシステム制御装置の内部情報の等価性を実現できる。また、マスタ制御装置を計算機システムによるオペレーション処理の対象と位置付けすることで、情報の食い違いが起きても、マスタ制御装置の情報を有効としてシステムの制御、状態監視、保守が保証される。
【００２６】
【実施例】
＜目    次＞
１．動作環境と装置構成
２．システム制御装置の機能構成
３．マスタとスレーブの設定および制御
４．オペレーションの実行
５．キューイングを伴うオペレーションの実行
６．状態監視における事象発生処理
７．異常検出処理
１．動作環境と装置構成
図２は本発明の二重化構成をもつシステム制御装置を備えた計算機システムのブロック図である。図２において、この計算機システムにあっては、筐体１１の中にプロセッサモジュール１４−１，１４−２を設けることで計算機システムを構成している。計算機システムを構成するプロセッサモジュール１４−１，１４−２に対しては、システム制御モジュール２２−１，２２−２が設けられる。
【００２７】
システム制御モジュール２２−１の中にマスタ制御装置として動作するシステム制御装置１０を設け、またシステム制御モジュール２２−２の中にスレーブ制御装置として動作するシステム制御装置１２を設けている。ここでシステム制御装置１０は、マスタとして動作するためのスロット番号＃００に接続され、またシステム制御装置１２はスレーブとして動作するためのスロット番号＃１０に接続されている。
【００２８】
計算機システムを構成するプロセッサモジュール１４−１，１４−２は、２本のシステムバス１６−１，１８−１を介して接続される。システムバス１６−１，１８−１にはシステムブリッジ回路部２６−１，２６−２が設けられ、他の筐体のシステムバスと接続されている。プロセッサモジュール１４−１，１４−２のそれぞれには複数のプロセッサが収納され、各プロセッサはキャッシュ機構を備えており、モジュール内の複数のプロセッサでそれぞれ１つの主記憶をもっている。
【００２９】
システム制御モジュール２２−１に設けたシステム制御装置１０は、バス１６をブリッジ回路部２４−１に接続し、ブリッジ回路部２４−１を介してシステムバス１６−１に接続している。またシステム制御モジュール２２−２のシステム制御装置１２も、バス１８によりブリッジ回路部２４−２を介してシステムバス１８−１に接続している。
【００３０】
このためシステム制御装置１０，１２は、それぞれシステムバス１６−１，１８−１及びバス１６，１８を介してプロセッサモジュール１４−１または１４−２から必要なオペレーション指令を受信して必要な制御処理を行うことができる。プロセッサモジュール１４−１，１４−２によるオペレーション指令は、スロット番号＃００に接続されたマスタとしてのシステム制御装置１０に対し基本的に行われる。もし、マスタ側のシステム制御装置１０がビジー状態にあれば、システムバス１８−１を使用してスレーブ側のシステム制御装置１２にオペレーション指令を発行することになる。
【００３１】
システム制御装置１０，１２の間は専用のバス２０で接続されている。このバス２０は、システム制御装置１０，１２で内部に保持している計算機システムの制御、状態監視および保守に必要な各種の情報の等価性を保証するための情報伝送に使用される。
更にシステム制御装置１０，１２には、メンテナンスバス３０が接続され、上位装置からの保守に関する指令を直接受けることができる。またシステム制御装置１０，１２には、ブリッジ回路部２４−１，２４−２を介して個別に入出力バス３２−１，３２−２が接続されており、外部の入出力装置との間で必要な情報の入出力処理ができるようにしている。
【００３２】
図３は、図２の２台のシステム制御装置１０，１２を取り出して、両者のインタフェースを具体的に示している。まずシステム制御装置１０は、バス１６，１８およびシステムバス１６−１，１８−１を介して計算機システムとしてのプロセッサモジュール１４−１，１４−２と接続されており、プロセッサモジュール１４−１，１４−２からのオペレーション指令により、筐体１１内での電源投入制御、電源切断制御および異常監視を行う。
【００３３】
またシステム制御装置１０，１２は、電源インタフェースバス３８−１，３８−２により電源部４０−１，４０−２を接続しており、これによって筐体間での電源投入制御、電源切断制御および異常監視を行う。マスタとして動作するシステム制御装置１０は、デバイスバス４６によりコンソール４８−１を接続しており、これによりデバックや障害調査を行うことができる。スレーブとして動作するシステム制御装置１２側については、コンソール４８−２を設けているが、デバイスバスによる接続は行われていない。
【００３４】
またシステム制御装置１０，１２を接続した入出力バス３２−１，３２−２はアダプタ５４に接続され、アダプタを介して外部の入出力装置５６−１〜５６−３を接続している。この入出力バス３２の接続で、外付けした入出力装置５６−１〜５６−３の電源制御および監視を行うことになる。
更に、システム制御装置１０，１２は外部警報用のインタフェースバス５８を接続しており、システム制御装置１０，１２で制御、状態監視および保守における異常を検出した場合には、外部の警報装置に警報信号を送出して、警報表示動作を行わせるようにしている。
【００３５】
システム制御装置１０，１２間には内部情報の等価性を保証する情報のやり取りのため、専用のバス２０−１，２０−２が設けられている。この実施例にあっては、システム制御装置１０から１２に情報を送るバス２０−１と、システム制御装置１２から１０に情報を送るバス２０−２を個別に設けているが、単一の双方向バスであってもよい。
【００３６】
またシステム制御装置１０，１２は、メンテナンスバス３０−１，３０−２に接続される。メンテナンスバス３０−１側には、上位操作ユニット４２−１と操作パネル４４が接続される。メンテナンスバス３０−２側には、上位操作ユニット４２−２が接続される。このメンテナンスバス３０−１，３０−２によって、システム制御装置１０，１２のデバック機能制御、パネル制御、上位操作ユニット４２−１，４２−２からの操作指令に基づく各種の処理制御を行う。
【００３７】
更にシステム制御装置１０，１２からは、他の筐体との間を接続する筐体間インタフェースバス３６−１，３６−２，３６−３を設けている。この筐体間インタフェースバス３６−１〜３６−３によって、システム制御装置１０，１２は筐体間での電源投入制御、電源切断制御および異常監視を行うことができる。
この図３に示すシステム制御装置１０，１２に対する各種のインタフェースを制御することにより、例えば次の７つの機能が実現できる。
【００３８】
▲１▼筐体内の電源投入と電源切断および異常監視の機能
▲２▼筐体間の電源投入制御、電源切断制御および異常監視の機能
▲３▼デバック機能と障害調査機能
▲４▼保守支援機能
▲５▼オペレータコールのための外部系統制御機能
▲６▼保守用ホスト等からの電源制御機能
▲７▼電源投入時刻、切断時刻等の電源カレンダを行うタイマの制御機能
勿論、システム制御装置１０，１２の機能は、これ以外に必要に応じて適宜の制御、状態監視および保守等の制御機能をもたせることができる。
２．システム制御装置の機能構成
図４は、図３のシステム制御装置１０側を例にとって他のシステム制御装置１２との間で内部情報の等価性を保証するために必要な機能を示している。
【００３９】
図４において、システム制御装置１０にはプロセッサ６０と内部メモリ８２が設けられている。プロセッサ６０には実装位置認識部６２が設けられる。実装位置認識部６２は、システム制御装置１０を図２のように筐体１１内に実装すると、その実装位置で決まるバスのスロット番号信号Ｅ１を取り込んでスロット番号＃００を認識する。
【００４０】
この実施例にあっては、スロット番号＃００はマスタ制御装置としての実装位置を表わしている。実装位置認識部６２で認識されたスロット番号信号Ｅ１は、状態認識部６４に与えられる。状態認識部６４に対しては、内部ステータス設定部６６、状態遷移部６８が設けられている。状態遷移部６８は、図５の状態遷移図に示すように、イニシャライズ２００、マスタ２１０、スレーブ２２０、状態制御２３０およびホルト２４０の４つの状態をもっている。
また図４のプロセッサ６０にはイベント処理部７０が設けられ、監視状態にある周辺装置における事象の変化信号Ｅ４を取り込み、内部メモリ８２の状態信号を更新する。また異常検出部７２が設けられ、システム制御装置１２からの他系異常信号Ｅ５を認識すると、ホルト指示部７４を起動して、システム制御装置１２側にホルト指示信号Ｅ６を出力する。また異常検出部７２は、システム制御装置１０自身の異常を検出すると、プロセッサ６０自体をホルト、即ち図５のホルト２４０に遷移させる。
【００４１】
またプロセッサ６０にはデータ送受信部７５が設けられ、他のシステム制御装置１２との間で内部情報の等価性を保つために必要な各種の送受信データＥ７のやり取りを行う。データ送受信部７５で得られた等価性を保つための各種の情報は、内部メモリ８２の中に割り当てられた等価性情報格納部８４に格納される。更にプロセッサ６０には、更新情報転送部７６と等価性チェック部７８が設けられる。等価性チェック部７８は、内部メモリ８２の等価性情報格納部８４に状態検出、制御、保守等の各種の処理により格納情報の更新があったとき、この情報更新を認識し、更新情報転送部７６により更新情報信号Ｅ８をシステム制御装置１２に送る。送られたデータはシステム制御装置１２の等価性情報格納部８４に格納される。
【００４２】
等価性チェック部７８は更に、一定周期ごとにマスタとしてのシステム制御装置１０とスレーブとしてのシステム制御装置１２の間の格納情報の等価性のチェックを行う。この等価性のチェックは、更新情報転送装置７６を使用してスレーブ側のシステム制御装置１２が転送した等価性情報格納部８４の情報と、各情報に対応した自己の情報との一致、不一致の比較を行う。もし不一致な情報があれば、ホルト指示部７４によりホルト指示信号Ｅ６をスレーブ側のシステム制御装置１２に送ってホルトさせる。
【００４３】
更にプロセッサ６０にはオペレーション処理部８０が設けられ、図２の計算機システムを構成するプロセッサモジュール１４−１，１４−２が発行したオペレーションコマンド信号Ｅ９を受信し、受信したオペレーションの処理を実行する。このオペレーション処理部８０に対応して、内部メモリ８２にはキュー１５が設けられており、キュー１５が一杯になるまで連続的にオペレーションコマンドを受け付けることができる。オペレーション処理部８０は、キュー１５に複数のオペレーションコマンドの受付けがあるときには、時間的に最も旧い最初のオペレーションコマンドを取り出して処理を実行するようになる。
３．マスタとスレーブの設定および制御
図６は、システム制御装置１０，１２の電源投入によるパワーオンスタート時の図５のマスタ２１０またはスレーブ２２０への状態遷移を行うマスタ／スレーブ設定処理である。
【００４４】
まず、マスタとなるシステム制御装置１０の処理を説明すると、電源投入によりシステム制御装置１０が立ち上がると、まずステップＳ１で、図５のイニシャライズ２００の状態に遷移する。このイニシャライズ２００の状態で図４のプロセッサ６０に設けている実装位置認識部６０がスロット番号信号Ｅ１からスロット番号＃００を認識する。次にステップＳ４で相手の状態をチェックし、相手がマスタでなければ、システム制御装置１０をスロット番号＃００の位置に実装していることから、ステップＳ５に進み、マスタ２１０に状態遷移する。相手がマスタであれば、ステップＳ６に進んでスレーブ状態へ遷移する。
【００４５】
スレーブ側となるシステム制御装置１２にあっては、スロット番号＃１０が認識されることから、ステップＳ３からステップＳ７に進み、タイマをスタートする。このタイマはシステム制御装置１０側が正常にマスタ状態に遷移する時間を監視するタイマである。続いてステップＳ８で、タイムアウトか否かチェックし、タイムアウトになるまでは、ステップＳ９で、相手方としてのシステム制御装置１０はマスタ状態に遷移したか否かチェックしている。
【００４６】
もしタイマによる設定時間内にシステム制御装置１０側がステップＳ５のようにマスタ状態に遷移すると、ステップＳ１０に進み、システム制御装置１２側は図５のスレーブ２２０の状態に遷移する。ステップＳ８で、一定時間を経過してもシステム制御装置１０側がマスタ状態に遷移しなかった場合には、システム制御装置１０側に異常があることから、ステップＳ１１で、相手方にホルトを指示し、ステップＳ１２で、システム制御装置１２がマスタ状態に遷移する。
【００４７】
一方、システム制御装置１０がマスタ状態に遷移し、またシステム制御装置１２がスレーブ状態に遷移した後に、保守点検のため例えばシステム制御装置１０を取り外すと、システム制御装置１２がこれを認識して、図５の状態制御２３０の準備段階を経てマスタ状態２１０に遷移する。
その後、システム制御装置１０の修理が済んでスロット番号＃００に活性挿入されると、挿入したシステム制御装置１０のイニシャライズ２００からスレーブ２２０へ遷移する。
【００４８】
図７のフローチャートは、図６のパワーオンスタートに伴うマスタ／スレーブの設定によりシステム制御装置１０がマスタ状態に遷移し、またシステム制御装置１２がスレーブ状態に遷移した後の運用状態における情報等価性のチェックに伴う状態遷移である。
図７において、左側が、マスタ装置として動作するシステム制御装置１０の処理であり、右側に、これに対応するスレーブ装置として動作するシステム制御装置１２の処理を示している。以下の説明にあっては、マスタ側となるシステム制御装置をマスタ制御装置１０といい、またスレーブ側となるシステム制御装置をスレーブ制御装置１２という。
【００４９】
マスタ制御装置１０は、ステップＳ１で、マスタ状態へ遷移すると、マスタ状態への遷移をスレーブ制御装置１２に通知する。この通知を受けてスレーブ制御装置１２は、ステップＳ１０１で、マスタ制御装置１０に対し二重化構成を実現するために等価性を保つ必要のある情報の転送要求を発行する。この情報転送要求を受けて、マスタ制御装置１０は、ステップＳ２で、要求された状態をスレーブ制御装置１２に転送する。
スレーブ制御装置１２は、ステップＳ１０２で、マスタ制御装置１０から転送された情報をメモリやレジスタに格納する。この処理によって、マスタ制御装置１０とスレーブ制御装置１２における初期段階での情報の等価性が確立される。続いてスレーブ制御装置１２は、ステップＳ１０３でスレーブ状態に遷移する。
【００５０】
マスタ制御装置１０がステップＳ１でマスタ状態へ遷移し、またスレーブ制御装置１２がステップＳ１０３でスレーブ状態へ遷移した後の通常の運用状態にあっては、マスタ制御装置１０がステップＳ３で等価性を保証する情報に更新があったか否かチェックしている。もし情報更新があると、それぞれのシステム制御装置は、相手方へ更新情報を送信し、システム制御装置は、メモリやレジスタに送られてきた更新情報を格納する。これによってマスタ制御装置１０とスレーブ装置１２での更新情報の等価性が保証される。
【００５１】
尚、スレーブ制御装置１２における更新情報処理はステップＳ１０５に示しており、スレーブ側の処理内容はマスタ側のステップＳ３，Ｓ４の処理と同じであり、これに対するマスタ側の処理もスレーブ側のステップＳ１０４と同じになる。
またマスタ制御装置１０は、ステップＳ５で、予め定めた等価性のチェック周期に達したか否かチェックしている。
【００５２】
マスタ制御装置１０は、ステップＳ６で、スレーブ制御装置１２から送られてきた情報と自分自身がもっている情報との一致、不一致を判断するための照合処理を実行する。この照合処理において、もし情報の不一致がステップＳ７で判別されると、ステップＳ８で、スレーブ制御装置１２に対しホルトを指示する。このホルト指示を受けたスレーブ制御装置１２は、ステップＳ１０６でホルト指示を判別すると、ステップＳ１０７で自分自身をホルトし、処理を停止する。
【００５３】
図８は、システム制御装置１０，１２で異常検出が行われた場合の処理動作である。異常検出が行われると、まずステップＳ１で自分自身の異常検出か否かチェックする。もし自分自身の異常検出であれば、ステップＳ７で、自分自身をホルトして処理を停止する。ステップＳ１で相手方の異常検出であった場合には、ステップＳ２で、相手方にホルト指示を行う。
【００５４】
次にステップＳ３で、ホルトを指示した相手がマスタか否かチェックする。もしホルトを指示した相手がマスタであった場合には、ステップＳ４で、図５の状態制御２３０へ遷移し、マスタとなるための準備処理をステップＳ５で実行した後、ステップＳ６で、マスタ状態へ遷移する。
４．オペレーションの実行
図９は、計算機システムとしてのプロセッサモジュール１４からマスタ状態にあるシステム制御装置１０にオペレーションが発行された場合の処理動作である。
【００５５】
図９において、プロセッサモジュール１４に対してシステム制御装置１０，１２はそれぞれバス１６，１８で個別に接続され、且つシステム制御装置１０，１２間は専用のバス２０で接続されている。またシステム制御装置１０はマスタ状態への遷移でマスタ処理部１００としての機能を実現しており、またシステム制御装置１２はスレーブ状態への遷移でスレーブ処理部２００としての機能を実現している。
【００５６】
この状態で、プロセッサモジュール１４からバス１６を介してシステム制御装置１０にオペレーション１０２が発行されたとする。このオペレーション１０２の発行は、バス１６を使用してシステム制御装置１０を宛先とするオペレーションコマンド１０４の送出で実現される。オペレーションコマンド１０４は、少なくともコマンドとして必要なパラメータデータをもっている。
【００５７】
システム制御装置１０は、オペレーションコマンド１０４を受信すると、自分自身のマスタ処理部１００とシステム制御装置１２のスレーブ処理部２００に起動割込みを行って動作状態とする。起動割込みを受けて動作状態となったマスタ処理部１００は、プロセッサモジュール１４からのオペレーションコマンド１０４を受信し終わると、バス２０を介してシステム制御装置１２のスレーブ処理部２００にオペレーションデータ１０６を送信する。
【００５８】
このオペレーションデータ１０６の送信が終了すると、マスタ処理部１００は、自分自身におけるオペレーションの実行を開始すると同時に、システム制御装置１２のスレーブ処理部２００に対しオペレーション処理開始の割込コマンド１０８を送信する。この処理開始割込コマンド１０８を受けて、スレーブ処理装置２００においても、その前に転送された同じオペレーションの処理を実行する。
【００５９】
このようにしてプロセッサモジュール１４からシステム制御装置１０に対しオペレーション発行１０２が行われても、２台のシステム制御装置１０，１２の両方で同じオペレーション処理が実行される。
図１０は、図９の処理動作のシーケンスであり、プロセッサモジュール１４からのオペレーション発行はマスタシステム制御装置１０を経由してスレーブシステム制御装置１２に伝えられ、両方のオペレーション処理が並行して実行される。マスタシステム制御装置１０は、自己のオペレーション処理の実行が終了すると、スレーブシステム制御装置１２側におけるオペレーション処理の実行の終了通知を待つ。
【００６０】
スレーブシステム制御装置１２側から終了通知を受けると、両方の装置１０，１２においてオペレーション処理が正常に終了したと判断し、オペレーション発行元となるプロセッサモジュール１４に対しオペレーション処理終了通知を送出する。これによって、オペレーション発行からオペレーション終了までの一連の処理が行われることになる。
【００６１】
図１１は、マスタ制御装置１０とスレーブ制御装置１２のフローチャートにより図９の処理動作を示している。まずマスタ制御装置１０のステップＳ１で、オペレーションの発行を認識すると、ステップＳ２で、オペレーションを受信すると同時に、自分自身に対する起動割込みおよびスレーブ制御装置１２に対する起動割込みを発生する。
【００６２】
続いてステップＳ３で、スレーブ制御装置１２にパラメータデータを送信する。スレーブ制御装置１２にあっては、ステップＳ１０１で起動要求を認識すると、処理を起動し、ステップＳ１０２で、パラメータデータを受信する。パラメータデータの送信終了がマスタ制御装置１０のステップＳ４で判別されると、ステップＳ５で、オペレーション処理の開始をスレーブ制御装置１２に割込送信する。
【００６３】
このとき自分自身の処理も開始することから、ステップＳ６で、オペレーション処理が実行される。スレーブ制御装置１２は、ステップＳ１０３で、マスタ制御装置１０からの開始割込みを判別すると、ステップＳ１０４で、オペレーション処理を実行する。このようにして、マスタ制御装置１０とスレーブ制御装置１２で並行して同じオペレーション処理が実行される。オペレーション処理が終了すると、マスタ制御装置１０はステップＳ７で、またスレーブ制御装置１２はステップＳ１０５で、実行終了処理を行う。
【００６４】
この実行終了処理Ｓ７，Ｓ１０５の内容は、図１０のタイムチャートに示したように、マスタ制御装置１０にあっては、自己の処理終了でスレーブ制御装置１２からの終了通知を待っており、終了通知を受けると、プロセッサモジュール１４に対し処理の終了を通知するようになる。なお、マスタ制御装置１０またはスレーブ制御装置１２で処理が正常に終了しなかった場合のエラー処理については、後の説明で明らかにする。
【００６５】
図１２は、プロセッサモジュール１４からオペレーションをスレーブ側のシステム制御装置１２に発行した場合の処理動作である。プロセッサモジュール１４からバス１６を使用したシステム制御装置１０に対するオペレーションの発行がビジー状態になると、プロセッサモジュール１４は空き状態にあるバス１８を使用してスレーブ側となるシステム制御装置１２にオペレーション発行１１０を行う。
【００６６】
このオペレーション発行１１０に伴って、バス１８よりオペレーションコマンド１１２がシステム制御装置１２に送られ、自分自身の起動割込みとシステム制御装置１０に対する起動割込みが発生し、スレーブ処理部２００およびマスタ処理部１００が動作状態になる。続いてスレーブ処理部２００は、受信したオペレーションコマンド１１２に含まれるパラメータデータ１１４をシステム制御装置１０のマスタ処理部１００に送る。
【００６７】
次にスレーブ処理部２００は、パラメータデータ１１４の送信を終了すると、マスタ処理部１００に対しオペレーション処理開始の割込コマンド１１６を発行する。この開始割込コマンド１１６を受けたマスタ処理部１００は、既に受信したパラメータデータ１１４に基づく処理を実行すると同時に、スレーブ処理部２００に対しオペレーション処理の開始割込コマンド１１８を発行する。スレーブ処理部２００は、このマスタ処理部１００からの開始割込コマンド１１８を受けて、既に受信しているオペレーション処理を実行する。
【００６８】
このようにプロセッサモジュール１４からのオペレーションはスレーブ側のシステム制御装置１２に発行されているが、オペレーションの開始はマスタ側のシステム制御装置１０側から行うようになる。
図１３は図１２の処理動作のフローチャートであり、マスタ制御装置１０とスレーブ制御装置１２の処理を並べて示している。
【００６９】
まずスレーブ制御装置１２のステップＳ１０１で、オペレーション発行を認識すると、ステップＳ１０２で、オペレーション受信とこれに基づく起動割込みを発生し、ステップＳ１０３で、マスタ制御装置１０にパラメータデータを送信する。マスタ制御装置１０は、ステップＳ１で、起動割込みによる起動要求を認識すると、ステップＳ２で、パラメータデータを受信する。
【００７０】
スレーブ制御装置１２は、パラメータデータの送信終了をステップＳ１０４で判別すると、ステップＳ１０５で、オペレーション処理開始の割込コマンドをマスタ制御装置１０に送信する。この処理開始の割込コマンドをマスタ制御装置１０はステップＳ３で認識し、ステップＳ４で、自己のオペレーション処理を開始すると同時に、スレーブ制御装置１２に対する開始処理の割込コマンドを送信する。
【００７１】
スレーブ制御装置１２は、ステップＳ１０６で、マスタ制御装置１０からの処理開始の割込コマンドを認識すると、ステップＳ１０７で、オペレーション処理を実行する。このときマスタ制御装置１０側にあっては、ステップＳ５で既にオペレーション処理が実行されている。オペレーション処理の実行を終了した後のステップＳ６，Ｓ１０８の完了通知処理は、図１１のマスタ側装置１０にオペレーションを発行した場合と同じであり、スレーブ制御装置１２からの処理終了通知を待って、マスタ制御装置１０がプロセッサモジュール１４に処理終了を通知する。
５．キューイングを伴うオペレーションの実行
図１４は、マスタとして動作するシステム制御装置１０にキュー１５を設け、プロセッサ１４のオペレーション発行で受信したオペレーションコマンドを一旦キュー１５で受け付けた後にオペレーション処理を実行する場合の処理動作である。
【００７２】
図１４は、プロセッサモジュール１４からオペレーションをマスタ側のシステム制御装置１０に発行した場合の処理動作である。この場合には、オペレーション発行１２０に伴うオペレーションコマンド１２２の受信で、起動割込みをシステム制御装置１０およびシステム制御装置１２に対し行い、受信したオペレーションコマンド１２２はキュー１５に格納する。キュー１５にあっては、時間的な受付け順に従って処理の順番を決めるインデックスをもっている。
【００７３】
続いてマスタ処理部１００は、システム制御装置１２のスレーブ処理部２００に対し、受信したオペレーションコマンド１２２から得られたパラメータデータ１２６の送信を行う。パラメータデータ１２６の送信が終了すると、マスタ処理部１００はキュー１５を参照する。受信したオペレーション１２４が一番最初にキューイングされている場合には、以前に受けたオペレーション処理は終了しており、現在のオペレーション処理は実行されていないことから、自分自身にオペレーション１２４の処理の開始を行わせる。同時に、スレーブ処理部２００に対しオペレーション処理開始の割込コマンド１２８を送って処理を開始させる。
【００７４】
図１５は、図１４のキューイングを伴うオペレーション処理の実行のフローチャートであり、マスタ制御装置１０側のステップＳ２で、発行されたオペレーションを受信した際にキュー１５に格納する点、およびパラメータデータの送信後にステップＳ５でキュー１５を参照して最初にキューイングされているか否かでステップＳ６のオペレーション処理の開始を行う点以外は、図１１のキューイングしない場合と同じである。
【００７５】
更に、ステップＳ８，Ｓ１０５の実行終了処理については、システム制御装置１０のマスタ処理部１００で自分自身の処理の終了後に、システム制御装置１２のスレーブ処理部２００からの処理終了通知を受信した際に、キュー１５の処理が済んだオペレーション１２４をクリアする点が、キューイング固有の処理であり、それ以外はキューイングしない場合と同じになる。
【００７６】
図１６は、マスタ制御装置として動作するシステム制御装置１０側にキュー１５を設けて、発行されたオペレーションをキューイングする場合に、プロセッサモジュール１４からスレーブとして動作するシステム制御装置１２側にオペレーションが発行された場合の処理動作である。
この場合には、プロセッサモジュール１４からのオペレーション発行１３０によるオペレーションコマンド１３２をシステム制御装置１２で受信すると、自分自身およびシステム制御装置１０に対する起動割込みでスレーブ処理部２００およびマスタ処理部１００を動作状態とする。この時点でマスタ処理部１００は、オペレーション１３６としてキュー１５に格納する。スレーブ処理部部２００は、オペレーションコマンド１３２の受信で得られたパラメータデータ１３４を、マスタ処理部１００に送信する。
【００７７】
送信されたパラメータデータ１３４は、オペレーション１３６としてキュー１５に格納される。パラメータデータ１３４の送信が済むと、スレーブ処理部２００はマスタ処理部１００にオペレーション処理の開始割込コマンド１３８を発行する。開始割込コマンド１３８を受けたマスタ処理部１００は、キュー１５を参照し、キューイングしたオペレーション１３６が先頭にキューイングされている場合には、自分自身でオペレーション１３６の処理を開始させると同時に、スレーブ処理部２００にオペレーション処理の開始割込コマンド１４０を発行して処理を開始させる。
【００７８】
マスタ処理部１００でオペレーション処理の実行が終了すると、スレーブ処理部２００からのオペレーション処理の実行終了通知を待つ。スレーブ処理部２００から実行終了通知が得られると、キュー１５の該当するオペレーション１３６をクリアした後、プロセッサモジュール１４に対しバス２０を経由し、バス１８を通じて処理終了を通知する。
【００７９】
図１７のフローチャートは、図１６の処理動作をマスタ制御装置１０とスレーブ装置１２について示している。この処理は、マスタ制御装置１０のステップＳ２でスレーブ制御装置１２のオペレーション起動割込みで受信したオペレーションをキュー１５に格納する点、ステップＳ４でスレーブ制御装置１２からオペレーションの開始割込コマンドを受けた際にキュー１５を参照して最初にキューイングされている際にオペレーション処理開始の割込みを行う点が、図１３のキューイングを行わない処理と異なる。
【００８０】
また、ステップＳ７の実行終了処理にあっては、スレーブ制御装置１２からの終了通知を受けた際に、キュー１５のオペレーションをクリアした後にプロセッサモジュール１４に処理終了を通知する点が相違する。
６．状態監視における事象発生処理
図１８は、システム制御装置１０，１２において、電源状態や機器の状態等の状態監視について、状態変化即ち非同期事象が発生した場合の処理動作である。この電源や入出力装置の状態変化に伴う非同期事象の発生については、システム制御装置１０，１２のマスタ処理部１００およびスレーブ処理部２００で同時に認識して、必要な処理を行う。
【００８１】
そしてスレーブ処理部２００で非同期事象発生１４２に対する必要な処理が終了すると、事象発生通知１４４をマスタ処理部１００に対し送る。この事象発生通知１４４を受けたマスタ処理部１００は、自分自身における処理の終了とスレーブ処理部２００からの事象発生通知１４４の両方から非同期事象の発生１４２に対する処理が終了したものと認識し、バス１６を使用してプロセッサモジュール１４に対し処理通知１４６として非同期事象の発生１４２を通知する。
【００８２】
図１９は、図１８の非同期事象発生に伴う処理動作のフローチャートである。
図１９において、マスタ制御装置１０およびスレーブ制御装置１２も共にステップＳ１，Ｓ１０１で事象変化を認識すると、ステップＳ２，Ｓ１０２で、事象を検出して必要な処理を行う。続いてスレーブ制御装置１２は、ステップＳ１０３でマスタ制御装置１０に事象発生を通知し、ステップＳ１０４で実行終了処理を行う。
【００８３】
マスタ制御装置１０は、ステップＳ３で、スレーブ制御装置１２からの事象発生通知を待っており、通知があると、ステップＳ４で、実行終了処理としてプロセッサモジュール１４に対し事象発生通知を行う。
７．異常検出処理
図２０は、オペレーションまたは非同期事象処理の実行中にスレーブ制御装置１２側で処理に失敗したときのシーケンスを示す。
【００８４】
図２０において、オペレーションまたは非同期事象１４８が発生すると、マスタ制御装置１０およびスレーブ制御装置１２は、同時に並行して、それぞれに対応した処理を実行する。マスタ制御装置１０は監視タイマを備えており、処理の実行を終了するとタイマを起動し、タイマがタイムアウトする間にスレーブ制御装置１２からの終了通知を待つ。
【００８５】
しかしながら、スレーブ制御装置１２は、実行の途中で異常を起こし処理に失敗しており、タイマによる設定時間Ｔに達しても終了通知が得られない。したがってマスタ制御装置１０は、設定時間Ｔが経過してタイムアウトしたときにスレーブ制御装置１２が異常と判断し、ホルト指示によりスレーブ制御装置１２をホルトさせ、自分自身で実行した処理は正常と見做して、プロセッサモジュール１４に対する通知を行う。
【００８６】
この場合、オペレーションを実行していた場合には、キュー１５をクリアした後にプロセッサモジュール１４に通知するようになる。また非同期事象の処理を実行していた場合には、自分自身で処理した非同期事象の発生をプロセッサモジュール１４に通知するようになる。
図２１は、マスタ制御装置１０における図２０の処理動作のフローチャートであり、この例ではオペレーションのキューイングを例にとっていることから、図１５のマスタ制御装置１０側のステップＳ８および図１７のマスタ制御装置１０側のステップＳ７の実行終了処理の内容となる。
【００８７】
このマスタ実行終了処理にあっては、まずステップＳ１で、自己の処理終了か否かチェックしており、処理終了を認識すると、ステップＳ２で、スレーブ制御装置１２からの終了通知の有無をチェックし、終了通知があれば、ステップＳ９で、キューイングされたオペレーションをクリアし、ステップＳ１０で、スレーブ経由のオペレーションか否かチェックする。。
【００８８】
スレーブ経由でなければ、ステップＳ１１で、バス１６を使用して上位のプロセッサモジュール１４に正常終了を通知する。スレーブ経由であった場合には、ステップＳ１２で、スレーブ制御装置１２に上位のプロセッサモジュールへの正常終了の通知の送信を指示する。
一方、ステップＳ２でスレーブ制御装置から終了通知がなかった場合には、ステップＳ３でタイマを起動し、ステップＳ４でタイムアウトをチェックする。ステップＳ４でタイムアウトする一定時間Ｔ以内に、ステップＳ２でスレーブから終了通知があれば、ステップＳ９以降の正常処理を行う。
【００８９】
タイマの設定時間Ｔを経過してもスレーブ制御装置１２から終了通知がなければ、ステップＳ４でタイムアウトが判別され、ステップＳ５で、スレーブ制御装置１２の異常と判断してスレーブ制御装置にホルトを指示して停止させる。続いてステップＳ６で、キューイングされたオペレーションをキュー１５からクリアした後、ステップＳ７で、上位のプロセッサモジュールに正常終了を通知する。
【００９０】
なお図２１のフローチャートは、プロセッサモジュール１４からのオペレーション発行に伴う処理を例にとっているが、状態監視に伴う非同期事象の発生についても、基本的に同じ処理となる。
図２２は、オペレーションまたは非同期事象の実行中にスレーブ制御装置で異常が起きたときの処理の他の実施例である。この図２２の実施例にあっては、スレーブ制御装置の処理終了時に処理結果をマスタ制御装置に通知し、両方の実行結果を比較することでスレーブ制御装置の処理が異常か否か判断している。
【００９１】
図２２において、オペレーションまたは非同期事象１４８が発生すると、マスタ制御装置１０とスレーブ制御装置１２は、オペレーションまたは非同期事象の処理を並行して実行する。スレーブ制御装置１２は、処理の実行を終了すると、処理完了通知として実行結果を示す情報をマスタ制御装置１０に転送する。マスタ制御装置１０は、スレーブ制御装置１２からの通知情報と自分自身の処理の実行結果として得られた情報の比較処理１５０を行う。
【００９２】
この比較処理１５０の結果、両方の情報が一致していれば、処理は正常に行われたものとしてプロセッサモジュール１４に終了通知を行う。一方、マスタ制御装置１０とスレーブ制御装置１２の処理情報が不一致であった場合には、スレーブ制御装置１２の異常と見做し、スレーブ制御装置１２にホルト指示を行って停止させた後に、マスタ制御装置１０の処理情報を正常終了と見做してプロセッサモジュール１４に終了通知を行う。
【００９３】
図２３のフローチャートは、図２２でオペレーション発行に対するマスタ制御装置１０側の実行終了時の処理を示している。このマスタ制御装置１０における実行終了処理は、ステップＳ１で自己の処理終了を判別すると、ステップＳ２で、スレーブ装置１２からの終了通知の有無をチェックしており、終了通知を受けると、ステップＳ３で、マスタ制御装置１０とスレーブ制御装置１２の処理情報を比較する。
【００９４】
この比較により、ステップＳ４で、もし不一致が判別されると、ステップＳ５で、スレーブ制御装置１２の異常と判断してホルトを指示して停止させ、ステップＳ６で、キューイングされたオペレーションをクリアした後、ステップＳ７で、マスタ制御装置１０自身の処理結果は正常と見做して、上位のプロセッサモジュール１４に正常終了の通知を行う。
【００９５】
勿論、ステップＳ４で一致していれば、ステップＳ９で、マスタ制御装置１０およびスレーブ制御装置１２の正常終了処理を行う。なお図２３は、オペレーション実行時の終了処理を示しているが、状態変化に伴う非同期事象発生処理については、ステップＳ６のキューイングされたオペレーションのクリアが必要な以外は同じになる。
【００９６】
図２４は、プロセッサモジュール１４からスレーブ側のシステム制御装置１２にオペレーション発行が行われ、マスタ側のシステム制御装置１０にコマンドパラメータを送信している間にハードウェア異常が起きたときの処理動作である。
図２４において、システム制御装置１２に対しプロセッサモジュール１４よりオペレーション発行１５２が行われ、これに伴い、キュー１５にオペレーション１５６として格納される。その後、スレーブ処理部２００からシステム制御装置１０のマスタ処理部１００に対しパラメータデータ１５４の送信が行われる。このパラメータデータ１５４の送信中にハードウェアエラー１６０が発生して送信不能になったとする。
【００９７】
このハードウェアエラー１６０による送信異常は、スレーブ処理部２００で検出される。スレーブ処理部２００は、ハードウェアエラー１６０による異常を検出すると、自分自身をホルト状態とする。一方、マスタ処理部１００は、スレーブ制御装置１２がホルト状態になったことを検出すると、キュー１５にキューイングしているオペレーション１５６を放棄し、処理を終了させる。この処理の終了に伴い、マスタ処理部１００はオペレーション発行元のプロセッサモジュール１４に対しオペレーションの破棄を示す破棄通知１６２を送る。
【００９８】
図２５は、図２４の送信中のハードウェアエラー発生時のマスタ制御装置１０側のエラー処理１フローチャートである。このエラー処理１は、ステップＳ１で、スレーブ制御装置１２からのオペレーションの受信を行っており、ひき続いてのパラメータ受信中にステップＳ２でハードウェアをエラーしてスレーブ制御装置１２がホルト状態に遷移したのを検出すると、ステップＳ３で、キューイングしているオペレーションを破棄する。
【００９９】
図２６は、オペレーションまたは非同期事象の発生に対し、マスタ制御装置１０と並行して処理を開始したスレーブ制御装置１２が、処理の実行中に異常となったときのシーケンスである。このようにスレーブ制御装置１２が処理の実行中に異常を起こすと、自己ホルトあるいはマスタ制御装置１０からのホルト指示でホルト状態に移行する。マスタ制御装置１０側でスレーブ制御装置１２がホルト状態に遷移したことが検出され、マスタ制御装置１０で処理を終了すれば、ホルトしているスレーブ制御装置１２からの終了通知に関わらず処理の正常終了と見做して、プロセッサモジュール１４に対し、オペレーション実行の場合は処理の完了通知、非同期事象発生に対する処理の実行については非同期事象発生通知を行う。勿論、オペレーション実行の場合はキューイングされたオペレーションをクリアする。
【０１００】
図２７は、図２６のマスタエラー処理２のフローチャートであり、ステップＳ１で、オペレーションまたは同期事象検出処理を実行中にある。このときステップＳ２でスレーブ制御装置１２かホルト状態に遷移したことを検出すると、ステップＳ３でオペレーション実行中であった場合には、ステップＳ４で、キューイングされたオペレーションをクリアし、また同期事象発生に対する処理であった場合には、ステップＳ４の処理を行わずステップＳ５に進み、上位のプロセッサモジュールにオペレーションの場合は正常終了を、同期事象の場合は同期事象の発生通知を行う。
【０１０１】
図２８は、オペレーションまたは非同期事象発生に伴う処理の実行中にマスタ制御装置１０に異常が起きた場合のシーケンスであり、図２９にフローチャートを示す。まずステップと１０１でオペレーションまたは非同期事象発生１４８に対しマスタ制御装置１０およびスレーブ制御装置１２が並行して処理を実行しており、実行の途中でマスタ制御装置１０に異常が起きると、ホルト状態に遷移す。このマスタ制御装置がホルト状態になったことを、スレーブ制御装置１２がステップ１０２で認識し、現在実行中のオペレーションおよび非同期事象に対する処理をステップ１０３で破棄する。
【０１０２】
このとき、異常を起こしたマスタ制御装置１０は自分自身でホルト状態となっている。そこでスレーブ制御装置１２は、図５の遷移状態図に示したように、ステップＳ１０４でスレーブ２２０から状態制御２３０に移行して、マスタ２１０に移行するための準備処理を実行した後、マスタ２１０に遷移する。その後は、ステップＳ１０５でスレーブ制御装置１２はマスタ制御装置として破棄したオペレーションおよび非同期事象発生に対する処理を行うことになる。
【０１０３】
尚、上記の実施例は、筐体内にプロセッサモジュールを備えた計算機システムに本発明の二重化構成をもつシステム制御装置を適用した場合を例にとっているが、プロセッサモジュールに限らず適宜の機器構成の計算機システムにつき、そのまま適用することができる。
また上記の実施例にあっては、計算機システムの筐体単位に本発明の二重化構成をもつシステム制御装置を実装した場合を例にとっているが、筐体単位とせずに任意のシステム単位に二重化されたシステム制御装置を設けてもよい。
【０１０４】
またマスタおよびスレーブの設定はシステム制御装置を実装するバスのスロット番号に基づいて設定しているが、計算機システムのソフトウェアによってダイナミックに設定できるようにしてもよい。
更に、二重化構成をもつ２つのシステム制御装置と計算機システムの間のインタフェースバスは、２台のシステム制御装置間で等価性を保つための情報伝送ができ、また計算機システムとの間で個別に情報のやり取りができれば、適宜のバス構成でよい。
【０１０５】
【発明の効果】
以上説明してきたように本発明によれば、二重化されたシステム制御装置で扱っている計算機システムの制御、状態監視および保守に関する情報につき、パワーオンスタートに伴うイニシャライズ状態でマスタからスレーブに送って等価性を保証し、その後の運用状態にあっては、お互いの情報更新につき相手方に送って等価性を保ち、更に、定期的なチェックにより情報の等価性を保つため、２台のシステム制御装置で扱っている情報のくい違いをなくし、いずれかのシステム制御装置で異常が起きても、直ちに正しい処理を引き継ぐことができる。
【０１０６】
また２台のシステム制御装置の一方をマスタ、他方をスレーブに設定し、両方にくい違いを発生した場合には、スレーブ側の装置をホルトさせマスタ側の装置の情報を有効とすることで、万が一、情報にくい違いが起きても常にマスタ側の装置に従った運用を保証することができる。
更に、マスタ側のシステム制御装置に異常が起きた場合には、スレーブ側のシステム制御装置にマスタとしての状態を遷移して処理を引き継ぐことができ、この場合、両者の情報の等価性は保証されているため、それまでスレーブとして動作していた装置がマスタとしての動作状態に切り替わっても、計算機システムの制御、状態監視、更に保守管理に悪影響を及ぼすことはない。
【０１０７】
このようなシステム制御装置の二重化構成により、システム制御装置を原因とした計算機システムの停止を確実に防止し、計算機システムの信頼性を大幅に向上することができる。
【図面の簡単な説明】
【図１】本発明の原理説明図
【図２】本発明のシステム制御装置を備えた計算機システムのブロック図
【図３】図２のシステム制御モジュールのブロック図
【図４】図３のマスタ側システム制御装置の機能ブロック図
【図５】本発明のシステム制御装置の状態遷移図
【図６】パワーオンスタート時のマスタ及びスレーブの状態遷移のフローチャート
【図７】マスタ状態及びスレーブ状態移行後の等価性のチェック処理のフローチャート
【図８】異常検出処理の状態遷移のフローチャート
【図９】マスタ側にオペレーションが発行された場合の処理動作の説明図
【図１０】図９の処理動作のシーケンス説明図
【図１１】図９の処理動作のフローチャート
【図１２】スレーブ側にオペレーションが発行された場合の処理動作の説明図
【図１３】図１２の処理動作のフローチャート
【図１４】マスタ側に発行したオペレーションをキューイングする場合の処理動作の説明図
【図１５】図１４の処理動作のフローチャート
【図１６】スレーブ側に発行したオペレーションをキューイングする場合の処理動作の説明図
【図１７】図１６の処理動作のフローチャート
【図１８】状態監視で非同期事象が発生した場合の処理動作の説明図
【図１９】図１８の処理動作のフローチャート
【図２０】スレーブ側の異常をタイマによる時間監視で判断する処理のシーケンス説明図
【図２１】図２０の処理動作のフローチャート
【図２２】スレーブ側の異常を情報比較で判断する処理のシーケンス説明図
【図２３】図２２の処理動作のフローチャート
【図２４】スレーブ側からデータ送信中に異常が発生した場合の処理の説明図
【図２５】図２４の処理動作のフローチャート
【図２６】スレーブ側の処理実行中に異常が発生した場合の処理説明図
【図２７】図２６の処理動作のフローチャート
【図２８】マスタ側の処理実行中に異常が発生した場合の処理説明図
【図２９】図２８の処理動作のフローチャート
【符号の説明】
１０，１２：システム制御装置（マスタ制御装置１０，スレーブ制御装置１２）
１１：筐体
１４，１４−１，１４−２：プロセッサモジュール（計算機システム）
１５：キュー
１６，１８：バス
１６−１，１６−２：システムバス
２０：バス
２２−１，２２−２：システム制御モジュール
２４−１，２４−２：ブリッジ回路部
２６−１，２６−２：システムブリッジ回路部
３０：メンテナンスバス
３２−１，３２−２：入出力バス
３６−１〜３６−３：筐体間インタフェースバス
３８−１，３８−２：電源インタフェースバス
４０−１，４０−２：電源部
４２−１，４２−２：上位操作ユニット
４４：操作パネル
４６：デバイスバス
４８−１，４８−２：デバック用コンソール
５４：アダプタ
５６−１〜５６−３：入出力装置
６０：プロセッサ
６２：実装位置認識部
６４：状態認識部
６６：内部ステータス設定部
６８：状態遷移部
７０：イベント処理部
７２：異常検出部
７４：ホルト指示部
７５：データ送受信部
７６：更新情報転送部
７８：等価性チェック部
８０：オペレーション処理部
８２：内部メモリ
８４：等価性情報格納部
【図１】
0003611894.tif 000002
【図２】
0003611894.tif 000003
【図３】
0003611894.tif 000004
【図４】
0003611894.tif 000005
【図５】
0003611894.tif 000006
【図６】
0003611894.tif 000007
【図７】
0003611894.tif 000008
【図８】
0003611894.tif 000009
【図９】
0003611894.tif 000010
【図１０】
0003611894.tif 000011
【図１１】
0003611894.tif 000012
【図１２】
0003611894.tif 000013
【図１３】
0003611894.tif 000014
【図１４】
0003611894.tif 000015
【図１５】
0003611894.tif 000016
【図１６】
0003611894.tif 000017
【図１７】
0003611894.tif 000018
【図１８】
0003611894.tif 000019
【図１９】
0003611894.tif 000020
【図２０】
0003611894.tif 000021
【図２１】
0003611894.tif 000022
【図２２】
0003611894.tif 000023
【図２３】
0003611894.tif 000024
【図２４】
0003611894.tif 000025
【図２５】
0003611894.tif 000026
【図２６】
0003611894.tif 000027
【図２７】
0003611894.tif 000028
【図２８】
0003611894.tif 000029
【図２９】
0003611894.tif 000030