(57)【要約】【課題】  割り込み処理によるホスト負荷の増大を防止しつつ，入出力処理の即応性を損なわずに効率的な入出力制御を行うデータ入出力装置を提供する。【解決手段】  入出力装置１は，ホスト２の状態を示すホスト状態情報を保持し，データの入出力制御を行うと（Ｓ１），その入出力情報とホスト状態情報を参照して，割り込みまたは非割り込みのいずれかの処理による通知を選択する最適化制御を行う（Ｓ２）。割り込みによる通知が選択されると，ホスト２へのデータ転送制御を行い（Ｓ３），割り込みによってホスト２へ転送を通知する（Ｓ４）。非割り込みによる通知が選択されると，ホスト２へのデータ転送制御を行い（Ｓ３），ポーリングによってホスト２へ転送を通知する通知制御を行う（Ｓ４）。【選択図】  図１
2006285341.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにホスト処理装置へのデータ入出力制御を行わせるデータ入出力プログラムであって，
前記コンピュータに、
前記ホスト処理装置からホスト状態情報を取得し，ホスト処理装置の状態を示すホスト状態情報を保持するホスト状態情報記憶領域へ格納するホスト状態情報取得ステップと，
前記ホスト状態情報記憶領域に記憶されるホスト状態情報にもとづいて，前記割り込み処理または前記非割り込み処理のいずれか１つの処理を選択する最適化ステップと，
前記最適化ステップによって選択された処理を用いて、前記ホスト処理装置への割り込みを行う割り込み処理または前記割り込みを行わない非割り込み処理のいずれか一方の処理によって前記ホスト処理装置へのデータ入出力を通知する入出力通知ステップと，
を実行させるデータ入出力プログラム。
【請求項２】
前記コンピュータに、更に、
前記ホスト状態情報取得ステップにおいて，前記ホスト状態情報として，少なくともプロセスの優先度を含むプロセス状態情報を前記ホスト処理装置から取得し，前記ホスト状態情報記憶手段へ格納し，
前記最適化ステップにおいて，前記ホスト状態情報記憶手段に記憶されたプロセス状態情報をもとに，前記データ入出力制御の対象となるプロセスを特定し，前記対象プロセスの優先度と前記ホスト処理装置において現在実行中のプロセスの優先度とを比較し，前記対象プロセスの優先度が前記現在実行中のプロセスの優先度より低い場合に，前記非割り込み処理による通知を選択する
処理を実行させる請求項１記載のデータ入出力プログラム。
【請求項３】
前記コンピュータに、更に
前記ホスト状態情報取得ステップにおいて，前記ホスト状態情報として，少なくともプロセスの状態をＲｕｎ，Ｒｅａｄｙ，Ｗａｉｔの各状態によって示す情報を含むプロセス状態情報を前記ホスト処理装置から取得し，前記ホスト状態情報記憶手段へ格納し，
前記最適化ステップにおいて，前記ホスト状態情報記憶手段のプロセス状態情報をもとに，前記データ入出力制御の対象となるプロセスを特定し，前記対象プロセスのプロセス状態がＲｅａｄｙ状態である場合に前記非割り込み処理による通知を選択する
処理を実行させることを特徴とする請求項1記載のデータ入出力プログラム。
【請求項４】
前記コンピュータに、更に
前記ホスト状態情報取得ステップにおいて，前記ホスト状態情報として，少なくとも，プロセスの状態をＲｕｎ，Ｒｅａｄｙ，Ｗａｉｔの各状態によって示す情報およびプロセスの優先度を含むプロセス状態情報を前記ホスト処理装置から取得し，前記ホスト状態情報記憶手段へ格納し，
前記最適化ステップにおいて，前記ホスト状態情報記憶手段のプロセス状態情報をもとに，前記データ入出力制御の対象となるプロセスを特定し，前記対象プロセスのプロセス状態がＷａｉｔ状態である場合に，前記対象プロセスの優先度と前記ホスト処理装置において現在実行中のプロセスの優先度とを比較し，前記対象プロセスの優先度が前記現在実行中のプロセスの優先度より低いときに前記非割り込み処理による通知を選択する
処理を実行させる請求項1記載のデータ入出力プログラム。
【請求項５】
前記コンピュータに、更に
前記ホスト状態情報取得ステップにおいて，前記ホスト処理装置のＣＰＵ使用率を取得し，前記ホスト状態情報記憶手段へ格納し，
前記最適化ステップにおいて，前記ホスト状態情報記憶手段のＣＰＵ使用率が所定値以下である場合に前記非割り込み処理による通知を選択する
処理を実行させることを特徴とする請求項1記載のデータ入出力プログラム。
【請求項６】
ホスト処理装置へのデータ入出力制御を行うデータ入出力装置であって，
ホスト処理装置の状態を示すホスト状態情報を保持するホスト状態情報記憶手段と，
前記ホスト処理装置へのデータ入出力の通知を，前記ホスト処理装置への割り込みを行う割り込み処理または前記割り込みを行わない非割り込み処理のいずれか一方の処理によって通知する入出力通知手段と，
前記ホスト処理装置からホスト状態情報を取得し，前記ホスト状態情報記憶手段へ格納するホスト状態情報取得手段と，
前記ホスト状態情報にもとづいて，前記割り込み処理または前記非割り込み処理のいずれか１つの処理を選択する最適化手段とを備え，
前記入出力通知手段は，前記最適化手段によって選択された処理を用いて前記ホスト処理装置へデータ入出力を通知する
ことを特徴とするデータ入出力装置。
【請求項７】
請求項６のデータ入出力装置において，
前記ホスト状態情報取得手段は，前記ホスト状態情報として，少なくともプロセスの優先度を含むプロセス状態情報を前記ホスト処理装置から取得し，前記ホスト状態情報記憶手段へ格納し，
前記最適化手段は，前記ホスト状態情報記憶手段に記憶されたプロセス状態情報をもとに，前記データ入出力制御の対象となるプロセスを特定し，前記対象プロセスの優先度と前記ホスト処理装置において現在実行中のプロセスの優先度とを比較し，前記対象プロセスの優先度が前記現在実行中のプロセスの優先度より低い場合に，前記非割り込み処理による通知を選択する
ことを特徴とするデータ入出力装置。
【請求項８】
ホスト処理装置へのデータ入出力制御を行うデータ入出力装置であって，
ホスト状態情報として，ホスト処理装置で実行されるプロセスの優先度を保持するホスト状態情報記憶手段と，
前記ホスト処理装置から前記プロセスの優先度を取得し，前記ホスト状態情報記憶手段へ格納するホスト状態情報取得手段と，
前記ホスト状態情報記憶手段に記憶された前記プロセスの優先度をもとに，前記データ入出力制御のデータの転送先となるプロセスの優先度を取得し，前記転送先プロセスの優先度が高い順にデータ転送制御の順序を決定する最適化手段と，
前記最適化手段により決定された順序にしたがって，データ転送制御を行う転送制御手段とを備える
ことを特徴とするデータ入出力装置。
【請求項９】
コンピュータがホスト処理装置へのデータ入出力制御を行うデータ入出力方法であって，
前記コンピュータが、
前記ホスト処理装置からホスト状態情報を取得し，ホスト処理装置の状態を示すホスト状態情報を保持するホスト状態情報記憶領域へ格納するホスト状態情報取得ステップと，
前記ホスト状態情報記憶領域に記憶されるホスト状態情報にもとづいて，前記割り込み処理または前記非割り込み処理のいずれか１つの処理を選択する最適化ステップと，
前記最適化ステップによって選択された処理を用いて、前記ホスト処理装置への割り込みを行う割り込み処理または前記割り込みを行わない非割り込み処理のいずれか一方の処理によって前記ホスト処理装置へのデータ入出力を通知する入出力通知ステップと，
を実行するデータ入出力方法。
【請求項１０】
前記コンピュータは、更に、
前記ホスト状態情報取得ステップにおいて，前記ホスト状態情報として，少なくともプロセスの優先度を含むプロセス状態情報を前記ホスト処理装置から取得し，前記ホスト状態情報記憶手段へ格納し，
前記最適化ステップにおいて，前記ホスト状態情報記憶手段に記憶されたプロセス状態情報をもとに，前記データ入出力制御の対象となるプロセスを特定し，前記対象プロセスの優先度と前記ホスト処理装置において現在実行中のプロセスの優先度とを比較し，前記対象プロセスの優先度が前記現在実行中のプロセスの優先度より低い場合に，前記非割り込み処理による通知を選択する
ことを特徴とする請求項９記載のデータ入出力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ホスト処理装置とのデータ入出力制御を行うデータ入出力処理技術に関する。本発明は，１Ｇｂｐｓを超えるような高速な入出力制御を必要とするデータ処理システムにおいてホスト処理装置の負荷軽減を図るものであり，ＰＣクラスタ，ストレージシステム，エンタープライズサーバなどの分野に適用できるものである。
【背景技術】
【０００２】
ホスト処理装置（以下，単にホストと呼ぶ）とデータ入出力装置（以下，入出力装置と呼ぶ）との間でデータなどの入出力処理を行う場合に，入出力装置は，通常，ホストのプロセスの状態やＣＰＵ使用率などのホストの状態などを考慮することなくデータ入出力処理を行っている。例えば，入出力処理が発生したときに，ホストのＣＰＵ使用率が非常に高い状態であったとしても，入出力装置は，ホストとの間のデータ入出力処理や割り込み処理を行う。
【０００３】
また，入出力装置は，入出力処理とプロセスとの関係を考慮しないため，優先度が異なるプロセスを転送処理の対象とする複数の入出力処理がある場合でも，どの入出力処理も平等に取り扱う。さらに，入出力処理に対応するプロセスの状態にかかわらず入出力処理を行うため，緊急度の低い入出力処理に対しても割り込み処理によってホストへ通知する。
【０００４】
しかし，近年のＣＰＵの高クロック化に伴うパイプライン段数の増加によって，ホストにおける割り込み処理のコストが増大している。特に，入出力装置の性能向上に伴って割り込み処理の発生回数も増加するため，割り込み処理がホスト全体の性能に対して与える影響は大きくなる傾向にある。
【０００５】
このため，割り込み処理の発生回数を削減させるために用いられる技術としてＩｎｔｅｒｒｕｐｔ  Ｃｏａｌｅｓｃｉｎｇ技術がある。Ｉｎｔｅｒｒｕｐｔ  Ｃｏａｌｅｓｃｉｎｇ技術は，複数の入出力要求に伴う割り込みをまとめて行う手法である。例えば，ｎ回の入出力処理に対し１回の割り込み処理を発生させたり，入出力要求発生から一定時間の割り込み処理の発生を抑制し，その間に発生した入出力処理に対する割り込みを１つにまとめて１回の割り込み処理を発生させたりすることにより，割り込み処理の発生回数を削減する。
【０００６】
また，別の手法として，ホスト側で割り込みをマスク処理する手法が考えられる。例えば，ＣＰＵ使用率が一定の値以上である場合に，ホスト側で割り込みをマスク処理することによってＣＰＵ処理効率を向上させることが可能である。
【０００７】
なお，Ｉｎｔｅｒｒｕｐｔ  Ｃｏａｌｅｓｃｉｎｇ技術に近似する手法として，イベントまたはメッセージを一括して通知することによって割り込み処理のオーバヘッドを軽減する処理手法も知られている（例えば，特許文献１参照）。
【特許文献１】特開２００２−３４２０９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
近年登場した１Ｇｂｐｓを超えるような高速ネットワークを効率的に使用する技術が重要となってきている。特に，ネットワークの高速化に伴い，プロトコル処理，コピー処理，割り込み処理などが増加するため，ホスト側の負荷が増大しているため，ホストの負荷を軽減する処理が要求される。
【０００９】
しかし，従来では，入出力装置はホストの状態を考慮することなく入出力処理を行っていた。例えば，ＣＰＵ使用率が１００％に近い状態であるのに，大量に割り込み処理を発生させたり，即座に入出力処理を行うメリットがないような状況であっても入出力処理を行っていたりした。ホストは，このようなデータ入出力装置からの外乱要因により性能を低下させてしまう。
【００１０】
ホストの負荷軽減のための前記Ｉｎｔｅｒｒｕｐｔ  Ｃｏａｌｅｓｃｉｎｇ技術のように，割り込み処理の発生回数を削減させる場合には，入出力処理の遅延時間が増加するという問題がある。さらに，Ｉｎｔｅｒｒｕｐｔ  Ｃｏａｌｅｓｃｉｎｇ技術では，入出力処理の緊急度は考慮されていないため，入出力処理が結果的に非効率なものとなってしまう場合が生じるという問題がある。
【００１１】
また，ホストにおいて割り込みをマスクする処理は，一般的にコントローラに対する通知を伴うためにホストにとって高負荷の処理であり，ホストのコスト軽減の点からは解決策として採用しにくい。また，割り込みマスク処理では，優先度の高いプロセスに対する割り込みに対してもマスク処理をしてしまうため，優先度の高いプロセスの即応性が低下するという問題がある。
【００１２】
本発明の目的は，入出力処理に伴う割り込み処理の発生によってホスト処理負担が増加することを防止するとともに，入出力処理の即応性を損なわずにホストに対して効率よくデータ入出力処理を行えるデータ入出力装置を提供することである。
【課題を解決するための手段】
【００１３】
上記の問題を解決するために，本発明は，ホストで実行されるプロセスに関する情報やホストの稼動状態などを示すホスト状態情報を保持し，把握したホスト状態情報にもとづいて，入出力データのホストへ転送制御を行うことを特徴とする。
【００１４】
本発明では，入出力通知手段が，ホスト処理装置へのデータ入出力の通知を，ホスト処理装置への割り込みを行う割り込み処理または割り込みを行わない非割り込み処理のいずれか一方の処理によって通知する場合に，ホスト処理装置から取得しホスト状態情報記憶手段へ保持しておいたホスト状態情報にもとづいて，割り込み処理または非割り込み処理のいずれか１つの処理を選択する。そして，入出力通知手段は，最適化手段によって選択された処理を用いてホスト処理装置へデータ入出力を通知する。
【００１５】
ここで，非割り込み処理による通知処理として，例えば，ホスト内に設けられた入出力データの存在を示す所定のフラグへのポーリング処理によって入出力データのホストへの転送処理を通知する処理を行う。
【００１６】
これにより，ホストの状態を把握して，緊急に使用されないようなデータの入出力については，ホストへの割り込み処理を発生させない転送制御を実現でき，割り込み処理によるホストの負荷増大を抑止することができる。
【００１７】
また，本発明のホスト状態情報取得手段は，ホスト状態情報として，少なくともプロセスの優先度を含むプロセス状態情報をホスト処理装置から取得して保持し，最適化手段は，入出力データの転送処理の対象となるプロセス（以下，対象プロセスと呼ぶ）を特定し，対象プロセスの優先度とホスト処理装置において現在実行中のプロセスの優先度とを比較し，対象プロセスの優先度が現在実行中のプロセスの優先度より低い場合に，非割り込み処理による通知を選択する。
【００１８】
または，ホスト状態情報取得手段は，ホスト状態情報として，少なくともプロセスの状態をＲｕｎ，Ｒｅａｄｙ，Ｗａｉｔの各状態によって示す情報を含むプロセス状態情報をホスト処理装置から取得し保持し，最適化手段は，特定された対象プロセスのプロセス状態がＲｅａｄｙ状態である場合に非割り込み処理による通知を選択する。
【００１９】
または，ホスト状態情報取得手段は，ホスト状態情報として，少なくとも，プロセスの状態をＲｕｎ，Ｒｅａｄｙ，Ｗａｉｔの各状態によって示す情報およびプロセスの優先度を含むプロセス状態情報を前記ホスト処理装置から取得し保持し，最適化手段は，特定された対象プロセスのプロセス状態がＷａｉｔ状態である場合に，対象プロセスの優先度とホスト処理装置において現在実行中のプロセスの優先度とを比較し，対象プロセスの優先度が現在実行中のプロセスの優先度より低いときに非割り込み処理による通知を選択する。
【００２０】
または，ホスト状態情報取得手段は，ホスト処理装置のＣＰＵ使用率を取得し保持し，最適化手段は，ホスト状態情報記憶手段のＣＰＵ使用率が所定値以下である場合に非割り込み処理による通知を選択する。
【００２１】
これにより，ホストで実行中のプロセスの状態や優先順位，ホスト自身の負荷状態などを判断して，入出力データがすぐに使用される可能性がない場合やホストの負荷が高い場合には，例えばポーリング処理による通知を選択することができるため，データ入出力制御に伴うホストの負荷を軽減することができる。また，入出力データがすぐに必要とされる場合やホストの負荷が低い場合には通常どおりの割り込み処理による通知を選択することができるため，プロセスの応答性を維持することができる。よって，ホストの負荷状態およびデータ入出力の即応性を損なわずに効率的なデータ入出力装置を実現する。
【００２２】
さらに，本発明では，ホストまたはデータ入出力装置のいずれもが，データ入出力装置に保持されるホスト状態情報を取得することができる。
【００２３】
特に，データ入出力装置がホスト状態情報を収集する場合に，ホストが備えるメモリ一貫性保持機能を利用して，効率的かつ低コストでホスト状態情報を収集できることを特徴とする。
【００２４】
本発明のホスト状態情報取得手段は，ホストの記憶領域に予め設定された状態更新開始フラグ領域および状態更新終了フラグ領域の更新される場合にホストのメモリ一貫性保持機能により発信される更新に伴う領域無効化信号（Ｉｎｖａｌｉｄ通知）を検出する。そしてこの領域無効化信号の検出によって，ホストにおけるプロセス状態情報更新の監視を開始し，更新されるプロセス状態情報領域をリストし，リストしたプロセス状態情報領域のアドレス情報を記録する。その後，状態更新終了フラグ領域の更新に伴う領域無効化信号を検出した場合に，プロセス状態情報更新の監視を終了する。そして，状態情報収集手段は，状態情報更新検出手段によって記憶されたアドレス情報にもとづいて，更新されたプロセス状態情報領域からプロセス状態情報を収集する。
【００２５】
これにより，入出力装置は，ホストからプロセス状態情報を収集する場合に，状態更新開始フラグと状態更新終了フラグとの書き換えによって発せられる領域無効化信号を利用してプロセス状態情報の更新の有無を判断することができ，プロセス状態情報の更新が行われる期間だけプロセス状態情報の更新を監視するだけでよく，プロセス状態情報の収集処理を低コストかつ効率的に行うことができる。
【００２６】
さらに，本発明は，ホストが，プロセス状態情報などのホスト状態情報の収集・更新処理を，ホストの過負荷またはホストと入力処理装置との負荷比較によって，負荷が低い装置を作業主体として選択し，選択した作業主体を入出力装置へ通知することを特徴とする。
【００２７】
本発明の更新作業主体設定部は，ホストによって設定された作業主体の通知にしたがって，ホスト状態情報の収集・更新処理の作業主体として，入出力装置またはホストいずれか一方を更新作業主体記憶手段に設定し，ホスト状態情報取得手段は，更新作業主体記憶手段に入出力装置が設定されている場合にホスト処理装置からホスト状態情報を収集し，更新作業主体記憶手段にホスト設定されている場合にホストから送信された前記ホスト状態情報を受信する。
【００２８】
これによって，例えばホストが自装置が過負荷状態であると判断した場合などに，ホスト状態情報の収集を入出力装置側で行えるようにすることができる。
【００２９】
さらに，本発明の更新作業主体設定手段は，ホストの記憶領域に設定された更新作業主体変更フラグ領域に対する更新に伴う領域無効化信号を検出し，状態更新作業主体記憶手段の設定を切り替える。
【００３０】
これによって，ホスト状態情報の収集・更新処理の作業主体の切り替え通知を，低コストで行うことができる。
【００３１】
また，本発明は，ホスト状態情報として，ホストで実行されるプロセスの優先度を取得し保持し，最適化処理は，ホスト状態情報記憶手段に記憶されたプロセスの優先度をもとに，データ入出力制御のデータの転送先となるプロセスの優先度を取得し，転送先プロセスの優先度が高い順にデータ転送制御の順序を決定する。そして，転送制御手段は，最適化手段により決定された順序にしたがって，データ転送制御を行う。
【００３２】
これによって，プロセスの優先度にしたがって，緊急度の高い入出力データからデータ転送を行うことができる。
【００３３】
また、本発明は，コンピュータにホスト処理装置へのデータ入出力制御を行わせるプログラムであって，上述する各処理手段によって実施される技術を前記コンピュータに実行させるものである。本発明を実現するプログラムは，コンピュータが読み取り可能な，可搬媒体メモリ，半導体メモリ，ハードディスクなどの適当な記録媒体に格納することができ，これらの記録媒体に記録して提供され，または，通信インタフェースを介して種々の通信網を利用した入出力により提供されるものである。
【発明の効果】
【００３４】
以上のように，本発明によれば，ホストの稼動状態やホストで実行されるプロセスの状態や優先度と，転送する入出力データとの関係をもとに，データ入出力処理の通知方法を選択することができ，ホストの負荷を抑制しつつプロセスへの応答性を損なわない転送制御を行うデータ入出力装置を提供することができる。
【００３５】
また，本発明によれば，ホスト状態情報としてプロセス状態情報を収集する場合に，ホストが備えるメモリ一貫性保持機能を利用してプロセス状態情報の更新期間を特定して情報の収集・更新を行うことができるため，低コストでデータ入出力装置を提供することができる。
【００３６】
また，本発明によれば，ホストとデータ入出力装置との負荷の程度を判断して，ホスト状態情報の収集を行う作業主体を選択することができるため，コストを分散してデータ入出力装置を提供することができる。
【００３７】
また，本発明によれば，ホストで実行されるプロセスの優先度にしたがって，入出力データの転送処理順序を決定することができるため，より緊急度の高いデータ転送を先に行ってプロセスへの即応性をより向上させたデータ入出力装置を提供することができる。
【発明を実施するための最良の形態】
【００３８】
図１は，本発明の原理を説明するための図である。
【００３９】
本発明にかかる入出力装置１は，ホスト２の状態を示す情報として，ホスト２で実行されるプロセスの状態情報，優先度，ホスト２のＣＰＵ使用率などのホスト状態情報を取得して装置内に保持しておく。そして，例えば，ホスト２への入出力データの転送制御を行うと（ステップＳ１），その入出力データの情報（入出力情報）および保持しているホストの状態情報を参照して，ホスト２で実行されるプロセスの優先度やホスト２の稼動状態をもとに，割り込み処理を発生させて転送処理を通知するか，または割り込みを発生させずに別の処理（非割り込み処理）によって転送処理を通知するか，いずれかの処理による通知を選択する最適化制御を行う（ステップＳ２）。
【００４０】
そして，割り込み処理による通知を選択した場合に，入出力データをホスト２へ転送する転送制御を行い（ステップＳ３），転送処理を割り込み処理によってホスト２へ通知する通知制御を行う（ステップＳ４）。一方，非割り込み処理による通知を選択した場合に，入出力データをホスト２へ転送する転送制御を行い（ステップＳ３），非割り込み処理によってホスト２へ通知する通知制御を行う。例えば，ホスト２内の入出力データの存在を示す所定のフラグに対するポーリング処理によって通知とする（ステップＳ４）。
【００４１】
図２は，本発明の実施例におけるデータ処理システムの構成例を示す図である。本例では，入出力装置１は，ネットワークを介したデータの入出力制御を行うネットワークインターフェースカード（ＮＩＣ）とする。
【００４２】
ホスト２は，ＣＰＵ２１，キャッシュメモリ２２，メモリコントローラ２３，メモリ２４を備える。ホスト２は，一般的なサーバ装置としての標準的な構成である。ホスト２のキャッシュメモリ２２およびメモリ２４上にはホスト状態情報が保持される。
【００４３】
本例では，ホスト状態情報として，ホスト２で実行される各プロセスｐ１，ｐ２，ｐ３のプロセスの状態をＲｕｎ，Ｒｅａｄｙ，Ｗａｉｔの各状態および優先度を含むプロセス状態情報を使用する。
【００４４】
図３は，本発明の実施例でプロセス状態情報として使用されるプロセスの状態を説明するための図である。プロセスは，図３に示す３つの状態のいずれかに該当し，状態を遷移させていく。
【００４５】
Ｒｕｎ状態とは，現在のＣＰＵ２１の割り当てを受けて，実際にＣＰＵ処理を行っている状態（走行中）を表す。Ｒｕｎ状態のプロセスは，タイムスライス，プリエンプションによりＣＰＵ２１の割り当て対象でなくなった場合に，Ｒｅａｄｙ状態へ遷移する。また，入出力（Ｉ／Ｏ）完了や通信完了，同期処理などの事象を待つ必要が生じた場合に，Ｗａｉｔ状態へ遷移する。
【００４６】
Ｒｅａｄｙ状態とは，現時点ではＣＰＵ２１の割り当て対象とはなっていないものの，入出力完了などの事象を待っている状態ではなく，割り当てによって即時に走行可能である状態を表す。Ｒｅａｄｙ状態のプロセスは，タイムスライス，プリエンプションによりＣＰＵ２１の割り当て対象となった場合に，Ｒｕｎ状態へ遷移する。
【００４７】
Ｗａｉｔ状態とは，入出力完了などの事象を待っている状態であり，すぐにはＣＰＵ２１の割り当て対象となって処理を実行することができない状態を表す。Ｗａｉｔ状態のプロセスは，入出力完了などの事象が発生した場合には，他のプロセスとの優先関係によってＲｕｎ状態またはＲｅａｄｙ状態のいずれかへ遷移する。
【００４８】
なお，プロセス状態の管理は，ホスト２のオペレーティングシステム（ＯＳ）によって若干の差異はあるが，マルチタスク管理を実現可能なＯＳにおいては，各プロセスをＲｕｎ，Ｒｅａｄｙ，Ｗａｉｔの３つの状態に相当する状態で表して，これらの状態間を遷移しながらプロセスを管理している。
【００４９】
プロセスの優先度は，ホスト２においてプロセスが走行する優先順位を表す数値である。Ｒｅａｄｙ状態のプロセスの中で最高優先度を持つプロセスが次のＲｕｎ状態となるプロセスとして選択される。なお，優先度は再計算されることがある。
【００５０】
図４は，本発明の入出力装置１およびホスト２の構成例を示す図である。入出力装置１は，パケット送受信部１１，パケット判定部１２，ホスト状態情報管理部１３，最適化部１４，転送制御部１５，通知制御部１６，および入出力装置負荷算出部１７を備える。
【００５１】
パケット送受信部１１は，ネットワークに対するパケットの送受信処理を行う処理手段である。
【００５２】
パケット判定部１２は，パケット送受信部１１によって送受信処理されるパケットのヘッダ部を参照し，そのパケットがどのプロセスに対するパケットであるかを判別する処理手段である。送受信されたデータパケットの転送対象となるプロセスを，対象プロセスと呼ぶ。
【００５３】
ホスト状態情報管理部１３は，ホスト２のメモリ２４上に保持されるホスト状態情報を取得し保持する処理手段である。
【００５４】
最適化部１４は，パケット判定部１２からパケットの対象プロセスを取得し，ホスト状態情報管理部１３から，現在のホスト２のプロセス状態情報を取得して，入出力データの転送処理を割り込み処理による通知，または非割り込み処理による通知（ポーリングによる通知）のいずれか１つの処理を選択し，通知制御部１６に対して選択結果（割り込みまたはポーリング）を指示する処理手段である。
【００５５】
転送制御部１５は，入出力装置１とホスト２との間でパケットの転送処理を行う処理手段である。
【００５６】
通知制御部１６は，転送制御部１５の転送処理の通知を，最適化部１４の選択にしたがって割り込み処理またはポーリング処理のいずれかの処理によってホスト２へ通知する処理手段である。
【００５７】
入出力装置負荷算出部１７は，入出力制御における単位時間当たりのパケット数，データ転送率などを用いて入出力装置１自身の負荷を算出し，ホスト２へ通知する処理手段である。
【００５８】
ホスト２は，状態更新開始・終了通知部２５，更新主体判別部２７，および更新主体変更通知部２９を備える。
【００５９】
状態更新開始・終了通知部２５は，入出力装置１にプロセス状態情報を収集・更新させるために，メモリ２４の所定の領域に状態更新開始フラグ領域と状態更新終了フラグ領域とを設定し，プロセス状態情報の更新を開始するときに状態更新開始フラグ領域を書き換え，プロセス状態情報の更新を終了するときに状態更新終了フラグ領域を書き換えることによって，プロセス状態情報の更新の開始および終了を通知する処理手段である。
【００６０】
更新主体判別部２７は，ＣＰＵ２１の負荷情報と入出力装置負荷算出部１７によって算出された入出力装置１の負荷情報とを比較して，プロセス状態情報の収集・更新処理の作業主体を決定する処理手段である。
【００６１】
更新主体変更通知部２９は，更新主体判別部２７によって決定されたプロセス状態情報の収集・更新処理の作業主体がホスト２または入出力装置１であるかを入出力装置１へ通知する処理手段である。
【００６２】
次に，転送通知の最適化処理を，より詳細に説明する。
【００６３】
図５に示すように，入出力装置１のホスト状態情報管理部１３は，ホスト２からプロセス状態情報（プロセス状態，優先度）を取得して保持する。最適化部１４は，パケット判定部１２において判別された入出力データの対象プロセスと，ホスト状態情報管理部１３が保持するプロセス状態と優先度をもとに，転送処理の通知を割り込み処理によって通知するか，ポーリング処理によって通知するかを決定する。最適化部１４は，対象プロセスが，データ転送によって直ちにプロセスがＲｕｎ状態に遷移するような状態である場合には，割り込み処理による通知を選択する。それ以外の場合には，ポーリング処理による通知を選択する。通知制御部１６は，最適化部１４の選択に従って，ＣＰＵ２１に対し，割り込みまたはポーリングを行う。
【００６４】
または，図６に示すように，ホスト状態情報管理部１３は，ホスト２から，プロセスの優先度を取得して保持する。最適化部１４は，対象プロセスが高優先度であって，データ転送によって直ちにプロセスがＲｕｎ状態に遷移するような場合には，割り込み処理による通知を選択する。それ以外の場合には，ポーリング処理による通知を選択する。
【００６５】
または，図７に示すように，ホスト状態情報管理部１３は，ホスト２から，ＣＰＵ２１のＣＰＵ使用率を取得して保持する。最適化部１４は，ＣＰＵ使用率が所定値より低い場合には，割り込み処理による通知を選択する。ＣＰＵ使用率が所定値より高い場合には，ポーリング処理による通知を選択する。
【００６６】
図８は，転送処理の通知の最適化処理フローの例を示す図である。転送処理の通知の最適化処理の前に，ホスト状態情報管理部１３は，状態情報保持部１３５に，ホスト２で実行されるプロセスのプロセス状態情報およびプロセスの優先度を保持しているものとする。
【００６７】
最適化部１４は，パケット判定部１２によって判別された，入出力処理されたデータ（パケット）から転送処理の対象プロセスを特定し（ステップＳ１０），ホスト状態情報管理部１３から対象プロセスのプロセス状態情報を取得する（ステップＳ１１）。そして，対象プロセスの状態がＲｕｎ状態であれば（ステップＳ１２），割り込み処理を選択して，通知制御部１６によって割り込み処理を発生させる（ステップＳ１３）。対象プロセスがＲｕｎ状態であれば，即座に転送されるパケットが必要となる可能性があるからである。
【００６８】
また，対象プロセスの状態が，Ｒｅａｄｙ状態であれば（ステップＳ１２），割り込み処理を発生させずに，ポーリング処理を行う（ステップＳ１４）。対象プロセスは，パケットを受信したところで，それを契機に優先度が高くなってＲｕｎ状態へ遷移する可能性はないからである。
【００６９】
また，対象プロセスの状態がＷａｉｔ状態であれば（ステップＳ１２），ホスト状態情報管理部１３から，対象プロセスとホスト２で現在走行中（Ｒｕｎ状態）のプロセスの優先度を取得し（ステップＳ１５），優先度を比較する（ステップＳ１６）。対象プロセスの優先度が高い場合には（ステップＳ１６のＹＥＳ），割り込み処理を発生させる（ステップＳ１７）。対象プロセスの優先度がＲｕｎ状態のプロセスより高いので，パケットの受信によって，対象プロセスがＷａｉｔ状態からＲｕｎ状態へ遷移する可能性があるからである。一方，対象プロセスの優先度が高くない場合には（ステップＳ１６のＮＯ），ポーリング処理を行う（ステップＳ１４）。Ｒｕｎ状態のプロセスの優先度が対象プロセスより高いので，パケットの受信によっても対象プロセスがＷａｉｔ状態からＲｕｎ状態へ遷移する可能性はないからである。
【００７０】
また，最適化部１４は，入出力データの転送処理において，転送処理順序を最適化する。最適化部１４は，プロセス状態情報を参照して，プロセスの優先度が高いデータの転送制御を転送制御部１５に指示する。転送制御部１５は，図９に示すように，転送処理する入出力データの対象プロセスの優先度が高い順に，対応する入出力データをメモリ２４へ転送する。
【００７１】
次に，ホスト状態情報の収集・更新処理を，より詳細に説明する。
【００７２】
図１０は，ホスト状態情報管理部１３の処理手段の構成例を示す図である。ホスト状態情報管理部１３は，状態更新検出部１３１，状態情報収集部１３３，状態情報保持部１３５，および更新主体確認部１３７を備える。
【００７３】
状態更新検出部１３１は，状態更新開始・終了通知部２５からの更新開始または更新終了の通知によって，プロセス状態情報の更新を検出する処理手段である。
【００７４】
状態情報収集部１３３は，状態更新検出部１３１によって検出された，更新されたプロセス状態情報のアドレス情報にもとづいて，更新されたプロセス状態情報を収集し，状態情報保持部１３５へ格納する手段である。また，状態情報収集部１３３は，ホスト２からホスト状態情報を受信して状態情報保持部１３５へ格納する。なお，状態情報保持部１３５に格納されるプロセス状態情報は，最適化部１４によって参照される。
【００７５】
更新主体確認部１３７は，更新主体変更通知部２９から通知されたプロセス状態情報の収集・更新処理の作業主体の設定に従って，更新主体が入出力装置１である場合に，状態更新検出部１３１を起動させる処理手段である。
【００７６】
ホスト状態情報として使用するプロセス状態，プロセス優先度，ＣＰＵ使用率などは，ホストのメモリ２４上やキャッシュメモリ２２上に格納される。これらの情報は変化し，メモリ２４上に格納されているプロセス状態情報はＣＰＵ２１によって更新される。入出力装置１のホスト状態情報管理部１３もホスト状態情報を保持しているため，ＣＰＵ２１がホスト状態情報を更新する際には，入出力装置１が保持するホスト状態情報も更新する必要がある。
【００７７】
したがって，ＣＰＵ２１がホスト２のメモリ２４上のホスト状態情報を更新する場合に，同時に入出力装置１の状態情報保持部１３５のホスト状態情報を更新する。もしくは，入出力装置１のホスト状態情報管理部１３で，ホスト２のホスト状態情報の更新を検出し，ホスト２のメモリ２４上の更新されたホスト状態情報を参照して，入出力装置１内に保持するホスト状態情報を更新する。
【００７８】
ホスト状態情報として使用するプロセス状態情報はメモリ２４上で分散して格納されるため，プロセス状態情報の更新を効率的に検出する必要がある。そこで，プロセス状態情報の更新に，メモリコントローラ２３のキャッシュ一貫性保持機能を利用する。
【００７９】
図１１は，キャッシュ一貫性保持機能を利用したプロセス状態情報の更新検出処理を説明するための図である。
（ａ）状態更新開始・終了設定部２５が走行するＣＰＵ２１は，プロセス状態情報の更新を開始するために，キャッシュメモリ２２の状態更新開始フラグ領域に対して書き込みを行う。メモリコントローラ２３は，メモリ２４の該当領域の無効化信号（Ｉｎｖａｌｉｄ通知）を発行する。
（ｂ）ホスト状態情報管理部１３の状態更新検出部１３１は，状態更新開始フラグ領域を監視し，状態更新開始フラグ領域の更新による無効化信号を検出すると，プロセス状態情報の更新の監視を開始する。
（ｃ）ＣＰＵ２１によってプロセス状態情報が更新される。
（ｄ）状態更新検出部１３１は，すべてのＣＰＵ２１による無効化信号を検出して，更新されるプロセス状態情報領域をリストし，リストに記憶したプロセス状態情報領域のアドレス情報を記録する。
（ｅ）状態更新開始・終了設定部２５が走行するＣＰＵ２１は，プロセス状態情報の更新を終了するために，キャッシュメモリ２２の状態更新終了フラグ領域に対して書き込みを行う。メモリコントローラ２３は，メモリ２４の該当領域の無効化信号（Ｉｎｖａｌｉｄ通知）を発行する。
（ｆ）状態更新検出部１３１は，状態更新終了フラグ領域を監視し，状態更新終了フラグ領域の更新による無効化信号を検出すると，プロセス状態情報更新の監視を終了する。
（ｇ）状態情報収集部１３３は，状態更新検出部１３１が記録したアドレス情報をもとにメモリ２４の更新されたプロセス状態情報を収集し，状態情報保持部１３５へ格納する。
【００８０】
このように，２つの特定のフラグ領域を監視することによって，プロセス状態情報の更新の開始と終了を特定し，更新されたプロセス状態情報をまとめて収集することができるため，ホスト状態情報の収集を効率的に行うことができる。
【００８１】
ホスト状態情報の更新処理は，ホスト２，入出力装置１のいずれにとっても負荷が高い処理である。そこで，ホスト２と入出力装置１の負荷状態を比較し，より低い側で処理する。
【００８２】
ホスト２の更新主体判別部２７は，ホスト２のＣＰＵ使用率，および入出力装置１の単位時間当たりの処理パケット数やデータ転送率などを取得し，ホスト２と入出力装置１との負荷状態を比較して，より低い負荷の側を更新処理の作業主体として決定する。更新主体変更通知部２９は，更新主体判別部２７の決定を入出力装置１へ通知する。
【００８３】
ここで，更新処理の作業主体の変更を低コストかつ効率よく入出力装置１へ通知するため，メモリコントローラ２３のメモリ一貫性保持機能を利用する。
【００８４】
図１２は，キャッシュ一貫性保持機能を利用した更新処理の作業主体の変更通知処理を説明するための図である。
（ｓ）更新主体変更通知部２９が走行するＣＰＵ２１は，更新処理の作業主体を変更する場合に，キャッシュメモリ２２の更新作業主体変更フラグ領域に対して書き込みを行う。メモリコントローラ２３は，メモリ２４の該当領域の無効化信号（Ｉｎｖａｌｉｄ通知）を発行する。
（ｔ）更新主体確認部１３７は，更新作業主体変更フラグ領域を監視し，更新作業主体変更フラグ領域の更新による無効化信号を検出する。
（ｕ）すると，更新主体確認部１３７は，更新作業主体フラグ領域を更新する。更新作業主体フラグ領域は，ホスト２と入出力装置１との２つの作業主体をトグル状態で設定する領域である。
【００８５】
このように，メモリ２４上の更新作業主体変更フラグ領域の書き換えに伴う無効化信号の検出だけで，更新処理の作業主体の変更を，低コストで行うことができる。
【００８６】
以上、本発明をその実施の形態により説明したが、本発明はその主旨の範囲において種々の変形が可能であることは当然である。
本発明の形態および実施例の特徴を列記すると以下のとおりである。
【００８７】
（付記１）  コンピュータにホスト処理装置へのデータ入出力制御を行わせるデータ入出力プログラムであって，
前記コンピュータに、
前記ホスト処理装置からホスト状態情報を取得し，ホスト処理装置の状態を示すホスト状態情報を保持するホスト状態情報記憶領域へ格納するホスト状態情報取得ステップと，
前記ホスト状態情報記憶領域に記憶されるホスト状態情報にもとづいて，前記割り込み処理または前記非割り込み処理のいずれか１つの処理を選択する最適化ステップと，
前記最適化ステップによって選択された処理を用いて、前記ホスト処理装置への割り込みを行う割り込み処理または前記割り込みを行わない非割り込み処理のいずれか一方の処理によって前記ホスト処理装置へのデータ入出力を通知する入出力通知ステップと，
を実行させるデータ入出力プログラム。
【００８８】
（付記２）前記コンピュータに、さらに、
前記ホスト状態情報取得ステップにおいて，前記ホスト状態情報として，少なくともプロセスの優先度を含むプロセス状態情報を前記ホスト処理装置から取得し，前記ホスト状態情報記憶手段へ格納し，
前記最適化ステップにおいて，前記ホスト状態情報記憶手段に記憶されたプロセス状態情報をもとに，前記データ入出力制御の対象となるプロセスを特定し，前記対象プロセスの優先度と前記ホスト処理装置において現在実行中のプロセスの優先度とを比較し，前記対象プロセスの優先度が前記現在実行中のプロセスの優先度より低い場合に，前記非割り込み処理による通知を選択する
処理を実行させる付記１記載のデータ入出力プログラム。
【００８９】
（付記３）前記コンピュータに、さらに
前記ホスト状態情報取得ステップにおいて，前記ホスト状態情報として，少なくともプロセスの状態をＲｕｎ，Ｒｅａｄｙ，Ｗａｉｔの各状態によって示す情報を含むプロセス状態情報を前記ホスト処理装置から取得し，前記ホスト状態情報記憶手段へ格納し，
前記最適化ステップにおいて，前記ホスト状態情報記憶手段のプロセス状態情報をもとに，前記データ入出力制御の対象となるプロセスを特定し，前記対象プロセスのプロセス状態がＲｅａｄｙ状態である場合に前記非割り込み処理による通知を選択する
処理を実行させることを特徴とする付記１記載のデータ入出力プログラム。
【００９０】
（付記４）前記コンピュータに、さらに
前記ホスト状態情報取得ステップにおいて，前記ホスト状態情報として，少なくとも，プロセスの状態をＲｕｎ，Ｒｅａｄｙ，Ｗａｉｔの各状態によって示す情報およびプロセスの優先度を含むプロセス状態情報を前記ホスト処理装置から取得し，前記ホスト状態情報記憶手段へ格納し，
前記最適化ステップにおいて，前記ホスト状態情報記憶手段のプロセス状態情報をもとに，前記データ入出力制御の対象となるプロセスを特定し，前記対象プロセスのプロセス状態がＷａｉｔ状態である場合に，前記対象プロセスの優先度と前記ホスト処理装置において現在実行中のプロセスの優先度とを比較し，前記対象プロセスの優先度が前記現在実行中のプロセスの優先度より低いときに前記非割り込み処理による通知を選択する
処理を実行させる付記１記載のデータ入出力プログラム。
【００９１】
（付記５）前記コンピュータに、さらに
前記ホスト状態情報取得ステップにおいて，前記ホスト処理装置のＣＰＵ使用率を取得し，前記ホスト状態情報記憶手段へ格納し，
前記最適化ステップにおいて，前記ホスト状態情報記憶手段のＣＰＵ使用率が所定値以下である場合に前記非割り込み処理による通知を選択する
処理を実行させることを特徴とする付記１記載のデータ入出力プログラム。
【００９２】
（付記６）  ホスト処理装置へのデータ入出力制御を行うデータ入出力装置であって，
ホスト処理装置の状態を示すホスト状態情報を保持するホスト状態情報記憶手段と，
前記ホスト処理装置へのデータ入出力の通知を，前記ホスト処理装置への割り込みを行う割り込み処理または前記割り込みを行わない非割り込み処理のいずれか一方の処理によって通知する入出力通知手段と，
前記ホスト処理装置からホスト状態情報を取得し，前記ホスト状態情報記憶手段へ格納するホスト状態情報取得手段と，
前記ホスト状態情報にもとづいて，前記割り込み処理または前記非割り込み処理のいずれか１つの処理を選択する最適化手段とを備え，
前記入出力通知手段は，前記最適化手段によって選択された処理を用いて前記ホスト処理装置へデータ入出力を通知する
ことを特徴とするデータ入出力装置。
【００９３】
（付記７）  前記付記６記載のデータ入出力装置において，
前記ホスト状態情報取得手段は，前記ホスト状態情報として，少なくともプロセスの優先度を含むプロセス状態情報を前記ホスト処理装置から取得し，前記ホスト状態情報記憶手段へ格納し，
前記最適化手段は，前記ホスト状態情報記憶手段に記憶されたプロセス状態情報をもとに，前記データ入出力制御の対象となるプロセスを特定し，前記対象プロセスの優先度と前記ホスト処理装置において現在実行中のプロセスの優先度とを比較し，前記対象プロセスの優先度が前記現在実行中のプロセスの優先度より低い場合に，前記非割り込み処理による通知を選択する
ことを特徴とするデータ入出力装置。
【００９４】
（付記８）  前記付記６記載のデータ入出力装置において，
前記ホスト状態情報取得手段は，前記ホスト状態情報として，少なくともプロセスの状態をＲｕｎ，Ｒｅａｄｙ，Ｗａｉｔの各状態によって示す情報を含むプロセス状態情報を前記ホスト処理装置から取得し，前記ホスト状態情報記憶手段へ格納し，
前記最適化手段は，前記ホスト状態情報記憶手段のプロセス状態情報をもとに，前記データ入出力制御の対象となるプロセスを特定し，前記対象プロセスのプロセス状態がＲｅａｄｙ状態である場合に前記非割り込み処理による通知を選択する
ことを特徴とするデータ入出力装置。
【００９５】
（付記９）  前記付記６記載のデータ入出力装置において，
前記ホスト状態情報取得手段は，前記ホスト状態情報として，少なくとも，プロセスの状態をＲｕｎ，Ｒｅａｄｙ，Ｗａｉｔの各状態によって示す情報およびプロセスの優先度を含むプロセス状態情報を前記ホスト処理装置から取得し，前記ホスト状態情報記憶手段へ格納し，
前記最適化手段は，前記ホスト状態情報記憶手段のプロセス状態情報をもとに，前記データ入出力制御の対象となるプロセスを特定し，前記対象プロセスのプロセス状態がＷａｉｔ状態である場合に，前記対象プロセスの優先度と前記ホスト処理装置において現在実行中のプロセスの優先度とを比較し，前記対象プロセスの優先度が前記現在実行中のプロセスの優先度より低いときに前記非割り込み処理による通知を選択する
ことを特徴とするデータ入出力装置。
【００９６】
（付記１０）  前記付記６記載のデータ入出力装置において，
前記ホスト状態情報取得手段は，前記ホスト処理装置のＣＰＵ使用率を取得し，前記ホスト状態情報記憶手段へ格納し，
前記最適化手段は，前記ホスト状態情報記憶手段のＣＰＵ使用率が所定値以下である場合に前記非割り込み処理による通知を選択する
ことを特徴とするデータ入出力装置。
【００９７】
（付記１１）  ホスト処理装置へのデータ入出力制御を行うデータ入出力装置であって，
ホスト状態情報として，ホスト処理装置で実行されるプロセスの優先度を保持するホスト状態情報記憶手段と，
前記ホスト処理装置から前記プロセスの優先度を取得し，前記ホスト状態情報記憶手段へ格納するホスト状態情報取得手段と，
前記ホスト状態情報記憶手段に記憶された前記プロセスの優先度をもとに，前記データ入出力制御のデータの転送先となるプロセスの優先度を取得し，前記転送先プロセスの優先度が高い順にデータ転送制御の順序を決定する最適化手段と，
前記最適化手段により決定された順序にしたがって，データ転送制御を行う転送制御手段とを備える
ことを特徴とするデータ入出力装置。
【００９８】
（付記１２）  ホスト処理装置と，前記ホスト処理装置へ入出力制御にかかるデータの転送処理の通知として前記ホスト処理装置へ割り込みを行う割り込み処理または前記割り込みを行わない非割り込み処理のいずれか一方の処理によって通知を行うデータ入出力装置とによって構成されるデータ処理システムであって，
前記データ入出力装置は，
前記ホスト処理装置から，前記ホスト処理装置の状態を示すホスト状態情報を取得し，ホスト状態情報記憶手段へ格納するホスト状態情報取得手段と，
前記ホスト状態情報にもとづいて，割り込み処理または非割り込み処理のいずれか一つの処理を選択する最適化手段と，
前記最適化手段によって選択された処理を用いて前記ホスト処理装置へデータ転送を通知する入出力通知手段とを備える
ことを特徴とするデータ処理システム。
【００９９】
（付記１３）  前記付記１２記載のデータ処理システムにおいて，
前記ホスト処理装置は，
前記ホスト状態情報記憶手段のホスト状態情報の収集・更新処理が，前記データ入出力装置または当該ホスト処理装置のいずれか一方が作業主体となって行われる場合に，前記作業主体として，前記データ入出力装置または当該ホスト処理装置のいずれか一方に設定して，前記データ入出力装置へ通知する更新作業主体通知手段を備え，
前記データ入出力装置は，
前記ホスト処理装置から通知された前記作業主体として，前記ホスト処理装置または当該データ入出力装置のいずれか一方を格納する更新作業主体記憶手段と，
前記ホスト処理装置によって設定された前記作業主体にしたがって，前記更新作業主体記憶手段の前記作業主体を設定する更新作業主体設定手段とを備えて，
前記ホスト状態情報取得手段は，前記更新作業主体記憶手段に当該データ入出力装置が設定されている場合に前記ホスト処理装置から前記ホスト状態情報を収集し，前記更新作業主体記憶手段に前記ホスト処理装置が設定されている場合に前記ホスト処理装置から送信された前記ホスト状態情報を受信する
ことを特徴とするデータ処理システム。
【０１００】
（付記１４）  コンピュータがホスト処理装置へのデータ入出力制御を行うデータ入出力方法であって，
前記コンピュータが、
前記ホスト処理装置からホスト状態情報を取得し，ホスト処理装置の状態を示すホスト状態情報を保持するホスト状態情報記憶領域へ格納するホスト状態情報取得ステップと，
前記ホスト状態情報記憶領域に記憶されるホスト状態情報にもとづいて，前記割り込み処理または前記非割り込み処理のいずれか１つの処理を選択する最適化ステップと，
前記最適化ステップによって選択された処理を用いて、前記ホスト処理装置への割り込みを行う割り込み処理または前記割り込みを行わない非割り込み処理のいずれか一方の処理によって前記ホスト処理装置へのデータ入出力を通知する入出力通知ステップと，
を実行するデータ入出力方法。
【０１０１】
（付記１５）前記コンピュータは、さらに、
前記ホスト状態情報取得ステップにおいて，前記ホスト状態情報として，少なくともプロセスの優先度を含むプロセス状態情報を前記ホスト処理装置から取得し，前記ホスト状態情報記憶手段へ格納し，
前記最適化ステップにおいて，前記ホスト状態情報記憶手段に記憶されたプロセス状態情報をもとに，前記データ入出力制御の対象となるプロセスを特定し，前記対象プロセスの優先度と前記ホスト処理装置において現在実行中のプロセスの優先度とを比較し，前記対象プロセスの優先度が前記現在実行中のプロセスの優先度より低い場合に，前記非割り込み処理による通知を選択する
ことを特徴とする付記１４記載のデータ入出力方法。
【０１０２】
（付記１６）前記コンピュータは、さらに
前記ホスト状態情報取得ステップにおいて，前記ホスト状態情報として，少なくともプロセスの状態をＲｕｎ，Ｒｅａｄｙ，Ｗａｉｔの各状態によって示す情報を含むプロセス状態情報を前記ホスト処理装置から取得し，前記ホスト状態情報記憶手段へ格納し，
前記最適化ステップにおいて，前記ホスト状態情報記憶手段のプロセス状態情報をもとに，前記データ入出力制御の対象となるプロセスを特定し，前記対象プロセスのプロセス状態がＲｅａｄｙ状態である場合に前記非割り込み処理による通知を選択する
ことを特徴とする付記1４記載のデータ入出力方法。
【０１０３】
（付記１７）前記コンピュータは、さらに
前記ホスト状態情報取得ステップにおいて，前記ホスト状態情報として，少なくとも，プロセスの状態をＲｕｎ，Ｒｅａｄｙ，Ｗａｉｔの各状態によって示す情報およびプロセスの優先度を含むプロセス状態情報を前記ホスト処理装置から取得し，前記ホスト状態情報記憶手段へ格納し，
前記最適化ステップにおいて，前記ホスト状態情報記憶手段のプロセス状態情報をもとに，前記データ入出力制御の対象となるプロセスを特定し，前記対象プロセスのプロセス状態がＷａｉｔ状態である場合に，前記対象プロセスの優先度と前記ホスト処理装置において現在実行中のプロセスの優先度とを比較し，前記対象プロセスの優先度が前記現在実行中のプロセスの優先度より低いときに前記非割り込み処理による通知を選択する
ことを特徴とする付記1４記載のデータ入出力方法。
【０１０４】
（付記１８）前記コンピュータは、さらに
前記ホスト状態情報取得ステップにおいて，前記ホスト処理装置のＣＰＵ使用率を取得し，前記ホスト状態情報記憶手段へ格納し，
前記最適化ステップにおいて，前記ホスト状態情報記憶手段のＣＰＵ使用率が所定値以下である場合に前記非割り込み処理による通知を選択する
ことを特徴とする付記１４記載のデータ入出力方法。
【図面の簡単な説明】
【０１０５】
【図１】本発明の原理を説明するための図である。
【図２】本発明の実施例におけるデータ処理システムの構成例を示す図である。
【図３】本発明の実施例でプロセス状態情報として使用されるプロセスの状態を説明するための図である。
【図４】本発明の入出力装置およびホストの構成例を示す図である。
【図５】プロセス状態および優先度を用いた転送通知の最適化処理を説明するための図である。
【図６】プロセスの優先度を用いた転送通知の最適化処理を説明するための図である。
【図７】ＣＰＵ使用率を用いた転送通知の最適化処理を説明するための図である。
【図８】転送処理の通知の最適化処理フローの例を示す図である。
【図９】入出力データの転送処理の順序の最適化処理を説明するための図である。
【図１０】ホスト状態情報管理部の処理手段の構成例を示す図である。
【図１１】キャッシュ一貫性保持機能を利用したプロセス状態情報の更新検出処理を説明するための図である。
【図１２】キャッシュ一貫性保持機能を利用した更新処理の作業主体の変更通知処理を説明するための図である。
【符号の説明】
【０１０６】
１  入出力装置（データ入出力装置）
１１  パケット送受信部
１２  パケット判定部
１３  ホスト状態情報管理部
１３１  状態更新検出部
１３３  状態情報収集部
１３５  状態情報保持部
１３７  更新主体確認部
１４  最適化部
１５  転送制御部
１６  通知制御部
２  ホスト
２５  状態更新開始・終了通知部
２７  更新主体判別部
２９  更新主体変更通知部
【図１】
2006285341.tif 000003
【図２】
2006285341.tif 000004
【図３】
2006285341.tif 000005
【図４】
2006285341.tif 000006
【図５】
2006285341.tif 000007
【図６】
2006285341.tif 000008
【図７】
2006285341.tif 000009
【図８】
2006285341.tif 000010
【図９】
2006285341.tif 000011
【図１０】
2006285341.tif 000012
【図１１】
2006285341.tif 000013
【図１２】
2006285341.tif 000014