(57)【要約】  ユーザアプリケーション部、トラヒック制御部および無線送受信部を有し、上記トラヒック制御部は、上記ユーザアプリケーション部からの送信フローおよび上記無線送受信部からの転送フローのパケットをフロー別に異なるキューに蓄積してトラヒック制御処理を行うマルチホップ無線端末であって、上記トラヒック制御部は、入力された各フローのパケットを対応するキューに振り分けて蓄積するキューマネージャと、上記各キューからパケットを取り出して出力するパケットスケジューラを備え、上記パケットスケジューラは、上記各フローの送信情報に基づいて、上記キューからパケットを取り出して出力するキューを選択する。
2009096332.tif 000002
【特許請求の範囲】
【請求項１】
ユーザアプリケーション部、トラヒック制御部および無線送受信部を有し、上記トラヒック制御部は、上記ユーザアプリケーション部からの送信フローおよび上記無線送受信部からの転送フローのパケットをフロー別に異なるキューに蓄積してトラヒック制御処理を行うマルチホップ無線端末であって、
上記トラヒック制御部は、
入力された各フローのパケットを対応するキューに振り分けて蓄積するキューマネージャと、
上記各キューからパケットを取り出して出力するパケットスケジューラを備え、
上記パケットスケジューラは、上記各フローの送信情報に基づいて、上記キューからパケットを取り出して出力するキューを選択する、マルチホップ無線端末。
【請求項２】
上記パケットスケジューラは、
上記パケットを取り出して出力するキューとして選択したキューにパケットがない場合、パケットの出力を一定時間だけ停止する、請求項１に記載のマルチホップ無線端末。
【請求項３】
上記パケットスケジューラは、
キュー毎に重み付けカウンタを具備し、
パケット出力要求があるとき、上記重み付けカウンタのカウント値が１以上のキューにパケットが存在するときには、各キューの重み付けカウンタのカウント値の比率で、該各キューの上記パケットを取り出して出力するキューとして選択される確率を決定し、
パケット出力要求があるとき、上記重み付けカウンタのカウント値が１以上のキューにパケットが存在しないときには、上記重み付けカウンタのカウント値が０のキューにパケットが存在するとき、全てのキューの重み付けカウンタのカウント値をインクリメントした後、各キューの重み付けカウンタのカウント値の比率で、該各キューの上記パケットを取り出して出力するキューとして選択される確率を決定し、
上記パケットを取り出して出力するキューとして選択されたキューの重み付けカウンタのカウント値が０より大きいとき、該重み付けカウンタのカウント値をデクリメントする、請求項１に記載のマルチホップ無線端末。
【請求項４】
上記各キューの重み付けカウンタのカウント値には、最大値が設定されている、請求項３に記載のマルチホップ無線端末。
【請求項５】
上記パケットスケジューラは、
キュー毎にアクティビティカウンタを具備し、
上記パケットを取り出して出力するキューとして選択されたキューにパケットがなく、パケットの出力が行われなかった場合、該キューのアクティビティカウンタのカウント値をインクリメント、あるいはデクリメントし、
あるキューのアクティビティカウンタのカウント値が所定値に達したとき、該キューにパケットが入力されるまで、該キューを、上記パケットを取り出して出力するキューとして選択しない、請求項１に記載のマルチホップ無線端末。
【請求項６】
ユーザアプリケーション部からの送信フローおよび無線送受信部からの転送フローのパケットをフロー別に異なるキューに蓄積してトラヒック制御を行うマルチホップ無線端末におけるトラヒック制御方法であって、
入力された各フローのパケットを対応するキューに振り分けて蓄積するステップと、
上記各キューからパケットを取り出して出力するステップを含み、
上記パケットを出力するステップでは、上記各フローの送信情報に基づいて、上記キューからパケットを取り出して出力するキューを選択する、マルチホップ無線端末におけるトラヒック制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、マルチホップ無線ネットワークを構成するマルチホップ無線端末およびそのトラヒック制御方法に関する。詳しくは、この発明は、フローのパケットをフロー別のキューに蓄積し、各フローの送信情報に基づいてパケットを取り出して出力するキューを選択することにより、各キューからの送信レートの公平性を保ち、ホップ数に依らないフロー間の送信レートの公平性を保つようにしたマルチホップ無線端末等に係るものである。
【背景技術】
【０００２】
無線環境において端末間通信の中継を行うことにより、無線端末がより遠くの基地局と通信可能になるマルチホップ無線ネットワークが注目を集めている。しかし、単一チャネルを使用するマルチホップ無線ネットワークにおいては、基地局からのホップ数の異なる無線端末間でのスループットに差異が生じるという問題がある。【０００３】
すなわち、基地局からのホップ数の大きい無線端末は、ホップ数の小さい無線端末よりもスループットが低下する。この原因は、一般に無線端末リンク層で用いられているIEEE802.11MACプロトコルが単一ホップの通信のみを考慮していることにある。単一ホップの通信ではRTS/CTSと呼ばれる通信制御により、センシング可能な端末間での送受信タイミングが適切に制御される。しかし、全ての端末をセンシングすることのできないマルチホップ通信においては、プロトコルの問題から、端末間の送信権の公平性を保つことが困難となる。【０００４】
図６は、RTS/CTSにより端末間の送信権の公平性が保たれる場合を示し、図７は、RTS/CTSにより端末間の送信権の公平性が保たれない場合を示している。図６、図７では、実線丸印がそれぞれの無線端末を示し、破線丸枠はそれぞれの端末の通信範囲を示し、さらに、矢印はデータの送信方向を示している。実線丸印内の数字は、端末番号を示すものとする。【０００５】
図６は、端末１、端末２から端末０に対して送信を行う場合を示している。この場合、例えば、端末１の送信時には送信前にＲＴＳ（Request-To-Send）信号が端末０に対して送信され、このＲＴＳ信号を受信した端末０からはＣＴＳ（Clear-To-Send）信号が送信される。ＣＴＳ信号が受信された場合、端末０からの通信範囲のＲＴＳ送信者以外の全ての端末は、端末１の送信中に送信を行わないため、端末間の公平性は保たれる。【０００６】
一方、図７の例において、端末１から端末０への送信前に、図６の場合と同様に、RTS/CTS制御は行われるが、端末０からのＣＴＳ信号は端末１以外には到達しない。しかし、端末１からの送信データは端末２へ到達し、同時に端末３から端末２へ送信を行うためにＲＴＳ信号を送信した場合には衝突が起こり、端末２では端末３からのＲＴＳ信号を受信することができない。【０００７】
このため、端末３はＲＴＳ信号の再送を行うことになるが、このときの待機時間、いわゆるバックオフタイムが通常のバックオフタイムより長いため、端末３は端末１、端末２に比べて送信権を得られる確率が低くなってしまう。【０００８】
マルチホップ有線ネットワークにおいては、端末間のスループットの公平性を向上させるための手段として、中継端末にフローごとのキューを用意したラウンドロビンスケジューリングがある。しかし、マルチホップ無線ネットワークでは、上述したように端末間の送信権の公平性が保たれていないため、単純なラウンドロビンスケジューリングでは公平性を実現することができない。一方、それぞれのフローからパケットが到着するまで送信を保留するとほぼ完全な公平性を実現できるが、各端末の送信レートに異種性がある場合に最も遅い送信レートに合わせて送信を行うため、通信帯域が有効に活用されないといった問題点がある。【０００９】
例えば、特許文献１には、マルチホップ無線ネットワークにおけるホップ数の違いによるスループット格差を、各パケットのホップ数情報をもとにパケットサイズを決定することによって解消する技術が記載されている。【００１０】
【特許文献１】特開２００３−２７３７８８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上述の特許文献１に記載される技術では、各パケットのホップ数情報をもとにパケットサイズを決定するものであり、各パケットのホップ数情報を取得する必要があり、また、パケットサイズの調整も必要となり、複雑な処理が必要となる。【００１２】
この発明の目的は、複雑な処理を必要とすることなく、ホップ数に依らないフロー間の送信レートの公平性を実現可能なマルチホップ無線端末およびそのマルチホップ無線端末におけるトラヒック制御方法を提供することにある。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本発明のある観点によれば、ユーザアプリケーション部、トラヒック制御部および無線送受信部を有し、上記トラヒック制御部は、上記ユーザアプリケーション部からの送信フローおよび上記無線送受信部からの転送フローのパケットをフロー別に異なるキューに蓄積してトラヒック制御処理を行うマルチホップ無線端末であって、上記トラヒック制御部は、入力された各フローのパケットを対応するキューに振り分けるキューマネージャと、上記各キューからパケットを取り出して出力するパケットスケジューラを備え、上記パケットスケジューラは、上記各フローの送信情報に基づいて、上記キューからパケットを取り出して出力するキューを選択するマルチホップ無線端末が提供される。【００１４】
また、各フローのパケットがフロー別のキューに蓄積されてトラヒック制御が行われる。すなわち、キューマネージャにより、入力された各フローのパケットは対応するキューに振り分けられて蓄積される。そして、パケットスケジューラにより、各キューからパケットが取り出されて出力される。この場合、送信レートもしくは送信パケット数等の各フローの送信情報に基づいて、パケットを取り出して出力するキューが選択されることから、各キューからの送信レートの公平性が保たれ、ホップ数に依らないフロー間の送信レートの公平性が実現される。【００１５】
例えば、各フローの送信情報として、キュー毎に具備された重み付けカウンタのカウント値が使用される。パケットスケジューラでは、パケット出力要求がある毎に、以下の処理が行われる。すなわち、重み付けカウンタのカウント値が１以上のキューにパケットが存在するときには、各キューの重み付けカウンタのカウント値の比率で、各キューの、パケットを取り出して出力するキューとして選択される確率が決定される。また、重み付けカウンタのカウント値が１以上のキューにパケットが存在しないときには、重み付けカウンタのカウント値が０のキューにパケットが存在するとき、全てのキューの重み付けカウンタのカウント値をインクリメントした後、各キューの重み付けカウンタのカウント値の比率で、各キューの、パケットを取り出して出力するキューとして選択される確率が決定される。そして、パケットを取り出して出力するキューとして選択されたキューの重み付けカウンタのカウント値が０より大きいとき、この重み付けカウンタのカウント値はデクリメントされる。【００１６】
この場合、各キューの重み付けカウンタのカウント値は、フロー間の送信レートの公平性を実現するように適切に増減されるため、各キューの重み付けカウンタのカウント値の比率で、各キューの、パケットを取り出して出力するキューとして選択される確率が決定されることで、ホップ数に依らないフロー間の送信レートの公平性が実現される。【００１７】
例えば、各キューの重み付けカウンタのカウント値には最大値が設定される。上述のように各キューの重み付けカウンタのカウント値が制御される場合、送信レートが低いフローのキューの重み付けカウンタのカウント値はデクリメントの回数が少なく、そのカウント値が大きくなり、当該送信レートの低いフローのキューが、パケットを取り出して出力するキューとして選択される確率が高くなる。各キューの重み付けカウンタのカウント値に最大値が設定されることで、送信レートの低いフローに合わせて全てのフローの送信レートが低下することが抑制される。【００１８】
また、例えば、パケットスケジューラは、パケットを取り出して出力するキューとして選択したキューにパケットがない場合、パケットの出力を一定時間だけ停止する、ようにしてもよい。このようにパケットの出力が一定時間だけ停止されることで、他端末が送信権を取得し易くなり、マルチホップ無線伝送における端末間の送信レートの不公平性が抑制され、ホップ数に依らないフロー間の送信レートの公平性が実現される。【００１９】
また、例えば、パケットスケジューラは、キュー毎にアクティビティカウンタを具備し、パケットを取り出して出力するキューとして選択されたキューにパケットがなく、パケットの出力が行われなかった場合、このキューのアクティビティカウンタのカウント値をインクリメント、あるいはデクリメントし、あるキューのアクティビティカウンタのカウント値が所定値に達したとき、このキューにパケットが入力されるまで、このキューを、パケットを取り出して出力するキューとして選択しない、ようにしてもよい。【００２０】
あるキューのアクティビティカウンタのカウント値が所定値に達するということは、そのキューに対応するフローの送信レートが低く、一定時間そのキューにパケットが入力されないことを意味する。上述したように、アクティビティカウンタのカウント値が所定値に達したキューを、パケットが入力されるまで、パケットを取り出して出力するキューとして選択しないことで、他のキューがパケットを取り出して出力するキューとして選択されるようになり、送信レートの低いフローに合わせて全てのフローの送信レートが低下することが抑制される。【００２１】
以上説明したように、本発明によれば,各フローのパケットをフロー別のキューに蓄積し、各フローの送信情報に基づいてパケットを取り出して出力するキューを選択するものであり、フロー間の送信レートの公平性を良好に保つことができる。
【図面の簡単な説明】
【００２２】
【図１】実施の形態としてのマルチホップ無線ネットワークの構成例を示すブロック図である。
【図２】マルチホップ無線端末の構成例を示すブロック図である。
【図３】マルチホップ無線端末を構成するトラヒック制御部のモデルを示すブロック図である。
【図４】トラヒック制御部を構成するキューマネージャの処理手順を説明するためのフローチャートである。
【図５】トラヒック制御部を構成するパケットスケジューラの処理手順を説明するためのフローチャートである。
【図６】RTS/CTSにより端末間の送信権の公平性が保たれる場合を説明するための図である。
【図７】RTS/CTSにより端末間の送信権の公平性が保たれない場合を説明するための図である。
【発明を実施するための最良の形態】
【００２３】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。図１は、実施の形態にかかる、マルチホップ無線ネットワーク１００の構成例を示している。このマルチホップ無線ネットワーク１００は、複数のマルチホップ無線端末１１０が無線リンクにより相互接続されてなるものである。【００２４】
このマルチホップ無線ネットワーク１００においては、各マルチホップ無線端末１１０からのデータフローを、他のマルチホップ無線端末１１０により中継することにより、データフローを無線リンクで通信可能範囲外のマルチホップ無線端末１１０にも送信することが可能となる。【００２５】
図１に示すマルチホップ無線ネットワーク１００におけるマルチホップ無線端末１１０は、重み付けラウンドロビンスケジューリングの重みを自動的に調整し、ホップ数に依らないフロー間の送信レートの公平性を実現する。また、図１に示すマルチホップ無線ネットワーク１００におけるマルチホップ無線端末１１０は、送信時に選択されたキューに送信パケットが無かった場合，他のキューに送信権を渡すことなく、一定時間、パケットの送信を停止して他端末に送信権を譲って、マルチホップ無線伝送における端末間の送信権の不公平性を抑制し、ホップ数に依らないフロー間の送信レートの公平性を実現する。【００２６】
図２は、マルチホップ無線端末１１０の構成例を示している。マルチホップ無線端末１１０は、ユーザアプリケーション部１１１と、トラヒック制御部１１２と、無線送受信部１１３とを有している。【００２７】
ユーザアプリケーション部１１１は、ユーザアプリケーションからのデータの送受信要求に応じて、トラヒック制御部１１２との間でデータのやりとり行う。すなわち、ユーザアプリケーション部１１１は、アプリケーションにより送信要求が行われたときには、アプリケーション送信データを自端末からの送信データフローとして、トラヒック制御部１１２に渡す。また、ユーザアプリケーション部１１１は、トラヒック制御部１１２から自端末宛データの通知が行われた場合、そのデータの受信を行ってアプリケーションに渡す。【００２８】
トラヒック制御部１１２は、ユーザアプリケーション部１１１からの送信フローのパケットおよび無線送受信部１１３からの転送フローのパケットを、フロー別に異なるキュー（送信キュー）に蓄積し、トラヒック制御処理を行う。トラヒック制御部１１２は、無線送受信部１１３から受け取ったデータが自端末宛であった場合は、ユーザアプリケーション部１１１へデータを渡す。このトラヒック制御部１１２の詳細については、さらに後述する。【００２９】
無線送受信部１１３は、他端末とデータの送受信を行い、トラヒック制御部１１２との間で送信データ、受信データのやりとりを行う。この無線送受信部１１３としては、例えば、RTS/CTS制御機能を有効とした、IEEE802.11準拠の無線通信デバイスが使用される。  【００３０】
図２に示すマルチホップ無線端末１１０の動作を説明する。アプリケーションにより送信要求が行われたとき、ユーザアプリケーション部１１１からトラヒック制御部１１２に、アプリケーション送信データ（送信フロー）が渡される。【００３１】
また、無線送受信部１１３では、他端末から送信されてくるデータが受信され、トラヒック制御部１１２に渡される。トラヒック制御部１１２が無線送受信部１１３から受け取ったデータが自端末宛てのデータであった場合、トラヒック制御部１１２からユーザアプリケーション部１１１に、そのデータの通知が行われる。ユーザアプリケーション部１１１では、当該通知に基づいて、トラヒック制御部１１２からそのデータが受信され、アプリケーションに渡される。【００３２】
また、トラヒック制御部１１２では、ユーザアプリケーション部１１１から受け取った自端末からの送信フローのパケット、無線送受信部１１３からの転送フローのパケットは、フロー別に異なるキュー（送信キュー）に蓄積される。そして、トラヒック制御部１１２では、各キューからパケットの取り出しが行われ、取り出されたパケットが無線送受信部１１３から他端末に送信される。なお、このトラヒック制御部１１２では、各フローの送信情報に基づいて、パケットを取り出して出力するキューが選択される。【００３３】
次に、トラヒック制御部１１２の詳細について説明する。【００３４】
図３は、トラヒック制御部１１２の一例を示している。トラヒック制御部１１２は、各フロー（Flow 0，Flow 1，・・・，Flow n）に対応するキュー（Q0，Q1，・・・，Qn）と、各キュー（Q0，Q1，・・・，Qn）に対応する重み付けカウンタ（W0，W1，・・・，  Wn）と、各キュー（Q0，Q1，・・・，Qn）に対応するアクティビティカウンタ（A0，A1，・・・，An）とを備えている。ここで、Flow 0は、ユーザアプリケーション部１１１から入力される自端末からの送信フローである。また、Flow 1，・・・，Flow nは、無線送受信部１１３から入力される転送フローである。【００３５】
フローの入力部には、キューマネージャ（Queue  Manager）１２１が配置されている。また、フローの出力部には、パケットスケジューラ（Packet  Scheduler）１２２が配置されている。キューマネージャ１２１は、入力された各フローのパケットを対応するキューに振り分けて蓄積する。また、パケットスケジューラ１２２は、各キューからパケットを取り出して出力する。なお、図３の下部の受信帯域(Reception  bandwidth)および送信帯域(Transmission bandwidth)は、MAC層帯域を模式的に示したものである。【００３６】
キューマネージャ１２１の処理手順を説明する。図４のフローチャートは、キューマネージャ１２１の処理手順を示している。【００３７】
キューマネージャ１２１は、ステップＳＴ１において、パケットが入力されることで、処理を開始し、その後に、ステップＳＴ２の処理に移る。このステップＳＴ２において、キューマネージャ１２１は、入力パケットのフローに対応するキューが存在するか否かを判定する。入力パケットのフローに対応するキューが存在するとき、キューマネージャ１２１は、直ちに、ステップＳＴ３の処理に移る。一方、入力パケットのフローに対応するキューが存在しないとき、キューマネージャ１２１は、ステップＳＴ４の処理に移る。【００３８】
このステップＳＴ４において、キューマネージャ１２１は、入力パケットのフローに対応するキューを新たに作成する。なお、このように、キューを新たに作成する場合、そのキューに対応した重み付けカウンタおよびアクティビティカウンタも同時に作成する。そして、キューマネージャ１２１は、ステップＳＴ５において、新たに作成したキューの重み付けカウンタのカウント値を１に設定し、その後に、ステップＳＴ３の処理に移る。【００３９】
ステップＳＴ３において、キューマネージャ１２１は、入力パケットのフローに対応するキューのアクティビティカウンタのカウント値を既定値に設定する。ここで、アクティティカウンタの既定値は、そのキューが選択されたにもかかわらず送信するべきパケットがないという事象が連続して起こってもそのキューを無効としない許容回数を示す。【００４０】
この既定値が小さすぎると、あるキューへのパケット入力が短時間無いだけでそのキューが無効化され、そのキューと他のキューのフロー間の公平性が保ちにくくなる。一方、この既定値が大きすぎると、あるキューへのパケット入力が長時間なくなってもそのキューが有効となっているため、帯域利用効率が悪化する。したがって、アクティビティカウンタの既定値はトラヒック特性に従い、適当に設定する必要がある。【００４１】
次に、キューマネージャ１２１は、ステップＳＴ６において、入力パケットのフローに対応するキューに空きがあるか否かを判定する。キューに空きがあるとき、キューマネージャ１２１は、ステップＳＴ７において、入力パケットのフローに対応するキューの末尾に、入力パケットを追加し、その後に、ステップＳＴ８において、処理を終了する。【００４２】
一方、ステップＳＴ６でキューに空きがないと判定されたとき、キューマネージャ１２１は、ステップＳＴ９において、入力パケットを棄却し、その後に、ステップＳＴ８において、処理を終了する。【００４３】
キューマネージャ１２１は、上述の図４のフローチャートに示す処理により、送信フローおよび転送フローのパケットが入力される毎に、当該パケットを対応するキューに振り分けて蓄積する。【００４４】
次に、パケットスケジューラ１２２の処理手順を説明する。図５のフローチャートは、パケットスケジューラ１２２の処理手順を示している。【００４５】
パケットスケジューラ１２２は、ステップＳＴ１１において、パケット出力要求があったとき、処理を開始し、その後に、ステップＳＴ１２の処理に移る。ここで、パケット出力要求は、無線送受信部１１３から供給される。すなわち、無線送受信部１１３は、トラヒック制御部１１２から渡される送信パケットを一時的に蓄積しておく１パケットバッファを有し、この１パケットバッファに蓄積されていたパケットを送信し、当該１パケットバッファが空になったとき、パケット出力要求を、トラヒック制御部１１２に渡す。【００４６】
パケットスケジューラ１２２は、ステップＳＴ１２において、重み付けカウンタのカウント値が１以上であって有効なキューに、パケットが存在するか否かを判定する。ここで、有効なキューとは、アクティビティカウンタのカウント値が１以上であるキューを意味している。【００４７】
パケットスケジューラ１２２は、ステップＳＴ１２の判定条件を満たすときは、直ちに、ステップＳＴ１３の処理に移る。一方、パケットスケジューラ１２２は、ステップＳＴ１２の判定条件を満たさないときは、ステップＳＴ１４において、重み付けカウンタのカウント値が０であって有効なキューに、パケットが存在するか否かを判定する。【００４８】
パケットスケジューラ１２２は、ステップＳＴ１４の判定条件を満たすとき、ステップＳＴ１５において、最大値以下の全ての重み付けカウンタのカウント値をインクリメントする。すなわち、重み付けカウンタのカウント値には予め最大値が設定されており、パケットスケジューラ１２２は、各重み付けカウンタのインクリメントを、当該最大値を上限として行う。パケットスケジューラ１２２は、ステップＳＴ１５の処理の後、ステップＳＴ１３の処理に移る。一方、パケットスケジューラ１２２は、ステップＳＴ１４の判定条件を満たさないとき、直ちに、ステップＳＴ１６において、処理を終了する。【００４９】
パケットスケジューラ１２２は、ステップＳＴ１３において、有効なキュー（アクティビティカウンタのカウント値が１以上）から、重み付けカウンタのカウント値の比率で、パケットを取り出して出力するキューを選択する。すなわち、パケットスケジューラ１２２は、重み付けカウンタのカウント値の比率で、各キューの、パケットを取り出して出力するキューとして選択される確率を決定し、この確率に基づいて、各キューからパケットを取り出して出力するキューを選択する。【００５０】
例えば、Q0，Q1，Q2が有効なキューであって、それぞれの重み付けカウンタW0，W1，W2のカウント値が３，１，１であるとき、キューQ0，Q1，Q2の選択確率は、３／５，１／５，１／５に決定される。この場合、キューQ0がパケットを取り出して出力するキューとして選択される確率は、他のキューQ1，Q2の３倍となる。【００５１】
次に、パケットスケジューラ１２２は、ステップＳＴ１７において、ステップＳＴ１３で選択されたキューに、パケットが存在するか否かを判定する。パケットが存在するとき、パケットスケジューラ１２２は、ステップＳＴ１８において、選択されたキューの重み付けカウンタのカウント値が０より大きければ、デクリメントする。そして、パケットスケジューラ１２２は、ステップＳＴ１９において、選択されたキューから、パケットを取り出して、無線送受信部１１３に出力し、その後に、ステップＳＴ１６において、処理を終了する。【００５２】
また、ステップＳＴ１７で選択されたキューにパケットが存在しないとき、パケットスケジューラ１２２は、ステップＳＴ２０において、当該キューのアクティビティカウンタのカウント値をデクリメントする。そして、パケットスケジューラ１２２は、ステップＳＴ２１において、無線送受信部（ＭＡＣ層）１１３に、一定時間パケットの出力要求の待機を指示し、その後に、ステップＳＴ１６において、処理を終了する。【００５３】
パケットスケジューラ１２２は、上述の図５のフローチャートに示す処理により、各フローの送信情報としての、各キューの重み付けカウンタのカウント値に基づいて、各キューからパケットを取り出して、無線送受信部１１３に出力する。【００５４】
なお、図５のフローチャートにおいては、アクティビティカウンタのカウント値の最初の設定値が０より大きな既定値とされていることから（図４のステップＳＴ３参照）、パケットスケジューラ１２２は、ステップＳＴ２０でアクティビティカウンタのカウント値をデクリメントすると共に、アクティビティカウンタのカウント値が１以上である場合には有効なキューと判定する。【００５５】
しかし、例えば、キューマネージャ１２１はアクティビティカウンタのカウント値の最初の設定値を０とし、パケットスケジューラ１２２は、ステップＳＴ２０でアクティビティカウンタのカウント値をインクリメントすると共に、アクティビティカウンタのカウント値が所定値より小さな場合に有効なキューと判定する、ようにしてもよい。【００５６】
上述したように、図２に示すマルチホップ無線端末１１０においては、トラヒック制御部１１２のパケットスケジューラ１２２により、各キューからパケットが取り出されて出力される際に、各フローの送信情報としての各キューの重み付けカウンタのカウント値の比率で、各キューの、パケットを取り出して出力するキューとして選択される確率が決定され、この各キューの選択される確率に基づいて、パケットを取り出して出力するキューが選択される（図５のステップＳＴ１３）。したがって、各キューからの送信レートの公平性を保つことができ、ホップ数に依らないフロー間の送信レートの公平性を実現できる。【００５７】
また、図２に示すマルチホップ無線端末１１０において、トラヒック制御部１１２のパケットスケジューラ１２２では、重み付けカウンタのカウント値が１以上のキューにパケットが存在しないときには、重み付けカウンタのカウント値が０のキューにパケットが存在するとき、全てのキューの重み付けカウンタのカウント値がインクリメントされ、また、パケットを取り出して出力するキューとして選択されたキューの重み付けカウンタのカウント値が０より大きいとき、この重み付けカウンタのカウント値はデクリメントされる。そのため、各キューの重み付けカウンタのカウント値は、フロー間の送信レートの公平性を実現するように適切に増減される。したがって、各キューの重み付けカウンタのカウント値の比率で、各キューの、パケットを取り出して出力するキューとして選択される確率を決定することで、ホップ数に依らないフロー間の送信レートの公平性を実現できる。【００５８】
また、図２に示すマルチホップ無線端末１１０においては、トラヒック制御部１１２の各キューの重み付けカウンタW0，W1，・・・，  Wnに最大値が設定され、そのカウント値は当該最大値を上限としてインクリメントされる（図５のステップＳＴ１５）。そのため、送信レートが低いフローのキューの重み付けカウンタのカウント値はデクリメント（図５のステップＳＴ１８）の回数が少なく、そのカウント値が大きくなるが、そのカウント値の上限が最大値に制限される。したがって、送信レートの低いフローのキューの選択確率がむやみに大きくなることを回避でき、送信レートの低いフローに合わせて全てのフローの送信レートが低下することを抑制できる。【００５９】
また、図２に示すマルチホップ無線端末１１０においては、トラヒック制御部１１２のパケットスケジューラ１２２により、パケットを取り出して出力するキューとして選択したキューにパケットがない場合、パケットの出力が一定時間だけ停止される（図５のステップＳＴ２１）。そのため、他端末が送信権を取得し易くなり、マルチホップ無線伝送における端末間の送信レートの不公平性を抑制でき、ホップ数に依らないフロー間の送信レートの公平性を実現できる。【００６０】
また、図２に示すマルチホップ無線端末１１０においては、トラヒック制御部１１２のパケットスケジューラ１２２により、パケットを取り出して出力するキューとして選択されたキューにパケットがなかった場合、そのキューのアクティビティカウンタのカウント値がデクリメントされ（図５のステップＳＴ２０）、当該アクティビティカウンタのカウント値が０となるとき、この所定のキューは、パケットを取り出して出力するキューの選択対象（有効なキュー）から外される（図５のステップＳＴ１２、ステップＳＴ１４）。【００６１】
あるキューのアクティビティカウンタのカウント値が０に達するということは、そのキューに対応するフローの送信レートが低く、一定時間そのキューにパケットが入力されないことを意味する。上述したように、アクティビティカウンタのカウント値が０に達したキューが選択対象から外されることで、他のキューがパケットを取り出して出力するキューとして選択されるようになる。したがって、送信レートの低いフローに合わせて全てのフローの送信レートが低下することを抑制できる。【００６２】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。【００６３】
例えば、上述実施の形態においては、各フローの送信情報として各キューに対応した重み付けカウンタのカウント値を用いた例を示したが、これに限定されるものではない。例えば、各フローの送信情報として、各キューからの送信レートあるいは送信パケット数等を実際に測定して用いてもよい。各キューからの送信レートあるいは送信パケット数等が均衡するようにパケットを取り出して出力するキューの選択がなされることで、ホップ数に依らないフロー間の送信レートの公平性を実現できる。
【産業上の利用可能性】
【００６４】
この発明は、マルチホップ無線ネットワークを構成するマルチホップ無線端末に適用できる。
【図２】
2009096332.tif 000003
【図１】
2009096332.tif 000004
【図３】
2009096332.tif 000005
【図４】
2009096332.tif 000006
【図５】
2009096332.tif 000007
【図６】
2009096332.tif 000008
【図７】
2009096332.tif 000009
【手続補正書】
【提出日】平成21年4月24日(2009.4.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザアプリケーション部、トラヒック制御部および無線送受信部を有し、上記トラヒック制御部は、上記ユーザアプリケーション部からの送信フローおよび上記無線送受信部からの転送フローのパケットをフロー別に異なるキューに蓄積してトラヒック制御処理を行うマルチホップ無線端末であって、
上記トラヒック制御部は、
入力された各フローのパケットを対応するキューに振り分けて蓄積するキューマネージャと、
上記各キューからパケットを取り出して出力するパケットスケジューラを備え、
上記パケットスケジューラは、
キュー毎に重み付けカウンタを具備し、
パケット出力要求があるとき、上記重み付けカウンタのカウント値が１以上のキューにパケットが存在するときには、各キューの重み付けカウンタのカウント値の比率で、該各キューの上記パケットを取り出して出力するキューとして選択される確率を決定し、
パケット出力要求があるとき、上記重み付けカウンタのカウント値が１以上のキューにパケットが存在しないときには、上記重み付けカウンタのカウント値が０のキューにパケットが存在するとき、全てのキューの重み付けカウンタのカウント値をインクリメントした後、各キューの重み付けカウンタのカウント値の比率で、該各キューの上記パケットを取り出して出力するキューとして選択される確率を決定し、
上記パケットを取り出して出力するキューとして選択されたキューの重み付けカウンタのカウント値が０より大きいとき、該重み付けカウンタのカウント値をデクリメントする、マルチホップ無線端末。
【請求項２】
上記パケットスケジューラは、
上記パケットを取り出して出力するキューとして選択したキューにパケットがない場合、パケットの出力を一定時間だけ停止する、請求項１に記載のマルチホップ無線端末。
【請求項３】
上記各キューの重み付けカウンタのカウント値には、最大値が設定されている、請求項１に記載のマルチホップ無線端末。
【請求項４】
ユーザアプリケーション部、トラヒック制御部および無線送受信部を有し、上記トラヒック制御部は、上記ユーザアプリケーション部からの送信フローおよび上記無線送受信部からの転送フローのパケットをフロー別に異なるキューに蓄積してトラヒック制御処理を行うマルチホップ無線端末であって、
上記トラヒック制御部は、
入力された各フローのパケットを対応するキューに振り分けて蓄積するキューマネージャと、
上記各キューからパケットを取り出して出力するパケットスケジューラを備え、
上記パケットスケジューラは、
キュー毎にアクティビティカウンタを具備し、
上記パケットを取り出して出力するキューとして選択されたキューにパケットがなく、パケットの出力が行われなかった場合、該キューのアクティビティカウンタのカウント値をインクリメント、あるいはデクリメントし、
あるキューのアクティビティカウンタのカウント値が所定値に達したとき、該キューにパケットが入力されるまで、該キューを、上記パケットを取り出して出力するキューとして選択しない、マルチホップ無線端末。
【請求項５】
ユーザアプリケーション部からの送信フローおよび無線送受信部からの転送フローのパケットをフロー別に異なるキューに蓄積してトラヒック制御を行うマルチホップ無線端末におけるトラヒック制御方法であって、
入力された各フローのパケットを対応するキューに振り分けて蓄積するステップと、
上記各キューからパケットを取り出して出力するステップを含み、
上記パケットを出力するステップでは、
パケット出力要求があるとき、キュー毎の重み付けカウンタのカウント値が１以上のキューにパケットが存在するときには、各キューの重み付けカウンタのカウント値の比率で、該各キューの上記パケットを取り出して出力するキューとして選択される確率を決定し、
パケット出力要求があるとき、上記重み付けカウンタのカウント値が１以上のキューにパケットが存在しないときには、上記重み付けカウンタのカウント値が０のキューにパケットが存在するとき、全てのキューの重み付けカウンタのカウント値をインクリメントした後、各キューの重み付けカウンタのカウント値の比率で、該各キューの上記パケットを取り出して出力するキューとして選択される確率を決定し、
上記パケットを取り出して出力するキューとして選択されたキューの重み付けカウンタのカウント値が０より大きいとき、該重み付けカウンタのカウント値をデクリメントする、マルチホップ無線端末におけるトラヒック制御方法。
【請求項６】
ユーザアプリケーション部からの送信フローおよび無線送受信部からの転送フローのパケットをフロー別に異なるキューに蓄積してトラヒック制御を行うマルチホップ無線端末におけるトラヒック制御方法であって、
入力された各フローのパケットを対応するキューに振り分けて蓄積するステップと、
上記各キューからパケットを取り出して出力するステップを含み、
上記パケットを出力するステップでは、
上記パケットを取り出して出力するキューとして選択されたキューにパケットがなく、パケットの出力が行われなかった場合、該キューのアクティビティカウンタのカウント値をインクリメント、あるいはデクリメントし、
あるキューのアクティビティカウンタのカウント値が所定値に達したとき、該キューにパケットが入力されるまで、該キューを、上記パケットを取り出して出力するキューとして選択しない、マルチホップ無線端末におけるトラヒック制御方法。
【国際調査報告】
2009096332.tif 000010
2009096332.tif 000011
2009096332.tif 000012