(57)【要約】【課題】  通信環境や情報通信装置の数に応じた最適な通信を，人手によらず自動で行うことの可能な情報通信装置および情報通信システムを提供する。【解決手段】  サーバとの間で通信ネットワークを構成するノード１０１は，通信部１０３で受信したパケットを解析し，フラッディング通信方式またはマルチホップＰ２Ｐ通信方式とを切り替えるパケット解析部１０５と，フラッディング通信方式でパケットを受信した場合にリセットされるタイマ１０７と，タイマのタイムアウト時に，マルチホップＰ２Ｐ通信方式でパケット送受信を行うことをサーバ２０１に通知するサーバ通信部１０６を備える。フラッディング通信方式とサーバとノード間のマルチホップＰ２Ｐ通信方式を組み合わせることにより，ソフトウェア更新時の通信環境に合った通信方式を行うことができる。【選択図】  図１
2006005746.tif 000002
【特許請求の範囲】
【請求項１】
サーバとの間で通信ネットワークを構成する情報通信装置であって，
第１通信方式で無線通信を行うための第１通信制御部と，
第２通信方式で無線通信を行うための第２通信制御部と，
前記通信ネットワークを構成する他の情報通信装置と，前記第１通信方式または前記第２通信方式でパケット送受信を行う通信部と，
前記通信部で受信したパケットを解析し，前記第１通信方式と前記第２通信方式とを切り替えるパケット解析部と，
前記第１通信方式でパケットを受信した場合にリセットされるタイマと，
前記タイマのタイムアウト時に，前記第２通信方式でパケット送受信を行うことを前記サーバに通知するサーバ通信部と，
を備えたことを特徴とする，情報通信装置。
【請求項２】
サーバとの間で通信ネットワークを構成する情報通信装置であって，
第１通信方式で無線通信を行うための第１通信制御部と，
第２通信方式で無線通信を行うための第２通信制御部と，
前記通信ネットワークを構成する他の情報通信装置と，前記第１通信方式または前記第２通信方式でパケット送受信を行う通信部と，
前記通信部で受信したパケットを解析し，前記第１通信方式と前記第２通信方式とを切り替えるパケット解析部と，
前記第１通信方式でパケットを受信した場合にリセットされるタイマと，
前記タイマのタイムアウト時に，喪失したパケットに関する喪失パケット情報通知パケットを，前記通信ネットワークを構成する他の情報通信装置に前記第２通信方式で送信する情報通信装置通信部と，
前記他の情報通信装置から前記喪失したパケットに関する情報を受け取ったことを前記サーバに通知するサーバ通信部と，
を備えたことを特徴とする，情報通信装置。
【請求項３】
前記第１通信方式は，前記第２通信方式に比べて，エラーがなかった場合に前記サーバから前記通信ネットワークを構成するすべての情報通信装置にデータが到達する時間が短いことを特徴とする，請求項１または２に記載の情報通信装置。
【請求項４】
前記第１通信方式は，フラッディング通信方式であることを特徴とする，請求項３に記載の情報通信装置。
【請求項５】
前記第１通信方式は，ブロードキャスト通信方式であることを特徴とする，請求項１〜３のいずれかに記載の情報通信装置。
【請求項６】
前記第２通信方式は，前記第１通信方式に比べて，通信の信頼性が高いことを特徴とする，請求項１〜５のいずれかに記載の情報通信装置。
【請求項７】
前記第２通信方式は，マルチホップＰ２Ｐ通信方式であることを特徴とする，請求項６に記載の情報通信装置。
【請求項８】
前記通信部は，
前記サーバからデータ発信を開始する旨のデータ発信通知パケットを受信した場合に，前記サーバに対し前記データ発信通知パケットを受信した旨のデータ通信通知完了パケットを送信することを特徴とする，請求項１〜７のいずれかに記載の情報通信装置。
【請求項９】
前記通信部は，
前記第１通信方式でパケットを受信した場合に，前記サーバに対し前記パケットを受信した旨のデータ受信通知パケットを送信することを特徴とする，請求項１〜８のいずれかに記載の情報通信装置。
【請求項１０】
前記サーバからデータ発信を開始する旨のデータ発信通知パケットを受信した場合に，前記サーバ以外との通信を，前記サーバとの通信が終了するまで中止することを特徴とする，請求項１〜９のいずれかに記載の情報通信装置。
【請求項１１】
複数の他の情報通信装置との間で通信ネットワークを構成する情報通信装置であって，
第１通信方式で無線通信を行うための第１通信制御部と，
第２通信方式で無線通信を行うための第２通信制御部と，
前記通信ネットワークを構成する前記複数の他の情報通信装置と，前記第１通信方式または前記第２通信方式でパケット送受信を行う通信部と，
前記通信部で受信したパケットを解析し，前記第１通信方式と前記第２通信方式とを切り替える制御部と，
前記複数の他の情報通信装置の情報を記憶する情報通信装置情報記憶部と，
前記複数の他の情報通信装置に対しデータ送信を開始する旨を通知するデータ送信通知信号を制御するデータ送信通知信号制御部と，
前記複数の他の情報通信装置へ送信するためのデータを記憶しておく送信データ記憶部と，
を備えたことを特徴とする，情報通信装置。
【請求項１２】
前記データ送信通知信号制御部は，前記データ送信通知信号を送信した前記複数の他の情報通信装置からの，前記データ送信通知信号を受信した旨のデータ発信通知完了パケットを受信することで，前記複数の他の情報通信装置が前記データ送信通知信号を受信したことを確認することを特徴とする，請求項１１に記載の情報通信装置。
【請求項１３】
前記制御部による前記第１通信方式と前記第２通信方式との切り替え回数が所定回数を超えた場合に，前記第１通信方式で送信するパケットに誤り訂正符号を付す誤り訂正符号付与手段をさらに備えたことを特徴とする，請求項１１または１２に記載の情報通信装置。
【請求項１４】
請求項１１〜１３のいずれかに記載の情報通信装置をサーバとし，請求項１〜１０のいずれかに記載の情報通信装置を前記サーバとの間または情報通信装置相互間でデータ通信を行うノードとしたことを特徴とする，情報通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，情報通信装置および情報通信システムにかかり，特に，センサネットワークシステムにおいて，柔軟なデータブロードキャストを行うための情報通信装置および情報通信システムに関する。
【背景技術】
【０００２】
近年，自然環境やビルなどの環境測定，人物観察等を行う手法として，センサネットワークが研究されている。センサネットワークとは，センサ機能と無線通信機能を持った小さなデバイス（以下，ノードという。）を測定場所に多数設置し，環境測定，人物観察等を行う技術である。個々のノードがセンシングしたデータは，ノード同士でアドホックネットワークを形成させ，マルチホップ通信を行って取り出す。ここで，ノードにはマルチホップ通信機能が必須である。
【０００３】
センサネットワークのセンサノードには，ワンチップマイコンが利用されている。通常，ワンチップマイコンのソフトウェア更新は有線を使って人手で行われていた。しかし，センサネットワークではノードの数が多いので，有線での更新は現実的ではない。そこで無線ネットワークを介してソフトウェアの更新を行いたい。
【０００４】
センサネットワークのソフトウェア更新には２つの要求事項がある。その一つは，できるだけ短期間ですべてのノードのソフトウェア更新が終了することである。その理由は，ソフトウェア更新中，通常，ノードはセンシング動作ができないためである。この要求を満たすためには，できるだけ高速なデータ転送方式を用いればよい。
【０００５】
もう一つの要求は，確実にすべてのノードのソフトウェア更新が実行されることである。その理由は，センサネットワークは多数のノードが協調動作して測定を行うため，一部のノードのソフトウェア更新が不十分で，想定外の動作をすると，正しい測定を行うことができないためである。この要求を満たすためには，できるだけ信頼性の高いデータ通信方式を用いればよい。
【０００６】
【非特許文献１】Ad-hoc On-Demand Distance Vector Routing
【非特許文献２】RFC793(TCP)
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで，一般的には，高速なデータ転送方式は信頼性が低く，また，信頼性の高いデータ通信方式は低速である。このため，高速なデータ転送方式と信頼性の高いデータ転送方式のどちらの方式を使うことが最適であるかは，システムの要求などにより変化するので，決定するのが難しい。また，システム要求によりどちらの方式を採用するか予め決定できたとしても，無線通信の通信環境は予想することが難しく，シミュレーション時と実際の測定時では通信環境が異なる場合が多い。さらに，通信環境は日々の周囲の環境変化に左右されるので，方式を事前に決定しておくことは現実的ではない。また，そういった環境変化に人手によって対応することも，管理コストの観点から現実的ではない。
【０００８】
本発明は，従来の情報通信技術が有する上記問題点に鑑みてなされたものであり，本発明の目的は，通信環境や情報通信装置の数に応じた最適な通信を，人手によらず自動で行うことの可能な，新規かつ改良された情報通信装置および情報通信システムを提供することである。本発明は，例えばセンサネットワークのソフトウェア更新時において，サーバからノードへソフトウェアデータを送信する際などに有用な技術を提供するものである。
【課題を解決するための手段】
【０００９】
上記課題を解決するため，本発明の第１の観点によれば，サーバとの間で通信ネットワークを構成する情報通信装置（１０１）が提供される。本発明の情報通信装置は，第１通信方式で無線通信を行うための第１通信制御部（１０２）と，第２通信方式で無線通信を行うための第２通信制御部（１０４）と，通信ネットワークを構成する他の情報通信装置と，第１通信方式または第２通信方式でパケット送受信を行う通信部（１０３）と，通信部で受信したパケットを解析し，第１通信方式と第２通信方式とを切り替えるパケット解析部（１０５）と，第１通信方式でパケットを受信した場合にリセットされるタイマ（１０７）と，タイマのタイムアウト時に，第２通信方式でパケット送受信を行うことをサーバに通知するサーバ通信部（１０６）と，を備えたことを特徴とする（請求項１）。
【００１０】
かかる構成によれば，第１通信方式でパケットを受信した場合にリセットされるタイマを備え，第１通信方式でデータ通信を行いつつ，タイマのタイムアウト時（第１通信方式による通信失敗時）には，第２通信方式に切り替えることができる。このようにして，通信環境や情報通信装置の数に応じた最適な通信を，人手によらず自動で行うことができる。なお，タイマのリセットは，パケット解析部により行うようにしてもよい。
【００１１】
また，本発明の他の情報通信装置は，第１通信方式で無線通信を行うための第１通信制御部（１０２）と，第２通信方式で無線通信を行うための第２通信制御部（１０４）と，通信ネットワークを構成する他の情報通信装置と，第１通信方式または第２通信方式でパケット送受信を行う通信部（１０３）と，通信部で受信したパケットを解析し，第１通信方式と第２通信方式とを切り替えるパケット解析部（４０２）と，第１通信方式でパケットを受信した場合にリセットされるタイマ（４０３）と，タイマのタイムアウト時に，喪失したパケットに関する喪失パケット情報通知パケットを，通信ネットワークを構成する他の情報通信装置に第２通信方式で送信する情報通信装置通信部（４０５）と，他の情報通信装置から喪失したパケットに関する情報を受け取ったことをサーバに通知するサーバ通信部（１０６）と，を備えたことを特徴とする（請求項２）。
【００１２】
かかる構成によれば，上記効果に加え，タイマのタイムアウト時（第１通信方式による通信失敗時）における第２通信方式による通信が，サーバを利用せずに他の情報通信装置との間で局所的に行われるため，第１通信方式による通信失敗時のネットワークトラフィックを低く抑えることができる。なお，タイマのリセットは，パケット解析部により行うようにしてもよい。
【００１３】
上記本発明の情報通信装置において，以下のような応用が可能である。
【００１４】
第１通信方式は，第２通信方式に比べて，エラーがなかった場合に，サーバから発信したデータが，通信ネットワークを構成するすべての情報通信装置に到達するまでの時間が短い通信方式，すなわち，エラーがなかった場合の，見かけ上の通信速度が速いものとすることができる（請求項３）。エラーが起こらない時は，短期間ですべての情報通信装置にデータ送信を行うことができるので，例えば，ソフトウェア更新の場合など，ソフトウェア更新中に情報通信装置を利用できないという問題に対し有用である。なおこのように，エラーがなかった場合に，サーバから通信ネットワークを構成するすべての情報通信装置にデータが到達する時間が短いということを，以下単に，通信速度が速いと言う。
【００１５】
このような通信速度の速い通信方式としては，例えば，単純で高速なデータ転送方式であるフラッディング（Ｆｌｏｏｄｉｎｇ）通信方式がある（請求項４）。フラッディング通信方式では，受信したパケットを解析し，パケットをそのまま送信する。また，第１通信方式は，ブロードキャスト通信方式（通信ネットワーク上のすべての情報通信端末にデータを送信する方式）であってもよい（請求項５）。
【００１６】
第２通信方式は，第１通信方式に比べて，通信の信頼性が高いものとすることができる（請求項６）。すべての情報通信装置に確実にデータ送信を行うことができるので，例えば，すべての情報通信装置が協同動作する場合に，一部の情報通信装置へのデータ送信が不完全なときに生ずる不具合を解消することができる。
【００１７】
このような信頼性の高い通信方式としては，例えば，ＡＯＤＶ等のルーティングプロトコルを利用して経路を決定し，ＴＣＰ（Transmission Control Protocol）などの信頼性の高いトランスポートプロトコルを用いた通信（以下，マルチホップＰ２Ｐ通信という。）がある（請求項７）。マルチホップＰ２Ｐ通信方式では，受信したパケットを解析し，パケット内部のパケット送信先情報を解析して送信する。
【００１８】
通信部は，サーバからデータ発信を開始する旨のデータ発信通知パケットを受信した場合に，サーバに対しデータ発信通知パケットを受信した旨のデータ通信通知完了パケットを送信するようにしてもよい（請求項８）。このようにして，サーバは，ノードがデータ受信の準備が完了したことを確認することができ，データ通信を確実に行うことができる。
【００１９】
通信部は，第１通信方式でパケットを受信した場合に，サーバに対しパケットを受信した旨の情報（データ受信通知パケット）を送信するようにしてもよい（請求項９）。また，通信部は，第１通信方式でパケットを受信できない場合に，サーバに対しパケットを受信できない旨の情報（パケット喪失通知パケット）を送信するようにしてもよい。
【００２０】
また，データ発信を開始する旨を伝えるデータ発信通知パケットを受信した場合に，データ発信通知パケットを発信した情報通信装置以外との通信を，データ発信通知パケットを発信した情報通信装置との通信が終了するまで中止するようにしてもよい（請求項１０）。すなわち，データ発信通知を受信した情報通信装置は，サーバからのデータ通信がすべて完了するまで，他の通信を一時停止するようにしてもよい。このようにすることにより，通信トラフィックが低くなり，短時間でサーバからの通信を終了することができる。さらに，情報通信装置の動作が単純になるので，通信ネットワークを構成するノードを容易に作成することができるようになる。
【００２１】
上記課題を解決するため，本発明の第２の観点によれば，複数の他の情報通信装置との間で通信ネットワークを構成する情報通信装置（２０１）が提供される。本発明の情報通信装置は，第１通信方式で無線通信を行うための第１通信制御部（２０３）と，第２通信方式で無線通信を行うための第２通信制御部（２０５）と，通信ネットワークを構成する複数の他の情報通信装置と，第１通信方式または第２通信方式でパケット送受信を行う通信部（２０４）と，通信部で受信したパケットを解析し，第１通信方式と第２通信方式とを切り替える制御部（２０６）と，複数の他の情報通信装置の情報を記憶する情報通信装置情報記憶部（２０８）と，複数の他の情報通信装置に対しデータ送信を開始する旨を通知するデータ送信通知信号を制御するデータ送信通知信号制御部（２０２）と，複数の他の情報通信装置へ送信するためのデータを記憶しておく送信データ記憶部（２０７）と，を備えたことを特徴とする（請求項１１）。
【００２２】
かかる構成によれば，通信ネットワークを構成する複数の他の情報通信装置（例えば，データ送信を要求するノード）との間でデータ通信を行うにあたり，他の情報通信装置から受信したパケットを解析し，他の情報通信装置の状態に応じて，第１通信方式と第２通信方式とを切り替えて，データ送信を行うことができる。このようにして，複数の他の情報通信装置へデータを送信したい場合に，通信環境や情報通信装置の数に応じた最適な通信を，人手によらず自動で行うことが可能である。
【００２３】
上記本発明の情報通信装置において，以下のような応用が可能である。
【００２４】
データ送信通知信号制御部は，データ送信通知信号を送信した複数の他の情報通信装置からの，データ送信通知信号を受信した旨のデータ発信通知完了パケットを受信することで，複数の他の情報通信装置がデータ送信通知信号を受信したことを確認するようにしてもよい（請求項１２）。このようにして，他の情報通信装置がデータ受信の準備が完了したことを確認することができ，データ通信を確実に行うことができる。
【００２５】
制御部による第１通信方式と第２通信方式との切り替え回数が所定回数を超えた場合に，第１通信方式で送信するパケットに誤り訂正符号を付す誤り訂正符号付与手段をさらに備えるようにしてもよい（請求項１３）。制御部による通信方式の切り替え回数が所定回数を超えるということは，通信状態が不安定であることを意味する。このような場合に第１通信方式で送信するパケットに誤り訂正符号を付すことで，送信データの誤りを検出／訂正することができる。
【００２６】
上記課題を解決するため，本発明の第３の観点によれば，サーバとノードとの間でデータ通信を行う情報通信システムが提供される。ここでサーバは，上記本発明の第２の観点にかかる情報通信装置（請求項１１〜１３）であり，ノードは，上記本発明の第１の観点にかかる情報通信装置（請求項１〜１０）である。そしてノードは，サーバとの間あるいはノード相互間でデータ通信を行うことを特徴とする（請求項１４）。
【００２７】
かかるシステムによれば，上記第１の観点にかかる情報通信装置の効果および上記第２の観点にかかる情報通信装置の効果を得ることができ，通信環境や情報通信装置の数に応じた最適な通信を，人手によらず自動で行うことが可能である。本発明の情報通信システムは，例えばセンサネットワークのソフトウェア更新時において，サーバからノードへソフトウェアデータを送信する際などに有用である。
【００２８】
また，本発明の他の観点によれば，コンピュータを，上記第１の観点にかかる情報通信装置または上記第２の観点にかかる情報通信装置として機能させるためのプログラムと，そのプログラムを記録した，コンピュータにより読み取り可能な記録媒体が提供される。ここで，プログラムはいかなるプログラム言語により記述されていてもよい。また，記録媒体としては，例えば，ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ，フレキシブルディスクなど，プログラムを記録可能な記録媒体として現在一般に用いられている記録媒体，あるいは将来用いられるいかなる記録媒体をも採用することができる。
【００２９】
なお上記において，構成要素に付随して括弧書きで記した参照符号は，理解を容易にするため，後述の実施形態および図面における対応する構成要素を一例として記したに過ぎず，本発明がこれに限定されるものではない。
【発明の効果】
【００３０】
以上説明したように，本発明によれば，通信環境や情報通信装置の数に応じた最適な通信を，人手によらず自動で行うことが可能である。本発明は，例えばセンサネットワークのソフトウェア更新時において，サーバからノードへソフトウェアデータを送信する際などに有用である。
【発明を実施するための最良の形態】
【００３１】
以下に添付図面を参照しながら，本発明にかかる情報通信装置および情報通信システムの好適な実施形態について詳細に説明する。なお，本明細書および図面において，実質的に同一の機能構成を有する構成要素については，同一の符号を付することにより重複説明を省略する。
【００３２】
（第１の実施形態）
第１の実施形態では，フラッディング通信方式とサーバとノード間のマルチホップＰ２Ｐ通信方式とを組み合わせることにより，ソフトウェア更新時の通信環境に合った通信方式を行うようにしたことを特徴とする。具体的に概説すると，フラッディング通信方式でソフトウェアデータを配信し，通信環境が悪くてソフトウェアデータが届かなかったところにはマルチホップＰ２Ｐ通信方式でサーバからソフトウェアデータを送信する。以下に詳細に説明する。なお以下では，「ソフトウェアデータ」のことを単に「送信データ」ともいう。
【００３３】
図１は，本実施形態にかかる情報通信システムで利用される，ノード１０１の詳細な構成を示す説明図である。
【００３４】
本発明の情報通信装置の一例たるノード１０１は，図１に示したように，フラッディング通信制御を行う機能を持つフラッディング通信制御部１０２と，他のノードと無線通信を行う機能を行う通信部１０３と，マルチホップＰ２Ｐ通信制御を行う機能を持つマルチホップＰ２Ｐ通信制御部１０４と，受信したパケットを解析する機能を持つパケット解析部１０５と，サーバと通信を行う機能を持つサーバ通信部１０６と，タイマ１０７を備えて構成されている。なお，ノード１０１には，この他にも，環境測定のためのセンサ部や，電源部や，送信されたデータを記憶するための記憶部などを備えて構成することができる。以下に，ノード１０１の各構成要素について説明する。
【００３５】
フラッディング通信制御部１０２はパケット解析部１０５と通信部１０３とに接続されており，パケット解析部１０５で解析されたパケットが，フラッディング通信方式で通信するためのパケットである場合に，通信部１０３を制御してサーバ２０１や周囲のノードとフラッディング通信方式で通信を行う機能を持つ。
【００３６】
通信部１０３は，フラッディング通信制御部１０２とマルチホップＰ２Ｐ通信制御部１０４とに接続されており，接続されているフラッディング通信制御部１０２とマルチホップＰ２Ｐ通信制御部１０４からの制御により，サーバ２０１や周囲のノードと無線通信を行う機能を持つ。
【００３７】
マルチホップＰ２Ｐ通信制御部１０４は，パケット解析部１０６と通信部１０３とに接続されており，パケット解析部１０５で解析されたパケットが，マルチホップＰ２Ｐ通信を行うためのパケットである場合に，通信部１０３を制御してサーバ２０１や周囲のノードとマルチホップＰ２Ｐ通信を行う機能を持つ。
【００３８】
パケット解析部１０５はフラッディング通信制御部１０２と通信部１０３とマルチホップＰ２Ｐ通信制御部１０４とタイマ１０７とに接続されており，通信部１０３から来たパケットの内部を解析し，解析結果をフラッディング通信制御部１０２とマルチホップＰ２Ｐ通信制御部１０４に知らせる機能と，解析したパケットの内容によってタイマ１０７の設定を行う機能を持つ。
【００３９】
サーバ通信部１０６はタイマ１０７と接続されており，後述のサーバ２０１と通信を行う機能を持つ。
【００４０】
タイマ１０７はパケット解析部１０５とサーバ通信部１０６に接続されており，パケット解析部１０５からの指示によりタイマ１０７を設定する機能と，タイマタイムアウトの際にサーバ通信部１０６に，サーバ２０１へその旨を知らせるよう促す機能を持つ。
【００４１】
以上，ノード１０１の詳細について説明した。
図２は，本実施形態にかかる情報通信システムで利用される，サーバの詳細な構成を示す説明図である。
【００４２】
サーバ２０１は，図２に示したように，サーバ２０１が管理しているノードへこれからデータを送信することを通知する信号を制御するためのデータ送信通知信号制御部２０２と，フラッディングデータ送信制御を行うためのフラッディング通信制御部２０３と，ノード通信と通信を行うための通信部２０４と，ノードとマルチホップＰ２Ｐ通信を行うためのマルチホップＰ２Ｐ通信制御部２０５と，通信データや通信方式を制御するための制御部２０６と，ノードに送信するデータを記憶しておくための送信データ記憶部２０７と，ノード情報記憶部２０８を備えて構成されている。なお，サーバ２０１には，この他にも，有線ネットワークへの接続部や，電源部などを備えて構成することができる。以下に，サーバ２０１の各構成要素について説明する。
【００４３】
データ送信通知信号制御部２０２はフラッディング通信制御部２０３と接続されており，ノード１０１にサーバ２０１からデータを送信することを知らせるためのデータ送信通知信号を生成する機能を持つ。
【００４４】
フラッディング通信制御部２０３はデータ送信通知信号制御部２０２と通信部２０４と制御部２０６とに接続されており，データ送信通知信号制御部２０２からの要求により，データ送信通知信号をフラッディング通信する準備を行う機能と，制御部２０６から渡された送信データをフラッディング通信する準備を行う機能と，フラッディング通信を行えるように加工したデータを通信部２０４へ送信する機能を持つ。
【００４５】
通信部２０４はフラッディング通信制御部２０３とマルチホップＰ２Ｐ通信制御部２０５と制御部２０６とに接続されており，フラッディング通信制御部２０３やマルチホップＰ２Ｐ通信制御部２０５から送られてきたデータを送信する機能と，受信したデータを制御部２０６へ送る機能とを持つ。
【００４６】
マルチホップＰ２Ｐ通信制御部２０５は通信部２０４と制御部２０６とに接続されており，ノードとマルチホップＰ２Ｐ通信を行う準備をする機能と，準備したデータを通信部２０４へ送信する機能を持つ。
【００４７】
制御部２０６はフラッディング通信制御部２０３と通信部２０４とマルチホップＰ２Ｐ通信制御部２０５と送信データ記憶部２０７に接続されており，送信データ記憶部２０７内のデータを，フラッディング通信方式とマルチホップＰ２Ｐ通信方式のどちらの通信方式を使ってノードに送信するかを判断する機能を持つ。
【００４８】
送信データ記憶部２０７は制御部２０６と接続されており，制御部２０６の要求により記憶している送信データを制御部２０６に送信する機能を持つ。ノード情報記憶部２０８は制御部２０６と接続されており，管理しておくノード情報を記憶する機能と，制御部２０６にその情報を開示する機能を持つ。管理しているノード情報は，例えば，管理しているノードの数，管理しているノードのＩＤ番号テーブルなどがある。
【００４９】
以上，サーバ２０１の詳細について説明した。
図３は，本実施形態にかかる情報通信システムの概念的な説明図である。
図３に示した一例では，情報通信システム１は，１台のサーバ２０１と，３台のノード１０１（１０ｌａ，１０１ｂ，１０１ｃ）を含んで構成されている。
【００５０】
通信方式による，データの流れ方の違いを以下に解説する。
ノード１０１とサーバ２０１との間でマルチホップＰ２Ｐ通信を行う場合，ノード１０１ａはサーバ２０１と直接通信を行い，ノード１０１ｂはノード１０１ａにデータを中継してもらってサーバ２０１と通信を行い，ノード１０１ｃはノード１０１ａにデータを中継してもらってサーバ２０１と通信を行うものとする。一方，サーバ２０１からフラッディング通信を行う場合，データはサーバ２０１からノード１０１ａを介してノード１０１ｂ，ノード１０１ｃへと広がる。
【００５１】
図４は，本実施形態にかかる情報通信システム１の動作を示す流れ図である。また，図５は，本実施形態のデータの流れを示す説明図である。
【００５２】
本実施形態では，前提として，サーバはノードの数を把握しているものとして説明する。すなわち，サーバ２０１は，自分が管理しているノードは３つ（ノード１０１ａ，ノード１０ｌｂ，ノード１０１ｃ）であることを知っている。
【００５３】
データ送信を行うサーバ２０１は，まずシステム内部のノード１０１に向かってこれからデータを送信する旨を伝えるための「データ発信通知パケット」を，フラッディング通信を用いて全ノードに向かって送信する（ステップＳ１０１）。このように本実施形態では，これからソフトウェア更新を行うということを，システム上のノード全体に予め通知することを特徴としている。
【００５４】
「データ発信通知パケット」を受け取ったノード１０１は，受け取った旨をサーバ２０１に知らせるための「データ発信通知受信完了パケット」をサーバへ返信する（ステップＳ１０２）。
【００５５】
サーバ２０１は，予め定めておいた時間以内に「データ発信通知受信完了パケット」を，自分が管理しているノード１０１の数（この例の場合，３つ）だけ受信したかを判断する（ステップＳ１０３）。ノードの数だけ受信すればデータ発信を始める（ステップＳ１０４へ進む）。予め定めておいた時間以内に「データ発信通知受信完了パケット」を，自分が管理しているノードの数だけ受信できなければ，再び「データ発信通知パケット」を，フラッディング通信を用いて全ノードへ送信する（ステップＳ１０１へ戻る）。
【００５６】
サーバ２０１は送信データを，ノード１０１に向かってフラッディング通信を利用して送信する（ステップＳ１０４）。サーバ２０１が送信するデータはパケットに分割して送信される。以下，このパケットのことを「フラッディングデータパケット」という。
【００５７】
各ノード１０１は，「フラッディングデータパケット」を受信すると，すべてのデータを受信したかを判断する（ステップＳ１０５）。すべてのデータを受信した場合には処理を終了する。
【００５８】
各ノード１０１は，「フラッディングデータパケット」を受信すると，タイマ１０７をセットする（ステップＳ１０６）。
【００５９】
各ノード１０１は，タイマタイムアウト時間までに次の「フラッディングデータパケット」を受信したかを判断する（ステップＳ１０７）。タイマタイムアウト時間までに次の「フラッディングデータパケット」を受信すれば，タイマセットし直す。タイマタイムアウトが起これば，通信途中で「フラッディングデータパケット」が失われたと判断する。
【００６０】
タイマタイムアウトが起き，通信途中で「フラッディングデータパケット」が失われたと判断された場合，サーバ通信部１０６を利用してその旨をサーバ２０１へ伝える（ステップＳ１０８）。以下，サーバ通信部１０６を使ったノードからサーバへの通知パケットを，「フラッディングデータパケット喪失通知パケット」という。
【００６１】
「フラッディングデータパケット喪失通知パケット」を受信したサーバ２０２は，「フラッディングデータパケット喪失通知パケット」を送信したノード１０１とサーバ２０１間に何らかの通信障害があると判断して，フラッディング通信方式よりも信頼性の高いマルチホップＰ２Ｐ通信方式を利用してフラッディング通信時に喪失した分のデータを送信する（ステップＳ１０９）。以下，マルチホップＰ２Ｐ通信でのパケットを「マルチホップＰ２Ｐデータパケット」という。
【００６２】
（第１の実施形態の効果）
以上説明したように，本実施形態によれば，サーバ２０１からすべてのノード１０１ヘソフトウェアデータを送信したい際に，通信環境やノードの数に応じた最適な通信を，人手によらず自動で行うことができる。
【００６３】
本実施形態の応用例として，以下の利用形態がある。
【００６４】
本実施形態では，「データ発信通知パケット」を受信した際に，すべてのノード１０１は「データ発信通知受信完了パケット」を返信することにしていたが，ノード１０１は必ずしも「データ発信通知受信完了パケット」を返信しなくてもよい。この場合，サーバ２０１は「データ発信通知パケット」を送信し終わってから短時間で「フラッディングデータパケット」を送信し始めることができる。
【００６５】
「データ発信通知パケット」の再送回数が一定以上になった場合，「データ発信通知パケット」以後の「フラッディングデータパケット」，「マルチホップＰ２Ｐデータパケット」に誤り訂正符号を付けることにしてもよい。こうすることにより，通信環境が悪い場合にも「フラッディングデータパケット」がノード１０１に届く可能性が高まり，サーバ２０１の送信データがすべてのノード１０１に届くまでの時間が短くなる。
【００６６】
「フラッディングデータパケット喪失通知パケット」がサーバ２０１との通信途中で喪失してしまう場合がある。そこで，「フラッディングデータパケット喪失通知パケット」をサーバ２０１へ送信する代わりに，フラッディングデータを受信した場合にその旨を知らせるためのパケット（以下，「フラッディングデータパケット受信通知パケット」という。）をサーバ２０１に送ることにしても良い。サーバ２０１が「フラッディングデータパケット受信通知パケット」を受信できなければ，ノード１０１が「フラッディングデータパケット受信通知パケット」を送信していない可能性が高いので，サーバ２０１は，ノード１０１へデータを再送する。こうすることにより，通信の信頼性が向上する。
【００６７】
サーバ２０１が「フラッディングデータパケット喪失通知パケット」を一定数以上受信した場合，または，「フラッディングデータパケット受信通知パケット」が一定数以下であった場合，マルチホップＰ２Ｐ通信を行わずに，再びフラッディング通信を行っても良い。この際，「フラッディングデータパケット」に誤り訂正符号をつけても良い。
【００６８】
本実施形態ではサーバ通信部１０６と通信部１０３を別個に備える構成としていたが，サーバ通信部１０６を備える構成とせずに，フラッディング通信制御部１０２やマルチホップＰ２Ｐ通信制御部１０４や通信部１０３を利用してサーバ２０１と通信を行うことによっても同様の効果を得ることができる。
【００６９】
（第２の実施形態）
第１の実施形態では，「フラッディングデータパケット」喪失時には，サーバ２０１からマルチホップＰ２Ｐ通信を使ってソフトウェアデータを更新していた。本実施形態では，ソフトウェアデータの再送を，フラッディングデータパケットを受信できなかったノードの周辺ノードから受信することを特徴とする。そしてさらに，周辺ノードから受信するだけでは，サーバ２０１が，いつシステム全体にソフトウェアデータが行き渡ったか把握できないので，データを更新することとデータ更新完了について，サーバ２０１に通知することを特徴とする。以上により，第１の実施形態に比べてネットワークトラフィックを低減させることが可能となる。
【００７０】
図６は，本実施形態にかかる情報通信システムで利用される，ノード４０１の詳細な構成を示す説明図である。
【００７１】
ノード４０１は，図６に示したように，フラッディング通信制御を行う機能を持つフラッディング通信制御部１０２と，他のノードと無線通信を行う機能を行う通信部１０３と，マルチホップＰ２Ｐ通信制御を行う機能を持つマルチホップＰ２Ｐ通信制御部１０４と，受信したパケットを解析する機能を持つパケット解析部４０２と，サーバと通信を行う機能を持つサーバ通信部１０６と，タイマ４０３と，サーバから送信されたデータを記憶するデータ記憶部４０４と，周辺ノードにサーバからの送信データを保持しているかどうかを質問するための周辺ノード通信部４０５を備えて構成されている。なお，ノード４０２には，この他にも，環境測定のためのセンサ部や，電源部などを備えて構成することができる。以下に，ノード４０１の各構成要素について説明する。
【００７２】
フラッディング通信制御部１０２，通信部１０３，およびマルチホップＰ２Ｐ通信制御部１０４については，第１の実施形態と実質的に同様であるので，重複説明を省略する。
【００７３】
パケット解析部４０２はフラッディング通信制御部１０２と，通信部１０３と，マルチホップＰ２Ｐ通信制御部１０４と，サーバ通信部１０６と，タイマ４０３と，データ記憶部４０４と，周辺ノード通信部４０５とに接続されており，通信部１０３から来たパケットの内部を解析し，解析結果をフラッディング通信制御部１０２とマルチホップＰ２Ｐ通信制御部１０４に知らせる機能と，解析したパケットの内容によってタイマ４０３を設定する機能と，受信したデータをデータ記憶部４０４へ保存する機能と，タイマによって周辺ノード通信部４０５を利用する機能とを持つ。
【００７４】
タイマ４０３はパケット解析部４０２に接続されており，タイムアウト時にそのことをパケット解析部４０２へ知らせる機能を持つ。
【００７５】
データ記憶部４０４はパケット解析部４０２と周辺ノード通信部４０５とに接続されており，パケット解析部４０２から送られてきたデータを記憶する手段と，記憶内容を周辺ノード通信部４０５へ開示する機能を持つ。
【００７６】
周辺ノード通信部４０５はパケット解析部４０２とデータ記憶部４０４とに接続されており，パケット解析部４０２からの要請により，データ記憶部４０４の内容を周囲のノードに送信する機能を持つ。
【００７７】
以上，ノード４０１の詳細について説明した。
図７は，本実施形態にかかる情報通信システムの概念的な説明図である。
図７に示した一例では，情報通信システム２は，１台のサーバ２０１と，３台のノード４０１（４０ｌａ，４０１ｂ，４０１ｃ）を含んで構成されている。サーバ２０１は，上記第１の実施形態と実質的に同様である。以下の説明では，ノード４０１ａに対し，ノード４０１ｂ，４０１ｃを周辺ノードという。また，周辺ノード４０１ｂは，ノード４０１ａが喪失したデータを保持しているものとし，周辺ノード４０１ｃは，ノード４０１ａが喪失したデータを保持していないものとする。
【００７８】
図８は，本実施形態にかかる情報通信システム２の動作を示す流れ図である。また，図９は，本実施形態のデータの流れを示す説明図である。以下では，上記第１の実施形態と異なる点を中心に説明する。
【００７９】
ステップＳ１０１〜ステップＳ１０４については，第１の実施形態と実質的に同様であるので，重複説明を省略する。
【００８０】
各ノード４０１は，「フラッディングデータパケット」を受信すると，すべてのデータを受信したかを判断する（ステップＳ１０５）。すべてのデータを受信した場合には処理を終了する。
【００８１】
各ノード４０１は，「フラッディングデータパケット」を受信すると，タイマ４０３をセットする（ステップＳ１０６）。
【００８２】
各ノード４０１は，タイマタイムアウト時間までに次の「フラッディングデータパケット」を受信したかを判断する（ステップＳ１０７）。タイマタイムアウト時間までに次の「フラッディングデータパケット」を受信すれば，タイマセットし直す。タイマタイムアウトが起これば，通信途中で「フラッディングデータパケット」が失われたと判断する。
【００８３】
タイマタイムアウトが起き，通信途中で「フラッディングデータパケット」が失われたと判断された場合，サーバ通信部１０６を利用してその旨をサーバ２０１へ伝える（ステップＳ１０８）。以下，サーバ通信部１０６を使ったノードからサーバへの通知パケットを，「フラッディングデータパケット喪失通知パケット」という。
【００８４】
ここまでの動作は，第１の実施形態と実質的に同様である。本実施形態では，ノード４０１ａが「フラッディングデータパケット」を喪失したと判断したときの，各ノード４０１ａ，４０１ｂ，４０１ｃの動作が，第１の実施形態と異なる。以下，本実施形態に特有の動作について説明する。
【００８５】
「フラッディングデータパケット喪失通知パケット」を発信したノード４０１ａは，同時期に周辺ノード通信部４０５を利用して，ノード４０１ａが受信できなかった「フラッディングデータパケット」の情報を周辺ノード４０１ｂ，４０１ｃに送信する（ステップＳ２０９）。この情報には，例えば，パケットのシリアルナンバーやデータ名などが含まれる。以下，これらの情報を持つパケットを「喪失パケット情報通知パケット」という。
【００８６】
「喪失パケット情報通知パケット」を受信し，かつ，「喪失パケット情報通知パケット」を発信したノード４０１ａが喪失したデータをデータ記憶部４０４に保持している周辺ノード４０１ｂは，周辺ノード通信部４０５を利用して，「喪失パケット情報通知パケット」を発信したノード４０１ａに，喪失したデータを送信する（ステップＳ２１０）。以下，喪失したデータを送信する情報を運ぶためのパケットを「喪失データ補完パケット」という。ここでの通信は，信頼性の高いマルチホップＰ２Ｐ通信方式でデータ送信を行う。
【００８７】
上記のノード４０１ａと周辺ノード４０１ｂとの通信の間，「喪失パケット情報通知パケット」を受信し，かつ，「喪失パケット情報通知パケット」を発信したノード４０１ａが喪失したデータをデータ記憶部４０４に保持していない周辺ノード４０１ｃは，特に動作を行わない。
【００８８】
「喪失データ補完パケット」を受信したノード４０１ａは，データを補完し，補完が完了したことを，サーバ通信部１０６を利用してサーバ２０１へ知らせる（ステップＳ２１１）。以下，データ補完完了を知らせるパケットを「データ補完完了通知パケット」という。
【００８９】
（第２の実施形態の効果）
以上説明したように，本実施形態によれば，第１の実施形態の効果に加え，フラッディング通信失敗時のマルチホップＰ２Ｐ通信方式によるデータ送信が，サーバ２０１を利用せずに局所的に行われるため，フラッディング通信失敗時のネットワークトラフィックを低く抑えることができる。
【００９０】
本実施形態の応用例として，以下の利用形態がある。
【００９１】
本実施形態では，「データ発信通知パケット」を受信した際に，すべてのノード４０１は「データ発信通知受信完了パケット」を返信することにしていたが，ノード４０１は必ずしも「データ発信通知受信完了パケット」を返信しなくてもよい。この場合，サーバ２０１は「データ発信通知パケット」を送信し終わってから短時間で「フラッディングデータパケット」を送信し始めることができる。
【００９２】
「データ発信通知パケット」の再送回数が一定以上になった場合，「データ発信通知パケット」以後の「フラッディングデータパケット」，「マルチホップＰ２Ｐデータパケット」に誤り訂正符号を付けることにしてもよい。こうすることにより，通信環境が悪い場合にも「フラッディングデータパケット」がノード４０１に届く可能性が高まり，サーバ２０１の送信データがすべてのノード４０１に届くまでの時間が短くなる。
【００９３】
「フラッディングデータパケット喪失通知パケット」がサーバ２０１との通信途中で喪失してしまう場合がある。そこで，「フラッディングデータパケット喪失通知パケット」をサーバ２０１へ送信する変わりに，「フラッディングデータパケット受信通知パケット」をサーバ２０１に送ることにしても良い。サーバ２０１が「フラッディングデータパケット受信通知パケット」を受信できなければ，ノード４０１が「フラッディングデータパケット受信通知パケット」を送信していない可能性が高いので，サーバ２０１は，ノード４０１へデータを再送する。こうすることにより，通信の信頼性が向上する。
【００９４】
サーバ２０１が「フラッディングデータパケット喪失通知パケット」を一定数以上受信した場合，または，「フラッディングデータパケット受信通知パケット」が一定数以下であった場合，マルチホップＰ２Ｐ通信を行わずに，再びフラッディング通信を行っても良い。この際，「フラッディングデータパケット」に誤り訂正符号をつけても良い。
【００９５】
本実施形態ではサーバ通信部１０６と通信部１０３を別個に備える構成としていたが，サーバ通信部１０６を備える構成とせずに，フラッディング通信制御部１０２やマルチホップＰ２Ｐ通信制御部１０４や通信部１０３を利用してサーバ２０１と通信を行うことによっても同様の効果を得ることができる。
【００９６】
以上，添付図面を参照しながら本発明にかかる情報通信装置および情報通信システムの好適な実施形態について説明したが，本発明はかかる例に限定されない。当業者であれば，特許請求の範囲に記載された技術的思想の範疇内において各種の変更例または修正例に想到し得ることは明らかであり，それらについても当然に本発明の技術的範囲に属するものと了解される。
【産業上の利用可能性】
【００９７】
本発明は，情報通信装置および情報通信システムに利用可能であり，特に，センサネットワークシステムにおいて，柔軟なデータブロードキャストを行うための情報通信装置および情報通信システムに利用可能である。
【図面の簡単な説明】
【００９８】
【図１】第１の実施形態にかかるノードの構成を示す説明図である。
【図２】第１の実施形態にかかるサーバの構成を示す説明図である。
【図３】第１の実施形態にかかる情報通信システムを示す説明図である。
【図４】第１の実施形態にかかる情報通信システムの動作を示す流れ図である。
【図５】第１の実施形態のデータの流れを示す説明図である。
【図６】第２の実施形態にかかるノードの構成を示す説明図である。
【図７】第２の実施形態にかかる情報通信システムを示す説明図である。
【図８】第２の実施形態にかかる情報通信システムの動作を示す流れ図である。
【図９】第２の実施形態のデータの流れを示す説明図である。
【符号の説明】
【００９９】
１  情報通信システム
２  情報通信システム
１０１（１０１ａ，１０１ｂ，１０１ｃ）  ノード
１０２  フラッディング通信制御部
１０３  通信部
１０４  マルチホップＰ２Ｐ通信制御部
１０５  パケット解析部
１０６  サーバ通信部
１０７  タイマ
２０１  サーバ
２０２  データ送信通知信号制御部
２０３  フラッディング通信制御部
２０４  通信部
２０５  マルチホップＰ２Ｐ通信制御部
２０６  制御部
２０７  送信データ記憶部
２０８  ノード情報記憶部
４０１  ノード
４０１ａ  ノード
４０１ｂ，４０１ｃ  周辺ノード
４０２  パケット解析部
４０３  タイマ
４０４  データ記憶部
４０５  周辺ノード通信部
【図１】
2006005746.tif 000003
【図２】
2006005746.tif 000004
【図３】
2006005746.tif 000005
【図４】
2006005746.tif 000006
【図５】
2006005746.tif 000007
【図６】
2006005746.tif 000008
【図７】
2006005746.tif 000009
【図８】
2006005746.tif 000010
【図９】
2006005746.tif 000011