(57)【要約】【課題】各ユニットに最適なリトライ間隔を設定する。【解決手段】ユニット１０５−１〜１０５−３に対する命令の実行が失敗したと判断された場合に該命令をリトライするＯＳ１０１が搭載され、ユニット１０５−１〜１０５−３にて継続動作可能な障害が発生した場合、ユニット１０５−１〜１０５−３を識別可能な識別情報に予め対応付けられた復旧処理時間が障害制御ユニット１０６からＯＳ１０１に通知され、ＯＳ１０１にて通知された復旧処理時間に基づいてリトライする間隔が決定される。【選択図】図１
2008186352.tif 000002
【特許請求の範囲】
【請求項１】
基本ソフトウェアが搭載され、該基本ソフトウェアは配下に接続されたユニットに対する命令の実行が失敗したと判断された場合に、該命令をリトライするコンピュータシステムであって、
前記ユニットにて継続動作可能な障害が発生した場合、当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を前記基本ソフトウェアに通知する障害制御ユニットを有し、
前記基本ソフトウェアは、前記復旧処理時間に基づいてリトライする間隔を決定するコンピュータシステム。
【請求項２】
請求項１に記載のコンピュータシステムにおいて、
前記識別情報と前記復旧処理時間との対応付けを予め格納した復旧処理時間テーブルを有し、
前記障害制御ユニットは、前記ユニットにて継続動作可能な障害が発生した場合、前記復旧処理時間テーブルから当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を読み出すことを特徴とするコンピュータシステム。
【請求項３】
請求項２に記載のコンピュータシステムにおいて、
前記ユニットは、前記継続動作可能な障害が発生した場合、その旨を示した情報を前記識別情報とともに当該コンピュータシステムに搭載されたファームウェアに通知し、
前記ファームウェアは、前記識別情報に対応付けられた前記復旧処理時間の読み出しを前記障害制御ユニットに指示することを特徴とするコンピュータシステム。
【請求項４】
基本ソフトウェアとファームウェアが搭載され、該基本ソフトウェアは配下に接続されたユニットに対する命令の実行が失敗したと判断された場合に、該命令をリトライするコンピュータシステムであって、
前記ユニットにて継続動作可能な障害が発生した場合、当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を前記ファームウェアに通知する障害制御ユニットを有し、
前記ファームウェアは、前記復旧処理時間が経過後、前記リトライを前記基本ソフトウェアに要求するコンピュータシステム。
【請求項５】
請求項４に記載のコンピュータシステムにおいて、
前記識別情報と前記復旧処理時間との対応付けを予め格納した復旧処理時間テーブルを有し、
前記障害制御ユニットは、前記ユニットにて継続動作可能な障害が発生した場合、前記復旧処理時間テーブルから当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を読み出すことを特徴とするコンピュータシステム。
【請求項６】
請求項５に記載のコンピュータシステムにおいて、
前記ユニットは、前記継続動作可能な障害が発生した場合、その旨を示した情報を前記識別情報とともに前記ファームウェアに通知し、
前記ファームウェアは、前記識別情報に対応付けられた前記復旧処理時間の読み出しを前記障害制御ユニットに指示することを特徴とするコンピュータシステム。
【請求項７】
基本ソフトウェアが搭載され、該基本ソフトウェアは配下に接続されたユニットに対する命令の実行が失敗したと判断された場合に、該命令をリトライするコンピュータシステムにおける命令リトライ方法であって、
前記ユニットにて継続動作可能な障害が発生した場合、当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を前記基本ソフトウェアに通知する処理と、
前記基本ソフトウェアが、前記復旧処理時間に基づいてリトライする間隔を決定する処理とを有する命令リトライ方法。
【請求項８】
請求項７に記載の命令リトライ方法において、
前記ユニットにて継続動作可能な障害が発生した場合、前記識別情報と前記復旧処理時間との対応付けを予め格納した復旧処理時間テーブルから当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を読み出す処理を有することを特徴とする命令リトライ方法。
【請求項９】
基本ソフトウェアとファームウェアが搭載され、該基本ソフトウェアは配下に接続されたユニットに対する命令の実行が失敗したと判断された場合に、該命令をリトライするコンピュータシステムにおける命令リトライ方法であって、
前記ユニットにて継続動作可能な障害が発生した場合、当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を前記ファームウェアに通知する処理と、
前記ファームウェアが、前記復旧処理時間が経過後、前記リトライを前記基本ソフトウェアに要求する処理とを有する命令リトライ方法。
【請求項１０】
請求項９に記載の命令リトライ方法において、
前記ユニットにて継続動作可能な障害が発生した場合、前記識別情報と前記復旧処理時間との対応付けを予め格納した復旧処理時間テーブルから当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を読み出す処理を有することを特徴とする命令リトライ方法。
【請求項１１】
基本ソフトウェアが搭載され、該基本ソフトウェアは配下に接続されたユニットに対する命令の実行が失敗したと判断された場合に、該命令をリトライするコンピュータに、
前記ユニットにて継続動作可能な障害が発生した場合、当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を前記基本ソフトウェアに通知する手順と、
前記復旧処理時間に基づいてリトライする間隔を決定する手順とを実行させるプログラム。
【請求項１２】
請求項１１に記載のプログラムにおいて、
前記ユニットにて継続動作可能な障害が発生した場合、前記識別情報と前記復旧処理時間との対応付けを予め格納した復旧処理時間テーブルから当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を読み出す手順をコンピュータに実行させるプログラム。
【請求項１３】
基本ソフトウェアとファームウェアが搭載され、該基本ソフトウェアは配下に接続されたユニットに対する命令の実行が失敗したと判断された場合に、該命令をリトライするコンピュータに、
前記ユニットにて継続動作可能な障害が発生した場合、当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を前記ファームウェアに通知する手順と、
前記復旧処理時間が経過後、前記ファームウェアから前記リトライを前記基本ソフトウェアに要求する手順をコンピュータに実行させるプログラム。
【請求項１４】
請求項１３に記載のプログラムにおいて、
前記ユニットにて継続動作可能な障害が発生した場合、前記識別情報と前記復旧処理時間との対応付けを予め格納した復旧処理時間テーブルから当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を読み出す手順をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基本ソフトウェアであるＯＳ（Operating System）が搭載されたコンピュータシステム、コンピュータシステムにおける命令リトライ方法及びプログラムに関する。
【背景技術】
【０００２】
一般的に、基本ソフトウェアであるＯＳ（Operating System）が搭載されたコンピュータシステムにおいては、ＯＳによって発行された命令が命令対象であるユニットにて実行されなかった（命令失敗）場合、当該命令が再度発行（リトライ）される。ここで、命令が実行されたかどうかを判断するには、命令対象ユニットから送信される命令が実行不可能（有効ではない）である旨が示された情報がリプライとして用いられる。この命令が実行不可能（有効ではない）である旨が示された情報がＯＳにて受信された場合、当該命令が実行されなかったと判断される。
【０００３】
また、リトライの結果、さらに命令が実行されなかったと判断された場合、命令対象のユニットに障害が発生したと判断され、ＯＳによって当該ユニットが切り離されるものが一般的である。
【０００４】
また、コマンド送信装置から送信されるコマンドが実行されるコマンド受信装置にてコマンド実行中に、受信されたコマンドが実行されるための最大実行時間情報がコマンド受信装置からコマンド送信装置へ送信される技術が考えられている（例えば、特許文献１参照。）。この最大実行時間情報を用いれば、コマンド受信装置にて当該コマンドが実行されている時間内は、コマンド送信装置からリトライを行うことを避けることができる。これにより、様々な能力を有するコマンド受信装置に対して、命令を発行してからリトライを行うまでの時間を柔軟に設定することができる。
【０００５】
また、コンピュータからその周辺装置へコマンドが送出されてから当該コマンドに対する応答があるまでの応答待ち時間が、発生した障害の種類や障害発生部位に基づいて算出される技術が考えられている（例えば、特許文献２参照。）。
【０００６】
また、複数の障害復旧ツール毎に予想処理時間が予め設定されたテーブルを用いることにより、センタにて障害が発生したときの復旧時間をセンタに接続された端末に通知する技術が考えられている（例えば、特許文献３参照。）。
【特許文献１】特開２００５−３４６１７５号公報
【特許文献２】特開２０００−１３２４１３号公報
【特許文献３】特開昭５７−０１８１４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来の技術においては、命令対象ユニットに継続動作可能な障害が発生した場合、上位装置から、または当該ユニットにて行われる当該ユニットの障害復旧処理にかかる時間よりも、最初の命令発行からリトライされるまでの時間が短い時間であると、当該ユニットが復旧する前にリトライされてしまう。そのため、リトライされた命令は再度ユニットが有効では無いというリプライがＯＳにて受信され、ＯＳにてリトライも失敗したと判断され、障害が発生したユニットが誤って切り離されてしまうという問題点がある。
【０００８】
そこで、ＯＳが障害復旧処理時間よりも長い時間リトライを繰り返すか、またはリトライ発行間隔を障害復旧処理時間よりも長くすることにより、障害が発生したユニットが誤って切り離されるという問題を回避することが可能である。
【０００９】
しかしながら、接続ユニットの障害復旧処理はＨＷ（ハードウェア）に依存するため、それぞれのＨＷに基づいてＯＳのリトライ発行間隔を変更する対策が必要となってしまうという問題点がある。また、ＯＳが障害復旧処理時間よりも長い時間リトライを繰り返す場合には、リトライの命令が繰り返し発行されるため余計なトランザクションが増えてしまい、装置にかかる負荷が増加してしまうという問題点がある。また、リトライ発行間隔を障害復旧処理時間よりも長くした場合には、プロセッサが長い時間占有されるため、装置全体の性能が悪化してしまうという問題点がある。
【００１０】
また、特許文献１に記載された技術においては、コマンド受信装置から最大実行時間情報をコマンド送信装置へ送信しなければならないという問題点がある。
【００１１】
また、特許文献２に記載された技術においては、周辺装置からの応答があるまでの待ち時間が算出されるものであり、コンピュータから当該周辺装置へリトライを行う間隔が算出されるものではない。
【００１２】
また、特許文献３に記載された技術においては、センタから端末へ復旧時間を通知しなければならないという問題点がある。
【００１３】
本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、各ユニットに最適なリトライ間隔を設定することができるコンピュータシステム、コンピュータシステムにおける命令リトライ方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために本発明は、
基本ソフトウェアが搭載され、該基本ソフトウェアは配下に接続されたユニットに対する命令の実行が失敗したと判断された場合に、該命令をリトライするコンピュータシステムであって、
前記ユニットにて継続動作可能な障害が発生した場合、当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を前記基本ソフトウェアに通知する障害制御ユニットを有し、
前記基本ソフトウェアは、前記復旧処理時間に基づいてリトライする間隔を決定する。
【００１５】
また、前記識別情報と前記復旧処理時間との対応付けを予め格納した復旧処理時間テーブルを有し、
前記障害制御ユニットは、前記ユニットにて継続動作可能な障害が発生した場合、前記復旧処理時間テーブルから当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を読み出すことを特徴とする。
【００１６】
また、前記ユニットは、前記継続動作可能な障害が発生した場合、その旨を示した情報を前記識別情報とともに当該コンピュータシステムに搭載されたファームウェアに通知し、
前記ファームウェアは、前記識別情報に対応付けられた前記復旧処理時間の読み出しを前記障害制御ユニットに指示することを特徴とする。
【００１７】
また、基本ソフトウェアとファームウェアが搭載され、該基本ソフトウェアは配下に接続されたユニットに対する命令の実行が失敗したと判断された場合に、該命令をリトライするコンピュータシステムであって、
前記ユニットにて継続動作可能な障害が発生した場合、当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を前記ファームウェアに通知する障害制御ユニットを有し、
前記ファームウェアは、前記復旧処理時間が経過後、前記リトライを前記基本ソフトウェアに要求する。
【００１８】
また、前記識別情報と前記復旧処理時間との対応付けを予め格納した復旧処理時間テーブルを有し、
前記障害制御ユニットは、前記ユニットにて継続動作可能な障害が発生した場合、前記復旧処理時間テーブルから当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を読み出すことを特徴とする。
【００１９】
また、前記ユニットは、前記継続動作可能な障害が発生した場合、その旨を示した情報を前記識別情報とともに前記ファームウェアに通知し、
前記ファームウェアは、前記識別情報に対応付けられた前記復旧処理時間の読み出しを前記障害制御ユニットに指示することを特徴とする。
【００２０】
また、基本ソフトウェアが搭載され、該基本ソフトウェアは配下に接続されたユニットに対する命令の実行が失敗したと判断された場合に、該命令をリトライするコンピュータシステムにおける命令リトライ方法であって、
前記ユニットにて継続動作可能な障害が発生した場合、当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を前記基本ソフトウェアに通知する処理と、
前記基本ソフトウェアが、前記復旧処理時間に基づいてリトライする間隔を決定する処理とを有する。
【００２１】
また、前記ユニットにて継続動作可能な障害が発生した場合、前記識別情報と前記復旧処理時間との対応付けを予め格納した復旧処理時間テーブルから当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を読み出す処理を有することを特徴とする。
【００２２】
また、基本ソフトウェアとファームウェアが搭載され、該基本ソフトウェアは配下に接続されたユニットに対する命令の実行が失敗したと判断された場合に、該命令をリトライするコンピュータシステムにおける命令リトライ方法であって、
前記ユニットにて継続動作可能な障害が発生した場合、当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を前記ファームウェアに通知する処理と、
前記ファームウェアが、前記復旧処理時間が経過後、前記リトライを前記基本ソフトウェアに要求する処理とを有する。
【００２３】
また、前記ユニットにて継続動作可能な障害が発生した場合、前記識別情報と前記復旧処理時間との対応付けを予め格納した復旧処理時間テーブルから当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を読み出す処理を有することを特徴とする。
【００２４】
また、基本ソフトウェアが搭載され、該基本ソフトウェアは配下に接続されたユニットに対する命令の実行が失敗したと判断された場合に、該命令をリトライするコンピュータに、
前記ユニットにて継続動作可能な障害が発生した場合、当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を前記基本ソフトウェアに通知する手順と、
前記復旧処理時間に基づいてリトライする間隔を決定する手順とを実行させる。
【００２５】
また、前記ユニットにて継続動作可能な障害が発生した場合、前記識別情報と前記復旧処理時間との対応付けを予め格納した復旧処理時間テーブルから当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を読み出す手順をコンピュータに実行させる。
【００２６】
また、基本ソフトウェアとファームウェアが搭載され、該基本ソフトウェアは配下に接続されたユニットに対する命令の実行が失敗したと判断された場合に、該命令をリトライするコンピュータに、
前記ユニットにて継続動作可能な障害が発生した場合、当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を前記ファームウェアに通知する手順と、
前記復旧処理時間が経過後、前記ファームウェアから前記リトライを前記基本ソフトウェアに要求する手順をコンピュータに実行させる。
【００２７】
また、前記ユニットにて継続動作可能な障害が発生した場合、前記識別情報と前記復旧処理時間との対応付けを予め格納した復旧処理時間テーブルから当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を読み出す手順をコンピュータに実行させる。
【００２８】
上記のように構成された本発明においては、ユニットに対する命令の実行が失敗したと判断された場合に該命令をリトライする基本ソフトウェアが搭載され、ユニットにて継続動作可能な障害が発生した場合、当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間が障害制御ユニットから基本ソフトウェアに通知され、基本ソフトウェアにて通知された復旧処理時間に基づいてリトライする間隔が決定される。
【００２９】
これにより、リトライ命令の多発による装置の負荷の増加を防ぐことができ、それにより、２次障害を誘発することが抑えることができる。また、ハードウェアを更新する度に基本ソフトウェアを修正するという必要が無くなる。
【発明の効果】
【００３０】
以上説明したように本発明においては、ユニットに対する命令の実行が失敗したと判断された場合に該命令をリトライする基本ソフトウェアが搭載され、ユニットにて継続動作可能な障害が発生した場合、当該ユニットを識別可能な識別情報に予め対応付けられた復旧処理時間を障害制御ユニットから基本ソフトウェアに通知し、基本ソフトウェアにて通知された復旧処理時間に基づいてリトライする間隔を決定する構成としたため、各ユニットに最適なリトライ間隔を設定することができる。
【発明を実施するための最良の形態】
【００３１】
以下に、本発明の実施の形態について図面を参照して説明する。
【００３２】
図１は、本発明のコンピュータシステムの実施の一形態を示す図である。
【００３３】
本形態は図１に示すように、ＯＳ１０１と、ＦＷ１０２と、プロセッサ１０３と、チップセット１０４と、ユニット１０５−１〜１０５−３と、障害制御ユニット１０６と、復旧処理時間テーブル１０７とから構成されている。
【００３４】
ＯＳ１０１は、本コンピュータシステム全体を管理する基本ソフトウェアである。
【００３５】
ＦＷ１０２は、ユニット１０５−１〜１０５−３等のハードウェアの基本制御を行うプロセッサ１０３上で動作するファームウェアである。
【００３６】
プロセッサ１０３は、本コンピュータシステム全体を制御するＣＰＵである。
【００３７】
チップセット１０４は、プロセッサ１０３の周辺回路が搭載されたチップ群であり、配下のユニット１０５−１〜１０５−３と接続されている。
【００３８】
ユニット１０５−１〜１０５−３は、チップセット１０４に接続された処理装置であり、ＯＳ１０１からの指示により本コンピュータシステムから切り離すことが可能なものである。また、継続動作可能な障害（以下、動作可障害と称する）が発生した場合、動作可障害が発生した旨を示す情報を障害制御ユニット１０６へ送信する。この情報には少なくとも、ユニット１０５−１〜１０５−３に固有に予め付与された識別情報が含まれる。また、チップセット１０４とユニット１０５−１〜１０５−３との接続は１対１（それぞれの個別線）で示しているが、チップセット１０４をマスターとしたバス構成を用いて接続されるものであってもかまわない。
【００３９】
復旧処理時間テーブル１０７には、ユニット１０５−１〜１０５−３に動作可障害が発生した場合の動作可障害発生から復旧するまでの時間である復旧処理時間が、ユニット１０５−１〜１０５−３毎に対応付けられて格納されている。この復旧処理時間テーブル１０７は、ハードウェア回路で実現されるレジスタであっても良いし、メモリデバイスであっても良い。
【００４０】
図２は、図１に示した復旧処理時間テーブル１０７に格納された情報の一例を示す図である。
【００４１】
図１に示した復旧処理時間テーブル１０７には図２に示すように、ユニット１０５−１〜１０５−３にそれぞれ固有に付与された識別情報と、ユニット１０５−１〜１０５−３に動作可障害が発生した場合の動作可障害発生から復旧するまでの時間である復旧処理時間とがそれぞれ対応付けられて格納されている。ここで、ユニット１０５−１には「Ａ００１」の識別情報が、またユニット１０５−２には「Ａ００２」の識別情報が、またユニット１０５−３には「Ａ００３」の識別情報が、それぞれ予め付与されている。例えば、識別情報「Ａ００１」と、復旧処理時間「３００マイクロ秒」とが対応付けられて格納されている。これは、識別情報が「Ａ００１」であるユニット１０５−１に動作可障害が発生した場合、当該動作可障害が発生してから復旧処理を行うことにより復旧するまでにかかる時間が「３００マイクロ秒」であることを示す。また、識別情報「Ａ００２」と、復旧処理時間「２００マイクロ秒」とが対応付けられて格納されている。これは、識別情報が「Ａ００２」であるユニット１０５−２に動作可障害が発生した場合、当該動作可障害が発生してから復旧処理を行うことにより復旧するまでにかかる時間が「２００マイクロ秒」であることを示す。また、識別情報「Ａ００３」と、復旧処理時間「４００マイクロ秒」とが対応付けられて格納されている。これは、識別情報が「Ａ００３」であるユニット１０５−３に動作可障害が発生した場合、当該動作可障害が発生してから復旧処理を行うことにより復旧するまでにかかる時間が「４００マイクロ秒」であることを示す。また、復旧処理時間テーブル１０７には、上述した識別情報及び復旧処理時間以外の情報が格納されているものであっても良い。
【００４２】
障害制御ユニット１０６は、チップセット１０４及びユニット１０５−１〜１０５−３と接続され、ユニット１０５−１〜１０５−３の識別情報に基づいて復旧処理時間テーブル１０７に格納されている復旧処理時間を読み出す。また、ユニット１０５−１〜１０５−３と障害制御ユニット１０６との接続は１対１（それぞれの個別線）で示しているが、障害制御ユニット１０６をマスターとしたバス構成を用いて接続されるものであってもかまわない。
【００４３】
また、ユニット１０５−１〜１０５−３の数が３つの場合を例に挙げたが、この数については３つに限定しない。また、ユニット１０５−１〜１０５−３や、障害制御ユニット１０６にチップセット１０４が含まれているものであっても良い。また、ユニット１０５−１〜１０５−３に障害制御ユニット１０６が含まれているものであっても良い。
【００４４】
以下に、図１に示したコンピュータシステムにおける命令リトライ方法についてフローチャートを用いて説明する。
【００４５】
図３は、図１に示したコンピュータシステムにおける命令リトライ方法の一例を説明するためのフローチャートである。ここでは、ユニット１０５−１に動作可障害が発生した場合を例に挙げて説明する。
【００４６】
ユニット１０５−１に動作可障害が発生すると（ステップＳ１）、動作可障害が発生した旨がＦＷ１０２に通知される。この通知方法については、一般的な割り込み通知や例外報告を用いるもので良く、ここでは特に限定しない。
【００４７】
ユニット１０５−１にて動作可障害が発生したことがＦＷ１０２にて認識されると、ＦＷ１０２から障害制御ユニット１０６に復旧処理時間テーブル１０７からユニット１０５−１の復旧処理時間情報の読み出しが指示される。そして、障害制御ユニット１０６によって復旧処理時間テーブル１０７からユニット１０５−１の復旧処理時間である復旧処理時間情報が読み出される（ステップＳ２）。図２に示した対応付けを例に挙げると、「３００マイクロ秒」が読み出される。
【００４８】
このとき、ＦＷ１０２から障害制御ユニット１０６へユニット１０５−１〜１０５−３のいずれかで動作可障害が発生した旨が通知され、ユニット１０５−１〜１０５−３のいずれかで動作可障害が発生した旨が通知された障害発生ユニット１０６からユニット１０５−１〜１０５−３の状態が確認されるものであっても良い。これにより、どのユニット１０５−１〜１０５−３にて動作可障害が発生したかが障害制御ユニット１０６にて判断される。ユニット１０５−１〜１０５−３の状態の確認方法としては、ユニット１０５−１〜１０５−３が有するメモリやレジスタの１ビットに動作可障害が発生したかどうかを示す状態フラグを予め設定し、そのフラグを障害制御ユニット１０６が予め設定された周期で周期的にリードするものが挙げられる。このようにして、障害制御ユニット１０６にて動作可障害が発生したユニット１０５−１が認識され、復旧処理時間テーブル１０７からユニット１０５−１の復旧処理時間である復旧処理時間情報が読み出されるものであっても良い。
【００４９】
障害制御ユニット１０６によって読み出されたユニット１０５−１の復旧処理時間情報は、ＦＷ１０２に通知される。
【００５０】
その後、ＦＷ１０２からＯＳ１０１へユニット１０５−１においては命令が実行できない旨がリプライとしてコンディションコードや例外報告を用いて通知される。この通知はリトライ要求となる。そのとき、ユニット１０５−１の復旧処理時間情報も通知される（ステップＳ３）。
【００５１】
ユニット１０５−１の復旧処理時間情報が通知されたＯＳ１０１にて、通知された復旧処理時間情報に基づいてリトライ間隔が決定される（ステップＳ４）。これは、通知された復旧処理時間がそのままリトライ間隔とされても良いし、復旧処理時間に所定の時間が加算された時間がリトライ間隔とされても良い。
【００５２】
その後、決定されたリトライ間隔でユニット１０５−１へ命令がリトライされる（ステップＳ５）。
【００５３】
また、上述したＦＷ１０２の処理がチップセット１０４にて行われるものであっても良い。
【００５４】
図４は、図１に示したコンピュータシステムにおける命令リトライ方法の他の例を説明するためのフローチャートである。ここでは、図３のフローチャートを用いて説明した命令リトライ方法と同様に、ユニット１０５−１に動作可障害が発生した場合を例に挙げて説明する。
【００５５】
ユニット１０５−１に動作可障害が発生すると（ステップＳ１１）、動作可障害が発生した旨がＦＷ１０２に通知される。この通知方法については、一般的な割り込み通知や例外報告を用いるもので良く、ここでは特に限定しない。
【００５６】
ユニット１０５−１にて動作可障害が発生したことがＦＷ１０２にて認識されると、ＦＷ１０２から障害制御ユニット１０６に復旧処理時間テーブル１０７からユニット１０５−１の復旧処理時間情報の読み出しが指示される。そして、障害制御ユニット１０６によって復旧処理時間テーブル１０７からユニット１０５−１の復旧処理時間である復旧処理時間情報が読み出される（ステップＳ１２）。図２に示した対応付けを例に挙げると、「３００マイクロ秒」が読み出される。
【００５７】
このとき、ＦＷ１０２から障害制御ユニット１０６へユニット１０５−１〜１０５−３のいずれかで動作可障害が発生した旨が通知され、ユニット１０５−１〜１０５−３のいずれかで動作可障害が発生した旨が通知された障害発生ユニット１０６からユニット１０５−１〜１０５−３の状態が確認されるものであっても良い。これにより、どのユニット１０５−１〜１０５−３にて動作可障害が発生したかが障害制御ユニット１０６にて判断される。ユニット１０５−１〜１０５−３の状態の確認方法としては、ユニット１０５−１〜１０５−３が有するメモリやレジスタの１ビットに動作可障害が発生したかどうかを示す状態フラグを予め設定し、そのフラグを障害制御ユニット１０６が予め設定された周期で周期的にリードするものが挙げられる。このようにして、障害制御ユニット１０６にて動作可障害が発生したユニット１０５−１が認識され、復旧処理時間テーブル１０７からユニット１０５−１の復旧処理時間である復旧処理時間情報が読み出されるものであっても良い。
【００５８】
障害制御ユニット１０６によって読み出されたユニット１０５−１の復旧処理時間情報は、ＦＷ１０２に通知される。
【００５９】
ＦＷ１０２にユニット１０５−１の復旧処理時間情報が通知されると、ＦＷ１０２が有する減算タイマ（不図示）に３００マイクロ秒がセットされ（ステップＳ１３）、カウント（減算）が開始される。この減算タイマは、ＦＷ１０２のプログラムで組まれたものであり、プロセッサ１０３やチップセット１０４のハードウェアから供給されるクロックを用いて動作するものである。
【００６０】
その後、減算タイマが「０」になったと判断されたとき（ステップＳ１４）、ＦＷ１０２からＯＳ１０１へリトライが要求される（ステップＳ１５）。これは、ＦＷ１０２からＯＳ１０１へユニット１０５−１においては命令が実行できない旨がリプライとしてコンディションコードや例外報告を用いて通知されるものである。
【００６１】
そして、ＯＳ１０１からユニット１０５−１へ命令がリトライされる（ステップＳ１６）。
【００６２】
ここで、３００マイクロ秒をカウントするために減算タイマを用いるものではなく、加算タイマを用いるものであっても良い。この場合、ＦＷ１０２にユニット１０５−１の復旧処理時間情報が通知されると、加算タイマが起動し、加算タイマが３００マイクロ秒になったかどうかが判断される。そして、加算タイマが３００マイクロ秒になったと判断されたとき、ＦＷ１０２からＯＳ１０１へリトライが要求されるものとなる。また、一般的なタイマ（時計）を用いるものであっても良い。この場合、ＦＷ１０２にユニット１０５−１の復旧処理時間情報が通知されると、その時刻から３００マイクロ秒経過したときにＦＷ１０２からＯＳ１０１へリトライが要求されるものとなる。
【００６３】
また、上述したＦＷ１０２の処理がチップセット１０４にて行われるものであっても良い。
【００６４】
以上により、動作可障害発生時のリトライ命令が多発しないため、装置の負荷の増加を防ぐことができる。また、それにより、２次障害を誘発することが抑えることができる。また、ＯＳ１０１はハードウェアによらずリトライ間隔を最適に設定することができるため、ハードウェアを更新する度にＯＳを修正するという必要が無くなる。
【００６５】
なお、本発明においては、上述したＦＷ１０２の処理を実現するためのプログラムをプロセッサ１０３にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムをプロセッサ１０３に読み込ませ、実行するものであっても良い。プロセッサ１０３にて読取可能な記録媒体とは、フロッピーディスク（登録商標）、光磁気ディスク、ＤＶＤ、ＣＤなどの移設可能な記録媒体の他、プロセッサ１０３やチップセット１０４に内蔵されたＨＤＤ等を指す。この記録媒体に記録されたプログラムは、例えば、プロセッサ１０３にて読み込まれ、プロセッサ１０３の制御によって、上述したものと同様の処理が行われる。ここで、ＯＳ１０１、ＦＷ１０２、プロセッサ１０３及びチップセット１０４の組み合わせは、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作するものである。
【図面の簡単な説明】
【００６６】
【図１】本発明のコンピュータシステムの実施の一形態を示す図である。
【図２】図１に示した復旧処理時間テーブルに格納された情報の一例を示す図である。
【図３】図１に示したコンピュータシステムにおける命令リトライ方法の一例を説明するためのフローチャートである。
【図４】図１に示したコンピュータシステムにおける命令リトライ方法の他の例を説明するためのフローチャートである。
【符号の説明】
【００６７】
１０１    ＯＳ
１０２    ＦＷ
１０３    プロセッサ
１０４    チップセット
１０５−１〜１０５−３    ユニット
１０６    障害制御ユニット
１０７    復旧処理時間テーブル
【図１】
2008186352.tif 000003
【図２】
2008186352.tif 000004
【図３】
2008186352.tif 000005
【図４】
2008186352.tif 000006