(57)【要約】【課題】経路情報に係る制御パケットの通信効率化を図り、スループット低下を改善する。【解決手段】本発明の無線通信装置は、周辺ノードに対して、隣接アドレスリストを有する制御パケットを周期的に送信するパケット送信手段と、周辺ノードが送信した制御パケットを受信するパケット受信手段と、パケット受信手段による制御パケットの受信に基づき、１ホップで通信可能な１ホップ隣接ノード情報を格納する第１の格納手段と、パケット受信手段が受信した制御パケットの隣接アドレスリストに基づき、２ホップ以上で通信可能な２ホップ以上隣接ノード情報を格納する第２の格納手段と、１ホップ隣接ノード情報及び２ホップ以上隣接ノード情報に基づき、周辺ノードの設置密度を類推し、類推した上記周辺ノードの設置密度に応じて、パケット送信手段が送信する制御パケットの送信タイミングを動的に変更する送信タイミング制御手段とを備えることを特徴とする。【選択図】      図１
2011055394.tif 000002
【特許請求の範囲】
【請求項１】
マルチホップ通信を行う無線通信装置において、
周辺ノードに対して、自身の隣接ノードのアドレス情報を示す隣接アドレスリストを有する制御パケットを周期的に送信するパケット送信手段と、
周辺ノードが送信した上記制御パケットを受信するパケット受信手段と、
上記パケット受信手段による上記制御パケットの受信に基づき、１ホップで通信可能な１ホップ隣接ノード情報を格納する第１の格納手段と、
上記パケット受信手段が受信した上記制御パケットの上記隣接アドレスリストに基づき、２ホップ以上で通信可能な２ホップ以上隣接ノード情報を格納する第２の格納手段と、
上記１ホップ隣接ノード情報及び上記２ホップ以上隣接ノード情報に基づき、周辺ノードの設置密度を類推し、類推した上記周辺ノードの設置密度に応じて、上記パケット送信手段が送信する上記制御パケットの送信タイミングを動的に変更する送信タイミング制御手段と
を備えることを特徴とする無線通信装置。
【請求項２】
上記送信タイミング制御手段が、上記周辺ノードの設置密度が大きくなるほど、上記制御パケットの送信間隔が大きくなるように変更することを特徴とする請求項１に記載の無線通信装置。
【請求項３】
上記送信タイミング制御手段が、上記１ホップ隣接ノード情報から１ホップ隣接ノード数が多いほど、上記制御パケットの送信間隔が大きくなるように変更することを特徴とする請求項１又は２に記載の無線通信装置。
【請求項４】
上記送信タイミング制御手段が、上記２ホップ以上隣接ノード情報から２ホップ以上隣接ノード数が多いほど、上記制御パケットの送信間隔が大きくなるように変更することを特徴とする請求項１〜３のいずれかに記載の無線通信装置。
【請求項５】
上記送信タイミング制御手段が、上記１ホップ隣接ノード数と上記２ホップ以上隣接ノード数とから上記周辺ノードの設置密度を算出することを特徴とする請求項３又は４に記載の無線通信装置。
【請求項６】
上記送信タイミング制御手段は、自身で算出した上記制御パケットの送信タイミングを上記制御パケットを記載して上記パケット送信手段に送信させることを特徴とする請求項１〜５のいずれかに記載の無線通信装置。
【請求項７】
中継ノードが自身のアドレス情報を経路情報に追記することで中継経路を収集する経路収集パケットを上記パケット受信手段が受信した場合、上記経路収集パケットに記載される上記経路情報を参照し、自身のアドレス情報を間欠的に追記する中継処理手段と、
上記経路収集パケットにより得られた上記経路情報を有するパケットを上記パケット受信手段が受信した場合、上記１ホップ隣接ノード情報及び上記２ホップ以上隣接ノード情報を用いて、当該パケットの次転送先を決定する次転送先決定手段と
をさらに備えることを特徴とする請求項１〜６のいずれかに記載の無線通信装置。
【請求項８】
上記中継処理手段が、上記経路収集パケットの上記経路情報に、当該経路収集パケットの送信元ノードのアドレス情報が記載されているか否かに応じて、自身のアドレス情報の追記をするか否かを判断することを特徴とする請求項７に記載の無線通信装置。
【請求項９】
上記中継処理手段が、上記経路収集パケットの残中継回数を参照することにより、自身のアドレス情報の追記をするか否かを判断することを特徴とする請求項７に記載の無線通信装置。
【請求項１０】
上記次転送先決定手段は、上記パケット受信手段が受信した上記パケットの上記経路情報に１ホップ隣接ノードが含まれていない場合、上記２ホップ以上隣接ノード情報から２ホップ転送先を検出し、この２ホップ転送先に到達させる１ホップ隣接ノードを次転送先とすることを特徴とする請求項７〜９のいずれかに記載の無線通信装置。
【請求項１１】
上記パケット送信手段が、上記制御パケットに２ホップ隣接ノード情報を記載して送信し、上記第２の格納手段が、３ホップ隣接ノード情報を格納することを特徴とする請求項１〜１０のいずれかに記載の無線通信装置。
【請求項１２】
マルチホップ通信を行う無線通信装置を
周辺ノードに対して、自身の隣接ノードのアドレス情報を示す隣接アドレスリストを有する制御パケットを周期的に送信するパケット送信手段、
周辺ノードが送信した上記制御パケットを受信するパケット受信手段、
上記パケット受信手段による上記制御パケットの受信に基づき、１ホップで通信可能な１ホップ隣接ノード情報を格納する第１の格納手段、
上記パケット受信手段が受信した上記制御パケットの上記隣接アドレスリストに基づき、２ホップ以上で通信可能な２ホップ以上隣接ノード情報を格納する第２の格納手段、
上記１ホップ隣接ノード情報及び上記２ホップ以上隣接ノード情報に基づき、周辺ノードの設置密度を類推し、類推した上記周辺ノードの設置密度に応じて、上記パケット送信手段が送信する上記制御パケットの送信タイミングを動的に変更する送信タイミング制御手段
として機能させることを特徴とする無線通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信装置及び無線通信プログラムに関し、例えば、マルチホップ無線通信システムを構成する各無線ノードが備える無線通信装置及び無線通信プログラムに適用し得るものである。
【背景技術】
【０００２】
例えば、マルチホップ無線ネットワークは、パケット中継機能を有する複数の無線ノードでネットワークを構成し、隣接した無線ノード間で互いにパケットを中継することにより、直接電波の届かない無線ノードまでパケットを転送することができる。
【０００３】
パケットを所望の無線ノードに中継するためには、宛先アドレスから次に転送する無線ノードを決定するためのルーティングプロコトルが必要となる。
【０００４】
例えばＺｉｇＢｅｅアライアンスでは、アドレスの割当方法を工夫することでルーティングテーブルが不要となるクラスタツリールーティング方式や、メッシュトポロジーの構成が可能となるＡＯＤＶ（Ad  Hoc  On-Demand  Distance  Vector）方式、複数のノードからデータを効率的に収集することが可能となるＭａｎｙ  ｔｏ  Ｏｎｅ方式などのルーティングプロトコルの標準化が行われている。
【０００５】
Ｍａｎｙ  ｔｏ  Ｏｎｅ方式はシンクノードと複数のノード間の１対ｎの通信について考慮された方式としているため、環境情報のセンシングや、テレメータリングなどのアプリケーションヘの適用が期待されている。
【０００６】
図２にＭａｎｙ  ｔｏ  Ｏｎｅルーティング方式の動作を示す。図２において、ノードａがシンクノードとなり、ノードｂ〜ｊで発生したセンサデータをノードａに収集する様子を示している。
【０００７】
まず、各ノードａ〜ｊはリンクステータスコマンドと呼ばれるパケットを、ブロードキャストで周辺ノードに送信する。このコマンドは例えば１５秒毎など定期的に周辺ノード間で交換され、各ノードがこのパケットの到着率やＬＱＩ（Link  Quality  Indicator）を測定することにより、各ノード間のリンクの品質を示すリンクコストが算出される。
【０００８】
次に、シンクノードはＲＲＥＱ（Route  Request）コマンドと呼ばれる経路探索パケットを送信する。例えばＡＯＤＶ方式などの場合では、このＲＲＥＱコマンドは送信したい相手から送信元までの経路を探索するために用いられるが、Ｍａｎｙ  ｔｏ  Ｏｎｅ方式では、送信先アドレスをブロードキャストアドレスとすることで全ノードからシンクノードまでの経路の探索を行うために用いられる。シンクノードからのＲＲＥＱを受信したノードは、他ノードヘＲＲＥＱコマンドを伝搬させるための中継処理を行う。このとき、ＲＲＥＱにはパスコストと呼ばれるメトリックが記載されており、この値が小さい程、シンクノードまでの到達コストが低いことを意味している。ＲＲＥＱの中継時には、リンクステータスコマンドで測定されたリンクコストを受信したＲＲＥＱのパスコストに加算して送信する。このようにＲＲＥＱの中継を繰り返すことで、各ノードはシンクノードにパケットを転送するための次転送ノードの情報を知ることができ、例えば、パスコストの一番低いノードを次転送ノードとして選択することで、シンクノードまでの最適経路の作成が可能となる。以上の動作により、各ノードからシンクノードまでの上り経路が確立される（図２（Ａ）参照）。
【０００９】
次に、各ノードはシンクノードからの下り経路を作成するために、ＲＲＥＣ（Route  Record）コマンドと呼ばれるパケットをシンクノード宛に送信する。ＲＲＥＣコマンドを受信したノードは自身のアドレスと中継回数をＲＲＥＣコマンドに追記して、次転送ノードヘと中継する。この中継を繰り返すことで、シンクノードでＲＲＥＣコマンドを受信したときには、送信元ノードから経由してきたノードのアドレスリストと中継回数を取得することができる。例えば図２では、ノードｈからｈ→ｄ→ｃ→ｂ→ａとパケットが中継されていることが分かる（図２（Ｂ）参照）。
【００１０】
全ノードがシンクノード宛のＲＲＥＣコマンドを送信することで、シンクノードでは全ノードヘの経路情報のリストを得ることができる。シンクノードから各ノードヘの下り通信を行う場合は、このアドレスリストの順番を逆にしたものをパケットのヘッダ部に記載し転送する。アドレスリストが記載されたパケットを受信したノードは、アドレスリストの記載に従ってパケットを中継する。以上の動作によりシンクノードから各ノードヘの下り経路が確立される（図２（Ｃ）参照）。
【００１１】
この動作は送信元ノード（ソースノード）が経由するノードを一意に決定する経路制御を行うため、ソースルーティングと呼ばれている。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】ＺｉｇＢｅｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｒｅｖｉｓｉｏｎ  １７（ＺｉｇＢｅｅＤｏｃｕｍｅｎｔ  ０５３４７４ｒ１７）
【発明の概要】
【発明が解決しようとする課題】
【００１３】
従来技術のＭａｎｙ  ｔｏ  Ｏｎｅ方式におけるリンクステータスコマンドは、全ノードで予め決められた周期に基づいて送信されており、ノードが単位時間あたりに送信するパケット数は同一となる。そのため、ノードの設置数が多くなると、無線帯域中の当該パケットが占有する比率が高くなり、ノードの設置密度が高い場所では、他ノードが送信する当該パケットの影響により無線帯域の利用効率が悪くなるという問題が生じ得る。
【００１４】
これにより、設置密度の高い場所に設置されたノードにおいては、データ通信のスループットが低下する恐れもある。そのためノードの設置密度の違いにより、無線帯域の利用効率に不公平を生じさせない当該パケットの送信方法が所望されている。
【００１５】
また、従来技術のＭａｎｙ  ｔｏ  Ｏｎｅ方式におけるソースルーティングでは、下りパケットのすべてに経路情報を示すアドレスリストを記載するため、中継ホップ数が増加するにつれて、パケットのオーバーヘッドが大きくなるという問題が生じ得る。特に、例えばセンサネットワークで広く使われているＩＥＥＥ８０２．１５．４などの無線通信方式を用いた場合、伝送レートが低速であるため、オーバーヘッドの増加によりデータ通信のスループットが低下するという問題がある。
【００１６】
このため、アドレスリストによるオーバーヘッド量を削減したソースルーティング方式が所望されている。
【００１７】
そこで、本発明は、上記課題に鑑み、ノードの設置密度の違いにより生じ得る制御パケットの送受信による無線帯域の利用効率の不公平をなくし、かつ、アドレスリストのオーバーヘッドを小さくし、スループットの低下を改善する無線通信装置及び無線通信プログラムを提供する。
【課題を解決するための手段】
【００１８】
かかる課題を解決するために、第１の本発明の無線通信装置は、マルチホップ通信を行う無線通信装置において、（１）周辺ノードに対して、自身の隣接ノードのアドレス情報を示す隣接アドレスリストを有する制御パケットを周期的に送信するパケット送信手段と、（２）周辺ノードが送信した制御パケットを受信するパケット受信手段と、（３）パケット受信手段による制御パケットの受信に基づき、１ホップで通信可能な１ホップ隣接ノード情報を格納する第１の格納手段と、（４）パケット受信手段が受信した制御パケットの隣接アドレスリストに基づき、２ホップ以上で通信可能な２ホップ以上隣接ノード情報を格納する第２の格納手段と、（５）１ホップ隣接ノード情報及び２ホップ以上隣接ノード情報に基づき、周辺ノードの設置密度を類推し、類推した上記周辺ノードの設置密度に応じて、パケット送信手段が送信する制御パケットの送信タイミングを動的に変更する送信タイミング制御手段とを備えることを特徴とする。
【００１９】
第２の本発明の無線通信プログラムは、マルチホップ通信を行う無線通信装置を（１）周辺ノードに対して、自身の隣接ノードのアドレス情報を示す隣接アドレスリストを有する制御パケットを周期的に送信するパケット送信手段、（２）周辺ノードが送信した制御パケットを受信するパケット受信手段、（３）パケット受信手段による制御パケットの受信に基づき、１ホップで通信可能な１ホップ隣接ノード情報を格納する第１の格納手段、（４）パケット受信手段が受信した制御パケットの隣接アドレスリストに基づき、２ホップ以上で通信可能な２ホップ以上隣接ノード情報を格納する第２の格納手段、（５）１ホップ隣接ノード情報及び２ホップ以上隣接ノード情報に基づき、周辺ノードの設置密度を類推し、類推した周辺ノードの設置密度に応じて、パケット送信手段が送信する制御パケットの送信タイミングを動的に変更する送信タイミング制御手段として機能させることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、ノードの設置密度の違いにより生じ得る制御パケットの送受信による無線帯域の利用効率の不公平をなくし、かつ、アドレスリストのオーバーヘッドを小さくし、スループットの低下が改善する。
【図面の簡単な説明】
【００２１】
【図１】第１の実施形態の無線ノードの内部構成を示す内部構成図である。
【図２】従来のＭａｎｙ  Ｔｏ  Ｏｎｅルーティング方式を説明する説明図である。
【図３】第１の実施形態の無線ノードにおけるパケット送受信処理を示すフローチャートである。
【図４】第１の実施形態の複数の無線ノードから構成されるネットワークでの無線ノードの動作を説明する説明図である。
【図５】第１の実施形態のネットワーク構成での無線ノード間の制御パケット送信量を示す図である（Ｔｕｎｉｔ＝１秒、α＝０、β＝０）。
【図６】第１の実施形態のネットワーク構成での無線ノード間の制御パケット送信量を示す図である（Ｔｕｎｉｔ＝１秒、α＝１、β＝０）。
【図７】第１の実施形態のネットワーク構成での無線ノード間の制御パケット送信量を示す図である（Ｔｕｎｉｔ＝１秒、α＝０、β＝１）。
【図８】第１の実施形態のネットワーク構成での無線ノード間の制御パケット送信量を示す図である（Ｔｕｎｉｔ＝１秒、α＝１、β＝１）。
【図９】第２の実施形態の無線ノードの内部構成を示す内部構成図である。
【図１０】第２の実施形態の無線ノードにおけるＲＲＥＣコマンドの送受信処理を示すフローチャートである。
【図１１】第２の実施形態の複数の無線ノードから構成されるネットワークでの無線ノードの動作を説明する説明図である。
【図１２】第２の実施形態の無線ノードにおけるＳＲパケットの送受信処理を示すフローチャートである。
【図１３】第２の実施形態の複数の無線ノードから構成されるネットワークでの無線ノードの動作を説明する説明図である。
【発明を実施するための形態】
【００２２】
（Ａ）第１の実施形態
以下では、本発明の無線通信装置及び無線通信プログラムの第１の実施形態を、図面を参照しながら説明する。
【００２３】
第１の実施形態では、例えば、マルチホップ通信方式を採用した無線ネットワーク（マルチホップ無線通信システム）を構成する各無線ノードが制御パケットを中継する際に、本発明を適用した場合の実施形態を例示する。
【００２４】
（Ａ−１）第１の実施形態の構成
図１は、第１の実施形態の無線ノードの内部構成を示す内部構成図である。図１において、第１の実施形態の無線ノード１００Ａは、無線通信装置として、アンテナ１０１、増幅器１０２、無線送受信部１０３、パケット受信部１０４、中継処理部１０５、ルーティングテーブル格納部１０６、２ホップ隣接テーブル格納部１０７、制御パケット生成部１０８、送信タイミング算出部１０９、パケット送信部１１０を少なくとも有して構成される。
【００２５】
アンテナ１０１は、増幅器１０２を介して無線送受信部１０３からの無線信号の送波又は無線信号の受波を行うものである。
【００２６】
増幅器１０２は、無線送受信部１０３から送信する無線信号を受け取り、電波の信号強度を増幅してアンテナ１０１に与えるものである。
【００２７】
無線送受信部１０３は、電気信号と無線信号の相互変換を行うものである。無線送受信部１０３は、アンテナ１０１から受け取った無線信号を電気信号に変換して変調処理等を行い受信パケットをパケット受信部１０４に与えたり、パケット送信部１１０から受け取った送信する送信信号に対して復調処理や周波数変換等を行い無線信号を増幅器１０２に与えるものである。
【００２８】
パケット受信部１０４は、受信パケットのヘッダ情報に基づいて、当該パケットがデータパケットであるか又は制御パケットであるかを識別し、中継処理部１０５に与えるものである。また、パケット受信部１０４は、制御パケットを受信した場合、制御パケットに記載されている経路情報をルーティングテーブル格納部１０６に格納するものである。例えば、制御パケットとしてＲＲＥＣコマンドを受信した場合、パケット受信部１０４は、ＲＲＥＣコマンドに記載されている、パケット宛先までの中継ノードのアドレスを示すアドレスリストをルーティングテーブル１０６に格納する。
【００２９】
中継処理部１０５は、自身宛のデータパケットを受信した場合には、上位の処理手段に受け渡し受信処理を行い、自身宛でないデータパケットを受信した場合には、ルーティングテーブル格納部１０６のルーティングテーブルに基づいて、パケットの宛先に中継するために、次の中継先ノードへの中継処理を行うものである。例えば、中継処理部１０５は、ルーティングテーブル格納部１０６に格納されている特定ノード（例えばシンクノード）までのパスコストに基づき最適経路を経由させる中継先ノードを選択する。
【００３０】
また、中継処理部１０５は、制御パケットを受信した場合、内部データの解析を行い、必要に応じてルーティングテーブル格納部１０６のルーティングテーブルや２ホップ隣接テーブル格納部１０７に格納される２ホップ隣接テーブルの内容を更新するものである。
【００３１】
ここで、制御パケットとしては、例えば、Ｍａｎｙ  Ｔｏ  Ｏｎｅルーティング方式のコマンドステータスコマンド、ＲＲＥＱコマンド、ＲＲＥＣコマンド等が該当する。例えば、コマンドステータスコマンドには、自身の隣接アドレスリストが記載されており、隣接アドレスリスト毎に無線リンクの品質を示すリンクコストが記載されている。また、ＲＲＥＱコマンドには、特定ノードへパケットを到達させるためのパスコストなどの値が記載されている。さらに、ＲＲＥＣコマンドには、パケットの宛先までの中継ノードのアドレスを示すアドレスリストが記載されている。
【００３２】
中継処理部１０５は、例えばリンクステータスコマンドに記載される情報に基づいて、ルーティングテーブル格納部１０６に格納される自身の１ホップ通信可能な隣接ノードのアドレス情報を更新したり、受信したコマンドステータスコマンドに記載される隣接アドレスリストに基づいて、２ホップ隣接テーブル格納部１０７の２ホップ隣接テーブルを更新したりする。
【００３３】
ルーティングテーブル格納部１０６は、中継経路情報であるルーティングテーブルを格納するものである。ルーティングテーブル格納部１０６は、例えば、制御パケットの送信元ノードを隣接ノードとする隣接ノードのアドレス一覧や、アドレス一覧毎に記載されたリンクコストや、特定ノード（例えばシンクノード）までのパスコストなどの情報を格納する。
【００３４】
２ホップ隣接テーブル格納部１０７は、自身が通信可能な２ホップ隣接テーブルを格納するものである。２ホップ隣接テーブルは、自身が直接通信することはできないが、１ホップ隣接ノードを経由することで接続可能なノードのアドレス一覧である。また、２ホップ隣接テーブルは、ルーティングテーブル格納部１０６のルーティングテーブルと受信した制御パケットの隣接アドレスリストとを比較することにより作成される。
【００３５】
制御パケット生成部１０８は、ルーティングテーブル格納部１０６に格納されるルーティングテーブルの一部の情報を、隣接ノードへ伝達するための制御パケットを生成するものである。
【００３６】
送信タイミング算出部１０９は、ルーティングテーブル格納部１０６に格納されるテーティングテーブルや、２ホップ隣接テーブル格納部１０７の２ホップ隣接テーブルを用いて、制御パケット生成部１０８が生成した制御パケットの送信時間を算出するものである。なお、送信タイミング算出部１０９の送信時間の算出方法は、動作の項で詳細に説明する。
【００３７】
パケット送信部１１０は、自身が生成したデータ（例えばセンサデータ等）や、制御パケット生成部１０８が生成した制御情報、中継処理部１０５から他ノードへ中継するパケットを形成し、無線送受信部１０３を介して無線ネットワークに送信するものである。パケット送信部１１０は、送信タイミング算出部１０９が算出した送信時間が設定され、送信時間にあると、制御パケットを送信するものである。
【００３８】
（Ａ−２）第１の実施形態の動作
次に、第１の実施形態の無線ノード１００Ａにおける中継する際の処理の動作を図面を参照しながら説明する。
【００３９】
図３は、第１の実施形態の無線ノード１００Ａにおけるパケット送受信処理の動作を示すフローチャートである。
【００４０】
図４（Ａ）は、例えば無線ノードａ〜ｋで構成されるネットワークでの無線ノードの動作を説明する説明図である。なお、図４（Ａ）において、無線ノード間を結ぶ点線は無線リンクであり直接通信が可能であることを示す。
【００４１】
まず、各無線ノードａ〜ｋは周辺ノードに対して制御パケットの交換を行い、各無線ノードａ〜ｋのパケット受信部１０４が、隣接ノードから制御パケットを受信する（ステップＳ３０１）。
【００４２】
また、各無線ノードａ〜ｋの中継処理部１０５は、受信した制御パケットに記載されている情報に基づいて、自身のルーティングテーブルの更新を行う（ステップＳ３０２）。
【００４３】
各無線ノードａ〜ｋは、制御パケットを受信すると、その制御パケットの送信元ノードを自身の隣接ノードとして知ることができ、この無線ノード群により構成される無線ノードのテーブルをルーティングテーブル格納部１０６に格納する。上記無線ノード群からなるテーブルを、１ホップ隣接テーブルと呼ぶ。
【００４４】
例えば図４に示す無線ノードｄの場合、無線ノードｂ、ｅ、ｆ、ｇ、ｈから制御パケットを受信するので、これら無線ノード群（無線ノードｂ、ｅ、ｆ、ｇ、ｈ）が自身の隣接ノードとして知ることができる。従って、無線ノードｄは、１ホップ隣接テーブルとして、１ホップ隣接テーブル（ｂ、ｅ、ｆ、ｇ、ｈ）をルーティングテーブル格納部１０６に格納する。なお、１ホップ隣接テーブルの「ｂ」等は、無線ノードｂのアドレスを示す。
【００４５】
また、例えば、リンクステータスコマンドの場合、隣接アドレスリスト毎に無線リンクの品質を示すリンクコストが記載されており、ＲＲＥＱコマンドには特定ノードまでのパスコストなどの値が記載されており、各無線ノードａ〜ｋはこれらの情報もルーティングテーブルに格納する。
【００４６】
次に、各無線ノードａ〜ｋの中継処理部１０５は、１ホップ隣接テーブルと、隣接ノードから受信した制御パケット（例えばリンクステータスコマンド）に記載されている情報とを比較して、２ホップ隣接テーブル格納部１０７の２ホップ隣接テーブルを更新する（ステップＳ３０３）。
【００４７】
例えば、無線ノードｄにおいて、例えば無線ノードｂから受信した制御パケット（例えばリンクステータスコマンド）には隣接アドレスリストとして隣接アドレスリスト（ａ、ｃ、ｄ）が記載されている。無線ノードｄの中継処理部１０５は、１ホップ隣接テーブルと、制御パケットの隣接アドレスリストとを比較して、直接的に通信することはできないが、無線ノードｂを経由して２ホップで通信可能な２ホップ隣接ノードを知ることができる。この２ホップ隣接ノードのアドレスを記載したテーブルを２ホップ隣接テーブルと呼ぶ。
【００４８】
具体的には、無線ノードｄの中継処理部１０５は、無線ノードｂからの制御パケットには隣接アドレスリストとして隣接アドレスリスト（ａ、ｃ、ｄ）が記載されており、自身のアドレスを削除した（ａ、ｃ）が、無線ノードｂを経由した２ホップ隣接ノードであると判断する。同様に、他の隣接ノードｅ、ｆ、ｇ、ｈから受信した制御パケットに記載されている隣接アドレスリストを用いて、無線ノードｄは、自身の２ホップ隣接テーブル（ａ、ｃ、ｉ）を２ホップ隣接テーブル格納部１０７に格納する。
【００４９】
図４（Ｂ）では、各無線ノードａ〜ｋが保持する１ホップ隣接テーブルと２ホップ隣接テーブルとを結合させたテーブル（図４（Ｂ）では１ホップ、２ホップ隣接テーブルと示す）を例示する。
【００５０】
次に、各無線ノードａ〜ｋの送信タイミング算出部１０９は、ルーティングテーブル格納部１０６の情報及び２ホップ隣接テーブル格納部１０７の情報を用いて、自身が送信する制御パケットの送信時間を算出する（ステップＳ３０４）。
【００５１】
そして、各無線ノードａ〜ｋにおいて、制御パケット生成部１０８がルーティングテーブル格納部１０６の情報を用いて制御パケットを生成し（ステップＳ３０５）、制御パケットの送信時間が設定され（ステップＳ３０６）、送信タイミングになると（ステップＳ３０７）、パケット送信部１１０が制御パケットを送信する（ステップＳ３０８）。
【００５２】
ここで、送信タイミング算出部１０９は、自身の周辺に位置する無線ノードの設置密度を類推し、この類推した周辺ノードの設置密度に応じて送信時間を算出する。この周辺ノードの設置密度とは、所定ホップ（例えば１ホップ、２ホップ等）範囲で通信可能な無線ノード数をいう。
【００５３】
送信タイミング算出部１０９は、周辺ノードの設定密度が大きい場合、制御パケットの送信間隔が大きくなるように送信時間を算出し、周辺ノードの設置密度が小さい場合、制御パケットの送信間隔が小さくなるように送信時間を算出する。ここで、例えば周辺ノードの設置密度が大きいか否かの判断は、１又は複数の閾値を設定して判断することができる。また、閾値はネットワークの運用に応じて適宜決定することができる。
【００５４】
また、送信タイミング算出部１０９が算出する送信時間Ｔｓｅｎｄは、例えば式（１）により決定する。
【００５５】
Ｔｓｅｎｄ＝Ｔｕｎｉｔ×（αＮ１ｈｏｐ＋βＮ２ｈｏｐ＋１）    …（１）
ここで、Ｔｕｎｉｔは単位時間、Ｎ１ｈｏｐは１ホップ隣接ノード数、Ｎ２ｈｏｐは２ホップ隣接ノード数を示し、α、βは係数を示す。例えば、Ｔｕｎｉｔは制御パケットを送信する最小単位時間であり、例えば１秒などの値が設定される。
【００５６】
式（１）は、１ホップ範囲の場合と２ホップの場合とのそれぞれの設置密度を考慮して、送信時間を算出する場合を例示したものである。式（１）では、αの値を大きくすれば１ホップ隣接ノード数の影響が顕著となり、βの値を大きくすれば２ホップ隣接ノード数の影響が顕著となる。
【００５７】
例えば、この場合、送信タイミング算出部１０９は、ルーティングテーブル格納部１０６の１ホップ隣接テーブルを参照して、１ホップ隣接ノード数が多いほど、αの値を大きくして、送信時間Ｔｓｅｎｄが大きくなるようにする。また、送信タイミング算出部１０９は、２ホップ隣接テーブル格納部１０７の２ホップ隣接テーブルを参照して、２ホップ隣接ノード数が多いほど、βの値を大きくして、送信時間Ｔｓｅｎｄが大きくなるようにする。すなわち、送信タイミング算出部１０９は、１ホップ隣接テーブルと２ホップ隣接テーブルとをそれぞれ別々に判断して、制御パケットの送信時間を算出する。
【００５８】
なお、α及びβの値の決定方法は、隣接ノード数が大きくなるに従って大きな値をとるようにする。例えば、α及びβの値は、ネットワークの構成に応じて予め決定するようにしても良い。また例えば、α及びβの値は、隣接ノード数の変化に応じて可変的に決定するようにしても良い。例えば隣接ノード数が「１台」の場合にはα及びβの値を「０」とし、隣接ノード数が「２〜３台」の場合にはα及びβの値を「１」とする等のように、隣接ノード数に応じてα及びβの値を決定する方法を適用できる。また、隣接ノード数に応じてα及びβを算出する所定の関係式を用いてα及びβの値を求めるようにしても良い。
【００５９】
さらに、送信タイミング算出部１０９は、ネットワークを構成する全ての無線ノードが同じ送信時間Ｔｓｅｎｄを決定するようにしても良いし、それぞれ無線ノード毎に送信時間Ｔｓｅｎｄを求めることができる。それぞれ無線ノードが個別に送信時間Ｔｓｅｎｄを求める場合、送信タイミング算出部１０９は、算出した送信時間Ｔｓｅｎｄを制御パケットに記載し、他の無線ノードに自身の送信時間Ｔｓｅｎｄを知らせるようにする。なお、送信タイミング算出部１０９は、送信時間Ｔｓｅｎｄを決定するパラメータ（例えばα及びβ）を制御パケットに記載して他の無線ノードに送信するようにしても良い。
【００６０】
また、送信タイミング算出部１０９は、制御パケットに記載されている各隣接ノードが算出した送信時間Ｔｓｅｎｄを参照して、自身の送信時間Ｔｓｅｎｄを算出するようにしても良い。例えば、制御パケットに含まれる各１ホップ隣接ノードの送信時間Ｔｓｅｎｄをルーティングテーブル格納部１０６に格納する。送信タイミング算出部１０９は、ルーティングテーブル格納部１０６から各１ホップ隣接ノードの送信時間Ｔｓｅｎｄを読み出す。このとき、１ホップ隣接ノードの送信時間Ｔｓｅｎｄが短い場合には、自身の送信時間Ｔｓｅｎｄが大きくなるように算出する方法を適用できる。これにより、１ホップ隣接ノードの送信時間が短い場合には自身が受信する制御パケット数が多くなることを意味するから、自身の送信時間を大きくすることで、送受信される制御パケットの数を減少することができる。
【００６１】
図５は、例えば、Ｔｕｎｉｔ＝１秒、α＝０、β＝０を式（１）に代入した場合の無線ノード間の制御パケット送信量を示す。すなわち、各無線ノードａ〜ｋの制御パケットの送信時間Ｔｓｅｎｄが１秒である場合を例示する。
【００６２】
図５（Ｂ）は、１分あたりに無線ノードが送信する制御パケットの数を表形式で説明する説明図である。例えば、無線ノードｄは、無線ノードｂ、ｅ、ｆ、ｇ、ｈのそれぞれに対して、１分間に６０個の制御パケットを送信していることを示す。
【００６３】
図５（Ａ）は、無線ノード間で１分あたりに授受される制御パケットの数を示す説明図である。例えば、無線ノードｂと無線ノードｄとの間の破線は無線リンクを示し、破線付近に記載されている数字「１２０」は、無線ノードｂと無線ノードとの間で授受されるパケット数（すなわち、無線ノードｂから無線ノードｄへの制御パケット数「６０個」＋無線ノードｄから無線ノードｂへの制御パケット数「６０個」の和）を示す。
【００６４】
図５（Ｃ）は、各無線ノードａ〜ｋが１分あたりに送受信する制御パケットの数を示す説明図である。例えば、無線ノードｄは、隣接ノードｂ、ｅ、ｆ、ｇ、ｈとの間で、１分間で「６００個」の制御パケットを送受信することを示す。
【００６５】
図５に例示するパラメータセットの場合、各無線ノードａ〜ｋの送信時間Ｔｓｅｎｄは比較的短く、各無線ノードａ〜ｋの単位時間あたりに送信する制御パケット数は同一である。例えば、無線ノードｄでは、大量の制御パケットを受信することになるので、データ通信のスループットが低下するおそれがある。
【００６６】
そこで、第１の実施形態では、１ホップ隣接テーブルと２ホップ隣接テーブルとに基づいて、周辺に存在すると思われる周辺ノードの設置密度を計算し、設置密度が高い無線ノードは、制御パケットの送信間隔を長く設定する。
【００６７】
図６〜図８は、式（１）のαの値とβの値を変えることにより、各無線ノードａ〜ｋ間の制御パケット数が減少する様子を説明する説明図である。図６は、例えば、Ｔｕｎｉｔ＝１秒、α＝１、β＝０とした場合であり、図７は、例えば、Ｔｕｎｉｔ＝１秒、α＝０、β＝１とした場合であり、図８は、例えば、Ｔｕｎｉｔ＝１秒、α＝１、β＝１とした場合である。
【００６８】
図６〜図８に例示する説明図から、例えば、無線ノードｄが１分あたりに送受信するパケット数は、図６の場合「１７５個」、図７の場合「１３１」、図８の場合「７３個」となっており、α＝０、β＝０とした図５の場合に比べて、制御パケットの送受信数を減少していることが分かる。
【００６９】
また、図５〜図８の説明図において、設置密度が比較的低い無線ノードｉや無線ノードｋの周辺と比べて、設置密度が比較的高い無線ノードｄの周辺では、送受信される制御パケット教が少なくなっていることが分かる。これにより、設置密度の高い無線ノードｄの無線帯域を制御パケットが占有する割合が低下し、データ通信のスループットを確保することができる。
【００７０】
以上の動作から、無線ノードは制御パケットを生成後に即座に送信せず、算出した送信時間Ｔｓｅｎｄまで制御パケットを保持することで、周辺ノード数を考慮した制御パケットの送信タイミングを調整することが可能となる。
【００７１】
（Ａ−３）第１の実施形態の効果
上記のように、第１の実施形態によれば、無線ノードの設置密度に応じて制御パケットの送信タイミンクを動的に制御することが可能となる。また、第１の実施形態によれば、この送信タイミンク制御により、ノードの設置密度の違いによる不公平性を解消することができ、設置密度の高い無線ノードにおいてもデータ通信用の無線帯域を確保することができる。
【００７２】
（Ｂ）第２の実施形態
次に、本発明の無線通信装置及び無線通信プログラムの第２の実施形態を図面を参照しながら説明する。
【００７３】
（Ｂ−１）第２の実施形態の構成
図９は、第２の実施形態の無線ノードの内部構成を示す内部構成図である。図９において、第２の実施形態の無線ノード１００Ｂは、無線通信装置として、アンテナ１０１、増幅器１０２、無線送受信部１０３、パケット受信部１０４、中継処理部２０１、ルーティングテーブル格納部１０６、２ホップ隣接テーブル格納部１０７、制御パケット生成部１０８、送信タイミング算出部１０９、パケット送信部１１０、次転送ノード決定部２０２を少なくとも有して構成される。
【００７４】
第２の実施形態が、第１の実施形態と異なる点は、中継処理部１０５に代えて中継処理部２０１を備える点と、次転送ノード決定部２０２を新たに備える点である。
【００７５】
中継処理部２０１は、第１の実施形態で説明した処理に加え、制御パケットであるＲＲＥＣコマンドを受信した場合、ＲＲＥＣコマンドに記載されているアドレスリストに、当該ＲＲＥＣコマンドの送信元アドレスが記載されているか否かを判断し、ＲＲＥＣコマンドの送信元アドレスが記載されている場合には、自身のアドレスをアドレスリストに追記しないようにし、記載されていない場合には、自身のアドレスをアドレスリストに追記するものである。
【００７６】
また、中継処理部２０１は、別の方法を適用することができる。例えば、中継処理部２０１は、ＲＲＥＣコマンドに記載されているＴＴＬ（Time  To  Live）を参照し、例えば、ＴＴＬの値が奇数のときには、自身のアドレスをアドレスリストに追記し、ＴＴＬの値が偶数のときには、追記しないようにする。
【００７７】
次転送ノード決定部２０２は、他の無線ノードから転送されてきたソースルーティングパケット（ＳＲパケット）のヘッダ情報と、ルーティングテーブル格納部１０６の情報と、２ホップ隣接テーブル格納部１０７の２ホップ隣接テーブルの情報とに基づいて、次に転送する無線ノードを決定するものである。
【００７８】
（Ｂ−２）第２の実施形態の動作
次に、第２の実施形態の無線ノード１００Ｂのパケット送受信処理の動作を図面を参照しながら説明する。
【００７９】
図１０は、第２の実施形態の無線ノード１００ＢにおけるＲＲＥＣコマンドの送受信処理の動作を示すフローチャートである。
【００８０】
図１１は、無線ノードａ〜ｌから構成されるネットワークにおいてＲＲＥＣコマンドを送受信する様子を説明する説明図である。なお、図１１（Ａ）では、無線ノードｌ（ｌはＬの小文字）から無線ノードａに向けてＲＲＥＣコマンドを送信する場合を例示し、太線はＲＲＥＣコマンドの送信経路を示し、太線付近に記載される例えば（１）等の番号はＲＲＥＣコマンドの中継順序を示す。
【００８１】
まず、無線ノードｌは、宛先を無線ノードａとするＲＲＥＣコマンドを送信し、無線ノードｌの隣接ノードである無線ノードｋが、ＲＲＥＣコマンドを受信する（ステップＳ１００１）。
【００８２】
従来、ＲＲＥＣコマンドを受信した無線ノードは、自身のアドレスをＲＲＥＣコマンドに記載されているアドレスリストに追記して次転送ノードに中継する。
【００８３】
これに対して、第２の実施形態は、ＲＲＥＣコマンドを受信した無線ノードの中継処理部２０１は、アドレスリストを参照し（ステップＳ１００２）、当該ＲＲＥＣコマンドの送信元ノードのアドレスがアドレスリストに記載されているか否かを判断する（ステップＳ１００３）。
【００８４】
そして、中継処理部２０１は、送信元ノードのアドレスがアドレスリストに記載されていない場合、自身のアドレスをアドレスリストに追記してＲＲＥＣパケットを送信し（ステップＳ１００４、Ｓ１００５）、送信元アドレスがアドレスリストに記載されている場合、自身のアドレスをアドレスリストに記載せずに、ＲＲＥＣパケットを次転送ノードに送信する（ステップＳ１００５）。
【００８５】
例えば、図１１の例の場合、無線ノードｌからのＲＲＥＣコマンドを受信した無線ノードｋは、アドレスリストに、無線ノードｌのアドレス「ｌ」が記載されているため、自身のアドレス「ｋ」を追記せずに、次転送ノードである無線ノードｉに転送する（図１１（Ａ）の（２））。
【００８６】
また、無線ノードｋからのＲＲＥＣコマンドを受信した無線ノードｉは、アドレスリストに無線ノードｋのアドレス「ｋ」が記載されていないため、自身のアドレス「ｉ」をアドレスリストに追記して、次転送ノードである無線ノードｈに転送する（図１１（Ａ）の（３））。
【００８７】
このような動作を行っていくことにより、図１１（Ｂ）に示すように、ＲＲＥＣコマンドのアドレスリストに記載するアドレス情報のフィールドサイズは、従来よりも半分とすることができる。その結果、オーバーヘッドを小さくすることができ、スループットの低下を回避し得る。
【００８８】
次に、ＲＲＥＣコマンドにより得られた経路情報に基づき、無線ノードａから無線ノードｌにソースルーティングを行う場合を図面を参照しながら説明する。
【００８９】
図１２は、無線ノード１００Ｂにおけるソースルーティング処理の動作を示すフローチャートである。
【００９０】
図１３は、無線ノードａ〜ｌから構成されるネットワークでのソースルーティング処理を説明する説明図である。図１３（Ａ）において、太線はソースルーティングパケット（ＳＲパケット）の中継経路であり、太線付近に記載の例えば（１）等の番号は中継順序を示す。
【００９１】
なお、以下では、無線ノードｄがＳＲパケットを受信した場合を例に挙げて説明する。
【００９２】
まず、無線ノードａは、図１０及び図１１のようにして得られたアドレスリストを記載して、宛先を無線ノードｌとするＳＲパケットを送信する。ＳＲパケットは、無線ノードｂを経由して、無線ノードｄに送信される。
【００９３】
無線ノードｄは、無線ノードｂからＳＲパケットを受信すると（ステップＳ１００６）、ＳＲパケットに記載されているアドレスリストを参照する（ステップＳ１０００７）。
【００９４】
従来技術の場合、ＳＲパケットを中継する無線ノードの中継順序は、アドレスリストに記載されているため、自身のアドレスが記載された次のアドレスを次転送アドレスとする。例えば、従来の場合、アドレスリストが「ｌ、ｋ、ｉ、ｈ、ｂ、ｄ」であれば、末尾から順に無線ノードｂ→ｄ→ｈ→ｉ→ｋ→ｌという順で中継する。なお、無線ノードが保持するアドレスリストの記載順を逆にして、アドレスリスト「ｄ、ｂ、ｈ、ｉ、ｋ、ｈ」とし、無線ノードｂ→ｄ→ｈ→ｉ→ｋ→ｌという順で中継するようにしてもよい。
【００９５】
これに対して、第２の実施形態では、図１０及び図１１で説明したようにしてＲＲＥＣコマンドでアドレスリストを収集しているため、必ずしも次転送ノードのアドレスが記載されているとは限らない。
【００９６】
そこで、次転送ノード決定部２０２が、自身のルーティングテーブル格納部１０６に格納されている１ホップ隣接テーブルを参照し（ステップＳ１００８）、アドレスリストに記載されたアドレスが１ホップ隣接テーブルにエントリされているか否かを判断する（ステップＳ１００９）。
【００９７】
そして、次転送ノード決定部２０２は、エントリされていない場合、２ホップ隣接テーブル格納部１０７の２ホップ隣接テーブルを参照して（ステップＳ１０１０）、次転送ノードを決定して（ステップＳ１０１１）、パケット送信部１１０がＳＲパケットを次転送ノードに向けて送信する（ステップＳ１０１２）。
【００９８】
一方、次転送ノード決定部２０２は、エントリされている場合、ルーティングテーブル格納部１０６のルーティングテーブルを用いて次転送ノードを決定し（ステップＳ１０１１）、パケット送信部１１０がＳＲパケットを次転送ノードに向けて送信する（ステップＳ１０１２）。
【００９９】
図１３の例の場合、無線ノードａが送信するＳＲパケットのアドレスリストは「ｌ、ｉ、ｄ」である。また、無線ノードｄの１ホップ隣接テーブルは、図１３（Ｂ）に示すように「ｂ、ｅ、ｆ、ｇ、ｈ」である。
【０１００】
無線ノードｂからＳＲパケットを受信した無線ノードｄの次転送ノード決定部２０２は、ルーティングテーブル格納部１０６の１ホップ隣接テーブル「ｂ、ｅ、ｆ、ｇ、ｈ」を参照しても、ＳＲパケットのアドレスリストに記載のアドレス「ｌ、ｉ」はエントリされていない。
【０１０１】
従って、次転送ノード決定部２０２は、２ホップ隣接テーブル「ａ、ｃ、ｉ」を参照すると、ＳＲパケットのアドレスリストに記載のアドレス「ｉ」がエントリされていることを知ることができるので、１ホップ隣接テーブル及び２ホップ隣接テーブルを用いて、無線ノードｉに到達するために、次転送ノードを無線ノードｈとして決定する。これにより、無線ノードｄは、次転送ノードを無線ノードｈとしてＳＲパケットを送信する（図１３（Ａ）の（３））。
【０１０２】
次に、無線ノードｄが送信したＳＲパケットを無線ノードｈが受信する。無線ノードｈの次転送ノード決定部２０２は、ルーティングテーブル格納部１０６の１ホップ隣接テーブル「ｄ、ｉ」を参照すると、ＳＲパケットのアドレスリストに記載のアドレス「ｉ」がエントリされていることを知るので、次転送ノードを無線ノードｉとしてＳＲパケットを送信する（図１３（Ａ）の（４））。
【０１０３】
以上の動作によりアドレスリストの情報が半減された状態においても、１ホップ隣接テーブルと２ホップ隣接テーブルを参照することにより、目的ノードまでパケットを中継することが可能となる。
【０１０４】
他の実施形態として、中継処理部２０１は、ＲＲＥＣパケットヘのアドレスリストヘの追記を行うか否かの判定に、受信したＲＲＥＣパケットのＴＴＬを用いてもよい。ＴＴＬは中継ホップ毎に減算されるため、例えばＴＴＬの値が奇数時にはアドレスリストヘ追記を、ＴＴＬの値が偶数時にはアドレスリストヘ追記しない、などの実施形態でもＲＲＥＣのオーバーヘッドが削減可能となる。
【０１０５】
また制御パケットに２ホップ隣接テーブルを記載することで、隣接ノードでは３ホップ先の周辺ノードの情報を獲得することができる。このためＲＲＥＣへのアドレスの追記を３ノード毎に１回としたとしても、３ホップ隣接テーブルを検索することで、目的ノードまでのパケット中継が可能となる。
【０１０６】
（Ｂ−３）第２の実施形態の効果
上記のように、第２の実施形態によれば、ＲＲＥＣパケットの情報量を半減することが可能となり、制御パケットのオーバーヘッド量を削減することができる。また、ソースルーティング時のオーバーヘッド量も削減することができるため、１パケットあたりのペイロード長が長くなり、スループットの向上が可能となる。
【０１０７】
（Ｃ）他の実施形態
本発明では、使用可能な無線帯域のうち一定の割合以下を制御情報とすることを目的とし、ノードの設置密度に応じてリンクステータスコマンド（制御パケット）の送信周期を動的に変更する手段と、制御パケットの交換により得られた２ホップ隣接ノードの情報を用いることで、パケットに記載するアドレスリストのサイズを削減する手段を提供する。
【０１０８】
上述した第１及び第２の実施形態において、無線ノードの無線通信装置のハードウェア構成は既存のハードウェア構成を適用することができ、例えば、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ等から構成される。また、例えば、ＣＰＵが、ＲＯＭに格納される処理プログラムを実現するソフトウェア処理により、上述した第１及び第２の実施形態で説明した機能を実現する。
【符号の説明】
【０１０９】
１００Ａ及び１００Ｂ…無線ノード、１０１…アンテナ、１０２…増幅器、
１０３…無線送受信部、１０４…パケット受信部、１０５、２０１…中継処理部、
１０６…ルーティングテーブル格納部、１０７…２ホップ隣接テーブル格納部、
１０８…制御パケット生成部、１０９…送信タイミング算出部、
１１０…パケット送信部、２０２…次転送ノード決定部。
【図１】
2011055394.tif 000003
【図２】
2011055394.tif 000004
【図３】
2011055394.tif 000005
【図４】
2011055394.tif 000006
【図５】
2011055394.tif 000007
【図６】
2011055394.tif 000008
【図７】
2011055394.tif 000009
【図８】
2011055394.tif 000010
【図９】
2011055394.tif 000011
【図１０】
2011055394.tif 000012
【図１１】
2011055394.tif 000013
【図１２】
2011055394.tif 000014
【図１３】
2011055394.tif 000015