【実施例】
【0029】
図1は、本願発明の実施例である通信システム1の概要を示す図である。通信システム1は無線バックホールシステムであり、各基地局は固定設置される。通信システム1の基地局は2種類あり、基幹網3に有線接続するコアノード5(本願請求項の「コアノード」の一例)と、複数のスレーブノード7
1,・・・,7
10(本願請求項の「スレーブノード」の一例)である。基地局間は無線通信が可能であり(以下では、基地局間の無線通信回線を「中継回線」という。)、中継回線では、
図1に示されるように、コアノード5を中心とするツリー型の経路が構築される。また、各基地局には無線通信が可能な領域(クラスターセル)がある。例えば携帯電話のように、移動可能で、基地局と無線通信可能な携帯端末9は、ある基地局のクラスターセル内に存在すれば、この基地局との間で無線通信を行う(以下、基地局と携帯端末等との間の無線通信回線を「アクセス回線」という。)。携帯端末9は、アクセス回線及び中継回線により基幹網3に接続することができる。
【0030】
続いて、本実施例におけるルーティングプロトコルについて、RSSIの逐次平均により、RSSIの評価値を計算する場合について説明する(以下、「本プロトコル」という。)。本プロトコルは複数回のラウンドにより構成され、各ラウンドでは、各中継ノードが周辺のノードとルーティングパケットの送受信を繰り返し行い、RSSIの逐次平均を計算して、完全なルーティングを一つ構築する。
【0031】
無線バックホールの伝搬路において、RSSIは一般に対数正規分布に従うことが知られている(非特許文献2参照)。すなわち、デシベルで表示されたRSSIは、振幅の分布が正規分布に従う確率過程である。
【0032】
ノード間のRSSIを一定時間間隔で均一サンプリングした値の系列{R
n,n=1,2,…}の逐次平均値{A
n,n=1,2,…}を式(1)により定義する。逐次平均の系列{A
n}は、nが大きくなるにつれ当該確率過程の平均値に収束する(非特許文献3参照)。そのため、ラウンドの回数を増やすと、各ノード間のRSSIの逐次平均は一定の値に収束するので、各ラウンドで構築したルートは漸近的に安定したルートへと収束する。
【0033】
【数2】
【0034】
図1の中継回線において、伝搬路は人の動きなどによるフェージングの影響を受け変動する。
図2のグラフにおいて、三角形の印でプロットされた線aは、IEEE802.11aを無線インターフェースにした場合に、実際に観測されたRSSIの時間変動の様子を示すものである。RSSIは、時間とともに激しく変動する。そのため、従来の最小伝播損ルーティング等を用いて、このRSSIの変動に常に追従しようとすれば、中継回線の経路は不安定なものとなってしまう。
【0035】
それに対し、
図2のグラフにおいて、バツ印でプロットされた線bは、式(1)によって得られる逐次平均の変化を示すものである。
図2の線bは、−52dBmから−55dBmに変化した後、この値に安定している。このように、ノード間のRSSIを一定間隔でサンプリングして逐次平均をとることにより、一定時間後、RSSIの変動は抑制できることが分かる。
【0036】
続いて、
図3乃至
図6を参照して、本プロトコルにおける
図1のコアノード5及びスレーブノード7
i(iはスレーブノードの個数以下の自然数)の構成及び動作の一例について説明する。
【0037】
まず、本プロトコルで扱っているルーティングパケット、各ノードが保持するルーティング変数及びパラメータ等について定義する。
【0038】
「自ノードメトリック」(本願請求項の「自経路評価値」の一例)は、各ノードにおいて、当該ノードからコアノードまでの中継経路上の伝搬損の和である。各ノードは、この自ノードメトリックを保持し、電源投入時に最大値で初期化する。
【0039】
「ルーティングパケット」は、コアノード5が、各スレーブノード7
iに対して送信するものである。ルーティングパケットには2種類あり、コアノード5が各スレーブノード7
iに対し既存ルート情報のクリア要求を出すときに使うリセット・ルーティング・パケット(本願請求項の「リセット・ルーティング・パケット」の一例)と、ルートを構築する時に使うノーマル・ルーティング・パケット(本願請求項の「ノーマル・ルーティング・パケット」の一例)である。ルーティングパケットには、累積メトリック(本願請求項の「累積経路評価値」の一例)とパケットIDの情報が含まれる。ここで、ルーティングパケットに含まれる累積メトリックは、当該ルーティングパケットを送信したノードが送信時に保持していた自ノードメトリックである。
【0040】
「周辺ノードテーブル」は、周辺ノードのアドレス、RSSIの逐次平均並びにルーティングパケットの送信回数を記録したテーブルである。ここで、周辺ノードとは、自ノードとパケットの送受信ができる範囲内にあるノードである。
【0041】
「上り中継先」は、各スレーブノード7
iにおいてルーティング情報として保持された、上り中継先ノードのアドレス(本願請求項の「上り中継先ノード情報」の一例)である。本プロトコルでは、Bellman-Fordアルゴリズムを採用する。そのため、構築される中継経路は、
図1のようなツリー構造であり、各スレーブノード7
iは唯一の上り中継先のみを持つ。そこで、各スレーブノード7
iは、ルーティング情報として上り中継先ノードのアドレスを保持する。下り中継先は中継動作時、上り方向に中継されるパケットの送信元アドレスを調べて確認することができるので、ルーティング時には決定せず、経路が確定後に調べる。
【0042】
「自ノードTimeID」は、各ルーティングパケットの送信時刻を識別するために持つタイムスタンプである。
【0043】
また、本プロトコルで必要とするパラメータは、各スレーブノードのルーティング履歴クリアの待ち時間Tw、ラウンドの実行回数Nr、ラウンド間の間隔Tc、各ラウンドでコアノードの待ち時間Tr、及び、スレーブノードの待ち時間Tsである。
【0044】
まず、
図3を参照して、
図1のコアノード5について構成の一例を説明する。
【0045】
コアノード5は、周辺ノードテーブルを記憶するノード記憶部13と、各種パラメータを記憶するパラメータ記憶部15と、電源スイッチ17及びリセットボタン19が設けられた入力部21と、スレーブノード7
iと無線通信する無線通信部23と、コアノード5の動作を制御する制御部25と、ノード記憶部13の周辺ノードテーブルを更新するノード登録処理部27を備える。無線通信部23は、アンテナ29と、アンテナ29による通信を制御する通信制御部31を備える。電源スイッチ19は、コアノード5の電源投入時に操作されるものである。リセットボタン21は、例えば、コアノード5及びスレーブノード7
iの一部又は全部の配置を変更した場合や、スレーブノード7
iの一部を通信システム1から削除したり、スレーブノードを新たに追加したりする場合のように、配置されたノードに変更があり、外部から、中継経路を新たに構築するよう指示するために操作されるものである。
【0046】
次に、
図4を参照して、
図1のコアノード5の動作の一例を説明する。
図4は、この処理は、初期化が必要な場合と、それからTc時間間隔でNr回行われるものである。
図4では、初期化が必要な場合として、電源スイッチ19又はリセットボタン21が操作された場合を例に説明する。
【0047】
制御部25は、パワーオン又はリセットボタン21が押されたか否かを判断する(ステップSTC1)。操作された場合、コアノード5において、制御部25は、リセット・ルーティング・パケットのパケットIDとコアノード5の自ノードTimeIDは、ルーティングパケットを送信する時刻に設定し、無線通信部23の通信制御部31を制御して、アンテナ部29より、各スレーブノード7
iに対してリセット・ルーティング・パケットを送信し(ステップSTC2)、Tw時間(例えば7秒)待ち(ステップSTC3)、Tc間隔で、各スレーブノード7
iに対してノーマル・ルーティング・パケットを送信する(ステップSTC4)。この時、ルーティングパケットの累積メトリックは0で、パケットIDはコアノードがブロードキャストパケットを送信する時刻に設定する。他方、ステップSTC1において、パワーオンでもリセットボタン21が押されてもいない場合には、ステップSTC4の処理を行う。これが一回のラウンドであり、コアノード5はラウンドが始まってからTr時間経つとラウンドを終了し、通信システム1は一回のルーティングを完了する。また、ノード登録パケットを受信すると、ノード登録処理部27は、そのパケットのパケット送信元のノードを周辺ノードとして、ノード記憶部13の周辺ノードテーブルに登録する(ステップSTC5)。
【0048】
なお、時間間隔Tcは、一定間隔だけでなく、本プロトコルでは、漸近的に安定することから、回数に応じて時間間隔を変更するようにしてもよい。また、制御部25は、ステップSTC1において、例えば週末や、一日でも夜間と昼間などの時間帯に応じて中継経路を変更するように、所定の時刻でリセット・ルーティング・パケットのブロードキャストを行うようにしてもよい。
【0049】
続いて、
図5及び
図6を参照して、
図1のスレーブノード7
iについて説明する。
【0050】
図5を参照して、
図1のスレーブノード7
iの構成の一例を説明する。スレーブノード7
iは、自ノードメトリックを記憶する自経路評価値記憶部51
i(本願請求項の「自経路評価値記憶手段」の一例)と、上り中継先ノードのアドレスを記憶する上り中継先記憶手段53
i(本願請求項の「上り中継先記憶手段」の一例)と、自ノードTimeIDを記憶するTimeID記憶部55
iと、周辺ノードテーブルを記憶するノード記憶部57
i(本願請求項の「ノード記憶手段」の一例)と、各種パラメータを記憶するパラメータ記憶部59
iと、他のノードと無線通信を行う無線通信部65
iと、スレーブノード7
iの動作を制御する制御部71
iを備える。無線通信部65
iは、他のノードと無線通信を行うためのアンテナ61
iと、アンテナ61
iによる通信を制御する通信制御部63
iを備える。
【0051】
制御部71
iは、受信したパケットの種類を判断する判断部73
iと、リセット・ルーティング・パケットを受信した場合に周辺ノードテーブル等を初期化する初期化部75
i(本願請求項の「初期化手段」の一例)と、ノーマル・ルーティング・パケットを受信した場合にコアノード5から当該スレーブノード7
iへ至る中継経路の構築処理を行うルート構築処理部77
i(本願請求項の「ルート構築処理手段」の一例)を備える。
【0052】
ルート構築処理部77
iは、受信したノーマル・ルーティング・パケットのパケット送信元が周辺ノードテーブルに登録されていない場合にパケット送信元を登録するノード登録処理部81
i(本願請求項の「ノード登録処理手段」の一例)と、リセット・ルーティング・パケットの受信からn番目(nは自然数)に受信したノーマル・ルーティング・パケットの受信電力R
nの逐次平均A
n(本願請求項の「受信電力評価値」の一例)を式(1)により計算する受信電力評価値計算部83
i(本願請求項の「受信電力評価値計算手段」の一例)と、受信パケットのパケットIDと自ノードTimeIDを比較し、新しいラウンドが始まったか否かを判断する新ラウンド処理部85
iと、逐次平均A
nを用いて送信元ノードから自ノードまでの伝搬損を計算し、受信パケットに含まれる累積メトリックと加算して新しいメトリック(以下、「新メトリック」という。)を計算する累積経路評価値計算部87
i(本願請求項の「累積経路評価値計算手段」の一例)と、新メトリックと自ノードメトリックを比較する比較部89
iと、新メトリックが自ノードメトリックよりも小さい場合、パケット送信元を新たな上り中継先とし、新メトリックを新たな自ノードメトリックとして更新処理を行い、周辺ノードテーブルに記憶された各ノードに対して更新後の自ノードメトリックを送信する経路更新部89
i(本願請求項の「経路更新手段」の一例)を有する。
【0053】
ここで、累積経路評価値計算部87
iは、式(2)により伝搬損を計算する。TX_POWERは送信電力を表し、単位はdBmである。
【0054】
【数3】
【0055】
次に、
図6を参照して、
図5のスレーブノード7
iの動作について説明する。
【0056】
スレーブノード7
iは、ルーティングパケットの受信を待ち(ステップSTS1)、ルーティングパケットを受信すると、判断部73
iは、受信したルーティングパケットの種類を判断する(ステップSTS2)。リセット・ルーティング・パケットの場合、初期化部は、受信パケットのパケットIDを調べ、自分のTimeIDより新しければ、同じリセット・ルーティング・パケットを周辺ノードにブロードキャストし、周辺ノードテーブルをクリアして、自ノードメトリックを最大値に設定し、自ノードTimeIDを受信パケットのパケットIDに設定する(ステップSTS3)。
【0057】
ノーマル・ルーティング・パケットを受信した場合、ノード登録処理部81
iは、送信元ノードを確認し、周辺ノードテーブルに当該送信元ノードの登録がないかを調べ(ステップSTS4)。登録されていない場合、周辺ノードテーブルに登録する。その際、受信時のRSSIを逐次平均の初期値とし、受診回数は1に設定する(ステップSTS5)。
【0058】
既にテーブルに登録されているノードからのルーティングパケットである場合、受信電力評価値計算部83
iは、当該送信元ノードに対する現逐次平均A
n-1と受信電力R
nから式(1)により新たな逐次平均A
nを求め、計算した値でテーブルの当該ノードの逐次平均を更新し、受信回数を1回増やす(ステップSTS6)。
【0059】
次に、新ラウンド処理部85
iは、受信パケットのパケットIDを調べ、自ノードTimeIDより新しい場合、新しいラウンドが始まったと判断し(ステップSTS7)、自ノードメトリックを最大値に、また自ノードTimeIDを受信パケットのパケットIDに設定する(ステップSTS8)。以前のラウンドであれば、ステップSTS9の処理へ進む。
【0060】
次に、累積経路評価値計算部87
iは、逐次平均されたRSSIを用いて送信元ノードから自ノードまでの伝搬損を計算し、受信パケットに含まれる累積メトリックと加算して新メトリックを得る(ステップSTS9)。
【0061】
次に、比較部87
iは、新メトリックと自ノードメトリックを比較する(ステップSTS10)。新メトリックが自ノードメトリックより小さい場合、自ノードメトリックを当該値で更新し、上り中継先を受信パケットの送信元ノードのアドレスに更新する。そして、新メトリックを累積メトリックとする新しいルーティングパケットをブロードキャストする(ステップSTS11)。小さくない場合には、ステップSTS1の処理に戻る。
【0062】
スレーブノード7
iは、新しいラウンドが始まってからTs時間が経過したらラウンドを終了する。
【0063】
続いて、ノード間RSSIの逐次平均を用いたルーティング手法をテストベッド上に実装し、実フィールドで特性評価を行った。テストベッドには、発明者らが推進する文部科学省知的クラスタ創成事業II期「MIMO−MESHポイント」の開発プロジェクトの成果物であるPicomesh LunchBox(以下、「LB」という。)を用いた。
【0064】
LBは、802.11b/g/a準拠の汎用無線LANモジュールを3系統搭載していて、中継回線用に2系統、アクセス回線用に1系統割り当てられている。各無線モジュールには異なる周波数チャネルを割り当て、アクセス回線と中継回線の間の干渉を回避する。
【0065】
図7に示すように、コアノードCと5つのスレーブノードS
1〜S
5の通信システムを構築する。実験時プロトコルのパラメータは、各ラウンドでコアノードの待ち時間Trが2秒、各ラウンドでスレーブノードの待ち時間Tsが2秒、スレーブノードのリセット待ち時間Twが5秒、各ラウンドの間隔Tcが3分、ラウンド回数Nrが100回である。
【0066】
表1は、従来の最小伝搬損ルーティングを適用して、3分間毎に、計100回のルーティングを実行した場合に出現した中継経路のパタンと、本実施例におけるルーティングプロトコルを適用して、同様に計100回のルーティングを実行し、出現した中継経路のパタンの実験結果を示すものである。
【0067】
従来のルーティング手法を適用した場合は、時間帯により、8つの異なるパタンの中継経路が構築されている。ルーティング時の伝搬路の状況に依存しており、システムが不安定である。これに対し、提案プロトコルを適用した場合は、2、3回目のラウンドから
図7に示すルート1に固定されることを確認した。よって、本実施例により、伝搬路が時間変動する実環境でも安定した中継経路が構築できるのが分かる。
【0068】
【表1】
【0069】
なお、本実施例は、コアノードが一つのシステムを前提にしているが、複数のコアノードが存在するシステムにも容易に拡張することができる。コアノードが複数存在する場合、ルーティングパケットが、各コアノードから送信される。そのため、例えば、コアノード5は、初期化の際に自ノードTimeIDを0に設定する。コアノード5は、リセット・ルーティング・パケットを受信すると、パケットIDを調べ、自ノードTimeIDより新しければ、同じリセット・ルーティング・パケットをブロードキャストし、自ノードTimeIDを受信パケットのパケットIDで更新する。それから、Tw時間後Tc間隔で周囲にノーマル・ルーティング・パケットをブロードキャストし、送信回数がNrに達すると終了する。このようなシステムとすることにより、複数のコアノードが存在する場合でも実現することができる。
【0070】
また、本願発明は、受信電力評価値計算部83
iの受信電力評価値の計算も、本実施例に限定されない。例えば、式(3)にあるように、リセット・ルーティング・パケットの受信電力R
0を受信電力評価値の初期値A
0とし、n番目(nは自然数)に受信したノーマル・ルーティング・パケットの受信電力評価値A
nについて、ルーティングパケットの受信電力の逐次平均により計算するものであってもよい。この場合、
図6のステップSTS3において、初期化部75
iが周辺ノード記憶部57
iを初期化する場合には、周辺ノード記憶部57
iに対して、リセット・ルーティング・パケットの送信元ノードと受信電力評価値の初期値を組み合わせて記憶させ、その後は、逐次平均を計算すればよい。このように、リセット・ルーティング・パケットの受信電力を用いて受信電力評価値を計算するようにしてもよい。一般的には、受信電力評価値計算部83
iは、受信したノーマル・ルーティング・パケットの受信電力だけでなく、リセット・ルーティング・パケットの受信電力又は/及び他のノーマル・ルーティング・パケットの一部又は全部の受信電力も用いて受信電力評価値を計算するようにしてもよい。特に、n番目(nは2以上の自然数)に受信したノーマル・ルーティング・パケットの受信電力R
nの評価値である受信電力評価値A
nを、α
n及びβ
n(α
n及びβ
nはnの関数であり、恒等的に0でない関数。)に対して式(4)により計算してもよい。この場合、nが1のときは、例えば、A
1=R
1としてもよい。さらに、A
0をリセット・ルーティング・パケットの受信電力R
0として式(4)と同様に定数倍の加算によりA
1を計算してもよい。
【0071】
さらに、式(4)において、α
n及びβ
nの少なくとも一方は、定数であってもよい。このような定数とすることにより、RSSIの変動を緩和することが可能となる。
【0072】
また、
図6において、ステップSTS7及びSTS8の処理の前に、ステップSTS9の処理を行うようにしてもよい。
【0073】
【数4】