(57)【要約】【課題】優先順位の高い特定のパケットに対するプロトコルスタックの受信処理または／およびデバイスドライバの送信処理を優先させることにある。【解決手段】ＱｏＳミドル部１は、送信フレームの送信要求があった場合に、フレーム内の各ヘッダ情報とキャッシュテーブル５３の情報とを基に送信要求を優先順位の持つ送信ＦＩＦＯ部５１に振り分けるヘッダ比較部１１１と、送信ＦＩＦＯ部５１から出力される送信要求を合成してデバイスドライバ部２に出力する合成部１１２と、を有し、受信フレームの受信要求があった場合に、受信フレーム内の各ヘッダ情報とキャッシュテーブル５３の情報とを基に受信要求を優先順位の持つ受信ＦＩＦＯ部５２に振り分けるヘッダ比較部１２１と、受信ＦＩＦＯ部５２から出力される受信要求を優先順位に従って合成してプロトコルスタック部３に出力する合成部１２２と、を有している。【選択図】　　　図２
2004128810.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、ＯＳＩ第３層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置であって、
前記通信プロトコル部と前記デバイスドライバ部との間に挿入されたミドルウェア部を備え、
前記ミドルウェア部は、前記プロトコルスタック部から送信フレームの送信要求があった場合に送信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダ情報を基に前記送信要求の優先順位を振り分けその振り分けた優先順位に従って前記デバイスドライバ部への前記送信要求を行う送信手段を有することを特徴とする端末装置。
【請求項２】
前記ミドルウェア部は、前記デバイスドライバ部から受信フレームの受信要求があった場合に受信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダ情報を基に前記受信要求の優先順位を振り分けその振り分けた優先順位に従って前記プロトコルスタック部への前記受信要求を行う受信手段を有することを特徴とする請求項１記載の端末装置。
【請求項３】
優先順位の高いセッション情報が予め登録されているキャッシュテーブルと、
優先順位に対応した複数の第１のＦＩＦＯと、を備え、
前記送信手段は、前記プロトコルスタック部から前記送信フレームの送信要求があった場合に前記送信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダ情報を基に前記キャッシュテーブルを検索することにより優先順位を抽出しその抽出した優先順位に従って前記送信要求を前記複数の第１のＦＩＦＯに振り分ける第１のヘッダ比較手段と、
前記複数の第１のＦＩＦＯから出力される送信要求を前記第１のＦＩＦＯの優先順位に従って合成して前記デバイスドライバ部に出力する第１の合成手段と、を有することを特徴とする請求項１記載の端末装置。
【請求項４】
優先順位に対応した複数の第２のＦＩＦＯと、を備え、
前記受信手段は、前記デバイスドライバ部から前記受信フレームの受信要求があった場合に前記受信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダ情報を基に前記キャッシュテーブルを検索することにより優先順位を抽出しその抽出した優先順位に従って前記受信要求を前記複数の第２のＦＩＦＯに振り分ける第２のヘッダ比較手段と、
前記複数の第２のＦＩＦＯから出力される受信要求を前記第２のＦＩＦＯの優先順位に従って合成して前記プロトコルスタック部に出力する第２の合成手段と、
を有することを特徴とする請求項２記載の端末装置
【請求項５】
ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、ＯＳＩ第３層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置であって、
前記通信プロトコル部と前記デバイスドライバ部との間に挿入されたミドルウェア部を備え、
前記ミドルウェア部は、予め決められた送信先に連続するＯＳＩ第５層以上の通信プロトコルで規定された特定のパケットの送信要求が前記プロトコルスタック部からあった場合に、最初の送信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せる送信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記デバイスドライバ部に対して送信待ちの優先順位を上げて前記送信要求を行う第１の送信要求手段と、
それ以降連続する前記特定のパケットを送信する場合にはそれ以降連続する前記特定のパケットを乗せる送信フレーム内のＯＳＩ第２層から第４層までのヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで送信待ちの優先順位を上げて前記送信要求を行う第２の送信要求手段と、を有することを特徴とする端末装置。
【請求項６】
前記ミドルウェア部は、予め決められた送信元から連続するＯＳＩ第５層以上の通信プロトコルで規定された特定のパケットの受信要求が前記デバイスドライバ部からあった場合に、最初の受信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せた受信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記プロトコルスタック部に対して受信待ちの優先順位を上げて前記受信要求を行う第１の受信要求手段と、
それ以降連続する前記特定のパケットを受信する場合にはそれ以降連続する特定のパケットを乗せた前記受信フレーム内のＯＳＩ第２層から第４層までの各ヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで受信待ちの優先順位を上げて前記受信要求を行う第２の受信要求手段と、を有することを特徴とする請求項５記載の端末装置。
【請求項７】
前記ミドルウェア部は、前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続ける監視手段を有することを特徴とする請求項５記載の端末装置。
【請求項８】
前記ミドルウェア部は、前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続ける監視手段を有することを特徴とする請求項６記載の端末装置。
【請求項９】
ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、ＯＳＩ第３層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置であって、
前記通信プロトコル部と前記デバイスドライバ部との間に挿入されたミドルウェア部と、
優先順位の高い複数の第１のセッション情報が予め登録された第１のキャッシュテーブルと、
優先順位の高いセッションの確立時に使用する第２のキャッシュテーブルと、
優先順位の高いデータがＦＩＦＯ形式で保存される第１のＦＩＦＯ部と、
優先順位の低いデータがＦＩＦＯ形式で保存される第２のＦＩＦＯ部と、
を備え、
前記ミドルウェア部は、前記プロトコルスタック部から送信フレームの送信要求があった場合に前記送信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出した第２のセッション情報が第２のキャッシュテーブルに登録されているかを確認する第１の確認手段と、
前記第１の確認手段で登録されていれば前記送信要求を前記第１のＦＩＦＯ部にキューイングする第１のキューイング手段と、
前記第１の確認手段で登録されていなければ前記第２のセッション情報が第１のキャッシュテーブルに登録されているかを確認する第２の確認手段と、
前記第２の確認手段で登録されていれば前記送信フレームが予め決められたＯＳＩ５層以上の特定のパケットかの確認を行う第３の確認手段と、
前記第３の確認手段で前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第２のセッション情報を前記第２のキャッシュテーブルに登録すると共に前記送信要求を前記第１のＦＩＦＯ部にキューイングする第２のキューイング手段と、
前記第２の確認手段で登録されていなければ前記送信要求を前記第２のＦＩＦＯ部にキューイングする第３のキューイング手段と、
前記第１または／および第２のＦＩＦＯ部にキューイングされている前記送信要求がある場合に優先順位に従って第１または第２のＦＩＦＯのいずれかを識別しその識別した第１または第２のＦＩＦＯ部にキューイングされている前記送信要求を前記デバイスドライバ部に出す送信要求手段と、を有することを特徴とする端末装置。
【請求項１０】
優先順位の高いデータがＦＩＦＯ形式で保存される第３のＦＩＦＯ部と、
優先順位の低いデータがＦＩＦＯ形式で保存される第４のＦＩＦＯ部と、
を備え、
前記ミドルウェア部は、前記デバイスドライバ部から受信フレームの受信要求があった場合に前記受信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出した第３のセッション情報が第２のキャッシュテーブルに登録されているかを確認する第４の確認手段と、
前記第４の確認手段で登録されていれば前記受信要求を前記第３のＦＩＦＯ部にキューイングする第４のキューイング手段と、
前記第４の確認手段で登録されていなければ前記第３のセッション情報が第１のキャッシュテーブルに登録されているかを確認する第５の確認手段と、
前記第５の確認手段で登録されていれば前記受信フレームが前記特定のパケットかの確認を行う第６の確認手段と、
前記第６の確認手段で前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第３のセッション情報を前記第２のキャッシュテーブルに登録すると共に前記受信要求を前記第３のＦＩＦＯ部にキューイングする第５のキューイング手段と、
前記第５の確認手段で登録されていなければ前記受信要求を前記第４のＦＩＦＯ部にキューイングする第６のキューイング手段と、
前記第３または／および第４のＦＩＦＯ部にキューイングされている前記受信要求がある場合に優先順位に従って第３または第４のＦＩＦＯのいずれかを識別しその識別した第３または第４のＦＩＦＯ部にキューイングされている前記受信要求を前記プロトコルスタック部に出す受信要求手段と、を有することを特徴とする請求項９記載の端末装置。
【請求項１１】
前記ミドルウェア部は、前記第２のキャッシュテーブルに前記第２のセッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続ける監視手段を有することを特徴とする請求項９記載の端末装置。
【請求項１２】
前記ミドルウェア部は、前記第２のキャッシュテーブルに前記第３のセッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続ける監視手段を有することを特徴とする請求項１０記載の端末装置。
【請求項１３】
前記ミドルウェア部は、前記デバイスドライバ部への前記送信要求を行う場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記送信要求を行う手段を有することを特徴とする請求項１，５，または９記載の端末装置。
【請求項１４】
前記ミドルウェア部は、前記デバイスドライバ部からの前記受信要求を受ける場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記受信要求を受ける手段を有することを特徴とする請求項２，６，または１０記載の端末装置。
【請求項１５】
前記特定のパケットは、ＲＴＰパケットを含む第５層以上の通信プロトコルで規定されたパケットのいずれかであることを特徴とする請求項５，６，９，または１０記載の端末装置。
【請求項１６】
前記セッション情報は、フレーム内のＯＳＩ第２層に該当するＭＡＣアドレスと、ＯＳＩ第３層に該当するプロトコル番号およびＩＰアドレスと、ＯＳＩ第４層に該当するポート番号とを含むことを特徴とする請求項３，５，または６記載の端末装置。
【請求項１７】
前記第１および第２のセッション情報は、フレーム内のＯＳＩ第２層に該当するＭＡＣアドレスと、ＯＳＩ第３層に該当するプロトコル番号およびＩＰアドレスと、ＯＳＩ第４層に該当するポート番号とを含むことを特徴とする請求項９記載の端末装置。
【請求項１８】
前記第３のセッション情報は、フレーム内のＯＳＩ第２層に該当するＭＡＣアドレスと、ＯＳＩ第３層に該当するプロトコル番号およびＩＰアドレスと、ＯＳＩ第４層に該当するポート番号とを含むことを特徴とする請求項１０記載の端末装置。
【請求項１９】
前記プログラムインタフェースは、ＮＤＩＳインタフェース、ソケットインタフェースを含むインタフェースのいずれかであることを特徴とする請求項１３または１４記載の端末装置。
【請求項２０】
ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、ＯＳＩ第３層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置内の優先処理方法であって、
前記通信プロトコル部と前記デバイスドライバ部との間のインタフェース制御を行うミドルウェア部を備え、
前記ミドルウェア部は、前記プロトコルスタック部から送信フレームの送信要求があった場合に送信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダ情報を基に前記送信要求の優先順位を振り分けその振り分けた優先順位に従って前記デバイスドライバ部への前記送信要求を行うことを特徴とする端末装置内の優先処理方法。
【請求項２１】
前記ミドルウェア部は、前記デバイスドライバ部から受信フレームの受信要求があった場合に受信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダ情報を基に前記受信要求の優先順位を振り分けその振り分けた優先順位に従って前記プロトコルスタック部への前記受信要求を行うことを特徴とする請求項２０記載の端末装置内の優先処理方法。
【請求項２２】
優先順位の高いセッション情報が予め登録されているキャッシュテーブルと、
優先順位に対応した複数の第１のＦＩＦＯと、を備え、
前記ミドルウェア部は、前記プロトコルスタック部から前記送信フレームの送信要求があった場合に前記送信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダ情報を基に前記キャッシュテーブルを検索することにより優先順位を抽出しその抽出した優先順位に従って前記送信要求を前記複数の第１のＦＩＦＯに振り分け、
前記複数の第１のＦＩＦＯから出力される送信要求を前記第１のＦＩＦＯの優先順位に従って合成して前記デバイスドライバ部に出力することを特徴とする請求項２０記載の端末装置内の優先処理方法。
【請求項２３】
優先順位に対応した複数の第２のＦＩＦＯと、を備え、
前記ミドルウェア部は、前記デバイスドライバ部から前記受信フレームの受信要求があった場合に前記受信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダ情報を基に前記キャッシュテーブルを検索することにより優先順位を抽出しその抽出した優先順位に従って前記受信要求を前記複数の第２のＦＩＦＯに振り分け、
前記複数の第２のＦＩＦＯから出力される受信要求を前記第２のＦＩＦＯの優先順位に従って合成して前記プロトコルスタック部に出力することを特徴とする請求項２１記載の端末装置内の優先処理方法。
【請求項２４】
ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、ＯＳＩ第３層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置内の優先処理方法であって、
前記通信プロトコル部と前記デバイスドライバ部との間に挿入されたミドルウェア部を備え、
前記ミドルウェア部は、予め決められた送信先に連続するＯＳＩ第５層以上の通信プロトコルで規定された特定のパケットの送信要求が前記プロトコルスタック部からあった場合に、最初の送信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せる送信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記デバイスドライバ部に対して送信待ちの優先順位を上げて前記送信要求を行い、
それ以降連続する前記特定のパケットを送信する場合にはそれ以降連続する前記特定のパケットを乗せる送信フレーム内のＯＳＩ第２層から第４層までのヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで送信待ちの優先順位を上げて前記送信要求を行うことを特徴とする端末装置内の優先処理方法。
【請求項２５】
前記ミドルウェア部は、予め決められた送信元から連続するＯＳＩ第５層以上の通信プロトコルで規定された特定のパケットの受信要求が前記デバイスドライバ部からあった場合に、最初の受信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せた受信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記プロトコルスタック部に対して受信待ちの優先順位を上げて前記受信要求を行い、
それ以降連続する前記特定のパケットを受信する場合にはそれ以降連続する前記特定のパケットを乗せた受信フレーム内のＯＳＩ第２層から第４層までのヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで受信待ちの優先順位を上げて前記受信要求を行うことを特徴とする請求項２４記載の端末装置内の優先処理方法。
【請求項２６】
前記ミドルウェア部は、前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続けることを特徴とする請求項２４記載の端末装置内の優先処理方法。
【請求項２７】
前記ミドルウェア部は、前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続けることを特徴とする請求項２５記載の端末装置内の優先処理方法。
【請求項２８】
ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、ＯＳＩ第３層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置内の優先処理方法であって、
前記通信プロトコル部と前記デバイスドライバ部との間に挿入されたミドルウェア部を備え、
前記ミドルウェア部は、優先順位の高い複数の第１のセッション情報が予め登録された第１のキャッシュテーブルと、
優先順位の高いセッションの確立時に使用する第２のキャッシュテーブルと、
優先順位の高いデータがＦＩＦＯ形式で保存される第１のＦＩＦＯ部と、
優先順位の低いデータがＦＩＦＯ形式で保存される第２のＦＩＦＯ部と、
を用いて、
前記プロトコルスタック部から送信フレームの送信要求があった場合に前記送信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出した第２のセッション情報が第２のキャッシュテーブルに登録されているかを確認し、
前記第２のキャッシュテーブルに登録されていれば前記送信要求を前記第１のＦＩＦＯ部にキューイングし、
前記第２のキャッシュテーブルに登録されていなければ前記第２のセッション情報が第１のキャッシュテーブルに登録されているかを確認し、
前記第１のキャッシュテーブルに登録されていれば前記送信フレームが予め決められたＯＳＩ５層以上の特定のパケットかの確認を行い、
前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第２のセッション情報を前記第２のキャッシュテーブルに登録すると共に前記送信要求を前記第１のＦＩＦＯ部にキューイングし、
第１のキャッシュテーブルに登録されていなければ前記送信要求を前記第２のＦＩＦＯ部にキューイングし、
前記第１または／および第２のＦＩＦＯ部にキューイングされている前記送信要求がある場合に優先順位に従って第１または第２のＦＩＦＯのいずれかを識別しその識別した第１または第２のＦＩＦＯ部にキューイングされている前記送信要求を前記デバイスドライバ部に出すことを特徴とする端末装置内の優先処理方法。
【請求項２９】
前記ミドルウェア部は、優先順位の高いデータがＦＩＦＯ形式で保存される第３のＦＩＦＯ部と、
優先順位の低いデータがＦＩＦＯ形式で保存される第４のＦＩＦＯ部と、
を用いて、
前記ミドルウェア部は、前記デバイスドライバ部から受信フレームの受信要求があった場合に前記受信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出した第３のセッション情報が第２のキャッシュテーブルに登録されているかを確認し、
前記第２のキャッシュテーブルに登録されていれば前記受信要求を前記第３のＦＩＦＯ部にキューイングし、
前記第２のキャッシュテーブルに登録されていなければ前記第３のセッション情報が第１のキャッシュテーブルに登録されているかを確認し、
前記第１のキャッシュテーブルに登録されていれば前記受信フレームが前記特定のパケットかの確認を行い、
前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第３のセッション情報を前記第２のキャッシュテーブルに登録すると共に前記受信要求を前記第３のＦＩＦＯ部にキューイングし、
第１のキャッシュテーブルに登録されていなければ前記受信要求を前記第４のＦＩＦＯ部にキューイングし、
前記第３または／および第４のＦＩＦＯ部にキューイングされている前記受信要求がある場合に優先順位に従って第３または第４のＦＩＦＯのいずれかを識別しその識別した第３または第４のＦＩＦＯ部にキューイングされている前記受信要求を前記プロトコルスタック部に出すことを特徴とする請求項２８記載の端末装置内の優先処理方法。
【請求項３０】
前記ミドルウェア部は、前記第２のキャッシュテーブルに前記第２セッション情報を登録した場合に予め決められた時間内に前記第２のセッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続けることを特徴とする請求項２８記載の端末装置内の優先処理方法。
【請求項３１】
前記ミドルウェア部は、前記第２のキャッシュテーブルに前記第３のセッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続けることを特徴とする請求項２９記載の端末装置内の優先処理方法。
【請求項３２】
前記ミドルウェア部は、前記デバイスドライバ部への前記送信要求を行う場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記送信要求を行うことを特徴とする請求項２０，２４，または２８記載の端末装置内の優先処理方法。
【請求項３３】
前記ミドルウェア部は、前記デバイスドライバ部からの前記受信要求を受ける場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記受信要求を受けることを特徴とする請求項２１，２５，または２９記載の端末装置内の優先処理方法。
【請求項３４】
前記特定のパケットは、ＲＴＰパケットを含む第５層以上の通信プロトコルで規定されたパケットのいずれかであることを特徴とする請求項２４，２５，２８，または２９記載の端末装置内の優先処理方法。
【請求項３５】
前記セッション情報は、フレーム内のＯＳＩ第２層に該当するＭＡＣアドレスと、ＯＳＩ第３層に該当するプロトコル番号およびＩＰアドレスと、ＯＳＩ第４層に該当するポート番号とを含むことを特徴とする請求項２２，２４，または２５記載の端末装置内の優先処理方法。
【請求項３６】
前記第１および第２のセッション情報は、フレーム内のＯＳＩ第２層に該当するＭＡＣアドレスと、ＯＳＩ第３層に該当するプロトコル番号およびＩＰアドレスと、ＯＳＩ第４層に該当するポート番号とを含むことを特徴とする請求項２８記載の端末装置内の優先処理方法。
【請求項３７】
前記第３のセッション情報は、フレーム内のＯＳＩ第２層に該当するＭＡＣアドレスと、ＯＳＩ第３層に該当するプロトコル番号およびＩＰアドレスと、ＯＳＩ第４層に該当するポート番号とを含むことを特徴とする請求項２９記載の端末装置内の優先処理方法。
【請求項３８】
前記プログラムインタフェースは、ＮＤＩＳインタフェース、ソケットインタフェースを含むインタフェースのいずれかであることを特徴とする請求項３２または３３記載の端末装置内の優先処理方法。
【請求項３９】
ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、ＯＳＩ第３層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部との間をインタフェース制御するプログラムであって、
予め決められた送信先に連続するＯＳＩ第５層以上の通信プロトコルで規定された特定のパケットの送信要求が前記プロトコルスタック部からあった場合に、最初の送信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せる送信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記デバイスドライバ部に対して送信待ちの優先順位を上げて前記送信要求を行うステップと、
それ以降連続する前記特定のパケットを送信する場合にはそれ以降連続する前記特定のパケットを乗せる送信フレーム内のＯＳＩ第２層から第４層までのヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで送信待ちの優先順位を上げて前記送信要求を行うステップと、を含む処理をコンピュータに実行させるプログラム。
【請求項４０】
予め決められた送信元から連続するＯＳＩ第５層以上の通信プロトコルで規定された特定のパケットの受信要求が前記デバイスドライバ部からあった場合に、最初の受信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せた受信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記プロトコルスタック部に対して受信待ちの優先順位を上げて前記受信要求を行うステップと、
それ以降連続する前記特定のパケットを受信する場合にはそれ以降連続する前記特定のパケットを乗せた受信フレーム内のＯＳＩ第２層から第４層までのヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで受信待ちの優先順位を上げて前記受信要求を行うステップと、を含む処理を前記コンピュータに実行させる請求項３９記載のプログラム。
【請求項４１】
前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続けるステップを含む処理を前記コンピュータに実行させる請求項３９記載のプログラム。
【請求項４２】
前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続けるステップを含む処理を前記コンピュータに実行させる請求項４０記載のプログラム。
【請求項４３】
ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、ＯＳＩ第３層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部との間をインタフェース制御するプログラムであって、
優先順位の高い複数の第１のセッション情報が予め登録された第１のキャッシュテーブルと、
優先順位の高いセッションの確立時に使用する第２のキャッシュテーブルと、
優先順位の高いデータがＦＩＦＯ形式で保存される第１のＦＩＦＯ部と、
優先順位の低いデータがＦＩＦＯ形式で保存される第２のＦＩＦＯ部と、
を備えたコンピュータに、
前記プロトコルスタック部から送信フレームの送信要求があった場合に前記送信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出した第２のセッション情報が第２のキャッシュテーブルに登録されているかを確認するステップと、
前記第２のキャッシュテーブルに登録されていれば前記送信要求を前記第１のＦＩＦＯ部にキューイングするステップと、
前記第２のキャッシュテーブルに登録されていなければ前記第２のセッション情報が第１のキャッシュテーブルに登録されているかを確認するステップと、
前記第１のキャッシュテーブルに登録されていれば前記送信フレームが予め決められたＯＳＩ５層以上の特定のパケットかの確認を行うステップと、
前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第２のセッション情報を前記第２のキャッシュテーブルに登録すると共に前記送信要求を前記第１のＦＩＦＯ部にキューイングするステップと、
前記第１のキャッシュテーブルに登録されていなければ前記送信要求を前記第２のＦＩＦＯ部にキューイングするステップと、
前記第１または／および第２のＦＩＦＯ部にキューイングされている前記送信要求がある場合に優先順位に従って第１または第２のＦＩＦＯのいずれかを識別しその識別した第１または第２のＦＩＦＯ部にキューイングされている前記送信要求を前記デバイスドライバ部に出すステップと、を含む処理を実行させるプログラム。
【請求項４４】
優先順位の高いデータがＦＩＦＯ形式で保存される第３のＦＩＦＯ部と、
優先順位の低いデータがＦＩＦＯ形式で保存される第４のＦＩＦＯ部と、
を備えた前記コンピュータに、
前記デバイスドライバ部から受信フレームの受信要求があった場合に前記受信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出した第３のセッション情報が第２のキャッシュテーブルに登録されているかを確認するステップと、
前記第２のキャッシュテーブルに登録されていれば前記受信要求を前記第３のＦＩＦＯ部にキューイングするステップと、
前記第２のキャッシュテーブルに登録されていなければ前記第３のセッション情報が第１のキャッシュテーブルに登録されているかを確認するステップと、
前記第１のキャッシュテーブルに登録されていれば前記受信フレームが前記特定のパケットかの確認を行うステップと、
前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第３のセッション情報を前記第２のキャッシュテーブルに登録すると共に前記受信要求を前記第３のＦＩＦＯ部にキューイングするステップと、
前記第１のキャッシュテーブルに登録されていなければ前記受信要求を前記第４のＦＩＦＯ部にキューイングするステップと、
前記第３または／および第４のＦＩＦＯ部にキューイングされている前記受信要求がある場合に優先順位に従って第３または第４のＦＩＦＯのいずれかを識別しその識別した第３または第４のＦＩＦＯ部にキューイングされている前記受信要求を前記プロトコルスタック部に出すステップと、を含む処理を実行させる請求項４３記載のプログラム。
【請求項４５】
前記第２のキャッシュテーブルに前記第２のセッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続けるステップを含む処理を前記コンピュータに実行させる請求項４３記載のプログラム。
【請求項４６】
前記第２のキャッシュテーブルに前記第３のセッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続けるステップを含む処理を前記コンピュータに実行させる請求項４４記載のプログラム。
【請求項４７】
前記デバイスドライバ部への前記送信要求を行う場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記送信要求を行うステップを含む処理を前記コンピュータに実行させる請求項３９または４３記載のプログラム。
【請求項４８】
前記デバイスドライバ部からの前記受信要求を受ける場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記受信要求を受けるステップを含む処理を前記コンピュータに実行させる請求項４０または４４記載のプログラム。
【請求項４９】
前記特定のパケットは、ＲＴＰパケットを含む第５層以上の通信プロトコルで規定されたパケットのいずれかであることを特徴とする請求項３９，４０，４３，または４４記載のプログラム。
【請求項５０】
前記セッション情報は、フレーム内のＯＳＩ第２層に該当するＭＡＣアドレスと、ＯＳＩ第３層に該当するプロトコル番号およびＩＰアドレスと、ＯＳＩ第４層に該当するポート番号とを含むことを特徴とする請求項３９または４０記載のプログラム。
【請求項５１】
前記第１および第２のセッション情報は、フレーム内のＯＳＩ第２層に該当するＭＡＣアドレスと、ＯＳＩ第３層に該当するプロトコル番号およびＩＰアドレスと、ＯＳＩ第４層に該当するポート番号とを含むことを特徴とする請求項４３記載のプログラム。
【請求項５２】
前記第３のセッション情報は、フレーム内のＯＳＩ第２層に該当するＭＡＣアドレスと、ＯＳＩ第３層に該当するプロトコル番号およびＩＰアドレスと、ＯＳＩ第４層に該当するポート番号とを含むことを特徴とする請求項４４記載のプログラム。
【請求項５３】
前記プログラムインタフェースは、ＮＤＩＳインタフェース、ソケットインタフェースを含むインタフェースのいずれかであることを特徴とする請求項４７または４８記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、端末装置および端末装置内の優先処理方法、ならびにプログラムに関し、特に、プロトコルスタックとデバイスドライバと間のインタフェース制御における端末装置および端末装置内の優先処理方法、ならびにプログラムに関する。
【０００２】
【従来の技術】
従来、プロトコルスタックとデバイスドライバとの間に置かれたインタフェース制御部として、例えば、特開２００１―１５６７９３号公報に開示されている。この特開２００１―１５６７９３号公報記載のインタフェース制御部は、デバイスドライバを介して送受信されるＯＳＩ第２層にあたるＭＡＣアドレス情報を解析してプロトコルスタックまたはデバイスドライバに送信（通知）する技術が記載されている。
【０００３】
【発明が解決しようとする課題】
しかしながら、ＯＳＩ第３層以上で優先度の高い通信プロトコルのパケット（例えば、ＲＴＰパケットで送られる映像）の送受信を行いたい場合、時間のタイムロスをなくす必要があるが、特開２００１―１５６７９３号公報記載のインタフェース処理は、デバイスドライバからの要求またはプロトコルスタックからの要求に関係なく、要求順に処理を行っているため、負荷が増えれば増えるほど、プロトコルスタックまたはデバイスドライバにおける優先度の高い通信プロトコルのパケット送受信処理が遅延するという問題点がある。
【０００４】
【特許文献１】
特開２００１−１５６７９３号公報
本発明の目的は、上記問題点を鑑み、優先順位の高い特定のパケットに対するプロトコルスタックの受信処理または／およびデバイスドライバの送信処理を出来る限り待たせることなく優先させることにある。
【０００５】
また、本発明の他の目的は、上記問題点を鑑み、現状のハードウェアに影響を与えることなく、かつプログラムをインストールするだけで優先順位の高い特定のパケットに対する装置内のスループットの時間を減らすことにある。
【０００６】
また、本発明の他の目的は、上記問題点を鑑み、ＮＤＩＳインタフェース、ソケットインタフェース等のプログラムインタフェースを保証した上で優先順位の高い特定のパケットに対する装置内のスループットの時間を減らすことにある。
【０００７】
また、本発明の他の目的は、上記問題点を鑑み、ＮＤＩＳインタフェース、ソケットインタフェース等のプログラムインタフェースを保証した上で、物理回線速度より早いスループットでデータの先読みを行って送信し、優先度の高い特定のパケットに対する装置内のスループットの時間を減らすことにある。
【０００８】
【課題を解決するための手段】
上記の目的を達成するために、本発明の第１の端末装置は、ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、ＯＳＩ第３層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置であって、前記通信プロトコル部と前記デバイスドライバ部との間に挿入されたミドルウェア部を備え、前記ミドルウェア部は、前記プロトコルスタック部から送信フレームの送信要求があった場合に送信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダ情報を基に前記送信要求の優先順位を振り分けその振り分けた優先順位に従って前記デバイスドライバ部への前記送信要求を行う送信手段を有することを特徴としている。
【０００９】
更に、上記の第１の端末装置において、前記ミドルウェア部は、前記デバイスドライバ部から受信フレームの受信要求があった場合に受信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダ情報を基に前記受信要求の優先順位を振り分けその振り分けた優先順位に従って前記プロトコルスタック部への前記受信要求を行う受信手段を有することを特徴としている。
【００１０】
更に、上記の第１の端末装置において、優先順位の高いセッション情報が予め登録されているキャッシュテーブルと、優先順位に対応した複数の第１のＦＩＦＯと、を備え、前記送信手段は、前記プロトコルスタック部から前記送信フレームの送信要求があった場合に前記送信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダ情報を基に前記キャッシュテーブルを検索することにより優先順位を抽出しその抽出した優先順位に従って前記送信要求を前記複数の第１のＦＩＦＯに振り分ける第１のヘッダ比較手段と、前記複数の第１のＦＩＦＯから出力される送信要求を前記第１のＦＩＦＯの優先順位に従って合成して前記デバイスドライバ部に出力する第１の合成手段と、を有することを特徴としている。
【００１１】
更に、上記の第１の端末装置において、優先順位に対応した複数の第２のＦＩＦＯと、を備え、前記受信手段は、前記デバイスドライバ部から前記受信フレームの受信要求があった場合に前記受信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダ情報を基に前記キャッシュテーブルを検索することにより優先順位を抽出しその抽出した優先順位に従って前記受信要求を前記複数の第２のＦＩＦＯに振り分ける第２のヘッダ比較手段と、前記複数の第２のＦＩＦＯから出力される受信要求を前記第２のＦＩＦＯの優先順位に従って合成して前記プロトコルスタック部に出力する第２の合成手段と、を有することを特徴としている。
【００１２】
また、本発明の第２の端末装置は、ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、ＯＳＩ第３層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置であって、前記通信プロトコル部と前記デバイスドライバ部との間に挿入されたミドルウェア部を備え、前記ミドルウェア部は、予め決められた送信先に連続するＯＳＩ第５層以上の通信プロトコルで規定された特定のパケットの送信要求が前記プロトコルスタック部からあった場合に、最初の送信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せる送信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記デバイスドライバ部に対して送信待ちの優先順位を上げて前記送信要求を行う第１の送信要求手段と、それ以降連続する前記特定のパケットを送信する場合にはそれ以降連続する前記特定のパケットを乗せる送信フレーム内のＯＳＩ第２層から第４層までのヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで送信待ちの優先順位を上げて前記送信要求を行う第２の送信要求手段と、を有することを特徴としている。
【００１３】
更に、上記の第２の端末装置において、前記ミドルウェア部は、予め決められた送信元から連続するＯＳＩ第５層以上の通信プロトコルで規定された特定のパケットの受信要求が前記デバイスドライバ部からあった場合に、最初の受信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せた受信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記プロトコルスタック部に対して受信待ちの優先順位を上げて前記受信要求を行う第１の受信要求手段と、それ以降連続する前記特定のパケットを受信する場合にはそれ以降連続する特定のパケットを乗せた前記受信フレーム内のＯＳＩ第２層から第４層までの各ヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで受信待ちの優先順位を上げて前記受信要求を行う第２の受信要求手段と、を有することを特徴としている。
【００１４】
更に、上記の第２の端末装置において、前記ミドルウェア部は、前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続ける監視手段を有することを特徴としている。
【００１５】
更に、上記の第２の端末装置において、前記ミドルウェア部は、前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続ける監視手段を有することを特徴としている。
【００１６】
また、本発明の第３の端末装置は、ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、ＯＳＩ第３層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置であって、前記通信プロトコル部と前記デバイスドライバ部との間に挿入されたミドルウェア部と、優先順位の高い複数の第１のセッション情報が予め登録された第１のキャッシュテーブルと、優先順位の高いセッションの確立時に使用する第２のキャッシュテーブルと、優先順位の高いデータがＦＩＦＯ形式で保存される第１のＦＩＦＯ部と、優先順位の低いデータがＦＩＦＯ形式で保存される第２のＦＩＦＯ部と、を備え、前記ミドルウェア部は、前記プロトコルスタック部から送信フレームの送信要求があった場合に前記送信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出した第２のセッション情報が第２のキャッシュテーブルに登録されているかを確認する第１の確認手段と、前記第１の確認手段で登録されていれば前記送信要求を前記第１のＦＩＦＯ部にキューイングする第１のキューイング手段と、前記第１の確認手段で登録されていなければ前記第２のセッション情報が第１のキャッシュテーブルに登録されているかを確認する第２の確認手段と、前記第２の確認手段で登録されていれば前記送信フレームが予め決められたＯＳＩ５層以上の特定のパケットかの確認を行う第３の確認手段と、前記第３の確認手段で前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第２のセッション情報を前記第２のキャッシュテーブルに登録すると共に前記送信要求を前記第１のＦＩＦＯ部にキューイングする第２のキューイング手段と、前記第２の確認手段で登録されていなければ前記送信要求を前記第２のＦＩＦＯ部にキューイングする第３のキューイング手段と、前記第１または／および第２のＦＩＦＯ部にキューイングされている前記送信要求がある場合に優先順位に従って第１または第２のＦＩＦＯのいずれかを識別しその識別した第１または第２のＦＩＦＯ部にキューイングされている前記送信要求を前記デバイスドライバ部に出す送信要求手段と、を有することを特徴としている。
【００１７】
更に、上記の第３の端末装置において、優先順位の高いデータがＦＩＦＯ形式で保存される第３のＦＩＦＯ部と、優先順位の低いデータがＦＩＦＯ形式で保存される第４のＦＩＦＯ部と、を備え、前記ミドルウェア部は、前記デバイスドライバ部から受信フレームの受信要求があった場合に前記受信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出した第３のセッション情報が第２のキャッシュテーブルに登録されているかを確認する第４の確認手段と、前記第４の確認手段で登録されていれば前記受信要求を前記第３のＦＩＦＯ部にキューイングする第４のキューイング手段と、
前記第４の確認手段で登録されていなければ前記第３のセッション情報が第１のキャッシュテーブルに登録されているかを確認する第５の確認手段と、前記第５の確認手段で登録されていれば前記受信フレームが前記特定のパケットかの確認を行う第６の確認手段と、前記第６の確認手段で前記特定のパケットの確認がとれると優先順位の高いセッションが確立したとして前記第３のセッション情報を前記第２のキャッシュテーブルに登録すると共に前記受信要求を前記第３のＦＩＦＯ部にキューイングする第５のキューイング手段と、前記第５の確認手段で登録されていなければ前記受信要求を前記第４のＦＩＦＯ部にキューイングする第６のキューイング手段と、前記第３または／および第４のＦＩＦＯ部にキューイングされている前記受信要求がある場合に優先順位に従って第３または第４のＦＩＦＯのいずれかを識別しその識別した第３または第４のＦＩＦＯ部にキューイングされている前記受信要求を前記プロトコルスタック部に出す受信要求手段と、を有することを特徴としている。
【００１８】
更に、上記の第３の端末装置において、前記ミドルウェア部は、前記第２のキャッシュテーブルに前記第２のセッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続ける監視手段を有することを特徴としている。
【００１９】
更に、上記の第３の端末装置において、前記ミドルウェア部は、前記第２のキャッシュテーブルに前記第３のセッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続ける監視手段を有することを特徴としている。
【００２０】
更に、上記の第１、第２、または第３の端末装置において、前記ミドルウェア部は、前記デバイスドライバ部への前記送信要求を行う場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記送信要求を行う手段を有することを特徴としている。する請求項１，５または７記載の端末装置。
【００２１】
更に、上記の第１、第２、または第３の端末装置において、前記ミドルウェア部は、前記デバイスドライバ部からの前記受信要求を受ける場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記受信要求を受ける手段を有することを特徴としている。
【００２２】
更に、上記の第２または第３の端末装置において、前記特定のパケットは、ＲＴＰパケットを含む第５層以上の通信プロトコルで規定されたパケットのいずれかであることを特徴としている。
【００２３】
更に、上記の第１または第２の端末装置において、前記セッション情報は、フレーム内のＯＳＩ第２層に該当するＭＡＣアドレスと、ＯＳＩ第３層に該当するプロトコル番号およびＩＰアドレスと、ＯＳＩ第４層に該当するポート番号とを含むことを特徴としている。
【００２４】
更に、上記の第３の端末装置において、前記第１および第２のセッション情報は、フレーム内のＯＳＩ第２層に該当するＭＡＣアドレスと、ＯＳＩ第３層に該当するプロトコル番号およびＩＰアドレスと、ＯＳＩ第４層に該当するポート番号とを含むことを特徴としている。
【００２５】
更に、上記の第３の端末装置において、前記第３のセッション情報は、フレーム内のＯＳＩ第２層に該当するＭＡＣアドレスと、ＯＳＩ第３層に該当するプロトコル番号およびＩＰアドレスと、ＯＳＩ第４層に該当するポート番号とを含むことを特徴としている。
【００２６】
更に、更に、上記の第１、第２、または第３の端末装置において、前記プログラムインタフェースは、ＮＤＩＳインタフェース、ソケットインタフェースを含むインタフェースのいずれかであることを特徴としている。
【００２７】
また、本発明の第１の端末装置内の優先処理方法は、ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、ＯＳＩ第３層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置内の優先処理方法であって、前記通信プロトコル部と前記デバイスドライバ部との間のインタフェース制御を行うミドルウェア部を備え、前記ミドルウェア部は、前記プロトコルスタック部から送信フレームの送信要求があった場合に送信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダ情報を基に前記送信要求の優先順位を振り分けその振り分けた優先順位に従って前記デバイスドライバ部への前記送信要求を行うことを特徴としている。
【００２８】
更に、上記の第１の端末装置内の優先処理方法において、前記ミドルウェア部は、前記デバイスドライバ部から受信フレームの受信要求があった場合に受信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダ情報を基に前記受信要求の優先順位を振り分けその振り分けた優先順位に従って前記プロトコルスタック部への前記受信要求を行うことを特徴としている。
【００２９】
更に、上記の第１の端末装置内の優先処理方法において、優先順位の高いセッション情報が予め登録されているキャッシュテーブルと、優先順位に対応した複数の第１のＦＩＦＯと、を備え、前記ミドルウェア部は、前記プロトコルスタック部から前記送信フレームの送信要求があった場合に前記送信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダ情報を基に前記キャッシュテーブルを検索することにより優先順位を抽出しその抽出した優先順位に従って前記送信要求を前記複数の第１のＦＩＦＯに振り分け、前記複数の第１のＦＩＦＯから出力される送信要求を前記第１のＦＩＦＯの優先順位に従って合成して前記デバイスドライバ部に出力することを特徴としている。
【００３０】
更に、上記の第１の端末装置内の優先処理方法において、優先順位に対応した複数の第２のＦＩＦＯと、を備え、前記ミドルウェア部は、前記デバイスドライバ部から前記受信フレームの受信要求があった場合に前記受信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダ情報を基に前記キャッシュテーブルを検索することにより優先順位を抽出しその抽出した優先順位に従って前記受信要求を前記複数の第２のＦＩＦＯに振り分け、前記複数の第２のＦＩＦＯから出力される受信要求を前記第２のＦＩＦＯの優先順位に従って合成して前記プロトコルスタック部に出力することを特徴としている。
【００３１】
また、本発明の第２の端末装置内の優先処理方法は、ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、ＯＳＩ第３層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置内の優先処理方法であって、前記通信プロトコル部と前記デバイスドライバ部との間に挿入されたミドルウェア部を備え、前記ミドルウェア部は、予め決められた送信先に連続するＯＳＩ第５層以上の通信プロトコルで規定された特定のパケットの送信要求が前記プロトコルスタック部からあった場合に、最初の送信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せる送信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記デバイスドライバ部に対して送信待ちの優先順位を上げて前記送信要求を行い、それ以降連続する前記特定のパケットを送信する場合にはそれ以降連続する前記特定のパケットを乗せる送信フレーム内のＯＳＩ第２層から第４層までのヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで送信待ちの優先順位を上げて前記送信要求を行うことを特徴としている。
【００３２】
更に、上記の第２の端末装置内の優先処理方法において、前記ミドルウェア部は、予め決められた送信元から連続するＯＳＩ第５層以上の通信プロトコルで規定された特定のパケットの受信要求が前記デバイスドライバ部からあった場合に、最初の受信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せた受信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記プロトコルスタック部に対して受信待ちの優先順位を上げて前記受信要求を行い、それ以降連続する前記特定のパケットを受信する場合にはそれ以降連続する前記特定のパケットを乗せた受信フレーム内のＯＳＩ第２層から第４層までのヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで受信待ちの優先順位を上げて前記受信要求を行うことを特徴としている。
【００３３】
更に、上記の第２の端末装置内の優先処理方法において、前記ミドルウェア部は、前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続けることを特徴としている。
【００３４】
更に、上記の第２の端末装置内の優先処理方法において、前記ミドルウェア部は、前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続けることを特徴としている。
【００３５】
また、本発明の第３の端末装置内の優先処理方法は、ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、ＯＳＩ第３層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置内の優先処理方法であって、前記通信プロトコル部と前記デバイスドライバ部との間に挿入されたミドルウェア部を備え、前記ミドルウェア部は、優先順位の高い複数の第１のセッション情報が予め登録された第１のキャッシュテーブルと、優先順位の高いセッションの確立時に使用する第２のキャッシュテーブルと、優先順位の高いデータがＦＩＦＯ形式で保存される第１のＦＩＦＯ部と、優先順位の低いデータがＦＩＦＯ形式で保存される第２のＦＩＦＯ部と、を用いて、前記プロトコルスタック部から送信フレームの送信要求があった場合に前記送信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出した第２のセッション情報が第２のキャッシュテーブルに登録されているかを確認し、前記第２のキャッシュテーブルに登録されていれば前記送信要求を前記第１のＦＩＦＯ部にキューイングし、前記第２のキャッシュテーブルに登録されていなければ前記第２のセッション情報が第１のキャッシュテーブルに登録されているかを確認し、前記第１のキャッシュテーブルに登録されていれば前記送信フレームが予め決められたＯＳＩ５層以上の特定のパケットかの確認を行い、前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第２のセッション情報を前記第２のキャッシュテーブルに登録すると共に前記送信要求を前記第１のＦＩＦＯ部にキューイングし、第１のキャッシュテーブルに登録されていなければ前記送信要求を前記第２のＦＩＦＯ部にキューイングし、前記第１または／および第２のＦＩＦＯ部にキューイングされている前記送信要求がある場合に優先順位に従って第１または第２のＦＩＦＯのいずれかを識別しその識別した第１または第２のＦＩＦＯ部にキューイングされている前記送信要求を前記デバイスドライバ部に出すことを特徴としている。
【００３６】
更に、上記の第３の端末装置内の優先処理方法において、前記ミドルウェア部は、優先順位の高いデータがＦＩＦＯ形式で保存される第３のＦＩＦＯ部と、優先順位の低いデータがＦＩＦＯ形式で保存される第４のＦＩＦＯ部と、を用いて、前記デバイスドライバ部から受信フレームの受信要求があった場合に前記受信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出した第３のセッション情報が第２のキャッシュテーブルに登録されているかを確認し、前記第２のキャッシュテーブルに登録されていれば前記受信要求を前記第３のＦＩＦＯ部にキューイングし、前記第２のキャッシュテーブルに登録されていなければ前記第３のセッション情報が第１のキャッシュテーブルに登録されているかを確認し、前記第１のキャッシュテーブルに登録されていれば前記受信フレームが前記特定のパケットかの確認を行い、前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第３のセッション情報を前記第２のキャッシュテーブルに登録すると共に前記受信要求を前記第３のＦＩＦＯ部にキューイングし、第１のキャッシュテーブルに登録されていなければ前記受信要求を前記第４のＦＩＦＯ部にキューイングし、前記第３または／および第４のＦＩＦＯ部にキューイングされている前記受信要求がある場合に優先順位に従って第３または第４のＦＩＦＯのいずれかを識別しその識別した第３または第４のＦＩＦＯ部にキューイングされている前記受信要求を前記プロトコルスタック部に出すことを特徴としている。
【００３７】
更に、上記の第３の端末装置内の優先処理方法において、前記ミドルウェア部は、前記第２のキャッシュテーブルに前記第２セッション情報を登録した場合に予め決められた時間内に前記第２のセッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続けることを特徴としている。
【００３８】
更に、上記の第３の端末装置内の優先処理方法において、前記ミドルウェア部は、前記第２のキャッシュテーブルに前記第３のセッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続けることを特徴としている。
【００３９】
更に、上記の第１、第２、または第３の端末装置内の優先処理方法において、前記ミドルウェア部は、前記デバイスドライバ部への前記送信要求を行う場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記送信要求を行うことを特徴としている。
【００４０】
更に、上記の第１、第２、第３の端末装置内の優先処理方法において、前記ミドルウェア部は、前記デバイスドライバ部からの前記受信要求を受ける場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記受信要求を受けることを特徴としている。
【００４１】
更に、上記の第２または第３の端末装置内の優先処理方法において、前記特定のパケットは、ＲＴＰパケットを含む第５層以上の通信プロトコルで規定されたパケットのいずれかであることを特徴としている。
【００４２】
更に、上記の第１または第２の端末装置内の優先処理方法において、前記セッション情報は、フレーム内のＯＳＩ第２層に該当するＭＡＣアドレスと、ＯＳＩ第３層に該当するプロトコル番号およびＩＰアドレスと、ＯＳＩ第４層に該当するポート番号とを含むことを特徴としている。
【００４３】
更に、上記の第３の端末装置内の優先処理方法において、前記第１および第２のセッション情報は、フレーム内のＯＳＩ第２層に該当するＭＡＣアドレスと、ＯＳＩ第３層に該当するプロトコル番号およびＩＰアドレスと、ＯＳＩ第４層に該当するポート番号とを含むことを特徴としている。
【００４４】
更に、上記の第３の端末装置内の優先処理方法において、前記第３のセッション情報は、フレーム内のＯＳＩ第２層に該当するＭＡＣアドレスと、ＯＳＩ第３層に該当するプロトコル番号およびＩＰアドレスと、ＯＳＩ第４層に該当するポート番号とを含むことを特徴としている。
【００４５】
更に、上記の第１、第２、または第３の端末装置内の優先処理方法において、前記プログラムインタフェースは、ＮＤＩＳインタフェース、ソケットインタフェースを含むインタフェースのいずれかであることを特徴としている。
【００４６】
また、本発明の第１のプログラムは、ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、ＯＳＩ第３層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部との間をインタフェース制御するプログラムであって、予め決められた送信先に連続するＯＳＩ第５層以上の通信プロトコルで規定された特定のパケットの送信要求が前記プロトコルスタック部からあった場合に、最初の送信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せる送信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記デバイスドライバ部に対して送信待ちの優先順位を上げて前記送信要求を行うステップと、それ以降連続する前記特定のパケットを送信する場合にはそれ以降連続する前記特定のパケットを乗せる送信フレーム内のＯＳＩ第２層から第４層までのヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで送信待ちの優先順位を上げて前記送信要求を行うステップと、を含む処理をコンピュータに実行させることを特徴としている。
【００４７】
更に、上記の第１のプログラムにおいて、予め決められた送信元から連続するＯＳＩ第５層以上の通信プロトコルで規定された特定のパケットの受信要求が前記デバイスドライバ部からあった場合に、最初の受信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せた受信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記プロトコルスタック部に対して受信待ちの優先順位を上げて前記受信要求を行うステップと、それ以降連続する前記特定のパケットを受信する場合にはそれ以降連続する前記特定のパケットを乗せた受信フレーム内のＯＳＩ第２層から第４層までのヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで受信待ちの優先順位を上げて前記受信要求を行うステップと、を含む処理を前記コンピュータに実行させることを特徴としている。
【００４８】
更に、上記の第１のプログラムにおいて、前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続けるステップを含む処理を前記コンピュータに実行させることを特徴としている。
【００４９】
更に、上記の第１のプログラムにおいて、前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続けるステップを含む処理を前記コンピュータに実行させることを特徴としている。
【００５０】
また、本発明の第２のプログラムは、ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、ＯＳＩ第３層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部との間をインタフェース制御するプログラムであって、優先順位の高い複数の第１のセッション情報が予め登録された第１のキャッシュテーブルと、優先順位の高いセッションの確立時に使用する第２のキャッシュテーブルと、優先順位の高いデータがＦＩＦＯ形式で保存される第１のＦＩＦＯ部と、優先順位の低いデータがＦＩＦＯ形式で保存される第２のＦＩＦＯ部と、を備えたコンピュータに、前記プロトコルスタック部から送信フレームの送信要求があった場合に前記送信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出した第２のセッション情報が第２のキャッシュテーブルに登録されているかを確認するステップと、前記第２のキャッシュテーブルに登録されていれば前記送信要求を前記第１のＦＩＦＯ部にキューイングするステップと、前記第２のキャッシュテーブルに登録されていなければ前記第２のセッション情報が第１のキャッシュテーブルに登録されているかを確認するステップと、前記第１のキャッシュテーブルに登録されていれば前記送信フレームが予め決められたＯＳＩ５層以上の特定のパケットかの確認を行うステップと、前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第２のセッション情報を前記第２のキャッシュテーブルに登録すると共に前記送信要求を前記第１のＦＩＦＯ部にキューイングするステップと、前記第１のキャッシュテーブルに登録されていなければ前記送信要求を前記第２のＦＩＦＯ部にキューイングするステップと、前記第１または／および第２のＦＩＦＯ部にキューイングされている前記送信要求がある場合に優先順位に従って第１または第２のＦＩＦＯのいずれかを識別しその識別した第１または第２のＦＩＦＯ部にキューイングされている前記送信要求を前記デバイスドライバ部に出すステップと、を含む処理を実行させることを特徴としている。
【００５１】
更に、上記の第２のプログラムにおいて、優先順位の高いデータがＦＩＦＯ形式で保存される第３のＦＩＦＯ部と、優先順位の低いデータがＦＩＦＯ形式で保存される第４のＦＩＦＯ部と、を備えた前記コンピュータに、前記デバイスドライバ部から受信フレームの受信要求があった場合に前記受信フレーム内のＯＳＩ第２層からＯＳＩ第４層までの各ヘッダから抽出した第３のセッション情報が第２のキャッシュテーブルに登録されているかを確認するステップと、前記第２のキャッシュテーブルに登録されていれば前記受信要求を前記第３のＦＩＦＯ部にキューイングするステップと、前記第２のキャッシュテーブルに登録されていなければ前記第３のセッション情報が第１のキャッシュテーブルに登録されているかを確認するステップと、前記第１のキャッシュテーブルに登録されていれば前記受信フレームが前記特定のパケットかの確認を行うステップと、前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第３のセッション情報を前記第２のキャッシュテーブルに登録すると共に前記受信要求を前記第３のＦＩＦＯ部にキューイングするステップと、前記第１のキャッシュテーブルに登録されていなければ前記受信要求を前記第４のＦＩＦＯ部にキューイングするステップと、前記第３または／および第４のＦＩＦＯ部にキューイングされている前記受信要求がある場合に優先順位に従って第３または第４のＦＩＦＯのいずれかを識別しその識別した第３または第４のＦＩＦＯ部にキューイングされている前記受信要求を前記プロトコルスタック部に出すステップと、を含む処理を実行させることを特徴としている。
【００５２】
更に、上記の第２のプログラムにおいて、前記第２のキャッシュテーブルに前記第２のセッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続けるステップを含む処理を前記コンピュータに実行させることを特徴としている。
【００５３】
更に、上記の第２のプログラムにおいて、前記第２のキャッシュテーブルに前記第３のセッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続けるステップを含む処理を前記コンピュータに実行させることを特徴としている。
【００５４】
更に、上記の第１または第２のプログラムにおいて、前記デバイスドライバ部への前記送信要求を行う場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記送信要求を行うステップを含む処理を前記コンピュータに実行させることを特徴としている。
【００５５】
更に、上記の第１または第２のプログラムにおいて、前記デバイスドライバ部からの前記受信要求を受ける場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記受信要求を受けるステップを含む処理を前記コンピュータに実行させることを特徴としている。
【００５６】
更に、上記の第１または第２のプログラムにおいて、前記特定のパケットは、ＲＴＰパケットを含む第５層以上の通信プロトコルで規定されたパケットのいずれかであることを特徴としている。
【００５７】
更に、上記の第１のプログラムにおいて、前記セッション情報は、フレーム内のＯＳＩ第２層に該当するＭＡＣアドレスと、ＯＳＩ第３層に該当するプロトコル番号およびＩＰアドレスと、ＯＳＩ第４層に該当するポート番号とを含むことを特徴としている。
【００５８】
更に、上記の第２のプログラムにおいて、前記第１および第２のセッション情報は、フレーム内のＯＳＩ第２層に該当するＭＡＣアドレスと、ＯＳＩ第３層に該当するプロトコル番号およびＩＰアドレスと、ＯＳＩ第４層に該当するポート番号とを含むことを特徴としている。
【００５９】
更に、上記の第２のプログラムにおいて、前記第３のセッション情報は、フレーム内のＯＳＩ第２層に該当するＭＡＣアドレスと、ＯＳＩ第３層に該当するプロトコル番号およびＩＰアドレスと、ＯＳＩ第４層に該当するポート番号とを含むことを特徴としている。
【００６０】
更に、上記の第１または第２のプログラムにおいて、前記プログラムインタフェースは、ＮＤＩＳインタフェース、ソケットインタフェースを含むインタフェースのいずれかであることを特徴としている。
【００６１】
【発明の実施の形態】
先ず、本発明の構成の概要について、図１を参照して説明する。
【００６２】
無線ＬＡＮにおけるクライアントドライバの部分と上位アプリケーションドライバの間に、ミドルウェアを挿入することでＱｏＳを実現する手段を設けることにある。すなわち、ミドルウェアであるＱｏＳミドル部１は、ＯＳＩ（ＯｐｅｎＳｙｓｔｅｍｓ　Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルのＯＳＩ第３層以上のＬＡＮ通信を実現するＴＣＰ／ＩＰ等のＯＳＩ第３層以上のプロトコルスタック部３とＬＡＮのデバイスドライバであるデバイスドライバ部２とのインタフェースの間に入る。
【００６３】
ＱｏＳミドル部１は、プロトコルスタック部３からの受信データをＬＡＮのデバイスドライバへ渡す送信部として複数のＦＩＦＯを持つ送信ＦＩＦＯ部５１へのデータを振り分けるヘッダ比較部１１１と予め定めた優先順位を持つ複数のＦＩＦＯをもつ送信ＦＩＦＯ部５２からの送信データの送信要求を合成する合成部１１２とを有し、送信部のヘッダ比較部１１１は、予め定めたキャッシュテーブル５３に予め登録した情報と送信すべきフレーム内の各ヘッダ情報から抽出したセッション情報とを比較することで優先順位を抽出しその抽出した優先順位にあわせたＦＩＦＯへデータの送信要求（送信事象）をキューイングすることで予め定めた優先順位の高いデータを無線ＬＡＮに送信する手段を提供する。なお、無線ＬＡＮに限定するものではなく、低速通信回線へ応用しても、他のＬＡＮ通信へ応用しても良い。
【００６４】
また、図１に示すようにデバイスドライバ部２からの受信データの受信要求をＴＣＰ／ＩＰ等ＯＳＩ３層以上のプロトコルスタック部３へ届ける受信部として送信部と同様にヘッダ比較部１２１と複数のＦＩＦＯを持つ受信ＦＩＦＯ部５２と合成部１２２とを有することで、無線ＬＡＮからの受信データへのＱｏＳを提供しても良い。
【００６５】
次に、本発明の第１の実施の形態について、図面を参照して説明する。
【００６６】
図２を参照すると、本発明の第１の実施の形態例としてＩＥＥＥ８０２．１１標準の無線ＬＡＮである無線ＬＡＮ９０１を介して他装置と通信を行う無線端末装置内のブロック図を示している。
【００６７】
すなわち、図２を参照すると、無線端末装置は、ＱｏＳミドル部１と、ＯＳＩ第３層以上の通信プロトコルに基づいて他装置と通信の制御を行うプロトコルスタック部３と、無線ＬＡＮ９０１におけるデータリンク層の通信プロトコルにより相手とデータのやり取りを行うデバイスドライバ部２と、デバイスドライバ部２の制御の下で無線ＬＡＮの物理層の通信プロトコルによるデータのやり取りを行う無線ＬＡＮインタフェース部４と、複数のＦＩＦＯを有する送信ＦＩＦＯ部５１と、複数のＦＩＦＯを有する受信ＦＩＦＯ部５２と、キャッシュテーブル５３と、監視タイマ部５４と、共有バッファ部５５とから構成される。この場合のＱｏＳミドル部１およびデバイスドライバ部２は、図示していないプロセッサ（ＣＰＵ）によりプログラム制御で動作する機能ブロックである。なお、ＱｏＳミドル部１およびデバイスドライバ部２を有する無線ＬＡＮドライバ部９１１が無線ＬＡＮインタフェース部４を制御する無線ＬＡＮドライバとして扱われる。また、図１の無線端末装置には、その他図以外の機能ブロックおよびハードウェアも搭載しているが、説明都合上省略している。
【００６８】
図２の共有バッファ部５５は、図示していないメモリ内に割り当てられており、無線ＬＡＮ９０１からフレームを受信する毎に１つのバッファが確保される。
【００６９】
図２の送信ＦＩＦＯ部５１は、図示していないメモリ（例えば、ＲＡＭ）内にＦＩＦＯ毎にエリアが割り当てられており、プロトコルスタック部３からデバイスドライバ部２へのフレームの送信要求（送信事象）がＦＩＦＯ（Ｆｉｒｓｔ　Ｉｎ　Ｆｉｒｓｔ　Ｏｕｔ）形式でキューイングされ、取り出される。更に、送信ＦＩＦＯ部５１は、優先順位毎の送信ＦＩＦＯ（送信事象をキューイングするための優先順位毎の格納エリア）を持っており、本第１の実施の形態例では、優先順位の高い高位送信ＦＩＦＯ５１１と優先順位の低い低位送信ＦＩＦＯ５１２とから構成される。
【００７０】
図２の受信ＦＩＦＯ部５２は、図示していないメモリ（例えば、ＲＡＭ）内にＦＩＦＯ毎にエリアが割り当てられており、デバイスドライバ部２からプロトコルスタック部３へのフレームの受信要求（受信事象）がＦＩＦＯ（Ｆｉｒｓｔ　Ｉｎ　Ｆｉｒｓｔ　Ｏｕｔ）形式でキューイングされ、取り出される。更に、受信ＦＩＦＯ部５２は、優先順位毎の受信ＦＩＦＯ（受信事象をキューイングするための優先順位毎の格納エリア）を持っており、本第１の実施の形態例では、優先順位の高い高位受信ＦＩＦＯ５２１と優先順位の低い低位受信ＦＩＦＯ５２２とから構成される。
【００７１】
図２のキャッシュテーブル５３は、ＲＴＰフレーム（ＲＴＰパケットの乗ったフレーム）のセッション情報が予め登録されている一時登録テーブル５３２と、セッション情報がセッション確立中に一時的に登録されている初期登録テーブル５３１と、から構成され、図示していないメモリ（例えば、ＲＡＭ）内に割り当てられている。初期登録テーブル５３１は、優先順位の高いフレームかどうかを見分けるために利用され、一時登録テーブル５３２は、ＯＳＩ第５層以上のパケットのヘッダ情報を解析する手順を省くために利用される。また、キャッシュテーブル５３は、プロトコルスタック部３からの送信要求（事象）が発生した場合に、物理回線速度より早くデータを先読みし、本来物理回線速度に合わせた待ちデータとなっていたものを優先順位に合わせて並び直して待機し（従来のデータ送信待ち時間を利用し）、物理回線速度に合わせた優先付け通信を提供するために利用される。デバイスドライバ部２からの受信要求（事象）またはプロトコルスタック部３からの送信要求（事象）が発生した場合に、ＲＴＰパケットで一時登録テーブル５３２または初期登録テーブル５３１に該当するセッション情報が登録されていると、送信ＦＩＦＯ５１または受信ＦＩＦＯ部５２内の高位のＦＩＦＯにキューイングされ、登録されていないと、送信ＦＩＦＯ５１または受信ＦＩＦＯ部５２内の低位のＦＩＦＯにキューイングされる。すなわち、高位ＦＩＦＯにキューイングされると、送信待ちまたは受信待ちの優先順位を上げることにある。初期登録テーブル５３１には、フレーム内の各ヘッダにおいて、ＯＳＩ第２層に該当する相手先のＭＡＣアドレス、ＯＳＩ第３層に該当するプロトコル番号と相手先のＩＰアドレス、ＯＳＩ第４層に該当する相手先のポート番号（この場合は、ＴＣＰまたはＵＤＰのポート番号）、第５層以上のアプリケーションパケットの種別が、１つのセッション情報として複数予め登録されている。この場合の相手先とは、送信元または送信先のことである。また、一時登録テーブル５３２には、フレーム内の各ヘッダにおいて、ＯＳＩ第２層に該当する送信先および送信元のＭＡＣアドレス、ＯＳＩ第３層に該当するプロトコル番号と送信先および受信先のＩＰアドレス、ＯＳＩ第４層に該当する送信先および受信先のポート番号（この場合は、ＴＣＰまたはＵＤＰのポート番号）が、１つのセッション情報として、新しいセッションが確立するたびに登録され、セッションが確立されていないと消去される。
【００７２】
図２のＱｏＳミドル部１は、無線ＬＡＮ９０１へのフレームの送信時における送信要求の優先制御（優先処理）を行う送信部１１と、無線ＬＡＮ９０１からのフレームの受信時における受信要求の優先制御（優先処理）を行う受信部１２と、セッション情報（接続情報）を監視するＲＴＰセッションモニタ部１３と、擬似プロトコルスタック部１４と、から構成されている。なお、ＱｏＳミドル部１の送信部１１および受信部１２のプログラム（ミドルウェアドライバ）が存在し、そのプログラムは、アクセスポイントの無線ＬＡＮドライバインストール時にデバイスドライバ部２のプログラムと一緒に無線端末装置に入る。
【００７３】
図２の送信部１１は、フレームの送信要求を中継する場合にキャッシュテーブル５３のセッション情報に合わせて送信するフレーム内の各ヘッダ情報から抽出したセッション情報を比較し優先順位のＦＩＦＯを持つ送信ＦＩＦＯ部５１へ送信要求（送信事象）を振り分けるヘッダ比較部１１１と、送信ＦＩＦＯ部５１からの出力データ（送信事象）を合成（送信ＦＩＦＯ部５１内の送信ＦＩＦＯの識別を行う）して擬似プロトコル部１４に出力する合成部１１２とから構成される。
【００７４】
図２の受信部１２は、擬似プロトコル部１４からのフレームの受信要求を中継する場合にキャッシュテーブル５３の情報に合わせて受信したフレーム内の各ヘッダ情報から抽出したセッション情報を比較し予め定められた優先順位を持つ受信ＦＩＦＯ部５２へ受信要求（受信事象）を振り分けるヘッダ比較部１２１と、受信ＦＩＦＯ部５２からの出力データ（受信事象）を合成（受信ＦＩＦＯ部５２内の受信ＦＩＦＯの識別を行う）してプロトコルスタック部３に出力する合成部１２２とから構成される。
【００７５】
図３を参照すると、フレーム内の各ヘッダの割り当てを示す概略図であって、８０２．３規格のフレームヘッダと、ＩＰヘッダと、ＴＣＰヘッダ（またはＵＤＰヘッダ）、セッションヘッダ（ＲＴＰパケットのヘッダ）、セッションデータ部から構成されている。
【００７６】
図２の監視タイマ部５４は、複数のタイマを有しており、キャッシュテーブル５３の一時登録テーブル５３２に登録されたセッション情報を監視するために利用される。監視タイマ部５４内の各タイマは、一時登録テーブル５３２にＲＴＰセッションモニタ部１３により起動（クリア＆スタート）され、予め決められた時間に到達するとタイマ割込み発生する。なお、タイマが起動される場合に一時登録テーブル５３に登録したセッション情報と対応が取れるようにタイマ識別番号が一時登録テーブル５３に登録される。
【００７７】
図２のＲＴＰセッションモニタ部１３は、監視タイマ部５４のタイマを起動することで、キャッシュテーブル５３の一時登録テーブル５３２に登録されたセッション情報を監視する。監視タイマ５４のタイマが予め決められた時間になる（タイムアウトになる）と、一時登録テーブル５３２に登録されている監視対象となったセッション情報（タイマ識別番号に対応するセッション情報）を消去する。
【００７８】
プロトコルスタック部３とＱｏＳミドル部１とのプログラムインタフェースは、ＮＤＩＳ（３ＣＯＭとマイクロソフトによって共同開発されたデバイスドライバのインタフェースであって、Ｎｅｔｗｏｒｋ　Ｄｒｉｖｅｒ　Ｉｎｔｅｒｆａｃｅ　Ｓｐｅｃｉｆｉｃａｔｉｏｎの略）インタフェースまたはソケットインタフェースである。また、ＱｏＳミドル部１とデバイスドライバ部２とのインタフェースは、ＮＤＩＳインタフェースまたはソケットインタフェースである。
【００７９】
図２の擬似プロトコルスタック１４は、デバイスドライバ部２からＱｏＳミドル部１に受信要求がある場合に、プロトコルスタック部３とのプログラムインタフェースであるＮＤＩＳインタフェース（またはソケットインタフェース）の基で受信要求がデバイスドライバ２から行われるが、そのプログラムインタフェースの基で受信要求を受け取り、ＱｏＳミドル部１の受信部１２に直接受信要求を行う。
【００８０】
また、擬似プロトコルスタック１４は、ＱｏＳ部１の送信部１１からのデバイス部２への送信要求を行う場合に送信部１１から送信要求を受け取ってデバイスドライバ部２に対してプロトコルスタック部３とのプログラムインタフェースであるＮＤＩＳインタフェース（またはソケットインタフェース）の基で送信要求を行う。
【００８１】
次に、図２〜図９を参照して、本発明の第１の実施の形態の動作について説明する。
【００８２】
ここでは、ＶｏＩＰの音声やＴＶ会議のビデオ情報を通信するＲＴＰ（Ｒｅａｌ−ｔｉｍｅ　Ｔｒａｎｓｐｏｒｔ　Ｐｒｏｔｏｃｏｌ）フレームの確認をし、そのデータの送信待ちまたは受信待ちの処理順位を上げる一例である。この場合は、連続して無線ＬＡＮ９０１にＲＴＰフレームが流れることになる。通常ＲＴＰと判断するにはＴＣＰ／ＩＰ等ＯＳＩ３層以上のプロトコルスタックからの受信データを受けたことを起点に、ＲＴＰフレームの確認を予め定めたキャッシュテーブルの情報と比較をＯＳＩ第２層から５層の情報比較で行うことが考えられるが、ここではＯＳＩ第４層までの予め定めた情報で比較し、５層以上のフレーム解析を行う手順を省き高速化している点が特徴となっている例である。この場合、送信するＲＴＰパケットおよび受信するＲＴＰパケットのフレームのセッション情報は、予めキャッシュテーブル５３に初期登録テーブル５３１に設定されているものとする。なお、この初期登録テーブル５３１には、ＲＴＰパケットのセッション情報に限定するものではなく、ＲＴＰの制御情報のパケットが含まれても良いし、ＲＴＰ以外のデータ通信でも良い。
【００８３】
先ず、ＱｏＳミドル部１は、上位のプロトコルスタック部３からの情報受信（ＲＴＰパケットの送信要求）を起点にフレームの優先度確認が行われる。
【００８４】
プロトコルスタック部３から送信要求を受けたＱｏＳミドル部１が送信部１１に制御を渡すと、送信部１１のヘッダ比較部１１１は、フレーム内の各ヘッダ情報から送信先および送信元のポート番号と、送信先および送信元のＩＰアドレスと、プロトコル番号と、送信先および送信元のＭＡＣアドレスとを抽出したセッション情報がキャッシュテーブル５３の一時登録テーブル５３２に登録されているかの確認を行う（図４のステップＳ１０１，Ｓ１０２）。
【００８５】
ステップＳ１０２において、一時登録テーブル５３２に登録されていない場合（最初に送信または受信するＲＴＰフレームのセッション情報は登録されていない）、送信部１１のヘッダ比較部１１１は、フレーム内の各ヘッダ情報から送信先または送信元のポート番号と、送信先または送信元のＩＰアドレスと、プロトコル番号と、送信先または送信元のＭＡＣアドレスとを抽出したセッション情報がキャッシュテーブル５３の初期登録テーブル５３１に登録されているかの確認を行う（図４のステップＳ１０３，Ｓ１０４）。
【００８６】
ステップＳ１０４において、初期登録テーブル５３１に登録されているので、送信部１１のヘッダ比較部１１１は、送信するフレームがＯＳＩ第５層であるＲＴＰパケットのヘッダエリアに相当するヘッダ情報が予め決められた情報（キャッシュテーブル５３のアプリケーションパケットの種別欄にＲＴＰパケットを示すパターンで予め登録されている）であるかを確認することでＲＴＰパケットかどうかの確認を行う（ステップＳ１０５，Ｓ１０６）。
【００８７】
ステップＳ１０６において、ＲＴＰパケットであれば、送信部１１のヘッダ比較部１１１は、送信するフレーム内の各ヘッダ情報から抽出した送信先および送信元のポート番号、送信先および送信元のＩＰアドレス、プロトコル番号、送信先および送信元のＭＡＣアドレスを１つのセッション情報として一時登録テーブル５３２に登録すると共に、ＲＴＰセッションモニタ部１３に監視タイマ部５４のタイマを起動（リセット＆スタート）させる（ステップＳ１０７，Ｓ１０８）。
【００８８】
この場合のＲＴＰセッションモニタ部１３は、起動する監視タイマ部５４のタイマのタイマ識別番号を一時登録テーブル５３２内のステップＳ１０７で登録したセッション情報に該当するエリアに登録し、監視タイマ部５４のタイマを起動することになる（図８のステップＳ３０１，Ｓ３０２）。
【００８９】
監視タイマ部５４のタイマを起動させた後、送信部１１のヘッダ比較部１１１は、送信要求を送信事象として高位送信ＦＩＦＯ５１１に振り分けてキューイングする（図４のステップＳ１０９）。なお、送信事象には、送信要求の識別情報、共有バッファ部５５内の格納場所、中継するフレームのレングス情報が含まれている。
【００９０】
なお、ステップＳ１０６において、ＲＴＰパケットでなければ、送信部１１のヘッダ比較部１１１は、送信要求を送信事象として低位送信ＦＩＦＯ５１２に振り分けてキューイングする（ステップＳ１１１）。
【００９１】
なお、ステップＳ１０４において、初期登録テーブル５３１に登録されていない場合には、送信部１１のヘッダ比較部１１１は、送信要求を送信事象として低位送信ＦＩＦＯ５１２に振り分けてキューイングする（ステップＳ１１１）。
【００９２】
一方、送信部１１の合成部１１２は、無線ＬＡＮデバイスドライバ４１が送信中でなければ（空き状態あれば）、送信ＦＩＦＯ部５１にキューイングされているかのチェックを行い、キューイングされていれば、送信ＦＩＦＯの識別を行う（図５のステップＳ１２１〜Ｓ１２４）。空き状態として、送信中でなければとしたが、送信するデータの残りの量を見てから送信部１１の合成部１１２が動作するようにしても良い。すなわち、送信するデータの残りの量を見てから送信部１１の合成部１１２が動作するようにすれば、送信待ちとなっている送信要求を送信待ち時間を利用して優先順位に合わせて並べなおして待機することになる。
【００９３】
ステップＳ１２４において、送信部１１の合成部１１２は、高位送信ＦＩＦＯ５１１にキューイングしていれば、無条件に高位送信ＦＩＦＯ５１１から読み出した送信事象を基に擬似プロトコルスタック部１４に送信要求を行い、高位送信ＦＩＦＯ５１１にキューイングしていなければ、低位送信ＦＩＦＯ５１２から読み出した送信事象を基に擬似プロトコルスタック１４に送信要求を行う（ステップＳ１２５，Ｓ１２６）。
【００９４】
送信要求を受けた擬似プロトコルスタック１４は、送信事象を基にＮＤＩＳインタフェース（またはソケットインタフェース）に従った送信要求をデバイスドライバ部２に行う。
【００９５】
送信部１１の合成部１１２から送信要求を受けたデバイスドライバ部２は、送信要求を基に無線ＬＡＮインタフェース部４に共有バッファ部５５の該当するバッファからフレームを無線ＬＡＮ９０１へ送信させる。
【００９６】
このようにして最初のＲＴＰパケットを送信した後、プロトコルスタック部３は、同じ装置宛に連続するＲＴＰパケットを送るために、ＱｏＳミドル部１にＲＴＰパケットの送信要求を行う。
【００９７】
プロトコルスタック部３から送信要求を受けたＱｏＳミドル部１が送信部１１に制御を渡すと、送信部１１のヘッダ比較部１１１は、フレーム内の各ヘッダ情報から送信先および送信元のポート番号と、送信先および送信元のＩＰアドレスと、プロトコル番号と、送信先および送信元のＭＡＣアドレスとを抽出したセッション情報がキャッシュテーブル５３の一時登録テーブル５３２に登録されているかの確認を行う（図４のステップＳ１０１，Ｓ１０２）。
【００９８】
ステップＳ１０２において、一時登録テーブル５３２に登録されているので、ヘッダ比較部１１１は、ＲＴＰセッションモニタ部１３に対して監視タイマ部５４のタイマを再起動（リセット＆リスタート）させると共に、送信要求を高位送信ＦＩＦＯ５１１に振り分けてキューイングする（ステップＳ１１０，Ｓ１０９）。
【００９９】
この場合のＲＴＰセッションモニタ部１３は、起動する監視タイマ部５４のタイマのタイマ識別番号を一時登録テーブル５３２から抽出して監視タイマ部５４のタイマ（抽出したタイマ識別番号のタイマ）を再起動（リセット＆リスタート）することになる（図８のステップＳ３１１）。
【０１００】
一方、送信部１１の合成部１１２は、無線ＬＡＮデバイスドライバ４１が送信中でなければ（空き状態あれば）、送信ＦＩＦＯ部５１にキューイングされているかのチェックを行い、キューイングされていれば、送信ＦＩＦＯの識別を行う（図５のステップＳ１２１〜Ｓ１２４）。
【０１０１】
ステップＳ１２４において、送信部１１の合成部１１２は、高位送信ＦＩＦＯ５１１にキューイングされているので、無条件に高位送信ＦＩＦＯ５１１から読み出した送信事象を基に擬似プロトコルスタック１４に送信要求を行う（ステップＳ１２５）。
【０１０２】
擬似プロトコルスタック部１４から送信要求を受けたデバイスドライバ部２は、送信要求を基に無線ＬＡＮインタフェース部４に共有バッファ部５５の該当するバッファからフレームを無線ＬＡＮ９０１へ送信させる。
【０１０３】
やがて、同じ装置宛への連続するＲＴＰパケットの送信が予め決められた時間なかった場合には、監視タイマ部５４の該当するタイマがタイムアウトを起こす。すると、ＲＴＰセッションモニタ部１３は、一時登録テーブル５３２に登録したセッション情報（タイムアウトを起こしたタイマ識別番号に該当するセッション情報）を消去する（図８のステップＳ３２１）。
【０１０４】
このように、同じ装置宛へのＲＴＰパケットが連続する場合には、キャッシュテーブル５３の一時登録テーブル５３２にセッション情報が登録されているため、ＯＳＩ第２層〜ＯＳＩ第４層までの各ヘッダ情報から抽出したセッション情報を基に一時登録テーブル５３２の登録の有無を確認するだけで、処理のかかるＲＴＰのヘッダ情報まで確認する必要がなく、更に、優先順位の高いキュー（高位送信ＦＩＦＯ５１１）にキューイングし、優先順位の高いキューから送信要求を行うようにしているため、高速処理ができる。
【０１０５】
次に無線ＬＡＮ９０１から無線ＬＡＮインタフェース部４がＲＴＰパケットの乗ったフレームを受信すると、デバイスドライバ部２は、無線ＬＡＮインタフェース部４に対して共有バッファ部５５に受信したフレームを格納させ、格納させ終わると、ＱｏＳミドル部１にＮＤＩＳインタフェース（またはソケットインタフェース）に従ったフレームの受信要求を行う。
【０１０６】
デバイスドライバ部２から受信要求を受けたＱｏＳミドル部１が擬似プロトコルスタック部１４に制御を渡すと、擬似スタックプロトコル部１４は、受信部１２に送信要求を行う（図９のステップＳ４１１）。
【０１０７】
すると、受信部１２のヘッダ比較部１２１は、フレーム内の各ヘッダ情報から送信先および送信元のポート番号と、送信先および送信元のＩＰアドレスと、プロトコル番号と、送信先および送信元のＭＡＣアドレスとを抽出したセッション情報がキャッシュテーブル５３の一時登録テーブル５３２に登録されているかの確認を行う（図６のステップＳ２０１，Ｓ２０２）。
【０１０８】
ステップＳ２０２において、一時登録テーブル５３２に登録されていない場合（最初に送信または受信するＲＴＰフレームのセッション情報は登録されていない）、受信部１２のヘッダ比較部１２１は、フレーム内の各ヘッダ情報から送信先または送信元のポート番号と、送信先または送信元のＩＰアドレスと、プロトコル番号と、送信先または送信元のＭＡＣアドレスとを抽出したセッション情報がキャッシュテーブル５３の初期登録テーブル５３１に登録されているかの確認を行う（図６のステップＳ２０３，Ｓ２０４）。
【０１０９】
ステップＳ２０４において、初期登録テーブル５３１に登録されているので、受信部１２のヘッダ比較部１２１は、受信したフレームがＯＳＩ第５層であるＲＴＰパケットのヘッダエリアに相当するヘッダ情報が予め決められた情報であるかを確認することでＲＴＰパケットかどうかの確認を行う（ステップＳ２０５，Ｓ２０６）。
【０１１０】
ステップＳ２０６において、ＲＴＰパケットであれば、受信部１２のヘッダ比較部１２１は、受信したフレーム内の各ヘッダ情報から抽出した送信先および送信元のポート番号、送信先および送信元のＩＰアドレス、プロトコル番号、送信先および送信元のＭＡＣアドレスを１つのセッション情報として一時登録テーブル５３２に登録すると共に、ＲＴＰセッションモニタ部１３に監視タイマ部５４のタイマを起動（リセット＆スタート）させる（ステップＳ２０７，Ｓ２０８）。
【０１１１】
この場合のＲＴＰセッションモニタ部１３は、起動する監視タイマ部５４のタイマのタイマ識別番号を一時登録テーブル５３２内のステップＳ２０７で登録したセッション情報に該当するエリアに登録し、監視タイマ部５４のタイマを起動することになる（図８のステップＳ３０１，Ｓ３０２）。
【０１１２】
監視タイマ部５４のタイマを起動させた後、受信部１２のヘッダ比較部１２１は、送信要求を送信事象として高位受信ＦＩＦＯ５２１に振り分けてキューイングする（図６のステップＳ２０９）。なお、受信事象には、受信要求の識別情報、共有バッファ部５５内の格納場所、受信したフレームのレングス情報が含まれている。
【０１１３】
なお、ステップＳ２０６において、ＲＴＰパケットでなければ、受信部１２のヘッダ比較部１２１は、送信要求を送信事象として低位受信ＦＩＦＯ５２２に振り分けてキューイングする（ステップＳ２１１）。
【０１１４】
なお、ステップＳ２０４において、初期登録テーブル５３１に登録されていない場合には、受信部１２のヘッダ比較部１２１は、受信要求を送信事象として低位受信ＦＩＦＯ５２２に振り分けてキューイングする（ステップＳ２１１）。
【０１１５】
一方、受信部１２の合成部１２２は、プロトコルスタック部３が処理中でなければ（空き状態あれば）、受信ＦＩＦＯ部５２にキューイングされているかのチェックを行い、キューイングされていれば、受信ＦＩＦＯの識別を行う（図５のステップＳ２２１〜Ｓ２２４）。
【０１１６】
ステップＳ２２４において、受信部１２の合成部１２２は、高位受信ＦＩＦＯ５２１にキューイングしていれば、無条件に高位受信ＦＩＦＯ５２１から読み出した受信事象を基にプロトコルスタック部３に受信要求を行い、高位受信ＦＩＦＯ５２１にキューイングしていなければ、低位受信ＦＩＦＯ５２２から読み出した受信事象を基にＮＤＩＳインタフェース（またはソケットインタフェース）に従ってプロトコルスタック３に受信要求を行う（ステップＳ２２５，Ｓ２２６）。
【０１１７】
受信要求を受けたプロトコルスタック２は、受信要求を基にＯＳＩ３層以上の通信プロトコルに基づいた制御を行う。
【０１１８】
このようにして最初のＲＴＰパケットを受信した後、デバイスドライバ部２は、同じ装置から連続するＲＴＰパケットを受信する毎に、ＱｏＳミドル部１にＲＴＰパケットの受信要求を行う。
【０１１９】
すなわち、無線インタフェース部４がＲＴＰパケットの乗ったフレームを受信すると、デバイスドライバ部２は、無線ＬＡＮインタフェース部４に対して共有バッファ部５５に受信したフレームを格納させ、格納させ終わると、ＱｏＳミドル部１に対してＮＤＩＳインタフェース（またはソケットインタフェース）に従ったフレームの受信要求を行う。
【０１２０】
デバイスドライバ部２から受信要求を受けたＱｏＳミドル部１が擬似プロトコルスタック部１４に制御を渡すと、擬似スタックプロトコル部１４は、受信部１２に受信要求を行う（図９のステップＳ４１１）。
【０１２１】
すると、受信部１２のヘッダ比較部１１１は、フレーム内の各ヘッダ情報から送信先および送信元のポート番号と、送信先および送信元のＩＰアドレスと、プロトコル番号と、送信先および送信元のＭＡＣアドレスとを抽出したセッション情報がキャッシュテーブル５３の一時登録テーブル５３２に登録されているかの確認を行う（図４のステップＳ２０１，Ｓ２０２）。
【０１２２】
ステップＳ２０２において、一時登録テーブル５３２に登録されているので、ヘッダ比較部１２１は、ＲＴＰセッションモニタ部１３に対して監視タイマ部５４のタイマを再起動（リセット＆リスタート）させると共に、受信要求を高位送信ＦＩＦＯ５２１に振り分けてキューイングする（ステップＳ２１０，Ｓ２０９）。
【０１２３】
この場合のＲＴＰセッションモニタ部１３は、起動する監視タイマ部５４のタイマのタイマ識別番号を一時登録テーブル５３２から抽出して監視タイマ部５４のタイマ（抽出したタイマ識別番号のタイマ）を再起動（リセット＆リスタート）することになる（図８のステップＳ３１１）。
【０１２４】
一方、受信部１２の合成部１２２は、プロトコルスタック部３が処理中でなければ（空き状態あれば）、受信ＦＩＦＯ部５２にキューイングされているかのチェックを行い、キューイングされていれば、受信ＦＩＦＯの識別を行う（図５のステップＳ２２１〜Ｓ２２４）。
【０１２５】
ステップＳ２２４において、受信部１２の合成部１２２は、高位受信ＦＩＦＯ５２１にキューイングされているので、無条件に高位受信ＦＩＦＯ５２１から読み出した受信事象を基にプロトコルスタック部３に受信要求を行う（ステップＳ２２５）。
【０１２６】
受信部１２の合成部１２２から受信要求を受けたプロトコルスタック部３は、受信要求を基にＯＳＩ３層以上の通信プロトコルに基づいた制御を行う。
【０１２７】
やがて、同じ装置からの連続するＲＴＰパケットの受信が予め決められた時間なかった場合には、監視タイマ部５４の該当するタイマがタイムアウトを起こす。すると、ＲＴＰセッションモニタ部１３は、一時登録テーブル５３２に登録したセッション情報（タイムアウトを起こしたタイマ識別番号に該当するセッション情報）を消去する（図８のステップＳ３２１）。
【０１２８】
なお、上記の第１の実施の形態では、ＲＴＰパケットについて説明したが、ＲＴＰパケット以外のＯＳＩ第５層以上の通信プロトコルを持った特定のパケットについても同じように動作し、本発明に含まれることは言うまでもない。
【０１２９】
また、上記説明において、ＲＴＰセッションモニタ部１３は、セッション毎に監視タイマ部５４のタイマを１つ割り当て使用したが、１つのタイマを利用して各セッションの時間を監視するようにしても良い。この場合は、例えば、タイマを一定間間（例えば、１ｍｓ）ごとに割り込むようにＲＴＰセッションモニタ部１３に割り込むようにしておく。キャッシュテーブル５３の一時登録テーブル５３２にセッション情報が登録されるごとに、ＲＴＰセッションモニタ部１３がステップＳ１０８（受信の場合は、ステップＳ２０８）により時間をカウントするエリア（カウントエリア）を確保し、タイマ割り込みが起こると、登録されているカウントエリアを＋１ずつカウントアップし、ステップＳ１１０（受信の場合はＳ２１０）によりクリアする。ＲＴＰセッションモニタ部１３は、タイマ割り込みでカウンタエリアが予め決められた値になれば、その該当するセッション情報を消去する。
【０１３０】
以上説明したように、同じ装置からのＲＴＰパケットが連続する場合には、キャッシュテーブル５３の一時登録テーブル５３２にセッション情報が登録されているため、ＯＳＩ第２層〜ＯＳＩ第４層までの各ヘッダ情報から抽出したセッション情報を基に一時登録テーブル５３２の登録の有無を確認するだけで、処理のかかるＲＴＰのヘッダ情報まで確認する必要がなく、更に、優先順位の高いキュー（高位受信ＦＩＦＯ５２１）にキューイングし、優先順位の高いキューから送信要求を行うようにしているため、高速処理ができる。
【０１３１】
すなわち、上位の通信プロトコルに基づいた動作を行うプロトコルスタック部３とデバイスドライバ部２との間にＦＩＦＯによる優先処理を行うＱｏＳミドル部１を設けるようにしたため、優先度の高い通信データの無線ＬＡＮ９０１への送信待ちおよび優先度の高い通信データのプロトコルスタック部３への受信待ちになる現象を軽減することができる。
【０１３２】
また、一回目のＲＴＰパケットのセッション情報をキャッシュテーブル５３の一時登録テーブル５３２に登録したら、以降セッションが切れるまで、一時登録テーブル５３２に登録したセッション情報が使われなくなるまで見なしでＲＴＰストリーム（連続したＲＴＰフレーム）とみなせているため、優先順位の高い特定のパケットに対するプロトコルスタックの受信処理または／およびデバイスドライバの送信処理を出来る限り待たせることなく優先させることができる。
【０１３３】
また、高速制御を行うＱｏＳミドル部１をプロトコルスタック部３とデバイスドライバ部２との間に入れても、擬似プロトコルスタック部１４を設けたので、デバイスドライバ部２およびプロトコルスタック部３とのインタフェースを特別なインタフェースに置き換えることなく、従来通りのインタフェースのままで高速化することができる。
【０１３４】
また、送信ＦＩＦＯ部５１および受信ＦＩＦＯ部５２の各ＦＩＦＯを無線端末装置に標準として搭載されているメモリ（例えば、ＲＡＭ）内に割り当てれば、ＱｏＳミドル部１のプログラムをインストールするようにすれば、現状の環境をそのまま生かしてＱｏＳが提供され、かつ、待ちを考慮したＱｏＳ対応のハードウェアを新たに購入しなくてよい費用効果も得られる。
【０１３５】
また、高速制御を行うＱｏＳミドル部６をプロトコルスタック部３とデバイスドライバ部７との間に入れても、擬似プロトコルスタック部１４を設けたので、デバイスドライバ部７およびプロトコルスタック部３とのインタフェースを特別なインタフェースに置き換えることなく、従来通りのインタフェースのままで高速化することができる。
【０１３６】
次に、本発明の第２の実施の形態について、図面を参照して説明する。
【０１３７】
図１０を参照すると、本発明の第２の実施の形態例としてＩＥＥＥ８０２．１１標準の無線ＬＡＮである無線ＬＡＮ９０１を介して他装置と通信を行う無線端末装置内のブロック図を示している。無線端末装置は、ＱｏＳミドル部６と、ＯＳＩ第３層以上の通信プロトコルに基づいて他装置と通信の制御を行うプロトコルスタック部３と、無線ＬＡＮ９０１におけるデータリンク層の通信プロトコルにより相手とデータのやり取りを行うデバイスドライバ部７と、デバイスドライバ部７の制御の下で無線ＬＡＮの物理層の通信プロトコルによるデータのやり取りを行う無線ＬＡＮインタフェース部４と、複数のＦＩＦＯを有する送信ＦＩＦＯ部５１と、複数のＦＩＦＯを有する受信ＦＩＦＯ部５２と、キャッシュテーブル５３と、監視タイマ部５４と、共有バッファ部５５とから構成される。この場合のＱｏＳミドル部６およびデバイスドライバ部７は、図示していないプロセッサ（ＣＰＵ）によりプログラム制御で動作する機能ブロックである。なお、ＱｏＳミドル部６およびデバイスドライバ部７を有する無線ＬＡＮドライバ部９１２が無線ＬＡＮインタフェース部４を制御する無線ＬＡＮドライバとして扱われる。また、図１の無線端末装置には、その他図以外の機能ブロックおよびハードウェアも搭載しているが、説明都合上省略している。
【０１３８】
第１の実施の形態例と比較すると、第２の実施の形態は、擬似プロトコルスタック部１４をＱｏＳミドル部１から削除したため、ＱｏＳミドル部１をＱｏＳミドル部６に、デバイスドライバ部２をデバイスドライバ部７にした点で、第１の実施の形態と相違する。すなわち、ＮＤＩＳインタフェースまたはソケットインタフェースを利用しないで、直接、デバイスドライバ部２とＱｏＳミドル部６との間でやり取りを行うことで更なる高速化を行っている。なお、プロトコルスタック３とＱｏＳミドル部６との間のインタフェースは、従来の互換性を保つために、ＮＤＩＳインタフェース、ソケットインタフェース等の標準的なインタフェースが利用される。
【０１３９】
図１０のＱｏＳミドル部６は、無線ＬＡＮ９０１へのフレームの送信時における送信要求の優先制御（優先処理）を行う送信部６１と、無線ＬＡＮ９０１からのフレームの受信時における受信要求の優先制御（優先処理）を行う受信部６２と、セッション情報（接続情報）を監視するＲＴＰセッションモニタ部１３とから構成される。
【０１４０】
図１０の送信部６１は、フレームの送信要求を中継する場合にキャッシュテーブル５３のセッション情報に合わせて送信するフレーム内の各ヘッダ情報から抽出したセッション情報を比較し優先順位のＦＩＦＯを持つ送信ＦＩＦＯ部５１へ送信要求（送信事象）を振り分けるヘッダ比較部６１１と、送信ＦＩＦＯ部５１からの出力データ（送信事象）を合成（送信ＦＩＦＯ部５１内の送信ＦＩＦＯの識別を行う）してデバイスドライバ部７に出力する合成部６１２とから構成される。
【０１４１】
図１０の受信部６２は、フレームの受信要求を中継する場合にキャッシュテーブル５３の情報に合わせて受信したフレーム内の各ヘッダ情報から抽出したセッション情報を比較し予め定められた優先順位を持つ受信ＦＩＦＯ部５２へ受信要求（受信事象）を振り分けるヘッダ比較部６２１と、受信ＦＩＦＯ部５２からの出力データ（受信事象）を合成（受信ＦＩＦＯ部５２内の受信ＦＩＦＯの識別を行う）してプロトコルスタック部３に出力する合成部６２２とから構成される。
【０１４２】
なお、その他の構成の詳細な説明については、第１の実施の形態と同じなので説明を省略する。また、図１０中において、第１の実施の形態と同じ機能を示すブロックは、図１０のブロックに付与した符号と同じ符号を付与している。
【０１４３】
次に、図３、図８、図１０〜図１４を参照して、本発明の第２の実施の形態の動作について説明する。
【０１４４】
ここでは、ＶｏＩＰの音声やＴＶ会議のビデオ情報を通信するＲＴＰ（Ｒｅａｌ−ｔｉｍｅ　Ｔｒａｎｓｐｏｒｔ　Ｐｒｏｔｏｃｏｌ）フレームの確認をし、そのデータの処理順位を上げる一例である。この場合は、連続して無線ＬＡＮ９０１にＲＴＰフレームが流れることになる。通常ＲＴＰと判断するにはＴＣＰ／ＩＰ等ＯＳＩ３層以上のプロトコルスタックからの受信データを受けたことを起点に、ＲＴＰフレームの確認を予め定めたキャッシュテーブルの情報と比較をＯＳＩ第２層から５層の情報比較で行うことが考えられるが、ここではＯＳＩ第４層までの予め定めた情報で比較し、５層以上のフレーム解析を行う手順を省き高速化している点が特徴となっている例である。この場合、送信するＲＴＰパケットおよび受信するＲＴＰパケットのフレームのセッション情報は、予めキャッシュテーブル５３に初期登録テーブル５３１に設定されているものとする。なお、この初期登録テーブル５３１には、ＲＴＰパケットのセッション情報に限定するものではなく、ＲＴＰの制御情報のパケットが含まれても良いし、ＲＴＰ以外のデータ通信でも良い。
【０１４５】
先ず、ＱｏＳミドル部６は、上位のプロトコルスタック部３からの情報受信（ＲＴＰパケットの送信要求）を起点にフレームの優先度確認が行われる。
【０１４６】
プロトコルスタック部３から送信要求を受けたＱｏＳミドル部６が送信部６１に制御を渡すと、送信部６１のヘッダ比較部６１１は、フレーム内の各ヘッダ情報から送信先および送信元のポート番号と、送信先および送信元のＩＰアドレスと、プロトコル番号と、送信先および送信元のＭＡＣアドレスとを抽出したセッション情報がキャッシュテーブル５３の一時登録テーブル５３２に登録されているかの確認を行う（図１１のステップＳ５０１，Ｓ５０２）。
【０１４７】
ステップＳ５０２において、一時登録テーブル５３２に登録されていない場合（最初に送信または受信するＲＴＰフレームのセッション情報は登録されていない）、送信部６１のヘッダ比較部６１１は、フレーム内の各ヘッダ情報から送信先または送信元のポート番号と、送信先または送信元のＩＰアドレスと、プロトコル番号と、送信先または送信元のＭＡＣアドレスとを抽出したセッション情報がキャッシュテーブル５３の初期登録テーブル５３１に登録されているかの確認を行う（図１１のステップＳ５０３，Ｓ５０４）。
【０１４８】
ステップＳ５０４において、初期登録テーブル５３１に登録されているので、送信部６１のヘッダ比較部６１１は、送信するフレームがＯＳＩ第５層であるＲＴＰパケットのヘッダエリアに相当するヘッダ情報が予め決められた情報であるかを確認することでＲＴＰパケットかどうかの確認を行う（ステップＳ５０５，Ｓ５０６）。
【０１４９】
ステップＳ５０６において、ＲＴＰパケットであれば、送信部６１のヘッダ比較部６１１は、送信するフレーム内の各ヘッダ情報から抽出した送信先および送信元のポート番号、送信先および送信元のＩＰアドレス、プロトコル番号、送信先および送信元のＭＡＣアドレスを１つのセッション情報として一時登録テーブル５３２に登録すると共に、ＲＴＰセッションモニタ部１３に監視タイマ部５４のタイマを起動（リセット＆スタート）させる（ステップＳ５０７，Ｓ５０８）。
【０１５０】
この場合のＲＴＰセッションモニタ部１３は、起動する監視タイマ部５４のタイマのタイマ識別番号を一時登録テーブル５３２内のステップＳ５０７で登録したセッション情報に該当するエリアに登録し、監視タイマ部５４のタイマを起動することになる（図８のステップＳ３０１，Ｓ３０２）。
【０１５１】
監視タイマ部５４のタイマを起動させた後、送信部６１のヘッダ比較部６１１は、送信要求を送信事象として高位送信ＦＩＦＯ５１１に振り分けてキューイングする（図１１のステップＳ５０９）。なお、送信事象には、送信要求の識別情報、共有バッファ部５５内の格納場所、中継するフレームのレングス情報が含まれている。
【０１５２】
なお、ステップＳ５０６において、ＲＴＰパケットでなければ、送信部６１のヘッダ比較部６１１は、送信要求を送信事象として低位送信ＦＩＦＯ５１２に振り分けてキューイングする（ステップＳ５１１）。
【０１５３】
なお、ステップＳ５０４において、初期登録テーブル５３１に登録されていない場合には、送信部６１のヘッダ比較部６１１は、送信要求を送信事象として低位送信ＦＩＦＯ５１２に振り分けてキューイングする（ステップＳ５１１）。
【０１５４】
一方、送信部６１の合成部６１２は、無線ＬＡＮデバイスドライバ４１が送信中でなければ（空き状態あれば）、送信ＦＩＦＯ部５１にキューイングされているかのチェックを行い、キューイングされていれば、送信ＦＩＦＯの識別を行う（図１２のステップＳ５２１〜Ｓ５２４）。
【０１５５】
ステップＳ５２４において、送信部６１の合成部６１２は、高位送信ＦＩＦＯ５１１にキューイングしていれば、無条件に高位送信ＦＩＦＯ５１１から読み出した送信事象を基に擬似プロトコルスタック部１４に送信要求を行い、高位送信ＦＩＦＯ５１１にキューイングしていなければ、低位送信ＦＩＦＯ５１２から読み出した送信事象を基にデバイスドライバ部７に送信要求を行う（ステップＳ５２５，Ｓ５２６）。
【０１５６】
ＱｏＳミドル部６から送信要求を受けたデバイスドライバ部７は、送信要求を基に無線ＬＡＮインタフェース部４に共有バッファ部５５の該当するバッファからフレームを無線ＬＡＮ９０１へ送信させる。
【０１５７】
このようにして最初のＲＴＰパケットを送信した後、プロトコルスタック部３は、同じ装置宛に連続するＲＴＰパケットを送るために、ＱｏＳミドル部６にＲＴＰパケットの送信要求を行う。
【０１５８】
プロトコルスタック部３から送信要求を受けたＱｏＳミドル部６が送信部６１に制御を渡すと、送信部６１のヘッダ比較部６１１は、フレーム内の各ヘッダ情報から送信先および送信元のポート番号と、送信先および送信元のＩＰアドレスと、プロトコル番号と、送信先および送信元のＭＡＣアドレスとを抽出したセッション情報がキャッシュテーブル５３の一時登録テーブル５３２に登録されているかの確認を行う（図１１のステップＳ５０１，Ｓ５０２）。
【０１５９】
ステップＳ５０２において、一時登録テーブル５３２に登録されているので、ヘッダ比較部６１１は、ＲＴＰセッションモニタ部１３に対して監視タイマ部５４のタイマを再起動（リセット＆リスタート）させると共に、送信要求を高位送信ＦＩＦＯ５１１に振り分けてキューイングする（ステップＳ５１０，Ｓ５０９）。
【０１６０】
この場合のＲＴＰセッションモニタ部１３は、起動する監視タイマ部５４のタイマのタイマ識別番号を一時登録テーブル５３２から抽出して監視タイマ部５４のタイマ（抽出したタイマ識別番号のタイマ）を再起動（リセット＆リスタート）することになる（図８のステップＳ３１１）。
【０１６１】
一方、送信部６１の合成部６１２は、無線ＬＡＮデバイスドライバ４１が送信中でなければ（空き状態あれば）、送信ＦＩＦＯ部５１にキューイングされているかのチェックを行い、キューイングされていれば、送信ＦＩＦＯの識別を行う（図１２のステップＳ５２１〜Ｓ５２４）。
【０１６２】
ステップＳ５２４において、送信部６１の合成部６１２は、高位送信ＦＩＦＯ５１１にキューイングされているので、無条件に高位送信ＦＩＦＯ５１１から読み出した送信事象を基にデバイスドライバ部７に送信要求を行う（ステップＳ５２５）。
【０１６３】
ＱｏＳミドル部６から送信要求を受けたデバイスドライバ部７は、送信要求を基に無線ＬＡＮインタフェース部４に共有バッファ部５５の該当するバッファからフレームを無線ＬＡＮ９０１へ送信させる。
【０１６４】
やがて、同じ装置宛への連続するＲＴＰパケットの送信が予め決められた時間なかった場合には、監視タイマ部５４の該当するタイマがタイムアウトを起こす。すると、ＲＴＰセッションモニタ部１３は、一時登録テーブル５３２に登録したセッション情報（タイムアウトを起こしたタイマ識別番号に該当するセッション情報）を消去する（図８のステップＳ３２１）。
【０１６５】
なお、上記の第２の実施の形態では、ＲＴＰパケットについて説明したが、ＲＴＰパケット以外のＯＳＩ第５層以上の通信プロトコルを持った特定のパケットについても同じように動作し、本発明に含まれることは言うまでもない。
【０１６６】
このように、同じ装置宛へのＲＴＰパケットが連続する場合には、キャッシュテーブル５３の一時登録テーブル５３２にセッション情報が登録されているため、ＯＳＩ第２層〜ＯＳＩ第４層までの各ヘッダ情報から抽出したセッション情報を基に一時登録テーブル５３２の登録の有無を確認するだけで、処理のかかるＲＴＰのヘッダ情報まで確認する必要がなく、更に、優先順位の高いキュー（高位送信ＦＩＦＯ５１１）にキューイングし、優先順位の高いキューから送信要求を行うようにしているため、高速処理ができる。
【０１６７】
次に無線ＬＡＮ９０１からＲＴＰパケットが乗ったフレームを無線ＬＡＮインタフェース部４が受信すると、デバイスドライバ部７は、無線ＬＡＮインタフェース部４に対して共有バッファ部５５に受信したフレームを格納させ、格納させ終わると、ＱｏＳミドル部６にＮＤＩＳインタフェース（またはソケットインタフェース）に従ったフレームの受信要求を行う。
【０１６８】
デバイスドライバ部７から受信要求を受けたＱｏＳミドル部６が受信部６２に制御を渡すと、受信部６２のヘッダ比較部６２１は、フレーム内の各ヘッダ情報から送信先および送信元のポート番号と、送信先および送信元のＩＰアドレスと、プロトコル番号と、送信先および送信元のＭＡＣアドレスとを抽出したセッション情報がキャッシュテーブル５３の一時登録テーブル５３２に登録されているかの確認を行う（図１３のステップＳ６０１，Ｓ６０２）。
【０１６９】
ステップＳ６０２において、一時登録テーブル５３２に登録されていない場合（最初に送信または受信するＲＴＰフレームのセッションは登録されていない）、受信部６２のヘッダ比較部６２１は、フレーム内の各ヘッダ情報から送信先または送信元のポート番号と、送信先または送信元のＩＰアドレスと、プロトコル番号と、送信先または送信元のＭＡＣアドレスとを抽出したセッション情報がキャッシュテーブル５３の初期登録テーブル５３１に登録されているかの確認を行う（図１３のステップＳ６０３，Ｓ６０４）。
【０１７０】
ステップＳ６０４において、初期登録テーブル５３１に登録されているので、受信部６２のヘッダ比較部６２１は、受信したフレームがＯＳＩ第５層であるＲＴＰパケットのヘッダエリアに相当するヘッダ情報が予め決められた情報であるかを確認することでＲＴＰパケットかどうかの確認を行う（ステップＳ６０５，Ｓ６０６）。
【０１７１】
ステップＳ６０６において、ＲＴＰパケットであれば、受信部６２のヘッダ比較部６２１は、受信したフレーム内の各ヘッダ情報から抽出した送信先および送信元のポート番号、送信先および送信元のＩＰアドレス、プロトコル番号、送信先および送信元のＭＡＣアドレスを１つのセッション情報として一時登録テーブル５３２に登録すると共に、ＲＴＰセッションモニタ部１３に監視タイマ部５４のタイマを起動（リセット＆スタート）させる（ステップＳ６０７，Ｓ６０８）。
【０１７２】
この場合のＲＴＰセッションモニタ部１３は、起動する監視タイマ部５４のタイマのタイマ識別番号を一時登録テーブル５３２内のステップＳ６０７で登録したセッション情報に該当するエリアに登録し、監視タイマ部５４のタイマを起動することになる（図８のステップＳ３０１，Ｓ３０２）。
【０１７３】
監視タイマ部５４のタイマを起動させた後、受信部６２のヘッダ比較部６２１は、送信要求を送信事象として高位受信ＦＩＦＯ５２１に振り分けてキューイングする（図１３のステップＳ６０９）。なお、受信事象には、受信要求の識別情報、共有バッファ部５５内の格納場所、中継するフレームのレングス情報が含まれている。
【０１７４】
なお、ステップＳ６０６において、ＲＴＰパケットでなければ、受信部６２のヘッダ比較部６２１は、送信要求を送信事象として低位受信ＦＩＦＯ５２２に振り分けてキューイングする（ステップＳ６１１）。
【０１７５】
なお、ステップＳ６０４において、初期登録テーブル５３１に登録されていない場合には、受信部６２のヘッダ比較部６２１は、受信要求を送信事象として低位受信ＦＩＦＯ５２２に振り分けてキューイングする（ステップＳ６１１）。
【０１７６】
一方、受信部６２の合成部６２２は、プロトコルスタック部３が処理中でなければ（空き状態あれば）、受信ＦＩＦＯ部５２にキューイングされているかのチェックを行い、キューイングされていれば、受信ＦＩＦＯの識別を行う（図１４のステップＳ６２１〜Ｓ６２４）。
【０１７７】
ステップＳ６２４において、受信部６２の合成部６２２は、高位受信ＦＩＦＯ５２１にキューイングしていれば、無条件に高位受信ＦＩＦＯ５２１から読み出した受信事象を基にプロトコルスタック部３に受信要求を行い、高位受信ＦＩＦＯ５２１にキューイングしていなければ、低位受信ＦＩＦＯ５２２から読み出した受信事象を基にＮＤＩＳインタフェース（またはソケットインタフェース）に従ってプロトコルスタック３に受信要求を行う（ステップＳ６２５，Ｓ６２６）。
【０１７８】
受信要求を受けたプロトコルスタック２は、受信要求を基にＯＳＩ３層以上の通信プロトコルに基づいた制御を行う。
【０１７９】
このようにして最初のＲＴＰパケットを受信した後、デバイスドライバ部７は、同じ装置から連続するＲＴＰパケットを受信する毎に、ＱｏＳミドル部６にＲＴＰパケットの受信要求を行う。
【０１８０】
すなわち、無線インタフェース部４がＲＴＰパケットの乗ったフレームを受信すると、デバイスドライバ部７は、無線ＬＡＮインタフェース部４に対して共有バッファ部５５に受信したフレームを格納させ、格納させ終わると、ＱｏＳミドル部６に対してＮＤＩＳインタフェース（またはソケットインタフェース）に従ったフレームの受信要求を行う。
【０１８１】
デバイスドライバ部７から受信要求を受けたＱｏＳミドル部６が受信部６２に制御を渡すと、受信部６２のヘッダ比較部６１１は、フレーム内の各ヘッダ情報から送信先および送信元のポート番号と、送信先および送信元のＩＰアドレスと、プロトコル番号と、送信先および送信元のＭＡＣアドレスとを抽出したセッション情報がキャッシュテーブル５３の一時登録テーブル５３２に登録されているかの確認を行う（図１３のステップＳ６０１，Ｓ６０２）。
【０１８２】
ステップＳ６０２において、一時登録テーブル５３２に登録されているので、ヘッダ比較部６２１は、ＲＴＰセッションモニタ部１３に対して監視タイマ部５４のタイマを再起動（リセット＆リスタート）させると共に、受信要求を高位送信ＦＩＦＯ５２１に振り分けてキューイングする（ステップＳ６１０，Ｓ６０９）。
【０１８３】
この場合のＲＴＰセッションモニタ部１３は、起動する監視タイマ部５４のタイマのタイマ識別番号を一時登録テーブル５３２から抽出して監視タイマ部５４のタイマ（抽出したタイマ識別番号のタイマ）を再起動（リセット＆リスタート）することになる（図８のステップＳ３１１）。
【０１８４】
一方、受信部６２の合成部６２２は、プロトコルスタック部３が処理中でなければ（空き状態あれば）、受信ＦＩＦＯ部５２にキューイングされているかのチェックを行い、キューイングされていれば、受信ＦＩＦＯの識別を行う（図１４のステップＳ６２１〜Ｓ６２４）。
【０１８５】
ステップＳ６２４において、受信部６２の合成部６２２は、高位受信ＦＩＦＯ５２１にキューイングされているので、無条件に高位受信ＦＩＦＯ５２１から読み出した受信事象を基にプロトコルスタック部３に受信要求を行う（ステップＳ６２５）。
【０１８６】
受信部６２の合成部６２２から受信要求を受けたプロトコルスタック部３は、受信要求を基にＯＳＩ３層以上の通信プロトコルに基づいた制御を行う。
【０１８７】
やがて、同じ装置からの連続するＲＴＰパケットの受信が予め決められた時間なかった場合には、監視タイマ部５４の該当するタイマがタイムアウトを起こす。すると、ＲＴＰセッションモニタ部１３は、一時登録テーブル５３２に登録したセッション情報（タイムアウトを起こしたタイマ識別番号に該当するセッション情報）を消去する（図８のステップＳ３２１）。
【０１８８】
このように、同じ装置からのＲＴＰパケットが連続する場合には、キャッシュテーブル５３の一時登録テーブル５３２にセッション情報が登録されているため、ＯＳＩ第２層〜ＯＳＩ第４層までの各ヘッダ情報から抽出したセッション情報を基に一時登録テーブル５３２の登録の有無を確認するだけで、処理のかかるＲＴＰのヘッダ情報まで確認する必要がなく、更に、優先順位の高いキュー（高位受信ＦＩＦＯ５２１）にキューイングし、優先順位の高いキューから送信要求を行うようにしているため、高速処理ができる。
【０１８９】
すなわち、上位の通信プロトコルに基づいた動作を行うプロトコルスタック部３とデバイスドライバ部７との間にＦＩＦＯによる優先処理を行うＱｏＳミドル部６を設けるようにしたため、優先度の高い通信データの無線ＬＡＮ９０１への送信待ちおよび優先度の高い通信データのプロトコルスタック部３への受信待ちになる現象を軽減することができる。
【０１９０】
また、一回目のＲＴＰパケットのセッション情報をキャッシュテーブル５３の一時登録テーブル５３２に登録したら、以降セッションが切れるまで、一時登録テーブル５３２に登録したセッション情報が使われなくなるまで見なしでＲＴＰストリーム（連続したＲＴＰフレーム）とみなせているため、優先順位の高い特定のパケットに対するプロトコルスタックの受信処理または／およびデバイスドライバの送信処理を出来る限り待たせることなく優先させることができる。
【０１９１】
また、送信ＦＩＦＯ部５１および受信ＦＩＦＯ部５２の各ＦＩＦＯを無線端末装置に標準として搭載されているメモリ（例えば、ＲＡＭ）内に割り当てれば、ＱｏＳミドル部６およびデバイスドライバ部７のプログラムをインストールするようにすれば、現状の環境をそのまま生かしてＱｏＳが提供され、かつ、待ちを考慮したＱｏＳ対応のハードウェアを新たに購入しなくてよい費用効果も得られる。
【０１９２】
次に、本発明の第３の実施の形態について、図面を参照して説明する。
【０１９３】
図１５を参照すると、本発明の第３の実施の形態は、コンピュータ８１と、記録媒体（例えば、ＣＤ−Ｒ，ＣＤ−ＲＷ等）である記録媒体８２と、装置８９と、無線ＬＡＮ９０１とから構成されている。なお、コンピュータ８１と装置８９との通信は、無線ＬＡＮ９０１を介して行われる。
【０１９４】
記録媒体８２は、ＱｏＳプログラム８２１を格納している。
【０１９５】
図１５のコンピュータ８１は、図示していないプロセッサ（ＣＰＵ）によりプログラム制御で動作する制御部８１１と、読出し書込みのできるメモリ（例えば、ＲＡＭ）であるメモリ部８１２と、無線インタフェース部４を有する無線ＬＡＮカードである無線ＬＡＮカード８１３と、不揮発性の記録媒体装置（例えば、磁気ディスク）である記憶部８１４と、媒体８２の媒体装置（例えば、ＣＤ−Ｒ装置、ＣＤ−ＲＷ装置等）である媒体装置８１５と、監視タイマ部５４と、から構成される。
【０１９６】
図１５の制御部８１１は、プロトコルスタック部３と、ＱｏＳミドル部１と、デバイスドライバ部２とから構成される。すなわち、プロトコルスタック部３とＱｏＳミドル部１とデバイスドライバ部２とは、記憶部８１４にある通信プログラムがメモリ部８１２に展開された場合にプロセッサ（ＣＰＵ）がプログラムを実行する場合の機能ブロックである。
【０１９７】
図１５の記憶部８１４は、記録媒体８２のＱｏＳミドルプログラム８２１をインストールした場合に保存された場合の構成を示しており、ＱｏＳミドルプログラム８２１を含むプログラム等が保存されている。
【０１９８】
なお、制御部８１１内の各ブロックの符号は、第１の実施の形態の図２で使用する符号と同じであり、機能も同じなので詳細な説明を省略する。
【０１９９】
次に、図１５を参照して本発明の第３の実施の形態の動作について説明する。
【０２００】
今、ユーザがコンピュータ８１にインストールされている無線ＬＡＮのドライバの機能アップを図るため、記録媒体８２を媒体装置８１５にセットして、ＱｏＳミドルプログラム８２１のインストールを行うと、コンピュータ８１の制御部８１１は、ＱｏＳミドルプログラム８２１を記憶部８１４に格納する。ＱｏＳミドルプログラム８２１の格納が終わった後、コンピュータ８１を再立上げすると、メモリ８１２にＱｏＳミドルプログラム８２１を含むプログラムが展開され、制御部８１１は、プロトコルスタック部３、ＱｏＳミドル部１、デバイスドライバ部２を確立する。
【０２０１】
なお、確立してからの制御部８６１内の各ブロックの動作については、第１の実施の形態の形態で説明した動作と同じなので説明を省略する。
【０２０２】
また、上記第３の実施の形態の説明では、記録媒体８２からコンピュータ８１にＱｏＳミドルプログラム８２１をインストールするようにしたが、装置８９からＱｏＳミドルプログラム８２１を、無線ＬＡＮ９０１を介してコンピュータ８６にインストールするようにしても良い。
【０２０３】
また、上記第３の実施の形態の説明では、コンピュータの８１の機能アップとして説明したが、無線ＬＡＮのドライバとして、ＱｏＳミドルプログラム８２１とデバイスドライバ部２の機能有するデバイスドライバとをコンピュータ８１にインストールするようにしても良いし、予めインストールされていても良い。インストールされた後のＱｏＳミドルプログラム８２１を実行するプロセッサ（ＣＰＵ）の動作と、機能アップにおけるＱｏＳミドルプログラム８２１を実行するプロセッサ（ＣＰＵ）の動作と同じであることは言うまでもない。
【０２０４】
次に、本発明の第４の実施の形態について、図面を参照して説明する。
【０２０５】
図１６を参照すると、本発明の第４の実施の形態は、コンピュータ８１と、記録媒体（例えば、ＣＤ−Ｒ，ＣＤ−ＲＷ等）である記録媒体８３と、装置８９と、無線ＬＡＮ９０１とから構成されている。なお、コンピュータ８１と装置８９との通信は、無線ＬＡＮ９０１を介して行われる。
【０２０６】
記録媒体８３は、ＱｏＳプログラム８３１１とデバイスドライバ８３１２とを含む無線ＬＡＮドライバ８３１を格納している。
【０２０７】
図１６のコンピュータ８１は、図示していないプロセッサ（ＣＰＵ）によりプログラム制御で動作する制御部８１１と、読出し書込みのできるメモリ（例えば、ＲＡＭ）であるメモリ部８１２と、無線インタフェース部４を有する無線ＬＡＮカードである無線ＬＡＮカード８１３と、不揮発性の記録媒体装置（例えば、磁気ディスク）である記憶部８１４と、媒体８３の媒体装置（例えば、ＣＤ−Ｒ装置、ＣＤ−ＲＷ装置等）である媒体装置８１５と、監視タイマ部５４と、から構成される。
【０２０８】
図１６の制御部８１１は、プロトコルスタック部３と、ＱｏＳミドル部６と、デバイスドライバ部７とから構成される。すなわち、プロトコルスタック部３とＱｏＳミドル部６とデバイスドライバ部７とは、記憶部８１４にある通信プログラムがメモリ部８１２に展開された場合にプロセッサ（ＣＰＵ）がプログラムを実行する場合の機能ブロックである。
【０２０９】
図１６の記憶部８１４は、記録媒体８３の無線ＬＡＮドライバ８３１をインストールした場合に保存された場合の構成を示しており、ＱｏＳミドルプログラム８３１１とデバイスドライバ８３１２とを含むプログラム等が格納されている。
【０２１０】
なお、制御部８１１内の各ブロックの符号は、第２の実施の形態の図１０で使用する符号と同じであり、機能も同じなので詳細な説明を省略する。
【０２１１】
次に、図１６を参照して本発明の第４の実施の形態の動作について説明する。
【０２１２】
今、ユーザがコンピュータ８１にインストールされている無線ＬＡＮのドライバの機能アップを図るため、記録媒体８２を媒体装置８１５にセットして、無線ＬＡＮドライバ８３１のインストールを行うと、コンピュータ８１の制御部８１１は、ＱｏＳミドルプログラム８３１１とデバイスドライバ８３１２とを記憶部８１４に格納する。ＱｏＳミドルプログラム８３１１およびデバイスドライバ８３１２の格納が終わった後、コンピュータ８１を再立上げすると、メモリ８１２にＱｏＳミドルプログラム８３１１を含むプログラムが展開され、制御部８１１は、プロトコルスタック部３、ＱｏＳミドル部１、デバイスドライバ部２を確立する。
【０２１３】
なお、確立してからの制御部８６１内の各ブロックの動作については、第２の実施の形態で説明した動作と同じなので説明を省略する。
【０２１４】
また、上記第４の実施の形態の説明では、記録媒体８２からコンピュータ８１に無線ＬＡＮドライバ８３１をインストールするようにしたが、装置８９から無線ＬＡＮドライバ８３１を無線ＬＡＮ９０１を介してコンピュータ８６にインストールするようにしても良い。
【０２１５】
また、上記第４の実施の形態の説明では、コンピュータの８１の機能アップとして説明したが、初めてものとしてコンピュータ８１に無線ＬＡＮドライバ８３１をインストールしても良いし、予めインストールされていても良い。インストールされた後のＱｏＳミドルプログラム８３１１を実行するプロセッサ（ＣＰＵ）の動作と、機能アップにおけるＱｏＳミドルプログラム８３１１を実行するプロセッサ（ＣＰＵ）の動作と同じであることは言うまでもない。
【０２１６】
次に、本発明の第５の実施の形態について、図面を参照して説明する。
【０２１７】
図１７を参照すると、本発明の第５の実施の形態は、コンピュータ８６と、記録媒体（例えば、ＣＤ−Ｒ，ＣＤ−ＲＷ等）である記録媒体８４と、装置８９と、無線ＬＡＮ９０１とから構成されている。なお、コンピュータ８６と装置８９との通信は、無線ＬＡＮ９０１を介して行われる。
【０２１８】
記録媒体８４は、ＱｏＳプログラム８２１を格納している。
【０２１９】
図１７のコンピュータ８６は、図示していないプロセッサ（ＣＰＵ）によりプログラム制御で動作する制御部８６１と、読出し書込みのできるメモリ（例えば、ＲＡＭ）であるメモリ部８６２と、無線ＬＡＮカードである無線ＬＡＮカード８１３と、不揮発性の記録媒体装置（例えば、磁気ディスク）である記憶部８６４と、記録媒体８４の媒体装置（例えば、ＣＤ−Ｒ装置、ＣＤ−ＲＷ装置等）である媒体装置８６５とから構成される。
【０２２０】
図１６の制御部８６１は、プロトコルスタック部３から構成される。すなわち、プロトコルスタック部３は、記憶部８６４にある通信プログラムがメモリ部８６２に展開された場合にプロセッサ（ＣＰＵ）がプログラムを実行する場合の機能ブロックである。
【０２２１】
図１７の記憶部８６４は、記録媒体８４の無線ＬＡＮドライバ８４１をインストールした場合に保存された場合の構成を示しており、ＱｏＳミドルプログラム８４１１とデバイスドライバ８４１２とを含むプログラム等が格納されている。
【０２２２】
無線ＬＡＮカード８６３は、図示していない無線ＬＡＮカード８６３が実装するプロセッサ（ＣＰＵ）によりプログラム制御で動作する制御部８６３１と、読出し書込みのできるメモリ（例えば、ＲＡＭ）であるメモリ部８６３２と、無線ＬＡＮインタフェース部４と、監視タイマ部５４とから構成される。
【０２２３】
図１７の制御部８６３１は、ＱｏＳミドル部６と、デバイスドライバ部７とから構成される。すなわち、ＱｏＳミドル部６とデバイスドライバ部７とは、記憶部８６４にある通信プログラム（この場合は、ＱｏＳミドルプログラム８２１および図示していないデバイスドライバ）がメモリ部８６３２に展開された場合にプロセッサ（ＣＰＵ）がプログラムを実行する場合の機能ブロックである。
【０２２４】
なお、制御部８６１内および制御部８６３１内の各ブロックの符号は、第２の実施の形態の図１０で使用する符号と同じであり、機能も同じなので詳細な説明を省略する。
【０２２５】
次に、図１７を参照して本発明の第５の実施の形態の動作について説明する。
【０２２６】
今、ユーザがコンピュータ８６にインストールされている無線ＬＡＮのドライバの機能アップを図るため、記録媒体８４を媒体装置８６５にセットして、無線ＬＡＮドライバ８３１のインストールを行うと、コンピュータ８６の制御部８６１は、ＱｏＳミドルプログラム８３１１とデバイスドライバ８３１２とを記憶部８６４に格納する。ＱｏＳミドルプログラム８３１１およびデバイスドライバ８３１２の格納が終わった後、コンピュータ８６を再立上げすると、メモリ８６２にプロトコルスタックを含む通信プログラムが展開され、更に、ＱｏＳミドルプログラム８４１１およびデバイスドライバ８４１２のプログラムが展開される。すると、制御部８１１は、プロトコルスタック部３を確立し、制御部８６３１は、ＱｏＳミドル部６、デバイスドライバ部７を確立する。
【０２２７】
なお、確立してからの制御部８６１内の各ブロックの動作については、第２の実施の形態で説明した動作と同じなので説明を省略する。
【０２２８】
また、上記第５の実施の形態の説明では、記録媒体８４からコンピュータ８６に無線ＬＡＮドライバ８４１をインストールするようにしたが、装置８９から無線ＬＡＮ９０１を介してコンピュータ８６に無線ＬＡＮドライバ８４１をインストールするようにしても良い。
【０２２９】
また、上記第５の実施の形態の説明では、コンピュータの８６の機能アップとして説明したが、初めてものとしてコンピュータ８６に無線ＬＡＮドライバ８４１をインストールしても良いし、予めインストールされていても良い。インストールされた後のＱｏＳミドルプログラム８４１１を実行するプロセッサ（ＣＰＵ）の動作と、機能アップにおけるＱｏＳミドルプログラム８４１１を実行するプロセッサ（ＣＰＵ）の動作と同じであることは言うまでもない。
【０２３０】
また、上記の第１〜第５の実施の形態の説明では、無線ＬＡＮを例に取り説明したが、通信機構を無線ＬＡＮに限定するものではなく、他のＬＡＮ通信を利用したとしても、動作が同じになることは言うまでもない。
【０２３１】
また、仮想的なＦＩＦＯのメモリ量は、固定ではなく、キャッシュテーブル５３の情報やＦＩＦＯの利用効率に合わせて動的に変化させても良い。ＦＩＦＯへの先読みは、予め定めた式で物理回線速度より早く見せかけても良い。例えば、１０％早くするようにして、物理回線とかけ離れた早さで読み込むことを防いでも良い。
【０２３２】
【発明の効果】
上記に説明したように、本発明は、プログラムスタックとデバイスドライバとの間に入る構成をとり、フレーム内の各ヘッダ内の情報を基に送信要求または／および受信要求の優先順位毎に振り分けるようにしているため、優先順位の高い特定のパケットに対するプロトコルスタックの受信処理または／およびデバイスドライバの送信処理を出来る限り待たせることなく優先させるという効果がある。
【０２３３】
また、本発明は、一回目の特定のパケットのセッション情報が確定したら、以降セッションが切れるまでそのセッション情報が使われなくなるまで見なしで特定パケット（例えば、ＲＴＰ）のストリームとみなせているため、優先順位の高い特定のパケットに対するプロトコルスタックの受信処理または／およびデバイスドライバの送信処理を出来る限り待たせることなく優先させるという効果がある。
【０２３４】
また、本発明は、プログラムスタックとデバイスドライバとの間に入る構成をとり、フレーム内の各ヘッダ内の情報を基に送信要求または／および受信要求の優先順位毎に振り分ける機能を持つプログラムをインストールするようにしたため、現状のハードウェアに影響を与えることなく、かつプログラムをインストールするだけで優先順位の高い特定のパケットに対する装置内のスループットの時間を減らすことができるという効果があり、新規導入費を削減することができるという効果がある。
【０２３５】
また、本発明は、プログラムスタックとデバイスドライバとの間に入る構成をとり、フレーム内の各ヘッダ内の情報を基に送信要求または／および受信要求の優先順位毎に振り分けるようにし、かつデバイスドライバおよびプロトコルスタックとのやり取りをＮＤＩＳインタフェース、ソケットインタフェース等のプログラムインタフェースで行っているため、ＮＤＩＳインタフェース、ソケットインタフェース等のプログラムインタフェースを保障した上で優先順位の高い特定のパケットに対する装置内のスループットの時間を減らすことできるという効果がある。
【図面の簡単な説明】
【図１】既存のアプリケーションに対応した本発明の概要を説明する上での構成の概略を示すブロック図である。
【図２】本発明の第１の実施の形態の構成を示すブロック図である。
【図３】フレーム内の各ヘッダの割り当てを示す構成概略図である。
【図４】図２のＱｏＳミドル部・送信部のヘッダ比較部の動作を示すフローチャートである。
【図５】図２のＱｏＳミドル部・送信部の合成部の動作を示すフローチャートである。
【図６】図２のＱｏＳミドル部・受信部のヘッダ比較部の動作を示すフローチャートである。
【図７】図２のＱｏＳミドル部・受信部の合成部の動作を示すフローチャートである。
【図８】図２または図１０のＱｏＳミドル部のＲＴＰセッションモニタ部の動作を示すフローチャートである。
【図９】図２のＱｏＳミドル部の擬似プロトコルスタック部の動作を示すフローチャートである。
【図１０】本発明の第２の実施の形態の構成を示すブロック図である。
【図１１】図１０のＱｏＳミドル部・送信部のヘッダ比較部の動作を示すフローチャートである。
【図１２】図１０のＱｏＳミドル部・送信部の合成部の動作を示すフローチャートである。
【図１３】図１０のＱｏＳミドル部・受信部のヘッダ比較部の動作を示すフローチャートである。
【図１４】図１０のＱｏＳミドル部・受信部の合成部の動作を示すフローチャートである。
【図１５】本発明の第３の実施の形態の構成を示すブロック図である。
【図１６】本発明の第４の実施の形態の構成を示すブロック図である。
【図１７】本発明の第５の実施の形態の構成を示すブロック図である。
【符号の説明】
１，６　　ＱｏＳミドル部
２，７　　デバイスドライバ部
３　　プロトコルスタック部
４　　無線ＬＡＮインタフェース部
１１，６１　　送信部
１２，６２　　受信部
１３　　ＲＴＰセッションモニタ部
１４　　擬似プロトコルスタック部
５１　　送信ＦＩＦＯ部
５２　　受信ＦＩＦＯ部
５３　　キャッシュテーブル
５４　　監視タイマ
５５　　共有バッファ部
１１１，１２１，６１１，６２１　　ヘッダ比較部
１１２，１２２，６１２，６２２　　合成部
５１１　　高位送信ＦＩＦＯ
５１２　　低位送信ＦＩＦＯ
５２１　　高位受信ＦＩＦＯ
５２２　　低位受信ＦＩＦＯ
５３１　　初期登録テーブル
５３２　　一時登録テーブル
８１，８６　　コンピュータ
８２，８３，８４　　記録媒体
８９　　装置
８１１，８６１，８６３１　　制御部
８１２，８６３２　　メモリ部
８１３，８６３　　無線ＬＡＮカード
８１４，８６４　　記憶部
８１５　　媒体装置
８２１，８３１１，８４１１　　ＱｏＳミドルプログラム
８３１，８４１　　無線ＬＡＮドライバ
９０１　　無線ＬＡＮ
９１１，９１２　　無線ＬＡＮドライバ部
８３１２，８４１２　　デバイスドライバ
【図１】
2004128810.tif 000003
【図２】
2004128810.tif 000004
【図３】
2004128810.tif 000005
【図４】
2004128810.tif 000006
【図５】
2004128810.tif 000007
【図６】
2004128810.tif 000008
【図７】
2004128810.tif 000009
【図８】
2004128810.tif 000010
【図９】
2004128810.tif 000011
【図１０】
2004128810.tif 000012
【図１１】
2004128810.tif 000013
【図１２】
2004128810.tif 000014
【図１３】
2004128810.tif 000015
【図１４】
2004128810.tif 000016
【図１５】
2004128810.tif 000017
【図１６】
2004128810.tif 000018
【図１７】
2004128810.tif 000019