(57)【要約】【課題】本発明は、無線通信装置において実行されるQoS制御に関して、優先度に応じた待ち時間の経過とは異なる一定の基準を満たすデータに対して優先的に送信機会を与えることで、通信の確実性及び安定性の向上を図ることを課題とする。【解決手段】送信データの属性に基づく優先度が高いほど短く定義された優先度対応時間と、該送信データの経過した待機時間との差が小さいデータを送信する優先制御手段を有する無線通信装置。【選択図】図６
2014017549.tif 000002
【特許請求の範囲】
【請求項１】
送信データの属性に基づく優先度が高いほど短く定義された優先度対応時間と該送信データの経過した待機時間との差が小さいデータを送信する優先制御手段を有する無線通信装置。
【請求項２】
前記優先度対応時間は、前記優先度に応じて決定されるデータの再送回数に基づき算出される請求項１記載の無線通信装置。
【請求項３】
前記優先制御手段は、前記優先度対応待機時間と前記経過した待機時間との差が同値である複数のデータが存在する場合、前記優先度の高いデータを送信する請求項１又は２記載の無線通信装置。
【請求項４】
前記優先制御手段は、EDCA方式に適用される請求項１乃至３のいずれか一項に記載の無線通信装置。
【請求項５】
前記待機時間は、ランダムな範囲を規定するコンテンションウィンドウ値と、前記バックオフ時間を構成する最小単位の時間であるスロットタイムとの積に基づく請求項１乃至４のいずれか一項に記載の無線通信装置。
【請求項６】
前記待機時間は、前記コンテンションウィンドウ値CWiと、スロットタイムSTと、再送回数nとにより、
【数１】
2014017549.tif 000007
と定義される請求項５記載の無線通信装置。
【請求項７】
無線通信装置において実行される優先制御方法であって、
送信データの属性に基づく優先度が高いほど短く定義された優先度対応時間と、該送信データの経過した待機時間との差が小さいデータを送信する優先制御手段として機能させるための優先制御方法。
【請求項８】
前記優先度対応時間は、前記優先度に応じて決定されるデータの再送回数に基づき算出される請求項７記載の優先制御方法。
【請求項９】
無線通信装置において実行される優先制御プログラムであって、
送信データの属性に基づく優先度が高いほど短く定義された優先度対応時間と、該送信データの経過した待機時間との差が小さいデータを送信する優先制御手段として機能させるための優先制御プログラム。
【請求項１０】
前記優先度対応時間は、前記優先度に応じて決定されるデータの再送回数に基づき算出される請求項９記載の優先制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信装置及び優先制御方法に関する。
【背景技術】
【０００２】
近年、無線LAN（Wireless Local Area Network）技術の発達やアクセスポイント設置拠点の拡大等に伴い、無線LANは電子メールやWeb閲覧だけでなく、動画視聴、VoIPによる音声通信等に至るまで様々なサービスに利用されている。このように音声通信に代表されるデータの遅延が許容され難く比較的リアルタイム性が要求されるサービスや、一方でアプリケーションにより自動的に行われるサーバとの同期や死活監視のためのバックグラウンド通信等が混在している。すなわち、サービスやアプリケーション毎に要求されるQoS(Quality of Service)レベルが異なるのが一般的である。
【０００３】
そこで、無線LANにおけるQoS制御を実現するために、EDCA（Enhanced Distributed Channel Access）方式がある。EDCAは、IEEE（米国電気電子学会）802.11eで規定され、無線LANの標準のアクセス制御方式であるCSMA/CA（Carrier Sense Multiple Access/Collision Avoidance）方式を拡張したアクセス制御方式である。
【０００４】
EDCAでは、送信データの優先度に応じた４種類のアクセスカテゴリ（AC：Access Category）に分類された送信キューに、送信パケットを格納する。そして、送信キュー毎に設定される一定のフレーム送信間隔（AIFS：Arbitration Inter Frame Space）とランダムな待機時間のバックオフ時間とを調整することで、優先度の高いキューほど早くデータを送信する。そのため、優先度の高いデータが多い通信環境下では、優先度の低いアクセスカテゴリの送信キューに送信機会を与える頻度が低くなるので、優先度の低いデータはタイムアウトによるデータの破棄が引き起こされる可能性が高くなる。したがって、通信が不確実かつ不安定となってしまう問題がある。
【０００５】
そこで、タイムアウトによるデータの破棄を抑制することを目的として、送信データの送信要求発生からの経過時間又は送信データの再送回数に応じて送信データのAIFSとバックオフ値とを調整する手段を有する通信装置に関する技術が開示されている（例えば、「引用文献１」参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、引用文献１に記載されている技術では、優先度の低いデータのAIFSとバックオフ値とが短く設定されることにより、優先度の高いデータの待ち時間との差が小さくなる。そのため、異なる優先度の送信キューの待ち時間が同時に０になり、複数のデータが同時にキューから出力される内部衝突が発生する可能性が高くなる。このため、内部衝突処理による負荷が高まり、通信装置の性能（例えば、スループット）が低下する。さらに、データのAIFSとバックオフ値とが短く設定されると、この技術が適用された複数の通信装置が同じ待ち時間を経過した後、一斉に送信を開始する可能性が高くなる。このため、無線電波空間でのパケット衝突率が増加し、通信装置の性能が低下する。
【０００７】
また、従来のEDCAの技術では、内部衝突が発生すると、優先度の低い送信キューのデータには送信機会が与えられない可能性が高く、再送上限回数を超過しデータが破棄されてしまうという問題は解決されない。
【０００８】
そこで、本発明は上記問題に鑑みてなされたものであって、本発明は、無線通信装置において実行されるQoS制御に関して、優先度に応じた待ち時間の経過とは異なる一定の基準を満たすデータに対して優先的に送信機会を与えることで、通信の確実性及び安定性の向上を図ることを課題とする。
【課題を解決するための手段】
【０００９】
そこで上記課題を解決するため、本発明は、送信データの属性に基づく優先度が高いほど短く定義された優先度対応時間と該送信データの経過した待機時間との差が小さいデータを送信する優先制御手段を有する。
【発明の効果】
【００１０】
本発明によれば、無線通信装置において実行されるQoS制御に関して、優先度に応じた待ち時間の経過とは異なる一定の基準を満たすデータに対して優先的に送信機会を与えることで、通信の確実性及び安定性の向上を図ることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態における無線通信システムの構成の一例を示す図である。
【図２】EDCA方式における送信データの処理概要及び送信キューのデータ構造の一例を示す図である。
【図３】EDCA方式におけるCSMA/CA制御の動作概要の一例を示す図である。
【図４】EDCA方式におけるコンテンツウィンドウの設定値を示す図である。
【図５】EDCA方式における内部衝突制御の動作概要の一例を示す図である。
【図６】本発明の実施の形態における無線通信装置の機能構成の一例を示す図である。
【図７】本発明の実施の形態におけるAC毎のCWmin及びCWmaxの設定値、並びにAC毎の再送上限回数の一例を示す表である。
【図８】本発明の実施の形態におけるAC毎のCWiと許容ST数の計算結果を示す表である。
【図９】本発明の実施の形態における一例を示すフローチャート図である。
【図１０】本発明の実施例１における無線通信装置の動作の一例を示す図である。
【図１１】本発明の実施の形態における送信キュー・バッファ部の初期状態の一例を示す図である。
【図１２】本発明の実施例２における無線通信装置の動作の一例を示す図である。
【図１３】本発明の実施例３における無線通信装置の動作の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、図面を用いて説明する。
【００１３】
なお、本発明の実施の形態において、OSI参照モデルの第2層のデータ（MACフレーム）及び第3層以上のデータをパケットという。
［システム構成］
図１は、本発明の実施の形態における無線通信システム１の構成の一例を示す図である。
【００１４】
無線通信システム１は、無線通信装置１０とアクセスポイント２０とを有する。無線通信装置１０とアクセスポイント２０とは、無線LAN９９（Local Area Network）を介して通信可能に接続されている。
【００１５】
無線通信装置１０は、情報処理機能及び通信機能等を有する機器であって、IEEE802.11b/ａ/g/n規格に基づき、無線通信をする機能を有する。また、本実施形態において、無線通信装置１０は、様々なデータの種類（例えば、音声、動画、メール及びアプリによるサーバとの同期目的のバックグラウンド通信等）を生成したり、送受信する。無線通信装置１０は、IEEE802.11eに規定されるEDCA方式により、これら様々なデータの種類の属性に応じた優先制御を行う。なお、無線通信装置１０は、スマートフォン、PC（Personal Computer）、タブレット型端末又はPDA（Personal Digital Assistance）等が挙げられる。
【００１６】
アクセスポイント２０は、周囲に定期的にビーコン（チャネル（周波数範囲）、ESSID、サポートしている伝送速度、セキュリティ方式、タイムスタンプ及びQoS等）を送信する。無線通信装置１０がビーコンの到達範囲に進入すると、ビーコンを受信することでプローブ要求する（自機に設定されているESSIDを送信する）。その後、アクセスポイント２０と無線通信装置１０間で認証、アソシエーションを経て、無線通信が可能となる。
【００１７】
なお、本発明の実施の形態において、図１ではアクセスポイント２０を介して接続するインフラストラクチャモードの通信形態としているが、複数の無線通信装置１０がアクセスポイント２０を介さず一対一で直接通信をするアドホックモードの通信形態であってもよい。
［EDCA方式の基本動作］
本発明の実施の形態における無線LANのアクセス制御方式としてEDCA方式を用いる。そのため、まずEDCA方式の基本動作の概要を説明する。
【００１８】
図２は、EDCA方式における送信データの処理概要及び送信キューのデータ構造の一例を示す図である。EDCAの動作概要は次のとおりである。図２に示されるように、EDCAでは、上位レイヤからデータを受け取ると、データの属性（例えば、音声や動画等のようなデータの種類）に基づく優先度に応じて４つのアクセスカテゴリ（AC：Access Category)（以下、「AC」という。）に分類する。４つのACとは、優先度が高い順にAC_VO（Voice）、AC_VI（Video）、AC_BE（Best Effort）、AC_BK（Background）がある。各ACに対応した送信キューが存在し、AC毎に分類されたパケットを、それぞれ対応するキューに格納する。次いで、パケットを送信するときにはキュー毎に独立してCSMA/CAを行い、その後無線チャネルでデータを送信する。ここで複数のキューの送信タイミングが重なる場合は、優先度の高いACのデータを送信する。アクセス制御で使用する送信前の待機時間に関するパラメータは、ACの優先度に応じて設定されており、それに従ってCSMA/CAを行うことで、パケットが送信される頻度に統計的な差を付ける。これにより優先度の高いACのデータにより多くの送信機会を与えることができる。なお、送信データのACに分類する処理は、例えばIPヘッダのTOS（Type Of Service）フィールド（８bit）の値や、IEEE802.1Qで規定されるVLAN Tagのプライオリティの値を、各ACに割り当てることにより行われる。図１に示されるように、例えば、各送信キューに振り分けられる前のパケット「P_VOi+1」のTOSが予めAC_VOとマッピングされている場合、「P_VOi+1」はAC_VOのキューに振り分けられる。
【００１９】
図３は、EDCA方式におけるCSMA/CA動作概要の一例を示す図である。図３では、AC_VOとAC_BEの二つの送信キューにおけるパケット送信処理動作を説明する。EDCAでは、パケットを送信する無線チャネルが使用中であるか確かめるためにキャリアセンスが行われる。無線チャネルが使用中でなければ、AIFS及びバックオフ時間が経過するまで待機し、その間にキャリアセンスにより無線チャネルの使用が検知されなければ送信を開始する。AIFS及びバックオフ時間は、ACの優先度に応じて設定され、優先度の高いACほど短く、優先度の低いACほど長くなる。ここで、AC_VOの優先度はAC_BEよりも高く設定されている。
【００２０】
AIFSとは、AC毎に設定されるパケット送信前の一定の待機時間であり、IEEE802.1eにおいて以下の式により定義されている。
【００２１】
【数１】
2014017549.tif 000003
ここでSIFS（Short Inter Frame Space）及びSlot Time（スロットタイム）は物理層（PHY）により定義される定数である。Slot Time（スロットタイム：ST）（以下、「ST」という。）は、AIFSとバックオフ時間を規定する基本単位時間である。AIFSN（AIFS Number）はAC毎に設定されるAIFSを定義するパラメータであり、IEEE802.1eにおいてデフォルト値は図４に示されるように規定されており、優先度の高いACほど小さい値となっている。
【００２２】
バックオフ時間とは、AC毎に設定されるパケット送信前のランダムな待機時間である。第i回目のパケット送信時のバックオフ時間は、以下の式により表される。
【００２３】
【数２】
2014017549.tif 000004
Random関数は[0, CWi]の範囲の一様な分布関数から生成される乱数値である。つまりCW（コンテンションウィンドウ：Contention Window）（以下、「CW」という。）は、乱数値の取り得る範囲を規定し、CWmin（最小値）≦CWi≦CWmax（最大値）（但し、i=1の場合、CW1 = CWmin）の関係がある。CWmin及びCWmaxの設定値はAC毎に異なり、IEEE802.1eでは図４に示されるようにAC毎にデフォルトの変数が定義され、優先度の高いACほど値が小さくなるように設定される。なお、AC毎のCWを区別する場合、例えばキューAC_VOに対応するCWは、CW[AC_VO]のように表す。
【００２４】
なお、IEEE802.11において、送信するパケットには再送の上限回数（Retry Limit）（以下、「再送上限回数」という。）が設定される。再送上限回数を超過したパケットは、送信側の端末において破棄される。ここで、キューに格納されたパケットの初回の送信から再送上限回数に到達するまでの間の、第i回目のパケット送信時のCWは次の式により表される。
【００２５】
【数３】
2014017549.tif 000005
但し、i=1の場合、CW1 = CWminである。また、CWi≦CWmaxであるので、CWiの値がCW maxより大きい場合、CWi = CWmaxである。
【００２６】
EDCAにおけるCSMA/CAの動作は、図３に示されるように、例えば、キューAC_VOの待機時間は、AIFS＝2STとバックオフ時間＝3STとの合計である5STである。一方、AC_BEのキューの待機時間は、AIFS＝3STとバックオフ時間＝7STとの合計である10STである。よって、送信までの待機時間が短い優先度の高いキューAC_VOの待機時間が先に経過するので、P_VO１に先に送信機会が与えられ、P_VO1はキューAC_VOから出力（デキュー）される。P_BE１はP_VO１が送信されるまで待機し、その時点でCSMA/CAが行われる。
【００２７】
図５は、EDCAにおいて複数のキューの待機時間が同時に0になった場合の内部衝突制御の動作概要の一例を示す図である。この場合、IEEE802.11に記述される内部衝突制御により、優先度の高いキューのパケットに送信機会が与えられ、パケットが送信される。一方、優先度の低いキューのパケットは、パケット再送回数に「1」が加算され、バックオフ時間が更新され、パケットは再送される。但し、上述したように、再送上限回数を超過した場合は、パケットは破棄される。
［機能構成］
図６は、本発明の実施の形態における無線通信装置１０の機能構成の一例を示す図である。
【００２８】
無線通信装置１０は、ＣＰＵ１１、メモリ１２及び無線LANモジュール１３等を有する。
【００２９】
メモリ１２は、無線通信装置用プログラム等が記憶されるROM、プログラムのロードやロードされたプログラムのワーク領域等として用いられるRAM及び無線通信装置１０の各種設定情報等が記憶されるNVRAM等である。また、本発明の優先制御に関して用いられるAC毎のスロットタイム数や再送上限回数等の情報が記憶される。
【００３０】
送信キュー・バッファ部１３は、アクセスポイント２０に送信するパケットのキューイング及びバッファリングを実行する。本発明の実施形態における送信キュー・バッファ部１３のキューのデータ構造は、図１に示されるEDCA方式の4つのACを有するデータ構造である。
【００３１】
無線LANモジュール１４は、例えばIEEE802.11b/ａ/g/n規格に基づき、変調方式、伝送速度、周波数等を制御し、データを送受信する。データを受信する際は、受信した電波をデジタル信号に変換し、データを送信する際は、ＣＰＵ１１から送信要求されたデータを通信規格に従って変調等して電波として送信する。無線通信装置１０のＩＰアドレスは無線LANのアクセスポイントから与えられる。無線LANモジュール１４は、IEEE802.11b/ａ/g/nの規格に応じて2.4GHz帯又は5GHz帯のISM(Industry Science Medical)バンドを用いて無線通信を行う。
【００３２】
ＣＰＵ１１は、メモリ１２のＲＡＭにロードされた無線通信装置用プログラムを処理することにより、各種の機能を実行する。ＣＰＵ１１によって実行されるプログラムには、入力制御手段１０１、優先制御手段１０２、CSMA/CA送受信制御手段１０３及び経過ST数記録手段１０４等がある。優先制御手段１０２は、出力パケット決定手段１０２１並びに、許容ST数算出・設定手段１０２３、残ST数算出手段１０２４及びバックオフ時間更新手段１０２５を含む演算手段１０２２を有する。
【００３３】
入力制御手段１０１は、送信するパケットの属性（音声、動画、静止画、メール等）に基づく優先度と予めマッピングされた送信キュー・バッファ部１３の４つのACのいずれかのキューにパケットを格納する。マッピングは、例えば、送信するパケットのIPヘッダのTOSに設定されているタイプと対応付け実行される。
【００３４】
CSMA/CA送受信制御手段１０３は、優先制御手段１０２により送信対象として決定されたパケットを、無線LANモジュール１４を制御し、送信する。
【００３５】
優先制御手段１０２は、送信キュー・バッファ部１３の４つのACのキューのいずれかに格納されたパケットのうち、演算手段１０２２により算出された一定の基準に基づき、出力パケット決定手段１０２１が先に送信する優先度の高いパケットを決定する優先制御を行う。なお、優先制御手段１０２を実現する各手段である出力パケット決定手段１０２１、許容ST数算出・設定手段１０２３、残ST数算出手段１０２４、バックオフ時間更新手段１０２５については、以下の本発明の優先制御の動作概要において説明する。
［本発明の優先制御の動作概要］
本発明の実施の形態における優先制御の動作概要を以下に説明する。
【００３６】
本発明の優先制御は次の観点に基づく。図５において上述したように、従来のEDCAの技術では、内部衝突が発生すると、優先度の低いACのキューのパケットは送信機会が与えられない可能性が高く、再送上限回数を超過するとパケットが破棄されてしまう。そのため本発明の優先制御では、パケットの内部衝突が発生しないように、AIFS及びバックオフ時間の経過とは異なる一定の基準を満たすパケットに対して優先的に送信機会を与える。一定の基準については、後述する。
【００３７】
まず、本発明の実施形態の優先制御において、各キューに格納されるパケットのスロットタイム数（以下、「ST数」という。）に基づき優先的に送信するパケットを決定する。ここで、上述したように、スロットタイム（ST）とは、AIFSとバックオフ時間とを規定する基本単位時間であり、AIFS及びバックオフ時間はSTと比例の関係にある。よって、AIFS = ｍ × ST（ｍはAC毎の定数であり、AIFSN）、バックオフ時間Backoff Time = CW × STと表される。ST数とはスロットタイムの数であり、ｍ及びCWである。
【００３８】
本発明の実施の形態における優先制御の動作は（１）〜（４）の手順で実行される。
【００３９】
（手順１）許容ST数の算出（許容ST数算出・設定手段１０２３により実行）
許容ST数とは、各ACに対応するキューにおいて、再送上限回数までパケットが送信されたと仮定した場合の各送信回のバックオフ時間の総和に対応するST数である。再送上限回数及びバックオフ時間は、ACの優先度に応じて設定される値である。よって、この許容ST数が経過する前にパケットを送信できれば、優先度に応じた品質（例えば、音声サービスやバックグラウンド通信等に要求されるサービス提供条件等）を満たすことができるといえる。許容ST数は、原則、一度算出され、メモリ１２に記憶されると、許容ST数を決定するパラメータである再送上限回数やCWが変更されない限り変更されない。許容ST数の算出方法は後述する。なお、許容ST数は上述したように優先度に応じて設定される値であるため、許容ST数とSTとの積を優先度対応時間という。
【００４０】
（手順２）経過ST数の記録（経過ST数記録手段１０４により実行）
経過ST数とは、パケットが各ACのキューに入力されてから経過したバックオフ時間対応するST数である。すなわち、送信機会が得られなかったパケットのバックオフ時間の合計である。また、このときバックオフ時間更新手段１０２５により送信機会が得られなかったパケットのバックオフ時間が更新される。
【００４１】
（手順３）パケット毎に許容ST数と、経過ST数との差（残ST数）を算出（残ST数算出手段１０２４により実行）。
【００４２】
残ST数とは、（手順１）で算出した許容ST数と、（手順２）で記録した経過ST数との差である。
【００４３】
（手順４）残ST数の最も小さいパケットを先に出力する送信パケットとして決定（出力データ決定手段１０２１により実行）
従来の方法では、４つのキューに格納された待機中のパケットから、いずれかを送信する時点でのAIFS及びバックオフ時間が経過したパケットに送信機会を与える制御であった。そのため、優先度の低いACのキューには、パケット送信機会が与えられなかった。一方、上記（手順１）〜（手順４）の手順による本発明の優先制御では、キューへのパケットの入力以降に経過した待機時間を考慮することで、優先度に応じた待機時間（AIFS及びバックオフ時間）が経過していないパケットについても送信機会を得られる確率が高くなる。また、内部衝突の発生する可能性を低下することができるため、無線通信装置１０の処理負荷を軽減することができる。
［許容ST数の算出］
上述した（手順１）において許容ST数算出・設定手段１０２３が算出する許容ST数の算出方法を説明する。
【００４４】
数式（数２）より、第i回目のパケット送信時のバックオフ時間の取り得る最大値は、CWi × STである。ここで、パケット送信の再送上限回数をnとすると、初回送信から再送上限回数n回までに経過するバックオフ時間は、
【００４５】
【数４】
2014017549.tif 000006
と表される。
【００４６】
以下、具体例を用いて許容ST数の計算方法を説明する。
【００４７】
4つのAC毎のCWmin及びCWmaxの設定値、並びにAC毎の再送上限回数の一例を示す表を図７に示す。なお、各ACのCWの設定値は、図４におけるCWmin=15、AC_BEのCWmax=63、AC_BKのCWmax=1023とした場合の計算値である。
【００４８】
キューAC_VOにおける第i回目にパケットを送信する時のCW[AC_VO]iの値は、図７と上述した数式（数３）及びその条件とに基づき、
i=1の場合、CW[AC_VO]1=３（i=1の場合、CW1 = CWminより）
i=2の場合、CW[AC_VO]2=７（CW[AC_VO]1×2+1より）
i=3の場合、CW[AC_VO]3=７（CW[AC_VO]2×2+1=15＞CW[AC_VO]maxの場合、CW[AC_VO]3= CW[AC_VO]maxであるため）
i=4の場合、CW[AC_VO]4=7
i=5の場合、CW[AC_VO]5=7
のように計算される。なお、キューAC_VOの再送上限回数は4であるので、i=6の場合は存在しない。よって、パケット送信の初回から再送上限回数までに経過するバックオフ時間の最大値は数式（数４）より「31ST」となる。ゆえに、スロットタイムの数であるST数は、「31」であり、この値がキューAC_VOの許容ST数である。他のキューについても同様に計算すると、各ACのCWi及び許容ST数は図８に示されるような値となる。
［処理手順］
図９は、本発明の実施の形態における無線通信装置１０の処理手順の一例を示すフローチャート図である。
【００４９】
まず、許容ST数算出・設定手段１０２３は、各ACのキューに対応する許容ST数を算出し、メモリ１２にキュー毎の許容ST数を設定する（S１）。許容ST数の算出結果とは、例えば図８の表に示される値である。
【００５０】
ここで、パケットのデキュー後、そのパケットが送信され、他のキューに送信待ちのパケットが存在している場合、バックオフ時間更新手段１０２５により、キューに格納されている送信待ちのパケットのバックオフ時間が更新される（Ｓ２）。なお、バックオフ時間の更新動作は、本フローチャートの初回の処理時は実行されない。
【００５１】
残ST数算出手段１０２４は、各ACのキューに格納されているパケット毎に、許容ST数と、経過ST数との差である残ST数を算出する（Ｓ３）。
【００５２】
出力パケット決定手段１０２１は、算出された各パケットの残ST数を比較し、残ST数の最も小さいパケットをキューから取り出し送信する出力パケットとして決定する（Ｓ４）。
【００５３】
出力パケット決定手段１０２１はステップＳ４で決定したパケットが複数存在するか否かを判定する（Ｓ５）。
【００５４】
ステップＳ４で決定したパケットが複数存在すると判定された場合（Ｓ５においてＹＥＳ）、出力パケット決定手段１０２１は、各ACの優先度を比較し、最も優先度の高いパケットをキューから取り出す出力パケットとして決定する（Ｓ６）。優先度は、高い順にAC_VO、AC_VI、AC_BE、AC_BKである。
【００５５】
一方、ステップＳ４で決定したパケットが複数存在しない場合（ステップＳ５においてＮＯ）、ステップＳ４で決定したパケットをキューから取り出す出力パケットとして決定する。
【００５６】
続いて、CSMA/CA送受信制御手段１０３は、ステップＳ６又はステップＳ５のＮＯのルートにより決定された出力パケットを、CSMA方式で送信する（S７）。
【００５７】
その後、経過ST記録手段１０４は、経過ST数を記録し、記録結果をバックオフ時間手段１０２５に通知する（Ｓ８）。
【００５８】
CSMA/CA送受信制御手段１０３によるパケットの送信後、送信宛先からの送信応答が受信され、パケットの送信が成功したかどうかを判定する（Ｓ９）。IEEE802.11では、パケットが宛先に確実に届いたかどうかを確認する手順は、MACサブレイヤにより実行されるACK手順として定義されている。本発明の実施の形態では、パケットを受信したアクセスポイント２０はそのパケットがACK送信を必要とするパケットである場合、ACKを返送する。無線通信装置１０において、このACKを受信できない場合は、パケット送信は失敗したと判断される。
【００５９】
パケットの送信が成功しなかった場合（Ｓ９においてＮＯ）、送信されたパケットのCW値を更新し（Ｓ１１）、ステップＳ２に処理を移行する。
【００６０】
一方、パケットの送信が成功した場合（Ｓ９においてＹＥＳ）、キューに送信待ちのパケットが存在しているか否かが判定される（Ｓ１０）。
【００６１】
各キューに送信待ちのパケットが残っていない場合（Ｓ１０においてＮＯ）、処理を完了する。
【００６２】
一方、各キューに送信待ちのパケットが残っている場合（Ｓ１０においてＹＥＳ）、ステップＳ2以降の処理が繰り返される。
［動作手順］
＜実施例１＞
図１０は、本発明の実施例１である無線通信装置１０の基本動作の一例を示す図である。
【００６３】
なお、図１０中の数値はスロットタイム数（ST数）である。
【００６４】
（初期状態）
図１１（Ａ）は、本発明の実施例１における送信キュー・バッファ部１３に格納されているパケットの初期状態を示す図である。図１１（Ａ）において、キューAV_VOにパケットP_VO1、P_VO2及びP_VO3が格納され、キューAC_VIにパケットP_VI1が格納されている。
【００６５】
また、本発明の実施例１では、許容ST数算出・設定手段１０２３は、図８に示されるように、キューAC_VOの許容ST数を「31」に設定し、キューAC_VIの許容ST数を「67」に設定する。つまり、送信のための待機時間が経過していない図１０の初期状態では、残ST数算出手段1０２４により、パケットP＿VO１〜３の許容ST数と経過ST数との差である残STが「31」、パケットP_VI1の残ST数が「67」と算出されている。
【００６６】
図１０に示されるように、初期状態におけるP_VO1のAIFS［VO10］のST数は「2」、初期のバックオフ時間［VO10］のST数は「3」であり、P_VI1のAIFS［VI10］のST数は「3」、初期のバックオフ時間［VI10］のST数は「7」である。なお、P_VO2及びP_VO3のAIFS及びバックオフ時間は、P_VO1と同値である。
【００６７】
（状態１）
（ａ）出力パケットの決定と送信
出力パケット決定手段１０２１は、P_VO1の残ST数「31」とP_VI1の残ST数「67」とを比較し、最も小さい残ST数のP_VO1をキューから取り出す出力パケットとして決定し、CSMA/CA送受信部１０３へ送信対象のパケットのメモリアドレスを通知する。次いで、CSMA/CA送受信部１０３は、CSMA/CA方式で、パケットP_VO1を送信する。
【００６８】
（ｂ）残ST数の算出と更新
P_VO1を送信した時点において、P_VO1のバックオフ時間は「3ST」経過している。よって、経過ST数記録手段１０４は、経過ST数を「3」と記録する。残ST数算出手段１０２４により算出されたP_VI1の許容ST数「67」と経過ST数「3」との差である残ST数「64」が、（状態２）におけるP_VI1の残ST数となる。
【００６９】
（ｃ）バックオフ時間の更新
P_VO1が送信されるまでに経過したP_VI1のバックオフ時間のST数は、（AIFS［VO0］のST数「２」）＋（バックオフ時間［VO0］のST数「３」）−（AIFS［VI0］のST数「３」）により「２」と算出される。ここで、バックオフ時間更新手段１０２５は、（状態２）におけるP_VI1のバックオフ時間を算出する。P_VI1の初期のバックオフ時間［VI0］のST数「７」と、P_VO1が送信されるまでに経過したP_VI1のバックオフ時間のST数「2」との差「5」が、（状態２）におけるP_VI1のバックオフ時間となる。
【００７０】
（状態２）
（ａ）出力パケットの決定と送信
P_VO1の送信後、キューAC_VOではP_VO2が送信待ち状態となっている。出力パケット決定手段１０２１は、P_VO2の残ST数「31」とP_VI1の残ST数「64」とを比較し、最も小さい残ST数のP_VO2をキューから取り出す出力パケットとして決定し、CSMA/CA送受信部１０３へ送信対象のパケットのメモリアドレスを通知する。次いで、CSMA/CA送受信部１０３は、CSMA/CA方式で、パケットP_VO2を送信する。
【００７１】
（ｂ）残ST数の算出と更新
P_VO2を送信した時点において、P_VO2のバックオフ時間は「3ST」経過している。よって、経過ST数記録手段１０４は、経過ST数を「3」と記録する。残ST数算出手段１０２４により算出されたP_VI1の許容ST数「64」と経過ST数「3」との差である残ST数「61」が、（状態３）におけるP_VI1の残ST数となる。
【００７２】
（ｃ）バックオフ時間の更新
P_VO２が送信されるまでに経過したP_VI１のバックオフ時間のST数は、（AIFS［VO0］のST数「２」）＋（バックオフ時間［VO0］のST数「３」）−（AIFS［VI0］のST数「３」）により「２」と算出される。ここで、バックオフ時間更新手段１０２５は、（状態３）におけるP_VI1のバックオフ時間を算出する。（状態２）におけるP_VI1のバックオフ時間［VI］のST数「5」と、P_VO1が送信されるまでに経過したP_VI1のバックオフ時間のST数「2」との差「3」が、（状態３）におけるP_VI1のバックオフ時間となる。
【００７３】
（状態３）
（ａ）出力パケットの決定と送信
P_VO2の送信後、キューAC_VOではP_VO3が送信待ち状態となっている。出力パケット決定手段１０２１は、P_VO2の残ST数「31」とP_VI1の残ST数「61」とを比較し、最も小さい残ST数のP_VO3をキューから取り出す出力パケットとして決定し、CSMA/CA送受信部１０３へ送信対象のパケットのメモリアドレスを通知する。次いで、CSMA/CA送受信部１０３は、CSMA/CA方式で、パケットP_VO3を送信する。
【００７４】
（ｂ）残ST数の算出と更新
P_VO3を送信した時点において、P_VO3のバックオフ時間は「3ST」経過している。よって、経過ST数記録手段１０４は、経過ST数を「3」と記録する。残ST数算出手段１０２４により算出されたP_VI１の許容ST数「61」と経過ST数「3」との差である残ST数「58」が、（状態４）におけるP_VI1の残ST数となる。
【００７５】
（ｃ）バックオフ時間の更新
P_VO３が送信されるまでに経過したP_VI１のバックオフ時間のST数は、（AIFS［VO0］のST数「２」）＋（バックオフ時間［VO0］のST数「３」）−（AIFS［VI0］のST数「３」）により「２」と算出される。ここで、バックオフ時間更新手段１０２５は、（状態４）におけるP_VI1のバックオフ時間を算出する。（状態３）におけるP_VI1のバックオフ時間［VI］のST数「3」と、P_VO1が送信されるまでに経過したP_VI1のバックオフ時間のST数「2」との差「1」が、（状態４）におけるP_VI1のバックオフ時間となる。
【００７６】
（状態４）
ここで（状態３）において送信されたP_VO3が送信に失敗し、再送される場合の動作を説明する。P_VO3の送信に失敗したため、（状態４）の初期状態では、P_VO3のCWとバックオフ時間とが更新される。このときのP_VO3のCWは、上述した数式（数３）に基づき計算すると「７」となる。よって、P_VO3のバックオフ時間は「７ST」に更新される。また、（状態３）におけるP_VO3のST数が「３」経過されているため、（状態３）のP_VO３の許容ST数「31」と経過ST数「3」との差である残ST数「28」が、（状態４）におけるP_VO3の残ST数となる。
【００７７】
（ａ）出力パケットの決定と送信
出力パケット決定手段１０２１は、P_VO3の残ST数「28」とP_VI1の残ST数「58」とを比較し、最も小さい残ST数のP_VO3をキューから取り出す出力パケットとして決定し、CSMA/CA送受信部１０３へ送信対象のパケットのメモリアドレスを通知する。なお、この場合P_VI1の残ST数がP_VO3より大きいため、P_VI1の待機時間がパケットP_VO3より先に経過しても（待機時間が０になっても）、P_VI1は出力されない。次いで、CSMA/CA送受信部１０３は、CSMA/CA方式で、パケットP_VO3を送信する。
【００７８】
（ｂ）残ST数の算出と更新
P_VO3を送信した時点において、P_VO3のバックオフ時間は「7ST」経過している。よって、経過ST数記録手段１０４は、経過ST数を「7」と記録する。残ST数算出手段１０２４により算出されたP_VI１の許容ST数「５８」と経過ST数「7」との差である残ST数「51」が、（状態５）におけるP_VI1の残ST数となる。
【００７９】
（ｃ）バックオフ時間の更新
P_VO３が送信されるまでに経過したP_VI１のバックオフ時間のST数は、（AIFS［VO0］のST数「２」）＋（バックオフ時間［VO］のST数「７」）−（AIFS［VI0］のST数「３」）により「６」と算出される。ここで、バックオフ時間更新手段１０２５は、（状態５）におけるP_VI1のバックオフ時間を算出する。（状態４）におけるP_VI1のバックオフ時間［VI］のST数「１」と、P_VO1が送信されるまでに経過したP_VI1のバックオフ時間のST数「６」との差は「−5」＜0であるため、（状態５）におけるP_VI1のバックオフ時間は更新されない。
【００８０】
（状態５）
（ａ）出力パケットの決定と送信
出力パケット決定手段１０２１は、P_VO3を除き送信キューには送信待ち状態のパケットが存在しないため、最も小さい残ST数のP_VO3をキューから取り出す出力パケットとして決定し、CSMA/CA送受信部１０３へ送信対象のパケットのメモリアドレスを通知する。次いで、CSMA/CA送受信部１０３は、CSMA/CA方式で、パケットP_VO3を送信する。
【００８１】
＜実施例２＞
図１２は、本発明の実施例２である無線通信装置１０の動作の一例を示す図である。実施例２では、本発明の優先制御により、従来技術に比べ優先度の低いパケットに送信機会が与えられる様子を説明する。なお、図１２の数値はスロットタイム数（ST数）である。
【００８２】
（初期状態）
図１１（B）は、本発明の実施例２における送信キュー・バッファ部１３に格納されているパケットの初期状態を示す図である。図１１（B）において、キューAV_VOにパケットP_VO1、P_VO2、P_VO3・・・P_VOiが格納され、キューAC_BKにパケットP_BK1が格納されている。
【００８３】
また、本発明の実施例２では、許容ST数算出・設定手段１０２３は、図８に示されるように、キューAC_VOの許容ST数を「31」に設定し、キューAC_BKの許容ST数を「3048」に設定する。つまり、送信のための待機時間が経過していない図１２の初期状態では、残ST数算出手段1０２４により、パケットP_VOiの許容ST数と経過ST数との差である残STが「31」、パケットP_BK1の残ST数が「3048」と算出されている。
【００８４】
図１２に示されるように、初期状態におけるP_VOiのAIFS［VOi0］のST数は「2」、初期のバックオフ時間［VOi0］のST数は「3」であり、P_BK1のAIFS［BK10］のST数は「７」、初期のバックオフ時間［VI10］のST数は「15」である。
【００８５】
（状態１'）
（ａ）出力パケットの決定と送信
出力パケット決定手段１０２１は、P_VO1の残ST数「31」とP_BK1の残ST数「3048」とを比較し、最も小さい残ST数のP_VO1をキューから取り出す出力パケットとして決定し、CSMA/CA送受信部１０３へ送信対象のパケットのメモリアドレスを通知する。次いで、CSMA/CA送受信部１０３は、CSMA/CA方式で、パケットP_VO1を送信する。
【００８６】
（ｂ）残ST数の算出と更新
P_VO1を送信した時点において、P_VO1のバックオフ時間は「3ST」経過している。よって、経過ST数記録手段１０４は、経過ST数を「3」と記録する。残ST数算出手段１０２４により算出されたP_BK1の許容ST数「3048」と経過ST数「3」との差である残ST数「3045」が、（状態２'）におけるP_BK1の残ST数となる。
【００８７】
（ｃ）バックオフ時間の更新
P_VO1が送信されるまでに経過したP_BK1のバックオフ時間のST数は、（AIFS［VO0］のST数「2」）＋（バックオフ時間［VO0］のST数「3」）−（AIFS［BK0］のST数「７」）により「−2」＜0であるため、バックオフ時間更新手段１０２５は、（状態２'）におけるP_BK1のバックオフ時間は更新せず、（状態２'）におけるP_BK1のバックオフ時間は「15」となる。
【００８８】
（状態２'）
（ａ）出力パケットの決定と送信
P_VO1の送信後、キューAC_VOではP_VO2が送信待ち状態となっている。出力パケット決定手段１０２１は、P_VO２の残ST数「31」とP_BK1の残ST数「3045」とを比較し、最も小さい残ST数のP_VO2をキューから取り出す出力パケットとして決定し、CSMA/CA送受信部１０３へ送信対象のパケットのメモリアドレスを通知する。次いで、CSMA/CA送受信部１０３は、CSMA/CA方式で、パケットP_VO1を送信する。
【００８９】
（ｂ）残ST数の算出と更新
P_VO2を送信した時点において、P_VO2のバックオフ時間は「3ST」経過している。よって、経過ST数記録手段１０４は、経過ST数を「3」と記録する。残ST数算出手段１０２４により算出されたP_BK1の許容ST数「3045」と経過ST数「3」との差である残ST数「3042」が、次に遷移する状態におけるP_BK1の残ST数となる。
【００９０】
（ｃ）バックオフ時間の更新
P_VO2が送信されるまでに経過したP_BK1のバックオフ時間のST数は、（AIFS［VO0］のST数「2」）＋（バックオフ時間［VO0］のST数「3」）−（AIFS［BK0］のST数「７」）により「−2」＜0である。そのため、バックオフ時間更新手段１０２５は、次に遷移する状態におけるP_BK1のバックオフ時間は更新せず、次に遷移する状態におけるP_BK1のバックオフ時間は「15」となる。
【００９１】
（状態ｉ）
上記のようにパケット送信処理が繰り返されると、P_VOiの送信時にP_BK１の残り許容ST数が30になる（i=1007のとき）。
【００９２】
（ａ）出力パケットの決定と送信
P_VOi-1の送信後、キューAC_VOではP_VOiが送信待ち状態となっている。出力パケット決定手段１０２１は、P_VOiの残ST数「31」とP_BK1の残ST数「30」とを比較し、最も小さい残ST数のP_BK1をキューから取り出す出力パケットとして決定し、CSMA/CA送受信部１０３へ送信対象のパケットのメモリアドレスを通知する。なお、この場合P_VOiの残ST数がP_BK1より大きいため、P_VOiの待機時間がP_BK1より先に経過しても（待機時間が０になっても）、P_VOiは出力されない。次いで、CSMA/CA送受信部１０３は、CSMA/CA方式で、パケットP_BK1を送信する。
【００９３】
（ｂ）残ST数の算出と更新
P_BK1を送信した時点において、P_BK1のバックオフ時間は「15ST」経過している。よって、経過ST数記録手段１０４は、経過ST数を「15」と記録する。残ST数算出手段１０２４により算出されたP_VOiの許容ST数「31」と経過ST数「15」との差である残ST数「16」が、次に遷移する（状態ｉ＋１）におけるP_BK1の残ST数となる。
【００９４】
（ｃ）バックオフ時間の更新
P_BK1が送信されるまでに経過したP_VOiの時間のST数は、（AIFS［BK0］のST数「7」）＋（バックオフ時間［BK0］のST数「15」）−（AIFS［VO0］のST数「2」）により「20」となり、P_VOiのバックオフ時間［VOi］のST数「３」より大きい。そのため、次に遷移する（状態ｉ＋１）においてP_VOiのバックオフ時間［VOi］は更新されない。
【００９５】
（状態ｉ＋１）
出力パケット決定手段１０２１は、P_VOiを除き送信キューには送信待ち状態のパケットが存在しないため、最も小さい残ST数のP_VOiをキューから取り出す出力パケットとして決定し、CSMA/CA送受信部１０３へ送信対象のパケットのメモリアドレスを通知する。次いで、CSMA/CA送受信部１０３は、CSMA/CA方式で、パケットP_VOｉを送信する。
【００９６】
上述したように、パケットP_BK1を送信するまでに経過したバックオフ時間のST数は、許容ST数［BK］：「3048」と残ST数［BK］：「30」との差「3018」である。つまり、本発明の実施形態では、P_BK1を送信するまでに実際に経過したバックオフ時間は「3018ST」であり、キューAC_BKにおける最大となるバックオフ時間の合計値「3048ST」より短くなる。このため、優先度の低いACであるキューAC_BKに格納されたパケットをより早く送信することができ、この場合P_BK（バックグラウンド通信）に要求されるサービス提供条件等を満たすことができる。
【００９７】
＜実施例３＞
図１３は、本発明の実施例３である無線通信装置１０の動作の一例を示す図である。実施例３では、各ACのキューに存在するパケットの残ST数が最小かつ同値である場合の動作を説明する。なお、図１２の数値はスロットタイム数（ST数）である。
【００９８】
（初期状態）
図１１（C）は、本発明の実施例３における送信キュー・バッファ部１３に格納されているパケットの初期状態を示す図である。図１１（C）において、キューAV_VOにパケットP_VO1、キューAC_VIにP_VI1、キューAC_BKにP_BK1が格納されている。
【００９９】
また、本発明の実施例３の初期状態では、図１３に示されるように残ST数算出手段1０２４によって、キューAC_VOの残ST数が「31」、キューAC_VIの残ST数が「28」、キューAC_BKの残ST数が「28」と算出されている。
【０１００】
また、図１３に示されるように初期状態におけるP_VO1のAIFS［VO0］のST数は「2」、初期のバックオフ時間［VO0］のST数は「3」である。P_VI1のAIFS［VI0］のST数は「3」、初期のバックオフ時間［VI0］のST数は「3」である。P_BK1のAIFS［BK0］のST数は「７」、初期のバックオフ時間［VI0］のST数は「15」である。
【０１０１】
（状態１"）
（ａ）出力パケットの決定と送信
出力パケット決定手段１０２１は、P_VO1の残ST数「31」とP_VI1の残ST数「28」とP_BK1の残ST数「28」とを比較し、最も小さい残ST数のパケットをキューから取り出す出力パケットとして決定する。ここで、P_VI1とP_BK1との残ST数は最小かつ同値であるため、出力パケット決定手段１０２１は、より優先度の高いACであるキューAC_VIに格納されているP_VI1をキューから取り出す出力パケットとして決定する。次いで、出力パケット決定手段１０２１は、CSMA/CA送受信部１０３へ送信対象のパケットのメモリアドレスを通知する。次いで、CSMA/CA送受信部１０３は、CSMA/CA方式で、パケットP_VI1を送信する。
【０１０２】
（ｂ）残ST数の算出と更新
P_VI1を送信した時点において、P_VI1のバックオフ時間は「3ST」経過している。よって、経過ST数記録手段１０４は、経過ST数を「3」と記録する。P_VO1の残ST数は、（状態１"）の許容ST数「３１」と経過ST数「3」との差である残ST数「２８」が、次に遷移する（状態２"）におけるP_VO1の残ST数となる。次に遷移する（状態２"）におけるP_BK1の残ST数は、P_VO1の残ST数の算出の場合と同様にして、「25」となる。
【０１０３】
（ｃ）バックオフ時間の更新
P_VI1が送信されるまでに経過したP_VO１の時間のST数は、（AIFS［VI0］のST数「3」）＋（バックオフ時間［VI0］のST数「3」）−（AIFS［VO0］のST数「2」）により「4」となり、P_VOiのバックオフ時間［VOi］のST数「３」より大きい。そのため、次に遷移する（状態２"）においてP_VO1のバックオフ時間［VO］は更新されず、次に遷移する状態におけるP_VO1のバックオフ時間は「3」となる。
【０１０４】
一方、P_VI1が送信されるまでに経過したP_BK1のバックオフ時間のST数は、（AIFS［VI0］のST数「3」）＋（バックオフ時間［VI0］のST数「3」）−（AIFS［BK0］のST数「７」）により「−1」＜0である。そのため、バックオフ時間更新手段１０２５は、次に遷移する（状態２"）におけるP_BK1のバックオフ時間は更新されず、次に遷移する状態におけるP_BK1のバックオフ時間は「15」となる。
【０１０５】
（状態２"）
（ａ）出力パケットの決定と送信
出力パケット決定手段１０２１は、P_VO1の残ST数「28」とP_BK1の残ST数「25」とを比較し、最も小さい残ST数のP_BK1をキューから取り出す出力パケットとして決定し、CSMA/CA送受信部１０３へ送信対象のパケットのメモリアドレスを通知する。なお、この場合P_VO1の残ST数がP_BK1より大きいため、P_VO1の待機時間がP_BK1より先に経過しても（待機時間が０になっても）、P_VO1は出力されない。次いで、CSMA/CA送受信部１０３は、CSMA/CA方式で、パケットP_BK1を送信する。
【０１０６】
上述したように、本発明の優先制御は、従来の優先制御方式にない新たな方法を提案するものであって、優先度に応じた待ち時間の経過とは異なる一定の基準を満たすデータに対して優先的に送信機会を与えることで、通信の確実性及び安定性の向上を図ることできる。また、本発明の優先制御を適用することで、パケットの内部衝突の発生確率を低下させ、特に優先度の低いパケットの送信機会を高めるとともに、機器の処理負荷を軽減することができる。
[変形例]
なお、本発明の実施の形態において、本発明における優先制御方式をEDCA方式の優先制御に適用したが、その他のQoS制御に適用してもよい。
【０１０７】
また、本発明の実施の形態において、本発明における優先制御方式を無線LAN（IEEE802.11x）に適用したが、有線LANにおけるQoS制御に適用してもよい。
【０１０８】
以上、本発明の実施の形態について詳述したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【符号の説明】
【０１０９】
１              無線通信システム
１０            無線通信装置
１３            送信キュー・バッファ部
１０１          入力制御手段
１０２          優先制御手段
１０３          CSMA/CA送受信制御手段
１０４          経過ST数記録手段
１０２１        出力パケット決定手段
１０２２        演算手段
１０２３        許容ST数算出・設定手段
１０２４        残ST数算出手段
１０２５        バックオフ時間更新手段
【先行技術文献】
【特許文献】
【０１１０】
【特許文献１】特開２００６−１３５４４１号公報
【図１】
2014017549.tif 000008
【図２】
2014017549.tif 000009
【図３】
2014017549.tif 000010
【図４】
2014017549.tif 000011
【図５】
2014017549.tif 000012
【図６】
2014017549.tif 000013
【図７】
2014017549.tif 000014
【図８】
2014017549.tif 000015
【図９】
2014017549.tif 000016
【図１０】
2014017549.tif 000017
【図１１】
2014017549.tif 000018
【図１２】
2014017549.tif 000019
【図１３】
2014017549.tif 000020