説明

無線通信ポーリングシステム

【課題】子ノードのルーティングテーブルの容量を最小限に抑え、子ノードからのイベント通信、親ノードからのポーリング通信等を可能とする無線通信システムを提供する。
【解決手段】子ノードは、親ノードまでのルーティングテーブル情報を構築し、ルーティングテーブル情報を自ノード内の記憶部に格納すると共に親ノードにも通知する。子ノードで発生したイベントは、自ノード内のルーティングテーブル情報を元にして親ノードまで送信される。親ノードは、全子ノードからのルーティングテーブル情報を収集することにより、子ノードへポーリングするための通信経路を決定し、子ノードへの個別通信を確立する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の子ノードと、各子ノードが取得した情報を収集する親ノードと、を含む無線通信ポーリングシステムに関し、特に、親ノードに対して直接又は他の子ノードによる中継によって通信を確立する無線通信ポーリングシステムに関する。
【背景技術】
【0002】
近年、無線通信ネットワークを応用したユビキタスネットワーク技術やその技術を利用したアプリケーションに関する研究開発が進められている。例えば、総務省の「ユビキタスセンサーネットワーク技術に関する調査研究会」の最終報告書では、ユビキタスセンサーネットワークの将来利用イメージの一つとして、防災・災害対策分野への利用が提案されている。この防災・災害対策分野への利用では、大地震等が発生した被災地の状況を迅速に把握できるユビキタスネットワークシステム(以下、「防災ネットワークシステム」と呼ぶ)を想定している(非特許文献1)。
【0003】
上述した「防災ネットワークシステム」の具体例としては、被災地の各種情報(温度、ガス、化学物質、傾斜角、地震波形等)を収集するためのセンサが内蔵された複数の子ノードを被災地に設置し、各々の子ノード及び各子ノードのセンサデータを収集する親ノードが自律的に無線ネットワークを構築するとともに、親ノードが被災地の状況を監視する監視センターに各子ノードのセンサデータを逐次送信するシステムが考えられる。
【0004】
「防災ネットワークシステム」における子ノードは、電池駆動とするため送信パワーを押さえた短距離無線方式が用いられ、コストダウンと長時間動作を可能にするため小型のマイクロコンピュータと少量のRAMとROMで構成する必要がある。各子ノードは、測定したセンサデータを親ノードに逐次送信するが、親ノードに直接センサデータを送信できない場合は、他の子ノードを中継ノードにして、かつ、効率の良い中継経路でセンサデータを送信する必要がある。さらには、人命や財産の保護そして被災地の迅速な復旧に係るために、通信の信頼性が要求され、中継ノードが故障しても、他の子ノードは通信を途絶えることなく、迂回の中継経路を利用して、親ノードにセンサデータを送信するいわゆる自律型無線ネットワークを構成する必要がある。
【0005】
また、特許文献1には、中継経路を家庭内に分散配置されているワイヤレスリモコン群と冷房機や給湯機との通信をする際に、各ワイヤレスリモコンを中継機として利用することにより安定した通信を実現する技術が開示されている。
【0006】
前述した「防災ネットワークシステム」に利用できる低消費電流化が可能な無線方式としてZigBee(登録商標)がある。ZigBee(登録商標)の通信距離は通常10m〜70m程度で、通信速度は250kbpsである。ZigBee(登録商標)では、自律型無線ネットワーク方式としてAODV(Ad−hoc On−Demand Distance Vector Routing)と呼ばれる通信プロトコルを採用しており、広範囲のデータ転送を可能にしている(非特許文献2)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2003−23679号公報
【特許文献2】特開2009−4975号公報
【非特許文献】
【0008】
【非特許文献1】「ユビキタスセンサーネットワーク技術に関する調査研究会」最終報告書,http://www.soumu.go.jp/s-news/2004/pdf/040806#4#b1.pdf
【非特許文献2】AODV(Ad−hoc On−Demand Distance Vector Routing):RFC3561
【発明の概要】
【発明が解決しようとする課題】
【0009】
図19は、AODVプロトコルによるルート探索の模式図である。AODVでは送信元ノード(S)が送信先ノード(D)までの通信経路を探索する場合、図19(A)に示すように送信元ノード(S)は、RREQ(Route Request)パケットを隣接ノード(A,C)に向けてブロードキャスト(これを「フラッティング」と呼ぶ)する。RREQパケットを受信した隣接ノード(A,C)はさらに、RREQパケットをフラッティングで転送し、以後、送信先ノード(D)が発見されるまでRREQパケットの転送が繰り返される。
【0010】
図19(B)に示すように、送信先ノード(D)がRREQパケットを受信すると、送信元ノード(S)にRREQパケットを返す。このとき、各中継ノードはこの一連のパケットの送受信の中でルーティングテーブルを形成する。そして、以後、中継ノードの稼働状況に変化がなければ各ノードは自ノードのルーティングテーブルを利用して送信元ノード(S)と送信先ノード(D)の間でデータパケットの送受信が行われる。ここで、もし、中継ノードの稼働状況が変化し、特定のノードが移動あるいは故障した場合等は、送信元ノード(S)あるいは中継ノードは、経路探索のためにパケットを再度フラッティングして送信先の経路を探索することになる。しかしながら、この処理は、経路探索には良い手法であるが、あるノードが移動あるいは故障したことを直接的に判断しにくい。
【0011】
図20は特許文献1のシステムにおいて実行された経路探索一例を示している。ここで、リモコンAから冷房機(H)のノードと通信するためには、「A−B−G−H」,「A−F−G−H」等のルーティングテーブルが必要であり、各ノード毎にルーティングテーブルを備える必要がある。また、そのルーティングテーブル情報のやり取りは、各ノード間でそれぞれ行う必要があり、各ノード間の送受信時間が増加して輻輳が発生する場合がある。
【0012】
特許文献1のように数十台程度のネットワークでは問題は発生しにくいが、防災ネットワークシステムのように100〜1000程度の子ノードを設ける場合では、ネットワークの輻輳が問題となる。また、子ノードから親ノードまでのルーティングテーブルのデータ量でマイクロコンピュータのRAM領域が占領されてしまう場合があり、測定データの記憶領域が圧迫されるなどの問題があった。このような問題を解決するため、出願人は特許文献2に示すように、子ノードのルーティングテーブルのデータ量を圧縮することのできるシステムを開発した。しかしながら、特許文献2のシステムでは、親ノードが各子ノードのルーティングテーブルを持たないことから、親ノードから子ノードに対して直接ポーリングすることができない。
【0013】
そこで、本発明では、低速な無線通信であっても自律型ネットワーク化が可能で、従来よりも簡単なプロトコルで信頼性を確保でき、さらには、子ノードのルーティングテーブルの容量を最小限に抑えると共に、移動や故障した子ノードを判別し易く、子ノードからのイベント通信、親ノードからのポーリング通信等を可能とする無線通信システムを提供することを目的とする。
【課題を解決するための手段】
【0014】
以上のような目的を達成するために、本発明に係る無線通信ポーリングシステムは、複数の子ノードと、各子ノードが取得した情報を収集する親ノードと、を含み、子ノードと親ノードが、直接又は他の子ノードによる中継によって通信を確立する無線通信ポーリングシステムにおいて、子ノードは、無線接続可能な範囲にある他の子ノードが親ノードまでの中継を行うものであるか否かを判定し、中継する場合には、少なくとも無線接続可能な範囲の子ノードから親ノードまでの中継回数及び子ノードの識別符号と、無線接続可能な子ノードからの受信レベルと、を含むテーブル情報を記憶するテーブル情報格納メモリと、複数の子ノードを介して接続されるネットワークが構築された後に、少なくともテーブル情報に変更が発生した場合、テーブル情報を親ノードに送信するテーブル情報送信手段と、を有し、親ノードは、各子ノードから送信されたテーブル情報に基づいて子ノードの位置関係を決定する位置決定手段と、子ノードまでの中継回数の最も少ない中継経路を決定して、子ノードにポーリング情報を送信して子ノードの記憶手段に記憶された情報を送信させるポーリング応答手段と、を有することを特徴とする。
【0015】
また、本発明に係る無線ポーリングシステムにおいて、中継経路中の子ノードは、その中継先となる他の子ノードからポーリング情報が送信されない場合は、親ノードに中継不能情報を含むポーリング応答を送信し、親ノードは、中継不能となった他の子ノードの識別符号と位置とを記憶し、中継先となる他の子ノードを除いた中継回数の最も少ない中継経路を決定して、中継経路中の子ノードにポーリング情報を送信することを特徴とする。
【0016】
また、本発明に係る無線通信ポーリングシステムにおいて、ポーリング情報を送信する親ノードは、中継回数が同じ回数の子ノードが複数ある場合には、より良好な無線通信が確保できる中継経路中の子ノードに対してポーリング情報を送信することを特徴とする。
【発明の効果】
【0017】
本発明に係る無線通信ポーリングシステムを用いることにより、低速な無線通信であっても自律型ネットワーク化が可能で、従来よりも簡単なプロトコルで信頼性を確保できる無線通信ポーリングシステムを実現することが可能となる。また、本無線通信ポーリングシステムにより、子ノードのルーティングテーブルの容量を最小限に抑えると共に、移動や故障した子ノードを判別し易く、子ノードからのイベント通信、親ノードからのポーリング通信等を容易にするという効果がある。
【図面の簡単な説明】
【0018】
【図1】本発明の実施形態に係る無線通信ポーリングシステムの全体構成を示す構成図である。
【図2】本実施形態に係る親ノードの構成を示す構成図である。
【図3】本実施形態に係る子ノードの構成を示す構成図である。
【図4】本実施形態に係る無線パケットのフォーマット構成を示すフォーマット図である。
【図5】本実施形態に係る無線パケット種別の構成を示す種別図である。
【図6】本実施形態に係る子ノードの無線通信処理メインルーチンの流れを示すフローチャート図である。
【図7】子ノードの無線通信における次段中継ノード応答パケット送信サブルーチンの処理の流れを示すフローチャート図である。
【図8】子ノードの無線通信における次段中継ノード決定サブルーチンの処理の流れを示すフローチャート図である。
【図9】子ノードの無線通信における次段中継ノード更新サブルーチンの処理の流れを示すフローチャート図である。
【図10】子ノードの無線通信におけるパケット中継送信サブルーチンの処理の流れを示すフローチャート図である。
【図11】本実施形態に係るAグループにより子ノードに記憶されたルーティングテーブルを示すテーブル図である。
【図12】本実施形態に係るBグループにより子ノードに記憶されたルーティングテーブルを示すテーブル図である。
【図13】本実施形態に係るCグループにより子ノードに記憶されたルーティングテーブルを示すテーブル図である。
【図14】本実施形態に係るDグループにより子ノードに記憶されたルーティングテーブルを示すテーブル図である。
【図15】本実施形態に係る監視センターから子ノードにコマンドを送信する処理の説明図である。
【図16】本実施形態に係る監視センターから子ノードに別経路によりコマンドを送信する処理の説明図である。
【図17】本実施形態に係る子ノードの近接ノード決定処理の流れを示すフローチャート図である。
【図18】子ノードの無線通信における近接ノード決定サブルーチンの処理の流れを示すフローチャート図である。
【図19】AODVプロトコルによるルート探索の模式図である。
【図20】従来システムにおいて実行された経路探索一例を示した模式図である。
【発明を実施するための形態】
【0019】
以下、本発明を実施するための最良の形態(以下実施形態という)を、図面に従って説明する。
【0020】
図1は無線通信ポーリングシステム1の全体構成を示している。無線通信ポーリングシステム1には、各種情報を取得する子ノード100−1〜100−15と、各子ノードが取得した情報を収集する親ノード300と、を備えており、公衆回線網500を介して監視センター700に接続されている。ここで、子ノード100−1〜100−15、親ノード300及び公衆回線網500を接続する破線は無線回線であり、公衆回線網500及び監視センター700を接続する実線は有線回線であっても無線回線であってもよい。子ノード100間の接続関係は実線の矢印で示し、各ノードはAグループからDグループの4区分に便宜上分けて示している。
【0021】
動作の概要は、図1の無線通信ポーリングシステム1において、各子ノード100は親ノード300までの中継回数が最も少ない他の子ノード100に情報を送信した後、所定時間中継先となる他の子ノードからの情報が送信されているかを傍受する。その中継先となる他の子ノードから情報が送信されていないときは、ルーティングテーブルに基づいて中継先となる子ノードの候補の中から親ノードまでの中継回数が次に少ない他の子ノードに切り替えて情報を送信する。
【0022】
図2は親ノード300の構成を示している。親ノード300は、子ノードと通信するための子ノード用通信部10と、公衆回線網500に接続するための外部ネットワーク接続部24と、を備えている。子ノード用通信部10は、子ノードと無線通信するために、送受信アンテナ11と、送信部12と、受信部13と、制御部14と、記憶部16と、表示部15と、電源17と、を有している。子ノード用通信部10は、例えば、特定小電力無線規格(「ATRIB STD−T67]、一例として、送受信周波数429MHz帯、空中線電力10mW、通信速度4800bps、無線エリア半径約100〜300m)に準拠し、受信部13にて検出した電界強度を制御部14が監視している。また、外部ネットワーク接続部24を介して、公衆回線に接続可能であり、制御用のパーソナルコンピュータ26にUSB回線やRS−232C回線にて接続可能であると共に、通信キャリアと接続する無線通信用の送信部22,受信部23,送受信アンテナ21等を有している。
【0023】
図3は子ノード100の構成を示している。子ノード100は、親ノード用通信部30と、特定小電力無線規格に準拠し、親ノード又は親ノードと無線通信可能な他の子ノード100を中継して通信するために、送受信アンテナ31と、送信部32と、受信部33と、制御部34と、記憶部36と、表示部35と、太陽電池52により充電可能な二次電池37と、を有している。
【0024】
また、子ノード100が配置された場所の様々な情報を取得するため、周辺機器として、ON/OFF信号を検出するスイッチ入力部50と、温度,ガス,化学物質,水位,傾斜角又は地震波形等を測定するセンサ51と、A/D変換部38と、二次電池37を充電すると共に、日照により発電をする太陽電池52と、を有している。また、子ノード100は、子ノード100の場所を特定し易くするため、光や音を発する警報器39(回転等、ライト又はスピーカ等)を有している。なお、太陽電池52は、二次電池の充電を行うと共に、日照センサとしても機能する。
【0025】
図1の無線通信ポーリングシステム1における子ノード100は、センサ情報を定期的に取得し、親ノード300に向けてイベントシグナルを送信する。イベントシグナルを受信した親ノード300は、監視センター700にイベントシグナルを送信することによりセンサ情報を伝達する。例えば、「河川水位監視システム」として無線通信ポーリングシステム1を使用する場合には、子ノード100に降雨センサと水位計とを接続し、監視センター700にて河川上流に設置した子ノード100のイベントシグナルを受信し、水位の上昇に関する注意を促す必要がある場合には、監視センター700から河川下流に設置した子ノード100の警報器を作動させる等の利用が可能である。なお、局地的な降雨の場合には、子ノード100からの水位情報を元に、監視センター700にて水位の閾値を定め、閾値を越えた地域より下流側の子ノード100の警報器を作動させる等の処理を行うことも可能となる。
【0026】
図4は無線パケットのフォーマット構成を示している。無線パケットは、大きく分けてヘッダ部41と、データ部42と、誤り検出符号43で構成されている。ヘッダ部41は、無線パケットを中継送信するためのルート情報を有する部分であり、データ部42は測定した温度情報や親ノード300までの中継回数などのデータを有する無線パケットである。また、誤り検出符号43は、ヘッダ部41のシステム識別符号からデータ部42の終端までのデータを無線送信した際に、電波障害などによりデータに誤りが発生したかどうかを検出するための誤り検出情報である。
【0027】
図4のヘッダ部41には、第1番目のビット同期から第19番目のN段目中継ノード識別子までの情報を含んでいる。最初に、第1番目のビット同期は受信側で送信側のビットタイミング同期を取るための41ビット信号「01010101,01010101,01010101,01010101,01010101,0」であり、第2番目のフレーム同期は受信側で無線パケットフォーマット位置を認識するための31ビット信号「11100100,01010111,10110100,1100000」である。
【0028】
第3番目のシステム識別子は無線パケットの送受信を行う親ノード300、子ノード100(図1の100−1〜100−15)を特定するための識別子であり、子ノードは、自ノードに予め設定されている識別子と異なるシステム識別子の無線パケットの電文(第8番目の電文種別)を受信しても、その電文は処理しない。
【0029】
第4番目の中継先識別子は、無線パケットを受信すべき親ノード300又は子ノード100の識別子を表し、中継先識別子の8ビットがオールビットオン(FFH:ブロードキャスト)であれば、どのノードでも受信すべき無線パケットとなる。
【0030】
第5番目の中継元識別子は無線パケットを実際に送信した親ノード300,子ノード100の識別子を表している。第8番目の送信先識別子は無線パケットを最終的に受信すべき最終端の親ノード300、又は子ノード100の識別子を表し、第4番目の中継先識別子がブロードキャストとなった場合には、第13番目から第19番目の通信経路45は付加しない。
【0031】
第6番目の連送カウンタは、子ノード100が低消費電流化を図るために間欠受信動作している場合に利用するカウンタである。例えば、子ノード100が低消費電流化を図るために間欠受信周期5秒で動作しているケースを例にして述べる。子ノード100は5秒周期で受信部を起動し、また、制御部を低消費電流モードから通常モードに移行させた後、キャリアセンスにより受信部からのキャリアセンス信号を監視して受信できる無線パケットがあるかを判定する。もし、受信できる無線パケットが無ければ受信部を停止させ、制御部を低消費電流モードに戻す。また、キャリアセンスにより受信できる無線パケットがあると判断したならば、無線パケットの受信を開始する。このとき、無線パケットの連続送信終了を連送カウンタがゼロになることで判断することになる。なお、無線パケットを送信する親ノード300や他の子ノード100は、間欠受信周期よりも長い周期、無線パケットを繰り返し連続送信する必要がある。このとき、連送カウンタには残りの送信回数が入る。
【0032】
第7番目の生存カウンタは、万が一、無線ネットワーク上でパケット間をループしてしまった場合に、そのようなパケットを消滅させるためのカウンタである。生存カウンタを用いることにより、例えば、子ノード100がイベント通知パケットを送信する際に生存カウンタがゼロになったならば中継回数が多いと判断して無線パケットの中継を行わないようにすることができる。
【0033】
第8番目の送信先識別子は無線パケットを最終的に受信すべき最終端の親ノード、又は子ノード100の識別子を表し、第9番目の送信元識別子は無線パケットを送信する発端となった親ノード300、又は子ノード100の識別子を表す。第10番目の電文種別44は、無線パケットの電文がどのような内容であるかを示すものであり、7ビットのコマンド番号と1ビットのレスポンスビットで構成されている。
【0034】
第11番目のデータ長はデータ部42のバイト数を表し、データ部42の長さはコマンド毎、レスポンス毎に変化する。第12番目の通信経路情報46は、送信元から送信先に無線パケットを中継送信する場合に利用される情報であり、7ビットの中継段数と1ビットのモードビットで構成されている。モードビットがオン(1)の場合には、通信経路指定モードとなり、通信経路45が付加される。通信経路45には、1段目中継ノードの識別子、2段目中継ノードの識別子、・・・N段目の中継ノードの識別子が順に格納され、子ノード100は、この通信経路情報46と通信経路45を利用して無線パケットを送信する。
【0035】
図4の通信経路情報46は、送信元から送信先にパケットを中継送信する場合に利用される情報であり、1ビットのモードビットと、7ビットの中継回数で構成されている。モードビットがオフ(0)の場合は、通信経路未指定モードとなり通信経路45は無い。また、モードビットがオン(1)の場合には、通信経路指定モードとなる。中継経路が付加され親ノード300から子ノード100にパケットを送信する際には、通信経路情報46はどの子ノード100を中継するかを表し、子ノードから親ノードに無線パケットを送信する場合には、通信経路情報46に中断した子ノードを記録する。
【0036】
図5は無線パケット種別の構成を示し、左からレスポンスビット、コマンド番号、電文内容、データ部42及び送信元である。ここで、親ノード300が子ノード100に送信するコマンドの無線電文を「呼び出し無線電文」と呼び、親ノード300からの「呼び出し無線電文」に対して子ノードが返す応答を「応答無線電文」と呼ぶ。具体的には、レスポンスビットがオフ(0)の場合には「呼び出し無線電文」となり、コマンド番号は「2」,電文内容は「データ要求」,データ部は「なし」,送信元は「親ノード」となる。レスポンスビットがオン(1)の場合には、「応答無線電文」、つまり、コマンドを受信した子ノードがコマンドを送信した親ノードにその結果を返すための電文となり、コマンド番号は「2」,電文内容は「データ応答」,データ部は「センサデータ」,送信元は「子ノード」になる。以上、上述した内容が無線通信ポーリングシステムの概要及びデータ構造である。
【0037】
監視センター(親ノード)が各子ノードまでの通信経路を決定するまでの処理の概要を図1と図11〜14を用いて説明する。図11〜14は、図1の無線通信ポーリングシステム1における親ノード300から各子ノード100までの通信経路を決定するためのルーティング情報を示している。なお、親ノード300と子ノード(100−1〜15)の接続経路は、親ノード300に近い子ノード100から親ノード300までの接続及び中継回数により決まり、親ノードからの距離を表すことから、便宜上AグループからDグループまでの4グループにおけるルーティング情報に分けて説明する。
【0038】
例えば、図1の子ノード100−1(Aグループ)は、電源がONになると、最初にブロードキャストとなる無線パケットを送出して、無線通信可能な親ノード300又は子ノード100の識別符号と受信レベルを検出する。次に、親ノード300と自ノードの間で中継される回数を無線パケットを用いて検出した後、親ノード300と通信する際に必要となる送信先の識別符号を決定する。以後、決定した識別符号を送信先として無線パケットを送出することになる。
【0039】
図6は子ノード100の無線通信処理メインルーチンの流れを示している。例えば、図1の子ノード100−1(Aグループ)では、電源が投入されると、ステップS10において、ブロードキャストとなる無線パケットを送出して通信可能な子ノード及び中継回数を取得するための次段中継ノード探索パケット送信を行う。ステップS10が実行されると、子ノード100−1は、図11に示すような通信可能な親ノード300及び子ノード100−2,6,3,5の識別符号と、親ノード300までの中継回数と、無線パケットの受信レベルと、を取得して自ノードのルーティングテーブルに記憶する。図6のステップS12において、取得したルーティング情報から次段中継ノードを中継回数が最も少ない無線通信先を決定することになる。子ノード100−1は、中継回数が「0」で親ノード300と無線通信できることから無線通信先は親ノード300となる。なお、Aグループの子ノード100−1,2は親ノードに最も近いため中継ノードとなる子ノードを中継することなく、直接親ノード300と無線通信が可能である。
【0040】
図1のBグループの子ノード100−3は、図12のルーティングテーブルに示すように、無線通信可能なノードは子ノード100−1,5,8となり、親ノード300に接続するため、子ノード100−1を中継して親ノード300へ接続する経路と、子ノード100−5と子ノード100−1とを中継して親ノード300へ接続する経路と、を有する。この場合、中継回数が1回となる子ノード100−1を無線通信先とする。
【0041】
また、図1のCグループの子ノード100−8は、図13のルーティングテーブルに示すように、無線通信可能なノードは子ノード100−3,5,9となり、親ノード300に接続するためには、子ノード100−3,1を中継して親ノード300へ接続する経路と、子ノード100−5,1を中継して親ノード300へ接続する経路と、子ノード100−9,5,1,を中継して親ノード300へ接続する経路と、を有する。この場合、中継回数が2回となる子ノード100−3,5の2経路があるが、受信レベルが大きい子ノード100−3を無線通信先とする。また、図14に示すDグループの子ノード100−14も同様にして無線通信先を決定することになり、図6のステップS12において、全ての子ノード100−1〜15の無線通信先が決まる。
【0042】
図6のステップS14において、各子ノード100は、他の子ノード100あるいは親ノード300からの無線パケットを受信できたかを確認し、受信した無線パケットに従った処理を行うことになる。また、受信した無線パケットが「次段中継ノード探査パケット」である場合には、ステップS18の次段中継ノード応答パケット送信サブルーチンを実行する。また、ステップS20において、「次段中継決定パケット」である場合には、ステップS22の次段中継ノード更新サブルーチンを実行する。また、ステップS24において、中継すべき「中継パケット」である場合には、ステップS26において、パケット中継送信サブルーチンを実行する。さらに、自ノード内で測定した情報を送信する必要がある場合には、イベントを発生させ、ステップS28において、イベントの内容に応じてステップS30において、「イベント通知パケット」を親ノード300へ送信し、処理を繰り返す。
【0043】
図7は子ノード100の無線通信における次段中継ノード応答パケット送信サブルーチンの処理の流れを示している。「次段中継ノード探索パケット」を受信した親ノード300と子ノード100は、自ノードの次段中継ノード候補が決定済みであり、自ノードから親ノードまでの最小中継回数を記憶済みであれば、「次段中継ノード応答パケット」を、次段中継ノード探査パケットを送信した子ノード100に向けて返信しなければならない。このとき、「次段中継ノード応答パケット」を送信する際に、各子ノード100又は親ノード300が一斉に無線パケットを送信することによって発生する混信を避ける必要がある。このことから、図7のステップS40では、タイムスロット番号による送受信タイミングの制御を行うために、タイムスロットカウンタを起動する。ステップS42では、自ノードが次段中継ノードの応答パケットを送信するタイミングを次回送信タイムスロット番号として算出する。ステップS44において、算出した次回送信タイムスロット番号が予め決められたタイムスロット最大値よりも大きい場合には、次段中継ノード応答パケット受信待ち時間を経過したことになるので、処理を中断してメインルーチンに戻る。
【0044】
次段中継ノード応答パケット受信待ち時間内で次回送信タイムスロット番号のタイミングで次段中継ノード応答パケットを送信できる場合には、ステップS46において、タイムスロットカウンタと次回送信タイムスロット番号が一致するまで送信待ちをした後、ステップS48において、次段中継ノード応答パケット送信を行う。このような処理により、各子ノード100の次段中継ノード応答パケット送信タイミングが分散され、仮に、同一タイミングで送信したとしても、無線パケットを時間を空けて複数回送信するので、次段中継ノード探索パケット送信した子ノード100が次段中継ノード応答パケットを受信できる確率は極めて高くなる。
【0045】
図8は子ノードの無線通信における次段中継ノード決定サブルーチンの処理の流れを示している。次段中継ノード決定するため、子ノード100は、次段中継ノード探索パケット送信サブルーチンを実行した後、本サブルーチンを実行する。なお、無線ネットワーク上での長い迂回ルートは無線パケットの輻輳が発生するおそれがあるので、本サブルーチンでは、自ノードより中継回数が大きいノード(親ノード方向とは逆方向ルート)にパケットを中継することを避けている。
【0046】
次に、図8のステップS50において、子ノード100又は親ノード300から「次段中継ノード応答パケット」を受信したかを判断し、受信した場合には、ステップS52において、次段中継ノード候補と今回受信した次段中継ノード応答パケットの中継候補を比較し、今回受信した無線パケットの中継回数と受信レベルとにより候補にすべきと判断した場合にはステップS56にて次段中継ノード候補にしてステップS50に戻る。また、ステップS54にて、次段中継ノード応答パケット受信待ち時間が経過した場合には、次段中継ノード候補が決定したことになる。このように、中継ノードが決定すると、自ノードで決定した中継ノードを他の子ノードに通知するために、ステップS58において、「次段中継ノード決定パケット」を送信する。
【0047】
図9は子ノードの無線通信における次段中継ノード更新サブルーチンの処理の流れを示している。図6のステップS20において、「次段中継決定パケット」を受信した場合には、図9の次段中継ノード更新サブルーチンを実行する。次段中継決定パケットを受信した他の子ノード100は、ステップS60において、受信無線パケットの中継回数と無線パケットの受信時の受信レベルを利用して、自ノード次段中継ノード候補よりも良い条件であるかを判定する。もし、良い条件であれば、ステップS62において、次段中継ノード決定パケットの送信元ノードを次段中継ノード候補にする。そして、ステップS64において、今回受信した無線パケットを第1優先レベルであると判断した場合には、ステップS66において、「次段中継ノードパケット」を送信する。なお、この次段中継ノード決定パケットを受信したその他の子ノード100も次段中継ノード更新処理を実行することになる。
【0048】
図10は他の子ノード100から測定結果などのイベント通知パケットを受信して、当該パケットを中継送信するパケット中継送信サブルーチンの処理の流れを示している。次段中継ノードに対してイベント通知パケットを中継送信する場合は、処理を開始するのに先立って、イベント通知パケットが正常に中継されない場合に対応するため、再度イベント通知パケットを送信するためのリトライカウンタ(例えば3回)をステップS70においてセットする。
【0049】
図10のステップS74〜S82において、次段中継ノード候補の内の一つにイベント通知パケットを送信する。リトライカウンタが「0」の時は、優先レベルの高い次段中継ノードに無線パケットを送信し、リトライカウンタが「1」のときは第2優先レベルの次段中継ノードへ送信し、リトライカウンタが「2」の時は第3優先レベルの次段中継ノードを送信する。もし、次段中継ノード候補が1個のみの場合には、常に、第1優先レベルの次段中継ノードに無線パケットを送信すればよい。なお、受信したイベント通知パケットの中継元識別子、送信元識別子が次段中継ノードである場合には、当該次段中継ノード候補には送信せずに、他の候補を割り当てることにより、候補が短時間に変化するピンポン現象を防止する。
【0050】
通常は、次段中継ノードが送信したイベント通知パケットを正常に受信できるので、一定時間内で受信できた場合には、正常と判断する。もし、ステップS76において、一定時間内に受信できない場合には、ステップS78において、リトライ回数を減算し、ステップS82にてリトライ回数がゼロでなければ再度ステップS72からの処理を繰り返す。正常に受信できた場合には、ステップS84において、次段中継ノード探索パケット送信を行い、ステップS86において、次段中継ノード決定を実行する。
【0051】
次に、各子ノードが自ノードのルーティングテーブル情報を親ノードに通知する処理を述べる。各子ノードは、自ノードのルーティングテーブル情報が決定した場合、自ノードのルーティングテーブル情報を格納した無線パケットを親ノードにイベント通知する。このイベント通知を受信した親ノードは、無線パケットから当該子ノードのルーティングテーブル情報を取得する。これにより、親ノードは、全子ノードのルーティングテーブル情報を持つことになり、各子ノードへポーリングするときの経路を決定できる。なお、各子ノードがルーティングテーブル情報を親ノードに送信するのは、ルーティングテーブル情報に変更があったとき、及び、定期的に送信する。ただし、定期的に送信する場合は、輻輳が懸念されるため、ルーティングテーブル情報に変更があった時のみ実施する方法でもよい。
【0052】
以上、上述した処理を実行することで、図1の無線通信ポーリングシステム1における実線の矢印のようなルーティング経路が決定され、各子ノード100−1〜15がルーティング情報を記憶する共に、各子ノード100で測定された情報がイベント通知パケットとして親ノード300及び監視センター700へ送信される。また、親ノード300及び監視センター700が各子ノード100のルーティングテーブルの情報を持つことにより、子ノード100へのポーリングが可能となるだけでなく、各子ノード100の位置関係を把握することも可能となる。
【0053】
図15は通信経路指定モードによる無線パケットの送信例を示し、監視センター700から子ノード100にコマンドを送信する処理を示している。最初に、監視センター700は、図14のルーティングテーブルから子ノード100−15への経路を探索する。これは、子ノード100−15から親ノードへの経路を探索すればよい。よって、親ノード300,子ノード100−2,子ノード100−7,子ノード100−12,子ノード100−15という経路が決定する。次に、監視センター700は、親ノード300にコマンドを送信する。このとき監視センター700が親ノード300に送信するコマンドの電文フォーマットは、図4のヘッダ部41におけるシステム識別子以降である。
【0054】
監視センター700からのコマンドを受信した親ノード300は、子ノード100−2にコマンドの無線パケットを送信する。このとき、(1)中継先識別子を子ノード100−2の識別子、(2)中継元識別子を親ノード300の識別子、(3)送信先識別子を子ノード100−15の識別子、(4)送信元識別子を親ノード300の識別子、(5)通信経路情報46のモードビットを「ON」、(6)中継段数を「3」、(7)通信経路45の一段目中継ノード識別子を子ノード100−2の識別子、(8)二段目中継ノード識別子を子ノード100−7の識別子、(9)三段目中継ノードの識別子を子ノード100−12の識別子、として無線パケットを送信する。
【0055】
無線パケットを受信した子ノード100−2は、中継先識別子が自ノードの識別子、送信先識別子が子ノード100−15の識別子であるので、自ノードが中継送信すべき無線パケットであると認識する。そして、子ノード100−2は、通信経路情報46のモードビットが通信経路指定モードであるので、次段の中継ノードを、通信経路情報46の中継段数と通信経路45から探索する。具体的には、通信経路45の一段目中継ノードが自ノード(子ノード100−2)なので、二段目中継ノード識別子である子ノード100−7に中継すべきであると判断する。
【0056】
子ノード100−2は、子ノード100−7に無線パケットを送信する。このとき、(1)中継先識別子を子ノード100−7の識別子、(2)中継元識別子を自ノードの識別子、(3)送信先識別子以降は、再計算した誤り検出符号43を除き、受信した無線パケットの内容をそのまま送信する。
【0057】
無線パケットを受信した子ノード100−7は、中継先識別子が自ノードの識別子、送信先識別子が子ノード100−15の識別子であるので、自ノードが中継送信すべき無線パケットであると認識する。そして、子ノード100−7は、通信経路情報46のモードビットが通信経路指定モードであるので、次段の中継ノードを通信経路情報46の中継段数と通信経路45から探索する。具体的には、通信経路45の二段目中継ノードが自ノード(子ノード100−7)なので、三段目中継ノード識別子である子ノード100−12に中継すべきであると判断する。
【0058】
子ノード100−7は、子ノード100−12に無線パケットを送信する。このとき、(1)中継先識別子を子ノード100−12の識別子、(2)中継元識別子を自ノードの識別子、(3)送信先識別子以降は、再計算した誤り検出符号43を除き、受信した無線電文内容をそのまま送信する。
【0059】
無線パケットを受信した子ノード100−12は、(1)中継先識別子が自ノードの識別子、(2)送信先識別子が子ノード100−15であるので、自ノードが中継送信すべき無線パケットであると認識する。そして、子ノード100−12は、通信経路情報46のモードビットが通信経路指定モードであるので、次段の中継ノードを、通信経路情報46の中継段数と通信経路45から検索する。具体的には、通信経路45の三段目中継ノードが自ノード(子ノード100−12)であり、中継段数も3であるから、自ノードが終端の中継ノードであることがわかるので、送信先識別子で指定されている子ノード100−15へ送信すべき無線パケットであると判断する。
【0060】
子ノード100−12は、子ノード100−15に無線パケットを送信する。このとき、(1)中継先識別子を子ノード100−15の識別子、(2)中継元識別子を自ノードの識別子、送信先識別子以降は、再計算した誤り検出符号43を除き、受信した無線パケットの内容をそのまま送信する。
【0061】
無線パケットを受信した子ノード100−15は、(1)中継先識別子が自ノードの識別子、送信先識別子も自ノードの識別子であるので、自ノードが最終的に受信すべき無線電文であると認識する。そして、子ノード100−15は、当該コマンドに関する処理を行った後に、送信元である親ノード300にレスポンスの無線パケットを送信する。
【0062】
子ノード100−15は、レスポンスの無線パケットを送信する際、まず、コマンドの無線パケットの通信経路情報46が通信経路指定モードであったので、コマンドの無線パケットの通信経路情報46の中継段数と、通信経路45を利用してレスポンス電文の経路を得る。具体的には、コマンドの無線パケットの通信経路45の中継ノード識別子を逆順にすると、(1)一段目中継ノードは子ノード100−12,(2)二段目中継ノードは子ノード100−7,(3)三段目中継ノードは100−2となり、これがレスポンスの無線パケットの通信経路45となる。
【0063】
子ノード100−15は、(1)レスポンスの無線電文のヘッダ41の中継先識別子を子ノード100−12、(2)中継元識別子を自ノードの識別子、送信先識別子を親ノードの識別子、(3)送信元識別子を自ノードの識別子とし、(4)電文種別44のレスポンスビットをON、(5)通信経路情報46のモードビットを「ON」(通信経路指定モード)、(6)中継段数を「3」、(7)一段目中継ノード識別子を子ノード100−12の識別子、(8)二段目中継ノード識別子を子ノード100−7の識別子、(9)三段目中継ノード識別子を子ノード100−2の識別子として、子ノード100−12に無線パケットを送信する。そして、これ以降は、これまでに説明した手順により、レスポンスの無線パケットが親ノード300まで送信されることになる。
【0064】
図16は監視センターから子ノードに別経路によりコマンドを送信する処理を示している。具体的には、親ノード300から子ノード100−15への無線パケット送信において、子ノード100−7が中継不能になった場合の処理である。まず、子ノード100−2は、無線パケットを子ノード100−7へ送信した後、一定時間、子ノード100−7の無線パケットを傍受することで、送信した無線パケットを子ノード100−7が受信したかを確認する。
【0065】
子ノード100−2は、無線パケットを送信した後、一定時間経過しても子ノード100−7の無線パケットを傍受できない場合は、再度、無線パケットを子ノード100−7に送信して一定時間、無線パケットを傍受する。この処理を指定回数(例えば、3回)繰り返す。指定回数が終了しても子ノード100−7の無線パケットを受信できない場合は、中継不能と判断し、子ノード100−7が異常である旨を親ノード300に送信する。
【0066】
このとき、子ノード100−2は、(1)中継先識別子を親ノード300の識別子、(2)中継元識別子を自ノードの識別子、(3)送信先識別子を親ノード300の識別子、(4)送信元識別子を自ノード識別子、(5)電文種別44のレスポンスビットを「OFF」、(6)コマンド番号を「14」,(7)通信経路情報46のモードビットを「OFF」、(8)中継段数を「0」とし、(9)データ部42に中継不能である子ノード100−7の識別子を格納して、親ノード300に無線パケットを送信する。
【0067】
無線パケットを受信した親ノード300は、データ部42から子ノード100−7が中継不能であることを知り、中継不能な子ノード100−7を除いた中継回数の少ない経路を図12の子ノード100−4と、図13の子ノード100−12から探索して、親ノード300,子ノード100−2,子ノード100−4,子ノード100−15という経路を決定する。以後、この経路を利用して子ノード100−15に無線パケットを送信する。
【0068】
図17は子ノードを固定ノードと移動ノードに分け、移動ノードの位置を監視するため、移動ノードが自ノードの位置を親ノードに通知する処理の流れを示している。予め配置された固定ノードで構築された無線通信ポーリングシステムにおいて、移動ノードがどの固定ノードの近傍に位置しているかの情報を親ノードが収集することで、移動ノードの位置を監視する。なお、本実施形態は、予め、固定ノードと親ノードとの間で通信経路を構築しておき、その通信経路上に移動ノードが入り込むことにより、移動ノードの位置を探索するものである。移動ノードは、例えば、周期タイミングや押しボタン押下げなどの自ノードの事象が発生した場合、ステップS90にてその事象を検出し、ステップS92において次段中継に利用する固定ノードと固定ノードの近傍に位置している移動ノードを探索するために、次段中継ノード探索パケットを送信する。固定ノードは移動ノードからの次段中継ノード探索パケットを受信すると、次段中継ノード応答パケット送信により次段中継ノード応答パケットを受信する。さらに、移動ノードは、ステップS94の近傍ノード決定により固定ノードである次段中継ノード候補と他の固定ノードである近傍ノードを決定して、ステップS96において、イベント通知パケット送信により、これらの情報が親ノードに送信される。
【0069】
図18は、移動ノードで実行される近傍ノード決定サブルーチンである。移動ノードがステップS100において、次段中継ノード応答パケットを受信すると、ステップS102を実行し、近傍の固定ノードが次段中継ノード候補になれるかどうかを中継回数と、受信強度レベルから判断して、ステップS102において、次段中継ノード応答パケットの送信元ノードを次段中継ノード候補とする。ステップS108において、この候補の中から、受信電界強度レベルが最大のものを取り出し、近接ノードを決定する。さらに、ステップS104において、次段中継ノード応答パケット受信待ち時間が経過した場合には、近接ノードが確定する。このような処理により、移動ノードの位置把握が容易に実現することが可能である。
【0070】
以上、上述したように、本実施形態に係る無線通信ポーリングシステムを用いることにより、三つの利点がある。第1の利点は、低速な無線通信であっても自律型ネットワーク化が可能であるという利点である。また、第2の利点は、従来よりも簡単なプロトコルで信頼性を確保できる無線通信ポーリングシステムを実現することが可能となるという利点である。さらに、第3の利点は、無線通信ポーリングシステムにより、子ノードのルーティングテーブルの容量を最小限に抑えると共に、移動や故障した子ノードを判別し易く、子ノードからのイベント通信、親ノードからのポーリング通信等を容易にするという利点である。
【0071】
なお、親ノードと子ノードとを接続する処理において、中継回数が同じ中継ノードがある場合には、受信レベルの高い中継ノードを選択したが、これに限定するものではなく、各経路におけるトータルの受信電界強度又は伝送エラー率を利用し、無線電波の良好な経路を選択してもよい。
【産業上の利用可能性】
【0072】
本発明に係る無線通信ポーリングシステムは、特定省電力無線を用いることにより、容易に無線ネットワークを構築すると共に、例えば、「河川水位監視システム」等のようなシステムを低コストで構築可能であり、産業上の利用可能性を有している。
【符号の説明】
【0073】
1 無線通信ポーリングシステム、10 子ノード用通信部、11,21,31 送受信アンテナ、12,22,32 送信部、13,23,33 受信部、14,34 制御部、15,35 表示部、16,36 記憶部、17 電源、24 外部ネットワーク接続部、26 パーソナルコンピュータ、30 親ノード用通信部、37 二次電池、38 A/D変換部、39 警報器、41 ヘッダ部、42 データ部、43 誤り検出符号、44 電文種別、46 通信経路情報、50 スイッチ入力部、51 センサ、52 太陽電池、500 公衆回線網、700 監視センター。

