本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
図1は、この発明の実施の形態による無線ネットワークの概略図である。この発明の実施の形態による無線ネットワーク10は、コグニティブ基地局1,2と、無線装置3,4とを備える。
コグニティブ基地局1は、有線ケーブル31によってコグニティブゲートウェイ30に接続される。コグニティブ基地局2は、有線ケーブル32によってコグニティブゲートウェイ30に接続される。コグニティブゲートウェイ30は、有線ケーブル41によって端末装置40に接続される。
コグニティブ基地局1は、後述する方法によって無線装置3,4との間で複数の無線通信方式を用いて無線通信を行なうとともに、有線ケーブル31を介してコグニティブゲートウェイ30との間で通信を行なう。
コグニティブ基地局2は、後述する方法によって無線装置3,4との間で複数の無線通信方式を用いて無線通信を行なうとともに、有線ケーブル32を介してコグニティブゲートウェイ30との間で通信を行なう。
無線装置3,4の各々は、後述する方法によって、コグニティブ基地局1および/またはコグニティブ基地局2との間で無線通信を行なう。
従って、無線装置3,4の各々は、コグニティブ基地局1および/またはコグニティブ基地局2、有線ケーブル31および/または有線ケーブル32、コグニティブゲートウェイ30および有線ケーブル41を介して端末装置40との間で通信を行なうことができる。
無線ネットワーク10においては、端末装置40は、有線ケーブル41を介してIPパケットをコグニティブゲートウェイ30へ送信し、コグニティブゲートウェイ30は、端末装置40から受信したIPパケットを有線ケーブル31,32を介してそれぞれコグニティブ基地局1,2へ送信する。
そして、コグニティブ基地局1,2は、後述する方法によって、複数の無線リンクを用いてIPパケットを無線装置3,4へ送信する。
図2は、図1に示すコグニティブ基地局1の構成を示す概略ブロック図である。コグニティブ基地局1は、無線機11〜13と、モニターモジュール14と、分配モジュール15と、CCLキュー16,17と、CARPテーブル18と、CCLキュー管理モジュール19と、通信モジュール20とを含む。
無線機11〜13は、データリンク層に属し、それぞれ、キュー11A,12A,13Aを有する。そして、無線機11〜13は、相互に異なる無線通信方式によって無線装置3,4との間で無線通信を行なう。より具体的には、無線機11〜13の各々は、分配モジュール15によって分配されたパケットを無線装置3,4へ送信するとともに、無線装置3,4から受信したパケットを通信モジュール20へ出力する。
モニターモジュール14は、コグニティブ層に属し、後述する方法によって、一定期間ごとに無線機11〜13の各々におけるパケットPKTの推定実効スループットを検出する。そして、モニターモジュール14は、その検出した複数の推定実効スループットに基づいて、後述する方法によって、無線機11〜13の各々における推定送信所要時間を演算する。
そうすると、モニターモジュール14は、推定実効スループットおよび推定送信所要時間をCARPテーブル18に格納するとともに、CARPテーブル18に格納された推定実効スループットおよび推定送信所要時間を更新する。
分配モジュール15は、コグニティブ層に属し、CCLキュー16,17の状態を周期的にCCLキュー管理モジュール19に問い合わせる。そして、分配モジュール15は、CCLキュー16,17のいずれかを指定するための指定信号を受けると、その指定信号によって指定されたCCLキューqn(CCLキュー16,17のいずれか)からパケットPKTを取り出す。その後、分配モジュール15は、CARPテーブル18を参照して、無線機11〜13のうち、CCLキューqnに格納されたパケットPKTの送信先へパケットPKTを送信可能な無線機Meff(=例えば、無線機11〜13)を決定する。
そうすると、分配モジュール15は、CCLキューqnから取り出したパケットPKTを後述する方法によって無線機Meffへ割り当てる。
より具体的には、分配モジュール15は、CARPテーブル18を参照して、無線機Meff(=無線機11〜13)の推定送信所要時間を読み出す。また、分配モジュール15は、一定周期でCCLキューqnに格納されたパケットの個数PqをCCLキュー管理モジュール19から受ける。そして、分配モジュール15は、パケットの個数Pqが正(Pq>0)であるとき、後述する方法によって、CCLキューqnから読み出したパケットを無線機11〜13における推定送信所要時間の合計が最小になるように無線機Meffに分配する。更に、分配モジュール15は、無線機11〜13にパケットを割り当てたときの各無線機Meffにおける負荷をパケットの送信所要時間で管理するための時間資源(RT:Resource Time)を用いて、後述する方法によって、無線機11〜13におけるロードバランスを取る。
また、分配モジュール15は、パケットPKTを無線機11〜13に割り当てると、各無線機11〜13に対応してCARPテーブル18に格納された時間資源RTを後述する方法によって更新する。
CCLキュー16,17は、コグニティブ層に属し、パケットPKTの送信先に対応して設けられる。より具体的には、コグニティブ基地局1においては、CCLキュー16は、パケットPKTの送信先である無線装置3に対応して設けられ、無線装置3へ送信されるパケットPKTを格納する。また、CCLキュー17は、パケットPKTの送信先である無線装置4に対応して設けられ、無線装置4へ送信されるパケットPKTを格納する。
CARPテーブル18は、コグニティブ層に属し、各送信先である無線装置への通信に利用可能な無線リンク、その無線リンクのリンク品質および無線通信に利用可能な無線資源量を格納する。
CCLキュー管理モジュール19は、コグニティブ層に属し、通信モジュール20から受け取ったパケットPKTを各送信先ごとにCCLキュー16,17に格納する。この場合、CCLキュー管理モジュール19は、通信モジュール20から受け取ったパケットPKTの送信先に対応するCCLキューが存在しない場合、新たなCCLキューを最後尾(=CCLキュー17の次)に追加し、その追加したCCLキューにパケットPKTを格納する。
また、CCLキュー管理モジュール19は、CCLキュー16,17の状態を監視し、CCLキュー16,17が、一定期間、使用されていない場合、その使用されていないCCLキューを削除する。
更に、CCLキュー管理モジュール19は、CCLキュー16,17から1つのCCLキューqnをラウンドロビン方式で順次選択する。そして、CCLキュー管理モジュール19は、分配モジュール15からの問合わせに応じて、その選択したCCLキューを指定するための指定信号を生成して分配モジュール15へ出力する。また、CCLキュー管理モジュール19は、その選択したCCLキューqnに格納されたパケットPKTの有無を分配モジュール15へ出力する。
更に、CCLキュー管理モジュール19は、無線通信のための時間資源RTをCARPテーブル18に格納することにより、各CCLキュー16,17に時間資源RTを付与する。
通信モジュール20は、インターネット層、トランスポート層およびアプリケーション層に属する各種のモジュールからなる。そして、通信モジュール20は、データに基づいてTCP(Transmission Control Protocol)パケットを生成し、その生成したTCPパケットに基づいて、IPパケットを生成する。IPパケットは、IPヘッダと、TCPパケットを格納するためのIPデータ部とからなる。そして、通信モジュール20は、TCPパケットを生成すると、その生成したTCPパケットをIPデータ部に格納してIPパケットを生成し、その生成したIPパケットをキュー16に格納する。
なお、図1に示すコグニティブ基地局2および無線装置3,4の各々は、図2に示すコグニティブ基地局1と同じ構成からなる。この場合、コグニティブ基地局2のCCLキュー16,17は、それぞれ、パケットPKTの送信先である無線3,4に対応して設けられ、無線装置3,4へ送信するためのパケットPKTを格納する。また、無線装置3,4のCCLキュー16,17は、それぞれ、パケットPKTの送信先であるコグニティブ基地局1,2に対応して設けられ、コグニティブ基地局1,2へ送信するためのパケットPKTを格納する。
図3は、送信所要時間の概念図である。無線機11〜13は、それぞれ、キュー11A,12A,13Aを有する。そして、各無線機11〜13において、パケットPKTは、タイミングt1でキュー11A,12A,13Aに格納され、タイミングt2でキュー11A,12A,13Aの先頭に達する。
その後、パケットPKTは、タイミングt3でキュー11A,12A,13Aから取り出されて送信先へ送信される。そして、パケットPKTを送信した無線機(無線機11〜13のいずれか)は、タイミングt4で送信先から確認応答(ACK:Acknowledge)を受信する。
この発明においては、タイミングt1からタイミングt4までの時間が計測され、その計測された時間のa(aは2以上の整数)個のパケット分についての平均値が各無線機11〜13における送信所要時間と定義される。
このように、送信所要時間は、各無線機11〜13においてパケットPKTがキュー11A,12A,13Aに格納されてから送信先へ送信され、送信先からACKが戻ってくるまでの時間(タイミングt1からタイミングt4まで)のa個のパケット分についての平均値と定義される。
従って、送信所要時間は、MAC(Media Access Control)層における再送を含む概念であり、各無線機11〜13が各無線通信方式に従って行なう無線通信の無線通信環境によって変化し得る。また、ACKフレームが各無線通信方式によって異なるので、送信所要時間は、無線通信方式によっても変化し得る。
送信所要時間を求める方法について説明する。モニターモジュール14は、ある送信先xに対して送信したパケットをpx={p1,p2,・・・,pm}とし、無線リンクlk(無線機11〜13による無線リンクのいずれか)における最新のa個のパケット分についての実効スループットを次式によって検出する。
なお、モニターモジュール14は、単位時間当たりに送信先への送信が成功したパケット数を検出し、その検出したパケット数のパケットに含まれるビット数を演算することによって実効スループットを検出する。
モニターモジュール14は、無線機11〜13における実効スループットRe(l11)〜Re(l13)を検出すると、その検出した実効スループットRe(l11)〜Re(l13)とパケットサイズS(Pn)とを次式に代入して各無線リンクにおける送信所要時間Te(Pn,lk)を求める。この場合、モニターモジュール14は、各キュー11A,12A,13Aから取り出されるパケットPKTを監視することにより、パケットサイズS(Pn)を検知する。
各無線リンクにおける送信所要時間Te(Pn,lk)は、パケットPnと無線機11〜13との組み合わせによって変化し得る。式(2)から明らかなように、各無線リンクにおける送信所要時間Te(Pn,lk)は、パケットサイズS(Pn)を実効スループットRe(lk)で除算したものに相当し、パケットPnと無線機11〜13との組み合わせによって、式(2)に代入するパケットサイズS(Pn)および実効スループットRe(lk)が変わるからである。
パケットP1〜P3を無線機11〜13に分配する場合を想定する。この場合、パケットP1〜P3は、それぞれ、パケットサイズS(P1)〜S(P3)を有する。
パケットP1〜P3をそれぞれ無線機11〜13に分配するとき、モニターモジュール14は、パケットサイズS(P1)および実効スループットRe(l11)を式(2)に代入して無線機11における送信所要時間Te(P1,l11)を演算し、パケットサイズS(P2)および実効スループットRe(l12)を式(2)に代入して無線機12における送信所要時間Te(P2,l12)を演算し、パケットサイズS(P3)および実効スループットRe(l13)を式(2)に代入して無線機13における送信所要時間Te(P3,l13)を演算する。
また、パケットP2,P3,P1をそれぞれ無線機11〜13に分配するとき、モニターモジュール14は、パケットサイズS(P2)および実効スループットRe(l11)を式(2)に代入して無線機11における送信所要時間Te(P2,l11)を演算し、パケットサイズS(P3)および実効スループットRe(l12)を式(2)に代入して無線機12における送信所要時間Te(P3,l12)を演算し、パケットサイズS(P1)および実効スループットRe(l13)を式(2)に代入して無線機13における送信所要時間Te(P1,l13)を演算する。このように、各無線機における送信所要時間Te(Pn,lk)は、パケットPnと無線機11〜13による無線リンクlkとの組み合わせによって変化する。
式(2)によって演算した送信所要時間Te(Pn,lk)は、各無線機11〜13がa個のパケットを送信したときの各無線機11〜13における送信所要時間の実績であり、パケットサイズを反映したものである。
そして、この発明においては、既に送信したa個のパケット分の送信所要時間を、これから割り当てるパケットの推定送信所要時間とする。つまり、パケットの無線機11〜13への分配が生じたときに、それ以前に実際に送信されたa個のパケット分の送信所要時間(=実績送信所要時間)を、これから割り当てられるパケットを各無線機11〜13が送信するのに要する時間とする。
また、この発明においては、既に送信したa個のパケット分の実効スループットを、これから割り当てるパケットの推定実効スループットとする。つまり、パケットの無線機11〜13への分配が生じたときに、それ以前に実際に送信されたa個のパケット分の実効スループットを、これから割り当てられるパケットを各無線機11〜13が送信するときの推定実効スループットとする。
従って、推定実効スループットは、式(1)を用いて検出され、推定送信所要時間は、式(2)を用いて演算される。
モニターモジュール14は、上述した方法によって、推定実効スループットを検出し、その検出した推定実効スループットに基づいて推定送信所要時間を演算する。そして、モニターモジュール14は、推定実効スループットおよび推定送信所要時間をCARPテーブル18に格納する。
次に、パケットの分配方法について説明する。分配モジュール15は、上述した方法によって求められた各無線機11〜13における推定送信所要時間Te(Pn,lk)をCARPテーブル18から取り出すと、その取り出した推定送信所要時間Te(Pn,lk)を次式に代入して3個の無線機11〜13における推定送信所要時間の合計Te totalを演算する。
式(3)において、Mは、無線機11〜13の個数である。また、a(Pi)は、i個のパケットを3個の無線機11〜13へ分配するときのi個のパケットと3個の無線機11〜13との組合せを示す集合である。
分配モジュール15は、推定送信所要時間の合計Te totalを演算すると、その演算した推定送信所要時間の合計Te totalを次式に代入して推定送信所要時間の合計Te totalが最小になるときのパケットPnと無線機11〜13との最適組合せを決定する。
なお、式(4)において、/A* Kは、パケットPnと無線機11〜13との最適組合せを示すベクトル集合である。
そして、分配モジュール15は、パケットPnと無線機11〜13との最適組合せを決定すると、その決定した最適組合せに従ってパケットを無線機11〜13に分配する。
分配モジュール15は、パケットを無線機11〜13に分配するとき、CARPテーブル18から各無線機11〜13に与えられた時間資源RTを取り出し、その取り出した時間資源RTに基づいて、無線機11〜13におけるロードバランスを取る。
図4は、図2に示すCARPテーブル18の概念図である。CARPテーブル18は、送信先の個数と同じ個数のCARPサブテーブル18−1,18−2,・・・からなる。
CARPサブテーブル18−1は、送信先である無線装置Aに対応しており、CARPテーブル18−2は、送信先である無線装置Bに対応している。
CARPテーブル18がコグニティブ基地局1において作成される場合、送信先である無線装置Aは、例えば、無線装置3であり、送信先である無線装置Bは、例えば、無線装置4である。
CARPサブテーブル18−1,18−2,・・・の各々は、無線機11〜13と、推定送信所要時間と、推定実効スループットと、時間資源とを含む。そして、推定送信所要時間、推定実効スループットおよび時間資源は、無線機11〜13の各々に対応付けられる。
即ち、CARPサブテーブル18−1において、推定送信所要時間Te(Pn,l11)_A,Te(Pn,l12)_A,Te(Pn,l13)_Aは、それぞれ、無線機11〜13に対応付けられ、推定実効スループットRe(l11)_A,Re(l12)_A,Re(l13)_Aは、それぞれ、無線機11〜13に対応付けられ、時間資源RT(11)_A,RT(12)_A,RT(13)_Aは、それぞれ、無線機11〜13に対応付けられる。
また、CARPサブテーブル18−2において、推定送信所要時間Te(Pn,l11)_B,Te(Pn,l12)_B,Te(Pn,l13)_Bは、それぞれ、無線機11〜13に対応付けられ、推定実効スループットRe(l11)_B,Re(l12)_A,Re(l13)_Bは、それぞれ、無線機11〜13に対応付けられ、時間資源RT(11)_B,RT(12)_B,RT(13)_Bは、それぞれ、無線機11〜13に対応付けられる。
推定送信所要時間および推定実効スループットは、モニターモジュール14によって、CARPサブテーブル18−1,18−2に格納されるとともに、随時、更新される。
また、時間資源は、CCLキュー管理モジュール19によってCARPサブテーブル18−1,18−2に最初に格納され、分配モジュール15によって更新される。
なお、CARPサブテーブル18−1,18−2の各々は、3個の無線機11〜13を含むが、コグニティブ基地局1,2および無線装置3,4の各々が2個または4個以上の無線機を備える場合、CARPサブテーブル18−1,18−2の各々は、2個または4個以上の無線機を含み、推定送信所要時間、推定実効スループットおよび時間資源は、2個または4個以上の無線機の各々に対応付けられる。
図5は、時間資源RTの概念を説明するための図である。分配モジュール15は、パケットの分配が開始された場合、CARPテーブル18を参照して、時間資源RTの初期値RT0が各無線機11〜13に与えられていることを検知する(図5の(a)参照)。
そして、分配モジュール15は、CCLキュー16に格納されたパケットPKTを無線装置3へ送信する場合、CCLキュー16から3個のパケットPKT1〜PKT3を読み出し、その読み出した3個のパケットPKT1〜PKT3と3個の無線機11〜13との最適組合せをCARPテーブル18を参照して3個の無線機11〜13における3個の推定送信所要時間の合計が最小になるように決定する。その結果、パケットPKT1は、無線機11に分配され、パケットPKT3は、無線機12に分配され、パケットPKT2は、無線機13に分配されるものとする。
そうすると、分配モジュール15は、時間資源RTの初期値RT0から無線機11の推定送信所要時間Te(Pn,l11)_3を減算して無線機11における時間資源RTを初期値RT0から値RT1(11)_3に更新する。分配モジュール15は、同様にして、時間資源RTの初期値RT0から無線機12の推定送信所要時間Te(Pn,l12)を減算して無線機12における時間資源RTを初期値RT0から値RT1(12)_3に更新し、時間資源RTの初期値RT0から無線機13の推定送信所要時間Te(Pn,l13)を減算して無線機13における時間資源RTを初期値RT0から値RT1(13)_3に更新する(図5の(b)参照)。
以後、分配モジュール15は、各無線機11〜13にパケットを分配するごとに各無線機11〜13における時間資源RTの現在の値から各無線機11〜13における推定送信所要時間Te(Pn,lk)を減算して各無線機11〜13における時間資源RTを更新する。そして、時間資源RTは、分配モジュール15が各無線機11〜13における時間資源RTの更新を繰り返し行なうことによってプラスからマイナスになる。従って、この発明における時間資源は、プラスからマイナスに変化する概念からなる。
図6は、時間資源RTを用いたパケット分配の第1の例を示す図である。分配モジュール15が上述した方法によってパケットを無線機11〜13に分配する動作を繰り返した結果、無線機11における時間資源RT(11)は、値RT2(11)_3に更新され、無線機12における時間資源RT12は、値RT2(12)_3に更新され、無線機13における時間資源RT13は、値RT2(13)_3に更新される。この場合、値RT2(11)_3,RT2(13)_3は、正であり、値RT2(12)_3は、負である。
そうすると、分配モジュール15は、負の値RT2(12)_3からなる時間資源RT(12)を有する無線機12をパケット分配の対象から除外し、正の値RT2(11)_3,RT2(13)_3からなる時間資源RT(11),RT(13)を有する2個の無線機11,13へパケットPKT4,PKT5を分配する。即ち、分配モジュール15は、正の時間資源RT(11)_3,RT(13)_3を有する無線機11,13を利用可能な無線機と看做し、その利用可能な無線機11,13の個数と同じ個数のパケットPKT4,PKT5を無線機11,13に分配する。
図7は、時間資源RTを用いたパケット分配の第2の例を示す図である。無線機11の時間資源RT(11)は、値RT3(11)_3(>0)からなり、無線機12の時間資源RT(12)は、値RT3(12)_3(>0)からなり、無線機13の時間資源RT(13)は、値RT3(13)_3(>0)からなる。従って、分配モジュール15は、無線機11〜13の全てを利用可能な無線機と判定する。
そして、分配モジュール15は、CCLキュー16に格納されたパケットPKT6,PKT7の個数(=2個)をCCLキュー管理モジュール19から受ける。
そうすると、分配モジュール15は、CCLキュー16に格納されたパケットPKT6,PKT7の個数(=2個)を利用可能な無線機11〜13の個数(=3個)と比較し、CCLキュー16に格納されたパケットの個数が利用可能な無線機の個数よりも小さいと判定する。
分配モジュール15は、CCLキュー16からパケットPKT6,PKT7を読み出し、その読み出したパケットPKT6,PKT7と無線機11,13との最適組合せをパケットを分配しない無線機の推定送信所要時間を“0”とすることで上述した方法によって決定し、その決定した最適組合せに従ってパケットPKT6,PKT7をそれぞれ無線機11,13に分配する。
このように、CCLキュー16に格納されたパケットの個数が利用可能な無線機の個数よりも小さいとき、CCLキュー16に格納されたパケットの個数と同じ個数の無線機を推定送信所要時間の和が最小となる組合せに基づき選択する。これにより、無線機11〜13の時間資源RTの総和の更なる減少を抑制し、複数の無線機11〜13間における時間資源RTを効率的に利用できる。
図8は、時間資源RTを用いたパケット分配の第3の例を示す図である。無線機11の時間資源RT(11)は、値RT4(11)_3(>0)からなり、無線機12の時間資源RT(12)は、値RT4(12)_3(<0)からなり、無線機13の時間資源RT(13)は、値RT4(13)_3(<0)からなる(図8の(a)参照)。
CCLキュー16に格納されたパケットPKTを無線装置3へ送信し、その後、CCLキュー17に格納されたパケットPKTを無線装置4へ送信し、更に、その後、CCLキュー16に格納されたパケットPKTの無線装置3への送信を開始する時に、無線機11〜13の時間資源RT(11)〜RT(13)がそれぞれ値RT4(11)_3,値RT4(12)_3,値RT4(13)_3に設定されている場合を想定する。
分配モジュール15は、無線機11〜13を用いてCCLキュー16に格納されたパケットPKTの無線装置3への送信を開始する場合、CCLキュー管理モジュール19からCCLキュー16を指定するための指定信号を受けると、CARPテーブル18(=CARPサブテーブル18−1)を参照して、時間資源RT(11)〜RT(13)をリセットする。
より具体的には、分配モジュール15は、正の値RT4(11)_3からなる時間資源RT(11)に対しては、初期値RT0を与えることによって時間資源RT(11)をリセットし、負の値RT4(12)_3,RT4(13)_3からなる時間資源RT(12),RT(13)に対しては、値RT4(12)_3,RT4(13)_3に初期値RT0を加算することによって時間資源RT(12),RT(13)をリセットする。
その結果、無線機11の時間資源RT(11)は、値RT5(11)_3(=RT0>0)に更新され、無線機12の時間資源RT(12)は、値RT5(12)_3(>0)に更新され、無線機13の時間資源RT(13)は、値RT5(13)_3(>0)に更新される(図8の(b)参照)。
そして、分配モジュール15は、更新された時間資源RT(11)〜RT(13)を用いて、上述した方法によって、パケットを無線機11〜13に分配するときの無線機11〜13間におけるロードバランスを取る。
図8の(b)に示すように、一定値である初期値RT0は、値RT4(12)_3,RT4(13)_3に加算されるため、更新された値RT5(12)_3,RT5(13)_3は、更新前の値RT4(12)_3,RT4(13)_3が反映される。即ち、更新前のマイナス分を一定値(=初期値RT0)から減算した後の値が時間資源RT(12),RT(13)として無線機12,13に与えられる。
一方、時間資源RT(11)は、更新前、正の値RT4(11)_3からなるので、更新前の値RT4(11)_3を反映させずに初期値RT0を与えることによって時間資源RT(11)を更新する。
その結果、時間資源RTが相対的に長い無線機に相対的に多くのパケットが分配され、時間資源RTが相対的に短い無線機に相対的に少ないパケットが分配され、パケットを無線機11〜13に分配するときの無線機11〜13間のロードバランスを取ることができる。
なお、CCLキュー17に格納されたパケットPKTを無線機11〜13によって送信する場合も、パケットPKTは、上述した方法によって無線機11〜13に分配される。
次に、無線ネットワーク10におけるパケットの送信動作について説明する。図9から図11は、それぞれ、無線ネットワーク10におけるパケットの送信動作を説明するための第1から第3の図である。また、図12から図18は、それぞれ、CARPテーブル18の第1から第7の具体例を示す図である。
なお、以下においては、コグニティブ基地局1のCCLキュー16に格納されたパケットPKTを無線装置3へ送信し、CCLキュー17に格納されたパケットPKTを無線装置4へ送信する場合の動作について説明する。この場合、CCLキュー16,17は、それぞれ、無線装置3,4に対応して設けられる。
また、無線機11〜13を用いて無線装置3へパケットPKTを送信し、無線機11,12を用いて無線装置4へパケットPKTを送信するものとする。この場合、コグニティブ基地局1のCCLキュー管理モジュール19は、無線機11〜13がパケットPKTを無線装置3へ送信可能であり、無線機11,12がパケットPKTを無線装置4へ送信可能であることを事前に検知していることを前提とする。
無線装置3,4へのパケットPKTの送信を開始する場合、コグニティブ基地局1のCCLキュー管理モジュール19は、ラウンドロビン方式によってCCLキュー16を最初に選択し、分配モジュール15からの問合せに応じて、CCLキュー16を指定するための指定信号を生成して分配モジュール15へ出力する。
また、コグニティブ基地局1のCCLキュー管理モジュール19は、CCLキュー16に格納されたパケットPKTの個数Pqを検出して分配モジュール15へ出力する。
更に、コグニティブ基地局1のCCLキュー管理モジュール19は、CARPテーブル18Aのうち、無線装置3を送信先とするCARPサブテーブル18−1Aにおいて、無線機11〜13の時間資源として初期値RT0を格納する(図12参照)。この場合、CARPサブテーブル18−1Aの推定送信所要時間および推定実効スループットの欄は、空白である。
これによって、初期値RT0からなる時間資源RT(11)〜RT(13)がそれぞれ無線機11〜13に付与される(図9の(a)参照)。
そして、コグニティブ基地局1の分配モジュール15は、CCLキュー管理モジュール19からの指定信号によってCCLキュー16が選択されたことを検知し、CARPテーブル18AのCARPサブテーブル18−1Aを参照して、初期値RT0からなる時間資源RT(11)〜RT(13)が無線機11〜13に付与されていることを検知する。そして、コグニティブ基地局1の分配モジュール15は、無線機11〜13を無線装置3へパケットPKTを送信可能な無線機として決定する。
その後、コグニティブ基地局1の分配モジュール15は、CCLキュー16に格納されたパケット数Pqが無線装置3へパケットPKTを送信可能な無線機11〜13の個数(=3個)よりも多いことを検出し、CCLキュー16から3個のパケットPKT1,PKT3,PKT6を読み出す。
この場合、CARPサブテーブル18−1Aの推定送信所要時間は、空白であるので、コグニティブ基地局1の分配モジュール15は、読み出した3個のパケットPKT1,PKT3,PKT6を任意にそれぞれ無線機11〜13に割り当てる。
そして、コグニティブ基地局1の無線機11〜13は、それぞれ、パケットPKT1,PKT3,PKT6を無線装置3へ送信するとともに、無線装置3から確認応答(=ACK)を受信する。
そうすると、コグニティブ基地局1のモニターモジュール14は、無線機11〜13の各々における推定実効スループットを上述した方法によって検出し、その検出した3個の推定実効スループットに基づいて、上述した方法によって、無線機11〜13の各々における推定送信所要時間を演算する。そして、コグニティブ基地局1のモニターモジュール14は、3個の推定実効スループットおよび3個の推定送信所要時間を無線機11〜13に対応付けてCARPテーブル18AのCARPサブテーブル18−1Aに格納する。
また、分配モジュール15は、次の3個のパケットPKT8,PKT9,PKT11をCCLキュー16から読み出すと、初期値RT0からなる時間資源RT(11)〜RT(13)からそれぞれ推定送信所要時間Te(Pn,l11)1_3,Te(Pn,l12)1_3,Te(Pn,l13)1_3を減算し、時間資源RT(11)〜RT(13)の値を初期値RT0から値RT1(11)_3,RT1(12)_3,RT1(13)_3に更新する(図9の(b)参照)。
これによって、CARPテーブル18Aは、CARPテーブル18Bに更新され、CARPサブテーブル18−1Aは、CARPサブテーブル18−1Bに更新される(図13参照)。
その後、コグニティブ基地局1の分配モジュール15は、無線機11〜13における推定送信所要時間Te(Pn,l11)1_3,Te(Pn,l12)1_3,Te(Pn,l13)1_3を用いて、上述した方法によって、3個の推定送信所要時間の合計が最小になるように3個のパケットPKTを無線機11〜13に分配することを繰り返し実行する。
そして、CARPテーブル18BがCARPテーブル18Cに更新され、無線機11〜13の時間資源RT(11)〜RT(13)がそれぞれ負の値RTi(11)_3,RTi(12)_3,RTi(13)_3になると(図10の(a)参照)、コグニティブ基地局1のCCLキュー管理モジュール19は、CARPテーブル18CのCARPサブテーブル18−1Cを参照して、無線機11〜13の時間資源RT(11)〜RT(13)の全てが負になったことを検知し、次のCCLキュー17を選択する。即ち、コグニティブ基地局1のCCLキュー管理モジュール19は、CCLキューを切換える。
そして、コグニティブ基地局1のCCLキュー管理モジュール19は、CCLキュー17を選択すると、分配モジュール15からの問合せに応じて、CCLキュー17を指定するための指定信号を生成して分配モジュール15へ出力する。
また、コグニティブ基地局1のCCLキュー管理モジュール19は、CCLキュー17に格納されたパケットPKTの個数Pqを検出して分配モジュール15へ出力する。
更に、コグニティブ基地局1のCCLキュー管理モジュール19は、送信先である無線装置4に対応して設けられたCARPサブテーブル18−2Aの無線機11,12に対応する時間資源RT(11),RT(12)に初期値RT0を格納する(図14参照)。
そして、コグニティブ基地局1の分配モジュール15は、CCLキュー管理モジュール19からの指定信号に基づいて、CCLキュー17が選択されたことを検知し、CARPサブテーブル18−2Aを参照して、推定送信所要時間が空白であることを検知する。
従って、コグニティブ基地局1の分配モジュール15は、CCLキュー17から2個のパケットPKT2,PKT4を読み出し、その読み出した2個のパケットPKT2,PKT4を任意にそれぞれ無線機11,12へ分配する(図10の(b)参照)。
そうすると、コグニティブ基地局1の無線機11,12は、それぞれ、パケットPKT2,PKT4を無線装置4へ送信するとともに、無線装置4から確認応答(=ACK)を受信する。
そして、コグニティブ基地局1のモニターモジュール14は、無線機11,12の各々における推定実効スループットを上述した方法によって検出し、その検出した2個の推定実効スループットに基づいて、上述した方法によって、無線機11,12の各々における推定送信所要時間を演算する。そして、コグニティブ基地局1のモニターモジュール14は、2個の推定実効スループットおよび2個の推定送信所要時間を無線機11,12に対応付けてCARPテーブル18CのCARPサブテーブル18−2Aに格納する。
また、分配モジュール15は、次の2個のパケットPKT5,PKT7をCCLキュー17から読み出すと、初期値RT0からなる時間資源RT(11),RT(12)からそれぞれ推定送信所要時間Te(Pn,l11)1_4,Te(Pn,l12)1_4を減算し、時間資源RT(11),RT(12)の値を初期値RT0から値RT1(11)_4,RT1(12)_4に更新する(図10の(b)参照)。
これによって、CARPテーブル18Cは、CARPテーブル18Dに更新され、CARPサブテーブル18−2Aは、CARPサブテーブル18−2Bに更新される(図15参照)。
その後、コグニティブ基地局1の分配モジュール15は、無線機11,12における推定送信所要時間Te(Pn,l11)1_4,Te(Pn,l12)1_4を用いて、上述した方法によって、2個の推定送信所要時間の合計が最小になるように2個のパケットPKTを無線機11,12に分配することを繰り返し実行する。
そして、CARPテーブル18DがCARPテーブル18Eに更新され、無線機11,12の時間資源RT(11),RT(12)がそれぞれ負の値RTj(11)_4,RTj(12)_4になると(図11の(a)参照)、コグニティブ基地局1のCCLキュー管理モジュール19は、CARPテーブル18EのCARPサブテーブル18−2Cを参照して、無線機11,12の時間資源RT(11),RT(12)の全てが負になったことを検知し、次のCCLキュー16を選択する。即ち、コグニティブ基地局1のCCLキュー管理モジュール19は、CCLキューを切換える。
そして、コグニティブ基地局1のCCLキュー管理モジュール19は、CCLキュー16を選択すると、分配モジュール15からの問合せに応じて、CCLキュー16を指定するための指定信号を生成して分配モジュール15へ出力する。
また、コグニティブ基地局1のCCLキュー管理モジュール19は、CCLキュー16に格納されたパケットPKTの個数Pqを検出して分配モジュール15へ出力する。
コグニティブ基地局1の分配モジュール15は、CCLキュー管理モジュール19から指定信号およびパケットPKTの個数Pqを受け、その受けた指定信号に基づいて、CCLキュー16が選択されたことを検知する。
そして、コグニティブ基地局1の分配モジュール15は、前回の無線装置3へのパケットPKTの送信時における最終的な時間資源RTi(11)_3,RTi(12)_3,RTi(13)_3に初期値RT0を加算して時間資源RTi(11)_3,RTi(12)_3,RTi(13)_3をそれぞれ時間資源RT0(11)_3,RT0(12)_3,RT0(13)_3に更新する(図11の(b)参照)。これによって、CARPテーブル18Eは、CARPテーブル18Fに更新され、CARPサブテーブル18−1Cは、CARPテーブル18−1Dに更新される(図17参照)。
そうすると、コグニティブ基地局1の分配モジュール15は、CCLキュー16から3個のパケットPKT11,PKT13,PKT15を読み出す。そして、コグニティブ基地局1の分配モジュール15は、CARPサブテーブル18−1Dを参照して、推定送信所要時間Te(Pn,l11)i_3,Te(Pn,l12)i_3,Te(Pn,l13)i_3を読み出し、その読み出した3個の推定送信所要時間Te(Pn,l11)i_3,Te(Pn,l12)i_3,Te(Pn,l13)i_3の合計が最小になるように3個のパケットPKT11,PKT15,PKT13をそれぞれ無線機11〜13に割り当てる。
そうすると、コグニティブ基地局1の無線機11〜13は、それぞれ、パケットPKT11,PKT15,PKT13を無線装置3へ送信するとともに、無線装置3から確認応答(=ACK)を受信する。
そして、コグニティブ基地局1のモニターモジュール14は、無線機11〜13の各々における推定実効スループットを上述した方法によって検出し、その検出した3個の推定実効スループットに基づいて、上述した方法によって、無線機11〜13の各々における推定送信所要時間を演算する。そして、コグニティブ基地局1のモニターモジュール14は、3個の推定実効スループットおよび3個の推定送信所要時間によって、CARPテーブル18FのCARPサブテーブル18−1D中の推定送信所要時間および推定実効スループットをそれぞれ更新する。
また、コグニティブ基地局1の分配モジュール15は、次の3個のパケットPKT16,PKT17,PKT18をCCLキュー16から読み出すと、時間資源RT0(11)_3〜RT0(13)_3からそれぞれ推定送信所要時間Te(Pn,l11)1_3〜Te(Pn,l13)1_3を減算し、時間資源RT0(11)_3〜RT0(13)_3を時間資源RT1(11)_3〜RT1(13)_3に更新する(図11の(b)参照)。
これによって、CARPテーブル18Fは、CARPテーブル18Gに更新され、CARPサブテーブル18−1Dは、CARPテーブル18−1Eに更新される(図18参照)。
それ以後、コグニティブ基地局1は、上述した動作を繰り返し実行し、パケットを2個の送信先(=無線装置3,4)へ送信する。
上述したように、この発明においては、無線機11〜13を用いて無線装置3へパケットを送信し、無線機11,12を用いて無線装置4へパケットを送信する場合、無線機11〜13(または無線機11,12)に時間資源RT(11)〜RT(13)(または時間資源RT(11),RT(12))を与えるとともに、各無線機11〜13(または各無線機11,12)が1個のパケットを送信すると、時間資源RT(11)〜RT(13)(または時間資源RT(11),RT(12))から推定送信所要時間を減算して時間資源RT(11)〜RT(13)(または時間資源RT(11),RT(12))を更新し、無線機11〜13(または無線機11,12)の各々における時間資源が負になると、CCLキューを次のCCLキューに切換えてパケットを別の送信先へ送信する。
その結果、コグニティブ基地局1がパケットを無線装置3へ送信するために無線機11〜13を占有する占有時間TOCUP1は、コグニティブ基地局1がパケットを無線装置4へ送信するために無線機11,12を占有する占有時間TOCUP2と略同じになり、占有時間TOCUP1,TOCUP2は、共に、時間資源の初期値RT0以内になる。
従って、この発明によれば、ある1つの送信先へパケットを送信するために無線資源(無線機11〜13)を占有することを抑制でき、複数の無線装置が同一システムまたは同一チャネルを共有する場合にもスループットの低下を抑制できる。
上述した時間資源RTが正である無線機は、パケット分配の対象となるのであるから、以下においては、時間資源RTを「送信可能時間」と言う。
図19は、パケットの分配動作を説明するためのフローチャートである。なお、以下においては、コグニティブ基地局1がパケットPKTを2つの無線装置3,4へ送信するときのパケットPKTの分配動作について説明する。
一連の動作が開始されると、コグニティブ基地局1のCCLキュー管理モジュール19は、n=1を設定する(ステップS1)。なお、nは、CCLキュー16,17の総数をN(Nは2以上の整数)とした場合、第n番目に選択されるCCLキューを表す。
そして、コグニティブ基地局1のCCLキュー管理モジュール19は、後述する方法によって、CCLキューを選択する(ステップS2)。その後、コグニティブ基地局1のCCLキュー管理モジュール19は、Nullを受けたか否かを判定する(ステップS3)。ステップS3において、Nullを受けなかったと判定されたとき、一連の動作は、終了する。
一方、ステップS3において、Nullを受けたと判定されたとき、コグニティブ基地局1のCCLキュー管理モジュール19は、ステップS2において選択されたCCLキューqn(=CCLキュー16)に格納されたパケット数Pqをカウントし(ステップS4)、そのカウントしたパケット数Pqを分配モジュール15へ出力する。
その後、コグニティブ基地局1の分配モジュール15は、CCLキュー管理モジュール19からパケット数Pqを受ける。
そして、コグニティブ基地局1の分配モジュール15は、CCLキューqn(=CCLキュー16)に格納されたパケットPKTの送信先(=無線装置3)に対応するCARPテーブル18のCARPサブテーブル18−1を参照して、正の値からなる時間資源RT(11)〜RT(13)がそれぞれ無線機11〜13に付与されていることを検知し、無線機11〜13を無線装置3へパケットPKTを送信可能な無線機として決定するとともに、無線機11〜13による無線リンクの個数la(=3個)をカウントする(ステップS5)。
そうすると、コグニティブ基地局1の分配モジュール15は、パケット数Pqが無線リンクの個数laよりも小さいか否かを判定する(ステップS6)。
ステップS6において、パケット数Pqが無線リンクの個数laよりも小さいと判定されたとき、コグニティブ基地局1の分配モジュール15は、CCLキューqn(=CCLキュー16)からPq個のパケットを読み出す(ステップS7)。
一方、ステップS6において、パケット数Pqが無線リンクの個数laよりも小さくないと判定されたとき、コグニティブ基地局1の分配モジュール15は、CCLキューqn(=CCLキュー16)からla個のパケットを読み出す(ステップS8)。
そして、コグニティブ基地局1の分配モジュール15は、ステップS7またはステップS8の後、パケットの割当を行ない(ステップS9)、パケットが割り当てられた各無線機において送信可能時間から推定送信所要時間を減算して送信可能時間を更新することによって、パケットが割り当てられた無線リンクの送信可能時間を更新する(ステップS10)。
その後、コグニティブ基地局1のCCLキュー管理モジュール19は、CARPテーブル18を参照して、無線機11〜13による3個の無線リンクの送信可能時間(=時間資源RT(11)〜RT(13))の各々が負であるか否かを判定する(ステップS11)。
ステップS11において、無線機11〜13による3個の無線リンクの送信可能時間(=時間資源RT(11)〜RT(13))の各々が負でないと判定されたとき、一連の動作は、ステップS4へ戻り、ステップS11において、無線機11〜13による3個の無線リンクの送信可能時間(=時間資源RT(11)〜RT(13))の各々が負であると判定されるまで、上述したステップS4〜ステップS11が繰り返し実行される。
一方、ステップS11において、無線機11〜13による3個の無線リンクの送信可能時間(=時間資源RT(11)〜RT(13))の各々が負であると判定されたとき、コグニティブ基地局1のCCLキュー管理モジュール19は、n<Nであるか否かを更に判定する(ステップS12)。
ステップS12において、n<Nであると判定されたとき、コグニティブ基地局1のCCLキュー管理モジュール19は、n=n+1を設定する(ステップS13)。その後、一連の動作は、ステップS2へ戻り、ステップS12において、n<Nではないとい判定されるまで、上述したステップS2〜ステップS13が繰り返し実行される。
一方、ステップS12において、n<Nではないと判定されたとき、即ち、n=Nであると判定されたとき、一連の動作は、終了する。
なお、ステップS12の“YES”およびステップS13を経てステップS2が、再度、実行されることにより、次のCCLキュー17が選択される。
図20は、図19に示すステップS2の詳細な動作を説明するためのフローチャートである。図19に示すステップS1の後、コグニティブ基地局1のCCLキュー管理モジュール19は、第n番目のCCLキューqn(=CCLキュー16)を選択する(ステップS21)。
そして、コグニティブ基地局1のCCLキュー管理モジュール19は、CCLキューqn(=CCLキュー16)を指定するための指定信号を生成して分配モジュール15へ出力する。コグニティブ基地局1の分配モジュール15は、CCLキュー管理モジュール19から指定信号を受け、その受けた指定信号に基づいて、CCLキューqn(=CCLキュー16)が選択されたことを検知する。
その後、コグニティブ基地局1のCCLキュー管理モジュール19は、CCLキューqn(=CCLキュー16)の状態をチェックし(ステップS22)、CCLキューqn(=CCLキュー16)が空であるか否かを判定する(ステップS23)。
ステップS23において、CCLキューqn(=CCLキュー16)が空であると判定されたとき、一連の動作は、ステップS30へ移行する。
一方、ステップS23において、CCLキューqn(=CCLキュー16)が空でないと判定されたとき、コグニティブ基地局1のCCLキュー管理モジュール19は、CCLキューqn(=CCLキュー16)が空でないことを分配モジュール15へ通知する。
そして、コグニティブ基地局1の分配モジュール15は、m=1を設定し(ステップS24)、CARPテーブル18を参照して無線リンクlmの送信可能時間(=時間資源RT)が正であるか否かを判定する(ステップS25)。なお、mは、無線機11〜13のうち、パケットPKTの送信に利用可能な無線機による無線リンクの総数をM(Mは正の整数)とした場合、第m番目の無線リンクを表す。
ステップS25において、無線リンクlmの送信可能時間(=時間資源RT)が正であると判定されたとき、コグニティブ基地局1の分配モジュール15は、無線リンクlmの送信可能時間を初期値RT0に設定する(ステップS26)。
一方、ステップS25において、無線リンクlmの送信可能時間(=時間資源RT)が正でないと判定されたとき、コグニティブ基地局1の分配モジュール15は、無線リンクlmの送信可能時間に初期値RT0を加算する(ステップS27)。
そして、ステップS26またはステップS27の後、コグニティブ基地局1の分配モジュール15は、m<Mであるか否かを判定する(ステップS28)。
ステップS28において、m<Mであると判定されたとき、コグニティブ基地局1の分配モジュール15は、m=m+1を設定する(ステップS29)。その後、一連の動作は、ステップS25へ戻り、ステップS28において、m<Mではないと判定されるまで、上述したステップS25〜ステップS29が繰り返し実行される。
そして、ステップS28において、m<Mであると判定されたとき、即ち、m=Mであると判定されたとき、またはステップS23の“YES”の後、コグニティブ基地局1の分配モジュール15は、Nullを設定し(ステップS30)、その設定したNullをCCLキュー管理モジュール19へ出力する。
その後、一連の動作は、図19に示すステップS3へ移行する。
このように、図20に示すフローチャートを実行することによって、第n番目のCCLキューqnが選択されるとともに(ステップS21参照)、その選択されたCCLキューqnに格納されたパケットPKTを送信先へ送信可能な全ての無線機による無線リンクlMの送信可能時間がリセットされる(ステップS26,S27参照)。
なお、CCLキューqnが空である場合にも、Nullが設定され(ステップS23の“YES”およびステップS30参照)、その後、図19のステップS3〜S13が順次実行される。そして、CCLキューqnが、再度、選択されたとき、無線リンクlmの送信可能時間が正である場合も想定され、送信所要時間を時間資源RTの初期値RT0に設定する場合もある(ステップS6参照)。
図21は、図19に示すステップS9の詳細な動作を説明するためのフローチャートである。図19に示すステップS7またはステップS8の後、コグニティブ基地局1の分配モジュール15は、la個のパケットとla個の無線機との全ての組合せ(またはPq個のパケットとPq個の無線機との全ての組合せ)を設定する(ステップS91)。例えば、3個のパケットPKT1〜PKT3を3個の無線機11〜13に分配する場合、3個のパケットPKT1〜PKT3と3個の無線機11〜13との全ての組合せとして、[PKT1→無線機11/PKT2→無線機12/PKT3→無線機13],[PKT1→無線機11/PKT3→無線機12/PKT2→無線機13],[PKT2→無線機11/PKT1→無線機12/PKT3→無線機13],[PKT3→無線機11/PKT1→無線機12/PKT2→無線機13],[PKT2→無線機11/PKT3→無線機12/PKT1→無線機13],[PKT3→無線機11/PKT2→無線機12/PKT1→無線機13]の6通りの組合せを設定する。
そして、コグニティブ基地局1の分配モジュール15は、その設定した全ての組合せの各々について、CARPテーブル18を参照して、上述した式(1)〜(3)を用いて推定送信所要時間の合計を演算する(ステップS92)。
その後、コグニティブ基地局1の分配モジュール15は、演算した複数の推定送信所要時間の合計のうち、最小の推定送信所要時間の合計を選択し(ステップS93)、その選択した最小の推定送信所要時間の合計が得られたときのパケットと無線機との組合せを検出する(ステップS94)。
そうすると、コグニティブ基地局1の分配モジュール15は、その検出した組合せに従って、パケットを無線機に分配する(ステップS95)。そして、ステップS95の後、一連の動作は、図19に示すステップS10へ移行する。
なお、コグニティブ基地局2および無線装置3,4におけるパケットの分配動作も、図19〜図21に示すフローチャートに従って実行される。
上述したように、この発明においては、無線機11〜13を用いて無線装置3へパケットを送信し、無線機11,12を用いて無線装置4へパケットを送信する場合、無線機11〜13(または無線機11,12)に時間資源RT(11)〜RT(13)(または時間資源RT(11),RT(12))を与えるとともに、各無線機11〜13(または各無線機11,12)が1個のパケットを送信すると、時間資源RT(11)〜RT(13)(または時間資源RT(11),RT(12))から推定送信所要時間を減算して時間資源RT(11)〜RT(13)(または時間資源RT(11),RT(12))を更新し、無線機11〜13(または無線機11,12)の各々における時間資源が負になると、CCLキューを次のCCLキューに切換えてパケットを別の送信先へ送信する。
その結果、送信元の無線装置がパケットを送信先Aへ送信するために無線機11〜13を占有する占有時間TOCUP1は、送信元の無線装置がパケットを別の送信先Bへ送信するために無線機11,12を占有する占有時間TOCUP2と略同じになり、占有時間TOCUP1,TOCUP2は、共に、時間資源の初期値RT0以内になる。
従って、この発明によれば、ある1つの送信先へパケットを送信するために無線資源(無線機11〜13)を占有することを抑制でき、複数の無線装置が同一システムまたは同一チャネルを共有する場合にもスループットの低下を抑制できる。
また、この発明においては、無線機11〜13のうち、利用可能な無線機における推定送信所要時間の合計が最小になるようにパケットの無線機への分配が行なわれる。そして、利用可能な無線機における推定送信所要時間の合計が最小になるようにパケットを無線機に分配することは、送信能力が相対的に高い、即ち、推定送信所要時間が相対的に短い無線機に相対的に多くのパケットを分配し、送信能力が相対的に低い、即ち、推定送信所要時間が相対的に長い無線機に相対的に少ないパケットを分配することになる。また、送信能力が相対的に高い無線機に相対的に多くのパケットを分配し、送信能力が相対的に低い無線機に相対的に少ないパケットを分配することは、無線機の利用効率を考慮してパケットを無線機に分配することになる。
従って、この発明によれば、無線機の利用効率を考慮してパケットを分配できる。
なお、上記においては、コグニティブ基地局1,2および無線装置3,4の各々は、3個の無線機11〜13を備えると説明したが、この発明においては、これに限らず、コグニティブ基地局1,2および無線装置3,4の各々は、T(Tは2以上の整数)個の無線機を備えていればよい。また、上記においては、コグニティブ基地局1,2および無線装置3,4の各々は、2個のCCLキュー16,17を備えると説明したが、この発明においては、これに限らず、コグニティブ基地局1,2および無線装置3,4の各々は、N個の送信先に対応してN個のCCLキューを備えていればよい。
そして、コグニティブ基地局1,2および無線装置3,4の各々は、N個の送信先へパケットPKTを送信する場合、N個のCCLキューから1つのCCLキューをラウンドロビン方式によって順次選択し、1つのCCLキューを選択すると、その選択した1つのCCLキューに格納されたパケットPKTを送信先へ送信可能なM(Mは1≦M≦Tを満たす整数)個の無線機をT個の無線機の中からCARPテーブル18を参照して決定し、その決定したM個の無線機にPq個(またはm=la個)のパケットを上述した方法によって分配して送信先へ送信する。
また、上記においては、CCLキュー管理モジュール19は、複数のCCLキューから1つのCCLキューをラウンドロビン方式によって順次選択すると説明したが、この発明においては、これに限らず、CCLキュー管理モジュール19は、QoS(Quality of Service)等を考慮した優先制御が必要な場合、優先順位の高い順に複数のCCLキューから1つのCCLキューを順次選択するようにしてもよく、一般的に、任意の順序で複数のCCLキューから1つのCCLキューを順次選択するようにしてもよい。
更に、この発明においては、図19から図21に示すフローチャートに従ってパケットを利用可能な無線機(=無線機11〜13のうち、時間資源RTが正である無線機)に分配する分配モジュール15は、「パケット分配手段」を構成する。
更に、この発明においては、CCLキュー16,17から1つのCCLキューを選択することは、複数の送信先から1つの送信先を選択することに相当するので、CCLキュー16,17から1つのCCLキューを順次選択するCCLキュー管理モジュール19は、「選択手段」を構成する。
更に、この発明においては、第n番目の送信先(=第n番目のCClキュー)が選択されると、CARPテーブル18を参照して、その第n番目の送信先へパケットを送信可能なM1(M1は1≦M1≦Tを満たす整数)個の無線機11〜13をT個の無線機11〜13から決定し、第n+1番目の送信先(=第n+1番目のCCLキュー)が選択されると、CARPテーブル18を参照して、その第n+1番目の送信先へパケットを送信可能なM2(M2は1≦M2≦Tを満たす整数)個の無線機11,12をT個の無線機11〜13から決定する分配モジュール15は、「決定手段」を構成する。
更に、この発明においては、送信先へパケットPKTを送信可能な無線機に時間資源RTの初期値RT0を与えるCCLキュー管理モジュール19は、一定時間以内の送信許容時間を与える「付与手段」を構成する。
更に、この発明においては、各無線機11〜13は、CCLキューが新たに選択された時に付与またはリセットされる時間資源RTの初期値RT0またはリセット後の値以内の時間、パケットPKTを送信先へ送信することが許容されるので、CCLキューが新たに選択された時に付与またはリセットされる時間資源RTの初期値RT0またはリセット後の値は、「送信許容時間」を構成する。そして、選択手段は、この「送信許容時間」が経過すると、次のCCLキューを選択する。
更に、この発明においては、推定送信所要時間を用いて時間資源RTを随時更新する分配モジュール15は、「更新手段」を構成し、推定送信所要時間を用いて時間資源RTを随時更新する処理は、「更新処理」を構成する。
更に、この発明においては、CCLキュー16,17は、「N個のバッファ」を構成し、通信モジュール20から受けたパケットを送信先に応じてCCLキュー16,17に格納するCCLキュー管理モジュール19は、「パケット分配手段」を構成する。
更に、この発明においては、無線機11〜13における推定送信所要時間の合計が最小になるようにパケットPKTを無線機11〜13に分配する処理は、「パケット分配処理」を構成する。
更に、この発明においては、無線機11〜13の時間資源RT(11)〜RT(13)の全てが負であるときに一定値RT0を時間資源RT(11)〜RT(13)に加算する処理は、「リセット処理」を構成し、無線機11〜13の時間資源RT(11)〜RT(13)の全てが負であるときに一定値RT0を時間資源RT(11)〜RT(13)に加算する分配モジュール15は、「リセット手段」を構成する。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1,2 コグニティブ基地局、3,4 無線装置、10 無線ネットワーク、11〜13 無線機、11A,12A,13A キュー、14 モニターモジュール、15 分配モジュール、16,17 CCLキュー、18 CARPテーブル、19 CCLキュー管理モジュール、20 通信モジュール、30 コグニティブゲートウェイ、31,32,41 有線ケーブル、40 端末装置。