(57)【要約】  ＴＣＰ等の送信処理の変数と受信処理の変数が相互に依存するネットワークプロトコル通信システムにおいて、更新されたプロトコル処理の送信処理ブロックと受信処理ブロックの非同期並列処理を実現する。具体的には、ＴＣＰ送信処理ブロックの受信処理ブロックの間に高優先で処理される制御情報を転送する高優先キューとそれ以外の制御情報を転送する低優先キューと制御情報を２種類のキューへ振り分ける優先制御手段を有する。ＴＣＰデータ転送中に新規ＴＣＰセッションの開設・切断要求がアプリケーションから発行された場合は、優先制御手段により、開設・切断要求の情報は、高優先キューを経由して優先的に通知され、それ以外の制御情報は、低優先キューを経由して受け渡される。
2010032533.tif 000002
【特許請求の範囲】
【請求項１】
ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に基づく送信処理と受信処理の各々の制御情報に使用されるプロトコル処理変数が相互に依存するプロトコル処理を行う制御情報転送装置と、
対向ホストから到着した受信パケットに対して受信プロトコル処理を行い、前記受信プロトコル処理により更新された制御情報のうちＴＣＰ送信処理で使用される制御情報を前記制御情報転送装置に送り、前記受信プロトコル処理により再構築されたＴＣＰデータをアプリケーション処理装置に送るＴＣＰ受信処理装置と、
前記アプリケーション処理装置から送信要求があった送信データに対して送信プロトコル処理を行い、前記送信プロトコル処理により更新された制御情報のうちＴＣＰ受信処理で使用される制御情報を前記制御情報転送装置に送り、前記送信プロトコル処理により生成されたＴＣＰパケットを対向ホストに送出するＴＣＰ送信処理装置と
を含み、
前記制御情報転送装置は、
前記ＴＣＰ受信処理装置から送られてきた制御情報を第一のキューに格納する手段と、
前記ＴＣＰ送信処理装置から送られてきた制御情報を第二のキューに格納する手段と
を具備し、
前記ＴＣＰ送信処理装置は、
前記第一のキューをモニタし、前記第一のキューに制御情報が格納されている場合、前記第一のキューから制御情報を取り出してＴＣＰ送信処理の変数を更新する手段と、
前記第二のキューをモニタし、前記第二のキューに制御情報が格納されている場合、前記第二のキューから制御情報を取り出してＴＣＰの受信処理の変数を更新する手段と
を具備する
ネットワークプロトコル処理システム。
【請求項２】
請求の範囲１に記載のネットワークプロトコル処理システムであって、
前記制御情報転送装置は、
前記第一のキュー及び前記第二のキューにより形成されるキューの対が複数存在する場合、前記ＴＣＰ受信処理装置及びＴＣＰ送信処理装置のいずれか一方から前記制御情報転送装置に送られてきた制御情報の種別に応じて、送られてきた制御情報を格納するキューの対を選択する手段
を更に具備する
ネットワークプロトコル処理システム。
【請求項３】
請求の範囲１又は２に記載のネットワークプロトコル処理システムであって、
前記制御情報転送装置は、
前記第一のキュー及び前記第二のキューにより形成されるキューの対を持つ高優先キューと、
前記第一のキュー及び前記第二のキューにより形成されるキューの対を持つ低優先キューと、
ネットワークセッションのセッション開設及びセッション切断に関わる制御情報を、前記高優先キューに格納する手段と、
他の制御情報を、前記低優先キューに格納する手段と、
前記高優先キュー及び前記低優先キューから制御情報を取り出す際、前記低優先キューに格納された制御情報よりも前記高優先キューに格納された制御情報を優先して処理する手段と
を更に具備する
ネットワークプロトコル処理システム。
【請求項４】
請求の範囲３に記載のネットワークプロトコル処理システムであって、
前記制御情報転送装置は、
前記低優先キューに相当し、それぞれ優先レベルに対応付けられた複数の低優先サブキューと、
ネットワークセッションに対応する優先レベルの情報を保持する優先情報保持手段と、
前記ＴＣＰ受信処理装置及び前記ＴＣＰ送信処理装置から送られてきた制御情報が属するネットワークセッションの情報を基に、前記優先情報保持手段から制御情報が属するネットワークセッションに対応する優先レベルの情報を取得する手段と、
前記複数の低優先サブキューのうち、当該優先レベルに対応付けられた低優先サブキューに、送られてきた制御情報を格納する手段と、
前記複数の低優先サブキューから制御情報を取り出す際、対応付けられている優先レベルの高い順に、前記各低優先サブキューに格納された制御情報を処理する手段と
を更に具備する
ネットワークプロトコル処理システム。
【請求項５】
請求の範囲４に記載のネットワークプロトコル処理システムであって、
前記制御情報転送装置は、
ＴＣＰ受信処理及びＴＣＰ送信装置から送られてきた制御情報のうち、前記ネットワークセッションのセッション開設及びセッション切断に関わる制御情報を前記高優先キューに格納する手段と、
前記他の制御情報を、前記他の制御情報が属するネットワークセッションの情報を基に、前記優先情報保持手段から前記他の制御情報が属するネットワークセッションに対応する優先レベルの情報を取得する手段と、
前記複数の低優先サブキューのうち、当該優先レベルに対応付けられた低優先サブキューに格納する手段と、
前記複数の低優先サブキューから制御情報を取り出す際、前記高優先キューに格納された制御情報を最優先で処理する手段と、
前記複数の低優先サブキューに格納された制御情報を、対応付けられている優先レベルの高い順に処理する手段と
を更に具備する
ネットワークプロトコル処理システム。
【請求項６】
請求の範囲１乃至５のいずれかに記載のネットワークプロトコル処理システムで使用される制御情報転送装置。
【請求項７】
対向ホストに接続されたコンピュータ上で実施されるネットワークプロトコル処理方法であって、
ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に基づく送信処理と受信処理の各々の制御情報に使用されるプロトコル処理変数が相互に依存するプロトコル処理を行うことと、
対向ホストから到着した受信パケットに対して受信プロトコル処理を行い、前記受信プロトコル処理により更新された制御情報のうちＴＣＰ送信処理で使用される制御情報を第一のキューに格納し、前記受信プロトコル処理により再構築されたＴＣＰデータをアプリケーション側に提供することと、
前記アプリケーション側から送信要求があった送信データに対して送信プロトコル処理を行い、前記送信プロトコル処理により更新された制御情報のうちＴＣＰ受信処理で使用される制御情報を第二のキューに格納し、前記送信プロトコル処理により生成されたＴＣＰパケットを対向ホストに送出することと、
前記第一のキューをモニタし、前記第一のキューに制御情報が格納されている場合、前記第一のキューから制御情報を取り出してＴＣＰ送信処理の変数を更新することと、
前記第二のキューをモニタし、前記第二のキューに制御情報が格納されている場合、前記第二のキューから制御情報を取り出してＴＣＰの受信処理の変数を更新することと
を含む
ネットワークプロトコル処理方法。
【請求項８】
請求の範囲７に記載のネットワークプロトコル処理方法であって、
前記第一のキュー及び前記第二のキューにより形成されるキューの対が複数存在する場合、前記ＴＣＰ送信処理で使用される制御情報及び前記ＴＣＰ受信処理で使用される制御情報のいずれかの制御情報の種別に応じて、制御情報を格納するキューの対を選択すること
を更に含む
ネットワークプロトコル処理方法。
【請求項９】
請求の範囲７又は８に記載のネットワークプロトコル処理方法であって、
前記第一のキュー及び前記第二のキューにより形成されるキューの対を持つ高優先キューと、前記第一のキュー及び前記第二のキューにより形成されるキューの対を持つ低優先キューとが存在する場合、ネットワークセッションのセッション開設及びセッション切断に関わる制御情報を、前記高優先キューに格納し、他の制御情報を、前記低優先キューに格納することと、
前記高優先キュー及び前記低優先キューから制御情報を取り出す際、前記低優先キューに格納された制御情報よりも前記高優先キューに格納された制御情報を優先して処理することと
を更に含む
ネットワークプロトコル処理方法。
【請求項１０】
請求の範囲９に記載のネットワークプロトコル処理方法であって、
ネットワークセッションに対応する優先レベルの情報を保持することと、
前記ＴＣＰ送信処理で使用される制御情報及び前記ＴＣＰ受信処理で使用される制御情報が属するネットワークセッションの情報を基に、前記保持されているネットワークセッションに対応する優先レベルの情報のうち、制御情報が属するネットワークセッションに対応する優先レベルの情報を取得することと、
前記低優先キューに相当し、それぞれ優先レベルに対応付けられた複数の低優先サブキューのうち、当該優先レベルに対応付けられた低優先サブキューに制御情報を格納することと、
前記複数の低優先サブキューから制御情報を取り出す際、対応付けられている優先レベルの高い順に、前記各低優先サブキューに格納された制御情報を処理することと
を更に含む
ネットワークプロトコル処理方法。
【請求項１１】
請求の範囲１０に記載のネットワークプロトコル処理方法であって、
前記ＴＣＰ送信処理で使用される制御情報及び前記ＴＣＰ受信処理で使用される制御情報のうち、前記ネットワークセッションのセッション開設及びセッション切断に関わる制御情報を前記高優先キューに格納することと、
前記他の制御情報を、前記他の制御情報が属するネットワークセッションの情報を基に、前記保持されているネットワークセッションに対応する優先レベルの情報のうち、前記他の制御情報が属するネットワークセッションに対応する優先レベルを示す情報を取得して、前記複数の低優先サブキューのうち、当該優先レベルに対応付けられた低優先サブキューに格納することと、
前記複数の低優先サブキューから制御情報を取り出す際、前記高優先キューに格納された制御情報を最優先で処理し、前記複数の低優先サブキューに格納された制御情報を、対応付けられている優先レベルの高い順に処理することと
を更に含む
ネットワークプロトコル処理方法。
【請求項１２】
ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に基づく送信処理と受信処理の各々の制御情報に使用されるプロトコル処理変数が相互に依存するプロトコル処理を行うステップと、
対向ホストから到着した受信パケットに対して受信プロトコル処理を行い、前記受信プロトコル処理により更新された制御情報のうちＴＣＰ送信処理で使用される制御情報を第一のキューに格納し、前記受信プロトコル処理により再構築されたＴＣＰデータをアプリケーション側に提供するステップと、
前記アプリケーション側から送信要求があった送信データに対して送信プロトコル処理を行い、前記送信プロトコル処理により更新された制御情報のうちＴＣＰ受信処理で使用される制御情報を第二のキューに格納し、前記送信プロトコル処理により生成されたＴＣＰパケットを対向ホストに送出するステップと、
前記第一のキューをモニタし、前記第一のキューに制御情報が格納されている場合、前記第一のキューから制御情報を取り出してＴＣＰ送信処理の変数を更新するステップと、
前記第二のキューをモニタし、前記第二のキューに制御情報が格納されている場合、前記第二のキューから制御情報を取り出してＴＣＰの受信処理の変数を更新するステップと
をコンピュータに実行させるためのプログラムを格納した
記憶媒体。
【請求項１３】
請求の範囲１２に記載の記憶媒体であって、
前記第一のキュー及び前記第二のキューにより形成されるキューの対が複数存在する場合、前記ＴＣＰ送信処理で使用される制御情報及び前記ＴＣＰ受信処理で使用される制御情報のいずれかの制御情報の種別に応じて、制御情報を格納するキューの対を選択するステップ
を更にコンピュータに実行させるためのプログラムを格納した
記憶媒体。
【請求項１４】
請求の範囲１２又は１３に記載の記憶媒体であって、
前記第一のキュー及び前記第二のキューにより形成されるキューの対を持つ高優先キューと、前記第一のキュー及び前記第二のキューにより形成されるキューの対を持つ低優先キューとが存在する場合、ネットワークセッションのセッション開設及びセッション切断に関わる制御情報を、前記高優先キューに格納し、他の制御情報を、前記低優先キューに格納するステップと、
前記高優先キュー及び前記低優先キューから制御情報を取り出す際、前記低優先キューに格納された制御情報よりも前記高優先キューに格納された制御情報を優先して処理するステップと
を更にコンピュータに実行させるためのプログラムを格納した
記憶媒体。
【請求項１５】
請求の範囲１４に記載の記憶媒体であって、
ネットワークセッションに対応する優先レベルの情報を保持するステップと、
前記ＴＣＰ送信処理で使用される制御情報及び前記ＴＣＰ受信処理で使用される制御情報が属するネットワークセッションの情報を基に、前記保持されているネットワークセッションに対応する優先レベルの情報のうち、制御情報が属するネットワークセッションに対応する優先レベルの情報を取得するステップと、
前記低優先キューに相当し、それぞれ優先レベルに対応付けられた複数の低優先サブキューのうち、当該優先レベルに対応付けられた低優先サブキューに制御情報を格納するステップと、
前記複数の低優先サブキューから制御情報を取り出す際、対応付けられている優先レベルの高い順に、前記各低優先サブキューに格納された制御情報を処理するステップと
を更にコンピュータに実行させるためのプログラムを格納した
記憶媒体。
【請求項１６】
請求の範囲１５に記載の記憶媒体であって、
前記ＴＣＰ送信処理で使用される制御情報及び前記ＴＣＰ受信処理で使用される制御情報のうち、前記ネットワークセッションのセッション開設及びセッション切断に関わる制御情報を前記高優先キューに格納するステップと、
前記他の制御情報を、前記他の制御情報が属するネットワークセッションの情報を基に、前記保持されているネットワークセッションに対応する優先レベルの情報のうち、前記他の制御情報が属するネットワークセッションに対応する優先レベルを示す情報を取得して、前記複数の低優先サブキューのうち、当該優先レベルに対応付けられた低優先サブキューに格納するステップと、
前記複数の低優先サブキューから制御情報を取り出す際、前記高優先キューに格納された制御情報を最優先で処理し、前記複数の低優先サブキューに格納された制御情報を、対応付けられている優先レベルの高い順に処理するステップと
を更にコンピュータに実行させるためのプログラムを格納した
記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークプロトコル処理システムに関し、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を始めとする送信処理と受信処理のプロトコル処理の変数が相互に依存するネットワークプロトコル処理システムに関する。
【背景技術】
【０００２】
従来のネットワークプロトコル通信システムは、複数のプロトコル処理手段によりパイプラインを実現する。従来のネットワークプロトコル処理システムは、複数のプロトコル処理手段を実施するサブプロセッサと、プロトコル制御情報を格納する第一の記録媒体と、第一の記憶媒体よりも高速にアクセス可能な第二の記憶媒体を備えている。第一のプロトコル処理手段は、第一の記憶媒体からプロトコル情報を読み出して第二の記憶媒体に格納するための指示を行うか、もしくはプロトコル制御情報を新規に生成して第二の記憶媒体に格納するための指示を行う。また、第二のプロトコル処理手段は、第二の記憶媒体に格納されるプロトコル制御情報を参照してプロトコル処理手段を行う。第一のプロトコル処理手段は、第二のプロトコル処理手段より前段の処理手段を行う事でパイプライン動作を実現する。【０００３】
しかし、従来のネットワークプロトコル通信システムには、以下のような問題点がある。【０００４】
第一の問題点は、従来のネットワークプロトコル通信システムでは、プロトコル処理の送信処理ブロックと受信処理ブロックの非同期並列処理が実現出来ないことである。その理由は、複数プロトコル処理手段の間で受け渡される制御情報の量が、セッション当たり１エントリしか用意されていないためである。【０００５】
第二の問題点は、第一の問題点を解決するために、送信処理ブロックと受信処理ブロック間で受け渡される制御情報を格納するキューが存在したとしても、単一のキューのみではネットワークのデータ送受信処理中にセッション開閉処理の性能が劣化することである。その理由は、送信処理ブロック間と受信ブロック間で受け渡される全ての制御情報が同一のキューを通ってしまうと、送信処理ブロックから受信処理ブロック間でセッション開閉に関わる制御情報がパケット処理により受け渡される制御情報の影響を受けるためである。【０００６】
第三の問題点は、優先度の高いネットワークプロトコルのセッションのデータ転送性能を選択的に向上させることが出来ないことである。その理由は、ネットワークプロトコル処理のセッション別の優先制御が考慮されていないためである。【０００７】
関連する技術として、特開２００８−１４６４８６号公報（特許文献１）に通信装置、通信装置の制御方法及びプログラムが開示されている。この関連技術では、ＴＣＰ／ＩＰのような階層化されたプロトコルスタックを複数のプロセッサでパイプライン的に処理する。【０００８】
また、特開２００７−１６６２９４号公報（特許文献２）にパケット転送装置及びマルチキャスト展開方法が開示されている。この関連技術では、指定された優先度に従って、低優先キューと高優先キューのどちらかのキューに、ポインタ情報と優先度情報を振分ける。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００８−１４６４８６号公報
【特許文献２】特開２００７−１６６２９４号公報
【非特許文献】
【００１０】
【非特許文献１】ＲＦＣ７９３＜ｈｔｔｐ：／／ｗｗｗ．ｆａｑｓ．ｏｒｇ／ｒｆｃｓ／ｒｆｃ７９３．ｈｔｍｌ＞
【非特許文献２】ＲＦＣ３７８２＜ｈｔｔｐ：／／ｗｗｗ．ｆａｑｓ．ｏｒｇ／ｒｆｃｓ／ｒｆｃ３７８２．ｈｔｍｌ＞
【発明の概要】
【００１１】
本発明の目的は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を始めとするネットワークプロトコルの送信処理と受信処理のプロトコル処理の変数が相互に依存するネットワークシステムにおいて送信処理と受信処理を非同期並列処理するネットワークプロトコル処理システム、ネットワークプロトコル処理方法、及びプログラムを提供することにある。
【００１２】
本発明のネットワークプロトコル処理システムは、制御情報転送装置と、ＴＣＰ受信処理装置と、ＴＣＰ送信処理装置とを備える。制御情報転送装置は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に基づく送信処理と受信処理の各々の制御情報に使用されるプロトコル処理変数が相互に依存するプロトコル処理を行う。ＴＣＰ受信処理装置は、対向ホストから到着した受信パケットに対して受信プロトコル処理を行う。また、ＴＣＰ受信処理装置は、受信プロトコル処理により更新された制御情報のうちＴＣＰ送信処理で使用される制御情報を制御情報転送装置に送る。また、ＴＣＰ受信処理装置は、受信プロトコル処理により再構築されたＴＣＰデータをアプリケーション処理装置に送る。ＴＣＰ送信処理装置は、アプリケーション処理装置から送信要求があった送信データに対して送信プロトコル処理を行う。また、ＴＣＰ送信処理装置は、送信プロトコル処理により更新された制御情報のうちＴＣＰ受信処理で使用される制御情報を制御情報転送装置に送る。また、ＴＣＰ送信処理装置は、送信プロトコル処理により生成されたＴＣＰパケットを対向ホストに送出する。
【００１３】
制御情報転送装置は、ＴＣＰ受信処理装置から送られてきた制御情報を第一のキューに格納し、ＴＣＰ送信処理装置から送られてきた制御情報を第二のキューに格納する。ＴＣＰ送信処理装置は、第一のキューをモニタ（監視）し、第一のキューに制御情報が格納されている場合、第一のキューから制御情報を取り出してＴＣＰ送信処理の変数を更新する。ＴＣＰ受信処理装置は、第二のキューをモニタし、第二のキューに制御情報が格納されている場合、第二のキューから制御情報を取り出してＴＣＰの受信処理の変数を更新する。
【００１４】
本発明のネットワークプロトコル処理方法は、対向ホストに接続されたコンピュータ上で実施されるネットワークプロトコル処理方法である。このネットワークプロトコル処理方法では、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に基づく送信処理と受信処理の各々の制御情報に使用されるプロトコル処理変数が相互に依存するプロトコル処理を行う。また、対向ホストから到着した受信パケットに対して受信プロトコル処理を行い、受信プロトコル処理により更新された制御情報のうちＴＣＰ送信処理で使用される制御情報を第一のキューに格納し、受信プロトコル処理により再構築されたＴＣＰデータをアプリケーション側に提供する。また、アプリケーション側から送信要求があった送信データに対して送信プロトコル処理を行い、送信プロトコル処理により更新された制御情報のうちＴＣＰ受信処理で使用される制御情報を第二のキューに格納し、送信プロトコル処理により生成されたＴＣＰパケットを対向ホストに送出する。また、第一のキューをモニタし、第一のキューに制御情報が格納されている場合、第一のキューから制御情報を取り出してＴＣＰ送信処理の変数を更新する。また、第二のキューをモニタし、第二のキューに制御情報が格納されている場合、第二のキューから制御情報を取り出してＴＣＰの受信処理の変数を更新する。
【００１５】
本発明のプログラムは、次のような動作をコンピュータに実行させるためのプログラムである。コンピュータは、このプログラムにより、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に基づく送信処理と受信処理の各々の制御情報に使用されるプロトコル処理変数が相互に依存するプロトコル処理を行う。また、コンピュータは、このプログラムにより、対向ホストから到着した受信パケットに対して受信プロトコル処理を行う。また、コンピュータは、このプログラムにより、受信プロトコル処理により更新された制御情報のうちＴＣＰ送信処理で使用される制御情報を第一のキューに格納する。また、コンピュータは、このプログラムにより、受信プロトコル処理により再構築されたＴＣＰデータをアプリケーション側に提供する。また、コンピュータは、このプログラムにより、アプリケーション側から送信要求があった送信データに対して送信プロトコル処理を行う。また、コンピュータは、このプログラムにより、送信プロトコル処理により更新された制御情報のうちＴＣＰ受信処理で使用される制御情報を第二のキューに格納する。また、コンピュータは、このプログラムにより、送信プロトコル処理により生成されたＴＣＰパケットを対向ホストに送出する。また、コンピュータは、このプログラムにより、第一のキューをモニタし、第一のキューに制御情報が格納されている場合、第一のキューから制御情報を取り出してＴＣＰ送信処理の変数を更新する。また、コンピュータは、このプログラムにより、第二のキューをモニタし、第二のキューに制御情報が格納されている場合、第二のキューから制御情報を取り出してＴＣＰの受信処理の変数を更新する。なお、本発明のプログラムは、記憶媒体に格納することができる。
【００１６】
ＴＣＰ送信処理ブロックと受信処理ブロック間で非同期並列処理を行うことが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１実施形態の構成を示すブロック図である。
【図２】本発明の第１実施形態の受信処理の動作を示すブロック図である。
【図３】本発明の第１実施形態の送信処理の動作を示すブロック図である。
【図４】本発明の第１実施形態の制御情報転送の動作を示すブロック図である。
【図５】本発明の第１実施形態の制御情報転送の動作を示すブロック図である。
【図６】本発明の第２実施形態の制御情報のキューからの取得の動作を示すブロック図である。
【図７】本発明の第２実施形態の構成を示すブロック図である。
【図８】本発明の第２実施形態の動作を示すブロック図である。
【図９】本発明の第３実施形態の構成を示すブロック図である。
【図１０】本発明の第３実施形態の受信時の動作を示すブロック図である。
【図１１】本発明の第３実施形態の送信時の動作を示すブロック図である。
【発明を実施するための形態】
【００１８】
＜第１実施形態＞
以下に、本発明の第１実施形態について添付図面を参照して説明する。
図１を参照すると、本発明の第１実施形態におけるネットワークプロトコル処理システムは、パケット入力装置１と、パケット出力装置２と、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）受信処理装置３と、ＴＣＰ送信処理装置４と、アプリケーション処理装置５と、制御情報転送装置６を含む。
【００１９】
パケット入力装置１は、対向ホストから到着したパケットの受信を行う。パケット出力装置２は、対向ホストへパケットを送出する。ＴＣＰ受信処理装置３は、ＴＣＰ受信処理を行う。ＴＣＰ送信処理装置４は、ＴＣＰ送信処理を行う。アプリケーション処理装置５は、ＴＣＰのネットワークの上位階層の処理を行う。ここでは、アプリケーション処理装置５は、アプリケーション（ａｐｐｌｉｃａｔｉｏｎ  ｓｏｆｔｗａｒｅ）を実行する。制御情報転送装置６は、ＴＣＰ受信処理装置３とＴＣＰ送信処理装置４の間で制御情報の転送を行う。
【００２０】
制御情報転送装置６は、第１制御情報優先制御部６１と、第２制御情報優先制御部６２と、高優先キュー６３と、低優先キュー６４を備える。
【００２１】
制御情報優先手段６１は、ＴＣＰ受信処理装置３から送られてきた制御情報を、制御情報の種別に応じて、高優先キュー６３と低優先キュー６４に振り分ける。また、制御情報優先手段６１は、ＴＣＰ送信処理装置４から送られてきた制御情報が高優先キュー６３と低優先キュー６４に到着したか確認し、制御情報が到着していれば、対応するＴＣＰ受信処理装置３の内部処理変数を更新する。
【００２２】
制御情報優先手段６２は、ＴＣＰ送信処理装置４から送られてきた制御情報を、制御情報の種別に応じて、高優先キュー６３と低優先キュー６４に振り分ける。また、制御情報優先手段６２は、ＴＣＰ受信処理装置３から送られてきた制御情報が高優先キュー６３と低優先キュー６４に到着したか確認し、制御情報が到着していれば、対応するＴＣ送信処理装置４の内部処理変数を更新する。
【００２３】
高優先キュー６３及び低優先キュー６４の各々は、ＴＣＰ受信装置３からＴＣＰ送信装置４への制御情報を格納するキュー（第一のキュー）と、ＴＣＰ送信装置４からＴＣＰ受信装置３への制御情報を格納するキュー（第二のキュー）の対を備える。また、高優先キュー６３及び低優先キュー６４の各々は、これらのキューに、ＴＣＰ受信処理装置３とＴＣＰ送信処理装置４の間で転送される制御情報を格納する。高優先キュー６３は、優先度の高い制御情報を格納する。低優先キュー６４は、それ（優先度の高い制御情報）以外の情報を格納する。ここでは、低優先キュー６４は、高優先キュー６３に格納されなかった情報を格納する。
【００２４】
次に、本実施形態の動作について詳細に説明する。
図２を参照して、ＴＣＰの受信動作について説明する。
【００２５】
（１）ステップＡ１
パケット入力装置１は、対向ホストから送られたＴＣＰパケットを受信し、ＴＣＰ受信処理装置３に送る。
【００２６】
（２）ステップＡ２
ＴＣＰ受信処理装置３は、ＴＣＰ受信パケット処理により有効データ長の判定やＴＣＰのプロトコル処理変数である「ｒｃｖ＿ｎｘｔ」、「ｒｃｖ＿ｗｎｄ」、「ｒｃｖ＿ｕｐ」、「ｓｎｄ＿ｕｎａ」、及び輻輳ウィンドウを更新する。ここでは、「ｒｃｖ＿ｎｘｔ」を始めとするＴＣＰの変数は、ＲＦＣ（Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｎｔ）７９３＜ｈｔｔｐ：／／ｗｗｗ．ｆａｑｓ．ｏｒｇ／ｒｆｃｓ／ｒｆｃ７９３．ｈｔｍｌ＞で定義される値である。輻輳ウィンドウは、ＲＦＣ３７８２＜ｈｔｔｐ：／／ｗｗｗ．ｆａｑｓ．ｏｒｇ／ｒｆｃｓ／ｒｆｃ３７８２．ｈｔｍｌ＞を始めとした「ＮｅｗＲｅｎｏ」等の輻輳制御方式で利用される変数である。ここでは、これらの変数は、制御情報に相当する。
【００２７】
（３）ステップＡ３
ＴＣＰ受信処理装置３は、ＴＣＰ受信パケット処理により更新された変数があるか確認する。
【００２８】
（４）ステップＡ４
ＴＣＰ受信処理装置３は、更新された変数があれば、その更新情報を、制御情報転送装置６に送る。受信パケットのＴＣＰ処理により更新された変数のうち、「ｒｃｖ＿ｎｘｔ」は、ＡＣＫパケットの送出を判断するためにＴＣＰ送信処理装置４で必要な変数である。「ｓｎｄ＿ｕｎａ」は、送出ＴＣＰパケットのＡＣＫフィールドを決定するためにＴＣＰ送信処理装置４で必要な変数である。輻輳ウィンドウは、送出ウィンドウを決定するためにＴＣＰ送信処理装置４で必要な変数である。
【００２９】
（５）ステップＡ５
また、ＴＣＰ受信処理装置３は、対向ホストから受信したＴＣＰパケットに「ＦＩＮ」や「ＲＳＴ」が含まれていた場合、ＴＣＰのシーケンス番号が有効範囲内部であれば、該当ＴＣＰセッションの内部ステートを、「ＥＳＴＡＢＬＩＳＨＥＤ」から「ＣＬＯＳＥ＿ＷＡＩＴ」や「ＣＬＯＳＥＤ」に遷移する。
【００３０】
（６）ステップＡ６
ＴＣＰ受信処理装置３は、ステート遷移があった場合、ＴＣＰステート遷移に伴う制御情報（例えば、更新後のＴＣＰステート情報）を、制御情報転送装置６に送る。
【００３１】
（７）ステップＡ７
その後、ＴＣＰ受信処理装置３は、ＴＣＰ処理結果をアプリケーション処理装置５に通知し、受信処理を完了する。
【００３２】
続いて、図３を参照して、ＴＣＰの送信動作について説明する。
【００３３】
（１）ステップＢ１
アプリケーション処理装置５は、送出するＴＣＰデータを、ＴＣＰ送信処理装置４に送る。
【００３４】
（２）ステップＢ２
ＴＣＰ送信処理装置４は、ＴＣＰ送信パケット処理により、送出可能なＴＣＰデータの判定処理やＴＣＰの送信処理の変数である「ｓｎｄ＿ｎｘｔ」、「ｓｎｄ＿ｍａｘ」、「ｓｎｄ＿ｗｎｄ」を更新する。なお、「ｓｎｄ＿ｎｘｔ」等のＴＣＰの変数は、ＲＦＣ７９３で定義されている。ここでは、これらの変数は、制御情報に相当する。
【００３５】
（３）ステップＢ３
また、ＴＣＰ送信処理装置４は、ＴＣＰ送信パケット処理により更新された変数があるか確認する。
【００３６】
（４）ステップＢ４
ＴＣＰ送信処理装置４は、更新された変数があれば、その更新情報を、制御情報転送装置６に送る。送信データのＴＣＰ処理により更新された変数のうち、「ｓｎｄ＿ｎｘｔ」、「ｓｎｄ＿ｍａｘ」は、ＡＣＫパケット受信時の再送タイマの設定判定に使われるために、ＴＣＰ受信処理装置３で必要な変数である。
【００３７】
（５）ステップＢ５
また、ＴＣＰ送信処理装置４は、アプリケーション処理装置からの要求が「ＳＹＮ」、「ＦＩＮ」、「ＲＳＴ」であったり、もしくは、コネクション開設通知、切断通知であったりした場合、該当ＴＣＰセッションの内部ステートを、「ＣＬＯＳＥＤ」から「ＳＹＮ」、もしくは、「ＥＳＴＡＢＬＩＳＨＥＤ」から「ＦＩＮ＿ＷＡＩＴ＿１」等に遷移する。
【００３８】
（６）ステップＢ６
ＴＣＰ送信処理装置４は、ステート遷移があった場合、ＴＣＰステート遷移に伴う制御情報（例えば、更新後のＴＣＰステート情報）を、制御情報転送装置６に送る。
【００３９】
（７）ステップＢ７
その後、ＴＣＰ送信処理装置４は、ＴＣＰパケットを生成し、パケット出力装置２を経由して対向ホストに送信し、送信処理を完了する。
【００４０】
図４を参照して、制御情報転送装置６での制御情報のキューへの振り分け処理について説明する。
【００４１】
（１）ステップＣ１
ＴＣＰ受信処理装置３、もしくは、ＴＣＰ送信処理装置４は、制御情報を、制御情報転送装置６に送る。
【００４２】
（２）ステップＣ２
制御情報転送装置６は、送られてきた制御情報がＴＣＰステート遷移に伴う制御情報であるか確認する。
【００４３】
（３）ステップＣ３
制御情報転送装置６は、送られてきた制御情報がＴＣＰステート遷移に伴う制御情報であれば、第１制御情報優先制御部６１、もしくは、第２制御情報優先制御部６２を経由して高優先キュー６３に転送する。高優先キュー６３は、転送された制御情報を、第２制御情報優先制御部６２、もしくは、第１制御情報優先制御部６１に送る。
【００４４】
（４）ステップＣ４
制御情報転送装置６は、送られてきた制御情報がその他の制御情報であるか確認する。
【００４５】
（５）ステップＣ５
制御情報転送装置６は、送られてきた制御情報がその他の制御情報であれば、第１制御情報優先制御部６１、もしくは、第２制御情報優先制御部６２を経由して低優先キュー６４に転送する。低優先キュー６４は、転送された制御情報を、第２制御情報優先制御部６２、もしくは、第１制御情報優先制御部６１に送る。
【００４６】
このとき、制御情報転送装置６は、送られてきた制御情報がＴＣＰステート遷移に伴う制御情報でなければ、無条件に、送られてきた制御情報がその他の制御情報であると判定するようにしても良い。
【００４７】
図５を参照して、制御情報転送装置６でのキューからの情報取得処理について説明する。
【００４８】
（１）ステップＤ１
第２制御情報優先制御部６２、もしくは、第１制御情報優先制御部６１は、高優先キュー６３をモニタ（監視）し、高優先キュー６３に制御情報が到着しているか確認する。
【００４９】
（２）ステップＤ２
第２制御情報優先制御部６２、もしくは、第１制御情報優先制御部６１は、高優先キュー６３に制御情報が到着していたら、高優先キュー６３の制御情報を取得する。
（３）ステップＤ３
第２制御情報優先制御部６２、もしくは、第１制御情報優先制御部６１は、低優先キュー６４をモニタし、低優先キュー６４に制御情報が到着しているか確認する。
【００５０】
（４）ステップＤ４
第２制御情報優先制御部６２、もしくは、第１制御情報優先制御部６１は、低優先キュー６４に制御情報が到着していたら、低優先キュー６４の制御情報を取得する。
【００５１】
（５）ステップＤ５
第２制御情報優先制御部６２、もしくは、第１制御情報優先制御部６１は、取得された制御情報に基づいて、ＴＣＰ受信処理装置３、もしくは、ＴＣＰ送信処理装置４の内部変数を更新する。
【００５２】
なお、第２制御情報優先制御部６２、もしくは、第１制御情報優先制御部６１は、高優先キュー６３と低優先キュー６４のどちらにも制御情報が到着していた場合、高優先キュー６３を優先する。
【００５３】
次に、本実施形態の効果について説明する。
本実施形態では、送信処理と受信処理を別ブロックに分割し、送信処理と受信処理の必要とする変数をキューを介して受け渡す。これにより、送信処理と受信処理が独立して非同期動作を行う事が出来る。従来のＴＣＰスタックでは、送信処理で使われる変数が受信処理により更新される等、変数が送信側と受信側で入り組んでいるために送信処理と受信処理の分割が出来なかった。そのため、データを送信中に対向ホストからパケットを受信すると、その間は、送信処理を行うことが出来なかった。本実施形態により、データ送信中に外部からデータを受信しても送信処理は、その影響を受けずに従来技術より高速に処理することが出来る。
【００５４】
また、本実施形態では、ＴＣＰ送信処理装置とＴＣＰ受信処理装置の間の制御情報転送に優先順位を設け、ＴＣＰステート遷移に関わる制御を優先的に転送するようにしている。これにより、セッションの開設・切断処理に伴う制御情報が他セッションのＴＣＰデータ転送の際に通知される制御情報のトラヒック（Ｔｒａｆｆｉｃ：転送量）の影響を受けずに、従来技術より高速にＴＣＰのセッション開設・切断処理が行うことが可能となる。
【００５５】
例えば、双方向データ転送時に、対向ホストからパケットＰ１〜ＰＮのＮ個のＴＣＰパケットが到着したとする。また、同時にアプリケーションから同一のセッションのパケットＱ１〜ＱＭのＭ個のＴＣＰパケットに相当するＴＣＰデータの送出要求があったとする。
【００５６】
従来では、ＴＣＰ受信処理装置３及びＴＣＰ送信処理装置４が分割されていなかったため、パケットＰ１〜ＰＮの受信処理の間は、パケットＱ１〜ＱＭの送出処理が出来なかった。
【００５７】
それに対し、本実施形態では、ＴＣＰ受信処理装置は、パケットＰ１〜ＰＮが到着すると、ＴＣＰパケット受信処理後、パケットＰ１〜ＰＮのＴＣＰ処理によって更新されたＮ組の「ｒｃｖ＿ｎｘｔ」、「ｒｃｖ＿ｗｎｄ」、「ｒｃｖ＿ｕｐ」、「ｓｎｄ＿ｕｎａ」、及び輻輳ウィンドウの更新通知を、制御情報として制御情報転送装置６に送る。制御情報転送装置６は、これらの変数がＴＣＰステート遷移に関わらない情報であるため、低優先キュー６４を経由してＴＣＰ送信処理装置に送り、ＴＣＰ送信処理装置の変数を更新する。その際に、ＴＣＰ送信処理装置は、アプリケーション処理装置からＴＣＰデータのＴＣＰ送信処理を要求されていれば、ＴＣＰデータのＴＣＰ送信処理を行う。
【００５８】
また、例えば、セッション開閉の高速処理時において、Ｉ個のセッションでＴＣＰデータ送受信の転送中にアプリケーション処理装置から新規コネクション開設要求が通知された場合、従来のようにＴＣＰ受信処理装置とＴＣＰ送信処理装置が分割されておらず、単一のキューで接続されているとすると、パケット処理により更新された制御情報のトラヒックの影響を受けてコネクション開設要求に伴うＴＣＰステート遷移に関わる制御情報の転送が遅れる事になる。
【００５９】
本実施形態では、ＴＣＰステート遷移に関わる制御情報は、別の経路（高優先キュー６３）で処理されるため、予め張られていたＩ個のＴＣＰセッションのデータ送受信に関わるトラヒックの影響を受けず、優先制御を行わない場合に比べて高速にＴＣＰセッションの開閉処理を行う事が可能となる。
【００６０】
＜第２実施形態＞
次に、本発明の第２実施形態について説明する。
図６に示すように、本発明の第２実施形態におけるネットワークプロトコル処理システムは、制御情報転送装置６が、図１に示された第１実施形態における制御情報転送装置６の構成に対し、低優先キュー６４の代わりにＮ個の低優先サブキュー６５（６５−ｉ、ｉ＝１〜Ｎ）を有する点と、優先情報保持部７を有する点で異なる。
【００６１】
図６を参照すると、本発明の第２実施形態におけるネットワークプロトコル処理システムは、パケット入力装置１と、パケット出力装置２と、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）受信処理装置３と、ＴＣＰ送信処理装置４と、アプリケーション処理装置５と、制御情報転送装置６と、優先情報保持部７を含む。
【００６２】
パケット入力装置１、パケット出力装置２、ＴＣＰ受信処理装置３、ＴＣＰ送信処理装置４、及びアプリケーション処理装置５は、基本的に第１実施形態と同様である。
【００６３】
制御情報転送装置６は、制御情報を受信すると、ＴＣＰセッション情報をキーにしてＴＣＰセッションに対応する優先レベルを示す情報を取得する。
【００６４】
制御情報転送装置６は、第１制御情報優先制御部６１と、第２制御情報優先制御部６２と、高優先キュー６３と、低優先サブキュー６５（６５−ｉ、ｉ＝１〜Ｎ）を備える。
【００６５】
第１制御情報優先制御部６１、第２制御情報優先制御部６２、及び高優先キュー６３は、基本的に第１実施形態と同様である。
【００６６】
低優先サブキュー６５（６５−ｉ、ｉ＝１〜Ｎ）は、高優先キュー６３及び低優先キュー６４と同じく、ＴＣＰ受信装置３からＴＣＰ送信装置４への制御情報を格納するキュー（第一のキュー）と、ＴＣＰ送信装置４からＴＣＰ受信装置３への制御情報を格納するキュー（第二のキュー）の対を備える。また、低優先サブキュー６５（６５−ｉ、ｉ＝１〜Ｎ）は、これらのキューに、ＴＣＰ受信処理装置３とＴＣＰ送信処理装置４の間で転送される制御情報を格納する。低優先サブキュー６５（６５−ｉ、ｉ＝１〜Ｎ）は、Ｎ種類の優先レベルに応じて振り分けられた制御情報を格納する。本実施形態では、優先レベル１が最も優先度が高く、優先レベルＮが最も優先度が低いものとする。同一の優先レベルのＴＣＰセッションのパケット処理により更新された制御情報は、同一の低優先サブキューを経由してＴＣＰ受信処理装置３とＴＣＰ送信処理装置４の間で転送される。
【００６７】
なお、低優先サブキュー６５（６５−ｉ、ｉ＝１〜Ｎ）は、物理的に独立した記憶領域に限らず、仮想的に分割された記憶領域でも良い。例えば、低優先サブキュー６５（６５−ｉ、ｉ＝１〜Ｎ）は、低優先キュー６４の記憶領域を仮想的に複数の記憶領域に分割したものでも良い。この場合、低優先キュー６４は、低優先サブキュー６５（６５−ｉ、ｉ＝１〜Ｎ）を含む。
【００６８】
優先情報保持部７は、ＴＣＰセッションに対応した優先レベルを示す情報を保持する。ここでは、優先情報保持部７は、保持された優先レベルを示す情報を、第１制御情報優先制御部６１、及び第２制御情報優先制御部６２に提供する。
【００６９】
次に、本発明の第２実施形態の動作について詳細に説明する。
なお、本実施形態において、ＴＣＰ受信処理及びＴＣＰ送信処理は、第１実施形態の図２、図３のフローと同一である。また、制御情報伝達装置７の図７のステップＣ１〜ステップＣ４は、第１実施形態の図４のステップＣ１〜ステップＣ４と同一である。図８のステップＤ１、ステップＤ２、ステップＤ５は、第１実施形態の図５のステップＤ１、ステップＤ２、ステップＤ５と同一である。
【００７０】
図７を参照して、制御情報転送装置６での制御情報のキューへの振り分け処理について説明する。
【００７１】
（１）ステップＣ１
ＴＣＰ受信処理装置３、もしくは、ＴＣＰ送信処理装置４は、制御情報を、制御情報転送装置６に送る。
【００７２】
（２）ステップＣ２
制御情報転送装置６は、送られてきた制御情報がＴＣＰステート遷移に伴う制御情報であるか確認する。
【００７３】
（３）ステップＣ３
制御情報転送装置６は、送られてきた制御情報がＴＣＰステート遷移に伴う制御情報であれば、第１制御情報優先制御部６１、もしくは、第２制御情報優先制御部６２を経由して高優先キュー６３に転送する。高優先キュー６３は、転送された制御情報を、第２制御情報優先制御部６２、もしくは、第１制御情報優先制御部６１に送る。
【００７４】
（４）ステップＣ４
制御情報転送装置６は、送られてきた制御情報がその他の制御情報であるか確認する。
【００７５】
（５）ステップＣ６（第２実施形態での変更部分）
制御情報転送装置６は、パケット処理により、制御情報を、ＴＣＰセッションに対応付けられた優先レベルに基づいて、優先レベルに対応付けられた低優先サブキューに振り分ける。なお、制御情報転送装置６は、送られてきた制御情報がＴＣＰステート遷移に関わる制御情報ではなかった場合、ＴＣＰセッション情報をキーとして優先情報保持部７からＴＣＰセッションに対応するＮ種類の優先レベルを示す情報を取得する。このとき、制御情報転送装置６は、優先情報保持部７に該当するエントリが無かった場合、一番低い優先レベルのＮを割り当てる。
【００７６】
（６）ステップＣ７（第２実施形態での変更部分）
制御情報転送装置６は、取得されたＮ種類の優先レベルに対応した低優先サブキュー６５（６５−ｉ、ｉ＝１〜Ｎ）に制御情報を振り分ける。低優先サブキュー６５（６５−ｉ、ｉ＝１〜Ｎ）は、振り分けられた制御情報を、第２制御情報優先制御部６２、もしくは、第１制御情報優先制御部６１に送る。
【００７７】
このとき、制御情報転送装置６は、送られてきた制御情報がＴＣＰステート遷移に伴う制御情報でなければ、無条件に、送られてきた制御情報がその他の制御情報であると判定するようにしても良い。
【００７８】
第１実施形態では、制御情報転送装置６は、パケット処理により更新された制御情報を全て同一の低優先キュー６４に転送していた。本実施形態では、制御情報転送装置６は、パケット処理により制御情報をＴＣＰセッションに対応付けられた優先レベルに基づいて、優先レベルに対応付けられた低優先サブキューに振り分ける。ここで、制御情報転送装置６は、受信した制御情報がＴＣＰステート遷移に関わる制御情報ではなかった場合、ＴＣＰセッション情報をキーとして優先情報保持部７からＴＣＰセッションに対応するＮ種類の優先レベルを示す情報を取得する。また、制御情報転送装置６は、優先情報保持部７に該当するエントリが無かった場合、一番低い優先レベルのＮを割り当てる。続いて、制御情報転送装置６は、取得したＮ種類の優先レベルに対応した低優先サブキュー６５（６５−ｉ、ｉ＝１〜Ｎ）に制御情報を振り分ける。
【００７９】
図８を参照して、制御情報転送装置６でのキューからの情報取得処理について説明する。
【００８０】
（１）ステップＤ１
第２制御情報優先制御部６２、もしくは、第１制御情報優先制御部６１は、高優先キュー６３をモニタし、高優先キュー６３に制御情報が到着しているか確認する。
【００８１】
（２）ステップＤ２
第２制御情報優先制御部６２、もしくは、第１制御情報優先制御部６１は、高優先キュー６３に制御情報が到着していたら、高優先キュー６３の制御情報を取得する。
【００８２】
（３）ステップＤ６（第２実施形態での変更部分）
第２制御情報優先制御部６２、もしくは、第１制御情報優先制御部６１は、低優先サブキュー６５（６５−ｉ、ｉ＝１〜Ｎ）をモニタし、低優先サブキュー６５（６５−ｉ、ｉ＝１〜Ｎ）に制御情報が到着しているか低優先サブキュー６５−１から低優先サブキュー６５−Ｎまで順番に確認する。
【００８３】
（４）ステップＤ７（第２実施形態での変更部分）
第２制御情報優先制御部６２、もしくは、第１制御情報優先制御部６１は、低優先サブキュー６５（６５−ｉ、ｉ＝１〜Ｎ）の複数のキューに制御情報が到着していれば、優先レベルの高い低優先サブキューから優先的に制御情報を取得する。
【００８４】
（５）ステップＤ５
第２制御情報優先制御部６２、もしくは、第１制御情報優先制御部６１は、取得された制御情報に基づいて、ＴＣＰ受信処理装置３、もしくは、ＴＣＰ送信処理装置４の内部変数を更新する。
【００８５】
なお、第２制御情報優先制御部６２、もしくは、第１制御情報優先制御部６１は、高優先キュー６３と低優先サブキュー６５（６５−ｉ、ｉ＝１〜Ｎ）のいずれにも制御情報が到着していた場合、高優先キュー６３を優先する。
【００８６】
本実施形態では、第２制御情報優先制御部６２、もしくは、第１制御情報優先制御部６１は、キューからの情報取得時に、高優先キュー６３に制御情報が無かった場合、低優先サブキュー６５（６５−ｉ、ｉ＝１〜Ｎ）に制御情報が到着しているか低優先サブキュー６５−１から低優先サブキュー６５−Ｎまで順番に確認し、複数のキューに制御情報が到着していれば、優先レベルの高い低優先サブキューから優先的に制御情報を取得し内部処理の変数を更新する。
【００８７】
例えば、Ｉ個のＴＣＰセッションが同時に張られているものとする。このうちＩ番目のＴＣＰセッションが優先情報保持部７に優先レベル１と記録されていたとする。Ｉ個のＴＣＰセッションの各々では、データ受信時には、パケット受信処理により更新された制御情報がＴＣＰ受信処理装置３から制御情報転送装置６に送られる。この時、Ｉ番目のＴＣＰセッションのみ、制御情報が低優先サブキュー６５−１を経由して転送される。その他の制御情報は、優先情報保持部７にエントリが存在しないため、低優先サブキュー６５−Ｎを経由して転送される。ＴＣＰ送信処理部４では、低優先サブキュー６５−１に到着した制御情報が低優先サブキュー６５−Ｎより優先的に処理されることにより、Ｉ番目のＴＣＰセッションの受信処理の変数が他セッションの受信処理の変数より早く送信側に反映される。
【００８８】
本実施形態では、高い優先レベルに対応付けられたＴＣＰセッションの制御情報が優先的に更新される。これにより、優先レベルの高いセッションは、他のセッションに比べ、優先された時間の差分だけ確認応答番号の更新が早くなる。その結果、優先レベルの高いセッションは、他ＴＣＰセッションより送信ウィンドウの立ち上がりが早くなり、スループット増加率が他セッションに比べて高くなる。
【００８９】
＜第３実施形態＞
次に、本発明の第３実施形態について詳細に説明する。
本実施形態では、本発明のネットワークプロトコル処理用プログラムについて説明する。ネットワークプロトコル処理用プログラムは、コンピュータをネットワークプロトコル処理システムとして機能させる。
【００９０】
図９を参照すると、本発明の第３実施形態におけるネットワークプロトコル処理システムは、ネットワークプロトコル処理用プログラム１１と、パケット入力装置１２と、パケット出力装置１３と、主記憶メモリ１４と、データバス制御部１５と、プロセッサ１００を含む。
【００９１】
ネットワークプロトコル処理プログラム１１は、プロセッサ１００の動作を制御するためのプログラムである。ネットワークプロトコル処理プログラム１１は、プロセッサ１００に読み込まれる。なお、ネットワークプロトコル処理用プログラム１１は、記憶媒体に記憶することが可能である。
【００９２】
パケット入力装置１２は、外部からのパケットの受信処理を行う。なお、パケット入力装置１２は、パケット入力装置１に相当する。
【００９３】
パケット出力装置１３は、外部へのパケットの送信処理を行う。なお、パケット出力装置１３は、パケット出力装置２に相当する。
【００９４】
主記憶メモリ１４は、送受信パケットデータを保持する。
【００９５】
データバス制御部１５は、送受信パケットデータを主記憶メモリ１４へ転送し、プロセッサ１００から主記憶メモリ１４へのアクセスの中継を行う。
【００９６】
プロセッサ１００は、ネットワークプロトコル処理用プログラム１１を実行する。
【００９７】
プロセッサ１００は、プロセッサコア１０１と、プロセッサコア１０２と、プロセッサコア１０３と、共有メモリ１０４を備える。
【００９８】
プロセッサコア１０１、プロセッサコア１０２、及びプロセッサコア１０３は、共有メモリ１０４に対して、読み書きが可能である。
【００９９】
プロセッサ１００は、ネットワークプロトコル処理用プログラム１１の制御により、第１実施形態及び第２実施形態における、ＴＣＰ受信処理装置３と制御情報転送装置６の受信処理装置側と同一の機能をプロセッサコア１０１と共有メモリ１０４にて実行し、ＴＣＰ送信処理装置４と制御情報転送装置６の送信処理装置側と同一の機能をプロセッサコア１０２と共有メモリ１０４にて実行し、アプリケーション処理装置５と同一の機能をプロセッサコア１０３にて実行する。
【０１００】
すなわち、プロセッサコア１０１は、ネットワークプロトコル処理用プログラム１１の制御により、共有メモリ１０４を用いて、第１実施形態及び第２実施形態における、ＴＣＰ受信処理装置３と制御情報転送装置６の受信処理装置側と同一の機能を実行する。
【０１０１】
また、プロセッサコア１０２は、ネットワークプロトコル処理用プログラム１１の制御により、共有メモリ１０４を用いて、第１実施形態及び第２実施形態における、ＴＣＰ送信処理装置４と制御情報転送装置６の受信処理装置側と同一の機能を実行する。
【０１０２】
また、プロセッサコア１０３は、ネットワークプロトコル処理用プログラム１１の制御により、共有メモリ１０４を用いて、第１実施形態及び第２実施形態における、アプリケーション処理装置５と同一の機能を実行する。
【０１０３】
また、共有メモリ１０４は、第１実施形態及び第２実施形態における高優先キュー６３及び低優先キュー６４もしくは低優先サブキュー６５（６５−ｉ、ｉ＝１〜Ｎ）に相当する記憶領域を有する。プロセッサコア１０１とプロセッサコア１０２の間を転送する制御情報は、これらの記憶領域を介して転送される。
【０１０４】
図１０を参照して、本発明の第３実施形態でのＴＣＰの受信時の動作について説明する。
【０１０５】
（１）ステップＥ１
パケット入力装置１２は、対向ホストから送られたＴＣＰパケットを受信し、データバス制御部１５を経由して主記憶メモリ１４に記憶する。
【０１０６】
（２）ステップＥ２
プロセッサコア１０１は、データバス制御部１５を経由して主記憶メモリ１４に記憶されたＴＣＰパケットを取得し、ＴＣＰ受信処理である図２のステップＡ１〜Ａ７の処理を実施する。
【０１０７】
（３）ステップＥ３
プロセッサコア１０１は、キューへの振り分け処理である図４もしくは図７のＣ１〜Ｃ７の処理を実施する。
【０１０８】
（４）ステップＥ４
プロセッサコア１０１は、キューからの情報取得処理である図５もしくは図８のＤ１〜Ｄ７の処理を実施する。
【０１０９】
（５）ステップＥ５
プロセッサコア１０１は、ＴＣＰ受信処理後、ＴＣＰ送信処理やコネクション開閉に必要な変数が更新されているか確認する。
【０１１０】
（６）ステップＥ６
プロセッサコア１０１は、ＴＣＰ送信処理やコネクション開閉に必要な変数が更新されていれば、共有メモリ１０４に確保されたキューに相当する記憶領域に書き込む。
【０１１１】
（７）ステップＥ７
また、プロセッサコア１０１は、共有メモリ１０４のキューに相当する記憶領域にデータが到着しているか確認する。
【０１１２】
（８）ステップＥ８
プロセッサコア１０１は、共有メモリ１０４のキューに相当する記憶領域にデータが到着していれば、そのデータを取得し、ＴＣＰ受信パラメータの更新処理を実施する。
【０１１３】
（９）ステップＥ９
プロセッサコア１０１は、ＴＣＰ処理結果をプロセッサコア１０３に通知し、受信処理を完了する。
【０１１４】
本実施形態では、パケット入力装置１２は、対向ホストから送られたＴＣＰパケットを受信する。プロセッサコア１０１は、このＴＣＰパケットに基づいて、ＴＣＰ受信処理である図２のステップＡ１〜Ａ７の処理と、キューへの振り分け処理である図４もしくは図７のＣ１〜Ｃ７の処理と、キューからの情報取得処理である図５もしくは図８のＤ１〜Ｄ７の処理を実施する。プロセッサコア１０１は、ＴＣＰ受信処理後、ＴＣＰ送信処理やコネクション開閉に必要な変数が更新されていれば、共有メモリ１０４に確保されたキューに相当する記憶領域に書き込む。逆に、プロセッサコア１０１は、共有メモリ１０４のキューに相当する記憶領域にデータが到着していれば、そのデータを取得し、ＴＣＰ受信パラメータの更新処理を実施する。その後、プロセッサコア１０１は、ＴＣＰ処理結果をプロセッサコア１０３に通知し、受信処理を完了する。
【０１１５】
図１１を参照して、本実施形態でのＴＣＰの送信時の動作について説明する。
【０１１６】
（１）ステップＦ１
プロセッサコア１０３は、送出対象のＴＣＰデータを、プロセッサコア１０２に送る。すなわち、プロセッサコア１０２は、プロセッサコア１０３から送出対象のＴＣＰデータを取得する。
【０１１７】
（２）ステップＦ２
プロセッサコア１０２は、ＴＣＰ送信処理である図３のステップＢ１〜Ｂ７の処理を実施する。
【０１１８】
（３）ステップＦ３
プロセッサコア１０２は、キューへの振り分け処理である図４もしくは図７のＣ１〜Ｃ７の処理を実施する。
【０１１９】
（４）ステップＦ４
プロセッサコア１０２は、キューからの情報取得処理である図５もしくは図８のＤ１〜Ｄ７の処理を実施する。
【０１２０】
（５）ステップＦ５
プロセッサコア１０２は、ＴＣＰ送信処理後、ＴＣＰ受信処理やコネクション開閉に必要な変数が更新されているか確認する。
【０１２１】
（６）ステップＦ６
プロセッサコア１０２は、ＴＣＰ受信処理やコネクション開閉に必要な変数が更新されていれば、共有メモリ１０４に確保されたキューに相当する記憶領域に書き込む。
【０１２２】
（７）ステップＦ７
また、プロセッサコア１０２は、共有メモリ１０４のキューに相当する記憶領域にデータが到着しているか確認する。
【０１２３】
（８）ステップＦ８
プロセッサコア１０２は、共有メモリ１０４のキューに相当する記憶領域にデータが到着していれば、そのデータを取得し、ＴＣＰ送信パラメータの更新処理を実施する。
【０１２４】
（９）ステップＦ９
プロセッサコア１０２は、生成されたＴＣＰパケットを、パケット出力装置１３を経由して対向ホストに送信し、送信処理を完了する。
【０１２５】
本実施形態では、送出するＴＣＰデータは、プロセッサコア１０３からプロセッサコア１０２に送られる。プロセッサコア１０２は、ＴＣＰ送信処理である図３のステップＢ１〜Ｂ７の処理と、キューへの振り分け処理である図４もしくは図７のＣ１〜Ｃ７の処理と、キューからの情報取得処理である図５もしくは図８のＤ１〜Ｄ７の処理を実施する。プロセッサコア１０２は、ＴＣＰ送信処理後、ＴＣＰ受信処理やコネクション開閉に必要な変数が更新されていれば、共有メモリ１０４に確保されたキューに相当する記憶領域に書き込む。逆に、プロセッサコア１０２は、共有メモリ１０４のキューに相当する記憶領域にデータが到着していれば、そのデータを取得し、ＴＣＰ送信パラメータの更新処理を実施する。その後、プロセッサコア１０２は、生成されたＴＣＰパケットをパケット出力装置１３を経由して対向ホストに送信し、送信処理を完了する。
【０１２６】
以上、第１実施形態、第２実施形態、及び第３実施形態では、ＴＣＰの送信処理部と受信処理部の分割と、制御情報の分割について記載したが、送信ウィンドウが確認応答の受信によって決定されるネットワークロトコルであれば、ＴＣＰでなくても良い。例えば、ＳＣＴＰ（Ｓｔｒｅａｍ  Ｃｏｎｔｒｏｌ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｐｒｏｔｏｃｏｌ）や、ＸＣＰ（ｅＸｐｌｉｃｉｔ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）等のネットワークプロトコルに対しても本実施形態は、適用可能である。
【０１２７】
最後に、本発明の特徴について詳述する。
本発明のネットワークプロトコル処理システムは、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を始めとする送信処理と受信処理のプロトコル処理変数が相互に依存するプロトコル処理を行う。
【０１２８】
当該ネットワークプロトコル処理システムは、パケット入力装置と、ＴＣＰ受信処理装置と、パケット出力装置と、ＴＣＰ送信処理装置と、アプリケーション処理装置と、制御情報転送装置を備える。
【０１２９】
ＴＣＰ受信処理装置は、パケット入力装置を経由して対向ホストから到着した受信パケットに対して、受信プロトコル処理を行う。ＴＣＰ受信処理装置は、更新された制御情報のうち、ＴＣＰ送信処理に必要な制御情報を、制御情報転送装置に転送する。ＴＣＰ受信処理装置は、受信プロトコル処理により再構築されたＴＣＰデータを、アプリケーション処理装置に送る。
【０１３０】
ＴＣＰ送信処理装置は、アプリケーション処理装置から送信要求があった送信データに対して、送信プロトコル処理を行う。ＴＣＰ送信処理装置は、更新された制御情報のうち、ＴＣＰ受信処理に必要な制御情報を、制御情報転送装置に転送する。ＴＣＰ送信処理装置は、送信プロトコル処理により生成されたＴＣＰパケットを、パケット出力装置を経由して対向ホストに送出する。
【０１３１】
制御情報転送装置は、内部にＴＣＰ受信処理装置からＴＣＰ送信処理装置へ送出する制御情報を格納する第一のキューと、ＴＣＰ送信処理装置からＴＣＰ受信処理装置への制御情報を格納する第二のキューを備える。
【０１３２】
制御情報転送装置は、ＴＣＰ受信処理装置から送られてきた制御情報を第一のキューに格納する。
【０１３３】
ＴＣＰ送信処理装置は、第一のキューをモニタし、第一のキューに制御情報が格納されていると、第一のキューから制御情報を取り出し、この制御情報に基づいて、ＴＣＰ送信処理の変数を更新する。
【０１３４】
制御情報転送装置は、ＴＣＰ送信処理装置から送られてきた制御情報を第二のキューに格納する。
【０１３５】
ＴＣＰ受信処理装置は、第二のキューをモニタし、第二のキューに制御情報が格納されていると、第二のキューから制御情報を取り出し、この制御情報に基づいて、ＴＣＰの受信処理の変数を更新する。
【０１３６】
ネットワークプロトコル処理システムの制御情報転送装置は、第一のキューと第二のキューにより形成されるキューの対を複数備える。この制御情報転送装置は、ＴＣＰ受信処理装置、もしくは、ＴＣＰ送信処理装置から制御情報転送装置に送られる制御情報の種別によって格納するキューの対を選択する。
【０１３７】
或いは、ネットワークプロトコル処理システムの制御情報転送装置は、各々が第一のキューと第二のキューを含む高優先キューと低優先キューの対を備える。この制御情報転送装置は、ネットワークセッションのセッション開設やセッション切断に関わる情報を高優先キューに格納し、それ以外の制御情報を低優先キューに格納し、キューから取り出す際、低優先キューより高優先キューに格納された制御情報を優先して処理する。
【０１３８】
或いは、ネットワークプロトコル処理システムの制御情報転送装置は、優先レベルに対応付けられた低優先サブキューの対を複数個備える。また、この制御情報転送装置は、ネットワークセッションに対応する優先レベルの情報を保持する優先情報保持部を備える。
【０１３９】
このとき、制御情報転送装置は、ＴＣＰ受信処理装置及びＴＣＰ送信処理装置から送られてきた制御情報が属するネットワークセッションの情報を基に優先情報保持部からネットワークセッションに対応する優先レベルの情報を取得して、優先レベルに対応付けられた低優先サブキューに制御情報を格納する。この制御情報転送装置は、キューから取り出す際、高い優先レベルに対応付けられた低優先サブキューに格納された制御情報を優先して処理する。
【０１４０】
或いは、ネットワークプロトコル処理システムの制御情報転送装置は、高優先のキューと、それ以外の優先レベルに対応付けられた低優先サブキューの対を複数備える。また、この制御情報転送装置は、ネットワークセッションに対応する優先レベルの情報を保持する優先情報保持部を備える。
【０１４１】
このとき、制御情報転送装置は、ＴＣＰ受信処理及びＴＣＰ送信装置から送られてきた制御情報のうち、ネットワークセッションのセッション開設やセッション切断に関わる制御情報を高優先キューに格納する。また、この制御情報転送装置は、それ以外の制御情報については、制御情報が属するネットワークセッションの情報を基に優先情報保持部からネットワークセッションに対応する優先レベルを示す情報を取得して、優先レベルに対応付けられた低優先サブキューに制御情報を格納する。
【０１４２】
また、制御情報転送装置は、制御情報をキューから取り出す際、高優先キューに格納された制御情報を最優先で処理する。また、この制御情報転送装置は、それ以外のキューに格納された制御情報については、高い優先レベルに対応付けられた低優先サブキューに格納された制御情報を優先して処理する。
【０１４３】
以上のように、本発明は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を始めとする送信処理と受信処理のプロトコル処理の変数が相互に依存するネットワークプロトコル処理システムにおいて、ネットワークプロトコルの送信部と受信部を分割する。
【０１４４】
従来、ＴＣＰ等の送信処理の変数と受信処理の変数が相互に依存するネットワークプロトコル通信システムでは、更新されたプロトコル処理の送信処理ブロックと受信処理ブロックの非同期並列処理が実現出来なかった。また、セッション開閉処理が他セッションのネットワークのデータ送受信処理の影響を受けるという課題があった。
【０１４５】
そのため、本発明のネットワークプロトコル処理システムは、ＴＣＰ送信処理ブロックの受信処理ブロックの間に高優先で処理される制御情報を転送する高優先キューと、それ以外の制御情報を転送する低優先キューと、制御情報を２種類のキューへ振り分ける優先制御手段を有する。優先制御手段は、ＴＣＰデータ転送中に新規ＴＣＰセッションの開設・切断要求がアプリケーションから発行された場合、開設・切断要求の情報を、高優先キューを経由して優先的に通知し、それ以外の制御情報を、低優先キューを経由して通知する。
【０１４６】
本発明の第１のネットワークプロトコル処理システムは、ＴＣＰ送信処理ブロックの受信処理ブロックの間にセッション開閉に関わる制御情報を転送する高優先キューと、それ以外の制御情報であるパケット処理により更新された制御情報を転送する低優先キューと、制御情報を２種類のキューへ振り分ける優先制御手段を有する。また、優先制御手段は、２種類のキューのうち、高優先キューに格納された制御情報を優先して取り出し、転送先のＴＣＰ処理の変数を更新する。
【０１４７】
本発明の第２のネットワークプロトコル処理システムは、第１のネットワークプロトコル処理システムのＴＣＰ送信処理ブロックと受信処理ブロックの間に低優先キューの代わりに複数の低優先サブキューを有する。また、優先制御手段は、ＴＣＰデータ送受信時のパケット処理により更新された制御情報の振り分け先となる低優先サブキューをＴＣＰセッションに対応付けられた優先度に応じて選択する。
【０１４８】
本発明では、ＴＣＰを始めとするネットワークプロトコルの送信処理と受信処理のプロトコル処理の変数が相互に依存するネットワークシステムにおいて送信処理と受信処理を非同期並列処理するネットワークプロトコル処理システム、ネットワークプロトコル処理方法、及びネットワークプロトコル処理用プログラムを提供する。
【０１４９】
また、ネットワークのデータ送受信処理中であってもセッション開閉処理を高速に実行出来るネットワークプロトコル処理システム、ネットワークプロトコル処理方法、及びネットワークプロトコル処理用プログラムを提供する。
【０１５０】
更に、優先度の高いネットワークセッションのデータ転送性能を選択的に向上させるネットワークプロトコル処理システム、ネットワークプロトコル処理方法、及びネットワークプロトコル処理用プログラムを提供する。
【０１５１】
本発明の第１の効果は、ＴＣＰ送信処理ブロックと受信処理ブロック間で非同期並列処理を行うことが可能となることである。その理由は、ＴＣＰ送信処理ブロックと受信処理ブロック間で受け渡される制御情報がキューを介して通知されるからである。
【０１５２】
本発明の第２の効果は、ＴＣＰ送信処理ブロックと受信処理ブロックの間で制御情報の優先制御が行われていない場合と比較してＴＣＰセッションの開設・切断が高速に実行出来ることである。その理由は、ＴＣＰセッションの開設・切断の通知が専用のキューで処理されるため、他のＴＣＰセッションのパケット処理により更新された制御情報の影響を受けないからである。
【０１５３】
本発明の第３の効果は、複数セッションのデータ転送の際に優先度の高いＴＣＰセッションのスループットを選択的に向上させることである。その理由は、優先度の高いＴＣＰセッションで更新された制御情報を送信処理ブロックと受信処理ブロックの間で優先的に転送させることで、優先度の高いセッションのＴＣＰの確認応答（ＡＣＫ）処理が優先的に行われるためである。
【０１５４】
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものでは無く、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【０１５５】
なお、本出願は、日本出願番号２００８−２４１８１６に基づく優先権を主張するものであり、日本出願番号２００８−２４１８１６における開示内容は引用により本出願に組み込まれる。
【図１】
2010032533.tif 000003
【図２】
2010032533.tif 000004
【図３】
2010032533.tif 000005
【図４】
2010032533.tif 000006
【図５】
2010032533.tif 000007
【図６】
2010032533.tif 000008
【図７】
2010032533.tif 000009
【図８】
2010032533.tif 000010
【図９】
2010032533.tif 000011
【図１０】
2010032533.tif 000012
【図１１】
2010032533.tif 000013
【手続補正書】
【提出日】平成23年5月30日(2011.5.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に基づく送信処理と受信処理の各々の制御情報に使用されるプロトコル処理変数が相互に依存するプロトコル処理を行う制御情報転送装置と、
対向ホストから到着した受信パケットに対して受信プロトコル処理を行い、前記受信プロトコル処理により更新された制御情報のうちＴＣＰ送信処理で使用される制御情報を前記制御情報転送装置に送り、前記受信プロトコル処理により再構築されたＴＣＰデータをアプリケーション処理装置に送るＴＣＰ受信処理装置と、
前記アプリケーション処理装置から送信要求があった送信データに対して送信プロトコル処理を行い、前記送信プロトコル処理により更新された制御情報のうちＴＣＰ受信処理で使用される制御情報を前記制御情報転送装置に送り、前記送信プロトコル処理により生成されたＴＣＰパケットを対向ホストに送出するＴＣＰ送信処理装置と
を含み、
前記制御情報転送装置は、
前記ＴＣＰ受信処理装置から送られてきた制御情報を第一のキューに格納する手段と、
前記ＴＣＰ送信処理装置から送られてきた制御情報を第二のキューに格納する手段と
を具備し、
前記ＴＣＰ送信処理装置は、
前記第一のキューをモニタし、前記第一のキューに制御情報が格納されている場合、前記第一のキューから制御情報を取り出してＴＣＰ送信処理の変数を更新する手段と、
前記第二のキューをモニタし、前記第二のキューに制御情報が格納されている場合、前記第二のキューから制御情報を取り出してＴＣＰの受信処理の変数を更新する手段と
を具備する
ネットワークプロトコル処理システム。
【請求項２】
請求項１に記載のネットワークプロトコル処理システムであって、
前記制御情報転送装置は、
前記第一のキュー及び前記第二のキューにより形成されるキューの対が複数存在する場合、前記ＴＣＰ受信処理装置及びＴＣＰ送信処理装置のいずれか一方から前記制御情報転送装置に送られてきた制御情報の種別に応じて、送られてきた制御情報を格納するキューの対を選択する手段
を更に具備する
ネットワークプロトコル処理システム。
【請求項３】
請求項１又は２に記載のネットワークプロトコル処理システムであって、
前記制御情報転送装置は、
前記第一のキュー及び前記第二のキューにより形成されるキューの対を持つ高優先キューと、
前記第一のキュー及び前記第二のキューにより形成されるキューの対を持つ低優先キューと、
ネットワークセッションのセッション開設及びセッション切断に関わる制御情報を、前記高優先キューに格納する手段と、
他の制御情報を、前記低優先キューに格納する手段と、
前記高優先キュー及び前記低優先キューから制御情報を取り出す際、前記低優先キューに格納された制御情報よりも前記高優先キューに格納された制御情報を優先して処理する手段と
を更に具備する
ネットワークプロトコル処理システム。
【請求項４】
請求項３に記載のネットワークプロトコル処理システムであって、
前記制御情報転送装置は、
前記低優先キューに相当し、それぞれ優先レベルに対応付けられた複数の低優先サブキューと、
ネットワークセッションに対応する優先レベルの情報を保持する優先情報保持手段と、
前記ＴＣＰ受信処理装置及び前記ＴＣＰ送信処理装置から送られてきた制御情報が属するネットワークセッションの情報を基に、前記優先情報保持手段から制御情報が属するネットワークセッションに対応する優先レベルの情報を取得する手段と、
前記複数の低優先サブキューのうち、当該優先レベルに対応付けられた低優先サブキューに、送られてきた制御情報を格納する手段と、
前記複数の低優先サブキューから制御情報を取り出す際、対応付けられている優先レベルの高い順に、前記各低優先サブキューに格納された制御情報を処理する手段と
を更に具備する
ネットワークプロトコル処理システム。
【請求項５】
請求項４に記載のネットワークプロトコル処理システムであって、
前記制御情報転送装置は、
ＴＣＰ受信処理及びＴＣＰ送信装置から送られてきた制御情報のうち、前記ネットワークセッションのセッション開設及びセッション切断に関わる制御情報を前記高優先キューに格納する手段と、
前記他の制御情報を、前記他の制御情報が属するネットワークセッションの情報を基に、前記優先情報保持手段から前記他の制御情報が属するネットワークセッションに対応する優先レベルの情報を取得する手段と、
前記複数の低優先サブキューのうち、当該優先レベルに対応付けられた低優先サブキューに格納する手段と、
前記複数の低優先サブキューから制御情報を取り出す際、前記高優先キューに格納された制御情報を最優先で処理する手段と、
前記複数の低優先サブキューに格納された制御情報を、対応付けられている優先レベルの高い順に処理する手段と
を更に具備する
ネットワークプロトコル処理システム。
【請求項６】
請求項１乃至５のいずれかに記載のネットワークプロトコル処理システムで使用される制御情報転送装置。
【請求項７】
対向ホストに接続されたコンピュータ上で実施されるネットワークプロトコル処理方法であって、
ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に基づく送信処理と受信処理の各々の制御情報に使用されるプロトコル処理変数が相互に依存するプロトコル処理を行うことと、
対向ホストから到着した受信パケットに対して受信プロトコル処理を行い、前記受信プロトコル処理により更新された制御情報のうちＴＣＰ送信処理で使用される制御情報を第一のキューに格納し、前記受信プロトコル処理により再構築されたＴＣＰデータをアプリケーション側に提供することと、
前記アプリケーション側から送信要求があった送信データに対して送信プロトコル処理を行い、前記送信プロトコル処理により更新された制御情報のうちＴＣＰ受信処理で使用される制御情報を第二のキューに格納し、前記送信プロトコル処理により生成されたＴＣＰパケットを対向ホストに送出することと、
前記第一のキューをモニタし、前記第一のキューに制御情報が格納されている場合、前記第一のキューから制御情報を取り出してＴＣＰ送信処理の変数を更新することと、
前記第二のキューをモニタし、前記第二のキューに制御情報が格納されている場合、前記第二のキューから制御情報を取り出してＴＣＰの受信処理の変数を更新することと
を含む
ネットワークプロトコル処理方法。
【請求項８】
請求項７に記載のネットワークプロトコル処理方法であって、
前記第一のキュー及び前記第二のキューにより形成されるキューの対が複数存在する場合、前記ＴＣＰ送信処理で使用される制御情報及び前記ＴＣＰ受信処理で使用される制御情報のいずれかの制御情報の種別に応じて、制御情報を格納するキューの対を選択すること
を更に含む
ネットワークプロトコル処理方法。
【請求項９】
請求項７又は８に記載のネットワークプロトコル処理方法であって、
前記第一のキュー及び前記第二のキューにより形成されるキューの対を持つ高優先キューと、前記第一のキュー及び前記第二のキューにより形成されるキューの対を持つ低優先キューとが存在する場合、ネットワークセッションのセッション開設及びセッション切断に関わる制御情報を、前記高優先キューに格納し、他の制御情報を、前記低優先キューに格納することと、
前記高優先キュー及び前記低優先キューから制御情報を取り出す際、前記低優先キューに格納された制御情報よりも前記高優先キューに格納された制御情報を優先して処理することと
を更に含む
ネットワークプロトコル処理方法。
【請求項１０】
請求項９に記載のネットワークプロトコル処理方法であって、
ネットワークセッションに対応する優先レベルの情報を保持することと、
前記ＴＣＰ送信処理で使用される制御情報及び前記ＴＣＰ受信処理で使用される制御情報が属するネットワークセッションの情報を基に、前記保持されているネットワークセッションに対応する優先レベルの情報のうち、制御情報が属するネットワークセッションに対応する優先レベルの情報を取得することと、
前記低優先キューに相当し、それぞれ優先レベルに対応付けられた複数の低優先サブキューのうち、当該優先レベルに対応付けられた低優先サブキューに制御情報を格納することと、
前記複数の低優先サブキューから制御情報を取り出す際、対応付けられている優先レベルの高い順に、前記各低優先サブキューに格納された制御情報を処理することと
を更に含む
ネットワークプロトコル処理方法。
【請求項１１】
請求項１０に記載のネットワークプロトコル処理方法であって、
前記ＴＣＰ送信処理で使用される制御情報及び前記ＴＣＰ受信処理で使用される制御情報のうち、前記ネットワークセッションのセッション開設及びセッション切断に関わる制御情報を前記高優先キューに格納することと、
前記他の制御情報を、前記他の制御情報が属するネットワークセッションの情報を基に、前記保持されているネットワークセッションに対応する優先レベルの情報のうち、前記他の制御情報が属するネットワークセッションに対応する優先レベルを示す情報を取得して、前記複数の低優先サブキューのうち、当該優先レベルに対応付けられた低優先サブキューに格納することと、
前記複数の低優先サブキューから制御情報を取り出す際、前記高優先キューに格納された制御情報を最優先で処理し、前記複数の低優先サブキューに格納された制御情報を、対応付けられている優先レベルの高い順に処理することと
を更に含む
ネットワークプロトコル処理方法。
【請求項１２】
ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に基づく送信処理と受信処理の各々の制御情報に使用されるプロトコル処理変数が相互に依存するプロトコル処理を行うステップと、
対向ホストから到着した受信パケットに対して受信プロトコル処理を行い、前記受信プロトコル処理により更新された制御情報のうちＴＣＰ送信処理で使用される制御情報を第一のキューに格納し、前記受信プロトコル処理により再構築されたＴＣＰデータをアプリケーション側に提供するステップと、
前記アプリケーション側から送信要求があった送信データに対して送信プロトコル処理を行い、前記送信プロトコル処理により更新された制御情報のうちＴＣＰ受信処理で使用される制御情報を第二のキューに格納し、前記送信プロトコル処理により生成されたＴＣＰパケットを対向ホストに送出するステップと、
前記第一のキューをモニタし、前記第一のキューに制御情報が格納されている場合、前記第一のキューから制御情報を取り出してＴＣＰ送信処理の変数を更新するステップと、
前記第二のキューをモニタし、前記第二のキューに制御情報が格納されている場合、前記第二のキューから制御情報を取り出してＴＣＰの受信処理の変数を更新するステップと
をコンピュータに実行させるためのプログラム。
【請求項１３】
請求項１２に記載のプログラムであって、
前記第一のキュー及び前記第二のキューにより形成されるキューの対が複数存在する場合、前記ＴＣＰ送信処理で使用される制御情報及び前記ＴＣＰ受信処理で使用される制御情報のいずれかの制御情報の種別に応じて、制御情報を格納するキューの対を選択するステップ
を更にコンピュータに実行させるためのプログラム。
【請求項１４】
請求項１２又は１３に記載のプログラムであって、
前記第一のキュー及び前記第二のキューにより形成されるキューの対を持つ高優先キューと、前記第一のキュー及び前記第二のキューにより形成されるキューの対を持つ低優先キューとが存在する場合、ネットワークセッションのセッション開設及びセッション切断に関わる制御情報を、前記高優先キューに格納し、他の制御情報を、前記低優先キューに格納するステップと、
前記高優先キュー及び前記低優先キューから制御情報を取り出す際、前記低優先キューに格納された制御情報よりも前記高優先キューに格納された制御情報を優先して処理するステップと
を更にコンピュータに実行させるためのプログラム。
【請求項１５】
請求項１４に記載のプログラムであって、
ネットワークセッションに対応する優先レベルの情報を保持するステップと、
前記ＴＣＰ送信処理で使用される制御情報及び前記ＴＣＰ受信処理で使用される制御情報が属するネットワークセッションの情報を基に、前記保持されているネットワークセッションに対応する優先レベルの情報のうち、制御情報が属するネットワークセッションに対応する優先レベルの情報を取得するステップと、
前記低優先キューに相当し、それぞれ優先レベルに対応付けられた複数の低優先サブキューのうち、当該優先レベルに対応付けられた低優先サブキューに制御情報を格納するステップと、
前記複数の低優先サブキューから制御情報を取り出す際、対応付けられている優先レベルの高い順に、前記各低優先サブキューに格納された制御情報を処理するステップと
を更にコンピュータに実行させるためのプログラム。
【請求項１６】
請求項１５に記載のプログラムであって、
前記ＴＣＰ送信処理で使用される制御情報及び前記ＴＣＰ受信処理で使用される制御情報のうち、前記ネットワークセッションのセッション開設及びセッション切断に関わる制御情報を前記高優先キューに格納するステップと、
前記他の制御情報を、前記他の制御情報が属するネットワークセッションの情報を基に、前記保持されているネットワークセッションに対応する優先レベルの情報のうち、前記他の制御情報が属するネットワークセッションに対応する優先レベルを示す情報を取得して、前記複数の低優先サブキューのうち、当該優先レベルに対応付けられた低優先サブキューに格納するステップと、
前記複数の低優先サブキューから制御情報を取り出す際、前記高優先キューに格納された制御情報を最優先で処理し、前記複数の低優先サブキューに格納された制御情報を、対応付けられている優先レベルの高い順に処理するステップと
を更にコンピュータに実行させるためのプログラム。
【国際調査報告】
2010032533.tif 000014
2010032533.tif 000015