(57)【特許請求の範囲】
【請求項１】
ホストコンピュータが周辺装置に対する入出力要求時に入出力完了までのタイムアウト値を時間監視カウンタに設定することで入出力時間の監視を行う入出力実行時間監視方法において、
（ａ）前記ホストコンピュータによる前記周辺装置の組み込み時に、前記周辺装置において、前記ホストコンピュータから与えられた入出力監視時間よりも実行時間が長いコマンドについてそれぞれの延長時間と前記ホストコンピュータに対して監視時間の延長を通知する旨の情報とを、前記周辺装置内に設けられたコマンド実行時間表に、設定登録しておくステップと、
（ｂ）前記周辺装置の組み込み完了後、前記ホストコンピュータでの入出力要求発行時、前記周辺装置は、前記ホストコンピュータからコマンドを受け取り、前記コマンド実行時間表を参照して、前記ホストコンピュータから受け取ったコマンドが、前記ホストコンピュータに監視時間の延長を通知するものである場合には、前記コマンド実行時間表に設定登録されている延長時間を、前記ホストコンピュータに通知するステップと、
（ｃ）前記周辺装置から監視時間の延長の通知を受け取った前記ホストコンピュータでは、前記時間監視カウンタのカウンタ値を、前記通知された延長時間に相当する値だけ加算するステップと、
を含む、ことを特徴とする入出力実行時間監視方法。
【請求項２】
（ｄ）前記周辺装置が、前記コマンドに対応した処理の実行を終えた時点で、前記延長した監視時間内に前記コマンドの処理が終了したか否かをチェックし、前記延長された監視時間内に終了した場合には、前記延長された監視時間と、前記コマンドの実際の処理に要した時間との差分を、監視時間の短縮時間として、前記ホストコンピュータに通知するステップと、
（ｅ）前記周辺装置から前記監視時間の短縮通知を受け取った前記ホストコンピュータでは、前記時間監視カウンタのカウント値を、前記通知された短縮時間に相当する値だけ減算するステップと、
を含むことを特徴とする、請求項１記載の入出力実行時間監視方法。
【請求項３】
前記ホストコンピュータにおいて、延長し得る監視時間の上限である最大監視時間を予め設定しておき、前記周辺装置から、前記監視時間の延長の通知を受信した時に、通知された延長時間と総監視時間との和を、前記最大監視時間と比較し、前記最大監視時間以内であれば、前記延長時間と前記総監視時間との和を、新たな総監視時間として再設定して、監視時間の延長を行い、一方、前記延長時間と前記総監視時間との和が、前記最大監視時間を超える場合には、監視時間の延長は行わないように制御する、ことを特徴とする、請求項１記載の入出力実行時間監視方法。
【請求項４】
ホストコンピュータと、前記ホストコンピュータに接続される周辺装置と、を備え、
前記ホストコンピュータが、前記周辺装置の組み込み時に、前記ホストコンピュータにおいて予め用意されている監視時間を前記周辺装置に与え、前記周辺装置内に具備されるコマンド実行時間表の更新要求を、前記周辺装置に対して、発行する手段を備え、
前記周辺装置は、前記ホストコンピュータへの組み込み時、前記ホストコンピュータから、前記コマンド実行時間表の更新要求を受信すると、与えられた前記監視時間よりも長い実行時間を要するコマンドについて、前記コマンド実行時間表に、延長時間を登録するとともに、前記コマンドに対して監視時間延長イベント通知対象フラグをオンに設定する手段を備え、さらに、前記ホストコンピュータへの組み込み完了後、前記ホストコンピュータから入出力コマンドを受信した際に、前記コマンド実行時間表において、前記コマンドに対する監視時間延長イベント通知対象フラグがオンに設定されている場合、該コマンドに対応する監視時間の延長を監視時間延長イベントとして前記ホストコンピュータに通知する手段を備え、
前記ホストコンピュータは、前記周辺装置の組み込み完了後、前記周辺装置に対する入出力要求が発生した場合、前記周辺装置に対して入出力コマンドを発行し、タイムアウト監視用の時間監視カウンタに設定するカウント値を予め用意されている前記監視時間の値に設定し、前記周辺装置から、前記監視時間延長イベントを受信した場合に、前記延長時間に対応した値を前記時間監視用のカウンタに加算する手段を備えた、ことを特徴とする情報処理装置。
【請求項５】
前記周辺装置が、前記コマンドに対応した処理の実行を終えると、延長した監視時間内に、前記コマンド処理が終了したか否かをチェックし、前記延長した監視時間内に、前記コマンド処理が終了した場合、前記延長した監視時間と、実際の処理に要した時間との差分よりなる短縮時間を、監視時間短縮イベントとして前記ホストコンピュータに通知する手段を備え、
前記ホストコンピュータは、前記周辺装置から前記監視時間短縮イベントを受信した場合に、前記時間監視カウンタのカウント値から前記短縮時間に相当する値だけ減算する手段を備えた、ことを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記ホストコンピュータにおいて、延長し得る監視時間の上限である最大監視時間を設定しておき、前記周辺装置から、前記監視時間延長イベントを受信した時に、通知された延長時間と総監視時間との和を、前記最大監視時間と比較し、前記最大監視時間以内であれば、前記延長時間と総監視時間との和を総監視時間として再設定して、監視時間の延長を行い、一方、前記延長時間と前記総監視時間との和が前記最大監視時間を超える場合には、監視時間の延長は行わないように制御する手段を備えた、ことを特徴とする、請求項４又は５記載の情報処理装置。
【請求項７】
（ｄ）周辺装置が、ホストコンピュータへの組み込み時、前記ホストコンピュータからコマンド実行時間を管理するコマンド実行時間表の更新要求を受信した際に、入力された前記監視時間よりも長い実行時間を要するコマンドについて、前記コマンド実行時間表に、延長時間を登録するとともに、前記コマンドに対して監視時間延長イベント通知対象フラグをオンに設定する処理と、
（ｅ）前記ホストコンピュータから入出力コマンドを受信した際に、前記コマンド実行時間表に前記コマンドに対する監視時間延長イベント通知対象フラグがオンに設定されている場合、該コマンドに対応する監視時間の延長を監視時間延長イベントとして前記ホストコンピュータに通知する処理と、
（ｆ）前記コマンドに対応した処理の実行を終えると、延長した監視時間内に、前記コマンド処理が終了したか否かをチェックし、前記延長した監視時間内に、前記コマンド処理が終了した場合、前記延長した監視時間と、実際の処理に要した時間との差分よりなる短縮時間を、監視時間短縮イベントとして前記ホストコンピュータに通知する処理、
との前記（ｄ）乃至（ｆ）の各処理を前記周辺装置を構成するＣＰＵで実行させるためのプログラムを記録した記録媒体。
【請求項８】
ホストコンピュータが、周辺装置組込手段を用いて周辺装置の組み込みを行うにあたり、前記ホストコンピュータが内蔵する装置状態管理表に予め設定されているソフトウェア監視時間を入力し、前記周辺装置に具備されているコマンド実行時間表の更新要求を、前記周辺装置に発行するＩ／Ｏ制御手段を備え、
前記周辺装置が、前記ホストコンピュータから、前記コマンド実行時間表の更新要求を受信すると、前記コマンド実行時間表のうち、入力されたソフトウェア監視時間よりも長い実行時間を要するコマンドについて、延長時間を登録するとともに、前記コマンド実行時間表における前記コマンドに対応する監視時間延長イベント通知対象フラグをオンに設定するＩ／Ｏコマンド処理手段を備え、
前記ホストコンピュータにおいて、前記周辺装置の組み込み完了後、前記周辺装置に対する入出力要求が発生した場合、前記Ｉ／Ｏ制御手段から前記周辺装置に対して入出力要求を発行し、
前記ホストコンピュータは、入出力要求の発行に成功すると、前記装置状態管理表に設定されているソフトウェア監視時間を基に、前記周辺装置のタイムアウト検出までの値を時間監視カウンタに設定し、
前記周辺装置の前記Ｉ／Ｏコマンド処理手段は、前記ホストコンピュータから受信した入出力要求のコマンドを解析し、前記コマンド実行時間表を参照して該コマンドの監視時間延長イベント通知対象フラグがオンの場合には、前記周辺装置のイベント通知手段を介して、該コマンドに対応する延長監視時間を監視時間延長イベントとして、前記ホストコンピュータに通知し、
前記周辺装置の前記Ｉ／Ｏコマンド処理手段は、前記周辺装置において、前記ホストコンピュータから受け取ったコマンドに対応した処理の実行を終えると、延長した時間内にコマンド処理が終了したか否かをチェックし、延長監視時間と、処理に要した時間との差分よりなる短縮時間を、監視時間短縮イベントとして、前記ホストコンピュータに通知し、
前記ホストコンピュータの前記Ｉ／Ｏ制御手段では、前記監視時間延長イベントを受信した場合、延長時間に対応した値を前記時間監視カウンタのカウント値に加算して、該コマンドの処理に対するタイムアウト発生までの時間を延長し、
前記ホストコンピュータの前記Ｉ／Ｏ制御手段は、前記監視時間短縮イベントを受信した場合には、前記時間監視カウンタのカウント値から前記短縮時間に対応した値を減算し、該コマンドの処理に対するタイムアウト発生までの時間を短縮する、ことを特徴とする入出力実行時間監視システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理装置に関し、特に、入出力制御技術に関する。
【０００２】
【従来の技術】
ホストコンピュータにおいて、周辺装置の入出力動作の異常を監視するために、入出力要求発行時、ホストコンピュータ側で時間監視用のカウンタ（タイマ）値を設定し、実時間クロック等の割り込みで所定時間経過毎に、カウント値をデクリメント（１つ減算）し、周辺装置から入出力完了が通知されない状態で、カウント値が０となった場合、すなわちタイムアウト発生時、周辺装置の入出力動作の異常と判定している。
【０００３】
ホストコンピュータでは、通常、ホストコンピュータに接続される周辺装置の種別毎に、予め設定されたタイマ値で入出力（「Ｉ／Ｏ」ともいう）実行時間を監視している。
【０００４】
ところで、入出力コマンドの中に特殊な動作を行うコマンドが含まれている場合には、該コマンドの実行時間が、ホストコンピュータで設定されたタイマ値で定められる時間内に終了せず、このため、周辺装置はハードウェア的には正常な動作を行っているにもかかわらず、ホストコンピュータ側で、入出力動作のタイムアウトを検出し、周辺装置に障害が発生したものと判断してしまう、という問題が生じ、不都合である。
【０００５】
【発明が解決しようとする課題】
かかる問題に対処するために、例えば特開平３−５８１５４号公報には、コマンド解析手段で解析されたコマンドの種類に応じてタイムアウト監視時間をデバイス制御回路で算出し、デバイス制御回路で算出したタイムアウト監視時間を上位装置に送出する手段を備え、上位装置からコマンドを受信した場合、そのコマンドに対応したタイムアウト時間を、上位装置に報告するようにした入出力装置のタイムアウト監視方式が提案されている。同様にして、例えば特開平４−１６０６５６号公報には、受信した入出力コマンドを解析し、コマンドの種類に対応したタイムアウト時間を算出し上位装置に算出したタイムアウト時間を送出するようにした入出力動作監視方式が提案されている。
【０００６】
しかしながら、上記特開平３−５８１５４号公報あるいは特開平４−１６０６５６号公報等に記載されるように、上位装置からのＩ／Ｏ要求発行時に、Ｉ／Ｏ要求に含まれるコマンドを全てチェックして監視時間を設定する方法を採用した場合、Ｉ／Ｏ発行のために要する処理ステップ数が増大し、これに伴い、Ｉ／Ｏ処理時間も増大する、という問題点を有している。また、周辺装置のファームウェア等の交換等により、コマンド毎の監視時間が変更された場合に、これに対応することができない等の問題点も有している。
【０００７】
したがって本発明は、上記問題点に鑑みてなされたものであって、その目的は、ハードウェア的正常動作しているＩ／Ｏに対して、監視時間切れによる障害発生と判断することなく、Ｉ／Ｏ実行時間の監視を行うことができる入出力制御システム及び方法並びに記録媒体を提供することにある。
【０００８】
また、本発明の他の目的は、周辺装置の組み込みを契機に延長すべき監視時間が更新されるため、周辺装置のファームウェア交換等でコマンド毎の監視時間が変更された場合でも、適正なＩ／Ｏ時間監視を行うことができる入出力制御システム及び方法並びに記録媒体を提供することにある。
【０００９】
【課題を解決するための手段】
前記目的を達成する本発明に係る方法は、ホストコンピュータが周辺装置に対する入出力要求時に入出力完了までのタイムアウト値を時間監視カウンタに設定することで入出力時間の監視を行う入出力実行時間監視方法において、
（ａ）前記ホストコンピュータによる前記周辺装置の組み込み時に、前記周辺装置において、前記ホストコンピュータから与えられた入出力監視時間よりも実行時間が長いコマンドについてそれぞれの延長時間と前記ホストコンピュータに対して監視時間の延長を通知する旨の情報とを、実際に入出力処理が行われる前の時点で、予め設定登録しておくステップと、
（ｂ）前記ホストコンピュータでの入出力要求発行時、前記周辺装置は、前記ホストコンピュータから受け取ったコマンドが、前記ホストコンピュータに監視時間の延長を通知するものである場合には、設定登録されている延長時間を、前記ホストコンピュータに通知するステップと、
（ｃ）前記周辺装置から監視時間の延長の通知を受けた前記ホストコンピュータでは、前記時間監視カウンタのカウンタ値を、前記通知された延長時間に相当する値だけ加算するステップと、
を含むものである。
【００１０】
また本発明の方法は、（ｄ）前記周辺装置が、前記コマンドに対応した処理の実行を終えた時点で、前記延長した時間内に前記コマンドの処理が終了したか否かをチェックし、前記延長時間内に終了した場合には、前記延長された監視時間と、前記コマンドの実際の処理に要した時間との差分を監視時間の短縮時間として前記ホストコンピュータに通知するステップと、
（ｅ）前記周辺装置から前記監視時間の短縮通知を受信した場合には、前記ホストコンピュータが時間監視用のカウント値を、前記通知された短縮時間に相当する値だけ減算するステップと、を含む。
【００１１】
本発明は、ホストコンピュータと、前記ホストコンピュータに接続される周辺装置とを備え、前記ホストコンピュータが、前記周辺装置の組み込み時に、前記ホストコンピュータにおいて予め用意されている監視時間を前記周辺装置に与え、前記周辺装置内に具備されるコマンド実行時間表の更新要求を、前記周辺装置に対して、発行する手段を備え、前記周辺装置は、前記ホストコンピュータへの組み込み時、前記ホストコンピュータから、前記コマンド実行時間表の更新要求を受信すると、与えられた前記監視時間よりも長い実行時間を要するコマンドについて、前記コマンド実行時間表に、延長時間を登録するとともに、前記コマンドに対して監視時間延長イベント通知対象フラグをオンに設定する手段を備え、さらに、組み込み完了後、前記ホストコンピュータから入出力コマンドを受信した際に、前記コマンドに対する監視時間延長イベント通知対象フラグがオンに設定されている場合、該コマンドに対応する監視時間の延長を監視時間延長イベントとして前記ホストコンピュータに通知する手段を備え、前記ホストコンピュータは、前記周辺装置の組み込みの完了後、前記周辺装置に対する入出力要求が発生した場合、前記周辺装置に対して入出力コマンドを発行し、タイムアウト監視用の時間監視カウンタに設定するカウント値を予め用意されている前記監視時間の値に設定し、前記周辺装置から、前記監視時間延長イベントを受信した場合に、前記延長時間に対応した値を前記時間監視用のカウンタに加算する手段を備える。
【００１２】
本発明においては、前記周辺装置が、前記コマンドに対応した処理の実行を終えると、延長した監視時間内に、前記コマンド処理が終了したか否かをチェックし、前記延長した監視時間内に、前記コマンド処理が終了した場合、前記延長した監視時間と、実際の処理に要した時間との差分よりなる短縮時間を監視時間短縮イベントとして前記ホストコンピュータに通知する手段を備え、前記ホストコンピュータは、前記周辺装置から前記監視時間短縮イベントを受信した場合には、時間監視カウンタのカウント値から短縮時間に相当する値だけ減算する。
【００１３】
【発明の実施の形態】
本発明の実施の形態について説明する。本発明は、ホストコンピュータシステムにおいて、周辺装置で実行中のＩ／Ｏ毎に適正な時間監視を行う機能を提供するものである。
【００１４】
本発明の一実施の形態について図１を参照して説明する。図１を参照すると、本発明は、その好ましい一実施の形態において、ホストコンピュータ（１００）は、周辺装置組込手段（１０１）を用いて、周辺装置（２００）の組み込むを行う。この周辺装置（２００）の組み込みにあたり、ホストコンピュータ（１００）のＩ／Ｏ制御手段（１０２）は、装置状態管理表（１０４）に設定されているソフトウェア監視時間を入力し、周辺装置（２００）のコマンド実行時間表（２０３）の更新要求を、周辺装置（２００）に対して、発行する。
【００１５】
周辺装置（２００）のＩ／Ｏコマンド処理手段（２０１）は、ホストコンピュータ（１００）から、コマンド実行時間表（２０３）の更新要求を受信すると、コマンド実行時間表（２０３）のうち、入力されたソフトウェア監視時間よりも長い実行時間を要するコマンドについて、延長監視時間を登録し、監視時間延長イベント通知対象フラグをオンに設定する。
【００１６】
ホストコンピュータ（１００）において、周辺装置（２００）の組込処理完了後、周辺装置（２００）に対する入出力要求が発生した場合、Ｉ／Ｏ制御手段（１０２）から周辺装置（２００）に対して入出力要求（Ｉ／Ｏ要求）を発行する。
【００１７】
ホストコンピュータ（１００）は、Ｉ／Ｏ要求発行に成功すると、装置状態管理表（１０４）に設定されているソフトウェア監視時間を基に、Ｉ／Ｏ時間監視表（１０５）に、該周辺装置のタイムアウト検出までの時間監視カウンタ値を設定する。
【００１８】
周辺装置（２００）のＩ／Ｏコマンド処理手段（２０１）は、ホストコンピュータ（１００）から受信したＩ／Ｏのコマンドを解析し、コマンドの監視時間延長イベント通知対象フラグがオンの場合、周辺装置（２００）のイベント通知手段（２０３）を介して、該コマンドに対応する延長監視時間を監視時間延長イベントとして、ホストコンピュータ（１００）に通知する。
【００１９】
また、周辺装置（２００）のＩ／Ｏコマンド処理手段（２０１）は、周辺装置（２００）において、ホストコンピュータ（１００）から受け取ったコマンドに対応した処理の実行を終えると、延長した時間内にコマンド処理が終了したか否かをチェックし、延長監視時間と、処理に要した時間との差分を短縮監視時間として、監視時間短縮イベントを、ホストコンピュータ（１００）に通知する。
【００２０】
ホストコンピュータ（１００）のＩ／Ｏ制御手段（１０２）は、監視時間延長イベントを受信した場合、延長監視時間に対応した値を時間監視カウンタのカウント値に加算して、該コマンドの処理に対するタイムアウト発生までの時間を延長する。
【００２１】
また、ホストコンピュータ（１００）のＩ／Ｏ制御手段（１０２）は、監視時間短縮イベントを受信した場合には、時間監視カウンタのカウント値を減算し、該コマンドの処理に対するタイムアウト発生までの時間を短縮する。
【００２２】
このようにして、周辺装置（２００）で、実行時間が長いコマンドを処理している間だけ、Ｉ／Ｏ実行時間の監視時間を延長するか、もしくは、一旦延長した監視時間を減少させることで、Ｉ／Ｏ毎に適正な時間監視を行うことを可能としている。
【００２３】
本発明において、（ａ）ホストコンピュータに接続される周辺装置の組み込み時に、前記ホストコンピュータに予め用意されている監視時間を与えて、前記周辺装置内に具備されるコマンド実行時間表の更新要求を前記周辺装置に対して発行する処理と、
（ｂ）前記周辺装置の組込処理の完了後、前記周辺装置に対して入出力要求を発行した際に、時間監視カウンタを予め用意されている値に設定し、前記周辺装置から、監視時間の延長イベントを受信した場合、前記延長時間に対応した値を、前記時間監視カウンタに加算する処理と、
（ｃ）前記周辺装置から、監視時間の短縮イベントを受信した場合、前記時間監視カウンタから前記短縮時間に対応した値を減算する処理と、
の前記（ａ）乃至（ｃ）の処理は、ホストコンピュータ上でプログラムを実行することで実現される。この場合、該プログラムを記録した記録媒体から読み出し装置を介してホストコンピュータの主記憶装置にプログラムを読み出し実行することで本発明を実施することができる。
【００２４】
また本発明において、（ｄ）ホストコンピュータへの組み込み時、前記ホストコンピュータからコマンド実行時間を管理するコマンド実行時間表の更新要求を受信した際に、入力された前記監視時間よりも長い実行時間を要するコマンドについて、前記コマンド実行時間表に、延長時間を登録するとともに、前記コマンドに対して監視時間延長イベント通知対象フラグをオンに設定する処理と、
（ｅ）前記ホストコンピュータから入出力コマンドを受信した際に、前記コマンドに対する監視時間延長イベント通知対象フラグがオンに設定されている場合、該コマンドに対応する監視時間の延長を監視時間延長イベントとして前記ホストコンピュータに通知する処理と、
（ｆ）前記コマンドに対応した処理の実行を終えると、延長した監視時間内に、前記コマンド処理が終了したか否かをチェックし、前記延長した監視時間内に、前記コマンド処理が終了した場合、前記延長した監視時間と、実際の処理に要した時間との差分を、短縮時間を監視時間短縮イベントとして前記ホストコンピュータに通知する処理と、の前記（ｄ）乃至（ｆ）の各処理を、前記周辺装置を構成するＣＰＵでプログラムを実行することで実現される。この場合、該プログラムを記録した記録媒体から読み出し装置を介して周辺装置にプログラムを読み出し実行することで本発明を実施することができる。プログラムを記録した記録媒体は、ＣＤ（ｃｏｍｐａｃｔ  ｄｉｓｋ）−ＲＯＭ、ＦＤ、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）、ＭＴ（ｍａｇｎｅｔｉｃ  ｔａｐｅ）、ＥＥＰＲＯＭ（電気的に消去及び書き込み可能な読み出し専用メモリ）、マスクＲＯＭ等の不揮発性半導体メモリ等も含む。
【００２５】
【実施例】
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の実施例について図面を参照して以下に説明する。
【００２６】
図１は、本発明の一実施例の構成を示す図である。図１を参照すると、本発明の一実施例は、ホストコンピュータ１００と、ホストコンピュータ１００に接続される周辺装置２００とを備えて構成されている。
【００２７】
ホストコンピュータ１００は、周辺装置組込手段１０１と、Ｉ／Ｏ制御手段１０２と、Ｉ／Ｏ時間監視手段１０３と、これらの手段が参照及び更新する装置状態管理表１０４、及びＩ／Ｏ時間監視表１０５と、を備えている。
【００２８】
これらの手段は、それぞれ概略つぎのように動作する。
【００２９】
周辺装置組込手段１０１は、ホストコンピュータ１００に接続される周辺装置２００の組み込み処理を行い、この時、コマンド実行時間表２０３の更新をＩ／Ｏ制御手段１０２を用いて周辺装置２００に要求する。
【００３０】
Ｉ／Ｏ制御手段１０２は、ホストコンピュータ１００に接続される周辺装置２００に対するＩ／Ｏ発行を行い、Ｉ／Ｏ時間監視表１０５に時間監視カウンタを設定する。また、周辺装置２００からイベントを受信した場合には、その内容に合わせて、Ｉ／Ｏ時間監視表１０５の不図示の時間監視カウンタを加算・減算する。
【００３１】
Ｉ／Ｏ時間監視手段１０３は、一定のインターバル毎に起動され、Ｉ／Ｏ時間監視表１０５の時間監視カウンタを減算することで、実行中Ｉ／Ｏの時間監視を行う。
【００３２】
周辺装置２００は、Ｉ／Ｏコマンド処理手段２０１とイベント通知手段２０２とを備えている。
【００３３】
Ｉ／Ｏコマンド処理手段２０１は、ホストコンピュータ１００のＩ／Ｏ制御手段１０２からの要求によりコマンド実行時間表２０３の更新を行う。また、Ｉ／Ｏ内のコマンドを解析し、コマンド対応の処理を行うとともに、監視時間延長または短縮イベントを通知する。
【００３４】
周辺装置２００のイベント通知手段２０２は、Ｉ／Ｏコマンド処理手段２０１の指示により、監視時間延長または短縮イベントをホストコンピュータ１００に対して通知する。
【００３５】
監視時間延長または短縮イベントを受信したホストコンピュータ１００では、Ｉ／Ｏ時間監視表１０５の時刻監視カウンタの値を、延長または短縮時間に相当する値だけ加算又は減算する。時刻監視カウンタは、時刻監視カウンタの現在のカウンタ値に対して、外部から設定された値を加算又は減算可能に構成されている。
【００３６】
周辺装置組込手段１０１と、Ｉ／Ｏ制御手段１０２と、Ｉ／Ｏ時間監視手段１０３と、は、ホストコンピュータ１００上で実行されるプログラムによりその処理・機能が実現される。本発明は、これらのプログラムを格納した記録媒体も含む。周辺装置２００のＩ／Ｏコマンド処理手段２０１、イベント通知手段２０２は、周辺装置２００の不図示のＣＰＵで上で実行されるプログラムによりその処理・機能が実現される。本発明は、これらのプログラムを格納した記録媒体も含む。
【００３７】
図１乃至図６を参照して、本発明の一実施例の全体の動作について詳細に説明する。
【００３８】
図２（ａ）は、本発明の一実施例におけるＩ／Ｏ発行処理の手順を示す流れ図である。まず、一般的なＩ／Ｏ実行時間監視方法について説明する。図１におけるホストコンピュータ１００上でＩ／Ｏ発行処理が行われると、Ｉ／Ｏ制御手段１０２により、図２に流れ図として示すように、Ｉ／Ｏ発行後（ステップＳ１、Ｓ２）に、装置状態管理表１０４に設定されているソフトウェア監視時間を取得し（ステップＳ３）、ソフトウェア監視時間に対応した時間監視カウンタがＩ／Ｏ時間監視表１０５に設定される（ステップＳ４）。
【００３９】
図２（ｂ）は、本発明の一実施例におけるＩ／Ｏ時間監視処理の手順を示す流れ図である。ホストコンピュータ１００のＩ／Ｏ監視手段１０３は、一定のインターバル毎に起動されると、Ｉ／Ｏ時間監視表１０５を検索する（ステップＳ１１）。監視中のＩ／Ｏがあれば（ステップＳ１２のＹｅｓ）、時間監視カウンタをチェックし、カウンタ値が１以上であれば（ステップＳ１３のＮｏ）、カウンタ値を減算し（ステップＳ１５）、未処理監視中のＩ／Ｏがあれば、ステップＳ１３に戻り、一方、未処理監視中のＩ／Ｏがなければ、監視処理を終える。
【００４０】
ステップＳ１３において、時間監視カウンタのカウンタ値が０であれば、タイムアウト発生を検出し、Ｉ／Ｏを実行している周辺装置２００が障害であると判断して、周辺装置障害処理を起動する（ステップＳ１４）。
【００４１】
このようにして、一定時間内にＩ／Ｏが終了するかを監視する。
【００４２】
なお、ホストコンピュータ１００において、Ｉ／Ｏ時間監視表１０５内の時間監視カウンタは、周辺装置２００からのＩ／Ｏ完了通知受信時、または、周辺装置障害処理（図２（ｂ）のステップＳ１４）の起動時に、非時間監視状態にリセットされる。
【００４３】
図１において、ホストコンピュータ１００は、周辺装置組込手段１０１を用いて、接続されている周辺装置２００を組み込む。この時、Ｉ／Ｏ制御手段１０２を用いて、装置状態管理表１０４に設定されているソフトウェア監視時間を参照して、コマンド実行時間表の更新要求を周辺装置２００に対して発行する。
【００４４】
図３は、周辺装置２００におけるコマンド表更新処理の手順を示す流れ図である。周辺装置２００のＩ／Ｏコマンド処理手段２０１は、ホストコンピュータ１００から、コマンド実行時間表２０３の更新要求を受信すると、コマンド実行時間表２０３を参照し（ステップＳ２１）、入力されたソフトウェア監視時間とコマンド実行時間を比較し（ステップＳ２３）、ソフトウェア監視時間よりも長い実行時間を要するコマンドがある場合、延長監視時間を登録し（ステップＳ２４）、監視時間延長イベント通知対象フラグをオンにする（ステップＳ２５）。ステップＳ２３〜Ｓ２５の処理を未チェックコマンドがなくなるまで繰り返す。
【００４５】
図４は、本発明の一実施例におけるコマンド実行時間表２０３の一例を模式的に示す図である。図４を参照すると、コマンド実行時間表２０３には、コマンド毎に、実行時間と、監視時間延長イベント通知対象フラグのオン・オフと、延長間とが設定されている。図４の場合、周辺装置に対するソフトウェア監視時間が３０秒の場合、このソフトウェア監視時間よりも長い実行時間のコマンドに対して延長時間が設定されるとともに監視時間延長イベント通知対象フラグがオンに設定されている。
【００４６】
図５は、本発明の一実施例において、組込処理完了後、周辺装置２００に対する入出力要求が発生した場合の処理手順を示す流れ図である。ホストコンピュータ１００のＩ／Ｏ制御手段１０２から周辺装置２００に対してＩ／Ｏを発行する（ステップＳ３１）。
【００４７】
Ｉ／Ｏ発行に成功すると、ホストコンピュータ１００は、装置状態管理表１０１に設定されているソフトウェア監視時間を基に、Ｉ／Ｏ時間監視表１０５にタイムアウト検出までの時間監視カウンタをセットする（ステップＳ３２、Ｓ３３）。
【００４８】
続いて、周辺装置２００のＩ／Ｏコマンド処理手段２０１は受信したＩ／Ｏのコマンドを解析する（ステップＳ４１）。
【００４９】
周辺装置２００において、当該コマンドとコマンド実行時間表２０３を照らし合わせ、当該コマンドの監視時間延長イベント通知対象フラグがオンであれば（ステップＳ４２のオン）、イベント通知手段２０３を用いて、コマンドに対応する延長監視時間を監視時間延長イベントとしてホストコンピュータ１００に通知する（ステップＳ４３）。
【００５０】
また、周辺装置２００において、コマンドに対応した処理を実行し終えると、延長した時間内にコマンド処理が終了したかをチェックし（ステップＳ４４、Ｓ４５）、延長監視時間と処理に要した時間の差分を短縮監視時間として、監視時間短縮イベントをホストコンピュータ１００に通知する（ステップＳ４６）。
【００５１】
ステップＳ４２において、監視時間延長イベント通知対象フラグがオフの場合には、コマンドに対応した処理のみを行う（ステップＳ４８）。
【００５２】
このようなコマンドの実行処理を、Ｉ／Ｏ中の全てのコマンドに対して行うと、イベント通知手段２０３を用いてＩ／Ｏ実行完了通知をホストコンピュータ１００に通知する（ステップＳ４９）。
【００５３】
一方、ホストコンピュータ１００において、Ｉ／Ｏ制御手段１０２は、監視時間延長イベントを受信すると、延長監視時間に対応した値を、時間監視カウンタに加算する（ステップＳ３６）。逆に、監視時間短縮イベントを受信した場合には、時間監視カウンタの減算を行う（ステップＳ３６）。
【００５４】
この処理により、ホストコンピュータ１００における時間監視カウンタのカウント値は、例えば図６に示すように、推移する。すなわち、Ｉ／Ｏ発行時、時間監視カウンタのカウント値がその初期値に設定され、一定時間毎に１つ減算され、周辺装置２００から監視時間延長イベントを受け取った場合、延長時間に相当する値を時間監視カウンタに加算し、周辺装置２００から監視時間短縮イベントを受け取った場合、短縮時間に相当する値を時間監視カウンタから減算する。
【００５５】
この結果、実行に時間がかかるコマンドを処理している間だけ、カウンタ値が大きくなることで、ハードウェア的に正常動作している時にタイムアウトを検出しないように制御できる。
【００５６】
このように、時間監視カウンタを実行中のコマンドに応じて動的に変更することで、実行中のＩ／Ｏに合った時間でＩ／Ｏ実行時間を監視できる。
【００５７】
次に、本発明の第２の実施例について説明する。本発明の第２の実施例においては、ホストコンピュータ１００で処理される業務内容に応じて、延長し得る監視時間の上限である最大監視時間を設定する。また、装置状態管理表１０４に総監視時間を格納する領域を設ける。
【００５８】
図７は、最大監視時間を用いたＩ／Ｏ時間監視の処理手順を示す流れ図である。ホストコンピュータ１００において、Ｉ／Ｏ発行時（ステップＳ５１）、ソフトウェア監視時間を取得し（ステップＳ５２）、その値を総監視時間として設定する（ステップＳ５３、Ｓ５４）。
【００５９】
周辺装置２００から、時間監視延長イベントを受信した時に（ステップＳ６１）、延長監視時間と総監視時間との和と、最大監視時間とを比較し（ステップＳ６２）、最大監視時間内であれば、延長監視時間と総監視時間の和を総監視時間として再設定し、監視時間の延長を行う（ステップＳ６３、Ｓ６４）。
【００６０】
ステップＳ６２において、最大監視時間を超える場合には、監視時間の延長は行わない。
【００６１】
また、時間監視短縮イベントを受信した時には、総監視時間から短縮監視時間を差し引く（ステップＳ６５、Ｓ６６）。
【００６２】
このように、Ｉ／Ｏ監視時間の延長に上限を設けることで、周辺装置２００の特性だけでなく、業務内容に応じたＩ／Ｏ時間監視を行うことができる。
【００６３】
【発明の効果】
以上説明したように、本発明によれば、ハードウェア的には正常に実行されているが、一般的なソフトウェアの監視時間内には終了しないコマンドに対して、動的に監視時間を変更することで、ハードウェア的正常動作しているＩ／Ｏに対して、監視時間切れによる障害発生と判断することなく、Ｉ／Ｏ実行時間の監視を行うことができる。
【００６４】
また、本発明によれば、周辺装置の組み込みを契機に延長すべき監視時間が更新されるため、周辺装置のファームウェア交換等でコマンド毎の監視時間が変更された場合でも、適正なＩ／Ｏ時間監視を行うことができる。
【図面の簡単な説明】
【図１】本発明の一実施例の構成を示す図である。
【図２】本発明の一実施例におけるＩ／Ｏ時間監視処理の手順を示す流れ図である。
【図３】本発明の一実施例におけるコマンド実行時間表更新処理の手順を示す流れ図である。
【図４】本発明の一実施例におけるコマンド実行時間表を示す図である。
【図５】本発明の一実施例におけるＩ／Ｏ実行とイベント通知処理を説明するための流れ図である。
【図６】本発明の一実施例における時間監視カウンタ値の時間推移の様子を示す図である。
【図７】本発明の第２の実施例として最大監視時間を使用したＩ／Ｏ時間監視を説明するための図である。
【符号の説明】
１００  ホストコンピュータ
１０１  周辺装置組み込み手段
１０２  Ｉ／Ｏ制御手段
１０３  Ｉ／Ｏ時間監視手段
１０４  装置状態管理表
１０５  Ｉ／Ｏ時間監視表
２００  周辺装置
２０１  Ｉ／Ｏコマンド処理手段
２０２  イベント通知手段
２０３  コマンド実行時間表
【図１】
0003603703.tif 000002
【図２】
0003603703.tif 000003
【図３】
0003603703.tif 000004
【図４】
0003603703.tif 000005
【図５】
0003603703.tif 000006
【図６】
0003603703.tif 000007
【図７】
0003603703.tif 000008