(57)【要約】      （修正有）【課題】  ネットワーク内での時計時刻同期を確立することができる時計時刻同期方法を提供する。【解決手段】複数のノードで構成されるツリー構造のネットワークの時計時刻同期方法において、親ノードは、キャリアセンス毎に該親ノードの時計をリードし、リードした時刻より時計時刻情報を生成し、子ノードに前記時計時刻情報の送信を行い、前記子ノードは時計時刻情報に１ホップ分の遅延補正を行い、前記子ノードの時刻設定を行うことにより、ネットワーク内での時計時刻同期を確立することができる。【選択図】  図１
2006003118.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードで構成されるツリー構造のネットワークの時計時刻同期方法において、
親ノードは、キャリアセンス毎に該親ノードの時計をリードし、リードした時刻より時計時刻情報を生成し、子ノードに前記時計時刻情報の送信を行い、
前記子ノードは、時計時刻情報に１ホップ分の遅延補正を行い、前記子ノードの時計を設定することを特徴とする時計時刻同期方法。
【請求項２】
前記子ノードの下流側の各子ノードは、時計時刻情報に１ホップ分の遅延補正を行い、前記子ノードの下流側の各子ノードの時計を設定することを特徴とする請求項１記載の時計時刻同期方法。
【請求項３】
前記各子ノードは、時計時刻設定が完了したときは、前記親ノードに時計時刻設定完了信号を送信することを特徴とする請求項１または２記載の時計時刻同期方法。
【請求項４】
複数のノードで構成されるメッシュ型のネットワークの時計時刻同期方法において、
親ノードは、キャリアセンス毎に該親ノードの時計をリードし、リードした時刻より時計時刻情報を生成し、該時計時刻情報にシーケンス番号を付与し、子ノードに前記時計時刻情報の送信を行い、
前記子ノードは、前記シーケンス番号を使用して時計時刻情報に１ホップ分の遅延補正を行い、前記子ノードの時計を設定し、下流側の子ノードに時計時刻情報を送信することを特徴とする時計時刻同期方法。
【請求項５】
前記子ノードの下流側の各子ノードは、前記シーケンス番号を使用して時計時刻情報に１ホップ分の遅延補正を行い、前記子ノードの下流側の各子ノードの時計を設定することを特徴とする請求項４記載の時計時刻同期方法。
【請求項６】
前記親ノードは、新たにネットワーク内の時計時刻同期を確立するときは他のシーケンス番号を付与した時計時刻情報を前記子ノードに送信することを特徴とする請求項４または５記載の時計時刻同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時計時刻同期方法に関する。
【背景技術】
【０００２】
ネットワーク内で時計時刻同期を確立することは、スケジューリングされたタスクをノード間で並列処理させるのに不可欠である。例えば、無線センサネットワークのように、各ノードがセンサを搭載しており、決まった時刻にセンシングを実施しそのデータをルートに転送するシステムがある。
従来方式としてルートとノードとの間で時計時刻情報を送信し、ノードでホップ数に応じた遅延補正を行う方法や、ルートで予めノードまでの遅延時間を補正した時計時刻情報を送信する方法がある（例えば、特許文献１参照。）。
【０００３】
図２はネットワークの構成例を示す図である。図３は時計時刻同期方式の従来例を示す図であり、図３は時計時刻同期方式の他の従来例を示す図である。
例えば、図２に示すネットワークで、ルートであるノード０とノード２との間で時計時刻同期を確立することを考える。ルートはノード２に向けて時計時刻情報を送信する。ノード０が送信した時計時刻情報は、ノード１が中継し、ノード２が受信する。予めルートで２ホップ分の遅延補正を行っている場合は、ノード２は受信した時計時刻情報を自ノード（ノード２）の時計にライトする。ノード２で遅延補正を行う場合は、２ホップ分の遅延補正を行った結果を自ノードの時計にライトする。
【０００４】
また、従来方式として複数の無線ノードが分散配置されたネットワークで、ノード間でクロック同期を順番にとる方式がある。この方法は時分割複信でノード間の送受信タイミングを同期させる目的で使用される（例えば、特許文献２参照。）。
さらに、他の従来方式としてＣＳＭＡ／ＣＤ方式のＬＡＮにおいて時刻同期をとる方式がある（例えば、特許文献３参照。）。
【特許文献１】特開２００３−３１７１８０号公報
【特許文献２】特開２００３−２７３８４９号公報
【特許文献３】特開平４−２７３７３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、前述した特許文献１記載の従来技術では、無線等のキャリアセンスや再送を用いる通信手段を利用する場合、図３に示すように、ホップ数に応じた遅延時間だけでなく、中継ノードで生じたキャリア空き待ち時間や再送時間も補正する必要がある。
また、予めルートで遅延補正を行う方式では、キャリア空き待ち時間や再送時間は補正することはできなかった。さらに、ノードで遅延補正を行う方式では、ルートの時計時刻情報の他に中継ノードで発生したキャリア待ち時間や再送に要した時間情報を新たに信号に追加する必要があった。
【０００６】
一方、前述した特許文献２記載の方式では、信号衝突回避のためのキャリアセンスや信号衝突時の再送による遅延時間が考慮されていない。
また、前述した特許文献３記載の方式では、時計時刻情報の他にＣＳＭＡ／ＣＤ方式で生じた遅延情報も送信する必要があった。
そこで、本発明の目的は、ネットワーク内での時計時刻同期を確立することができる時計時刻同期方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明の請求項１記載の発明は、複数のノードで構成されるツリー構造のネットワークの時計時刻同期方法において、親ノードは、キャリアセンス毎に該親ノードの時計をリードし、リードした時刻より時計時刻情報を生成し、子ノードに前記時計時刻情報の送信を行い、前記子ノードは、時計時刻情報に１ホップ分の遅延補正を行い、前記子ノードの時計を設定することを特徴とする。
【０００８】
請求項１記載の発明によれば、親ノードが自ノードの時計時刻情報を子ノードに送信し、子ノードが１ホップ分の遅延補正を行うことにより、ネットワーク内での時計時刻同期を確立することができる。その理由は、親ノードと子ノードとの間でキャリアセンス毎に親ノードの時計をリードし、時計時刻情報を生成し、子ノードに送信するからである。
【０００９】
請求項２記載の発明は、請求項１記載の発明において、前記子ノードの下流側の各子ノードは、時計時刻情報に１ホップ分の遅延補正を行い、前記子ノードの下流側の各子ノードの時計を設定することを特徴とする。
【００１０】
請求項３記載の発明は、請求項１または２記載の発明において、前記各子ノードは、時計時刻設定が完了したときは、前記親ノードに時計時刻設定完了信号を送信することを特徴とする。
【００１１】
請求項４記載の発明は、複数のノードで構成されるメッシュ型のネットワークの時計時刻同期方法において、親ノードは、キャリアセンス毎に該親ノードの時計をリードし、リードした時刻より時計時刻情報を生成し、該時計時刻情報にシーケンス番号を付与し、子ノードに前記時計時刻情報の送信を行い、前記子ノードは、前記シーケンス番号を使用して時計時刻情報に１ホップ分の遅延補正を行い、前記子ノードの時計を設定し、下流側の子ノードに時計時刻情報を送信することを特徴とする。
【００１２】
請求項５記載の発明は、請求項４記載の発明において、前記子ノードの下流側の各子ノードは、前記シーケンス番号を使用して時計時刻情報に１ホップ分の遅延補正を行い、前記子ノードの下流側の各子ノードの時計を設定することを特徴とする。
【００１３】
請求項６記載の発明は、請求項４または５記載の発明において、前記親ノードは、新たにネットワーク内の時計時刻同期を確立するときは他のシーケンス番号を付与した時計時刻情報を前記子ノードに送信することを特徴とする。
【発明の効果】
【００１４】
親ノードが自ノードの時計時刻情報を子ノードに送信し、子ノードが１ホップ分の遅延補正を行うことにより、親ノードと子ノードとの間でキャリアセンス毎に親ノードの時計をリードし、時計時刻情報を生成し、子ノードに送信するので、ネットワーク内での時計時刻同期を確立することができる。
【発明を実施するための最良の形態】
【００１５】
本発明は、複数のノードで構成されるツリー構造のネットワークの時計時刻同期方法において、親ノードは、キャリアセンス毎に該親ノードの時計をリードし、リードした時刻より時計時刻情報を生成し、子ノードに前記時計時刻情報の送信を行い、前記子ノードは、時計時刻情報に１ホップ分の遅延補正を行い、前記子ノードの時計を設定することを特徴とする。
【実施例１】
【００１６】
（本発明の特徴）
図１に示すような複数ノードから構成されるＴｒｅｅ（ツリー）構造ネットワークで、ルート（図１ではノード０）の持つ時計に、ネットワークのノードの持つ時計を同期させることを考える。各ノードは信号送信時にキャリアセンスにより信号衝突防止を行う。
本発明では、親ノードでキャリアセンス毎に時計をリードし、時計時刻情報を生成し、親ノードと子ノードとの間で時計時刻情報の送信を行う。子ノードでは１ホップ分の遅延補正を行い、時計を設定する。
【００１７】
図４に本発明の時計時刻情報同期方法の一実施例の概念を示す。
図４ではノード０は、キャリアセンス毎に時計をリードし時計時刻情報を生成しノード１に送信する。ノード０より時計時刻情報を受信したノード１は１ホップ分の遅延補正を行った結果を時計にライトする。これで、ノード０とノード１とは時計時刻同期を確立する。
次にノード１はキャリアセンス毎に時計をリードし、ノード１の時計時刻情報をノード２に送信する。ノード１より時計時刻情報を受信したノード２は１ホップ分の遅延補正を行った結果を時計にライトする。これでノード１とノード２は時計時刻同期を確立する。
最後にノード１はキャリアセンス毎に時計をリードし、ノード１の時計時刻情報をノード３に送信する。ノード１より時計時刻情報を受信したノード３は１ホップ分の遅延補正を行った結果を時計にライトする。ノード１とノード３とは時計時刻同期を確立し、結果としてルートであるノード０の時計とノード１、ノード２、ノード３の時計が同期を確立したことになる。これにより、複数ノードから構成されるツリー構造ネットワークで各ノードがキャリアセンスを使用する場合でも、常に親ノードではキャリアセンス毎に自ノードの時計時刻情報を送信し、子ノードでは時計時刻情報に１ホップ分の遅延補正を行い自ノードの時計に設定することで、ネットワークの時計時刻同期を確立することができる。
【００１８】
次に本発明の時計時刻同期方法の一実施例について述べる。
（実施例の構成）
図１に示す各ノードは、リード・ライト可能な時計を持つ。時計のリードにより時計時刻情報を取得でき、時計への時刻のライトにより時計時刻を修正することができる。また各ノードの保持している経路情報を図５（ａ）〜図５（ｄ）に示す。
親ノードの処理を図６のフローチャートを用いて説明する。
親ノードは、自ノードの時計をリードし時計時刻情報を生成する（ステップＳ１）。
親ノードは、時計時刻情報生成後、キャリアセンスを行い、キャリアディテクトしていないか否かを判断する（ステップＳ２）。
親ノードは、キャリアを発見した場合（ステップＳ２／Ｎｏ）は、所定時間ウエイトし（ステップＳ６）、再度時計をリードして時計時刻情報を生成し（ステップＳ１）、キャリアセンスを行う（ステップＳ２）。
親ノードは、キャリアを発見しなかった場合（ステップＳ２／Ｙｅｓ）は、時計時刻情報を子ノードに送信する（ステップＳ３）。
親ノードは、時計設定完了信号受信か否かを判断し（ステップＳ４）、他の子ノードが存在するか否かを判断する（ステップＳ５）。
親ノードは、子ノードより時計設定完了信号を受信し（ステップＳ４／Ｙｅｓ）、かつ、他に子ノードを持っている場合（ステップＳ５／Ｙｅｓ）、同じ処理を他の子ノードに対しても実施する。
親ノードは、他に子ノードを持たない場合（ステップＳ５／Ｎｏ）、処理を終了する。
親ノードは、子ノードより時計設定完了信号を受信できなかった場合（ステップＳ４／Ｎｏ）、受信タイムアウトか否かを判断する（ステップＳ７）。
親ノードは、所定時間以内に受信できなかった場合は、タイムアウトとなり（ステップＳ７／Ｙｅｓ）、再送回数が所定数オーバーしたか否かを判断する（ステップＳ８）。
親ノードは、再送回数が所定回数以内であれば（ステップＳ８／Ｎｏ）、時計のリードから再度処理を実施する。
親ノードは、再送回数が所定回数を超える場合（ステップＳ８／Ｙｅｓ）でかつ、他の子ノードを持つ場合（ステップＳ５／Ｙｅｓ）は、他の子ノードに対して同じ処理を実施し、他に子ノードを持たない場合（ステップＳ５／Ｎｏ）は、処理を終了する。
【００１９】
次に子ノードの処理を図７のフローチャートを用いて説明する。
子ノードは、親ノードより時計時刻情報を受信すると（ステップＴ１）、１ホップ分の遅延補正を行い（ステップＴ２）、時計時刻設定完了信号を親ノードに送信する（ステップＴ３）。
子ノードは、他の子ノードを持っているか否かを判断する（ステップＴ４）。
子ノードは、経路情報に子ノードのエントリがあれば（他の子ノードを持っている場合：ステップＴ４／Ｙｅｓ）、図６に示した処理を子ノードに対して実施する（ステップＴ５）。
子ノードは、経路情報に子ノードのエントリがなければ（他の子ノードを持っていない場合：ステップＴ４／Ｎｏ）処理を終了する。
【００２０】
（実施例の動作の説明）
図８を用いて、実施例の動作例を説明する。
図８に図４の各ノードのタイミングチャートを示す。
ルートであるノード０は子ノードであるノード１に対して時計時刻同期の確立を試みる。
ノード０は、自ノードの時計をリードし時計時刻情報を生成後、キャリアセンスを行う。
ノード０は、キャリアを発見しなかったので、ノード１に対して時計時刻情報を送信する。
ノード０は、ノード１からの時計設定完了信号を待つが、タイムアウトとなったため、再度自ノードの時計をリードし時計時刻情報を生成し、キャリアセンスを行う。
ノード０は、キャリアを発見しなかったので、ノード１に対して時計時刻情報を送信し、ノード１より時計設定完了信号を受信する。
ノード０は、他に子ノードを持たないため処理を終了する。
ノード１は、ノード０より時計時刻情報を受信すると、１ホップ分の遅延補正を行い、自ノードの時計に時計時刻情報をライトする。
ノード１は、ノード０に時計設定完了信号を送信する。
ノード１は、子ノードとして、ノード２とノード３とを持つので、それらのノード２、３に対して時計時刻同期の確立を試みる。
ノード１は、自ノードの時計をリードし、時計時刻情報を生成後、キャリアセンスを行い、キャリアを発見しなかったので、ノード２に対して時計時刻情報を送信し、ノード２より時計設定完了信号を受信する。
ノード２は、子ノードを持たないため処理を終了する。
ノード１は、ノード３に対して時計時刻同期の確立を試みる。
ノード１は、自ノードの時計をリードし、時計時刻情報を生成後、キャリアセンスを行う。キャリアセンスでキャリアを発見したため、所定時間ウエイトし、再度自ノードの時計をリードし、時計時刻情報を生成後、キャリアセンスを行う。
ノード１は、キャリアを発見しなかったので、ノード３に対して時計時刻情報を送信し、ノード３より時計設定完了信号を受信する。
ノード１は、他に子ノードを持たないため処理を終了する。
ノード３は、子ノードを持たないため処理を終了する。
以上により、ネットワーク内で時計時刻同期を確立した。
【００２１】
（効果の説明）
本発明により、複数ノードから構成されるツリー構造ネットワークでキャリアセンスや再送を使用する通信手段を用いた場合に、親ノードでは自ノードの時計時刻情報を子ノードに送信し、子ノードは１ホップ分の遅延補正を行うことでネットワーク内での時計時刻同期を確立することができる。その理由は、親ノードと子ノードとの間で、キャリアセンス毎に親ノードの時計をリードし時計時刻情報を生成し、子ノードに送信するからである。
【実施例２】
【００２２】
本発明の時計時刻同期方法の他の実施例の概念を図９に示す。
図９ではメッシュ型のネットワークで、ネットワーク内の時計をノード０の時計に同期させることを考える。
本実施例は、複数のノードで構成されるメッシュ型のネットワークの時計時刻同期方法において、親ノードは、キャリアセンス毎に親ノードの時計をリードし、リードした時刻より時計時刻情報を生成し、時計時刻情報にシーケンス番号を付与し、子ノードに時計時刻情報の送信を行い、子ノードは、シーケンス番号を使用して時計時刻情報に１ホップ分の遅延補正を行い、子ノードの時計を設定し、下流側の子ノードに時計時刻情報を送信することを特徴とする。
ここでは例としてノード０の時計に同期させることを示しているが、他のノードでも同じである。ノード０は時計時刻情報にシーケンス番号を付与する。ノード０は隣接ノードに対して同じシーケンス番号を使用し、受信したノードはそのシーケンス番号を使用し隣接ノードに自ノードの時計をリードして時計時刻情報を送信する。例えば、ノード０がシーケンス番号１と自ノードの時計時刻情報をノード１に送信したとすると、ノード１は隣接ノード２にシーケンス番号１と自ノードの時計時刻情報とを送信する。時計時刻情報のループを防止する目的で、同一のシーケンス番号を重複して受信した場合は、隣接ノードに対して時計時刻情報の送信を行わない。ノード０が新たにネットワーク内の時計時刻同期を確立したい場合は、ノード０は別のシーケンス番号を付与し時計時刻情報を送信する。
【図面の簡単な説明】
【００２３】
【図１】複数ノードから構成されるＴｒｅｅ（ツリー）構造ネットワークを示す図である。
【図２】時計時刻同期方式の従来例を示す図である。
【図３】時計時刻同期方式の他の従来例を示す図である。
【図４】本発明の時計時刻同期方法の一実例の概念図である。
【図５】（ａ）〜（ｄ）は、各ノードの保持している経路情報を示す図である。
【図６】親ノードの処理を示すフローチャートである。
【図７】子ノードの処理を示すフローチャートである。
【図８】図４の各ノードのタイミングチャートである。
【図９】本発明の時計時刻同期方法の他の実施例の概念図である。
【図１】
2006003118.tif 000003
【図２】
2006003118.tif 000004
【図３】
2006003118.tif 000005
【図４】
2006003118.tif 000006
【図５】
2006003118.tif 000007
【図６】
2006003118.tif 000008
【図７】
2006003118.tif 000009
【図８】
2006003118.tif 000010
【図９】
2006003118.tif 000011