(57)【要約】【課題】  効率的に時刻同期処理を行うことができる無線通信装置、プログラム及び方法を提供する。【解決手段】  本発明は、無線通信装置に関する。本発明の無線通信装置は、無線によりパケットの送受信を行う無線送受信手段と、自装置の時刻を管理する時刻管理手段と、時刻取得元と時刻管理手段が管理する時刻の時刻同期処理を行うものであって、時刻取得元と時刻同期処理を行った後の時刻を設定した時刻補正通知パケットを、無線送受信手段を介して送信する時刻同期処理手段とを有することを特徴とする。【選択図】      図１
2018157340.tif 000002
【特許請求の範囲】
【請求項１】
無線によりパケットの送受信を行う無線送受信手段と、
自装置の時刻を管理する時刻管理手段と、
時刻取得元と前記時刻管理手段が管理する時刻の時刻同期処理を行うものであって、前記時刻取得元と時刻同期処理を行った後の時刻を設定した時刻補正通知パケットを、前記無線送受信手段を介して送信する時刻同期処理手段と
を有することを特徴とする無線通信装置。
【請求項２】
前記時刻同期処理手段は、
前記無線送受信手段を介して、前記時刻取得元から時刻補正通知パケットを受信し、
前記無線送受信手段を介して、前記時刻取得元に、時刻同期を要求する時刻同期要求パケットを送信し、
前記無線送受信手段を介して、前記時刻取得元から、自装置が送信した時刻同期要求パケットに応答するパケットであって、前記時刻取得元における時刻同期要求パケットの受信時刻と、前記時刻取得元における送信時刻が設定された時刻同期応答パケットを受信し、
前記時刻取得元から時刻同期応答パケットを受信した場合、当該時刻同期応答パケットの情報と、前記時刻取得元から受信した時刻補正通知パケットの情報を利用して時刻同期処理を行う
ことを特徴とする請求項１に記載の無線通信装置。
【請求項３】
前記時刻同期処理手段は、
前記時刻取得元に送信した時刻同期要求パケットの送信時間と、前記時刻取得元から受信した時刻同期要求パケットの情報と、前記時刻取得元から時刻同期要求パケットを受信した受信時間とに基づいて、前記時刻取得元が管理する時刻と、前記時刻管理手段が管理する時間の時間差を算出し、
算出した時間差を用いて、前記時刻管理手段が管理する時刻を前記時刻取得元と合わせる補正を行う
ことを特徴とする請求項２に記載の無線通信装置。
【請求項４】
前記時刻同期処理手段は、
算出した時間差と、前記時刻取得元から受信した時刻補正通知パケットの情報と、前記時刻取得元から時刻補正通知パケットを受信した受信時刻とを用いて前記時刻取得元と前記時刻管理手段との時刻を計時する時刻計時速度差を算出し、
算出した時刻計時速度差に基づいて、前記時刻管理手段が計時する時刻計時速度を前記時刻取得元と合わせる補正を行う
ことを特徴とする請求項３に記載の無線通信装置。
【請求項５】
前記時刻同期処理手段は、
前記無線送受信手段を介して、時刻同期要求元から自装置との時刻同期を要求する時刻同期要求パケットを受信した場合には、前記時刻同期要求元から受信した時刻同期要求パケットに応答するパケットであって、前記時刻同期要求元から時刻同期要求パケットを受信した受信時刻と、送信時刻を設定した時刻同期応答パケットを生成して、前記無線送受信手段を介して前記時刻同期要求元に送信する
ことを特徴とする請求項１〜４のいずれかに記載の無線通信装置。
【請求項６】
無線通信装置に搭載されたコンピュータを、
無線によりパケットの送受信を行う無線送受信手段と、
自装置の時刻を管理する時刻管理手段と、
時刻取得元と前記時刻管理手段が管理する時刻の時刻同期処理を行うものであって、前記時刻取得元と時刻同期処理を行った後の時刻を設定した時刻補正通知パケットを、前記無線送受信手段を介して送信する時刻同期処理手段と
して機能させることを特徴とする無線通信プログラム。
【請求項７】
無線通信装置が行う無線通信方法において、
無線送受信手段、時刻管理手段及び時刻同期処理手段を備え、
前記無線送受信手段は、無線によりパケットの送受信を行い、
前記時刻管理手段は、自装置の時刻を管理し、
前記時刻同期処理手段は、時刻取得元と前記時刻管理手段が管理する時刻の時刻同期処理を行うものであって、前記時刻取得元と時刻同期処理を行った後の時刻を設定した時刻補正通知パケットを、前記無線送受信手段を介して送信する
ことを特徴とする無線通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、無線通信装置、プログラム及び方法に関し、例えば、無線通信装置（ノード）間で時刻同期を行う無線マルチホップネットワークに適用し得る。
【背景技術】
【０００２】
従来、無線マルチホップネットワークにおいて、ノード間で行われる時刻同期によるトラフィックの増大を抑える技術として特許文献１の技術が存在する。特許文献１には外部サーバから正しい時刻を取得するゲートウェイ装置（以下、「ＧＷ」とも表す）との直接通信が不可能なノードが、ＧＷまでのホップ数が自ノード（自装置）より少ない上流側ノードから時刻を取得することについて記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１２８１９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の無線マルチホップネットワークでは、ノードごとのクロック周波数の誤差等によってノードごとに時刻の進み方が異なるため、一度時刻同期を行っても時間が経過すると時刻にずれが生じる。そのため、従来の無線マルチホップネットワークでは、時刻同期の精度を維持するために、複数回時刻同期を行い、そのときの時刻のずれから時刻の進み方の補正（以下、「クロック補正」とも呼ぶ）処理を含む時刻同期処理が行われる。この際、従来の無線マルチホップネットワークでは、時刻同期を行う間隔が小さいとトラフィックの増大を招き、時刻同期を行う間隔が大きいと、ネットワーク内のクロック補正が完了するまでに時間がかかるという問題がある、これは、ＧＷと直接通信できないノードは上流側のノードのクロック補正完了を待って自ノードのクロック補正を行う必要があるためである。
【０００５】
以上のような問題を鑑みて、効率的に時刻同期処理を行うことができる無線通信装置、プログラム及び方法が望まれている。
【課題を解決するための手段】
【０００６】
第１の本発明の無線通信装置は、（１）無線によりパケットの送受信を行う無線送受信手段と、（２）自装置の時刻を管理する時刻管理手段と、（３）時刻取得元と前記時刻管理手段が管理する時刻の時刻同期処理を行うものであって、前記時刻取得元と時刻同期処理を行った後の時刻を設定した時刻補正通知パケットを、前記無線送受信手段を介して送信する時刻同期処理手段とを有することを特徴とする。
【０００７】
第２の本発明の無線通信プログラムは、無線通信装置に搭載されたコンピュータを、（１）無線によりパケットの送受信を行う無線送受信手段と、（２）自装置の時刻を管理する時刻管理手段と、（３）時刻取得元と前記時刻管理手段が管理する時刻の時刻同期処理を行うものであって、前記時刻取得元と時刻同期処理を行った後の時刻を設定した時刻補正通知パケットを、前記無線送受信手段を介して送信する時刻同期処理手段として機能させることを特徴とする。
【０００８】
第３の本発明は、無線通信装置が行う無線通信方法において、（１）無線送受信手段、時刻管理手段及び時刻同期処理手段を備え、（２）前記無線送受信手段は、無線によりパケットの送受信を行い、（３）前記時刻管理手段は、自装置の時刻を管理し、（４）前記時刻同期処理手段は、時刻取得元と前記時刻管理手段が管理する時刻の時刻同期処理を行うものであって、前記時刻取得元と時刻同期処理を行った後の時刻を設定した時刻補正通知パケットを、前記無線送受信手段を介して送信することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、効率的に時刻同期処理を行うことができる無線通信装置、プログラム及び方法を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係る無線通信装置の機能的構成について示したブロック図である。
【図２】実施形態に係る無線通信システム（無線マルチホップネットワーク）の全体構成について示した説明図である。
【図３】実施形態に係る無線通信装置で、パケット受信した場合の動作について示したフローチャートである。
【図４】実施形態に係る無線通信装置で、時刻同期処理のタイミングとなった場合の動作について示したフローチャートである。
【図５】実施形態に係る無線通信システムにおける時刻同期処理の例について示したシーケンス図である。
【図６】実施形態に係る無線通信装置において時刻同期処理が行われる際の各タイミングの例について示した説明図である。
【図７】実施形態に係る無線通信装置において時刻補正通知パケットを用いない場合の各タイミングの例について示した説明図である。
【発明を実施するための形態】
【００１１】
（Ａ）主たる実施形態
以下、本発明による無線通信装置、プログラム及び方法の一実施形態を、図面を参照しながら詳述する。
【００１２】
（Ａ−１）実施形態の構成
図２は、この実施形態の無線通信システム１の全体構成の例について示したブロック図である。
【００１３】
図１に示すように、無線通信システム１には、無線マルチホップネットワークＮを構成する１つのＧＷ２０と、２つの無線通信装置１０（１０−１、１０−２）が配置されている。以下では、無線マルチホップネットワークＮは、ＧＷ２０を中心とした無線マルチホップネットワークであるものとして説明する。なお、無線通信システム１の無線マルチホップネットワークＮにおいて、ＧＷ２０及び無線通信装置１０の数については限定されないものである。以下では、無線通信システム１の無線マルチホップネットワークＮを構成する無線通信装置１０（１０−１、１０−２）及びＧＷ２０等の無線通信装置を総称して「ノード」とも呼ぶものとする。また、以下では、各ノード（ＧＷ２０及び各無線通信装置１０）には、それぞれ無線マルチホップネットワークＮ上で固有のアドレス（例えば、ＭＡＣアドレス、ショートアドレス、ＩＰアドレス等）が割り当てられているものとして説明する。
【００１４】
ＧＷ２０は、無線マルチホップネットワークＮ（無線通信システム１）全体を管理する機能を担っている。
【００１５】
図２では、直接無線通信可能なノード間のリンクを点線で図示している。
【００１６】
例えば、図２では、ＧＷ２０は、無線通信装置１０−１と直接無線通信可能であることを示している。また、図２では、無線通信装置１０−２は、無線通信装置１０−１と直接無線通信可能であるが、ＧＷ２０とは直接無線通信できないことを示している。したがって、無線通信装置１０−２は、無線通信装置１０−１を介してＧＷ２０と通信する必要がある。
【００１７】
また、図２に示す無線マルチホップネットワークＮ（無線通信システム１）において、無線通信装置１０−２では親ノード（ＧＷ２０にパケット送信する際の上位側のノード）として無線通信装置１０−１が登録され、無線通信装置１０−１では親ノードとしてＧＷ２０が登録されているものとして説明する。なお、図２に示す無線マルチホップネットワークＮ（無線通信システム１）において、各無線通信装置１０で親ノードが決定されるプロセスについては限定されないものである。例えば、無線マルチホップネットワークＮ（無線通信システム１）において、ＧＷ２０を起点としたフラッディング（フラッディングパケットの送出）により、各無線通信装置１０に親ノードを設定するようにしてもよいし、予め各無線通信装置１０に静的に親ノードを設定するようにしてもよい。
【００１８】
また、この実施形態では、各無線通信装置１０は、直接無線通信可能な他のノードのうち、いずれかのノードを時刻同期処理の際に基準となるノード（以下、「時刻取得元」と呼ぶ）として選択する。この実施形態では、各無線通信装置１０において、親ノード（ＧＷ２０にパケット送信する際の上位側のノード）を時刻取得元のノードとして選択するものとする。
【００１９】
次に、無線通信システム１（無線マルチホップネットワークＮ）の各ノード（ＧＷ２０、無線通信装置１０−１、１０−２）が、時刻同期処理で送受信するパケットについて説明する。
【００２０】
無線通信装置１０は、時刻取得元のノード（この実施形態では、親ノード）に対して、時刻同期を要求するためのパケット（以下、「時刻同期要求パケット」と呼ぶ）を送信する。時刻同期要求パケットのデータ形式については限定されないものであるが、例えば、所定のデータ（コード）を挿入したパケットとしてもよい。無線通信装置１０が、時刻同期要求パケットを送信するタイミングについては後述する。
【００２１】
時刻同期要求パケットを受信したノード（ＧＷ２０、無線通信装置１０−１、１０−２）は、時刻同期要求パケットに応答するパケット（以下、「時刻同期応答パケット」と呼ぶ）を生成して、時刻同期要求パケットの送信元に送信する。時刻同期応答パケットには、少なくとも時刻同期要求パケットの受信時刻と、当該時刻同期応答パケットの送信時刻が設定される。なお、この実施形態では、ＧＷ２０も、無線通信装置１０と同様に、時刻同期要求パケットを受信した場合に、時刻同期応答パケットを応答送信するものとして説明する。
【００２２】
そして、時刻同期応答パケットを受信した各無線通信装置１０は、当該時刻同期応答パケットの受信を契機に時刻取得元との時刻同期処理を行い、時刻同期処理後の時刻を通知するパケット（以下、「時刻補正通知パケット」と呼ぶ）を送信する。時刻補正通知パケットには、少なくとも当該時刻補正通知パケットの送信時間が設定される。
【００２３】
そして、各無線通信装置１０は、原則として、時刻取得元（この実施形態では親ノード）に時刻同期要求パケットを送信した送信時刻と、時刻取得元から時刻同期応答パケットを受信した受信時刻と、時刻取得元から受信した時刻同期応答パケットに設定された情報と、時刻取得元から時刻補正通知パケットを受信した受信時刻と、時刻取得元から受信した時刻補正通知パケットに設定された情報とに基づいて時刻同期処理を行うものとする。例えば、無線通信装置１０−２は、時刻取得元（親ノード）である無線通信装置１０−１に時刻同期要求パケットを送信した送信時刻と、無線通信装置１０−１から時刻同期応答パケットを受信した受信時刻と、無線通信装置１０−１から受信した時刻同期応答パケットに設定された情報と、無線通信装置１０−１から時刻補正通知パケットを受信した受信時刻と、無線通信装置１０−１から受信した時刻補正通知パケットに設定された情報とに基づいて時刻同期の処理を行うものとする。なお、各無線通信装置１０内における時刻同期の処理の詳細については後述する。また、各無線通信装置１０は、時刻取得元から時刻補正通知パケットを受信していない場合には、時刻補正通知パケットの情報を用いずに時刻同期処理を行うようにしてもよい。
【００２４】
次に、各無線通信装置１０の内部構成の例について図１を用いて説明する。
【００２５】
この実施形態では、無線通信装置１０（１０−１、１０−２）は全て、図１を用いて説明可能な構成であるものとして説明する。
【００２６】
図１に示すように無線通信装置１０は無線送受信部１０１、時刻同期パケット処理部１０２、タイマ１０３、時刻管理部１０４、クロック１０５、及び記憶部１０６を有している。
【００２７】
記憶部１０６は、無線通信装置１０における種々の設定データ等を記録する手段である。この実施形態において、記憶部１０６には、時刻取得元に合わせて補正した時刻を示す時刻情報１０７と、時刻取得元のノードとのクロックのずれを補正するためのクロック補正値１０８と、時刻取得元に関する情報を示す時刻取得元情報１０９とが記録されているものとする。時刻情報１０７、クロック補正値１０８、及び時刻取得元情報１０９の詳細については後述する。
【００２８】
無線送受信部１０１は他のノードと無線信号によりパケットを送受信する無線インタフェース（パケット送受信手段）である。無線送受信部１０１は受信したパケットのうち時刻同期に関わるパケットを時刻同期パケット処理部１０２に供給する。また、無線送受信部１０１は、所定の方式によりＧＷ２０にパケット送信するための親ノードを決定する。そして、時刻同期パケット処理部１０２は、記憶部１０６の時刻取得元情報１０９に当該親ノードの識別子（例えば、アドレス情報等）を設定する。
【００２９】
クロック１０５は、所定の周波数のクロックパルスを発生させるものである。クロック１０５は、クロックパルスに応じてカウントアップ（インクリメント）するカウンタ１０５ａを備えている。言い換えると、クロック１０５は、無線通信装置１０において、時刻の進み方（時刻を計時する時刻計時速度）を決定する機能を担っている。
【００３０】
時刻管理部１０４は、クロック１０５のカウンタ１０５ａの値（以下、単に「カウンタ値」とも呼ぶ）と、記憶部１０６の時刻情報１０７と、記憶部１０６のクロック補正値１０８とに基づいて、管理する現在時刻を算出する。
【００３１】
例えば、記憶部１０６の時刻情報１０７に設定された時刻をｔｃ、カウンタ１０５ａのカウンタ値をＡ、カウンタ１０５ａを時間に換算するための係数（以下、「クロック係数」と呼ぶ）をＫとした場合、時刻管理部１０４は、以下の（１）式を用いて現在時刻を取得することができる。時刻管理部１０４は、記憶部１０６のクロック補正値１０８を利用してクロック係数Ｋを更新する処理を行う。
現在時刻  ＝  時刻ｔｃ  ＋  Ａ×Ｋ  …（１）
【００３２】
タイマ１０３は、無線通信装置１０内の種々のタイミングを管理する手段である。タイマ１０３は、時刻管理部１０４で管理されている時刻に基づいて計時を行う。
【００３３】
時刻同期パケット処理部１０２は、時刻同期に関するパケット（時刻同期要求パケット、時刻同期応答パケット、及び時刻補正通知パケット等）の送受信処理及び時刻同期処理を行う。この実施形態では、時刻同期パケット処理部１０２が、タイマ１０３を用いて、時刻同期要求パケットの送信タイミングの管理（時刻同期処理のタイミング）や、時刻同期要求パケットを送信してから時刻同期応答パケットを受信するまでのタイムアウト時間の管理等を行う。
【００３４】
時刻同期パケット処理部１０２は、タイマ１０３に次回時刻同期要求パケットを送信する時間（時刻同期処理のタイミング）を設定し、タイマ１０３がタイムアウトしたタイミングで、無線送受信部１０１を介して時刻同期要求パケットを送信する処理を行う。
【００３５】
また、時刻同期パケット処理部１０２は、時刻同期応答パケットを受信すると、受信した時刻同期応答パケットに設定されている情報（時刻同期要求パケットの受信時間と、当該時刻同期応答パケットの送信時間）を利用して、記憶部１０６の時刻情報１０７に設定する時刻を時刻取得元に合わせて更新する処理（時刻補正処理）を行う。また、時刻同期パケット処理部１０２は、時刻補正値通知パケットを受信すると、当該時刻補正値通知パケットに設定されている情報と、当該時刻補正値通知パケットの受信時刻を記憶部１０６の時刻取得元情報１０９に設定する。さらに、時刻同期パケット処理部１０２は、時刻同期応答パケットを受信すると、受信した時刻同期応答パケットに設定されている情報と、時刻取得元情報１０９を利用して、クロック補正値ｋｃを算出し、記憶部１０６のクロック補正値１０８（ｋｃ）に設定（更新）する処理（クロック補正処理）を行う。
【００３６】
時刻管理部１０４は、記憶部１０６のクロック補正値１０８（ｋｃ）が更新されると、クロック補正値１０８（ｋｃ）に基づいてクロック係数Ｋを更新する。例えば、更新前のクロック係数をＫ１、クロック補正値ｋｃに基づいて更新した後のクロック係数をＫ２とした場合、時刻管理部１０４は、以下の（２）式に基づいてクロック係数を更新するようにしてもよい。
Ｋ２＝Ｋ１×ｋｃ  …（２）
【００３７】
さらに、時刻同期パケット処理部１０２は、時刻同期処理を行った後、時刻補正通知パケットに送信時間（時刻管理部１０４の現在時刻）を設定して周囲にブロードキャスト送信する。
【００３８】
さらにまた、時刻同期パケット処理部１０２は、時刻取得元との最初の時刻同期処理においては、基準となる時刻（時刻情報１０７）の設定のみを行い、２回目以後の時刻同期処理において時刻補正処理（時刻情報１０７の更新処理）及びクロック補正処理（クロック補正値１０８の更新処理）を行うものとする。
【００３９】
また、時刻同期パケット処理部１０２は、時刻取得元から時刻補正通知パケットを受信していない状態で２回目以後の時刻同期処理を行う場合（例えば、時刻取得元がＧＷ２０の場合）には、時刻補正通知パケットの情報を用いずにクロック補正処理を行うものとする。この場合の処理の詳細については後述する。
【００４０】
無線通信装置１０は、すべてハードウェア的に構成（例えば、専用の半導体チップを用いて構成）するようにしてもよいし、無線送受信部１０１等の通信インタフェース以外の一部または全部についてソフトウェア的に構成するようにしてもよい。例えば、図１に示す無線通信装置１０について、無線送受信部１０１以外の各構成要素についてコンピュータにプログラム（実施形態に係る無線通信プログラム）をインストールすることにより構成するようにしてもよい。その場合、クロック１０５については、上述のコンピュータを構成するプロセッサのクロック源を用いるようにしてもよい。
【００４１】
（Ａ−２）実施形態の動作
次に、無線通信システム１の動作の例について説明する。
【００４２】
まず、無線通信装置１０の単体の動作について図３のフローチャートを用いて説明する。
【００４３】
図３では、無線通信装置１０（無線送受信部１０１）がパケット受信した場合の動作について示している。
【００４４】
無線通信装置１０（無線送受信部１０１）は、他のノードからのパケットを受信すると、当該パケットの種類を検査する。図３では、無線通信装置１０（無線送受信部１０１）が受信したパケットが、時刻同期要求パケット又は時刻同期要求パケットであった場合の処理を中心に示している。
【００４５】
無線通信装置１０（無線送受信部１０１）は、受信したパケットの内容を確認し（Ｓ１０１、Ｓ１０３）、受信したパケットが時刻同期要求パケットであった場合後述するステップＳ１０２から動作し、受信したパケットが時刻補正通知パケットだった場合後述するステップＳ１０４から動作する。
【００４６】
受信したパケットが時刻同期要求パケットだった場合、時刻同期パケット処理部１０２は、当該時刻同期要求パケットの受信時刻と時刻管理部１０４で管理している送信時刻（現在時刻）を設定した時刻同期応答パケットを生成し、時刻同期要求パケットの送信元に送信し（Ｓ１０２）、本フローチャートの処理を終了する。
【００４７】
一方、受信したパケットが時刻補正通知パケットであった場合、時刻同期パケット処理部１０２は、受信した時刻補正通知パケットの送信元が、時刻取得元のノード（時刻取得元情報１０９に設定された識別子のノード）であるか否かを確認する（Ｓ１０４）。時刻同期パケット処理部１０２は、受信した時刻補正通知パケットの送信元が時刻取得元のノードであった場合には後述するステップＳ１０５から動作し、そうでない場合には、当該時刻補正通知パケットを破棄して本フローチャートの処理を終了する。
【００４８】
受信した時刻補正通知パケットの送信元が時刻取得元のノードであった場合、時刻同期パケット処理部１０２は、当該時刻補正通知パケットの受信時刻と、当該時刻補正通知パケットに設定されている情報（送信時刻）を、記憶部１０６の時刻取得元情報１０９として保存（記録）し（Ｓ１０５）、本フローチャートの処理を終了する。
【００４９】
次に、無線通信装置１０で、時刻同期処理のタイミング（時刻同期要求パケットを送信するタイミング）となった場合の動作について、図４のフローチャートを用いて説明する。
【００５０】
まず、ここでは、時刻同期パケット処理部１０２がタイマ１０３に、次の時刻同期処理のタイミングを設定した後、タイマ１０３でタイムアウトが発生し、時刻同期処理のタイミングとなったものとする。時刻同期パケット処理部１０２は、例えば、タイマ１０３に予め設定された時間（以下、「時刻同期処理間隔」と呼ぶ）を設定するようにしてもよい。
【００５１】
時刻同期処理のタイミングとなると、時刻同期パケット処理部１０２は、時刻取得元（時刻取得元情報１０９に設定された時刻取得元）を宛先とした時刻同期要求パケット（ユニキャストのパケット）を生成して送信すると共に、タイマ１０３に時刻同期応答パケットの応答を待つタイムアウト時間（以下、「応答待ちタイムアウト時間」と呼ぶ）を設定して計時を開始させる（Ｓ２０１）。なお、時刻同期処理間隔と応答待ちタイムアウト時間は別個に任意の時間を設定することができる。
【００５２】
そして、その後、時刻同期パケット処理部１０２は、タイマ１０３がタイムアウトするまでの時間（応答待ちタイムアウト時間）を限度として時刻取得元からの時刻同期応答パケットの受信待ちを行う（Ｓ２０２、Ｓ２０３）。時刻同期パケット処理部１０２は、応答待ちタイムアウト時間内に時刻同期応答パケットを受信した場合には、後述するステップＳ２０５から動作し、時刻同期応答パケットを受信する前に応答待ちタイムアウト時間が経過した場合には後述するステップＳ２０４から動作する。
【００５３】
応答待ちタイムアウト時間内に時刻同期応答パケットを受信した場合、時刻同期パケット処理部１０２は、当該時刻同期応答パケットの受信時刻と、当該時刻同期応答パケットに設定された情報とを利用して、時刻取得元のノードの時刻と自ノードの時刻（時刻管理部１０４で管理される時刻）との差分に対応する補正値（以下、「時刻補正値Ｄ」とも呼ぶ）を算出し、時刻補正値Ｄに基づき補正した時刻を記憶部１０６の時刻情報１０７に記録する処理（時刻補正処理）を行う（Ｓ２０５）。具体的には、時刻同期パケット処理部１０２は、時刻管理部１０４が管理する現在時刻に算出した時刻補正値Ｄを加算した時刻を記憶部１０６の時刻情報１０７に記録し、クロック１０５のカウンタ１０５ａをリセット（カウンタ値を０に設定）する。以後、時刻管理部１０４は、新しく記憶部１０６の時刻情報１０７に記録された時刻とカウンタ１０５ａのカウンタ値（リセット後のカウンタ値）に基づいて現在時刻を管理する。なお、上述の通り、時刻同期パケット処理部１０２は、１回目の時刻同期処理においては、受信した時刻同期応答パケットに設定されていた送信時間を記憶部１０６の時刻情報１０７に記録し、クロック１０５のカウンタ１０５ａをリセット（カウンタ値を０に設定）させ、時刻管理部１０４に時刻の計時を開始させるようにしてもよい。
【００５４】
次に、時刻同期パケット処理部１０２は、ステップＳ２０５で算出した時刻補正値Ｄと時刻取得元情報１０９の記録に基づいて、時刻取得元とのクロック（時刻の進み方）のずれ（以下、「時刻計時速度差」と呼ぶ）に対応するクロック補正値ｋｃを算出し、記憶部１０６のクロック補正値１０８に設定する処理（クロック補正処理）を行う（Ｓ２０６）。なお、上述の通り、時刻同期パケット処理部１０２は、１回目の時刻同期処理においては、ステップＳ２０６の処理（クロック補正処理）をスキップする。また、記憶部１０６の時刻取得元情報１０９に、時刻補正通知パケットの受信に伴う情報が設定されていない場合には、時刻補正通知パケットの情報を用いずにクロック補正値ｋｃを求めるようにしてもよい（詳細については後述）。
【００５５】
その後、時刻同期パケット処理部１０２は、時刻同期処理後の現在時刻（ステップＳ２０５、Ｓ２０６の処理後に時刻管理部１０４で管理されている時刻）を送信時刻として時刻補正通知パケットに設定してブロードキャストで周辺のノードへ送信する（Ｓ２０７）。
【００５６】
ステップＳ２０４に移行すると、時刻同期パケット処理部１０２は、次回の同期処理タイミング（例えば、時刻同期処理間隔）をタイマ１０３に設定して（Ｓ２０４）、本フローチャートの処理を終了する。
【００５７】
次に、無線通信システム１において、各ノード（ＧＷ２０、無線通信装置１０−１、１０−２）が上述の図３、図４のフローチャートに従って動作した場合の時刻同期処理の例ついて図５、図６を用いて説明する。
【００５８】
図５は、各ノード（ＧＷ２０、無線通信装置１０−１、１０−２）で時刻同期処理が行われる場合のシーケンスについて示している。図６は、図５のシーケンスにおいて各ノードで管理される時刻の時間変化についてグラフ形式で示した説明図である。
【００５９】
図５、図６において、ｔ１〜ｔ４は実際の時刻を示しており、Ｔａ、Ｔ２、Ｔ３は無線通信装置１０−１の内部での時刻を示しており、Ｔｂ、Ｔ１、Ｔ４は無線通信装置１０−２内部での時刻を示している。
【００６０】
図５のシーケンス図では、まず、無線通信装置１０−１で時刻同期処理のタイミングとなって、無線通信装置１０−１からＧＷ２０に時刻同期要求パケットが送信され（Ｓ３０１）、ＧＷ２０から無線通信装置１０−１に時刻同期応答パケットが応答送信され（Ｓ３０２）、無線通信装置１０−１が受信した時刻同期応答パケットに基づいて、１回目の時刻同期処理（時刻設定のみ）を行い、時刻補正通知パケットを送信している（Ｓ３０３）。図５では、無線通信装置１０−１がステップＳ３０２で受信した時刻同期応答パケットに基づき時刻同期処理を行った時刻を、時刻ｔ１と図示している。
【００６１】
次に、図５のシーケンス図では、無線通信装置１０−２で時刻同期処理のタイミングとなって、無線通信装置１０−２から無線通信装置１０−１に時刻同期要求パケットが送信され（Ｓ３０４）、無線通信装置１０−１から無線通信装置１０−２に時刻同期応答パケットが応答送信され（Ｓ３０５）、無線通信装置１０−２が受信した時刻同期応答パケットに基づいて、１回目の時刻同期処理（時刻設定のみ）を行い、時刻補正通知パケットを送信している（Ｓ３０６）。
【００６２】
次に、図５のシーケンス図では、無線通信装置１０−１で時刻同期処理のタイミングとなって、無線通信装置１０−１からＧＷ２０に時刻同期要求パケットが送信され（Ｓ３０７）、ＧＷ２０から無線通信装置１０−１に時刻同期応答パケットが応答送信され（Ｓ３０８）、無線通信装置１０−１が受信した時刻同期応答パケットに基づいて２回目の時刻同期処理（時刻補正及びクロック補正）を行い、時刻補正通知パケットを送信している（Ｓ３０９）。図５では、無線通信装置１０−１がステップＳ３０７で受信した時刻同期応答パケットに基づき時刻同期処理を行った時刻を、時刻ｔ３と図示している。無線通信装置１０−１から送信された時刻補正通知パケットは、無線通信装置１０−２で受信され、当該時刻補正通知パケットの情報、及び当該時刻補正通知パケットの受信時刻が記録（時刻取得元情報１０９に記録）される。
【００６３】
次に、図５のシーケンス図では、無線通信装置１０−２で時刻同期処理のタイミングとなって、無線通信装置１０−２から無線通信装置１０−１に時刻同期要求パケットが送信され（Ｓ３１０）、無線通信装置１０−１から無線通信装置１０−２に時刻同期応答パケットが応答送信され（Ｓ３１１）、無線通信装置１０−２が受信した時刻同期応答パケットに基づいて２回目の時刻同期処理（時刻補正及びクロック補正）を行い、時刻補正通知パケットを送信している（Ｓ３１２）。図５では、無線通信装置１０−２がステップＳ３１１で受信した時刻同期応答パケットに基づき時刻同期処理を行った時刻を、時刻ｔ４と図示している。
【００６４】
図５において、Ｔａは、無線通信装置１０−１が、ステップＳ３０９で送信する時刻補正通知パケットに設定される送信時刻を示している。また、図５において、Ｔｂは無線通信装置１０−２が、ステップＳ３０９で受信する時刻補正通知パケットの受信時刻を示している。さらに、Ｔ１は、無線通信装置１０−２が、ステップＳ３１０で、送信する時刻同期要求パケットの送信時刻を示している。さらにまた、Ｔ２は、無線通信装置１０−１がステップＳ３１０で受信する時刻同期要求パケットの受信時刻を示している。また、Ｔ３は、無線通信装置１０−１が、ステップＳ３１０で送信する時刻同期応答パケットに設定する送信時刻を示している。さらに、Ｔ４は、無線通信装置１０−２が、ステップＳ３１１で受信する時刻同期応答パケットの受信時刻を示している。
【００６５】
次に、図５に示すシーケンス及び各時刻の関係について図７のグラフを用いて説明する。
【００６６】
図６では横軸が実際の時刻を示しており、縦軸が各ノード（ＧＷ２０、無線通信装置１０−１、１０−２）内の時刻を示している。各ノード間のグラフ（折れ線）の傾きの違いはクロックのずれによる時刻の進みかたの違い（時刻計時速度差）となる。
【００６７】
図６では、ＧＷ２０の時刻を一点鎖線で表し、無線通信装置１０−１の時刻を破線で表し、無線通信装置１０−２の時刻を実線で表している。
【００６８】
図６の例では、ＧＷ２０は、外部（例えば、図示しない外部の時刻サーバ）から時刻を取得するなどして正しい時刻を保持し、時刻の進み方も正確であるとする。そのため図６では、ＧＷ２０の時刻（図６の一点鎖線）は実際の時刻と等しいものとする。無線通信装置１０−１はＧＷ２０と直接通信でき、ＧＷ２０を時刻取得元とする。無線通信装置１０−２はＧＷ２０とは直接通信できず、無線通信装置１０−１を時刻取得元とする。無線通信装置１０−１、無線通信装置１０−２は各々独立したタイミングで時刻同期処理を行う。
【００６９】
時刻ｔ１において、無線通信装置１０−１がＧＷ２０と１回目の時刻同期処理（時刻設定のみ）を行い、時刻管理部１０４が管理する時刻を設定することで、無線通信装置１０−１で管理される時刻（図６の点線）はＧＷ２０の時刻と一致する。しかし、その後、無線通信装置１０−１では、ＧＷ２０とのクロックのずれ（誤差）のため、時間ととともにＧＷ２０の時刻からずれが生じることになる。無線通信装置１０−１は時刻ｔ３に、ＧＷ２０と２回目の時刻同期処理（時刻補正及びクロック補正）を行うことで、クロック補正値１０８（ｋｃ）をＧＷ２０との時刻の進み方の違いとして得ることができる。無線通信装置１０−２は時刻ｔ２とｔ４に時刻同期処理を行うが、その間の時刻ｔ３に無線通信装置１０−１の時刻が補正されている。
【００７０】
したがって、無線通信装置１０−２（時刻同期パケット処理部１０２）は、以下の（３）式及び（４）式で時刻ｔ３と時刻ｔ４の間（ｔ３−ｔ４間）の無線通信装置１０−１との傾きの比（時刻計時速度差）をクロック補正値ｋｃとして算出することができる。
時刻補正値Ｄ＝｛（Ｔ２＋Ｔ３）−（Ｔ１＋Ｔ４）｝／２  …（３）
クロック補正値ｋｃ＝（Ｔ４＋Ｄ−Ｔａ）／（Ｔ４−Ｔｂ）  …（４）
【００７１】
以後、無線通信装置１０−２は、時刻同期処理タイミングの度に、上述の（３）式及び（４）式と同様の計算を行うことで時刻補正値Ｄ及びクロック補正値ｋｃを算出して時刻補正及びクロック補正を行うことができる。
【００７２】
また、同様に無線通信装置１０−１においても、時刻ｔ３及び以後の時刻同期処理タイミングの度に、時刻補正値Ｄ及びクロック補正値ｋｃを算出して、ＧＷ２０との時刻同期処理（時刻補正及びクロック補正）を行うことができる。上記の例では、無線通信装置１０−１は、時刻取得元であるＧＷ２０から時刻補正通知パケットを受信していないため、上記の（４）式をそのまま用いてクロック補正値ｋｃを算出することはできない。上述の通り、時刻同期パケット処理部１０２は、時刻取得元から時刻補正通知パケットを受信していない状態で２回目以後の時刻同期処理を行う場合（例えば、時刻取得元がＧＷ２０の場合）には、時刻補正通知パケットの情報を用いずにクロック補正処理を行う。無線通信装置１０−１は、例えば、上記の（４）式においてＴａ及びＴｂを前回の時刻同期後の時刻であるＴ’２に設定して、クロック補正値ｋｃを算出することができる。以上のように、無線通信装置１０−１において、時刻ｔ３及び以後の時刻同期処理タイミングで上記の（３）式及び（４）式（ただし、Ｔａ及びＴｂにＴ’２を設定し）、を用いて、時刻補正値Ｄ及びクロック補正値ｋｃを算出し、時刻同期処理（時刻補正及びクロック補正）を行うことができる。
【００７３】
（Ａ−３）実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
【００７４】
この実施形態の無線通信システム１では、無線通信装置１０が、時刻取得元と時刻同期処理を行った場合に、補正後の時刻を周辺のノードに通知する時刻補正通知パケットを送信することで、時刻取得元のノードにおける時刻同期処理のタイミングに影響されずに、自ノードの時刻同期処理（時刻補正値Ｄ及びクロック補正値の算出）を行うことができる。例えば、無線通信装置１０において、時刻取得元のノードの時刻が２回の時刻同期の間に補正された場合でもクロック補正値を算出することができる。
【００７５】
仮に、上述の図５のシーケンスの処理において無線通信装置１０−２で時刻補正通知パケットを用いずにクロック補正を行う場合の例について図７を用いて説明する。
【００７６】
図７では、図６と同様の形式でグラフを描いている。
【００７７】
仮に、無線通信装置１０−２で時刻補正通知パケットを用いずにクロック補正を行うとした場合、上記の（４）式においてＴａ及びＴｂを０とした場合のクロック補正（すなわち、ｋｃ＝（Ｔ４＋Ｄ−Ｔ’２）／（Ｔ４−Ｔ’２）とするクロック補正しか行うことができない。言い換えると、無線通信装置１０−２で時刻補正通知パケットを用いずにクロック補正を行うとした場合、無線通信装置１０−２では、図７における位置Ｐ１とＰ３とを結ぶ線分の傾きしかわからない（時刻ｔ３で無線通信装置１０−１が時刻同期処理を行っているため）。しかしながら、無線通信装置１０−２では、正確なクロック補正値ｋｃを把握するためには（時刻ｔ３で無線通信装置１０−１が時刻同期処理を行っていることの影響を排除してクロック補正値ｋｃを把握ためには）、無線通信装置１０−２における時刻の進み方（図７における位置Ｐ１とＰ２とを結ぶ線分の傾き）と、ＧＷ２０における時刻の進み方（図７における位置Ｐ３とＰ４とを結ぶ線分の傾き）との差分を把握する必要がある。そのため、無線通信装置１０−２では、上記の（４）式のように、時刻補正通知パケットを用いたクロック補正（Ｔａ及びＴｂを用いたクロック補正値ｋｃの算出）を行うことで、時刻取得元である無線通信装置１０−１における時刻同期処理タイミングにかかわらず正確なクロック補正値を取得することができる。すなわち、この実施形態では、各無線通信装置１０では、従来と比較して、時刻同期処理の間隔を長くしてもＧＷ２０との時刻のずれを十分抑制し、効率的な時刻同期処理を行うことができる。
【００７８】
以上のように、無線通信システム１では、各無線通信装置１０が、時刻同期処理を行う度に、時刻補正通知パケットを周囲に送信することで、各無線通信装置１０における時刻同期処理のタイミングに関わらず、各無線通信装置１０で正確なクロック補正値を取得することができる。上記の例では、説明を簡易とするため、無線通信システム１（無線マルチホップネットワークＮ）におけるノードをＧＷ２０、無線通信装置１０−１、１０−２として説明したが、さらに無線通信装置１０を追加したとしても、無線通信装置１０−１や無線通信装置１０−２と同様の処理を行うことで、各無線通信装置１０で正確なクロック補正値を取得させることができる。
【００７９】
（Ｂ）他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【００８０】
（Ｂ−１）上記の実施形態においては、ＧＷ２０が正しい時刻を得た状態で無線通信装置１０−１と無線通信装置１０−２が時刻同期を行っているが、例えば、ＧＷ２０が所定の間隔で図示しない外部の時刻取得元と時刻同期するようにしてもよい。この場合、ＧＷ２０が、外部の時刻取得元と時刻同期した際（時刻同期処理を行った際）に、無線通信装置１０と同様に時刻補正通知パケットを送信することで、無線通信装置１０−１でも同様に時刻補正通知パケットに基づいたクロック補正（上述の（４）式をそのまま用いてクロック補正値ｋｃを算出したクロック補正）を行うことができる。この場合、ＧＷ２０の機能的構成については、無線通信装置１０と同様に、上述の図１と同様のブロック図で示すことができる。すなわち、上記の実施形態において、ＧＷ２０についても、本発明の無線通信装置と同様の構成を適用することができる。
【符号の説明】
【００８１】
１…無線通信システム、１０、１０−１、１０−２…無線通信装置、２０…ＧＷ、１０１…無線送受信部、１０２…時刻同期パケット処理部、１０３…タイマ、１０４…時刻管理部、１０４ａ…カウンタ、１０５…クロック、１０６…記憶部、１０７…時刻情報、１０８…クロック補正値、１０９…時刻取得元情報。
【図１】
2018157340.tif 000003
【図２】
2018157340.tif 000004
【図３】
2018157340.tif 000005
【図４】
2018157340.tif 000006
【図５】
2018157340.tif 000007
【図６】
2018157340.tif 000008
【図７】
2018157340.tif 000009