(57)【要約】【課題】同じノード間で通信データを伝送する際に、同じルートが選択される可能性を高めて、ルートの変動を抑制する。【解決手段】複数個のノードＮからなるマルチホップ通信ネットワークにおいて、各ノードＮは、直接通信が可能なノードＮとの間のリンクコストを登録した隣接ノードテーブルＴｂ１を備える。通信データを伝送する相手ノードとのルートを選択する際に、ルートコストが閾値以下という条件と、双方向のリンクコストが既知であるという条件と、すでに選択されているルートのノードであるという条件との少なくとも１つが成立するときには、評価値修正手段１３が隣接ノードとの間のリンクコストを小さくなるように修正し、修正後のリンクコストをルート選択手段１２でのルートの選択に用いる。【選択図】図１
2008301446.tif 000002
【特許請求の範囲】
【請求項１】
複数個のノードを備えノード間での通信時に他のノードによる通信の中継を可能としたマルチホップ通信ネットワークにおいて他のノードによる中継なしに通信可能なノードである隣接ノードとの間の物理層の通信品質を用いて通信のルートを評価する方法であって、各ノードは適時にハローメッセージを送信し隣接ノードとの間のハローメッセージの送受信により検出される隣接ノードとの間のリンクについて通信品質の評価値を各ノードに設けた隣接ノードテーブルに登録し、各ノードの隣接ノードテーブルに登録された隣接ノードを辿って通信データを伝送するルートの候補を探索するとともに、探索されたルートの候補に含まれるリンクの通信品質の評価値を比較することにより採用するルートを選択し、ルートの選択時には、各ノードの隣接ノードテーブルに登録されている隣接ノードが規定条件を満たすときに、当該隣接ノードを経由するルートの通信品質を上昇させる方向に評価値を修正して評価値を比較することを特徴とするマルチホップ通信ネットワークにおけるルート評価方法。
【請求項２】
前記隣接ノードとの間の送信方向と受信方向との通信品質が前記隣接ノードテーブルに登録されていることを前記規定条件とすることを特徴とする請求項１記載のマルチホップ通信ネットワークにおけるルート評価方法。
【請求項３】
通信データを伝送するルート上のノードとして過去に選択されたことを前記規定条件とすることを特徴とする請求項１または請求項２記載のマルチホップ通信ネットワークにおけるルート評価方法。
【請求項４】
複数個のノードを備えノード間での通信時に他のノードによる通信の中継を可能としたマルチホップ通信ネットワークに用いるノードであって、他のノードによる中継なしに通信可能な隣接ノードとの間のリンクについて通信品質の評価値が登録され通信データを伝送するルートの選択時に通信品質の評価値を用いてルートが選択される隣接ノードテーブルと、通信データを伝送するルートの候補を隣接ノードテーブルに登録された隣接ノードを辿って探索し探索されたルートの候補に含まれるリンクの通信品質の評価値を比較することにより採用するルートを選択するルート選択手段と、隣接ノードが少なくともルートの候補になったことがあるときに当該隣接ノードを経由するルートの通信品質を上昇させる方向に評価値を修正する評価値修正手段とを備え、ルート選択手段は評価値修正手段により修正された評価値を用いてルートの候補を比較することを特徴とするマルチホップ通信ネットワークのノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワーク上に存在するノード間で通信する際に、他のノードによる通信の中継を可能にしたマルチホップ通信ネットワークにおいて、通信データを伝送する適切なルートを選択するためのマルチホップ通信ネットワークにおけるルート評価方法と、当該ルート評価方法に対応したマルチホップ通信ネットワークのノードに関するものである。
【背景技術】
【０００２】
従来から、通信ネットワーク上に存在するノード（すなわち、通信端末）間で通信する際に、情報を伝送しようとするノード間で通信を直接行うことができない場合に、他のノードを通信の中継に用いることによって通信を可能にする技術が知られており、とくに通信ネットワークの一つである無線ネットワークにおいてこの技術を用いることが提案されている。この種の無線ネットワークは、マルチホップ無線ネットワークと呼ばれている。
【０００３】
無線ネットワークでは、ノードが移動したり雑音の影響を受けることにより、通信のルートの通信品質が時間経過に伴って変化する上に、通信可能であったノードとのルートが不通になって通信ネットワークのネットワークトポロジが時間経過に伴って変化するから、ノード間で通信を維持するには、ノード間で経路情報を交換し、使用可能なルートを探索するとともに使用可能なルートのうち通信品質のよいルートを選択することが必要である。
【０００４】
ところで、無線ネットワークにおける上述の問題は、電力線を伝送路に用いる電力線搬送通信（以下、「ＰＬＣ」（Power Line Communication）と略称する）の技術を用いて構築した通信ネットワークであるＰＬＣネットワークにおいても生じる。ＰＬＣネットワークの用途としては、たとえば、集合住宅において各住戸と管理室とにそれぞれノードを設置することによって、各住戸の設備機器を集中監視・制御するシステムが提案されている。
【０００５】
この種のシステムでは、電力線をルートに用いて高周波の搬送波信号を用いて情報を伝送するものであるから、搬送波信号には微弱な電力を用いており、集合住宅のように電力線の総延長が長くなると、各住戸に設置したノードから管理室のノードに対して通信を直接行うことができない場合が生じる。また、ＰＬＣネットワークはノードを電力線に接続するものであるから、電力線に接続された負荷機器により発生する雑音が通信品質に影響し、ノードを電力線のコンセントに接続する場合にはコンセントに対するノードの抜き差しによってネットワークトポロジが変化することになる。
【０００６】
したがって、ＰＬＣネットワークにおいても、マルチホップ無線ネットワークと同様に、他のノードを通信の中継に用いるとともに、ルートを探索し選択するマルチホップ通信ネットワークの技術が要求される。ＰＬＣネットワークにマルチホップ通信ネットワークの技術を適用した事例は知られている（たとえば、特許文献１参照）。
【０００７】
ところで、マルチホップ通信ネットワークでは、通信を開始する前にどのノードを通るルートが使用可能かを探索し、使用可能なルートのなかから適切なルートを選択しなければならない。ルートの探索は、通信しようとする出発点のノードと到着点のノードとの間に存在する使用可能なルートの候補を見つけ出す処理であり、ルートの選択は、ルートの候補のなかで通信品質が上位であるルートを選び出す処理である。
【０００８】
ルートを探索するには、まず他のノードの中継なしに通信することができるノードの対（言い換えれば、ノード間のリンク）を検出する必要がある。このようなリンクがわかれば、リンクを辿ることにより通信データの出発点と到着点とのノードを結ぶルートを追跡することができる。一方、ルートを選択するには、リンクごとの通信品質を評価する必要がある。すなわち、探索により得られたルートのうちで、通信品質が良好であるルートを採用するのが望ましいから、各リンクの通信品質を適宜の評価値で評価し、この評価値を用いて出発点から到着点までの通信品質を推定し、通信品質が良好なルートを選択するのである。
【０００９】
他のノードの中継なしに通信することができるノードの対を検出する技術としては、特許文献１において、各ノードが適時にハローメッセージと称する信号を送受信し、ハローメッセージをノードが受信することによって受信方向の通信品質を取得し、さらに受信側のノードから受信方向の通信品質を含むハローメッセージを送信することにより、送信側のノードに送信方向の通信品質を取得させる技術が示されている。
【特許文献１】特開２００６−６７５５７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところで、マルチホップ通信ネットワークでは各ノード間の通信品質が時間経過に伴って変化するから、通信データを伝送するたびにルートの探索および選択を行うと、ルートが変化する可能性がある。とくに、ルートの探索時に、通信データの出発点と到着点となるノード間にルートの候補が検出され、かつ全体の通信品質の評価値がほぼ等しいルートの候補が複数存在している場合には、伝送路のわずかな状態変動で、異なるルートが選択される可能性があり、頻繁なルート変動を引き起こしてしまう。ルートの通信品質の差が少なければ、同じルートが継続して使用されるほうが、管理装置などでのネットワークトポロジー把握が容易になり、システム管理上好ましい。
【００１１】
本発明は上記事由に鑑みて為されたものであり、その目的は、同じノード間で通信データを伝送する際に、同じルートが選択される可能性を高め、ルートの変動を抑制することができるマルチホップ通信ネットワークにおけるルート評価方法、マルチホップ通信ネットワークに用いるノードを提供することにある。
【課題を解決するための手段】
【００１２】
請求項１の発明は、複数個のノードを備えノード間での通信時に他のノードによる通信の中継を可能としたマルチホップ通信ネットワークにおいて他のノードによる中継なしに通信可能なノードである隣接ノードとの間の物理層の通信品質を用いて通信のルートを評価する方法であって、各ノードは適時にハローメッセージを送信し隣接ノードとの間のハローメッセージの送受信により検出される隣接ノードとの間のリンクについて通信品質の評価値を各ノードに設けた隣接ノードテーブルに登録し、各ノードの隣接ノードテーブルに登録された隣接ノードを辿って通信データを伝送するルートの候補を探索するとともに、探索されたルートの候補に含まれるリンクの通信品質の評価値を比較することにより採用するルートを選択し、ルートの選択時には、各ノードの隣接ノードテーブルに登録されている隣接ノードが規定条件を満たすときに、当該隣接ノードを経由するルートの通信品質を上昇させる方向に評価値を修正して評価値を比較することを特徴とする。
【００１３】
請求項２の発明では、請求項１の発明において、前記隣接ノードとの間の送信方向と受信方向との通信品質が前記隣接ノードテーブルに登録されていることを前記規定条件とすることを特徴とする。
【００１４】
請求項３の発明では、請求項１または請求項２の発明において、通信データを伝送するルート上のノードとして過去に選択されたことを前記規定条件とすることを特徴とする。
【００１５】
請求項４の発明は、複数個のノードを備えノード間での通信時に他のノードによる通信の中継を可能としたマルチホップ通信ネットワークに用いるノードであって、他のノードによる中継なしに通信可能な隣接ノードとの間のリンクについて通信品質の評価値が登録され通信データを伝送するルートの選択時に通信品質の評価値を用いてルートが選択される隣接ノードテーブルと、通信データを伝送するルートの候補を隣接ノードテーブルに登録された隣接ノードを辿って探索し探索されたルートの候補に含まれるリンクの通信品質の評価値を比較することにより採用するルートを選択するルート選択手段と、隣接ノードが少なくともルートの候補になったことがあるときに当該隣接ノードを経由するルートの通信品質を上昇させる方向に評価値を修正する評価値修正手段とを備え、ルート選択手段は評価値修正手段により修正された評価値を用いてルートの候補を比較することを特徴とする。
【発明の効果】
【００１６】
請求項１、５の発明の構成によれば、隣接ノードテーブルに登録されている隣接ノードが規定条件を満たすときにこの隣接ノードを経由するルートの通信品質を上昇させる方向に評価値を修正し、ルートの候補から使用するルートを選択する際に、修正後の評価値を用いてルートの候補を比較するから、修正後の評価値を持つ隣接ノードを経由するルートが選択されやすくなり、隣接ノードテーブルに登録されている通信品質の評価値を用いると、複数のルートの候補の通信品質の評価にほとんど差が生じない場合でも、修正後の評価値を用いることで通信品質の評価の差を大きくすることが可能になる。したがって、選択したルートは続けて使用される可能性がたかまり、ルートの変動を抑制することができる。
【００１７】
請求項２の発明の構成によれば、探索されたルートの候補に含まれるリンクの全体の通信品質が規定範囲内となるときに、当該ルートの通信品質の評価が高くなるように修正するから、このルートが優先的に選択されることになる。他にルートの候補があり、ルート全体の通信品質が修正前には差が小さい場合でも、先に修正されたルートの通信品質が大きくなることによって、先に修正されたルートが選択されやすくなる。
【００１８】
請求項３の発明の構成によれば、隣接ノードとの間で送信方向と受信方向との双方向の通信品質が隣接ノードテーブルに登録されている隣接ノードを経由するルートを優先的に選択するから、ルートの変動が生じにくくなる。
【００１９】
請求項４の発明の構成によれば、通信データを伝送するルート上のノードとして過去に選択された隣接ノードを優先的に選択するから、一度選択されたルートが選択されやすくなり、ルートの変動が抑制される。
【発明を実施するための最良の形態】
【００２０】
（基本構成）
マルチホップ通信ネットワークにおいて、通信データの出発点と到着点となるノードの間のルートを決めるには、他のノードの中継なしに直接通信が可能なノードの対を検出するとともに、対になる各ノード間のリンクにおける通信品質を評価することが必要である。また、通信データの出発点と到着点との間で取りうる通信経路（ルート）を探索し、通信可能なルートのうち通信品質の高いルートを選択することが必要である。
【００２１】
以下に説明する実施形態では、ルートの通信品質に関する評価に、隣接するノードが送信した信号の受信強度と、情報を伝送するルート内に含まれるノードについて隣接するノードを結ぶリンクの本数（以下、「ホップ数」と呼ぶ）とを用いる（ノードが隣接するとは、２つのノード間で他のノードによる中継なしに通信が可能であることを意味し、隣接ノードの間はホップ数が１である）。したがって、ホップ数は、ルートを構成するノード（ルートの両端のノードを含む）の個数から１を引いた値になる。ルートの通信品質は、信号強度が大きくホップ数が少ないほどよいと評価し、探索されたルートのなかで通信品質ができるだけよいルートを選択する。
【００２２】
たとえば、直接通信が可能なノード間の信号強度を複数段階（たとえば、１０段階）に分割してコード化した値（以下、このコードをＳＱ（Signal Quality）と呼ぶ）を用い、通信ネットワーク内における通信データを伝送する２ノード間の通信品質を、次式で求められるルートコストによって評価する。つまり、ルートコストが通信品質の評価値になる。
（ルートコスト）＝Ｋａ×（ルート内の各リンクに関するＳＱ値の総和）＋Ｋｂ×（ホップ数）
ただし、Ｋａ，Ｋｂは重み係数である。なお、以下では、Ｋｂ＝０の場合について説明する。
【００２３】
通信データの出発点と到着点となるノードの間に中継する２個のノードの存在するルートがあり、各リンクのＳＱが、それぞれ３、４、５であれば、ルートコストは、Ｋａ×（３＋４＋５）＋Ｋｂ×３＝１２・Ｋａ＋３・Ｋｂになる。
【００２４】
ところで、ルートコストのうち各リンクごとのＳＱ値に重み係数Ｋａを乗じた値は、直接通信が可能な互いに隣接ノードとなる２個のノード間のリンクに関する通信品質の評価値であって、以下ではこの評価値をリンクコストと呼ぶ。リンクコストは、通信する２個のノード間において、どちらのノードを送信側とするかによって変化することがあるから、相手ノードからの信号の受信強度により得られるリンクコスト（受信側の通信品質の評価値）を受信リンクコストと呼び、自ノードからの信号を相手ノードが受信したときの受信強度により得られるリンクコスト（送信側の通信品質の評価値）を送信リンクコストと呼ぶ。
【００２５】
各ノードは隣接ノードに関して受信リンクコストおよび送信リンクコストを相手ノードのアドレスに対応付けて登録する隣接ノードテーブルを備える。通信ネットワーク内の各リンクのリンクコストは、受信リンクコストと送信リンクコストとのうち値の大きいほうを用いる。つまり、各リンクのリンクコストを通信品質の悪いほうで評価する。
【００２６】
隣接ノードテーブルは、図５に示すように、隣接ノードごとに付与されているアドレス（隣接ノードアドレス）と、隣接ノードごとの受信リンクコストと、隣接ノードごとの送信リンクコストとの各項目を登録するフィールドを備える。ルートコストは上述した演算により求められたルートコストである。ただし、ルートに含まれる各リンクのリンクコストは重み係数Ｋａをすでに乗じてあるから、Ｋａ×（ルート内の各リンクに関するＳＱ値の総和）は、ルートに含まれる各リンクのリンクコストの総和によって求められる。上位コストについては後述する。なお、隣接ノードテーブルでは、実際には、上位コストに関するデータとして、ルート上のノードのアドレスとルート上の各リンクのリンクコストとの情報を保持しているが、ここでは、説明を簡単にするために、上位コストをルート上のリンクコストの合計として扱いノードのアドレスについては考慮しない。
【００２７】
まず、隣接する２個のノードに着目してリンクコストを取得する動作を説明する。１個のノードに複数のノードが隣接する場合であってもリンクコストを取得する基本的な手順は同様である。リンクコストの取得には、通信データとは別に適宜の時間間隔で送信するハローメッセージを用いる。各ノードはハローメッセージに自アドレスを含めてブロードキャスト送信により送信する。
【００２８】
いま、図４に示すように、リンクコストを求める２個のノードＡ，Ｂに着目し、ノードＡが最初にハローメッセージを送信する場合を想定する。ノードＡからハローメッセージＨ１を送信すると、ノードＢがノードＡが送信したハローメッセージＨ１を直接受信できる場合には、ノードＢにおいて受信リンクコストを取得する。ノードＢが取得した受信リンクコストは、図５（ａ）のように、ノードＢの隣接ノードテーブルにおいて、ノードＡの隣接ノードアドレスに対応付けて登録される（ここでは、受信リンクコストが「８」）。ハローメッセージＨ１の送信は適時に行うが、通常は一定の時間間隔で定期的に行う。
【００２９】
次に、ノードＢでは、ハローメッセージＨ１の送信元であるノードＡのアドレスと受信リンクコストとを情報に含めたハローメッセージＨ２を送信する。このハローメッセージＨ２を受信したノードＡでは、ハローメッセージＨ２によってノードＢからの信号を受信したときの受信リンクコストを求めることができるから、図５（ｂ）のように、この受信リンクコストをノードＢのアドレスに対応付けて隣接ノードテーブルに登録する（ここでは、受信リンクコストが「５」）。また、ハローメッセージＨ２には、自アドレスと相手ノードＢがハローメッセージＨ１を受信したときの受信リンクコストとが含まれているから、この受信リンクコストをノードＡからノードＢへの送信リンクコストとしノードＢのアドレスに対応付けて隣接ノードテーブルに登録する（つまり、ノードＢに対する送信リンクコストは「８」）。
【００３０】
その後、ノードＡはふたたびハローメッセージＨ３を送信する。このハローメッセージＨ３は、ノードＢからハローメッセージＨ２を受信したときの受信リンクコストとノードＢのアドレスとを情報に含んでいる。したがって、ノードＢではハローメッセージＨ３に含まれる情報としてノードＡにハローメッセージＨ２を送信したときの送信リンクコストを取得することができる（つまり、ノードＡい対する送信リンクコストは「５」）。ノードＢでは、図５（ｃ）のように、ノードＡから受け取った受信リンクコストをノードＢからノードＡへの送信リンクコストとしノードＡのアドレスに対応付けて隣接ノードテーブルに登録する。
【００３１】
上述のように、互いに隣接ノードとなるノードＡ，Ｂの間では、ハローメッセージＨ１〜Ｈ３を３回送受信することにより、双方向のリンクコストを隣接ノードテーブルに登録することができる。また、上述の手順から明らかなように、３個のハローメッセージＨ１〜Ｈ３の送受信後には、隣接するノードの隣接ノードテーブルの内容は相補的な内容になる。ここに、相補的であるということは、一方の内容が失われても他方の内容を復元できることになる。
【００３２】
ところで、実際の通信ネットワークは、図６に示すように、多数個（図示例では７個）のノードＮ０〜Ｎ６を含んでいる。ノードＮ０〜Ｎ６は対等に扱うことが可能であるが、ここでは、１つのノードＮ０を親ノードとしたマスタースレーブ型の通信ネットワークを用いて説明する。マスタースレーブ型の通信ネットワークでは、親ノードＮ０を除く他のノードＮ１〜Ｎ６は子ノードであり、通信データを伝送するルートの一端は親ノードＮ０になり、他端はいずれかの子ノードＮ１〜Ｎ６になる。マスタースレーブ型の通信ネットワークでは、通信データを伝送するルートの一端になる子ノードＮ１〜Ｎ６を除く子ノードＮ１〜Ｎ６は、必要に応じて通信を中継する。各子ノードＮ１〜Ｎ６は親ノードＮ０との間に介在する子ノードＮ１〜Ｎ６の個数が多いほど（つまり、ホップ数が大きいほど）下位であるということができる。どの子ノードＮ１〜Ｎ６が親ノードＮ０との間のルートに含まれて中継を行うかは、以下に説明する手順で決められる。また、マスタースレーブ型の通信ネットワークは説明の都合上で用いるが、各ノードＮ０〜Ｎ６は対等な関係であってもよい。
【００３３】
上述したように、隣接するノードＮ０〜Ｎ６の間ではハローメッセージＨ１〜Ｈ３を３回送受信することにより、受信リンクコストと送信リンクコストとを取得することができる。
【００３４】
ここで、図６に示す通信ネットワーク（ネットワークトポロジは、リンクコストの取得途中で変化しないものとする）について考察する。マルチホップ通信ネットワークでは、隣接ノードテーブルにデータが登録されるまでは、中継なしに直接通信することができるノードＮ０〜Ｎ６が未知であるから、隣接ノードを探索するために送信するハローメッセージＨ１〜Ｈ３は、ブロードキャストによって送信される。
【００３５】
すなわち、各ノードＮ０〜Ｎ６では、それぞれブロードキャストによってハローメッセージ（ハローメッセージＨ１に相当）を送信する。ただし、マスタースレーブ型の通信ネットワークであるから、親ノードＮ０からハローメッセージの送信を開始する。親ノードＮ０に隣接する子ノードＮ１，Ｎ２がハローメッセージを受信すると、子ノードＮ１，Ｎ２は、図４および図５を用いて説明した手順で親ノードＮ０との間で受信リンクコストおよび送信リンクコストを求める。
【００３６】
子ノードＮ１，Ｎ２が送信リンクコストを取得すると、各子ノードＮ１，Ｎ２はブロードキャストによってハローメッセージを送信する。親ノードＮ０は、受信リンクコストおよび送信リンクコストをすでに取得しているが、子ノードＮ１，Ｎ２が送信したハローメッセージ（ハローメッセージＨ１に相当）に応答する。このような動作を順次繰り返すことによって、各子ノードＮ１〜Ｎ６は隣接するノードとの間の受信リンクコストおよび送信リンクコストを取得し、隣接ノードテーブルに隣接ノードとの間の受信リンクコストおよび送信リンクコストを登録する。
【００３７】
子ノードＮ６を例として、受信リンクコストの取得後に送信リンクコストを取得するまでの手順をさらに詳しく説明する。子ノードＮ６は、隣接する子ノードＮ１，Ｎ３，Ｎ４，Ｎ５からハローメッセージを受信するから、図７に示すように、各子ノードＮ１，Ｎ３，Ｎ４，Ｎ５ごとの受信リンクコストを隣接ノードアドレスに対応付けて隣接ノードテーブルに登録する。
【００３８】
ここで、各子ノードＮ１，Ｎ３，Ｎ４，Ｎ５よりも上位のノードについては、それぞれが受信リンクコストと送信リンクコストを保有しているから、受信リンクコストと送信リンクコストとの大きいほうを当該子ノードＮ１，Ｎ３，Ｎ４，Ｎ５のリンクコストとし、上位の各子ノードＮ１，Ｎ３，Ｎ４，Ｎ５のいずれかを通って親ノードＮ０に至るルートについて、各子ノードＮ１，Ｎ３，Ｎ４，Ｎ５ごとにリンクコストの和の最小値を求める。このようにして求めた最小値を、各子ノードＮ１，Ｎ３，Ｎ４，Ｎ５ごとの「上位コスト」と呼ぶ。この時点では、子ノードＮ６は、隣接する各子ノードＮ１，Ｎ３，Ｎ４，Ｎ５との間の送信リンクコストを取得していないが、子ノードＮ１，Ｎ３，Ｎ４，Ｎ５では送信リンクコストをすでに取得して上位コストを決定しているのである。上位コストも隣接ノードテーブルに登録される。上述したように、上位コストに関する情報は、実際には、各子ノードＮ１，Ｎ３，Ｎ４，Ｎ５から親ノードＮ０までのルート上の各ノードのアドレスと各リンクのリンクコストとの個々の情報として登録されており、上位コストを求めるにはルート上のリンクについてリンクコストの総和を求める。
【００３９】
いま、図６における各ノードＮ０〜Ｎ６の間で、子ノードＮ１，Ｎ３，Ｎ４，Ｎ５と子ノードＮ６との間を除いては送信リンクコストが決定され、その値が隣接するノードＮ０〜Ｎ５を結ぶ直線（リンク）に対応付けて表記した値であるものとする。また、子ノードＮ１，Ｎ３，Ｎ４，Ｎ５と子ノードＮ６との間では、ハローメッセージの検出によって、受信リンクコストのみが既知になっているものとする（図６において＊を付記した値は受信リンクコストである）。
【００４０】
図６によれば、子ノードＮ１，Ｎ３，Ｎ４，Ｎ５が送出したハローメッセージを子ノードＮ６が受信することにより取得される受信リンクコストは、それぞれ１５，２８，６，７であり、図７に示すように、子ノードＮ６の隣接ノードテーブルに、子ノードＮ１，Ｎ３，Ｎ４，Ｎ５のアドレスが隣接ノードアドレスとして登録されるとともに、それぞれの受信リンクコストが登録される。
【００４１】
図７の例では、各子ノードＮ１，Ｎ３，Ｎ４，Ｎ５ごとの親ノードＮ０へのルートの中でリンクコストが最小になるのは、それぞれ親ノードＮ０、子ノードＮ１→親ノードＮ０、子ノードＮ２→親ノードＮ０（または子ノードＮ１→親ノードＮ０）、子ノードＮ３→子ノードＮ１→親ノードＮ０のルートであって、各ルートの送信リンクコストの総和（つまり、上位コスト）は、それぞれ１１，２０（＝１１＋９），３０（＝２０＋１０または＝１１＋９＋１０），１６（＝１１＋５）になる。
【００４２】
そこで、隣接する各子ノードＮ１，Ｎ３，Ｎ４，Ｎ５と着目する子ノードＮ６との間の受信リンクコストと、隣接する各子ノードＮ１，Ｎ３，Ｎ４，Ｎ５のそれぞれの上位コストとの加算値を、着目する子ノードＮ６から親ノードＮ０への送信リンクコストを反映する仮のルートコストとする。このようにして求めた仮のルートコストは、着目する子ノードＮ６の隣接ノードテーブルにおいて、隣接する各子ノードＮ１，Ｎ３，Ｎ４，Ｎ５に対応付けて「ルートコスト」の項目に登録される。図７において、ルートコストに＊を付記しているのは、上位コストと受信リンクコストとによって求めた仮のルートコストであることを示す。
【００４３】
ところで、子ノードＮ６の隣接ノードテーブルにおいて送信リンクコストを求めるには、子ノードＮ６から隣接する各子ノードＮ１，Ｎ３，Ｎ４，Ｎ５のそれぞれにハローメッセージを送信する必要がある。ただし、子ノードＮ６から親ノードＮ０へのルートが複数存在する場合には、リンクコストの総和がなるべく小さいルートを選択するのが望ましい。
【００４４】
上述した例では、着目する子ノードＮ６に隣接する子ノードＮ１，Ｎ３，Ｎ４，Ｎ５が４個あり、各子ノードＮ１，Ｎ３，Ｎ４，Ｎ５を通って親ノードＮ０に至るルートについて、各子ノードＮ１，Ｎ３，Ｎ４，Ｎ５ごとにそれぞれリンクコストの総和の最小値を上位コストとして求めているから、上位コストを求めた４種類のルートについて通信品質（リンクコスト）を比較すれば、着目する子ノードＮ６が親ノードＮ０に情報を送信するのに適したルートを選択することができると考えられる。
【００４５】
そこで、着目する子ノードＮ６から親ノードＮ０に向かうルートを仮のルートコストによって評価する。ここで、子ノードＮ６に隣接する４個の各子ノードＮ１，Ｎ３，Ｎ４，Ｎ５に対して、着目する子ノードＮ６からそれぞれハローメッセージを送信してもよいが、実際に用いるルートは１種類であるから、予備のルートを含めて通信品質の上位から適数個のルート（２ルート程度）を選択してハローメッセージを送信する。図７の例では、着目する子ノードＮ６に隣接する子ノードＮ１，Ｎ３，Ｎ４，Ｎ５のうち、仮のルートコストが上位の２番までになっているのが、子ノードＮ１と子ノードＮ５とであるから、この２個の子ノードＮ１，Ｎ５に対してのみ子ノードＮ６からハローメッセージ（図４のハローメッセージＨ２に相当）を送信する。
【００４６】
このハローメッセージを受け取った子ノードＮ１，Ｎ５は、ハローメッセージ（図４のハローメッセージＨ３に相当）を用いて子ノードＮ６に対して、子ノードＮ１，Ｎ５に登録した受信リンクコストを返送する。すなわち、図８のように、子ノードＮ６では子ノードＮ１，Ｎ５に対する送信リンクコストを取得することができる。このように送信リンクコストを取得した子ノードＮ１，Ｎ５を通って親ノードＮ０に至るルートについては、送信リンクコストと上位コストとを加算することによって、仮のルートコストではなく正式のルートコストを得ることができるから、ルートコストの値を更新する。すなわち、図８のように、送信リンクコストを取得したノードＮ１，Ｎ５に対しては正式のルートコストが求められ、他のノードＮ３，Ｎ４に対しては仮のルートコストが用いられる。
【００４７】
上述の手順によって、親ノードＮ０との通信を行う子ノードＮ６において、子ノードＮ１，Ｎ５が通信を中継する２つのルートについて正式のルートコストが得られる。正式のルートコストが得られていることは、隣接ノードについて受信リンクコストと送信リンクコストとの双方向のリンクコストが求められていることになるから、以下では、この状態を「２ＷＡＹ」と呼び、隣接ノードについて受信リンクコストのみが得られている場合を「１ＷＡＹ」と呼ぶ。
【００４８】
子ノードＮ６が親ノードＮ０と通信を行う際には、ルートコスト（親ノードＮ０に向かうリンクコストの総和）が最小であるルートを最良のルートとして選択する。選択されたルートは、トポロジ通知メッセージを用いて親ノードＮ０に通知され、親ノードＮ０では子ノードＮ６までのルート情報を入手することができる。トポロジ通知メッセージは適時に送信すればよいが、通常は一定の時間間隔で定期的に送信される。
【００４９】
つまり、図８の例では、子ノードＮ５を通るルートについてルートコストが得られているから、子ノードＮ６→子ノードＮ５→子ノードＮ１→親ノードＮ０のルートを用いてトポロジ通知メッセージが送信される。このとき、子ノードＮ６は、子ノードＮ５だけではなく、正式のルートコストを求めた２個の子ノードＮ１，Ｎ５についてのルートコストをトポロジ通知メッセージに情報として含め、ユニキャストで子ノードＮ５に送信する。子ノードＮ５から親ノードＮ０までに経由する子ノードＮ１は、子ノードＮ５において既知であるから、子ノードＮ５は子ノードＮ６から受け取ったトポロジ通知メッセージの内容をユニキャストで子ノードＮ１に送信する。同様にして子ノードＮ１は親ノードＮ０に向かってトポロジ通知メッセージを送信する。親ノードＮ０では、受信したトポロジ通知メッセージの内容を用いて、子ノードＮ６との間のネットワークトポロジを把握する。
【００５０】
各子ノードＮ１〜Ｎ６の隣接ノードテーブルに受信リンクコストおよび送信リンクコストを登録するために用いられるハローメッセージは、図９に示すように、送信元であるノードの自アドレスＳＩＤと、メッセージの種類を示すタイプＴＹと、送信元のノードの種類を示すノード種別ＮＣと、ハローメッセージの内容に応じて３種類から少なくとも１種類が選択されるサブメッセージＳＢ１，ＳＢ２，ＳＢ３とを有している。図４に示したハローメッセージＨ１，Ｈ２，Ｈ３はタイプＴＹは同じであるが、それぞれ異なるサブメッセージＳＢ１，ＳＢ２，ＳＢ３を有している。
【００５１】
ハローメッセージでは、タイプＴＹはハローメッセージを示し、ノード種別ＮＣはハローメッセージの送信元であるから親ノードの場合と子ノードの場合とがある。
【００５２】
サブメッセージＳＢ１は、各子ノードＮ１〜Ｎ６が親ノードＮ０との通信の際に形成するルートのホップ数（つまり、親ノードＮ０までのノード数）と、ルート上の各ノードのアドレスおよび各ノード間のリンクコストの情報を持ち、図４のハローメッセージＨ１の内容として下位の子ノードＮ１〜Ｎ６に伝送される。サブメッセージＳＢ１の内容を受信した下位の子ノードＮ１〜Ｎ６は上位コストを知ることができる。
【００５３】
サブメッセージＳＢ２は、隣接ノードについて受信リンクコストのみが得られている１ＷＡＹの子ノードＮ１〜Ｎ６が、受信リンクコストが上位である適数個の隣接ノードについて、アドレスおよびリンクコスト（相手ノードの送信リンクコスト）の情報を持ち、図４のハローメッセージＨ２の内容としてハローメッセージＨ１の送信元である上位のノードに伝送される。
【００５４】
サブメッセージＳＢ３は、受信リンクコストと送信リンクコストとが得られている２ＷＡＹのノードが、ハローメッセージＨ２により検出した受信リンクコストを相手側の子ノードＮ１〜Ｎ６に返送する際に用いる。つまり、下位の隣接ノードのアドレスおよびリンクコスト（相手ノードの送信リンクコスト）の情報をもち、図４のハローメッセージＨ３の内容として下位の子ノードＮ１〜Ｎ６に伝送される。
【００５５】
したがって、各サブメッセージＳＢ１，ＳＢ２，ＳＢ３は、図１０に示すように、サブメッセージタイプＳＴＹにより３種類のサブメッセージＳＢ１，ＳＢ２，ＳＢ３を区別し、サブメッセージＳＢ１，ＳＢ２，ＳＢ３に含まれるノード数（サブメッセージＳＢ１では親ノードＮ０までのホップ数）ＬＮと、各ノードのアドレスＮＩＤおよびリンクコストＬＣとの情報を持つ可変長のフォーマットを有する。
【００５６】
上述のように、ハローメッセージＨ１には、送信元の子ノードＮ１〜Ｎ６から親ノードＮ０までのルート上のノードのアドレスおよびリンクコストが含まれるから、ハローメッセージＨ１を受信した下位の子ノードＮ１〜Ｎ６の隣接ノードテーブルには、図１１に示すように、親ノードＮ０までの各ノードごとに１ホップ目から順にリンクコスト（ＬＣ）およびアドレス（ＮＩＤ）が個別に保持される。このようなノードごとのリンクコストおよびアドレスが図５の上位コストの内容に相当する。また、図１１に示す隣接ノードテーブルでは、リンク状態（１ＷＡＹ、２ＷＡＹ）を項目に備えている。リンク状態に相当する情報は、受信リンクコストと送信リンクコストとの情報の有無によっても知ることが可能である。
【００５７】
トポロジ通知メッセージは、図１２に示すように、メッセージの種類を示すタイプＴＹと、送信元のノードの種類を示すノード種別ＮＣと、２種類のサブメッセージＳｂ１，Ｓｂ２とのフィールドを備える。つまり、トポロジ通知メッセージのフォーマットはハローメッセージとほぼ同様である。ただし、サブメッセージＳｂ１，Ｓｂ２の内容は異なる。
【００５８】
トポロジ通知メッセージでは、タイプＴＹはトポロジ通知メッセージを示し、ノード種別ＮＣはトポロジ通知メッセージの送信元のノードであるから子ノードになる。
【００５９】
サブメッセージＳｂ１は、親ノードＮ０へのルートを示し、トポロジ通知メッセージの送信元である子ノード（上述の例では子ノードＮ６）を含めて、親ノードＮ０までのルートに含まれる子ノード（上述の例では、子ノードＮ６，Ｎ５，Ｎ１）のアドレスが順に並べられる。つまり、ハローメッセージにおけるサブメッセージＳＢ１とほぼ同様の内容になるが、自ノードのアドレスを含む点が相違する。
【００６０】
サブメッセージＳｂ２は、送信元の子ノード（上述の例では子ノードＮ６）に隣接する上位側のノードのうちルートコストを求めた子ノード（上述の例では子ノードＮ１，Ｎ５）のアドレスが並べられる。
【００６１】
各サブメッセージＳｂ１，Ｓｂ２は可変長である。また、サブメッセージＳＢ１はトポロジ通知メッセージに必須であって省略することはできないが、サブメッセージＳｂ２は省略することが可能である。
【００６２】
（実施形態）
本実施形態は、上述した基本構成に以下の機能を付加したものである。本実施形態では、図２に示す親ノードＮ０と子ノードＮ１〜Ｎ４とを備えるマスタースレーブ型の通信ネットワークを例として説明するが、以下に説明する構成はマスタースレーブ型以外の通信ネットワークにおいても使用可能である。
【００６３】
各ノードＮは、通信機能を備えるとともに後述する処理を行うマイクロコンピュータを備えた通信端末であって、図１に示すように、通信手段１１を備える。通信手段１１は、通信データの送受信のほか、上述したハローメッセージやトポロジ通知メッセージの送受信も行う。また、各ノードＮには、それぞれ隣接ノードテーブルＴｂ１が設けられる。隣接ノードテーブルＴｂ１の内容は、上述したように、隣接ノードアドレス、受信リンクコスト、送信リンクコストなどであり、通信手段１１がハローメッセージを送受信することによって隣接ノードテーブルＴｂ１の情報が登録される。
【００６４】
各ノードＮ０には、隣接ノードテーブルＴｂ１に登録された隣接ノードとの間のリンクコストを用いて親ノードＮ０との間で通信データを伝送する際のルートの候補を探索し、探索されたルートの候補に含まれるリンクのリンクコストを比較することにより、採用するルートを選択するルート選択手段１２が設けられる。通信ネットワークがマスタースレーブ型ではない場合は、すべてのノードＮにネットワークトポロジを把握するためのリンク情報テーブルが設けられる。リンク情報テーブルでは、ネットワーク内の各リンクの両端となる各一対のノードのアドレスに各リンクのリンクコストが対応付けられて登録される。
【００６５】
ルート選択手段１２では、隣接ノードテーブルＴｂ１を参照して親ノードＮ０との間のルートを探索する。ただし、隣接ノードテーブルＴｂ１から収集されるリンクコストが規定条件を満たすときには、隣接ノードテーブルＴｂ１に登録されているリンクコストを評価値修正手段１３で修正して用いる。したがって、ルート選択手段１２は評価値修正手段１３により修正されたリンクコストを用いてルートの候補を比較することになる。ルートの探索および選択には、実際には、ダイクストラ法などの最少リンクコストルート選択アルゴリズムを用いればよい。
【００６６】
以下では、子ノードＮ２が親ノードＮ０に通信データを送信する場合であって、子ノードＮ２の隣接ノードテーブルＴｂ１が図３に示す内容である場合を例として説明する。図２に示す通信ネットワークでは、子ノードＮ２には、親ノードＮ０（親）、子ノードＮ１（１）、子ノードＮ３（３）子ノードＮ４（４）が接続されているから、隣接ノードテーブルＴｂ１には、親ノードＮ０、子ノードＮ１，Ｎ３，Ｎ４に関する情報が登録される。図示例では、子ノードＮ４に対してのみ送信リンクコストが得られておらず、親ノードＮ０と子ノードＮ１，Ｎ３とについては、受信リンクコストと送信リンクコストとの両方が得られている。したがって、子ノードＮ２と子ノードＮ４との間は仮のリンクコストになっている（＊を付記している）。
【００６７】
ところで、各ノードＮは、図４に示したハローメッセージＨ２を能動的に送信し、隣接ノードからのハローメッセージＨ３の受信により送信リンクコストを調査する「リンク調査」の機能を有している。このようなリンク調査を行った場合は、当該ノードの隣接ノードテーブルＴｂ１に設けた「リンク調査実施」の項目を１とする。一方、リンク調査において、ハローメッセージＨ２を受信し、ハローメッセージＨ３を送信したノードは、「リンク調査実施」の項目は０になる。
【００６８】
評価値修正手段１３は、子ノードＮ１，Ｎ３を経由するルートが選択されやすくなるように、子ノードＮ１，Ｎ３に関するリンクコストから一定値（たとえば、３）を減算する。この処理により、子ノードＮ１，Ｎ３に関するリンクコストが低減され、子ノードＮ１，Ｎ３を経由するルートが候補として選択されやすくなる。図３の例では、各子ノードＮ１，Ｎ３を経由する親ノードＮ０へのルートのルートコストが、それぞれ２８（＝２２＋９−３），１０（＝２＋１１−３）になる。
【００６９】
また、評価値修正手段１３は、受信リンクコストと送信リンクコストとの両方が得られているノード（図３では２ＷＡＹの項目で値が１になっている親ノードＮ０と子ノードＮ１，Ｎ３）について、リンクコストから一定値（たとえば、３）を減算してもよい。つまり、親ノードＮ０では５（＝８−３）、子ノードＮ１，Ｎ３では、それぞれ２８，１０になる。
【００７０】
このように、すでに２ＷＡＹになっているノードについて、リンクコストから一定値を減算することで、当該ノード間のリンクが選択されやすいように優遇することにより、１ＷＡＹのノードについてあらためて送信方向リンク品質を調べることを回避し、結果的に、ハローメッセージのサイズを短くし、トラフィックを削減できる。
【００７１】
さらに、評価値修正手段１３では、すでに選択されているルートについてリンクコストを引き下げてもよい。図３の例では、子ノードＮ１を経由するルートが選択されているから、この子ノードＮ１とのリンクコストを低減し、ルートコストを２８にするのである。
【００７２】
ここにおいて、上述の例では、評価値修正手段１３において、３種類の条件を既定しており、各条件のいずれかが成立することによって、リンクコストから一定値を減算しているが、各条件が成立するたびに一定値を減算するようにしてもよい。この場合、複数の条件が成立するルートのルートコストが大幅に低減されるから、当該ルートが選択される確率が大幅に高まり、ルートの変動を抑制する効果が高くなる。
【００７３】
ルート選択手段１２が評価値修正手段１３により修正されたリンクコストを用いる期間には有効期限（図３参照）を設け、有効期限が経過した後には、あらためて条件を検証してリンクコストの修正の有無を判断する。このように有効期限を設けておくことにより、ネットワークトポロジの変化に対応することができる。
【００７４】
なお、上述の例では、各条件が成立するたびに減算する値が等しいが、各条件ごとに減算する値を異ならせてもよい。たとえば、すでに選択されたルート上のノードについては、他の条件が成立する場合よりも減算する値を大きくすれば、同じルートが使用される可能性を高めることができる。
【００７５】
上述した構成例は、従来構成において説明したＰＬＣネットワークに用いることを想定しているが、他の有線の伝送路を用いる通信ネットワーク、あるいは小電力無線による無線ＬＡＮのように無線の伝送路を用いる無線ネットワークなど、種々のマルチホップ通信ネットワークに上述の技術を適用してもよい。
【００７６】
さらにいえば、ＰＬＣネットワークには、１０〜４５０ｋＨｚの低周波帯を利用する低速ＰＬＣと、２〜３０ＭＨｚの高周波帯を利用する高速ＰＬＣとが知られており、低速ＰＬＣのノードは、高速ＰＬＣより伝送速度が遅いから、上述の構成のように低トラフィックでもネットワークトポロジを把握できることはとくに有効であり、また、通信ネットワーク全体のリンクを各ノードが持たなくとも隣接ノードテーブルがあればよいから、ノードに実装するメモリの容量を小さくすることができる。しかも、他の有線の伝送路を用いる場合に比較すると、ＰＬＣでは各ノードとなる電気機器のオン／オフや稼働状態によってネットワークトポロジや通信品質が変化しやすいから、本発明の技術は有効である。
【図面の簡単な説明】
【００７７】
【図１】実施形態に用いるノードを示すブロック図である。
【図２】同上を用いる通信ネットワークの例を示す図である。
【図３】同上に用いる隣接ノードテーブルの例を示す図である。
【図４】ハローメッセージを示す動作説明図である。
【図５】ハローメッセージによる隣接ノードテーブルの変化を示す動作説明図である。
【図６】通信ネットワークの構成例を示す図である。
【図７】隣接ノードテーブルの一例を示す図である。
【図８】隣接ノードテーブルの一例を示す図である。
【図９】ハローメッセージのフォーマットを示す図である。
【図１０】ハローメッセージにおけるサブメッセージの構成例を示す図である。
【図１１】隣接ノードテーブルの一例を示す図である。
【図１２】トポロジ通知メッセージのフォーマットを示す図である。
【符号の説明】
【００７８】
１１  通信手段
１２  ルート選択手段
１３  評価値修正手段
Ｎ  ノード
Ｎ０〜Ｎ６  ノード
Ｔｂ１  隣接ノードテーブル
【図１】
2008301446.tif 000003
【図２】
2008301446.tif 000004
【図３】
2008301446.tif 000005
【図４】
2008301446.tif 000006
【図５】
2008301446.tif 000007
【図６】
2008301446.tif 000008
【図７】
2008301446.tif 000009
【図８】
2008301446.tif 000010
【図９】
2008301446.tif 000011
【図１０】
2008301446.tif 000012
【図１１】
2008301446.tif 000013
【図１２】
2008301446.tif 000014