JP2006295270A - データ送受信装置及びバッファキュー制御方法 - Google Patents

データ送受信装置及びバッファキュー制御方法 Download PDF

Info

Publication number
JP2006295270A
JP2006295270A JP2005109361A JP2005109361A JP2006295270A JP 2006295270 A JP2006295270 A JP 2006295270A JP 2005109361 A JP2005109361 A JP 2005109361A JP 2005109361 A JP2005109361 A JP 2005109361A JP 2006295270 A JP2006295270 A JP 2006295270A
Authority
JP
Japan
Prior art keywords
buffer
data
maximum storage
queue
buffer queue
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.)
Pending
Application number
JP2005109361A
Other languages
English (en)
Inventor
Hitoshi Azuma
人司 東
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP2005109361A priority Critical patent/JP2006295270A/ja
Publication of JP2006295270A publication Critical patent/JP2006295270A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】 本発明は、送受信側それぞれにおいて独立したデータ管理を行うとき、データの送信頻度に応じて送信側で管理するデータ量の上限を設定することによって、優先度の高いデータの取りこぼしを防ぐことができるデータ送受信装置を提供することを目的とする。
【解決手段】 無線バッファキュー制御部24にブリッジ制御部3よりメモリ構造体が与えられると、そのメモリ構造体が追加されるバッファキューを構成するメモリ構造体の数がバッファキューの優先度毎に与えられた最大格納個数と一致するか否かが確認される。そして、バッファキューを構成するメモリ構造体の数が最大格納個数と一致する場合、そのメモリ構造体によって指定されるパケットが破棄される。
【選択図】 図1

Description