【特許請求の範囲】
【請求項1】
複数の子ノードと、各子ノードが取得した情報を収集する親ノードと、を含み、子ノードと親ノードが、直接又は他の子ノードによる中継によって通信を確立する無線通信ポーリングシステムにおいて、
子ノードは、
無線接続可能な範囲にある他の子ノードが親ノードまでの中継を行うものであるか否かを判定し、中継する場合には、少なくとも無線接続可能な範囲の子ノードから親ノードまでの中継回数及び子ノードの識別符号と、無線接続可能な子ノードからの受信レベルと、を含むテーブル情報を記憶するテーブル情報格納メモリと、
複数の子ノードを介して接続されるネットワークが構築された後に、少なくともテーブル情報に変更が発生した場合、テーブル情報を親ノードに送信するテーブル情報送信手段と、
を有し、
親ノードは、
各子ノードから送信されたテーブル情報に基づいて子ノードの位置関係を決定する位置決定手段と、
子ノードまでの中継回数の最も少ない中継経路を決定して、子ノードにポーリング情報を送信して子ノードの記憶手段に記憶された情報を送信させるポーリング応答手段と、
を有することを特徴とする無線通信ポーリングシステム。
【請求項2】
請求項1に記載の無線ポーリングシステムにおいて、
中継経路中の子ノードは、その中継先となる他の子ノードからポーリング情報が送信されない場合は、親ノードに中継不能情報を含むポーリング応答を送信し、
親ノードは、中継不能となった他の子ノードの識別符号と位置とを記憶し、中継先となる他の子ノードを除いた中継回数の最も少ない中継経路を決定して、中継経路中の子ノードにポーリング情報を送信することを特徴とする無線通信ポーリングシステム。
【請求項3】
請求項1又は2に記載の無線通信ポーリングシステムにおいて、
ポーリング情報を送信する親ノードは、中継回数が同じ回数の子ノードが複数ある場合には、より良好な無線通信が確保できる中継経路中の子ノードに対してポーリング情報を送信することを特徴とする無線通信ポーリングシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2011−4096(P2011−4096A)
【公開日】平成23年1月6日(2011.1.6)
【国際特許分類】
【出願番号】特願2009−144717(P2009−144717)
【出願日】平成21年6月17日(2009.6.17)
【出願人】(000189486)上田日本無線株式会社 (29)
【Fターム(参考)】