(57)【特許請求の範囲】
【請求項１】
資源分割管理機構により計算機システムのハードウェア資源を論理的に分割して生成された複数のＬＰＡＲと、命令プロセッサと、各ＬＰＡＲの基本ソフトウェアから共用されるデータバッファを備えたネットワーク接続装置とから成るコンピュータにおけるネットワーク接続装置の制御方法であって、
前記ネットワーク接続装置はネットワークから受信したデータを各ＬＰＡＲ対応に前記データバッファに格納し、当該ＬＰＡＲの基本ソフトウェアからのＲＥＡＤコマンドの起動の発行により前記データバッファに格納したデータを当該ＬＰＡＲの基本ソフトウェアが使用するメモリに転送すると共に前記データバッファ内の当該データを無効とし、
前記資源分割管理機構はいずれかのＬＰＡＲの基本ソフトウェアの不当ウェイトを検出した際に、当該基本ソフトウェアの不当ウェイトを前記命令プロセッサに通知し、
前記命令プロセッサは前記資源分割管理機構から通知された基本ソフトウェアの不当ウェイトにより動作不能状態のＬＰＡＲを前記ネットワーク接続装置に通知し、
前記ネットワーク接続装置は前記命令プロセッサから通知された動作不能状態のＬＰＡＲに対するデータを前記データバッファから破棄するネットワーク接続装置の制御方法。
【請求項２】
資源分割管理機構により計算機システムのハードウェア資源を論理的に分割して生成された複数のＬＰＡＲと、命令プロセッサと、各ＬＰＡＲの基本ソフトウェアから共用されるデータバッファを備えたネットワーク接続装置とから成るコンピュータにおいて、
前記ネットワーク接続装置はネットワークから受信したデータを各ＬＰＡＲ対応に前記データバッファに格納する手段と、当該ＬＰＡＲの基本ソフトウェアからのＲＥＡＤコマンドの起動の発行により前記データバッファに格納したデータを当該ＬＰＡＲの基本ソフトウェアが使用するメモリに転送すると共に前記データバッファ内の当該データを無効とする手段を備え、
前記資源分割管理機構はいずれかのＬＰＡＲの基本ソフトウェアの不当ウェイトを検出した際に、当該基本ソフトウェアの不当ウェイトを前記命令プロセッサに通知する手段を備え、
前記命令プロセッサは前記資源分割管理機構から通知された基本ソフトウェアの不当ウェイトにより動作不能状態のＬＰＡＲを前記ネットワーク接続装置に通知する手段を備え、
前記ネットワーク接続装置は、さらに前記命令プロセッサから通知された動作不能状態のＬＰＡＲに対するデータを前記データバッファから破棄する手段を備えたコンピュータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク接続装置の制御方法に係わり、特に、ホストコンピュータに内蔵されるＬＡＮ接続装置の障害検出と障害のリカバリを行うネットワーク接続装置の制御方法に関する。
【０００２】
【従来の技術】
一般に、計算機システムのハードウェア資源を論理的に分割して、複数のプロセッサとして使用する形態をＬＰＡＲ（Logically Partitioned）モードと呼ぶ。このモードでは、ハードウェア資源(ＬＡＮ接続装置も含む)は、複数のＯＳ(基本ソフトウェア、オペレーティングシステム)に共有されて使用される。
【０００３】
従来より、資源分割管理機構であるＬＰＡＲ環境下で、 ひとつのＬＡＮ接続装置が複数のＯＳに共用され使用される場合、あるＯＳが不当にウェイトすると、そのＬＡＮ接続装置を共用している全てのシステムに影響が生じる場合がある。その理由は、例えば、ウェイトしたＯＳからは、コマンドが発行されず、ＬＡＮ接続装置内部バッファに取り込んたデータが処理されない為、当該障害システムに対するデータで埋め尽くされ、データバッファを共有している他のシステムへのサービスが出来なくなるからである。
【０００４】
そこで従来技術としては、 ＬＡＮ接続装置がＯＳの障害によるウェイトを検出する手段として、ＯＳから一定間隔で、専用のコマンドを発行してもらい、 ＬＡＮ接続装置側でそのコマンドの発行される間隔をタイマー監視し、タイムアウトした際は、当該システムはダウンしたとみなし、当該システムに対するデータを破棄する方式がある。
【０００５】
【発明が解決しようとする課題】
しかしながら、このような従来技術では、一定間隔でＯＳから起動を発行する必要があること、またＬＡＮ接続装置側でもその起動に対する時間監視を常に行う必要があることから、これら処理のオーバヘッドにより性能が劣化することとなる。また、起動処理中、割込み処理中のハードウェアに障害が発生すると、たとえそのリカバリに成功しても、入出力動作に使用する各種のキューから、起動、割り込みの要因が脱落することがある。このような脱落は、たとえば、起動キュー、再起動キューからの起動要因の脱落、割り込みキューからの割り込み要因の脱落である。
【０００６】
また、従来、ＬＡＮ接続装置等のネットワークを制御するデバイスに対するＲＥＡＤ（読取り）コマンドは、対象となるデータがいつＬＡＮから届くか判断できない為、ＯＳによるＲＥＡＤコマンドのタイムアウト監視はむずかしかった。従って、障害等でＲＥＡＤコマンドの終了報告が消滅した様なケースにおいても、ＯＳは障害を検出することが出来ず、おそらく永遠に来るはずの無いであろう終了報告を待つことになる。また、何らかの方法で動作上の不具合を検出できたとしても、障害の発生からあまりにも時間が経過している為に、障害の原因を特定できる有効なデータは採取できないことがあった。
【０００７】
このように従来の方式では、上述の様なハードウエアの障害等でＲＥＡＤコマンドに対する起動、割込み要因が抜けた場合には対応できず、結果としてさらに重度の障害を引き起こす可能性があった。
【０００８】
以下に、従来のＲＥＡＤ動作に関する課題を説明する。図６に、本発明に関連するＬＡＮ接続装置を有するホストコンピュータの構成図を示す。
ホストコンピュータ（６００）は、ＬＰＡＲ１（６０１）のＯＳ、ＬＰＡＲ２（６０２）のＯＳ、ホストコンピュータの命令プロセッサ（Instruction Processor、ＩＰ）（６０３）、入出力命令に使用する起動キュー（６０４）、入出力命令に使用する割り込みキュー（６０５）、ホストコンピュータに内蔵されているＬＡＮ接続装置（６０６）を備える。ＬＰＡＲ１（６０１）のＯＳは、ＬＡＮ（６０７）と接続される。
【０００９】
通常、ＬＰＡＲ１（６０１）のホストＯＳのＲＥＡＤ処理は、先にＲＥＡＤコマンドを発行し、その終了割込みを待ち、終了を確認すると、次ＲＥＡＤコマンドを発行する方式を採用している。従って、ＲＥＡＤコマンドは常に発行された状態であり、 ＬＡＮ接続装置（６０６）はＬＡＮ（６０７）からのデータを待ち、ＬＡＮ（６０７）からデータが到着した時点で、ＬＰＡＲ１（６０１）へのデータ読み込み動作を行うのが一般的である。
【００１０】
ところが、ＬＡＮ（６０７）からのデータは、いつ到着するか予想できない。従って、ＬＰＡＲ１（６０１）のＯＳは、このＲＥＡＤコマンドの終了に対する時間監視を行うことができない。ＲＥＡＤコマンドの起動、終了割込みが、ハードウエアの一時的な障害により、起動キュー（６０４）、あるいは割込みキュー（６０５）から脱落したとしても、ＬＰＡＲ１（６０１）のＯＳは、その障害を検出できず、結果として、ＬＡＮ接続装置の内部のデーターバッファは、当該ＯＳに対するデータで埋めつくされ、ＬＰＡＲ１（６０１）のみならず、当ＬＡＮ接続装置（６０６）を共有している他システムであるＬＰＡＲ２（６０２）でも、通信障害等の影響が発生する。
【００１１】
また、ＬＰＡＲ１（６０１）のＯＳが不当にウェイトした場合も同様である。ＯＳがウェイトしている為、ＲＥＡＤコマンドは発行されず、結果として、上述と同様にＬＡＮ接続装置内部のデータバッファは、当該ＯＳに対するデータで埋めつくされ、当ＬＡＮ接続装置（６０６）を共有している他システムのＬＰＡＲ２（６０２）でも、通信障害等の影響が発生する。
【００１２】
ＬＡＮ接続装置（６０６）でない、ディスク装置、ＭＴ装置など他の入出力装置の場合は、ＲＥＡＤコマンドに対する時間監視が可能である。従ってＬＰＡＲ（６０１）ＯＳは時間監視を実施し、タイムアウトした際には、例えばＨＡＬＴ／ＣＬＥＡＲ命令と言った、リカバリ系の命令が発行される。ホストコンピュータ（６００）のハードウェアは、これらの命令を契機として、起動キュー、割込みキューの正常性をチェックし、異常を検出したならば、キューの回復を行っている。しかしながら、先に述べた様にＬＡＮ接続装置（６０６）に関しては、ＲＥＡＤコマンドの時間監視を行えない為、 ＨＡＬＴ／ＣＬＥＡＲ命令等は発行されず、各キューの正常性チェックを行う契機がない。
【００１３】
本発明は、以上の点に鑑み、特に、複数のシステムから共有されるＬＡＮ接続装置を有するホストコンピュータにおいて、信頼性を向上することを目的とする。また、本発明は、プログラム、ハードウェアの通常処理におけるオーバヘッド無しに、ＯＳの不当なウェイトを検知し、ＯＳがウェイトしていた場合には、当該ＯＳに対するデータを破棄し、共有している他システムに影響を与えず、動作を継続することを目的とする。また、本発明は、ハードウエアの障害等でＲＥＡＤコマンドが起動キュー、再起動キュー、または、割り込みキューから脱落した場合でも、 ＬＡＮ接続装置内バッファ使用量の規定値オーバー、あるいはＲＥＡＤコマンド待ち時間の規定時間オーバーを契機として、入出力動作で使用する各種キューを回復することで、正常な動作を継続し、共有している他システムに影響を与えない高信頼性のＬＡＮ接続装置を提供することを目的とする。
【００１４】
【課題を解決するための手段】
本発明に関するホストコンピュータでは、内蔵されるＬＡＮ接続装置に於いて、例えば、次の（１）〜（７）の手段を備える事で、上述のような課題を解決する。
（１）ＯＳ（基本ソフト）が不当ウェイトしたことを検出した際に、ホストコンピュータに内蔵されるＬＡＮ接続装置に対し、ＯＳの動作不能状態を通知するＯＳ動作不能通知手段
（２）ＯＳの動作不能状態通知を受領した際に、当該ＯＳに対するＬＡＮ接続装置内送信データを破棄するデータ破棄手段
（３）ＬＡＮから受信したデータを格納するＬＡＮ接続装置の内部バッファ使用量を、接続システム毎に判定可能なバッファ使用量判定手段
（４）ＲＥＡＤコマンドの終了報告から、次ＲＥＡＤコマンドの起動を受領する迄の時間を監視するＲＥＡＤコマンド待ち時間監視手段
（５）バッファ使用量が規定値以上の場合、あるいはＲＥＡＤコマンドの終了報告から、次ＲＥＡＤコマンドの起動を受領する迄が規定時間以上である場合は、入出力動作で使用する各種キューのチェックを指示するキューチェック指示手段
（６）指示を受けキューチェックを行うキューチェック実行手段
（７）キューチェックにより、起動が起動キュー、あるいは割込みが割込みキューから抜け落ちていた場合は、キューへのつなぎこみを行う起動・割込みキュー回復手段
【００１５】
本発明の第１の解決手段によると、
資源分割管理機構により計算機システムのハードウェア資源を論理的に分割して生成された複数のＬＰＡＲと、命令プロセッサと、各ＬＰＡＲの基本ソフトウェアから共用されるデータバッファを備えたネットワーク接続装置とから成るコンピュータにおけるネットワーク接続装置の制御方法であって、
前記ネットワーク接続装置はネットワークから受信したデータを各ＬＰＡＲ対応に前記データバッファに格納し、当該ＬＰＡＲの基本ソフトウェアからのＲＥＡＤコマンドの起動の発行により前記データバッファに格納したデータを当該ＬＰＡＲの基本ソフトウェアが使用するメモリに転送すると共に前記データバッファ内の当該データを無効とし、
前記資源分割管理機構はいずれかのＬＰＡＲの基本ソフトウェアの不当ウェイトを検出した際に、当該基本ソフトウェアの不当ウェイトを前記命令プロセッサに通知し、
前記命令プロセッサは前記資源分割管理機構から通知された基本ソフトウェアの不当ウェイトにより動作不能状態のＬＰＡＲを前記ネットワーク接続装置に通知し、
前記ネットワーク接続装置は前記命令プロセッサから通知された動作不能状態のＬＰＡＲに対するデータを前記データバッファから破棄するネットワーク接続装置の制御方法が提供される。
【００１６】
本発明の第２の解決手段によると、
資源分割管理機構により計算機システムのハードウェア資源を論理的に分割して生成された複数のＬＰＡＲと、命令プロセッサと、各ＬＰＡＲの基本ソフトウェアから共用されるデータバッファを備えたネットワーク接続装置とから成るコンピュータにおいて、
前記ネットワーク接続装置はネットワークから受信したデータを各ＬＰＡＲ対応に前記データバッファに格納する手段と、当該ＬＰＡＲの基本ソフトウェアからのＲＥＡＤコマンドの起動の発行により前記データバッファに格納したデータを当該ＬＰＡＲの基本ソフトウェアが使用するメモリに転送すると共に前記データバッファ内の当該データを無効とする手段を備え、
前記資源分割管理機構はいずれかのＬＰＡＲの基本ソフトウェアの不当ウェイトを検出した際に、当該基本ソフトウェアの不当ウェイトを前記命令プロセッサに通知する手段を備え、
前記命令プロセッサは前記資源分割管理機構から通知された基本ソフトウェアの不当ウェイトにより動作不能状態のＬＰＡＲを前記ネットワーク接続装置に通知する手段を備え、
前記ネットワーク接続装置は、さらに前記命令プロセッサから通知された動作不能状態のＬＰＡＲに対するデータを前記データバッファから破棄する手段を備えたコンピュータが提供される。
【００１８】
【発明の実施の形態】
以下に、本発明の実施の形態を図面を用いて詳細に説明する。
まず、ＬＡＮ接続装置を有するホストコンピュータの動作について具体的に説明する。
図１は、ＬＡＮ接続装置を有するホストコンピュータの基本構成図を示している。ホストコンピュータ（００）は、ＬＰＡＲ１（０１）のＯＳ（オペレーティングシステム、基本ソフトウェア）、ＬＰＡＲ２（０２）のＯＳ、ホストコンピュータの命令プロセッサ（Instruction Processor、ＩＰ）（０３）、入出力命令に使用する起動キュー（０４）、入出力命令に使用する割り込みキュー（０５）、ホストコンピュータに内蔵されているＬＡＮ接続装置（０６）を備える。ＬＰＡＲ１（０１）のＯＳは、ＬＡＮ（０７）と接続される。ＬＰＡＲ１（０１）のＯＳ、ＬＰＡＲ２（０２）のＯＳは、それぞれ、ＬＰＡＲ１（０１）のＯＳで使用しているメインメモリ（ＭＳ）（０１１）、ＬＰＡＲ２で使用しているＭＳ（０２１）を有する。ＩＰ（０３）は、ＯＳ動作不能通知手段（０３１）、キューチェック実行手段（０３２）、起動・割込みキュー回復手段（０３３）を有する。ＬＡＮ接続装置（０６）は、ＬＡＮ接続装置内のデータバッファ（０６１）、ＬＡＮ接続装置内のＬＡＮボード（０６２）、データ破棄手段（０６３）、バッファ使用量判定手段（０６４）、キューチェック指示手段（０６５）、ＲＥＡＤコマンド待ち時間監視手段（０６６）、データバッファ制御手段（０６７）を有する。これら各手段に関しては、図２、図３および図４を用い、後で詳しく説明する。
【００１９】
ＬＰＡＲは、資源分割管理機構である。本実施の形態では、ひとつのホストコンピュータ（ハードウェア）（００）を、ＬＰＡＲ１（０１）のＯＳ、ＬＰＡＲ２（０２）のＯＳの二つのシステムに分割して使用し、ＬＡＮ接続装置は、これら二つのシステムで共用されている。実際の使用環境下では、さらに複数のシステムで共用される場合が多いが、ここでは、説明を簡単化する為に本構成で説明する。
【００２０】
まず、ＯＳ−ＬＡＮ間のデータの流れについてＬＰＡＲ１（０１）での動作を例に説明する。 ＬＡＮ接続装置（０６）の動作として、 ＭＳ（０１１）からＬＡＮ（０７）へデータを転送するＷＲＩＴＥ動作と、 ＬＡＮ（０７）からのデータを、ホストＭＳ（０１１）へ読み込むＲＥＡＤ動作があるが、本発明は、特に、ＲＥＡＤ動作に関するものである。以下にＲＥＡＤ動作について説明する。
【００２１】
ＬＰＡＲ（０１）のＯＳは、ＭＳ（０１１）上にデータを格納する為のエリアを準備し、ＬＡＮ接続装置（０６）に対して、ＲＥＡＤコマンドのスタート起動を発行する、スタート起動は、一旦起動キュー（０４）に登録され、その後、起動キュー（０４）の先頭から取り出され、 ＬＡＮ接続装置（０６）が起動される。この時点でＬＡＮ接続装置内のデータバッファ（０６１）にＬＰＡＲ１（０１）宛てのデータが無い場合は、本起動は待たされ、 ＬＡＮ接続装置（０６）はＬＡＮ（０７）からのデータ到着を待つ。ＬＡＮ（０７）からデータが届くとＬＡＮ接続装置（０６）は、ＬＡＮボード（０６２）を介してデータを受領し、ＬＡＮ接続装置内部のデータバッファ（０６１）に格納する。ホストＬＰＡＲ（０１）のＯＳからのＲＥＡＤコマンドのスタート起動が発行されている場合は、コマンドの指示に従って、データバッファ（０６１）からＭＳ（０１１）に対してデータを書込み、終了したら、その結果を割込みキュー（０５）に登録し、ＬＰＡＲ１（０１）のＯＳに割込む。もしもＲＥＡＤコマンドのスタート起動が発行されていない場合は、ＬＰＡＲ１（０１）のホストＯＳからのＲＥＡＤコマンドのスタート起動を待つことになる。
【００２２】
本発明においては、例えば、通常のように、ＬＰＡＲ１（０１）のホストＯＳのＲＥＡＤ処理は、先にＲＥＡＤコマンドを発行し、その終了割込みを待ち、終了を確認すると、次ＲＥＡＤコマンドを発行する方式を採用している。従って、ＲＥＡＤコマンドは常に発行された状態であり、 ＬＡＮ接続装置（０６）はＬＡＮ（０７）からのデータを待ち、ＬＡＮ（０７）からデータが到着した時点で、ホストＭＳ（０１１）へのデータ読み込み動作を行うのが一般的である。
【００２３】
図２は、ＯＳが不当ウェイトしたケースの処理概要の説明図を示す。ここでは、一例として、ＬＰＡＲ（０１）のＯＳについて説明する。
まず、図２のＯＳが不当にウェイトしたケースの処理概要を説明図を示す。
ＬＰＡＲ（０１）のＯＳの不当なウェイトは、ＩＰ（０３）がＰＳＷ(プログラム・ステータス・ワード)のウェイトフラグを参照すること、また資源分割管理機構を使用している場合は、資源分割管理機構がゲストＯＳの不当ウェイトを検出し（「動作不能状態発生」）、ＩＰ（０３）に通知することにより検出される（「動作不能状態検出」）。ＬＰＡＲ（０１）のＯＳの不当なウェイトの検出に関しては、既知の技術である。ここでの詳細な説明は省略する。ＬＰＡＲ（０１）のＯＳの不当なウェイトを検出したＩＰ（０３）は、ＯＳ「動作不能通知手段（０３１）」を用いてＬＡＮ接続装置（０６）に通知する。ＯＳの動作不能状態通知を受領したＬＡＮ接続装置（０６）は（「ＯＳ動作不能状態受領」）、「データの破棄手段（０６３）」を用いて、当該ＬＰＡＲ（０１）のＯＳに対する転送データを破棄し、ＬＡＮ接続装置（０６）を共有している他システムには影響を与えず連続使用を可能とする。
【００２４】
次に、図３に、バッファ使用量判定手段によるリカバリについてのキュー障害における処理概要の説明図を示す。以下に、各種キューから起動、あるいは割込みが脱落したキュー障害のケースの処理概要を説明する。
【００２５】
起動キュー、割込みキューを更新中にハードウエア障害が発生すると、リカバリが正常に行われていても、起動、割込み要因が各キューから脱落することがある。ここで、ハードウェア障害とは、例えば、ＩＰ（０３）から起動キュー（０４）へのキュー登録、起動キュー（０４）からＬＡＮ接続装置（０６）へのキュー取り出し、ＬＡＮ接続装置（０６）から割込みキュー（０５）へのキュー登録、又は、割込みキュー（０５）からＩＰ（０３）へのキュー取り出しのいずれか又は複数に関するハードウェアについての障害である。
【００２６】
まず、この図は、バッファ使用量判定手段によるリカバリを、起動キューから起動要因が脱落したケースを例に示している。なお、割込みキューについても同様にバッファ使用量判定手段によりリカバリすることができる（この点については、以下の説明中かっこ内を参照）。
【００２７】
ＬＰＡＲ（０１）のＯＳが「ＲＥＡＤ起動発行」を行うと、ＩＰ（０３）は「起動キュー登録」を行う（かぎかっこは図との対応を示す。以下同様）。ここで、「ハードウェア障害発生」により、ＲＥＡＤコマンドの起動（あるいは割込み）がこれらキューから脱落すると、 ＬＰＡＲ（０１）のＯＳはコマンドの終了を待ち続ける為、その後のＲＥＡＤコマンドが発行されず、ＬＡＮ接続装置（０６）内のデータバッファに転送すべきデータが蓄積される。 ＬＡＮ接続装置（０６）は、「バッファ使用量判定手段（０６４）」により、当該システムに対する送信データが規定値をオーバーしていることを検出し、「キューチェック指示手段（０６５）」により、ＩＰ（０３）に対し当該転送に関する、起動キュー・（割込みキュー）のチェックを指示する。ＩＰ（０３）は、「キューチェック指示受領」に従い、起動キュー（割込みキュー）についての「キューチェック実行手段（０３２）」によりキューのチェックを実行し、キューに関する要因がキューから脱落していた場合は、「キューの回復手段（０３３）」を用いてキューを回復する。その後、ＩＰ（０３）は、ＬＡＮ接続装置（０６）を「起動」し、ＬＡＮ接続装置（０６）は「起動受領（データ転送）」を行う。ＬＡＮ接続装置（０６）の「終了（終了割込み）」、ＩＰ（０３）の「割込みキュー登録」及びＬＰＡＲ１（０１）のＯＳの「終了割込み受領」を経て、割込みが正しくキューに登録される。このようにして、ＬＡＮ接続装置（０６）は、正常動作を継続可能となる。
【００２８】
図４に、ＲＥＡＤコマンド待ち時間監視手段によるリカバリについてのキュー障害における処理概要の説明図を示す。この図は、ＲＥＡＤコマンド待ち時間監視手段によるリカバリを、割込みキューから割込み要因が脱落したケースを例に示している。なお、起動キューについても同様にＲＥＡＤコマンド待ち時間監視手段により、リカバリすることができる（以下の説明中かっこ内参照）。
【００２９】
ＬＰＡＲ（０１）のＯＳが「ＲＥＡＤ起動発行」を行うと、ＩＰ（０３）が「起動キュー登録」後、ＬＡＮ接続装置（０６）を「起動」する。ＬＡＮ接続装置（０６）は「起動受領（データ転送）」により、「終了（終了割込み）」をＩＰ（０３）に送り、ＩＰ（０３）は「割込みキュー登録」を行う。ＬＡＮ接続装置（０６）は、ＲＥＡＤコマンド待ち時間監視手段（０６６）により、ＲＥＡＤコマンドの終了報告を行ってから、次ＲＥＡＤコマンドの起動を受領する迄の時間を監視する。上述のようにハードウェアの障害が発生し、ＲＥＡＤコマンド割込み（あるいは起動）が各キューから脱落すると、 ＬＰＡＲ（０１）のＯＳはコマンドの終了を待ち続ける為、その後のＲＥＡＤコマンドが発行されない。 ＬＡＮ接続装置（０６）は、「ＲＥＡＤコマンド待ち時間監視手段（０６６）」により、 ＲＥＡＤコマンドの待ち時間が規定時間をオーバーした場合、「キューチェック指示手段（０６５）」により、ＩＰ（０３）に対し当該転送に関する、割込みキュー（起動キュー）のチェックを指示する。「キューチェック指示受領によりＩＰ（０３）は、「起動・割込みキューのチェック実行手段（０３２）」で、キューのチェックを実行し、キュー障害が発生していた場合は、「キューの回復手段（０３３）」を用いてキューを回復する。ＬＰＡＲ（０１）のＯＳは、ＩＰ（０３）からの「終了割込み受領」により、「次ＲＥＡＤ起動発行」を行う。ＩＰ（０３）が「起動キュー登録」後、ＬＡＮ接続装置（０６）を「起動」する。ＬＡＮ接続装置（０６）は「起動受領（データ転送）」により、「終了（終了割込み）」をＩＰ（０３）に送り、ＩＰ（０３）は「割込みキュー登録」を行い、ＬＰＡＲ（０１）のＯＳは「終了割込み受領」をする。こうして、割込みが正しくキューに登録されることにより、ＬＡＮ接続装置（０６）は、正常動作を継続可能となる。
【００３０】
本実施の形態では、一例としてＩＰ（０３）により、キューのチェックとキューの回復を行う例を示した。キューのチェックとキューの回復は、キューの更新を行えるユニットであれば、どのユニットが実施しても良く、本方式は適用可能である。
【００３１】
また、キューチェック、キューの回復処理は従来技術の範疇であり、ここでは詳しく説明しないが以下に補足する。起動キュー、割込みキューの作りは、装置により様々あり、一般的な例を上げて説明する。一般に、キューには、デバイス情報(サブチャネル情報)の番号が登録される。デバイス情報は、入出力動作を行う入出力装置(入出力経路)の情報であり、入出力装置と１対１に対応している。この情報の中に起動の有無、起動の種類、割込みを保留しているか否か、起動キューあるいは割込みキューに登録されているか否かを示す制御フラグ等も含まれる。ＬＡＮ接続装置（０６）は、ＲＥＡＤ命令が発行されず、障害を起こす可能性があるとキューチェックを指示する。ＩＰ（０３）は、キューチェックが指示されると、キューチェックを要求した入出力装置の番号から、デバイス情報を読み、未処理の起動が有るか、未処理の割込みが有るか、あるいは起動キュー、割込みキューに登録されているか否かを示す制御フラグ(起動・割込みキュー登録フラグ)が‘１’かを調べる。未処理の起動が有る、あるいは起動キュー登録フラグが‘１’の場合は、起動キューの先頭から、キューに登録されている入出力装置(デバイス情報の番号)を調査し、当該入出力装置が登録されていなければ、キューからの脱落が発生していると判断し、当該入出力装置を再度キューイングする。さらにキューの情報として、キュー長(キューに登録されている装置の数)を持っている場合、上述のようなキューのチェックにより、キュー長の矛盾が発生していても、キュー長の書き換えが行われる。起動キューに関して説明したが、割込みキューに関しても同様である。
【００３２】
次に、 ＬＡＮ接続装置内部のデータバッファ（０６１）の使用例と、バッファ使用量判定手段（０６４）を説明する。
図５は、ＬＡＮ接続装置内部のデータバッファ（０６１）の使用例の説明図を示している。有効なディスクリプタの位置を示すポインタ（５０１）〜（５０ｎ）は、ＬＰＡＲ１の有効なディスクリプタのスタートポインタ（００１）、ＬＰＡＲ１の有効なディスクリプタのエンドポインタ（００２）、ＬＰＡＲｎの有効なディスクリプタのスタートポインタ（０１１）、ＬＰＡＲｎの有効なディスクリプタのエンドポインタ（０１２）を含む。レジスタ（００３）及び（０１３）は、当該ＬＰＡＲに対するバッファ使用量、あるいは有効ディスクリプタ数の上限を設定する規定値を記憶する。ＬＡＮ接続装置内部のデータバッファ（０６１）は、内部バッファ内のデータのアドレスとデータ長を示すディスクリプタ（０３）及び（０４）、転送データ（０５０）〜（０５２）及び（０６０）〜（０６２）を含む。
【００３３】
つぎに、 ＬＡＮ接続装置（０６）のデータ受信動作について説明する。
データバッファ制御手段（０６７）は、ＬＡＮ（０７）からデータを受信すると、 ＬＡＮ接続装置内部のデータバッファ（０６１）にデータを格納し、データの中に記述されているＩＰ（インターネット・プロトコル）アドレスから、どのＬＰＡＲ(システム)に対するデータであるかを判断し、対応するＬＰＡＲのエンドポインタ（００２／０１２）で示されるディスクリプタ（０３／０４）に、データを格納したアドレスとデータ長を書き込み、当該ＬＰＡＲのディスクリプタのエンドポインタ（００２／０１２）を更新し、作成したディスクリプタを有効にする。
【００３４】
また、データバッファ制御手段（０６７）は、ホストＯＳからＲＥＡＤコマンドの起動が発行されると、コマンドが発行されたＬＰＡＲのポインタ（００／０１）を参照し、有効なディスクリプタが存在する場合は、スタートポインタ（００１／０１１）で示されるディスクリプタ（０３／０４）を読出し、ディスクリプタに書かれているアドレスとデータ長に従い、ホストのメインメモリにデータを転送し、当該スタートポインタ（００１／０１１）を更新して処理したディスクリプタを無効とする。
【００３５】
次にＬＡＮ接続装置内のバッファ使用量の計測方法について、図５のＬＰＡＲ１を例にとり説明する。ＬＰＡＲ１のスタートポインタ（００１）とエンドポインタ（００２）の値を参照すると、ＬＰＡＲ１に対する有効なディスクリプタ（０３）が特定できる。バッファ使用量判定手段（０６４）は、この有効なディスクリプタを読込みディスクリプタに記述されているカウント（データ長）を全て加算することにより、ＬＡＮ接続装置バッファ内のＬＰＡＲ１に転送すべきデータの量を算出する。
【００３６】
バッファ使用量判定手段（０６４）は、データを受信し、エンドポインタ（００２／０１２）を更新する際、あるいは定期的にスタートポインタ（００１／０１１）とエンドポインタ（００２／０１２）の値から、有効なディスクリプタの数を計算し、有効なディスクリプタ数が当該ＬＡＮ接続装置で許されている規定値（００３／０１３）に達した時、あるいは上記方法で有効なディスクリプタ（０３／０４）より、当該ＬＰＡＲに転送すべきデータの量を算出し、データ量が規定値（００３／０１３）を超過していた場合は、コマンド起動の障害を想定してリカバリ処理を実行する。
【００３７】
本実施例では、ＬＡＮ接続装置バッファ内の特定番地にディスクリプタを設けているが、 ディスクリプタをＬＡＮ接続装置内専用のレジスタに設けること、またポインタをバッファ内に設けること等、接続システム毎にＬＡＮ接続装置内のデータ量が推定可能な構成であれば、いずれも本方式は適用可能であり、本発明の範疇である。
【００３８】
【発明の効果】
本発明によると、以上のように、特に、複数のシステムから共有されるＬＡＮ接続装置を有するホストコンピュータにおいて、信頼性を向上することができる。また、本発明によると、プログラム、ハードウェアの通常処理におけるオーバヘッド無しに、ＯＳの不当なウェイトを検知し、ＯＳがウェイトしていた場合には、当該ＯＳに対するデータを破棄し、共有している他システムに影響を与えず、動作を継続することができる。また、本発明によると、ハードウエアの障害等でＲＥＡＤコマンドが起動キュー、再起動キュー、または、割り込みキューから脱落した場合でも、 ＬＡＮ接続装置内バッファ使用量の規定値オーバー、あるいはＲＥＡＤコマンド待ち時間の規定時間オーバーを契機として、入出力動作で使用する各種キューを回復することで、正常な動作を継続し、共有している他システムに影響を与えない高信頼性のＬＡＮ接続装置を提供することができる。
【図面の簡単な説明】
【図１】ＬＡＮ接続装置を有するホストコンピュータの基本構成図。
【図２】ＯＳが不当ウェイトしたケースの処理概要の説明図。
【図３】バッファ使用量判定手段によるリカバリについてのキュー障害における処理概要の説明図。
【図４】ＲＥＡＤコマンド待ち時間監視手段によるリカバリについてのキュー障害における処理概要の説明図。
【図５】ＬＡＮ接続装置内部のデータバッファの使用例の説明図。
【図６】ＬＥＮ接続装置を有するホストコンピュータの構成図。
【符号の説明】
００  ：ホストコンピュータ
０１  ：資源分割管理機構におけるＬＰＡＲ１の基本ソフト
０１１：ＬＰＡＲ１で使用するメインメモリ
０２  ：資源分割管理機構におけるＬＰＡＲ２の基本ソフト
０２１：ＬＰＡＲ２で使用するメインメモリ
０３  ：ホストコンピュータのハードウェア内ＩＰ
０４  ：入出力処理に使用する起動キュー
０５  ：入出力処理に使用する割込みキュー
０６  ：ＬＡＮ接続装置
０６１：ＬＡＮ接続装置内データバッファ
０６２：ＬＡＮ接続装置内ＬＡＮボード
０７  ：ＬＡＮ環境
【図１】
0004205843.tif 000002
【図２】
0004205843.tif 000003
【図３】
0004205843.tif 000004
【図４】
0004205843.tif 000005
【図５】
0004205843.tif 000006
【図６】
0004205843.tif 000007