以下、本発明に係る実施の一形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。
本実施形態では、本発明の通信ルート構築方法がPLCの通信ネットワークに適用される場合について説明するが、本発明の通信ルート構築方法は、例えば無線LAN等の他の通信ネットワークにも適用可能である。
まず、通信ネットワークNTの構成について説明する。図1は、実施形態におけるPLCの通信ネットワークの構成を示す図である。
図1において、PLCの通信ネットワークNTは、例えば、集合住宅やオフィスビルや戸建住宅等の建物等に構築され、機器へ電力を供給することを主目的とする電力線L(L1、L2)に直接又はコンセントを介して接続される複数の通信端末1、2(2−1〜2−7)を備えて構成される。複数の通信端末(以下、「端末」と略記する。)1、2は、親局である1個の端末(以下、「親端末」と略記する。)1と、子局である他の複数の端末(以下、「子端末」と略記する)2とを備えて構成される。図1に示す例では、子端末2は、通信信号が直接または他の子端末2に中継されることによって親端末1との間で通信可能に通信ルートが構築される7個の子端末2−1〜2−7である。
なお、本明細書において、総称する場合には添え字を省略した参照符号で示し、個別の構成を指す場合には添え字を付した参照符号で示す。
電力線Lは、図略の分電盤から建物内に布設された幹線L1と、幹線L1から分岐した1又は複数の分岐線L2とを備えて構成される。図1に示す例では、分岐線L2は、5本の分岐線L2−1〜L2−5である。図1に示す例では、親端末1は、幹線L1に接続され、子端末2は、分岐線L2に接続されている。これらの端末1、2は、幹線L1および分岐線L2を介して、端末1、2間で所定の通信プロトコルを用いてPLCで通信し、例えば、親端末1は、子端末2に関する予め設定された所定の情報を子端末2から取得する。これによって、通信ネットワークNTは、遠隔で水道メータや電力メータ等を管理するシステム、遠隔監視システム、遠隔制御システムおよびセキュリティシステム等の1または複数の箇所からデータを収集するシステムを構成する。
次に、通信端末の構成について説明する。図2は、実施形態における通信端末の構成を示すブロック図である。図3は、実施形態における通信可能端末管理テーブルの構成を示す図である。図4は、実施形態における通信ルートテーブルの構成を示す図である。図4(A)は、親端末(親局)の通信ルートテーブルを示し、図4(B)は、子端末(子局)の通信ルートテーブルを示す。図5は、実施形態におけるリンク情報管理テーブルの構成を示す図である。図6は、実施形態におけるアドレス管理テーブルの構成を示す図である。
図2において、本実施形態では、親端末1と、子端末2とは、同一の装置が用いられ、例えば、端末1、2は、ジャンパースイッチや切替えスイッチ等の自端末を親端末または子端末に設定する図略の設定部を備え、この設定部で「親」(「親局」)に設定されることで親端末1として機能し、また「子」(「子局」)に設定されることで子端末2として機能する。
端末1、2は、記憶部10と、制御部20と、電力線搬送通信インタフェース部(以下、「PLCインタフェース部」と略す)30とを備えて構成される。
記憶部10は、本端末1、2を動作させるための制御プログラム等の各プログラムや、各プログラムの実行に必要な情報等を記憶すると共に、制御部20に対する所謂ワーキングメモリでもある。記憶部10は、各プログラムやこれに必要な情報等を記憶する、例えばROM(Read Only Memory)等の不揮発性の記憶素子、EEPROM(Electrically Erasable Programmable Read Only Memory)等の書換え可能な不揮発性の記憶素子、および、ワーキングメモリとなる例えばRAM(Random Access Memory)等の揮発性の記憶素子を備えて構成される。
記憶部10は、親端末1として機能する場合には、通信可能端末情報記憶部101と、通信ルート情報記憶部102と、端末ID記憶部103と、装置ID記憶部104と、リンク情報記憶部105と、アドレス情報記憶部106とを機能的に備える。また、記憶部10は、子端末2として機能する場合には、通信可能端末情報記憶部101と、通信ルート情報記憶部102と、端末ID記憶部103と、装置ID記憶部104と、を機能的に備える。
端末ID記憶部103は、当該端末1、2を特定し識別するための端末1、2に固有な識別子であって、通信パケットの階層における通信アドレスとして機能する端末IDを記憶するための領域である。端末IDは、1又は複数の符号列であり、例えば、データリンク層のノードアドレス等が利用される。本実施形態では、親端末1には、「M1」が端末IDとして割り当てられ、各子端末2−1〜2−7には、後述するように通信ルートが構築されることで親端末1によって「T1」から「T7」までの符号列が端末IDとしてそれぞれ割り当てられる。このため、図略の前記設定部によって「親」に設定された場合には、端末ID記憶部103には、「M1」が記憶され、前記設定部によって「子」に設定された場合には、端末ID記憶部103には、端末IDが未設定である旨を表す情報(予約端末ID)、例えば、親端末1によって端末IDとして設定されることがないと想定される「TFF」等の符号列が記憶される。
装置ID記憶部104は、各端末1、2を特定し識別するための端末1、2に固有な識別子であって、親端末1以外によって予め割り当てられた装置IDを記憶するための領域である。装置IDは、1又は複数の符号列であり、例えば、端末1、2のシリアル番号(製造番号)やMACアドレス等が利用される。
通信可能端末情報記憶部101は、他の子端末2によって中継されることなく、本端末1、2と直接的に通信することができる端末1、2に関する情報(通信可能端末情報)を例えばテーブル形式で記憶するための領域である。例えば、図3に示すように、通信可能端末情報を登録する通信可能端末管理テーブル40は、本端末1、2と直接的に通信可能な端末1、2を表す情報として端末IDを登録する隣接端末IDフィールド401、隣接端末IDフィールド401に登録された端末1、2の種類を登録する端末種類フィールド402、隣接端末IDフィールド401に登録された端末1、2から自端末(自機)1、2へのリンク通信コスト(受信リンク通信コスト)を登録する受信リンク通信コストフィールド403、自端末1、2から隣接端末IDフィールド401に登録された端末1、2へのリンク通信コスト(送信リンク通信コスト)を登録する送信リンク通信コストフィールド404、および、隣接端末IDフィールド401に登録された端末1、2と自端末1、2との間のリンクにおけるリンク通信コストを登録するリンク通信コストフィールド405の各フィールドを備えて構成され、通信可能端末ごとにレコードが作成される。
端末種類フィールド402には、端末1、2が親端末1である場合には、その旨を示す符号、例えば、「親」が登録され、端末1、2が子端末2である場合には、その旨を示す符号、例えば、「子」が登録される。
直接通信可能な2個の端末A、Bの間のリンクにおけるリンク通信コストは、直接通信可能な2個の端末A、B間におけるリンクの通信品質の評価であり、例えば、通信品質値であるSQに重み付けした値が用いられる。SQは、例えば、直接通信可能な2個の端末A、B間の受信信号強度であり、その強度が例えば10段階や20段階等の整数値で表される。SQは、値が小さい程、通信信号の減衰が小さく、通信状態が良い。通信信号を受信する場所におけるノイズレベルが異なることから双方向の通信品質が異なる。このため、SQは、直接通信可能な2個の端末A、B間のリンクにおいて、一方の端末Aが他方の端末Bから通信信号を受信する場合の受信信号強度(B→A)と、一方の端末Aが他方の端末Bへ通信信号を送信する場合における他方の端末Bが通信信号を受信する場合の受信信号強度(A→B)との2通りがある。したがって、上記のようにSQに基づいて算出されるリンク通信コストも、一方の端末Aにおいて、一方の端末Aが他方の端末Bから通信信号を受信する場合の前記受信リンク通信コスト(B→A)と、一方の端末Aが他方の端末Bへ通信信号を送信する場合の前記送信リンク通信コスト(A→B)との2通りがある。一方の端末Aにおいて、受信リンク通信コスト(B→A)は、一方の端末Aが他方の端末Bから通信信号を受信する場合の受信信号強度(B→A)に基づいて算出され、送信リンク通信コスト(A→B)は、一方の端末Aが他方の端末Bへ通信信号を送信する場合における他方の端末Bが通信信号を受信する場合の受信信号強度(A→B)に基づいて算出される。そして、端末A、B間で通信を行った場合に通信の確実性(信頼性)を保証する観点から、例えば、これら受信リンク通信コスト(B→A)および送信リンク通信コスト(A→B)のうちの通信状態の悪い方(リンク通信コストの値が大きい方)が2個の端末A、B間におけるリンクのリンク通信コストとして採用される。
そして、親端末1と子端末2との間における通信ルートの通信品質の評価である後述のルート通信コストは、例えば、本実施形態では、親端末1と子端末2との間の通信ルートにおける各リンクのリンク通信コストの和が採用される。
なお、上述のリンク通信コストは、SQと関連づけられたが、SQに代えて、SN比、ビットエラーレートおよびパケットエラーレート等の1又は複数と関連づけられて算出されてもよい。
通信ルート情報記憶部102は、自端末1、2と通信先端末1、2との間の通信ルートに関する情報(通信ルート情報)を例えばテーブル形式で記憶するための領域である。例えば、図4に示すように、通信ルート情報を登録する通信ルートテーブル50は、通信先端末1、2を表す情報として端末IDを登録する端末IDフィールド501、端末IDフィールド501に登録された通信先端末1、2までの通信ルートにおけるルート通信コストを登録するルート通信コストフィールド502、端末IDフィールド501に登録された通信先端末1、2までの通信ルートにおけるホップ数を登録するホップ数フィールド503、および、端末IDフィールド501に登録された通信先端末1、2までの通信ルートにおいて、各ホップにおける送信先の端末1、2を登録するホップフィールド504の各フィールドを備えて構成され、通信先端末1、2ごとにレコードが作成される。
ホップ数は、自端末1、2から通信先端末1、2までの通信ルートにおける端末1、2間の個数である。例えば、子端末2−4が子端末2−3及び子端末2−1を介して親端末1と通信を行う通信ルートの場合では、子端末2−4と子端末2−3との間、子端末2−3と子端末2−1との間、および、子端末2−1と親端末1の間の3個であり、ホップ数は、「3」となる。ホップフィールド504には、自端末1、2から通信先端末1、2に至るまで順にホップごとにサブフィールドが設けられる。ホップフィールド504には、各ホップにおける送信先の端末1、2を表す情報として端末IDが登録され、最終のサブフィールドには、通信先端末1、2の端末IDが登録される。なお、ホップフィールド504の最終のサブフィールドには、端末IDフィールド501に登録されている端末IDが登録されることになるので、この登録は、省略可能である。
親端末1の場合には、本通信ネットワークNTにおいて構築された各子端末2に対する全通信ルートが通信ルートテーブル50によって通信ルート情報記憶部102に記憶される。例えば、図4(A)には、子端末2−1〜2−4まで通信ルートが構築された場合の通信ルートテーブルが示されている。例えば、通信先端末2が子端末2−3である場合には、端末IDフィールド501には「T3」が登録され、そして、ルート通信コストフィールド502、ホップ数フィールド503およびホップフィールド504(第1および第2ホップサブフィールド504−1、504−2)には、それぞれ「10」、「2」、「T1」および「T3」が登録されており、自端末(親端末1)から子端末2−1を介して子端末2−3へルート通信コスト「10」およびホップ数「2」で通信可能であることが示されている。
一方、子端末2の場合には、自端末2から親端末1までの全通信ルートが通信ルートテーブル50によって通信ルート情報記憶部102に記憶される。例えば、図4(B)には、子端末2−4の通信ルートテーブル50が示されており、端末IDフィールド501、ルート通信コストフィールド502、ホップ数フィールド503およびホップフィールド504(第1ないし第3ホップサブフィールド504−1〜504−3)には、それぞれ「M1」、「17」、「3」、「T3」、「T1」および「M1」が登録されており、自端末(子端末2−4)から子端末2−3および子端末2−1を介して親端末1へルート通信コスト「17」およびホップ数「3」で通信可能であることが示されている。
リンク情報記憶部105は、端末1、2間において直接通信可能な通信路であるリンクに関する情報(リンク情報)を通信ネットワークNTの全てのリンクについて例えばテーブル形式で記憶するための領域である。例えば、図5に示すように、リンク情報を登録するリンク情報管理テーブル60は、リンクにおける一方の端末1、2を表す情報として端末IDを登録する第1端末IDフィールド601、リンクにおける他方の端末1、2を表す情報として端末IDを登録する第2端末IDフィールド602、および、リンクのリンク通信コストを登録する通信コストフィールド603の各フィールドを備えて構成され、通信先端末1、2ごとにレコードが作成される。親端末1は、このようなリンク情報を、各子端末2における記憶部10の通信可能端末情報記憶部101に記憶されている通信可能端末情報が各子端末2から親端末1へ所定時間間隔ごとに定期的に送信されることによって取得する。
アドレス情報記憶部106は、親端末1が通信ネットワークNTに参加している各子端末2に割り当てた端末IDと当該子端末2の装置IDの対応関係に関する情報(アドレス情報)を例えばテーブル形式で記憶するための領域である。例えば、図6に示すように、アドレス情報を登録するアドレス管理テーブル70は、端末IDを登録する端末IDフィールド701および装置IDを登録する装置IDフィールド702の各フィールドを備えて構成され、端末IDごとにレコードが作成される。
図2に戻って、PLCインタフェース部30は、電力線Lを用いて他の端末1、2との間で通信を行うための通信インタフェース回路である。PLCは、例えば、商用周波数の電力波形に高周波の通信信号を重畳して送信したり、この電力波形からこの高周波の通信信号を分離して受信したりすることによって、電力線Lを介して通信信号を送受信する通信方式である。PLCには、例えば、10kHz〜450Hzの周波数帯を利用する低速電力線搬送通信と、2MHz〜30MHzの周波数帯を利用する高速電力線搬送通信とが知られている。
制御部20は、端末1、2の各部を制御することによって端末1、2全体の動作を制御する装置であり、例えば、マイクロプロセッサおよびその周辺回路等で構成される。そして、制御部20は、直接または他の子端末2を介して子端末2と親端末1との間の通信ルートを構築するための処理である通信ルート構築処理を実行するために、機能的に、テーブル処理部201、通信処理部202および送信タイマ部203を備えて構成される。
テーブル処理部201は、親端末1の場合では、記憶部10に記憶されている通信可能端末管理テーブル40、通信ルートテーブル50、リンク情報管理テーブル60およびアドレス管理テーブル70の各登録内容を管理し、また、子端末2の場合では、記憶部10に記憶されている通信可能端末管理テーブル40および通信ルートテーブル50の各登録内容を管理する。通信処理部202は、PLCインタフェース部30を用いて他端末1、2と通信信号を送受信し、後述の動作を行うことによって、親端末1と子端末2との間の通信ルートを構築するための通信ルート構築処理を行う。送信タイマ部203は、所定の時間の経過を計る計時手段であり、所定の時間間隔で通信処理部202に各種通信パケットの送信タイミングの到来を通知する。
次に、通信ネットワークNTにおいて、パケットの階層における通信ルートの構築について説明する。
図7は、実施形態における通信端末の動作を説明するためのシーケンス図である。図8は、実施形態における通信パケットのフォーマットの構成を示す図である。図8(A)は、ハローパケットのファーマットを示し、そして、図8(B)は、アドレス要求パケットおよびアドレス応答パケットのフォーマットを示す。
図7において、起動されると、各端末1、2の制御部20における送信タイマ部203は、ハローパケット(Hello Packet、以下、「Hパケット」と略記する。)を送信すべく計時を開始し、タイムアップすると、Hパケットの送信タイミングである旨を通信処理部202に通知する。通信処理部202は、この通知を受けると、Hパケットを通信ネットワークNTに同報通信で発信する(C11)。
Hパケットは、通信ネットワークNTにおいて、各端末1、2間で、他の端末1、2に対して自端末1、2の生存を報知する通信パケットである。そして、本実施形態のHパケットには、当該Hパケットを発信する子端末2が親端末1までの通信ルートが構築され親端末1と通信可能である場合には、自端末2から親端末1までの通信ルートを表す情報(通信ルート情報)およびこの通信ルートのルート通信コストを表す情報(ルート通信コスト情報)も収容されている。
このようなHパケット80aは、例えば、図8(A)に示すように、送信元端末ID部801と、送信先端末ID部802と、オペレーションコード部804と、端末種類部805と、通信ルート部806とを備えて構成される。
送信元端末ID部801は、当該通信パケットを送信した端末1、2の端末IDが当該通信パケットの階層の通信アドレスとして収容される領域である。送信先端末ID部802は、当該通信パケットを受信すべき送信先の端末1、2の端末IDが当該通信パケットの階層における通信アドレスとして収容される領域である。Hパケット80aの場合では、同報通信のコードが送信先端末ID部802に収容される。同報通信には、例えば、ブロードキャストやマルチキャストがある。本実施形態では、Hパケット80aは、例えば、ブロードキャストで送信され、ブロードキャストを表すコードとして例えば「BC」が用いられ、送信先端末ID部802に収容される。オペレーションコード部804は、当該通信パケットの種類を特定し識別するコードが収容される領域である。Hパケット80aの場合では、そのコードとして例えば「HP」がオペレーションコード部804に収容される。端末種類部805は、当該通信パケットを送信した端末1、2が親端末1であるか子端末2であるかを識別するための情報(端末種類情報)を収容する領域である。本実施形態では、例えば、当該パケットが親端末1によって送信されたパケットである場合には、「M」が端末種類部805に収容され、当該パケットが子端末2によって送信されたパケットである場合には、「C」が端末種類部805に収容される。
通信ルート部806は、自端末2から親端末1までの通信ルートを表す通信ルート情報およびこの通信ルートのルート通信コストを表すルート通信コスト情報を収容する領域である。本実施形態では、例えば、通信ルートおよびルート通信コストが「通信ルート;ルート通信コスト」の順に通信ルート部806に収容され、通信ルートは、通信ルートに従って自端末2から親端末1までその端末IDが並べられることによって表される。例えば、子端末2−4が子端末2−3および子端末2−1を介して親端末1と通信し、そのルート通信コストが17である場合には、「T4→T3→T1→M1;17」が通信ルート部806に収容される。
ここで、このようなHパケットは、通信ネットワークNTの通信トラフィックを抑制するために、自端末1、2が親端末1に設定されている場合、および、親端末1までの通信ルートが構築されている場合に発信されることが好ましい。
図7に戻って、各端末1、2は、制御部20の通信処理部202を用いて、通信パケットを受信すると、受信リンク通信コストを算出すると共に、そのオペレーションコード部804に収容されているオペレーションコードを参照することによって、この受信した通信パケットの種類を判別する。以下も、各端末1、2は、通信パケットを受信すると同様に動作する。
親端末1が送信したHパケットを受信した子端末2、例えば、子端末2−1は、その制御部20の通信処理部202を用いて、この受信したHパケット80aの端末種類部805を参照することによって、このHパケット80aを送信した端末1、2を判断する。この判断の結果、Hパケット80aを送信した端末1、2が親端末1であると判断されると、自端末2(自端末2−1)は、親端末1と直接通信可能であると判断し、「自端末2(自端末2−1)→親端末1」の通信ルートが構築可能であると判断する。そして、子端末2(子端末2−1)は、その制御部20のテーブル処理部201を用いて、この受信したHパケット80aの送信元端末ID部801および端末種類部805を参照することによって端末IDおよび端末種類を取り出し、この取り出した端末ID、端末種類および前記算出した受信リンク通信コストを記憶部10の通信可能端末情報記憶部101に記憶されている通信可能端末管理テーブル40に新たなレコードを設け、その隣接端末IDフィールド401、端末種類フィールド402および受信リンク通信コストフィールド403にそれぞれ登録する。そして、この端末2(子端末2−1)のテーブル処理部201は、この受信リンク通信コストを仮のリンク通信コストとしてリンク通信コストフィールド405に登録する。ここで、この受信リンク通信コストを仮のリンク通信コストとしたのは、上述したように、リンク通信コストが受信リンク通信コストおよび送信リンク通信コストのうちの悪い方(数値の大きい方)とされるが、この送信リンク通信コストが分からないためである。そして、子端末2(子端末2−1)は、その制御部20の通信処理部202を用いて、記憶部10の端末ID記憶部103を参照することによって、自端末2−1に端末IDが割り当てられているか否かを判断する。この判断の結果、自端末2−1に端末IDが割り当てられていない場合、すなわち、端末ID記憶部103に予約端末IDが記憶されている場合には、子端末2(子端末2−1)は、端末IDの割り当てを要求すべく、すなわち、通信アドレスの割り当てを要求すべく、親端末1に向けて通信アドレス(端末ID)を要求する旨を表すアドレス要求情報を収容するアドレス要求パケットを発信する(C12)。
このアドレス要求パケット80bは、例えば、図8(B)に示すように、送信元端末ID部801と、送信先端末ID部802と、送信通信ルート部803と、オペレーションコード部804と、配布アドレス部807とを備え、注目すべきは、さらに、装置ID部808と、隣接端末部809と、リンク通信コスト部810とを備えて構成される。そして、アドレス応答パケット80cもアドレス要求パケット80bと同様に構成されている。
送信通信ルート部803は、通信元の端末1、2から通信先の端末1、2まで当該通信パケットを送信する際の通信ルートに関する情報を収容する領域である。その情報は、例えば、通信元の端末1、2から通信先の端末1、2まで通信ルートに従ってその端末IDが並べられることによって表される。通信パケットを受信した端末1、2は、この受信した通信パケットの送信通信ルート部803に収容されている情報に基づいて自端末1、2がこの受信した通信パケットの送信先(転送先、中継先)の端末1、2を判断し、この受信した通信パケットをこの送信先の端末1、2に送信して転送(中継)する。例えば、子端末2−4が子端末2−3および子端末2−1を介して親端末1へ通信パケットを送信する場合には、「T4→T3→T1→M」が送信通信ルート部803に収容され、この通信パケットを受信した子端末2−3は、この送信通信ルート部803に収容された「T4→T3→T1→M」を参照することで、この通信パケットを子端末2−1へ送信し、そして、この通信パケットを受信した子端末2−1は、この送信通信ルート部803に収容された「T4→T3→T1→M」を参照することで、この通信パケットを親端末1へ送信する。これによって通信パケットが子端末2−4から子端末2−3および子端末2−1で中継されて親端末1へ送信される。
ここで、アドレス応答パケット80cの場合では、当該アドレス応答パケット80cを受信すべき子端末2は、端末IDが端末ID記憶部103に未設定(未記憶)であるため、この通信ルートに関する情報の最後(末尾)は、同報通信、例えば、ブロードキャストを示す「BC」とされ、この通信ルートに関する情報が送信通信ルート部803に収容される。
配布アドレス部807は、アドレス要求パケット80bを受信した親端末1が当該アドレス要求パケット80bを発信した子端末2に割り当てた端末IDを収容する領域である。このため、アドレス要求パケット80bの場合では、配布アドレス部807には、「null」が収容され(または、空とされ)、アドレス応答パケット80cの場合では、配布アドレス部807には、親端末1が子端末2に割り当てた端末IDが収容される。
装置ID部808は、アドレス要求パケット80bを発信した端末2の装置IDを収容する領域である。このため、アドレス要求パケット80bの場合では、装置ID部808には、当該アドレス要求パケット80bを発信する端末2の装置IDが収容され、アドレス応答パケット80cの場合では、装置ID部808には、アドレス応答パケット80cに対応するアドレス要求パケット80bにおける装置ID部808に収容されていた装置IDが収容される。したがって、この装置ID部808に収容されている装置IDを参照することによって、端末1、2は、アドレス要求パケット80bの場合では、アドレス要求パケット80bを発信した端末2の装置IDを認識することができ、そして、アドレス応答パケット80cの場合では、当該アドレス要求パケット80bに関連したアドレス応答パケット80cであることを認識することができる。
隣接端末部809は、Hパケット80aの受信に応じてアドレス要求パケット80bを発信する場合に、このHパケット80aを発信した端末ID(通信アドレス)を収容する領域である。装置ID部808に収容されている装置IDを持つ子端末2は、この隣接端末部809を参照することによってリンク通信コスト部810に収容されている、アドレス要求パケット80bを発信する端末2における受信リンク通信コスト(装置ID部808に収容されている装置IDを持つ子端末2における送信リンク通信コスト)がいずれのリンクにおける受信リンク通信コスト(送信リンク通信コスト)であるかを判断することができる。
リンク通信コスト部810は、自端末2と隣接端末部809に収容される端末IDに対応する端末2との間におけるリンクのリンク通信コストを収容する領域である。端末IDが未設定である子端末2は、アドレス要求パケット80bを発信する際には、Hパケット80aを発信した端末1、2と自端末2との間におけるリンクの受信リンク通信コストしか分からないため、アドレス要求パケット80bのリンク通信コスト部810に、この受信リンク通信コストを仮のリンク通信コストとして収容し、アドレス要求パケット80bを作成し、発信する。
Hパケット80aを受信した子端末2−1が作成するアドレス要求パケット80bをより具体的に例示すると、受信リンク通信コストが例えば「4」である場合では、その送信元端末ID部801には「予約端末ID」が収容され、その送信先端末ID部802には「M1」が収容され、その送信通信ルート部803には「予約端末ID→M1」が収容され、そのオペレーションコード部804には「アドレス要求であることを表すコード」が収容され、その配布アドレス部807には「null」が収容され、その装置ID部808には「子端末2−1の装置ID(例えば、「MAC1」)」が収容され、その隣接端末部809には「M1」が収容され、そのリンク通信コスト部810には「4」が収容される。
図7に戻って、子端末2(子端末2−1)が送信したアドレス要求パケット80bを受信した親端末1は、その制御部20の通信処理部202を用いて、アドレス要求に応じてアドレス要求パケット80bを発信した子端末2(子端末2−1)に通信アドレスとしても機能する端末IDを割り当てる。より具体的には、親端末1の通信処理部202は、まず、このアドレス要求パケット80bの装置ID部808に登録されている装置ID「MAC1」が記憶部10のアドレス情報記憶部106に記憶されているアドレス管理テーブル70における装置IDフィールド702に登録されているか否かを判断する。そして、この判断の結果、登録されている場合には、この登録されているレコードにおける端末IDフィールド701に登録されている端末IDを返信し、登録されていない場合には、新たなに端末IDを割り当てる。この割り当ては、任意の規則によって割り当てればよいが、例えば、アドレス要求パケット80bを受信した順に「T1」から割り当てる。例えば、端末IDとして「T1」を割り当てると、親端末1の通信処理部202は、この受信したアドレス要求パケット80bの装置ID部808、隣接端末部809およびリンク通信コスト部810にそれぞれ収容されている装置ID「MAC1」、端末ID「M1」および受信リンク通信コスト「4」をそれぞれ取り出す。親端末1の通信処理部202は、この隣接端末部809から取り出した端末ID「M1」を参照することによって、端末ID「T1」を割り当てた子端末2(子端末2−1)が親端末1と直接通信可能であり、この子端末2(子端末2−1)と「M1→T1」の通信ルートが構築されたと判断する。なお、このリンク通信コスト部810の受信リンク通信コストは、親端末1においては、親端末1→子端末2−1の送信リンク通信コストである。親端末1の通信処理部202は、この送信リンク通信コストとアドレス要求パケット80bを受信した際に算出した受信リンク通信コスト(この受信リンク通信コストは、子端末2−1においては、子端末2−1→親端末1の送信リンク通信コストである。)とを比較し、通信状態の悪い方、すなわち、数値が大きい方を親端末1と端末ID「T1」の子端末2(子端末2−1)との間におけるリンクのリンク通信コストとする。例えば、アドレス要求パケット80bを受信した際に算出した受信リンク通信コストが「5」である場合では、この送信リンク通信コスト「4」とこの算出した送信リンク通信コスト「5」とが比較され、「5」がリンク通信コストとされる。端末ID「T1」の子端末2(子端末2−1)とは、直接通信可能であるから、このリンク通信コスト「5」がルート通信コストとなる。
親端末1は、その制御部20におけるテーブル処理部201を用いて、割り当てた端末ID「T1」とアドレス要求パケット80bの装置ID部808から取り出した装置ID「MAC1」とを、記憶部10のアドレス情報記憶部106に記憶されているアドレス管理テーブル70に新たなレコードを設け、その端末IDフィールド701および装置IDフィールド702にそれぞれ登録する。親端末1のテーブル処理部201は、自端末1の端末ID「M1」と割り当てた端末ID「T1」とリンク通信コスト「5」とを、記憶部10のリンク情報記憶部105に記憶されているリンク情報管理テーブル60に新たなレコードを設け、その第1端末IDフィールド601、第2端末IDフィールド602およびリンク通信コストフィールド603にそれぞれ登録する。親端末1のテーブル処理部201は、割り当てた端末ID「T1」と、端末種類「子」と、受信リンク通信コスト(子端末2−1→親端末1)「5」と、送信リンク通信コスト(親端末1→子端末2−1)「4」と、リンク通信コスト「5」とを、記憶部10の通信可能端末情報記憶部101に記憶されている通信可能端末管理テーブル40に新たなレコードを設け、その隣接端末IDフィールド401、端末種類フィールド402、受信リンク通信コストフィールド403、送信リンク通信コストフィールド404およびリンク通信コストフィールド405にそれぞれ登録する。そして、親端末1のテーブル処理部201は、割り当てた端末ID「T1」の間において、ホップ数「1」およびルート通信コスト「5」で「M1→T1」の通信ルートが構築されたので、この割り当てた端末ID「T1」と、ルート通信コスト「5」と、ホップ数「1」と、第1ホップ「T1」とを、記憶部10の通信ルート情報記憶部102に記憶されている通信ルートテーブル50に新たなレコードを設け、その端末IDフィールド501、ルート通信コストフィールド502、ホップ数フィールド503および第1ホップフィールド504−1にそれぞれ登録する。
なお、親端末1のテーブル処理部201は、通信アドレス(端末ID)を割り当てた際の通信ルートが最適とは限らないので、リンク情報管理テーブル60の登録内容に基づいて例えばダイクストラアルゴリズム等によって親端末1から子端末2への通信ルートを求め、この求めた通信ルートで通信ルートテーブル50の登録内容を更新する。これによって親端末1から子端末2への最適な通信ルートが通信ルートテーブル50に登録される。
そして、親端末1は、アドレス要求パケット80bを発信した子端末2にこの割り当てた端末IDを知らせるべく、アドレス要求パケット80bを発信した子端末2に向けてこの割り当てた通信アドレス(端末ID)を収容する上述した構成のアドレス応答パケット80cを作成し、発信する(C13)。ここでは、記憶部10の端末ID記憶部103に端末IDが未設定の子端末2−1へ向けて親端末1がアドレス応答パケット80cを送信するので、親端末1は、アドレス応答パケット80cを同報通信によって発信する。
このアドレス要求パケット80bを受信した親端末1が作成するアドレス応答パケット80cをより具体的に例示すると、その送信元端末ID部801には「M1」が収容され、その送信先端末ID部802には「BC」が収容され、その送信通信ルート部803には「M1→BC」が収容され、そのオペレーションコード部804には「アドレス応答であることを表すコード」が収容され、その配布アドレス部807には「T1」が収容され、その装置ID部808には「MAC1」が収容され、その隣接端末部809には「M1」が収容され、そのリンク通信コスト部810には「5」が収容される。
そして、親端末1が発信したアドレス応答パケット80cを受信した子端末2(子端末2−1)は、その制御部20の通信処理部202を用いて、アドレス応答パケット80cの装置ID部808を参照することによって、自端末2(自端末2−1)宛のアドレス応答パケット80cであると判断する。受信したアドレス応答パケット80cが、自端末2(自端末2−1)宛であると判断すると、子端末2(子端末2−1)の通信処理部202は、この受信したアドレス応答パケット80cの配布アドレス部807、隣接端末部809およびリンク通信コスト部810にそれぞれ収容されている端末ID「T1」、隣接端末ID「M1」およびリンク通信コスト「5」をそれぞれ取り出す。子端末2(子端末2−1)は、その制御部20を用いて、記憶部10の端末ID記憶部103にこの取り出した端末ID「T1」を格納し、自端末2(自端末2−1)の端末IDを設定する。そして、子端末2(子端末2−1)は、その制御部20のテーブル処理部201を用いて、隣接端末部809から取り出した端末ID「M1」を隣接端末IDフィールド401に登録するレコードを、記憶部10の通信可能端末情報記憶部101に記憶されている通信可能端末管理テーブル40から検索し、この検索したレコードの送信リンク通信コストフィールド404にリンク通信コスト部810から取り出したリンク通信コスト「5」を登録する。リンク通信コスト部810に収容されているリンク通信コストは、自端末2において、受信リンク通信コストであるか送信リンク通信コストであるか不明であるが、受信リンク通信コストおよび送信リンク通信コストのうちの悪い方がリンク通信コストとされるので、リンク通信コスト部810に収容されているリンク通信コストが送信リンク通信コストフィールド404に登録されても支障はない。そして、制御部20のテーブル処理部201は、受信リンク通信コストフィールド403の登録内容と送信リンク通信コストフィールド404の登録内容とを比較し、悪い方「5」で、この検索したレコードのリンク通信コストフィールド405を書き換えて登録する。そして、子端末2は、上述したように、「自端末2(自端末2−1)→親端末1」の通信ルートが構築可能であると判断されているので、リンク通信コスト「5」がルート通信コストとされる。そして、子端末2のテーブル処理部201は、親端末1との間において、ホップ数「1」およびルート通信コスト「5」で「T1→M1」の通信ルートが構築されたので、親端末1の端末ID「M1」と、ルート通信コスト「5」と、ホップ数「1」と、第1ホップ「M1」とを、記憶部10の通信ルート情報記憶部102に記憶されている通信ルートテーブル50に新たなレコードを設け、その端末IDフィールド501、ルート通信コストフィールド502、ホップ数フィールド503および第1ホップフィールド504−1にそれぞれ登録する。
このように動作することによって、親端末1と直接通信可能な子端末2(子端末2−1)において、親端末1のHパケットの発信工程、子端末2(子端末2−1)のアドレス要求パケットの発信工程および親端末1のアドレス応答パケットの発信工程の3個の工程によって、子端末2(子端末2−1)の通信アドレス(端末ID)が設定され、親端末1と直接通信可能な子端末2(子端末2−1)との間の通信ルートが双方で構築される。このため、初期設定時間が背景技術よりも短くなる。
そして、後述の図9に示す例では、親端末1と直接通信可能な子端末2−2も、同様の動作によって、端末IDとして例えば「T2」が割り当てられ、親端末1との間において、ホップ数「1」およびルート通信コスト例えば「10」で「T2→M1」の通信ルートが構築される。
親端末1までの通信ルートが構築された子端末2(子端末2−1)は、送信タイマ部203から通知を受け、Hパケット80aの送信タイミングになると、Hパケット80aを通信ネットワークNTに同報通信で発信する(C14)。このHパケット80aには、上述したように、通信ルート部806が含まれる。この子端末2−1が作成するHパケット80aをより具体的に例示すると、その送信元端末ID部801には「T1」が収容され、その送信先端末ID部802には「BC」が収容され、そのオペレーションコード部804には「HP」が収容され、端末種類部805には「C」が収容され、その通信ルート部806には「T1→Ml;5」が収容される。
親端末1までの通信ルートが構築された子端末2(子端末2−1)が発信したHパケット80aを受信した子端末2、例えば、子端末2−3は、その制御部20の通信処理部202を用いて、この受信したHパケット80aの端末種類部805を参照することによって、このHパケット80aを発信した端末1、2を判断する。この判断の結果、Hパケット80aを発信した端末1、2が子端末2であると判断されると、この受信したHパケット80aに通信ルート部806が含まれているか否かを判断する。この判断の結果、この受信したHパケット80aに通信ルート部806が含まれている場合には、自端末2(自端末2−3)は、親端末1と通信可能であると判断し、「自端末2(自端末2−3)→通信ルート部806の通信ルート(T1→M1)」で自端末2(自端末2−3)から親端末1までの通信ルートが構築可能であると判断する。そして、上述の子端末2−1と同様の動作によって、子端末2(子端末2−3)は、この受信したHパケット80aを参照することによって、その送信元端末ID部801の端末ID、その端末種類部805の端末種類、および、前記算出した受信リンク通信コストを、通信可能端末管理テーブル40における新たに設けたレコードの隣接端末IDフィールド401、端末種類フィールド402および受信リンク通信コストフィールド403にそれぞれ登録する。そして、この端末2(子端末2−3)のテーブル処理部201は、この受信リンク通信コストを仮のリンク通信コストとしてリンク通信コストフィールド405に登録する。そして、子端末2(子端末2−3)は、自端末2−3に端末IDが割り当てられているか否かを判断する。この判断の結果、自端末2−3に端末IDが割り当てられていない場合には、子端末2(子端末2−3)は、アドレス要求パケット80bを親端末1へ向けて発信すべく、このHパケット80aを送信した子端末2(子端末2−1)へ送信する(C15)。
Hパケット80aを受信した子端末2−3が作成するアドレス要求パケット80bをより具体的に例示すると、受信リンク通信コストが例えば「3」である場合では、その送信元端末ID部801には「予約端末ID」が収容され、その送信先端末ID部802には「T1」が収容され、その送信通信ルート部803には「予約端末ID→T1→M1」が収容され、そのオペレーションコード部804には「アドレス要求であることを表すコード」が収容され、その配布アドレス部807には「null」が収容され、その装置ID部808には「子端末2−3の装置ID(例えば、「MAC3」)」が収容され、その隣接端末部809には「T1」が収容され、そのリンク通信コスト部810には受信リンク通信コスト「3」が仮のリンク通信コストとして収容される。
子端末2(子端末2−3)が発信(送信)したアドレス要求パケット80bを受信した子端末2(子端末2−1)は、その制御部20の通信処理部202を用いて、アドレス要求パケット80bの送信通信ルート部803を参照することによって、アドレス要求パケット80bの次の送信先を判断し、この送信先の端末IDで送信先端末ID部801を書き換え、アドレス要求パケット80bを送信し、中継する(C16)。
アドレス要求パケット80bを受信した子端末2−1が書き換えたアドレス要求パケット80bをより具体的に例示すると、その送信元端末ID部801には「T1」が収容され、その送信先端末ID部802には「M1」が収容され、その送信通信ルート部803には「予約端末ID→T1→M1」が収容され、そのオペレーションコード部804には「アドレス要求であることを表すコード」が収容され、その配布アドレス部807には「null」が収容され、その装置ID部808には「子端末2−3の装置ID(例えば、「MAC3」)」が収容され、その隣接端末部809には「T1」が収容され、そのリンク通信コスト部810にはリンク通信コスト「3」が収容される。
子端末2(子端末2−1)が中継したアドレス要求パケット80bを受信した親端末1は、その制御部20の通信処理部202を用いて、上述したように端末IDが未割り当てであるか否かを判断した後に、アドレス要求に応じてアドレス要求パケット80bを送信した子端末2(子端末2−3)に通信アドレスとしても機能する端末IDを割り当てる。例えば、端末IDとして「T3」を割り当てると、親端末1の通信処理部202は、この受信したアドレス要求パケット80bの装置ID部808、隣接端末部809およびリンク通信コスト部810にそれぞれ収容されている装置ID「MAC3」、端末ID「T1」およびリンク通信コスト「3」をそれぞれ取り出す。親端末1の通信処理部202は、この隣接端末部809から取り出した端末ID「T1」を参照することによって、端末ID「T3」を割り当てた子端末2(子端末2−3)が親端末1と親端末1からこの隣接端末部809から取り出した端末ID「T1」に対応する子端末2(子端末2−1)に至る通信ルートによって通信可能であり、この子端末2(子端末2−3)と「親端末1からこの隣接端末部809から取り出した端末ID「T1」に対応する子端末2(子端末2−1)に至る通信ルート(「M1→T1」)→T3」の通信ルートが構築されたと判断すると共に、このリンク通信コスト部810から取り出したリンク通信コスト「3」がこの隣接端末部809から取り出した端末ID「T1」に対応する子端末2と端末ID「T3」の子端末2−3との間におけるリンクのリンク通信コストであると判断する。親端末1の通信処理部202は、親端末1からこの隣接端末部809から取り出した端末ID「T1」に対応する子端末2(子端末2−1)に至る通信ルートのルート通信コスト「5」に、このリンク通信コスト部810から取り出したリンク通信コスト「3」を加算することによって、親端末1と端末ID「T3」を割り当てた子端末2(子端末2−3)との間における通信ルートのルート通信コスト「8」を算出する。
親端末1は、その制御部20におけるテーブル処理部201を用いて、割り当てた端末ID「T3」とアドレス要求パケット80bの装置ID部808から取り出した装置ID「MAC3」とを、記憶部10のアドレス情報記憶部106に記憶されているアドレス管理テーブル70に新たなレコードを設け、その端末IDフィールド701および装置IDフィールド702にそれぞれ登録する。親端末1のテーブル処理部201は、アドレス要求パケット80bの隣接端末部809から取り出した端末ID「T1」と割り当てた端末ID「T1」とリンク通信コスト「3」とを、記憶部10のリンク情報記憶部105に記憶されているリンク情報管理テーブル60に新たなレコードを設け、その第1端末IDフィールド601、第2端末IDフィールド602およびリンク通信コストフィールド603にそれぞれ登録する。通信可能端末管理テーブル40の更新は、その隣接端末部809を参照することによって、アドレス要求パケット80bを送信した子端末2(子端末2−3)が隣接端末2ではないので、実行されない。そして、親端末1のテーブル処理部201は、割り当てた端末ID「T3」の子端末2(子端末2−3)との間において、ホップ数「2」およびルート通信コスト「8」で「M1→T1→T3」の通信ルートが構築されたので、この割り当てた端末ID「T3」と、ルート通信コスト「8」と、ホップ数「2」と、第1ホップ「T1」と、第2ホップ「T3」とを、記憶部10の通信ルート情報記憶部102に記憶されている通信ルートテーブル50に新たなレコードを設け、その端末IDフィールド501、ルート通信コストフィールド502、ホップ数フィールド503および第1および第2ホップフィールド504−1、504−2にそれぞれ登録する。
親端末1は、アドレス要求パケット80bを発信した子端末2(子端末2−3)に、この割り当てた端末ID「T3」を知らせるべく、上述した構成のアドレス応答パケット80cを作成し、発信する(C17)。
このアドレス要求パケット80bを受信した親端末1が作成するアドレス応答パケット80cをより具体的に例示すると、その送信元端末ID部801には「M1」が収容され、その送信先端末ID部802には「T1」が収容され、その送信通信ルート部803には「M1→T1→BC」が収容され、そのオペレーションコード部804には「アドレス応答であることを表すコード」が収容され、その配布アドレス部807には「T3」が収容され、その装置ID部808には「MAC3」が収容され、その隣接端末部809には「T1」が収容され、そのリンク通信コスト部810には「3」が収容される。
親端末1が発信したアドレス応答パケット80cを受信した子端末2(子端末2−1)は、その制御部20の通信処理部202を用いて、アドレス応答パケット80cの送信通信ルート部803を参照することによって、アドレス応答パケット80cの次の送信先を判断し、この送信先の端末IDで送信先端末ID部801を書き換え、アドレス応答パケット80cを送信し、中継する(C18)。
アドレス応答パケット80cを受信した子端末2−1が書き換えたアドレス応答パケット80cをより具体的に例示すると、その送信元端末ID部801には「T1」が収容され、その送信先端末ID部802には「BC」が収容され、その送信通信ルート部803には「M1→T1→BC」が収容され、そのオペレーションコード部804には「アドレス応答であることを表すコード」が収容され、その配布アドレス部807には「T3」が収容され、その装置ID部808には「MAC3」が収容され、その隣接端末部809には「T1」が収容され、そのリンク通信コスト部810には「3」が収容される。
そして、親端末1が送信したアドレス応答パケット80cを子端末2−1を介して受信した子端末2(子端末2−3)は、その制御部20の通信処理部202を用いて、アドレス応答パケット80cの装置ID部808を参照することによって、自端末2(自端末2−3)宛のアドレス応答パケット80cであると判断する。受信したアドレス応答パケット80cが、自端末2(自端末2−3)宛であると判断すると、子端末2(子端末2−1)の通信処理部202は、この受信したアドレス応答パケット80cの配布アドレス部807、隣接端末部809およびリンク通信コスト部810にそれぞれ収容されている端末ID「T3」、隣接端末ID「T1」およびリンク通信コスト「3」をそれぞれ取り出す。子端末2(子端末2−3)は、その制御部20を用いて、記憶部10の端末ID記憶部103にこの取り出した端末ID「T3」を格納し、自端末2(自端末2−3)の端末IDを設定する。そして、子端末2(子端末2−3)は、その制御部20のテーブル処理部201を用いて、隣接端末部809から取り出した端末ID「T1」を隣接端末IDフィールド401に登録するレコードを、記憶部10の通信可能端末情報記憶部101に記憶されている通信可能端末管理テーブル40から検索し、この検索したレコードの送信リンク通信コストフィールド404にリンク通信コスト部810から取り出したリンク通信コスト「3」を登録する。そして、制御部20のテーブル処理部201は、受信リンク通信コストフィールド403の登録内容と送信リンク通信コストフィールド404の登録内容とを比較し、悪い方「3」で、この検索したレコードのリンク通信コストフィールド405を書き換えて登録する。そして、子端末2は、上述したように、「自端末2(自端末2−3)→T1→M1」の通信ルートが構築可能であると判断されているので、リンク通信コスト「3」がHパケット80aの通信ルート部806に収容されていたルート通信コスト「5」に加算され、その結果「8」がルート通信コストとされる。そして、子端末2(子端末2−3)のテーブル処理部201は、親端末1との間において、ホップ数「2」およびルート通信コスト「8」で「T3→T1→M1」の通信ルートが構築されたので、親端末1の端末ID「M1」と、ルート通信コスト「8」と、ホップ数「2」と、第1ホップ「T1」と、第2ホップ「M1」とを、記憶部10の通信ルート情報記憶部102に記憶されている通信ルートテーブル50に新たなレコードを設け、その端末IDフィールド501、ルート通信コストフィールド502、ホップ数フィールド503および第1および第2ホップフィールド504−1、504−2にそれぞれ登録する。
このように動作することによって、親端末1と他の子端末2を介して通信可能な子端末2(子端末2−3)において、子端末2(子端末2−1)のHパケットの発信工程、子端末2(子端末2−3)のアドレス要求パケットの発信工程および親端末1のアドレス応答パケットの発信工程の3個の工程によって、子端末2(子端末2−3)の通信アドレス(端末ID)が設定され、親端末1と間接的に通信可能な子端末2(子端末2−3)との間の通信ルートが双方で構築される。このため、初期設定時間が背景技術よりも短くなる。
上述のように各端末1、2が動作することによって、親端末1と通信上近い子端末2から親端末1と通信上遠い子端末2へ順次に、親端末1と各子端末2との間で各通信ルートが構築される。
ここで、上述の実施形態において、Hパケット80aを発信した子端末2は、親端末1までの通信ルートが構築されている端末2であって、アドレス要求パケット80bを受信することによってアドレス要求パケット80bを発信する子端末2から自端末2への送信リンク通信コストを求め、アドレス要求パケット80bを受信して親端末1に向けてアドレス要求パケット80bを中継する際に、この求めた送信リンク通信コストがアドレス要求パケット80bのリンク通信コスト部810に収容されているリンク通信コストよりも悪い場合にアドレス要求パケット80bの前記リンク通信コストを送信リンク通信コストに換えてもよい。
例えば、図7において、子端末2(子端末2−3)が発信(送信)したアドレス要求パケット80bを受信した子端末2(子端末2−1)は、この受信したアドレス要求パケット80bの隣接端末部809に収容されている端末IDを参照することによって、自端末2(自端末2−1)に隣接する子端末2、すなわち、自端末2(自端末2−1)と直接通信可能な子端末2から送信されたアドレス要求パケット80bであるか否かを判断する。この判断の結果、自端末2(自端末2−1)に隣接する子端末2から送信されたアドレス要求パケット80bである場合には、子端末2(子端末2−1)の通信処理部202は、この受信したアドレス要求パケット80bのリンク通信コスト部810に収容されている仮のリンク通信コスト「3」とこのアドレス要求パケット80bを受信した際に算出した受信リンク通信コスト(この受信リンク通信コストは、アドレス要求パケット80bを発信した端末2(端末2−3)においては、送信リンク通信コストである。)とを比較し、通信状態の悪い方、すなわち、数値が大きい方を自端末2(自端末2−1)とこのアドレス要求パケット80bを発信した子端末2(子端末2−3)との間におけるリンクのリンク通信コストとする。例えば、アドレス要求パケット80bを受信した際に算出した受信リンク通信コストが「5」である場合では、この仮のリンク通信コスト「3」とこの算出した受信リンク通信コスト「5」とが比較され、「5」が当該リンクのリンク通信コストとされる。子端末2(子端末2−1)の通信処理部202は、アドレス要求パケット80bのリンク通信コスト部810をこの比較結果のリンク通信コスト「5」で書き換える。そして、子端末2(子端末2−1)の通信処理部202は、アドレス要求パケット80bの送信通信ルート部803を参照することによって、アドレス要求パケット80bの次の送信先を判断し、この送信先の端末IDで送信先端末ID部801を書き換え、アドレス要求パケット80bを送信し、中継する(C16)。
このような構成の通信ルート構築方法では、このアドレス要求パケット80bを受信した親端末1は、自端末(親端末1)からアドレス要求パケット80bを発信した子端末2(子端末2−3)までの通信ルートを設定する際に、Hパケット80aを発信した子端末(子端末2−1)とこれに応じてアドレス要求パケット80bを発信した子端末2(子端末2−3)との間の通信路における通信品質を悪い方の通信品質で設定可能となる。このため、真のリンク通信コストによって自端末(親端末1)からアドレス要求パケット80bを発信した子端末2(子端末2−3)までの通信ルートのルート通信コストが算出され、通信ルートテーブル50のルート通信コストフィールド502に登録可能となる。このため、親端末1とアドレス要求パケット80bを発信した子端末2(子端末2−3)との間における通信の信頼性が向上する。そして、アドレス要求パケット80bを発信した子端末2(子端末2−3)がアドレス応答パケット80cを受信して通信可能端末管理テーブル40のリンク通信コストフィールド405に登録されている仮のリンク通信コストを書き換える場合に、真のリンク通信コストによって書き換え可能となる。
図9は、図1に示すPLCの通信ネットワークにおける端末間で構築された通信ルートを示す図である。図9において、端末1、2間の各矢印線は、各端末1、2間におけるリンク(通信路)を示し、矢印線に付されている数値は、当該矢印線で示されるリンクのリンク通信コストを示す。例えば、図1に示すPLCの通信ネットワークNTでは、各端末1、2が上述のように動作することによって、図9に示すように、親端末1と各子端末2との間で直接または他の子端末2に中継されて通信可能なように各通信ルートが構築される。即ち、通信ネットワークNTにおいて、親端末1は、リンク通信コスト「5」で子端末2−1と通信可能に接続され、リンク通信コスト「10」で子端末2−2と通信可能に接続されている。子端末2−1は、リンク通信コスト「5」で子端末2−3と通信可能に接続され、リンク通信コスト「4」で子端末2−6と通信可能に接続されている。子端末2−2は、リンク通信コスト「15」で子端末2−4と通信可能に接続されている。子端末2−3は、リンク通信コスト「7」で子端末2−4と通信可能に接続され、リンク通信コスト「11」で子端末2−5と通信可能に接続されている。子端末2−4は、リンク通信コスト「6」で子端末2−5と通信可能に接続されている。子端末2−5は、リンク通信コスト「3」で子端末2−7と通信可能に接続されている。従って、例えば、親端末1と子端末2−4との間における通信ルートは、通信コスト「17」の子端末2−1及び子端末2−3を介する通信ルートと、通信コスト「25」の子端末2−2を介する通信ルートとの2個のルートがある。
図10は、実施形態の変形形態における通信端末の動作を説明するためのシーケンス図である。また、このようなアドレス要求パケット80bを中継する際に、アドレス要求パケット80bのリンク通信コスト部810に収容されているリンク通信コストを真のリンク通信コストで換える場合において、図10に示すように、アドレス要求パケット80bを発信した子端末2(子端末2−3)は、Hパケット80aを発信した子端末2(子端末2−1)がアドレス要求パケット80bを受信して親端末1に向けてアドレス要求パケット80bを中継した場合に、この中継されたアドレス要求パケット80bを傍受して(C21)、この傍受したアドレス要求パケット80bのリンク通信コスト部810に収容されているリンク通信コストを自端末2(アドレス要求パケット80bを発信した子端末2(子端末2−3))からHパケット80aを発信した子端末2(子端末2−1)へのリンク通信コストとして取得してもよい。これによって、アドレス要求パケット80bを発信した子端末2(子端末2−3)は、アドレス応答パケット80cの受信を待つことなく、直ちに、自端末2(子端末2−3)からHパケット80aを発信した子端末2(子端末2−1)への真のリンク通信コストを取得することができ、そして、通信可能端末管理テーブル40のリンク通信コストフィールド405に登録されている仮のリンク通信コストを真のリンク通信コストによって書き換えることができる。
そして、この場合において、この傍受したアドレス要求パケット80bのリンク通信コスト部810に収容されているリンク通信コストを自端末2(アドレス要求パケット80bを発信した子端末2(子端末2−3))からHパケット80aを発信した子端末2(子端末2−1)への送信リンク通信コストとして通信可能端末管理テーブル40の送信リンク通信コストフィールド404に登録してもよい。これによって、アドレス要求パケット80bを発信した子端末2(子端末2−3)は、アドレス応答パケット80cの受信を待つことなく、直ちに、自端末2(子端末2−3)からHパケット80aを発信した子端末2(子端末2−1)への送信リンク通信コストとして、通信可能端末管理テーブル40の送信リンク通信コストフィールド404に登録することができる。これによって、Hパケット80aを発信した端末2に関して通信可能端末管理テーブル40が完成する。
さらに、上述の各形態において、図10に示すように、アドレス応答パケット80cを中継する子端末2(子端末2−1)は、この中継の際に、自端末(子端末2−1)の通信アドレス(端末ID「T1」)とこの中継するアドレス応答パケット80cの隣接端末部809に収容されている端末ID「T1」と一致する場合には、この中継するアドレス応答パケット80cの配布アドレス部807およびリンク通信コスト部810にそれぞれ収容されている、アドレス要求パケット80bを発信した子端末2(子端末2−3)に割り当てられた通信アドレス(端末ID「T3」)およびリンク通信コストを自端末2(子端末2−1)と直接通信可能な子端末(子端末2−3)に関する情報として自端末(子端末2−1)の通信可能端末管理テーブル40に記憶(C31)してもよい。これによって、子端末(子端末2−1)は、自端末2(子端末2−1)と直接通信可能な子端末2(子端末2−3)との間で別途に通信パケットを交換することなく、アドレス応答パケット80cを中継するだけで、自端末2(子端末2−1)と直接通信可能な子端末2(子端末2−3)の通信アドレス(端末ID「T3」)およびリンク通信コストを自端末(子端末2−1)の通信可能端末管理テーブル40に記憶することができる。
図11は、実施形態の他の変形形態における通信可能端末管理テーブルの構成を示す図である。そして、上述の各形態において、通信ネットワークNTは、さらに1又は複数の親端末1を備えてもよい。この場合において、子端末2がこれら複数の親端末1を識別可能に管理するために、例えば、図11に示すように、通信ネットワークNTを特定し識別するための通信ネットワークNTに固有なネットワークIDを登録するネットIDフィールド406を図3に示す通信可能端末管理テーブル40にさらに備える通信可能端末管理テーブル40aが子端末2に記憶される。ネットIDは、子端末2が送信元端末ID部801に端末IDの異なるHパケット80aを親端末1から受信した場合に子端末2がこの親端末1の端末IDに対応させて割り振ることによって与えられる。図11に示す例では、ネットIDフィールド406、隣接端末IDフィールド401および端末種類フィールド402のそれぞれに「NT1」、「M1」および「親」が登録されているレコードと、ネットIDフィールド406、隣接端末IDフィールド401および端末種類フィールド402のそれぞれに「NT1」、「M1」および「親」が登録されているレコードとを備える通信可能端末管理テーブル40aが示されている。このような通信可能端末管理テーブル40aを記憶部10の通信可能端末情報記憶部101に記憶することによって、子端末2は、ネットID「NT1」の通信ネットワークNTを構成している端末ID「M1」の親端末1と、ネットID「NT2」の通信ネットワークNTを構成している端末ID「M2」の親端末1とを識別可能に管理することができる。このため、子端末2は、直接または他の子端末2に中継されることで通信可能な複数の親端末1が存在しても対応可能となる。
図12は、実施形態のさらに他の変形形態における通信端末の動作を説明するためのシーケンス図である。そして、このような複数の親端末1が存在する場合では、子端末2は、複数の親端末1からHパケット80aを受信可能であり、いずれの親端末1へアドレス要求パケット80bを送信しても良いが、通信の確実性(信頼性)を向上させるために、自端末2(子端末2−1)から親端末1までにおけるリンク通信コスト(または自端末2(子端末2−1)における受信リンク通信コスト)の良いまたはルート通信コストの良い親端末1を複数の親端末1の中から選択して、アドレス要求パケット80bを発信しても良い。例えば、図12に示す例では、親端末1−1は、Hパケット80aを発信し(C41−1)、親端末1−2は、Hパケット80aを発信している(C41−2)。この親端末1−1が発信したHパケット80aは、例えば受信リンク通信コストが「10」で子端末2−1に受信されると共に、この親端末1−2が発信したHパケット80aは、例えば受信リンク通信コストが「7」で子端末2−1に受信される。子端末2−1は、受信リンク通信コストの良い親端末1−2を選択してアドレス要求パケット80bを発信する(C42)。このアドレス要求パケット80bを受信した親端末1−2は、このアドレス要求パケット80bに応じて通信アドレスを割り当ててアドレス応答パケット80cを発信し(C43)、子端末2−1は、このアドレス応答パケット80cを受信して親端末1−2から通信アドレス(端末ID)の割り当てを受ける。これによって子端末2−1は、親端末1−2が管理する通信ネットワークNTに参加することができる。
そして、子端末2は、より確実に通信の確実性(信頼性)を向上させるために、最初にHパケット80aを受信した時刻から予め設定された所定時間経過後に、自端末2(子端末2−1)から親端末1までにおけるリンク通信コスト(または自端末2(子端末2−1)における受信リンク通信コスト)の良いまたはルート通信コストの良い親端末1に向けてアドレス要求パケット80bを発信するように構成されても良い。例えば、図12に示す例では、子端末2−1は、親端末1−1が発信したHパケット80aを受信した時刻t1から予め設定された所定時間S1の経過後に、受信リンク通信コストの良い親端末1−2に向けてアドレス要求パケット80bを発信する(C42)。これによって、子端末2は、より確実に複数の親端末1からHパケット80aを受信可能となり、最もリンク通信コスト(または自端末2における受信リンク通信コスト)の良いまたはルート通信コストの良い親端末1の通信ネットワークNTに参加することができ、より確実に、親端末1との間で信頼性の高い通信を行うことが可能となる。
また、子端末2と通信可能な複数の親端末1が存在する場合に、一旦或る親端末1から通信アドレスの割り当てを受け当該或る親端末1の通信ネットワークNTに参加した後に、自端末2から親端末1までにおけるリンク通信コストのより良いまたはルート通信コストのより良い他の親端末1が見つかる場合がある。このような場合では、前記或る親端末1の通信ネットワークNTから離脱し、この他の親端末1の通信ネットワークNTに参加し直す方が通信の確実性(信頼性)を向上させる上で得策である。このような場合では、或る親端末1から割り当てられた通信アドレスが不要となる。そのため、子端末2は、自端末2に割り当てられている通信アドレスが不要となった場合に、この割り当てられている通信アドレスを、この通信アドレスを割り当てた前記或る親端末1に返却するように構成され、そして、通信アドレスが返却された前記或る親端末1は、アドレス要求パケット80bを発信した他の子端末2に通信アドレスを割り当てる際に、この返却された通信アドレスを除く他の通信アドレスを割り当て可能な場合には、この他の通信アドレスを割り当てるように構成されてもよい。このような通信アドレスの割り当て方法は、例えば、予め通信アドレスとして用意されている複数の通信アドレスを循環するように(サイクリックで)割り当て、返却された通信アドレスを循環の最後尾に位置するように複数の通信アドレスを並べる。また例えば、予め通信アドレスとして用意されている複数の通信アドレスに割り当てる順番を示す優先順位を付与し、割り当てたことのない通信アドレスには、高い優先順位を付与し、返却された通信アドレスには、低い優先順位を付与し、そして、予め設定された所定時間経過後に優先順位を順次に繰り上げる。このように構成されることによって、返却された通信アドレスが極力割り当てられないので、通信アドレスの返却を認識していない子端末2がこの返却された通信アドレスを使用するなどによって、通信ネットワークNTが混乱することを抑制することが可能となる。
そして、この通信ネットワークNTの混乱をより確実に抑制するために、子端末2は、自端末2に割り当てられている通信アドレスが不要となった場合に、この割り当てられている通信アドレスを、この通信アドレスを割り当てた親端末1に返却するように構成され、通信アドレスが返却された親端末1は、通信アドレスを返却した子端末2までの通信ルートを削除すると共に、通信アドレスを返却した子端末2までの通信ルートを削除した旨の情報を発信するように構成されてもよい。これによって、通信アドレスが返却された場合に、親端末1が通信アドレスを返却した子端末2までの通信ルートを削除した旨の情報を発信するので、通信ネットワークNTが混乱することをより確実に抑制することが可能となる。通信アドレスを返却した子端末2までの通信ルートを削除した旨の情報は、例えば、フラッディングによって通信ネットワークNTの各子端末2に通知されてもよい。これによって、親端末1が通信ネットワークNTの各子端末2にユニキャストで個別に通知する場合に較べて、より短時間で通信ネットワークNTの各子端末2に通知することができる。
図13は、実施形態のさらに他の変形形態における通信端末の動作を説明するためのシーケンス図である。そして、上述の各形態において、子端末2は、通信先の端末1、2との間に複数の通信ルートが存在する場合に、最も通信品質の良い通信ルートで通信パケットを発信するように構成されており、そして、子端末2は、アドレス要求パケット80bを発信した子端末2がアドレス応答パケット80cを受信できない場合に、Hパケット80aを発信した端末1、2とアドレス要求パケット80bを発信する子端末2との間の通信路のリンク通信コストを増大するように構成されても良い。
例えば、図13に示すように、親端末1は、Hパケット80aを発信し(C51)、子端末2−1は、ルート通信コスト「5」で親端末1までの通信ルートが構築されており、通信ルート部806を含むHパケット80aを発信する(C52)。子端末2−3が、通信アドレスの未割り当ての端末であって、この親端末1が発信したHパケット80aを例えば「7」の受信リンク通信コストで受信し、この子端末2−1が発信したHパケット80aを例えば「5」の受信リンク通信コストで受信する場合では、子端末2−3が直接親端末1と通信する通信ルート(第1通信ルート)の仮のルート通信コストは、「7」であり、子端末2−3が子端末2−1を介して親端末1と通信する通信ルート(第2通信ルート)の仮のルート通信コストは、「10」(=5+5)となる。このため、子端末2−3は、仮のルート通信コストの低い、すなわち、通信品質がより良い直接親端末1と通信する第1通信ルートを選択し、直接親端末1に向けたアドレス要求パケット80bを発信する(C53)。
ここで、子端末2−3から親端末1への通信状態が悪く、親端末1は、この子端末2−3が発信したアドレス要求パケット80bを受信することができない。このため、子端末2−3は、アドレス要求パケット80bのタイムアウトや、次のアドレス要求パケット80bの送信タイミングなどで再びアドレス要求パケット80bを発信することになる。ところが、上述のように、最もルート通信コストの良い通信ルートで通信パケットを発信するようにだけ構成されていると、子端末2−3が子端末2−1を介して親端末1と通信する通信ルートが選択されることがなく、子端末2−3は、親端末1から通信アドレスの割り当てを受けることができず、親端末1の通信ネットワークNTに参加することができない。そのため、子端末2は、アドレス要求パケット80bを発信した子端末2がアドレス応答パケット80cを受信できない場合に、例えば、アドレス要求パケット80bのタイムアウトや、次のアドレス要求パケット80bの送信タイミングなどの場合に、子端末2−3は、通信可能端末管理テーブル40の送信リンク通信コストフィールド404の送信リンク通信コストに予め設定された所定値、例えば「10」を加算する。なお、送信リンク通信コストフィールド404には、初期値、例えば、「5」が登録されているものとする。子端末2−3は、受信リンク通信コストフィールド403の登録内容「7」と送信リンク通信コストフィールド404の登録内容「15」とを比較し、悪い方「15」で、リンク通信コストフィールド405を書き換えて登録する。これによって、第1通信ルートのルート通信コストが「15」となるので、図13に示すように、C54で親端末1が発信したHパケット80aを受信し、C55で子端末2−1が発信したHパケット80aを受信し、次のアドレス要求パケット80bの送信タイミングでは、子端末2−3は、最もルート通信コストの良い通信ルート、すなわち、子端末2−1を介して親端末1と通信する第2通信ルートを選択し、この第2通信ルートで親端末1に向けてアドレス要求パケット80bを発信する(C56)。
なお、この例では、送信リンク通信コストフィールド404の登録内容に所定値を加算して新たな登録内容としたが、通信ルート変更用のパラメータをさらに記憶部10に記憶し、アドレス応答パケット80cが受信されないたびに、このパラメータに予め設定された所定値を加算して新たなパラメータとして、この新たなパラメータが送信リンク通信コストフィールド404に登録されるように構成されてもよい。
このアドレス要求パケット80bは、親端末1までの通信ルートが構築されている子端末2−1へ送信され、子端末2−1によって親端末1へ中継され(C57)、親端末1で受信される。アドレス要求パケット80bを受信した親端末1は、通信アドレスを割り当てて子端末2−3に向けてアドレス応答パケット80cを発信する(C58)。このアドレス応答パケット80cは、子端末2−1で中継され(C59)、子端末2−3で受信される。これによって子端末2−3は、通信アドレスの割り当てを受けることができ、親端末1の通信ネットワークNTに参加することができる。
このように、アドレス要求パケット80bを発信する子端末2において、アドレス応答パケット80cが受信されないたびに、自端末2とHパケット80aを発信した端末1、2との間のリンク通信コストが増大する。このため、当初、選択されなかった通信ルートも選択されるようになり、アドレス要求パケット80bを親端末1に向けて発信する通信ルートが変更される。したがって、複数の通信ルートによってアドレス要求パケット80bを親端末1に向けて送信可能となる。その結果、他の子端末2に中継されることによってアドレス要求パケット80bを親端末1に向けて発信する子端末2の場合において、2個の端末1、2間における双方向の通信品質の違いによってアドレス要求パケット80bが中継されない場合を低減することができる。
図14は、実施形態のさらに他の変形形態における通信端末の動作を説明するためのシーケンス図である。そして、上述の各形態において、アドレス要求パケット80bを発信した子端末2は、アドレス要求パケット80bを発信した時刻から予め設定された所定期間内に、Hパケット80aを発信した子端末2が中継するアドレス要求パケット80bを傍受できない場合に、アドレス応答パケット80cを受信できない場合であると判断するように構成されてもよい。例えば、図14に示すように、C14で子端末2−1が発信したHパケット80aを受信した子端末2−3は、通信アドレスが未割り当てであるために、このHパケット80aに応じて時刻t2でアドレス要求パケット80bを発信する(C15)。そして、子端末2−3は、このアドレス要求パケット80bを発信した時刻t2から予め設定された所定期間S2の間、Hパケット80aを発信した子端末2−1が中継するアドレス要求パケット80bを傍受することができるか否かを判断する。この判断は、子端末2−3が受信した通信パケットがアドレス要求パケット80bであるか否か、アドレス要求パケット80bである場合には、装置ID部808および隣接端末部809を参照することによって判断することができる。この判断の結果、子端末2−3は、Hパケット80aを発信した子端末2が中継するアドレス要求パケット80bを傍受できない場合には、子端末2−1がアドレス要求パケット80bの中継に失敗し(C61)、アドレス応答パケット80cを受信できない場合であると判断する。アドレス要求パケット80bのタイムアウトは、通常、例えば仕様等によって設定される最大のホップ数に基づいて設定する必要があるが、このように、子端末2−3は、隣接端末2である子端末2−1のアドレス要求パケット80bの中継によって、アドレス応答パケット80cを受信できない場合を判断しているので、アドレス要求パケット80bのタイムアウトを短く設定することが可能となる。特に、最大ホップ数が大きいほど、効果的である。
なお、上述の実施形態において、通信ネットワークNTの親端末1が故障などして親端末1として機能しない場合に、親端末1の交換が必要となる。このような場合に、上述した通信ルートの構築処理によって、新たな親端末1が通信ネットワークNTの各子端末2へ新たな通信アドレス(端末ID)が配布されてもよいが、通信ネットワークNTの各子端末2がアドレス要求パケット80bを発信する場合に、各子端末2がその配布アドレス部807に従前の親端末1によって与えられている通信アドレス(端末ID)を収容して新たな親端末1へ向けて発信することによって、従前の親端末1によって与えられている通信アドレス(端末ID)が使用されるように構成されてもよい。
本発明を表現するために、上述において図面を参照しながら実施形態を通して本発明を適切且つ十分に説明したが、当業者であれば上述の実施形態を変更及び/又は改良することは容易に為し得ることであると認識すべきである。従って、当業者が実施する変更形態又は改良形態が、請求の範囲に記載された請求項の権利範囲を離脱するレベルのものでない限り、当該変更形態又は当該改良形態は、当該請求項の権利範囲に包括されると解釈される。