(57)【要約】【課題】送信先ノードに無線フレームが到達するまでの到達遅延時間が最も短いチャネルを選択すること。【解決手段】本発明のノードは、自ノードに到着した無線フレームごとに、当該無線フレームが使用したチャネルのチャネル番号の情報と、当該無線フレームの到着タイミングの情報と、当該無線フレームのフレーム長の情報と、を取得するチャネル利用状況取得部と、前記チャネル利用状況取得部が取得した情報を基に、送信対象の無線フレームの送信に使用するチャネルを選択するチャネル選択部と、を有する。【選択図】図１５
2015149696.tif 000002
【特許請求の範囲】
【請求項１】
自ノードに到着した無線フレームごとに、当該無線フレームが使用したチャネルのチャネル番号の情報と、当該無線フレームの到着タイミングの情報と、当該無線フレームのフレーム長の情報と、を取得するチャネル利用状況取得部と、
前記チャネル利用状況取得部が取得した情報を基に、送信対象の無線フレームの送信に使用するチャネルを選択するチャネル選択部と、を有するノード。
【請求項２】
前記チャネル選択部は、
無線フレームの到着タイミングを当該無線フレームのフレーム送信タイミングとし、
チャネルごとに、当該チャネルを使用した無線フレームのフレーム送信タイミング間のタイミング差を平均した時間間隔である平均フレーム送信間隔を算出し、
チャネルごとに、当該チャネルを使用した無線フレームの最も直近の送信タイミングと現在のタイミングとの間のタイミング差である最終フレーム送信タイミング差を算出し、
チャネルごとに、当該チャネルにおける前記平均フレーム送信間隔および前記最終フレーム送信タイミング差を基に、当該チャネルで次に無線フレームが送信されるまでの空き時間と推定される推定チャネル空き時間を算出し、
前記送信対象の無線フレームのフレームサイズおよび伝送レートを基に、前記送信対象の無線フレームを送信するのに必要な時間であるフレーム送信時間を算出し、
前記フレーム送信時間を上回る前記推定チャネル空き時間を持つチャネルを選択する、請求項１に記載のノード。
【請求項３】
前記チャネル選択部は、
チャネルごとに、当該チャネルにおける前記平均フレーム送信間隔および前記最終フレーム送信タイミングと、チャネルの変更に要する時間であるチャネル変更遅延時間と、特定のチャネルを優先的に使用し続けるための任意の時間であるチャネル変更しきい値時間と、を基に、前記推定チャネル空き時間を算出する、請求項２に記載のノード。
【請求項４】
前記送信対象の無線フレームをマルチホップ転送する場合、前記チャネル選択部が選択したチャネルにおける前記推定チャネル空き時間と、前記フレーム送信時間と、を基に、マルチホップ転送のホップ数を推定する制御部をさらに有する、請求項２または３に記載のノード。
【請求項５】
前記チャネル選択部は、
無線フレームの到着タイミングを当該無線フレームのフレーム送信タイミングとし、無線フレームのフレーム送信タイミング間のタイミング差を当該無線フレームのフレーム送信間隔とし、
チャネルごとに、当該チャネルを使用した無線フレームのフレーム送信間隔を横軸に、当該フレーム送信間隔で無線フレームが到着した回数を縦軸にとった分布を作成し、
前記送信対象の無線フレームのフレームサイズおよび伝送レートを基に、前記送信対象の無線フレームを送信するのに必要な時間であるフレーム送信時間を算出し、
前記分布の全面積に占める前記フレーム送信時間以上の分布の面積の割合が最も多いチャネルを選択する、請求項１に記載のノード。
【請求項６】
前記送信対象の無線フレームをマルチホップ転送する場合、前記チャネル選択部が選択したチャネルにおける前記分布の全面積を二等分するフレーム送信間隔を算出し、算出したフレーム送信間隔と、前記フレーム送信時間と、を基に、マルチホップ転送のホップ数を推定する制御部をさらに有する、請求項５に記載のノード。
【請求項７】
前記制御部は、
前記推定したホップ数と、前記チャネル選択部が選択したチャネルのチャネル番号と、を前記送信対象の無線フレームに付加し、前記チャネル選択部が選択したチャネルにて前記送信対象の無線フレームを送信する、請求項４または６に記載のノード。
【請求項８】
前記制御部は、
他ノードから受信した無線フレームに付加されたホップ数が０でない場合、当該ホップ数を減算し、減算後のホップ数が０でなければ、当該無線フレームに減算後のホップ数を付加し、当該無線フレームに付加されたチャネル番号のチャネルにて当該無線フレームを転送する、請求項７に記載のノード。
【請求項９】
複数のノードを有し、
前記複数のノードの少なくとも１つが、
自ノードに到着した無線フレームごとに、当該無線フレームが使用したチャネルのチャネル番号の情報と、当該無線フレームの到着タイミングの情報と、当該無線フレームのフレーム長の情報と、を取得するチャネル利用状況取得部と、
前記チャネル利用状況取得部が取得した情報を基に、送信対象の無線フレームの送信に使用するチャネルを選択するチャネル選択部と、を有する、無線センサーネットワークシステム。
【請求項１０】
ノードによる無線通信方法であって、
自ノードに到着した無線フレームごとに、当該無線フレームが使用したチャネルのチャネル番号の情報と、当該無線フレームの到着タイミングの情報と、当該無線フレームのフレーム長の情報と、を取得し、
前記取得した情報を基に、送信対象の無線フレームの送信に使用するチャネルを選択する、無線通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線センサーネットワークシステムにおいて、ノード間で無線フレームを転送する技術に関する。
【背景技術】
【０００２】
無線センサーネットワークシステムは、センサーを備える複数の無線センサーノードと、複数の無線センサーノードがセンシングしたセンサーデータを収集するシンクノードと、を有している。
【０００３】
無線センサーネットワークシステムは、環境の計測データや、工場における機器の監視データや、電力、ガス、水道の使用量メーターのデータを、無線通信によって収集するシステムとして用いられている。
【０００４】
無線センサーネットワークシステムで用いられる無線通信規格としては、特定小電力無線やIEEE（Institute of Electrical and Electronics Engineers）802.11、IEEE 802.15.4に対応した無線通信規格が存在する。これらの無線通信規格では、2.4GHz帯や920MHz帯といった周波数帯域が使用される。
【０００５】
これらの無線通信規格で使用される周波数帯域は、チャネルといった単位にさらに分割される。同一の無線通信規格のノード同士であっても異なるチャネルを使用することで、無線通信が実現される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表2007-513548号公報
【特許文献２】特開2007-235828号公報
【特許文献３】特開2002-345016号公報
【非特許文献】
【０００７】
【非特許文献１】802.15.4-2011 - IEEE Standard for Local and metropolitan area networks--Part 15.4: Low-Rate Wireless Personal Area Networks (LR-WPANs)
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、関連技術では、無線センサーネットワークシステムで使用されるチャネルは、例えば、シンクノードが以下のように選択する。すなわち、シンクノードは、チャネルを変更しながら周辺をスキャンすることで、他のシステムが送信している無線フレームを受信し、チャネルごとの受信結果を基にチャネルを選択する。
【０００９】
このようなスキャンの方法の一例としては、非特許文献1に開示されたED（Energy Detection） Scanが存在する。また、特許文献1には、スキャンによってチャネルごとにトラフィック量を測定することで、チャネル利用率（送受信機がキャリアロックされる時間の割合）を算出し、チャネルごとのチャネル利用率を基にチャネル選択を行うことが開示されている。このように、チャネルごとのチャネル利用率をチャネル選択の指標として使用することができる。
【００１０】
しかし、全チャネルをスキャンする方法は、一定期間該当するチャネルを受信状態にすることで実現されているため、その一定期間以外の動向を知ることができないという問題がある。例えば、その一定期間だけ無線フレームを受信しなかった場合や、その一定期間だけ無線フレームを多く受信した場合など、実際のチャネルの利用状況とは必ずしも一致しない場合がある。例えば、スキャンの期間を長くすることで、実際のチャネルの利用状況を把握できるようになるが、その間は通信ができないため、システム上の利便性が損なわれる。また、全チャネル分の無線受信機を用意して全チャネルの無線フレームを受信することで、チャネルの利用状況をモニタリングすることもできるが、全チャネル分の無線受信機を用意することはコスト的に現実的ではない。
【００１１】
また、チャネル利用率を利用する方法は、チャネル利用率だけで最適なチャネルを選択することができない場合があるという問題がある。例えば、図16において、黒矢印の時刻（判断ポイント）でチャネルを選択する場合を想定する。チャネル利用率だけを利用する方法では、チャネル利用率が最も低いチャネル33が選択される。しかし、チャネル33における無線フレームの送信間隔を考慮すると、判断ポイントでは、チャネル33が使用される可能性が高い。このことから、チャネル33は、判断ポイントでの無線フレームの衝突確率が高い。そのため、チャネル利用率が高くとも、判断ポイントでの無線フレームの衝突確率が低いチャネル37を使用するのが好ましい。しかし、詳細なチャネル利用状況を基に、最適なチャネルを選択する関連技術は存在しない。
【００１２】
そのため、本発明は、詳細なチャネル利用状況を利用して、無線フレームの衝突確率が最も低いチャネル、すなわち、送信先ノードに無線フレームが到達するまでの到達遅延時間が最も短いチャネルを選択することが第１の課題となる。
【００１３】
また、関連技術の中には、トポロジを考慮したチャネル割り当て方法も存在する。
【００１４】
例えば、特許文献2には、隠れ端末問題を起こすリンク数を最小とする周波数を対象リンクに割り当てる方法が開示されている。また、特許文献3には、上位ノードと下位ノードとに分けて、周波数およびタイムスロットの割り当てを行う方法が開示されている。これらの方法は、ノードの周囲に存在する他のノードの数やトポロジ上の位置に従って、チャネルを割り当てる方法である。
【００１５】
しかし、これらの関連技術も、初期のチャネル設定や一時的なチャネル利用状況からチャネルを判別して割り当てていると言える。そのため、無線フレームを転送する際のチャネル利用状況を基に最適なチャネルを選択し、トポロジを考慮して、その最適なチャネルを次ノードに指定することができれば、無線フレームの効率的なマルチホップ転送が可能となる。例えば、図17において、ノード401からノード402を介してノード403に無線フレームを転送するケースを想定する。1つの無線フレームを転送する場合は、ノード401,402が送信する無線フレームが衝突する可能性はない。しかし、複数の無線フレームを転送する場合は、ノード401,402が送信する無線フレームが衝突する可能性がある。
【００１６】
そのため、本発明は、無線フレームをマルチホップ転送する際に、トポロジを考慮して、次ノードに対して、マルチホップ転送に使用するチャネルを指定することで、送信先ノードへの無線フレームの到達遅延時間を最も短くすることが第２の課題となる。
【００１７】
そこで、本発明の目的は、上述した課題のいずれかを解決することができる技術を提供することにある。
【課題を解決するための手段】
【００１８】
本発明のノードは、
自ノードに到着した無線フレームごとに、当該無線フレームが使用したチャネルのチャネル番号の情報と、当該無線フレームの到着時刻の情報と、当該無線フレームのフレーム長の情報と、を取得するチャネル利用状況取得部と、
前記チャネル利用状況取得部が取得した情報を基に、送信対象の無線フレームの送信に使用するチャネルを選択するチャネル選択部と、を有する。
【００１９】
本発明の無線センサーネットワークシステムは、
複数のノードを有し、
前記複数のノードの少なくとも１つが、
自ノードに到着した無線フレームごとに、当該無線フレームが使用したチャネルのチャネル番号の情報と、当該無線フレームの到着時刻の情報と、当該無線フレームのフレーム長の情報と、を取得するチャネル利用状況取得部と、
前記チャネル利用状況取得部が取得した情報を基に、送信対象の無線フレームの送信に使用するチャネルを選択するチャネル選択部と、を有する。
【００２０】
本発明の無線通信方法は、
ノードによる無線通信方法であって、
自ノードに到着した無線フレームごとに、当該無線フレームが使用したチャネルのチャネル番号の情報と、当該無線フレームの到着時刻の情報と、当該無線フレームのフレーム長の情報と、を取得し、
前記取得した情報を基に、送信対象の無線フレームの送信に使用するチャネルを選択する。
【発明の効果】
【００２１】
本発明によれば、無線フレームの送信に使用するチャネルを選択するに際し、無線フレームの衝突確率が最も低いチャネル、すなわち、送信先ノードに無線フレームが到達するまでの到達遅延時間が最も短いチャネルを選択することができるという効果が得られる。
【図面の簡単な説明】
【００２２】
【図１】本実施形態に適用可能な無線センサーネットワークシステムの一例の構成を示す図である。
【図２】本実施形態に適用可能な無線センサーネットワークシステムの他の例のツリートポロジ構成を示す図である。
【図３】無線センサーノード10の構成の一例を示すブロック図である。
【図４】シンクノード20の構成の一例を示すブロック図である。
【図５】無線センサーノード10またはシンクノード20が無線フレームを送信する場合の動作の一例を説明するフローチャートである。
【図６】チャネル選択部104がチャネル利用状況取得部103から得られる情報の一例を説明する図である。
【図７】図6の例における各チャネルのフレーム受信状況を図示した図である。
【図８】フレーム送信間隔の分布の一例を説明する図である。
【図９】フレーム送信間隔の分布の他の例を説明する図である。
【図１０】フレーム送信間隔の分布とフレーム転送時間との関係の一例を説明する図である。
【図１１】フレーム送信間隔の分布から、フレーム送信間隔tbを求める方法の一例を説明する図である。
【図１２】マルチホップ転送時のホップ数の遷移状況の一例を説明する図である。
【図１３】具体例１の無線センサーネットワークシステムの構成を示す図である。
【図１４】具体例２の無線センサーネットワークシステムの構成を示す図である。
【図１５】本発明のノード300の概略構成を示すブロック図である。
【図１６】各チャネルのフレーム受信状況の一例を説明する図である。
【図１７】無線フレームの衝突が生じる状況の一例を説明する図である。
【発明を実施するための形態】
【００２３】
以下に、本発明を実施するための形態について図面を参照して説明する。
（1）本実施形態の構成
図1は、本実施形態に適用可能な無線センサーネットワークシステムの一例の構成を示す図である。
【００２４】
図1に示した無線センサーネットワークシステムは、無線センサーノード10A〜10Iと、シンクノード20と、を有している。無線センサーノード10A〜10Iおよびシンクノード20は共に無線通信が可能であり、無線センサーノード10A〜10Iがセンシングしたセンサーデータをシンクノード20が収集する。
【００２５】
図2は、本実施形態に適用可能な無線センサーネットワークシステムの他の例のツリートポロジ構成を示す図である。
【００２６】
図2に示した無線センサーネットワークシステムは、無線センサーノード10J〜10Wと、シンクノード20と、を有している。無線センサーノード10J〜10Wおよびシンクノード20は共に無線通信が可能であり、無線センサーノード10J〜10Wがセンシングしたセンサーデータをシンクノード20が収集する。
【００２７】
無線センサーノード10J〜10Wは、センサーデータをシンクノード20へ通知するために、図2に示すようなツリートポロジを構成しており、マルチホップ転送によってデータをシンクノード20に届ける。
【００２８】
一般的に、無線センサーネットワークでは、IETF（Internet Engineering Task Force）が策定しているマルチホップ向けのルーティングプロトコルであるRPL（IPv6 Routing Protocol for Low-Power and Lossy Networks）が適用される。
【００２９】
図2は、RPLによって構成されたツリートポロジを示している。このツリートポロジに従って、各無線センサーノード10J〜10Wは、センサーデータをシンクノード201までマルチホップにより転送することができる。なお、本発明は、RPLといったツリートポロジに限定されず、OLSR（Optimized Link State Routing Protocol）といったメッシュ型のトポロジでも効果を得られる。
【００３０】
以下では、無線センサーノード10A〜10Wを区別しない場合は、単に無線センサーノード10と称する。
【００３１】
図3は、無線センサーノード10の構成の一例を示すブロック図である。
【００３２】
図3に示すように、無線センサーノード10は、無線通信部101と、制御部102と、チャネル利用状況取得部103と、チャネル選択部104と、センサー105と、を有している。
【００３３】
無線通信部101は、特定小電力無線やIEEE 802.11、IEEE 802.15.4に対応した無線通信規格に従って通信を行う。
【００３４】
制御部102は、無線センサーノード10の動作を制御する。例えば、制御部102は、以下のような、無線センサーノード10自体の制御を行う。
・センサー105からのセンサーデータの読出
・センサーデータの送信
・他の無線センサーノード10から受信したセンサーデータのマルチホップ転送
・ルーティングプロトコルの実行によるトポロジの構築
・無線通信部101で使用するチャネルの割り当て
チャネル利用状況取得部103は、すべてのチャネルの無線フレームを受信可能である。また、チャネル利用状況取得部103は、自ノードに到着した無線フレームごとに、その無線フレームが使用したチャネルのチャネル番号の情報と、その無線フレームの到着時刻およびフレーム長の情報と、を取得し、逐次、記録する。
【００３５】
なお、無線フレームが使用したチャネルのチャネル番号は、その無線フレームに付加されている。
【００３６】
また、無線フレームのフレーム長は、以下のようにして取得することができる。
【００３７】
例えば、その無線フレームの受信信号を検波し、検波結果をサンプリング周期でサンプリングして、受信信号の検出間隔を、フレーム長として取得する。
【００３８】
または、BPF（Band Pass Filter）によって無線フレームの周波数を有する信号を抽出し、包絡線検波回路によって信号を一定周期ごとに包絡線検波し、ビット判定器によって検波信号を“0”または“1”のビット値に変換し、フレーム長検出回路によってビット列からフレーム長を検出する。
【００３９】
チャネル選択部104は、チャネル利用状況取得部103が取得した情報と、制御部102から得られる、送信対象の無線フレームのフレームサイズおよび伝送レートの情報と、を基に、無線フレームの送信に使用する最適なチャネルを選択する。
【００４０】
センサー105は、温度、湿度、照度、電力値、CO2濃度、放射線量をセンシングするセンサーや、人感センサーといったセンサーデバイスである。また、無線センサーノード10には、センサー105だけでなく、モーターやスイッチといったアクチュエーターを実装するケースもあるが、本発明ではセンサー種別やアクチュエーター種別は限定されない。
【００４１】
図4は、シンクノード20の構成の一例を示すブロック図である。
【００４２】
図4に示すように、シンクノード20は、無線センサーノード10との相違点は、センサー105の代わりにデータベース205を搭載している点のみである。そのため、以下、データベース205のみ説明する。
【００４３】
データベース205は、各無線センサーノード10がセンシングしたセンサーデータを蓄積するデータベースである。
【００４４】
なお、シンクノード20の動作として、他のデータベースサーバと有線接続し、他のデータベースサーバと通信を行い、他のデータベースサーバ内のデータベースを使用するという動作も考えられる。そのため、図4のシンクノード20の構成はあくまでも一例である。
（2）本実施形態の動作
以下、本実施形態の動作として、無線センサーノード10またはシンクノード20が無線フレームを送信する場合の動作を、図5のフローチャートに従い説明する。
（2-1）チャネルの選択処理
ステップS1のチャネルの選択処理は、無線フレーム送信の際に、はじめに実行される処理であり、チャネル選択部104で実行される。
【００４５】
チャネルを選択する方法には、平均を利用した方法と、分布を利用した方法と、平均と分布とを組み合わせた方法と、の3つの方法がある。以下、各々の方法について説明する。
（2-1-1）平均を利用した方法
まずは、平均を利用した方法から説明する。
【００４６】
平均を利用した方法では、チャネル選択部104は、チャネル利用状況取得部103が取得した、無線フレームごとのチャネル番号と到着時刻とフレーム長とを利用して、平均フレーム送信間隔ichと最終フレーム送信時刻差dchを算出する。
【００４７】
なお、ichおよびdchのchはチャネルを表している。例えば、チャネル1の場合の平均フレーム送信間隔はi1、最終フレーム送信時刻差はd1となる。
【００４８】
平均フレーム送信間隔ichは、現在時刻tからさかのぼり、単位時間あたりのフレーム送信時刻間の時刻差を平均した時間間隔である。
【００４９】
最終フレーム送信時刻差dchは、現在時刻tから、最も直近のフレーム送信時刻を減算した時刻差である。
【００５０】
チャネル選択部104がチャネル利用状況取得部103から得られる情報は、図6のような情報である。
【００５１】
チャネル選択部104は、図6の到着時刻をフレーム送信時刻、図6のフレーム長をフレーム占有時間として、チャネルごとに、平均フレーム送信間隔ichおよび最終フレーム送信時刻差dchを算出する。
【００５２】
例えば、図6の場合、現在時刻tを“18:24:42”とすると、i33は2秒でd33は1秒、i34は3秒でd34は1秒、i35は4秒でd35は2秒、と算出される。
【００５３】
そして、チャネル選択部104は、以下に示す式によって、チャネルごとに、そのチャネルで次に無線フレームが送信されるまでの空き時間と推定される推定チャネル空き時間Echを算出する。
【００５４】
Ech = ich - dch
つまり、E33は1秒、E34は2秒、E35は2秒、となる。
【００５５】
図7は、図6の例における各チャネルのフレーム受信状況を図示した図である。
【００５６】
なお、Echの算出の際に、チャネルを変更する必要がある場合は、チャネルの変更に要する時間であるチャネル変更遅延時間Ccを考慮しても良い。つまり、チャネルを変更する必要がある場合は、チャネルの変更に要する時間（送信先ノードとチャネルを共有するためのメッセージ送受信に要する時間等）をあらかじめ考慮することで、正確な空き時間Echを求めることができる。また、Echの算出の際に、特定のチャネル（例えば、現在使用中のチャネル）を優先的に使用し続けるための任意の時間であるチャネル変更しきい値時間Ctをさらに考慮しても良い。この場合、Echを算出する式は以下のようにしても良い。
【００５７】
Ech = ich - dch - Cc + Ct
なお、上記の式において、CcおよびCtの値は現在使用中のチャネルか否かで異なる。
【００５８】
例えば、現在使用中のチャネルの場合は、チャネル変更の遅延がないため、Ccは0秒となり、Ctはあらかじめ設定されている値（例えば、5秒）となる。
【００５９】
また、現在使用中ではないチャネルの場合は、そのチャネルは優先するチャネルではないため、Ctは0秒となり、Ccはチャネルの変更に要する遅延時間（例えば、0.5秒）となる。
【００６０】
そのため、上記の式を、現在使用中のチャネルと他のチャネルとに分けると、以下のようになる。
【００６１】
現在使用中のチャネルの場合（Ccは0なので省略できる）：
Ech = ich - dch + Ct
他のチャネルの場合（Ctは0なので省略できる）：
Ech = ich - dch - Cc
ただし、Ctについては、現在使用中のチャネルであるか否かに限らず、特定の複数のチャネルに対して加算することができる。
【００６２】
例えば、現在使用中のチャネルがチャネル33である時に、現在使用中のチャネル33と他のチャネル35とを優先的に使用させたい場合は、チャネル33およびチャネル35にCtを加算することができる。  次に、チャネル選択部104は、送信対象の無線フレームのフレームサイズおよび伝送レートを制御部102から取得し、これらを基に、送信対象の無線フレームを送信するのに必要な時間であるフレーム転送時間Tfを算出する。例えば、伝送レートを10kbpsとし、フレームサイズを500Byteとすると、（500Byte×8）÷10kbpsから、フレーム転送時間Tfは0.4秒と算出される。
【００６３】
最後に、チャネル選択部104は、チャネルが空いているかどうかを、Tf＜Echを満たすかどうかで判断する。つまり、送信対象の無線フレームの送信が完了するまで、無線フレームが送信されないと推測されるチャネルのみが、この式を満たす。
【００６４】
フレーム転送時間Tfを0.4秒とすると、図6および図7の例では、チャネル33、チャネル34、およびチャネル35の3つのチャネルは共にTf＜Echを満たすことがわかる。仮にTfが1秒を上回る場合は、チャネル33はTf＜Echを満たさないため、チャネル34およびチャネル35が最適と判断できる。
【００６５】
最適と判断できるチャネルが複数存在する場合（例えば、複数のチャネルでTf＜Echを満たす場合）は、チャネル選択部104は、以下のいずれかの方法によって単一のチャネルを選択することができる。
・現在時刻から最も空いていると推測される、Echが最も大きいチャネル
・チャネル利用率が小さいと判断される、単位時間当たりのフレーム占有時間が最も小さいチャネル、
・主として短い無線フレームの頻度が多いと判断される、フレーム占有時間の平均を取った値が最も小さいチャネル
・現在使用中のチャネルが含まれている場合にはそのチャネルを優先する
以下に、現在使用中のチャネルを優先する2つの方法を示す。
【００６６】
第1の方法：
最適と判断できるチャネルが複数存在し、その複数のチャネルの中に、現在使用中のチャネルが含まれている場合は、現在使用中のチャネルを使用し続ける。
【００６７】
第2の方法：
最適と判断できるチャネルが複数存在し、その複数のチャネルの中に、現在使用中のチャネルが含まれている場合は、現在使用中のチャネルのEchに対して、上述したチャネル変更しきい値時間Ctを加算したうえでEchが最も大きいチャネルを選択する。
【００６８】
第2の方法の式は、以下のようになる。
【００６９】
Ech`(現在使用中のチャネル) = Ech(現在使用中のチャネル) + Ct
ここで、現在使用中のチャネルを使用し続ける理由としては、チャネル変更の遅延時間を最小とするという目的の他に、次の目的がある。
【００７０】
本発明の方式では、データ通信の度に次々とチャネルを変更することになり、周辺ノードが特定のチャネルを選択してしまうこと、つまり、ある1つのチャネルに集中してしまうことが懸念される。そのため、現在使用中のチャネルを使用し続ける理由としては、特定のチャネルに偏ることを回避するという目的もある。
（2-1-2）分布を利用した方法
次に、分布を利用した方法を説明する。
【００７１】
分布を利用した方法では、チャネル選択部104は、チャネル利用状況取得部103が取得した、無線フレームごとのチャネル番号と到着時刻とを利用して、フレーム送信間隔の分布をチャネルごとに算出する。フレーム送信間隔は、フレーム送信時刻間の時刻差を表す時間間隔である。
【００７２】
具体的には、チャネル選択部104は、チャネルごとに、横軸にフレーム送信間隔を、縦軸にそのフレーム送信間隔で無線フレームが到着した回数をとった分布を作成する。例えば、図6のチャネル33に着目すると、図8のようなフレーム送信間隔の分布が得られる。つまり、図8の分布は、図6のチャネル33では、無線フレームがフレーム送信間隔2秒で4回到着したことを示している。図8の例では、フレーム送信間隔の回数分布が少ないが、多くの時間をかけてフレーム送信間隔の回数分布を増やすことで、図9のような分布図が得られる。なお、図8の例では、フレーム送信間隔を1秒単位で丸めているが、図9の例では、1秒よりも小さい単位で丸めている。本発明では、フレーム送信間隔を丸める単位は限定されない。
【００７３】
チャネル選択部104は、フレーム送信間隔の分布を、フレーム転送時間Tfの無線フレームを送信する際に、Tfの時間間隔が空いているかどうかの確率分布として利用する。
【００７４】
図10を使用して、フレーム送信間隔の分布の使い方を説明する。
【００７５】
例えば、送信対象の無線フレームのフレーム転送時間Tf（点線で示す）が2秒とする。この場合、分布の全面積に占める2秒以上の分布の面積の割合（斜線部の面積÷分布の全面積）を、そのチャネルがフレーム転送時間Tf以上空いている確率とする。
【００７６】
図10において、チャネル33は50%、チャネル34は98%、チャネル35は100%、となる。そのため、Tfが2秒の場合は、Tfの時間間隔が空いている確率が最も高いチャネル35を利用するのが最適と判断できる。
【００７７】
最適と判断できるチャネルが複数存在する場合（例えば、複数のチャネルで最も高い確率を示す場合）は、チャネル選択部104は、以下のいずれかの方法によって単一のチャネルを選択することができる。
・チャネル利用率が小さいと判断される、単位時間当たりのフレーム占有時間が最も小さいチャネル
・主として短い無線フレームの頻度が多いと判断される、フレーム占有時間の平均を取った値が最も小さいチャネル
・現在使用中のチャネルが含まれている場合にはそのチャネルを優先する
なお、現在使用中のチャネルを優先する方法には、（2-1-1）で述べた2つの方法がある。
（2-1-3）平均と分布とを組み合わせた方法
最後に、平均と分布とを組み合わせた方法を説明する。
【００７８】
チャネル選択部104は、平均を利用した方法と分布を利用した方法とを、以下のように、直列または並列に組み合わせることによって単一のチャネルを選択することができる。
・平均を利用して複数のチャネルを選択し、選択した複数のチャネルの中から分布を利用して単一のチャネルを選択する方法
・これとは逆に、分布を利用して複数のチャネルを選択し、選択した複数のチャネルの中から平均を利用して単一のチャネルを選択する方法
・双方の方法で各チャネルに重み付けを行い、重み付けした結果を用いて（例えば、各チャネルについて、双方の方法の重み値を加算）、単一のチャネルを選択する方法
これにより、直近のフレーム送信時刻を考慮するという特徴を持つ平均を利用した方法と、フレーム送信間隔にばらつきがあっても空きチャネルを選択可能であるという特徴を持つ分布を利用した方法と、の双方の特徴を得たチャネルを選択することができる。
【００７９】
最も好適な方法は、分布を利用した方法で一定以上の確率（例えば、80%以上）を持つチャネルを絞り込み、絞り込んだチャネルの中から平均を利用した方法で単一のチャネルを選択するという方法である。この方法では、フレーム送信間隔のばらつきと直近のフレーム送信時刻との双方を考慮することができる。
（2-2）ホップ数の推定処理
ステップS2のホップ数の推定処理は、無線フレームの送信先ノードが隣接ノードではなく、マルチホップ転送が必要な1ホップ以上先のノードである場合に実行される処理であり、制御部102で実行される。
【００８０】
制御部102は、ステップS1でチャネル選択部104によって選択されたチャネルを利用して、マルチホップ転送のホップ数を推定する。
【００８１】
ただし、ステップS1でチャネルを選択する際に、平均を利用した方法または分布を利用した方法のどちらを使用したかに応じて、ホップ数の推定方法が異なる。以下、各々の方法について説明する。
（2-2-1）平均を利用した方法を使用した場合
平均を利用した方法の場合は、制御部102は、ステップS1で選択されたチャネルの推定チャネル空き時間Echを使用して、無線フレームをマルチホップ転送する場合のホップ数と推定される推定ホップ数を算出する。
【００８２】
具体的には、制御部102は、推定チャネル空き時間Echを、送信対象の無線フレームのフレーム転送時間Tfで除算することで、推定ホップ数Haveを算出する。この場合の式は以下となる。
【００８３】
Have ＝ Ech ÷ Tf
なお、上記の式の結果が小数を含む場合は、小数点以下を四捨五入、または切り捨て等して、Haveを整数化すれば良い。
（2-2-2）分布を利用した方法を使用した場合
分布を利用した方法の場合は、制御部102は、ステップS1で選択されたチャネルのフレーム送信間隔の分布を使用して、無線フレームをマルチホップ転送する場合のホップ数と推定される推定ホップ数を算出する。
【００８４】
具体的には、制御部102は、フレーム送信間隔の分布の全面積を二等分する（または分布の確率を半々とする）フレーム送信間隔tbを算出する。
【００８５】
例えば、図11のようなフレーム送信間隔の分布の場合、分布の全面積を二等分する（または分布の確率を0.5：0.5（つまり半々）とする）フレーム送信間隔tbは3秒となる。
【００８６】
制御部102は、上記で算出したフレーム送信間隔tbを、送信対象の無線フレームのフレーム転送時間Tfで除算し、これに1を加算することで、推定ホップ数Hdistを求める。この場合の式は以下となる。
【００８７】
Hdist ＝ 1 ＋ （tb ÷ Tf）
なお、上記の式の結果が小数を含む場合は、小数点以下を四捨五入、または切り捨て等して、Hdistを整数化すれば良い。
【００８８】
また、ステップS1でチャネルを選択する際に、平均と分布とを組み合わせた方法を使用した場合は、（2-2-1）または（2-2-2）のどちらの方法を使用して、ホップ数を推定しても良い。
（2-3）チャネル割り当て処理
ステップS3のチャネル割り当て処理は、無線フレームの送信先ノードと通信を行うためのチャネルとして、ステップS1でチャネル選択部104によって選択されたチャネルを割り当てるための処理であり、制御部102で実行される。
【００８９】
制御部102は、送信先ノードに対し、これまで使用していたチャネルを利用して、ステップS1で選択されたチャネルに変更するための要求を行う。
【００９０】
例えば、制御部102は、チャネル変更要求メッセージを利用して、送信先ノードへチャネル変更を要求し、送信先ノードは、チャネル変更要求メッセージに対してチャネル変更応答メッセージで応答することによって、チャネルの変更処理が行われる。これらメッセージのやり取りは、以前に使用していたチャネルを利用して実現される。なお、特別なチャネル（管理用チャネルまたは制御用チャネル）を利用して、チャネル変更要求／応答メッセージのやり取りを行うっても良い。
【００９１】
また、制御部102は、送信先ノードを起床させるためのウェイクアップ信号に、チャネル変更要求メッセージを含めることによって、送信先ノードの起床とチャネル変更の要求を同時に行うこともできる。
（2-4）通信開始処理
ステップS4の通信開始処理は、制御部102で実行される。
【００９２】
これまでの処理によって、最適なチャネルで送信先ノードとの通信が可能となり、無線フレームの送信を開始することができる。
【００９３】
ここで、送信先ノードが隣接ノードではない場合、まだ使用していない、ステップS2で推定されたホップ数（HaveまたはHdist）を使用する。
【００９４】
まず、制御部102は、送信対象の無線フレームに対して、使用するチャネルのチャネル番号およびホップ数（HaveまたはHdist）を付加する。例えば、制御部102は、無線フレームのヘッダ部またはペイロード部にチャネル番号およびホップ数のフィールドを定義し、このフィールドにチャネル番号およびホップ数を付加する。
【００９５】
なお、制御部102は、チャネル番号およびホップ数に有効な値（ホップ数の有効な値は0でない値）が付加された無線フレームを他ノードから受信した場合には、その無線フレームを転送する際に、その無線フレームに付加されているホップ数を減算する。
【００９６】
その結果、無線フレームに付加されているホップ数が0にならない場合には、制御部102は、その無線フレームに付加されているホップ数を減算後のホップ数で更新し、その無線フレームに付加されているチャネル番号のチャネルで、その無線フレームを転送する。
【００９７】
一方、無線フレームに付加されているホップ数が0となった場合には、制御部102は、その無線フレームを転送する際に、ステップS1から処理を開始し、最適なチャネルを選択する。つまり、あるノードでホップ数を減算した結果、ホップ数が0となった場合には、そのノードにチャネルの選択を任せるという動作となる。例えば、図12に示すように、ホップするごとにホップ数を減算し、ホップ数が0となったノード（図12の右から2番目のノード）が新たにチャネルを選択する。
【００９８】
これにより、無線フレームをマルチホップ転送する際に、最適なチャネルをホップ数が0になるまで複数ホップで使用し続けることができるため、チャネルの変更頻度を低減させることができ、チャネル変更による遅延時間を短くことができる。
【００９９】
また、制御部102は、チャネル番号もしくはホップ数に無効な値（ホップ数の無効な値は0）が付加されている無線フレーム、または、フィールド自体が存在しない無線フレームを他ノードから受信した場合には、上記と同様に、その無線フレームを転送する際に、ステップS1から処理を開始し、最適なチャネルを選択する。このとき、フィールド自体が存在しない場合は、制御部102は、無線フレームに新たにフィールドを定義する。
【０１００】
なお、制御部102は、チャネル番号とホップ数に有効な値が付加された無線フレームを他ノードから受信した場合、即座にホップ数を減算するのではなく、ステップS1で最適なチャネルを選択し、ステップS2でホップ数を推定しても良い。
【０１０１】
そして、制御部102は、自ノードで推定したホップ数が、他ノードから受信した無線フレームに付加されたホップ数よりも多い場合、自ノードで選択したチャネルに変更し、自ノードで推定したホップ数を付加しても良い。この場合、自ノードで推定したホップ数が少ないまたは同数であるときには、制御部102は、他ノードから受信した無線フレームに付加されたホップ数を減算することになる。
【０１０２】
例えば、他ノードから受信した無線フレームに付加されたホップ数が2であり、自ノードで推定したホップ数が3であった場合は、ホップ数の減算をせずに、自ノードで選択したチャネルに変更して、ホップ数を3として無線フレームを送信することができる。
【０１０３】
また、ホップ数に上限を設けることも可能である。各ノードは、自ノードの隣接ノードのチャネルの利用状況までは把握していないため、各ノードが自律的にチャネルを選択した方が良い場合があるためである。
【０１０４】
以上で無線フレームの送信処理を終了する。
（3）本実施形態の効果
上述したように本実施形態においては、ノードは、詳細なチャネルの利用状況（自ノードに到着した無線フレームごとに、その無線フレームが使用したチャネルのチャネル番号と、その無線フレームの到着時刻およびフレーム長と、を表すもの）を基に、無線フレームの送信に使用するチャネルを選択する。
【０１０５】
そのため、無線フレームの衝突確率が最も低いチャネル、すなわち、送信先ノードに無線フレームが到達するまでの到達遅延時間が最も短いチャネルを選択することができるという効果が得られる。
【０１０６】
また、本実施形態においては、ノードは、無線フレームをマルチホップ転送する場合、ホップ数を推定し、推定したホップ数と、上記で選択したチャネルのチャネル番号と、を無線フレームに付加する。この無線フレームを受信したノードは、無線フレームに付加されたホップ数を減算し、ホップ数が０にならなければ、無線フレームにチャネル番号が付加されたチャネルで無線フレームを転送する。つまり、無線センサーネットワークシステムを構成する複数のノードは、無線フレームにチャネル番号が付加されたチャネルを、ホップ数が0になるまで複数ホップで使用し続ける。
【０１０７】
そのため、無線フレームをマルチホップ転送する際に、次ノードに対して最適なチャネルを指定することができるため、無線フレームの効率的なマルチホップ転送が可能となるという効果が得られる。また、その最適なチャネルをホップ数が0になるまで使用し続けることで、チャネルの変更頻度を低減させることができ、チャネル変更による遅延時間を短くことができるという効果が得られる。これらのことも、送信先ノードに無線フレームが到達するまでの到達遅延時間を最も短くすることに寄与し得る。
（4）本実施形態の具体例
以下、本実施形態の具体例について説明する。
（4-1）具体例1
本具体例は、本実施形態の無線センサーネットワークシステムを電力使用量データの収集に適用した例である。
【０１０８】
図13は、本具体例の無線センサーネットワークシステムの構成を示す図である。
【０１０９】
図13に示した無線センサーネットワークシステムは、無線センサーノードとして、家に設置されたスマートメーター100A〜100Cを設け、シンクノードとして、ハンディ端末200Aを設け、ハンディ端末200Aが、スマートメーター100A〜100Cから電力使用量データを収集する例である。
【０１１０】
本具体例では、チャネル利用状況取得部103およびチャネル選択部104は、ハンディ端末200Aのみが有していれば良い。
【０１１１】
ハンディ端末200Aは、チャネル利用状況取得部103とチャネル選択部104の機能を利用して、スマートメーター100A〜100C間のネットワークに影響を与えないチャネルを選択して電力使用量データを収集することができる。
【０１１２】
具体的には、ハンディ端末200Aは、チャネル利用状況取得部103の機能を利用して、スマートメーター100A〜100C間のネットワークで使用しているチャネルを把握することができる。
【０１１３】
また、ハンディ端末200Aは、チャネル選択部104の機能を利用して、スマートメーター100A〜100C間で使用しているチャネル以外のチャネルを選択したり、スマートメーター100A〜100C間で使用しているチャネルが利用されていない期間（空き時間）にそのチャネルを選択したりすることができる。
【０１１４】
これにより、ハンディ端末200Aは、スマートメーター100A〜100C間のネットワークに影響を与えずに電力使用量データを収集することができる。
【０１１５】
なお、本具体例は、図5の動作とは異なり、ハンディ端末200Aが無線フレーム（電力使用量データ）を受信する場合の動作となる。この場合、ハンディ端末200Aは、電力使用量データを収集する際に、スマートメーター100A〜100Cに対し、チャネル変更を要求すると共に、電力使用量データの送信を要求すれば良い。
（4-2）具体例2
本具体例は、本実施形態の無線センサーネットワークシステムを車車間通信に適用した例である。
【０１１６】
図14は、本具体例の無線センサーネットワークシステムの構成を示す図である。
【０１１７】
図14に示した無線センサーネットワークシステムは、無線センサーノードとして、車100D〜100Gに搭載された無線通信機を設け、シンクノードとして、信号機200Bに搭載された無線通信機を設けた例である。
【０１１８】
本具体例では、チャネル利用状況取得部103およびチャネル選択部104は、車100D〜100Gに搭載された無線通信機、および、信号機200Bに搭載された無線通信機の双方が有している。
【０１１９】
したがって、車100D〜100Gに搭載された各無線通信機は、チャネル利用状況取得部103の機能を利用して、チャネルごとの利用状況を把握することができるため、チャネル選択部104の機能を利用して、最適なチャネルを選択することができる。これにより、無線フレームの衝突を抑制した品質の高い車車間通信を実施することができる。
【０１２０】
また、信号機200Bに搭載された無線通信機も、チャネル利用状況取得部103の機能を利用して、車100D〜100Gに搭載された無線通信機から無線フレームを受信することで、車車間通信で使用しているチャネルを把握することができる。そのため、信号機200Bに搭載された無線通信機が、チャネル選択部104の機能を利用して、新たに発生する車車間通信に使用するチャネルを選択することもできる。
（5）他の実施形態
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明の範囲内で当業者が理解し得る様々な変更をすることができる。
【０１２１】
つまり、本発明は、全てのノードがチャネル利用状況取得部103およびチャネル選択部104を有する構成でも良いし、そのうちの1つ以上のノードのみがチャネル利用状況取得部103およびチャネル選択部104を有する構成でも良い。ただし、マルチホップ転送を行う可能性があるトポロジの場合は、無線フレームを中継するノードが最適なチャネルを新たに選択する必要があるため、全てのノードがチャネル利用状況取得部103およびチャネル選択部104を有することが好ましい。
【０１２２】
また、本発明は、各ノードが、センサー105およびデータベース205を有し、自ノードでセンシングしたセンサーデータを互いに通知し、他ノードのセンサーデータを記録する構成でも良い。
【０１２３】
また、本発明は、無線フレームの送信時のチャネルの選択に限らず、センサーデータの収集等のために、無線フレームの受信時のチャネルの選択に適用しても良い。
【０１２４】
また、上記実施形態では、到着時刻や送信時刻等で「時刻」という単語を使用している。しかし、時計を持っていないノードの場合は、自ノードが起動してからカウントしている数（相対時間）等を到着時間や送信時間として利用する場合がある。そのため、本発明では、上記実施形態で使用していた「時刻」、「時刻差」という単語の代わりに、「タイミング」、「タイミング差」という単語を使用しても良い。
（6）本発明の概要
図15は、本発明のノード300の概略構成を示すブロック図である。
【０１２５】
図15に示すように、本発明のノード300は、チャネル利用状況取得部301と、チャネル選択部302と、を有している。
【０１２６】
チャネル利用状況取得部301は、詳細なチャネルの利用状況の情報を取得する。
【０１２７】
具体的には、チャネル利用状況取得部301は、自ノードに到着した無線フレームごとに、その無線フレームが使用したチャネルのチャネル番号の情報と、その無線フレームの到着タイミングおよびフレーム長の情報と、を取得する。
【０１２８】
チャネル選択部302は、チャネル利用状況取得部301が取得した情報を基に、送信対象の無線フレームの送信に使用するチャネルを選択する。なお、チャネル選択部302は、チャネルの選択に際して、チャネル利用状況取得部301が取得した情報を全て使用する必要はなく、これら情報を選択的に使用して良い。
【０１２９】
上述したように本発明のノード300においては、詳細なチャネルの利用状況（自ノードに到着した無線フレームごとに、その無線フレームが使用したチャネルのチャネル番号と、その無線フレームの到着タイミングおよびフレーム長と、を表すもの）を基に、無線フレームの送信に使用するチャネルを選択する。
【０１３０】
そのため、無線フレームの衝突確率が最も低いチャネル、すなわち、送信先ノードに無線フレームが到達するまでの到達遅延時間が最も短いチャネルを選択することができるという効果が得られる。
【０１３１】
なお、チャネル選択部302は、上述した（2-1-1）、（2-1-2）、または（2-1-3）のいずれかの方法を使用して、チャネルを選択して良い。
【０１３２】
また、ノード300は、無線フレームをマルチホップ転送する場合のホップ数を推定する制御部をさらに有していても良い。また、この制御部は、上述した（2-2-1）または（2-2-2）のいずれかの方法を使用して、ホップ数を推定して良い。また、この制御部は、上述した（2-3）の方法を使用して、無線フレームの送信に使用するチャネルを割り当てて良く、また、上述した（2-4）の方法を使用して、通信を開始して良い。
【産業上の利用可能性】
【０１３３】
本発明は、チャネルの利用状況が時間や場所によって変化する、移動体による無線通信システムにおいて、無線フレームの衝突の回避という目的のために利用することができる。より具体的には、本発明は、環境計測を行う無線センサーネットワーク、環境計測だけでなく制御も行う無線センサーアクチュエーターネットワーク、およびスマートメーター間を無線接続するスマートメーターネットワーク等が適用範囲である。
【０１３４】
また、本発明は、無線センサーネットワークにおいて、最適なチャネルを選択するのに限らず、無線LAN（Local Area Network）において、最適なチャネルを選択する場合にも適用することができる。例えば、本発明を無線LANアクセスポイントに適用すれば、無線フレームの衝突が少ないチャネルを無線LAN端末に割り当てることが可能となる。
【符号の説明】
【０１３５】
10A〜10W    無線センサーノード
20    シンクノード
101    無線通信部
102    制御部
103    チャネル利用状況取得部
104    チャネル選択部
105    センサー
205    データベース
100A〜100C    スマートメーター
200A    ハンディ端末
100D〜100G    車
200B    信号機
300    ノード
301    チャネル利用状況取得部
302    チャネル選択部
【図１】
2015149696.tif 000003
【図２】
2015149696.tif 000004
【図３】
2015149696.tif 000005
【図４】
2015149696.tif 000006
【図５】
2015149696.tif 000007
【図６】
2015149696.tif 000008
【図１０】
2015149696.tif 000009
【図１４】
2015149696.tif 000010
【図１５】
2015149696.tif 000011
【図７】
2015149696.tif 000012
【図８】
2015149696.tif 000013
【図９】
2015149696.tif 000014
【図１１】
2015149696.tif 000015
【図１２】
2015149696.tif 000016
【図１３】
2015149696.tif 000017
【図１６】
2015149696.tif 000018
【図１７】
2015149696.tif 000019