以下、本発明の実施の形態を図面に基づいて説明する。
(実施形態1)
図1は、本実施形態のマルチホップ通信システムが構成する無線ネットワークの概略図である。この無線ネットワークは、複数の住戸Xで構成される住戸群で用いられ、住戸群内には、所定範囲毎(例えば、半径500m毎)に親となる通信端末1が設置され、各住戸Xには、子となる通信端末2が設置される。なお以降、親となる通信端末1は親端末1と称し、子となる通信端末2は子端末2と称す。さらに、親端末1を個別に識別する場合は、親端末1−1,1−2,1−3,...の符号を用い、子端末2を個別に識別する場合は、子端末2−1,2−2,2−3,...の符号を用いる。
そして、子端末2は、各住戸Xに関する所定情報を、1台の親端末1へ無線送信する機能を有する。親端末1は、各住戸Xに関する所定情報を複数の子端末2から無線で取得し、取得した所定情報を、図示しない上位の管理装置へ光ファイバ回線等を用いて送信する機能を有する。例えば、親端末1が、各住戸Xにおける電力使用量、ガス使用量、水道使用量等の検針情報を、子端末2から取得することによって、遠隔検針システムを構成できる。また、親端末1が、予め設定された所定の情報を子端末2との間で送受することによって、各住戸X内の機器の状態を監視する遠隔監視システム、各住戸X内の機器の状態を制御する遠隔制御システム等を構成することも可能である。
この無線ネットワークでは、親端末1および子端末2は、マルチホップ通信により無線信号を互いに送受している。すなわち、本無線ネットワークでは、親端末1と各子端末2との間で直接または間接に通信が行われ、親端末1と直接通信できない子端末2は、通信可能な距離にある他の子端末2が通信パケットを順次中継することで、親端末1との間で通信を行っている。
図2は、通信端末Aのブロック図である。本実施形態では、親端末1と子端末2とに同一の通信端末Aを用いており、例えば、通信端末Aは、ジャンパースイッチや切替スイッチ等の設定手段を用いて「親」に設定されることで親端末1として機能し、また「子」に設定されることで子端末2として機能する。また以降では、親端末1と子端末2とを区別しない場合、通信端末Aと称す。
通信端末Aは、記憶部10と、制御部20と、無線通信インタフェース部30とを備えて構成される。
記憶部10は、ROMなどの不揮発性のメモリ、EEPROMなどの書換え可能な不揮発性のメモリ、RAMなどの揮発性のメモリからなる。そして記憶部10は、通信ルートや通信可能な隣接端末(直接通信可能な親端末1または子端末2)に関するリンク情報などを記憶するテーブル記憶部101を備える。さらに記憶部10は、通信端末Aを動作させるための制御プログラム等の各プログラムや、各プログラムの実行に必要な情報等も記憶している。
本実施形態では、親端末1、子端末2の各々に、ユニークな端末IDが割り付けられ、各通信端末Aの記憶部10には、自端末に割り付けられた端末IDも格納されている。本実施形態では、親端末1−1,1−2,1−3,....に、端末ID「M1」,「M2」,「M3」...が、予め割り付けられている。また、子端末2−1,2−2,2−3,....には、後述する通信ルートが構築された場合に、親端末1によって端末ID「T1」,「T2」,「T3」...が割り付けられる。
また、通信端末Aの各々には、シリアル番号(製造番号)やMACアドレス等の装置IDが予め割り付けられており、各通信端末Aの記憶部10には、この装置IDが予め格納されている。そして、通信端末Aが送受信する通信パケットは、この装置IDが付加されることによって通信制御がなされる。
親端末1および子端末2のテーブル記憶部101には、図3に示す通信可能端末管理テーブルTB1が格納される。また、親端末1のテーブル記憶部101には、図4(a)に示す通信ルートテーブルTB21が格納され,子端末2のテーブル記憶部101には、図4(b)に示す通信ルートテーブルTB22、図5に示す残レコード数テーブルTB3が格納される。
通信可能端末管理テーブルTB1は、図3に示すように、他の通信端末Aによって中継されることなく、当該通信端末Aと直接通信することができる通信端末A(隣接端末)に関する情報(通信可能端末情報)を、テーブル形式で記憶している。具体的に、通信可能端末管理テーブルTB1は、隣接端末ID、端末種類、受信リンク通信品質、送信リンク通信品質、リンク通信品質の各フィールドが設けられている。
通信可能端末管理テーブルTB1において、隣接端末IDは、自端末と直接通信が可能な通信端末A(以降、隣接端末Aと称す)に割り付けられた端末IDである。端末種類は、隣接端末Aの種類(親端末1「親」または子端末2「子」)を示す。受信リンク通信品質は、隣接端末Aから自端末への通信リンクの通信品質を示す。送信リンク通信品質は、自端末から隣接端末Aへの通信リンクの通信品質を示す。リンク通信品質は、隣接端末Aと自端末との間の通信リンクにおける通信品質を示す。
直接通信可能な2台の通信端末A−A間の通信リンクにおけるリンク通信品質は、例えば、通信品質値SQが用いられる。通信品質値SQは、直接通信可能な2台の通信端末A−A間の受信信号強度が大きいほど小さくなる10段階や20段階等の整数値で表される。すなわち、通信品質値SQは、その整数値が小さいほど、通信パケットの減衰が小さく、通信状態がよい。
そして、通信パケットを受信する場所におけるノイズレベルが異なることから、通信リンクにおける双方向の通信品質は互いに異なり、通信リンクにおける双方向の通信品質は、受信リンク通信品質および送信リンク通信品質で構成される。受信リンク通信品質は、直接通信可能な2台の通信端末A−A間のリンクにおいて、自端末Aが他の通信端末Aから通信パケットを受信したときの受信信号強度である。送信リンク通信品質は、直接通信可能な2台の通信端末A−A間のリンクにおいて、自端末Aが他の通信端末Aへ通信パケットを送信し、他の通信端末Aが通信パケットを受信したときの受信信号強度である。
通信可能端末管理テーブルTB1においても、通信端末Aにおける受信リンク通信品質および送信リンク通信品質の各フィールドが設けられている。そして、通信端末A−A間で通信を行った場合に通信の確実性(信頼性)を保証する観点から、受信リンク通信品質と送信リンク通信品質とのうち、通信状態の悪い方(リンク通信品質の値が大きい方)が、2台の通信端末A−A間のリンク通信品質として採用される。
そして、親端末1と子端末2との間における通信ルートの通信品質の評価である後述のルート通信品質は、親端末1と子端末2との間の通信ルートを構成する各通信リンクのリンク通信品質の和が採用される。
なお、上述の通信品質値SQは、受信信号強度と関連付けられたが、受信信号強度に代えて、SN比、EVM(Error Vector Magnitude)、ビットエラーレート、パケットエラーレート等の他の要素と関連付けて算出してもよい。
次に、親端末1と子端末2との間における通信ルートは、1乃至複数の通信リンクによって形成されている。そして、親端末1が保持する通信ルートテーブルTB21(図4(a)参照)は、親端末1−この親端末1の配下にある子端末2間における通信ルートに関する情報(通信ルート情報)を、テーブル形式で記憶している。具体的に、通信ルートテーブルTB21は、端末ID、ルート通信品質、ホップ数、ホップ先の各フィールドが設けられている。
親端末1が保持する通信ルートテーブルTB21において、端末IDは、通信ルートが構築された配下の子端末2に割り付けられた端末IDである。ルート通信品質は、端末IDフィールドに登録された子端末2までの通信ルートにおける通信品質を示す。ホップ数は、端末IDフィールドに登録された子端末2までの通信ルートにおけるホップ数を示す。ホップ先は、端末IDフィールドに登録された子端末2までの通信ルートにおいて、各ホップにおける送信先の通信端末Aを示す。
ここで、通信ルートテーブルTB21において、上記複数のフィールドで構成される行単位はレコードであり、この行数をレコード数と称する(すなわち、通信ルートテーブルTB21の行数が、レコード数である)。このレコード数は、テーブル記憶部101のメモリ容量によって上限が決まっており、1台の親端末1と通信ルートを構築できる子端末2の台数にも上限がある。
以降、親端末1の通信ルートテーブルTB21に登録可能なレコード数の上限値から、現在登録済のレコード数を引いた値を、残レコード数と称す。この残レコード数は、親端末1の各々が子端末2との間で構築可能な通信ルートの残数に相当する。すなわち、残レコード数が多いほど、この親端末1との間で通信ルートを構築可能な子端末2の残台数が多く、残レコード数が少ないほど、この親端末1との間で通信ルートを構築可能な子端末2の残台数が少なくなる。
次に、子端末2が保持する通信ルートテーブルTB22(図4(b)参照)は、子端末2−この子端末2と通信可能な親端末1間の通信ルートに関する情報(通信ルート情報)を、テーブル形式で記憶している。具体的に、通信ルートテーブルTB22は、端末ID、ルート通信品質、ホップ数、ホップ先の各フィールドが設けられている。
子端末2が保持する通信ルートテーブルTB22において、端末IDは、この子端末2と通信可能な親端末1に割り付けられた端末IDである。ルート通信品質は、端末IDフィールドに登録された親端末1までの通信ルートにおける通信品質を示す。ホップ数は、端末IDフィールドに登録された親端末1までの通信ルートにおけるホップ数を示す。ホップ先は、端末IDフィールドに登録された親端末1までの通信ルートにおいて、各ホップにおける送信先の通信端末Aを示す。
通信ルートテーブルTB21,TB22において、ホップ数は、自端末から通信先端末までの通信ルートにおける通信端末Aの台数である。例えば、子端末2−4が子端末2−3および子端末2−1を介して親端末1と通信を行う通信ルートの場合は、ホップ数は「3」となる。ホップ先は、自端末から通信先端末に至るまでに経由する通信端末Aの端末IDが経由順に登録され、最後は、端末IDフィールドに登録された通信端末Aの端末IDが登録される。
次に、子端末2が保持する残レコード数テーブルTB3(図5参照)は、親端末1の残レコード数に関する情報を、テーブル形式で記憶している。具体的に、残レコードテーブルTB3は、端末ID、残レコード数の各フィールドが設けられている。
子端末2が保持する残レコード数テーブルTB3において、端末IDは、親端末1に割り付けられた端末IDである。残レコード数は、端末IDフィールドに登録された親端末1の残レコード数を示す。
次に、無線通信インタフェース部30は、無線信号を用いて他の通信端末Aとの間で通信を行うための通信インタフェース回路である。
制御部20は、通信端末Aの各部を制御することによって通信端末A全体の動作を制御する装置であり、例えば、マイクロプロセッサおよびその周辺回路等で構成される。そして、制御部20は、テーブル処理部201と、通信処理部202と、送信タイマ部203とを備えて、直接または間接に子端末2と親端末1との間の通信ルートを構築するための処理である通信ルート構築処理を実行する。
テーブル処理部201は、記憶部10のテーブル記憶部101に記憶されている各テーブルの登録内容を管理する。通信処理部202は、無線通信インタフェース部30を用いて、他の通信端末Aとの間で通信パケットを送受信し、後述の動作を行うことによって、親端末1と子端末2との間の通信ルートを構築するための通信ルート構築処理を行う。送信タイマ部203は、所定の時間の経過を計る計時手段であり、所定の時間間隔で通信処理部202に各種通信パケットの送信タイミングの到来を通知する。
次に、本無線ネットワークにおける通信ルートの構築について、図6のシーケンスを用いて説明する。
まず、通信端末Aが起動されると、各通信端末Aの制御部20における送信タイマ部203は、ハローパケット(Hello Packet、以下、「Hパケット」と称する)を送信すべく計時を開始する。送信タイマ部203は、タイムアップすると、Hパケットの送信タイミングである旨を通信処理部202に通知する。通信処理部202は、この通知を受けると、Hパケットを無線ネットワークに同報通信で送信する。
Hパケットは、各通信端末Aが、他の通信端末Aに対して自端末の生存を報知する通信パケットである。図7(a)は、Hパケットのフォーマットを示し、送信元端末ID部と、送信先端末ID部と、オペレーションコード部と、端末種類部と、通信ルート部と、残レコード数部とを備えて構成される。
Hパケットの送信元端末ID部は、Hパケットを送信した通信端末Aの端末IDが収容される。送信先端末ID部は、Hパケットの送信先となる通信端末Aの端末IDが収容され、Hパケットの場合は、ブロードキャスト等の同報通信のコード「BC」が収容される。オペレーションコード部は、Hパケットのコードが収容される。端末種類部は、Hパケットを送信した通信端末Aが親端末1と子端末2とのいずれであるかを識別するための情報が収容される。
さらにHパケットの通信ルート部は、子端末2から親端末1までの通信ルートを表す通信ルート情報、およびこの通信ルートの通信品質を表すルート品質情報が収容される。通信ルート情報は、子端末2から親端末1までの通信ルートにおいて経由する通信端末Aの端末IDが順に並べられることによって表される。ルート品質情報は、通信ルート内のリンク通信品質の和で表され、このリンク通信品質の和をルート通信品質と称す。
例えば、子端末2−4が子端末2−3および子端末2−1を介して親端末1との間で通信ルートを構築し、そのルート通信品質が17であるとする。この場合、子端末2−4が送信するHパケットの通信ルート部には、「T4→T3→T1→M1;17」が収容される。この通信ルートのホップ数は「3」になる。また、親端末1が送信するHパケットの通信ルート部は、「null」(または空データ)となり、ホップ数「0」、ルート通信品質「0」に相当する。
また、Hパケットを送信した通信端末Aが親端末1である場合、Hパケットの残レコード数部は、Hパケットの送信元である親端末1の残レコード数が収容される。Hパケットを送信した通信端末Aが子端末2である場合、Hパケットの残レコード数部は、Hパケットの送信元である子端末2が通信ルートを構築している親端末1の残レコード数が収容される。
なお、Hパケットは、無線ネットワークの通信トラフィックを抑制するために、通信端末Aが親端末1に設定されている場合、および通信端末Aが、親端末1までの通信ルートが構築されている子端末2である場合に、各通信端末Aから送信される。そして、このHパケットの送信処理は、起動後、一定時間間隔で行われる。
また、Hパケット以外の通信パケットについても、通信端末Aの通信処理部202は、通信パケットを受信すると、受信リンク通信品質を算出すると共に、そのオペレーションコードを参照することによって、受信した通信パケットの種類を判別する。
具体的に図6において、親端末1−1、1−2がHパケットを送信する(S1,S2)。親端末1−1が送信したHパケットを受信した子端末2−1では、通信処理部202が、この受信したHパケットの端末種類部を参照することによって、このHパケットを送信した通信端末Aの種類を判断する。Hパケットを送信した通信端末Aが親端末1であると判断した場合、子端末2−1は、親端末1−1と直接通信可能であると判断し、「子端末2−1→親端末1−1」の通信ルートが存在すると判断する。そして、子端末2−1のテーブル処理部201は、受信したHパケットの送信元端末ID部および端末種類部を参照することによって、端末IDおよび端末種類を取り出す。そして、テーブル記憶部101の通信可能端末管理テーブルTB1に新たなレコードを設け、この取り出した端末ID、端末種類、および算出した受信リンク通信品質を、隣接端末ID、端末種類、受信リンク通信品質にそれぞれ登録する。そして、子端末2−1のテーブル処理部201は、親端末1−1の受信リンク通信品質を仮のリンク通信品質として、通信可能端末管理テーブルTB1のリンク通信品質に登録する。
ここで、この受信リンク通信品質を仮のリンク通信品質としたのは、上述したように、リンク通信品質が受信リンク通信品質および送信リンク通信品質のうちの悪い方(数値の大きい方)とされるが、この送信リンク通信品質が現時点では分からないためである。
さらに、親端末1−1が送信したHパケットを受信した子端末2−1では、通信処理部202が、この受信したHパケットの残レコード数部を参照することによって、このHパケットを送信した親端末1−1の残レコード数を取得する。そして、子端末2−1のテーブル処理部201は、テーブル記憶部101の残レコード数テーブルTB3において、親端末1−1の端末IDに対応して、親端末1−1の残レコード数を登録する。
そして、子端末2−1が、親端末1−1からのHパケットを受信してから一定時間内に、親端末1−2からのHパケットも受信した場合、上記同様に、通信可能端末管理テーブルTB1に新たなレコードを設ける。そして、親端末1−2のHパケットから取り出した端末ID、端末種類、および算出した受信リンク通信品質を、通信可能端末管理テーブルTB1の隣接端末ID、端末種類、受信リンク通信品質にそれぞれ登録する。そして、子端末2−1のテーブル処理部201は、親端末1−2の受信リンク通信品質を仮のリンク通信品質として、通信可能端末管理テーブルTB1のリンク通信品質に登録する。
さらに、親端末1−2が送信したHパケットを受信した子端末2−1では、通信処理部202が、この受信したHパケットの残レコード数部を参照することによって、このHパケットを送信した親端末1−2の残レコード数を取得する。そして、子端末2−1のテーブル処理部201は、テーブル記憶部101の残レコード数テーブルTB3において、親端末1−2の端末IDに対応して、親端末1−2の残レコード数を登録する。
そして、複数の親端末1−1,1−2からHパケットを直接受信した子端末2−1では、通信処理部202が、記憶部10を参照して、自端末に端末IDが割り付けられているか否かを判断する。自端末に端末IDが割り付けられていない場合、子端末2−1は、端末IDの割り付けを要求する親端末1(すなわち、通信ルートを構築する親端末1)を決定するために、以下の処理を行う。
まず、複数の親端末1−1,1−2からHパケットを直接受信した子端末2−1では、通信処理部202が、親端末1−1,1−2との間に存在する各通信ルートの通信コストを算出する。
子端末2において、子端末2−親端末1間の通信ルートの通信コストは、通信ルートのルート通信品質(リンク通信品質の和)と、通信ルートのホップ数と、親端末1の残レコード数とに基づいて算出される。
通信コストの算出式は、
通信コスト=Ka×[Hパケットの通信ルート部に含まれるルート通信品質+通信可能端末管理テーブルTB1のリンク通信品質]+Kb×[Hパケットの通信ルート部に含まれる通信ルート情報に基づくホップ数+1]+Kc×[1/残レコード数テーブルTB3の残レコード数]
で表される。なお、Kaは、通信ルートのルート通信品質(リンク通信品質の和)の重み係数である。Kbは、通信ルートのホップ数の重み係数である。Kcは、親端末1の残レコード数の重み係数である。
ここで、ルート通信品質には通信品質値SQが用いられるため、ルート通信品質はその値が小さいほどよく、ホップ数もその値が小さいほどよく、残レコード数はその値が大きいほどよい。そこで、各要素(ルート通信品質、ホップ数、残レコード数)の大小と通信コストの高低との関係より、重み係数Kcは、残レコード数の逆数に乗じられている。
上記のように算出された通信コストは、親端末1−子端末2間の通信ルートにおける通信品質レベルであり、通信コストの値が低いほど、通信ルートにおける通信品質レベルが高くなる。
ここで、親端末1が送信するHパケットの通信ルート部は、「null」(または空データ)となり、ホップ数「0」、ルート通信品質「0」に相当する。したがって、親端末1からHパケットを直接受信した子端末2と親端末1との間の通信コストは、
通信コスト=Ka×[通信可能端末管理テーブルTB1のリンク通信品質]+Kb×[1]+Kc×[1/残レコード数テーブルTB3の残レコード数]
で表される。
そして、子端末2−1の通信処理部202は、Hパケットの送信元である親端末1−1,1−2について、上記通信コストを算出する。そして、親端末1−1,1−2のうち、通信コストが低いほうに、端末IDの割り付けを要求するアドレス要求パケットを送信する(S3)。ここでは、親端末1−1の通信コストが、親端末1−2の通信コストより低く、子端末2−1は、親端末1−1へアドレス要求パケットを送信するものとする。なお、子端末2−1が、1台の親端末1からのみHパケットを受信した場合は、この親端末1に対して端末IDの割り付けを要求する。
また上述の構成では、子端末2が、仮のリンク通信品質に基づいて、アドレス要求パケットの送信先となる親端末1を選択している。しかしながら、アドレス要求パケットの送信先となる親端末1を決定する方法は、以下の方法でもよい。まず、子端末2は、複数の親端末1からHパケットを受信した場合、仮のリンク通信品質が高い2台以上の親端末1を選び、この選んだ2台以上の親端末1の各々との間で双方向のルート通信品質を調査する。そして、双方向のルート通信品質から求めた通信コストが最も低い親端末1へアドレス要求パケットを送信する。
このように、子端末2が複数の親端末1からHパケットを受信した場合、通信ルートのルート通信品質と、通信ルートのホップ数と、親端末1の残レコード数とに基づいて、各親端末1との間の通信コストを算出する。そして、複数の親端末1のうち、通信コストが最も低い親端末1(すなわち、通信ルートの通信品質レベルが最も高い親端末1)との間で通信ルートを構築する。
そして、本実施形態では、通信ルートのルート通信品質、通信ルートのホップ数だけでなく、親端末1の残レコード数も考慮して、通信コストを算出している。すなわち、親端末1の残レコード数が少なければ、通信コストが増大し、親端末1の残レコード数が多ければ、通信コストが低減する。したがって、特定の親端末1の配下に子端末2が集中することなく、親端末1との間で通信不可となる子端末2の発生を抑制できる。
子端末2が送信するアドレス要求パケットは、例えば、図7(b)に示すように、送信元端末ID部と、送信先端末ID部と、送信通信ルート部と、オペレーションコード部と、配布アドレス部と、隣接端末部と、リンク通信品質部とを備える。
アドレス要求パケットの送信元端末ID部は、アドレス要求パケットを送信した通信端末Aの端末IDが収容される。送信先端末ID部は、アドレス要求パケットの送信先となる通信端末Aの端末IDが収容される。端末IDが未設定である子端末2の場合、送信元端末ID部には、「予約端末ID」が設定される。
送信通信ルート部は、アドレス要求パケットを送信する際の通信ルートに関する情報を収容する。その情報は、送信元の子端末2から送信先の親端末1までの通信ルートに従って、端末IDが並べられることによって表される。アドレス要求パケットを受信した通信端末Aは、受信したアドレス要求パケットの送信通信ルート部に基づいて、アドレス要求パケットの送信先(転送先、中継先)の通信端末Aを判断し、アドレス要求パケットをこの送信先の通信端末Aに転送(中継)する。
オペレーションコード部は、アドレス要求コードが収容される。
配布アドレス部は、アドレス要求パケットの場合、「null」(または空データ)が収容される。
隣接端末部は、アドレス要求パケットの場合、子端末2が受信したHパケットの送信元の通信端末Aの端末IDを収容する。
リンク通信品質部は、子端末2が受信したHパケットの送信元の通信端末Aとの間におけるリンク通信品質を収容する。端末IDが未設定である子端末2は、アドレス要求パケットのリンク通信品質部に、受信リンク通信品質を仮のリンク通信品質として収容する。
子端末2−1が親端末1−1へ送信するアドレス要求パケットをより具体的に例示すると、送信元端末ID部には「予約端末ID」が収容され、送信先端末ID部には「M1」が収容され、送信通信ルート部には「予約端末ID→M1」が収容される。さらに、オペレーションコード部には「アドレス要求コード」が収容され、配布アドレス部には「null」が収容され、その隣接端末部には「M1」が収容され、そのリンク通信品質部には例えば「4」が収容される。
子端末2−1が送信したアドレス要求パケットを受信した親端末1−1では、通信処理部202が、アドレス要求パケットを送信した子端末2−1に端末IDを割り付ける。ここでは、子端末2−1に端末ID「T1」が割り付けられるものとする。
親端末1−1の通信処理部202は、受信したアドレス要求パケットに含まれる隣接端末ID「M1」、リンク通信品質「4」をそれぞれ取り出す。親端末1−1の通信処理部202は、アドレス要求パケットの隣接端末部に端末ID「M1」が収容されていることから、端末ID「T1」を割り付ける子端末2−1が、親端末1−1と直接通信可能であり、親端末1−1と子端末2−1との間で、「M1→T1」の通信ルートが構築されたと判断する。なお、アドレス要求パケットに収容されているリンク通信品質「4」は、親端末1−1においては、親端末1−1→子端末2−1の送信リンク通信品質である。
また、親端末1−1の通信処理部202は、アドレス要求パケットを受信した際に算出した受信リンク通信品質と送信リンク通信品質とを比較する。そして、通信状態の悪いリンク通信品質(数値が大きい方)を親端末1−1と子端末2−1との間におけるリンク通信品質とする。例えば、アドレス要求パケットを受信した際に算出した受信リンク通信品質が「5」である場合では、送信リンク通信品質「4」と受信リンク通信品質「5」とが比較され、リンク通信品質「5」となる。親端末1−1は、端末ID「T1」の子端末2−1と直接通信可能であるので、このリンク通信品質「5」が、親端末1−1と子端末2−1との間のルート通信品質となる。
親端末1−1では、テーブル処理部201が、子端末2−1に割り付けた隣接端末ID「T1」と、端末種類「子」と、受信リンク通信品質「5」と、送信リンク通信品質「4」と、リンク通信品質「5」とを、通信可能端末管理テーブルTB1に登録する。受信リンク通信品質「5」は、子端末2−1→親端末1−1のリンクにおける通信品質であり、送信リンク通信品質「4」は、親端末1−1→子端末2−1のリンクにおける通信品質である。
さらに、親端末1−1では、テーブル処理部201が、子端末2−1に割り付けた端末ID「T1」と、ルート通信品質「5」と、ホップ数「1」と、第1ホップ「T1」とを、通信ルートテーブルTB21に登録する。
そして、親端末1−1は、アドレス要求パケットを送信した子端末2−1に、アドレス応答パケットを送信する(S4)。
このアドレス応答パケットは、例えば、図7(b)に示すように、送信元端末ID部と、送信先端末ID部と、送信通信ルート部と、オペレーションコード部と、配布アドレス部と、隣接端末部と、リンク通信品質部とを備える。すなわち、アドレス応答パケットは、前述のアドレス要求パケットと同様のフォーマットで構成されている。
アドレス応答パケットの送信元端末ID部は、アドレス応答パケットを送信した通信端末Aの端末IDが収容される。送信先端末ID部は、アドレス応答パケットの送信先となる通信端末Aの端末IDが収容される。端末IDが未設定の子端末2へアドレス応答パケットを送信する場合、送信先端末ID部には、ブロードキャスト等の同報通信のコード「BC」が収容される。
送信通信ルート部は、アドレス応答パケットを送信する際の通信ルートに関する情報を収容する。その情報は、送信元の親端末1から送信先の子端末2までの通信ルートに従って、端末IDが並べられることによって表される。アドレス応答パケットを受信した通信端末Aは、受信したアドレス応答パケットの送信通信ルート部に基づいて、アドレス応答パケットの送信先(転送先、中継先)の通信端末Aを判断し、アドレス応答パケットをこの送信先の通信端末Aに転送(中継)する。アドレス応答パケットの場合、送信先となる子端末2は端末IDがまだ未設定であるため、この送信通信ルート部の最後(末尾)は、同報通信、例えば、ブロードキャスト等の同報通信のコード「BC」が登録される。
オペレーションコード部は、アドレス応答コードが収容される。
配布アドレス部は、アドレス応答パケットの場合、アドレス要求パケットの送信元の子端末2に割り付ける端末IDを収容する。
隣接端末部は、子端末2が受信したHパケットの送信元の通信端末Aの端末IDを収容する。
リンク通信品質部は、子端末2が受信したHパケットの送信元の通信端末Aとの間におけるリンク通信品質を収容する。
親端末1−1が作成するアドレス応答パケットをより具体的に例示すると、送信元端末ID部には「M1」が収容され、送信先端末ID部には「BC」が収容され、送信通信ルート部には「M1→BC」が収容される。さらに、オペレーションコード部には「アドレス応答コード」が収容され、配布アドレス部には「T1」が収容され、その隣接端末部には「M1」が収容され、そのリンク通信品質部には「5」が収容される。
そして、親端末1−1が送信したアドレス応答パケットを受信した子端末2−1では、通信処理部202が、この受信したアドレス応答パケットに収容されている配布アドレス「T1」、隣接端末ID「M1」、リンク通信コスト「5」をそれぞれ取り出す。
そして、子端末2−1は、自端末の端末IDに「T1」を設定する。さらに、子端末2−1では、テーブル処理部201が、通信可能端末管理テーブルTB1内において、隣接端末ID「M1」に対応して、送信リンク通信コスト「5」を登録する。
また、子端末2−1の通信処理部202は、通信可能端末管理テーブルTB1内において、隣接端末ID「M1」に対応する受信リンク通信品質「4」と送信リンク通信品質「5」とを比較する。そして、通信状態の悪いリンク通信品質(数値が大きい方)を親端末1−1と子端末2−1との間におけるリンク通信品質とする。この場合、リンク通信品質「5」に更新される。
そして、子端末2−1は、上述したように、「子端末2−1→親端末1−1」の通信ルートが構築可能であると判断されているので、リンク通信品質「5」が、親端末1−1と子端末2−1との間のルート通信品質とされる。すなわち、子端末2−1は、親端末1−1との間において、ホップ数「1」、ルート通信品質「5」の通信ルートが構築されている。したがって、子端末2−1のテーブル処理部201は、通信ルートテーブルTB22に、親端末1の端末ID「M1」、ルート通信品質「5」、ホップ数「1」、第1ホップ「M1」を登録する。
このように、親端末1(親端末1−1)と子端末2(子端末2−1)とが直接通信可能な場合、親端末1のHパケット送信工程、子端末2のアドレス要求パケット送信工程、親端末1のアドレス応答パケット送信工程の3つの工程が実行される。そして、これらの工程が実行されることによって、子端末2の端末ID(通信アドレス)が設定され、互いに直接通信可能な親端末1と子端末2との間の通信ルートが双方で構築される。
次に親端末1−1までの通信ルートが構築された子端末2−1は、送信タイマ部203から通知を受け、Hパケットの送信タイミングになると、Hパケットを無線ネットワークに同報通信で送信する(S5)。
子端末2−1が送信するHパケットの送信元端末ID部は、Hパケットを送信した通信端末2−1の端末ID「T1」が収容される。送信先端末ID部は、通信パケットの送信先となる通信端末Aの端末IDが収容され、Hパケットの場合は、ブロードキャスト等の同報通信のコード「BC」が収容される。オペレーションコード部は、Hパケットのコードが収容される。端末種類部は、Hパケットを送信した通信端末Aが親端末1と子端末2とのいずれであるかを識別するための情報が収容される。
さらに子端末2−1が送信するHパケットの通信ルート部は、子端末2−1から親端末1−1までの通信ルートを表す通信ルート情報、およびこの通信ルートの通信品質を表すルート品質情報が収容される。ここでは、子端末2−1の端末ID「T1」、親端末1−1の端末ID「M1」、子端末2−1と親端末1−1との間に構築された通信ルートのルート通信品質「5」から、「T1→M1;5」が通信ルート部に収容される。
さらに子端末2−1が送信するHパケットの残レコード数部は、子端末2−1が通信ルートを構築している親端末1−1の残レコード数が収容される。
親端末1−1までの通信ルートが構築された子端末2−1が送信したHパケットを受信した子端末2、例えば子端末2−2では、通信処理部202が、この受信したHパケットの端末種類部を参照することによって、Hパケットを送信した通信端末Aを判断する。そして、Hパケットを送信した通信端末Aが子端末2であると判断されると、この受信したHパケットの通信ルート部を参照する。子端末2−1が送信したHパケットの通信ルート部には、親端末1−1までの通信ルート「T1→M1;5」が含まれており、子端末2−2は、親端末1−1と通信可能であると判断する。すなわち、「子端末2−2→子端末2−1→親端末1−1」の通信ルートが構築可能であると判断する。
そして、子端末2−2のテーブル処理部201は、子端末2−1から受信したHパケットの送信元端末ID部および端末種類部を参照することによって、端末IDおよび端末種類を取り出す。そして、テーブル記憶部101の通信可能端末管理テーブルTB1に新たなレコードを設け、この取り出した端末ID、端末種類、および算出した受信リンク通信品質を、隣接端末ID、端末種類、受信リンク通信品質にそれぞれ登録する。そして、子端末2−2のテーブル処理部201は、受信リンク通信品質を仮のリンク通信品質として、通信可能端末管理テーブルTB1のリンク通信品質に登録する。
さらに、子端末2−1が送信したHパケットを受信した子端末2−2では、通信処理部202が、この受信したHパケットの残レコード数部を参照することによって、子端末2−1が通信ルートを構築している親端末1−1の残レコード数を取得する。そして、子端末2−2のテーブル処理部201は、テーブル記憶部101の残レコード数テーブルTB3において、親端末1−1の端末IDに対応して、親端末1−1の残レコード数を登録する。
さらに、子端末2−3が、親端末1−2との間で通信リンクを既に構築しているとする。そして、子端末2−2が、子端末2−1からのHパケットを受信してから一定時間内に、子端末2−3からのHパケットも受信したとする(S6)。子端末2−3が送信したHパケットを受信した子端末2−2では、通信処理部202が、この受信したHパケットの端末種類部を参照することによって、Hパケットを送信した通信端末Aを判断する。そして、Hパケットを送信した通信端末Aが子端末2であると判断されると、この受信したHパケットの通信ルート部を参照する。子端末2−3が送信したHパケットの通信ルート部には、親端末1−2までの通信ルートが含まれており、子端末2−2は、親端末1−2と通信可能であると判断する。すなわち、「子端末2−2→子端末2−3→親端末1−2」の通信ルートが構築可能であると判断する。
そして、子端末2−2のテーブル処理部201は、上記同様に、子端末2−3のHパケットから取り出した端末ID、端末種類、および算出した受信リンク通信品質を、通信可能端末管理テーブルTB1の隣接端末ID、端末種類、受信リンク通信品質にそれぞれ登録する。そして、子端末2−2のテーブル処理部201は、受信リンク通信品質を仮のリンク通信品質として、通信可能端末管理テーブルTB1のリンク通信品質に登録する。
さらに、子端末2−3が送信したHパケットを受信した子端末2−2では、通信処理部202が、この受信したHパケットの残レコード数部を参照することによって、子端末2−3が通信ルートを構築している親端末1−2の残レコード数を取得する。そして、子端末2−2のテーブル処理部201は、テーブル記憶部101の残レコード数テーブルTB3において、親端末1−2の端末IDに対応して、親端末1−2の残レコード数を登録する。
このように複数の通信端末A(ここでは、子端末2−1,2−3)からHパケットを直接受信した子端末2−2では、通信処理部202が、記憶部10を参照して、自端末に端末IDが割り付けられているか否かを判断する。自端末に端末IDが割り付けられていない場合、子端末2−2は、端末IDの割り付けを要求する親端末1を決定するために、以下の処理を行う。
まず、複数の子端末2−1,2−3からHパケットを直接受信した子端末2−2では、通信処理部202が、子端末2−1,2−3のそれぞれを介した各通信ルートの通信コストを算出する。
子端末2において、子端末2−親端末1間の通信ルートの通信コストは、通信ルートのルート通信品質(リンク通信品質の和)と、通信ルートのホップ数と、親端末1の残レコード数とに基づいて算出される。
通信コストの算出式は、
通信コスト=Ka×[Hパケットの通信ルート部に含まれるルート通信品質+通信可能端末管理テーブルTB1のリンク通信品質]+Kb×[Hパケットの通信ルート部に含まれる通信ルート情報に基づくホップ数+1]+Kc×[1/残レコード数テーブルTB3の残レコード数]
で表される。なお、Kaは、通信ルートのルート通信品質(リンク通信品質の和)の重み係数である。Kbは、通信ルートのホップ数の重み係数である。Kcは、親端末1の残レコード数の重み係数である。
上記のように算出された通信コストは、親端末1−子端末2間の通信ルートにおける通信品質レベルであり、通信コストの値が低いほど、通信ルートにおける通信品質レベルが高くなる。
そして、子端末2−2の通信処理部202は、Hパケットの送信元である子端末2−1,2−3のそれぞれを介した各通信ルート(すなわち、親端末1−1、親端末1−2までの各通信ルート)について、上記通信コストを算出する。そして、親端末1−1,1−2のうち、通信コストが低いほう(すなわち、通信品質レベルが高いほう)に、端末IDの割り付けを要求するアドレス要求パケットを送信する(S7)。ここでは、子端末2−1を介した親端末1−1の通信ルートの通信コストが、子端末2−3を介した親端末1−2の通信ルートの通信コストより低く、子端末2−2は、子端末2−1を介してアドレス要求パケットを送信するものとする。なお、子端末2−2が、1台の通信端末AからのみHパケットを受信した場合は、この通信端末Aを介した通信ルートを用いて端末IDの割り付けを要求する。
このように、子端末2が複数の端末装置AからHパケットを受信した場合、通信ルートのルート通信品質と、通信ルートのホップ数と、親端末1の残レコード数とに基づいて、各端末装置Aを介して親端末1に至る通信ルートの通信コストを算出する。そして、複数の端末装置Aのうち、通信コストが最も低い通信ルートを形成する端末装置Aを介して、親端末1との間で通信ルートを構築する。
そして、本実施形態では、通信ルートのルート通信品質、通信ルートのホップ数だけでなく、親端末1の残レコード数も考慮して、通信コストを算出している。すなわち、親端末1の残レコード数が少なければ、通信コストが増大し、親端末1の残レコード数が多ければ、通信コストが低減する。したがって、特定の親端末1の配下に子端末2が集中することなく、親端末1との間で通信不可となる子端末2の発生を抑制できる。
子端末2−2が子端末2−1を介して送信するアドレス要求パケットをより具体的に例示すると、送信元端末ID部には「予約端末ID」が収容され、送信先端末ID部には「T1」が収容され、送信通信ルート部には「予約端末ID→T1→M1」が収容される。さらに、オペレーションコード部には「アドレス要求コード」が収容され、配布アドレス部には「null」が収容され、その隣接端末部には「T1」が収容され、そのリンク通信品質部には例えば「3」が収容される。
子端末2−2が送信したアドレス要求パケットを受信した子端末2−1では、通信処理部202が、アドレス要求パケットの送信通信ルート部を参照することによって、アドレス要求パケットの次の送信先が親端末1−1であると判断する。そして、通信処理部202は、次の送信先である親端末1−1の端末ID「M1」に送信先端末ID部を書き換えた後に、アドレス要求パケットを送信する(S8)。
子端末2−1が送信するアドレス要求パケット80bをより具体的に例示すると、送信元端末ID部には「T1」が収容され、送信先端末ID部には「M1」が収容され、送信通信ルート部には「予約端末ID→T1→M1」が収容される。さらに、オペレーションコード部には「アドレス要求コード」が収容され、配布アドレス部には「null」が収容され、その隣接端末部には「T1」が収容され、そのリンク通信品質部には「3」が収容される。
子端末2−1が中継したアドレス要求パケットを受信した親端末1−1では、通信処理部202が、アドレス要求パケットを送信した子端末2−2に端末IDを割り付ける。ここでは、子端末2−2に端末ID「T2」が割り付けられるものとする。
親端末1−1の通信処理部202は、受信したアドレス要求パケットに含まれる隣接端末ID「T1」、リンク通信品質「3」をそれぞれ取り出す。親端末1−1の通信処理部202は、アドレス要求パケットの隣接端末部に端末ID「T1」が収容されていることから、端末ID「T2」を割り付ける子端末2−2は、親端末1−1、端末ID「T1」に対応する子端末2−1に至る通信ルートによって通信可能であると判断する。そして、通信処理部202は、親端末1−1から、子端末2−1を経由して子端末2−2に至る通信ルート(M1→T1→T2)の通信ルートが構築されたと判断する。
さらに、親端末1−1の通信処理部202は、受信したアドレス要求パケットに含まれるリンク通信品質部から取り出したリンク通信品質「3」が、子端末2−1と子端末2−2との間におけるリンク通信品質であると判断する。通信処理部202は、親端末1−1から子端末2−1に至る通信ルートのルート通信品質「5」に、このリンク通信品質「3」を加算することによって、親端末1−1と子端末2−3との間における通信ルートのルート通信品質「8」を算出する。
親端末1−1では、テーブル処理部201が、子端末2−2に割り付けた端末ID「T2」と、ルート通信品質「8」と、ホップ数「2」と、第1ホップ「T1」と、第2ホップ「T2」とを、通信ルートテーブルTB21に登録する。
そして、親端末1−1は、アドレス応答パケットを送信する(S9)。
親端末1−1が作成するアドレス応答パケットをより具体的に例示すると、送信元端末ID部には「M1」が収容され、送信先端末ID部には「T1」が収容され、送信通信ルート部には「M1→T1→BC」が収容される。さらに、オペレーションコード部には「アドレス応答コード」が収容され、配布アドレス部には「T2」が収容され、その隣接端末部には「T1」が収容され、そのリンク通信品質部には「3」が収容される。
そして、親端末1−1が送信したアドレス応答パケットを受信した子端末2−1では、通信処理部202が、アドレス応答パケットの送信通信ルート部を参照することによって、アドレス応答パケットの次の送信先が子端末2−2であると判断する。そして、通信処理部202は、次の送信先である同報通信のコード「BC」に送信先端末ID部を書き換えた後に、アドレス応答パケットを送信する(S10)。
子端末2−1が送信するアドレス応答パケットをより具体的に例示すると、送信元端末ID部には「T1」が収容され、送信先端末ID部には「BC」が収容され、送信通信ルート部には「M1→T1→BC」が収容される。さらに、オペレーションコード部には「アドレス応答コード」が収容され、配布アドレス部には「T2」が収容され、その隣接端末部には「T1」が収容され、そのリンク通信品質部には「3」が収容される。
そして、子端末2−1が中継したアドレス応答パケットを受信した子端末2−2では、通信処理部202が、この受信したアドレス応答パケットに収容されている配布アドレス「T2」、隣接端末ID「T1」、リンク通信品質「3」をそれぞれ取り出す。
そして、子端末2−2は、自端末の端末IDに「T2」を設定する。さらに、子端末2−2では、テーブル処理部201が、通信可能端末管理テーブルTB1内において、隣接端末ID「T1」に対応して、送信リンク通信品質「3」を登録する。
また、子端末2−2の通信処理部202は、通信可能端末管理テーブルTB1内において、隣接端末ID「T1」に対応する受信リンク通信品質と送信リンク通信品質とを比較する。そして、通信状態の悪いリンク通信品質(数値が大きい方)を子端末2−1と子端末2−2との間におけるリンク通信品質とする。ここでは、リンク通信品質「3」とする。
そして、子端末2−2は、上述したように、「子端末2−2→子端末2−1→親端末1−1」の通信ルートが構築可能であると判断されている。そこで、子端末2−2のテーブル処理部201は、通信可能端末管理テーブルTB1から子端末2−1とのリンク通信品質を読み出す。さらにテーブル処理部201は、子端末2−1から受信したHパケットの通信ルート部に収容されている子端末2−1と親端末1−1との間のルート通信品質「5」に、子端末2−1とのリンク通信品質「3」を加算する。そして、この加算結果「8」が、親端末1−1との間のルート通信品質とされる。
すなわち、子端末2−2は、親端末1−1との間において、ホップ数「2」、ルート通信品質「8」で、「T2→T1→M1」の通信ルートが構築されている。したがって、子端末2−2のテーブル処理部201は、通信ルートテーブルTB22に、親端末1−1の端末ID「M1」、通信コスト「8」、ホップ数「2」、第1ホップ「T1」、第2ホップ「M1」を登録する。
このように、親端末1−1と子端末2−2とが、子端末2−1を介して間接的に通信可能な場合、子端末2−1のHパケット送信工程、子端末2−2のアドレス要求パケット送信工程、親端末1−1のアドレス応答パケット送信工程の3つの工程が実行される。そして、これらの工程が実行されることによって、子端末2−2の端末ID(通信アドレス)が設定され、互いに間接的に通信可能な親端末1−1と子端末2−2との間の通信ルートが双方で構築される。
このように、本実施形態では、親端末1と直接通信可能な子端末2、親端末1と間接的に通信可能な子端末2のいずれにおいても、通信ルートのルート通信品質、通信ルートのホップ数だけでなく、親端末1の残レコード数も考慮して、通信ルートを構築している。したがって、特定の親端末1の配下に子端末2が集中することなく、親端末1との間で通信不可となる子端末2の発生を抑制できる。
なお、親端末1−子端末2間に構築される通信ルートは、親端末1との間で通信ルートを構築した子端末2がHパケットを送信することによって、ホップ数3以上の通信ルートも上記同様に構築できる。
(実施形態2)
本実施形態のマルチホップ通信システムの構成は、実施形態1と同様であり、同様の構成には同一の符号を付して説明は省略する。
本実施形態において、端末IDが割り付けられていない子端末2が複数の通信端末AからHパケットを直接受信した場合、子端末2は、端末IDの割り付けを要求する親端末1を決定するために、以下の処理を行う。
まず、本実施形態では、複数の通信端末AからHパケットを受信した子端末2の通信処理部202は、Hパケットの送信元である各通信端末Aを用いた通信ルートのホップ数が所定の閾値R1以下であるか否かを判定する。この通信ルートのホップ数は、[Hパケットの通信ルート部に含まれる通信ルート情報に基づくホップ数+1]で求められる。
そして、Hパケットの送信元である複数の通信端末Aのうち、上記のように求めた通信ルートのホップ数が所定の閾値R1以下である通信端末Aについてのみ、通信端末Aのそれぞれを介した各通信ルートの通信コストを算出する。
さらに、上記閾値R1は、通信ルートを構成する親端末1の残レコード数に応じて、通信ルート毎に変動する。具体的には、上記通信ルートを構成する親端末1の残レコード数が多いほど、各通信ルートにおける上記閾値R1は高く設定される。例えば、定数a,bとすると、R1=a×残レコード数+bで表される。
例えば、複数の子端末2−1,2−3からHパケットを直接受信した子端末2−2では、通信処理部202が、子端末2−1,2−3のそれぞれを介した各通信ルートにおける上記閾値R1を算出する。ここで、子端末2−1が通信ルートを構築している親端末1の残レコード数が、子端末2−3が通信ルートを構築している親端末1の残レコード数より多いとする。この場合、子端末2−1を介した各通信ルートにおける上記閾値R1は、子端末2−3を介した各通信ルートにおける上記閾値R1より高く設定される。
一般に、子端末2の分布密度が高いエリアでは、親端末1の近傍に設置された子端末2がこの親端末1の配下になりやすく、この親端末1の残レコード数が少なくなり、上記閾値R1は低くなる。すなわち、この親端末1から遠い子端末2は、結果的に、この親端末1の配下になり難くなる(この親端末1から遠い子端末2は、他の近くの親端末1の配下になる)。一方、子端末2の分布密度が低いエリアでは、親端末1の近傍に設置された子端末2だけでは、残レコード数に余裕があるため、上記閾値R1は高くなる。すなわち、この親端末1から遠い子端末2は、結果的に、この親端末1の配下になり易くなる。
したがって、子端末2の分布密度に関わらず、各親端末1の配下になる子端末2の台数を均一にすることができる。また、子端末2の分布密度が低いエリアでは、親端末1の台数を低減させることが可能となる。
また、通信コストの算出式は、
通信コスト=Ka×[Hパケットの通信ルート部に含まれるルート通信品質+通信可能端末管理テーブルTB1のリンク通信品質]+Kc×[1/残レコード数テーブルTB3の残レコード数]
で表される。なお、Kaは、通信ルートのルート通信品質(リンク通信品質の和)の重み係数である。Kcは、親端末1の残レコード数の重み係数である。
上記のように算出された通信コストは、親端末1−子端末2間の通信ルートにおける通信品質レベルであり、通信コストの値が低いほど、通信ルートにおける通信品質レベルが高くなる。
そして、Hパケットを受信した子端末2の通信処理部202は、通信コストが最も低い通信端末Aを介して(または通信コストが最も低い通信端末Aに対して)、端末IDの割り付けを要求するアドレス要求パケットを送信する。
このように、子端末2が複数の端末装置AからHパケットを受信した場合、通信ルートのルート通信品質と、通信ルートのホップ数と、親端末1の残レコード数とに基づいて、各端末装置Aを介して親端末1に至る通信ルートの通信コストを算出する。そして、複数の端末装置Aのうち、通信コストが最も低い通信ルートを形成する端末装置Aを介して、親端末1との間で通信ルートを構築する。
(実施形態3)
本実施形態のマルチホップ通信システムの構成は、実施形態1と同様であり、同様の構成には同一の符号を付して説明は省略する。
本実施形態において、端末IDが割り付けられていない子端末2が複数の通信端末AからHパケットを直接受信した場合、子端末2は、端末IDの割り付けを要求する親端末1を決定するために、以下の処理を行う。
まず、本実施形態では、複数の通信端末AからHパケットを受信した子端末2の通信処理部202は、Hパケットの送信元である各通信端末Aを用いた通信ルートのルート通信品質(リンク通信品質の和)が、所定の閾値R2以下であるか否かを判定する。ここで、ルート品質には、通信品質値SQが用いられており、通信品質値SQは、その整数値が小さいほど、通信パケットの減衰が小さく、通信状態がよい。すなわち、ルート通信品質が、所定の閾値R2以下であるか否かを判定することは、通信ルートの通信品質の品質レベルが所定の閾値R3以上であるか否かを判定することに相当する。
この通信ルートのルート通信品質は、[Hパケットの通信ルート部に含まれるルート通信品質+通信可能端末管理テーブルTB1のリンク通信品質]で求められる。
そして、Hパケットの送信元である複数の通信端末Aのうち、上記のように求めたルート通信品質が所定の閾値R2以下である(すなわち、通信ルートの通信品質の品質レベルが所定の閾値R3以上である)通信端末Aについてのみ、通信端末Aのそれぞれを介した各通信ルートの通信コストを算出する。
さらに、上記閾値R2は、通信ルートを構成する親端末1の残レコード数に応じて、通信ルート毎に変動する。具体的には、上記通信ルートを構成する親端末1の残レコード数が多いほど、各通信ルートにおける上記閾値R2は高く設定される(すなわち、上記通信ルートを構成する親端末1の残レコード数が多いほど、各通信ルートにおける上記閾値R3は低く設定される)。例えば、定数a,bとすると、R2=a×残レコード数+bで表される。
例えば、複数の子端末2−1,2−3からHパケットを直接受信した子端末2−2では、通信処理部202が、子端末2−1,2−3のそれぞれを介した各通信ルートにおける上記閾値R2を算出する。ここで、子端末2−1が通信ルートを構築している親端末1の残レコード数が、子端末2−3が通信ルートを構築している親端末1の残レコード数より多いとする。この場合、子端末2−1を介した各通信ルートにおける上記閾値R2は、子端末2−3を介した各通信ルートにおける上記閾値R2より高く設定される。
上記のように構成することによって、子端末2の分布密度が低いエリアでは、親端末1の近傍に設置された子端末2だけでは、残レコード数に余裕があるため、上記閾値R2は高くなる。一般に、子端末2の分布密度が低いエリアでは、子端末2間の距離が長いため、リンク通信品質が悪化する傾向にあるが、多少リンク通信品質が悪い通信リンクも用いることによって、親端末1との間で通信ルートを構築し易くしている。
したがって、子端末2の分布密度に関わらず、各親端末1の配下になる子端末2の台数を均一にすることができる。また、子端末2の分布密度が低いエリアでは、親端末1の台数を低減させることが可能となる。
また、通信コストの算出式は、
通信コスト=Kb×[Hパケットの通信ルート部に含まれる通信ルート情報に基づくホップ数+1]+Kc×[1/残レコード数テーブルTB3の残レコード数]
で表される。なお、Kbは、通信ルートのホップ数の重み係数である。Kcは、親端末1の残レコード数の重み係数である。
上記のように算出された通信コストは、親端末1−子端末2間の通信ルートにおける通信品質レベルであり、通信コストの値が低いほど、通信ルートにおける通信品質レベルが高くなる。
そして、Hパケットを受信した子端末2の通信処理部202は、通信コストが最も低い通信端末Aを介して(または通信コストが最も低い通信端末Aに対して)、端末IDの割り付けを要求するアドレス要求パケットを送信する。
このように、子端末2が複数の端末装置AからHパケットを受信した場合、通信ルートのルート通信品質と、通信ルートのホップ数と、親端末1の残レコード数とに基づいて、各端末装置Aを介して親端末1に至る通信ルートの通信コストを算出する。そして、複数の端末装置Aのうち、通信コストが最も低い通信ルートを形成する端末装置Aを介して、親端末1との間で通信ルートを構築する。
(実施形態4)
本実施形態のマルチホップ通信システムの構成は、実施形態1と同様であり、同様の構成には同一の符号を付して説明は省略する。
本実施形態において、端末IDが割り付けられていない子端末2が複数の通信端末AからHパケットを直接受信した場合、子端末2は、端末IDの割り付けを要求する親端末1を決定するために、実施形態1と同様に、各通信ルートの通信コストを算出する。
通信コストの算出式は、
通信コスト=Ka×[Hパケットの通信ルート部に含まれるルート通信品質+通信可能端末管理テーブルTB1のリンク通信品質]+Kb×[Hパケットの通信ルート部に含まれる通信ルート情報に基づくホップ数+1]+Kc×[1/残レコード数テーブルTB3の残レコード数]
で表される。なお、Kaは、通信ルートのルート通信品質(リンク通信品質の和)の重み係数である。Kbは、通信ルートのホップ数の重み係数である。Kcは、親端末1の残レコード数の重み係数である。
上記のように算出された通信コストは、親端末1−子端末2間の通信ルートにおける通信品質レベルであり、通信コストの値が低いほど、通信ルートにおける通信品質レベルが高くなる。
そして、本実施形態では、親端末1の残レコード数の重み係数Kcが、通信ルートのホップ数が多くなるにつれて増大する。例えば、定数a,bとすると、Kc=a×通信ルートのホップ数+bで表される。すなわち、残レコード数に施される重み付けは、ホップ数が多くなるにつれて、通信コストが高くなる方向に変動する。
例えば、ホップ数が多い通信ルートとホップ数が少ない通信ルートがあり、両通信ルートにおいて、親端末1の残レコード数は同じであるとする。この場合、親端末1の残レコード数の重み係数Kcを、上記のように通信ルートのホップ数に応じて変動させているので、ホップ数が少ない通信ルートのほうが、ホップ数が多い通信ルートに比べて、通信ルートを構築する確率が高くなる。すなわち、子端末2は、親端末1に近いほど、この親端末1の残レコード数に関わらず、この親端末1との間で通信ルートを構築し易くなる。この構成は、物理配置上も妥当である。
(実施形態5)
本実施形態のマルチホップ通信システムの構成は、実施形態1と同様であり、同様の構成には同一の符号を付して説明は省略する。
本実施形態の親端末1は、親端末1の通信ルートテーブルTB21に登録可能なレコード数(すなわち、子端末2との間で構築可能な通信ルートの数)が、ホップ数の範囲毎に設定されている。例えば、通信ルートテーブルTB21に登録可能なレコード数の上限が「100」である場合、ホップ数「1」,「2」,「3」,「4」,「5以上」の範囲毎に、通信ルートテーブルTB21に登録可能なレコード数「20」を設定する。すなわち、親端末1の通信ルートテーブルTB21に登録可能なレコード数の上限「100」を、通信ルートのホップ数の各範囲に対応させて5分割している。
そして、親端末1は、ホップ数の範囲毎に、親端末1の通信ルートテーブルTB21に登録可能なレコード数「20」から、現在登録済のレコード数を引いた値を、ホップ数の範囲毎の残レコード数とする。
そして、親端末1がHパケットを送信した場合、Hパケットの残レコード数部は、Hパケットの送信元である親端末1の残レコード数が、ホップ数の範囲毎に収容される。子端末2がHパケットを送信した場合、Hパケットの残レコード数部は、Hパケットの送信元である子端末2が通信ルートを構築している親端末1の残レコード数が、ホップ数の範囲毎に収容される。
そして、子端末2のテーブル記憶部101には、図8に示す残レコード数テーブルTB3が格納されており、残レコード数テーブルTB3は、親端末1の残レコード数に関する情報を、テーブル形式で記憶している。具体的に、残レコードテーブルTB3は、端末ID、ホップ数の各範囲における残レコード数の各フィールドが設けられている。
子端末2が保持する残レコード数テーブルTB3において、端末IDは、親端末1に割り付けられた端末IDである。ホップ数の各範囲における残レコード数は、端末IDフィールドに登録された親端末1の残レコード数を、ホップ数の範囲毎に示す。
Hパケットを受信した子端末2では、通信処理部202が、この受信したHパケットの残レコード数部を参照することによって、この親端末1のホップ数の各範囲における残レコード数を取得する。そして、子端末2のテーブル処理部201は、テーブル記憶部101の残レコード数テーブルTB3において、親端末1の端末IDに対応して、親端末1−1の残レコード数をホップ数の範囲毎に登録する。
そして、端末IDが割り付けられていない子端末2が複数の通信端末AからHパケットを直接受信した場合、子端末2は、上記ホップ数の各範囲における残レコード数を考慮して、各通信ルートの通信コストを算出する。
通信コストの算出式は、
通信コスト=Ka×[Hパケットの通信ルート部に含まれるルート通信品質+通信可能端末管理テーブルTB1のリンク通信品質]+Kb×[Hパケットの通信ルート部に含まれる通信ルート情報に基づくホップ数+1]+Kc×[1/ホップ数に対応する残レコード数テーブルTB3の残レコード数]
で表される。なお、Kaは、通信ルートのルート通信品質(リンク通信品質の和)の重み係数である。Kbは、通信ルートのホップ数の重み係数である。Kcは、親端末1の残レコード数の重み係数である。
上記算出式の右辺の第2項[Hパケットの通信ルート部に含まれる通信ルート情報に基づくホップ数+1]は、通信ルートのホップ数である。そして、上記算出式の右辺の第3項において、[ホップ数に対応する残レコード数テーブルTB3の残レコード数]とは、この通信ルートのホップ数が属するホップ数の範囲における残レコード数である。
例えば、ある親端末1近傍の(通信ルートのホップ数が少ない)子端末2が無線ネットワークに新規参入したとする。しかし、通信ルートのホップ数が多い他の子端末2が、この親端末1と既に通信ルートを構築して、新規参入した子端末2がこの親端末との間で通信ルートを構築できない場合がある。
本実施形態では、ホップ数の範囲毎にレコード数を確保し、さらには、ホップ数の範囲毎の残レコード数を考慮した通信コストを算出するので、親端末1近傍の子端末2が、最も近い親端末1との間で通信ルートを構築できない事態を、回避しやすくなる。
また、通信ルートテーブルTB21に登録可能なレコード数の上限が「100」である場合、図9中の「○」のように、ホップ数「1」,「2」,「3」,「4」,「5以上」の範囲毎に、通信ルートテーブルTB21に登録可能なレコード数「20」を初期設定したとする。しかし、実際に通信ルートテーブルTB21に登録されたレコード数は、図9中の「●」に示されるように、ホップ数の範囲毎にばらつく場合がある。
そこで、親端末1の通信処理部202は、一定時間が経過する度に、通信ルートテーブルTB21に登録可能なレコード数を、ホップ数の範囲毎に既に登録されているレコード数に応じて変動させてもよい。例えば、図9中の「△」に示すように、ホップ数の範囲毎に、実際のレコード数に略比例する値に変更する。例えば、定数a,bとすると、登録可能なレコード数=a×登録済のレコード数+bで表される。
ホップ数の範囲毎に実際に登録されるレコード数は、実環境に応じて異なる。そこで、実際のレコード数の分布状態に合わせて、ホップ数の範囲毎に登録可能なレコード数を変動させる。したがって、登録可能なレコード数を実環境に合わせて設定できるので、子端末2が、親端末1との間で通信ルートを構築できない事態を、回避しやすくなる。
なお、上記各実施形態において、親端末1と子端末2とが、電力線搬送通信の技術を用いて構築した通信ネットワークであるPLCネットワークを構成してもよく、この場合も上記同様の効果を得ることができる。