(57)【要約】  複数の無線通信装置を備える無線ネットワークにおいて使用される輻輳制御方法輻輳制御方法は、各無線通信装置において輻輳状態をモニタするステップと、輻輳が発生している輻輳無線通信装置において、無線リソースを排他的に使用してパケットを送信することができる排他的送信時間を延長するステップ、を有する。
2012127597.tif 000002
【特許請求の範囲】
【請求項１】
複数の無線通信装置を備える無線ネットワークにおいて使用される輻輳制御方法であって、
各無線通信装置において輻輳状態をモニタし、
前記複数の無線通信装置の中の輻輳が発生している輻輳無線通信装置において、無線リソースを排他的に使用してパケットを送信することができる排他的送信時間を延長する
ことを特徴とする輻輳制御方法。
【請求項２】
前記輻輳状態のモニタは、送信パケットを格納する送信バッファのキュー長を予め決められている閾値と比較する処理を含む
ことを特徴とする請求項１に記載の輻輳制御方法。
【請求項３】
前記輻輳無線通信装置において、前記送信バッファのキュー長が増加しているときに、前記排他的送信時間をさらに延長する
ことを特徴とする請求項２に記載の輻輳制御方法。
【請求項４】
前記輻輳無線通信装置において、前記送信バッファのキュー長が減少しているときに、前記排他的送信時間を短縮する
ことを特徴とする請求項２または３に記載の輻輳制御方法。
【請求項５】
前記輻輳無線通信装置において、前記送信バッファのキュー長が変化していなければ、前記排他的送信時間を維持する
ことを特徴とする請求項２〜４のいずれか１つに記載の輻輳制御方法。
【請求項６】
前記排他的送信時間は、ｔ0 ＋ａ×ｎ×ＦＬにより算出され、
ｔ0 は、所定の初期値、
ａは、所定の正の整数、
ｎは、前記排他的送信時間を延長した回数、
ＦＬは、前記パケットを送信するために要する時間、である
ことを特徴とする請求項３〜５のいずれか１つに記載の輻輳制御方法。
【請求項７】
前記無線ネットワークは、衝突回避機能付きキャリア感知多重アクセス方式を採用しており、
前記複数の無線通信装置は、前記無線ネットワークのビジー状態が終了したときから、予め決められた第１の期間が経過するまでは、送信権を獲得することができず、
前記輻輳無線通信装置は、送信権を獲得したときから前記排他的送信時間が経過するまでの期間において、前記無線ネットワークのビジー状態が終了したときから、前記第１の期間よりも短い第２の期間が経過した時点でパケットを送信する
ことを特徴とする請求項１に記載の輻輳制御方法。
【請求項８】
複数の無線通信装置を備える無線ネットワークにおいて前記複数の無線通信装置の中のある無線通信装置により使用される輻輳制御方法であって、
自装置の輻輳状態をモニタし、
自装置の輻輳状態に基づいて、無線リソースを排他的に使用してパケットを送信することができる排他的送信時間を算出する
ことを特徴とする輻輳制御方法。
【請求項９】
複数の無線通信装置を備える無線ネットワークにおいて使用される無線通信装置であって、
他の無線通信装置へ送信するパケットを格納する送信バッファと、
自装置の輻輳状態をモニタする輻輳状態モニタ部と、
前記輻輳状態モニタ部によりモニタされた輻輳状態に基づいて、無線リソースを排他的に使用してパケットを送信することができる排他的送信時間を算出する排他的送信時間算出部と、
送信権を獲得したときから前記排他的送信時間が経過するまで、前記送信バッファに格納されているパケットを送信する送信部と、
を備える無線通信装置。
【請求項１０】
前記輻輳状態モニタ部は、前記送信バッファのキュー長を予め決められている閾値と比較することで輻輳状態をモニタする
ことを特徴とする請求項９に記載の無線通信装置。
【請求項１１】
前記排他的送信時間算出部は、前記送信バッファのキュー長が増加しているときに、前記排他的送信時間をさらに延長する
ことを特徴とする請求項１０に記載の無線通信装置。
【請求項１２】
前記排他的送信時間算出部は、前記送信バッファのキュー長が減少しているときに、前記排他的送信時間を短縮する
ことを特徴とする請求項１０または１１に記載の無線通信装置。
【請求項１３】
前記排他的送信時間算出部は、前記送信バッファのキュー長が変化していなければ、前記排他的送信時間を維持する
ことを特徴とする請求項１０〜１２のいずれか１つに記載の無線通信装置。
【請求項１４】
前記排他的送信時間は、ｔ0 ＋ａ×ｎ×ＦＬにより算出され、
ｔ0 は、所定の初期値、
ａは、所定の正の整数、
ｎは、前記排他的送信時間を延長した回数、
ＦＬは、前記パケットを送信するために要する時間、である
ことを特徴とする請求項１１〜１３のいずれか１つに記載の無線通信装置。
【請求項１５】
前記無線ネットワークは、衝突回避機能付きキャリア感知多重アクセス方式を採用しており、
前記複数の無線通信装置は、前記無線ネットワークのビジー状態が終了したときから、予め決められた第１の期間が経過するまでは、送信権を獲得することができず、
前記輻輳無線通信装置は、送信権を獲得したときから前記排他的送信時間が経過するまでの期間において、前記無線ネットワークのビジー状態が終了したときから、前記第１の期間よりも短い第２の期間が経過した時点でパケットを送信する
ことを特徴とする請求項９に記載の無線通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線マルチホップネットワークにおける中継ノードの輻輳制御方法および無線通信装置に係わる。
【背景技術】
【０００２】
複数のノードを含むネットワークの１つの形態として、アドホックネットワークが実用化されている。アドホックネットワークでは、各ノードにおいて自律的な経路選択が行われる。すなわち、アドホックネットワークの各ノード装置（または、通信装置）は、ルータまたはスイッチとして動作する機能を備えている。ここで、各ノード装置は、隣接するノード装置とメッセージ等を送信および受信することにより、周辺のネットワーク構成を認識することができる。したがって、アドホック（特に、無線アドホック）方式を採用すると、ネットワーク全体を管理する管理装置を設けることなく、ネットワークを構築したい環境にノード装置を配置するだけで、所望のネットワークを構築することができる。さらに、アドホックネットワークでは、ノードの追加または削除が容易であり、ネットワーク構成を容易に変更することができる。【０００３】
アドホックネットワークの１つの実施形態として、各ノードからある特定のノード（例えば、ゲートウェイノードまたはルートノード）に向けてデータが送信される、ツリー構造のトポロジを有する無線マルチホップネットワークが知られている。例えば、ゲートウェイノード装置が各ノードにおいて検出される情報を収集するセンサネットワークが実用化されている。無線リンクのアクセス方式としては、自律分散型のアクセス方式が採用されることが多い。例えば、無線ＬＡＮやZigBeeにおいては、ＣＳＭＡ／ＣＡが採用されている。この場合、各ノードに対して均等に送信機会が割り当てられ、各ノード装置は、定期的にパケットを送信する。【０００４】
関連する技術として、無線アドホックネットワークシステムにおける中継ノードとなる無線通信装置のデータパケット滞留によるバッファ溢れを防止し、システム全体のスループットを向上させるための構成および方法が提案されている。（例えば、特許文献１）
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１０１４７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
無線マルチホップネットワークにおいて、各ノード装置が自発的にパケットを送信する場合、例えば中継ノードにおいて輻輳が発生することがある。特に、各ノードからゲートウェイノードに向けてデータが送信される無線マルチホップネットワークでは、そのゲートウェイ（以下、ＧＷと記す）ノードの近くで輻輳が発生しやすい。【０００７】
例えば、図１（ａ）に示す無線マルチホップネットワークにおいて、各ノード装置Ａ〜Ｇは、それぞれ、ＧＷノードに向けて定期的にパケットを送信するものとする。図１（ａ）に示す例では、ある送信サイクルにおいて、ノード装置Ａ〜Ｇは、それぞれパケットＡ〜Ｇを生成して送信する。なお、各ノード装置は、最終宛先ノード（すなわち、ＧＷノード）へ向かう経路上の隣接ノードへパケットを送信するものとする。例えば、ノード装置Ｃは、ある送信サイクルにおいてパケットＣをノードＡへ送信する。そうすると、ノード装置Ａは、ノードＣから受信したパケットＣを送信バッファに格納し、別の送信サイクルにおいてそのパケットＣをノードＥへ転送する。さらに、ノード装置Ｅは、ノードＡから受信したパケットＣを送信バッファに格納し、さらに別の送信サイクルにおいてそのパケットＣをノードＧＷへ転送する。このようにして、各ノードから送信されるパケットは、最終宛先ノードまで転送される。【０００８】
ところが、各ノード装置が自発的にパケットを送信する構成では、１または複数の中継ノードにおいて輻輳が発生し得る。図１（ａ）に示す例では、ある送信サイクルにおいてノード装置Ｂ、Ｃ、ＤがそれぞれノードＡへパケットＢ、Ｃ、Ｄを送信している。そうすると、図１（ｂ）に示すように、ノード装置Ａの送信バッファには、パケットＢ、Ｃ、Ｄが格納される。同様に、ノード装置Ｅの送信バッファには、ノードＡ、Ｆから送信されるパケットＡ、Ｆが格納される。また、ノード装置Ｆの送信バッファには、ノードＧから送信されるパケットＧが格納される。そして、以降、各ノード装置がそれぞれ定期的に新たなパケットを生成して送信すると、ノードＡ、Ｅ、Ｆ（特に、ノードＡ）の送信バッファが溢れてしまうおそれがある。これは、ＣＳＭＡ／ＣＡで獲得する送信機会は各ノードに対して平等であるのに対して、送信すべきパケット数は、経路が集中するノードほど多くなるためである。つまり、ある送信サイクルにおいてノードＡ〜Ｄがそれぞれ送信機会を１回ずつ得た場合、ノードＡは１つのパケット（パケットＡ）送信可能であるが、同時にパケットＢ〜Ｄを受信する。以降のサイクルにおいても同様の動作が繰り返される。このため、ノードＡの送信バッファは、送信サイクル毎に３パケット増加することになる。【０００９】
この問題は、例えば、輻輳が発生したノード装置が、送信元ノードに対して送信レートの低下を依頼するメッセージを通知することにより解決し得る。しかし、この方法においては、上記メッセージを通知するためのパケットを送信する必要があり、このパケットも送信バッファに格納されるので、輻輳状態が悪化するおそれがある。【００１０】
また、ネットワークトポロジが既知である場合は、輻輳が発生しやすいノード装置の送信レートまたは送信帯域を、他のノード装置と比較して高く設定することにより、上述の問題は解決し得る。ところが、無線マルチホップネットワークにおいては電波環境が一定ではなく、ノード間の無線リンクが変化することがある。この場合、ネットワークトポロジが変わるので、それに応じて輻輳が発生しやすいノードも変わってしまう。また、トポロジ（転送経路）が変化しない場合であっても、各ノードが転送するパケット数が変化する場合もある。この場合、経路が集中しているノードに固定的に伝送レートを割り当てたとすると、そのノードとその配下のノードから送信されるパケットが無いか少なかった場合には、無駄な帯域が割り当てられることになる。そうすると、他のノードの送信機会が少なくなり、ネットワーク全体のスループット低下を招きかねない。【００１１】
本発明の目的は、無線マルチホップネットワークにおける中継ノードの輻輳を効率的に解消または抑制することである。
【課題を解決するための手段】
【００１２】
本発明の１つの態様の輻輳制御方法は、複数の無線通信装置を備える無線ネットワークにおいて使用される。この輻輳制御方法は、各無線通信装置において輻輳状態をモニタし、前記複数の無線通信装置の中の輻輳が発生している輻輳無線通信装置において、無線リソースを排他的に使用してパケットを送信することができる排他的送信時間を延長する。
【発明の効果】
【００１３】
上述の態様によれば、無線マルチホップネットワークにおける中継ノードの輻輳を効率的に解消または抑制することができる。
【図面の簡単な説明】
【００１４】
【図１】無線マルチホップネットワークにおける中継ノードのパケット送信および輻輳について説明する図である。
【図２】実施形態の輻輳制御方法が使用される無線マルチホップネットワークの一例を示す図である。
【図３】ノード装置の構成を示す図である。
【図４】ノード装置の機能構成を説明する図である。
【図５】実施形態に係る無線ネットワークのフロー制御について説明する図である。
【図６】パケット衝突を回避するための制御方法について説明する。
【図７】アクセス制御／送信部の処理を示すフローチャートである。
【図８】ＴＸＯＰ算出部の処理を示すフローチャートである。
【図９】実施形態のノード装置を含む無線ネットワークにおけるパケット送信シーケンスの一例を示す図である。
【図１０】パケット送信処理を示すフローチャートである。
【図１１】実施形態の輻輳制御方法の実施例を示す図（その１）である。
【図１２】実施形態の輻輳制御方法の実施例を示す図（その２）である。
【図１３】実施形態の輻輳制御方法の実施例を示す図（その３）である。
【発明を実施するための形態】
【００１５】
図２は、実施形態の輻輳制御方法が使用される無線ネットワークの一例を示す。この例では、無線ネットワークは、図２（ａ）に示すように、ノードＡ〜Ｎ、ＧＷを備える。各ノードＡ〜Ｎ、ＧＷには、それぞれ無線通信装置が設けられている。以下の説明では、各ノードに設けられている無線通信装置を「ノード装置」と呼ぶことがある。すなわち、各ノードＡ〜Ｎ、ＧＷには、それぞれノード装置Ａ〜Ｎ、ＧＷが設けられている。
【００１６】
ノード装置ＧＷは、例えば、サーバコンピュータに接続されている。或いは、ノード装置ＧＷは、外部のネットワークに接続されている。そして、この例では、ノード装置ＧＷは、各ノードＡ〜Ｎから情報を収集する。すなわち、各ノード装置Ａ〜Ｎは、それぞれノード装置ＧＷへデータパケットを送信する。
【００１７】
各ノード装置は、例えば、隣接ノードとの間の通信品質を定期的にモニタし、そのモニタ結果に応じてルーティングテーブルを更新する。各ノード装置が備えるルーティングテーブルは、１または複数の最終宛先ノードについて、最適経路に係わる情報を格納する。この例では、各ノード装置Ａ〜Ｎのルーティングテーブルには、ノードＧＷへの最適経路に係わる情報が格納されている。「最適経路に係わる情報」は、最適経路上に配置される隣接ノードを識別する情報を含む。例えば、図２（ｂ）に示す例では、ノード装置Ｂのルーティングテーブルには、「最終宛先：ＧＷ」に対して「隣接宛先：Ａ」が登録される。また、ノード装置Ｄのルーティングテーブルには、「最終宛先：ＧＷ」に対して「隣接宛先：Ｅ」が登録される。
【００１８】
各ノードから送信されるデータパケットのヘッダには、最終宛先ノードを識別する最終宛先識別子が付与されている。そして、各ノード装置は、受信データパケットの最終宛先識別子を用いてルーティングテーブルを参照し、隣接宛先ノードを特定する。例えば、ノード装置Ｂは、ノードＦから受信したデータパケットに最終宛先識別子「ＧＷ」が付与されていたときは、ルーティングテーブルに従って、そのデータパケットをノードＡへ転送する。なお、ノード装置は、自分で生成したデータパケットを送信する際にも、ルーティングテーブルに登録されている隣接ノードへそのデータパケットを送信する。
【００１９】
このように、実施形態に係る無線ネットワークにおいては、各ノード装置が自律的にパケットの経路を決定する。そして、各ノード装置がそれぞれ上述のルーティング動作を行うことにより、データパケットが最終宛先まで伝送される。すなわち、実施形態の無線ネットワークは、マルチホップネットワークである。
【００２０】
ところが、無線ネットワークにおいては、ノード間の無線環境が変化することがある。そして、無線環境が変化すると、ネットワークトポロジが変化することがある。例えば、図２（ｂ）に示す無線ネットワークにおいて、ノードＡの周辺の無線環境が劣化するものとする。このとき、ノード装置Ｂは、例えば、ノード装置ＧＷへデータパケットを送信するための隣接ノードを「Ａ」から「Ｅ」に変更する。同様に、ノード装置Ｃ、Ｋ、Ｌも、ノード装置ＧＷへデータパケットを送信するための隣接ノードを変更する。この場合、ノード装置ＧＷへデータパケットを送信するためのネットワークトポロジは、図２（ｃ）に示すように構成される。なお、ネットワークトポロジは、他の要因（例えば、ノードの追加または削除）によっても変化する。
【００２１】
図３は、ノード装置の構成を示す図である。実施形態のノード装置１は、図３に示すように、送受信回路２、プロセッサ３、メモリ４、アンテナ５を有する。送受信回路２は、無線インタフェースを含み、アンテナ５を介して受信するパケットを終端する。また、送受信回路２は、プロセッサ３からの指示に従って、アンテナ５を介してパケットを送信する。プロセッサ３は、メモリ４に格納されているプログラムを実行することにより以下の機能を提供する。すなわち、プロセッサ３は、アプリケーションプログラムを実行することにより送信データを格納するパケットを生成する。また、プロセッサ３は、受信パケットに格納されているデータに応じた処理を実行することができる。さらに、プロセッサ３は、パケット送信に係わる処理を実行することができる。
【００２２】
メモリ４は、ＲＯＭ領域およびＲＡＭ領域を含む。ＲＯＭ領域は、プロセッサ３により実行されるプログラムを格納する。ＲＡＭ領域は、プロセッサ３の作業領域として使用される。また、ＲＡＭ領域は、送信パケットを一時的に格納する送信バッファとしても使用される。なお、送受信回路２、プロセッサ３、メモリ４は、例えば、バス６により相互に接続されている。
【００２３】
図４は、ノード装置の機能構成を示す図である。実施形態のノード装置１は、受信部１１、アドホックルーティング部１２、送信バッファ１３、送信キュー長取得部１４、ＴＸＯＰ算出部１５、アクセス制御／送信部１６を有する。受信部１１は、他のノードから受信するパケットを終端する。そして、受信部１１は、受信パケットをアドホックルーティング部１２へ転送する。
【００２４】
アドホックルーティング部１２は、受信パケットのヘッダに付与されている宛先アドレスを参照し、その受信パケットの処理を決定する。すなわち、受信パケットの宛先アドレスがノード装置（自装置）１を表すときは、アドホックルーティング部１２は、その受信パケットを不図示の上位レイヤ処理部へ転送する。上位レイヤ処理部は、特に限定されるものではないが、例えば、アプリケーションソフトウェアである。また、受信パケットの宛先アドレスが他のノードを表すときは、アドホックルーティング部１２は、必要に応じてヘッダ情報を更新した後、そのパケットを送信バッファ１３に書き込む。このとき、アドホックルーティング部１２は、ルーティングテーブルを参照し、例えば、パケットの最終宛先に基づいて隣接宛先を更新する。
【００２５】
上位レイヤ処理部は、送信パケットを生成することができる。図２に示す無線ネットワークにおいては、各ノード装置の上位レイヤ処理部は、定期的に、ノードＧＷへ送信するデータを格納するパケットを生成する。そして、上位レイヤ処理部により生成されるパケットは、アドホックルーティング部１２により送信バッファ１３に書き込まれる。
【００２６】
送信バッファ１３は、生成パケットおよび転送パケットを一時的に格納する。生成パケットは、上述したように、上位レイヤ処理部により生成される。また、転送パケットは、他のノードを宛先とする受信パケットである。すなわち、送信バッファ１３には、ノード装置１が送信するパケット（すなわち、送信パケット）が格納される。なお、送信バッファ１３は、例えば、ＦＩＦＯメモリにより実現される。
【００２７】
送信キュー長取得部１４は、送信バッファ１３の送信キューの長さを取得する。なお、各送信パケットのフレーム長が同じである場合には、送信キュー長取得部１４は、送信バッファ１３に格納されている送信パケットの個数に基づいて送信キュー長を算出することができる。この場合、送信キュー長取得部１４は、例えば、送信バッファ１３にパケットが書き込まれる毎にインクリメントされ、送信バッファ１３からパケットが読み出される毎にデクリメントされるカウンタを用いて実現することができる。
【００２８】
なお、送信キュー長取得部１４により取得される送信キュー長は、ＴＸＯＰ算出部１５において、ノード装置が輻輳状態か否かを判定するために使用される。すなわち、送信キュー長取得部１４は、ノード装置（自装置）の輻輳状態をモニタする輻輳状態モニタ部の一例である。
【００２９】
ＴＸＯＰ算出部１５は、アクセス制御／送信部１６から呼び出され、ノード装置１の輻輳状態に基づいて、ＴＸＯＰ（Transmission Opportunity）を算出する。ノード装置１の輻輳状態は、この例では、送信キュー長取得部１４により取得される送信キュー長で表わされる。また、ＴＸＯＰは、無線ネットワークのリソースを排他的に使用してパケットを送信することができる期間を表す。すなわち、ＴＸＯＰ算出部１５は、排他的送信時間を算出する排他的送信時間算出部の一例である。なお、ＴＸＯＰ算出部１５の動作については、後でフローチャートを参照しながら詳しく説明する。
【００３０】
アクセス制御／送信部１６は、無線ネットワークの送信権を獲得すると、送信バッファ１３からパケットを読み出して宛先ノードへ送信する。ここで、アクセス制御／送信部１６は、この実施例では、衝突回避機能付きキャリア感知多重アクセス方式（ＣＳＭＡ／ＣＡ：Carrier Sense Multiple Access with Collision Avoidance）で送信権を獲得してパケットを送信する。また、アクセス制御／送信部１６は、ＴＸＯＰ算出部１５により設定されるＴＸＯＰの期間内にパケットを送信する。なお、アクセス制御／送信部１６の動作については、後でフローチャートを参照しながら詳しく説明する。
【００３１】
図５は、実施形態に係る無線ネットワークのフロー制御について説明する図である。この例では、各ノード装置は、予め決められている送信周期Ｔsでパケットを送信する。このとき、各ノード装置は、例えば、送信周期Ｔsごとに１つのデータパケットを生成してノード装置ＧＷへ送信する。なお、各ノード装置は、それぞれ時計を備えている。また、各ノード装置の時計は、互いに同期している。
【００３２】
ただし、全ノード装置が同時にパケットを送信すると、ネットワークが輻輳する。このため、各ノード装置は、予め決められた送信ウィンドウＴw内の異なるタイミングで送信処理を開始する。なお、送信ウィンドウＴwは、ノード数などに応じて決定される。
【００３３】
図６は、パケット衝突を回避するための制御方法について説明する。ここでは、無線ネットワークが３台のノード装置＃１〜＃３を備えるものとする。また、この実施形態においては、無線ネットワークは、衝突回避機能付きキャリア感知多重アクセス方式（ＣＳＭＡ／ＣＡ：Carrier Sense Multiple Access with Collision Avoidance）を採用している。
【００３４】
ＣＳＭＡ／ＣＡにおいては、各ノード装置に対してバックオフが割り当てられる。バックオフは、無線ネットワークのリソースが解放されたときから、ノード装置が送信権を獲得できるときまでの待ち時間または遅延時間を表す。ここで、バックオフは、例えば、各ノード装置においてそれぞれ乱数を利用して生成される。このため、各ノード装置に割り当てられるバックオフは、多くの場合において互いに異なっている。図６に示す例では、ノード＃２、＃３に対して割り当てられるバックオフ２、３は、互いに異なっている。
【００３５】
図６において、時刻Ｔ１以前は、ノード装置＃１がデータパケットを送信している。このため、時刻Ｔ１以前は、無線リソースはビジー状態である。よって、ノード装置＃２、＃３は、時刻Ｔ１以前は、送信権を獲得することはできない。なお、各ノード装置は、常に、キャリアセンス（キャリア電波パワーの感知）を行っている。
【００３６】
時刻Ｔ１において、パケット送信が終了する。そうすると、各ノード装置は、キャリアセンスの結果に基づいて、ビジー状態の終了（すなわち、無線リソースの解放）を検出する。なお、図６では、説明を簡単にするために、データパケットに対して返送されるＡＣＫパケットは省略されている。
【００３７】
各ノード装置は、ビジー状態が終了したときから、予め決められた期間だけ待機する。この期間は、特に限定されるものではないが、たとえば、IEEE802.11において規定されている分散制御用フレーム間隔（ＤＩＦＳ：Distributed Inter Frame Space）に相当する。したがって、以下の記載では、この期間をＤＩＦＳと呼ぶことにする。ただし、この期間は、IEEE802.11のＤＩＦＳに限定されるものではない。
【００３８】
各ノード装置は、ＤＩＦＳが終了したときから、それぞれ対応するバックオフ時間をカウントする。すなわち、各ノード装置は、時刻Ｔ２から対応するバックオフ時間をカウントする。図６に示す例では、ノード装置＃２は、時刻Ｔ２からバックオフ２をカウントする。同様に、ノード装置＃３は、時刻Ｔ２からバックオフ３をカウントする。
【００３９】
各ノード装置は、対応するバックオフ時間のカウントが終了すると、送信権を獲得することができる。すなわち、ノード装置＃２は、時刻Ｔ４以降に送信権を獲得することができる。同様に、ノード装置＃３は、時刻Ｔ３以降に送信権を獲得することができる。ただし、あるノード装置が先に送信権を獲得すると、他のノード装置は重複して送信権を獲得することはできない。例えば、時刻Ｔ３においてノード装置＃３が送信権を獲得してパケット送信を開始すると、以降、無線ネットワークはビジー状態となるので、ノード装置＃２は送信権を獲得することはできない。
【００４０】
このように、実施形態の無線ネットワークは、ＣＳＭＡ／ＣＡのバックオフを利用して各ノード装置の送信権を制御する。ここで、各ノード装置のバックオフ時間は、乱数などを利用して生成されるので、多くの場合において互いに異なっている。したがって、実施形態の無線ネットワークは、パケット衝突を回避または抑制することができる。
【００４１】
上述のようにして送信権を獲得したノード装置は、無線リソースを排他的に使用してパケットを送信することができる。すなわち、送信権を獲得したノード装置は、一時的に、無線リソースを占有してパケットを送信することができる。送信権を獲得したノード装置が無線リソースを占有できる排他的送信時間は、この実施形態では、そのノード装置の輻輳状態に応じて決定される。
【００４２】
輻輳が発生していないノード装置の排他的送信時間は、例えば、１つのパケット（または、フレーム）を送信するために要する時間に相当する。ただし、この排他的送信時間は、２以上のパケットを送信するために要する時間に相当するようにしてもよい。
【００４３】
輻輳状態のノード装置の排他的送信時間は、輻輳が発生していないノード装置よりも長くなるように設定される。輻輳状態のノード装置においては、排他的送信時間は、複数のパケットを連続して送信できるように決定される。よって、輻輳状態のノード装置は、送信権を獲得すると、１つの送信周期において送信バッファに格納されている複数のパケットを送信することができる。この結果、そのノード装置の輻輳状態は、短い期間内に、解消または緩和される。なお、「連続して送信」は、他のノード装置によりパケット送信が行われないことを意味し、必ずしもパケットの送信間隔がゼロであることを意味するわけではない。
【００４４】
排他的送信時間は、IEEE802.11eにおいては、ＴＸＯＰ（Transmission Opportunity）に相当する。したがって、以下の説明では、上述の排他的送信時間のことをＴＸＯＰと呼ぶことにする。
【００４５】
図７は、アクセス制御／送信部１６の処理を示すフローチャートである。この処理は、各ノード装置に実装されているアクセス制御／送信部１６によりそれぞれ実行される。また、この処理は、ノード装置が動作している期間は、繰り返し実行される。
【００４６】
ステップＳ１において、アクセス制御／送信部１６は、送信バッファ１３にパケットが格納されているか否かを判定する。送信バッファ１３にパケットが格納されていないときは、アクセス制御／送信部１６は、ステップＳ１の処理を継続する。
【００４７】
ステップＳ２において、アクセス制御／送信部１６は、キャリアセンスにより、無線ネットワークのリソースがビジー状態か否かを判定する。キャリア電波パワーが所定の閾値以上であれば、無線リソースがビジー状態であると判定される。一方、キャリア電波パワーが上記閾値よりも低ければ、無線リソースがアイドル状態であると判定される。
【００４８】
無線リソースがビジー状態であれば、アクセス制御／送信部１６は、ステップＳ３においてアイドル状態が検出されるまで待機する。このとき、アクセス制御／送信部１６は、キャリアセンスを継続する。
【００４９】
ステップＳ４において、アクセス制御／送信部１６は、バックオフ時間を決定する。ここで、バックオフ時間は、予め決められた一定のスロット時間の整数倍で表わされる。したがって、アクセス制御／送信部１６は、バックオフのスロット数を決定する。バックオフのスロット数は、上述したように、乱数を利用して決定される。以下の説明では、バックオフのスロット数をＮslotと表記する。
【００５０】
ステップＳ５において、アクセス制御／送信部１６は、ＤＩＦＳ時間が経過するまで待機する。なお、ＤＩＦＳ時間は、IEEE802.11のＤＩＦＳに限定されるものではない。
【００５１】
ステップＳ６〜Ｓ７において、アクセス制御／送信部１６は、キャリアセンスを継続しながら、１スロット時間だけ待機する。そして、アクセス制御／送信部１６は、残存スロット数を表す変数Ｎslotを１だけデクリメントする。すなわち、Ｎslot＝Ｎslot−１が計算される。
【００５２】
ステップＳ８において、アクセス制御／送信部１６は、残存スロット数Ｎslotがゼロであるか否かを判定する。残存スロット数Ｎslotがゼロでないときは（すなわち、バックオフ期間が終了していないとき）、アクセス制御／送信部１６は、ステップＳ９において、無線ネットワークのリソースがビジー状態か否かを判定する。そして、無線ネットワークのリソースがビジー状態でなければ、アクセス制御／送信部１６の処理はステップＳ６に戻る。すなわち、無線リソースがアイドル状態であれば、残存スロット数Ｎslotがゼロになるまで、ステップＳ６〜Ｓ９が繰り返し実行される。そして、残存スロット数Ｎslotがゼロになると、アクセス制御／送信部１６の処理はステップＳ１２へ移行する。ただし、ステップＳ６〜Ｓ９を繰り返し実行する過程でビジー状態が検出されると（ステップＳ９：Ｙｅｓ）、アクセス制御／送信部１６は、ステップＳ１０において、無線リソースがアイドル状態になるまで待機する。
【００５３】
なお、ステップＳ２において無線リソースがビジー状態でない判定されたときは、アクセス制御／送信部１６は、ステップＳ１１を実行する。ステップＳ１１において、アクセス制御／送信部１６は、アイドル時間がＤＩＦＳよりも長いか否かを判定する。そして、アイドル時間がＤＩＦＳ以下であれば、アクセス制御／送信部１６の処理はステップＳ４へ移行する。一方、アイドル時間がＤＩＦＳよりも長いときは、アクセス制御／送信部１６の処理はステップＳ１２へ移行する。
【００５４】
ステップＳ１２において、アクセス制御／送信部１６は、無線ネットワークにおける送信権を獲得する。すなわち、対応するバックオフ時間が経過した時点で無線リソースがアイドル状態であれば、アクセス制御／送信部１６は、無線リソースを占有してパケットを送信する権利（すなわち、送信権）を獲得する。
【００５５】
ステップＳ１３において、ＴＸＯＰが算出される。ここで、ＴＸＯＰの算出は、ＴＸＯＰ算出部１５により実行される。したがって、アクセス制御／送信部１６は、ステップＳ１３において、ＴＸＯＰ算出部１５に対してＴＸＯＰの算出を依頼し、その算出結果を受け取る。
【００５６】
ステップＳ１４において、アクセス制御／送信部１６は、送信バッファ１３に格納されているパケットを読み出して送信する。このとき、アクセス制御／送信部１６は、ステップＳ１３で算出されたＴＸＯＰ期間が終了するまで、送信バッファ１３に格納されているパケットを送信することができる。
【００５７】
なお、図７に示すフローチャートは、アクセス制御／送信部１６が実行するすべての処理を記載しているわけではない。すなわち、アクセス制御／送信部１６は、図７に示していない他の処理を実行してもよい。
【００５８】
図８は、ＴＸＯＰ算出部１５の処理を示すフローチャートである。この処理は、図７に示すステップＳ１３においてアクセス制御／送信部１６により呼び出される。
【００５９】
ステップＳ２１において、ＴＸＯＰ算出部１５は、ノード装置１が起動された直後か否かを判定する。ノード装置１が起動された直後であれば、ステップＳ２２において、ＴＸＯＰ算出部１５は、変数ＱＬ０、変数ＱＬ１、変数ｎをゼロに初期化する。変数ＱＬ０は、送信バッファ１３の現在の送信キュー長を表す。変数ＱＬ１は、前回の送信周期において検出された、送信バッファ１３の送信キュー長を表す。変数ｎは、ＴＸＯＰを増加させる処理を実行した回数を表す。
【００６０】
ステップＳ２３において、ＴＸＯＰ算出部１５は、送信バッファ１３の現在の送信キュー長を取得する。送信キュー長は、送信キュー長取得部１４によって検出される。すなわち、ＴＸＯＰ算出部１５は、送信キュー長を表す情報を送信キュー長取得部１４から受け取る。そして、ＴＸＯＰ算出部１５は、取得した送信キュー長をＱＬ０として保持する。
【００６１】
ステップＳ２４において、ＴＸＯＰ算出部１５は、現在の送信キュー長ＱＬ０と閾値キュー長ＱＬLimitとを比較する。送信キュー長ＱＬ０が閾値キュー長ＱＬLimitよりも短ければ、ＴＸＯＰ算出部１５は、輻輳が発生していないと判定する。この場合、ＴＸＯＰ算出部１５は、ステップＳ２５において変数ｎをゼロに更新する。一方、現在の送信キュー長ＱＬ０が閾値キュー長ＱＬLimit以上であれば、ＴＸＯＰ算出部１５は、輻輳が発生していると判定する。この場合、ＴＸＯＰ算出部１５の処理はステップＳ２６へ移行する。
【００６２】
ステップＳ２６〜Ｓ２８において、ＴＸＯＰ算出部１５は、前回の送信周期における送信バッファ１３の送信キュー長ＱＬ１と、現在の送信キュー長ＱＬ０との間の差分ΔＱＬを計算する。すなわち、ＴＸＯＰ算出部１５は、ΔＱＬ＝ＱＬ０−ＱＬ１を計算する。
【００６３】
「ΔＱＬ＝ゼロ」は、前回の送信周期から現在の送信周期までの期間に、送信バッファ１３の送信キュー長が変化していない状況を表している。すなわち、差分ΔＱＬがゼロであれば（ステップＳ２７：Ｙｅｓ）、ＴＸＯＰ算出部１５は、輻輳レベルが変化していないと判定する。そうすると、ＴＸＯＰ算出部１５の処理は終了する。すなわち、送信キュー長が変化していないときは、ＴＸＯＰ算出部１５は、ＴＸＯＰを変更することなく維持する。この場合、アクセス制御／送信部１６は、前回の送信周期と同じＴＸＯＰでパケットを送信する。
【００６４】
「ΔＱＬ＞ゼロ」は、前回の送信周期から現在の送信周期までの期間に、送信キュー長が長くなった状況を表している。すなわち、ΔＱＬが正の値であれば（ステップＳ２８：Ｙｅｓ）、ＴＸＯＰ算出部１５は、輻輳レベルが悪化したと判定する。この場合、ＴＸＯＰ算出部１５は、ステップＳ２９において、変数ｎに「１」を加算する。
【００６５】
「ΔＱＬ＜ゼロ」は、前回の送信周期から現在の送信周期までの期間に、送信キュー長が短くなった状況を表している。すなわち、ΔＱＬが負の値であれば（ステップＳ２８：Ｎｏ）、ＴＸＯＰ算出部１５は、輻輳状態が継続しているものの、輻輳レベルが改善していると判定する。この場合、ＴＸＯＰ算出部１５は、ステップＳ３０において、変数ｎから「１」を差し引く。
【００６６】
ステップＳ３１において、ＴＸＯＰ算出部１３は、変数ｎに基づいてＴＸＯＰを計算する。この例では、ＴＸＯＰは、下記の演算で算出される。
ＴＸＯＰ＝ｔ0 ＋ＦＬ×ｇ(n)
ｔ0 は、ＴＸＯＰの初期値を表す。ＴＸＯＰの初期値としては、例えば、１つのパケットを送信するために要する時間が設定される。ただし、ＴＸＯＰの初期値は、より長い時間であってもよい。また、ＴＸＯＰの初期値は、ゼロであってもよい。ＦＬは、送信パケットのフレーム長に相当する時間を表す。この例では、パケットのフレーム長は一定であるものとする。また、フレーム長は、ＩＦＳ（例えば、上述したＤＩＦＳ、または後述するＳＩＦＳ）を含んでもよい。ｇ(n)は、変数ｎに基づいて決まる正の値であり、例えば、下式により与えられる。
ｇ(n)＝ａ×ｎ
ａは、予め決められた正の整数である。
【００６７】
ステップＳ３２において、ＴＸＯＰ算出部１５は、ステップＳ２３で取得した送信キュー長ＱＬ０を、次の送信周期で使用される送信キュー長ＱＬ１として保存する。このように、アクセス制御／送信部１６が送信権を獲得すると、ＴＸＯＰ算出部１５は、ＴＸＯＰを算出する。
【００６８】
なお、輻輳が発生していないときは（すなわち、現在の送信キュー長ＱＬ０が閾値キュー長ＱＬLimitよりも短いとき）、ステップＳ２５において、変数ｎにゼロが設定される。この場合、ステップＳ３１において、ｇ(0)がゼロになるので、ＴＸＯＰとして「ｔ0」が得られる。
【００６９】
上述のように、輻輳状態が悪化したときは（ΔＱＬ＞０）、ステップＳ２９において、変数ｎがインクリメントされる。この場合、前回の送信周期と比較して、ＴＸＯＰは長くなる。そうすると、ノード装置１は、より長い時間に渡って無線リソースを排他的に使用しながら、送信バッファ１３に格納されているパケットを送信することができる。したがって、このノード装置の輻輳は、解消されやすくなる。
【００７０】
一方、輻輳状態が改善方向に向かっているときは（ΔＱＬ＜０）、ステップＳ３０において、変数ｎがデクリメントされる。この場合、前回の送信周期と比較して、ＴＸＯＰは短くなる。すなわち、ノード装置１が排他的に無線リソースを使用する期間が短くなる。したがって、このノード装置が占有していた無線リソースの一部が他のノード装置に割り当てられるようになる。この結果、無線ネットワーク全体として、無線リソースが効率的に使用されるようになる。
【００７１】
図９は、実施形態のノード装置を含む無線ネットワークにおけるパケット送信シーケンスの一例を示す。この例では、無線ネットワークは、３つのノード装置＃１〜＃３を備えるものとする。また、時刻Ｔ１以前は、ノード装置＃２からノード装置＃１へのデータパケットの送信が行われているものとする。すなわち、時刻Ｔ１以前は、ノード装置＃１、＃３は、それぞれ、キャリアセンスによりビジー状態を検出する。
【００７２】
時刻Ｔ１においてノード装置＃２からノード装置＃１へのデータパケット送信が終了すると、ノード装置＃１は、上述したＤＩＦＳ時間よりも短い所定の期間だけ待機する。この所定の期間は、特に限定されるものではないが、例えば、IEEE802.11において規定されている短フレーム間隔（ＳＩＦＳ：Short Inter Frame Space）に相当する。よって、以下の記載では、この期間をＳＩＦＳと呼ぶことにする。但し、この期間は、IEEE802.11のＳＩＦＳに限定されるものではない。
【００７３】
時刻Ｔ１からＳＩＦＳ時間が経過すると、ノード装置＃１は、ノード装置＃２へＡＣＫパケットを返送する。なお、ＡＣＫパケットが送信されている期間、ノード装置＃２、＃３は、それぞれ、キャリアセンスによりビジー状態を検出する。
【００７４】
時刻Ｔ２においてノード装置＃１からノード装置＃２へのＡＣＫパケット送信が終了すると、各ノード装置は、ＤＩＦＳ時間だけ待機する。そして、時刻Ｔ２からＤＩＦＳ時間が経過した時刻Ｔ３において、各ノード装置（直前のデータパケット送信の送信元ノード装置は除く）は、それぞれバックオフ時間を決定する。この例では、ノード装置＃１、＃３のバックオフ時間は、それぞれ３スロット時間、６スロット時間と決定されている。
【００７５】
ノード装置＃１、＃３は、それぞれ、時刻Ｔ３から対応するバックオフ時間をカウントする。この処理は、図７に示すステップＳ６〜Ｓ９に相当する。ここで、ノード装置＃３のバックオフ時間よりも、ノード装置＃１のバックオフ時間の方が短い。したがって、時刻Ｔ３の後、最初にバックオフ時間が終了するのは、ノード装置＃１である。すなわち、時刻Ｔ３から３スロット時間が経過した時刻Ｔ４において、ノード装置＃１のバックオフ時間が終了する。そうすると、ノード装置＃１は、送信権を獲得する。この処理は、図７に示すステップＳ１２に相当する。そして、ノード装置＃１のＴＸＯＰ算出部１５は、図８に示すフローチャートの処理を実行することにより、ＴＸＯＰ時間を算出する。
【００７６】
ノード装置＃１は、時刻Ｔ４からＴＸＯＰ時間が経過するまで、送信バッファ１３に格納されているパケットを送信することができる。図９に示す例では、ノード装置＃１は、ＴＸＯＰを利用してノード装置＃２へ３つのデータパケットを送信している。
【００７７】
このとき、ノード装置＃１がノード装置＃２へデータパケットを送信すると、ノード装置＃２は、ノード装置＃１へＡＣＫパケットを返送する。そして、時刻Ｔ５において、ＡＣＫパケットの送信が終了する。なお、図９に示す例では、データパケット送信が終了した直後にＡＣＫパケットが返送されているが、データパケット送信の終了からＳＩＦＳ時間が経過したときにＡＣＫパケットが返送されるようにしてもよい。
【００７８】
各ノード装置（ここでは、ノード装置＃３）は、ＡＣＫパケットの送信が終了した時点からＤＩＦＳ時間だけ待機する。すなわち、ノード装置＃３は、時刻Ｔ５からＤＩＦＳ時間が経過するまでの期間、送信権を獲得することはできない。
【００７９】
一方、送信権を保持しているノード装置（ここでは、ノード装置＃１）は、ＡＣＫパケット送信の終了からＳＩＦＳ時間が経過すると、次のパケットを送信することができる。したがって、ノード装置＃１は、時刻Ｔ５からＳＩＦＳ時間が経過すると、次のデータパケットを送信する。
【００８０】
ここで、ＳＩＦＳ時間は、ＤＩＦＳ時間よりも短い。このため、ノード装置＃３が送信権を獲得する前に、ノード装置＃１は、時刻Ｔ６において、データパケットの送信を開始する。そうすると、ノード装置＃３は、そのデータパケット送信が終了するまで、送信権を獲得することができない。
【００８１】
このように、ノード装置＃１は、１つのデータパケットを送信した後、他のノード装置によって送信権を獲得されることなく、次のデータパケットを送信することができる。したがって、この手順を繰り返すことにより、ノード装置＃１は、ＴＸＯＰが終了するまでの期間、複数のデータパケットを連続して送信することができる。
【００８２】
時刻Ｔ７においてノード装置＃１のＴＸＯＰが終了し、さらにＤＩＦＳ時間が経過すると、他のノード装置（ここでは、ノード装置＃３）は、送信権を獲得することができる。ここで、ノード装置＃３のバックオフは、時刻Ｔ３〜Ｔ４において、６スロット時間から３スロット時間に減少している。しかし、時刻Ｔ４（すなわち、ノード装置＃１がパケット送信を開始した時刻）において、ノード装置＃３のバックオフは、３スロット時間残存している。したがって、ノード装置＃３は、時刻Ｔ７からＤＩＦＳ時間が経過した後、さらに３スロット時間が経過した時点で送信権を獲得することができる。
【００８３】
このように、実施形態のノード装置を含む無線ネットワークにおいては、送信権を獲得したノード装置は、ＴＸＯＰ時間に渡って、複数のパケットを送信することができる。したがって、ノード装置のＴＸＯＰ時間を長くすると、そのノード装置は、１回の送信機会でより多くのパケットを送信することができる。この結果、そのノード装置の輻輳は解消または抑制される。
【００８４】
図１０は、パケット送信処理を示すフローチャートである。この処理は、図７のステップＳ１４に相当する。すなわち、図１０に示すフローチャートの処理は、例えば、送信権を獲得したノード装置のアクセス制御／送信部１６によって実行される。
【００８５】
ステップＳ４１において、アクセス制御／送信部１６は、ＴＸＯＰ時間をカウントするためのタイマを起動する。すなわち、アクセス制御／送信部１６は、送信権を獲得したときからＴＸＯＰ時間をカウントする。
【００８６】
ステップＳ４２において、アクセス制御／送信部１６は、送信バッファ１３にパケットが格納されているか否か判定する。そして、送信バッファ１３にパケットが格納されていれば、アクセス制御／送信部１６は、ステップＳ４３において、ＴＸＯＰが終了しているか否かを判定する。
【００８７】
ＴＸＯＰが終了していなければ、アクセス制御／送信部１６は、ステップＳ４４において、送信バッファ１３からパケットを読み出して送信する。つづいて、アクセス制御／送信部１６は、ステップＳ４５において、ＡＣＫパケットを受信する。さらに、アクセス制御／送信部１６は、ステップＳ４６において、ＳＩＦＳ時間だけ待機する。この後、アクセス制御／送信部１６の処理はステップＳ４２に戻る。以降、アクセス制御／送信部１６は、ステップＳ４２〜Ｓ４６の処理を繰り返し実行する。
【００８８】
ただし、ＴＸＯＰが終了すると（ステップＳ４３：Ｙｅｓ）、アクセス制御／送信部１６の処理は終了する。換言すれば、アクセス制御／送信部１６は、送信権を獲得したときからＴＸＯＰが終了するまで、送信バッファ１３に格納されているパケットを連続して送信することができる。
【００８９】
また、送信バッファ１３に格納されているパケットがすべて読み出された場合（ステップＳ４２：Ｎｏ）は、ＴＸＯＰが終了する前にアクセス制御／送信部１６の処理を終了してもよい。このシーケンスを採用すれば、ＴＸＯＰが終了する前に無線リソースが解放されるので、無線ネットワーク全体として無線リソースの効率が高くなる。
【００９０】
図１１〜図１３は、実施形態の輻輳制御方法の実施例を示す。ここでは、無線ネットワークは、図１１（ａ）に示すように、ノードＡ〜Ｎ、ＧＷを備えるものとする。ノードＡ〜Ｎ、ＧＷには、それぞれノード装置Ａ〜Ｎ、ＧＷが設けられている。また、ノード装置Ａ〜Ｎは、図２を参照しながら説明した無線ネットワークと同様に、それぞれ、各送信周期において１つのデータパケットを生成してノードＧＷへ送信するものとする。ここで、各ノード装置により生成されるデータパケットのフレーム長は、同じであるものとする。そして、各ノードから送信されるパケットは、図１１（ａ）に示す無線リンクを介してマルチホップ方式でノードＧＷまで伝送される。
【００９１】
図１１（ａ）において、各ノード装置Ａ〜Ｎには、それぞれＴＸＯＰ＝ｔ0 が設定されているものとする。この例では、ｔ0 は、所定数のデータパケットを送信するために要する時間に相当するものとする。すなわち、各ノード装置Ａ〜Ｎは、送信権を獲得すると、１以上のデータパケットを送信することができる。
【００９２】
上記無線ネットワーク中のいくつかのノード装置は、１または複数の他のノードから送信されるパケットを中継する。例えば、ノード装置Ｅは、ノードＤから送信されるパケットをノードＧＷへ転送する。また、ノード装置Ａは、ノードＢ、Ｃ、Ｋ、Ｌから送信されるパケットをノードＧＷへ転送する。このとき、多くのノードから送信されるパケットを中継するノード装置においては、輻輳が発生しやすい。図１１（ａ）に示す無線ネットワークでは、ノード装置Ａは、４つのノードから送信されるパケットを中継し、ノード装置Ｂは、３つのノードから送信されるパケットを中継し、ノード装置Ｃは、２つのノードから送信されるパケットを中継する。
【００９３】
この実施例では、まず、ノード装置Ａにおいて輻輳が発生する。すなわち、ノード装置ＡのＴＸＯＰ算出部１５は、ノード装置Ａの送信バッファ１３の送信キュー長が閾値を超えていることを検出する。この検出は、図８のステップＳ２３に相当する。そうすると、ＴＸＯＰ算出部１５は、ステップＳ３１においてＴＸＯＰを「ｔ0 」から「ｔ0 ＋ＦＬ×ｇ(1)」に変更する。ｇ(1)は、上述したように、ａ×ｎである。ここで、説明を簡単にするためにａ＝１とする。そうすると、ノード装置ＡのＴＸＯＰは「ｔ0 ＋ＦＬ」に設定される。なお、図１１〜図１３に示す「ＴＸＯＰ（）」は、（）内のノード装置のＴＸＯＰを表す。例えば、「ＴＸＯＰ（Ａ）」は、ノード装置ＡのＴＸＯＰを表す。
【００９４】
図１１（ｂ）は、ノード装置ＡのＴＸＯＰが「ｔ0 」から「ｔ0 ＋ＦＬ」に延長された状態を示す。この場合、ノード装置Ａは、通常状態よりも長い期間、無線リソースを占有してパケットを送信することができる。
【００９５】
ノード装置ＡのＴＸＯＰが長くなると、他のノード装置（例えば、ノード装置Ａの周辺のノード装置）は、送信権を獲得しにくくなる。この結果、この例では、ノード装置Ｂが十分な送信機会を得ることができず、ノード装置Ｂにおいて輻輳が発生する。すなわち、ノード装置ＢのＴＸＯＰ算出部１５は、ノード装置Ｂの送信キュー長が閾値を超えていることを検出する。そうすると、ノード装置ＢのＴＸＯＰ算出部１５は、ノード装置Ａと同様に、ＴＸＯＰを「ｔ0 」から「ｔ0 ＋ＦＬ×ｇ(1)」に変更する。すなわち、図１１（ｃ）に示すように、ノード装置ＢのＴＸＯＰも「ｔ0 ＋ＦＬ」に設定される。
【００９６】
ノード装置ＢのＴＸＯＰが長くなると、１つの送信周期内でノード装置Ｂが送信するパケットの個数は増加する。この結果、ノード装置Ａは、より多くのパケットを受信することになるので、ノード装置Ａの輻輳状態は悪化する。すなわち、ノード装置Ａの送信キュー長は、さらに長くなる。
【００９７】
この場合、ノード装置Ａにおいて、図８のステップＳ２６で計算される送信キュー長の差分ΔＱＬが正の値になる。したがって、ノード装置ＡのＴＸＯＰ算出部１５は、ステップＳ２９で変数ｎをインクリメントした後、ステップＳ３１においてＴＸＯＰを「ｔ0 ＋ＦＬ」から「ｔ0 ＋２ＦＬ」に延長する。すなわち、図１２（ａ）に示すように、ノード装置ＡのＴＸＯＰは「ｔ0 ＋２ＦＬ」に設定され、ノード装置ＢのＴＸＯＰは「ｔ0 ＋ＦＬ」に設定される。
【００９８】
つづいて、ノード装置Ｃにおいても輻輳が発生する。そうすると、ノード装置Ｃは、ノード装置Ｂと同様に、ＴＸＯＰを「ｔ0 ＋ＦＬ×ｇ(1)」に変更する。したがって、図１２（ｂ）に示すように、ノード装置Ａ、Ｂ、ＣのＴＸＯＰは、それぞれ「ｔ0 ＋２ＦＬ」「ｔ0 ＋ＦＬ」「ｔ0 ＋ＦＬ」に設定される。
【００９９】
ノード装置Ｂ、ＣのＴＸＯＰが長くなると、１つの送信周期内でノード装置Ｂ、Ｃが送信するパケットの個数は増加する。そうすると、ノード装置Ａの輻輳状態はさらに悪化する。すなわち、ノード装置Ａの送信キュー長はさらに長くなる。したがって、ノード装置ＡのＴＸＯＰ算出部１５は、ＴＸＯＰを「ｔ0 ＋２ＦＬ」から「ｔ0 ＋３ＦＬ」に延長する。そして、ノード装置Ａ、Ｂ、ＣのＴＸＯＰは、図１２（ｃ）に示すように、それぞれ「ｔ0 ＋３ＦＬ」「ｔ0 ＋ＦＬ」「ｔ0 ＋ＦＬ」に設定される。
【０１００】
上述のようにしてノード装置Ａ、Ｂ、ＣのＴＸＯＰがそれぞれ延長されると、他のノード装置（例えば、ノード装置Ａ、Ｂ、Ｃの周辺のノード装置）は、さらに送信権を獲得しにくくなる。このため、ノードＡ、Ｂ、Ｃ以外のノードから送信されるパケット数は減少してゆく。この結果、ノード装置Ｂ、Ｃにおいて輻輳が解消するものとする。また、ノード装置Ａにおいては、輻輳状態は継続するものの、輻輳レベルが低下するものとする。
【０１０１】
この場合、ノード装置Ｂ、Ｃの送信キュー長が、それぞれ閾値よりも短くなる。そうすると、ノード装置ＢのＴＸＯＰ算出部１５は、図８のステップＳ２５において変数ｎをゼロに更新する。この結果、ノード装置ＢのＴＸＯＰは、ステップＳ２１において、「ｔ0 ＋ＦＬ」から初期値「ｔ0 」に短縮される。同様に、ノード装置Ｃにおいても、ＴＸＯＰが「ｔ0 」に短縮される。
【０１０２】
ノード装置Ａにおいては、送信キュー長は、まだ閾値よりも長いので、図８のステップＳ２４において「Ｎｏ」と判定される。ところが、この送信キュー長は、前回の送信周期における送信キュー長よりも短くなっている。すなわち、図８のステップＳ２８において「Ｎｏ」と判定され、ステップＳ３０において変数ｎがデクリメントされる。したがって、ノード装置ＡのＴＸＯＰは、ステップＳ２１において「ｔ0 ＋３ＦＬ」から「ｔ0 ＋２ＦＬ」に短縮される。このようにして、ノード装置Ａ、Ｂ、ＣのＴＸＯＰは、図１３（ａ）に示すように、それぞれ「ｔ0 ＋２ＦＬ」「ｔ0 」「ｔ0 」に設定される。
【０１０３】
この後、ノードＢ、Ｃから送信されるパケット数が減少し、ノード装置Ａにおける輻輳が解消するものとする。すなわち、ノード装置Ａの送信キュー長が閾値よりも短くなる。そうすると、ノード装置ＡのＴＸＯＰ算出部１５は、図８のステップＳ２５において変数ｎをゼロに更新する。この結果、ノード装置ＡのＴＸＯＰは、「ｔ0 ＋２ＦＬ」から「ｔ0 」に短縮される。
【０１０４】
このように、実施形態の輻輳制御方法においては、各ノード装置が輻輳状態に応じて自律的にＴＸＯＰを調整する。この自律分散的な制御により、無線ネットワークの無線リソースは、輻輳を回避または抑制するように、複数のノード装置に適切に割り当てられる。したがって、下記の効果が得られる。
【０１０５】
（１）ノードの配置または無線リンクの不安定さによる経路切替えなどに起因して、一時的および／または局所的にパケット経路が集中しても、輻輳状態は短時間で解消または抑制される。
（２）各ノード間の無線リンクに対して過剰に帯域を割り当てる必要がないので、無線リソースを効率的に利用することができる。
（３）ノード装置間で輻輳状態を通知するためのメッセージ、或いは送信レートの変更を依頼するメッセージを必要としないので、輻輳状態を悪化させることもない。
（４）各ノード装置がネットワークトポロジを認識していなくても、輻輳制御を実行することができる。
【０１０６】
したがって、ネットワークトポロジの変化等に起因して輻輳が発生するノードが変わっても、その輻輳は短時間で緩和される。例えば、図２（ｂ）においては、ノードＡにおいて最も輻輳が発生しやすいが、図２（ｃ）においては、ノードＢにおいて最も輻輳が発生しやすい。この場合、ネットワークトポロジが図２（ｂ）に示す状態から図２（ｃ）に示す状態に変化すると、例えば、ノード装置Ａは、自律的にＴＸＯＰを短縮し、ノード装置Ｂは、自律的にＴＸＯＰを延長する。この結果、無線リソースの効率を下げることなく、輻輳が緩和される。
【０１０７】
なお、実施形態の輻輳制御方法においては、上述したように、輻輳状態のノード装置のＴＸＯＰが延長される。このため、このノード装置の送信レートまたは送信帯域は、一時的に増加する。しかし、あるノード装置のＴＸＯＰが長くなると、その周辺のノード装置は送信権を獲得しにくくなる。すなわち、周辺のノード装置の送信レートまたは送信帯域は、実質的に低下することになる。したがって、無線ネットワーク全体では、送信帯域が予め設定されている容量を超えることはない。
【０１０８】
＜他の実施形態＞
上述の実施形態では、各ノード装置は、ビジー状態が終了してからＤＩＦＳ時間が経過した後に、データを送信するための送信権を獲得することができる。しかし、本発明はこのアクセス方式に限定されるものではない。すなわち、例えば、輻輳ノード装置は、他のノード装置よりも短い待ち時間で送信権を獲得できるようにしてもよい。この方式によれば、より迅速に輻輳を緩和することが可能となる。
【図１】
2012127597.tif 000003
【図２】
2012127597.tif 000004
【図３】
2012127597.tif 000005
【図４】
2012127597.tif 000006
【図５】
2012127597.tif 000007
【図６】
2012127597.tif 000008
【図７】
2012127597.tif 000009
【図８】
2012127597.tif 000010
【図９】
2012127597.tif 000011
【図１０】
2012127597.tif 000012
【図１１】
2012127597.tif 000013
【図１２】
2012127597.tif 000014
【図１３】
2012127597.tif 000015
【手続補正書】
【提出日】平成25年9月5日(2013.9.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の無線通信装置を備える無線ネットワークにおいて使用される輻輳制御方法であって、
各無線通信装置において輻輳状態をモニタし、
前記複数の無線通信装置の中の輻輳が発生している輻輳無線通信装置において、無線リソースを排他的に使用してパケットを送信することができる排他的送信時間を延長する
ことを特徴とする輻輳制御方法。
【請求項２】
前記輻輳状態のモニタは、送信パケットを格納する送信バッファのキュー長を予め決められている閾値と比較する処理を含む
ことを特徴とする請求項１に記載の輻輳制御方法。
【請求項３】
前記輻輳無線通信装置において、前記送信バッファのキュー長が増加しているときに、前記排他的送信時間をさらに延長する
ことを特徴とする請求項２に記載の輻輳制御方法。
【請求項４】
前記輻輳無線通信装置において、前記送信バッファのキュー長が減少しているときに、前記排他的送信時間を短縮する
ことを特徴とする請求項２または３に記載の輻輳制御方法。
【請求項５】
前記輻輳無線通信装置において、前記送信バッファのキュー長が変化していなければ、前記排他的送信時間を維持する
ことを特徴とする請求項２〜４のいずれか１つに記載の輻輳制御方法。
【請求項６】
前記排他的送信時間は、ｔ0 ＋ａ×ｎ×ＦＬにより算出され、
ｔ0 は、所定の初期値、
ａは、所定の正の整数、
ｎは、前記排他的送信時間を延長した回数、
ＦＬは、前記パケットを送信するために要する時間、である
ことを特徴とする請求項３〜５のいずれか１つに記載の輻輳制御方法。
【請求項７】
前記無線ネットワークは、衝突回避機能付きキャリア感知多重アクセス方式を採用しており、
前記複数の無線通信装置は、前記無線ネットワークのビジー状態が終了したときから、予め決められた第１の期間が経過するまでは、送信権を獲得することができず、
前記輻輳無線通信装置は、送信権を獲得したときから前記排他的送信時間が経過するまでの期間において、前記無線ネットワークのビジー状態が終了したときから、前記第１の期間よりも短い第２の期間が経過した時点でパケットを送信する
ことを特徴とする請求項１に記載の輻輳制御方法。
【請求項８】
複数の無線通信装置を備える無線ネットワークにおいて前記複数の無線通信装置の中のある無線通信装置により使用される輻輳制御方法であって、
自装置の輻輳状態をモニタし、
自装置の輻輳状態に基づいて、無線リソースを排他的に使用してパケットを送信することができる排他的送信時間を算出する
ことを特徴とする輻輳制御方法。
【請求項９】
複数の無線通信装置を備える無線ネットワークにおいて使用される無線通信装置であって、
他の無線通信装置へ送信するパケットを格納する送信バッファと、
自装置の輻輳状態をモニタする輻輳状態モニタ部と、
前記輻輳状態モニタ部によりモニタされた輻輳状態に基づいて、無線リソースを排他的に使用してパケットを送信することができる排他的送信時間を算出する排他的送信時間算出部と、
送信権を獲得したときから前記排他的送信時間が経過するまで、前記送信バッファに格納されているパケットを送信する送信部と、
を備える無線通信装置。
【国際調査報告】
2012127597.tif 000016
2012127597.tif 000017
2012127597.tif 000018