(57)【要約】システム規模の増大が抑えられ、且つアドホック型のシステムであっても適用可能であるとともに、他のセンサノード（１）との間で計時している時刻の同期を可能にする。各センサノード（１）は、ネットワーク上に存在しているセンサノード（１）間で繰り返し転送した時刻系列データを用いて、ネットワーク上に存在する他のセンサノード（１）のタイマ（１４）が計時している平均時刻を算出し、自センサノード（１）のタイマ（１４）の時刻をこの平均時刻に合わせる。
2010116968.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続されている他のネットワーク端末と通信する通信手段と、
予め定められたタイミングになると、自端末の識別番号と、自端末のタイマが計時している現在時刻とを対応付けた時刻情報を作成し、この時刻情報を登録した時刻系列データを作成する時刻系列データ作成手段と、
前記通信手段が他のネットワーク端末から送信されてきた前記時刻系列データを受信したとき、自端末の識別番号と、自端末のタイマが計時している現在時刻とを対応付けた時刻情報を作成し、この時刻情報を今回受信した時刻系列データに追加登録する追加登録手段と、
前記時刻系列データ作成手段が作成した時刻系列データ、および前記追加登録手段が時刻情報を追加登録した時刻系列データ毎に、転送先にするネットワーク端末を決定する転送先決定手段と、
前記転送先決定手段が前記時刻系列データの転送先を決定する毎に、この時刻系列データを前記通信手段により転送する転送手段と、
前記追加登録手段が前記時刻情報を追加登録した時刻系列データにおいて、前記時刻情報を複数回登録しているネットワーク端末の台数が予め定めた閾値台数を超えていれば、時刻合せ条件を満足していると判定する判定手段と、
前記判定手段が前記時刻合せ条件を満足していると判定したとき、この時刻系列データに登録されている時刻情報に基づいて、自端末のタイマが計時している時刻を補正する時刻合せを行う時刻合せ手段と、を備え、
前記判定手段は、前記時刻系列データにおいて、前記時刻情報を複数回登録しているネットワーク端末の台数が予め定めた閾値台数を超えていれば、前記時刻合せ条件を満足していると判定する、ネットワーク端末。
【請求項２】
前記時刻合せ手段は、前記時刻情報を複数回登録しているネットワーク端末毎に、そのネットワーク端末が最初に登録した時刻情報と、最後に登録した時刻情報と、における時間差、およびこの間の転送回数に基づき、任意の２つのネットワーク端末間での前記時刻系列データの転送に要する平均転送処理時間を算出するとともに、
前記時刻情報を複数回登録しているネットワーク端末毎に、先に算出した平均転送処理時間を用いて、タイマが特定のタイミングに計時していた時刻の平均である平均原点時刻を算出し、
さらに、ここで算出した平均転送処理時間、および平均原点時刻により自端末のタイマが計時している時刻を補正する補正時間を算出する、請求項１に記載のネットワーク端末。
【請求項３】
前記判定手段は、前記時刻系列データにおいて、前記時刻情報を複数回登録しており、且つ、最初に登録した時刻情報と、最後に登録した時刻情報との間の転送回数が予め定めた転送閾値回数を超えているネットワーク端末の台数が予め定めた閾値台数を超えていれば、前記時刻合せ条件を満足していると判定する、請求項１、または２に記載のネットワーク端末。
【請求項４】
前記転送先決定手段は、前記ネットワークを介して接続されているネットワーク端末の中で、今回転送する前記時刻系列データにおける時刻情報の登録数が最小であるネットワーク端末を送信先に設定し、この送信先にしたネットワーク端末が直接通信できないネットワーク端末であれば、このネットワーク端末との通信経路上に位置し、且つ直接通信可能な別のネットワーク端末を転送先に決定する、請求項１〜３のいずれかに記載のネットワーク端末。
【請求項５】
前記転送先決定手段は、前記通信手段が受信した他のネットワーク端末から送信されてきた前記時刻系列データに設定されている送信先が自端末以外であれば、この時刻系列データに対して送信先を設定しない、請求項４に記載のネットワーク端末。
【請求項６】
前記時刻合せ手段が自端末のタイマの時刻合せに用いた時刻系列情報を他のネットワーク端末に転送するのを禁止する第１の転送禁止手段を備えた請求項１〜５のいずれかに記載のネットワーク端末。
【請求項７】
前記追加登録手段は、前記時刻合せ手段による前記タイマの時刻合せの完了後に、前記通信手段が他のネットワーク端末から送信されてきた前記時刻系列データを受信したとき、前記時刻合せ手段による時刻合せ前の前記タイマの計時時刻に基づく前記時刻情報を作成し、この時刻情報を今回受信した時刻系列データに追加登録する、請求項１〜６のいずれかに記載のネットワーク端末。
【請求項８】
前記転送手段が前記時刻系列データを転送できなかったとき、該当する時刻系列データを作成したネットワーク端末に対して、前記時刻系列データの再作成を指示する通知を行う再作成指示手段を備えた、請求項１〜７のいずれかに記載のネットワーク端末。
【請求項９】
前記転送手段は、ネットワークを介して接続されているネットワーク端末毎に、通信可否の状態を登録した状態テーブルを、前記時刻系列データとともに転送する、請求項１〜８のいずれかに記載のネットワーク端末。
【請求項１０】
前記状態テーブルは、ネットワークを介して接続されているネットワーク端末毎に、通信可否の状態と、前記時刻合せ手段による前記タイマの時刻合せ完了／未完了を示す状態と、を登録したテーブルであり、
さらに、前記状態テーブルに登録されている全てのネットワーク端末の状態が、通信否、または前記タイマの時刻合せ完了のどちらかであれば、この状態テーブルおよび該当する時刻系列情報の転送を禁止する第２の転送禁止手段を備えた請求項９に記載のネットワーク端末。
【請求項１１】
ネットワークを介して、複数のネットワーク端末を通信可能に接続したネットワークシステムにおいて、
各ネットワーク端末は、
前記ネットワークを介して接続されている他のネットワーク端末と通信する通信手段と、
予め定められたタイミングになると、自端末の識別番号と、自端末のタイマが計時している現在時刻とを対応付けた時刻情報を作成し、この時刻情報を登録した時刻系列データを作成する時刻系列データ作成手段と、
前記通信手段が他のネットワーク端末から送信されてきた前記時刻系列データを受信したとき、自端末の識別番号と、自端末のタイマが計時している現在時刻とを対応付けた時刻情報を作成し、この時刻情報を今回受信した時刻系列データに追加登録する追加登録手段と、
前記時刻系列データ作成手段が作成した時刻系列データ、および前記追加登録手段が時刻情報を追加登録した時刻系列データ毎に、転送先にするネットワーク端末を決定する転送先決定手段と、
前記転送先決定手段が前記時刻系列データの転送先を決定する毎に、この時刻系列データを前記通信手段により転送する転送手段と、
前記追加登録手段が前記時刻情報を追加登録した時刻系列データが、設定されている時刻合せ条件を満足しているかどうかを判定する判定手段と、
前記判定手段が前記時刻合せ条件を満足していると判定したとき、この時刻系列データに登録されている時刻情報に基づいて、自端末のタイマが計時している時刻を補正する時刻合せを行う時刻合せ手段と、を備え、
前記判定手段は、前記時刻系列データにおいて、前記時刻情報を複数回登録しているネットワーク端末の台数が予め定めた閾値台数を超えていれば、前記時刻合せ条件を満足していると判定する、
ネットワークシステム。
【請求項１２】
ネットワークを介して、複数のネットワーク端末を通信可能に接続したネットワークシステムにおける端末間の時刻同期方法であって、
各ネットワーク端末が、
予め定められたタイミングになると、自端末の識別番号と、自端末のタイマが計時している現在時刻とを対応付けた時刻情報を作成し、この時刻情報を登録した時刻系列データを作成し、
また、通信手段が他のネットワーク端末から送信されてきた前記時刻系列データを受信したときには、自端末の識別番号と、自端末のタイマが計時している現在時刻とを対応付けた時刻情報を作成し、この時刻情報を今回受信した時刻系列データに追加登録し、
自端末で、作成した時刻系列データ、および自端末で時刻情報を追加登録した時刻系列データ毎に、転送先にするネットワーク端末を決定し、
前記時刻系列データの転送先を決定する毎に、この時刻系列データを前記通信手段により転送するとともに、
自端末が前記時刻情報を追加登録した時刻系列データにおいて、前記時刻情報を複数回登録しているネットワーク端末の台数が予め定めた閾値台数を超えていれば、時刻合せ条件を満足していると判定し、
この時刻合せ条件を満足していると判定したとき、この時刻系列データに登録されている時刻情報に基づいて、自端末のタイマが計時している時刻を補正する時刻合せを行う、
時刻同期方法。
【請求項１３】
ネットワークを介して接続されている他のネットワーク端末と通信する通信手段を備えたネットワーク端末を、
予め定められたタイミングになると、自端末の識別番号と、自端末のタイマが計時している現在時刻とを対応付けた時刻情報を作成し、この時刻情報を登録した時刻系列データを作成する時刻系列データ作成手段と、
前記通信手段が他のネットワーク端末から送信されてきた前記時刻系列データを受信したとき、自端末の識別番号と、自端末のタイマが計時している現在時刻とを対応付けた時刻情報を作成し、この時刻情報を今回受信した時刻系列データに追加登録する追加登録手段と、
前記時刻系列データ作成手段が作成した時刻系列データ、および前記追加登録手段が時刻情報を追加登録した時刻系列データ毎に、転送先にするネットワーク端末を決定する転送先決定手段と、
前記転送先決定手段が前記時刻系列データの転送先を決定する毎に、この時刻系列データを前記通信手段により転送する転送手段と、
前記追加登録手段が前記時刻情報を追加登録した時刻系列データにおいて、前記時刻情報を複数回登録しているネットワーク端末の台数が予め定めた閾値台数を超えていれば、時刻合せ条件を満足していると判定する判定手段と、
前記判定手段が前記時刻合せ条件を満足していると判定したとき、この時刻系列データに登録されている時刻情報に基づいて、自端末のタイマが計時している時刻を補正する時刻合せを行う時刻合せ手段と、して機能させる時刻同期プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワークを介して他のネットワーク端末と通信可能に接続されるネットワーク端末と、ネットワークを介して複数のネットワーク端末を通信可能に接続したネットワークシステムと、このネットワークシステムを構成するネットワーク端末間の時刻を同期させる時刻同期方法、および時刻同期プログラムと、に関する。
【背景技術】
【０００２】
従来、複数のセンサノードがネットワークを介して相互に通信できるセンサネットワークシステムが、海洋観測、地震観測等に利用されている。センサノードは、観測地点毎に設けられる。センサノードは、観測する事象を計測するセンサ機能や、他のセンサノードと通信する通信機能を有する端末である。そして、各センサノードの計測データを集計処理することにより、対象の観測を行っている。【０００３】
このセンサネットワークシステムでは、センサノード間における観測事象の計測データを時間的に整合させるために、各センサノードの時刻を合わせる必要がある。各センサノードの時刻を合わせる時刻同期の技術としては、非特許文献１等に記載されている、ＲＢＳ（Reference Broadcast Synchronization）がある。ＲＢＳは、時刻同期サーバが「参照パケット」と呼ばれるパケットを定期的にブロードキャスト送信し、クライアント（センサノード）が受信した参照パケットの情報をもとにタイマの時刻を合わせることで、センサノード間の時刻を同期させる技術である。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】安藤  繁・田村  陽介・戸部  義人・南  正輝  編著、「センサネットワーク技術」、東京電機大学出版局、２００５年５月２０日出版、（第３章  センサネットワークのプロトコル、３．１  基礎技術、３.１.１  時刻同期、３.１.２  ＲＢＳ  ９５頁〜９９頁）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＲＢＳでは、「参照パケット」を定期的にブロードキャスト送信する時刻同期サーバが必要になることから、システム規模が大きくなる。【０００６】
また、センサノードを直接接続して構成するアドホック型のセンサネットワークシステムでは、ＲＢＳによる時刻同期が適用できない。【０００７】
この発明の目的は、システム規模の増大が抑えられ、且つアドホック型のシステムであっても、他のネットワーク端末との間で計時している時刻を同期させることができるネットワーク端末、時刻同期方法、および時刻同期プログラムを提供することにある。【０００８】
また、この発明は、上記ネットワーク端末を適用したネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
この発明のネットワーク端末は、上記目的を達するために、以下のように構成している。【００１０】
このネットワーク端末では、通信手段がネットワークを介して接続されている他のネットワーク端末と通信する。また、時刻系列データ作成手段が、予め定められたタイミングになると、自端末の識別番号と、自端末のタイマが計時している現在時刻とを対応付けた時刻情報を作成し、これを登録した時刻系列データを作成する。この時刻系列データを作成するタイミングは、例えば、毎日午前０時や、毎正時である。また、通信手段が他のネットワーク端末から送信されてきた時刻系列データを受信したときには、追加登録手段が今回受信した時刻系列データに対して、自端末の識別番号と、自端末のタイマが計時している現在時刻とを対応付けた時刻情報を作成し、これを追加登録する。転送先決定手段が、時刻系列データ作成手段が作成した時刻系列データ、および追加登録手段が時刻情報を追加登録した時刻系列データ毎に、転送先にするネットワーク端末を決定する。時刻系列データは、転送手段により、転送先決定手段が決定した転送先に転送される。【００１１】
したがって、時刻系列データは、転送される毎に、転送されたネットワーク端末において、時刻情報が追加登録される。【００１２】
また、判定手段において、追加登録手段が時刻情報を追加登録した時刻系列データが、設定されている時刻合せ条件を満足しているかどうかが判定される。判定手段は、時刻情報を複数回登録しているネットワーク端末の台数が予め定めた閾値台数を超えているかどうかによって、時刻合せ条件を満足しているかどうかを判定する。そして、判定手段が時刻合せ条件を満足していると判定したとき、時刻合せ手段が、この時刻系列データに登録されている時刻情報に基づいて、自端末のタイマが計時している時刻を補正する。【００１３】
このように、時刻合せ手段は、ネットワーク上に存在する他のネットワーク端末の時刻情報に基づいて、自端末のタイマが計時している時刻を補正する。すなわち、各ネットワーク端末が、ネットワーク上に存在する他のネットワーク端末の時刻情報に基づいて、自端末のタイマが計時している時刻を補正する。したがって、各ネットワーク端末のタイマが計時している時刻を同期させることができる。【００１４】
例えば、時刻情報を複数回登録しているネットワーク端末であれば、そのネットワーク端末が最初に登録した時刻情報と、最後に登録した時刻情報と、における時間差、およびこの間の転送回数に基づき、任意の２つのネットワーク端末間での時刻系列データの転送に要する平均転送処理時間を算出することができる。この平均転送処理時間は、時刻情報を複数回登録しているネットワーク端末の台数が多くなるほど、その精度も高くなる。一方、時刻情報を複数回登録しているネットワーク端末の台数を多くすると、時刻系列データが作成されてから、時刻合せ条件が満足する状態になるまでに要する時間が長くなる。したがって、時刻合せ条件は、各ネットワーク端末のタイマが計時している時刻を同期させる精度と、この同期処理にかけられる時間等を考慮して設定するのが好ましい。【００１５】
また、時刻情報を複数回登録しているネットワーク端末毎に、先に算出した平均転送処理時間を用いることで、タイマが特定のタイミングに計時していた時刻（原点時刻）を算出し、これらの平均を平均原点時刻として算出できる。この平均原点時刻は、ネットワーク上に存在する複数のネットワーク端末のタイマが特定のタイミングに計時していた時刻の平均とみなすことができる。【００１６】
なお、この平均原点時刻の算出精度は、上述した平均転送処理時間の算出精度の影響を受ける。【００１７】
そして、時刻合せ手段は、ここで算出した平均転送処理時間、および平均原点時刻により自端末のタイマが計時している時刻を補正する補正時間を算出する。この補正時間は、自端末の原点時刻と、平均原点時刻と、の差とすればよい。自端末の原点時刻は、上述した平均転送処理時間を用いて算出できる。【００１８】
また、時刻合せ条件は、時刻系列データにおいて、時刻情報を複数回登録しており、且つ、最初に登録した時刻情報と、最後に登録した時刻情報との間の転送回数が予め定めた転送閾値回数を超えているネットワーク端末の台数が予め定めた閾値台数を超えている、としてもよい。このようにすれば、平均転送処理時間の算出精度を向上できる。【００１９】
また、転送先決定手段は、ネットワークを介して接続されているネットワーク端末の中で、今回転送する時刻系列データにおける時刻情報の登録数が最小であるネットワーク端末を送信先に設定し、ここで送信先にしたネットワーク端末が直接通信できないネットワーク端末であれば、このネットワーク端末との通信経路上に位置し、且つ直接通信可能な別のネットワーク端末を転送先に決定する構成としてもよい。このよう構成すれば、時刻系列情報が転送されるネットワーク端末の偏りが抑えられる。その結果、時刻系列情報が時刻合せ条件を満足するまでの時間の増大が抑えられる。【００２０】
この場合、通信手段が受信した他のネットワーク端末から送信されてきた時刻系列データに設定されている送信先が自端末以外であれば、この時刻系列データに対して送信先を設定しない、すなわち送信先を変更しない、構成とすればよい。
【発明の効果】
【００２１】
この発明は、システム規模の増大が抑えられ、且つアドホック型のシステムであっても、他のネットワーク端末との間で計時している時刻を同期させることができる。
【図面の簡単な説明】
【００２２】
【図１】図１はセンサネットワークシステムを示す図である。
【図２】図２はセンサノードの主要部の構成を示す図である。
【図３】図３は時刻同期処理を示すフローチャートである。
【図４】図４は時刻同期処理を示すフローチャートである。
【図５】図５は時刻系列データ、およびノード状態テーブルを示す図である。
【図６】図６は時刻系列データを示す図である。
【図７】図７は時刻同期処理を説明する図である。
【図８】図８は時刻同期処理を説明する図である。
【図９】図９は時刻同期処理を説明する図である。
【図１０】図１０は時刻同期処理を説明する図である。
【図１１】図１１は時刻同期処理を説明する図である。
【図１２】図１２は時刻同期処理を説明する図である。
【図１３】図１３は時刻同期処理を説明する図である。
【図１４】図１４は時刻同期処理を説明する図である。
【図１５】図１５は時刻同期処理を説明する図である。
【図１６】図１６は時刻同期処理を説明する図である。
【図１７】図１７は時刻同期処理を説明する図である。
【図１８】図１８は時刻同期処理を説明する図である。
【図１９】図１９は時刻同期処理を説明する図である。
【図２０】図２０は時刻同期処理を説明する図である。
【図２１】図２１は時刻同期処理を説明する図である。
【発明を実施するための形態】
【００２３】
以下、この発明の実施形態について説明する。
【００２４】
図１は、センサネットワークシステムを示す図である。このセンサネットワークシステムは、複数のセンサノード１（１Ａ〜１Ｈ）を、ネットワーク介して通信可能に接続している。図１において、センサノード１間を結ぶ線は、リンクである。このセンサノード１が、この発明で言うネットワーク端末に相当する。センサノード１間の通信は、直接、または別のセンサノード１を介して行われる。ここでは、直接通信できるセンサノード１を隣接するセンサノード１と言い、直接通信できないセンサノード１（別のセンサノード１を介して通信するセンサノード１）を隣接していないセンサノード１と言うこともある。センサノード１間の通信は、無線であってもよいし、有線であってもよい。
【００２５】
このセンサネットワークシステムは、海洋観測、地震観測等の観測システムとして利用できる。センサノード１は、観測地点毎に設置される。
【００２６】
図２は、センサノードの主要部の構成を示す図である。センサノード１は、制御部１１と、センサ部１２と、記憶部１３と、タイマ１４と、通信部１５と、を備えている。制御部１１は、本体各部の動作を制御する。センサ部１２は、観測する事象を計測し、計測結果を処理する。センサ部１２は、観測する事象に応じた光センサ、加速度センサ、画像センサ等を有し、これらのセンサで観測する事象を計測する。また、センサ部１２は、センサの出力を処理する処理機能を有している。記憶部１３は、装置本体を動作させる動作プログラムや、動作時に利用する設定データ等を記憶している。この設定データは、このセンサネットワークシステムのネットワークトポロジや、後述する同期処理開始タイミング、さらには時刻合せ条件等である。また、記憶部１３は、動作時に発生した処理データ等を一時的に記憶するワーキングエリアを有している。タイマ１４は、現在時刻を計時する。通信部１５は、ネットワーク上に存在する他のセンサノード１との通信を行う。
【００２７】
以下、センサノード１における時刻同期処理について説明する。
【００２８】
各センサノード１は、この時刻同期処理の開始タイミングが設定されている。この時刻同期処理の開始タイミングは、毎日午前０時や、毎正時等である。図３、および図４は、この時刻同期処理を示すフローチャートである。図１に示すネットワーク上に存在するそれぞれのセンサノード１が、この時刻同期処理を実行する。
【００２９】
センサノード１は、タイマ１４で計時している時刻が設定されている時刻同期処理の開始タイミングになると（Ｓ１）、時刻系列データ、およびノード状態テーブルを作成する（Ｓ２）。時刻系列データは、図５（Ａ）に示すように、転送ステップ番号、経由ノード番号、時刻を対応付けた時刻情報が蓄積的に登録されるデータである。転送ステップ番号は、シリアルな番号である。経由ノード番号は、この時刻情報を登録したセンサノード１を識別する番号（ここでは、１Ａ〜１Ｈ）である。時刻は、この時刻情報を登録するときにタイマ１４が計時していた時刻である。Ｓ２で作成された時刻系列データは、この時刻系列データを作成したセンサノード１による時刻情報のみが登録されている。図５（Ａ）は、センサノード１Ｅが作成した時刻系列データを例示している。
【００３０】
また、ノード状態テーブルは、図５（Ｂ）に示すように、ノード毎に、ノード番号、通信可否フラグ、時刻合せ完了フラグ、経由回数を対応付けたノード情報を登録したテーブルである。ノード番号は、センサノード１を識別する番号（ここでは、１Ａ〜１Ｈ）である。通信可否フラグは、対応するセンサノード１について通信可否の状態を示すフラグである。時刻合せ完了フラグは、対応するセンサノード１について、今回の時刻同期処理で時刻合せが完了したかどうかを示すフラグである。経由回数は、対応するセンサノード１について、対になる時刻系列データが経由した回数を示す。Ｓ２で作成されたノード状態テーブルでは、各センサノード１の通信可否フラグは「１」（通信可）にセットされ、時刻合せ完了フラグは「０」（時刻合せ未完了）にセットされる。また、経由回数は、このノード状態テーブルを作成したセンサノード１については「１」にセットされ、その他のセンサノードについては「０」にセットされる。
【００３１】
この時刻同期処理では、Ｓ２で作成した時刻系列データ、およびノード状態テーブルを対にして、ネットワーク上に存在するセンサノード１間で繰り返し転送する。
【００３２】
センサノード１は、Ｓ２で作成した時刻系列データ、およびノード状態テーブルの送信先（ディスティネーション）に設定するセンサノード１を選択する（Ｓ３）。また、Ｓ３で選択した送信先のセンサノード１に応じて、時刻系列データ、およびノード状態テーブルの転送先にするセンサノード１を決定する（Ｓ４）。Ｓ３では、ノード状態テーブルに登録されている他のセンサノード１の中から、送信先をランダムに選択する。また、Ｓ４では、今回選択した送信先が直接通信できる（隣接している）センサノード１であるかどうかを判定し、直接通信できるセンサノード１であれば、送信先として選択したセンサノード１を転送先に決定する。一方、今回選択した送信先が直接通信できない（隣接していない）センサノード１であれば、送信先として選択したセンサノード１との通信経路が最短（経由するセンサノード１の台数が最小になる経路）になり、且つ直接通信できるセンサノード１を転送先に決定する。センサノード１は、記憶部１３に記憶しているネットワークトポロジを用いて転送先を決定する。
【００３３】
センサノード１は、通信部１５において、時刻系列データ、およびノード状態テーブルを対にして転送先に送信する（Ｓ５）。Ｓ５では、送信する時刻系列データ、およびノード状態テーブルに、今回選択した送信先、および今回決定した転送先を示す情報を関連付けている。また、今回の時刻同期処理がどのラウンド（ラウンドは、開始タイミングによって決まる。）にかかるものであるかを示すラウンド情報も関連付けている。ラウンド情報は、例えば、今回の時刻同期処理の開始日時を示す情報とすればよい。
【００３４】
また、センサノード１は、他のセンサノード１から転送されてきた時刻系列データ、およびノード状態テーブルを通信部１５で受信すると（Ｓ６）、今回の時刻同期処理において、すでに時刻合せを完了しているかどうかを判定する（Ｓ７）。センサノード１は、今回の時刻同期処理において、タイマ１４の時刻合せを完了したかどうかを示すフラグを記憶部１３に記憶している。センサノード１は、時刻合せが完了していなければ、時刻情報を作成し、これを今回受信した時刻系列データに追加登録する（Ｓ８）。Ｓ８で追加登録する時刻情報は、このタイミングで作成される。具体的には、転送ステップ番号は、受信した時点で登録されている転送ステップ番号を１カウントアップした値にする。経由ノード番号は、自センサノード１を識別する番号にする。時刻は、この時点でタイマ１４が計時している時刻とする。
【００３５】
また、センサノード１は、時刻合せが完了している場合も、時刻情報を作成し、これを今回受信した時刻系列データに追加登録する（Ｓ９）。Ｓ８、とＳ９とは、ほぼ同じ処理であるが、作成する時刻情報の時刻が異なる。Ｓ８では、作成する時刻情報の時刻をタイマ１４がその時点で計時している時刻にする。一方、Ｓ９では、作成する時刻情報の時刻をタイマ１４がその時点で計時している時刻を、後述する時刻合せ処理で補正した補正時間だけ戻した時刻にする。すなわち、作成する時刻情報の時刻を、時刻合せを行う前の時刻にする。
【００３６】
なお、センサノード１は、時刻合せ処理を行ったときに、このときの補正時間を記憶部１３に記憶している。詳細については、後述する。
【００３７】
センサノード１は、Ｓ８で時刻情報を追加登録した時刻系列データが、予め設定されている時刻合せ条件を満足しているかどうかを判定する（Ｓ１０）。この時刻合せ条件は、時刻系列データがタイマ１４の時刻合せを行うのに適しているかどうかを判定する条件であり、詳細については、後述する。
【００３８】
センサノード１は、Ｓ１０で時刻合せ条件を満足していないと判定した場合、およびＳ９で時刻情報を追加登録した場合、ノード状態テーブルにおける自センサノード１の経由回数を１カウントアップするノード状態テーブルの更新を行う（Ｓ１１）。また、Ｓ１１では、今回の時刻同期処理において、すでに時刻合せを完了していれば、ノード状態テーブルにおける自センサノード１の時刻合せ完了フラグを「１」にセットする。
【００３９】
センサノード１は、今回受信した時刻系列データ、およびノード状態テーブルに関連付けられている送信先が、自センサノード１であるか、他のセンサノード１であるかを判定する（Ｓ１２）。センサノード１は、送信先が自センサノード１であると判定すると、今回更新した時刻系列データ、およびノード状態テーブルの送信先に設定するセンサノード１を選択する（Ｓ１３）。Ｓ１３では、ノード状態テーブルにおいて、通信可否フラグが「０」（通信不可）でなく、且つ、経由回数が最小である他のセンサノード１の中から、送信先をランダムに選択する。通信可否フラグが「０」であるセンサノード１は、何らかの原因で、通信できない状態にある。この通信可否フラグが、「０」に設定される処理については後述する。Ｓ１３は、通信できない状態であるセンサノード１を送信先として選択しない処理である。
【００４０】
センサノード１は、Ｓ１２で送信先が自センサノード１でないと判定した場合には、Ｓ１３にかかる処理を行わない。すなわち、送信先を変更しない。センサノード１は、この時点で選択されている送信先に応じて、転送先とするセンサノード１を決定し（Ｓ１４）、Ｓ５で時刻系列データ、およびノード状態テーブルを対にして転送先に送信する。このときも、送信する時刻系列データ、およびノード状態テーブルに、今回選択した送信先、および決定した転送先を示す情報を関連付けている。
【００４１】
センサノード１は、Ｓ５にかかる時刻系列データ、およびノード状態テーブルの転送に成功すると（Ｓ１５）、Ｓ１に戻る。一方、Ｓ５にかかる時刻系列データ、およびノード状態テーブルの転送に失敗すると、今回転送先としたセンサノード１について、ノード状態テーブルの通信可否フラグをリセットする（「０」にする。）（Ｓ１６）。すなわち、通信不可をセットする。センサノード１は、今回転送に失敗した時刻系列データを作成したセンサノード１に対して、時刻系列データの再作成を指示する通知を行い（Ｓ１７）、Ｓ１に戻る。Ｓ１７では、Ｓ１６で更新したノード状態テーブルも通知し、この時点で分かっている通信不可のセンサノード１を通知する。また、この時刻系列データを作成したセンサノード１は、当該時刻系列データの最初に登録されている時刻情報により判断できる。
【００４２】
センサノード１は、時刻系列データの再作成が指示されると、時刻系列データ、およびノード状態テーブルを再作成し（Ｓ１８、Ｓ１９）、Ｓ３以降の処理を行う。Ｓ１９は、Ｓ２にかかる処理と同じであるが、この時点で分かっている通信不可のセンサノード１については、通信不可フラグを「０」にセットしたノード状態テーブルを作成する。
【００４３】
このように、時刻系列データ、およびノード状態テーブルは、センサノード１間で繰り返し転送され、転送される毎に、時刻情報が時刻系列データに追加登録される。
【００４４】
次に、Ｓ１０にかかる時刻合せ条件を満足しているかどうかの判定について説明する。Ｓ１０では、時刻系列データにおいて、時刻情報を複数回登録しており、且つ、最初に登録した時刻情報と、最後に登録した時刻情報との間の転送回数が予め定めた転送閾値回数を超えているセンサノード１の台数が予め定めた閾値台数を超えていれば、この時刻系列データは、時刻合せ条件を満足していると判定する。
【００４５】
この時刻合せ条件は、以下に示す平均転送処理時間、および平均原点時刻を、ある程度の精度で算出できる条件に設定すればよい。平均転送処理時間とは、ネットワーク上に存在する隣接するセンサノード１間での、時刻系列データ、およびノード状態テーブルの転送にかかる平均時間である。また、平均原点時刻とは、特定のタイミングにおいて、ネットワーク上に存在している各センサノード１のタイマが計時していた時刻の平均時刻である。
【００４６】
このため、転送閾値回数や、閾値台数を大きくするにつれて、算出される平均転送処理時間、およびこの平均転送処理時間を用いて算出する平均原点時刻の精度は向上する。また、各センサノード１は、タイマ１４を、この平均原点時刻に合わせることから、平均原点時刻の算出精度が向上するにつれて、センサノード１間における時刻同期精度も向上する。一方、転送閾値回数や、閾値台数を大きくするにつれて、時刻系列データが時刻合せ条件を満足するまでの転送回数が増加する。すなわち、この時刻同期処理の処理時間が長くなる。したがって、転送閾値回数や、閾値台数は、システムに要求される時刻同期の精度に応じて設定すればよい。また、転送閾値回数や、閾値台数は、ネットワーク上に存在するセンサノード１の全台数も考慮して設定するのが好ましい。
【００４７】
ここでは、図１に示すセンサネットワークシステムにおいて、転送閾値回数を２、閾値台数を３に設定した場合を例にしながら説明する。すなわち、センサノード１は、時刻情報を複数回登録しているセンサノード１であって、且つ、このセンサノード１が最初に登録した時刻情報と、最後に登録した時刻情報と、の間に３つ以上の時刻情報が登録されているセンサノード１の台数が４台以上であれば、時刻合せ条件を満足していると判定する。
【００４８】
センサノード１は、Ｓ１０で時刻合せ条件を満足していると判定すると、平均転送処理時間を算出する（Ｓ２１）。Ｓ２１では、転送閾値回数を超えている時刻情報を登録しているセンサノード１毎に、最後の時刻情報の時刻と、最初の時刻情報の時刻との差（すなわち、最初の時刻情報を登録してから最後の時刻情報を登録するまでの経過時間）を求め、これらの合計時間を算出する。また、転送閾値回数を超えている時刻情報を登録しているセンサノード１毎に、最後の時刻情報のステップ番号と、最初の時刻情報のステップ番号との差（すなわち、最初の時刻情報を登録してから最後の時刻情報を登録するまでの時刻系列データの転送回数）を求め、これらの合計回数を算出する。そして、ここで算出した合計時間を、ここで算出した合計回数で除した値を、平均転送処理時間として算出する。
【００４９】
例えば、図６に示す時刻系列データを受信し、Ｓ１０で時刻合せ条件を満足していると判定した場合、転送閾値回数を超えている時刻情報を登録しているセンサノード１Ｂ、１Ｃ、１Ｅ、１Ｆ毎の、最初の時刻情報を登録してから最後の時刻情報を登録するまでの経過時間を合計した合計時間は、
（１９５−１２４）＋（１６９−８１）＋（１５８−９６）＋（１７８−１１１）
＝２８８［ｍｓ］
となる。
【００５０】
また、これらのセンサノード１Ｂ、１Ｃ、１Ｅ、１Ｆの、最初の時刻情報を登録してから最後の時刻情報を登録するまでの時刻系列データの転送回数を合計した合計回数は、    （１１−５）＋（１０−２）＋（７−１）＋（９−３）＝２６［ｓｔｅｐ］
となる。
【００５１】
したがって、算出される平均転送処理時間は、
２８８／２６＝１１．０８［ｍｓ／ｓｔｅｐ］
となる。
【００５２】
次に、センサノード１は、今回平均転送処理時間の算出に用いたセンサノード１Ｂ、１Ｃ、１Ｅ、１Ｆ毎に、仮想的に設定した、転送ステップ番号が「０」であるタイミングにおけるタイマ１４の計時時刻（以下、原点時刻と言う。）を算出する（Ｓ２２）。この原点時刻の算出には、Ｓ２１で算出した平均転送処理時間を用いる。具体的には、センサノード１毎に、最後に登録した時刻情報の時刻から、平均転送処理時間とステップ数との積にかかる時間を引いた時刻を算出する。
【００５３】
例えば、図６に示す例では、センサノード１Ｂ、１Ｃ、１Ｅ、１Ｆの原点時刻は、それぞれ、
センサノード１Ｂ：19:00:00:195-11.08×11=19:00:00:073.12
センサノード１Ｃ：19:00:00:169-11.08×10=19:00:00:058.20
センサノード１Ｅ：19:00:00:158-11.08× 7=19:00:00:075.40
センサノード１Ｆ：19:00:00:195-11.08× 9=19:00:00:078.28
になる。
【００５４】
そして、センサノード１は、平均原点時刻を算出する（Ｓ２３）。Ｓ２３では、Ｓ２２で算出したセンサノード１Ｂ、１Ｃ、１Ｅ、１Ｆの原点時刻の平均を平均原点時刻として算出する。この図６に示す例では、
平均原点時刻は、19:00:00:071.25
になる。
【００５５】
さらに、センサノード１は、Ｓ２１で算出した平均転送処理時間、およびＳ２３で算出した平均原点時刻を用いて、最後の時刻情報が登録された時点の平均時刻を算出する（Ｓ２４）。最後の時刻情報を登録したセンサノード１は、自センサノード１である。センサノード１は、Ｓ２４で算出した平均時刻と、最後に登録されている時刻情報の時刻と、の差を、自センサノード１のタイマ１４に対する補正時間として算出する（Ｓ２５）。図６に示す例では、補正時間は、１．８７［ｍｓ］になる。
【００５６】
なお、図６に示す例では、自センサノード１が最後に登録した時刻情報が、Ｓ２１以降の処理で利用されているので、Ｓ２３で算出した自センサノード１の原点時刻と、Ｓ２４で算出した平均原点時刻と、の差を自センサノード１のタイマ１４に対する補正時間として算出しても同じである。しかし、上述したＳ７で、自センサノード１の時刻合せが完了していると判定し、この時点で時刻合せ条件が満足している時刻系列データであった場合、これが転送されたセンサノード１が最後に登録した時刻情報をＳ２１以降の処理で利用する。この場合には、自センサノード１について、原点時刻を算出しないので、上述したＳ２４、Ｓ２５にかかる処理で、補正時間を算出する。
【００５７】
センサノード１は、Ｓ２５で算出した補正時間により、タイマ１４の時刻を補正する（Ｓ２６）。また、センサノード１は、この補正時間を記憶部１３に記憶する。センサノード１は、この記憶した補正時間を用いて、Ｓ９にかかる処理を行う。
【００５８】
センサノード１は、Ｓ２６でタイマ１４の時刻を補正すると、今回の処理に用いた時刻系列データを他のセンサノード１に転送することなく、Ｓ１に戻る。したがって、いずれかセンサノード１が作成した時刻系列データは、いずれかのセンサノード１がタイマ１４の時刻補正に使用したときに、このセンサネットワーク上から消滅する。通常、時刻系列データを作成したセンサノード１の台数と、時刻合せを行うセンサノード１の台数と、は同じであるので、全てのセンサノード１が時刻合せを完了した時点で、全ての時刻系列データはネットワーク上から消滅する。この時点で、時刻同期処理が完了する。
【００５９】
しかし、時刻系列データを作成した後に、通信できなくなったセンサノード１が発生することもある。このため、各センサノード１は、ノード状態テーブルにおいて、全てのセンサノード１に対して、時刻合せが完了、または通信不可のいずれかが設定されていると判定したときに、その時刻系列データの転送を禁止する（転送しない）構成とするのが好ましい。この処理は、Ｓ１１の手前で行えばよい。これにより、時刻系列データを作成した後に、通信できなくなったセンサノード１が発生しても、時刻系列データがセンサネットワーク上で、いつまでも転送されつづけるという事態が防止できる。
【００６０】
次に、上述した図３、および図４に示したフローチャートの動作を、具体例を示しながら説明する。図７〜図２１は、時刻同期処理の具体例を示す図である。図７〜図２１の（Ａ）図はセンサネットワーク上における時刻系列データの転送を示し、（Ｂ）図は時刻系列データを示し、（Ｃ）図はノード状態テーブルを示している。
【００６１】
図７では、図５と同様に、センサノード１Ｅが、図７（Ｂ）、および（Ｃ）に示す時刻系列データ、およびノード状態テーブルを作成した例である。センサノード１Ｅは、Ｓ３で時刻系列データおよびノード状態テーブルの送信先として、経由回数が０回であるセンサノード１Ｈを選択する。センサノード１Ｅは、センサノード１Ｈが隣接しているので、Ｓ４でセンサノード１Ｈを転送先に決定し、時刻系列データ、およびノード状態テーブルを送信する。
【００６２】
時刻系列データ、およびノード状態テーブルを受信したセンサノード１Ｈは、Ｓ８で時刻系列データに時刻情報を追加登録する（図８（Ｂ）参照）。また、Ｓ１１で、ノード状態テーブルを更新する（図８（Ｃ）参照）。Ｓ１１では、自センサノード１Ｈに対応する経由回数を１カウントアップする。また、センサノード１Ｈは、自センサノード１Ｈが送信先に設定されているので、新たな送信先として、Ｓ１３で経由回数が０回であるセンサノード１Ｂを選択する。センサノード１Ｈは、センサノード１Ｂが隣接しているので、Ｓ１４で、センサノード１Ｂを転送先に決定し、時刻系列データ、およびノード状態テーブルを送信する。
【００６３】
時刻系列データ、およびノード状態テーブルを受信したセンサノード１Ｂは、Ｓ８で時刻系列データに時刻情報を追加登録する（図９（Ｂ）参照）。また、Ｓ１１で、ノード状態テーブルを更新する（図９（Ｃ）参照）。Ｓ１１では、自センサノード１Ｂに対応する経由回数を１カウントアップする。また、センサノード１Ｂは、自センサノード１Ｂが送信先に設定されているので、新たな送信先として、Ｓ１３で経由回数が０回であるセンサノード１Ｇを選択する。センサノード１Ｂは、センサノード１Ｇが隣接しているので、Ｓ１４で、センサノード１Ｇを転送先に決定し、時刻系列データ、およびノード状態テーブルを送信する。
【００６４】
センサノード１Ｂは、センサノード１Ｇが通信不可の状態であったため、時刻系列データ、およびノード状態テーブルの転送に失敗する。センサノード１Ｂは、Ｓ１６で、ノード状態テーブルを更新する（図１０（Ｃ）参照）。Ｓ１６では、センサノード１Ｇの通信可否フラグを通信不可にセットする。そして、センサノード１Ｂは、この時刻系列データを作成したセンサノード１Ｅに対して、Ｓ１７で時刻系列データの再作成を指示する。このとき、センサノード１Ｂは、時刻系列データ、およびノード状態テーブルをセンサノード１Ｅへ送信してもよいし、ノード状態テーブルのみをセンサノード１Ｅへ送信してもよい。また、この時刻系列データの再作成の指示は、センサノード１Ｈを介してセンサノード１Ｅに送信される。
【００６５】
センサノード１Ｅは、時刻系列データの再作成が指示されたことにより、Ｓ１９で、図１１（Ｂ）、および（Ｃ）に示す時刻系列データ、およびノード状態テーブルを作成する。ここで作成されるノード状態テーブルには、センサノード１Ｇが通信不可であることが登録される。また、センサノード１Ｅは、Ｓ３で時刻系列データおよびノード状態テーブルの送信先として、経由回数が０回であるセンサノード１Ｃを選択する。センサノード１Ｅは、センサノード１Ｃが隣接しているので、Ｓ４でセンサノード１Ｃを転送先に決定し、時刻系列データ、およびノード状態テーブルを送信する。
【００６６】
時刻系列データ、およびノード状態テーブルを受信したセンサノード１Ｃは、Ｓ８で時刻系列データに時刻情報を追加登録する（図１２（Ｂ）参照）。また、Ｓ１１で、ノード状態テーブルを更新する（図１２（Ｃ）参照）。Ｓ１１では、自センサノード１Ｃに対応する経由回数を１カウントアップする。また、センサノード１Ｃは、自センサノード１Ｂが送信先に設定されているので、新たな送信先として、Ｓ１３で経由回数が０回であるセンサノード１Ｆを選択する。このとき、センサノード１Ｃは、通信不可であるセンサノード１Ｇを送信先の選択から除外している。センサノード１Ｃは、センサノード１Ｆが隣接しているので、Ｓ１４で、センサノード１Ｆを転送先に決定し、時刻系列データ、およびノード状態テーブルを送信する。
【００６７】
時刻系列データ、およびノード状態テーブルを受信したセンサノード１Ｆは、Ｓ８で時刻系列データに時刻情報を追加登録する（図１３（Ｂ）参照）。また、Ｓ１１で、ノード状態テーブルを更新する（図１３（Ｃ）参照）。Ｓ１１では、自センサノード１Ｆに対応する経由回数を１カウントアップする。また、センサノード１Ｆは、自センサノード１Ｆが送信先に設定されているので、新たな送信先として、Ｓ１３で経由回数が０回であるセンサノード１Ａを選択する。このとき、センサノード１Ｆは、通信不可であるセンサノード１Ｇを送信先の選択から除外している。センサノード１Ｆは、センサノード１Ａが隣接しているので、Ｓ１４で、センサノード１Ａを転送先に決定し、時刻系列データ、およびノード状態テーブルを送信する。
【００６８】
時刻系列データ、およびノード状態テーブルを受信したセンサノード１Ａは、この時点ですでに時刻合せ完了済である。センサノード１Ａは、Ｓ９で時刻系列データに時刻情報を追加登録する（図１４（Ｂ）参照）。また、センサノード１Ａは、Ｓ１１で、ノード状態テーブルを更新する（図１４（Ｃ）参照）。Ｓ１１では、自センサノード１Ａに対応する経由回数を１カウントアップするとともに、自センサノードに対応する時刻合せ完了フラグをセットする。
【００６９】
なお、センサノード１Ａは、センサノード１Ｅ以外のセンサノード１が作成した時刻系列データにより、時刻合せを完了している。
【００７０】
また、センサノード１Ａは、自センサノード１Ａが送信先に設定されているので、新たな送信先として、Ｓ１３で経由回数が０回であるセンサノード１Ｂを選択する。このとき、センサノード１Ａは、通信不可であるセンサノード１Ｇを送信先の選択から除外している。センサノード１Ａは、センサノード１Ｂが隣接しているので、Ｓ１４で、センサノード１Ｂを転送先に決定し、時刻系列データ、およびノード状態テーブルを送信する。
【００７１】
時刻系列データ、およびノード状態テーブルを受信したセンサノード１Ｂは、Ｓ８で時刻系列データに時刻情報を追加登録する（図１５（Ｂ）参照）。また、Ｓ１１で、ノード状態テーブルを更新する（図１５（Ｃ）参照）。Ｓ１１では、自センサノード１Ｂに対応する経由回数を１カウントアップする。また、センサノード１Ｂは、自センサノード１Ｂが送信先に設定されているので、新たな送信先として、Ｓ１３で経由回数が０回であるセンサノード１Ｈを選択する。このとき、センサノード１Ｂは、通信不可であるセンサノード１Ｇを送信先の選択から除外している。センサノード１Ｂは、センサノード１Ｈが隣接しているので、Ｓ１４で、センサノード１Ｈを転送先に決定し、時刻系列データ、およびノード状態テーブルを送信する。
【００７２】
時刻系列データ、およびノード状態テーブルを受信したセンサノード１Ｈは、Ｓ８で時刻系列データに時刻情報を追加登録する（図１６（Ｂ）参照）。また、Ｓ１１で、ノード状態テーブルを更新する（図１６（Ｃ）参照）。Ｓ１１では、自センサノード１Ｈに対応する経由回数を１カウントアップする。また、センサノード１Ｈは、自センサノード１Ｈが送信先に設定されているので、新たな送信先として、Ｓ１３で経由回数が０回であるセンサノード１Ｄを選択する。このとき、センサノード１Ｈは、通信不可であるセンサノード１Ｇを送信先の選択から除外している。センサノード１Ｈは、センサノード１Ｄが隣接していないので、Ｓ１４で、センサノード１Ｅを転送先に決定し、時刻系列データ、およびノード状態テーブルを送信する。
【００７３】
時刻系列データ、およびノード状態テーブルを受信したセンサノード１Ｅは、Ｓ８で時刻系列データに時刻情報を追加登録する（図１７（Ｂ）参照）。また、Ｓ１１で、ノード状態テーブルを更新する（図１７（Ｃ）参照）。Ｓ１７では、自センサノード１Ｅに対応する経由回数を１カウントアップする。また、センサノード１Ｅは、自センサノード１Ｅが送信先に設定されていないので、Ｓ１３で送信先を選択しない。センサノード１Ｅは、送信先に設定されているセンサノード１Ｄが隣接しているので、Ｓ１４で、センサノード１Ｄを転送先に決定し、時刻系列データ、およびノード状態テーブルを送信する。
【００７４】
時刻系列データ、およびノード状態テーブルを受信したセンサノード１Ｄは、Ｓ８で時刻系列データに時刻情報を追加登録する（図１８（Ｂ）参照）。また、Ｓ１１で、ノード状態テーブルを更新する（図１８（Ｃ）参照）。Ｓ１１では、自センサノード１Ｄに対応する経由回数を１カウントアップする。また、センサノード１Ｄは、自センサノード１Ｄが送信先に設定されているので、新たな送信先として、Ｓ１３で経由回数が１回であるセンサノード１Ｆを選択する。このとき、センサノード１Ｄは、通信不可であるセンサノード１Ｇを送信先の選択から除外している。センサノード１Ｄは、センサノード１Ｆが隣接しているので、Ｓ１４で、センサノード１Ｆを転送先に決定し、時刻系列データ、およびノード状態テーブルを送信する。
【００７５】
時刻系列データ、およびノード状態テーブルを受信したセンサノード１Ｆは、Ｓ８で時刻系列データに時刻情報を追加登録する（図１９（Ｂ）参照）。また、Ｓ１１で、ノード状態テーブルを更新する（図１９（Ｃ）参照）。Ｓ１１では、自センサノード１Ｆに対応する経由回数を１カウントアップする。また、センサノード１Ｆは、自センサノード１Ｆが送信先に設定されているので、新たな送信先として、Ｓ１３で経由回数が１回であるセンサノード１Ｃを選択する。このとき、センサノード１Ｆは、通信不可であるセンサノード１Ｇを送信先の選択から除外している。センサノード１Ｆは、センサノード１Ｃが隣接しているので、Ｓ１４で、センサノード１Ｃを転送先に決定し、時刻系列データ、およびノード状態テーブルを送信する。
【００７６】
時刻系列データ、およびノード状態テーブルを受信したセンサノード１Ｃは、Ｓ８で時刻系列データに時刻情報を追加登録する（図２０（Ｂ）参照）。また、Ｓ１１で、ノード状態テーブルを更新する（図２０（Ｃ）参照）。Ｓ１１では、自センサノード１Ｃに対応する経由回数を１カウントアップする。また、センサノード１Ｃは、自センサノード１Ｃが送信先に設定されているので、新たな送信先として、Ｓ１３で経由回数が１回であるセンサノード１Ｂを選択する。このとき、センサノード１Ｃは、通信不可であるセンサノード１Ｇを送信先の選択から除外している。センサノード１Ｃは、センサノード１Ｂが隣接しているので、Ｓ１４で、センサノード１Ｃを転送先に決定し、時刻系列データ、およびノード状態テーブルを送信する。
【００７７】
時刻系列データ、およびノード状態テーブルを受信したセンサノード１Ｂは、Ｓ８で時刻系列データに時刻情報を追加登録する（図２１（Ｂ）参照）。また、Ｓ１０で、時刻系列データが時刻合せ条件を満足していると判定し、上述したＳ２１〜Ｓ２６の処理を行う。これにより、センサノード１Ｂは、今回の時刻同期処理における、タイマ１４の時刻合せを完了する。
【００７８】
このように、各センサノード１が、ネットワーク上に存在するセンサノード１のタイマ１４が計時している平均時刻に、自センサノード１のタイマ１４の時刻を合わせる。したがって、ネットワーク上に存在している各センサノード１のタイマ１４の時刻を同期させることができる。また、時刻同期サーバを必要としないのでシステム規模が抑えられるとともに、アドホック型のネットワークシステムにも適用できる。
【００７９】
また、ノード状態テーブルにおいて、各センサノード１の通信可否の状態を設定し、通信不可であるセンサノード１については、時刻系列データ、およびノード状態テーブルの送信先や、転送先に設定しない構成としているので、無駄な通信が抑えられる。
【００８０】
また、各センサノード１の記憶部１３に、通信不可であるセンサノード１を記憶する記憶領域を設け、実際に通信に失敗したときだけでなく、受信したノード状態テーブルを転送するときに、通信不可であることを記憶しているセンサノード１をノード状態テーブルに設定する構成としてもよい。すなわち、記憶部１３に記憶している通信不可であるセンサノード１が、転送されてきたノード状態テーブルにおいて通信可に設定されていれば、これを通信不可に設定する構成としてもよい。また、この場合には、転送されてきたノード状態テーブルにおいて通信不可に設定されていて、記憶部１３に通信不可であることを記憶していないセンサノード１があれば、そのセンサノード１を記憶部１３に追加記憶する構成とするのが、より好ましい。これにより、通信不可であるセンサノード１に対する、時刻系列データ、およびノード状態テーブルの転送が一層確実に防止できる。
【符号の説明】
【００８１】
１（１Ａ〜１Ｈ）  センサノード
１１  制御部
１２  センサ部
１３  記憶部
１４  タイマ
１５  通信部
【図１】
2010116968.tif 000003
【図２】
2010116968.tif 000004
【図３】
2010116968.tif 000005
【図４】
2010116968.tif 000006
【図５】
2010116968.tif 000007
【図６】
2010116968.tif 000008
【図７】
2010116968.tif 000009
【図８】
2010116968.tif 000010
【図９】
2010116968.tif 000011
【図１０】
2010116968.tif 000012
【図１１】
2010116968.tif 000013
【図１２】
2010116968.tif 000014
【図１３】
2010116968.tif 000015
【図１４】
2010116968.tif 000016
【図１５】
2010116968.tif 000017
【図１６】
2010116968.tif 000018
【図１７】
2010116968.tif 000019
【図１８】
2010116968.tif 000020
【図１９】
2010116968.tif 000021
【図２０】
2010116968.tif 000022
【図２１】
2010116968.tif 000023
【手続補正書】
【提出日】平成23年10月6日(2011.10.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
ネットワークを介して接続されている他のネットワーク端末と通信する通信手段と、
予め定められたタイミングになると、自端末の識別番号と、自端末のタイマが計時している現在時刻とを対応付けた時刻情報を作成し、この時刻情報を登録した時刻系列データを作成する時刻系列データ作成手段と、
前記通信手段が他のネットワーク端末から送信されてきた前記時刻系列データを受信したとき、自端末の識別番号と、自端末のタイマが計時している現在時刻とを対応付けた時刻情報を作成し、この時刻情報を今回受信した時刻系列データに追加登録する追加登録手段と、
前記時刻系列データ作成手段が作成した時刻系列データ、および前記追加登録手段が時刻情報を追加登録した時刻系列データ毎に、転送先にするネットワーク端末を決定する転送先決定手段と、
前記転送先決定手段が前記時刻系列データの転送先を決定する毎に、この時刻系列データを前記通信手段により転送する転送手段と、
前記追加登録手段が前記時刻情報を追加登録した時刻系列データにおいて、前記時刻情報を複数回登録しているネットワーク端末の台数が予め定めた閾値台数を超えていれば、時刻合せ条件を満足していると判定する判定手段と、
前記判定手段が前記時刻合せ条件を満足していると判定したとき、この時刻系列データに登録されている時刻情報に基づいて、自端末のタイマが計時している時刻を補正する時刻合せを行う時刻合せ手段と、を備えているネットワーク端末。
【国際調査報告】
2010116968.tif 000024
2010116968.tif 000025