(57)【要約】      （修正有）【課題】伝送時間の変動の影響を抑えて時刻同期の精度の向上を図る。【解決手段】ネットワーク上のノード間にパケットを往復させ、パケットの往路と復路の伝送時間の平均値と事前に求められた最小の平均値との時間差の絶対値を算出する（Ｓ１３）。算出された絶対値を閾値と比較して絶対値が同期判定よりも小さければ測定情報と判定し、１回目の測定情報と２回目の測定情報とを取得する（Ｓ１４〜Ｓ１８）。この１回目の測定情報と２回目の測定情報とを加算した加算結果を同期時の補正調整量を判定するための推定精度とする（Ｓ２０）。【選択図】図３
2020017940.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上のノード間でパケットを往復させて、各ノードの時刻を同期させる時刻同期の方式であって、
前記ノードが、前記パケットの往路と復路の伝送時間の平均値と、事前に求められた最小の前記平均値との時間差の絶対値を算出し、
算出された前記絶対値を閾値と比較し、前記絶対値が閾値よりも小さければ測定情報と判定し、
１回目の前記測定情報と２回目の前記測定情報とを加算した加算結果を前記同期時の補正調整量を判定するための推定精度とする
ことを特徴とする時刻同期方式。
【請求項２】
前記推定精度を順次に算出し、算出された推定精度に基づき次回の前記閾値を算出することを特徴とする請求項１記載の時刻同期判定方式。
【請求項３】
前記各測定情報の測定間隔には、事前に設定された間隔が設けられていることを特徴とする請求項１または２記載の時刻同期方式。
【請求項４】
前記絶対値が事前に定められた回数に亘って連続して前記閾値よりも小さくなければ、
前記閾値の値を前記絶対値に基づき設定することを特徴とする請求項２または３記載の時刻同期方式。
【請求項５】
前記各絶対値を保存し、
前記保存された前記絶対値群の最小値を前記閾値に設定することを特徴とする請求項４記載の時刻同期方式。
【請求項６】
前記ノード間の往復時間の差分が有効範囲を越えた場合には事前に定められた回数分を前記測定値として採用しない
ことを特徴とする請求項１〜５のいずれかに記載の時刻同期方式。
【請求項７】
ネットワーク上でパケットを往復させて時刻を同期させる通信機器であって、
前記パケットの往路と復路の伝送時間の平均値と、事前に求められた最小の前記平均値との時間差の絶対値を算出し、
算出された前記絶対値を閾値と比較し、前記絶対値が前記閾値よりも小さければ測定情報と判定し、
１回目の前記測定情報と２回目の前記測定情報とを加算した加算結果を前記同期時の補正調整量を判定するための推定精度とする
ことを特徴とする通信機器。
【請求項８】
ネットワーク上の各ノード間でパケットを往復させて、各ノードの時刻を同期させる時刻同期の方法であって、
前記パケットの往路と復路の伝送時間の平均値と、事前に求められた最小の前記平均値との時間差の絶対値を算出する絶対値算出ステップと、
算出された前記絶対値を閾値と比較し、前記絶対値が前記閾値よりも小さければ測定情報と判定する測定情報判定ステップと、
１回目の前記測定情報と２回目の前記測定情報とを加算した加算結果を前記同期時の補正調整量を判定するための推定精度とする推定精度算出ステップと、
を有することを特徴とする時刻同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＴＰ（Ｐｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）に準拠した時刻同期方式、通信機器、時刻同期方法に関する。
【背景技術】
【０００２】
「ＰＴＰ」による時刻同期は、装置（ノード）間で時刻を配信することにより各ノードの時刻を同期させている。ここでは「ＰＴＰ」パケットを往復させることで、ネットワーク上のグランドマスタークロック（以下、「ＧＭ」とする。）などの基準時計と各装置の時計との時間差を算出し、算出された時間差に基づき時刻を補正する。このパケットの送受信タイミングの測定をハードウェアにより実施することで高精度が可能である。
【０００３】
「ＰＴＰ」の時刻同期は、例えばロボット間の時刻同期や継電器の時刻同期などに利用されている。特許文献１を一例に説明すれば、ターゲットを複数ロボットでトラッキングする際の時刻同期に「ＰＴＰ」が利用されている。具体的には、まず複数ロボット群の各マスター装置を「ＧＭ」に時刻同期させ、つぎに時刻同期後のマスター装置に各ロボット群のスレーブ装置を時刻同期させている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−２１１８５１
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前述のように「ＰＴＰ」の時刻同期の際、ネットワーク上の装置は「ＧＭ」と「ＰＴＰ」パケットを往復させる通信を実行する。この往復の時間差に基づき正しい時間を算出して時刻を補正するが、これは往路と復路の伝送時間が等しいことを前提条件とする。
【０００６】
ここで「ＰＴＰ」対応の通信機器がネットワークに使用されていれば、伝送時間の変動は補正されるものの、ＰＴＰ未対応の通信機器では伝送時間の遅延した変動の「１／２」が測定誤差とされる。この誤差は時刻の進みの方向と時刻の遅れの方向にそれぞれ現れるため、当該誤差の幅は伝送時間の差異に等しい。したがって、ＰＴＰ対応の通信機器により前記誤差が補正されれば、時刻は正確となる。
【０００７】
しかしながら、「ＰＴＰ」対応の通信機器のみでネットワークを構築できるとは限らず、通常は「ＰＴＰ」未対応の通信機器の存在を想定して時計を調整している。この時計の調整方法としては、サーボ制御（「ＰＩＤ」制御）がよく使用されている。
【０００８】
すなわち、時計の調整にて誤差を含んだ制御を行うと大きく変動してしまうため、サーボ制御による「ＰＩＤ」制御の「Ｐ（比例）」を小さくして大きな外乱とならないようにする。これは時間をかけて平均化しているのと同じであり、時計調整に時間がかかるのが欠点である。また、「ＰＴＰ」パケットの往路と帰路とで伝送時間の分布が不均一であれば、正しい時刻からずれた時刻となってしまう。
【０００９】
したがって、サーボ制御では、現在の時計の精度を算定することは困難であり、またサーボ制御のパラメータが適切だとしても正しい時間との誤差は最大変動の「１／２」とするしかない。そうすると、正しい時刻に設定する観点からすれば、単純なサーボ制御では無理があり、特に高精度を要求されるシステムでは問題が生じるおそれがある。
【００１０】
本発明は、このような従来の問題を解決するためになされ、伝送時間の変動の影響を抑えて時刻同期の精度の向上を図ることを解決課題としている。
【課題を解決するための手段】
【００１１】
（１）本発明の一態様は、ネットワーク上のノード間でパケットを往復させて、各ノードの時刻を同期させる時刻同期の方式であって、
前記ノードが、前記パケットの往路と復路の伝送時間の平均値と、事前に求められた最小の前記平均値との時間差の絶対値を算出し、
算出された前記絶対値を閾値と比較し、前記絶対値が前記同期判定よりも小さければ測定情報と判定し、
１回目の前記測定情報と２回目の前記測定情報とを加算した加算結果を前記同期時の補正調整量を判定するための推定精度とする。
【００１２】
（２）本発明の他の態様は、ネットワーク上でパケットを往復させて時刻を同期させる通信機器であって、
前記パケットの往路と復路の伝送時間の平均値と、事前に求められた最小の前記平均値との時間差の絶対値を算出し、
算出された前記絶対値を閾値と比較し、前記絶対値が前記同期判定よりも小さければ測定情報と判定し、
１回目の前記測定情報と２回目の前記測定情報とを加算した加算結果を前記同期時の補正調整量を判定するための推定精度とする。
【００１３】
（３）本発明のさらに他の態様は、ネットワーク上の各ノード間でパケットを往復させて、各ノードの時刻を同期させる時刻同期の方法であって、
前記パケットの往路と復路の伝送時間の平均値と、事前に求められた最小の前記平均値との時間差の絶対値を算出する絶対値算出ステップと、
算出された前記絶対値を閾値と比較し、前記絶対値が前記同期判定よりも小さければ測定情報と判定する測定情報判定ステップと、
１回目の前記測定情報と２回目の前記測定情報とを加算した加算結果を前記同期時の補正調整量を判定するための推定精度とする推定精度算出ステップと、を有する。
【発明の効果】
【００１４】
本発明によれば、伝送時間の変動の影響を抑えて時刻同期の精度の向上を図ることができる。
【図面の簡単な説明】
【００１５】
【図１】（ａ）はＰＴＰハブのみで機器間を中継したネットワーク構成図、（ｂ）は（ａ）のＰＴＰハブ間を通常ハブで中継したネットワーク構成図。
【図２】実施例１の起動時の処理を示すフローチャート。
【図３】同  時刻同期の全体処理を示すフローチャート。
【図４】図３のＳ１５の詳細を示すフローチャート。
【図５】図３のＳ１７（ＨＹＢＲＩＤ方式）の詳細を示すフローチャート。
【図６】図３のＳ２１の詳細を示すフローチャート。
【図７】強制失敗カウントによる時刻同期精度への影響抑制を示す説明図。
【図８】閾値設定による時刻同期の精度向上を示す説明図。
【図９】図３のＳ１７の他例（ＬＩＮＥＲ方式）を示すフローチャート。
【図１０】（ａ）はＶＬＡＮ二重化におけるＰＴＰハブ接続を示すネットワーク構成図、（ｂ）はＰＴＰハブを経由したＶＬＡＮ二重化におけるＰＴＰハブ接続を示すネットワーク構成図。
【図１１】実施例２の起動時の処理を示すフローチャート。
【図１２】同  時刻同期の全体処理を示すフローチャート。
【図１３】図１２のＳ８５の詳細を示すフローチャート。
【図１４】図１２のＳ８７（ＨＹＢＲＩＤ方式）の詳細を示すフローチャート。
【図１５】図１２のＳ９５の詳細を示すフローチャート。
【図１６】図１３のＳ１０５および図１４のＳ１２５の詳細を示すフローチャート。
【図１７】図１５のＳ１４４の詳細を示すフローチャート。
【図１８】図１２のＳ８７の他例（ＬＩＮＥＲ方式）を示すフローチャート。
【図１９】（ａ）はＰＴＰハブのみの単一ＶＬＡＮの接続構成図、（ｂ）はＰＴＰハブ間を冗長化した通常ハブを経由した単一ＶＬＡＮの接続構成図、（ｃ）は（ｂ）の構成図における異常発生を示す図。
【図２０】（ａ）はＶＬＡＮ二重化におけるＰＴＰハブの接続構成図、（ｂ）は冗長化した通常ハブを経由したＶＬＡＮ二重化のＰＴＰハブの接続構成図、（ｃ）は（ｂ）の接続構成図における異常発生を示す図。
【図２１】閾値設定による時刻同期の精度向上を示す説明図。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態を説明する。ここで本発明は、ネットワーク上のノード間でパケットを往復させ、各ノードの時刻を同期させるＰＴＰの時刻同期を主な実施形態とする。
【００１７】
（１）ＰＴＰは、利用環境をＬＡＮに制限することで高精度な時刻同期を得るために作られた比較的新しいプロトコルであり、ＰＴＰの仕様はＩＥＥＥ１５８８として定められている。
【００１８】
このＰＴＰでは、前述のように「ＧＭ」が高精度な時刻の配信を行い、配信された時刻をスレーブが受け取る。具体的には「ＧＭ」が、スレーブに「Ｓｙｎｃメッセージ（同期メッセージ）」を送信した時刻をｔ１とする。
【００１９】
つぎにスレーブが、前記メッセージを受信した時刻をｔ２とする。また、スレーブが、「ＧＭ」に「Ｄｅｌａｙ＿ｒｅｑメッセージ（遅延要求メッセージ）」を送信した時刻をｔ３とする。
【００２０】
この「Ｄｅｌａｙ＿ｒｅｑメッセージ」を「ＧＭ」が受信すれば、受信時刻をｔ４とする。また、「ＧＭ」は、時刻ｔ４を含む「Ｄｅｌａｙ＿Ｒｅｓｐメッセージ（遅延応答メッセージ）」をスレーブに送信する。ここまでを「ＰＴＰ」パケットの１ステップとする。
【００２１】
ここで伝送時間「Ｔ１（往路）」と伝送時間「Ｔ２（復路）」とが同じであれば、スレーブ装置と「ＧＭ」との時間差は、「時間差＝｛（ｔ２−ｔ１）−（ｔ４−ｔ３）｝／２」で算出される。算出された時間差を使ってスレーブ装置の時刻補正が行われる。なお、オプションとして時刻ｔ１を含む「Ｆｏｌｌｏｗ＿ｕｐメッセージ」を「ＧＭ」からスレーブに送信してもよい。この場合にスレーブは、そのメッセージから時刻ｔ１を抽出することができる。
【００２２】
このようなＰＴＰによれば、ネットワークインターフェースチップの「ＭＡＣ」や「ＰＨＹ」に実装されたハードウェアタイムスタンプ機能を使って、マイクロ秒ＲＭＳ以下のタイムスタンプ精度を実現することができる。
【００２３】
（２）現在、ＰＴＰのプロトコルには２バージョンが存在する。このうち「Ｖｅｒｓｉｏｎ１」では大規模な展開を行うためにセグメントを区切る「Ｂｏｕｎｄａｒｙ  Ｃｌｏｃｋ（ＢＣ）」が用意されている。一方、「Ｖｅｒｓｉｏｎ２」では遅延管理機能を持つスイッチングハブ「Ｔｒａｎｓｐａｒｅｎｔ  Ｃｌｏｃｋ（ＴＣ）」が用意され、より柔軟で精度の高い展開が可能となっている。
【００２４】
ここでＰＴＰハブは、ＰＴＰに準拠したＬ２スイッチングハブ（Ｌ２スイッチ）の態様をなす通信機器（ネットワーク機器）に関し、前記ＰＴＰ機能（ＴＣ）を備えている。このＰＴＰハブは、「ＧＭ」と高精度の時刻同期が可能であり、さらにＰＴＰハブ同士を接続した場合にＰＴＰハブ間でＰＴＰパケットを交換してＰＴＰハブ群から自動的にマスターを選出し、該マスターのＰＴＰハブの時刻に他のＰＴＰハブを時刻同期させることもできる。
【００２５】
このときマスターとなったＰＴＰハブは、時刻同期を維持するために他のＰＴＰハブに対して一定周期でＰＴＰパケットを送信する。また、すべてのＰＴＰハブは、オリジナル機能としてＰＴＰハブ内部の状態情報（ＰＴＰ情報パケット）を一定時間ごとにＰＴＰ以外の周辺に通知することもできる。
【００２６】
（３）ＰＴＰハブは、ＩＥＥＥ１５８８の時刻同期方式として一般的に使用されているサーボ（ＳＥＲＶＯ）制御方式だけでなく、時刻同期の際に２回の測定から時刻補正の調整量を算出するＬＩＮＥＲ方式の機能も実装することができる。
【００２７】
このＬＩＮＥＲ方式は、サーボ制御方式と比較して時刻同期を高速化かつ正確化することができるものの、ＰＴＰハブ同士を接続したネットワークを想定している。
【００２８】
したがって、ＰＴＰハブ間にＰＴＰ機能を持たない通常のスイッチングハブ（以下、通常ハブとする。）を中継したときには、通常ハブにおいて送信中のパケットが送信完了するまでの待ち時間と、通常ハブがパケットを転送処理する時間が必要となる。
【００２９】
この両時間は変動しており、「数μｓｅｃ〜数十μｓｅｃ」の変動となる場合が生じ、これにより時刻同期が安定せず、精度を維持できないおそれがある。この実施形態は、主にＰＴＰハブと通常ハブとが混在した場合の時刻同期精度の品質向上を図っている。なお、各実施例で使用される主な用語の定義は次のとおりとする。
【００３０】
（Ａ）Ｍｅａｎｐａｔｈ：まず、マスターのＰＴＰハブの送信ポートからスレーブのＰＴＰハブの受信ポートまでの経過時間を求め、求めた経過時間から通過した全てのＰＴＰハブ内の経過時間を除いた時間、即ちマスター・スレーブ間（往路）の伝送時間Ｔ１を算出する。つぎにスレーブ・マスター間（復路）の伝送時間Ｔ２を同様に算出し、それぞれ算出された伝送時間Ｔ１，Ｔ２の平均値を「Ｍｅａｎｐａｔｈ」とする。
【００３１】
（Ｂ）機器固有の遅延変動幅：つぎにスイッチングハブにおいてパケットの転送にかかる時間は、伝送速度およびパケットサイズが同じでも変動しており、その変動幅を機器固有の遅延変動幅という。この遅延変動幅の値は、使用する通信機器により異なるため、機器固有の値となる。
【００３２】
≪実施例１≫
図１〜図１０に基づき実施例１を説明する。
【００３３】
（１）ネットワーク構成
図１に基づきネットワーク構成例を説明する。図１（ａ）（ｂ）中の１ａ〜６ａはＰＴＰハブを示している。
【００３４】
具体的には図１（ａ）は、機器１ｃ〜６ｃ間をＰＴＰハブ１ａ〜６ａのみで機中継したネットワーク構成を示している。ここではマスターのＰＴＰハブ２ａにスレーブのＰＴＰハブ１ａ，３ａがダイレクトに接続され、さらにＰＴＰハブ３ａを介してＰＴＰハブ４ａ〜６ａが接続されている。
【００３５】
また、図１（ｂ）は、機器１ｃ〜６ｃの接続されたＰＴＰハブ１ａ〜６ａ間を通常ハブ１ｂ〜５ｂで接続したネットワーク構成を示している。ここではマスターのＰＴＰハブ２ａとスレーブのＰＴＰハブ１ａ，３ａとの間を通常ハブ１ｂ，２ｂで中継し、さらにスレーブのＰＴＰハブ３ａ〜５ｂ間をそれぞれ通常ハブ４ｂ，５ｂで中継している。
【００３６】
ここでは前記各ＰＴＰハブ１ａ〜６ａは、それぞれ機器１ｃ〜６ｃまたは他のＰＴＰハブ１ａ〜６ａに転送する機能（受信したＰＴＰパケットは透過機能を使用）が有効に設定されている。一方、通常ハブ１ｂ〜６ｂは、前記ＰＴＰ機能を持たないため、パケットの転送のみを実行する。以下、各実施例に基づき具体的な処理内容を説明する。なお、各実施例で使用される主な用語の定義は次のとおりとする。
【００３７】
（２）全体処理
図３に基づき実施例１の全体処理を説明する。ここでは主に図１（ｂ）のネットワーク構成、即ちＰＴＰハブ１ａ〜６ａ間を通常ハブ１ｂ〜５ｂで中継させた場合の時刻同期方式への適用例を説明する。この場合の時刻同期方式を「ＨＹＢＲＩＤ方式」と呼ぶ。
【００３８】
このときＰＴＰハブ１ａ〜６ａについては、図２の起動時処理が済んでいるものとする。この起動時処理は、ＰＴＰハブ１ａ〜６ａを起動した状態において、ＰＴＰハブ１ａ〜６ａの設定コマンドを使って、外部から「Ｍｅａｎｐａｔｈ」保存数Ｄ１，強制失敗カウントＤ２，機器固有遅延変動幅Ｄ３，時刻同期方式（ＨＹＢＲＩＤ方式  ＯＲ  ＬＩＮＥＲ方式）Ｄ４を入力して初期設定ファイルＦ１に保存しておくものとする（Ｓ０１）。
【００３９】
これによりＰＴＰハブ１ａ〜６ａは、次回起動時に初期設定ファイルＦ１を読み込んで、前記各データＤ１〜Ｄ４を内部データとしてセットする（Ｓ０２）。また、ＰＴＰハブ１ａ〜６ａは、保存された「Ｍｅａｎｐａｔｈ」Ｄ５の測定値，「Ｍｅａｎｐａｔｈ」の最小値（以下、最小「Ｍｅａｎｐａｔｈ」Ｄ６とする。），データ保存禁止フラグＦ２をクリアする（Ｓ０３）。この起動時処理の完了を前提に実施例１の処理が実行される。以下、具体的な処理内容を説明する。
【００４０】
Ｓ１１，Ｓ１２：処理が開始されると、時刻同期の処理方式Ｄ４を確認する。この処理方式Ｄ４は、メーカの初期設定やユーザの設定などにより事前にＰＴＰハブ１ａ〜６ａに設定されているものとする。
【００４１】
前記確認の結果、処理方式Ｄ４が「ＨＹＢＲＩＤ方式」以外の場合には従来のＰＴＰハブの処理を実行し（Ｓ１２）、Ｓ２１の「Ｍｅａｎｐａｔｈ」保存処理を経て処理を終了する。一方、処理方式Ｄ４が「ＨＹＢＲＩＤ方式」の場合にはＳ１３以降の処理に進む。
【００４２】
Ｓ１３：まず、今回の時刻同期で送受信されたＰＴＰパケットについて「Ｍｅａｎｐａｔｈ」を算出し、さらに最小「Ｍｅａｎｐａｔｈ」Ｄ６を読み込む。
【００４３】
つぎに今回算出した「Ｍｅａｎｐａｔｈ」と最小「Ｍｅａｎｐａｔｈ」と差を算出し、その絶対値を保存する。すなわち、（今回の「Ｍｅａｎｐａｔｈ」−最小「Ｍｅａｎｐａｔｈ」）の絶対値を求め、その結果を「Ｍｅａｎｐａｔｈ差異（以下、ＭＰ差異）」Ｄ７として保存する。なお、最小「Ｍｅａｎｐａｔｈ」の値は、随時更新されるものとし、また初期値に固定値を用いてもよい。
【００４４】
Ｓ１４〜Ｓ１７：１回目の測定か否かを確認する（Ｓ１４）。ここではＳ１３の「Ｍｅａｎｐａｔｈ」の算出が１回目か否か確認される。この確認の結果、１回目であればＳ１５の１回目測定時処理を経てＳ１８に進む一方、Ｓ１４の確認の結果、１回目でなければＳ１６に進む。
【００４５】
すなわち、Ｓ１６ではＳ１３の「Ｍｅａｎｐａｔｈ」の算出が２回目か否か確認される。この確認の結果、２回目であればＳ１７の２回目測定時処理を経てＳ１８に進む一方、２回目でなければＳ２１の「Ｍｅａｎｐａｔｈ」保存処理を経て終了する。
【００４６】
Ｓ１８：２回目の測定が完了しているか否かが確認される。すなわち、Ｓ１３の「Ｍｅａｎｐａｔｈ」の算出が２回完了しているか否かが確認される。この確認の結果、完了していればＳ１９に進む一方、完了していなければＳ２１の「Ｍｅａｎｐａｔｈ」保存処理を経て終了する。
【００４７】
Ｓ１９〜Ｓ２１：まず、従来のＰＴＰハブの処理、即ち水晶の傾きの計算を実行する（Ｓ１９）。ここではマスターとスレーブとが内部時計として使用する水晶発振器の時間単位の誤差を水晶の傾きとして算出する。
【００４８】
つぎに１回目の測定情報（１回目測定のＭＰ差異Ｄ７−１）と２回目の測定情報（２回目測定のＭＰ差異Ｄ７−２）とを加算し、加算結果を推定精度Ｄ８として保存し（Ｓ２０）、Ｓ２１の「Ｍｅａｎｐａｔｈ」保存処理を経て終了する。
【００４９】
なお、「Ｍｅａｎｐａｔｈ」の値は、測定誤差として推定精度Ｄ８と比較判定され、推定精度Ｄ８が測定誤差よりも大きくなければ「Ｍｅａｎｐａｔｈ」が時刻補正に使用される一方、大きくなければ時刻補正に使用されない。
【００５０】
（３）１回目測定時処理
図４に基づきＳ１５の１回目測定時処理、即ちＳ１４で１回目の測定と確認された後の処理内容の詳細を説明する。
【００５１】
Ｓ３１：処理が開始されると推定精度Ｄ８の絶対値に機器固有遅延変動幅Ｄ３を加算し、加算後に１／２を乗じた値を同期判定値Ｄ９として保存する。なお、Ｓ２０の算出前の推定精度には初期値として固定値を用いてもよい。
【００５２】
Ｓ３２，Ｓ３３：Ｓ３１の同期判定値Ｄ９を閾値としてＳ１３のＭＰ差異Ｄ７と比較し、「同期判定値Ｄ９＞ＭＰ差異Ｄ７」が成立するか否かを判定する（Ｓ３２）。この判定の結果、成立すればＭＰ差異Ｄ７を１回目測定ＭＰ差異Ｄ７−１として保存する（Ｓ３３）。一方。成立しなければ判定異常としてＳ３４に進む。
【００５３】
Ｓ３４，Ｓ３５：推定精度にＰＴＰハブ１ａ〜６ａの内部時計に使用する水晶の傾き相当の時間を加算する（Ｓ３４）。
【００５４】
ここでＰＴＰ時刻同期は、前述のようにマスターとスレーブとが内部時計として使用する水晶発振器の時間単位の誤差を、毎回水晶の傾きとして算出し、これを正確に補正することにより高精度の時刻同期が可能なっている。
【００５５】
ところが、その水晶の傾きが算出できない場合もあり、そのときに代用する水晶の傾きの概算値を水晶の傾き相当の値（時間）と呼ぶ。例えば経験値として「１２０ｎｓｅｃ」の値などを用いることができる。なお、Ｓ３４の処理の後、データ保存禁止フラグＦ２を立てて（Ｓ３５）、処理を終了する。
【００５６】
（４）２回目測定時処理
図５に基づきＳ１７の２回目測定時処理、即ちＳ１６で２回目の測定と確認された後の処理内容の詳細を説明する。
【００５７】
Ｓ４１，Ｓ４２：処理が開始されると、Ｓ３１と同様に推定精度Ｄ８の絶対値に機器固有遅延変動幅Ｄ３を加算し、加算後に１／２を乗じた値を同期判定値Ｄ９として保存する（Ｓ４１）。また、Ｓ３２と同様にＳ４１の同期判定値Ｄ９とＭＰ差異Ｄ７とを比較し、「同期判定値Ｄ９＞ＭＰ差異Ｄ７」が成立するか否かを判定する（Ｓ４２）。この判定の結果、成立すればＳ４３〜Ｓ４５に進む一方、成立しなければ異常判定としてＳ４６〜Ｓ４８に進む。
【００５８】
Ｓ４３〜Ｓ４５：現在の失敗カウンタＤ１０の値（Ｓ４２の異常判定の回数）が、強制失敗カウントＤ２の値を越えているか否か確認する（Ｓ４３）。この確認の結果、越えていなければＳ４６に進む一方、越えていればＭＰ差異Ｄ７を２回目測定ＭＰ差異Ｄ７−２として保存し（Ｓ４４）、失敗カウンタＤ１０の値をクリアして（Ｓ４５）、処理を終了する。
【００５９】
Ｓ４６〜Ｓ４８：まず、今回の異常判定（Ｓ４２）を失敗カウンタＤ１０の値に反映させるため、失敗カウンタＤ１０の値を「＋１」加算する（Ｓ４６）。つぎにＳ３４と同様に推定精度にＰＴＰハブ１ａ〜６ａの内部時計に使用する水晶の傾き相当の時間を加算し（Ｓ４７）、その後にデータ保存禁止フラグＦ２を立てて処理を終了する。
【００６０】
（５）「Ｍｅａｎｐａｔｈ」保存処理
図６に基づきＳ２１の「Ｍｅａｎｐａｔｈ」保存処理を説明する。まず、処理が開始されるとデータ保存禁止か否か、即ちデータ保存禁止フラグＦ２が立っているか否かを確認する（Ｓ５１）。
【００６１】
この確認の結果、データ保存禁止であればデータ保存禁止フラグＦ２をクリアして（Ｓ５２）処理を終了する。つぎに確認の結果、データ保存禁止でなければ今回の「Ｍｅａｎｐａｔｈ」を最新「Ｍｅａｎｐａｔｈ」の２０個として保存する（Ｓ５３）。ここで保存された２０個の最新「Ｍｅａｎｐａｔｈ」を保存データＤ５と呼ぶ。なお、保存データＤ５中から最小「Ｍｅａｎｐａｔｈ」Ｄ６が選択され（Ｓ５４）、次回以降のＰＴＰパケットの送受信時にＳ１３の処理に用いられる。
【００６２】
（６）強制失敗カウントによる時刻同期精度への影響抑制
図７に基づきＳ４３の強制失敗カウントＤ２による効果、即ちＰＴＰの時刻同期精度への影響を説明する。図７中の円柱群Ｓのそれぞれは、ＰＴＰハブのみを使用した場合（例えば図１（ａ）のネットワーク構成）の「Ｍｅａｎｐａｔｈ」の値を示している。
【００６３】
ここでは１回目の測定と２回目の測定とは、共に安定した値Ｓ１，Ｓ２を示し、式１の計算により高精度に水晶の傾きを算出することができる。
式１：水晶の傾き＝（２回目「Ｍｅａｎｐａｔｈ」−１回目「Ｍｅａｎｐａｔｈ」）／１回目と２回目との経過時間
しかしながら、例えば図１（ｂ）に示すように、ＰＴＰハブ間に通常ハブを中継した場合の「Ｍｅａｎｐａｔｈ」は、図７中の奇数の星形（ａ１，ａ３，ａ５，ａ７，ａ９，ａ１１，ａ１３，ａ１５，ａ１７，ａ１９）と、偶数の星形（ａ２，ａ４，ａ６，ａ８，ａ１０，ａ１２，ａ１４，ａ１６，ａ１８，ａ２０）とを結んだ矢印Ｐ１〜Ｐ１０（上向きは正，下向きは負）の変動幅、即ち水晶の傾きとなり、大きな誤差を与えて時刻同期が不安定となるおそれがある。
【００６４】
この矢印Ｐ１〜Ｐ１０の変動を抑制するため、図７中のＸ１に示す１回目の測定後は１０回分の測定間隔をおいて２回目の測定を行う。すなわち、強制失敗カウントＤ２の値が「１０」に設定され、Ｓ４６に示すように、１回目の測定後は失敗カウンタＤ１０を「＋１」加算する。そして、Ｓ４３に示すように、失敗カウンタ１０が強制失敗カウントＤ２の値を越えたときを２回目の測定とする。
【００６５】
ただし、１回目の測定および２回目の測定と判定されるためには、Ｓ４２の判定式をクリアしていなければならない。一方、Ｓ４２の判定式をクリアしてもＳ４３の条件が成立しなければ、失敗カウンタＤ１０が加算されるにすぎない。
【００６６】
言い換えれば２回目の測定とする否かについて、強制的に１０回連続で不採用として少なくとも１０回分の測定間隔の時間を空けている。したがって、１回目の測定から１０回の測定後に最初に判定式をクリアしたときに２回目の測定の条件が満たされる。なお、強制的に時間を空ければよいので、１回目の測定と２回目の測定との判定にＳ４２の判定式以外の方法を用いてもよい。
【００６７】
図７中のＸ２は、１回目の測定から１０回の測定後にＳ４３の判定式が成立した２回目の測定値を示している。また、図７中の矢印Ｑは、２回目の測定値Ｘ２の誤差を示している。ここで式１を計算すると１０回分の測定時間が経過したことで含まれる誤差を「１／１０」に抑えることができ、時刻同期の変動幅が小さく正確性が向上する。
【００６８】
このＳ４３の対策は、通常ハブによる誤差と比較して自装置（ＰＴＰハブ）の水晶の周波数の方が高いので、誤差の大きい測定値に基づき頻繁に調整するよりも、時間をかけて誤差の少ない測定値を選別し、さらに測定間隔を広げることにより水晶の傾きに含まれる誤差を小さくして時刻同期の安定と高精度化を実現させることができる。なお、１回目の測定と２回目の測定との間で空ける測定間隔は、１０回でなくともよく、水晶の周波数安定度やネットワーク構成などによるため可変とする。
【００６９】
（７）閾値設定による時刻同期の精度向上
図８に基づきＳ３２，Ｓ４２の効果、即ち同期判定値Ｄ９を設けたことによる時刻同期の精度向上を説明する。この図８中のＷ（Ｗ１，Ｗ２）は、閾値として設定された同期判定値Ｄ９を示している。
【００７０】
ここで図８中の円柱群Ｓのそれぞれは、図７と同じくＰＴＰハブのみを使用した場合（例えば図１（ａ）のネットワーク構成）の「Ｍｅａｎｐａｔｈ」の値を示している。ここではＰＴＰのトランスペアレント機能（ＴＣ）により補正され、マスター・スレーブ間の「Ｍｅａｎｐａｔｈ」は伝送ケーブル長だけの時間となるので正確性が向上する。
【００７１】
しかしながら、例えば図１（ｂ）に示すように、ＰＴＰハブ間を通常ハブで中継した場合には、通常ハブの送信中のパケットが完了するのを待つ時間分だけ遅延時間が発生する。この遅延時間は、パケットサイズやタイミングなどにより変動する。
【００７２】
その結果、マスター・スレーブ間の「Ｍｅａｎｐａｔｈ」には、通常ハブによる待ち時間が含まれ、図８中の「星形ａ０〜星形ａ１０」，「星形ａ１１〜星形ａ２３」に示すように、大きく変動し、時刻が大きく暴れて不正確になる。
【００７３】
ただし、「Ｍｅａｎｐａｔｈ」の値は、大きく変動しているものの、「ａ０，ａ２，ａ７，ａ１０」のように誤差の少ない値も存在している。そこで閾値Ｗを設定し、Ｓ３３，Ｓ４２の判定式が成立した場合のみ１回目の測定値（ＭＰ差異）と２回目の測定値（ＭＰ差異）とに用いることとした（Ｓ３２，Ｓ４２，Ｓ３３，Ｓ４４）。
【００７４】
例えば「ａ０」のＭＰ差異（Ｖ１）は、閾値Ｗ１よりも小さいため、第１回目の測定値Ｘ１として採用される。ここで「星形ａ２」および「星形ａ７」のＭＰ差異は、閾値Ｗ１よりも小さくなるものの、「星形ａ０」からＳ４３の強制失敗カウントＤ２（ここでは８回とする）の測定間隔を越えないため、失敗カウンタＤ１０を「１」加算するだけで（Ｓ４６）、２回目の測定値Ｘ２に採用されない。一方、「ａ１０」のＭＰ差異（Ｖ２）は、閾値Ｗ１よりも小さく、かつ強制失敗カウントＤ２の測定間隔を越えているため、２回目の測定値Ｘ２に採用される。
【００７５】
このとき図８中の「Ｖ１＋Ｖ２」が通常ハブにより発生した遅延であり、時間差は最悪値で「Ｃ＝（Ｖ１＋Ｖ２＋機器固有遅延変動幅Ｖ３）／２］となる。そこで次回処理の閾値Ｗ２は、この値Ｃを基準に開始する。すなわち、現在の精度よりも誤差を含む測定値を採用しないようにして徐々に精度を高くする方向に調整している。
【００７６】
そして、次回処理時に「星形ａ１１」および「星形ａ１２」のＭＰ差異は、閾値Ｗ２より小さくないため、１回目の測定値Ｘ１に採用されない。ここでは「星形ａ１３」のＭＰ差異（Ｖ１１）が、閾値Ｗ２よりも小さいため、１回目の測定値Ｘ１に採用される。また、「星形ａ２３」のＭＰ差異（Ｖ１２）は、閾値Ｗ２より小さく、かつ「星形ａ１３」から強制失敗カウントＤ２の測定間隔を越えているため、２回目の測定値Ｘ２に採用される。
【００７７】
ここでＳ３２，Ｓ４２の判定式が不成立のとき推定精度Ｄ８に水晶の傾き相当を算出する理由を説明する。すなわち、通常ハブに含まれる遅延は、伝送状態とタイミングにより変化するため、閾値Ｗにより適用されない状態が長時間になると自装置（ＰＴＰハブ）の内部時計が同期している保障がなくなるおそれがある。
【００７８】
そこで閾値Ｗを時間の経過としても加算し、時間が経過すれば誤差の大きい測定値を適用するようにする。ここで加算する値は、水晶の安定度を考慮した値とする。なお、閾値Ｗは、基本的には（今回の「Ｍｅａｎｐａｔｈ」−最小「Ｍｅａｎｐａｔｈ」）の平均値に（機器固有遅延変動幅／２）を加算した値から求められ、失敗カウンタＤ１０の値毎に計算される。
【００７９】
このように（Ａ）Ｓ４３の強制失敗カウントＤ２による測定間隔の拡張，（Ｂ）Ｓ３３，Ｓ４２の判定式を併用することで次の効果が得られる。すなわち、処理（Ａ）の強制失敗カウントＤ２によれば、無駄な変動を抑制することができ、抑制された値に基づき処理（Ｂ）の判定式に使用する閾値Ｗが算出される。
【００８０】
ここで算出された閾値ＷによりＭＰ差異が絞り込まれ無駄な変動がさらに抑制される。これにより前回よりも狭い閾値Ｗが算出され、ＭＰ差異がさらに絞り込まれる。この処理（Ａ）（Ｂ）を繰り返すことにより、ＰＴＰハブ間を通常ハブで中継した場合などの遅延変動を有する環境でも、高精度で安定した時刻同期を維持することができる。
【００８１】
（８）ＬＩＮＥＲ方式等
実施例１の処理内容は、図１（ａ）のネットワーク構成、即ち機器１ｃ〜６ｃ間をＰＴＰハブ１ａ〜６ａのみで中継した場合にも適用することができる。この場合の時刻同期方式を「ＬＩＮＥＲ方式」と呼ぶ。
【００８２】
ここでは全体処理（Ｓ１１〜Ｓ２１）と、第１回目測定時処理（Ｓ３１〜Ｓ３５）と、「Ｍｅａｎｐａｔｈ」保存処理（Ｓ５１〜Ｓ５４）とは、「ＨＹＢＲＩＤ」方式と同様に実行される。ただし、Ｓ１１の時刻同期方式の確認の際は、「ＨＹＢＲＩＤ」方式と「ＬＩＮＥＲ方式」のいずれの方式でもＳ１３以降に進むものとする。
【００８３】
また、Ｓ１７の第２回測定時処理としては、図９に示す第２回測定時処理（Ｓ６１〜Ｓ６５）を実行する。
【００８４】
ここでＳ６１，Ｓ６２はＳ４１，Ｓ４２と同様な処理を実行し、Ｓ６３〜Ｓ６５はＳ４４、Ｓ４７，Ｓ４８と同様な処理を実行するものの、Ｓ４３,Ｓ４５,Ｓ４６の処理が省略される。すなわち、ＰＴＰハブのみを使用した場合の「Ｍｅａｎｐａｔｈ」は、図７に示すように、１回目と２回目ともに安定した測定値となるため、強制失敗カウントＤ２による測定間隔は必要ない。
【００８５】
ここではＳ６１，Ｓ６２において、Ｓ４１，Ｓ４２と同様に同期判定値Ｄ９に基づく判定式によりＭＰ差異を絞り込んでいるため、通常よりも高精度で安定した時刻同期の効果が得られる。
【００８６】
なお、本実施例の処理内容は、図１（ａ）（ｂ）のネットワーク構成だけでなく、例えば図１０に示すＶＬＡＮ二重化接続の場合にも適用することができる。この場合、図１０（ａ）に示すＰＴＰハブ１ａ〜６ａのＶＬＡＮ二重化接続には「ＬＩＮＥＲ方式」を適用し、図１０（ｂ）に示す通常ハブ１ｂ−１，１ｂ−２〜５ｂ−１，５ｂ−２を経由したＶＬＡＮ二重化におけるＰＴＰハブ接続には「ＨＹＢＲＩＤ」方式が適用される。
【００８７】
≪実施例２≫
図１１〜図２１に基づき実施例２を説明する。この実施例２の処理内容は、実施例１と同じく「ＨＹＢＲＩＤ方式」と「ＬＩＮＮＥＲ方式」のいずれにも適用することができる。
【００８８】
（１）ネットワーク構成
図１９および図２０に基づきネットワーク構成例を説明する。ここで図１９（ａ）は、機器１ｃ〜４ｃ間をＰＴＰハブ１ａ〜４ａで中継した単一ＶＬＡＮのネットワーク構成を示している。また、図２０（ａ）は、機器１ｃ〜８ｃ間をＰＴＰハブ１ａ〜４ａで中継したＶＬＡＮ二重化のネットワーク構成を示している。この図１９（ａ）および図２０（ａ）のネットワーク構成の場合には「ＬＩＮＮＥＲ方式」が適用される。
【００８９】
図１９（ｂ）は、ＲＳＴＰ（Ｒａｐｉｄ  Ｓｐａｎｎｉｎｇ  Ｔｒｅｅ  Ｐｒｏｔｏｃｏｌ）などの冗長化機能を備えた通常ハブ１ｂ〜４ｂを経由したＰＴＰハブ１ａ〜４ａの接続構成を示している。
【００９０】
この場合にはＰＴＰハブ１ａ〜４ａと、ＰＴＰ機能を持たないＲＳＴＰなどの冗長化機能を備えた通常ハブ１ｂ〜４ｂ（冗長化ハブ）とにより機器１ｃ〜４ｃ間が中継されるネットワーク構成からなり、「ＨＹＢＲＩＤ方式」が適用される。
【００９１】
この冗長化ハブ１ｂ〜４ｂは、ＲＳＴＰなどの冗長化機能を使用し、主にループ構成（１ポートがブロッキングする）をＰＴＰハブ１ａ〜４ａ間に構成する。ここで図１９（ｂ）は単一ＶＬＡＮのタイプを示し、図２０（ｂ）のネットワーク構成のようにＶＬＡＮ二重化のタイプにも「ＨＹＢＲＩＤ方式」が適用される。
【００９２】
このとき図２０（ｂ）に示すように、ＰＴＰハブ１ａ〜４ａのネットワーク構成がＶＬＡＮ二重化されている場合にスレーブ状態のＰＴＰハブ２ａ〜４ａはマスター状態のＰＴＰハブ１ａのＶＬＡＮ（Ｖ１，Ｖ２）の一方でＰＴＰパケットを往復させる。ところが、回線断などの理由によりＰＴＰパケットのマスター・スレーブ間の往復が一方のＶＡＮから他方のＶＬＡＮに切り替わる場合があり、これをマスターＶＬＡＮ切替と呼ぶ。
【００９３】
（２）全体処理
図１２に基づき実施例２の全体処理を説明する。以下では図１９（ｂ）および図２０（ｂ）などの「ＨＹＢＲＩＤ方式」への適用例を説明する。
【００９４】
ここではＰＴＰハブ１ａ〜４ａについては図１１の起動時処理が済んでいるものとする。すなわち、ＰＴＰハブ１ａ〜４ａを起動した状態において、ＰＴＰハブ１ａ〜４ａの設定コマンドを使って、以下の情報（Ａ）〜（Ｄ）を入力して初期設定ファイルＦ１−１に保存しておくものとする（Ｓ７１）。
（Ａ）冗長化切替判定回数Ｃ１
（Ｂ）マスターＶＬＡＮ切替判定回数（以下、Ｍ−ＶＬＡＮ切替判定回数とする。）Ｃ２
（Ｃ）マスター・スレーブ間オフセット有効範囲（以下、Ｍ−Ｓ間ＯＳ有効範囲とする。）Ｄ１１
（Ｄ）マスターＶＬＡＮ切替処理有効回数（以下、Ｍ−ＶＬＡＮ切替処理有効回数とする。）Ｃ３
これによりＰＴＰハブ１ａ〜４ａは、次回起動時に初期設定ファイルＦ１−１を読み込んで、前記情報（Ａ）〜（Ｄ）を内部データとしてセットする（Ｓ７２）。また、ＰＴＰハブ１ａ〜４ａは、保存された前記情報（Ａ）〜（Ｄ）の値をクリアして初期化する（Ｓ７３）。
【００９５】
この起動時処理の完了を前提に実施例２の処理が実行される。以下、具体的な処理内容を説明する。
【００９６】
Ｓ８０：処理が開始されると、ＶＬＡＮ切替判定処理（ＶＬＡＮ切替）が実行される。ここではＭ−ＶＬＡＮ切替発生時にマスターＶＬＡＮ切替発生フラグ（以下、Ｍ−ＶＬＡＮ切替発生フラグとする。）をセットして立てる。
【００９７】
Ｓ８１〜Ｓ８４，Ｓ８６：実施例１のＳ１１〜Ｓ１４，Ｓ１６と同じ処理を実行する。
【００９８】
Ｓ８５：図１３の第１回目測定時処理を実行する
Ｓ８７：図１４の第２回目測定時処理を実行する。
【００９９】
Ｓ８８〜Ｓ９０：実施例１のＳ１８〜Ｓ２０と同様な処理を実行する。
【０１００】
Ｓ９１：Ｍ−ＶＬＡＮ切替発生フラグＦ３が立っているか否かを確認する。この確認の結果、Ｍ−ＶＬＡＮ切替フラグＦ３が立っていればＳ９２に進む一方、立っていなければＳ９５に進む。
【０１０１】
Ｓ９２〜Ｓ９４：Ｍ−ＶＬＡＮ切替処理回数Ｃ６に「１」を加算する（Ｓ９２）。その後にＭ−ＶＬＡＮ切替処理有効回数Ｃ３を参照し、Ｓ９２の加算後のＭ−ＶＬＡＮ切替処理回数Ｃ６がＭ−ＶＬＡＮ切替処理有効回数Ｃ３を越えているか否かを確認する（Ｓ９３）。
【０１０２】
この確認の結果、Ｍ−ＶＬＡＮ切替処理有効回数Ｃ３を越えていなければＳ９５に進む一方、越えていればＳ９４に進む。すなわち、Ｍ−ＶＬＡＮ切替発生フラグＦ３およびＭ−ＶＬＡＮ切替処理回数Ｃ６をクリアし、Ｓ９５に進む。
【０１０３】
Ｓ９５：図１５の「Ｍｅａｎｐａｔｈ」保存処理を実行し、終了する。
【０１０４】
（３）１回目測定時処理
図１３に基づきＳ８５の１回目測定時処理、即ちＳ８４で１回目の測定と確認された後の処理内容の詳細を説明する。
【０１０５】
Ｓ１０１：処理が開始されるとＳ１０１が実行される。ここでは実施例１のＳ３１と同様な処理を実行する。
【０１０６】
Ｓ１０２：Ｍ−ＶＬＡＮ切替発生フラグＦ３を確認し、該フラグＦ３が立っていればＳ１０３に進む一方、立っていなければＳ１０５の冗長化切替判定を実行する。
【０１０７】
Ｓ１０３：マスター・スレーブ間の伝送速度のオフセット値を算出する。ここで算出されたオフセット値をＭ−Ｓ間ＯＳ値Ｄ１２と呼ぶ。
【０１０８】
Ｓ１０４〜Ｓ１０７：Ｓ１０３で算出されたＭ−Ｓ間ＯＳ値が、Ｍ−Ｓ間ＯＳ値有効範囲Ｄ１１を越えているか否かを確認する。この確認の結果、越えていればＳ１０５の冗長化切替判定を実行する一方、越えていなければＳ１０６，Ｓ１０７に進む。すなわち、冗長化切替判定回数Ｃ１をクリアした（Ｓ１０６）後、さらにＭ−ＶＬＡＮ切替回数Ｃ５をクリアし（Ｓ１０７）、Ｓ１０８に進む。
【０１０９】
Ｓ１０８〜Ｓ１１１：実施例１のＳ３２〜Ｓ３５と同様な処理を実行し、終了する。
【０１１０】
（４）２回目測定時処理
図１４に基づきＳ８７の２回目測定時処理、即ちＳ８６で２回目の測定と確認された後の処理内容の詳細を説明する。ここでは第１回目測定時処理（Ｓ８５）と同様な処理（Ｓ１２２〜Ｓ１２５，Ｓ１２９，Ｓ１３０）が、実施例１の第２回目測定時処理（Ｓ１７）に加えられている。
【０１１１】
Ｓ１２１：処理が開始されるとＳ１２１が実行される。ここでは実施例１のＳ４１と同様な処理を実行する。
【０１１２】
Ｓ１２２〜Ｓ１２５：Ｓ１０２〜Ｓ１０５と同様な処理を実行する。
【０１１３】
Ｓ１２６〜Ｓ１２８：実施例１のＳ４６〜Ｓ４８と同様な処理を実行する。
【０１１４】
Ｓ１２９，Ｓ１３０：Ｓ１０６，Ｓ１０７と同様な処理を実行する。
【０１１５】
Ｓ１３１〜Ｓ１３４：実施例１のＳ４２〜Ｓ４５と同様な処理を実行し、終了する。
【０１１６】
（５）Ｍｅａｎｐａｔｈ保存処理
図１５に基づきＳ９５の「Ｍｅａｎｐａｔｈ」保存処理の詳細を説明する。
【０１１７】
Ｓ１４１〜Ｓ１４３：処理が開始されるとＳ１４１〜Ｓ１４３が実行される。ここでは実施例１のＳ５１〜Ｓ５４と同様な処理を実行する。
【０１１８】
Ｓ１４４：図１７に基づき後述する。
【０１１９】
Ｓ１４５：実施例１のＳ５２と同様な処理を実行し、終了する。
【０１２０】
（５）冗長化切替判定処理
図１６に基づきＳ１０５，Ｓ１２５の冗長化切替判定処理の詳細を説明する。
【０１２１】
Ｓ１５１：処理が開始されるとＭ−ＶＬＡＮ切替発生フラグが立っているか否かを確認する。確認の結果、Ｍ−ＶＡＮ切替発生フラグＦ３が立っていればＳ１５２に進む一方、立っていなければＳ１５３に進む。
【０１２２】
Ｓ１５２：Ｍ−ＶＬＡＮ切替回数Ｃ５に「１」を加算する。
【０１２３】
Ｓ１５３：今回使用したマスター・スレーブ間の「Ｍｅａｎｐａｔｈ」Ｄ１３が、補正用「Ｍｅａｎｐａｔｈ」Ｄ１４よりも大きいか否かを確認する。確認の結果、大きければＳ１５４に進む一方、大きくなければＳ１５５に進む。
【０１２４】
Ｓ１５４：今回使用したマスター・スレーブ間の「Ｍｅａｎｐａｔｈ」Ｄ１３を補正用「Ｍｅａｎｐａｔｈ」Ｄ１４として保存する。
【０１２５】
Ｓ１５５：冗長化切替回数に「１」を加算し、終了する。
【０１２６】
（６）冗長化切替時処理
図１７に基づきＳ１４４の冗長化切替時処理の詳細を説明する。
【０１２７】
Ｓ１６１：処理が開始されるとＭ−ＶＬＡＮ切替回数Ｃ５が、Ｍ−ＶＬＡＮ切替処理有効回数Ｃ３を越えているか否かを確認する。確認の結果、越えていればＳ１６２に進む一方、越えていなければＳ１６５に進む。
【０１２８】
Ｓ１６２〜Ｓ１６４：補正用「Ｍｅａｎｐａｔｈ（補正用同期判定値）」Ｄ１４を最小「Ｍｅａｎｐａｔｈ（最小同期判定値）」Ｄ６とする（Ｓ１６２）。その後、保存「Ｍｅａｎｐａｔｈ」Ｄ５のすべてを補正用「Ｍｅａｎｐａｔｈ」Ｄ１４に書き換える（Ｓ１６３）。また、Ｍ−ＶＬＡＮ切替回数Ｃ５をクリアする（Ｓ１６４）。
【０１２９】
Ｓ１６５：冗長化切替回数Ｃ４が、冗長化切替判定回数Ｃ１を越えているか否かを確認する。確認の結果、越えていればＳ１６６に進む一方、越えていなければ処理を終了する。
【０１３０】
Ｓ１６６，Ｓ１６７：補正用「Ｍｅａｎｐａｔｈ（補正用同期判定値）」Ｄ１４を最小「Ｍｅａｎｐａｔｈ（最小同期判定値）」Ｄ６とする（Ｓ１６６）。その後、保存「Ｍｅａｎｐａｔｈ」Ｄ５のすべてを補正用「Ｍｅａｎｐａｔｈ」Ｄ１４に書き換える（Ｓ１６７）。
【０１３１】
Ｓ１６８，Ｓ１６９：推定精度Ｄ８を冗長化切替判定回数に応じた水晶の傾き分だけ戻し（Ｓ１６８）、その後に冗長化切替回数Ｃ４をクリアし（Ｓ１６８）、終了する。
【０１３２】
（７）冗長化切替時における時刻同期精度への影響抑制
実施例１の処理によれば、同期判定値をＳ３２、Ｓ４２の判定式（同期判定値＞Ｍｅａｎｐｔｈ差異）での絞り込みを継続し、ある程度の絞り込みが完了すると一定幅の同期判定値で安定する。ところが、ＶＬＡＮの冗長化切替発生時やマスターＶＬＡＮ切替時などへの対応が不十分なおそれがあった。
【０１３３】
（Ａ）まず、図１９（ｂ）に基づき単体ＶＬＡＮでの冗長化切替発生例を説明する。この図１９（ｂ）のネットワーク構成によれば、ＰＴＰハブ１ａ〜４ａ間に冗長化ハブ１ｂ〜４ｂでループが構成されている。ここではハブ１ｂと接続するハブ３ｂ側のポートがループ防止のため、ブロッキング状態となっている。
【０１３４】
このときスレーブ状態のＰＴＰハブ２ａとマスター状態のＰＴＰハブ１ａとは、ハブ１，２を経由してＰＴＰパケットを交換している。ところが、図１９（ｃ）に示すように、ハブ１，２間の回線が断線したような事態の場合にはハブ３ｂのブロッキングポートが開放される。これにより冗長化切替が発生し、ＰＴＰハブ１ａ，２ａ間が瞬時にハブ１ｂ〜ハブ４ｂを経由したルートに経路変更される。
【０１３５】
このときハブ１ｂ〜４ｂは、ＰＴＰパケットにタイムスタンプ加算による時刻補正ができないため、前記経路変更による通過するハブの変動は直接マスター・スレーブ間の「Ｍｅａｎｐｔｈ」の変化として現れ、同期判定値より極端に大きくなる。
【０１３６】
その結果、同期判定の異常（Ｓ３２，Ｓ４２の判定式不成立）が長時間継続したり、マスター・スレーブ間のオフセットを補正する値が実際のずれよりも大きな値となるなど最終的に時刻同期のずれ幅が大きくなる現象が生じるおそれがある。
【０１３７】
（Ｂ）この事態を図２１に基づき説明する。ここでは「星形ａ１６」の測定後にＰＴＰハブ１ａ〜４ａ間のハブ１ｂ〜４ｂに冗長化切替が発生し、マスター・スレーブ間の「Ｍｅａｎｐａｔｈ」が大きくなるため、「星形ａ１７」から「星形ａ２３」までの「Ｍｅａｎｐａｔｈ」Ｓ２が急減に上昇している。
【０１３８】
その結果、最小「Ｍｅａｎｐａｔｈ」Ｓ１と実際の最小「Ｍｅａｎｐａｔｈ」Ｓ２とに大きな差（矢印Ｅと矢印Ｆとの差）が発生する。この場合には閾値Ｗ２を大幅に超えているため、前記判定式を満たすには相当の時間が必要となる。
【０１３９】
（Ｃ）このとき通常、図１９（ｃ）の状態が生じた場合にＰＴＰハブ１ａ〜４ａ側では、ハブ１ｂ〜４ｂの冗長化機能による切替発生を認識できない。そこで、実施例２においては、ＰＴＰハブ１ａ〜４ａが前記切替発生時に発生する大きな変動を捉え、それをトリガーとして前記判定式の不成立が一定回数（冗長化切替判定回数）を越えて連続して不成立か否かを監視し、監視中に保存された補正用「Ｍｅａｎｐａｔｈ」（Ｓ１５４）を最小「Ｍｅａｎｐａｔｈ」Ｓ２および保存「Ｍｅａｎｐａｔｈ」として保存する（Ｓ１６６，Ｓ１６７）。これにより前記切替発生時に正しい時刻補正が実行され、すばやく前記判定式を成立させることが可能となる。
【０１４０】
（Ｄ）つぎに図２０（ｂ）に基づきマスターＶＬＡＮ切替時にシームレスな動作が要求されるＶＬＡＮ二重化への応用例、即ち冗長化ハブ１ｂ〜４ｂを経由したＶＬＡＮ二重化のネットワーク構成（系統構成）への適用例を説明する。
【０１４１】
ここではＶＬＡＮ１においてハブ３ｂと接続するハブ１ｂのポートがブロッキング状態である一方、ＶＬＡＮ２においてハブ６と接続するハブ５のポートがブロッキング状態となっている。また、マスター状態のＰＴＰハブ１ａとスリーブ状態のＰＴＰハブ２ａとは、マスターＬＡＮのＶＬＡＮ１を使用し、ハブ１ｂ，２ｂを経由してＰＴＰパケットを交換する。
【０１４２】
ここで図２０（ｃ）に示すように、ＶＬＡＮ１に所属するハブ１ｂの２箇所が回線断したことを想定する。このときハブ２ｂは数秒後にマスターＬＡＮがＶＬＡＮ１からＶＬＡＮ２に切り替わったことを認識し、瞬時にハブ５ｂ，７ｂ，８ｂ、６ｂを経由した経路に切り替える。
【０１４３】
この経路変更が発した場合には、図１９（ｂ）の単体ＶＬＡＮ時と同様に経路変更によるマスター・スレーブ間の「Ｍｅａｎｐａｔｈ」の変化として現れ、最終的に時刻同期が大きくずれてしまうなどの現象が発生する。
【０１４４】
特にＶＬＡＮ間の経路変更をともなうため、単体ＶＬＡＮ以上の大きな変動が発生し、マスター・スレーブ間のオフセット値にも一時的に影響を与える。そうすると前述した単一ＶＬＡＮ時の冗長化切替対策だけでは不十分なおそれがある。
【０１４５】
ここでは監視タイミングにマスターＶＬＡＮ切替を追加することで冗長化切替時の経路変更タイミングの的確な把握を図る。すなわち、マスター・スレーブ間のオフセット値が有効範囲を越えた場合（Ｓ１０３，Ｓ１２４）、経路上の処理が不安定なため、Ｓ１６１に示すように、切替有効回数を越えるまで１回目の測定値（Ｄ７−１）および２回目測定（Ｄ７−２）に採用しない。切替有効回数を越えた後の最小「Ｍｅａｎｐａｔｈ」と保存「Ｍｅａｎｐａｔｈ」に対して、冗長化切替時処理と同様の処理（Ｓ１６３，Ｓ１６４）を行う。
【０１４６】
これにより不安液な状態での時刻同期の補正値実行による正常な値からの遊離が排除でき、以前の通常ハブ（１ｂ，２ｂ）を経由した場合に近い速さで前記判定式の成立が可能となる。なお、冗長化切替判定回数Ｃ１，Ｍ−ＶＬＡＮ切替有効回数Ｃ３は、メーカの初期設定のままでもよく、ユーザ側で適宜に変更できるものとする。
【０１４７】
（８）ＬＩＮＥＲ方式
実施例２の処理内容も、図１９（ａ）および図２０（ａ）に示す「ＬＩＮＥＲ方式」のネットワーク構成、即ち機器１ｃ〜４ｃ／１ｃ〜６ｃ間をＰＴＰハブ１ａ〜４ａのみで中継した場合にも適用することができる。
【０１４８】
ここでは全体処理（Ｓ８０〜Ｓ９５）と、第１回目測定時処理（Ｓ１０１〜Ｓ１１１）と、「Ｍｅａｎｐａｔｈ」保存処理（Ｓ１４１〜Ｓ１４５）と、冗長化切替判定処理（Ｓ１５１〜Ｓ１５５）と、冗長化切替時処理（Ｓ１６１〜Ｓ１６９）とは「ＨＹＢＲＩＤ」方式と同様に実行される。
【０１４９】
ただし、実施例１と同じく、Ｓ８１の時刻同期方式の確認の際は、「ＨＹＢＲＩＤ」方式と「ＬＩＮＥＲ方式」のいずれの方式でもＳ８３以降に進むものとする。また、Ｓ８７の第２回測定時処理としては、図１８に示す第２回測定時処理（Ｓ１７１〜Ｓ１８１）を実行する。
【０１５０】
ここでＳ１７１〜Ｓ１７７はＳ１２１〜Ｓ１２５，Ｓ１２７，Ｓ１２８と同様な処理を実行し、Ｓ１７８〜Ｓ１８１はＳ１２９〜Ｓ１３１，Ｓ１３３と同様な処理を実行し、実施例１と同じ理由によりＳ１２６〜Ｓ１２８，Ｓ１３２,Ｓ１３４の処理が省略される。
【符号の説明】
【０１５１】
１ａ〜６ａ…ＰＴＰハブ
１ｂ〜５ｂ…通常ハブ
１ｃ…１２ｃ…機器
【図１】
2020017940.tif 000003
【図２】
2020017940.tif 000004
【図３】
2020017940.tif 000005
【図４】
2020017940.tif 000006
【図５】
2020017940.tif 000007
【図６】
2020017940.tif 000008
【図７】
2020017940.tif 000009
【図８】
2020017940.tif 000010
【図９】
2020017940.tif 000011
【図１０】
2020017940.tif 000012
【図１１】
2020017940.tif 000013
【図１２】
2020017940.tif 000014
【図１３】
2020017940.tif 000015
【図１４】
2020017940.tif 000016
【図１５】
2020017940.tif 000017
【図１６】
2020017940.tif 000018
【図１７】
2020017940.tif 000019
【図１８】
2020017940.tif 000020
【図１９】
2020017940.tif 000021
【図２０】
2020017940.tif 000022
【図２１】
2020017940.tif 000023