本発明は、通信ネットワークを構築する複数の通信端末間の通信を中継するデータ送受信装置に関する。又、本発明は、このパケット送受信装置において、送信するデータの種類によって優先度が設定され、各優先度に従って送信頻度を変えることで限られた通信帯域を各優先度に割り振るためのバッファキュー制御方法に関わる。
コンピュータネットワーク等の通信ネットワークにおいては、パケット通信方式と呼ばれる通信方式によってパケット化されたデータの送受信が行われている。このような通信ネットワークが、光ファイバ回線やDSL回線などの有線回線やIEEE 802.11無線通信方式(ANSI/IEEE Std 802.11,1999 Editionに準拠する方式)などの通信方式に準じた無線回線によって構築されている。そして、通信ネットワークの一つであるLAN(Local Area Network)などにおいては、有線回線と無線回線とを混在させたネットワークなどのように、異なる通信速度の回線が利用されて構築されるものが存在する。
又、最近は、通信ネットワークにおける通信速度の高速化によって、通信ネットワーク内で送受信されるデータとして、リアルタイム性が要求される映像や音声などのストリームデータが送受信されることが可能となっている。しかしながら、このストリームデータは、適切な時間内に受信側に到達しなければ、受信側において映像のコマ落ちや映像の乱れ、音声の途切れ等が生じる。そのため、QoS(Quality Of Service)を考慮した規格として、IEEE 802.11のTGe(Task Group E)で策定している規格が提案されている。
このIEEE 802.11のTGeによる規格の一つとして、データに優先度を与えることでネットワークのトラフィック制御を行うQoS方式がある。このQoS方式においては、送受信されるデータの種類によって4つの優先度を振り分けるとともに、その優先度に従って送信する機会(頻度)を差別化し、優先度が高いほど高い頻度で送信されるようにする。即ち、逆に優先度が低いデータは、その送信する機会(頻度)が低くなる。このようなQoS方式による通信方式が利用されたとき、リアルタイム性が要求されるストリームデータは優先度が高く設定され、他のデータに比べて優先的に送信される。
このようなQoS方式を実現するために、受信したパケットに優先度をつけて管理して優先度毎に各データの送信順位を設定するデータ送受信装置を、通信ネットワークのアクセスポイント(AP)として動作させる。又、このデータ送受信装置は、異なる複数の通信ネットワーク間におけるデータの送受信を中継する役割を果たすため、送信側の通信ネットワークと受信側の通信ネットワークとをブリッジする機能を備える。
上記のようなデータに優先度を与えて送信するデータ送受信装置においては、優先度毎にデータパケット(以下、「パケット」とする)をキュー構造(以下送信キューとする)で管理するキューイングが行われる。このキューイングが行われることで、データ送受信装置において、送信側となる通信ネットワークから受信されたパケットの優先度が判別されると、判別された優先度に対応する送信キューに、そのパケットが格納されるバッファを示すメモリ構造体が追加される。このようなキューイングを行うデータ送受信装置において、優先度の異なる各種データに対する送信要求が均一に発生した場合、最も高い優先度を持つデータに対する送信キューが最も送信頻度が高いため、送信キューを構成するメモリ構造体によって指定されるパケット数が少なくなる。逆に、最も低い優先度を持つデータに対する送信キューでは、その送信頻度が低いために、送信キュー構成するメモリ構造体によって指定されるパケット数が多くなる傾向がある。
このようなキューイングを行うデータ送受信装置が、100Mbpsの伝送速度となる光ファイバ回線による有線LANが接続されるとともに、54Mbpsの伝送速度となるIEEE 802.11のTGe規格による無線LANが接続されるものとする。このとき、有線LANで受信したパケットを無線LANへブリッジして送信する際、送信要求が各優先度の送信キューに対して均一に発生している場合、伝送速度が高速となる有線LANからの受信量が多く、伝送速度が低速となる無線LAN側の送信量が低いため、無線LAN側の送信キューを構成するメモリ構造体によって指定されるパケット数が多くなり、パケットを装置内部で破棄する必要が発生する。このように装置内に保持されている未送信のパケットのうち、優先度の高い送信キューで管理されるパケットを破棄する場合、その優先度に無関係な送信動作が行われることとなり、QoSが成り立たなくなる恐れが生じることになる。
又、有線LAN側及び無線LAN側それぞれで送受信されるパケットを格納する共有バッファを備えるとともに、共有バッファの空バッファを指定するポインタによって構成されるキュー(以下、「フリーパケットキュー」とする)と、各優先度のデータの種類に応じた送信キューとを備えることで、メモリコピーを行う必要がなくなる。そのため、メモリコピーによるオーバーヘッドを削減し伝送スループットを向上させることができる。このとき、受信したパケットをフリーパケットキューで指定される空バッファに格納するとともに、パケットを格納したバッファを指定するポインタが、そのパケットの優先度に応じた送信キューに与えられる。この共有バッファを使用したデータ送受信装置では、有線LAN側で受信したパケットを有線LAN側に返すことで、パケットの破棄を行う。
このような場合において、有線LAN側から受信したパケットを無線LAN側に送信するとき、無線LAN側での送信が完了するまでは送信キューに送信するパケットを示すポインタが蓄積された状態となるとともに、送信するパケットが共有バッファに格納されたままとなる。そのため、送信キューに蓄積されるポインタが多くなると、この送信キューによって指示されるバッファ量が多くなるため、フリーパケットキューによって指定される空バッファが枯渇することになり、有線LANからのパケットを受信できなくなる。この場合も、受信するための空バッファの枯渇が原因となって、高い優先度のパケットを取りこぼしてしまう恐れがある。又、優先度の低い送信キューほど多く蓄積される傾向があり、送信キューの状態を適切に調整しなければ、QoSが成り立たないこととなる。
それに対して、高い優先度用に割り当てられた送信キューによって指定されるバッファに格納されたパケット数が最大上限数となる際、より低い優先度の送信キューに対して割り当てられたバッファを各優先度の送信キューに対して平均的に再分配して、高い優先度のパケットの破棄を軽減するキューバッファ制御装置及びキューバッファ制御方法が提案されている(特許文献1参照)。
特開2001−186181号公報
しかしながら、特許文献1におけるキューバッファ制御装置においては、キューバッファ制御回路によってキューバッファの読み出し及び書き込みが制御されるとともに、各優先度に対するバッファ量が優先制御回路で確認されることで、送信回路と受信回路との動作の均衡が図られているものとしています。即ち、送信回路側と受信回路側それぞれが独立して動作するものではなく、受信回路側の状態に応じて送信回路側での動作状態を制御するととともに、送信回路及び受信回路それぞれの状態に応じて管理情報テーブル35によるキューバッファの管理が行われる。
それに対して、送信回路と受信回路それぞれが独立して制御される場合、送信回路及び受信回路それぞれが独自にキューの管理を行うため、受信回路で受信したパケット量に関係なく、送信回路へのパケットの振り分けが行われる。この場合、特許文献1と異なり、受信回路の状態に応じて、送信回路に対してバッファの書き込みを停止することが不可能となる。その結果、フリーパケットキューによって指定される空バッファが枯渇する恐れや、優先度の高いパケットの取りこぼしが生じる恐れが生じる。
このような問題を鑑みて、本発明は、送受信側それぞれにおいて独立したデータ管理を行うとき、データの送信頻度に応じて送信側で管理するデータ量の上限を設定することによって、優先度の高いデータの取りこぼしを防ぐことができるデータ送受信装置を提供することを目的とする。
上記目的を達成するために、本発明のデータ送受信装置は、第1通信ネットワークとの通信を行う第1通信部と、前記第1通信ネットワークと異なる第2通信ネットワークとの通信を行う第2通信部と、前記第1及び第2通信ネットワークのうちの一方の通信ネットワークより受信したデータを一時的に格納する共有バッファと、前記第1通信部で扱うデータの書き込み及び読み出しを行うために前記共有バッファを構成する各バッファの状態を制御する第1バッファキュー制御部と、前記第2通信部で扱うデータの書き込み及び読み出しを行うために前記共有バッファを構成する各バッファの状態を制御する第2バッファキュー制御部と、を備え、前記第1及び第2通信ネットワーク間におけるデータ通信の中継動作を行うデータ送受信装置において、前記第2バッファキュー制御部が、前記第2通信部より送信するデータの送信頻度を決定するために該データの種類に応じて設定する複数の優先度毎に前記共有バッファ内の前記第2通信部より送信するデータが時系列的に並ぶように前記共有バッファ内の各バッファの関係を指定する前記優先度毎のバッファキューを備えるとともに、前記バッファキューによって前記共有バッファ内に前記データを保持することが指示されるバッファ量の最大値となる最大格納個数を、前記バッファキューの前記優先度が低くなるほど前記最大格納個数が多くなるように設定し、前記バッファキューによって指定される前記データの数が前記最大格納個数を超えることが確認されるとき、前記最大格納個数を超えることが確認された前記バッファキューによって指定される前記データの一部を破棄することを特徴とする。
このようなデータ送受信装置において、前記優先度が最高となる前記バッファキューに対する最大格納個数を基準値とし、複数の前記バッファキューそれぞれに対する前記最大格納個数が、前記バッファキューそれぞれの前記優先度と最高となる前記優先度との関係に基づいて所定の規則に従って設定されるものとする。
このとき、前記所定の規則を、前記バッファキューの前記優先度が低くなる度に一定の値を累積的に加算するものとして、前記優先度に対して線形的に前記最大格納個数が変化するものとしても構わない。又、前記所定の規則を、優先度が低くなるにつれて、その乗数が大きくなるものなどとして、前記優先度に対して非線形的に前記最大格納個数が変化するものとしても構わない。
又、複数の前記バッファキューによって前記共有バッファに前記データを確保することが指示されている総バッファ量を計測するバッファ量計測部と、前記最大格納個数の総数が該バッファ量計測部で計測された前記総バッファ量と等しくなるとともに前記バッファキューの前記優先度が低くなるほど前記最大格納個数が多くなるように、前記バッファキューそれぞれに対する前記最大格納個数を設定する最大格納個数設定部と、を備えるものとしても構わない。
このとき、予め設定された前記最大格納個数に基づいて前記共有バッファの管理が行われているとき、前記バッファ量計測部で計測された前記総バッファ量に応じて前記最大格納個数に再設定されることで、前記最大格納個数を最適な値とすることができる。
又、複数の前記バッファキュー毎に、当該バッファキューによって前記データが前記共有バッファに保持されるように指示されている期間となる滞在期間を計測する滞在期間計測部と、前記バッファキューそれぞれに対する前記最大格納個数を、前記バッファキューそれぞれに対して前記滞在期間計測部で計測された前記滞在期間に基づいて設定する最大格納個数設定部と、を備えるものとしても構わない。
このとき、予め設定された前記最大格納個数に基づいて前記共有バッファの管理が行われているとき、前記滞在期間計測部で計測された前記滞在期間に応じて前記最大格納個数に再設定されることで、前記最大格納個数を最適な値とすることができる。又、前記バッファキューそれぞれに対して、当該バッファキューによって指定される複数の前記データに対して計測された期間が平均化されることによって前記滞在期間が求められるものとしても構わない。
更に、前記最大格納個数設定部が、前記バッファキューそれぞれに対する前記最大格納個数を、記滞在期間計測部で計測された前記滞在期間の比率に基づいて設定するものとしても構わないし、複数の前記バッファキューによって前記共有バッファに前記データを確保することが指示されている総バッファ量を計測するバッファ量計測部を備えるとともに、前記最大格納設定部が、前記最大格納個数の総数が該バッファ量計測部で計測された前記総バッファ量と等しくなるように、前記バッファキューそれぞれに対する前記最大格納個数を設定するものとしても構わない。
又、前記滞在期間計測部で計測された前記滞在期間に基づいて前記第2通信部によって読み出される前記共有バッファ内に保持された前記データの寿命時間を設定するとともに、前記寿命時間となった前記データを前記共有バッファより破棄するように前記第2バッファキュー制御部に指示する寿命時間設定部を備えるものとしても構わない。
このとき、まず、前記優先度が最低となる前記バッファキューにおいて管理される前記データにおいて最も古い前記データより順番に、前記寿命時間が確認される。そして、前記バッファキューによって管理される前記データが前記寿命時間に達していないことが確認されると、次に前記優先度の高い前記バッファキューによって管理される前記データの前記寿命時間が確認される。最後に、前記優先度が最高となる前記バッファキューにおいて管理される前記データの前記寿命時間が確認されると、前記寿命時間による前記データの破棄を行う処理を終了する。又、前記寿命時間による前記データの破棄を行う処理が、所定時間毎に行われるものとしても構わないし、前記データが前記共有バッファに格納される度に行われるものとしても構わない。
又、本発明のバッファキュー制御方法は、通信ネットワークと接続された通信部よりデータを送信するために共有バッファに格納されたデータを、該データの送信頻度に応じた優先度毎のバッファキューによって管理するバッファキュー制御方法において、前記バッファキューによって前記共有バッファ内に前記データを保持することが指示されるバッファ量の最大値となる最大格納個数を、前記バッファキューの前記優先度が低くなるほど前記最大格納個数が多くなるように設定し、前記バッファキューによって指定される前記データの数が前記最大格納個数を超えることが確認されるとき、前記最大格納個数を超えることが確認された前記バッファキューによって指定される前記データの一部を破棄するように指示することを特徴とする。
このようなバッファキュー制御方法において、前記優先度が最高となる前記バッファキューに対する最大格納個数を基準値とし、複数の前記バッファキューそれぞれに対する前記最大格納個数が、前記バッファキューそれぞれの前記優先度と最高となる前記優先度との関係に基づいて所定の規則に従って設定されるものとしても構わない。
このとき、前記所定の規則を、前記バッファキューの前記優先度が低くなる度に一定の値を累積的に加算するものとしても構わないし、又、前記所定の規則を、優先度が低くなるにつれて、その乗数が大きくなるものなどとして、前記優先度に対して非線形的に前記最大格納個数が変化するものとしても構わない。
複数の前記バッファキュー毎に、当該バッファキューによって前記データが前記共有バッファに保持されるように指示されている期間となる滞在期間を計測し、前記バッファキューそれぞれに対する前記最大格納個数を、前記バッファキューそれぞれに対して前記滞在期間計測部で計測された前記滞在期間に基づいて設定するものとしても構わない。
このとき、前記バッファキューそれぞれに対して、当該バッファキューによって指定される複数の前記データに対して計測された期間が平均化されることによって前記滞在期間が求められるものとしても構わない。又、前記バッファキューそれぞれに対する前記最大格納個数を、計測された前記滞在期間の比率に基づいて設定するものとしても構わない。
又、計測された前記滞在期間に基づいて前記通信部によって読み出される前記共有バッファ内に保持された前記データの寿命時間を設定するとともに、前記寿命時間となった前記データを前記共有バッファより破棄するように指示するものとしても構わない。
更に、複数の前記バッファキューによって前記共有バッファに前記データを確保することが指示されている総バッファ量を計測し、前記最大格納個数の総数が該バッファ量計測部で計測された前記総バッファ量と等しくなるとともに前記バッファキューの前記優先度が低くなるほど前記最大格納個数が多くなるように、前記バッファキューそれぞれに対する前記最大格納個数を設定するものとしても構わない。
本発明によると、優先度が低くなるほど、各バッファキューによって管理されるデータ量の最大値である最大格納個数を大きくするために、送信頻度に応じたデータの管理を行うことができ、共有バッファの空バッファ量を確保することができ、データの取りこぼしなどを防ぐことができる。又、計測した共有バッファにデータを確保することが指示されている総バッファ量に基づいて最大格納個数を再設定することによって、送信動作を行う通信部によって処理可能とするために最低限となるバッファ量を共有バッファにおいて確保することができる。更に、この総バッファ量に基づく最大格納個数を再設定することで、共有バッファの量を各バッファキューの優先度に従って適切に割り振ることができる。又、バッファキュー毎に計測したデータの滞在期間に基づいて最大格納個数を再設定することによって、送信頻度に応じたデータ管理を行うことができる。更に、この滞在期間に基づいてデータ毎の寿命時間の管理を行うことで、共有バッファの空バッファ量の更に最適な管理を行うことができる。
本発明の実施形態について、以下に説明する。尚、以下の各実施形態において、データ送受信装置が、100Mbpsの伝送速度となる光ファイバ回線による有線LANが接続されるとともに、54Mbpsの伝送速度となるIEEE 802.11のTGe規格による無線LANが接続されるものとするが、接続される通信ネットワークは、これらの有線LAN及び無線LANに限るものではない。
<第1の実施形態>
本発明の第1の実施形態について、図面を参照して説明する。図1は、本実施形態のデータ送受信装置の内部構成を示すブロック図であり、図2は、キューイング処理を説明するためのデータ送受信装置内でのキューの関係を示す図である。
図1のデータ送受信装置は、有線LAN101と接続する有線部1と、無線LAN102と接続する無線部2と、有線部1と無線部2との間のデータ交換を行うブリッジ動作を制御するブリッジ制御部3と、有線部1及び無線部2で受信したパケットを格納する共有バッファ4と、を備える。
このデータ送受信装置において、有線部1は、有線LAN101を通じてパケットを受信する有線側受信部11と、有線LAN101を通じてパケットを送信する有線側送信部12と、有線側受信部11で受信したパケットの共有バッファ4への書き込みと有線側送信部12で送信するパケットの共有バッファ4からの読み出しを行う有線側バッファ制御部13と、有線LAN101より送受信するパケットのキューイング処理を行うための有線側バッファキュー制御部14と、を備える。
又、無線部2は、無線LAN102を通じてパケットを受信する無線側受信部21と、無線LAN102を通じてパケットを送信する無線側送信部22と、無線側受信部21で受信したパケットの共有バッファ4への書き込みと無線側送信部22で送信するパケットの共有バッファ4からの読み出しを行う無線側バッファ制御部23と、無線LAN102より送受信するパケットのキューイング処理を行うための無線側バッファキュー制御部24と、を備える。
このように構成されるデータ送受信装置は、有線部1において、有線側受信部11で有線LAN101よりパケットを受信すると、このパケットが有線側バッファ制御部13に与えられる。そして、有線側バッファ制御部13において、有線側バッファキュー制御部14において生成されたキューイング処理により設定されたメモリ構造体のポインタが確認された後、このポインタによって指定される共有バッファ4内の空バッファに、受信したパケットが格納される。又、有線側バッファキュー制御部14によって、共有バッファ4における受信したパケットが格納されたバッファを指定するポインタを格納したメモリ構造体が、ブリッジ制御部3に与えられる。
ブリッジ制御部3に与えられたメモリ構造体が、無線側バッファキュー制御部24に与えられると、無線側バッファキュー制御部24において、与えられたメモリ構造体によりポインタを確認し、このポインタによって指定される共有バッファ4内のバッファに格納されたパケットの種類が判定される。そして、ブリッジ制御部3に与えられたメモリ構造体を、判定されたパケットの種類に応じた送信キューに追加して管理する。無線側バッファキュー制御部24において、各送信キューの優先度によって次の送信動作に使用する送信キューを確認し、確認した送信キューより認識されるポインタが無線側バッファ制御部23に与えられる。そして、無線側バッファ制御部23によって、送信キューより確認されたポインタで指定される共有バッファ4内のバッファに格納されたパケットが読み出されて、無線側送信部22に与えられると、無線LAN102に送信される。
又、同様に、無線部2において、無線側受信部21で無線LAN102よりパケットを受信すると、このパケットが無線側バッファ制御部23に与えられて、無線側バッファキュー制御部24で設定されたメモリ構造体のポインタが確認される。そして、このポインタによって指定される共有バッファ4内の空バッファに、受信したパケットが格納されるとともに、無線側バッファキュー制御部24によって、パケットが格納された共有バッファ4内のバッファを指定するポインタによるメモリ構造体が、ブリッジ制御部3に与えられる。
このように無線部2で受信されたパケットが有線部1に与えられるとき、ブリッジ制御部3に与えられたメモリ構造体が、有線側バッファキュー制御部14に与えられると、送信キューに追加されて管理されるとともに、送信キューより認識されるポインタが有線側バッファ制御部13に与えられる。そして、有線側バッファ制御部13によって、送信キューより確認されたポインタで指定される共有バッファ4内のバッファに格納されたパケットが読み出されて、有線側送信部12に与えられると、有線LAN101に送信される。このとき、無線部2で無線LAN102により受信されたパケットが、有線部1より有線LAN101に送信される。
このように動作するデータ送受信装置において、有線部1において有線LAN101より受信したパケットをキューイング処理する際の動作を、図2を参照して説明する。図2に示すように、有線部1の有線側バッファキュー制御部14においてフリーパケットキュー30が管理されるとともに、無線部2の無線側バッファキュー制御部24において送信キュー31〜34が管理される。又、フリーパケットキュー30及び送信キュー31〜34それぞれは、複数のメモリ構造体が直列に並んで接続された構成となる。
即ち、共有バッファ4内に格納されたパケットを擬似的にFIFO(First In First Out)の構成で格納された状態となるように、パケットの格納されたバッファを示すポインタを格納したキューをパケットが受信された順番に並べることで、フリーパケットキュー30及び送信キュー31〜34それぞれが構成される。尚、優先度1〜4として、優先度1が最も優先度が高く送信頻度の高いデータの種類に対して与えられると、優先度2,3,4の順に優先度が低くなるものとする。このようにすることで、共有バッファ4内のバッファ毎に格納されたパケットの受信した順序に応じて、共有バッファ4からのパケットの読み出し及び書き込みを行うことができる。
又、フリーパケットキュー30が、n個のメモリ構造体30−1〜30−nが直列に並ぶようにして接続されることで構成されるとともに、送信キュー31,32,33,34それぞれが、同様に、na個のメモリ構造体31−1〜31−na、nb個のメモリ構造体32−1〜32−nb、nc個のメモリ構造体33−1〜33−nc、nd個のメモリ構造体34−1〜34−ndそれぞれが直列に並ぶように接続されることで構成される。尚、キュー30−k〜34−kそれぞれが、フリーパケットキュー30及び送信キュー31〜34それぞれにおけるk番目のメモリ構造体を表すものとする。尚、フリーパケットキュー30及び送信キュー31〜34それぞれにおいて、キューを構成するメモリ構造体のうち、最も古いものを先頭のメモリ構造体とし、最も新しく追加されたものを最後尾のメモリ構造体とする。
更に、無線側バッファキュー制御部24は、優先度1〜4それぞれに応じた送信キュー31〜34を構成するメモリ構造体の最大値、即ち、無線部2において優先度1〜4それぞれに対して擬似的に蓄積されるパケットの最大値(以下、最大格納個数とする)を示すための最大格納個数テーブル35を備える。この最大格納個数テーブル35において、送信キュー31〜34それぞれの最大格納個数がN1〜N4に設定されるものとする。又、優先度の高い送信キューによるパケットほど送信頻度が高いため、共有バッファ4で保持される期間が短く、送信キューを構成するメモリ構造体が少なくなる。よって、送信キュー31〜34それぞれの最大格納個数N1〜N4の関係が、N1<N2<N3<N4となるように設定される。
そして、有線側受信部11においてパケットPaが受信されると、有線側バッファキュー制御部14がパケットの受信を認識するため、図3(a)のように、フリーパケットキュー30の先頭のメモリ構造体30−1が確認される。よって、このメモリ構造体30−1よりポインタP1が確認されるとともに、確認されたポインタが有線側バッファ制御部13に与えられることで、図4(a)のように、ポインタP1によって指定される共有バッファ4内のバッファB1にパケットPaが格納される。
又、図3(b)のように、メモリ構造体30−1がブリッジ制御部3によって無線側バッファキュー制御部24に与えられると、メモリ構造体30−1より確認されるポインタP1で指定される共有バッファ内のバッファB1に格納されたパケットPaの種類が確認される。即ち、パケットPaの種類を確認することで、パケットPaが優先度1〜4のいずれのパケットであるかを確認する。そして、確認された優先度に対する送信キューを構成するメモリ構造体の数が、最大格納個数テーブル35より確認される最大格納個数と一致するか否かが確認される。
このとき、確認された優先度に対する送信キューを構成するメモリ構造体の数が最大格納個数よりも少ない場合、ブリッジ制御部3より与えられるメモリ構造体を、確認された優先度に対する送信キューに追加する。又、確認された優先度に対する送信キューを構成するメモリ構造体の数が最大格納個数と一致する場合は、ブリッジ制御部3より与えられるメモリ構造体を、逆にブリッジ制御部3に返すことで、パケットの破棄を指示する。
即ち、例えば、パケットPaが優先度1のパケットであることが確認されると、まず、送信キュー31を構成するメモリ構造体31−1〜31−naの個数naが確認され、最大格納個数テーブル35より確認される最大格納個数N1と比較される。そして、送信キュー31を構成するメモリ構造体31−1〜31−naの個数naが最大格納個数N1より少ないとき、図3(c)のように、メモリ構造体30−1が送信キュー31に組み込まれ、メモリ構造体31−naの後段に接続される。
尚、図3(c)では、パケットPaが優先度1のパケットであることが確認された例としたが、パケットPaが優先度2〜4のパケットである場合も同様の動作が行われる。即ち、パケットPaが優先度2のパケットであるとともに送信キュー32のメモリ構造体32−1〜32−nbの個数nbが最大格納個数N2より少ない場合、メモリ構造体30−1が送信キュー32のメモリ構造体32−nbの後段に接続される。又、パケットPaが優先度3のパケットであるとともに送信キュー33のメモリ構造体33−1〜33−ncの個数ncが最大格納個数N3より少ない場合、メモリ構造体30−1が送信キュー33のメモリ構造体33−ncの後段に接続される。又、パケットPaが優先度4のパケットであるとともに送信キュー34のメモリ構造体34−1〜34−ndの個数ndが最大格納個数N4より少ない場合、メモリ構造体30−1が送信キュー34のメモリ構造体33−ndの後段に接続される。
又、確認された優先度に対する送信キューを構成するメモリ構造体の数が最大格納個数と一致する場合は、図5(a)のように、メモリ構造体30−1がブリッジ制御部3より有線側バッファキュー制御部14に返される。そして、有線側バッファキュー制御部14では、メモリ構造体30−1よりポインタP1が確認されるとともに、このメモリ構造体30−1によるパケットPaを共有バッファ4から破棄するために、確認されたポインタP1を有線側バッファ制御部13に与える。よって、図4(b)のように、ポインタP1によって指定される共有バッファ4内のバッファB1に格納されたパケットPaが削除される。そして、ポインタP1を格納するメモリ構造体30−1が、図5(b)のように、フリーパケットキュー30のメモリ構造体30−nの後段に追加される。
このようにして、有線部1で受信されたパケットが共有バッファ4に格納されるとともに、有線側バッファキュー制御部14及び無線側バッファキュー制御部24それぞれでキューイング処理が成されているとき、無線部2では、優先度に応じたパケットの送信動作が行われる。このとき、無線側バッファキュー制御部24において、送信される優先度の送信キューが確認され、その先頭となるメモリ構造体に格納されているポインタが認識される。そして、認識されたポインタが無線側バッファ制御部23に与えられることで、このポインタによって指定される共有バッファ4内のバッファに格納されたパケットが読み出される。この無線側バッファ制御部23によって読み出されたパケットが無線側送信部22に与えられて、無線LAN102に送信される。
このようにして、パケットが無線側送信部22より送信されると、送信されたパケットが格納されているバッファに対応したメモリ構造体が、無線側バッファキュー制御部24よりブリッジ制御部3を介して有線側バッファキュー制御部14に与えられる。そして、有線側バッファキュー制御部14では、与えられたメモリ構造体からポインタを確認するとともに、確認したポインタを有線側バッファ制御部13に与える。よって、無線側バッファキュー制御部24より与えられたメモリ構造体より確認されるポインタが指定する共有バッファ4内のバッファに格納されたパケットが削除される。又、有線側バッファキュー制御部14において、無線側バッファキュー制御部24より与えられたメモリ構造体がフリーパケットキュー30の最後尾に追加される。
この送信動作の詳細について、図6及び図7を参照して説明する。今、無線側バッファキュー制御部24において、図2のような送信キュー31〜34が管理されているとともに、図6(a)のように、ポインタP2で指定される共有バッファ4内のバッファB2にパケットPbが格納されるものとする。そして、送信キュー31によって指定されるパケットが無線側送信部22より送信されるものとする。このとき、無線側バッファキュー制御部24において、図7(a)のように、送信キュー31のメモリ構造体31−1に格納されたポインタP2が確認されて、無線側バッファ制御部23に与えられる。よって、無線側バッファ制御部23が、ポインタP2によって指定される共有バッファ4内のバッファB2からパケットPbを読み出すと、無線側送信部22に与える。この無線側送信部22によって、パケットPbが無線LAN102に送信される。
又、パケットPbの送信が完了したとき、図7(b)のように、送信キュー31のメモリ構造体31−1が、無線側バッファキュー制御部24よりブリッジ制御部3を介して有線側バッファキュー制御部14に与えられる。そして、有線側バッファキュー制御部14では、メモリ構造体31−1よりポインタP2が確認されるとともに、送信したパケットPbを共有バッファ4から削除するために、確認されたポインタP2を有線側バッファ制御部13に与える。よって、図6(b)のように、ポインタP2によって指定される共有バッファ4内のバッファB2に格納されたパケットPbが削除される。そして、ポインタP2を格納するメモリ構造体31−1が、図7(c)のように、フリーパケットキュー30のメモリ構造体30−nの後段に追加される。
このように、本実施形態では、高い優先度の送信キューほど最大格納個数を小さく設定する最大格納個数テーブル35を備えるものとすることで、無線側キューバッファ制御部24によって、共有バッファ4の空バッファの管理を行うことができる。その結果、有線側キューバッファ制御部14におけるフリーパケットキュー30を構成するメモリ構造体を確保できるものとし、有線LAN101より送信されるパケットの取りこぼしを低減させることができる。又、高い優先度の送信キューほど最大格納個数を小さくすることで、その送信頻度によって決まる共有バッファ4内に確保される期間に応じたパケットの保管を行うことができ、パケットの破棄によるパケットの取りこぼす確率を低減することができる。
そして、本実施形態において、無線側キューバッファ制御部24に格納される最大格納個数テーブル35による優先度と最大格納個数との関係を、図8(a)又は図8(b)のように設定しても構わない。即ち、図8(a)のように、優先度1,2,3,4それぞれに対して、最大格納個数21(=2),22(=4),23(=8),24(=16)とするように、2に対して優先度を乗数として与えるものでも構わない。尚、この図8(a)のように優先度kを乗数とする場合、2に対する乗数に限らず、2以外の他の値に対する乗数としても構わない。
又、図8(b)のように、優先度1,2,3,4それぞれに対して、最大格納個数2+2×(1−1)(=2),2+2×(2−1)(=4),2+2×(3−1)(=6),2+2×(4−1)(=8)とするように、優先度が1つ低くなるたびに2を追加するものとしても構わない。尚、この図8(b)のように、優先度が低くなる度に累積的に最大格納個数の値を増加させる場合、優先度kにおいて2+2×(k−1)となる演算によるものに限らず、α+β×(k−1)(α,βは自然数)となる演算により設定されるものとしても構わない。又、優先度1〜4それぞれに対する最大格納個数N1〜N4が、N1≦N2≦N3≦N4を満たすものであれば、図8(a)又は図8(b)による設定方法以外の設定方法で設定されるものとしても構わない。
更に、本実施形態において、パケットの破棄が、有線部1で受信されるとともに無線部2で送信キューに振り分けられるメモリ構造体によって指定される新たなパケットが破棄されるものとしたが、受信したパケットを指定するメモリ構造体が無線部2で確認された送信キューに追加され、その代わりに、新たにメモリ構造体が追加された送信キューの先頭に存在するメモリ構造体によって指定されるパケットが破棄されるものとしても構わない。
このとき、新たにメモリ構造体が追加された送信キューの先頭に存在するメモリ構造体が、無線側バッファキュー制御部24よりブリッジ制御部3を介して有線側バッファキュー制御部14に与えられる。そして、このメモリ構造体に格納されたポインタよって指定される共有バッファ4内のバッファに格納されたパケットが削除されるとともに、このメモリ構造がフリーパケットキュー30に追加される。
<第2の実施形態>
本発明の第2の実施形態について、図面を参照して説明する。図9は、本実施形態のデータ送受信装置の内部構成を示すブロック図である。尚、図9のデータ送受信装置において、図1のデータ送受信装置と同一の目的で使用する部分については、同一の符号を付してその詳細な説明は省略する。
図9に示すデータ送受信装置は、図1に示すデータ送受信装置と異なり、無線側バッファキュー制御部24における送信キュー31〜34(図2参照)によって指定される共有バッファ4に格納されたパケットの総パケット数を計測するパケット数計測部25と、パケット数計測部25で計測された総パケット数に基づいて無線側バッファキュー24における最大格納個数テーブル35(図2参照)の設定を行う最大格納個数設定部26と、が追加された無線部2aを備える。
この無線部2aにおいて、パケット数計測部25では、無線側バッファキュー制御部24における送信キュー31〜34それぞれのメモリ構造体の個数を計数することで、送信キュー31〜34によって指定されるパケットの総パケット数が計測される。そして、最大格納個数設定部26が、パケット数計測部25で計測された総パケット数に基づいて、最大格納個数テーブル35における優先度と最大格納個数との関係を設定する。
このように構成されるデータ送受信装置において、パケットの送受信動作については、各ブロックが第1の実施形態と同様の処理動作を行う。よって、以下では、パケット数計測部25での計測結果に基づいて行われる最大格納個数設定部26による最大格納個数テーブル35の設定動作について、説明する。
まず、最大格納個数設定部26において、最大格納個数テーブル35における各優先度に対する最大格納個数は、無線部2aの無線側送信部22で処理可能なパケット数によって設定されて、無線側バッファキュー制御部24に与えられる。よって、例えば、処理可能なパケット数を30としたとき、最大格納個数設定部26において、最大格納個数テーブル35の内容を図8(a)のように設定することができる。このように設定された最大格納個数テーブル35が無線側バッファキュー制御部24に与えられ、無線側バッファキュー制御部24が、この最大格納個数テーブル35に基づいてパケットの破棄を指示する。このとき、第1の実施形態と同様、無線側バッファキュー制御部24が優先度に基づいて送信キュー31〜34へのメモリ構造体の振り分けを行うことで、無線部2aによる有線部1で受信したパケットの無線LAN102への送信動作が行われる。
このように送信動作が行われると、パケット数計測部25において、無線側バッファキュー制御部24における送信キュー31〜34を構成するメモリ構造体の総数の計測が行われる。即ち、メモリ構造体がブリッジ制御部3を介して有線部1より与えられると、メモリ構造体の総数を増加させ、メモリ構造体をブリッジ制御部3を介して有線部1に与えると、メモリ構造体の総数を減少させることで、送信キュー31〜34を構成するメモリ構造体の総数を計測して、管理する。そして、計測を開始してから所定期間が経過すると、パケット数計測部25が、この所定期間の間に計測した送信キュー31〜34を構成するメモリ構造体の総数の最大値Pxを確認し、最大格納個数設定部26に与える。
そして、最大格納個数設定部26において、パケット数計測部25で確認された最大値Pxに所定値ΔP(ΔP≧0)を加算した値Px+ΔPに基づいて、最大格納個数テーブル35における各優先度に対する最大格納個数が設定される。即ち、優先度が低くなるほど最大格納個数が多くなるように設定するとともに、設定した各優先度に対する最大格納個数の総数がPx+ΔPとなるように設定する。このように各優先度に対する最大格納個数が設定された最大格納個数テーブル35が、無線側バッファキュー制御部24に与えられる。このとき、現在設定されている最大格納個数テーブル35における各優先度に対する最大格納個数の総数に等しい場合は、最大格納個数の設定を現在の設定のままとする。
よって、例えば、パケット数計測部25で確認された最大値Pxに所定値ΔPを加算した値Px+ΔPが22となり、最大格納個数テーブル35における各優先度に対する最大格納個数が、図10(a)又は図10(b)のように設定される。即ち、図10(a)のように、優先度1,2,3,4それぞれに対して最大格納個数を3,4,6,9となるように、優先度が低くなるほど、隣接する優先度による最大格納個数の差が大きくなるようにしても構わない。又、図10(b)のように、優先度1,2,3,4それぞれに対して最大格納個数を1,4,7,10となるように、隣接する優先度による最大格納個数の差が一定となるようにしても構わない。
このように動作することによって、パケット数計測部25で計測した総パケット数にΔPを加算した値に基づいて最大格納個数テーブル35の設定が行われるので、有線部1から与えられるメモリ構造体の増減に応じて最適な最大格納個数を設定することが可能となる。よって、本実施形態においては、有線部1がフリーパケットキュー30(図2参照)として確保するメモリ構造体の個数を推測していることに近似し、送信キュー31〜34それぞれに対して、より適切な最大格納個数の設定を促すことになる。
<第3の実施形態>
本発明の第3の実施形態について、図面を参照して説明する。図11は、本実施形態のデータ送受信装置の内部構成を示すブロック図である。尚、図11のデータ送受信装置において、図9のデータ送受信装置と同一の目的で使用する部分については、同一の符号を付してその詳細な説明は省略する。
図11に示すデータ送受信装置は、図9に示すデータ送受信装置と異なり、パケット数計測部25の代わりに、無線側バッファキュー制御部24で管理されるメモリ構造体それぞれに対してブリッジ制御部3より与えられた時刻(以下、入力時刻とする)と送信対象として選択された時刻(以下、出力時刻とする)とを計測するためのタイマ27を有する無線部2bを備える。
この無線部2bにおいて、タイマ27によって、送信キュー31〜34(図2参照)それぞれに対して、構成するメモリ構造体毎の入力時刻と出力時刻とが計測されて、最大格納個数設定部26に与えられる。そして、この最大格納個数設定部26において、送信キュー31〜34それぞれにおけるメモリ構造体の滞在時間(ブリッジ制御部3から与えられてからパケットを無線LAN102に送信するまでに選択される時間)が測定された後、計測された各送信キューを構成するメモリ構造体の滞在時間に基づいて、最大格納個数テーブル35(図2参照)における優先度と最大格納個数との関係が設定される。
このように構成されるデータ送受信装置において、パケットの送受信動作については、各ブロックが第1の実施形態と同様の処理動作を行う。よって、以下では、タイマ27での計測されたメモリ構造体の滞在時間に基づいて行われる最大格納個数設定部26による最大格納個数テーブル35の設定動作について、説明する。
まず、ブリッジ制御部3から無線側バッファキュー制御部24にメモリ構造体が与えられると、タイマ27によって入力時刻が計測される。そして、このタイマ27によって計測された入力時刻が無線側バッファキュー制御部24に与えられて、そのメモリ構造体に計測された入力時刻が付加される。そして、この入力時刻が付加されたメモリ構造体が、このメモリ構造体によって指定されるパケットの種類に応じて、送信キュー31〜34の一つが選択されて、その最後尾に追加される。
又、無線側バッファキュー制御部24において、優先度に応じて送信キュー3x(送信キュー31〜34のいずれかに相当する)のいずれかを選択して、選択された送信キュー3xの先頭に位置するメモリ構造体が確認されるとともに、確認されたメモリ構造体によって指定されるパケットが無線LAN102に送信されると、タイマ27によって出力時刻が計測される。そして、計測された出力時刻が最大格納個数設定部26に与えられるとともに、選択されたメモリ構造体に対して格納されている入力時刻が無線側バッファキュー制御部24から最大格納個数設定部26に与えられる。そして、最大格納個数設定部26において、無線側バッファキュー制御部24から与えられた入力時刻とタイマ27によって計測された出力時刻とから、そのメモリ構造体の滞在時間が求められる。
このようにして、タイマ27による入力時刻及び出力時刻の計測が行われることで、送信キュー31〜34それぞれに対して、構成するメモリ構造体それぞれの滞在時間が確認されると、送信キュー31〜34それぞれにおけるメモリ構造体の滞在時間を、優先度1〜4それぞれに対応させて最大格納個数設定部26が記憶する。このとき、優先度1〜4それぞれに対応させて記憶されるメモリ構造体の滞在時間は、送信キュー31〜34それぞれにおける複数のメモリ構造体の滞在時間を所定期間内で測定した後に平均した値としても構わない。
そして、この記憶した送信キュー31〜34それぞれにおけるメモリ構造体の滞在時間の分布の比率を求めることによって、その比率に応じて、最大格納個数テーブル35における各優先度に対する最大格納個数が設定される。このとき、計測した各優先度の滞在時間が長いほど送信キュー3xを構成するメモリ構造体が多くなることから、送信キューを構成するメモリ構造体の数量に合致した最大格納個数の設定が行われる。即ち、滞在時間が長くなるに従って、その最大格納個数が多くなるように設定される。このようにして、各優先度に対する最大格納個数が設定された最大格納個数テーブル35が、無線側バッファキュー制御部24に与えられる。
このとき、例えば、優先度1,2,3,4それぞれに対して測定された滞在時間が1m秒,1m秒,2m秒,8m秒となる場合、この滞在時間1m秒,1m秒,2m秒,8m秒に基づいて、図12(a)のように、優先度1,2,3,4それぞれに対する最大格納個数を2,2,5,10となるように、滞在時間に対して非線形的に設定されるものとしても構わない。又、滞在時間1m秒,1m秒,2m秒,8m秒に基づいて、図12(b)のように、優先度1,2,3,4それぞれに対する最大格納個数を2,2,4,16となるように、滞在時間に対して線形的に設定されるものとしても構わない。
このように動作することで、既に初期値として各優先度に対して設定されていた最大格納個数が実際の処理動作に適した値となり得なかった場合においても、各優先度に対する滞在時間の分布の比率を確認することで、最適な最大格納個数を再設定することができる。即ち、滞在時間の分布の比率を確認して各優先度に対する送信頻度を確認することによって、各優先度に対する最大格納個数を最適な値に再設定することができる。尚、上述のように各優先度に対する送信キューそれぞれに対する滞在時間を計測したとき、各優先度に対する滞在時間の分布の比率が一定でなくなったことを検出した場合に、タイマ27による滞在時間の計測を一時的に停止するものとしても構わない。このとき、最大格納個数設定部26において、タイマ27による計測結果に基づく各優先度に対する滞在時間の分布の比率が一定であったときの滞在時間に基づいて、各優先度に対する滞在時間の分布の比率が設定される。
又、本実施形態においても、第2の実施形態と同様、図9に示すパケット数計測部25を設けるとともに、このパケット数計測部25において、送信キュー31〜34によって指定されるパケットの総パケット数が計測されるものとしても構わない。そして、最大格納個数設定部26において、各優先度の滞在時間の分布の比率を基に、パケット数計測部25で計測した総パケット数から最大格納個数を割り当てるものとしても構わない。
<第4の実施形態>
本発明の第4の実施形態について、図面を参照して説明する。図13は、本実施形態のデータ送受信装置の内部構成を示すブロック図である。尚、図13のデータ送受信装置において、図11のデータ送受信装置と同一の目的で使用する部分については、同一の符号を付してその詳細な説明は省略する。
図13に示すデータ送受信装置は、図11に示すデータ送受信装置と異なり、無線側バッファキュー制御部24で管理されるメモリ構造体それぞれによって指定されるパケットの寿命を設定するパケット寿命監視部28が追加された無線部2cを備える。この無線部2cでは、第3の実施形態と同様、タイマ27によって送信キュー31〜34(図2参照)それぞれに対して、構成するメモリ構造体毎の入力時刻と出力時刻とが計測されるとともに、このメモリ構造体毎の入力時刻と出力時刻が最大格納個数設定部26に与えられる。そして、最大格納個数設定部26において、第3の実施形態と同様、送信キュー31〜34それぞれにおけるメモリ構造体の滞在時間が測定されるとともに、この滞在時間に基づいて最大格納個数テーブル35(図2参照)における優先度と最大格納個数との関係が設定される。
又、パケット寿命監視部28は、タイマ27で計測された各メモリ構造体の入力時刻と、最大格納個数設定部26において測定された送信キュー31〜34それぞれにおけるメモリ構造体の滞在時間とから、無線側バッファキュー制御部24に与えられた各メモリ構造体の示すパケットの破棄する時刻(パケット寿命時刻)を設定する。そして、このパケット寿命監視部28によって、タイマ27より確認される現在時刻と各メモリ構造体に対して設定されたパケット寿命時刻とを比較することで、パケットを破棄するメモリ構造体が確認される。
このように構成されるデータ送受信装置において、パケットの送受信動作については、各ブロックが第1の実施形態と同様の処理動作を行うとともに、最大格納個数設定部26による最大格納個数テーブル35の設定動作については、各ブロックが第3の実施形態と同様の処理動作を行う。よって、以下では、パケット寿命監視部28で設定されたパケット寿命時刻に基づいて破棄するパケットを監視する動作について、説明する。
まず、ブリッジ制御部3から無線側バッファキュー制御部24にメモリ構造体が与えられると、タイマ27によって入力時刻が計測される。このタイマ27によって計測された入力時刻が無線側バッファキュー制御部24及びパケット寿命監視部28に与えられる。又、無線側バッファキュー制御部24では、入力時刻が付加されたメモリ構造体が、そのメモリ構造体によって指定されるパケットの種類に応じて選択された送信キュー31〜34の一つの最後尾に追加される。このとき、ブリッジ制御部3より与えられたメモリ構造体を追加するために選択された送信キュー3x(送信キュー31〜34のいずれかに相当する)がパケット寿命監視部28に報知される。そして、パケット寿命監視部28では、ブリッジ制御部3より与えられたメモリ構造体に対して、パケット寿命時刻が設定される。このときのパケット寿命時刻の設定について、図14のフローチャートを参照して説明する。
このパケット寿命監視部28は、ブリッジ制御部3から無線部バッファキュー制御部24にメモリ構造体が与えられたことを確認すると(STEP1)、パケット寿命時刻の設定が開始され、まず、タイマ27で計測された入力時刻を確認する(STEP2)。そして、無線側バッファキュー制御部24より、与えられたメモリ構造体を追加するために選択された送信キュー3xを確認するとともに(STEP3)、この送信キュー3xに対して測定されたメモリ構造体の滞在時間を最大格納個数設定部26より確認する(STEP4)。
その後、STEP2で確認された入力時刻とSTEP4で確認された滞在時間とが加算されることで、STEP1において確認されたメモリ構造体で指定されるパケットのパケット寿命時刻が求められる(STEP5)。このようにして求められたパケット寿命時刻が無線側バッファキュー制御部24に与えられると、ブリッジ制御部3から与えられたメモリ構造体に対して、パケット寿命時刻を入力時刻とともに付加する(STEP6)。その後、無線側バッファキュー制御部24において、パケット寿命時刻及び入力時刻が付加されたメモリ構造が、選択された送信キュー3xの最後尾に追加される(STEP7)。
このようにしてパケット寿命時刻が設定され、設定されたパケット寿命時刻が付加されメモリ構造体が送信キュー31〜34より選択されたものに追加されると、パケット寿命監視部28が、各メモリ構造体毎に付加されたパケット寿命時刻に基づいて、パケットの破棄の可否を監視する。このパケット寿命時刻に基づくパケットの破棄の可否を監視する動作について、図15のフローチャートを参照して説明する。
まず、前回のパケット寿命時刻によるパケット破棄の可否の監視動作から所定時間T1が経過したことを、タイマ27で計測された現在時刻と前回の監視動作を行ったときの時刻とを比較することによって確認すると(STEP20)、パケット寿命時刻によるパケット破棄の可否の監視動作を開始する。そして、最低優先度となる優先度4の送信キュー34の先頭となるメモリ構造体34−1(図2参照)のパケット寿命時刻を確認する対象メモリ構造体とする(STEP21)。
その後、対象メモリ構造体が無線側バッファキュー制御部24に存在するか否かが確認される(STEP22)。このとき、バッファキュー制御部24に対象メモリ構造体が存在することが確認されると(Yes)、パケット寿命監視部28が、バッファキュー制御部24から対象メモリ構造体に付加されたパケット寿命時刻を獲得した後(STEP23)、タイマ27で計測された現在時刻を獲得する(STEP24)。そして、パケット寿命監視部28において、STEP24で獲得されたパケット寿命時刻とSTEP25で獲得された現在時刻との比較が成されて、現在時刻がパケット寿命時刻に到達したか否かが確認される(STEP25)。
このとき、現在時刻がパケット寿命時刻に既に到達したことが確認されると(Yes)、対象メモリ構造体によって指定されるパケットが破棄される(STEP26)。即ち、まず、対象メモリ構造体が無線側バッファキュー24よりブリッジ制御部3を介して有線側バッファキュー制御部14に与えられ、対象メモリ構造体に格納されたポインタが確認される。そして、この対象メモリ構造体によるポインタで指定される共有バッファ4内のバッファに格納されたパケットが削除されるとともに、有線側バッファキュー制御部14において、対象メモリ構造体がフリーパケットキュー30の最後尾に追加される。
この対象メモリ構造体の示すパケットの破棄が行われると、パケット寿命監視部28において、現在対象とされている対象メモリ構造体と同じ送信キュー3xにおいて次の段となるメモリ構造体を次の対象メモリ構造体として設定した後(STEP27)、STEP22に移行する。そして、STEP22において、対象メモリ構造体の存在が確認されなかったとき(No)、又は、STEP25において、対象メモリ構造体のパケット寿命時刻が現在時刻よりも後であることが確認されたとき(No)、パケット寿命監視部28において、現在対象メモリ構造体とされているメモリ構造体が最高優先度となる優先度1の送信キュー31に属するメモリ構造体であるか否かが確認される(STEP28)。
このとき、現在対象メモリ構造体とされているメモリ構造体が送信キュー31に属するものでない場合(No)、現在対象メモリ構造体とされているメモリ構造体が現在対象メモリ構造体とされているメモリ構造体が属する送信キューの優先度k(kは、2〜4のいずれかの自然数)よりも1つ優先度の高い優先度(k−1)の送信キューの先頭となるメモリ構造体が、対象メモリ構造体に設定された後(SETP29)、STEP22に移行する。又、現在対象メモリ構造体とされているメモリ構造体が送信キュー31に属するものである場合(Yes)、次回の監視動作の開始時刻をSTEP20で確認するために、タイマ27で計測された現在時刻をパケット寿命監視部28に格納し(STEP30)、監視動作を終了する。
このように、本実施形態においては、処理不可能である寿命時刻となるパケットの破棄を行うことで、有線側バッファキュー制御部14のフリーパケットキュー30で管理される共有バッファ4内の空バッファを適量分保持することができ、空バッファの枯渇を防ぐことができる。尚、図15のフローチャートにおいて、所定時間T1が経過する毎に、パケットの寿命の監視動作が行われるものとしたが、無線側バッファキュー制御部24によってパケットの無線LAN102への送信が指示される毎に、パケットの寿命の監視動作が行われるものとしても構わない。
又、本実施形態においても、第2の実施形態と同様、図9に示すパケット数計測部25を設けるとともに、このパケット数計測部25において、送信キュー31〜34によって指定されるパケットの総パケット数が計測されるものとしても構わない。そして、最大格納個数設定部26において、各優先度の滞在時間の分布の比率を基に、パケット数計測部25で計測した総パケット数から最大格納個数を割り当てるものとしても構わない。
本発明は、異なる複数の通信ネットワークを中継するデータ送受信装置に適用することが可能であり、特に、伝送速度の高い通信ネットワークから伝送速度の低い通信ネットワークに対してデータ伝送を行うためのデータ送受信装置に適用することが可能である。
は、第1の実施形態のデータ送受信装置の内部構成を示すブロック図である。 は、キューイング処理を説明するためのデータ送受信装置内でのキューの関係を示す図である。 は、有線部において受信したパケットを無線部に伝送する際のキュー構造の変遷図である。 は、有線部において受信したパケットを無線部に伝送する際の共有バッファの状態の変遷図である。 は、有線部において受信したパケットを無線部に伝送する際のキュー構造の変遷図である。 は、無線部に伝送されたパケットを無線LANに送信する際の共有バッファの状態の変遷図である。 は、無線部に伝送されたパケットを無線LANに送信する際のキュー構造の変遷図である。 は、図1のデータ送受信装置が備える最大格納個数テーブルの構成例を示す図である。 は、第2の実施形態のデータ送受信装置の内部構成を示すブロック図である。 は、図9のデータ送受信装置の最大格納個数設定部によって設定される最大格納個数テーブルの構成例を示す図である。 は、第3の実施形態のデータ送受信装置の内部構成を示すブロック図である。 は、図11のデータ送受信装置の最大格納個数設定部によって設定される最大格納個数テーブルの構成例を示す図である。 は、第4の実施形態のデータ送受信装置の内部構成を示すブロック図である。 は、図13のデータ送受信装置におけるパケット寿命時刻の設定動作を示すフローチャートである。 は、図13のデータ送受信装置におけるパケット寿命監視動作を示すフローチャートである。
符号の説明
1 有線部
2 無線部
3 ブリッジ制御部
4 共有バッファ
11 有線側受信部
12 有線側送信部
13 有線側バッファ制御部
14 有線側バッファキュー制御部
21 無線側受信部
22 無線側送信部
23 無線側バッファ制御部
24 無線側バッファキュー制御部
25 パケット数計測部
26 最大格納個数設定部
27 タイマ
28 パケット寿命監視部

