JP4961939B2 - 無線通信システム、無線通信装置、無線通信方法およびプログラム - Google Patents

無線通信システム、無線通信装置、無線通信方法およびプログラム Download PDF

Info

Publication number
JP4961939B2
JP4961939B2 JP2006283769A JP2006283769A JP4961939B2 JP 4961939 B2 JP4961939 B2 JP 4961939B2 JP 2006283769 A JP2006283769 A JP 2006283769A JP 2006283769 A JP2006283769 A JP 2006283769A JP 4961939 B2 JP4961939 B2 JP 4961939B2
Authority
JP
Japan
Prior art keywords
queue
transmission
transmission data
wireless communication
station
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006283769A
Other languages
English (en)
Other versions
JP2008103899A (ja
Inventor
一弘 渡邊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2006283769A priority Critical patent/JP4961939B2/ja
Publication of JP2008103899A publication Critical patent/JP2008103899A/ja
Application granted granted Critical
Publication of JP4961939B2 publication Critical patent/JP4961939B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、無線通信システムに関し、特に無線通信装置間で送信データを中継する無線通信システム、当該システムにおける無線通信装置、および、これらにおける処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
全ての無線通信装置(ノード)が無線ネットワークにより接続されたアドホックネットワークにおいて、ノード間の通信エリアの拡大が容易に実現できる無線マルチホップネットワーク技術は重要な要素技術の一つである。この無線マルチホップネットワークでは、ノード間の通信路はルーティングプロトコルによって決定され、その決定された経路に従ってノード間の通信が行われる。したがって、各ノードは、パケットごとで異なる宛先に対して、ルーティングプロトコルによって決定されたノードに対してパケットを送信することにより、パケットを宛先まで送信することが可能となる。
IEEE802.11に代表される一般的な無線ネットワークの多くは、各ノードにおいてDCF(Distributed Coordination Function)によるCSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)のアクセス方式を用いて、周辺ノードと限られた無線帯域の資源を競合して通信を行う。
これに対し、無線マルチホップネットワークでは、パケットを中継するノードにおいて、CSMA/CAによる競合が発生するだけでなく、送信キュー内での競合が発生する。例えば、ノード#Aからノード#Bを中継してノード#Cにパケットを送信するとともに、ノード#Bからノード#Cに別途パケットを送信する場合、ノード#Aおよびノード#Bが最大限のデータ送信を試みると、ノード#Aおよびノード#BにおけるCSMA/CAでの無線帯域の競合は公平であることから、必然的にノード#Bにおいてパケットの輻輳が生じる。その結果、ノード#Bにおける送信キュー内でのパケットロスが発生し、例えばTCP(Transmission Control Protocol)の場合にはパケットロスによるEnd−to−End(発信元と宛先との間)の再送頻度が増えて、大幅なスループットの低下が予想される。すなわち、CSMA/CAによる制御だけでは、End−to−Endにおいて公平にサービスを提供することは難しい。
従来の無線アドホックネットワークでは、所定のサービス品質(QoS)を満たす観点から、予め定められた帯域幅を割り当てていた。この帯域幅の割当てに関しては、送信キューの充填状態が現在送信可能なデータ量以下のデータ量を示す場合に、一時的に帯域幅を他の接続に解放する動的帯域幅割当方法が提案されている(例えば、特許文献1参照。)。
特開2004−104791号公報(図1)
しかしながら、従来のデータ帯域の制御では、全ての送信データが1つの送信キューにより管理されており、各パケットが中継される経路については考慮されていない。一方、全ての経路を厳密に管理することは、その組合せの数が膨大なものとなるため、現実的ではない。
無線マルチホップネットワークの場合、End−to−Endでのスループットは宛先ノードへ到達するまでに経由するリンクの数(ホップ数)に大きく依存するものと考えられる。すなわち、End−to−Endでのスループットの公平性を保つためには、このホップ数を指標としてトラフィックを制御することが合理的であると考えられる。
そこで、本発明は、無線マルチホップネットワークにおけるホップ数に着目して、必要以上の無線帯域の使用を抑えることにより、輻輳状態を回避するとともに、End−to−Endにおけるスループットの公平性を担保することを目的とする。
本発明は、上記課題を解決するためになされたものであり、その第1の側面は、無線通信の範囲外に存在する宛先局との間では近隣の中継局を介したリンクにより通信を行う無線通信装置において、上記宛先局毎に対応して区分されてそれぞれ送信データを保持する送信キューと、上記送信データをその宛先局に応じて上記送信キューの何れかの区分に挿入するエンキュー制御手段と、上記送信キューから送出される上記送信データに関する値が所定の閾値を超えるまで上記送信キューから上記送信データを取り出して対応する宛先局に宛てて送出するデキュー制御手段とを具備することを特徴とする無線通信装置である。これにより、宛先局毎に送出される送信データを管理して、輻輳状態を回避させるという作用をもたらす。
また、この第1の側面において、上記所定の閾値は、上記送信キューのそれぞれの区分に対応する宛先局へ到達するまでに経由されるリンクの数に反比例する値が設定される。これにより、End−to−Endにおけるスループットの公平性を担保するという作用をもたらす。なお、上記所定の閾値は、上記送信データのデータ量(トークン量)を単位として設定されてもよく、また、上記送信データのパケット数を単位として設定されてもよい。
また、この第1の側面において、上記送信キューは、上記宛先局毎に、他局からの送信データを転送するための転送キューと、自局からの送信データを送信するためのソースキューとに区分され、上記デキュー制御手段は上記転送キューに保持された送信データを優先して取り出すようにしてもよい。これにより、自局からの送信によって他局からの転送を妨害しないように制御するという作用をもたらす。また、この場合において、上記デキュー制御手段は、上記転送キューおよび上記ソースキューから送出される送信データが所定の送出率の比になるよう制御してもよい。これにより、End−to−Endにおけるスループットの公平性を担保するという作用をもたらす。さらに、この場合において、上記所定の送出率は、上記転送キューおよび上記ソースキューのそれぞれに所定期間内に挿入された送信データが自局に到達するまでに経由されたリンクの数(PH)の統計量と、上記転送キューおよび上記ソースキューに対応する宛先局へ到達するまでに経由されるリンクの数(HC)との和によって設定されてもよい。
また、この第1の側面において、上記送信キューは上記宛先局毎に優先度別の優先度キューに区分され、上記デキュー制御手段は上記優先度の高い優先度キューに保持された送信データを優先して取り出すようにしてもよい。これにより、所定のサービス品質(QoS)に対応させるという作用をもたらす。
また、本発明の第2の側面は、各無線通信装置が無線通信の範囲外に存在する宛先局との間では近隣の中継局を介したリンクにより通信を行う無線通信システムにおいて、上記宛先局毎に対応して区分されてそれぞれ送信データを保持する送信キューと、上記送信データをその宛先局に応じて上記送信キューの何れかの区分に挿入するエンキュー制御手段と、上記送信キューから送出される上記送信データに関する値が所定の閾値を超えるまで上記送信キューから上記送信データを取り出して対応する宛先局に宛てて送出するデキュー制御手段とを各無線通信装置が具備することを特徴とする無線通信システムである。これにより、各無線通信装置において、宛先局毎に送出される送信データを管理して、輻輳状態を回避させるという作用をもたらす。
また、本発明の第3の側面は、無線通信の範囲外に存在する宛先局との間では近隣の中継局を介したリンクにより通信を行い、上記宛先局毎に対応して区分されてそれぞれ送信データを保持する送信キューを備える無線通信装置における無線通信方法であって、上記送信データをその宛先局に応じて上記複数の送信キューの何れかに挿入するエンキュー手順と、上記送信キューから送出される上記送信データに関する値が所定の閾値を超えるまで上記送信キューから上記送信データを取り出して対応する宛先局に宛てて送出するデキュー手順とを具備することを特徴とする無線通信方法またはこれら手順をコンピュータに実行させることを特徴とするプログラムである。これにより、宛先局毎に送出される送信データを管理して、輻輳状態を回避させるという作用をもたらす。
本発明によれば、輻輳状態を回避するとともに、End−to−Endにおけるスループットの公平性を担保することができるという優れた効果を奏し得る。
次に本発明の実施の形態について図面を参照して詳細に説明する。
図1は、本発明の実施の形態の無線通信システムの一例を示す図である。この無線通信システムでは、無線通信装置10、20および30が無線通信により無線マルチホップネットワークを構成している。ここでは、無線通信装置10、20および30の各々が自律分散して動作しており、インフラストラクチャネットワークのような制御局は存在しない。
この例で無線通信装置10を発信元として無線通信装置30にパケットを送信しようとする場合、両者が互いの通信範囲11および31に入っていないため、直接無線通信を行うことはできない。そこで、両者を通信範囲21に持つ無線通信装置20が中継局として無線通信装置10からのパケットを一旦受信し、そのパケットを宛先局である無線通信装置30に送信する。自律分散型の無線ネットワークでは、このように他の無線通信装置が中継局として機能することにより、通信範囲外の宛先局に対して送信データを送信することができる。
ここで、無線通信装置10が直接に通信を行う中継局との間の1対1の接続をリンクという。また、無線通信装置10が中継局を介して相手局に到達するまでの流れを経路という。一般に、中継局となる無線通信装置が複数存在する場合、相手局への経路も複数存在し得る。本発明の実施の形態では、経由するリンクの数、すなわちホップ数が最短となる経路を最適経路として選択し、最大限の送信を試みることを前提とする。
なお、ここでは中継局として機能する無線通信装置が1台の例を挙げて説明したが、この中継局は2台以上であっても構わない。また、以下では無線通信装置10を例に挙げてその構成を説明するが、他の無線通信装置20および30についても同様の構成を備えることはいうまでもない。
図2は、無線マルチホップネットワークにおける無線通信装置(ノード)間の関係例を示す図である。この例では、6つのノード#A乃至#F(41乃至46)が存在している。
無線マルチホップネットワークの場合、End−to−Endでのスループットは宛先ノードへ到達するまでに経由するリンクの数(ホップ数)に大きく依存するものと考えられる。ここで、隣接するノード間の無線帯域をB、ホップ数をHCとした場合、End−to−EndのスループットTは、次式により与えられる。
T≒B/HC
すなわち、End−to−EndのスループットTはおおよそホップ数に反比例する値となる。
例えば、図2において、ノード#A(41)からノード#F(46)に対して経路#Xによる送信が行われるとすると、ノード#A(41)からはB/4程度のスループットでデータ送信を行なうことになる。仮に、それ以上にデータ送信をノード#Fに対して行ったとしても、送信元ノードであるノード#A(41)や中間ノードであるノード#B(42)乃至#E(45)において輻輳が生じてしまう。したがって、無線マルチホップネットワークにおいては、宛先ノードまでのホップ数に応じてトラフィック量の上限を制限することにより輻輳を軽減する必要がある。
一方、End−to−Endでのスループットの公平性に関して、例えば、ノード#A(41)からノード#F(46)に対して経路#Xによる送信が行われるとともに、ノード#C(43)からもノード#F(46)に対して経路#Yによる送信が行われる場合を想定する。この場合、ノード#D(44)において経路#Xおよび#Yが交わるため、互いのスループットに影響を与える。そのため、経路#Xおよび#Yにおいてスループットを公平にするためには、両者のホップ数を考慮して、
経路#X:経路#Y=4:3
になるように、フロー制御を行う必要がある。つまり、End−to−Endでのスループットの公平性を実現するためには、各フローに関してホップ数に応じたフロー制御を送信元ノードならびに中間ノードで行う必要がある。
このように、本発明の実施の形態では、ノード間のホップ数を利用してフロー制御を行う。その際、ホップ数を自ノードに到達するまでのホップ数と、自ノードから宛先ノードまでのホップ数とに分けて取り扱う。前者をPH(Previous Hop count)と呼び、後者をHC(Hop Count)と呼ぶ。例えば、図2のノード#Dにおける経路#YのPHは「1」、HCは「2」となる。
HCについては、ルーティングプロトコルによって管理される経路テーブルから取得することができる。また、PHについては、図3に示すようにパケットが転送される際に1つずつカウントアップしていくことにより各ノードに伝達することができる。
図3は、本発明の実施の形態においてPHが伝達される様子の一例を示す図である。この例では、4つのノード#a乃至#d(51乃至54)が存在しており、ノード#a(51)からノード#d(54)に対して経路#Zによる3ホップの送信が行われることを想定する。
ノード#a(51)では、ペイロード612にヘッダ611を付したパケット610が生成されて、ノード#b(52)に向けてパケット610が送信される。ヘッダ611にはPHの値を保持するフィールドが含まれる。この場合、ノード#a(51)が発信元であるため、PHの値として「0」が設定される。
ノード#a(51)からパケット610を受信したノード#b(52)は、ヘッダ611に含まれるPHの値を1つカウントアップして、パケット620のヘッダ621にPHの値として「1」を設定する。このパケット620は、ノード#b(52)からノード#c(53)に転送される。
ノード#b(52)からパケット620を受信したノード#c(53)は、ヘッダ621に含まれるPHの値を1つカウントアップして、パケット630のヘッダ631にPHの値として「2」を設定する。このパケット630は、ノード#c(53)からノード#d(54)に転送される。
ノード#c(53)からパケット630を受信したノード#d(54)は、パケット630からペイロード632を取り出す。また、ノード#d(54)は、ヘッダ631に含まれるPHの値を1つカウントアップして、当該パケットのノード#d(54)におけるPHの値として「3」を取得する。
図4は、本発明の実施の形態における無線通信装置の送信制御部100の一構成例を示す図である。この送信制御部100は、送信データを保持する送信キュー200を備え、上位層から新たな送信データを受け取って送信キュー200に保持させるエンキュー制御部110と、送信キュー200から送信データを取り出して下位層へ送出するデキュー制御部130とを備えている。
各送信データのフロー制御を行う場合、厳密には、各経路のホップ数(PHおよびHC)をそれぞれ求めて、各経路を別々に扱う必要が生じる。しかし、ノードの数が増えると経路の組合せは膨大な数になり、また、無線マルチホップネットワークではネットワークトポロジーがダイナミックに変化して管理が複雑になるため、経路毎の管理は現実的ではない。そこで、本発明の実施の形態では、各ノードにおける送信キュー200を宛先別のキューテーブルに区分して、各送信データを宛先毎にまとめて管理する。これにより、送信キュー200の数を集約しながら、End−to−Endでのスループットの公平性を効率良く実現することができる。自ノードから宛先ノードまでのホップ数HCは送信データの宛先によって定まるため、宛先別に区分することによって管理は容易になる。
宛先別に区分された送信キュー200のキューテーブルは、図5のように、さらにソースキューと転送キューに区分される。転送キューは、他のノードを発信元とする送信データを転送する際に用いられるキューである。ソースキューは、自ノードを発信元とする送信データを送信する際に用いられるキューである。
また、転送キューおよびソースキューは、さらに優先度毎に区分される。この優先度により、所望のサービス品質(QoS)を実現することができる。この優先度は、IPパケットに適用されるTOS(Type Of Service)の値に基づいて付与することが考えられる。また、それ以外にも、UDP(User Datagram Protocol)やTCPというプロトコルの違いを識別し、優先度を付与するようにしてもよい。また、無線マルチホップネットワークを構築する際にルーティングプロトコルで利用されるRREQ(Route REQuest)やRREP(Route REPly)などのようなユニキャストの制御パケットや、HELLOパケットのようなブロードキャストパケットのメッセージパケット等の主にシステムを構築する上で必要となるパケットと、上位層からのデータパケットとの間で優先度が異なるように設定してもよい。
なお、優先度を決定するための別の基準として、現在のIEEE802.11eで規定されているWMM(Wi-Fi MultiMedia)やWME(Wireless Multimedia Extensions)を利用する方法が考えられる。これにより、標準システムとの親和性のとれたキューイング機構を実現することが可能となる。
このように、送信キュー200は、宛先別に区分され、それぞれソースキューおよび転送キューに区分され、さらに優先度毎に区分される。したがって、送信キュー200をデータ構造として表現すると、3次元配列になる。すなわち、宛先をQID、種別(ソースキューまたは転送キュー)をQType、優先度をQPriorにより表すと、送信キュー200は「Queue[QID][QType][QPrior]」により表現することができる。
エンキュー制御部110は、上位層からのパケットを、その宛先(QID)、種別(QType)および優先度(QPrior)に基づいて、該当するQueue[QID][QType][QPrior]に保持させる。その際、該当する送信キューの長さが最大長に達している場合には、送信キュー200からの指示によりそのパケットは破棄される。下位層において新たなパケットを受け付けられなくなった場合も、デキュー制御部130からの指示によりパケットは破棄される。
また、エンキュー制御部110は、図3により説明した方法により、自ノードに到達するまでのホップ数PHを取得する。このPHは、発信元ノードに依存した値を示す。本発明の実施の形態においては、このPHを個別に保持せずに、次式(式1)に示すように、ある時間区間tにおける統計量PH(t)としてキュー毎に保持する。但し、時間区間tにおいて該当するキューに挿入されるパケット数をN[QID][QType][QPrior]、各パケットのPHの値をPH[QID][QType][QPrior]とする。また、総和計算(Σ)は、パケット数N[QID][QType][QPrior]について行われるものとする。βは、前回の時間区間(t−1)に算出したPHの値を考慮するための重み付け係数である。βは「0」より大きく、「1」より小さい値を示すものであり、例えば「0.2」程度が想定される。
PH[QID][QType][QPrior](t)
=β×((ΣPH[QID][QType][QPrior])/
N[QID][QType][QPrior])+
(1−β)×PH[QID][QType][QPrior](t−1)
(式1)
ここで、キューの種別(QType)としては、転送キューのみが上式の対象となる。ソースキューの場合には、PH(t)の値は常に「0」になる。
このPH(t)の値は、デキュー制御部130におけるデキュー制御のために用いられる。
デキュー制御部130は、所定のタイミングで送信キュー200から送信データを取り出して、対応する宛先局に宛てて送出するものである。宛先(QID)、種別(QType)および優先度(QPrior)に区分された送信キュー200のうち、何れのキューから送信データを取り出すかは、例えば、以下の方策に従って決定される。まず、種別(QType)として、ソースキューよりも転送キューが優先される。また、同じ種別であれば優先度(QPrior)の高いキューから優先して取り出される。なお、宛先(QID)については平等に扱うことを想定するが、これに限定されるものではなく、例えば、リンクの状態が良好な宛先を優先するようにしてもよい。
図5は、本発明の実施の形態における無線通信装置の送信キュー200の一構成例を示す図である。送信キュー200は、宛先局毎に対応してキューテーブル201に区分される。すなわち、送信キュー200は、ルーティングプロトコルによって確認されている宛先局の数のキューテーブル201を備える。
また、これに加え、送信キュー200は、デフォルト用のキューテーブルを備える。キューテーブルはルーティングプロトコルと連携して作成または削除されるため、処理やエンキューのタイミングによってはキューテーブルに存在しない宛先のパケットを送信キュー200にエンキューする場合も生じ得る。そのため、そのようなタイムラグを吸収するために、デフォルト用のキューテーブルが設けられる。これにより、キューテーブルが存在しない場合にはデフォルト用のキューテーブルにエンキューすることで、パケットの破棄が極力行われないようにすることができる。
キューテーブル201の各々は、転送キュー210およびソースキュー220に区分されている。上述のように、転送キューは他のノードを発信元とする送信データを転送する際に用いられるキューであり、ソースキューは自ノードを発信元とする送信データを送信する際に用いられるキューである。
また、転送キュー210およびソースキュー220は、上述のように、さらに優先度毎に区分される。この例では、優先度の高い順に#Aから#Fまでの6段階の優先度のキューに区分されている。
このように区分された各キューは別個のキューとして動作する。すなわち、各キューはFIFO(First-In First-Out)方式により、先頭に保持されたパケットから順に取り出されるように構成される。
図6は、本発明の実施の形態における送信キュー200からのデキュータイミングの例を示す図である。デキュー制御を行うタイミングとしては、例えば、図6(a)に示すように、ポーリングによる処理が考えられる。この場合、一定周期(T_POLL)毎にデキュー制御(ステップS950)が起動される。
なお、この周期T_POLLは、実際にデータを送信できる無線帯域の伝送速度(例えば、IEEE802.11bの場合は最大11Mbps)や、実際に動作させるシステムの処理能力に応じて決定される。
また、別の実施例としては、図6(a)のように、下位層においてさらにキューをもっているようなシステムの場合には、下位層のキューの状況に応じて処理を実行させてもよい。例えば、下位層においてキューが溢れそうな場合にはデキュー制御部130に通知してデキュー処理を停止させて、下位層のキュー401に空きが生じた段階で処理を開始させるようにしてもよい。
図7は、本発明の実施の形態におけるキューテーブル201の決定例を示す図である。上述のように、本発明の実施の形態では、宛先(QID)については平等に扱うことを想定する。その場合、宛先に対応するキューテーブル201の決定も平等に行うことができる。そこで、ここでは、キューテーブル201の決定手法の一例として、ラウンドロビン方式を採用した例について説明する。
ラウンドロビン方式では、各キューテーブル201は順番に参照される。その際、開始時のキューテーブルの識別子が開始キューテーブルとして保存される。そして、この開始キューテーブルを基準として各キューテーブル201を一巡するように参照が行われる。例えば、開始キューが#Bを示していた場合、最初にキューテーブル#B、次にキューテーブル#C、その次にキューテーブル#D、といった具合に参照される。
また、開始キューテーブルは、デキュー制御部130が起動される度に順番に変更される。これにより、ノード間の公平性が担保される。例えば、今回の開始キューテーブルが#Bであった場合、次回の開始キューテーブルは#Cになり、その次は#Dになる、といった具合に変更されていく。
各キューテーブル201が参照される際、そのキューテーブルにおけるキューの優先度の高いものから順に参照される。すなわち、まず開始キューテーブルから順に優先度の最も高いキュー#Aが参照され、全てのキューテーブル201におけるキュー#A(転送キューおよびソースキューの両方)のパケットが無くなるまで繰り返される。キュー#Aのパケットが無くなると、次に優先度の高いキュー#Bが開始キューテーブルから順に参照される。そして、全てのキューテーブルにおけるキュー#Bのパケットが無くなると、その後、キュー#C、キュー#D、…、キュー#Fと優先度の高いキューから順番に同様の手順で参照が行われる。
図8は、本発明の実施の形態における送信キュー200の送出量の基準例を示す図である。ここでは、送信キュー200の送出量を調整するために、トークン量およびパケット数をパラメータとして用いる。トークン量とは、送信データのデータ量である。また、パケット数とは、送信データのパケットの数である。
例えば、1500バイトのパケットと1000バイトのパケットが順に送出された場合、このときのトークン量は「2500バイト」であり、パケット数は「2」である。
これらトークン量およびパケット数をパラメータとして用いるに際して、1回のデキュー制御の動作によって送出可能な、送信キュー200全体のトークン量およびパケット数の閾値を予め設定しておく。全体のトークン量の閾値を定数TH_TOTAL_TOKENにより表し、全体のパケット数の閾値を定数TH_TOTAL_PACKET_NUMにより表す。なお、これらの閾値は、無線メディアの速度やデキュー制御の動作頻度、システム全体の処理能力等によって決定される。
このように、自ノードによって送信可能なトークン量およびパケット数を超える送信データを送出しないように調節することによって、自ノードにおける下位層でのキュー溢れを防ぐことができる。
また、送信キュー200全体のトークン量およびパケット数の閾値のみならず、送信キュー200における各キューのトークン量およびパケット数の閾値も設定しておく。宛先(QID)、種別(QType)および優先度(QPrior)に対応するキューのトークン量およびパケット数の閾値は、それぞれ定数TH_TOKEN[QID][QType][QPrior]および定数TH_PACKET_NUM[QID][QType][QPrior]により表される。
上述のように一般にホップ数が増えるとEnd−to−Endのスループットは略それに反比例して低下することから、本発明の実施の形態では各キューの宛先局へ至るホップ数HC[QID]に応じて全体の敷値を各キューに分散する。これにより、全体のトークン量の閾値と各キューのトークン量の閾値との関係、および、全体のパケット数の閾値と各キューのパケット数の閾値との関係は、それぞれ次式のようになる。
TH_TOKEN[QID][QType][QPrior]
=TH_TOTAL_TOKEN×(1/HC[QID])
TH_PACKET_NUM[QID][QType][QPrior]
=TH_TOTAL_PACKET_NUM×(1/HC[QID])
このように、ホップ数HC[QID]を用いて各キューの送出レートを絞ることにより、End−to−Endで達成可能なスループット以上にトラフィックを流さないように制御して、無線マルチホップネットワークにおける輻輳の軽減を図ることができる。
なお、この例では全体の敷値を各キューに分散する際の係数を「1/HC[QID]」としたが、この係数はこれに限定されるものではない。例えば、リンクのPER(Packet Error Rate)、自局における送受信パケット数(またはトークン量)、RSSI等のリンク品質を示すパラメータや無線帯域の空き時間等の因子を取り入れることも可能である。また、他局とのシグナリング(ビーコン等のブロードキャストパケットや制御パケット等のユニキャストパケットの送受信)を利用することで、さらに他局での送受信パケット数(またはトークン量)やRSSI等の統計情報を利用することも可能である。
そこで、係数「1/HC[QID]」を一例としてαiにより表すと、上式は以下のように一般化される。但し、係数αは係数αiを内在するものであり、α=Παj=α1×α2×…×αnという関係を有する。
TH_TOKEN[QID][QType][QPrior]
=TH_TOTAL_TOKEN×α
TH_PACKET_NUM[QID][QType][QPrior]
=TH_TOTAL_PACKET_NUM×α
すなわち、PHやHC以外のパラメータを有効に使用することにより、無線マルチホップネットワークのトポロジーの変化が頻繁に起こる場合や無線伝送路の状態がダイナミックに変動する場合においても、輻輳の軽減およびEnd−to−Endのスループットの公平性を実現することが可能となる。
図9は、本発明の実施の形態における送信キュー200の送出量の比率の一例を示す図である。上述のように送信キュー200の送出量の絶対値は、予め設定された閾値により制限される。これに対し、各キューの送出量の比率は、送出率TXRにより調整される。この送出率TXRは、次式のように、各キューのPHの統計量PH[QID][QType][QPrior](t)および宛先局へ至るホップ数HC[QID]の和として与えられる。
TXR[QID][QType][QPrior]
=HC[QID]+PH[QID][QType][QPrior](t)
例えば、キューテーブル#Bにおける転送キュー#Aの送出量をXにより表し、ソースキュー#Aの送出量をYにより表すと、両キューの送出量の比は、次式により表される。但し、fwdは転送キューを表し、srcはソースキューを表す。
送出量X:送出量Y=HC[#B]+PH[#B][src][#A]
:HC[#B]+PH[#B][fwd][#A]
このように、キューにパケットが存在する間、このTXR[QID][QType][QPrior]を満たしながら、各キューにおける閾値に達するまでパケットの送出を行うことにより、End−to−Endでのスループットの公平性を図ることができる。
次に本発明の実施の形態における送信制御部100の動作について図面を参照して説明する。
図10は、本発明の実施の形態におけるエンキュー制御部110におけるエンキュー制御処理の一例を示す図である。まず、送信キュー200に挿入すべきパケットが発生すると、そのパケットの優先度に応じて優先度QPriorが設定される(ステップS911)。また、そのパケットが転送パケットであれば(ステップS912)、種別QTypeに転送キューを表す「fwd」が設定される(ステップS913)。一方、転送パケットでなければ(ステップS912)、種別QTypeにソースキューを表す「src」が設定される(ステップS914)。
そして、そのパケットの宛先に対応するキューが存在すれば(ステップS915)、宛先QIDに実際の宛先(例えば#X)が設定される(ステップS916)。もし、ルーティングプロトコルとの間のタイミングによって、そのパケットの宛先に対応するキューが存在しない場合には(ステップS915)、宛先QIDにはデフォルト用キューテーブルを示す値(#Default)が設定される(ステップS917)。
このとき、もし対応するキュー(Queue[QID][QType][QPrior])のキュー長Queue_Len[QID][QType][QPrior]が所定の閾値を超えている場合には(ステップS918)、上位層に対してパケットの送信停止を示すフラグStop_If_Flagを「1」に設定する(ステップS919)。
また、対応するキューのキュー長Queue_Len[QID][QType][QPrior]が最大キュー長に達していた場合には(ステップS921)、上位層から受け取っていたパケットは破棄される(ステップS922)。一方、最大キュー長に達していない場合には(ステップS921)、対応するキューQueue[QID][QType][QPrior]にパケットが挿入される(ステップS930)。
図11は、本発明の実施の形態におけるパケット挿入処理(ステップS930)の一例を示す図である。挿入しようとするパケットの種別QTypeが転送キューを表す「fwd」を示している場合には(ステップS931)、ある時間区間においてキューに挿入された全パケットのPHフィールドの値の総和を表すPH_total[QID][QType][QPrior]に、挿入しようとするパケットのPHフィールドの値が加算される(ステップS932)。また、この場合(ステップS931)、ある時間区間においてキューに挿入されたパケットの総数を表すPnum_total[QID][QType][QPrior]に、「1」が加算される(ステップS933)。
そして、そのパケットは、対応するキューQueue[QID][QType][QPrior]に挿入される(ステップS934)。
図12は、本発明の実施の形態におけるPH算出処理の一例を示す図である。このPH算出処理は、エンキュー制御やデキュー制御とは独立して定期的に繰り返されるものである(ステップS941)。
このPH算出処理では、ある時間区間においてキューに挿入されたパケットの総数を表すPnum_total[QID][QType][QPrior]が「0」でなければ(ステップS942)、上述の式1により統計量PH[QID][QType][QPrior](t)が算出される(ステップS944)。但し、Pnum_total[QID][QType][QPrior]が「0」の場合には式1の第1項の分母がゼロになってしまうため、当該第1項を削除した式により算出が行われる(ステップS943)。
PHの算出が行われると、PH_total[QID][QType][QPrior]およびPnum_total[QID][QType][QPrior]は「0」に初期化される(ステップS945およびS946)。
図13は、本発明の実施の形態におけるデキュー制御部130におけるデキュー制御処理の一例を示す図である。図6(a)に示したポーリングなどによりデキュー制御処理が起動されると、開始キューテーブルが決定される(ステップS951)。この開始キューテーブルの示す値は、前回起動された際の値とは異なるように制御されることが望ましい。
続いて、送信キュー200全体のトークン量およびパケット数の閾値、および、各キューのトークン量およびパケット数の閾値が決定される(ステップS952)。上述のように、各キューの閾値は、各キューの宛先局へ至るホップ数HC[QID]に応じて決定され得る。
その後、送信キュー200全体のキュー長(queue_len.all)が「0」になるまで(ステップS953)、以下の処理が繰り返される。まず、送信キュー200における何れのキューから送信データ(パケット)を送出すべきかが決定される(ステップS960)。すなわち、宛先(QID)、種別(QType)および優先度(QPrior)が決定される。
そして、ステップS960で決定されたキューQueue[QID][QType][QPrior]の先頭に保持されているパケットが取り出され、下位層へ送出される(ステップS954)。
パケットが送出されると、以下のように管理用の変数が更新される。すなわち、対応するキューにおいて送出されたトークン量の総数を管理する変数token[QID][QType][QPrior]に、送出されたパケットのパケット長packet_lenが加算される(ステップS955)。また、対応するキューにおいて送出されたパケットの総数を管理する変数packet_num[QID][QType][QPrior]に、「1」が加算される(ステップS956)。また、総トークン量を管理する変数total_tokenに、送出されたパケットのパケット長packet_lenが加算される(ステップS957)。さらに、総パケット数を管理する変数total_packet_numに、「1」が加算される(ステップS958)。
その結果、変数total_tokenが閾値TH_TOTAL_TOKENを超えている場合または変数total_packet_numが閾値TH_TOTAL_PACKET_NUMを超えている場合には(ステップS998)、デキュー制御処理を終了する。
また、変数token[QID][QType][QPrior]が閾値TH_TOKEN[QID][QType][QPrior]を超えている場合または変数packet_num[QID][QType][QPrior]が閾値TH_PACKET_NUM[QID][QType][QPrior]を超えている場合にも(ステップS999)、デキュー制御処理を終了する。
図14は、本発明の実施の形態における送信キュー決定処理(ステップS960)の一例を示す図である。まず、この送信キュー決定処理において使用されるパラメータが初期化される(ステップS961)。すなわち、宛先(QID)、種別(QType)および優先度(QPrior)には、それぞれ前回の値(QID_prev、QType_prev、QPrior_prev)が設定される。また、送出率TXRの現在の値txr[QID][QType][QPrior]には、前回の値txr_prev[QID][QType][QPrior]が設定される。
現在着目している種別(fwdまたはsrc)のキューの全体のキュー長が「0」である場合(ステップS962)、宛先QIDに開始キューテーブルの値が初期値として設定され(ステップS973)、優先度QPriorに最も高い優先度が設定された後に(ステップS974)、種別(QType)の切替が行われる(ステップS980)。
ステップS962において、現在着目している種別のキューの全体のキュー長が「0」でないと判断された場合、現在着目している種別および優先度のキューの全体のキュー長が「0」であるか判断される(ステップS963)。その結果、「0」であると判断された場合、優先度QPriorが最も低い優先度であれば上述のステップS973以降の処理が行われ(ステップS971)、最も低い優先度でなければ次に低い優先度が優先度QPriorに設定される(ステップS972)。
ステップS963において、現在着目している種別および優先度のキューの全体のキュー長が「0」でないと判断された場合、現在着目している宛先、種別および優先度のキューのキュー長が「0」であるか判断される(ステップS964)。その結果、「0」であると判断された場合、宛先QIDが開始キューテーブルの値と一致していれば上述のステップS971以降の処理が行われ(ステップS968)、一致していなければラウンドロビンなどにより決定される次の宛先が宛先QIDに設定される(ステップS969)。
ステップS964において、現在着目している宛先、種別および優先度のキューのキュー長が「0」でないと判断された場合、現在の送出率txr[QID][QType][QPrior]が、設定された送出率TXR[QID][QType][QPrior]以上になっていないか判断される(ステップS965)。現在の送出率txr[QID][QType][QPrior]がTXR[QID][QType][QPrior]以上であれば上述のステップS968以降の処理が行われる。一方、現在の送出率txr[QID][QType][QPrior]がTXR[QID][QType][QPrior]以上でなければ、現在の送出率txr[QID][QType][QPrior]が更新される(ステップS966)とともに、パラメータが保存される(ステップS967)。すなわち、宛先(QID)、種別(QType)および優先度(QPrior)の値が、それぞれ前回の値(QID_prev、QType_prev、QPrior_prev)として保存される。また、送出率TXRの現在の値txr[QID][QType][QPrior]が、前回の値txr_prev[QID][QType][QPrior]として保存される。
この例では、ステップS966において、送出率txrはパケット数を単位として更新されるものとしている。したがって、TXRの設定の際には、四捨五入による整数化がなされているものと想定している。なお、この送出率txrはトークン量を単位として更新されてもよい。
図15は、本発明の実施の形態における種別(QType)の切替処理(ステップS980)の一例を示す図である。まず、現在の種別(QType)がソースキュー(src)でなければ(ステップS981)、次の種別としてQTypeにソースキューを表す「src」が設定される(ステップS982)。一方、現在の種別(QType)がソースキュー(src)であれば(ステップS981)、次の種別としてQTypeに転送キューを表す「fwd」が設定される(ステップS983)とともに、全ての現在の送出率txr[i][j][k]が「0」に初期化される(ステップS984)。したがって、送出率の比率は優先度毎に初期化されることになる。
このように、本発明の実施の形態によれば、送信キュー200から送信データ(パケット)を取り出すデキュー制御の際、無線マルチホップネットワークにおけるホップ数を利用することによって、輻輳状態を回避して、End−to−Endにおけるスループットの公平性を担保することができる。
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。
本発明の実施の形態の無線通信システムの一例を示す図である。 無線マルチホップネットワークにおける無線通信装置(ノード)間の関係例を示す図である。 本発明の実施の形態においてPHが伝達される様子の一例を示す図である。 本発明の実施の形態における無線通信装置の送信制御部100の一構成例を示す図である。 本発明の実施の形態における無線通信装置の送信キュー200の一構成例を示す図である。 本発明の実施の形態における送信キュー200からのデキュータイミングの例を示す図である。 本発明の実施の形態におけるキューテーブル201の決定例を示す図である。 本発明の実施の形態における送信キュー200の送出量の基準例を示す図である。 本発明の実施の形態における送信キュー200の送出量の比率の一例を示す図である。 本発明の実施の形態におけるエンキュー制御部110におけるエンキュー制御処理の一例を示す図である。 本発明の実施の形態におけるパケット挿入処理(ステップS930)の一例を示す図である。 本発明の実施の形態におけるPH算出処理の一例を示す図である。 本発明の実施の形態におけるデキュー制御部130におけるデキュー制御処理の一例を示す図である。 本発明の実施の形態における送信キュー決定処理(ステップS960)の一例を示す図である。 本発明の実施の形態における種別(QType)の切替処理(ステップS980)の一例を示す図である。
符号の説明
10、20、30 無線通信装置
11、21、31 通信範囲
100 送信制御部
110 エンキュー制御部
130 デキュー制御部
200 送信キュー
201 キューテーブル
210 転送キュー
220 ソースキュー
401 下位層のキュー

Claims (9)

  1. 無線通信の範囲外に存在する宛先局との間では近隣の中継局を介したリンクにより通信を行う無線通信装置において、
    前記宛先局毎に対応して区分されてそれぞれ送信データを保持する送信キューと、
    前記送信データをその宛先局に応じて前記送信キューの何れかの区分に挿入するエンキュー制御手段と、
    前記送信キューから送出される前記送信データに関する値が所定の閾値を超えるまで前記送信キューから前記送信データを取り出して対応する宛先局に宛てて送出するデキュー制御手段と
    を具備し、
    前記送信キューは、前記宛先局毎に、他局からの送信データを転送するための転送キューと、自局からの送信データを送信するためのソースキューとに区分され、
    前記デキュー制御手段は、前記転送キューに保持された送信データを優先して取り出し、前記転送キューおよび前記ソースキューから送出される送信データが所定の送出率の比になるよう制御する
    無線通信装置。
  2. 前記所定の閾値は、前記送信キューのそれぞれの区分に対応する宛先局へ到達するまでに経由されるリンクの数に反比例する値が設定される請求項1記載の送信制御装置。
  3. 前記所定の閾値は、前記送信データのデータ量を単位として設定される請求項1記載の無線通信装置。
  4. 前記所定の閾値は、前記送信データのパケット数を単位として設定される請求項1記載の無線通信装置。
  5. 前記所定の送出率は、前記転送キューおよび前記ソースキューのそれぞれに所定期間内に挿入された送信データが自局に到達するまでに経由されたリンクの数の統計量と、前記転送キューおよび前記ソースキューに対応する宛先局へ到達するまでに経由されるリンクの数との和によって設定される請求項記載の無線通信装置。
  6. 前記送信キューは、前記宛先局毎に優先度別の優先度キューに区分され、
    前記デキュー制御手段は、前記優先度の高い優先度キューに保持された送信データを優先して取り出す請求項1記載の無線通信装置。
  7. 各無線通信装置が無線通信の範囲外に存在する宛先局との間では近隣の中継局を介したリンクにより通信を行う無線通信システムにおいて、
    前記宛先局毎に対応して区分されてそれぞれ送信データを保持する送信キューと、
    前記送信データをその宛先局に応じて前記送信キューの何れかの区分に挿入するエンキュー制御手段と、
    前記送信キューから送出される前記送信データに関する値が所定の閾値を超えるまで前記送信キューから前記送信データを取り出して対応する宛先局に宛てて送出するデキュー制御手段と
    を各無線通信装置が具備し、
    前記送信キューは、前記宛先局毎に、他局からの送信データを転送するための転送キューと、自局からの送信データを送信するためのソースキューとに区分され、
    前記デキュー制御手段は、前記転送キューに保持された送信データを優先して取り出し、前記転送キューおよび前記ソースキューから送出される送信データが所定の送出率の比になるよう制御する
    無線通信システム。
  8. 無線通信の範囲外に存在する宛先局との間では近隣の中継局を介したリンクにより通信を行い、前記宛先局毎に対応して区分されてそれぞれ送信データを保持する送信キューを備える無線通信装置における無線通信方法であって、
    前記送信データをその宛先局に応じて前記複数の送信キューの何れかに挿入するエンキュー手順と、
    前記送信キューから送出される前記送信データに関する値が所定の閾値を超えるまで前記送信キューから前記送信データを取り出して対応する宛先局に宛てて送出するデキュー手順と
    を具備し、
    前記送信キューは、前記宛先局毎に、他局からの送信データを転送するための転送キューと、自局からの送信データを送信するためのソースキューとに区分され、
    前記デキュー手順において、前記転送キューに保持された送信データを優先して取り出し、前記転送キューおよび前記ソースキューから送出される送信データが所定の送出率の比になるよう制御する
    無線通信方法。
  9. 無線通信の範囲外に存在する宛先局との間では近隣の中継局を介したリンクにより通信を行い、前記宛先局毎に対応して区分されてそれぞれ送信データを保持する送信キューを備える無線通信装置において、
    前記送信データをその宛先局に応じて前記複数の送信キューの何れかに挿入するエンキュー手順と、
    前記送信キューから送出される前記送信データに関する値が所定の閾値を超えるまで前記送信キューから前記送信データを取り出して対応する宛先局に宛てて送出するデキュー手順と
    をコンピュータに実行させるプログラムであって、
    前記送信キューは、前記宛先局毎に、他局からの送信データを転送するための転送キューと、自局からの送信データを送信するためのソースキューとに区分され、
    前記デキュー手順において、前記転送キューに保持された送信データを優先して取り出し、前記転送キューおよび前記ソースキューから送出される送信データが所定の送出率の比になるよう制御する
    プログラム。
JP2006283769A 2006-10-18 2006-10-18 無線通信システム、無線通信装置、無線通信方法およびプログラム Expired - Fee Related JP4961939B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006283769A JP4961939B2 (ja) 2006-10-18 2006-10-18 無線通信システム、無線通信装置、無線通信方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006283769A JP4961939B2 (ja) 2006-10-18 2006-10-18 無線通信システム、無線通信装置、無線通信方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2008103899A JP2008103899A (ja) 2008-05-01
JP4961939B2 true JP4961939B2 (ja) 2012-06-27

Family

ID=39437902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006283769A Expired - Fee Related JP4961939B2 (ja) 2006-10-18 2006-10-18 無線通信システム、無線通信装置、無線通信方法およびプログラム

Country Status (1)

Country Link
JP (1) JP4961939B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5520316B2 (ja) * 2009-01-19 2014-06-11 コーニンクレッカ フィリップス エヌ ヴェ メッシュネットワークおいてフレームを伝送する方法、並びにそのためのメッシュ装置及びメッシュネットワーク
JP5510340B2 (ja) * 2011-01-06 2014-06-04 富士通株式会社 輻輳通知方法、輻輳通知装置および輻輳通知プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3039840B2 (ja) * 1994-11-02 2000-05-08 日本電信電話株式会社 バーチャルチャネル多重化装置
JP3759734B2 (ja) * 2003-04-09 2006-03-29 独立行政法人情報通信研究機構 通信システム、通信装置及び通信方法
JP4196908B2 (ja) * 2004-09-03 2008-12-17 沖電気工業株式会社 伝送媒体アクセス制御装置および方法

Also Published As

Publication number Publication date
JP2008103899A (ja) 2008-05-01

Similar Documents

Publication Publication Date Title
KR100886202B1 (ko) 무선 네트워크에 있어서의 반송파 감지 다중 접속프로토콜을 최적화하기 위한 알고리듬 및 프로토콜을이용하는 시스템 및 방법
US7852763B2 (en) System and method for determining a transmission order for packets at a node in a wireless communication network
US8718089B2 (en) Aggregation and fragmentation of multiplexed downlink packets
US20070297375A1 (en) System and method for data transmission in an ad hoc communication network
JP4734335B2 (ja) ネットワークアレイ、転送装置及び転送装置の動作方法
US7542478B1 (en) System and method for rate limiting in multi-hop wireless ad hoc networks
JP2009105989A (ja) ワイヤレスローカルエリアネットワーク(WLANs)に対する、選択的通信速度とスケジューリング制御および関連方法を有するアクセスポイント
WO2009096332A1 (ja) マルチホップ無線端末およびそのマルチホップ無線端末におけるトラヒック制御方法
EP2073453B1 (en) Communication method in a network comprising a primary network and a secondary network
CN101998296A (zh) 一种空口服务质量QoS的控制方法和系统
KR20220037484A (ko) 무선 근거리 네트워크(wlan) 스테이션들에서의 rta 큐 관리
US20070165670A1 (en) Base station and wireless terminal
JP4961939B2 (ja) 無線通信システム、無線通信装置、無線通信方法およびプログラム
US9042260B2 (en) Multi-hop wireless networks
JP3759734B2 (ja) 通信システム、通信装置及び通信方法
KR100900942B1 (ko) 멀티채널 멀티인터페이스 무선네트워크에서의 패킷전송을위한 방법 및 장치
JP5202989B2 (ja) 無線通信ネットワーク、無線通信装置、通信選択方法、情報配信プログラムおよび記録媒体
WO2009096423A1 (ja) ネットワークシステム、ノード、パケットフォワーディング方法、プログラム及び記録媒体
JP5848956B2 (ja) 通信装置
Shafiq et al. A complete transmission acknowledgement scheme for VANETs
Brahma et al. A load-balancing and push-out scheme for supporting QOS in MANETs
Seyedzadegan et al. The TCP fairness in WLAN: a review
Ngo et al. Avoiding bottlenecks due to traffic aggregation at relay nodes in multi-hop wireless networks
Romdhani et al. A cross-layer feature for an efficient forwarding strategy in wireless ad hoc networks
JP4633691B2 (ja) Tdma通信方法、tdma送信装置及びtdma通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120228

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120312

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150406

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees