無線装置およびそれを備えた無線ネットワーク
【課題】通信帯域を効率的に利用可能な無線装置を提供する。
【解決手段】送信元(Tx)の無線装置は、データパケットDATAを送信した後、肯定応答パケットACKの復号を完了すると、他の無線装置が送信処理を放棄したと判断するための送信放棄判断期間[AC]を新たに開始し、各無線装置の送信順番を示す送信予約テーブルを更新する。そして、送信元(Tx)の無線装置は、新たに開始した送信放棄判断期間[AC]の間にパケットを受信しないとき、その更新した送信予約テーブルの先頭に登録された無線装置がデータパケットの送信処理を放棄したと判断し、その先頭に登録された無線装置を送信予約テーブルから削除して送信予約テーブルを更新する。その後、送信元(Tx)の無線装置は、最終的に更新された送信予約テーブルに従ってデータパケットを送信可能であると判定したとき、データパケットを送信する。
【解決手段】送信元(Tx)の無線装置は、データパケットDATAを送信した後、肯定応答パケットACKの復号を完了すると、他の無線装置が送信処理を放棄したと判断するための送信放棄判断期間[AC]を新たに開始し、各無線装置の送信順番を示す送信予約テーブルを更新する。そして、送信元(Tx)の無線装置は、新たに開始した送信放棄判断期間[AC]の間にパケットを受信しないとき、その更新した送信予約テーブルの先頭に登録された無線装置がデータパケットの送信処理を放棄したと判断し、その先頭に登録された無線装置を送信予約テーブルから削除して送信予約テーブルを更新する。その後、送信元(Tx)の無線装置は、最終的に更新された送信予約テーブルに従ってデータパケットを送信可能であると判定したとき、データパケットを送信する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、パケットの衝突を低減して無線通信を行なう無線装置およびそれを備えた無線ネットワークに関するものである。
【背景技術】
【0002】
無線通信用のMAC(Media Access Control)プロトコルは、ランダムアクセスおよび予約ベースアクセスに大別される。
【0003】
ランダムアクセス用のプロトコルは、分散型無線通信を念頭に設計され、端末装置間の同期を必要としない。そして、DCF(Distributed Coordination Function)およびEDCA(Enhanced Distributed Coordination Acess)がランダムアクセス用のプロトコルとして知られている(非特許文献1,2)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】”IEEE Standards for Information Technology-Telecommunications and Information Exchange Between Systems-LAN/MAN Specific Requirements-Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications,” New York: Institute of Electrical and Electronics Engineers, Inc.
【非特許文献2】”IEEE Standards for Information Technology-Telecommunications and Information Exchange Between Systems-LAN/MAN Specific Requirements-Part II: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications,” Amendment: Medium Access Control (MAC) Quality of Service Enhancements, IEEE 802.11e/D13.0, New York: Institute of Electrical and Electronics Engineers, Inc.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、従来のランダムアクセス用のプロトコルにおいては、パケットの衝突およびチャネルアイドル時間によってチャネルの利用効率が低下するという問題がある。
【0006】
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、通信帯域を効率的に利用可能な無線装置を提供することである。
【0007】
また、この発明の別の目的は、通信帯域を効率的に利用可能な無線装置を備えた無線ネットワークを提供することである。
【課題を解決するための手段】
【0008】
この発明によれば、無線装置は、パケットを送信または受信する無線装置であって、テーブルモジュールと、通信モジュールと、タイマーモジュールとを備える。テーブルモジュールは、当該無線装置の通信範囲内に存在する複数の無線装置の送信順序を示す送信予約テーブルを作成および更新する。通信モジュールは、送信予約テーブルが空であるとき、キャリアセンスを行ない、無線通信空間が空いていることを確認してから無線通信を行なう第1のモードでデータパケットを送信し、複数の無線装置を識別するための複数の識別子のいずれかが送信予約テーブルに登録されているとき、送信予約テーブルに従って無線通信を行なう第2のモードでデータパケットを送信する。タイマーモジュールは、通信モジュールが当該無線装置以外の無線装置からのパケットの受信を完了すると、各無線装置におけるデータパケットの送信処理が放棄されたことを判断するための送信放棄判断期間を設定する。そして、通信モジュールは、当該無線装置が送信予約テーブルにおいて1番目の送信順番を有する場合、データパケットを送信し、当該無線装置が送信予約テーブルにおいて2番目の送信順番を有し、かつ、送信放棄判断期間の間にパケットを受信しない場合、送信放棄判断期間が満了すると、データパケットを送信する。
【0009】
好ましくは、データパケットは、通信の優先度が相互に異なる複数のカテゴリに分類されている。テーブルモジュールは、複数のカテゴリに対応付けられた複数の送信予約テーブルを作成および更新する。タイマーモジュールは、複数のカテゴリに対応付けられ、かつ、各々が任意の長さを有する複数の送信放棄判断期間を設定する。通信モジュールは、第2のモードにおいて、複数の送信予約テーブルに従って複数のカテゴリに属するデータパケットを送信する。
【0010】
好ましくは、テーブルモジュールは、通信モジュールが複数のカテゴリのうちの1つのカテゴリに対応付けられた送信放棄判断期間の満了までにパケットを受信しなかったとき、1つのカテゴリに対応付けられた送信予約テーブルの先頭に登録された無線装置の識別子を削除する更新処理を複数の送信予約テーブルの全てについて実行する。通信モジュールは、更新された複数の送信予約テーブルに従って複数のカテゴリに属するデータパケットを送信する。
【0011】
好ましくは、テーブルモジュールは、通信モジュールが複数のカテゴリのうちの1つのカテゴリに対応付けられた送信放棄判断期間の満了までにパケットを受信し、かつ、その受信したパケットを復号できないとき、1つのカテゴリに対応付けられた送信予約テーブルの先頭に登録された無線装置の識別子を削除する更新処理を複数の送信予約テーブルの全てについて実行する。通信モジュールは、更新された複数の送信予約テーブルに従って複数のカテゴリに属するデータパケットを送信する。
【0012】
好ましくは、テーブルモジュールは、通信モジュールが複数のカテゴリのうちの1つのカテゴリに対応付けられた送信放棄判断期間の満了までにデータパケットを受信し、かつ、その受信したデータパケットを復号できたとき、その受信したデータパケットの送信元の無線装置の識別子が1つのカテゴリに対応付けられた送信予約テーブルにおいて最も遅い送信順番を有するように1つのカテゴリに対応付けられた送信予約テーブルを更新する更新処理を複数の送信予約テーブルの全てについて実行する。通信モジュールは、更新された複数の送信予約テーブルに従って複数のカテゴリに属するデータパケットを送信する。
【0013】
好ましくは、タイマーモジュールは、データパケットに対する肯定応答パケットの復号完了時、または肯定応答パケットの送信完了時に、複数のカテゴリのうちの1つのカテゴリである対象カテゴリに対応付けられた送信放棄判断期間を新たに開始する。テーブルモジュールは、データパケットの送信完了時、またはデータパケットの受信完了時に、対象カテゴリに対応付けられた送信予約テーブルを更新する。
【0014】
好ましくは、タイマーモジュールは、データパケットに対する肯定応答パケットを待つ期間である肯定応答待機期間の満了時、または肯定応答パケットを待つ期間である肯定応答送信期間の満了時に、複数のカテゴリのうちの1つのカテゴリである対象カテゴリに対応付けられた送信放棄判断期間を新たに開始する。テーブルモジュールは、データパケットの送信完了時またはデータパケットの受信完了時に、対象カテゴリに対応付けられた送信予約テーブルを更新する。
【0015】
好ましくは、タイマーモジュールは、データパケットに対する肯定応答パケットの復号完了時に、複数のカテゴリのうちの1つのカテゴリである対象カテゴリに対応付けられた送信放棄判断期間を新たに開始する。テーブルモジュールは、データパケットの送信完了時、またはデータパケットの受信完了時に、対象カテゴリに対応付けられた送信予約テーブルを更新する。
【0016】
好ましくは、通信モジュールは、複数のカテゴリのうちの1つのカテゴリである対象カテゴリに対応付けられた送信予約テーブルに当該無線装置の識別子が登録されていないとき、または対象カテゴリに対応付けられた送信予約テーブルの先頭に当該無線装置の識別子が登録されているとき、対象カテゴリに属するパケットを送信する。
【0017】
また、この発明によれば、無線ネットワークは、請求項1から請求項9のいずれか1項に記載の無線装置を備える。
【発明の効果】
【0018】
この発明によれば、無線装置は、複数の無線装置の識別子のいずれかが送信予約テーブルに登録されているとき、送信予約テーブルに登録された順番に従って無線通信を行なう。そして、無線装置は、自己が送信予約テーブルにおいて2番目の送信順番を有し、かつ、送信放棄判断期間の間にパケットを受信しない場合、送信放棄判断期間が満了すると、データパケットを送信する。その結果、送信予約テーブルにおいて1番目の送信順番を有する他の無線装置がデータパケットを有しない場合、無線装置が他の無線装置からのデータパケットの受信を待ち続けるという事態が回避され、2番目の送信順番を有する無線装置がデータパケットを送信する。
【0019】
従って、この発明によれば、通信帯域を効率的に利用できる。
【図面の簡単な説明】
【0020】
【図1】この発明の実施の形態による無線ネットワークの概略図である。
【図2】図1に示す無線装置の実施の形態1における構成を示す概略ブロック図である。
【図3】図2に示すMACモジュールの機能を示す機能ブロック図である。
【図4】図2に示す送信予約テーブルの構成図である。
【図5】送信予約テーブルの作成方法を説明するための図である。
【図6】送信予約テーブルを更新する方法を説明するための図である。
【図7】無線装置におけるデータパケットの送信動作を説明するための図である。
【図8】送信予約テーブルの具体例を示す図である。
【図9】送信放棄判断期間の概念図である。
【図10】送信放棄判断期間に基づく送信予約テーブルの更新処理を説明するための図である。
【図11】送信放棄判断期間の管理方法を説明するための図である。
【図12】送信元の無線装置における肯定応答パケットの復号完了時の処理を示す図である。
【図13】送信元の無線装置における肯定応答パケットの復号失敗時の処理を示す図である。
【図14】受信先におけるデータパケットの復号完了時の処理を示す図である。
【図15】無線通信を傍受する無線装置におけるデータパケットおよび肯定応答パケットの復号完了時の処理を示す図である。
【図16】無線通信を傍受する無線装置における肯定応答パケットの復号失敗時の処理を示す図である。
【図17】無線通信を傍受する無線装置におけるデータパケットおよび肯定応答パケットの復号失敗時の処理を示す図である。
【図18】送信元の無線装置において肯定応答パケットを受信しないときの処理を示す図である。
【図19】受信先の無線装置においてデータパケットを受信しないときの処理を示す図である。
【図20】無線通信を傍受する無線装置においてデータパケットの復号後、肯定応答パケットを受信しないときの処理を示す図である。
【図21】無線通信を傍受する無線装置においてデータパケットの復号失敗後に肯定応答パケットを受信しないときの処理を示す図である。
【図22】図1に示す無線ネットワークにおける通信動作を説明するための図である。
【図23】送信元(Tx)、受信先(Rx)および無線装置(Ox)における送信予約テーブルを示す図である。
【図24】送信元(Tx)における通信動作を説明するための図である。
【図25】複数のアクセスカテゴリに属するパケットを送信する場合の動作を説明するための図である。
【図26】図1に示す無線装置の実施の形態2における構成を示す概略ブロック図である。
【図27】図26に示すLLCモジュールの機能を示す機能ブロック図である。
【図28】LLCモジュールによるMACモジュールの監視の概念図である。
【図29】無線装置におけるデータパケットの送信動作を説明するための図である。
【図30】送信元の無線装置における肯定応答パケットの復号完了時の処理を示す図である。
【図31】送信元の無線装置における肯定応答パケットの復号失敗時の処理を示す図である。
【図32】受信先の無線装置におけるデータパケットの復号成功時の処理を示す図である。
【図33】無線通信を傍受する無線装置におけるデータパケットおよび肯定応答パケットの復号成功時の処理を示す図である。
【図34】無線通信を傍受する無線装置における肯定応答パケットの復号失敗時の処理を示す図である。
【図35】無線通信を傍受する無線装置におけるデータパケットおよび肯定応答パケットの復号失敗時の処理を示す図である。
【図36】送信元の無線装置における肯定応答待機期間の満了時の処理を示す図である。
【図37】受信先の無線装置におけるデータパケットの復号失敗時の処理を示す図である。
【図38】無線通信を傍受する無線装置における肯定応答待機期間の満了時の処理を示す図である。
【図39】無線通信を傍受する無線装置におけるデータパケットの復号失敗時の処理を示す図である。
【図40】送信権を用いたデータパケットの送信方法を説明するための第1の図である。
【図41】送信権を用いたデータパケットの送信方法を説明するための第2の図である。
【発明を実施するための形態】
【0021】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【0022】
図1は、この発明の実施の形態による無線ネットワークの概略図である。図1を参照して、この発明の実施の形態による無線ネットワーク10は、無線装置1〜7を備える。
【0023】
無線装置1は、通信範囲REGを有する。無線装置2〜7は、無線装置1の通信範囲REG内に配置される。そして、無線装置1〜7は、相互に無線通信を行なう。
【0024】
より具体的には、無線装置1〜7は、通信の優先度が相互に異なる4個のアクセスカテゴリAC1〜AC4に属するデータパケットを相互に送受信する。アクセスカテゴリAC1は、バックグランドAC_BKからなり、アクセスカテゴリAC2は、ベストエフォートAC_BEからなり、アクセスカテゴリAC3は、映像AC_VIからなり、アクセスカテゴリAC4は、音声AC_VOからなる。
【0025】
[実施の形態1]
図2は、図1に示す無線装置1の実施の形態1における構成を示す概略ブロック図である。図2を参照して、実施の形態1による無線装置1は、送受信モジュール11と、ローカルバッファ12と、カテゴリバッファ13〜16と、送信キュー17〜20と、送信予約テーブル21と、MACモジュール22と、IP(Internet Protocol)モジュール23とを含む。
【0026】
送受信モジュール11は、物理層に属する。そして、送受信モジュール11は、キャリアセンスを行ない、そのキャリアセンスの結果をMACモジュール22へ出力する。
【0027】
また、送受信モジュール11は、ローカルバッファ12からパケットを受け、その受けたパケットをアンテナ(図示せず)を介して送信する。
【0028】
更に、送受信モジュール11は、アンテナ(図示せず)を介してパケットを受信し、その受信したパケットをMACモジュール22へ出力する。
【0029】
ローカルバッファ12は、MAC層に属する。そして、ローカルバッファ12は、カテゴリバッファ13〜16のいずれか、またはMACモジュール22からパケットを受け、その受けたパケットを一時的に保持する。
【0030】
カテゴリバッファ13〜16は、MAC層に属し、それぞれ、アクセスカテゴリAC1〜AC4に対応して設けられる。そして、カテゴリバッファ13〜16は、それぞれ、送信キュー17〜20からのパケットを受け、その受けたパケットを一時的に保持する。
【0031】
また、カテゴリバッファ13〜16は、優先度に応じたカテゴリバッファバックオフ時間が予め設定されている。即ち、カテゴリバッファ13は、最も長いカテゴリバッファバックオフ時間が設定されており、カテゴリバッファ14は、2番目に長いカテゴリバッファバックオフ時間が設定されており、カテゴリバッファ15は、3番目に長いカテゴリバッファバックオフ時間が設定されており、カテゴリバッファ16は、最も短いカテゴリバッファバックオフ時間が設定されている。つまり、カテゴリバッファ13〜16は、通信の優先度が高い程、より短いカテゴリバッファバックオフ時間が設定されている。
【0032】
送信キュー17〜20は、MAC層に属し、それぞれ、カテゴリバッファ13〜16に対応して設けられる。即ち、送信キュー17〜20は、それぞれ、アクセスカテゴリAC1〜AC4に対応して設けられる。
【0033】
そして、送信キュー17〜20は、それぞれ、アクセスカテゴリAC1〜AC4に属するパケットをIPモジュール23から受け、その受けたパケットを一時的に保持する。
【0034】
送信予約テーブル21は、MAC層に属し、4個の送信予約テーブル211〜214からなる。送信予約テーブル211〜214は、それぞれ、アクセスカテゴリAC1〜AC4に対応して設けられる。そして、送信予約テーブル211〜214は、それぞれ、アクセスカテゴリAC1〜AC4に属するパケットを送信するときの無線装置1〜7の送信順番を示す。より具体的には、送信予約テーブル211〜214は、それぞれ、アクセスカテゴリAC1〜AC4に属するパケットを送信する無線装置1〜7のIDを送信順に格納する。
【0035】
MACモジュール22は、MAC層に属する。そして、MACモジュール22は、後述する方法によって、送信予約テーブル211〜214を作成するとともに、送信予約テーブル211〜214を更新する。
【0036】
また、MACモジュール22は、IPモジュール23からのパケットを受ける。そして、MACモジュール22は、その受けたパケットのQoS(Quality of Service)フィールドに含まれるアクセスカテゴリ情報を参照して、パケットのアクセスカテゴリ(AC1〜AC4のいずれか)を識別する。そうすると、MACモジュール22は、その識別したアクセスカテゴリに対応付けられた送信キュー(送信キュー17〜20のいずれか)にパケットを格納する。
【0037】
更に、MACモジュール22は、後述する方法によって、送信キュー17〜20に格納された各パケットの送信処理を行なう。
【0038】
更に、MACモジュール22は、他の無線装置から受信したパケットを送受信モジュール11から受ける。そして、MACモジュール22は、その受けたパケットがデータパケットである場合、データパケットに対する応答である肯定応答パケットを生成し、その生成した肯定応答パケットをローカルバッファ12を介して送受信モジュール11へ出力する。また、MACモジュール22は、データパケットをIPモジュール23へ出力する。
【0039】
更に、MACモジュール22は、後述する方法によって、他の無線装置がデータパケットの送信処理を放棄したことを判断するための送信放棄判断期間を設定する。
【0040】
更に、MACモジュール22は、データパケットが送信されると、後述する方法によって、肯定応答パケットを受信するための肯定応答待機期間を設定する。
【0041】
更に、MACモジュール22は、データパケットの受信が完了すると、後述する方法によって、肯定応答パケットを送信するための肯定応答送信期間を設定する。
【0042】
IPモジュール23は、IP層に属し、アプリケーション(図示せず)からデータを受ける。そして、IPモジュール23は、その受けたデータを含むデータパケットを生成し、その生成したデータパケットをMACモジュール22へ出力する。また、IPモジュール23は、MACモジュール22からデータパケットを受け、その受けたデータパケットをアプリケーション(図示せず)へ出力する。
【0043】
図3は、図2に示すMACモジュール22の機能を示す機能ブロック図である。図3を参照して、MACモジュール22は、通信モジュール221と、タイマーモジュール222と、テーブルモジュール223とを含む。
【0044】
通信モジュール221は、IPモジュール23からのパケットを受け、その受けたパケットを上述した方法によって送信キュー17〜20のいずれかに格納する。
【0045】
また、通信モジュール221は、送信予約テーブル21を参照して、後述する方法によって、送信キュー17〜20に格納された各パケットの送信処理を行なう。
【0046】
更に、通信モジュール221は、他の無線装置から受信したパケットを送受信モジュール11から受ける。そして、通信モジュール221は、その受けたパケットがデータパケットである場合、データパケットに対する応答である肯定応答パケットを生成し、その生成した肯定応答パケットをローカルバッファ12を介して送受信モジュール11へ出力する。また、通信モジュール221は、データパケットをIPモジュール23へ出力する。
【0047】
更に、通信モジュール221は、他の無線装置から受信したデータパケットの送信元およびアクセスカテゴリ情報をデータパケットから抽出する。そして、通信モジュール221は、その抽出した送信元およびアクセスカテゴリ情報をテーブルモジュール223へ出力する。
【0048】
更に、通信モジュール221は、他の無線装置から受信したパケットの復号完了通知または復号失敗通知をタイマーモジュール222およびテーブルモジュール223へ出力する。
【0049】
更に、通信モジュール221は、パケット(=データパケットおよび肯定応答パケット)の送信を開始したことを示す送信開始通知、パケット(=データパケットおよび肯定応答パケット)の送信を完了したことを示す送信完了通知、パケット(=データパケットおよび肯定応答パケット)の受信を開始したことを示す受信開始通知およびパケット(=データパケットおよび肯定応答パケット)の受信を完了したことを示す受信完了通知をタイマーモジュール222へ出力する。
【0050】
タイマーモジュール222は、通信モジュール221からの受信完了通知に応じて、後述する方法によって、他の無線装置がデータパケットの送信処理を放棄したと判断するための送信放棄判断期間を設定する。
【0051】
また、タイマーモジュール222は、通信モジュール221からの送信完了通知に応じて、後述する方法によって、肯定応答パケットを受信するための肯定応答待機期間を設定する。
【0052】
更に、タイマーモジュール222は、通信モジュール221からの復号完了通知に応じて、後述する方法によって、肯定応答パケットを送信するための肯定応答送信期間を設定する。
【0053】
更に、タイマーモジュール222は、通信モジュール221からの送信開始通知、送信完了通知、受信開始通知および受信完了通知に応じて、送信放棄判断期間の更新処理を行なう。
【0054】
テーブルモジュール223は、通信モジュール221からの受信完了通知、送信元、アクセスカテゴリ情報、復号完了通知および復号失敗通知に基づいて、後述する方法によって、送信予約テーブル21(=送信予約テーブル211〜214)を作成および更新する。
【0055】
なお、図1に示す無線装置2〜7の各々も、図2および図3に示す無線装置1と同じ構成からなる。
【0056】
図4は、図2に示す送信予約テーブル211の構成図である。図4を参照して、送信予約テーブル211は、1番目の無線装置の識別子、2番目の無線装置の識別子、3番目の無線装置の識別子、・・・からなる。
【0057】
1番目の無線装置の識別子、2番目の無線装置の識別子、3番目の無線装置の識別子、・・・は、それぞれ、1番目にデータパケットを送信する無線装置、2番目にデータパケットを送信する無線装置、3番目にデータパケットを送信する無線装置、・・・を表す。そして、1番目の無線装置の識別子、2番目の無線装置の識別子、3番目の無線装置の識別子、・・・は、それぞれ、1番目にデータパケットを送信する無線装置のアドレス、2番目にデータパケットを送信する無線装置のアドレス、3番目にデータパケットを送信する無線装置のアドレス、・・・からなる。
【0058】
なお、図2に示す送信予約テーブル212〜214の各々も、図4に示す送信予約テーブル211と同じ構成からなる。
【0059】
図5は、送信予約テーブルの作成方法を説明するための図である。なお、図5においては、無線装置1の送信予約テーブル211を例にして、送信予約テーブルを作成する方法について説明する。
【0060】
図5を参照して、送信予約テーブル211は、最初、無線装置の識別子が登録されていない空の状態である(図5の(a)参照)。
【0061】
その後、無線装置1の通信モジュール221は、データパケットPKT1を受信し、その受信したデータパケットPKT1の送信元である無線装置2のアドレスAdd2と、データパケットPKT1が属するアクセスカテゴリAC1とをデータパケットPKT1から抽出する。
【0062】
そして、無線装置1の通信モジュール221は、無線装置1がデータパケットPKT1の受信先であるとき、データパケットPKT1に対する肯定応答パケットACK1を生成して無線装置2へ送信する。一方、無線装置1の通信モジュール221は、データパケットPKT1の受信先が無線装置1以外であるとき、肯定応答パケットACK1を他の無線装置から受信する。
【0063】
そして、無線装置1の通信モジュール221は、データパケットPKT1の受信が完了すると、無線装置2のアドレスAdd2およびアクセスカテゴリAC1をテーブルモジュール223へ出力する。
【0064】
無線装置1のテーブルモジュール223は、無線装置2のアドレスAdd2およびアクセスカテゴリAC1を通信モジュール221から受けると、アクセスカテゴリAC1に対応付けられた送信予約テーブル211に無線装置2のアドレスAdd2を登録する(図5の(b)参照)。
【0065】
その後、無線装置1の通信モジュール221は、アクセスカテゴリAC1に属するデータパケットPKT2を送信キュー17から取り出して受信先へ送信する。そして、無線装置1の通信モジュール221は、データパケットPKT2に対する肯定応答パケットACK2をデータパケットPKT2の受信先から受信する。
【0066】
無線装置1の通信モジュール221は、データパケットPKT2の送信を完了すると、無線装置1のアドレスAdd1およびアクセスカテゴリAC1をテーブルモジュール223へ出力する。
【0067】
無線装置1のテーブルモジュール223は、無線装置1のアドレスAdd1およびアクセスカテゴリAC1を受けると、アクセスカテゴリAC1に対応付けられた送信予約テーブル211の最後部に無線装置1のアドレスAdd1を登録する(図5の(c)参照)。
【0068】
その後、同様の動作を繰返し、無線装置1のテーブルモジュール223は、無線装置3のアドレスAdd3および無線装置4のアドレスAdd4を送信予約テーブル211の最後部に順次登録する(図5の(d),(e)参照)。
【0069】
このように、無線装置1のテーブルモジュール223は、データパケットの送信が成功すると、送信に成功したデータパケットの送信元のアドレスをアクセスカテゴリAC1に対応付けられた送信予約テーブル211に登録する。これによって、送信予約テーブル211が作成される。
【0070】
なお、無線装置1のテーブルモジュール223は、上述した方法によって、送信予約テーブル212〜214を作成する。
【0071】
また、無線装置2〜7のテーブルモジュール223も、上述した方法によって、送信予約テーブル211〜214を作成する。
【0072】
図6は、送信予約テーブルを更新する方法を説明するための図である。なお、図6においては、無線装置1の送信予約テーブル211を例にして、送信予約テーブルを更新する方法について説明する。
【0073】
図6を参照して、無線装置1の送信予約テーブル211が送信予約テーブル211Aからなる場合を想定する。
【0074】
無線装置1の通信モジュール221は、データパケットPKT3を受信し、その受信したデータパケットPKT3の送信元である無線装置5のアドレスAdd5と、データパケットPKT3が属するアクセスカテゴリAC1とをデータパケットPKT3から抽出する。
【0075】
そして、無線装置1の通信モジュール221は、データパケットPKT3の受信を完了すると、無線装置5のアドレスAdd5およびアクセスカテゴリAC1をテーブルモジュール223へ出力する。
【0076】
また、無線装置1の通信モジュール221は、無線装置1がデータパケットPKT3の受信先であるとき、データパケットPKT3に対する肯定応答パケットACK3を生成して無線装置5へ送信する。一方、無線装置1の通信モジュール221は、データパケットPKT3の受信先が無線装置1以外であるとき、肯定応答パケットACK3を他の無線装置から受信する。
【0077】
無線装置1のテーブルモジュール223は、無線装置5のアドレスAdd5およびアクセスカテゴリAC1を受けると、アクセスカテゴリAC1に対応付けられた送信予約テーブル211Aを参照して、アドレスAdd5が送信予約テーブル211Aに登録されていないことを検知する。
【0078】
そうすると、無線装置1のテーブルモジュール223は、アドレスAdd5を送信予約テーブル211Aの最後部に登録する。これによって、送信予約テーブル211Aは、送信予約テーブル211Bに更新される(図6の(a)参照)。
【0079】
次に、無線装置1の送信予約テーブル211が送信予約テーブル211Cからなる場合を想定する。
【0080】
無線装置1の通信モジュール221は、上述したように、データパケットPKT3を受信を開始し、データパケットPKT3の受信を完了すると、無線装置5のアドレスAdd5およびアクセスカテゴリAC1をテーブルモジュール223へ出力する。
【0081】
そして、無線装置1のテーブルモジュール223は、無線装置5のアドレスAdd5およびアクセスカテゴリAC1を受けると、アクセスカテゴリAC1に対応付けられた送信予約テーブル211Cを参照して、送信予約テーブル211Cの先頭に登録されたアドレスがアドレスAdd5に一致していることを検知する。
【0082】
そうすると、無線装置1のテーブルモジュール223は、送信予約テーブル211Cの先頭のアドレスAdd5を削除し、通信モジュール221から受けたアドレスAdd5を送信予約テーブル211Cの最後部に登録する。これによって、送信予約テーブル211Cは、送信予約テーブル211Dに更新される(図6の(b)参照)。
【0083】
引き続いて、無線装置1の送信予約テーブル211が送信予約テーブル211Eからなる場合を想定する。
【0084】
無線装置1の通信モジュール221は、上述したように、データパケットPKT3を受信を開始し、データパケットPKT3の受信を完了すると、無線装置5のアドレスAdd5およびアクセスカテゴリAC1をテーブルモジュール223へ出力する。
【0085】
そして、無線装置1のテーブルモジュール223は、無線装置5のアドレスAdd5およびアクセスカテゴリAC1を受けると、アクセスカテゴリAC1に対応付けられた送信予約テーブル211Eを参照して、送信予約テーブル211Eの先頭に登録されたアドレスがアドレスAdd5に一致していないことを検知する。
【0086】
そうすると、無線装置1のテーブルモジュール223は、送信予約テーブル211Eの全体を参照して、アドレスAdd5が送信予約テーブル211Eに登録されているか否かを検索する。そして、無線装置1のテーブルモジュール223は、アドレスAdd5が送信予約テーブル211Eの2番目に登録されていることを検知する。
【0087】
その後、無線装置1のテーブルモジュール223は、送信予約テーブル211Eの2番目のアドレスAdd5を削除し、アドレスAdd5を送信予約テーブル211Eの最後部に登録する。これによって、送信予約テーブル211Eは、送信予約テーブル211Fに更新される(図6の(c)参照)。
【0088】
更に、無線装置1の送信予約テーブル211が送信予約テーブル211Gからなる場合を想定する。
【0089】
無線装置1の通信モジュール221は、上述したように、データパケットPKT3を受信を開始し、データパケットPKT3の受信を完了すると、無線装置5のアドレスAdd5およびアクセスカテゴリAC1をテーブルモジュール223へ出力する。
【0090】
そして、無線装置1のテーブルモジュール223は、無線装置5のアドレスAdd5およびアクセスカテゴリAC1を受けると、アクセスカテゴリAC1に対応付けられた送信予約テーブル211Gを参照して、送信予約テーブル211Gの先頭に登録されたアドレスがアドレスAdd5に一致していないことを検知する。
【0091】
そうすると、無線装置1のテーブルモジュール223は、送信予約テーブル211Gの全体を参照して、アドレスAdd5が送信予約テーブル211Gに登録されているか否かを検索する。そして、無線装置1のテーブルモジュール223は、アドレスAdd5が送信予約テーブル211Gの最後部に登録されていることを検知する。
【0092】
この場合、無線装置1のテーブルモジュール223は、アドレスAdd5が送信予約テーブル211Gの最後部に登録されているので、送信予約テーブル211Gをそのまま保持する(図6の(d)参照)。
【0093】
最後に、無線装置1の送信予約テーブル211が送信予約テーブル211Hからなる場合を想定する。
【0094】
無線装置1の通信モジュール221は、データパケットPKT4を受信し、その受信したデータパケットPKT4の復号に失敗する。そして、無線装置1の通信モジュール221は、データパケットPKT4の復号に失敗したことを示す復号失敗通知をテーブルモジュール223へ出力する。
【0095】
無線装置1のテーブルモジュール223は、通信モジュール221からの復号失敗通知に応じて、送信予約テーブル211Hの先頭のアドレスAdd2を削除する。これによって、送信予約テーブル211Hは、送信予約テーブル211Iに更新される(図6の(e)参照)。
【0096】
この場合、無線装置1のテーブルモジュール223は、アクセスカテゴリAC1に対応付けられた送信予約テーブル211Hのみならず、アクセスカテゴリAC2〜AC4にそれぞれ対応付けられた送信予約テーブル212〜214の先頭に登録されたアドレスを削除する。
【0097】
即ち、無線装置1のテーブルモジュール223は、データパケットPKT4の復号に失敗したことに応じて、アクセスカテゴリAC1〜AC4にそれぞれ対応付けられた送信予約テーブル211〜214の全てから先頭に登録されたアドレスを削除する。
【0098】
これは、復号に失敗したデータパケットPKT4が属するアクセスカテゴリが不明であり、復号に失敗したデータパケットPKT4の送信元も不明であるので、データパケットPKT4の送信元である可能性が最も高いアドレスAdd2を各送信予約テーブル211〜214から削除することにしたものである。
【0099】
なお、無線装置1のテーブルモジュール223は、肯定応答パケットに基づいて送信予約テーブル211〜214を更新しない。つまり、無線装置1のテーブルモジュール223は、データパケットに含まれる送信元およびアクセスカテゴリ情報に基づいて送信予約テーブル211〜214を更新するが、肯定応答パケットの内容に基づいて送信予約テーブル211〜214を更新しない。肯定応答パケットは、アクセスカテゴリ情報を含まないからである。
【0100】
また、無線装置1のテーブルモジュール223は、上述した方法によって、送信予約テーブル212〜214を更新する。
【0101】
更に、無線装置2〜7のテーブルモジュール223も、上述した方法によって、送信予約テーブル211〜214を更新する。
【0102】
図7は、無線装置1におけるデータパケットの送信動作を説明するための図である。また、図8は、送信予約テーブルの具体例を示す図である。
【0103】
図7を参照して、無線装置1のMACモジュール22(=通信モジュール221)は、IPモジュール23からデータパケットPKT1を受けると、その受けたデータパケットPKT1が属するアクセスカテゴリAC1を識別する。
【0104】
そして、無線装置1のMACモジュール22(=通信モジュール221)は、その識別したアクセスカテゴリAC1に対応付けられた送信キュー17にデータパケットPKT1を格納する。
【0105】
無線装置1のMACモジュール22(=通信モジュール221)は、同様にして、データパケットPKT2を送信キュー17に格納する。
【0106】
そして、無線装置1のMACモジュール22(=通信モジュール221)は、送信キュー17に対応するカテゴリバッファ13が空であり、データパケットPKT1,PKT2が送信キュー17に格納されている場合、送信キュー17の先頭のデータパケットPKT1を送信キュー17から取り出し、その取り出したデータパケットPKT1をカテゴリバッファ13に格納する。
【0107】
その後、無線装置1のMACモジュール22(=通信モジュール221)は、アクセスカテゴリAC1に対応付けられた送信予約テーブル211を参照して、送信予約テーブル211が空であることを検知すると、カテゴリバッファ13に格納されたデータパケットPKT1をローカルバッファ12にコピーし、カテゴリバッファ13に付与されたカテゴリバッファバックオフ時間をタイマー(通信モジュール221に内蔵されている)によって計測する。
【0108】
そして、無線装置1のMACモジュール22(=通信モジュール221)は、カテゴリバッファバックオフ時間が経過し、かつ、送受信モジュール11からのキャリアセンスの結果に基づいて無線通信空間が空いていることを検知すると、データパケットPKT1をローカルバッファ12から取り出して送受信モジュール11へ出力する。また、無線装置1のMACモジュール22(=通信モジュール221)は、それと同時に、送信完了通知をタイマーモジュール222へ出力し、タイマーモジュール222は、送信完了通知に応じて肯定応答待機期間を設定する。
【0109】
その後、無線装置1の送受信モジュール11は、データパケットPKT1をアンテナ(図示せず)を介して送信する。
【0110】
一方、無線装置1のMACモジュール22(=通信モジュール221)は、アクセスカテゴリAC1に対応付けられた送信予約テーブル211を参照して、少なくとも1個のアドレスが送信予約テーブル211に登録されていることを検知すると、次の条件を満たすか否かを判定することによってデータパケットPKT1が送信可能であるか否かを判定する。
【0111】
Cnd1)送信元が送信しようとするデータパケットのアクセスカテゴリに対応する送信予約テーブルに送信元のアドレスが登録されていない。
【0112】
Cnd2)送信元が送信しようとするデータパケットのアクセスカテゴリに対応する送信予約テーブルの先頭に登録されたアドレスが送信元のアドレスに一致する。
【0113】
条件Cnd1は、アクセスカテゴリAC1に対応付けられた送信予約テーブル211が送信予約テーブル211J(図8の(a)参照)からなる場合を意味する。また、条件Cnd2は、アクセスカテゴリAC1に対応付けられた送信予約テーブル211が送信予約テーブル211K(図8の(b)参照)からなる場合を意味する。
【0114】
無線装置1のMACモジュール22(=通信モジュール221)は、送信予約テーブル211を参照して、カテゴリバッファ13に格納されたデータパケットPKT1が条件Cnd1,Cnd2のいずれかを満たす場合、カテゴリバッファ13に格納されたデータパケットPKT1が送信可能であると判定する。
【0115】
そして、無線装置1のMACモジュール22(=通信モジュール221)は、カテゴリバッファ13に格納されたデータパケットPKT1をローカルバッファ12にコピーするとともに、カテゴリバッファ13に付与されたカテゴリバッファバックオフ時間をタイマー(通信モジュール221に内蔵されている)によって計測する。
【0116】
無線装置1のMACモジュール22(=通信モジュール221)は、カテゴリバッファバックオフ時間が経過すると、データパケットPKT1をローカルバッファ12から取り出し、その取り出したデータパケットPKT1を送受信モジュール11へ出力する。また、無線装置1のMACモジュール22(=通信モジュール221)は、それと同時に、送信完了通知をタイマーモジュール222へ出力し、タイマーモジュール222は、送信完了通知に応じて肯定応答待機期間を設定する。
【0117】
そして、無線装置1の送受信モジュール11は、データパケットPKT1をアンテナ(図示せず)を介して送信する。
【0118】
上述した2つの方法のいずれかによってデータパケットPKT1が送信された後、無線装置1の送受信モジュール11は、データパケットPKT1に対する肯定応答パケットACK1をデータパケットPKT1の受信先から受信し、その受信した肯定応答ACK1をMACモジュール22(=通信モジュール221)へ出力する。
【0119】
そして、無線装置1のMACモジュール22(=通信モジュール221)は、肯定応答パケットを送受信モジュール11から受け、その受けた肯定応答パケットACK1の復号を実行する。
【0120】
無線装置1のMACモジュール22(=通信モジュール221)は、肯定応答パケットACK1の復号に成功すると、データパケットPKT1の送信が完了したと判断し、データパケットPKT1の送信完了通知をテーブルモジュール223へ出力する。
【0121】
無線装置1のMACモジュール22(=テーブルモジュール223)は、送信完了通知に応じて、送信予約テーブル211を更新する。
【0122】
この場合、無線装置1のMACモジュール22(=テーブルモジュール223)は、送信予約テーブル211が送信予約テーブル211J(図8の(a)参照)からなる場合、無線装置1のアドレスAdd1を送信予約テーブル211Jの最後部に登録する。
【0123】
また、無線装置1のMACモジュール22(=テーブルモジュール223)は、送信予約テーブル211が送信予約テーブル211K(図8の(b)参照)からなる場合、送信予約テーブル211Kの先頭に登録されたアドレスAdd1を削除し、無線装置1のアドレスAdd1を送信予約テーブル211Kの最後部に登録する。
【0124】
そして、無線装置1のMACモジュール22(=通信モジュール221)は、肯定応答待機期間が満了する前に、肯定応答パケットACK1の復号を完了した場合、ローカルバッファ12およびカテゴリバッファ13の両方に格納されたデータパケットPKT1を破棄する。
【0125】
一方、無線装置1のMACモジュール22(=通信モジュール221)は、肯定応答待機期間が満了する前に、肯定応答パケットACK1を受信しなかった場合、再送設定がされており、かつ、再送回数が最大再送回数に達していないことを条件に、ローカルバッファ12に格納されたデータパケットのみを破棄し、カテゴリバッファ13に格納されたデータパケットPKT1をそのまま保持する。
【0126】
なお、複数のアクセスカテゴリに属するデータパケットが送信可能であると判定されたとき、無線装置1のMACモジュール22(=通信モジュール221)は、カテゴリバッファバックオフ時間の短い順にカテゴリバッファ13〜16内のデータパケットをローカルバッファ12にコピーし、該当のカテゴリバッファに設定されたカテゴリバッファバックオフ時間を開始する。
【0127】
この場合、上述したように、カテゴリバッファ13は、最も長いカテゴリバッファバックオフ時間が設定されており、カテゴリバッファ14は、2番目に長いカテゴリバッファバックオフ時間が設定されており、カテゴリバッファ15は、3番目に長いカテゴリバッファバックオフ時間が設定されており、カテゴリバッファ16は、最も短いカテゴリバッファバックオフ時間が設定されているので、データパケットは、優先度の順(即ち、アクセスカテゴリAC4〜AC1の順)に送信される。
【0128】
なお、各無線装置1〜7のMACモジュール22は、上述した方法によってアクセスカテゴリAC1〜AC4に属するデータパケットを送信する。
【0129】
上述したように、各無線装置1〜7のMACモジュール22(=通信モジュール221)は、送信予約テーブル211〜214が空である場合、キャリアセンスを行ない、無線通信空間が空いていることを確認してから無線通信を行なう第1のモードでデータパケットを送信し、少なくとも1個のアドレスが送信予約テーブル211〜214に登録されている場合、送信予約テーブル211〜214に従って無線通信を行なう第2のモードでデータパケットを送信する。
【0130】
そして、各無線装置1〜7のMACモジュール22(=通信モジュール221)は、一旦、第1のモードでデータパケットを送信すると、各無線装置1〜7のアドレスを送信予約テーブル(送信したデータパケットのアクセスカテゴリに対応付けられた送信予約テーブル)に登録する。従って、各無線装置1〜7のMACモジュール22(=通信モジュール221)は、一旦、第1のモードでデータパケットを送信した後においては、第2のモードでデータパケットを送信する。
【0131】
送信放棄判断期間(=NO−frame timer)について説明する。タイマーモジュール222は、アクセスカテゴリAC1〜AC4の各々に対して1つの送信放棄判断期間を設定する。
【0132】
また、タイマーモジュール222は、アクセスカテゴリAC1〜AC4の各々に対して個別の送信放棄判断期間を設定する。従って、アクセスカテゴリAC1〜AC4に対して設定される送信放棄判断期間は、相互に異なることもあれば、相互に同じであることもある。
【0133】
送信放棄判断期間が正常に機能するためには、複数の無線装置1〜7において設定される送信放棄判断期間は、データパケットの送信が成功する場合、相互に同期が取れている必要がある。その理由は、次の通りである。
【0134】
複数の無線装置1〜7において設定される送信放棄判断期間が相互に同期していない場合、他の無線装置が送信処理を放棄したと判断するタイミングが複数の無線装置1〜7間でずれる。その結果、例えば、無線装置2の送信予約テーブル211においては、無線装置2のアドレスAdd2が先頭になり、無線装置1の送信予約テーブル211においては、無線装置1のアドレスAdd1が先頭になる状態が生じ、無線装置1,2が同時にデータパケットを送信する可能性が増加し、パケットの衝突が生じる可能性が大きくなる。
【0135】
そこで、データパケットを同時に送信する無線装置の個数を減少させるために、複数の無線装置1〜7において設定される送信放棄判断期間を相互に同期させる必要がある。
【0136】
この発明の実施の形態においては、送信放棄判断期間は、パケットの送信完了、パケットの復号完了および受信されたパケットの種類によって複数の無線装置1〜7間で同期が取られる。
【0137】
そして、各アクセスカテゴリAC1〜AC4に対応して設定される送信放棄判断期間は、CWmax[ACi]×Slot time(i=1〜4)に設定される。ここで、CWmax[ACi]は、アクセスカテゴリAC1〜AC4におけるコンテンションウィンドの最大値である。
【0138】
図9は、送信放棄判断期間の概念図である。なお、図9において、Txは、送信元の無線装置を表し、Rxは、受信先の無線装置を表し、Oxは、送信元と受信先との間の無線通信を傍受する無線装置を表す。
【0139】
図9を参照して、送信元の無線装置Txにおいて、タイマーモジュール222は、タイミングt1において、パケットの受信完了によってビジー状態BUSYが終了すると、バックオフ時間および送信放棄判断期間を設定する。
【0140】
その後、バックオフ時間がタイミングt2で満了し、送信放棄判断期間がタイミングt3で満了する。
【0141】
送信元の無線装置Txにおいて、タイマーモジュール222は、送信放棄判断期間が満了すると、タイミングt3における次のスロットの開始に伴って送信放棄判断期間を新たに開始する。
【0142】
無線装置RxまたはOxにおいて、タイマーモジュール222は、タイミングt1において、送信放棄判断期間のみを設定する以外は、無線装置Txのタイマーモジュール222と同じ動作を行なう。
【0143】
このように、この発明の実施の形態においては、バックオフタイムおよび送信放棄判断期間は、同時に開始され、バックオフ時間は、送信放棄判断期間よりも短いので、送信放棄判断期間がバックオフ時間の満了後に開始される場合よりも、次のスロットにおけるデータパケットの送信までの時間が短縮される。従って、通信帯域を効率的に利用できる。その結果、無線ネットワークにおけるスループットを向上できる。
【0144】
送信放棄判断期間に基づく送信予約テーブル21の更新処理について説明する。図10は、送信放棄判断期間に基づく送信予約テーブル21の更新処理を説明するための図である。
【0145】
図10を参照して、各無線装置1,3〜5,7の通信モジュール221は、タイマーモジュール222によって設定されたアクセスカテゴリAC1〜AC4に対する送信放棄判断期間No−frame timerAC1〜No−frame timerAC4を参照し、送信放棄判断期間No−frame timerAC1〜No−frame timerAC4の間、パケットを受信しない場合、送信予約テーブル21A(=211〜214)の先頭にそれぞれ登録された無線装置2,6,2,2がデータパケットの送信処理を放棄したと判断する。
【0146】
そして、各無線装置1,3〜5,7の通信モジュール221は、データパケットの送信処理が放棄されたことを示す信号ABDを生成してテーブルモジュール223へ出力する。
【0147】
各無線装置1,3〜5,7のテーブルモジュール223は、信号ABDに応じて、送信予約テーブル21A(=211〜214)の先頭にそれぞれ登録されたアドレスAdd2,Add6,Add2,Add2を削除する。
【0148】
これによって、送信予約テーブル21Aは、送信予約テーブル21Bに更新される。
【0149】
このように、各無線装置1,3〜5,7のテーブルモジュール223は、通信モジュール221が送信放棄判断期間の間にデータパケットを受信しないとき、無線装置2,6,2,2がデータパケットの送信処理を放棄したとみなし、送信予約テーブル21Aから先頭のアドレスAdd2,Add6,Add2,Add2を削除し、無線装置2,6,2,2のアドレスAdd2,Add6,Add2,Add2を送信予約テーブル21Aの最後部に登録しない。
【0150】
つまり、各無線装置1,3〜5,7のテーブルモジュール223は、無線装置2,6,2,2がデータパケットの送信処理を放棄したので、無線装置2,6,2,2に対して次回の送信順番を確保しない。
【0151】
また、各無線装置1〜7のテーブルモジュール223は、送信放棄判断期間No−frame timerAC1〜No−frame timerAC4の間に通信モジュール221がデータパケットを受信した場合、図6において説明した方法によって、送信予約テーブル21(=211〜214)を更新する。
【0152】
なお、各無線装置1〜7のテーブルモジュール223は、1つのアクセスカテゴリ(アクセスカテゴリAC1〜AC4のいずれか)に対応付けられた送信放棄判断期間の間にデータパケットを検出しない場合、その1つのアクセスカテゴリ(アクセスカテゴリAC1〜AC4のいずれか)に対応付けられた送信予約テーブル(送信予約テーブル211〜214のいずれか)を上述した方法によって更新する。つまり、各無線装置1〜7のテーブルモジュール223は、送信予約テーブル211〜214の各々を独立に更新する。
【0153】
図11は、送信放棄判断期間の管理方法を説明するための図である。図11を参照して、アクセスカテゴリAC1に属するデータパケットDATA[AC1]の送信がタイミングt3において完了すると、送信放棄判断期間No−frame timer[AC1]がタイミングt3で開始される。
【0154】
そして、アクセスカテゴリAC2に属するデータパケットDATA[AC2]の送信がタイミングt4において開始されると、送信放棄判断期間No−frame timer[AC1]は、データパケットDATA[AC2]の送信期間であるタイミングt4からタイミングt5までの期間、中断される。
【0155】
その後、送信放棄判断期間No−frame timer[AC1]は、タイミングt5からタイミングt6までの期間、継続される。
【0156】
そして、アクセスカテゴリAC3に属するデータパケットDATA[AC3]の送信がタイミングt6において開始されると、送信放棄判断期間No−frame timer[AC1]は、データパケットDATA[AC3]の送信期間であるタイミングt6からタイミングt8までの期間、中断される。
【0157】
その後、送信放棄判断期間No−frame timer[AC1]は、タイミングt8からタイミングt9までの期間、継続される。
【0158】
そして、アクセスカテゴリAC2に属するデータパケットDATA[AC2]の送信がタイミングt9において開始されると、送信放棄判断期間No−frame timer[AC1]は、データパケットDATA[AC2]の送信期間であるタイミングt9からタイミングt10までの期間、中断される。
【0159】
その後、送信放棄判断期間No−frame timer[AC1]は、タイミングt10からタイミングt11までの期間、継続される。
【0160】
更に、アクセスカテゴリAC4に属するデータパケットDATA[AC4]の送信がタイミングt11において開始されると、送信放棄判断期間No−frame timer[AC1]は、データパケットDATA[AC4]の送信期間であるタイミングt11からタイミングt12までの期間、中断される。
【0161】
その後、送信放棄判断期間No−frame timer[AC1]は、タイミングt12からタイミングt13までの期間、継続される。そして、送信放棄判断期間No−frame timer[AC1]は、満了する。
【0162】
このように、送信放棄判断期間No−frame timer[AC1]は、他のアクセスカテゴリAC2〜AC4に属するデータパケットの送信が発生すると、そのデータパケットの送信期間の間、中断され、データパケットの送信が完了すると、継続される。
【0163】
送信放棄判断期間は、送信されるデータパケットが無いことを判断するための期間であるため、データパケットの送信が開始されるまでの最大時間を考慮する必要がある。そこで、他のアクセスカテゴリに属するデータパケットの送信が発生した場合、そのデータパケットの送信期間の間、送信放棄判断期間を中断することにした。
【0164】
その結果、送信放棄判断期間No−frame timer[AC1]は、本来、タイミングt7で満了するが、データパケットDATA[AC2]〜DATA[AC4]の送信が発生したことによって、延長され、タイミングt13で満了する。
【0165】
この場合、タイミングt3からタイミングt7までの期間は、タイミングt3,t4間の期間、タイミングt5,t6間の期間、タイミングt8,t9間の期間、タイミングt10,t11間の期間およびタイミングt12,t13間の期)の和に等しい。
【0166】
その結果、他のアクセスカテゴリに属するデータパケットの送信が送信放棄判断期間の間に発生しても、他のアクセスカテゴリに属するデータパケットの送信がない場合と同じ長さの送信放棄判断期間が設定される。
【0167】
従って、他の無線装置がデータパケットの送信処理を放棄したことを正確に判断できる。
【0168】
送信放棄判断期間の管理方法の具体例について説明する。図12は、送信元の無線装置における肯定応答パケットの復号完了時の処理を示す図である。なお、図12においては、無線装置1を送信元の無線装置(Tx)とする。
【0169】
図12を参照して、無線装置1のタイマーモジュール222は、バックオフ時間が満了すると、データパケットを送信する対象とするアクセスカテゴリ[AC](対象カテゴリ)に対応付けられた送信放棄判断期間No−frame timer[AC]をキャンセルし、アクセスカテゴリ[AC]以外のアクセスカテゴリ[other AC](対象外カテゴリ)に対応付けられた送信放棄判断期間No−frame timer[other AC]を中断する。
【0170】
そして、無線装置1の通信モジュール221は、アクセスカテゴリ[AC]に属するデータパケットDATA[AC]の送信を開始する。
【0171】
その後、無線装置1のタイマーモジュール222は、通信モジュール221がデータパケットDATA[AC]の送信を完了すると、通信モジュール221からの送信完了通知に応じて、肯定応答待機期間Wait for ACKを開始するとともに送信放棄判断期間No−frame timer[other AC]を継続する。
【0172】
また、無線装置1のテーブルモジュール223は、通信モジュール221からの送信完了通知に応じて対象カテゴリ[AC]に対応付けられた送信予約テーブル[AC]を上述した方法によって更新する。
【0173】
その後、無線装置1のタイマーモジュール222は、通信モジュール221が肯定応答パケットACKの受信を開始すると、通信モジュール221からの受信開始通知に応じて、肯定応答待機期間Wait for ACKをキャンセルするとともに送信放棄判断期間No−frame timer[other AC]を中断する。
【0174】
そして、無線装置1のタイマーモジュール222は、通信モジュール221が肯定応答パケットACKの復号を完了すると、通信モジュール221からの復号完了通知に応じて、送信放棄判断期間No−frame timer[AC]を新たに開始し、送信放棄判断期間No−frame timer[other AC]を継続する。
【0175】
このように、送信元である無線装置1は、データパケットDATA[AC]の送信を完了すると、送信予約テーブル[AC]を更新し、データパケットDATA[AC]に対する肯定応答パケットACKの復号を完了すると、送信放棄判断期間No−frame timer[AC]を新たに開始する。
【0176】
従って、無線装置1の次に送信順番を有する無線装置がデータパケットを送信する機会を得ることができ、通信帯域を効率的に利用できる。
【0177】
図13は、送信元の無線装置における肯定応答パケットの復号失敗時の処理を示す図である。なお、図13においても、無線装置1を送信元の無線装置(Tx)とする。
【0178】
図13を参照して、無線装置1のタイマーモジュール222は、バックオフ時間が満了すると、対象カテゴリであるアクセスカテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]をキャンセルし、対象外カテゴリであるアクセスカテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer[other AC]を中断する。
【0179】
そして、無線装置1の通信モジュール221は、アクセスカテゴリ[AC]に属するデータパケットDATA[AC]の送信を開始する。
【0180】
その後、無線装置1のタイマーモジュール222は、通信モジュール221がデータパケットDATA[AC]の送信を完了すると、通信モジュール221からの送信完了通知に応じて、肯定応答待機期間Wait for ACKを開始するとともに送信放棄判断期間No−frame timer[other AC]を継続する。
【0181】
また、無線装置1のテーブルモジュール223は、通信モジュール221からデータパケットDATA[AC]の送信完了通知に応じて対象カテゴリ[AC]に対応付けられた送信予約テーブル[AC]を上述した方法によって更新する。
【0182】
その後、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの受信を開始すると、通信モジュール221からの受信開始通知に応じて、肯定応答待機期間Wait for ACKをキャンセルするとともに送信放棄判断期間No−frame timer[other AC]を中断する。
【0183】
その後、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの復号を失敗すると、通信モジュール221からの復号失敗通知に応じて、全てのアクセスカテゴリ[AC],[other AC]に対応付けられた送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始する。また、無線装置1のテーブルモジュール223は、通信モジュール221からの復号失敗通知に応じて、全てのアクセスカテゴリ[AC],[other AC]に対応付けられた送信予約テーブル[AC],[other AC]を更新する。
【0184】
このように、送信元である無線装置1は、データパケットDATA[AC]の送信を完了すると、アクセスカテゴリ[AC]対応付けられた送信予約テーブル[AC]を更新し、パケットの復号に失敗すると、全てのアクセスカテゴリ[AC],[other AC]に対応付けられた送信予約テーブル[AC],[other AC]を更新するとともに、全てのアクセスカテゴリ[AC],[other AC]に対応付けられた送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始する。
【0185】
従って、無線装置1の次に送信順番を有する無線装置がデータパケットを送信する機会を得ることができ、通信帯域を効率的に利用できる。
【0186】
図14は、受信先におけるデータパケットの復号完了時の処理を示す図である。なお、図14においては、受信先の無線装置(Rx)を無線装置1とする。
【0187】
図14を参照して、無線装置1のタイマーモジュール222は、通信モジュール221が対象カテゴリ[AC]に属するデータパケットDATA[AC]の受信を開始すると、通信モジュール221からの受信開始通知に応じて、全てのアクセスカテゴリ[ALL AC]に対応付けられた送信放棄判断期間No−frame timer[ALL AC]を中断する。
【0188】
そして、無線装置1のタイマーモジュール222は、通信モジュール221がデータパケットDATA[AC]の受信を完了すると、通信モジュール221からの受信完了通知に応じて、送信放棄判断期間No−frame timer[AC]をキャンセルするとともに送信放棄判断期間No−frame timer[other AC]を継続する。
【0189】
また、無線装置1のテーブルモジュール223は、通信モジュール221がデータパケットDATA[AC]の受信を完了すると、通信モジュール221からの受信完了通知に応じて、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]を更新する。
【0190】
その後、無線装置1のタイマーモジュール222は、通信モジュール221が肯定応答パケットACKの送信を開始すると、通信モジュール221からの送信開始通知に応じて、送信放棄判断期間No−frame timer[other AC]を中断する。
【0191】
そして、無線装置1のタイマーモジュール222は、通信モジュール221が肯定応答パケットACKの送信を完了すると、通信モジュール221からの送信完了通知に応じて、送信放棄判断期間No−frame timer[AC]を新たに開始するとともに送信放棄判断期間No−frame timer[other AC]を継続する。
【0192】
このように、受信先である無線装置1は、データパケットDATA[AC]の受信を完了すると、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]を更新し、肯定応答パケットACKの送信を完了すると、アクセスカテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]を新たに開始し、アクセスカテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer[other AC]を継続する。
【0193】
従って、受信先の無線装置1は、更新された送信予約テーブル[AC]において、自己が1番目の送信順番を有すれば、データパケットを送信できる。また、受信先の無線装置1は、更新された送信予約テーブル[AC]において、自己が2番目以降の送信順番を有すれば、新たな送信元がデータパケットの送信を開始できる。その結果、通信帯域を効率的に利用できる。
【0194】
図15は、無線通信を傍受する無線装置におけるデータパケットおよび肯定応答パケットの復号完了時の処理を示す図である。なお、図15においては、無線通信を傍受する無線装置(Ox)を無線装置1とする。
【0195】
図15を参照して、無線装置1のタイマーモジュール222は、通信モジュール221が対象カテゴリに属するデータパケットDATA[AC]の受信を開始すると、通信モジュール221からの受信開始通知に応じて、全てのアクセスカテゴリ[ALL AC]に対応付けられた送信放棄判断期間No−frame timer[ALL AC]を中断する。
【0196】
そして、無線装置1のタイマーモジュール222は、通信モジュール221がデータパケットDATA[AC]の復号を完了すると、通信モジュール221からの復号完了通知に応じて、送信放棄判断期間No−frame timer[AC]をキャンセルするとともに肯定応答送信期間(=ACK NAV timer)を開始し、送信放棄判断期間No−frame timer[other AC]を継続する。
【0197】
また、無線装置1のテーブルモジュール223は、通信モジュール221がデータパケットDATA[AC]の復号を完了すると(即ち、データパケットDATA[AC]の受信を完了すると)、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]を更新する。
【0198】
その後、無線装置1のタイマーモジュール222は、通信モジュール221が肯定応答パケットACKの受信を開始すると、通信モジュール221からの受信開始通知に応じて、肯定応答送信期間をキャンセルし、送信放棄判断期間No−frame timer[other AC]を中断する。
【0199】
そして、無線装置1のタイマーモジュール222は、通信モジュール221が肯定応答パケットACKの復号を完了すると、通信モジュール221からの復号完了通知に応じて、送信放棄判断期間No−frame timer[AC]を新たに開始するとともに送信放棄判断期間No−frame timer[other AC]を継続する。
【0200】
このように、無線通信を傍受する無線装置1は、データパケットDATA[AC]の受信を完了すると、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]を更新し、肯定応答パケットACKの復号を完了すると、アクセスカテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]を新たに開始し、アクセスカテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer[other AC]を継続する。
【0201】
従って、更新された送信予約テーブル[AC]の先頭に登録された無線装置がデータパケットを送信できる。その結果、通信帯域を効率的に利用できる。
【0202】
また、受信先の無線装置1は、全てのアクセスカテゴリ[ALL AC]に属するデータパケットの送信処理が放棄されたか否かを判断し、データパケットの送信処理が放棄されれば、全ての送信予約テーブル[ALL AC]が更新されるので、新たな無線装置がデータパケットを送信できる。その結果、通信帯域を効率的に利用できる。
【0203】
図16は、無線通信を傍受する無線装置における肯定応答パケットの復号失敗時の処理を示す図である。なお、図16においても、無線通信を傍受する無線装置(Ox)を無線装置1とする。
【0204】
図16を参照して、無線装置1のタイマーモジュール222は、通信モジュール221が対象カテゴリに属するデータパケットDATA[AC]の受信を開始すると、通信モジュール221からの受信開始通知に応じて、全てのアクセスカテゴリ[ALL AC]に対応付けられた送信放棄判断期間No−frame timer[ALL AC]を中断する。
【0205】
そして、無線装置1のタイマーモジュール222は、通信モジュール221がデータパケットDATA[AC]の復号を完了すると、通信モジュール221からの復号完了通知に応じて、送信放棄判断期間No−frame timer[AC]をキャンセルするとともに肯定応答送信期間ACK NAV timerを開始し、送信放棄判断期間No−frame timer[other AC]を継続する。
【0206】
また、無線装置1のテーブルモジュール223は、通信モジュール221がデータパケットDATA[AC]の復号を完了すると(即ち、データパケットDATA[AC]の受信を完了すると)、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]を更新する。
【0207】
その後、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの受信を開始すると、通信モジュール221からの受信開始通知に応じて、肯定応答送信期間ACK NAV timerをキャンセルし、送信放棄判断期間No−frame timer[other AC]を中断する。
【0208】
そして、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの復号に失敗すると、通信モジュール221からの復号失敗通知に応じて、送信放棄判断期間No−frame timer[other AC]をキャンセルし、全ての送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始する。また、無線装置1のテーブルモジュール223は、通信モジュール221からの復号失敗通知に応じて、全ての送信予約テーブル[AC],[other AC]を更新する。
【0209】
このように、無線通信を傍受する無線装置1は、データパケットDATA[AC]の受信を完了すると、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]を更新し、パケットの復号に失敗すると、全ての送信予約テーブル[AC],[other AC]を更新するとともに全ての送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始する。
【0210】
従って、更新された送信予約テーブル[AC],[other AC]において1番目の送信順番を有する無線装置がデータパケットを送信できる。
【0211】
また、無線通信を傍受する無線装置1は、全てのアクセスカテゴリ[ALL AC]に属するデータパケットの送信処理が放棄されたか否かを判断し、データパケットの送信処理が放棄されれば、全ての送信予約テーブル[ALL AC]が更新されるので、新たな無線装置がデータパケットを送信できる。
【0212】
その結果、通信帯域を効率的に利用できる。
【0213】
図17は、無線通信を傍受する無線装置におけるデータパケットおよび肯定応答パケットの復号失敗時の処理を示す図である。なお、図17においても、無線通信を傍受する無線装置(Ox)を無線装置1とする。
【0214】
図17を参照して、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの受信を開始すると、通信モジュール221からの受信開始通知に応じて、全てのアクセスカテゴリ[ALL AC]に対応付けられた全ての送信放棄判断期間No−frame timer[ALL AC]を中断する。
【0215】
そして、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの復号に失敗すると、通信モジュール221からの復号失敗通知に応じて、全ての送信放棄判断期間No−frame timer[ALL AC]をキャンセルし、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始する。また、無線装置1のテーブルモジュール223は、通信モジュール221からの復号失敗通知に応じて、全ての送信予約テーブル[ALL AC]を更新する。
【0216】
その後、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの受信を開始すると、通信モジュール221からの受信開始通知に応じて、全ての送信放棄判断期間No−frame timer[ALL AC]を中断する。
【0217】
そして、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの復号に失敗すると、通信モジュール221からの復号失敗通知に応じて、全ての送信放棄判断期間No−frame timer[ALL AC]をキャンセルし、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始する。また、無線装置1のテーブルモジュール223は、通信モジュール221からの復号失敗通知に応じて、全ての送信予約テーブル[ALL AC]を更新する。
【0218】
このように、無線通信を傍受する無線装置1は、パケットの復号に失敗すると、全ての送信予約テーブル[ALL AC]を更新するとともに全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始する。
【0219】
従って、更新された送信予約テーブル[AC],[other AC]において1番目の送信順番を有する無線装置がデータパケットを送信できる。
【0220】
また、無線通信を傍受する無線装置1は、全てのアクセスカテゴリ[ALL AC]に属するデータパケットの送信処理が放棄されたか否かを判断し、データパケットの送信処理が放棄されれば、全ての送信予約テーブル[ALL AC]が更新されるので、新たな無線装置がデータパケットを送信できる。
【0221】
その結果、通信帯域を効率的に利用できる。
【0222】
図18は、送信元の無線装置において肯定応答パケットを受信しないときの処理を示す図である。なお、図18においては、送信元の無線装置(Tx)を無線装置1とする。
【0223】
図18を参照して、無線装置1のタイマーモジュール222は、バックオフ時間が満了すると、対象カテゴリであるアクセスカテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]をキャンセルし、対象外カテゴリであるアクセスカテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer[other AC]を中断する。
【0224】
そして、無線装置1の通信モジュール221は、アクセスカテゴリ[AC]に属するデータパケットDATA[AC]の送信を開始する。
【0225】
その後、無線装置1のタイマーモジュール222は、通信モジュール221がデータパケットDATA[AC]の送信を完了すると、通信モジュール221からの送信完了通知に応じて、肯定応答待機期間Wait for ACKを開始するとともに送信放棄判断期間No−frame timer[other AC]を継続する。
【0226】
また、無線装置1のテーブルモジュール223は、通信モジュール221からのデータパケットDATA[AC]の送信完了通知に応じて、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]を更新する。
【0227】
そして、無線装置1のタイマーモジュール222は、肯定応答待機期間Wait for ACKが満了すると、送信放棄判断期間No−frame timer[AC]を新たに開始する。この場合、新たに開始された送信放棄判断期間No−frame timer[AC]の長さは、通常の送信放棄判断期間(=Default No−frame timer)から肯定応答待機期間(=Wait for ACK)を減算した値である。
【0228】
ここで、通常の送信放棄判断期間(=Default No−frame timer)から肯定応答待機期間(=Wait for ACK)を減算するのは、肯定応答待機期間の送信放棄判断期間への影響を除去するためである。その結果、無線装置1は、他の無線装置がデータパケットの送信処理を放棄したことを迅速に判断できる。
【0229】
このように、送信元である無線装置1は、データパケットDATA[AC]の送信を完了し、肯定応答待機期間Wait for ACKが満了すると、対象カテゴリに対応付けられた送信放棄判断期間No−frame timer[AC]を新たに開始する。
【0230】
また、無線装置1のテーブルモジュール223は、データパケットDATA[AC]の送信を完了すると、送信予約テーブル[AC]を更新する。
【0231】
従って、無線装置1の次に送信順番を有する無線装置がデータパケットを送信する機会を得ることができ、通信帯域を効率的に利用できる。
【0232】
図19は、受信先の無線装置においてデータパケットを受信しないときの処理を示す図である。なお、図19においては、受信先の無線装置(Rx)を無線装置1とする。
【0233】
図19を参照して、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの受信を開始すると、通信モジュール221からの受信開始通知に応じて、全てのアクセスカテゴリ[ALL AC]に対応付けられた全ての送信放棄判断期間No−frame timer[ALL AC]を中断する。
【0234】
そして、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの復号に失敗すると、通信モジュール221からの復号失敗通知に応じて、全ての送信放棄判断期間No−frame timer[ALL AC]をキャンセルし、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始する。
【0235】
また、無線装置1のテーブルモジュール223は、通信モジュール221からの復号失敗通知に応じて、全ての送信予約テーブル[ALL AC]を更新する。
【0236】
このように、受信先である無線装置1は、パケットの復号に失敗すると、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始するとともに、全ての送信予約テーブル[ALL AC]を更新する。
【0237】
従って、更新された送信予約テーブル[AC],[other AC]において1番目の送信順番を有する無線装置がデータパケットを送信できる。
【0238】
また、無線通信を傍受する無線装置1は、全てのアクセスカテゴリ[ALL AC]に属するデータパケットの送信処理が放棄されたか否かを判断し、データパケットの送信処理が放棄されれば、全ての送信予約テーブル[ALL AC]が更新されるので、新たな無線装置がデータパケットを送信できる。
【0239】
その結果、通信帯域を効率的に利用できる。
【0240】
図20は、無線通信を傍受する無線装置においてデータパケットの復号後、肯定応答パケットを受信しないときの処理を示す図である。なお、図20においては、無線通信を傍受する無線装置(Ox)を無線装置1とする。
【0241】
無線装置1のタイマーモジュール222は、通信モジュール221がデータパケットDATA[AC]の受信を開始すると、通信モジュール221からの受信開始通知に応じて、全ての送信放棄判断期間No−frame timer[ALL AC]を中断する。
【0242】
そして、無線装置1のタイマーモジュール222は、通信モジュール221がデータパケットDATA[AC]の復号を完了すると、通信モジュール221からの復号完了通知に応じて、対象カテゴリであるアクセスカテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]をキャンセルするとともに肯定応答送信期間ACK NAV timerを開始し、対象外カテゴリに対応付けられた送信放棄判断期間No−frame timer[other AC]を継続する。
【0243】
また、無線装置1のテーブルモジュール223は、通信モジュール221がデータパケットDATA[AC]の復号を完了すると(即ち、通信モジュール221がデータパケットDATA[AC]の受信を完了すると)、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]を更新する。
【0244】
その後、無線装置1のタイマーモジュール222は、肯定応答送信期間ACK NAV timerが満了すると、送信放棄判断期間No−frame timer[AC]を新たに開始する。この場合、新たに開始された送信放棄判断期間No−frame timer[AC]の長さは、通常の送信放棄判断期間(=Default No−frame timer)から肯定応答送信期間(=ACK NAV timer)を減算した長さである。
【0245】
ここで、通常の送信放棄判断期間(=Default No−frame timer)から肯定応答送信期間(=ACK NAV timer)を減算するのは、肯定応答送信期間の送信放棄判断期間への影響を除去するためである。その結果、無線通信を傍受する無線装置1は、他の無線装置がデータパケットの送信処理を放棄したことを迅速に判断できる。
【0246】
このように、無線通信を傍受する無線装置1は、データパケットDATA[AC]の復号に成功し、肯定応答送信期間ACK NAV timerが満了すると、送信放棄判断期間No−frame timer[AC]を新たに開始する。
【0247】
また、無線装置1のテーブルモジュール223は、データパケットDATA[AC]の受信を完了すると、送信予約テーブル[AC]を更新する。
【0248】
従って、更新された送信予約テーブル[AC]において1番目の送信順番を有する無線装置がデータパケットを送信できる。
【0249】
また、無線通信を傍受する無線装置1は、全てのアクセスカテゴリ[ALL AC]に属するデータパケットの送信処理が放棄されたか否かを判断し、データパケットの送信処理が放棄されれば、全ての送信予約テーブル[ALL AC]が更新されるので、新たな無線装置がデータパケットを送信できる。
【0250】
その結果、通信帯域を効率的に利用できる。
【0251】
図21は、無線通信を傍受する無線装置においてデータパケットの復号失敗後に肯定応答パケットを受信しないときの処理を示す図である。なお、図21においても、無線通信を傍受する無線装置(Ox)を無線装置1とする。
【0252】
図21を参照して、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの受信を開始すると、通信モジュール221からの受信開始通知に応じて、全ての送信放棄判断期間[ALL AC]を中断する。
【0253】
そして、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの復号に失敗すると、通信モジュール221からの復号失敗通知に応じて、全ての送信放棄判断期間[ALL AC]を新たに開始する。また、無線装置1のテーブルモジュール223は、通信モジュール221からの復号失敗通知に応じて、全ての送信予約テーブル[ALL AC]を更新する。
【0254】
このように、無線通信を傍受する無線装置1は、パケットの復号に失敗すると、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始するとともに、全ての送信予約テーブル[ALL AC]を更新する。
【0255】
従って、更新された全ての送信予約テーブル[ALL AC]において1番目の送信順番を有する無線装置がデータパケットを送信できる。
【0256】
また、無線通信を傍受する無線装置1は、全てのアクセスカテゴリ[ALL AC]に属するデータパケットの送信処理が放棄されたか否かを判断し、データパケットの送信処理が放棄されれば、全ての送信予約テーブル[ALL AC]が更新されるので、新たな無線装置がデータパケットを送信できる。
【0257】
その結果、通信帯域を効率的に利用できる。
【0258】
なお、図12から図21においては、無線装置1における送信放棄判断期間および送信予約テーブルの処理について説明したが、無線装置2〜7の各々も、無線装置1と同じ方法によって、送信放棄判断期間および送信予約テーブルの処理を実行する。
【0259】
肯定応答パケットが送信される場合、送信放棄判断期間No−frame timer[AC]の開始時、送信予約テーブル[AC]の更新時、送信放棄判断期間No−frame timer[other AC]の中断時・継続時・開始時、および送信予約テーブル[other AC]の更新時を送信元(Tx)、受信先(Rx)および無線通信を傍受する無線装置(Ox)についてまとめると、表1のようになる。
【0260】
【表1】
【0261】
表1の第1行〜第3行を参照すれば、次のことが分かる。データパケットDATAの送信が成功する場合、送信元(Tx)は、データパケットDATAの送信後、肯定応答パケットACKの復号完了時に送信放棄判断期間No−frame timer[AC]を開始し(第1行参照)、受信先(Rx)は、肯定応答パケットACKの送信完了時に送信放棄判断期間No−frame timer[AC]を開始し(第2行参照)、無線装置(Ox)は、肯定応答パケットACKの復号完了時に送信放棄判断期間No−frame timer[AC]を開始する(第3行参照)。
【0262】
また、送信元(Tx)は、データパケットDATAの送信完了時に送信予約テーブル[AC]を更新し(第1行参照)、受信先(Rx)は、データパケットDATAの受信完了時に送信予約テーブル[AC]を更新し(第2行参照)、無線装置(Ox)は、データパケットDATAの受信完了時に送信予約テーブル[AC]を更新する(第3行参照)。
【0263】
更に、送信元(Tx)は、データパケットDATAの送信開始時又は肯定応答パケットACKの受信開始時に送信放棄判断期間No−frame timer[other AC]を中断し(第1行参照)、受信先(Rx)は、データパケットDATAの受信開始時又は肯定応答パケットACKの送信開始時に送信放棄判断期間No−frame timer[other AC]を中断し(第2行参照)、無線装置(Ox)は、データパケットDATAの受信開始時又は肯定応答パケットACKの受信開始時に送信放棄判断期間No−frame timer[other AC]を中断する(第3行参照)。
【0264】
更に、送信元(Tx)は、データパケットDATAの送信完了時又は肯定応答パケットACKの復号完了時に送信放棄判断期間No−frame timer[other AC]を継続し(第1行参照)、受信先(Rx)は、データパケットDATAの復号完了時又は肯定応答パケットACKの送信完了時に送信放棄判断期間No−frame timer[other AC]を継続し(第2行参照)、無線装置(Ox)は、データパケットDATAの復号完了時又は肯定応答パケットACKの復号完了時に送信放棄判断期間No−frame timer[other AC]を継続する(第3行参照)。
【0265】
更に、送信元(Tx)、受信先(Rx)および無線装置(Ox)は、送信予約テーブル[other AC]を更新しない(第1行〜第3行参照)。
【0266】
従って、送信放棄判断期間No−frame timer[AC]の開始時は、送信元(Tx)、受信先(Rx)および無線装置(Ox)の間で同期が取れている。
【0267】
また、送信放棄判断期間No−frame timer[other AC]の中断時および継続時は、送信元(Tx)、受信先(Rx)および無線装置(Ox)の間で同期が取れている。
【0268】
更に、送信予約テーブル[AC]の更新時は、送信元(Tx)、受信先(Rx)および無線装置(Ox)の間で同期が取れている。
【0269】
更に、送信予約テーブル[other AC]は、送信元(Tx)、受信先(Rx)および無線装置(Ox)の間で同じである。
【0270】
このように、データパケットDATAの送信が成功する場合、送信元(Tx)、受信先(Rx)および無線装置(Ox)は、送信放棄判断期間No−frame Timer[AC]を同期して開始し、送信放棄判断期間No−frame Timer[other AC]を同期して中断または継続し、送信予約テーブル[AC]を同期して更新する。
【0271】
また、表1の第2行、第4行および第5行から次のことが分かる。送信元(Tx)は、データパケットDATAの送信後、パケット(ACK)の復号失敗時に送信放棄判断期間No−frame timer[AC]を開始し(第4行参照)、受信先(Rx)は、肯定応答パケットACKの送信完了時に送信放棄判断期間No−frame timer[AC]を開始し(第2行参照)、無線装置(Ox)は、パケット(ACK)の復号失敗時に送信放棄判断期間No−frame timer[AC]を開始する(第5行参照)。
【0272】
また、送信元(Tx)は、データパケットDATAの送信完了時、またはパケット(ACK)の復号失敗時に送信予約テーブル[AC]を更新し(第4行参照)、受信先(Rx)は、データパケットDATAの受信完了時に送信予約テーブル[AC]を更新し(第2行参照)、無線装置(Ox)は、パケット(ACK)の復号失敗時に送信予約テーブル[AC]を更新する(第5行参照)。
【0273】
更に、送信元(Tx)は、データパケットの送信開始時又はパケット(ACK)の受信開始時に送信放棄判断期間No−frame timer[other AC]を中断し(第4行の2−1参照)、受信先(Rx)は、データパケットDATAの受信開始時又は肯定応答パケットACKの送信開始時に送信放棄判断期間No−frame timer[other AC]を中断し(第2行の1−1参照)、無線装置(Ox)は、データパケットDATAの受信開始時又はパケット(ACK)の受信開始時に送信放棄判断期間No−frame timer[other AC]を中断する(第5行の2−1参照)。
【0274】
更に、受信先(Rx)は、データペットDATAの復号完了時に送信放棄判断期間No−frame timer[other AC]を継続し(第2行の1−2参照)、送信先(Tx)は、データパケットDATAの送信完了時に継続し(第4行の2−2参照)、無線装置(Ox)は、データパケットDATAの復号完了時に送信放棄判断期間No−frame timer[other AC]を継続する(第5行の2−2参照)。
【0275】
更に、受信先(Rx)は、肯定応答パケットACKの送信完了時に送信放棄判断期間No−frame timer[other AC]を継続し(第2行の1−2参照)、送信元(Tx)は、パケット(ACK)の復号失敗時に送信放棄判断期間No−frame timer[other AC]を開始し(第4行の2−2参照)、無線装置(Ox)は、パケット(ACK)の復号失敗時に送信放棄判断期間No−frame timer[other AC]を開始する(第5行の2−2参照)。
【0276】
更に、受信先(Rx)は、送信予約テーブル[other AC]を更新せず(第2行参照)、送信元(Tx)および無線装置(Ox)は、パケット(ACK)の復号失敗時に送信予約テーブル[other AC]を更新する(第4行および第5行参照)。
【0277】
従って、パケット(ACK)の復号が失敗する場合、送信元(Tx)、受信先(Rx)および無線装置(Ox)は、送信放棄判断期間No−frame timer[AC]を同期して開始し、送信放棄判断期間No−frame timer[other AC]を同期して中断または継続し、送信予約テーブル[AC]を同期して更新する。
【0278】
また、送信元(Tx)および無線装置(Ox)は、送信放棄判断期間No−frame timer[other AC]を同期して継続または開始し、送信予約テーブル[other AC]を同期して更新する。
【0279】
この場合、受信先(Rx)と、送信元(Tx)および無線装置(Ox)との間では、送信予約テーブル[other AC]の更新時が同期せず、送信放棄判断期間No−frame timer[other AC]の開始時が同期しないこともあるが、受信先(Rx)、送信元(Tx)および無線装置(Ox)は、全ての送信放棄判断期間No−frame timer[ALL AC]にパケットを検出しないとき、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始するので、全ての送信放棄判断期間No−frame timer[ALL AC]は、いずれ、同期する。
【0280】
更に、表1の第2行、第4行および第6行から次のことが分かる。送信元(Tx)は、データパケットDATAの送信後、パケット(ACK)の復号失敗時に送信放棄判断期間No−frame timer[AC]を開始し(第4行参照)、受信先(Rx)は、肯定応答パケットACKの送信完了時に送信放棄判断期間No−frame timer[AC]を開始し(第2行参照)、無線装置(Ox)は、パケット(ACK)の復号失敗時に送信放棄判断期間No−frame timer[AC]を開始する(第6行参照)。
【0281】
また、送信元(Tx)は、データパケットDATAの送信完了時、またはパケット(ACK)の復号失敗時に送信予約テーブル[AC]を更新し(第4行参照)、受信先(Rx)は、データパケットDATAの受信完了時に送信予約テーブル[AC]を更新し(第2行参照)、無線装置(Ox)は、パケット(ACK)の復号失敗時に送信予約テーブル[AC]を更新する(第6行参照)。
【0282】
更に、送信元(Tx)は、データパケットの送信開始時又はパケット(ACK)の受信開始時に送信放棄判断期間No−frame timer[other AC]を中断し(第4行の2−1参照)、受信先(Rx)は、データパケットDATAの受信開始時又は肯定応答パケットACKの送信開始時に送信放棄判断期間No−frame timer[other AC]を中断し(第2行の1−1参照)、無線装置(Ox)は、データパケットDATAの受信開始時に送信放棄判断期間No−frame timer[other AC]を中断する(第6行の3−1参照)。
【0283】
更に、受信先(Rx)は、データペットDATAの復号完了時に送信放棄判断期間No−frame timer[other AC]を継続し(第2行の1−2参照)、送信先(Tx)は、データパケットDATAの送信完了時に継続する(第4行の2−2参照)。
【0284】
更に、受信先(Rx)は、肯定応答パケットACKの送信完了時に送信放棄判断期間No−frame timer[other AC]を継続し(第2行の1−2参照)、送信元(Tx)は、パケット(ACK)の復号失敗時に送信放棄判断期間No−frame timer[other AC]を開始し(第4行の2−2参照)、無線装置(Ox)は、パケット(ACK)の復号失敗時に送信放棄判断期間No−frame timer[other AC]を開始する(第6行の3−2参照)。
【0285】
更に、受信先(Rx)は、送信予約テーブル[other AC]を更新せず(第2行参照)、送信元(Tx)および無線装置(Ox)は、パケット(ACK)の復号失敗時に送信予約テーブル[other AC]を更新する(第4行および第6行参照)。
【0286】
従って、パケット(ACK)の復号が失敗する場合、送信元(Tx)、受信先(Rx)および無線装置(Ox)は、送信放棄判断期間No−frame timer[AC]を同期して開始し、送信放棄判断期間No−frame timer[other AC]を同期して中断し、送信予約テーブル[AC]を同期して更新する。
【0287】
この場合、受信先(Rx)と、送信元(Tx)および無線装置(Ox)との間では、送信予約テーブル[other AC]の更新時が同期せず、送信放棄判断期間No−frame timer[other AC]の継続時および開始時が同期しないこともあるが、受信先(Rx)、送信元(Tx)および無線装置(Ox)は、全ての送信放棄判断期間No−frame timer[ALL AC]にパケットを検出しないとき、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始するので、全ての送信放棄判断期間No−frame timer[ALL AC]は、いずれ、同期する。
【0288】
肯定応答パケットが送信さない場合、送信放棄判断期間No−frame timer[AC]の開始時、送信予約テーブル[AC]の更新時、送信放棄判断期間No−frame timer[other AC]の中断時・継続時・開始時、および送信予約テーブル[other AC]の更新時を送信元(Tx)、受信先(Rx)および無線通信を傍受する無線装置(Ox)についてまとめると、表2のようになる。
【0289】
【表2】
【0290】
表2の第1行おとび第2行を参照して、送信元(Tx)は、データパケットDATAの送信後、肯定応答待機期間Wait for ACKの満了時に送信放棄判断期間No−frame timer[AC]を開始し(第1行参照)、無線装置(Ox)は、肯定応答送信期間ACK NAV timerの満了時に送信放棄判断期間No−frame timer[AC]を開始する(第2行参照)。
【0291】
また、送信元(Tx)は、データパケットDATAの送信完了時に送信予約テーブル[AC]を更新し(第1行参照)、無線装置(Ox)は、データパケットDATAの受信完了時に送信予約テーブル[AC]を更新する(第2行参照)。
【0292】
更に、送信元(Tx)は、データパケットDATAの送信開始時に送信放棄判断期間No−frame timer[other AC]を中断し(第1行参照)、無線装置(Ox)は、データパケットDATAの受信開始時に送信放棄判断期間No−frame timer[other AC]を中断する(第2行参照)。
【0293】
更に、送信元(Tx)は、データパケットDATAの送信完了時に送信放棄判断期間No−frame timer[other AC]を継続し(第1行参照)、無線装置(Ox)は、データパケットDATAの復号完了時に送信放棄判断期間No−frame timer[other AC]を継続する(第2行参照)。
【0294】
更に、送信元(Tx)および無線装置(Ox)は、送信予約テーブル[other AC]を更新しない(第1行および第2行参照)。
【0295】
従って、データパケットDATAの送信が成功する場合、送信放棄判断期間No−frame timer[AC]の開始時、送信予約テーブル[AC]の更新時、および送信放棄判断期間No−frame timer[AC]の中断時および継続時は、送信元(Tx)および無線装置(Ox)の間で同期する。
【0296】
表2の第3行および第4行を参照して、受信先(Rx)は、パケットの復号失敗時に送信放棄判断期間No−frame timer[AC]を開始し(第3行参照)、無線装置(Ox)は、パケットの復号失敗時に送信放棄判断期間No−frame timer[AC]を開始する(第4行参照)。
【0297】
また、受信先(Rx)は、パケットの復号失敗時に送信予約テーブル[AC]を更新し(第3行参照)、無線装置(Ox)は、パケットの復号失敗時に送信予約テーブル[AC]を更新する(第4行参照)。
【0298】
更に、受信先(Rx)は、パケットの受信開始時に送信放棄判断期間No−frame timer[other AC]を中断し(第3行参照)、無線装置(Ox)は、パケットの受信開始時に送信放棄判断期間No−frame timer[other AC]を中断する(第4行参照)。
【0299】
更に、受信先(Rx)は、パケットの復号失敗時に送信放棄判断期間No−frame timer[other AC]を継続し(第3行参照)、無線装置(Ox)は、パケットの復号失敗時に送信放棄判断期間No−frame timer[other AC]を継続する(第4行参照)。
【0300】
更に、受信先(Rx)および無線装置(Ox)は、パケットの復号失敗時に送信予約テーブル[other AC]を更新する(第3行および第4行参照)。
【0301】
従って、パケットの送信が失敗する場合、送信放棄判断期間No−frame timer[AC]の開始時、送信予約テーブル[AC]の更新時、送信放棄判断期間No−frame timer[AC]の中断時および継続時、および送信予約テーブル[other AC]の更新時は、受信先(Rx)および無線装置(Ox)の間で同期する。
【0302】
図22は、図1に示す無線ネットワーク10における通信動作を説明するための図である。また、図23は、送信元(Tx)、受信先(Rx)および無線装置(Ox)における送信予約テーブル21を示す図である。更に、図24は、送信元(Tx)における通信動作を説明するための図である。
【0303】
図22を参照して、無線装置7を送信元(Tx)とし、無線装置4を受信先(Rx)とし、無線装置1,2,3,5,6を無線通信を傍受する無線装置(Ox)とする。
【0304】
図23を参照して、無線装置1,2,3,5,6は、送信予約テーブル21−1(図23の(a)参照)を保持しており、無線装置4は、送信予約テーブル21−4(図23の(b)参照)を保持しており、無線装置7は、送信予約テーブル21−7(図23の(c)参照)を保持している。また、無線装置7は、送信キュー17にパケットPKT1を保持している(図24参照)。
【0305】
このような状況において、無線装置7(Tx)の通信モジュール221は、第2のモードでパケットを送信する場合、パケットPKT1が送信キュー17に存在し、かつ、カテゴリバッファ13が空であることを検知すると、パケットPKT1を送信キュー17から取り出し、その取り出したパケットPKT1をカテゴリバッファ13に格納する。
【0306】
そして、無線装置7(Tx)の通信モジュール221は、送信予約テーブル21−7の送信予約テーブル211を参照して、無線装置7(Tx)が1番目の送信順番を有すること(条件Cnd2を満たすこと)を検知すると、カテゴリバッファ13内のパケットPKT1をローカルバッファ12にコピーするとともに、カテゴリバッファ13のカテゴリバッファバックオフ時間CBOFFT_13を設定する。
【0307】
その後、無線装置7(Tx)の通信モジュール221は、カテゴリバッファバックオフ時間CBOFFT_13が経過すると、パケットPKT1をローカルバッファ12から取り出し、その取り出したパケットPKT1を送受信モジュール11へ出力する。また、無線装置7(Tx)の通信モジュール221は、送信完了通知をタイマーモジュール222およびテーブルモジュール223へ出力する。
【0308】
そうすると、無線装置7(Tx)の送受信モジュール11は、パケットPKT1をアンテナ(図示せず)を介して送信する。
【0309】
また、無線装置7(Tx)のタイマーモジュール222は、通信モジュール221からの送信完了通知に応じて、肯定応答待機期間Wait for ACKを開始するとともに、対象外カテゴリ[AC2]〜[AC4]に対応付けられた送信放棄判断期間No−frame timer[AC2]〜[AC4]を継続する。
【0310】
また、無線装置7(Tx)のテーブルモジュール223は、通信モジュール221からの送信完了通知に応じて、送信予約テーブル21−7(図23の(c)参照)の送信予約テーブル211の先頭のアドレスAdd7を削除し、送信予約テーブル211の最後部にアドレスAdd7を追加することによって対象カテゴリ[AC1]に対応付けられた送信予約テーブル211を更新する(図12参照)。
【0311】
その後、無線装置4(Rx)の送受信モジュール11は、パケットPKT1を受信し、その受信したパケットPKT1を通信モジュール221へ出力する。そして、無線装置4(Rx)の通信モジュール221は、パケットPKT1を送受信モジュール11から受け始めると、受信開始通知をタイマーモジュール222へ出力する。
【0312】
無線装置4(Rx)のタイマーモジュール222は、受信開始通知に応じて全ての送信放棄判断期間No−frame timer[ALL AC]を中断する(図14参照)。
【0313】
そして、無線装置4(Rx)の通信モジュール221は、パケットPKT1の受信後、パケットPKT1の復号を完了すると、復号完了通知をタイマーモジュール222およびテーブルモジュール223へ出力する。
【0314】
無線装置4(Rx)のタイマーモジュール222は、通信モジュール221からの復号完了通知に応じて、パケットPKT1が属する対象カテゴリ[AC1]に対応付けられた送信放棄判断期間No−frame timer[AC1]をキャンセルするとともに、対象外カテゴリ[AC2]〜[AC4]に対応付けられた送信放棄判断期間No−frame timer[AC2]〜No−frame timer[AC4]を継続する。
【0315】
また、無線装置4(Rx)のテーブルモジュール223は、通信モジュール221からの復号完了通知に応じて、送信予約テーブル21−4の送信予約テーブル211の先頭のアドレスAdd7を削除し、送信予約テーブル211の最後部にアドレスAdd7を追加することによって対象カテゴリ[AC1]に対応付けられた送信予約テーブル211を更新する(図14参照)。
【0316】
その後、無線装置4(Rx)の通信モジュール221は、肯定応答パケットACKを生成し、その生成した肯定応答パケットACKをローカルバッファ12を介して送受信モジュール11へ出力するとともに、送信開始通知を生成してタイマーモジュール222へ出力する。そして、無線装置4(Rx)のタイマーモジュール222は、送信開始通知に応じて、送信放棄判断期間No−frame timer[AC2]〜No−frame timer[AC4]を中断する。また、無線装置4(Rx)の送受信モジュール11は、肯定応答パケットACKを送信する。そして、無線装置4(Rx)の送受信モジュール11は、肯定応答パケットACKの送信を完了すると、送信完了通知を通信モジュール221へ出力し、通信モジュール221は、送受信モジュール11からの送信完了通知をタイマーモジュール222へ出力する。
【0317】
無線装置4(Rx)のタイマーモジュール222は、送信完了通知に応じて、送信放棄判断期間No−frame timer[AC1]を新たに開始するとともに、送信放棄判断期間No−frame timer[AC2]〜No−frame timer[AC4]を継続する。
【0318】
無線装置1,2,3,5,6(Ox)の各々において、送受信モジュール11は、パケットPKT1を受信し、その受信したパケットPKT1を通信モジュール221へ出力する。そして、無線装置1,2,3,5,6(Ox)の通信モジュール221は、パケットPKT1を送受信モジュール11から受け始めると、受信開始通知をタイマーモジュール222へ出力する。
【0319】
無線装置1,2,3,5,6(Ox)のタイマーモジュール222は、受信開始通知に応じて全ての送信放棄判断期間No−frame timer[ALL AC]を中断する(図15参照)。
【0320】
そして、無線装置1,2,3,5,6(Ox)の通信モジュール221は、パケットPKT1の受信後、パケットPKT1の復号を完了すると、復号完了通知をタイマーモジュール222およびテーブルモジュール223へ出力する。
【0321】
無線装置1,2,3,5,6(Ox)のタイマーモジュール222は、通信モジュール221からの復号完了通知に応じて、パケットPKT1が属する対象カテゴリ[AC1]に対応付けられた送信放棄判断期間No−frame timer[AC1]をキャンセルするとともに、対象外カテゴリ[AC2]〜[AC4]に対応付けられた送信放棄判断期間No−frame timer[AC2]〜No−frame timer[AC4]を継続する(図15参照)。
【0322】
また、無線装置1,2,3,5,6(Ox)のタイマーモジュール222は、復号完了通知に応じて、肯定応答送信期間ACK NAV timerを開始する。
【0323】
更に、無線装置1,2,3,5,6(Ox)のテーブルモジュール223は、通信モジュール221からの復号完了通知に応じて、送信予約テーブル21−1(図23の(a)参照)の送信予約テーブル211の先頭のアドレスAdd7を削除し、送信予約テーブル211の最後部にアドレスAdd7を追加することによって対象カテゴリ[AC1]に対応付けられた送信予約テーブル211を更新する(図15参照)。
【0324】
その後、無線装置1,2,3,5,6(Ox)の通信モジュール221は、肯定応答パケットACKの受信を開始すると、受信開始通知をタイマーモジュール222へ出力し、タイマーモジュール222は、受信開始通知に応じて、肯定応答送信期間ACK NAV timerをキャンセルするとともに、送信放棄判断期間No−frame timer[AC2]〜No−frame timer[AC4]を中断する(図15参照)。
【0325】
そして、無線装置1,2,3,5,6(Ox)の通信モジュール221は、肯定応答パケットACKの復号を完了すると、復号完了通知を生成してタイマーモジュール222へ出力する。
【0326】
無線装置1,2,3,5,6(Ox)のタイマーモジュール222は、復号完了通知に応じて、対象カテゴリ[AC1]に対応付けられた送信放棄判断期間No−frame timer[AC]を新たに開始するとともに、送信放棄判断期間No−frame timer[AC2]〜No−frame timer[AC4]を継続する(図15参照)。
【0327】
一方、無線装置7(Tx)の通信モジュール221は、肯定応答パケットACKの受信を開始すると、受信開始通知をタイマーモジュール222へ出力する。そして、無線装置7(Tx)のタイマーモジュール222は、受信開始通知に応じて、肯定応答待機期間Wait for ACKをキャンセルするとともに、対象外カテゴリ[AC2]〜[AC4]に対応付けられた送信放棄判断期間No−frame timer[AC2]〜No−frame timer[AC4]を中断する(図12参照)。
【0328】
その後、無線装置7(Tx)の通信モジュール221は、肯定応答パケットACKの復号を完了すると、復号完了通知を生成してタイマーモジュール222へ出力する。
【0329】
無線装置7(Tx)のタイマーモジュール222は、復号完了通知に応じて、対象カテゴリ[AC1]に対応付けられた送信放棄判断期間No−frame timer[AC1]を新たに開始するとともに、送信放棄判断期間No−frame timer[AC2]〜No−frame timer[AC4]を継続する(図12参照)。
【0330】
このように、無線装置7(Tx)は、対象カテゴリ[AC1]に対応付けられた送信予約テーブル211(図23の(a)参照)の先頭に自己のアドレスAdd7が登録されており、かつ、対象カテゴリ[AC1]に対応付けられた送信キュー17にパケットPKT1が存在する場合、パケットPKT1を送信し、他の無線装置1〜6は、パケットを送信しない。
【0331】
その結果、パケットを送信する無線装置は、無線装置7(Tx)だけに限定される。従って、パケットの衝突を減少できる。
【0332】
また、無線装置7(Tx)は、対象カテゴリ[AC1]に対応付けられた送信キュー17にパケットPKT1が存在しない場合、パケットを送信しない。
【0333】
その結果、他の無線装置1〜6は、対象カテゴリ[AC1]に対応付けられた送信放棄判断期間No−frame timer[AC1]が満了すると、無線装置7(Tx)がパケットの送信処理を放棄したと判断し、対象カテゴリ[AC1]に対応付けられた送信予約テーブル211(図23の(a),(b)参照)の先頭のアドレスAdd7を削除して送信予約テーブル211(図23の(a),(b)参照)を更新する。そして、無線装置1は、次のスロットにおいて対象カテゴリ[AC1]に属するパケットを送信する機会を取得し、上述した無線装置7と同じ動作によってパケットを送信する。
【0334】
従って、通信帯域を効率的に利用できる。
【0335】
更に、無線装置7(Tx)は、パケットPKT1の送信完了後にパケットの受信を開始し、その受信したパケットの復号に失敗したとき、対象カテゴリ[AC1]に対応付けられた送信放棄判断期間No−frame timer[AC1]を新たに開始するとともに、対象カテゴリ[AC1]に対応付けられた送信予約テーブル211(図23の(c)参照)を更新する(図13参照)。
【0336】
また、無線装置1,2,3,5,6(Ox)は、パケットPKT1の復号完了後にパケットの受信を開始し、その受信したパケットの復号に失敗したとき、対象カテゴリ[AC1]に対応付けられた送信放棄判断期間No−frame timer[AC1]を新たに開始するとともに、対象カテゴリ[AC1]に対応付けられた送信予約テーブル211(図23の(a)参照)を更新する(図16参照)。
【0337】
その結果、無線装置1は、次のスロットにおいて対象カテゴリ[AC1]に属するパケットを送信する機会を取得し、上述した無線装置7と同じ動作によってパケットを送信する。
【0338】
従って、通信帯域を効率的に利用できる。
【0339】
更に、無線装置1,2,3,5,6(Ox)は、パケット(データパケット)またはパケット(肯定応答パケットACK)の復号に失敗すると、全ての送信放棄判断期間No−frame timer[ALL AC]をキャンセルし、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始する。また、無線装置1,2,3,5,6(Ox)は、全ての送信予約テーブル21−1,21−4,21−7の各々において、送信予約テーブル211〜214の先頭のアドレスを削除して送信予約テーブル211〜214を更新する(図17参照)。
【0340】
その結果、無線装置1,3,5,7は、次のスロットにおいて、それぞれ、対象カテゴリ[AC1]〜[AC4]に属するパケットを送信する機会を取得し、上述した無線装置7と同じ動作によってパケットを送信する。
【0341】
従って、通信帯域を効率的に利用できる。
【0342】
上記においては、アクセスカテゴリ[AC1]に属するパケットを送信する場合について説明したが、アクセスカテゴリ[AC2]〜[AC4]に属するパケットを送信する場合も、各無線装置は、上述した方法によって、パケットの送信処理を行い、またはパケットの受信処理を行ない、またはパケットを傍受したときの処理を行なう。
【0343】
図25は、複数のアクセスカテゴリに属するパケットを送信する場合の動作を説明するための図である。なお、図25においては、第2のモードでパケットを送信する動作を説明する。
【0344】
図25を参照して、無線装置1の送信キュー17〜20は、それぞれ、パケットPKT1〜PKT4を保持する。そして、無線装置1のアドレスAdd1が無線装置1の送信予約テーブル211〜214の先頭に登録されている。また、カテゴリバッファ13〜16は、それぞれ、カテゴリバッファバックオフ時間CBOFFT_13〜CBOFFT_16(CBOFFT_13>CBOFFT_14>CBOFFT_15>CBOFFT_16)が付与されている。
【0345】
無線装置1のMACモジュール22(=通信モジュール221)は、上述した方法によって、パケットPKT1〜PKT4の全てを送信可能なパケットと判定すると、送信キュー17〜20からそれぞれパケットPKT1〜PKT4を取り出し、その取り出したパケットPKT1〜PKT4をそれぞれカテゴリバッファ13〜16に格納する。
【0346】
そして、無線装置1のMACモジュール22(=通信モジュール221)は、カテゴリバッファ13〜16のうち、最も短いカテゴリバッファバックオフ時間CBOFFT_16が付与されたカテゴリバッファ16に格納されたパケットPKT4をカテゴリバッファ16から取り出し、その取り出したパケットPKT4をローカルバッファ12にコピーし、カテゴリバッファバックオフ時間CBOFFT_16を設定する。
【0347】
その後、無線装置1のMACモジュール22(=通信モジュール221)は、カテゴリバッファバックオフ時間CBOFFT_16が経過すると、パケットPKT4をローカルバッファ12から取り出し、その取り出したパケットPKT4を送受信モジュール11へ出力する。また、無線装置1のMACモジュール22(=通信モジュール221)は、送信完了通知を生成してタイマーモジュール222へ出力し、タイマーモジュール222は、送信完了通知に応じて、肯定応答待機期間Wait for ACKを設定する。
【0348】
そして、無線装置1の送受信モジュール11は、パケットPKT4をアンテナ(図示せず)を介して送信する。
【0349】
その後、無線装置1のMACモジュール22(=通信モジュール221)は、肯定応答待機期間Wait for ACKの満了前に、肯定応答パケットACKを受信先の無線装置から受信し、その受信した肯定応答パケットACKの復号を完了すると、復号完了通知をテーブルモジュール223へ出力するとともに、ローカルバッファ12およびカテゴリバッファ16に格納されたパケットPKT4を破棄する。そして、無線装置1のテーブルモジュール223は、復号完了通知に応じて、アクセスカテゴリ[AC4]に対応付けられた送信予約テーブル214の先頭からアドレスAdd1を削除し、アドレスAdd1を送信予約テーブル214の最後部に登録する。
【0350】
一方、無線装置1のMACモジュール22(=通信モジュール221)は、肯定応答待機期間Wait for ACKの満了前に、肯定応答パケットACKを受信先の無線装置から受信しなかった場合において、パケットPKT4の再送が設定されており、かつ、再送回数が最大再送回数に達していないとき、ローカルバッファ12に格納されたパケットPKT4のみを破棄し、カテゴリバッファ16に格納されたパケットPKT4を再送のために保持する。そして、無線装置1のMACモジュール22(=通信モジュール221)は、肯定応答待機期間Wait for ACKの満了時に、満了通知をテーブルモジュール223へ出力し、テーブルモジュール223は、満了通知に応じて、アクセスカテゴリ[AC4]に対応付けられた送信予約テーブル214の先頭からアドレスAdd1を削除し、アドレスAdd1を送信予約テーブル214の最後部に登録する。その結果、無線装置1のMACモジュール22(=通信モジュール221)は、カテゴリバッファ16に保持されたパケットPKT4を無線装置1の次回の送信時に上述した方法によって送信する。
【0351】
無線装置1のMACモジュール22(=通信モジュール221)は、カテゴリバッファ16に格納されたパケットPKT4の送信を完了すると、2番目に短いカテゴリバッファバックオフ時間CBOFFT_15が付与されたカテゴリバッファ15に格納されたパケットPKT3をカテゴリバッファ15から取り出し、その取り出したパケットPKT3をローカルバッファ12にコピーし、カテゴリバッファバックオフ時間(=CBOFFT_15−CBOFFT_16)を設定する。
【0352】
そして、無線装置1のMACモジュール22(=通信モジュール221)は、カテゴリバッファバックオフ時間(=CBOFFT_15−CBOFFT_16)が経過すると、パケットPKT3をローカルバッファ12から取り出し、その取り出したパケットPKT3を送受信モジュール11へ出力する。
【0353】
無線装置1は、それ以外、上述した動作と同じ動作を行なう。
【0354】
その後、無線装置1は、上述した動作と同じ動作を行ない、カテゴリバッファバックオフ時間の短い順にパケットPKT2,PKT1を順次送信する。
【0355】
なお、パケットPKT2を送信するときに設定されたカテゴリバッファバックオフ時間は、CBOFFT_14−(CBOFFT_15+CBOFFT_16)であり、パケットPKT1を送信するときに設定されたカテゴリバッファバックオフ時間は、CBOFFT_13−(CBOFFT_14+CBOFFT_15+CBOFFT_16)である。
【0356】
このように、無線装置1は、複数のアクセスカテゴリ[AC1]〜[AC4]に属するパケットが送信可能である場合、カテゴリバッファバックオフ時間の短い順にパケットPKT4,PKT3,PKT2,PKT1を順次送信する。
【0357】
また、無線装置1は、アクセスカテゴリ[AC1]〜[AC4]のうち、2個または3個のアクセスカテゴリに属する複数のパケットが送信可能である場合も、上述した方法によってカテゴリバッファバックオフ時間の短い順に複数のパケットを順次送信する。
【0358】
無線装置2〜7の各々も、無線装置1と同じ方法によって、複数のアクセスカテゴリ[AC1]〜[AC4]に属するパケットをカテゴリバッファバックオフ時間の短い順に送信する。
【0359】
なお、複数の無線装置が異なるアクセスカテゴリに属するパケットを同じスロットにおいて送信する場合もあるが、アクセスカテゴリ[AC1]〜[AC4]に付与されたカテゴリバッファバックオフ時間は、相互に異なるので、アクセスカテゴリ[AC1]〜[AC4]に属する4個のパケットは、相互に異なるタイミングで送信される。
【0360】
例えば、無線装置1,3,5,7がそれぞれアクセスカテゴリ[AC1]〜[AC4]に属するパケットPKT1〜PKT4を送信する場合を想定する。
【0361】
この場合、カテゴリバッファバックオフ時間CBOFFT_13〜CBOFFT_16は、CBOFFT_13>CBOFFT_14>CBOFFT_15>CBOFFT_16の関係を有する。その結果、無線装置7は、パケットPKT4を最も早く送信し、無線装置5は、パケットPKT3を2番目に送信し、無線装置3は、パケットPKT2を3番目に送信し、無線装置1は、パケットPKT1を最も遅く送信する。
【0362】
従って、パケットPKT1〜PKT4が相互に衝突する可能性を低減できる。
【0363】
上述したように、実施の形態1によれば、各無線装置1〜7は、第2のモードでパケットを送信する場合、アクセスカテゴリ[AC1]〜[AC4]にそれぞれ対応付けられた送信予約テーブル211〜214に従ってアクセスカテゴリ[AC1]〜[AC4]に属するパケットを送信するので、同時にパケットを送信する無線装置の個数は、4個の送信予約テーブル211〜214の先頭に格納された4個の無線装置の個数と、4個の送信予約テーブル211〜214に登録されていない無線装置の個数との和に限定される。
【0364】
従って、パケットを同時に送信する無線装置の個数を一定数以下に低減できる。
【0365】
また、実施の形態1によれば、各無線装置1〜7は、アクセスカテゴリ[AC1]〜[AC4]にそれぞれ対応付けられた送信放棄判断期間No−frame timer[AC1]〜No−frame timer[AC4]が満了するまでにパケットを受信しなかった場合、送信予約テーブル211〜214の先頭のアドレスを削除する。
【0366】
その結果、送信予約テーブル211〜214の削除されたアドレスの次に登録されたアドレスを有する無線装置がパケットを送信する機会を取得し、次のスロットにおいてパケットを送信する。
【0367】
従って、通信帯域を効率的に利用できる。
【0368】
[実施の形態2]
図26は、図1に示す無線装置1〜7の実施の形態2における構成を示す概略ブロック図である。実施の形態2においては、無線装置1〜7の各々は、図26に示す無線装置1Aからなる。
【0369】
図26を参照して、無線装置1Aは、図2に示す無線装置1のローカルバッファ12、カテゴリバッファ13〜16、送信キュー17〜20、送信予約テーブル21およびMACモジュール22をそれぞれローカルバッファ120、カテゴリバッファ121〜124、送信キュー125〜128、送信予約テーブル129およびLLC(Logical Link Control)モジュール130に代え、ローカルバッファ110、カテゴリバッファ111〜114、送信キュー115〜118およびMACモジュール119を追加したものであり、その他は、無線装置1と同じである。
【0370】
ローカルバッファ110は、MAC層に属する。そして、ローカルバッファ110は、カテゴリバッファ111〜114のいずれかまたはMACモジュール119からのパケットを受け、その受けたパケットを一時的に保持する。
【0371】
カテゴリバッファ111〜114は、MAC層に属し、それぞれ、アクセスカテゴリAC1〜AC4に対応して設けられる。そして、カテゴリバッファ111〜114は、それぞれ、送信キュー115〜118からのパケットを受け、その受けたパケットを一時的に保持する。
【0372】
また、カテゴリバッファ111〜114は、優先度に応じたカテゴリバッファバックオフ時間が予め設定されている。即ち、カテゴリバッファ111は、最も長いカテゴリバッファバックオフ時間が設定されており、カテゴリバッファ112は、2番目に長いカテゴリバッファバックオフ時間が設定されており、カテゴリバッファ113は、3番目に長いカテゴリバッファバックオフ時間が設定されており、カテゴリバッファ114は、最も短いカテゴリバッファバックオフ時間が設定されている。
【0373】
送信キュー115〜118は、MAC層に属し、それぞれ、カテゴリバッファ111〜114に対応して設けられる。即ち、送信キュー115〜118は、それぞれ、アクセスカテゴリAC1〜AC4に対応して設けられる。
【0374】
そして、送信キュー115〜118は、それぞれ、アクセスカテゴリAC1〜AC4に属するパケットをローカルバッファ120から受け、その受けたパケットを一時的に保持する。
【0375】
MACモジュール119は、ローカルバッファ120からパケットを取り出し、その取り出したパケットを送信キュー115〜118のいずれかに格納する。より具体的には、MACモジュール119は、ローカルバッファ120から取り出したパケットに含まれるアクセスカテゴリ情報に基づいて、パケットが属するアクセスカテゴリ(アクセスカテゴリAC1〜AC4のいずれか)を識別し、その識別したアクセスカテゴリに対応付けられた送信キュー(送信キュー115〜118のいずれか)にパケットを格納する。
【0376】
また、MACモジュール119は、送信キュー115〜118からパケットを取り出し、その取り出したパケットをそれぞれカテゴリバッファ111〜114に格納する。
【0377】
更に、MACモジュール119は、パケットがカテゴリバッファ111〜114のいずれかに格納されており、ローカルバッファ110が空であるとき、カテゴリバッファ111〜114のいずれかからパケットを取り出し、その取り出したパケットをローカルバッファ110にコピーするとともに、該当のカテゴリバッファに設定されたカテゴリバッファバックオフ時間を設定する。
【0378】
そして、MACモジュール119は、その設定したカテゴリバッファバックオフ時間が経過すると、ローカルバッファ110からパケットを取り出し、その取り出したパケットを送受信モジュール11へ出力する。
【0379】
更に、MACモジュール119は、送受信モジュール11からパケットを受け、その受けたパケットを復号する。そして、MACモジュール119は、パケットの送信開始通知、パケットの送信完了通知、パケットの受信開始通知、パケットの受信完了通知、パケットの復号完了通知、およびパケットの復号失敗通知のいずれかを生成してLLCモジュール130へ出力する。また、MACモジュール119は、その復号したパケットがデータパケットDATAであるとき、その復号したデータパケットDATAをIPモジュール23へ出力するとともに、肯定応答パケットACKを生成し、その生成した肯定応答パケットACKをローカルバッファ110を介して送受信モジュール11へ出力する。
【0380】
更に、MACモジュール119は、送受信モジュール11から受けたキャリアセンスの結果をLLCモジュール130へ出力する。
【0381】
ローカルバッファ120は、LLC層に属する。そして、ローカルバッファ120は、カテゴリバッファ121〜124のいずれかからのパケットを受け、その受けたパケットを一時的に保持する。
【0382】
カテゴリバッファ121〜124は、LLC層に属し、それぞれ、アクセスカテゴリAC1〜AC4に対応して設けられる。そして、カテゴリバッファ121〜124は、それぞれ、送信キュー125〜128からのパケットを受け、その受けたパケットを一時的に保持する。
【0383】
また、カテゴリバッファ121〜124は、優先度に応じた仮想カテゴリバッファバックオフ時間が予め設定されている。即ち、カテゴリバッファ121は、最も長い仮想カテゴリバッファバックオフ時間が設定されており、カテゴリバッファ122は、2番目に長い仮想カテゴリバッファバックオフ時間が設定されており、カテゴリバッファ123は、3番目に長い仮想カテゴリバッファバックオフ時間が設定されており、カテゴリバッファ124は、最も短い仮想カテゴリバッファバックオフ時間が設定されている。
【0384】
送信キュー125〜128は、LLC層に属し、それぞれ、カテゴリバッファ121〜124に対応して設けられる。即ち、送信キュー125〜128は、それぞれ、アクセスカテゴリAC1〜AC4に対応して設けられる。
【0385】
そして、送信キュー125〜128は、それぞれ、アクセスカテゴリAC1〜AC4に属するパケットをIPモジュール23から受け、その受けたパケットを一時的に保持する。
【0386】
送信予約テーブル129は、LLC層に属し、4個の送信予約テーブル1291〜1294からなる。送信予約テーブル1291〜1294は、それぞれ、アクセスカテゴリAC1〜AC4に対応して設けられる。そして、送信予約テーブル1291〜1294は、それぞれ、アクセスカテゴリAC1〜AC4に属するパケットを送信するときの送信順番を示す。より具体的には、送信予約テーブル1291〜1294は、それぞれ、アクセスカテゴリAC1〜AC4に属するパケットを送信する無線装置のIDを送信順に格納する。即ち、送信予約テーブル1291〜1294の各々は、上述した送信予約テーブル211〜214と同じ構成からなる。
【0387】
LLCモジュール130は、LLC層に属する。そして、LLCモジュール130は、MACモジュール22と同じ方法によって送信予約テーブル1291〜1294を作成するとともに、送信予約テーブル1291〜1294を更新する。
【0388】
また、LLCモジュール130は、IPモジュール23からのパケットを受ける。そして、LLCモジュール130は、その受けたパケットのQoSフィールドに含まれるアクセスカテゴリ情報を参照して、パケットのアクセスカテゴリ(AC1〜AC4のいずれか)を識別する。そうすると、LLCモジュール130は、その識別したアクセスカテゴリに対応付けられた送信キュー(送信キュー125〜128のいずれか)にパケットを格納する。
【0389】
更に、LLCモジュール130は、MACモジュール22と同じ方法によって、送信キュー125〜128に格納された各パケットの送信処理を行なう。この場合、LLCモジュール130は、カテゴリバッファ121〜124からパケットを取り出し、その取り出したパケットをローカルバッファ120にコピーし、カテゴリバッファ121〜124に付与された仮想カテゴリバッファバックオフ時間を設定する。
【0390】
更に、LLCモジュール130は、MACモジュール119を監視し、その監視結果に応じて、アクセスカテゴリAC1〜AC4に対応付けられた送信放棄判断期間No−frame timer[AC1]〜No−frame timer[AC4]を管理する。即ち、LLCモジュール130は、MACモジュール119から受けた受信開始通知、受信完了通知、送信開始通知、送信完了通知、復号完了通知および復号失敗通知に基づいて、送信放棄判断期間No−frame timer[AC1]〜No−frame timer[AC4]を継続または開始する。
【0391】
更に、LLCモジュール130は、データパケットが送信されると、MACモジュール22と同じ方法によって、肯定応答待機期間Wait for ACKおよび肯定応答送信期間ACK NAV timerを設定する。
【0392】
なお、無線装置1Aにおいては、送受信モジュール11は、キャリアセンスの結果をMACモジュール119へ出力する。
【0393】
また、送受信モジュール11は、ローカルバッファ110またはMACモジュール119からパケットを受け、その受けたパケットをアンテナ(図示せず)を介して送信する。
【0394】
更に、送受信モジュール11は、アンテナ(図示せず)を介してパケットを受信し、その受信したパケットをMACモジュール119へ出力する。
【0395】
図27は、図26に示すLLCモジュール130の機能を示す機能ブロック図である。図27を参照して、LLCモジュール130は、通信モジュール1301と、タイマーモジュール1302と、テーブルモジュール1303とを含む。
【0396】
通信モジュール1301は、MACモジュール119からの送信開始通知、送信完了通知、受信開始通知、受信完了通知、復号完了通知および復号失敗通知を受け、その受けた送信開始通知、送信完了通知、受信開始通知、受信完了通知、復号完了通知および復号失敗通知をタイマーモジュール1302へ出力する。
【0397】
また、通信モジュール1301は、復号完了通知および復号失敗通知をテーブルモジュール1303へ出力する。
【0398】
更に、通信モジュール1301は、タイマーモジュール1302によって設定された肯定応答待機期間または肯定応答送信期間が満了すると、満了通知をテーブルモジュール1303へ出力する。
【0399】
更に、通信モジュール1301は、通信モジュール221と同様にしてデータパケットの送信処理を行なう。
【0400】
タイマーモジュール1302およびテーブルモジュール1303は、それぞれ、上述したタイマーモジュール222およびテーブルモジュール223と同じ機能を果たす。
【0401】
図28は、LLCモジュール130によるMACモジュール119の監視の概念図である。
【0402】
図28を参照して、LLCモジュール130の通信モジュール1301は、データパケットDATAをローカルバッファ120から取り出してMACモジュール119へ出力した後、肯定応答パケットACKの待ち状態に入る。そして、LLCモジュール130の通信モジュール1301は、MACモジュール119が肯定応答パケットACKの復号完了および肯定応答待機期間Wait for ACKの満了を定期的に検出する。
【0403】
なお、定期的とは、例えば、1スロットごとであり、1スロットは、例えば、9μsecである。
【0404】
LLCモジュール130の通信モジュール1301は、MACモジュール119が肯定応答パケットACKを受信できる場合、肯定応答パケットACKの復号完了通知をMACモジュール119から受けることによって、MACモジュール119が肯定応答パケットACKの受信を完了したことを検知する。
【0405】
一方、LLCモジュール130の通信モジュール1301は、MACモジュール119が肯定応答パケットACKを受信できない場合、タイマーモジュール1302が設定した肯定応答待機期間Wait for ACKの満了を検知することによって、MACモジュール119が肯定応答パケットACKを受信できなかったことを検知する。
【0406】
同様にして、LLCモジュール130の通信モジュール1301は、MACモジュール119によるパケットの受信開始およびパケットの受信完了を検知する。
【0407】
このように、LLCモジュール130の通信モジュール1301は、MACモジュール119を監視する。
【0408】
図29は、無線装置1Aにおけるデータパケットの送信動作を説明するための図である。なお、図29においては、第2のモードでパケットを送信する場合におけるデータパケットの送信動作を説明する。
【0409】
図29を参照して、無線装置1AのLLCモジュール130(=通信モジュール1301)は、IPモジュール23からデータパケットPKT1を受けると、その受けたデータパケットPKT1が属するアクセスカテゴリAC1を識別する。
【0410】
そして、無線装置1AのLLCモジュール130(=通信モジュール1301)は、その識別したアクセスカテゴリAC1に対応付けられた送信キュー125にデータパケットPKT1を格納する。
【0411】
そして、無線装置1AのLLCモジュール130(=通信モジュール1301)は、送信キュー125に対応するカテゴリバッファ121が空であり、データパケットPKT1が送信キュー125に格納されている場合、送信キュー125の先頭のデータパケットPKT1を送信キュー125から取り出し、その取り出したデータパケットPKT1をカテゴリバッファ121に格納する。
【0412】
その後、無線装置1AのLLCモジュール130(=通信モジュール1301)は、送信予約テーブル1291を参照して、上述した条件Cnd1,Cnd2のいずれかを満たすか否かを判定することによってデータパケットPKT1が送信可能であるか否かを判定する。
【0413】
無線装置1AのLLCモジュール130(=通信モジュール1301)は、送信予約テーブル1291を参照して、カテゴリバッファ121に格納されたデータパケットPKT1が条件Cnd1,Cnd2のいずれかを満たす場合、カテゴリバッファ121に格納されたデータパケットPKT1が送信可能であると判定する。
【0414】
そして、無線装置1AのLLCモジュール130(=通信モジュール1301)は、カテゴリバッファ121に格納されたデータパケットPKT1をローカルバッファ120にコピーするとともに、カテゴリバッファ121に設定された仮想カテゴリバッファバックオフ時間をタイマー(通信モジュール1301に内蔵されている)によって計測する。
【0415】
無線装置1AのLLCモジュール130(=通信モジュール1301)は、仮想カテゴリバッファバックオフ時間が満了すると、データパケットPKT1をローカルバッファ120から取り出し、その取り出したデータパケットPKT1をMACモジュール119へ出力する。
【0416】
無線装置1AのMACモジュール119は、データパケットPKT1を受け、その受けたデータパケットPKT1に含まれるアクセスカテゴリ情報に基づいて、データパケットPKT1が属するアクセスカテゴリAC1を識別する。そして、無線装置1AのMACモジュール119は、その識別したアクセスカテゴリAC1に対応付けられた送信キュー115にデータパケットPKT1を格納する。
【0417】
その後、無線装置1AのMACモジュール119は、データパケットPKT1を送信キュー115から取り出し、その取り出したデータパケットPKT1をカテゴリバッファ111に格納する。
【0418】
そして、無線装置1AのMACモジュール119は、ローカルバッファ110が空であるとき、カテゴリバッファ111に格納されたデータパケットPKT1をローカルバッファ110にコピーするとともに、カテゴリバッファ111に付与されたカテゴリバッファバックオフ時間を開始する。
【0419】
その後、無線装置1AのMACモジュール119は、カテゴリバッファバックオフ時間が経過すると、データパケットPKT1をローカルバッファ110から取り出し、その取り出したデータパケットPKT1を送受信モジュール11へ出力する。
【0420】
また、無線装置1AのMACモジュール119は、それと同時に、肯定応答待機期間をタイマーにセットする。
【0421】
そして、無線装置1Aの送受信モジュール11は、データパケットPKT1をアンテナ(図示せず)を介して送信する。
【0422】
その後、無線装置1Aの送受信モジュール11は、データパケットPKT1に対する肯定応答パケットACK1をデータパケットPKT1の受信先から受信し、その受信した肯定応答パケットACK1をMACモジュール119へ出力する。
【0423】
そして、無線装置1AのMACモジュール119は、肯定応答パケットを送受信モジュール11から受け、その受けた肯定応答パケットACK1の復号を実行する。
【0424】
無線装置1AのMACモジュール119は、肯定応答パケットACK1の復号に成功すると、データパケットPKT1の送信が完了したと判断し、データパケットPKT1の送信完了通知をLLCモジュール130(=通信モジュール1301)へ出力する。
【0425】
無線装置1AのLLCモジュール130(=テーブルモジュール1303)は、送信完了通知に応じて、送信予約テーブル1291を更新する。
【0426】
この場合、無線装置1AのLLCモジュール130(=テーブルモジュール1303)は、送信予約テーブル1291が送信予約テーブル211J(図8の(a)参照)からなる場合、無線装置1AのアドレスAdd1Aを送信予約テーブル211Jの最後部に登録する。
【0427】
また、無線装置1AのLLCモジュール130(=テーブルモジュール1303)は、送信予約テーブル1291が送信予約テーブル211K(図8の(b)参照)からなる場合、送信予約テーブル211Kの先頭に登録されたアドレスAdd1(=Add1A)を削除し、無線装置1AのアドレスAdd1(=Add1A)を送信予約テーブル211Kの最後部に登録する。
【0428】
そして、無線装置1AのLLCモジュール130(=通信モジュール1301)は、肯定応答待機期間が満了する前に、MACモジュール119が肯定応答パケットACK1の復号を完了した場合、ローカルバッファ120およびカテゴリバッファ121の両方に格納されたデータパケットPKT1を破棄する。
【0429】
一方、無線装置1AのLLCモジュール130(=通信モジュール1301)は、肯定応答待機期間が満了する前に、MACモジュール119が肯定応答パケットACK1を受信しなかった場合、再送設定がされており、かつ、再送回数が最大再送回数に達していないことを条件に、ローカルバッファ120に格納されたデータパケットのみを破棄し、カテゴリバッファ121に格納されたデータパケットPKT1をそのまま保持する。このように、無線装置1Aにおいては、LLCモジュール130がデータパケットPKT1の再送を行ない、MACモジュール119がデータパケットPKT1の再送を行なうことはない。
【0430】
なお、複数のアクセスカテゴリに属するデータパケットが送信可能であると判定されたとき、無線装置1AのLLCモジュール130(=通信モジュール1301)は、仮想カテゴリバッファバックオフ時間の短い順にカテゴリバッファ121〜124内のデータパケットをローカルバッファ120にコピーし、該当のカテゴリバッファに設定された仮想カテゴリバッファバックオフ時間を開始する。
【0431】
この場合、上述したように、カテゴリバッファ121は、最も長い仮想カテゴリバッファバックオフ時間が設定されており、カテゴリバッファ122は、2番目に長い仮想カテゴリバッファバックオフ時間が設定されており、カテゴリバッファ123は、3番目に長い仮想カテゴリバッファバックオフ時間が設定されており、カテゴリバッファ124は、最も短い仮想カテゴリバッファバックオフ時間が設定されているので、データパケットは、優先度の順(即ち、アクセスカテゴリAC4〜AC1の順)に送信される。
【0432】
なお、LLCモジュール130(=通信モジュール1301)は、第1のモードでパケットを送信する場合、上述したMACモジュール22(=通信モジュール221)と同じ方法によってパケットを送信する。
【0433】
肯定応答パケットACKを受信できる場合の送信放棄判断期間の管理および送信予約テーブルの更新について説明する。
【0434】
図30は、送信元の無線装置における肯定応答パケットの復号完了時の処理を示す図である。なお、図30においては、無線装置1(=1A)を送信元の無線装置(Tx)とする。
【0435】
図30を参照して、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301がデータパケットDATAをローカルバッファ120からMACモジュール119へ出力すると、データパケットDATAが属する対象カテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]をキャンセルする。
【0436】
そして、無線装置1(=1A)の通信モジュール1301は、データパケットDATAの送信開始通知およびデータパケットDATAの送信完了通知をMACモジュール119から受け、その受けた送信開始通知および送信完了通知をタイマーモジュール1302へ出力する。
【0437】
無線装置1(=1A)のタイマーモジュール1302は、送信開始通知を受けた時刻から送信完了通知を受けた時刻までの時間DATA durationを計測する。
【0438】
無線装置1(=1A)のMACモジュール119は、データパケットDATAの送信を完了すると、肯定応答待機期間Wait for ACKを開始する。
【0439】
また、無線装置1(=1A)のMACモジュール119は、データパケットDATAの送信を完了すると、送信完了通知を通信モジュール1301へ出力し、通信モジュール1301は、MACモジュール119から受けた送信完了通知をテーブルモジュール1303へ出力する。そして、無線装置1(=1A)のテーブルモジュール1303は、通信モジュール1301からの送信完了通知に応じて、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]をテーブルモジュール223と同じ方法によって更新する。
【0440】
その後、無線装置1(=1A)のMACモジュール119は、肯定応答待機期間Wait for ACKが満了するまでに肯定応答パケットACKの受信を開始すると、受信開始通知を通信モジュール1301へ出力し、肯定応答パケットACKの復号を完了すると、肯定応答待機期間Wait for ACKをキャンセルするとともに、復号完了通知を通信モジュール1301へ出力する。
【0441】
そして、無線装置1(=1A)の通信モジュール1301は、MACモジュール119から受けた受信開始通知および復号完了通知をタイマーモジュール1302へ出力する。
【0442】
そうすると、無線装置1(=1A)のタイマーモジュール1302は、受信開始通知を受けた時刻から復号完了通知を受けた時刻までの時間ACK durationを計測する。そして、無線装置1(=1A)のタイマーモジュール1302は、対象カテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]を新たに開始し、対象外カテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer[other AC]をNo−frame timeからNo−frame time+DATA duration+ACK durationに更新する。なお、DATA durationおよびACK durationをNo−frame timeに加算するのは、データパケットDATAの受信中、および肯定応答パケットACKの受信中、送信放棄判断期間No−frame timer[other AC]を中断するためである。
【0443】
このように、送信元である無線装置1(=1A)は、データパケットDATA[AC]の送信を完了すると、送信予約テーブル[AC]を更新し、肯定応答パケットACKの復号を完了すると、送信放棄判断期間No−frame timer[AC]を新たに開始する。
【0444】
従って、無線装置1(=1A)の次に送信順番を有する無線装置がデータパケットを送信する機会を得ることができ、通信帯域を効率的に利用できる。
【0445】
図31は、送信元の無線装置における肯定応答パケットの復号失敗時の処理を示す図である。なお、図31においても、無線装置1(=1A)を送信元の無線装置(Tx)とする。
【0446】
図31を参照して、無線装置1(=1A)のタイマーモジュール1302は、図30における方法と同じ方法によって送信放棄判断期間No−frame timer[AC]をキャンセルする。
【0447】
そして、無線装置1(=1A)のMACモジュール119は、データパケットDATAの送信を開始し、データパケットDATAの送信を完了すると、肯定応答待機期間Wait for ACKを開始する。
【0448】
また、無線装置1(=1A)のテーブルモジュール1303は図30における方法と同じ方法によって、送信予約テーブル[AC]を更新する。
【0449】
その後、無線装置1(=1A)のMACモジュール119は、肯定応答待機期間Wait for ACKが満了するまでにパケット(肯定応答パケットACK)の受信を開始すると、受信開始通知を通信モジュール1301へ出力し、肯定応答パケットACKの復号に失敗すると、肯定応答待機期間Wait for ACKをキャンセルするとともに、復号失敗通知を通信モジュール1301へ出力する。
【0450】
そして、無線装置1(=1A)の通信モジュール1301は、MACモジュール119から受けた受信開始通知および復号失敗通知をタイマーモジュール1302へ出力する。また、無線装置1(=1A)の通信モジュール1301は、復号失敗通知をテーブルモジュール1303へ出力する。
【0451】
そうすると、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301からの復号失敗通知に応じて、対象カテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]と、対象外カテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer[other AC]とを新たに開始する。
【0452】
また、無線装置1(=1A)のテーブルモジュール223は、通信モジュール1301からの復号完了通知に応じて、対象カテゴリ[AC]に対応付けられた送信予約テーブル[AC]と、対象カテゴリ[other AC]に対応付けられた送信予約テーブル[other AC]とをテーブルモジュール223と同じ方法によって更新する。
【0453】
このように、送信元である無線装置1(=1A)は、データパケットDATA[AC]の送信を完了すると、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]を更新し、肯定応答パケットACKの復号に失敗すると、送信予約テーブル[AC]および送信予約テーブル[other AC]を更新するとともに送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始する。
【0454】
従って、無線装置1(=1A)の次に送信順番を有する無線装置がデータパケットを送信する機会を得ることができ、通信帯域を効率的に利用できる。
【0455】
図32は、受信先の無線装置におけるデータパケットの復号成功時の処理を示す図である。なお、図32においては、受信先の無線装置(Rx)を無線装置1(=1A)とする。
【0456】
無線装置1(=1A)のMACモジュール119は、データパケットDATAの受信を開始し、受信開始通知を通信モジュール1301へ出力する。そして、無線装置1(=1A)のMACモジュール119は、データパケットDATAの復号を完了すると、復号完了通知を通信モジュール1301へ出力する。
【0457】
無線装置1(=1A)の通信モジュール1301は、受信開始通知および復号完了通知をタイマーモジュール1302へ出力するとともに、復号完了通知をテーブルモジュール1303へ出力する。
【0458】
そして、無線装置1(=1A)のタイマーモジュール1302は、受信開始通知を受けた時刻から復号完了通知を受けた時刻までの時間DATA durationを計測する。また、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301からの復号完了通知に応じて、対象カテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]をキャンセルし、送信放棄判断期間No−frame timer[AC]=default No−frame timer[AC]+SIFS+ACKを新たに開始する。ここで、ACKは、肯定応答パケットACKの送信期間である。LLC層は、肯定応答パケットACKの送信イベントを検知できないので、無線装置1(=1A)のタイマーモジュール1302は、肯定応答パケットACKの送信に要する通常の送信期間ACKを予め保持しており、その保持している送信期間ACKを加算して新たな送信放棄判断期間No−frame timer[AC]を演算する。
【0459】
更に、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301からの復号完了通知に応じて、対象外カテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer[other AC]=default No−frame timer[other AC]+DATA duration+ACKを新たに開始する。
【0460】
更に、無線装置1(=1A)のテーブルモジュール1303は、通信モジュール1301からの復号完了通知に応じて、送信予約テーブル[AC]を更新する。
【0461】
このように、受信先の無線装置1(=1A)は、データパケットDATAの復号完了時に、送信予約テーブル[AC]を更新するとともに、アクセスカテゴリAC1〜AC4に対応付けられた送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始する。
【0462】
その結果、受信先である無線装置1(=1A)のLLCモジュール130は、更新された送信予約テーブル[AC]の先頭に無線装置1(=1A)のアドレスが登録されていれば、次のスロットにおいてデータパケットDATA[AC]を送信する。
【0463】
また、受信先である無線装置1(=1A)のLLCモジュール130は、肯定応答パケットACKの送信を検知できなくても、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始し、その新たに開始した送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]が満了するまでにパケットの受信を検知しないとき、送信予約テーブル1291〜1294を更新する。
【0464】
その結果、更新された送信予約テーブル1291〜1294において、先頭に登録された無線装置は、データパケットを送信する機会を取得し、データパケットを送信する。
【0465】
従って、通信帯域を効率的に利用できる。
【0466】
図33は、無線通信を傍受する無線装置におけるデータパケットおよび肯定応答パケットの復号成功時の処理を示す図である。なお、図33においては、無線通信を傍受する無線装置(Ox)を無線装置1(=1A)とする。
【0467】
無線装置1(=1A)のMACモジュール119は、データパケットDATAの受信を開始すると、受信開始通知を通信モジュール1301へ出力する。また、無線装置1(=1A)のMACモジュール119は、データパケットDATAの復号を完了すると、復号完了通知を通信モジュール1301へ出力するとともに、肯定応答送信期間ACK NAV timerを開始する。
【0468】
無線装置1(=1A)の通信モジュール1301は、受信開始通知および復号完了通知をタイマーモジュール1302へ出力し、復号完了通知をテーブルモジュール1303へ出力する。そして、無線装置1(=1A)のタイマーモジュール1302は、受信開始通知を受けた時刻から復号完了通知を受けた時刻までの期間DATA durationを計測する。また、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301からの復号完了通知に応じて、対象カテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]をキャンセルするとともに、対象外カテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer+DATA durationを開始する。
【0469】
また、無線装置1(=1A)のテーブルモジュール1303は、通信モジュール1301からの復号完了通知に応じて、対象カテゴリ[AC]に対応付けられた送信予約テーブル[AC]をテーブルモジュール223と同じ方法によって更新する。
【0470】
その後、無線装置1(=1A)のMACモジュール119は、肯定応答送信期間ACK NAV timerが満了するまでに、肯定応答パケットACKの受信を開始し、肯定応答パケットACKの復号を完了すると、肯定応答送信期間ACK NAV timerをキャンセルするとともに、復号完了通知を通信モジュール1301へ出力する。
【0471】
そして、無線装置1(=1A)の通信モジュール1301は、復号完了通知をタイマーモジュール1302へ出力する。
【0472】
無線装置1(=1A)のタイマーモジュール1302は、復号完了通知に応じて、対象カテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]を開始するとともに、対象外カテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer[AC]=No−frame timer+ACKを開始する。
【0473】
このように、無線通信を傍受する無線装置1(=1A)は、データパケットDATA[AC]の受信を完了すると、送信予約テーブル[AC]を更新し、肯定応答パケットACKの復号に成功すると、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始する。
【0474】
その結果、更新された送信予約テーブル[AC]の先頭に登録された無線装置は、データパケットを送信する機会を取得し、次のスロットにおいてデータパケットを送信する。
【0475】
従って、通信帯域を効率的に利用できる。
【0476】
図34は、無線通信を傍受する無線装置における肯定応答パケットの復号失敗時の処理を示す図である。なお、図34においても、無線通信を傍受する無線装置(Ox)を無線装置1(=1A)とする。
【0477】
図34を参照して、図33における方法と同じ方法によって、期間DATA durationが計測され、送信放棄判断期間No−frame timer[AC]がキャンセルされ、肯定応答送信期間ACK NAV timerが開始され、送信放棄判断期間No−frame timer[other AC](=No−frame timer+DATA duration)が開始され、送信予約テーブル[AC]が更新される。
【0478】
その後、無線装置1(=1A)のMACモジュール119は、肯定応答送信期間ACK NAV timerが満了するまでに、パケット(肯定応答パケットACK)の受信を開始し、パケット(肯定応答パケットACK)の復号に失敗する。
【0479】
そうすると、無線装置1(=1A)のMACモジュール119は、肯定応答送信期間ACK NAV timerをキャンセルするとともに、復号失敗通知を通信モジュール1301へ出力する。
【0480】
そして、無線装置1(=1A)の通信モジュール1301は、復号失敗通知をタイマーモジュール1302およびテーブルモジュール1303へ出力する。
【0481】
その後、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301からの復号失敗通知に応じて、送信放棄判断期間No−frame timer[AC]を新たに開始するとともに、送信放棄判断期間No−frame timer[other AC]を新たに開始する。
【0482】
また、無線装置1(=1A)のテーブルモジュール1303は、通信モジュール1301からの復号失敗通知に応じて、送信予約テーブル[AC]および送信予約テーブル[other AC]をテーブルモジュール223と同じ方法によって更新する。
【0483】
このように、無線通信を傍受する無線装置1(=1A)は、データパケットDATA[AC]の受信を完了すると、送信予約テーブル[AC]を更新し、データパケットDATA[AC]の受信完了後に肯定応答パケットACKの復号に失敗すると、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始するとともに、送信予約テーブル[AC]および送信予約テーブル[other AC]を更新する。
【0484】
その結果、更新された送信予約テーブル[AC],[other AC]の先頭に登録された無線装置は、データパケットを送信する機会を取得し、次のスロットにおいてデータパケットを送信する。
【0485】
従って、通信帯域を効率的に利用できる。
【0486】
図35は、無線通信を傍受する無線装置におけるデータパケットおよび肯定応答パケットの復号失敗時の処理を示す図である。なお、図35においても、無線通信を傍受する無線装置(Ox)を無線装置1(=1A)とする。
【0487】
無線装置1(=1A)のMACモジュール119は、パケット(データパケット)の受信を開始し、パケット(データパケット)の復号に失敗すると、復号失敗通知を通信モジュール1301へ出力する。
【0488】
そして、無線装置1(=1A)の通信モジュール1301は、復号失敗通知をタイマーモジュール1302およびテーブルモジュール1303へ出力する。
【0489】
その後、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301からの復号失敗通知に応じて、全ての送信放棄判断期間No−frame timer[ALL AC]をキャンセルするとともに、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始する。
【0490】
また、無線装置1(=1A)のテーブルモジュール1303は、通信モジュール1301からの復号失敗通知に応じて、全ての送信予約テーブル[ALL AC]を更新する。
【0491】
その後、無線装置1(=1A)のMACモジュール119は、パケット(肯定応答パケット)の受信を開始し、パケット(肯定応答パケット)の復号に失敗すると、復号失敗通知を通信モジュール1301へ出力する。
【0492】
そして、無線装置1(=1A)の通信モジュール1301は、復号失敗通知をタイマーモジュール1302およびテーブルモジュール1303へ出力する。
【0493】
その後、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301からの復号失敗通知に応じて、全ての送信放棄判断期間No−frame timer[ALL AC]をキャンセルするとともに、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始する。
【0494】
また、無線装置1(=1A)のテーブルモジュール1303は、通信モジュール1301からの復号失敗通知に応じて、全ての送信予約テーブル[ALL AC]を更新する。
【0495】
このように、無線通信を傍受する無線装置1(=1A)は、データパケットDATAまたは肯定応答パケットACKの復号に失敗するごとに、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始するとともに、全ての送信予約テーブル[ALL AC]を更新する。
【0496】
その結果、更新された送信予約テーブル[ALL AC]の先頭に登録された無線装置は、データパケットを送信する機会を取得し、次のスロットにおいてデータパケットを送信する。
【0497】
従って、通信帯域を効率的に利用できる。
【0498】
次に、肯定応答パケットACKを受信できない場合の送信放棄判断期間の管理および送信予約テーブルの更新について説明する。
【0499】
図36は、送信元の無線装置における肯定応答待機期間の満了時の処理を示す図である。図36においては、送信元の無線装置(Tx)を無線装置1(=1A)とする。
【0500】
図36を参照して、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301がデータパケットDATAをローカルバッファ120からMACモジュール119へ出力すると、データパケットDATAが属する対象カテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]をキャンセルする。
【0501】
そして、無線装置1(=1A)の通信モジュール1301は、データパケットDATAの送信開始通知およびデータパケットDATAの送信完了通知をMACモジュール119から受け、その受けた送信開始通知および送信完了通知をタイマーモジュール1302へ出力するとともに、送信完了通知をテーブルモジュール1303へ出力する。
【0502】
無線装置1(=1A)のタイマーモジュール1302は、送信開始通知を受けた時刻から送信完了通知を受けた時刻までの時間DATA durationを計測する。
【0503】
また、無線装置1(=1A)のテーブルモジュール1303は、送信完了通知に応じて、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]をテーブルモジュール223と同じ方法によって更新する。
【0504】
そして、無線装置1(=1A)のMACモジュール119は、データパケットDATAの送信を完了すると、肯定応答待機期間Wait for ACKを開始する。
【0505】
その後、無線装置1(=1A)のMACモジュール119は、肯定応答待機期間Wait for ACKが満了すると、肯定応答待機期間Wait for ACKの満了通知を通信モジュール1301へ出力する。
【0506】
そして、無線装置1(=1A)の通信モジュール1301は、MACモジュール119から受けた満了通知をタイマーモジュール1302およびテーブルモジュール1303へ出力する。
【0507】
そうすると、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301からの満了通知に応じて、対象カテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]=Default No−frame timer−Wait for ACK)を新たに開始し、対象外カテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer[other AC]をNo−frame timeからNo−frame time+DATA durationに更新する。
【0508】
また、無線装置1(=1A)のテーブルモジュール1303は、通信モジュール1301からの満了通知に応じて、対象カテゴリ[AC]に対応付けられた送信予約テーブル[AC]をテーブルモジュール223と同じ方法によって更新する。
【0509】
なお、Wait for ACKをDefault No−frame timerから減算するのは、肯定応答待機期間Wait for ACKの送信放棄判断期間No−frame timerへの影響を除去するためである。その結果、無線装置1(=1A)は、他の無線装置がデータパケットの送信処理を放棄したことを迅速に判断できる。
【0510】
また、DATA durationをNo−frame timeに加算するのは、データパケットDATAの受信中,送信放棄判断期間No−frame timer[other AC]を中断するためである。その結果、無線装置1(=1A)は、他の無線装置がデータパケットの送信処理を放棄したことを正確に判断できる。
【0511】
このように、送信元である無線装置1(=1A)は、データパケットDATA[AC]の送信を完了すると、送信予約テーブル[AC]を更新し、肯定応答待機期間Wait for ACKが満了すると、送信予約テーブル[AC]を更新するとともに送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始する。
【0512】
従って、無線装置1(=1A)の次に送信順番を有する無線装置がデータパケットを送信する機会を得ることができ、通信帯域を効率的に利用できる。
【0513】
図37は、受信先の無線装置におけるデータパケットの復号失敗時の処理を示す図である。図37においては、受信先の無線装置(Rx)を無線装置1(=1A)とする。
【0514】
図37を参照して、無線装置1(=1A)のMACモジュール119は、パケット(データパケット)を受信する。そして、無線装置1(=1A)のMACモジュール119は、パケット(データパケット)の復号を開始し、パケット(データパケット)の復号に失敗する。
【0515】
そうすると、無線装置1(=1A)のMACモジュール119は、復号失敗通知を通信モジュール1301へ出力する。
【0516】
そして、無線装置1(=1A)の通信モジュール1301は、復号失敗通知をタイマーモジュール1302およびテーブルモジュール1303へ出力する。
【0517】
その後、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301からの復号失敗通知に応じて、全ての送信放棄判断期間No−frame timer[ALL AC]をキャンセルし、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始する。
【0518】
また、無線装置1(=1A)のテーブルモジュール1303は、通信モジュール1301からの復号失敗通知に応じて、全ての送信予約テーブル[ALL AC]をテーブルモジュール223と同じ方法によって更新する。
【0519】
このように、受信先の無線装置1(=1A)は、パケット(データパケット)の復号に失敗すると、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始するとともに、全ての送信予約テーブル[ALL AC]を更新する。
【0520】
その結果、更新された送信予約テーブル[ALL AC]の先頭に登録された無線装置は、データパケットを送信する機会を取得し、次のスロットにおいてデータパケットを送信する。
【0521】
従って、通信帯域を効率的に利用できる。
【0522】
図38は、無線通信を傍受する無線装置における肯定応答待機期間の満了時の処理を示す図である。図38においては、無線通信を傍受する無線装置(Ox)を無線装置1(=1A)とする。
【0523】
図38を参照して、無線装置1(=1A)のMACモジュール119は、データパケットDATA[AC]の受信を開始し、受信開始通知を通信モジュール1301へ出力する。その後、無線装置1(=1A)のMACモジュール119は、データパケットDATA[AC]の復号を完了すると、復号完了通知を通信モジュール1301へ出力する。
【0524】
また、無線装置1(=1A)のMACモジュール119は、肯定応答送信期間ACK NAV timerを開始する。
【0525】
そして、無線装置1(=1A)の通信モジュール1301は、データパケットDATAの受信開始通知およびデータパケットDATAの復号完了通知をMACモジュール119から受け、その受けた受信開始通知および復号完了通知をタイマーモジュール1302へ出力するとともに、復号完了通知をテーブルモジュール1303へ出力する。
【0526】
無線装置1(=1A)のタイマーモジュール1302は、受信開始通知を受けた時刻から復号完了通知を受けた時刻までの時間DATA durationを計測する。そして、無線装置1(=1A)のタイマーモジュール1302は、対象外カテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer[other AC]=No−frame time+DATA durationを開始する。
【0527】
なお、DATA durationがNo−frame timerに加算されるのは、データパケットDATAの受信中、送信放棄判断期間No−frame timer[other AC]を中断するためである。その結果、無線装置1(=1A)は、他の無線装置がデータパケットの送信処理を放棄したことを正確に判断できる。
【0528】
また、無線装置1(=1A)のテーブルモジュール1303は、復号完了通知に応じて、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]をテーブルモジュール223と同じ方法によって更新する。
【0529】
その後、無線装置1(=1A)のMACモジュール119は、肯定応答送信期間ACK NAV timerが満了すると、肯定応答送信期間ACK NAV timerの満了通知を通信モジュール1301へ出力する。
【0530】
そして、無線装置1(=1A)の通信モジュール1301は、MACモジュール119から受けた満了通知をタイマーモジュール1302およびテーブルモジュール1303へ出力する。
【0531】
そうすると、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301からの満了通知に応じて、対象カテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]=Default No−frame timer−ACK NAV timer)を新たに開始する。
【0532】
なお、ACK NAV timerをDefault No−frame timerから減算するのは、肯定応答送信期間ACK NAV timerの送信放棄判断期間No−frame timerへの影響を除去するためである。その結果、無線装置1(=1A)は、他の無線装置がデータパケットの送信処理を放棄したことを迅速に判断できる。
【0533】
また、無線装置1(=1A)のテーブルモジュール1303は、通信モジュール1301からの満了通知に応じて、対象カテゴリ[AC]に対応付けられた送信予約テーブル[AC]をテーブルモジュール223と同じ方法によって更新する。
【0534】
このように、無線通信を傍受する無線装置1(=1A)は、データパケットDATA[AC]の復号を完了すると(即ち、データパケットDATA[AC]の受信を完了すると)、送信予約テーブル[AC]を更新し、肯定応答送信期間ACK NAV timerが満了すると、送信予約テーブル[AC]を更新するとともに送信放棄判断期間No−frame timer[AC]を新たに開始する。
【0535】
従って、無線装置1(=1A)の次に送信順番を有する無線装置がデータパケットを送信する機会を得ることができ、通信帯域を効率的に利用できる。
【0536】
図39は、無線通信を傍受する無線装置におけるデータパケットの復号失敗時の処理を示す図である。図39においても、無線通信を傍受する無線装置(Ox)を無線装置1(=1A)とする。
【0537】
図39を参照して、無線装置1(=1A)は、受信したパケット(データパケット)の復号に失敗した場合、図37に示す受信先の無線装置と同じ動作を行なう。
【0538】
この場合も、上述したように、通信帯域を効率的に利用できる。
【0539】
肯定応答パケットが送信される場合、送信放棄判断期間No−frame timer[AC]の開始時、送信予約テーブル[AC]の更新時、送信放棄判断期間No−frame timer[other AC]の更新時・開始時、および送信予約テーブル[other AC]の更新時を送信元(Tx)、受信先(Rx)および無線通信を傍受する無線装置(Ox)についてまとめると、表3のようになる。
【0540】
【表3】
【0541】
表3の第1行から第3行を参照して、送信元(Tx)は、データパケットDATAの送信後、肯定応答パケットACKの復号完了時に送信放棄判断期間No−frame timer[AC]を開始し、無線装置(Ox)は、肯定応答パケットACKの復号完了時に送信放棄判断期間No−frame timer[AC]を開始する。
【0542】
また、送信元(Tx)は、データパケットDATAの送信完了時に送信予約テーブル[AC]を更新し、無線装置(Ox)は、データパケットDATAの受信完了時に送信予約テーブル[AC]を更新し、受信先(Rx)は、データパケットDATAの受信完了時に送信予約テーブル[AC]を更新する。
【0543】
更に、送信元(Tx)は、データパケットDATAの送信後、肯定応答パケットACKの復号完了時に送信放棄判断期間No−frame timer[other AC]を更新し、無線装置(Ox)は、肯定応答パケットACKの復号完了時に送信放棄判断期間No−frame timer[other AC]を開始する。
【0544】
更に、受信先(Rx)は、データパケットDATAの復号完了時に送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を開始する。
【0545】
更に、送信元(Tx)、受信先(Rx)および無線装置(Ox)は、送信予約テーブル[other AC]を更新しない。
【0546】
従って、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]は、送信元(Tx)および無線装置(Ox)間で同期が取れている。
【0547】
また、送信予約テーブル[AC]の更新時は、送信元(Tx)、受信先(Rx)および無線装置(Ox)間で同期が取れている。
【0548】
表3の第4行および第5行を参照して、送信元(Tx)は、データパケットDATAの送信後、パケット(ACK)の復号失敗時に、送信放棄判断期間No−frame timer[AC]を開始し、無線装置(Ox)は、データパケットDATAの受信後、パケット(ACK)の復号失敗時に、送信放棄判断期間No−frame timer[AC]を開始する。
【0549】
また、送信元(Tx)は、データパケットDATAの送信完了時、またはパケット(ACK)の復号失敗時に、送信予約テーブル[AC]を更新し、無線装置(Ox)は、データパケットDATAの受信完了時、またはパケット(ACK)の復号失敗時に、送信予約テーブル[AC]を更新する。
【0550】
更に、送信元(Tx)は、データパケットDATAの送信後、パケット(ACK)の復号失敗時に、送信放棄判断期間No−frame timer[other AC]を開始し、無線装置(Ox)は、データパケットDATAの受信後、パケット(ACK)の復号失敗時に、送信放棄判断期間No−frame timer[other AC]を開始する。
【0551】
更に、送信元(Tx)は、データパケットDATAの送信後、パケット(ACK)の復号失敗時に、送信予約テーブル[other AC]を更新し、無線装置(Ox)は、データパケットDATAの受信後、パケット(ACK)の復号失敗時に、送信予約テーブル[other AC]を更新する。
【0552】
従って、肯定応答パケットACKの復号に失敗した場合でも、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]の開始時、および送信予約テーブル[AC],[other AC]の更新時は、送信元(Tx)および無線装置(Ox)の間で同期が取れている。
【0553】
表3の第6行を参照して、無線装置(Ox)は、パケット(データパケットまたは肯定応答パケット)の復号失敗時に、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を開始し、送信予約テーブル[AC],[other AC]を更新する。
【0554】
従って、肯定応答パケットACKの復号失敗時においては、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]の開始時、および送信予約テーブル[AC],[other AC]の更新時は、送信元(Tx)および無線装置(Ox)の間で同期が取れている(第4行および第6行参照)。
【0555】
表3に示す各種のタイミングで、送信放棄判断期間No−frame timer[AC]を開始し、送信予約テーブル[AC],[other AC]を更新し、送信放棄判断期間No−frame timer[other AC]を更新または開始した結果、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]の期間が送信元(Tx)、受信先(Rx)および無線装置(Ox)間でずれ、送信予約テーブル[AC],[other AC]が送信元(Tx)、受信先(Rx)および無線装置(Ox)間で相互に異なることもある。
【0556】
しかし、送信元(Tx)、受信先(Rx)および無線装置(Ox)は、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]の間にパケットを受信しないとき、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始し、送信予約テーブル[AC],[other AC]を更新する。
【0557】
従って、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]は、送信元(Tx)、受信先(Rx)および無線装置(Ox)の間でいずれ同期が取れる。また、送信予約テーブル[AC],[other AC]は、送信元(Tx)、受信先(Rx)および無線装置(Ox)の間でいずれ同じになる。
【0558】
肯定応答パケットが送信されない場合、送信放棄判断期間No−frame timer[AC]の開始時、送信予約テーブル[AC]の更新時、送信放棄判断期間No−frame timer[other AC]の更新時・開始時、および送信予約テーブル[other AC]の更新時を送信元(Tx)、受信先(Rx)および無線通信を傍受する無線装置(Ox)についてまとめると、表4のようになる。
【0559】
【表4】
【0560】
表4の第1行から第3行を参照して、送信元(Tx)は、データパケットDATAの送信後、肯定応答待機期間Wait for ACKの満了時に送信放棄判断期間No−frame timer[AC]を開始し、無線装置(Ox)は、データパケットDATAの受信後、肯定応答送信期間ACK NAV timerの満了時に送信放棄判断期間No−frame timer[AC]を開始する。
【0561】
また、送信元(Tx)は、データパケットDATAの送信完了時、または肯定応答待機期間Wait for ACKの満了時に送信予約テーブル[AC]を更新し、無線装置(Ox)は、データパケットDATAの受信完了時、または肯定応答送信期間ACK NAV timerの満了時に送信予約テーブル[AC]を更新する。
【0562】
更に、送信元(Tx)は、データパケットDATAの送信後、肯定応答待機期間Wait for ACKの満了時に送信放棄判断期間No−frame timer[other AC]を更新し、無線装置(Ox)は、データパケットDATAの復号完了時に送信放棄判断期間No−frame timer[other AC]を開始する。
【0563】
更に、受信先(Rx)は、データパケットDATAの復号失敗時に、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を開始するとともに、送信予約テーブル[AC],[other AC]を更新する。
【0564】
そして、肯定応答待機期間Wait for ACKおよび肯定応答送信期間ACK NAV timerは、共に、肯定応答パケットACKの待ち期間であり、実質的に同じである。
【0565】
従って、送信放棄判断期間No−frame timer[AC]は、送信元(Tx)および無線装置(Ox)の間で同期が取れている。
【0566】
また、送信予約テーブル[AC]の更新時は、送信元(Tx)および無線装置(Ox)間で同期が取れている。
【0567】
表4の第4行を参照して、無線装置(Ox)は、パケット(データパケットDATAまたは肯定応答パケットACK)の復号失敗時、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を開始し、送信予約テーブル[AC],[other AC]を更新する。
【0568】
従って、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]の開始時、および送信予約テーブル[AC],[other AC]の更新時は、受信先(Ox)および無線装置(Ox)の間で同期が取れている(第2行および第4行参照)。
【0569】
表4に示す場合も、表3に示す場合と同様に、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]は、送信元(Tx)、受信先(Rx)および無線装置(Ox)の間でいずれ同期が取れ、送信予約テーブル[AC],[other AC]は、送信元(Tx)、受信先(Rx)および無線装置(Ox)の間でいずれ同じになる。
【0570】
送信権TXOPを用いた複数のデータパケットの送信について説明する。この場合、LLCモジュール130の通信モジュール1301は、送信権TXOPを時間で管理しており、送信権TXOPの期間をMACモジュール119へ通知する。
【0571】
図40および図41は、それぞれ、送信権を用いたデータパケットの送信方法を説明するための第1および第2の図である。なお、図40においては、アクセスカテゴリAC1に属するデータパケットを送信権TXOPを用いて送信する場合について説明する。
【0572】
図40を参照して、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、1つ目のデータパケットDATA[1]をローカルバッファ120からMACモジュール119へ出力することによって1つ目のデータパケットDATA[1]をエンキューする。
【0573】
その後、各無線装置1〜7(=1A)のMACモジュール119は、1つ目のデータパケットDATA[1]を送信キュー115およびカテゴリバッファ111に順次格納する。
【0574】
そして、各無線装置1〜7(=1A)のMACモジュール119は、ローカルバッファ110が空である場合、1つ目のデータパケットDATA[1]をカテゴリバッファ111からローカルバッファ110にコピーし、カテゴリバッファ111に付与されたカテゴリバッファバックオフ時間を設定する。
【0575】
その後、各無線装置1〜7(=1A)のMACモジュール119は、カテゴリバッファバックオフ時間が経過すると、1つ目のデータパケットDATA[1]をローカルバッファ110から取り出して送受信モジュール11へ出力する。そして、各無線装置1〜7(=1A)の送受信モジュール11は、タイミングtSTARTで1つ目のデータパケットDATA[1]の送信を開始する。
【0576】
各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、1つ目のデータパケットDATA[1]をエンキューした後、送信権TXOPの期間TXOPと、1つ目のデータパケットDATA[1]のデータサイズL(D1)と、データパケットの最低送信速度R(D)と、肯定応答パケットACK1のサイズL(ACK1)と、肯定応答パケットの最低送信速度R(ACK)とに基づいて、残りの送信権TXOPの期間TXOP_rest=TXOP−(L(D1)/R(D)+L(ACK1)/R(ACK)+SIFS時間)を演算する。
【0577】
また、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、肯定応答パケットACK1の復号完了通知をMACモジュール119から受けると、その復号完了通知を受けた時刻を現在時刻tNOWとして検出する。
【0578】
そして、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、tSTART=tNOW−(L(D1)/R(D)+L(ACK1)/R(ACK)+SIFS時間)によって1つ目のデータパケットDATA[1]の送信を開始した時刻tSTARTを求める。即ち、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、送信権TXOPの開始時刻(=tSTART)を求める。
【0579】
また、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、tFINISH=tNOW+TXOP_restによって送信権TXOPの期間の終了時刻を求める。
【0580】
これによって、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、送信権TXOPの期間についてMACモジュール119との間で同期を取ることができる。
【0581】
その後、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、2つ目のデータパケットDATA[2]のデータサイズL(D2)、データパケットの最低送信速度R(D)、肯定応答パケットACK2のサイズL(ACK2)および肯定応答パケットACKの最低送信速度R(ACK)に基づいて、上述した方法によって、2つ目のデータパケットDATA[2]の送信に要する時間を予測し、その予測した時間が送信権TXOPの残りの時間TXOP_restよりも短いとき、2つ目のデータパケットDATA[2]を送信可能と判断する。
【0582】
そして、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、2つ目のデータパケットDATA[2]をエンキューし、2つ目のデータパケットDATA[2]を送信する。
【0583】
その後、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、2つ目のデータパケットDATA[2]をエンキューした時刻tENQUEと、2つ目のデータパケットDATA[2]の送信を完了した時刻(=肯定応答パケットACK[2]の復号完了通知を受けた時刻)tCOMPとを実測する(図41参照)。
【0584】
そして、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、tCOMP−tENQUEを演算して2つ目のデータパケットDATA[2]の通信時間を求め、その求めた通信時間を用いて、送信権TXOPの期間の残りの時間を求める。
【0585】
その後、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、上述した方法によって、3つ目のデータパケットDATA[3]の送信に要する時間を求め、その求めた時間と、送信権TXOPの期間の残りの時間とに基づいて、上述した方法によって、3つ目のデータパケットDATA[3]を送信可能か否かを判定する。
【0586】
それ以降、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、同じ動作を繰返し行ない、送信権TXOPの期間に複数のデータパケットを連続して送信する。
【0587】
この場合、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、1つのデータパケットDATAを送信した後に、上述した方法によって肯定応答パケットACKの受信完了を検知すると、ローカルバッファ120およびカテゴリバッファ121に保持されたデータパケットを破棄し、送信キュー125から新たなデータパケットを取り出してカテゴリバッファ121に格納する。
【0588】
そして、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、データパケットの送信に要する時間が送信権TXOPの期間の残りの時間よりも長くなったとき、送信権TXOPを用いたデータパケットの送信を停止する(図41参照)。
【0589】
また、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、上述した方法によって、肯定応答待機期間Wait for ACK timerの満了、または他のパケットの受信完了を検知すると、送信権TXOPを用いたデータパケットの送信を停止する。
【0590】
なお、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、アクセスカテゴリAC2〜AC4のいずれかに属する複数のデータパケットを送信権TXOPの期間を用いて上述した方法によって連続して送信する。
【0591】
また、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、複数のアクセスカテゴリに属する複数のデータパケットが送信可能であると判定したとき、上述したMACモジュール22(=通信モジュール221)と同じ方法によって複数のデータパケットを送信する。
【0592】
その他は、実施の形態1と同じである。
【0593】
上述したように、実施の形態2においては、各無線装置1〜7(=1A)のLLC層に設けられたLLCモジュール130が送信予約テーブルおよび送信放棄判断期間を用いたデータパケットの送受信を行なう。
【0594】
その結果、この発明をパーソナルコンピュータにおいて実施できる。
【0595】
実施の形態2においては、その他、実施の形態1において説明した効果が得られる。
【0596】
上記においては、各無線装置1〜7は、通信の優先度が相互に異なる4個のアクセスカテゴリAC1〜AC4に属するデータパケットを送信予約テーブルおよび送信放棄判断期間を用いて相互に送受信すると説明したが、この発明の実施の形態においては、これに限らず、各無線装置1〜7は、通信の優先度が設定されていないデータパケットを送信予約テーブルおよび送信放棄判断期間を用いて上述した方法によって送受信してもよい。
【0597】
即ち、この発明の実施の形態による無線装置は、当該無線装置の通信範囲内に存在する複数の無線装置の送信順序を示す送信予約テーブルを作成および更新するテーブルモジュールと、送信予約テーブルが空であるとき、キャリアセンスを行ない、無線通信空間が空いていることを確認してから無線通信を行なう第1のモードでデータパケットを送信し、複数の無線装置を識別するための複数の識別子のいずれかが送信予約テーブルに登録されているとき、送信予約テーブルに従って無線通信を行なう第2のモードでデータパケットを送信する通信モジュールと、通信モジュールが当該無線装置以外の無線装置からのパケットの受信を完了すると、各無線装置におけるデータパケットの送信処理が放棄されたことを判断するための送信放棄判断期間を設定するタイマーモジュールとを備え、通信モジュールが、送信予約テーブルにおいて当該無線装置が1番目の送信順番を有する場合、データパケットを送信し、送信予約テーブルにおいて当該無線装置が2番目の送信順番を有し、かつ、送信放棄判断期間の間にパケットを受信しない場合、送信放棄判断期間が満了すると、データパケットを送信するものであればよい。
【0598】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【0599】
この発明は、通信帯域を効率的に利用可能な無線装置に適用される。また、この発明は、通信帯域を効率的に利用可能な無線装置を備えた無線ネットワークに適用される。
【符号の説明】
【0600】
1〜7,1A 無線装置、10 無線ネットワーク、11 送受信モジュール、12,110,120 ローカルバッファ、13〜16,111〜114,121〜124 カテゴリバッファ、17〜20,115〜118,125〜128 送信キュー、21,129,211〜214,1291〜1294 送信予約テーブル、22,119 MACモジュール、23 IPモジュール、130 LLCモジュール、221,1301 通信モジュール、222,1302 タイマーモジュール、223,1303 テーブルモジュール。
【技術分野】
【0001】
この発明は、パケットの衝突を低減して無線通信を行なう無線装置およびそれを備えた無線ネットワークに関するものである。
【背景技術】
【0002】
無線通信用のMAC(Media Access Control)プロトコルは、ランダムアクセスおよび予約ベースアクセスに大別される。
【0003】
ランダムアクセス用のプロトコルは、分散型無線通信を念頭に設計され、端末装置間の同期を必要としない。そして、DCF(Distributed Coordination Function)およびEDCA(Enhanced Distributed Coordination Acess)がランダムアクセス用のプロトコルとして知られている(非特許文献1,2)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】”IEEE Standards for Information Technology-Telecommunications and Information Exchange Between Systems-LAN/MAN Specific Requirements-Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications,” New York: Institute of Electrical and Electronics Engineers, Inc.
【非特許文献2】”IEEE Standards for Information Technology-Telecommunications and Information Exchange Between Systems-LAN/MAN Specific Requirements-Part II: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications,” Amendment: Medium Access Control (MAC) Quality of Service Enhancements, IEEE 802.11e/D13.0, New York: Institute of Electrical and Electronics Engineers, Inc.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、従来のランダムアクセス用のプロトコルにおいては、パケットの衝突およびチャネルアイドル時間によってチャネルの利用効率が低下するという問題がある。
【0006】
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、通信帯域を効率的に利用可能な無線装置を提供することである。
【0007】
また、この発明の別の目的は、通信帯域を効率的に利用可能な無線装置を備えた無線ネットワークを提供することである。
【課題を解決するための手段】
【0008】
この発明によれば、無線装置は、パケットを送信または受信する無線装置であって、テーブルモジュールと、通信モジュールと、タイマーモジュールとを備える。テーブルモジュールは、当該無線装置の通信範囲内に存在する複数の無線装置の送信順序を示す送信予約テーブルを作成および更新する。通信モジュールは、送信予約テーブルが空であるとき、キャリアセンスを行ない、無線通信空間が空いていることを確認してから無線通信を行なう第1のモードでデータパケットを送信し、複数の無線装置を識別するための複数の識別子のいずれかが送信予約テーブルに登録されているとき、送信予約テーブルに従って無線通信を行なう第2のモードでデータパケットを送信する。タイマーモジュールは、通信モジュールが当該無線装置以外の無線装置からのパケットの受信を完了すると、各無線装置におけるデータパケットの送信処理が放棄されたことを判断するための送信放棄判断期間を設定する。そして、通信モジュールは、当該無線装置が送信予約テーブルにおいて1番目の送信順番を有する場合、データパケットを送信し、当該無線装置が送信予約テーブルにおいて2番目の送信順番を有し、かつ、送信放棄判断期間の間にパケットを受信しない場合、送信放棄判断期間が満了すると、データパケットを送信する。
【0009】
好ましくは、データパケットは、通信の優先度が相互に異なる複数のカテゴリに分類されている。テーブルモジュールは、複数のカテゴリに対応付けられた複数の送信予約テーブルを作成および更新する。タイマーモジュールは、複数のカテゴリに対応付けられ、かつ、各々が任意の長さを有する複数の送信放棄判断期間を設定する。通信モジュールは、第2のモードにおいて、複数の送信予約テーブルに従って複数のカテゴリに属するデータパケットを送信する。
【0010】
好ましくは、テーブルモジュールは、通信モジュールが複数のカテゴリのうちの1つのカテゴリに対応付けられた送信放棄判断期間の満了までにパケットを受信しなかったとき、1つのカテゴリに対応付けられた送信予約テーブルの先頭に登録された無線装置の識別子を削除する更新処理を複数の送信予約テーブルの全てについて実行する。通信モジュールは、更新された複数の送信予約テーブルに従って複数のカテゴリに属するデータパケットを送信する。
【0011】
好ましくは、テーブルモジュールは、通信モジュールが複数のカテゴリのうちの1つのカテゴリに対応付けられた送信放棄判断期間の満了までにパケットを受信し、かつ、その受信したパケットを復号できないとき、1つのカテゴリに対応付けられた送信予約テーブルの先頭に登録された無線装置の識別子を削除する更新処理を複数の送信予約テーブルの全てについて実行する。通信モジュールは、更新された複数の送信予約テーブルに従って複数のカテゴリに属するデータパケットを送信する。
【0012】
好ましくは、テーブルモジュールは、通信モジュールが複数のカテゴリのうちの1つのカテゴリに対応付けられた送信放棄判断期間の満了までにデータパケットを受信し、かつ、その受信したデータパケットを復号できたとき、その受信したデータパケットの送信元の無線装置の識別子が1つのカテゴリに対応付けられた送信予約テーブルにおいて最も遅い送信順番を有するように1つのカテゴリに対応付けられた送信予約テーブルを更新する更新処理を複数の送信予約テーブルの全てについて実行する。通信モジュールは、更新された複数の送信予約テーブルに従って複数のカテゴリに属するデータパケットを送信する。
【0013】
好ましくは、タイマーモジュールは、データパケットに対する肯定応答パケットの復号完了時、または肯定応答パケットの送信完了時に、複数のカテゴリのうちの1つのカテゴリである対象カテゴリに対応付けられた送信放棄判断期間を新たに開始する。テーブルモジュールは、データパケットの送信完了時、またはデータパケットの受信完了時に、対象カテゴリに対応付けられた送信予約テーブルを更新する。
【0014】
好ましくは、タイマーモジュールは、データパケットに対する肯定応答パケットを待つ期間である肯定応答待機期間の満了時、または肯定応答パケットを待つ期間である肯定応答送信期間の満了時に、複数のカテゴリのうちの1つのカテゴリである対象カテゴリに対応付けられた送信放棄判断期間を新たに開始する。テーブルモジュールは、データパケットの送信完了時またはデータパケットの受信完了時に、対象カテゴリに対応付けられた送信予約テーブルを更新する。
【0015】
好ましくは、タイマーモジュールは、データパケットに対する肯定応答パケットの復号完了時に、複数のカテゴリのうちの1つのカテゴリである対象カテゴリに対応付けられた送信放棄判断期間を新たに開始する。テーブルモジュールは、データパケットの送信完了時、またはデータパケットの受信完了時に、対象カテゴリに対応付けられた送信予約テーブルを更新する。
【0016】
好ましくは、通信モジュールは、複数のカテゴリのうちの1つのカテゴリである対象カテゴリに対応付けられた送信予約テーブルに当該無線装置の識別子が登録されていないとき、または対象カテゴリに対応付けられた送信予約テーブルの先頭に当該無線装置の識別子が登録されているとき、対象カテゴリに属するパケットを送信する。
【0017】
また、この発明によれば、無線ネットワークは、請求項1から請求項9のいずれか1項に記載の無線装置を備える。
【発明の効果】
【0018】
この発明によれば、無線装置は、複数の無線装置の識別子のいずれかが送信予約テーブルに登録されているとき、送信予約テーブルに登録された順番に従って無線通信を行なう。そして、無線装置は、自己が送信予約テーブルにおいて2番目の送信順番を有し、かつ、送信放棄判断期間の間にパケットを受信しない場合、送信放棄判断期間が満了すると、データパケットを送信する。その結果、送信予約テーブルにおいて1番目の送信順番を有する他の無線装置がデータパケットを有しない場合、無線装置が他の無線装置からのデータパケットの受信を待ち続けるという事態が回避され、2番目の送信順番を有する無線装置がデータパケットを送信する。
【0019】
従って、この発明によれば、通信帯域を効率的に利用できる。
【図面の簡単な説明】
【0020】
【図1】この発明の実施の形態による無線ネットワークの概略図である。
【図2】図1に示す無線装置の実施の形態1における構成を示す概略ブロック図である。
【図3】図2に示すMACモジュールの機能を示す機能ブロック図である。
【図4】図2に示す送信予約テーブルの構成図である。
【図5】送信予約テーブルの作成方法を説明するための図である。
【図6】送信予約テーブルを更新する方法を説明するための図である。
【図7】無線装置におけるデータパケットの送信動作を説明するための図である。
【図8】送信予約テーブルの具体例を示す図である。
【図9】送信放棄判断期間の概念図である。
【図10】送信放棄判断期間に基づく送信予約テーブルの更新処理を説明するための図である。
【図11】送信放棄判断期間の管理方法を説明するための図である。
【図12】送信元の無線装置における肯定応答パケットの復号完了時の処理を示す図である。
【図13】送信元の無線装置における肯定応答パケットの復号失敗時の処理を示す図である。
【図14】受信先におけるデータパケットの復号完了時の処理を示す図である。
【図15】無線通信を傍受する無線装置におけるデータパケットおよび肯定応答パケットの復号完了時の処理を示す図である。
【図16】無線通信を傍受する無線装置における肯定応答パケットの復号失敗時の処理を示す図である。
【図17】無線通信を傍受する無線装置におけるデータパケットおよび肯定応答パケットの復号失敗時の処理を示す図である。
【図18】送信元の無線装置において肯定応答パケットを受信しないときの処理を示す図である。
【図19】受信先の無線装置においてデータパケットを受信しないときの処理を示す図である。
【図20】無線通信を傍受する無線装置においてデータパケットの復号後、肯定応答パケットを受信しないときの処理を示す図である。
【図21】無線通信を傍受する無線装置においてデータパケットの復号失敗後に肯定応答パケットを受信しないときの処理を示す図である。
【図22】図1に示す無線ネットワークにおける通信動作を説明するための図である。
【図23】送信元(Tx)、受信先(Rx)および無線装置(Ox)における送信予約テーブルを示す図である。
【図24】送信元(Tx)における通信動作を説明するための図である。
【図25】複数のアクセスカテゴリに属するパケットを送信する場合の動作を説明するための図である。
【図26】図1に示す無線装置の実施の形態2における構成を示す概略ブロック図である。
【図27】図26に示すLLCモジュールの機能を示す機能ブロック図である。
【図28】LLCモジュールによるMACモジュールの監視の概念図である。
【図29】無線装置におけるデータパケットの送信動作を説明するための図である。
【図30】送信元の無線装置における肯定応答パケットの復号完了時の処理を示す図である。
【図31】送信元の無線装置における肯定応答パケットの復号失敗時の処理を示す図である。
【図32】受信先の無線装置におけるデータパケットの復号成功時の処理を示す図である。
【図33】無線通信を傍受する無線装置におけるデータパケットおよび肯定応答パケットの復号成功時の処理を示す図である。
【図34】無線通信を傍受する無線装置における肯定応答パケットの復号失敗時の処理を示す図である。
【図35】無線通信を傍受する無線装置におけるデータパケットおよび肯定応答パケットの復号失敗時の処理を示す図である。
【図36】送信元の無線装置における肯定応答待機期間の満了時の処理を示す図である。
【図37】受信先の無線装置におけるデータパケットの復号失敗時の処理を示す図である。
【図38】無線通信を傍受する無線装置における肯定応答待機期間の満了時の処理を示す図である。
【図39】無線通信を傍受する無線装置におけるデータパケットの復号失敗時の処理を示す図である。
【図40】送信権を用いたデータパケットの送信方法を説明するための第1の図である。
【図41】送信権を用いたデータパケットの送信方法を説明するための第2の図である。
【発明を実施するための形態】
【0021】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【0022】
図1は、この発明の実施の形態による無線ネットワークの概略図である。図1を参照して、この発明の実施の形態による無線ネットワーク10は、無線装置1〜7を備える。
【0023】
無線装置1は、通信範囲REGを有する。無線装置2〜7は、無線装置1の通信範囲REG内に配置される。そして、無線装置1〜7は、相互に無線通信を行なう。
【0024】
より具体的には、無線装置1〜7は、通信の優先度が相互に異なる4個のアクセスカテゴリAC1〜AC4に属するデータパケットを相互に送受信する。アクセスカテゴリAC1は、バックグランドAC_BKからなり、アクセスカテゴリAC2は、ベストエフォートAC_BEからなり、アクセスカテゴリAC3は、映像AC_VIからなり、アクセスカテゴリAC4は、音声AC_VOからなる。
【0025】
[実施の形態1]
図2は、図1に示す無線装置1の実施の形態1における構成を示す概略ブロック図である。図2を参照して、実施の形態1による無線装置1は、送受信モジュール11と、ローカルバッファ12と、カテゴリバッファ13〜16と、送信キュー17〜20と、送信予約テーブル21と、MACモジュール22と、IP(Internet Protocol)モジュール23とを含む。
【0026】
送受信モジュール11は、物理層に属する。そして、送受信モジュール11は、キャリアセンスを行ない、そのキャリアセンスの結果をMACモジュール22へ出力する。
【0027】
また、送受信モジュール11は、ローカルバッファ12からパケットを受け、その受けたパケットをアンテナ(図示せず)を介して送信する。
【0028】
更に、送受信モジュール11は、アンテナ(図示せず)を介してパケットを受信し、その受信したパケットをMACモジュール22へ出力する。
【0029】
ローカルバッファ12は、MAC層に属する。そして、ローカルバッファ12は、カテゴリバッファ13〜16のいずれか、またはMACモジュール22からパケットを受け、その受けたパケットを一時的に保持する。
【0030】
カテゴリバッファ13〜16は、MAC層に属し、それぞれ、アクセスカテゴリAC1〜AC4に対応して設けられる。そして、カテゴリバッファ13〜16は、それぞれ、送信キュー17〜20からのパケットを受け、その受けたパケットを一時的に保持する。
【0031】
また、カテゴリバッファ13〜16は、優先度に応じたカテゴリバッファバックオフ時間が予め設定されている。即ち、カテゴリバッファ13は、最も長いカテゴリバッファバックオフ時間が設定されており、カテゴリバッファ14は、2番目に長いカテゴリバッファバックオフ時間が設定されており、カテゴリバッファ15は、3番目に長いカテゴリバッファバックオフ時間が設定されており、カテゴリバッファ16は、最も短いカテゴリバッファバックオフ時間が設定されている。つまり、カテゴリバッファ13〜16は、通信の優先度が高い程、より短いカテゴリバッファバックオフ時間が設定されている。
【0032】
送信キュー17〜20は、MAC層に属し、それぞれ、カテゴリバッファ13〜16に対応して設けられる。即ち、送信キュー17〜20は、それぞれ、アクセスカテゴリAC1〜AC4に対応して設けられる。
【0033】
そして、送信キュー17〜20は、それぞれ、アクセスカテゴリAC1〜AC4に属するパケットをIPモジュール23から受け、その受けたパケットを一時的に保持する。
【0034】
送信予約テーブル21は、MAC層に属し、4個の送信予約テーブル211〜214からなる。送信予約テーブル211〜214は、それぞれ、アクセスカテゴリAC1〜AC4に対応して設けられる。そして、送信予約テーブル211〜214は、それぞれ、アクセスカテゴリAC1〜AC4に属するパケットを送信するときの無線装置1〜7の送信順番を示す。より具体的には、送信予約テーブル211〜214は、それぞれ、アクセスカテゴリAC1〜AC4に属するパケットを送信する無線装置1〜7のIDを送信順に格納する。
【0035】
MACモジュール22は、MAC層に属する。そして、MACモジュール22は、後述する方法によって、送信予約テーブル211〜214を作成するとともに、送信予約テーブル211〜214を更新する。
【0036】
また、MACモジュール22は、IPモジュール23からのパケットを受ける。そして、MACモジュール22は、その受けたパケットのQoS(Quality of Service)フィールドに含まれるアクセスカテゴリ情報を参照して、パケットのアクセスカテゴリ(AC1〜AC4のいずれか)を識別する。そうすると、MACモジュール22は、その識別したアクセスカテゴリに対応付けられた送信キュー(送信キュー17〜20のいずれか)にパケットを格納する。
【0037】
更に、MACモジュール22は、後述する方法によって、送信キュー17〜20に格納された各パケットの送信処理を行なう。
【0038】
更に、MACモジュール22は、他の無線装置から受信したパケットを送受信モジュール11から受ける。そして、MACモジュール22は、その受けたパケットがデータパケットである場合、データパケットに対する応答である肯定応答パケットを生成し、その生成した肯定応答パケットをローカルバッファ12を介して送受信モジュール11へ出力する。また、MACモジュール22は、データパケットをIPモジュール23へ出力する。
【0039】
更に、MACモジュール22は、後述する方法によって、他の無線装置がデータパケットの送信処理を放棄したことを判断するための送信放棄判断期間を設定する。
【0040】
更に、MACモジュール22は、データパケットが送信されると、後述する方法によって、肯定応答パケットを受信するための肯定応答待機期間を設定する。
【0041】
更に、MACモジュール22は、データパケットの受信が完了すると、後述する方法によって、肯定応答パケットを送信するための肯定応答送信期間を設定する。
【0042】
IPモジュール23は、IP層に属し、アプリケーション(図示せず)からデータを受ける。そして、IPモジュール23は、その受けたデータを含むデータパケットを生成し、その生成したデータパケットをMACモジュール22へ出力する。また、IPモジュール23は、MACモジュール22からデータパケットを受け、その受けたデータパケットをアプリケーション(図示せず)へ出力する。
【0043】
図3は、図2に示すMACモジュール22の機能を示す機能ブロック図である。図3を参照して、MACモジュール22は、通信モジュール221と、タイマーモジュール222と、テーブルモジュール223とを含む。
【0044】
通信モジュール221は、IPモジュール23からのパケットを受け、その受けたパケットを上述した方法によって送信キュー17〜20のいずれかに格納する。
【0045】
また、通信モジュール221は、送信予約テーブル21を参照して、後述する方法によって、送信キュー17〜20に格納された各パケットの送信処理を行なう。
【0046】
更に、通信モジュール221は、他の無線装置から受信したパケットを送受信モジュール11から受ける。そして、通信モジュール221は、その受けたパケットがデータパケットである場合、データパケットに対する応答である肯定応答パケットを生成し、その生成した肯定応答パケットをローカルバッファ12を介して送受信モジュール11へ出力する。また、通信モジュール221は、データパケットをIPモジュール23へ出力する。
【0047】
更に、通信モジュール221は、他の無線装置から受信したデータパケットの送信元およびアクセスカテゴリ情報をデータパケットから抽出する。そして、通信モジュール221は、その抽出した送信元およびアクセスカテゴリ情報をテーブルモジュール223へ出力する。
【0048】
更に、通信モジュール221は、他の無線装置から受信したパケットの復号完了通知または復号失敗通知をタイマーモジュール222およびテーブルモジュール223へ出力する。
【0049】
更に、通信モジュール221は、パケット(=データパケットおよび肯定応答パケット)の送信を開始したことを示す送信開始通知、パケット(=データパケットおよび肯定応答パケット)の送信を完了したことを示す送信完了通知、パケット(=データパケットおよび肯定応答パケット)の受信を開始したことを示す受信開始通知およびパケット(=データパケットおよび肯定応答パケット)の受信を完了したことを示す受信完了通知をタイマーモジュール222へ出力する。
【0050】
タイマーモジュール222は、通信モジュール221からの受信完了通知に応じて、後述する方法によって、他の無線装置がデータパケットの送信処理を放棄したと判断するための送信放棄判断期間を設定する。
【0051】
また、タイマーモジュール222は、通信モジュール221からの送信完了通知に応じて、後述する方法によって、肯定応答パケットを受信するための肯定応答待機期間を設定する。
【0052】
更に、タイマーモジュール222は、通信モジュール221からの復号完了通知に応じて、後述する方法によって、肯定応答パケットを送信するための肯定応答送信期間を設定する。
【0053】
更に、タイマーモジュール222は、通信モジュール221からの送信開始通知、送信完了通知、受信開始通知および受信完了通知に応じて、送信放棄判断期間の更新処理を行なう。
【0054】
テーブルモジュール223は、通信モジュール221からの受信完了通知、送信元、アクセスカテゴリ情報、復号完了通知および復号失敗通知に基づいて、後述する方法によって、送信予約テーブル21(=送信予約テーブル211〜214)を作成および更新する。
【0055】
なお、図1に示す無線装置2〜7の各々も、図2および図3に示す無線装置1と同じ構成からなる。
【0056】
図4は、図2に示す送信予約テーブル211の構成図である。図4を参照して、送信予約テーブル211は、1番目の無線装置の識別子、2番目の無線装置の識別子、3番目の無線装置の識別子、・・・からなる。
【0057】
1番目の無線装置の識別子、2番目の無線装置の識別子、3番目の無線装置の識別子、・・・は、それぞれ、1番目にデータパケットを送信する無線装置、2番目にデータパケットを送信する無線装置、3番目にデータパケットを送信する無線装置、・・・を表す。そして、1番目の無線装置の識別子、2番目の無線装置の識別子、3番目の無線装置の識別子、・・・は、それぞれ、1番目にデータパケットを送信する無線装置のアドレス、2番目にデータパケットを送信する無線装置のアドレス、3番目にデータパケットを送信する無線装置のアドレス、・・・からなる。
【0058】
なお、図2に示す送信予約テーブル212〜214の各々も、図4に示す送信予約テーブル211と同じ構成からなる。
【0059】
図5は、送信予約テーブルの作成方法を説明するための図である。なお、図5においては、無線装置1の送信予約テーブル211を例にして、送信予約テーブルを作成する方法について説明する。
【0060】
図5を参照して、送信予約テーブル211は、最初、無線装置の識別子が登録されていない空の状態である(図5の(a)参照)。
【0061】
その後、無線装置1の通信モジュール221は、データパケットPKT1を受信し、その受信したデータパケットPKT1の送信元である無線装置2のアドレスAdd2と、データパケットPKT1が属するアクセスカテゴリAC1とをデータパケットPKT1から抽出する。
【0062】
そして、無線装置1の通信モジュール221は、無線装置1がデータパケットPKT1の受信先であるとき、データパケットPKT1に対する肯定応答パケットACK1を生成して無線装置2へ送信する。一方、無線装置1の通信モジュール221は、データパケットPKT1の受信先が無線装置1以外であるとき、肯定応答パケットACK1を他の無線装置から受信する。
【0063】
そして、無線装置1の通信モジュール221は、データパケットPKT1の受信が完了すると、無線装置2のアドレスAdd2およびアクセスカテゴリAC1をテーブルモジュール223へ出力する。
【0064】
無線装置1のテーブルモジュール223は、無線装置2のアドレスAdd2およびアクセスカテゴリAC1を通信モジュール221から受けると、アクセスカテゴリAC1に対応付けられた送信予約テーブル211に無線装置2のアドレスAdd2を登録する(図5の(b)参照)。
【0065】
その後、無線装置1の通信モジュール221は、アクセスカテゴリAC1に属するデータパケットPKT2を送信キュー17から取り出して受信先へ送信する。そして、無線装置1の通信モジュール221は、データパケットPKT2に対する肯定応答パケットACK2をデータパケットPKT2の受信先から受信する。
【0066】
無線装置1の通信モジュール221は、データパケットPKT2の送信を完了すると、無線装置1のアドレスAdd1およびアクセスカテゴリAC1をテーブルモジュール223へ出力する。
【0067】
無線装置1のテーブルモジュール223は、無線装置1のアドレスAdd1およびアクセスカテゴリAC1を受けると、アクセスカテゴリAC1に対応付けられた送信予約テーブル211の最後部に無線装置1のアドレスAdd1を登録する(図5の(c)参照)。
【0068】
その後、同様の動作を繰返し、無線装置1のテーブルモジュール223は、無線装置3のアドレスAdd3および無線装置4のアドレスAdd4を送信予約テーブル211の最後部に順次登録する(図5の(d),(e)参照)。
【0069】
このように、無線装置1のテーブルモジュール223は、データパケットの送信が成功すると、送信に成功したデータパケットの送信元のアドレスをアクセスカテゴリAC1に対応付けられた送信予約テーブル211に登録する。これによって、送信予約テーブル211が作成される。
【0070】
なお、無線装置1のテーブルモジュール223は、上述した方法によって、送信予約テーブル212〜214を作成する。
【0071】
また、無線装置2〜7のテーブルモジュール223も、上述した方法によって、送信予約テーブル211〜214を作成する。
【0072】
図6は、送信予約テーブルを更新する方法を説明するための図である。なお、図6においては、無線装置1の送信予約テーブル211を例にして、送信予約テーブルを更新する方法について説明する。
【0073】
図6を参照して、無線装置1の送信予約テーブル211が送信予約テーブル211Aからなる場合を想定する。
【0074】
無線装置1の通信モジュール221は、データパケットPKT3を受信し、その受信したデータパケットPKT3の送信元である無線装置5のアドレスAdd5と、データパケットPKT3が属するアクセスカテゴリAC1とをデータパケットPKT3から抽出する。
【0075】
そして、無線装置1の通信モジュール221は、データパケットPKT3の受信を完了すると、無線装置5のアドレスAdd5およびアクセスカテゴリAC1をテーブルモジュール223へ出力する。
【0076】
また、無線装置1の通信モジュール221は、無線装置1がデータパケットPKT3の受信先であるとき、データパケットPKT3に対する肯定応答パケットACK3を生成して無線装置5へ送信する。一方、無線装置1の通信モジュール221は、データパケットPKT3の受信先が無線装置1以外であるとき、肯定応答パケットACK3を他の無線装置から受信する。
【0077】
無線装置1のテーブルモジュール223は、無線装置5のアドレスAdd5およびアクセスカテゴリAC1を受けると、アクセスカテゴリAC1に対応付けられた送信予約テーブル211Aを参照して、アドレスAdd5が送信予約テーブル211Aに登録されていないことを検知する。
【0078】
そうすると、無線装置1のテーブルモジュール223は、アドレスAdd5を送信予約テーブル211Aの最後部に登録する。これによって、送信予約テーブル211Aは、送信予約テーブル211Bに更新される(図6の(a)参照)。
【0079】
次に、無線装置1の送信予約テーブル211が送信予約テーブル211Cからなる場合を想定する。
【0080】
無線装置1の通信モジュール221は、上述したように、データパケットPKT3を受信を開始し、データパケットPKT3の受信を完了すると、無線装置5のアドレスAdd5およびアクセスカテゴリAC1をテーブルモジュール223へ出力する。
【0081】
そして、無線装置1のテーブルモジュール223は、無線装置5のアドレスAdd5およびアクセスカテゴリAC1を受けると、アクセスカテゴリAC1に対応付けられた送信予約テーブル211Cを参照して、送信予約テーブル211Cの先頭に登録されたアドレスがアドレスAdd5に一致していることを検知する。
【0082】
そうすると、無線装置1のテーブルモジュール223は、送信予約テーブル211Cの先頭のアドレスAdd5を削除し、通信モジュール221から受けたアドレスAdd5を送信予約テーブル211Cの最後部に登録する。これによって、送信予約テーブル211Cは、送信予約テーブル211Dに更新される(図6の(b)参照)。
【0083】
引き続いて、無線装置1の送信予約テーブル211が送信予約テーブル211Eからなる場合を想定する。
【0084】
無線装置1の通信モジュール221は、上述したように、データパケットPKT3を受信を開始し、データパケットPKT3の受信を完了すると、無線装置5のアドレスAdd5およびアクセスカテゴリAC1をテーブルモジュール223へ出力する。
【0085】
そして、無線装置1のテーブルモジュール223は、無線装置5のアドレスAdd5およびアクセスカテゴリAC1を受けると、アクセスカテゴリAC1に対応付けられた送信予約テーブル211Eを参照して、送信予約テーブル211Eの先頭に登録されたアドレスがアドレスAdd5に一致していないことを検知する。
【0086】
そうすると、無線装置1のテーブルモジュール223は、送信予約テーブル211Eの全体を参照して、アドレスAdd5が送信予約テーブル211Eに登録されているか否かを検索する。そして、無線装置1のテーブルモジュール223は、アドレスAdd5が送信予約テーブル211Eの2番目に登録されていることを検知する。
【0087】
その後、無線装置1のテーブルモジュール223は、送信予約テーブル211Eの2番目のアドレスAdd5を削除し、アドレスAdd5を送信予約テーブル211Eの最後部に登録する。これによって、送信予約テーブル211Eは、送信予約テーブル211Fに更新される(図6の(c)参照)。
【0088】
更に、無線装置1の送信予約テーブル211が送信予約テーブル211Gからなる場合を想定する。
【0089】
無線装置1の通信モジュール221は、上述したように、データパケットPKT3を受信を開始し、データパケットPKT3の受信を完了すると、無線装置5のアドレスAdd5およびアクセスカテゴリAC1をテーブルモジュール223へ出力する。
【0090】
そして、無線装置1のテーブルモジュール223は、無線装置5のアドレスAdd5およびアクセスカテゴリAC1を受けると、アクセスカテゴリAC1に対応付けられた送信予約テーブル211Gを参照して、送信予約テーブル211Gの先頭に登録されたアドレスがアドレスAdd5に一致していないことを検知する。
【0091】
そうすると、無線装置1のテーブルモジュール223は、送信予約テーブル211Gの全体を参照して、アドレスAdd5が送信予約テーブル211Gに登録されているか否かを検索する。そして、無線装置1のテーブルモジュール223は、アドレスAdd5が送信予約テーブル211Gの最後部に登録されていることを検知する。
【0092】
この場合、無線装置1のテーブルモジュール223は、アドレスAdd5が送信予約テーブル211Gの最後部に登録されているので、送信予約テーブル211Gをそのまま保持する(図6の(d)参照)。
【0093】
最後に、無線装置1の送信予約テーブル211が送信予約テーブル211Hからなる場合を想定する。
【0094】
無線装置1の通信モジュール221は、データパケットPKT4を受信し、その受信したデータパケットPKT4の復号に失敗する。そして、無線装置1の通信モジュール221は、データパケットPKT4の復号に失敗したことを示す復号失敗通知をテーブルモジュール223へ出力する。
【0095】
無線装置1のテーブルモジュール223は、通信モジュール221からの復号失敗通知に応じて、送信予約テーブル211Hの先頭のアドレスAdd2を削除する。これによって、送信予約テーブル211Hは、送信予約テーブル211Iに更新される(図6の(e)参照)。
【0096】
この場合、無線装置1のテーブルモジュール223は、アクセスカテゴリAC1に対応付けられた送信予約テーブル211Hのみならず、アクセスカテゴリAC2〜AC4にそれぞれ対応付けられた送信予約テーブル212〜214の先頭に登録されたアドレスを削除する。
【0097】
即ち、無線装置1のテーブルモジュール223は、データパケットPKT4の復号に失敗したことに応じて、アクセスカテゴリAC1〜AC4にそれぞれ対応付けられた送信予約テーブル211〜214の全てから先頭に登録されたアドレスを削除する。
【0098】
これは、復号に失敗したデータパケットPKT4が属するアクセスカテゴリが不明であり、復号に失敗したデータパケットPKT4の送信元も不明であるので、データパケットPKT4の送信元である可能性が最も高いアドレスAdd2を各送信予約テーブル211〜214から削除することにしたものである。
【0099】
なお、無線装置1のテーブルモジュール223は、肯定応答パケットに基づいて送信予約テーブル211〜214を更新しない。つまり、無線装置1のテーブルモジュール223は、データパケットに含まれる送信元およびアクセスカテゴリ情報に基づいて送信予約テーブル211〜214を更新するが、肯定応答パケットの内容に基づいて送信予約テーブル211〜214を更新しない。肯定応答パケットは、アクセスカテゴリ情報を含まないからである。
【0100】
また、無線装置1のテーブルモジュール223は、上述した方法によって、送信予約テーブル212〜214を更新する。
【0101】
更に、無線装置2〜7のテーブルモジュール223も、上述した方法によって、送信予約テーブル211〜214を更新する。
【0102】
図7は、無線装置1におけるデータパケットの送信動作を説明するための図である。また、図8は、送信予約テーブルの具体例を示す図である。
【0103】
図7を参照して、無線装置1のMACモジュール22(=通信モジュール221)は、IPモジュール23からデータパケットPKT1を受けると、その受けたデータパケットPKT1が属するアクセスカテゴリAC1を識別する。
【0104】
そして、無線装置1のMACモジュール22(=通信モジュール221)は、その識別したアクセスカテゴリAC1に対応付けられた送信キュー17にデータパケットPKT1を格納する。
【0105】
無線装置1のMACモジュール22(=通信モジュール221)は、同様にして、データパケットPKT2を送信キュー17に格納する。
【0106】
そして、無線装置1のMACモジュール22(=通信モジュール221)は、送信キュー17に対応するカテゴリバッファ13が空であり、データパケットPKT1,PKT2が送信キュー17に格納されている場合、送信キュー17の先頭のデータパケットPKT1を送信キュー17から取り出し、その取り出したデータパケットPKT1をカテゴリバッファ13に格納する。
【0107】
その後、無線装置1のMACモジュール22(=通信モジュール221)は、アクセスカテゴリAC1に対応付けられた送信予約テーブル211を参照して、送信予約テーブル211が空であることを検知すると、カテゴリバッファ13に格納されたデータパケットPKT1をローカルバッファ12にコピーし、カテゴリバッファ13に付与されたカテゴリバッファバックオフ時間をタイマー(通信モジュール221に内蔵されている)によって計測する。
【0108】
そして、無線装置1のMACモジュール22(=通信モジュール221)は、カテゴリバッファバックオフ時間が経過し、かつ、送受信モジュール11からのキャリアセンスの結果に基づいて無線通信空間が空いていることを検知すると、データパケットPKT1をローカルバッファ12から取り出して送受信モジュール11へ出力する。また、無線装置1のMACモジュール22(=通信モジュール221)は、それと同時に、送信完了通知をタイマーモジュール222へ出力し、タイマーモジュール222は、送信完了通知に応じて肯定応答待機期間を設定する。
【0109】
その後、無線装置1の送受信モジュール11は、データパケットPKT1をアンテナ(図示せず)を介して送信する。
【0110】
一方、無線装置1のMACモジュール22(=通信モジュール221)は、アクセスカテゴリAC1に対応付けられた送信予約テーブル211を参照して、少なくとも1個のアドレスが送信予約テーブル211に登録されていることを検知すると、次の条件を満たすか否かを判定することによってデータパケットPKT1が送信可能であるか否かを判定する。
【0111】
Cnd1)送信元が送信しようとするデータパケットのアクセスカテゴリに対応する送信予約テーブルに送信元のアドレスが登録されていない。
【0112】
Cnd2)送信元が送信しようとするデータパケットのアクセスカテゴリに対応する送信予約テーブルの先頭に登録されたアドレスが送信元のアドレスに一致する。
【0113】
条件Cnd1は、アクセスカテゴリAC1に対応付けられた送信予約テーブル211が送信予約テーブル211J(図8の(a)参照)からなる場合を意味する。また、条件Cnd2は、アクセスカテゴリAC1に対応付けられた送信予約テーブル211が送信予約テーブル211K(図8の(b)参照)からなる場合を意味する。
【0114】
無線装置1のMACモジュール22(=通信モジュール221)は、送信予約テーブル211を参照して、カテゴリバッファ13に格納されたデータパケットPKT1が条件Cnd1,Cnd2のいずれかを満たす場合、カテゴリバッファ13に格納されたデータパケットPKT1が送信可能であると判定する。
【0115】
そして、無線装置1のMACモジュール22(=通信モジュール221)は、カテゴリバッファ13に格納されたデータパケットPKT1をローカルバッファ12にコピーするとともに、カテゴリバッファ13に付与されたカテゴリバッファバックオフ時間をタイマー(通信モジュール221に内蔵されている)によって計測する。
【0116】
無線装置1のMACモジュール22(=通信モジュール221)は、カテゴリバッファバックオフ時間が経過すると、データパケットPKT1をローカルバッファ12から取り出し、その取り出したデータパケットPKT1を送受信モジュール11へ出力する。また、無線装置1のMACモジュール22(=通信モジュール221)は、それと同時に、送信完了通知をタイマーモジュール222へ出力し、タイマーモジュール222は、送信完了通知に応じて肯定応答待機期間を設定する。
【0117】
そして、無線装置1の送受信モジュール11は、データパケットPKT1をアンテナ(図示せず)を介して送信する。
【0118】
上述した2つの方法のいずれかによってデータパケットPKT1が送信された後、無線装置1の送受信モジュール11は、データパケットPKT1に対する肯定応答パケットACK1をデータパケットPKT1の受信先から受信し、その受信した肯定応答ACK1をMACモジュール22(=通信モジュール221)へ出力する。
【0119】
そして、無線装置1のMACモジュール22(=通信モジュール221)は、肯定応答パケットを送受信モジュール11から受け、その受けた肯定応答パケットACK1の復号を実行する。
【0120】
無線装置1のMACモジュール22(=通信モジュール221)は、肯定応答パケットACK1の復号に成功すると、データパケットPKT1の送信が完了したと判断し、データパケットPKT1の送信完了通知をテーブルモジュール223へ出力する。
【0121】
無線装置1のMACモジュール22(=テーブルモジュール223)は、送信完了通知に応じて、送信予約テーブル211を更新する。
【0122】
この場合、無線装置1のMACモジュール22(=テーブルモジュール223)は、送信予約テーブル211が送信予約テーブル211J(図8の(a)参照)からなる場合、無線装置1のアドレスAdd1を送信予約テーブル211Jの最後部に登録する。
【0123】
また、無線装置1のMACモジュール22(=テーブルモジュール223)は、送信予約テーブル211が送信予約テーブル211K(図8の(b)参照)からなる場合、送信予約テーブル211Kの先頭に登録されたアドレスAdd1を削除し、無線装置1のアドレスAdd1を送信予約テーブル211Kの最後部に登録する。
【0124】
そして、無線装置1のMACモジュール22(=通信モジュール221)は、肯定応答待機期間が満了する前に、肯定応答パケットACK1の復号を完了した場合、ローカルバッファ12およびカテゴリバッファ13の両方に格納されたデータパケットPKT1を破棄する。
【0125】
一方、無線装置1のMACモジュール22(=通信モジュール221)は、肯定応答待機期間が満了する前に、肯定応答パケットACK1を受信しなかった場合、再送設定がされており、かつ、再送回数が最大再送回数に達していないことを条件に、ローカルバッファ12に格納されたデータパケットのみを破棄し、カテゴリバッファ13に格納されたデータパケットPKT1をそのまま保持する。
【0126】
なお、複数のアクセスカテゴリに属するデータパケットが送信可能であると判定されたとき、無線装置1のMACモジュール22(=通信モジュール221)は、カテゴリバッファバックオフ時間の短い順にカテゴリバッファ13〜16内のデータパケットをローカルバッファ12にコピーし、該当のカテゴリバッファに設定されたカテゴリバッファバックオフ時間を開始する。
【0127】
この場合、上述したように、カテゴリバッファ13は、最も長いカテゴリバッファバックオフ時間が設定されており、カテゴリバッファ14は、2番目に長いカテゴリバッファバックオフ時間が設定されており、カテゴリバッファ15は、3番目に長いカテゴリバッファバックオフ時間が設定されており、カテゴリバッファ16は、最も短いカテゴリバッファバックオフ時間が設定されているので、データパケットは、優先度の順(即ち、アクセスカテゴリAC4〜AC1の順)に送信される。
【0128】
なお、各無線装置1〜7のMACモジュール22は、上述した方法によってアクセスカテゴリAC1〜AC4に属するデータパケットを送信する。
【0129】
上述したように、各無線装置1〜7のMACモジュール22(=通信モジュール221)は、送信予約テーブル211〜214が空である場合、キャリアセンスを行ない、無線通信空間が空いていることを確認してから無線通信を行なう第1のモードでデータパケットを送信し、少なくとも1個のアドレスが送信予約テーブル211〜214に登録されている場合、送信予約テーブル211〜214に従って無線通信を行なう第2のモードでデータパケットを送信する。
【0130】
そして、各無線装置1〜7のMACモジュール22(=通信モジュール221)は、一旦、第1のモードでデータパケットを送信すると、各無線装置1〜7のアドレスを送信予約テーブル(送信したデータパケットのアクセスカテゴリに対応付けられた送信予約テーブル)に登録する。従って、各無線装置1〜7のMACモジュール22(=通信モジュール221)は、一旦、第1のモードでデータパケットを送信した後においては、第2のモードでデータパケットを送信する。
【0131】
送信放棄判断期間(=NO−frame timer)について説明する。タイマーモジュール222は、アクセスカテゴリAC1〜AC4の各々に対して1つの送信放棄判断期間を設定する。
【0132】
また、タイマーモジュール222は、アクセスカテゴリAC1〜AC4の各々に対して個別の送信放棄判断期間を設定する。従って、アクセスカテゴリAC1〜AC4に対して設定される送信放棄判断期間は、相互に異なることもあれば、相互に同じであることもある。
【0133】
送信放棄判断期間が正常に機能するためには、複数の無線装置1〜7において設定される送信放棄判断期間は、データパケットの送信が成功する場合、相互に同期が取れている必要がある。その理由は、次の通りである。
【0134】
複数の無線装置1〜7において設定される送信放棄判断期間が相互に同期していない場合、他の無線装置が送信処理を放棄したと判断するタイミングが複数の無線装置1〜7間でずれる。その結果、例えば、無線装置2の送信予約テーブル211においては、無線装置2のアドレスAdd2が先頭になり、無線装置1の送信予約テーブル211においては、無線装置1のアドレスAdd1が先頭になる状態が生じ、無線装置1,2が同時にデータパケットを送信する可能性が増加し、パケットの衝突が生じる可能性が大きくなる。
【0135】
そこで、データパケットを同時に送信する無線装置の個数を減少させるために、複数の無線装置1〜7において設定される送信放棄判断期間を相互に同期させる必要がある。
【0136】
この発明の実施の形態においては、送信放棄判断期間は、パケットの送信完了、パケットの復号完了および受信されたパケットの種類によって複数の無線装置1〜7間で同期が取られる。
【0137】
そして、各アクセスカテゴリAC1〜AC4に対応して設定される送信放棄判断期間は、CWmax[ACi]×Slot time(i=1〜4)に設定される。ここで、CWmax[ACi]は、アクセスカテゴリAC1〜AC4におけるコンテンションウィンドの最大値である。
【0138】
図9は、送信放棄判断期間の概念図である。なお、図9において、Txは、送信元の無線装置を表し、Rxは、受信先の無線装置を表し、Oxは、送信元と受信先との間の無線通信を傍受する無線装置を表す。
【0139】
図9を参照して、送信元の無線装置Txにおいて、タイマーモジュール222は、タイミングt1において、パケットの受信完了によってビジー状態BUSYが終了すると、バックオフ時間および送信放棄判断期間を設定する。
【0140】
その後、バックオフ時間がタイミングt2で満了し、送信放棄判断期間がタイミングt3で満了する。
【0141】
送信元の無線装置Txにおいて、タイマーモジュール222は、送信放棄判断期間が満了すると、タイミングt3における次のスロットの開始に伴って送信放棄判断期間を新たに開始する。
【0142】
無線装置RxまたはOxにおいて、タイマーモジュール222は、タイミングt1において、送信放棄判断期間のみを設定する以外は、無線装置Txのタイマーモジュール222と同じ動作を行なう。
【0143】
このように、この発明の実施の形態においては、バックオフタイムおよび送信放棄判断期間は、同時に開始され、バックオフ時間は、送信放棄判断期間よりも短いので、送信放棄判断期間がバックオフ時間の満了後に開始される場合よりも、次のスロットにおけるデータパケットの送信までの時間が短縮される。従って、通信帯域を効率的に利用できる。その結果、無線ネットワークにおけるスループットを向上できる。
【0144】
送信放棄判断期間に基づく送信予約テーブル21の更新処理について説明する。図10は、送信放棄判断期間に基づく送信予約テーブル21の更新処理を説明するための図である。
【0145】
図10を参照して、各無線装置1,3〜5,7の通信モジュール221は、タイマーモジュール222によって設定されたアクセスカテゴリAC1〜AC4に対する送信放棄判断期間No−frame timerAC1〜No−frame timerAC4を参照し、送信放棄判断期間No−frame timerAC1〜No−frame timerAC4の間、パケットを受信しない場合、送信予約テーブル21A(=211〜214)の先頭にそれぞれ登録された無線装置2,6,2,2がデータパケットの送信処理を放棄したと判断する。
【0146】
そして、各無線装置1,3〜5,7の通信モジュール221は、データパケットの送信処理が放棄されたことを示す信号ABDを生成してテーブルモジュール223へ出力する。
【0147】
各無線装置1,3〜5,7のテーブルモジュール223は、信号ABDに応じて、送信予約テーブル21A(=211〜214)の先頭にそれぞれ登録されたアドレスAdd2,Add6,Add2,Add2を削除する。
【0148】
これによって、送信予約テーブル21Aは、送信予約テーブル21Bに更新される。
【0149】
このように、各無線装置1,3〜5,7のテーブルモジュール223は、通信モジュール221が送信放棄判断期間の間にデータパケットを受信しないとき、無線装置2,6,2,2がデータパケットの送信処理を放棄したとみなし、送信予約テーブル21Aから先頭のアドレスAdd2,Add6,Add2,Add2を削除し、無線装置2,6,2,2のアドレスAdd2,Add6,Add2,Add2を送信予約テーブル21Aの最後部に登録しない。
【0150】
つまり、各無線装置1,3〜5,7のテーブルモジュール223は、無線装置2,6,2,2がデータパケットの送信処理を放棄したので、無線装置2,6,2,2に対して次回の送信順番を確保しない。
【0151】
また、各無線装置1〜7のテーブルモジュール223は、送信放棄判断期間No−frame timerAC1〜No−frame timerAC4の間に通信モジュール221がデータパケットを受信した場合、図6において説明した方法によって、送信予約テーブル21(=211〜214)を更新する。
【0152】
なお、各無線装置1〜7のテーブルモジュール223は、1つのアクセスカテゴリ(アクセスカテゴリAC1〜AC4のいずれか)に対応付けられた送信放棄判断期間の間にデータパケットを検出しない場合、その1つのアクセスカテゴリ(アクセスカテゴリAC1〜AC4のいずれか)に対応付けられた送信予約テーブル(送信予約テーブル211〜214のいずれか)を上述した方法によって更新する。つまり、各無線装置1〜7のテーブルモジュール223は、送信予約テーブル211〜214の各々を独立に更新する。
【0153】
図11は、送信放棄判断期間の管理方法を説明するための図である。図11を参照して、アクセスカテゴリAC1に属するデータパケットDATA[AC1]の送信がタイミングt3において完了すると、送信放棄判断期間No−frame timer[AC1]がタイミングt3で開始される。
【0154】
そして、アクセスカテゴリAC2に属するデータパケットDATA[AC2]の送信がタイミングt4において開始されると、送信放棄判断期間No−frame timer[AC1]は、データパケットDATA[AC2]の送信期間であるタイミングt4からタイミングt5までの期間、中断される。
【0155】
その後、送信放棄判断期間No−frame timer[AC1]は、タイミングt5からタイミングt6までの期間、継続される。
【0156】
そして、アクセスカテゴリAC3に属するデータパケットDATA[AC3]の送信がタイミングt6において開始されると、送信放棄判断期間No−frame timer[AC1]は、データパケットDATA[AC3]の送信期間であるタイミングt6からタイミングt8までの期間、中断される。
【0157】
その後、送信放棄判断期間No−frame timer[AC1]は、タイミングt8からタイミングt9までの期間、継続される。
【0158】
そして、アクセスカテゴリAC2に属するデータパケットDATA[AC2]の送信がタイミングt9において開始されると、送信放棄判断期間No−frame timer[AC1]は、データパケットDATA[AC2]の送信期間であるタイミングt9からタイミングt10までの期間、中断される。
【0159】
その後、送信放棄判断期間No−frame timer[AC1]は、タイミングt10からタイミングt11までの期間、継続される。
【0160】
更に、アクセスカテゴリAC4に属するデータパケットDATA[AC4]の送信がタイミングt11において開始されると、送信放棄判断期間No−frame timer[AC1]は、データパケットDATA[AC4]の送信期間であるタイミングt11からタイミングt12までの期間、中断される。
【0161】
その後、送信放棄判断期間No−frame timer[AC1]は、タイミングt12からタイミングt13までの期間、継続される。そして、送信放棄判断期間No−frame timer[AC1]は、満了する。
【0162】
このように、送信放棄判断期間No−frame timer[AC1]は、他のアクセスカテゴリAC2〜AC4に属するデータパケットの送信が発生すると、そのデータパケットの送信期間の間、中断され、データパケットの送信が完了すると、継続される。
【0163】
送信放棄判断期間は、送信されるデータパケットが無いことを判断するための期間であるため、データパケットの送信が開始されるまでの最大時間を考慮する必要がある。そこで、他のアクセスカテゴリに属するデータパケットの送信が発生した場合、そのデータパケットの送信期間の間、送信放棄判断期間を中断することにした。
【0164】
その結果、送信放棄判断期間No−frame timer[AC1]は、本来、タイミングt7で満了するが、データパケットDATA[AC2]〜DATA[AC4]の送信が発生したことによって、延長され、タイミングt13で満了する。
【0165】
この場合、タイミングt3からタイミングt7までの期間は、タイミングt3,t4間の期間、タイミングt5,t6間の期間、タイミングt8,t9間の期間、タイミングt10,t11間の期間およびタイミングt12,t13間の期)の和に等しい。
【0166】
その結果、他のアクセスカテゴリに属するデータパケットの送信が送信放棄判断期間の間に発生しても、他のアクセスカテゴリに属するデータパケットの送信がない場合と同じ長さの送信放棄判断期間が設定される。
【0167】
従って、他の無線装置がデータパケットの送信処理を放棄したことを正確に判断できる。
【0168】
送信放棄判断期間の管理方法の具体例について説明する。図12は、送信元の無線装置における肯定応答パケットの復号完了時の処理を示す図である。なお、図12においては、無線装置1を送信元の無線装置(Tx)とする。
【0169】
図12を参照して、無線装置1のタイマーモジュール222は、バックオフ時間が満了すると、データパケットを送信する対象とするアクセスカテゴリ[AC](対象カテゴリ)に対応付けられた送信放棄判断期間No−frame timer[AC]をキャンセルし、アクセスカテゴリ[AC]以外のアクセスカテゴリ[other AC](対象外カテゴリ)に対応付けられた送信放棄判断期間No−frame timer[other AC]を中断する。
【0170】
そして、無線装置1の通信モジュール221は、アクセスカテゴリ[AC]に属するデータパケットDATA[AC]の送信を開始する。
【0171】
その後、無線装置1のタイマーモジュール222は、通信モジュール221がデータパケットDATA[AC]の送信を完了すると、通信モジュール221からの送信完了通知に応じて、肯定応答待機期間Wait for ACKを開始するとともに送信放棄判断期間No−frame timer[other AC]を継続する。
【0172】
また、無線装置1のテーブルモジュール223は、通信モジュール221からの送信完了通知に応じて対象カテゴリ[AC]に対応付けられた送信予約テーブル[AC]を上述した方法によって更新する。
【0173】
その後、無線装置1のタイマーモジュール222は、通信モジュール221が肯定応答パケットACKの受信を開始すると、通信モジュール221からの受信開始通知に応じて、肯定応答待機期間Wait for ACKをキャンセルするとともに送信放棄判断期間No−frame timer[other AC]を中断する。
【0174】
そして、無線装置1のタイマーモジュール222は、通信モジュール221が肯定応答パケットACKの復号を完了すると、通信モジュール221からの復号完了通知に応じて、送信放棄判断期間No−frame timer[AC]を新たに開始し、送信放棄判断期間No−frame timer[other AC]を継続する。
【0175】
このように、送信元である無線装置1は、データパケットDATA[AC]の送信を完了すると、送信予約テーブル[AC]を更新し、データパケットDATA[AC]に対する肯定応答パケットACKの復号を完了すると、送信放棄判断期間No−frame timer[AC]を新たに開始する。
【0176】
従って、無線装置1の次に送信順番を有する無線装置がデータパケットを送信する機会を得ることができ、通信帯域を効率的に利用できる。
【0177】
図13は、送信元の無線装置における肯定応答パケットの復号失敗時の処理を示す図である。なお、図13においても、無線装置1を送信元の無線装置(Tx)とする。
【0178】
図13を参照して、無線装置1のタイマーモジュール222は、バックオフ時間が満了すると、対象カテゴリであるアクセスカテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]をキャンセルし、対象外カテゴリであるアクセスカテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer[other AC]を中断する。
【0179】
そして、無線装置1の通信モジュール221は、アクセスカテゴリ[AC]に属するデータパケットDATA[AC]の送信を開始する。
【0180】
その後、無線装置1のタイマーモジュール222は、通信モジュール221がデータパケットDATA[AC]の送信を完了すると、通信モジュール221からの送信完了通知に応じて、肯定応答待機期間Wait for ACKを開始するとともに送信放棄判断期間No−frame timer[other AC]を継続する。
【0181】
また、無線装置1のテーブルモジュール223は、通信モジュール221からデータパケットDATA[AC]の送信完了通知に応じて対象カテゴリ[AC]に対応付けられた送信予約テーブル[AC]を上述した方法によって更新する。
【0182】
その後、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの受信を開始すると、通信モジュール221からの受信開始通知に応じて、肯定応答待機期間Wait for ACKをキャンセルするとともに送信放棄判断期間No−frame timer[other AC]を中断する。
【0183】
その後、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの復号を失敗すると、通信モジュール221からの復号失敗通知に応じて、全てのアクセスカテゴリ[AC],[other AC]に対応付けられた送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始する。また、無線装置1のテーブルモジュール223は、通信モジュール221からの復号失敗通知に応じて、全てのアクセスカテゴリ[AC],[other AC]に対応付けられた送信予約テーブル[AC],[other AC]を更新する。
【0184】
このように、送信元である無線装置1は、データパケットDATA[AC]の送信を完了すると、アクセスカテゴリ[AC]対応付けられた送信予約テーブル[AC]を更新し、パケットの復号に失敗すると、全てのアクセスカテゴリ[AC],[other AC]に対応付けられた送信予約テーブル[AC],[other AC]を更新するとともに、全てのアクセスカテゴリ[AC],[other AC]に対応付けられた送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始する。
【0185】
従って、無線装置1の次に送信順番を有する無線装置がデータパケットを送信する機会を得ることができ、通信帯域を効率的に利用できる。
【0186】
図14は、受信先におけるデータパケットの復号完了時の処理を示す図である。なお、図14においては、受信先の無線装置(Rx)を無線装置1とする。
【0187】
図14を参照して、無線装置1のタイマーモジュール222は、通信モジュール221が対象カテゴリ[AC]に属するデータパケットDATA[AC]の受信を開始すると、通信モジュール221からの受信開始通知に応じて、全てのアクセスカテゴリ[ALL AC]に対応付けられた送信放棄判断期間No−frame timer[ALL AC]を中断する。
【0188】
そして、無線装置1のタイマーモジュール222は、通信モジュール221がデータパケットDATA[AC]の受信を完了すると、通信モジュール221からの受信完了通知に応じて、送信放棄判断期間No−frame timer[AC]をキャンセルするとともに送信放棄判断期間No−frame timer[other AC]を継続する。
【0189】
また、無線装置1のテーブルモジュール223は、通信モジュール221がデータパケットDATA[AC]の受信を完了すると、通信モジュール221からの受信完了通知に応じて、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]を更新する。
【0190】
その後、無線装置1のタイマーモジュール222は、通信モジュール221が肯定応答パケットACKの送信を開始すると、通信モジュール221からの送信開始通知に応じて、送信放棄判断期間No−frame timer[other AC]を中断する。
【0191】
そして、無線装置1のタイマーモジュール222は、通信モジュール221が肯定応答パケットACKの送信を完了すると、通信モジュール221からの送信完了通知に応じて、送信放棄判断期間No−frame timer[AC]を新たに開始するとともに送信放棄判断期間No−frame timer[other AC]を継続する。
【0192】
このように、受信先である無線装置1は、データパケットDATA[AC]の受信を完了すると、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]を更新し、肯定応答パケットACKの送信を完了すると、アクセスカテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]を新たに開始し、アクセスカテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer[other AC]を継続する。
【0193】
従って、受信先の無線装置1は、更新された送信予約テーブル[AC]において、自己が1番目の送信順番を有すれば、データパケットを送信できる。また、受信先の無線装置1は、更新された送信予約テーブル[AC]において、自己が2番目以降の送信順番を有すれば、新たな送信元がデータパケットの送信を開始できる。その結果、通信帯域を効率的に利用できる。
【0194】
図15は、無線通信を傍受する無線装置におけるデータパケットおよび肯定応答パケットの復号完了時の処理を示す図である。なお、図15においては、無線通信を傍受する無線装置(Ox)を無線装置1とする。
【0195】
図15を参照して、無線装置1のタイマーモジュール222は、通信モジュール221が対象カテゴリに属するデータパケットDATA[AC]の受信を開始すると、通信モジュール221からの受信開始通知に応じて、全てのアクセスカテゴリ[ALL AC]に対応付けられた送信放棄判断期間No−frame timer[ALL AC]を中断する。
【0196】
そして、無線装置1のタイマーモジュール222は、通信モジュール221がデータパケットDATA[AC]の復号を完了すると、通信モジュール221からの復号完了通知に応じて、送信放棄判断期間No−frame timer[AC]をキャンセルするとともに肯定応答送信期間(=ACK NAV timer)を開始し、送信放棄判断期間No−frame timer[other AC]を継続する。
【0197】
また、無線装置1のテーブルモジュール223は、通信モジュール221がデータパケットDATA[AC]の復号を完了すると(即ち、データパケットDATA[AC]の受信を完了すると)、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]を更新する。
【0198】
その後、無線装置1のタイマーモジュール222は、通信モジュール221が肯定応答パケットACKの受信を開始すると、通信モジュール221からの受信開始通知に応じて、肯定応答送信期間をキャンセルし、送信放棄判断期間No−frame timer[other AC]を中断する。
【0199】
そして、無線装置1のタイマーモジュール222は、通信モジュール221が肯定応答パケットACKの復号を完了すると、通信モジュール221からの復号完了通知に応じて、送信放棄判断期間No−frame timer[AC]を新たに開始するとともに送信放棄判断期間No−frame timer[other AC]を継続する。
【0200】
このように、無線通信を傍受する無線装置1は、データパケットDATA[AC]の受信を完了すると、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]を更新し、肯定応答パケットACKの復号を完了すると、アクセスカテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]を新たに開始し、アクセスカテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer[other AC]を継続する。
【0201】
従って、更新された送信予約テーブル[AC]の先頭に登録された無線装置がデータパケットを送信できる。その結果、通信帯域を効率的に利用できる。
【0202】
また、受信先の無線装置1は、全てのアクセスカテゴリ[ALL AC]に属するデータパケットの送信処理が放棄されたか否かを判断し、データパケットの送信処理が放棄されれば、全ての送信予約テーブル[ALL AC]が更新されるので、新たな無線装置がデータパケットを送信できる。その結果、通信帯域を効率的に利用できる。
【0203】
図16は、無線通信を傍受する無線装置における肯定応答パケットの復号失敗時の処理を示す図である。なお、図16においても、無線通信を傍受する無線装置(Ox)を無線装置1とする。
【0204】
図16を参照して、無線装置1のタイマーモジュール222は、通信モジュール221が対象カテゴリに属するデータパケットDATA[AC]の受信を開始すると、通信モジュール221からの受信開始通知に応じて、全てのアクセスカテゴリ[ALL AC]に対応付けられた送信放棄判断期間No−frame timer[ALL AC]を中断する。
【0205】
そして、無線装置1のタイマーモジュール222は、通信モジュール221がデータパケットDATA[AC]の復号を完了すると、通信モジュール221からの復号完了通知に応じて、送信放棄判断期間No−frame timer[AC]をキャンセルするとともに肯定応答送信期間ACK NAV timerを開始し、送信放棄判断期間No−frame timer[other AC]を継続する。
【0206】
また、無線装置1のテーブルモジュール223は、通信モジュール221がデータパケットDATA[AC]の復号を完了すると(即ち、データパケットDATA[AC]の受信を完了すると)、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]を更新する。
【0207】
その後、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの受信を開始すると、通信モジュール221からの受信開始通知に応じて、肯定応答送信期間ACK NAV timerをキャンセルし、送信放棄判断期間No−frame timer[other AC]を中断する。
【0208】
そして、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの復号に失敗すると、通信モジュール221からの復号失敗通知に応じて、送信放棄判断期間No−frame timer[other AC]をキャンセルし、全ての送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始する。また、無線装置1のテーブルモジュール223は、通信モジュール221からの復号失敗通知に応じて、全ての送信予約テーブル[AC],[other AC]を更新する。
【0209】
このように、無線通信を傍受する無線装置1は、データパケットDATA[AC]の受信を完了すると、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]を更新し、パケットの復号に失敗すると、全ての送信予約テーブル[AC],[other AC]を更新するとともに全ての送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始する。
【0210】
従って、更新された送信予約テーブル[AC],[other AC]において1番目の送信順番を有する無線装置がデータパケットを送信できる。
【0211】
また、無線通信を傍受する無線装置1は、全てのアクセスカテゴリ[ALL AC]に属するデータパケットの送信処理が放棄されたか否かを判断し、データパケットの送信処理が放棄されれば、全ての送信予約テーブル[ALL AC]が更新されるので、新たな無線装置がデータパケットを送信できる。
【0212】
その結果、通信帯域を効率的に利用できる。
【0213】
図17は、無線通信を傍受する無線装置におけるデータパケットおよび肯定応答パケットの復号失敗時の処理を示す図である。なお、図17においても、無線通信を傍受する無線装置(Ox)を無線装置1とする。
【0214】
図17を参照して、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの受信を開始すると、通信モジュール221からの受信開始通知に応じて、全てのアクセスカテゴリ[ALL AC]に対応付けられた全ての送信放棄判断期間No−frame timer[ALL AC]を中断する。
【0215】
そして、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの復号に失敗すると、通信モジュール221からの復号失敗通知に応じて、全ての送信放棄判断期間No−frame timer[ALL AC]をキャンセルし、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始する。また、無線装置1のテーブルモジュール223は、通信モジュール221からの復号失敗通知に応じて、全ての送信予約テーブル[ALL AC]を更新する。
【0216】
その後、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの受信を開始すると、通信モジュール221からの受信開始通知に応じて、全ての送信放棄判断期間No−frame timer[ALL AC]を中断する。
【0217】
そして、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの復号に失敗すると、通信モジュール221からの復号失敗通知に応じて、全ての送信放棄判断期間No−frame timer[ALL AC]をキャンセルし、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始する。また、無線装置1のテーブルモジュール223は、通信モジュール221からの復号失敗通知に応じて、全ての送信予約テーブル[ALL AC]を更新する。
【0218】
このように、無線通信を傍受する無線装置1は、パケットの復号に失敗すると、全ての送信予約テーブル[ALL AC]を更新するとともに全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始する。
【0219】
従って、更新された送信予約テーブル[AC],[other AC]において1番目の送信順番を有する無線装置がデータパケットを送信できる。
【0220】
また、無線通信を傍受する無線装置1は、全てのアクセスカテゴリ[ALL AC]に属するデータパケットの送信処理が放棄されたか否かを判断し、データパケットの送信処理が放棄されれば、全ての送信予約テーブル[ALL AC]が更新されるので、新たな無線装置がデータパケットを送信できる。
【0221】
その結果、通信帯域を効率的に利用できる。
【0222】
図18は、送信元の無線装置において肯定応答パケットを受信しないときの処理を示す図である。なお、図18においては、送信元の無線装置(Tx)を無線装置1とする。
【0223】
図18を参照して、無線装置1のタイマーモジュール222は、バックオフ時間が満了すると、対象カテゴリであるアクセスカテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]をキャンセルし、対象外カテゴリであるアクセスカテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer[other AC]を中断する。
【0224】
そして、無線装置1の通信モジュール221は、アクセスカテゴリ[AC]に属するデータパケットDATA[AC]の送信を開始する。
【0225】
その後、無線装置1のタイマーモジュール222は、通信モジュール221がデータパケットDATA[AC]の送信を完了すると、通信モジュール221からの送信完了通知に応じて、肯定応答待機期間Wait for ACKを開始するとともに送信放棄判断期間No−frame timer[other AC]を継続する。
【0226】
また、無線装置1のテーブルモジュール223は、通信モジュール221からのデータパケットDATA[AC]の送信完了通知に応じて、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]を更新する。
【0227】
そして、無線装置1のタイマーモジュール222は、肯定応答待機期間Wait for ACKが満了すると、送信放棄判断期間No−frame timer[AC]を新たに開始する。この場合、新たに開始された送信放棄判断期間No−frame timer[AC]の長さは、通常の送信放棄判断期間(=Default No−frame timer)から肯定応答待機期間(=Wait for ACK)を減算した値である。
【0228】
ここで、通常の送信放棄判断期間(=Default No−frame timer)から肯定応答待機期間(=Wait for ACK)を減算するのは、肯定応答待機期間の送信放棄判断期間への影響を除去するためである。その結果、無線装置1は、他の無線装置がデータパケットの送信処理を放棄したことを迅速に判断できる。
【0229】
このように、送信元である無線装置1は、データパケットDATA[AC]の送信を完了し、肯定応答待機期間Wait for ACKが満了すると、対象カテゴリに対応付けられた送信放棄判断期間No−frame timer[AC]を新たに開始する。
【0230】
また、無線装置1のテーブルモジュール223は、データパケットDATA[AC]の送信を完了すると、送信予約テーブル[AC]を更新する。
【0231】
従って、無線装置1の次に送信順番を有する無線装置がデータパケットを送信する機会を得ることができ、通信帯域を効率的に利用できる。
【0232】
図19は、受信先の無線装置においてデータパケットを受信しないときの処理を示す図である。なお、図19においては、受信先の無線装置(Rx)を無線装置1とする。
【0233】
図19を参照して、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの受信を開始すると、通信モジュール221からの受信開始通知に応じて、全てのアクセスカテゴリ[ALL AC]に対応付けられた全ての送信放棄判断期間No−frame timer[ALL AC]を中断する。
【0234】
そして、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの復号に失敗すると、通信モジュール221からの復号失敗通知に応じて、全ての送信放棄判断期間No−frame timer[ALL AC]をキャンセルし、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始する。
【0235】
また、無線装置1のテーブルモジュール223は、通信モジュール221からの復号失敗通知に応じて、全ての送信予約テーブル[ALL AC]を更新する。
【0236】
このように、受信先である無線装置1は、パケットの復号に失敗すると、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始するとともに、全ての送信予約テーブル[ALL AC]を更新する。
【0237】
従って、更新された送信予約テーブル[AC],[other AC]において1番目の送信順番を有する無線装置がデータパケットを送信できる。
【0238】
また、無線通信を傍受する無線装置1は、全てのアクセスカテゴリ[ALL AC]に属するデータパケットの送信処理が放棄されたか否かを判断し、データパケットの送信処理が放棄されれば、全ての送信予約テーブル[ALL AC]が更新されるので、新たな無線装置がデータパケットを送信できる。
【0239】
その結果、通信帯域を効率的に利用できる。
【0240】
図20は、無線通信を傍受する無線装置においてデータパケットの復号後、肯定応答パケットを受信しないときの処理を示す図である。なお、図20においては、無線通信を傍受する無線装置(Ox)を無線装置1とする。
【0241】
無線装置1のタイマーモジュール222は、通信モジュール221がデータパケットDATA[AC]の受信を開始すると、通信モジュール221からの受信開始通知に応じて、全ての送信放棄判断期間No−frame timer[ALL AC]を中断する。
【0242】
そして、無線装置1のタイマーモジュール222は、通信モジュール221がデータパケットDATA[AC]の復号を完了すると、通信モジュール221からの復号完了通知に応じて、対象カテゴリであるアクセスカテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]をキャンセルするとともに肯定応答送信期間ACK NAV timerを開始し、対象外カテゴリに対応付けられた送信放棄判断期間No−frame timer[other AC]を継続する。
【0243】
また、無線装置1のテーブルモジュール223は、通信モジュール221がデータパケットDATA[AC]の復号を完了すると(即ち、通信モジュール221がデータパケットDATA[AC]の受信を完了すると)、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]を更新する。
【0244】
その後、無線装置1のタイマーモジュール222は、肯定応答送信期間ACK NAV timerが満了すると、送信放棄判断期間No−frame timer[AC]を新たに開始する。この場合、新たに開始された送信放棄判断期間No−frame timer[AC]の長さは、通常の送信放棄判断期間(=Default No−frame timer)から肯定応答送信期間(=ACK NAV timer)を減算した長さである。
【0245】
ここで、通常の送信放棄判断期間(=Default No−frame timer)から肯定応答送信期間(=ACK NAV timer)を減算するのは、肯定応答送信期間の送信放棄判断期間への影響を除去するためである。その結果、無線通信を傍受する無線装置1は、他の無線装置がデータパケットの送信処理を放棄したことを迅速に判断できる。
【0246】
このように、無線通信を傍受する無線装置1は、データパケットDATA[AC]の復号に成功し、肯定応答送信期間ACK NAV timerが満了すると、送信放棄判断期間No−frame timer[AC]を新たに開始する。
【0247】
また、無線装置1のテーブルモジュール223は、データパケットDATA[AC]の受信を完了すると、送信予約テーブル[AC]を更新する。
【0248】
従って、更新された送信予約テーブル[AC]において1番目の送信順番を有する無線装置がデータパケットを送信できる。
【0249】
また、無線通信を傍受する無線装置1は、全てのアクセスカテゴリ[ALL AC]に属するデータパケットの送信処理が放棄されたか否かを判断し、データパケットの送信処理が放棄されれば、全ての送信予約テーブル[ALL AC]が更新されるので、新たな無線装置がデータパケットを送信できる。
【0250】
その結果、通信帯域を効率的に利用できる。
【0251】
図21は、無線通信を傍受する無線装置においてデータパケットの復号失敗後に肯定応答パケットを受信しないときの処理を示す図である。なお、図21においても、無線通信を傍受する無線装置(Ox)を無線装置1とする。
【0252】
図21を参照して、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの受信を開始すると、通信モジュール221からの受信開始通知に応じて、全ての送信放棄判断期間[ALL AC]を中断する。
【0253】
そして、無線装置1のタイマーモジュール222は、通信モジュール221がパケットの復号に失敗すると、通信モジュール221からの復号失敗通知に応じて、全ての送信放棄判断期間[ALL AC]を新たに開始する。また、無線装置1のテーブルモジュール223は、通信モジュール221からの復号失敗通知に応じて、全ての送信予約テーブル[ALL AC]を更新する。
【0254】
このように、無線通信を傍受する無線装置1は、パケットの復号に失敗すると、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始するとともに、全ての送信予約テーブル[ALL AC]を更新する。
【0255】
従って、更新された全ての送信予約テーブル[ALL AC]において1番目の送信順番を有する無線装置がデータパケットを送信できる。
【0256】
また、無線通信を傍受する無線装置1は、全てのアクセスカテゴリ[ALL AC]に属するデータパケットの送信処理が放棄されたか否かを判断し、データパケットの送信処理が放棄されれば、全ての送信予約テーブル[ALL AC]が更新されるので、新たな無線装置がデータパケットを送信できる。
【0257】
その結果、通信帯域を効率的に利用できる。
【0258】
なお、図12から図21においては、無線装置1における送信放棄判断期間および送信予約テーブルの処理について説明したが、無線装置2〜7の各々も、無線装置1と同じ方法によって、送信放棄判断期間および送信予約テーブルの処理を実行する。
【0259】
肯定応答パケットが送信される場合、送信放棄判断期間No−frame timer[AC]の開始時、送信予約テーブル[AC]の更新時、送信放棄判断期間No−frame timer[other AC]の中断時・継続時・開始時、および送信予約テーブル[other AC]の更新時を送信元(Tx)、受信先(Rx)および無線通信を傍受する無線装置(Ox)についてまとめると、表1のようになる。
【0260】
【表1】
【0261】
表1の第1行〜第3行を参照すれば、次のことが分かる。データパケットDATAの送信が成功する場合、送信元(Tx)は、データパケットDATAの送信後、肯定応答パケットACKの復号完了時に送信放棄判断期間No−frame timer[AC]を開始し(第1行参照)、受信先(Rx)は、肯定応答パケットACKの送信完了時に送信放棄判断期間No−frame timer[AC]を開始し(第2行参照)、無線装置(Ox)は、肯定応答パケットACKの復号完了時に送信放棄判断期間No−frame timer[AC]を開始する(第3行参照)。
【0262】
また、送信元(Tx)は、データパケットDATAの送信完了時に送信予約テーブル[AC]を更新し(第1行参照)、受信先(Rx)は、データパケットDATAの受信完了時に送信予約テーブル[AC]を更新し(第2行参照)、無線装置(Ox)は、データパケットDATAの受信完了時に送信予約テーブル[AC]を更新する(第3行参照)。
【0263】
更に、送信元(Tx)は、データパケットDATAの送信開始時又は肯定応答パケットACKの受信開始時に送信放棄判断期間No−frame timer[other AC]を中断し(第1行参照)、受信先(Rx)は、データパケットDATAの受信開始時又は肯定応答パケットACKの送信開始時に送信放棄判断期間No−frame timer[other AC]を中断し(第2行参照)、無線装置(Ox)は、データパケットDATAの受信開始時又は肯定応答パケットACKの受信開始時に送信放棄判断期間No−frame timer[other AC]を中断する(第3行参照)。
【0264】
更に、送信元(Tx)は、データパケットDATAの送信完了時又は肯定応答パケットACKの復号完了時に送信放棄判断期間No−frame timer[other AC]を継続し(第1行参照)、受信先(Rx)は、データパケットDATAの復号完了時又は肯定応答パケットACKの送信完了時に送信放棄判断期間No−frame timer[other AC]を継続し(第2行参照)、無線装置(Ox)は、データパケットDATAの復号完了時又は肯定応答パケットACKの復号完了時に送信放棄判断期間No−frame timer[other AC]を継続する(第3行参照)。
【0265】
更に、送信元(Tx)、受信先(Rx)および無線装置(Ox)は、送信予約テーブル[other AC]を更新しない(第1行〜第3行参照)。
【0266】
従って、送信放棄判断期間No−frame timer[AC]の開始時は、送信元(Tx)、受信先(Rx)および無線装置(Ox)の間で同期が取れている。
【0267】
また、送信放棄判断期間No−frame timer[other AC]の中断時および継続時は、送信元(Tx)、受信先(Rx)および無線装置(Ox)の間で同期が取れている。
【0268】
更に、送信予約テーブル[AC]の更新時は、送信元(Tx)、受信先(Rx)および無線装置(Ox)の間で同期が取れている。
【0269】
更に、送信予約テーブル[other AC]は、送信元(Tx)、受信先(Rx)および無線装置(Ox)の間で同じである。
【0270】
このように、データパケットDATAの送信が成功する場合、送信元(Tx)、受信先(Rx)および無線装置(Ox)は、送信放棄判断期間No−frame Timer[AC]を同期して開始し、送信放棄判断期間No−frame Timer[other AC]を同期して中断または継続し、送信予約テーブル[AC]を同期して更新する。
【0271】
また、表1の第2行、第4行および第5行から次のことが分かる。送信元(Tx)は、データパケットDATAの送信後、パケット(ACK)の復号失敗時に送信放棄判断期間No−frame timer[AC]を開始し(第4行参照)、受信先(Rx)は、肯定応答パケットACKの送信完了時に送信放棄判断期間No−frame timer[AC]を開始し(第2行参照)、無線装置(Ox)は、パケット(ACK)の復号失敗時に送信放棄判断期間No−frame timer[AC]を開始する(第5行参照)。
【0272】
また、送信元(Tx)は、データパケットDATAの送信完了時、またはパケット(ACK)の復号失敗時に送信予約テーブル[AC]を更新し(第4行参照)、受信先(Rx)は、データパケットDATAの受信完了時に送信予約テーブル[AC]を更新し(第2行参照)、無線装置(Ox)は、パケット(ACK)の復号失敗時に送信予約テーブル[AC]を更新する(第5行参照)。
【0273】
更に、送信元(Tx)は、データパケットの送信開始時又はパケット(ACK)の受信開始時に送信放棄判断期間No−frame timer[other AC]を中断し(第4行の2−1参照)、受信先(Rx)は、データパケットDATAの受信開始時又は肯定応答パケットACKの送信開始時に送信放棄判断期間No−frame timer[other AC]を中断し(第2行の1−1参照)、無線装置(Ox)は、データパケットDATAの受信開始時又はパケット(ACK)の受信開始時に送信放棄判断期間No−frame timer[other AC]を中断する(第5行の2−1参照)。
【0274】
更に、受信先(Rx)は、データペットDATAの復号完了時に送信放棄判断期間No−frame timer[other AC]を継続し(第2行の1−2参照)、送信先(Tx)は、データパケットDATAの送信完了時に継続し(第4行の2−2参照)、無線装置(Ox)は、データパケットDATAの復号完了時に送信放棄判断期間No−frame timer[other AC]を継続する(第5行の2−2参照)。
【0275】
更に、受信先(Rx)は、肯定応答パケットACKの送信完了時に送信放棄判断期間No−frame timer[other AC]を継続し(第2行の1−2参照)、送信元(Tx)は、パケット(ACK)の復号失敗時に送信放棄判断期間No−frame timer[other AC]を開始し(第4行の2−2参照)、無線装置(Ox)は、パケット(ACK)の復号失敗時に送信放棄判断期間No−frame timer[other AC]を開始する(第5行の2−2参照)。
【0276】
更に、受信先(Rx)は、送信予約テーブル[other AC]を更新せず(第2行参照)、送信元(Tx)および無線装置(Ox)は、パケット(ACK)の復号失敗時に送信予約テーブル[other AC]を更新する(第4行および第5行参照)。
【0277】
従って、パケット(ACK)の復号が失敗する場合、送信元(Tx)、受信先(Rx)および無線装置(Ox)は、送信放棄判断期間No−frame timer[AC]を同期して開始し、送信放棄判断期間No−frame timer[other AC]を同期して中断または継続し、送信予約テーブル[AC]を同期して更新する。
【0278】
また、送信元(Tx)および無線装置(Ox)は、送信放棄判断期間No−frame timer[other AC]を同期して継続または開始し、送信予約テーブル[other AC]を同期して更新する。
【0279】
この場合、受信先(Rx)と、送信元(Tx)および無線装置(Ox)との間では、送信予約テーブル[other AC]の更新時が同期せず、送信放棄判断期間No−frame timer[other AC]の開始時が同期しないこともあるが、受信先(Rx)、送信元(Tx)および無線装置(Ox)は、全ての送信放棄判断期間No−frame timer[ALL AC]にパケットを検出しないとき、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始するので、全ての送信放棄判断期間No−frame timer[ALL AC]は、いずれ、同期する。
【0280】
更に、表1の第2行、第4行および第6行から次のことが分かる。送信元(Tx)は、データパケットDATAの送信後、パケット(ACK)の復号失敗時に送信放棄判断期間No−frame timer[AC]を開始し(第4行参照)、受信先(Rx)は、肯定応答パケットACKの送信完了時に送信放棄判断期間No−frame timer[AC]を開始し(第2行参照)、無線装置(Ox)は、パケット(ACK)の復号失敗時に送信放棄判断期間No−frame timer[AC]を開始する(第6行参照)。
【0281】
また、送信元(Tx)は、データパケットDATAの送信完了時、またはパケット(ACK)の復号失敗時に送信予約テーブル[AC]を更新し(第4行参照)、受信先(Rx)は、データパケットDATAの受信完了時に送信予約テーブル[AC]を更新し(第2行参照)、無線装置(Ox)は、パケット(ACK)の復号失敗時に送信予約テーブル[AC]を更新する(第6行参照)。
【0282】
更に、送信元(Tx)は、データパケットの送信開始時又はパケット(ACK)の受信開始時に送信放棄判断期間No−frame timer[other AC]を中断し(第4行の2−1参照)、受信先(Rx)は、データパケットDATAの受信開始時又は肯定応答パケットACKの送信開始時に送信放棄判断期間No−frame timer[other AC]を中断し(第2行の1−1参照)、無線装置(Ox)は、データパケットDATAの受信開始時に送信放棄判断期間No−frame timer[other AC]を中断する(第6行の3−1参照)。
【0283】
更に、受信先(Rx)は、データペットDATAの復号完了時に送信放棄判断期間No−frame timer[other AC]を継続し(第2行の1−2参照)、送信先(Tx)は、データパケットDATAの送信完了時に継続する(第4行の2−2参照)。
【0284】
更に、受信先(Rx)は、肯定応答パケットACKの送信完了時に送信放棄判断期間No−frame timer[other AC]を継続し(第2行の1−2参照)、送信元(Tx)は、パケット(ACK)の復号失敗時に送信放棄判断期間No−frame timer[other AC]を開始し(第4行の2−2参照)、無線装置(Ox)は、パケット(ACK)の復号失敗時に送信放棄判断期間No−frame timer[other AC]を開始する(第6行の3−2参照)。
【0285】
更に、受信先(Rx)は、送信予約テーブル[other AC]を更新せず(第2行参照)、送信元(Tx)および無線装置(Ox)は、パケット(ACK)の復号失敗時に送信予約テーブル[other AC]を更新する(第4行および第6行参照)。
【0286】
従って、パケット(ACK)の復号が失敗する場合、送信元(Tx)、受信先(Rx)および無線装置(Ox)は、送信放棄判断期間No−frame timer[AC]を同期して開始し、送信放棄判断期間No−frame timer[other AC]を同期して中断し、送信予約テーブル[AC]を同期して更新する。
【0287】
この場合、受信先(Rx)と、送信元(Tx)および無線装置(Ox)との間では、送信予約テーブル[other AC]の更新時が同期せず、送信放棄判断期間No−frame timer[other AC]の継続時および開始時が同期しないこともあるが、受信先(Rx)、送信元(Tx)および無線装置(Ox)は、全ての送信放棄判断期間No−frame timer[ALL AC]にパケットを検出しないとき、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始するので、全ての送信放棄判断期間No−frame timer[ALL AC]は、いずれ、同期する。
【0288】
肯定応答パケットが送信さない場合、送信放棄判断期間No−frame timer[AC]の開始時、送信予約テーブル[AC]の更新時、送信放棄判断期間No−frame timer[other AC]の中断時・継続時・開始時、および送信予約テーブル[other AC]の更新時を送信元(Tx)、受信先(Rx)および無線通信を傍受する無線装置(Ox)についてまとめると、表2のようになる。
【0289】
【表2】
【0290】
表2の第1行おとび第2行を参照して、送信元(Tx)は、データパケットDATAの送信後、肯定応答待機期間Wait for ACKの満了時に送信放棄判断期間No−frame timer[AC]を開始し(第1行参照)、無線装置(Ox)は、肯定応答送信期間ACK NAV timerの満了時に送信放棄判断期間No−frame timer[AC]を開始する(第2行参照)。
【0291】
また、送信元(Tx)は、データパケットDATAの送信完了時に送信予約テーブル[AC]を更新し(第1行参照)、無線装置(Ox)は、データパケットDATAの受信完了時に送信予約テーブル[AC]を更新する(第2行参照)。
【0292】
更に、送信元(Tx)は、データパケットDATAの送信開始時に送信放棄判断期間No−frame timer[other AC]を中断し(第1行参照)、無線装置(Ox)は、データパケットDATAの受信開始時に送信放棄判断期間No−frame timer[other AC]を中断する(第2行参照)。
【0293】
更に、送信元(Tx)は、データパケットDATAの送信完了時に送信放棄判断期間No−frame timer[other AC]を継続し(第1行参照)、無線装置(Ox)は、データパケットDATAの復号完了時に送信放棄判断期間No−frame timer[other AC]を継続する(第2行参照)。
【0294】
更に、送信元(Tx)および無線装置(Ox)は、送信予約テーブル[other AC]を更新しない(第1行および第2行参照)。
【0295】
従って、データパケットDATAの送信が成功する場合、送信放棄判断期間No−frame timer[AC]の開始時、送信予約テーブル[AC]の更新時、および送信放棄判断期間No−frame timer[AC]の中断時および継続時は、送信元(Tx)および無線装置(Ox)の間で同期する。
【0296】
表2の第3行および第4行を参照して、受信先(Rx)は、パケットの復号失敗時に送信放棄判断期間No−frame timer[AC]を開始し(第3行参照)、無線装置(Ox)は、パケットの復号失敗時に送信放棄判断期間No−frame timer[AC]を開始する(第4行参照)。
【0297】
また、受信先(Rx)は、パケットの復号失敗時に送信予約テーブル[AC]を更新し(第3行参照)、無線装置(Ox)は、パケットの復号失敗時に送信予約テーブル[AC]を更新する(第4行参照)。
【0298】
更に、受信先(Rx)は、パケットの受信開始時に送信放棄判断期間No−frame timer[other AC]を中断し(第3行参照)、無線装置(Ox)は、パケットの受信開始時に送信放棄判断期間No−frame timer[other AC]を中断する(第4行参照)。
【0299】
更に、受信先(Rx)は、パケットの復号失敗時に送信放棄判断期間No−frame timer[other AC]を継続し(第3行参照)、無線装置(Ox)は、パケットの復号失敗時に送信放棄判断期間No−frame timer[other AC]を継続する(第4行参照)。
【0300】
更に、受信先(Rx)および無線装置(Ox)は、パケットの復号失敗時に送信予約テーブル[other AC]を更新する(第3行および第4行参照)。
【0301】
従って、パケットの送信が失敗する場合、送信放棄判断期間No−frame timer[AC]の開始時、送信予約テーブル[AC]の更新時、送信放棄判断期間No−frame timer[AC]の中断時および継続時、および送信予約テーブル[other AC]の更新時は、受信先(Rx)および無線装置(Ox)の間で同期する。
【0302】
図22は、図1に示す無線ネットワーク10における通信動作を説明するための図である。また、図23は、送信元(Tx)、受信先(Rx)および無線装置(Ox)における送信予約テーブル21を示す図である。更に、図24は、送信元(Tx)における通信動作を説明するための図である。
【0303】
図22を参照して、無線装置7を送信元(Tx)とし、無線装置4を受信先(Rx)とし、無線装置1,2,3,5,6を無線通信を傍受する無線装置(Ox)とする。
【0304】
図23を参照して、無線装置1,2,3,5,6は、送信予約テーブル21−1(図23の(a)参照)を保持しており、無線装置4は、送信予約テーブル21−4(図23の(b)参照)を保持しており、無線装置7は、送信予約テーブル21−7(図23の(c)参照)を保持している。また、無線装置7は、送信キュー17にパケットPKT1を保持している(図24参照)。
【0305】
このような状況において、無線装置7(Tx)の通信モジュール221は、第2のモードでパケットを送信する場合、パケットPKT1が送信キュー17に存在し、かつ、カテゴリバッファ13が空であることを検知すると、パケットPKT1を送信キュー17から取り出し、その取り出したパケットPKT1をカテゴリバッファ13に格納する。
【0306】
そして、無線装置7(Tx)の通信モジュール221は、送信予約テーブル21−7の送信予約テーブル211を参照して、無線装置7(Tx)が1番目の送信順番を有すること(条件Cnd2を満たすこと)を検知すると、カテゴリバッファ13内のパケットPKT1をローカルバッファ12にコピーするとともに、カテゴリバッファ13のカテゴリバッファバックオフ時間CBOFFT_13を設定する。
【0307】
その後、無線装置7(Tx)の通信モジュール221は、カテゴリバッファバックオフ時間CBOFFT_13が経過すると、パケットPKT1をローカルバッファ12から取り出し、その取り出したパケットPKT1を送受信モジュール11へ出力する。また、無線装置7(Tx)の通信モジュール221は、送信完了通知をタイマーモジュール222およびテーブルモジュール223へ出力する。
【0308】
そうすると、無線装置7(Tx)の送受信モジュール11は、パケットPKT1をアンテナ(図示せず)を介して送信する。
【0309】
また、無線装置7(Tx)のタイマーモジュール222は、通信モジュール221からの送信完了通知に応じて、肯定応答待機期間Wait for ACKを開始するとともに、対象外カテゴリ[AC2]〜[AC4]に対応付けられた送信放棄判断期間No−frame timer[AC2]〜[AC4]を継続する。
【0310】
また、無線装置7(Tx)のテーブルモジュール223は、通信モジュール221からの送信完了通知に応じて、送信予約テーブル21−7(図23の(c)参照)の送信予約テーブル211の先頭のアドレスAdd7を削除し、送信予約テーブル211の最後部にアドレスAdd7を追加することによって対象カテゴリ[AC1]に対応付けられた送信予約テーブル211を更新する(図12参照)。
【0311】
その後、無線装置4(Rx)の送受信モジュール11は、パケットPKT1を受信し、その受信したパケットPKT1を通信モジュール221へ出力する。そして、無線装置4(Rx)の通信モジュール221は、パケットPKT1を送受信モジュール11から受け始めると、受信開始通知をタイマーモジュール222へ出力する。
【0312】
無線装置4(Rx)のタイマーモジュール222は、受信開始通知に応じて全ての送信放棄判断期間No−frame timer[ALL AC]を中断する(図14参照)。
【0313】
そして、無線装置4(Rx)の通信モジュール221は、パケットPKT1の受信後、パケットPKT1の復号を完了すると、復号完了通知をタイマーモジュール222およびテーブルモジュール223へ出力する。
【0314】
無線装置4(Rx)のタイマーモジュール222は、通信モジュール221からの復号完了通知に応じて、パケットPKT1が属する対象カテゴリ[AC1]に対応付けられた送信放棄判断期間No−frame timer[AC1]をキャンセルするとともに、対象外カテゴリ[AC2]〜[AC4]に対応付けられた送信放棄判断期間No−frame timer[AC2]〜No−frame timer[AC4]を継続する。
【0315】
また、無線装置4(Rx)のテーブルモジュール223は、通信モジュール221からの復号完了通知に応じて、送信予約テーブル21−4の送信予約テーブル211の先頭のアドレスAdd7を削除し、送信予約テーブル211の最後部にアドレスAdd7を追加することによって対象カテゴリ[AC1]に対応付けられた送信予約テーブル211を更新する(図14参照)。
【0316】
その後、無線装置4(Rx)の通信モジュール221は、肯定応答パケットACKを生成し、その生成した肯定応答パケットACKをローカルバッファ12を介して送受信モジュール11へ出力するとともに、送信開始通知を生成してタイマーモジュール222へ出力する。そして、無線装置4(Rx)のタイマーモジュール222は、送信開始通知に応じて、送信放棄判断期間No−frame timer[AC2]〜No−frame timer[AC4]を中断する。また、無線装置4(Rx)の送受信モジュール11は、肯定応答パケットACKを送信する。そして、無線装置4(Rx)の送受信モジュール11は、肯定応答パケットACKの送信を完了すると、送信完了通知を通信モジュール221へ出力し、通信モジュール221は、送受信モジュール11からの送信完了通知をタイマーモジュール222へ出力する。
【0317】
無線装置4(Rx)のタイマーモジュール222は、送信完了通知に応じて、送信放棄判断期間No−frame timer[AC1]を新たに開始するとともに、送信放棄判断期間No−frame timer[AC2]〜No−frame timer[AC4]を継続する。
【0318】
無線装置1,2,3,5,6(Ox)の各々において、送受信モジュール11は、パケットPKT1を受信し、その受信したパケットPKT1を通信モジュール221へ出力する。そして、無線装置1,2,3,5,6(Ox)の通信モジュール221は、パケットPKT1を送受信モジュール11から受け始めると、受信開始通知をタイマーモジュール222へ出力する。
【0319】
無線装置1,2,3,5,6(Ox)のタイマーモジュール222は、受信開始通知に応じて全ての送信放棄判断期間No−frame timer[ALL AC]を中断する(図15参照)。
【0320】
そして、無線装置1,2,3,5,6(Ox)の通信モジュール221は、パケットPKT1の受信後、パケットPKT1の復号を完了すると、復号完了通知をタイマーモジュール222およびテーブルモジュール223へ出力する。
【0321】
無線装置1,2,3,5,6(Ox)のタイマーモジュール222は、通信モジュール221からの復号完了通知に応じて、パケットPKT1が属する対象カテゴリ[AC1]に対応付けられた送信放棄判断期間No−frame timer[AC1]をキャンセルするとともに、対象外カテゴリ[AC2]〜[AC4]に対応付けられた送信放棄判断期間No−frame timer[AC2]〜No−frame timer[AC4]を継続する(図15参照)。
【0322】
また、無線装置1,2,3,5,6(Ox)のタイマーモジュール222は、復号完了通知に応じて、肯定応答送信期間ACK NAV timerを開始する。
【0323】
更に、無線装置1,2,3,5,6(Ox)のテーブルモジュール223は、通信モジュール221からの復号完了通知に応じて、送信予約テーブル21−1(図23の(a)参照)の送信予約テーブル211の先頭のアドレスAdd7を削除し、送信予約テーブル211の最後部にアドレスAdd7を追加することによって対象カテゴリ[AC1]に対応付けられた送信予約テーブル211を更新する(図15参照)。
【0324】
その後、無線装置1,2,3,5,6(Ox)の通信モジュール221は、肯定応答パケットACKの受信を開始すると、受信開始通知をタイマーモジュール222へ出力し、タイマーモジュール222は、受信開始通知に応じて、肯定応答送信期間ACK NAV timerをキャンセルするとともに、送信放棄判断期間No−frame timer[AC2]〜No−frame timer[AC4]を中断する(図15参照)。
【0325】
そして、無線装置1,2,3,5,6(Ox)の通信モジュール221は、肯定応答パケットACKの復号を完了すると、復号完了通知を生成してタイマーモジュール222へ出力する。
【0326】
無線装置1,2,3,5,6(Ox)のタイマーモジュール222は、復号完了通知に応じて、対象カテゴリ[AC1]に対応付けられた送信放棄判断期間No−frame timer[AC]を新たに開始するとともに、送信放棄判断期間No−frame timer[AC2]〜No−frame timer[AC4]を継続する(図15参照)。
【0327】
一方、無線装置7(Tx)の通信モジュール221は、肯定応答パケットACKの受信を開始すると、受信開始通知をタイマーモジュール222へ出力する。そして、無線装置7(Tx)のタイマーモジュール222は、受信開始通知に応じて、肯定応答待機期間Wait for ACKをキャンセルするとともに、対象外カテゴリ[AC2]〜[AC4]に対応付けられた送信放棄判断期間No−frame timer[AC2]〜No−frame timer[AC4]を中断する(図12参照)。
【0328】
その後、無線装置7(Tx)の通信モジュール221は、肯定応答パケットACKの復号を完了すると、復号完了通知を生成してタイマーモジュール222へ出力する。
【0329】
無線装置7(Tx)のタイマーモジュール222は、復号完了通知に応じて、対象カテゴリ[AC1]に対応付けられた送信放棄判断期間No−frame timer[AC1]を新たに開始するとともに、送信放棄判断期間No−frame timer[AC2]〜No−frame timer[AC4]を継続する(図12参照)。
【0330】
このように、無線装置7(Tx)は、対象カテゴリ[AC1]に対応付けられた送信予約テーブル211(図23の(a)参照)の先頭に自己のアドレスAdd7が登録されており、かつ、対象カテゴリ[AC1]に対応付けられた送信キュー17にパケットPKT1が存在する場合、パケットPKT1を送信し、他の無線装置1〜6は、パケットを送信しない。
【0331】
その結果、パケットを送信する無線装置は、無線装置7(Tx)だけに限定される。従って、パケットの衝突を減少できる。
【0332】
また、無線装置7(Tx)は、対象カテゴリ[AC1]に対応付けられた送信キュー17にパケットPKT1が存在しない場合、パケットを送信しない。
【0333】
その結果、他の無線装置1〜6は、対象カテゴリ[AC1]に対応付けられた送信放棄判断期間No−frame timer[AC1]が満了すると、無線装置7(Tx)がパケットの送信処理を放棄したと判断し、対象カテゴリ[AC1]に対応付けられた送信予約テーブル211(図23の(a),(b)参照)の先頭のアドレスAdd7を削除して送信予約テーブル211(図23の(a),(b)参照)を更新する。そして、無線装置1は、次のスロットにおいて対象カテゴリ[AC1]に属するパケットを送信する機会を取得し、上述した無線装置7と同じ動作によってパケットを送信する。
【0334】
従って、通信帯域を効率的に利用できる。
【0335】
更に、無線装置7(Tx)は、パケットPKT1の送信完了後にパケットの受信を開始し、その受信したパケットの復号に失敗したとき、対象カテゴリ[AC1]に対応付けられた送信放棄判断期間No−frame timer[AC1]を新たに開始するとともに、対象カテゴリ[AC1]に対応付けられた送信予約テーブル211(図23の(c)参照)を更新する(図13参照)。
【0336】
また、無線装置1,2,3,5,6(Ox)は、パケットPKT1の復号完了後にパケットの受信を開始し、その受信したパケットの復号に失敗したとき、対象カテゴリ[AC1]に対応付けられた送信放棄判断期間No−frame timer[AC1]を新たに開始するとともに、対象カテゴリ[AC1]に対応付けられた送信予約テーブル211(図23の(a)参照)を更新する(図16参照)。
【0337】
その結果、無線装置1は、次のスロットにおいて対象カテゴリ[AC1]に属するパケットを送信する機会を取得し、上述した無線装置7と同じ動作によってパケットを送信する。
【0338】
従って、通信帯域を効率的に利用できる。
【0339】
更に、無線装置1,2,3,5,6(Ox)は、パケット(データパケット)またはパケット(肯定応答パケットACK)の復号に失敗すると、全ての送信放棄判断期間No−frame timer[ALL AC]をキャンセルし、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始する。また、無線装置1,2,3,5,6(Ox)は、全ての送信予約テーブル21−1,21−4,21−7の各々において、送信予約テーブル211〜214の先頭のアドレスを削除して送信予約テーブル211〜214を更新する(図17参照)。
【0340】
その結果、無線装置1,3,5,7は、次のスロットにおいて、それぞれ、対象カテゴリ[AC1]〜[AC4]に属するパケットを送信する機会を取得し、上述した無線装置7と同じ動作によってパケットを送信する。
【0341】
従って、通信帯域を効率的に利用できる。
【0342】
上記においては、アクセスカテゴリ[AC1]に属するパケットを送信する場合について説明したが、アクセスカテゴリ[AC2]〜[AC4]に属するパケットを送信する場合も、各無線装置は、上述した方法によって、パケットの送信処理を行い、またはパケットの受信処理を行ない、またはパケットを傍受したときの処理を行なう。
【0343】
図25は、複数のアクセスカテゴリに属するパケットを送信する場合の動作を説明するための図である。なお、図25においては、第2のモードでパケットを送信する動作を説明する。
【0344】
図25を参照して、無線装置1の送信キュー17〜20は、それぞれ、パケットPKT1〜PKT4を保持する。そして、無線装置1のアドレスAdd1が無線装置1の送信予約テーブル211〜214の先頭に登録されている。また、カテゴリバッファ13〜16は、それぞれ、カテゴリバッファバックオフ時間CBOFFT_13〜CBOFFT_16(CBOFFT_13>CBOFFT_14>CBOFFT_15>CBOFFT_16)が付与されている。
【0345】
無線装置1のMACモジュール22(=通信モジュール221)は、上述した方法によって、パケットPKT1〜PKT4の全てを送信可能なパケットと判定すると、送信キュー17〜20からそれぞれパケットPKT1〜PKT4を取り出し、その取り出したパケットPKT1〜PKT4をそれぞれカテゴリバッファ13〜16に格納する。
【0346】
そして、無線装置1のMACモジュール22(=通信モジュール221)は、カテゴリバッファ13〜16のうち、最も短いカテゴリバッファバックオフ時間CBOFFT_16が付与されたカテゴリバッファ16に格納されたパケットPKT4をカテゴリバッファ16から取り出し、その取り出したパケットPKT4をローカルバッファ12にコピーし、カテゴリバッファバックオフ時間CBOFFT_16を設定する。
【0347】
その後、無線装置1のMACモジュール22(=通信モジュール221)は、カテゴリバッファバックオフ時間CBOFFT_16が経過すると、パケットPKT4をローカルバッファ12から取り出し、その取り出したパケットPKT4を送受信モジュール11へ出力する。また、無線装置1のMACモジュール22(=通信モジュール221)は、送信完了通知を生成してタイマーモジュール222へ出力し、タイマーモジュール222は、送信完了通知に応じて、肯定応答待機期間Wait for ACKを設定する。
【0348】
そして、無線装置1の送受信モジュール11は、パケットPKT4をアンテナ(図示せず)を介して送信する。
【0349】
その後、無線装置1のMACモジュール22(=通信モジュール221)は、肯定応答待機期間Wait for ACKの満了前に、肯定応答パケットACKを受信先の無線装置から受信し、その受信した肯定応答パケットACKの復号を完了すると、復号完了通知をテーブルモジュール223へ出力するとともに、ローカルバッファ12およびカテゴリバッファ16に格納されたパケットPKT4を破棄する。そして、無線装置1のテーブルモジュール223は、復号完了通知に応じて、アクセスカテゴリ[AC4]に対応付けられた送信予約テーブル214の先頭からアドレスAdd1を削除し、アドレスAdd1を送信予約テーブル214の最後部に登録する。
【0350】
一方、無線装置1のMACモジュール22(=通信モジュール221)は、肯定応答待機期間Wait for ACKの満了前に、肯定応答パケットACKを受信先の無線装置から受信しなかった場合において、パケットPKT4の再送が設定されており、かつ、再送回数が最大再送回数に達していないとき、ローカルバッファ12に格納されたパケットPKT4のみを破棄し、カテゴリバッファ16に格納されたパケットPKT4を再送のために保持する。そして、無線装置1のMACモジュール22(=通信モジュール221)は、肯定応答待機期間Wait for ACKの満了時に、満了通知をテーブルモジュール223へ出力し、テーブルモジュール223は、満了通知に応じて、アクセスカテゴリ[AC4]に対応付けられた送信予約テーブル214の先頭からアドレスAdd1を削除し、アドレスAdd1を送信予約テーブル214の最後部に登録する。その結果、無線装置1のMACモジュール22(=通信モジュール221)は、カテゴリバッファ16に保持されたパケットPKT4を無線装置1の次回の送信時に上述した方法によって送信する。
【0351】
無線装置1のMACモジュール22(=通信モジュール221)は、カテゴリバッファ16に格納されたパケットPKT4の送信を完了すると、2番目に短いカテゴリバッファバックオフ時間CBOFFT_15が付与されたカテゴリバッファ15に格納されたパケットPKT3をカテゴリバッファ15から取り出し、その取り出したパケットPKT3をローカルバッファ12にコピーし、カテゴリバッファバックオフ時間(=CBOFFT_15−CBOFFT_16)を設定する。
【0352】
そして、無線装置1のMACモジュール22(=通信モジュール221)は、カテゴリバッファバックオフ時間(=CBOFFT_15−CBOFFT_16)が経過すると、パケットPKT3をローカルバッファ12から取り出し、その取り出したパケットPKT3を送受信モジュール11へ出力する。
【0353】
無線装置1は、それ以外、上述した動作と同じ動作を行なう。
【0354】
その後、無線装置1は、上述した動作と同じ動作を行ない、カテゴリバッファバックオフ時間の短い順にパケットPKT2,PKT1を順次送信する。
【0355】
なお、パケットPKT2を送信するときに設定されたカテゴリバッファバックオフ時間は、CBOFFT_14−(CBOFFT_15+CBOFFT_16)であり、パケットPKT1を送信するときに設定されたカテゴリバッファバックオフ時間は、CBOFFT_13−(CBOFFT_14+CBOFFT_15+CBOFFT_16)である。
【0356】
このように、無線装置1は、複数のアクセスカテゴリ[AC1]〜[AC4]に属するパケットが送信可能である場合、カテゴリバッファバックオフ時間の短い順にパケットPKT4,PKT3,PKT2,PKT1を順次送信する。
【0357】
また、無線装置1は、アクセスカテゴリ[AC1]〜[AC4]のうち、2個または3個のアクセスカテゴリに属する複数のパケットが送信可能である場合も、上述した方法によってカテゴリバッファバックオフ時間の短い順に複数のパケットを順次送信する。
【0358】
無線装置2〜7の各々も、無線装置1と同じ方法によって、複数のアクセスカテゴリ[AC1]〜[AC4]に属するパケットをカテゴリバッファバックオフ時間の短い順に送信する。
【0359】
なお、複数の無線装置が異なるアクセスカテゴリに属するパケットを同じスロットにおいて送信する場合もあるが、アクセスカテゴリ[AC1]〜[AC4]に付与されたカテゴリバッファバックオフ時間は、相互に異なるので、アクセスカテゴリ[AC1]〜[AC4]に属する4個のパケットは、相互に異なるタイミングで送信される。
【0360】
例えば、無線装置1,3,5,7がそれぞれアクセスカテゴリ[AC1]〜[AC4]に属するパケットPKT1〜PKT4を送信する場合を想定する。
【0361】
この場合、カテゴリバッファバックオフ時間CBOFFT_13〜CBOFFT_16は、CBOFFT_13>CBOFFT_14>CBOFFT_15>CBOFFT_16の関係を有する。その結果、無線装置7は、パケットPKT4を最も早く送信し、無線装置5は、パケットPKT3を2番目に送信し、無線装置3は、パケットPKT2を3番目に送信し、無線装置1は、パケットPKT1を最も遅く送信する。
【0362】
従って、パケットPKT1〜PKT4が相互に衝突する可能性を低減できる。
【0363】
上述したように、実施の形態1によれば、各無線装置1〜7は、第2のモードでパケットを送信する場合、アクセスカテゴリ[AC1]〜[AC4]にそれぞれ対応付けられた送信予約テーブル211〜214に従ってアクセスカテゴリ[AC1]〜[AC4]に属するパケットを送信するので、同時にパケットを送信する無線装置の個数は、4個の送信予約テーブル211〜214の先頭に格納された4個の無線装置の個数と、4個の送信予約テーブル211〜214に登録されていない無線装置の個数との和に限定される。
【0364】
従って、パケットを同時に送信する無線装置の個数を一定数以下に低減できる。
【0365】
また、実施の形態1によれば、各無線装置1〜7は、アクセスカテゴリ[AC1]〜[AC4]にそれぞれ対応付けられた送信放棄判断期間No−frame timer[AC1]〜No−frame timer[AC4]が満了するまでにパケットを受信しなかった場合、送信予約テーブル211〜214の先頭のアドレスを削除する。
【0366】
その結果、送信予約テーブル211〜214の削除されたアドレスの次に登録されたアドレスを有する無線装置がパケットを送信する機会を取得し、次のスロットにおいてパケットを送信する。
【0367】
従って、通信帯域を効率的に利用できる。
【0368】
[実施の形態2]
図26は、図1に示す無線装置1〜7の実施の形態2における構成を示す概略ブロック図である。実施の形態2においては、無線装置1〜7の各々は、図26に示す無線装置1Aからなる。
【0369】
図26を参照して、無線装置1Aは、図2に示す無線装置1のローカルバッファ12、カテゴリバッファ13〜16、送信キュー17〜20、送信予約テーブル21およびMACモジュール22をそれぞれローカルバッファ120、カテゴリバッファ121〜124、送信キュー125〜128、送信予約テーブル129およびLLC(Logical Link Control)モジュール130に代え、ローカルバッファ110、カテゴリバッファ111〜114、送信キュー115〜118およびMACモジュール119を追加したものであり、その他は、無線装置1と同じである。
【0370】
ローカルバッファ110は、MAC層に属する。そして、ローカルバッファ110は、カテゴリバッファ111〜114のいずれかまたはMACモジュール119からのパケットを受け、その受けたパケットを一時的に保持する。
【0371】
カテゴリバッファ111〜114は、MAC層に属し、それぞれ、アクセスカテゴリAC1〜AC4に対応して設けられる。そして、カテゴリバッファ111〜114は、それぞれ、送信キュー115〜118からのパケットを受け、その受けたパケットを一時的に保持する。
【0372】
また、カテゴリバッファ111〜114は、優先度に応じたカテゴリバッファバックオフ時間が予め設定されている。即ち、カテゴリバッファ111は、最も長いカテゴリバッファバックオフ時間が設定されており、カテゴリバッファ112は、2番目に長いカテゴリバッファバックオフ時間が設定されており、カテゴリバッファ113は、3番目に長いカテゴリバッファバックオフ時間が設定されており、カテゴリバッファ114は、最も短いカテゴリバッファバックオフ時間が設定されている。
【0373】
送信キュー115〜118は、MAC層に属し、それぞれ、カテゴリバッファ111〜114に対応して設けられる。即ち、送信キュー115〜118は、それぞれ、アクセスカテゴリAC1〜AC4に対応して設けられる。
【0374】
そして、送信キュー115〜118は、それぞれ、アクセスカテゴリAC1〜AC4に属するパケットをローカルバッファ120から受け、その受けたパケットを一時的に保持する。
【0375】
MACモジュール119は、ローカルバッファ120からパケットを取り出し、その取り出したパケットを送信キュー115〜118のいずれかに格納する。より具体的には、MACモジュール119は、ローカルバッファ120から取り出したパケットに含まれるアクセスカテゴリ情報に基づいて、パケットが属するアクセスカテゴリ(アクセスカテゴリAC1〜AC4のいずれか)を識別し、その識別したアクセスカテゴリに対応付けられた送信キュー(送信キュー115〜118のいずれか)にパケットを格納する。
【0376】
また、MACモジュール119は、送信キュー115〜118からパケットを取り出し、その取り出したパケットをそれぞれカテゴリバッファ111〜114に格納する。
【0377】
更に、MACモジュール119は、パケットがカテゴリバッファ111〜114のいずれかに格納されており、ローカルバッファ110が空であるとき、カテゴリバッファ111〜114のいずれかからパケットを取り出し、その取り出したパケットをローカルバッファ110にコピーするとともに、該当のカテゴリバッファに設定されたカテゴリバッファバックオフ時間を設定する。
【0378】
そして、MACモジュール119は、その設定したカテゴリバッファバックオフ時間が経過すると、ローカルバッファ110からパケットを取り出し、その取り出したパケットを送受信モジュール11へ出力する。
【0379】
更に、MACモジュール119は、送受信モジュール11からパケットを受け、その受けたパケットを復号する。そして、MACモジュール119は、パケットの送信開始通知、パケットの送信完了通知、パケットの受信開始通知、パケットの受信完了通知、パケットの復号完了通知、およびパケットの復号失敗通知のいずれかを生成してLLCモジュール130へ出力する。また、MACモジュール119は、その復号したパケットがデータパケットDATAであるとき、その復号したデータパケットDATAをIPモジュール23へ出力するとともに、肯定応答パケットACKを生成し、その生成した肯定応答パケットACKをローカルバッファ110を介して送受信モジュール11へ出力する。
【0380】
更に、MACモジュール119は、送受信モジュール11から受けたキャリアセンスの結果をLLCモジュール130へ出力する。
【0381】
ローカルバッファ120は、LLC層に属する。そして、ローカルバッファ120は、カテゴリバッファ121〜124のいずれかからのパケットを受け、その受けたパケットを一時的に保持する。
【0382】
カテゴリバッファ121〜124は、LLC層に属し、それぞれ、アクセスカテゴリAC1〜AC4に対応して設けられる。そして、カテゴリバッファ121〜124は、それぞれ、送信キュー125〜128からのパケットを受け、その受けたパケットを一時的に保持する。
【0383】
また、カテゴリバッファ121〜124は、優先度に応じた仮想カテゴリバッファバックオフ時間が予め設定されている。即ち、カテゴリバッファ121は、最も長い仮想カテゴリバッファバックオフ時間が設定されており、カテゴリバッファ122は、2番目に長い仮想カテゴリバッファバックオフ時間が設定されており、カテゴリバッファ123は、3番目に長い仮想カテゴリバッファバックオフ時間が設定されており、カテゴリバッファ124は、最も短い仮想カテゴリバッファバックオフ時間が設定されている。
【0384】
送信キュー125〜128は、LLC層に属し、それぞれ、カテゴリバッファ121〜124に対応して設けられる。即ち、送信キュー125〜128は、それぞれ、アクセスカテゴリAC1〜AC4に対応して設けられる。
【0385】
そして、送信キュー125〜128は、それぞれ、アクセスカテゴリAC1〜AC4に属するパケットをIPモジュール23から受け、その受けたパケットを一時的に保持する。
【0386】
送信予約テーブル129は、LLC層に属し、4個の送信予約テーブル1291〜1294からなる。送信予約テーブル1291〜1294は、それぞれ、アクセスカテゴリAC1〜AC4に対応して設けられる。そして、送信予約テーブル1291〜1294は、それぞれ、アクセスカテゴリAC1〜AC4に属するパケットを送信するときの送信順番を示す。より具体的には、送信予約テーブル1291〜1294は、それぞれ、アクセスカテゴリAC1〜AC4に属するパケットを送信する無線装置のIDを送信順に格納する。即ち、送信予約テーブル1291〜1294の各々は、上述した送信予約テーブル211〜214と同じ構成からなる。
【0387】
LLCモジュール130は、LLC層に属する。そして、LLCモジュール130は、MACモジュール22と同じ方法によって送信予約テーブル1291〜1294を作成するとともに、送信予約テーブル1291〜1294を更新する。
【0388】
また、LLCモジュール130は、IPモジュール23からのパケットを受ける。そして、LLCモジュール130は、その受けたパケットのQoSフィールドに含まれるアクセスカテゴリ情報を参照して、パケットのアクセスカテゴリ(AC1〜AC4のいずれか)を識別する。そうすると、LLCモジュール130は、その識別したアクセスカテゴリに対応付けられた送信キュー(送信キュー125〜128のいずれか)にパケットを格納する。
【0389】
更に、LLCモジュール130は、MACモジュール22と同じ方法によって、送信キュー125〜128に格納された各パケットの送信処理を行なう。この場合、LLCモジュール130は、カテゴリバッファ121〜124からパケットを取り出し、その取り出したパケットをローカルバッファ120にコピーし、カテゴリバッファ121〜124に付与された仮想カテゴリバッファバックオフ時間を設定する。
【0390】
更に、LLCモジュール130は、MACモジュール119を監視し、その監視結果に応じて、アクセスカテゴリAC1〜AC4に対応付けられた送信放棄判断期間No−frame timer[AC1]〜No−frame timer[AC4]を管理する。即ち、LLCモジュール130は、MACモジュール119から受けた受信開始通知、受信完了通知、送信開始通知、送信完了通知、復号完了通知および復号失敗通知に基づいて、送信放棄判断期間No−frame timer[AC1]〜No−frame timer[AC4]を継続または開始する。
【0391】
更に、LLCモジュール130は、データパケットが送信されると、MACモジュール22と同じ方法によって、肯定応答待機期間Wait for ACKおよび肯定応答送信期間ACK NAV timerを設定する。
【0392】
なお、無線装置1Aにおいては、送受信モジュール11は、キャリアセンスの結果をMACモジュール119へ出力する。
【0393】
また、送受信モジュール11は、ローカルバッファ110またはMACモジュール119からパケットを受け、その受けたパケットをアンテナ(図示せず)を介して送信する。
【0394】
更に、送受信モジュール11は、アンテナ(図示せず)を介してパケットを受信し、その受信したパケットをMACモジュール119へ出力する。
【0395】
図27は、図26に示すLLCモジュール130の機能を示す機能ブロック図である。図27を参照して、LLCモジュール130は、通信モジュール1301と、タイマーモジュール1302と、テーブルモジュール1303とを含む。
【0396】
通信モジュール1301は、MACモジュール119からの送信開始通知、送信完了通知、受信開始通知、受信完了通知、復号完了通知および復号失敗通知を受け、その受けた送信開始通知、送信完了通知、受信開始通知、受信完了通知、復号完了通知および復号失敗通知をタイマーモジュール1302へ出力する。
【0397】
また、通信モジュール1301は、復号完了通知および復号失敗通知をテーブルモジュール1303へ出力する。
【0398】
更に、通信モジュール1301は、タイマーモジュール1302によって設定された肯定応答待機期間または肯定応答送信期間が満了すると、満了通知をテーブルモジュール1303へ出力する。
【0399】
更に、通信モジュール1301は、通信モジュール221と同様にしてデータパケットの送信処理を行なう。
【0400】
タイマーモジュール1302およびテーブルモジュール1303は、それぞれ、上述したタイマーモジュール222およびテーブルモジュール223と同じ機能を果たす。
【0401】
図28は、LLCモジュール130によるMACモジュール119の監視の概念図である。
【0402】
図28を参照して、LLCモジュール130の通信モジュール1301は、データパケットDATAをローカルバッファ120から取り出してMACモジュール119へ出力した後、肯定応答パケットACKの待ち状態に入る。そして、LLCモジュール130の通信モジュール1301は、MACモジュール119が肯定応答パケットACKの復号完了および肯定応答待機期間Wait for ACKの満了を定期的に検出する。
【0403】
なお、定期的とは、例えば、1スロットごとであり、1スロットは、例えば、9μsecである。
【0404】
LLCモジュール130の通信モジュール1301は、MACモジュール119が肯定応答パケットACKを受信できる場合、肯定応答パケットACKの復号完了通知をMACモジュール119から受けることによって、MACモジュール119が肯定応答パケットACKの受信を完了したことを検知する。
【0405】
一方、LLCモジュール130の通信モジュール1301は、MACモジュール119が肯定応答パケットACKを受信できない場合、タイマーモジュール1302が設定した肯定応答待機期間Wait for ACKの満了を検知することによって、MACモジュール119が肯定応答パケットACKを受信できなかったことを検知する。
【0406】
同様にして、LLCモジュール130の通信モジュール1301は、MACモジュール119によるパケットの受信開始およびパケットの受信完了を検知する。
【0407】
このように、LLCモジュール130の通信モジュール1301は、MACモジュール119を監視する。
【0408】
図29は、無線装置1Aにおけるデータパケットの送信動作を説明するための図である。なお、図29においては、第2のモードでパケットを送信する場合におけるデータパケットの送信動作を説明する。
【0409】
図29を参照して、無線装置1AのLLCモジュール130(=通信モジュール1301)は、IPモジュール23からデータパケットPKT1を受けると、その受けたデータパケットPKT1が属するアクセスカテゴリAC1を識別する。
【0410】
そして、無線装置1AのLLCモジュール130(=通信モジュール1301)は、その識別したアクセスカテゴリAC1に対応付けられた送信キュー125にデータパケットPKT1を格納する。
【0411】
そして、無線装置1AのLLCモジュール130(=通信モジュール1301)は、送信キュー125に対応するカテゴリバッファ121が空であり、データパケットPKT1が送信キュー125に格納されている場合、送信キュー125の先頭のデータパケットPKT1を送信キュー125から取り出し、その取り出したデータパケットPKT1をカテゴリバッファ121に格納する。
【0412】
その後、無線装置1AのLLCモジュール130(=通信モジュール1301)は、送信予約テーブル1291を参照して、上述した条件Cnd1,Cnd2のいずれかを満たすか否かを判定することによってデータパケットPKT1が送信可能であるか否かを判定する。
【0413】
無線装置1AのLLCモジュール130(=通信モジュール1301)は、送信予約テーブル1291を参照して、カテゴリバッファ121に格納されたデータパケットPKT1が条件Cnd1,Cnd2のいずれかを満たす場合、カテゴリバッファ121に格納されたデータパケットPKT1が送信可能であると判定する。
【0414】
そして、無線装置1AのLLCモジュール130(=通信モジュール1301)は、カテゴリバッファ121に格納されたデータパケットPKT1をローカルバッファ120にコピーするとともに、カテゴリバッファ121に設定された仮想カテゴリバッファバックオフ時間をタイマー(通信モジュール1301に内蔵されている)によって計測する。
【0415】
無線装置1AのLLCモジュール130(=通信モジュール1301)は、仮想カテゴリバッファバックオフ時間が満了すると、データパケットPKT1をローカルバッファ120から取り出し、その取り出したデータパケットPKT1をMACモジュール119へ出力する。
【0416】
無線装置1AのMACモジュール119は、データパケットPKT1を受け、その受けたデータパケットPKT1に含まれるアクセスカテゴリ情報に基づいて、データパケットPKT1が属するアクセスカテゴリAC1を識別する。そして、無線装置1AのMACモジュール119は、その識別したアクセスカテゴリAC1に対応付けられた送信キュー115にデータパケットPKT1を格納する。
【0417】
その後、無線装置1AのMACモジュール119は、データパケットPKT1を送信キュー115から取り出し、その取り出したデータパケットPKT1をカテゴリバッファ111に格納する。
【0418】
そして、無線装置1AのMACモジュール119は、ローカルバッファ110が空であるとき、カテゴリバッファ111に格納されたデータパケットPKT1をローカルバッファ110にコピーするとともに、カテゴリバッファ111に付与されたカテゴリバッファバックオフ時間を開始する。
【0419】
その後、無線装置1AのMACモジュール119は、カテゴリバッファバックオフ時間が経過すると、データパケットPKT1をローカルバッファ110から取り出し、その取り出したデータパケットPKT1を送受信モジュール11へ出力する。
【0420】
また、無線装置1AのMACモジュール119は、それと同時に、肯定応答待機期間をタイマーにセットする。
【0421】
そして、無線装置1Aの送受信モジュール11は、データパケットPKT1をアンテナ(図示せず)を介して送信する。
【0422】
その後、無線装置1Aの送受信モジュール11は、データパケットPKT1に対する肯定応答パケットACK1をデータパケットPKT1の受信先から受信し、その受信した肯定応答パケットACK1をMACモジュール119へ出力する。
【0423】
そして、無線装置1AのMACモジュール119は、肯定応答パケットを送受信モジュール11から受け、その受けた肯定応答パケットACK1の復号を実行する。
【0424】
無線装置1AのMACモジュール119は、肯定応答パケットACK1の復号に成功すると、データパケットPKT1の送信が完了したと判断し、データパケットPKT1の送信完了通知をLLCモジュール130(=通信モジュール1301)へ出力する。
【0425】
無線装置1AのLLCモジュール130(=テーブルモジュール1303)は、送信完了通知に応じて、送信予約テーブル1291を更新する。
【0426】
この場合、無線装置1AのLLCモジュール130(=テーブルモジュール1303)は、送信予約テーブル1291が送信予約テーブル211J(図8の(a)参照)からなる場合、無線装置1AのアドレスAdd1Aを送信予約テーブル211Jの最後部に登録する。
【0427】
また、無線装置1AのLLCモジュール130(=テーブルモジュール1303)は、送信予約テーブル1291が送信予約テーブル211K(図8の(b)参照)からなる場合、送信予約テーブル211Kの先頭に登録されたアドレスAdd1(=Add1A)を削除し、無線装置1AのアドレスAdd1(=Add1A)を送信予約テーブル211Kの最後部に登録する。
【0428】
そして、無線装置1AのLLCモジュール130(=通信モジュール1301)は、肯定応答待機期間が満了する前に、MACモジュール119が肯定応答パケットACK1の復号を完了した場合、ローカルバッファ120およびカテゴリバッファ121の両方に格納されたデータパケットPKT1を破棄する。
【0429】
一方、無線装置1AのLLCモジュール130(=通信モジュール1301)は、肯定応答待機期間が満了する前に、MACモジュール119が肯定応答パケットACK1を受信しなかった場合、再送設定がされており、かつ、再送回数が最大再送回数に達していないことを条件に、ローカルバッファ120に格納されたデータパケットのみを破棄し、カテゴリバッファ121に格納されたデータパケットPKT1をそのまま保持する。このように、無線装置1Aにおいては、LLCモジュール130がデータパケットPKT1の再送を行ない、MACモジュール119がデータパケットPKT1の再送を行なうことはない。
【0430】
なお、複数のアクセスカテゴリに属するデータパケットが送信可能であると判定されたとき、無線装置1AのLLCモジュール130(=通信モジュール1301)は、仮想カテゴリバッファバックオフ時間の短い順にカテゴリバッファ121〜124内のデータパケットをローカルバッファ120にコピーし、該当のカテゴリバッファに設定された仮想カテゴリバッファバックオフ時間を開始する。
【0431】
この場合、上述したように、カテゴリバッファ121は、最も長い仮想カテゴリバッファバックオフ時間が設定されており、カテゴリバッファ122は、2番目に長い仮想カテゴリバッファバックオフ時間が設定されており、カテゴリバッファ123は、3番目に長い仮想カテゴリバッファバックオフ時間が設定されており、カテゴリバッファ124は、最も短い仮想カテゴリバッファバックオフ時間が設定されているので、データパケットは、優先度の順(即ち、アクセスカテゴリAC4〜AC1の順)に送信される。
【0432】
なお、LLCモジュール130(=通信モジュール1301)は、第1のモードでパケットを送信する場合、上述したMACモジュール22(=通信モジュール221)と同じ方法によってパケットを送信する。
【0433】
肯定応答パケットACKを受信できる場合の送信放棄判断期間の管理および送信予約テーブルの更新について説明する。
【0434】
図30は、送信元の無線装置における肯定応答パケットの復号完了時の処理を示す図である。なお、図30においては、無線装置1(=1A)を送信元の無線装置(Tx)とする。
【0435】
図30を参照して、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301がデータパケットDATAをローカルバッファ120からMACモジュール119へ出力すると、データパケットDATAが属する対象カテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]をキャンセルする。
【0436】
そして、無線装置1(=1A)の通信モジュール1301は、データパケットDATAの送信開始通知およびデータパケットDATAの送信完了通知をMACモジュール119から受け、その受けた送信開始通知および送信完了通知をタイマーモジュール1302へ出力する。
【0437】
無線装置1(=1A)のタイマーモジュール1302は、送信開始通知を受けた時刻から送信完了通知を受けた時刻までの時間DATA durationを計測する。
【0438】
無線装置1(=1A)のMACモジュール119は、データパケットDATAの送信を完了すると、肯定応答待機期間Wait for ACKを開始する。
【0439】
また、無線装置1(=1A)のMACモジュール119は、データパケットDATAの送信を完了すると、送信完了通知を通信モジュール1301へ出力し、通信モジュール1301は、MACモジュール119から受けた送信完了通知をテーブルモジュール1303へ出力する。そして、無線装置1(=1A)のテーブルモジュール1303は、通信モジュール1301からの送信完了通知に応じて、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]をテーブルモジュール223と同じ方法によって更新する。
【0440】
その後、無線装置1(=1A)のMACモジュール119は、肯定応答待機期間Wait for ACKが満了するまでに肯定応答パケットACKの受信を開始すると、受信開始通知を通信モジュール1301へ出力し、肯定応答パケットACKの復号を完了すると、肯定応答待機期間Wait for ACKをキャンセルするとともに、復号完了通知を通信モジュール1301へ出力する。
【0441】
そして、無線装置1(=1A)の通信モジュール1301は、MACモジュール119から受けた受信開始通知および復号完了通知をタイマーモジュール1302へ出力する。
【0442】
そうすると、無線装置1(=1A)のタイマーモジュール1302は、受信開始通知を受けた時刻から復号完了通知を受けた時刻までの時間ACK durationを計測する。そして、無線装置1(=1A)のタイマーモジュール1302は、対象カテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]を新たに開始し、対象外カテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer[other AC]をNo−frame timeからNo−frame time+DATA duration+ACK durationに更新する。なお、DATA durationおよびACK durationをNo−frame timeに加算するのは、データパケットDATAの受信中、および肯定応答パケットACKの受信中、送信放棄判断期間No−frame timer[other AC]を中断するためである。
【0443】
このように、送信元である無線装置1(=1A)は、データパケットDATA[AC]の送信を完了すると、送信予約テーブル[AC]を更新し、肯定応答パケットACKの復号を完了すると、送信放棄判断期間No−frame timer[AC]を新たに開始する。
【0444】
従って、無線装置1(=1A)の次に送信順番を有する無線装置がデータパケットを送信する機会を得ることができ、通信帯域を効率的に利用できる。
【0445】
図31は、送信元の無線装置における肯定応答パケットの復号失敗時の処理を示す図である。なお、図31においても、無線装置1(=1A)を送信元の無線装置(Tx)とする。
【0446】
図31を参照して、無線装置1(=1A)のタイマーモジュール1302は、図30における方法と同じ方法によって送信放棄判断期間No−frame timer[AC]をキャンセルする。
【0447】
そして、無線装置1(=1A)のMACモジュール119は、データパケットDATAの送信を開始し、データパケットDATAの送信を完了すると、肯定応答待機期間Wait for ACKを開始する。
【0448】
また、無線装置1(=1A)のテーブルモジュール1303は図30における方法と同じ方法によって、送信予約テーブル[AC]を更新する。
【0449】
その後、無線装置1(=1A)のMACモジュール119は、肯定応答待機期間Wait for ACKが満了するまでにパケット(肯定応答パケットACK)の受信を開始すると、受信開始通知を通信モジュール1301へ出力し、肯定応答パケットACKの復号に失敗すると、肯定応答待機期間Wait for ACKをキャンセルするとともに、復号失敗通知を通信モジュール1301へ出力する。
【0450】
そして、無線装置1(=1A)の通信モジュール1301は、MACモジュール119から受けた受信開始通知および復号失敗通知をタイマーモジュール1302へ出力する。また、無線装置1(=1A)の通信モジュール1301は、復号失敗通知をテーブルモジュール1303へ出力する。
【0451】
そうすると、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301からの復号失敗通知に応じて、対象カテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]と、対象外カテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer[other AC]とを新たに開始する。
【0452】
また、無線装置1(=1A)のテーブルモジュール223は、通信モジュール1301からの復号完了通知に応じて、対象カテゴリ[AC]に対応付けられた送信予約テーブル[AC]と、対象カテゴリ[other AC]に対応付けられた送信予約テーブル[other AC]とをテーブルモジュール223と同じ方法によって更新する。
【0453】
このように、送信元である無線装置1(=1A)は、データパケットDATA[AC]の送信を完了すると、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]を更新し、肯定応答パケットACKの復号に失敗すると、送信予約テーブル[AC]および送信予約テーブル[other AC]を更新するとともに送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始する。
【0454】
従って、無線装置1(=1A)の次に送信順番を有する無線装置がデータパケットを送信する機会を得ることができ、通信帯域を効率的に利用できる。
【0455】
図32は、受信先の無線装置におけるデータパケットの復号成功時の処理を示す図である。なお、図32においては、受信先の無線装置(Rx)を無線装置1(=1A)とする。
【0456】
無線装置1(=1A)のMACモジュール119は、データパケットDATAの受信を開始し、受信開始通知を通信モジュール1301へ出力する。そして、無線装置1(=1A)のMACモジュール119は、データパケットDATAの復号を完了すると、復号完了通知を通信モジュール1301へ出力する。
【0457】
無線装置1(=1A)の通信モジュール1301は、受信開始通知および復号完了通知をタイマーモジュール1302へ出力するとともに、復号完了通知をテーブルモジュール1303へ出力する。
【0458】
そして、無線装置1(=1A)のタイマーモジュール1302は、受信開始通知を受けた時刻から復号完了通知を受けた時刻までの時間DATA durationを計測する。また、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301からの復号完了通知に応じて、対象カテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]をキャンセルし、送信放棄判断期間No−frame timer[AC]=default No−frame timer[AC]+SIFS+ACKを新たに開始する。ここで、ACKは、肯定応答パケットACKの送信期間である。LLC層は、肯定応答パケットACKの送信イベントを検知できないので、無線装置1(=1A)のタイマーモジュール1302は、肯定応答パケットACKの送信に要する通常の送信期間ACKを予め保持しており、その保持している送信期間ACKを加算して新たな送信放棄判断期間No−frame timer[AC]を演算する。
【0459】
更に、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301からの復号完了通知に応じて、対象外カテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer[other AC]=default No−frame timer[other AC]+DATA duration+ACKを新たに開始する。
【0460】
更に、無線装置1(=1A)のテーブルモジュール1303は、通信モジュール1301からの復号完了通知に応じて、送信予約テーブル[AC]を更新する。
【0461】
このように、受信先の無線装置1(=1A)は、データパケットDATAの復号完了時に、送信予約テーブル[AC]を更新するとともに、アクセスカテゴリAC1〜AC4に対応付けられた送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始する。
【0462】
その結果、受信先である無線装置1(=1A)のLLCモジュール130は、更新された送信予約テーブル[AC]の先頭に無線装置1(=1A)のアドレスが登録されていれば、次のスロットにおいてデータパケットDATA[AC]を送信する。
【0463】
また、受信先である無線装置1(=1A)のLLCモジュール130は、肯定応答パケットACKの送信を検知できなくても、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始し、その新たに開始した送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]が満了するまでにパケットの受信を検知しないとき、送信予約テーブル1291〜1294を更新する。
【0464】
その結果、更新された送信予約テーブル1291〜1294において、先頭に登録された無線装置は、データパケットを送信する機会を取得し、データパケットを送信する。
【0465】
従って、通信帯域を効率的に利用できる。
【0466】
図33は、無線通信を傍受する無線装置におけるデータパケットおよび肯定応答パケットの復号成功時の処理を示す図である。なお、図33においては、無線通信を傍受する無線装置(Ox)を無線装置1(=1A)とする。
【0467】
無線装置1(=1A)のMACモジュール119は、データパケットDATAの受信を開始すると、受信開始通知を通信モジュール1301へ出力する。また、無線装置1(=1A)のMACモジュール119は、データパケットDATAの復号を完了すると、復号完了通知を通信モジュール1301へ出力するとともに、肯定応答送信期間ACK NAV timerを開始する。
【0468】
無線装置1(=1A)の通信モジュール1301は、受信開始通知および復号完了通知をタイマーモジュール1302へ出力し、復号完了通知をテーブルモジュール1303へ出力する。そして、無線装置1(=1A)のタイマーモジュール1302は、受信開始通知を受けた時刻から復号完了通知を受けた時刻までの期間DATA durationを計測する。また、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301からの復号完了通知に応じて、対象カテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]をキャンセルするとともに、対象外カテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer+DATA durationを開始する。
【0469】
また、無線装置1(=1A)のテーブルモジュール1303は、通信モジュール1301からの復号完了通知に応じて、対象カテゴリ[AC]に対応付けられた送信予約テーブル[AC]をテーブルモジュール223と同じ方法によって更新する。
【0470】
その後、無線装置1(=1A)のMACモジュール119は、肯定応答送信期間ACK NAV timerが満了するまでに、肯定応答パケットACKの受信を開始し、肯定応答パケットACKの復号を完了すると、肯定応答送信期間ACK NAV timerをキャンセルするとともに、復号完了通知を通信モジュール1301へ出力する。
【0471】
そして、無線装置1(=1A)の通信モジュール1301は、復号完了通知をタイマーモジュール1302へ出力する。
【0472】
無線装置1(=1A)のタイマーモジュール1302は、復号完了通知に応じて、対象カテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]を開始するとともに、対象外カテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer[AC]=No−frame timer+ACKを開始する。
【0473】
このように、無線通信を傍受する無線装置1(=1A)は、データパケットDATA[AC]の受信を完了すると、送信予約テーブル[AC]を更新し、肯定応答パケットACKの復号に成功すると、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始する。
【0474】
その結果、更新された送信予約テーブル[AC]の先頭に登録された無線装置は、データパケットを送信する機会を取得し、次のスロットにおいてデータパケットを送信する。
【0475】
従って、通信帯域を効率的に利用できる。
【0476】
図34は、無線通信を傍受する無線装置における肯定応答パケットの復号失敗時の処理を示す図である。なお、図34においても、無線通信を傍受する無線装置(Ox)を無線装置1(=1A)とする。
【0477】
図34を参照して、図33における方法と同じ方法によって、期間DATA durationが計測され、送信放棄判断期間No−frame timer[AC]がキャンセルされ、肯定応答送信期間ACK NAV timerが開始され、送信放棄判断期間No−frame timer[other AC](=No−frame timer+DATA duration)が開始され、送信予約テーブル[AC]が更新される。
【0478】
その後、無線装置1(=1A)のMACモジュール119は、肯定応答送信期間ACK NAV timerが満了するまでに、パケット(肯定応答パケットACK)の受信を開始し、パケット(肯定応答パケットACK)の復号に失敗する。
【0479】
そうすると、無線装置1(=1A)のMACモジュール119は、肯定応答送信期間ACK NAV timerをキャンセルするとともに、復号失敗通知を通信モジュール1301へ出力する。
【0480】
そして、無線装置1(=1A)の通信モジュール1301は、復号失敗通知をタイマーモジュール1302およびテーブルモジュール1303へ出力する。
【0481】
その後、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301からの復号失敗通知に応じて、送信放棄判断期間No−frame timer[AC]を新たに開始するとともに、送信放棄判断期間No−frame timer[other AC]を新たに開始する。
【0482】
また、無線装置1(=1A)のテーブルモジュール1303は、通信モジュール1301からの復号失敗通知に応じて、送信予約テーブル[AC]および送信予約テーブル[other AC]をテーブルモジュール223と同じ方法によって更新する。
【0483】
このように、無線通信を傍受する無線装置1(=1A)は、データパケットDATA[AC]の受信を完了すると、送信予約テーブル[AC]を更新し、データパケットDATA[AC]の受信完了後に肯定応答パケットACKの復号に失敗すると、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始するとともに、送信予約テーブル[AC]および送信予約テーブル[other AC]を更新する。
【0484】
その結果、更新された送信予約テーブル[AC],[other AC]の先頭に登録された無線装置は、データパケットを送信する機会を取得し、次のスロットにおいてデータパケットを送信する。
【0485】
従って、通信帯域を効率的に利用できる。
【0486】
図35は、無線通信を傍受する無線装置におけるデータパケットおよび肯定応答パケットの復号失敗時の処理を示す図である。なお、図35においても、無線通信を傍受する無線装置(Ox)を無線装置1(=1A)とする。
【0487】
無線装置1(=1A)のMACモジュール119は、パケット(データパケット)の受信を開始し、パケット(データパケット)の復号に失敗すると、復号失敗通知を通信モジュール1301へ出力する。
【0488】
そして、無線装置1(=1A)の通信モジュール1301は、復号失敗通知をタイマーモジュール1302およびテーブルモジュール1303へ出力する。
【0489】
その後、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301からの復号失敗通知に応じて、全ての送信放棄判断期間No−frame timer[ALL AC]をキャンセルするとともに、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始する。
【0490】
また、無線装置1(=1A)のテーブルモジュール1303は、通信モジュール1301からの復号失敗通知に応じて、全ての送信予約テーブル[ALL AC]を更新する。
【0491】
その後、無線装置1(=1A)のMACモジュール119は、パケット(肯定応答パケット)の受信を開始し、パケット(肯定応答パケット)の復号に失敗すると、復号失敗通知を通信モジュール1301へ出力する。
【0492】
そして、無線装置1(=1A)の通信モジュール1301は、復号失敗通知をタイマーモジュール1302およびテーブルモジュール1303へ出力する。
【0493】
その後、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301からの復号失敗通知に応じて、全ての送信放棄判断期間No−frame timer[ALL AC]をキャンセルするとともに、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始する。
【0494】
また、無線装置1(=1A)のテーブルモジュール1303は、通信モジュール1301からの復号失敗通知に応じて、全ての送信予約テーブル[ALL AC]を更新する。
【0495】
このように、無線通信を傍受する無線装置1(=1A)は、データパケットDATAまたは肯定応答パケットACKの復号に失敗するごとに、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始するとともに、全ての送信予約テーブル[ALL AC]を更新する。
【0496】
その結果、更新された送信予約テーブル[ALL AC]の先頭に登録された無線装置は、データパケットを送信する機会を取得し、次のスロットにおいてデータパケットを送信する。
【0497】
従って、通信帯域を効率的に利用できる。
【0498】
次に、肯定応答パケットACKを受信できない場合の送信放棄判断期間の管理および送信予約テーブルの更新について説明する。
【0499】
図36は、送信元の無線装置における肯定応答待機期間の満了時の処理を示す図である。図36においては、送信元の無線装置(Tx)を無線装置1(=1A)とする。
【0500】
図36を参照して、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301がデータパケットDATAをローカルバッファ120からMACモジュール119へ出力すると、データパケットDATAが属する対象カテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]をキャンセルする。
【0501】
そして、無線装置1(=1A)の通信モジュール1301は、データパケットDATAの送信開始通知およびデータパケットDATAの送信完了通知をMACモジュール119から受け、その受けた送信開始通知および送信完了通知をタイマーモジュール1302へ出力するとともに、送信完了通知をテーブルモジュール1303へ出力する。
【0502】
無線装置1(=1A)のタイマーモジュール1302は、送信開始通知を受けた時刻から送信完了通知を受けた時刻までの時間DATA durationを計測する。
【0503】
また、無線装置1(=1A)のテーブルモジュール1303は、送信完了通知に応じて、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]をテーブルモジュール223と同じ方法によって更新する。
【0504】
そして、無線装置1(=1A)のMACモジュール119は、データパケットDATAの送信を完了すると、肯定応答待機期間Wait for ACKを開始する。
【0505】
その後、無線装置1(=1A)のMACモジュール119は、肯定応答待機期間Wait for ACKが満了すると、肯定応答待機期間Wait for ACKの満了通知を通信モジュール1301へ出力する。
【0506】
そして、無線装置1(=1A)の通信モジュール1301は、MACモジュール119から受けた満了通知をタイマーモジュール1302およびテーブルモジュール1303へ出力する。
【0507】
そうすると、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301からの満了通知に応じて、対象カテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]=Default No−frame timer−Wait for ACK)を新たに開始し、対象外カテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer[other AC]をNo−frame timeからNo−frame time+DATA durationに更新する。
【0508】
また、無線装置1(=1A)のテーブルモジュール1303は、通信モジュール1301からの満了通知に応じて、対象カテゴリ[AC]に対応付けられた送信予約テーブル[AC]をテーブルモジュール223と同じ方法によって更新する。
【0509】
なお、Wait for ACKをDefault No−frame timerから減算するのは、肯定応答待機期間Wait for ACKの送信放棄判断期間No−frame timerへの影響を除去するためである。その結果、無線装置1(=1A)は、他の無線装置がデータパケットの送信処理を放棄したことを迅速に判断できる。
【0510】
また、DATA durationをNo−frame timeに加算するのは、データパケットDATAの受信中,送信放棄判断期間No−frame timer[other AC]を中断するためである。その結果、無線装置1(=1A)は、他の無線装置がデータパケットの送信処理を放棄したことを正確に判断できる。
【0511】
このように、送信元である無線装置1(=1A)は、データパケットDATA[AC]の送信を完了すると、送信予約テーブル[AC]を更新し、肯定応答待機期間Wait for ACKが満了すると、送信予約テーブル[AC]を更新するとともに送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始する。
【0512】
従って、無線装置1(=1A)の次に送信順番を有する無線装置がデータパケットを送信する機会を得ることができ、通信帯域を効率的に利用できる。
【0513】
図37は、受信先の無線装置におけるデータパケットの復号失敗時の処理を示す図である。図37においては、受信先の無線装置(Rx)を無線装置1(=1A)とする。
【0514】
図37を参照して、無線装置1(=1A)のMACモジュール119は、パケット(データパケット)を受信する。そして、無線装置1(=1A)のMACモジュール119は、パケット(データパケット)の復号を開始し、パケット(データパケット)の復号に失敗する。
【0515】
そうすると、無線装置1(=1A)のMACモジュール119は、復号失敗通知を通信モジュール1301へ出力する。
【0516】
そして、無線装置1(=1A)の通信モジュール1301は、復号失敗通知をタイマーモジュール1302およびテーブルモジュール1303へ出力する。
【0517】
その後、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301からの復号失敗通知に応じて、全ての送信放棄判断期間No−frame timer[ALL AC]をキャンセルし、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始する。
【0518】
また、無線装置1(=1A)のテーブルモジュール1303は、通信モジュール1301からの復号失敗通知に応じて、全ての送信予約テーブル[ALL AC]をテーブルモジュール223と同じ方法によって更新する。
【0519】
このように、受信先の無線装置1(=1A)は、パケット(データパケット)の復号に失敗すると、全ての送信放棄判断期間No−frame timer[ALL AC]を新たに開始するとともに、全ての送信予約テーブル[ALL AC]を更新する。
【0520】
その結果、更新された送信予約テーブル[ALL AC]の先頭に登録された無線装置は、データパケットを送信する機会を取得し、次のスロットにおいてデータパケットを送信する。
【0521】
従って、通信帯域を効率的に利用できる。
【0522】
図38は、無線通信を傍受する無線装置における肯定応答待機期間の満了時の処理を示す図である。図38においては、無線通信を傍受する無線装置(Ox)を無線装置1(=1A)とする。
【0523】
図38を参照して、無線装置1(=1A)のMACモジュール119は、データパケットDATA[AC]の受信を開始し、受信開始通知を通信モジュール1301へ出力する。その後、無線装置1(=1A)のMACモジュール119は、データパケットDATA[AC]の復号を完了すると、復号完了通知を通信モジュール1301へ出力する。
【0524】
また、無線装置1(=1A)のMACモジュール119は、肯定応答送信期間ACK NAV timerを開始する。
【0525】
そして、無線装置1(=1A)の通信モジュール1301は、データパケットDATAの受信開始通知およびデータパケットDATAの復号完了通知をMACモジュール119から受け、その受けた受信開始通知および復号完了通知をタイマーモジュール1302へ出力するとともに、復号完了通知をテーブルモジュール1303へ出力する。
【0526】
無線装置1(=1A)のタイマーモジュール1302は、受信開始通知を受けた時刻から復号完了通知を受けた時刻までの時間DATA durationを計測する。そして、無線装置1(=1A)のタイマーモジュール1302は、対象外カテゴリ[other AC]に対応付けられた送信放棄判断期間No−frame timer[other AC]=No−frame time+DATA durationを開始する。
【0527】
なお、DATA durationがNo−frame timerに加算されるのは、データパケットDATAの受信中、送信放棄判断期間No−frame timer[other AC]を中断するためである。その結果、無線装置1(=1A)は、他の無線装置がデータパケットの送信処理を放棄したことを正確に判断できる。
【0528】
また、無線装置1(=1A)のテーブルモジュール1303は、復号完了通知に応じて、アクセスカテゴリ[AC]に対応付けられた送信予約テーブル[AC]をテーブルモジュール223と同じ方法によって更新する。
【0529】
その後、無線装置1(=1A)のMACモジュール119は、肯定応答送信期間ACK NAV timerが満了すると、肯定応答送信期間ACK NAV timerの満了通知を通信モジュール1301へ出力する。
【0530】
そして、無線装置1(=1A)の通信モジュール1301は、MACモジュール119から受けた満了通知をタイマーモジュール1302およびテーブルモジュール1303へ出力する。
【0531】
そうすると、無線装置1(=1A)のタイマーモジュール1302は、通信モジュール1301からの満了通知に応じて、対象カテゴリ[AC]に対応付けられた送信放棄判断期間No−frame timer[AC]=Default No−frame timer−ACK NAV timer)を新たに開始する。
【0532】
なお、ACK NAV timerをDefault No−frame timerから減算するのは、肯定応答送信期間ACK NAV timerの送信放棄判断期間No−frame timerへの影響を除去するためである。その結果、無線装置1(=1A)は、他の無線装置がデータパケットの送信処理を放棄したことを迅速に判断できる。
【0533】
また、無線装置1(=1A)のテーブルモジュール1303は、通信モジュール1301からの満了通知に応じて、対象カテゴリ[AC]に対応付けられた送信予約テーブル[AC]をテーブルモジュール223と同じ方法によって更新する。
【0534】
このように、無線通信を傍受する無線装置1(=1A)は、データパケットDATA[AC]の復号を完了すると(即ち、データパケットDATA[AC]の受信を完了すると)、送信予約テーブル[AC]を更新し、肯定応答送信期間ACK NAV timerが満了すると、送信予約テーブル[AC]を更新するとともに送信放棄判断期間No−frame timer[AC]を新たに開始する。
【0535】
従って、無線装置1(=1A)の次に送信順番を有する無線装置がデータパケットを送信する機会を得ることができ、通信帯域を効率的に利用できる。
【0536】
図39は、無線通信を傍受する無線装置におけるデータパケットの復号失敗時の処理を示す図である。図39においても、無線通信を傍受する無線装置(Ox)を無線装置1(=1A)とする。
【0537】
図39を参照して、無線装置1(=1A)は、受信したパケット(データパケット)の復号に失敗した場合、図37に示す受信先の無線装置と同じ動作を行なう。
【0538】
この場合も、上述したように、通信帯域を効率的に利用できる。
【0539】
肯定応答パケットが送信される場合、送信放棄判断期間No−frame timer[AC]の開始時、送信予約テーブル[AC]の更新時、送信放棄判断期間No−frame timer[other AC]の更新時・開始時、および送信予約テーブル[other AC]の更新時を送信元(Tx)、受信先(Rx)および無線通信を傍受する無線装置(Ox)についてまとめると、表3のようになる。
【0540】
【表3】
【0541】
表3の第1行から第3行を参照して、送信元(Tx)は、データパケットDATAの送信後、肯定応答パケットACKの復号完了時に送信放棄判断期間No−frame timer[AC]を開始し、無線装置(Ox)は、肯定応答パケットACKの復号完了時に送信放棄判断期間No−frame timer[AC]を開始する。
【0542】
また、送信元(Tx)は、データパケットDATAの送信完了時に送信予約テーブル[AC]を更新し、無線装置(Ox)は、データパケットDATAの受信完了時に送信予約テーブル[AC]を更新し、受信先(Rx)は、データパケットDATAの受信完了時に送信予約テーブル[AC]を更新する。
【0543】
更に、送信元(Tx)は、データパケットDATAの送信後、肯定応答パケットACKの復号完了時に送信放棄判断期間No−frame timer[other AC]を更新し、無線装置(Ox)は、肯定応答パケットACKの復号完了時に送信放棄判断期間No−frame timer[other AC]を開始する。
【0544】
更に、受信先(Rx)は、データパケットDATAの復号完了時に送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を開始する。
【0545】
更に、送信元(Tx)、受信先(Rx)および無線装置(Ox)は、送信予約テーブル[other AC]を更新しない。
【0546】
従って、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]は、送信元(Tx)および無線装置(Ox)間で同期が取れている。
【0547】
また、送信予約テーブル[AC]の更新時は、送信元(Tx)、受信先(Rx)および無線装置(Ox)間で同期が取れている。
【0548】
表3の第4行および第5行を参照して、送信元(Tx)は、データパケットDATAの送信後、パケット(ACK)の復号失敗時に、送信放棄判断期間No−frame timer[AC]を開始し、無線装置(Ox)は、データパケットDATAの受信後、パケット(ACK)の復号失敗時に、送信放棄判断期間No−frame timer[AC]を開始する。
【0549】
また、送信元(Tx)は、データパケットDATAの送信完了時、またはパケット(ACK)の復号失敗時に、送信予約テーブル[AC]を更新し、無線装置(Ox)は、データパケットDATAの受信完了時、またはパケット(ACK)の復号失敗時に、送信予約テーブル[AC]を更新する。
【0550】
更に、送信元(Tx)は、データパケットDATAの送信後、パケット(ACK)の復号失敗時に、送信放棄判断期間No−frame timer[other AC]を開始し、無線装置(Ox)は、データパケットDATAの受信後、パケット(ACK)の復号失敗時に、送信放棄判断期間No−frame timer[other AC]を開始する。
【0551】
更に、送信元(Tx)は、データパケットDATAの送信後、パケット(ACK)の復号失敗時に、送信予約テーブル[other AC]を更新し、無線装置(Ox)は、データパケットDATAの受信後、パケット(ACK)の復号失敗時に、送信予約テーブル[other AC]を更新する。
【0552】
従って、肯定応答パケットACKの復号に失敗した場合でも、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]の開始時、および送信予約テーブル[AC],[other AC]の更新時は、送信元(Tx)および無線装置(Ox)の間で同期が取れている。
【0553】
表3の第6行を参照して、無線装置(Ox)は、パケット(データパケットまたは肯定応答パケット)の復号失敗時に、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を開始し、送信予約テーブル[AC],[other AC]を更新する。
【0554】
従って、肯定応答パケットACKの復号失敗時においては、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]の開始時、および送信予約テーブル[AC],[other AC]の更新時は、送信元(Tx)および無線装置(Ox)の間で同期が取れている(第4行および第6行参照)。
【0555】
表3に示す各種のタイミングで、送信放棄判断期間No−frame timer[AC]を開始し、送信予約テーブル[AC],[other AC]を更新し、送信放棄判断期間No−frame timer[other AC]を更新または開始した結果、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]の期間が送信元(Tx)、受信先(Rx)および無線装置(Ox)間でずれ、送信予約テーブル[AC],[other AC]が送信元(Tx)、受信先(Rx)および無線装置(Ox)間で相互に異なることもある。
【0556】
しかし、送信元(Tx)、受信先(Rx)および無線装置(Ox)は、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]の間にパケットを受信しないとき、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を新たに開始し、送信予約テーブル[AC],[other AC]を更新する。
【0557】
従って、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]は、送信元(Tx)、受信先(Rx)および無線装置(Ox)の間でいずれ同期が取れる。また、送信予約テーブル[AC],[other AC]は、送信元(Tx)、受信先(Rx)および無線装置(Ox)の間でいずれ同じになる。
【0558】
肯定応答パケットが送信されない場合、送信放棄判断期間No−frame timer[AC]の開始時、送信予約テーブル[AC]の更新時、送信放棄判断期間No−frame timer[other AC]の更新時・開始時、および送信予約テーブル[other AC]の更新時を送信元(Tx)、受信先(Rx)および無線通信を傍受する無線装置(Ox)についてまとめると、表4のようになる。
【0559】
【表4】
【0560】
表4の第1行から第3行を参照して、送信元(Tx)は、データパケットDATAの送信後、肯定応答待機期間Wait for ACKの満了時に送信放棄判断期間No−frame timer[AC]を開始し、無線装置(Ox)は、データパケットDATAの受信後、肯定応答送信期間ACK NAV timerの満了時に送信放棄判断期間No−frame timer[AC]を開始する。
【0561】
また、送信元(Tx)は、データパケットDATAの送信完了時、または肯定応答待機期間Wait for ACKの満了時に送信予約テーブル[AC]を更新し、無線装置(Ox)は、データパケットDATAの受信完了時、または肯定応答送信期間ACK NAV timerの満了時に送信予約テーブル[AC]を更新する。
【0562】
更に、送信元(Tx)は、データパケットDATAの送信後、肯定応答待機期間Wait for ACKの満了時に送信放棄判断期間No−frame timer[other AC]を更新し、無線装置(Ox)は、データパケットDATAの復号完了時に送信放棄判断期間No−frame timer[other AC]を開始する。
【0563】
更に、受信先(Rx)は、データパケットDATAの復号失敗時に、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を開始するとともに、送信予約テーブル[AC],[other AC]を更新する。
【0564】
そして、肯定応答待機期間Wait for ACKおよび肯定応答送信期間ACK NAV timerは、共に、肯定応答パケットACKの待ち期間であり、実質的に同じである。
【0565】
従って、送信放棄判断期間No−frame timer[AC]は、送信元(Tx)および無線装置(Ox)の間で同期が取れている。
【0566】
また、送信予約テーブル[AC]の更新時は、送信元(Tx)および無線装置(Ox)間で同期が取れている。
【0567】
表4の第4行を参照して、無線装置(Ox)は、パケット(データパケットDATAまたは肯定応答パケットACK)の復号失敗時、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]を開始し、送信予約テーブル[AC],[other AC]を更新する。
【0568】
従って、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]の開始時、および送信予約テーブル[AC],[other AC]の更新時は、受信先(Ox)および無線装置(Ox)の間で同期が取れている(第2行および第4行参照)。
【0569】
表4に示す場合も、表3に示す場合と同様に、送信放棄判断期間No−frame timer[AC],No−frame timer[other AC]は、送信元(Tx)、受信先(Rx)および無線装置(Ox)の間でいずれ同期が取れ、送信予約テーブル[AC],[other AC]は、送信元(Tx)、受信先(Rx)および無線装置(Ox)の間でいずれ同じになる。
【0570】
送信権TXOPを用いた複数のデータパケットの送信について説明する。この場合、LLCモジュール130の通信モジュール1301は、送信権TXOPを時間で管理しており、送信権TXOPの期間をMACモジュール119へ通知する。
【0571】
図40および図41は、それぞれ、送信権を用いたデータパケットの送信方法を説明するための第1および第2の図である。なお、図40においては、アクセスカテゴリAC1に属するデータパケットを送信権TXOPを用いて送信する場合について説明する。
【0572】
図40を参照して、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、1つ目のデータパケットDATA[1]をローカルバッファ120からMACモジュール119へ出力することによって1つ目のデータパケットDATA[1]をエンキューする。
【0573】
その後、各無線装置1〜7(=1A)のMACモジュール119は、1つ目のデータパケットDATA[1]を送信キュー115およびカテゴリバッファ111に順次格納する。
【0574】
そして、各無線装置1〜7(=1A)のMACモジュール119は、ローカルバッファ110が空である場合、1つ目のデータパケットDATA[1]をカテゴリバッファ111からローカルバッファ110にコピーし、カテゴリバッファ111に付与されたカテゴリバッファバックオフ時間を設定する。
【0575】
その後、各無線装置1〜7(=1A)のMACモジュール119は、カテゴリバッファバックオフ時間が経過すると、1つ目のデータパケットDATA[1]をローカルバッファ110から取り出して送受信モジュール11へ出力する。そして、各無線装置1〜7(=1A)の送受信モジュール11は、タイミングtSTARTで1つ目のデータパケットDATA[1]の送信を開始する。
【0576】
各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、1つ目のデータパケットDATA[1]をエンキューした後、送信権TXOPの期間TXOPと、1つ目のデータパケットDATA[1]のデータサイズL(D1)と、データパケットの最低送信速度R(D)と、肯定応答パケットACK1のサイズL(ACK1)と、肯定応答パケットの最低送信速度R(ACK)とに基づいて、残りの送信権TXOPの期間TXOP_rest=TXOP−(L(D1)/R(D)+L(ACK1)/R(ACK)+SIFS時間)を演算する。
【0577】
また、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、肯定応答パケットACK1の復号完了通知をMACモジュール119から受けると、その復号完了通知を受けた時刻を現在時刻tNOWとして検出する。
【0578】
そして、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、tSTART=tNOW−(L(D1)/R(D)+L(ACK1)/R(ACK)+SIFS時間)によって1つ目のデータパケットDATA[1]の送信を開始した時刻tSTARTを求める。即ち、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、送信権TXOPの開始時刻(=tSTART)を求める。
【0579】
また、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、tFINISH=tNOW+TXOP_restによって送信権TXOPの期間の終了時刻を求める。
【0580】
これによって、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、送信権TXOPの期間についてMACモジュール119との間で同期を取ることができる。
【0581】
その後、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、2つ目のデータパケットDATA[2]のデータサイズL(D2)、データパケットの最低送信速度R(D)、肯定応答パケットACK2のサイズL(ACK2)および肯定応答パケットACKの最低送信速度R(ACK)に基づいて、上述した方法によって、2つ目のデータパケットDATA[2]の送信に要する時間を予測し、その予測した時間が送信権TXOPの残りの時間TXOP_restよりも短いとき、2つ目のデータパケットDATA[2]を送信可能と判断する。
【0582】
そして、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、2つ目のデータパケットDATA[2]をエンキューし、2つ目のデータパケットDATA[2]を送信する。
【0583】
その後、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、2つ目のデータパケットDATA[2]をエンキューした時刻tENQUEと、2つ目のデータパケットDATA[2]の送信を完了した時刻(=肯定応答パケットACK[2]の復号完了通知を受けた時刻)tCOMPとを実測する(図41参照)。
【0584】
そして、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、tCOMP−tENQUEを演算して2つ目のデータパケットDATA[2]の通信時間を求め、その求めた通信時間を用いて、送信権TXOPの期間の残りの時間を求める。
【0585】
その後、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、上述した方法によって、3つ目のデータパケットDATA[3]の送信に要する時間を求め、その求めた時間と、送信権TXOPの期間の残りの時間とに基づいて、上述した方法によって、3つ目のデータパケットDATA[3]を送信可能か否かを判定する。
【0586】
それ以降、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、同じ動作を繰返し行ない、送信権TXOPの期間に複数のデータパケットを連続して送信する。
【0587】
この場合、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、1つのデータパケットDATAを送信した後に、上述した方法によって肯定応答パケットACKの受信完了を検知すると、ローカルバッファ120およびカテゴリバッファ121に保持されたデータパケットを破棄し、送信キュー125から新たなデータパケットを取り出してカテゴリバッファ121に格納する。
【0588】
そして、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、データパケットの送信に要する時間が送信権TXOPの期間の残りの時間よりも長くなったとき、送信権TXOPを用いたデータパケットの送信を停止する(図41参照)。
【0589】
また、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、上述した方法によって、肯定応答待機期間Wait for ACK timerの満了、または他のパケットの受信完了を検知すると、送信権TXOPを用いたデータパケットの送信を停止する。
【0590】
なお、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、アクセスカテゴリAC2〜AC4のいずれかに属する複数のデータパケットを送信権TXOPの期間を用いて上述した方法によって連続して送信する。
【0591】
また、各無線装置1〜7(=1A)のLLCモジュール130(=通信モジュール1301)は、複数のアクセスカテゴリに属する複数のデータパケットが送信可能であると判定したとき、上述したMACモジュール22(=通信モジュール221)と同じ方法によって複数のデータパケットを送信する。
【0592】
その他は、実施の形態1と同じである。
【0593】
上述したように、実施の形態2においては、各無線装置1〜7(=1A)のLLC層に設けられたLLCモジュール130が送信予約テーブルおよび送信放棄判断期間を用いたデータパケットの送受信を行なう。
【0594】
その結果、この発明をパーソナルコンピュータにおいて実施できる。
【0595】
実施の形態2においては、その他、実施の形態1において説明した効果が得られる。
【0596】
上記においては、各無線装置1〜7は、通信の優先度が相互に異なる4個のアクセスカテゴリAC1〜AC4に属するデータパケットを送信予約テーブルおよび送信放棄判断期間を用いて相互に送受信すると説明したが、この発明の実施の形態においては、これに限らず、各無線装置1〜7は、通信の優先度が設定されていないデータパケットを送信予約テーブルおよび送信放棄判断期間を用いて上述した方法によって送受信してもよい。
【0597】
即ち、この発明の実施の形態による無線装置は、当該無線装置の通信範囲内に存在する複数の無線装置の送信順序を示す送信予約テーブルを作成および更新するテーブルモジュールと、送信予約テーブルが空であるとき、キャリアセンスを行ない、無線通信空間が空いていることを確認してから無線通信を行なう第1のモードでデータパケットを送信し、複数の無線装置を識別するための複数の識別子のいずれかが送信予約テーブルに登録されているとき、送信予約テーブルに従って無線通信を行なう第2のモードでデータパケットを送信する通信モジュールと、通信モジュールが当該無線装置以外の無線装置からのパケットの受信を完了すると、各無線装置におけるデータパケットの送信処理が放棄されたことを判断するための送信放棄判断期間を設定するタイマーモジュールとを備え、通信モジュールが、送信予約テーブルにおいて当該無線装置が1番目の送信順番を有する場合、データパケットを送信し、送信予約テーブルにおいて当該無線装置が2番目の送信順番を有し、かつ、送信放棄判断期間の間にパケットを受信しない場合、送信放棄判断期間が満了すると、データパケットを送信するものであればよい。
【0598】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【0599】
この発明は、通信帯域を効率的に利用可能な無線装置に適用される。また、この発明は、通信帯域を効率的に利用可能な無線装置を備えた無線ネットワークに適用される。
【符号の説明】
【0600】
1〜7,1A 無線装置、10 無線ネットワーク、11 送受信モジュール、12,110,120 ローカルバッファ、13〜16,111〜114,121〜124 カテゴリバッファ、17〜20,115〜118,125〜128 送信キュー、21,129,211〜214,1291〜1294 送信予約テーブル、22,119 MACモジュール、23 IPモジュール、130 LLCモジュール、221,1301 通信モジュール、222,1302 タイマーモジュール、223,1303 テーブルモジュール。
【特許請求の範囲】
【請求項1】
パケットを送信または受信する無線装置であって、
当該無線装置の通信範囲内に存在する複数の無線装置の送信順序を示す送信予約テーブルを作成および更新するテーブルモジュールと、
前記送信予約テーブルが空であるとき、キャリアセンスを行ない、無線通信空間が空いていることを確認してから無線通信を行なう第1のモードでデータパケットを送信し、前記複数の無線装置を識別するための複数の識別子のいずれかが前記送信予約テーブルに登録されているとき、前記送信予約テーブルに従って無線通信を行なう第2のモードで前記データパケットを送信する通信モジュールと、
前記通信モジュールが当該無線装置以外の無線装置からのパケットの受信を完了すると、各無線装置における前記データパケットの送信処理が放棄されたことを判断するための送信放棄判断期間を設定するタイマーモジュールとを備え、
前記通信モジュールは、当該無線装置が前記送信予約テーブルにおいて1番目の送信順番を有する場合、前記データパケットを送信し、当該無線装置が前記送信予約テーブルにおいて2番目の送信順番を有し、かつ、前記送信放棄判断期間の間にパケットを受信しない場合、前記送信放棄判断期間が満了すると、前記データパケットを送信する、無線装置。
【請求項2】
前記データパケットは、通信の優先度が相互に異なる複数のカテゴリに分類され、
前記テーブルモジュールは、前記複数のカテゴリに対応付けられた複数の前記送信予約テーブルを作成および更新し、
前記タイマーモジュールは、前記複数のカテゴリに対応付けられ、かつ、各々が任意の長さを有する複数の前記送信放棄判断期間を設定し、
前記通信モジュールは、前記第2のモードにおいて、前記複数の送信予約テーブルに従って前記複数のカテゴリに属するデータパケットを送信する、請求項1に記載の無線装置。
【請求項3】
前記テーブルモジュールは、前記通信モジュールが前記複数のカテゴリのうちの1つのカテゴリに対応付けられた前記送信放棄判断期間の満了までにパケットを受信しなかったとき、前記1つのカテゴリに対応付けられた前記送信予約テーブルの先頭に登録された無線装置の識別子を削除する更新処理を前記複数の送信予約テーブルの全てについて実行し、
前記通信モジュールは、前記更新された複数の送信予約テーブルに従って前記複数のカテゴリに属するデータパケットを送信する、請求項2に記載の無線装置。
【請求項4】
前記テーブルモジュールは、前記通信モジュールが前記複数のカテゴリのうちの1つのカテゴリに対応付けられた前記送信放棄判断期間の満了までにパケットを受信し、かつ、その受信したパケットを復号できないとき、前記1つのカテゴリに対応付けられた前記送信予約テーブルの先頭に登録された無線装置の識別子を削除する更新処理を前記複数の送信予約テーブルの全てについて実行し、
前記通信モジュールは、前記更新された複数の送信予約テーブルに従って前記複数のカテゴリに属するデータパケットを送信する、請求項2に記載の無線装置。
【請求項5】
前記テーブルモジュールは、前記通信モジュールが前記複数のカテゴリのうちの1つのカテゴリに対応付けられた前記送信放棄判断期間の満了までにデータパケットを受信し、かつ、その受信したデータパケットを復号できたとき、その受信したデータパケットの送信元の無線装置の識別子が前記1つのカテゴリに対応付けられた前記送信予約テーブルにおいて最も遅い送信順番を有するように前記1つのカテゴリに対応付けられた前記送信予約テーブルを更新する更新処理を前記複数の送信予約テーブルの全てについて実行し、
前記通信モジュールは、前記更新された複数の送信予約テーブルに従って前記複数のカテゴリに属するデータパケットを送信する、請求項2に記載の無線装置。
【請求項6】
前記タイマーモジュールは、前記データパケットに対する肯定応答パケットの復号完了時、または前記肯定応答パケットの送信完了時に、前記複数のカテゴリのうちの1つのカテゴリである対象カテゴリに対応付けられた前記送信放棄判断期間を新たに開始し、
前記テーブルモジュールは、前記データパケットの送信完了時、または前記データパケットの受信完了時に、前記対象カテゴリに対応付けられた送信予約テーブルを更新する、請求項2に記載の無線装置。
【請求項7】
前記タイマーモジュールは、前記データパケットに対する肯定応答パケットを待つ期間である肯定応答待機期間の満了時、または前記肯定応答パケットを待つ期間である肯定応答送信期間の満了時に、前記複数のカテゴリのうちの1つのカテゴリである対象カテゴリに対応付けられた前記送信放棄判断期間を新たに開始し、
前記テーブルモジュールは、前記データパケットの送信完了時または前記データパケットの受信完了時に、前記対象カテゴリに対応付けられた送信予約テーブルを更新する、請求項2に記載の無線装置。
【請求項8】
前記タイマーモジュールは、前記データパケットに対する肯定応答パケットの復号完了時に、前記複数のカテゴリのうちの1つのカテゴリである対象カテゴリに対応付けられた前記送信放棄判断期間を新たに開始し、
前記テーブルモジュールは、前記データパケットの送信完了時、または前記データパケットの受信完了時に、前記対象カテゴリに対応付けられた送信予約テーブルを更新する、請求項2に記載の無線装置。
【請求項9】
前記通信モジュールは、前記複数のカテゴリのうちの1つのカテゴリである対象カテゴリに対応付けられた送信予約テーブルに当該無線装置の識別子が登録されていないとき、または前記対象カテゴリに対応付けられた送信予約テーブルの先頭に当該無線装置の識別子が登録されているとき、前記対象カテゴリに属するパケットを送信する、請求項2に記載の無線装置。
【請求項10】
請求項1から請求項9のいずれか1項に記載の無線装置を備えた無線ネットワーク。
【請求項1】
パケットを送信または受信する無線装置であって、
当該無線装置の通信範囲内に存在する複数の無線装置の送信順序を示す送信予約テーブルを作成および更新するテーブルモジュールと、
前記送信予約テーブルが空であるとき、キャリアセンスを行ない、無線通信空間が空いていることを確認してから無線通信を行なう第1のモードでデータパケットを送信し、前記複数の無線装置を識別するための複数の識別子のいずれかが前記送信予約テーブルに登録されているとき、前記送信予約テーブルに従って無線通信を行なう第2のモードで前記データパケットを送信する通信モジュールと、
前記通信モジュールが当該無線装置以外の無線装置からのパケットの受信を完了すると、各無線装置における前記データパケットの送信処理が放棄されたことを判断するための送信放棄判断期間を設定するタイマーモジュールとを備え、
前記通信モジュールは、当該無線装置が前記送信予約テーブルにおいて1番目の送信順番を有する場合、前記データパケットを送信し、当該無線装置が前記送信予約テーブルにおいて2番目の送信順番を有し、かつ、前記送信放棄判断期間の間にパケットを受信しない場合、前記送信放棄判断期間が満了すると、前記データパケットを送信する、無線装置。
【請求項2】
前記データパケットは、通信の優先度が相互に異なる複数のカテゴリに分類され、
前記テーブルモジュールは、前記複数のカテゴリに対応付けられた複数の前記送信予約テーブルを作成および更新し、
前記タイマーモジュールは、前記複数のカテゴリに対応付けられ、かつ、各々が任意の長さを有する複数の前記送信放棄判断期間を設定し、
前記通信モジュールは、前記第2のモードにおいて、前記複数の送信予約テーブルに従って前記複数のカテゴリに属するデータパケットを送信する、請求項1に記載の無線装置。
【請求項3】
前記テーブルモジュールは、前記通信モジュールが前記複数のカテゴリのうちの1つのカテゴリに対応付けられた前記送信放棄判断期間の満了までにパケットを受信しなかったとき、前記1つのカテゴリに対応付けられた前記送信予約テーブルの先頭に登録された無線装置の識別子を削除する更新処理を前記複数の送信予約テーブルの全てについて実行し、
前記通信モジュールは、前記更新された複数の送信予約テーブルに従って前記複数のカテゴリに属するデータパケットを送信する、請求項2に記載の無線装置。
【請求項4】
前記テーブルモジュールは、前記通信モジュールが前記複数のカテゴリのうちの1つのカテゴリに対応付けられた前記送信放棄判断期間の満了までにパケットを受信し、かつ、その受信したパケットを復号できないとき、前記1つのカテゴリに対応付けられた前記送信予約テーブルの先頭に登録された無線装置の識別子を削除する更新処理を前記複数の送信予約テーブルの全てについて実行し、
前記通信モジュールは、前記更新された複数の送信予約テーブルに従って前記複数のカテゴリに属するデータパケットを送信する、請求項2に記載の無線装置。
【請求項5】
前記テーブルモジュールは、前記通信モジュールが前記複数のカテゴリのうちの1つのカテゴリに対応付けられた前記送信放棄判断期間の満了までにデータパケットを受信し、かつ、その受信したデータパケットを復号できたとき、その受信したデータパケットの送信元の無線装置の識別子が前記1つのカテゴリに対応付けられた前記送信予約テーブルにおいて最も遅い送信順番を有するように前記1つのカテゴリに対応付けられた前記送信予約テーブルを更新する更新処理を前記複数の送信予約テーブルの全てについて実行し、
前記通信モジュールは、前記更新された複数の送信予約テーブルに従って前記複数のカテゴリに属するデータパケットを送信する、請求項2に記載の無線装置。
【請求項6】
前記タイマーモジュールは、前記データパケットに対する肯定応答パケットの復号完了時、または前記肯定応答パケットの送信完了時に、前記複数のカテゴリのうちの1つのカテゴリである対象カテゴリに対応付けられた前記送信放棄判断期間を新たに開始し、
前記テーブルモジュールは、前記データパケットの送信完了時、または前記データパケットの受信完了時に、前記対象カテゴリに対応付けられた送信予約テーブルを更新する、請求項2に記載の無線装置。
【請求項7】
前記タイマーモジュールは、前記データパケットに対する肯定応答パケットを待つ期間である肯定応答待機期間の満了時、または前記肯定応答パケットを待つ期間である肯定応答送信期間の満了時に、前記複数のカテゴリのうちの1つのカテゴリである対象カテゴリに対応付けられた前記送信放棄判断期間を新たに開始し、
前記テーブルモジュールは、前記データパケットの送信完了時または前記データパケットの受信完了時に、前記対象カテゴリに対応付けられた送信予約テーブルを更新する、請求項2に記載の無線装置。
【請求項8】
前記タイマーモジュールは、前記データパケットに対する肯定応答パケットの復号完了時に、前記複数のカテゴリのうちの1つのカテゴリである対象カテゴリに対応付けられた前記送信放棄判断期間を新たに開始し、
前記テーブルモジュールは、前記データパケットの送信完了時、または前記データパケットの受信完了時に、前記対象カテゴリに対応付けられた送信予約テーブルを更新する、請求項2に記載の無線装置。
【請求項9】
前記通信モジュールは、前記複数のカテゴリのうちの1つのカテゴリである対象カテゴリに対応付けられた送信予約テーブルに当該無線装置の識別子が登録されていないとき、または前記対象カテゴリに対応付けられた送信予約テーブルの先頭に当該無線装置の識別子が登録されているとき、前記対象カテゴリに属するパケットを送信する、請求項2に記載の無線装置。
【請求項10】
請求項1から請求項9のいずれか1項に記載の無線装置を備えた無線ネットワーク。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【公開番号】特開2011−101094(P2011−101094A)
【公開日】平成23年5月19日(2011.5.19)
【国際特許分類】
【出願番号】特願2009−252867(P2009−252867)
【出願日】平成21年11月4日(2009.11.4)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成21年度、支出負担行為担当官、総務省大臣官房会計課企画官、研究テーマ「異種無線システム動的利用による信頼性向上技術の研究開発」に関する委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(393031586)株式会社国際電気通信基礎技術研究所 (905)
【Fターム(参考)】
【公開日】平成23年5月19日(2011.5.19)
【国際特許分類】
【出願日】平成21年11月4日(2009.11.4)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成21年度、支出負担行為担当官、総務省大臣官房会計課企画官、研究テーマ「異種無線システム動的利用による信頼性向上技術の研究開発」に関する委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(393031586)株式会社国際電気通信基礎技術研究所 (905)
【Fターム(参考)】
[ Back to top ]