(57)【要約】  高速動作する通信アダプタがコンピュータに複数搭載されていたとしても、ＣＰＵに掛かる負荷ができるだけ低減されるようにするため、設定制御モジュール１４３が、対応する通信アダプタ１１について実測した単位時間当たりの割り込み通知回数（Ｉ）が上限値（γ）を上回るか否かを、定期的に判別し（ステップＳ２０１〜Ｓ２０３）、単位時間当たりの割り込み通知回数（Ｉ）が上限値（γ）を上回っている場合に、通信アダプタ１１による割り込みに制限を掛ける（ステップＳ２０３；はい、Ｓ２０４）。
2009122514.tif 000002
【特許請求の範囲】
【請求項１】
割込みを発生する割込み発生部と、
前記発生した割込みを受信して、単位時間当たりの割込みの受信数を計数するとともに割込みを通知し、前記計数した単位時間当たりの割込みの受信数が所定値を超える場合には、前記割込みの通知を遅らせる割込み制御部と、
前記通知された割込みを処理する割込み処理部を有することを特徴とする情報処理装置。
【請求項２】
前記割込み制御部は、
前記計数した単位時間当たりの割込みの受信数が所定値を超える場合には、前記受信した割込みのうち前記所定値を超えた分の割込みについて、前記割込みの通知を遅らせることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記割込み制御部は、
前記割込みの通知を遅らせている間に、前記割込み発生部から第１の新たな割込みを受信した場合には、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを、前記割込み処理部に通知することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記割込み制御部が、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを、前記割込み処理部に通知した場合において、
前記割込み処理部が、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを処理している間に、前記割込み制御部が、前記割込み発生部から第２の新たな割込みを受信した場合には、前記受信した第２の新たな割込みを前記割込み処理部に通知しないことを特徴とする請求項３記載の情報処理装置。
【請求項５】
割込みを発生する割込み発生部と、
前記発生した割込みを受信し、前記受信した割込みの通知を遅らせるとともに、前記割込みの通知を遅らせている間に、前記割込み発生部から第１の新たな割込みを受信した場合には、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを、通知する割込み制御部と、
前記通知された割込みを処理する割込み処理部を有することを特徴とする情報処理装置。
【請求項６】
前記割込み制御部が、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを、前記割込み処理部に通知した場合において、
前記割込み処理部が、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを処理している間に、前記割込み制御部が、前記割込み発生部から第２の新たな割込みを受信した場合には、前記受信した第２の新たな割込みを前記割込み処理部に通知しないことを特徴とする請求項５記載の情報処理装置。
【請求項７】
割込みを発生する割込み発生部が発生した割込みを受信し、単位時間当たりの割込みの受信数を計数するとともに割込みを通知し、前記計数した単位時間当たりの割込みの受信数が所定値を超える場合には、前記割込みの通知を遅らせる割込み制御部と、
前記通知された割込みを処理する割込み処理部を有することを特徴とする割込み制御装置。
【請求項８】
通知された割込みを処理する割込み処理回路に接続される割込み制御回路において、
割込みを発生する割込み発生回路が発生した割込みを受信し、単位時間当たりの割込みの受信数を計数するとともに割込みを通知し、前記計数した単位時間当たりの割込みの受信数が所定値を超える場合には、前記割込みの通知を遅らせることを特徴とする割込み制御回路。
【請求項９】
割込み発生部と割り込み制御部と割込み処理部を有する情報処理装置の割込み制御方法において、
前記割込み発生部が、割込みを発生するステップと、
前記割込み制御部が、前記発生した割込みを受信して、単位時間当たりの割込みの受信数を計数するステップと、
前記割込み制御部が、前記計数した単位時間当たりの割込みの受信数が所定値以下の場合には、割込みを通知するとともに、前記割込み制御部が、前記計数した単位時間当たりの割込みの受信数が所定値を超える場合には、前記割込みの通知を遅らせるステップと、
前記割込み処理部が、前記通知された割込みを処理するステップを有することを特徴とする割込み制御方法。
【請求項１０】
前記割込み制御部は、
前記計数した単位時間当たりの割込みの受信数が所定値を超える場合には、前記受信した割込みのうち前記所定値を超えた分の割込みについて、前記割込みの通知を遅らせることを特徴とする請求項９記載の割込み制御方法。
【請求項１１】
前記割込み制御方法はさらに、
前記割込み制御部が、前記割込みの通知を遅らせている間に、前記割込み発生部から第１の新たな割込みを受信した場合には、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを、前記割込み処理部に通知するステップを有することを特徴とする請求項９記載の割込み制御方法。
【請求項１２】
前記割込み制御方法はさらに、
前記割込み制御部が、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを、前記割込み処理部に通知した場合において、
前記割込み処理部が、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを処理している間に、前記割込み制御部が、前記割込み発生部から第２の新たな割込みを受信した場合には、前記受信した第２の新たな割込みを前記割込み処理部に通知しないことを特徴とする請求億９記載の割込み制御方法。
【請求項１３】
割込み発生部と割り込み制御部と割込み処理部を有する情報処理装置の割込み制御方法において、
前記割込み発生部が、割込みを発生するステップと、
前記割込み制御部が、前記発生した割込みを受信するステップと、
前記割込み制御部が、前記受信した割込みの通知を所定期間遅らせるステップと、
前記割込み制御部が、前記割込みの通知を遅らせている間に、前記割込み発生部から第１の新たな割込みを受信した場合には、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを、前記割込み処理部に通知するステップと、
前記割込み処理部が、前記通知された割込みを処理するステップを有することを特徴とする割込み制御方法。
【請求項１４】
前記割込み制御方法はさらに、
前記割込み制御部が、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを、前記割込み処理部に通知した場合において、
前記割込み処理部が、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを処理している間に、前記割込み制御部が、前記割込み発生部から第２の新たな割込みを受信した場合には、前記受信した第２の新たな割込みを前記割込み処理部に通知しないことを特徴とする
請求項１０記載の割込み制御方法。
【請求項１５】
割込み発生部と割り込み制御部と割込み処理部を有する情報処理装置の割込み制御プログラムにおいて、
前記情報処理装置に、
前記割込み発生部が、割込みを発生するステップと、
前記割込み制御部が、前記発生した割込みを受信して、単位時間当たりの割込みの受信数を計数するステップと、
前記割込み制御部が、前記計数した単位時間当たりの割込みの受信数が所定値以下の場合には、割込みを通知するとともに、前記割込み制御部が、前記計数した単位時間当たりの割込みの受信数が所定値を超える場合には、前記割込みの通知を遅らせるステップと、
前記割込み処理部が、前記通知された割込みを処理するステップを実行させることを特徴とする割込み制御プログラム。
【請求項１６】
前記割込み制御部は、
前記計数した単位時間当たりの割込みの受信数が所定値を超える場合には、前記受信した割込みのうち前記所定値を超えた分の割込みについて、前記割込みの通知を遅らせることを特徴とする請求項１５記載の割込み制御プログラム。
【請求項１７】
前記割込み制御方法はさらに、
前記割込み制御部が、前記割込みの通知を遅らせている間に、前記割込み発生部から第１の新たな割込みを受信した場合には、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを、前記割込み処理部に通知するステップを有することを特徴とする請求項１５記載の割込み制御プログラム。
【請求項１８】
前記割込み制御プログラムはさらに、
前記割込み制御部が、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを、前記割込み処理部に通知した場合において、
前記割込み処理部に、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを処理している間に、前記割込み制御部が、前記割込み発生部から第２の新たな割込みを受信した場合には、前記受信した第２の新たな割込みを前記割込み処理部に通知させないことを特徴とする請求項１５記載の割込み制御プログラム。
【請求項１９】
割込み発生部と割り込み制御部と割込み処理部を有する情報処理装置の割込み制御プログラムにおいて、
前記情報処理装置に、
前記割込み発生部が、割込みを発生するステップと、
前記割込み制御部が、前記発生した割込みを受信するステップと、
前記割込み制御部が、前記受信した割込みの通知を所定期間遅らせるステップと、
前記割込み制御部が、前記割込みの通知を遅らせている間に、前記割込み発生部から第１の新たな割込みを受信した場合には、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを、前記割込み処理部に通知するステップと、
前記割込み処理部が、前記通知された割込みを処理するステップを実行させることを特徴とする割込み制御プログラム。
【請求項２０】
前記割込み制御プログラムはさらに、
前記割込み制御部が、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを、前記割込み処理部に通知した場合において、
前記割込み処理部に、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを処理している間に、前記割込み制御部が、前記割込み発生部から第２の新たな割込みを受信した場合には、前記受信した第２の新たな割込みを前記割込み処理部に通知させないことを特徴とする
請求項１８記載の割込み制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、情報処理を行うための装置、並びに、実行中処理の中断と指定処理の優先実行とに関する要求である割り込みを制御するための装置、回路、方法、及び、プログラムに、関する。
【背景技術】
【０００２】
周知のように、近年では、イーサネット（米国ゼロックス社の商標）又はファイバチャンネルのように、通信速度の高い通信規格が、種々開発されており、この種の通信規格に準拠した通信アダプタ（通信インターフェースとして機能する拡張カード）を搭載したコンピュータが、増えている。【０００３】
通常の通信アダプタは、１つのデータに関する処理（送信又は受信）が完了するたびに、ＰＣＩ［Peripheral Components Interconnect］バスとホストブリッジとを介してＣＰＵ［Central Processing Unit］に割り込みを行うようになっている。このため、通信速度の増加に伴い、通信アダプタがＣＰＵに行う割り込みの単位時間当たりの数も、増大している。そして、このように高速動作する通信アダプタが、コンピュータに複数搭載されていると、ＣＰＵにかなりの負荷が掛かってしまうという問題がある。【０００４】
【特許文献１】国際公開第０３／０６３００２号パンフレット
【特許文献２】特開２００２−０２３９６１号公報
【特許文献３】特開平１１−０１５８００号公報
【特許文献４】特開昭５３−１４５５３６号公報
【特許文献５】特開昭５２−０４７６４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本件は、前述したような従来技術の有する問題点に鑑みてなされたものであり、その課題は、高速動作する通信アダプタがコンピュータに複数搭載されていたとしても、ＣＰＵに掛かる負荷ができるだけ低減されるようにすることにある。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために案出された情報処理装置の第１の態様は、割込みを発生する割込み発生部と、発生した割込みを受信して、単位時間当たりの割込みの受信数を計数するとともに割込みを通知し、計数した単位時間当たりの割込みの受信数が所定値を超える場合には、割込みの通知を遅らせる割込み制御部と、通知された割込みを処理する割込み処理部を有することを、特徴としている。【０００７】
このように構成されると、割り込み発生部から割り込み処理部に通知される割り込みの単位時間当たりの回数が所定値を超えているときには、割り込み処理部への割り込みの通知が遅延される。これにより、割り込み処理部に掛かる負荷が低減することとなる。【０００８】
また、上記の課題を解決するために案出された情報処理装置の第２の態様は、割込みを発生する割込み発生部と、発生した割込みを受信し、受信した割込みの通知を遅らせるとともに、割込みの通知を遅らせている間に、割込み発生部から第１の新たな割込みを受信した場合には、通知を遅らせた割込みと受信した第１の新たな割込みとを、通知する割込み制御部と、通知された割込みを処理する割込み処理部を有することを、特徴としている。【０００９】
このように構成されると、割り込み発生部から割り込み処理部への割り込みの通知が遅延され、割り込み発生部がその遅延中に新たな割り込みを更に発生させたときには、その新たな割り込みは、遅延中の割り込みとともに、割り込み処理部に送られる。このように、割り込みが幾つか纏めて通知されるようにすれば、割り込みが１個発生する毎に割り込みの通知処理を行うことに比べて、割り込みの通知処理を減らすことができ、割り込み処理部に掛かる負荷が低減することとなる。【００１０】
なお、以上に開示した情報処理装置に係る動作は、割り込み制御方法又は割り込み制御プログラムによっても実現し得る。すなわち、本発明は、前述した情報処理装置の各部と同等の機能を複数の手順としてコンピュータが実行する割り込み制御方法であってもよいし、それら各部と同等に機能する複数の手段としてコンピュータを動作させる割り込み制御プログラムであってもよい。また、本件は、その割り込み制御プログラムを格納したコンピュータ可読媒体であっても良い。
【発明の効果】
【００１１】
従って、以上に開示した情報処理装置によれば、高速動作する通信アダプタがコンピュータに複数搭載されていたとしても、ＣＰＵに掛かる負荷ができるだけ低減されるようになる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態のコンピュータのハードウエア構成図
【図２】本体の構成図
【図３】通信アダプタの構成図
【図４】一回の割り込み通知で１個の割り込み要因が引き渡される場合のシーケンス図
【図５】一回の割り込み通知で３個の割り込み要因が引き渡される場合のシーケンス図
【図６】コンピュータのソフトウエア構成図である。
【図７】統計情報生成処理の流れを示す図である。
【図８】設定制御処理の流れを示す図である。
【図９】システム負荷の回答例を示す図である。
【図１０】ＣＰＵが割り込みに掛ける時間が約１５％削減された状態を示すシーケンス図
【図１１】第２の実施形態の通信アダプタの構成図である。
【図１２】第２の実施形態のコンピュータのソフトウエア構成図である。
【図１３】第２の実施形態の設定制御処理の流れを示す図である。
【図１４】ＣＰＵが割り込みに掛ける時間が約１５％削減された状態を示すシーケンス図
【図１５】第３の実施形態の通信アダプタの構成図である。
【図１６】第３の実施形態のコンピュータのソフトウエア構成図である。
【図１７】第３の実施形態の設定制御処理の流れを示す図である。
【図１８】設定制御モジュールが割り込み要因を取得する場合のシーケンス図である。
【図１９】ＣＰＵが割り込みに掛ける時間が約１５％削減された状態を示すシーケンス図
【符号の説明】
【００１３】
１０      コンピュータ
１０ａ    表示デバイス
１０ｂ    操作デバイス
１０ｃ    本体
１１      通信アダプタ
１１ａ    インターフェースモジュール
１１ｃ    コントローラ
１１１    通信プロトコル制御ユニット
１１２    インターフェース制御ユニット
１１２ａ  レジスタ
１１２ｂ  レジスタ
１１３    割り込み制御ユニット
１１３ａ  レジスタ
１１３ｂ  レジスタ
１４      ハードディスクドライブ
１４ｂ    統計情報生成デーモン
１４ｃ    通信アダプタドライバ
１４１    基本制御モジュール
１４２    ハードウエア制御モジュール
１４２    ハードウエア制御部
１４３    設定制御モジュール
１４４    設定制御モジュール
１４５    設定制御モジュール
１４ｄ    オペレーティングシステムソフトウエア
１５      ＣＰＵ
１６      メインメモリ
１８      サウスブリッジ
１８ａ    割り込みコントローラ
【発明を実施するための最良の形態】
【００１４】
以下、添付図面を参照しながら、開示した情報処理装置の実施形態であるコンピュータについて、３例説明する。
【第１の実施形態】
【００１５】
＜＜構成＞＞
図１は、第１の実施形態のコンピュータ１０のハードウエア構成図である。
【００１６】
図１に示すように、第１の実施形態のコンピュータ１０は、液晶ディスプレイ等である表示デバイス１０ａと、キーボードやマウス等である操作デバイス１０ｂと、これらデバイス１０ａ、１０ｂに接続される本体１０ｃとを、含んでいる。その本体１０ｃは、ネットワークＮに接続されている。
【００１７】
図２は、本体１０ｃの構成図である。
【００１８】
図２に示すように、本体１０ｃは、通信アダプタ１１、スーパーＩ／Ｏ［Input/Output］コントローラ１２、ブートメモリ１３、ハードディスクドライブ１４、ＣＰＵ［Central Processing Unit］１５、メインメモリ１６、グラフィクスコントローラ１７、統合Ｉ／Ｏコントローラの役割を果たすサウスブリッジ１８、及び、メモリコントローラの役割を果たすノースブリッジ１９を、内蔵している。
【００１９】
通信アダプタ１１は、ネットワークＮ上の他のコンピュータとの間でデータの遣り取りを行う機器ある。通信アダプタ１１としては、イーサネット拡張カードや、ファイバチャンネル拡張カードがある。
【００２０】
スーパーＩ／Ｏコントローラ１２は、ＰＳ／２［Personal System/2］ポート等のＩ／Ｏポートを介して接続されるデバイスとデータの遣り取りを行うための機器である。図１の操作デバイス１０ｂは、このスーパーＩ／Ｏコントローラ１２に接続されている。
【００２１】
ブートメモリ１３は、コンピュータ１０の起動後直ちに実行されるＢＩＯＳ［Basic Input/Output System］プログラムが記録されているフラッシュメモリである。
【００２２】
ハードディスクドライブ１４は、ディスク媒体であるハードディスクに対して読み書きを行うための機器である。ハードディスクには、後述するように、オペレーティングシステムソフトウエア、ネットワークドライバソフトウエア、アプリケーションソフトウエアなど、各種のソフトウエアが、記録される。
【００２３】
ＣＰＵ１５は、ブートメモリ１３及びハードディスクドライブ１４内のプログラムに従って処理を行う機器である。
【００２４】
メインメモリ１６は、ＣＰＵ１５がプログラムやデータをキャッシュしたり作業領域を展開したりするためのユニットである。
【００２５】
グラフィクスコントローラ１７は、ＣＰＵ１５から渡される描画データに基づいて映像信号を生成して出力する機器である。図１の表示デバイス１０ａは、このグラフィクスコントローラ１７に接続されている。
【００２６】
サウスブリッジ１８は、ＰＣＩ［Peripheral Components Interconnect］デバイス、ＬＰＣ［Low Pin Count］デバイス、ＡＴＡ［Advanced Technology Attachment］デバイスをそれぞれ制御するためのコントローラが搭載されているＬＳＩ［Large Scale Integration］である。サウスブリッジ１８には、スーパーＩ／Ｏコントローラ１２がＬＰＣバスを介して接続され、ハードディスクドライブ１４がＡＴＡバスを介して接続されている。また、第１の実施形態では、サウスブリッジ１８には、第１乃至第Ｎの通信アダプタ１１が、ＰＣＩバスを介して接続されている。
【００２７】
また、統合Ｉ／Ｏコントローラの役割を果たすサウスブリッジ１８には、ブートメモリ１３へのアクセスを制御するためのコントローラが、搭載されているとともに、アクセスコントローラとしてのＤＭＡ［Direct Memory Access］コントローラも、搭載されている。ＤＭＡコントローラは、ハードディスクドライブ１４内のデータをＣＰＵ１５を介さずにメインメモリ１６に送信するためのコントローラである。
【００２８】
さらに、サウスブリッジ１８には、割り込みコントローラ１８ａも、搭載されている。割り込みコントローラ１８ａは、ＰＣＩデバイス（第１の実施形態では通信アダプタ１１）での割り込み発生を監視するとともに、発生した割り込みをハードウエア割り込みとしてＣＰＵ１５に通知するためのコントローラである。
【００２９】
メモリコントローラの役割を果たすノースブリッジ１９は、ＣＰＵ１５、メインメモリ１６、グラフィクスコントローラ１７をそれぞれ制御するためのコントローラが搭載されているＬＳＩである。ノースブリッジ１９には、ＣＰＵ１５がシステムバスを介して接続され、メインメモリ１６がメモリバスを介して接続され、グラフィクスコントローラ１７がＡＧＰ［Accelerated Graphics Port］バスを介して接続されている。
【００３０】
また、ノースブリッジ１９は、ＣＰＵ１５とサウスブリッジ１８との間のデータの転送を制御するバス−バスブリッジ機能を、搭載しており、サウスブリッジ１８とは専用バスを介して接続されている。専用バスとしては、A-Link（台湾ＡＬｉ社の商標）、Hyper Transport（米ＡＭＤ社の商標）、MuTIOL（台湾シリコンインテグレーティッドシステムズ社の商標）、V-Link（台湾ＶＩＡテクノロジ社の商標）がある。
【００３１】
図３は、通信アダプタ１１の構成図である。
【００３２】
図３に示すように、通信アダプタ１１は、インターフェースモジュール１１ａ、ＲＯＭ［Read Only Memory］１１ｂ、及び、コントローラ１１ｃを、含んでいる。インターフェースモジュール１１ａは、ネットワークＮ上の機器との間でデータの遣り取りを行うためのモジュールである。ＲＯＭ１１ｂは、通信アダプタ１１に関する情報が記録された機器である。コントローラ１１ｃは、通信アダプタ１１を制御するための機器である。
【００３３】
コントローラ１１ｃは、通信プロトコル制御ユニット１１１、ＰＣＩインターフェース制御ユニット１１２、及び、割り込み制御ユニット１１３を、含んでいる。
【００３４】
通信プロトコル制御ユニット１１１は、通信プロトコルに従った通信制御を行うユニットである。この通信プロトコル制御ユニット１１１は、所定の事象を検知した場合に、割り込みを発生させるようになっている。なお、割り込みを発生させる要因となる事象としては、例えば、Ｉ／Ｏの正常完了、Ｉ／Ｏの異常終了、フレームの正常送信完了、フレームの受信、ハードウエアのエラー検出がある。
【００３５】
なお、通信プロトコル制御ユニット１１１は、前述した割り込み発生部に相当している。
【００３６】
ＰＣＩインターフェース制御ユニット１１２は、ＰＣＩバスに接続されたＰＣＩデバイスとの間で、ＰＣＩバス内のデータ線を介したデータの遣り取りと、ＰＣＩバス内の割り込み線を介した割り込みの通知とを、行うためのユニットである。ＰＣＩインターフェース制御ユニット１１２は、割り込みを発生させる要因となった事象が割り込み要因として記録されるレジスタ１１２ａを、備えている。
【００３７】
割り込み制御ユニット１１３は、割り込みの制御を行うユニットである。具体的には、割り込み制御ユニット１１３は、通信プロトコル制御ユニット１１１が発生させた割り込みを図２の割り込みコントローラ１８ａに通知するとともに、その割り込み要因をＰＣＩインターフェース制御ユニット１１２のレジスタ１１２ａに記録する。また、割り込み制御ユニット１１３は、単位時間当たりの割り込み通知回数の上限値（γ［回／秒］）が記録されるレジスタ１１３ａを、備えている。割り込み制御ユニット１１３は、単位時間当たりの割り込み通知回数が、レジスタ１１３ｂに記録されている上限値（γ）を超えないよう、割り込み通知を制御する。例えば、毎秒１万回が、単位時間当たりの割り込み通知の回数の上限値（γ）であった場合、割り込み制御ユニット１１３は、１秒間において割り込み通知が１万回に到達した時点で割り込み通知を停止し、次の１秒間が始まるまで待機し、次の１秒間が始まると割り込み通知が行えるようになる。
【００３８】
なお、割り込み制御ユニット１１３は、割り込みの通知を行ってから次の通知を行うまでの間に、割り込み要因となる事象が１個しか発生しなかった場合、図４のシーケンス図に示すように、一回の割り込み通知で１個の割り込み要因（例えば、図４の処理Ａの契機となる１個の要因）を後述の通信アダプタドライバ１４ｃに通知する。一方、割り込みの通知を行ってから次の通知を行うまでの間に、割り込み要因となる事象が２個以上発生した場合、割り込み制御ユニット１１３は、図５のシーケンス図に示すように、一回の割り込み通知で複数個の割り込み要因（例えば、図５の処理Ａ乃至処理Ｃの契機となる３個の要因）を後述の通信アダプタドライバ１４ｃに通知する。
【００３９】
図６は、コンピュータ１０のソフトウエア構成図である。
【００４０】
コンピュータ１０は、ハードディスクドライブ１４に、ユーザアプリケーション１４ａ、統計情報生成デーモン１４ｂ、通信アダプタドライバ１４ｃ、オペレーティングシステムソフトウエア１４ｄを、記憶している。
【００４１】
ユーザアプリケーション１４ａは、文書編集や表計算や描画やウェブページ閲覧などのサービスをコンピュータ１０上で実現するためのソフトウエアである。このユーザアプリケーション１４ａがウェブブラウザやメーラーなどである場合、ユーザアプリケーション１４ａは、通信アダプタドライバ１４ｃを通じてウェブサーバやメールサーバと通信を行う。
【００４２】
統計情報生成デーモン１４ｂは、通信アダプタ１１からの単位時間当たりの割り込みの通知回数（α［回／秒］）と、この通信アダプタ１１に係る処理をＣＰＵ１５が実行する時間が単位時間に占める割合（使用率）であるシステム負荷（β［％］）とに基づいて、単位時間の割り込み通知回数の上限値（γ［回／秒］）を通信アダプタ１１に設定するプログラムである。この統計情報生成デーモン１４ｂは、通信アダプタドライバ１４ｃと同じ数だけ、コンピュータ１０に用意されている。なお、この統計情報生成デーモン１４ｂに従ってＣＰＵ１５が実行する処理の内容については、図７を用いて後述する。
【００４３】
通信アダプタドライバ１４ｃは、通信アダプタ１１を制御するためのソフトウエアである。この通信アダプタドライバ１４ｃは、通信アダプタ１１と同じ数だけ、コンピュータ１０に用意されている。通信アダプタドライバ１４ｃは、基本制御モジュール１４１、ハードウエア制御モジュール１４２、設定制御モジュール１４３を、含んでいる。
【００４４】
基本制御モジュール１４１は、通信アダプタ１１へのコマンドの送出、ユーザアプリケーション１４ａと通信アダプタ１１との間のデータの受け渡し、通信アダプタ１１へのコマンドの送出、通信アダプタ１１の通信プロトコル制御ユニット１１１が発生させた割り込みに係る割り込み要因に応じた処理を、行うモジュールである。
【００４５】
ハードウエア制御モジュール１４２は、基本制御モジュール１４１と通信アダプタ１１との間におけるデータやコマンドの形態の変換を行うモジュールである。
【００４６】
設定制御モジュール１４３は、通信アダプタ１１に設定される情報を制御するためのモジュールである。この設定制御モジュール１４３に従ってＣＰＵ１５が実行する処理の内容については、図８を用いて後述する。
【００４７】
オペレーティングシステムソフトウエア１４ｄは、各種アプリケーションへのＡＰＩ［Application Programming Interface］やＡＢＩ［Application Binary Interface］の提供、ハードディスクドライブ１４やメインメモリ１６の記憶領域の管理、プロセスやタスクの管理、ファイル管理や各種設定ツールやエディタといったユーティリティのアプリケーションへの提供、及び、画面出力を多重化するための複数タスクへのウインドウの割り当てを、行うためのソフトウエアである。
【００４８】
このオペレーティングシステムソフトウエア１４ｄは、通信アダプタ１１からの割り込みの通知を監視する機能を、含んでいる。また、このオペレーティングシステムソフトウエア１４ｄは、割り込みの通知を検出すると、通信アダプタ１１のＰＣＩインターフェース制御ユニット１１２のレジスタ１１２ａから割り込み要因を取得する処理（図４及び図５の処理Ｘ）を行って、その割り込み要因を通信アダプタドライバ１４ｃに引き渡す機能も、含んでいる。
【００４９】
より具体的には、オペレーティングシステムソフトウエア１４ｄは、通信アダプタ１１からの割り込みの通知を検出すると、予め定められた割り込みの優先度に基づいて、割り込みに係る処理を行う。なお、主な割り込みについて、優先度の高い順に並べてみると、ＰＩＯ［Programmed I/O］シリアル割り込み、クロック割り込み、通信アダプタ１１からの割り込み、ディスク装置へのアクセスに関連する割り込み、ソフトウエア割り込みとなっている。オペレーティングシステムソフトウエア１４ｄは、割り込みの通知を検出すると、その通知が検出された割り込みの優先度よりも、その時点で実行中の割り込みに係る処理の優先度が高いか低いかを、判別する。そして、通知が検出された割り込みの優先度が高ければ、その時点で実行中の処理を中断して、通知が検出された割り込みに係る処理を優先させ、通知が検出された割り込みの優先度が低ければ、その割り込みに係る処理を待機させる。また、オペレーティングシステムソフトウエア１４ｄは、割り込みの通知先が通信アダプタ１１であれば、通信アダプタ１１のＰＣＩインターフェース制御ユニット１１２のレジスタ１１２ａから１個以上の割り込み要因を取得し、通信アダプタドライバ１４ｃ内の基本制御モジュール１４１内の割り込みハンドラを呼び出す（図４及び図５の処理Ｘ）。なお、その割り込みハンドラは、１個以上の割り込み要因にそれぞれ対応する処理を行い（図４及び図５の処理Ａ乃至処理Ｃ）、通信アダプタ１１のＰＣＩインターフェース制御ユニット１１２のレジスタ１１２ａをクリアする。オペレーティングシステムソフトウエア１４ｄは、割り込みハンドラが処理を終えると、中断させていた処理を再開させる処理も行う（図４及び図５の処理Ｙ）。
【００５０】
なお、オペレーティングシステムソフトウエア１４ｄを実行するＣＰＵ１５と、通信アダプタドライバ１４ｃの基本制御モジュール１４１及びハードウエア制御モジュール１４２を実行するＣＰＵ１５とは、前述した割り込み処理部に相当している。
【００５１】
＜＜処理＞＞
＜統計情報生成＞
コンピュータ１０の主電源が投入された後、統計情報生成デーモン１４ｂがＣＰＵ１５によって読み込まれ、統計情報生成処理が開始されるようになっている。
【００５２】
図７は、統計情報生成処理の流れを示す図である。
【００５３】
統計情報生成処理の開始後、最初のステップＳ１０１では、ＣＰＵ１５は、システム負荷の上限値（δ［％］）を読み込む。このシステム負荷の上限値（δ）は、対応する通信アダプタドライバ１４ｃに事前に含まれており、この通信アダプタドライバ１４ｃが制御する通信アダプタ１１の動作に伴うシステム負荷（この通信アダプタ１１に係る処理をＣＰＵ１５が実行する時間が単位時間に占める割合、すなわち、使用率）の上限値を意味している。システム負荷の上限値（δ）を読み込むと、ＣＰＵ１５は、ステップＳ１０２へ処理を進める。
【００５４】
ステップＳ１０２では、ＣＰＵ１５は、設定制御モジュール１４３を介してハードウエア制御部１４２から、対応通信アダプタ１１による単位時間当たりの割り込み通知回数（α）を、取得する。
【００５５】
次のステップＳ１０３では、ＣＰＵ１５は、オペレーティングシステムソフトウエア１４ｄから、対応通信アダプタ１１によるシステム負荷（β）を取得する。
【００５６】
次のステップＳ１０４では、ＣＰＵ１５は、単位時間当たりの割り込み通知回数の上限値（γ［回／秒］）を算出する。具体的には、ＣＰＵ１５は、まず、ステップＳ１０１で読み込んだシステム負荷の上限値（δ［％］）を、ステップＳ１０３で取得したシステム負荷（β［％］）で除算し、続いて、その除算で得られた値を、ステップＳ１０２で取得した単位時間当たりの割り込み通知回数（α［回／秒］）に乗算する。ＣＰＵ１５は、この演算（δ÷β）×αにより、単位時間当たりの割り込み通知回数の上限値（γ［回／秒］）を、算出する。
【００５７】
次のステップＳ１０５では、ＣＰＵ１５は、ステップＳ１０４で算出した上限値（γ）を、通信アダプタドライバ１４ｃに設定する。
【００５８】
次のステップＳ１０６では、ＣＰＵ１５は、一定時間待機し、その後、ステップＳ１０２へ処理を戻す。
【００５９】
以上の統計情報生成処理によれば、通信アダプタドライバ１４ｃには、単位時間当たりの割り込み通知回数の上限値（γ）が、定期的に設定されることとなる。
【００６０】
＜設定制御＞
コンピュータ１０の主電源が投入された後、設定制御モジュール１４３がＣＰＵ１５によって読み込まれ、設定制御理が開始されるようになっている。
【００６１】
図８は、設定制御処理の流れを示す図である。
【００６２】
設定制御処理の開始後、最初のステップＳ２０１では、ＣＰＵ１５は、通信アダプタドライバ１４ｃに設定されている単位時間当たりの割り込み通知回数の上限値（γ）を読み込む。
【００６３】
次のステップＳ２０２では、ＣＰＵ１５は、ハードウエア制御モジュール１４２から、対応通信アダプタ１１による単位時間当たりの割り込み通知回数（Ｉ［回／秒］）を取得する。
【００６４】
次のステップＳ２０３では、ＣＰＵ１５は、ステップＳ２０２で取得した単位時間の割り込み通知回数（Ｉ）が、ステップＳ２０１で読み込んだ上限値（γ）を上回っているか否かを、判別する。そして、単位時間の割り込み通知回数（Ｉ）が上限値（γ）を上回っていた場合、ＣＰＵ１５は、ステップＳ２０４へ処理を進める。
【００６５】
ステップＳ２０４では、ＣＰＵ１５は、ステップＳ２０１で読み込んだ単位時間当たりの割り込み通知回数の上限値（γ［回／秒］）を、ハードウエア制御部１４２を介して、通信アダプタ１１に設定する。なお、通信アダプタ１１のコントローラ１１ｃは、単位時間当たりの割り込み通知回数の上限値（γ）を、割り込み制御ユニット１１３内のレジスタ１１３ａに記録する。その後、ＣＰＵ１５は、ステップＳ２０６へ処理を進める。
【００６６】
一方、ステップＳ２０３において、ステップＳ２０２で取得した単位時間の割り込み回数（Ｉ［回／秒］）が、ステップＳ２０１で読み込んだ上限値（γ［回／秒］）以下であった場合、ＣＰＵ１５は、ステップＳ２０３からステップＳ２０５へ処理を分岐させる。
【００６７】
ステップＳ２０５では、ＣＰＵ１５は、通信アダプタ１１に設定されている上限値（γ）を無限大に変更する。その後、ＣＰＵ１５は、ステップＳ２０６へ処理を進める。
【００６８】
ステップＳ２０６では、ＣＰＵ１５は、一定時間待機し、その後、ステップＳ２０１へ処理を戻す。
【００６９】
以上の設定制御処理によれば、対応通信アダプタ１１による単位時間当たりの割り込み通知回数（Ｉ）が、統計情報生成処理で設定された上限値（γ）を上回っている場合に、通信アダプタ１１による割り込みの通知が制限されることとなる。
【００７０】
なお、統計情報生成処理と設定制御処理とを実行するＣＰＵ１５、及び、通信アダプタ１１のコントローラ１１ｃ内の割り込み制御ユニット１１３は、前述した割り込み制御部に相当している。
【００７１】
＜＜作用効果＞＞
前述したように、第１の実施形態では、統計情報生成デーモン１４ｂが、対応する通信アダプタ１１によるシステム負荷の上限値（δ）と、実測したシステム負荷（α）と、単位時間当たりの割り込み通知回数（β）とに基づいて、対応する通信アダプタドライバ１４ｃに対し、定期的に、単位時間当たりの割り込み通知回数の上限値（γ）を設定する（ステップＳ１０１〜Ｓ１０６）。
【００７２】
また、この統計情報生成デーモン１４ｂと並行して実行される設定制御モジュール１４３が、対応する通信アダプタ１１について実測した単位時間当たりの割り込み通知回数（Ｉ）が上限値（γ）を上回るか否かを、定期的に判別し（ステップＳ２０１〜Ｓ２０３）、単位時間当たりの割り込み通知回数（Ｉ）が上限値（γ）を上回っている場合に、通信アダプタ１１による割り込みに制限を掛ける（ステップＳ２０３；はい、Ｓ２０４）。
【００７３】
例えば、Ｓｏｌａｒｉｓ（米国サンマイクロシステムズ社の商標）というオペレーティングシステムソフトウエア１４ｄは、「mpstat」というコマンドを受けると、ＣＰＵ１５毎のシステム負荷（使用率）を回答するようになっている。
【００７４】
図９は、その回答例を示す図である。
【００７５】
図９の回答例における「intr」フィールドに示されるように、番号が１であるＣＰＵ１５は、割り込み通知を毎秒２００００回受けている（α＝２００００）。また、図９の回答例における「sys」フィールドに示されるように、番号が１であるＣＰＵ１５のシステム負荷（使用率）は、６０％となっている（β＝６０）。
【００７６】
そして、第１の実施形態のコンピュータ１０内の通信アダプタドライバ１４ｃのうちの１つに対し、それに対応する通信アダプタ１１の動作に伴う１番のＣＰＵ１５のシステム負荷の上限値が３０％に設定されていた場合（δ＝３０）、単位時間当たりの割り込み通知回数とシステム負荷とが概ね比例関係にあるため、この通信アダプタ１１による単位時間当たりの割り込み通知回数の上限値（γ）は、γ＝（δ÷β）×α＝（３０÷６０）×２００００＝１００００［回／秒］と見積もられる（ステップＳ１０４）。
【００７７】
ここで、オペレーティングシステムソフトウエア１４ｄが割り込み要因を取得する処理（図４及び図５の処理Ｘ）に要する時間が２μ秒であり、通信アダプタドライバ１４ｃの基本制御モジュール１４１が１個の割り込み要因について処理を行うのに要する時間の平均が１０μ秒であり、通信アダプタドライバ１４ｃが割り込み要因に応じた処理を終えた後でオペレーティングシステムソフトウエア１４ｄが後段処理（図４及び図５の処理Ｙ）を行うのに掛かる時間が２μ秒であると仮定する。
【００７８】
そして、１回の割り込み通知で１個の割り込み要因が通信アダプタドライバ１４ｃに引き渡されるとすると、図９に示す１番のＣＰＵ１５については、毎秒２００００回の割り込み通知があるため、１秒当たりに割り込み処理に掛かる時間は、２００００×（２＋１０＋２）＝２８００００μ秒となる。なお、割り込み通知１回当たりのＣＰＵ１５の処理時間は、２８００００÷２００００＝１４μ秒である。
【００７９】
一方、第１の実施形態により、通信アダプタ１１による単位時間当たりの割り込み通知回数が、１００００回／秒を上限値として制限された場合、毎秒１００００回の割り込み通知で、２００００個の割り込み要因について処理が行われねばならないため、図９に示す１番のＣＰＵ１５では、割り込み処理に掛かる時間は、２００００×１０＋１００００×（２＋２）＝２４００００μ秒となる。なお、割り込み通知１回当たりのＣＰＵ１５の処理時間は、２４００００÷１００００＝２４μ秒である。
【００８０】
従って、第１の実施形態により、図９に示す１番のＣＰＵ１５では、割り込み処理に掛かる時間が、約１５％削減される（２４００００÷２８００００＝０．８５７）。図１０は、ＣＰＵ１５が割り込みに掛ける時間が約１５％削減された状態を示すシーケンス図である。
【００８１】
なお、以上に説明した第１の実施形態では、図７の統計情報生成処理により、単位時間当たりの割り込み通知回数の上限値（γ）が、通信アダプタドライバ１４ｃに対し、動的に設定されていたが、この上限値（γ）は、通信アダプタドライバ１４ｃの設定ファイルに対し、静的に設定されても良い。
【第２の実施形態】
【００８２】
第２の実施形態は、単位時間当たりの割り込み通知回数の上限値（γ［回／秒］）ではなく、割り込みの通知間隔の下限値（１／γ［秒／回］）が通信アダプタ１１に設定される点で、第１の実施形態と相違する。この相違点以外のハードウエア構成及びソフトウエア構成については、第２の実施形態は、第１の実施形態と同じである。
【００８３】
＜＜構成＞＞
図１１は、第２の実施形態の通信アダプタ１１の構成図である。
【００８４】
第２の実施形態の通信アダプタ１１の割り込み制御ユニット１１３は、割り込みの通知間隔の下限値（１／γ［秒／回］）が記録されるレジスタ１１３ｂを、備えている。割り込み制御ユニット１１３は、割り込みの通知間隔が、レジスタ１１３ｂに記録されている下限値（１／γ）を超えないよう、割り込み通知を制御する。例えば、１回当たり（１／１００００）秒が、割り込みの通知間隔の下限値（１／γ）であった場合、割り込み制御ユニット１１３は、１個の割り込み通知を行った後、（１／１００００）秒が経過するまで割り込み通知を停止し、１秒間において割り込み通知が１万回に到達した時点で割り込み通知を停止し、（１／１００００）秒が経過すると、次の割り込み通知が行えるようになる。
【００８５】
なお、割り込み制御ユニット１１３は、割り込みの通知を行ってから次の通知を行うまでの間に、割り込み要因となる事象が１個しか発生しなかった場合、図４のシーケンス図に示すように、一回の割り込み通知で１個の割り込み要因（例えば、図４の処理Ａの契機となる１個の要因）を通信アダプタドライバ１４ｃに通知する。一方、割り込みの通知を行ってから次の通知を行うまでの間に、割り込み要因となる事象が２個以上発生した場合、割り込み制御ユニット１１３は、図５のシーケンス図に示すように、一回の割り込み通知で複数個の割り込み要因（例えば、図５の処理Ａ乃至処理Ｃの契機となる３個の要因）を通信アダプタドライバ１４ｃに通知する。
【００８６】
図１２は、第２の実施形態のコンピュータ１０のソフトウエア構成図である。
【００８７】
第２の実施形態の通信アダプタドライバ１４ｃは、設定制御モジュール１４４を含んでいる。設定制御モジュール１４４は、第１の実施形態の設定制御モジュール１４３（図６）とは若干異なる処理を行うものとなっている。
【００８８】
＜＜処理＞＞
コンピュータ１０の主電源が投入された後、設定制御モジュール１４４がＣＰＵ１５によって読み込まれ、設定制御処理が開始されるようになっている。
【００８９】
図１３は、第２の実施形態の設定制御処理の流れを示す図である。
【００９０】
設定制御処理の開始後、最初のステップＳ３０１では、ＣＰＵ１５は、通信アダプタドライバ１４ｃに設定されている単位時間当たりの割り込み通知回数の上限値（γ［回／秒］）を読み込む。
【００９１】
次のステップＳ３０２では、ＣＰＵ１５は、ハードウエア制御モジュール１４２から、対応通信アダプタ１１による単位時間当たりの割り込み通知回数（Ｉ［回／秒］）を取得する。
【００９２】
次のステップＳ３０３では、ＣＰＵ１５は、ステップＳ３０２で取得した単位時間の割り込み通知回数（Ｉ）が、ステップＳ３０１で読み込んだ上限値（γ）を上回っているか否かを、判別する。そして、単位時間の割り込み通知回数（Ｉ）が上限値（γ）を上回っていた場合、ＣＰＵ１５は、ステップＳ３０４へ処理を進める。
【００９３】
ステップＳ３０４では、ＣＰＵ１５は、ステップＳ３０１で読み込んだ単位時間当たりの割り込み通知回数の上限値（γ［回／秒］）の逆数である割り込み通知間隔の下限値（１／γ［秒／回］）を、ハードウエア制御部１４２を介して、通信アダプタ１１に設定する。なお、通信アダプタ１１のコントローラ１１ｃは、割り込み通知間隔の下限値（１／γ）を、割り込み制御ユニット１１３内のレジスタ１１３ｂに記録する。その後、ＣＰＵ１５は、ステップＳ３０６へ処理を進める。
【００９４】
一方、ステップＳ３０３において、ステップＳ３０２で取得した単位時間の割り込み回数（Ｉ［回／秒］）が、ステップＳ３０１で読み込んだ上限値（γ［回／秒］）以下であった場合、ＣＰＵ１５は、ステップＳ３０３からステップＳ３０５へ処理を分岐させる。
【００９５】
ステップＳ３０５では、ＣＰＵ１５は、通信アダプタ１１に設定されている下限値（１／γ）をゼロに変更する。その後、ＣＰＵ１５は、ステップＳ３０６へ処理を進める。
【００９６】
ステップＳ３０６では、ＣＰＵ１５は、一定時間待機し、その後、ステップＳ３０１へ処理を戻す。
【００９７】
以上の設定制御処理によれば、対応通信アダプタ１１による単位時間当たりの割り込み通知回数（Ｉ）が、統計情報生成処理で設定された上限値（γ）を上回っている場合に、通信アダプタ１１による割り込みの通知が制限されることとなる。
【００９８】
＜＜作用効果＞＞
第２の実施形態でも、第１の実施形態と同様に、統計情報生成デーモン１４ｂが、対応する通信アダプタ１１によるシステム負荷の上限値（δ）と、実測したシステム負荷（α）と、単位時間当たりの割り込み通知回数（β）とに基づいて、対応する通信アダプタドライバ１４ｃに対し、定期的に、単位時間当たりの割り込み通知回数の上限値（γ）を設定する（図７のステップＳ１０１〜Ｓ１０６）。
【００９９】
また、この統計情報生成デーモン１４ｂと並行して実行される設定制御モジュール１４４が、対応する通信アダプタ１１について実測した単位時間当たりの割り込み通知回数（Ｉ）が上限値（γ）を上回るか否かを、定期的に判別し（ステップＳ３０１〜Ｓ３０３）、単位時間当たりの割り込み通知回数（Ｉ）が上限値（γ）を上回っている場合に、通信アダプタ１１による割り込みに制限を掛ける（ステップＳ３０３；はい、Ｓ３０４）。
【０１００】
例えば、前述したように、図９に示す１番のＣＰＵ１５が、割り込み通知を単位時間当たり２００００回受けているとともに（α＝２００００）、そのＣＰＵ１５のシステム負荷（使用率）が、６０％となっている（β＝６０）場合において、そのＣＰＵ１５のシステム負荷の上限値が３０％に設定されていた場合（δ＝３０）、単位時間当たりの割り込み通知回数の上限値（γ）は、１００００［回／秒］と見積もられる（ステップＳ１０４）。そして、Ｉ＝２００００＞γであるため、通信アダプタ１１には、（１／γ）＝１／１００００が、設定されることとなる（ステップＳ３０４）。
【０１０１】
そして、オペレーティングシステムソフトウエア１４ｄが割り込み要因を取得する処理（図４及び図５の処理Ｘ）に要する時間が２μ秒であり、通信アダプタドライバ１４ｃの基本制御モジュール１４１が１個の割り込み要因について処理を行うのに要する時間の平均が１０μ秒であり、通信アダプタドライバ１４ｃが割り込み要因に応じた処理を終えた後でオペレーティングシステムソフトウエア１４ｄが後段処理（図４及び図５の処理Ｙ）を行うのに掛かる時間が２μ秒であると仮定する。
【０１０２】
すると、１回の割り込み通知で１個の割り込み要因が通信アダプタドライバ１４ｃに引き渡されるとした場合、図９に示す１番のＣＰＵ１５では、単位時間当たり２００００回の割り込み通知があるため、割り込み処理に掛かる時間は、２００００×（２＋１０＋２）＝２８００００μ秒となる。なお、割り込み通知１回当たりのＣＰＵ１５の処理時間は、２８００００÷２００００＝１４μ秒である。
【０１０３】
一方、第２の実施形態により、通信アダプタ１１による割り込みの通知間隔が、（１／１００００）秒／回を下限値として制限された場合、割り込み通知間隔の下限値が倍に増えるため、１回の割り込み通知により、平均して２個の割り込み要因が、通信アダプタドライバ１４ｃに引き渡されねばならない。従って、図９に示す１番のＣＰＵ１５では、割り込み処理に掛かる時間は、２００００×１０＋１００００×（２＋２）＝２４００００μ秒となる。なお、割り込み通知１回当たりのＣＰＵ１５の処理時間は、２４００００÷１００００＝２４μ秒である。
【０１０４】
従って、第２の実施形態によっても、図９に示す１番のＣＰＵ１５では、割り込み処理に掛かる時間が、約１５％削減される（２４００００÷２８００００＝０．８５７）。図１４は、ＣＰＵ１５が割り込みに掛ける時間が約１５％削減された状態を示すシーケンス図である。
【第３の実施形態】
【０１０５】
第３の実施形態は、通信アダプタ１１に何らかの閾値を設定するのではなく、通信アダプタ１１に対する割り込みの許可と禁止とをソフトウエアによって制御する点で、第１及び第２の実施形態と相違する。この相違点以外のハードウエア構成及びソフトウエア構成について、第３の実施形態は、第１及び第２の実施形態と同じである。
【０１０６】
＜＜構成＞＞
図１５は、第３の実施形態の通信アダプタ１１の構成図である。
【０１０７】
第３の実施形態では、通信アダプタ１１の割り込み制御ユニット１１３のレジスタは、使用されない。また、第３の実施形態では、通信アダプタ１１のＰＣＩインターフェース制御ユニット１１２は、割り込み要因が記録されるレジスタ１１２ａと、割り込みの許可又は禁止の指示が記録されるレジスタ１１２ｂとを、備えている。割り込み制御ユニット１１３は、割り込み禁止の指示がレジスタ１１２ｂに記録されている場合には、割り込みをＣＰＵ１５に通知しない。
【０１０８】
なお、割り込み制御ユニット１１３は、割り込みの通知を行ってから次の通知を行うまでの間に、割り込み要因となる事象が１個しか発生しなかった場合、図４のシーケンス図に示すように、一回の割り込み通知で１個の割り込み要因（例えば、図４の処理Ａの契機となる１個の要因）を通信アダプタドライバ１４ｃに通知する。一方、割り込みの通知を行ってから次の通知を行うまでの間に、割り込み要因となる事象が２個以上発生した場合、割り込み制御ユニット１１３は、図５のシーケンス図に示すように、一回の割り込み通知で複数個の割り込み要因（例えば、図５の処理Ａ乃至処理Ｃの契機となる３個の要因）を通信アダプタドライバ１４ｃに通知する。
【０１０９】
図１６は、第３の実施形態のコンピュータ１０のソフトウエア構成図である。
【０１１０】
第３の実施形態の通信アダプタドライバ１４ｃは、設定制御モジュール１４５を含んでいる。設定制御モジュール１４５は、第１及び第２の実施形態の設定制御モジュール１４３、１４４（図６、図１３）とは若干異なる処理を行うものとなっている。
【０１１１】
＜＜処理＞＞
コンピュータ１０の主電源が投入された後、設定制御モジュール１４５がＣＰＵ１５によって読み込まれ、設定制御処理が開始されるようになっている。
【０１１２】
図１７は、第３の実施形態の設定制御処理の流れを示す図である。
【０１１３】
設定制御処理の開始後、最初のステップＳ４０１では、ＣＰＵ１５は、通信アダプタドライバ１４ｃに設定されている単位時間当たりの割り込み通知回数の上限値（γ［回／秒］）を読み込む。
【０１１４】
次のステップＳ４０２では、ＣＰＵ１５は、ハードウエア制御モジュール１４２から、対応通信アダプタ１１による単位時間当たりの割り込み通知回数（Ｉ［回／秒］）を取得する。なお、後述する処理ステップによって通信アダプタ１１が割り込みを禁止されている場合には、後述のステップＳ４０５において単位時間当たりに取得した割り込み要因の数に基づいて、単位時間当たりの割り込み通知回数（Ｉ［回／秒］）を算出する。
【０１１５】
次のステップＳ４０３では、ＣＰＵ１５は、ステップＳ４０２で取得した単位時間の割り込み通知回数（Ｉ）が、ステップＳ４０１で読み込んだ上限値（γ）を上回っているか否かを、判別する。そして、単位時間の割り込み通知回数（Ｉ）が上限値（γ）を上回っていた場合、ＣＰＵ１５は、ステップＳ４０４へ処理を進める。
【０１１６】
ステップＳ４０４では、ＣＰＵ１５は、割り込み禁止の指示を通信アダプタ１１に設定する。なお、通信アダプタ１１のコントローラ１１ｃは、割り込み禁止の指示を、ＰＣＩインターフェース制御ユニット１１２内のレジスタ１１２ｂに記録する。
【０１１７】
次のステップＳ４０５では、ＣＰＵ１５は、ステップＳ４０１で読み込んだ単位時間当たりの割り込み通知回数の上限値（γ［回／秒］）の逆数である（１／γ）を算出し、その（１／γ）秒おきに、通信アダプタ１１のＰＣＩインターフェース制御ユニット１１２内のレジスタ１１２ａに割り込み要因が記録されているか否かを確認する処理を行う。また、ＣＰＵ４０ｅは、確認の結果、レジスタ１１２ａに割り込み要因が記録されていた場合には、通信アダプタドライバ１４ｃ内の基本制御モジュール１４１内の割り込みハンドラを呼び出す処理も行う。ＣＰＵ４０ｅは、このような割り込み要因の生成を監視する処理を、一定時間行った後、ステップＳ４０１へ処理を戻す。
【０１１８】
一方、ステップＳ４０３において、ステップＳ４０２で取得した単位時間の割り込み回数（Ｉ［回／秒］）が、ステップＳ４０１で読み込んだ上限値（γ［回／秒］）以下であった場合、ＣＰＵ１５は、ステップＳ４０３からステップＳ４０６へ処理を分岐させる。
【０１１９】
ステップＳ４０６では、ＣＰＵ１５は、割り込み許可の指示を通信アダプタ１１に設定する。なお、通信アダプタ１１のコントローラ１１ｃは、割り込み許可の指示を、ＰＣＩインターフェース制御ユニット１１２内のレジスタ１１２ｂに記録する。
【０１２０】
次のステップＳ４０７では、ＣＰＵ１５は、一定時間待機し、その後、ステップＳ４０１へ処理を戻す。
【０１２１】
以上の設定制御処理によれば、対応通信アダプタ１１による単位時間当たりの割り込み通知回数（Ｉ）が、統計情報生成処理で設定された上限値（γ）を上回っている場合に、通信アダプタ１１による割り込みの通知が制限されることとなる。
【０１２２】
＜＜作用効果＞＞
第３の実施形態でも、第１及び第２の実施形態と同様に、統計情報生成デーモン１４ｂが、対応する通信アダプタ１１によるシステム負荷の上限値（δ）と、実測したシステム負荷（α）と、単位時間当たりの割り込み通知回数（β）とに基づいて、対応する通信アダプタドライバ１４ｃに対し、定期的に、単位時間当たりの割り込み通知回数の上限値（γ）を設定する（図７のステップＳ１０１〜Ｓ１０６）。
【０１２３】
また、この統計情報生成デーモン１４ｂと並行して実行される設定制御モジュール１４４が、対応する通信アダプタ１１について実測した単位時間当たりの割り込み通知回数（Ｉ）が上限値（γ）を上回るか否かを、定期的に判別し（ステップＳ４０１〜Ｓ４０３）、単位時間当たりの割り込み通知回数（Ｉ）が上限値（γ）を上回っている場合に、通信アダプタ１１による割り込みに制限を掛ける（ステップＳ４０３；はい、Ｓ４０４）。
【０１２４】
例えば、前述したように、図９に示す１番のＣＰＵ１５が、割り込み通知を単位時間当たり２００００回受けているとともに（α＝２００００）、そのＣＰＵ１５のシステム負荷（使用率）が、６０％となっている（β＝６０）場合において、そのＣＰＵ１５のシステム負荷の上限値が３０％に設定されていた場合（δ＝３０）、単位時間当たりの割り込み通知回数の上限値（γ）は、１００００［回／秒］と見積もられる（ステップＳ１０４）。そして、Ｉ＝２００００＞γであるため、通信アダプタ１１には、割り込み禁止の指示が設定され（ステップＳ４０４）、割り込み要因の生成が、（１／γ）秒おきに確認されるようになる（ステップＳ４０５）。
【０１２５】
そして、図１８に示すように、通信アダプタドライバ１４ｃの設定制御モジュール１４５が割り込み要因を取得する処理（図１８の処理Ｘ）に要する時間が２μ秒であり、通信アダプタドライバ１４ｃの基本制御モジュール１４１が１個の割り込み要因について処理を行うのに要する時間の平均が１０μ秒であり、通信アダプタドライバ１４ｃが割り込み要因に応じた処理を終えた後で後段処理（図１８の処理Ｙ）を行うのに掛かる時間が２μ秒であると仮定する。
【０１２６】
すると、１回の割り込み通知で１個の割り込み要因が通信アダプタドライバ１４ｃに引き渡されるとした場合、図９に示す１番のＣＰＵ１５では、単位時間当たり２００００回の割り込み通知があるため、割り込み処理に掛かる時間は、２００００×（２＋１０＋２）＝２８００００μ秒となる。なお、割り込み通知１回当たりのＣＰＵ１５の処理時間は、２８００００÷２００００＝１４μ秒である。
【０１２７】
一方、第３の実施形態により、通信アダプタ１１による割り込みが禁止され、通信アダプタドライバ１４ｃによる割り込み要因の取得間隔が、（１／γ）＝（１／１００００）秒とされた場合、実質的に、割り込み通知間隔が倍に増えるため、１回の割り込み通知により、平均して２個の割り込み要因が、通信アダプタドライバ１４ｃに引き渡されることとなる。従って、図９に示す１番のＣＰＵ１５では、割り込み処理に掛かる時間は、２００００×１０＋１００００×（２＋２）＝２４００００μ秒となる。なお、割り込み通知１回当たりのＣＰＵ１５の処理時間は、２４００００÷１００００＝２４μ秒である。
【０１２８】
従って、第３の実施形態によっても、図９に示す１番のＣＰＵ１５では、割り込み処理に掛かる時間が、約１５％削減される（２４００００÷２８００００＝０．８５７）。図１９は、ＣＰＵ１５が割り込みに掛ける時間が約１５％削減された状態を示すシーケンス図である。
【０１２９】
＜ユニットに関する説明＞
以上に説明した第１乃至第３の実施形態において、通信アダプタ１１内のコントローラ１１ｃ内の各ユニット１１１〜１３は、何れも、ソフトウエア要素とハードウエア要素とから構成されていても良いし、ハードウエア要素のみで構成されていても良い。
【０１３０】
ソフトウエア要素としては、インターフェースプログラム、ドライバプログラム、テーブル、及び、データ、並びに、これらのうちの幾つかを組み合わせたものが、例示できる。これらは、後述のコンピュータ可読媒体に格納されたものであっても良いし、ＲＯＭ［Read Only Memory］及びＬＳＩ［Large Scale Integration］などの記憶装置に固定的に組み込まれたファームウエアであっても良い。
【０１３１】
また、ハードウエア要素としては、ＦＰＧＡ［Field Programmable Gate Array］、ＡＳＩＣ［Application Specific Integrated Circuit］、ゲートアレイ、論理ゲートの組み合わせ、信号処理回路、アナログ回路、及び、その他の回路が、例示できる。このうち、論理ゲートには、ＡＮＤ、ＯＲ、ＮＯＴ、ＮＡＮＤ、ＮＯＲ、フリップフロップ、カウンタ回路などが、含まれていてもよい。また、信号処理回路には、信号値の加算、乗算、除算、反転、積和演算、微分、積分などを実行する回路要素が、含まれていてもよい。また、アナログ回路には、増幅、加算、乗算、微分、積分などを実行する回路要素が、含まれていてもよい。
【０１３２】
なお、前述した通信アダプタ１１内のコントローラ１１ｃ内の各ユニット１１１〜１３をそれぞれ構成する要素は、以上に例示したものに限定されず、これらと等価な他の要素であっても良い。
【０１３３】
＜ソフトウエア及びプログラムに関する説明＞
以上に説明した第１乃至第３の実施形態において、コンピュータ１０の本体１０ｃ内のソフトウエア１４ａ〜１４ｄ、及び、前述したソフトウエア要素は、何れも、ソフトウエア部品、手続き型言語による部品、オブジェクト指向ソフトウエア部品、クラス部品、タスクとして管理される部品、プロセスとして管理される部品、関数、属性、プロシジャ（手続き）、サブルーチン（ソフトウエアルーチン）、プログラムコードの断片又は部分、ドライバ、ファームウエア、マイクロコード、コード、コードセグメント、エクストラセグメント、スタックセグメント、プログラム領域、データ領域、データ、データベース、データ構造、フィールド、レコード、テーブル、マトリックステーブル、配列、変数、パラメータなどの要素を、含んでいても良い。
【０１３４】
また、前述したコンピュータ１０の本体１０ｃ内のソフトウエア１４ａ〜１４ｄ、及び、前述したソフトウエア要素は、何れも、Ｃ言語、Ｃ＋＋、Ｊａｖａ（米国サンマイクロシステムズ社商標）、ビジュアルベーシック（米国マイクロソフト社商標）、Ｐｅｒｌ、Ｒｕｂｙ、その他の多くのプログラミング言語により記述されたものであっても良い。
【０１３５】
また、前述したコンピュータ１０の本体１０ｃ内のソフトウエア１４ａ〜１４ｄ、及び、前述したソフトウエア要素に含まれる命令、コード及びデータは、有線ネットワークカード及び有線ネットワークを通じて、又は、無線カード及び無線ネットワークを通じて、コンピュータ、又は、機械若しくは装置に組み込まれたコンピュータに、送信又はローディングされても良い。
【０１３６】
前述した送信又はローディングにおいて、データ信号は、例えば搬送波に組み込まれることにより、有線ネットワーク又は無線ネットワーク上を移動する。但し、データ信号は、前述した搬送波に依らず、いわゆるベースバンド信号のまま転送されても良い。このような搬送波は、電気的、磁気的又は電磁的な形態、光、音響、又は、その他の形態で、送信される。
【０１３７】
ここで、有線ネットワーク又は無線ネットワークは、例えば、電話回線、ネットワーク回線、ケーブル（光ケーブル、金属ケーブルを含む）、無線リンク、携帯電話アクセス回線、ＰＨＳ［Personal Handyphone System］網、無線ＬＡＮ［Local Area Network］、Bluetooth（ブルートゥース特別利益団体の商標）、車両搭載型無線通信（ＤＳＲＣ［Dedicated Short Range Communication］を含む）、及び、これらのうちの何れかからなるネットワークである。そして、このデータ信号は、命令、コード及びデータを含む情報を、ネットワーク上のノード又は要素に、伝達する。
【０１３８】
なお、前述したコンピュータ１０の本体１０ｃ内のソフトウエア１４ａ〜１４ｄ、及び、前述したソフトウエア要素を構成する要素は、以上に例示したものに限定されず、これらと等価な他の要素であっても良い。
【０１３９】
＜コンピュータ可読媒体に関する説明＞
以上に説明した第１乃至第３の実施形態における何れかの機能は、コード化されてコンピュータ可読媒体の記憶領域に格納されていても良い。この場合、その機能を実現するためのプログラムが、このコンピュータ可読媒体を介して、コンピュータ、又は、機械若しくは装置に組み込まれたコンピュータに、提供され得る。コンピュータ、又は、機械若しくは装置に組み込まれたコンピュータは、コンピュータ可読媒体の記憶領域からプログラムを読み出してそのプログラムを実行することによって、その機能を実現することができる。
【０１４０】
ここで、コンピュータ可読媒体とは、電気的、磁気的、光学的、化学的、物理的又は機械的な作用によって、プログラム及びデータ等の情報を蓄積するとともに、コンピュータに読み取られ得る状態でその情報を保持する記録媒体をいう。
【０１４１】
電気的又は磁気的な作用としては、ヒューズによって構成されるＲＯＭ［Read Only Memory］上の素子へのデータの書き込みが、例示できる。磁気的又は物理的な作用としては、紙媒体上の潜像へのトナーの現像が、例示できる。なお、紙媒体に記録された情報は、例えば、光学的に読み取ることができる。光学的且つ化学的な作用としては、基盤上での薄膜形成又は凹凸形成が、例示できる。なお、凹凸の形態で記録された情報は、例えば、光学的に読み取ることができる。化学的な作用としては、基板上での酸化還元反応、又は、半導体基板上での酸化膜形成、窒化膜形成、若しくは、フォトレジスト現像が、例示できる。物理的又は機械的な作用としては、エンボスカードへの凹凸形成、又は、紙媒体へのパンチの穿孔が、例示できる。
【０１４２】
また、コンピュータ可読媒体の中には、コンピュータ、又は、機械若しくは装置に組み込まれたコンピュータに着脱自在に装着できるものがある。着脱自在なコンピュータ可読媒体としては、ＤＶＤ（ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭを含む）、＋Ｒ／＋ＷＲ、ＢＤ（ＢＤ−Ｒ、ＢＤ−ＲＥ、ＢＤ−ＲＯＭを含む）、ＣＤ［Compact Disk］（ＣＤ−Ｒ、ＣＤ−ＲＷ、ＣＤ−ＲＯＭを含む）、ＭＯ［Magneto Optical］ディスク、その他の光ディスク媒体、フレキシブルディスク（フロッピーディスク（フロッピーは日立製作所社商標）を含む）、その他の磁気ディスク媒体、メモリーカード（コンパクトフラッシュ（米国サンディスク社商標）、スマートメディア（東芝社商標）、ＳＤカード（米国サンディスク社、松下電器産業社、東芝社商標）、メモリースティック（ソニー社商標）、ＭＭＣ（米国ジーメンス社、米国サンディスク社商標）など）、磁気テープ、及び、その他のテープ媒体、並びに、これらのうちの何れかを内蔵した記憶装置が、例示できる。記憶装置には、ＤＲＡＭ［Dynamic Random Access Memory］又はＳＲＡＭ［Static Random Access Memory］がさらに内蔵されたものもある。
【０１４３】
また、コンピュータ可読媒体の中には、コンピュータ、又は、機械若しくは装置に組み込まれたコンピュータに固定的に装着されたものがある。この種のコンピュータ可読媒体としては、ハードディスク、ＤＲＡＭ、ＳＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ［Electronically Erasable and Programmable Read Only Memory］、フラッシュメモリなどが、例示できる。
【図１】
2009122514.tif 000003
【図２】
2009122514.tif 000004
【図３】
2009122514.tif 000005
【図４】
2009122514.tif 000006
【図５】
2009122514.tif 000007
【図６】
2009122514.tif 000008
【図７】
2009122514.tif 000009
【図８】
2009122514.tif 000010
【図９】
2009122514.tif 000011
【図１０】
2009122514.tif 000012
【図１１】
2009122514.tif 000013
【図１２】
2009122514.tif 000014
【図１３】
2009122514.tif 000015
【図１４】
2009122514.tif 000016
【図１５】
2009122514.tif 000017
【図１６】
2009122514.tif 000018
【図１７】
2009122514.tif 000019
【図１８】
2009122514.tif 000020
【図１９】
2009122514.tif 000021
【手続補正書】
【提出日】平成22年10月14日(2010.10.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
割込みを発生する割込み発生部と、
前記発生した割込みを受信して、単位時間当たりの割込みの受信数を計数するとともに割込みを通知し、前記計数した単位時間当たりの割込みの受信数が所定値を超える場合には、前記割込みの通知を遅らせる割込み制御部と、
前記通知された割込みを処理する割込み処理部を有することを特徴とする情報処理装置。
【請求項２】
前記割込み制御部は、
前記計数した単位時間当たりの割込みの受信数が所定値を超える場合には、前記受信した割込みのうち前記所定値を超えた分の割込みについて、前記割込みの通知を遅らせることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記割込み制御部は、
前記割込みの通知を遅らせている間に、前記割込み発生部から第１の新たな割込みを受信した場合には、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを、前記割込み処理部に通知することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記割込み制御部が、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを、前記割込み処理部に通知した場合において、
前記割込み処理部が、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを処理している間に、前記割込み制御部が、前記割込み発生部から第２の新たな割込みを受信した場合には、前記受信した第２の新たな割込みを前記割込み処理部に通知しないことを特徴とする請求項３記載の情報処理装置。
【請求項５】
割込みを発生する割込み発生部と、
前記発生した割込みを受信し、前記受信した割込みの通知を遅らせるとともに、前記割込みの通知を遅らせている間に、前記割込み発生部から第１の新たな割込みを受信した場合には、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを、通知する割込み制御部と、
前記通知された割込みを処理する割込み処理部を有することを特徴とする情報処理装置
。
【請求項６】
前記割込み制御部が、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを、前記割込み処理部に通知した場合において、
前記割込み処理部が、前記通知を遅らせた割込みと前記受信した第１の新たな割込みとを処理している間に、前記割込み制御部が、前記割込み発生部から第２の新たな割込みを受信した場合には、前記受信した第２の新たな割込みを前記割込み処理部に通知しないことを特徴とする請求項５記載の情報処理装置。
【請求項７】
割込みを発生する割込み発生部が発生した割込みを受信し、単位時間当たりの割込みの受信数を計数するとともに割込みを通知し、前記計数した単位時間当たりの割込みの受信数が所定値を超える場合には、前記割込みの通知を遅らせる割込み制御部と、
前記通知された割込みを処理する割込み処理部を有することを特徴とする割込み制御装置。
【請求項８】
通知された割込みを処理する割込み処理回路に接続される割込み制御回路において、
割込みを発生する割込み発生回路が発生した割込みを受信し、単位時間当たりの割込みの受信数を計数するとともに割込みを通知し、前記計数した単位時間当たりの割込みの受信数が所定値を超える場合には、前記割込みの通知を遅らせることを特徴とする割込み制御回路。
【請求項９】
割込み発生部と割り込み制御部と割込み処理部を有する情報処理装置の割込み制御方法において、
前記割込み発生部が、割込みを発生するステップと、
前記割込み制御部が、前記発生した割込みを受信して、単位時間当たりの割込みの受信数を計数するステップと、
前記割込み制御部が、前記計数した単位時間当たりの割込みの受信数が所定値以下の場合には、割込みを通知するとともに、前記割込み制御部が、前記計数した単位時間当たりの割込みの受信数が所定値を超える場合には、前記割込みの通知を遅らせるステップと、
前記割込み処理部が、前記通知された割込みを処理するステップを有することを特徴とする割込み制御方法。
【請求項１０】
前記割込み制御部は、
前記計数した単位時間当たりの割込みの受信数が所定値を超える場合には、前記受信した割込みのうち前記所定値を超えた分の割込みについて、前記割込みの通知を遅らせることを特徴とする請求項９記載の割込み制御方法。
【国際調査報告】
2009122514.tif 000022
2009122514.tif 000023
2009122514.tif 000024
2009122514.tif 000025
2009122514.tif 000026
2009122514.tif 000027
2009122514.tif 000028