(57)【特許請求の範囲】
【請求項１】
複数のノードから構成されるアドホックネットワークと時刻同期を取る装置であって、
前記アドホックネットワークに属し、時刻同期要求フレームを受信して時刻同期応答フレームを送信する機能を有する前記複数のノードの一つに、前記複数のノードの一つのアドレスを含む前記時刻同期要求フレームを送信する時刻同期要求フレーム送信手段と、
前記時刻同期要求フレームを受信した前記複数のノードの一つから時刻同期情報を含む前記時刻同期応答フレームを受信する時刻同期応答フレーム受信手段と、
前記時刻同期応答フレームに含まれている前記時刻同期情報を使用して前記複数のノードの一つと時刻同期を行う時刻同期手段、
を含み、
前記時刻同期要求フレーム送信手段は、前記時刻同期要求フレームを送信してから所定時間が過ぎても前記時刻同期応答フレーム受信手段が前記時刻同期応答フレームを受信しない場合には、前記時刻同期要求フレームを再送し、前記時刻同期要求フレームの再送回数が所定回数を超過した場合には、前記時刻同期要求フレームの再送を中止する、
ことを特徴とする装置。
【請求項２】
複数のノードから構成されるアドホックネットワークと時刻同期を取る装置であって、
前記アドホックネットワークに属する前記複数のノードの一つから、前記複数のノードの一つのアドレスを含むメッセージを受信するメッセージ受信手段と、
前記アドホックネットワークに属する前記複数のノードの一つに、前記複数のノードの一つのアドレスを含む時刻同期要求フレームを送信する時刻同期要求フレーム送信手段と、
前記時刻同期要求フレームを受信した前記複数のノードの一つから時刻同期情報を含む時刻同期応答フレームを受信する時刻同期応答フレーム受信手段と、
前記時刻同期応答フレームに含まれている前記時刻同期情報を使用して前記複数のノードの一つと時刻同期を行う時刻同期手段、
を含むことを特徴とする装置。
【請求項３】
前記メッセージの信号強度が予め定められたしきい値以上のとき、前記時刻同期要求フレームを前記複数のノードの一つに送信させるように前記時刻同期要求フレーム送信手段を制御するノード選択手段、
をさらに含むことを特徴とする請求項２の装置。
【請求項４】
前記時刻同期要求フレーム送信手段は、前記メッセージを所定の時間内に連続して所定の回数以上受信したときに、前記時刻同期要求フレームを送信することを特徴とする請求項２又は３の装置。
【請求項５】
前記時刻同期要求フレーム送信手段は、前記時刻同期要求フレームを送信してから所定時間が過ぎても前記時刻同期応答フレーム受信手段が前記時刻同期応答フレームを受信しない場合には、前記時刻同期要求フレームを再送し、前記時刻同期要求フレームの再送回数が所定回数を超過した場合には、前記時刻同期要求フレームの再送を中止することを特徴とする請求項２の装置。
【請求項６】
複数のノードから構成されるアドホックネットワークと時刻同期を取る装置が行う方法であって、
前記アドホックネットワークに属し、時刻同期要求フレームを受信して時刻同期応答フレームを送信する機能を有する前記複数のノードの一つに、前記複数のノードの一つのアドレスを含む前記時刻同期要求フレームを送信し、
前記時刻同期要求フレームを受信した前記複数のノードの一つから時刻同期情報を含む前記時刻同期応答フレームを受信し、
前記時刻同期応答フレームに含まれている前記時刻同期情報を使用して前記複数のノードの一つと時刻同期を行い、
前記時刻同期要求フレームを送信してから所定時間が過ぎても前記時刻同期応答フレームを受信しない場合には、前記時刻同期要求フレームを再送し、前記時刻同期要求フレームの再送回数が所定回数を超過した場合には、前記時刻同期要求フレームの再送を中止する、
ことを特徴とする方法。
【請求項７】
複数のノードから構成されるアドホックネットワークと時刻同期を取る装置が行う方法であって、
前記アドホックネットワークに属する前記複数のノードの一つから、前記複数のノードの一つのアドレスを含むメッセージを受信し、
前記アドホックネットワークに属する前記複数のノードの一つに、前記複数のノードの一つのアドレスを含む時刻同期要求フレームを送信し、
前記時刻同期要求フレームを受信した前記複数のノードの一つから時刻同期情報を含む時刻同期応答フレームを受信し、
前記時刻同期応答フレームに含まれている前記時刻同期情報を使用して前記複数のノードの一つと時刻同期を行う、
ことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アドホックネットワークにおける時刻同期方法およびそれを用いるネットワーク装置に関し、特にプロアクティブ型ルーティングプロトコルを用いたアドホックネットワークにおける時刻同期方法およびそれを用いるネットワーク装置に関する。
【背景技術】
【０００２】
アドホックネットワークシステムでは、アドホックネットワーク通信端末（ノード装置、または単にノードとも呼ばれる）同士が自律的にネットワーク接続し、相互の通信を可能としている。「自律的に」という言葉は、使用者によって随時通信経路を設定したり、サーバやルータの通信管理を行う専用の通信端末やインフラを必要としない、ということを意味する。
【０００３】
アドホックネットワークのルーティングプロトコル（アドホックプロトコル）には、ＩＥＴＦのＭＡＮＥＴ  ＷＧで検討されているリアクティブ型のＡＯＤＶ（Ａｄｈｏｃ  Ｏｎ  Ｄｅｍａｎｄ  Ｄｉｓｔａｎｃｅ  Ｖｅｃｔｏｒ  Ａｌｇｏｒｉｔｈｍ）やプロアクティブ型のＯＬＳＲ（Ｏｐｔｉｍｉｚｅｄ  Ｌｉｎｋ  Ｓｔａｔｅ  Ｒｏｕｔｉｎｇ）が知られている。
【０００４】
また、通信要求に先立って、予め各ノードが自律的にデータ通信を行うための経路（ルート）を構築し、更に、最適な経路を随時学習し、経路変更するプロアクティブ型ルーティングプロトコルも知られている（特許文献１）。このようなアドホックネットワークでは、各ノードは、自分自身がどのように他のノードと接続されているかを知るために、隣接するノードとの間で、たとえばＨｅｌｌｏメッセージのような、経路情報やノード間のリンクの通信品質情報といったノード情報を含むメッセージの送受信を定期的に行う。このようなメッセージの送受信を通じて、最適な経路を随時学習し、経路変更をすることができる。
【０００５】
メッシュ型のアドホックネットワークの一例では、ネットワークサーバにつながるノード（たとえばゲートウェイ（ＧＷ））は起動後にネットワークサーバから時刻を取得し、そのノードの配下にある複数のノードに対して、時刻同期フレームをブロードキャスト送信することで時刻通知を行う。ノードはその時刻通知を受信すると、自装置のシステム時刻として設定するとともに、その時刻を元に暗号化／復号化を行うための共通鍵を生成する。よって、システム時刻が設定されていないノードは、他のノードから暗号化されたデータを受け取っても、復号化のための共通鍵を生成できない。上記のようなアドホックネットワークにおいては、各ノード間のデータの送受信では時刻情報を元に生成される暗号鍵が必要になるため、各ノードは時刻同期されたことを契機にデータの送受信を実施し、ネットワークの構築が可能となる。
【０００６】
時刻同期が完了したメッシュ型アドホックネットワークにおいて、新規ノードが既存のネットワークに属するノードと時刻同期を取るために必要とされる時刻同期フレームの送信周期がたとえば1日に1回であることがある。この場合、新規にネットワークに参加しようとするノードは周囲のノードが周期的に送信する1日に1回の時刻同期フレームを受信するまでネットワークに参加する事が出来ず、起動しても最長1日ほど待たなければならない。一般に時刻同期フレームの送信周期は、Ｈｅｌｌｏメッセージのような経路情報やノード間のリンクの通信品質情報といったノード情報を含むメッセージの送信周期より大きいことが多い。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】国際公開ＷＯ２０１１／０１３１６５パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００８】
時刻同期を行わないと互いにデータの遣り取りが不可能であるアドホックネットワークの場合、時刻同期を目的とし時刻同期情報を含むフレーム、たとえば時刻同期フレームを受信しないと新規ノードが既存のネットワークに属するノードと時刻同期が取れないという問題があった。よって、新規ノードが既存のネットワークに属するノードと時刻同期をとるために、最大で時刻同期フレームの送信周期の時間を要するという問題があった。
【０００９】
また、アドホックネットワークにおいて、時刻同期を行わないと互いにデータの遣り取りが不可能である場合、時刻同期を目的とし時刻同期情報を含むフレームを受信しないと新たなノードがネットワークへの参加が不可能であるという問題があった。
【課題を解決するための手段】
【００１０】
本発明に従う複数のノードから構成されるアドホックネットワークと時刻同期を取る装置は、前記アドホックネットワークに属し、時刻同期要求フレームを受信して時刻同期応答フレームを送信する機能を有する前記複数のノードの一つに、前記複数のノードの一つのアドレスを含む前記時刻同期要求フレームを送信する時刻同期要求フレーム送信手段と、前記時刻同期要求フレームを受信した前記複数のノードの一つから時刻同期情報を含む前記時刻同期応答フレームを受信する時刻同期応答フレーム受信手段と、前記時刻同期応答フレームに含まれている前記時刻同期情報を使用して前記複数のノードの一つと時刻同期を行う時刻同期手段、を含み、前記時刻同期要求フレーム送信手段は、前記時刻同期要求フレームを送信してから所定時間が過ぎても前記時刻同期応答フレーム受信手段が前記時刻同期応答フレームを受信しない場合には、前記時刻同期要求フレームを再送し、前記時刻同期要求フレームの再送回数が所定回数を超過した場合には、前記時刻同期要求フレームの再送を中止する、ことを特徴とする。
【発明の効果】
【００１１】
新規ノード装置起動後に、新規ノードから時刻同期済みのネットワークに属するノードへの時刻同期要求フレームを送信し、これに対応して時刻同期済みのネットワークに属するノードから新規ノードに送信される時刻同期応答フレームを使って新規ノードの時刻同期が可能になるため、新規ノード装置が既存のネットワークに参加するまでの時間が短くなり、ネットワークの再構築時間を早くすることが可能である。
【図面の簡単な説明】
【００１２】
【図１】メッシュ状のアドホックネットワークの構成例を示す図である。
【図２】Ｈｅｌｌｏメッセージの伝搬により経路を構築する例（その１）を示す図である。
【図３】Ｈｅｌｌｏメッセージの伝搬により経路を構築する例（その２）を示す図である。
【図４】Ｈｅｌｌｏメッセージの伝搬により経路を構築する例（その３）を示す図である。
【図５】時刻初期値によってネットワークの構築が不可になる例を示す図である。
【図６】本発明の実施形態に係るノード装置の時刻同期要求処理を示すフローチャートである。
【図７】本発明の実施形態に係るノード装置のＨｅｌｌｏ受信処理を示すフローチャートである。
【図８】Ｈｅｌｌｏメッセージのフレームフォーマットの例である。
【図９】本発明の実施形態に係るノード装置の時刻同期要求フレーム送信処理を示すフローチャートである。
【図１０】時刻同期要求フレームのフォーマットの例である。
【図１１】本発明の実施形態に係るノード装置の時刻同期応答待ち時間タイムアウト処理を示すフローチャートである。
【図１２】既存のネットワークに属するノードの処理を示すフローチャートである。
【図１３】本発明の実施形態に係るノード装置の時刻同期応答フレーム送信処理を示すフローチャートである。
【図１４】本発明の実施形態に係るノード装置の時刻同期応答フレーム受信処理を示すフローチャートである。
【図１５】時刻同期フレーム／時刻同期応答フレームのフォーマットの例である。
【図１６】本発明の実施形態に係るノード装置のＨｅｌｌｏ監視タイマ処理を示すフローチャートである。
【図１７】本発明の実施形態に係るノード装置のブロック図である。
【図１８】実施例１の処理の流れを示すタイミング図である。
【図１９】実施例２の処理の流れを示すタイミング図である。
【図２０】実施例３の処理の流れを示すタイミング図である。
【図２１】実施例４の処理の流れを示すタイミング図である。
【図２２】実施例５の処理の流れを示すタイミング図である。
【発明を実施するための形態】
【００１３】
以下ではまず、図１〜５を参照して、メッシュ型アドホックネットワークを構成する処理の例について説明する。この例では、Ｈｅｌｌｏメッセージの遣り取りによって、通信経路が構築される。ネットワークを構成する各ノードは、互いに時刻同期フレームを遣り取りすることによって時刻同期を取る。時刻は暗号化されたデータの復号に用いられる。逆に、図１に示されるネットワークでは、時刻が同期されていないと互いにデータの遣り取りができない。
【００１４】
その次に図６〜１６を参照しながら、本発明に従う時刻同期方法を説明する。本方法は、時刻同期を行わないと互いにデータの遣り取りが不可能であるネットワークにおいて、新規ノードの既存のネットワークへの参加方法を提供する。本発明に従う時刻同期方法では、ネットワークと時刻同期が取れていないノードは、時刻同期を取るための情報（時刻同期情報）を含む時刻同期フレームを受信する前に、時刻同期されているネットワークに属するノードに対して、時刻同期要求フレームを送信する。そして、その時刻同期要求フレームへの返事として時刻同期フレームと同じフォーマットの時刻同期応答フレームを受信する。そして、その内容を用いて、時刻同期要求フレームを送信したノードは、既存のネットワークと時刻同期をとることができる。図１７は、本発明の時刻同期方法を用いるノード装置のブロック図である。
【００１５】
さらに、図１８〜２２を参照しながら、実施例１〜５を説明する。
（メッシュ型アドホックネットワークの構成）
図１は、メッシュ型アドホックネットワークの一例を示す図である。図１のネットワーク１０は以下の実施形態を適用することが可能である。ネットワーク１０はネットワークサーバ１２、およびネットワークサーバ１２につながるネットワーク１４、さらにネットワーク１４につながるゲートウェイＧＷを含んでいる。ゲートウェイＧＷはアドホックネットワークのノード装置でもある。さらにネットワーク１０は複数のノード装置ａ、ｂ、ｃ、ｄ、ｅ、Ｙを含んでいる。ノード装置は単にノードと呼ぶこともある。
【００１６】
複数のノード装置は図１中では矢印で示されているリンクによって互いに接続されている。具体的には、ＧＷはノードａ、ノードｂ、およびノードｃと接続されている。ノードａはＧＷの他に、ノードｂおよびノードｄと接続されている。ノードｂは、ＧＷとノードａの他に、ノードｃ、ノードｄ、ノードｅおよびノードＹに接続されている。ノードｃは、ＧＷとノードｂの他に、ノードｅと接続されている。ノードｄは、ノードａとノードｂの他に、ノードＹと接続されている。ノードｅは、ノードｂとノードｃの他に、ノードＹと接続されている。ノードＹは、ノードｂ、ノードｄおよびノードｅと接続されている。各ノードの例としては、センサが挙げられる。このとき、アドホックネットワーク１０は、センサネットワークとも呼ばれる。リンクによるノードの接続は有線であっても無線であっても良い。
【００１７】
各ノードは、それぞれ固有の識別情報（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ、ＩＤ）を保有する。ノードＩＤは、ＭＡＣアドレスでも良い。各ノード装置は、互いに隣接しているノード情報やネットワーク全体についての情報を必ずしも把握していない。そこで、各ノードは、自分自身がどのように他のノードと接続されているかを知るために、隣接するノードとの間で、たとえばＨｅｌｌｏメッセージのような、経路情報やノード間のリンクの通信品質情報といったノード情報を含むメッセージの送受信を定期的に行う。Ｈｅｌｌｏメッセージは、たとえば数秒間隔で各ノードから送信される。そのようなメッセージの遣り取りから、各経路の通信品質を計算し、その結果をもって最終宛先までの複数の経路の構築及び最適な経路の決定を行う。つまり、Ｈｅｌｌｏメッセージには、メッセージを送信するノードと隣接するノード間の経路情報およびノード間リンクの通信品質情報等のノード情報が含まれている。たとえば、ＧＷからノードＹまで何らかのメッセージを送信するとき、ノードａ、ｄを経由する経路を｛ＧＷ、ａ、ｄ、Ｙ｝と書くことがある。
【００１８】
図１に示されているネットワーク１０において、ＧＷからノードＹまでの経路をＨｅｌｌｏメッセージの伝搬によって構築する方法を図２〜４を参照しながら説明する。
図２に示されているように、ＧＷは自身のＨｅｌｌｏメッセージ送信タイミングになると、Ｈｅｌｌｏメッセージをブロードキャスト送信する。ブロードキャスト送信では、そのノードに接続されているノード全てに一律に送信される。よって、ＧＷから送信されたＨｅｌｌｏメッセージはノードａ、ノードｂ、およびノードｃにおいて受信される。
【００１９】
ＧＷからＨｅｌｌｏメッセージを受信したノードａ、ノードｂ、およびノードｃは、内部に管理、保持する経路情報テーブル（ルーティングテーブルとも呼ばれる）にＧＷを登録する。また、ＧＷからのＨｅｌｌｏメッセージに含まれているノード情報、つまりＧＷが保有しているノード情報を使用して経路品質やノード間リンクの通信品質を計算し、結果を自身の経路情報テーブルやリンク情報テーブル（リンクテーブルとも呼ばれる）に登録する。尚、ノードａ、ノードｂ、およびノードｃはＧＷから受信したＨｅｌｌｏメッセージの再ブロードキャスト送信（フラッディング）は行わない。経路情報テーブルやリンク情報テーブルは、自分自身がどのように他のノードと接続されているかの情報を与える。
【００２０】
次に、たとえばノードｂの場合（図３）、自身のＨｅｌｌｏメッセージ送信タイミングになると、自身が保持するノード情報を含むＨｅｌｌｏメッセージをブロードキャスト送信する。ノードｂのＨｅｌｌｏメッセージにはＧＷのノード情報が含まれる。ノードYはノードbからのＨｅｌｌｏメッセージを受信して、ノードbを経路情報テーブルに登録する。ノードbからのＨｅｌｌｏメッセージには、ノードｂがＧＷに接続されていること、およびノードｂとＧＷ間の経路品質／リンク品質が含まれているので、結局、ノードＹは、ノードｂ経由でのノードＹとＧＷ間の経路品質／リンク品質を経路情報テーブル／リンク情報テーブルに登録することができる。
【００２１】
さらに、ノードbと同様に、ノードｄ、ｅもそれぞれのＨｅｌｌｏメッセージの送信タイミングでＨｅｌｌｏメッセージをブロードキャスト送信する。ノードYではGW宛ての経路としてそれぞれノードｂ、ｄ、ｅを経由する複数の経路が構築される。これら複数の経路の優先順位は、各経路での経路品質／リンク品質情報により決定される。
【００２２】
このように、各ノードがＨｅｌｌｏメッセージを交換することによりノード間で経路情報と品質情報が伝搬され、各ノードでは最終宛先までの経路が複数構築される。
また、Ｈｅｌｌｏメッセージをノード間でやり取りするには、時刻情報を元に生成される暗号鍵が必要である。よって、ネットワークに属するノードの間で時刻同期が取れていないと、Ｈｅｌｌｏメッセージの遣り取りはできない。時刻同期を取るためには時刻同期情報を含む時刻同期フレームを受信しても良い。時刻同期フレームはたとえば、１日に１回などの頻度でたとえばＧＷからブロードキャスト送信される。受信したノードの時刻情報が初期値であれば、再ブロードキャストする。さもなければ、再ブロードキャストせず、個々のノードがランダムに設定された周期で時刻同期フレームを送信する。一般に、時刻同期フレームの送信周期は、Ｈｅｌｌｏメッセージの送信周期より長い。
【００２３】
各ノードは、構築した経路に関して、実際のデータ通信の実績と隣接ノードと遣り取りされるＨｅｌｌｏメッセージを基に、各経路の通信品質を再計算（更新）し、その結果を基に経路の維持や最適経路の学習をし、随時変更を行う。
【００２４】
上述のように、アドホックネットワークにおいては、通常、経路が複数あるため、仮にある経路が途中に存在するノードの異常等により最終宛先までの経路が不通になった場合でも別の経路に切り替えて送信することで、最終宛先までデータを届けることが可能である。このような経路の切り替えは、Ｈｅｌｌｏメッセージに含まれる情報に基づいて行われる。
【００２５】
先に述べたように、Ｈｅｌｌｏメッセージはたとえば数秒間隔などで各ノードから送信される。よって、最適経路も数秒間隔で更新され、実際の運用上はタイムラグなしに、ネットワークは常に適切な経路を保持することができる。
【００２６】
例えば、図４で、最適な経路としてルート（１）｛Ｙ、ｂ、ＧＷ｝があったときに、ノードbで異常が発生し転送不可となった場合であってもルート（２）｛Y、ｄ、ａ、ＧＷ｝やルート（３）｛Ｙ、ｅ、ｃ、ＧＷ｝の経路に切り替えて送信することで最終宛先であるＧＷまでデータを届けることが出来る。
【００２７】
更に、各ノード間では定期的にＨｅｌｌｏメッセージを交換し、自身が持つ経路情報やノード間リンク品質情報を交換・伝搬することにより、各ノードではノード間リンクの通信品質の再計算（更新）を行い、通信経路の維持や最適経路の学習をし、随時経路情報の変更を行うことができる。
【００２８】
このようなネットワークに新たにノード（新規ノード）が参加をしようとすることを考える。上記Ｈｅｌｌｏメッセージをやり取りするには、時刻情報を元に生成される暗号鍵が必要となる。そのため、時刻同期されていないノードはＨｅｌｌｏメッセージのやり取りができず、ネットワークへの参加ができない。
【００２９】
図５に時刻として初期値（時刻初期値）を持つノードＹが時刻同期済みのノード群とは暗号鍵が異なるために受信したデータを復号できずネットワーク構築不可となる例を示す。図５では、ＧＷ、ノードａ、ｂ、ｃ、ｄ、ｅは、時刻情報として現在値を共有している。よって、暗号鍵はｘｘｘｘであり、各ノードは受信したデータを復号することができる。しかし、ノードＹは、時刻情報として初期値を有し、ｘｘｘｘとは異なる暗号鍵ｙｙｙｙを生成する。よって、ノードＹは、ノードｂ、ｄ、ｅからのデータを復号できない。
【００３０】
新規ノードが、時刻同期が取れているネットワークに参加する方法の一つは、時刻同期フレームを受信することである。時刻同期フレームのフォーマットの例が図１５に示されている。時刻同期フレームは、アドホックヘッダ、時刻、署名のほか、時刻同期情報を含んでいる。時刻同期情報は、ＨＯＰ数（１バイト）、ＮＴＰ完了時間（８バイト）、時刻同期フレーム送信時刻（８バイト）、装置起動経過時間（４バイト）を含んでいる。ＨＯＰ数は、たとえば、ＧＷから、時刻同期フレームを送信しようとしているノードまでのホップ数に関する情報である。ＮＴＰ完了時間は、ＧＷとネットワークサーバ（ＮＴＰサーバ）間でＮＴＰの処理が完了した時刻である。時刻同期フレーム送信時刻は、このノードから時刻同期フレームが送信される時刻である。時刻同期情報には時刻同期フレーム送信時刻が含まれているので、ネットワークの時刻を知ることができる。よって、時刻同期フレームを受信したノードは、ネットワークに属するノードが共有している時刻を知ることが出来、時刻同期をとることができる。時刻同期フレームはＧＷからの時刻同期フレームを受信して時刻同期した各ノードが自律で送信周期毎に送信する。
【００３１】
また、ＧＷ、ノードａ、ｂ、ｃ、ｄ、ｅから構成される時刻同期が完了したアドホックネットワークにおいて、仮に既存ネットワークに参加しているノードが一台しか隣接しておらず、時刻同期フレームの送信周期が1日に1回だった場合、新規に追加されたノードは周囲のノードが周期的に送信する1日に1回の時刻同期フレームを受信するまでネットワークに参加する事が出来ず、起動しても最長1日ほど待つ可能性もあり、結果、ネットワークへの参加に時間が掛かることがある。
【００３２】
そこで、以下で説明するように、本発明に従う時刻同期方法を用いることによって、既存のネットワークと時刻同期されていない新規のノード（新規ノード）は、既存のネットワークと時刻同期を取ることができる。また、新規ノードは既存のネットワークに早期に参加することができる。
【００３３】
（時刻同期方法の全体の流れ）
図６〜１６を参照して、本発明に従う時刻同期方法について説明する。本発明に従う時刻同期方法では、ネットワークと時刻同期が取れていないノードは、時刻同期を取るための情報（時刻同期情報）を含む時刻同期フレームを受信する前に、時刻同期されているネットワークに属するノードに対して、時刻同期要求フレームを送信する。そして、その時刻同期要求フレームへの返事として時刻同期フレームと同じフォーマットの時刻同期応答フレームを受信する。
【００３４】
＜時刻同期要求処理＞
まず、新規ノードが既に時刻同期がなされているネットワークに属するノードに対して、時刻同期要求フレームを送信する処理を説明する。以下では、新規ノード装置が起動された後の処理を説明する。ここで新規ノードは、既存のネットワークに接続されており、既存のネットワークに属するノードからＨｅｌｌｏメッセージおよび時刻同期フレームの受信が可能である。上述のように、ネットワークと時刻の同期が取れていないノードでは、たとえばＨｅｌｌｏメッセージに含まれるデータは復号できず、読むことは出来ない。Ｈｅｌｌｏメッセージはアドホックヘッダを含み、アドホックヘッダにはローカル差出アドレスが含まれている。しかも、アドホックヘッダは暗号化されずに送信される。よって、Ｈｅｌｌｏメッセージを監視する新規ノードは、受信したＨｅｌｌｏメッセージヘッダから、そのＨｅｌｌｏメッセージを送信したノードのアドレスを知ることができる。そして、このアドレスの情報を基に、時刻同期要求フレームをそのＨｅｌｌｏメッセージを送信したノードに送信することができる。時刻同期フレームは時刻同期を取るための情報、即ち時刻同期情報を含んでいる。時刻同期フレームを受信したノードは、この時刻同期情報に基づいて、自分のノードの時刻を設定することができる。
【００３５】
図６は本発明の実施形態に係るノード装置の時刻同期要求処理を示すフローチャートである。図６の処理は、新規ノードで行われる。
新規ノード装置が起動されると、新規ノード装置では、既存のネットワーク装置との時刻同期処理が始まる。この時刻同期処理の開始と同時に、図１６に示されているＨｅｌｌｏ監視タイマ処理も開始する。また、クロックまたはタイマによって時刻のカウントも始める。時刻のカウントを始めてからの経過時間はＨｅｌｌｏ監視経過時間とも呼ばれる。
【００３６】
また、あるノードから定期的に送信されるＨｅｌｌｏメッセージを監視するか否かを示すＨｅｌｌｏ監視Ｆｌｇおよび図９の時刻同期要求フレーム送信処理を行うか否かを示す時刻同期要求Ｆｌｇを“０”にリセットする。
【００３７】
既存のネットワーク装置と時刻同期されていない新規ノードは、装置起動後、あるノードが定期的に送信するＨｅｌｌｏメッセージの監視を開始する。もしあるノードからＨｅｌｌｏメッセージを受信したら、新規ノードでは、そのノードから定期的に送信されるＨｅｌｌｏメッセージを監視するか否かを示すＨｅｌｌｏ監視Ｆｌｇを“１”とする。すなわち、新規ノードは、あるノードＩＤに対して付与されるＨｅｌｌｏ監視Ｆｌｇが“１”である間、そのノードが定期的に送信するＨｅｌｌｏメッセージを監視するように構成されている。ノードＩＤの一例はＭＡＣアドレスである。あるノードから定期的にＨｅｌｌｏメッセージを受信できない場合は、所定の条件でそのノードから送信されるＨｅｌｌｏメッセージの監視を中止して、別のノードからのＨｅｌｌｏメッセージの監視に移っても良い。所定の条件の一例としては、Ｈｅｌｌｏメッセージの信号強度が所定の値より小さいことや、所定の時間内に所定の回数だけＨｅｌｌｏメッセージを受信できないことが含まれる。
【００３８】
本実施形態では、まず、受信したＨｅｌｌｏメッセージの送信元を監視対象とし、Ｈｅｌｌｏメッセージ監視対象のノードから受信したＨｅｌｌｏメッセージの受信回数をチェックする。Ｈｅｌｌｏメッセージの監視対象のノードからのＨｅｌｌｏメッセージの受信回数が所定の値以上となった場合、時刻同期要求待ち時間の経過後に時刻同期要求フレームを監視対象のノードに対して送信する。時刻同期要求待ち時間は、予め決められた時間であり、たとえば、３０秒、４５秒、６０秒等を例示することができる。また、Ｈｅｌｌｏメッセージの監視対象のノードからのＨｅｌｌｏメッセージの受信回数は連続して受信できた回数であっても良い。また、ある時間内に監視対象のノードから連続して所定の回数以上Ｈｅｌｌｏメッセージを受信できたときにはじめて、時刻同期要求フレームを監視対象のノードに対して送信しても良い。
【００３９】
時刻同期要求フレームを受信した既存のネットワークに属するノードは、時刻情報を含む時刻同期応答フレームを生成し、時刻同期要求フレームの送信元（ブロードキャスト送信でも良い）に対して即座に送信する。時刻同期要求フレームはブロードキャスト送信されたものでも良い。時刻同期応答フレームを受信した時刻同期されていないノードは、時刻同期応答フレームに設定されている時刻情報を元に時刻同期を行い、既存のネットワークへの参加を行う。この時刻同期応答フレームのフォーマットは、時刻同期フレームと同一でも良い。本実施形態では、図１５に示すように、両者は同一のフォーマットを有する。
【００４０】
図６のＳ１００では、新規ノードの時刻が初期値であるかどうかが判定される。Ｓ１００の判定は、新規ノードの装置起動時に行われる。この判定でＹｅｓであればＳ１０２に進み、ＮｏであればＳ１２０に進む。
【００４１】
Ｓ１０２では、Ｈｅｌｌｏ監視の開始時刻を越えたかどうかを判定する。Ｈｅｌｌｏ監視の開始時刻は、新規ノードが起動された時刻から予め設定された時間だけ経過した時刻である。一般に、ノード装置はスイッチを入れてから定常動作に移るまでにタイムラグある。よって、Ｈｅｌｌｏ監視の開始時刻を越えるまで、Ｓ１０２の処理を繰り返すことが好ましい。Ｈｅｌｌｏ監視の開始時刻を越えたら、Ｓ１０４に進む。
【００４２】
Ｓ１０４では、時刻同期処理が未実施であるかどうかを判定する。既に時刻同期処理がなされている場合は、Ｓ１２２に進む。そうでなければ、Ｓ１０６に進む。
Ｓ１０６では、Ｈｅｌｌｏ受信処理を行う。Ｈｅｌｌｏ受信処理の詳細は、図７に示されている。
【００４３】
尚、図６の処理ではＨｅｌｌｏを受信したか否かの判定は含まれていないが、先に述べたように、新規ノードはＨｅｌｌｏメッセージを受信可能な状態にある。Ｈｅｌｌｏメッセージに含まれるデータの復号は出来ないが、アドホックヘッダに含まれるローカル差出アドレスは暗号化されずに送信されるので読むことができる。
【００４４】
図７を参照しながら、Ｈｅｌｌｏ受信処理を説明する。Ｈｅｌｌｏ受信処理の開始とともに、同一のノードからＨｅｌｌｏメッセージを連続して何回受信するかを表すＨｅｌｌｏ連続受信回数をリセットする。
【００４５】
図８はＨｅｌｌｏメッセージのフレームフォーマットの例を示す図である。
Ｈｅｌｌｏメッセージは、アドホックヘッダ、時刻、Ｈｅｌｌｏメッセージヘッダ、Ｈｅｌｌｏヘッダを含んでいる。
【００４６】
アドホックヘッダの一例では、図示されていないが、ローカル宛先アドレス、ローカル差出アドレス、フレームタイプ、フレームサイズ等を含む。ローカル宛先アドレスは、あるノードを主体としたとき、次にフレームを渡すべき隣接ノードを表す宛先ノード装置のＩＤである。ローカル差出アドレスは、ローカル宛先アドレスへフレームを送信するその直接の送信元となるノード装置のＩＤである。フレームとは、プロトコルが扱うデータ単位のことで、タイプとしては、ハローフレーム、データフレーム、ＡＣＫフレーム等が含まれる。ハローフレームは、ノードを構成しているまたは構成しようとしている装置が互いの存在、状態の確認のために送出するフレームである。データフレームは、ネットワークがスタートノードから宛先となるゴールノードまで伝送しようとするデータである。フレームタイプとはフレームのタイプのことである。フレームサイズは、フレームの大きさである。
【００４７】
アドホックヘッダには、ローカル差出アドレスが含まれている。先に述べたように、アドホックヘッダは暗号化されずに送信されるので、Ｈｅｌｌｏメッセージヘッダを監視する新規ノードは、Ｈｅｌｌｏメッセージヘッダの送信元のノードのアドレスを知ることができる。このアドレスの情報を基に、時刻同期要求フレームを送信することができる。
【００４８】
Ｈｅｌｌｏメッセージヘッダの一例では、サービスタイプ（１バイト）、フレームページ（１バイト）、Ｈｅｌｌｏヘッダの個数（１バイト）、バイアス（１バイト）、装置起動経過時間（４バイト）、アクセスキー（１６バイト）が含まれている。
【００４９】
通常は暗号化されて送信されるＨｅｌｌｏヘッダの一例では、グローバル宛先アドレス、ノードタイプ／ホップ数、死活情報／ＧＷバス情報、経路品質重みｄ、復路リンク重みが含まれている。グローバル宛先アドレスとは、データフレームの最終的な宛先となるノードＩＤである。ノードタイプ／ホップ数には、ＧＷであるかどうか、およびＧＷでなければＧＷからのホップ数は幾つかなどの情報が含まれる。死活情報／ＧＷバス情報には、ノードの稼動状況、ＧＷであればバス情報が含まれる。経路品質重みｄは、グローバル宛先アドレスまでの経路上での通信品質を数値化したものである。復路リンク重みは、復路で通信されるフレームに関する重みである。本実施形態ではＨｅｌｌｏヘッダには、経路に付与される重みとして、経路品質重みおよび復路リンク重みが含まれているが、重みとしては必ずしもこれらに限定されない。往路リンク重み、双方向リンク重みなどでも良い。
【００５０】
図７のＳ２００では、現在監視中のノードから受信したＨｅｌｌｏメッセージの受信信号強度（Ｒｅｃｉｅｖｅｄ  Ｓｉｇｎａｌ  Ｓｔｒｅｎｇｔｈ  Ｉｎｔｅｎｓｉｔｙ、ＲＳＳＩ）が所定のしきい値、ＲＳＳＩ閾値以上であるかを判定する。同時に、Ｈｅｌｌｏメッセージの送信元のノードＩＤ、たとえばＭＡＣアドレスが、時刻同期要求済みＭＡＣアドレスのリストにないこと、および時刻同期要求Ｆｌｇが“０”であることを確認する。Ｈｅｌｌｏメッセージの送信元の装置のＭＡＣアドレスが、時刻同期要求済みＭＡＣアドレスのリストになく、且つ時刻同期要求Ｆｌｇが“０”であり、さらに受信したＨｅｌｌｏメッセージのＲＳＳＩ値がＲＳＳＩ閾値以上の場合、そのＨｅｌｌｏメッセージを送信したノードを監視対象とする。Ｈｅｌｌｏ連続受信回数を“０”にセット（リセット）してＳ２０２に進む。Ｓ２００の判定でＮｏであったらＨｅｌｌｏ受信処理を終了する。
【００５１】
Ｓ２０２では、Ｈｅｌｌｏ監視フラグが立っているか、即ち“Ｈｅｌｌｏ監視Ｆｌｇ＝１”であるかどうかを判定する。この判定の結果がＹｅｓであればＳ２０４に進み、そうでなければＳ２０８に進む。
【００５２】
Ｓ２０４では、監視中のＨｅｌｌｏメッセージの送信元のＭＡＣアドレスが今回受信したＨｅｌｌｏメッセージの送信元のＭＡＣアドレスと同じかどうかを判定する。Ｈｅｌｌｏメッセージの送信元のＭＡＣアドレスは、アドホックヘッダのローカル差出アドレスである。この判定の結果がＹｅｓ、すなわち、監視中のＨｅｌｌｏメッセージの送信元のＭＡＣアドレスが今回受信したＨｅｌｌｏメッセージの送信元のＭＡＣアドレスと同一であれば、Ｓ２０６に進んでＨｅｌｌｏ監視タイマをリセットし、Ｓ２１４に進む。
【００５３】
Ｓ２０４の判定で結果がＮｏ、すなわち、監視中のＨｅｌｌｏメッセージの送信元のＭＡＣアドレスが今回受信したＨｅｌｌｏメッセージの送信元のＭＡＣアドレスと異なる場合には、Ｈｅｌｌｏ受信処理を終了する。
【００５４】
Ｓ２０２の判定でＨｅｌｌｏ監視フラグが立っていない、すなわち“Ｈｅｌｌｏ監視Ｆｌｇ＝０”の場合には、現在監視中のノードから送信されたＨｅｌｌｏメッセージではない。よってＳ２０８に進み、Ｓ２０８で監視中のＨｅｌｌｏメッセージの送信元のＭＡＣアドレスが今回受信したＨｅｌｌｏメッセージの送信元のＭＡＣアドレスと同じかどうかを判定する。
【００５５】
Ｓ２０８の判定でＹｅｓ、すなわち監視中のＨｅｌｌｏメッセージの送信元のＭＡＣアドレスが今回受信したＨｅｌｌｏメッセージの送信元のＭＡＣアドレスと同じである場合は、Ｈｅｌｌｏ受信処理を終了する。
【００５６】
Ｓ２０８の判定でＮｏ、すなわち監視中のＨｅｌｌｏメッセージの送信元のＭＡＣアドレスが今回受信したＨｅｌｌｏメッセージの送信元のＭＡＣアドレスと同じでない場合には、Ｓ２１０に進む。
【００５７】
Ｓ２１０では、Ｈｅｌｌｏメッセージの送信元のノードＩＤ、たとえばＭＡＣアドレスを保持し、“Ｈｅｌｌｏ監視Ｆｌｇ＝１”とし、Ｈｅｌｌｏ連続受信回数をリセットする。そして、Ｓ２１２に進んで、Ｈｅｌｌｏ監視タイマをリセットし、Ｓ２１４に進む。この処理によって、Ｈｅｌｌｏメッセージを監視するノードを変更することが可能である。
【００５８】
Ｓ２１４では、Ｈｅｌｌｏ連続受信回数を１つインクリメントして、Ｓ２１６に進む。
Ｓ２１６では、Ｈｅｌｌｏ連続受信回数が所定の閾値、すなわちＨｅｌｌｏ連続閾値以上であるかどうかを判定する。Ｈｅｌｌｏ連続閾値は予め設定された値である。この判定でＮｏの場合は、Ｈｅｌｌｏ受信処理を終了する。また、Ｓ２１６の判定でＹｅｓであれば、Ｓ２１８に進む。
【００５９】
Ｓ２１８では、Ｈｅｌｌｏ監視Ｆｌｇを“０”とすると同時に、時刻同期要求をするか否かを示す時刻同期要求Ｆｌｇを“１”とする。そして、処理はＳ２２０に進む。
Ｓ２２０では、時刻同期要求フレーム送信処理を行う。
【００６０】
時刻同期要求フレーム送信処理の詳細は、図９に示されている。
時刻同期要求フレーム送信処理が開始されると、タイマのカウントが開始される。
そして、Ｓ３００では送信待ち時間を生成する。送信待ち時間経過後に時刻同期要求フレームが送信される。送信待ち時間は、近隣ノードからの同時送信による輻輳を避けるため、所定の範囲内でランダムであることが好ましい。所定の範囲の例としては、３０秒、６０秒、９０秒などを挙げることができる。
【００６１】
Ｓ３０２では、時刻同期要求フレーム送信処理が開始されてからの経過時間が送信待ち時間を超過したか否かを判定する。経過時間が送信待ち時間を超えていない場合は、超えるまでＳ３０２の処理を繰り返す。経過時間が送信待ち時間を超えると、Ｓ３０４に進む。
【００６２】
Ｓ３０４では、時刻同期処理が実施されていないかどうかを判定する。この判定でＮｏ、すなわち、時刻同期処理が実施済みであれば、時刻同期要求Ｆｌｇを“０”として、時刻同期要求フレーム送信処理を終了する。
【００６３】
Ｓ３０４の判定で結果がＹｅｓであれば、Ｈｅｌｌｏメッセージの送信元のノードは、時刻同期処理がなされていないので、Ｓ３０６に進んで、時刻同期要求フレームを送信して、時刻同期フレーム送信処理を終了する。また、時刻同期要求フレームの送信と同時に、経過時間のカウントを開始する。この経過時間は時刻同期応答待ち時間と呼ばれる。また、時刻同期要求フレームの再送回数をリセットする。
【００６４】
Ｓ３０６で送信される時刻同期要求フレームのフォーマットの例が図１０に示されている。時刻同期要求フレームの例では、アドホックヘッダに加えて、時刻同期情報が含まれている。時刻同期情報には、時刻同期要求先アドレス（６バイト）が含まれている。この時刻同期要求先アドレスは、Ｈｅｌｌｏメッセージを監視することによって得ることができる。
【００６５】
図７のＳ２２０では、時刻同期要求フレーム送信処理が終了すると、図６のＳ１０６のＨｅｌｌｏ受信処理が終了する。そして、処理は図６のＳ１０８に進む。
Ｓ１０８では、時刻同期要求Ｆｌｇが“１”であるかどうかを判定する。時刻同期要求Ｆｌｇは図６のＳ１０６のＨｅｌｌｏ受信処理の中、すなわち図７の中のＳ２１６で“１”とした後、時刻同期要求フレーム送信処理を行う。よって、時刻同期要求フレーム送信処理を始める段階で時刻同期要求Ｆｌｇは“１”となっている。時刻同期要求Ｆｌｇは図９のＳ３０８で設定しているので、Ｓ１０８では時刻同期要求Ｆｌｇ“１”でないことがある。その場合には、処理はＳ１０６に戻る。Ｓ１０８の判定で時刻同期要求Ｆｌｇが“１”であれば、Ｓ１１０に進む。
【００６６】
Ｓ１１０では、時刻同期応答待ち時間が所定の値を超えたかどうかを判定する。Ｓ１１０の判定でＹｅｓ、すなわち時刻同期応答待ち時間が所定の値を超えてタイムアウトとなった場合は、Ｓ１１２に進み、時刻同期応答待ち時間タイムアウト処理を行う。また、Ｓ１１０の判定でＮｏ、すなわち時刻同期応答待ち時間が所定の値を超えずに、時刻同期応答フレームを受信し、タイムアウトとならなかった場合は、Ｓ１１８に進む。
【００６７】
Ｓ１１２では、時刻同期応答待ち時間タイムアウト処理を行う。この処理の詳細は図１１に示されている。図１１は、ノード装置の時刻同期応答待ち時間タイムアウト処理を示すフローチャートである。
【００６８】
Ｓ４００では、時刻同期要求フレームの再送回数を１つインクリメントする。Ｓ４００に引き続くＳ４０２では、時刻同期要求フレームの再送回数が所定の値を超過したかどうかを判定する。もし、時刻同期要求フレームの再送回数が所定の値を超過してなければ、すなわち判定がＮｏであれば、Ｓ４０６に進む。Ｓ４０６では、時刻同期要求フレーム送信処理を行う。この時刻同期要求フレーム送信処理は図９に示されている。時刻同期要求フレーム送信処理を終了すると、時刻同期応答待ち時間タイムアウト処理は終了する。
【００６９】
Ｓ４０２の判定でＹｅｓ、すなわち時刻同期要求フレームの再送回数が所定の値を超過したならば、Ｓ４０４に進む。Ｓ４０４では、時刻同期要求フレームの再送回数をリセットし、時刻同期要求送信済みノードのＭＡＣアドレスを記憶し、時刻同期要求先台数をインクリメントする。
【００７０】
Ｓ４０４の次のＳ４０８では、時刻同期要求Ｆｌｇを“０”とし、時刻同期応答待ち時間タイムアウト処理は終了する。
このように新規ノードは、受信したＨｅｌｌｏメッセージの送信先であるノードに図１１のＳ４０６で時刻同期要求フレームを送信する。尚、時刻同期要求フレームは図９のＳ３０６でも送信しており、図１１のＳ４０６は再送処理である。
【００７１】
図６のＳ１１２の時刻同期応答待ち時間タイムアウト処理が終了すると、Ｓ１１４に進む。Ｓ１１４では、時刻同期要求Ｆｌｇが“０”かどうかを判定する。時刻同期応答待ち時間タイムアウト処理の中（図１１のＳ４０８）で、時刻同期要求Ｆｌｇは“０”とした場合は、Ｓ１１４の判定はＹｅｓとなる。もし時刻同期応答待ち時間タイムアウト処理の中、すなわち図１１のＳ４０２がＮｏの場合、Ｓ１１４の判定はＮｏとなり、Ｓ１１０に戻る。Ｓ１１４の判定がＹｅｓであれば、Ｓ１１６に進む。
【００７２】
Ｓ１１６では、Ｈｅｌｌｏメッセージの監視をしているノードの数が所定の値であるＨｅｌｌｏ監視制限数を超過したかどうかを判定する。このＨｅｌｌｏメッセージの監視をしているノードの数は、時刻同期要求先台数と一致する。Ｓ１１６の判定でＮｏであれば、Ｓ１０６に戻って、別のノードからのＨｅｌｌｏメッセージを受信する。さもなければ、つまりＨｅｌｌｏメッセージの監視をしているノードの数がＨｅｌｌｏ監視制限数を超過していれば、時刻同期要求処理を終了する。
【００７３】
Ｓ１１０の判定でＮｏである、すなわち、すなわち時刻同期応答待ち時間が所定の値を超えずに、時刻同期応答フレームを受信し、タイムアウトとならなかった場合、Ｓ１１８に進んで、時刻同期応答フレーム受信処理を行う。
【００７４】
尚、図６の時刻同期要求処理と並行して図１６のＨｅｌｌｏ監視タイマ処理が行われている。この処理では、新規ノードが、監視対象となったノードからＨｅｌｌｏメッセージを所定の時間内に一度も受信しない場合、監視対象からはずし、新たなＨｅｌｌｏメッセージを受信するのを待つ。
【００７５】
Ｈｅｌｌｏ監視タイマ処理では、まず図１６のＳ７００で、Ｈｅｌｌｏ監視Ｆｌｇが“１”かどうかを判定する。Ｈｅｌｌｏ監視Ｆｌｇは、図７のＳ２０８で設定される。この判定がＹｅｓであれば、Ｓ７０２に進む。逆に、Ｈｅｌｌｏ監視Ｆｌｇが“１”でなく、たとえば“０”であれば、Ｈｅｌｌｏ監視中でないので、Ｈｅｌｌｏ監視タイマ処理を終了する。
【００７６】
Ｓ７０２では、Ｈｅｌｌｏ監視経過時間をカウントする。Ｓ７０２の次のＳ７０４では、Ｈｅｌｌｏ監視経過時間がＨｅｌｌｏメッセージの送信周期と所定のＨｅｌｌｏ受信待ち回数の積の値以上であるかを判定する。Ｈｅｌｌｏ受信待ち回数は予め設定された値で、たとえば１でも良いし、５でも良い。また、整数でなくても良い。この判定がＹｅｓであれば、Ｈｅｌｌｏ監視は不要となるので、Ｓ７０６でＨｅｌｌｏ監視Ｆｌｇを“０”として処理を終了する。また、Ｓ７０４の判定でＮｏであれば、Ｓ７００に戻る。
【００７７】
このＨｅｌｌｏ監視タイマ処理は、Ｓ７００でＨｅｌｌｏ監視Ｆｌｇが“１”でなくなるか、Ｓ７０４でＨｅｌｌｏ監視経過時間が所定の時間を超えるまで続けられる。Ｓ７０４で、Ｈｅｌｌｏメッセージの送信周期と所定のＨｅｌｌｏ受信待ち回数の積で与えられる時間内にＨｅｌｌｏメッセージを受信しなければ、Ｓ７０６でＨｅｌｌｏ監視Ｆｌｇを“０”とする。Ｈｅｌｌｏ監視Ｆｌｇが“０”であれば、新規ノードは、現在監視中のノードから送信されるＨｅｌｌｏメッセージの監視をやめる。
【００７８】
このように、Ｈｅｌｌｏ監視Ｆｌｇが“１”である間は、Ｈｅｌｌｏメッセージの監視を続けるが、Ｈｅｌｌｏ監視Ｆｌｇが“０”になると、Ｈｅｌｌｏメッセージの監視をやめる。
【００７９】
また、Ｈｅｌｌｏ監視タイマは、図７のＳ２０６、Ｓ２１２でリセットされる。つまり、Ｓ２０６、Ｓ２１２の後のＳ２１４およびＳ２１６は、Ｈｅｌｌｏ監視タイマ処理が行われている間に実行されないと、Ｓ２１８でＨｅｌｌｏ監視Ｆｌｇを“０”とする前に、図１７のＳ７９６でＨｅｌｌｏ監視Ｆｌｇが“０”となり、時刻同期要求処理は終了する。
【００８０】
＜時刻同期応答フレーム送信処理＞
（図６のＳ１０６中の）図７のＳ２２０において新規ノードから送信された、時刻同期要求フレームを受信するノードの処理を、図１２および１３を参照しながら説明する。
【００８１】
図１２は、既存のネットワークに属するノードのフレーム受信処理に関する処理を示すフローチャートである。時刻同期要求フレームを受信したノードがＧＷの場合、ＧＷ自身が時刻同期済みならば時刻同期応答フレームを送信する。時刻同期が済んでいない場合、時刻同期応答フレームは送信できない。
【００８２】
また時刻同期要求を受信したノードがＧＷではないノードであり、時刻同期要求フレームまたは時刻同期フレームを受信することにより時刻同期済みとなっている場合のみ、時刻同期応答フレームを送信する。
【００８３】
Ｓ５００では、受信したフレームが自宛てまたはブロードキャストのものであるかを判定する。自宛てまたはブロードキャストの場合には、時刻同期要求フレームである可能性がある。ブロードキャストであれば、たとえばＨｅｌｌｏメッセージである可能性がある。Ｓ５００での判定で自宛てまたはブロードキャストであれば、Ｓ５０２に進む。Ｓ５００での判定がＮｏ、すなわち自宛てまたはブロードキャストでなければ、Ｓ５０４に進む。Ｓ５０４では、受信したフレームを廃棄して、処理を終了する。
【００８４】
Ｓ５０２では、受信したフレームの振り分けを行う。受信したフレームが時刻同期要求フレームでなければＳ５０６に進み、Ｓ５０６でデータ受信処理を行う。Ｓ５０２の判定で受信したフレームが時刻同期要求フレームであれば、Ｓ５０８に進む。
【００８５】
Ｓ５０８では、時刻同期応答送信処理を行う。
この時刻同期応答処理の詳細を、図１３を参照しながら説明する。図１３は時刻同期応答フレーム送信処理の流れを示すフローチャートである。
【００８６】
新規ノードから時刻同期要求フレームを受信したノードは、Ｓ６００で時刻同期応答フレームを生成する。
時刻同期応答フレームは、アドホックヘッダ、時刻、署名のほか、時刻同期情報を含んでいる。時刻同期情報は、ＨＯＰ数（１バイト）、ＮＴＰ完了時間（８バイト）、時刻同期フレーム送信時刻（８バイト）、装置起動経過時間（４バイト）を含んでいる。ＨＯＰ数は、たとえば、時刻同期要求フレームを送信した新規ノードから、時刻同期応答フレームを送信しようとしているノードまでのホップ数に関する情報である。ＮＴＰ完了時間は、ＧＷとネットワークサーバ（ＮＴＰサーバ）間でＮＴＰの処理が完了した時刻である。時刻同期フレーム送信時刻は、このノードから時刻同期フレームが送信される時刻である。時刻同期応答フレームは時刻同期フレームと同一のフォーマットである。
【００８７】
Ｓ６００での時刻同期応答フレームの作成の処理が終了すると、Ｓ６０２に進む。Ｓ６０２では、Ｓ６００で生成された時刻同期応答フレームが、時刻同期要求フレームを送信した新規ノード（ブロードキャスト送信でも可）に対して送信される。
【００８８】
＜時刻同期応答フレーム受信処理＞
図６のＳ１１０の判定でＮｏである、すなわち、すなわち時刻同期応答待ち時間が所定の値を超えずに、時刻同期応答フレームを受信し、タイムアウトとならなかった場合、Ｓ１１８の時刻同期応答フレーム受信処理を行う。
【００８９】
新規ノードは、既存のネットワークに属するノードに対して、時刻同期要求フレームを送信する（図７）。その時刻同期要求フレームを受信したノードは、即座に時刻同期応答フレームを新規ノードに送信する。次に、既存のネットワークに属するノードから時刻同期応答フレームを受信する新規ノードは図６のＳ１１８の時刻同期応答フレーム受信処理を行う。この処理を図１４を参照しながら説明する。
【００９０】
Ｓ８００で、時刻同期応答フレームを受信する。本実施例では、時刻同期応答フレームのフォーマットは時刻同期フレームと同一である。時刻同期応答フレームは、図１５を用いて説明したように、時刻同期情報を含んでいる。本実施例では、時刻同期応答フレームのフォーマットは時刻同期フレームと同一であるが、時刻同期情報を含んでいれば、必ずしもそうでなくても良い。
【００９１】
Ｓ８００に引き続くＳ８０２では、新規ノードは、時刻同期応答フレームに含まれる時刻同期情報を用いて、既存のネットワークに属するノードとの間で時刻の同期を行う。そのようにして、新規ノードは既存のネットワークに属するノードと時刻同期を取ることができる。
【００９２】
Ｓ８０２の処理が終了すると、Ｓ８０４で時刻同期要求Ｆｌｇを“０”とし、時刻同期応答フレーム受信処理を終了する。
この時刻同期応答フレーム受信処理が終了すると、図６の時刻同期要求処理も終了する。
【００９３】
このように、本発明に従う方法では、Ｈｅｌｌｏメッセージから既存のネットワークに属するノードのアドレスを取得し、そのノードに時刻同期フレームと同じフォーマットを有する時刻同期応答フレームを自分宛に送信することまたはブロードキャスト送信することを要求することによって、時刻同期フレームの受信を待たずに、ネットワークと早期に時刻同期を取ることができる。
【００９４】
（ノードの構成）
上記のような処理を行うノードの構成を、図１７を参照しながら説明する。
図１７は、上のような時刻同期処理を行うためのノード装置の構成の例である。図１７に示されているように、ノード装置１０００はインターフェイス部１１００および時刻同期処理部１２００を含んでいる。インターフェイス部は受信部１１１０および送信部１１２０を含み、他のノード装置との通信を行うための処理を行う。ノード間の通信が無線の場合は、受信部１１１０および送信部１１２０はそれぞれ、受信機および送信機として構成されていても良い。ノード間のリンクが有線である場合には、受信部１１１０および送信部１１２０は、汎用コンピュータの入出力インターフェイスの処理部であっても良い。
【００９５】
インターフェイス部１１００は時刻同期処理部１２００と接続されている。より詳細には、時刻同期処理部１２００は、フレーム受信処理部１２１０、Ｈｅｌｌｏ制御部１２３０、時刻初期値判定部１２２０、時刻同期制御部１２４０、およびフレーム送信制御部１２５０を含む。
【００９６】
インターフェイス部１１００の受信部１１１０で受信した外部からの信号は、フレーム受信処理部１２１０によって、自宛てのものか、ブロードキャスト送信のものかの判断（図１２のＳ５００の処理）、自宛てのものである場合には、フレーム振り分け（図１２のＳ５０２の処理）の処理が行われる。さらに受信処理部１２１０は、フレームが時刻同期要求フレームではなければデータ受信処理（図１２のＳ５０６）を、フレームが時刻同期要求フレームであれば、時刻同期応答フレーム送信処理（図１２のＳ５０８）を行う。
【００９７】
また、受信処理部１２１０はＨｅｌｌｏメッセージを受信したら、時刻初期値判定部１２２０に信号を送る。時刻初期値判定部１２２０では、図６のＳ１００〜Ｓ１０４までの処理を行う。時刻初期値判定部１２２０は、Ｈｅｌｌｏ制御部１２３０に接続されている。Ｈｅｌｌｏ制御部１２３０では、図６のＳ１０６〜Ｓ１１０、およびＳ１１２〜Ｓ１１６の処理を行う。
【００９８】
Ｈｅｌｌｏ制御部１２３０には、起動からＨｅｌｌｏ監視の開始時刻までの時間、Ｈｅｌｌｏ連続閾値、Ｈｅｌｌｏ受信待ち回数、Ｈｅｌｌｏ監視Ｆｌｇ、Ｈｅｌｌｏ連続受信回数、Ｈｅｌｌｏ監視制限数等を予め記憶するメモリを含む。メモリは、Ｈｅｌｌｏメッセージに含まれる情報、たとえば、アドホックヘッダに含まれるローカル差出アドレスなどのデータを一時的に記憶しても良い。また、Ｈｅｌｌｏ制御部１２３０は、Ｈｅｌｌｏ監視Ｆｌｇを保持する揮発性メモリを含み、“Ｈｅｌｌｏ監視Ｆｌｇ＝１”である間のみ、現在監視中のノードが定期的に送信するＨｅｌｌｏメッセージを監視し、Ｈｅｌｌｏ監視Ｆｌｇが“０”となったら、上記のような処理を終了する。また、Ｈｅｌｌｏ制御部１２３０では、Ｈｅｌｌｏメッセージの送信元のノードＩＤ、たとえばＭＡＣアドレス、およびＨｅｌｌｏ連続受信回数を記憶する揮発性メモリを備えている。
【００９９】
Ｈｅｌｌｏ制御部１２３０につながる時刻同期制御部１２４０およびフレーム送信制御部１２５０では、時刻同期応答フレーム受信処理（図６のＳ１１８、図１４）や時刻同期応答フレーム送信処理（図１３）を行う。時刻同期制御部１２４０は、時刻同期要求Ｆｌｇを記憶するメモリを含んでいる。さらに、“時刻同期要求Ｆｌｇ＝０”の間は、時刻同期要求フレームを送信しないように構成されている。
【０１００】
また、Ｈｅｌｌｏ制御部１２３０は、Ｈｅｌｌｏメッセージを受信したら、経路情報テーブル（ルーティングテーブルとも呼ばれる）に受信したＨｅｌｌｏメッセージの送信元を経路情報テーブルに登録する。また、受信したＨｅｌｌｏメッセージに含まれているノード情報を使用して経路品質やノード間リンクの通信品質を計算し、結果を自身の経路情報テーブルやリンク情報テーブル（リンクテーブルとも呼ばれる）に登録する。Ｈｅｌｌｏ制御部１２３０は、これらの経路情報テーブルやリンク情報テーブルを記憶するメモリを備えている。そして、経路情報テーブルやリンク情報テーブルに登録された情報を含むＨｅｌｌｏメッセージを送信するように送信部１１２０を制御する。
【０１０１】
また、時刻同期制御部１２４０では、時刻同期応答フレームを受信した際に、受信した時刻同期応答フレーム内の時刻情報に自装置の時刻を設定することで時刻同期する。時刻同期応答フレームを送信したノードとの間で時刻の同期を行う。フレーム送信制御部１２５０では、インターフェイス部１１００の送信部１１２０を制御して、フレームの送信を行う。
【０１０２】
時刻同期制御部１２４０は、時刻同期要求フレームの再送回数等を記憶するメモリを含んでいる。
さらにノード装置１０００は、受信したノードの時刻情報が初期値であれば、再ブロードキャスト送信し、そうでない場合は、再ブロードキャスト送信はせず、個々のノードがランダムに設定された周期で時刻同期フレームを送信する。時刻同期フレームと同じフォーマットを有する時刻同期応答フレームについても同様に、受信した時刻同期応答フレームを再ブロードキャスト送信しても良い。
【０１０３】
受信部１１１０、フレーム受信処理部１２１０およびＨｅｌｌｏ制御部１２３０は、ノード装置１０００が新規ノードの場合、ネットワークに属するノードから、そのノードの一つのアドレスを含むメッセージを受信するメッセージ受信手段を構成する。また、Ｈｅｌｌｏ制御部１２３０、フレーム送信制御部１２５０および送信部１１２０は、アドホックネットワークに属する複数のノードの一つに、そのノードのアドレスを含む時刻同期要求フレームを送信する時刻同期要求フレーム送信手段を構成する。時刻同期要求フレーム送信手段は、Ｈｅｌｌｏメッセージを所定の時間内に連続して所定の回数以上受信したときに、時刻同期要求フレームを送信するように構成されていても良い。
【０１０４】
ノード装置１０００が新規ノードの場合、受信部１１１０およびフレーム受信処理部１２１０は、時刻同期情報を含む時刻同期応答フレームを受信する時刻同期応答フレーム受信手段を構成する。さらに、時刻同期制御部１２４０は、時刻同期応答フレームに含まれている時刻同期情報を使用して前記複数のノードの一つと時刻同期を行う時刻同期手段を構成する。
【０１０５】
また、受信部１１１０、フレーム受信処理部１２１０およびＨｅｌｌｏ制御部１２３０は、Ｈｅｌｌｏメッセージの信号強度によって監視するノードを選択するノード選択手段を構成する。
【０１０６】
また図示されていないが、ノード装置１０００は計時のためのクロックまたはタイマを含む。
本システムの全体の構成は上記のようなものであるが、ノード装置１０００は通常のコンピュータ機能を有している必要がある。このようなハードウェアの条件の下で、ノード装置１０００の個別の構成要素の処理は、ソフトウェアプログラムが汎用コンピュータにインストールされることで実行されても良いし、または専用ハードウェアによって実行されても良い。
【０１０７】
上述のような処理および装置により、新規ノード装置起動後に、新規ノードから時刻同期済みのネットワークに属するノードへの時刻同期要求フレームの送信、および時刻同期済みのネットワークに属するノードから新規ノードに送信される時刻同期応答フレームを使って新規ノードの時刻同期が可能になるため、新規ノード装置が既存のネットワークに参加するまでの時間が短くなり、ネットワークの再構築時間を早くすることが可能である。
【０１０８】
また、上述のような処理および装置により、新規ノードとして保守を行うために保守ノードを既存のネットワークに追加させる際、ネットワークに参加するまでの時間が短くなるため、保守をスムーズに行うことが可能である。
【０１０９】
さらに、上述のような処理および装置により、一斉電源から同時に立ち上がった複数のノードが時刻同期済みの既存ネットワークに参加する際、そのうちの1台が時刻同期要求フレームを送信することで、時刻同期要求フレームを受信した時刻同期済みのノードからブロードキャスト送信で時刻同期応答フレームが送信されることも可能となり、複数のノードが一度に時刻同期を実施でき、既存ネットワークへの参加が可能である。そのため、過剰な時刻同期要求フレームを送信することがなく、ネットワーク内でやり取りされるパケット量を削減することが可能である。
【０１１０】
上の時刻同期方法では、最初に新規ノードの時刻が初期時刻であるかどうかを判定した。しかしながら、この判定を省略することによって、新たに起動された装置ではない新規ノードが既存のネットワークに属するノードと時刻同期を取るための方法を提供することも可能である。
【０１１１】
（実施例１）
図１８を参照して、本発明に従う時刻同期方法を用いて、新規ノードが既存のネットワークに参加する例を説明する。
【０１１２】
図１８は、新規ノード（Ｎｏｄｅ２）が既存のネットワークに属しているノード（Ｎｏｄｅ１）と時刻同期を取ることによって、ネットワークに参加する際のシーケンスを示している。
【０１１３】
本例の初期において、新規ノード（Ｎｏｄｅ２）は、ネットワークとの時刻同期は取れていない。また、本例ではＮｏｄｅ２の内部時計が所有する時刻は時刻初期値である。たとえば、以前はネットワークに属していいたが、一旦、ネットワークから外れたような場合は、必ずしもＮｏｄｅ２の内部時計は時刻初期値を有しない。起動後の時間Ｔ１はＨｅｌｌｏメッセージの監視を始めるまでの時間である。この時間Ｔ１は調整することができる。図１８の場合は、既存のネットワークに属しているＮｏｄｅ１がＨｅｌｌｏメッセージをブロードキャスト送信する送信周期の２倍強の時間である。また、Ｎｏｄｅ２の内部時計の時刻が時刻初期値である場合は、即座にＨｅｌｌｏメッセージの監視を開始する。
【０１１４】
本例では、Ｎｏｄｅ１からのＨｅｌｌｏメッセージをＴ２の時間の間に連続してＮ回（Ｎは正の整数）受信したら時刻同期要求フレームを出すと判断する。Ｎは１回でも良い。逆に、Ｔ２の時間の間に連続してＮ回受信できなかったら、Ｎｏｄｅ１からのＨｅｌｌｏメッセージの受信をあきらめ、別のノードからのＨｅｌｌｏメッセージを監視する。
【０１１５】
Ｎｏｄｅ１からのＨｅｌｌｏメッセージをＴ２の時間の間に連続してＮ回（Ｎは正の整数)受信して、時刻同期要求フレームをＮｏｄｅ１に出すと判断してから、Ｔ３の時間の経過後に、Ｎｏｄｅ２はＮｏｄｅ１に時刻同期要求フレームを送信する。このＴ３も調整可能である。一例として、Ｔ３は６０秒であっても良い。
【０１１６】
時刻同期要求フレームを受信したＮｏｄｅ１は即座に時刻同期応答フレームを時刻同期要求フレーム送信元であるＮｏｄｅ２に送信する。時刻同期応答フレームを受信した時刻同期未実施のＮｏｄｅ２は、時刻同期をすることでＮｏｄｅ１が属する既存のネットワークに参加できる。
【０１１７】
（実施例２）
図１９を参照して実施例２を説明する。
本例では、上述の実施例１の処理に加えて、新規ノードはＲＳＳＩチェックを行い、自分から近い距離に存在すると思われるノードと時刻同期を行う。
【０１１８】
図１９でＮｏｄｅ１およびＮｏｄｅ３は既存のネットワークに属し、互いに時刻同期が取れているノードである。Ｎｏｄｅ２は新規ノードで、Ｎｏｄｅ１、Ｎｏｄｅ３が属するネットワークに参加しようとしているノードである。
【０１１９】
Ｎｏｄｅ２は、上記実施例１と同様の処理を経てＨｅｌｌｏメッセージの監視を開始する。ただし、本例では、受信したＨｅｌｌｏメッセージのＲＳＳＩ値がＲＳＳＩ閾値未満の場合には、監視対象としない。ＲＳＳＩ閾値はたとえば２０であっても良い。図１９では、Ｎｏｄｅ１からのＨｅｌｌｏメッセージの受信信号強度（ＲＳＳＩ）は閾値より小さく、Ｎｏｄｅ１は監視対象のノードとしては不適格であると判断される。
【０１２０】
Ｎｏｄｅ２はＮｏｄｅ１に変えて、Ｎｏｄｅ３からＨｅｌｌｏメッセージを受信する。Ｎｏｄｅ３からのＨｅｌｌｏメッセージのＲＳＳＩがＲＳＳＩ閾値以上であれば、Ｎｏｄｅ３を監視対象とする。この後のＮｏｄｅ３とＮｏｄｅ２の処理は実施例１と同一である。
【０１２１】
（実施例３）
図２０を参照しながら、実施例３を説明する。本例では、実施例１と同様、新規ノード（Ｎｏｄｅ２）が既存のネットワークに属しているノード（Ｎｏｄｅ１）と時刻同期を取ることによって、ネットワークに参加しようとする状況に適用される。しかし、新規ノード（Ｎｏｄｅ２）は時刻同期要求フレームをあるノード（Ｎｏｄｅ１）に送信したが、時刻同期応答フレームが返ってこないことが実施例１とは異なる。
【０１２２】
本例では、Ｎｏｄｅ２は時刻同期要求フレームをＮｏｄｅ１に対して継続的に送信する。
Ｎｏｄｅ２がＮｏｄｅ１に対して時刻同期要求フレームを送信するまでの処理は実施例１と同じである。Ｎｏｄｅ２が時刻同期要求フレームをＮｏｄｅ１に送信後、時刻同期応答待ち時間Ｔ４を超過しても時刻同期応答フレームが返らない場合、時刻同期要求フレームを再送する。時刻同期要求フレームの再送は、時刻同期要求再送回数に達するまで行う。一例では、時刻同期応答待ち時間Ｔ４は６０秒である。また、時刻同期要求再送回数は、一例では３回である。時刻同期要求フレームの再送の回数が時刻同期要求再送回数を超過した場合、Ｈｅｌｌｏメッセージの監視対象を変更する。このとき、Ｎｏｄｅ１のＭＡＣアドレスは、既に時刻同期要求フレームを送信したアドレスとして新規ノード内に記憶しておくことが好ましい。
【０１２３】
新たにＨｅｌｌｏメッセージの監視対象が見つかれば、実施例１の手順に従って、時刻同期要求フレームを送信し、その後時刻同期応答フレームを受信することで時刻同期を行い、ネットワークへの参加を行うことができる。
【０１２４】
（実施例４）
図２１を参照しながら、実施例４を説明する。本例は、実施例３のように時刻同期要求の送信を継続しても時刻同期ができず、さらにＨｅｌｌｏメッセージの監視対象のノードを取り替えても時刻同期が出来ない場合である。
【０１２５】
図２１で、Ｎｏｄｅ１、Ｎｏｄｅ３、Ｎｏｄｅ４は既存のネットワークに属し、互いに時刻同期が取れているノードであるとする。Ｎｏｄｅ２はそのネットワークに新たに参加したいノードである。
【０１２６】
Ｎｏｄｅ２はＮｏｄｅ１をＨｅｌｌｏメッセージの監視対象とするが、両者では実施例３と同じ処理が行われる。つまり、Ｎｏｄｅ２は、Ｎｏｄｅ１との時刻同期は取れない。すると、Ｎｏｄｅ２は、今度はＮｏｄｅ３からＨｅｌｌｏメッセージを受信し、Ｎｏｄｅ２は時刻同期要求フレームをＮｏｄｅ３に対して継続的に送信する。しかしながら、Ｎｏｄｅ３についても実施例３と同じことが生じて、Ｎｏｄｅ２はＮｏｄｅ３とは時刻同期を取れない。
【０１２７】
Ｎｏｄｅ２はさらに別のノードであるＮｏｄｅ４と時刻同期を取ろうとする。しかしながら、Ｎｏｄｅ４についても実施例３と同じことが生じて、Ｎｏｄｅ２はＮｏｄｅ４とは時刻同期を取れない。
【０１２８】
このようにＨｅｌｌｏメッセージの監視対象の変更回数が監視制限数で、たとえば３回を超過した場合、時刻同期要求の送信を終了する。もちろん、監視制限数は３には限定されず、２回でも良いし、５回でも良い。時刻同期要求の送信を終了すると、Ｎｏｄｅ２はＮｏｄｅ１、３、４が属するネットワークへの参加は出来ない。
【０１２９】
この場合は、Ｎｏｄｅ１、３、４が定期的に送信する時刻同期フレームを受信してＮｏｄｅ２はネットワークに参加する。
（実施例５）
図２２を参照しながら、実施例５を説明する。本例では、既存ネットワークの中で一部のネットワークが瞬断した場合、瞬断された複数のノードが一度に既存ネットワークに参加する方法が開示される。本例では、時刻同期応答フレームを受信したノードは、受信した時刻同期応答フレームをブロードキャスト送信するように構成されている。
【０１３０】
図２２でＮｏｄｅＡ、Ｂ、Ｃは、瞬断された複数のノードである。ＮｏｄｅＤは、時刻同期されたネットワークに属するノードである。本例では、ＮｏｄｅＡ、Ｂ、ＣがＮｏｄｅＤが属するネットワークへの参加をする。
【０１３１】
まず、ＮｏｄｅＡ、Ｂ、Ｃのうちの１台、たとえばＮｏｄｅＡが最初に時刻同期要求待ち時間を超過し、ＮｏｄｅＤに対して時刻同期要求フレームを送信する。装置が起動してかた時刻同期要求フレームを送信するまでの処理は、実施例１と同様である。このとき、ＮｏｄｅＢおよびＣは、まだ時刻同期要求待ち時間を超えずにいる。
【０１３２】
次に、時刻同期要求を受信したノード、たとえばＮｏｄｅＤから時刻同期応答フレームがブロードキャスト送信される。ブロードキャスト送信された時刻同期応答フレームを受信した複数のノード、たとえばＮｏｄｅＡ、Ｂ、Ｃは、ＮｏｄｅＤからの時刻同期応答フレームを用いて時刻同期を取る。つまり、ＮｏｄｅＡ、Ｂ、Ｃの全てがＮｏｄｅＤからの時刻同期応答フレームを用いて時刻同期を完了することができる。このように、ＮｏｄｅＡ、Ｂ、Ｃの全てが一斉に、既存のネットワークに一度に参加することが可能となる。
【０１３３】
また、時刻同期要求待ち時間超過待ち状態であったＮｏｄｅＢ、Ｃは、時刻同期応答フレームの受信などにより時刻同期された場合、時刻同期要求フレームの送信を行わない。
【０１３４】
以上の実施例１〜５を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
複数のノードから構成され時刻同期が取れているアドホックネットワークと新規のノードが時刻同期を取る方法であって、
前記アドホックネットワークに属し、時刻同期要求フレームを受信して時刻同期情報を含む時刻同期応答フレームを送信する機能を有する前記複数のノードの一つに、前記複数のノードの一つのアドレスを含む前記時刻同期要求フレームを送信し
前記時刻同期要求フレームを受信した前記複数のノードの一つから時刻同期情報を含む前記時刻同期応答フレームを受信し、
前期時刻同期応答フレームに含まれている前記時刻同期情報を使用して前記複数のノードの一つと時刻同期を行う、
ことを特徴とする方法。
（付記２）
複数のノードから構成され時刻同期が取れているアドホックネットワークと新規のノードが時刻同期を取る方法であって、
前記アドホックネットワークに属し、時刻同期要求フレームを受信して時刻同期情報を含む時刻同期応答フレームを送信する機能を有する前記複数のノードの一つから、前記複数のノードの一つのアドレスを含むメッセージを受信し、
前記複数のノードの一つに、前記複数のノードの一つのアドレスを含む時刻同期要求フレームを送信し、
前記時刻同期要求フレームを受信した前記複数のノードの一つから前記時刻同期情報を含む時刻同期応答フレームを受信し、
前期時刻同期応答フレームに含まれている前記時刻同期情報を使用して前記複数のノードの一つと時刻同期を行う、
ことを特徴とする方法。
（付記３）
前記メッセージが送信されるノードは、前記メッセージの信号強度が予め定められたしきい値以上のとき、前記時刻同期要求フレームを前記複数のノードの一つに送信させることを特徴とする付記２の方法。
（付記４）
前記メッセージを所定の時間内に連続して所定の回数以上受信したときに、前期時刻同期要求フレームを送信することを特徴とする付記２または３の方法。
（付記５）
複数のノードから構成され時刻同期が取れているアドホックネットワークと新規のノードが時刻同期を取る装置であって、
前記アドホックネットワークに属し、時刻同期要求フレームを受信して時刻同期情報を含む時刻同期応答フレームを送信する機能を有する前記複数のノードの一つに、前記複数のノードの一つのアドレスを含む前記時刻同期要求フレームを送信する時刻同期要求フレーム送信手段と、
前記時刻同期要求フレームを受信した前記複数のノードの一つから時刻同期情報を含む前記時刻同期応答フレームを受信する時刻同期応答フレーム受信手段と、
前記時刻同期応答フレームに含まれている前記時刻同期情報を使用して前記複数のノードの一つと時刻同期を行う時刻同期手段、
を含むことを特徴とする装置。
（付記６）
複数のノードから構成され時刻同期が取れているアドホックネットワークと新規のノードが時刻同期を取る装置であって、
前記アドホックネットワークに属し、時刻同期要求フレームを受信して時刻同期情報を含む時刻同期応答フレームを送信する機能を有する前記複数のノードの一つから、前記複数のノードの一つのアドレスを含むメッセージを受信するメッセージ受信手段と、
前記アドホックネットワークに属する前記複数のノードの一つに、前記複数のノードの一つのアドレスを含む時刻同期要求フレームを送信する時刻同期要求フレーム送信手段と、
前記時刻同期要求フレームを受信した前記複数のノードの一つから前記時刻同期情報を含む前記時刻同期応答フレームを受信する時刻同期応答フレーム受信手段と、
前記時刻同期応答フレームに含まれている前記時刻同期情報を使用して前記複数のノードの一つと時刻同期を行う時刻同期手段、
を含むことを特徴とする装置。
（付記７）
前記メッセージの信号強度が予め定められたしきい値以上のとき、前記時刻同期要求フレームを前記複数のノードの一つに送信させるように前記時刻同期要求フレーム送信手段を制御するノード選択手段、
をさらに含むことを特徴とする付記６の装置。
（付記８）
前記時刻同期要求フレーム送信手段は、前記メッセージを所定の時間内に連続して所定の回数以上受信したときに、前記時刻同期要求フレームを送信することを特徴とする付記６または７の装置。
（付記９）
複数のノードから構成され、前記複数のノードは互いに時刻同期されているアドホックネットワークに新規のノードが参加する方法であって、
前記アドホックネットワークに属し、時刻同期要求フレームを受信して時刻同期情報を含む時刻同期応答フレームを送信する機能を有する前記複数のノードの一つから、前記複数のノードの一つのアドレスを含むメッセージを受信し、
前記アドホックネットワークに属する前記複数のノードの一つに、前記複数のノードの一つのアドレスを含む前記時刻同期要求フレームを送信し、
前記時刻同期要求フレームを受信した前記複数のノードの一つから時刻同期情報を含む前記時刻同期応答フレームを受信し、
前期時刻同期応答フレームに含まれている前記時刻同期情報を使用して前記複数のノードの一つと時刻同期を行うことによって、前記アドホックネットワークに参加する、
ことを特徴とする方法。
（付記１０）
複数のノードから構成され、前記複数のノードは互いに時刻同期されているアドホックネットワークに属し、時刻同期要求フレームを受信して時刻同期情報を含む時刻同期応答フレームを送信する機能を有する第１のノードと、
前記第１のノードに、前記第１のノードのアドレスを含む前記時刻同期要求フレームを送信し、前記時刻同期要求フレームを受信した前記第１のノードから時刻同期情報を含む前記時刻同期応答フレームを受信し、前期時刻同期応答フレームに含まれている前記時刻同期情報を使用して前記第１のノードと時刻同期を行う第２のノード、
を含むネットワーク。
（付記１１）
複数のノードから構成され、前記複数のノードは互いに時刻同期されているアドホックネットワークに属する第１のノードであって、前記第１のノードのアドレスを含むメッセージを送信する機能および時刻同期要求フレームを受信して時刻同期情報を含む時刻同期応答フレームを送信する機能を有する第１のノードと、
前記第１のノードから前記第１のノードのアドレスを含むメッセージを受信し、前記第１のノードの前記アドレス宛に前記時刻同期要求フレームを送信し、前記時刻同期要求フレームを受信した前記第１のノードから時刻同期情報を含む前記時刻同期応答フレームを受信し、前期時刻同期応答フレームに含まれている前記時刻同期情報を使用して前記第１のノードと時刻同期を行う第２のノード、
を含むネットワーク。
【符号の説明】
【０１３５】
１０  メッシュ状アドホックネットワーク
１２  ネットワークサーバ
１４  ネットワーク
１０００  ノード装置
１１００  インターフェイス部
１１１０  受信部
１１２０  送信部
１２００  時刻同期処理部
１２１０  フレーム受信処理部
１２２０  時刻初期値判定部
１２３０  Ｈｅｌｌｏ制御部
１２４０  時刻同期制御部
１２５０  フレーム送信制御部
【図５】
0005754206.tif 000002
【図６】
0005754206.tif 000003
【図７】
0005754206.tif 000004
【図８】
0005754206.tif 000005
【図９】
0005754206.tif 000006
【図１０】
0005754206.tif 000007
【図１１】
0005754206.tif 000008
【図１２】
0005754206.tif 000009
【図１３】
0005754206.tif 000010
【図１４】
0005754206.tif 000011
【図１５】
0005754206.tif 000012
【図１６】
0005754206.tif 000013
【図１７】
0005754206.tif 000014
【図１８】
0005754206.tif 000015
【図１９】
0005754206.tif 000016
【図２０】
0005754206.tif 000017
【図２１】
0005754206.tif 000018
【図２２】
0005754206.tif 000019
【図１】
0005754206.tif 000020
【図２】
0005754206.tif 000021
【図３】
0005754206.tif 000022
【図４】
0005754206.tif 000023