(57)【要約】【課題】複数の送信ポリシーに対応してフレームを送出することができるメディア・アクセス・コントローラ装置を提供する。【解決手段】ワイヤレスLANにおいて送信機会の獲得を制御するメディア・アクセス・コントロール装置において、送信対象のフレームを当該フレームの送信優先度を有する送信ポリシーに対応してそれぞれ格納する複数の送信キュー(23)と、メディアの状態に基づいて送信機会の獲得を制御し、獲得した送信機会に対応する送信ポリシーのフレームを送信キューから読み出して送出する送信コントローラ(34)と、上位層から供給されるフレームを、当該フレームの送信ポリシーに基づき且つ当該送信ポリシーに対応する送信キューの空き状態に基づいて、送信キューに転送する送信フレーム転送手段(10,15,18)とを有する。複数の送信ポリシーに対応して複数の送信キューを設け、その送信キューに送信対象のフレームを予め転送しておくので、複数の送信ポリシーに対応する送信機会獲得時にそれに対応するフレームをタイムロスすることなく送出することができる。【選択図】図４
2005065226.tif 000002
【特許請求の範囲】
【請求項１】
ワイヤレスLANにおいて送信機会の獲得を制御するメディア・アクセス・コントロール装置において、
送信対象のフレームを当該フレームの送信優先度を有する送信ポリシーに対応してそれぞれ格納する複数の送信キューと、
メディアの状態に基づいて送信機会の獲得を制御し、獲得した送信機会に対応する送信ポリシーのフレームを前記送信キューから読み出して送出する送信コントローラと、
上位層から供給されるフレームを、当該フレームの送信ポリシーに基づき且つ当該送信ポリシーに対応する送信キューの空き状態に基づいて、前記送信キューに転送する送信フレーム転送手段とを有することを特徴とするメディア・アクセス・コントロール装置。
【請求項２】
請求項１において、
前記送信フレーム転送手段は、前記複数の送信キューのうち未使用の送信キューに、前記上位層から供給された送信フレームの前記送信ポリシーを動的に割り当てることを特徴とするメディア・アクセス・コントロール装置。
【請求項３】
請求項２において、
前記送信フレーム転送手段は、前記上層から供給されたフレームのうち最も高い送信優先度の送信ポリシーを有するフレームを検出し、当該検出したフレームの送信ポリシーを前記未使用の送信キューに割り当てることを特徴とするメディア・アクセス・コントロール装置。
【請求項４】
請求項２において、
前記送信ポリシーは、前記送信コントローラが競合手続により獲得する第１の送信機会で送出される送信ポリシーと、前記送信コントローラが競合手続なしに与えられる第２の送信機会で送出される送信ポリシーとを有し、
前記第１の送信機会の送信ポリシーは、更に、前記競合手続における送信機会獲得手続の単位に対応する複数のアクセス・カテゴリを有し、当該複数のアクセス・カテゴリは、異なる前記送信優先度を有し、
前記複数の送信キューは、少なくとも、前記第１の送信機会の送信ポリシーに対応し且つ前記アクセス・カテゴリに対応して割り当てられ、更に、前記複数の送信キューは、前記第２の送信機会の送信ポリシーにも対応して割り当てられることを特徴とするメディア・アクセス・コントローラ装置。
【請求項５】
請求項２において、
前記送信ポリシーは、前記送信コントローラが競合手続により獲得する第１の送信機会で送出される送信ポリシーを有し、前記第１の送信機会の送信ポリシーは、更に、前記競合手続における送信機会獲得手続の単位に対応する複数のアクセス・カテゴリを有し、少なくとも１つのアクセス・カテゴリは、更に、複数の送信優先度を有する送信ＩＤを有し、
前記送信フレーム転送手段は、あるアクセス・カテゴリに属する複数の送信ＩＤに対しては、単一の送信キューのみを割り当てることを特徴とするメディア・アクセス・コントローラ装置。
【請求項６】
請求項１において、
更に、前記上層から供給されたフレームを一時的に格納するフレームデータバッファを有し、
前記フレームデータバッファ内に格納された転送対象のフレームのサイズが、当該フレームの送信ポリシーに対応する送信キューの残り領域よりも大きい場合であっても、当該送信キューからフレームの送出が開始した時に、前記転送対象のフレームのサイズが、送出完了後の当該送信キューの予想残り領域より小さい場合には、、前記送信フレーム転送手段は、当該転送対象のフレームを対応する送信キューに、先行して転送することを特徴とするメディア・アクセス・コントロール装置。
【請求項７】
請求項１において、
更に、送信フレーム転送手段から転送されたフレームを一時的に格納するインターフェースキューを有し、
所定の送信対象フレームを対応する送信キューに転送した後、当該転送対象の送信キューとは異なる送信キューに異なる送信対象フレームを転送する場合は、前記送信フレーム転送手段は、前記インターフェースキューが空き状態の時に転送することを特徴とするメディア・アクセス・コントロール装置。
【請求項８】
ワイヤレスLANにおいて送信機会の獲得を制御するメディア・アクセス・コントロール装置において、
上位層から供給されるフレームを一時的に格納するフレームデータバッファと、
送信対象のフレームを当該フレームの送信ポリシーに対応して格納する送信キューと、
メディアの状態に基づいて送信機会の獲得を制御し、獲得した送信機会に対応する送信ポリシーのフレームを前記送信キューから送出する送信コントローラと、
前記送信キューからフレームを送出完了するたびに前記送信コントローラが通知する送信完了通知に応答して、前記フレームデータバッファ内に格納された転送対象フレームのサイズが、当該送信キュー内の送信対象フレームの送出完了後における当該送信キュー内の残り領域より小さい場合に、当該転送対象フレームを対応する送信キューに先行して転送する送信キュー制御手段とを有することを特徴とするメディア・アクセス・コントロール装置。
【請求項９】
ワイヤレスLANにおいて送信機会の獲得を制御するメディア・アクセス・コントロール装置において、
フレーム送信毎に受信側からのアクノリッジメントをチェックしないでフレーム送信を行う第１の送信ポリシーと、フレーム送信毎に受信側からのアクノリッジメントをチェックしてフレーム送信または再送信を行う第２の送信ポリシーとに対応して、それぞれ割り当てられる第１及び第２の送信キューと、
メディアの状態に基づいて送信機会の獲得を制御し、送信機会の獲得に応答して、前記第１及び第２の送信キュー内のフレームを順次送出する送信コントローラと、
前記第１及び第２の送信ポリシーに対応するフレームを、前記第１及び第２の送信キューの空き状態に基づいて、前記第１及び第２の送信キューにそれぞれ転送する送信キュー制御手段とを有し、
前記送信キュー制御手段は、前記第２の送信ポリシーのフレームの送信中に、当該第２の送信ポリシーに割り当てられた送信機会の期間中にフレームの送信完了ができないことを予測した時に、前記第２の送信ポリシーのフレームの送出を前記送信コントローラに中断させることを特徴とするメディア・アクセス・コントロール装置。
【請求項１０】
ワイヤレス通信において送信機会の獲得を制御するメディア・アクセス・コントロール装置において、
送信対象のフレームを当該フレームの送信ポリシーに対応してそれぞれ格納する複数の送信キューと、
前記複数の送信キューに、前記送信対象のフレームの送信ポリシーを動的に割り当て、当該送信対象のフレームを、当該フレームの送信ポリシーに割り当てられた送信キューの空き状態に基づいて、前記送信キューに転送する送信キュー制御手段と、
メディアの状態に基づいて送信機会の獲得を制御し、獲得した送信機会に対応する送信ポリシーのフレームを前記送信キューから送出する送信コントローラとを有することを特徴とするメディア・アクセス・コントロール装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワイヤレスＬＡＮ用のメディア・アクセス・コントロール（MAC：Media Access Control)装置に関し、特に、クオリティ・オブ・サービス（QoS）要求をもったＬＡＮアプリケーションを提供可能なメディア・アクセス・コントロール装置に関する。
【背景技術】
【０００２】
近年においてワイヤレスＬＡＮが普及している。ワイヤレスＬＡＮは、IEEE802.11で規格化され、物理層とMAC層の仕様が定められている。物理層のプロトコルとしてCDMA（Code Division Multiple Access、符号分割多重接続）方式、MAC層のプロトコルとしてCSMA/CA（Carrier Sense Multiple Access with Collision Avoidance、搬送波感知多重アクセス／衝突回避）方式がそれぞれ採用され標準化されている。特に近年において普及が進んでいるIEEE802.11aやIEEE802.11bは、このIEEE802.11に追加された物理層の仕様である。
【０００３】
図１は、ワイヤレスLANの概略を説明する図である。一つのアクセスポイントAPに対して複数のステーションST1,2,3がワイヤレス通信可能になっている。ステーションSTはパソコンや携帯情報端末などからなる端末であり、送信権または送信機会を得ると空間のメディア上にフレームデータを送信する。この送信機会は一つのステーションまたはアクセスポイントのみしか獲得できず、複数のステーションやアクセスポイントが同時にフレームデータを送信する衝突を回避するアルゴリズムとして、CSMA/CAが採用されている。１つのワイヤレスLANの送信権制御方法については、以下の特許文献１に記載されている。
【０００４】
図２は、その衝突回避アルゴリズムを説明する図である。複数のステーションST1,ST2は、だれも電波を送出していないことを確認してデータを送信して電波が混ざることを防止し、更にランダムな時間を待ってからデータ送信を開始することで、複数のステーションが同時にデータを送り出すことを防止している。図２に示した例では、アイドル状態になると各端末は一定のDIFS（Distributed Coordination Function (DCF) Interframe Space:データ用のフレーム間ギャップ）時間待機した後、更に各端末でランダムに与えられたバックオフの時間待機して、待機後にいずれの端末も電波を送信していないことを確認してから、データ送信を開始する。各端末でのバックオフの時間がランダムに与えられているので、いずれかの端末のみが最初に送信機会を得ることができる。図２の例では、ステーションST1が送信機会を得ている。そして、データ送信が終了してアイドル状態になった後、アクセスポイントＡＰは、SIFS（short interframe space: ACK用の短いフレーム間ギャップ）時間待機した後、アクノリッジACKを返信する。このSIFS時間はDISF時間よりも短く設定されているので、アクセスポイントＡＰが優先的に送信機会を獲得することができる。
【０００５】
一連のデータ送信とアクノリッジ返信が完了して空間メディアが再びアイドル状態になると、前述と同様に、一定のDIFS時間待機し、各端末毎に異なるランダムなバックオフの時間待機し、今度はステーションST2が送信機会を得ている。そして、同様に、ステーションST2によるデータ送信が終了すると、SIFS時間後にアクセスポイントＡＰがアクノリッジを返信している。
【０００６】
図３は、従来のMAC層用デバイスの構成図である。ワイヤレスLAN端末は、LLＣ層（Logical Link Control: 論理リンク制御）ブロック１と、LLC層ブロック１から供給されるフレームデータを一旦待機させ、そのフレームデータをどのような方法でメディア上に送出するかを制御するMAC層ブロック２と、データの変調、復調などを行う物理層ブロック４０とから構成される。これらのブロックは、単一のＬＳＩにより実現されることもあれば、複数のＬＳＩで実現されることもある。
【０００７】
MAC層ブロック２は、ソフトウエアを実行するマイクロコントローラ１９により制御されるファームウエア部１０と、ハードウエア部２０とで構成され、MAC機能の一部をファームウエア部１０で実現することにより、単純で速度が要求される処理はハードウエア部２０で行い、比較的速度を必要としない複雑な処理はファームウエア部で行っている。ファームウエア部１０内には、LLC層からのフレームデータを一時的に格納して待機させるフレームデータバッファ１１が設けられている。そして、マイクロコントローラ１９はフレームデータバッファ１１内の送信すべきフレームデータをハードウエア部２０内のインターフェースキュー２１に転送する。このフレームデータの転送は、マイクロコントローラのバスを経由するDMA転送により行われる。
【０００８】
MACハードウエア部２０では、バッファであるインターフェースキュー２１に格納されているフレームデータが、暗号化処理部２２により暗号化され、暗号化されたフレームデータがバッファである送信キュー（Transmission Queue）２３に格納される。送信キュー２３は、送信機会を獲得するまでフレームデータを格納しておくキューバッファである。そして、送信コントローラ（Transmission Controller）２４は、物理層ブロック４０からのメディア状態の情報に基づいてフレームデータの送信機会を管理し、送信機会を得た時に、送信キュー２３内のフレームデータを物理層ブロック４０に送出する。物理層ブロックでは、フレームデータが変調されて、送信メディアである空間上に送信される。
【０００９】
送信コントローラ２４による送信機会獲得のアルゴリズムは前述した通りである。即ち、MAC層２では、周辺に存在する複数のステーションが同時にフレームを送信してフレームが衝突することをできるだけ避けるようなアクセス制御手順を実行する。前述したとおり、送信したいステーションはメディアがアイドル状態になると、一定のDIFS時間待機し、更に乱数×スロットタイム時間待つ。このバックオフの時間経過時にメディアがアイドルで有れば、そのステーションが送信機会を獲得し、フレームを送信することができる。メディアがビジーになっていると送信を留保する。上記の乱数は、０からコンテンションウインドウCW（Contention Window）の間の一様分布関数の擬似ランダム整数で最小値と最大値が定められ、CWはフレーム送信の再送が行われる毎に最小値から最大値へ指数的に増加する。また、前述したとおり、データ送信に応答してアクノリッジACKを返信することが行われる。
【００１０】
具体的には、送信コントローラ２４は、物理層ブロック４０からメディア状態を通知され、DIFS時間アイドル状態であればランダム・バックオフ処理を実施し、その間に物理層ブロック４０からメディアビジー情報を通知されなければ、送信機会を獲得したことになり、送信キュー２３内のフレームデータを物理層ブロック４０に送出する。フレーム送信が成功または失敗すると、送信コントローラ２４は、送信完了信号tx_resultをファームウエア１０に通知する。送信成功であれば、ファームウエアのマイクロコントローラ１９はフレームデータバッファ１１内のフレームデータを再度インターフェースキューにDMA転送する。
【００１１】
このように、各端末のMAC層ブロックでは、LLC層１からのフレームデータを、その到着順に、送信機会を獲得した時にメディアに送信するという単純な送信制御を行っている。そして、１回の送信機会で送信できるのは１つのフレームに限られている。
【特許文献１】特開２００３−２３４３４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ワイヤレスＬＡＮが普及するに伴い、ワイヤレスLANでも音声、オーディオ、ビデオデータの送信などのクオリティ・オブ・サービス（QoS）要求を持つワイヤレスLANの要求が高まりつつある。しかしながら、上記のとおり、現在普及しているIEEE802.11のMAC仕様では、フレームデータの種類にかかわらず到着順にフレームを送信することしか行っておらず、更に、データ送信に対してそれぞれアクノリッジ返信を行うオーバーヘッドの大きい方式である。従って、音声、オーディオ、ビデオなどのストリーミングデータの送信のようにある端末からのデータを優先的に連続して送信することができず、このクオリティ・オブ・サービスをサポートすることができない。
【００１３】
そこで、上記のクオリティ・オブ・サービス要求を持つLANアプリケーションを動作させるために、IEEE802.11のワーキンググループは、従来のIEEE802.11の機能を拡張した拡張MAC規格として、IEEE802.11eを策定する動きがあるが、未だ勧告化には至っていない。それにともなって、この拡張MAC規格に対応したMACデバイスは未だ提案されていない。
【００１４】
そこで、本発明の目的は、クオリティ・オブ・サービス要求を持つLANアプリケーションを動作可能にする拡張MAC規格に対応可能なMAC装置を提供することにある。
【課題を解決するための手段】
【００１５】
上記の目的を達成するために、本発明の一つの側面は、ワイヤレスLANにおいて送信機会の獲得を制御するメディア・アクセス・コントロール装置において、
送信対象のフレームを当該フレームの送信優先度を有する送信ポリシーに対応してそれぞれ格納する複数の送信キューと、
メディアの状態に基づいて送信機会の獲得を制御し、獲得した送信機会に対応する送信ポリシーのフレームを前記送信キューから読み出して送出する送信コントローラと、
上位層から供給されるフレームを、当該フレームの送信ポリシーに基づき且つ当該送信ポリシーに対応する送信キューの空き状態に基づいて、前記送信キューに転送する送信フレーム転送手段とを有する。
【００１６】
上記の側面によれば、複数の送信ポリシーに対応して複数の送信キューを設け、その送信キューに送信対象のフレームを予め転送しておくので、複数の送信ポリシーに対応する送信機会獲得時にそれに対応するフレームをタイムロスすることなく送出することができる。
【００１７】
上記の側面において、より好ましい実施例では、前記送信フレーム転送手段は、前記複数の送信キューのうち未使用の送信キューに、前記上位層から供給されたフレームの前記送信ポリシーを動的に割り当てる。本実施例によれば、少ない数の送信キューであっても、送信対象のフレームの送信ポリシーに送信キューを動的に割り当てて、送信機会獲得時にタイムロスすることなく送信キューからフレームを送出することができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して本発明の実施の形態を説明する。しかしながら、本発明の保護範囲は、以下の実施の形態例に限定されるものではなく、特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
【００１９】
［拡張MAC機能］
本実施の形態を説明する前に、現在ドラフト段階にあるIEEE802.11eによる拡張MAC機能について以下に説明する。
【００２０】
（１）TID（Traffic Identification）、AC（Access Category）、EDCA（Enhanced  Distributed Channel Access）
IEEE802.11によれば、全てのフレームが平等に取り扱われ、送信機会を獲得した端末のMAC装置は、送信機会の間、送信待ちのフレームを先着順に送信する。これに対して、IEEE802.11eでは、クオリティ・オブ・サービス要求を可能にするために、送信優先度という概念を導入し、送信優先度に応じてデータ用フレーム間ギャップ時間やバックオフの待機時間を定めて、優先度が高いほどバックオフが早く終了して送信機会（transmission opportunity）が得やすいようにしている。
【００２１】
トラフィックID（TID）は、ワイヤレスLANで伝送されるフレームの内容を識別するＩＤであり、０〜１５の１６種類ある。TID0〜TID7の８つのTIDは、バックオフによる競合手続を経て獲得される送信機会にて送信されるフレームであり、０〜７は送信優先度を直接的に示している。即ち、TID0〜TID7の優先順位は、低いほうから高い方の順に1,2,0,3,4,5,6,7であり、TID1が最も低く、TID7が最も高い。更に、TID０〜７は、４つのAC０〜３のいずれかに属する。このアクセスカテゴリAC0〜3は、ワイヤレスメディア上へ送信するときのバックオフの競合手続を実施する単位であり、TID０〜７との関係は、TID０〜２はAC0に、TID３はAC1に、TID4,5はAC2に、そして、TID6,7はAC3にそれぞれ属する。従って、送信優先度もAC0,1,2,3の順に高くなり、AC0に属するTID1,2,0のフレームはベストエフォートベースで送信されれば良い優先度の低いフレームである。
【００２２】
一方、TID８〜１５は、TID０〜７のように優先順位を表すものではなく、データレートを保証する為に定められたトラフィック仕様の番号である。TID 8〜15を持つフレームには、各トラフィック仕様に従うフレーム転送間隔及びフレーム転送サイズが事前にアプリケーション間で取り決められ、その取り決めに従ってこれらのフレームの送信機会がスケジューリングされる。これらフレームの送信機会は後述するとおりアクセスポイントでスケジューリングされ、各ステーションは競合手続を経ることなく送信機会を与えられる。
【００２３】
EDCAは機能拡張されたDCF（Distributed Coordination Function）手順である。IEEE802.11eでは、アクセスカテゴリAC0〜3毎にバックオフ手続が行われるが、その待機時間の計算に用いられるパラメータ、バックオフ開始までの待ち時間を示すAIFS (Arbitration interframe spacing：任意フレーム間ギャップ）や、バックオフ実施期間を示すコンテンション・ウインドウCWは、アクセス・カテゴリAC毎に異なる値が定められる。アクセス・カテゴリACの優先度が高い程（AC0 < AC1 < AC2 < AC3。即ち、属するTIDの優先度が高い程）その値が小さくなってゆき、優先度が高い程バックオフ手続が早く終了し、送信機会を得やすいようになっている。具体的には、アクセス・カテゴリ毎にフレーム間ギャップAIFSの時間が異なり、バックオフでの待機時間の計算の時に発生する乱数の幅であるコンテンション・ウインドウが、アクセス・カテゴリの優先度の順により低く且つ狭くなっている。
【００２４】
（２）TXOP (Transmission Opportunity：送信機会)
送信機会TXOPは、ステーションがワイヤレスメディア上にフレーム送信を行う権利がある期間である。その期間の長さは送信機会リミテッドTXOP limitで定義される。送信機会TXOP内であれば、複数フレームを短い待機時間SIFS間隔で連続して送って良い。従来のIEEE802.11では、バックオフ手順の結果獲得した送信機会では、１つのフレームしか送信することを許していない。それに対して、拡張MAC機能では、送信機会内では複数のフレームを送信することができ、しかも、後述するノーアクノリッジ手順またはブロックアクノリッジ手順で送信を繰り返すことができ、ストリーミングデータの送信に適するようになっている。
【００２５】
送信機会TXOPは、バックオフ（EDCF：Enhanced Distributed Coordination Function）の競合手続で獲得するか、あるいはアクセスポイントAPから のポーリングフレーム（QoS (+) CF-Poll）を受信した時に競合手続なしで獲得する。そして、それぞれの獲得の方法に応じて、送信機会の期間が異なって設定される。
【００２６】
（３）ブロックアクノリッジ（Block ACK）
ブロックアクノリッジ手順 は、最初に送信側と受信側間でセットアップを実行し、セットアップが完了すれば、解除手順を行うまで、フレームデータ送信でのアクノリッジを返信する手続は不要となる。送信側は受信側からのアクノリッジACKを確認することなく短い待機時間SIFS間隔でフレームを連続して送信して良く、送信側がブロックアクノリッジフレームを要求した時のみ、受信側はブロックアクノリッジフレームを返送する。
【００２７】
（４）ノーアクノリッジ（No ACK）
ノーアクノリッジ手順No ACKは、送信側から送信したフレームに関して受信側からのアクノリッジACKを期待しないアクノリッジポリシーである。送信側でアクノリッジACKの返信を期待しない為、再送によるオーバーヘッドを削減し、伝送効率を上げる目的で使用される。
【００２８】
以上のIEEE802.11e用の拡張MAC機能を実現するためには、次の機能を有することが必要になる。（１）競合手続であるバックオフ手順によれば、送信機会はランダムに且つ送信優先度毎に与えられるので、複数の送信優先度に対応する送信フレームのうち、獲得した送信機会に対応する送信優先度のフレームを即座に物理層に転送することができるように、送信フレームを待機させる必要がある。しかも、送信機会はアクセス・カテゴリACに対応して与えられ、同じアクセス・カテゴリACであっても優先度の高いTIDのフレームが送信されるので、アクセス・カテゴリACに対応して又はTIDに対応して送信フレームを分類して待機させておくことが必要になる。
【００２９】
（２）更に、アクセスポイントからポーリングフレーム（QoS+CF-Poll：Contention Free Poll）により競合手続なしで与えられる送信機会TXOPでは、TID8〜15のフレームを複数送信することができるので、この競合手続なしで獲得する送信機会の時に送信するフレームを、競合手続のバックオフ手順で獲得して送信するフレームとは区別して待機させておくことが必要になる。
【００３０】
（３）更に、拡張MAC機能では、ストリーミングデータとして複数のフレームを中断することなく送信する必要があるので、送信キューの残り領域がフレームサイズより小さくても、送信キュー内のフレームの送信完了の予測に基づき、次のフレームを先行して送信キューに転送する必要がある。但し、先行して送信フレームを送信キューに転送しても、送信失敗などによって転送済みフレームが廃棄される場合があるので、確実に送信キューに転送できる時まで、上位のLLC層から受け取るフレームデータバッファ内のフレームを廃棄することはできない。
【００３１】
（４）上記のように、複数の送信キューを設ける必要があるが、その一方でコストアップになるような送信キューのサイズを無条件に大きくするようなことはできない。送信キューのサイズをできるだけ小さくしながら、且つ、複数のフレームを中断することなく送信することができるような工夫が必要である。
【００３２】
［MAC層の概略構成］
図４は、本実施の形態におけるMAC層の概略構成図である。図３に示した従来例のMAC層ブロックと同じものには同じ引用番号を与えている。図３の構成と対比して図４の構成を説明すると、まず、送信対象のフレームを送信優先度に対応してそれぞれ格納する複数の送信キュー２３（23-0〜23-n）と、メディアの状態に基づいて送信機会の獲得を制御し、獲得した送信機会に対応する送信優先度のフレームを送信キューから読み出して物理層４０に送出する送信コントローラ２４と、上位層のLCC層１から供給されるフレームを、当該フレームの送信優先度に基づき且つ当該送信優先度に対応する送信キュー２３の空き状態に基づいて、送信キュー２３に転送する送信フレーム転送手段１８とを有する。
【００３３】
送信フレーム転送手段１８は、複数の送信キュー２３を送信対象フレームの識別情報TID（transmission identification）やアクセス・カテゴリACなどの送信優先度に基づいて管理し、フレームデータバッファ１１内に待機している送信対象フレームを、そのフレームのTIDに対応する送信キュー２３に転送する。そして、送信フレーム転送手段１８は、送信コントローラ２４からの様々な送信状態信号Ｓ２４に基づいて、送信キュー２３の空き状態を管理し、送信開始により空き状態が予測されるときに、先行してフレームデータバッファ１１内のフレームをインターフェースキュー２１に転送し、送信機会中に複数のフレームをとぎれることなく送出できるようにする。
【００３４】
更に、送信フレーム転送手段１８は、バックオフによる競合手続で獲得する送信機会TXOPのために、送信対象フレームのTIDやアクセス・カテゴリACなどの送信優先度に基づいて複数の送信キュー２３を管理すると共に、アクセスポイントから与えられる競合手続なしの送信機会TXOPのために、専用の送信キュー２３を確保し、その送信キューにTID8〜15のフレームを転送する。
【００３５】
また、回路規模をできるだけ小さくするために、送信キュー２３の数を全てのTIDの数よりも少ない数に制限している。それに対応して、送信フレーム転送手段１８が、同じAC内の複数のTIDに対しては、最も高い優先度のTIDのフレームに対して送信キュー２３を割り当てて、少ない数の送信キューであっても送信機会TXOPを獲得した時に送信すべきフレームがいずれかの送信キュー２３に格納済みになるようにする。
【００３６】
同様に回路規模を小さくするために、各送信キュー２３のサイズを小さくしている。但し、フレームデータバッファ１１からフレームを転送する場合に、インターフェースキュー２１と指定された送信キュー２３とで、実質的な送信キューを構成して、送信キュー２３のサイズを実質的に大きくし、送信機会TXOP獲得時に送信フレームがとぎれないようにしている。
【００３７】
送信フレーム転送手段１８は、ファームウエアにより実現され、上記の送信キューの管理やフレーム転送の管理は、ソフトウエアとそれを実行するマイクロプロセッサとにより実現される。そして、従来例のようにＣＰＵバスを経由するDMA転送によりフレームデータバッファ１１内のフレームをインターフェースキュー２１に転送している。従って、異なるTIDのフレームが同時にインターフェースキュー２１に滞留して、後続のフレームのDMA転送が停止してCPUバスを占有し続けることがないように、送信フレーム転送手段１８がDMA転送の管理を行っている。
【００３８】
［具体的なMAC装置］
以下、本実施の形態のMAC装置を具体的に説明する。図５は、本実施の形態におけるMAC装置の構成を示す図である。この実施の形態では、MAC層ブロック２と物理層ブロック４０とが同じ集積回路装置で実現されている。但し、異なる集積回路装置で実現されてもよい。また、MAC層ブロック２は、ソフトウエアによる制御を行うマイクロコントローラを有するファームウエア部１０と、送信キュー２３などを専用ハードウエアで実現しているハードウエア部２０とを有する。
【００３９】
ファームウエア部１０は、ソフトウエアとマイクロコントローラにより実現される機能として、LLC層１から供給されるフレームＦＬに送信ポリシーを付加する送信ポリシー付加手段１２を有する。送信ポリシー付加手段１２は、フレームＦＬに与えられているTIDに基づいて、フレームの優先度を表すTID、送信方法（EDCAの競合手続又は CF-Poll応答の競合手続なし）及び、アクノリッジポリシー（通常アクノリッジ、ブロックアクノリッジ、又はノーアクノリッジなどの送信ポリシーをフレームに付加する。この付加された送信ポリシーにより、ハードウエア部２０が適切に送信処理することができる。
【００４０】
ハードウエア部２０には、送信待機中のフレームを格納する複数の送信キュー２３が設けられ、各送信キュー23-0〜23-nは、送信優先度に対応付けられ、更に、送信キューは、競合手続なしの送信機会にも対応付けられている。
【００４１】
また、ファームウエア部１０は、ソフトウエアとマイクロコントローラにより実現される機能として、フレームデータバッファ１１内のフレームに、どの送信キュー23-0〜23-nに格納するかの送信キュー番号情報(QWSEL: Queue Write Select)を付加する送信キュー番号付加手段１５を有し、この送信キュー番号付加手段１５が、送信キュー２３の割り当て管理を行う。
【００４２】
このファームウエア部１０は、図５における送信フレーム転送手段１８に対応し、従って、送信フレーム転送手段１８は、前述したとおり、送信ポリシー付加手段１２と送信キュー番号付加手段１５のそれぞれの機能を有する。
【００４３】
ファームウエア部１０には、送信キュー23毎に格納フレームの数、残りサイズ、TIDなどの送信ポリシーを格納して管理する送信キューテーブル１４と、ファームウエア部１０がインターフェースキュー２１を介して送信キュー２３に転送した最終フレームのフレームID及びフレームサイズを格納して管理するフレームIDテーブル１３とを有する。これらのテーブル１４，１３は、複数の送信キュー２３それぞれに対応して複数個設けられる。
【００４４】
また、ファームウエア１０内のフレームデータバッファ１１は、全てのTIDに対応して１６個のTIDキューバッファが設けられ、各TIDキューバッファ内のフレームサイズ、フレーム数などを格納して管理するTIDキューテーブル１６も設けられる。
【００４５】
ハードウエア部２０には、フレームデータバッファ１１からDMA転送されたフレームを一時的に格納するインターフェースキュー２１が設けられ、ここに格納されたフレームは、暗号化手段２２により暗号化されると共に、インターフェースキューコントローラ２５によりその送信キュー番号QWSELを抽出される。そして、送信キューセレクタ２６は、暗号化されたフレームを、抽出された送信キュー番号情報（select0~n）にしたがって、対応する送信キュー23へ格納する。
【００４６】
送信コントローラ２４は、ファームウエア10によってフレームに付加された送信ポリシーを抽出し、送信ポリシー毎に指定された情報に基づいて送信スケジューリングを行う。送信ポリシーがバックオフによる競合手続の場合は、送信コントローラ２４は、そのTID及びアクセス・カテゴリACに応じて競合手続を実行し、送信機会TXOPを獲得した時は、獲得した送信機会に対応するアクセス・カテゴリAC内の最も優先度の高いTIDのフレームを、送信キュー２３から読み出して物理層４０に転送する。また、ポーリングフレーム（CF-Poll）の受信により競合手続なしの送信機会TXOPを取得した時は、送信コントローラ２４は、競合手続なしの送信機会に対応する送信キュー２３からフレームを読み出して物理層４０に転送する。更に、送信コントローラ２４は、送信機会TXOPを取得して送信キュー23からフレームを送信する時、送信開始信号tx_start_iとどの送信キュー23から送信されたかを示す信号txop_hold0~nをファームウエア10へ通知する。更に、送信コントローラ２４は、送信機会の期間TXOP limitが満了して送信機会TXOPの終了を検出し、送信機会終了信号txop_endをIQコントローラ25へ通知する。また、送信コントローラ２４は、送信機会が終了したとき、その送信結果tx_resultをファームウエア部１０に通知する。
【００４７】
ハードウエア部２０内のIQコントローラ２５は、インターフェースキュー２１が空になったことをエンプティ信号emptyにより検出し、ファームウエア10へ空状態割込信号emp_iを通知する。更に、IQコントローラ２５は、送信コントローラ２４からの送信機会終了通知txop_endに応答して、インターフェースキュー２１にそれまで送信をしていた送信キュー23宛のフレームが残留している場合、その残留しているフレームをハードウエア部20にて廃棄し、その旨を廃棄通知信号clear_iによりファームウエア部10へ通知する。この残留フレーム廃棄通知信号clear_iを受信すると、ファームウエア部10では、フレームIDテーブル１３を参照して最終格納フレームを、その後の機会にハードウエア部２０側に再度DMA転送する。
【００４８】
図６は、本実施の形態におけるMAC層ブロックの詳細構成図である。図６では、フレームデータバッファ１１と、送信キュー２３と、それらを管理する管理テーブル１３，１４，１６が詳細に示されている。フレームデータバッファ１１は、フレーム内容を識別する１６種類のTIDに対応して１６個のTIDキュー11-0〜11-15を有し、上位のLLC層から供給されるフレームは、そのTIDに対応するTIDキュー11-0〜11-15に格納される。この１６個のTIDキューの状態をそれぞれ管理するために１６個のTIDキューテーブル１６が設けられ、TIDキューテーブル１６には、格納フレーム数、先頭アドレスを示すデータポインタ、格納フレームサイズ、最終アドレスを示すネクストポインタなどの情報が格納される。
【００４９】
送信キュー２３として、TID数１６よりも少ない８個の送信キュー23-0〜23-7が設けられ、この８個の送信キューをそれぞれ管理するために、８個の送信キューテーブル１４が設けられている。この送信キューテーブル１４には、送信キューの使用／未使用情報（Use Flag）と、どれだけ格納可能かの残り領域、送信キューに割り当てられたTIDとアクセス・カテゴリACなどが格納される。更に、８個の送信キューに対応して、８個のフレームIDテーブル１３が設けられ、各フレームIDテーブルには、送信キュー２３に転送したフレームIDと、そのサイズ、TIDなどの転送履歴が格納される。各送信キュー23-0〜23-7は比較的小さなサイズしかもっておらず、例えば、最大フレームサイズを一度に格納可能であるが、最大フレームサイズ２個分よりも小さいサイズである。
【００５０】
それ以外の、インターフェースキュー２１、インターフェースキューコントローラ２５、暗号化処理部２２、送信キューセレクタ２６、送信コントローラ２４は、図５の構成と同じである。
【００５１】
［MAC装置の動作］
上記MAC層ブロックの動作を概略すると、上位層のLLC層から供給されるフレームは、それに付加されているTIDにしたがって１６個のTIDキュー11-0〜11-15にそれぞれ格納される。そして、送信キュー番号付加手段１５により、送信優先度の高いフレームが選択され、選択されたフレームがそれを格納する送信キュー２３にインターフェースキュー２１を介して転送される。その送信優先度に対して送信キュー２３が割り当てられていなければ、新たな送信キューが割り当てられて、フレームが転送される。また、送信機会を獲得してフレームが送信されると、どの送信キューが送信開始し、どのフレームが送信終了したかなどの情報が送信コントローラ２４からファームウエア部１０に通知される。この通知に基づいて、ファームウエア部１０は、送信中の送信キューに対応するフレームを先行して転送したり、送信失敗の結果送信キューに転送できなかったフレームを再度転送したりするフレーム転送制御を行う。また、競合手続なしの送信機会に対応して送信キューが割り当てられ、それに対応するTID８〜１５のフレームがその送信キューに転送される。
【００５２】
［TIDが０〜７の場合の動作（競合手続による送信機会に対して）］
図７〜図１０はその動作の状態図をそれぞれ示し、図１１はファームウエア部１０のフレーム転送制御のフローチャート図である。ファームウエア部１０は、上位のアプリケーション等から送信フレームを受取ると（Ｓ０）、そのフレームに添付されているTID(0〜15)に基づいて、ファームウエア内の対応するTID キュー11-0〜11-15に送信フレームを一時格納する（Ｓ１）。TIDキュー１１にフレームを格納する際には、ファームウエアにて管理している対応するTIDキューテーブル１６の格納フレーム数をインクリメントし、そのフレームの情報（フレームサイズ、データポインタ）を追加する（Ｓ２）。
【００５３】
なお、前述のとおり、フレームの内容を識別するTIDの内0〜7は、送信優先度を直接的に表している。TID(0)〜(7)の優先順位は、TID(1)が最低で、TID(2),(0),(3),(4),(5),(6)の順に高くなり、TID(7)が最高と定義されている。更に、TID(0〜7)は優先度に応じて、4つのアクセス・カテゴリAC[0]〜[3]（以降AC[0]〜[3]）の何れかに属する。アクセス・カテゴリACとは、ワイヤレスメディア上へアクセスする為のバックオフ手続を実施する単位であり、TID(0〜2)はAC[0]、TID(3)はAC[1]、TID(4)とTID(5)はAC[2]、TID(6)とTID(7)はAC[3]にそれぞれ属している。また、一度のバックオフ手続の後、同じアクセス・カテゴリACに属する、異なるTIDを持つフレーム同士が連続して転送されることはなく、一度のバックオフ手続で転送出来るTIDは一種のみである。従って、同じACに属する異なるTIDフレームを同時に送信キュー２３に格納しておく必要はなく、逆に、限られた数の送信キュー２３を効率的に使用する為に、同じACに属する異なるTIDフレームが同時に異なる送信キュー２３に格納されることはない。
【００５４】
［送信キューの割り当てとフレームの書込動作］
TIDキュー１１内に待機しているフレームのうち、優先度の最も高いフレームが競合手続により送信機会を獲得する確率が最も高いので、それを選択して送信キュー２３に転送を行う必要がある。そこで、ファームウエア１０のマイクロコントローラは、フレームが存在しているTIDキュー11-0〜11-7を検索して、最も優先順位の高いTIDを持つフレームを選択する（Ｓ３）。ここでは、TIDキュー11-0内のフレームが選択されたとする。
【００５５】
そして、選択されたTIDを持つフレームを格納する送信キュー２３を決定する為、送信キューテーブル[0]〜[7]を検索する（Ｓ４）。検索の結果、選択されたフレームと同じTID、あるいは同じアクセス・カテゴリACに対して送信キューが割り当てられておらず、未使用状態の送信キュー（送信キューの使用状況を示す使用フラグ（Use_Flag）が0）が存在する場合は、その未使用の送信キューを新規に獲得し、選択フレームのTIDあるいはアクセス・カテゴリAC用の送信キューに割り当てる（S4-1,S4-2,S4-3）。
【００５６】
そして、格納する送信キュー２３を決定後、送信キューテーブル１４の残り領域をチェックして、フレームが格納可能であることを確認する（Ｓ５）。送信キューテーブル１４には、残り領域の初期値として送信キューの最大メモリサイズが書き込まれている。この残り領域情報は、送信キューへのフレーム書込み、送信キューからのフレーム転送成功、あるいは失敗による廃棄により、増減する。初期値の状態では、送信キューの残り領域(4kByte)がフレームデータサイズ(2.5kByte)より大きいので、送信キュー２３へ即書き込み可能である。そこで、送信キューテーブル１４の残り領域情報は1.5kByte(4kByte‐2.5kByte)に更新される（Ｓ６）。送信キューの残り領域を越えない範囲であれば、複数のフレームを送信キュー２３に格納することができる。例えば、400Byteのフレームであれば10個まで格納可能である。
【００５７】
ファームウエア部１０は、フレームが転送可能であることを確認したら、フレームIDテーブル１３に転送するフレームID（１：このIDはシリアル番号）、フレームサイズ（2.5KB）、TID（０）を追加し、宛先送信キューナンバー情報(QWSEL)及び、「バックオフ手続対象フレーム」という送信ポリシーを添付してフレームをインターフェースキュー２１にDMA転送する。この最初の処理では、送信キュー２３の残り領域がフレームのデータサイズよりも大きいので、インターフェースキュー２１に転送したフレームは確実に送信キュー２３に格納される。従って、TIDキュー11-0内のフレームはDMA転送後廃棄される（Ｓ７）。
【００５８】
ハードウエア部２０では、インターフェースキュー２１に入ってきたフレームは、IQコントローラ２５によって抽出された宛先送信キュー番号情報QWSELにて示された格納先送信キュー23-0に送信キューセレクタ２６を介して転送される（Ｓ８）。これで優先度の最も高いフレームが送信キュー11-0内に格納され、送信機会の獲得に備えて待機することができる。
【００５９】
検索工程Ｓ４の結果、選択されたフレームと同じTIDあるいは同じアクセス・カテゴリACで送信キューが使用されておらず、全ての送信キューが使用状態（送信キューテーブルのUse_Flagが1）であった場合は、書込み可能な送信キュー２３がないと判断され、ファームウエア上で送信キューが空くまで待機する。この状態は、送信優先度のより高いフレームが全ての送信キュー２３に格納済みの状態であり、端末が競合手続により送信機会を獲得して格納済みフレームが送信されて送信キューが空くまで、次の送信対象フレームはファームウエア内のTIDキュー１１内に待機する。
【００６０】
検索工程Ｓ４の結果、選択されたフレームと同じTIDはないが、同じアクセス・カテゴリACで送信キュー２３が使用されている場合、他に未使用（送信キューテーブルのUse_Flag＝0）の送信キューが存在したとしても、同じアクセス・カテゴリACが使用している送信キューが空くまで、送信キューへ書込みは行わない。同じアクセス・カテゴリAC＝０であっても、AC=0で送信機会を獲得した時、それに属する複数のTID=1,2,0のうち１つのフレームしか送信されない。従って、限られた数の送信キューを効率的に使用するために、同じアクセス・カテゴリACの場合は、優先度順ではなく先着順にする。
【００６１】
検索工程Ｓ４の結果、選択されたフレームと同じTIDで送信キュー２３が使用されており（選択フレームのTIDと送信キューテーブル内TIDとが一致）、送信キューの残り領域より選択されたフレームのデータサイズが小さければ、フレームが送信キュー２３に書込まれる。この場合は、同じTIDに対して送信キューが既に割り当てられていて、且つ送信キューの残り領域が十分に残っている場合である。この場合も、送信キューテーブル１４を更新し（Ｓ６）、フレームにQWSELを付加してハードウエア部２０にDMA転送し、TIDキューからフレームを削除する（Ｓ７）。
【００６２】
検索工程Ｓ４の結果、選択されたフレームと同じTIDで送信キュー２３が使用されているが、送信キューの残り領域が選択されたフレームより小さい場合は、この送信キューにフレームを書込むことは行わないで、TIDキュー１１内にフレームを待機させる。但し、後述するとおり、対応する送信キューが送信を開始する通知を受けたら、その送信キューの領域が空くことが予測されるので、待機中のフレームを先行してDMA転送する。
【００６３】
［割り当て済みの送信キューへのフレームの追加書込動作（先行転送）］
次に、図８を参照して、上記のケース、即ち、検索工程Ｓ４の結果、選択されたフレームと同じTIDで送信キュー２３が使用されているが、送信キューの残り領域が選択されたフレームより小さい場合について説明する。送信キュー23-0へ最初のフレームを格納後、TIDキュー11-0に格納されて待機中のフレームを送信キュー23-0に追加書込みする場合は、以下の動作になる。
【００６４】
ファームウエア部１０は、同じTIDのフレームを送信キュー23-0に書込む為に、TIDキューテーブルのネクストポインタに指定されている次のフレームのデータポインタを読み出す。そして、送信キューテーブル１４を検索する。今回は、選択フレームと同じTIDを持つ送信キュー23-0が検出され、その残り領域を確認すると、送信キューの残り領域(1.5kByte)はフレームデータサイズ(2.5kByte)より小さいことが判明する（Ｓ１２）。従って、このままインターフェースキュー２１経由で転送すると、インターフェースキュー２１内に転送フレームが残留し続け、他の送信キューへの転送処理に支障をきたすことが予想される。そこで、選択フレームはすぐには転送されず、ファームウエア内のTIDキュー内で待機する。
【００６５】
その後、送信キュー23-0に格納されていたフレームデータが転送機会を獲得し、そのフレームを送信キュー23-0から転送し始めると、送信コントローラ２４からファームウエア１０へ送信開始通知信号tx_start_iが発行される（Ｓ１３）。この通知を受取ると、ファームウエア１０は、ハードウエア２０のレジスタ２７から同時に通知される送信機会獲得信号txop_holdにより、どの送信キューからフレームが送出された際の送信開始通知かを識別する（Ｓ１４）。
【００６６】
この送信開始通知信号に応答して、ファームウエア部１０は、フレームの先行転送を行うか否かの判断を行う。即ち、ファームウエア部１０は、送信開始された送信キュー10-0のフレームIDテーブル１３の先頭フレーム（フレームID：1）のデータサイズ(2.5kByte)をチェックし、そのデータサイズ(2.5kByte)に送信キューテーブル１４内の現在の残り領域(1.5kByte)を加算し、送信キュー23-0の予測残り領域を求める（Ｓ１５）。つまり、送信開始されているので、この送信が成功した場合の送信キュー23-0の残り領域を求める。
【００６７】
この結果、TIDキュー11-0内に待機していたフレームのデータサイズ(2.5kByte)よりも、転送先の送信キュー23-0の予測残り領域(4kByte)が大きくなるので、先行転送可能となる（Ｓ１６）。そこで、ファームウエア部１０は、送信キューテーブル１４内の残り領域を更新し、残り領域は1.5KB−2.5KB＝−１KBとマイナスになる（Ｓ１７）。そして、TIDキュー11-0内のフレームは、インターフェースキュー２１にDMA転送され、その転送履歴がフレームIDテーブル１３に書き込まれる（Ｓ１８）。この時、既に送信キュー23-0に格納されていたフレームが送信のリトライ中などの理由で未だ送信キュー23-0からクリアされていなかった場合、インターフェースキュー２１から送信キュー23-0へ書き込みきれなかった分のフレーム（1.0KB）は、インターフェースキュー２１内に一部残留することになる（Ｓ１９）。
【００６８】
図９に移り、メディア上へのフレーム送信が完了（あるいは送信失敗）となると、送信キュー23-0内のフレームはクリアされ、次のフレームが書き込まれる。その結果、インターフェースキュー２１内に一部残留していたフレームも、送信キュー23-0に移動して書き込まれる。また、送信コントローラ２４は、同時に、送信結果の通知信号tx_resultを発行して、ファームウエア部１０に通知する（Ｓ２０）。
【００６９】
上記通知に応答して、ファームウエア部１０は、ハードウエア内の送信結果バッファ２１を読出し、そこに格納されている送信結果（送信成功または送信失敗、及び送信されたフレームのフレームID）を検出する。検出した送信済みフレームIDのフレームサイズをフレームIDテーブル１３から検出し、そのフレームのサイズ（2.5KB）を送信キューテーブル１４内の残り領域（−1KB）に加算し、残り領域を1.5KBと更新する（Ｓ２１）。そして、インターフェースキュー２１にDMA転送したフレームID=2は送信キュー23-0に確実に転送されたことになるので、送信済みフレームIDのデータをフレームIDテーブル１３から削除し、TIDキュー11-0内のフレームを廃棄する（Ｓ２２）。その結果、フレームIDテーブル１３内の最後に転送したフレームIDはID=2となる。
【００７０】
［再送信継続の場合の先行転送キャンセル動作］
図１０に移る。上記工程Ｓ２０では、メディア上に送出していたフレームが、送信キュー23-0からクリアされた場合について説明した。しかし、送信コントローラ２４が、再送信を継続する場合には、送出中だったフレームを送信キュー23-0から廃棄せずその中に留まらせることになる。この場合、このフレームが送信完了後廃棄されることを予測して先行して転送された次のフレーム（上記例ではID=2）がインターフェースキュー２１内に滞留してしまう可能性がある（Ｓ３１）。インターフェースキュー２１内に滞留したままでは、その後ファームウエア部１０からハードウエア部２０にフレームの転送ができなくなるので、この状態を回避する必要がある。
【００７１】
このように、再送信などの理由でフレームが送信キュー23-0から廃棄されずに、インターフェースキュー２１内に次のフレームが存在したならば、この状況を回避する為、IQコントローラ２５は、送信コントローラ２４からの送信機会終了信号txop_endに応答して、自動的にインターフェースキュー２１内の滞留中のフレームを廃棄し、ファームウエアに対し、インターフェースキュー２１内のフレームを廃棄したことを示す廃棄通知clear_iを発行する（Ｓ３２）。このとき、送信キュー23-0内の未送信フレーム（1.5KB分）も廃棄される。ファームウエア部１０は、この廃棄通知割込clear_iに応答して、フレームIDテーブル１３を検索し、最後に送信キュー23-0に書込みのために先行転送したフレーム ID（ID=2）、データサイズ（2.5KB）を確認し、送信キューテーブル１４の残り領域を、−1.5KBから1.5KBに更新する（Ｓ３３）。この場合は、フレームID=2はTIDキュー１６からは廃棄されず、次回の書込みの機会に再度送信キュー23-0への格納を試みられることになる。
【００７２】
以上のように、ファームウエア部１０のTIDキュー１１のフレームをハードウエア部２０内のインターフェースキュー２１にDMA転送し、暗号化して送信キュー２３に書き込むには、ある程度の時間が必要であるので、一旦送信キュー２３からメディアへの送信が開始された時点で、次のフレームをTIDキュー１１から先行してDMA転送を開始する。しかし、送信キュー２３内のフレームの送信が成功しない場合を想定して、最後にDMA転送したフレームの情報をフレームIDテーブルに記録し、送信キューテーブル１４の残り領域サイズを、送信開始したフレームと先行転送したフレームのサイズの合計を反映したサイズにしておく（上記例では−1KB）。また、TIDキュー１１内のフレームはDMA転送時に即座に削除しないでそのまま保持状態を保つ。そして、無事に送信キュー２３からの送信が完了したら、そこではじめて、送信キュー２３内の送信中フレームが削除され、送信キューテーブル１４の残り領域が更新され（上記例では1.5KBになっている）、TIDキュー１１内の先行転送したフレームが削除される。一方、送信キュー２３からの送信が成功せず再送信が必要になった場合は、送信キュー２３内の送信中フレームは削除されず、先行転送したフレームについては、インターフェースキュー２１や送信キュー２３に滞留しているそのフレームのデータが削除される。このフレーム廃棄通知clear_iに応答して、先行転送に伴って記録したフレームIDテーブル１３内の最後のフレーム情報や、送信キューテーブル１４内の残り領域については、元の状態に戻すことが行われる。
【００７３】
［複数TIDの転送動作］
上記の例では、単一の送信キュー２３へのフレーム転送について説明したが、実際には、複数のTIDのフレームを連続して扱うことになる。複数のTIDフレームを連続して転送する場合においても、基本動作は上記で説明した単一送信キューへの転送とほとんど同じであるが、一部考慮すべき点がある。図８で説明した工程Ｓ１９の状態のように、送信キュー２３からの送信開始に応答して後続のフレームを先行転送しそのフレームが一部インターフェースキュー２１内に滞留している状態で、他の送信キューへのフレームを転送する場合について説明する。
【００７４】
図１２、図１３は、複数の送信キューにフレームを転送する場合の動作の状態図である。図８の工程Ｓ１９の状態になった後、図１２に示されるとおり、ファームウエア部１０がTIDキューテーブル１６を検索して、送信優先度の高いTID=3のフレームがTIDキュー11-3内に格納されていることを検出する（Ｓ３４）と、ファームウエア部１０は、送信キューテーブル１４を検索する（Ｓ３５）。ファームウエア部１０は、同一TID（TID=3）、同一アクセス・カテゴリACが割り当てられている送信キュー２３がない場合に、新たに送信キュー23-1を獲得する。送信キュー23-1の残り領域（4kB）がそのフレームのデータサイズ（2.0kB）以上あるので、送信キュー23-1へ転送可能である。
【００７５】
しかしながら、インターフェースキュー２１内には、送信キュー23-0に先行転送したフレームの一部が残留している可能性がある。このように先行転送したTID=0のフレームの一部がインターフェースキュー２１内に残留している状態で、別のTID=3のフレームを送信キュー23-1にDMA転送すると、そのフレームのデータサイズ(2.0kByte)はインターフェースキュー２１の領域の残量(1.0kByte)以上あるため、そのフレームの全てをDMA転送完了することができない。そのため、インターフェースキュー２１が解放されるまでは、DMA転送がファームウエア部１０内のＣＰＵバスを占有したままウエイト状態となる（Ｓ３６）。このウエイト状態が長く続くと、ファームウエア部１０内において、ＣＰＵバス上のメモリにアクセスすることが出来なくなり他の処理が停滞してしまう。つまり、インターフェースキュー２１のサイズはできるだけ小さくすることが低コスト化に必要である。しかし、その結果、異なる送信キューへのフレームの転送に伴って、他の送信キューの状態による影響により、これから行おうとしているフレームのDMA転送がストップする場合がある。
【００７６】
そこで、図１３に示されるとおり、ファームウエア部１０は、送信キュー23-0への先行転送が終了した後、そのフレームがインターフェースキュー２１から移動してインターフェースキューが空になったことを示すエンプティー通知emp_iが発行されるまでは、異なる送信キュー23-1へのDMA転送は行わない（Ｓ３７）。そして、このエンプティー通知emp_iの割込に応答して、待機していた送信キュー23-1に転送予定のフレームをDMA転送開始する（Ｓ３８）。それ以降の動作は前述と同じである。
【００７７】
以上のように、異なる送信キューにフレームをDMA転送する場合は、転送先の送信キューの残り領域が転送フレームサイズ以上あることに加えて、インターフェースキュー２１が空の状態であることも確認する必要がある。一方、送信機会を獲得して送信開始された時に、送信キューの予測残り領域が転送ファイルサイズより大きく、同じ送信キューに連続してフレームを転送する場合は、インターフェースキュー２１が空の状態か否かを確認する必要はない。
【００７８】
［TIDが８〜１５の場合の動作（競合手続なしの送信機会に対して）］
次に、TIDが8〜15を持つフレームの制御方法について説明する。図１４は、TIDが8〜15を持つフレームの転送動作の状態図である。前述したとおり、送信フレーム識別情報TID8〜15は、TID0〜7のように送信の優先順位をあらわすものではなく、各フレームのデータレートを保証する為に定められたトラフィック仕様の番号である。そして、TID8〜15を持つフレームは、各トラフィック仕様に沿ったフレーム転送間隔及びフレーム転送サイズがファームウエア部１０にてスケジューリングされ、共通する1つの送信キューへ格納される（Ｓ４１）。図１４の例では、送信キュー23-4が識別情報TID8〜15のフレームに割り当てられている。
【００７９】
スケジュールされたフレームの送信キュー23-4への転送動作はこれまで説明した手順と同様である。即ち、送信キューテーブル１４の残り領域と送信開始したフレームサイズから次のフレームをDMA転送できるか否か予測し、可能であればインターフェースキュー２１が空き状態であることを確認してDMA転送し、送信キュー23-4にDMA転送したフレームが確実に転送可能になる時点で、送信キューテーブル１４の残り領域を更新すると共にフレームIDテーブル１３の履歴も削除し、TIDキュー１１から転送済みフレームを削除する。
【００８０】
フレーム識別情報TID8〜15のフレームが共通の送信キュー23-4にまとめて書き込まれるため、これらのフレームには、TID情報に加えて、アクセスポイントからのポーリングフレームに対しての応答時のみ転送して良いフレームであることを示す「QoS(+)CF-Poll受信に対する応答」である旨の情報４２が付加される。この送信ポリシーの情報４２は、ファームウエアの送信ポリシー付加手段１２（図５参照）によって、転送対象フレームに付加される。そして、送信コントローラ２４は、この情報４２を参照して、競合手続であるバックオフプロシジャの対象とせず、ポーリングフレームが受信されるまで待機するという判断をし、ポーリングフレームの受信に応答して送信キュー32-4からフレームを送信する（Ｓ４３）。
【００８１】
フレーム識別情報TID0〜7のフレームには、「送信キューに格納されるとバックオフプロシジャアクセスを実施させる」という送信ポリシーが、ファームウエア部１０により付加される。また、フレーム識別情報TID8〜15のフレームには、「送信キューに格納されるとポーリングフレーム（QoS(+)CF-Pollフレーム）への応答によって初めてアクセス開始する」という送信ポリシーが、ファームウエア部１０により付加される。このように、ワイヤレスLANシステムでは、複数のアクセス方式（競合手続後の送信機会での送信、競合手続なしの送信機会での送信）のほかに、複数のアクノリッジポリシー等が存在する。ファームウエア部１０からハードウエア部２０へ転送するフレーム内に、これらの送信ポリシーをフレーム情報としてもてるフィールド４２をあらかじめ設けることで、送信キューの属性を動的に変化させ、少ない数の送信キューであらゆる事象に対して柔軟に対応出来るようにしている。
【００８２】
［送信キューの数］
本実施の形態では送信キューの数を８個とし、TID0〜2（AC=0）に対して１個、TID3（AC=1）に対して１個、TID4（AC=2）、TID5（AC=2）、TID6（AC=3）、TID7（AC=3）に対してそれぞれ１個、TID8〜15に対して１個、緊急用に１個の送信キューが割り当てられるようになっている。但し、同じアクセスカテゴリACでは優先度の高いフレームが優先するので、最低限、競合手続後の送信機会で送信されるAC0〜3用にそれぞれ１個、競合手続なしの送信機会で送信されるTID8〜15用に１個、緊急用に１個の合計６個の送信キューであってもよい。
【００８３】
［先行転送の変形例］
図８及び図１１に示したように、送信コントローラ２４が送信機会を獲得してその獲得した送信機会に対応する送信キュー内のフレームを送信開始すると、連続してフレーム送信を行うことができるように、あるフレームの送信開始のたびに送信コントローラ２４が送信開始通知tx_start_iをファームウエア１０に通知し、それを契機にして、ファームウエア１０が同じ送信キューへのフレームの先行転送の制御を行う。
【００８４】
図１５は、本実施の形態における先行転送のタイミングチャートを示す図である。図中、送信側ＭＡＣからのフレーム送信と、受信側ＭＡＣからアクノリッジメントAck返信とが示されている。そして、割込Ａは、図８、図１１で説明した先行転送制御のためのハードウエア２０からファームウエア１０への割込を示している。上記のとおり、獲得した送信機会の最大送信期間TXOP_Limit内で、複数のフレームが送信され、それに対応するアクノリッジメントAckが返信される。そして、あるフレームの送信開始のたびに、送信コントローラ２４が送信開始通知tx_start_Iの割込IR1をファームウエア１０に通知し、ファームウエア１０は、それに応答して、次に転送すべきフレームのサイズと、現在送信中のフレームの送信後の送信キューの予想空き領域とを比較し、転送可能と判断すると、フレームの先行転送を行う。また、送信コントローラ２４は、送信フレームに対応するアクノリッジメントAckが返信されるたびに、その送信結果通知tx_resultの割込IR2をファームウエア１０に通知する。この送信結果通知に応答して、ファームウエア１０は、送信失敗の場合は、テーブル類を元の状態に戻して再転送可能な状態に戻し、送信成功の場合は、テーブル類を更新し、TIDテーブルから先行転送済みフレームを削除する。
【００８５】
このように、上記の先行転送の制御方法では、割込Ａに示されるように、フレームの送信開始時とフレームの送信終了時にそれぞれ割込IR1,IR2がファームウエア１０に通知される。したがって、ファームウエア１０は高い頻度で割込処理を実行する必要があり、割込処理のオーバーヘッドが他のファームウエアの処理を圧迫することが考えられる。特に、フレーム送信終了後に、割込IR2,IR1が短い時間を隔てて連続して発生することが、ファームウエアの割込処理の頻度を高くしている。そこで、本変形例では、ファームウエアへの割込回数を減らして、且つ、送信機会獲得時に複数のフレームを連続して送信できるように先行転送制御を行う。
【００８６】
図１５の割込Ｂが本変形例における先行転送制御のための割込である。本変形例では、ハードウエア２０の送信コントローラ２４は、フレームの送信開始のたびに送信開始通知tx_start_iを通知せず、フレームの送信終了のたびに送信結果通知tx_resultの割込IR2を行い、ファームウエア１０は、その送信結果通知の割込IR2に応答して、先行転送制御を行う。この結果、割込頻度を約半分にすることができる。但し、送信機会TXOPを獲得した後に最初のフレームを送信する時は、送信結果通知の割込IR2が発生しないので、送信コントローラ２４は、送信機会獲得時に、送信機会獲得通知txop_start_iの割込IR3をファームウエアに通知する。ファームウエア１０は、この割込IR3に応答して先行転送制御を行う。
【００８７】
図１５の割込Ｂに示されるように、送信コントローラ２４が先行転送制御のために発生する割込は、１つのフレーム送信につき１回だけとなり、ファームウエア１０の割込処理によるオーバーヘッドを減らすことができる。
【００８８】
更に、より好ましい実施の形態では、送信コントローラ２４は、送信機会を獲得した時、送信フレームのサイズをチェックして、次に送信されるフレームが送信キューに格納されていないか否かを判断し、格納されていない可能性がある場合にだけ、送信機会獲得通知txop_start_iを通知する。すなわち、送信キューのサイズから送信フレームのサイズを減じた残りのサイズが、許容されている最大フレームサイズより小さい場合は、送信対象フレームの次に送信されるフレームが未だ送信キューに転送されていない可能性がある。逆に言えば、残りサイズが最大フレームサイズより大きければ、次に送信されるフレームは先行して転送されているはずである。そこで、送信コントローラ２４は、送信キューのサイズから送信フレームのサイズを減じた残りのサイズが最大フレームサイズより小さい場合には、送信機会獲得通知の割込IR3をファームウエア１０に発行するが、大きい場合には、次の送信フレームが先行転送されていることがほぼ確実であるので、送信機会獲得通知の割込IR3は発行しない。
【００８９】
例えば、送信キューのサイズが４Kbyteで、最大フレームサイズが2.5Kbyteと仮定すると、送信対象フレームのサイズが４−2.5＝1.5Kbyteより大きい場合に、次の送信対象フレーム（最大で2.5Kbyte）が先行転送されていない可能性があるので、送信コントローラ２４は送信機会獲得通知の割込を発行して、ファームウエア１０に先行転送制御を行わせる。送信対象フレームのサイズが1.5Kbyteより小さい場合には、次の送信対象フレームがたとえ最大フレームサイズであっても先行転送されているはずであるので、送信機会獲得通知の割込は発行せず、ファームウエア１０をディスターブすることは行わない。一旦フレーム送信が開始されると、ファームウエア１０は、フレーム送信後の送信結果通知の割込IR2に応答して、先行転送制御を行う。
【００９０】
図１６は、本変形例でのMAC層ブロックの動作状態図である。図８に対応し、同じ動作には同じ引用番号を与えている。図１６において図８と異なる点は、送信コントローラ２４が、送信機会獲得通知txop_start_iと送信結果通知tx_resultとをファームウエア１０に発行している点である。
【００９１】
図１７は、本変形例でのファームウエア部１０のフレーム転送制御のフローチャート図である。図１１に対応し、同じ処理工程には同じ引用番号を与えている。図１１と異なるところは、フレームの転送待機状態の後、対応する送信キューの送信機会獲得通知があると（S13A）、それに応答して、ファームウエア１０は一連の先行転送制御を実行する。また、一旦、フレーム転送が開始すると、送信結果通知S20に応答して、テーブルの復帰（S12,S22）または更新（S33）と、一連の先行転送制御（S15〜S19）を実行する。つまり、送信機会を獲得してフレーム送信が開始されると、送信開始通知は発行されず、送信結果通知に応答してフレームの先行転送制御が行われる。
【００９２】
［TID8〜TID15の動作の変形例］
TIDが8〜15を持つフレームは、アクセスポイントからのポーリングフレームにより競合手続きなしで獲得される送信機会で送信される。前述の実施の形態における送信キュー制御では、競合手続きにより獲得される送信機会で送信されるTID0〜TID7のフレームの送信キューと区別して、競合手続きなしで獲得する送信機会で送信されるフレームを格納する送信キューを１個のみ共通に割り当てている。そして、その送信キューにTID8〜15のフレームを共通送信キューに格納し、格納順にフレームを送信する。
【００９３】
このTID8〜TID15のフレームは、TSID（TSPEC: Traffic Specification ID）を有するTSPECフレーム（送信スペックを有するフレーム）と称される。そして、TID8〜TID15は、TSID0〜TSID7に対応する。TID8〜15のTSIDを持つフレームとは、転送しようとするトラフィックの仕様に従って、フレーム送信間隔及びフレーム送信サイズがスケジューリングされ、送信に必要な時間が割り当てられ、そのスケジュールに沿って送信処理を行うことによりデータレートが保証されるフレームのことである。
【００９４】
送信機会におけるフレームの送信において、Ackポリシー（アクノリッジメントポリシー）が、フレーム毎にAckフレーム（アクノリッジメントフレーム）を期待しないポリシーであるNo AckポリシーやBlock Ackポリシーと、フレームを送信するたびに受信側から正常に受信できたことを示すAckフレームを受信するNormal Ackポリシーとがある。Normal Ackポリシーでは、送信フレームに対して受信側からの正常に受信できたことを示すAckフレームを送信側が受信したときにフレーム交換シーケンスが完了し、送信側は次フレームの送信を行うことができる。そして、受信側からのAckフレームを送信側が受信できない場合は、送信側はフレームの再送を行い、Ackフレームが到着するまでフレーム再送を繰り返す。一方、No AckポリシーやBlock Ackポリシーでは、送信側はフレーム送信のたびに受信側からのAckフレームの受信を確認することなく、フレームの送信を連続して行う。Normal Ackポリシーは、例えば、電子メールなどフレーム送信の確実性が要求されるフレームのポリシーであり、No AckポリシーやBlock Ackポリシーは、例えば、画像や音楽などフレーム送信の確実性がそれほど要求されないフレームのポリシーである。
【００９５】
そこで、単一の送信キューからNormal Ackポリシーのフレームとそれ以外のAckポリシーのフレームとを混在させて送信する場合、送信キューに格納された順にフレーム送信が行われるので、Normal Ackポリシーのフレームの再送（送信リトライ）によって全てのフレームを送信機会の期間内に送信することができなくなることが考えられる。
【００９６】
図１８は、Normal Ackポリシーのフレームとそれ以外のAckポリシーのフレームとを混在させて送信する場合の問題点を説明する図である。図１８は、ポーリングフレームによる送信機会において、No Ackポリシーのフレーム0-1,0-2,0-3と、Normal Ackポリシーのフレーム1-1,1-2,1-3と、No Ackポリシーのフレーム2-1,2-2,2-3とを送信する場合の、タイミングチャートが示されている。図１８（Ａ）は正常送信時、図１８（Ｂ）はリトライが発生した時をそれぞれ示す。
【００９７】
ポーリングフレームによる送信機会でフレーム送信を行う場合、ファームウエア部１０が、スケジューリング処理により、送信機会の最大期間TXOP Limitと送信フレームサイズとから、送信可能なフレーム数を判断し、その数のフレームを順次送信キュー２３に転送する。そして、送信コントローラ２４が、そのAckポリシーに応じて送信を行う。
【００９８】
図１８（Ａ）の正常送信時では、送信機会がTSID0の送信機会TXOPと、TSID1の送信機会TXOPと、TSID2の送信機会TXOPとに分割され、それぞれの送信機会でフレームが送信されている。TSID0のフレームについては、No AckポリシーでAckフレームの受信を確認することなく、３つのフレーム0-1,0-2,0-3が送信されている。TSID2のフレームも同様である。一方、TSID1のフレームについては、Ackフレームの受信を確認しながら３つのフレーム1-1,1-2,1-3が送信されている。いずれも正常に送信が完了し、送信機会の期間内でスケジュール通りの送信が完了している。
【００９９】
一方、図１８（Ｂ）のリトライ発生時では、TSID1のフレーム1-2が送信失敗などの理由からAckフレームを受信できず、再送信されている。その結果、TSID1の３つのフレームは、割り当てられた送信期間TXOP内でフレーム送信を完了することができていない。それに伴って、最後に送信されるTSID2の３つめのフレーム2-3は、送信期間TXOP内で送信完了できていない。これでは、データレートが保証できないことになる。このような問題は、単一の送信キュー２３内に異なるAckポリシーを有するフレームを混在して格納し、それを順番に送信したために発生している。この場合、送信キュー内の特定のフレーム、例えばフレーム1-3、を削除し、送信を禁止することが考えられるが、そのような機能をハードウエア部内に設けることは、コストアップにつながり好ましくない。
【０１００】
そこで、本変形例では、ポーリングフレームによる送信機会で送信されるTSPECフレーム（TSIDを持つフレーム）に対して、Normal Ackポリシーのフレームとそれ以外のフレームとにそれぞれ別の送信キュー２３を割り当てて、ファームウエア部１０は、割り当てた送信キューに対応するフレームを転送すると共に、送信コントローラ２４内のネックスト・キュー・レジスターにどの送信キューに割り当てたかを示すフラグを書き込む。そして、ファームウエア部２４は、フレーム送信中、送信機会の残り送信時間と送信予定のフレームサイズとを監視し、Normal Ackポリシーのフレームのリトライが発生するなどの理由により、スケジュールされた送信時間内にそのフレーム送信を完了できないと予想される場合に、Normal Ackポリシーに割り当てられた送信キュー内のフレームを送信コントローラ２４に削除させる。このように送信キュー制御を行うことで、Normal Ackポリシー以外のAckポリシーのフレームは、スケジュール通りにデータレートを保証して送信することができる。また、特定の送信キューのフレームを削除するという簡単なハードウエア構成で、実現することができる。
【０１０１】
図１９は、本実施の形態の変形例におけるMAC層ブロックの構成図である。ファームウエア部（送信キュー制御手段）１０は、MAC層ブロック内のハードウエア部２０に設けられた複数の送信キュー２３のうち、Normal Ackポリシー以外のポリシーを有するフレームを格納する第１のTSPEC用送信キュー２３−０と、Normal Ackポリシーを有するフレームを格納する第２のTSPEC用送信キュー２３−１とを区別して割り当てる。この送信キューの割当は、固定的に割り当ててもよく、または、動的にいずれかの送信キューに割り当てても良い。動的に割り当てる場合は、送信コントローラ２４内には、送信機会獲得時に次に送信すべきフレームを格納した送信キューを示すネクスト・キュー・レジスタ２４１が設けられ、ファームウエア部（送信キュー制御手段）１０は、送信キュー２３−０，２３−１へフレームを転送制御し、２つの送信キューのうち次に送信対象となる送信キューがどの送信キューかを、ネクスト・キュー・レジスタ２４１に書き込む。そして、送信コントローラ２４は、送信機会を獲得すると、このネクスト・キュー・レジスタ２４１を参照して、対応する送信キューから順次フレームを送信する。ネクスト・キュー・レジスタ２４１は、８個の送信キュー２３に対応して８ビットのフラグ領域を有し、次に送信対象となる送信キュー番号に対応するフラグ領域に「１」が書き込まれる。
【０１０２】
図２０は、本変形例におけるファームウエア部が行うTSPECフレームの転送と送信制御のフローチャート図である。また、図２１は、ハードウエア部が行うTSPECフレームの送信のタイミングチャート図である。そして、図２２〜図２６は、本変形例におけるMAC層ブロックの動作状態図である。これらの図を参照にしながら、送信キュー制御動作を説明する。
【０１０３】
この例では、図１８と同様に、ファームウエア部１０がスケジューリング処理により、No AckポリシーのTSID0のフレーム、Normal AckポリシーのTSID1のフレーム、No AckポリシーのTSID2のフレームを順に送信するものとする。この場合、ファームウエア部１０は、TSIDの番号が若い順にフレーム送信が実施される。
【０１０４】
図２０に示されるように、上位層からTSPECフレームが供給されると（S50）、ファームウエア部１０は、対応するフレームデータバッファ１１に格納する。またファームウエア部（送信キュー制御手段）１０は、TSID0のフレームが送信キュー２３に転送可能か否かチェックし(S51)、可能であれば、図２２に示されるように、対応する送信キュー23-0にTSID0のフレームを転送する（S53）。それと共に、ネクスト・キュー・レジスタ２４１の送信キュー23-0に対応するビット領域にフラグ「１」を書き込む(S53)。また、ファームウエア部１０は、TSPECフレームが供給されると、それを格納する送信キュー23-0,23-1を、Normal Ackポリシー以外のAckポリシーのフレームを格納する第１のTSPEC用送信キュー及びNormal Ackポリシーのフレームを格納する第２のTSPEC送信キューにそれぞれ割り当てる。そして、第１TSPEC用送信キュー23-0が一杯になるまでTSID0のフレームが、フレームデータバッファ11-8から転送される。この状態で待機する。
【０１０５】
図２３に示されるように、送信コントローラ２４がポーリングフレームを受信して送信機会を獲得すると、第１のTSPEC用送信キュー23-0からフレームの送信を開始する（S54）。このフレーム送信は、図２１に示されるようにNo Ackポリシーで行われる。この送信開始時に、送信コントローラ２４が送信機会獲得通知TXOP_start_Iをファームウエア部１０に通知すると（S54）、ファームウエア部１０は、その送信キュー23-0にフレームを先行転送可能か否かをチェックし（S55）、可能であればその送信キュー23-0にフレームを先行転送する（S56）。そして、図２３に示されるように、フレームデータバッファ11-8内のフレームを、データレート保証に必要な数だけ転送すると、ファームウエア部１０は、次に送信予定のフレームの先行転送が可能か否かチェックし（S57）、可能であれば、フレームデータバッファ11-9のフレームを、第２のTSPEC用送信キュー23-1に先行転送する。それと共に、ファームウエア部１０は、ネクスト・キュー・レジスタ２４１の送信キュー23-1に対応するビット領域にフラグ「１」を書き込む（S58,S59）。このとき、送信キュー23-0に対応するビット領域のフラグは「０」にクリアされる。同時に、ファームウエア部１０は、Normal AckポリシーのフレームTSID1の送信時間Durationを送信キューテーブル１４に書き込む（S60）。
【０１０６】
第１のTSPEC用送信キュー23-0からのフレーム送信が終了してその送信キュー23-0内が空になると、送信コントローラ２４は、ファームウエア部１０に送信完了通知tx_resultを通知し（S61）、ネクスト・キュー・レジスタ２４１を参照し、フラグ「１」に対応する第２のTSPEC送信キュー23-1に格納されているフレームの送信を開始する（S62）。このフレーム送信は、Normal Ackポリシーであり、図２１に示されるように、フレーム送信のたびにAckフレームの受信を確認して行われる。そして、前述のとおり、ファームウエア部１０は、送信完了通知tx_resultに応答して、送信キュー23-1へのフレームの先行転送制御を行う。
【０１０７】
ファームウエア部１０は、送信完了通知tx_resultに応答して、Normal Ackポリシーでのフレーム送信の監視を開始する。つまり、ファームウエア部１０は、送信失敗などで送信のリトライが発生することで、TSID1に与えられた送信機会TXOPの期間TXOP_Limit内にフレーム送信を完了できるか否かをチェックする（S63,S64）。そして、送信機会の期間TXPO Limit内で送信不可能と予測される場合は、ファームウエア部１０は、第２のTSPEC用送信キュー23-1内のフレームを破棄（削除）して、TSID1のフレーム送信を中断させ、送信リトライによりその後の送信スケジュールが破綻しないようにする。この監視は、送信結果通知を受信してから行ったのでは間に合わないので、送信中フレームの次の送信フレームに対して行われる。
【０１０８】
具体的には、ファームウエア部１０は、TSPECテーブル１７に書き込まれているTSID1に割り当てられている残り送信期間TXOP_Limitから、送信キューテーブル１４に書き込まれている現在送信中フレームの送信時間Durationを減じて、残り送信時間RTXOPを管理する(S63)。更に、ファームウエア部１０は、現在送信中フレームの次に送信予定のフレームの送信時間が、残り送信時間RTXOPを超えていないか否かをチェックする。ここで、次に送信予定のフレームとは、図２１に示されるように、フレーム1-2が送信中の場合、そのフレーム1-2の送信が成功した場合にはフレーム1-3であり、フレーム1-2の送信が失敗した場合には同じフレーム1-2である。
【０１０９】
そこで、ファームウエア部１０は、フレーム1-2の送信開始した時に、次に送信予定のフレーム1-3の送信時間Durationと残り送信時間RTXOPとを比較し、送信オーバーが発生するか否かチェックし、送信オーバーが発生すると予想されるときは、送信コントローラ２４内の第１のクリアフラグレジスタ２４２にフラグ「１」を書き込む（S64）。また、ファームウエア部１０は、次に送信予定のフレーム1-2の送信時間Durationと残りの送信時間RTXOPとを比較し、送信オーバーが発生すると予想されるときは、第２のクリアフラグレジスタ２４３にフラグ「１」を書き込む（S64）。
【０１１０】
次に、ハードエウア部２０内の送信コントローラ２４は、現在送信中のフレームに対するAckフレームの受信、不受信に応答して、受信（送信成功）の場合は、第１のクリアフラグレジスタ２４２のフラグをチェックし、送信可能「０」であれば次のフレーム1-3の送信を開始し、送信不能「１」であれば次のフレーム1-3を送信せずに、送信中の送信キュー23-1内の全フレームをクリア（削除）する。また、送信コントローラ２４は、Ackフレーム不受信（送信失敗）の場合は、第２クリアフラグレジスタ２４３のフラグをチェックし、送信可能「０」であれば次のフレーム2-1の送信を開始し、送信不能「１」であれば次のフレーム2-1の送信をせずに、送信中の送信キュー23-1内の全フレームをクリア（削除）する。
【０１１１】
その結果、図２５に示されるように、送信コントローラ２４は、TSID1フレームの送信が全て完了して送信キュー23-1が空になったか、送信機会の期間TXPO_Limit満了によるかのいずれかでその送信機会が終了することに伴って、ネクスト・キュー・レジスタ２４１を参照して(S66)、次の送信キュー23-0からのフレーム送信を開始する(S67)。これにより、Normal Ackポリシーのフレーム送信に割り当てられた送信時間を超えてフレーム送信が繰り返されることが回避される。
【０１１２】
したがって、図２１に示されるように、フレーム1-2送信中に次のフレーム1-3の送信が不可能であると予想されて、その送信は中断されフレーム1-3の送信は行われず、次のTSID2のフレームがスケジュール通り送信開始される。
【０１１３】
図２５に示されるように、TSID1のフレームが送信キュー23-1から送信開始されると（S62）、ファームウエア部１０は、TIDキューテーブルに基づいてフレームデータバッファ１１を検索し、フレームデータバッファ11-10内のTSID2のフレームを、第１のTSPEC用送信キュー23-0に先行転送すると共にネクスト・キュー・レジスタ２４１の対応するビット領域にフラグ「１」を書き込む（S58(2),S59(2)）。また、ネクスト・キュー・レジスタ２４１の送信キュー23-1に対応するビット領域をフラグ「０」に書き換える。
【０１１４】
図２６に示されるように、第１のTSPEC用送信キュー23-0からのフレーム送信が開始され（S67）、もはや次に転送すべきフレームがフレームデータバッファ11からなくなると（S68）、ファームウエア部１０は、送信コントローラ２４内のネクスト・キュー・レジスタ２４１の全てのビット領域をフラグ「０」にクリアし、ハードウエア部２０にこれ以上送信すべきTSIDフレームがないことを通知する。これにより、TSPECフレームの送信キューへの転送制御は終了する。
【０１１５】
前述の、ファームウエア部１０による次に送信予定のフレームの送信が可能か否かのチェックは、次のタイミングで行われる。すなわち、（１）第１のTSPEC用送信キュー23-0内の最終フレームの送信結果通知tx_result受信時、（２）第２のTSPEC用送信キュー23-1内の最初のフレームの送信開始通知TXOP_start_i受信時、（３）第２のTSPEC用送信キュー23-1内のフレーム送信中のリトライ通知retry_i受信時、（４）第２のTSPEC用送信キュー23-1内のフレーム送信中の送信結果通知tx_result受信時に、ファームウエア部１０はチェックを行う。図２１の例では、（１）フレーム0-3の送信結果通知時、（２）フレーム1-1の送信開始通知時、（４）フレーム1-1の送信結果通知時、（３）フレーム1-2のリトライ通知時が対応する。これらの通知をトリガにしてファームウエア部１０が次の送信予定フレームの送信可能性をチェックすることで、送信機会の期間をオーバーしてフレームが送信されることが回避される。
【０１１６】
上記の送信キュー制御によれば、MACデバイスは、アクセスポイントからのポーリングフレームによる送信機会において、Normal Ackポリシーのフレーム送信もサポートすることができ、Normal Ackポリシー以外のAckポリシーのフレームと混在して送信することができる。なお、上記の説明で、送信コントローラ２４がフレームを送信するとは、厳密には、フレームを物理層ブロック４０に送出し、物理層ブロック４０から送信することである。
【０１１７】
以上、実施の形態例をまとめると以下の付記の通りである。
【０１１８】
（付記１）ワイヤレスLANにおいて送信機会の獲得を制御するメディア・アクセス・コントロール装置において、
送信対象のフレームを当該フレームの送信優先度を有する送信ポリシーに対応してそれぞれ格納する複数の送信キューと、
メディアの状態に基づいて送信機会の獲得を制御し、獲得した送信機会に対応する送信ポリシーのフレームを前記送信キューから読み出して送出する送信コントローラと、
上位層から供給されるフレームを、当該フレームの送信ポリシーに基づき且つ当該送信ポリシーに対応する送信キューの空き状態に基づいて、前記送信キューに転送する送信フレーム転送手段とを有することを特徴とするメディア・アクセス・コントロール装置。
【０１１９】
（付記２）付記１において、
前記送信フレーム転送手段は、前記複数の送信キューのうち未使用の送信キューに、前記上位層から供給された送信フレームの前記送信ポリシーを動的に割り当てることを特徴とするメディア・アクセス・コントロール装置。
【０１２０】
（付記３）付記２において、
前記送信フレーム転送手段は、前記上層から供給されたフレームのうち最も高い送信優先度の送信ポリシーを有するフレームを検出し、当該検出したフレームの送信ポリシーを前記未使用の送信キューに割り当てることを特徴とするメディア・アクセス・コントロール装置。
【０１２１】
（付記４）付記２において、
前記送信ポリシーは、前記送信コントローラが競合手続により獲得する第１の送信機会で送出される送信ポリシーと、前記送信コントローラが競合手続なしに与えられる第２の送信機会で送出される送信ポリシーとを有し、
前記第１の送信機会の送信ポリシーは、更に、前記競合手続における送信機会獲得手続の単位に対応する複数のアクセス・カテゴリを有し、当該複数のアクセス・カテゴリは、異なる前記送信優先度を有し、
前記複数の送信キューは、少なくとも、前記第１の送信機会の送信ポリシーに対応し且つ前記アクセス・カテゴリに対応して割り当てられ、更に、前記複数の送信キューは、前記第２の送信機会の送信ポリシーにも対応して割り当てられることを特徴とするメディア・アクセス・コントローラ装置。
【０１２２】
（付記５）付記２において、
前記送信ポリシーは、前記送信コントローラが競合手続により獲得する第１の送信機会で送出される送信ポリシーを有し、前記第１の送信機会の送信ポリシーは、更に、前記競合手続における送信機会獲得手続の単位に対応する複数のアクセス・カテゴリを有し、少なくとも１つのアクセス・カテゴリは、更に、複数の送信優先度を有する送信ＩＤを有し、
前記送信フレーム転送手段は、あるアクセス・カテゴリに属する複数の送信ＩＤに対しては、単一の送信キューのみを割り当てることを特徴とするメディア・アクセス・コントローラ装置。
【０１２３】
（付記６）付記５において、
前記送信フレーム転送手段は、ある送信ＩＤに対応して送信キューを割り当てた場合は、当該送信ＩＤが属するアクセス・カテゴリに属する他の送信ＩＤに対しては他の送信キューを割り当てないことを特徴とするメディア・アクセス・コントローラ装置。
【０１２４】
（付記７）付記２において、
前記送信ポリシーは、前記送信コントローラが競合手続により獲得する第１の送信機会で送出される送信ポリシーと、前記送信コントローラが競合手続なしに与えられる第２の送信機会で送出される送信ポリシーとを有し、
前記第２の送信機会で送出される送信ポリシーは、更に、データレートに対応する複数のトラフィック仕様を有し、
前記送信フレーム転送手段は、前記第２の送信機会で送出される送信ポリシーに対応して共通の送信キューを割り当て、前記複数のトラフィック仕様を有する複数のフレームを、当該割り当てた共通の送信キューに転送することを特徴とするメディア・アクセス・コントローラ装置。
【０１２５】
（付記８）付記７において、
前記送信フレーム転送手段は、前記共通に割り当てた送信キューの残り領域がフレームサイズより大きい場合は、当該フレームを当該送信キューに転送することを特徴とするメディア・アクセス・コントローラ装置。
【０１２６】
（付記９）付記２において、
前記送信キューの数が、前記送信ＩＤの数及び前記トラフィック仕様の数の合計よりも少ない数であることを特徴とするメディア・アクセス・コントローラ装置。
【０１２７】
（付記１０）付記１において、
前記送信フレーム転送手段は、前記上層から供給されたフレームのうち最も高い送信優先度の送信ポリシーを有するフレームを検出し、当該検出した送信対象フレームの送信ポリシーに割り当て済みの送信キューに、当該検出したフレームを転送することを特徴とするメディア・アクセス・コントロール装置。
【０１２８】
（付記１１）付記１において、
更に、前記上層から供給されたフレームを一時的に格納するフレームデータバッファを有し、
前記フレームデータバッファ内に格納された転送対象のフレームの送信ポリシーに対応する送信キューが存在せず、未使用の送信キューが存在しない場合は、前記送信フレーム転送手段は、当該転送対象のフレームを転送せずに前記フレームデータバッファ内に待機させることを特徴とするメディア・アクセス・コントロール装置。
【０１２９】
（付記１２）付記１において、
更に、前記上層から供給されたフレームを一時的に格納するフレームデータバッファを有し、
前記フレームデータバッファ内に格納された転送対象のフレームのサイズが、当該フレームの送信ポリシーに対応する送信キューの残り領域よりも小さい場合に、前記送信フレーム転送手段は、当該転送対象のフレームを対応する送信キューに転送し、大きい場合に、当該転送対象のフレームを転送せずに前記フレームデータバッファ内に待機させることを特徴とするメディア・アクセス・コントロール装置。
【０１３０】
（付記１３）付記１において、
更に、前記上層から供給されたフレームを一時的に格納するフレームデータバッファを有し、
前記フレームデータバッファ内に格納された転送対象のフレームのサイズが、当該フレームの送信ポリシーに対応する送信キューの残り領域よりも大きい場合であっても、当該送信キューからフレームの送出が開始した時に、前記転送対象のフレームのサイズが、送出完了後の当該送信キューの予想残り領域より小さい場合には、、前記送信フレーム転送手段は、当該転送対象のフレームを対応する送信キューに、先行して転送することを特徴とするメディア・アクセス・コントロール装置。
【０１３１】
（付記１４）付記１３において、
前記送出完了により、前記先行転送したフレームが前記送信キューに格納された時、前記フレームデータバッファ内から前記先行転送したフレームを削除することを特徴とするメディア・アクセス・コントロール装置。
【０１３２】
（付記１５）付記１３において、
更に、送信フレーム転送手段から転送されたフレームを一時的に格納するインターフェースキューを有し、
前記先行転送した後、送出開始したフレームが送信完了により前記送信キューから削除されない場合は、前記インターフェースキュー内に残留する先行転送したフレームを削除し、前記フレームデータバッファ内の先行転送したフレームを削除しないことを特徴とするメディア・アクセス・コントロール装置。
【０１３３】
（付記１６）付記１において、
更に、送信フレーム転送手段から転送されたフレームを一時的に格納するインターフェースキューを有し、
所定の送信対象フレームを対応する送信キューに転送した後、当該転送対象の送信キューとは異なる送信キューに異なる送信対象フレームを転送する場合は、前記送信フレーム転送手段は、前記インターフェースキューが空き状態の時に転送することを特徴とするメディア・アクセス・コントロール装置。
【０１３４】
（付記１７）付記１において、
前記送信フレーム転送手段は、前記上位層から供給されるフレームに前記送信ポリシーを付加し、
前記送信コントローラは、前記送信キューに格納されたフレームに付加された前記送信ポリシーに応じて、送信キュー毎に送信機会の獲得制御を行うことを特徴とするメディア・アクセス・コントロール装置。
【０１３５】
（付記１８）付記１６において、
前記送信ポリシーは、前記送信コントローラが競合手続により獲得する第１の送信機会で送出される送信ポリシーを有し、前記第１の送信機会の送信ポリシーは、更に、前記競合手続における送信機会獲得手続の単位に対応する複数のアクセス・カテゴリを有し、少なくとも１つのアクセス・カテゴリは、更に、複数の送信優先度を有する送信ＩＤを有し、
前記送信フレーム転送手段は、前記アクセス・カテゴリ毎に又は前記送信ＩＤ毎に前記送信キューを割り当て、
前記送信コントローラは、所定のアクセス・カテゴリに対して送信機会を獲得した時に、当該所定のアクセス・カテゴリに属する複数の送信ＩＤのうち最も送信優先度が高い送信ＩＤが割り当てられている送信キューから、フレームを送出することを特徴とするメディア・アクセス・コントロール装置。
【０１３６】
（付記１９）ワイヤレスLANにおいて送信機会の獲得を制御するメディア・アクセス・コントロール装置において、
送信対象のフレームを当該フレームの送信優先度を有する送信ポリシーに対応してそれぞれ格納する複数の送信キューと、
メディアの状態に基づいて送信機会の獲得を制御し、獲得した送信機会に対応する送信ポリシーのフレームを前記送信キューから読み出して送出する送信コントローラと、
前記複数の送信キューのうち未使用の送信キューに、前記送信対象のフレームの送信ポリシーを動的に割り当て、当該送信対象のフレームを、当該フレームの送信ポリシーに基づき且つ当該送信ポリシーに対応する送信キューの空き状態に基づいて、前記送信キューに転送する送信フレーム転送手段とを有することを特徴とするメディア・アクセス・コントロール装置。
【０１３７】
（付記２０）付記１９において、
更に、前記上層から供給されたフレームを一時的に格納するフレームデータバッファを有し、
前記送信フレーム転送手段は、前記フレームデータバッファに格納されている複数のフレームのうち、前記送信優先度が最も高いフレームを検出し、当該検出したフレームをその送信ポリシーに対応する前記送信キューに転送することを特徴とするメディア・アクセス・コントロール装置。
【０１３８】
（付記２１）付記１９において、
前記送信フレーム転送手段は、上位層から供給されるフレームに前記送信ポリシーを付加し、
前記送信コントローラは、前記送信キューに格納されたフレームに付加された前記送信ポリシーに応じて、送信キュー毎に送信機会の獲得制御を行うことを特徴とするメディア・アクセス・コントロール装置。
【０１３９】
（付記２２）ワイヤレスLANにおいて送信機会の獲得を制御するメディア・アクセス・コントロール装置において、
上位層から供給されるフレームを一時的に格納するフレームデータバッファと、
送信対象のフレームを当該フレームの送信ポリシーに対応して格納する送信キューと、
メディアの状態に基づいて送信機会の獲得を制御し、獲得した送信機会に対応する送信ポリシーのフレームを前記送信キューから送出する送信コントローラと、
前記送信キューからフレームを送出完了するたびに前記送信コントローラが通知する送信完了通知に応答して、前記フレームデータバッファ内に格納された転送対象フレームのサイズが、当該送信キュー内の送信対象フレームの送出完了後における当該送信キュー内の残り領域より小さい場合に、当該転送対象フレームを対応する送信キューに先行して転送する送信キュー制御手段とを有することを特徴とするメディア・アクセス・コントロール装置。
【０１４０】
（付記２３）付記２２において、
前記送信キュー制御手段は、前記送信完了通知に加えて、前記送信コントローラが前記通信機会を獲得したときに通知する送信機会獲得通知に応答しても、前記転送対象フレームの先行転送を行うことを特徴とするメディア・アクセス・コントロール装置。
【０１４１】
（付記２４）付記２３において、
前記通信コントローラは、前記通信機会を獲得したとき、前記送信キュー内の最初の送信対象フレームのサイズが所定のサイズを超えるときに、前記通信機会獲得通知を前記送信キュー制御手段に通知し、超えない時は通知しないことを特徴とするメディア・アクセス・コントロール装置。
【０１４２】
（付記２５）付記２２乃至２４のいずれかにおいて、
前記通信コントローラは、通信キュー内のフレームの送出を開始するたびに、送信開始通知を前記送信キュー制御手段に通知しないことを特徴とするメディア・アクセス・コントロール装置。
【０１４３】
（付記２６）ワイヤレスLANにおいて送信機会の獲得を制御するメディア・アクセス・コントロール装置において、
フレーム送信毎に受信側からのアクノリッジメントをチェックしないでフレーム送信を行う第１の送信ポリシーと、フレーム送信毎に受信側からのアクノリッジメントをチェックしてフレーム送信または再送信を行う第２の送信ポリシーとに対応して、それぞれ割り当てられる第１及び第２の送信キューと、
メディアの状態に基づいて送信機会の獲得を制御し、送信機会の獲得に応答して、前記第１及び第２の送信キュー内のフレームを順次送出する送信コントローラと、
前記第１及び第２の送信ポリシーに対応するフレームを、前記第１及び第２の送信キューの空き状態に基づいて、前記第１及び第２の送信キューにそれぞれ転送する送信キュー制御手段とを有し、
前記送信キュー制御手段は、前記第２の送信ポリシーのフレームの送信中に、当該第２の送信ポリシーに割り当てられた送信機会の期間中にフレームの送信完了ができないことを予測した時に、前記第２の送信ポリシーのフレームの送出を前記送信コントローラに中断させることを特徴とするメディア・アクセス・コントロール装置。
【０１４４】
（付記２７）付記２６において、
前記送信キューは複数個設けられ、
前記送信キュー制御手段は、送信フレームの送信ポリシーに対応して、前記第１及び第２の送信キューを含めて送信キューを動的に割り当てることを特徴とするメディア・アクセス・コントロール装置。
【０１４５】
（付記２８）付記２６において、
前記送信キュー制御手段は、前記フレームの送信完了ができないことを予測した時に、前記送信コントローラに、前記第２の送信キューに格納されているフレームを削除させることを特徴とするメディア・アクセス・コントロール装置。
【０１４６】
（付記２９）付記２６において、
前記送信キュー制御手段は、送信中のフレームの次の送信対象フレームが、前記フレームの送信完了ができないか否かを予測し、当該予測対象の次の送信対象フレームは、送信中フレームの次に送信予定されているフレームと、送信中フレームとを含むことことを特徴とするメディア・アクセス・コントロール装置。
【０１４７】
（付記３０）ワイヤレス通信において送信機会の獲得を制御するメディア・アクセス・コントロール装置において、
送信対象のフレームを当該フレームの送信ポリシーに対応してそれぞれ格納する複数の送信キューと、
前記複数の送信キューに、前記送信対象のフレームの送信ポリシーを動的に割り当て、当該送信対象のフレームを、当該フレームの送信ポリシーに割り当てられた送信キューの空き状態に基づいて、前記送信キューに転送する送信キュー制御手段と、
メディアの状態に基づいて送信機会の獲得を制御し、獲得した送信機会に対応する送信ポリシーのフレームを前記送信キューから送出する送信コントローラとを有することを特徴とするメディア・アクセス・コントロール装置。
【図面の簡単な説明】
【０１４８】
【図１】ワイヤレスＬＡＮの概略を説明する図である。
【図２】衝突回避アルゴリズムを説明する図である。
【図３】従来のMAC層用デバイスの構成図である。
【図４】本実施の形態におけるMAC装置の概略構成図である。
【図５】本実施の形態におけるMAC装置の構成を示す図である。
【図６】本実施の形態におけるMAC層ブロックの詳細構成図である。
【図７】本実施の形態におけるMAC層ブロックの動作状態図である。
【図８】本実施の形態におけるMAC層ブロックの動作状態図である。
【図９】本実施の形態におけるMAC層ブロックの動作状態図である。
【図１０】本実施の形態におけるMAC層ブロックの動作状態図である。
【図１１】ファームウエア部１０のフレーム転送制御のフローチャート図である。
【図１２】複数の送信キューにフレームを転送する場合の動作の状態図である。
【図１３】複数の送信キューにフレームを転送する場合の動作の状態図である。
【図１４】TIDが8〜15を持つフレームの転送動作の状態図である。
【図１５】本実施の形態における先行転送のタイミングチャートを示す図である。
【図１６】本変形例でのMAC層ブロックの動作状態図である。
【図１７】本変形例でのファームウエア部１０のフレーム転送制御のフローチャート図である。
【図１８】Normal Ackポリシーのフレームとそれ以外のAckポリシーのフレームとを混在させて送信する場合の問題点を説明する図である。
【図１９】本変形例でのファームウエア部が行うTSPECフレームの転送と送信制御のフローチャート図である。
【図２０】本変形例でのハードウエア部が行うTSPECフレームの送信のタイミングチャート図である。
【図２１】本変形例におけるMAC層ブロックの動作状態図である。
【図２２】本変形例におけるMAC層ブロックの動作状態図である。
【図２３】本変形例におけるMAC層ブロックの動作状態図である。
【図２４】本変形例におけるMAC層ブロックの動作状態図である。
【図２５】本変形例におけるMAC層ブロックの動作状態図である。
【図２６】本変形例におけるMAC層ブロックの動作状態図である。
【符号の説明】
【０１４９】
２：メディア・アクセス・コントローラ装置、
１１：フレームデータバッファ、１８：送信フレーム転送手段、
２１：インターフェースキュー、２３：送信キュー
２４：送信コントローラ
【図１】
2005065226.tif 000003
【図２】
2005065226.tif 000004
【図３】
2005065226.tif 000005
【図４】
2005065226.tif 000006
【図５】
2005065226.tif 000007
【図６】
2005065226.tif 000008
【図７】
2005065226.tif 000009
【図８】
2005065226.tif 000010
【図９】
2005065226.tif 000011
【図１０】
2005065226.tif 000012
【図１１】
2005065226.tif 000013
【図１２】
2005065226.tif 000014
【図１３】
2005065226.tif 000015
【図１４】
2005065226.tif 000016
【図１５】
2005065226.tif 000017
【図１６】
2005065226.tif 000018
【図１７】
2005065226.tif 000019
【図１８】
2005065226.tif 000020
【図１９】
2005065226.tif 000021
【図２０】
2005065226.tif 000022
【図２１】
2005065226.tif 000023
【図２２】
2005065226.tif 000024
【図２３】
2005065226.tif 000025
【図２４】
2005065226.tif 000026
【図２５】
2005065226.tif 000027
【図２６】
2005065226.tif 000028