以下、本発明に係る実施形態を図面に基づいて説明する。なお、各図において、同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。
(第1の実施形態)
以下に、本発明を実施するための第1の実施形態を図1〜図7を用いて説明する。本実施形態では、本発明の通信ルートの構築方法をPLCネットワークに用いたものである。
図1は、本発明の第1の実施形態に係る電力線搬送通信ネットワーク1の構成を示す図である。電力線搬送通信ネットワーク(以下、「PLCネットワーク」と略す)1は、例えば、集合住宅用のビルディング等で用いられ、電力線L(L1、L2)で接続された複数の通信端末10(10a、10b)を備えて構成される。複数の通信端末(以下、「端末」と略す)10は、親となる1個の端末10a(以下、「親端末10a」とする)と、子となる他の複数の端末10b(以下、「子端末10b」とする)とから成る。
電力線Lは、所定の通信網の一例であり、分電盤(図略)からビルディング内に導入された幹線L1と、幹線L1から分岐された1又は複数の分岐線L2とを備えて構成される。親端末10aは、幹線L1に接続され、子端末10bは、分岐線L2に接続される。これらの端末10は、幹線L1及び分岐線L2を介して、端末10間で所定の通信プロトコルを用いてPLCを行い、これによって、例えば、親端末10aに子端末10bに関する所定の情報を取得させて、親端末10aによる子端末10bの遠隔監視が行われるものである。所定のプロトコルは、例えば、SCPやエコーネット等である。
図2は、図1に示すPLCネットワーク1における端末10間で構築された通信ルートを示す図である。矢印線11は、本発明にかかる通信ルート構築方法を用いて、各端末10間で構築された通信ルートを示し、子端末10bが親端末10aに直接乃至は他の子端末10bに中継されて通信可能なように、端末10間の通信ルートが構築されている。
本実施形態では、各子端末10bが、親端末10aとの通信品質のより良い、即ち、親端末10aとの間でより良好に通信可能な通信ルートを探索して、通信ルートを構築する。
PLCネットワーク1で、通信ルートの構築を行う理由には、以下が挙げられる。即ち、PLCでは、電力線を利用するため、電力線に接続される他の家電機器が発生するノイズや、他の家電機器が接続されることによる電力線Lのインピーダンスの低下等により、伝送環境が悪化し、通信エラー率が増大し、場合によっては通信不可能な状況が生じてしまう。そして、伝送環境は、他の家電機器の電力線Lへの接続状況(抜き差し)や端末の可動状態に応じてダイナミックに変化し、その結果、通信の可否の状況もダイナミックに変化してしまう。このため、PLCネットワーク1では、ネットワークトポロジーが固定的ではなく、容易に変化してしまう。本実施形態では、ネットワークトポロジーの変化に対応可能なように、子端末10bが親端末10aとの通信ルートを探索・構築して、親端末10aと子端末10bとの間での通信を良好に行い得るようにしたものである。
図3は、図1に示す端末10のブロック図である。本実施形態では、親端末10aと、子端末10bとは、同一の端末が用いられ、例えば、端末10は、ジャンパースイッチや切替えスイッチ等の設定手段(モード設定手段の一例)で「親」に設定されることで親端末10aとして機能し、また「子」に設定されることで子端末10bとして機能する。
端末10は、記憶部110、電力線搬送通信インターフェース部(以下、「PLCインターフェース部」と略す)120及び制御部130を備える。記憶部110は、テーブル記憶部111を機能的に備え、本端末10を動作させるための制御プログラム等の各プログラムや、各プログラムの実行に必要な情報等を記憶すると共に、制御部130に対する所謂ワーキングメモリでもある。記憶部110は、各プログラムやこれに必要な情報等を記憶する、例えばROM(Read Only Memory)等の不揮発性の記憶素子、EEPROM(Electrically Erasable Programmable Read Only Memory)等の書換え可能な不揮発性の記憶素子、及び、ワーキングメモリとなる例えばRAM(Random Access Memory)等の揮発性の記憶素子を備えて構成される。
テーブル記憶部111は、テーブル形式のデータを記憶する領域であり、本端末10が親端末10aの場合には、本PLCネットワーク1において構築された端末10間の全通信ルートを登録するための通信ルートデータテーブルを記憶する。一方、本端末10が子端末10bの場合には、テーブル記憶部111は、本端末10が通信可能な他の端末10と、本端末10と該他の端末10との間の通信品質及び該他の端末10を経由した本端末10と親端末10aとの間の通信品質レベルを表す通信可能端末データテーブルDを記憶する。
図4は、通信可能端末データテーブルDの一例を示す図である。通信可能端末データテーブルDは、端末IDと、本端末10と端末IDに対応した端末10との間のSQ、通信コスト値及び通信コスト値の取得時刻とを表すデータテーブルを含むテーブル形式のデータである。端末IDは、本端末10と通信ルートが構築された端末10を識別するための各端末10に固有の識別子である。端末IDは、1又は複数の符号列であり、例えば、MAC(Media Access Control)アドレス等である。本実施形態では、通信可能端末データテーブルDには、親端末10a乃至は親端末10aと通信ルートが構築された子端末10b(以下、これらを「上位端末」と記載する)の端末IDが、通信ルートとして登録される。
SQは、端末IDで識別される端末10から受信した通信信号の受信信号強度を数段階(例えば10段階)のレベルで表したものであり、値が小さい程、通信信号の減衰が小さく、通信品質が高いということになる。通信可能端末データテーブルDでは、この端末IDに対応した端末10から本端末10へのSQ、及び、本端末10から端末IDに対応した端末10へのSQ(端末10と端末IDに対応した端末10との双方向のSQ)が登録される。
通信コスト値は、親端末10aとの間の通信品質レベルの一例であり、親端末10aとの間の通信状態を表すものであり、例えば、下記、式(1)等で求められる。
(通信コスト値)=Ka×(親端末10aとの通信で経由する子端末10bと上位端末10との間のSQの和)+Kb×(ホップ数) ・・・式(1)
ここで、Ka、Kbは、(親端末10aとの通信で経由する子端末10bと上位端末10との間のSQの和)及び(ホップ数)の何れを重視するかを決めるための重み係数である。ホップ数は、親端末10aとの通信で経由する子端末10b(自端末10を含む)の数である。
例えば、二つの子端末10bを経由して、本端末10と親端末10aとの通信が行われる場合に、親端末10aと最上位子端末10bとの間のSQが、「3」、最上位子端末10bと本端末10より一つ上位の端末10bとの間のSQが「4」、本端末10より一つ上位の端末10bと本端末10との間のSQが「5」である場合には、ホップ数が3、親端末10aとの通信で経由する子端末10bと上位端末10との間のSQの和が、「3」+「4」+「5」となり、12となる。ゆえに、通信コスト値は、12×Ka+3×Kbで求められる。通信コスト値についても、値が小さい程、通信品質が良好であることが示される。なお、親端末10aと通信ルートが構築されておらず、通信が不可能である場合には、通信コスト値は、「0」となる。
図3に戻って、PLCインターフェース部120は、電力線Lを用いて他端末10との間でPLCを行う通信インターフェース回路である。PLCは、例えば、商用周波数の電力波形に高周波の通信信号を重畳して送信したり、この電力波形からこの高周波の通信信号を分離して受信したりすることによって、通信信号を電力線Lを介して送受信する通信方式である。
制御部130は、例えば、マイクロプロセッサやその周辺回路等で構成され、親端末10aと子端末10bとの間の通信ルートを構築するための処理(以下、「通信ルート構築処理」と記載する)を実行するために、機能的に通信処理部131、テーブル処理部132及びハロー・パケット送信タイマー部(以下、「Hパケット送信タイマー部」と略す)133を備えるものである。
通信処理部131は、PLCインターフェース部120を用いて他端末10と通信信号を送受信し、後述の動作を行うことによって、親端末10aまでの通信ルートを構築する通信ルート構築処理を行う。
テーブル処理部132は、テーブル記憶部111に記憶されている通信ルートデータテーブル又は通信可能端末データテーブルDを後述するように管理する。
Hパケット送信タイマー部133は、時の経過を計る計時手段であり、所定時間間隔毎に通信処理部131にHパケットの送信タイミング(例えば、Hパケットの送信時刻)の到来を通知する。
図5は、図1に示す端末10の通信ルート構築処理の一例を示すフローチャートである。本処理は、例えば、端末10の電源がオンした場合に実行が開始される。まず、通信処理部131は、Hパケット送信時刻が到来したか否か及び通信パケットを受信したか否かを判断する(S1)。
判断の結果、Hパケット送信タイマー部133からHパケットの送信時刻の到来が通知されている場合(Hパケット送信時刻)には、通信処理部131は、Hパケットを作成して、同報通信、例えばブロードキャストでPLCネットワーク1に送信し(S2)、処理をステップS1に戻す。
Hパケットは、通知通信パケットの一例であり、所定時間間隔毎に、各端末10から同報通信、例えばブロードキャストでPLCネットワーク1に送信されることで、他の端末10に対して本端末10の生存を示す通信パケットである。Hパケットは、例えば、図6(a)に示すような、オペレーションコード、送信元の端末ID、シーケンス番号、通信コスト値及びホップ数を示すデータを含む通信パケットである。オペレーションコードとは、本通信パケットの種類を表す識別子であり、例えば、本通信パケットの種類として、Hパケット、後述する応答パケット、SQ通知パケット及びルート決定パケットが示される。送信元の端末IDは、通信パケットの送信元の端末10における端末IDである。シーケンス番号は、ランダムに設定される番号であり、本Hパケットと関連のある通信パケットには同一の番号が付与される。ここでの、ホップ数を表すデータは、通信コスト値の算出のために用いられたホップ数を表している。なお、本端末10が親端末10aである場合には、通信コスト値は最も小さくなり、ホップ数は0になる。
図5に戻って、ステップS1における判断の結果、通信パケットを受信した場合(パケット受信)には、通信処理部131は、受信した通信パケットの種別が何であるかを識別する(S3)。この識別は、例えば、通信パケットに含まれるオペレーションコードを参照することによって行われる。
通信パケットが応答パケットであると識別する場合には、通信処理部131は、後述するステップS4を実行し、通信パケットがルート決定パケットであると識別する場合には、通信処理部131は、後述するステップS5を実行し、通信パケットがHパケットであると識別する場合には、通信処理部131は、後述するステップS6を実行する。図6(b)は、応答パケットの一例を示し、図6(c)は、ルート決定パケットの一例を示す。応答パケットは、応答通信パケットの一例であり、オペレーションコード、送信元の端末ID及びシーケンス番号を含むものである。ルート決定パケットは、オペレーションコード、送信元の端末ID、シーケンス番号、通信コスト値及び上位端末IDを表すデータを含む。シーケンス番号は、応答するHパケットや、応答するSQ通知パケットと同一の番号が付与されている。上位端末IDは、本ルート決定パケットの送信元の端末10から本端末10とが通信するにあたって経由する端末10のIDである。上位端末IDは、ルート決定パケットの送信元の端末10から送信されるときには、第1上位端末IDのみが含まれているが、複数の端末10に中継される場合には、端末10を経由する際に、第2上位端末ID以降の端末IDが付与される。
ステップS4では、通信処理部131は、応答パケットをテーブル処理部132に出力し、テーブル処理部132に、応答パケットの受信信号強度から、応答パケットの送信元における端末10から本端末10へのSQを取得させる。そして、通信処理部131は、取得したSQを、テーブル処理部132に通知させる。通信処理部131は、通知されたSQを表すデータを含む通信パケットである、SQ通知パケットを作成する。通信処理部131は、作成したSQ通知パケットを、応答パケットの送信元の端末10に対してユニキャストで送信した後、処理をステップS1に戻す。
図6(d)は、SQ通知パケットの一例を示す。SQ通知パケットは、オペレーションコード、送信元の端末ID、シーケンス番号及び応答パケットの送信元の端末10から本端末10へのSQを表すデータが含まれる。シーケンス番号は、ステップS3で受信した応答パケットと同一の番号が付与される。
ステップS5では、通信処理部131は、本端末10が子端末10bである場合には、通信可能端末データテーブルDを参照して、受信したルート決定パケットに次の上位端末10の端末IDを付加して次の上位端末10へユニキャストで送信する。通信処理部131は、本端末10が親端末10aである場合には、受信したルート決定パケットをテーブル処理部132に出力し、テーブル処理部132に通信ルートテーブルの更新をさせる。この通信ルートテーブルの更新は、ルート決定パケットに含まれる、送信元の端末IDと、上位端末IDとを、構築された通信ルートとして、通信ルートテーブルに登録することを内容とする。その後、通信処理部131は、処理をステップS1に戻す。
ステップS6では、通信処理部131は、受信したHパケットに含まれる通信コスト値を参照して、Hパケットの送信元の端末10が、親端末10aと通信ルートが構築された端末10であるかどうか、即ちルート構築端末10であるかどうかを判断する。ここで、通信コスト値が「0」である場合には、ルート構築端末10でないと判断される。言い換えれば、通信コスト値が0ではない場合には、ルート構築端末10であると判断される。その後、通信処理部131は、本端末10が親端末10aでないかどうかを判断する。ここで、本端末10が親端末10aからのHパケットを受信しているときには、親端末10aは必ずルート構築端末10であると判断される。Hパケットを送信した送信元の端末10であるHパケット送信元端末10が、ルート構築端末10であると判断しない場合又は本端末10が親端末10aでないと判断しない場合(S6でNO)には、通信処理部131は、本処理をステップS1に戻し、本端末10が親端末10aでないと判断し、かつ、Hパケット送信元端末10がルート構築端末10であると判断する場合(S6でYES)には、通信処理部131は、Hパケットに含まれるシーケンス番号と同一のシーケンス番号を付与した応答パケットを作成して、Hパケット送信元端末10に対して送信する(S7)。
そして、通信処理部131は、Hパケットをテーブル処理部132へ通知し、テーブル処理部132に、入力されたHパケットに含まれる通信コスト値及びホップ数を表すデータから、通信コスト値及びホップ数を取得させる。通信処理部131は、さらに、テーブル処理部132に、入力されたHパケットの受信信号強度を基に、Hパケット送信元端末10から本端末10へのSQを取得させて、記憶部110に一時的に記憶させる。このステップS7の処理が、Hパケットの送信元の端末10と自端末10との間の双方向のSQを取得するための処理の一例である。
また、ステップS6が実行されることで、通信処理部131は、Hパケット送信元端末10がルート構築端末10である場合のみ、ステップS7を実行するため、PLCネットワーク1内のトラフィックを無駄に増大させることを防止することができる。PLCネットワーク1は、マスタースレーブ型のネットワークであり、子端末10bが親端末10aとの通信ルートを確保することが、本通信ルート構築処理の目的である。ここでは、通信処理部131は、Hパケット送信元端末10がルート構築端末10である場合のみ、Hパケット送信元端末10と自端末10との間の双方向のSQを取得する処理を実行し、Hパケット送信元端末10がルート構築端末10でない場合には、Hパケット送信元端末10と自端末10との間の双方向のSQを取得する処理を実行しない。そのため、PCLネットワーク1内におけるトラフィックの増大を抑制することができる。
通信処理部131は、応答パケットを送信してから所定時間内にSQ通知パケットを受信するかどうかを判断し(S8)、所定時間内にSQ通知パケットを受信すると判断しない場合(S8でNO)には、本処理をステップS1に戻す。通信処理部131は、所定時間内にSQ通知パケットを受信すると判断する場合(S8でYES)には、受信したSQ通知パケットが、ステップS7で送信した応答パケットと同一のシーケンス番号を含むかどうかを判断する(S9)。応答パケットと同一のシーケンス番号を含むか否かの判断は、例えば、応答パケットの送信の際に、そのシーケンス番号を記憶部110に一時的に記憶させ、このシーケンス番号を参照して、同一のシーケンス番号を含むか否かで行われる。受信したSQ通知パケットが、送信した応答パケットと同一のシーケンス番号を含むと判断しない場合(S9でNO)には、通信処理部131は、本処理を再度ステップS8に戻し、受信したSQ通知パケットが、送信した応答パケットと同一のシーケンス番号を含むと判断する場合(S9でYES)には、通信処理部131は、受信したSQ通知パケットをテーブル処理部132に通知し、SQ通知パケットに基づいて、通信コスト値を算出させる(S10)。
通信コスト値の算出は、例えば、記憶部110に一時的に記憶されている親端末10aからHパケット送信元端末10までの通信コスト値及びホップ数と、SQ(Hパケット送信元端末10から本端末10へのSQ)と、入力されたSQ通知パケットに含まれるSQを表すデータから取得されたSQ(本端末10からSQ通知パケット送信元の端末10へのSQ)とを基に、算出される。即ち、通信コスト値は、(親端末10aからHパケットの送信元端末10までの通信コスト値)+Ka×(SQの大きい方)+Kb×1によって算出される。
通信処理部131は、テーブル処理部132に、算出した通信コスト値が、通信可能端末データテーブルDに登録されている通信コスト値と比較して、上位所定ランク以上であるかどうかを判断させる(S11)。ここで、算出した通信コスト値が上位所定ランク以上であることは、取得した親端末10aとの通信品質が所定条件を満たす場合に相当する。
算出した通信コスト値が、通信可能端末データテーブルDに登録されている通信コスト値と比較して、上位所定ランク以上であると判断しない場合(S11でNO)には、通信処理部131は、算出した通信コスト値等の記憶部110に一時的に記憶された、今回の通信ルート構築処理で用いられたデータを破棄する(S12)。
算出した通信コスト値が、通信可能端末データテーブルDに登録されている通信コスト値と比較して、上位所定ランク以上であると判断する場合(S11でYES)には、通信処理部131は、テーブル処理部132に、通信ルートとしての、SQ通知パケットの送信元の端末10における端末IDと、本端末10と端末IDに対応した端末10との間の通信品質、通信コスト値及び通信コスト値の取得時刻(通信コスト値の登録時刻)を通信可能端末データテーブルDに登録させる。そして、通信処理部131は、テーブル処理部132に、登録後の通信可能端末データテーブルDにおいて、最も通信コスト値の大きい端末10に関するデータを削除させることで、通信可能端末データテーブルDの登録内容を変更する(S13)。
ステップS11が実行され、算出した通信コスト値が、通信可能端末データテーブルDに登録されている通信コスト値と比較して、上位所定ランク以上であると判断される場合にのみ、ステップS13が実行されて、通信可能端末データテーブルDが更新されるため、記憶部110に記憶させるデータ量を減少させることができる。
そして、通信処理部131は、テーブル処理部132に、ルート決定パケットの送信の命令を通知させ、該命令を受けて、本端末10及びHパケット送信元端末10の端末IDを含めたルート決定パケットを作成して上位端末10へ送信する(S14)。その後、通信処理部131は、本処理をステップS1に戻す。なお、上記ステップS13及びステップS14は、処理の順番が逆になってもよい。
図7は、図1に示すPLCネットワークにおける、端末10間の通信ルートを構築するための通信シーケンスの一例を示す図である。本例では、説明の便宜のために、PLCネットワーク1は、親端末10aと、子端末10b−1〜10b−4とのみが、電力線Lに接続されていることとする。
まず、親端末10aが、図5のステップS1とステップS2を実行することで、ブロードキャストでHパケットを各子端末10bに対して送信する(♯1)。ステップS2において、親端末10aは、自機宛てであるので、通信コスト値を0にそしてホップ数を0にしたHパケットを生成する。
ここでは、子端末10bのうち、子端末10b−1のみが親端末10aからHパケットを受信できたものとする。子端末10b−1は、親端末10aからHパケットを受信することで、親端末10aから子端末10b−1へのSQを取得できる。
子端末10b−1は、図5のステップS1、ステップS3、ステップS6及びステップS7を実行することで、受信したHパケットに対する応答パケットをユニキャストで親端末10aに対して送信する(♯2)。親端末10aは、応答パケットを子端末10b−1から受信し、図5のステップS1、ステップS3及びステップS4を実行することで、応答パケットによって取得した子端末10b−1から親端末10aへのSQを通知するため、SQ通知パケットを子端末10b−1に対して送信する(♯3)。
子端末10b−1は、ステップS8、ステップS9を実行することで、SQ通知パケットを受信して、受信したSQ通知パケットによって通知されるSQを取得する。これによって、子端末10b−1は、親端末10aと自機との間のSQを双方向で取得できることになる。
このように、Hパケットの送信側の端末10Sにとって、Hパケットは、自端末10Sの生存をPLCネットワーク1内の端末10に通知するための通信パケットであり、所定の時間間隔でPLCネットワーク1に自動的に送信される。そして、Hパケットの受信側の端末10Rにとって、Hパケットは、このHパケットの受信側の端末10RがHパケットの送信側の端末10Sからこの受信側の端末10RへのSQを取得するために使用される通信パケットである。
また、Hパケットの受信側の端末10Rにとって、応答パケットは、Hパケットの送信側の端末10Sがルート構築端末10である場合に作成されこのHパケットの送信側の端末10Sへ返信される通信パケットである。そして、Hパケットの送信側の端末10Sにとって、応答パケットは、このHパケットの送信側の端末10SがHパケットの受信側の端末10RからこのHパケットの送信側の端末10SへのSQを取得するために使用される通信パケットである。
さらに、Hパケットの受信側の端末10Rにとって、SQ通知パケットは、このHパケットの受信側の端末10RからHパケットの送信側の端末10SへのSQの通知を受けるための通信パケットである。
従って、Hパケットの受信側の端末10Rは、Hパケットを受信することによってHパケットの送信側の端末10Sから自端末10RへのSQを取得し、応答パケット及びSQ通知パケットを送受信することによって自端末10RからHパケットの送信側の端末10SへのSQを取得することができ、Hパケットの送信側の端末10Sとの間で双方向でSQを取得することができる。
図5に戻って、子端末10b−1は、ステップS10を実行することで、取得した両SQのうち値が大きい方、即ち、通信品質の悪い方のSQを基に通信コスト値を算出し、ステップS11を実行することで、算出した通信コスト値が上位所定ランク以上であるかを判断する。ここでは、算出した通信コスト値が、通信可能端末データテーブルDに含まれる通信コスト値と比較して、上位所定ランク以上であることとする。子端末10b−1は、ステップS13を実行して、通信可能端末データテーブルDを更新して、ステップS14を実行して、ルート決定パケットを親端末10aに送信する(♯4)。
次に、子端末10b−1が、Hパケットの送信時刻の到来により、図5のステップS1及びステップS2を実行して、ブロードキャストで他端末10に対して、Hパケットを送信する(♯5)。ステップS2において、子端末10b−1は、親端末10aからHパケットを受信したことに起因して取得される親端末10aとの間における双方向のSQ及びホップ数に基づいて通信コスト値を求め、Hパケットを生成する。
ここでは、親端末10aと、子端末10b−2が、Hパケットを受信できたものとし、子端末10b−3と子端末10b−4がHパケットを受信できなかったものとする。
子端末10b−2は、図5のステップS1、ステップS3、ステップS6を実行し、子端末10b−1が通信ルート構築端末であるため、ステップS7を実行して、応答パケットを送信する(♯6)。子端末10b−1は、SQ通知パケットの送信(♯3)と同様にして、SQ通知パケットを送信し(♯7)、子端末10b−2は、ルート決定パケットの送信(♯4)と同様にして、ルート決定パケットを子端末10b−1に対して送信する(♯8)。
子端末10b−1は、ルート決定パケットを受信して、図5のステップS1及びステップS5を実行して、受信したルート決定パケットに上位端末の端末ID(ここでは、親端末10aの端末ID)を付加して、親端末10aに対して送信する(♯9)。親端末10aは、子端末10b−1からルート決定パケットを受信することで、図5のステップS1及びステップS5を実行して、子端末10b−1を経由した、親端末10aと子端末10b−2との通信ルートの構築を把握することができる。
このように、ルート決定パケットは、子端末10bが通信可能端末データテーブルDを更新した場合にPLCネットワーク1において初めて作成され送信される通信パケットであり、子端末10bから親端末10aまでの通信ルートを親端末10aに通知するための通信パケットである。ルート決定パケットは、ルート決定パケットを受信した子端末10bが上位端末10の端末IDを付加し上位端末10に送信することによって、子端末10bから親端末10aまでの通信ルートが端末IDの並び順で示され、また、最終的に親端末10aに到達される。
次に、子端末10b−3が、Hパケット送信時刻の到来により、図5のステップS1及びステップS2を実行して、ブロードキャストでHパケットを他端末10に対して送信する(♯10)。ここでは、子端末10b−2のみが、Hパケットを受信できたものとする。しかし、子端末10b−2は、図5のステップS1、ステップS3、ステップS6を実行し、子端末10b−3が通信ルート構築端末でないため、ステップS7を実行せず、応答パケットを送信しない。
上記の構成によって、本発明の第1の実施形態にかかるPLCネットワーク1では、各端末10が所定時間毎に各端末10に対して送信する、Hパケットを用いて、親端末10aとの間のSQが取得されるため、PLCネットワーク1内のトラフィックを減少させることができる。このため、子端末10bが、記憶部110に親端末10aとのSQが上位所定ランク以上に良い通信ルートで中継される、隣接端末10との間のSQを記憶するのみで足りる、マスタースレーブ型のネットワークを採用しながらも、PLCネットワーク1内のトラフィックを減少させることができ、各端末10間の通信速度が比較的小さく、各端末10のメモリの容量が比較的小さい、PLCネットワーク1においても、PLCネットワーク1内のネットワークトポロジーが変化に対応して、各端末10間の通信ルートを良好に構築することができる。これによって、各端末10間の通信を良好に行うことができる。
また、本実施形態では、PLCネットワーク1では、Hパケットの送信元の端末10が親端末10aとの通信ルートが構築されている端末10である場合のみ、Hパケットの送信元の端末10と自端末10との間の双方向の通信品質を取得するための処理を通信処理部131で実行し、Hパケットの送信元の端末10が親端末10aとの通信ルートが構築されている端末10でない場合には、Hパケットの送信元の端末10と自端末10との間の双方向の通信品質を取得するための処理を実行しない。これによって、親端末10aとの通信ルートが構築されていない子端末10b同士が、互いに通信ルートを構築するための通信が行われることで、無駄にPLCネットワーク1内のトラフィックが増大することを効果的に防止することができる。
次に、別の実施形態について説明する。
(第2の実施形態)
以下に、本発明の第2の実施の形態を、図3、図8、図9及び図10を用いて説明する。第1の実施形態では、親端末10aとの通信ルートが構築されていない子端末10bからのHパケットに対して、子端末10bが応答パケットを送信しない構成であるが、第2の実施形態では、親端末10aとの通信ルートが構築されていない子端末10bは応答パケットを送信するが、親端末10aとの通信ルートが構築されていない子端末10bは、Hパケットを送信しない構成である。
このため、第2の本実施形態では、図3に破線で示すように、端末10は、第1の実施形態における構成に加えて、HP送信可能フラグ記憶部112を記憶部110に更に備え、フラグ有無判断部134を、制御部130に機能的に更に備える。HP送信可能フラグ記憶部112は、Hパケットの送信可能を識別するためのフラグ(HP送信可能フラグ)を記憶する領域である。フラグ有無判断部134は、HP送信可能フラグ記憶部112を参照して、HP送信可能フラグがオンされているかどうかを識別する。
図8、図9は、本発明の第2の実施形態に係る端末10の通信ルート構築処理の一例を示すフローチャート(その1及びその2)である。本処理は、図5に示すフローチャートと比較して、通信処理部131が、ステップS6を実行しないこと、及びステップS21〜S26を実行することが相違しており、同一名称及び符号が付与されているステップについては同様の処理を実行する。以下、相違するステップについて、説明する。
本処理も、端末10の電源がオンした場合に実行される。まず、ステップS21で、本端末10が親端末10aかどうかを、通信処理部131が判断する。本端末10が親端末10aであると判断しない場合(S21でNO)には、通信処理部131が、HP送信可能フラグをオフする(S22)。本端末10が親端末10aであると判断する場合(S21でYES)には、通信処理部131は、HP送信可能フラグをオンして(S26)、ステップS1を実行する。
ステップS1で、Hパケット送信タイマー部133がHパケット送信時刻の到来を計時し、その通知を受けた場合に、通信処理部131は、ステップS23を実行する。ステップS23では、通信処理部131は、HP送信可能フラグがオンしているかどうかを判断する。HP送信可能フラグのオンは、通信処理部131が、フラグ有無判断部134から、HP送信可能フラグのオンを通知されたときに、判断される。HP送信可能フラグがオンしていると判断しない場合(S23でNO)には、本処理はステップS1に戻り、HP送信可能フラグがオンしていると判断する場合(S23でYES)には、通信処理部131は、Hパケットを作成し、該作成したHパケットをブロードキャストで各端末10に送信し、その後、本処理をステップ1に戻す(S2)。ここで、送信されるHパケットは、第1の実施形態で上述したものと同様である。
ステップS1で、通信パケットを受信したと判断し、ステップS3〜ステップS10を実行した後、通信処理部131は、ステップS24を実行する。ステップS24では、通信処理部131は、テーブル処理部132に、ステップS10で算出した通信コスト値が、通信可能端末データテーブルDに登録される初めての通信コスト値であるかどうかを判断させる。該初めての通信コスト値であるとの判断は、通信可能端末データテーブルDに通信コスト値が登録されているときになされる。該初めての通信コスト値であると判断する場合(S24でYES)には、通信処理部131は、テーブル処理部132からHP送信可能フラグをオンさせる指令を通知され、該指令を受けて、HP送信可能フラグをオンする(S25)。その後、通信処理部131は、ステップS13を実行し、テーブル処理部132に、算出した通信コスト値等の所定の情報を通信可能端末データテーブルDに登録させ、通信ルートが構築される。
算出した通信コスト値が初めての通信コスト値であると判断しない場合(S24でNO)には、通信処理部131は、ステップS11、S13、S14を実行し、本処理をステップS1に戻す。
図10は、本実施形態における、端末10間の通信ルートを構築するための通信シーケンスの一例を示す図である。親端末10aは、ステップS21、ステップS26を実行し、親端末10aであるため、HP送信可能フラグがオンされており、HP送信時刻の到来によって、図8のステップS1、ステップS23及びステップS2を実行して、Hパケットをブロードキャストで子端末10bに対して送信する(♯21)。本例では、親端末10aの送信したHパケットを、子端末10b−1のみが受信できたこととする。ここで、各端末10は、図8のステップS21及びステップS22を実行することで、送信可能フラグをオフしている状態である。
子端末10b−1は、図7で示した通信シーケンスと同様にして、受信したHパケットに対する応答パケットをユニキャストで親端末10aに対して送信し(♯2)、親端末10aは、SQ通知パケットを子端末10b−1に対して送信する(♯3)。
子端末10b−1は、SQ通知パケットを受信すると、図9のステップS8、ステップS9を実行することで、SQ通知パケットを受信して、受信したSQ通知パケットによって通知されるSQを取得する。子端末10b−1は、ステップS10を実行することで、通信コスト値を算出し、ステップS11を実行することで、算出した通信コスト値が上位所定ランク以上であるかを判断する。
子端末10b−1は、図9のステップS24を実行することで、通信可能端末データテーブルDに通信コスト値が登録されているかどうかを判断する。ここでは、通信コスト値が登録されておらず、ステップS10で算出した通信コスト値が初めて通信可能端末データテーブルDに登録されるものであるため、子端末10b−1は、ステップS25を実行して、HP送信可能フラグをオンする。そして、子端末10b−1は、図7で示した通信シーケンスと同様にして、ルート決定パケットを親端末10aに送信する(♯4)。
ルート決定パケットの送信後(♯4)に、HP送信可能フラグがオンされている子端末10、即ちHパケットを送信できる子端末10bは、子端末10b−1のみである。子端末10b−1は、Hパケット送信時刻の到来によって、図8のステップS1、ステップS23及びステップS2を実行することで、Hパケットをブロードキャストで他端末10に対して送信する(♯22)。ここで、子端末10b−2のみが、子端末10b−1からHパケットを受信できたものとする。応答パケットの送信(♯6)、SQ通知パケットの送信(♯7)については、図7で示す通信シーケンスと同様であるため、説明を省略する。
子端末10b−2は、SQ通知パケットを子端末10b−1から受信すると、図9のステップS8、ステップS9及びステップS10を実行して、通信コスト値を算出する。算出された通信コスト値は、通信可能端末データテーブルDに登録する初めての通信コスト値であるため、子端末10b−3は、図9のステップS24及びS25を実行し、HP送信可能フラグをオンする。その後、図7で示す通信シーケンスと同様に、通信可能端末データテーブルDの更新、ルート決定パケットの送信が行われる(♯8、♯9)。
これによって、子端末10b−1に加えて、子端末10b−2も、親端末10aとの通信ルートが構築され、HP送信可能フラグがオン状態になる。ゆえに、子端末10b−2が、送信可能時刻の到来によって、図8のステップS1、ステップS23及びステップS2を実行して、Hパケットをブロードキャストで他端末10に対して送信できる(♯23)。一方、子端末10b−3及び子端末10b−4は、依然として、親端末10aとの通信ルートが構築されておらず、HP送信可能フラグがオフ状態のままであり、図8のステップS1、ステップS23が実行されることによって、Hパケットを送信することができない。
上記構成によって、本実施形態では、マスタースレーブ型のネットワークを採用しながらも、PLCネットワーク1内のトラフィックを減少させることができ、各端末10間の通信速度が比較的小さく、各端末10のメモリの容量が比較的小さい、PLCネットワーク1においても、PLC1内のネットワークトポロジーが変化に対応して、各端末10間の通信ルートを良好に構築することができるという、第1の実施形態と同様の作用効果を奏する。
また、本実施形態では、PLCネットワーク1では、本端末10が親端末10aとの通信ルートが構築されている端末10である場合のみ、Hパケットがブロードキャストで各端末10へ送信され、本端末10が親端末10aとの通信ルートが構築されている端末10でない場合には、Hパケットがブロードキャストで各端末10へ送信されない。これによって、本実施形態でも、第1の実施形態と同様に、親端末10aとの通信ルートが構築されていない子端末10b同士が、互いに通信ルートを構築するための通信が行われることで、無駄にPLCネットワーク1内のトラフィックが増大することを効果的に防止することができる。
次に、別の実施形態について説明する。
(第3の実施形態)
以下に、本発明の第3の実施形態を、図3、図11、図12及び図13を用いて説明する。第1及び第2の実施形態は所定ランク以上の通信コスト値が、通信可能端末データテーブルに登録され、上位所定ランク以上の通信コスト値の通信ルートを各端末10が探索し続けるが、第3の実施形態に係る端末10は、親端末10aと良好に通信することができる所定レベル以上の通信コスト値が得られた場合に、通信ルートの探索を終了することが異なっている。
このため、図3に破線で示すように、端末10は、第1及び第2の実施形態での構成に加えて、記憶部110に、HP受信可能フラグ記憶部113を備える。HP受信可能フラグ記憶部113は、Hパケットを受信できることを識別させるためのフラグ(HP受信可能フラグ)を記憶する領域である。フラグ有無判断部134は、HP受信可能フラグ記憶部113を参照して、HP受信可能フラグがオンされているかどうかを識別する。
通信処理部131は、受信可能フラグがオンされている場合にのみ、Hパケット送信元端末10と自端末10との双方向の通信品質を取得するための処理を行い、受信可能フラグがオフされている場合には、Hパケット送信元端末10と自端末10との双方向のの通信品質を取得するための処理の実行を禁止する。
図11、図12は、本発明の第3の実施形態に係る端末10の通信ルート構築処理の一例を示すフローチャート(その1及びその2)である。本処理も、端末10の電源がオンした場合に実行される。図11及び図12のフローチャートは、図8及び図9に示すフローチャートと比較して、ステップS31〜S34の処理を更に実行することが相違しており、同一の符号が付与されたものについては、同一内容の処理が実行されるものである。以下、相違するステップについてのみ、説明する。
ステップS22又はステップS26の実行後、本実施形態では、通信処理部131が、HP受信可能フラグをオンする(S31)。その後、通信処理部131は、第2の実施形態と同様に、ステップS1を実行する。ステップS1〜S5及びステップS23については、上述した第2の実施形態と同内容であるため、説明を省略する。
本実施形態では、ステップS3で、受信した通信パケットがHパケットであると識別する場合には、通信処理部131は、HP受信可能フラグがオンしているかどうかを判断する(S32)。該HP受信可能フラグがオンしているとの判断は、フラグ有無判断部134からHP受信可能フラグのオンが通知されている場合に、なされる。HP受信可能フラグがオンしていると判断しない場合(S32でNO)には、通信処理部131は、本処理をステップS1に戻す。HP受信可能フラグがオンしていると判断する場合(S32でYES)には、通信処理部131は、ステップS7を実行して、応答パケットを送信する。その後のステップS8〜ステップS14及びステップS24及びS25の処理内容は、第2の実施形態と同様であるため、説明を省略する。
ステップS14の実行後、本実施形態では、通信処理部131は、ステップS10で算出された通信コスト値が所定レベル以上の親端末10aとの通信状態を示すものであるかどうかを判断する(S33)。通信コスト値が所定レベル以上の通信状態を示すものであると判断しない場合(S33でNO)には、通信処理部131は、本処理をステップS1に戻し、通信コスト値が所定レベル以上の通信状態を示すものであると判断する場合(S33でYES)には、通信処理部131は、HP受信可能フラグをオフにして、本処理をステップS1に戻す。
なお、本処理は、図11及び図12に示す第2の実施形態におけるルート確定処理に、ステップS31〜S34が実行されることとしているが、これに限定されず、図5に示すルート構築処理にステップS31〜S34が実行されることとしてもよい。この場合には、ステップS1の前に、ステップS31が実行され、ステップS3の実行後乃至はステップS6の実行後に、ステップS32が実行され、ステップS11でYESと判断された後からステップS1に戻るまでに、ステップS33及びステップS34が実行される。
図13は、本実施形態における、端末10間の通信ルートを構築するための通信シーケンスの一例を示す図である。親端末10aは、図10で示す通信シーケンスと同様にして、Hパケットの送信(♯21)を行う。親端末10aがHパケットを送信したときには、子端末10b−1〜10b−4は、図11のステップS31が実行されて、HP受信可能フラグがオンされている。本例でも、第2の実施形態で説明した例を同様に、子端末10b−1のみがHパケットを受信できたこととする。
Hパケットを受信した子端末10b−1は、図11のステップS1、ステップS3及びステップS32を実行して、HP受信可能フラグがオンしているかどうかを判断する。ここでは、HP受信可能フラグがオンされているため、子端末10b−1は、ステップS7を実行して、応答パケットを親端末10aに対してユニキャストで送信する(♯31)。
その後、図10で示す通信シーケンスと同様にして、SQ通知パケットの送信(♯3)及びルート決定パケットの送信(♯4)を行う。
子端末10b−1は、ルート決定パケットの送信後、ステップS33を実行して、算出した通信コスト値が所定レベル以上であるかどうかを判断する。本例では、親端末10aとの通信コストが所定レベル以上であることとする。ゆえに、子端末10b−1は、ステップS34を実行することで、HP受信可能フラグをオフする。
その後、本例では、図10で示す通信シーケンスと同様にして、親端末10aは、HP送信時刻の到来により、Hパケットをブロードキャストで子端末10bに対して送信する(♯22)。本例では、この時点においても、子端末10b−1のみがHパケットを受信できたこととする。子端末10b−1は、図11のステップS1、ステップS3及びステップS32を実行する。ここで、子端末10b−1は、HP受信可能フラグがオフされているため、ステップS7の応答パケットの送信処理を禁止し、応答パケットを送信しない。
上記の構成によって、本実施形態では、第1の実施形態での効果に加え、親端末10aとの通信コストが所定レベル以上である通信ルートが構築された子端末10bは、Hパケットを受信した場合でも、応答パケットの送信が禁止されるため、所定レベル以上の通信品質で親端末10aとの通信を行うことができる通信ルートを確保できるとともに、以降、応答パケットの送信を行わないことによって、PLCネットワーク1内のトラフィックを減少させることができる。
次に、別の実施形態について説明する。
(第4の実施形態)
以下、本発明の第4の実施形態を、図3、図6、図14、図15及び図16を用いて説明する。第1〜第3の実施形態では、応答パケットを受信した端末10が、SQ通知パケットをユニキャストで、応答パケットの送信元の端末10に対して送信するが、第4の実施形態では、応答パケットの送信元の端末10に対して送信するSQ通知を、所定時間送信せずに記憶部110に蓄積(記憶)し、所定時間経過後に、ブロードキャストで各応答パケットの送信元の端末10に対して送信する。
このため、図3に破線で示すように、第4の実施形態では、端末10は、第1〜第3の実施形態での構成に加えて、SQ通知送信先アドレス記憶部114及びSQ通知情報記憶部115を記憶部110に機能的に備えるとともに、SQ通知送信タイマー部135を制御部130に、機能的に備える。
SQ通知送信先アドレス記憶部114は、他端末10から応答パケットを受信する都度、応答パケットの送信元の端末10の端末IDが登録される領域である。SQ通知情報記憶部115は、該端末IDで識別される端末10に対する、SQ通知パケットに含める情報を、SQ通知送信先アドレス記憶部114に登録された端末IDと対応付けて、記憶する領域である。該SQ通知パケットに含める情報とは、例えば、応答パケットから取得された、応答パケットの送信元端末10から本端末10へのSQを表すデータや、受信した応答パケットのシーケンス番号等である。
SQ通知送信タイマー部135は、応答パケットを受信した時から所定時間の経過を計時して、SQ通知の送信時刻を通信処理部131に通知する。
通信処理部131は、SQ通知の送信時刻の通知を受けて、SQ通知パケットをブロードキャストで、他端末10に対して送信するものである。また、通信処理部131は、自端末10に対して送信されたSQ通知パケットを受信したときに、テーブル処理部132に通信コスト値の算出をさせるものである。
図14、図15は、本発明の第4の実施形態に係る端末10の通信ルート構築処理の一例を示すフローチャート(その1及びその2)である。図14、図15のフローチャートは、図11及び図12に示すフローチャートと比較して、通信処理部131が、ステップS1及びS10の代わりに、ステップS41及びS46をそれぞれ実行し、更に、ステップS42〜S45を実行することが相違しており、同一の符号が付与されたものについては、同一内容の処理を実行する。以下に、相違するステップについてのみ、説明する。
ステップS31の実行後、通信処理部131は、ステップS41を実行する。ステップS41では、通信処理部131は、Hパケット送信時刻が到来した場合に、ステップS23を実行し、通信パケットを受信した場合に、ステップ3を実行し、SQ通知パケットの送信タイミングが到来した場合に、後述するステップS42を実行する。SQ通知パケットの送信タイミングの到来は、SQ通知タイマー部135から通知される。
ステップS42では、通信処理部131が、SQ通知パケットの送信の必要があるかどうかを判断する。ここで、SQ通知送信先アドレス記憶部114に端末IDが記憶されている場合に、SQパケットの送信の必要があると判断される。SQ通知パケットの送信の必要があると判断しない場合(S42でNO)には、通信処理部131は、本処理をステップS41に戻し、SQ通知パケットの送信の必要があると判断する場合(S42でYES)には、通信処理部131は、SQ通知送信先アドレス記憶部114及びSQ通知情報記憶部115を参照して、SQ通知パケットを作成する。
作成されるSQ通知パケットは、例えば、図6(e)で示すような、オペレーションコード、送信元の端末ID(自端末10の端末ID)、シーケンス番号、SQ通知パケットの送信先の端末ID(第1端末ID〜第n端末ID)、及び、該端末IDに対応するSQを表すデータを含む。SQ通知パケットの送信先の端末IDは、SQ通知送信先アドレス記憶部114に記憶されているものが、シーケンス番号及びSQを表すデータは、SQ通知情報記憶部115に記憶されているものが、SQ通知パケットに含められる。
通信処理部131は、作成したSQ通知パケットを各端末10に対してブロードキャストで送信する(S43)。その後、通信処理部131は、SQ通知送信先アドレス記憶部114及びSQ通知情報記憶部115に登録されているデータ(端末ID、SQ及びシーケンス番号等を示すデータ)を破棄して、ステップS41に戻す。
ステップS3で、受信したパケットが応答パケットであると識別する場合には、通信処理部131は後述するステップS44を実行する。ステップS44では、通信処理部131は、応答パケットをテーブル処理部132に通知し、処理をステップS41に戻す。通信処理部131は、テーブル処理部132に、入力された応答パケットを基に、SQ通知送信先アドレス記憶部114に、応答パケットの送信元の端末10の端末IDを登録させ、該端末IDと対応付けて、応答パケットの送信元の端末10から本端末10へのSQを表すデータ、及び応答パケットのシーケンス番号をSQ通知情報記憶部115に登録させる。そして、通信処理部131は、SQ通知送信先アドレス記憶部114への最初の端末IDの登録である場合には、テーブル処理部132にSQ通知送信タイマー部135の時間の計時の開始を指示させる。
ステップS32、S7、S8を実行し、所定時間内に、SQ通知パケットを受信したと判断する場合(S8でYES)には、通信処理部131は、ステップS45を実行する。ステップS45では、通信処理部131は、受信したSQ通知パケットに自端末10の端末IDが含まれるかどうか、即ち自端末10へのSQ通知パケットかを判断する。自端末10へのSQ通知パケットであると判断しない場合(S45でNO)には、通信処理部131は、本処理をステップS8に戻し、自端末10へのSQ通知パケットであると、判断する場合(S45でYES)には、ステップS9を実行する。受信したSQ通知パケットが、ステップS7で送信した応答パケットと同一のシーケンス番号を含むと判断する場合(S9でYES)には、通信処理部131は、ステップS46を実行する。
ステップS46では、通信処理部131は、テーブル処理部132にSQ通知パケットを通知し、テーブル処理部132にSQを取得させて、通信コスト値を算出させる。取得されるSQは、SQ通知パケットに含まれるSQを表すデータのうち、自端末10に対応するものである。通信コスト値の算出は、取得したSQを基にして、第1〜第3の実施形態でのステップS10と同様にして、通信コスト値が算出される。その後、通信処理部131は、ステップS24を実行する。ステップS24、S25、ステップS11〜S14、及びステップS33、S34については、図12におけるフローチャートと同内容の処理が実行されるため、説明を省略する。
なお、本処理では、ステップS8の実行後に、ステップS45が実行されることとしているが、ステップS9の実行後に、ステップS45が実行されることとしてもよい。
なお、本処理は、図11及び図12に示す第2の実施形態におけるルート構築処理に、ステップS41〜S46が実行されることとしているが、これに限定されず、図5、図8及び図9に示すルート構築処理にステップS41〜S46が実行されることとしてもよい。この場合には、図5、図11及び図12に示すルート構築処理では、ステップS1の代わりにステップS41が実行され、ステップS41で、SQ通知パケットの送信時刻が到来した場合に、ステップS42、ステップS43が実行される。そして、ステップS4の代わりに、ステップS44が実行され、ステップS8又はステップS9の実行後に、ステップS45が実行される。また、ステップS10の代わりに、ステップS46が実行される。
図16は、本実施形態における、端末10間の通信ルートを構築するための通信シーケンスの一例を示す図である。親端末10aは、図13で示す通信シーケンスと同様にして、Hパケットを送信する(♯21)。本例では、子端末10b−1〜10b−3が、Hパケットを受信できたものとする。子端末10b−1〜10b−3は、図13で示す通信シーケンスと同様にして、応答パケットを送信する(♯2)。
親端末10aは、子端末10b−1〜10b−3から応答パケットを受信する毎に、図14のステップS41、ステップS3、ステップS44を実行する。即ち、親端末10aは、子端末10b−1から応答パケットを受信すると、SQ通知送信先アドレス記憶部114に、子端末10b−1の端末IDを記憶して、受信した応答パケットから取得した、子端末10b−1から親端末10aへのSQや、受信した応答パケットのシーケンス番号等を、SQ通知送信先アドレス記憶部114の端末IDと対応付けて、SQ通知情報記憶部115に記憶させる。親端末10aは、子端末10b−2、子端末10b−3から応答パケットを受信したときも、子端末10b−1から応答パケットを受信したときと同様にして、SQ通知送信先アドレス記憶部114に、子端末10b−2、子端末10b−3の端末IDを記憶して、該端末IDと対応付けて、受信した応答パケットから取得したSQや、受信した応答パケットのシーケンス番号等をSQ通知情報記憶部115に記憶させる。
また、親端末10aは、SQ通知送信先アドレス記憶部114に最初に端末IDを登録するときに、即ち、本例では子端末10b−1の端末IDを登録するときに、SQ通知送信タイマー部135の計時を開始させる。
親端末10aは、SQ通知パケットの送信時刻の到来をSQ通知送信タイマー部135が通知した場合に、図14のステップS41、ステップS42、ステップS43を実行する。即ち、親端末10aは、SQ通知パケットの送信の必要があるかどうかを、SQ通知送信先アドレス記憶部114を参照して判断する。本例では、SQ通知送信先アドレス記憶部114に、子端末10b−1〜10b−3までの端末IDが登録されているため、親端末10aは、SQ通知パケットの送信の必要があると判断する。そして、親端末10aは、子端末10b−1〜10b−3までの端末IDと、SQ通知情報記憶部115に登録されている、これに対応するSQ及びシーケンス番号とを含めたSQ通知パケットを作成して、子端末10b−1〜10b−4に対してブロードキャストで送信する(♯41)。
本例では、子端末10b−1〜10b−3は、親端末10aからのSQ通知パケットを受信できたものとする。また、子端末10b−4についても、この時点では、親端末10aと通信可能な状態になっているものとし、親端末10aからのSQ通知パケットを受信できたものとする。
子端末10b−1〜子端末10b−3は、SQ通知パケットを受信すると、図15のステップS8、ステップS45、ステップS9を実行する。即ち、子端末10b−1〜10b−3は、SQ通知パケットを所定時間内に取得したと判断し、自端末10へのSQ通知パケットであると判断し、自端末10の送信した応答パケットと同一のシーケンス番号をSQ通知パケットが含むため、図15のステップS46を実行する。子端末10b−1〜10b−3は、図15のステップS46を実行することにより、SQ通知パケットに含まれる自端末10の端末IDに対応するSQを表すデータを取得して、記憶部110に一時的に記憶されている、親端末10aから自端末10へのSQを表すデータを比較して、値の大きい方のSQを用いて、通信コスト値を算出する。
その後、子端末10b−1〜10b−3は、図15のステップS24を実行し、初めての通信コスト値の通信可能端末データテーブルDへの登録であると判断するため、図15のステップS25、ステップS13、ステップS14を実行して、ルート決定パケットを親端末10aに対して送信する(♯42、♯43、♯44)。
本実施の形態では、端末10が応答パケットを受信した都度、SQ通知パケットをユニキャストで送信するのではなく、所定時間間隔毎に、複数の端末10分のSQを含めたSQ通知パケットをブロードキャストで送信するため、PLCネットワーク1内で、複数のデータがコリジョンを起こすことを効果的に防止することができる。
次に、別の実施形態について説明する。
(第5の実施形態)
本発明の第5の実施形態を、図3、図6、図17、図18及び図19を用いて説明する、第1〜第4の実施形態では、端末10がSQ通知パケットを送信するが、第5の実施形態では、端末10が、SQ通知と兼ねて、応答パケットの送信元の端末10から自端末10へのSQを表すデータを含めたHパケットを、各端末10に対してブロードキャストで送信する。
このため、図3に破線で示すように、端末10は、第1〜第3の実施形態での構成に加えて、SQ通知送信先アドレス記憶部114及びSQ通知情報記憶部115を記憶部110に機能的に備える。SQ通知送信先アドレス記憶部114及びSQ通知情報記憶部115は、上述した第4の実施形態と同様の機能を実行する領域であるため、説明を省略する。
図17、図18は、本発明の第5の実施形態に係る端末10の通信ルート構築処理の一例を示すフローチャート(その1及びその2)である。本処理は、図11及び図12の示すフローチャートと比較して、ステップS3に代えてステップS54が実行され、ステップS8に代えてステップS56が実行され、ステップS10に代えてステップS58が実行されること、更に、ステップS51〜S53、S55及びS57の処理が実行されることが相違しており、同一の名称及び符号が付与されたステップについては同内容の処理が実行される。以下、相違するステップについて、説明する。
ステップS23で、HP送信可能フラグがオンしていると判断する場合に、本実施形態では、通信処理部131は、ステップS51を実行する。ステップS51では、通信処理部131は、SQ通知送信先アドレス記憶部114に端末IDが登録されているかどうか、即ち、SQ通知の必要があるかどうかを判断する。SQ通知の必要があると判断しない場合(S51でNO)には、通信処理部131は、通常のHパケットをブロードキャストで各端末10へ送信させる(S52)。一方、SQ通知の必要があると判断する場合(S51でYES)には、通信処理部131は、SQ通知送信先アドレス記憶部114に登録されている端末IDと、該端末IDと対応付けて、SQ通知情報記憶部115に登録されているシーケンス番号(SQ通知用)及びSQを表すデータとを含めたHパケットである、SQ通知付きHパケットを作成して、各端末10へブロードキャストで送信する(S53)。その後、通信処理部131は、本処理をステップS1に戻す。
SQ通知付きHパケットは、例えば、図6(f)で示すような、オペレーションコード、送信元の端末ID(自端末10の端末ID)、シーケンス番号(Hパケット用)、シーケンス番号(SQ通知用)、SQ通知付きHパケットの送信先の端末ID(第1端末ID〜第n端末ID)、及び、該端末IDに対応するSQを表すデータを含む。SQ通知付きHパケットの送信先の端末IDは、SQ通知送信先アドレス記憶部114に記憶されているものが、シーケンス番号(SQ通知用)及びSQを表すデータは、SQ通知情報記憶部115に記憶されているものが、SQ通知付きHパケットに含められる。シーケンス番号(Hパケット用)は、図6(a)で示すHパケットに含まれるシーケンス番号と同内容のものである。
図17に戻って、ステップS1で、通信処理部131で通信パケットの受信を判断した場合には、通信処理部131は、ステップS54を実行する。ステップS54では、通信処理部131は、受信した通信パケットを識別し、通信パケットがルート決定パケットである場合には、ステップS5を実行し、通信パケットが通常のHパケットである場合には、ステップS32を実行し、通信パケットが応答パケットである場合には、後述のステップS55を実行する。
ステップS55では、通信処理部131は、PLCインターフェース部120で受信した応答パケットを、テーブル処理部132に通知させる。通信処理部131は、テーブル処理部132に、応答パケットを基にして、応答パケットの送信元の端末10における端末IDをSQ通知送信先アドレス記憶部114に登録させるとともに、該端末IDと対応付けて、応答パケットの送信元の端末10から本端末10へのSQを表すデータ、及び応答パケットのシーケンス番号をSQ通知情報記憶部115に登録させる。その後、通信処理部131は、本処理をステップS1に戻す。
ステップS32、S7の実行後、本実施形態では、通信処理部131は、ステップS56を実行する。ステップS56では、SQ通知付きHパケットを所定時間以内に受信したかどうかを、通信処理部131が判断する。SQ通知付きHパケットを所定時間以内に受信したと判断しない場合(S56でNO)には、通信処理部131は、本処理をステップS1に戻し、SQ通知付きHパケットを所定時間以内に受信したと判断する場合(S56でYES)には、自端末10へのSQ通知かを、通信処理部131が判断する(S57)。ここで、SQ通知付きHパケットに自端末10の端末IDが含まれる場合に、自端末10へのSQ通知であると判断される。
自端末10へのSQ通知であると判断しない場合(S57でNO)には、通信処理部131は、本処理をステップS56に戻し、自端末10へのSQ通知であると判断する場合(S57でYES)には、通信処理部131はステップS9を実行する。ステップS9で、受信したSQ通知付きHパケットが、ステップS7で送信した応答パケットと同一のシーケンス番号を含むと判断する場合(S9でYES)には、通信処理部131は、ステップS58を実行する。
ステップS58では、通信処理部131は、テーブル処理部132にSQ通知付きHパケットを通知する。通信処理部131は、テーブル処理部132に、SQ通知付きHパケットに含まれるSQを表すデータのうち、自端末10に対応するSQを表すデータを基に、SQを取得させる。通信処理部131は、テーブル処理部132に、取得したSQを基にして、第3の実施形態でのステップS10と同様にして、通信コスト値を算出させる。その後、通信処理部131はステップS24を実行させる。ステップS24、S25、ステップS11〜S14、及びステップS33、S34については、図17、図18と同内容の処理が実行されるため、説明を省略する。
なお、本処理では、ステップS56の実行後に、ステップS57が実行されることとしているが、ステップS9の実行後に、ステップS57が実行されることとしてもよい。
なお、本処理は、図11及び図12に示す第3の実施形態におけるルート構築処理に、ステップS51〜S58が実行されることとしているが、これに限定されず、図5、図8及び図9に示すルート構築処理にステップS51〜S58が実行されることとしてもよい。この場合には、図5に示すルート構築処理では、ステップS1で、Hパケット送信時刻の到来が通知された場合に、ステップS51が実行され、ステップS51でNOと判断された場合にステップS52が実行され、ステップS51でYESと判断された場合に、ステップS53が実行される。図8及び図9に示すルート構築処理では、ステップS23の実行後に、ステップS51が実行され、ステップS51でNOと判断された場合にステップS52が実行され、ステップS51でYESと判断された場合に、ステップS53が実行される。
また、図5、図8及び図9で示すルート構築処理では、ステップS3の代わりにステップS54が、ステップS4の代わりにステップS55が実行され、ステップS8の代わりにステップS56が、ステップS56又はステップS9の後に、ステップS57が実行され、ステップS10の代わりにステップS58が実行される。
図19は、本実施形態における、端末10間の通信ルートを構築するための通信シーケンスの一例を示す図である。
親端末10aは、ステップS1でHパケットの送信時刻の到来が通知されると、ステップS23、ステップS51が実行され、SQ通知送信先アドレス記憶部114に端末IDが登録されていないため、ステップS52が実行され、通常のHパケットが作成され、各子端末10b−1〜10b−4に対して、ブロードキャストで送信される(♯51)。本例では、図16で示される通信シーケンスと同様にして、子端末10b−1〜10b−3が応答パケットを送信する(♯2)。
親端末10aは、子端末10b―1〜10b−3から応答パケットを受信すると、ステップS1、ステップS54、ステップS55を実行して、応答パケットの送信元の端末10、即ち子端末10b−1〜10b−3の端末IDを、SQ通知送信先アドレス記憶部114に登録し、該端末IDと対応付けて、応答パケットから取得した、子端末10b−1〜10b−3から親端末10aへのSQ及びシーケンス番号を、SQ通知情報記憶部115に登録する。
親端末10aは、ステップS1で、Hパケット送信時刻が到来したと判断される場合に、ステップS23、ステップS51を実行して、SQ通知送信先アドレス記憶部114を参照して、SQ通知の必要があるかどうかを判断する。ここで、SQ通知送信先アドレス記憶部114には、子端末10b−1〜10b−3の端末IDが登録されている。従って、親端末10aは、SQ通知の必要があると判断し、ステップS53を実行して、子端末10b−1〜10b−3の端末IDと、該端末IDに対応付けたSQ通知情報記憶部115に登録されているSQ及びシーケンス番号とを含めたSQ通知付きHパケットを作成して、各子端末10bに対してブロードキャストで送信する(♯52)。
本例では、子端末10b−1〜10b−3は、親端末10aからのSQ通知付きHパケットを受信できたものとする。また、子端末10b−4についても、この時点では、親端末10aと通信可能な状態になっているものとし、親端末10aからのSQ通知付きHパケットを受信できたものとする。
子端末10b−1〜子端末10b−3は、SQ通知付きHパケットを受信すると、図18のステップS56、ステップS57、ステップS9を実行する。即ち、子端末10b−1〜10b−3は、SQ通知付きHパケットを所定時間内に取得したと判断し、自端末10へのSQ通知であると判断し、自端末10の送信した応答パケットと同一のシーケンス番号をSQ通知付きHパケットが含むため、図18のステップS58を実行する。子端末10b−1〜10b−3は、図18のステップS58を実行することにより、SQ通知パケットに含まれる自端末10の端末IDに対応するSQを表すデータを取得して、記憶部110に一時的に記憶されている、親端末10aから自端末10へのSQを表すデータを比較して、値の大きい方のSQを用いて、通信コスト値を算出する。
その後、子端末10b−1〜10b−3は、図18のステップS24を実行し、初めての通信コスト値の通信可能端末データテーブルDへの登録であると判断するため、図18のステップS25、ステップS13、ステップS14を実行して、ルート決定パケットを親端末10aに対して送信する(♯53〜♯55)。
上記構成により、本実施形態では、SQ通知をHパケットの送信と兼ねることができるため、第1〜第4の実施形態と比較して、PLCネットワーク1内のトラフィック量を減少させることができる。
次に、別の実施形態について説明する。
(第6の実施形態)
本発明の第6の実施形態を、図3、図6、図20、図21及び図22を用いて説明する。第1〜第5の実施形態では、ルート決定パケットがユニキャストでSQ通知パケット又はSQ通知付きHパケットの送信先の端末10に対して送信されるが、第6の実施形態では、構築された通信ルートの通知をHパケットに含めてブロードキャストで各端末10に対して送信する。
このため、図3に破線で示すように、端末10は、本実施形態では、第1〜第5の実施形態での構成に加えて、ルート決定付きHP送信フラグ記憶部116を記憶部110に機能的に備える。ルート決定付きHP送信フラグ記憶部116は、構築された通信ルートを表すデータを含むHパケットの作成及び送信することを識別させるためのフラグ(ルート決定付きHP送信フラグ)を記憶する領域である。フラグ有無判断部134は、ルート決定付きHP送信フラグ記憶部116を参照して、ルート決定付きHP送信フラグがオンされているかどうかを識別する。
通信処理部131は、Hパケットの送信時刻が到来したときに、ルート決定通知を送信する必要があるときには、ルート決定付きHパケットを上位端末10に対して送信し、ルート決定通知を送信する必要がないときには、図6(a)で示すような通常のHパケットを送信する。
図20、図21は、本発明の第6の実施形態に係る端末10の通信ルート構築処理の一例を示すフローチャート(その1及びその2)である。本処理は、図17及び図18の示すフローチャートと比較して、通信処理部131が、ステップS54の代わりに、ステップS63を実行し、ステップS5の代わりに、ステップS65を実行し、ステップS14の代わりに、ステップS64を実行すること、更に、ステップS61、ステップS62を実行することが相違しており、同一の符号及び名称が付与されたステップについては同内容の処理が実行される。以下、相違するステップについて、説明する。
ステップS23で、送信可能フラグがオンしていると判断される場合に、SQ通知の必要があるかどうかが判断され(S51)、SQ通知の必要があると判断する場合(S51でYES)には、通信処理部131は、SQ通知付きHパケットを作成して、各端末10に対してブロードキャストで送信する(S53)。SQ通知の必要があると判断しない場合(S51でNO)には、通信処理部131は、ルート決定付きHP送信フラグがオンしているかどうかを判断する(S61)。ルート決定付きHP送信フラグのオンは、フラグ有無判断部134から、ルート決定付きHP送信フラグのオンが通知された場合に判断される。
ルート決定付きHP送信フラグがオンしていると判断しない場合(S61でNO)には、通信処理部131は、図6(a)に示す通常のHパケットを作成して、各端末10に対してブロードキャストで送信し(S52)、その後、本処理をステップS31に戻す。HP送信フラグがオンしていると判断する場合(S61でYES)には、通信処理部131は、通信可能端末データテーブルDを参照して、ルート決定付きHパケットを作成して,ブロードキャストで各端末10へ送信する(S62)。その後、通信処理部131は、ルート決定付きHP送信フラグをオフにして、本処理をステップS1に戻す。
ルート決定付きHパケットは、例えば、図6(g)に示すような、オペレーションコード、送信元の端末ID、シーケンス番号、通信コスト値及び上位端末IDを表すデータを含むHパケットである。上位端末IDは、第1〜第5の実施形態のルート決定パケットと同様に、ルート決定付きHパケットの送信元の端末10から本端末10とが通信するにあたって経由する端末10のIDであり、複数の端末10を経由する場合には、全ての端末10の端末IDを表すデータが含まれている。上位端末IDは、当初第1上位端末IDのみが含まれているが、複数の端末10を経由する場合には、端末10を経由する際に、第2上位端末ID以降の端末IDが付与される。
ステップS1で、通信パケットの受信を判断した場合に、本実施形態では、通信処理部131は、ステップS63を実行する。ステップS63では、通信処理部131は、受信した通信パケットの種別を判断し、通信パケットが応答パケットである場合には、ステップS55を実行し、通信パケットが通常Hパケットである場合には、ステップS32を実行し、通信パケットがルート決定付きHパケットである場合には、後述のステップS65を実行する。
ステップS32、S33、ステップS7、S9、S12、S13、ステップS24、S25及びステップS56〜S58については、図18の示すフローチャートと同内容の処理が実行されるため、説明を省略する。本実施形態では、ステップS13の実行後、通信処理部131は、テーブル処理部132からルート決定を通知する指令を通知され、該指令を受けて、ルート決定付きHP送信フラグをオンする(S64)。その後、通信処理部131は、ステップS33を実行するが、第5の実施形態と同内容であるため、説明を省略する。
ステップS65では、本端末10が親端末10aである場合には、通信処理部131は、受信したルート決定付きHパケットをテーブル処理部132に通知し、テーブル処理部132に、ルート決定付きHパケットに含まれる送信端末ID、上位端末ID、通信コスト値を、互いに対応付けて、通信ルートテーブルに登録させる。通信処理部131は、本端末10が子端末10bである場合には、通信可能端末データテーブルDを参照して、次の上位端末10の端末IDを表すデータをルート決定付きHパケットに付加して、上位端末に送信する。その後、通信処理部131は、本処理をステップS1に戻す。
なお、本処理は、図17、図18に示す第5の実施形態におけるルート構築処理に、ステップS61〜S65が実行されることとしているが、これに限定されず、図5、図8及び図9、図11及び図12、図14及び図15に示すルート構築処理にステップS61〜S65が実行されることとしてもよい。この場合には、図5に示すルート構築処理では、ステップS1で、Hパケット送信時刻の到来が通知された場合に、ステップS61が実行され、ステップS61でYESと判断された場合にステップS62が実行され、ステップS61でNOと判断された場合に、ステップS52が実行される。図11及び図12、図14及び図15に示すルート構築処理では、ステップS23の実行後に、ステップS61が実行され、ステップS61でYESと判断された場合にステップS62が実行され、ステップS61でNOと判断された場合に、ステップS52が実行される。
また、図5、図8及び図9、図11及び図12、図14及び図15で示すルート構築処理では、ステップ3の代わりにステップS63が、ステップS5の代わりにステップS65が実行され、ステップS14の代わりにステップS64が実行される。
図22は、本実施形態における、端末10間の通信ルートを構築するための通信シーケンスの一例を示す図である。親端末10aは、Hパケット送信時刻が到来すると、図20、図21のステップS1、ステップS23、ステップS51、ステップS61、ステップS52を実行して、通常のHパケットをブロードキャストで各子端末10bに対して送信する(♯61)。子端末10b−1〜10b−3は、図19で示される通信シーケンスと同様にして、親端末10aへの応答パケットを送信する(♯2)。
親端末10aは、Hパケット送信時刻が到来すると、ステップS1、ステップS51、ステップS53を実行することで、SQ通知付きHパケットをブロードキャストで各子端末10bに対して送信する(♯62)。子端末10b−1〜10b−3は、SQ通知付きHパケットを受信すると、ステップS56、ステップS57、ステップS9、ステップS58、ステップS24、ステップS25、ステップS13、ステップS64を実行して、通信可能端末データテーブルDを更新して、ルート決定付きHP送信フラグをオンする。
本例では、次に、子端末10b−1のHパケット送信時刻が到来することとする。子端末10b−1は、Hパケット送信時刻が到来すると、ステップS1、ステップS23、ステップS51、ステップS61、ステップS62を実行して、通信可能端末データテーブルDを参照して、ルート決定付きHパケットを作成して、ブロードキャストで各端末10に対して送信する(♯63)。その後、子端末10b−2、10b−3についても、HP送信時刻の到来によって、同様の処理を実行し、ルート決定付きHパケットを作成して、ブロードキャストで各端末10に対して送信するが、ここでは、説明を省略する。
上記構成によって、本実施形態では、端末10は、構築された通信ルートを親端末10aに対する通知を、Hパケットに含ませるため、通信ルートをユニキャストで上位端末10に対して送信する第1〜第5の実施形態と比較して、PLCネットワーク1内のトラフィックを減少させることができる。
次に、別の実施形態について説明する。
(第7の実施形態)
第7の実施形態は、所定の通信網に接続された複数の端末を備えた通信ネットワーク内における、該複数の端末のうち、親となる第1の端末と子となる第2の端末との、直接又は他の通信端末に中継された通信ルートの構築方法であって、前記端末は、通信ネットワークを介して他の端末と通信を行う通信部と、記憶部と、該通信部及び記憶部の動作を制御する制御部とを備え、前記複数の端末の通信部が、所定の時間間隔毎に、自通信端末と、前記第1の端末との間の通信品質を通知する通知通信パケットを、同報通信で他の端末に対して送信する通信品質通知ステップと、前記第2の端末の制御部が、前記通知通信パケットを受信した場合に、前記通知通信パケットの送信元の前記端末と自端末との間の双方向の通信品質を取得するための処理を実行する通信品質取得ステップと、前記第2の端末の制御部が、該取得した双方向の通信品質、及び前記通知通信パケットで通知された通信品質に基づいて、前記第1の端末と自端末との間の通信品質を算出し、算出した通信品質が所定条件を満たす場合にのみ、前記通知通信パケットの送信元の端末との間の通信ルート及び算出した通信品質を、記憶部に記憶するとともに、前記第1の端末を送信対象として通信部から送信させる通信ルート構築ステップとを含み、前記通信品質取得ステップでは、前記第2の端末の通信部は、前記通知通信パケットの送信元の端末と自端末との双方向の通信品質を取得するための処理として、前記通知通信パケットに基づいて、該通知通信パケットの送信元の端末から自端末への通信品質を取得するとともに、前記通知通信パケットに応答する応答パケットを、前記通知通信パケットの送信元の端末に対して送信し、該通知通信パケットの送信元の端末の制御部は、前記応答パケットを通信部で受信した場合に、該応答パケットから、前記応答パケットの送信元の前記第2の端末から自端末への通信品質を取得し、該取得した通信品質を、前記応答パケットの送信元の前記第2の端末に対して通知し、該通知された前記第2の端末の制御部は、該通信品質の通知に基づいて、自端末から前記通知通信パケットの送信元の端末への通信品質を取得し、前記第2の端末の制御部は、前記通知通信パケットの送信元の端末と前記第1の端末との間の通信ルートが構築されている場合のみ、前記通知通信パケットの送信元の端末と自端末との間の双方向の通信品質を取得するための処理を実行するものであって、算出した通信品質が、記憶部に記憶されている通信品質と比較して、上位所定ランク以上の通信品質である場合にのみ、前記通知通信パケットの送信元の端末との間の通信ルート及び算出した通信品質を、記憶部に記憶するとともに、前記第1の端末を送信対象として通信部から送信させるものである。
第7の実施形態も上述の第1乃至第6の実施形態と同様に、本発明の通信ルートの構築方法をPLCネットワークに用いたものであり、そのPLCネットワークは、例えば、図1に示すように、電力線L(L1、L2)で接続された複数の端末10(親端末10a、子端末10b)を備えて構成される。
第7の実施形態に係る端末10は、図3に示す第1の実施形態の端末10と同様に、親端末10aであるか子端末10bであるかを設定する設定手段(不図示)と、記憶部110と、上記通信部の一例としてのPLCインターフェース部120と、制御部130とを備える。記憶部110は、テーブル記憶部111を機能的に備え、制御部130は、通信処理部131と、テーブル処理部132と、Hパケット送信タイマー部133と機能的に備える。
第7の実施形態に係る通信処理部131は、以下で図23を用いて説明するように動作する点で、図5を用いて説明したように動作する第1の実施形態に係る通信処理部131と異なるが、その他の点は、第1の実施形態に係る通信処理部131と同様である。
図23は、本発明の第7の実施形態に係る端末の通信ルート構築処理の一例を示すフローチャートである。本処理は、例えば、端末10の電源がオンした場合に実行が開始される。まず、通信処理部131は、第1の実施形態のステップS1と同様に、Hパケット送信時刻が到来したか否か及び通信パケットを受信したか否かを判断する(S101)。
Hパケット送信タイマー部133からHパケットの送信時刻の到来が通知されており、この判断の結果、Hパケット送信時刻の到来である場合(Hパケット送信時刻)には、通信処理部131は、第1の実施形態のステップS2と同様に、上記通知通信パケットの一例として図6(a)に示すHパケットを作成して、同報通信で、例えばブロードキャストでPLCネットワーク1に送信し(S102)、処理をステップS101に戻す。
一方、ステップS101における判断の結果、通信パケットを受信した場合(パケット受信)には、通信処理部131は、第1の実施形態のステップS3と同様に、受信した通信パケットの種別を識別する(S103)。
この識別の結果、通信パケットが応答パケットである場合(応答パケット)には、通信処理部131は、ステップS104を実行し、通信パケットがルート決定パケットである場合(ルート決定パケット)には、通信処理部131は、ステップS105を実行し、通信パケットがHパケットである場合(Hパケット)には、通信処理部131は、ステップS106を実行し、そして、通信パケットがSQ通知パケットである場合(SQ通知パケット)には、通信処理部131は、ステップS108を実行する。
ステップS104では、第1の実施形態のステップS4と同様に、通信処理部131は、テーブル処理部132を用いて、応答パケットの受信信号強度に基づいて応答パケットの送信元における端末10から本端末10へのSQを取得し、このSQを表すデータを含む通信パケットであるSQ通知パケットを作成する。そして、通信処理部131は、応答パケットの送信元の端末10に対してユニキャストでこの作成したSQ通知パケットを送信し、その後、処理をステップS101に戻す。
ステップS105では、第1の実施形態のステップS5と同様に、本端末10が子端末10bである場合には、通信処理部131は、通信可能端末データテーブルDを参照して、受信したルート決定パケットに次の上位端末10の端末IDを付加して次の上位端末10へユニキャストで送信する。一方、本端末10が親端末10aである場合には、通信処理部131は、テーブル処理部132を用いて、ルート決定パケットに含まれる送信端末ID及び上位端末IDを、構築された通信ルートとして通信ルートテーブルに登録することで通信ルートテーブルを更新する。その後、通信処理部131は、処理をステップS101に戻す。
ステップS106では、第1の実施形態のステップS6と同様に、通信処理部131は、受信したHパケットに含まれる通信コスト値を参照することによって、Hパケットの送信元の端末10がルート構築端末10であるか否かを判断し、その後、通信処理部131は、本端末10が親端末10aでないかどうかを判断する。判断の結果、Hパケット送信元端末10が、ルート構築端末10ではない場合又は本端末10が親端末10aではない場合(No)には、通信処理部131は、本処理をステップS101に戻し、本端末10が親端末10aではなく、かつ、Hパケット送信元端末10がルート構築端末10である場合には(Yes)、通信処理部131は、第1の実施形態のステップS7と同様に、Hパケットに含まれるシーケンス番号と同一のシーケンス番号を付与した応答パケットを作成して、Hパケット送信元端末10に対して送信する(S107)。
そして、通信処理部131は、テーブル処理部132を用いて、この受信したHパケットに含まれる通信コスト値及びホップ数を表すデータから、通信コスト値及びホップ数を取得する。さらに、通信処理部131は、テーブル処理部132を用いて、この受信したHパケットの受信信号強度に基づいてHパケット送信元端末10から本端末10へのSQを取得し、記憶部110に一時的に記憶する。
本実施形態では、ステップS106が実行されることで、通信処理部131は、Hパケット送信元端末10がルート構築端末10である場合のみ、ステップS107を実行するため、PLCネットワーク1内のトラフィックを無駄に増大させることを防止することができる。さらに、通信処理部131は、Hパケット送信元端末10がルート構築端末10である場合のみ、Hパケットの送信元の端末10と自端末10との間の双方向のSQを取得する処理を実行するので、PCLネットワーク1内におけるトラフィックの増大を抑制することができる。
ステップS108では、第1の実施形態のステップS8と同様に、通信処理部131は、応答パケットを送信してから所定時間内にSQ通知パケットを受信したか否かを判断する。
この判断の結果、所定時間内にSQ通知パケットを受信しない場合(No)には、通信処理部131は、本処理をステップS101に戻す。一方、この判断の結果、所定時間内にSQ通知パケットを受信した場合(Yes)には、第1の実施形態のステップS9と同様に、通信処理部131は、この受信したSQ通知パケットがステップS107で送信した応答パケットと同一のシーケンス番号を含むか否かを判断する(S109)。
この判断の結果、同一のシーケンス番号を含まない場合(No)には、通信処理部131は、本処理をステップS101に戻す。一方、この判断の結果、同一のシーケンス番号を含む場合(Yes)には、第1の実施形態のステップS10と同様に、通信処理部131は、テーブル処理部132を用いて、SQ通知パケットに基づいて通信コスト値を算出する(S110)。
通信処理部131は、第1の実施形態のステップS11と同様に、テーブル処理部132を用いて、この算出した通信コスト値が通信可能端末データテーブルDに登録されている通信コスト値と比較して、上位所定ランク以上であるか否かを判断する(S111)。
この判断の結果、算出した通信コスト値が上位所定ランク以上ではない場合(No)には、第1の実施形態のステップS12と同様に、通信処理部131は、この算出した通信コスト値等の記憶部110に一時的に記憶された、今回の通信ルート構築処理で用いられたデータを破棄する(S112)。
一方、この判断の結果、算出した通信コスト値が上位所定ランク以上である場合(Yes)には、第1の実施形態のステップS13と同様に、通信処理部131は、テーブル処理部132を用いて、通信ルートとしての、SQ通知パケットの送信元の端末10における端末ID、本端末10と端末IDに対応した端末10との間の通信品質、通信コスト値及び通信コスト値の取得時刻(通信コスト値の登録時刻)を通信可能端末データテーブルDに登録する。そして、通信処理部131は、テーブル処理部132を用いて、登録後の通信可能端末データテーブルDにおいて、最も通信コスト値の大きい端末10に関するデータ、即ち、通信コスト値が上位所定ランク未満のデータを削除して、通信可能端末データテーブルDの登録内容を変更する(S113)。
ステップS111が実行され、算出した通信コスト値が上位所定ランク以上であると判断される場合にのみステップS113が実行されるので、記憶部110に記憶させるデータ量を減少することができる。
そして、通信処理部131は、第1の実施形態のステップS14と同様に、テーブル処理部132を用いて、本端末10及びHパケット送信元端末10の端末IDを含めたルート決定パケットを作成して上位端末10へ送信する(S14)。その後、通信処理部131は、本処理をステップS101に戻す。
上記のように動作するので、第7の実施形態では、各端末10がHパケットを用いて親端末10aとの間のSQが取得されるので、PLCネットワーク1内のトラフィックを減少することができる。このため、子端末10bが、記憶部110に親端末10aとのSQが上位所定ランク以上に良い通信ルートで中継される、隣接端末10との間のSQを記憶するのみで足りる、マスタースレーブ型のネットワークを採用しながらも、PLCネットワーク1内のトラフィックを減少させることができ、各端末10間の通信速度が比較的小さく、各端末10のメモリの容量が比較的小さい、PLCネットワーク1においても、PLCネットワーク1内のネットワークトポロジーが変化に対応して、各端末10間の通信ルートを良好に構築することができる。これによって、各端末10間の通信を良好に行うことができる。
また、第7の実施形態では、PLCネットワーク1では、Hパケットの送信元の端末10が親端末10aとの通信ルートが構築されている端末10である場合のみ、Hパケットの送信元の端末10と自端末10との間の双方向の通信品質を取得するための処理を通信処理部131で実行し、Hパケットの送信元の端末10が親端末10aとの通信ルートが構築されている端末10でない場合には、Hパケットの送信元の端末10と自端末10との間の双方向の通信品質を取得するための処理を実行しない。これによって、親端末10aとの通信ルートが構築されていない子端末10b同士が、互いに通信ルートを構築するための通信が行われることで、無駄にPLCネットワーク1内のトラフィックが増大することを効果的に防止することができる。
ここで、上述の第7の実施形態において、第1の実施形態に対する第2の実施形態のように、親端末10aとの通信ルートが構築されていない子端末10bは、応答パケットを送信する一方、Hパケットを送信しないように構成されてもよい。即ち、子端末10bは、自端末10が親端末10aとの間の通信ルートが構築されている場合のみ、通知通信パケットとしてのHパケットを送信するものである。この場合、端末10は、図3に破線で示すように、第7の実施形態の構成に加えて、HP送信可能フラグ記憶部112を記憶部110に機能的に更に備え、フラグ有無判断部134を制御部130に機能的に更に備える。
また、上述の第7の実施形態において、第1及び第2の実施形態に対する第3の実施形態のように、端末10は、親端末10aと良好に通信することができる所定レベル以上の通信コスト値が得られた場合に通信ルートの探索を終了するように構成されてもよい。即ち、子端末10bは、通信品質が所定レベル以上である親端末10aと自端末10bとの間の通信ルートが記憶部110に記憶されている場合には、上述の通信品質取得ステップの実行を禁止するものである。この場合、端末10は、図3に破線で示すように、第7の実施形態の構成に加えて、HP送信可能フラグ記憶部112及びHP受信可能フラグ記憶部113を記憶部110に機能的に更に備え、フラグ有無判断部134を制御部130に機能的に更に備える。
さらに、上述の第7の実施形態において、第1乃至第3の実施形態に対する第4の実施形態のように、端末10は、応答パケットの送信元の端末10に対して送信するSQ通知を、所定時間送信せずに記憶部110に蓄積(記憶)し、所定時間経過後に、同報通信で、例えばブロードキャストで各応答パケットの送信元の端末10に対して送信するように構成されてもよい。即ち、通知通信パケットの一例としてのHパケットの送信元の端末10は、応答パケットを受信した場合に、応答パケットの送信元の端末10から自端末10への通信品質を記憶部110に記憶し、所定のタイミングで、記憶した通信品質を表すデータを、該通信品質の通知先の端末10を識別するための識別子である端末IDと対応付けて含むHパケットを通信部の一例としてのPLCインターフェース部120から同報通信で他の端末10へ送信し、Hパケットを受信した端末10は、自端末10の端末IDが含まれている場合には、自端末10の端末IDに対応する通信品質を表すデータを取得するものである。この場合、端末10は、図3に破線で示すように、第7の実施形態の構成に加えて、HP送信可能フラグ記憶部112、HP受信可能フラグ記憶部113、SQ通知送信先アドレス記憶部114及びSQ通知情報記憶部115を記憶部110に機能的に更に備え、フラグ有無判断部134及びSQ通知送信タイマー部135を制御部130に機能的に更に備える。
そして、上述の第7の実施形態において、第1乃至第4の実施形態に対する第5の実施形態のように、端末10は、SQ通知と兼ねて、応答パケットの送信元の端末10から自端末10へのSQを表すデータを含めたHパケットを、各端末10に対して同報通信で、例えばブロードキャストで送信するように構成されてもよい。即ち、通知通信パケットの一例としてのHパケットの送信元の端末10は、応答パケットを受信した場合に、応答パケットの送信元の端末10から自端末10への通信品質を記憶部に記憶し、記憶した通信品質を表すデータを、該通信品質の通知先の端末10を識別するための識別子である端末IDと対応付けて、Hパケット(SQ通知付きHパケット)に含めて通信部の一例としてのPLCインターフェース部120から同報通信で他の端末10へ送信し、このHパケットを受信した端末10は、自端末10の端末IDが含まれている場合には、自端末の端末IDに対応する通信品質を表すデータを取得するものである。この場合、端末10は、図3に破線で示すように、第7の実施形態の構成に加えて、HP送信可能フラグ記憶部112、HP受信可能フラグ記憶部113、SQ通知送信先アドレス記憶部114及びSQ通知情報記憶部115を記憶部110に機能的に更に備え、フラグ有無判断部134及びSQ通知送信タイマー部135を制御部130に機能的に更に備える。
また、上述の第7の実施形態において、第1乃至第5の実施形態に対する第6の実施形態のように、端末10は、構築された通信ルートの通知をHパケットに含めて同報通信で、例えばブロードキャストで各端末10に対して送信するように構成されてもよい。即ち、上述の通信ルートの構築ステップで、端末10は、通信ルート及び通信品質の通知を、通知通信パケットの一例としてのHパケット(ルート決定付きHパケット)に含めて、他の端末10に対して、同報通信で通信部の一例としてのPLCインターフェース部120から送信するものである。この場合、端末10は、図3に破線で示すように、第7の実施形態での構成に加えて、HP送信可能フラグ記憶部112、HP受信可能フラグ記憶部113、SQ通知送信先アドレス記憶部114、SQ通知情報記憶部115及びルート決定付きHP送信フラグ記憶部116を記憶部110に機能的に更に備え、フラグ有無判断部134及びSQ通知送信タイマー部135を制御部130に機能的に更に備える。
次に、別の実施形態について説明する。
(第8の実施形態)
第1及び第7の実施形態に係る端末10は、ルート構築端末10からHパケットを受信した場合に応答パケットを送信したが、第8の実施形態に係る端末10は、仮通信コスト値を求め通信品質が所定の基準を満たす場合に応答パケットを送信するものである。ここでは、第7の実施形態を基本として第8の実施形態を説明するが同様に第1の実施形態を基本とすることもできる。
このため、第8の実施形態に係る端末10は、図3に示すように、親端末10aであるか子端末10bであるかを設定する設定手段(不図示)と、記憶部110と、PLCインターフェース部120と、制御部130とを備える。記憶部110は、テーブル記憶部111を機能的に備え、制御部130は、通信処理部131と、テーブル処理部132と、Hパケット送信タイマー部133とを機能的に備える。
第8の実施形態に係る通信処理部131及びテーブル処理部132は、以下で図24を用いて説明するように動作する点で、図23を用いて説明したように動作する第7の実施形態に係る通信処理部131及びテーブル処理部132と異なるが、その他の点は、第7の実施形態に係る通信処理部131及びテーブル処理部132と同様である。
図24は、本発明の第8の実施形態に係る端末の通信ルート構築処理の一例を示すフローチャートである。ここで、第8の実施形態に係る端末10の動作が第7の実施形態に係る端末10と同様である場合には、図24において図23と同一の符号を付し、その内容の説明を適宜省略する。
本処理は、例えば、端末10の電源がオンした場合に実行が開始される。図24において、まず、通信処理部131は、第7の実施形態と同様に、Hパケット送信時刻が到来したか否か及び通信パケットを受信したか否かを判断し(S101)、判断の結果に応じてステップS102及びステップS103のうちの何れか一方を実行する。
ステップS103において、通信処理部131は、第7の実施形態のステップS103と同様に、受信した通信パケットの種別を識別する。この識別の結果、通信処理部131は、通信パケットが応答パケットである場合(応答パケット)にはステップS104を実行し、通信パケットがルート決定パケットである場合(ルート決定パケット)にはステップS105を実行し、通信パケットがSQ通知パケットである場合(SQ通知パケット)にはステップS108を実行し、そして、注目すべきは、通信パケットがHパケットである場合(Hパケット)にはステップS121を実行する。
ステップS108の実行後、通信処理部131は、第7の実施形態と同様に、ステップS109乃至ステップS114を実行する。
ステップS121において、通信処理部131は、テーブル処理部132を用いて通信可能端末データテーブルDを参照して通信コスト値が0である端末10を除いて仮通信コスト値を算出し、この算出した仮通信コスト値が予め定めた基準値以下であるか否かを判断する。予め定められる基準値は、PLCネットワーク1に要求される通信品質や通信の信頼性等を考慮して仕様により決定される。ここで、仮通信コスト値の算出において、通信コスト値が0である端末10を除くのは、親端末10aとの通信ルートが構築されていないからである。
判断の結果、この算出した仮通信コスト値が予め定めた基準値以下ではない場合には、通信処理部131は、処理をステップS101に戻し、一方、この算出した仮通信コスト値が予め定めた基準値以下である場合には、通信処理部131は、ステップS107を実行した後に処理をステップS101に戻す。
このようにテーブル処理部132は、第7の実施形態の処理に加えて、仮通信コスト値も算出し、通信処理部131は、第7の実施形態の処理に加えて、この算出した仮通信コスト値が予め定めた基準値以下である場合に応答パケットを送信する処理も行う。
この仮通信コスト値は、Hパケットを受信した場合に応答パケットを返信すべきか否かを判断する目安に利用される仮の通信コスト値であり、この受信したHパケットに収容されている通信コスト値及びこの受信したHパケットの受信信号強度により求められたSQに基づいて例えば式(2)によって算出される。
(仮通信コスト値)=(Hパケット中の通信コスト値)+Ka×(Hパケットの受信によるSQ)+Kb×1 ・・・式(2)
ここで、Ka及びKbは、式(1)と同一であり、Kb×1の項は、ホップ数が一つ増えたことによる。
ステップS121をより具体的に説明すると、例えば、通信可能端末データテーブルDが図25に示す登録内容である場合において、テーブル処理部132は、通信コスト値が0である端末ID=1及び端末ID=31の端末10を除いて仮通信コスト値を算出する。ここで、説明を簡単にするためにKa=1、Kb=0とすると、端末ID=2の端末10の仮通信コスト値は、14+13=27と算出され、端末ID=5の端末10の仮通信コスト値は、3+17=20と算出され、端末ID=8の端末10の仮通信コスト値は、7+9=16と算出され、端末ID=15の端末10の仮通信コスト値は、12+13=25と算出され、そして、端末ID=22の端末10の仮通信コスト値は、22+7=29と算出される。
そして、予め定められた基準値を例えば20とすると、端末ID=5の端末10及び端末ID=8の端末10の仮通信コスト値がそれぞれ20以下であるから、これら端末ID=5、8の端末10からHパケットを受信した場合に、通信処理部131は、ステップS121及びステップS107を実行することによって応答パケットを返信することになる。
自端末10とこれに隣接する隣接端末10との間における双方向SQは、自端末10から隣接端末10へのSQ、及び、隣接端末10から自端末10へのSQのうち、SQの大きい方、即ち、通信品質が悪い方である。このため式(1)と式(2)とを比較すると分かるように、通信コスト値は、仮通信コスト値以上の値となる。即ち、仮通信コスト値は、この真の通信コスト値を算出した場合に通信コスト値が取り得る最良の値である。通信コスト値が仮通信コスト値と等しくなる場合は、自端末10から隣接端末10へのSQと隣接端末10から自端末10へのSQとが等しい場合である。従って、仮通信コスト値が所定の基準値を越える場合の通信ルートを排除することにより、通信品質の悪い通信ルートに関して自端末10から隣接端末10へのSQ及び隣接端末10から自端末10へのSQの双方向のSQを探索する処理を省略することでPLCネットワーク1におけるトラフィックを削減することができる。
次に、別の実施形態について説明する。
(第9の実施形態)
第8の実施形態に係る端末10は、仮通信コスト値が基準値以下である場合に応答パケットを送信するが、第9の実施形態に係る端末10は、これに代えて、仮通信コスト値が上位所定のランク以上、例えば、上位3位以内である場合に応答パケットを送信するものである。
第8の実施形態に係る端末10では、仮通信コスト値が基準値以下である場合に応答パケットを送信するものであるため、基準値の設定によってはHパケットを受信したとしても応答パケットが送信されず、通信ルートが構築されない場合や隣接する端末10が多数存在するにも関わらず1、2本しか通信ルートが構築されない場合が生じ得るが、第9の実施形態のように、仮通信コスト値が上位所定のランク以上である場合に応答パケットを送信するように構成すれば、必ず通信ルートが構築される。
ここでは、第7の実施形態を基本として第9の実施形態を説明するが同様に第1の実施形態を基本とすることもできる。
このため、第9の実施形態に係る端末10は、図3に示すように、親端末10aであるか子端末10bであるかを設定する設定手段(不図示)と、記憶部110と、PLCインターフェース部120と、制御部130とを備える。記憶部110は、テーブル記憶部111を機能的に備え、制御部130は、通信処理部131と、テーブル処理部132と、Hパケット送信タイマー部133と機能的に備える。
第9の実施形態に係る通信処理部131及びテーブル処理部132は、以下で図26を用いて説明するように動作する点で、図23を用いて説明したように動作する第7の実施形態に係る通信処理部131及びテーブル処理部132と異なるが、その他の点は、第7の実施形態に係る通信処理部131及びテーブル処理部132と同様である。
図26は、本発明の第9の実施形態に係る端末の通信ルート構築処理の一例を示すフローチャートである。ここで、第9の実施形態に係る端末10の動作が第7の実施形態に係る端末10と同様である場合には、図26において図23と同一の符号を付し、その内容の説明を適宜省略する。
本処理は、例えば、端末10の電源がオンした場合に実行が開始される。図26において、まず、通信処理部131は、第7の実施形態と同様に、Hパケット送信時刻が到来したか否か及び通信パケットを受信したか否かを判断し(S101)、判断の結果に応じてステップS102及びステップS103のうちの何れか一方を実行する。
ステップS103において、通信処理部131は、第7の実施形態のステップS103と同様に、受信した通信パケットの種別を識別する。この識別の結果、通信処理部131は、通信パケットが応答パケットである場合(応答パケット)にはステップS104を実行し、通信パケットがルート決定パケットである場合(ルート決定パケット)にはステップS105を実行し、通信パケットがSQ通知パケットである場合(SQ通知パケット)にはステップS108を実行し、そして、注目すべきは、通信パケットがHパケットである場合(Hパケット)にはステップS131を実行する。
ステップS108の実行後、通信処理部131は、第7の実施形態と同様に、ステップS109乃至ステップS114を実行する。
ステップS131において、通信処理部131は、テーブル処理部132を用いて通信可能端末データテーブルDを参照して通信コスト値が0である端末10を除いて仮通信コスト値を算出し、上位所定のランク以上であるか否かを判断する。ここで、算出した仮通信コスト値が上位所定のランク以上であることは、取得した親端末10aとの通信品質が所定条件を満たす場合に相当する。
判断の結果、この算出した仮通信コスト値が上位所定のランク以上ではない場合(No)には、通信処理部131は、処理をステップS101に戻し、一方、この算出した仮通信コスト値が上位所定のランク以上である場合(Yes)には、通信処理部131は、ステップS107を実行した後に処理をステップS101に戻す。
このようにテーブル処理部132は、第7の実施形態の処理に加えて、仮通信コスト値も算出し、通信処理部131は、第7の実施形態の処理に加えて、この算出した仮通信コスト値が上位所定のランク以上である場合に応答パケットを送信する処理も行う。
例えば、通信可能端末データテーブルDが図25に示す登録内容である場合では、通信品質のよい順に端末IDを並べると8、5、15、2、22であるから、例えば上位3位以上の場合に応答パケットを返信するとすると、端末ID=8、5、15の何れかの端末10からHパケットを受信した場合に、通信処理部131は、ステップS131及びステップS107を実行することによって応答パケットを返信することになる。
このように端末10を構成することにより、上位所定のランク以上ではない端末10よりHパケットを受信した場合には双方向のSQを探索する処理を省略することでPLCネットワーク1におけるトラフィックを削減することができる。また、少なくとも上位所定のランク以上の端末10との間では双方向のSQを探索するので、通信ルートを確保することができる。特に、通信ルートの構築後に、仮通信コスト値ではなく通信コスト値を算出して最良の通信品質を備える通信ルートを主ルートとして他の通信ルートを予備ルートとすることで、主ルートに障害が発生した場合に迅速に予備ルートに切替えることにより通信の信頼性が向上する。PLCネットワーク1では、ダイナミックに通信品質が変化し得るので、このような構成は、効果的である。
次に、別の実施形態について説明する。
(第10の実施形態)
第9の実施形態に係る端末10は、仮通信コスト値が上位所定のランク以上である場合に応答パケットを送信するものであるが、第10の実施形態に係る端末10は、これに加えて、時間的に安定な通信ルートである場合に応答パケットを送信するものである。ここでは、第7の実施形態を基本として第10の実施形態を説明するが同様に第1の実施形態を基本とすることもできる。
このため、第10の実施形態に係る端末10は、図3に示すように、親端末10aであるか子端末10bであるかを設定する設定手段(不図示)と、記憶部110と、PLCインターフェース部120と、制御部130とを備える。記憶部110は、テーブル記憶部111を機能的に備え、制御部130は、通信処理部131と、テーブル処理部132と、Hパケット送信タイマー部133と機能的に備える。
図27は、本発明の第10の実施形態における通信可能端末データテーブルD’の一例を示す図である。端末10が子端末10bである場合に、テーブル記憶部111には通信可能端末データテーブルが記憶されるが、第10の実施形態における通信可能端末データテーブルD’は、端末ID、SQ、通信コスト値及び取得時間に加えて、所定時間内におけるHパケットの受信数であるHパケット受信数、及び、当該隣接端末10との間における通信ルートが時間的に安定であるか否かを示す有効リンクフラグを備える。有効リンクフラグは、それが1である場合には当該通信ルートが時間的に安定であることを示し、一方、それが0である場合には当該通信ルートが時間的に安定ではないことを示す。
第10の実施形態に係る通信処理部131は、以下で図29を用いて説明するように動作する点で、図23を用いて説明したように動作する第7の実施形態に係る通信処理部131と異なるが、その他の点は、第7の実施形態に係る通信処理部131と同様である。
そして、第10の実施形態に係るテーブル処理部132は、以下で図28及び図29を用いて説明するように動作する点で、図23を用いて説明したように動作する第7の実施形態に係るテーブル処理部132と異なるが、その他の点は、第7の実施形態に係るテーブル処理部132と同様である。
第10の実施形態では、テーブル処理部132は、通信ルートが時間的に安定であるか否かを判定するために、定期的にHパケットの受信数を0に初期化する次の処理も実行している。
図28は、Hパケットの受信数を初期化する処理を示すフローチャートである。図28において、テーブル処理部132は、Hパケットの受信数を初期化するタイミングになると、テーブル処理部132は、例えば通信可能端末データテーブルD’の先頭レコードにおける端末10から初期化を実行し、まず、Hパケットの受信数が0より多いか否かを判断する(S151)。
この判断の結果、Hパケットの受信数が0より多い場合(Yes)には、テーブル処理部132は、次のタイミングで通信ルートの時間的な安定性を判断するために、Hパケットの受信数を0に初期化し(S152)、通信可能端末データテーブルD’の次のレコードにおける端末10に対し初期化を実行すべく、処理をステップS151に戻す。
一方、この判断の結果、Hパケットの受信数が0である場合(No)には、当該通信ルートが時間的に安定ではないため、このことを有効リンクフラグで表すべく、テーブル処理部132は、有効リンクフラグが0であるか否かを判断する(S153)。この判断の結果、有効リンクフラグが0である場合(Yes)には、テーブル処理部132は、通信可能端末データテーブルD’の次のレコードにおける端末10に対し初期化を実行すべく、処理をステップS151に戻し、一方、この判断の結果、有効リンクフラグが0ではない場合(No)には、当該通信ルートが時間的に安定ではないことを有効リンクフラグで表すべく、テーブル処理部132は、有効リンクフラグを0に設定する(S154)。
次に、当該通信ルートが時間的に安定ではないため、テーブル処理部132は、自端末10に隣接する隣接端末10を経由する通信ルートを削除する(S155)。
そして、テーブル処理部132は、全ての端末10について、即ち、通信可能端末データテーブルD’の全てのレコードについて初期化を実行したか否かを判断する(S156)。この判断の結果、全ての端末10について初期化の処理を実行していない場合(No)には、テーブル処理部132は、通信可能端末データテーブルD’の次のレコードにおける端末10に対し初期化を実行すべく、処理をステップS151に戻し、一方、この判断の結果、全ての端末10について初期化の処理を実行している場合(Yes)には、処理を終了し、Hパケットの受信数を初期化する次のタイミングまで待機する。
このHパケットの受信数を初期化する初期化処理は、所定の時間間隔で定期的に実行されており、Hパケットの受信数を初期化する次のタイミングになると、テーブル処理部132は、Hパケットの受信数を初期化するステップS151乃至ステップ156の各処理を行う。
このようにテーブル処理部132が動作することによって、隣接する隣接端末10ごとにHパケットの受信数が所定の時間間隔で初期化され、この時間間隔以内の時間で安定性に係る所定の基準を満たしていない通信ルートは、有効リンクフラグが0とされ、当該通信ルートが削除される。
図29は、本発明の第10の実施形態に係る端末の通信ルート構築処理の一例を示すフローチャートである。ここで、第10の実施形態に係る端末10の動作が第7の実施形態に係る端末10と同様である場合には、図29において図23と同一の符号を付し、その内容の説明を適宜省略する。
本処理は、例えば、端末10の電源がオンした場合に実行が開始される。図29において、まず、通信処理部131は、第7の実施形態と同様に、Hパケット送信時刻が到来したか否か及び通信パケットを受信したか否かを判断し(S101)、判断の結果に応じてステップS102及びステップS103のうちの何れか一方を実行する。
ステップS103において、通信処理部131は、第7の実施形態のステップS103と同様に、受信した通信パケットの種別を識別する。この識別の結果、通信処理部131は、通信パケットが応答パケットである場合(応答パケット)にはステップS104を実行し、通信パケットがルート決定パケットである場合(ルート決定パケット)にはステップS105を実行し、通信パケットがSQ通知パケットである場合(SQ通知パケット)にはステップS108を実行し、そして、注目すべきは、通信パケットがHパケットである場合(Hパケット)にはステップS141を実行する。
ステップS108の実行後、通信処理部131は、第7の実施形態と同様に、ステップS109乃至ステップS114を実行する。
ステップS141では、通信処理部131は、テーブル処理部132を用いて通信可能端末データテーブルD’において、Hパケットにおける送信元の端末IDに対応するHパケットの受信数を1だけインクリメントする。次に、通信処理部131は、Hパケットにおける送信元の端末IDに対応するHパケットの受信数が所定の基準値以上(例えば4以上)であるか否かを判断する(S142)。図28に示す初期化の時間間隔及びこの所定の基準値は、PLCネットワーク1に要求される通信の安定性等を考慮して仕様により決定され、例えば、80%以上の確率で通信可能であることがPLCネットワーク1に要求される場合では、例えば、初期化の時間間隔がHパケットの送信間隔の5倍に設定され、所定の基準値が4に設定される。また例えば、初期化の時間間隔がHパケットの送信間隔の10倍に設定され、所定の基準値が8に設定される。あるいは、例えば90%以上の確率で通信可能であることがPLCネットワーク1に要求される場合では、例えば、初期化の時間間隔がHパケットの送信間隔の10倍に設定され、所定の基準値が9に設定される。
このステップS142における判断の結果、Hパケットの受信数が所定の基準値以上ではない場合(No)には、通信処理部131は、処理をS101に戻す。一方、Hパケットの受信数が所定の基準値以上である場合(No)には、通信処理部131は、テーブル処理部132を用いて、Hパケットにおける送信元の端末IDに対応する有効リンクフラグを1に設定する(S143)。
次に、通信処理部131は、テーブル処理部132を用いて通信可能端末データテーブルD’を参照して通信コスト値が0である端末10を除いて仮通信コスト値を算出し、上位所定ランク以上であるか否かを判断する(S131)。
判断の結果、この算出した仮通信コスト値が上位所定ランク以上ではない場合(No)には、通信処理部131は、処理をステップS101に戻し、一方、この算出した仮通信コスト値が上位所定ランク以上である場合(Yes)には、通信処理部131は、ステップS107を実行した後に処理をステップS101に戻す。
このようにテーブル処理部132は、第7の実施形態の処理に加えて、Hパケットの受信数の初期化処理、Hパケットの受信数の更新処理、有効リンクフラグの更新処理、及び、仮通信コスト値を算出する処理も行い、通信処理部131は、第7の実施形態の処理に加えて、この算出した仮通信コスト値が上位所定のランク以上である場合に応答パケットを送信する処理も行う。
このように端末10を構成することにより、隣接端末10との間における通信が時間的に安定な場合にのみ双方向のSQを探索する処理を行うので、PLCネットワーク1におけるトラフィックを削減することができ、安定した通信ルートのみを選択することができる。特に、PLCネットワーク1に接続された家庭電化製品の動作状況が頻繁に変化しそれに伴ってPLCネットワーク1の通信品質がダイナミックに変化する場合でも、安定性の高い通信ルートのみを選択し得る。
次に、別の実施形態について説明する。
(第11の実施形態)
第9の実施形態に係る端末10は、仮通信コスト値が上位所定のランク以上である場合に応答パケットをユニキャストで返信するものであるが、第11の実施形態に係る端末10は、これに代えて、所定の時間、応答パケットを返信すべき応答パケット送信先を記憶しておき、所定の時間の経過後、記憶されている応答パケット送信先を纏めて同報通信で送信すると共に、所定の時間、SQ通知パケットを返信すべきSQ通知パケット送信先を記憶しておき、所定の時間の経過後、記憶されているSQ通知パケット送信先を纏めて同報通信で送信するものである。ここでは、第7の実施形態を基本として第11の実施形態を説明するが同様に第1の実施形態を基本とすることもできる。
このため、第11の実施形態に係る端末10は、図3に示すように、親端末10aであるか子端末10bであるかを設定する設定手段(不図示)と、記憶部110と、PLCインターフェース部120と、制御部130とを備える。記憶部110は、テーブル記憶部111と、SQ通知送信先アドレス記憶部114と、SQ通知情報記憶部115と、応答パケット送信先アドレス記憶部117と、応答パケット情報記憶部118とを記憶部110に機能的に備えるとともに、通信処理部131と、テーブル処理部132と、Hパケット送信タイマー部133と、SQ通知送信タイマー部135と、応答パケット送信タイマー部136とを制御部130に機能的に備える。
応答パケット送信先アドレス記憶部117は、他端末10からHパケットを受信した場合に、応答パケットを返信すべきHパケットの送信元の端末10における端末IDが登録される領域である。本実施形態では、応答パケット送信先アドレス記憶部117には、他端末10からHパケットを受信した場合であって仮通信コスト値が上位所定ランク以上である場合に、応答パケットを返信すべき端末10として、そのHパケットの送信元の端末10における端末IDが登録される。応答パケット情報記憶部118は、該端末IDで識別される端末10に対する、応答パケットに含める情報を、応答パケット送信先アドレス記憶部117に登録された端末IDと対応付けて、記憶する領域である。該応答パケットに含める情報とは、例えば、Hパケットから取得された、Hパケットのシーケンス番号等である。
応答パケット送信タイマー部136は、時間の経過を計時して所定の時間間隔で、応答パケットの送信時刻を通信処理部131に通知する。
第11の実施形態に係る通信処理部131及びテーブル処理部132は、以下で図30を用いて説明するように動作する点で、図23を用いて説明したように動作する第7の実施形態に係る通信処理部131及びテーブル処理部132と異なるが、その他の点は、第7の実施形態に係る通信処理部131及びテーブル処理部132と同様である。
図30は、本発明の第11の実施形態に係る端末の通信ルート構築処理の一例を示すフローチャートである。ここで、第11の実施形態に係る端末10の動作が第7の実施形態に係る端末10と同様である場合には、図30において図23と同一の符号を付し、その内容の説明を適宜省略する。
本処理は、例えば、端末10の電源がオンした場合に実行が開始される。図30において、まず、通信処理部131は、Hパケット送信時刻、応答パケット送信時刻及びSQ通知パケット送信時刻のうちの何れかの送信時刻が到来したか否か、及び、通信パケットを受信したか否かを判断する(S161)。判断の結果、通信処理部131は、SQ通知パケットの送信時刻である場合(SQ通知パケットの送信時刻)にはステップS162を実行し、応答パケットの送信時刻である場合(応答パケットの送信時刻)にはステップS164を実行し、Hパケットの送信時刻である場合(Hパケットの送信時刻)にはステップS102を実行し、そして、パケットの受信である場合(パケットの受信)にはステップS103実行する。
ステップS162において、通信処理部131は、SQ通知パケットを送信する必要があるか否かを判断する。ここで、SQ通知送信先アドレス記憶部114に端末IDが記憶されている場合に、SQパケットの送信の必要があると判断される。
この判断の結果、SQ通知パケットを送信する必要がない場合(No)には、通信処理部131は、本処理をステップS161に戻す。
一方、この判断の結果、SQ通知パケットを送信する必要がある場合(Yes)には、通信処理部131は、SQ通知送信先アドレス記憶部114及びSQ通知情報記憶部115を参照して、例えば図6(e)に示すSQ通知パケットを作成する。そして、通信処理部131は、この作成したSQ通知パケットをPLCネットワーク1に同報通信で、例えばブロードキャストで送信し、通信処理部131は、SQ通知送信先アドレス記憶部114及びSQ通知情報記憶部115に登録されているデータ(端末ID、SQ及びシーケンス番号等を示すデータ)を破棄して(S163)、ステップS161に戻す。
ステップS164において、通信処理部131は、応答パケットを送信する必要があるか否かを判断する。ここで、応答パケット送信先アドレス記憶部117に端末IDが記憶されている場合に、応答パケットの送信の必要があると判断される。
この判断の結果、応答パケットを送信する必要がない場合(No)には、通信処理部131は、本処理をステップS161に戻す。
一方、この判断の結果、応答パケットを送信する必要がある場合(Yes)には、通信処理部131は、応答パケット送信先アドレス記憶部117及び応答パケット情報記憶部118を参照して、応答パケットを作成する。そして、通信処理部131は、この作成した応答パケットをPLCネットワーク1に同報通信で、例えばブロードキャストで送信し、通信処理部131は、応答パケット送信先アドレス記憶部117及び応答パケット情報記憶部118に登録されているデータ(端末ID及びシーケンス番号等を示すデータ)を破棄して(S165)、ステップS161に戻す。
この応答パケットは、例えば図6(h)で示すように、オペレーションコード、送信元の端末ID(自端末10の端末ID)、応答パケットの送信先の端末ID(第1端末ID〜第n端末ID)、この送信先の端末IDから受信したHパケットに収容されていたシーケンス番号(第1端末ID用〜第n端末ID用)を含む。この応答パケットの送信先の端末IDは、応答パケット送信先アドレス記憶部117に記憶されているものであり、シーケンス番号は、応答パケット情報記憶部118に記憶されているものである。
ステップS102において、通信処理部131は、第7の実施形態と同様に、図6(a)に示すHパケットを作成して、同報通信で、例えばブロードキャストでPLCネットワーク1に送信し、処理をステップS161に戻す。
ステップS103において、通信処理部131は、第7の実施形態と同様に、受信した通信パケットの種別を識別する。この識別の結果、通信処理部131は、通信パケットが応答パケットである場合(応答パケット)にはステップS166を実行し、通信パケットがSQ通知パケットである場合(SQ通知パケット)にはステップS108を実行し、通信パケットがHパケットである場合(Hパケット)にはステップS131を実行し、そして、通信パケットがルート決定パケットである場合(ルート決定パケット)にはステップS105を実行する。
ステップS166において、通信処理部131は、受信した応答パケットに自端末の端末IDが収容されているか否かを判断する。この判断の結果、通信処理部131は、自端末の端末IDが収容されていない場合(No)には、処理をステップS161に戻し、一方、自端末の端末IDが収容されている場合(Yes)には、ステップS167を実行する。
ステップS167において、通信処理部131は、テーブル処理部132を用いてこの応答パケットに収容されている送信元の端末IDをSQ通知パケットの送信先の端末IDとしてSQ通知送信先アドレス記憶部114に登録する。そして、通信処理部131は、テーブル処理部132を用いて、この応答パケットの受信信号強度からSQを求め、該端末IDと対応付けて、応答パケットの送信元の端末10から本端末10へのSQを表すデータ、及び、応答パケットのシーケンス番号をSQ通知情報記憶部115に登録し、処理をステップS161に戻す。
ステップS108において、通信処理部131は、第7の実施形態のステップS108と同様に、応答パケットを送信してから所定時間内にSQ通知パケットを受信したか否かを判断する。
この判断の結果、所定時間内にSQ通知パケットを受信しない場合(No)には、通信処理部131は、本処理をステップS161に戻す。一方、この判断の結果、所定時間内にSQ通知パケットを受信した場合(Yes)には、受信した応答パケットに自端末の端末IDが収容されているか否かを判断する(S168)。この判断の結果、通信処理部131は、自端末の端末IDが収容されていない場合(No)には、処理をステップS161に戻し、一方、自端末の端末IDが収容されている場合(Yes)には、ステップS169を実行する。
ステップS169において、通信処理部131は、テーブル処理部132を用いて、SQ通知パケットに収容されている自端末に対応するSQに基づいて通信コスト値を算出し、処理S111を実行する。
ステップS111の実行後、通信処理部131は、第7の実施形態と同様に、ステップS112乃至ステップS114を実行する。
ステップS131において、通信処理部131は、テーブル処理部132を用いて通信可能端末データテーブルDを参照して通信コスト値が0である端末10を除いて仮通信コスト値を算出し、上位所定ランク以上であるか否かを判断する。判断の結果、この算出した仮通信コスト値が上位所定ランク以上ではない場合には、通信処理部131は、処理をステップS161に戻し、一方、この算出した仮通信コスト値が上位所定ランク以上である場合には、通信処理部131は、ステップS170を実行する。
ステップS170において、通信処理部131は、テーブル処理部132を用いてこのHパケットに収容されている送信元の端末IDを応答パケットの送信先の端末IDとして応答パケット送信先アドレス記憶部117に登録し、該端末IDと対応付けて、Hパケットの送信元の端末10から本端末10へのSQを表すデータ、及び、Hパケットのシーケンス番号を応答パケット情報記憶部118に登録し、処理をステップS161に戻す。
ステップS105において、第7の実施形態と同様に、本端末10が子端末10bである場合には、通信処理部131は、通信可能端末データテーブルDを参照して、受信したルート決定パケットに次の上位端末10の端末IDを付加して次の上位端末10へユニキャストで送信する。一方、本端末10が親端末10aである場合には、通信処理部131は、テーブル処理部132を用いて、ルート決定パケットに含まれる送信端末ID及び上位端末IDを、構築された通信ルートとして通信ルートテーブルに登録することで通信ルートテーブルを更新する。その後、通信処理部131は、処理をステップS161に戻す。
このように端末10を構成することにより、端末10が応答パケットを受信した場合にSQ通知パケットをユニキャストで送信するのではなく、所定時間間隔毎に、複数の端末10分のSQ通知を含めたSQ通知パケットをブロードキャストで送信するため、PLCネットワーク1におけるトラフィックを削減することができる。また、このように端末10を構成することにより、端末10がHパケットを受信した場合に応答パケットをユニキャストで送信するのではなく、所定時間間隔毎に、複数の端末10分を纏めた応答パケットをブロードキャストで送信するため、PLCネットワーク1におけるトラフィックを削減することができる。
次に、別の実施形態について説明する。
(第12の実施形態)
第11の実施形態に係る端末10は、所定時間間隔毎に、複数の端末10分を纏めた応答パケットを同報通信で送信するものであるが、第12の実施形態に係る端末10は、これに代えて、複数の端末10分を纏めた応答パケットに収容すべき情報をHパケット(応答付きHパケット)に収容して同報通信で送信するものである。ここでは、第11の実施形態を基本として第12の実施形態を説明するが同様に第1の実施形態を基本とすることもできる。
このため、第12の実施形態に係る端末10は、図3に示すように、親端末10aであるか子端末10bであるかを設定する設定手段(不図示)と、記憶部110と、PLCインターフェース部120と、制御部130とを備える。記憶部110は、テーブル記憶部111と、SQ通知送信先アドレス記憶部114と、SQ通知情報記憶部115と、応答パケット送信先アドレス記憶部117と、応答パケット情報記憶部118とを記憶部110に機能的に備えるとともに、通信処理部131と、テーブル処理部132と、Hパケット送信タイマー部133と、SQ通知送信タイマー部135とを制御部130に機能的に備える。
第12の実施形態に係る通信処理部131及びテーブル処理部132は、以下で図31を用いて説明するように動作する点で、図30を用いて説明したように動作する第11の実施形態に係る通信処理部131及びテーブル処理部132と異なるが、その他の点は、第11の実施形態に係る通信処理部131及びテーブル処理部132と同様である。
図31は、本発明の第12の実施形態に係る端末の通信ルート構築処理の一例を示すフローチャートである。ここで、第12の実施形態に係る端末10の動作が第11の実施形態に係る端末10と同様である場合には、図31において図30と同一の符号を付し、その内容の説明を適宜省略する。
本処理は、例えば、端末10の電源がオンした場合に実行が開始される。図31において、まず、通信処理部131は、Hパケット送信時刻及びSQ通知パケット送信時刻のうちの何れかの送信時刻が到来したか否か、及び、通信パケットを受信したか否かを判断する(S181)。判断の結果、通信処理部131は、SQ通知パケットの送信時刻である場合(SQ通知パケットの送信時刻)にはステップS162を実行し、Hパケットの送信時刻である場合(Hパケットの送信時刻)にはステップS182を実行し、そして、パケットの受信である場合(パケットの受信)にはステップS103実行する。
ステップS162において、通信処理部131は、第11の実施形態と同様に、SQ通知パケットを送信する必要があるか否かを判断する。この判断の結果、通信処理部131は、SQ通知パケットを送信する必要がないと判断した場合(No)には処理をステップS181に戻し、一方、SQ通知パケットを送信する必要があると判断した場合(Yes)には、第11の実施形態と同様に、ステップS163を実行した後、処理をステップS181に戻す。
ステップS182において、通信処理部131は、応答パケットを送信する必要があるか否かを判断する。ここで、応答パケット送信先アドレス記憶部117に端末IDが記憶されている場合に、応答パケットの送信の必要があると判断される。
この判断の結果、応答パケットを送信する必要がないと判断した場合(No)には、通信処理部131は、図6(a)に示す通常のHパケットを作成して、同報通信で、例えばブロードキャストでPLCネットワーク1に送信し(S184)、処理をステップS181に戻す。
一方、この判断の結果、応答パケットを送信する必要があると判断した場合(Yes)には、通信処理部131は、応答パケット送信先アドレス記憶部117及び応答パケット情報記憶部118を参照して、応答付きHパケットを作成する。そして、通信処理部131は、この作成した応答付きHパケットをPLCネットワーク1に同報通信で、例えばブロードキャストで送信し、通信処理部131は、応答パケット送信先アドレス記憶部117及び応答パケット情報記憶部118に登録されているデータ(端末ID及びシーケンス番号等を示すデータ)を破棄して(S183)、ステップS181に戻す。
この応答付きHパケットは、例えば図6(i)で示すように、オペレーションコード、送信元の端末ID(自端末10の端末ID)、Hパケット用のシーケンス番号、通信コスト値、ホップ数、応答パケットの送信先の端末ID(第1端末ID〜第n端末ID)、この送信先の端末IDから受信したHパケットに収容されていたシーケンス番号(第1端末ID用〜第n端末ID用)を含む。この応答パケットの送信先の端末IDは、応答パケット送信先アドレス記憶部117に記憶されているものであり、第1端末ID用〜第n端末ID用の各シーケンス番号は、応答パケット情報記憶部118に記憶されているものである。
ステップS103において、通信処理部131は、第7の実施形態と同様に、受信した通信パケットの種別を識別する。この識別の結果、通信処理部131は、通信パケットが応答付きHパケットである場合(応答付きHパケット)にはステップS185を実行し、通信パケットがルート決定パケットである場合(ルート決定パケット)にはステップS105を実行し、そして、通信パケットがSQ通知パケットである場合(SQ通知パケット)にはステップS108を実行する。
ステップS185において、通信処理部131は、受信した応答付きパケットに自端末の端末IDが収容されているか否かを判断する。この判断の結果、通信処理部131は、自端末の端末IDが収容されていない場合(No)には、ステップS131を実行し、一方、自端末の端末IDが収容されている場合(Yes)には、第11の実施形態と同様にステップS167を実行した後に、ステップS131を実行する。
ステップS131において、通信処理部131は、第11の実施形態と同様に、テーブル処理部132を用いて所定の端末10について仮通信コスト値を算出し、上位所定ランク以上であるか否かを判断する。判断の結果、この算出した仮通信コスト値が上位所定ランク以上ではない場合(No)には、通信処理部131は、処理をステップS181に戻し、一方、この算出した仮通信コスト値が上位所定ランク以上である場合(Yes)には、通信処理部131は、第11の実施形態と同様にステップS170を実行した後に、処理をステップS181に戻す。
ステップS108の実行後、通信処理部131は、第11の実施形態と同様に、ステップS168及びステップS169を実行し、続けて、ステップS111乃至ステップS114を実行する。
ステップS105において、第11の実施形態と同様に、本端末10が子端末10bである場合には、通信処理部131は、通信可能端末データテーブルDを参照して、受信したルート決定パケットに次の上位端末10の端末IDを付加して次の上位端末10へユニキャストで送信する。一方、本端末10が親端末10aである場合には、通信処理部131は、テーブル処理部132を用いて、ルート決定パケットに含まれる送信端末ID及び上位端末IDを、構築された通信ルートとして通信ルートテーブルに登録することで通信ルートテーブルを更新する。その後、通信処理部131は、処理をステップS181に戻す。
このように端末10を構成することにより、第11の実施形態における端末10に較べて、Hパケットを応答パケットと兼用することで、さらに、PLCネットワーク1におけるトラフィックを削減することができる。
なお、上述の第8乃至第12の実施形態において、第2の実施形態と同様に、親端末10aとの通信ルートが構築されていない子端末10bは、応答パケットを送信する一方、Hパケットを送信しないように構成されてもよい。この場合、端末10は、図3に破線で示すように、HP送信可能フラグ記憶部112を記憶部110に機能的に更に備え、フラグ有無判断部134を制御部130に機能的に更に備える。
また、上述の第8乃至第12の実施形態において、端末10は、親端末10aと良好に通信することができる所定レベル以上の通信コスト値が得られた場合に通信ルートの探索を終了するように構成されてもよい。この場合、端末10は、図3に破線で示すように、HP送信可能フラグ記憶部112及びHP受信可能フラグ記憶部113を記憶部110に機能的に更に備え、フラグ有無判断部134を制御部130に機能的に更に備える。
さらに、上述の第1乃至第12の実施形態では、SQは、受信信号強度に基づく値であるが、パケットエラーレートやビットエラーレートに基づく値でもよい。
そして、第1乃至第12の実施形態では、同一内容の端末10が、「親」に設定されることで、親端末10aとして機能させ、「子」に設定されることで、子端末10bと機能させる構成を採用しているが、本発明では、これに限定されず、親端末10aと子端末10bとで、専用の端末が用いられても良い。
また、第1乃至第12の実施形態では、本発明の通信ルートの構築方法をPLCネットワークに用いているが、例えば小電力無線等のような、無線LAN等の他の通信ネットワークに適用してもよい。もっとも、PLCネットワーク1のように、各端末10間の通信速度が比較的小さく、各端末10に内蔵されるメモリの容量が比較的小さい通信ネットワークに用いられる程、本発明は有効である。