(57)【要約】  ノードは、時刻同期源から順次伝搬された時刻情報に基づき、自ノードの時刻を設定するノードで構成されるアドホックネットワークにおけるノードである。ノードは、時刻差計測部と、時刻設定部とを備える。時刻差計測部は、直近に受信した時刻情報に基づく第一の時刻と、２つ前に受信した時刻情報に基づく第二の時刻との差分である時刻差を計測する。時刻設定部は、時刻差が通信可能許容範囲よりも小さい誤差許容範囲を超えるときは、時刻差に所定の割合を乗じた調整時刻差を算出する。時刻設定部は、算出した調整時刻差が通信可能許容範囲以内である場合には、当該調整時刻差を第二の時刻に加えた時刻を自ノードの時刻に設定する。時刻設定部は、算出した調整時刻差が通信可能許容範囲を超える場合には、当該調整時刻差に代えて通信可能許容範囲に相当する時刻差を第二の時刻に加えた時刻を自ノードの時刻に設定する。
2013129672.tif 000002
【特許請求の範囲】
【請求項１】
時刻同期源から順次伝搬された時刻情報に基づき、自ノードの時刻を設定するノードで構成されるアドホックネットワークにおけるノードであって、
直近に受信した時刻情報に基づく第一の時刻と、２つ前に受信した時刻情報に基づく第二の時刻との差分である時刻差を計測する時刻差計測部と、
前記時刻差が通信可能許容範囲よりも小さい誤差許容範囲を超えるときは、前記時刻差に所定の割合を乗じた調整時刻差を算出し、算出した前記調整時刻差が前記通信可能許容範囲以内である場合には、当該調整時刻差を前記第二の時刻に加えた時刻を前記自ノードの時刻に設定し、算出した前記調整時刻差が前記通信可能許容範囲を超える場合には、当該調整時刻差に代えて前記通信可能許容範囲に相当する時刻差を前記第二の時刻に加えた時刻を前記自ノードの時刻に設定する時刻設定部と
を備えたことを特徴とするノード。
【請求項２】
時刻同期源から順次伝搬された時刻情報に基づき、自ノードの時刻を設定するノードで構成されるアドホックネットワークにおけるノードが実行する通信制御方法であって、
直近に受信した時刻情報に基づく第一の時刻と、２つ前に受信した時刻情報に基づく第二の時刻との差分である時刻差を計測し、
前記時刻差が通信可能許容範囲よりも小さい誤差許容範囲を超えるときは、前記時刻差に所定の割合を乗じた調整時刻差を算出し、
算出した前記調整時刻差が前記通信可能許容範囲以内である場合には、当該調整時刻差を前記第二の時刻に加えた時刻を前記自ノードの時刻に設定し、算出した前記調整時刻差が前記通信可能許容範囲を超える場合には、当該調整時刻差に代えて前記通信可能許容範囲に相当する時刻差を前記第二の時刻に加えた時刻を前記自ノードの時刻に設定する
ことを含むことを特徴とする通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ノード及び通信制御方法に関する。
【背景技術】
【０００２】
近年、ノードと呼ばれる複数の通信装置が自律分散的に相互接続するアドホックネットワークの研究が進められている。アドホックネットワークでは、ノード間の時刻同期に用いられる基準時刻を保持するノードである時刻同期源が設けられ、この時刻同期源を中心としてノード間の時刻が同期される。【０００３】
時刻同期源としては、たとえば、ネットワーク上に設置された時刻較正サーバ（ＮＴＰサーバ）からの時刻を受けたノードや、データの検針に用いられるハンディ型検針器（ＨＴ：Handy  Terminal）に直接接続され、時刻設定されたノードがある。ＨＴと直接接続されたノードが時刻同期源となる場合、当該ノードはＨＴの時刻を基準時刻として取得し、保持する。そして、アドホックネットワーク上の各ノードは、時刻同期源のノードから順次伝搬された時刻情報に含まれる基準時刻に基づいて、自ノードの時刻を設定する。このようにして、アドホック通信を用いて形成されるネットワークでは、形成されるネットワークごとに１つの時刻同期源のノードに対して同期する複数のノードを含むノード群が形成される。つまり、アドホック通信を用いて形成されるネットワークでは、独立した時刻同期源のノードに対応して、独立したノード群が形成されている。【０００４】
ところで、アドホック通信を用いて形成されるネットワークでは、複数のアドホックネットワークが接触すると、それぞれのアドホックネットワークの境界を越えて通信が行われるが、それぞれのアドホックネットワークに属するノードの時刻がずれていると、相互に通信することができない。たとえば、複数のアドホックネットワークが、ＨＴからの時刻に基づいた時刻同期源のノードをそれぞれ有する場合、ＨＴどうしの時刻が合致していない場合には、ＨＴから時刻を取得した時刻同期源のノードどうしの基準時刻が合致していないため、時刻同期源の異なるノード群間は通信することができない。したがって、複数のアドホックネットワークが通信を行うためには、複数のノード群間で時刻を同期する必要がある。【０００５】
時刻同期源の異なる複数のノード群間で時刻を同期する技術として、複数のノード群に対して優先順位を設定し、ノード群の境界に位置するノードが優先順位の最も高いノード群の時刻に同期する技術が提案されている。この技術では、優先順位の最も高い他のノード群の時刻に同期したノードが、同期後の時刻を自ノード群内の隣接のノードにも伝達する。これにより、複数のノード群間の時刻を優先順位の最も高いノード群の時刻に同期させることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３８６５２２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術では、一方の時刻同期源にノード時刻を合わせるものであるから、時刻同期源を同じとしたノード間の時刻を同期させ、相互に通信可能とすることができるものの、時刻同期源を変更したノードは、時刻同期源の時間差によっては、変更前の時刻同期源に同期したノード群に属する各ノードとの時間差が生じ、以前は通信可能であったノードとの通信が、時刻同期源を変更することにより、できなくなるという問題があった。【０００８】
開示の技術は、上記に鑑みてなされたものであって、時刻同期源の異なるノード群間の時刻を徐々に同期させつつ、同一のノード群に属する各ノードどうしの通信を維持させることができるノード及び通信制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願の開示するノードは、時刻同期源から順次伝搬された時刻情報に基づき、自ノードの時刻を設定するノードで構成されるアドホックネットワークにおけるノードである。ノードは、時刻差計測部と、時刻設定部とを備える。時刻差計測部は、直近に受信した時刻情報に基づく第一の時刻と、２つ前に受信した時刻情報に基づく第二の時刻との差分である時刻差を計測する。時刻設定部は、前記時刻差が通信可能許容範囲よりも小さい誤差許容範囲を超えるときは、前記時刻差に所定の割合を乗じた調整時刻差を算出する。時刻設定部は、算出した前記調整時刻差が前記通信可能許容範囲以内である場合には、当該調整時刻差を前記第二の時刻に加えた時刻を前記自ノードの時刻に設定する。時刻設定部は、算出した前記調整時刻差が前記通信可能許容範囲を超える場合には、当該調整時刻差に代えて前記通信可能許容範囲に相当する時刻差を前記第二の時刻に加えた時刻を前記自ノードの時刻に設定する。
【発明の効果】
【００１０】
本願の開示するノードの一つの態様によれば、時刻同期源の異なるノード群間の時刻を徐々に同期させつつ、同一のノード群に属する各ノードどうしの通信を維持できるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、本実施例に係るアドホックネットワークの構成について説明するための図である。
【図２】図２は、本実施例に係るノードの構成を示す図である。
【図３】図３は、本実施例に係るノードの処理手順を示すフローチャートである。
【図４】図４は、本実施例に係るアドホックネットワークのノードが自ノードの時刻を設定する処理の一例を示す図（その１）である。
【図５】図５は、本実施例に係るアドホックネットワークのノードが自ノードの時刻を設定する処理の一例を示す図（その２）である。
【図６】図６は、本実施例に係るアドホックネットワークのノードが自ノードの時刻を設定する処理の一例を示す図（その３）である。
【図７】図７は、本実施例に係るアドホックネットワークのノードが自ノードの時刻を設定する処理の一例を示す図（その４）である。
【図８】図８は、本実施例に係るアドホックネットワークのノードが自ノードの時刻を設定する処理の一例を示す図（その５）である。
【図９】図９は、本実施例に係るアドホックネットワークのノードが自ノードの時刻を設定する処理の一例を示す図（その６）である。
【図１０】図１０は、本実施例に係るアドホックネットワークのノードが自ノードの時刻を設定する処理の他の例を示す図（その１）である。
【図１１】図１１は、本実施例に係るアドホックネットワークのノードが自ノードの時刻を設定する処理の他の例を示す図（その２）である。
【図１２】図１２は、本実施例に係るアドホックネットワークのノードが自ノードの時刻を設定する処理の他の例を示す図（その３）である。
【図１３】図１３は、本実施例に係るアドホックネットワークのノードが自ノードの時刻を設定する処理の他の例を示す図（その４）である。
【図１４】図１４は、本実施例に係るアドホックネットワークのノードが自ノードの時刻を設定する処理の他の例を示す図（その５）である。
【図１５】図１５は、本実施例に係るアドホックネットワークのノードが自ノードの時刻を設定する処理の他の例を示す図（その６）である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示するノード及び通信制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例により開示技術が限定されるものではない。
【実施例】
【００１３】
まず、本実施例に係るアドホックネットワークの構成について説明する。図１は、本実施例に係るアドホックネットワークの構成について説明するための図である。図１に示すように、このアドホックネットワークは、ノード１００ａ〜１００ｅ、１００ｘ及び１００ｙを有する。このうち、ノード１００ｘ及びノード１００ｙは、ノード間の時刻同期に用いられる基準時刻を保持する。例えば、ノード１００ｘは、ＨＴ１と接続され、ＨＴ１の時刻を基準時刻として取得し、保持する。ノード１００ｙは、ＨＴ２と接続され、ＨＴ２の時刻を基準時刻として取得し、保持する。ノード１００ｘ及びノード１００ｙは、時刻同期源の一例である。以下では、時刻同期源であるノード１００ｘ及びノード１００ｙを、それぞれ時刻同期源ノード１００ｘ、１００ｙと表記する。【００１４】
ノード１００ａ〜１００ｅは、時刻同期源から順次伝搬される時刻情報である時刻同期フレームに含まれる基準時刻に基づいて、自ノードの時刻を設定する。例えば、ノード１００ａは、時刻同期源ノード１００ｘから送出される時刻同期フレームを受信し、受信した時刻同期フレームに含まれる基準時刻に基づいて、自ノード１００ａの時刻を設定する。ノード１００ｂは、ノード１００ａから送出される時刻同期フレームを受信し、受信した時刻同期フレームに含まれる基準時刻に基づいて、自ノード１００ｂの時刻を設定する。ノード１００ｃは、ノード１００ｂから送出される時刻同期フレームを受信し、受信した時刻同期フレームに含まれる基準時刻に基づいて、自ノード１００ｃの時刻を設定する。これにより、時刻同期源ノード１００ｘに対して同期するノード１００ａ〜１００ｃを含むノード群１０１が形成される。【００１５】
また、例えば、ノード１００ｅは、時刻同期源ノード１００ｙから送出される時刻同期フレームを受信し、受信した時刻同期フレームに含まれる基準時刻に基づいて、自ノード１００ｅの時刻を設定する。ノード１００ｄは、ノード１００ｅから送出される時刻同期フレームを受信し、受信した時刻同期フレームに含まれる基準時刻に基づいて、自ノード１００ｄの時刻を設定する。これにより、時刻同期源ノード１００ｙに対して同期するノード１００ｄ、１００ｅを含むノード群１０２が形成される。【００１６】
ここで、アドホック通信を用いて形成されるネットワークでは、複数のアドホックネットワークが接触すると、それぞれのアドホックネットワークの境界を越えて通信が行われるが、それぞれのアドホックネットワークに属するノードの時刻がずれていると、相互に通信することができない。例えば、複数のアドホックネットワークが、ＨＴからの時刻に基づいた時刻同期源のノードをそれぞれ有する場合、ＨＴどうしの時刻が合致していない場合には、ＨＴから時刻を取得した時刻同期源のノードどうしの基準時刻が合致していないため、時刻同期源の異なるノード群間は、通信することができない。図１の例において、ＨＴ１の時刻とＨＴ２の時刻とは合致していないものとする。この場合、ＨＴ１から時刻を取得した時刻同期源ノード１００ｘの基準時刻とＨＴ２から時刻を取得した時刻同期源ノード１００ｙの基準時刻とは合致していないため、ノード群１０１とノード群１０２とは、通信することができない。したがって、複数のアドホックネットワークが通信を行うためには、複数のノード群間で時刻を同期することが望ましい。【００１７】
時刻同期源の異なるノード群間で時刻を同期するために、ノード群に対して優先順位を設定するとともに、一方のノード群の境界に位置するノードが優先順位のより高い他方のノード群の時刻に同期する従来技術を採用することも考えられる。この従来技術では、一方の時刻同期源にノード時刻を合わせるものであるから、時刻同期源を同じとしたノード間の時刻を同期させ、相互に通信可能とすることができる。しかしながら、この従来技術では、時刻同期源を変更したノードは、時刻同期源の時間差によっては、変更前の時刻同期源に同期したノード群に属する各ノードとの時間差が生じ、以前は通信可能であったノードとの通信が、時刻同期源を変更することにより、できなくなる恐れがあった。【００１８】
そこで、本実施例では、各ノード１００が、隣接のノードから直近に受信した時刻情報に含まれる基準時刻と、隣接のノードから２つ前に受信した時刻情報に含まれる基準時刻との時刻差を計測する。そして、各ノード１００は、時刻差が通信可能許容範囲よりも小さい誤差許容範囲に含まれるか否かを判定し、その判定結果に応じて、自ノードの時刻を異なる時刻に設定する。ここで、通信可能許容範囲とは、隣接のノードとの通信が維持可能となる時刻差の範囲を指し、誤差許容範囲とは、隣接のノードとの通信の誤差を許容可能なレベルに抑えることができる時刻差の範囲を指す。【００１９】
例えば、ノード１００ｃは、ノード１００ｂから受信した時刻同期フレームに含まれる基準時刻と、ノード１００ｄから受信した時刻同期フレームに含まれる基準時刻との時刻差を計測する。ノード１００ｃは、時刻差が誤差許容範囲を超えるときは、時刻差に所定の割合を乗じた調整時刻差を算出し、調整時刻差が通信可能許容範囲以内である場合には、調整時刻差をノード１００ｂからの基準時刻に加えた時刻を自ノード１００ｃの時刻に設定する。【００２０】
また、例えば、ノード１００ｂは、ノード１００ａから受信した時刻同期フレームに含まれる基準時刻と、ノード１００ｃから受信した時刻同期フレームに含まれる基準時刻との時刻差を計測する。ノード１００ｂは、時刻差が誤差許容範囲を超えるときは、時刻差に所定の割合を乗じた調整時刻差を算出する。ノード１００ｂは、算出した調整時刻差が通信可能許容範囲を超える場合には、調整時刻差に代えて通信可能許容範囲に相当する時刻差をノード１００ａからの基準時刻に加えた時刻を自ノード１００ｂの時刻に設定する。【００２１】
このように、本実施例では、各ノード１００が、隣接のノードとの時刻差に応じて、自ノードの時刻に異なる時刻を設定する。このため、本実施例では、時刻同期源の異なるノード群間の時刻を徐々に同期させつつ、同一のノード群に属する各ノードどうしの通信を維持させることができる。【００２２】
次に、図２に示したノード１００の構成について説明する。図２は、本実施例に係るノードの構成を示す図である。図２に示すように、ノード１００は、時刻差計測部１１１と、時刻設定部１１２とを有する。なお、ここでは、説明を簡単にするため、時刻同期に関連する構成のみを図示している。【００２３】
時刻差計測部１１１は、隣接のノードとの間の時刻同期フレームの受信時に、直近に受信した時刻同期フレームに含まれる基準時刻と、２つ前に受信した時刻同期フレームに含まれる基準時刻との差分である時刻差を計測する。以下では、直近に受信した時刻同期フレームに含まれる基準時刻を第一の時刻と表記し、２つ前に受信した時刻同期フレームに含まれる基準時刻を第二の時刻と表記する。時刻差計測部１１１は、計測した第一の時刻と第二の時刻との時刻差を時刻設定部１１２に出力する。【００２４】
時刻設定部１１２は、第一の時刻と第二の時刻との時刻差を時刻差計測部１１１から受け付ける。時刻設定部１１２は、時刻差が通信可能許容範囲よりも小さい誤差許容範囲を超えるか否かを判定し、その判定結果に応じて、自ノード１００の時刻に異なる時刻を設定する。【００２５】
時刻設定部１１２が、自ノード１００の時刻を設定する処理の一例について説明する。まず、時刻設定部１１２は、第一の時刻と第二の時刻との時刻差が通信可能許容範囲よりも小さい誤差許容範囲を超えるか否かを判定する。例えば、時刻設定部１１２は、以下の式（１）を用いて、時刻差が誤差許容範囲を超えるか否かを判定する。【００２６】
ΔＴ＝｜Ｔ１−Ｔ２｜＞ΔＴｅｒｒ  ・・・  （１）
ただし、Ｔ１：第一の時刻、Ｔ２：第二の時刻、ΔＴ：時刻差、ΔＴｅｒｒ：誤差許容範囲、例えば、ΔＴｅｒｒ＝ΔＴｃｏｍ×２／１００、ΔＴｃｏｍ：通信可能許容範囲【００２７】
時刻設定部１１２は、判定の結果、時刻差が誤差許容範囲を超えない場合には、第二の時刻を自ノード１００の時刻に設定する。例えば、時刻設定部１１２は、以下の式（２）を用いて、自ノード１００の時刻を設定する。【００２８】
Ｔｓｅｌｆ＝Ｔ２  ・・・  （２）
ただし、Ｔ２：第二の時刻、Ｔｓｅｌｆ＝自ノード１００の時刻【００２９】
時刻設定部１１２は、判定の結果、時刻差が誤差許容範囲を超える場合には、時刻差に所定の割合を乗じた調整時刻差を算出する。例えば、時刻設定部１１２は、以下の式（３）を用いて、調整時刻差を算出する。【００３０】
ΔＴｃｏｎｔ＝α×ΔＴ＝α×｜Ｔ１−Ｔ２｜  ・・・  （３）
ただし、ΔＴｃｏｎｔ：調整時刻差、Ｔ１：第一の時刻、Ｔ２：第二の時刻、ΔＴ：時刻差、α：調整定数（α≦１）【００３１】
時刻設定部１１２は、算出した調整時刻差が通信可能許容範囲を超えるか否かを判定する。例えば、時刻設定部１１２は、以下の式（４）を用いて、調整時刻差が通信可能許容範囲を超えるか否かを判定する。【００３２】
ΔＴｃｏｎｔ＝α×ΔＴ＝α×｜Ｔ１−Ｔ２｜＞ΔＴｃｏｍ  ・・・  （４）
ただし、ΔＴｃｏｎｔ：調整時刻差、Ｔ１：第一の時刻、Ｔ２：第二の時刻、ΔＴ：時刻差、α：調整定数（α≦１）、ΔＴｃｏｍ：通信可能許容範囲【００３３】
時刻設定部１１２は、判定の結果、調整時刻差が通信可能許容範囲を超えない場合には、調整時刻差を第二の時刻に加算又は減算することで得られる時刻を算出して、自ノード１００の時刻に設定する。例えば、時刻設定部１１２は、以下の式（５）を用いて、自ノード１００の時刻を算出する。【００３４】
Ｔ１＞Ｔ２の場合、Ｔｓｅｌｆ＝Ｔ２＋ΔＴｃｏｎｔ
＝Ｔ２＋α｜Ｔ１−Ｔ２｜  ・・・  （５）
Ｔ１＜Ｔ２の場合、Ｔｓｅｌｆ＝Ｔ２−ΔＴｃｏｎｔ
＝Ｔ２−α｜Ｔ１−Ｔ２｜
ただし、Ｔｓｅｌｆ：自ノード１００の時刻、ΔＴｃｏｎｔ：調整時刻差、Ｔ１：第一の時刻、Ｔ２：第二の時刻、ΔＴ：時刻差、α：調整定数（α≦１）【００３５】
一方、時刻設定部１１２は、判定の結果、調整時刻差が通信可能許容範囲を超える場合には、調整時刻差に代えて通信可能許容範囲に相当する時刻差を第二の時刻に加算又は減算することで得られる時刻を算出して、自ノード１００の時刻を設定する。例えば、時刻設定部１１２は、以下の式（６）を用いて、自ノード１００の時刻を算出する。【００３６】
Ｔ１＞Ｔ２の場合、Ｔｓｅｌｆ＝Ｔ２＋Ｔｃｏｍ  ・・・  （６）
Ｔ１＜Ｔ２の場合、Ｔｓｅｌｆ＝Ｔ２−Ｔｃｏｍ
ただし、Ｔ１：第一の時刻、Ｔ２：第二の時刻、Ｔｓｅｌｆ＝自ノード１００の時刻、Ｔｃｏｍ：通信可能許容範囲ΔＴｃｏｍに相当する時刻差【００３７】
なお、上述した時刻差計測部１１１及び時刻設定部１１２は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）や、ＦＰＧＡ（Field  Programmable  Gate  Array）などの集積装置に対応する。また、時刻差計測部１１１及び時刻設定部１１２は、例えば、ＣＰＵやＭＰＵ（Micro  Processing  Unit）等の電子回路に対応する。【００３８】
次に、本実施例に係るノード１００の処理手順について説明する。図３は、本実施例に係るノードの処理手順を示すフローチャートである。例えば、図３に示す処理は、時刻同期フレームを受信したことを契機に実行される。【００３９】
図３に示すように、ノード１００は、隣接のノードとの間の時刻同期フレームの受信時に、時刻同期フレームに含まれる第一の時刻Ｔ１と第二の時刻Ｔ２との時刻差ΔＴを計測する（ステップＳ１０１）。【００４０】
ノード１００は、第一の時刻Ｔ１と第二の時刻Ｔ２との時刻差ΔＴが誤差許容範囲ΔＴｅｒｒを超えるか否かを判定する（ステップＳ１０２）。ノード１００は、時刻差ΔＴが誤差許容範囲ΔＴｅｒｒを超えない場合には（ステップＳ１０２；Ｎｏ）、第二の時刻Ｔ２を自ノード１００の時刻Ｔｓｅｌｆに設定する（ステップＳ１０３）。【００４１】
一方、ノード１００は、時刻差ΔＴが誤差許容範囲ΔＴｅｒｒを超える場合には（ステップＳ１０２；Ｙｅｓ）、時刻差ΔＴに調整係数αを乗じた調整時刻差ΔＴｃｏｎｔを算出する（ステップＳ１０４）。【００４２】
ノード１００は、調整時刻差ΔＴｃｏｎｔが通信可能許容範囲ΔＴｃｏｍを超えるか否かを判定する（ステップＳ１０５）。ノード１００は、調整時刻差ΔＴｃｏｎｔが通信可能許容範囲ΔＴｃｏｍを超えない場合には（ステップＳ１０５；Ｎｏ）、以下の処理を行う。すなわち、ノード１００は、調整時刻差ΔＴｃｏｎｔを第二の時刻に加算又は減算することで得られる時刻を算出して自ノード１００の時刻Ｔｓｅｌｆに設定する（ステップＳ１０６）。【００４３】
一方、ノード１００は、調整時刻差ΔＴｃｏｎｔが通信可能許容範囲ΔＴｃｏｍを超える場合には（ステップＳ１０５；Ｙｅｓ）、以下の処理を行う。すなわち、ノード１００は、通信可能許容範囲ΔＴｃｏｍに相当する時刻差Ｔｃｏｍを第二の時刻Ｔ２に加算又は減算することで得られる時刻を算出して自ノード１００の時刻Ｔｓｅｌｆに設定する（ステップＳ１０７）。【００４４】
次に、本実施例に係るアドホックネットワークのノードが時刻同期源から順次伝搬される時刻同期フレームを受信して、自ノードの時刻を設定する一連の処理の一例について説明する。図４〜図９は、本実施例に係るアドホックネットワークのノードが自ノードの時刻を設定する処理の一例を示す図である。図４〜図９において、縦軸は、時刻ｔを示す。【００４５】
図４に示す状態では、時刻同期源ノード１００ｘに対して同期するノード１００ａ〜１００ｃを含むノード群１０１が形成されている。すなわち、ノード群１０１に含まれるノード１００ａ〜１００ｃの時刻Ｔａ〜Ｔｃは、時刻同期源ノード１００ｘの時刻Ｔｘ＝ｔ１に合致している。また、このアドホックネットワークでは、時刻同期源ノード１００ｙに対して同期するノード１００ｄ、１００ｅを含むノード群１０２が形成されている。すなわち、ノード群１０２に含まれるノード１００ｄ、１００ｅの時刻Ｔｄ、Ｔｅは、時刻同期源ノード１００ｙの時刻Ｔｙ＝ｔ２に合致している。また、図４に示す状態では、ノード群１０１の境界に位置するノード１００ｃと、ノード群１０２の境界に位置するノード１００ｄとは、無線的に隔離されているものとする。【００４６】
この状態から、ノード群１０１の境界に位置するノード１００ｃと、ノード群１０２の境界に位置するノード１００ｄとが無線的に接続可能な状態に遷移したものとする。すると、ノード１００ｄは、ノード１００ｄの時刻Ｔｄ＝ｔ２を含む時刻同期フレームを送信する。ノード１００ｃは、ノード１００ｄの時刻Ｔｄ＝ｔ２を含む時刻同期フレームをノード１００ｄから受信する。ノード１００ｃは、時刻同期フレームに含まれる時刻Ｔｄ＝ｔ２と自ノード１００ｃの時刻Ｔｃ＝ｔ１との時刻差ΔＴを計測する。ノード１００ｃは、時刻差ΔＴ＝｜ｔ１−ｔ２｜が誤差許容範囲ΔＴｅｒｒを超えるので、時刻差ΔＴに調整係数α（≦１）を乗算して調整時刻差ΔＴｃｏｎｔ＝α・ΔＴを算出する。ノード１００ｃは、調整時刻差ΔＴｃｏｎｔ＝α・ΔＴが通信可能許容範囲ΔＴｃｏｍを超えるので、図５に示すように、通信可能許容範囲ΔＴｃｏｍに相当する時刻差Ｔｃｏｍを自ノード１００ｃの時刻Ｔｃ＝ｔ１に加算することで得られる時刻を算出する。ノード１００ｃは、算出した時刻（ｔ１＋Ｔｃｏｍ）を自ノード１００ｃの時刻Ｔｃに上書きする。ノード１００ｃは、自ノード１００ｃの時刻Ｔｃ＝（ｔ１＋Ｔｃｏｍ）を含む時刻同期フレームを送信する。【００４７】
一方で、ノード１００ｄは、ノード１００ｃの時刻Ｔｃ＝ｔ２を含む時刻同期フレームをノード１００ｃから受信する。ノード１００ｄは、時刻同期フレームに含まれる時刻Ｔｃ＝ｔ２と自ノード１００ｄの時刻Ｔｄ＝ｔ２との時刻差ΔＴを計測する。ノード１００ｄは、時刻差ΔＴ＝｜ｔ１−ｔ２｜が誤差許容範囲ΔＴｅｒｒを超えるので、時刻差ΔＴに調整係数α（≦１）を乗算して調整時刻差ΔＴｃｏｎｔ＝α・ΔＴを算出する。ノード１００ｃは、調整時刻差ΔＴｃｏｎｔ＝α・ΔＴが通信可能許容範囲ΔＴｃｏｍを超えるので、図５に示すように、通信可能許容範囲ΔＴｃｏｍに相当する時刻差Ｔｃｏｍを自ノード１００ｄの時刻Ｔｄ＝ｔ２から減算することで得られる時刻を算出する。ノード１００ｄは、算出した時刻（ｔ１−Ｔｃｏｍ）を自ノード１００ｄの時刻Ｔｄに上書きする。ノード１００ｄは、自ノード１００ｄの時刻Ｔｄ＝（ｔ１−Ｔｃｏｍ）を含む時刻同期フレームを送信する。【００４８】
続いて、ノード１００ｂは、ノード１００ｃの時刻Ｔｃ＝（ｔ１＋Ｔｃｏｍ）を含む時刻同期フレームをノード１００ｃから受信する。ノード１００ｂは、時刻同期フレームに含まれる時刻Ｔｃ＝（ｔ１＋Ｔｃｏｍ）と自ノード１００ｂの時刻Ｔｂ＝ｔ１との時刻差ΔＴを計測する。ノード１００ｂは、時刻差ΔＴ＝Ｔｃｏｍが誤差許容範囲ΔＴｅｒｒを超えるので、時刻差ΔＴに調整係数α（≦１）を乗算して調整時刻差ΔＴｃｏｎｔ＝α・Ｔｃｏｍを算出する。ノード１００ｂは、調整時刻差ΔＴｃｏｎｔ＝α・Ｔｃｏｍが通信可能許容範囲ΔＴｃｏｍを超えないので、図６に示すように、調整時刻差ΔＴｃｏｎｔ＝α・Ｔｃｏｍを自ノード１００ｂの時刻Ｔｂ＝ｔ１に加算することで得られる時刻を算出する。ノード１００ｂは、算出した時刻（ｔ１＋α・Ｔｃｏｍ）を自ノード１００ｂの時刻Ｔｂに上書きする。ノード１００ｂは、自ノード１００ｂの時刻Ｔｂ＝（ｔ１＋α・Ｔｃｏｍ）を含む時刻同期フレームを送信する。【００４９】
一方で、ノード１００ｅは、ノード１００ｄの時刻Ｔｄ＝（ｔ２−Ｔｃｏｍ）を含む時刻同期フレームをノード１００ｄから受信する。ノード１００ｅは、時刻同期フレームに含まれる時刻Ｔｄ＝（ｔ２−Ｔｃｏｍ）と自ノード１００ｅの時刻Ｔｅ＝ｔ２との時刻差ΔＴを計測する。ノード１００ｅは、時刻差ΔＴ＝Ｔｃｏｍが誤差許容範囲ΔＴｅｒｒを超えるので、時刻差ΔＴに調整係数αを乗算して調整時刻差ΔＴｃｏｎｔ＝α・Ｔｃｏｍを算出する。ノード１００ｅは、調整時刻差ΔＴｃｏｎｔ＝α・Ｔｃｏｍが通信可能許容範囲ΔＴｃｏｍを超えないので、図６に示すように、調整時刻差ΔＴｃｏｎｔ＝α・Ｔｃｏｍを自ノード１００ｅの時刻Ｔｅ＝ｔ２から減算することで得られる時刻を算出する。ノード１００ｅは、算出した時刻（ｔ２−α・Ｔｃｏｍ）を自ノード１００ｅの時刻Ｔｅに上書きする。ノード１００ｅは、自ノード１００ｅの時刻Ｔｅ＝（ｔ２−α・Ｔｃｏｍ）を含む時刻同期フレームを送信する。【００５０】
続いて、ノード１００ａは、ノード１００ｂの時刻Ｔｂ＝（ｔ１＋α・Ｔｃｏｍ）を含む時刻同期フレームをノード１００ｂから受信する。ノード１００ａは、時刻同期フレームに含まれる時刻Ｔｂ＝（ｔ１＋α・Ｔｃｏｍ）と自ノード１００ａの時刻Ｔａ＝ｔ１との時刻差ΔＴを計測する。ノード１００ａは、時刻差ΔＴ＝α・Ｔｃｏｍが誤差許容範囲ΔＴｅｒｒを超えるので、時刻差ΔＴに調整係数αを乗算して調整時刻差ΔＴｃｏｎｔ＝α２・Ｔｃｏｍを算出する。ノード１００ａは、調整時刻差ΔＴｃｏｎｔ＝α２・Ｔｃｏｍが通信可能許容範囲ΔＴｃｏｍを超えないので、図７に示すように、調整時刻差ΔＴｃｏｎｔを自ノード１００ａの時刻Ｔａ＝ｔ１に加算することで得られる時刻を算出する。ノード１００ａは、算出した時刻（ｔ１＋α２・Ｔｃｏｍ）を自ノード１００ａの時刻Ｔａに上書きする。ノード１００ａは、自ノード１００ａの時刻Ｔａ＝（ｔ１＋α２・Ｔｃｏｍ）を含む時刻同期フレームを送信する。【００５１】
一方で、時刻同期源ノード１００ｙは、ノード１００ｅの時刻Ｔｅ＝（ｔ２−α・Ｔｃｏｍ）を含む時刻同期フレームをノード１００ｅから受信する。時刻同期源ノード１００ｙは、時刻同期フレームに含まれる時刻Ｔｅ＝（ｔ２−α・Ｔｃｏｍ）と自ノード１００ｙの時刻Ｔｙ＝ｔ２との時刻差ΔＴを計測する。時刻同期源ノード１００ｙは、時刻差ΔＴ＝α・Ｔｃｏｍが誤差許容範囲ΔＴｅｒｒを超えるので、時刻差ΔＴに調整係数αを乗算して調整時刻差ΔＴｃｏｎｔ＝α２・Ｔｃｏｍを算出する。時刻同期源ノード１００ｙは、調整時刻差ΔＴｃｏｎｔ＝α２・Ｔｃｏｍが通信可能許容範囲ΔＴｃｏｍを超えないので、、図７に示すように、調整時刻差ΔＴｃｏｎｔを自ノード１００ｙの時刻Ｔｙ＝ｔ２から減算することで得られる時刻を算出する。時刻同期源ノード１００ｙは、算出した時刻（ｔ２−α２・Ｔｃｏｍ）を自ノード１００ｙの時刻Ｔｙに上書きする。【００５２】
続いて、時刻同期源ノード１００ｘは、ノード１００ａの時刻Ｔａ＝（ｔ１＋α２・Ｔｃｏｍ）を含む時刻同期フレームをノード１００ａから受信する。時刻同期源ノード１００ｘは、時刻同期源フレームに含まれるＴａ＝（ｔ１＋α２・Ｔｃｏｍ）と自ノード１００ｘの時刻Ｔｘ＝ｔ１との時刻差ΔＴを計測する。時刻同期源ノード１００ｘは、時刻差ΔＴ＝α２・Ｔｃｏｍが誤差許容範囲ΔＴｅｒｒを超えるので、時刻差ΔＴに調整係数αを乗算して調整時刻差ΔＴｃｏｎｔ＝α３・Ｔｃｏｍを算出する。時刻同期源ノード１００ｙは、調整時刻差ΔＴｃｏｎｔ＝α３・Ｔｃｏｍが通信可能許容範囲ΔＴｃｏｍを超えないので、、図８に示すように、調整時刻差ΔＴｃｏｎｔを自ノード１００ｘの時刻Ｔｘ＝ｔ１に加算することで得られる時刻を算出する。時刻同期源ノード１００ｘは、算出した時刻（ｔ１＋α３・Ｔｃｏｍ）を自ノード１００ｘの時刻Ｔｘに上書きする。【００５３】
図５〜図８に示した処理が繰り返し実行されることによって、隣接するノードどうしの時刻差ΔＴが、図９に示すように、誤差許容範囲ΔＴｅｒｒ内に収容される。【００５４】
次に、本実施例に係るアドホックネットワークが時刻同期源から順次伝搬される時刻同期フレームを受信して、自ノードの時刻を設定する一連の処理の他の例について説明する。図１０〜図１５は、本実施例に係るアドホックネットワークのノードが自ノードの時刻を設定する処理の他の例を示す図である。図１０〜図１５において、縦軸は、時刻ｔを示す。なお、図１０〜図１５に示す例は、ノード群１０１のノード１００ｃ及びノード群１０２のノード１００ｄによって算出される調整時刻差ΔＴｃｏｎｔが通信可能許容範囲ΔＴｃｏｍを超えない点で、図４〜図９に示した例と異なる。【００５５】
図１０に示す状態では、時刻同期源ノード１００ｘに対して同期するノード１００ａ〜１００ｃを含むノード群１０１が形成されている。すなわち、ノード群１０１に含まれるノード１００ａ〜１００ｃの時刻Ｔａ〜Ｔｃは、時刻同期源ノード１００ｘの時刻Ｔｘ＝ｔ１に合致している。また、このアドホックネットワークでは、時刻同期源ノード１００ｙに対して同期するノード１００ｄ、１００ｅを含むノード群１０２が形成されている。すなわち、ノード群１０２に含まれるノード１００ｄ、１００ｅの時刻Ｔｄ、Ｔｅは、時刻同期源ノード１００ｙの時刻Ｔｙ＝ｔ２に合致している。また、図４に示す状態では、ノード群１０１の境界に位置するノード１００ｃと、ノード群１０２の境界に位置するノード１００ｄとは、無線的に隔離されているものとする。【００５６】
この状態から、ノード群１０１の境界に位置するノード１００ｃと、ノード群１０２の境界に位置するノード１００ｄとが無線的に接続可能な状態に遷移したものとする。すると、ノード１００ｄは、ノード１００ｄの時刻Ｔｄ＝ｔ２を含む時刻同期フレームを送信する。ノード１００ｃは、ノード１００ｄの時刻Ｔｄ＝ｔ２を含む時刻同期フレームをノード１００ｄから受信する。ノード１００ｃは、時刻同期フレームに含まれる時刻Ｔｄ＝ｔ２と自ノード１００ｃの時刻Ｔｃ＝ｔ１との時刻差ΔＴを計測する。ノード１００ｃは、時刻差ΔＴ＝｜ｔ１−ｔ２｜が誤差許容範囲ΔＴｅｒｒを超えるので、時刻差ΔＴに調整係数α（≦１）を乗算して調整時刻差ΔＴｃｏｎｔ＝α・ΔＴを算出する。ノード１００ｃは、調整時刻差ΔＴｃｏｎｔ＝α・ΔＴが通信可能許容範囲ΔＴｃｏｍを超えないので、図１１に示すように、調整時刻差Ｔｃｏｎｔ＝α・ΔＴを自ノード１００ｃの時刻Ｔｃ＝ｔ１に加算することで得られる時刻を算出する。ノード１００ｃは、算出した時刻（ｔ１＋α・ΔＴ）を自ノード１００ｃの時刻Ｔｃに上書きする。ノード１００ｃは、自ノード１００ｃの時刻Ｔｃ＝（ｔ１＋α・ΔＴ）を含む時刻同期フレームを送信する。【００５７】
一方で、ノード１００ｄは、ノード１００ｃの時刻Ｔｃ＝ｔ２を含む時刻同期フレームをノード１００ｃから受信する。ノード１００ｄは、時刻同期フレームに含まれる時刻Ｔｃ＝ｔ２と自ノード１００ｄの時刻Ｔｄ＝ｔ２との時刻差ΔＴを計測する。ノード１００ｄは、時刻差ΔＴ＝｜ｔ１−ｔ２｜が誤差許容範囲ΔＴｅｒｒを超えるので、時刻差ΔＴに調整係数α（≦１）を乗算して調整時刻差ΔＴｃｏｎｔ＝α・ΔＴを算出する。ノード１００ｃは、調整時刻差ΔＴｃｏｎｔ＝α・ΔＴが通信可能許容範囲ΔＴｃｏｍを超えないので、図１１に示すように、調整時刻差ΔＴｃｏｎｔ＝α・ΔＴを自ノード１００ｄの時刻Ｔｄ＝ｔ２から減算することで得られる時刻を算出する。ノード１００ｄは、算出した時刻（ｔ１−α・ΔＴ）を自ノード１００ｄの時刻Ｔｄに上書きする。ノード１００ｄは、自ノード１００ｄの時刻Ｔｄ＝（ｔ１−α・ΔＴ）を含む時刻同期フレームを送信する。【００５８】
続いて、ノード１００ｂは、ノード１００ｃの時刻Ｔｃ＝（ｔ１＋α・ΔＴ）を含む時刻同期フレームをノード１００ｃから受信する。ノード１００ｂは、時刻同期フレームに含まれる時刻Ｔｃ＝（ｔ１＋α・ΔＴ）と自ノード１００ｂの時刻Ｔｂ＝ｔ１との時刻差α・ΔＴを計測する。ノード１００ｂは、時刻差α・ΔＴが誤差許容範囲ΔＴｅｒｒを超えるので、時刻差ΔＴに調整係数α（≦１）を乗算して調整時刻差ΔＴｃｏｎｔ＝α２・ΔＴを算出する。ノード１００ｂは、調整時刻差ΔＴｃｏｎｔ＝α２・ΔＴが通信可能許容範囲ΔＴｃｏｍを超えないので、図１２に示すように、調整時刻差ΔＴｃｏｎｔ＝α２・ΔＴを自ノード１００ｂの時刻Ｔｂ＝ｔ１に加算することで得られる時刻を算出する。ノード１００ｂは、算出した時刻（ｔ１＋α２・ΔＴ）を自ノード１００ｂの時刻Ｔｂに上書きする。ノード１００ｂは、自ノード１００ｂの時刻Ｔｂ＝（ｔ１＋α２・ΔＴ）を含む時刻同期フレームを送信する。【００５９】
一方で、ノード１００ｅは、ノード１００ｄの時刻Ｔｄ＝（ｔ２−α・ΔＴ）を含む時刻同期フレームをノード１００ｄから受信する。ノード１００ｅは、時刻同期フレームに含まれる時刻Ｔｄ＝（ｔ２−α・ΔＴ）と自ノード１００ｅの時刻Ｔｅ＝ｔ２との時刻差α・ΔＴを計測する。ノード１００ｅは、時刻差α・ΔＴが誤差許容範囲ΔＴｅｒｒを超えるので、時刻差α・ΔＴに調整係数αを乗算して調整時刻差ΔＴｃｏｎｔ＝α２・ΔＴを算出する。ノード１００ｅは、調整時刻差ΔＴｃｏｎｔ＝α２・ΔＴが通信可能許容範囲ΔＴｃｏｍを超えないので、図１２に示すように、調整時刻差ΔＴｃｏｎｔ＝α２・ΔＴを自ノード１００ｅの時刻Ｔｅ＝ｔ２から減算することで得られる時刻を算出する。ノード１００ｅは、算出した時刻（ｔ２−α２・ΔＴ）を自ノード１００ｅの時刻Ｔｅに上書きする。ノード１００ｅは、自ノード１００ｅの時刻Ｔｅ＝（ｔ２−α２・ΔＴ）を含む時刻同期フレームを送信する。【００６０】
続いて、ノード１００ａは、ノード１００ｂの時刻Ｔｂ＝（ｔ１＋α２・ΔＴ）を含む時刻同期フレームをノード１００ｂから受信する。ノード１００ａは、時刻同期フレームに含まれる時刻Ｔｂ＝（ｔ１＋α２・ΔＴ）と自ノード１００ａの時刻Ｔａ＝ｔ１との時刻差α２・ΔＴを計測する。ノード１００ａは、時刻差α２・ΔＴが誤差許容範囲ΔＴｅｒｒを超えるので、時刻差α２・ΔＴに調整係数αを乗算して調整時刻差ΔＴｃｏｎｔ＝α３・ΔＴを算出する。ノード１００ａは、調整時刻差ΔＴｃｏｎｔ＝α３・ΔＴが通信可能許容範囲ΔＴｃｏｍを超えないので、図１３に示すように、調整時刻差ΔＴｃｏｎｔを自ノード１００ａの時刻Ｔａ＝ｔ１に加算することで得られる時刻を算出する。ノード１００ａは、算出した時刻（ｔ１＋α３・ΔＴ）を自ノード１００ａの時刻Ｔａに上書きする。ノード１００ａは、自ノード１００ａの時刻Ｔａ＝（ｔ１＋α３・ΔＴ）を含む時刻同期フレームを送信する。【００６１】
一方で、時刻同期源ノード１００ｙは、ノード１００ｅの時刻Ｔｅ＝（ｔ２−α２・ΔＴ）を含む時刻同期フレームをノード１００ｅから受信する。時刻同期源ノード１００ｙは、時刻同期フレームに含まれる時刻Ｔｅ＝（ｔ２−α２・ΔＴ）と自ノード１００ｙの時刻Ｔｙ＝ｔ２との時刻差α２・ΔＴを計測する。時刻同期源ノード１００ｙは、時刻差α２・ΔＴが誤差許容範囲ΔＴｅｒｒを超えるので、時刻差α２・ΔＴに調整係数αを乗算して調整時刻差ΔＴｃｏｎｔ＝α３・ΔＴを算出する。時刻同期源ノード１００ｙは、調整時刻差ΔＴｃｏｎｔ＝α３・ΔＴが通信可能許容範囲ΔＴｃｏｍを超えないので、図１３に示すように、調整時刻差ΔＴｃｏｎｔを自ノード１００ｙの時刻Ｔｙ＝ｔ２から減算することで得られる時刻を算出する。時刻同期源ノード１００ｙは、算出した時刻（ｔ２−α３・ΔＴ）を自ノード１００ｙの時刻Ｔｙに上書きする。【００６２】
続いて、時刻同期源ノード１００ｘは、ノード１００ａの時刻Ｔａ＝（ｔ１＋α３・ΔＴ）を含む時刻同期フレームをノード１００ａから受信する。時刻同期源ノード１００ｘは、時刻同期源フレームに含まれるＴａ＝（ｔ１＋α３・ΔＴ）と自ノード１００ｘの時刻Ｔｘ＝ｔ１との時刻差α３・ΔＴを計測する。時刻同期源ノード１００ｘは、時刻差α３・ΔＴが誤差許容範囲ΔＴｅｒｒを超えるので、時刻差ΔＴに調整係数αを乗算して調整時刻差ΔＴｃｏｎｔ＝α４・ΔＴを算出する。時刻同期源ノード１００ｙは、調整時刻差ΔＴｃｏｎｔ＝α４・ΔＴが通信可能許容範囲ΔＴｃｏｍを超えないので、図１４に示すように、調整時刻差ΔＴｃｏｎｔを自ノード１００ｘの時刻Ｔｘ＝ｔ１に加算することで得られる時刻を算出する。時刻同期源ノード１００ｘは、算出した時刻（ｔ１＋α４・ΔＴ）を自ノード１００ｘの時刻Ｔｘに上書きする。【００６３】
図１０〜図１４に示した処理が繰り返し実行されることによって、隣接するノードどうしの時刻差ΔＴが、図１５に示すように、誤差許容範囲ΔＴｅｒｒ内に収容される。【００６４】
次に、本実施例に係るアドホックネットワークの効果について説明する。アドホックネットワークに含まれるノード１００は、時刻同期源に同期する隣接のノードから直近に受信した時刻情報に含まれる時刻と、２つ前に受信した時刻情報に含まれる時刻との時刻差を計測する。そして、ノード１００は、時刻差が通信可能許容範囲よりも小さい誤差許容範囲を超えるか否かを判定し、その判定結果に応じて、自ノードの時刻を異なる時刻に設定する。すなわち、ノード１００は、時刻差が誤差許容範囲を超えるときは、時刻差に調整係数を乗じた調整時刻差を算出する。ノード１００は、算出した調整時刻差が通信可能許容範囲内である場合には、調整時刻差を自ノード１００の時刻に加えた時刻を自ノード１００の時刻に上書き設定する。その一方で、ノード１００は、算出した調整時刻差が通信可能許容範囲を超える場合には、調整時刻差に代えて通信可能許容範囲に相当する時刻差を自ノード１００に加えた時刻を自ノード１００の時刻に上書き設定する。このため、本実施例に係るアドホックネットワークでは、時刻同期源の異なるノード群間の時刻を徐々に同期させつつ、同一のノード群に属する各ノードどうしの通信を維持できる。
【符号の説明】
【００６５】
１００ａ〜１００ｅ  ノード
１００ｘ、１００ｙ  時刻同期源ノード
１０１  ノード群
１０２  ノード群
１１１  時刻差計測部
１１２  時刻設定部
【図１】
2013129672.tif 000003
【図２】
2013129672.tif 000004
【図３】
2013129672.tif 000005
【図４】
2013129672.tif 000006
【図５】
2013129672.tif 000007
【図６】
2013129672.tif 000008
【図７】
2013129672.tif 000009
【図８】
2013129672.tif 000010
【図９】
2013129672.tif 000011
【図１０】
2013129672.tif 000012
【図１１】
2013129672.tif 000013
【図１２】
2013129672.tif 000014
【図１３】
2013129672.tif 000015
【図１４】
2013129672.tif 000016
【図１５】
2013129672.tif 000017
【国際調査報告】
2013129672.tif 000018
2013129672.tif 000019
2013129672.tif 000020
2013129672.tif 000021