(57)【要約】      （修正有）【課題】ＧＭの同期処理負荷およびスレーブ間の同期ずれの低減を図る。【解決手段】スレーブ群のスレーブＳ1〜ＳNは、ＧＭ１とフェーズ１、２の時刻同期を実行する。フェーズ１において、事前に各スレーブＳ1〜ＳNが任意のタイミングで直接にＧＭ１と時刻同期を実行し、ＧＭ１とある程度の時刻同期をとる。また、フェーズ２において、各スレーブＳ1〜ＳNは、当番表の当番順にしたがって交代しながらＧＭ１と時刻同期を実行する。その際、ＧＭ１と時刻同期後のスレーブスレーブＳ1〜ＳNに対して、他のスレーブスレーブＳ1〜ＳNが時刻同期を実行する。【選択図】図２
2018117227.tif 000002
【特許請求の範囲】
【請求項１】
スレーブノード群の各スレーブノードの時刻をマスターノードの時刻に同期させる時刻同期方法であって、
前記各スレーブノードが、交代しながら順番に前記マスターノードと時刻同期を実行する第１同期ステップと、
前記第１同期ステップの時刻同期後のスレーブノードに対して、他の前記スレーブノードが時刻同期を実行する第２同期ステップと、
を有することを特徴とする時刻同期方法。
【請求項２】
前記各スレーブノードが、前記第１同期ステップに先だって前記マスターノードと時刻同期を実行するステップをさらに有する
ことを特徴とする時刻同期方法。
【請求項３】
前記第１同期ステップにおいて、
前記各スレーブノードは、前記スレーブノード群内における共有規則で定められた順番にしたがって前記マスターノードと時刻同期を実行する
ことを特徴とする請求項１または２記載の時刻同期方法。
【請求項４】
前記第１同期ステップにおいて、
前記各スレーブノードは、前記共有規則で割り当てられたタイムスロットにて前記マスターノードと時刻同期を実行する
ことを特徴とする請求項３記載の時刻同期方法。
【請求項５】
前記第２同期ステップは、前記第１同期ステップの時刻同期後のスレーブノード毎に実行されることを特徴とする請求項１〜４のいずれか１項に記載の時刻同期方法。
【請求項６】
前記共有規則に定める順番を、
（１）前記各スレーブノードの個体識別子の順、
（２）前記各スレーブノードに別途設定された優先度の順、
（３）固定の順番ではなく、ランダムバックオフ
のいずれかにしたがって定めるステップをさらに有することを特徴とする請求項３〜５のいずれか１項に記載の時刻同期方法。
【請求項７】
前記スレーブノード群に新たなスレーブノードが加われば、前記共有規則の順番を更新することを特徴とする請求項３〜６記載の時刻同期方法。
【請求項８】
前記共有規則に定める順番のスレーブノードに対して、他の前記スレーブノードが前記第２ステップの時刻同期を実行できない場合において、
前記共有規則に定める順番のスレーブノードを除いた他の前記スレーブノードにて前記順番を組み直すことを特徴とする請求項３〜７記載の時刻同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スレーブ群の各ノードの時刻をマスターノードの時刻に同期させる時刻同期方法に関する。
【背景技術】
【０００２】
従来の時刻同期方法としては、例えば「ＩＥＥ１５８８  Ｐｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ（以下、ＰＴＰと省略する。）」の時刻同期が知られている。
【０００３】
このＰＴＰの時刻同期方法によれば、ネットワーク上で最も高精度の時計を内蔵するノードをグランドマスター（以下、ＧＭとする。）として選出し、他のノード（以下、スレーブとする。）の内蔵時計をＧＭの前記時計に同調させている。この時刻同期方法の一例として特許文献１が公知となっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−２０３６６７
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の時刻同期方法は、ＧＭ−スレーブ間において同期パケットを往復させ、ＧＭ−スレーブ間の時刻差と伝送時間（遅延時間）とを算出してスレーブの時刻を調整しているものの、以下の問題が生じるおそれがある。
【０００６】
（１）すなわち、ネットワーク上にスレーブの台数が多い場合には、図３中の矢印Ｐ１〜Ｐ５に示すように、ＧＭ１に同期パケットが集中し、ＧＭ１の負荷が増大する問題が生じる。
【０００７】
この場合にネットワークの同期構造をバウンダリークロックノードにより階層化すれば、ＧＭ１の負担は低減できるが、伝送速度の誤差が蓄積し易くなる。また、バウンダリークロックノードの事故や精度低下が起これば、その影響範囲が広がるデメリットもある。
【０００８】
（２）このような環境においては、スレーブＳ1〜ＳNが個別にＧＭ１と時刻同期を行うことでスレーブ間の同期のばらつき（同期ずれ）が大きくなるおそれがある。すなわち、各スレーブＳ1〜ＳNは、過剰な時刻同期変動を抑制するため、同期量の平滑化を行うことが多いが、これが収束を遅延させるため、ネットワークの誤差（伝送での誤差）が変動していると、いつまで経っても収束しなくなる。これが同期精度の限界となる。
【０００９】
ここで図３中のＲ１は、各スレーブＳ1〜ＳNのＧＭ１に対する時刻同期変動の変動幅を示している。また、Ｒ２は、スレーブＳNを新たにＧＭに選定した場合の前記変動幅を示している。ここでは変動幅Ｒ１＞変動幅Ｒ２が成立し、伝送での誤差はＲ１＞Ｒ２が成立し、時計Ｔ１，Ｔ２の誤差はＲ１＜Ｒ２が成立している。
【００１０】
したがって、新たにスレーブＳNをＧＭに選定すれば、図４（ａ）（ｂ）に示すように、前記変動幅を小さくすることができる。しかしながら、時計Ｔ２の誤差が蓄積するため、時間の経過に応じて真の時刻（正確な時刻）との乖離が大きくなってしまう。
【００１１】
本発明は、このような従来の問題点を解決するためになされ、ＧＭの同期処理負荷およびスレーブ間の同期ずれの低減を図ることを解決課題としている。
【課題を解決するための手段】
【００１２】
本発明は、ネットワーク上の各スレーブノードの時刻をマスターノードの時刻に同期させる時刻同期方法に関する。この時刻同期方法は、前記各スレーブノードが、交代しながら順番に前記マスターノードと時刻同期を実行する第１同期ステップと、前記第１同期ステップの時刻同期後のスレーブノードに対して、他の前記スレーブノードが時刻同期を実行する第２同期ステップと、を有する。
【００１３】
本発明の好ましい態様は、前記各スレーブノードが前記第１同期ステップに先だって前記マスターノードと時刻同期を実行するステップをさらに有する。また、前記第１同期ステップの一態様において、前記各スレーブノードは前記スレーブ群内での共有規則で定められた順番にしたがって前記マスターノードと時刻同期を実行する。
【００１４】
さらに前記第１同期ステップの他の態様において、前記各スレーブノードは前記共有規則で割り当てられたタイムスロットにて前記マスターノードと時刻同期を実行する。なお、前記第２同期ステップの好ましい態様では、前記第１同期ステップの時刻同期後のスレーブノード毎に実行される。
【００１５】
前記共有規則に定める順番は、
（１）前記各スレーブノードの個体識別子の順、
（２）前記各スレーブノードに別途設定された優先度の順、
（３）固定の順番ではなく、ランダムバックオフ
のいずれかにしたがって定めることができる。
【００１６】
前記スレーブノード群に新たなスレーブノードが加われば、前記共有規則の順番を更新することが好ましい。また、前記共有規則に定める順番のスレーブノードに対して、他の前記スレーブノードが前記第２ステップの時刻同期を実行できない場合は故障などにより失踪したものと考えらせる。この場合には失踪したスレーブノードを除いた他の前記スレーブにて前記順番を組み直すことができる。
【発明の効果】
【００１７】
本発明によれば、ＧＭの同期処理負荷およびスレーブ間の同期ずれの低減を図ることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係る時刻同期方法の想定するネットワークの一例を示す構成図。
【図２】同  時刻同期方法の概略図。
【図３】従来の時刻同期方法の一例を示すネットワーク構成図。
【図４】（ａ）は図３のネットワークにおいてＧＭと時刻同期をとった場合の変動幅および時刻乖離を示すグラフ、（ｂ）は同スレーブＳNと時刻同期をとった場合の変動幅および時刻乖離を示すグラフ。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態に係る時刻同期方法を説明する。この時刻同期方法は、例えば図１に示すようなケースを想定したＰＴＰの時刻同期に関する。
【００２０】
≪ネットワーク構成≫
図１に基づき前記時刻同期方法の想定するネットワーク１０を説明する。このネットワーク１０は、ＧＭ１とスレーブ群（スレーブ同期グループ：以下、スレーブ群と省略する。）Ｓを備えている。
【００２１】
このスレーブ群Ｓは、スレーブノード（以下、スレーブと省略する。）Ｓ1〜ＳNにより構成されている。この各スレーブＳ1〜ＳNは、次の要件を（１）〜（３）満たしているものとする。
【００２２】
＜要件＞
（１）各スレーブＳ1〜ＳNは、ＧＭ１と時刻同期をとっており、互いにネットワーク的に近傍に位置する。
（２）各スレーブＳ1〜ＳNは、互いにネットワーク的に近傍に位置するため、ＧＭ１０と時刻同期する際にネットワーク品質の影響を同程度に受ける。
（３）図１中はスレーブＳNの内蔵時計（クロック）Ｔ２のみが示されているものの、該時計Ｔ２は例示であり、各スレーブＳ1〜ＳNは同程度の精度を持つ時計（クロック）を内蔵しているものとする。この要件（１）〜（３）を満たす限り、ネットワーク１０には以下の命題が成り立つ。
【００２３】
＜命題＞
（Ａ）スレーブ群Ｓの各スレーブＳ1〜ＳNは、ネットワーク的に近傍に位置するため、ほぼ等価な環境にあり、時刻同期の誤差は小さい（小さくなるべきである）。
【００２４】
仮にスレーブＳ1〜ＳN間において時刻同期の誤差が大きければ、その誤差はＧＭ１−スレーブＳ1〜ＳN間のネットワーク品質によって生じた誤差と考えられる。すなわち、ＧＭ１−スレーブＳ1〜ＳN間では、ある程度の誤差が生じることは回避不可能であり、伝送誤差成分を多分に含むＧＭ１に対して、各スレーブＳ1〜ＳNが個別に必死に時刻同期をとることに不毛といえる。
【００２５】
（Ｂ）スレーブ群Ｓの各スレーブＳ1〜ＳNは、互いにネットワーク的に近傍に位置しているため、命題（Ａ）が成立するならば、スレーブＳ1〜ＳN中のどのスレーブがＧＭ１と時刻同期をとっても同程度の誤誤差値が計測されるはずである。
【００２６】
（Ｃ）ネットワーク１０を階層構造化する場合、スレーブ群Ｓ中の特定のスレーブを常任のバウンダリークロックノード（サブマスターノード）に選出することに合理性は認められない。
【００２７】
（Ｄ）スレーブ群Ｓの各スレーブＳ1〜ＳNは、ＧＭ１との時刻同期において誤差変動がある場合に誤差補償平滑化を行う必要があるが、該平滑化の計算のための状態変数を個別に持つべきではない。言い換えれば、各スレーブＳ1〜ＳNがすべて同じ状況ならば、同じ状態であるはずといえる。
【００２８】
（Ｅ）ネットワーク１０の誤差は時間によって変動していると考えられるため、前記平滑化のためのサンプリングデータは、時間平均よりも空間平均をとるべきである。
【００２９】
≪前記時刻同期方法の処理内容≫
以下、前記時刻同期方法を説明する。ここでは図１中のネットワーク１０のスレーブ群Ｓが定義（設定）されているものとする。このスレーブ群Ｓの設定は、ネットワーク管理者が静的に設定してもよく、あるいは自動的に設定する方法によってもよいものとする。
【００３０】
その際、各スレーブＳ1〜ＳNについて、自己の所属するスレーブ群Ｓの他のメンバー（スレーブ）をお互いに認識できるように設定するものとする。具体的には前記時刻同期方法は、従来と同様な時刻同期を実行するフェーズ１と、各スレーブＳ1〜ＳNによる輪番同期を実行するフェーズ２とに大別される。以下、フェーズ１，２毎に説明する。
【００３１】
（１）フェーズ１
まず、フェーズ１の時刻同期を説明する。ここではスレーブ群Ｓの各スレーブＳ1〜ＳNは、ＧＭ１とある程度の時刻同期がとれるとこまで、従来通りの方法を実行する。すなわち、ＧＭ１−各スレーブＳ1〜ＳN間でメッセージ（同期パケット）を交換してＧＭ１と直接に時刻同期をとる。
【００３２】
概略を説明すれば、ＧＭ１は「Ｓｙｎｃメッセージ」を各スレーブＳ1〜ＳNに送信し、該送信の時刻ｔ１を記憶する（Ｓ０１）。ここで記憶された時刻ｔ１を含む「Ｆｏｌｌｏｗ＿ｕｐメッセージ」を各スレーブＳ1〜ＳNに送信する（Ｓ０２）。
【００３３】
各スレーブＳ1〜ＳNは、「Ｓｙｎｃメッセージ」を受信し、該受信時刻ｔ２を記録する（Ｓ０３）。また、各スレーブＳ1〜ＳNは、Ｓ０２の「Ｆｏｌｌｏｗ＿ｕｐメッセージ」を受信し、送信元のＧＭ１のアドレスを記憶する（Ｓ０４）。その後に各スレーブＳ1〜ＳNは、ＧＭ１に「Ｄｅｌａｙ＿ｒｅｑメッセージ」を送信し、該送信の時刻ｔ３を記憶する（Ｓ０５）。
【００３４】
ＧＭ１は、各スレーブＳ1〜ＳNから「Ｄｅｌａｙ＿ｒｅｑメッセージ」を受信し、該受信の時刻ｔ４を記憶する（Ｓ０６）。このメッセージ受信が、あらかじめ設定されたタイムアウト時間内であれば、送信元のスレーブＳ1〜ＳNのアドレスを記憶する（Ｓ０７）。ここで記憶したアドレス宛てに時刻ｔ４を含む「Ｄｅｌａｙ＿ｒｅｓｐメッセージ」を送信する（Ｓ０８）。
【００３５】
各スレーブＳ1〜ＳNは、「Ｄｅｌａｙ＿ｒｅｓｐメッセージ」を受信し、該受信メッセージから時刻ｔ４を抽出し（Ｓ０９）、さらに時刻Ｔ１〜ｔ４のタイムスタンプに基づき時刻同期の処理を実行する（Ｓ１０）。すなわち、時刻ｔ１〜ｔ４のタイムスタンプに基づきメッセージ往復の遅延時間と、両者１，Ｓ1〜ＳN間の時刻差（クロックのオフセット）とを算出し、該算出結果に基づき各スレーブＳ1〜ＳNの時刻を補正する。
【００３６】
このＳ０１〜Ｓ１０を繰り返し、ＧＭ１とある程度の時刻同期がとれれば、フェーズ２に移行する。なお、各スレーブＳ1〜ＳNは、同程度の周期でフェーズ１の時刻同期を行う。
【００３７】
（２）フェーズ２
つぎにフェーズ２への移行後の輪番同期を説明する。ここではスレーブ群Ｓで共有する規則（以下、共有規則とする。）において、各スレーブＳ1〜ＳNの時刻同期の順番、即ち時刻同期の当番順が決定される。例えば共有規則においては、ＭＡＣアドレス順などのように当番順を決定することができる。ここで決定された当番順の規則を「時刻同期の当番表」と呼ぶものとする。
【００３８】
そして、前記当番表の当番順にしたがって各スレーブＳ1〜ＳNで交代してＧＭ１との時刻同期が行われる（Ｓ１１）。また、Ｓ１１の時刻同期毎に該時刻同期後のスレーブと他のスレーブとの時刻同期が行われる（Ｓ１２）。
【００３９】
例えばスレーブＳ1が現在の当番であれば、該スレーブＳ1がＧＭ１と時刻同期をとり、ＧＭ１−スレーブＳ1間でＳ０１〜Ｓ１０が実行される（Ｓ１１）。この同期タイミング時に他のスレーブＳ2〜ＳNは、ＧＭ１ではなく、スレーブＳ1に対して時刻同期をとる（Ｓ１２）。ここではＧＭ１をスレーブＳ1と読み替えて、ＧＭ１−スレーブＳ2〜ＳN間でＳ０１〜Ｓ１０が実行される。
【００４０】
このようにフェーズ２の時刻同期によれば、当番のスレーブのみがＧＭ１と直接に時刻同期をとるため（Ｓ１１）、従来のようにＧＭ１に同期パケット（Ｓ０５のメッセージなど）が集中することは無く、ＧＭ１の負荷を軽減することできる。
【００４１】
その結果、ネットワークの同期構造をバウンダリークロックノードなどのサブマスターノードにより階層化する必要がなく、サブマスターノードの事故や精度低下などのノードダウンによる時刻同期の変動を回避できる。
【００４２】
また、Ｓ１２に示すように、当番以外のスレーブは、当番のスレーブと時刻同期をとるため、スレーブ間の時刻同期のばらつき（時刻同期ずれ）を低減することができ、さらにＧＭの再選出という煩雑な手続を回避することもできる。
【００４３】
このときフェーズ２の時刻同期量の平滑化については、Ｓ１１の場合に比較的緩慢に時刻同期させる一方、Ｓ１２の場合に比較的急峻に時刻同期させることが好ましい。この時刻同期量の平滑化によれば、ＧＭ１−スレーブ群Ｓ間のネットワーク誤差変動による影響を緩和しつつ、スレーブＳ1〜ＳNの時刻同期を早期に収束することが可能となる。
【００４４】
ここで特定のスレーブがスレーブ群Ｓを抜けた場合のＳ１１，Ｓ１２の時刻同期を説明する。例えばスレーブＳiが故障などでスレーブ群Ｓから抜けていれば、スレーブＳiに当番が回ってきてもＳ１１の時刻同期は行われない。
【００４５】
また、スレーブＳiは、他のスレーブＳ1〜Ｓ3，ＳNにＳ０１，Ｓ０２のメッセージを送信することができない。したがって、他のスレーブＳ1〜Ｓ3，ＳNは、Ｓ０３，Ｓ０４の処理ができず、Ｓ１２の時刻同期を行うことができない。
【００４６】
そこで、スレーブＳiを除いたスレーブＳ1〜Ｓ3，ＳNのメンバーにて前記当番表の当番順を組み直し、新たな当番順でローテーションを回してＳ１１，Ｓ１２の時刻同期を実行する。この場合、動作的には当番順がずれるだけであり、毎回の処理内容は同じなので、影響は小さいといえる。
【００４７】
一方、新たなスレーブがスレーブ群Ｓに入ってきた場合には、スレーブＳ1〜ＳNと時刻がずれているおそれがある。そこで、新たなスレーブについては、必ずフェーズ１から開始し、ある程度ＧＭ１と時刻同期がとれた段階でフェーズ２に移行させ、スレーブＳ1〜ＳNに新規参加を広告する。この場合には当番表の当番順に新たなスレーブを加えて組み直すだけで対応することができる。
【００４８】
≪実施例≫
図２に基づき前記時刻同期方法の実施例を説明する。ここでは各スレーブＳ1〜ＳNは、内蔵時計（クロック）Ｔ２，同期タスク１１，グループリストＤＢ１２，同期当番表ＤＢ１３を実装し、同期タスク１１によりＳ０３〜Ｓ０５,Ｓ０９〜Ｓ１２が実行されて内蔵時計Ｔ２が調節されている。
【００４９】
その際、同期タスク１１は、前記ＤＢ１２，１３を参照してグループリストおよび当番表に基づきＳ１１，Ｓ１２の輪番同期を実行する。なお、図２中は、前記各構成Ｔ２，１１〜１３は、スレーブＳ1にのみ示されているが、他のスレーブＳ2〜ＳNも同様に構成されているものとする。
【００５０】
（１）グループ設定
まず、管理者Ａが、ネットワーク的に近傍に位置しているスレーブを選抜し、同一グループに設定する。ここではスレーブＳ1〜ＳNが選抜され、スレーブ群Ｓのグループが設定されたものとする。このスレーブのグルーピングには、例えば以下の方法を用いることができる。
【００５１】
・方法１
まず、前記グルーピングの方法１を説明する。ここでは同じ値のグループＩＤをスレーブＳ1〜ＳNに与え、各スレーブスレーブＳ1〜ＳNは自身のグループＩＤをサブネットワーク内で広告する。ここで広告されたメッセージ（グループＩＤ等）を各スレーブＳ1〜ＳNがそれぞれ受信する。
【００５２】
その結果、自身と同じグループＩＤを持つネイバーを発見したら、そのスレーブの個体識別子（例えばＩＰアドレス，ＭＡＣアドレス，ノードＩＤなど）をグループリストに記述し、該グループリストを前記ＤＢ１２に保存する。これにより同一グループに所属するスレーブ（例えばスレーブＳ1〜ＳN）は、すべて同じグループリストを保持することができる。
【００５３】
・方法２
つぎに前記グルーピングの方法２を説明する。ここでは管理者Ａが、同一グループに所属するスレーブの個体識別子を各スレーブ（例えばスレーブＳ1〜ＳN）に設定すればよい。この方法２は、管理者Ａの手動によるグルーピングであり、方法１よりも手間がかかる。
【００５４】
（２）当番表の作成
各スレーブＳ1〜ＳNは、起動後暫くは前記（１）の作業に専念し、所定時間の経過後はグループリストが完成したものとみなして、前記当番表を作成する。この所定時間の長さは仕様などに応じて管理者Ａが任意に定めることができ、その間に各スレーブＳ1〜ＳNはフェーズ１の時刻同期（Ｓ０１〜Ｓ１０）を実行することができる。
【００５５】
そして、前記当番表によりメンバー（スレーブＳ1〜ＳN）が輪番でＧＭ１と時刻同期（Ｓ１１）をとる順番（順序）とタイミングとが決定される。ここで前記当番表の作成手順を説明すれば、まず共有規則にしたがって順番を決定する。例えば共有規則には以下の規則を用いることができる。
（Ａ）メンバーの個体識別番号の昇順／降順。
（Ｂ）別途設定されたメンバーの優先度（同一優先度のメンバー同士は個体識別番号の昇順／降順とする。）。
（Ｃ）固定の順番を決定せず、ランダムバックオフによる方法。
【００５６】
つぎにＧＭ１と時刻同期（Ｓ１１）をとるタイミングを決定する。このときフェーズ１の時刻同期（Ｓ０１〜Ｓ１０）により、各スレーブＳ1〜ＳNの時刻はある程度同期されている。
【００５７】
したがって、前記順番にタイムスロット（時間間隔）を割り当てることにより、交代でＧＭ１と同期をとることが可能である。割り当てられるタイムスロットの長さは管理者が設定し、グループ内のメンバー間でタイムスロットの長さが不均一であれば、最も長いタイムスロットに合わせるものとする。
【００５８】
なお、前記順番とタイムスロットは共有規則によって決定され、例えばクロックの秒の値がゼロの瞬間を起点と捉え、そこからＮ秒は最初の当番のスレーブが時刻同期し、次のＮ秒は次の当番のスレーブが時刻同期するというように決定される。
【００５９】
（３）輪番同期の動作
フェーズ２の輪番同期を開始した後の動作を説明する。ここではスレーブＳ1〜ＳN中、あるタイムスロットＴにおける当番をスレーブＳＴとし、スレーブＳＴの次の当番をスレーブＳＴ＋１とする。
【００６０】
このタイムスロットＴにおいては、スレーブＳＴのみがＧＭ１と時刻同期をとる（Ｓ１１）。このとき他のスレーブ（スレーブＳＴ以外のスレーブ）は、スレーブＳＴに対して時刻同期をとる（Ｓ１２）。
【００６１】
このタイムスロットＴが過ぎて、タイムスロットＴ＋１となれば、当番表の次の当番のスレーブＳＴ＋１がＧＭ１と時刻同期をとる（Ｓ１１）。また、他のスレーブ（スレーブＳＴ＋１以外のスレーブ）は、スレーブＳＴ＋１と時刻同期をとる（Ｓ１２）。
【００６２】
（４）新規加入スレーブの処理方法
フェーズ２の輪番同期開始後にスレーブ群Ｓに新たなスレーブが加入（参入）した場合には、前述のように当番表を更新する。
【００６３】
このとき当番表の更新タイミングにずれが生じるおそれがあるが、スレーブＳ1〜ＳNの時刻同期には殆ど影響しない。なぜならば、当番表の更新のずれが生じたとしても、新規加入のスレーブと更新前の旧当番スレーブとが同じタイムスロットでＧＭ１と時刻同期をとるだけであり、ＧＭ１の負荷が一時的に増加する点を除き影響はない。
【００６４】
（５）離脱ノードの処理方法
例えば故障などで当番表のメンバーを構成するスレーブＳ1〜ＳNが離脱した場合の対応方法の詳細を説明する。ここでは離脱したメンバーをスレーブＳＬとする。
【００６５】
このスレーブＳＬのタイムスロットが訪れたときは、本来ならばスレーブＳＬがＧＭ１と時刻同期をとり（Ｓ１１）、他のスレーブ（スレーブＳＬ以外のスレーブ）がスレーブＳＬと時刻同期をとる（Ｓ１２）。
【００６６】
しかしながら、他のスレーブは、前述のようにスレーブＳＬからＳ０１，Ｓ０２のメッセージを受信不能なため、Ｓ１２の時刻同期を行うことができない。この場合に他のスレーブは、前回のＳ１２の時刻同期から所定時間経過後に以下のリカバリーを実施する（所定時間の値は、事前に管理者Ａにより定めることができる。）。
【００６７】
具体的にはスレーブＳＬの前後のスレーブ、即ちスレーブＳＬ−１又はスレーブＳＬ＋１がスレーブＳＬの代わりにＳ１１，Ｓ１２の時刻同期を実施する。そして、次のタイムスロットが訪れれば、通常とおり当番表に基づいて時刻同期を始める。このとき前記リカバリーによれば、スレーブＳＬ−１又はスレーブＳＬ＋１は、２スロット連続でＧＭ１と時刻同期をとることとなる。
【００６８】
その後に当番表の当番順が進んで再度スレーブＳＬの当番が訪れた場合にスレーブＳＬとＳ１２の時刻同期ができなければ、リカバリーを再度実施する。この状態、即ちスレーブＳＬの当番放棄がＮ回以上連続した場合には、スレーブＳＬは失踪（ロスト）したものと判断し、当番表を更新する。この「Ｎ」の値も、あらかじめ管理者Ａに設定されているものとする。
【００６９】
なお、本発明は、上記実施形態に限定されるものではなく、各請求項に記載された範囲内で変形して実施することができる。例えば離脱ノード（例えばスレーブＳＬなど）が生じ場合に当番表を更新せずにリカバリーを継続的に実施してもよい。
【符号の説明】
【００７０】
１…ＧＭ
１０…ネットワーク
１１…同期タスク
１２…グループリストＤＢ
１３…同期当番表ＤＢ
Ａ…管理者
Ｓ…スレーブ群（スレーブ同期グループ）
Ｓ1〜ＳN…スレーブノード
Ｔ１，Ｔ２…内蔵クロック（時計）
【図１】
2018117227.tif 000003
【図２】
2018117227.tif 000004
【図３】
2018117227.tif 000005
【図４】
2018117227.tif 000006