(57)【要約】【課題】無線アドホックネットワークにおいて輻輳を防止且つ解消する。【解決手段】１つ上位階層のノードで、１つ下位階層の各ノードから、トラヒック評価指標値を取得して、トラヒック評価指標に応じて１つ下位階層の各ノードに対して適切な優先制御に係るパラメータを決定して、通知・設定させる。輻輳が発生したこと又は解消したことを１つ上位階層のノードで検出した場合には、優先度又はパラメータを調整して、通知・設定させる。【選択図】図４
2010171525.tif 000002
【特許請求の範囲】
【請求項１】
無線アドホックネットワークのノードとなる無線通信機であって、
ルートノードを最上位階層として自ノードより１つ下層の接続ノードである競合ノードから、当該競合ノードにおけるトラヒック評価指標値を受信する手段と、
前記競合ノードにおける前記トラヒック評価指標値に基づき、輻輳を防止且つ解消させるように各前記競合ノードの優先制御に係るパラメータ又は当該パラメータ決定のための優先度を決定するパラメータ決定手段と、
各前記競合ノードの優先制御に係るパラメータ又は優先度を各前記競合ノードに送信する手段と、
を有する無線通信機。
【請求項２】
前記パラメータ決定手段が、
前記競合ノードにおいて相対的にトラヒック量が多くなる蓋然性が高い競合ノードほど送信機会を増加させ、１つ下層のノードからの受信データ量又は受信データレートである受信データ指標値が前記自ノードへの送信データ量又は送信データレートである送信データ指標値を上回っている競合ノードほど送信機会を増加させるように、前記優先制御に係るパラメータを決定する
請求項１記載の無線通信機。
【請求項３】
前記トラヒック評価指標値が、
前記競合ノードの配下のノード数と、前記受信データ指標値と、前記送信データ指標値とを含み、
前記パラメータ決定手段が、
前記ノード数と、前記受信データ指標値に対する前記送信データ指標値の比である入出力比とからパラメータ決定指標値を算出し、各前記競合ノードの前記パラメータ決定指標値を用いて、各前記競合ノードの前記優先制御に係るパラメータを決定する
請求項２記載の無線通信機。
【請求項４】
前記トラヒック評価指標値が、
前記競合ノードの配下のノード数と、前記受信データ指標値に対する前記送信データ指標値の比である入出力比とを含み、
前記パラメータ決定手段が、
前記ノード数と、前記受信データ指標値に対する前記送信データ指標値の比である入出力比とからパラメータ決定指標値を算出し、各前記競合ノードの前記パラメータ決定指標値を用いて、各前記競合ノードの前記優先制御に係るパラメータを決定する
請求項２記載の無線通信機。
【請求項５】
前記自ノードについてのトラヒック評価指標値を収集するトラヒック監視手段と、
前記自ノードの１つ上位階層のノードに、収集した前記トラヒック評価指標値を送信する手段と、
前記自ノードの１つ上位階層のノードから、前記自ノードの優先制御に係るパラメータを受信し、設定する手段と、
をさらに有する請求項１乃至４のいずれか１つ記載の無線通信機。
【請求項６】
前記自ノードについてのトラヒック評価指標値を収集するトラヒック監視手段と、
前記自ノードの１つ上位階層のノードに、収集した前記トラヒック評価指標値を送信する手段と、
前記自ノードの１つ上位階層のノードから、前記自ノードの優先制御に係るパラメータ決定のための優先度を受信する手段と、
前記優先度に対応する前記優先制御に係るパラメータを特定し、設定する手段と、
をさらに有する請求項１乃至４のいずれか１つ記載の無線通信機。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、無線アドホックネットワークのための無線通信機に関する。
【背景技術】
【０００２】
例えば無線ＬＡＮ（Local Area Network）の規格ＩＥＥＥ８０２．１１においては、アクセス方式にＣＳＭＡ／ＣＡ（Carrier Sense Multiple Access with Collision Avoidance）を採用している。なお、以下ではＣＳＭＡ／ＣＡを採用する規格として無線ＬＡＮを一例に説明するが、これに限定するものではない。
【０００３】
このＣＳＭＡでは、フレームを送信しようとするそれぞれの無線通信機は、事前にキャリアセンスを行い、無線チャネルの使用状況を確認し、他の無線通信機による送信が検出される間は、自分の送信を見合わせることによって、衝突をできるだけ回避する。さらにＣＡでは、バックオフ制御により無線通信機毎にランダムな時間差を作って衝突をなるべく回避する。
【０００４】
ＣＳＭＡ／ＣＡに基づく通信処理の例を図１に示す。図１において、無線通信機１が送信フレーム１を送信している間は、無線通信機２及び３は、送信フレーム１のキャリアを検出すると「ビジー」と判定して、フレームの送信を見合わせる。送信フレーム１の送信が終わると、無線通信機２及び３は、ＩＦＳ（Inter Frame Space）だけ待機し、さらにＣＷ（Contention Window）内のバックオフ時間分キャリアセンスを実施しながら待機する。なお、バックオフ時間は、ランダム時間×スロット・タイムの時間である。例えばランダム時間は、［０，ＣＷ］の範囲の一様な分布から生成されるランダムな整数であり、例えばＩＥＥＥ８０２．１１ｂの場合にはＣＷは３１乃至１０２３であり、スロット・タイムは２０μsecである。また、ＩＦＳには、図２に示すような種類がある。図２では、４つのＩＦＳのそれぞれについて使用方法が示されているが、通常であれば、ＤＩＦＳが用いられる。
【０００５】
このようなバックオフ時間においてキャリアを検出しなければ、フレームを送信することができる。図１の例では、無線通信機２についてのバックオフ時間中にはキャリアを検出しなかったので、無線通信機２はフレーム２を送信する。そうすると、ランダム時間が長いためにバックオフ時間が長くなった無線通信機３は、バックオフ時間中に無線通信機２からのキャリアを検出することになるので、無線通信機３はさらにキャリアセンスをしながら待機することになる。
【０００６】
そして、無線通信機２によるフレーム２の送信が終了した後、ＩＦＳだけ待機して、さらにそれぞれのバックオフ時間中キャリアセンスを実施しながら待機する。図１の例では、バックオフ時間が最も短い無線通信機３が、フレーム３を送信する。無線通信機１については、バックオフ時間中に無線通信機３からのキャリアを検出するので、キャリアセンスをしながら待機することになる。
【０００７】
以上のような処理を実施すれば、パケット衝突を回避しながら、各無線通信機には公平な送信機会が与えられるようになっている。
【０００８】
一方、例えば各々ＩＥＥＥ８０２．１１規格に準拠している無線通信機をノードに採用して、例えば図３に示すような無線アドホックネットワークを構築することがある。このような無線アドホックネットワークにおいては、例えば有線のネットワークに接続されている、最上位階層のルートノードＳＴＡ(n+1)には、第２階層のＳＴＡ０(n)とＳＴＡ１(n)とＳＴＡ２(n)とが接続されている。ＳＴＡ０(n)には、第３階層のＳＴＡ００(n-1)とＳＴＡ０１(n-1)とＳＴＡ０２(n-1)とが接続されている。また、ＳＴＡ１(n)には、第３階層のＳＴＡ１０(n-1）が接続されている。ＳＴＡ２(n)には、第３階層のＳＴＡ２０(n-1)とＳＴＡ２１(n-1)とＳＴＡ２２(n-1)とが接続されている。ＳＴＡ００(n-1）には、第４階層のＳＴＡ０００（n-2)が接続されており、ＳＴＡ０１(n-1)には、第４階層のＳＴＡ０１０(n-2)が接続されている。
【０００９】
このようなツリー構造のネットワークでは、ルートノードに近いほど配下のノードからのパケットが集中する。特に、例えば点線で囲まれている第２階層のＳＴＡ０(n)とＳＴＡ１(n)とＳＴＡ２(n)に着目すると、ＳＴＡ０(n)は自身を含めて６ノードが配下のノードの数となり、ＳＴＡ２(n)は自身を含めて４ノードが配下のノード数となり、ＳＴＡ１(n)は自身を含めて２ノードが配下のノード数となる。例えば、ある期間Ｔに、各ノードがＮ個のパケットをＳＴＡ(n+1)に届ける必要があるならば、ＳＴＡ１(n)は自身の分も含めて２Ｎ個のパケットを送信する必要があり、ＳＴＡ０(n)は自身の分も含めて６Ｎ個のパケットを送信する必要があり、ＳＴＡ２(n)は自身の分を含めて４Ｎ個のパケットを送信する必要がある。
【００１０】
このように送信すべきデータの量に偏りがあっても、ＣＳＭＡ／ＣＡでは、公平な送信機会しか与えられない。例えばある期間Ｔで４Ｎ個のパケットを各ノードが送信できるとすると、ＳＴＡ１(n)については送信枠（２Ｎ＝４Ｎ−２Ｎ）が余ってしまい、ＳＴＡ２(n)は全てのパケットを送信できるが、ＳＴＡ０(n)については２Ｎ（＝６Ｎ−４Ｎ）パケット送信できずに残ってしまう。すなわち、ＳＴＡ０(n)については２／３のパケットしか転送できず、輻輳が発生する。
【００１１】
送信機会を均等にするような手法は、例えばルータに、スター状に全てのノードが接続されて、全てのノードが平等であるならばよいが、図３に示したような無線アドホックネットワークを構築する際には適切ではない。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００６−１０１４７７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
以上のように、無線アドホックネットワークでは、通信を行うノード間のリンクだけ又は個々のノードだけに着目しても、輻輳を防止したり解消したりする上では十分ではない。
【００１４】
従って、本技術の目的は、無線アドホックネットワークにおいて効果的に輻輳の防止及び解消を行うための技術を提供することである。
【課題を解決するための手段】
【００１５】
無線アドホックネットワークのノードとなる第１の無線通信機は、ルートノードを最上位階層として自ノードより１つ下層の接続ノードである競合ノードから、当該競合ノードにおけるトラヒック評価指標値を受信する手段と、競合ノードにおけるトラヒック評価指標値に基づき、輻輳を防止且つ解消させるように各競合ノードの優先制御に係るパラメータ又は当該パラメータ決定のための優先度を決定するパラメータ決定手段と、各競合ノードの優先制御に係るパラメータ又は優先度を各競合ノードに送信する手段とを有する。
【００１６】
また、第２の無線通信機は、ルートノードを最上位階層として自ノードより下層のノードの総数と、１つ下層のノードからの受信データ量又は受信データレートである受信データ指標値と、自ノードへの送信データ量又は送信データレートである送信データ指標値とを含むトラヒック評価指標値を収集する手段と、トラヒック評価指標値又はノードの総数と受信データ指標値に対する送信データ指標値の比である入出力比との組み合わせを、自ノードより１つ上位階層のノードに送信する手段と、１つ上位階層のノードから、優先制御に係るパラメータを受信して、設定する手段と、優先制御に係るパラメータに従って優先制御を実施する手段とを有する。
【図面の簡単な説明】
【００１７】
【図１】図１は、ＣＳＭＡ／ＣＡの基本通信方法を示す図である。
【図２】図２は、ＩＦＳの種類を示す図である。
【図３】図３は、無線アドホックネットワークの一例を示す図である。
【図４】図４は、実施の形態の概要を説明するための図である。
【図５】図５は、被制御ノードに係る無線通信機の機能ブロック図である。
【図６】図６は、被制御ノードに係る第２の無線通信機の機能ブロック図である。
【図７】図７は、制御ノードに係る無線通信機の機能ブロック図である。
【図８】図８は、メインの処理フローを示す図である。
【図９】図９は、被制御ノードから制御ノードに送信されるデータの一例を示す図である。
【図１０】図１０は、優先制御パラメータ決定処理の第１の例を示す図である。
【図１１】図１１は、優先度と評価指標値との関係を表す図である。
【図１２】図１２は、優先度と優先制御パラメータ・セットとの対応関係テーブルを表す図である。
【図１３】図１３は、優先制御パラメータ決定処理の第２の例を示す図である。
【図１４】図１４は、優先度と優先制御パラメータ・セットとの対応関係テーブルの第２の例を表す図である。
【図１５】図１５は、第２のメインの処理フローを示す図である。
【図１６】図１６は、制御ノード及び被制御ノードの機能を有する無線通信機の機能ブロック図である。
【発明を実施するための形態】
【００１８】
本実施の形態では、どのような形態の無線アドホックネットワークであってもよいが、例えば図３に示したような無線アドホックネットワークが周知技術で既に構築されているものとする。すなわち、ルートノードまでの通信経路は、いずれかのノードが使用不能となるまで固定であり、経路外のノード間で通信を行わないものとする。
【００１９】
まず、本実施の形態における処理の概要を図４を用いて説明する。なお、本実施の形態における主要処理である優先制御パラメータ決定処理は、無線アドホックネットワークにおける末端のノード以外の全ての中継ノードで実施されるが、以下では一例としてルートノードＳＴＡ(n+1)が実施するものとする。すなわち、ルートノードＳＴＡ(n+1)と、当該ルートノードに接続する競合ノードＳＴＡ０(n)、ＳＴＡ１(n)及びＳＴＡ２(n)との関係を中心に説明する。なお、以下では、優先制御パラメータ決定処理を実施するノードを制御ノード、パラメータを受信して設定するノードを被制御ノードと呼ぶ場合がある。
【００２０】
本実施の形態では、図４の左側に示すように、通常の状態では、各競合ノードの配下のノード数に応じた送信機会を割り当てる。言い換えれば、配下のノード数の多いノードがより優先的にパケットを送信できるように制御する。具体的には、ＳＴＡ０(n)の配下ノード数は５であり、ＳＴＡ１(n)の配下ノード数は１であり、ＳＴＡ２(n)の配下ノード数は３であるので、送信機会は、ＳＴＡ０(n)：ＳＴＡ１(n)：ＳＴＡ２(n)＝５：１：３となる。但し、競合ノードもデータを生成して中継ノード（ここではルートノード）ＳＴＡ(n+1)に送信する場合には、自らも配下ノード数に含めて、６：２：３というような比率にする場合もある。
【００２１】
このような送信機会の制御（アクセス制御又は送信制御とも呼ぶ）を、例えばＩＥＥＥ８０２．１１ｅ（ＱｏＳ制御）で規定されるＥＤＣＡ（Enhanced Distributed Channel Access）パラメータ（すなわち、ＡＩＦＳ、ＣＷ及びＴＸＯＰ（Transmission Opportunity））の値を調整することにより実現する。
【００２２】
また、競合ノードでは、入力レートと出力レートとを監視する。入力レートは、配下のノードから受け取ったパケットのデータレート（又はある一定期間におけるデータ量。以下同じ。）であり、出力レートは、上位階層宛に送信したパケットのデータレートである。ＳＴＡ０(n)であれば、入力レートをＲ０(n-1)と表し、出力レートをＲ０(n)と表す。ＳＴＡ１(n)であれば、入力レートをＲ１(n-1)と表し、出力レートをＲ１(n)と表す。さらに、ＳＴＡ２(n)であれば、入力レートをＲ２(n-1)と表し、出力レートをＲ２(n)と表す。なお、自ノードで生成される送信パケットは入力レートに含まれるものとする。
【００２３】
そして、これらのデータは中継ノード（ここではルートノード）ＳＴＡ(n+1)に集められ、以下に述べるような入出力レート比が計算される。
【数１】
2010171525.tif 000003
【００２４】
入力レートと出力レートが等しい場合、すなわちＰ０(n)＝１、Ｐ１(n)＝１、Ｐ２(n)＝１である場合には、必要量と同等かそれ以上の送信機会が与えられていると考えてよい。逆に、入力レートより出力レートが小さい場合、すなわちＰ０(n)＜１、Ｐ１(n)＜１又はＰ２(n)＜１のいずれかの状態が発生した場合は、送信機会が不足してパケットが競合ノード内に滞留している状態である。この状態が継続すると、競合ノード内のバッファ溢れが生じて送信データを紛失する可能性がある。
【００２５】
従って、配下のノード数に応じた送信機会を与えられた状態であって、競合ノードのうちの少なくともいずれかがＰ０(n)＜１、Ｐ１(n)＜１、Ｐ２(n)＜１となった場合には、送信機会の配分を見直す。例えば、図４の中央右向き矢印に示すようにＳＴＡ１(n)についてＰ１(n)＜１となり、その他の競合ノードについてＰ０(n)＝１且つＰ２(n)＝１である場合、ＳＴＡ０(n)又はＳＴＡ２(n)の送信機会を減らし、ＳＴＡ１(n)の送信機会を多くする。図４の右側に示すように、例えばＳＴＡ０(n)の送信機会を減らし、ＳＴＡ１(n)の送信機会を増やす。
【００２６】
その後、図４の中央左向き矢印に示すように、ＳＴＡ１(n)のＰ１(n)が１になった場合、又はＳＴＡ０(n)のＰ０(n)又はＳＴＡ２(n)のＰ２(n)が１未満となった場合には、元の状態、すなわち図４の左側の状態に戻す。
【００２７】
このように、通常時であれば配下ノード数を基にノード間の公平性を確保しつつ、輻輳が起こった場合には、輻輳が起こっていないノードから送信機会を一時的に振り向け、ネットワーク全体としてのパフォーマンス低下を防ぎ、輻輳が解消した場合や、振り向け元に輻輳が起こった場合には、通常時の状態に戻すものである。
【００２８】
このような処理を無線アドホックネットワーク全体で行うことによって、（１）配下のノード数に応じた送信機会を与えることで、全ノードの公平性を担保できる。また、（２）配下のノード数が多いノードは、パケット集中により輻輳を生じ易いため、このようなノードの優先度を上げることによって、輻輳の抑制効果も期待できる。さらに、（３）ルートノードへの経路が集中しているノード以外のノードで輻輳が起こった場合にも対処可能で、効率的なパケット伝送を行うことができる。また、（４）トラヒックの状態を観測することで、ノードの移動や伝送路状況の変化により、ネットワークトポロジや伝送レートが変化した場合にも柔軟に対処することができる。（５）競合ノードの送信先（図３ではＳＴＡ(n+1)）を制御ポイントとすることで、競合ノード間のバランスを取りながら、送信機会の調整ができる。競合ノード間では通信を行わないが、中継ノードでバランスをとるようにしているので、公平且つ適切な調整が行われる。（６）また、以下で述べるようにＥＤＣＡパラメータ・セットによる制御を導入すれば、ＩＥＥＥ８０２．１１ｅとの親和性も高く、ＩＥＥＥ８０２．１１ｅ準拠の無線通信機であれば、改変コストも抑えられる。但し、他の規格に従うようにしても良い。
【００２９】
次に、競合ノード（すなわち被制御ノード）であるＳＴＡ０(n)、ＳＴＡ１(n)及びＳＴＡ２(n)に係る無線通信機の機能ブロック図を図５に示す。競合ノードである無線通信機１００は、受信部１０１と、フレーム解析部１０２と、トラヒック監視部１０３と、アクセス制御部１０４と、優先制御部１０５と、送信部１０６と、送信バッファ部１０７と、フレーム生成部１０８と、メモリ１０９とを有する。受信部１０１は、外部入力と接続されており、トラヒック監視部１０３と、アクセス制御部１０４と連携する。フレーム解析部１０２は、受信部１０１から受信パケットのデータを受け取り、処理を行って上位レイヤの処理部又はフレーム生成部１０８に出力する。また、優先制御部１０５とも連携する。
【００３０】
フレーム生成部１０８は、上位レイヤ又はフレーム解析部１０２からデータを受け取り、処理を行って処理結果を送信バッファ部１０７に出力する。フレーム生成部１０８は、優先制御部１０５の指示に従って処理を実施する。送信部１０６は、送信バッファ部１０７に格納されているフレームデータをパケットとして外部に出力する。送信部１０６は、トラヒック監視部１０３とアクセス制御部１０４と連携する。
【００３１】
優先制御部１０５とトラヒック監視部１０３とは連携して処理を実施し、アクセス制御部１０４は、優先制御部１０５の指示に従って処理を実施する。トラヒック監視部１０３とアクセス制御部１０４とは、メモリ１０９を利用する。
【００３２】
受信部１０１で受信されたパケットはフレーム解析部１０２でその宛先や種別を解析され、通常のデータ・パケットは上位レイヤに渡される。転送パケットや自ノード（すなわち上位レイヤ）から他のノードへ送信するパケットは、フレーム生成部１０８に出力される。フレーム生成部１０８では、アドホック・ルーティング・プロトコルの制御に従った宛先を付与するなどのフレーム構成を行った後、フレームデータは送信バッファ部１０７に一旦格納され、アクセス制御部１０４の制御に従って、送信部１０６から送信される。
【００３３】
アクセス制御部１０４は、ＣＳＭＡ／ＣＡを前提とした制御を行う。ここでは、アクセス制御部１０４は、例えばＩＥＥＥ８０２．１１ｅで用いられるＡＩＦＳ、ＣＷ、ＴＸＯＰの各パラメータを用いた制御を行う。なお、これらのパラメータは、優先制御部１０５により変更される。
【００３４】
優先制御部１０５は、中継ノード（制御ノードとも呼ぶ。上で述べた例ではＳＴＡ(n+1)）から通知される優先制御情報を基に、アクセス制御部１０４に対するパラメータの設定等を行う。設定データについては例えばメモリ１０９に格納する。また、トラヒック監視部１０３は、観測した入出力レート、配下のノード数等の情報をメモリ１０９に格納しておき、優先制御部１０５からの指示に応じて、トラヒック情報として優先制御部１０５に出力する。優先制御部１０５は、トラヒック情報をフレーム生成部１０８に出力して、フレーム生成部１０８にトラヒック情報を含むフレームデータを生成させ、さらに送信部１０６にパケットとして送信させる。
【００３５】
トラヒック監視部１０３は、受信部１０１からのデータに基づき入力レート、送信部１０６からのデータに基づき出力レートを測定、記録し、優先制御部１０５からの要求に従って、優先制御部１０５に出力する。なお、配下のノード数については、トラヒック監視部１０３が、自ノードに到着する受信パケットの送信元アドレスの数をカウントして取得するようにしても良い。具体的には、新たな送信元アドレスを検出する毎にメモリ１０９に当該送信元アドレスを登録すると共に、カウンタ値を１インクリメントするようにすればよい。
【００３６】
また、図６に示すような構成を採用しても良い。すなわち、トラヒック監視部１０３の代わりに、入力レートと出力レートを測定する入出力レート監視部１２１を導入すると共に、配下のノード数をカウントする処理を実施する送信元アドレス監視部１２２を新たに導入する。送信元アドレス監視部１２２は、受信部１０１から受信パケットのコピーを受信し、送信元アドレスを抽出して、メモリ１０９に登録されている送信元アドレスリストを検索して新たな送信元アドレスを検出したか判断する。新たな送信元アドレスを検出した場合には、当該送信元アドレスを送信元アドレスリストに登録して、カウンタの値を１インクリメントする。入出力レート監視部１２１は、送信部１０６及び受信部１０１からのデータに基づき測定した入力レート及び出力レートのデータをメモリ１０９に格納しておき、優先制御部１０５からの指示に従って、メモリ１０９に格納されている入力レート及び出力レートのデータに加えて送信元アドレス監視部１２２によってカウントされているノード数を、送信部１０６に制御ノード宛に送信させる。
【００３７】
次に、制御ノードであるルートノードＳＴＡ(n+1)の機能ブロック図を図７に示す。制御ノードＳＴＡ(n+1)である無線通信機２００は、受信部２０１と、フレーム解析部２０２と、アクセス制御部２０３と、メモリ２０４と、パラメータ決定部２０５と、送信部２０６と、送信バッファ部２０７と、フレーム生成部２０８とを有する。
【００３８】
受信部２０１は、外部入力と接続されており、アクセス制御部２０３と連携する。フレーム解析部２０２は、受信部２０１から受信パケットのデータを受け取り、処理を行って上位レイヤの処理部又はフレーム生成部２０８に出力する。また、パラメータ決定部２０５と連携する。
【００３９】
フレーム生成部２０８は、上位レイヤ又はフレーム解析部２０２からデータを受け取り、処理を行って処理結果を送信バッファ部２０７に出力する。フレーム生成部２０８は、パラメータ決定部２０５からの出力でフレームデータを生成することもある。パラメータ決定部２０５及びアクセス制御部２０３は、メモリ２０４を利用する。送信部２０６は、送信バッファ部２０７に格納されているフレームデータをパケットとして外部に出力する。送信部２０６は、アクセス制御部２０３と連携する。
【００４０】
受信部２０１で受信されたパケットはフレーム解析部２０２でその宛先や種別を解析され、通常のデータ・パケットは上位レイヤに渡される。転送パケットや自ノード（すなわち上位レイヤ）から他のノードへ送信するパケットは、フレーム生成部２０８に出力される。フレーム生成部２０８では、アドホック・ルーティング・プロトコルの制御に従った宛先を付与するなどのフレーム構成を行った後、フレームデータを送信バッファ部２０７に一旦格納する。送信部２０６は、アクセス制御部２０３の制御に従って、送信バッファ部２０７に格納されているデータをパケットとして送信する。
【００４１】
アクセス制御部２０３は、ＣＳＭＡ／ＣＡを前提とした制御を行う。ここでは、アクセス制御部２０３は、例えばＩＥＥＥ８０２．１１ｅで用いられるＡＩＦＳ、ＣＷ、ＴＸＯＰの各パラメータを使った制御が可能であり、例えばメモリ２０４に格納されている設定データに従う。
【００４２】
パラメータ決定部２０５は、競合ノード（被制御ノードとも呼ぶ）から通知されたトラヒック情報を基に、まず、各競合ノードについて上で述べたような入出力レート比を計算し、メモリ２０４に格納する。また、全ての被制御ノードの入出力レート比が１（Ｐ０(n)＝１、Ｐ１(n)＝１、Ｐ２(n)＝１）である場合は、各被制御ノードの配下のノード数に応じて送信機会を与えるように優先制御パラメータを決定する。すなわち、配下のノード数が多いほど送信機会をより多く与えるようにする。
【００４３】
そして、入出力レート比が１未満になる競合ノードが出現した場合には、入出力レート比が１の競合ノードの送信機会を減じ、入出力レート比が１未満となった競合ノードの送信機会を増やすように優先制御パラメータを決定する。その後、送信機会を増やした競合ノードの入出力レート比が１に戻った場合や、送信機会を減じた競合ノードの入出力レート比が１未満になった場合には、初期状態に戻す。
【００４４】
このようにして決定された各競合ノードの優先制御パラメータを、フレーム生成部２０８に出力して、優先制御パラメータ通知フレームを生成させ、送信部２０６によって被制御ノードへ通知する。通知パケットの送信は、個別にユニキャストしても良いし、全被制御ノードの情報をまとめてブロードキャストしてもよい。
【００４５】
次に、被制御ノードと制御ノードの処理フローについて図８乃至図１４を用いて説明する。まず、図８を用いて全体処理フローを示す。被制御ノードＡの優先制御部１０５は、予め定められたトラヒック情報送信周期であるか判断する（ステップＳ１）。例えばタイマを保持しておき、トラヒック情報送信周期を計測させればよい。トラヒック情報送信周期でなければ、トラヒック情報送信周期になるまで待機する。一方、トラヒック情報送信周期である場合には、優先制御部１０５は、トラヒック監視部１０３に指示を行い、トラヒック監視部１０３は、指示に応じてメモリ１０９に格納されているトラヒック情報、すなわち配下のノード数並びに入力レートＲ(n-1)及び出力レートＲ(n)を読み出し（ステップＳ３）、優先制御部１０５に出力する。優先制御部１０５は、トラヒック監視部１０３から受信したトラヒック情報をフレーム生成部１０８に出力し、トラヒック情報を含むフレームデータを生成させ、さらにフレームデータから送信部１０６にトラヒック情報を含むパケットを制御ノードへ送信させる（ステップＳ５）。なお、送信の際には、アクセス制御部１０４の制御に従う。
【００４６】
このような処理については他に競合ノードＢなどが存在するならば、他の競合ノードＢなどでも実施される。すなわち、被制御ノードＢの優先制御部１０５は、予め定められたトラヒック情報送信周期であるか判断する（ステップＳ７）。トラヒック情報送信周期でなければ、トラヒック情報送信周期になるまで待機する。一方、トラヒック情報送信周期である場合には、優先制御部１０５は、トラヒック監視部１０３に指示を行い、トラヒック監視部１０３は、指示に応じてメモリ１０９に格納されているトラヒック情報、すなわち配下のノード数並びに入力レートＲ(n-1)及び出力レートＲ(n)を読み出し（ステップＳ９）、優先制御部１０５に出力する。優先制御部１０５は、トラヒック監視部１０３から受信したトラヒック情報をフレーム生成部１０８に出力し、トラヒック情報を含むフレームデータを生成させ、さらにフレームデータから送信部１０６にトラヒック情報を含むパケットを制御ノードへ送信させる（ステップＳ１１）。なお、送信の際には、アクセス制御部１０４の制御に従う。
【００４７】
例えば図９に示すようなデータが、被制御ノードから送信される。図９の例では、ノードのＩＤと、出力レートＲ(n)及び入力レートＲ(n-1)と、配下のノード数とを含む。
【００４８】
これに対して制御ノードの受信部２０１は、被制御ノードＡ及びＢなどからトラヒック情報を含むパケットを受信し（ステップＳ１３）、フレーム解析部２０２に出力すると、フレーム解析部２０２はトラヒック情報を含むパケットであることを認識してパラメータ決定部２０５に出力する。パラメータ決定部２０５は、トラヒック情報を受信すると、例えばメモリ２０４に格納する。そして、例えば全ての被制御ノードからトラヒック情報を受信した後、パラメータ決定部２０５は、優先制御パラメータ決定処理を実施する（ステップＳ１５）。この処理については以下で詳細に述べる。
【００４９】
優先制御パラメータ決定処理によって各被制御ノードのための優先制御パラメータが決定されると、パラメータ決定部２０５は、フレーム生成部２０８に指示して、各被制御ノードに対して決定された優先制御パラメータを含むフレームデータを生成させ、送信部２０６に優先制御パラメータを含むパケットを各被制御ノードへ送信させる（ステップＳ１７）。送信の際には、アクセス制御部２０３の指示に従う。
【００５０】
上で述べたように優先制御パラメータが、ＩＥＥＥ８０２．１１ｅに準拠している場合には、ＡＩＦＳ、ＣＷ及びＴＸＯＰを含む。
【００５１】
これに対して、被制御ノードＡの受信部１０１は、制御ノードから優先制御パラメータを含むパケットを受信すると（ステップＳ１９）、フレーム解析部１０２に出力する。フレーム解析部１０２は、優先制御パラメータを含むパケットであることを認識すると、優先制御パラメータのデータを優先制御部１０５に出力する。優先制御部１０５は、アクセス制御部１０４に対して受信した優先制御パラメータを設定する（ステップＳ２１）。例えばアクセス制御部１０４は、受信した優先制御パラメータをメモリ１０９に格納する。アクセス制御部１０４は、設定された優先制御パラメータに従って送信部１０６からのパケット送信を制御する。そして処理はステップＳ１に戻る。
【００５２】
同様に、被制御ノードＢの受信部１０１は、制御ノードから優先制御パラメータを含むパケットを受信すると（ステップＳ２３）、フレーム解析部１０２に出力する。フレーム解析部１０２は、優先制御パラメータを含むパケットであることを認識すると、優先制御パラメータのデータを優先制御部１０５に出力する。優先制御部１０５は、アクセス制御部１０４に対して受信した優先制御パラメータを設定する（ステップＳ２５）。例えばアクセス制御部１０４は、優先制御パラメータをメモリ１０９に格納する。アクセス制御部１０４は、設定された優先制御パラメータに従って送信部１０６からのパケット送信を制御する。そして処理はステップＳ７に戻る。
【００５３】
このような処理を繰り返すことによって、上で述べた効果を奏することができるようになる。
【００５４】
次に、優先制御パラメータ決定処理の第１の例について図１０乃至図１２を用いて説明する。パラメータ決定部２０５は、今回が最初の処理であるか判断する（ステップＳ３１）。本実施の形態では、最初の状態は入出力レート比が１の状態であると仮定して、まず最初に優先度及びパラメータのデフォルト値を決定する。そこで、各被制御ノードについて評価値ｆ(N,P)を算出し、メモリ２０４に格納する（ステップＳ３３）。例えば、ｆ(N,P)＝Ｎ／Ｐである。ＳＴＡ０(n)、ＳＴＡ１(n)及びＳＴＡ２(n)については、Ｎ０／Ｐ０、Ｎ１／Ｐ１、Ｎ２／Ｐ２を算出する。そして、パラメータ決定部２０５は、算出された評価値ｆ(N,P)に基づき、各被制御ノードの優先度を決定し、メモリ２０４に格納する（ステップＳ３５）。優先度の決定については、例えば図１１に示すようなテーブルで表されるようなルールに従う。すなわち、ａ、ｂ及びｃという値を事前に決定しておき、ｆ(N,P)が、ａより大きい場合には優先度「１」を設定し、ｂより大きくａ以下であれば優先度「２」を設定し、ｃより大きくｂ以下であれば優先度「３」を設定し、ｃ以下であれば優先度「４」を設定する。ａ乃至ｃのような閾値については、予め実験又はシミュレーションにより適切な値を定めておく。
【００５５】
そして、処理はステップＳ５１に移行して、パラメータ決定部２０５は、各被制御ノードについて、それぞれの優先度に基づき優先制御パラメータを決定し、メモリ２０４に格納する（ステップＳ５１）。そして元の処理に戻る。
【００５６】
ステップＳ５１では、例えば図１２に示すような優先度と優先制御パラメータ・セットとの対応関係テーブルを用いる。本実施の形態では優先度が高いほど優先度の数値が小さくなり、送信機会が増加するようになっている。図１２の例では、ＣＷについては最大値と最小値とを含む。また、ＴＸＯＰについては、ＩＥＥＥ８０２．１１ｂ（ＤＳＳＳ（直接拡散方式（Direct Sequence Spread Spectrum）、ＣＣＫ（Complementary Code Keying））の場合と、ＩＥＥＥ８０２．１１ａ／ｇ（ＯＤＦＭ（Orthogonal Frequency Division Multiplexing））の場合と、その他の場合とで別々にパラメータ値が規定されている。なお、Ｐ≦Ｑ≦Ｒ≦Ｓが成立し、Ｔ≦Ｕ≦Ｖ≦Ｗも成立している。ＣＷについては、優先度が上がると、その値は小さくなってゆき、早くパケット送信を始められるようになるので、送信機会が増加する。ＡＩＦＳについても同様に、優先度が上がると、その値が小さくなってゆき、早くパケット送信が始められるようになるので、送信機会が増加する。一方ＴＸＯＰについては、優先度が高くなるほど、大きな値になるので独占してパケット送信を行う期間が長くなり、送信機会が増加する。なお、ａＣＷｍｉｎ及びａＣＷｍａｘは、予め定められている値である。
【００５７】
図１０の説明に戻って、最初の処理ではない場合には、パラメータ決定部２０５は、Ｐ＜１となる被制御ノードが存在するか判断する（ステップＳ３７）。Ｐ＜１となる被制御ノードが存在しない場合には、特に優先制御パラメータを変更する必要がないので、元の処理に戻る。既にメモリ２０４に格納されている優先制御パラメータをそのまま通知すればよい。一方、Ｐ＜１となる被制御ノードが存在する場合には、各被制御ノードの評価値ｆ(N,P)を算出して、メモリ２０４に格納する（ステップＳ３９）。このステップについては計算方法はステップＳ３３と同じであるが、Ｐの値が異なるのでステップＳ３３で算出されたものとは異なる。
【００５８】
次に、パラメータ決定部２０５は、各被制御ノードについて、算出された評価値ｆ(N,P)に基づき、各被制御ノードの優先度を決定し、メモリ２０４に格納する（ステップＳ４１）。決定方法についてはステップＳ３５と同じであるが、割り当てられる優先度は変化している可能性がある。
【００５９】
そして、パラメータ決定部２０５は、Ｐ＜１となる被制御ノードのうちデフォルトの優先度から下げたものがあるか判断する（ステップＳ４３）。ステップＳ３５で決定された優先度のデフォルト値としてメモリ２０４に格納しておき、その値と比較する。輻輳が発生しているのに優先度が下がっているというのは、それよりも優先すべき被制御ノードが発生したことを表している。従って本ステップでは、このような条件が満たされているか確認するものである。この条件を満たしている場合には、Ｐ＝１としてステップＳ３３及びＳ３５経由で特定された優先制御パラメータのデフォルト値を今回のパラメータ値として設定する（ステップＳ５３）。そして元の処理に戻る。
【００６０】
一方、ステップＳ４３の条件を満たさない場合には、パラメータ決定部２０５は、Ｐ＝１となる被制御ノードが存在するか判断する（ステップＳ４５）。これは、優先度の調整を行っても良い被制御ノードが存在するか、それとも全ての被制御ノードについてＰ＜１となったかを確認している。もし、Ｐ＝１となる被制御ノードが存在しない場合にはステップＳ５３に移行する。
【００６１】
一方、Ｐ＝１となる被制御ノードが存在する場合には、パラメータ決定部２０５は、Ｐ＜１となる被制御ノードのうち評価値ｆ(N,P)が最大の被制御ノードの優先度を１ランクだけ上げ（数値は１下げる）、メモリ２０４に格納する（ステップＳ４７）。さらに、Ｐ＝１となるノードのうち１つのノード（例えばランダムに選択する）の優先度を１ランクだけ下げ（数値は１上げる）、メモリ２０４に格納する（ステップＳ４９）。なお、ここで選択された被制御ノードが、過去にＰ＝１の場合の優先度から優先度を上げたことのある被制御ノードである場合には、Ｐ＝１の時の優先度を設定する。そして、ステップＳ５１に移行して、このように調整された優先度から優先制御パラメータを決定する。そして元の処理に戻る。
【００６２】
このような処理を繰り返すことによって、配下のノード数をベースに平衡状態の優先制御パラメータを特定して輻輳を防止すると共に、輻輳が発生した場合には被制御ノード（すなわち競合ノード）のトラヒックの状態に応じて平衡状態をベースに優先度を調整して、輻輳を解消している。図１０の処理を繰り返せば、段階的に優先度が調整されるようになる。
【００６３】
なお、上で述べたＰ＝１という条件については、Ｐ＝１とみなせる状態ということを意味する。すなわち、Ｐ＝１だけではなく、例えば１から予め定められた範囲内に入っていればＰ＝１として取り扱ってもよい。以下で述べる第２の例についても同様である。
【００６４】
次に、優先制御パラメータ決定処理の第２の例について図１３及び図１４を用いて説明する。パラメータ決定部２０５は、今回が最初の処理であるか判断する（ステップＳ６１）。本例では、最初の状態は入出力レート比Ｐが１の状態であると仮定して、まず最初に優先度及びパラメータの初期値（すなわちデフォルト値）を決定する。そこで、各被制御ノードについて評価値ｆ(N,P)を算出し、メモリ２０４に格納する（ステップＳ６３）。評価値ｆ(N,P)については第１の例と同様である。そして、パラメータ決定部２０５は、算出された評価値ｆ(N,P)に基づき、各被制御ノードの優先度を決定する（ステップＳ６５）。優先度の決定については、例えば図１１に示すようなテーブルで表されるようなルールに従う。これも第１の例と同様である。ステップＳ６５で決定された各被制御ノードの優先度はデフォルト値としてメモリ２０４に格納しておく（ステップＳ６７）。
【００６５】
そして、パラメータ決定部２０５は、各被制御ノードについて、それぞれの優先度に基づき優先制御パラメータを決定する（ステップＳ６９）。ステップＳ６９では、例えば図１４に示すような優先度と優先制御パラメータ・セットとの対応関係テーブルを用いる。図１４の対応関係パラメータの基本的な考え方は、図１２に示した対応関係テーブルと同様である。すなわち、優先度が高いほど優先度の数値は小さくなり、送信機会が増加するようになっている。具体的には、優先度が上がると、ＣＷについては数値が減少し、ＡＩＦＳについても数値が減少し、ＴＸＯＰについては数値が増加する。さらに、各被制御ノードの優先制御パラメータ値をデフォルト値としてメモリ２０４に格納する（ステップＳ７１）。そして元の処理に戻る。
【００６６】
図１３の最初のステップに戻って、最初の処理ではないと判断された場合には、パラメータ決定部２０５は、Ｐ＜１となる被制御ノードが存在するか判断する（ステップＳ７３）。Ｐ＜１となる被制御ノードが存在しない場合には、特に優先制御パラメータを変更する必要がないので、元の処理に戻る。既にメモリ２０４に格納されている優先制御パラメータをそのまま通知すればよい。一方、Ｐ＜１となる被制御ノードが存在する場合には、各被制御ノードの評価値ｆ(N,P)を算出して、メモリ２０４に格納する（ステップＳ７５）。このステップの計算方法はステップＳ６３と同じであるが、Ｐの値が異なるのでステップＳ６３で算出されたものとは異なる。
【００６７】
次に、パラメータ決定部２０５は、各被制御ノードについて、算出された評価値ｆ(N,P)に基づき、各被制御ノードの優先度を決定し、メモリ２０４に格納する（ステップＳ７７）。決定方法についてはステップＳ６５と同じであるが、割り当てられる優先度は変化している可能性がある。
【００６８】
そして、パラメータ決定部２０５は、Ｐ＜１となる被制御ノードのうちデフォルトの優先度から下げたものがあるか判断する（ステップＳ７９）。ステップＳ６７でメモリ２０４に格納されたデフォルトの優先度と、ステップＳ７７で算出された優先度とを比較する。輻輳が発生しているのに優先度が下がっているというのは、それよりも優先すべき被制御ノードが発生したことを表している。従って本ステップでは、このような条件が満たされているか確認するものである。この条件を満たしている場合には、ステップＳ７１で特定された優先制御パラメータのデフォルト値を今回のパラメータ値として設定する（ステップＳ８７）。そして元の処理に戻る。
【００６９】
一方、ステップＳ７９の条件を満たさない場合には、パラメータ決定部２０５は、Ｐ＝１となる被制御ノードが存在するか判断する（ステップＳ８１）。これは、優先度の調整を行っても良い被制御ノードが存在するか、それとも全ての被制御ノードについてＰ＜１となったかを確認している。もし、Ｐ＝１となる被制御ノードが存在しない場合にはステップＳ８７に移行する。
【００７０】
一方、Ｐ＝１となる被制御ノードが存在する場合には、パラメータ決定部２０５は、Ｐ＜１となる被制御ノードのうち評価値ｆ(N,P)が最大の被制御ノードの例えばＡＩＦＳの値を１だけ下げ、メモリ２０４に格納する（ステップＳ８３）。ここではＡＩＦＳの値を調整する例を示しているが、他のパラメータを調整するようにしても良いし、複数のパラメータを調整するようにしても良い。また調整する幅も「１」でなくてもよい。なおＴＸＯＰを調整する場合には、値を増加させる。
【００７１】
さらに、パラメータ決定部２０５は、Ｐ＝１となるノードのうち１つのノード（例えばランダムに選択する）の例えばＡＩＦＳを１だけ上げ、メモリ２０４に格納する（ステップＳ８５）。ステップＳ８３と同様に調整するパラメータは他のパラメータであっても良い。また複数のパラメータを調整するようにしても良い。さらに調整する幅も「１」でなくてもよい。なお、ここで選択された被制御ノードが、過去にＰ＝１の場合のＡＩＦＳ値から下げたことのある被制御ノードである場合には、Ｐ＝１の時のＡＩＦＳの値を設定する。そして、元の処理に戻る。
【００７２】
このような処理を繰り返すことによって、配下のノード数をベースに平衡状態の優先制御パラメータを特定して輻輳を防止すると共に、輻輳が発生した場合には被制御ノード（すなわち競合ノード）のトラヒックの状態に応じて平衡状態をベースに優先制御パラメータを調整して、輻輳を解消している。図１３の処理を繰り返せば、段階的に優先制御パラメータが調整されるようになる。
【００７３】
上で述べた例では、制御ノード（すなわち中継ノード）側で優先制御パラメータを決定するような例を述べたが、例えば優先度を制御ノードで決定し、当該優先度を被制御ノードに通知して、被制御ノードにおいて優先度から優先制御パラメータを決定及び設定するようにしてもよい。
【００７４】
例えば図１５に示すような処理を実施する。まず、被制御ノードＡの優先制御部１０５は、予め定められたトラヒック情報送信周期であるか判断する（ステップＳ９１）。例えばタイマを保持しておき、トラヒック情報送信周期を計測させればよい。トラヒック情報送信周期でなければ、トラヒック情報送信周期になるまで待機する。一方、トラヒック情報送信周期である場合には、優先制御部１０５は、トラヒック監視部１０３に指示を行い、トラヒック監視部１０３は、指示に応じてメモリ１０９に格納されているトラヒック情報、すなわち配下のノード数並びに入力レートＲ(n-1)及び出力レートＲ(n)を読み出し（ステップＳ９３）、優先制御部１０５に出力する。優先制御部１０５は、トラヒック監視部１０３から受信したトラヒック情報をフレーム生成部１０８に出力し、トラヒック情報を含むフレームデータを生成させ、さらにフレームデータから送信部１０６にトラヒック情報を含むパケットを制御ノードへ送信させる（ステップＳ９５）。なお、送信の際には、アクセス制御部１０４の制御に従う。
【００７５】
なお、被制御ノードにおいて、入出力レート比Ｐ＝Ｒ(n)／Ｒ(n-1)を算出して、入出力レート比及び配下のノード数を送信するようにしても良い。他の被制御ノードについても同様の処理を実施する。
【００７６】
これに対して制御ノードの受信部２０１は、被制御ノードからトラヒック情報を含むパケットを受信し（ステップＳ９７）、フレーム解析部２０２に出力すると、フレーム解析部２０２はトラヒック情報を含むパケットであることを認識してパラメータ決定部２０５に出力する。パラメータ決定部２０５は、トラヒック情報を受信すると、例えばメモリ２０４に格納する。そして、パラメータ決定部２０５は、優先度決定処理を実施する（ステップＳ９９）。例えば図１０に示した優先制御パラメータ決定処理のうちステップＳ５１を除去し、さらにステップＳ５３においてデフォルトの優先度を設定すればよい。
【００７７】
そして、優先度決定処理によって各被制御ノードのための優先度が決定されると、パラメータ決定部２０５は、フレーム生成部２０８に指示して、各被制御ノードに対して決定された優先度を含むフレームを生成させ、送信部２０６に優先度を含むパケットを各被制御ノードへ送信させる（ステップＳ１０１）。
【００７８】
これに対して、被制御ノードの受信部１０１は、制御ノードから優先度を含むパケットを受信すると（ステップＳ１０３）、フレーム解析部１０２に出力する。フレーム解析部１０２は、優先度を含むパケットであることを認識すると、優先度のデータを優先制御部１０５に出力する。優先制御部１０５は、予めメモリ１０９に格納されている、優先度と優先制御パラメータ・セットとの対応関係テーブルとの対応関係テーブル（例えば図１２）から、受信した優先度に対応する優先制御パラメータ・セットを読み出すことによって、優先制御パラメータを決定し（ステップＳ１０５）、アクセス制御部１０４に対して受信した優先制御パラメータを設定する（ステップＳ１０７）。例えばアクセス制御部１０４は、メモリ１０９に格納する。アクセス制御部１０４は、設定された優先制御パラメータに従って送信部１０６からのパケット送信を制御する。そして処理はステップＳ９１に戻る。
【００７９】
このように優先度を制御ノードから被制御ノードに通知するようにしても同様の効果を得ることができる。
【００８０】
なお、上の説明ではわかりやすくするために制御ノードと被制御ノードが別構成となるように説明したが、無線アドホックネットワークの各ノードは、ルートノード及びツリーの末端のノード以外は、制御ノードであって且つ被制御ノードとなる。また、無線アドホックネットワークは、必要に応じてネットワークの構成は変化しうるため、ルートノードやツリーの末端のノードであっても、中継ノードとなる可能性がある。従って、制御ノードの機能と被制御ノードの機能は一体化されて実装される場合が多い。
【００８１】
そのような場合には、例えば図１６に示すような構成となる。図１６の無線通信機３００は、受信部３０１と、フレーム解析部３０２と、トラヒック監視部３０３と、アクセス制御部３０４と、優先制御部３０５と、パラメータ決定部３０６と、送信部３０７と、送信バッファ部３０８と、フレーム生成部３０９と、メモリ３１０とを有する。受信部３０１、フレーム解析部３０２、アクセス制御部３０４と、送信部３０７、送信バッファ部３０８及びフレーム生成部３０９については、図５と図７に示したものと同様である。また、トラヒック監視部３０３は、トラヒック監視部１０３と同じ機能を有する。さらに、優先制御部３０５は、優先制御部１０５と同じ機能を有する。パラメータ決定部３０６は、パラメータ決定部２０５と同じ機能を有する。メモリ３１０については、メモリ１０９及び２０４に格納されているデータと同じデータが格納される。それぞれの機能の連携についても、図５及び図７に示したものと同様である。
【００８２】
以上本技術の実施の形態を説明したが、本技術はこのような実施の形態に限定されるものではない。例えば機能ブロック構成は、一例であって必ずしも実際の構成と一致するわけではない。また、処理フローについても処理結果が変わらない限りにおいて変更することは可能である。
【００８３】
さらに、図１１及び図１２のようなテーブルに含まれる数値は一例に過ぎず、例えば実験やシミュレーションなどによって適切な値が決定される。また、適用環境によっても異なる場合もあるので、複数のパターンを用意して、何らかの指標に応じて特定のパターンを採用するようにしても良い。
【００８４】
さらに、上で述べた規格は全て一例に過ぎず、本実施の形態の主要部分と適合可能な他の規格を採用するようにしても良い。
【００８５】
以上本実施の形態をまとめると以下のようになる。
【００８６】
無線アドホックネットワークのノードとなる、第１の態様に係る無線通信機は、ルートノードを最上位階層として自ノードより１つ下層の接続ノードである競合ノードから、当該競合ノードにおけるトラヒック評価指標値を受信する手段と、競合ノードにおけるトラヒック評価指標値に基づき、輻輳を防止且つ解消させるように各競合ノードの優先制御に係るパラメータ又は当該パラメータ決定のための優先度を決定するパラメータ決定手段と、各競合ノードの優先制御に係るパラメータ又は優先度を各競合ノードに送信する手段とを有する。
【００８７】
自ノードで用いるパラメータを自ら適切に決定するのは無線アドホックネットワークでは困難な場合もあるので、１つ上位階層のノードで、当該ノードから把握される各競合ノードのトラヒック評価指標値に基づき適切にパラメータを決定すれば、無線アドホックネットワークにおいて効果的に輻輳の防止及び解消を行うことができるようになる。なお、優先制御に係るパラメータではなく当該パラメータを決定するための優先度を送信して、競合ノード側でパラメータを決定しても同様の効果を得ることができる。
【００８８】
また、上で述べたパラメータ決定手段が、競合ノードにおいて相対的にトラヒック量が多くなる蓋然性が高い競合ノードほど送信機会を増加させ、１つ下層のノードからの受信データ量又は受信データレートである受信データ指標値が自ノードへの送信データ量又は送信データレートである送信データ指標値を上回っている競合ノードほど送信機会を増加させるように、優先制御に係るパラメータを決定するようにしてもよい。このようなポリシーを導入することによって、通常時にも急な輻輳発生時にも適切な送信機会の割り当てが可能となる。
【００８９】
また、上で述べたトラヒック評価指標値が、競合ノードの配下のノード数と、受信データ指標値と、送信データ指標値とを含むようにしてもよい。この場合には、上で述べたパラメータ決定手段が、ノード数と、受信データ指標値に対する送信データ指標値の比である入出力比とからパラメータ決定指標値（例えば実施の形態におけるｆ(N,P)）を算出し、各競合ノードのパラメータ決定指標値を用いて、各競合ノードの優先制御に係るパラメータを決定するようにしてもよい。パラメータ決定指標値を導入することによって、ノード数と入出力比とを総合評価が可能となり、より適切なパラメータを決定できるようになる。
【００９０】
さらに、上で述べたトラヒック評価指標値が、競合ノードの配下のノード数と、受信データ指標値に対する送信データ指標値の比である入出力比とを含むようにしてもよい。その際、上で述べたパラメータ決定手段が、ノード数と、受信データ指標値に対する送信データ指標値の比である入出力比とからパラメータ決定指標値を算出し、各競合ノードのパラメータ決定指標値を用いて、各競合ノードの優先制御に係るパラメータを決定するようにしてもよい。上で述べたように、入出力比は、競合ノードで算出しても良いし本無線通信機で計算するようにしても良い。
【００９１】
また、上で述べたパラメータ決定手段が、パラメータ決定指標値を用いて優先度を決定し、当該優先度に対応して予め定められているパラメータセットを特定するようにしてもよい。例えば、優先度とパラメータセットとの対応関係テーブルや優先度を変数として各パラメータ値を算出する演算式を用意するようにしても良い。また、優先度を競合ノードに通知する場合には、パラメータ決定手段が、パラメータ決定指標値を用いて優先度を決定するようにしてもよい。
【００９２】
さらに、上で述べたパラメータ決定手段が、入出力比が１未満となる競合ノードが出現した場合に、当該競合ノードのうちパラメータ決定指標値に基づき優先度を上げる競合ノードを選択し、入出力比が１となる競合ノードのうち優先度を下げる競合ノードを選択するようにしてもよい。このような処理を行うことによって送信機会を調整して輻輳を解消させることができるようになる。
【００９３】
さらに、上で述べたパラメータ決定手段が、入出力比が１未満となる競合ノードが出現した場合に、当該競合ノードのうちパラメータ決定指標値に基づき少なくとも１の競合ノードを選択して、当該競合ノードのパラメータのうち少なくとも１つのパラメータの値を送信機会を増加させるように変更し、入出力比が１となる競合ノードのうち少なくとも１つの競合ノードを選択して、当該競合ノードのパラメータのうち少なくとも１つのパラメータの値を送信機会を減少させるように変更するようにしてもよい。優先度ではなくパラメータ自体を調整することによっても、送信機会の調整が適切に行われる。
【００９４】
なお、パラメータ決定手段が実行するパラメータ値の変更を段階的に実施するようにしてもよい。例えば優先度やパラメータの調整を繰り返し実施することによって段階的な調整が行われる。
【００９５】
さらに、上で述べたパラメータ決定手段が、入出力比が１未満となった後に１に戻った場合又は全ての競合ノードについての入出力比が１未満となった場合には、優先度を初期値に戻すようにしてもよい。調整が不能な場合や全てのノードが輻輳している場合にはデフォルトの状態に戻して輻輳の解消を図るものである。
【００９６】
また、上で述べたパラメータ決定手段が、入出力比が１未満となった後に１に戻った場合又は全ての競合ノードについての入出力比が１未満となった場合には、各競合ノードについてのパラメータの値を初期値に戻すようにしてもよい。調整が不能な場合や全てのノードが輻輳している場合にはデフォルトの状態に戻して輻輳の解消を図るものである。
【００９７】
さらに、第１の態様に係る無線通信機は、自ノードについてのトラヒック評価指標値を収集するトラヒック監視手段と、自ノードの１つ上位階層のノードに、収集したトラヒック評価指標値を送信する手段と、自ノードの１つ上位階層のノードから、自ノードの優先制御に係るパラメータを受信し、設定する手段とをさらに有するようにしてもよい。無線アドホックネットワークでは、１つ下位階層のノードに対しては制御ノードとして機能するが、１つ上位階層のノードからは制御されるノードとして機能する。
【００９８】
また、第１の態様に係る無線通信機は、自ノードについてのトラヒック評価指標値を収集するトラヒック監視手段と、自ノードの１つ上位階層のノードに、収集したトラヒック評価指標値を送信する手段と、自ノードの１つ上位階層のノードから、自ノードの優先制御に係るパラメータ決定のための優先度を受信する手段と、優先度に対応する優先制御に係るパラメータを特定し、設定する手段とをさらに有するようにしてもよい。優先度を受信して自らパラメータを特定するようにしても同様の効果を得られる。
【００９９】
さらに、上で述べたトラヒック監視手段が、受信パケットの送信元アドレスを監視することによって配下のノード数を計数して、トラヒック評価指標値を収集するようにしてもよい。
【０１００】
第２の態様に係る無線通信機は、ルートノードを最上位階層として自ノードより下層のノードの総数と、１つ下層のノードからの受信データ量又は受信データレートである受信データ指標値と、自ノードへの送信データ量又は送信データレートである送信データ指標値とを含むトラヒック評価指標値を収集する手段と、トラヒック評価指標値又はノードの総数と受信データ指標値に対する送信データ指標値の比である入出力比との組み合わせを、自ノードより１つ上位階層のノードに送信する手段と、１つ上位階層のノードから、優先制御に係るパラメータを受信して、設定する手段と、優先制御に係るパラメータに従って優先制御を実施する手段とを有する。
【０１０１】
自ノードで用いるパラメータを自ら決定するのは無線アドホックネットワークでは困難な場合もあるので、１つ上位階層のノードに依頼することで１つ上位階層のノードから見て被制御ノードの中で適切なパラメータを得られるようになる。すなわち、無線アドホックネットワークにおいて効果的に輻輳の防止及び解消を行うことができるようになる。
【０１０２】
さらに、第３の態様に係る無線通信機は、ルートノードを最上位階層として自ノードより下層のノードの総数と、１つ下層のノードからの受信データ量又は受信データレートである受信データ指標値と、自ノードへの送信データ量又は送信データレートである送信データ指標値とを含むトラヒック評価指標値を収集する手段と、トラヒック評価指標値又はノードの総数と受信データ指標値に対する送信データ指標値の比である入出力比との組み合わせを、自ノードより１つ上位階層のノードに送信する手段と、１つ上位階層のノードから、優先制御に係るパラメータ決定のための優先度を受信する手段と、優先度に対応する優先制御に係るパラメータを特定し、設定する手段と、優先制御に係るパラメータに従って優先制御を実施する手段とを有する。
【０１０３】
なお、上で述べたような処理をハードウエアに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。  
【０１０４】
（付記１）
無線アドホックネットワークのノードとなる無線通信機であって、
ルートノードを最上位階層として自ノードより１つ下層の接続ノードである競合ノードから、当該競合ノードにおけるトラヒック評価指標値を受信する手段と、
前記競合ノードにおける前記トラヒック評価指標値に基づき、輻輳を防止且つ解消させるように各前記競合ノードの優先制御に係るパラメータ又は当該パラメータ決定のための優先度を決定するパラメータ決定手段と、
各前記競合ノードの優先制御に係るパラメータ又は優先度を各前記競合ノードに送信する手段と、
を有する無線通信機。
【０１０５】
（付記２）
前記パラメータ決定手段が、
前記競合ノードにおいて相対的にトラヒック量が多くなる蓋然性が高い競合ノードほど送信機会を増加させ、１つ下層のノードからの受信データ量又は受信データレートである受信データ指標値が前記自ノードへの送信データ量又は送信データレートである送信データ指標値を上回っている競合ノードほど送信機会を増加させるように、前記優先制御に係るパラメータを決定する
付記１記載の無線通信機。
【０１０６】
（付記３）
前記トラヒック評価指標値が、
前記競合ノードの配下のノード数と、前記受信データ指標値と、前記送信データ指標値とを含み、
前記パラメータ決定手段が、
前記ノード数と、前記受信データ指標値に対する前記送信データ指標値の比である入出力比とからパラメータ決定指標値を算出し、各前記競合ノードの前記パラメータ決定指標値を用いて、各前記競合ノードの前記優先制御に係るパラメータを決定する
付記２記載の無線通信機。
【０１０７】
（付記４）
前記トラヒック評価指標値が、
前記競合ノードの配下のノード数と、前記受信データ指標値に対する前記送信データ指標値の比である入出力比とを含み、
前記パラメータ決定手段が、
前記ノード数と、前記受信データ指標値に対する前記送信データ指標値の比である入出力比とからパラメータ決定指標値を算出し、各前記競合ノードの前記パラメータ決定指標値を用いて、各前記競合ノードの前記優先制御に係るパラメータを決定する
付記２記載の無線通信機。
【０１０８】
（付記５）
前記パラメータ決定手段が、
前記パラメータ決定指標値を用いて優先度を決定し、当該優先度に対応して予め定められているパラメータセットを特定する
付記３記載の無線通信機。
【０１０９】
（付記６）
前記パラメータ決定手段が、
前記パラメータ決定指標を用いて優先度を決定する
付記３記載の無線通信機。
【０１１０】
（付記７）
前記パラメータ決定手段が、
前記入出力比が１未満となる競合ノードが出現した場合に、当該競合ノードのうち前記パラメータ決定指標値に基づき前記優先度を上げる競合ノードを選択し、前記入出力比が１となる競合ノードのうち前記優先度を下げる競合ノードを選択する
付記５又は６記載の無線通信機。
【０１１１】
（付記８）
前記パラメータ決定手段が、
前記入出力比が１未満となる競合ノードが出現した場合に、当該競合ノードのうち前記パラメータ決定指標値に基づき少なくとも１の競合ノードを選択して、当該競合ノードの前記パラメータのうち少なくとも１つのパラメータの値を送信機会を増加させるように変更し、
前記入出力比が１となる競合ノードのうち少なくとも１つの競合ノードを選択して、当該競合ノードの前記パラメータのうち少なくとも１つのパラメータの値を送信機会を減少させるように変更する
付記３記載の無線通信機。
【０１１２】
（付記９）
前記パラメータ決定手段が実行する前記パラメータ値の変更を段階的に実施する
付記８記載の無線通信機。
【０１１３】
（付記１０）
前記パラメータ決定手段が、
前記入出力比が１未満となった後に１に戻った場合又は全ての前記競合ノードについての前記入出力比が１未満となった場合には、前記優先度を初期値に戻す
付記７記載の無線通信機。
【０１１４】
（付記１１）
前記パラメータ決定手段が、
前記入出力比が１未満となった後に１に戻った場合又は全ての前記競合ノードについての前記入出力比が１未満となった場合には、各前記競合ノードについての前記パラメータの値を初期値に戻す
付記８記載の無線通信機。
【０１１５】
（付記１２）
前記自ノードについてのトラヒック評価指標値を収集するトラヒック監視手段と、
前記自ノードの１つ上位階層のノードに、収集した前記トラヒック評価指標値を送信する手段と、
前記自ノードの１つ上位階層のノードから、前記自ノードの優先制御に係るパラメータを受信し、設定する手段と、
をさらに有する付記１乃至１１のいずれか１つ記載の無線通信機。
【０１１６】
（付記１３）
前記自ノードについてのトラヒック評価指標値を収集するトラヒック監視手段と、
前記自ノードの１つ上位階層のノードに、収集した前記トラヒック評価指標値を送信する手段と、
前記自ノードの１つ上位階層のノードから、前記自ノードの優先制御に係るパラメータ決定のための優先度を受信する手段と、
前記優先度に対応する前記優先制御に係るパラメータを特定し、設定する手段と、
をさらに有する付記１乃至１１のいずれか１つ記載の無線通信機。
【０１１７】
（付記１４）
前記トラヒック監視手段が、
受信パケットの送信元アドレスを監視することによって配下のノード数を計数して、前記トラヒック評価指標値を収集する
付記１２又は１３記載の無線通信機。
【０１１８】
（付記１５）
無線アドホックネットワークのノードとなる無線通信機であって、
ルートノードを最上位階層として自ノードより下層のノードの総数と、１つ下層のノードからの受信データ量又は受信データレートである受信データ指標値と、前記自ノードへの送信データ量又は送信データレートである送信データ指標値とを含むトラヒック評価指標値を収集する手段と、
前記トラヒック評価指標値又は前記ノードの総数と前記受信データ指標値に対する前記送信データ指標値の比である入出力比との組み合わせを、前記自ノードより１つ上位階層のノードに送信する手段と、
前記１つ上位階層のノードから、優先制御に係るパラメータを受信して、設定する手段と、
前記優先制御に係るパラメータに従って優先制御を実施する手段と、
を有する無線通信機。
【０１１９】
（付記１６）
無線アドホックネットワークのノードとなる無線通信機であって、
ルートノードを最上位階層として自ノードより下層のノードの総数と、１つ下層のノードからの受信データ量又は受信データレートである受信データ指標値と、前記自ノードへの送信データ量又は送信データレートである送信データ指標値とを含むトラヒック評価指標値を収集する手段と、
前記トラヒック評価指標値又は前記ノードの総数と前記受信データ指標値に対する前記送信データ指標値の比である入出力比との組み合わせを、前記自ノードより１つ上位階層のノードに送信する手段と、
前記１つ上位階層のノードから、優先制御に係るパラメータ決定のための優先度を受信する手段と、
前記優先度に対応する前記優先制御に係るパラメータを特定し、設定する手段と、
前記優先制御に係るパラメータに従って優先制御を実施する手段と、
を有する無線通信機。
【０１２０】
（付記１７）
無線アドホックネットワークのノードとなる無線通信機に実行させるためのプログラムであって、
前記無線通信機に、
ルートノードを最上位階層として自ノードより１つ下層の接続ノードである競合ノードから、当該競合ノードにおけるトラヒック評価指標値に基づき、輻輳を防止且つ解消させるように各前記競合ノードの優先制御に係るパラメータ又は当該パラメータ決定のための優先度を決定するステップと、
各前記競合ノードの優先制御に係るパラメータ又は前記優先度を各前記競合ノードに送信させるステップと、
を実行させるためのプログラム。
【０１２１】
（付記１８）
無線アドホックネットワークのノードとなる無線通信機に実行させるためのプログラムであって、
前記無線通信機に、
ルートノードを最上位階層として自ノードより下層のノードの総数と、１つ下層のノードからの受信データ量又は受信データレートである受信データ指標値と、前記自ノードへの送信データ量又は送信データレートである送信データ指標値とを含むトラヒック評価指標値を収集するステップと、
前記トラヒック評価指標値又は前記ノードの総数と前記受信データ指標値に対する前記送信データ指標値の比である入出力比との組み合わせを、前記自ノードより１つ上位階層のノードに送信させるステップと、
前記１つ上位階層のノードから、優先制御に係るパラメータを受信して、設定するステップと、
前記優先制御に係るパラメータに従って優先制御を実施するステップと、
を実行させるためのプログラム。
【０１２２】
（付記１９）
無線アドホックネットワークのノードとなる無線通信機に実行させるためのプログラムであって、
前記無線通信機に、
ルートノードを最上位階層として自ノードより下層のノードの総数と、１つ下層のノードからの受信データ量又は受信データレートである受信データ指標値と、前記自ノードへの送信データ量又は送信データレートである送信データ指標値とを含むトラヒック評価指標値を収集するステップと、
前記トラヒック評価指標値又は前記ノードの総数と前記受信データ指標値に対する前記送信データ指標値の比である入出力比との組み合わせを、前記自ノードより１つ上位階層のノードに送信させるステップと、
前記１つ上位階層のノードから、優先制御に係るパラメータ決定のための優先度を受信する手段と、
前記優先度に対応する前記優先制御に係るパラメータを特定し、設定するステップと、
前記優先制御に係るパラメータに従って優先制御を実施するステップと、
を実行させるためのプログラム。
【符号の説明】
【０１２３】
１００  競合ノード（被制御ノード）
１０１  受信部    １０２  フレーム解析部    １０３  トラヒック監視部
１０４  アクセス制御部    １０５  優先制御部    １０６  送信部
１０７  送信バッファ部    １０８  フレーム生成部    １０９  メモリ
２００  中継ノード（制御ノード）
２０１  受信部    ２０２  フレーム解析部  ２０３  アクセス制御部
２０４  メモリ    ２０５  パラメータ決定部    ２０６  送信部
２０７  送信バッファ部    ２０８  フレーム生成部
【図１】
2010171525.tif 000004
【図２】
2010171525.tif 000005
【図３】
2010171525.tif 000006
【図４】
2010171525.tif 000007
【図５】
2010171525.tif 000008
【図６】
2010171525.tif 000009
【図７】
2010171525.tif 000010
【図８】
2010171525.tif 000011
【図９】
2010171525.tif 000012
【図１０】
2010171525.tif 000013
【図１１】
2010171525.tif 000014
【図１２】
2010171525.tif 000015
【図１３】
2010171525.tif 000016
【図１４】
2010171525.tif 000017
【図１５】
2010171525.tif 000018
【図１６】
2010171525.tif 000019