(57)【要約】【課題】ＩＰネットワーク通信環境にて優先性の低いＩＰプロトコルのパケットの受信処理中に当該パケットよりも優先性の高いＩＰプロトコルのパケットが送信されてきた時、アプリケーションのスループットを低下させずに処理する。【解決手段】ＩＰサブネット間をつなぐルータとしての位置にルータ機能を兼ねたＩＰパケット高速処理装置を配置し、特定のＩＰアドレスとポート番号のペアのパケットを優先的に伝送処理する。当該ＩＰパケット高速処理装置は一定時間Ｔ秒間に受信したパケット数に応じて動的に優先順位を決定することで、ある一定以上の大量のパケットが流れている場合は当該パケットを優先的に伝送処理する仕組みを持っているので、あるサブネットのコンピュータシステムのアプリケーションから他のサブネットのコンピュータシステムのアプリケーションに対して非常に大量のＩＰパケットが送出された場合でも優先的に伝送処理する。【選択図】図１
2008160626.tif 000002
【特許請求の範囲】
【請求項１】
パケット種別（アドレス，ポート番号）の組を優先順位の順にレベル分けして保持するレベル管理テーブルと、
入力パケット用キューからパケットを取得し、前記パケットのパケット種別（アドレス，ポート番号）の組を解析し、前記レベル管理テーブルの情報を基に、組の優先順位に一定計測時間での受信パケット数の重みを加味して優先順位を決定し、前記パケットに優先順位のレベルを示すレベルヘッダを付加するヘッダ解析部と、
前記ヘッダ解析部から入力されたパケットをレベルに応じて処理するパケット処理部と
を具備する
高速処理装置。
【請求項２】
請求項１に記載の高速処理装置であって、
前記パケット処理部は、優先順位のレベル毎に存在し、レベル順に直列に設けられ、自身のレベルのレベルヘッダが付加されたパケットを処理する
高速処理装置。
【請求項３】
請求項２に記載の高速処理装置であって、
前記パケット処理部は、
入力されたパケットのレベルヘッダを参照して自身のレベルのパケットかどうかを判定し、自身のレベルのパケットでなければ他のレベルのパケット処理部へのパケットと判断してパケットを処理せず通過させ、自身のレベルのパケットであれば演算処理用バッファに格納する入力パケット確認部と、
ルーティングテーブルを参照して、前記演算処理用バッファに格納されたパケットの送信先を判定するデータ演算部と、
前記データ演算部から取得したパケットを格納する出力パケット用キューと
を具備する
高速処理装置。
【請求項４】
請求項３に記載の高速処理装置であって、
レベル順に、前記出力パケット用キューの中に入っているパケットを取得し、前記レベル管理テーブルの情報を基に、出力されるパケットに送受信用ヘッダを付加して出力するパケット送信部
を更に具備する
高速処理装置。
【請求項５】
（ａ）入力パケット用キューに入ったパケットに対して、前記パケットのパケット種別（アドレス，ポート番号）の組を解析し、パケット種別（アドレス，ポート番号）の組を優先順位の順にレベル分けして保持するレベル管理テーブルの情報を基に、組の優先順位に一定計測時間での受信パケット数の重みを加味して優先順位を決定し、前記パケットに優先順位のレベルを示すレベルヘッダを付加するステップと、
（ｂ）前記パケットをレベルに応じて処理するステップと
を具備する
高速処理方法。
【請求項６】
請求項５に記載の高速処理方法であって、
前記（ａ）ステップは、
（ａ１）前記レベル管理テーブルに格納されている（アドレス，ポート番号）の優先順位がＮ個の（アドレス，ポート番号）の組に対してそれぞれＰ＿１＞Ｐ＿２＞…＞Ｐ＿Ｎとして、優先順位Ｐ＿ｉとＰ＿（ｉ＋１）（但し、ｉ＝１〜Ｎ−１、Ｐ＿ｉ＞Ｐ＿（ｉ＋１））を持つそれぞれの組（アドレス，ポート番号）のパケットに対して一定計測時間毎の各優先順位のパケット受信数の統計情報を取るステップと、
（ａ２）優先順位Ｐ＿ｉとＰ＿（ｉ＋１）の一定計測時間内での受信パケット総数をそれぞれＮ（Ｐ＿ｉ）、Ｎ（Ｐ＿（ｉ＋１））として、Ｎ（Ｐ＿（ｉ＋１））＝＞２・Ｎ（Ｐ＿ｉ）になった場合、Ｐ＿ｉとＰ＿（ｉ＋１）の優先順位の上下関係が逆転するという規則に従って優先順位Ｐ＿１〜Ｐ＿Ｎのパケット間の優先順位の順序変更を行うステップと、
（ａ３）一定計測時間毎にその都度決定した（アドレス，ポート番号）の組の間の優先順位についてのレベルヘッダを送受信用ヘッダに付加して作成したパケットをパケット処理部に渡すステップと
を具備する
高速処理方法。
【請求項７】
請求項６に記載の高速処理方法であって、
前記（ｂ）ステップは、
（ｂ１）前記パケット処理部が優先順位のレベル毎に存在し最高位のレベル１から最下位のレベルＮまでのレベル順に直列に設けられており、最高位のレベル１のパケット処理部に、レベルヘッダが付加されたパケットを入力してパケット処理を開始するステップと、
（ｂ２）各レベルのパケット処理部が、入力されたパケットのレベルヘッダを参照して自身のレベルのパケットかどうかを判定し、自身のレベルのパケットでなければ他のレベルのパケット処理部へのパケットと判断してパケットを処理せず通過させ、自身のレベルのパケットであればルーティングテーブルを参照して、前記パケットの送信先を判定して各レベルのパケット処理部の出力パケット用キューに格納するステップと、
（ｂ３）レベル順に、各レベルのパケット処理部の出力パケット用キューの中に入っているパケットを取り出して出力するステップと
を具備する
高速処理方法。
【請求項８】
請求項５乃至７のいずれか一項に記載の高速処理方法を、コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速処理装置に関し、特にネットワークコンピュータシステムのＩＰパケットを処理するＩＰパケット高速処理装置に関する。
【背景技術】
【０００２】
高速処理装置に関する技術として、特開２００３−１５２７７２号公報（特許文献１）にパケット送出優先処理方法及び装置及びパケット送出優先処理装置を用いた通信装置及びパケット送出優先処理プログラム及びパケット送出優先処理プログラムを格納した記憶媒体が開示されている。この従来技術では、複数の一時蓄積手段に格納されたパケットを、各一時蓄積手段に対応した送出優先度に応じて、パケットをネットワーク回線へ送出する。
【０００３】
従来は、特開２００３−１５２７７２号公報（特許文献１）に示されているように、取得したパケットを複数の一時蓄積手段のいずれかに格納し、複数の当該一時蓄積手段に対応してパケット出力優先度が定義された優先度定義テーブルを参照し、当該一時蓄積手段に対応するパケット送出優先度に応じて当該一時蓄積手段から取り出されたパケットをネットワーク回線へ送出する例にあるように高速化の工夫がなされてきた。しかし、このような高速化方法には、以下のような問題点があった。
【０００４】
第１の問題点として、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ａｄｄｒｅｓｓ）ネットワーク通信では従来は優先度の低いＩＰプロトコルのパケットの受信処理中に当該パケットよりも優先性の高いＩＰプロトコルのパケットが送信されてきても、当該優先性の高いパケットを効率的に優先処理されないため、優先性の高いＩＰプロトコルのパケット処理を必要とするアプリケーションのスループットが低下したまま改善されないという課題があった。
【０００５】
その理由は、ＩＰパケットの優先処理手段として固定的な優先順位の元での優先処理技術はあるが、変動的に優先順位を決定し優先処理を行う技術が未発達なため、大量のＩＰパケットのトランザクションが発生しても動的に優先順位を決定する機構が無いために、あるコンピュータシステムのアプリケーションから他のコンピュータシステムのアプリケーションに対して非常に大量のＩＰパケットが送出されても伝送処理される優先順位が低ければ処理の遅延が生じて一定以上の処理量は望めないためである。
【０００６】
第２の問題点として、今後急激に発展する次世代ネットワークにおいて音声や動画データがＩＰパケットとしてＩＰネットワーク内でデータベースと利用者端末間で大量のトランザクションを発生させるケースが容易に想像できるが、例えば音声、動画データベースシステムと利用者の間のＩＰパケットのトランザクションの増大により、ＩＰネットワーク内部に大量のＩＰパケットが行き来しても、特定の音声、動画データを優先的に伝送しない限りは利用者側のコンピュータシステムやモバイル端末上のネットワークアプリケーションの処理性能の低下を招くという課題がある。
【０００７】
その理由は、従来の固定的な優先処理技術ではネットワークの多様化による複雑なトラフィックの変動に対応できないため、十分な速度でのパケット伝送を提供できず、特定のコンピュータシステム及びモバイル端末上のネットワークアプリケーションが処理待ちの状態になってしまうことが予想されるためである。
【０００８】
関連する技術として、特開２００１−１９７１０８号公報（特許文献２）に複数トランスポートストリーム多重化装置が開示されている。
この従来技術では、複数のトランスポートストリーム（ＴＳ）を周期フレーム構造にパケット単位で時分割多重する多重化装置において、最大入力パケット数と実際に入力されたパケット数をＴＳ毎に比較し、実際に入力されたパケット数が最大入力パケット数を越えている場合には、そのＴＳについて、越えた分のパケット、あるいはそのフレーム期間中に送られた全パケットの優先度を下げる処理を行う。
【０００９】
また、特開２００１−０８６１５７号公報（特許文献３）にデータグラム転送方法、トラヒック観測装置、ヘッダーフィールド挿入装置、トラヒック監視装置、データグラム転送装置及びデータグラム転送システムが開示されている。
この従来技術では、トラヒック観測装置が、重み値をデータグラムのヘッダに書込む。すなわち、ヘッダに優先情報を付加する。
【００１０】
また、特開２００１−１８６１３８号公報（特許文献４）に優先度制御機能付きＡＴＭスイッチが開示されている。
この従来技術では、優先度毎にバッファが設けられている。
【００１１】
また、特開２００４−２９７７７５号公報（特許文献５）にパケット中継装置が開示されている。
この従来技術では、パケット分類ルール記憶手段に、ＩＰアドレス、ポート番号、及びクラス（優先度の高／低）というフィールドを持つルールが定義されている。
【００１２】
更に、特開平０６−２３２９０４号公報（特許文献６）にルータにおける優先度制御方式が開示されている。
この従来技術では、優先度に対応して設けられた中継処理優先度キューが並列に接続されている。
【００１３】
【特許文献１】特開２００３−１５２７７２号公報
【特許文献２】特開２００１−１９７１０８号公報
【特許文献３】特開２００１−０８６１５７号公報
【特許文献４】特開２００１−１８６１３８号公報
【特許文献５】特開２００４−２９７７７５号公報
【特許文献６】特開平０６−２３２９０４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
第１の問題点に関しては、各ＩＰサブネット間をつなぐルータとしての位置にルータ機能を兼ねたＩＰパケット高速処理装置を配置することによって、特定のＩＰアドレスとポート番号のペアのパケットを優先的に伝送処理することで解決される。当該ＩＰパケット高速処理装置は一定時間Ｔ秒間に受信したパケット数に応じて動的に優先順位を決定することで、ある一定以上の大量のパケットが流れている場合は当該パケットを優先的に伝送処理する仕組みを持っているので、あるサブネットのコンピュータシステムのアプリケーションから他のサブネットのコンピュータシステムのアプリケーションに対して非常に大量のＩＰパケットが送出された場合でも優先的に伝送処理することが可能である。
【００１５】
第２の問題点に関しては、ＩＰパケット化された音声又は動画データをＩＰパケット高速処理装置に特定のＩＰアドレスとポート番号の組として優先処理させるように設定しておくことによって、あるサブネット上にある音声又は動画データベースと別のサブネット上にある利用者端末間で円滑にデータ転送を実現することが可能である。
【００１６】
本発明の目的は、ネットワークで繋がっている複数のコンピュータシステム間でやり取りされるパケットを効率よく伝送する高速処理装置を提供することである。
本発明の他の目的は、ネットワーク内に存在し、パケット間の優先順位付けを一定時間内の入力パケット数の重みを加味した優先順位を動的にタイムリーに決定し、それぞれの優先順位に１：１に対応する内部のパケット処理手段に処理させ、処理後のパケットも優先順位の順に送信先に送信し、より優先的に処理させたいパケットを効率よく処理して送信先に届ける高速処理装置を提供することである。
本発明の更に他の目的は、リアルタイム性の要求されるネットワークアプリケーションへのデータ転送を円滑に行い、性能低下を防ぐ高速処理装置を提供することである。
本発明の更に他の目的は、ネットワークで繋がっているコンピュータシステム間のパケット送受信をタイムリーに動的に決定される優先順位によって制御する高速処理装置を提供することである。
【課題を解決するための手段】
【００１７】
以下に、［発明を実施するための最良の形態］で使用される番号を括弧付きで用いて、課題を解決するための手段を説明する。これらの番号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために付加されたものである。但し、それらの番号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１８】
本発明の高速処理装置（１００）は、パケット種別（アドレス，ポート番号）の組を優先順位の順にレベル分けして保持するレベル管理テーブル（３０）と、入力パケット用キュー（１０）からパケットを取得し、パケットのパケット種別（アドレス，ポート番号）の組を解析し、レベル管理テーブル（３０）の情報を基に、組の優先順位に一定計測時間での受信パケット数の重みを加味して優先順位を決定し、パケットに優先順位のレベルを示すレベルヘッダを付加するヘッダ解析部（２０）と、ヘッダ解析部（２０）から入力されたパケットをレベルに応じて処理するパケット処理部（４０）とを具備する。アドレスの例として、ＩＰアドレスがある。
【００１９】
パケット処理部（４０）は、優先順位のレベル毎に存在し、レベル順に直列に設けられ、自身のレベルのレベルヘッダが付加されたパケットを処理する場合がある。
【００２０】
パケット処理部（４０）は、入力されたパケットのレベルヘッダを参照して自身のレベルのパケットかどうかを判定し、自身のレベルのパケットでなければ他のレベルのパケット処理部（４０）へのパケットと判断してパケットを処理せず通過させ、自身のレベルのパケットであれば演算処理用バッファ（４２）に格納する入力パケット確認部（４１）と、ルーティングテーブル（６０）を参照して、演算処理用バッファ（４２）に格納されたパケットの送信先を判定するデータ演算部（４３）と、データ演算部（４３）から取得したパケットを格納する出力パケット用キュー（４４）とを具備する場合がある。
【００２１】
本発明の高速処理装置（１００）は、レベル順に、出力パケット用キュー（４４）の中に入っているパケットを取得し、レベル管理テーブル（３０）の情報を基に、出力されるパケットに送受信用ヘッダを付加して出力するパケット送信部（５０）を更に具備する場合がある。送受信用ヘッダの例として、ＩＰ／ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）ヘッダがある。
【００２２】
本発明の高速処理方法は、（ａ）入力パケット用キュー（１０）に入ったパケットに対して、パケットのパケット種別（アドレス，ポート番号）の組を解析し、パケット種別（アドレス，ポート番号）の組を優先順位の順にレベル分けして保持するレベル管理テーブル（３０）の情報を基に、組の優先順位に一定計測時間での受信パケット数の重みを加味して優先順位を決定し、パケットに優先順位のレベルを示すレベルヘッダを付加するステップと、（ｂ）パケットをレベルに応じて処理するステップとを具備する。
【００２３】
（ａ）ステップは、（ａ１）レベル管理テーブル（３０）に格納されている（アドレス，ポート番号）の優先順位がＮ個の（アドレス，ポート番号）の組に対してそれぞれＰ＿１＞Ｐ＿２＞…＞Ｐ＿Ｎとして、優先順位Ｐ＿ｉとＰ＿（ｉ＋１）（但し、ｉ＝１〜Ｎ−１、Ｐ＿ｉ＞Ｐ＿（ｉ＋１））を持つそれぞれの組（アドレス，ポート番号）のパケットに対して一定計測時間毎の各優先順位のパケット受信数の統計情報を取るステップと、（ａ２）優先順位Ｐ＿ｉとＰ＿（ｉ＋１）の一定計測時間内での受信パケット総数をそれぞれＮ（Ｐ＿ｉ）、Ｎ（Ｐ＿（ｉ＋１））として、Ｎ（Ｐ＿（ｉ＋１））＝＞２・Ｎ（Ｐ＿ｉ）になった場合、Ｐ＿ｉとＰ＿（ｉ＋１）の優先順位の上下関係が逆転するという規則に従って優先順位Ｐ＿１〜Ｐ＿Ｎのパケット間の優先順位の順序変更を行うステップと、（ａ３）一定計測時間毎にその都度決定した（アドレス，ポート番号）の組の間の優先順位についてのレベルヘッダを送受信用ヘッダに付加して作成したパケットをパケット処理部（４０）に渡すステップとを具備する場合がある。
【００２４】
（ｂ）ステップは、（ｂ１）パケット処理部（４０）が優先順位のレベル毎に存在し最高位のレベル１から最下位のレベルＮまでのレベル順に直列に設けられており、最高位のレベル１のパケット処理部（４０）に、レベルヘッダが付加されたパケットを入力してパケット処理を開始するステップと、（ｂ２）各レベルのパケット処理部（４０）が、入力されたパケットのレベルヘッダを参照して自身のレベルのパケットかどうかを判定し、自身のレベルのパケットでなければ他のレベルのパケット処理部（４０）へのパケットと判断してパケットを処理せず通過させ、自身のレベルのパケットであればルーティングテーブル（６０）を参照して、パケットの送信先を判定して各レベルのパケット処理部（４０）の出力パケット用キュー（４４）に格納するステップと、（ｂ３）レベル順に、各レベルのパケット処理部（４０）の出力パケット用キュー（４４）の中に入っているパケットを取り出して出力するステップと
を具備する場合がある。
【００２５】
本発明のプログラムは、上記の高速処理方法をコンピュータに実行させる。
【発明の効果】
【００２６】
第１の効果は、ネットワークのトランザクションの増大によって多様なパケットが混在する中でも特定のパケットを優先的に伝送するという点である。その理由は、ＩＰパケット高速処理装置内部に受信パケットを優先処理順に定義したレベル管理テーブルを保持し、特定のパケットを優先的に送信先に送るように処理する仕組みを提供しているためである。
第２の効果は、パケット間の優先順位を動的に最適化し、優先処理したいパケットを効率よく伝送する点である。その理由は、当該ＩＰパケット高速処理装置が一定期間で受信パケットの統計を取り、その期間内に受信したパケット間に、所定の規則にしたがって優先順位を動的にタイムリーに決定する仕組みを提供しているからである。
第３の効果は、指定したネットワークアプリケーションの性能低下を防ぐことができる点である。その理由は、当該ＩＰパケット高速処理によって特定のＩＰパケットを指定して優先処理させることにより、あるコンピュータシステム上のネットワークアプリケーションにおけるパケット送受信を迅速に行わせることができるからである。
【発明を実施するための最良の形態】
【００２７】
本発明は、ネットワークコンピュータシステムのＩＰパケット処理に関し、特に高速にパケットを処理する機構を持ったモジュールに関する。
【００２８】
以下に本発明の第１実施形態について添付図面を参照して説明する。
図１に示すように、ＩＰパケット高速処理装置１００は、入力パケット用キュー１０と、ＩＰ／ＴＣＰヘッダ解析部２０と、レベル管理テーブル３０と、パケット処理部４０と、パケット送信部５０を備える。
【００２９】
ＩＰパケット高速処理装置１００は、図２に示すように、各ＩＰサブネットワーク間のデータを中継する場所に設置し、ルータとしての機能を持ち、且つ（ＩＰアドレス，ポート番号）でのパケット種別毎の優先処理を行う。
【００３０】
ＩＰ／ＴＣＰヘッダ解析部２０は、入力パケット用キュー１０のＩＰパケットを取り出し、このＩＰパケットのＩＰパケット種別（ＩＰアドレス，ポート番号）の組を解析し、レベル管理テーブル３０の情報を基に、組の間の優先順位に一定計測時間Ｔ秒での受信パケット数の重みを加味して優先順位を決定し、ＩＰ／ＴＣＰヘッダに１バイトのレベルヘッダを付加してレベル１の処理エリアのパケット処理部４０へ渡す。レベルヘッダは、優先順位のレベルを示す。
【００３１】
レベル管理テーブル３０は、（ＩＰアドレス，ポート番号）の組を優先処理させたい順にレベル分けして保持し、ＩＰ／ＴＣＰヘッダ解析部２０とパケット送信部５０に情報を提供するためのテーブルである。
【００３２】
パケット処理部４０（４０−ｉ、ｉ＝１〜Ｎ：Ｎはレベル数）は、優先順位の各レベル単位で存在し、入力されたパケットを各レベルそれぞれについて処理を行う。
【００３３】
パケット送信部５０は、レベル１〜レベルＮの順で各パケット処理部４０の中の出力パケット用のキューの先頭から順にパケットを取り出し、ネットワークに送信する。
【００３４】
次に、図３を参照して、ＩＰパケット高速処理装置１００の処理プロセスについて説明する。
（１）ステップＳ１０１
入力パケット用キュー１０は、ネットワークを介して入力されたパケットを格納する。
（２）ステップＳ１０２
ＩＰ／ＴＣＰヘッダ解析部２０は、入力パケット用キュー１０に入ったパケットに対して、（ＩＰアドレス，ポート番号）の組に対する優先処理レベルを決定するための処理を開始する。ここで、レベル管理テーブル３０に格納されているベースとなる（ＩＰアドレス，ポート番号）の優先順位がＮ個の（ＩＰアドレス，ポート番号）の組に対してそれぞれＰ＿１＞Ｐ＿２＞…＞Ｐ＿Ｎとする。優先順位Ｐ＿ｉとＰ＿（ｉ＋１）（但し、ｉ＝１〜Ｎ−１、Ｐ＿ｉ＞Ｐ＿（ｉ＋１））を持つそれぞれの（ＩＰアドレス，ポート番号）の組のパケットに対して一定計測時間Ｔ秒毎の各優先順位のパケット受信数の統計情報を取る。
（３）ステップＳ１０３
ＩＰ／ＴＣＰヘッダ解析部２０は、優先順位Ｐ＿ｉとＰ＿（ｉ＋１）の一定計測時間Ｔ秒内での受信パケット総数をそれぞれＮ（Ｐ＿ｉ）、Ｎ（Ｐ＿（ｉ＋１））として、Ｎ（Ｐ＿（ｉ＋１））＝＞２・Ｎ（Ｐ＿ｉ）になった場合のみ、Ｐ＿ｉとＰ＿（ｉ＋１）の優先順位の上下関係が逆転するという規則に従って全優先順位Ｐ＿１〜Ｐ＿Ｎのパケット間の優先順位の順序変更を行う。
（４）ステップＳ１０４
ＩＰ／ＴＣＰヘッダ解析部２０は、一定計測時間Ｔ秒内で入力パケットの計測を行い、上記の規則に従って、受信パケットに対して優先順位の入れ替えを行う場合がある。そして一定計測時間Ｔ秒毎にその都度決定した（ＩＰアドレス，ポート番号）の組の間の優先順位についてのレベルヘッダをＩＰ／ＴＣＰヘッダに付加して作成したパケットをレベル１のパケット処理部４０に渡す。
（５）ステップＳ１０５
最高位のレベル１から最下位レベルのレベルＮまでのパケット処理部４０は、順次、各レベルでのパケット処理を行う。各レベルのパケット処理部４０で処理されたパケットは各レベルのパケット処理部４０の出力パケット用キューに格納され送信待ち状態になっている。
（６）ステップＳ１０６
パケット送信部５０は、レベル１、レベル２、…、レベルＮの順で各レベルのパケット処理部４０の出力パケット用キューをサーチして、その順序でキューの中に入っているパケットを取り出し、ネットワークに送信する。
（７）ステップＳ１０７
全てのパケットを送信し終わったパケット送信部５０はＩＰ／ＴＣＰヘッダ解析部２０に対して待機状態を解除することで新たなＩＰパケットの入力処理を可能にする。
【００３５】
次に、ＩＰ／ＴＣＰヘッダ解析部２０の内部構成の例について説明する。
図４に示すように、ＩＰ／ＴＣＰ解析部２０は、入力パケットカウンタ２１、優先レベル設定部２２、パケット数統計部２３、優先レベル処理部２４を備える。なお、図４において、破線の矢印は情報の提供を示す。実線の矢印はパケットの流れを示す。
【００３６】
入力パケットカウンタ２１は、入力パケット用キュー１０からＩＰパケットを取得し、優先レベル設定部２２に渡す。
【００３７】
優先レベル設定部２２は、ＩＰパケットに対して、優先レベルをヘッダに付加し、パケット処理部４０へと渡す。
【００３８】
パケット数統計部２３は、入力パケットカウンタ２１で計測した各（ＩＰアドレス，ポート番号）の組の受信数情報を、図５に示すように、それぞれのパケットについて一定計測時間Ｔ秒内に受信した総数として統計していく。
【００３９】
パケット数統計部２３は、一定時間Ｔ秒が経過すると、優先レベル処理部２４に計測時間Ｔ秒内での各ＩＰパケットの統計情報の通知を行う。
【００４０】
優先レベル処理部２４は、統計情報の通知を受けると、レベル管理テーブル３０からのデフォルトの固定的な初期優先順位と計測時間Ｔ秒内での各ＩＰパケットの受信パケット数の情報を基に、全ての（ＩＰアドレス，ポート番号）の組のパケット統計情報とパケット数閾値を比較し、ある（ＩＰアドレス，ポート番号）の組のパケット統計情報が閾値を超えている場合は、優先レベルを最高位に繰り上げるという処置を施しながら（ＩＰアドレス，ポート番号）の全組の間で動的な優先順位の決定を行う。但し、複数の（ＩＰアドレス，ポート番号）の組でパケット統計情報が閾値を超えている場合は初期優先順位の順に最高位から優先レベルの順序付けをされるものとする。
【００４１】
優先レベル処理部２４で決定された優先順位は優先レベル設定部２２に渡される。優先レベル設定部２２では入力ＩＰパケットの（ＩＰアドレス，ポート番号）の組に対応する優先レベルが１バイトの優先順位の数字のヘッダとしてＩＰパケットの先頭に付加され、レベルヘッダを付加された各ＩＰパケットは外部のパケット処理部４０へと渡される。
【００４２】
次に、図６を参照して、ＩＰ／ＴＣＰヘッダ解析部２０の動作について説明する。
（１）ステップＳ２０１
入力パケットカウンタ２１は、入力パケット用キュー１０からＩＰパケットを取得し、優先レベル設定部２２に渡す。
（２）ステップＳ２０２
優先レベル設定部２２は、ＩＰパケットに対して、優先レベルをヘッダに付加し、パケット処理部４０へと渡す。
（３）ステップＳ２０３
パケット数統計部２３が、入力パケットカウンタ２１で計測した各（ＩＰアドレス，ポート番号）の組の受信数情報を、図５に示すように、それぞれのパケットについて一定計測時間Ｔ秒内に受信した総数として統計していく。
（４）ステップＳ２０４
パケット数統計部２３は、一定時間Ｔ秒が経過すると、優先レベル処理部２４に計測時間Ｔ秒内での各ＩＰパケットの統計情報の通知を行う。
（５）ステップＳ２０５
優先レベル処理部２４は、統計情報の通知を受けると、レベル管理テーブル３０からのデフォルトの固定的な初期優先順位と計測時間Ｔ秒内での各ＩＰパケットの受信パケット数の情報を基に、全ての（ＩＰアドレス，ポート番号）の組のパケット統計情報とパケット数閾値を比較する。すなわち、閾値を超えている（ＩＰアドレス，ポート番号）の組の有無を確認する。
（６）ステップＳ２０６
優先レベル処理部２４は、ある（ＩＰアドレス，ポート番号）の組のパケット統計情報が閾値を超えている場合は、複数の（ＩＰアドレス，ポート番号）の組でパケット統計情報が閾値を超えているか確認する。
（７）ステップＳ２０７
優先レベル処理部２４は、複数の（ＩＰアドレス，ポート番号）の組でパケット統計情報が閾値を超えている場合は、初期優先順位の順に最高位から優先レベルの順序付けを行う。
（８）ステップＳ２０８
優先レベル処理部２４は、優先レベルを最高位に繰り上げるという処置を施しながら（ＩＰアドレス，ポート番号）の全組の間で動的な優先順位の決定を行う。
（９）ステップＳ２０９
優先レベル処理部２４で決定された優先順位は優先レベル設定部２２に渡される。優先レベル設定部２２は、入力ＩＰパケットの（ＩＰアドレス，ポート番号）の組に対応する優先レベルを、１バイトの優先順位の数字のヘッダ（レベルヘッダ）としてＩＰパケットの先頭に付加し、レベルヘッダを付加された各ＩＰパケットを外部のパケット処理部４０へ渡す。
【００４３】
次に、レベル管理テーブル３０の例について説明する。
図７に示すように、レベル管理テーブル３０は、ＩＰアドレスとポート番号の組に対する処理の初期優先順位を定義する。また、各（ＩＰアドレス、ポート番号）の組の一定計測時間Ｔ秒内での受信パケット総数の閾値を定義している。各優先順位のパケット総数の閾値は一つ上位の優先順位のパケット総数の閾値の２倍となるように定義されている。各（ＩＰアドレス，ポート番号）毎の当該閾値は当該優先順位と共にＩＰ／ＴＣＰヘッダ解析部２０の優先レベル処理部２４に渡され、パケット毎の動的な優先レベル決定の際に使用される。
【００４４】
次に、パケット処理部４０の内部構成の例について説明する。
図８に示すように、パケット処理部４０は、入力パケット確認部４１と、演算処理用バッファ４２と、データ演算部４３と、出力パケット用キュー４４を備える。なお、図８において、破線の矢印は情報の提供を示す。実線の矢印はパケットの流れを示す。
【００４５】
入力パケット確認部４１は、各パケット処理部４０の中に存在し、ＩＰ／ＴＣＰヘッダ解析部２０又は一つ前のパケット処理部４０から渡されたＩＰパケットを入力パケットのレベルヘッダを確認して自身の処理レベルのパケットかどうかを判定し、もしそうであればデータを取り出して演算処理用バッファ４２に格納し、そうでなければ次の一段低い処理レベルのパケット処理部４０のパケットと判断して次のパケット処理部４０に渡す。
【００４６】
データ演算部４３は、各パケット処理部４０の中に存在し、入力パケット確認部４１から取得したパケットに関してルーティングテーブル６０を参照して送信先決定の処理を行い、順次処理済のパケットを出力パケット用キュー４４に格納する。ルーティングテーブル６０は、パケットの配送先に関する経路情報である。
【００４７】
次に、図９を参照して、各パケット処理部４０でのパケット処理について説明する。
（１）ステップＳ３０１
入力パケット確認部４１は、各レベルのパケット処理部４０に渡されたパケットに対して、パケットレベルヘッダのチェックを行い、自身の処理レベルのパケットかどうかを判定する。自身の処理レベルのパケットであればパケット演算部４３に渡す。
（２）ステップＳ３０２
パケット演算部４３は、入力パケット確認部４１から取得したパケットに関してルーティングテーブル６０を参照してパケットのルーティング処理を行い、当該処理後にパケット処理部４０の出力パケット用キュー４４に格納する。
（３）ステップＳ３０３
入力パケット確認部４１は、自身の処理レベルのパケットでなければ、より優先順位の低いレベルのパケットであると判断して、次のパケット処理部４０に渡すために当該パケットを次の処理レベルのパケット処理部４０の入力パケット確認部４１に渡す。
【００４８】
なお、本発明のＩＰパケット高速処理装置１００の各部の動作は、本発明の高速処理方法を規定したプログラムによりコンピュータに実行させることも可能である。
【００４９】
最後に、本発明のＩＰパケット高速処理装置１００の特徴について詳述する。
本発明のＩＰパケット高速処理装置１００は、（ＩＰアドレス，ポート番号）の組を優先処理させたい順にレベル分けして保持したレベル管理テーブル３０から取得した情報を基に、一定計測時間Ｔ秒毎に受信パケット数の重みを加味してＩＰパケット間の優先順位を決定し、ＩＰ／ＴＣＰヘッダの代わりにレベルヘッダをデータに付加してパケット処理部４０へ渡すＩＰ／ＴＣＰヘッダ解析部２０を有する点を特徴とする。
【００５０】
また、本発明のＩＰパケット高速処理装置１００は、入力パケット確認部４１、演算処理用バッファ４２、データ演算部４３を含むパケット処理部４０がＩＰパケットの優先処理レベル毎に用意され、優先処理レベルの高いパケットが早く処理されるようレベル順にそれぞれ直列に並び、各パケット処理部４０が当該パケット処理部４０に割り当てられた優先処理レベルのレベルヘッダの付加されたＩＰパケットのみを処理する機構を有する点を特徴とする。
【００５１】
また、本発明のＩＰパケット高速処理装置１００は、入力パケットのレベルヘッダが自身の処理レベルのパケットかどうかを判定し、そうであれば演算処理用バッファ４２に格納し、そうでなければ次の一つ低い優先処理レベルのパケット処理部４０へのパケットとみなしてパケットを処理せず通過させるための入力パケット確認部４１、及び入力パケット確認部４１から取り込まれたデータを一時的に格納する演算処理用バッファ４２、そしてルーティングテーブル６０を参照してパケットの送信先を判定処理し、送信処理済のパケットを出力パケット用キュー４４に格納するデータ演算部４３を含むパケット処理部４０を有する点を特徴とする。
【００５２】
更に、本発明のＩＰパケット高速処理装置１００は、優先処理レベルの高いパケットの格納される出力パケット用キュー４４から順にサーチして、その順序でキューの中に入っているパケットを取り出し、レベル管理テーブル３０の情報を基に出力パケットにＩＰ／ＴＣＰヘッダを付加してネットワークに送出するパケット送信部５０を有する点を特徴とする。
【００５３】
以上のように、従来は、ＩＰネットワーク通信環境では優先性の低いＩＰプロトコルのパケットの受信処理中に当該パケットよりも優先性の高いＩＰプロトコルのパケットが送信されてきても、当該優先性の高いパケットを効率的に優先処理されないため、優先性の高いＩＰプロトコルのパケット処理を必要とするコンピュータシステム上のアプリケーションのスループットが低下するという課題があった。
【００５４】
そこで、図４に示すように、各ＩＰサブネット間をつなぐルータとしての位置にルータ機能を兼ねたＩＰパケット高速処理装置１００を配置することによって特定のＩＰアドレスとポート番号のペアのパケットを優先的に伝送処理する。また、当該ＩＰパケット高速処理装置１００は一定時間Ｔ秒間に受信したパケット数に応じて動的に優先順位を決定することで、ある一定以上の大量のパケットが流れている場合は当該パケットを優先的に伝送処理する仕組みを持っているので、あるサブネットのコンピュータシステムのアプリケーションから他のサブネットのコンピュータシステムのアプリケーションに対して非常に大量のＩＰパケットが送出された場合でも優先的に伝送処理することで課題を解決する。
【図面の簡単な説明】
【００５５】
【図１】図１は、ＩＰパケット高速処理装置の内部モジュール構成を示した図である。
【図２】図２は、ＩＰパケット高速処理装置の設置と運用形態を示した図である。
【図３】図３は、ＩＰパケット高速処理装置の処理プロセスを示したフローチャートである。
【図４】図４は、ＩＰ／ＴＣＰヘッダ解析部の内部構成を示した図である。
【図５】図５は、一定計測時間Ｔ秒での受信パケット数の推移の様子を示した図である。
【図６】図６は、ＩＰ／ＴＣＰヘッダ解析部の動作を示したフローチャートである。
【図７】図７は、レベル管理テーブルの内部構成を示した図である。
【図８】図８は、各パケット処理部の内部構成を示した図である。
【図９】図９は、各パケット処理部でのパケット処理を示したフローチャートである。
【符号の説明】
【００５６】
１０…  入力パケット用キュー
２０…  ＩＰ／ＴＣＰヘッダ解析部
２１…  入力パケットカウンタ
２２…  優先レベル設定部
２３…  パケット数統計部
２４…  優先レベル処理部
３０…  レベル管理テーブル
４０…  パケット処理部
４１…  入力パケット確認部
４２…  演算処理用バッファ
４３…  データ演算部
４４…  出力パケット用キュー
５０…  パケット送信部
６０…  ルーティングテーブル
１００…  ＩＰパケット高速処理装置
【図１】
2008160626.tif 000003
【図２】
2008160626.tif 000004
【図３】
2008160626.tif 000005
【図４】
2008160626.tif 000006
【図５】
2008160626.tif 000007
【図６】
2008160626.tif 000008
【図７】
2008160626.tif 000009
【図８】
2008160626.tif 000010
【図９】
2008160626.tif 000011