(57)【要約】【課題】  一様に受信プロトコル処理を行うのではなく、受信データごとに優先度を判断し、判断された優先度で受信プロトコル処理を行う。【解決手段】  受信処理優先度設定機能部１３は、プロセス１４〜１７から収集した情報（スケジューリング優先度など）と管理者入力にもとづいて、プロセスの識別情報（プロセスがバインドされているポート番号など）と、当該プロセスで用いられるデータパケットに対する受信プロトコル処理の優先度を対応づけた受信処理優先度ポリシーを優先度判断機能部９に登録する。ネットワークからデータパケットを受信すると、優先度判断機能部９は、データパケットのプロトコルヘッダ情報からプロセスの識別情報を取得し、受信処理優先度ポリシーにもとづき、当該データパケットに対する受信プロトコル処理の優先度を判断する。高優先度と判断された場合、当該データパケットは、優先的プロトコル処理機能部１２に送られる。【選択図】  図１
2005217491.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置がネットワークから受信したデータパケットに対して行う受信プロトコル処理方法において、
あらかじめ、前記情報処理装置上で動作している各プロセスの識別情報と、当該プロセスで用いられるデータパケットに対する受信プロトコル処理の優先度との対応づけを行う第１のステップと、
前記ネットワークからデータパケットを受信すると、当該データパケットのプロトコルヘッダ情報から、当該データパケットが用いられるプロセスの前記識別情報を取得する第２のステップと、
前記対応づけにもとづいて、前記第２のステップで取得した前記識別情報に対応する受信プロトコル処理の優先度を求める第３のステップと、
前記第３のステップで高い優先度が得られた場合、当該データパケットに対して、即時にＣＰＵが割り当てられる受信プロトコル処理を行う第４のステップを有することを特徴とする方法。
【請求項２】
前記第１のステップは、各プロセスから収集した、当該プロセスのスケジューリング優先度にもとづいて行う、請求項１に記載の方法。
【請求項３】
前記第１のステップは、ユーザ入力にもとづいて行う、請求項１または２に記載の方法。
【請求項４】
前記識別情報は、プロセスがバインドされているポートの番号である、請求項１から３のいずれか１項に記載の方法。
【請求項５】
請求項１から４のいずれか１項に記載の各ステップを、前記情報処理装置となるべきコンピュータに実行させるプログラム。
【請求項６】
請求項１から４のいずれか１項に記載の各ステップを、前記情報処理装置となるべきコンピュータに実行させるプログラムを記録した、コンピュータ読み取りが可能な記録媒体。
【請求項７】
ネットワークからデータパケットを受信可能な情報処理装置において、
あらかじめ、前記情報処理装置上で動作している各プロセスの識別情報と、当該プロセスで用いられるデータパケットに対する受信プロトコル処理の優先度との対応づけを行う第１の手段と、
前記ネットワークからデータパケットを受信すると、当該データパケットのプロトコルヘッダ情報から、当該データパケットが用いられるプロセスの前記識別情報を取得する第２の手段と、
前記対応づけにもとづいて、前記第２の手段が取得した前記識別情報に対応する受信プロトコル処理の優先度を求める第３の手段と、
前記第３の手段が高い優先度を得た場合、当該データパケットに対して、即時にＣＰＵが割り当てられる受信プロトコル処理を行う第４の手段を有することを特徴とする情報処理装置。
【請求項８】
前記第１の手段は、各プロセスから収集した、当該プロセスのスケジューリング優先度にもとづいて対応づけを行う、請求項７に記載の情報処理装置。
【請求項９】
前記第１の手段は、ユーザ入力にもとづいて対応づけを行う、請求項７または８に記載の情報処理装置。
【請求項１０】
前記識別情報は、プロセスがバインドされているポートの番号である、請求項７から９のいずれか１項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のネットワークインターフェースを有する情報処理装置において、ネットワークインターフェースから受け取ったデータについて行う受信処理に関する。
【背景技術】
【０００２】
従来、複数のネットワークインターフェースを有する情報処理装置では、Ｄａｎｉｅｌ Ｐ． Ｂｏｖｅｔ、Ｍａｒｃｏ Ｃｅｓａｔｉ著、高橋浩和監訳、「詳細Ｌｉｎｕｘカーネル第２版」、株式会社オライリー・ジャパン、２００３．６．２４、ｐ７１３−７１５他（非特許文献１）に示すように、通信データが到着すると、通信デバイスにより、情報処理装置のオペレーティングシステム（ＯＳ）に対してハードウェア割り込みが発生する。ＯＳはハードウェア割り込みによる受信通知を受け、デバイスドライバにおいて適切な処理を行う。デバイスドライバは受信データをカーネルに渡す。受信データを受け取ったカーネルは、ネットワークインターフェースから受け取ったデータがどのようなものであっても、優先度を有しない一様なものとして扱い、受信データのプロトコル処理を遅延処理として行う。
【０００３】
ここで言うプロトコル処理とは、ネットワークインターフェースで受信したデータに対し、データリンク層、ネットワーク層、トランスポート層の各層において、それぞれの層の対応プロトコルに関する処理、例えば、ネットワーク層ならば、ＩＰ（Ｉｎｔｅｒｎｅｔ Ｐｒｏｔｏｃｏｌ）プロトコルヘッダを見てパケットのサイズとチェックサムを確認し、改変をチェックするなどの処理をいう。
【０００４】
カーネルは、このプロトコル処理されたデータを、そのデータに適切にバインドされているプログラムに渡す。データを受け取ったプログラムは、それぞれ実行に対する優先度を有し、その優先度にしたがってスケジューラによりＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）実行時間が割り当てられる。この優先度は、スケジューリング優先度と呼ばれ、上記のプロトコル処理に対する優先度とは区別される。
【０００５】
なお、受信処理とは異なり、送信処理は優先度を考慮して行うことができる（例えば、特開平６−６２４６９号公報（特許文献１）参照）。これは、ネットワーキング経路に存在するルータなどにおいてデータパケットの優先制御を行うことで、ネットワーク全体のスループットを向上させることに狙いがある（例えば、特開平９−３３１３５９号公報（特許文献２）参照）。
【非特許文献１】Ｄａｎｉｅｌ Ｐ． Ｂｏｖｅｔ、Ｍａｒｃｏ Ｃｅｓａｔｉ著、高橋浩和監訳、「詳細Ｌｉｎｕｘカーネル第２版」、株式会社オライリー・ジャパン、２００３．６．２４、ｐ７１３−７１５他
【特許文献１】特開平６−６２４６９号公報
【特許文献２】特開平９−３３１３５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述のように、カーネルにおける受信データのプロトコル処理は、遅延処理としてＣＰＵにとって都合の良いタイミングまで待たされたうえで、優先度を設けず一様に行われる。このため、例えば、システムの障害通知など極めて短い応答時間が保証されるべき、スケジューリング優先度の高い処理に関する受信データであっても、他のスケジューリング優先度の低い処理に関する受信データと同様にプロトコル処理されてしまい、スケジューリング優先度の低い受信データが大量に発生しているような状況では、スケジューリング優先度の高い受信データの処理が遅れ、要求される応答時間に対して遅延が発生するおそれがある。
【０００７】
本発明の目的は、従来のように一様に受信プロトコル処理を行うのではなく、受信データごとに優先度を判断し、判断した優先度で受信プロトコル処理を行うことにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明は、まず、あらかじめ、情報処理装置上で動作している各プロセスの識別情報と、当該プロセスで用いられるデータパケットに対する受信プロトコル処理の優先度との対応づけを行う。この対応づけは、当該プロセスから、当該プロセスのスケジューリング優先度を取得し、これにもとづいて行ってもよい。さらに、ユーザ入力にもとづいて行ってもよい。以上により、情報処理装置上で動作しているプロセスの優先度に関連づけて、受信したデータパケットの受信プロトコル処理を行う基礎ができる。
【０００９】
次に、情報処理装置がネットワークからデータパケットを受信すると、当該データパケットのプロトコルヘッダ情報から、当該データパケットが用いられるプロセスの識別情報を取得する。この識別情報は、上記対応づけの識別情報と同種の情報で、例えば、プロセスがバインドされているポートの番号である。
【００１０】
次に、上記対応づけにもとづいて、プロトコルヘッダ情報から取得した識別情報に対応する受信プロトコル処理の優先度を求める。
【００１１】
当該データパケットにつき高い優先度が得られた場合は、当該データパケットに対して、即時にＣＰＵが割り当てられる受信プロトコル処理を行う。
【００１２】
以上により、スケジューリング優先度の高いプロセスに関する受信データパケットについては、優先的に受信プロトコル処理が行える。
【発明の効果】
【００１３】
以上説明したように、本発明によれば、情報処理装置において、データの受信が集中し、受信処理が混雑している場合であっても、高い応答性が求められるデータを遅延無く優先的に受信処理することが可能になる。
【発明を実施するための最良の形態】
【００１４】
次に、本発明の実施の形態について、図面を参照して詳細に説明する。
【００１５】
図１を参照すると、本発明の一実施形態の情報処理装置は、ネットワークインタフェースカード（ＮＩＣ）１〜３と、デバイスドライバ４〜６と、プロトコルスタック７と、プロトコル種別判断機能部８と、優先度判断機能部９と、パケットキュー１０と、プロトコル処理機能部１１と、優先的プロトコル処理機能部１２と、受信処理優先度設定機能部１３と、プロセス１４〜１７を含む。ＮＩＣ、デバイスドライバ、プロセスの数は任意の値でよい。
【００１６】
デバイスドライバ４〜６と、プロトコルスタック７と、プロトコル種別判断機能部８と、優先度判断機能部９と、パケットキュー１０と、プロトコル処理機能部１１と、優先的プロトコル処理機能部１２と、受信処理優先度設定機能部１３と、プロセス１４〜１７は、情報処理装置に搭載されたＯＳによって実現される機能部である。本実施形態の情報処理装置に搭載されるＯＳは、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ Ｃｏｎｔｒｏｌ Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ Ｐｒｏｔｏｃｏｌ）プロトコルスタックをカーネルの機能として有し、ネットワークに関する処理が可能である。
【００１７】
ＮＩＣ１〜３は、本実施形態の情報処理装置では、Ｅｔｈｅｒｎｅｔインタフェースカードである。ＮＩＣ１〜３は、ネットワークからデータパケットを受信する。
【００１８】
デバイスドライバ４〜６は、それぞれＮＩＣ１〜３に対応したデバイスドライバである。デバイスドライバ４〜６は、それぞれＮＩＣ１〜３から受け取った受信データパケットをプロトコルスタック７に送る。
【００１９】
プロトコルスタック７は、複数のプロトコルを階層構造に積み重ねたものであり、互いに関連する階層構造を有している。
【００２０】
プロトコル種別判断機能部８は、デバイスドライバ４〜６から受け取った受信データパケットのプロトコル種別を判断する。
【００２１】
優先度判断機能部９は、プロトコル種別判断機能部８によって判断されたプロトコル種別の情報と、受信処理優先度設定機能部１３によって設定された受信処理優先度ポリシーをもとに、受信データパケットの優先度を判断し、優先度に応じて、当該受信データパケットの受信処理を決める。具体的には、受信データパケットを、優先度に応じて、プロトコル処理機能部１１（あるいはパケットキュー１０）または優先的プロトコル処理機能部１２のいずれかに送る。
【００２２】
パケットキュー１０は、優先度の高くない受信データパケットを一時的に格納する。
【００２３】
プロトコル処理機能部１１は、優先度の高くない受信データパケットに対して、各層のプロトコルに関する処理を行い、処理された受信データパケットを対応するプロセス１４〜１７に渡す。受信データパケットは、ＣＰＵにとって都合の良いタイミングまで待たされたうえで、ＣＰＵが割り当てられ、プロトコル処理が行われる。
【００２４】
優先的プロトコル処理機能部１２は、優先度の高い受信データパケットに対して、各層のプロトコルに関する処理を行い、処理された受信データパケットを対応するプロセス１４〜１７に渡す。優先的プロトコル処理機能部１２は、優先度判断機能部９からパケットキュー１０を介さずに、受信データパケットを直接受け取り、即時にＣＰＵを割り当て、プロトコル処理を行う。
【００２５】
受信処理優先度設定機能部１３は、情報処理装置の処理の主体であるプロセス１４〜１７に関する情報を収集し、この情報をもとに、管理者に受信処理優先度ポリシーを設定させる。受信処理優先度設定機能部１３は、管理者に設定させた受信処理優先度ポリシーの情報をリストにして、優先度判断機能部９に渡す。あるいは、優先度判断機能部９の有するリストに受信処理優先度ポリシーの情報を登録する。
【００２６】
プロセス１４〜１７は、情報処理装置上で動作しているプロセスである。
【００２７】
実線矢印は、情報処理装置における、受信データパケットの流れを表している。破線矢印は、受信処理の優先度に関連する情報の流れを表わしている。
【００２８】
図２を参照すると、優先度判断機能部９と、受信処理優先度設定機能部１３のより詳細な機能構成が示されている。
【００２９】
優先度判断機能部９は、ポート番号確認機能部９１と、優先度判断機能部９２と、受信処理優先度リスト保存部９３と、処理振り分け機能部９４を含む。
【００３０】
受信処理優先度設定機能部１３は、プロセス情報取得機能部１３１と、受信処理優先度ポリシー設定機能部１３２を含む。
【００３１】
ポート番号確認機能部９１は、プロトコル種別判断機能部８によって判断されたプロトコル種別の情報をもとに、プロトコルヘッダを確認し、受信データパケットの送信先ポート番号を取得する。ポート番号確認機能部９１は、情報処理装置に送信される可能性のある各種プロトコルのサイズ、プロトコルヘッダのサイズ、プロトコルヘッダが有する情報とその配置に関する規定情報をあらかじめ有しているものとする。
【００３２】
優先度判断機能部９２は、ポート番号確認機能部９１が取得したポート番号をキーとして、受信データパケットの優先度を判断する。キー情報であるポート番号と、そのポート番号に対応するプロセスごとに、受信処理の優先度が振られている受信処理優先度リスト（受信処理優先度リスト保存部９３に保存されている）とを照合し、受信データパケットの優先度を判断する。
【００３３】
受信処理優先度リスト保存部９３は、受信処理優先度設定機能部１３を介して管理者が設定した受信処理優先度ポリシーのリストである受信処理優先度リストを保存している。
【００３４】
処理振り分け機能部９４は、優先度判断機能部９２によって判断された優先度に応じて、受信データパケットを振り分ける。優先度判断機能部９２によって高い優先度と判断された受信データパケットは、優先的プロトコル処理機能部１２に渡され、即時にプロトコル処理が行われる。優先度判断機能部９２によって低い優先度と判断された受信データパケットは、パケットキュー１０に渡される。
【００３５】
プロセス情報取得機能部１３１は、情報処理装置上で動作しているプロセス１４〜１７の情報を取得する。各プロセスのスケジューリングポリシー、ｎｉｃｅ値などのスケジューリング優先度に関する情報や、どのプロセスがどのポートにバインドされているかについての情報を収集する。ここでは、プロセスＩＤ、プロセスのスケジューリングポリシー、バインドされたポート番号を、情報処理装置上で動作しているｉｎｉｔプロセスを除く全プロセスについて取得する。
【００３６】
受信処理優先度ポリシー設定機能部１３２は、プロセス情報取得機能部１３１によって収集された情報を用い、各プロセスに対して、管理者に受信処理優先度ポリシーを設定させる。本実施形態の情報処理装置では、受信処理優先度ポリシー設定機能部１３２によって、管理者が各プロセスに対して必要とされる応答性の高低から、受信処理に関する優先度条件を設定する。具体的なイメージとしては、ＯＳがＬｉｎｕｘで対象プロセスがリアルタイムプロセスならば、優先度０（高優先度）を設定しようとする場合、プロセス情報取得機能部８１によって収集されたプロセススケジューリングポリシーの値がＳＣＨＥＤ＿ＦＩＦＯかＳＣＨＥＤ＿ＲＲのどちらかであれば、そのプロセスの優先度値を０にする、という条件を設定すればよい。設定された受信処理優先度ポリシーは、受信処理優先度リストに登録される。
【００３７】
表１を参照すると、受信処理優先度リストの一例が示されている。
【００３８】
【表１】
2005217491.tif 000003
【００３９】
受信処理優先度リストは少なくとも、プロセスを特定する情報と、プロセスにおける処理優先度判断に使用される情報と、受信処理優先度設定機能部１３によって設定される受信処理優先度と、受信データパケットが保有している情報で、かつ、その情報からプロセスを一意に特定できる情報の４つを保有していなければならない。
【００４０】
本実施形態の情報処理装置では、プロセスを特定する情報としてプロセスＩＤを用いる。また、プロセスにおける処理優先度判断に使用される情報として、スケジューリング優先度、特に、スケジューリングポリシーを用いる。受信処理優先度設定機能部１３は、スケジューリングポリシーがリアルタイムプロセスであれば高優先度と判断して優先度値０を設定し、それ以外であれば優先度値１を設定するものとする。
【００４１】
さらに、そのリアルタイムプロセスの中での固定優先度によってより細かく優先度付けを行うことも可能であり、ｎｉｃｅ値を用いる方法もある。ｎｉｃｅ値とは、プロセスのスケジューリング優先順位を表す１０進値であり、デフォルトでは対象となるプロセスをプロセスＩＤで指定する。
【００４２】
また、受信データパケットが保有している情報で、かつ、その情報からプロセスを一意に特定できる情報として、各プロセスにバインドされたポートの番号に着目する。あるポートに対してプロセスは一意に関連付けられるため、受信データパケットがどのポート宛であるかがわかれば、どのプロセスに関する受信データパケットであるかが判断できる。
【００４３】
以上のように、本実施形態の情報処理装置の受信処理優先度リストでは、１つのプロセスに関して、プロセスＩＤ、プロセスのスケジューリングポリシー、受信処理優先度、プロセスがバインドされているポート番号の４つの情報を保有するものとする。
【００４４】
なお、この例では、受信処理優先度リストに、１つのプロセスに関して、プロセスＩＤ、プロセスのスケジューリングポリシー、受信処理優先度、バインドされたポート番号の４つの情報を保有するものとしたが、受信データの受信処理優先度を判断する処理においては、最低限、受信処理優先度値とバインドされたポート番号の２つが参照できればよい。
【００４５】
また、受信処理優先度を２種類しか持たない場合、どちらかの受信処理優先度が付与されたプロセスがバインドされているポート番号のみがリストに存在すれば、本発明の実施は可能である。この場合は、送信先とするポート番号がリストにあるか無いかによって受信データパケットの受信処理優先度を決定すればよい。
【００４６】
次に、本実施形態の情報処理装置における受信処理の流れを、図面を参照して詳細に説明する。
【００４７】
本実施形態の情報処理装置では、前提として、受信される通信データグラムは、Ｅｔｈｅｒｎｅｔレベルでフラグメントされないネットワークトポロジー、伝送形態をとるものとし、ＴＣＰレベルでも、アプリケーションが通信データサイズをＭＴＵ値以下に抑えるようにする処理などが行われるものとする。
【００４８】
図３を参照すると、ネットワークからデータパケットを受信してから、受信処理を完了するまでのおおまかな処理の流れを説明するフローチャートが示されている。
【００４９】
ステップ３００で、ネットワークを介して情報処理装置に送られてきたデータパケットがＮＩＣ１〜３によって受信されると、ステップ３０１で、受信データパケットは、ＮＩＣ１〜３内のメモリにいったん格納される。ステップ３０２で、ＮＩＣによって違いはあるものの、たいていのＮＩＣは、一定量の受信データパケットが溜まると、ハードウェア割り込みを発行する。パケット到着ごとに毎回割り込みを発生させるＮＩＣもあるが、受信バッファに複数のパケットが溜まった時点で割り込みを発生させるものが一般的である。ＮＩＣ１〜３によって発行されたハードウェア割り込みは、ＯＳの割り込みハンドラによって、デバイスドライバ４〜６を介して処理される。
【００５０】
ステップ３０３で、デバイスドライバ４〜６によって、受信データパケットは情報処理装置のメモリ上にデータコピーされ、ステップ３０４で、プロトコル種別判断機能部８が、Ｅｔｈｅｒｎｅｔプロトコルヘッダ情報を取得することで、プロトコル種別を判断する。ステップ３０５で、優先度判断機能部９が、受信処理優先度設定機能部１３によってあらかじめ設定された受信処理優先度ポリシーにもとづいて、受信データパケットごとに優先度を判断する。ここでは、受信データパケットに対する優先度が高いかそうでないかの２種類として考え、ステップ３０６で、処理振り分け機能部９４は、該当する受信データパケットが優先的に処理する必要があるものか否かで処理を振り分ける。
【００５１】
ステップ３０７で、高い優先度を持つと判断された受信データパケットは、パケットキュー１０に入れられることなく、即時に優先的プロトコル処理機能部１２に渡され、そのままプロトコル処理が実行される。プロトコル処理は、ステップ３０８で、受信データパケットのペイロード部、すなわち、ヘッダを取り除いたデータ内容そのものを、対応するプロセスが直接参照できるプロセス空間のメモリ領域にコピーすることで終了する。
【００５２】
優先度の高くない受信データパケットは、ステップ３０９で、通常通り、パケットキュー１０にエンキューされ、ステップ３１０で、先頭のパケットから通常の遅延処理としてのプロトコル処理が実行され、ステップ３１１で、受信データパケットのペイロード部、すなわち、ヘッダを取り除いたデータ内容そのものを、対応するプロセスが直接参照できるプロセス空間のメモリ領域にコピーすることで、プロトコル処理を終了する。
【００５３】
図４を参照すると、受信データパケットの優先度を判断する処理（ステップ３０５、３０６）の流れを詳細に説明するフローチャートが示されている。これは、優先度判断機能部９における処理の流れを説明するものである。
【００５４】
ポート番号確認機能部９１は、プロトコル種別判断機能部８において判断されたプロトコル種別について、あらかじめ有している各種プロトコルのサイズ、プロトコルヘッダのサイズ、プロトコルヘッダが有する情報とその配置に関する規定情報をもとに、ポート番号情報の位置を算出し、ポインタを進めるなどして、受信データパケットの送信先ポート番号を取得する。具体的には、例えばＯＳがＬｉｎｕｘであった場合、データパケットの情報はバッファの領域、パケットしての有効領域、各プロトコル用のヘッダを指すポインタを保有する構造体に詰めて管理されるので、この構造体のメンバ情報を利用することで、各プロトコルヘッダの先頭アドレスが特定でき、ポート番号確認機能部９１があらかじめ有するプロトコルヘッダの規定情報とあわせて、ヘッダ内に記された情報の内容を取得することが可能となる。
【００５５】
ステップ４００で、例えばプロトコル種別がＩＰｖ４プロトコルである場合、まずＩＰｖ４のプロトコルヘッダからその上位層プロトコル種別の情報を取得する。ステップ４０１で、その上位プロトコルヘッダの先頭アドレスへと移動し、ステップ４０２で、あらかじめ有するプロトコルヘッダの規定情報から、その上位プロトコルがポート番号の情報を有するか否かを判断する。
【００５６】
ステップ４０４で、例えば、それがＴＣＰであったとすると、ＴＣＰヘッダの先頭アドレスへと移動した後、ＴＣＰは送信先ポート番号の情報を有するので、ポート番号の領域と規定されたアドレスまでポインタを進めることで、ポート番号の情報を取得することができる。
【００５７】
ステップ４０３で、上位層のプロトコルがポート番号情報を有しない場合、さらに上位のプロトコルが存在すれば、そのプロトコルについて同様の処理を行う。それ以上上位のプロトコルが存在しない、すなわち、受信データパケットからポート番号情報が得られない場合には、ステップ４０９で、受信データパケットは通常の受信処理と同様に、パケットキューに繋がれる。情報処理装置の運用形態によっては、ポート番号指定の無い受信データパケットは破棄するという実現形態も考えられる。
【００５８】
ステップ４０５で、取得したポート番号は、優先度判断機能部９２に渡され、優先度判断機能部９２によって受信処理優先度リストに記されたポート番号情報と照合される。ステップ４０６で、受信処理優先度リストに記されたポート番号情報の中に受信データパケットから得られたポート番号情報と一致するものが存在するか否かを判断し、一致するポート番号が存在すれば、ステップ４０７で、そのポート番号と対応付けられている受信処理優先度から受信データパケットの優先度を判断する。本実施形態の情報処理装置では、受信処理優先度リストにある受信処理優先度が０の場合、対応する受信データパケットは高優先度と判断することとする。
【００５９】
ステップ４０８で、高優先度と判断された受信データパケットは、処理振り分け機能部９４によって即時に優先的プロトコル処理機能部１２に渡され、そのままプロトコル処理が実行される。それ以外の受信データパケットは、ステップ４０９で、処理振り分け機能部９４によってパケットキュー７３にエンキューされる。
【００６０】
図５を参照すると、受信処理優先度設定機能部１３における処理の流れを説明するフローチャートが示されている。
【００６１】
ステップ５００で、当該情報処理装置において現在動作しているプロセス１４〜１７について、あらかじめ決められた、受信処理優先度リストが保有すべき情報、本実施形態の情報処理装置ではプロセスＩＤ、プロセスのスケジューリングポリシー、バインドされたポート番号の３つの情報を、プロセス情報取得機能部１３１が収集する。ステップ５０１で、プロセス情報取得機能部１３１は、収集した情報を受信処理優先度リストに登録する。
【００６２】
ステップ５０２で、管理者に受信処理優先度ポリシーを設定させ、ステップ５０３で、収集したプロセス情報が記載された受信処理優先度リストの内容と照合し、各プロセスについての受信処理優先度を決定する。ステップ５０４で、決定された受信処理優先度値をリストに登録することで、受信処理優先度リストが完成する。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施形態の情報処理装置の機能構成を示した図である。
【図２】優先度判断機能部９と、受信処理優先度設定機能部１３の詳細な機能構成を示した図である。
【図３】ネットワークからデータパケットを受信してから、受信処理を完了するまでのおおまかな処理の流れを説明するフローチャートである。
【図４】優先度判断機能部９における処理の流れを詳細に説明するフローチャートである。
【図５】受信処理優先度設定機能部１３における処理の流れを詳細に説明するフローチャートである。
【符号の説明】
【００６４】
１、２、３  ネットワークインタフェースカード
４、５、６  デバイスドライバ
７  プロトコルスタック
８  プロトコル種別判断機能部
９  優先度判断機能部
９１  ポート番号確認機能部
９２  優先度判断機能部
９３  受信処理優先度リスト保存部
９４  処理振り分け機能部
１０  パケットキュー
１１  プロトコル処理機能部
１２  優先的プロトコル処理機能部
１３  受信処理優先度設定機能部
１３１  プロセス情報取得機能部
１３２  受信処理優先度ポリシー設定機能部
１４、１５、１６、１７  プロセス
３００〜３１１  ステップ
４００〜４０９  ステップ
５００〜５０４  ステップ
【図１】
2005217491.tif 000004
【図２】
2005217491.tif 000005
【図３】
2005217491.tif 000006
【図４】
2005217491.tif 000007
【図５】
2005217491.tif 000008