Claims (17)

  1. 第1通信ネットワークとの通信を行う第1通信部と、前記第1通信ネットワークと異なる第2通信ネットワークとの通信を行う第2通信部と、前記第1及び第2通信ネットワークのうちの一方の通信ネットワークより受信したデータを一時的に格納する共有バッファと、前記第1通信部で扱うデータの書き込み及び読み出しを行うために前記共有バッファを構成する各バッファの状態を制御する第1バッファキュー制御部と、前記第2通信部で扱うデータの書き込み及び読み出しを行うために前記共有バッファを構成する各バッファの状態を制御する第2バッファキュー制御部と、を備え、前記第1及び第2通信ネットワーク間におけるデータ通信の中継動作を行うデータ送受信装置において、
    前記第2バッファキュー制御部が、
    前記第2通信部より送信するデータの送信頻度を決定するために該データの種類に応じて設定する複数の優先度毎に前記共有バッファ内の前記第2通信部より送信するデータが時系列的に並ぶように前記共有バッファ内の各バッファの関係を指定する前記優先度毎のバッファキューを備えるとともに、
    前記バッファキューによって前記共有バッファ内に前記データを保持することが指示されるバッファ量の最大値となる最大格納個数を、前記バッファキューの前記優先度が低くなるほど前記最大格納個数が多くなるように設定し、
    前記バッファキューによって指定される前記データの数が前記最大格納個数を超えることが確認されるとき、前記最大格納個数を超えることが確認された前記バッファキューによって指定される前記データの一部を破棄することを特徴とするデータ送受信装置。
  2. 前記優先度が最高となる前記バッファキューに対する最大格納個数を基準値とし、複数の前記バッファキューそれぞれに対する前記最大格納個数が、前記バッファキューそれぞれの前記優先度と最高となる前記優先度との関係に基づいて所定の規則に従って設定されることを特徴とする請求項1に記載のデータ送受信装置。
  3. 前記所定の規則が、前記バッファキューの前記優先度が低くなる度に一定の値を累積的に加算することであることを特徴とする請求項2に記載のデータ送受信装置。
  4. 複数の前記バッファキューによって前記共有バッファに前記データを確保することが指示されている総バッファ量を計測するバッファ量計測部と、
    前記最大格納個数の総数が該バッファ量計測部で計測された前記総バッファ量と等しくなるとともに前記バッファキューの前記優先度が低くなるほど前記最大格納個数が多くなるように、前記バッファキューそれぞれに対する前記最大格納個数を設定する最大格納個数設定部と、
    を備えることを特徴とする請求項1〜請求項3のいずれかに記載のデータ送受信装置。
  5. 複数の前記バッファキュー毎に、当該バッファキューによって前記データが前記共有バッファに保持されるように指示されている期間となる滞在期間を計測する滞在期間計測部と、
    前記バッファキューそれぞれに対する前記最大格納個数を、前記バッファキューそれぞれに対して前記滞在期間計測部で計測された前記滞在期間に基づいて設定する最大格納個数設定部と、
    を備えることを特徴とする請求項1〜請求項3のいずれかに記載のデータ送受信装置。
  6. 前記バッファキューそれぞれに対して、当該バッファキューによって指定される複数の前記データに対して計測された期間が平均化されることによって前記滞在期間が求められることを特徴とする請求項5に記載のデータ送受信装置。
  7. 前記最大格納個数設定部が、前記バッファキューそれぞれに対する前記最大格納個数を、記滞在期間計測部で計測された前記滞在期間の比率に基づいて設定することを特徴とする請求項5又は請求項6に記載のデータ送受信装置。
  8. 前記滞在期間計測部で計測された前記滞在期間に基づいて前記第2通信部によって読み出される前記共有バッファ内に保持された前記データの寿命時間を設定するとともに、前記寿命時間となった前記データを前記共有バッファより破棄するように前記第2バッファキュー制御部に指示する寿命時間設定部を備えることを特徴とする請求項5〜請求項7のいずれかに記載のデータ送受信装置。
  9. 複数の前記バッファキューによって前記共有バッファに前記データを確保することが指示されている総バッファ量を計測するバッファ量計測部を備えるとともに、
    前記最大格納設定部が、前記最大格納個数の総数が該バッファ量計測部で計測された前記総バッファ量と等しくなるように、前記バッファキューそれぞれに対する前記最大格納個数を設定することを特徴とする請求項5〜請求項8のいずれかに記載のデータ送受信装置。
  10. 通信ネットワークと接続された通信部よりデータを送信するために共有バッファに格納されたデータを、該データの送信頻度に応じた優先度毎のバッファキューによって管理するバッファキュー制御方法において、
    前記バッファキューによって前記共有バッファ内に前記データを保持することが指示されるバッファ量の最大値となる最大格納個数を、前記バッファキューの前記優先度が低くなるほど前記最大格納個数が多くなるように設定し、
    前記バッファキューによって指定される前記データの数が前記最大格納個数を超えることが確認されるとき、前記最大格納個数を超えることが確認された前記バッファキューによって指定される前記データの一部を破棄するように指示することを特徴とするバッファキュー制御方法。
  11. 前記優先度が最高となる前記バッファキューに対する最大格納個数を基準値とし、複数の前記バッファキューそれぞれに対する前記最大格納個数が、前記バッファキューそれぞれの前記優先度と最高となる前記優先度との関係に基づいて所定の規則に従って設定されることを特徴とする請求項10に記載のバッファキュー制御方法。
  12. 前記所定の規則が、前記バッファキューの前記優先度が低くなる度に一定の値を累積的に加算することであることを特徴とする請求項11に記載のバッファキュー制御方法。
  13. 複数の前記バッファキュー毎に、当該バッファキューによって前記データが前記共有バッファに保持されるように指示されている期間となる滞在期間を計測し、
    前記バッファキューそれぞれに対する前記最大格納個数を、前記バッファキューそれぞれに対して前記滞在期間計測部で計測された前記滞在期間に基づいて設定することを特徴とする請求項10〜請求項12のいずれかに記載のバッファキュー制御方法。
  14. 前記バッファキューそれぞれに対して、当該バッファキューによって指定される複数の前記データに対して計測された期間が平均化されることによって前記滞在期間が求められることを特徴とする請求項13に記載のバッファキュー制御方法。
  15. 前記バッファキューそれぞれに対する前記最大格納個数を、計測された前記滞在期間の比率に基づいて設定することを特徴とする請求項13又は請求項14に記載のバッファキュー制御方法。
  16. 計測された前記滞在期間に基づいて前記通信部によって読み出される前記共有バッファ内に保持された前記データの寿命時間を設定するとともに、前記寿命時間となった前記データを前記共有バッファより破棄するように指示することを特徴とする請求項13〜請求項15のいずれかに記載のバッファキュー制御方法。
  17. 複数の前記バッファキューによって前記共有バッファに前記データを確保することが指示されている総バッファ量を計測し、
    前記最大格納個数の総数が該バッファ量計測部で計測された前記総バッファ量と等しくなるとともに前記バッファキューの前記優先度が低くなるほど前記最大格納個数が多くなるように、前記バッファキューそれぞれに対する前記最大格納個数を設定することを特徴とする請求項10〜請求項16のいずれかに記載のバッファキュー制御方法。
