(57)【要約】【課題】ノードのネットワーク層での処理により、ネットワーク全体で、中継するノードの子ノード数を平滑化して、パケット衝突を回避する。【解決手段】本発明に係る無線通信装置は、周辺ノードの通信品質情報及び経路情報を含む通信情報を記憶する通信情報記憶手段と、通信情報記憶手段を参照して、周辺ノードのうち、パケットの衝突が生じ得るノードを判定する判定手段と、判定手段により判定されたノードの無線接続先、若しくは、判定手段により判定されたノードと無線接続する子ノードのうちの一部の無線接続先を変更して、パケットの衝突を回避する衝突回避手段とを備えることを特徴とする。【選択図】      図１
2018006960.tif 000002
【特許請求の範囲】
【請求項１】
マルチホップネットワークを構成する各ノードの無線通信装置において、
周辺ノードの通信品質情報及び経路情報を含む通信情報を記憶する通信情報記憶手段と、
上記通信情報記憶手段を参照して、周辺ノードのうち、パケットの衝突が生じ得るノードを判定する判定手段と、
上記判定手段により判定されたノードの無線接続先、若しくは、上記判定手段により判定されたノードと無線接続する子ノードのうちの一部の無線接続先を変更して、パケットの衝突を回避する衝突回避手段と
を備えることを特徴とする無線通信装置。
【請求項２】
上記判定手段が、上記通信情報記憶手段を参照して、周辺ノードのそれぞれと無線接続するノード数に基づいて、パケットの衝突が生じ得るノードを判定することを特徴とする請求項１に記載の無線通信装置。
【請求項３】
上記判定手段が、
上記通信情報記憶手段を参照して、自ノード及び周辺ノードのそれぞれの子ノード数に基づいて、親候補を決定する親候補決定部と、
上記親候補決定部により決定された親候補を隣接ノードとするノードの中からノードを決定する親変更判定部と
を有することを特徴とする請求項１又は２に記載の無線通信装置。
【請求項４】
上記親候補決定部が、周辺ノードのうち、自ノードと同じホップカウントであって、自ノードよりも子ノード数が少ないノードを親候補として決定し、
上記親変更判定部が、自ノードの複数の子ノードのうち、上記親候補を隣接ノードとして含み、上記親候補との通信品質が良好なノードを決定し、
上記衝突回避手段が、上記判定手段により決定されたノードに対して、当該ノードと自ノードとの通信品質値を下げた制御情報を送信する
ことを特徴とする請求項３に記載の無線通信装置。
【請求項５】
上記親候補決定部が、周辺ノードのうち、自ノードと同じホップカウントであって、自ノードよりも子ノード数が多いノードがある場合、自ノードを親候補として決定し、
上記親変更判定部が、上記自ノードよりも子ノードが多いノードの複数の子ノードのうち、親候補としての自ノードとの通信品質が良好なノードを決定し、
上記衝突回避手段が、上記判定手段により決定されたノードに対して、当該ノードと自ノードとの通信品質値を上げた制御情報を送信する
ことを特徴とする請求項３に記載の無線通信装置。
【請求項６】
マルチホップネットワークを構成する複数のノードの接続状態を管理する管理装置において、
上記複数のノードのそれぞれから取得した、上記各ノードの通信品質情報及び経路情報を含む通信情報を記憶する通信情報記憶手段と、
上記通信情報記憶手段を参照して、あるホップカウントのノード数と、その次のホップカウントのノード数とに基づいて、親ノードに対する子ノード数の偏りを判定する疎密判定手段と、
上記疎密判定手段による判定結果に基づいて、子ノード数に偏りがあると判定されたノードに対して、子ノード数の偏りを平滑化する指示を行なう平滑化指示手段と
を備えることを特徴とする管理装置。
【請求項７】
上記疎密判定手段が、各ホップカウントの各ノードの子ノード数の平均値に対する偏差を求め、上記偏差が閾値を越えるノードを決定し、
上記平滑化指示手段が、上記疎密判定手段により決定されたノードに対して、平滑化を指示する
ことを特徴とする請求項６に記載の管理装置。
【請求項８】
上記疎密判定手段が、上記偏差が閾値を越えるノードの子ノード数が平均値よりも大きいものである場合、疎であると判定し、
上記平滑化指示手段が、上記疎密判定手段により決定されたノードに対して、疎モードの平滑化を指示する
ことを特徴とする請求項７に記載の管理装置。
【請求項９】
上記疎密判定手段が、上記偏差が閾値を越えるノードの子ノード数が平均値よりも小さいものである場合、密であると判定し、
上記平滑化指示手段が、上記疎密判定手段により決定されたノードに対して、密モードの平滑化を指示する
ことを特徴とする請求項７に記載の管理装置。
【請求項１０】
複数のノードを有して構成される無線通信システムにおいて、
上記複数のノードの接続状態を管理する管理装置が請求項６〜９のいずれかに記載の管理装置であり、
上記各ノードの無線通信装置が、請求項１〜５のいずれかに記載の無線通信装置である
ことを特徴とする無線通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信装置、管理装置及び無線通信システムに関する。
【背景技術】
【０００２】
電源駆動のゲートウェイと電池駆動のノードとで構成されるマルチホップワイヤレスネットワークでは、ノードを省電力動作させて、メンテナンスフリーでマルチホップネットワークシステムを長時間動作させるニーズが高まっている。
【０００３】
そのためには、ノードを周期的にスリープ状態に遷移させることが望ましい。例えば、電池駆動のノードで構成されるセンサネットワークを、メンテナンスフリーで年単位の運用をするためには、中継ノードとセンシングノードとを長時間スリープさせることが望ましい。
【０００４】
しかし、中継ノードがスリープすると、センシングノードが中継ノードにデータを送信できるタイミングは、中継ノードが起きるときに限定されてしまう。このため、特にセンシングノードが多く密集している場合には、送信タイミングが重なりやすく、パケットの衝突が発生しやすい。
【０００５】
こういった場合のＭＡＣ層での衝突回避技術として、ＩＥＥＥ８０２．１５．４で規定されるＣＳＭＡ／ＣＡと呼ばれる通信方式（非特許文献１）がある。
【０００６】
ＣＳＭＡ／ＣＡ方式では、各ノードはパケット送信前にキャリアセンスを実行し、パケットが送信されているか否かを確認する。パケットが送信されている場合は、ノード自身はパケットの送信を行わずに、待機する。各ノードは、時間経過後、再びキャリアセンスを行って送信可能か否かを判断し、送信可能であれば、ランダムな待ち時間経過後に、各ノードはパケットを送信する。
【０００７】
このランダムな待ち時間をランダムバックオフ（又はランダムバックオフ時間）と呼ぶ。この待ち時間を置くことで、各ノードがパケットを送信するタイミングにランダム性を持たせ、パケットの衝突を起こりにくくしている。
【０００８】
しかし、スリープする１台の中継ノード（親ノード）に対し、多数台の子ノードが通信している場合、各子ノードがランダムバックオフをとるだけでは送信タイミングを分散しきれず、十分にパケット衝突を抑えられない可能性がある。
【０００９】
このような場合には、ランダムバックオフ時間を長く取ることで、さらに送信タイミングを分散させ、パケット衝突の可能性を抑えることができるが、その分通信遅延が増加してしまうという問題がある。
【００１０】
そこで、ＮＷ層での衝突回避技術を併用することにより、この問題を回避する。既存技術として９２０ＭＨｚ帯のＺｉｇＢｅｅ  ＩＰのマルチホップルーティングプロトコルである、ＲＰＬプロトコル（非特許文献２）が存在する。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】ＩＥＥＥ  Ｓｔｄ  ８０２．１５．４−２０１１
【非特許文献２】ＲＦＣ６５５０  ＩＰｖ６  Ｒｏｕｔｉｎｇ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｌｏｗ−Ｐｏｗｅｒ  ａｎｄ  Ｌｏｓｓｙ  Ｎｅｔｗｏｒｋｓ
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、ＲＰＬプロトコルでは、各ノードのスリープ動作を考慮した、パケット衝突回避技術が規定されていない。
【００１３】
そのため、ノードのネットワーク層での処理により、ネットワーク全体で、中継するノードの子ノード数を平滑化して、パケット衝突を回避する無線通信装置、管理装置及び無線通信システムが求められている。
【課題を解決するための手段】
【００１４】
かかる課題を解決するために、第１の本発明に係る無線通信装置は、マルチホップネットワークを構成する各ノードの無線通信装置において、（１）周辺ノードの通信品質情報及び経路情報を含む通信情報を記憶する通信情報記憶手段と、（２）通信情報記憶手段を参照して、周辺ノードのうち、パケットの衝突が生じ得るノードを判定する判定手段と、（３）判定手段により判定されたノードの無線接続先、若しくは、判定手段により判定されたノードと無線接続する子ノードのうちの一部の無線接続先を変更して、パケットの衝突を回避する衝突回避手段とを備えることを特徴とする。
【００１５】
第２の本発明に係る管理装置は、マルチホップネットワークを構成する複数のノードの接続状態を管理する管理装置において、（１）複数のノードのそれぞれから取得した、各ノードの通信品質情報及び経路情報を含む通信情報を記憶する通信情報記憶手段と、（２）通信情報記憶手段を参照して、あるホップカウントのノード数と、その次のホップカウントのノード数とに基づいて、親ノードに対する子ノード数の偏りを判定する疎密判定手段と、（３）疎密判定手段による判定結果に基づいて、子ノード数に偏りがあると判定されたノードに対して、子ノード数の偏りを平滑化する指示を行なう平滑化指示手段とを備えることを特徴とする。
【００１６】
第３の本発明に係る無線通信システムは、複数のノードを有して構成される無線通信システムにおいて、複数のノードの接続状態を管理する管理装置が第２の本発明の管理装置であり、各ノードの無線通信装置が、第１の本発明の無線通信装置であることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、ノードのネットワーク層での処理により、ネットワーク全体で、中継するノードの子ノード数を平滑化して、パケット衝突を回避できる。
【図面の簡単な説明】
【００１８】
【図１】第１の実施形態に係るゲートウェイ装置の内部構成を示す機能ブロック図である。
【図２】第１の実施形態に係る親ノードの無線通信装置の構成を示すブロック図である。
【図３】第１の実施形態に係る子ノードの無線通信装置の構成を示すブロック図である。
【図４】第１の実施形態に係るマルチホップネットワークの全体構成を示す全体構成図である。
【図５】第１の実施形態に係る平滑化処理の全体的な動作を説明する説明図である。
【図６】第１の実施形態に係るゲートウェイ装置におけるリンク先変更指示の処理動作を示すフローチャートである。
【図７】第１の実施形態における疎密判定を説明する説明図である。
【図８】第１の実施形態に係る親ノードにおける平滑化処理を示すフローチャートである。
【図９】疎の場合の無線リンク先の変更処理を説明する説明図である。
【図１０】第２の実施形態における疎密判定を説明する説明図である。
【図１１】第２の実施形態に係る親ノードにおける平滑化処理を示すフローチャートである。
【図１２】密の場合の無線リンク先の変更処理を説明する説明図である。
【発明を実施するための形態】
【００１９】
（Ａ）第１の実施形態
以下では、本発明に係る無線通信装置、管理装置及び無線通信システムの第１の実施形態を、図面を参照しながら詳細に説明する。
【００２０】
第１の実施形態では、本発明を用いて、複数の無線端末（以下、「ノード」と呼び。）及びゲートウェイ装置で構成されるマルチホップネットワークに用いる場合を例示する。
【００２１】
（Ａ−１）第１の実施形態の構成
図４は、第１の実施形態に係るマルチホップネットワークの全体構成を示す全体構成図である。
【００２２】
図４において、第１の実施形態に係るマルチホップネットワーク１は、ゲートウェイ装置３００と、複数のノード１０とを有する。図４において、ノード１０間を結ぶ直線が無線リンクを示す。
【００２３】
マルチホップネットワーク１は、ゲートウェイ装置３００と接続するノード１０（特に、シンクノードとも呼ぶ。）が存在し、シンクノードを含め複数のノード１０によりツリートポロジーを構成している。
【００２４】
各ノード１０は、例えば電池等の電源から電力が供給されて、隣接するノード１０との間でマルチホップ通信を行なう。各ノード１０は、省電力化のため、所定の動作モード制御方法によりスリープ機能を有している。
【００２５】
なお、以下では、ゲートウェイ装置３００から各ノード１０への通信方向を下り方向とし、各ノード１０からゲートウェイ装置３００への通信方向を上り方向とする。また、下り方向のノード１０にパケットを中継するノードを親ノードと呼び、親ノードと下り方向に直接無線リンクを引いているノードを子ノードと呼ぶ。
【００２６】
図１は、第１の実施形態に係るゲートウェイ装置３００の内部構成を示す機能ブロック図である。
【００２７】
図１において、ゲートウェイ装置３００は、送受信部３１０、ネットワーク制御部３２０を有する。
【００２８】
ゲートウェイ装置３００は、例えば、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、入出力インタフェース手段、通信装置等を備えるものであり、ＣＰＵが、ＲＯＭに格納される処理プログラムを実行することにより、ゲートウェイ装置３００の機能を実現するものである。また、処理プログラムをインストールして構築できるようにしても良く、その場合でも機能的には図１で表すことができる。
【００２９】
送受信部３１０は、シンクノードとしてのノード１０に対して送信パケット（例えば、後述する平滑化コマンドを含む制御パケットや、各種制御パケット、データパケット等）を送信し、シンクノードとしてノード１０から受信パケット（例えば、各種制御パケット、データパケット）を受信する。
【００３０】
ネットワーク制御部３２０は、ネットワーク層としての処理を行なうものである。図１に示すように、ネットワーク制御部３２０は、平滑化判定部３２１、平滑化コマンド３２２、制御パケット生成部３２３、通信品質テーブル３２４、経路テーブル３２５を有する。
【００３１】
通信品質テーブル３２４は、シンクノードを介して、複数のノード１０のそれぞれにおける隣接ノードとの間の通信品質情報を記憶する。ネットワーク制御部３２０は、送受信部３１０により受信された各ノード１０からの制御パケットに含まれる通信品質情報を、通信品質テーブル３２４に記憶・更新する。
【００３２】
通信品質情報は、例えば、ノード１０毎に、隣接ノードとの間の接続状態や、隣接ノードからのパケット受信時の受信電力値（例えば、ＲＳＳＩ値等）や、隣接ノードからのパケットのパケット受信率や、隣接ノードとの間の無線リンクのリンクコスト等を含む情報である。
【００３３】
経路テーブル３２５は、マルチホップネットワーク１を構成するツリートポロジーの経路情報を記憶する。経路テーブル３２５に記憶される経路情報には、各ノード１０からシンクノードまでパケットを転送するときのホップ数（ホップカウント（ＨＣ）とも呼ぶ。）が含まれる。
【００３４】
なお、経路テーブル３２５は、既存のルーティングプロトコルに従って作成することができる。例えば、ＯＬＳＲプロトコル、ＴＢＲＰＦプロトコル、ＤＳＤＶプロトコル、ＡＯＤＶプロトコル等を用いて経路テーブル３２５は作成され、ここでの詳細な説明は省略する。
【００３５】
平滑化判定部３２１は、経路テーブル３２５を参照して、マルチホップネットワーク１全体における各ノードの疎密判定を行なう。
【００３６】
ここで、疎密判定とは、ツリートポロジーで構成されるマルチホップネットワーク１全体において、あるホップ数のノード数と、当該各ノードから下り方向にある次ホップのノード数との関係に基づいて、親ノードに対する子ノード数に偏りがあるか否かの判定をいう。
【００３７】
つまり、マルチホップネットワーク全体において、親ノードに対して子ノード数が「疎」又は「密」である箇所の判定をいう。
【００３８】
疎密判定の結果、「疎」の場合の平滑化動作モードを疎モード、「密」である場合の平滑化動作モードを密モードとも呼ぶ。
【００３９】
第１の実施形態では、疎モードの平滑化処理を説明する。なお、密モードの平滑化処理は、第２の実施形態で説明する。
【００４０】
例えば、平滑化判定部３２１は、経路テーブル３２５を参照して、あるホップ数のノード数と、当該各ノードの子ノード数との比率に基づいて、各親ノードを中継先とする子ノード数を平滑化するか否かを判定する。
【００４１】
例えば、平滑化判定部３２１は、経路テーブル２３５を参照して、ＨＣ＝１のノード数、ＨＣ＝２のノード数を検索する。平滑化判定部３２１は、ＨＣ＝１のノードを親ノードとし、ＨＣ＝１の各親ノードが無線リンクを張っている子ノード数の平均値を求める。さらに、平滑化判定部３２１は、ＨＣ＝１の各親ノードの子ノード数の偏差を求める。その最大偏差と閾値とを比較し、最大偏差が閾値を超えている場合、「疎」又は「密」と判定する。このように、あるホップ数における疎密判定を終えると、平滑化判定部３２１は、ホップ数の深度を１ずつ下げて、最大深度に達するまで、上記疎密判定を繰り返し行なう。
【００４２】
平滑化判定部３２１は、疎密判定により「疎」と判定した場合、経路テーブル３２５を参照して、子ノード数が最大である親ノードを検索し、その親ノードに対して平滑化コマンドを通知することを平滑化コマンド生成部３２２に指示する。なお、平滑化判定部３２１の詳細な処理は、動作の項で詳細に説明する。
【００４３】
平滑化コマンド生成部３２２は、平滑化判定部３２１による判定結果に基づいて、指定された親ノードに対して平滑化コマンドを生成する。
【００４４】
ここで、平滑化コマンドとは、親ノードに対する子ノード数を平滑化するため、指定された親ノードに対して、子ノードの無線リンク先を変更させるコマンドである。
【００４５】
疎モードの場合の平滑化コマンドは、指定された親ノードに対して、無線リンクを張っている複数の子ノードのうち、一部の子ノードとの無線リンクを切断するコマンドである。
【００４６】
制御パケット生成部３２３は、平滑化コマンド生成部３２２に生成された平滑化コマンドを含む、指定された親ノード宛の制御パケットを送受信部３１０に与える。
【００４７】
送受信部３１０は、制御パケット生成部３２３により生成された制御パケットをシンクノードに送信し、及び、シンクノードから受信したパケットを分解してネットワーク制御部３２０に与える。
【００４８】
図２は、第１の実施形態に係る親ノードの無線通信装置の構成を示すブロック図である。
【００４９】
図２おいて、第１の実施形態に係る親ノードの無線通信装置２００は、アンテナ部２１１、無線送受信部２１０、パケット送受信部２２０、ネットワーク制御部２３０を有する。
【００５０】
無線通信装置２００は、例えば、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、入出力インタフェース手段、通信装置等を備えるものであり、ＣＰＵが、ＲＯＭに格納される処理プログラムを実行することにより、無線通信装置２００の機能を実現するものである。また、処理プログラムをインストールして構築できるようにしても良く、その場合でも機能的には図２で表すことができる。
【００５１】
アンテナ部２１１は、無線送受信部２１０からの送信信号を無線電波に乗せで送信したり、捕捉した無線電波を電気信号に変換して無線送受信部２１０に与えたりする。アンテナ部２１１は、送信用アンテナ、受信用アンテナ、送受信用アンテナを用いることができる。
【００５２】
無線送受信部２１０は、パケット送信部２２０からの送信信号を電気信号に変換してアンテナ部２１１に与え、アンテナ部２１１からの電気信号を受信信号に変換してパケット送受信部２２０に与える。
【００５３】
パケット送受信部２２０は、ネットワーク制御部２３０において生成されたパケットデータに基づいてパケットを組み立て送信信号として無線送受信部２１０に与え、無線送受信部２１０からの受信パケットを分解して、受信データをネットワーク制御部２３０に与える。
【００５４】
なお、無線送受信部２１０は、物理層としての処理を行ない、パケット送受信部２２０は、ＭＡＣ層としての処理を行なう。
【００５５】
無線送受信部２１０及びパケット送受信部２２０は、パケットの衝突を回避するため、例えばＣＳＭＡ／ＣＡ方式等に従って無線信号の送信タイミングを調整する。また、パケット送受信部２２０は、受信パケットを分解して得た受信データだけでなく、無線送受信部２１０により検出された受信電力値（例えば、ＲＳＳＩ値等）も受信データの一種として、ネットワーク制御部２３０に与える。
【００５６】
ネットワーク制御部２３０は、例えば経路選択等のネットワーク層としての処理を行なうものである。
【００５７】
図２に示すように、ネットワーク制御部２３０は、マルチホップ制御部２３１、親判定部２３２、制御パケット生成部２３３、隣接テーブル２３４、経路テーブル２３５、親候補判定部２３６、親変更判定部２３７を有する。
【００５８】
なお、特許請求の範囲に記載の判定手段は、親候補判定部２３６、親変更判定部２３７を含む概念である。判定手段は、通信情報記憶手段を参照して、周辺ノードのうち、パケットの衝突が生じ得るノードを判定する。
【００５９】
また、特許請求の範囲に記載の衝突回避手段は、制御パケット生成部２３３を含む概念である。衝突回避手段は、判定手段により判定されたノードの無線接続先、若しくは、判定手段により判定されたノードと無線接続する子ノードのうちの一部の無線接続先を変更して、パケットの衝突を回避する。
【００６０】
マルチホップ制御部２３１は、マルチホップ通信の処理を行なう。マルチホップ制御部２３１は、隣接テーブル２３４と経路テーブル２３５を参照して、ホップ先のノード１０に対してマルチホップ通信を行なう。
【００６１】
親判定部２３２は、パケット送受信部２２０から取得した受信パケットが制御パケットである場合、隣接テーブル２３４や経路テーブル２３５を参照して、制御パケットのデータに基づいて、自身の親ノードを決定する。また、親判定部２３２は、必要に応じて、制御パケットのデータに基づいて、隣接テーブル２３４や経路テーブル２３５の情報を更新する。
【００６２】
親判定部２３２は、リンクコスト値が良好な中継先を親ノードとして決定するため、隣接テーブル２３４に記憶されるノード接続状態情報や、ＲＳＳＩや、リンクコスト等を参照して、リンクコスト値の良好な（すなわち、リンクコスト値が最良である）中継先を親ノードとして決定する。
【００６３】
隣接テーブル２３４は、自ノードに隣接するノードとの間の接続状態や、隣接ノードからのパケット受信時の受信電力値（例えば、ＲＳＳＩ値等）や、隣接ノードからのパケットのパケット受信率や、隣接ノードとの間の無線リンクのリンクコスト等を記憶する。
【００６４】
経路テーブル２３５は、隣接ノードからの制御パケットに含まれるリンクコスト値等に基づいて、自ノードがパケットを中継する中継先ノードを含む経路情報、シンクノードまでのホップ数を記憶する。
【００６５】
親候補判定部２３６は、ゲートウェイ装置３００から平滑化コマンドを受信した場合に、経路テーブル２３５を参照して、子ノード数の平滑化のための親候補を決定する。
【００６６】
例えば、疎モードの平滑化コマンドの場合、親候補判定部２３６は、経路テーブル２３５を参照して、隣接ノードのうち、自ノードと同じホップ数であって、かつ、子ノード数が自身より小さいノードを検索し、その検索したノードを親候補とする。
【００６７】
親変更判定部２３７は、ゲートウェイ装置３００から平滑化コマンドを受信した場合に、隣接テーブル２３４を参照して、親ノードとの無線リンク先を変更する子ノードを決定する。
【００６８】
例えば、疎モードの平滑化コマンドの場合、親変更判定部２３７は、自ノードの複数の子ノードのうち、親候補を隣接ノードとして含んでおり、かつ、親候補とのリンクコスト値が良好な子ノードを決定する。換言すると、親変更判定部２３７は、親候補を隣接ノードとしている子ノードのうち、その親候補と最もリンクコスト値が低いノードを決定する。
【００６９】
制御パケット生成部２３３は、隣接するノードとの間で授受する制御パケットを生成し、パケット送受信部２２０に与える。制御パケット生成部２３３は、例えば、隣接ノードとの間の接続状態に関する情報や、パケット受信時の受信電力値（例えば、ＲＳＳＩ値等）等を含む制御パケットを作成する。
【００７０】
また、制御パケット生成部２３３は、親変更判定部２３７により決定された子ノードが、自ノードから親候補に無線リンクを変更指示する制御パケットを生成する。換言すると、制御パケット生成部２３３は、親変更判定部２３７により決定された子ノード宛に、当該子ノードと自ノードとの間のリンクコスト値を変更した制御パケットを生成する。
【００７１】
例えば、疎モードの平滑化コマンドの場合、制御パケット生成部２３３は、親変更判定部２３７により決定された子ノードと、自ノードとの間のリンクコスト値を最高値にした制御パケットを生成する。例えば、リンクコスト値が「１」〜「９９９９」までの範囲であり、「１」が最低値（品質が良い）であり、「９９９９」が最高値（品質が悪い）であるとする。この場合、制御パケット生成部２３７は、上記子ノードとのリンクコスト値を「９９９９」としてもよい。リンクコスト値を上げる理由は、上記子ノードの親ノードを自ノードから別ノードに変更する意図である。そのため、上記子ノードの親ノードを変更できるのであれば、上記のように、リンクコスト値を最高値、例えば「９９９９」にすることに限定されない。
【００７２】
なお、制御パケット生成部２３３は、隣接テーブル２３４に、当該子ノードとの間のリンクコスト値を、最も高くした値に更新するようにしてもよい。
【００７３】
図３は、第１の実施形態に係る子ノードの無線通信装置の構成を示すブロック図である。
【００７４】
図３において、第１の実施形態に係る子ノードの無線通信装置１００は、アンテナ部１１１、無線送受信部１１０、パケット送受信部１２０、ネットワーク制御部１３０を有する。
【００７５】
無線通信装置１００は、例えば、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、入出力インタフェース手段、通信装置等を備えるものであり、ＣＰＵが、ＲＯＭに格納される処理プログラムを実行することにより、無線通信装置１００の機能を実現するものである。また、処理プログラムをインストールして構築できるようにしても良く、その場合でも機能的には図３で表すことができる。
【００７６】
なお、アンテナ部１１１、無線送受信部１１０及びパケット送受信部１２０は、それぞれ、図２のアンテナ部２１１、無線送受信部２１０及びパケット送受信部２２０と同一の機能を行なうため、ここでの詳細な説明を省略する。
【００７７】
ネットワーク制御部１３０は、例えば経路選択等のネットワーク層としての処理を行なうものである。
【００７８】
図３に示すように、ネットワーク制御部１３０は、マルチホップ制御部１３１、親判定部１３２、制御パケット生成部１３３、隣接テーブル１３４、経路テーブル１３５を有する。
【００７９】
なお、マルチホップ制御部１３１、親判定部１３２、制御パケット生成部１３３、隣接テーブル１３４及び経路テーブル１３５は、基本的には、マルチホップ制御部２３１、親判定部２３２、制御パケット生成部２３３、隣接テーブル２３４及び経路テーブル２３５と同一の機能を行なうため、ここでの詳細な説明を省略する。
【００８０】
（Ａ−２）第１の実施形態の動作
次に、第１の実施形態に係るマルチホップネットワーク１における平滑化処理の動作を、図面を参照しながら詳細に説明する。
【００８１】
（Ａ−２−１）全体動作
図５は、第１の実施形態に係る平滑化処理の全体的な動作を説明する説明図である。
【００８２】
図５（Ｂ）において、ゲートウェイ装置３０００は、ＨＣ＝１とＨＣ＝２の各ノード数を求め、疎密判定を行なう（Ｓ１）。
【００８３】
例えば、図５（Ａ）に示すツリートポロジーが構成されている場合に、シンクノードからＨＣ＝１のノード数は２であり、ＨＣ＝２のノード数は５である。ＨＣ＝１の２台のノードのうち、一方は子ノード数が２であり、他方は子ノード数が３である。なお、疎密判定の詳細な方法については、後述する。
【００８４】
ゲートウェイ装置３００は、疎密判定の結果に基づいて、ＨＣ＝１の段で平滑化するノード１台に対して、平滑化コマンドを指示する（Ｓ２）。なお、疎密判定の結果、子ノード数に偏りがないと判断した場合、ゲートウェイ装置３００は平滑化コマンドを指示しない。
【００８５】
指示を受けたノードは、受信した平滑化コマンドに従って、平滑化を実行する（Ｓ３）。すなわち、ノードにおいて、親候補判定部２３６が、隣接テーブル２３４を参照して親候補を決定し、親変更判定部２３７が、隣接テーブル２３４を参照して、親ノードとの無線リンクを変更する子ノードを決定し、制御パケット生成部２３３が、決定された子ノードとの間のリンクコスト値を変更した制御パケットを生成して送信する。なお、この平滑化コマンドを受信したノードにおける平滑化処理の詳細については後述する。
【００８６】
ＨＣ＝１の段の平滑化処理が完了すると、ゲートウェイ装置３００は、ホップ数を１段下げて、Ｓ１〜Ｓ３の処理を繰り返す（Ｓ４）。
【００８７】
ゲートウェイ装置３００は、最下段まで平滑化処理を行ない、平滑化処理を終了する。さらにゲートウェイ装置３００は、所定のインターバル期間をおいて、インターバル期間が経過すると、再度、平滑化を実行する（Ｓ５）。
【００８８】
（Ａ−２−２）ゲートウェイ装置３００における処理
図６は、第１の実施形態に係るゲートウェイ装置３００におけるリンク先変更指示の処理動作を示すフローチャートである。
【００８９】
まず、ゲートウェイ装置３００において、マルチホップネットワーク１においてツリートポロジーが完了したことを、平滑化開始トリガーとし、処理を開始する（Ｓ１０１）。
【００９０】
平滑化判定部３２１は、経路テーブル３２５を参照して（Ｓ１０２）、ホップカウント毎のノード数、ホップカウント毎のノードの子ノード数、子ノード数の平均値、及び、子ノード数の平均値に対する偏差を、ホップカウント毎に求める（Ｓ１０３）。
【００９１】
そして、平滑化判定部３２１は、ホップカウント毎の各ノードの子ノード数の平均値に対する偏差と、閾値とを比較し、偏差が閾値を越えるか否かを判定する（Ｓ１０４）。
【００９２】
図７は、第１の実施形態における疎密判定を説明する説明図である。
【００９３】
図７において、横軸は、同じホップカウントのノード数（ノード番号）であり、縦軸は、当該ホップカウントの各ノードの子ノード数である。図７の場合、子のホップカウントの段には、１４台のノードが親ノードとして存在する。また、１４台の各ノード（親ノード）の子ノード数は、縦軸に示す数であり、その平均値を点線で示している。この場合、左から９番目のノード（親ノード）の子ノード数が最も大きく、偏差が閾値を越える。この場合、平滑化判定部３２１は、「疎」と判定する。
【００９４】
平滑化判定部３２１は、疎密判定により「疎」と判定した場合、経路テーブル３２５を参照して、子ノード数が最大である親ノードを検索する。そして、平滑化コマンド生成部３２２は、平滑化判定部３２１による判定結果に基づいて、指定された親ノードに対して平滑化コマンドを生成し、制御パケット生成部３２３が、平滑化コマンドを含む、指定された親ノード宛の制御パケットを送受信部３１０に与える（Ｓ１０５）。
【００９５】
その後、平滑化コマンドを受信したノードにおいて、平滑化処理が実行される。その後、当該ノードが完了通知をゲートウェイ装置３００に送信する。
【００９６】
ゲートウェイ装置３００が、ノードから完了通知を受信すると（Ｓ１０６）、平滑化判定部３２１は、ホップカウントが最大深度に到達したか否かを判断する（Ｓ１０７）。
【００９７】
最大深度に達していない場合、平滑化判定部３２１は、ホップカウントの深度を１下げて（Ｓ１０８）、Ｓ１０２に戻り、処理を繰り返す。
【００９８】
一方、最大深度に達した場合、平滑化判定部３２１は、平滑化インターバル待ちを行なう（Ｓ１０９）。すなわち、定期的に、マルチホップネットワーク１全体の平滑化処理を実行するために、平滑化タイマーを開始し（Ｓ１１０）、所定のインターバル時間が経過すると（Ｓ１１１）、平滑化判定部３２１は、Ｓ１０２に戻り、処理を繰り返し実行する。
【００９９】
（Ａ−２−３）親ノードにおける処理
図８は、第１の実施形態に係る親ノードにおける平滑化処理を示すフローチャートである。
【０１００】
ノードにおいて、ゲートウェイ装置３００から平滑化コマンドを受信すると（Ｓ２０１）、親候補判定部２３６が平滑化コマンドの種別を判断する。ここでは、疎の平滑化コマンドとする（Ｓ２０２）。
【０１０１】
親候補判定部２３６は、経路テーブル２３５を参照して、子ノード数の平滑化のための親候補を決定する（Ｓ２０３）。つまり、親候補判定部２３６は、経路テーブル２３５を参照して、隣接ノードのうち、自ノードと同じホップ数であって、かつ、子ノード数が自身より小さいノードを検索し、その検索したノードを親候補とする。
【０１０２】
親変更判定部２３７は、隣接テーブル２３４を参照して、自ノードの複数の子ノードのうち、親候補を隣接ノードとして含んでおり、かつ、親候補とのリンクコスト値が良好な子ノードを決定する（Ｓ２０４）。
【０１０３】
制御パケット生成部２３３は、親変更判定部２３７により決定された子ノード宛に、当該子ノードと自ノードとの間のリンクコスト値を最大にした制御パケット（Ｈｅｌｌｏ）を生成する（Ｓ２０５）。
【０１０４】
そして、ゲートウェイ装置３００に平滑化完了を通知するため、ノードは、平滑化完了通知を、ゲートウェイ装置３００に返信する（Ｓ２０６）。
【０１０５】
図９は、疎の場合の無線リンク先の変更処理を説明する説明図である。
【０１０６】
図９に示すように、ノードＡの子ノード数が４であり、ノードＢの子ノード数が１であり、ノードＡが、ゲートウェイ装置３００から「疎」の平滑化コマンドを受信したとする。
【０１０７】
このとき、ノードＡは、子ノードのうち、ノードＢを隣接ノードとし、隣接ノードとのリンクコスト値が最も低いものを検索する。なお、ノードＡは、ノードＢの隣接ノードであり、自ノードＡとのリンクコスト値が最大のもの（すなわち、リンク品質が悪いもの）を検索するようにしてもよい。
【０１０８】
また、ノードＡは、その子ノードとのリンクコスト値を最大値とする制御パケットを送信すると、ノードＡと子ノードとの無線リンクが切断される。
【０１０９】
したがって、ノードＡと無線リンクを張っていた子ノードは、ノードＢと新たに無線リンクを張ることになる。つまり、子ノードは、親ノードについて、ノードＡからノードＢに変更することができる。
【０１１０】
（Ａ−３）第１の実施形態の効果
以上のように、第１の実施形態によれば、子ノードを多くもつ親ノードが、子ノードの新たな親候補を探索し、その親候補を親ノードに変更しても問題ない子ノードのリンクコストを操作することにより、親ノードが子ノードとの無線リンクを切断して親候補に親変更させることができる。これにより、子ノードの数を平滑化（均等化）することができる。その結果、１台の親ノードに対して子ノードが多数集中する事態を防ぎ、衝突発生の可能性が高まることを防ぐことができる。
【０１１１】
（Ｂ）第２の実施形態
以下では、本発明に係る無線通信装置、管理装置及び無線通信システムの第２の実施形態を、図面を参照しながら詳細に説明する。
【０１１２】
（Ｂ−１）第２の実施形態の構成
第２の実施形態においても、マルチホップネットワーク１、ゲートウェイ装置３００、親ノード及び子ノードの無線通信装置１００、２００の構成は、第１の実施形態と同じであるため、図１〜図４を参照する。
【０１１３】
第２の実施形態では、ゲートウェイ装置３００における平滑化判定部３２１が密モードの平滑化処理を行なうことが、第１の実施形態と異なる。
【０１１４】
また、親ノードの無線通信装置２００の親候補判定部２３６及び親変更判定部２３７の処理が、第１の実施形態と異なる。
【０１１５】
したがって、以下では、第２の実施形態の特徴的な処理を中心に説明する。
【０１１６】
平滑化判定部３２１は、第１の実施形態と同様に、経路テーブル３２５を参照して、マルチホップネットワーク１全体における各ノードの疎密判定を行なう。
【０１１７】
平滑化判定部３２１は、経路テーブル３２５を参照して、あるホップ数のノード数と、当該各ノードの子ノード数との比率に基づいて、各親ノードを中継先とする子ノード数を平滑化するか否かを判定する。
【０１１８】
平滑化判定部３２１は、疎密判定により「密」と判定した場合、経路テーブル３２５を参照して、子ノードが最小の親ノードを検索し、その親ノードに対して平滑化コマンドを通知する。
【０１１９】
平滑化コマンド生成部３２２は、平滑化判定部３２１による判定結果に基づいて、指定された親ノードに対して平滑化コマンドを生成する。
【０１２０】
密モードの場合の平滑化コマンドは、指定された親ノードに対して、別の親ノードと無線リンクを張っている隣接のノードを、新たな子ノードとして収容するコマンドである。
【０１２１】
親候補判定部２３６は、ゲートウェイ装置３００から平滑化コマンドを受信した場合に、経路テーブル２３５を参照して、子ノード数の平滑化のための親候補を決定する。
【０１２２】
例えば、密モードの平滑化コマンドの場合、親候補判定部２３６は、経路テーブル２３５を参照して、自ノードと同じホップ数の隣接ノードのうち、自ノードよりも子ノード数が多いノードがある場合、自ノードを親候補とする。
【０１２３】
親変更判定部２３７は、ゲートウェイ装置３００から平滑化コマンドを受信した場合に、隣接テーブル２３４を参照して、親ノードとの無線リンク先を変更する子ノードを決定する。
【０１２４】
例えば、密モードの平滑化コマンドの場合、親変更判定部２３７は、自ノードと同じホップ数の隣接ノードのうち、自ノードよりも子ノード数が多いノードと無線リンクを張っている子ノードのうち、自ノードとのリンクコスト値が良好なノードを決定する。換言すると、親変更判定部２３７は、同じホップ数の他の親ノードの複数の子ノードのうち、自ノードと最もリンクコスト値が低いノードを決定する。
【０１２５】
制御パケット生成部２３３は、親変更判定部２３７により決定された子ノードが、自ノードから親候補に無線リンクを変更指示する制御パケットを生成する。
【０１２６】
密モードの平滑化コマンドの場合、制御パケット生成部２３３は、親変更判定部２３７により決定された子ノードと、自ノードとの間のリンクコスト値を最低値にした制御パケットを生成する。リンクコスト値を下げる理由は、上記子ノードの親ノードを別ノードから自ノードに変更する意図である。そのため、自ノードが上記子ノードと無線リンクを張れるのであれば、上記のように、リンクコスト値を最低値、例えば「１」にすることに限定されない。
【０１２７】
（Ｂ−２）第２の実施形態の動作
次に、第２の実施形態に係るマルチホップネットワーク１における平滑化処理の動作を、図面を参照しながら詳細に説明する。
【０１２８】
第２の実施形態に係る平滑化処理の全体動作は、第１の実施形態の図５と同様であるため、ここでの詳細な説明は省略する。
【０１２９】
（Ｂ−２−１）ゲートウェイ装置３００における処理
第２の実施形態に係るゲートウェイ装置３００における平滑化処理は、基本的には、第１の実施形態の図６と同じであるため、図６を参照して第１の実施形態と異なる処理を説明する。
【０１３０】
図６において、第１の実施形態と異なる処理は、疎密判定において密であると判定する点である。
【０１３１】
ゲートウェイ装置３００において、マルチホップネットワーク１においてツリートポロジーが完了したことを、平滑化開始トリガーとし、処理を開始する（Ｓ１０１）。平滑化判定部３２１は、経路テーブル３２５を参照して（Ｓ１０２）、ホップカウント毎のノード数、ホップカウント毎のノードの子ノード数、子ノード数の平均値、及び、子ノード数の平均値に対する偏差を、ホップカウント毎に求める（Ｓ１０３）。そして、平滑化判定部３２１は、ホップカウント毎の各ノードの子ノード数の平均値に対する偏差と、閾値とを比較し、偏差が閾値を越えるか否かを判定する（Ｓ１０４）。
【０１３２】
図１０は、第２の実施形態における疎密判定を説明する説明図である。
【０１３３】
図１０において、横軸は、同じホップカウントのノード数（ノード番号）であり、縦軸は、当該ホップカウントの各ノードの子ノード数である。
【０１３４】
図１０において、左から４番目のノード（親ノード）の子ノード数が最も少なく、偏差が閾値を越える。この場合、平滑化判定部３２１は、「密」と判定する。
【０１３５】
平滑化判定部３２１は、疎密判定により「密」と判定した場合、経路テーブル３２５を参照して、子ノードが最少の親ノードを検索し、その親ノードに対して平滑化コマンドを通知する（Ｓ１０５）。
【０１３６】
その後、ゲートウェイ装置３００が、ノードから完了通知を受信すると（Ｓ１０６）、平滑化判定部３２１は、ホップカウントが最大深度に到達したか否かを判断する（Ｓ１０７）。
【０１３７】
最大深度に達していない場合、平滑化判定部３２１は、ホップカウントの深度を１下げて（Ｓ１０８）、Ｓ１０２に戻り、処理を繰り返す。
【０１３８】
最大深度に達した場合、平滑化判定部３２１は、平滑化インターバル待ちを行ない（Ｓ１０９）平滑化タイマーを開始し（Ｓ１１０）、所定のインターバル時間が経過すると（Ｓ１１１）、平滑化判定部３２１は、Ｓ１０２に戻り、処理を繰り返し実行する。
【０１３９】
（Ｂ−２−２）親ノードにおける処理
図１１は、第２の実施形態に係る親ノードにおける平滑化処理を示すフローチャートである。
【０１４０】
ノードにおいて、ゲートウェイ装置３００から平滑化コマンドを受信すると（Ｓ２０１）、親候補判定部２３６が平滑化コマンドの種別を判断する。ここでは、密の平滑化コマンドとする（Ｓ２０７）。
【０１４１】
親候補判定部２３６は、経路テーブル２３５を参照して、子ノード数の平滑化のための親候補を決定する（Ｓ２０８）。つまり、親候補判定部２３６は、経路テーブル２３５を参照して、自ノードと同じホップ数の隣接ノードのうち、自ノードよりも子ノード数が多いノードがある場合、自ノードを親候補とする。
【０１４２】
親変更判定部２３７は、自ノードと同じホップ数の隣接ノードのうち、自ノードよりも子ノード数が多いノードと無線リンクを張っている子ノードのうち、自ノードとのリンクコスト値が良好なノードを決定する（Ｓ２０９）。
【０１４３】
制御パケット生成部２３３は、親変更判定部２３７により決定された子ノード宛に、当該子ノードと自ノードとの間のリンクコスト値を最低にした制御パケット（Ｈｅｌｌｏ）を生成する（Ｓ２１０）。
【０１４４】
そして、ゲートウェイ装置３００に平滑化完了を通知するため、ノードは、平滑化完了通知を、ゲートウェイ装置３００に返信する（Ｓ２０６）。
【０１４５】
図１２は、密の場合の無線リンク先の変更処理を説明する説明図である。
【０１４６】
図１２に示すように、ノードＡの子ノード数が４であり、ノードＢの子ノード数が２であり、ノードＢが、ゲートウェイ装置３００から「密」の平滑化コマンドを受信したとする。
【０１４７】
このとき、ノードＢは、ノードＢとホップ数が同じであり、子ノード数が自ノードよりも多いノードＡの子ノードのうち、ノードＢとのリンクコスト値が最も低いものを検索する。なお、ノードＡは、ノードＢの隣接ノードであり、自ノードＡとのリンクコスト値が最大のもの（すなわち、リンク品質が悪いもの）を検索するようにしてもよい。
【０１４８】
また、ノードＢは、その子ノードとのリンクコスト値を最低値とする制御パケットを送信すると、ノードＢが子ノードを収容し、ノードＢが子ノードと新たな無線リンクを張ることになる。つまり、子ノードは、親ノードについて、ノードＡからノードＢに変更することができる。
【０１４９】
（Ｂ−３）第２の実施形態の効果
以上のように、第２の実施形態によれば、子ノード数が少ない親ノードが、親を変更しても問題ない隣接の子ノードのリンクコストを操作することで、子ノードの数が多い親ノードから子ノードを奪って自分の子ノードにすることができ、子ノードの数を平滑化（均等化）することができる。その結果、１台の親ノードに対して子ノードが多数集中する事態を防ぎ、衝突発生の可能性が高まることを防ぐことができる。
【０１５０】
（Ｃ）他の実施形態
上述した第１及び第２の実施形態においても本発明の種々の変形実施形態を言及したが、本発明は、以下の変形実施形態にも適用できる。
【０１５１】
上述した第１の実施形態では疎モードの場合を説明し、第２の実施形態では密モードの場合を例示したが、ゲートウェイ装置及び各ノードの無線通信装置は、第１及び第２の実施形態で説明した各種機能を共に備えるようにしてもよい。つまり、ゲートウェイ装置は、疎モード及び密モードの平滑化コマンドを各ノードに送信し、各ノードは、疎モード及び密モードの平滑化コマンドに従って平滑化処理を行なうようにしてもよい。
【符号の説明】
【０１５２】
１…マルチホップネットワーク、１０…ノード、１００…子ノードの無線通信装置、２０００…親ノード無線通信装置、３００…ゲートウェイ装置、
３２０…ネットワーク制御部、３２１…平滑化判定部、３２２…平滑化コマンド、３２３…制御パケット生成部、３２４…通信品質テーブル、３２５…経路テーブル、
２３０…ネットワーク制御部、２３１…マルチホップ制御部、２３２…親判定部、２３３…制御パケット生成部、２３４…隣接テーブル、２３５…経路テーブル、２３６…親候補判定部、２３７…親変更判定部、
１３０…ネットワーク制御部、１３１…１マルチホップ制御部、１３２…親判定部、１３３…制御パケット生成部、１３４…隣接テーブル、１３５…経路テーブル。
【図１】
2018006960.tif 000003
【図２】
2018006960.tif 000004
【図３】
2018006960.tif 000005
【図４】
2018006960.tif 000006
【図５】
2018006960.tif 000007
【図６】
2018006960.tif 000008
【図７】
2018006960.tif 000009
【図８】
2018006960.tif 000010
【図９】
2018006960.tif 000011
【図１０】
2018006960.tif 000012
【図１１】
2018006960.tif 000013
【図１２】
2018006960.tif 000014