以下、本発明に係る実施形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。
(第1の実施形態の構成)
本実施形態では、本発明の通信ルート構築方法がPLCの通信ネットワークに適用される場合について説明するが、本発明の通信ルート構築方法を例えば無線LAN等の他の通信ネットワークにも適用することができる。
図1は、実施形態に係るPLCの通信ネットワークの構成を示す図である。図1において、PLCの通信ネットワークNTは、例えば、集合住宅やオフィスビルや戸建住宅等の建物等に構築され、機器へ電力を供給することを主目的とする電力線L(L1、L2)に直接又はコンセントを介して接続される複数の通信端末1、2(2−1〜2−10)を備えて構成される。複数の通信端末(以下、「端末」と略記する。)1、2は、親局である1個の端末(以下、「親端末」と略記する。)1と、子局である他の複数の端末(以下、「子端末」と略記する)2とを備えて構成される。図1に示す例では、子端末2は、通信信号が直接又は他の子端末2に中継されることによって親端末1との間で通信可能に通信ルートが構築されて通信ネットワークNTに参加済みの9個の子端末2−1〜2−9、及び、親端末1と通信可能に接続すべく通信ネットワークNTに新たに参加する1個の子端末2−10の10個である。図1では、子端末2−1〜2−9は、実線で示され、子端末2−10は、破線で示されている。なお、本明細書において、総称する場合には添え字を省略した参照符号で示し、個別の構成を指す場合には添え字を付した参照符号で示す。
電力線Lは、図略の分電盤から建物内に布設された幹線L1と、幹線L1から分岐した1又は複数の分岐線L2とを備えて構成される。図1に示す例では、分岐線L2は、6本の分岐線L2−1〜L2−6である。親端末1は、幹線L1に接続され、子端末2は、分岐線L2に接続される。これらの端末1、2は、幹線L1及び分岐線L2を介して、端末1、2間で所定の通信プロトコルを用いてPLCで通信する。これによって、例えば、親端末1は、子端末2に関する所定の情報を子端末2から取得し、親端末1による子端末2の遠隔監視や遠隔制御等が行われる。通信プロトコルは、例えば、エコーネットで規定されているプロトコルや、マイクロソフト社が開発したSCP(Simple Control Protocol)等である。
図2は、図1に示すPLCの通信ネットワークにおける端末間で構築された通信ルートを示す図である。図2において、端末1、2間の各矢印線は、各端末1、2間における通信ルートを示し、矢印線に付されている数値は、当該矢印線で示される通信ルートの通信コストを示す。通信コストについては、後述する。親端末1と子端末2との間における通信ルートは、子端末2が親端末1に直接又は他の子端末2に中継されて通信可能なように構築されている。即ち、通信ネットワークNTにおいて、親端末1は、通信コスト「5」で子端末2−1と通信可能に接続され、通信コスト「10」で子端末2−2と通信可能に接続され、通信コスト「13」で子端末2−7と通信可能に接続され、通信コスト「28」で子端末2−4と通信可能に接続されている。子端末2−1は、通信コスト「5」で子端末2−3と通信可能に接続され、通信コスト「4」で子端末2−6と通信可能に接続されている。子端末2−2は、通信コスト「10」で子端末2−4と通信可能に接続され、通信コスト「10」で子端末2−5と通信可能に接続され、通信コスト「4」で子端末2−7と通信可能に接続されている。子端末2−3は、通信コスト「5」で子端末2−4と通信可能に接続され、通信コスト「4」で子端末2−8と通信可能に接続されている。子端末2−4は、通信コスト「4」で子端末2−9と通信可能に接続され、通信コスト「10」で子端末2−5と通信可能に接続され、通信コスト「13」で子端末2−7と通信可能に接続されている。従って、例えば、親端末1と子端末2−4との間における通信ルートは、通信コスト「15」の子端末2−1及び子端末2−3を介する通信ルートと、通信コスト「20」の子端末2−2を介する通信ルートと、通信コスト「26」の子端末2−7を介する通信ルートと、通信コスト「28」の子端末2を介しない直接の通信ルートと、通信コスト「30」の子端末2−2及び子端末2−5を介する通信ルートとの5個のルートがある。そして、破線で示す子端末2−10が親端末1と通信可能に接続すべく通信ネットワークNTに新たに参加しようとしている。
図3は、実施形態に係る通信端末の構成を示すブロック図である。図4は、通信ルートテーブルの構成を示す図である。図3において、本実施形態では、親端末1と、子端末2とは、同一の装置が用いられ、例えば、端末1、2は、ジャンパースイッチや切替えスイッチ等の図略の設定部で「親」(「親局」)に設定されることで親端末1として機能し、また「子」(「子局」)に設定されることで子端末2として機能する。
端末1、2は、記憶部10と、制御部20と、電力線搬送通信インタフェース部(以下、「PLCインタフェース部」と略す)30とを備えて構成される。
記憶部10は、通信ルートに関する情報を記憶するテーブル記憶部101を機能的に備え、本端末1、2を動作させるための制御プログラム等の各プログラムや、各プログラムの実行に必要な情報等を記憶すると共に、制御部20に対する所謂ワーキングメモリでもある。記憶部10は、各プログラムやこれに必要な情報等を記憶する、例えばROM(Read Only Memory)等の不揮発性の記憶素子、EEPROM(Electrically Erasable Programmable Read Only Memory)等の書換え可能な不揮発性の記憶素子、及び、ワーキングメモリとなる例えばRAM(Random Access Memory)等の揮発性の記憶素子を備えて構成される。
テーブル記憶部101は、通信ルートに関する情報を例えばテーブル形式で記憶するための領域である。本端末1、2が親端末1の場合には、テーブル記憶部101は、本通信ネットワークNTにおいて構築された各子端末2に対する全通信ルートを登録するための通信ルートテーブルを記憶する。一方、本端末1、2が子端末2の場合には、テーブル記憶部101は、自機2から親端末1までの全通信ルートを登録するための通信ルートテーブルを記憶する。これら親端末1及び子端末2に記憶される通信ルートテーブル40は、本実施形態では同一構造であり、例えば、図4に示すように、通信ルートを登録する通信ルートフィールド401、通信ルートフィールド401に登録された通信ルートの通信コストを登録する通信コストフィールド402、通信ルートフィールド401に登録された通信ルートのホップ数を登録するホップ数フィールド403の各フィールドを備え、通信ルートごとにレコードが作成される。
通信ルートフィールド401には、通信ルートとして、例えば、親端末1を表す符号(例えば「M」)が登録され、そして、親端末1と通信するに当たって通信信号が他の子端末2に中継される場合には通信信号を中継する子端末2に関する情報が自機2から親端末1に至るまで中継順に登録される。この子端末2に関する情報は、例えば、子端末2を特定し識別するための子端末2に固有の識別子である端末IDである。端末IDは、1又は複数の符号列であり、例えば、データリンク層のノードアドレス等が利用される。本実施形態では、各子端末2−1〜2−10には、シリアル番号として1から10までの各整数が当該子端末2−1〜2−10の端末IDとしてそれぞれ割り当てられている。
通信コストは、自機2と親端末1との間における通信ルートの通信品質の評価であり、例えば、本実施形態では式1によって与えられる数値によって通信品質の良さの程度が表される。通信コストが式1によって与えられる場合では、通信コスト値が小さい程、通信品質が良い。
(通信コスト値)=
Ka×(自機2と親端末1との間の通信ルートにおける各端末1、2間のSQの和)
+Kb×(ホップ数) ・・・(式1)
ここで、SQは、端末1、2間の受信信号強度であり、その強度が例えば10段階等の整数値で表される。SQは、値が小さい程、通信信号の減衰が小さく、通信状態が良い。SQは、2個の端末A、B間において、一方の端末Aが他方の端末Bから通信信号を受信する場合の受信信号強度(B→A)と、他方の端末Bが一方の端末Aから通信信号を受信する場合の受信信号強度(A→B)との2通りがあるが、端末A、B間で通信を行った場合にそのSQの程度で通信の確実性を保証する観点から、例えば、これら受信信号強度(B→A)及び受信信号強度(A→B)のうちの通信状態の悪い方(通信信号の減衰が大きい方)が2個の端末A、B間におけるSQとして採用される。Ka、Kbは、(自機2と親端末1との間の通信ルートにおける各端末1、2間のSQの和)及び(ホップ数)の何れを重視するかを決めるための重み係数である。ホップ数は、自機2と親端末1との間における通信ルートにおける端末1、2間の個数である。例えば、子端末2−4が子端末2−3及び子端末2−1を介して親端末1と通信を行う通信ルートの場合、子端末2−4と子端末2−3との間、子端末2−3と子端末2−1との間、及び、子端末2−1と親端末1の間の3個であり、ホップ数は、「3」となる。
通信コストは、例えば、自機2と親端末1とが2個の子端末A、Bを経由して通信する場合であって、親端末1と子端末Aとの間のSQが「3」で、子端末Aと子端末Bとの間のSQが「4」で、子端末Bと自機2との間のSQが「5」である場合では、(自機2と親端末1との間の通信ルートにおける各端末1、2間のSQの和が「3」+「4」+「5」で12となり、ホップ数は3であるので、通信コスト値は、12×Ka+3×Kbとなる。
図2に示す例では、Ka=Kb=1とされている。例えば、子端末2−1及び子端末2−3を介した親端末1と子端末2−4との間の通信ルートにおける通信コストは、親端末1と子端末2−1との間のSQ、子端末2−1と子端末2−3との間のSQ、及び、子端末2−3と子端末2−4との間のSQがこの例ではそれぞれ「4」であって、式1より、(通信コスト値)=1×(4+4+4)+1×3=15となる。
通信ルートテーブル記憶部101の通信ルートテーブルは、通信ルートが公知の通信ルート構築方法で構築されることによって、あるいは、子端末2のユーザが構築することによって、生成され、そして、通信ルートテーブル記憶部101に記憶される。
例えば、子端末2−4における記憶部10の通信ルートテーブル記憶部101には、図4に示す通信ルートテーブル40が記憶されている。この子端末2−4の通信ルートテーブル40は、上述したように子端末2−4と親端末1との間に5個の通信ルートが構築されているので、通信ルートフィールド401、通信コストフィールド402及びホップ数フィールド403に「3、1、M」、「15」及び「3」がそれぞれ登録された第1のレコードと、通信ルートフィールド401、通信コストフィールド402及びホップ数フィールド403に「2、M」、「20」及び「2」がそれぞれ登録された第2のレコードと、通信ルートフィールド401、通信コストフィールド402及びホップ数フィールド403に「M」、「28」及び「1」がそれぞれ登録された第3のレコードと、通信ルートフィールド401、通信コストフィールド402及びホップ数フィールド403に「5、2、M」、「30」及び「3」がそれぞれ登録された第4のレコードと、通信コストフィールド402及びホップ数フィールド403に「7、M」、「26」及び「2」がそれぞれ登録された第5のレコードとを備えて構成されている。
なお、上記通信コストは、SQとホップ数とに関連づけた式1によって算出されたが、SQに代えて、SN比、ビットエラーレート及びパケットエラーレート等の1又は複数とホップ数とに関連づけた式を用いて算出されてもよい。
図3に戻って、PLCインタフェース部30は、電力線Lを用いて他の端末1、2との間で通信を行うための通信インタフェース回路である。PLCは、例えば、商用周波数の電力波形に高周波の通信信号を重畳して送信したり、この電力波形からこの高周波の通信信号を分離して受信したりすることによって、電力線Lを介して通信信号を送受信する通信方式である。
制御部20は、例えば、マイクロプロセッサ及びその周辺回路等で構成され、直接又は他の子端末2を介して自機2と親端末1との間の通信ルートを構築するための処理である通信ルート構築処理を実行するために、機能的に、テーブル処理部201、通信処理部202及び第1タイマ部203を備えて構成される。
テーブル処理部201は、テーブル記憶部101に記憶されている通信ルートテーブル40を後述のように管理する。通信処理部202は、PLCインタフェース部30を用いて他端末1、2と通信信号を送受信し、後述の動作を行うことによって、自機2と親端末1との間の通信ルートを構築するための通信ルート構築処理を行う。第1タイマ部203は、所定の時間の経過を計る計時手段であり、所定の時間間隔で通信処理部202に通知パケットの送信タイミングの到来を通知する。
次に、本実施形態の動作について説明する。
(第1の実施形態の動作)
図5は、第1の実施形態に係る通信ルート構築処理における通知パケット送信処理を示すフローチャートである。図6は、実施形態に係るパケット及び通知パケットの構成を示す図である。図6(A)は、パケットの構成を示し、図6(B)は、通知パケットの構成を示す。図7は、第1の実施形態に係る通信ルート構築処理における通信ルート決定構築処理を示すフローチャートである。
本実施形態に係る通信ルート構築処理は、既に構築されている親端末1までの通信ルートのうちの予め設定された最大ホップ数よりも小さい通信ルートに関する情報を含む通知パケットを通信ネットワークNTに同報通信する通信ルート通知工程を含むことに特徴がある。
本処理は、通信ルートが公知の通信ルート構築方法で構築されることによって、あるいは、子端末2のユーザ等が構築することによって、生成され、そして、通信ルートテーブル記憶部101に記憶されると開始される。
図5において、まず、子端末2の制御部20における通信処理部202は、通知パケットを作成する(S11)。
通知パケットは、通信ルート通知通信信号の一例である。図6(A)に示すように、パケット50は、例えば、オペレーションコード部501と、送信元の端末ID部502と、送信先の端末ID部503と、シーケンス番号部504と、親子識別フラグ部505と、メッセージ数部506と、メッセージ部507(507−1〜507−n)とを備えて構成される。
オペレーションコード部501は、当該パケットの種類を特定し識別するコードが収容される領域である。通知パケット50A(図6(B))の場合では、そのコードとして例えば「NP」がオペレーションコード部501に収容される。
送信元の端末ID部502は、当該パケットを送信した端末1、2の通信アドレスが収容される領域である。本実施形態では、例えば、親端末1の通信アドレスとして「M」が用いられ、子端末2の通信アドレスとして上述の端末IDが用いられる。子端末2−4が送信元である場合には、送信元の端末ID部502Aにその端末ID「4」が収容される。
送信先の端末ID部503は、当該パケットを受信すべき送信先の端末1、2の通信アドレスが収容される領域である。通知パケット50Aの場合では、同報通信のコードが送信先の端末ID部503に収容される。同報通信には、例えば、ブロードキャストやマルチキャストがある。本実施形態では、通知パケット50Aは、例えばブロードキャストで送信され、ブロードキャストを表すコードとして例えば「BC」が用いられ、送信先の端末ID部503に収容される。
シーケンス番号部504は、シーケンス番号を収容する領域である。シーケンス番号は、ランダム(無作為)に設定される所定の桁数の番号であり、本パケットと関連のあるパケットには同一の番号が用いられる。
親子識別フラグ部505は、当該パケットが親端末1によって送信されたパケットであるか子端末2によって送信されたパケットであるかを識別する親子識別フラグを収容する領域である。本実施形態では、例えば、当該パケットが親端末1によって送信されたパケットであることを表す親子識別フラグとして「M」が用いられ、当該パケットが子端末2によって送信されたパケットであることを表す親子識別フラグとして「C」が用いられる。
メッセージ数部506は、当該パケットに収容されるメッセージの個数が収容される領域である。
メッセージ部507は、当該パケットにより送信すべきデータ(メッセージ)を収容する領域である。通知パケット50Aの場合では、送信元の端末ID部502に収容された通信アドレスによって特定される子端末2から親端末1までの通信ルートに関する情報がメッセージ部507に収容される。例えば、通知パケット50Aのメッセージ部507は、通信コスト部5071と、ホップ数部5072と、至親通信ルート部5073とを備えて構成される。これら通信コスト部5071、ホップ数部5072及び至親通信ルート部5073は、1個のメッセージを構成し、これらには、送信元の端末ID部502に収容された通信アドレスによって特定される子端末2から親端末1までの通信ルートにおける通信コスト、ホップ数及び親までの通信ルートがそれぞれ収容される。
本実施形態に係る通知パケット50は、既に構築されている親端末1までの通信ルートのうちの予め設定された最大ホップ数よりも小さい通信ルートに関する情報を含む。特に、本実施形態では、通知パケット50は、既に構築されている親端末1までの通信ルートのうちの通信ルートに関する情報を互いに異なるホップ数ごとに含んでいる。さらに特に、本実施形態では、既に構築されている親端末1までの通信ルートのうちの最良の通信品質(本実施形態では最小の通信コスト)の通信ルートに関する情報を互いに異なるホップ数ごとに含んでいる。
予め設定された最大ホップ数として本実施形態では、例えば「3」が設定されている。
このため、例えば、子端末2−4は、ホップ数「3」、ホップ数「2」及びホップ数「1」のそれぞれに対応する通信ルートに関する情報を収容するために、図6(B)に示すように、3個の第1乃至第3メッセージ部507A−1〜507A−3から構成されるメッセージ部507Aを含む通知パケット50Aをその記憶部10の通信ルートテーブル記憶部101に記憶されている通信ルートテーブル40の登録内容に基づいて作成する。通信ルートテーブル40には、上述の5個の通信ルートに関する情報が登録されており、ホップ数「3」の通信ルートは、通信コスト「15」の通信ルート「3、1、M」と、通信コスト「30」の通信ルート「5、2、M」とであり、ホップ数「2」の通信ルートは、通信コスト「20」の通信ルート「2、M」と、通信コスト「26」の通信ルート「7、M」であり、そして、ホップ数「1」の通信ルートは、通信コスト「28」の通信ルート「M」である。このため、各ホップ数における最小の通信コストの通信ルートは、ホップ数「3」の場合では通信ルート「3、1、M」であり、ホップ数「2」の場合では通信ルート「2、M」であり、そして、ホップ数「1」の場合では通信ルート「M」である。従って、この通知パケット50Aの第1メッセージ部507A−1には、ホップ数「3」でこのホップ数「3」のうちで最小の通信コストである通信ルートに関する情報が収容され、その通信コスト部5071A−1、ホップ数部5072A−1及び至親通信ルート部5073A−1には、「15」、「3」及び「3、1、M」がそれぞれ収容される。第2メッセージ部507A−2には、ホップ数「2」でこのホップ数「2」のうちで最小の通信コストである通信ルートに関する情報が収容され、その通信コスト部5071A−2、ホップ数部5072A−2及び至親通信ルート部5073A−2には、「20」、「2」及び「2、M」がそれぞれ収容される。そして、第3メッセージ部507A−3には、ホップ数「1」でこのホップ数「1」のうちで最小の通信コストである通信ルートに関する情報が収容され、その通信コスト部5071A−3、ホップ数部5072A−3及び至親通信ルート部5073A−3には、「28」、「1」及び「M」がそれぞれ収容されている。そして、この通知パケット50Aのメッセージ数部506Aには、これら第1乃至第3メッセージ部507A−1〜507A−3の個数である「3」が収容されている。
なお、図6(B)に示す例では、通知パケット50Aを受信した子端末2がより通信品質のよい通信ルートで親端末1までの通信ルートを構築することができるようにする観点から、ホップ数「3」の通信ルートとして通信コストがよい通信ルート「3、1、M」を採用して第1メッセージ部507A−1にその通信ルートに関する情報を収容したが、ホップ数「3」の通信ルートとして通信ルート「5、2、M」を採用して第1メッセージ部507A−1にその通信ルートに関する情報を収容してもよい。
図5に戻って、次に、通信処理部202は、PLCインタフェース部30を用いてこの作成した通知パケット50AをブロードキャストでPLCの通信ネットワークNTに送信する(S12)。
次に、通信処理部202は、第1タイマ部203に計時を開始させる(S13)。第1タイマ部203は、この通信処理部202からの指令により計時を開始し、予め設定された所定時間が経過すると、その旨を通信処理部202に通知する。
次に、通信処理部202は、第1タイマ部203が予め設定された所定時間の計時を終了したか否かを判断する(S14)。この判断の結果、通信処理部202は、第1タイマ部203がこの所定時間の計時を終了していない場合(No)には処理を処理S14に戻し、一方、第1タイマ部203がこの所定時間の計時を終了している場合(Yes)には処理を処理S11に戻す。
このように動作するので、親端末1までの通信ルートが既に構築され、PLCの通信ネットワークNTに参加済みの子端末2は、略所定時間間隔で通知パケット50Aを送信する。この通知パケット50Aは、予め設定された最大ホップ数(例えば本実施形態では「3」)よりも小さい親端末1までの通信ルートに関する情報を含むので、この通知パケット50Aを受信した子端末2は、この情報に基づいて親端末1までの通信ルートを構築することができる。
特に、本実施形態では、通知パケット50Aは、各ホップ数の通信ルートに関する情報を含むので、この通知パケット50Aを受信した子端末2は、親端末1までの通信ルートを選択するに当たって、複数の通信ルートのうちから選択することができる。よって、通信ルートの選択の際における選択枝が広い。この通信ルートを選択するに当たって、子端末2は、例えば、各通信ルートのホップ数を比較することによってホップ数が最も少ない通信ルートを選択することができ、また例えば、各通信ルートの通信コストを比較することによって通信品質が最もよい通信ルートを選択することができる。
さらに特に、本実施形態では、通知パケット50Aは、各ホップ数の最小通信コストの通信ルートに関する情報を含むので、この通知パケットを受信した子端末2は、同一のホップ数における通信ルートにおいて、通信品質が最もよい通信ルートを自動的に選択することができる。
次に、親端末1と通信可能に接続すべく通信ネットワークNTに新たに参加しようとしている子端末2(通信ネットワークNTに参加していたが例えば通信環境の劣化や中継していた他の子端末2の通信ネットワークNTからの離脱等によって親端末1と通信不能になり、再接続しようとしている子端末2を含む。図1及び図2に示す例では破線で示す子端末2−10)がこの通知パケット50Aを受信することによって、自機2から親端末1までの通信ルートを構築する動作について説明する。
図7において、親端末1と通信可能に接続すべく通信ネットワークNTに新たに参加しようとしている子端末2の制御部20における通信処理部202は、PLCの通信ネットワークNTからPLCインタフェース部30を介してパケット50を受信すると(S21)、通信処理部202は、この受信したパケット50が通知パケット50Aであるか否かを判断する(S22)。この判断は、パケット50のオペレーションコード部501に収容されているコードを参照することによって判断することができる。当該コードが通知パケット50Aを表すコード、本実施形態では「NP」である場合には、この受信したパケット50は、通知パケット50Aである。
この処理S22における判断の結果、この受信したパケット50が通知パケット50Aではない場合(No)には、通信処理部202は、パケット50のオペレーションコード部501に収容されているコードに対応するパケット50の種類に応じた処理を実行し(S23)、処理を処理S21に戻す。
一方、この処理S22における判断の結果、この受信したパケット50が通知パケット50Aである場合(Yes)には、通信処理部202は、この受信したパケット50(通知パケット50A)を記憶部10に記憶し、この記憶したパケット50(通知パケット50A)のメッセージ数部506からこの受信した通知パケット50Aのメッセージ数を取得する(S24)。
次に、通信処理部202は、この記憶した通知パケット50A(処理S21で受信したパケット50)の第1番目の第1メッセージ部507A−1における至親通信ルート部5073A−1に収容されている通信ルートが最大ホップ数の通信ルートであるか否かを判断する(S25)。この判断は、例えば、第1メッセージ部507A−1におけるホップ数部5072A−1に収容されているデータを予め設定されている最大ホップ数と比較することによって判断することができる。両者が一致する場合には当該通信ルートは、最大ホップ数の通信ルートである。
この処理S25における判断の結果、第1メッセージ部507A−1に収容されている通信ルートが最大ホップ数である場合、即ち、第1メッセージ部507A−1に収容されているホップ数が最大ホップ数である場合(Yes)には、通信処理部202は、この記憶した通知パケット50Aにおけるすべてのメッセージ部507Aについて処理S25を処理したか否かを判断する(S27)。この判断は、処理S24で取得したメッセージ数と処理S25で処理したメッセージ部507Aの個数とを比較することによって判断することができる。両者が一致した場合には、当該通知パケット50Aにおけるすべてのメッセージ部507Aについて処理S25の終了である。
一方、処理S25における判断の結果、第1メッセージ部507A−1に収容されている通信ルートが最大ホップ数ではない場合、即ち、第1メッセージ部507A−1に収容されているホップ数が最大ホップ数未満である場合(No)には、通信処理部202は、この記憶した通知パケット50Aの第1メッセージ部507A−1に収容されている通信ルートを、自機2から親端末1までの通信ルートを構築する通信ルートとして決定し、この決定した通信ルートを用いて自機2から親端末1までの通信ルートを構築し(S26)、処理を処理S21に戻す。
このように処理S24乃至処理S26が実行されることにより、当該通知パケット50Aのメッセージ部507Aにおいて、最大ホップ数ではない通信ルートを収容したメッセージ部507Aが見つかるまで、第1メッセージ部507A−1から順次に処理S25が実行される。そして、最大ホップ数ではない通信ルートを収容したメッセージ部507Aが見つかると、このメッセージ部507Aに対して処理S26が実行される。
ここで、この処理S26における、処理S21で受信した通知パケット50Aのメッセージ部507Aに収容されている通信ルートに基づいて、自機2から親端末1までの通信ルートを構築する通信ルート構築方法は、例えば、次のように当該子端末2が動作することによって実行される。
即ち、通信処理部202は、まず、通知パケット50Aの送信元の子端末2宛に応答パケットを送信する。この応答パケットは、通知パケット50Aの送信元の子端末2に、この通知パケット50Aの送信元の子端末2から自機2へのSQを通知すると共に、自機2からこの通知パケット50Aの送信元の子端末へのSQの通知を要求するパケットである。
次に、この応答パケットを受信した子端末2の制御部20における通信処理部202は、応答パケットの送信元の子端末2宛にSQ通知パケットを送信する。このSQ通知パケットは、応答パケットの送信元の子端末2(通知パケット50Aを受信した子端末2)に、この応答パケットの送信元の子端末2から自機2へのSQを通知するパケットである。
次に、このSQ通知パケットを受信すると、通信処理部202は、処理S21で受信した通知パケット50Aの送信元の子端末2から自機2へのSQと、自機2からこの送信元の子端末2へのSQとを比較することによって、自機2とこの送信元の子端末2との間における通信ルートのSQを決定し、自機2から、処理S21で受信した通知パケット50Aの送信元の子端末2を経て、処理S26で決定した通信ルートを介した親端末1までの通信ルートにおける通信コストを算出し、自機2から、処理S21で受信した通知パケット50の送信元の子端末2を経て、処理S26で決定した通信ルートを介した親端末1までの通信ルートにおけるホップ数を算出する。これによって、自機2から、処理S21で受信した通知パケット50Aの送信元の子端末2を経て、処理S26で決定した通信ルートを介した親端末1までの通信ルートが構築される。通信処理部202は、この構築した通信ルートを通信ルートテーブル40に登録して、記憶部10の通信ルートテーブル記憶部101に記憶する。
例えば、子端末2−10が子端末2−4からの通知パケット50Aを受信し、この受信した通知パケット50Aに収容されている通信ルート「2、M」によって自機2から親端末1までの通信ルートを構築する場合、子端末2−10は、子端末2−4へ応答パケットを送信し、子端末2−4からSQ通知パケットを受信する。これによって子端末2−10と子端末2−4との間におけるSQが決定され、ホップ数が「3」と算出され、子端末2−10から親端末1までの通信ルートとして通信ルート「4、2、M」が構築される。
このように処理S26において、処理S21で受信した通知パケット50Aのメッセージ部507Aに収容されている通信ルートに基づいて、自機2から親端末1までの通信ルートが構築される。
従って、このように動作することによって、親端末1と通信可能に接続すべく通信ネットワークNTに新たに参加しようとしている子端末2は、この通知パケット50Aを受信することによって、自機2から親端末1までの通信ルートを構築することができる。
次に、別の実施形態について説明する。
(第2の実施形態)
第1の実施形態では、親端末1までの通信ルートが既に構築されPLCの通信ネットワークNTに参加済みの子端末2は、自動的に、通信ルート通知通信信号の一例としての通知パケット50Aを通信ネットワークNTに同報通信する実施形態であるが、第2の実施形態では、通信ネットワークNTに新たに参加する子端末2は、親端末1までの通信ルートが構築することができない場合に、その旨の情報を収容した別通信ルート要求通信信号を通信ネットワークNTに同報通信し、親端末1までの通信ルートが既に構築されPLCの通信ネットワークNTに参加済みの子端末2は、この別通信ルート要求通信信号を受信した場合に、通信ルート通知通信信号の一例としての通知パケット50Aを通信ネットワークNTに同報通信する実施形態である。
このため、第2の実施形態に係る端末1、2は、図3に破線で示す第2タイマ部204を機能的に制御部20にさらに備え、制御部20の通信処理部202が後述するように動作する点を除き、その構成は、第1の実施形態に係る端末1、2と同様であるので、その説明を省略する。第2タイマ部204は、所定の時間の経過を計る計時手段であり、通信ルートが構築されるまで所定の時間間隔で通信処理部202に別通信ルート要求パケットの送信タイミングの到来を通知する。
図8は、第2の実施形態に係る通信ルート構築処理における通知パケット送信処理を示すフローチャートである。図8(A)は、通知パケットを送信する処理を示すフローチャートであり、図8(B)は、別通信ルート要求パケットを受信した場合の処理を示すフローチャートである。図9は、第2の実施形態に係る通信ルート構築処理における通信ルート決定構築処理を示すフローチャートである。
図8(A)において、親端末1までの通信ルートが既に構築されPLCの通信ネットワークNTに参加済みの子端末2における制御部20の通信処理部202は、別通信ルート要求通信信号の一例としての別通信ルート要求パケットを受信しているか否かを判断する(S31)。この判断は、例えば、記憶部10の所定の記憶領域に記憶されている、別通信ルート要求パケットの受信の有無を表す受信フラグを参照することによって判断することができる。受信フラグがオン(例えば「1」)されている場合には、別通信ルート要求パケットを受信していると判断され、受信フラグがオフ(例えば「0」)されている場合には、別通信ルート要求パケットを受信していないと判断される。受信フラグは、例えば、図8(B)に示すように、別通信ルート要求パケットを受信すると(S41)、記憶部10の所定の記憶領域に記憶されている受信フラグが通信処理部202によってオンされる(S42)。
別通信ルート要求パケットは、親端末1までの通信ルートが構築することができない旨の情報を収容した通信信号であり、既に構築されている親端末1までの通信ルートのうちの予め設定された最大ホップ数よりも小さい通信ルートに関する情報を含む通知パケットを通信ネットワークNTに同報通信することを、親端末1までの通信ルートが既に構築されPLCの通信ネットワークNTに参加済みの子端末2に要求する通信信号でもある。
この別通信ルート要求パケットは、例えば、別通信ルート要求パケットであることを表すコードがオペレーションコード部501に収容され、自機2の通信アドレスが送信元の端末ID部502に収容され、同報通信のコード(例えばブロードキャストであることを表す「BC」)が送信先の端末ID部503に収容され、新たに生成したシーケンス番号がシーケンス番号部504に収容され、子端末2であることを表すコード「C」が親子識別フラグ部505に収容され、「0」がメッセージ数部506に収容される。なお、親端末1までの通信ルートが構築することができない旨の情報(即ち、通知パケット50Aを通信ネットワークNTに同報通信することを要求する旨の情報)は、オペレーションコードが別通信ルート要求パケットであることで表される。また、メッセージ数部506に「0」を収容した通知パケット50Aを別通信ルート要求パケットとして用いてもよい。
図8(A)に戻って、処理S31における判断の結果、別通信ルート要求パケットを受信していない場合(No)には、通信処理部202は、第1通知パケットを作成する(S32)。この第1通知パケットは、自機2から親端末1までの通信ルートに関する情報を含む通信信号であり、メッセージ部507に1個の通信ルートに関する情報を収容する点を除き、第1の実施形態の通知パケット50Aと同様に構成されている。即ち、第1通知パケットは、例えば、オペレーションコード部501と、送信元の端末ID部502と、送信先の端末ID部503と、シーケンス番号部504と、親子識別フラグ部505と、メッセージ数部506と、1個のメッセージを収容するメッセージ部507とを備えて構成される。第1通知パケットに収容される通信ルートは、複数の通信ルートがある場合には、通信ルートのホップ数にかかわらず所定の通信ルート、例えば、通信品質が最良の通信ルートが選択される。例えば、子端末2−4は、その記憶部10の通信ルートテーブル記憶部101に記憶されている通信ルートテーブル40の登録内容に基づいて、通信コスト部5071、ホップ数部5072及び至親通信ルート部5073に「15」、「3」及び「3、1、M」をそれぞれ収容する第1通知パケットを作成する。
次に、通信処理部202は、PLCインタフェース部30を用いてこの作成した第1通知パケットをブロードキャストでPLCの通信ネットワークNTに送信し(S33)、処理S37を実行する。
一方、処理S31における判断の結果、別通信ルート要求パケットを受信している場合(Yes)には、通信処理部202は、第2通知パケットを作成する(S34)。この第2通知パケットは、第1の実施形態における通知パケット50Aである。即ち、処理S34では、通信処理部202は、第1の実施形態の処理S11と同様に第2通知パケット(通知パケット50A)を作成する。
次に、通信処理部202は、PLCインタフェース部30を用いてこの作成した第2通知パケットをブロードキャストでPLCの通信ネットワークNTに送信する(S35)。次に、通信処理部202は、記憶部10の受信フラグをオフし(S36)、処理S37を実行する。
処理S37において、通信処理部202は、第1タイマ部203に計時を開始させ、処理S38を実行する。
第1タイマ部203は、処理S37が実行されることによって、通信処理部202から指令を受けると、計時を開始し、予め設定された所定時間が経過すると、その旨を通信処理部202に通知する。
そして、処理S38において、通信処理部202は、処理S14と同様に、第1タイマ部203が予め設定された所定時間の計時を終了したか否かを判断する。この判断の結果、通信処理部202は、第1タイマ部203がこの所定時間の計時を終了していない場合(No)には処理を処理S38に戻し、一方、第1タイマ部203がこの所定時間の計時を終了している場合(Yes)には処理を処理S31に戻す。
通信ネットワークNTに参加済みの子端末2は、別通信ルート要求パケットを受信していない通常の状態では、処理S31、処理S32、処理S33、処理S37及び処理S38を実行することによって、自機2から親端末1までの1個の通信ルートの情報を含む第1通知パケットを所定の時間間隔で通信ネットワークNTに同報通信する。一方、通信ネットワークNTに参加済みの子端末2は、別通信ルート要求パケットを受信すると、処理S31、処理S34、処理S35、処理S36、処理S37及び処理S38を実行することによって、最大ホップ数よりも小さい通信ルートに関する情報を含む第2通知パケット(通知パケット50A)を通信ネットワークNTに1回だけ同報通信する。このように第2の実施形態では、常時、通信ルート通知工程の第2通知パケット(通知パケット50A)が通信ネットワークNTに送信されるわけではないので、通信ネットワークNTのトラフィックを軽減することができる。
なお、図8(A)に示す例では、通信ネットワークNTに参加済みの子端末2は、別通信ルート要求パケットを受信すると第2通知パケット(通知パケット50A)を1回だけ通信ネットワークNTに同報通信するように構成されたが、予め設定された複数回、同報通信するように構成されてもよい。このように構成することによって別通信ルート要求パケットを送信した子端末2は、より確実に第2通知パケット(通知パケット50A)を受信することができ、より確実に通信ネットワークNTに参加することができる。
次に、親端末1と通信可能に接続すべく通信ネットワークNTに新たに参加しようとしている子端末2(通信ネットワークNTに参加していたが例えば通信環境の劣化や中継していた他の子端末2の通信ネットワークNTからの離脱等によって親端末1と通信不能になり、再接続しようとしている子端末2を含む。図1及び図2に示す例では破線で示す子端末2−10)が自機2から親端末1までの通信ルートを構築する動作について説明する。
図9において、親端末1と通信可能に接続すべく通信ネットワークNTに新たに参加しようとしている子端末2の制御部20における通信処理部202(あるいは、再接続しようとしている子端末2の制御部20における通信処理部202)は、まず、制御部20の第2タイマ部204に計時を開始させる(S51)。第2タイマ部204は、この通信処理部202からの指令により計時を開始し、予め設定された所定時間が経過すると、その旨を通信処理部202に通知する。
次に、通信処理部202は、PLCの通信ネットワークNTからPLCインタフェース部30を介してパケット50を受信したか否か、及び、第2タイマ部204が予め設定された所定時間の計時を終了したか否かを判断する(S52)。
この処理S52における判断の結果、パケット50を受信していない場合であって、第2タイマ部204がこの所定時間の計時を終了していない場合(No)には、通信処理部202は、処理を処理S52に戻す。
この処理S52における判断の結果、パケット50を受信していない場合であって、第2タイマ部204がこの所定時間の計時を終了している場合(計時終了)には、通信処理部202は、別通信ルート要求パケットを作成し、通信ネットワークNTにブロードキャストで送信し、処理を処理S51に戻す(S53)。このように動作するので、親端末1までの通信ルートが構築されていない場合には、この子端末2は、略所定時間間隔で別通信ルート要求パケットを送信する。
この処理S52における判断の結果、パケット50を受信している場合(受信)には、通信処理部202は、この受信したパケット50が第1又は第2通知パケットであるか否かを判断する(S54)。
この処理S54における判断の結果、この受信したパケット50が第1及び第2通知パケットではない場合(No)には、通信処理部202は、パケット50の種類に応じた処理を実行し(S55)、処理を処理S52に戻す。
一方、この処理S54における判断の結果、この受信したパケット50が第1又は第2通知パケットである場合(Yes)には、通信処理部202は、処理S24と同様に、この受信したパケット50(第1又は第2通知パケット)を記憶部10に記憶し、この記憶したパケット50(第1又は第2通知パケット)からメッセージ数を取得する(S56)。
次に、通信処理部202は、処理S25と同様に、この記憶した第1又は第2通知パケットの第1番目の第1メッセージ部507−1における至親通信ルート部5073−1に収容されている通信ルートが最大ホップ数の通信ルートであるか否かを判断する(S57)。
この処理S57における判断の結果、第1メッセージ部507−1に収容されている通信ルートが最大ホップ数である場合(Yes)には、通信処理部202は、処理S27と同様に、この記憶した第1又は第2通知パケットにおけるすべてのメッセージ部507について処理S57を処理したか否かを判断する(S60)。
一方、処理S57における判断の結果、第1メッセージ部507−1に収容されている通信ルートが最大ホップ数ではない場合(No)には、通信処理部202は、処理S26と同様に、この受信した第1又は第2通知パケットの第1メッセージ部507−1に収容されている通信ルートを、自機2から親端末1までの通信ルートを構築する通信ルートとして決定し、この決定した通信ルートを用いて自機2から親端末1までの通信ルートを構築する(S58)。そして、通信処理部202は、第2タイマ部204の計時を停止し(S59)、処理を処理S52に戻す。
このように処理S56乃至処理S60が実行されることにより、当該第1又は第2通知パケットのメッセージ部507において、最大ホップ数ではない通信ルートを収容したメッセージ部507が見つかるまで、第1メッセージ部507−1から順次に処理S57が実行される。そして、最大ホップ数ではない通信ルートを収容したメッセージ部507が見つかると、このメッセージ部507に対して処理S58が実行される。
このように動作することによって、新たに通信ネットワークNTに参加しようとしている子端末2は、第1通知パケットに最大ホップ数よりも小さい通信ルートに関する情報が含まれている場合には、この通信ルートを用いて親端末1までの通信ルートを構築することができる。第1通知パケットに最大ホップ数よりも小さい通信ルートに関する情報が含まれていない場合(親端末1までの通信ルートを構築することができない場合)では、新たに通信ネットワークNTに参加しようとしている子端末2は、略所定時間間隔で別通信ルート要求パケットを送信し、この別通信ルート要求パケットを受信した子端末2から第2通知パケット(通知パケット50A)を受信することができ、親端末1までの通信ルートを構築することができる。
図10は、実施形態に係る通知パケットの他の構成(その1)を示す図である。図11は、実施形態に係る通知パケットの他の構成(その2)を示す図である。
ここで、本発明では、既に構築されている親端末1までの通信ルートのうちの予め設定された最大ホップ数よりも小さい通信ルートに関する情報を含む通知パケットを通信ネットワークNTに同報通信すればよいので、このような通知パケットとして、第1及び第2の実施形態における通知パケット50A(第2通信パケット)に代えて、例えば、図10に示すように、最良の通信品質の通信ルートに関する情報と、最大ホップ数(第1及び第2の実施形態では最大ホップ数「3」)よりも小さい通信ルートに関する情報とを含む通知パケット50B、50Cでもよい。
図10(A)に示す例では、子端末2−4が送信する通知パケット50Bであって、最大ホップ数「3」よりも小さい通信ルートに関する情報として、ホップ数「2」の通信ルートに関する情報が含まれている。また、図10(B)に示す例では、子端末2−4が送信する通知パケット50Cであって、最大ホップ数「3」よりも小さい通信ルートに関する情報として、ホップ数「1」の通信ルートに関する情報が含まれている。そして、これら通知パケット50B、50Cにおいて、最良の通信品質の通信ルートに関する情報として、通信コスト「15」の通信ルートに関する情報が含まれている。
即ち、通知パケット50Bは、通信コスト「15」の通信ルートに関する情報及びホップ数「2」の通信ルートに関する情報をそれぞれ収容するために、2個の第1及び第2メッセージ部507B−1、507B−2から構成されるメッセージ部507Bを含んで構成される。通信ルートテーブル40には、上述の5個の通信ルートに関する情報が登録されているので、この通知パケット50Bの第1メッセージ部507B−1における通信コスト部5071B−1、ホップ数部5072B−1及び至親通信ルート部5073B−1には、「15」、「3」及び「3、1、M」がそれぞれ収容され、第2メッセージ部507B−2における通信コスト部5071B−2、ホップ数部5072B−2及び至親通信ルート部5073B−2には、「20」、「2」及び「2、M」がそれぞれ収容されている。そして、この通知パケット50Bのメッセージ数部506Bには、これら第1及び第2メッセージ部507B−1、507B−2の個数である「2」が収容されている。
また、通知パケット50Cは、通信コスト「15」の通信ルートに関する情報及びホップ数「1」の通信ルートに関する情報をそれぞれ収容するために、2個の第1及び第2メッセージ部507C−1、507C−2から構成されるメッセージ部507Cを含んで構成される。通信ルートテーブル40には、上述の5個の通信ルートに関する情報が登録されているので、この通知パケット50Cの第1メッセージ部507C−1における通信コスト部5071C−1、ホップ数部5072C−1及び至親通信ルート部5073C−1には、「15」、「3」及び「3、1、M」がそれぞれ収容され、第2メッセージ部507C−2における通信コスト部5071C−2、ホップ数部5072C−2及び至親通信ルート部5073C−2には、「28」、「1」及び「M」がそれぞれ収容されている。そして、この通知パケット50Cのメッセージ数部506Cには、これら第1及び第2メッセージ部507C−1、507C−2の個数である「2」が収容されている。
そして、最大ホップ数よりも小さい通信ルートに関する情報を含む通知パケットとして、第1及び第2の実施形態における通知パケット50A(第2通信パケット)に代えて、最大ホップ数よりも小さい複数の通信ルートに関する情報を含む通知パケットでもよく、例えば、図11(A)に示すように、最大ホップ数よりも小さい2個の通信ルートに関する情報を含む通知パケット50Dでもよい。
図10(A)に示す例では、子端末2−4が送信する通知パケット50Dであって、最大ホップ数「3」よりも小さい複数の通信ルートに関する情報として、ホップ数「2」及びホップ数「1」の通信ルートに関する各情報がそれぞれ含まれている。
即ち、通知パケット50Dは、ホップ数「2」の通信ルートに関する情報及びホップ数「1」の通信ルートに関する情報をそれぞれ収容するために、2個の第1及び第2メッセージ部507D−1、507D−2から構成されるメッセージ部507Dを含んで構成される。通信ルートテーブル40には、上述の5個の通信ルートに関する情報が登録されているので、この通知パケット50Dの第1メッセージ部507D−1における通信コスト部5071D−1、ホップ数部5072D−1及び至親通信ルート部5073D−1には、「20」、「2」及び「2、M」がそれぞれ収容され、第2メッセージ部507D−2における通信コスト部5071D−2、ホップ数部5072D−2及び至親通信ルート部5073D−2には、「28」、「1」及び「M」がそれぞれ収容されている。そして、この通知パケット50Dのメッセージ数部506Dには、これら第1及び第2メッセージ部507D−1、507D−2の個数である「2」が収容されている。
さらに、最大ホップ数よりも小さい通信ルートに関する情報を含む通知パケットとして、第1及び第2の実施形態における通知パケット50A(第2通信パケット)に代えて、例えば、図11(B)及び(c)に示すように、最大ホップ数よりも小さい1個の通信ルートに関する情報を含む通知パケット50E、50Fでもよい。このような通知パケット50E、50Fは、当該通知パケット50E、50Fのデータ容量を通知パケット50A〜50Dに較べて少なくすることができ、通信ネットワークNTのトラフィックを軽減することができる。このため、この構成による通信ルート構築方法は、例えばPLC等の比較的低速の通信方式が適用された通信ネットワークNTに好適に適用され得る。
図11(B)に示す例では、子端末2−4が送信する通知パケット50Eであって、最大ホップ数「3」よりも小さい1個の通信ルートに関する情報として、ホップ数「2」の通信ルートに関する情報が含まれている。また、図11(C)に示す例では、子端末2−4が送信する通知パケット50Fであって、最大ホップ数「3」よりも小さい1個の通信ルートに関する情報として、ホップ数「1」の通信ルートに関する情報が含まれている。
即ち、通知パケット50Eは、ホップ数「2」の通信ルートに関する情報を収容するために、1個のメッセージ部507Eを含んで構成される。通信ルートテーブル40には、上述の5個の通信ルートに関する情報が登録されているので、この通知パケット50Eのメッセージ部507Eにおける通信コスト部5071E、ホップ数部5072E及び至親通信ルート部5073Eには、「20」、「2」及び「2、M」がそれぞれ収容されている。そして、この通知パケット50Eのメッセージ数部506Eには、メッセージ部507Eの個数である「1」が収容されている。
また、通知パケット50Fは、ホップ数「1」の通信ルートに関する情報を収容するために、1個のメッセージ部507Fを含んで構成される。通信ルートテーブル40には、上述の5個の通信ルートに関する情報が登録されているので、この通知パケット50Fのメッセージ部507Fにおける通信コスト部5071F、ホップ数部5072F及び至親通信ルート部5073Fには、「28」、「1」及び「M」がそれぞれ収容されている。そして、この通知パケット50Fのメッセージ数部506Fには、このメッセージ部507Fの個数である「1」が収容されている。
ここで、子端末2−4は、図2に示す上述の通信ルートが自機2と親端末1との間に構築され、その通信ルートテーブル40には、上述の5個の通信ルートに関する情報が登録されている。このため、図11に示す通知パケット50D〜50Fは、既に構築されている親端末1までの通信ルートのうちの最大ホップ数の通信ルートに関する情報を含まないように構成された通知パケットの具体例でもあり、第1及び第2の実施形態における通知パケット50Aに代えて、このような通知パケット50D〜50Fでもよい。
このような通知パケット50D〜50Fは、例えば子端末2−4では、予め設定された最大ホップ数が「3」に対応する通信ルートに関する情報(通信コスト「15」、ホップ数「3」及び通信ルート「3、1、M」)が除かれている。
このように通知パケット50D〜50Fが構成されることによって、通知パケット50D〜50Fは、この通知パケット50D〜50Fを受信した子端末2が親端末1までの通信ルートを選択するに当たって選択することのない最大ホップ数の通信ルートを含まないので、当該通知パケット50Bのデータ容量を少なくすることができ、通信ネットワークNTのトラフィックを軽減することができる。このため、この構成による通信ルート構築方法は、例えばPLC等の比較的低速の通信方式が適用された通信ネットワークNTに好適に適用され得る。
そして、子端末2−4は、図2に示す上述の通信ルートが構築され、図4に示す通信ルートテーブル40が登録されている。このため、図10(A)並びに図11(A)及び(B)に示す通知パケット50B、50D、50Eは、最大ホップ数よりも小さい親端末1までの通信ルートに関する情報として、最大ホップ数の通信ルートを除く既に構築されている親端末1までの通信ルートのうちの最良の通信品質(第1及び第2の実施形態では最小の通信コスト)の通信ルートに関する情報を含むように構成された通知パケットの具体例でもあり、第1及び第2の実施形態における通知パケット50A(第2通信パケット)に代えて、このような通知パケット50B、50D、50Eでもよい。
このような通知パケット50B、50D、50Eは、例えば子端末2−4では、最大ホップ数の通信ルートを除いた通信ルートのうちの最良の通信品質(最小の通信コスト「20」)の通信ルートに関する情報(通信コスト「20」、ホップ数「2」及び通信ルート「2、M」)が含まれている。
このように通知パケット50B、50D、50Eが構成されることによって、この通知パケット50B、50D、50Eを受信した子端末2は、通信品質のよい通信ルートで親端末1までの通信ルートを構築することができる。
また、子端末2−4は、図2に示す上述の通信ルートが構築され、図4に示す通信ルートテーブル40が登録されている。このため、図10(B)並びに図11(A)及び(C)に示す通知パケット50C、50D、50Fは、最大ホップ数よりも小さい親端末1までの通信ルートに関する情報として、既に構築されている親端末1までの通信ルートのうちの最小のホップ数の通信ルートに関する情報を含むように構成された通知パケットの具体例でもあり、第1及び第2の実施形態における通知パケット50A(第2通信パケット)に代えて、このような通知パケット50C、50D、50Fでもよい。
このような通知パケット50C、50D、50Fは、例えば子端末2−4では、最小ホップ数の通信ルートに関する情報(通信コスト「28」、ホップ数「1」及び通信ルート「M」)が含まれている。
このように通知パケット50C、50D、50Fが構成されることによって、この通知パケット50C、50D、50Fを受信した子端末2は、通信ルートを構築した後に、当該構築した通信ルートのホップ数が最大ホップ数「3」ではない場合には、さらに通知パケット50A、50B、50D、50Eを送信することができる。従って、通信ネットワークNTのネットワークトポロジー上における最大ホップ数「3」以内にあるより多くの子端末2が通信ルートを構築することができる。よって、当該通信ネットワークNTにおけるより広いエリアがカバーされ得、特に、本通知パケット50C、50D、50Fのように、これらに含まれる通信ルートのホップ数が1である場合には、当該通信ネットワークNTにおける最大エリアがカバーされ得る。
さらに、子端末2−4は、図2に示す上述の通信ルートが構築され、図4に示す通信ルートテーブル40が登録されている。このため、図10(B)並びに図11(A)及び(C)に示す通知パケット50C、50D、50Fは、最大ホップ数よりも小さい親端末1までの通信ルートに関する情報として、既に構築されている親端末1までの通信ルートのうちの最小のホップ数であって最良の通信品質の通信ルートに関する情報を含むように構成された通知パケットの具体例でもあり、第1及び第2の実施形態における通知パケット50A(第2通信パケット)に代えて、このような通知パケット50C、50D、50Fでもよい。
このように通知パケット50C、50D、50Fが構成されることによって、この通知パケット50C、50D、50Fを受信した子端末2は、上記効果に加えて、さらに、通信品質のよい通信ルートで親の通信端末までの通信ルートを構築することができる。
また、上述の第1及び第2の実施形態において、通信ネットワークNTのトラフィックを軽減する観点から、通知パケット50A〜50Fをハロー・パケットと兼用してもよく、さらに、別通信ルート要求パケットもハロー・パケットと兼用してもよい。ハロー・パケット(Hello Packet)は、通信ネットワークNTにおいて、各端末1、2間で、他の端末1、2に対して自機1、2の生存を通知するパケットである。
特に、前記特許文献1に開示の通信ルート構築方法では、ハロー・パケットで最良の通信品質の通信ルートに関する情報を通信ネットワークに同報通信しており、図9に示すフローチャートでは、第2タイマ部204が計時中であって受信したパケット50が通知パケット50A〜50F(本場合ではハロー・パケット)である場合には、処理S56乃至処理S58を実行している。このため、ハロー・パケットに最大ホップ数未満の通信ルートに関する情報が含まれている場合には、処理S58で自機2から親端末1までの通信ルートが構築され、別通信ルート要求パケットが送信されることがない。よって、通信ネットワークNTのトラフィックがより軽減される。