JP2004128810A - 端末装置、端末装置内の優先処理方法、およびプログラム - Google Patents

端末装置、端末装置内の優先処理方法、およびプログラム Download PDF

Info

Publication number
JP2004128810A
JP2004128810A JP2002288892A JP2002288892A JP2004128810A JP 2004128810 A JP2004128810 A JP 2004128810A JP 2002288892 A JP2002288892 A JP 2002288892A JP 2002288892 A JP2002288892 A JP 2002288892A JP 2004128810 A JP2004128810 A JP 2004128810A
Authority
JP
Japan
Prior art keywords
unit
transmission
session information
request
fifo
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002288892A
Other languages
English (en)
Other versions
JP3834280B2 (ja
Inventor
Yoshikazu Kobayashi
小林 佳和
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC Infrontia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Infrontia Corp filed Critical NEC Infrontia Corp
Priority to JP2002288892A priority Critical patent/JP3834280B2/ja
Priority to AU2003236488A priority patent/AU2003236488B2/en
Priority to US10/649,724 priority patent/US7356034B2/en
Priority to CA 2438983 priority patent/CA2438983C/en
Priority to EP20030019760 priority patent/EP1406424B1/en
Priority to TW92124044A priority patent/TWI247504B/zh
Priority to DE2003619042 priority patent/DE60319042T2/de
Publication of JP2004128810A publication Critical patent/JP2004128810A/ja
Application granted granted Critical
Publication of JP3834280B2 publication Critical patent/JP3834280B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/56Allocation or scheduling criteria for wireless resources based on priority criteria
    • H04W72/566Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient
    • H04W72/569Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient of the traffic information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

【課題】優先順位の高い特定のパケットに対するプロトコルスタックの受信処理または/およびデバイスドライバの送信処理を優先させることにある。
【解決手段】QoSミドル部1は、送信フレームの送信要求があった場合に、フレーム内の各ヘッダ情報とキャッシュテーブル53の情報とを基に送信要求を優先順位の持つ送信FIFO部51に振り分けるヘッダ比較部111と、送信FIFO部51から出力される送信要求を合成してデバイスドライバ部2に出力する合成部112と、を有し、受信フレームの受信要求があった場合に、受信フレーム内の各ヘッダ情報とキャッシュテーブル53の情報とを基に受信要求を優先順位の持つ受信FIFO部52に振り分けるヘッダ比較部121と、受信FIFO部52から出力される受信要求を優先順位に従って合成してプロトコルスタック部3に出力する合成部122と、を有している。
【選択図】   図2

Description

【0001】
【発明の属する技術分野】
本発明は、端末装置および端末装置内の優先処理方法、ならびにプログラムに関し、特に、プロトコルスタックとデバイスドライバと間のインタフェース制御における端末装置および端末装置内の優先処理方法、ならびにプログラムに関する。
【0002】
【従来の技術】
従来、プロトコルスタックとデバイスドライバとの間に置かれたインタフェース制御部として、例えば、特開2001―156793号公報に開示されている。この特開2001―156793号公報記載のインタフェース制御部は、デバイスドライバを介して送受信されるOSI第2層にあたるMACアドレス情報を解析してプロトコルスタックまたはデバイスドライバに送信(通知)する技術が記載されている。
【0003】
【発明が解決しようとする課題】
しかしながら、OSI第3層以上で優先度の高い通信プロトコルのパケット(例えば、RTPパケットで送られる映像)の送受信を行いたい場合、時間のタイムロスをなくす必要があるが、特開2001―156793号公報記載のインタフェース処理は、デバイスドライバからの要求またはプロトコルスタックからの要求に関係なく、要求順に処理を行っているため、負荷が増えれば増えるほど、プロトコルスタックまたはデバイスドライバにおける優先度の高い通信プロトコルのパケット送受信処理が遅延するという問題点がある。
【0004】
【特許文献1】
特開2001−156793号公報
本発明の目的は、上記問題点を鑑み、優先順位の高い特定のパケットに対するプロトコルスタックの受信処理または/およびデバイスドライバの送信処理を出来る限り待たせることなく優先させることにある。
【0005】
また、本発明の他の目的は、上記問題点を鑑み、現状のハードウェアに影響を与えることなく、かつプログラムをインストールするだけで優先順位の高い特定のパケットに対する装置内のスループットの時間を減らすことにある。
【0006】
また、本発明の他の目的は、上記問題点を鑑み、NDISインタフェース、ソケットインタフェース等のプログラムインタフェースを保証した上で優先順位の高い特定のパケットに対する装置内のスループットの時間を減らすことにある。
【0007】
また、本発明の他の目的は、上記問題点を鑑み、NDISインタフェース、ソケットインタフェース等のプログラムインタフェースを保証した上で、物理回線速度より早いスループットでデータの先読みを行って送信し、優先度の高い特定のパケットに対する装置内のスループットの時間を減らすことにある。
【0008】
【課題を解決するための手段】
上記の目的を達成するために、本発明の第1の端末装置は、ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、OSI第3層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置であって、前記通信プロトコル部と前記デバイスドライバ部との間に挿入されたミドルウェア部を備え、前記ミドルウェア部は、前記プロトコルスタック部から送信フレームの送信要求があった場合に送信フレーム内のOSI第2層からOSI第4層までの各ヘッダ情報を基に前記送信要求の優先順位を振り分けその振り分けた優先順位に従って前記デバイスドライバ部への前記送信要求を行う送信手段を有することを特徴としている。
【0009】
更に、上記の第1の端末装置において、前記ミドルウェア部は、前記デバイスドライバ部から受信フレームの受信要求があった場合に受信フレーム内のOSI第2層からOSI第4層までの各ヘッダ情報を基に前記受信要求の優先順位を振り分けその振り分けた優先順位に従って前記プロトコルスタック部への前記受信要求を行う受信手段を有することを特徴としている。
【0010】
更に、上記の第1の端末装置において、優先順位の高いセッション情報が予め登録されているキャッシュテーブルと、優先順位に対応した複数の第1のFIFOと、を備え、前記送信手段は、前記プロトコルスタック部から前記送信フレームの送信要求があった場合に前記送信フレーム内のOSI第2層からOSI第4層までの各ヘッダ情報を基に前記キャッシュテーブルを検索することにより優先順位を抽出しその抽出した優先順位に従って前記送信要求を前記複数の第1のFIFOに振り分ける第1のヘッダ比較手段と、前記複数の第1のFIFOから出力される送信要求を前記第1のFIFOの優先順位に従って合成して前記デバイスドライバ部に出力する第1の合成手段と、を有することを特徴としている。
【0011】
更に、上記の第1の端末装置において、優先順位に対応した複数の第2のFIFOと、を備え、前記受信手段は、前記デバイスドライバ部から前記受信フレームの受信要求があった場合に前記受信フレーム内のOSI第2層からOSI第4層までの各ヘッダ情報を基に前記キャッシュテーブルを検索することにより優先順位を抽出しその抽出した優先順位に従って前記受信要求を前記複数の第2のFIFOに振り分ける第2のヘッダ比較手段と、前記複数の第2のFIFOから出力される受信要求を前記第2のFIFOの優先順位に従って合成して前記プロトコルスタック部に出力する第2の合成手段と、を有することを特徴としている。
【0012】
また、本発明の第2の端末装置は、ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、OSI第3層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置であって、前記通信プロトコル部と前記デバイスドライバ部との間に挿入されたミドルウェア部を備え、前記ミドルウェア部は、予め決められた送信先に連続するOSI第5層以上の通信プロトコルで規定された特定のパケットの送信要求が前記プロトコルスタック部からあった場合に、最初の送信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せる送信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記デバイスドライバ部に対して送信待ちの優先順位を上げて前記送信要求を行う第1の送信要求手段と、それ以降連続する前記特定のパケットを送信する場合にはそれ以降連続する前記特定のパケットを乗せる送信フレーム内のOSI第2層から第4層までのヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで送信待ちの優先順位を上げて前記送信要求を行う第2の送信要求手段と、を有することを特徴としている。
【0013】
更に、上記の第2の端末装置において、前記ミドルウェア部は、予め決められた送信元から連続するOSI第5層以上の通信プロトコルで規定された特定のパケットの受信要求が前記デバイスドライバ部からあった場合に、最初の受信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せた受信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記プロトコルスタック部に対して受信待ちの優先順位を上げて前記受信要求を行う第1の受信要求手段と、それ以降連続する前記特定のパケットを受信する場合にはそれ以降連続する特定のパケットを乗せた前記受信フレーム内のOSI第2層から第4層までの各ヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで受信待ちの優先順位を上げて前記受信要求を行う第2の受信要求手段と、を有することを特徴としている。
【0014】
更に、上記の第2の端末装置において、前記ミドルウェア部は、前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続ける監視手段を有することを特徴としている。
【0015】
更に、上記の第2の端末装置において、前記ミドルウェア部は、前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続ける監視手段を有することを特徴としている。
【0016】
また、本発明の第3の端末装置は、ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、OSI第3層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置であって、前記通信プロトコル部と前記デバイスドライバ部との間に挿入されたミドルウェア部と、優先順位の高い複数の第1のセッション情報が予め登録された第1のキャッシュテーブルと、優先順位の高いセッションの確立時に使用する第2のキャッシュテーブルと、優先順位の高いデータがFIFO形式で保存される第1のFIFO部と、優先順位の低いデータがFIFO形式で保存される第2のFIFO部と、を備え、前記ミドルウェア部は、前記プロトコルスタック部から送信フレームの送信要求があった場合に前記送信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出した第2のセッション情報が第2のキャッシュテーブルに登録されているかを確認する第1の確認手段と、前記第1の確認手段で登録されていれば前記送信要求を前記第1のFIFO部にキューイングする第1のキューイング手段と、前記第1の確認手段で登録されていなければ前記第2のセッション情報が第1のキャッシュテーブルに登録されているかを確認する第2の確認手段と、前記第2の確認手段で登録されていれば前記送信フレームが予め決められたOSI5層以上の特定のパケットかの確認を行う第3の確認手段と、前記第3の確認手段で前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第2のセッション情報を前記第2のキャッシュテーブルに登録すると共に前記送信要求を前記第1のFIFO部にキューイングする第2のキューイング手段と、前記第2の確認手段で登録されていなければ前記送信要求を前記第2のFIFO部にキューイングする第3のキューイング手段と、前記第1または/および第2のFIFO部にキューイングされている前記送信要求がある場合に優先順位に従って第1または第2のFIFOのいずれかを識別しその識別した第1または第2のFIFO部にキューイングされている前記送信要求を前記デバイスドライバ部に出す送信要求手段と、を有することを特徴としている。
【0017】
更に、上記の第3の端末装置において、優先順位の高いデータがFIFO形式で保存される第3のFIFO部と、優先順位の低いデータがFIFO形式で保存される第4のFIFO部と、を備え、前記ミドルウェア部は、前記デバイスドライバ部から受信フレームの受信要求があった場合に前記受信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出した第3のセッション情報が第2のキャッシュテーブルに登録されているかを確認する第4の確認手段と、前記第4の確認手段で登録されていれば前記受信要求を前記第3のFIFO部にキューイングする第4のキューイング手段と、
前記第4の確認手段で登録されていなければ前記第3のセッション情報が第1のキャッシュテーブルに登録されているかを確認する第5の確認手段と、前記第5の確認手段で登録されていれば前記受信フレームが前記特定のパケットかの確認を行う第6の確認手段と、前記第6の確認手段で前記特定のパケットの確認がとれると優先順位の高いセッションが確立したとして前記第3のセッション情報を前記第2のキャッシュテーブルに登録すると共に前記受信要求を前記第3のFIFO部にキューイングする第5のキューイング手段と、前記第5の確認手段で登録されていなければ前記受信要求を前記第4のFIFO部にキューイングする第6のキューイング手段と、前記第3または/および第4のFIFO部にキューイングされている前記受信要求がある場合に優先順位に従って第3または第4のFIFOのいずれかを識別しその識別した第3または第4のFIFO部にキューイングされている前記受信要求を前記プロトコルスタック部に出す受信要求手段と、を有することを特徴としている。
【0018】
更に、上記の第3の端末装置において、前記ミドルウェア部は、前記第2のキャッシュテーブルに前記第2のセッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続ける監視手段を有することを特徴としている。
【0019】
更に、上記の第3の端末装置において、前記ミドルウェア部は、前記第2のキャッシュテーブルに前記第3のセッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続ける監視手段を有することを特徴としている。
【0020】
更に、上記の第1、第2、または第3の端末装置において、前記ミドルウェア部は、前記デバイスドライバ部への前記送信要求を行う場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記送信要求を行う手段を有することを特徴としている。する請求項1,5または7記載の端末装置。
【0021】
更に、上記の第1、第2、または第3の端末装置において、前記ミドルウェア部は、前記デバイスドライバ部からの前記受信要求を受ける場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記受信要求を受ける手段を有することを特徴としている。
【0022】
更に、上記の第2または第3の端末装置において、前記特定のパケットは、RTPパケットを含む第5層以上の通信プロトコルで規定されたパケットのいずれかであることを特徴としている。
【0023】
更に、上記の第1または第2の端末装置において、前記セッション情報は、フレーム内のOSI第2層に該当するMACアドレスと、OSI第3層に該当するプロトコル番号およびIPアドレスと、OSI第4層に該当するポート番号とを含むことを特徴としている。
【0024】
更に、上記の第3の端末装置において、前記第1および第2のセッション情報は、フレーム内のOSI第2層に該当するMACアドレスと、OSI第3層に該当するプロトコル番号およびIPアドレスと、OSI第4層に該当するポート番号とを含むことを特徴としている。
【0025】
更に、上記の第3の端末装置において、前記第3のセッション情報は、フレーム内のOSI第2層に該当するMACアドレスと、OSI第3層に該当するプロトコル番号およびIPアドレスと、OSI第4層に該当するポート番号とを含むことを特徴としている。
【0026】
更に、更に、上記の第1、第2、または第3の端末装置において、前記プログラムインタフェースは、NDISインタフェース、ソケットインタフェースを含むインタフェースのいずれかであることを特徴としている。
【0027】
また、本発明の第1の端末装置内の優先処理方法は、ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、OSI第3層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置内の優先処理方法であって、前記通信プロトコル部と前記デバイスドライバ部との間のインタフェース制御を行うミドルウェア部を備え、前記ミドルウェア部は、前記プロトコルスタック部から送信フレームの送信要求があった場合に送信フレーム内のOSI第2層からOSI第4層までの各ヘッダ情報を基に前記送信要求の優先順位を振り分けその振り分けた優先順位に従って前記デバイスドライバ部への前記送信要求を行うことを特徴としている。
【0028】
更に、上記の第1の端末装置内の優先処理方法において、前記ミドルウェア部は、前記デバイスドライバ部から受信フレームの受信要求があった場合に受信フレーム内のOSI第2層からOSI第4層までの各ヘッダ情報を基に前記受信要求の優先順位を振り分けその振り分けた優先順位に従って前記プロトコルスタック部への前記受信要求を行うことを特徴としている。
【0029】
更に、上記の第1の端末装置内の優先処理方法において、優先順位の高いセッション情報が予め登録されているキャッシュテーブルと、優先順位に対応した複数の第1のFIFOと、を備え、前記ミドルウェア部は、前記プロトコルスタック部から前記送信フレームの送信要求があった場合に前記送信フレーム内のOSI第2層からOSI第4層までの各ヘッダ情報を基に前記キャッシュテーブルを検索することにより優先順位を抽出しその抽出した優先順位に従って前記送信要求を前記複数の第1のFIFOに振り分け、前記複数の第1のFIFOから出力される送信要求を前記第1のFIFOの優先順位に従って合成して前記デバイスドライバ部に出力することを特徴としている。
【0030】
更に、上記の第1の端末装置内の優先処理方法において、優先順位に対応した複数の第2のFIFOと、を備え、前記ミドルウェア部は、前記デバイスドライバ部から前記受信フレームの受信要求があった場合に前記受信フレーム内のOSI第2層からOSI第4層までの各ヘッダ情報を基に前記キャッシュテーブルを検索することにより優先順位を抽出しその抽出した優先順位に従って前記受信要求を前記複数の第2のFIFOに振り分け、前記複数の第2のFIFOから出力される受信要求を前記第2のFIFOの優先順位に従って合成して前記プロトコルスタック部に出力することを特徴としている。
【0031】
また、本発明の第2の端末装置内の優先処理方法は、ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、OSI第3層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置内の優先処理方法であって、前記通信プロトコル部と前記デバイスドライバ部との間に挿入されたミドルウェア部を備え、前記ミドルウェア部は、予め決められた送信先に連続するOSI第5層以上の通信プロトコルで規定された特定のパケットの送信要求が前記プロトコルスタック部からあった場合に、最初の送信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せる送信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記デバイスドライバ部に対して送信待ちの優先順位を上げて前記送信要求を行い、それ以降連続する前記特定のパケットを送信する場合にはそれ以降連続する前記特定のパケットを乗せる送信フレーム内のOSI第2層から第4層までのヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで送信待ちの優先順位を上げて前記送信要求を行うことを特徴としている。
【0032】
更に、上記の第2の端末装置内の優先処理方法において、前記ミドルウェア部は、予め決められた送信元から連続するOSI第5層以上の通信プロトコルで規定された特定のパケットの受信要求が前記デバイスドライバ部からあった場合に、最初の受信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せた受信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記プロトコルスタック部に対して受信待ちの優先順位を上げて前記受信要求を行い、それ以降連続する前記特定のパケットを受信する場合にはそれ以降連続する前記特定のパケットを乗せた受信フレーム内のOSI第2層から第4層までのヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで受信待ちの優先順位を上げて前記受信要求を行うことを特徴としている。
【0033】
更に、上記の第2の端末装置内の優先処理方法において、前記ミドルウェア部は、前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続けることを特徴としている。
【0034】
更に、上記の第2の端末装置内の優先処理方法において、前記ミドルウェア部は、前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続けることを特徴としている。
【0035】
また、本発明の第3の端末装置内の優先処理方法は、ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、OSI第3層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置内の優先処理方法であって、前記通信プロトコル部と前記デバイスドライバ部との間に挿入されたミドルウェア部を備え、前記ミドルウェア部は、優先順位の高い複数の第1のセッション情報が予め登録された第1のキャッシュテーブルと、優先順位の高いセッションの確立時に使用する第2のキャッシュテーブルと、優先順位の高いデータがFIFO形式で保存される第1のFIFO部と、優先順位の低いデータがFIFO形式で保存される第2のFIFO部と、を用いて、前記プロトコルスタック部から送信フレームの送信要求があった場合に前記送信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出した第2のセッション情報が第2のキャッシュテーブルに登録されているかを確認し、前記第2のキャッシュテーブルに登録されていれば前記送信要求を前記第1のFIFO部にキューイングし、前記第2のキャッシュテーブルに登録されていなければ前記第2のセッション情報が第1のキャッシュテーブルに登録されているかを確認し、前記第1のキャッシュテーブルに登録されていれば前記送信フレームが予め決められたOSI5層以上の特定のパケットかの確認を行い、前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第2のセッション情報を前記第2のキャッシュテーブルに登録すると共に前記送信要求を前記第1のFIFO部にキューイングし、第1のキャッシュテーブルに登録されていなければ前記送信要求を前記第2のFIFO部にキューイングし、前記第1または/および第2のFIFO部にキューイングされている前記送信要求がある場合に優先順位に従って第1または第2のFIFOのいずれかを識別しその識別した第1または第2のFIFO部にキューイングされている前記送信要求を前記デバイスドライバ部に出すことを特徴としている。
【0036】
更に、上記の第3の端末装置内の優先処理方法において、前記ミドルウェア部は、優先順位の高いデータがFIFO形式で保存される第3のFIFO部と、優先順位の低いデータがFIFO形式で保存される第4のFIFO部と、を用いて、前記デバイスドライバ部から受信フレームの受信要求があった場合に前記受信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出した第3のセッション情報が第2のキャッシュテーブルに登録されているかを確認し、前記第2のキャッシュテーブルに登録されていれば前記受信要求を前記第3のFIFO部にキューイングし、前記第2のキャッシュテーブルに登録されていなければ前記第3のセッション情報が第1のキャッシュテーブルに登録されているかを確認し、前記第1のキャッシュテーブルに登録されていれば前記受信フレームが前記特定のパケットかの確認を行い、前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第3のセッション情報を前記第2のキャッシュテーブルに登録すると共に前記受信要求を前記第3のFIFO部にキューイングし、第1のキャッシュテーブルに登録されていなければ前記受信要求を前記第4のFIFO部にキューイングし、前記第3または/および第4のFIFO部にキューイングされている前記受信要求がある場合に優先順位に従って第3または第4のFIFOのいずれかを識別しその識別した第3または第4のFIFO部にキューイングされている前記受信要求を前記プロトコルスタック部に出すことを特徴としている。
【0037】
更に、上記の第3の端末装置内の優先処理方法において、前記ミドルウェア部は、前記第2のキャッシュテーブルに前記第2セッション情報を登録した場合に予め決められた時間内に前記第2のセッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続けることを特徴としている。
【0038】
更に、上記の第3の端末装置内の優先処理方法において、前記ミドルウェア部は、前記第2のキャッシュテーブルに前記第3のセッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続けることを特徴としている。
【0039】
更に、上記の第1、第2、または第3の端末装置内の優先処理方法において、前記ミドルウェア部は、前記デバイスドライバ部への前記送信要求を行う場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記送信要求を行うことを特徴としている。
【0040】
更に、上記の第1、第2、第3の端末装置内の優先処理方法において、前記ミドルウェア部は、前記デバイスドライバ部からの前記受信要求を受ける場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記受信要求を受けることを特徴としている。
【0041】
更に、上記の第2または第3の端末装置内の優先処理方法において、前記特定のパケットは、RTPパケットを含む第5層以上の通信プロトコルで規定されたパケットのいずれかであることを特徴としている。
【0042】
更に、上記の第1または第2の端末装置内の優先処理方法において、前記セッション情報は、フレーム内のOSI第2層に該当するMACアドレスと、OSI第3層に該当するプロトコル番号およびIPアドレスと、OSI第4層に該当するポート番号とを含むことを特徴としている。
【0043】
更に、上記の第3の端末装置内の優先処理方法において、前記第1および第2のセッション情報は、フレーム内のOSI第2層に該当するMACアドレスと、OSI第3層に該当するプロトコル番号およびIPアドレスと、OSI第4層に該当するポート番号とを含むことを特徴としている。
【0044】
更に、上記の第3の端末装置内の優先処理方法において、前記第3のセッション情報は、フレーム内のOSI第2層に該当するMACアドレスと、OSI第3層に該当するプロトコル番号およびIPアドレスと、OSI第4層に該当するポート番号とを含むことを特徴としている。
【0045】
更に、上記の第1、第2、または第3の端末装置内の優先処理方法において、前記プログラムインタフェースは、NDISインタフェース、ソケットインタフェースを含むインタフェースのいずれかであることを特徴としている。
【0046】
また、本発明の第1のプログラムは、ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、OSI第3層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部との間をインタフェース制御するプログラムであって、予め決められた送信先に連続するOSI第5層以上の通信プロトコルで規定された特定のパケットの送信要求が前記プロトコルスタック部からあった場合に、最初の送信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せる送信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記デバイスドライバ部に対して送信待ちの優先順位を上げて前記送信要求を行うステップと、それ以降連続する前記特定のパケットを送信する場合にはそれ以降連続する前記特定のパケットを乗せる送信フレーム内のOSI第2層から第4層までのヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで送信待ちの優先順位を上げて前記送信要求を行うステップと、を含む処理をコンピュータに実行させることを特徴としている。
【0047】
更に、上記の第1のプログラムにおいて、予め決められた送信元から連続するOSI第5層以上の通信プロトコルで規定された特定のパケットの受信要求が前記デバイスドライバ部からあった場合に、最初の受信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せた受信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記プロトコルスタック部に対して受信待ちの優先順位を上げて前記受信要求を行うステップと、それ以降連続する前記特定のパケットを受信する場合にはそれ以降連続する前記特定のパケットを乗せた受信フレーム内のOSI第2層から第4層までのヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで受信待ちの優先順位を上げて前記受信要求を行うステップと、を含む処理を前記コンピュータに実行させることを特徴としている。
【0048】
更に、上記の第1のプログラムにおいて、前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続けるステップを含む処理を前記コンピュータに実行させることを特徴としている。
【0049】
更に、上記の第1のプログラムにおいて、前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続けるステップを含む処理を前記コンピュータに実行させることを特徴としている。
【0050】
また、本発明の第2のプログラムは、ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、OSI第3層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部との間をインタフェース制御するプログラムであって、優先順位の高い複数の第1のセッション情報が予め登録された第1のキャッシュテーブルと、優先順位の高いセッションの確立時に使用する第2のキャッシュテーブルと、優先順位の高いデータがFIFO形式で保存される第1のFIFO部と、優先順位の低いデータがFIFO形式で保存される第2のFIFO部と、を備えたコンピュータに、前記プロトコルスタック部から送信フレームの送信要求があった場合に前記送信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出した第2のセッション情報が第2のキャッシュテーブルに登録されているかを確認するステップと、前記第2のキャッシュテーブルに登録されていれば前記送信要求を前記第1のFIFO部にキューイングするステップと、前記第2のキャッシュテーブルに登録されていなければ前記第2のセッション情報が第1のキャッシュテーブルに登録されているかを確認するステップと、前記第1のキャッシュテーブルに登録されていれば前記送信フレームが予め決められたOSI5層以上の特定のパケットかの確認を行うステップと、前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第2のセッション情報を前記第2のキャッシュテーブルに登録すると共に前記送信要求を前記第1のFIFO部にキューイングするステップと、前記第1のキャッシュテーブルに登録されていなければ前記送信要求を前記第2のFIFO部にキューイングするステップと、前記第1または/および第2のFIFO部にキューイングされている前記送信要求がある場合に優先順位に従って第1または第2のFIFOのいずれかを識別しその識別した第1または第2のFIFO部にキューイングされている前記送信要求を前記デバイスドライバ部に出すステップと、を含む処理を実行させることを特徴としている。
【0051】
更に、上記の第2のプログラムにおいて、優先順位の高いデータがFIFO形式で保存される第3のFIFO部と、優先順位の低いデータがFIFO形式で保存される第4のFIFO部と、を備えた前記コンピュータに、前記デバイスドライバ部から受信フレームの受信要求があった場合に前記受信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出した第3のセッション情報が第2のキャッシュテーブルに登録されているかを確認するステップと、前記第2のキャッシュテーブルに登録されていれば前記受信要求を前記第3のFIFO部にキューイングするステップと、前記第2のキャッシュテーブルに登録されていなければ前記第3のセッション情報が第1のキャッシュテーブルに登録されているかを確認するステップと、前記第1のキャッシュテーブルに登録されていれば前記受信フレームが前記特定のパケットかの確認を行うステップと、前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第3のセッション情報を前記第2のキャッシュテーブルに登録すると共に前記受信要求を前記第3のFIFO部にキューイングするステップと、前記第1のキャッシュテーブルに登録されていなければ前記受信要求を前記第4のFIFO部にキューイングするステップと、前記第3または/および第4のFIFO部にキューイングされている前記受信要求がある場合に優先順位に従って第3または第4のFIFOのいずれかを識別しその識別した第3または第4のFIFO部にキューイングされている前記受信要求を前記プロトコルスタック部に出すステップと、を含む処理を実行させることを特徴としている。
【0052】
更に、上記の第2のプログラムにおいて、前記第2のキャッシュテーブルに前記第2のセッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続けるステップを含む処理を前記コンピュータに実行させることを特徴としている。
【0053】
更に、上記の第2のプログラムにおいて、前記第2のキャッシュテーブルに前記第3のセッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続けるステップを含む処理を前記コンピュータに実行させることを特徴としている。
【0054】
更に、上記の第1または第2のプログラムにおいて、前記デバイスドライバ部への前記送信要求を行う場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記送信要求を行うステップを含む処理を前記コンピュータに実行させることを特徴としている。
【0055】
更に、上記の第1または第2のプログラムにおいて、前記デバイスドライバ部からの前記受信要求を受ける場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記受信要求を受けるステップを含む処理を前記コンピュータに実行させることを特徴としている。
【0056】
更に、上記の第1または第2のプログラムにおいて、前記特定のパケットは、RTPパケットを含む第5層以上の通信プロトコルで規定されたパケットのいずれかであることを特徴としている。
【0057】
更に、上記の第1のプログラムにおいて、前記セッション情報は、フレーム内のOSI第2層に該当するMACアドレスと、OSI第3層に該当するプロトコル番号およびIPアドレスと、OSI第4層に該当するポート番号とを含むことを特徴としている。
【0058】
更に、上記の第2のプログラムにおいて、前記第1および第2のセッション情報は、フレーム内のOSI第2層に該当するMACアドレスと、OSI第3層に該当するプロトコル番号およびIPアドレスと、OSI第4層に該当するポート番号とを含むことを特徴としている。
【0059】
更に、上記の第2のプログラムにおいて、前記第3のセッション情報は、フレーム内のOSI第2層に該当するMACアドレスと、OSI第3層に該当するプロトコル番号およびIPアドレスと、OSI第4層に該当するポート番号とを含むことを特徴としている。
【0060】
更に、上記の第1または第2のプログラムにおいて、前記プログラムインタフェースは、NDISインタフェース、ソケットインタフェースを含むインタフェースのいずれかであることを特徴としている。
【0061】
【発明の実施の形態】
先ず、本発明の構成の概要について、図1を参照して説明する。
【0062】
無線LANにおけるクライアントドライバの部分と上位アプリケーションドライバの間に、ミドルウェアを挿入することでQoSを実現する手段を設けることにある。すなわち、ミドルウェアであるQoSミドル部1は、OSI(OpenSystems Interconnection)参照モデルのOSI第3層以上のLAN通信を実現するTCP/IP等のOSI第3層以上のプロトコルスタック部3とLANのデバイスドライバであるデバイスドライバ部2とのインタフェースの間に入る。
【0063】
QoSミドル部1は、プロトコルスタック部3からの受信データをLANのデバイスドライバへ渡す送信部として複数のFIFOを持つ送信FIFO部51へのデータを振り分けるヘッダ比較部111と予め定めた優先順位を持つ複数のFIFOをもつ送信FIFO部52からの送信データの送信要求を合成する合成部112とを有し、送信部のヘッダ比較部111は、予め定めたキャッシュテーブル53に予め登録した情報と送信すべきフレーム内の各ヘッダ情報から抽出したセッション情報とを比較することで優先順位を抽出しその抽出した優先順位にあわせたFIFOへデータの送信要求(送信事象)をキューイングすることで予め定めた優先順位の高いデータを無線LANに送信する手段を提供する。なお、無線LANに限定するものではなく、低速通信回線へ応用しても、他のLAN通信へ応用しても良い。
【0064】
また、図1に示すようにデバイスドライバ部2からの受信データの受信要求をTCP/IP等OSI3層以上のプロトコルスタック部3へ届ける受信部として送信部と同様にヘッダ比較部121と複数のFIFOを持つ受信FIFO部52と合成部122とを有することで、無線LANからの受信データへのQoSを提供しても良い。
【0065】
次に、本発明の第1の実施の形態について、図面を参照して説明する。
【0066】
図2を参照すると、本発明の第1の実施の形態例としてIEEE802.11標準の無線LANである無線LAN901を介して他装置と通信を行う無線端末装置内のブロック図を示している。
【0067】
すなわち、図2を参照すると、無線端末装置は、QoSミドル部1と、OSI第3層以上の通信プロトコルに基づいて他装置と通信の制御を行うプロトコルスタック部3と、無線LAN901におけるデータリンク層の通信プロトコルにより相手とデータのやり取りを行うデバイスドライバ部2と、デバイスドライバ部2の制御の下で無線LANの物理層の通信プロトコルによるデータのやり取りを行う無線LANインタフェース部4と、複数のFIFOを有する送信FIFO部51と、複数のFIFOを有する受信FIFO部52と、キャッシュテーブル53と、監視タイマ部54と、共有バッファ部55とから構成される。この場合のQoSミドル部1およびデバイスドライバ部2は、図示していないプロセッサ(CPU)によりプログラム制御で動作する機能ブロックである。なお、QoSミドル部1およびデバイスドライバ部2を有する無線LANドライバ部911が無線LANインタフェース部4を制御する無線LANドライバとして扱われる。また、図1の無線端末装置には、その他図以外の機能ブロックおよびハードウェアも搭載しているが、説明都合上省略している。
【0068】
図2の共有バッファ部55は、図示していないメモリ内に割り当てられており、無線LAN901からフレームを受信する毎に1つのバッファが確保される。
【0069】
図2の送信FIFO部51は、図示していないメモリ(例えば、RAM)内にFIFO毎にエリアが割り当てられており、プロトコルスタック部3からデバイスドライバ部2へのフレームの送信要求(送信事象)がFIFO(First In First Out)形式でキューイングされ、取り出される。更に、送信FIFO部51は、優先順位毎の送信FIFO(送信事象をキューイングするための優先順位毎の格納エリア)を持っており、本第1の実施の形態例では、優先順位の高い高位送信FIFO511と優先順位の低い低位送信FIFO512とから構成される。
【0070】
図2の受信FIFO部52は、図示していないメモリ(例えば、RAM)内にFIFO毎にエリアが割り当てられており、デバイスドライバ部2からプロトコルスタック部3へのフレームの受信要求(受信事象)がFIFO(First In First Out)形式でキューイングされ、取り出される。更に、受信FIFO部52は、優先順位毎の受信FIFO(受信事象をキューイングするための優先順位毎の格納エリア)を持っており、本第1の実施の形態例では、優先順位の高い高位受信FIFO521と優先順位の低い低位受信FIFO522とから構成される。
【0071】
図2のキャッシュテーブル53は、RTPフレーム(RTPパケットの乗ったフレーム)のセッション情報が予め登録されている一時登録テーブル532と、セッション情報がセッション確立中に一時的に登録されている初期登録テーブル531と、から構成され、図示していないメモリ(例えば、RAM)内に割り当てられている。初期登録テーブル531は、優先順位の高いフレームかどうかを見分けるために利用され、一時登録テーブル532は、OSI第5層以上のパケットのヘッダ情報を解析する手順を省くために利用される。また、キャッシュテーブル53は、プロトコルスタック部3からの送信要求(事象)が発生した場合に、物理回線速度より早くデータを先読みし、本来物理回線速度に合わせた待ちデータとなっていたものを優先順位に合わせて並び直して待機し(従来のデータ送信待ち時間を利用し)、物理回線速度に合わせた優先付け通信を提供するために利用される。デバイスドライバ部2からの受信要求(事象)またはプロトコルスタック部3からの送信要求(事象)が発生した場合に、RTPパケットで一時登録テーブル532または初期登録テーブル531に該当するセッション情報が登録されていると、送信FIFO51または受信FIFO部52内の高位のFIFOにキューイングされ、登録されていないと、送信FIFO51または受信FIFO部52内の低位のFIFOにキューイングされる。すなわち、高位FIFOにキューイングされると、送信待ちまたは受信待ちの優先順位を上げることにある。初期登録テーブル531には、フレーム内の各ヘッダにおいて、OSI第2層に該当する相手先のMACアドレス、OSI第3層に該当するプロトコル番号と相手先のIPアドレス、OSI第4層に該当する相手先のポート番号(この場合は、TCPまたはUDPのポート番号)、第5層以上のアプリケーションパケットの種別が、1つのセッション情報として複数予め登録されている。この場合の相手先とは、送信元または送信先のことである。また、一時登録テーブル532には、フレーム内の各ヘッダにおいて、OSI第2層に該当する送信先および送信元のMACアドレス、OSI第3層に該当するプロトコル番号と送信先および受信先のIPアドレス、OSI第4層に該当する送信先および受信先のポート番号(この場合は、TCPまたはUDPのポート番号)が、1つのセッション情報として、新しいセッションが確立するたびに登録され、セッションが確立されていないと消去される。
【0072】
図2のQoSミドル部1は、無線LAN901へのフレームの送信時における送信要求の優先制御(優先処理)を行う送信部11と、無線LAN901からのフレームの受信時における受信要求の優先制御(優先処理)を行う受信部12と、セッション情報(接続情報)を監視するRTPセッションモニタ部13と、擬似プロトコルスタック部14と、から構成されている。なお、QoSミドル部1の送信部11および受信部12のプログラム(ミドルウェアドライバ)が存在し、そのプログラムは、アクセスポイントの無線LANドライバインストール時にデバイスドライバ部2のプログラムと一緒に無線端末装置に入る。
【0073】
図2の送信部11は、フレームの送信要求を中継する場合にキャッシュテーブル53のセッション情報に合わせて送信するフレーム内の各ヘッダ情報から抽出したセッション情報を比較し優先順位のFIFOを持つ送信FIFO部51へ送信要求(送信事象)を振り分けるヘッダ比較部111と、送信FIFO部51からの出力データ(送信事象)を合成(送信FIFO部51内の送信FIFOの識別を行う)して擬似プロトコル部14に出力する合成部112とから構成される。
【0074】
図2の受信部12は、擬似プロトコル部14からのフレームの受信要求を中継する場合にキャッシュテーブル53の情報に合わせて受信したフレーム内の各ヘッダ情報から抽出したセッション情報を比較し予め定められた優先順位を持つ受信FIFO部52へ受信要求(受信事象)を振り分けるヘッダ比較部121と、受信FIFO部52からの出力データ(受信事象)を合成(受信FIFO部52内の受信FIFOの識別を行う)してプロトコルスタック部3に出力する合成部122とから構成される。
【0075】
図3を参照すると、フレーム内の各ヘッダの割り当てを示す概略図であって、802.3規格のフレームヘッダと、IPヘッダと、TCPヘッダ(またはUDPヘッダ)、セッションヘッダ(RTPパケットのヘッダ)、セッションデータ部から構成されている。
【0076】
図2の監視タイマ部54は、複数のタイマを有しており、キャッシュテーブル53の一時登録テーブル532に登録されたセッション情報を監視するために利用される。監視タイマ部54内の各タイマは、一時登録テーブル532にRTPセッションモニタ部13により起動(クリア&スタート)され、予め決められた時間に到達するとタイマ割込み発生する。なお、タイマが起動される場合に一時登録テーブル53に登録したセッション情報と対応が取れるようにタイマ識別番号が一時登録テーブル53に登録される。
【0077】
図2のRTPセッションモニタ部13は、監視タイマ部54のタイマを起動することで、キャッシュテーブル53の一時登録テーブル532に登録されたセッション情報を監視する。監視タイマ54のタイマが予め決められた時間になる(タイムアウトになる)と、一時登録テーブル532に登録されている監視対象となったセッション情報(タイマ識別番号に対応するセッション情報)を消去する。
【0078】
プロトコルスタック部3とQoSミドル部1とのプログラムインタフェースは、NDIS(3COMとマイクロソフトによって共同開発されたデバイスドライバのインタフェースであって、Network Driver Interface Specificationの略)インタフェースまたはソケットインタフェースである。また、QoSミドル部1とデバイスドライバ部2とのインタフェースは、NDISインタフェースまたはソケットインタフェースである。
【0079】
図2の擬似プロトコルスタック14は、デバイスドライバ部2からQoSミドル部1に受信要求がある場合に、プロトコルスタック部3とのプログラムインタフェースであるNDISインタフェース(またはソケットインタフェース)の基で受信要求がデバイスドライバ2から行われるが、そのプログラムインタフェースの基で受信要求を受け取り、QoSミドル部1の受信部12に直接受信要求を行う。
【0080】
また、擬似プロトコルスタック14は、QoS部1の送信部11からのデバイス部2への送信要求を行う場合に送信部11から送信要求を受け取ってデバイスドライバ部2に対してプロトコルスタック部3とのプログラムインタフェースであるNDISインタフェース(またはソケットインタフェース)の基で送信要求を行う。
【0081】
次に、図2〜図9を参照して、本発明の第1の実施の形態の動作について説明する。
【0082】
ここでは、VoIPの音声やTV会議のビデオ情報を通信するRTP(Real−time Transport Protocol)フレームの確認をし、そのデータの送信待ちまたは受信待ちの処理順位を上げる一例である。この場合は、連続して無線LAN901にRTPフレームが流れることになる。通常RTPと判断するにはTCP/IP等OSI3層以上のプロトコルスタックからの受信データを受けたことを起点に、RTPフレームの確認を予め定めたキャッシュテーブルの情報と比較をOSI第2層から5層の情報比較で行うことが考えられるが、ここではOSI第4層までの予め定めた情報で比較し、5層以上のフレーム解析を行う手順を省き高速化している点が特徴となっている例である。この場合、送信するRTPパケットおよび受信するRTPパケットのフレームのセッション情報は、予めキャッシュテーブル53に初期登録テーブル531に設定されているものとする。なお、この初期登録テーブル531には、RTPパケットのセッション情報に限定するものではなく、RTPの制御情報のパケットが含まれても良いし、RTP以外のデータ通信でも良い。
【0083】
先ず、QoSミドル部1は、上位のプロトコルスタック部3からの情報受信(RTPパケットの送信要求)を起点にフレームの優先度確認が行われる。
【0084】
プロトコルスタック部3から送信要求を受けたQoSミドル部1が送信部11に制御を渡すと、送信部11のヘッダ比較部111は、フレーム内の各ヘッダ情報から送信先および送信元のポート番号と、送信先および送信元のIPアドレスと、プロトコル番号と、送信先および送信元のMACアドレスとを抽出したセッション情報がキャッシュテーブル53の一時登録テーブル532に登録されているかの確認を行う(図4のステップS101,S102)。
【0085】
ステップS102において、一時登録テーブル532に登録されていない場合(最初に送信または受信するRTPフレームのセッション情報は登録されていない)、送信部11のヘッダ比較部111は、フレーム内の各ヘッダ情報から送信先または送信元のポート番号と、送信先または送信元のIPアドレスと、プロトコル番号と、送信先または送信元のMACアドレスとを抽出したセッション情報がキャッシュテーブル53の初期登録テーブル531に登録されているかの確認を行う(図4のステップS103,S104)。
【0086】
ステップS104において、初期登録テーブル531に登録されているので、送信部11のヘッダ比較部111は、送信するフレームがOSI第5層であるRTPパケットのヘッダエリアに相当するヘッダ情報が予め決められた情報(キャッシュテーブル53のアプリケーションパケットの種別欄にRTPパケットを示すパターンで予め登録されている)であるかを確認することでRTPパケットかどうかの確認を行う(ステップS105,S106)。
【0087】
ステップS106において、RTPパケットであれば、送信部11のヘッダ比較部111は、送信するフレーム内の各ヘッダ情報から抽出した送信先および送信元のポート番号、送信先および送信元のIPアドレス、プロトコル番号、送信先および送信元のMACアドレスを1つのセッション情報として一時登録テーブル532に登録すると共に、RTPセッションモニタ部13に監視タイマ部54のタイマを起動(リセット&スタート)させる(ステップS107,S108)。
【0088】
この場合のRTPセッションモニタ部13は、起動する監視タイマ部54のタイマのタイマ識別番号を一時登録テーブル532内のステップS107で登録したセッション情報に該当するエリアに登録し、監視タイマ部54のタイマを起動することになる(図8のステップS301,S302)。
【0089】
監視タイマ部54のタイマを起動させた後、送信部11のヘッダ比較部111は、送信要求を送信事象として高位送信FIFO511に振り分けてキューイングする(図4のステップS109)。なお、送信事象には、送信要求の識別情報、共有バッファ部55内の格納場所、中継するフレームのレングス情報が含まれている。
【0090】
なお、ステップS106において、RTPパケットでなければ、送信部11のヘッダ比較部111は、送信要求を送信事象として低位送信FIFO512に振り分けてキューイングする(ステップS111)。
【0091】
なお、ステップS104において、初期登録テーブル531に登録されていない場合には、送信部11のヘッダ比較部111は、送信要求を送信事象として低位送信FIFO512に振り分けてキューイングする(ステップS111)。
【0092】
一方、送信部11の合成部112は、無線LANデバイスドライバ41が送信中でなければ(空き状態あれば)、送信FIFO部51にキューイングされているかのチェックを行い、キューイングされていれば、送信FIFOの識別を行う(図5のステップS121〜S124)。空き状態として、送信中でなければとしたが、送信するデータの残りの量を見てから送信部11の合成部112が動作するようにしても良い。すなわち、送信するデータの残りの量を見てから送信部11の合成部112が動作するようにすれば、送信待ちとなっている送信要求を送信待ち時間を利用して優先順位に合わせて並べなおして待機することになる。
【0093】
ステップS124において、送信部11の合成部112は、高位送信FIFO511にキューイングしていれば、無条件に高位送信FIFO511から読み出した送信事象を基に擬似プロトコルスタック部14に送信要求を行い、高位送信FIFO511にキューイングしていなければ、低位送信FIFO512から読み出した送信事象を基に擬似プロトコルスタック14に送信要求を行う(ステップS125,S126)。
【0094】
送信要求を受けた擬似プロトコルスタック14は、送信事象を基にNDISインタフェース(またはソケットインタフェース)に従った送信要求をデバイスドライバ部2に行う。
【0095】
送信部11の合成部112から送信要求を受けたデバイスドライバ部2は、送信要求を基に無線LANインタフェース部4に共有バッファ部55の該当するバッファからフレームを無線LAN901へ送信させる。
【0096】
このようにして最初のRTPパケットを送信した後、プロトコルスタック部3は、同じ装置宛に連続するRTPパケットを送るために、QoSミドル部1にRTPパケットの送信要求を行う。
【0097】
プロトコルスタック部3から送信要求を受けたQoSミドル部1が送信部11に制御を渡すと、送信部11のヘッダ比較部111は、フレーム内の各ヘッダ情報から送信先および送信元のポート番号と、送信先および送信元のIPアドレスと、プロトコル番号と、送信先および送信元のMACアドレスとを抽出したセッション情報がキャッシュテーブル53の一時登録テーブル532に登録されているかの確認を行う(図4のステップS101,S102)。
【0098】
ステップS102において、一時登録テーブル532に登録されているので、ヘッダ比較部111は、RTPセッションモニタ部13に対して監視タイマ部54のタイマを再起動(リセット&リスタート)させると共に、送信要求を高位送信FIFO511に振り分けてキューイングする(ステップS110,S109)。
【0099】
この場合のRTPセッションモニタ部13は、起動する監視タイマ部54のタイマのタイマ識別番号を一時登録テーブル532から抽出して監視タイマ部54のタイマ(抽出したタイマ識別番号のタイマ)を再起動(リセット&リスタート)することになる(図8のステップS311)。
【0100】
一方、送信部11の合成部112は、無線LANデバイスドライバ41が送信中でなければ(空き状態あれば)、送信FIFO部51にキューイングされているかのチェックを行い、キューイングされていれば、送信FIFOの識別を行う(図5のステップS121〜S124)。
【0101】
ステップS124において、送信部11の合成部112は、高位送信FIFO511にキューイングされているので、無条件に高位送信FIFO511から読み出した送信事象を基に擬似プロトコルスタック14に送信要求を行う(ステップS125)。
【0102】
擬似プロトコルスタック部14から送信要求を受けたデバイスドライバ部2は、送信要求を基に無線LANインタフェース部4に共有バッファ部55の該当するバッファからフレームを無線LAN901へ送信させる。
【0103】
やがて、同じ装置宛への連続するRTPパケットの送信が予め決められた時間なかった場合には、監視タイマ部54の該当するタイマがタイムアウトを起こす。すると、RTPセッションモニタ部13は、一時登録テーブル532に登録したセッション情報(タイムアウトを起こしたタイマ識別番号に該当するセッション情報)を消去する(図8のステップS321)。
【0104】
このように、同じ装置宛へのRTPパケットが連続する場合には、キャッシュテーブル53の一時登録テーブル532にセッション情報が登録されているため、OSI第2層〜OSI第4層までの各ヘッダ情報から抽出したセッション情報を基に一時登録テーブル532の登録の有無を確認するだけで、処理のかかるRTPのヘッダ情報まで確認する必要がなく、更に、優先順位の高いキュー(高位送信FIFO511)にキューイングし、優先順位の高いキューから送信要求を行うようにしているため、高速処理ができる。
【0105】
次に無線LAN901から無線LANインタフェース部4がRTPパケットの乗ったフレームを受信すると、デバイスドライバ部2は、無線LANインタフェース部4に対して共有バッファ部55に受信したフレームを格納させ、格納させ終わると、QoSミドル部1にNDISインタフェース(またはソケットインタフェース)に従ったフレームの受信要求を行う。
【0106】
デバイスドライバ部2から受信要求を受けたQoSミドル部1が擬似プロトコルスタック部14に制御を渡すと、擬似スタックプロトコル部14は、受信部12に送信要求を行う(図9のステップS411)。
【0107】
すると、受信部12のヘッダ比較部121は、フレーム内の各ヘッダ情報から送信先および送信元のポート番号と、送信先および送信元のIPアドレスと、プロトコル番号と、送信先および送信元のMACアドレスとを抽出したセッション情報がキャッシュテーブル53の一時登録テーブル532に登録されているかの確認を行う(図6のステップS201,S202)。
【0108】
ステップS202において、一時登録テーブル532に登録されていない場合(最初に送信または受信するRTPフレームのセッション情報は登録されていない)、受信部12のヘッダ比較部121は、フレーム内の各ヘッダ情報から送信先または送信元のポート番号と、送信先または送信元のIPアドレスと、プロトコル番号と、送信先または送信元のMACアドレスとを抽出したセッション情報がキャッシュテーブル53の初期登録テーブル531に登録されているかの確認を行う(図6のステップS203,S204)。
【0109】
ステップS204において、初期登録テーブル531に登録されているので、受信部12のヘッダ比較部121は、受信したフレームがOSI第5層であるRTPパケットのヘッダエリアに相当するヘッダ情報が予め決められた情報であるかを確認することでRTPパケットかどうかの確認を行う(ステップS205,S206)。
【0110】
ステップS206において、RTPパケットであれば、受信部12のヘッダ比較部121は、受信したフレーム内の各ヘッダ情報から抽出した送信先および送信元のポート番号、送信先および送信元のIPアドレス、プロトコル番号、送信先および送信元のMACアドレスを1つのセッション情報として一時登録テーブル532に登録すると共に、RTPセッションモニタ部13に監視タイマ部54のタイマを起動(リセット&スタート)させる(ステップS207,S208)。
【0111】
この場合のRTPセッションモニタ部13は、起動する監視タイマ部54のタイマのタイマ識別番号を一時登録テーブル532内のステップS207で登録したセッション情報に該当するエリアに登録し、監視タイマ部54のタイマを起動することになる(図8のステップS301,S302)。
【0112】
監視タイマ部54のタイマを起動させた後、受信部12のヘッダ比較部121は、送信要求を送信事象として高位受信FIFO521に振り分けてキューイングする(図6のステップS209)。なお、受信事象には、受信要求の識別情報、共有バッファ部55内の格納場所、受信したフレームのレングス情報が含まれている。
【0113】
なお、ステップS206において、RTPパケットでなければ、受信部12のヘッダ比較部121は、送信要求を送信事象として低位受信FIFO522に振り分けてキューイングする(ステップS211)。
【0114】
なお、ステップS204において、初期登録テーブル531に登録されていない場合には、受信部12のヘッダ比較部121は、受信要求を送信事象として低位受信FIFO522に振り分けてキューイングする(ステップS211)。
【0115】
一方、受信部12の合成部122は、プロトコルスタック部3が処理中でなければ(空き状態あれば)、受信FIFO部52にキューイングされているかのチェックを行い、キューイングされていれば、受信FIFOの識別を行う(図5のステップS221〜S224)。
【0116】
ステップS224において、受信部12の合成部122は、高位受信FIFO521にキューイングしていれば、無条件に高位受信FIFO521から読み出した受信事象を基にプロトコルスタック部3に受信要求を行い、高位受信FIFO521にキューイングしていなければ、低位受信FIFO522から読み出した受信事象を基にNDISインタフェース(またはソケットインタフェース)に従ってプロトコルスタック3に受信要求を行う(ステップS225,S226)。
【0117】
受信要求を受けたプロトコルスタック2は、受信要求を基にOSI3層以上の通信プロトコルに基づいた制御を行う。
【0118】
このようにして最初のRTPパケットを受信した後、デバイスドライバ部2は、同じ装置から連続するRTPパケットを受信する毎に、QoSミドル部1にRTPパケットの受信要求を行う。
【0119】
すなわち、無線インタフェース部4がRTPパケットの乗ったフレームを受信すると、デバイスドライバ部2は、無線LANインタフェース部4に対して共有バッファ部55に受信したフレームを格納させ、格納させ終わると、QoSミドル部1に対してNDISインタフェース(またはソケットインタフェース)に従ったフレームの受信要求を行う。
【0120】
デバイスドライバ部2から受信要求を受けたQoSミドル部1が擬似プロトコルスタック部14に制御を渡すと、擬似スタックプロトコル部14は、受信部12に受信要求を行う(図9のステップS411)。
【0121】
すると、受信部12のヘッダ比較部111は、フレーム内の各ヘッダ情報から送信先および送信元のポート番号と、送信先および送信元のIPアドレスと、プロトコル番号と、送信先および送信元のMACアドレスとを抽出したセッション情報がキャッシュテーブル53の一時登録テーブル532に登録されているかの確認を行う(図4のステップS201,S202)。
【0122】
ステップS202において、一時登録テーブル532に登録されているので、ヘッダ比較部121は、RTPセッションモニタ部13に対して監視タイマ部54のタイマを再起動(リセット&リスタート)させると共に、受信要求を高位送信FIFO521に振り分けてキューイングする(ステップS210,S209)。
【0123】
この場合のRTPセッションモニタ部13は、起動する監視タイマ部54のタイマのタイマ識別番号を一時登録テーブル532から抽出して監視タイマ部54のタイマ(抽出したタイマ識別番号のタイマ)を再起動(リセット&リスタート)することになる(図8のステップS311)。
【0124】
一方、受信部12の合成部122は、プロトコルスタック部3が処理中でなければ(空き状態あれば)、受信FIFO部52にキューイングされているかのチェックを行い、キューイングされていれば、受信FIFOの識別を行う(図5のステップS221〜S224)。
【0125】
ステップS224において、受信部12の合成部122は、高位受信FIFO521にキューイングされているので、無条件に高位受信FIFO521から読み出した受信事象を基にプロトコルスタック部3に受信要求を行う(ステップS225)。
【0126】
受信部12の合成部122から受信要求を受けたプロトコルスタック部3は、受信要求を基にOSI3層以上の通信プロトコルに基づいた制御を行う。
【0127】
やがて、同じ装置からの連続するRTPパケットの受信が予め決められた時間なかった場合には、監視タイマ部54の該当するタイマがタイムアウトを起こす。すると、RTPセッションモニタ部13は、一時登録テーブル532に登録したセッション情報(タイムアウトを起こしたタイマ識別番号に該当するセッション情報)を消去する(図8のステップS321)。
【0128】
なお、上記の第1の実施の形態では、RTPパケットについて説明したが、RTPパケット以外のOSI第5層以上の通信プロトコルを持った特定のパケットについても同じように動作し、本発明に含まれることは言うまでもない。
【0129】
また、上記説明において、RTPセッションモニタ部13は、セッション毎に監視タイマ部54のタイマを1つ割り当て使用したが、1つのタイマを利用して各セッションの時間を監視するようにしても良い。この場合は、例えば、タイマを一定間間(例えば、1ms)ごとに割り込むようにRTPセッションモニタ部13に割り込むようにしておく。キャッシュテーブル53の一時登録テーブル532にセッション情報が登録されるごとに、RTPセッションモニタ部13がステップS108(受信の場合は、ステップS208)により時間をカウントするエリア(カウントエリア)を確保し、タイマ割り込みが起こると、登録されているカウントエリアを+1ずつカウントアップし、ステップS110(受信の場合はS210)によりクリアする。RTPセッションモニタ部13は、タイマ割り込みでカウンタエリアが予め決められた値になれば、その該当するセッション情報を消去する。
【0130】
以上説明したように、同じ装置からのRTPパケットが連続する場合には、キャッシュテーブル53の一時登録テーブル532にセッション情報が登録されているため、OSI第2層〜OSI第4層までの各ヘッダ情報から抽出したセッション情報を基に一時登録テーブル532の登録の有無を確認するだけで、処理のかかるRTPのヘッダ情報まで確認する必要がなく、更に、優先順位の高いキュー(高位受信FIFO521)にキューイングし、優先順位の高いキューから送信要求を行うようにしているため、高速処理ができる。
【0131】
すなわち、上位の通信プロトコルに基づいた動作を行うプロトコルスタック部3とデバイスドライバ部2との間にFIFOによる優先処理を行うQoSミドル部1を設けるようにしたため、優先度の高い通信データの無線LAN901への送信待ちおよび優先度の高い通信データのプロトコルスタック部3への受信待ちになる現象を軽減することができる。
【0132】
また、一回目のRTPパケットのセッション情報をキャッシュテーブル53の一時登録テーブル532に登録したら、以降セッションが切れるまで、一時登録テーブル532に登録したセッション情報が使われなくなるまで見なしでRTPストリーム(連続したRTPフレーム)とみなせているため、優先順位の高い特定のパケットに対するプロトコルスタックの受信処理または/およびデバイスドライバの送信処理を出来る限り待たせることなく優先させることができる。
【0133】
また、高速制御を行うQoSミドル部1をプロトコルスタック部3とデバイスドライバ部2との間に入れても、擬似プロトコルスタック部14を設けたので、デバイスドライバ部2およびプロトコルスタック部3とのインタフェースを特別なインタフェースに置き換えることなく、従来通りのインタフェースのままで高速化することができる。
【0134】
また、送信FIFO部51および受信FIFO部52の各FIFOを無線端末装置に標準として搭載されているメモリ(例えば、RAM)内に割り当てれば、QoSミドル部1のプログラムをインストールするようにすれば、現状の環境をそのまま生かしてQoSが提供され、かつ、待ちを考慮したQoS対応のハードウェアを新たに購入しなくてよい費用効果も得られる。
【0135】
また、高速制御を行うQoSミドル部6をプロトコルスタック部3とデバイスドライバ部7との間に入れても、擬似プロトコルスタック部14を設けたので、デバイスドライバ部7およびプロトコルスタック部3とのインタフェースを特別なインタフェースに置き換えることなく、従来通りのインタフェースのままで高速化することができる。
【0136】
次に、本発明の第2の実施の形態について、図面を参照して説明する。
【0137】
図10を参照すると、本発明の第2の実施の形態例としてIEEE802.11標準の無線LANである無線LAN901を介して他装置と通信を行う無線端末装置内のブロック図を示している。無線端末装置は、QoSミドル部6と、OSI第3層以上の通信プロトコルに基づいて他装置と通信の制御を行うプロトコルスタック部3と、無線LAN901におけるデータリンク層の通信プロトコルにより相手とデータのやり取りを行うデバイスドライバ部7と、デバイスドライバ部7の制御の下で無線LANの物理層の通信プロトコルによるデータのやり取りを行う無線LANインタフェース部4と、複数のFIFOを有する送信FIFO部51と、複数のFIFOを有する受信FIFO部52と、キャッシュテーブル53と、監視タイマ部54と、共有バッファ部55とから構成される。この場合のQoSミドル部6およびデバイスドライバ部7は、図示していないプロセッサ(CPU)によりプログラム制御で動作する機能ブロックである。なお、QoSミドル部6およびデバイスドライバ部7を有する無線LANドライバ部912が無線LANインタフェース部4を制御する無線LANドライバとして扱われる。また、図1の無線端末装置には、その他図以外の機能ブロックおよびハードウェアも搭載しているが、説明都合上省略している。
【0138】
第1の実施の形態例と比較すると、第2の実施の形態は、擬似プロトコルスタック部14をQoSミドル部1から削除したため、QoSミドル部1をQoSミドル部6に、デバイスドライバ部2をデバイスドライバ部7にした点で、第1の実施の形態と相違する。すなわち、NDISインタフェースまたはソケットインタフェースを利用しないで、直接、デバイスドライバ部2とQoSミドル部6との間でやり取りを行うことで更なる高速化を行っている。なお、プロトコルスタック3とQoSミドル部6との間のインタフェースは、従来の互換性を保つために、NDISインタフェース、ソケットインタフェース等の標準的なインタフェースが利用される。
【0139】
図10のQoSミドル部6は、無線LAN901へのフレームの送信時における送信要求の優先制御(優先処理)を行う送信部61と、無線LAN901からのフレームの受信時における受信要求の優先制御(優先処理)を行う受信部62と、セッション情報(接続情報)を監視するRTPセッションモニタ部13とから構成される。
【0140】
図10の送信部61は、フレームの送信要求を中継する場合にキャッシュテーブル53のセッション情報に合わせて送信するフレーム内の各ヘッダ情報から抽出したセッション情報を比較し優先順位のFIFOを持つ送信FIFO部51へ送信要求(送信事象)を振り分けるヘッダ比較部611と、送信FIFO部51からの出力データ(送信事象)を合成(送信FIFO部51内の送信FIFOの識別を行う)してデバイスドライバ部7に出力する合成部612とから構成される。
【0141】
図10の受信部62は、フレームの受信要求を中継する場合にキャッシュテーブル53の情報に合わせて受信したフレーム内の各ヘッダ情報から抽出したセッション情報を比較し予め定められた優先順位を持つ受信FIFO部52へ受信要求(受信事象)を振り分けるヘッダ比較部621と、受信FIFO部52からの出力データ(受信事象)を合成(受信FIFO部52内の受信FIFOの識別を行う)してプロトコルスタック部3に出力する合成部622とから構成される。
【0142】
なお、その他の構成の詳細な説明については、第1の実施の形態と同じなので説明を省略する。また、図10中において、第1の実施の形態と同じ機能を示すブロックは、図10のブロックに付与した符号と同じ符号を付与している。
【0143】
次に、図3、図8、図10〜図14を参照して、本発明の第2の実施の形態の動作について説明する。
【0144】
ここでは、VoIPの音声やTV会議のビデオ情報を通信するRTP(Real−time Transport Protocol)フレームの確認をし、そのデータの処理順位を上げる一例である。この場合は、連続して無線LAN901にRTPフレームが流れることになる。通常RTPと判断するにはTCP/IP等OSI3層以上のプロトコルスタックからの受信データを受けたことを起点に、RTPフレームの確認を予め定めたキャッシュテーブルの情報と比較をOSI第2層から5層の情報比較で行うことが考えられるが、ここではOSI第4層までの予め定めた情報で比較し、5層以上のフレーム解析を行う手順を省き高速化している点が特徴となっている例である。この場合、送信するRTPパケットおよび受信するRTPパケットのフレームのセッション情報は、予めキャッシュテーブル53に初期登録テーブル531に設定されているものとする。なお、この初期登録テーブル531には、RTPパケットのセッション情報に限定するものではなく、RTPの制御情報のパケットが含まれても良いし、RTP以外のデータ通信でも良い。
【0145】
先ず、QoSミドル部6は、上位のプロトコルスタック部3からの情報受信(RTPパケットの送信要求)を起点にフレームの優先度確認が行われる。
【0146】
プロトコルスタック部3から送信要求を受けたQoSミドル部6が送信部61に制御を渡すと、送信部61のヘッダ比較部611は、フレーム内の各ヘッダ情報から送信先および送信元のポート番号と、送信先および送信元のIPアドレスと、プロトコル番号と、送信先および送信元のMACアドレスとを抽出したセッション情報がキャッシュテーブル53の一時登録テーブル532に登録されているかの確認を行う(図11のステップS501,S502)。
【0147】
ステップS502において、一時登録テーブル532に登録されていない場合(最初に送信または受信するRTPフレームのセッション情報は登録されていない)、送信部61のヘッダ比較部611は、フレーム内の各ヘッダ情報から送信先または送信元のポート番号と、送信先または送信元のIPアドレスと、プロトコル番号と、送信先または送信元のMACアドレスとを抽出したセッション情報がキャッシュテーブル53の初期登録テーブル531に登録されているかの確認を行う(図11のステップS503,S504)。
【0148】
ステップS504において、初期登録テーブル531に登録されているので、送信部61のヘッダ比較部611は、送信するフレームがOSI第5層であるRTPパケットのヘッダエリアに相当するヘッダ情報が予め決められた情報であるかを確認することでRTPパケットかどうかの確認を行う(ステップS505,S506)。
【0149】
ステップS506において、RTPパケットであれば、送信部61のヘッダ比較部611は、送信するフレーム内の各ヘッダ情報から抽出した送信先および送信元のポート番号、送信先および送信元のIPアドレス、プロトコル番号、送信先および送信元のMACアドレスを1つのセッション情報として一時登録テーブル532に登録すると共に、RTPセッションモニタ部13に監視タイマ部54のタイマを起動(リセット&スタート)させる(ステップS507,S508)。
【0150】
この場合のRTPセッションモニタ部13は、起動する監視タイマ部54のタイマのタイマ識別番号を一時登録テーブル532内のステップS507で登録したセッション情報に該当するエリアに登録し、監視タイマ部54のタイマを起動することになる(図8のステップS301,S302)。
【0151】
監視タイマ部54のタイマを起動させた後、送信部61のヘッダ比較部611は、送信要求を送信事象として高位送信FIFO511に振り分けてキューイングする(図11のステップS509)。なお、送信事象には、送信要求の識別情報、共有バッファ部55内の格納場所、中継するフレームのレングス情報が含まれている。
【0152】
なお、ステップS506において、RTPパケットでなければ、送信部61のヘッダ比較部611は、送信要求を送信事象として低位送信FIFO512に振り分けてキューイングする(ステップS511)。
【0153】
なお、ステップS504において、初期登録テーブル531に登録されていない場合には、送信部61のヘッダ比較部611は、送信要求を送信事象として低位送信FIFO512に振り分けてキューイングする(ステップS511)。
【0154】
一方、送信部61の合成部612は、無線LANデバイスドライバ41が送信中でなければ(空き状態あれば)、送信FIFO部51にキューイングされているかのチェックを行い、キューイングされていれば、送信FIFOの識別を行う(図12のステップS521〜S524)。
【0155】
ステップS524において、送信部61の合成部612は、高位送信FIFO511にキューイングしていれば、無条件に高位送信FIFO511から読み出した送信事象を基に擬似プロトコルスタック部14に送信要求を行い、高位送信FIFO511にキューイングしていなければ、低位送信FIFO512から読み出した送信事象を基にデバイスドライバ部7に送信要求を行う(ステップS525,S526)。
【0156】
QoSミドル部6から送信要求を受けたデバイスドライバ部7は、送信要求を基に無線LANインタフェース部4に共有バッファ部55の該当するバッファからフレームを無線LAN901へ送信させる。
【0157】
このようにして最初のRTPパケットを送信した後、プロトコルスタック部3は、同じ装置宛に連続するRTPパケットを送るために、QoSミドル部6にRTPパケットの送信要求を行う。
【0158】
プロトコルスタック部3から送信要求を受けたQoSミドル部6が送信部61に制御を渡すと、送信部61のヘッダ比較部611は、フレーム内の各ヘッダ情報から送信先および送信元のポート番号と、送信先および送信元のIPアドレスと、プロトコル番号と、送信先および送信元のMACアドレスとを抽出したセッション情報がキャッシュテーブル53の一時登録テーブル532に登録されているかの確認を行う(図11のステップS501,S502)。
【0159】
ステップS502において、一時登録テーブル532に登録されているので、ヘッダ比較部611は、RTPセッションモニタ部13に対して監視タイマ部54のタイマを再起動(リセット&リスタート)させると共に、送信要求を高位送信FIFO511に振り分けてキューイングする(ステップS510,S509)。
【0160】
この場合のRTPセッションモニタ部13は、起動する監視タイマ部54のタイマのタイマ識別番号を一時登録テーブル532から抽出して監視タイマ部54のタイマ(抽出したタイマ識別番号のタイマ)を再起動(リセット&リスタート)することになる(図8のステップS311)。
【0161】
一方、送信部61の合成部612は、無線LANデバイスドライバ41が送信中でなければ(空き状態あれば)、送信FIFO部51にキューイングされているかのチェックを行い、キューイングされていれば、送信FIFOの識別を行う(図12のステップS521〜S524)。
【0162】
ステップS524において、送信部61の合成部612は、高位送信FIFO511にキューイングされているので、無条件に高位送信FIFO511から読み出した送信事象を基にデバイスドライバ部7に送信要求を行う(ステップS525)。
【0163】
QoSミドル部6から送信要求を受けたデバイスドライバ部7は、送信要求を基に無線LANインタフェース部4に共有バッファ部55の該当するバッファからフレームを無線LAN901へ送信させる。
【0164】
やがて、同じ装置宛への連続するRTPパケットの送信が予め決められた時間なかった場合には、監視タイマ部54の該当するタイマがタイムアウトを起こす。すると、RTPセッションモニタ部13は、一時登録テーブル532に登録したセッション情報(タイムアウトを起こしたタイマ識別番号に該当するセッション情報)を消去する(図8のステップS321)。
【0165】
なお、上記の第2の実施の形態では、RTPパケットについて説明したが、RTPパケット以外のOSI第5層以上の通信プロトコルを持った特定のパケットについても同じように動作し、本発明に含まれることは言うまでもない。
【0166】
このように、同じ装置宛へのRTPパケットが連続する場合には、キャッシュテーブル53の一時登録テーブル532にセッション情報が登録されているため、OSI第2層〜OSI第4層までの各ヘッダ情報から抽出したセッション情報を基に一時登録テーブル532の登録の有無を確認するだけで、処理のかかるRTPのヘッダ情報まで確認する必要がなく、更に、優先順位の高いキュー(高位送信FIFO511)にキューイングし、優先順位の高いキューから送信要求を行うようにしているため、高速処理ができる。
【0167】
次に無線LAN901からRTPパケットが乗ったフレームを無線LANインタフェース部4が受信すると、デバイスドライバ部7は、無線LANインタフェース部4に対して共有バッファ部55に受信したフレームを格納させ、格納させ終わると、QoSミドル部6にNDISインタフェース(またはソケットインタフェース)に従ったフレームの受信要求を行う。
【0168】
デバイスドライバ部7から受信要求を受けたQoSミドル部6が受信部62に制御を渡すと、受信部62のヘッダ比較部621は、フレーム内の各ヘッダ情報から送信先および送信元のポート番号と、送信先および送信元のIPアドレスと、プロトコル番号と、送信先および送信元のMACアドレスとを抽出したセッション情報がキャッシュテーブル53の一時登録テーブル532に登録されているかの確認を行う(図13のステップS601,S602)。
【0169】
ステップS602において、一時登録テーブル532に登録されていない場合(最初に送信または受信するRTPフレームのセッションは登録されていない)、受信部62のヘッダ比較部621は、フレーム内の各ヘッダ情報から送信先または送信元のポート番号と、送信先または送信元のIPアドレスと、プロトコル番号と、送信先または送信元のMACアドレスとを抽出したセッション情報がキャッシュテーブル53の初期登録テーブル531に登録されているかの確認を行う(図13のステップS603,S604)。
【0170】
ステップS604において、初期登録テーブル531に登録されているので、受信部62のヘッダ比較部621は、受信したフレームがOSI第5層であるRTPパケットのヘッダエリアに相当するヘッダ情報が予め決められた情報であるかを確認することでRTPパケットかどうかの確認を行う(ステップS605,S606)。
【0171】
ステップS606において、RTPパケットであれば、受信部62のヘッダ比較部621は、受信したフレーム内の各ヘッダ情報から抽出した送信先および送信元のポート番号、送信先および送信元のIPアドレス、プロトコル番号、送信先および送信元のMACアドレスを1つのセッション情報として一時登録テーブル532に登録すると共に、RTPセッションモニタ部13に監視タイマ部54のタイマを起動(リセット&スタート)させる(ステップS607,S608)。
【0172】
この場合のRTPセッションモニタ部13は、起動する監視タイマ部54のタイマのタイマ識別番号を一時登録テーブル532内のステップS607で登録したセッション情報に該当するエリアに登録し、監視タイマ部54のタイマを起動することになる(図8のステップS301,S302)。
【0173】
監視タイマ部54のタイマを起動させた後、受信部62のヘッダ比較部621は、送信要求を送信事象として高位受信FIFO521に振り分けてキューイングする(図13のステップS609)。なお、受信事象には、受信要求の識別情報、共有バッファ部55内の格納場所、中継するフレームのレングス情報が含まれている。
【0174】
なお、ステップS606において、RTPパケットでなければ、受信部62のヘッダ比較部621は、送信要求を送信事象として低位受信FIFO522に振り分けてキューイングする(ステップS611)。
【0175】
なお、ステップS604において、初期登録テーブル531に登録されていない場合には、受信部62のヘッダ比較部621は、受信要求を送信事象として低位受信FIFO522に振り分けてキューイングする(ステップS611)。
【0176】
一方、受信部62の合成部622は、プロトコルスタック部3が処理中でなければ(空き状態あれば)、受信FIFO部52にキューイングされているかのチェックを行い、キューイングされていれば、受信FIFOの識別を行う(図14のステップS621〜S624)。
【0177】
ステップS624において、受信部62の合成部622は、高位受信FIFO521にキューイングしていれば、無条件に高位受信FIFO521から読み出した受信事象を基にプロトコルスタック部3に受信要求を行い、高位受信FIFO521にキューイングしていなければ、低位受信FIFO522から読み出した受信事象を基にNDISインタフェース(またはソケットインタフェース)に従ってプロトコルスタック3に受信要求を行う(ステップS625,S626)。
【0178】
受信要求を受けたプロトコルスタック2は、受信要求を基にOSI3層以上の通信プロトコルに基づいた制御を行う。
【0179】
このようにして最初のRTPパケットを受信した後、デバイスドライバ部7は、同じ装置から連続するRTPパケットを受信する毎に、QoSミドル部6にRTPパケットの受信要求を行う。
【0180】
すなわち、無線インタフェース部4がRTPパケットの乗ったフレームを受信すると、デバイスドライバ部7は、無線LANインタフェース部4に対して共有バッファ部55に受信したフレームを格納させ、格納させ終わると、QoSミドル部6に対してNDISインタフェース(またはソケットインタフェース)に従ったフレームの受信要求を行う。
【0181】
デバイスドライバ部7から受信要求を受けたQoSミドル部6が受信部62に制御を渡すと、受信部62のヘッダ比較部611は、フレーム内の各ヘッダ情報から送信先および送信元のポート番号と、送信先および送信元のIPアドレスと、プロトコル番号と、送信先および送信元のMACアドレスとを抽出したセッション情報がキャッシュテーブル53の一時登録テーブル532に登録されているかの確認を行う(図13のステップS601,S602)。
【0182】
ステップS602において、一時登録テーブル532に登録されているので、ヘッダ比較部621は、RTPセッションモニタ部13に対して監視タイマ部54のタイマを再起動(リセット&リスタート)させると共に、受信要求を高位送信FIFO521に振り分けてキューイングする(ステップS610,S609)。
【0183】
この場合のRTPセッションモニタ部13は、起動する監視タイマ部54のタイマのタイマ識別番号を一時登録テーブル532から抽出して監視タイマ部54のタイマ(抽出したタイマ識別番号のタイマ)を再起動(リセット&リスタート)することになる(図8のステップS311)。
【0184】
一方、受信部62の合成部622は、プロトコルスタック部3が処理中でなければ(空き状態あれば)、受信FIFO部52にキューイングされているかのチェックを行い、キューイングされていれば、受信FIFOの識別を行う(図14のステップS621〜S624)。
【0185】
ステップS624において、受信部62の合成部622は、高位受信FIFO521にキューイングされているので、無条件に高位受信FIFO521から読み出した受信事象を基にプロトコルスタック部3に受信要求を行う(ステップS625)。
【0186】
受信部62の合成部622から受信要求を受けたプロトコルスタック部3は、受信要求を基にOSI3層以上の通信プロトコルに基づいた制御を行う。
【0187】
やがて、同じ装置からの連続するRTPパケットの受信が予め決められた時間なかった場合には、監視タイマ部54の該当するタイマがタイムアウトを起こす。すると、RTPセッションモニタ部13は、一時登録テーブル532に登録したセッション情報(タイムアウトを起こしたタイマ識別番号に該当するセッション情報)を消去する(図8のステップS321)。
【0188】
このように、同じ装置からのRTPパケットが連続する場合には、キャッシュテーブル53の一時登録テーブル532にセッション情報が登録されているため、OSI第2層〜OSI第4層までの各ヘッダ情報から抽出したセッション情報を基に一時登録テーブル532の登録の有無を確認するだけで、処理のかかるRTPのヘッダ情報まで確認する必要がなく、更に、優先順位の高いキュー(高位受信FIFO521)にキューイングし、優先順位の高いキューから送信要求を行うようにしているため、高速処理ができる。
【0189】
すなわち、上位の通信プロトコルに基づいた動作を行うプロトコルスタック部3とデバイスドライバ部7との間にFIFOによる優先処理を行うQoSミドル部6を設けるようにしたため、優先度の高い通信データの無線LAN901への送信待ちおよび優先度の高い通信データのプロトコルスタック部3への受信待ちになる現象を軽減することができる。
【0190】
また、一回目のRTPパケットのセッション情報をキャッシュテーブル53の一時登録テーブル532に登録したら、以降セッションが切れるまで、一時登録テーブル532に登録したセッション情報が使われなくなるまで見なしでRTPストリーム(連続したRTPフレーム)とみなせているため、優先順位の高い特定のパケットに対するプロトコルスタックの受信処理または/およびデバイスドライバの送信処理を出来る限り待たせることなく優先させることができる。
【0191】
また、送信FIFO部51および受信FIFO部52の各FIFOを無線端末装置に標準として搭載されているメモリ(例えば、RAM)内に割り当てれば、QoSミドル部6およびデバイスドライバ部7のプログラムをインストールするようにすれば、現状の環境をそのまま生かしてQoSが提供され、かつ、待ちを考慮したQoS対応のハードウェアを新たに購入しなくてよい費用効果も得られる。
【0192】
次に、本発明の第3の実施の形態について、図面を参照して説明する。
【0193】
図15を参照すると、本発明の第3の実施の形態は、コンピュータ81と、記録媒体(例えば、CD−R,CD−RW等)である記録媒体82と、装置89と、無線LAN901とから構成されている。なお、コンピュータ81と装置89との通信は、無線LAN901を介して行われる。
【0194】
記録媒体82は、QoSプログラム821を格納している。
【0195】
図15のコンピュータ81は、図示していないプロセッサ(CPU)によりプログラム制御で動作する制御部811と、読出し書込みのできるメモリ(例えば、RAM)であるメモリ部812と、無線インタフェース部4を有する無線LANカードである無線LANカード813と、不揮発性の記録媒体装置(例えば、磁気ディスク)である記憶部814と、媒体82の媒体装置(例えば、CD−R装置、CD−RW装置等)である媒体装置815と、監視タイマ部54と、から構成される。
【0196】
図15の制御部811は、プロトコルスタック部3と、QoSミドル部1と、デバイスドライバ部2とから構成される。すなわち、プロトコルスタック部3とQoSミドル部1とデバイスドライバ部2とは、記憶部814にある通信プログラムがメモリ部812に展開された場合にプロセッサ(CPU)がプログラムを実行する場合の機能ブロックである。
【0197】
図15の記憶部814は、記録媒体82のQoSミドルプログラム821をインストールした場合に保存された場合の構成を示しており、QoSミドルプログラム821を含むプログラム等が保存されている。
【0198】
なお、制御部811内の各ブロックの符号は、第1の実施の形態の図2で使用する符号と同じであり、機能も同じなので詳細な説明を省略する。
【0199】
次に、図15を参照して本発明の第3の実施の形態の動作について説明する。
【0200】
今、ユーザがコンピュータ81にインストールされている無線LANのドライバの機能アップを図るため、記録媒体82を媒体装置815にセットして、QoSミドルプログラム821のインストールを行うと、コンピュータ81の制御部811は、QoSミドルプログラム821を記憶部814に格納する。QoSミドルプログラム821の格納が終わった後、コンピュータ81を再立上げすると、メモリ812にQoSミドルプログラム821を含むプログラムが展開され、制御部811は、プロトコルスタック部3、QoSミドル部1、デバイスドライバ部2を確立する。
【0201】
なお、確立してからの制御部861内の各ブロックの動作については、第1の実施の形態の形態で説明した動作と同じなので説明を省略する。
【0202】
また、上記第3の実施の形態の説明では、記録媒体82からコンピュータ81にQoSミドルプログラム821をインストールするようにしたが、装置89からQoSミドルプログラム821を、無線LAN901を介してコンピュータ86にインストールするようにしても良い。
【0203】
また、上記第3の実施の形態の説明では、コンピュータの81の機能アップとして説明したが、無線LANのドライバとして、QoSミドルプログラム821とデバイスドライバ部2の機能有するデバイスドライバとをコンピュータ81にインストールするようにしても良いし、予めインストールされていても良い。インストールされた後のQoSミドルプログラム821を実行するプロセッサ(CPU)の動作と、機能アップにおけるQoSミドルプログラム821を実行するプロセッサ(CPU)の動作と同じであることは言うまでもない。
【0204】
次に、本発明の第4の実施の形態について、図面を参照して説明する。
【0205】
図16を参照すると、本発明の第4の実施の形態は、コンピュータ81と、記録媒体(例えば、CD−R,CD−RW等)である記録媒体83と、装置89と、無線LAN901とから構成されている。なお、コンピュータ81と装置89との通信は、無線LAN901を介して行われる。
【0206】
記録媒体83は、QoSプログラム8311とデバイスドライバ8312とを含む無線LANドライバ831を格納している。
【0207】
図16のコンピュータ81は、図示していないプロセッサ(CPU)によりプログラム制御で動作する制御部811と、読出し書込みのできるメモリ(例えば、RAM)であるメモリ部812と、無線インタフェース部4を有する無線LANカードである無線LANカード813と、不揮発性の記録媒体装置(例えば、磁気ディスク)である記憶部814と、媒体83の媒体装置(例えば、CD−R装置、CD−RW装置等)である媒体装置815と、監視タイマ部54と、から構成される。
【0208】
図16の制御部811は、プロトコルスタック部3と、QoSミドル部6と、デバイスドライバ部7とから構成される。すなわち、プロトコルスタック部3とQoSミドル部6とデバイスドライバ部7とは、記憶部814にある通信プログラムがメモリ部812に展開された場合にプロセッサ(CPU)がプログラムを実行する場合の機能ブロックである。
【0209】
図16の記憶部814は、記録媒体83の無線LANドライバ831をインストールした場合に保存された場合の構成を示しており、QoSミドルプログラム8311とデバイスドライバ8312とを含むプログラム等が格納されている。
【0210】
なお、制御部811内の各ブロックの符号は、第2の実施の形態の図10で使用する符号と同じであり、機能も同じなので詳細な説明を省略する。
【0211】
次に、図16を参照して本発明の第4の実施の形態の動作について説明する。
【0212】
今、ユーザがコンピュータ81にインストールされている無線LANのドライバの機能アップを図るため、記録媒体82を媒体装置815にセットして、無線LANドライバ831のインストールを行うと、コンピュータ81の制御部811は、QoSミドルプログラム8311とデバイスドライバ8312とを記憶部814に格納する。QoSミドルプログラム8311およびデバイスドライバ8312の格納が終わった後、コンピュータ81を再立上げすると、メモリ812にQoSミドルプログラム8311を含むプログラムが展開され、制御部811は、プロトコルスタック部3、QoSミドル部1、デバイスドライバ部2を確立する。
【0213】
なお、確立してからの制御部861内の各ブロックの動作については、第2の実施の形態で説明した動作と同じなので説明を省略する。
【0214】
また、上記第4の実施の形態の説明では、記録媒体82からコンピュータ81に無線LANドライバ831をインストールするようにしたが、装置89から無線LANドライバ831を無線LAN901を介してコンピュータ86にインストールするようにしても良い。
【0215】
また、上記第4の実施の形態の説明では、コンピュータの81の機能アップとして説明したが、初めてものとしてコンピュータ81に無線LANドライバ831をインストールしても良いし、予めインストールされていても良い。インストールされた後のQoSミドルプログラム8311を実行するプロセッサ(CPU)の動作と、機能アップにおけるQoSミドルプログラム8311を実行するプロセッサ(CPU)の動作と同じであることは言うまでもない。
【0216】
次に、本発明の第5の実施の形態について、図面を参照して説明する。
【0217】
図17を参照すると、本発明の第5の実施の形態は、コンピュータ86と、記録媒体(例えば、CD−R,CD−RW等)である記録媒体84と、装置89と、無線LAN901とから構成されている。なお、コンピュータ86と装置89との通信は、無線LAN901を介して行われる。
【0218】
記録媒体84は、QoSプログラム821を格納している。
【0219】
図17のコンピュータ86は、図示していないプロセッサ(CPU)によりプログラム制御で動作する制御部861と、読出し書込みのできるメモリ(例えば、RAM)であるメモリ部862と、無線LANカードである無線LANカード813と、不揮発性の記録媒体装置(例えば、磁気ディスク)である記憶部864と、記録媒体84の媒体装置(例えば、CD−R装置、CD−RW装置等)である媒体装置865とから構成される。
【0220】
図16の制御部861は、プロトコルスタック部3から構成される。すなわち、プロトコルスタック部3は、記憶部864にある通信プログラムがメモリ部862に展開された場合にプロセッサ(CPU)がプログラムを実行する場合の機能ブロックである。
【0221】
図17の記憶部864は、記録媒体84の無線LANドライバ841をインストールした場合に保存された場合の構成を示しており、QoSミドルプログラム8411とデバイスドライバ8412とを含むプログラム等が格納されている。
【0222】
無線LANカード863は、図示していない無線LANカード863が実装するプロセッサ(CPU)によりプログラム制御で動作する制御部8631と、読出し書込みのできるメモリ(例えば、RAM)であるメモリ部8632と、無線LANインタフェース部4と、監視タイマ部54とから構成される。
【0223】
図17の制御部8631は、QoSミドル部6と、デバイスドライバ部7とから構成される。すなわち、QoSミドル部6とデバイスドライバ部7とは、記憶部864にある通信プログラム(この場合は、QoSミドルプログラム821および図示していないデバイスドライバ)がメモリ部8632に展開された場合にプロセッサ(CPU)がプログラムを実行する場合の機能ブロックである。
【0224】
なお、制御部861内および制御部8631内の各ブロックの符号は、第2の実施の形態の図10で使用する符号と同じであり、機能も同じなので詳細な説明を省略する。
【0225】
次に、図17を参照して本発明の第5の実施の形態の動作について説明する。
【0226】
今、ユーザがコンピュータ86にインストールされている無線LANのドライバの機能アップを図るため、記録媒体84を媒体装置865にセットして、無線LANドライバ831のインストールを行うと、コンピュータ86の制御部861は、QoSミドルプログラム8311とデバイスドライバ8312とを記憶部864に格納する。QoSミドルプログラム8311およびデバイスドライバ8312の格納が終わった後、コンピュータ86を再立上げすると、メモリ862にプロトコルスタックを含む通信プログラムが展開され、更に、QoSミドルプログラム8411およびデバイスドライバ8412のプログラムが展開される。すると、制御部811は、プロトコルスタック部3を確立し、制御部8631は、QoSミドル部6、デバイスドライバ部7を確立する。
【0227】
なお、確立してからの制御部861内の各ブロックの動作については、第2の実施の形態で説明した動作と同じなので説明を省略する。
【0228】
また、上記第5の実施の形態の説明では、記録媒体84からコンピュータ86に無線LANドライバ841をインストールするようにしたが、装置89から無線LAN901を介してコンピュータ86に無線LANドライバ841をインストールするようにしても良い。
【0229】
また、上記第5の実施の形態の説明では、コンピュータの86の機能アップとして説明したが、初めてものとしてコンピュータ86に無線LANドライバ841をインストールしても良いし、予めインストールされていても良い。インストールされた後のQoSミドルプログラム8411を実行するプロセッサ(CPU)の動作と、機能アップにおけるQoSミドルプログラム8411を実行するプロセッサ(CPU)の動作と同じであることは言うまでもない。
【0230】
また、上記の第1〜第5の実施の形態の説明では、無線LANを例に取り説明したが、通信機構を無線LANに限定するものではなく、他のLAN通信を利用したとしても、動作が同じになることは言うまでもない。
【0231】
また、仮想的なFIFOのメモリ量は、固定ではなく、キャッシュテーブル53の情報やFIFOの利用効率に合わせて動的に変化させても良い。FIFOへの先読みは、予め定めた式で物理回線速度より早く見せかけても良い。例えば、10%早くするようにして、物理回線とかけ離れた早さで読み込むことを防いでも良い。
【0232】
【発明の効果】
上記に説明したように、本発明は、プログラムスタックとデバイスドライバとの間に入る構成をとり、フレーム内の各ヘッダ内の情報を基に送信要求または/および受信要求の優先順位毎に振り分けるようにしているため、優先順位の高い特定のパケットに対するプロトコルスタックの受信処理または/およびデバイスドライバの送信処理を出来る限り待たせることなく優先させるという効果がある。
【0233】
また、本発明は、一回目の特定のパケットのセッション情報が確定したら、以降セッションが切れるまでそのセッション情報が使われなくなるまで見なしで特定パケット(例えば、RTP)のストリームとみなせているため、優先順位の高い特定のパケットに対するプロトコルスタックの受信処理または/およびデバイスドライバの送信処理を出来る限り待たせることなく優先させるという効果がある。
【0234】
また、本発明は、プログラムスタックとデバイスドライバとの間に入る構成をとり、フレーム内の各ヘッダ内の情報を基に送信要求または/および受信要求の優先順位毎に振り分ける機能を持つプログラムをインストールするようにしたため、現状のハードウェアに影響を与えることなく、かつプログラムをインストールするだけで優先順位の高い特定のパケットに対する装置内のスループットの時間を減らすことができるという効果があり、新規導入費を削減することができるという効果がある。
【0235】
また、本発明は、プログラムスタックとデバイスドライバとの間に入る構成をとり、フレーム内の各ヘッダ内の情報を基に送信要求または/および受信要求の優先順位毎に振り分けるようにし、かつデバイスドライバおよびプロトコルスタックとのやり取りをNDISインタフェース、ソケットインタフェース等のプログラムインタフェースで行っているため、NDISインタフェース、ソケットインタフェース等のプログラムインタフェースを保障した上で優先順位の高い特定のパケットに対する装置内のスループットの時間を減らすことできるという効果がある。
【図面の簡単な説明】
【図1】既存のアプリケーションに対応した本発明の概要を説明する上での構成の概略を示すブロック図である。
【図2】本発明の第1の実施の形態の構成を示すブロック図である。
【図3】フレーム内の各ヘッダの割り当てを示す構成概略図である。
【図4】図2のQoSミドル部・送信部のヘッダ比較部の動作を示すフローチャートである。
【図5】図2のQoSミドル部・送信部の合成部の動作を示すフローチャートである。
【図6】図2のQoSミドル部・受信部のヘッダ比較部の動作を示すフローチャートである。
【図7】図2のQoSミドル部・受信部の合成部の動作を示すフローチャートである。
【図8】図2または図10のQoSミドル部のRTPセッションモニタ部の動作を示すフローチャートである。
【図9】図2のQoSミドル部の擬似プロトコルスタック部の動作を示すフローチャートである。
【図10】本発明の第2の実施の形態の構成を示すブロック図である。
【図11】図10のQoSミドル部・送信部のヘッダ比較部の動作を示すフローチャートである。
【図12】図10のQoSミドル部・送信部の合成部の動作を示すフローチャートである。
【図13】図10のQoSミドル部・受信部のヘッダ比較部の動作を示すフローチャートである。
【図14】図10のQoSミドル部・受信部の合成部の動作を示すフローチャートである。
【図15】本発明の第3の実施の形態の構成を示すブロック図である。
【図16】本発明の第4の実施の形態の構成を示すブロック図である。
【図17】本発明の第5の実施の形態の構成を示すブロック図である。
【符号の説明】
1,6  QoSミドル部
2,7  デバイスドライバ部
3  プロトコルスタック部
4  無線LANインタフェース部
11,61  送信部
12,62  受信部
13  RTPセッションモニタ部
14  擬似プロトコルスタック部
51  送信FIFO部
52  受信FIFO部
53  キャッシュテーブル
54  監視タイマ
55  共有バッファ部
111,121,611,621  ヘッダ比較部
112,122,612,622  合成部
511  高位送信FIFO
512  低位送信FIFO
521  高位受信FIFO
522  低位受信FIFO
531  初期登録テーブル
532  一時登録テーブル
81,86  コンピュータ
82,83,84  記録媒体
89  装置
811,861,8631  制御部
812,8632  メモリ部
813,863  無線LANカード
814,864  記憶部
815  媒体装置
821,8311,8411  QoSミドルプログラム
831,841  無線LANドライバ
901  無線LAN
911,912  無線LANドライバ部
8312,8412  デバイスドライバ

Claims (53)

  1. ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、OSI第3層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置であって、
    前記通信プロトコル部と前記デバイスドライバ部との間に挿入されたミドルウェア部を備え、
    前記ミドルウェア部は、前記プロトコルスタック部から送信フレームの送信要求があった場合に送信フレーム内のOSI第2層からOSI第4層までの各ヘッダ情報を基に前記送信要求の優先順位を振り分けその振り分けた優先順位に従って前記デバイスドライバ部への前記送信要求を行う送信手段を有することを特徴とする端末装置。
  2. 前記ミドルウェア部は、前記デバイスドライバ部から受信フレームの受信要求があった場合に受信フレーム内のOSI第2層からOSI第4層までの各ヘッダ情報を基に前記受信要求の優先順位を振り分けその振り分けた優先順位に従って前記プロトコルスタック部への前記受信要求を行う受信手段を有することを特徴とする請求項1記載の端末装置。
  3. 優先順位の高いセッション情報が予め登録されているキャッシュテーブルと、
    優先順位に対応した複数の第1のFIFOと、を備え、
    前記送信手段は、前記プロトコルスタック部から前記送信フレームの送信要求があった場合に前記送信フレーム内のOSI第2層からOSI第4層までの各ヘッダ情報を基に前記キャッシュテーブルを検索することにより優先順位を抽出しその抽出した優先順位に従って前記送信要求を前記複数の第1のFIFOに振り分ける第1のヘッダ比較手段と、
    前記複数の第1のFIFOから出力される送信要求を前記第1のFIFOの優先順位に従って合成して前記デバイスドライバ部に出力する第1の合成手段と、を有することを特徴とする請求項1記載の端末装置。
  4. 優先順位に対応した複数の第2のFIFOと、を備え、
    前記受信手段は、前記デバイスドライバ部から前記受信フレームの受信要求があった場合に前記受信フレーム内のOSI第2層からOSI第4層までの各ヘッダ情報を基に前記キャッシュテーブルを検索することにより優先順位を抽出しその抽出した優先順位に従って前記受信要求を前記複数の第2のFIFOに振り分ける第2のヘッダ比較手段と、
    前記複数の第2のFIFOから出力される受信要求を前記第2のFIFOの優先順位に従って合成して前記プロトコルスタック部に出力する第2の合成手段と、
    を有することを特徴とする請求項2記載の端末装置
  5. ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、OSI第3層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置であって、
    前記通信プロトコル部と前記デバイスドライバ部との間に挿入されたミドルウェア部を備え、
    前記ミドルウェア部は、予め決められた送信先に連続するOSI第5層以上の通信プロトコルで規定された特定のパケットの送信要求が前記プロトコルスタック部からあった場合に、最初の送信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せる送信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記デバイスドライバ部に対して送信待ちの優先順位を上げて前記送信要求を行う第1の送信要求手段と、
    それ以降連続する前記特定のパケットを送信する場合にはそれ以降連続する前記特定のパケットを乗せる送信フレーム内のOSI第2層から第4層までのヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで送信待ちの優先順位を上げて前記送信要求を行う第2の送信要求手段と、を有することを特徴とする端末装置。
  6. 前記ミドルウェア部は、予め決められた送信元から連続するOSI第5層以上の通信プロトコルで規定された特定のパケットの受信要求が前記デバイスドライバ部からあった場合に、最初の受信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せた受信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記プロトコルスタック部に対して受信待ちの優先順位を上げて前記受信要求を行う第1の受信要求手段と、
    それ以降連続する前記特定のパケットを受信する場合にはそれ以降連続する特定のパケットを乗せた前記受信フレーム内のOSI第2層から第4層までの各ヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで受信待ちの優先順位を上げて前記受信要求を行う第2の受信要求手段と、を有することを特徴とする請求項5記載の端末装置。
  7. 前記ミドルウェア部は、前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続ける監視手段を有することを特徴とする請求項5記載の端末装置。
  8. 前記ミドルウェア部は、前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続ける監視手段を有することを特徴とする請求項6記載の端末装置。
  9. ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、OSI第3層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置であって、
    前記通信プロトコル部と前記デバイスドライバ部との間に挿入されたミドルウェア部と、
    優先順位の高い複数の第1のセッション情報が予め登録された第1のキャッシュテーブルと、
    優先順位の高いセッションの確立時に使用する第2のキャッシュテーブルと、
    優先順位の高いデータがFIFO形式で保存される第1のFIFO部と、
    優先順位の低いデータがFIFO形式で保存される第2のFIFO部と、
    を備え、
    前記ミドルウェア部は、前記プロトコルスタック部から送信フレームの送信要求があった場合に前記送信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出した第2のセッション情報が第2のキャッシュテーブルに登録されているかを確認する第1の確認手段と、
    前記第1の確認手段で登録されていれば前記送信要求を前記第1のFIFO部にキューイングする第1のキューイング手段と、
    前記第1の確認手段で登録されていなければ前記第2のセッション情報が第1のキャッシュテーブルに登録されているかを確認する第2の確認手段と、
    前記第2の確認手段で登録されていれば前記送信フレームが予め決められたOSI5層以上の特定のパケットかの確認を行う第3の確認手段と、
    前記第3の確認手段で前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第2のセッション情報を前記第2のキャッシュテーブルに登録すると共に前記送信要求を前記第1のFIFO部にキューイングする第2のキューイング手段と、
    前記第2の確認手段で登録されていなければ前記送信要求を前記第2のFIFO部にキューイングする第3のキューイング手段と、
    前記第1または/および第2のFIFO部にキューイングされている前記送信要求がある場合に優先順位に従って第1または第2のFIFOのいずれかを識別しその識別した第1または第2のFIFO部にキューイングされている前記送信要求を前記デバイスドライバ部に出す送信要求手段と、を有することを特徴とする端末装置。
  10. 優先順位の高いデータがFIFO形式で保存される第3のFIFO部と、
    優先順位の低いデータがFIFO形式で保存される第4のFIFO部と、
    を備え、
    前記ミドルウェア部は、前記デバイスドライバ部から受信フレームの受信要求があった場合に前記受信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出した第3のセッション情報が第2のキャッシュテーブルに登録されているかを確認する第4の確認手段と、
    前記第4の確認手段で登録されていれば前記受信要求を前記第3のFIFO部にキューイングする第4のキューイング手段と、
    前記第4の確認手段で登録されていなければ前記第3のセッション情報が第1のキャッシュテーブルに登録されているかを確認する第5の確認手段と、
    前記第5の確認手段で登録されていれば前記受信フレームが前記特定のパケットかの確認を行う第6の確認手段と、
    前記第6の確認手段で前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第3のセッション情報を前記第2のキャッシュテーブルに登録すると共に前記受信要求を前記第3のFIFO部にキューイングする第5のキューイング手段と、
    前記第5の確認手段で登録されていなければ前記受信要求を前記第4のFIFO部にキューイングする第6のキューイング手段と、
    前記第3または/および第4のFIFO部にキューイングされている前記受信要求がある場合に優先順位に従って第3または第4のFIFOのいずれかを識別しその識別した第3または第4のFIFO部にキューイングされている前記受信要求を前記プロトコルスタック部に出す受信要求手段と、を有することを特徴とする請求項9記載の端末装置。
  11. 前記ミドルウェア部は、前記第2のキャッシュテーブルに前記第2のセッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続ける監視手段を有することを特徴とする請求項9記載の端末装置。
  12. 前記ミドルウェア部は、前記第2のキャッシュテーブルに前記第3のセッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続ける監視手段を有することを特徴とする請求項10記載の端末装置。
  13. 前記ミドルウェア部は、前記デバイスドライバ部への前記送信要求を行う場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記送信要求を行う手段を有することを特徴とする請求項1,5,または9記載の端末装置。
  14. 前記ミドルウェア部は、前記デバイスドライバ部からの前記受信要求を受ける場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記受信要求を受ける手段を有することを特徴とする請求項2,6,または10記載の端末装置。
  15. 前記特定のパケットは、RTPパケットを含む第5層以上の通信プロトコルで規定されたパケットのいずれかであることを特徴とする請求項5,6,9,または10記載の端末装置。
  16. 前記セッション情報は、フレーム内のOSI第2層に該当するMACアドレスと、OSI第3層に該当するプロトコル番号およびIPアドレスと、OSI第4層に該当するポート番号とを含むことを特徴とする請求項3,5,または6記載の端末装置。
  17. 前記第1および第2のセッション情報は、フレーム内のOSI第2層に該当するMACアドレスと、OSI第3層に該当するプロトコル番号およびIPアドレスと、OSI第4層に該当するポート番号とを含むことを特徴とする請求項9記載の端末装置。
  18. 前記第3のセッション情報は、フレーム内のOSI第2層に該当するMACアドレスと、OSI第3層に該当するプロトコル番号およびIPアドレスと、OSI第4層に該当するポート番号とを含むことを特徴とする請求項10記載の端末装置。
  19. 前記プログラムインタフェースは、NDISインタフェース、ソケットインタフェースを含むインタフェースのいずれかであることを特徴とする請求項13または14記載の端末装置。
  20. ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、OSI第3層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置内の優先処理方法であって、
    前記通信プロトコル部と前記デバイスドライバ部との間のインタフェース制御を行うミドルウェア部を備え、
    前記ミドルウェア部は、前記プロトコルスタック部から送信フレームの送信要求があった場合に送信フレーム内のOSI第2層からOSI第4層までの各ヘッダ情報を基に前記送信要求の優先順位を振り分けその振り分けた優先順位に従って前記デバイスドライバ部への前記送信要求を行うことを特徴とする端末装置内の優先処理方法。
  21. 前記ミドルウェア部は、前記デバイスドライバ部から受信フレームの受信要求があった場合に受信フレーム内のOSI第2層からOSI第4層までの各ヘッダ情報を基に前記受信要求の優先順位を振り分けその振り分けた優先順位に従って前記プロトコルスタック部への前記受信要求を行うことを特徴とする請求項20記載の端末装置内の優先処理方法。
  22. 優先順位の高いセッション情報が予め登録されているキャッシュテーブルと、
    優先順位に対応した複数の第1のFIFOと、を備え、
    前記ミドルウェア部は、前記プロトコルスタック部から前記送信フレームの送信要求があった場合に前記送信フレーム内のOSI第2層からOSI第4層までの各ヘッダ情報を基に前記キャッシュテーブルを検索することにより優先順位を抽出しその抽出した優先順位に従って前記送信要求を前記複数の第1のFIFOに振り分け、
    前記複数の第1のFIFOから出力される送信要求を前記第1のFIFOの優先順位に従って合成して前記デバイスドライバ部に出力することを特徴とする請求項20記載の端末装置内の優先処理方法。
  23. 優先順位に対応した複数の第2のFIFOと、を備え、
    前記ミドルウェア部は、前記デバイスドライバ部から前記受信フレームの受信要求があった場合に前記受信フレーム内のOSI第2層からOSI第4層までの各ヘッダ情報を基に前記キャッシュテーブルを検索することにより優先順位を抽出しその抽出した優先順位に従って前記受信要求を前記複数の第2のFIFOに振り分け、
    前記複数の第2のFIFOから出力される受信要求を前記第2のFIFOの優先順位に従って合成して前記プロトコルスタック部に出力することを特徴とする請求項21記載の端末装置内の優先処理方法。
  24. ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、OSI第3層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置内の優先処理方法であって、
    前記通信プロトコル部と前記デバイスドライバ部との間に挿入されたミドルウェア部を備え、
    前記ミドルウェア部は、予め決められた送信先に連続するOSI第5層以上の通信プロトコルで規定された特定のパケットの送信要求が前記プロトコルスタック部からあった場合に、最初の送信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せる送信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記デバイスドライバ部に対して送信待ちの優先順位を上げて前記送信要求を行い、
    それ以降連続する前記特定のパケットを送信する場合にはそれ以降連続する前記特定のパケットを乗せる送信フレーム内のOSI第2層から第4層までのヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで送信待ちの優先順位を上げて前記送信要求を行うことを特徴とする端末装置内の優先処理方法。
  25. 前記ミドルウェア部は、予め決められた送信元から連続するOSI第5層以上の通信プロトコルで規定された特定のパケットの受信要求が前記デバイスドライバ部からあった場合に、最初の受信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せた受信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記プロトコルスタック部に対して受信待ちの優先順位を上げて前記受信要求を行い、
    それ以降連続する前記特定のパケットを受信する場合にはそれ以降連続する前記特定のパケットを乗せた受信フレーム内のOSI第2層から第4層までのヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで受信待ちの優先順位を上げて前記受信要求を行うことを特徴とする請求項24記載の端末装置内の優先処理方法。
  26. 前記ミドルウェア部は、前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続けることを特徴とする請求項24記載の端末装置内の優先処理方法。
  27. 前記ミドルウェア部は、前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続けることを特徴とする請求項25記載の端末装置内の優先処理方法。
  28. ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、OSI第3層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部とを備えた端末装置内の優先処理方法であって、
    前記通信プロトコル部と前記デバイスドライバ部との間に挿入されたミドルウェア部を備え、
    前記ミドルウェア部は、優先順位の高い複数の第1のセッション情報が予め登録された第1のキャッシュテーブルと、
    優先順位の高いセッションの確立時に使用する第2のキャッシュテーブルと、
    優先順位の高いデータがFIFO形式で保存される第1のFIFO部と、
    優先順位の低いデータがFIFO形式で保存される第2のFIFO部と、
    を用いて、
    前記プロトコルスタック部から送信フレームの送信要求があった場合に前記送信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出した第2のセッション情報が第2のキャッシュテーブルに登録されているかを確認し、
    前記第2のキャッシュテーブルに登録されていれば前記送信要求を前記第1のFIFO部にキューイングし、
    前記第2のキャッシュテーブルに登録されていなければ前記第2のセッション情報が第1のキャッシュテーブルに登録されているかを確認し、
    前記第1のキャッシュテーブルに登録されていれば前記送信フレームが予め決められたOSI5層以上の特定のパケットかの確認を行い、
    前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第2のセッション情報を前記第2のキャッシュテーブルに登録すると共に前記送信要求を前記第1のFIFO部にキューイングし、
    第1のキャッシュテーブルに登録されていなければ前記送信要求を前記第2のFIFO部にキューイングし、
    前記第1または/および第2のFIFO部にキューイングされている前記送信要求がある場合に優先順位に従って第1または第2のFIFOのいずれかを識別しその識別した第1または第2のFIFO部にキューイングされている前記送信要求を前記デバイスドライバ部に出すことを特徴とする端末装置内の優先処理方法。
  29. 前記ミドルウェア部は、優先順位の高いデータがFIFO形式で保存される第3のFIFO部と、
    優先順位の低いデータがFIFO形式で保存される第4のFIFO部と、
    を用いて、
    前記ミドルウェア部は、前記デバイスドライバ部から受信フレームの受信要求があった場合に前記受信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出した第3のセッション情報が第2のキャッシュテーブルに登録されているかを確認し、
    前記第2のキャッシュテーブルに登録されていれば前記受信要求を前記第3のFIFO部にキューイングし、
    前記第2のキャッシュテーブルに登録されていなければ前記第3のセッション情報が第1のキャッシュテーブルに登録されているかを確認し、
    前記第1のキャッシュテーブルに登録されていれば前記受信フレームが前記特定のパケットかの確認を行い、
    前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第3のセッション情報を前記第2のキャッシュテーブルに登録すると共に前記受信要求を前記第3のFIFO部にキューイングし、
    第1のキャッシュテーブルに登録されていなければ前記受信要求を前記第4のFIFO部にキューイングし、
    前記第3または/および第4のFIFO部にキューイングされている前記受信要求がある場合に優先順位に従って第3または第4のFIFOのいずれかを識別しその識別した第3または第4のFIFO部にキューイングされている前記受信要求を前記プロトコルスタック部に出すことを特徴とする請求項28記載の端末装置内の優先処理方法。
  30. 前記ミドルウェア部は、前記第2のキャッシュテーブルに前記第2セッション情報を登録した場合に予め決められた時間内に前記第2のセッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続けることを特徴とする請求項28記載の端末装置内の優先処理方法。
  31. 前記ミドルウェア部は、前記第2のキャッシュテーブルに前記第3のセッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続けることを特徴とする請求項29記載の端末装置内の優先処理方法。
  32. 前記ミドルウェア部は、前記デバイスドライバ部への前記送信要求を行う場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記送信要求を行うことを特徴とする請求項20,24,または28記載の端末装置内の優先処理方法。
  33. 前記ミドルウェア部は、前記デバイスドライバ部からの前記受信要求を受ける場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記受信要求を受けることを特徴とする請求項21,25,または29記載の端末装置内の優先処理方法。
  34. 前記特定のパケットは、RTPパケットを含む第5層以上の通信プロトコルで規定されたパケットのいずれかであることを特徴とする請求項24,25,28,または29記載の端末装置内の優先処理方法。
  35. 前記セッション情報は、フレーム内のOSI第2層に該当するMACアドレスと、OSI第3層に該当するプロトコル番号およびIPアドレスと、OSI第4層に該当するポート番号とを含むことを特徴とする請求項22,24,または25記載の端末装置内の優先処理方法。
  36. 前記第1および第2のセッション情報は、フレーム内のOSI第2層に該当するMACアドレスと、OSI第3層に該当するプロトコル番号およびIPアドレスと、OSI第4層に該当するポート番号とを含むことを特徴とする請求項28記載の端末装置内の優先処理方法。
  37. 前記第3のセッション情報は、フレーム内のOSI第2層に該当するMACアドレスと、OSI第3層に該当するプロトコル番号およびIPアドレスと、OSI第4層に該当するポート番号とを含むことを特徴とする請求項29記載の端末装置内の優先処理方法。
  38. 前記プログラムインタフェースは、NDISインタフェース、ソケットインタフェースを含むインタフェースのいずれかであることを特徴とする請求項32または33記載の端末装置内の優先処理方法。
  39. ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、OSI第3層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部との間をインタフェース制御するプログラムであって、
    予め決められた送信先に連続するOSI第5層以上の通信プロトコルで規定された特定のパケットの送信要求が前記プロトコルスタック部からあった場合に、最初の送信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せる送信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記デバイスドライバ部に対して送信待ちの優先順位を上げて前記送信要求を行うステップと、
    それ以降連続する前記特定のパケットを送信する場合にはそれ以降連続する前記特定のパケットを乗せる送信フレーム内のOSI第2層から第4層までのヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで送信待ちの優先順位を上げて前記送信要求を行うステップと、を含む処理をコンピュータに実行させるプログラム。
  40. 予め決められた送信元から連続するOSI第5層以上の通信プロトコルで規定された特定のパケットの受信要求が前記デバイスドライバ部からあった場合に、最初の受信要求を受け取った場合には前記特定のパケットのヘッダ情報の確認後に前記特定のパケットを乗せた受信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出したセッション情報をキャッシュテーブルに登録して前記プロトコルスタック部に対して受信待ちの優先順位を上げて前記受信要求を行うステップと、
    それ以降連続する前記特定のパケットを受信する場合にはそれ以降連続する前記特定のパケットを乗せた受信フレーム内のOSI第2層から第4層までのヘッダから抽出したセッション情報と前記キャッシュテーブルに登録したセッション情報とを比較することで受信待ちの優先順位を上げて前記受信要求を行うステップと、を含む処理を前記コンピュータに実行させる請求項39記載のプログラム。
  41. 前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続けるステップを含む処理を前記コンピュータに実行させる請求項39記載のプログラム。
  42. 前記キャッシュテーブルに前記セッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続けるステップを含む処理を前記コンピュータに実行させる請求項40記載のプログラム。
  43. ネットワークとのやり取りを行うインタフェース部を制御するデバイスドライバ部と、OSI第3層以上の通信プロトコルの基で前記デバイスドライバ部を介して前記ネットワークとのやり取りを行うプロトコルスタック部との間をインタフェース制御するプログラムであって、
    優先順位の高い複数の第1のセッション情報が予め登録された第1のキャッシュテーブルと、
    優先順位の高いセッションの確立時に使用する第2のキャッシュテーブルと、
    優先順位の高いデータがFIFO形式で保存される第1のFIFO部と、
    優先順位の低いデータがFIFO形式で保存される第2のFIFO部と、
    を備えたコンピュータに、
    前記プロトコルスタック部から送信フレームの送信要求があった場合に前記送信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出した第2のセッション情報が第2のキャッシュテーブルに登録されているかを確認するステップと、
    前記第2のキャッシュテーブルに登録されていれば前記送信要求を前記第1のFIFO部にキューイングするステップと、
    前記第2のキャッシュテーブルに登録されていなければ前記第2のセッション情報が第1のキャッシュテーブルに登録されているかを確認するステップと、
    前記第1のキャッシュテーブルに登録されていれば前記送信フレームが予め決められたOSI5層以上の特定のパケットかの確認を行うステップと、
    前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第2のセッション情報を前記第2のキャッシュテーブルに登録すると共に前記送信要求を前記第1のFIFO部にキューイングするステップと、
    前記第1のキャッシュテーブルに登録されていなければ前記送信要求を前記第2のFIFO部にキューイングするステップと、
    前記第1または/および第2のFIFO部にキューイングされている前記送信要求がある場合に優先順位に従って第1または第2のFIFOのいずれかを識別しその識別した第1または第2のFIFO部にキューイングされている前記送信要求を前記デバイスドライバ部に出すステップと、を含む処理を実行させるプログラム。
  44. 優先順位の高いデータがFIFO形式で保存される第3のFIFO部と、
    優先順位の低いデータがFIFO形式で保存される第4のFIFO部と、
    を備えた前記コンピュータに、
    前記デバイスドライバ部から受信フレームの受信要求があった場合に前記受信フレーム内のOSI第2層からOSI第4層までの各ヘッダから抽出した第3のセッション情報が第2のキャッシュテーブルに登録されているかを確認するステップと、
    前記第2のキャッシュテーブルに登録されていれば前記受信要求を前記第3のFIFO部にキューイングするステップと、
    前記第2のキャッシュテーブルに登録されていなければ前記第3のセッション情報が第1のキャッシュテーブルに登録されているかを確認するステップと、
    前記第1のキャッシュテーブルに登録されていれば前記受信フレームが前記特定のパケットかの確認を行うステップと、
    前記特定のパケットの確認が取れると優先順位の高いセッションが確立したとして前記第3のセッション情報を前記第2のキャッシュテーブルに登録すると共に前記受信要求を前記第3のFIFO部にキューイングするステップと、
    前記第1のキャッシュテーブルに登録されていなければ前記受信要求を前記第4のFIFO部にキューイングするステップと、
    前記第3または/および第4のFIFO部にキューイングされている前記受信要求がある場合に優先順位に従って第3または第4のFIFOのいずれかを識別しその識別した第3または第4のFIFO部にキューイングされている前記受信要求を前記プロトコルスタック部に出すステップと、を含む処理を実行させる請求項43記載のプログラム。
  45. 前記第2のキャッシュテーブルに前記第2のセッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った送信フレームの送信要求が前記プロトコルスタック部から来なくなるまで監視し続けるステップを含む処理を前記コンピュータに実行させる請求項43記載のプログラム。
  46. 前記第2のキャッシュテーブルに前記第3のセッション情報を登録した場合に予め決められた時間内に前記セッション情報を持った受信フレームの受信要求が前記デバイスドライバ部から来なくなるまで監視し続けるステップを含む処理を前記コンピュータに実行させる請求項44記載のプログラム。
  47. 前記デバイスドライバ部への前記送信要求を行う場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記送信要求を行うステップを含む処理を前記コンピュータに実行させる請求項39または43記載のプログラム。
  48. 前記デバイスドライバ部からの前記受信要求を受ける場合に前記プロトコルスタック部とのプログラムインタフェースを介して前記受信要求を受けるステップを含む処理を前記コンピュータに実行させる請求項40または44記載のプログラム。
  49. 前記特定のパケットは、RTPパケットを含む第5層以上の通信プロトコルで規定されたパケットのいずれかであることを特徴とする請求項39,40,43,または44記載のプログラム。
  50. 前記セッション情報は、フレーム内のOSI第2層に該当するMACアドレスと、OSI第3層に該当するプロトコル番号およびIPアドレスと、OSI第4層に該当するポート番号とを含むことを特徴とする請求項39または40記載のプログラム。
  51. 前記第1および第2のセッション情報は、フレーム内のOSI第2層に該当するMACアドレスと、OSI第3層に該当するプロトコル番号およびIPアドレスと、OSI第4層に該当するポート番号とを含むことを特徴とする請求項43記載のプログラム。
  52. 前記第3のセッション情報は、フレーム内のOSI第2層に該当するMACアドレスと、OSI第3層に該当するプロトコル番号およびIPアドレスと、OSI第4層に該当するポート番号とを含むことを特徴とする請求項44記載のプログラム。
  53. 前記プログラムインタフェースは、NDISインタフェース、ソケットインタフェースを含むインタフェースのいずれかであることを特徴とする請求項47または48記載のプログラム。
JP2002288892A 2002-10-01 2002-10-01 端末装置、端末装置内の優先処理方法、およびプログラム Expired - Lifetime JP3834280B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2002288892A JP3834280B2 (ja) 2002-10-01 2002-10-01 端末装置、端末装置内の優先処理方法、およびプログラム
AU2003236488A AU2003236488B2 (en) 2002-10-01 2003-08-26 Terminal Device, Method for Processing Communication Data Inside the Terminal Device, and Program for Implementing the Method
CA 2438983 CA2438983C (en) 2002-10-01 2003-08-28 Terminal device, method for processing communication data inside the terminal device, and program for implementing the method
US10/649,724 US7356034B2 (en) 2002-10-01 2003-08-28 Terminal device, method for processing communication data inside the terminal device, and program for implementing the method
EP20030019760 EP1406424B1 (en) 2002-10-01 2003-08-29 Terminal device, method for processing communication data inside the terminal device, and program for implementing the method
TW92124044A TWI247504B (en) 2002-10-01 2003-08-29 Terminal device, method for processing communication data inside the terminal device, and recording medium for recording a program capable of implementing the method
DE2003619042 DE60319042T2 (de) 2002-10-01 2003-08-29 Endgerät, Verfahren zur Verarbeitung von Kommunikationsdaten innerhalb des Endgeräts und Program zur Ausführung des Verfahrens

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002288892A JP3834280B2 (ja) 2002-10-01 2002-10-01 端末装置、端末装置内の優先処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2004128810A true JP2004128810A (ja) 2004-04-22
JP3834280B2 JP3834280B2 (ja) 2006-10-18

Family

ID=31987150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002288892A Expired - Lifetime JP3834280B2 (ja) 2002-10-01 2002-10-01 端末装置、端末装置内の優先処理方法、およびプログラム

Country Status (7)

Country Link
US (1) US7356034B2 (ja)
EP (1) EP1406424B1 (ja)
JP (1) JP3834280B2 (ja)
AU (1) AU2003236488B2 (ja)
CA (1) CA2438983C (ja)
DE (1) DE60319042T2 (ja)
TW (1) TWI247504B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009151498A (ja) * 2007-12-19 2009-07-09 Canon Inc ネットワークタイマ管理方法及び装置
JP2010533400A (ja) * 2007-07-13 2010-10-21 インターナショナル・ビジネス・マシーンズ・コーポレーション エンド・ツー・エンド型ネットワークqosの強化
JP2012195766A (ja) * 2011-03-16 2012-10-11 Core Corp パケット送信制御装置及びパケット送信制御方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4069388B2 (ja) * 2003-09-16 2008-04-02 ソニー株式会社 サーバ装置およびコンテンツサーバ装置
US20060268699A1 (en) * 2005-05-27 2006-11-30 Nokia Corporation High speed serial bus architecture employing network layer quality of service (QoS) management
US20070008989A1 (en) * 2005-06-30 2007-01-11 Intel Corporation Packet processing
JP4563882B2 (ja) * 2005-07-06 2010-10-13 Okiセミコンダクタ株式会社 無線lanシステムおよびその通信方法
CN1953446B (zh) 2005-10-21 2010-09-29 联想(北京)有限公司 通信系统和通信方法
US8158109B2 (en) * 2006-03-31 2012-04-17 Stiefel Research Australia Pty Ltd Foamable suspension gel
US7792102B2 (en) * 2006-03-31 2010-09-07 Intel Corporation Scaling egress network traffic
US9154421B2 (en) * 2006-05-30 2015-10-06 Intel Corporation Network based data traffic detection and control
WO2008077414A1 (en) * 2006-12-22 2008-07-03 Telefonaktiebolaget L.M. Ericsson (Publ) Preventing spoofing
US8898448B2 (en) * 2008-06-19 2014-11-25 Qualcomm Incorporated Hardware acceleration for WWAN technologies
US9602079B2 (en) 2009-06-23 2017-03-21 Qualcomm Incorporated Tunable adaptive filter with variable gain trans-conductance stage
US20110307631A1 (en) * 2010-06-09 2011-12-15 Sangbong Park System and method for providing asynchronous data communication in a networked environment
US8438220B2 (en) * 2010-06-30 2013-05-07 International Business Machines Corporation Method for optimizing remote object implementations
CN102420738B (zh) * 2010-09-27 2014-08-20 国基电子(上海)有限公司 电缆调制解调器及其设置优先级的方法
JP5360114B2 (ja) * 2011-03-31 2013-12-04 ブラザー工業株式会社 通信装置
JP6155555B2 (ja) * 2012-05-30 2017-07-05 日本電気株式会社 情報処理システム、情報処理方法、情報処理装置、携帯端末およびその制御方法と制御プログラム
WO2021023379A1 (en) * 2019-08-06 2021-02-11 Huawei Technologies Co., Ltd. Method and appartaus for processing data in a network
CN113704659B (zh) * 2021-09-08 2023-07-11 杭州默安科技有限公司 一种设备终端访问标记方法和系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481735A (en) * 1992-12-28 1996-01-02 Apple Computer, Inc. Method for modifying packets that meet a particular criteria as the packets pass between two layers in a network
JP3151103B2 (ja) 1994-03-30 2001-04-03 株式会社日立製作所 通信システムおよび通信方法
AU2820697A (en) 1996-04-30 1997-11-19 3Com Corporation Packet filtering based on socket or application identification
US5898889A (en) * 1996-04-30 1999-04-27 3Com Corporation Qualified burst cache for transfer of data between disparate clock domains
US6101543A (en) * 1996-10-25 2000-08-08 Digital Equipment Corporation Pseudo network adapter for frame capture, encapsulation and encryption
JPH1132078A (ja) 1997-07-11 1999-02-02 Hitachi Ltd 送信キュー管理方式および本方式を用いるインタネットワーク装置
US7076568B2 (en) 1997-10-14 2006-07-11 Alacritech, Inc. Data communication apparatus for computer intelligent network interface card which transfers data between a network and a storage device according designated uniform datagram protocol socket
US6226680B1 (en) * 1997-10-14 2001-05-01 Alacritech, Inc. Intelligent network interface system method for protocol processing
US6807581B1 (en) * 2000-09-29 2004-10-19 Alacritech, Inc. Intelligent network storage interface system
US6640248B1 (en) * 1998-07-10 2003-10-28 Malibu Networks, Inc. Application-aware, quality of service (QoS) sensitive, media access control (MAC) layer
JP2000032956A (ja) 1998-07-17 2000-02-02 Nisshin Reito Shokuhin Kk 乾燥調味肉の製法
US6449251B1 (en) * 1999-04-02 2002-09-10 Nortel Networks Limited Packet mapper for dynamic data packet prioritization
JP2001156793A (ja) 1999-11-29 2001-06-08 Pfu Ltd Usb付ダイヤルアップルータ
AU2098800A (en) 1999-12-17 2001-06-25 Nokia Corporation A method for contention free traffic detection
DE60042965D1 (de) * 2000-05-24 2009-10-29 Sony Deutschland Gmbh Dienstqualitätsunterhandlung
JP2002190824A (ja) * 2000-12-21 2002-07-05 Fujitsu Ltd ルータ及びipパケットの転送方式
JP2002300181A (ja) * 2001-03-30 2002-10-11 Nec Corp 統合ネットワークQoS制御方式
US20030188031A1 (en) * 2002-03-29 2003-10-02 Alan Deikman Network controller with pseudo network interface device drivers to control remote network interfaces
US7069260B2 (en) * 2002-05-15 2006-06-27 Motorola, Inc. QOS framework system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010533400A (ja) * 2007-07-13 2010-10-21 インターナショナル・ビジネス・マシーンズ・コーポレーション エンド・ツー・エンド型ネットワークqosの強化
US8855128B2 (en) 2007-07-13 2014-10-07 International Business Machines Corporation Enhancement of end-to-end network QoS
JP2009151498A (ja) * 2007-12-19 2009-07-09 Canon Inc ネットワークタイマ管理方法及び装置
JP2012195766A (ja) * 2011-03-16 2012-10-11 Core Corp パケット送信制御装置及びパケット送信制御方法

Also Published As

Publication number Publication date
TWI247504B (en) 2006-01-11
AU2003236488B2 (en) 2009-09-03
US7356034B2 (en) 2008-04-08
TW200421779A (en) 2004-10-16
CA2438983C (en) 2009-05-12
AU2003236488A1 (en) 2004-04-22
EP1406424A2 (en) 2004-04-07
DE60319042T2 (de) 2009-03-19
US20040073946A1 (en) 2004-04-15
EP1406424A3 (en) 2006-03-08
JP3834280B2 (ja) 2006-10-18
CA2438983A1 (en) 2004-04-01
EP1406424B1 (en) 2008-02-13
DE60319042D1 (de) 2008-03-27

Similar Documents

Publication Publication Date Title
JP2004128810A (ja) 端末装置、端末装置内の優先処理方法、およびプログラム
CN100438459C (zh) 在媒体访问控制处理器中处理多媒体信息包的系统和方法
EP1406415B1 (en) Bridge apparatus and bridge method
US7570634B2 (en) Priority queuing of frames in a TDMA network
JP2006115528A (ja) 音声及びデータ無線通信のためのネットワーク及び方法
JP5823560B2 (ja) 基地局プロセッサにおける無線チャネルの割当て
JP4322613B2 (ja) ブリッジ装置およびブリッジ方法
JP2006020069A (ja) 無線通信方法、無線通信装置及びプログラム
JP2001077836A (ja) 伝送媒体アクセス制御方法及びそのシステム
KR20040096366A (ko) 다양한 전송속도를 지원하는 무선랜에서의 큐 제어방법 및시스템
JP2000354057A (ja) データ通信方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040423

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050318

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060606

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060721

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3834280

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100728

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110728

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110728

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120728

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120728

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130728

Year of fee payment: 7

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term