ローカル無線ネットワークにおける無線ノードおよびその通信制御方法
【課題】隠れ端末問題によるデータフレーム衝突の繰り返しを回避してスループット低下を軽減することができる新たな通信制御方法および無線ノードを提供する。
【解決手段】最長データフレーム転送に要する時間(以下、最大フレーム転送時間Tfmaxという。)が予め定められた通信システムにおいて他の無線ノードと無線通信可能な無線ノード(100)であって、隠れ端末問題が発生しやすい環境あるいは使用条件であるか否かを判定し(ステップ11)、隠れ端末問題が発生しやすい環境あるいは使用条件であると判定された場合(ステップ11のYES)、正常通信できなかった時の待ち時間をランダムに設定可能なランダム設定範囲を変更し、その上限を最大フレーム転送時間Tfmaxより長い時間に設定する(ステップ13)。
【解決手段】最長データフレーム転送に要する時間(以下、最大フレーム転送時間Tfmaxという。)が予め定められた通信システムにおいて他の無線ノードと無線通信可能な無線ノード(100)であって、隠れ端末問題が発生しやすい環境あるいは使用条件であるか否かを判定し(ステップ11)、隠れ端末問題が発生しやすい環境あるいは使用条件であると判定された場合(ステップ11のYES)、正常通信できなかった時の待ち時間をランダムに設定可能なランダム設定範囲を変更し、その上限を最大フレーム転送時間Tfmaxより長い時間に設定する(ステップ13)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はローカル無線ネットワークに係り、特に隠れ端末問題が発生しうる環境における通信制御方法およびそれを用いた無線ノードに関する。
【背景技術】
【0002】
周知のように、無線LAN(Local Area Network)では、電波を伝える媒体である空間を多数の無線ノードが共有するためにCSMA−CA(Carrier Sense Multiple Access - Collision Avoidance)と呼ばれる多重アクセス制御方式が採用されている。すなわち、ある無線ノードがデータフレームを送信するときは、まずキャリアセンスを行い、空きと判断されるとデータフレームを送信し、相手側の無線ノードからACKフレームを受信すれば送信処理は完了する。キャリアセンスで空きと判断されデータフレームを送信したにも拘わらず、相手からACKフレームを受信できないときは、ランダムに決められた待ち時間(Backoff Time)の経過を待ってからデータフレームを再送する。ランダムな待ち時間が設定されることで、他の無線ノードによるデータフレーム送信との衝突の可能性をできるだけ低くすることができる。
【0003】
ところが、無線LANでは、無線の使用場所や環境によって無線ノード同士の電波が届かない場合があり、その結果、データフレーム衝突が頻発してスループットが大きく低下する「隠れ端末問題」の存在が知られている。たとえば、図1に示すように、無線ノードAおよびBが互いに電波が届く範囲にあり、無線ノードBおよびCも互いに電波が届く範囲にあるが、無線ノードAおよびCは互いに電波が届かないという状況が存在する。この場合、無線ノードAが無線ノードBに対してデータ送信中であっても、無線ノードCは無線ノードBがデータ受信中であることを検知できない。したがって、無線ノードCは、キャリアセンスにより空きと判断し、無線ノードBあるいはDへデータフレームを送信してしまう。その結果、無線ノードAからのデータフレームと無線ノードCからのデータフレームとが衝突し、無線ノードBはいずれのデータフレームも受信できない。
【0004】
このような「隠れ端末問題」の発生を抑えるために、IEEE802.11ではRTS/CTSフレームを用いたCSMA−CA方式が採用されている。具体的には、図1において、無線ノードAはデータを送信する前に,送信相手である無線ノードBにRTS(request to send:送信要求)フレームを送信し、RTSフレームを受信した無線ノードBは、それに対してCTS(clear to send:受信準備完了)フレームを返信する。無線ノードCは無線ノードBからの電波は届くのでCTSフレームを検知することができる。従って、無線ノードCは、RTSフレームを送信していないのにCTSフレームを受信すれば、当該無線ノードBが他の端末(無線ノードCからは見えない無線ノードA)からデータを受信するものと判断することができ、当該CTSフレームの情報からデータ送信完了時間を計算し、それまでデータ送信を延期することでフレーム衝突を回避することができる。
【0005】
しかしながら、実際には、CSMA−CAおよびRTS/CTS対策が設計どおりの機能を果たせないことが知られており、特にアドホックネットワークではRTS/CTS方式を用いても隠れ端末問題を完全に解消することが困難である。このような隠れ端末問題を解消しようとする方法がいくつか提案がされている。たとえば特許文献1では、RTS/CTS方式を併用したランダムアクセス制御において、無線ノードがアクセス開始してから送信可能になるまでのフレーム間隔を優先順位ごとに異なるように設定し、優先順位の上下によるフレーム間隔の差をRTS送信からCTS受信までの所要時間以上に設定する。これによって、図1における無線ノードCは、隠れ端末である無線ノードAがRTS送信し、これに無線ノードBがCTS送信で応答したことを知ることが可能となる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−041627号公報
【非特許文献】
【0007】
【非特許文献1】IEEE STD 802.11-2007 (Wireless LAN Medium Access Control(MAC) and Physical Layer(PHY) specifications)
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上記特許文献1のように優先順位によりフレーム間隔に差を持たせる方法ではデータの送信効率の低下を避けることができない。周知のように、ランダム待ち時間は、0とCW(Contention Window)と呼ばれる変数値との間でランダムに選択された数と単位時間との乗算により求められる。ただし、このCWは2つの固定値(最小CWminと最大CWmax)の間の数値である。具体的には、図2に示すように、CW値は、送信するフレーム毎に決められ、初期値はCWminであり、データフレームが正常に届かずACK待ちでタイムアウトが発生する毎に直前のCW値が2倍される。ただし、CW値は最大CWmaxを超えない(非特許文献1の「9.2.4 Random backoff time」の項を参照)。このようにCW値に上限値(CWmax)があるので、一度、隠れ端末問題が発生すると、どちらかの送信無線ノードが再送をあきらめるまでフレームの衝突を繰り返す可能性が高い。
【0009】
周知のように、ランダム待ち時間は、0とCW(Contention Window)と呼ばれる変数値との間でランダムに選択された数と単位時間との乗算により求められる。ただし、このCWは2つの固定値(最小CWminと最大CWmax)の間の数値である。具体的には、図2に示すように、CW値は、送信するフレーム毎に決められ、初期値はCWminであり、データフレームが正常に届かずACK待ちでタイムアウトが発生する毎に直前のCW値が2倍される。ただし、CW値は最大CWmaxを超えない(非特許文献1の「9.2.4 Random backoff time」の項を参照)。このようにCW値に上限値(CWmax)があるので、一度、隠れ端末問題が発生すると、どちらかの送信無線ノードが再送をあきらめるまでフレームの衝突を繰り返す可能性が高い。
【0010】
特にアドホックネットワークでは、広い範囲に配置されている多くの無線ノードが同一の周波数、電波形式で自律分散的に通信を行うので、アドホックネットワークでTCPプロトコルを使用する場合にスループットの低下が大きい。TCPプロトコルを使用する場合、DATAパケットに対して送達確認のACKパケットが返送されるが、アドホックネットワークでACKパケットを中継転送する経路はDATAパケットを中継転送するのと同じ経路の反対方向になるのが一般的である。従って、DATAパケットを運ぶデータフレームとACKパケットを運ぶデータフレームが同じ経路を反対方向に進むのでぶつかり合う場合が多くなり、このために隠れ端末問題が発生しやすくなる。また、DATAパケットを運ぶデータフレームとACKパケットを運ぶデータフレームが反対方向に進み、この2つのフレーム間で隠れ端末問題が発生すると、DATAパケットを運ぶデータフレームまたはACKパケットを運ぶデータフレームのどちらかが廃棄されDATAパケットまたはACKパケットのどちらかが紛失する。TCPプロトコルはDATAパケットの紛失率が高くなると、DATAパケットの再送とACKパケット待ちのタイムアウトを繰り返すのでスループットが著しく低下する。この現象を図3を用いて具体的に説明する。
図3に示すように5個の無線ノードA−Eが一直線に隣接ノードとの距離が無線方式上の最大到達距離よりも少し短い距離だけ離れて配置されているアドホックネットワークを考える。
いま無線ノードAから無線ノードEにTCPプロトコルを使用して大量のデータを転送しているとする。無線ノードAから無線ノードBへ送るDATAパケットを運ぶデータフレームと無線ノードEから無線ノードDへ送るACKパケットを運ぶデータフレームがほぼ同時に送信されようとしているものとする。このようなタイミングでDATAパケットを運ぶデータフレームとACKパケットを運ぶデータフレームを送ろうとすることはよく発生する事象である。
無線ノードAからのRTSフレームおよび無線ノードBからのCTSフレ−ムは距離の関係から無線ノードDでは正常に受信できない。続いて、無線ノードAから無線ノードBあてのDATAパケットを運ぶデータフレームの送信が開始されるが、これも無線ノードDは正常に受信できない。同様にRTS−CTS手順を行った後に、無線ノードEから無線ノードDへのACKパケットを運ぶデータフレームの転送も開始される。
ここで、電波の強さが距離の2乗に反比例するとすれば、無線ノードDでは無線ノードEから受信中のACKパケットを運ぶデータフレームに対して、無線ノードAから無線ノードBあてのDATAパケットを運ぶデータフレームが、強さが1/9の雑音として届く。この雑音の強さは、受信中のACKパケットを運ぶデータフレームに対してビット誤りを引き起こすのに十分な強さである。DATAパケットを運ぶデータフレームとACKパケットを運ぶデータフレームのフレーム長はRTSフレームやCTSフレームのフレーム長に比べて大きいので、RTSフレームやCTSフレームは正常に届き、次にDATAパケットを運ぶデータフレームあるいはACKパケットを運ぶデータフレームを送り始めるとビットエラーが発生して正常に届かない事象が発生する確率は高くなる。
以上の例から、無線ノードAから無線ノードBあてのDATAパケットを運ぶデータフレームと無線ノードEから無線ノードDへのACKパケットを運ぶデータフレームは互いに隠れ端末問題を引き起こし、しかもRTS−CTS手順でも防げない事がわかる。
【0011】
そこで、本発明の目的は、隠れ端末問題によるデータフレーム衝突の繰り返しを回避してスループット低下を軽減することができる新たな通信制御方法およびそれを用いた無線ノードを提供することにある。
【課題を解決するための手段】
【0012】
本発明による無線ノードは、最長データフレーム転送に要する時間(以下、最大フレーム転送時間という。)が予め定められた通信システムにおいて他の無線ノードと無線通信可能な無線ノードであって、隠れ端末問題が発生しやすい環境あるいは使用条件であるか否かを判定する判定手段と、隠れ端末問題が発生しやすい環境あるいは使用条件であると判定された場合、正常通信できなかった時の待ち時間をランダムに設定可能なランダム設定範囲を変更し、その上限を前記最大フレーム転送時間より長い時間に設定する制御手段と、を有することを特徴とする。
【0013】
本発明による通信制御方法は、最長データフレーム転送に要する時間(以下、最大フレーム転送時間という。)が予め定められた通信システムにおいて他の無線ノードと無線通信可能な無線ノードの通信制御方法であって、判定手段が隠れ端末問題が発生しやすい環境あるいは使用条件であるか否かを判定し、隠れ端末問題が発生しやすい環境あるいは使用条件であると判定された場合、制御手段が、正常通信できなかった時の待ち時間をランダムに設定可能なランダム設定範囲を変更し、その上限を前記最大フレーム転送時間より長い時間に設定する、ことを特徴とする。
【発明の効果】
【0014】
本発明によれば、隠れ端末問題によるデータフレーム衝突の繰り返しを回避してスループット低下を軽減することができる。
【図面の簡単な説明】
【0015】
【図1】隠れ端末問題を説明するためのアドホックネットワークの一例を示す端末配置図である。
【図2】規定CW値の変化を示すグラフである。
【図3】隠れ端末問題を説明するためのアドホックネットワークの他の例を示す端末配置図である。
【図4】本発明の一実施形態による通信制御方法におけるランダム待ち時間の決定手順を示すフローチャートである。
【図5】本実施形態によるCW値の変化の一例を示すグラフである。
【図6】本実施形態による通信制御方法を適用したアドホックネットワークにおける周囲の無線ノード数が多い環境での各無線ノードの状態遷移とデータフレーム転送成功率の変化との関係を説明するための状態遷移図である。
【図7】本発明の第1実施例による無線ノードの内部構成を示すブロック図である。
【図8】第1実施例において使用される変数および定数を格納した記憶部の模式図である。
【図9】第1実施例による通信制御方法におけるデータフレーム送信完了処理を示すフローチャートである。
【図10】本発明の第2実施例による通信制御方法におけるデータフレーム送信完了処理を示すフローチャートである。
【図11】第2実施例によるCW値の変化の一例を示すグラフである。
【発明を実施するための形態】
【0016】
本発明によれば、ローカル無線ネットワークを構成する無線通信端末(以下、無線ノードという。)が隠れ端末問題が発生しやすい環境にある場合、正常送信ができなかった時のランダム待ち時間をランダムに設定可能なランダム設定範囲を変更し、その上限値を当該システムで規定されている最大長フレームの転送に必要な時間(以下、最大フレーム転送時間Tfmaxという)より十分大きな値に設定する。このような制御により、データフレームが衝突を繰り返す可能性を低減させることができ、ネットワークのスループットの低下を抑制することが可能である。以下、本発明の一実施形態および一実施例について詳細に説明する。
【0017】
1.一実施形態
無線ノードが図1に示すようなローカル無線ネットワーク、特にアドホックネットワークを構成する場合、上述したように隠れ端末問題が生じやすくなる。隠れ端末問題の発生はデータフレーム衝突が頻発しているか否かにより判断することができるので、送信成功率をモニタすることで判定可能である。
【0018】
図4に示すように、隠れ端末問題の発生を検知すると(ステップ11のYES)、無線ノードはランダム待ち時間(あるいはデータフレームが正常に送れなかった時に次の再送のためのキャリアセンスを開始するまでの時間)を設定可能な範囲(以下、再送間隔設定可能範囲という。)を変更し、その上限を方式上の最大フレーム転送時間Tfmaxより十分大きな値に設定する(ステップ13)。隠れ端末問題の発生が検知されなければ(ステップ11のNO)、ランダム待ち時間を選択するランダム選択範囲を設定可能な再送間隔設定可能範囲はシステムに予め設定された通常の上限値および下限値に設定される。こうして設定された再送間隔設定可能範囲内のランダム選択範囲内でランダム待ち時間が決定される(ステップ14)。
【0019】
上述したように、ランダム待ち時間は0とCW(Contention Window)値との間でランダムに選択された数と単位時間との乗算により求められるので、以下、再送間隔設定可能範囲内のランダム選択範囲を[0,CW]におけるCW値の設定問題として説明する。
【0020】
図5に示すように、通常時のCW値はn−CWminとn−CWmaxとの間の数値となり、送信に成功しない限り初期値n−CWminからリトライする毎にCW値が2倍される。ここでは、リトライアウトを連続して一定回数以上繰り返すことで、隠れ端末問題が発生した(あるいは発生しやすい環境)と判断されるものとする。
【0021】
具体的には、図5に示すように、隠れ端末問題発生と判断した時点から、CW値の上限を最大フレーム転送時間Tfmaxより十分長い時間に対応するh−CWmaxに、下限をn−CWmaxより大きいh−CWminに、それぞれ設定する。次のデータフレーム送信に当たってはCW値はh−CWminから開始される。ここでは、リトライ無しで1度で送信が成功することが一定回数以上繰り返すことで、通常状態と判定しCW値の上限および下限を規定のn−CWmaxおよびn−CWminに戻すものとする。図5では1度めは送信に成功せず2度目に送信に成功している場合が連続しているので、隠れ端末問題が発生した(あるいは発生しやすい環境)と判断されつづけている。
上述の動作により、各無線ノードは、CWの値が通常の範囲にある状態と、CWの値が大きな値の範囲にある状態との2つの状態を持つ。それぞれの状態にある無線ノードが全無線ノードに占める割合が変わると、データフレーム送信から次のデータフレーム送信までの時間間隔(以下データフレーム送信間隔という)の全無線ノードの平均値が変わってくるのでデータフレーム衝突の発生頻度が変化する。
図6は周囲の無線ノード数が多い環境での各無線ノードの状態遷移とデータフレーム転送成功率(以下転送成功率)の変化との関係を図示したものである。各無線ノードは通信開始時はCWが「通常」の状態にある。多くの無線ノードがこの状態にあると平均のデータフレーム送信間隔が短いので、データフレーム衝突が多発し転送成功率が低くなる。このため、隠れ端末問題発生と判断する無線ノードが増え、CW範囲が大きい状態に遷移する無線ノードが増加する。
CW範囲が大きい状態の無線ノードが増加すると、全体の平均データフレーム送信間隔は増加するので、データフレーム衝突の発生が低下し転送成功率は高くなる。すると、隠れ端末問題は無くなったと判断する無線ノードが増える。最終的にはCW範囲が普通である無線ノードの数とCW範囲が大である無線ノードの数の比は安定することが期待される。この結果、全無線ノードの平均データフレーム送信間隔が大きくなるため、無線ノード全体のデータフレーム転送成功率は改善される。
【0022】
このように、本実施形態によれば、一度隠れ端末問題が発生しても、再送までの間隔の選択範囲を最大フレーム転送時間Tfmaxより十分大きくすることによりデータフレーム衝突の繰り返しを有効に回避することができ、無線LAN、特にアドホックネットワークでの隠れ端末問題によるスループットの低下、とくにTCPプロトコルを使用する場合の大きなスループット低下を軽減することができる。すなわち、隠れ端末問題が多発する環境では、各無線ノードのデータフレーム送信間隔が増加してトラフィック量が削減されるので、隠れ端末問題の多発が防止される。さらに、データフレーム送信間隔増加に起因するスループットの低下よりも、データフレーム廃棄によるスループット低下の方が大きい場合が多いので、平均のスループットが向上する。特に、TCPプロトコルではデータフレーム廃棄によるDATAパケット紛失率が高くなるとスループットが著しく低下するので、このようなプロトコルを使用した通信に本実施形態を適用することでスループットが著しく改善される。
【0023】
2.第1実施例
2.1)無線ノード構成
図7に示すように、本実施例による無線ノード100は無線送受信部101、通信制御部102、CPU等のプログラム制御プロセッサ103、記憶部104、その他図示していない操作部や表示部等を有する。無線送受信部101は、通信制御部102の制御により他の無線ノードあるいはアクセスポイントとの無線通信を実行する。ここでは、アクセスポイントを介して他の無線ノードとの通信を行うインフラストラクチャモードと、アクセスポイントのような無線ノードを介さずに他の無線ノードと通信するアドホックモードとがあり、インフラストラクチャモード/アドホックモードのいずれのモードでも、送信データフレームの再送タイミングその他の規定は同じである。
【0024】
プログラム制御プロセッサ103は、記憶部104に格納されたデータ等を利用して、無線送受信部101および通信制御部102の動作を制御し、図4〜図6で説明したように、隠れ端末問題の発生を検知すると再送間隔設定可能範囲を方式上の最大フレーム転送時間Tfmaxより十分大きな値を上限値とする範囲に変更する。
【0025】
図8に示すように、記憶部104には、本実施例による通信制御で使用する変数および係数、プログラム制御プロセッサ103で実行されるプログラム等が記憶されている。本実施例による通信制御で使用する変数および係数は以下の通りである:隠れ端末の有無(判定結果)を示す状態変数Sn/h(=0あるいは1);平均送信成功率Rats;現送信成功率Rpts;成功率通常復帰閾値THn;成功率隠れ端末閾値THh;通常最小CW値n−CWmin;通常最大CW値n−CWmax;隠れ端末最小CW値h−CWmin;隠れ端末最大CW値h−CWmax;および平滑係数α。以下、本実施例の動作を詳述する。
【0026】
2.2)動作
図9において、データフレーム送信完了処理を実行するプログラム制御プロセッサ103は、隠れ端末の有無を示す状態変数Sn/hの初期値を”1”(通常状態)とし、平均送信成功率Ratsの初期値を”1”(100%)とする。
【0027】
続いて、データフレーム送信完了の通知に伴う正常終了か異常終了かの情報を判定し(ステップ201)、正常終了の場合は現送信成功率Rptsに値”1”を代入し(ステップ202)、正常終了でない場合は現送信成功率Rptsに値”0”を代入する(ステップ203)。
【0028】
次に、プログラム制御プロセッサ103は、現送信成功率Rptsと平均送信成功率Ratsとの指数平滑平均を平滑係数αを用いて計算し、計算結果を平均送信成功率Ratsに代入することで平均送信成功率Ratsを更新する(ステップ204)。すなわち次式(1)により平均送信成功率Ratsを更新する:
Rats=αRpts+(1-α)Rats ・・・ 式(1)。
【0029】
なお、指数平滑平均でなく、単純移動平均あるいは加重移動平均などの平滑化手法を使用してもよい。
【0030】
次に、プログラム制御プロセッサ103は、隠れ端末の有無を示す状態変数Sn/hの値(0/1)と、平均送信成功率Ratsと成功率隠れ端末閾値THhおよび成功率通常復帰閾値THnとの大小関係とを調べることで、隠れ端末問題が発生しているか(あるいは発生しやすい環境であるか)を判定する(ステップ205、206)。まず、状態変数Sn/h=1かつ平均送信成功率Ratsが成功率隠れ端末閾値THhより小さいかどうかを判定する(ステップ205)。
【0031】
Sn/h=1かつRats<THhであれば(ステップ205のYES)、隠れ端末問題発生あるいは発生しやすい環境であると判断し、状態変数Sn/hを隠れ端末状態”0”に遷移させ、再送間隔設定可能範囲の下限CWminおよび上限CWmaxを隠れ端末最小CW値h−CWminおよび隠れ端末最大CW値h−CWmaxにそれぞれ代入する(ステップ207)。
【0032】
Sn/h=1かつRats<THhでなければ(ステップ205のNO)、続いて、状態変数Sn/h=0かつ平均送信成功率Ratsが成功率通常復帰閾値THnより大きいかどうかを判定する(ステップ206)。Sn/h=0かつRats>THnであれば(ステップ206のYES)、通常状態である判定し、状態変数Sn/hを通常状態”1”に遷移させ、再送間隔設定可能範囲の下限CWminおよび上限CWmaxを通常最小CW値n−CWminおよび通常最大CW値n−CWmaxにそれぞれ代入する(ステップ208)。なお、Sn/h=0かつRats>THnでなければ(ステップ206のNO)、現在の状態変数Sn/h、再送間隔設定可能範囲の下限CWminおよび上限CWmaxを変更しない。
【0033】
このように再送間隔設定可能範囲の下限CWminおよび上限CWmaxが設定されると、その範囲内で送信が異常終了する毎にCW値が増大するランダム選択範囲[0,CW]からランダム待ち時間が決定される(ステップ209)。
2.3)効果
上述した本発明の第1実施例によれば、隠れ端末問題が発生しても、再送までの間隔の選択範囲を最大フレーム転送時間Tfmaxより十分大きくすることによりフレーム衝突の繰り返しを有効に回避することができ、無線LAN、特にアドホックネットワークでの隠れ端末問題によるスループットの低下、とくにTCPプロトコルを使用する場合の大きなスループット低下を軽減することができる。すなわち、隠れ端末問題が多発する環境では、各無線ノードのデータフレーム送信間隔が増加してトラフィック量が削減されるので、隠れ端末問題の多発が防止される。さらに、データフレーム送信間隔増加に起因するスループットの低下よりも、データフレーム廃棄によるスループット低下の方が大きい場合が多いので、平均のスループットが向上する。特に、TCPプロトコルではデータフレーム廃棄によるDATAパケット紛失率が高くなるとスループットが著しく低下するので、このようなプロトコルを使用した通信に本実施例を適用することでスループットが著しく改善される。
【0034】
3.第2実施例
隠れ端末問題が発生しやすい環境あるいは使用条件であるかどうかを判定する手段として、CW値そのものを使用することも可能である。図2において述べたように、従来方式では新たなデータフレームを送信するときにCW値をCWminで初期設定していたが、本発明の第2実施例ではこの処理を実行せずに、CW値は前回データフレームを送信したときの最終設定値を引き継ぐ。以下、本発明の他の実施例よる通信制御方法におけるCW値を用いた判定手段について説明する。
【0035】
図10において、フレーム送信完了処理を実行するプログラム制御プロセッサ103は、CWdecを1より小さい正の数値に、CWincを1より大きい数値に設定し、変数CWminを通常最小CW値n−CWminに、変数CWmaxを隠れ端末最大CW値h−CWmaxに初期設定する。
【0036】
プログラム制御プロセッサ103は、データフレームの送信が完了した時点で、正常終了したのか、異常終了すなわちリトライアウトしデータフレームの送信を中止したのかを判定し(ステップ301)、正常終了した場合はCW値をCWdec(<1)倍してCW値を下方に変更し(ステップ302)、異常終了の場合はCW地をCWinc(>1)倍してCW値を上方に変更する(ステップ303)。
【0037】
次に、変更されたCW値が範囲外の値になったときは範囲内に戻す。まず、変更されたCW値がCWminより小さいか判定し(ステップ304)、CW<CWminであれば(ステップ304のYES)、CW値をCWminに戻す(ステップ305)。
【0038】
更に、変更されたCW値がCWmaxより大きいか判定し(ステップ306)、CW>CWmaxであれば(ステップ306のYES)、CW値をCWmaxに戻す(ステップ307)。
【0039】
図11に示すように、本発明の第2実施例によれば、データフレーム送信が成功するCWの最適値は大きいとする。最初のデータフレームはリトライアウトで廃棄されるが、以降の送信フレームはCWの値が最適値の前後で変化するので、少ないリトライ回数でデータフレームの送信が成功する。図2に示す従来方式ではCW値がデータフレーム毎に初期値から増加を開始するので、全てのデータフレームはCWの値が最適値に達しないうちにリトライアウトにより廃棄される。このため、データフレームの転送成功率は著しく低下する。
【0040】
本発明の第2実施例によるデータフレーム送信開始時のCW値の設定処理の結果は、次の処理、すなわち、正常通信できなかった時の待ち時間をランダムに設定可能なランダム設定範囲の上限を通常の場合も隠れ端末問題が発生しやすい環境あるいは使用条件であると判定された場合も共に十分大きな値に設定し、ランダム設定範囲の下限をデータフレームが正常に送れたときに減少させ、データフレーム正常に送れなかったときに増加させる処理、を行ったときの結果と同じである。
【0041】
なお、隠れ端末問題が発生しやすい環境あるいは使用条件であるかどうかを判定する手段としては、上述した平均送信成功率やCW値ではなく、無線LANの構成形態がアドホックモードかインフラストラクチャモードかにより判定することも可能である。上述したように、アドホックモードでの通信は、アドホックネットワークで使われることが多いので隠れ端末問題が発生しやすい使用条件であると判定する。
【0042】
4.付記
上述した実施形態の一部あるいは全部は、以下の付記のようにも記載されうるが、これらに限定されるものではない。
【0043】
(付記1)
最長データフレーム転送に要する時間(以下、最大フレーム転送時間という。)が予め定められた通信システムにおいて他の無線ノードと無線通信可能な無線ノードであって、
隠れ端末問題が発生しやすい環境あるいは使用条件であるか否かを判定する判定手段と、
隠れ端末問題が発生しやすい環境あるいは使用条件であると判定された場合、正常通信できなかった時の待ち時間をランダムに設定可能なランダム設定範囲を変更し、その上限を前記最大フレーム転送時間より長い時間に設定する制御手段と、
を有することを特徴とする無線ノード。
【0044】
(付記2)
前記制御手段は、前記ランダム設定範囲を変更し、その下限を前記最大フレーム転送時間より長い時間に設定することを特徴とする付記1に記載の無線ノード。
【0045】
(付記3)
前記制御手段は、前記ランダム設定範囲の下限をデータフレームが正常に送れたときに減少させ、正常に送れなかったときに増加させる、ことを特徴とする付記1に記載の無線ノード。
【0046】
(付記4)
前記判定手段は、平均送信成功率が所定閾値を下回ったときに隠れ端末問題が発生しやすい環境あるいは使用条件であると判定する、ことを特徴とする付記1または2に記載の無線ノード。
【0047】
(付記5)
前記判定手段は、データフレーム送信の不成功を一定回数以上連続して繰り返すことで、隠れ端末問題が発生しやすい環境あるいは使用条件であると判定する、ことを特徴とする付記1または2に記載の無線ノード。
【0048】
(付記6)
最長データフレーム転送に要する時間(以下、最大フレーム転送時間という。)が予め定められた通信システムにおいて他の無線ノードと無線通信可能な無線ノードの通信制御方法であって、
判定手段が隠れ端末問題が発生しやすい環境あるいは使用条件であるか否かを判定し、
隠れ端末問題が発生しやすい環境あるいは使用条件であると判定された場合、制御手段が、正常通信できなかった時の待ち時間をランダムに設定可能なランダム設定範囲を変更し、その上限を前記最大フレーム転送時間より長い時間に設定する、
ことを特徴とする通信制御方法。
【0049】
(付記7)
前記制御手段は、前記ランダム設定範囲を変更し、その下限を前記最大フレーム転送時間より長い時間に設定することを特徴とする付記6に記載の通信制御方法。
【0050】
(付記8)
前記制御手段は、前記ランダム設定範囲の下限をデータフレームが正常に送れたときに減少させ、正常に送れなかったときに増加させる、ことを特徴とする付記6に記載の通信制御方法。
【0051】
(付記9)
前記判定手段は、平均送信成功率が所定閾値を下回ったときに隠れ端末問題が発生しやすい環境あるいは使用条件であると判定する、ことを特徴とする付記6または7に記載の通信制御方法。
【0052】
(付記10)
前記判定手段は、データフレーム送信の不成功を一定回数以上連続して繰り返すことで、隠れ端末問題が発生しやすい環境あるいは使用条件であると判定する、ことを特徴とする付記6または7に記載の通信制御方法。
【0053】
(付記11)
最長データフレーム転送に要する時間(以下、最大フレーム転送時間という。)が予め定められた通信システムにおいて他の無線ノードと無線通信可能な無線ノードのプログラム制御プロセッサを機能させるためのプログラムであって、
判定手段が隠れ端末問題が発生しやすい環境あるいは使用条件であるか否かを判定し、
隠れ端末問題が発生しやすい環境あるいは使用条件であると判定された場合、制御手段が、正常通信できなかった時の待ち時間をランダムに設定可能なランダム設定範囲を変更し、その上限を前記最大フレーム転送時間より長い時間に設定する、
ように前記プログラム制御プロセッサを機能させることを特徴とするプログラム。
【0054】
(付記12)
前記制御手段は、前記ランダム設定範囲を変更し、その下限を前記最大フレーム転送時間より長い時間に設定することを特徴とする付記11に記載のプログラム。
【0055】
(付記13)
前記制御手段は、前記ランダム設定範囲の下限をデータフレームが正常に送れたときに減少させ、正常に送れなかったときに増加させる、ことを特徴とする付記11に記載のプログラム。
【0056】
(付記14)
前記判定手段は、平均送信成功率が所定閾値を下回ったときに隠れ端末問題が発生しやすい環境あるいは使用条件であると判定する、ことを特徴とする付記11または12に記載のプログラム。
【0057】
(付記15)
前記判定手段は、データフレーム送信の不成功を一定回数以上連続して繰り返すことで、隠れ端末問題が発生しやすい環境あるいは使用条件であると判定する、ことを特徴とする付記11または12に記載のプログラム。
【0058】
(付記16)
付記1−5のいずれか1つに記載の無線ノードにより構成されたローカル無線ネットワーク。
【0059】
(付記17)
付記1−5のいずれか1つに記載の無線ノードにより構成されたアドホックネットワーク。
【産業上の利用可能性】
【0060】
本発明は、アドホックネットワークやセンサーネットワークなど、多数の無線ノードが同一の周波数帯および無線方式を使用して通信するネットワークに適用可能である。
【符号の説明】
【0061】
100 無線ノード
101 無線送受信部
102 通信制御部
103 プログラム制御プロセッサ
104 記憶部
Sn/h 隠れ端末の有無(判定結果)を示す状態変数
Rats 平均送信成功率
Rpts 現送信成功率
THn 成功率通常復帰閾値
THh 成功率隠れ端末閾値
n−CWmin 通常最小CW値
n−CWmax 通常最大CW値
h−CWmin 隠れ端末最小CW値
h−CWmax 隠れ端末最大CW値
α 平滑係数
【技術分野】
【0001】
本発明はローカル無線ネットワークに係り、特に隠れ端末問題が発生しうる環境における通信制御方法およびそれを用いた無線ノードに関する。
【背景技術】
【0002】
周知のように、無線LAN(Local Area Network)では、電波を伝える媒体である空間を多数の無線ノードが共有するためにCSMA−CA(Carrier Sense Multiple Access - Collision Avoidance)と呼ばれる多重アクセス制御方式が採用されている。すなわち、ある無線ノードがデータフレームを送信するときは、まずキャリアセンスを行い、空きと判断されるとデータフレームを送信し、相手側の無線ノードからACKフレームを受信すれば送信処理は完了する。キャリアセンスで空きと判断されデータフレームを送信したにも拘わらず、相手からACKフレームを受信できないときは、ランダムに決められた待ち時間(Backoff Time)の経過を待ってからデータフレームを再送する。ランダムな待ち時間が設定されることで、他の無線ノードによるデータフレーム送信との衝突の可能性をできるだけ低くすることができる。
【0003】
ところが、無線LANでは、無線の使用場所や環境によって無線ノード同士の電波が届かない場合があり、その結果、データフレーム衝突が頻発してスループットが大きく低下する「隠れ端末問題」の存在が知られている。たとえば、図1に示すように、無線ノードAおよびBが互いに電波が届く範囲にあり、無線ノードBおよびCも互いに電波が届く範囲にあるが、無線ノードAおよびCは互いに電波が届かないという状況が存在する。この場合、無線ノードAが無線ノードBに対してデータ送信中であっても、無線ノードCは無線ノードBがデータ受信中であることを検知できない。したがって、無線ノードCは、キャリアセンスにより空きと判断し、無線ノードBあるいはDへデータフレームを送信してしまう。その結果、無線ノードAからのデータフレームと無線ノードCからのデータフレームとが衝突し、無線ノードBはいずれのデータフレームも受信できない。
【0004】
このような「隠れ端末問題」の発生を抑えるために、IEEE802.11ではRTS/CTSフレームを用いたCSMA−CA方式が採用されている。具体的には、図1において、無線ノードAはデータを送信する前に,送信相手である無線ノードBにRTS(request to send:送信要求)フレームを送信し、RTSフレームを受信した無線ノードBは、それに対してCTS(clear to send:受信準備完了)フレームを返信する。無線ノードCは無線ノードBからの電波は届くのでCTSフレームを検知することができる。従って、無線ノードCは、RTSフレームを送信していないのにCTSフレームを受信すれば、当該無線ノードBが他の端末(無線ノードCからは見えない無線ノードA)からデータを受信するものと判断することができ、当該CTSフレームの情報からデータ送信完了時間を計算し、それまでデータ送信を延期することでフレーム衝突を回避することができる。
【0005】
しかしながら、実際には、CSMA−CAおよびRTS/CTS対策が設計どおりの機能を果たせないことが知られており、特にアドホックネットワークではRTS/CTS方式を用いても隠れ端末問題を完全に解消することが困難である。このような隠れ端末問題を解消しようとする方法がいくつか提案がされている。たとえば特許文献1では、RTS/CTS方式を併用したランダムアクセス制御において、無線ノードがアクセス開始してから送信可能になるまでのフレーム間隔を優先順位ごとに異なるように設定し、優先順位の上下によるフレーム間隔の差をRTS送信からCTS受信までの所要時間以上に設定する。これによって、図1における無線ノードCは、隠れ端末である無線ノードAがRTS送信し、これに無線ノードBがCTS送信で応答したことを知ることが可能となる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−041627号公報
【非特許文献】
【0007】
【非特許文献1】IEEE STD 802.11-2007 (Wireless LAN Medium Access Control(MAC) and Physical Layer(PHY) specifications)
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上記特許文献1のように優先順位によりフレーム間隔に差を持たせる方法ではデータの送信効率の低下を避けることができない。周知のように、ランダム待ち時間は、0とCW(Contention Window)と呼ばれる変数値との間でランダムに選択された数と単位時間との乗算により求められる。ただし、このCWは2つの固定値(最小CWminと最大CWmax)の間の数値である。具体的には、図2に示すように、CW値は、送信するフレーム毎に決められ、初期値はCWminであり、データフレームが正常に届かずACK待ちでタイムアウトが発生する毎に直前のCW値が2倍される。ただし、CW値は最大CWmaxを超えない(非特許文献1の「9.2.4 Random backoff time」の項を参照)。このようにCW値に上限値(CWmax)があるので、一度、隠れ端末問題が発生すると、どちらかの送信無線ノードが再送をあきらめるまでフレームの衝突を繰り返す可能性が高い。
【0009】
周知のように、ランダム待ち時間は、0とCW(Contention Window)と呼ばれる変数値との間でランダムに選択された数と単位時間との乗算により求められる。ただし、このCWは2つの固定値(最小CWminと最大CWmax)の間の数値である。具体的には、図2に示すように、CW値は、送信するフレーム毎に決められ、初期値はCWminであり、データフレームが正常に届かずACK待ちでタイムアウトが発生する毎に直前のCW値が2倍される。ただし、CW値は最大CWmaxを超えない(非特許文献1の「9.2.4 Random backoff time」の項を参照)。このようにCW値に上限値(CWmax)があるので、一度、隠れ端末問題が発生すると、どちらかの送信無線ノードが再送をあきらめるまでフレームの衝突を繰り返す可能性が高い。
【0010】
特にアドホックネットワークでは、広い範囲に配置されている多くの無線ノードが同一の周波数、電波形式で自律分散的に通信を行うので、アドホックネットワークでTCPプロトコルを使用する場合にスループットの低下が大きい。TCPプロトコルを使用する場合、DATAパケットに対して送達確認のACKパケットが返送されるが、アドホックネットワークでACKパケットを中継転送する経路はDATAパケットを中継転送するのと同じ経路の反対方向になるのが一般的である。従って、DATAパケットを運ぶデータフレームとACKパケットを運ぶデータフレームが同じ経路を反対方向に進むのでぶつかり合う場合が多くなり、このために隠れ端末問題が発生しやすくなる。また、DATAパケットを運ぶデータフレームとACKパケットを運ぶデータフレームが反対方向に進み、この2つのフレーム間で隠れ端末問題が発生すると、DATAパケットを運ぶデータフレームまたはACKパケットを運ぶデータフレームのどちらかが廃棄されDATAパケットまたはACKパケットのどちらかが紛失する。TCPプロトコルはDATAパケットの紛失率が高くなると、DATAパケットの再送とACKパケット待ちのタイムアウトを繰り返すのでスループットが著しく低下する。この現象を図3を用いて具体的に説明する。
図3に示すように5個の無線ノードA−Eが一直線に隣接ノードとの距離が無線方式上の最大到達距離よりも少し短い距離だけ離れて配置されているアドホックネットワークを考える。
いま無線ノードAから無線ノードEにTCPプロトコルを使用して大量のデータを転送しているとする。無線ノードAから無線ノードBへ送るDATAパケットを運ぶデータフレームと無線ノードEから無線ノードDへ送るACKパケットを運ぶデータフレームがほぼ同時に送信されようとしているものとする。このようなタイミングでDATAパケットを運ぶデータフレームとACKパケットを運ぶデータフレームを送ろうとすることはよく発生する事象である。
無線ノードAからのRTSフレームおよび無線ノードBからのCTSフレ−ムは距離の関係から無線ノードDでは正常に受信できない。続いて、無線ノードAから無線ノードBあてのDATAパケットを運ぶデータフレームの送信が開始されるが、これも無線ノードDは正常に受信できない。同様にRTS−CTS手順を行った後に、無線ノードEから無線ノードDへのACKパケットを運ぶデータフレームの転送も開始される。
ここで、電波の強さが距離の2乗に反比例するとすれば、無線ノードDでは無線ノードEから受信中のACKパケットを運ぶデータフレームに対して、無線ノードAから無線ノードBあてのDATAパケットを運ぶデータフレームが、強さが1/9の雑音として届く。この雑音の強さは、受信中のACKパケットを運ぶデータフレームに対してビット誤りを引き起こすのに十分な強さである。DATAパケットを運ぶデータフレームとACKパケットを運ぶデータフレームのフレーム長はRTSフレームやCTSフレームのフレーム長に比べて大きいので、RTSフレームやCTSフレームは正常に届き、次にDATAパケットを運ぶデータフレームあるいはACKパケットを運ぶデータフレームを送り始めるとビットエラーが発生して正常に届かない事象が発生する確率は高くなる。
以上の例から、無線ノードAから無線ノードBあてのDATAパケットを運ぶデータフレームと無線ノードEから無線ノードDへのACKパケットを運ぶデータフレームは互いに隠れ端末問題を引き起こし、しかもRTS−CTS手順でも防げない事がわかる。
【0011】
そこで、本発明の目的は、隠れ端末問題によるデータフレーム衝突の繰り返しを回避してスループット低下を軽減することができる新たな通信制御方法およびそれを用いた無線ノードを提供することにある。
【課題を解決するための手段】
【0012】
本発明による無線ノードは、最長データフレーム転送に要する時間(以下、最大フレーム転送時間という。)が予め定められた通信システムにおいて他の無線ノードと無線通信可能な無線ノードであって、隠れ端末問題が発生しやすい環境あるいは使用条件であるか否かを判定する判定手段と、隠れ端末問題が発生しやすい環境あるいは使用条件であると判定された場合、正常通信できなかった時の待ち時間をランダムに設定可能なランダム設定範囲を変更し、その上限を前記最大フレーム転送時間より長い時間に設定する制御手段と、を有することを特徴とする。
【0013】
本発明による通信制御方法は、最長データフレーム転送に要する時間(以下、最大フレーム転送時間という。)が予め定められた通信システムにおいて他の無線ノードと無線通信可能な無線ノードの通信制御方法であって、判定手段が隠れ端末問題が発生しやすい環境あるいは使用条件であるか否かを判定し、隠れ端末問題が発生しやすい環境あるいは使用条件であると判定された場合、制御手段が、正常通信できなかった時の待ち時間をランダムに設定可能なランダム設定範囲を変更し、その上限を前記最大フレーム転送時間より長い時間に設定する、ことを特徴とする。
【発明の効果】
【0014】
本発明によれば、隠れ端末問題によるデータフレーム衝突の繰り返しを回避してスループット低下を軽減することができる。
【図面の簡単な説明】
【0015】
【図1】隠れ端末問題を説明するためのアドホックネットワークの一例を示す端末配置図である。
【図2】規定CW値の変化を示すグラフである。
【図3】隠れ端末問題を説明するためのアドホックネットワークの他の例を示す端末配置図である。
【図4】本発明の一実施形態による通信制御方法におけるランダム待ち時間の決定手順を示すフローチャートである。
【図5】本実施形態によるCW値の変化の一例を示すグラフである。
【図6】本実施形態による通信制御方法を適用したアドホックネットワークにおける周囲の無線ノード数が多い環境での各無線ノードの状態遷移とデータフレーム転送成功率の変化との関係を説明するための状態遷移図である。
【図7】本発明の第1実施例による無線ノードの内部構成を示すブロック図である。
【図8】第1実施例において使用される変数および定数を格納した記憶部の模式図である。
【図9】第1実施例による通信制御方法におけるデータフレーム送信完了処理を示すフローチャートである。
【図10】本発明の第2実施例による通信制御方法におけるデータフレーム送信完了処理を示すフローチャートである。
【図11】第2実施例によるCW値の変化の一例を示すグラフである。
【発明を実施するための形態】
【0016】
本発明によれば、ローカル無線ネットワークを構成する無線通信端末(以下、無線ノードという。)が隠れ端末問題が発生しやすい環境にある場合、正常送信ができなかった時のランダム待ち時間をランダムに設定可能なランダム設定範囲を変更し、その上限値を当該システムで規定されている最大長フレームの転送に必要な時間(以下、最大フレーム転送時間Tfmaxという)より十分大きな値に設定する。このような制御により、データフレームが衝突を繰り返す可能性を低減させることができ、ネットワークのスループットの低下を抑制することが可能である。以下、本発明の一実施形態および一実施例について詳細に説明する。
【0017】
1.一実施形態
無線ノードが図1に示すようなローカル無線ネットワーク、特にアドホックネットワークを構成する場合、上述したように隠れ端末問題が生じやすくなる。隠れ端末問題の発生はデータフレーム衝突が頻発しているか否かにより判断することができるので、送信成功率をモニタすることで判定可能である。
【0018】
図4に示すように、隠れ端末問題の発生を検知すると(ステップ11のYES)、無線ノードはランダム待ち時間(あるいはデータフレームが正常に送れなかった時に次の再送のためのキャリアセンスを開始するまでの時間)を設定可能な範囲(以下、再送間隔設定可能範囲という。)を変更し、その上限を方式上の最大フレーム転送時間Tfmaxより十分大きな値に設定する(ステップ13)。隠れ端末問題の発生が検知されなければ(ステップ11のNO)、ランダム待ち時間を選択するランダム選択範囲を設定可能な再送間隔設定可能範囲はシステムに予め設定された通常の上限値および下限値に設定される。こうして設定された再送間隔設定可能範囲内のランダム選択範囲内でランダム待ち時間が決定される(ステップ14)。
【0019】
上述したように、ランダム待ち時間は0とCW(Contention Window)値との間でランダムに選択された数と単位時間との乗算により求められるので、以下、再送間隔設定可能範囲内のランダム選択範囲を[0,CW]におけるCW値の設定問題として説明する。
【0020】
図5に示すように、通常時のCW値はn−CWminとn−CWmaxとの間の数値となり、送信に成功しない限り初期値n−CWminからリトライする毎にCW値が2倍される。ここでは、リトライアウトを連続して一定回数以上繰り返すことで、隠れ端末問題が発生した(あるいは発生しやすい環境)と判断されるものとする。
【0021】
具体的には、図5に示すように、隠れ端末問題発生と判断した時点から、CW値の上限を最大フレーム転送時間Tfmaxより十分長い時間に対応するh−CWmaxに、下限をn−CWmaxより大きいh−CWminに、それぞれ設定する。次のデータフレーム送信に当たってはCW値はh−CWminから開始される。ここでは、リトライ無しで1度で送信が成功することが一定回数以上繰り返すことで、通常状態と判定しCW値の上限および下限を規定のn−CWmaxおよびn−CWminに戻すものとする。図5では1度めは送信に成功せず2度目に送信に成功している場合が連続しているので、隠れ端末問題が発生した(あるいは発生しやすい環境)と判断されつづけている。
上述の動作により、各無線ノードは、CWの値が通常の範囲にある状態と、CWの値が大きな値の範囲にある状態との2つの状態を持つ。それぞれの状態にある無線ノードが全無線ノードに占める割合が変わると、データフレーム送信から次のデータフレーム送信までの時間間隔(以下データフレーム送信間隔という)の全無線ノードの平均値が変わってくるのでデータフレーム衝突の発生頻度が変化する。
図6は周囲の無線ノード数が多い環境での各無線ノードの状態遷移とデータフレーム転送成功率(以下転送成功率)の変化との関係を図示したものである。各無線ノードは通信開始時はCWが「通常」の状態にある。多くの無線ノードがこの状態にあると平均のデータフレーム送信間隔が短いので、データフレーム衝突が多発し転送成功率が低くなる。このため、隠れ端末問題発生と判断する無線ノードが増え、CW範囲が大きい状態に遷移する無線ノードが増加する。
CW範囲が大きい状態の無線ノードが増加すると、全体の平均データフレーム送信間隔は増加するので、データフレーム衝突の発生が低下し転送成功率は高くなる。すると、隠れ端末問題は無くなったと判断する無線ノードが増える。最終的にはCW範囲が普通である無線ノードの数とCW範囲が大である無線ノードの数の比は安定することが期待される。この結果、全無線ノードの平均データフレーム送信間隔が大きくなるため、無線ノード全体のデータフレーム転送成功率は改善される。
【0022】
このように、本実施形態によれば、一度隠れ端末問題が発生しても、再送までの間隔の選択範囲を最大フレーム転送時間Tfmaxより十分大きくすることによりデータフレーム衝突の繰り返しを有効に回避することができ、無線LAN、特にアドホックネットワークでの隠れ端末問題によるスループットの低下、とくにTCPプロトコルを使用する場合の大きなスループット低下を軽減することができる。すなわち、隠れ端末問題が多発する環境では、各無線ノードのデータフレーム送信間隔が増加してトラフィック量が削減されるので、隠れ端末問題の多発が防止される。さらに、データフレーム送信間隔増加に起因するスループットの低下よりも、データフレーム廃棄によるスループット低下の方が大きい場合が多いので、平均のスループットが向上する。特に、TCPプロトコルではデータフレーム廃棄によるDATAパケット紛失率が高くなるとスループットが著しく低下するので、このようなプロトコルを使用した通信に本実施形態を適用することでスループットが著しく改善される。
【0023】
2.第1実施例
2.1)無線ノード構成
図7に示すように、本実施例による無線ノード100は無線送受信部101、通信制御部102、CPU等のプログラム制御プロセッサ103、記憶部104、その他図示していない操作部や表示部等を有する。無線送受信部101は、通信制御部102の制御により他の無線ノードあるいはアクセスポイントとの無線通信を実行する。ここでは、アクセスポイントを介して他の無線ノードとの通信を行うインフラストラクチャモードと、アクセスポイントのような無線ノードを介さずに他の無線ノードと通信するアドホックモードとがあり、インフラストラクチャモード/アドホックモードのいずれのモードでも、送信データフレームの再送タイミングその他の規定は同じである。
【0024】
プログラム制御プロセッサ103は、記憶部104に格納されたデータ等を利用して、無線送受信部101および通信制御部102の動作を制御し、図4〜図6で説明したように、隠れ端末問題の発生を検知すると再送間隔設定可能範囲を方式上の最大フレーム転送時間Tfmaxより十分大きな値を上限値とする範囲に変更する。
【0025】
図8に示すように、記憶部104には、本実施例による通信制御で使用する変数および係数、プログラム制御プロセッサ103で実行されるプログラム等が記憶されている。本実施例による通信制御で使用する変数および係数は以下の通りである:隠れ端末の有無(判定結果)を示す状態変数Sn/h(=0あるいは1);平均送信成功率Rats;現送信成功率Rpts;成功率通常復帰閾値THn;成功率隠れ端末閾値THh;通常最小CW値n−CWmin;通常最大CW値n−CWmax;隠れ端末最小CW値h−CWmin;隠れ端末最大CW値h−CWmax;および平滑係数α。以下、本実施例の動作を詳述する。
【0026】
2.2)動作
図9において、データフレーム送信完了処理を実行するプログラム制御プロセッサ103は、隠れ端末の有無を示す状態変数Sn/hの初期値を”1”(通常状態)とし、平均送信成功率Ratsの初期値を”1”(100%)とする。
【0027】
続いて、データフレーム送信完了の通知に伴う正常終了か異常終了かの情報を判定し(ステップ201)、正常終了の場合は現送信成功率Rptsに値”1”を代入し(ステップ202)、正常終了でない場合は現送信成功率Rptsに値”0”を代入する(ステップ203)。
【0028】
次に、プログラム制御プロセッサ103は、現送信成功率Rptsと平均送信成功率Ratsとの指数平滑平均を平滑係数αを用いて計算し、計算結果を平均送信成功率Ratsに代入することで平均送信成功率Ratsを更新する(ステップ204)。すなわち次式(1)により平均送信成功率Ratsを更新する:
Rats=αRpts+(1-α)Rats ・・・ 式(1)。
【0029】
なお、指数平滑平均でなく、単純移動平均あるいは加重移動平均などの平滑化手法を使用してもよい。
【0030】
次に、プログラム制御プロセッサ103は、隠れ端末の有無を示す状態変数Sn/hの値(0/1)と、平均送信成功率Ratsと成功率隠れ端末閾値THhおよび成功率通常復帰閾値THnとの大小関係とを調べることで、隠れ端末問題が発生しているか(あるいは発生しやすい環境であるか)を判定する(ステップ205、206)。まず、状態変数Sn/h=1かつ平均送信成功率Ratsが成功率隠れ端末閾値THhより小さいかどうかを判定する(ステップ205)。
【0031】
Sn/h=1かつRats<THhであれば(ステップ205のYES)、隠れ端末問題発生あるいは発生しやすい環境であると判断し、状態変数Sn/hを隠れ端末状態”0”に遷移させ、再送間隔設定可能範囲の下限CWminおよび上限CWmaxを隠れ端末最小CW値h−CWminおよび隠れ端末最大CW値h−CWmaxにそれぞれ代入する(ステップ207)。
【0032】
Sn/h=1かつRats<THhでなければ(ステップ205のNO)、続いて、状態変数Sn/h=0かつ平均送信成功率Ratsが成功率通常復帰閾値THnより大きいかどうかを判定する(ステップ206)。Sn/h=0かつRats>THnであれば(ステップ206のYES)、通常状態である判定し、状態変数Sn/hを通常状態”1”に遷移させ、再送間隔設定可能範囲の下限CWminおよび上限CWmaxを通常最小CW値n−CWminおよび通常最大CW値n−CWmaxにそれぞれ代入する(ステップ208)。なお、Sn/h=0かつRats>THnでなければ(ステップ206のNO)、現在の状態変数Sn/h、再送間隔設定可能範囲の下限CWminおよび上限CWmaxを変更しない。
【0033】
このように再送間隔設定可能範囲の下限CWminおよび上限CWmaxが設定されると、その範囲内で送信が異常終了する毎にCW値が増大するランダム選択範囲[0,CW]からランダム待ち時間が決定される(ステップ209)。
2.3)効果
上述した本発明の第1実施例によれば、隠れ端末問題が発生しても、再送までの間隔の選択範囲を最大フレーム転送時間Tfmaxより十分大きくすることによりフレーム衝突の繰り返しを有効に回避することができ、無線LAN、特にアドホックネットワークでの隠れ端末問題によるスループットの低下、とくにTCPプロトコルを使用する場合の大きなスループット低下を軽減することができる。すなわち、隠れ端末問題が多発する環境では、各無線ノードのデータフレーム送信間隔が増加してトラフィック量が削減されるので、隠れ端末問題の多発が防止される。さらに、データフレーム送信間隔増加に起因するスループットの低下よりも、データフレーム廃棄によるスループット低下の方が大きい場合が多いので、平均のスループットが向上する。特に、TCPプロトコルではデータフレーム廃棄によるDATAパケット紛失率が高くなるとスループットが著しく低下するので、このようなプロトコルを使用した通信に本実施例を適用することでスループットが著しく改善される。
【0034】
3.第2実施例
隠れ端末問題が発生しやすい環境あるいは使用条件であるかどうかを判定する手段として、CW値そのものを使用することも可能である。図2において述べたように、従来方式では新たなデータフレームを送信するときにCW値をCWminで初期設定していたが、本発明の第2実施例ではこの処理を実行せずに、CW値は前回データフレームを送信したときの最終設定値を引き継ぐ。以下、本発明の他の実施例よる通信制御方法におけるCW値を用いた判定手段について説明する。
【0035】
図10において、フレーム送信完了処理を実行するプログラム制御プロセッサ103は、CWdecを1より小さい正の数値に、CWincを1より大きい数値に設定し、変数CWminを通常最小CW値n−CWminに、変数CWmaxを隠れ端末最大CW値h−CWmaxに初期設定する。
【0036】
プログラム制御プロセッサ103は、データフレームの送信が完了した時点で、正常終了したのか、異常終了すなわちリトライアウトしデータフレームの送信を中止したのかを判定し(ステップ301)、正常終了した場合はCW値をCWdec(<1)倍してCW値を下方に変更し(ステップ302)、異常終了の場合はCW地をCWinc(>1)倍してCW値を上方に変更する(ステップ303)。
【0037】
次に、変更されたCW値が範囲外の値になったときは範囲内に戻す。まず、変更されたCW値がCWminより小さいか判定し(ステップ304)、CW<CWminであれば(ステップ304のYES)、CW値をCWminに戻す(ステップ305)。
【0038】
更に、変更されたCW値がCWmaxより大きいか判定し(ステップ306)、CW>CWmaxであれば(ステップ306のYES)、CW値をCWmaxに戻す(ステップ307)。
【0039】
図11に示すように、本発明の第2実施例によれば、データフレーム送信が成功するCWの最適値は大きいとする。最初のデータフレームはリトライアウトで廃棄されるが、以降の送信フレームはCWの値が最適値の前後で変化するので、少ないリトライ回数でデータフレームの送信が成功する。図2に示す従来方式ではCW値がデータフレーム毎に初期値から増加を開始するので、全てのデータフレームはCWの値が最適値に達しないうちにリトライアウトにより廃棄される。このため、データフレームの転送成功率は著しく低下する。
【0040】
本発明の第2実施例によるデータフレーム送信開始時のCW値の設定処理の結果は、次の処理、すなわち、正常通信できなかった時の待ち時間をランダムに設定可能なランダム設定範囲の上限を通常の場合も隠れ端末問題が発生しやすい環境あるいは使用条件であると判定された場合も共に十分大きな値に設定し、ランダム設定範囲の下限をデータフレームが正常に送れたときに減少させ、データフレーム正常に送れなかったときに増加させる処理、を行ったときの結果と同じである。
【0041】
なお、隠れ端末問題が発生しやすい環境あるいは使用条件であるかどうかを判定する手段としては、上述した平均送信成功率やCW値ではなく、無線LANの構成形態がアドホックモードかインフラストラクチャモードかにより判定することも可能である。上述したように、アドホックモードでの通信は、アドホックネットワークで使われることが多いので隠れ端末問題が発生しやすい使用条件であると判定する。
【0042】
4.付記
上述した実施形態の一部あるいは全部は、以下の付記のようにも記載されうるが、これらに限定されるものではない。
【0043】
(付記1)
最長データフレーム転送に要する時間(以下、最大フレーム転送時間という。)が予め定められた通信システムにおいて他の無線ノードと無線通信可能な無線ノードであって、
隠れ端末問題が発生しやすい環境あるいは使用条件であるか否かを判定する判定手段と、
隠れ端末問題が発生しやすい環境あるいは使用条件であると判定された場合、正常通信できなかった時の待ち時間をランダムに設定可能なランダム設定範囲を変更し、その上限を前記最大フレーム転送時間より長い時間に設定する制御手段と、
を有することを特徴とする無線ノード。
【0044】
(付記2)
前記制御手段は、前記ランダム設定範囲を変更し、その下限を前記最大フレーム転送時間より長い時間に設定することを特徴とする付記1に記載の無線ノード。
【0045】
(付記3)
前記制御手段は、前記ランダム設定範囲の下限をデータフレームが正常に送れたときに減少させ、正常に送れなかったときに増加させる、ことを特徴とする付記1に記載の無線ノード。
【0046】
(付記4)
前記判定手段は、平均送信成功率が所定閾値を下回ったときに隠れ端末問題が発生しやすい環境あるいは使用条件であると判定する、ことを特徴とする付記1または2に記載の無線ノード。
【0047】
(付記5)
前記判定手段は、データフレーム送信の不成功を一定回数以上連続して繰り返すことで、隠れ端末問題が発生しやすい環境あるいは使用条件であると判定する、ことを特徴とする付記1または2に記載の無線ノード。
【0048】
(付記6)
最長データフレーム転送に要する時間(以下、最大フレーム転送時間という。)が予め定められた通信システムにおいて他の無線ノードと無線通信可能な無線ノードの通信制御方法であって、
判定手段が隠れ端末問題が発生しやすい環境あるいは使用条件であるか否かを判定し、
隠れ端末問題が発生しやすい環境あるいは使用条件であると判定された場合、制御手段が、正常通信できなかった時の待ち時間をランダムに設定可能なランダム設定範囲を変更し、その上限を前記最大フレーム転送時間より長い時間に設定する、
ことを特徴とする通信制御方法。
【0049】
(付記7)
前記制御手段は、前記ランダム設定範囲を変更し、その下限を前記最大フレーム転送時間より長い時間に設定することを特徴とする付記6に記載の通信制御方法。
【0050】
(付記8)
前記制御手段は、前記ランダム設定範囲の下限をデータフレームが正常に送れたときに減少させ、正常に送れなかったときに増加させる、ことを特徴とする付記6に記載の通信制御方法。
【0051】
(付記9)
前記判定手段は、平均送信成功率が所定閾値を下回ったときに隠れ端末問題が発生しやすい環境あるいは使用条件であると判定する、ことを特徴とする付記6または7に記載の通信制御方法。
【0052】
(付記10)
前記判定手段は、データフレーム送信の不成功を一定回数以上連続して繰り返すことで、隠れ端末問題が発生しやすい環境あるいは使用条件であると判定する、ことを特徴とする付記6または7に記載の通信制御方法。
【0053】
(付記11)
最長データフレーム転送に要する時間(以下、最大フレーム転送時間という。)が予め定められた通信システムにおいて他の無線ノードと無線通信可能な無線ノードのプログラム制御プロセッサを機能させるためのプログラムであって、
判定手段が隠れ端末問題が発生しやすい環境あるいは使用条件であるか否かを判定し、
隠れ端末問題が発生しやすい環境あるいは使用条件であると判定された場合、制御手段が、正常通信できなかった時の待ち時間をランダムに設定可能なランダム設定範囲を変更し、その上限を前記最大フレーム転送時間より長い時間に設定する、
ように前記プログラム制御プロセッサを機能させることを特徴とするプログラム。
【0054】
(付記12)
前記制御手段は、前記ランダム設定範囲を変更し、その下限を前記最大フレーム転送時間より長い時間に設定することを特徴とする付記11に記載のプログラム。
【0055】
(付記13)
前記制御手段は、前記ランダム設定範囲の下限をデータフレームが正常に送れたときに減少させ、正常に送れなかったときに増加させる、ことを特徴とする付記11に記載のプログラム。
【0056】
(付記14)
前記判定手段は、平均送信成功率が所定閾値を下回ったときに隠れ端末問題が発生しやすい環境あるいは使用条件であると判定する、ことを特徴とする付記11または12に記載のプログラム。
【0057】
(付記15)
前記判定手段は、データフレーム送信の不成功を一定回数以上連続して繰り返すことで、隠れ端末問題が発生しやすい環境あるいは使用条件であると判定する、ことを特徴とする付記11または12に記載のプログラム。
【0058】
(付記16)
付記1−5のいずれか1つに記載の無線ノードにより構成されたローカル無線ネットワーク。
【0059】
(付記17)
付記1−5のいずれか1つに記載の無線ノードにより構成されたアドホックネットワーク。
【産業上の利用可能性】
【0060】
本発明は、アドホックネットワークやセンサーネットワークなど、多数の無線ノードが同一の周波数帯および無線方式を使用して通信するネットワークに適用可能である。
【符号の説明】
【0061】
100 無線ノード
101 無線送受信部
102 通信制御部
103 プログラム制御プロセッサ
104 記憶部
Sn/h 隠れ端末の有無(判定結果)を示す状態変数
Rats 平均送信成功率
Rpts 現送信成功率
THn 成功率通常復帰閾値
THh 成功率隠れ端末閾値
n−CWmin 通常最小CW値
n−CWmax 通常最大CW値
h−CWmin 隠れ端末最小CW値
h−CWmax 隠れ端末最大CW値
α 平滑係数
【特許請求の範囲】
【請求項1】
最長データフレーム転送に要する時間(以下、最大フレーム転送時間という。)が予め定められた通信システムにおいて他の無線ノードと無線通信可能な無線ノードであって、
隠れ端末問題が発生しやすい環境あるいは使用条件であるか否かを判定する判定手段と、
隠れ端末問題が発生しやすい環境あるいは使用条件であると判定された場合、正常通信できなかった時の待ち時間をランダムに設定可能なランダム設定範囲を変更し、その上限を前記最大フレーム転送時間より長い時間に設定する制御手段と、
を有することを特徴とする無線ノード。
【請求項2】
前記制御手段は、前記ランダム設定範囲を変更し、その下限を前記最大フレーム転送時間より長い時間に設定することを特徴とする請求項1に記載の無線ノード。
【請求項3】
前記制御手段は、前記ランダム設定範囲の下限をデータフレームが正常に送れたときに減少させ、正常に送れなかったときに増加させる、ことを特徴とする請求項1に記載の無線ノード。
【請求項4】
前記判定手段は、平均送信成功率が所定閾値を下回ったときに隠れ端末問題が発生しやすい環境あるいは使用条件であると判定する、ことを特徴とする請求項1または2に記載の無線ノード。
【請求項5】
前記判定手段は、データフレーム送信の不成功を一定回数以上連続して繰り返すことで、隠れ端末問題が発生しやすい環境あるいは使用条件であると判定する、ことを特徴とする請求項1または2に記載の無線ノード。
【請求項6】
最長データフレーム転送に要する時間(以下、最大フレーム転送時間という。)が予め定められた通信システムにおいて他の無線ノードと無線通信可能な無線ノードの通信制御方法であって、
判定手段が隠れ端末問題が発生しやすい環境あるいは使用条件であるか否かを判定し、
隠れ端末問題が発生しやすい環境あるいは使用条件であると判定された場合、制御手段が、正常通信できなかった時の待ち時間をランダムに設定可能なランダム設定範囲を変更し、その上限を前記最大フレーム転送時間より長い時間に設定する、
ことを特徴とする通信制御方法。
【請求項7】
最長データフレーム転送に要する時間(以下、最大フレーム転送時間という。)が予め定められた通信システムにおいて他の無線ノードと無線通信可能な無線ノードのプログラム制御プロセッサを機能させるためのプログラムであって、
判定手段が隠れ端末問題が発生しやすい環境あるいは使用条件であるか否かを判定し、
隠れ端末問題が発生しやすい環境あるいは使用条件であると判定された場合、制御手段が、正常通信できなかった時の待ち時間をランダムに設定可能なランダム設定範囲を変更し、その上限を前記最大フレーム転送時間より長い時間に設定する、
ように前記プログラム制御プロセッサを機能させることを特徴とするプログラム。
【請求項8】
請求項1−5のいずれか1項に記載の無線ノードにより構成されたローカル無線ネットワーク。
【請求項9】
請求項1−5のいずれか1項に記載の無線ノードにより構成されたアドホックネットワーク。
【請求項1】
最長データフレーム転送に要する時間(以下、最大フレーム転送時間という。)が予め定められた通信システムにおいて他の無線ノードと無線通信可能な無線ノードであって、
隠れ端末問題が発生しやすい環境あるいは使用条件であるか否かを判定する判定手段と、
隠れ端末問題が発生しやすい環境あるいは使用条件であると判定された場合、正常通信できなかった時の待ち時間をランダムに設定可能なランダム設定範囲を変更し、その上限を前記最大フレーム転送時間より長い時間に設定する制御手段と、
を有することを特徴とする無線ノード。
【請求項2】
前記制御手段は、前記ランダム設定範囲を変更し、その下限を前記最大フレーム転送時間より長い時間に設定することを特徴とする請求項1に記載の無線ノード。
【請求項3】
前記制御手段は、前記ランダム設定範囲の下限をデータフレームが正常に送れたときに減少させ、正常に送れなかったときに増加させる、ことを特徴とする請求項1に記載の無線ノード。
【請求項4】
前記判定手段は、平均送信成功率が所定閾値を下回ったときに隠れ端末問題が発生しやすい環境あるいは使用条件であると判定する、ことを特徴とする請求項1または2に記載の無線ノード。
【請求項5】
前記判定手段は、データフレーム送信の不成功を一定回数以上連続して繰り返すことで、隠れ端末問題が発生しやすい環境あるいは使用条件であると判定する、ことを特徴とする請求項1または2に記載の無線ノード。
【請求項6】
最長データフレーム転送に要する時間(以下、最大フレーム転送時間という。)が予め定められた通信システムにおいて他の無線ノードと無線通信可能な無線ノードの通信制御方法であって、
判定手段が隠れ端末問題が発生しやすい環境あるいは使用条件であるか否かを判定し、
隠れ端末問題が発生しやすい環境あるいは使用条件であると判定された場合、制御手段が、正常通信できなかった時の待ち時間をランダムに設定可能なランダム設定範囲を変更し、その上限を前記最大フレーム転送時間より長い時間に設定する、
ことを特徴とする通信制御方法。
【請求項7】
最長データフレーム転送に要する時間(以下、最大フレーム転送時間という。)が予め定められた通信システムにおいて他の無線ノードと無線通信可能な無線ノードのプログラム制御プロセッサを機能させるためのプログラムであって、
判定手段が隠れ端末問題が発生しやすい環境あるいは使用条件であるか否かを判定し、
隠れ端末問題が発生しやすい環境あるいは使用条件であると判定された場合、制御手段が、正常通信できなかった時の待ち時間をランダムに設定可能なランダム設定範囲を変更し、その上限を前記最大フレーム転送時間より長い時間に設定する、
ように前記プログラム制御プロセッサを機能させることを特徴とするプログラム。
【請求項8】
請求項1−5のいずれか1項に記載の無線ノードにより構成されたローカル無線ネットワーク。
【請求項9】
請求項1−5のいずれか1項に記載の無線ノードにより構成されたアドホックネットワーク。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−209768(P2012−209768A)
【公開日】平成24年10月25日(2012.10.25)
【国際特許分類】
【出願番号】特願2011−73981(P2011−73981)
【出願日】平成23年3月30日(2011.3.30)
【出願人】(000232254)日本電気通信システム株式会社 (586)
【Fターム(参考)】
【公開日】平成24年10月25日(2012.10.25)
【国際特許分類】
【出願日】平成23年3月30日(2011.3.30)
【出願人】(000232254)日本電気通信システム株式会社 (586)
【Fターム(参考)】
[ Back to top ]