JP2005109361A 2005-04-06 2005-04-06 データ送受信装置及びバッファキュー制御方法 Pending JP2006295270A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005109361A JP2006295270A (ja) 2005-04-06 2005-04-06 データ送受信装置及びバッファキュー制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005109361A JP2006295270A (ja) 2005-04-06 2005-04-06 データ送受信装置及びバッファキュー制御方法

Publications (1)

Publication Number Publication Date
JP2006295270A true JP2006295270A (ja) 2006-10-26

Family

ID=37415401

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005109361A Pending JP2006295270A (ja) 2005-04-06 2005-04-06 データ送受信装置及びバッファキュー制御方法

Country Status (1)

Country Link
JP (1) JP2006295270A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011101311A (ja) * 2009-11-09 2011-05-19 Oki Networks Co Ltd 中継装置、及び中継方法
US20110149854A1 (en) * 2009-12-17 2011-06-23 Ambit Microsystems (Shanghai) Ltd. Wireless access device and method of transmitting packets
JP2013074410A (ja) * 2011-09-27 2013-04-22 Hitachi Ltd アドホックネットワーク通信端末、アドホックネットワーク通信端末の制御方法、およびアドホックネットワーク通信システム
WO2024013801A1 (ja) * 2022-07-11 2024-01-18 日本電信電話株式会社 無線通信システム、無線通信方法及び無線通信装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04334145A (ja) * 1991-05-10 1992-11-20 Mitsubishi Electric Corp セル交換装置のバッファ回路
JPH04369139A (ja) * 1991-06-18 1992-12-21 Fujitsu Ltd Atmトラヒック制御方式
JPH05227153A (ja) * 1992-02-14 1993-09-03 Fuji Xerox Co Ltd データ伝送制御装置
JPH0677987A (ja) * 1992-08-28 1994-03-18 Fujitsu Ltd Atm交換機における品質クラス別転送制御方式
JP2001045018A (ja) * 1999-07-30 2001-02-16 Central Res Inst Of Electric Power Ind 非同期転送モード多重装置およびそのしきい値制御方法
JP2001186138A (ja) * 1999-12-24 2001-07-06 Fujitsu Ltd 優先度制御機能付きatmスイッチ
JP2002354046A (ja) * 2001-05-23 2002-12-06 Hitachi Ltd パケット中継装置バッファ管理方法
JP2003134156A (ja) * 2001-10-30 2003-05-09 Sony Corp 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム
JP2003309573A (ja) * 2002-04-17 2003-10-31 Toshiba Corp Pmp無線アクセスシステム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04334145A (ja) * 1991-05-10 1992-11-20 Mitsubishi Electric Corp セル交換装置のバッファ回路
JPH04369139A (ja) * 1991-06-18 1992-12-21 Fujitsu Ltd Atmトラヒック制御方式
JPH05227153A (ja) * 1992-02-14 1993-09-03 Fuji Xerox Co Ltd データ伝送制御装置
JPH0677987A (ja) * 1992-08-28 1994-03-18 Fujitsu Ltd Atm交換機における品質クラス別転送制御方式
JP2001045018A (ja) * 1999-07-30 2001-02-16 Central Res Inst Of Electric Power Ind 非同期転送モード多重装置およびそのしきい値制御方法
JP2001186138A (ja) * 1999-12-24 2001-07-06 Fujitsu Ltd 優先度制御機能付きatmスイッチ
JP2002354046A (ja) * 2001-05-23 2002-12-06 Hitachi Ltd パケット中継装置バッファ管理方法
JP2003134156A (ja) * 2001-10-30 2003-05-09 Sony Corp 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム
JP2003309573A (ja) * 2002-04-17 2003-10-31 Toshiba Corp Pmp無線アクセスシステム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011101311A (ja) * 2009-11-09 2011-05-19 Oki Networks Co Ltd 中継装置、及び中継方法
US20110149854A1 (en) * 2009-12-17 2011-06-23 Ambit Microsystems (Shanghai) Ltd. Wireless access device and method of transmitting packets
US8432857B2 (en) * 2009-12-17 2013-04-30 Ambit Microsystems (Shanghai) Ltd. Wireless access device and method of transmitting packets
JP2013074410A (ja) * 2011-09-27 2013-04-22 Hitachi Ltd アドホックネットワーク通信端末、アドホックネットワーク通信端末の制御方法、およびアドホックネットワーク通信システム
WO2024013801A1 (ja) * 2022-07-11 2024-01-18 日本電信電話株式会社 無線通信システム、無線通信方法及び無線通信装置

