以下、本発明の実施の形態を図面に基づいて説明する。
(実施形態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との間で通信を行っている。なお、親端末1−子端末2間の通信において、通信パケットを中継する他の子端末2を中継端末と称す。
図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の残レコード数に関する情報、および親端末1との間の通信コストに関する情報を、テーブル形式で記憶している。具体的に、レコード・コストテーブルTB3は、端末ID、残レコード数、通信コストの各フィールドが設けられている。
子端末2が保持するレコード・コストテーブルTB3において、端末IDは、親端末1に割り付けられた端末IDである。残レコード数は、端末IDフィールドに登録された親端末1の残レコード数を示す。通信コストは、端末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間の通信ルートの通信コストは、通信ルートのルート通信品質(リンク通信品質の和)と、通信ルートのホップ数とに基づいて算出される。
通信コストの算出式は、
通信コスト=Ka×[Hパケットの通信ルート部に含まれるルート通信品質+通信可能端末管理テーブルTB1のリンク通信品質]+Kb×[Hパケットの通信ルート部に含まれる通信ルート情報に基づくホップ数+1]
で表される。なお、Kaは、通信ルートのルート通信品質(リンク通信品質の和)の重み係数である。Kbは、通信ルートのホップ数の重み係数である。
上記のように算出された通信コストは、親端末1−子端末2間の通信ルートにおける通信品質レベルであり、通信コストの値が低いほど、通信ルートにおける通信品質レベルが高くなる。
ここで、親端末1が送信するHパケットの通信ルート部は、「null」(または空データ)となり、ホップ数「0」、ルート通信品質「0」に相当する。したがって、親端末1からHパケットを直接受信した子端末2と親端末1との間の通信コストは、
通信コスト=Ka×[通信可能端末管理テーブルTB1のリンク通信品質]+Kb×[1]
で表される。
そして、子端末2−1の通信処理部202は、Hパケットの送信元である親端末1−1,1−2について、上記通信コストを算出する。そして、子端末2−1のテーブル処理部201は、テーブル記憶部101のレコード・コストテーブルTB3において、親端末1−1,1−2の各端末IDに対応して、親端末1−1,1−2の各通信コストを登録する。
そして、子端末2−1の通信処理部202は、親端末1−1,1−2のうち、通信コストが低いほうに、端末IDの割り付けを要求するアドレス要求パケットを送信する(S3)。ここでは、親端末1−1の通信コストが、親端末1−2の通信コストより低く、子端末2−1は、親端末1−1へアドレス要求パケットを送信するものとする。なお、子端末2−1が、1台の親端末1からのみHパケットを受信した場合は、この親端末1に対して端末IDの割り付けを要求する。
このように、子端末2が複数の親端末1からHパケットを受信した場合、通信ルートのルート通信品質と、通信ルートのホップ数とに基づいて、各親端末1との間の通信コストを算出する。そして、複数の親端末1のうち、通信コストが最も低い親端末1(すなわち、通信ルートの通信品質レベルが最も高い親端末1)との間で通信ルートを構築する。
子端末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間の通信ルートの通信コストは、通信ルートのルート通信品質(リンク通信品質の和)と、通信ルートのホップ数とに基づいて算出される。
通信コストの算出式は、
通信コスト=Ka×[Hパケットの通信ルート部に含まれるルート通信品質+通信可能端末管理テーブルTB1のリンク通信品質]+Kb×[Hパケットの通信ルート部に含まれる通信ルート情報に基づくホップ数+1]
で表される。なお、Kaは、通信ルートのルート通信品質(リンク通信品質の和)の重み係数である。Kbは、通信ルートのホップ数の重み係数である。
上記のように算出された通信コストは、親端末1−子端末2間の通信ルートにおける通信品質レベルであり、通信コストの値が低いほど、通信ルートにおける通信品質レベルが高くなる。
そして、子端末2−2の通信処理部202は、Hパケットの送信元である子端末2−1,2−3のそれぞれを介した各通信ルート(すなわち、親端末1−1、親端末1−2までの各通信ルート)について、上記通信コストを算出する。そして、子端末2−2のテーブル処理部201は、テーブル記憶部101のレコード・コストテーブルTB3において、親端末1−1,1−2の各端末IDに対応して、親端末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パケットを受信した場合、通信ルートのルート通信品質と、通信ルートのホップ数とに基づいて、各端末装置Aを介して親端末1に至る通信ルートの通信コストを算出する。そして、複数の端末装置Aのうち、通信コストが最も低い通信ルートを形成する端末装置Aを介して、親端末1との間で通信ルートを構築する。
子端末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−子端末2間に構築される通信ルートは、親端末1との間で通信ルートを構築した子端末2がHパケットを送信することによって、ホップ数3以上の通信ルートも上記同様に構築できる。
次に、各子端末2が、いずれかの親端末1との間で上記のように通信ルートを構築した後の処理について説明する。
まず、Hパケットは、無線ネットワークの通信トラフィックを抑制するために、通信端末Aが親端末1に設定されている場合、および通信端末Aが、親端末1までの通信ルートが構築されている子端末2である場合に、各通信端末Aから送信される。そして、各通信端末AにおけるHパケットの送信処理は、通信端末A毎に一定時間間隔で行われる。
したがって、子端末2は、上記のように親端末1との間で通信ルートを構築した後も、直接通信可能な(隣接する)親端末1および子端末2からHパケット(図7(a)参照)を受信する。Hパケットを送信した通信端末Aが親端末1である場合、Hパケットの残レコード数部は、Hパケットの送信元である親端末1の残レコード数が収容される。Hパケットを送信した通信端末Aが子端末2である場合、Hパケットの残レコード数部は、Hパケットの送信元である子端末2が通信ルートを構築している親端末1の残レコード数が収容される。
そして、ある親端末1との間で通信ルートを構築した後にHパケットを受信した子端末2では、通信処理部202が、受信したHパケットに含まれる残レコード数を取得する。すなわち、通信処理部202は、現在自端末との間で通信ルートを構築している親端末1の残レコード数だけでなく、無線ネットワーク内の他の親端末1の各々の残レコード数も取得できる。そして、この子端末2のテーブル処理部201は、テーブル記憶部101のレコード・コストテーブルTB3において、無線ネットワーク内の他の親端末1の端末IDに対応して、親端末1の残レコード数を登録する。ここで、レコード・コストテーブルTB3に残レコード数が登録される親端末1は、当該子端末2との間に、直接または間接に通信ルートを構築可能な端末である。このレコード・コストテーブルTB3は、Hパケットを受信する度に、最新の残レコード数に更新される。
また、ある親端末1との間で通信ルートを構築した後にHパケットを受信した子端末2では、通信処理部202が、上記同様にルート通信品質とホップ数とに基づいて、各通信ルートの通信コストを算出する。そして、この子端末2のテーブル処理部201は、テーブル記憶部101のレコード・コストテーブルTB3において、無線ネットワーク内の他の親端末1の各端末IDに対応して、各通信コストを登録する。
上記のように、子端末2の各々は、いずれか1台の親端末1との間で通信ルートを構築した後も、無線ネットワーク内の他の親端末1の残レコード数および通信コストの各情報を取得している。
しかしながら、いずれの親端末1とも通信ルートをまだ構築していない子端末2(例えば、新規参入)は、自端末との間で通信可能な全ての親端末1の残レコード数が「0」である場合、この子端末2は親端末1との間で通信ルートを構築できない事態が発生する。
子端末2は、通信端末Aから受信したHパケットに基づいて、通信可能な親端末1の残レコードをレコード・コストテーブルTB3に格納している。そして、レコード・コストテーブルTB3内において、いずれかの親端末1の残レコード数が閾値「0」を上回っている場合、残レコード数が閾値「0」を上回っている親端末1のうち、上述のように最も通信コストの低い親端末1との間で通信ルートを構築する。
しかしながら、子端末2は、自端末のレコード・コストテーブルTB3内において、全ての親端末1の残レコード数が「0」であり、いずれの親端末1とも通信ルートを構築することができない場合、以下の処理を行う。ここで、残レコード数の閾値「0」が、本発明の所定の閾値に相当する。
まず、子端末2−3が、いずれの親端末1とも通信ルートを構築することができないものとする。この子端末2−3は、自端末のレコード・コストテーブルTB3に格納されている端末IDを割り付けられている全ての親端末1(Hパケットによって、残レコード情報を受信した親端末1)に対して、参入不可能通知パケットを送信する。この参入不可能通知パケットの送信先となる親端末1は、残レコード数「0」の端末である。
参入不可能通知パケットを受信した親端末1、例えば親端末1−1,1−2は、自端末との間で通信ルートを構築している子端末2へ親端末変更要求パケットを送信する。
親端末変更要求パケットを受信した子端末2の通信処理部202は、自端末のレコード・コストテーブルTB3を参照して、自端末が現在通信ルートを構築している親端末1(1−1,1−2)以外で、残レコード数が閾値「0」以上の親端末1を判別する。すなわち、親端末変更要求パケットを受信した子端末2は、自端末が現在通信ルートを構築している親端末1(1−1,1−2)以外で、自端末との間で通信ルートを構築可能な親端末1を判別する。そして、親端末変更要求パケットを受信した子端末2の通信処理部202は、自端末との間で通信ルートを構築している親端末1以外で、自端末との間で通信ルートを構築可能、且つ通信コストが最も低い親端末1に対して、アドレス要求パケットを送信する。ここで、親端末1−1の配下にある子端末2は、親端末1−3にアドレス要求パケットを送信し、親端末1−2の配下にある子端末2は、親端末1−4にアドレス要求パケットを送信するものとする。
親端末1−1,1−2の各配下でアドレス要求パケットを送信した各子端末2は、上記同様に、親端末1−3,1−4からアドレス応答パケットを受信し、親端末1−3,1−4から割り付けられた新しい端末IDを自端末に設定する。すなわち、アドレス要求パケットを送信した子端末2は、自端末と通信ルートを構築する親端末1を、親端末1−1,1−2から親端末1−3,1−4に切り替える。
したがって、親端末1−1,1−2の各配下にある子端末2の台数が減少する。ここで、子端末2は、一定時間毎にルート通知パケット等のルーティングプロトコルパケットを送信している。ルート通知パケットとは、自端末が親端末1との間で構築している通信ルート情報を格納したもので、自端末が通信ルートを構築している親端末1に対して送信される。そして、親端末1は、配下の子端末2からルート通知パケット等のルーティングプロトコルパケットを一定期間受信できないことによって、この子端末2が自端末の配下から離脱したことを検出できる。而して、親端末1−1,1−2の各テーブル処理部201は、通信ルートテーブルTB21(図4(a)参照)から、離脱した子端末2のレコードを削除することによって、自端末の残アドレス数が増加する。
そして、通信ルートをまだ構築していない子端末2−3は、ハローパケットの受信によって、自端末のレコード・コストテーブルTB3内において、親端末1−1,1−2の残レコード数が増加する。したがって上記同様に、親端末1−1,1−2のうち、いずれか通信コストの低い端末との間で通信ルートを構築することが可能となる。
このように、親端末1との間で通信ルートを構築不可能な子端末2は、自端末と通信可能な親端末1の残レコード数を増やした後に、この親端末1との間で通信ルートを構築する。したがって、特定の親端末1の配下に子端末2が集中することなく、親端末1との間で通信不可となる子端末2の発生を抑制できる。
なお、いずれの親端末1とも通信ルートを構築することができない子端末2は、自端末のレコード・コストテーブルTB3において端末IDを割り付けられている親端末1のうち、通信コストの最も低い親端末1のみに参入不可能通知パケットを送信してもよい。
(実施形態2)
本実施形態のマルチホップ通信システムの構成は、実施形態1と同様であり、同様の構成には同一の符号を付して説明は省略する。
本実施形態では、通信ルートを構築する親端末1を変更する子端末2を選択する構成に特徴を有するものである。
まず、親端末1との間で通信ルートを構築している子端末2は、通信ルートの構築後に受信したHパケットの情報をレコード・コストテーブルTB3(図5参照)に格納している。すなわち、子端末2は、現在通信ルートを構築している親端末1以外に通信可能な他の親端末1の情報を有している。
そして、通信ルートを構築している子端末2は、一定時間毎に、トポロジー通知パケットを、現在通信ルートを構築している親端末1へ送信する。このトポロジー通知パケットは、トポロジー通知パケットの送信元の子端末2について、現在通信ルートを構築している親端末1以外に通信可能な他の親端末1の端末IDおよび残レコード数の各情報を含む。
配下の子端末2からトポロジー通知パケットを受信した親端末1は、このトポロジー通知パケットに基づいて、テーブル記憶部101の子トポロジーテーブルTB4を作成する。子トポロジーテーブルTB4は、図8に示すように、端末ID、通信可能な他の親端末1の台数の各フィールドが設けられている。
親端末1が保持する子トポロジーテーブルTB4において、端末IDは、自端末との間で通信ルートが構築された配下の子端末2に割り付けられた端末IDである。通信可能な他の親端末1の台数は、端末IDフィールドに登録された子端末2が通信可能で、且つ残レコード数が閾値「0」を上回っている他の親端末1の台数を示す。
すなわち、この親端末1は、子トポロジーテーブルTB4を参照することによって、配下の子端末2の各々が通信可能な他の親端末1の台数を認識している。すなわち配下の子端末2の各々が切り替え可能な親端末1の台数を認識できるのである。
以下、本無線ネットワークにおける通信ルートの構築について、図9のシーケンスを用いて説明する。
そして、親端末1の通信処理部202は、自端末の残レコード数が「0」のときに、通信ルートが未構築である子端末2から参入不可能通知パケットを受信した場合(S21)、子トポロジーテーブルTB4を参照する。そして、この通信処理部202は、配下の子端末2のうち、他の親端末1との間に通信可能な通信ルートを有している子端末2(通信可能な他の親端末1の台数が1以上の子端末2)を抽出する。さらに、通信処理部202は、受信した参入不可能通知パケットに基づいて、参入不可能通知パケットの送信元の子端末2の台数を検出し、この検出した台数を変更対象台数とする。そして、通信処理部202は、他の親端末1との間に通信可能な通信ルートを有している子端末2から、上記変更対象台数と同数の子端末2のみに対して、親端末変更要求パケットを送信する(S22)。このとき、親端末変更要求パケットを送信する対象となる子端末2は、子トポロジーテーブルTB4において通信可能な他の親端末1の台数が多い順に選択される。
以降は、実施形態1と同様に、親端末1−子端末2間で、子端末2によるアドレス要求パケットの送信(S23)、親端末1によるアドレス応答パケット送信(S24)が行われ、アドレス応答パケットを受信した子端末2は、自端末と通信ルートを構築する親端末1を切り替える。したがって、参入不可能通知パケットを受信した親端末1は、自端末の残レコード数を増加させることができる。
このように、親端末1との間で通信ルートを構築不可能な子端末2は、自端末と通信可能な親端末1の残レコード数を増やした後に、この親端末1との間で通信ルートを構築する。したがって、特定の親端末1の配下に子端末2が集中することなく、親端末1との間で通信不可となる子端末2の発生を抑制できる。
さらに、本実施形態において、残レコード数が「0」である親端末1は、他の親端末1との間に通信可能な通信ルートを有している配下の子端末2のうち、通信ルートの変更が必要な最小限の台数の子端末2にのみ親端末変更要求パケットを送信する。したがって、ネットワーク構成の変更を最小限に抑えることができ、さらには通信トラフィックも抑制できる。
さらに、残レコード数が「0」である親端末1は、切り替え可能な他の親端末1をより多く具備している子端末2に対して、親端末変更要求パケットを送信するので、切り替え後の通信ルートの通信品質をできるだけ高くすることができる。
(実施形態3)
本実施形態のマルチホップ通信システムの構成は、実施形態1と同様であり、同様の構成には同一の符号を付して説明は省略する。
本実施形態では、通信ルートを構築する親端末1を変更する子端末2を選択する構成に特徴を有するものである。
まず、親端末1との間で通信ルートを構築している本実施形態の子端末2は、無線ネットワーク内で、自端末が中継端末として機能しているか否かを認識している。ここで、親端末1−子端末2間の通信において、通信パケットを中継する子端末2を中継端末と称す。
具体的に、通信端末Aが送受信する通信パケットには、当該通信パケットの通信ルートに関する情報が含まれている(図7(a)に示すHパケットの通信ルート部、図7(b)に示すアドレス要求パケットおよびアドレス応答パケットの送信通信ルート部等)。この通信ルートに関する情報は、通信ルートにおいて経由する通信端末Aの端末IDが順に並べられることによって表されており、子端末2は、他の通信端末Aから受信した通信パケットを参照することによって、自端末が中継端末であるか否かを判定できる。すなわち、通信ルート中において、自端末の端末IDが末尾になく途中にあれば、自端末は中継端末である。
このように、通信端末Aは、他の通信端末Aから受信した通信パケットを中継転送した場合に、自端末が中継端末であると判断するが、その後も中継端末であり続けるとは限らない。例えば、他の子端末2が無線ネットワークから離脱したり、伝送路状況の変化によって別の通信ルートに変更することによって、中継端末ではなくなる場合がある。したがって、他の通信端末Aから受信した通信パケットを中継転送してから一定時間Y1が経過するまでの間、自端末は中継端末であると判断すればよい。具体的には、通信パケットを中継転送した際に、時間Y1の計時を開始し、時間Y1が経過するまでに新たな通信パケットを中継転送した場合、時間Y1の計時を再スタートする。一方、時間Y1が経過するまでに新たな通信パケットを中継転送しなかった場合、自端末は中継端末ではないと判断する。
そして、通信ルートを構築している子端末2は、一定時間毎に、トポロジー通知パケットを、現在通信ルートを構築している親端末1へ送信する。このトポロジー通知パケットは、トポロジー通知パケットの送信元の子端末2が中継端末であるか否かを示す。
配下の子端末2からトポロジー通知パケットを受信した親端末1は、このトポロジー通知パケットに基づいて、配下の子端末2が中継端末であるか否かを判別でき、この判別結果を、テーブル記憶部101の子トポロジーテーブルTB5に格納する。子トポロジーテーブルTB5は、図10に示すように、端末ID、中継端末の各フィールドが設けられている。なお、親端末1は、自端末の通信ルートテーブルTB21を参照することによっても、配下の子端末2が中継端末であるか否かを判別できるので、配下の子端末2からのトポロジー通知パケットは必ずしも必要ではない。
親端末1が保持する子トポロジーテーブルTB5において、端末IDは、自端末との間で通信ルートが構築された配下の子端末2に割り付けられた端末IDである。中継端末は、端末IDフィールドに登録された子端末2が中継端末であれば「○」、中継端末でなければ「×」が登録される。
すなわち、この親端末1は、子トポロジーテーブルTB5を参照することによって、配下の子端末2の各々が中継端末であるか否かを認識できる。
そして、親端末1の通信処理部202は、自端末の残レコード数が「0」のときに、通信ルートが未構築である子端末2から参入不可能通知パケットを受信した場合、子トポロジーテーブルTB5を参照する。そして、この通信処理部202は、配下の子端末2のうち、中継端末でない子端末2に対して、親端末変更要求パケットを送信する。
以降は、実施形態1と同様に、親端末1−子端末2間で、子端末2によるアドレス要求パケットの送信、親端末1によるアドレス応答パケット送信が行われ、アドレス応答パケットを受信した子端末2は、自端末と通信ルートを構築する親端末1を切り替える。したがって、参入不可能通知パケットを受信した親端末1は、自端末の残レコード数を増加させることができる。
このように、親端末1との間で通信ルートを構築不可能な子端末2は、自端末と通信可能な親端末1の残レコード数を増やした後に、この親端末1との間で通信ルートを構築する。したがって、特定の親端末1の配下に子端末2が集中することなく、親端末1との間で通信不可となる子端末2の発生を抑制できる。
また、無線ネットワークの中で、中継端末として機能している子端末2が、通信ルートを構築する親端末1を切り替えた場合、この子端末2を中継端末として用いている他の子端末2(以降、従属端末と称す)の通信ルートが失われる虞がある。また、中継端末として機能している子端末2が、通信ルートを構築する親端末1を切り替えることによって、従属端末の通信ルートも変更され、特定の親端末1の配下に子端末2が集中する虞もある。
しかし、本実施形態では、上記のように、中継端末として機能している子端末2は、現在の通信ルートを維持するので、上記問題は発生しない。すなわち、無線ネットワーク内における通信の信頼性を維持することができる。
さらに、実施形態2と同様に、参入不可能通知パケットの送信元の子端末2の台数や、子トポロジーテーブルTB4において通信可能な他の親端末1の台数に基づいて、親端末変更要求パケットの送信先をさらに限定してもよい。
(実施形態4)
本実施形態のマルチホップ通信システムの構成は、実施形態1と同様であり、同様の構成には同一の符号を付して説明は省略する。
本実施形態では、通信ルートを構築する親端末1を変更する子端末2を選択する構成に特徴を有するものである。
まず、親端末1との間で通信ルートを構築している本実施形態の子端末2は、無線ネットワーク内で、自端末が中継端末として機能しているか否かを認識している。ここで、親端末1−子端末2間の通信において、通信パケットを中継する子端末2を中継端末と称す。
具体的に、通信端末Aが送受信する通信パケットには、当該通信パケットの通信ルートに関する情報が含まれている(図7(a)に示すHパケットの通信ルート部、図7(b)に示すアドレス要求パケットおよびアドレス応答パケットの送信通信ルート部等)。この通信ルートに関する情報は、通信ルートにおいて経由する通信端末Aの端末IDが順に並べられることによって表されており、子端末2は、他の通信端末Aから受信した通信パケットを参照することによって、自端末が中継端末であるか否かを判定できる。すなわち、通信ルート中において、自端末の端末IDが末尾になく途中にあれば、自端末は中継端末である。さらに、子端末2は、他の通信端末Aから受信した通信パケットを参照することによって、自端末を中継端末として用いている他の子端末2(以降、従属端末と称す)の台数も把握できる。
そして、通信ルートを構築している子端末2は、一定時間毎に、トポロジー通知パケットを、現在通信ルートを構築している親端末1へ送信する。このトポロジー通知パケットは、トポロジー通知パケットの送信元の子端末2が中継端末であるか否かを示すとともに、トポロジー通知パケットの送信元の子端末2が中継端末である場合には、その従属端末の台数の情報も含まれる。
配下の子端末2からトポロジー通知パケットを受信した親端末1は、このトポロジー通知パケットに基づいて、配下の子端末2が中継端末であるか否かを判別でき、さらにはその従属端末の台数も判別できる。そして、この判別結果を、テーブル記憶部101の子トポロジーテーブルTB6に格納する。子トポロジーテーブルTB6は、図11に示すように、端末ID、中継端末、従属端末の台数の各フィールドが設けられている。なお、親端末1は、自端末の通信ルートテーブルTB21を参照することによっても、配下の子端末2が中継端末であるか否かを判別でき、さらにはその従属端末の台数も判別できるので、配下の子端末2からのトポロジー通知パケットは必ずしも必要ではない。
親端末1が保持する子トポロジーテーブルTB6において、端末IDは、自端末との間で通信ルートが構築された配下の子端末2に割り付けられた端末IDである。中継端末は、端末IDフィールドに登録された子端末2が中継端末であれば「○」、中継端末でなければ「×」が登録される。従属端末の台数は、端末IDフィールドに登録された子端末2が中継端末であれば、その従属端末の台数が登録される。なお、端末IDフィールドに登録された子端末2が中継端末でなければ、その従属端末の台数には「0台」が登録される。
すなわち、この親端末1は、子トポロジーテーブルTB6を参照することによって、配下の子端末2の各々が中継端末であるか否かを認識でき、その従属端末の台数も認識できる。
そして、親端末1の通信処理部202は、自端末の残レコード数が「0」のときに、通信ルートが未構築である子端末2から参入不可能通知パケットを受信した場合、子トポロジーテーブルTB6を参照する。そして、この通信処理部202は、従属端末の台数が少ない順に、高い優先度を配下の子端末2に付与する。
さらに、参入不可能通知パケットを受信した親端末1の通信処理部202は、受信した参入不可能通知パケットに基づいて、参入不可能通知パケットの送信元の子端末2の台数を検出し、この検出した台数を変更対象台数とする。
そして、参入不可能通知パケットを受信した親端末1の通信処理部202は、子トポロジーテーブルTB6を参照して、上記優先度の高い順に、変更対象台数分の子端末2のみに対して、親端末変更要求パケットを送信する。
以降は、実施形態1と同様に、親端末1−子端末2間で、子端末2によるアドレス要求パケットの送信、親端末1によるアドレス応答パケット送信が行われ、アドレス応答パケットを受信した子端末2は、自端末と通信ルートを構築する親端末1を切り替える。したがって、参入不可能通知パケットを受信した親端末1は、自端末の残レコード数を増加させることができる。
このように、親端末1との間で通信ルートを構築不可能な子端末2は、自端末と通信可能な親端末1の残レコード数を増やした後に、この親端末1との間で通信ルートを構築する。したがって、特定の親端末1の配下に子端末2が集中することなく、親端末1との間で通信不可となる子端末2の発生を抑制できる。
また、無線ネットワークの中で、中継端末として機能している子端末2が、通信ルートを構築する親端末1を切り替えた場合、この子端末2を中継端末として用いている他の子端末2(以降、従属端末と称す)の通信ルートが失われる虞がある。また、中継端末として機能している子端末2が、通信ルートを構築する親端末1を切り替えることによって、従属端末の通信ルートも変更され、特定の親端末1の配下に子端末2が集中する虞もある。
しかし、本実施形態では、残レコード数が「0」である親端末1の配下にある子端末2に対して、その従属端末の台数に応じて、親端末変更要求パケットの送信の可否を決定している。したがって、無線ネットワーク内における通信の信頼性を維持するとともに、特定の親端末1の配下に子端末2が集中することなく、親端末1との間で通信不可となる子端末2の発生を抑制することができる。
さらに、実施形態2と同様に、子トポロジーテーブルTB4において通信可能な他の親端末1の台数に基づいて、親端末変更要求パケットの送信先をさらに限定してもよい。
(実施形態5)
本実施形態のマルチホップ通信システムの構成は、実施形態1乃至4いずれかと同様であり、同様の構成には同一の符号を付して説明は省略する。
本実施形態において、現在自端末との間で通信ルートを構築している親端末1−1から親端末変更要求パケットを受信した子端末2−2は、以下のように動作する。
親端末変更要求パケットを受信した子端末2−2は、レコード・コストテーブルTB3において残レコード数が閾値「0」を上回っている1乃至複数の親端末1のうち、通信コストが最小である親端末1、例えば親端末1−2を選択する。
そして、子端末2−2の通信処理部202は、現在自端末との間で通信ルートを構築している親端末1−1へ親端末変更通知パケットを送信した後に、上記通信コストが最小である親端末1−2へアドレス要求パケットを送信する。
子端末2−2から親端末変更通知パケットを受信した親端末1−1では、テーブル処理部201が、通信ルートテーブルTB21(図4(a)参照)内の子端末2−2に関する通信ルート情報を削除し、残レコード数を1つ増やす(インクリメントする)。したがって、親端末1−1は、自端末の残レコード数を増加させることができる。
また、親端末1−2へアドレス要求パケットを送信した子端末2−2は、親端末1−2から上記同様にアドレス応答パケットを受信し、親端末1−2から割り付けられた新しい端末IDを自端末に設定する。すなわち、子端末2−2は、自端末と通信ルートを構築する親端末1を、親端末1−1から親端末1−2に切り替える。
そして、親端末1−1では、残レコード数が閾値「0」を上回った場合に、配下の全ての子端末2へ親端末変更停止パケットを送信する。親端末変更停止パケットを受信した子端末2は、親端末変更通知パケットの送信を停止して、親端末1−1との間で構築している現在の通信ルートを維持する。なお、親端末変更停止パケットは、独立した通信パケットで構成してもよく、あるいは、例えばHパケット内に親端末変更停止のデータを格納してもよい。
一方、子端末2−2が、親端末1−1へ親端末変更通知パケットを送信することなく、親端末1−2へアドレス要求パケットのみを送信した場合、親端末1−1は、自端末の配下から子端末2−2が離脱したことを検知するのに時間がかかる。例えば、子端末2は、一定時間毎にルート通知パケット等のルーティングプロトコルパケットを送信している。ルート通知パケットとは、自端末が親端末1との間で構築している通信ルート情報を格納したもので、自端末が通信ルートを構築している親端末1に対して送信される。そして、親端末1−1は、子端末2−2からルート通知パケット等のルーティングプロトコルパケットを一定期間受信できないことによって、子端末2−2が自端末の配下から離脱したことを検出できる。すなわち、親端末1−1は、子端末2−2が自端末の配下から実際に離脱してからある程度時間が経過した後に、子端末2−2の離脱を検出する。したがって、親端末1−1が子端末2−2の離脱を検出するまでに、親端末1−1の配下にある子端末2の台数が必要以上に低減したり、親端末1−2の配下にある子端末2の台数が必要以上に増加することが考えられる。
本実施形態では、上記のように、通信ルートを構築する親端末1を切り替える子端末2は、現在の通信ルートを構築している旧親端末1に対して親端末変更通知パケットを送信するともに、新親端末1へアドレス要求パケットを送信する。さらに旧親端末1は、残レコード数が増加した場合、配下の全ての子端末2へ親端末変更停止パケットを送信する。したがって、旧親端末1は、配下の子端末2が自端末の配下から離脱したことをリアルタイムに検出でき、不必要に多くの子端末2が自端末の配下から離脱することを防止できる。すなわち、旧親端末1の配下になる子端末2の台数が必要以上に低減することや、新親端末1の配下になる子端末2の台数が必要以上に増加することを防止でき、親端末1の配下になる子端末2の台数をより均一化できる。
(実施形態6)
本実施形態のマルチホップ通信システムの構成は、実施形態1乃至4いずれかと同様であり、同様の構成には同一の符号を付して説明は省略する。以下、本無線ネットワークにおける通信ルートの構築について、図12のシーケンスを用いて説明する。
本実施形態において、現在自端末との間で通信ルートを構築している親端末1−1から親端末変更要求パケットを受信した子端末2−2は、以下のように動作する。
親端末変更要求パケットを受信した子端末2−2は、レコード・コストテーブルTB3において残レコード数が閾値「0」を上回っている1乃至複数の親端末1のうち、通信コストが最小である親端末1、例えば親端末1−2を選択する(S31)。
そして、子端末2−2の通信処理部202は、現在自端末との間で通信ルートを構築している親端末1−1へ親端末変更可能パケットを送信する(S32)。
親端末変更可能パケットを受信した親端末1−1では、通信処理部202が、自端末の通信ルートテーブルTB21における残レコード数が「0」(閾値以下)であれば、親端末変更可能パケットの送信元である子端末2−2へ親端末変更許可パケットを送信する(S33)。さらに、親端末1−1のテーブル処理部201は、通信ルートテーブルTB21(図4(a)参照)内の子端末2−2に関する通信ルート情報を削除し、残レコード数を1つ増やす(インクリメントする)。したがって、親端末1−1は、自端末の残レコード数を増加させることができる。
そして、親端末1−1から親端末変更許可パケットを受信した子端末2−2は、親端末1−2へアドレス要求パケットを送信した後に(S34)、親端末1−2から上記同様にアドレス応答パケットを受信し、親端末1−2から割り付けられた新しい端末IDを自端末に設定する(S35)。すなわち、子端末2−2は、自端末と通信ルートを構築する親端末1を、親端末1−1から親端末1−2に切り替える。
本実施形態では、上記のように、通信ルートを構築する親端末1を切り替える子端末2は、現在の通信ルートを構築している旧親端末1に対して親端末変更可能パケットを送信する。親端末変更可能パケットを受信した旧親端末1は、自端末の残レコード数が閾値以下であれば子端末2へ親端末変更許可パケットを送信する。子端末2は、旧端末1から親端末変更許可パケットを受信した後に、新親端末1へアドレス要求パケットを送信する。したがって、旧親端末1は、自端末の残レコード数に基づいて親端末変更許可パケットを送信するので、配下の子端末2が自端末の配下から離脱することをリアルタイムに検出できるとともに、不必要に多くの子端末2が自端末の配下から離脱することをより防止できる。
例えば、実施形態5の構成では、親端末変更停止パケット(または、親端末変更停止のデータを格納したHパケット)の授受と入れ違いになる微妙なタイミングで、子端末2が通信ルートを変更する虞がある。しかし、本実施形態では、親端末1が、子端末2の通信ルート変更の可否を、自端末の残レコード数に応じてリアルタイムに判断している。したがって、旧親端末1の配下にある子端末2の台数が必要以上に低減することや、新親端末1の配下にある子端末2の台数が必要以上に増加することを防止でき、親端末1の配下になる子端末2の台数をより均一化できる。
また、上記各実施形態において、残レコード数と比較する閾値を「0」に設定しているが、この閾値は「1」以上の整数であってもよい。
なお、上記各実施形態において、親端末1と子端末2とが、電力線搬送通信の技術を用いて構築した通信ネットワークであるPLCネットワークを構成してもよく、この場合も上記同様の効果を得ることができる。