(57)【要約】【課題】各センサノードで収集されたデータを、その上位に位置している親ノードで集約しながらシンクノードまで確実に送信できるデータ送信方法を提供する。【解決手段】シンクノードが各センサノードに対して、データ送信時間を代表する情報の通知要求を送信する手順と、各センサノードが前記通知要求に応答して、自身のデータ送信時間を代表する情報をシンクノードへ通知する手順と、シンクノードが、各センサノードから通知された情報に基づいて、各センサノードに割り当てる送信待ち時間を設定する手順と、シンクノードが各センサノードに対して、前記設定された送信待ち時間を含むデータ送信要求を送信する手順と、各センサノードが前記データ送信要求を受信し、自身に割り当てられた送信待ち時間を抽出する手順と、各センサノードが、データ送信要求の受信タイミングから前記送信待ち時間の経過タイミングでデータを送信する手順とを含む。【選択図】図５
2006287565.tif 000002
【特許請求の範囲】
【請求項１】
ワイヤレス通信機能およびルーティング機能を備えた複数のセンサノードが、各センサノードからマルチホップで転送されるデータを収集するシンクノードを頂点して経路木状にワイヤレス接続されたセンサネットワークのデータ送信方法において、
前記シンクノードが各センサノードに対して、データ送信時間を代表する情報の通知要求を送信する手順と、
各センサノードが前記通知要求に応答して、自身のデータ送信時間を代表する情報をシンクノードへ通知する手順と、
前記シンクノードが、各センサノードから通知された情報に基づいて、各センサノードに割り当てる送信待ち時間を設定する手順と、
前記シンクノードが各センサノードに対して、前記設定された送信待ち時間を含むデータ送信要求を送信する手順と、
各センサノードが前記データ送信要求を受信し、自身に割り当てられた送信待ち時間を抽出する手順と、
各センサノードが、前記データ送信要求の受信タイミングから前記送信待ち時間の経過タイミングでデータを送信する手順とを含むことを特徴とするワイヤレスセンサネットワークにおけるデータ送信方法。
【請求項２】
ワイヤレス通信機能およびルーティング機能を備えた複数のセンサノードが、各センサノードからマルチホップで転送されるデータを収集するシンクノードを頂点して経路木状にワイヤレス接続されたセンサネットワークのデータ送信方法において、
シンクノードが各センサノードに対して第１リクエスト信号を送信する手順と、
各センサノードが前記第１リクエスト信号を受信して中継する手順と、
各センサノードが第１リクエスト信号に応答して隣接ノード数を認識する手順と、
各センサノードが自身の下位に位置するセンサノードから、隣接ノード数およびノードリストの登録された第１リプライ信号を受信する手順と、
各センサノードが、前記下位ノードから受信したノードリストおよび隣接ノード数に基づいて、自身に収容されているノード数がシンクノードからのポップ数ごとに登録されたノードリストを作成する手順と、
各センサノードが、前記作成したノードリストおよび自身の隣接ノード数を第１リプライ信号に登録し、これを前記第１リクエスト信号の受信タイミングから所定のタイミングで送信する手順と、
前記シンクノードが、受信した第１リプライ信号に登録されているノードリストおよび隣接ノード数に基づいて、各センサノードに割り当てる送信待ち時間を設定する手順と、
前記シンクノードが各センサノードに対して、前記設定された送信待ち時間が登録された第２リクエスト信号を送信する手順と、
各センサノードが前記第２リクエスト信号を受信し、自身に割り当てられた送信待ち時間を抽出する手順と、
各センサノードが前記第２リクエスト信号を中継する手順と、
各センサノードが下位ノードから第２リプライ信号を受信する手順と、
各センサノードが、前記受信した第２リプライ信号に登録されているデータに自身のデータを集約させる手順と、
各センサノードが前記集約されたデータの登録された第２リプライ信号を、前記第２リクエスト信号の受信タイミングから前記割り当てられた送信待ち時間の経過タイミングで送信する手順とを含むことを特徴とするワイヤレスセンサネットワークにおけるデータ送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワイヤレスセンサネットワークのデータ送信方法に係り、特に、各センサネットワークからデータを収集するシンクノードを頂点とする経路木上で、各センサノードが自身の下位に位置するセンサノード（以下、子ノードと表現する場合もある）から受信したデータに自身のデータを集約して親ノードに転送することで冗長な通信量を削減するワイヤレスセンサネットワークに好適なデータ送信方法に関する。
【背景技術】
【０００２】
ワイヤレス通信機能を備えた多数のセンサノードをアドホックに接続し、検知されたデータをマルチホップで送信するセンサネットワークが非特許文献１，２で提案されている。このようなセンサネットワークによれば、一つ一つのセンサノードの消費電力を抑えながら、数kmにも及ぶ伝送が実現可能になる。
【０００３】
このようなワイヤレスセンサネットワークにおいて、センサネットワークからデータを収集するノード(以下，シンクノードと表現する)に向かって全てのセンサノードが個別にデータを送信すると通信量の増大に伴って電力消費量も多くなり、センサネットワークを利用可能な時間が短くなってしまう。
【０００４】
このような技術課題に対して、非特許文献３，４では、各センサネットワークからデータを収集するシンクノードを頂点とする経路木上で、各センサノードが自身の子ノード(シンクノードまでのホップ数が自身より1ホップだけ大きいノード)から受信したデータを集約し、さらに自身のデータを加えて親ノード(シンクノードまでのホップ数が自身より１ホップだけ小さいノード)に転送することで冗長な通信量を削減する方式が提案されている。
【０００５】
例えば非特許文献３では、親ノードが子ノードからデータを集約できるようにするために、親ノードがデータを送信する前に子ノードが親ノードへデータを送信し、親ノードが当該データを受信、集約して更に自身の親ノードへ送信するためのタイミングが提案されている。具体的には、親ノードが子ノードからデータを受信するための待ち時間を、シンクノードからのホップ数が短くなるほど長く設定し、当該待ち時間の経過後にデータ送信を行う方式が提案されている。
【非特許文献１】Charles E. Perkins, Jari T. Malinen, Ryuji Wakikawa, Elizabeth M. Belding-Royer and Yuan Sun,"IP Address Autoconfiguration for Ad Hoc Networks", draft-ietf-manet-autoconf-01.txt, November 2001.
【非特許文献２】Hongbo Zhou, Lionel M. Ni and Matt W. Mutka, "Prophet Address Allocation for Large Scale MANETs", INFOCOM2003.
【非特許文献３】Ignacio Solis and Katia Obraczka, The impact of Timing in Data Aggregation for Sensor Networks, Proc. of the IEEE International Conference on Communications (ICC), June 2004.
【非特許文献４】Budhaditya Deb, Sudeept Bhatnagar and Badri Nath, Proc. of the First IEEE Workshop on Sensor Network Protocols And Applications (SNPA), 2003.
【発明の開示】
【発明が解決しようとする課題】
【０００６】
各センサノードがそれぞれの子ノードからデータを集約して親ノードへ転送する際のデータ量は、シンクノードまでのホップ数が小さいノードほど増加するので、データ送信に要する時間も、シンクノードまでのホップ数が小さいノードほど長くなる。したがって、従来技術のように子ノードからのデータを受信する待ち時間を、単にシンクノードからのホップ数に応じて設定する方式では、親ノードのデータ送信タイミングに、子ノードから親ノードへの送信が間に合わず、親ノードが子ノードのデータを集約できなくなってしまう。その結果、シンクノードがネットワーク上の全てのセンサノードからデータを取得することが困難になってしまう。
【０００７】
本発明の目的は、上記した従来技術の課題を解決し、各センサノードで収集されたデータを、その上位に位置している親ノードで集約しながらシンクノードまで確実に送信できるデータ送信方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記した目的を達成するために、本発明は、ワイヤレス通信機能およびルーティング機能を備えた複数のセンサノードが、各センサノードからマルチホップで転送されるデータを収集するシンクノードを頂点して経路木状にワイヤレス接続されたセンサネットワークのデータ送信方法において、以下のような手順を設けたことを特徴とする。
(1)シンクノードが各センサノードに対して、データ送信時間を代表する情報の通知要求を送信する手順
(2)各センサノードが前記通知要求に応答して、自身のデータ送信時間を代表する情報をシンクノードへ通知する手順
(3)シンクノードが、各センサノードから通知された情報に基づいて、各センサノードに割り当てる送信待ち時間を設定する手順
(4)シンクノードが各センサノードに対して、前記設定された送信待ち時間を含むデータ送信要求を送信する手順
(5)各センサノードが前記データ送信要求を受信し、自身に割り当てられた送信待ち時間を抽出する手順
(6)各センサノードが、前記データ送信要求の受信タイミングから前記送信待ち時間の経過タイミングでデータを送信する手順
【発明の効果】
【０００９】
本発明によれば、各センサノードに割り当てられるデータ送信時間が、シンクノードからのホップ数のみならず、データ送信に要する時間に基づいて設定されるので、各センサノードに対して適正なデータ送信時間を割り当てられるようになる。その結果、各センサノードで収集されたデータを、その上位に位置している親ノードで集約しながらシンクノードまで確実に送信できるようになる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明の好ましい実施の形態について詳細に説明する。図１は、本発明が適用されるワイヤレスセンサネットワークの一例を示した図であり、ワイヤレス通信機能およびルーティング機能を備えた複数のセンサノードNと、各センサノードNからマルチホップで送信されるデータを収集し、これをインターネット経由でセンタサーバ１へ送信するシンクノード２とを主要な構成としている。前記シンクノード２およびセンサノードNは、ビルや公園といった監視対象３の適所に配置され、各センサノードNは、温度や音などを検知し、あるいは静止画や動画を撮影し、そのデータをパケットに登録してシンクノード２へ送信する。
【００１１】
図２，３，４は、本実施形態の動作を示したフローチャートであり、図５は、そのダイミングチャートである。
【００１２】
図２のフローチャートは、前記シンクノード２の動作を示している。図３，４のフローチャートは、いずれも各センサノードNの動作を示しているが、図３は、各センサノードがシンクノード２からの要求(REQ1)に応答して自身の隣接ノードを認識し、この認識結果をシンクノードへ応答(REP1)する第１タスクの動作を示している。図４は、前記認識結果に基づいて決定されたデータ送信タイミングを前記シンクノード２から割り当てられ(REQ2)、当該送信タイミングでデータパケットを送信(REP2)する第２タスクの動作を示している。
【００１３】
シンクノード２では、図２のステップＳ１０において、リクエスト信号REQ1の送信回数Creq1に「３」がセットされる。ステップＳ１１では、各センサノードNに対して隣接ノード数の通知を要求するリクエスト信号REQ1がブロードキャストで送信される。ステップＳ１２では、前記送信回数Creq1がデクリメントされる。ステップＳ１３では、当該REQ1を受信したセンサノードから返信されるリプライ信号REP1の受信に備えて待機する。
【００１４】
図３へ進み、各センサノードNは、前記シンクノード２から送信されたリクエスト信号REQ1をステップＳ３０で受信すると、ステップＳ３１において、REQ1受信後の経過時間T1をカウントするT1タイマをスタートさせる。ステップＳ３２では、前記REQ1に応答して返信するリプライ信号REP1の送信タイミングTwait1が、前記REQ1の受信タイミングからの経過時間Twait1として、次式(1)により求められる。
【００１５】
Twait1 = 2 ×(k /2×T−α×Hn）              (1)
T：情報収集周期
k：(k-1)/2×Hmax ＜Hn≦k/2 ×Hmax を満たす２以上の整数
Hmax：最大ホップ数
α：子ノードと親ノードとの間での通信に要する時間
Hn：自身のホップ数
【００１６】
上記した送信タイミングTwait1の算出方法は、本発明者等による文献（社団法人電子情報通信学会信学技報「センサネットワークのモニタのための高信頼なネットワーク内集約方式」第二種研究会資料  TECHNICAL  REPORT  OF  IEICE,  SN2004-12(2004.12)）において詳細に論じされている。以下、その内容を簡単に説明する。
【００１７】
子ノードと親ノードとの間での通信に要する時間をα、ホップ数Hnが最大であるノードがデータを送信してからシンクノード２が当該データを受信するまでに要する時間を情報収集周期Tとすれば、ホップ数Hnのノードは、シンクノード２がリクエスト信号REQ1を送信してから(α×Hn)経過後にREQ1を受信し、そのTwait1経過後にリプライ信号REP1を送信する。当該REP1は更に(α×Hn)経過後にシンクノード２で受信される。したがって、ホップ数Hnのセンサノードにおける送信タイミングTwaitは次式(2)で表される。
【００１８】
Twait＝2T−2×(α×Hn)                      (2)
【００１９】
すなわち、ホップ数Hnが「２」のノードであれば、REQ1を受信した時刻から[2T − 2 ×(α×2)]経過後に最初のREP1をブロードキャストし、それ以降は情報収集周期T ごとにREP1をブロードキャストする。同様に、ホップ数Hnが「３」のノードであれば、REQ1を受信した時刻から[2T −2 ×(α×3)]経過後に初回のREP1をブロードキャストし、その時刻はホップ数Hnが「２」の親ノードよりもαだけ早い時刻となる。
【００２０】
しかしながら、予め指定したパラメータTおよびαから算出できる、想定した最大ホップ数T/αが実際の最大ホップ数Hmaxよりも小さい場合、ホップ数がT/α以上のノードに関してはTwaitを求めることができなくなる。そのため、ホップ数がT/α以上のセンサノードは、その親ノードがシンクノード２に向かってデータを転送する時刻にデータの送信タイミングが合わないノードとなり、それらのセンサノードのデータを集約結果に反映することができなくなってしまう。
【００２１】
このように、ホップ数Hn＞T/αとなるセンサノードに関しては、初回のREP1の伝達には間に合わないことから、それらのセンサノードに関しては、シンクノード２までのREP1の伝達が可能なk 回目の送信から参加することとする。具体的には、情報収集周期T，αおよび自身のホップ数Hn から次の条件(3)を満たす係数k を求め、この係数k を用いて上記(1)式を導出する。
【００２２】
k/2×(T/α)＜Hn＜(k＋1)/2×(T/α)              (3) 
ただし、k=２，３…
【００２３】
図３へ戻り、ステップＳ３３では、前記経過時間T1がαと比較され、経過時間T1がαに達していれば、ステップＳ３４において、前記受信したREQ1が自身の子ノードへブロードキャストで送信される。ステップＳ３５では、自ノードの隣接ノード数が認識される。
【００２４】
図６は、センサネットワークの一部を抜き出した図であり、センサノードBであれば  センサノードA，D，E，F，Gの５つが隣接ノードと認識される。同様に、センサノードCであれば、センサノードA，H，Iの３つが隣接ノードと認識される。なお、隣接ノード数の認識手順は当該タイミングで実施される必要はなく、他のタイミングで実施されるようにしても良い。
【００２５】
図３へ戻り、ステップＳ３６では、自身の子ノードが前記REQ1に応答して返信するリプライ信号REP1が受信されたか否かが判定される。このREP1には、子ノードにより認識された子ノード自身の隣接リンク数、および当該子ノードにより更新された、後に詳述するノードリストが含まれている。各センサノードNは、自身の子ノードから送信されたREP1を受信するとステップＳ３７へ進み、これを一時記憶する。ステップＳ３８では、子ノードからのREP1の受信に備えて待機する所定時間が経過したか否かが判定される。所定時間が経過するまでは、ステップＳ３６へ戻って他の子ノードから送信されるREP1の受信に備える。
【００２６】
その後、ステップＳ３８において所定時間の経過が検知されるとステップＳ３９へ進み、各子ノードから受信したREP1と前記自身で認識した隣接ノード数とに基づいてノードリストが更新される。
【００２７】
図７は、前記ステップＳ３９で実施されるノードリストの更新方法の一例を示した図であり、ここでは、センサノードAが２つの子ノードB，Cから受信したREP1に基づいてノードリストを更新する例を説明する。
【００２８】
ノードBから送信されたREP1には、以下に説明する方法でノードBにおいて同様に更新されたノードリスト７１と、ノードBにより認識された隣接ノード数「５」とが登録されている。同様に、ノードＣから送信されたREP1には、ノードCにより更新されたノードリスト７２と、ノードCにより認識された隣接ノード数「３」とが登録されている。前記各ノードリスト７１，７２には、シンクノード２からの「ホップ数」ごとに「隣接ノード数の総和」が登録されてる。
【００２９】
ノードAは、各ノードリスト７１，７２で「ホップ数」ごとに登録されている「隣接ノード数の総和」の最大値を自身のノードリスト７３に登録する。すなわち、ホップ数「６」に関しては、各ノードリストの登録値が「５」と「４」なので、これらの最大値「５」を登録する。同様に、ホップ数「５」に関しては、各ノードリストの登録値が「７」と「８」なので、これらの最大値「８」を登録する。同様に、ホップ数「４」に関しては、各ノードリストの登録値が「４」と「２」なので、これらの最大値「４」を登録する。
【００３０】
さらに、各子ノードB，Cにより認識された隣接ノード数の和を、当該子ノードのホップ数の欄に登録する。すなわち、子ノードB，Cにより認識された隣接ノード数がそれぞれ「５」，「３」であり、当該子ノードB，Cのホップ数が「３」なので、のーどりすと７３のホップ数「３」に対応した「隣接ノード数の総和」の欄に「８（＝５＋３）」が登録される。
【００３１】
以上のようにして各センサノードにおいて更新されたノードリストでは、シンクノードからのホップ数ごとに、当該ノードリストを更新したセンサノードに収容されている各センサノードの隣接ノード数の総和が登録されることになる。換言すれば、各センサノードで更新されたノードリストには、当該ノードリストを更新したセンサノードを中継してデータをシンクノードへ送信するノード総数が、シンクノード２からのホップ数ごとに登録されることになる。
【００３２】
図３へ戻り、ステップＳ４０では、前記REQ1受信後の経過時間T1が前記送信タイミングTwait1に達したか否かが判定される。送信タイミングTwait1であればステップＳ４１へ進み、更新されたノードリストおよび前記隣接ノード数の認識結果の登録されたREP1が親ノードへ送信される。以上の手順が、ホップ数の大きなセンサノードから順に実行されることにより、REP1が最終的にはシンクノード２へ到着する。
【００３３】
図２へ戻り、シンクノード２は、自身の子ノードから送信されたREP1をステップＳ１３で受信するとステップＳ１４へ進み、これを一時記憶する。ステップＳ１５では、子ノードからのREP1の受信に備えて待機する所定の待機時間が経過したか否かが否かが判定される。待機時間が経過するまでは、ステップＳ１３へ戻って他の子ノードから送信されるREP1の受信に備える。
【００３４】
ステップＳ１５において待機時間の経過が検知されるとステップＳ１６へ進み、各子ノードから受信したREP1に基づいてノードリストが更新される。ステップＳ１７ではREQ1の送信回数が前記送信回数Creq1に基づいて判別される。本実施形態では、REQ1の送信回数が前記ステップＳ１０において３回に設定されており、送信回数Creq1が「０」以外であれば、送信回数が３回未満と判定されてステップＳ１１へ戻り、上記した各手順が繰り返される。このとき、前記ステップＳ１６では、図８に一例を示したように前回更新されたノードリストと今回作成されたノードリストとが比較され、各ノードリストに登録されている「隣接ノード数の総和」の最大値がノードリストに登録される。すなわち、ホップ数「６」に関しては、前回（n回目）のノードリストの値が「５」、今回（n＋１回目）のノードリストの値が「６」なので、これらの最大値「６」が登録される。
【００３５】
以上のようにして、REQ1が３回送信され、ノードリストの更新が完了するとステップＳ１８へ進み、このノードリストに基づいて、ホップ数Hnのセンサノードがデータ送信に要する最大送信時間βnが次式(4)に基づいて求められる。
【００３６】
βn = (X／Y)＊{ Tmac + (Z + Y)×Tbyte }         (4)
Tbyte ：情報量の単位あたりの送信時間
X：ホップ数Hnのレベルで最大のトポロジ情報量(隣接ノード数の総和)
Y：トポロジ情報量の最小単位
Z：REP内のデータでトポロジ情報を除く情報量
Tmac ：MAC層における送信待ち時間（ランダムバックオフの最大時間）
【００３７】
なお、トポロジ情報の最小単位は、収集する情報がトポロジ情報のみの場合は、[ノードID]および[隣接ノードのID]となり、mote(Crossbow Technology 社のセンサネットワーク評価キット）であればIDは２バイトであることから、最小単位は４bytesとなる。収集する情報がトポロジ情報に加ええてリンク品質を含む場合は、[ノードID]、[隣接ノードID]および[リンク品質]の総和のバイト長が最小単位となる。
【００３８】
以上のようにして、各ホップ数Hnの最大送信時間βnが求まると、ステップＳ１９では、この計算結果に基づいて、ポップ数ごとの送信待ち時間αnが求められる。図９は、前記ポップ数ごとに、その「隣接ノード数の総和」と最大送信時間βnとに基づいて送信待ち時間αnを求める概念図であり、ここでは、Tbyte＝０．４４，Tmac ＝１０，Z＝１０，Y＝４として求めている。図１０は、最大送信時間βnがホップ数の減少と共に長くなる様子を示した図である。ステップＳ２０では、前記ホップ数Hnごとに送信待ち時間αnが登録されたリクエスト信号REQ2がセンサノードNに向けて送信される。
【００３９】
図４へ進み、各センサノードNは、ステップＳ６１において前記REQ2を自身の親ノードから受信すると、ステップＳ６２では、自身のホップ数Hnに関して当該REQ2に登録されている送信待ち時間αnが抽出される。ステップＳ６３では、REQ2受信後の経過時間を測定するT2タイマがスタートする。ステップＳ６４では、次式(5)に基づいて、自ノードに固有の送信待ち時間Twait2が計算される。
【００４０】
Twait2 = { k /2 × T −α×Hn } + αn               (5)
【００４１】
ステップＳ６５では、自身の子ノードが前記REQ2に応答して返信するリプライ信号REP2が受信されたか否かが判定される。各センサノードNは、自身の子ノードから送信されたREP2を受信するとステップＳ６６へ進み、これを一時記憶する。ステップＳ６７では、前記REQ2受信後の経過時間T2が前記送信タイミングTwait2に達したか否かが判定される。送信タイミングTwait2であればステップＳ６８へ進み、子ノードから受信したデータおよび自身のデータを集約して親ノードへ送信する。以上の手順が、ホップ数の大きなセンサノードから順に実行されることにより、各センサノードのデータが集約されたREP2が最終的にはシンクノード２へ到着する。
【図面の簡単な説明】
【００４２】
【図１】本発明が適用されるワイヤレスセンサーネットワークの一例を示した図である。
【図２】シンクノードの動作を示したフローチャートである。
【図３】センサノードの動作を示したフローチャート（その１）である。
【図４】センサノードの動作を示したフローチャート（その２）である。
【図５】シンクノードおよい各センサノードの動作を示したタイオムチャートである。
【図６】センサネットワークの一部を抜き出した図である。
【図７】ノードリストが各センサのノードで更新される様子を示した図である。
【図８】ノードリストの更新方法の一例を示した図である。
【図９】送信待ち時間αnを求める概念図である。
【図１０】最大送信時間βnがホップ数の減少と共に長くなる様子を示した図である。
【符号の説明】
【００４３】
１…センタサーバ，２…シンクノード，３…監視対象
【図１】
2006287565.tif 000003
【図２】
2006287565.tif 000004
【図３】
2006287565.tif 000005
【図４】
2006287565.tif 000006
【図５】
2006287565.tif 000007
【図６】
2006287565.tif 000008
【図７】
2006287565.tif 000009
【図８】
2006287565.tif 000010
【図９】
2006287565.tif 000011
【図１０】
2006287565.tif 000012