Similar Documents

Publication Publication Date Title
US7058070B2 (en) Back pressure control system for network switch port
US9106577B2 (en) Systems and methods for dropping data using a drop profile
US11968129B1 (en) Delay-based tagging in a network switch
JP2009170976A (ja) パケット中継装置、制御方法およびパケット中継プログラム
JP2014517571A (ja) 階層型スケジューリングおよびシェーピング
KR101581515B1 (ko) 송신 장치, 수신 장치, 통신 장치, 통신 시스템 및 송신 방법
US8737227B2 (en) Packet transmission device, memory control circuit, and packet transmission method
JPWO2011108174A1 (ja) 中継器
JP2004266389A (ja) パケット転送制御方法及びパケット転送制御回路
US20100238941A1 (en) Packet transmission apparatus, line interface unit, and control method for packet transmission apparatus
JP2017092665A (ja) 通信装置および通信方法
JP2006295270A (ja) データ送受信装置及びバッファキュー制御方法
US9191239B2 (en) Wireless communication device and wireless communication system
US7933283B1 (en) Shared memory management
JP4164771B2 (ja) ロードバランス型スイッチ装置、及びロードバランス型スイッチ方法
US7324441B1 (en) Methods and apparatus for alleviating deadlock in a fibre channel network
CN111131066B (zh) 一种流量整形方法及装置
JP2016082363A (ja) 通信装置、情報処理装置、情報処理システム及び通信装置の制御方法
JP4630231B2 (ja) パケット処理システム、パケット処理方法、およびプログラム
KR20230024987A (ko) 큐 스케줄링을 위한 방법 및 장치
EP1517484A1 (en) Method and apparatus for traffic scheduling
US20130247071A1 (en) System and method for efficient shared buffer management
JP5552929B2 (ja) 電文送信制御プログラム、通信装置及び電文送信制御方法
JP2022105380A (ja) スイッチ装置、通信システム、通信方法、及びプログラム
US20080228823A1 (en) Frame transfer apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070822

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20071017

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100119

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100518