(57)【特許請求の範囲】
【請求項１】
遠隔割り込み信号を処理するための方法であって、
遠隔ノードにおいて割り込み信号源から割り込み信号を受信するステップと、
受信された割り込み信号に基づき、割り込み信号源の識別子を含む生パケットを選択するステップと、
遠隔ノードからホストノードへネットワークを介して、選択された生パケットおよびホストノードの識別子を含むネットワークパケットを発行するステップと、
を含み、ホストノードは受信したネットワークパケットに含まれる生パケットにより遠隔ノードにおける割り込みの発生を認識する方法。
【請求項２】
選択ステップが、受信された割り込み信号に対応する生パケットの転送に失敗したことに応答して、生パケットの転送が成功するまで、選択ステップを複数回繰り返すステップをさらに含む、請求項１に記載の方法。
【請求項３】
ホストノードから受信された応答に基づき、発行された生パケットの状態を決定するステップをさらに含む、請求項１に記載の方法。
【請求項４】
遠隔割り込みに応答して、ネットワークを介してネットワークパケットを発行し受信するためのシステムであって、
処理ユニットを含み、ネットワークに動作的に結合されて、発行されたネットワークパケットを受信するためのホストノードと、
ネットワークインタフェースモジュールと割り込み信号源とを含み、割り込み信号源から受信された割り込み信号に基づき割り込み信号源の識別子を含む生パケットおよびホストノードの識別子を含むネットワークパケットを発行するための、遠隔ノードと、
を具備し、ホストノードは受信したネットワークパケットに含まれる生パケットにより遠隔ノードにおける割り込みの発生を認識するシステム。
【請求項５】
ネットワークインタフェースシステムであって、
いくつかの生パケットを記憶するための生パケットバッファであって、各生パケットが、対応する割り込み信号源の識別子を含み、割り込み信号源が割り込み信号をネットワークインタフェースシステムに供給することに応答して、ネットワークインタフェースシステムが、ネットワークを介してホストノードに、割り込み信号に対応する生パケットおよびホストノードの識別子を含むネットワークパケットを発行し、ホストノードは受信したネットワークパケットに含まれる生パケットにより遠隔ノードにおける割り込みの発生を認識する、生パケットバッファを具備するネットワークインタフェースシステム。
【請求項６】
いくつかの割り込み信号源に動作的に結合される割り込み信号入力と、生パケットバッファに動作的に結合される生パケットセレクト出力とを有し、割り込み信号源からの割り込み信号を受信し受信された割り込み信号に基づき、生パケットバッファに記憶された生パケットを選択するためのプロセッサをさらに具備する、請求項５に記載のシステム。
【請求項７】
選択された生パケット入力とネットワークパケット出力とを有し、選択された生パケットをネットワークパケット内に埋め込み、ホストノードへ前記ネットワークを介してネットワークパケットを発行するためのパケットアセンブラをさらに具備する、請求項６に記載のシステム。
【請求項８】
ネットワーク入力と状態出力とを有し、ホストノードから受信された応答に基づき、発行された生パケットの状態を決定するためのパケットレシーバをさらに具備する、請求項６に記載のシステム。
【請求項９】
発行された生パケットが拒絶状態に関連していることに応答して、前記プロセッサが、発行された生パケットの不成功の転送試みを追跡するためのリトライカウンタを増加する、請求項６に記載のシステム。
【請求項１０】
生パケットがホストノードに予め準備され、準備された生パケットが生パケットバッファに供給される、請求項５に記載のシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、遠隔割り込み、より具体的には、遠隔割り込みに応答してネットワーク上に生パケットを発行することに関する。
【０００２】
【従来の技術】
割り込みは、特定のイベントが生じたことをホストデバイスまたはプログラムに通知する信号である。ホストが割り込み信号を受信した場合、ホストは指定された動作をとるか、あるいは割り込み信号を単に無視することができる。ある割り込み信号には、他の割り込み信号または処理よりも高い優先度を割り当てることができる。すなわち、高い優先度の割り込み信号は、そのより高い優先度の割り込みが処理される間、より低い優先度の処理を一時的に停止させることができる。簡単に言えば、割り込み信号はハードウェアまたはソフトウェアによって生成することができ、これによって、あるイベントが生じたことを指示する。しかし、割り込み信号がその意図する目的を果たすためには、割り込み信号は、割り込みを解釈して対応する動作をとることができるデバイスによって受信されなければならない。
【０００３】
従来のコンピュータシステムでは、入力／出力デバイス（ＩＯデバイス）またはコンピュータアプリケーションによって生成される割り込みは、一般的に、割り込みデバイスに対してローカルな割り込みコントローラおよび中央処理ユニット（ＣＰＵ）によって処理される。ローカルホストＣＰＵは、ローカルホストバスに結合された各デバイスタイプからの割り込み要求に応答する。ＩＯデバイスは、ダイレクトラインによってまたは共有ラインによって割り込みコントローラに結合できる。割り込みコントローラは割り込み要求を受信し、それらを割り込みに関連する割り込みの番号と共にＣＰＵに提供する。このように、割り込み要求の処理は、ホストＣＰＵのような、割り込みデバイスに対してローカルなインテリジェントホストデバイスを必要とする。
【０００４】
インテリジェントデバイスに関するこの必要条件は問題となり得る。例えば、ネットワークインタフェースカード（ＮＩＣ）を介してネットワークに結合されたいくつかのアンインテリジェントＩＯデバイスのみを含む遠隔ノードを有するネットワーク環境について考えてみよう。各ＩＯデバイスは、割り込み要求をホストＣＰＵノードに通知するためのユニークな１組の必要条件を有する。すなわち、サポートされた各ＩＯデバイスに関する種々のパラメータを記憶するために、遠隔ＮＩＣに含まれる専用レジスタが使用される。このようにして、遠隔ＮＩＣを利用して遠隔割り込みを処理できる。
【０００５】
しかし、ＩＯデバイスが実行する各動作は、異なる１組の割り込みパラメータまたは必要条件を有する場合がある。さらに、各ＩＯデバイスは、そのノードの他のＩＯデバイスの割り込み必要条件と異なる種々の割り込み必要条件を有する場合がある。このように、ＩＯデバイスおよびそれらのＩＯデバイスの各々によって実行される動作の多様性は、遠隔ＮＩＣに相当量のレジスタ空間を必要とする可能性がある。この問題に対する１つの解決方法は、各ＩＯデバイスのためのサポート操作の数を単に制限することである。しかし、このような解決方法は、必ずしも望ましくまた実用的とは限らない。さらに、ＩＯデバイスの割り込み必要条件が未知または明らかでないならば、そのデバイスのために遠隔ＮＩＣを構成することができない。
【０００６】
【発明が解決しようとする課題】
したがって、必要なことは、遠隔およびアンインテリジェントノードにおいて発生した割り込みを処理するための技術である。この技術は、複数の多様な割り込み必要条件と、種々の割り込みデバイスおよびイベントを収容するようにフレキシブルでなければならない。
【０００７】
【課題を解決するための手段】
本発明の１つの実施形態は、遠隔割り込み信号を処理するための方法を提供する。本方法は、遠隔ノードにおいて割り込み信号源から割り込み信号を受信することを含む。さらに、本方法は、受信された割り込み信号に基づき生パケットを選択することを含み、生パケットは割り込み信号源の識別子を含む。本方法は、遠隔ノードからホストノードへネットワークを介して選択された生パケットを送出することをさらに含む。
【０００８】
本発明の他の実施形態は、遠隔割り込みに応答してネットワークを介して生パケットを発行するためのシステムを提供する。本システムは、処理ユニットを含むホストノードを含む。ホストノードはネットワークに動作的に結合され、また発行された生パケットを受信するためにある。本システムの本実施形態は、ネットワークインタフェースモジュールと割り込み信号源とを含む遠隔ノードをさらに含む。ネットワークインタフェースモジュールは、割り込み信号源から受信された割り込み信号に基づき生パケットを発行するためにある。生パケットは割り込み信号源の識別子を含む。
【０００９】
本発明の他の実施形態はネットワークインタフェースシステムを提供する。このネットワークインタフェースシステムは、いくつかの生パケットを記憶するための生パケットバッファを含み、各生パケットは、対応する割り込み信号源の識別子を含む。割り込み信号源が割り込み信号をネットワークインタフェースシステムに供給することに応答して、ネットワークインタフェースシステムは、対応する生パケットをネットワークを介してホストノードに発行する。
【００１０】
本明細書に記述した特徴および利点はすべてが包括的とは限らず、また特に、図面、明細書および請求の範囲を考慮すれば、追加の多くの特徴および利点が当業者に明白となるであろう。さらに、本明細書で用いた用語は、主に読みやすさと説明目的のために選択されており、また創意に富んだ主題の範囲を限定するものでないことを指摘する。
【００１１】
【発明の実施の形態】
図１は、本発明の一実施形態による遠隔割り込みに応答して生パケットを送出できるシステムのブロック図である。システムは、ネットワーク１１５を介して遠隔ノードに関連したホストノードを含む。ホストノードは、ホストバスによってネットワークインタフェースカード（ＮＩＣ）１１０に動作的に結合される中央処理ユニット（ＣＰＵ）１０５を含む。他方で、遠隔ノードは、システムバスまたはＩＯバス等によってＣＰＵ１２５と、いくつかの入力／出力（ＩＯ）デバイス１３０（例えば１３０ａと１３０ｂ）とに動作的に結合されるＮＩＣ１２０を含む。遠隔ノードに含まれるデバイスの各々は、ハードウェア割り込みまたはソフトウェア割り込みであるにせよ、割り込み信号を生成できる。
【００１２】
いくつかの異なる代替実施形態を構成することが可能であり、本発明は、任意の１つの特定の実施形態または構成に限定することを意図するものではないことに留意されたい。例えば、遠隔ノードはＣＰＵ１２５を含む必要がないか、あるいは１つ以上のＣＰＵ１２５を含み得る。さらに、ネットワーク１１５に関連する任意の数のノードがあり得る。一実施形態では、遠隔ノードは、ネットワークカード１２０の機能が統合された単一のＩＯデバイス１３０を含む。ホストノードのホストバスならびに遠隔ノードのシステム／ＩＯバスは、周辺装置相互接続（ＰＣＩ）バスまたは他の従来のバスの技術であり得る。本開示を考慮すると、他の実施形態および構成が明白である。
【００１３】
一般に、イベントは、生成されるべき割り込み信号をトリガする遠隔ノードに生じる。割り込み信号源は、遠隔ノードに含まれるデバイスの任意のデバイスからのものであり得る。例えば、この割り込み信号は、ＣＰＵ１２５により実行されるプログラムが、例えばデータをプログラムに提供するというような、何かをホストノードのＣＰＵ１０５が行うことを要求する場合にプログラムによって生成される。同様に、割り込み信号は、印刷要求を受けたが目下用紙が切れているプリンタのようなＩＯデバイス１３０によって生成される。割り込み信号がＣＰＵ１２５またはＩＯデバイス１３０等によって生成される要因には、他の多くの要因がある。一般的に、割り込みは、エラー、動作完了（例えばダイレクトメモリアクセスの完了）、あるいは他の特殊なイベントによって生成される。
【００１４】
割り込み信号が生成される理由に関係なく、応答動作をとることができるようにホストノード（例えばＣＰＵ１０５）に割り込みを認識させなければならない。割り込みがホストノードに通信されないならば、おそらく望ましくない結果ではあるが、あたかも割り込みが生成されなかったとして、それは単に無視されるであろう。図示した実施形態では、ＮＩＣ１２０は、ホストノードによって予め準備された生パケットを発行または「送出する」ことによって、割り込み信号源の１つにより生成される割り込み信号に応答する。例えば、生パケットは、処理ホストデバイスのアドレスと、生成された割り込み信号に関連したデバイスまたはイベントの識別子と、ホストが割り込み要求を処理する際に必要とする他の関連情報とを指定できる。例えば、生パケットはまた、割り込みデバイスに関する情報または割り込みデバイスに関連した状態コードを含む。
【００１５】
生パケットは、初期のシステム設定セッションの間に、あるいは新しい割り込み信号源（例えば、ＣＰＵ１２５、ＩＯデバイス１３０またはあるイベント）がシステムに加えられるとき、ホストソフトウェア、ハードウェア、ファームウェアまたは任意のそれらの組合せによって準備できる。生パケットが準備されると、生パケットは、対応する遠隔ノード（例えばＮＩＣ１２０）に伝達され、記憶される。図示した実施形態では、準備された生パケットは、ＮＩＣ１２０に含まれるバッファに記憶される。遠隔割り込み信号源の１つが割り込み信号を生成するとき、その信号はＮＩＣ１２０によって受信される。
【００１６】
いくつかの方法で、例えば電気信号（例えばロジックハイまたはロウ信号）の形態でまたはイベントの発生（例えばタイマの経過）により、割り込み信号を表し得ることに留意されたい。ＮＩＣ１２０は、その特定の割り込み信号に対応する生パケットを発行することによって割り込み信号に応答する。この生パケットは、ネットワーク１１５上を転送され、ホストノードによって受信される。次に、ホストノード（例えばＣＰＵ１０５）は生パケットを調べ、関連割り込み要求を評価し、また応答動作をとることができる。
【００１７】
図２は、本発明の一実施形態による遠隔ネットワークインタフェースシステムの概略ブロック図である。図から理解できるように、ＮＩＣ１２０の本実施形態は生パケットバッファ２０５を含む。この生パケットバッファ２０５は、いくつかの生パケット（例えば、生パケット０、生パケット１、生パケット２、等）を含む。これらの生パケットの各々は、特定の割り込み線に関連され、各割り込み線は特定の割り込み信号源（例えば、ＩＯデバイス１３０、ＣＰＵ１３５またはイベント）に関連される。割り込み線がアクティブになることに応答して、関連生パケットがネットワーク１１５に発行される。以前に示したように、生パケットバッファ２０５に記憶された生パケットは、システム設定セッション等の間に予め準備され、次に、生パケットバッファ２０５に記憶するためにＮＩＣ１２０に提供される。
【００１８】
一実施形態では、生パケットバッファ２０５はスタティックランダムアクセスメモリ（ＳＲＡＭ）で実現される。しかし、他のメモリ手段を使用して、生パケットバッファ２０５を実現できる。例えば、生パケットバッファ２０５はダイナミックランダムアクセスメモリで実現し得る。或いは、生パケットバッファ２０５は、フラッシュメモリチップまたは電子的に消去可能なプログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）のような不揮発性メモリで実現し得る。或いは、生パケットバッファは、それぞれが特定の生パケットの内容に対応するデータ構造の連結リストであり得る。要するに、アドレス可能、さもなければインデックス可能な内容を提供する任意の記憶媒体（例えば、ハードウェア、ソフトウェア、ファームウェア）を使用して、生パケットバッファ２０５を実現できる。
【００１９】
図３は、本発明の一実施形態による遠隔ネットワークインタフェースシステムの詳細なブロック図である。ＮＩＣ１２０の本実施形態は、生パケットバッファ２０５、パケットレシーバ２１０、パケットアセンブラ２１５、いくつかの状態マシン２２０（例えば、ＳＭ０、ＳＭ１、ＳＭ２、ＳＭＮ）、ポインタセレクタ２２５、割り込みコントローラ２３０およびパケット準備手段へのインタフェース２３５を含む。例えば、これらのコンポーネントの各々は、ハードウェア、ソフトウェア、ファームウェアまたは任意のそれらの組合せで実現し得る。これらのコンポーネントは、物理的には、互いに独立して物理的に実現可能であり（例えば、個々のモジュールまたは集積回路）、あるいは単一の集積回路またはチップセット等で実現可能である。
【００２０】
パケットレシーバ２１０はネットワークからパケット（ネットワークパケットと呼ぶ）を受信し、パケットから情報を抽出し、またその情報をＮＩＣ１２０に包括的に利用可能にする。図示した実施形態では、ネットワークパケットから抽出された情報は状態情報を含む。次に、この状態情報は状態出力を介して状態マシン２２０に提供される。例えば、パケットレシーバ２１０の状態出力は、ノーマル、エラーまたはリトライの状態を指示し得る。ノーマルは、以前の生パケットの転送が成功したこと、および現在異常状態がないことを指示する。しかし、エラーまたはリトライの状態は、以前に転送された生パケットが拒絶されたことを指示する。エラー状態は、以前に送出された生パケットに不具合があったか、さもなければエラー状態に関連していたことを指定し、一方、リトライ状態は、以前に送出された生パケットの目標ノードがビジーまたは使用できなかったことを指定する。どちらの場合も、割り込み要求は、この転送が成功し、認識されるまで複数回試みることができる。状態マシン２２０にカウンタを使用して、リトライの数を追跡し、永続的な繰返し状態を防止することができる。
【００２１】
割り込みコントローラ２３０は、ＩＯデバイスおよびソフトウェアアプリケーションのような割り込み信号源からの割り込み線に結合される。割り込みコントローラ２３０は割り込み要求を受信し、対応する状態マシン２２０にその割り込み要求を行う。例えば、割り込み２に関連した割り込み線が受信されたならば、割り込みコントローラは、状態マシン２２０のＳＭ２にこの割り込み要求を提供する。一実施形態では、割り込みコントローラ２３０によって受信される各割り込み線は状態マシン２２０に関連される（例えば、割り込み線０はＳＭ０に対応し、割り込み線１はＳＭ１に対応し、割り込み線２はＳＭ２に対応する、等々）。しかし、割り込みコントローラ２３０によって受信される割り込み線はまた、特定の状態マシン２２０を共有し得る（例えば、割り込み線０と１はＳＭ０に対応し得る）。割り込み線／状態マシン対の数は、割り込み信号源の多様性および割り込み信号源に関連した様々な割り込み必要条件のような要因に関係する。
【００２２】
状態マシン２２０は、１組の状態（例えば、初期状態、現在の状態および次の状態）、１組の入力イベント、１組の出力イベントおよび状態遷移機能を含む。状態遷移機能は現在の状態と入力イベントとを取り、新しい組の出力イベントおよび次の状態を返す。図示した実施形態では、各状態マシン２２０に対する入力イベントは、割り込みコントローラ２３０の出力とパケットレシーバ２１０の状態出力とを含む。各状態マシン２２０の出力イベントは、受信された割り込み要求に関連する要求と、いくつかの生パケットセレクタ出力とを含む。出力イベントおよび次の状態の値は、状態マシンおよび入力イベントの現在の状態に依存する。一般に、状態マシン２２０は、順序づけられた１組の入力イベントを対応する１組の出力イベントに、マッピングする。
【００２３】
一実施形態では、状態マシン２２０は、特定の割り込み要求に応答して生パケットが転送される回数を追跡するカウンタを保持する。ホストノードによって拒絶された生パケットは、例えば、送信エラーのため、あるいはパケットレシーバ２１０の状態出力により指定されたようにホストノードがビジーだったため、再送信する必要があるかもしれない。状態マシン２２０の現在の状態が、生パケットが最大許容回数リトライされたこと（例えば、エラーまたは輻奏のため）を示すならば、対応する出力イベントおよび次の状態は、要求をリトライし続けるのでなくエラーを記録する。本開示を考慮すると、状態マシン２２０のカウンタの別形態が明白である。例えば、輻奏に基づく理由のため拒絶された生パケットは複数回リトライされ、一方、エラーに基づく理由のため拒絶された生パケットは、全くリトライされない。エラーという状態は即座に記録されるか、さもなければ、システム管理者またはユーザに知らされる。
【００２４】
ポインタセレクタ２２５は、状態マシン２２０の生パケットセレクタ出力を、生パケットバッファ２０５内の対応する生パケットの位置を識別するアドレスに変換する。次に、選択された生パケットは、受信された割り込み信号に関連する要求と共に、パケットアセンブラ２１５に提供される。次に、パケットアセンブラ２１５は、要求しているデバイスの識別子を含む受信された割り込み信号および生パケットに関連する要求を含むネットワークパケットを生成する。パケットアセンブラ２１５の出力はネットワーク１１５に動作的に結合され、これによって、組み立てられたネットワークパケットがネットワーク１１５を介してホストノードに転送されるのを可能にする。ネットワーク１１５は、家庭または事務所のローカルエリアネットワークまたは複数の事務所または家庭等の範囲にわたる広域ネットワーク（インターネットを含む）であり得ることに留意されたい。
【００２５】
インタフェース２３５は、パケット準備手段をＮＩＣ１２０の生パケットバッファ２０５にインタフェースする。例えば、インタフェース２３５は、パケット準備手段から準備された生パケットを受信するＲＳ２３２Ｃデータポートであり得る。しかし、ＲＳ−４２２、ＲＳ−４２３、ＵＳＢおよびＩＥＥＥ１３９４のような他のシリアルポート技術も本実施例において利用できる。また、ＳＣＳＩポート、セントロニクスタイプのポート、エンハンストパラレルポートおよびエクステンディッドケパビリティポートのようなパラレルポート技術を利用して、インタフェース２３５を実現できる。一実施形態では、パケット準備手段はホストノードで動作するソフトウェアプログラムである。このソフトウェアプログラムは、設定セッションの間に（例えば、各割り込み信号源がシステムに加えられるか、さもなければ導入されるとき）、各割り込み信号源に関する割り込み必要条件情報を受信できる。次に、準備された生パケットは、インタフェース２３５を介して生パケットバッファ２０５に提供できる。
【００２６】
代替実施形態では、インタフェース２３５は、準備された生パケットを含むネットワークパケットを受信するパケットレシーバであり得る。生パケットは、受信されたネットワークパケットから抽出され、次に、生パケットバッファ２０５に提供される。このような一実施形態では、インタフェース２３５はパケットレシーバ２１０に含まれ、このパケットレシーバは、生パケットバッファ２０５に結合して、ネットワーク１１５から受信されたネットワークパケットから生パケットを抽出するようにプログラミングするか、さもなければ構成し得る。次に、抽出された生パケットはパケットレシーバ２１０から生パケットバッファ２０５に提供される。
【００２７】
図４と図５は、本発明の一実施形態による遠隔割り込み信号を処理するための方法を示したフローチャートである。例えば、この方法は、図３の状態マシン２２０のような状態マシンによって実施できる。しかし、従来のＣＰＵまたはマイクロコントローラ上で動作する１組のソフトウェアインストラクションのような、この方法を実行するために利用できるいくつかの処理環境があり、また本発明は、１つの特定の実施形態に限定することを意図するものではない。
【００２８】
本方法は、ＩＯデバイスまたはソフトウェアアプリケーションのような割り込み信号源からの割り込み信号の受信３０５に始まる。本方法は、受信された割り込み信号に基づく生パケットの選択３１０に進む。一実施形態では、対応する生パケットを収容するバッファ位置がビジーかさもなければ使用できないならば、プロセスは、受信された割り込み信号に関連する生パケットが使用可能になるまで選択ステップを複数回繰り返すステップを含み得る。生パケットは、割り込み要求を処理するか、あるいはそれに応答するために、ホストノードが必要とする要求デバイスまたはイベントの識別子のような情報を含む。
【００２９】
本方法は、選択された生パケットの発行３１５をさらに含む。一実施形態では、選択された生パケットはネットワークパケット内に埋め込まれ、ネットワークを介してホストノードに転送される。ネットワークパケットはまた、意図する受信者のアドレスまたは識別子、および受信された割り込み信号に関連する要求、命令または指示のような他の情報を含み得る。本方法は、ホストからの応答を待つ待機３２０も含み得る。例えば、この応答は、選択された生パケットを含むネットワークパケットが受信され、然るべく応答されたことを指示し得る。或いは、この応答は、ネットワークパケットの転送が、輻奏（例えば、ホストノードがビジー）またはエラー（例えば、パケットに欠陥）により成功しなかったことを指示し得る。
【００３０】
一実施形態では、本方法は、発行された生パケットが拒絶されたかどうかの決定３２５をさらに含む。例えば、この決定は、ホストノードから受信された応答に基づくことができる。本方法は、発行された生パケットが輻奏のため拒絶されたかどうかの決定３３０をさらに含み得る。発行された生パケットが輻奏のために拒絶されたならば、本方法は、リトライカウンタの増加３３５を含み得る。リトライカウンタは、特定の生パケットが特定の割り込み要求に応答して何回発行されたかを追跡するための手段を提供する。このような実施形態では、本方法は、リトライカウンタがその最大許容値にあるかどうかの決定３４０をさらに含み得る。リトライカウンタがその最大許容値にあるならば、リトライはそれ以上試みられない。むしろ、本方法はエラー記録３４０に進む。
【００３１】
他方、輻奏でなく、他のある理由のために生パケットが拒絶されたならば、本方法はエラー記録３４０に進む。この場合、パケットは、例えばパケットの欠陥のため拒絶された可能性がある。さらに、ホストノードからの応答なしに経過する時間の最大値を設定すれば、タイムアウト状態を示すことができる。この場合、本方法は、タイムアウトエラーを記録するか、あるいはタイムアウトメッセージを表示することによって、タイムアウト状態を表すことを含み得る。代替実施形態では、輻奏でない事象に関連した失敗のためのリトライカウンタを設けることができ、これによって、このような失敗の場合に複数回のリトライを可能にすることに留意されたい。
【００３２】
本発明の実施形態に関する上述の説明は、例示と説明のために提示されている。この説明は、開示した正確な形態に対し網羅的であること、あるいは本発明を前記形態に限定することを意図するものではない。多くの修正と変更が、当業者によって理解されるように、上記の内容を考慮して可能である。
【００３３】
例えば、ＮＩＣ１２０の機能はマイクロコントローラユニット（ＭＣＵ）で実現することができ、この場合、割り込み信号源からの割り込み線はＭＣＵのＩＯポートに結合し得る。ＭＣＵは、ＭＣＵに含まれた不揮発性メモリに記憶される１命令セットを実行できるプロセッサを含む。また、このメモリを使用して生パケットバッファ２０５を記憶できるであろう。命令セットにより、状態マシン２２０、パケットレシーバ２１０、パケットアセンブラ２１５およびポインタセレクタ２２５等の機能を実現し得る。生パケットバッファ２０５はまた、ソフトウェアベースのメモリによって実現し得る。また、ＭＣＵは、インタフェース２３５を実現するためのデータポート資源（例えば、ＵＳＢまたはＲＳ２３２Ｃ）を含み得る。要するに、本発明の機能性を実行するために利用される技術は、目標とする実現コスト、割り込み信号源の複雑さと多様性、および生パケットが遠隔割り込みに応答して送出されるネットワークの特性のような要因に依存する。
【００３４】
本発明の範囲は本出願の詳細な説明でなく、むしろ添付請求項によって限定されることが意図される。
（付記１）遠隔割り込み信号を処理するための方法であって、
遠隔ノードにおいて割り込み信号源から割り込み信号を受信するステップと、受信された割り込み信号に基づき、割り込み信号源の識別子を含む生パケットを選択するステップと、
遠隔ノードからホストノードへネットワークを介して選択された生パケットを発行するステップと、
を含む方法。（１）
（付記２）割り込み信号源が、遠隔ノードに生じたイベントであり、また割り込み信号がイベントの表示である、付記１に記載の方法。
（付記３）選択ステップが、受信された割り込み信号に関連した生パケットが使用できないことに応答して、生パケットが使用可能になるまで、選択ステップを複数回繰り返すステップをさらに含む、付記１に記載の方法。（２）
（付記４）発行するステップが、選択された生パケットをネットワークパケット内に埋め込み、ホストノードへネットワークを介してネットワークパケットを転送することによって達成される、付記１に記載の方法。
（付記５）ネットワークパケットが、ホストに関連したアドレスと、受信された割り込み信号に関連した要求とを含む、付記４に記載の方法。
（付記６）ホストノードから受信された応答に基づき、発行された生パケットの状態を決定するステップをさらに含む、付記１に記載の方法。（３）
（付記７）発行された生パケットが拒絶されていたことに応答して、リトライカウンタを増加するステップをさらに含む、付記１に記載の方法。
（付記８）リトライカウンタが最大許容値にあることに応答して、エラーを記録するステップをさらに含む、付記７に記載の方法。
（付記９）発行された生パケットが拒絶されていたことに応答して、エラーを記録するステップをさらに含む、付記１に記載の方法。
（付記１０）発行された生パケットに関するホストノードからの無応答の受信に応答して、タイムアウト状態を指示するステップをさらに含む、付記１に記載の方法。
（付記１１）遠隔割り込みに応答して、ネットワークを介して生パケットを発行するためのシステムであって、
処理ユニットを含み、ネットワークに動作的に結合されて、発行された生パケットを受信するためのホストノードと、
ネットワークインタフェースモジュールと割り込み信号源とを含み、割り込み信号源から受信された割り込み信号に基づき割り込み信号源の識別子を含む、生パケットを発行するための、遠隔ノードと、
を具備するシステム。（４）
（付記１２）遠隔ノードが、いくつかの多様な割り込み信号源を含み、各割り込み信号源が、前記遠隔ノードのネットワークインタフェースモジュールに記憶された少なくとも１つの生パケットに関連される、付記１１に記載のシステム。
（付記１３）ネットワークインタフェースシステムであって、
いくつかの生パケットを記憶するための生パケットバッファであって、各生パケットが、対応する割り込み信号源の識別子を含み、割り込み信号源が割り込み信号をネットワークインタフェースシステムに供給することに応答して、ネットワークインタフェースシステムが、ネットワークを介してホストノードに対応する生パケットを発行する、生パケットバッファを具備するネットワークインタフェースシステム。（５）
（付記１４）いくつかの割り込み信号源に動作的に結合される割り込み信号入力と、生パケットバッファに動作的に結合される生パケットセレクト出力とを有し、割り込み信号源からの割り込み信号を受信し受信された割り込み信号に基づき、生パケットバッファに記憶された生パケットを選択するためのプロセッサをさらに具備する、付記１３に記載のシステム。（６）
（付記１５）選択された生パケット入力とネットワーク出力とを有し、選択された生パケットをネットワークパケット内に埋め込み、ホストノードへ前記ネットワークを介してネットワークパケットを発行するためのパケットアセンブラをさらに具備する、付記１４に記載のシステム。（７）
（付記１６）パケットアセンブラが、プロセッサの要求出力に動作的に結合される要求入力を有し、ネットワークパケットが、受信された割り込み信号に関連した要求を含む、付記１５に記載のシステム。
（付記１７）ネットワーク入力と状態出力とを有し、ホストノードから受信された応答に基づき、発行された生パケットの状態を決定するためのパケットレシーバをさらに具備する、付記１４に記載のシステム。（８）
（付記１８）発行された生パケットが拒絶状態に関連していることに応答して、前記プロセッサが、発行された生パケットの不成功の転送試みを追跡するためのリトライカウンタを増加する、付記１４に記載のシステム。（９）
（付記１９）前記リトライカウンタが最大許容値にあることに応答して、前記プロセッサがエラーを記録する、付記１８に記載のシステム。
（付記２０）発行された生パケットが拒絶された状態に関連されることに応答して、前記プロセッサがエラーを記録する、付記１４に記載のシステム。
（付記２１）前記ホストノードからの無応答の受信に応答して、前記プロセッサがタイムアウトの状態を指示する、付記１４に記載のシステム。
（付記２２）生パケットがホストノードに予め準備され、準備された生パケットが生パケットバッファに供給される、付記１３に記載のシステム。（１０）
【図面の簡単な説明】
【図１】本発明の一実施形態による遠隔割り込みに応答して生パケットを送出するためのシステムのブロック図である。
【図２】本発明の一実施形態による遠隔ネットワークインタフェースシステムの概略ブロック図である。
【図３】本発明の一実施形態による遠隔ネットワークインタフェースシステムの詳細なブロック図である。
【図４】本発明の一実施形態による遠隔割り込み信号を処理するための方法を示したフローチャートの前半である。
【図５】本発明の一実施形態による遠隔割り込み信号を処理するための方法を示したフローチャートの後半である。
【図１】
0004034572.tif 000002
【図２】
0004034572.tif 000003
【図３】
0004034572.tif 000004
【図４】
0004034572.tif 000005
【図５】
0004034572.tif 000006