(57)【要約】    【課題】  コンピュータと周辺装置が複数の入出力経路で接続されたコンピュータシステムにおいて、障害対処時のシステム入出力性能低下を極力短時間とするコンピュータシステムを提供する。    【解決手段】  複数の入出力経路を介してコンピュータ１と周辺装置４０が接続され、コンピュータ１にロードされたアプリケーションプログラム５０から周辺装置への入出力要求が行われると、入出力経路に対して入出力処理を行うコンピュータシステムにおいて、入出力処理が正常終了した場合であって、入出力経路における間欠障害による再試行を経ている場合、入出力処理が行われた入出力経路の負荷を見かけ上最大に設定する。【選択図】      図１
2005234903.tif 000002
【特許請求の範囲】
【請求項１】
複数の入出力経路を介してコンピュータと周辺装置が接続され、前記コンピュータにロードされたアプリケーションプログラムから前記周辺装置への入出力要求が行われると、前記入出力経路に対して入出力処理を行うコンピュータシステムにおいて、
前記入出力処理が正常終了した場合であって、前記入出力経路における間欠障害による再試行を経ている場合、
前記入出力処理が行われた前記入出力経路の負荷を見かけ上最大に設定することを特徴とするコンピュータシステム。
【請求項２】
複数の前記入出力経路毎の負荷状態を示す負荷情報を、入出力経路状態管理テーブルとして備えることを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記再試行の行われた入出力経路の前記負荷情報に、他の入出力経路の負荷に対して最大の値を設定することを特徴とする請求項２に記載のコンピュータシステム。
【請求項４】
前記入出力経路に対して入出力処理を行う際に、前記負荷情報に基づき負荷が最小の入出力経路を選択することを特徴とする請求項２に記載のコンピュータシステム。
【請求項５】
前記再試行の行われた入出力経路に対して、当該入出力経路の状態を調べるための診断用入出力処理を行うことを特徴とする請求項３に記載のコンピュータシステム。
【請求項６】
前記診断用入出力処理が一定の時間を経過後正常終了した場合に、前記再試行の行われた入出力経路を正常な入出力経路と判定し、
前記診断用入出力処理が異常終了した場合に、前記再試行の行われた入出力経路の閉塞を行うことを特徴とする請求項５に記載のコンピュータシステム。
【請求項７】
前記入出力処理が異常終了した場合、障害のあった前記入出力経路に対して入出力経路の状態を調べるための診断用入出力処理を行うことを特徴とする請求項１に記載のコンピュータシステム。
【請求項８】
前記診断用入出力処理が一定の時間を経過後正常終了した場合に、前記入出力経路を正常な入出力経路と判定し、
前記診断用入出力処理が異常終了の場合に、前記入出力経路の閉塞を行うことを特徴とする請求項７に記載のコンピュータシステム。
【請求項９】
複数の入出力経路を介してコンピュータと周辺装置が接続され、前記コンピュータにロードされたアプリケーションプログラムから前記周辺装置への入出力要求が行われると、前記入出力経路に対して入出力処理を行い、
前記入出力経路毎の負荷状態を示す負荷情報を格納した入出力経路状態管理テーブルを備えることを特徴とする入出力制御部。
【請求項１０】
入出力経路の障害の程度を判定する入出力経路診断手段を備えることを特徴とする請求項９に記載の入出力制御部。
【請求項１１】
前記入出力経路診断手段は、一定時間毎に起動されることを特徴とする請求項１０に記載の入出力制御部。
【請求項１２】
前記負荷情報に基づき負荷が最小の入出力経路を選択する入出力経路選択手段と、当該入出力経路選択手段が選択した入出力経路に対して入出力を発行する入出力発行手段と、前記周辺装置での入出力実行結果を受信する入出力結果受信手段を備えることを特徴とする請求項９から請求項１１のいずれか１項に記載の入出力制御部。
【請求項１３】
入出力経路を閉塞するための入出力経路閉塞手段を備えることを特徴とする請求項９から請求項１２のいずれか１項に記載の入出力制御部。
【請求項１４】
前記入出力結果受信手段が受信した入出力実行結果が正常終了であるかもしくは異常終了であるかを分析する入出力結果分析手段を備えることを特徴とする請求項１２に記載の入出力制御部。
【請求項１５】
複数の入出力経路を介して周辺装置と接続されたコンピュータ上で実行され、前記入出力経路に対して入出力処理を行い、
前記入出力処理が正常終了した場合であって、前記入出力経路における間欠障害による再試行を経ている場合、
前記入出力処理が行われた前記入出力経路の負荷を見かけ上最大に設定する機能を実行することを特徴とする入出力制御プログラム。
【請求項１６】
複数の前記入出力経路毎の負荷状態を示す負荷情報を、入出力経路状態管理テーブルとして備える機能を有することを特徴とする請求項１５に記載の入出力制御プログラム。
【請求項１７】
前記再試行の行われた入出力経路の前記負荷情報に、他の入出力経路の負荷に対して最大の値を設定する機能を有することを特徴とする請求項１６に記載の入出力制御プログラム。
【請求項１８】
前記入出力経路に対して入出力処理を行う際に、前記負荷情報に基づき負荷が最小の入出力経路を選択する機能を有することを特徴とする請求項１６に記載の入出力制御プログラム。
【請求項１９】
前記再試行の行われた入出力経路に対して、当該入出力経路の状態を調べるための診断用入出力処理を行う機能を有することを特徴とする請求項１７に記載の入出力制御プログラム。
【請求項２０】
前記診断用入出力処理が一定の時間を経過後正常終了した場合に、前記再試行の行われた入出力経路を正常な入出力経路と判定し、
前記診断用入出力処理が異常終了した場合に、前記再試行の行われた入出力経路の閉塞を行う機能を有することを特徴とする請求項１９に記載の入出力制御プログラム。
【請求項２１】
前記入出力処理が異常終了した場合、障害のあった前記入出力経路に対して入出力経路の状態を調べるための診断用入出力処理を行う機能を実行することを特徴とする請求項１５に記載の入出力制御プログラム。
【請求項２２】
前記診断用入出力処理が一定の時間を経過後正常終了した場合に、前記入出力経路を正常な入出力経路と判定し、
前記診断用入出力処理が異常終了の場合に、前記入出力経路の閉塞を行う機能を有することを特徴とする請求項２１に記載の入出力制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータと周辺装置が複数の入出力経路（Ｉ／Ｏパス）で接続されたコンピュータシステムに関し、特に、障害対処時における入出力の性能が低下する時間を極力短縮できるコンピュータシステム、入出力制御部及び入出力制御プログラムに関する。
【背景技術】
【０００２】
コンピュータの周辺装置に対する入出力（Ｉ／Ｏ）は、複数ある入出力経路を経由して行われるが、いずれかの入出力経路がなんらかの障害で異常終了した場合には、一般に次の２つの方法によって再試行が行われる。
【０００３】
第１の方法は、異常終了した入出力経路を使用して入出力の再試行を行い、一定回数以上の再試行を行っても正常終了を確認できない場合には、他の入出力経路を使用して再試行を行うというものである。他の入出力経路を使用した再試行で正常終了した場合には、異常終了した入出力経路の障害と判定して、当該入出力経路を閉塞する。他の入出力経路を使用した再試行でも正常終了を確認できない場合には、周辺装置そのものの障害と判定して装置を閉塞する。
【０００４】
第２の方法は、異常終了した入出力経路を除くすべての入出力経路を使用して再試行を行う。すべての経路で再試行後も正常終了を確認できない場合には、周辺装置自体の障害と判定して装置を閉塞する。
【０００５】
再試行後にいずれかの経路で正常終了を確認できた場合には、異常終了した入出力経路のエラー発生回数にしきい値を設けておき、エラー発生回数がしきい値を超えた時点で入出力経路の閉塞を行うというものである。
【０００６】
次に、別の障害対処方法の一例が、例えば特開平６−５１９１４号公報（特許文献１）に記載されている。
【０００７】
特許文献１に開示される方法では、各々の入出力経路上に発生した障害の回数を計数するカウンタを設け、カウンタの数値があらかじめ設定した値を越えたときに、各入出力経路毎に閉塞する。これにより、コンピュータの再試行の工数を削減し、システム全体のスループットを向上させることが可能になるというものである。
【特許文献１】特開平６−５１９１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述した従来の技術は、いずれも以下に述べるような問題点があった。
【０００９】
第１の方法では、異常終了した入出力経路を使用して再試行するため、再試行に成功するまでに長時間を要することがあり、このような場合、再試行で正常終了する迄の間は、コンピュータの入出力性能が長時間にわたり低下するという問題がある。
【００１０】
第２の方法では、異常終了した入出力経路を使用しないで再試行を行うために、正常終了するまでの時間は短い。しかし、異常終了した入出力経路を使い続けるために、エラー発生回数がしきい値を越えるまでは、複数のエラーが発生し、長時間にわたってシステム全体の入出力性能が低下するという問題がある。
【００１１】
また、特許文献１の方法では、各々の経路上に発生した障害の回数を計数するカウンタを設け、カウンタの数値があらかじめ設定した値を越えたときに、各経路毎に閉塞する。この方法においても、第２の方法と同様で、エラー発生回数がしきい値を超えるまでは、長時間にわたってシステム全体の入出力性能が低下するという問題がある。
【００１２】
本発明の第１の目的は、上記従来技術の欠点を解決し、障害対処時における入出力の性能が低下する時間を極力短縮できるコンピュータシステム、入出力制御部及び入出力制御プログラムを提供することにある。
【００１３】
本発明の第２の目的は、固定障害発生の可能性があり、閉塞が必要となる入出力経路を検出することのできる、コンピュータシステム、入出力制御部及び入出力制御プログラムを提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するための本発明は、複数の入出力経路を介してコンピュータと周辺装置が接続され、前記コンピュータにロードされたアプリケーションプログラムから前記周辺装置への入出力要求が行われると、前記入出力経路に対して入出力処理を行うコンピュータシステムにおいて、前記入出力処理が正常終了した場合であって、前記入出力経路における間欠障害による再試行を経ている場合、前記入出力処理が行われた前記入出力経路の負荷を見かけ上最大に設定することを特徴とする。
【００１５】
請求項２の本発明のコンピュータシステムは、複数の前記入出力経路毎の負荷状態を示す負荷情報を、入出力経路状態管理テーブルとして備えることを特徴とする。
【００１６】
請求項３の本発明のコンピュータシステムは、前記再試行の行われた入出力経路の前記負荷情報に、他の入出力経路の負荷に対して最大の値を設定することを特徴とする。
【００１７】
請求項４の本発明のコンピュータシステムは、前記入出力経路に対して入出力処理を行う際に、前記負荷情報に基づき負荷が最小の入出力経路を選択することを特徴とする。
【００１８】
請求項５の本発明のコンピュータシステムは、前記再試行の行われた入出力経路に対して、当該入出力経路の状態を調べるための診断用入出力処理を行うことを特徴とする。
【００１９】
請求項６の本発明のコンピュータシステムは、前記診断用入出力処理が一定の時間を経過後正常終了した場合に、前記再試行の行われた入出力経路を正常な入出力経路と判定し、前記診断用入出力処理が異常終了した場合に、前記再試行の行われた入出力経路の閉塞を行うことを特徴とする。
【００２０】
請求項７の本発明のコンピュータシステムは、前記入出力処理が異常終了した場合、障害のあった前記入出力経路に対して入出力経路の状態を調べるための診断用入出力処理を行うことを特徴とする。
【００２１】
請求項８の本発明のコンピュータシステムは、前記診断用入出力処理が一定の時間を経過後正常終了した場合に、前記入出力経路を正常な入出力経路と判定し、前記診断用入出力処理が異常終了の場合に、前記入出力経路の閉塞を行うことを特徴とする。
【００２２】
請求項９の本発明の入出力制御部は、複数の入出力経路を介してコンピュータと周辺装置が接続され、前記コンピュータにロードされたアプリケーションプログラムから前記周辺装置への入出力要求が行われると、前記入出力経路に対して入出力処理を行い、前記入出力経路毎の負荷状態を示す負荷情報を格納した入出力経路状態管理テーブルを備えることを特徴とする。
【００２３】
請求項１０の本発明の入出力制御部は、入出力経路の障害の程度を判定する入出力経路診断手段を備えることを特徴とする。
【００２４】
請求項１１の本発明の入出力制御部は、前記入出力経路診断手段は、一定時間毎に起動されることを特徴とする。
【００２５】
請求項１２の本発明の入出力制御部は、前記負荷情報に基づき負荷が最小の入出力経路を選択する入出力経路選択手段と、当該入出力経路選択手段が選択した入出力経路に対して入出力を発行する入出力発行手段と、前記周辺装置での入出力実行結果を受信する入出力結果受信手段を備えることを特徴とする。
【００２６】
請求項１３の本発明の入出力制御部は、入出力経路を閉塞するための入出力経路閉塞手段を備えることを特徴とする。
【００２７】
請求項１４の本発明の入出力制御部は、前記入出力結果受信手段が受信した入出力実行結果が正常終了であるかもしくは異常終了であるかを分析する入出力結果分析手段を備えることを特徴とする。
【００２８】
請求項１５の本発明の入出力制御プログラムは、複数の入出力経路を介して周辺装置と接続されたコンピュータ上で実行され、前記入出力経路に対して入出力処理を行い、前記入出力処理が正常終了した場合であって、前記入出力経路における間欠障害による再試行を経ている場合、前記入出力処理が行われた前記入出力経路の負荷を見かけ上最大に設定する機能を実行することを特徴とする。
【００２９】
請求項１６の本発明の入出力制御プログラムは、複数の前記入出力経路毎の負荷状態を示す負荷情報を、入出力経路状態管理テーブルとして備える機能を有することを特徴とする。
【００３０】
請求項１７の本発明の入出力制御プログラムは、前記再試行の行われた入出力経路の前記負荷情報に、他の入出力経路の負荷に対して最大の値を設定する機能を有することを特徴とする。
【００３１】
請求項１８の本発明の入出力制御プログラムは、前記入出力経路に対して入出力処理を行う際に、前記負荷情報に基づき負荷が最小の入出力経路を選択する機能を有することを特徴とする。
【００３２】
請求項１９の本発明の入出力制御プログラムは、前記再試行の行われた入出力経路に対して、当該入出力経路の状態を調べるための診断用入出力処理を行う機能を有することを特徴とする。
【００３３】
請求項２０の本発明の入出力制御プログラムは、前記診断用入出力処理が一定の時間を経過後正常終了した場合に、前記再試行の行われた入出力経路を正常な入出力経路と判定し、前記診断用入出力処理が異常終了した場合に、前記再試行の行われた入出力経路の閉塞を行う機能を有することを特徴とする。
【００３４】
請求項２１の本発明の入出力制御プログラムは、前記入出力処理が異常終了した場合、障害のあった前記入出力経路に対して入出力経路の状態を調べるための診断用入出力処理を行う機能を実行することを特徴とする。
【００３５】
請求項２２の本発明の入出力制御プログラムは、前記診断用入出力処理が一定の時間を経過後正常終了した場合に、前記入出力経路を正常な入出力経路と判定し、前記診断用入出力処理が異常終了の場合に、前記入出力経路の閉塞を行う機能を有することを特徴とする。
【発明の効果】
【００３６】
本発明のコンピュータシステム、入出力制御部及び入出力制御プログラムによれば、以下の効果が達成される。
【００３７】
第１に、コンピュータと周辺装置が複数の入出力経路で接続されているシステムにおいて、入出力経路の間欠障害の発生が１回であっても、障害発生入出力経路の負荷を見かけ上最大とするため、その使用頻度は低くなり、正常な入出力経路で再試行が行われるようになる。
【００３８】
このため、コンピュータによる再試行の回数が削減され、障害対処時における入出力の性能低下時間を極力短縮することが可能となる。
【００３９】
第２に、間欠障害の発生した入出力経路で障害が再発するかどうかを診断し、再発する場合には固定障害になると判定するために、閉塞が必要となる可能性のある入出力経路を検出することが可能となる。
【００４０】
第３に、間欠障害が発生したが固定障害になる可能性が低い入出力経路については、間欠障害の再発がないことを確認してから使用するため、障害対処時のシステム入出力性能を向上することが可能となる。
【実施例】
【００４１】
以下、本発明の好適な実施例について図面を参照して詳細に説明する。
【００４２】
図１は、本発明の実施例によるコンピュータシステムの構成を示すブロック図である。
【００４３】
図１を参照すると、コンピュータ１は、周辺装置４０に対する入出力経路の制御を行う入出力制御部１０とアプリケーションプログラム５０を備える。
【００４４】
入出力制御部１０は、複数の入出力プロセッサ２１、２２、２３、２４と複数の周辺処理装置３１、３２、３３、３４を介して複数の周辺装置４０に接続されている。本実施例では、コンピュータ１から周辺装置４０への入出力経路の数を４つとしているが、複数であれば入出力経路の数はこの例に限定されない。
【００４５】
周辺装置４０には、例えば外部記憶装置やプリンタ、測定装置等が含まれる。
【００４６】
アプリケーションプログラム５０はコンピュータ１にロードして使用する周辺装置４０を使用するためのソフトウェアである。アプリケーションプログラム５０が入出力制御部１０に対して入出力要求を行うと、入出力発行手段１１が入出力要求内容を分析して、入出力を発行する対象である周辺装置４０を特定する。
【００４７】
本実施例による入出力制御部１０は、入出力発行手段１１と、入出力経路選択手段１２と、入出力結果受信手段１３と、入出力結果分析手段１４と、入出力結果通知手段１５と、入出力経路閉塞手段１６と、入出力経路診断手段１７と、リトライ入出力発行手段１８と、入出力経路管理テーブル１９を備える。
【００４８】
この入出力制御部１０は、専用のハードウェアとして構成することもできるが、例えば、オぺレーティングシステム（入出力制御プログラム）１００をＣＰＵ上で実行することで、上記各手段としての機能を実現できる。
【００４９】
入出力発行手段１１は、入出力経路選択手段１２が選択した入出力経路を使用して入出力を発行することができる。例えば、入出力経路選択手段１２が選択した入出力経路が入出力プロセッサ２１を経由する経路である場合には、入出力発行手段１１によって発行された入出力は、指定された入出力経路上にある入出力プロセッサ２１と周辺処理装置３１を経由して送信され、周辺装置４０で実行される。
【００５０】
入出力経路選択手段１２は、入出力経路管理テーブル１９の内容に基づき最も負荷の小さい入出力経路を選択することができる。
【００５１】
入出力結果受信手段１３は、周辺装置４０での入出力実行結果を受信する。
【００５２】
入出力結果分析手段１４は、入出力結果受信手段１３が受信した入出力実行結果が正常終了か異常終了かを分析する。分析結果は、入出力経路閉塞手段１６あるいは入出力経路診断手段１７に通知する。
【００５３】
入出力結果通知手段１５は、入出力要求に対する入出力実行結果をアプリケーションプログラム５０に通知する。
【００５４】
入出力経路閉塞手段１６は、入出力経路で固定障害が発生した場合に、当該入出力経路を閉塞して入出力管理経路テーブル１９に閉塞情報を登録することができる。
【００５５】
入出力経路診断手段１７は一定時間毎に起動され、入出力経路管理テーブル１９に登録されている診断処理対象入出力経路に診断用入出力を発行して、当該入出力経路の障害の程度を診断することができる。
【００５６】
診断用入出力とは、周辺装置の状態を確認するための入出力処理であって、周辺装置に対して使う通常の入出力処理とは異なる。診断用入出力が、確認のために装置から読み出す情報には、当該装置の入出力回数、エラー、障害情報等があって、入出力経路の情報も含まれる。ここでは、診断用入出力を専ら入出力経路の状態の調査に使用する。
【００５７】
リトライ入出力発行手段１８は、入出力実行結果が異常終了であった場合に、他の入出力経路を使用して入出力の再試行を行うことができる。
【００５８】
入出力経路管理テーブル１９には、入出力経路状態管理テーブル１９ａと装置別入出力経路状態管理テーブル１９ｂの２種類があり、それぞれ各入出力経路の状態情報、各周辺装置への入出力経路の一覧が格納されている。
【００５９】
次に、本実施例による動作を、図を用いて詳細に説明する。
【００６０】
図２は本実施例による入出力発行処理動作を説明するためのフローチャートである。また、図３は本実施例による入出力経路状態管理テーブル１９ａの一例を示す図であり、図４は本実施例による装置別入出力経路状態管理テーブル１９ｂの一例を示す図である。
【００６１】
以下で、必要に応じて図１、図３及び図４の主要な部分を参照して、図２の説明を行う。
【００６２】
図２を参照すると、最初に、アプリケーションプログラム５０が入出力制御部１０に対して入出力要求を行うと、入出力発行手段１１が入出力要求を受け付ける(ステップ２０１)。
【００６３】
次に、入出力発行手段１１は、入出力要求の内容を分析して入出力発行対象である周辺装置４０を特定する(ステップ２０２)。
【００６４】
さらに、入出力発行手段１１は、入出力経路選択手段１２に周辺装置４０に入出力を行うために使用すべき入出力発行経路を問い合わせる(ステップ２０３)。
【００６５】
次に、入出力経路選択手段１２は、装置別入出力経路状態管理テーブル１９ｂから、入出力発行対象である周辺装置４０の周辺装置ＩＤ（Identification Number）をキー項目にして、周辺装置４０に接続された入出力経路の経路ＩＤを取得し、次に入出力経路状態管理テーブル１９ａから経路ＩＤをキー項目にして、入出力経路の入出力負荷情報を取得する。このようにして、周辺装置４０に接続された入出力経路の内、最も負荷が小さい入出力経路を選択する(ステップ２０４)。
【００６６】
入出力経路選択手段１２は、入出力経路を選択すると、入出力経路状態管理テーブル１９ａの当該入出力経路の負荷情報を更新して、入出力発行手段１１に選択した入出力経路を通知する。
【００６７】
入出力発行手段１１は、通知された入出力経路を使用して周辺装置４０に対して入出力を発行する。
【００６８】
ここでは、通知された入出力経路が、入出力プロセッサ２１を経由する経路であるとして説明を行う。
【００６９】
発行された入出力は、入出力プロセッサ２１を経由して周辺装置４０に到達する。周辺装置４０は入出力を実行し、その結果を周辺処理装置３１及び
入出力プロセッサ２１を経由して、入出力制御部１０に通知する。
【００７０】
このようにして発行された入出力の実行中に間欠障害（一時障害）が発生したために、装置側すなわち入出力プロセッサ２１、周辺処理装置３１、周辺装置４０のいずれかで再試行が行われ、入出力が正常に終了した場合には、入出力制御部１０に通知される入出力実行結果に、再試行が行われたことを示す情報が記録される。
【００７１】
再試行に成功しなかった場合、および固定障害が発生した場合には、入出力制御部１０に入出力実行結果として異常終了が通知される。
【００７２】
これらの入出力実行結果の受信処理は次のように行われる。
【００７３】
図５は本実施例による入出力実行結果受信処理の動作を説明するためのフローチャートである。なお、必要に応じて、図１、図３の主要な部分を参照する。
【００７４】
図５を参照すると、最初に、入出力結果受信手段１３が周辺装置４０からの入出力実行結果を受信する(ステップ５０１)。
【００７５】
入出力結果分析手段１４は、実行結果が正常終了であるかをチェックし(ステップ５０２)、正常終了であれば装置側での再試行が行われていたかどうかをチェックする(ステップ５０３)。
【００７６】
再試行が行われていない場合には、入出力結果通知手段１５は、入出力要求が正常終了したことをアプリケーションプログラム５０に通知する(ステップ５０４)。
【００７７】
次に、装置側での再試行が1回でも行われていた場合には、入出力結果通知手段１５は、入出力経路状態管理テーブル１９ａに診断対象経路であることを登録し(ステップ５０５)、入出力負荷状態を他の入出力経路よりも大きく見せるように更新する。
【００７８】
診断対象経路であることの登録は、図３の例では経路診断の欄に「必要」と書き込むと共に、入出力負荷の欄の値を最も大きくする。この処置により、装置側での再試行が行われた入出力経路が、入出力発行時に選択される確率が低くなり、結果として当該入出力経路の間欠障害によるシステム入出力性能低下が起こりにくくなる。
【００７９】
診断対象経路に登録された入出力経路に対して行われる診断処理については、図６で述べる。
【００８０】
次に、再試行が行われていた入出力経路が異常終了した場合、入出力経路の固定障害であれば(ステップ５０６)、入出力経路閉塞手段１６は、当該入出力経路を閉塞したことを(ステップ５０７)、入出力経路状態管理テーブル１９ａに記録する。
【００８１】
なお、固定障害であることの判定は、例えば、障害の記録に基づいて行うことができる。この場合、障害の持続時間あるいは間欠障害の発生回数を判定の基準とすることができる。
【００８２】
再試行が行われていた入出力経路の閉塞によって、周辺装置４０への入出力経路が全て閉塞された場合(ステップ５０８)、すなわち再試行可能な入出力経路がない場合には、装置閉塞となる(ステップ５０９)。
【００８３】
入出力結果通知手段１５は入出力要求が異常終了したことをアプリケーションプログラム５０に通知する。
【００８４】
一方、再試行可能な入出力経路がある場合には、入出力の再試行を行う(ステップ５１１)。
【００８５】
その後は、入出力結果受信手段１３が入出力実行結果として受信する（ステップ５０１）。
【００８６】
次に、入出力経路の固定障害であると判定できない場合には、入出力結果通知手段１５は、入出力経路状態管理テーブル１９ａに診断対象経路であることを登録し(ステップ５１０)、入出力経路の負荷を大きく見せるように更新する。
【００８７】
診断対象経路に登録された入出力経路に対して行われる診断処理については、図６で述べる。
【００８８】
以上のように、間欠障害が少なくとも１回発生した入出力経路の負荷を大きく見せるように設定し、アプリケーションプログラム５０からの入出力要求があっても、当該経路の使用頻度を下げることで、入出力性能の低下時間を短かくできる。
【００８９】
次に、入出力経路の診断処理について説明する。
【００９０】
図６は本実施例による入出力経路の診断処理の動作を説明するためのフローチャートである。なお、必要に応じて、図１及び図３の主要な部分を参照する。
【００９１】
図６を参照すると、最初に、入出力経路診断手段１７は入出力経路管理テーブル１９ａを参照して、診断対象経路に登録されている入出力経路を探す(ステップ６０１)。
【００９２】
入出力経路診断手段１７は、一定時間毎に起動されており、診断対象入出力経路を見いだすと、入出力発行手段１１を使用して当該診断対象入出力経路に診断用入出力を発行する(ステップ６０２)。
【００９３】
診断用入出力の実行結果は、入出力結果分析手段１４で正常終了したかどうかを判断する(ステップ６０３)。
【００９４】
正常終了した場合には、診断対象として登録してから一定時間が過ぎているか、すなわち観察期間が終了したかをチェックする(ステップ６０４)。
【００９５】
観察期間が終了していれば間欠障害が再発する可能性が低いと判定し、入出力経路状態管理テーブル１９ａ上から診断対象であることを削除し、入出力経路の負荷も本来の値に戻す(ステップ６０５)。
【００９６】
また観察期間が終了していなければ、診断対象の未処理入出力経路であるとして(ステップ６０６)、次回入出力経路診断手段１７が起動された際に再度診断を行う。
【００９７】
次に、異常終了した場合には、固定障害であると判定し、入出力経路閉塞手段１６を使用して、診断対象入出力経路を閉塞する(ステップ６０７)。
【００９８】
この結果、周辺装置４０への入出力経路が全て閉塞された場合(ステップ６０８)、すなわち再試行可能な入出力経路がない場合には、装置閉塞となる(ステップ６０９)。
【００９９】
一方、周辺装置４０への入出力経路で再試行可能な場合には未処理経路として（ステップ６０６）、診断用入出力が発行される(ステップ６０２)。
【０１００】
以上のように、診断用入出力を発行することで間欠障害の発生した入出力経路が固定障害であるかどうかを判定し、固定障害であると判定できる場合には入出力経路を閉塞できると共に、固定障害であると判定できない場合には、正常入出力経路として再度使用することにより、入出力要求の低下時間を短くできる。
【０１０１】
以上説明した実施例によれば、コンピュータと周辺装置が複数の入出力経路で接続されているシステムにおいて、入出力経路の間欠障害の発生回数が１回であっても、障害発生入出力経路の負荷を見かけ上最大とするため、その使用頻度は低くなり、正常な入出力経路で再試行が行われるために、コンピュータによる再試行の回数が削減され、障害対処時のシステム入出力性能低下を極めて短時間とすることが可能となる。
【０１０２】
本発明の入出力制御部１０は、その動作をハードウェア的に実現することは勿論として、上記した各手段を実行する入出力制御プログラム（例えばオペレーティングシステム（ＯＳ））１００をコンピュータ１で実行することにより、ソフトウェア的に実現することができる。この入出力制御プログラム１００は、磁気ディスク、半導体メモリその他の記録媒体に格納され、その記録媒体からコンピュータ１にロードされ、その動作を制御することにより、上述した各機能を実現する。
【０１０３】
上記実施例は、周辺装置が１台の場合について説明したが、周辺装置が複数の場合であっても、装置別に入出力経路状態管理テーブル１９ａを作成することにより、全く同様に適用することができる。
【０１０４】
以上好ましい実施例をあげて本発明を説明したが、本発明は必ずしも、上記実施例に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
【図面の簡単な説明】
【０１０５】
【図１】本発明の実施例によるコンピュータシステムの構成を示すブロック図である。
【図２】本発明の実施例による入出力発行処理動作を説明するためのフローチャートである。
【図３】本発明の実施例による入出力経路状態管理テーブルの一例を示す図である。
【図４】本発明の実施例による装置別入出力経路状態管理テーブルの一例を示す図である。
【図５】本発明の実施例による入出力実行結果受信処理の動作を説明するためのフローチャートである。
【図６】本発明の実施例による入出力経路の診断処理の動作を説明するためのフローチャートである。
【符号の説明】
【０１０６】
１：コンピュータ
１０：入出力制御部
１１：入出力発行手段
１２：入出力経路選択手段
１３：入出力結果受信手段
１４：入出力結果分析手段
１５：入出力結果通知手段
１６：入出力経路閉塞手段
１７：入出力経路診断手段
１８：リトライ入出力発行手段
１９：入出力経路管理テーブル
１９ａ：入出力経路状態管理テーブル
１９ｂ：装置別入出力経路状態管理テーブル
２１、２２、２３、２４：入出力プロセッサ
３１、３２、３３、３４：周辺処理装置
４０：周辺装置
５０：アプリケーションプログラム
１００：入出力制御プログラム
【図１】
2005234903.tif 000003
【図２】
2005234903.tif 000004
【図３】
2005234903.tif 000005
【図４】
2005234903.tif 000006
【図５】
2005234903.tif 000007
【図６】
2005234903.tif 000008