(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係るメッシュポイント装置1が属するメッシュネットワークは、このメッシュポイント装置1を複数含む。これら複数のメッシュポイント装置1は相互に接続されて、メッシュネットワークを構成する。
【0014】
各メッシュポイント装置1は、
図1に例示するように、制御部11と、記憶部12と、通信部13とを含んで構成される。ここで制御部11はCPUなどのプログラム制御手段であり、記憶部12に格納されたプログラムに従って動作する。本実施の形態では、この制御部11は、例えばRM−AODV(Radio Metric Ad hoc On-Demand Distance Vector)ルーティング法を基礎としたHWMP(Hybrid Wireless Mesh Protocol)を用いて通信先となる他のメッシュポイント装置1までの可能な通信経路候補を探索する。そして探索された可能な通信経路候補の各々について経路コストを演算する。制御部11はこうして演算された経路コストに基づいて、通信経路候補のうちから通信に使用する通信経路を決定し、当該決定した通信経路を他のメッシュポイント装置1に通知する。
【0015】
本実施の形態では、この制御部11は、上記可能な通信経路候補の各々についての経路コストを、通信経路候補ごとに複数演算し、通信経路候補ごとに複数演算された経路コストに基づいて、可能な通信経路候補のうちから複数の通信経路を、通信に使用する通信経路として決定する。そして制御部11は、当該決定した複数の通信経路を他のメッシュポイント装置1に通知する。各メッシュポイント装置1は、当該決定された通信経路を介して送信の対象となったパケットを伝達する。この制御部11の詳しい動作の内容については後に述べる。
【0016】
記憶部12は、メモリデバイス等であり、制御部11によって実行されるプログラムを保持する。このプログラムはコンピュータ可読な記録媒体に格納されて提供され、この記憶部12に格納されたものであってもよい。記憶部12は、また、制御部11のワークメモリとしても動作する。通信部13は、例えば無線LANインタフェースであり、隣接する(通信可能な範囲にある)他のメッシュポイント装置1との間で情報を授受する。またこの通信部13は、端末装置2との間で無線にてデータを送受する。
【0017】
具体的に本実施の形態の制御部11は、機能的には、
図2に示すように、近隣ノード検出部21と、演算部22と、経路決定部23と、経路通知部24と、パケット形成部25と、通信制御部26とを含んで構成されている。
【0018】
近隣ノード検出部21は、通信部13を介して互いに通信可能な他のメッシュポイント装置1の各々との間でテストフレームの送受を行い、伝送速度rとフレームエラーレートeptとの情報を得ておき、これから通信可能な各メッシュポイント装置1との間の経路メトリック値を演算する。具体的に通信可能なi番目のメッシュポイント装置1-iとの間の経路メトリック値Ca(i)(i=1,2,…)を、例えば
【0019】
【数1】
などと設定することとすればよい。ここでOca,Op,Btはそれぞれチャネルアクセスオーバーヘッド(Channel Access Overhead)、プロトコルオーバーヘッド(Protocol Overhead)、テストフレームに含まれるデータのビット数であり、プロトコルごとに予め定められた定数となる。
【0020】
演算部22は、予め定められた多重化数N(N>1の整数)だけの個数の乱数Rj(j=1,2,…N)を発生させて記憶しておく。またこの演算部22は、通信可能なi番目のメッシュポイント装置1-iとの間の経路メトリック値Ca(i,j)(i=1,2,…;j=1,2,…N)を、例えば
【0022】
すなわち(1)式に含まれるパラメータの少なくとも一つ(上記(2)式では伝送速度rとしているが、これに限らずフレームエラーレートや、チャネルアクセスオーバーヘッド等に乗じることとしてもよい)を乱数によって異ならせて、通信可能な他のメッシュポイント装置ごとにN個の相異なる経路メトリック値(通信可能なi番目のメッシュポイント装置1-iとの間の経路メトリック値)Ca(i,j)(i=1,2,…;j=1,2,…N)、及び、(1)式で演算したCa(i)を得る。
【0023】
なお、乱数値Rjのばらつきの範囲(発生させる乱数の値域)は、どのパラメータに乗じるかにより経験的に定めるものとすればよい。また以下では説明のため、(1)式で演算したCa(i)を便宜的にCa(i,0)と表記する。演算部22は、こうして得たCa(i,j)(i=1,2,…;j=0,1,2,…N)を、記憶部12に格納して記憶しておく(
図3)。
【0024】
本実施の形態では、各メッシュポイント装置1はそれぞれ、例えば通信部13を時分割多重するなどして仮想的に複数の仮想的通信部13-1,13-2,…,13-Nを形成しておく。そして各メッシュポイント装置1は、互いに同じj番目の仮想的通信部13-j同士が通信を行うものとし、互いに異なるj,lについて、一方のメッシュポイント装置1の仮想的通信部13-jと、他方のメッシュポイント装置1の仮想的通信部13-lとが通信を行うことはないように設定しておく。この設定は、例えば送受するデータ(パケット)に、どの仮想的通信部13-jを介して通信を行うかを表す識別情報(スライスIDと呼ぶ)を含めておき、各仮想的通信部13-jが自己の対応するスライスIDを含むパケットを受信するようにしておくことで実現できる。すなわち本実施の形態ではスライスIDによって識別される、N個の互いに独立したネットワークが形成されることとなる。
【0025】
そして経路決定部23は、これら仮想的通信部13-j(j=0,1,2,…N)のそれぞれにおいて、互いに通信経路上のノード(メッシュポイント装置1)や、エッジ(一対のノード間を接続する部分的な経路)の重複が比較的小さいような複数の通信経路を得る。
【0026】
この経路決定の方法は、スライスIDで識別されるネットワークごとに、RA−OLSR(Radio Aware-Optimized Link State Routing)や、FSR(Fish-eye State Routing)等のプロアクティブ型のルーティングプロトコルを用いる方法や、AODV(Ad Hoc On-Demand Distance Vector Routing)等のリアクティブ型のルーティングプロトコルを用いる方法、さらに802.11sと同様に、これらプロアクティブ型のルーティングプロトコルとリアクティブ型のルーティングプロトコルとを組み合せる方法等、種々の方法を用いることとすればよいが、スライスIDが「s」であるネットワークでは、各メッシュポイント装置1において記憶している乱数値のうち、乱数値Rsを用いて、経路決定におけるパラメータのうち少なくとも一つを変更して可能な通信経路ごとの経路コストにばらつきを与える。
【0027】
これにより、スライスIDによって識別されるネットワークの各々において互いに異なる経路コストを用いた通信経路の決定が行われることとなり、仮想的通信部13-j(j=0,1,2,…N)の各々は、互いに通信経路上のノード(メッシュポイント装置1)や、エッジ(一対のノード間を接続する部分的な経路)の重複が比較的小さいような複数の通信経路を得る。経路決定部23は、スライスIDごとに取得した通信経路を表す経路情報を経路通知部24に出力する。
【0028】
具体例として、
図4に例示するように、5つのメッシュポイント装置1aから1eを含むメッシュネットワークを例として、この経路決定部23の動作の概略を説明する。メッシュポイント装置1aないし1eが
図4の破線に示すように相互に接続可能であるものとする。すなわち、メッシュポイント装置1a−1c,1a−1b,1b−1c,1b−1e,1c−1d,1c−1e,1d−1e間がそれぞれ通信可能であるとする。
【0029】
そしてこのとき、メッシュポイント装置1a−1c間の経路メトリック値Caが、スライスID「1」について「10」、スライスID「2」について「12」、スライスID「3」について「13」であるとする。以下これを、
1a−1c:10,12,13
と表記することとして、次のように経路メトリック値が設定されたものとする。
1a−1c:10,12,13
1a−1b:9,10,12
1b−1c:8,10,9
1b−1e:17,20,18
1c−1d:11,6,12
1c−1e:7,13,19
1d−1e:12,5,13
【0030】
すると、メッシュポイント装置1aがメッシュポイント装置1eを宛先として送信するデータの可能な通信経路が、
1a−1b−1e
1a−1b−1c−1e
1a−1b−1c−1d−1e
1a−1c−1e
1a−1c−1b−1e
1a−1c−1d−1e
と列挙できる。
【0031】
このとき、各可能な通信経路における経路メトリック値の累算結果(経路コスト)は、スライスID「1」,「2」,「3」のそれぞれについて、先の場合と同じように表記する場合、
1a−1b−1e: 26,30,30
1a−1b−1c−1e: 24,33,40
1a−1b−1c−1d−1e:45,46,51
1a−1c−1e: 17,25,32
1a−1c−1b−1e: 35,42,40
1a−1c−1d−1e: 33,23,38
となる。
【0032】
つまりスライスID「1」の場合に経路コストが最小となるのが、通信経路1a−1c−1eの場合であり、スライスID「2」の場合は通信経路1a−1c−1d−1eで経路コストが最小となり、また、スライスID「3」の場合は通信経路1a−1b−1eで経路コストが最小となる。
【0033】
そこで経路決定部23は、スライスID「1」,「2」,「3」のそれぞれについて上記の通信経路を表すリスト(経路情報の一例)を経路通知部24に出力することとなる。
【0034】
本実施の形態の一例では、経路通知部24は、スライスIDごとに経路コストが最小となる通信経路中にあるメッシュポイント装置のリストを経路決定部23から受け入れる。そしてこの経路通知部24は、当該受け入れたリストにおいて自メッシュポイント装置1を特定する情報の直前にある情報で特定されるメッシュポイント装置1に対して、当該リストと、当該リストに関連付けられて入力されたスライスIDとを含んだレスポンスパケットを送出する。この経路通知部24は、スライスID「j」を含むレスポンスパケットについては、このスライスIDに対応する仮想的通信部13-jを介して送出するものとする。なお、このレスポンスパケットには、各リストに関連付けられていた経路コストの情報をさらに含めてもよい。
【0035】
またこの経路通知部24は、他のメッシュポイント装置1からレスポンスパケットを受信すると、当該レスポンスパケットに含まれるリストにおいて、自メッシュポイント装置1を特定する情報の直前にある情報で特定されるメッシュポイント装置1に対して、受信したレスポンスパケットをそのまま送出する。ここでも経路通知部24は、スライスID「j」を含むレスポンスパケットについては、このスライスIDに対応する仮想的通信部13-jを介して受信し、当該対応する仮想的通信部13-jを介してそのまま送出するものとする。
【0036】
なお、経路通知部24は、当該レスポンスパケットに含まれるリストにおいて、自メッシュポイント装置1を特定する情報がリストの先頭にある場合(レスポンスパケットが自己宛であった場合)は、当該レスポンスパケットに含まれるリストと、スライスIDとを抽出して、これらを互いに関連付けて記憶部12に格納する。またこのとき、格納しようとしているリストが他のスライスIDに関連付けられて既に記憶部12に格納されているリストと全く同じであるときには、当該格納しようとしているリストの格納を行わないこととしてもよい。これにより互いに同じ通信経路を表すリストが排除されることとなる。なお、ここでは経路通知部24は経路情報を通知するレスポンスパケットを送信しているが、これに限らず、経路通知部24は、経路情報を通常の通信で授受するパケットのヘッダまたはトレイラとして付加して送信してもよい。
【0037】
なお、このように排除される場合があることを考慮し、互いに同じ通信経路を表すリストが排除して残った通信経路の数が予め定めたしきい値を下回ることとなる場合、経路通知部24は、リストに関連付けて記憶部12に格納されていないスライスIDを見出す。そして当該見出したスライスIDを含み、乱数を変更して経路メトリック値を更新するべき旨の要求と、当該要求に固有な要求識別子とを含むパケットを、当該見出したスライスIDに対応する仮想的通信部13-jを介して、通信可能な他のメッシュポイント装置1に対して送出する。
【0038】
この要求を受けたメッシュポイント装置1側では、パケットに含まれる要求識別子を参照して、過去に当該要求識別子と同じ要求識別子を含んだパケットを受信したか否かを判断する。ここで、過去に当該要求識別子と同じ要求識別子を含んだパケットを受信していなければ、メッシュポイント装置1は仮想的通信部13-jに対応する乱数値Rjを更新し、さらに通信可能な他のメッシュポイント装置1であって、パケットの受信元でないメッシュポイント装置1に対して、当該パケットに含まれるスライスIDに対応する仮想的通信部13-jを介して、受信したパケットをそのまま送出する。
【0039】
また各メッシュポイント装置1では、こうして乱数値Rjを変更すると、当該乱数値Rjに対応するスライスIDで特定されるネットワークにおける経路決定処理をやり直す。そうして各メッシュポイント装置1は、宛先となるメッシュポイント装置1までの間に所定個数を上回る数の通信経路が得られるまで上記処理を繰返してもよい。
【0040】
パケット形成部25は、端末装置2から受信した送信対象となるデータを、所定のデータサイズのパケットPx(x=1,2,…)に分割して含める。このパケットPxには、各パケットに固有のパケット識別情報を含める。またこのパケット形成部25は、この分割して得たパケットPxをそれぞれN′個(N′は記憶部12に格納された、互いに異なる通信経路を表す経路情報の数であってN′≦N)だけ複製して通信制御部26に出力する。このとき複製により得られたN′個のパケットにはそれぞれ、互いに異なる経路情報のそれぞれに関連付けて記憶されている互いに異なるスライスIDを含める。
【0041】
通信制御部26は、N′個のパケットPx(x=1,2,…)をそれぞれ互いに異なる経路情報によって表される通信経路を介して送信されるよう制御する。具体的にこの通信制御部26は、各パケットPxに含まれるスライスID「s」を参照し、当該スライスIDに対応する仮想的通信部13-sを介してパケットPxを送出する。すなわち通信制御部26は、仮想的通信部13-sの動作として、スライスID「s」に関連付けられて記憶している経路情報を取得する。そして当該経路情報、及び宛先を特定する情報とともにパケットPxを、当該経路情報において次に送信先となるべき他のメッシュポイント装置1(の仮想的通信部13-s)に対して送信する。
【0042】
またこの通信制御部26は、他のメッシュポイント装置1の仮想的通信部13-sからスライスID「s」を含んだパケットを受信すると、自メッシュポイント装置1が宛先となっているか否かを調べる。そして自メッシュポイント装置1が宛先となっていなければ、通信制御部26は、当該パケットとともに受信した経路情報に含まれる、次に送信すべき他のメッシュポイント装置1を特定する情報を読み出す。そして通信制御部26は、当該読み出した情報で特定されるメッシュポイント装置1の仮想的通信部13-sに対して、当該経路情報と宛先を特定する情報とパケットとを送出する。
【0043】
さらに通信制御部26は、自メッシュポイント装置1が宛先となっている場合は、受信したパケットのパケット識別情報を参照し、既に当該パケット識別情報と同じパケット識別情報を含んだパケットが受信されていれば、当該受信したパケットを破棄する。また既に当該パケット識別情報と同じパケット識別情報を含んだパケットが受信されていなければ、当該受信したパケットを記憶、ないし出力するとともに、当該パケット識別情報を記憶部12に保持しておく。
【0044】
以上説明した本実施の形態によれば、乱数によるばらつきを含めた経路メトリック値を用いてN′個の相異なる通信経路を得ておき、それぞれを介して同じパケットを送信する。受信側では、乱数値によってばらつきが与えられた経路メトリック値により最適と判断された複数の相異なる通信経路を介してパケットを受信することとなる。このことにより、より安定した通信が可能となる。
【0045】
[イレージャ・コードの利用]
さらにここまでの説明においては、パケット形成部25は、端末装置2から受信した送信対象となるデータを分割して得たパケットPxを、それぞれN′個だけ複製することとしていたため、通信状況によっては宛先側で重複したパケットを受信することとなっている。
【0046】
そこで本実施の形態の一例では、このパケット形成部25は、端末装置2から受信した送信対象となるデータを分割して得たパケットPxに基づき、イレージャ・コード(Erasure Coding)を用いて、N′個のデータフラグメントであって、q個(q<N′)のデータフラグメントがあれば、元のデータ(パケットPx)を再生可能なデータフラグメントを生成する。このイレージャ・コードとしては、例えばRaptorQ(RFC6330)や多項式オーバーサンプリング等種々のものを採用できる。
【0047】
パケット形成部25は、生成したN′個のデータフラグメントをそれぞれ含んだN′個のパケットPxy(y=1,2…N′)を、通信制御部26に出力する。なお、このパケットPxから得られたパケットPxyにはそれぞれ異なるスライスID(y番目のパケットであることを表すスライスID「y」)を含めておく。
【0048】
通信制御部26では、記憶部12に格納された経路情報であるリストを参照して、N′個のパケットPxy(x=1,2,…;y=1,2,…N′)をそれぞれ、各リストによって表される通信経路を介して送信されるよう制御する。具体的にこの通信制御部26は、各パケットPxyに含まれるスライスID「y」を参照し、当該スライスID「y」に対応する仮想的通信部13-yを介してパケットPxyを送出する。すなわち通信制御部26は、仮想的通信部13-yの動作として、スライスID「y」に関連付けられて記憶している経路情報を取得する。そして当該経路情報、及び宛先を特定する情報とともにパケットPxyを、当該経路情報において次に送信先となるべき他のメッシュポイント装置1(の仮想的通信部13-y)に対して送信する。以下、各メッシュポイント装置1の仮想的通信部13-yでは、複製されたパケットを送信する場合と同様の処理が行われる。
【0049】
この場合、宛先となったメッシュポイント装置1では、N′個の相異なる通信経路を介して到来する可能性のあるパケットPxyのうち、q個を受信した時点で、元のパケットPxを再生して出力する。この場合、重複の割合を低減でき、通信の効率をより向上できる。
【0050】
なお、このようにスライスIDを用いる場合、例えばスライスIDとして、複製またはイレージャ・コード化により得られたものでないことを表す識別情報を設定しておいてもよい。この場合、当該スライスIDを含んだパケットを受信した各メッシュポイント装置1は、当該パケットを802.11sの通常のパケットとして扱うこととしてもよい。
【0051】
さらにここでは仮想的通信部13-jはそれぞれ論理的に仮想化されたネットワークを形成するものとしていたが、互いに異なる物理的な通信デバイスを用いて互いに異なるネットワークを形成することとしてもよい。