(57)【要約】  【課題】  本発明は、送受信側それぞれにおいて独立したデータ管理を行うとき、データの送信頻度に応じて送信側で管理するデータ量の上限を設定することによって、優先度の高いデータの取りこぼしを防ぐことができるデータ送受信装置を提供することを目的とする。  【解決手段】  無線バッファキュー制御部２４にブリッジ制御部３よりメモリ構造体が与えられると、そのメモリ構造体が追加されるバッファキューを構成するメモリ構造体の数がバッファキューの優先度毎に与えられた最大格納個数と一致するか否かが確認される。そして、バッファキューを構成するメモリ構造体の数が最大格納個数と一致する場合、そのメモリ構造体によって指定されるパケットが破棄される。【選択図】      図１
2006295270.tif 000002
【特許請求の範囲】
【請求項１】
第１通信ネットワークとの通信を行う第１通信部と、前記第１通信ネットワークと異なる第２通信ネットワークとの通信を行う第２通信部と、前記第１及び第２通信ネットワークのうちの一方の通信ネットワークより受信したデータを一時的に格納する共有バッファと、前記第１通信部で扱うデータの書き込み及び読み出しを行うために前記共有バッファを構成する各バッファの状態を制御する第１バッファキュー制御部と、前記第２通信部で扱うデータの書き込み及び読み出しを行うために前記共有バッファを構成する各バッファの状態を制御する第２バッファキュー制御部と、を備え、前記第１及び第２通信ネットワーク間におけるデータ通信の中継動作を行うデータ送受信装置において、
前記第２バッファキュー制御部が、
前記第２通信部より送信するデータの送信頻度を決定するために該データの種類に応じて設定する複数の優先度毎に前記共有バッファ内の前記第２通信部より送信するデータが時系列的に並ぶように前記共有バッファ内の各バッファの関係を指定する前記優先度毎のバッファキューを備えるとともに、
前記バッファキューによって前記共有バッファ内に前記データを保持することが指示されるバッファ量の最大値となる最大格納個数を、前記バッファキューの前記優先度が低くなるほど前記最大格納個数が多くなるように設定し、
前記バッファキューによって指定される前記データの数が前記最大格納個数を超えることが確認されるとき、前記最大格納個数を超えることが確認された前記バッファキューによって指定される前記データの一部を破棄することを特徴とするデータ送受信装置。
【請求項２】
前記優先度が最高となる前記バッファキューに対する最大格納個数を基準値とし、複数の前記バッファキューそれぞれに対する前記最大格納個数が、前記バッファキューそれぞれの前記優先度と最高となる前記優先度との関係に基づいて所定の規則に従って設定されることを特徴とする請求項１に記載のデータ送受信装置。
【請求項３】
前記所定の規則が、前記バッファキューの前記優先度が低くなる度に一定の値を累積的に加算することであることを特徴とする請求項２に記載のデータ送受信装置。
【請求項４】
複数の前記バッファキューによって前記共有バッファに前記データを確保することが指示されている総バッファ量を計測するバッファ量計測部と、
前記最大格納個数の総数が該バッファ量計測部で計測された前記総バッファ量と等しくなるとともに前記バッファキューの前記優先度が低くなるほど前記最大格納個数が多くなるように、前記バッファキューそれぞれに対する前記最大格納個数を設定する最大格納個数設定部と、
を備えることを特徴とする請求項１〜請求項３のいずれかに記載のデータ送受信装置。
【請求項５】
複数の前記バッファキュー毎に、当該バッファキューによって前記データが前記共有バッファに保持されるように指示されている期間となる滞在期間を計測する滞在期間計測部と、
前記バッファキューそれぞれに対する前記最大格納個数を、前記バッファキューそれぞれに対して前記滞在期間計測部で計測された前記滞在期間に基づいて設定する最大格納個数設定部と、
を備えることを特徴とする請求項１〜請求項３のいずれかに記載のデータ送受信装置。
【請求項６】
前記バッファキューそれぞれに対して、当該バッファキューによって指定される複数の前記データに対して計測された期間が平均化されることによって前記滞在期間が求められることを特徴とする請求項５に記載のデータ送受信装置。
【請求項７】
前記最大格納個数設定部が、前記バッファキューそれぞれに対する前記最大格納個数を、記滞在期間計測部で計測された前記滞在期間の比率に基づいて設定することを特徴とする請求項５又は請求項６に記載のデータ送受信装置。
【請求項８】
前記滞在期間計測部で計測された前記滞在期間に基づいて前記第２通信部によって読み出される前記共有バッファ内に保持された前記データの寿命時間を設定するとともに、前記寿命時間となった前記データを前記共有バッファより破棄するように前記第２バッファキュー制御部に指示する寿命時間設定部を備えることを特徴とする請求項５〜請求項７のいずれかに記載のデータ送受信装置。
【請求項９】
複数の前記バッファキューによって前記共有バッファに前記データを確保することが指示されている総バッファ量を計測するバッファ量計測部を備えるとともに、
前記最大格納設定部が、前記最大格納個数の総数が該バッファ量計測部で計測された前記総バッファ量と等しくなるように、前記バッファキューそれぞれに対する前記最大格納個数を設定することを特徴とする請求項５〜請求項８のいずれかに記載のデータ送受信装置。
【請求項１０】
通信ネットワークと接続された通信部よりデータを送信するために共有バッファに格納されたデータを、該データの送信頻度に応じた優先度毎のバッファキューによって管理するバッファキュー制御方法において、
前記バッファキューによって前記共有バッファ内に前記データを保持することが指示されるバッファ量の最大値となる最大格納個数を、前記バッファキューの前記優先度が低くなるほど前記最大格納個数が多くなるように設定し、
前記バッファキューによって指定される前記データの数が前記最大格納個数を超えることが確認されるとき、前記最大格納個数を超えることが確認された前記バッファキューによって指定される前記データの一部を破棄するように指示することを特徴とするバッファキュー制御方法。
【請求項１１】
前記優先度が最高となる前記バッファキューに対する最大格納個数を基準値とし、複数の前記バッファキューそれぞれに対する前記最大格納個数が、前記バッファキューそれぞれの前記優先度と最高となる前記優先度との関係に基づいて所定の規則に従って設定されることを特徴とする請求項１０に記載のバッファキュー制御方法。
【請求項１２】
前記所定の規則が、前記バッファキューの前記優先度が低くなる度に一定の値を累積的に加算することであることを特徴とする請求項１１に記載のバッファキュー制御方法。
【請求項１３】
複数の前記バッファキュー毎に、当該バッファキューによって前記データが前記共有バッファに保持されるように指示されている期間となる滞在期間を計測し、
前記バッファキューそれぞれに対する前記最大格納個数を、前記バッファキューそれぞれに対して前記滞在期間計測部で計測された前記滞在期間に基づいて設定することを特徴とする請求項１０〜請求項１２のいずれかに記載のバッファキュー制御方法。
【請求項１４】
前記バッファキューそれぞれに対して、当該バッファキューによって指定される複数の前記データに対して計測された期間が平均化されることによって前記滞在期間が求められることを特徴とする請求項１３に記載のバッファキュー制御方法。
【請求項１５】
前記バッファキューそれぞれに対する前記最大格納個数を、計測された前記滞在期間の比率に基づいて設定することを特徴とする請求項１３又は請求項１４に記載のバッファキュー制御方法。
【請求項１６】
計測された前記滞在期間に基づいて前記通信部によって読み出される前記共有バッファ内に保持された前記データの寿命時間を設定するとともに、前記寿命時間となった前記データを前記共有バッファより破棄するように指示することを特徴とする請求項１３〜請求項１５のいずれかに記載のバッファキュー制御方法。
【請求項１７】
複数の前記バッファキューによって前記共有バッファに前記データを確保することが指示されている総バッファ量を計測し、
前記最大格納個数の総数が該バッファ量計測部で計測された前記総バッファ量と等しくなるとともに前記バッファキューの前記優先度が低くなるほど前記最大格納個数が多くなるように、前記バッファキューそれぞれに対する前記最大格納個数を設定することを特徴とする請求項１０〜請求項１６のいずれかに記載のバッファキュー制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークを構築する複数の通信端末間の通信を中継するデータ送受信装置に関する。又、本発明は、このパケット送受信装置において、送信するデータの種類によって優先度が設定され、各優先度に従って送信頻度を変えることで限られた通信帯域を各優先度に割り振るためのバッファキュー制御方法に関わる。
【背景技術】
【０００２】
コンピュータネットワーク等の通信ネットワークにおいては、パケット通信方式と呼ばれる通信方式によってパケット化されたデータの送受信が行われている。このような通信ネットワークが、光ファイバ回線やＤＳＬ回線などの有線回線やＩＥＥＥ  ８０２．１１無線通信方式（ＡＮＳＩ／ＩＥＥＥ  Ｓｔｄ  ８０２．１１，１９９９  Ｅｄｉｔｉｏｎに準拠する方式）などの通信方式に準じた無線回線によって構築されている。そして、通信ネットワークの一つであるＬＡＮ（Local Area Network）などにおいては、有線回線と無線回線とを混在させたネットワークなどのように、異なる通信速度の回線が利用されて構築されるものが存在する。
【０００３】
又、最近は、通信ネットワークにおける通信速度の高速化によって、通信ネットワーク内で送受信されるデータとして、リアルタイム性が要求される映像や音声などのストリームデータが送受信されることが可能となっている。しかしながら、このストリームデータは、適切な時間内に受信側に到達しなければ、受信側において映像のコマ落ちや映像の乱れ、音声の途切れ等が生じる。そのため、ＱｏＳ（Ｑｕａｌｉｔｙ  Ｏｆ  Ｓｅｒｖｉｃｅ）を考慮した規格として、ＩＥＥＥ  ８０２．１１のＴＧｅ（Ｔａｓｋ  Ｇｒｏｕｐ  Ｅ）で策定している規格が提案されている。
【０００４】
このＩＥＥＥ  ８０２．１１のＴＧｅによる規格の一つとして、データに優先度を与えることでネットワークのトラフィック制御を行うＱｏＳ方式がある。このＱｏＳ方式においては、送受信されるデータの種類によって４つの優先度を振り分けるとともに、その優先度に従って送信する機会（頻度）を差別化し、優先度が高いほど高い頻度で送信されるようにする。即ち、逆に優先度が低いデータは、その送信する機会（頻度）が低くなる。このようなＱｏＳ方式による通信方式が利用されたとき、リアルタイム性が要求されるストリームデータは優先度が高く設定され、他のデータに比べて優先的に送信される。
【０００５】
このようなＱｏＳ方式を実現するために、受信したパケットに優先度をつけて管理して優先度毎に各データの送信順位を設定するデータ送受信装置を、通信ネットワークのアクセスポイント（ＡＰ）として動作させる。又、このデータ送受信装置は、異なる複数の通信ネットワーク間におけるデータの送受信を中継する役割を果たすため、送信側の通信ネットワークと受信側の通信ネットワークとをブリッジする機能を備える。
【０００６】
上記のようなデータに優先度を与えて送信するデータ送受信装置においては、優先度毎にデータパケット（以下、「パケット」とする）をキュー構造（以下送信キューとする）で管理するキューイングが行われる。このキューイングが行われることで、データ送受信装置において、送信側となる通信ネットワークから受信されたパケットの優先度が判別されると、判別された優先度に対応する送信キューに、そのパケットが格納されるバッファを示すメモリ構造体が追加される。このようなキューイングを行うデータ送受信装置において、優先度の異なる各種データに対する送信要求が均一に発生した場合、最も高い優先度を持つデータに対する送信キューが最も送信頻度が高いため、送信キューを構成するメモリ構造体によって指定されるパケット数が少なくなる。逆に、最も低い優先度を持つデータに対する送信キューでは、その送信頻度が低いために、送信キュー構成するメモリ構造体によって指定されるパケット数が多くなる傾向がある。
【０００７】
このようなキューイングを行うデータ送受信装置が、１００Ｍｂｐｓの伝送速度となる光ファイバ回線による有線ＬＡＮが接続されるとともに、５４Ｍｂｐｓの伝送速度となるＩＥＥＥ  ８０２．１１のＴＧｅ規格による無線ＬＡＮが接続されるものとする。このとき、有線ＬＡＮで受信したパケットを無線ＬＡＮへブリッジして送信する際、送信要求が各優先度の送信キューに対して均一に発生している場合、伝送速度が高速となる有線ＬＡＮからの受信量が多く、伝送速度が低速となる無線ＬＡＮ側の送信量が低いため、無線ＬＡＮ側の送信キューを構成するメモリ構造体によって指定されるパケット数が多くなり、パケットを装置内部で破棄する必要が発生する。このように装置内に保持されている未送信のパケットのうち、優先度の高い送信キューで管理されるパケットを破棄する場合、その優先度に無関係な送信動作が行われることとなり、ＱｏＳが成り立たなくなる恐れが生じることになる。
【０００８】
又、有線ＬＡＮ側及び無線ＬＡＮ側それぞれで送受信されるパケットを格納する共有バッファを備えるとともに、共有バッファの空バッファを指定するポインタによって構成されるキュー（以下、「フリーパケットキュー」とする）と、各優先度のデータの種類に応じた送信キューとを備えることで、メモリコピーを行う必要がなくなる。そのため、メモリコピーによるオーバーヘッドを削減し伝送スループットを向上させることができる。このとき、受信したパケットをフリーパケットキューで指定される空バッファに格納するとともに、パケットを格納したバッファを指定するポインタが、そのパケットの優先度に応じた送信キューに与えられる。この共有バッファを使用したデータ送受信装置では、有線ＬＡＮ側で受信したパケットを有線ＬＡＮ側に返すことで、パケットの破棄を行う。
【０００９】
このような場合において、有線ＬＡＮ側から受信したパケットを無線ＬＡＮ側に送信するとき、無線ＬＡＮ側での送信が完了するまでは送信キューに送信するパケットを示すポインタが蓄積された状態となるとともに、送信するパケットが共有バッファに格納されたままとなる。そのため、送信キューに蓄積されるポインタが多くなると、この送信キューによって指示されるバッファ量が多くなるため、フリーパケットキューによって指定される空バッファが枯渇することになり、有線ＬＡＮからのパケットを受信できなくなる。この場合も、受信するための空バッファの枯渇が原因となって、高い優先度のパケットを取りこぼしてしまう恐れがある。又、優先度の低い送信キューほど多く蓄積される傾向があり、送信キューの状態を適切に調整しなければ、ＱｏＳが成り立たないこととなる。
【００１０】
それに対して、高い優先度用に割り当てられた送信キューによって指定されるバッファに格納されたパケット数が最大上限数となる際、より低い優先度の送信キューに対して割り当てられたバッファを各優先度の送信キューに対して平均的に再分配して、高い優先度のパケットの破棄を軽減するキューバッファ制御装置及びキューバッファ制御方法が提案されている（特許文献１参照）。
【特許文献１】特開２００１−１８６１８１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１におけるキューバッファ制御装置においては、キューバッファ制御回路によってキューバッファの読み出し及び書き込みが制御されるとともに、各優先度に対するバッファ量が優先制御回路で確認されることで、送信回路と受信回路との動作の均衡が図られているものとしています。即ち、送信回路側と受信回路側それぞれが独立して動作するものではなく、受信回路側の状態に応じて送信回路側での動作状態を制御するととともに、送信回路及び受信回路それぞれの状態に応じて管理情報テーブル３５によるキューバッファの管理が行われる。
【００１２】
それに対して、送信回路と受信回路それぞれが独立して制御される場合、送信回路及び受信回路それぞれが独自にキューの管理を行うため、受信回路で受信したパケット量に関係なく、送信回路へのパケットの振り分けが行われる。この場合、特許文献１と異なり、受信回路の状態に応じて、送信回路に対してバッファの書き込みを停止することが不可能となる。その結果、フリーパケットキューによって指定される空バッファが枯渇する恐れや、優先度の高いパケットの取りこぼしが生じる恐れが生じる。
【００１３】
このような問題を鑑みて、本発明は、送受信側それぞれにおいて独立したデータ管理を行うとき、データの送信頻度に応じて送信側で管理するデータ量の上限を設定することによって、優先度の高いデータの取りこぼしを防ぐことができるデータ送受信装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明のデータ送受信装置は、第１通信ネットワークとの通信を行う第１通信部と、前記第１通信ネットワークと異なる第２通信ネットワークとの通信を行う第２通信部と、前記第１及び第２通信ネットワークのうちの一方の通信ネットワークより受信したデータを一時的に格納する共有バッファと、前記第１通信部で扱うデータの書き込み及び読み出しを行うために前記共有バッファを構成する各バッファの状態を制御する第１バッファキュー制御部と、前記第２通信部で扱うデータの書き込み及び読み出しを行うために前記共有バッファを構成する各バッファの状態を制御する第２バッファキュー制御部と、を備え、前記第１及び第２通信ネットワーク間におけるデータ通信の中継動作を行うデータ送受信装置において、前記第２バッファキュー制御部が、前記第２通信部より送信するデータの送信頻度を決定するために該データの種類に応じて設定する複数の優先度毎に前記共有バッファ内の前記第２通信部より送信するデータが時系列的に並ぶように前記共有バッファ内の各バッファの関係を指定する前記優先度毎のバッファキューを備えるとともに、前記バッファキューによって前記共有バッファ内に前記データを保持することが指示されるバッファ量の最大値となる最大格納個数を、前記バッファキューの前記優先度が低くなるほど前記最大格納個数が多くなるように設定し、前記バッファキューによって指定される前記データの数が前記最大格納個数を超えることが確認されるとき、前記最大格納個数を超えることが確認された前記バッファキューによって指定される前記データの一部を破棄することを特徴とする。
【００１５】
このようなデータ送受信装置において、前記優先度が最高となる前記バッファキューに対する最大格納個数を基準値とし、複数の前記バッファキューそれぞれに対する前記最大格納個数が、前記バッファキューそれぞれの前記優先度と最高となる前記優先度との関係に基づいて所定の規則に従って設定されるものとする。
【００１６】
このとき、前記所定の規則を、前記バッファキューの前記優先度が低くなる度に一定の値を累積的に加算するものとして、前記優先度に対して線形的に前記最大格納個数が変化するものとしても構わない。又、前記所定の規則を、優先度が低くなるにつれて、その乗数が大きくなるものなどとして、前記優先度に対して非線形的に前記最大格納個数が変化するものとしても構わない。
【００１７】
又、複数の前記バッファキューによって前記共有バッファに前記データを確保することが指示されている総バッファ量を計測するバッファ量計測部と、前記最大格納個数の総数が該バッファ量計測部で計測された前記総バッファ量と等しくなるとともに前記バッファキューの前記優先度が低くなるほど前記最大格納個数が多くなるように、前記バッファキューそれぞれに対する前記最大格納個数を設定する最大格納個数設定部と、を備えるものとしても構わない。
【００１８】
このとき、予め設定された前記最大格納個数に基づいて前記共有バッファの管理が行われているとき、前記バッファ量計測部で計測された前記総バッファ量に応じて前記最大格納個数に再設定されることで、前記最大格納個数を最適な値とすることができる。
【００１９】
又、複数の前記バッファキュー毎に、当該バッファキューによって前記データが前記共有バッファに保持されるように指示されている期間となる滞在期間を計測する滞在期間計測部と、前記バッファキューそれぞれに対する前記最大格納個数を、前記バッファキューそれぞれに対して前記滞在期間計測部で計測された前記滞在期間に基づいて設定する最大格納個数設定部と、を備えるものとしても構わない。
【００２０】
このとき、予め設定された前記最大格納個数に基づいて前記共有バッファの管理が行われているとき、前記滞在期間計測部で計測された前記滞在期間に応じて前記最大格納個数に再設定されることで、前記最大格納個数を最適な値とすることができる。又、前記バッファキューそれぞれに対して、当該バッファキューによって指定される複数の前記データに対して計測された期間が平均化されることによって前記滞在期間が求められるものとしても構わない。
【００２１】
更に、前記最大格納個数設定部が、前記バッファキューそれぞれに対する前記最大格納個数を、記滞在期間計測部で計測された前記滞在期間の比率に基づいて設定するものとしても構わないし、複数の前記バッファキューによって前記共有バッファに前記データを確保することが指示されている総バッファ量を計測するバッファ量計測部を備えるとともに、前記最大格納設定部が、前記最大格納個数の総数が該バッファ量計測部で計測された前記総バッファ量と等しくなるように、前記バッファキューそれぞれに対する前記最大格納個数を設定するものとしても構わない。
【００２２】
又、前記滞在期間計測部で計測された前記滞在期間に基づいて前記第２通信部によって読み出される前記共有バッファ内に保持された前記データの寿命時間を設定するとともに、前記寿命時間となった前記データを前記共有バッファより破棄するように前記第２バッファキュー制御部に指示する寿命時間設定部を備えるものとしても構わない。
【００２３】
このとき、まず、前記優先度が最低となる前記バッファキューにおいて管理される前記データにおいて最も古い前記データより順番に、前記寿命時間が確認される。そして、前記バッファキューによって管理される前記データが前記寿命時間に達していないことが確認されると、次に前記優先度の高い前記バッファキューによって管理される前記データの前記寿命時間が確認される。最後に、前記優先度が最高となる前記バッファキューにおいて管理される前記データの前記寿命時間が確認されると、前記寿命時間による前記データの破棄を行う処理を終了する。又、前記寿命時間による前記データの破棄を行う処理が、所定時間毎に行われるものとしても構わないし、前記データが前記共有バッファに格納される度に行われるものとしても構わない。
【００２４】
又、本発明のバッファキュー制御方法は、通信ネットワークと接続された通信部よりデータを送信するために共有バッファに格納されたデータを、該データの送信頻度に応じた優先度毎のバッファキューによって管理するバッファキュー制御方法において、前記バッファキューによって前記共有バッファ内に前記データを保持することが指示されるバッファ量の最大値となる最大格納個数を、前記バッファキューの前記優先度が低くなるほど前記最大格納個数が多くなるように設定し、前記バッファキューによって指定される前記データの数が前記最大格納個数を超えることが確認されるとき、前記最大格納個数を超えることが確認された前記バッファキューによって指定される前記データの一部を破棄するように指示することを特徴とする。
【００２５】
このようなバッファキュー制御方法において、前記優先度が最高となる前記バッファキューに対する最大格納個数を基準値とし、複数の前記バッファキューそれぞれに対する前記最大格納個数が、前記バッファキューそれぞれの前記優先度と最高となる前記優先度との関係に基づいて所定の規則に従って設定されるものとしても構わない。
【００２６】
このとき、前記所定の規則を、前記バッファキューの前記優先度が低くなる度に一定の値を累積的に加算するものとしても構わないし、又、前記所定の規則を、優先度が低くなるにつれて、その乗数が大きくなるものなどとして、前記優先度に対して非線形的に前記最大格納個数が変化するものとしても構わない。
【００２７】
複数の前記バッファキュー毎に、当該バッファキューによって前記データが前記共有バッファに保持されるように指示されている期間となる滞在期間を計測し、前記バッファキューそれぞれに対する前記最大格納個数を、前記バッファキューそれぞれに対して前記滞在期間計測部で計測された前記滞在期間に基づいて設定するものとしても構わない。
【００２８】
このとき、前記バッファキューそれぞれに対して、当該バッファキューによって指定される複数の前記データに対して計測された期間が平均化されることによって前記滞在期間が求められるものとしても構わない。又、前記バッファキューそれぞれに対する前記最大格納個数を、計測された前記滞在期間の比率に基づいて設定するものとしても構わない。
【００２９】
又、計測された前記滞在期間に基づいて前記通信部によって読み出される前記共有バッファ内に保持された前記データの寿命時間を設定するとともに、前記寿命時間となった前記データを前記共有バッファより破棄するように指示するものとしても構わない。
【００３０】
更に、複数の前記バッファキューによって前記共有バッファに前記データを確保することが指示されている総バッファ量を計測し、前記最大格納個数の総数が該バッファ量計測部で計測された前記総バッファ量と等しくなるとともに前記バッファキューの前記優先度が低くなるほど前記最大格納個数が多くなるように、前記バッファキューそれぞれに対する前記最大格納個数を設定するものとしても構わない。
【発明の効果】
【００３１】
本発明によると、優先度が低くなるほど、各バッファキューによって管理されるデータ量の最大値である最大格納個数を大きくするために、送信頻度に応じたデータの管理を行うことができ、共有バッファの空バッファ量を確保することができ、データの取りこぼしなどを防ぐことができる。又、計測した共有バッファにデータを確保することが指示されている総バッファ量に基づいて最大格納個数を再設定することによって、送信動作を行う通信部によって処理可能とするために最低限となるバッファ量を共有バッファにおいて確保することができる。更に、この総バッファ量に基づく最大格納個数を再設定することで、共有バッファの量を各バッファキューの優先度に従って適切に割り振ることができる。又、バッファキュー毎に計測したデータの滞在期間に基づいて最大格納個数を再設定することによって、送信頻度に応じたデータ管理を行うことができる。更に、この滞在期間に基づいてデータ毎の寿命時間の管理を行うことで、共有バッファの空バッファ量の更に最適な管理を行うことができる。
【発明を実施するための最良の形態】
【００３２】
本発明の実施形態について、以下に説明する。尚、以下の各実施形態において、データ送受信装置が、１００Ｍｂｐｓの伝送速度となる光ファイバ回線による有線ＬＡＮが接続されるとともに、５４Ｍｂｐｓの伝送速度となるＩＥＥＥ  ８０２．１１のＴＧｅ規格による無線ＬＡＮが接続されるものとするが、接続される通信ネットワークは、これらの有線ＬＡＮ及び無線ＬＡＮに限るものではない。
【００３３】
＜第１の実施形態＞
本発明の第１の実施形態について、図面を参照して説明する。図１は、本実施形態のデータ送受信装置の内部構成を示すブロック図であり、図２は、キューイング処理を説明するためのデータ送受信装置内でのキューの関係を示す図である。
【００３４】
図１のデータ送受信装置は、有線ＬＡＮ１０１と接続する有線部１と、無線ＬＡＮ１０２と接続する無線部２と、有線部１と無線部２との間のデータ交換を行うブリッジ動作を制御するブリッジ制御部３と、有線部１及び無線部２で受信したパケットを格納する共有バッファ４と、を備える。
【００３５】
このデータ送受信装置において、有線部１は、有線ＬＡＮ１０１を通じてパケットを受信する有線側受信部１１と、有線ＬＡＮ１０１を通じてパケットを送信する有線側送信部１２と、有線側受信部１１で受信したパケットの共有バッファ４への書き込みと有線側送信部１２で送信するパケットの共有バッファ４からの読み出しを行う有線側バッファ制御部１３と、有線ＬＡＮ１０１より送受信するパケットのキューイング処理を行うための有線側バッファキュー制御部１４と、を備える。
【００３６】
又、無線部２は、無線ＬＡＮ１０２を通じてパケットを受信する無線側受信部２１と、無線ＬＡＮ１０２を通じてパケットを送信する無線側送信部２２と、無線側受信部２１で受信したパケットの共有バッファ４への書き込みと無線側送信部２２で送信するパケットの共有バッファ４からの読み出しを行う無線側バッファ制御部２３と、無線ＬＡＮ１０２より送受信するパケットのキューイング処理を行うための無線側バッファキュー制御部２４と、を備える。
【００３７】
このように構成されるデータ送受信装置は、有線部１において、有線側受信部１１で有線ＬＡＮ１０１よりパケットを受信すると、このパケットが有線側バッファ制御部１３に与えられる。そして、有線側バッファ制御部１３において、有線側バッファキュー制御部１４において生成されたキューイング処理により設定されたメモリ構造体のポインタが確認された後、このポインタによって指定される共有バッファ４内の空バッファに、受信したパケットが格納される。又、有線側バッファキュー制御部１４によって、共有バッファ４における受信したパケットが格納されたバッファを指定するポインタを格納したメモリ構造体が、ブリッジ制御部３に与えられる。
【００３８】
ブリッジ制御部３に与えられたメモリ構造体が、無線側バッファキュー制御部２４に与えられると、無線側バッファキュー制御部２４において、与えられたメモリ構造体によりポインタを確認し、このポインタによって指定される共有バッファ４内のバッファに格納されたパケットの種類が判定される。そして、ブリッジ制御部３に与えられたメモリ構造体を、判定されたパケットの種類に応じた送信キューに追加して管理する。無線側バッファキュー制御部２４において、各送信キューの優先度によって次の送信動作に使用する送信キューを確認し、確認した送信キューより認識されるポインタが無線側バッファ制御部２３に与えられる。そして、無線側バッファ制御部２３によって、送信キューより確認されたポインタで指定される共有バッファ４内のバッファに格納されたパケットが読み出されて、無線側送信部２２に与えられると、無線ＬＡＮ１０２に送信される。
【００３９】
又、同様に、無線部２において、無線側受信部２１で無線ＬＡＮ１０２よりパケットを受信すると、このパケットが無線側バッファ制御部２３に与えられて、無線側バッファキュー制御部２４で設定されたメモリ構造体のポインタが確認される。そして、このポインタによって指定される共有バッファ４内の空バッファに、受信したパケットが格納されるとともに、無線側バッファキュー制御部２４によって、パケットが格納された共有バッファ４内のバッファを指定するポインタによるメモリ構造体が、ブリッジ制御部３に与えられる。
【００４０】
このように無線部２で受信されたパケットが有線部１に与えられるとき、ブリッジ制御部３に与えられたメモリ構造体が、有線側バッファキュー制御部１４に与えられると、送信キューに追加されて管理されるとともに、送信キューより認識されるポインタが有線側バッファ制御部１３に与えられる。そして、有線側バッファ制御部１３によって、送信キューより確認されたポインタで指定される共有バッファ４内のバッファに格納されたパケットが読み出されて、有線側送信部１２に与えられると、有線ＬＡＮ１０１に送信される。このとき、無線部２で無線ＬＡＮ１０２により受信されたパケットが、有線部１より有線ＬＡＮ１０１に送信される。
【００４１】
このように動作するデータ送受信装置において、有線部１において有線ＬＡＮ１０１より受信したパケットをキューイング処理する際の動作を、図２を参照して説明する。図２に示すように、有線部１の有線側バッファキュー制御部１４においてフリーパケットキュー３０が管理されるとともに、無線部２の無線側バッファキュー制御部２４において送信キュー３１〜３４が管理される。又、フリーパケットキュー３０及び送信キュー３１〜３４それぞれは、複数のメモリ構造体が直列に並んで接続された構成となる。
【００４２】
即ち、共有バッファ４内に格納されたパケットを擬似的にＦＩＦＯ（First In First Out）の構成で格納された状態となるように、パケットの格納されたバッファを示すポインタを格納したキューをパケットが受信された順番に並べることで、フリーパケットキュー３０及び送信キュー３１〜３４それぞれが構成される。尚、優先度１〜４として、優先度１が最も優先度が高く送信頻度の高いデータの種類に対して与えられると、優先度２，３，４の順に優先度が低くなるものとする。このようにすることで、共有バッファ４内のバッファ毎に格納されたパケットの受信した順序に応じて、共有バッファ４からのパケットの読み出し及び書き込みを行うことができる。
【００４３】
又、フリーパケットキュー３０が、ｎ個のメモリ構造体３０−１〜３０−ｎが直列に並ぶようにして接続されることで構成されるとともに、送信キュー３１，３２，３３，３４それぞれが、同様に、ｎａ個のメモリ構造体３１−１〜３１−ｎａ、ｎｂ個のメモリ構造体３２−１〜３２−ｎｂ、ｎｃ個のメモリ構造体３３−１〜３３−ｎｃ、ｎｄ個のメモリ構造体３４−１〜３４−ｎｄそれぞれが直列に並ぶように接続されることで構成される。尚、キュー３０−ｋ〜３４−ｋそれぞれが、フリーパケットキュー３０及び送信キュー３１〜３４それぞれにおけるｋ番目のメモリ構造体を表すものとする。尚、フリーパケットキュー３０及び送信キュー３１〜３４それぞれにおいて、キューを構成するメモリ構造体のうち、最も古いものを先頭のメモリ構造体とし、最も新しく追加されたものを最後尾のメモリ構造体とする。
【００４４】
更に、無線側バッファキュー制御部２４は、優先度１〜４それぞれに応じた送信キュー３１〜３４を構成するメモリ構造体の最大値、即ち、無線部２において優先度１〜４それぞれに対して擬似的に蓄積されるパケットの最大値（以下、最大格納個数とする）を示すための最大格納個数テーブル３５を備える。この最大格納個数テーブル３５において、送信キュー３１〜３４それぞれの最大格納個数がＮ１〜Ｎ４に設定されるものとする。又、優先度の高い送信キューによるパケットほど送信頻度が高いため、共有バッファ４で保持される期間が短く、送信キューを構成するメモリ構造体が少なくなる。よって、送信キュー３１〜３４それぞれの最大格納個数Ｎ１〜Ｎ４の関係が、Ｎ１＜Ｎ２＜Ｎ３＜Ｎ４となるように設定される。
【００４５】
そして、有線側受信部１１においてパケットＰａが受信されると、有線側バッファキュー制御部１４がパケットの受信を認識するため、図３（ａ）のように、フリーパケットキュー３０の先頭のメモリ構造体３０−１が確認される。よって、このメモリ構造体３０−１よりポインタＰ１が確認されるとともに、確認されたポインタが有線側バッファ制御部１３に与えられることで、図４（ａ）のように、ポインタＰ１によって指定される共有バッファ４内のバッファＢ１にパケットＰａが格納される。
【００４６】
又、図３（ｂ）のように、メモリ構造体３０−１がブリッジ制御部３によって無線側バッファキュー制御部２４に与えられると、メモリ構造体３０−１より確認されるポインタＰ１で指定される共有バッファ内のバッファＢ１に格納されたパケットＰａの種類が確認される。即ち、パケットＰａの種類を確認することで、パケットＰａが優先度１〜４のいずれのパケットであるかを確認する。そして、確認された優先度に対する送信キューを構成するメモリ構造体の数が、最大格納個数テーブル３５より確認される最大格納個数と一致するか否かが確認される。
【００４７】
このとき、確認された優先度に対する送信キューを構成するメモリ構造体の数が最大格納個数よりも少ない場合、ブリッジ制御部３より与えられるメモリ構造体を、確認された優先度に対する送信キューに追加する。又、確認された優先度に対する送信キューを構成するメモリ構造体の数が最大格納個数と一致する場合は、ブリッジ制御部３より与えられるメモリ構造体を、逆にブリッジ制御部３に返すことで、パケットの破棄を指示する。
【００４８】
即ち、例えば、パケットＰａが優先度１のパケットであることが確認されると、まず、送信キュー３１を構成するメモリ構造体３１−１〜３１−ｎａの個数ｎａが確認され、最大格納個数テーブル３５より確認される最大格納個数Ｎ１と比較される。そして、送信キュー３１を構成するメモリ構造体３１−１〜３１−ｎａの個数ｎａが最大格納個数Ｎ１より少ないとき、図３（ｃ）のように、メモリ構造体３０−１が送信キュー３１に組み込まれ、メモリ構造体３１−ｎａの後段に接続される。
【００４９】
尚、図３（ｃ）では、パケットＰａが優先度１のパケットであることが確認された例としたが、パケットＰａが優先度２〜４のパケットである場合も同様の動作が行われる。即ち、パケットＰａが優先度２のパケットであるとともに送信キュー３２のメモリ構造体３２−１〜３２−ｎｂの個数ｎｂが最大格納個数Ｎ２より少ない場合、メモリ構造体３０−１が送信キュー３２のメモリ構造体３２−ｎｂの後段に接続される。又、パケットＰａが優先度３のパケットであるとともに送信キュー３３のメモリ構造体３３−１〜３３−ｎｃの個数ｎｃが最大格納個数Ｎ３より少ない場合、メモリ構造体３０−１が送信キュー３３のメモリ構造体３３−ｎｃの後段に接続される。又、パケットＰａが優先度４のパケットであるとともに送信キュー３４のメモリ構造体３４−１〜３４−ｎｄの個数ｎｄが最大格納個数Ｎ４より少ない場合、メモリ構造体３０−１が送信キュー３４のメモリ構造体３３−ｎｄの後段に接続される。
【００５０】
又、確認された優先度に対する送信キューを構成するメモリ構造体の数が最大格納個数と一致する場合は、図５（ａ）のように、メモリ構造体３０−１がブリッジ制御部３より有線側バッファキュー制御部１４に返される。そして、有線側バッファキュー制御部１４では、メモリ構造体３０−１よりポインタＰ１が確認されるとともに、このメモリ構造体３０−１によるパケットＰａを共有バッファ４から破棄するために、確認されたポインタＰ１を有線側バッファ制御部１３に与える。よって、図４（ｂ）のように、ポインタＰ１によって指定される共有バッファ４内のバッファＢ１に格納されたパケットＰａが削除される。そして、ポインタＰ１を格納するメモリ構造体３０−１が、図５（ｂ）のように、フリーパケットキュー３０のメモリ構造体３０−ｎの後段に追加される。
【００５１】
このようにして、有線部１で受信されたパケットが共有バッファ４に格納されるとともに、有線側バッファキュー制御部１４及び無線側バッファキュー制御部２４それぞれでキューイング処理が成されているとき、無線部２では、優先度に応じたパケットの送信動作が行われる。このとき、無線側バッファキュー制御部２４において、送信される優先度の送信キューが確認され、その先頭となるメモリ構造体に格納されているポインタが認識される。そして、認識されたポインタが無線側バッファ制御部２３に与えられることで、このポインタによって指定される共有バッファ４内のバッファに格納されたパケットが読み出される。この無線側バッファ制御部２３によって読み出されたパケットが無線側送信部２２に与えられて、無線ＬＡＮ１０２に送信される。
【００５２】
このようにして、パケットが無線側送信部２２より送信されると、送信されたパケットが格納されているバッファに対応したメモリ構造体が、無線側バッファキュー制御部２４よりブリッジ制御部３を介して有線側バッファキュー制御部１４に与えられる。そして、有線側バッファキュー制御部１４では、与えられたメモリ構造体からポインタを確認するとともに、確認したポインタを有線側バッファ制御部１３に与える。よって、無線側バッファキュー制御部２４より与えられたメモリ構造体より確認されるポインタが指定する共有バッファ４内のバッファに格納されたパケットが削除される。又、有線側バッファキュー制御部１４において、無線側バッファキュー制御部２４より与えられたメモリ構造体がフリーパケットキュー３０の最後尾に追加される。
【００５３】
この送信動作の詳細について、図６及び図７を参照して説明する。今、無線側バッファキュー制御部２４において、図２のような送信キュー３１〜３４が管理されているとともに、図６（ａ）のように、ポインタＰ２で指定される共有バッファ４内のバッファＢ２にパケットＰｂが格納されるものとする。そして、送信キュー３１によって指定されるパケットが無線側送信部２２より送信されるものとする。このとき、無線側バッファキュー制御部２４において、図７（ａ）のように、送信キュー３１のメモリ構造体３１−１に格納されたポインタＰ２が確認されて、無線側バッファ制御部２３に与えられる。よって、無線側バッファ制御部２３が、ポインタＰ２によって指定される共有バッファ４内のバッファＢ２からパケットＰｂを読み出すと、無線側送信部２２に与える。この無線側送信部２２によって、パケットＰｂが無線ＬＡＮ１０２に送信される。
【００５４】
又、パケットＰｂの送信が完了したとき、図７（ｂ）のように、送信キュー３１のメモリ構造体３１−１が、無線側バッファキュー制御部２４よりブリッジ制御部３を介して有線側バッファキュー制御部１４に与えられる。そして、有線側バッファキュー制御部１４では、メモリ構造体３１−１よりポインタＰ２が確認されるとともに、送信したパケットＰｂを共有バッファ４から削除するために、確認されたポインタＰ２を有線側バッファ制御部１３に与える。よって、図６（ｂ）のように、ポインタＰ２によって指定される共有バッファ４内のバッファＢ２に格納されたパケットＰｂが削除される。そして、ポインタＰ２を格納するメモリ構造体３１−１が、図７（ｃ）のように、フリーパケットキュー３０のメモリ構造体３０−ｎの後段に追加される。
【００５５】
このように、本実施形態では、高い優先度の送信キューほど最大格納個数を小さく設定する最大格納個数テーブル３５を備えるものとすることで、無線側キューバッファ制御部２４によって、共有バッファ４の空バッファの管理を行うことができる。その結果、有線側キューバッファ制御部１４におけるフリーパケットキュー３０を構成するメモリ構造体を確保できるものとし、有線ＬＡＮ１０１より送信されるパケットの取りこぼしを低減させることができる。又、高い優先度の送信キューほど最大格納個数を小さくすることで、その送信頻度によって決まる共有バッファ４内に確保される期間に応じたパケットの保管を行うことができ、パケットの破棄によるパケットの取りこぼす確率を低減することができる。
【００５６】
そして、本実施形態において、無線側キューバッファ制御部２４に格納される最大格納個数テーブル３５による優先度と最大格納個数との関係を、図８（ａ）又は図８（ｂ）のように設定しても構わない。即ち、図８（ａ）のように、優先度１，２，３，４それぞれに対して、最大格納個数２1（＝２），２2（＝４），２3（＝８），２4（＝１６）とするように、２に対して優先度を乗数として与えるものでも構わない。尚、この図８（ａ）のように優先度ｋを乗数とする場合、２に対する乗数に限らず、２以外の他の値に対する乗数としても構わない。
【００５７】
又、図８（ｂ）のように、優先度１，２，３，４それぞれに対して、最大格納個数２＋２×（１−１）（＝２），２＋２×（２−１）（＝４），２＋２×（３−１）（＝６），２＋２×（４−１）（＝８）とするように、優先度が１つ低くなるたびに２を追加するものとしても構わない。尚、この図８（ｂ）のように、優先度が低くなる度に累積的に最大格納個数の値を増加させる場合、優先度ｋにおいて２＋２×（ｋ−１）となる演算によるものに限らず、α＋β×（ｋ−１）（α，βは自然数）となる演算により設定されるものとしても構わない。又、優先度１〜４それぞれに対する最大格納個数Ｎ１〜Ｎ４が、Ｎ１≦Ｎ２≦Ｎ３≦Ｎ４を満たすものであれば、図８（ａ）又は図８（ｂ）による設定方法以外の設定方法で設定されるものとしても構わない。
【００５８】
更に、本実施形態において、パケットの破棄が、有線部１で受信されるとともに無線部２で送信キューに振り分けられるメモリ構造体によって指定される新たなパケットが破棄されるものとしたが、受信したパケットを指定するメモリ構造体が無線部２で確認された送信キューに追加され、その代わりに、新たにメモリ構造体が追加された送信キューの先頭に存在するメモリ構造体によって指定されるパケットが破棄されるものとしても構わない。
【００５９】
このとき、新たにメモリ構造体が追加された送信キューの先頭に存在するメモリ構造体が、無線側バッファキュー制御部２４よりブリッジ制御部３を介して有線側バッファキュー制御部１４に与えられる。そして、このメモリ構造体に格納されたポインタよって指定される共有バッファ４内のバッファに格納されたパケットが削除されるとともに、このメモリ構造がフリーパケットキュー３０に追加される。
【００６０】
＜第２の実施形態＞
本発明の第２の実施形態について、図面を参照して説明する。図９は、本実施形態のデータ送受信装置の内部構成を示すブロック図である。尚、図９のデータ送受信装置において、図１のデータ送受信装置と同一の目的で使用する部分については、同一の符号を付してその詳細な説明は省略する。
【００６１】
図９に示すデータ送受信装置は、図１に示すデータ送受信装置と異なり、無線側バッファキュー制御部２４における送信キュー３１〜３４（図２参照）によって指定される共有バッファ４に格納されたパケットの総パケット数を計測するパケット数計測部２５と、パケット数計測部２５で計測された総パケット数に基づいて無線側バッファキュー２４における最大格納個数テーブル３５（図２参照）の設定を行う最大格納個数設定部２６と、が追加された無線部２ａを備える。
【００６２】
この無線部２ａにおいて、パケット数計測部２５では、無線側バッファキュー制御部２４における送信キュー３１〜３４それぞれのメモリ構造体の個数を計数することで、送信キュー３１〜３４によって指定されるパケットの総パケット数が計測される。そして、最大格納個数設定部２６が、パケット数計測部２５で計測された総パケット数に基づいて、最大格納個数テーブル３５における優先度と最大格納個数との関係を設定する。
【００６３】
このように構成されるデータ送受信装置において、パケットの送受信動作については、各ブロックが第１の実施形態と同様の処理動作を行う。よって、以下では、パケット数計測部２５での計測結果に基づいて行われる最大格納個数設定部２６による最大格納個数テーブル３５の設定動作について、説明する。
【００６４】
まず、最大格納個数設定部２６において、最大格納個数テーブル３５における各優先度に対する最大格納個数は、無線部２ａの無線側送信部２２で処理可能なパケット数によって設定されて、無線側バッファキュー制御部２４に与えられる。よって、例えば、処理可能なパケット数を３０としたとき、最大格納個数設定部２６において、最大格納個数テーブル３５の内容を図８（ａ）のように設定することができる。このように設定された最大格納個数テーブル３５が無線側バッファキュー制御部２４に与えられ、無線側バッファキュー制御部２４が、この最大格納個数テーブル３５に基づいてパケットの破棄を指示する。このとき、第１の実施形態と同様、無線側バッファキュー制御部２４が優先度に基づいて送信キュー３１〜３４へのメモリ構造体の振り分けを行うことで、無線部２ａによる有線部１で受信したパケットの無線ＬＡＮ１０２への送信動作が行われる。
【００６５】
このように送信動作が行われると、パケット数計測部２５において、無線側バッファキュー制御部２４における送信キュー３１〜３４を構成するメモリ構造体の総数の計測が行われる。即ち、メモリ構造体がブリッジ制御部３を介して有線部１より与えられると、メモリ構造体の総数を増加させ、メモリ構造体をブリッジ制御部３を介して有線部１に与えると、メモリ構造体の総数を減少させることで、送信キュー３１〜３４を構成するメモリ構造体の総数を計測して、管理する。そして、計測を開始してから所定期間が経過すると、パケット数計測部２５が、この所定期間の間に計測した送信キュー３１〜３４を構成するメモリ構造体の総数の最大値Ｐｘを確認し、最大格納個数設定部２６に与える。
【００６６】
そして、最大格納個数設定部２６において、パケット数計測部２５で確認された最大値Ｐｘに所定値ΔＰ（ΔＰ≧０）を加算した値Ｐｘ＋ΔＰに基づいて、最大格納個数テーブル３５における各優先度に対する最大格納個数が設定される。即ち、優先度が低くなるほど最大格納個数が多くなるように設定するとともに、設定した各優先度に対する最大格納個数の総数がＰｘ＋ΔＰとなるように設定する。このように各優先度に対する最大格納個数が設定された最大格納個数テーブル３５が、無線側バッファキュー制御部２４に与えられる。このとき、現在設定されている最大格納個数テーブル３５における各優先度に対する最大格納個数の総数に等しい場合は、最大格納個数の設定を現在の設定のままとする。
【００６７】
よって、例えば、パケット数計測部２５で確認された最大値Ｐｘに所定値ΔＰを加算した値Ｐｘ＋ΔＰが２２となり、最大格納個数テーブル３５における各優先度に対する最大格納個数が、図１０（ａ）又は図１０（ｂ）のように設定される。即ち、図１０（ａ）のように、優先度１，２，３，４それぞれに対して最大格納個数を３，４，６，９となるように、優先度が低くなるほど、隣接する優先度による最大格納個数の差が大きくなるようにしても構わない。又、図１０（ｂ）のように、優先度１，２，３，４それぞれに対して最大格納個数を１，４，７，１０となるように、隣接する優先度による最大格納個数の差が一定となるようにしても構わない。
【００６８】
このように動作することによって、パケット数計測部２５で計測した総パケット数にΔＰを加算した値に基づいて最大格納個数テーブル３５の設定が行われるので、有線部１から与えられるメモリ構造体の増減に応じて最適な最大格納個数を設定することが可能となる。よって、本実施形態においては、有線部１がフリーパケットキュー３０（図２参照）として確保するメモリ構造体の個数を推測していることに近似し、送信キュー３１〜３４それぞれに対して、より適切な最大格納個数の設定を促すことになる。
【００６９】
＜第３の実施形態＞
本発明の第３の実施形態について、図面を参照して説明する。図１１は、本実施形態のデータ送受信装置の内部構成を示すブロック図である。尚、図１１のデータ送受信装置において、図９のデータ送受信装置と同一の目的で使用する部分については、同一の符号を付してその詳細な説明は省略する。
【００７０】
図１１に示すデータ送受信装置は、図９に示すデータ送受信装置と異なり、パケット数計測部２５の代わりに、無線側バッファキュー制御部２４で管理されるメモリ構造体それぞれに対してブリッジ制御部３より与えられた時刻（以下、入力時刻とする）と送信対象として選択された時刻（以下、出力時刻とする）とを計測するためのタイマ２７を有する無線部２ｂを備える。
【００７１】
この無線部２ｂにおいて、タイマ２７によって、送信キュー３１〜３４（図２参照）それぞれに対して、構成するメモリ構造体毎の入力時刻と出力時刻とが計測されて、最大格納個数設定部２６に与えられる。そして、この最大格納個数設定部２６において、送信キュー３１〜３４それぞれにおけるメモリ構造体の滞在時間（ブリッジ制御部３から与えられてからパケットを無線ＬＡＮ１０２に送信するまでに選択される時間）が測定された後、計測された各送信キューを構成するメモリ構造体の滞在時間に基づいて、最大格納個数テーブル３５（図２参照）における優先度と最大格納個数との関係が設定される。
【００７２】
このように構成されるデータ送受信装置において、パケットの送受信動作については、各ブロックが第１の実施形態と同様の処理動作を行う。よって、以下では、タイマ２７での計測されたメモリ構造体の滞在時間に基づいて行われる最大格納個数設定部２６による最大格納個数テーブル３５の設定動作について、説明する。
【００７３】
まず、ブリッジ制御部３から無線側バッファキュー制御部２４にメモリ構造体が与えられると、タイマ２７によって入力時刻が計測される。そして、このタイマ２７によって計測された入力時刻が無線側バッファキュー制御部２４に与えられて、そのメモリ構造体に計測された入力時刻が付加される。そして、この入力時刻が付加されたメモリ構造体が、このメモリ構造体によって指定されるパケットの種類に応じて、送信キュー３１〜３４の一つが選択されて、その最後尾に追加される。
【００７４】
又、無線側バッファキュー制御部２４において、優先度に応じて送信キュー３ｘ（送信キュー３１〜３４のいずれかに相当する）のいずれかを選択して、選択された送信キュー３ｘの先頭に位置するメモリ構造体が確認されるとともに、確認されたメモリ構造体によって指定されるパケットが無線ＬＡＮ１０２に送信されると、タイマ２７によって出力時刻が計測される。そして、計測された出力時刻が最大格納個数設定部２６に与えられるとともに、選択されたメモリ構造体に対して格納されている入力時刻が無線側バッファキュー制御部２４から最大格納個数設定部２６に与えられる。そして、最大格納個数設定部２６において、無線側バッファキュー制御部２４から与えられた入力時刻とタイマ２７によって計測された出力時刻とから、そのメモリ構造体の滞在時間が求められる。
【００７５】
このようにして、タイマ２７による入力時刻及び出力時刻の計測が行われることで、送信キュー３１〜３４それぞれに対して、構成するメモリ構造体それぞれの滞在時間が確認されると、送信キュー３１〜３４それぞれにおけるメモリ構造体の滞在時間を、優先度１〜４それぞれに対応させて最大格納個数設定部２６が記憶する。このとき、優先度１〜４それぞれに対応させて記憶されるメモリ構造体の滞在時間は、送信キュー３１〜３４それぞれにおける複数のメモリ構造体の滞在時間を所定期間内で測定した後に平均した値としても構わない。
【００７６】
そして、この記憶した送信キュー３１〜３４それぞれにおけるメモリ構造体の滞在時間の分布の比率を求めることによって、その比率に応じて、最大格納個数テーブル３５における各優先度に対する最大格納個数が設定される。このとき、計測した各優先度の滞在時間が長いほど送信キュー３ｘを構成するメモリ構造体が多くなることから、送信キューを構成するメモリ構造体の数量に合致した最大格納個数の設定が行われる。即ち、滞在時間が長くなるに従って、その最大格納個数が多くなるように設定される。このようにして、各優先度に対する最大格納個数が設定された最大格納個数テーブル３５が、無線側バッファキュー制御部２４に与えられる。
【００７７】
このとき、例えば、優先度１，２，３，４それぞれに対して測定された滞在時間が１ｍ秒，１ｍ秒，２ｍ秒，８ｍ秒となる場合、この滞在時間１ｍ秒，１ｍ秒，２ｍ秒，８ｍ秒に基づいて、図１２（ａ）のように、優先度１，２，３，４それぞれに対する最大格納個数を２，２，５，１０となるように、滞在時間に対して非線形的に設定されるものとしても構わない。又、滞在時間１ｍ秒，１ｍ秒，２ｍ秒，８ｍ秒に基づいて、図１２（ｂ）のように、優先度１，２，３，４それぞれに対する最大格納個数を２，２，４，１６となるように、滞在時間に対して線形的に設定されるものとしても構わない。
【００７８】
このように動作することで、既に初期値として各優先度に対して設定されていた最大格納個数が実際の処理動作に適した値となり得なかった場合においても、各優先度に対する滞在時間の分布の比率を確認することで、最適な最大格納個数を再設定することができる。即ち、滞在時間の分布の比率を確認して各優先度に対する送信頻度を確認することによって、各優先度に対する最大格納個数を最適な値に再設定することができる。尚、上述のように各優先度に対する送信キューそれぞれに対する滞在時間を計測したとき、各優先度に対する滞在時間の分布の比率が一定でなくなったことを検出した場合に、タイマ２７による滞在時間の計測を一時的に停止するものとしても構わない。このとき、最大格納個数設定部２６において、タイマ２７による計測結果に基づく各優先度に対する滞在時間の分布の比率が一定であったときの滞在時間に基づいて、各優先度に対する滞在時間の分布の比率が設定される。
【００７９】
又、本実施形態においても、第２の実施形態と同様、図９に示すパケット数計測部２５を設けるとともに、このパケット数計測部２５において、送信キュー３１〜３４によって指定されるパケットの総パケット数が計測されるものとしても構わない。そして、最大格納個数設定部２６において、各優先度の滞在時間の分布の比率を基に、パケット数計測部２５で計測した総パケット数から最大格納個数を割り当てるものとしても構わない。
【００８０】
＜第４の実施形態＞
本発明の第４の実施形態について、図面を参照して説明する。図１３は、本実施形態のデータ送受信装置の内部構成を示すブロック図である。尚、図１３のデータ送受信装置において、図１１のデータ送受信装置と同一の目的で使用する部分については、同一の符号を付してその詳細な説明は省略する。
【００８１】
図１３に示すデータ送受信装置は、図１１に示すデータ送受信装置と異なり、無線側バッファキュー制御部２４で管理されるメモリ構造体それぞれによって指定されるパケットの寿命を設定するパケット寿命監視部２８が追加された無線部２ｃを備える。この無線部２ｃでは、第３の実施形態と同様、タイマ２７によって送信キュー３１〜３４（図２参照）それぞれに対して、構成するメモリ構造体毎の入力時刻と出力時刻とが計測されるとともに、このメモリ構造体毎の入力時刻と出力時刻が最大格納個数設定部２６に与えられる。そして、最大格納個数設定部２６において、第３の実施形態と同様、送信キュー３１〜３４それぞれにおけるメモリ構造体の滞在時間が測定されるとともに、この滞在時間に基づいて最大格納個数テーブル３５（図２参照）における優先度と最大格納個数との関係が設定される。
【００８２】
又、パケット寿命監視部２８は、タイマ２７で計測された各メモリ構造体の入力時刻と、最大格納個数設定部２６において測定された送信キュー３１〜３４それぞれにおけるメモリ構造体の滞在時間とから、無線側バッファキュー制御部２４に与えられた各メモリ構造体の示すパケットの破棄する時刻（パケット寿命時刻）を設定する。そして、このパケット寿命監視部２８によって、タイマ２７より確認される現在時刻と各メモリ構造体に対して設定されたパケット寿命時刻とを比較することで、パケットを破棄するメモリ構造体が確認される。
【００８３】
このように構成されるデータ送受信装置において、パケットの送受信動作については、各ブロックが第１の実施形態と同様の処理動作を行うとともに、最大格納個数設定部２６による最大格納個数テーブル３５の設定動作については、各ブロックが第３の実施形態と同様の処理動作を行う。よって、以下では、パケット寿命監視部２８で設定されたパケット寿命時刻に基づいて破棄するパケットを監視する動作について、説明する。
【００８４】
まず、ブリッジ制御部３から無線側バッファキュー制御部２４にメモリ構造体が与えられると、タイマ２７によって入力時刻が計測される。このタイマ２７によって計測された入力時刻が無線側バッファキュー制御部２４及びパケット寿命監視部２８に与えられる。又、無線側バッファキュー制御部２４では、入力時刻が付加されたメモリ構造体が、そのメモリ構造体によって指定されるパケットの種類に応じて選択された送信キュー３１〜３４の一つの最後尾に追加される。このとき、ブリッジ制御部３より与えられたメモリ構造体を追加するために選択された送信キュー３ｘ（送信キュー３１〜３４のいずれかに相当する）がパケット寿命監視部２８に報知される。そして、パケット寿命監視部２８では、ブリッジ制御部３より与えられたメモリ構造体に対して、パケット寿命時刻が設定される。このときのパケット寿命時刻の設定について、図１４のフローチャートを参照して説明する。
【００８５】
このパケット寿命監視部２８は、ブリッジ制御部３から無線部バッファキュー制御部２４にメモリ構造体が与えられたことを確認すると（ＳＴＥＰ１）、パケット寿命時刻の設定が開始され、まず、タイマ２７で計測された入力時刻を確認する（ＳＴＥＰ２）。そして、無線側バッファキュー制御部２４より、与えられたメモリ構造体を追加するために選択された送信キュー３ｘを確認するとともに（ＳＴＥＰ３）、この送信キュー３ｘに対して測定されたメモリ構造体の滞在時間を最大格納個数設定部２６より確認する（ＳＴＥＰ４）。
【００８６】
その後、ＳＴＥＰ２で確認された入力時刻とＳＴＥＰ４で確認された滞在時間とが加算されることで、ＳＴＥＰ１において確認されたメモリ構造体で指定されるパケットのパケット寿命時刻が求められる（ＳＴＥＰ５）。このようにして求められたパケット寿命時刻が無線側バッファキュー制御部２４に与えられると、ブリッジ制御部３から与えられたメモリ構造体に対して、パケット寿命時刻を入力時刻とともに付加する（ＳＴＥＰ６）。その後、無線側バッファキュー制御部２４において、パケット寿命時刻及び入力時刻が付加されたメモリ構造が、選択された送信キュー３ｘの最後尾に追加される（ＳＴＥＰ７）。
【００８７】
このようにしてパケット寿命時刻が設定され、設定されたパケット寿命時刻が付加されメモリ構造体が送信キュー３１〜３４より選択されたものに追加されると、パケット寿命監視部２８が、各メモリ構造体毎に付加されたパケット寿命時刻に基づいて、パケットの破棄の可否を監視する。このパケット寿命時刻に基づくパケットの破棄の可否を監視する動作について、図１５のフローチャートを参照して説明する。
【００８８】
まず、前回のパケット寿命時刻によるパケット破棄の可否の監視動作から所定時間Ｔ１が経過したことを、タイマ２７で計測された現在時刻と前回の監視動作を行ったときの時刻とを比較することによって確認すると（ＳＴＥＰ２０）、パケット寿命時刻によるパケット破棄の可否の監視動作を開始する。そして、最低優先度となる優先度４の送信キュー３４の先頭となるメモリ構造体３４−１（図２参照）のパケット寿命時刻を確認する対象メモリ構造体とする（ＳＴＥＰ２１）。
【００８９】
その後、対象メモリ構造体が無線側バッファキュー制御部２４に存在するか否かが確認される（ＳＴＥＰ２２）。このとき、バッファキュー制御部２４に対象メモリ構造体が存在することが確認されると（Ｙｅｓ）、パケット寿命監視部２８が、バッファキュー制御部２４から対象メモリ構造体に付加されたパケット寿命時刻を獲得した後（ＳＴＥＰ２３）、タイマ２７で計測された現在時刻を獲得する（ＳＴＥＰ２４）。そして、パケット寿命監視部２８において、ＳＴＥＰ２４で獲得されたパケット寿命時刻とＳＴＥＰ２５で獲得された現在時刻との比較が成されて、現在時刻がパケット寿命時刻に到達したか否かが確認される（ＳＴＥＰ２５）。
【００９０】
このとき、現在時刻がパケット寿命時刻に既に到達したことが確認されると（Ｙｅｓ）、対象メモリ構造体によって指定されるパケットが破棄される（ＳＴＥＰ２６）。即ち、まず、対象メモリ構造体が無線側バッファキュー２４よりブリッジ制御部３を介して有線側バッファキュー制御部１４に与えられ、対象メモリ構造体に格納されたポインタが確認される。そして、この対象メモリ構造体によるポインタで指定される共有バッファ４内のバッファに格納されたパケットが削除されるとともに、有線側バッファキュー制御部１４において、対象メモリ構造体がフリーパケットキュー３０の最後尾に追加される。
【００９１】
この対象メモリ構造体の示すパケットの破棄が行われると、パケット寿命監視部２８において、現在対象とされている対象メモリ構造体と同じ送信キュー３ｘにおいて次の段となるメモリ構造体を次の対象メモリ構造体として設定した後（ＳＴＥＰ２７）、ＳＴＥＰ２２に移行する。そして、ＳＴＥＰ２２において、対象メモリ構造体の存在が確認されなかったとき（Ｎｏ）、又は、ＳＴＥＰ２５において、対象メモリ構造体のパケット寿命時刻が現在時刻よりも後であることが確認されたとき（Ｎｏ）、パケット寿命監視部２８において、現在対象メモリ構造体とされているメモリ構造体が最高優先度となる優先度１の送信キュー３１に属するメモリ構造体であるか否かが確認される（ＳＴＥＰ２８）。
【００９２】
このとき、現在対象メモリ構造体とされているメモリ構造体が送信キュー３１に属するものでない場合（Ｎｏ）、現在対象メモリ構造体とされているメモリ構造体が現在対象メモリ構造体とされているメモリ構造体が属する送信キューの優先度ｋ（ｋは、２〜４のいずれかの自然数）よりも１つ優先度の高い優先度（ｋ−１）の送信キューの先頭となるメモリ構造体が、対象メモリ構造体に設定された後（ＳＥＴＰ２９）、ＳＴＥＰ２２に移行する。又、現在対象メモリ構造体とされているメモリ構造体が送信キュー３１に属するものである場合（Ｙｅｓ）、次回の監視動作の開始時刻をＳＴＥＰ２０で確認するために、タイマ２７で計測された現在時刻をパケット寿命監視部２８に格納し（ＳＴＥＰ３０）、監視動作を終了する。
【００９３】
このように、本実施形態においては、処理不可能である寿命時刻となるパケットの破棄を行うことで、有線側バッファキュー制御部１４のフリーパケットキュー３０で管理される共有バッファ４内の空バッファを適量分保持することができ、空バッファの枯渇を防ぐことができる。尚、図１５のフローチャートにおいて、所定時間Ｔ１が経過する毎に、パケットの寿命の監視動作が行われるものとしたが、無線側バッファキュー制御部２４によってパケットの無線ＬＡＮ１０２への送信が指示される毎に、パケットの寿命の監視動作が行われるものとしても構わない。
【００９４】
又、本実施形態においても、第２の実施形態と同様、図９に示すパケット数計測部２５を設けるとともに、このパケット数計測部２５において、送信キュー３１〜３４によって指定されるパケットの総パケット数が計測されるものとしても構わない。そして、最大格納個数設定部２６において、各優先度の滞在時間の分布の比率を基に、パケット数計測部２５で計測した総パケット数から最大格納個数を割り当てるものとしても構わない。
【産業上の利用可能性】
【００９５】
本発明は、異なる複数の通信ネットワークを中継するデータ送受信装置に適用することが可能であり、特に、伝送速度の高い通信ネットワークから伝送速度の低い通信ネットワークに対してデータ伝送を行うためのデータ送受信装置に適用することが可能である。
【図面の簡単な説明】
【００９６】
【図１】は、第１の実施形態のデータ送受信装置の内部構成を示すブロック図である。
【図２】は、キューイング処理を説明するためのデータ送受信装置内でのキューの関係を示す図である。
【図３】は、有線部において受信したパケットを無線部に伝送する際のキュー構造の変遷図である。
【図４】は、有線部において受信したパケットを無線部に伝送する際の共有バッファの状態の変遷図である。
【図５】は、有線部において受信したパケットを無線部に伝送する際のキュー構造の変遷図である。
【図６】は、無線部に伝送されたパケットを無線ＬＡＮに送信する際の共有バッファの状態の変遷図である。
【図７】は、無線部に伝送されたパケットを無線ＬＡＮに送信する際のキュー構造の変遷図である。
【図８】は、図１のデータ送受信装置が備える最大格納個数テーブルの構成例を示す図である。
【図９】は、第２の実施形態のデータ送受信装置の内部構成を示すブロック図である。
【図１０】は、図９のデータ送受信装置の最大格納個数設定部によって設定される最大格納個数テーブルの構成例を示す図である。
【図１１】は、第３の実施形態のデータ送受信装置の内部構成を示すブロック図である。
【図１２】は、図１１のデータ送受信装置の最大格納個数設定部によって設定される最大格納個数テーブルの構成例を示す図である。
【図１３】は、第４の実施形態のデータ送受信装置の内部構成を示すブロック図である。
【図１４】は、図１３のデータ送受信装置におけるパケット寿命時刻の設定動作を示すフローチャートである。
【図１５】は、図１３のデータ送受信装置におけるパケット寿命監視動作を示すフローチャートである。
【符号の説明】
【００９７】
１    有線部
２    無線部
３    ブリッジ制御部
４    共有バッファ
１１    有線側受信部
１２    有線側送信部
１３    有線側バッファ制御部
１４    有線側バッファキュー制御部
２１    無線側受信部
２２    無線側送信部
２３    無線側バッファ制御部
２４    無線側バッファキュー制御部
２５    パケット数計測部
２６    最大格納個数設定部
２７    タイマ
２８    パケット寿命監視部
【図１】
2006295270.tif 000003
【図２】
2006295270.tif 000004
【図３】
2006295270.tif 000005
【図４】
2006295270.tif 000006
【図５】
2006295270.tif 000007
【図６】
2006295270.tif 000008
【図７】
2006295270.tif 000009
【図８】
2006295270.tif 000010
【図９】
2006295270.tif 000011
【図１０】
2006295270.tif 000012
【図１１】
2006295270.tif 000013
【図１２】
2006295270.tif 000014
【図１３】
2006295270.tif 000015
【図１４】
2006295270.tif 000016
【図１５】
2006295270.tif 000017