通信ルートの構築方法およびそれを用いる通信端末
【課題】通信ルートの計算時間を短縮でき、且つ、トポロジーデータを記録するためのメモリ領域を小さくできる通信ルートの構築方法および通信端末を提供する。
【解決手段】通信ネットワークは1台の親機と複数台の子機とで構成され、親機と各子機との間ではマルチホップ通信により信号を送受している。各子機は、直接通信可能な隣接端末を探索する処理を行っており、親機は、各子機から当該子機が直接通信可能な隣接端末に関するリンク情報を受信すると、受信したリンク情報をもとに、始点側の通信端末の端末ID、終点側の通信端末の端末ID、および、両端末間の通信品質レベルを示すリンクコストを一次元のデータテーブルからなるトポロジーテーブルTB1に記録させた後、トポロジーテーブルTB1に記録されたリンク情報をもとに、ダイクストラアルゴリズムを用いて各子機への通信ルートを求めるルート探索処理を行う。
【解決手段】通信ネットワークは1台の親機と複数台の子機とで構成され、親機と各子機との間ではマルチホップ通信により信号を送受している。各子機は、直接通信可能な隣接端末を探索する処理を行っており、親機は、各子機から当該子機が直接通信可能な隣接端末に関するリンク情報を受信すると、受信したリンク情報をもとに、始点側の通信端末の端末ID、終点側の通信端末の端末ID、および、両端末間の通信品質レベルを示すリンクコストを一次元のデータテーブルからなるトポロジーテーブルTB1に記録させた後、トポロジーテーブルTB1に記録されたリンク情報をもとに、ダイクストラアルゴリズムを用いて各子機への通信ルートを求めるルート探索処理を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マルチホップ通信を用いた通信端末における通信ルートの構築方法およびそれを用いる通信端末に関するものである。
【背景技術】
【0002】
従来、無線通信網に接続された複数台の通信端末からなる通信ネットワークにおいて、通信端末間で通信信号を中継することで、自端末と直接通信できない端末との通信を行う方法が知られている(いわゆるマルチホップ通信)。
【0003】
また近年、電力線に接続された複数台の電気機器の間で、電力線を通信線とした電力線搬送通信(以下、PLC(Power Line Communication)と略す。)を行う電力線搬送通信ネットワーク(以下、PLCネットワークと言う。)が普及している。
【0004】
このようなPLCネットワークを利用し、集合住宅の各住戸に設置された電力量計に電力線搬送通信機能を付加するとともに、電気室にPLC親機を設置し、PLC親機が各住戸の電力量計(PLC子機)から検針データを取得して、取得した検針データをネットワークを通じて遠隔の検針サーバに送信するような遠隔検針システムが提案されている。また、集合住宅の電気室などに設置される幹線分岐盤に親機ユニットを設置するとともに、各住戸の住宅分電盤内に子機ユニットを設置して、親機ユニットと子機ユニットの間で分岐幹線を介して電力線搬送通信を行うことで、各住戸の電気使用量を監視、制御するシステムも提案されている。このシステムでは、子機ユニットから親機ユニットへ各住戸の電気使用量を送信させて、親機ユニットで各住戸の電気使用量と集合住宅全体の電気使用量とを同時に監視し、各住戸の電気使用量の合計が共用電気幹線の容量を超えそうな場合には、電気使用量の多い住戸の子機ユニットに親機ユニットが使用制限命令を送信し、子機ユニットが予め設定された家電製品を自動的に停止させて、集合住宅全体の電気使用量を制限するようにしている。PLCネットワークを利用したこれらのシステムでは、通信端末間の配線長が長く、また通信端末の接続台数も多くなるため、通信可能な距離にある通信端末が通信信号を中継することで、子機と親機との間で通信を行うマルチホップ通信が行われている(例えば、特許文献1を参照)。
【0005】
ところで、上述した無線の通信ネットワークでは、ネットワーク内で端末が移動するため、ネットワークトポロジーが変化しやすい傾向があり、トポロジーの変化に対応して、各端末間の通信ルートを再構築する必要があった。またPLCネットワークにおいても、電力線を介して通信を行うために、電気機器の発生するノイズの影響により通信不可能な状態になる場合があり、また電気機器からの電源プラグを電源コンセントに抜き差しすることで、電気機器の電力線への接続状態が変化し、通話不可能になる電気機器が発生するため、ネットワークトポロジーが変化しやすいという特徴があり、トポロジーの変化に対応して、各端末間の通信ルートを再構築する必要があった。
【0006】
そこで、これらの通信ネットワークでは、所定時間が経過する毎に端末間で通信品質レベルの最も良い通信ルートを探索する必要があり、通信ルートを効率的に探索するためにダイクストラアルゴリズムと呼ばれるアルゴリズムが用いられていた(例えば非特許文献1参照)。
【特許文献1】特開2006−67557号公報
【非特許文献1】西丸泰之、佐藤文明;「QoSマルチキャスト配送木の構築方式」;情報処理学会研究報告 Vol.2003,No.34;社団法人 情報処理学会;2003年3月20日
【発明の開示】
【発明が解決しようとする課題】
【0007】
上述の通信ネットワークでは、親機と各子機との間の通信ルートを構築するために、各通信端末が、自端末の生存を通知する通信パケット(Hello Packet、以下、Hパケットと略す。)の送受信を行うことで、直接通信可能な隣接端末を探索した後、探索結果を親機に通知するトポロジー通知メッセージを親機に対して返送しており、親機では受信したトポロジー通知メッセージから、リンクが確立している始点側の通信端末および終点側の通信端末の端末IDと、両端末間の通信品質レベルを示すリンクコストを図1(c)に示すようなトポロジーテーブルTB1’に記録させている。そして、親機ではトポロジーテーブルTB1’に記録されたリンク情報(各子機が直接通信可能な隣接端末に関する情報)をもとに、ダイクストラアルゴリズムを用いて各子機への通信ルートを構築するようになっている。
【0008】
ところで、図1(c)に示すトポロジーテーブルTB1’は、例えば始点側の通信端末の端末IDを列、終点側の通信端末の端末IDを行にとった2次元のデータテーブルからなり、始点側の通信端末に対応する列と終点側の通信端末に対応する行とが交差する升目にリンクコストを記録してある。また、升目に「−」が入っている箇所は対応する端末間でリンクが確立していないことを示している。ここで、始点側の通信端末と終点側の通信端末を入れ替えたセルには同じ値が記録されることになるので(m行n列のセルに入るリンクコストとn行m列のセルに入るリンクコストは同じ値になるので)、図1(c)に示すトポロジーテーブルTB1’では、対角線を挟んだ一方の領域のみにデータを記録することでテーブルサイズを小さくしているが、リンクが確立していない端末間でもリンクコストを記録させるためのメモリ領域が確保されていた。そのため、メモリ領域が無駄になり、実際に使用するメモリ領域に比べて記憶容量の大きなRAMを用意する必要があり、コスト高になるという問題があった。また、ダイクストラアルゴリズムを用いた通信ルートの探索には時間がかかり、端末の数が増えるほどルート探索に要する時間も長くなるため、通信ルートの探索時間を短縮したいという要求もあった。
【0009】
本発明は上記問題点に鑑みて為されたものであり、請求項1、7の発明の目的とするところは、トポロジーデータを記録するためのメモリ領域を小さくできる通信ルートの構築方法および通信端末を提供することにある。また、請求項2〜6の発明の目的とするところは、通信ルートの探索に要する時間を短縮しつつ、トポロジーデータを記録するためのメモリ領域を小さくた通信ルートの構築方法を提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するために、請求項1の発明は、通信ネットワークを構成する複数の通信端末の内の1台を親機、残りを子機とし、親機が、当該親機と各子機との間の通信ルートを記憶した記憶部から、所望の子機への通信ルートを読み出し、当該通信ルートにしたがって隣接端末間で通信信号を授受することにより、親機と子機との間で通信を行うにあたり、親機が各子機から直接通信可能な隣接端末に関するリンク情報を受信し、受信したリンク情報をもとに各子機への通信ルートを構築する通信ルートの構築方法であって、各子機から、当該子機が直接通信可能な隣接端末に関するリンク情報を受信するリンク情報受信ステップと、受信したリンク情報をもとに、始点側の通信端末の端末ID、終点側の通信端末の端末ID、および、両端末間の通信品質レベルを示すリンクコストを一次元のデータテーブルからなるトポロジーテーブルに記録させるトポロジー記録ステップと、トポロジーテーブルに記録されたリンク情報をもとに、ダイクストラアルゴリズムを用いて各子機への通信ルートを求める通信ルート構築ステップとを備えることを特徴とする。
【0011】
請求項2の発明は、請求項1の発明において、通信ルート構築ステップでダイクストラアルゴリズムを用いて各子機への通信ルートを求める際に、親機から対象の子機に至る通信ルートとして、所定の通信品質以上の通信ルートが探索できた場合は、当該通信ルートを当該子機への通信ルートに決定し、当該子機に至る全ての通信ルートを探索する前に当該子機への通信ルートの探索を終了することを特徴とする。
【0012】
請求項3の発明は、請求項1又は2の発明において、 始点側の通信端末の端末IDと、終点側の通信端末の端末IDとの大小関係が一定の関係となるようにトポロジーテーブルがソートされた状態で通信ルート構築ステップを実行することを特徴とする。
【0013】
請求項4の発明は、請求項1乃至3の何れかの発明において、トポロジーテーブルに記憶させた始点側の通信端末の端末IDが昇順又は降順に並ぶようにソートされた状態で通信ルート構築ステップを実行することを特徴とする。
【0014】
請求項5の発明は、請求項4の発明において、トポロジーテーブルに記憶させた終点側の通信端末の端末IDが昇順又は降順に並ぶようにソートされた状態で通信ルート構築ステップを実行することを特徴とする。
【0015】
請求項6の発明は、請求項1乃至5の何れかの発明において、トポロジー記録ステップにおいて、始点側または終点側の通信端末の端末IDの少なくとも何れか一方が昇順又は降順に並ぶように、始点側および終点側の通信端末の端末IDとリンクコストとをトポロジーテーブルに記録させることを特徴とする。
【0016】
請求項7の発明は、通信ネットワークを構成する複数の通信端末の内の1台を親機、残りを子機とし、親機が、当該親機と各子機との間の通信ルートを記憶した記憶部から、所望の子機への通信ルートを読み出し、当該通信ルートにしたがって隣接端末間で通信信号を授受することにより、親機と子機との間で通信を行う親機側の通信端末であって、各子機から、当該子機が直接通信可能な隣接端末に関するリンク情報を受信するリンク情報受信手段と、受信したリンク情報をもとに、始点側の通信端末の端末ID、終点側の通信端末の端末ID、および、両端末間の通信品質レベルを示すリンクコストを一次元のデータテーブルからなるトポロジーテーブルに記録させるテーブル処理手段と、ソートされたトポロジーテーブルに記録されたリンク情報をもとに、ダイクストラアルゴリズムを用いて各子機への通信ルートを求める通信ルート構築手段とを備えることを特徴とする。
【発明の効果】
【0017】
請求項1の発明によれば、各子機から受信したリンク情報をもとに、始点側の通信端末の端末ID、終点側の通信端末の端末ID、および、両端末間の通信品質レベルを示すリンクコストを一次元のデータテーブルからなるトポロジーテーブルに記録させているので、始点側の通信端末を列、終点側の通信端末を行にとった二次元のデータテーブルからなるトポロジーテーブルにリンクコストを記録させる場合に比べて、リンクが確立できていない端末間のリンクコストを記録させるメモリ領域が無駄になることがなく、トポロジーデータを記録させるための記憶容量を小さくした通信ルートの構築方法を実現することができる。
【0018】
請求項2の発明によれば、親機から対象の子機に至る通信ルートとして、所定の通信品質以上の通信ルートが探索できた場合は、当該通信ルートを当該子機への通信ルートに決定しているので、親機と子機との間の通信ルートとして所定の通信品質以上の通信ルートを確保でき、また当該子機に至る全ての通信ルートを探索し、その中から通信品質が最も良い通信ルートを選択する場合に比べて短い時間で通信ルートを探索することができる。
【0019】
請求項3の発明によれば、始点側の通信端末の端末IDと、終点側の通信端末の端末IDとの大小関係が一定の関係となるようにトポロジーテーブルがソートされた状態で通信ルート構築ステップを実行するので、所望の通信端末のリンク情報を検索する際に、まず始点側のみ順番に検索し、始点側が一致した時のみ終点側を検索することで、検索にかかる時間を短縮することができる。
【0020】
請求項4の発明によれば、始点側の通信端末の端末IDが昇順又は降順に並ぶようにソートされた状態で通信ルート構築処理を行っているので、所望の通信端末のリンク情報を検索する際に検索にかかる時間を短縮することができる。
【0021】
請求項5の発明によれば、終点側の通信端末の端末IDが昇順又は降順に並ぶようにソートされた状態で通信ルート構築処理を行っているので、所望の通信端末のリンク情報を検索する際に検索にかかる時間を短縮することができる。
【0022】
請求項6の発明によれば、始点側または終点側の通信端末の端末IDの少なくとも何れか一方が昇順又は降順に並ぶように、始点側および終点側の通信端末の端末IDとリンクコストとをトポロジーテーブルに記録させているので、通信ルートを構築する際に端末IDをソートする処理を行う必要がなくなり、通信ルートの探索にかかる時間をさらに短縮することができる。
【0023】
請求項7の発明によれば、リンク情報受信手段が各子機から受信したリンク情報をもとに、テーブル処理手段が、始点側の通信端末の端末ID、終点側の通信端末の端末ID、および、両端末間の通信品質レベルを示すリンクコストを一次元のデータテーブルからなるトポロジーテーブルに記録させているので、始点側の通信端末を列、終点側の通信端末を行にとった二次元のデータテーブルからなるトポロジーテーブルにリンクコストを記録させる場合に比べて、リンクが確立できていない端末間のリンクコストを記録させるメモリ領域が無駄になることがなく、トポロジーデータを記録させるための記憶容量を小さくできる通信端末を実現することができる。
【発明を実施するための最良の形態】
【0024】
以下に、本発明に係る通信ルートの構築方法を、電力線搬送通信により通信を行う通信ネットワークに適用した実施形態について図面を参照して説明する。
【0025】
(実施形態1)
本発明の実施形態1を図面に基づいて説明する。図16は電力線搬送通信ネットワーク(以下、PLCネットワークと略す。)1の概略構成図である。このPLCネットワーク1は、例えば集合住宅のような建築物等で用いられ、複数の通信端末2を電力線Lに接続することにより構成され、複数台の通信端末2の内の1台を親機A、残りを子機Bn(n=1,2,3…)としている。
【0026】
このPLCネットワーク1では、親機Aおよび子機Bnが、通信可能な距離にある隣接端末2(親機A又は子機Bn)との間で所定の通信プロトコル(例えばSCP、エコーネット等)を用いて電力線搬送通信を行っており、親機Aが子機Bnから所定の情報を収集するとともに、子機Bnの遠隔監視が行われるものである。ここで、本ネットワーク1では、親機Aと各子機Bnとの間で直接又は間接に通信が行われ、親機Aと直接通信できない子機Bnは、通信可能な距離にある他の子機Bnに通信信号を順次中継することで、親機Aとの通信を行っている。
【0027】
図17は本実施形態に用いる通信端末2(親機A又は子機Bn)のブロック図である。本実施形態では親機Aと子機Bnとに同一の通信端末2を用いており、例えば何れかの通信端末2で、ジャンパースイッチや切替スイッチなどの設定手段(図示せず)を用いて親機側に設定することで親機Aとして機能させ、他の通信端末2では設定手段を用いて子機側に設定することで子機Bnとして機能させるようになっている。
【0028】
通信端末2は、記憶部3と、電力線搬送通信インターフェース部(以下、PLCインターフェース部と略す)4と、制御部5とを備える。記憶部3は、ROMなどの不揮発性のメモリや、EEPROMなどの書き換え可能な不揮発性のメモリや、RAMなどの揮発性メモリからなり、通信ルートや通信可能な隣接端末に関するリンク情報などを記憶するテーブル記憶部3aを備えると共に、この通信端末2を動作させるための制御プログラムなどの各種プログラムや、各プログラムの実行に必要な情報などを記憶する。
【0029】
テーブル記憶部3aはテーブル形式のデータを記憶する領域であり、本端末が親機Aの場合にはテーブル記憶部3aに、ネットワーク内で構築された端末間の全通信ルートを登録するための通信ルートテーブルや、各端末が直接通信可能な隣接端末の情報(リンク情報)を記録するためのトポロジーテーブルが記憶される。一方、本端末が子機Bnの場合にはテーブル記憶部3aに、当該子機Bnが通信可能な隣接端末2(親機Aまたは他の子機Bn)と、当該子機Bnと隣接端末2(親機Aまたは他の子機Bn)との間の通信品質レベルを示す通信コスト値(以下、リンクコストと言う。)と、隣接端末2を経由した当該子機Bnと親機Aとの間の通信品質レベルを示す通信コスト値(以下、ルートコストと言う。)とを表す通信可能端末テーブルDを記憶する。
【0030】
表1は通信可能端末テーブルDの1例を示し、このデータテーブルDには、自端末と直接通信が可能な隣接端末2(親機Aまたは他の子機Bn)に割り当てた端末IDと、隣接端末2の種別(親機Aまたは他の子機Bn)を示す端末種別データと、隣接端末2と自端末との間の通信品質レベルを示すリンクコストと、隣接端末2と親機Aとの間のルートコストと、隣接端末2から親機Aまでの通信ルートにおいて自機から1ホップ目、2ホップ目、…、Nホップ目の通信端末2を示す端末IDとが対応付けて記憶されている。なお、上記の通信コスト値(リンクコストおよびルートコスト)は、隣接端末から受信した通信信号の受信信号強度を数段階のレベルで表したものであり、値が小さいほど、通信信号の減衰が小さく、通信品質レベルが高いことを示している。また、自端末から親機Aまでのルートコストは、自端末と隣接端末との間のリンクコストに、隣接端末と親機Aとの間の上位側ルートコストを加算した値になる。
【0031】
【表1】
【0032】
ここで、PLCネットワーク1では電力線Lを通じて通信を行うため、電力線Lに接続される他の家電機器から発生するノイズや、他の家電機器が接続されることによる電力線Lのインピーダンスの低下等によって、伝送環境が悪化し、通信エラー率が増大する虞がある。またPLCネットワーク1の伝送環境は、家電機器の電源プラグを電源コンセントに抜き差したり、家電機器の可動状態に応じてダイナミックに変化する。そのため、PLCネットワーク1では、ネットワークトポロジーが固定的ではなく、変化しやすい傾向があり、ネットワークトポロジーが変化しても、親機Aと子機Bnとの間で通信を良好に行えるように、親機Aと各子機Bnとの間の通信ルートを定期的に探索し、最適な通信ルートを構築する必要がある。
【0033】
すなわち通信端末2の制御部5は、例えば、マイクロプロセッサやその周辺回路等で構成され、親機Aと子機Bnとの間の通信ルートを探索するための処理[すなわち隣接端末を探索する処理や探索結果(リンク情報)を親機に通知する処理や親機側でリンク情報をもとにルートを探索する処理など]を実行するために、通信処理部5aと、テーブル処理部5bと、ハロー・パケット送信タイマ部(以下、Hパケット送信タイマ部と略す)5cと、リンク通知パケット送信タイマ部5dとを備えている。
【0034】
通信処理部5aは、PLCインターフェース部4を用いて他の通信端末2との間で電力線搬送通信により通信信号を送受信し、後述の動作を行うことによって、親機Aと子機Bnとの間の通信ルートを構築する通信ルート構築処理(ルート探索処理およびルート選択処理からなる)を行う。図18(a)は通信端末2(親機Aおよび子機Bn)間で授受される通信パケットの基本フォーマットを示しており、送信元の通信端末2の送信端末IDと、受信側の通信端末2の受信端末IDと、メッセージタイプと、メッセージタイプに応じたデータ(メッセージ依存部)とで構成される。メッセージタイプとしては、自端末の生存や通信ルートを通知するためのハロー・パケット、隣接端末情報を親機に通知するためのリンク通知パケット、通常パケットを送信したときに中継途中で通信エラーが起こった場合に送信するルートエラーパケットなどがある。図18(b)はハロー・パケット(Hパケット)のパケットフォーマットを示し、送信端末IDと、受信端末IDと、メッセージタイプを示すデータ「Hello」と、送信元の端末タイプ(親機Aまたは子機Bnの種別)を示すデータと、子機側で求めた自機から親機Aまでの通信ルートを示すデータとを少なくとも含み、リンクが喪失した端末が存在する場合はそのアドレスを示すリンク喪失端末アドレスを付加して構成される。また図18(c)はリンク通知パケットのパケットフォーマットを示し、送信端末IDと、受信端末IDと、メッセージタイプを示すデータ「リンク通知」と、子機側で求めた自機から親機Aまでの通信ルートを示すルート情報と、直接通信可能な隣接端末に関する隣接端末情報とを少なくとも含み、リンクが喪失した端末が存在する場合はそのアドレスを示すリンク喪失端末アドレスを付加して構成される。また図18(d)はルートエラーパケットのパケットフォーマットを示し、送信端末IDと、受信端末IDと、メッセージタイプを示すデータ「ルートエラー」と、自機から親機Aまでの通信ルートを示すルート情報と、通信エラーが発生したエラー箇所を示す情報とを含んで構成される。
【0035】
またテーブル処理部5bは、テーブル記憶部3aに記憶されているデータテーブル(通信ルートテーブル、トポロジーテーブル、通信可能端末テーブルDなど)を管理する。
【0036】
Hパケット送信タイマ部5cは時間を計時する計時手段を有し、所定の送信時間が経過する毎に通信処理部5aにトリガ信号を与え、通信処理部5aからHパケットを送信させる。すなわち、Hパケットが所定の送信時間間隔で送信されることになる。
【0037】
またリンク通知パケット送信タイマ部5dも時間を計時する計時手段を有し、所定の送信時間が経過する毎に通信処理部5aにトリガ信号を与え、通信処理部5aからリンク通知パケットを送信させる。すなわち、リンク通知パケットが所定の送信時間間隔で送信されることになる。
【0038】
各通信端末2では、Hパケット送信タイマ部5cから通信処理部5aに送信タイミングの到来を示す信号が出力されると、通信処理部5aがHパケットを作成し、ブロードキャストで電力線Lに送信しており、Hパケットを受信可能な隣接端末との間の通信品質レベル(リンクコスト)や、隣接端末の上位ルートに関する情報を取得する。
【0039】
ここで、図3(a)に示す通信ネットワークにおいて通信ルートを構築する処理について以下に説明する。この通信ネットワークは1台の親機Aと複数台(例えば6台)の子機B1〜B6とで構成され、親機Aの端末IDを100、子機B1〜B6の端末IDをそれぞれ101〜106に設定してある。また図3(a)において実線でつながれた端末同士は直接通信可能な端末を示し、両端末間をつなぐ線の近傍に表示した数字は両端末間のリンクコストを示している。
【0040】
先ず親機Aにおいて、Hパケット送信タイマ部5cから通信処理部5aに送信タイミングの到来を示す信号が出力されると、通信処理部5aが上述のHパケットを作成し、ブロードキャストで電力線Lに送信する。この時、親機Aから送信されるHパケットは、送信端末IDが自機のID=100、受信端末IDがブロードキャスト、メッセージタイプが「Hello」、端末タイプが親機となる。
【0041】
子機B1,B2の通信処理部5aは、親機Aから送信されたHパケットを受信することで、親機Aと直接通信が可能であることが分かり、また上記Hパケットの受信信号強度から親機Aとの間の通信品質レベル(リンクコスト)を算出することができる。そして、各子機B1,B2の通信処理部5aでは、親機AからのHパケットを受信することで、親機と直接通信できることが判明したため、上述のHパケットを作成し、ブロードキャストで電力線Lに送信する。この時、子機B1から送信されるHパケットは、送信端末IDが自機のID=101、受信端末IDがブロードキャスト、メッセージタイプが「Hello」、端末タイプが子機、子機の求めた親機へのルートが子機B1(101)→親機A(100)で、そのルートコストが3となる。子機B2から送信されるHパケットは、送信端末IDが自機のID=102、受信端末IDがブロードキャスト、メッセージタイプが「Hello」、端末タイプが子機、子機の求めた親機へのルートが子機B2(102)→親機A(100)で、そのルートコストが2となる。
【0042】
子機B3の通信処理部5aでは、子機B1から送信されたHパケットを受信することにより、子機B1との間で直接通信が可能であることが分かり、また子機B1からのHパケットの受信信号レベルに基づいて子機B1との間のリンクコスト(=5)を求める。この時、子機B3の通信処理部5aでは、自機と親機とをつなぐ通信ルートとして子機B1を経由した通信ルートのみを発見でき、この通信ルートのルートコストは各ホップのリンクコストの総和(=8)になる。なお、子機B3から送信されるHパケットは、送信端末IDが自機のID=103、受信端末IDがブロードキャスト、メッセージタイプが「Hello」、端末タイプが子機、親機への通信ルートが子機B3(103)→子機B1(101)→親機A(100)で、そのルートコストが8となる。
【0043】
また子機B4の通信処理部5aでは、子機B1,B2,B3から送信されたHパケットを受信することにより、子機B1,B2,B3との間でそれぞれ直接通信が可能であることが分かり、また各子機からのHパケットの受信信号レベルに基づいて各子機との間のリンクコスト(子機B1間はリンクコストが2、子機B2間はリンクコストが4、子機B3間はリンクコストが5)を求める。この時、子機B4の通信処理部5aでは、自機と親機とをつなぐ通信ルートとして子機B1,B2,B3をそれぞれ経由した3つの通信ルートを発見でき、各通信ルートのルートコストは各ホップのリンクコストの総和になるので、子機B1を経由するルートコストが5、子機B2を経由するルートコストが6、子機B3を経由するルートコストが13であることが分かる。ここで、ルートコストは値が小さいほど通信品質レベルが良好であるので、子機B1を経由するルートコストが最も小さいことから、子機B0の通信処理部5aは、自機と親機Aとの間の通信ルートとして「子機B4→子機B1→親機A」との通信ルートを選択し、選択した通信ルートを通知するためのHパケットを作成し、ブロードキャストで送信する。なお、子機B4から送信されるHパケットは、送信端末IDが自機のID=104、受信端末IDがブロードキャスト、メッセージタイプが「Hello」、端末タイプが子機、親機への通信ルートが子機B4(104)→子機B1(101)→親機A(100)で、そのルートコストが5となる。
【0044】
他の子機B5(105),B6(106)も他の子機からのHパケットを受信することで、直接通信可能な隣接端末を検出でき、隣接端末から親機Aまでの通信ルートおよびその上位側ルートコストと、隣接端末との間のリンクコストをもとに自端末から親機Aまでの通信ルートおよびそのルートコストを求め、Hパケットによりブロードキャスト送信する。
【0045】
以上のようにして各子機B1〜B6では、親機Aとの間の通信ルートを選択でき、また各子機BnではHパケットを送受することで、直接通信可能な隣接端末の情報を取得でき、リンク通知パケット送信タイマ部5dからトリガ信号が与えられると、隣接端末に関するリンク情報をリンク通知パケットに格納して親機Aに送信する。
【0046】
例えば、子機B4がリンク通知パケットを送信する場合、そのリンク通知パケットは、送信端末IDが自機のID=104、受信端末IDが子機B1のID=101、メッセージタイプが「リンク通知」、親機へのルートが子機B4(104)→子機B1(101)→親機A(100)でそのルートコストが5、隣接端末情報が子機B1(ID=101、リンクコスト2)、子機B2(ID=102、リンクコスト4)、子機B3(ID=103、リンクコスト5)となる。このリンク通知パケットを受信した子機B1の通信処理部5aでは、リンク通知パケットに含まれるルート情報を参照することにより、親機Aに中継すれば良いことが分かるので、子機B4から受信したリンク通知パケットをもとに、親機Aへ送信するリンク通知パケットを作成し、親機Aに送信する。ここで、子機B1が送信するリンク通知パケットは、送信端末IDが自機のID=101、受信端末IDが親機のID=100、メッセージタイプが「リンク通知」、親機へのルートが子機B4(104)→子機B1(101)→親機A(100)でそのルートコストが5、隣接端末情報が子機B1(ID=101、リンクコスト2)、子機B2(ID=102、リンクコスト4)、子機B3(ID=103、リンクコスト5)となる。このリンク通知パケットを親機Aが受信すると、リンク通知パケットに含まれる親機へのルート情報から送信元が子機B4(ID=104)であることが分かるので、子機B4間の通信ルートに関する情報を取得するとともに、上記パケットに含まれる隣接端末情報をもとに、図3(b)に示すようなトポロジーテーブルTB1を作成する。このリンク通知パケットは各子機Bnから一定の時間間隔で送信されるので、親機Aでは各子機Bnからのリンク通知パケットを受信することで、各子機Bnとの間の通信ルートや、各子機Bnの隣接端末情報を取得することができる。
【0047】
而して、親機Aの通信処理部5a(リンク情報受信手段)では、各子機Bnからのリンク通知パケットを受信することで、各子機Bnが直接通信可能な隣接端末の情報を取得することができ(リンク情報受信ステップ)、テーブル処理部5bを用いて、各子機Bnの隣接端末に関するリンク情報をトポロジーテーブルTB1に記憶させる。なお、リンク通知パケットに含まれる通信ルートのデータは、各子機が、Hパケットを送受できる範囲で求めた通信ルートであり、しかも1つのルートのデータしか含まれていなので、トポロジーの変化などによって通信ルートが不通となっている可能性もあり、親機Aでは、トポロジーテーブルTB1に記録されたリンク情報をもとに後述する探索処理を行って、各子機Bnへの通信ルートを探索するようにしている。
【0048】
ここで、従来の通信ネットワークでは、親機Aが子機Bnから送信されたトポロジー通知メッセージに基づいて、このメッセージに格納されたリンク情報(始点側および終点側の通信端末2の端末IDとリンクコストからなる)を図1(c)に示すトポロジーテーブルTB1’に記録させていた。このトポロジーテーブルTB1’は、始点側の通信端末を列、終点側の通信端末を行にとった二次元のデータテーブルで構成されているため、通信端末の個数をn個とすると、リンクコストを記録させるメモリ領域が[(n−1)!]個用意されることになり、双方向リンクが確立できていない端末間のリンクコストを記録させるためのメモリ領域が無駄になるという問題があった。
【0049】
そこで、本実施形態では親機Aのテーブル処理部5b(テーブル処理手段)が、子機Bnからのトポロジー通知メッセージに格納されて送信されてきたリンク情報を、図1(a)に示すようなトポロジーテーブルTB1に格納している(トポロジー記録ステップ)。尚、図1,図2では図示を簡単にするため始点ノードおよび終点ノードを1桁の数字で示している。
【0050】
本実施形態で用いるトポロジーテーブルTB1は、始点側の通信端末(始点ノード)の端末ID、終点側の通信端末(終点ノード)の端末ID、および、両端末間の通信品質レベルを示すリンクコストを一次元に記録したテーブルからなり、リンク情報が通知された分のメモリ領域しか必要とせず、図1(c)に示すトポロジーテーブルTB1’のように予め所定個数のメモリ領域を確保する場合に比べてメモリ領域を小さくでき、無駄になるメモリ領域が発生しないので、メモリ領域を有効に活用することができ、記憶容量が必要以上に大きいメモリを用意する必要がないので、通信端末のコストが増大するのを防止できるという利点がある。
【0051】
なお親機Aの通信処理部5aでは、トポロジーテーブルTB1に記録されたリンク情報をもとに、各子機Bnへの通信ルートを探索する後述のルート探索処理を実行するのであるが、リンク情報の検索を容易にするために、図1(b)に示すように始点ノードの端末IDと、終点ノードの端末IDとの大小関係が一定の関係(例えば、(始点ノードの端末ID)<(終点ノードの端末ID))となるようにトポロジーテーブルTB1に記録させることが好ましい。ここで、検索対象の端末と通信可能なリンク(端末)を検索する際に、始点ノードの端末IDと終点ノードの端末IDとの大小関係に一定の関係付けが行われていない場合は、トポロジーテーブルTB1に記録されている全てのリンク情報の始点側のIDと終点側のIDを両方共に検索しなければならないが、(始点ノードの端末ID)<(終点ノードの端末ID)となるようにトポロジーテーブルTB1に記録させておけば、始点側或いは終点側の片方だけを検索すれば良く、通信ルートの計算にかかる時間を短縮できるという利点がある。
【0052】
また、図2(a)に示すトポロジーテーブルTB1のように始点ノードの端末IDあるいは終点ノードの端末IDが昇順または降順にソートされていない場合は、所望の端末のリンク情報を検索するのに、先頭レコードから順番に検索しなければならないため時間を要するが、図2(b)に示すように始点ノードの端末IDを昇順にソートすることで、所望の端末のリンク情報を検索するのに2分探索などの探索アルゴリズムを利用できるから、端末の検索処理を効率よく行うことができる。また、図2(c)に示すように始点ノードの端末IDを第1キーとして昇順にソートした後に、終点ノードの端末IDを第2キーとして昇順にソートすることで、所望の端末のリンク情報を検索する処理をさらに効率よく行うことができる。尚、図2(b)(c)に示すトポロジーテーブルTB1では、始点ノードまたは終点ノードを昇順にソートしているが、降順にソートしても良く、所望の端末のリンク情報を検索する処理を効率よく行うことができる。また、図2(b)に示すトポロジーテーブルTB1では、始点ノードの端末IDを昇順にソートしているが、終点ノードの端末IDを昇順にソートしても良いし、終点ノードの端末IDを第1キーとして昇順にソートした後、始点ノードの端末IDを第2キーとして昇順にソートしても良い。また、親機Aの通信処理部5aが、テーブル処理部5bを用いて始点ノードおよび終点ノードの端末IDとリンクコストとをトポロジーテーブルTB1に記録させる際に、端末IDが昇順又は降順に並ぶようソートしてからトポロジーテーブルTB1に記録させておけば、所望の端末のリンク情報を検索する際に短時間で検索を行えるが、トポロジー通知メッセージを受信した順番にリンク情報をトポロジーテーブルTB1に記録させておき、所望の端末のリンク情報を検索する際に、端末IDが昇順または降順に並ぶようにソートしてから、検索を行うようにしても良い。
【0053】
以上のようにして、親機Aが、ネットワークを構成する子機Bnからトポロジー通知メッセージを受信し、記憶部3内のトポロジーテーブルTB1にリンク情報を記録させると、親機Aの通信処理部5a(通信ルート構築手段)が、トポロジーテーブルTB1に記録させたリンク情報をもとに、ダイクストラアルゴリズムを用いて各子機への通信ルートを求めるルート探索処理を行う(通信ルート構築ステップ)。
【0054】
ここで、親機Aによるルート探索処理について図3〜図11を参照して説明する。なお、各端末で隣接端末の探索処理を行い、リンク情報をリンク通知パケットに格納して親機A(100)に送信することで、親機AのトポロジーテーブルTB1には各端末のリンク情報が記録されているものとする(図3(b)参照)。また図5(a)は親機Aのテーブル記憶部3aに用意された通信ルートの演算テーブルTB2を示している。演算テーブルTB2は通信ルートを探索する過程で使用されるテーブルであり、この演算テーブルTB2には、各端末の端末ID100〜106に対して、前ホップの端末IDと、ルート構築端末に設定されたか否かを示すフラグVisitと、親機Aからのホップ数HOPと、親機Aからのルートコストとを記録するようになっている。
【0055】
図4は親機Aによるルート探索処理のフローチャートであり、先ず親機Aの通信処理部5aは、自機(端末ID=100)をルート構築端末に決定するとともに(S1)、ルート構築端末を検索対象に決定し、図5(b)に示すように自機(端末ID=100)のフラグVisitをTRUE(○)にする(S2)。そして、親機Aの通信処理部5aは、始点ノードを検索対象の端末ID(=100)に指定するとともに、終点ノードの端末IDを101、102、103、…、106に順番に指定し、対応するリンクがトポロジーテーブルTB1に存在するか否かを検索する(S3)。ここで、検索対象の端末と通信可能なリンクをトポロジーテーブルTBの先頭から順番に検索していくと、特にトポロジー数が多い場合には検索に非常に長い時間を要するので、始点ノードおよび終点ノードを指定して検索するが、上述のようにトポロジーテーブルTB1は始点ノード或いは終点ノードの端末IDが昇順又は降順にソートされているので、先ず始点ノードを2分探索を用いて検索した後、抽出されたリンクから終点ノードが一致するリンクを検索することで、検索に要する時間をかなり短縮することができる。
【0056】
そして、S3においてトポロジーテーブルTB1に該当リンクを発見できれば該当リンクのルートコストRC1と、演算テーブルTB2に記録されているルートコストRCとの大小を比較し(S4)、今回発見したルートコストRC1が演算テーブルTB2に記録されているルートコストRCよりも小さければ(RC>RC1)、演算テーブルTB2に前ホップの端末IDとルートコストとホップ数HOPを書き込んだ後(S5)、S2に戻って処理を続行する。一方、S4において今回発見したルートコストRC1が演算テーブルTB2に記録されているルートコストRC以上であれば(RC≦RC1)、通信処理部5aは演算テーブルTB2へのルートコストの書き込み処理は行わず、S2に戻って処理を続行する。なお演算テーブルTB2にルートコストが記録されていない場合は、今回発見したルートコストRC1を演算テーブルTB2に書き込むものとする。ここで、検索対象の端末が親機(端末ID=100)の場合は、端末IDが101,102の端末とリンクがつながっており、両端末間のホップ数HOP(=1)と前ホップの端末IDとルートコストRC[端末(101)が3,端末(102)が2]が演算テーブルTB2に記録される(図5(c)参照)。
【0057】
検索対象の端末について通信可能なリンクを全て検索し終えると、親機Aの通信処理部5aは、演算テーブルTB2から、フラグVisitがFALSEとなっている端末(Visitの欄に○がついていない端末)が存在するかを検索し(S6)、存在する場合はフラグVisitがFALSEとなっている端末の中でルートコストが最小の端末を検索対象に決定するとともに、この端末のフラグVisitをTRUE(○)として(S7)、S3に戻り、上述の処理を繰り返す。
【0058】
ここで、フラグVisitがFALSEとなっている端末(101〜106)の中でルートコストが最小の端末は、端末IDが102の端末(以下、端末(102)と表す)なので、通信処理部5aは、この端末を検索対象に設定し、図6(a)に示すように端末(102)のフラグVisitをTRUE(○)に設定した後、始点ノードを検索対象の端末ID(=102)に指定するとともに、終点ノードの端末IDをフラグVisitがTRUE(○)となっていない端末の端末ID101、103、104、105、106に順番に指定して、対応するリンクがトポロジーテーブルTB1に存在するか否かを検索する(S3)。そして、トポロジーテーブルTB1に該当リンクを発見できれば、今回発見した該当リンク(端末IDが104,105,106の端末)のルートコストRC1と演算テーブルTB2に記録されている当該端末のルートコストRCを比較し、RC>RC1であれば演算テーブルTB2に前ホップの端末IDとルートコストとホップ数HOP(=2)を上書きする(図6(b)参照)。なお、ルートコストは自機と親機との間の通信コスト値であるので、ルートコストは各ホップのリンクコストの合計値となる。例えば端末(104)では、端末(100)と端末(102)の間のリンクコスト(=2)と、端末(102)と端末(104)の間のリンクコスト(=4)との合計値(=6)となる。
【0059】
端末(102)について通信可能な端末の検出が全て終了すると、通信処理部5aは、フラグVisitがFALSEとなっている端末(101、104〜106)の中でルートコストが最小の端末(101)を検索対象に設定し、図7(a)に示すように端末(101)のフラグVisitをTRUE(○)に設定した後、始点ノードを検索対象の端末ID(=101)に指定するとともに、終点ノードの端末IDをフラグVisitがTRUE(○)となっていない端末の端末ID103、104、105、106に順番に指定して、対応するリンクがトポロジーテーブルTB1に存在するか否かを検索する(S3)。そして、トポロジーテーブルTB1に該当リンクを発見できれば、今回発見した該当リンク(端末IDが103〜105の端末)のルートコストRC1と演算テーブルTB2に記録されている当該端末のルートコストRCを比較し、RC>RC1であれば演算テーブルTB2に前ホップの端末IDとルートコストとホップ数HOP(=2)を上書きする(図7(b)参照)。ここで、端末(103)は、演算テーブルTB2にデータが記録されていなかったので、今回発見したリンクのルートコストと前ホップの端末IDとホップ数とを演算テーブルに記録する。また、端末(104)は、今回発見したリンク(前ホップの端末IDが101)のルートコストRC1(=5)の方が、演算テーブルTB2に記憶されているルートコストRC(=6)よりも小さいので、今回発見したリンクのルートコストと前ホップの端末IDとホップ数とを演算テーブルに記録する。一方、端末端末(105)のルートコストは、今回発見したリンク(前ホップの端末IDが101)のルートコストRC1の方が、演算テーブルTB2に記憶されているルートコストRC以上となるので、演算テーブルTB2のデータはそのままとする。
【0060】
次に、端末(101)について通信可能な端末の検出が全て終了すると、通信処理部5aは、フラグVisitがFALSEとなっている端末(103〜106)の中でルートコストが最小の端末(104)を検索対象に設定し、図8(a)に示すように端末(104)のフラグVisitをTRUE(○)に設定した後、始点ノードを検索対象の端末ID(=104)に指定するとともに、終点ノードの端末IDをフラグVisitがTRUE(○)となっていない端末の端末ID103、105、106に順番に指定して、対応するリンクがトポロジーテーブルTB1に存在するか否かを検索する(S3)。この場合、トポロジーテーブルTB1には該当するリンクが発見できないので、演算テーブルTB2のデータはそのままとする(図8(b)参照)。
【0061】
端末(104)ついて、通信可能な端末の検出が全て終了すると、通信処理部5aは、フラグVisitがFALSEとなっている端末(103,105,106)の中でルートコストが最小の端末(106)を検索対象に設定し、図9(a)に示すように端末(106)のフラグVisitをTRUE(○)に設定した後、始点ノードを検索対象の端末ID(=106)に指定するとともに、終点ノードの端末IDをフラグVisitがTRUE(○)となっていない端末の端末ID103、105に順番に指定して、対応するリンクがトポロジーテーブルTB1に存在するか否かを検索する(S3)。そして、トポロジーテーブルTB1に該当リンクが発見できれば、今回発見した該当リンク(端末(105))のルートコストRC1と演算テーブルTB2に記録されている当該端末のルートコストRCを比較する。この場合、端末(105)のルートコストは、今回発見したリンク(前ホップの端末IDが106)のルートコストRC1の方が、演算テーブルTB2に記憶されているルートコストRC以上となるので、演算テーブルTB2のデータはそのままとする(図9(b)参照)。
【0062】
端末(106)について通信可能な端末の検出が全て終了すると、通信処理部5aは、フラグVisitがFALSEとなっている端末(103)、(105)の中でルートコストが最小の端末(103)を検索対象に設定し(この場合はルートコストが同じ値となっているので端末IDの小さい方に決定)、図10(a)に示すように端末(103)のフラグVisitをTRUE(○)に設定した後、始点ノードを検索対象の端末ID(=103)に指定するとともに、終点ノードの端末IDをフラグVisitがTRUE(○)となっていない端末の端末ID105に指定して、対応するリンクがトポロジーテーブルTB1に存在するか否かを検索する(S3)。この場合、トポロジーテーブルTB1には該当するリンクが発見できないので、演算テーブルTB2のデータはそのままとする(図10(b)参照)。
【0063】
端末(103)について通信可能な端末の検出が全て終了すると、通信処理部5aは、フラグVisitがFALSEとなっている端末(105)を検索対象に設定し、図11(a)に示すように端末(105)のフラグVisitをTRUE(○)に設定した後、始点ノードを検索対象の端末ID(=105)に指定するが、フラグVisitがTRUE(○)となっていない端末が存在しないので終点ノードの指定が行えず、該当リンクの検索処理は行わないまま、処理を終了するので、演算テーブルTB2のデータはそのままとなる(図11(b)参照)。そして、端末(105)について処理を終えると、全ての端末のフラグVisitがTRUEとなるので、通信処理部5aは、全ての端末の通信ルートが設定できたと判断し、テーブル処理部5bを用いて演算テーブルTB2の情報を記憶部3の通信ルートテーブルに反映させて(S8)、ルート探索処理を終了し、以後は通信ルートテーブルに記録された通信ルートを用いて親機Aと各子機Bnとの間で通信信号が授受されるのである。
【0064】
(実施形態2)
本発明の実施形態2を図12〜図15に基づいて説明する。本実施形態では、実施形態1で説明した通信ネットワークにおいて、通信ルート構築ステップで親機Aが各子機への通信ルートを求める際に、親機Aから対象の子機に至る通信ルートとして、所定の通信品質以上(すなわちルートコストRCが所定の閾値以下)の通信ルートが探索できた場合は、当該通信ルートを当該子機への通信ルートに決定し、探索対象の子機に至る全ての通信ルートを探索する前に当該子機への通信ルートの探索を終了するようにしている。例えば本実施形態ではルートコストの閾値を、1ホップ目であれば5、2ホップ目であれば10、3ホップ目であれば15に設定している。尚、ルート探索処理以外は実施形態1で説明した通信ネットワークと同様であるので、同一の構成要素には同一の符号を付して、その説明は省略する。
【0065】
親機Aによるルート探索処理を図12のフローチャートに基づいて説明する。ところで、図13(a)は親機Aの通信処理部5aがルート探索処理を行う際に用いる演算テーブルTB2を示し、実施形態1で説明した演算テーブルTB2において通信ルートが決定されたか未決定かを示すルート決定フラグを追加してある。
【0066】
親機Aの通信処理部5aがルート探索処理を開始すると、先ず自機(端末ID=100)をルート構築端末に決定するとともに(S10)、ルート構築端末を検索対象に決定し、図13(b)に示すように自機(端末ID=100)のフラグVisitをTRUE(○)、ルート決定フラグを「決定」にするとともに、他の端末のルート決定フラグを「未決定」にする(S11)。そして、親機Aの通信処理部5aは、始点ノードを検索対象の端末ID(=100)に指定するとともに、終点ノードの端末IDを101、102、103、…、106に順番に指定し、対応するリンクがトポロジーテーブルTB1に存在するか否かを検索する(S12)。ここで、検索対象の端末と通信可能なリンクをトポロジーテーブルTBの先頭から順番に検索していくと、特にトポロジー数が多い場合には検索に非常に長い時間を要するので、始点ノードおよび終点ノードを指定して検索するが、実施形態1で説明したようにトポロジーテーブルTB1は始点ノード或いは終点ノードの端末IDが昇順又は降順にソートされているので、先ず始点ノードを2分探索を用いて検索した後、抽出されたリンクから終点ノードが一致するリンクを検索することで、検索に要する時間をかなり短縮することができる。
【0067】
そして、S12においてトポロジーテーブルTB1に該当リンクを発見できれば該当リンクのルートコストRC1と、演算テーブルTB2に記録されているルートコストRCとの大小を比較し(S13)、今回発見したルートコストRC1が演算テーブルTB2に記録されているルートコストRCよりも小さければ(RC>RC1)、演算テーブルTB2に前ホップの端末IDとルートコストとホップ数HOPを書き込む(S14)。一方、S13において、今回発見したルートコストRC1が演算テーブルTB2に記録されているルートコストRC以上であれば(RC≦RC1)、通信処理部5aは演算テーブルTB2へのルートコストの書き込みは行わず、S12に戻って処理を継続する。なお演算テーブルTB2にルートコストが記録されていない場合は、今回発見したルートコストRC1を演算テーブルTB2に書き込むものとする。また、S14で演算テーブルへの書き込みを終えると、通信処理部5aはルートコストが閾値以下であるか否かを判定し(S15)、閾値以下であれば当該子機への通信ルートを決定し、ルート決定フラグを「決定」とした後(S16)、S12に戻って処理を継続する。また、S15においてルートコストが閾値よりも大きければ、通信処理部5aは、ルート決定フラグを「未決定」のままとし、S12に戻って処理を継続する。
【0068】
ここで、検索対象の端末が親機(端末ID=100)の場合は、端末IDが101,102の端末(101)および端末(102)とリンクがつながっているので、通信処理部5aは、両端末間のホップ数HOP(=1)と前ホップの端末IDとルートコスト[端末(101)が3,端末(102)が2]を演算テーブルTB2に記録するとともに(図13(b)参照)、各端末のルートコストが1ホップ目の閾値(=5)以下となっていることから、各端末(101),(102)のルート決定フラグを「決定」とする(図13(c)参照)。
【0069】
検索対象の端末について通信可能なリンクを全て検索し終えると、親機Aの通信処理部5aは、演算テーブルTB2から、ルート決定フラグが「未決定」となっている端末が存在するかを検索し(S17)、存在する場合はフラグVisitがFALSEとなっている端末(Visitの欄に○がついていない端末)が存在するかを検索し(S18)、存在する場合はフラグVisitがFALSEとなっている端末の中でルートコストが最小の端末を検索対象に決定するとともに、この端末のフラグVisitをTRUE(○)として(S19)、S12に戻り、上述の処理を繰り返す。一方、S17でルート決定フラグが「未決定」の端末が存在しなかったり、フラグVisitがFALSEの端末が存在しなかった場合、親機Aの通信処理部5aはルート探索処理が完了したと判断し、演算テーブルTB2の情報を通信ルートテーブルに反映させる(S20)。
【0070】
ここで、親機Aの通信処理部5aが、親機100と通信可能なリンクの検索を全て終了した時点では、フラグVisitがFALSEとなっている端末(101〜106)の中でルートコストが最小の端末は、端末IDが102の端末なので、通信処理部5aは、この端末(102)を検索対象に設定し、図14(a)に示すように端末(102)のフラグVisitをTRUE(○)に設定した後、始点ノードを検索対象の端末ID(=102)に指定するとともに、終点ノードを「ルート決定フラグ」が「未決定」となっている端末の端末ID103、104、105、106に順番に指定して、対応するリンクがトポロジーテーブルTB1に存在するか否かを検索する(S12)。そして、トポロジーテーブルTB1に該当リンクが発見できれば、今回発見した該当リンク(端末IDが104,105,106の端末)のルートコストRC1と演算テーブルTB2に記録されている当該端末のルートコストRCを比較し、RC>RC1であれば演算テーブルTB2に前ホップの端末ID(=102)とルートコストRCとホップ数HOP(=2)を上書きした後、ルートコストを2ホップ目の閾値(=10)と比較し、何れのルートコストも閾値以下となっているので、ルート決定フラグを「決定」とする(図14(b)参照)。
【0071】
端末(102)について通信可能な端末の検出が全て終了すると、親機Aの通信処理部5aは、演算テーブルTB2から、ルート決定フラグが「未決定」となっている端末が存在するかを検索する。ここで、端末IDが103の端末(103)はルート決定フラグが未決定となっているので、親機Aの通信処理部5aは、フラグVisitがFALSEとなっている端末を検索し、フラグVisitがFALSEとなっている端末の中でルートコストが最小の端末(端末IDが101の端末)を検索対象に設定し、図15(a)に示すように端末(101)のフラグVisitをTRUE(○)に設定した後、始点ノードを検索対象の端末ID(=101)に指定するとともに、終点ノードを「ルート決定フラグ」が「未決定」となっている端末の端末ID103に指定して、対応するリンクがトポロジーテーブルTB1に存在するか否かを検索する(S12)。そして、トポロジーテーブルTB1に該当リンクが発見できれば、端末(103)のルートコストRC1と演算テーブルTB2に記録されている当該端末のルートコストRCを比較し、RC>RC1であれば演算テーブルTB2に前ホップの端末IDとルートコストとホップ数HOP(=2)を上書きする。ここで、端末(103)はルートコストが未定であったので、親機Aの通信処理部5aは、端末(103)について前ホップの端末IDとルートコストとホップ数HOP(=2)を上書きした後、ルートコストを2ホップ目の閾値(=10)と比較し、何れのルートコストも閾値以下となっているので、ルート決定フラグを「決定」とする(図15(b)参照)。
【0072】
端末(101)について通信可能な端末の検出が全て終了すると、全ての端末のルート決定フラグが「決定」となるので、親機Aの通信処理部5aは、全ての端末の通信ルートが設定できたと判断し、テーブル処理部5bを用いて演算テーブルTB2の情報を記憶部3の通信ルートテーブルに反映させて、ルート探索処理を終了し(S20)、以後は通信ルートテーブルに記録された通信ルートを用いて親機Aと各子機Bnとの間で通信信号が授受されるのである。
【0073】
以上説明したように本実施形態では、親機Aの通信処理部5aがルート探索処理を行う際に、親機Aから対象の子機に至る通信ルートとして、所定の通信品質以上の通信ルート(つまりルートコストが所定の閾値以下の通信ルート)が探索できた場合は、当該通信ルートを当該子機への通信ルートに決定し、当該子機への通信ルートの探索処理を終了しているので、親機Aと子機Bnとの間の通信ルートとして所定の通信品質以上の通信ルートを確保でき、また当該子機に至る全ての通信ルートを探索し、その中から通信品質が最も良い通信ルートを選択する場合に比べて短い時間で通信ルートを探索することができる。
【0074】
なお本実施形態では、実施形態1で説明したトポロジーテーブルTB1を用いて通信ルートの探索処理を行っているが、従来のトポロジーテーブルTB1’を用いて本実施形態のようなルート探索処理を行った場合でも、親機Aから対象の子機に至る通信ルートとして、所定の通信品質以上の通信ルート(つまりルートコストが所定の閾値以下の通信ルート)が探索できると、当該通信ルートを当該子機への通信ルートに決定し、当該子機への通信ルートの探索処理を終了することで、通信ルートの探索時間を短縮することができる。
【0075】
上述した構成例は、従来構成において説明したPLCネットワークに用いることを想定しているが、他の有線の伝送路を用いる通信ネットワーク、あるいは小電力無線による無線LANのように無線の伝送路を用いる無線ネットワークなど、種々のマルチホップ通信ネットワークに上述の技術を適用してもよい。
【0076】
さらにいえば、PLCネットワークには、10〜450kHzの低周波帯を利用する低速PLCと、2〜30MHzの高周波帯を利用する高速PLCとが知られており、低速PLCのノードは、高速PLCより伝送速度が遅いから、上述の構成のように低トラフィックでもネットワークトポロジを把握できることはとくに有効であり、また、通信ネットワーク全体のリンクを各ノードが持たなくとも隣接ノードテーブルがあればよいから、ノードに実装するメモリの容量を小さくすることができる。しかも、他の有線の伝送路を用いる場合に比較すると、PLCでは各ノードとなる電気機器のオン/オフや稼働状態によってネットワークトポロジや通信品質が変化しやすいから、本発明の技術は有効である。
【図面の簡単な説明】
【0077】
【図1】(a)(b)は実施形態1の通信ルートの構築方法に用いるトポロジーテーブルの説明図、(c)は従来のトポロジーテーブルの説明図である。
【図2】(a)〜(c)は同上に用いる他のトポロジーテーブルの説明図である。
【図3】(a)は同上を用いる通信ネットワークの概略構成図、(b)はトポロジーテーブルの説明図である。
【図4】同上のルート探索処理を説明するフローチャートである。
【図5】(a)〜(c)は同上に用いる演算テーブルの説明図である。
【図6】(a)(b)は同上に用いる演算テーブルの説明図である。
【図7】(a)(b)は同上に用いる演算テーブルの説明図である。
【図8】(a)(b)は同上に用いる演算テーブルの説明図である。
【図9】(a)(b)は同上に用いる演算テーブルの説明図である。
【図10】(a)(b)は同上に用いる演算テーブルの説明図である。
【図11】(a)(b)は同上に用いる演算テーブルの説明図である。
【図12】実施形態2のルート探索処理を説明するフローチャートである。
【図13】(a)〜(c)は同上に用いる演算テーブルの説明図である。
【図14】(a)(b)は同上に用いる演算テーブルの説明図である。
【図15】(a)(b)は同上に用いる演算テーブルの説明図である。
【図16】同上を用いる通信ネットワークのシステム構成図である。
【図17】同上を用いる通信端末の概略ブロック図である。
【図18】(a)〜(d)は同上に用いるパケットフォーマットの説明図である。
【符号の説明】
【0078】
1 通信ネットワーク
2 通信端末
3 記憶部
4 PLCインターフェース部
5 制御部
5a 通信処理部
5b テーブル処理部
5c Hパケット送信タイマ部
A 親機
B1〜B5 子機
TB1 トポロジーテーブル
TB2 演算テーブル
【技術分野】
【0001】
本発明は、マルチホップ通信を用いた通信端末における通信ルートの構築方法およびそれを用いる通信端末に関するものである。
【背景技術】
【0002】
従来、無線通信網に接続された複数台の通信端末からなる通信ネットワークにおいて、通信端末間で通信信号を中継することで、自端末と直接通信できない端末との通信を行う方法が知られている(いわゆるマルチホップ通信)。
【0003】
また近年、電力線に接続された複数台の電気機器の間で、電力線を通信線とした電力線搬送通信(以下、PLC(Power Line Communication)と略す。)を行う電力線搬送通信ネットワーク(以下、PLCネットワークと言う。)が普及している。
【0004】
このようなPLCネットワークを利用し、集合住宅の各住戸に設置された電力量計に電力線搬送通信機能を付加するとともに、電気室にPLC親機を設置し、PLC親機が各住戸の電力量計(PLC子機)から検針データを取得して、取得した検針データをネットワークを通じて遠隔の検針サーバに送信するような遠隔検針システムが提案されている。また、集合住宅の電気室などに設置される幹線分岐盤に親機ユニットを設置するとともに、各住戸の住宅分電盤内に子機ユニットを設置して、親機ユニットと子機ユニットの間で分岐幹線を介して電力線搬送通信を行うことで、各住戸の電気使用量を監視、制御するシステムも提案されている。このシステムでは、子機ユニットから親機ユニットへ各住戸の電気使用量を送信させて、親機ユニットで各住戸の電気使用量と集合住宅全体の電気使用量とを同時に監視し、各住戸の電気使用量の合計が共用電気幹線の容量を超えそうな場合には、電気使用量の多い住戸の子機ユニットに親機ユニットが使用制限命令を送信し、子機ユニットが予め設定された家電製品を自動的に停止させて、集合住宅全体の電気使用量を制限するようにしている。PLCネットワークを利用したこれらのシステムでは、通信端末間の配線長が長く、また通信端末の接続台数も多くなるため、通信可能な距離にある通信端末が通信信号を中継することで、子機と親機との間で通信を行うマルチホップ通信が行われている(例えば、特許文献1を参照)。
【0005】
ところで、上述した無線の通信ネットワークでは、ネットワーク内で端末が移動するため、ネットワークトポロジーが変化しやすい傾向があり、トポロジーの変化に対応して、各端末間の通信ルートを再構築する必要があった。またPLCネットワークにおいても、電力線を介して通信を行うために、電気機器の発生するノイズの影響により通信不可能な状態になる場合があり、また電気機器からの電源プラグを電源コンセントに抜き差しすることで、電気機器の電力線への接続状態が変化し、通話不可能になる電気機器が発生するため、ネットワークトポロジーが変化しやすいという特徴があり、トポロジーの変化に対応して、各端末間の通信ルートを再構築する必要があった。
【0006】
そこで、これらの通信ネットワークでは、所定時間が経過する毎に端末間で通信品質レベルの最も良い通信ルートを探索する必要があり、通信ルートを効率的に探索するためにダイクストラアルゴリズムと呼ばれるアルゴリズムが用いられていた(例えば非特許文献1参照)。
【特許文献1】特開2006−67557号公報
【非特許文献1】西丸泰之、佐藤文明;「QoSマルチキャスト配送木の構築方式」;情報処理学会研究報告 Vol.2003,No.34;社団法人 情報処理学会;2003年3月20日
【発明の開示】
【発明が解決しようとする課題】
【0007】
上述の通信ネットワークでは、親機と各子機との間の通信ルートを構築するために、各通信端末が、自端末の生存を通知する通信パケット(Hello Packet、以下、Hパケットと略す。)の送受信を行うことで、直接通信可能な隣接端末を探索した後、探索結果を親機に通知するトポロジー通知メッセージを親機に対して返送しており、親機では受信したトポロジー通知メッセージから、リンクが確立している始点側の通信端末および終点側の通信端末の端末IDと、両端末間の通信品質レベルを示すリンクコストを図1(c)に示すようなトポロジーテーブルTB1’に記録させている。そして、親機ではトポロジーテーブルTB1’に記録されたリンク情報(各子機が直接通信可能な隣接端末に関する情報)をもとに、ダイクストラアルゴリズムを用いて各子機への通信ルートを構築するようになっている。
【0008】
ところで、図1(c)に示すトポロジーテーブルTB1’は、例えば始点側の通信端末の端末IDを列、終点側の通信端末の端末IDを行にとった2次元のデータテーブルからなり、始点側の通信端末に対応する列と終点側の通信端末に対応する行とが交差する升目にリンクコストを記録してある。また、升目に「−」が入っている箇所は対応する端末間でリンクが確立していないことを示している。ここで、始点側の通信端末と終点側の通信端末を入れ替えたセルには同じ値が記録されることになるので(m行n列のセルに入るリンクコストとn行m列のセルに入るリンクコストは同じ値になるので)、図1(c)に示すトポロジーテーブルTB1’では、対角線を挟んだ一方の領域のみにデータを記録することでテーブルサイズを小さくしているが、リンクが確立していない端末間でもリンクコストを記録させるためのメモリ領域が確保されていた。そのため、メモリ領域が無駄になり、実際に使用するメモリ領域に比べて記憶容量の大きなRAMを用意する必要があり、コスト高になるという問題があった。また、ダイクストラアルゴリズムを用いた通信ルートの探索には時間がかかり、端末の数が増えるほどルート探索に要する時間も長くなるため、通信ルートの探索時間を短縮したいという要求もあった。
【0009】
本発明は上記問題点に鑑みて為されたものであり、請求項1、7の発明の目的とするところは、トポロジーデータを記録するためのメモリ領域を小さくできる通信ルートの構築方法および通信端末を提供することにある。また、請求項2〜6の発明の目的とするところは、通信ルートの探索に要する時間を短縮しつつ、トポロジーデータを記録するためのメモリ領域を小さくた通信ルートの構築方法を提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するために、請求項1の発明は、通信ネットワークを構成する複数の通信端末の内の1台を親機、残りを子機とし、親機が、当該親機と各子機との間の通信ルートを記憶した記憶部から、所望の子機への通信ルートを読み出し、当該通信ルートにしたがって隣接端末間で通信信号を授受することにより、親機と子機との間で通信を行うにあたり、親機が各子機から直接通信可能な隣接端末に関するリンク情報を受信し、受信したリンク情報をもとに各子機への通信ルートを構築する通信ルートの構築方法であって、各子機から、当該子機が直接通信可能な隣接端末に関するリンク情報を受信するリンク情報受信ステップと、受信したリンク情報をもとに、始点側の通信端末の端末ID、終点側の通信端末の端末ID、および、両端末間の通信品質レベルを示すリンクコストを一次元のデータテーブルからなるトポロジーテーブルに記録させるトポロジー記録ステップと、トポロジーテーブルに記録されたリンク情報をもとに、ダイクストラアルゴリズムを用いて各子機への通信ルートを求める通信ルート構築ステップとを備えることを特徴とする。
【0011】
請求項2の発明は、請求項1の発明において、通信ルート構築ステップでダイクストラアルゴリズムを用いて各子機への通信ルートを求める際に、親機から対象の子機に至る通信ルートとして、所定の通信品質以上の通信ルートが探索できた場合は、当該通信ルートを当該子機への通信ルートに決定し、当該子機に至る全ての通信ルートを探索する前に当該子機への通信ルートの探索を終了することを特徴とする。
【0012】
請求項3の発明は、請求項1又は2の発明において、 始点側の通信端末の端末IDと、終点側の通信端末の端末IDとの大小関係が一定の関係となるようにトポロジーテーブルがソートされた状態で通信ルート構築ステップを実行することを特徴とする。
【0013】
請求項4の発明は、請求項1乃至3の何れかの発明において、トポロジーテーブルに記憶させた始点側の通信端末の端末IDが昇順又は降順に並ぶようにソートされた状態で通信ルート構築ステップを実行することを特徴とする。
【0014】
請求項5の発明は、請求項4の発明において、トポロジーテーブルに記憶させた終点側の通信端末の端末IDが昇順又は降順に並ぶようにソートされた状態で通信ルート構築ステップを実行することを特徴とする。
【0015】
請求項6の発明は、請求項1乃至5の何れかの発明において、トポロジー記録ステップにおいて、始点側または終点側の通信端末の端末IDの少なくとも何れか一方が昇順又は降順に並ぶように、始点側および終点側の通信端末の端末IDとリンクコストとをトポロジーテーブルに記録させることを特徴とする。
【0016】
請求項7の発明は、通信ネットワークを構成する複数の通信端末の内の1台を親機、残りを子機とし、親機が、当該親機と各子機との間の通信ルートを記憶した記憶部から、所望の子機への通信ルートを読み出し、当該通信ルートにしたがって隣接端末間で通信信号を授受することにより、親機と子機との間で通信を行う親機側の通信端末であって、各子機から、当該子機が直接通信可能な隣接端末に関するリンク情報を受信するリンク情報受信手段と、受信したリンク情報をもとに、始点側の通信端末の端末ID、終点側の通信端末の端末ID、および、両端末間の通信品質レベルを示すリンクコストを一次元のデータテーブルからなるトポロジーテーブルに記録させるテーブル処理手段と、ソートされたトポロジーテーブルに記録されたリンク情報をもとに、ダイクストラアルゴリズムを用いて各子機への通信ルートを求める通信ルート構築手段とを備えることを特徴とする。
【発明の効果】
【0017】
請求項1の発明によれば、各子機から受信したリンク情報をもとに、始点側の通信端末の端末ID、終点側の通信端末の端末ID、および、両端末間の通信品質レベルを示すリンクコストを一次元のデータテーブルからなるトポロジーテーブルに記録させているので、始点側の通信端末を列、終点側の通信端末を行にとった二次元のデータテーブルからなるトポロジーテーブルにリンクコストを記録させる場合に比べて、リンクが確立できていない端末間のリンクコストを記録させるメモリ領域が無駄になることがなく、トポロジーデータを記録させるための記憶容量を小さくした通信ルートの構築方法を実現することができる。
【0018】
請求項2の発明によれば、親機から対象の子機に至る通信ルートとして、所定の通信品質以上の通信ルートが探索できた場合は、当該通信ルートを当該子機への通信ルートに決定しているので、親機と子機との間の通信ルートとして所定の通信品質以上の通信ルートを確保でき、また当該子機に至る全ての通信ルートを探索し、その中から通信品質が最も良い通信ルートを選択する場合に比べて短い時間で通信ルートを探索することができる。
【0019】
請求項3の発明によれば、始点側の通信端末の端末IDと、終点側の通信端末の端末IDとの大小関係が一定の関係となるようにトポロジーテーブルがソートされた状態で通信ルート構築ステップを実行するので、所望の通信端末のリンク情報を検索する際に、まず始点側のみ順番に検索し、始点側が一致した時のみ終点側を検索することで、検索にかかる時間を短縮することができる。
【0020】
請求項4の発明によれば、始点側の通信端末の端末IDが昇順又は降順に並ぶようにソートされた状態で通信ルート構築処理を行っているので、所望の通信端末のリンク情報を検索する際に検索にかかる時間を短縮することができる。
【0021】
請求項5の発明によれば、終点側の通信端末の端末IDが昇順又は降順に並ぶようにソートされた状態で通信ルート構築処理を行っているので、所望の通信端末のリンク情報を検索する際に検索にかかる時間を短縮することができる。
【0022】
請求項6の発明によれば、始点側または終点側の通信端末の端末IDの少なくとも何れか一方が昇順又は降順に並ぶように、始点側および終点側の通信端末の端末IDとリンクコストとをトポロジーテーブルに記録させているので、通信ルートを構築する際に端末IDをソートする処理を行う必要がなくなり、通信ルートの探索にかかる時間をさらに短縮することができる。
【0023】
請求項7の発明によれば、リンク情報受信手段が各子機から受信したリンク情報をもとに、テーブル処理手段が、始点側の通信端末の端末ID、終点側の通信端末の端末ID、および、両端末間の通信品質レベルを示すリンクコストを一次元のデータテーブルからなるトポロジーテーブルに記録させているので、始点側の通信端末を列、終点側の通信端末を行にとった二次元のデータテーブルからなるトポロジーテーブルにリンクコストを記録させる場合に比べて、リンクが確立できていない端末間のリンクコストを記録させるメモリ領域が無駄になることがなく、トポロジーデータを記録させるための記憶容量を小さくできる通信端末を実現することができる。
【発明を実施するための最良の形態】
【0024】
以下に、本発明に係る通信ルートの構築方法を、電力線搬送通信により通信を行う通信ネットワークに適用した実施形態について図面を参照して説明する。
【0025】
(実施形態1)
本発明の実施形態1を図面に基づいて説明する。図16は電力線搬送通信ネットワーク(以下、PLCネットワークと略す。)1の概略構成図である。このPLCネットワーク1は、例えば集合住宅のような建築物等で用いられ、複数の通信端末2を電力線Lに接続することにより構成され、複数台の通信端末2の内の1台を親機A、残りを子機Bn(n=1,2,3…)としている。
【0026】
このPLCネットワーク1では、親機Aおよび子機Bnが、通信可能な距離にある隣接端末2(親機A又は子機Bn)との間で所定の通信プロトコル(例えばSCP、エコーネット等)を用いて電力線搬送通信を行っており、親機Aが子機Bnから所定の情報を収集するとともに、子機Bnの遠隔監視が行われるものである。ここで、本ネットワーク1では、親機Aと各子機Bnとの間で直接又は間接に通信が行われ、親機Aと直接通信できない子機Bnは、通信可能な距離にある他の子機Bnに通信信号を順次中継することで、親機Aとの通信を行っている。
【0027】
図17は本実施形態に用いる通信端末2(親機A又は子機Bn)のブロック図である。本実施形態では親機Aと子機Bnとに同一の通信端末2を用いており、例えば何れかの通信端末2で、ジャンパースイッチや切替スイッチなどの設定手段(図示せず)を用いて親機側に設定することで親機Aとして機能させ、他の通信端末2では設定手段を用いて子機側に設定することで子機Bnとして機能させるようになっている。
【0028】
通信端末2は、記憶部3と、電力線搬送通信インターフェース部(以下、PLCインターフェース部と略す)4と、制御部5とを備える。記憶部3は、ROMなどの不揮発性のメモリや、EEPROMなどの書き換え可能な不揮発性のメモリや、RAMなどの揮発性メモリからなり、通信ルートや通信可能な隣接端末に関するリンク情報などを記憶するテーブル記憶部3aを備えると共に、この通信端末2を動作させるための制御プログラムなどの各種プログラムや、各プログラムの実行に必要な情報などを記憶する。
【0029】
テーブル記憶部3aはテーブル形式のデータを記憶する領域であり、本端末が親機Aの場合にはテーブル記憶部3aに、ネットワーク内で構築された端末間の全通信ルートを登録するための通信ルートテーブルや、各端末が直接通信可能な隣接端末の情報(リンク情報)を記録するためのトポロジーテーブルが記憶される。一方、本端末が子機Bnの場合にはテーブル記憶部3aに、当該子機Bnが通信可能な隣接端末2(親機Aまたは他の子機Bn)と、当該子機Bnと隣接端末2(親機Aまたは他の子機Bn)との間の通信品質レベルを示す通信コスト値(以下、リンクコストと言う。)と、隣接端末2を経由した当該子機Bnと親機Aとの間の通信品質レベルを示す通信コスト値(以下、ルートコストと言う。)とを表す通信可能端末テーブルDを記憶する。
【0030】
表1は通信可能端末テーブルDの1例を示し、このデータテーブルDには、自端末と直接通信が可能な隣接端末2(親機Aまたは他の子機Bn)に割り当てた端末IDと、隣接端末2の種別(親機Aまたは他の子機Bn)を示す端末種別データと、隣接端末2と自端末との間の通信品質レベルを示すリンクコストと、隣接端末2と親機Aとの間のルートコストと、隣接端末2から親機Aまでの通信ルートにおいて自機から1ホップ目、2ホップ目、…、Nホップ目の通信端末2を示す端末IDとが対応付けて記憶されている。なお、上記の通信コスト値(リンクコストおよびルートコスト)は、隣接端末から受信した通信信号の受信信号強度を数段階のレベルで表したものであり、値が小さいほど、通信信号の減衰が小さく、通信品質レベルが高いことを示している。また、自端末から親機Aまでのルートコストは、自端末と隣接端末との間のリンクコストに、隣接端末と親機Aとの間の上位側ルートコストを加算した値になる。
【0031】
【表1】
【0032】
ここで、PLCネットワーク1では電力線Lを通じて通信を行うため、電力線Lに接続される他の家電機器から発生するノイズや、他の家電機器が接続されることによる電力線Lのインピーダンスの低下等によって、伝送環境が悪化し、通信エラー率が増大する虞がある。またPLCネットワーク1の伝送環境は、家電機器の電源プラグを電源コンセントに抜き差したり、家電機器の可動状態に応じてダイナミックに変化する。そのため、PLCネットワーク1では、ネットワークトポロジーが固定的ではなく、変化しやすい傾向があり、ネットワークトポロジーが変化しても、親機Aと子機Bnとの間で通信を良好に行えるように、親機Aと各子機Bnとの間の通信ルートを定期的に探索し、最適な通信ルートを構築する必要がある。
【0033】
すなわち通信端末2の制御部5は、例えば、マイクロプロセッサやその周辺回路等で構成され、親機Aと子機Bnとの間の通信ルートを探索するための処理[すなわち隣接端末を探索する処理や探索結果(リンク情報)を親機に通知する処理や親機側でリンク情報をもとにルートを探索する処理など]を実行するために、通信処理部5aと、テーブル処理部5bと、ハロー・パケット送信タイマ部(以下、Hパケット送信タイマ部と略す)5cと、リンク通知パケット送信タイマ部5dとを備えている。
【0034】
通信処理部5aは、PLCインターフェース部4を用いて他の通信端末2との間で電力線搬送通信により通信信号を送受信し、後述の動作を行うことによって、親機Aと子機Bnとの間の通信ルートを構築する通信ルート構築処理(ルート探索処理およびルート選択処理からなる)を行う。図18(a)は通信端末2(親機Aおよび子機Bn)間で授受される通信パケットの基本フォーマットを示しており、送信元の通信端末2の送信端末IDと、受信側の通信端末2の受信端末IDと、メッセージタイプと、メッセージタイプに応じたデータ(メッセージ依存部)とで構成される。メッセージタイプとしては、自端末の生存や通信ルートを通知するためのハロー・パケット、隣接端末情報を親機に通知するためのリンク通知パケット、通常パケットを送信したときに中継途中で通信エラーが起こった場合に送信するルートエラーパケットなどがある。図18(b)はハロー・パケット(Hパケット)のパケットフォーマットを示し、送信端末IDと、受信端末IDと、メッセージタイプを示すデータ「Hello」と、送信元の端末タイプ(親機Aまたは子機Bnの種別)を示すデータと、子機側で求めた自機から親機Aまでの通信ルートを示すデータとを少なくとも含み、リンクが喪失した端末が存在する場合はそのアドレスを示すリンク喪失端末アドレスを付加して構成される。また図18(c)はリンク通知パケットのパケットフォーマットを示し、送信端末IDと、受信端末IDと、メッセージタイプを示すデータ「リンク通知」と、子機側で求めた自機から親機Aまでの通信ルートを示すルート情報と、直接通信可能な隣接端末に関する隣接端末情報とを少なくとも含み、リンクが喪失した端末が存在する場合はそのアドレスを示すリンク喪失端末アドレスを付加して構成される。また図18(d)はルートエラーパケットのパケットフォーマットを示し、送信端末IDと、受信端末IDと、メッセージタイプを示すデータ「ルートエラー」と、自機から親機Aまでの通信ルートを示すルート情報と、通信エラーが発生したエラー箇所を示す情報とを含んで構成される。
【0035】
またテーブル処理部5bは、テーブル記憶部3aに記憶されているデータテーブル(通信ルートテーブル、トポロジーテーブル、通信可能端末テーブルDなど)を管理する。
【0036】
Hパケット送信タイマ部5cは時間を計時する計時手段を有し、所定の送信時間が経過する毎に通信処理部5aにトリガ信号を与え、通信処理部5aからHパケットを送信させる。すなわち、Hパケットが所定の送信時間間隔で送信されることになる。
【0037】
またリンク通知パケット送信タイマ部5dも時間を計時する計時手段を有し、所定の送信時間が経過する毎に通信処理部5aにトリガ信号を与え、通信処理部5aからリンク通知パケットを送信させる。すなわち、リンク通知パケットが所定の送信時間間隔で送信されることになる。
【0038】
各通信端末2では、Hパケット送信タイマ部5cから通信処理部5aに送信タイミングの到来を示す信号が出力されると、通信処理部5aがHパケットを作成し、ブロードキャストで電力線Lに送信しており、Hパケットを受信可能な隣接端末との間の通信品質レベル(リンクコスト)や、隣接端末の上位ルートに関する情報を取得する。
【0039】
ここで、図3(a)に示す通信ネットワークにおいて通信ルートを構築する処理について以下に説明する。この通信ネットワークは1台の親機Aと複数台(例えば6台)の子機B1〜B6とで構成され、親機Aの端末IDを100、子機B1〜B6の端末IDをそれぞれ101〜106に設定してある。また図3(a)において実線でつながれた端末同士は直接通信可能な端末を示し、両端末間をつなぐ線の近傍に表示した数字は両端末間のリンクコストを示している。
【0040】
先ず親機Aにおいて、Hパケット送信タイマ部5cから通信処理部5aに送信タイミングの到来を示す信号が出力されると、通信処理部5aが上述のHパケットを作成し、ブロードキャストで電力線Lに送信する。この時、親機Aから送信されるHパケットは、送信端末IDが自機のID=100、受信端末IDがブロードキャスト、メッセージタイプが「Hello」、端末タイプが親機となる。
【0041】
子機B1,B2の通信処理部5aは、親機Aから送信されたHパケットを受信することで、親機Aと直接通信が可能であることが分かり、また上記Hパケットの受信信号強度から親機Aとの間の通信品質レベル(リンクコスト)を算出することができる。そして、各子機B1,B2の通信処理部5aでは、親機AからのHパケットを受信することで、親機と直接通信できることが判明したため、上述のHパケットを作成し、ブロードキャストで電力線Lに送信する。この時、子機B1から送信されるHパケットは、送信端末IDが自機のID=101、受信端末IDがブロードキャスト、メッセージタイプが「Hello」、端末タイプが子機、子機の求めた親機へのルートが子機B1(101)→親機A(100)で、そのルートコストが3となる。子機B2から送信されるHパケットは、送信端末IDが自機のID=102、受信端末IDがブロードキャスト、メッセージタイプが「Hello」、端末タイプが子機、子機の求めた親機へのルートが子機B2(102)→親機A(100)で、そのルートコストが2となる。
【0042】
子機B3の通信処理部5aでは、子機B1から送信されたHパケットを受信することにより、子機B1との間で直接通信が可能であることが分かり、また子機B1からのHパケットの受信信号レベルに基づいて子機B1との間のリンクコスト(=5)を求める。この時、子機B3の通信処理部5aでは、自機と親機とをつなぐ通信ルートとして子機B1を経由した通信ルートのみを発見でき、この通信ルートのルートコストは各ホップのリンクコストの総和(=8)になる。なお、子機B3から送信されるHパケットは、送信端末IDが自機のID=103、受信端末IDがブロードキャスト、メッセージタイプが「Hello」、端末タイプが子機、親機への通信ルートが子機B3(103)→子機B1(101)→親機A(100)で、そのルートコストが8となる。
【0043】
また子機B4の通信処理部5aでは、子機B1,B2,B3から送信されたHパケットを受信することにより、子機B1,B2,B3との間でそれぞれ直接通信が可能であることが分かり、また各子機からのHパケットの受信信号レベルに基づいて各子機との間のリンクコスト(子機B1間はリンクコストが2、子機B2間はリンクコストが4、子機B3間はリンクコストが5)を求める。この時、子機B4の通信処理部5aでは、自機と親機とをつなぐ通信ルートとして子機B1,B2,B3をそれぞれ経由した3つの通信ルートを発見でき、各通信ルートのルートコストは各ホップのリンクコストの総和になるので、子機B1を経由するルートコストが5、子機B2を経由するルートコストが6、子機B3を経由するルートコストが13であることが分かる。ここで、ルートコストは値が小さいほど通信品質レベルが良好であるので、子機B1を経由するルートコストが最も小さいことから、子機B0の通信処理部5aは、自機と親機Aとの間の通信ルートとして「子機B4→子機B1→親機A」との通信ルートを選択し、選択した通信ルートを通知するためのHパケットを作成し、ブロードキャストで送信する。なお、子機B4から送信されるHパケットは、送信端末IDが自機のID=104、受信端末IDがブロードキャスト、メッセージタイプが「Hello」、端末タイプが子機、親機への通信ルートが子機B4(104)→子機B1(101)→親機A(100)で、そのルートコストが5となる。
【0044】
他の子機B5(105),B6(106)も他の子機からのHパケットを受信することで、直接通信可能な隣接端末を検出でき、隣接端末から親機Aまでの通信ルートおよびその上位側ルートコストと、隣接端末との間のリンクコストをもとに自端末から親機Aまでの通信ルートおよびそのルートコストを求め、Hパケットによりブロードキャスト送信する。
【0045】
以上のようにして各子機B1〜B6では、親機Aとの間の通信ルートを選択でき、また各子機BnではHパケットを送受することで、直接通信可能な隣接端末の情報を取得でき、リンク通知パケット送信タイマ部5dからトリガ信号が与えられると、隣接端末に関するリンク情報をリンク通知パケットに格納して親機Aに送信する。
【0046】
例えば、子機B4がリンク通知パケットを送信する場合、そのリンク通知パケットは、送信端末IDが自機のID=104、受信端末IDが子機B1のID=101、メッセージタイプが「リンク通知」、親機へのルートが子機B4(104)→子機B1(101)→親機A(100)でそのルートコストが5、隣接端末情報が子機B1(ID=101、リンクコスト2)、子機B2(ID=102、リンクコスト4)、子機B3(ID=103、リンクコスト5)となる。このリンク通知パケットを受信した子機B1の通信処理部5aでは、リンク通知パケットに含まれるルート情報を参照することにより、親機Aに中継すれば良いことが分かるので、子機B4から受信したリンク通知パケットをもとに、親機Aへ送信するリンク通知パケットを作成し、親機Aに送信する。ここで、子機B1が送信するリンク通知パケットは、送信端末IDが自機のID=101、受信端末IDが親機のID=100、メッセージタイプが「リンク通知」、親機へのルートが子機B4(104)→子機B1(101)→親機A(100)でそのルートコストが5、隣接端末情報が子機B1(ID=101、リンクコスト2)、子機B2(ID=102、リンクコスト4)、子機B3(ID=103、リンクコスト5)となる。このリンク通知パケットを親機Aが受信すると、リンク通知パケットに含まれる親機へのルート情報から送信元が子機B4(ID=104)であることが分かるので、子機B4間の通信ルートに関する情報を取得するとともに、上記パケットに含まれる隣接端末情報をもとに、図3(b)に示すようなトポロジーテーブルTB1を作成する。このリンク通知パケットは各子機Bnから一定の時間間隔で送信されるので、親機Aでは各子機Bnからのリンク通知パケットを受信することで、各子機Bnとの間の通信ルートや、各子機Bnの隣接端末情報を取得することができる。
【0047】
而して、親機Aの通信処理部5a(リンク情報受信手段)では、各子機Bnからのリンク通知パケットを受信することで、各子機Bnが直接通信可能な隣接端末の情報を取得することができ(リンク情報受信ステップ)、テーブル処理部5bを用いて、各子機Bnの隣接端末に関するリンク情報をトポロジーテーブルTB1に記憶させる。なお、リンク通知パケットに含まれる通信ルートのデータは、各子機が、Hパケットを送受できる範囲で求めた通信ルートであり、しかも1つのルートのデータしか含まれていなので、トポロジーの変化などによって通信ルートが不通となっている可能性もあり、親機Aでは、トポロジーテーブルTB1に記録されたリンク情報をもとに後述する探索処理を行って、各子機Bnへの通信ルートを探索するようにしている。
【0048】
ここで、従来の通信ネットワークでは、親機Aが子機Bnから送信されたトポロジー通知メッセージに基づいて、このメッセージに格納されたリンク情報(始点側および終点側の通信端末2の端末IDとリンクコストからなる)を図1(c)に示すトポロジーテーブルTB1’に記録させていた。このトポロジーテーブルTB1’は、始点側の通信端末を列、終点側の通信端末を行にとった二次元のデータテーブルで構成されているため、通信端末の個数をn個とすると、リンクコストを記録させるメモリ領域が[(n−1)!]個用意されることになり、双方向リンクが確立できていない端末間のリンクコストを記録させるためのメモリ領域が無駄になるという問題があった。
【0049】
そこで、本実施形態では親機Aのテーブル処理部5b(テーブル処理手段)が、子機Bnからのトポロジー通知メッセージに格納されて送信されてきたリンク情報を、図1(a)に示すようなトポロジーテーブルTB1に格納している(トポロジー記録ステップ)。尚、図1,図2では図示を簡単にするため始点ノードおよび終点ノードを1桁の数字で示している。
【0050】
本実施形態で用いるトポロジーテーブルTB1は、始点側の通信端末(始点ノード)の端末ID、終点側の通信端末(終点ノード)の端末ID、および、両端末間の通信品質レベルを示すリンクコストを一次元に記録したテーブルからなり、リンク情報が通知された分のメモリ領域しか必要とせず、図1(c)に示すトポロジーテーブルTB1’のように予め所定個数のメモリ領域を確保する場合に比べてメモリ領域を小さくでき、無駄になるメモリ領域が発生しないので、メモリ領域を有効に活用することができ、記憶容量が必要以上に大きいメモリを用意する必要がないので、通信端末のコストが増大するのを防止できるという利点がある。
【0051】
なお親機Aの通信処理部5aでは、トポロジーテーブルTB1に記録されたリンク情報をもとに、各子機Bnへの通信ルートを探索する後述のルート探索処理を実行するのであるが、リンク情報の検索を容易にするために、図1(b)に示すように始点ノードの端末IDと、終点ノードの端末IDとの大小関係が一定の関係(例えば、(始点ノードの端末ID)<(終点ノードの端末ID))となるようにトポロジーテーブルTB1に記録させることが好ましい。ここで、検索対象の端末と通信可能なリンク(端末)を検索する際に、始点ノードの端末IDと終点ノードの端末IDとの大小関係に一定の関係付けが行われていない場合は、トポロジーテーブルTB1に記録されている全てのリンク情報の始点側のIDと終点側のIDを両方共に検索しなければならないが、(始点ノードの端末ID)<(終点ノードの端末ID)となるようにトポロジーテーブルTB1に記録させておけば、始点側或いは終点側の片方だけを検索すれば良く、通信ルートの計算にかかる時間を短縮できるという利点がある。
【0052】
また、図2(a)に示すトポロジーテーブルTB1のように始点ノードの端末IDあるいは終点ノードの端末IDが昇順または降順にソートされていない場合は、所望の端末のリンク情報を検索するのに、先頭レコードから順番に検索しなければならないため時間を要するが、図2(b)に示すように始点ノードの端末IDを昇順にソートすることで、所望の端末のリンク情報を検索するのに2分探索などの探索アルゴリズムを利用できるから、端末の検索処理を効率よく行うことができる。また、図2(c)に示すように始点ノードの端末IDを第1キーとして昇順にソートした後に、終点ノードの端末IDを第2キーとして昇順にソートすることで、所望の端末のリンク情報を検索する処理をさらに効率よく行うことができる。尚、図2(b)(c)に示すトポロジーテーブルTB1では、始点ノードまたは終点ノードを昇順にソートしているが、降順にソートしても良く、所望の端末のリンク情報を検索する処理を効率よく行うことができる。また、図2(b)に示すトポロジーテーブルTB1では、始点ノードの端末IDを昇順にソートしているが、終点ノードの端末IDを昇順にソートしても良いし、終点ノードの端末IDを第1キーとして昇順にソートした後、始点ノードの端末IDを第2キーとして昇順にソートしても良い。また、親機Aの通信処理部5aが、テーブル処理部5bを用いて始点ノードおよび終点ノードの端末IDとリンクコストとをトポロジーテーブルTB1に記録させる際に、端末IDが昇順又は降順に並ぶようソートしてからトポロジーテーブルTB1に記録させておけば、所望の端末のリンク情報を検索する際に短時間で検索を行えるが、トポロジー通知メッセージを受信した順番にリンク情報をトポロジーテーブルTB1に記録させておき、所望の端末のリンク情報を検索する際に、端末IDが昇順または降順に並ぶようにソートしてから、検索を行うようにしても良い。
【0053】
以上のようにして、親機Aが、ネットワークを構成する子機Bnからトポロジー通知メッセージを受信し、記憶部3内のトポロジーテーブルTB1にリンク情報を記録させると、親機Aの通信処理部5a(通信ルート構築手段)が、トポロジーテーブルTB1に記録させたリンク情報をもとに、ダイクストラアルゴリズムを用いて各子機への通信ルートを求めるルート探索処理を行う(通信ルート構築ステップ)。
【0054】
ここで、親機Aによるルート探索処理について図3〜図11を参照して説明する。なお、各端末で隣接端末の探索処理を行い、リンク情報をリンク通知パケットに格納して親機A(100)に送信することで、親機AのトポロジーテーブルTB1には各端末のリンク情報が記録されているものとする(図3(b)参照)。また図5(a)は親機Aのテーブル記憶部3aに用意された通信ルートの演算テーブルTB2を示している。演算テーブルTB2は通信ルートを探索する過程で使用されるテーブルであり、この演算テーブルTB2には、各端末の端末ID100〜106に対して、前ホップの端末IDと、ルート構築端末に設定されたか否かを示すフラグVisitと、親機Aからのホップ数HOPと、親機Aからのルートコストとを記録するようになっている。
【0055】
図4は親機Aによるルート探索処理のフローチャートであり、先ず親機Aの通信処理部5aは、自機(端末ID=100)をルート構築端末に決定するとともに(S1)、ルート構築端末を検索対象に決定し、図5(b)に示すように自機(端末ID=100)のフラグVisitをTRUE(○)にする(S2)。そして、親機Aの通信処理部5aは、始点ノードを検索対象の端末ID(=100)に指定するとともに、終点ノードの端末IDを101、102、103、…、106に順番に指定し、対応するリンクがトポロジーテーブルTB1に存在するか否かを検索する(S3)。ここで、検索対象の端末と通信可能なリンクをトポロジーテーブルTBの先頭から順番に検索していくと、特にトポロジー数が多い場合には検索に非常に長い時間を要するので、始点ノードおよび終点ノードを指定して検索するが、上述のようにトポロジーテーブルTB1は始点ノード或いは終点ノードの端末IDが昇順又は降順にソートされているので、先ず始点ノードを2分探索を用いて検索した後、抽出されたリンクから終点ノードが一致するリンクを検索することで、検索に要する時間をかなり短縮することができる。
【0056】
そして、S3においてトポロジーテーブルTB1に該当リンクを発見できれば該当リンクのルートコストRC1と、演算テーブルTB2に記録されているルートコストRCとの大小を比較し(S4)、今回発見したルートコストRC1が演算テーブルTB2に記録されているルートコストRCよりも小さければ(RC>RC1)、演算テーブルTB2に前ホップの端末IDとルートコストとホップ数HOPを書き込んだ後(S5)、S2に戻って処理を続行する。一方、S4において今回発見したルートコストRC1が演算テーブルTB2に記録されているルートコストRC以上であれば(RC≦RC1)、通信処理部5aは演算テーブルTB2へのルートコストの書き込み処理は行わず、S2に戻って処理を続行する。なお演算テーブルTB2にルートコストが記録されていない場合は、今回発見したルートコストRC1を演算テーブルTB2に書き込むものとする。ここで、検索対象の端末が親機(端末ID=100)の場合は、端末IDが101,102の端末とリンクがつながっており、両端末間のホップ数HOP(=1)と前ホップの端末IDとルートコストRC[端末(101)が3,端末(102)が2]が演算テーブルTB2に記録される(図5(c)参照)。
【0057】
検索対象の端末について通信可能なリンクを全て検索し終えると、親機Aの通信処理部5aは、演算テーブルTB2から、フラグVisitがFALSEとなっている端末(Visitの欄に○がついていない端末)が存在するかを検索し(S6)、存在する場合はフラグVisitがFALSEとなっている端末の中でルートコストが最小の端末を検索対象に決定するとともに、この端末のフラグVisitをTRUE(○)として(S7)、S3に戻り、上述の処理を繰り返す。
【0058】
ここで、フラグVisitがFALSEとなっている端末(101〜106)の中でルートコストが最小の端末は、端末IDが102の端末(以下、端末(102)と表す)なので、通信処理部5aは、この端末を検索対象に設定し、図6(a)に示すように端末(102)のフラグVisitをTRUE(○)に設定した後、始点ノードを検索対象の端末ID(=102)に指定するとともに、終点ノードの端末IDをフラグVisitがTRUE(○)となっていない端末の端末ID101、103、104、105、106に順番に指定して、対応するリンクがトポロジーテーブルTB1に存在するか否かを検索する(S3)。そして、トポロジーテーブルTB1に該当リンクを発見できれば、今回発見した該当リンク(端末IDが104,105,106の端末)のルートコストRC1と演算テーブルTB2に記録されている当該端末のルートコストRCを比較し、RC>RC1であれば演算テーブルTB2に前ホップの端末IDとルートコストとホップ数HOP(=2)を上書きする(図6(b)参照)。なお、ルートコストは自機と親機との間の通信コスト値であるので、ルートコストは各ホップのリンクコストの合計値となる。例えば端末(104)では、端末(100)と端末(102)の間のリンクコスト(=2)と、端末(102)と端末(104)の間のリンクコスト(=4)との合計値(=6)となる。
【0059】
端末(102)について通信可能な端末の検出が全て終了すると、通信処理部5aは、フラグVisitがFALSEとなっている端末(101、104〜106)の中でルートコストが最小の端末(101)を検索対象に設定し、図7(a)に示すように端末(101)のフラグVisitをTRUE(○)に設定した後、始点ノードを検索対象の端末ID(=101)に指定するとともに、終点ノードの端末IDをフラグVisitがTRUE(○)となっていない端末の端末ID103、104、105、106に順番に指定して、対応するリンクがトポロジーテーブルTB1に存在するか否かを検索する(S3)。そして、トポロジーテーブルTB1に該当リンクを発見できれば、今回発見した該当リンク(端末IDが103〜105の端末)のルートコストRC1と演算テーブルTB2に記録されている当該端末のルートコストRCを比較し、RC>RC1であれば演算テーブルTB2に前ホップの端末IDとルートコストとホップ数HOP(=2)を上書きする(図7(b)参照)。ここで、端末(103)は、演算テーブルTB2にデータが記録されていなかったので、今回発見したリンクのルートコストと前ホップの端末IDとホップ数とを演算テーブルに記録する。また、端末(104)は、今回発見したリンク(前ホップの端末IDが101)のルートコストRC1(=5)の方が、演算テーブルTB2に記憶されているルートコストRC(=6)よりも小さいので、今回発見したリンクのルートコストと前ホップの端末IDとホップ数とを演算テーブルに記録する。一方、端末端末(105)のルートコストは、今回発見したリンク(前ホップの端末IDが101)のルートコストRC1の方が、演算テーブルTB2に記憶されているルートコストRC以上となるので、演算テーブルTB2のデータはそのままとする。
【0060】
次に、端末(101)について通信可能な端末の検出が全て終了すると、通信処理部5aは、フラグVisitがFALSEとなっている端末(103〜106)の中でルートコストが最小の端末(104)を検索対象に設定し、図8(a)に示すように端末(104)のフラグVisitをTRUE(○)に設定した後、始点ノードを検索対象の端末ID(=104)に指定するとともに、終点ノードの端末IDをフラグVisitがTRUE(○)となっていない端末の端末ID103、105、106に順番に指定して、対応するリンクがトポロジーテーブルTB1に存在するか否かを検索する(S3)。この場合、トポロジーテーブルTB1には該当するリンクが発見できないので、演算テーブルTB2のデータはそのままとする(図8(b)参照)。
【0061】
端末(104)ついて、通信可能な端末の検出が全て終了すると、通信処理部5aは、フラグVisitがFALSEとなっている端末(103,105,106)の中でルートコストが最小の端末(106)を検索対象に設定し、図9(a)に示すように端末(106)のフラグVisitをTRUE(○)に設定した後、始点ノードを検索対象の端末ID(=106)に指定するとともに、終点ノードの端末IDをフラグVisitがTRUE(○)となっていない端末の端末ID103、105に順番に指定して、対応するリンクがトポロジーテーブルTB1に存在するか否かを検索する(S3)。そして、トポロジーテーブルTB1に該当リンクが発見できれば、今回発見した該当リンク(端末(105))のルートコストRC1と演算テーブルTB2に記録されている当該端末のルートコストRCを比較する。この場合、端末(105)のルートコストは、今回発見したリンク(前ホップの端末IDが106)のルートコストRC1の方が、演算テーブルTB2に記憶されているルートコストRC以上となるので、演算テーブルTB2のデータはそのままとする(図9(b)参照)。
【0062】
端末(106)について通信可能な端末の検出が全て終了すると、通信処理部5aは、フラグVisitがFALSEとなっている端末(103)、(105)の中でルートコストが最小の端末(103)を検索対象に設定し(この場合はルートコストが同じ値となっているので端末IDの小さい方に決定)、図10(a)に示すように端末(103)のフラグVisitをTRUE(○)に設定した後、始点ノードを検索対象の端末ID(=103)に指定するとともに、終点ノードの端末IDをフラグVisitがTRUE(○)となっていない端末の端末ID105に指定して、対応するリンクがトポロジーテーブルTB1に存在するか否かを検索する(S3)。この場合、トポロジーテーブルTB1には該当するリンクが発見できないので、演算テーブルTB2のデータはそのままとする(図10(b)参照)。
【0063】
端末(103)について通信可能な端末の検出が全て終了すると、通信処理部5aは、フラグVisitがFALSEとなっている端末(105)を検索対象に設定し、図11(a)に示すように端末(105)のフラグVisitをTRUE(○)に設定した後、始点ノードを検索対象の端末ID(=105)に指定するが、フラグVisitがTRUE(○)となっていない端末が存在しないので終点ノードの指定が行えず、該当リンクの検索処理は行わないまま、処理を終了するので、演算テーブルTB2のデータはそのままとなる(図11(b)参照)。そして、端末(105)について処理を終えると、全ての端末のフラグVisitがTRUEとなるので、通信処理部5aは、全ての端末の通信ルートが設定できたと判断し、テーブル処理部5bを用いて演算テーブルTB2の情報を記憶部3の通信ルートテーブルに反映させて(S8)、ルート探索処理を終了し、以後は通信ルートテーブルに記録された通信ルートを用いて親機Aと各子機Bnとの間で通信信号が授受されるのである。
【0064】
(実施形態2)
本発明の実施形態2を図12〜図15に基づいて説明する。本実施形態では、実施形態1で説明した通信ネットワークにおいて、通信ルート構築ステップで親機Aが各子機への通信ルートを求める際に、親機Aから対象の子機に至る通信ルートとして、所定の通信品質以上(すなわちルートコストRCが所定の閾値以下)の通信ルートが探索できた場合は、当該通信ルートを当該子機への通信ルートに決定し、探索対象の子機に至る全ての通信ルートを探索する前に当該子機への通信ルートの探索を終了するようにしている。例えば本実施形態ではルートコストの閾値を、1ホップ目であれば5、2ホップ目であれば10、3ホップ目であれば15に設定している。尚、ルート探索処理以外は実施形態1で説明した通信ネットワークと同様であるので、同一の構成要素には同一の符号を付して、その説明は省略する。
【0065】
親機Aによるルート探索処理を図12のフローチャートに基づいて説明する。ところで、図13(a)は親機Aの通信処理部5aがルート探索処理を行う際に用いる演算テーブルTB2を示し、実施形態1で説明した演算テーブルTB2において通信ルートが決定されたか未決定かを示すルート決定フラグを追加してある。
【0066】
親機Aの通信処理部5aがルート探索処理を開始すると、先ず自機(端末ID=100)をルート構築端末に決定するとともに(S10)、ルート構築端末を検索対象に決定し、図13(b)に示すように自機(端末ID=100)のフラグVisitをTRUE(○)、ルート決定フラグを「決定」にするとともに、他の端末のルート決定フラグを「未決定」にする(S11)。そして、親機Aの通信処理部5aは、始点ノードを検索対象の端末ID(=100)に指定するとともに、終点ノードの端末IDを101、102、103、…、106に順番に指定し、対応するリンクがトポロジーテーブルTB1に存在するか否かを検索する(S12)。ここで、検索対象の端末と通信可能なリンクをトポロジーテーブルTBの先頭から順番に検索していくと、特にトポロジー数が多い場合には検索に非常に長い時間を要するので、始点ノードおよび終点ノードを指定して検索するが、実施形態1で説明したようにトポロジーテーブルTB1は始点ノード或いは終点ノードの端末IDが昇順又は降順にソートされているので、先ず始点ノードを2分探索を用いて検索した後、抽出されたリンクから終点ノードが一致するリンクを検索することで、検索に要する時間をかなり短縮することができる。
【0067】
そして、S12においてトポロジーテーブルTB1に該当リンクを発見できれば該当リンクのルートコストRC1と、演算テーブルTB2に記録されているルートコストRCとの大小を比較し(S13)、今回発見したルートコストRC1が演算テーブルTB2に記録されているルートコストRCよりも小さければ(RC>RC1)、演算テーブルTB2に前ホップの端末IDとルートコストとホップ数HOPを書き込む(S14)。一方、S13において、今回発見したルートコストRC1が演算テーブルTB2に記録されているルートコストRC以上であれば(RC≦RC1)、通信処理部5aは演算テーブルTB2へのルートコストの書き込みは行わず、S12に戻って処理を継続する。なお演算テーブルTB2にルートコストが記録されていない場合は、今回発見したルートコストRC1を演算テーブルTB2に書き込むものとする。また、S14で演算テーブルへの書き込みを終えると、通信処理部5aはルートコストが閾値以下であるか否かを判定し(S15)、閾値以下であれば当該子機への通信ルートを決定し、ルート決定フラグを「決定」とした後(S16)、S12に戻って処理を継続する。また、S15においてルートコストが閾値よりも大きければ、通信処理部5aは、ルート決定フラグを「未決定」のままとし、S12に戻って処理を継続する。
【0068】
ここで、検索対象の端末が親機(端末ID=100)の場合は、端末IDが101,102の端末(101)および端末(102)とリンクがつながっているので、通信処理部5aは、両端末間のホップ数HOP(=1)と前ホップの端末IDとルートコスト[端末(101)が3,端末(102)が2]を演算テーブルTB2に記録するとともに(図13(b)参照)、各端末のルートコストが1ホップ目の閾値(=5)以下となっていることから、各端末(101),(102)のルート決定フラグを「決定」とする(図13(c)参照)。
【0069】
検索対象の端末について通信可能なリンクを全て検索し終えると、親機Aの通信処理部5aは、演算テーブルTB2から、ルート決定フラグが「未決定」となっている端末が存在するかを検索し(S17)、存在する場合はフラグVisitがFALSEとなっている端末(Visitの欄に○がついていない端末)が存在するかを検索し(S18)、存在する場合はフラグVisitがFALSEとなっている端末の中でルートコストが最小の端末を検索対象に決定するとともに、この端末のフラグVisitをTRUE(○)として(S19)、S12に戻り、上述の処理を繰り返す。一方、S17でルート決定フラグが「未決定」の端末が存在しなかったり、フラグVisitがFALSEの端末が存在しなかった場合、親機Aの通信処理部5aはルート探索処理が完了したと判断し、演算テーブルTB2の情報を通信ルートテーブルに反映させる(S20)。
【0070】
ここで、親機Aの通信処理部5aが、親機100と通信可能なリンクの検索を全て終了した時点では、フラグVisitがFALSEとなっている端末(101〜106)の中でルートコストが最小の端末は、端末IDが102の端末なので、通信処理部5aは、この端末(102)を検索対象に設定し、図14(a)に示すように端末(102)のフラグVisitをTRUE(○)に設定した後、始点ノードを検索対象の端末ID(=102)に指定するとともに、終点ノードを「ルート決定フラグ」が「未決定」となっている端末の端末ID103、104、105、106に順番に指定して、対応するリンクがトポロジーテーブルTB1に存在するか否かを検索する(S12)。そして、トポロジーテーブルTB1に該当リンクが発見できれば、今回発見した該当リンク(端末IDが104,105,106の端末)のルートコストRC1と演算テーブルTB2に記録されている当該端末のルートコストRCを比較し、RC>RC1であれば演算テーブルTB2に前ホップの端末ID(=102)とルートコストRCとホップ数HOP(=2)を上書きした後、ルートコストを2ホップ目の閾値(=10)と比較し、何れのルートコストも閾値以下となっているので、ルート決定フラグを「決定」とする(図14(b)参照)。
【0071】
端末(102)について通信可能な端末の検出が全て終了すると、親機Aの通信処理部5aは、演算テーブルTB2から、ルート決定フラグが「未決定」となっている端末が存在するかを検索する。ここで、端末IDが103の端末(103)はルート決定フラグが未決定となっているので、親機Aの通信処理部5aは、フラグVisitがFALSEとなっている端末を検索し、フラグVisitがFALSEとなっている端末の中でルートコストが最小の端末(端末IDが101の端末)を検索対象に設定し、図15(a)に示すように端末(101)のフラグVisitをTRUE(○)に設定した後、始点ノードを検索対象の端末ID(=101)に指定するとともに、終点ノードを「ルート決定フラグ」が「未決定」となっている端末の端末ID103に指定して、対応するリンクがトポロジーテーブルTB1に存在するか否かを検索する(S12)。そして、トポロジーテーブルTB1に該当リンクが発見できれば、端末(103)のルートコストRC1と演算テーブルTB2に記録されている当該端末のルートコストRCを比較し、RC>RC1であれば演算テーブルTB2に前ホップの端末IDとルートコストとホップ数HOP(=2)を上書きする。ここで、端末(103)はルートコストが未定であったので、親機Aの通信処理部5aは、端末(103)について前ホップの端末IDとルートコストとホップ数HOP(=2)を上書きした後、ルートコストを2ホップ目の閾値(=10)と比較し、何れのルートコストも閾値以下となっているので、ルート決定フラグを「決定」とする(図15(b)参照)。
【0072】
端末(101)について通信可能な端末の検出が全て終了すると、全ての端末のルート決定フラグが「決定」となるので、親機Aの通信処理部5aは、全ての端末の通信ルートが設定できたと判断し、テーブル処理部5bを用いて演算テーブルTB2の情報を記憶部3の通信ルートテーブルに反映させて、ルート探索処理を終了し(S20)、以後は通信ルートテーブルに記録された通信ルートを用いて親機Aと各子機Bnとの間で通信信号が授受されるのである。
【0073】
以上説明したように本実施形態では、親機Aの通信処理部5aがルート探索処理を行う際に、親機Aから対象の子機に至る通信ルートとして、所定の通信品質以上の通信ルート(つまりルートコストが所定の閾値以下の通信ルート)が探索できた場合は、当該通信ルートを当該子機への通信ルートに決定し、当該子機への通信ルートの探索処理を終了しているので、親機Aと子機Bnとの間の通信ルートとして所定の通信品質以上の通信ルートを確保でき、また当該子機に至る全ての通信ルートを探索し、その中から通信品質が最も良い通信ルートを選択する場合に比べて短い時間で通信ルートを探索することができる。
【0074】
なお本実施形態では、実施形態1で説明したトポロジーテーブルTB1を用いて通信ルートの探索処理を行っているが、従来のトポロジーテーブルTB1’を用いて本実施形態のようなルート探索処理を行った場合でも、親機Aから対象の子機に至る通信ルートとして、所定の通信品質以上の通信ルート(つまりルートコストが所定の閾値以下の通信ルート)が探索できると、当該通信ルートを当該子機への通信ルートに決定し、当該子機への通信ルートの探索処理を終了することで、通信ルートの探索時間を短縮することができる。
【0075】
上述した構成例は、従来構成において説明したPLCネットワークに用いることを想定しているが、他の有線の伝送路を用いる通信ネットワーク、あるいは小電力無線による無線LANのように無線の伝送路を用いる無線ネットワークなど、種々のマルチホップ通信ネットワークに上述の技術を適用してもよい。
【0076】
さらにいえば、PLCネットワークには、10〜450kHzの低周波帯を利用する低速PLCと、2〜30MHzの高周波帯を利用する高速PLCとが知られており、低速PLCのノードは、高速PLCより伝送速度が遅いから、上述の構成のように低トラフィックでもネットワークトポロジを把握できることはとくに有効であり、また、通信ネットワーク全体のリンクを各ノードが持たなくとも隣接ノードテーブルがあればよいから、ノードに実装するメモリの容量を小さくすることができる。しかも、他の有線の伝送路を用いる場合に比較すると、PLCでは各ノードとなる電気機器のオン/オフや稼働状態によってネットワークトポロジや通信品質が変化しやすいから、本発明の技術は有効である。
【図面の簡単な説明】
【0077】
【図1】(a)(b)は実施形態1の通信ルートの構築方法に用いるトポロジーテーブルの説明図、(c)は従来のトポロジーテーブルの説明図である。
【図2】(a)〜(c)は同上に用いる他のトポロジーテーブルの説明図である。
【図3】(a)は同上を用いる通信ネットワークの概略構成図、(b)はトポロジーテーブルの説明図である。
【図4】同上のルート探索処理を説明するフローチャートである。
【図5】(a)〜(c)は同上に用いる演算テーブルの説明図である。
【図6】(a)(b)は同上に用いる演算テーブルの説明図である。
【図7】(a)(b)は同上に用いる演算テーブルの説明図である。
【図8】(a)(b)は同上に用いる演算テーブルの説明図である。
【図9】(a)(b)は同上に用いる演算テーブルの説明図である。
【図10】(a)(b)は同上に用いる演算テーブルの説明図である。
【図11】(a)(b)は同上に用いる演算テーブルの説明図である。
【図12】実施形態2のルート探索処理を説明するフローチャートである。
【図13】(a)〜(c)は同上に用いる演算テーブルの説明図である。
【図14】(a)(b)は同上に用いる演算テーブルの説明図である。
【図15】(a)(b)は同上に用いる演算テーブルの説明図である。
【図16】同上を用いる通信ネットワークのシステム構成図である。
【図17】同上を用いる通信端末の概略ブロック図である。
【図18】(a)〜(d)は同上に用いるパケットフォーマットの説明図である。
【符号の説明】
【0078】
1 通信ネットワーク
2 通信端末
3 記憶部
4 PLCインターフェース部
5 制御部
5a 通信処理部
5b テーブル処理部
5c Hパケット送信タイマ部
A 親機
B1〜B5 子機
TB1 トポロジーテーブル
TB2 演算テーブル
【特許請求の範囲】
【請求項1】
通信ネットワークを構成する複数の通信端末の内の1台を親機、残りを子機とし、親機が、当該親機と各子機との間の通信ルートを記憶した記憶部から、所望の子機への通信ルートを読み出し、当該通信ルートにしたがって隣接端末間で通信信号を授受することにより、親機と子機との間で通信を行うにあたり、親機が各子機から直接通信可能な隣接端末に関するリンク情報を受信し、受信したリンク情報をもとに各子機への通信ルートを構築する通信ルートの構築方法であって、
各子機から、当該子機が直接通信可能な隣接端末に関するリンク情報を受信するリンク情報受信ステップと、受信したリンク情報をもとに、始点側の通信端末の端末ID、終点側の通信端末の端末ID、および、両端末間の通信品質レベルを示すリンクコストを一次元のデータテーブルからなるトポロジーテーブルに記録させるトポロジー記録ステップと、トポロジーテーブルに記録されたリンク情報をもとに、ダイクストラアルゴリズムを用いて各子機への通信ルートを求める通信ルート構築ステップとを備えることを特徴とする通信ルートの構築方法。
【請求項2】
前記通信ルート構築ステップでダイクストラアルゴリズムを用いて各子機への通信ルートを求める際に、親機から対象の子機に至る通信ルートとして、所定の通信品質以上の通信ルートが探索できた場合は、当該通信ルートを当該子機への通信ルートに決定し、当該子機に至る全ての通信ルートを探索する前に当該子機への通信ルートの探索を終了することを特徴とする請求項1記載の通信ルートの構築方法。
【請求項3】
始点側の通信端末の端末IDと、終点側の通信端末の端末IDとの大小関係が一定の関係となるようにトポロジーテーブルがソートされた状態で通信ルート構築ステップを実行することを特徴とする請求項1又は2記載の通信ルートの構築方法。
【請求項4】
トポロジーテーブルに記憶させた始点側の通信端末の端末IDが昇順又は降順に並ぶようにソートされた状態で通信ルート構築ステップを実行することを特徴とする請求項1乃至3の何れか1項に記載の通信ルートの構築方法。
【請求項5】
トポロジーテーブルに記憶させた終点側の通信端末の端末IDが昇順又は降順に並ぶようにソートされた状態で通信ルート構築ステップを実行することを特徴とする請求項4記載の通信ルートの構築方法。
【請求項6】
トポロジー記録ステップにおいて、始点側または終点側の通信端末の端末IDの少なくとも何れか一方が昇順又は降順に並ぶように、始点側および終点側の通信端末の端末IDとリンクコストとをトポロジーテーブルに記録させることを特徴とする請求項1乃至5の何れか1項に記載の通信ルートの構築方法。
【請求項7】
通信ネットワークを構成する複数の通信端末の内の1台を親機、残りを子機とし、親機が、当該親機と各子機との間の通信ルートを記憶した記憶部から、所望の子機への通信ルートを読み出し、当該通信ルートにしたがって隣接端末間で通信信号を授受することにより、親機と子機との間で通信を行う親機側の通信端末であって、
各子機から、当該子機が直接通信可能な隣接端末に関するリンク情報を受信するリンク情報受信手段と、受信したリンク情報をもとに、始点側の通信端末の端末ID、終点側の通信端末の端末ID、および、両端末間の通信品質レベルを示すリンクコストを一次元のデータテーブルからなるトポロジーテーブルに記録させるテーブル処理手段と、ソートされたトポロジーテーブルに記録されたリンク情報をもとに、ダイクストラアルゴリズムを用いて各子機への通信ルートを求める通信ルート構築手段とを備えることを特徴とする通信端末。
【請求項1】
通信ネットワークを構成する複数の通信端末の内の1台を親機、残りを子機とし、親機が、当該親機と各子機との間の通信ルートを記憶した記憶部から、所望の子機への通信ルートを読み出し、当該通信ルートにしたがって隣接端末間で通信信号を授受することにより、親機と子機との間で通信を行うにあたり、親機が各子機から直接通信可能な隣接端末に関するリンク情報を受信し、受信したリンク情報をもとに各子機への通信ルートを構築する通信ルートの構築方法であって、
各子機から、当該子機が直接通信可能な隣接端末に関するリンク情報を受信するリンク情報受信ステップと、受信したリンク情報をもとに、始点側の通信端末の端末ID、終点側の通信端末の端末ID、および、両端末間の通信品質レベルを示すリンクコストを一次元のデータテーブルからなるトポロジーテーブルに記録させるトポロジー記録ステップと、トポロジーテーブルに記録されたリンク情報をもとに、ダイクストラアルゴリズムを用いて各子機への通信ルートを求める通信ルート構築ステップとを備えることを特徴とする通信ルートの構築方法。
【請求項2】
前記通信ルート構築ステップでダイクストラアルゴリズムを用いて各子機への通信ルートを求める際に、親機から対象の子機に至る通信ルートとして、所定の通信品質以上の通信ルートが探索できた場合は、当該通信ルートを当該子機への通信ルートに決定し、当該子機に至る全ての通信ルートを探索する前に当該子機への通信ルートの探索を終了することを特徴とする請求項1記載の通信ルートの構築方法。
【請求項3】
始点側の通信端末の端末IDと、終点側の通信端末の端末IDとの大小関係が一定の関係となるようにトポロジーテーブルがソートされた状態で通信ルート構築ステップを実行することを特徴とする請求項1又は2記載の通信ルートの構築方法。
【請求項4】
トポロジーテーブルに記憶させた始点側の通信端末の端末IDが昇順又は降順に並ぶようにソートされた状態で通信ルート構築ステップを実行することを特徴とする請求項1乃至3の何れか1項に記載の通信ルートの構築方法。
【請求項5】
トポロジーテーブルに記憶させた終点側の通信端末の端末IDが昇順又は降順に並ぶようにソートされた状態で通信ルート構築ステップを実行することを特徴とする請求項4記載の通信ルートの構築方法。
【請求項6】
トポロジー記録ステップにおいて、始点側または終点側の通信端末の端末IDの少なくとも何れか一方が昇順又は降順に並ぶように、始点側および終点側の通信端末の端末IDとリンクコストとをトポロジーテーブルに記録させることを特徴とする請求項1乃至5の何れか1項に記載の通信ルートの構築方法。
【請求項7】
通信ネットワークを構成する複数の通信端末の内の1台を親機、残りを子機とし、親機が、当該親機と各子機との間の通信ルートを記憶した記憶部から、所望の子機への通信ルートを読み出し、当該通信ルートにしたがって隣接端末間で通信信号を授受することにより、親機と子機との間で通信を行う親機側の通信端末であって、
各子機から、当該子機が直接通信可能な隣接端末に関するリンク情報を受信するリンク情報受信手段と、受信したリンク情報をもとに、始点側の通信端末の端末ID、終点側の通信端末の端末ID、および、両端末間の通信品質レベルを示すリンクコストを一次元のデータテーブルからなるトポロジーテーブルに記録させるテーブル処理手段と、ソートされたトポロジーテーブルに記録されたリンク情報をもとに、ダイクストラアルゴリズムを用いて各子機への通信ルートを求める通信ルート構築手段とを備えることを特徴とする通信端末。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2008−301269(P2008−301269A)
【公開日】平成20年12月11日(2008.12.11)
【国際特許分類】
【出願番号】特願2007−146013(P2007−146013)
【出願日】平成19年5月31日(2007.5.31)
【出願人】(000005832)パナソニック電工株式会社 (17,916)
【Fターム(参考)】
【公開日】平成20年12月11日(2008.12.11)
【国際特許分類】
【出願日】平成19年5月31日(2007.5.31)
【出願人】(000005832)パナソニック電工株式会社 (17,916)
【Fターム(参考)】
[ Back to top ]