(57)【要約】【課題】  ネットワーク内でパケットが通過する往路と復路との遅延差の影響を受けず、最小限の同期用トラヒックおよび設定で、ファイアウォールにも変更無く、高精度に時刻同期する。【解決手段】  同期精度を上げるために高頻度に位相同期用フレームを交換する。このとき、位相同期フレームを周期的に予め定義された時刻に送出する。さらに、ＮＴＰで使用したパラメータｔ４も受信端の装置内で処理をする。【選択図】  図４
2006148774.tif 000002
【特許請求の範囲】
【請求項１】
Ｍａｓｔｅｒ装置とＳｌａｖｅ装置とが互いに伝送路により接続され、
このＭａｓｔｅｒ装置とＳｌａｖｅ装置とは、
それぞれ周期Ｔの信号を発生する手段と、
この発生する手段が発生した前記周期Ｔの信号の位相を前記Ｍａｓｔｅｒ装置と前記Ｓｌａｖｅ装置とで一致させる手段と
を備えた同期装置において、
前記Ｓｌａｖｅ装置は、
時刻を整数値で表現する時計と、
この時計により整数値で表現された時刻を格納した位相同期フレームを前記Ｍａｓｔｅｒ装置に送出する手段と、
前記時計が示す時刻Ｔｓを入力し、この時刻Ｔｓを整数値２Ｔで除算したときの剰余が０となる時刻に前記送出する手段により前記位相同期フレームを前記Ｍａｓｔｅｒ装置に送出する手段と
を備え、
前記Ｍａｓｔｅｒ装置は、
時刻を整数値で表現する時計と、
前記Ｓｌａｖｅ装置から受け取った前記位相同期フレームに自装置の前記時計が示す当該位相同期フレームの受信時刻を表現する整数値Ｔ１を格納して前記Ｓｌａｖｅ装置に返送する手段と、
前記時計が示す時刻である整数値ＴＭを整数値２Ｔで除算したときの剰余が０となる時刻に前記位相同期フレームを前記返送する手段により前記Ｓｌａｖｅ装置に返送する手段と
を備え、
前記Ｓｌａｖｅ装置は、前記Ｍａｓｔｅｒ装置から受信した前記位相同期フレームに格納されている整数値Ｔ１を整数値２Ｔで除算したときの剰余Ｒ１を求め、自装置の前記時計が示す当該位相同期フレームの受信時刻を表現する整数値Ｔ２を整数値２Ｔで除算したときの剰余Ｒ２を求め、Ｒ１−Ｒ２が０より大ならば、Ｒ１−Ｒ２が０になるまで自装置の前記時計を進め、Ｒ１−Ｒ２が０より小ならば、Ｒ１−Ｒ２が０になるまで自装置の前記時計を遅らせる手段を備えた
ことを特徴とする同期装置。
【請求項２】
前記Ｓｌａｖｅ装置には、
時系列信号ｘを平滑化して出力する２つのフィルタｆｉｌｔ１（ｘ）、ｆｉｌｔ２（ｘ）と、
前記位相同期フレームを受信する度に前記剰余Ｒ１と剰余Ｒ２とをこのフィルタに入力し、得られる出力ｆｉｌｔ１（Ｒ１）とｆｉｌｔ２（Ｒ２）との差
Δｐ＝ｆｉｌｔ１（Ｒ１）−ｆｉｌｔ２（Ｒ２）
を求め、Δｐが０より大ならばΔｐ＝０になるまで自装置の前記時計を進め、Δｐが０より小ならばΔｐ＝０になるまで自装置の前記時計を遅らせる手段と
を備えた請求項１記載の同期装置。
【請求項３】
前記Ｓｌａｖｅ装置は、自装置の前記時計が示す時刻を表す整数値Ｔｓに基づき、演算結果Ｔｓ／Ｔの整数部分を求め、このＴｓ／Ｔの整数部分を自装置の外部から与えられた標準時刻に一致させるように自装置の前記時計を調節する手段を備えた請求項１または２記載の同期装置。
【請求項４】
前記Ｓｌａｖｅ装置は、前記Ｍａｓｔｅｒ装置と前記Ｓｌａｖｅ装置との間の伝送遅延時間がｄであって、周期Ｔが前記伝送遅延時間ｄよりも大であるときには、前記位相同期フレームに格納されている整数値Ｔ１と周期Ｔとを除算した演算結果Ｔ１／２Ｔの整数部分（以降では整数部分を［Ｔ１／２Ｔ］のように［  ］を用いて記す）を求めると共に、前記位相同期フレームを受信したときの自装置の前記時計が示す時刻を表す整数値Ｔｓｒと周期Ｔとを除算した演算結果Ｔｓｒ／Ｔの整数部分［Ｔｓｒ／Ｔ］を求め、この［Ｔｓｒ／Ｔ］と［Ｔ１／２Ｔ］とから数値
Ｄ＝［Ｔｓｒ／Ｔ］×Ｔ−（［Ｔ１／２Ｔ］＋１）×２Ｔ
を求め、自装置の前記時計が示す時刻から前記Ｄを減ずる手段を備えた請求項１または２記載の同期装置。
【請求項５】
Ｍａｓｔｅｒ装置とＳｌａｖｅ装置とが互いに伝送路により接続され、
このＭａｓｔｅｒ装置とＳｌａｖｅ装置とは、
それぞれ周期Ｔの信号を発生する手段と、
この発生する手段が発生した前記周期Ｔの信号の位相を前記Ｍａｓｔｅｒ装置と前記Ｓｌａｖｅ装置とで一致させる手段と
を備えた同期装置において、
前記Ｓｌａｖｅ装置は、
時刻を整数値で表現する時計と、
この時計により整数値で表現された時刻を格納した時刻同期フレームを前記Ｍａｓｔｅｒ装置に送出する手段と、
前記Ｍａｓｔｅｒ装置と前記Ｓｌａｖｅ装置との間の伝送遅延時間をｄとしたとき、周期Ｔと伝送遅延時間ｄとに基づき２ｄ／Ｔ＋１を計算し、数値２ｄ／Ｔ＋１よりも大きな整数値Ｎを求め、この整数値Ｎと周期Ｔとから時間Ｔｕ＝Ｎ×Ｔを計算する手段と、
自装置の時計の示す時刻が時間Ｔｕの整数倍になった時点で前記時刻同期フレームを前記送出する手段により前記Ｍａｓｔｅｒ装置に送出する手段と
を備え、
前記Ｍａｓｔｅｒ装置は、
時刻を整数値で表現する時計と、
前記Ｓｌａｖｅ装置から前記時刻同期フレームを受信した時点で自装置の前記時計が示す時刻を表現した整数値Ｔ１を格納した時刻同期フレームを返送する手段と、
整数値Ｔ１が表現する時刻よりも後で、自装置の前記時計が示す時刻が最初に周期Ｔの整数倍になる時点で整数値Ｔ１を含む前記時刻同期フレームを前記返送する手段により前記Ｓｌａｖｅ装置に返送する手段と
を備え、
前記Ｓｌａｖｅ装置は、前記Ｍａｓｔｅｒ装置から返送された前記時刻同期フレームを受信したときに前記時計が示す時刻Ｔｓｒと、前記時刻同期フレームに格納された時刻Ｔ１と、周期Ｔと、時間Ｔｕとに基づきＴｓｒ／Ｔｕの整数部分にＴｕを乗じた値［Ｔｓｒ／Ｔｕ］×Ｔｕと、Ｔ１／Ｔの整数部分を１増加しＴを乗じた値（［Ｔ１／Ｔ］＋１）×Ｔとから数値
Ｄ＝
｛［Ｔｓｒ／Ｔｕ］×Ｔｕ−Ｔ１−（［Ｔ１／Ｔ］＋１）×Ｔ＋Ｔｓｒ｝／２
を計算し、自装置の前記時計が示す時刻からＤを減ずる手段を備えた
ことを特徴とする同期装置。
【請求項６】
ネットワーク内の２以上の通信装置が互いに伝送路により接続され、
この伝送路にはそれぞれコストが定義され、
ネットワーク内の全ての通信装置は一意に識別可能な識別情報が付与され、
１つの通信装置が発生する信号周期または同装置が備えた時計の示す時刻を、他の全ての通信装置が発生する信号周期またはこれらの通信装置に備えられた時計の示す時刻に一致させる手段を備えた同期装置において、
前記伝送路により直接接続された２つの通信装置の間で、当該通信装置に付与された識別情報と当該通信装置に関する評価値とをメッセージにより交換する手段を備え、
この交換する手段は、
前記メッセージの運ぶ識別情報ｉと伝送路コストパラメータｃとを入力として一意に決まる数値を出力する評価関数ｆ（ｉ，ｃ）を演算する手段と、
自装置の識別情報ｉ０と値０とに基づき自装置の評価値ｆ（ｉ０，０）を計算し、この評価値ｆ（ｉ０，０）と自装置に接続されている全ての伝送路Ｌ１、Ｌ２、…から到着するメッセージに記されている直接接続された他装置の評価値ｆ（ｉ１，ｃ１）、ｆ（ｉ２，ｃ２）…とを比較し、直接接続された装置の評価値ｆ（ｉ１，ｃ１）、ｆ（ｉ２，ｃ２）…のいずれよりも自装置の評価値ｆ（ｉ０，０）の方が大きければ、自装置は直接接続された装置との間で、請求項１ないし５のいずれかに記載の同期装置におけるＭａｓｔｅｒ装置を自装置とし、Ｓｌａｖｅ装置を他装置とする位相同期手順または時刻同期手順を実行する手段と、
自装置が直接接続された他装置に送る前記メッセージには、自装置の識別情報ｉ０と伝送路Ｌ１、Ｌ２、…に付与されたコストｃ１、ｃ２、…から計算される評価値ｆ（ｉ０，ｃ１）、ｆ（ｉ０，ｃ２）、…をメッセージ中のコストパラメータとして書き込み、直接接続された他装置から受け取ったメッセージ中の評価値ｆ（ｉ１，ｃ１）、ｆ（ｉ２，ｃ２）、…の中に自装置の評価値ｆ（ｉ０，０）よりも大きいものがある場合は、評価値ｆ（ｉ１，ｃ１）、ｆ（ｉ２，ｃ２）、…の中で最大のものを与える他装置を検索し、自装置と前記最大の評価値を与える他装置との間で、請求項１ないし５のいずれかに記載の同期装置におけるＳｌａｖｅ装置を自装置とし、前記最大の評価値を与える他装置をＭａｓｔｅｒ装置として位相同期手順または時刻同期手順を実行し、その後、自装置が直接接続された他装置に送る前記メッセージには、自装置の識別情報ｉ０を書き込むと共に、評価値は、直接接続された装置が前記最大の評価値を与える他装置Ｍならばこの他装置Ｍとの間の伝送路コストｃＭと自装置の識別情報ｉ０とを用いてｆ（ｉ０，ｃＭ）とし、直接接続された装置が前記最大の評価値を与える他装置でなければ、前記最大の評価値を与える他装置からメッセージを通じて受け取る評価値ｆ（ｉＭ，ｃＭ）と伝送路Ｌ１、Ｌ２、…に付与されたコストｃ１、ｃ２、…とを用いてｆ（ｉＭ，ｃＭ）＋ｃｋ（ただしｋはＭでない自然数）とする手段と
を備えたことを特徴とする同期装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信手段で接続された２つ以上の装置間で周期信号の位相および時刻を同期させる手法に関する。
【背景技術】
【０００２】
通信手段で接続された２つ以上の装置間の時刻同期を行う従来技術として非特許文献１に記載のＮＴＰ（Ｎｅｔｗｏｒｋ  ｔｉｍｅ  ｐｒｏｔｏｃｏｌ）がある。ＮＴＰはＩＰネットワークを通信手段として、時刻の基準を提供するサーバとサーバに時刻を一致させるクライアントとの間で機能し、サーバとクライアントとの間でパケットの往復遅延２ｄとサーバの示す時刻とクライアントのローカルな時刻の差Δｔを用いて時刻同期を実行する。
【０００３】
ＮＴＰでは往復遅延２ｄや、サーバとの相対的なローカル時計の差Δｔを計算するために、まずクライアントは、サーバに対してクライアントのローカル時刻を送信する。サーバはこのメッセージに対し開始タイムスタンプ、受信タイムスタンプ、送信タイムスタンプを備える応答を返す。
【０００４】
サーバでは応答時に、クライアントから送られた時刻を開始タイムスタンプにコピーする。そして、受信タイムスタンプと送信タイムスタンプをサーバの時計の日時に設定する。
【０００５】
クライアントでは、サーバからの応答に含まれる開始タイムスタンプ、受信タイムスタンプ、送信タイムスタンプを記録する変数ｔ１、ｔ２、ｔ３に加え、ローカルな時計で測った応答受信時刻である終了タイムスタンプを記録する変数ｔ４を管理する。
【０００６】
サーバの応答を受信したとき、クライアントは、クライアントの時計で測った到着時刻を、終了タイムスタンプ変数に設定する。
【０００７】
下の表は、４つのタイムスタンプの要約である。
開始タイムスタンプ  ｔ１  クライアントにより要求が送信された時刻
受信タイムスタンプ  ｔ２  サーバにより要求が受信された時刻
送信タイムスタンプ  ｔ３  サーバにより応答が送信された時刻
終了タイムスタンプ  ｔ４  クライアントにより応答が受信された時刻
これらの変数を用いると、往復遅延２ｄは、
２ｄ＝｛（ｔ４−ｔ１）−（ｔ３−ｔ２）｝
で表される。
【０００８】
往復で遅延量が等しいと仮定すると、クライアントにより応答が受信された時刻は、サーバにより応答が送信された時刻に片道の遅延量を加えた値ｔ３＋ｄとなるので、クライアントの時計のサーバの時計に対する誤差Δｔを次のように求めることができる。
Δｔ＝ｔ４−（ｔ３＋ｄ）＝｛（ｔ１−ｔ２）−（ｔ３−ｔ４）｝／２
したがって、クライアントの時計をΔｔ＝０となるように修正することで、サーバの時計と時刻同期させることができる。
【０００９】
【非特許文献１】Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ（Ｖｅｒｓｉｏｎ３）Ｓｐｅｃｉｆｉｃａｔｉｏｎ，Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ａｎｄ  Ａｎａｌｙｓｉｓ，Ｄａｖｉｄ  Ｌ．Ｍｉｌｌｓ，ＩＥＴＦ  ＲＦＣ−１３０５．１９９２年３月
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ＮＴＰではクライアントにおけるローカル時計の誤差Δｔを計算する際に、往復で遅延量が等しいという仮定を用いている。したがって、往路と復路との遅延差や、往復遅延のばらつきが存在する場合には、この仮定が成立しないのでＮＴＰの精度が劣化する。
【００１１】
サーバとクライアントとの間は一般に１台以上のルータもしくはスイッチを介して通信を行うが、往復で別の経路を辿る場合には往路と復路との遅延差が生じることが推測されるので、ＮＴＰでは厳密な意味で精度を保証することは出来ない。
【００１２】
また、精度を高くするためには高頻度に時刻情報の交換をしなくてはならないが、ＮＴＰではサーバとクライアントとの間で交換するパラメータ数が多いので時刻同期のトラヒックが大きいという問題がある。
【００１３】
さらに、ファイアウォールを介して動作させる環境では、ＮＴＰのパケットが透過するようにファイアウォールを設定する必要があり、通過させるパケット種類が増加することでセキュリティ上の問題が生じる問題がある。
【００１４】
さらに、ＮＴＰを運用するに当たっては、ＮＴＰサーバの階層構造の設計および設定の知識が必要であり、運用および管理が容易でない問題がある。
【００１５】
本発明は、このような背景に行われたものであって、ネットワーク内でパケットが通過する往路と復路との遅延差の影響を受けず、最小限の同期用トラヒックおよび設定で、ファイアウォールにも変更無く、高精度に時刻同期することを目的とする。
【課題を解決するための手段】
【００１６】
２つの装置が伝送路で接続されていて、一方の装置をＭａｓｔｅｒ装置、他方の装置をＳｌａｖｅ装置と呼ぶ。Ｍａｓｔｅｒ装置とＳｌａｖｅ装置とはそれぞれ時計を持っており、時計の示す時刻は共通する単位により整数値で表現されている。この系で、Ｍａｓｔｅｒの時刻およびＳｌａｖｅの時刻をそれぞれＴｍａｓｔｅｒ、Ｔｓｌａｖｅとする。周期信号の基本周期Ｔがあって、整数値Ａを整数値Ｂで割ったときの剰余をＡｍｏｄＢと書くとき、
Ｔｍａｓｔｅｒ  ｍｏｄ  Ｔ＝Ｔｓｌａｖｅ  ｍｏｄ  Ｔ          …（１）
となるようにＳｌａｖｅ装置の時計が示す時刻を調整することを位相同期と呼ぶ。これは時刻Ｔｍａｓｔｅｒ、Ｔｓｌａｖｅから作られる周期Ｔの信号の位相がＭａｓｔｅｒとＳｌａｖｅとの間で一致している状態である。また、
Ｔｍａｓｔｅｒ＝Ｔｓｌａｖｅ                                  …（２）
となるようにＳｌａｖｅ装置の時計が示す時刻を調整することを時刻同期という。
【００１７】
本発明では、すべての隣接装置間で位相同期および時刻同期を取り合うことで、最終的にネットワーク全体での時刻同期を確立することを特徴とする。
【００１８】
本発明における位相同期は従来技術のＮＴＰにおける問題点を解決するため、次の改良を加える。まず、同期精度を上げるために高頻度に位相同期用フレームを交換する。このとき、同期用フレーム転送による帯域オーバヘッドを小さくする必要があり、オーバヘッド縮小のためにはフレーム構成や仕組みを簡略化する必要がある。
【００１９】
この簡略化は、位相同期フレームを周期的に予め定義された時刻に送出することでＮＴＰで使用したパラメータの内、ｔ１、ｔ３を省略可能であるという性質により実現される。さらに、ＮＴＰで使用したパラメータｔ４も受信端の装置内で処理をするので位相同期フレームに含める必要はない。
【００２０】
この結果、本質的に位相同期フレームに含める必要があるのはｔ２のみとなる性質を利用し、位相同期用フレームの構成とその送受に関わる仕組みを大幅に簡略化する。
【００２１】
この最小限のパラメータを位相同期用フレームを通じて位相同期を行うため、本発明は、Ｍａｓｔｅｒ装置とＳｌａｖｅ装置とが互いに伝送路により接続され、このＭａｓｔｅｒ装置とＳｌａｖｅ装置とは、それぞれ周期Ｔの信号を発生する手段と、この発生する手段が発生した前記周期Ｔの信号の位相を前記Ｍａｓｔｅｒ装置と前記Ｓｌａｖｅ装置とで一致させる手段とを備えた同期装置であって、本発明の特徴とするところは、前記Ｓｌａｖｅ装置は、時刻を整数値で表現する時計と、この時計により整数値で表現された時刻を格納した位相同期フレームを前記Ｍａｓｔｅｒ装置に送出する手段と、前記時計が示す時刻Ｔｓを入力し、この時刻Ｔｓを整数値２Ｔで除算したときの剰余が０となる時刻に前記送出する手段により前記位相同期フレームを前記Ｍａｓｔｅｒ装置に送出する手段とを備え、前記Ｍａｓｔｅｒ装置は、時刻を整数値で表現する時計と、前記Ｓｌａｖｅ装置から受け取った前記位相同期フレームに自装置の前記時計が示す当該位相同期フレームの受信時刻を表現する整数値Ｔ１を格納して前記Ｓｌａｖｅ装置に返送する手段と、前記時計が示す時刻である整数値ＴＭを整数値２Ｔで除算したときの剰余が０となる時刻に前記位相同期フレームを前記返送する手段により前記Ｓｌａｖｅ装置に返送する手段とを備え、前記Ｓｌａｖｅ装置は、前記Ｍａｓｔｅｒ装置から受信した前記位相同期フレームに格納されている整数値Ｔ１を整数値２Ｔで除算したときの剰余Ｒ１を求め、自装置の前記時計が示す当該位相同期フレームの受信時刻を表現する整数値Ｔ２を整数値２Ｔで除算したときの剰余Ｒ２を求め、Ｒ１−Ｒ２が０より大ならば、Ｒ１−Ｒ２が０になるまで自装置の前記時計を進め、Ｒ１−Ｒ２が０より小ならば、Ｒ１−Ｒ２が０になるまで自装置の前記時計を遅らせる手段を備えたところにある（請求項１）。
【００２２】
さらに、瞬間的な同期フレームの遅延揺らぎなどの影響を排除するため、前記Ｓｌａｖｅ装置には、時系列信号ｘを平滑化して出力する２つのフィルタｆｉｌｔ１（ｘ）、ｆｉｌｔ２（ｘ）と、前記位相同期フレームを受信する度に前記剰余Ｒ１と剰余Ｒ２とをこのフィルタに入力し、得られる出力ｆｉｌｔ１（Ｒ１）とｆｉｌｔ２（Ｒ２）との差
Δｐ＝ｆｉｌｔ１（Ｒ１）−ｆｉｌｔ２（Ｒ２）
を求め、Δｐが０より大ならばΔｐ＝０になるまで自装置の前記時計を進め、Δｐが０より小ならばΔｐ＝０になるまで自装置の前記時計を遅らせる手段とを備えることができる（請求項２）。
【００２３】
次に、隣接装置間で位相に加え時刻同期も行う方法について説明する。第一の方法は、時刻を位相周期Ｔの整数倍の成分と、位相周期Ｔ未満の成分とに分けて同期を行う。位相周期Ｔ未満の成分に関しては既に説明した本発明の同期装置による位相同期によって同期が可能である。
【００２４】
一方、位相周期Ｔの整数倍の成分に関しては、Ｍａｓｔｅｒ装置と同期関係にある時刻標準からＮＴＰやＧＰＳ、電波時計などの外部手段で得られた時刻情報に、時刻が位相周期の整数倍となるタイミングで更新することにより、時刻同期を行うことが可能になる。この場合には、時刻同期精度は位相同期精度で決定され、外部手段で得る時刻情報の要求精度は緩和される。
【００２５】
このように、既に説明した本発明の同期装置で位相同期を実現した上で外部にある時刻標準により時刻同期を行うために、本発明の同期装置は、前記Ｓｌａｖｅ装置は、自装置の前記時計が示す時刻を表す整数値Ｔｓに基づき、演算結果Ｔｓ／Ｔの整数部分を求め、このＴｓ／Ｔの整数部分を自装置の外部から与えられた標準時刻に一致させるように自装置の前記時計を調節する手段を備えることが望ましい（請求項３）。
【００２６】
隣接装置間で時刻同期を行う第二の方法は、Ｍａｓｔｅｒ装置の時計で測った同期フレームの送出時刻を、Ｓｌａｖｅ装置の時計で測った同期フレームの受信時刻から推定される同期フレームの送出時刻と比較して一致させる方法である。
【００２７】
時刻のずれの中で周期Ｔ未満の成分は、既に説明した本発明の同期装置で同期が実現されるので、Ｍａｓｔｅｒ装置とＳｌａｖｅ装置との間では周期Ｔ以上の時刻のずれを周期Ｔ単位で一致させればよい。
【００２８】
これを実現するために、本発明の同期装置は、前記Ｓｌａｖｅ装置は、前記Ｍａｓｔｅｒ装置と前記Ｓｌａｖｅ装置との間の伝送遅延時間がｄであって、周期Ｔが前記伝送遅延時間ｄよりも大であるときには、前記位相同期フレームに格納されている整数値Ｔ１と周期Ｔとを除算した演算結果Ｔ１／２Ｔの整数部分（以降では整数部分を［Ｔ１／２Ｔ］のように［  ］を用いて記す）を求めると共に、前記位相同期フレームを受信したときの自装置の前記時計が示す時刻を表す整数値Ｔｓｒと周期Ｔとを除算した演算結果Ｔｓｒ／Ｔの整数部分［Ｔｓｒ／Ｔ］を求め、この［Ｔｓｒ／Ｔ］と［Ｔ１／２Ｔ］とから数値
Ｄ＝［Ｔｓｒ／Ｔ］×Ｔ−（［Ｔ１／２Ｔ］＋１）×２Ｔ
を求め、自装置の前記時計が示す時刻から前記Ｄを減ずる手段を備えることが望ましい（請求項４）。
【００２９】
ここで、時刻Ｔ１はＭａｓｔｅｒ装置の位相同期フレーム受信時刻である。Ｍａｓｔｅｒ装置からＳｌａｖｅ装置に向かって位相同期フレームを送るとき、Ｍａｓｔｅｒ装置が位相同期フレームを送信した時刻を、Ｍａｓｔｅｒ装置が持つ時計で測ったときの値をｔ＿Ｍとする。ｔ＿Ｍは時刻Ｔ１以降で初めてＴＭを整数値２Ｔで除算したときの剰余が０となる時刻であるので、次式で表される。
ｔ＿Ｍ＝（［Ｔ１／２Ｔ］＋１）×２Ｔ                              …（３）
【００３０】
次に、Ｍａｓｔｅｒ装置が位相同期フレームを送信した時刻を、Ｓｌａｖｅ装置が持つ時計で推測したときの値をｔ＿Ｓとする。Ｔｓｒは位相同期フレームの受信時刻である。伝送遅延ｄは周期Ｔより小さいと仮定していることと、時刻が２Ｔの整数倍のときに位相同期フレームを送っていることを考えれば、ｔ＿ＳはＴｓｒより前で最後に時刻がＴの整数倍になった時点と推測されるので次式が成立する。
ｔ＿Ｓ＝［Ｔｓ／Ｔ］×Ｔ                                        …（４）
式（３）および（４）からＳｌａｖｅ装置が持つ時計の進み度合いＤは次式となる。
Ｄ＝ｔ＿Ｓ−ｔ＿Ｍ＝［Ｔｓｒ／Ｔ］×Ｔ−（［Ｔ１／２Ｔ］＋１）×２Ｔ…（５）
この結果、Ｓｌａｖｅ装置が持つ時計を、値Ｄだけ遅らせればＴの整数倍の単位で時刻同期が実現する。
【００３１】
隣接装置間で時刻同期を行う第三の方法は、時刻同期フレームを使う方法である。この方法を実現するために、本発明は、Ｍａｓｔｅｒ装置とＳｌａｖｅ装置とが互いに伝送路により接続され、このＭａｓｔｅｒ装置とＳｌａｖｅ装置とは、それぞれ周期Ｔの信号を発生する手段と、この発生する手段が発生した前記周期Ｔの信号の位相を前記Ｍａｓｔｅｒ装置と前記Ｓｌａｖｅ装置とで一致させる手段とを備えた同期装置であって、本発明の特徴とするところは、前記Ｓｌａｖｅ装置は、時刻を整数値で表現する時計と、この時計により整数値で表現された時刻を格納した時刻同期フレームを前記Ｍａｓｔｅｒ装置に送出する手段と、前記Ｍａｓｔｅｒ装置と前記Ｓｌａｖｅ装置との間の伝送遅延時間をｄとしたとき、周期Ｔと伝送遅延時間ｄとに基づき２ｄ／Ｔ＋１を計算し、数値２ｄ／Ｔ＋１よりも大きな整数値Ｎを求め、この整数値Ｎと周期Ｔとから時間Ｔｕ＝Ｎ×Ｔを計算する手段と、自装置の時計の示す時刻が時間Ｔｕの整数倍になった時点で前記時刻同期フレームを前記送出する手段により前記Ｍａｓｔｅｒ装置に送出する手段とを備え、前記Ｍａｓｔｅｒ装置は、時刻を整数値で表現する時計と、前記Ｓｌａｖｅ装置から前記時刻同期フレームを受信した時点で自装置の前記時計が示す時刻を表現した整数値Ｔ１を格納した時刻同期フレームを返送する手段と、整数値Ｔ１が表現する時刻よりも後で、自装置の前記時計が示す時刻が最初に周期Ｔの整数倍になる時点で整数値Ｔ１を含む前記時刻同期フレームを前記返送する手段により前記Ｓｌａｖｅ装置に返送する手段とを備え、前記Ｓｌａｖｅ装置は、前記Ｍａｓｔｅｒ装置から返送された前記時刻同期フレームを受信したときに前記時計が示す時刻Ｔｓｒと、前記時刻同期フレームに格納された時刻Ｔ１と、周期Ｔと、時間Ｔｕとに基づきＴｓｒ／Ｔｕの整数部分にＴｕを乗じた値［Ｔｓｒ／Ｔｕ］×Ｔｕと、Ｔ１／Ｔの整数部分を１増加しＴを乗じた値（［Ｔ１／Ｔ］＋１）×Ｔとから数値
Ｄ＝
｛［Ｔｓｒ／Ｔｕ］×Ｔｕ−Ｔ１−（［Ｔ１／Ｔ］＋１）×Ｔ＋Ｔｓｒ｝／２
を計算し、自装置の前記時計が示す時刻からＤを減ずる手段を備えたところにある（請求項５）。
【００３２】
ここで、Ｓｌａｖｅ装置からＭａｓｔｅｒ装置に時刻同期フレームを送るときの伝送遅延ｄ＿ｓｍに着目する。ｄ＿ｓｍは、Ｍａｓｔｅｒ装置の時計で測った時刻同期フレーム受信時刻Ｔ１と、Ｍａｓｔｅｒ装置の時計で測った時刻同期フレーム送信時刻との差である。
【００３３】
一方、Ｓｌａｖｅ装置の時計で測った時刻同期フレーム送信時刻Ｔ０は、Ｓｌａｖｅ装置の時刻同期フレーム送信条件と、Ｔｕが往復遅延＋Ｔより大きく選ばれることから、時計が示す時刻がＴｓより前で最後にＴｕの整数倍になった時刻である。
Ｔ０＝［Ｔｓ／Ｔｕ］×Ｔｕ                                      …（６）
この値Ｔ０からＳｌａｖｅ装置の時計の進みＤを差し引けばＭａｓｔｅｒ装置の時計で測った時刻同期フレーム送信時刻が求まる。すなわち、式（６）を使って、
ｄ＿ｓｍ＝Ｔ１−［Ｔｓ／Ｔｕ］×Ｔｕ＋Ｄ                      …（７）
【００３４】
次に、Ｍａｓｔｅｒ装置がＳｌａｖｅ装置へ時刻同期フレームを返送するときの伝送遅延ｄ＿ｍｓに着目する。ｄ＿ｍｓは、Ｍａｓｔｅｒ装置の時計で測った時刻同期フレーム受信時刻とＭａｓｔｅｒ装置の時計で測った時刻同期フレーム送信時刻との差である。
【００３５】
Ｍａｓｔｅｒ装置の時計で測った時刻同期フレーム受信時刻は、Ｓｌａｖｅ装置の時計で測った時刻同期フレーム受信時刻ＴｓからＳｌａｖｅ装置の時計の進みＤを差し引いた値である。また、Ｍａｓｔｅｒ装置の時計で測った時刻同期フレーム送信時刻は、Ｔ１以降で最初にＭａｓｔｅｒ装置の時計がＴの整数倍の時刻を示す時点である。この時刻をＴ２とする次式となる。
Ｔ２＝（［Ｔ１／Ｔ］＋１）×Ｔ                                  …（８）
したがって、ｄ＿ｍｓは次式で表される。
ｄ＿ｍｓ＝Ｔｓ−Ｄ−（［Ｔ１／Ｔ］＋１）×Ｔ                    …（９）
【００３６】
伝送リンクで直接接続された２装置間では、ｄ＿ｓｍとｄ＿ｍｓの値は等しいと考えられる。この性質と式（７）と式（９）とを用いると、Ｓｌａｖｅ装置の時計の進みＤを次のように求められる。
Ｄ＝
｛［Ｔｓ／Ｔｕ］×Ｔｕ−Ｔ１−（［Ｔ１／Ｔ］＋１）×Ｔ＋Ｔｓ｝／２…（１０）
【００３７】
このように、Ｓｌａｖｅ装置が取得できるパラメータのみで同装置の時計の誤差を知ることができ、時刻からＤを減ずれば時刻同期が達成される。
【００３８】
ネットワーク形式で接続された装置間で時刻同期を行うには、伝送路で直接接続された隣接装置間でＭａｓｔｅｒ装置とＳｌａｖｅ装置との関係を作って、既に説明した本発明の同期装置による位相同期手順または時刻同期手順を適用し、かつ、ネットワーク内でただ１つの装置の時刻または位相に、他の装置が時刻または位相を同期させる必要がある。
【００３９】
また、ある装置Ａに対してＭａｓｔｅｒ装置となる装置Ｂを見つけ、さらに装置Ｂに対してＭａｓｔｅｒ装置となる装置Ｃを見つけ、という順序で装置のパスを探索したとき、閉路ができてはならない。閉路ができると、これは時刻または位相の基準となる装置が定まらないためである。
【００４０】
このような条件を満たすようにネットワーク内でＭａｓｔｅｒ装置とＳｌａｖｅ装置との関係を見出すため、本発明は、ネットワーク内の２以上の通信装置が互いに伝送路により接続され、この伝送路にはそれぞれコストが定義され、ネットワーク内の全ての通信装置は一意に識別可能な識別情報が付与され、１つの通信装置が発生する信号周期または同装置が備えた時計の示す時刻を、他の全ての通信装置が発生する信号周期またはこれらの通信装置に備えられた時計の示す時刻に一致させる手段を備えた同期装置である。
【００４１】
ここで、本発明の特徴とするところは、前記伝送路により直接接続された２つの通信装置の間で、当該通信装置に付与された識別情報と当該通信装置に関する評価値とをメッセージにより交換する手段を備え、この交換する手段は、前記メッセージの運ぶ識別情報ｉと伝送路コストパラメータｃとを入力として一意に決まる数値を出力する評価関数ｆ（ｉ，ｃ）を演算する手段と、自装置の識別情報ｉ０と値０とに基づき自装置の評価値ｆ（ｉ０，０）を計算し、この評価値ｆ（ｉ０，０）と自装置に接続されている全ての伝送路Ｌ１、Ｌ２、…から到着するメッセージに記されている直接接続された他装置の評価値ｆ（ｉ１，ｃ１）、ｆ（ｉ２，ｃ２）…とを比較し、直接接続された装置の評価値ｆ（ｉ１，ｃ１）、ｆ（ｉ２，ｃ２）…のいずれよりも自装置の評価値ｆ（ｉ０，０）の方が大きければ、自装置は直接接続された装置との間で、既に説明した本発明の同期装置におけるＭａｓｔｅｒ装置を自装置とし、Ｓｌａｖｅ装置を他装置とする位相同期手順または時刻同期手順を実行する手段と、自装置が直接接続された他装置に送る前記メッセージには、自装置の識別情報ｉ０と伝送路Ｌ１、Ｌ２、…に付与されたコストｃ１、ｃ２、…から計算される評価値ｆ（ｉ０，ｃ１）、ｆ（ｉ０，ｃ２）、…をメッセージ中のコストパラメータとして書き込み、直接接続された他装置から受け取ったメッセージ中の評価値ｆ（ｉ１，ｃ１）、ｆ（ｉ２，ｃ２）、…の中に自装置の評価値ｆ（ｉ０，０）よりも大きいものがある場合は、評価値ｆ（ｉ１，ｃ１）、ｆ（ｉ２，ｃ２）、…の中で最大のものを与える他装置を検索し、自装置と前記最大の評価値を与える他装置との間で、既に説明した本発明の同期装置におけるＳｌａｖｅ装置を自装置とし、前記最大の評価値を与える他装置をＭａｓｔｅｒ装置として位相同期手順または時刻同期手順を実行し、その後、自装置が直接接続された他装置に送る前記メッセージには、自装置の識別情報ｉ０を書き込むと共に、評価値は、直接接続された装置が前記最大の評価値を与える他装置Ｍならばこの他装置Ｍとの間の伝送路コストｃＭと自装置の識別情報ｉ０とを用いてｆ（ｉ０，ｃＭ）とし、直接接続された装置が前記最大の評価値を与える他装置でなければ、前記最大の評価値を与える他装置からメッセージを通じて受け取る評価値ｆ（ｉＭ，ｃＭ）と伝送路Ｌ１、Ｌ２、…に付与されたコストｃ１、ｃ２、…とを用いてｆ（ｉＭ，ｃＭ）＋ｃｋ（ただしｋはＭでない自然数）とする手段とを備えたところにある（請求項６）。
【発明の効果】
【００４２】
本発明の同期装置では、同期に関する情報を精確な周期で送出することにより情報量を最小化できるため、他のトラヒックへの影響を最小限に抑えることができる。
【００４３】
また、同期に関する情報は、全ての装置で終端されるため、同期用パケットを透過させるようにファイアウォールを設定する必要は無いので、ファイアウォールで多くの不要パケットを遮断でき、セキュリティーが高い。
【００４４】
また、同期に関する情報は物理的に隣接した装置間で終端されるので、パケットの往路と復路の遅延は常に等しく、かつルータやスイッチを中間に介することがなく、その遅延揺らぎを受けることがないので高精度な同期が可能になる。
【００４５】
また、運用に当たり特別な知識が不要であり、運用容易である。
【発明を実施するための最良の形態】
【００４６】
（第一実施例）
本発明第一実施例を図１および図２を参照して説明する。第一実施例は、図１のＭａｓｔｅｒ装置の周期信号Ｔｒｉｇに図２のＳｌａｖｅ装置のＴｒｉｇ信号を位相同期させる動作に対する本発明の適用を示している。
【００４７】
第一実施例は、図１に示すＭａｓｔｅｒ装置Ｍと図２に示すＳｌａｖｅ装置Ｓとが互いに伝送路により接続され、このＭａｓｔｅｒ装置ＭとＳｌａｖｅ装置Ｓとは、それぞれ周期Ｔの信号を発生する分周器２と、この分周器２が発生した前記周期Ｔの信号の位相をＭａｓｔｅｒ装置ＭとＳｌａｖｅ装置Ｓとで一致させる同期回路ＳＹＮとを備えた同期装置である。
【００４８】
ここで、第一実施例の特徴とするところは、Ｓｌａｖｅ装置Ｓは、時刻を整数値で表現する時計を分周器２に備え、この時計により整数値で表現された時刻を格納した位相同期フレームをＭａｓｔｅｒ装置Ｍに送出するフレーム生成器６−Ｓと、前記時計が示す時刻Ｔｓを入力し、この時刻Ｔｓを整数値２Ｔで除算したときの剰余が０となる時刻にフレーム生成器６−Ｓにより前記位相同期フレームをＭａｓｔｅｒ装置Ｍに送出する演算器３−Ｓとを備え、Ｍａｓｔｅｒ装置Ｍは、時刻を整数値で表現する時計を分周器２に備え、Ｓｌａｖｅ装置Ｓから受け取った前記位相同期フレームに自装置の前記時計が示す当該位相同期フレームの受信時刻を表現する整数値Ｔ１を格納してＳｌａｖｅ装置Ｓに返送するフレーム生成器６−Ｍと、前記時計が示す時刻である整数値ＴＭを整数値２Ｔで除算したときの剰余が０となる時刻に前記位相同期フレームをフレーム生成器６−ＭによりＳｌａｖｅ装置Ｓに返送する演算器３−Ｍとを備え、Ｓｌａｖｅ装置Ｓは、Ｍａｓｔｅｒ装置Ｍから受信した前記位相同期フレームに格納されている整数値Ｔ１を整数値２Ｔで除算したときの剰余Ｒ１を求め、自装置の前記時計が示す当該位相同期フレームの受信時刻を表現する整数値Ｔ２を整数値２Ｔで除算したときの剰余Ｒ２を求め、Ｒ１−Ｒ２が０より大ならば、Ｒ１−Ｒ２が０になるまで自装置の前記時計を進め、Ｒ１−Ｒ２が０より小ならば、Ｒ１−Ｒ２が０になるまで自装置の前記時計を遅らせる比較器９を備えたところにある（請求項１）。
【００４９】
また、Ｓｌａｖｅ装置Ｓには、時系列信号ｘを平滑化して出力する２つのフィルタｆｉｌｔ１（ｘ）、ｆｉｌｔ２（ｘ）を含むディジタルフィルタ８を備え、比較器９は、前記位相同期フレームを受信する度に前記剰余Ｒ１と剰余Ｒ２とをこのフィルタに入力し、得られる出力ｆｉｌｔ１（Ｒ１）とｆｉｌｔ２（Ｒ２）との差
Δｐ＝ｆｉｌｔ１（Ｒ１）−ｆｉｌｔ２（Ｒ２）
を求め、Δｐが０より大ならばΔｐ＝０になるまで自装置の前記時計を進め、Δｐが０より小ならばΔｐ＝０になるまで自装置の前記時計を遅らせる手段を備える（請求項２）。
【００５０】
次に、第一実施例の同期装置の動作を説明する。図１のＭａｓｔｅｒ装置Ｍではローカル発振器１の出力を分周器２によりＴ分周し、さらに、演算器３−Ｍにより２分周する。分周器２の出力をＭａｓｔｅｒ装置における基準とする。分周器２および演算器３−Ｍはカウンタで構成され、カウント値をＴｍａｓｔｅｒで表す。
【００５１】
Ｓｌａｖｅ装置Ｓから位相同期フレームが到着すると検出器４が即時にトリガを発生させる。このときのカウント値Ｔｍａｓｔｅｒをフリップフロップ５で捕捉し、この出力をＴ２と呼ぶ。このＴ２を入れた位相同期フレームをフレーム生成器６−Ｓにより生成し、剰余関数Ｔｍａｓｔｅｒ  ｍｏｄ  ２Ｔの出力が０となる瞬間に合流器７を介してＳｌａｖｅ装置に送出する。
【００５２】
図２のＳｌａｖｅ装置Ｓにおいてもローカル発振器１の出力を分周器２によりＴ分周し、さらに演算器３−Ｓにより２分周する。分周器２の出力をＳｌａｖｅ装置Ｓにおける基準とする。分周器２および演算器３−Ｓはカウンタで構成されカウント値をＴｓｌａｖｅで表す。フレーム生成器６−Ｓで位相同期フレームを生成し、Ｔｓｌａｖｅ  ｍｏｄ  ２Ｔ＝０となる瞬間に合流器７を介してＭａｓｔｅｒ装置Ｍに送出する。
【００５３】
Ｍａｓｔｅｒ装置Ｍから位相同期フレームが到着すると検出器４が即時にトリガを発生させる。このときのカウント値Ｔｓｌａｖｅをフリップフロップ５で捕捉し、この出力をＴ４と呼ぶ。検出器４では受信フレームからＴ２を抽出し、ディジタルフィルタ８で処理した結果とＴ４とを比較器９のレジスタに入力して演算を行う。この演算結果によってＴｓｌａｖｅを増減させることで、Ｓｌａｖｅ装置ＳのＴｒｉｇ信号出力をＭａｓｔｅｒ装置ＭのＴｒｉｇ信号に同期させることができる。
【００５４】
以上説明したように、第一実施例を適用した場合には、位相同期フレームにただ１つのパラメータＴ２のみを挿入することでＳｌａｖｅ装置Ｓの周期信号ＴｒｉｇをＭａｓｔｅｒ装置Ｍの周期信号Ｔｒｉｇに位相同期させることができる。信号の周期性を利用して従来技術よりもフレームで運ぶパラメータを減らしているのでオーバヘッドが少ない利点がある。
【００５５】
（第二実施例）
本発明第二実施例を図３を参照して説明する（請求項２）。第二実施例はＭａｓｔｅｒ−Ｓｌａｖｅ間の位相を同期させる動作のシミュレーション結果を示している。Ｍａｓｔｅｒ装置ＭおよびＳｌａｖｅ装置Ｓの構成は、第一実施例と同じとする。ただし、時系列信号ｘ＿ｎ（ｎ＝１，２，３，…）に対しディジタルフィルタ８の出力ｆ（ｘ＿ｎ）は次のように与えられる。
ｆ（ｘ＿ｎ）＝（（α−１）／α）ｆ（ｘ＿（ｎ−１））＋ｘ＿ｎ／α  …（１１）
ここで入力される時系列信号は位相同期フレームの到着時点に発生する受信時刻Ｔ２の系列である。第二実施例において、パラメータはα＝５０、Ｔ＝１０００（単位はクロック周期）、ｄ＝２０１００（クロック、Ｔを単位とすると２０．１Ｔ）、初期状態での位相差をＴｍａｓｔｅｒ−Ｔｓｌａｖｅ＝−５０（クロック）とした。
【００５６】
比較器９の出力ＣＯＭＰ（ａ，ｂ）は入力ａ，ｂに対して次のように定義される。
ＣＯＭＰ（ａ，ｂ）＝
−１，ｆｏｒ  ａ−ｂ＜−０．５
０，ｆｏｒ  −０．５≦ａ−ｂ≦０．５
１，ｆｏｒ  ０．５＜ａ−ｂ
…（１２）
【００５７】
比較器９にはフリップフロップ５の出力Ｔ４とディジタルフィルタ８の出力ｆ（Ｔ２）を入力する。得られる出力値を位相同期フレームの到着の度にＳｌａｖｅ装置の時計が示す時刻に加えていく。
【００５８】
位相同期が完了すると、Ｔ  ｍｏｄ  Ｔ２＝Ｔ  ｍｏｄ  Ｔ４＝ｄ  ｍｏｄ  Ｔ＝１００（クロック）となる。
【００５９】
図３においては縦軸はクロック、横軸は位相周期Ｔを単位としている。この設定では、およそ３００周期で同期が確立している。
【００６０】
第二実施例を第一実施例と共に適用することにより、フィルタの平滑作用により、位相同期フレームの遅延が一時的に変動してもその影響を排除することができ、安定に位相同期を行うことができる利点がある。
【００６１】
（第三実施例）
第三実施例を図４を参照して説明する。第三実施例は、Ｓｌａｖｅ装置Ｓの位相同期をＭａｓｔｅｒ装置Ｍとの通信によって行い、外部の時計を用いることで時刻同期を行う方法を示している。
【００６２】
第三実施例では、図２に示したＳｌａｖｅ装置Ｓのブロック構成に追加する形で図４に示すブロック構成を備える。すなわち、図４に示すブロック構成は、図２に示すブロック構成におけるＴｒｉｇ、Ｔｒｅｓｔの出力と外部から与えられた標準時刻Ｔｅｘｔとを入力し、除算器１１は、自装置の分周器２の時計が示す時刻を表す整数値Ｔｓに基づき、演算結果Ｔｓ／Ｔの整数部分［Ｔｓ／Ｔ］を求め、時刻修正器１３は、この［Ｔｓ／Ｔ］を自装置の外部から与えられた標準時刻Ｔｅｘｔに一致させるように自装置の前記時計を調節する手段を備える（請求項３）。
【００６３】
図４においてＴｒｉｇは図２のＴｒｉｇと同じものでありＭａｓｔｅｒ装置に位相同期した周期信号Ｔｅｘｔは外部時計の時刻信号である。ラッチ１０において外部の時計Ｔｅｘｔの情報をＴｒｉｇの立ち下がりで捕捉する（Ｘ）。除算器１１で次のＴｒｉｇの立ち上がり時刻における時刻を計算する（Ｙ＝Ｘ／Ｔ＋１）。ラッチ１２において時刻の計算結果を時刻修正器１３に伝達し、時刻修正器１３では位相同期によって得た情報とラッチ１０、除算器１１、ラッチ１２のプロセスによって得られた情報とを合わせてＳｌａｖｅ装置Ｓにおける時刻として出力する。
【００６４】
第三実施例を適用すると、位相同期フレームには最小のパラメータを挿入するのみという特徴を維持しつつ、時刻同期も可能となる。ここで外部時計には位相周期Ｔ以内の揺らぎがあってもよいので、従来技術よりも精度の良い時刻同期が可能となる。
【００６５】
（第四実施例）
本発明第四実施例を図５を参照して説明する。第四実施例はＳｌａｖｅ装置とＭａｓｔｅｒ装置との間の伝送遅延が位相周期Ｔよりも小さい場合の時刻同期を行う方法を示している。第四実施例における同期装置の構成は、図１および図２に示す第一実施例の同期装置の構成と共通である。
【００６６】
第四実施例では、Ｓｌａｖｅ装置Ｓの比較器９は、Ｍａｓｔｅｒ装置ＭとＳｌａｖｅ装置Ｓとの間の伝送遅延時間がｄであって、周期Ｔが前記伝送遅延時間ｄよりも大であるときには、前記位相同期フレームに格納されている整数値Ｔ１と周期Ｔとを除算した演算結果Ｔ１／２Ｔの整数部分［Ｔ１／２Ｔ］を求めると共に、前記位相同期フレームを受信したときの自装置の前記時計が示す時刻を表す整数値Ｔｓｒと周期Ｔとを除算した演算結果Ｔｓｒ／Ｔの整数部分［Ｔｓｒ／Ｔ］を求め、この［Ｔｓｒ／Ｔ］と［Ｔ１／２Ｔ］とから数値
Ｄ＝［Ｔｓｒ／Ｔ］×Ｔ−（［Ｔ１／２Ｔ］＋１）×２Ｔ
を求め、自装置の前記時計が示す時刻から前記Ｄを減ずる手段を備える（請求項４）。
【００６７】
図５はＴ＝１００（クロック）、ｄ＝４８（クロック）を仮定した場合のＳｌａｖｅ装置における分周器２のカウンタおよび比較器９のレジスタの動作列である。時刻１４にＭａｓｔｅｒ装置から同期フレームが到着する。フレームに格納されていた時刻の整数値Ｔ１をレジスタＴ２に、フレームが到着した時刻Ｔｓｒのローカル時刻ＴｌｏｃａｌをレジスタＴ４に格納する。直ちにＳｌａｖｅ装置Ｓが持つ時計の時刻誤差
Ｄ＝［Ｔ４／Ｔ］×Ｔ−（［Ｔ２／２Ｔ］＋１）×２Ｔ
を計算し、Ｔｒｉｇの立ち上がりでローカル時刻Ｔｌｏｃａｌに反映する。
【００６８】
第四実施例により、Ｓｌａｖｅ装置ＳとＭａｓｔｅｒ装置Ｍとの間の伝送遅延が位相周期Ｔよりも小さい場合には、位相周期フレームには最小のパラメータを挿入するのみという特徴を維持しつつ、時刻同期が可能となる利点がある。
【００６９】
（第五実施例）
本発明第五実施例を図６を参照して説明する。図６はＴ＝１００（クロック）、Ｔｕ＝５００（クロック）、ｄ＝４８（クロック）を仮定した場合のＳｌａｖｅ装置Ｓにおける分周器２のカウンタおよび比較器９のレジスタの動作例である。第五実施例の同期装置のブロック構成は、図１および図２に示したブロック構成と共通である。
【００７０】
第五実施例は、図１に示すＭａｓｔｅｒ装置Ｍと図２に示すＳｌａｖｅ装置Ｓとが互いに伝送路により接続され、このＭａｓｔｅｒ装置ＭとＳｌａｖｅ装置Ｓとは、それぞれ周期Ｔの信号を発生する分周器２と、この分周器２が発生した前記周期Ｔの信号の位相をＭａｓｔｅｒ装置ＭとＳｌａｖｅ装置Ｓとで一致させる同期回路ＳＹＮとを備えた同期装置である。
【００７１】
ここで、第五実施例の特徴とするところは、Ｓｌａｖｅ装置Ｓは、時刻を整数値で表現する時計を分周器２に備え、この時計により整数値で表現された時刻を格納した時刻同期フレームをＭａｓｔｅｒ装置Ｍに送出するフレーム生成器６−Ｓを備え、Ｍａｓｔｅｒ装置ＭとＳｌａｖｅ装置Ｓとの間の伝送遅延時間をｄとしたとき、周期Ｔと伝送遅延時間ｄとに基づき２ｄ／Ｔ＋１を計算し、数値２ｄ／Ｔ＋１よりも大きな整数値Ｎを求め、この整数値Ｎと周期Ｔとから時間Ｔｕ＝Ｎ×Ｔを計算する手段と、自装置の時計の示す時刻が時間Ｔｕの整数倍になった時点で前記時刻同期フレームをフレーム生成器６−ＳによりＭａｓｔｅｒ装置Ｍに送出する手段とを演算器３−Ｓに備え、Ｍａｓｔｅｒ装置Ｍは、時刻を整数値で表現する時計を分周器２に備え、Ｓｌａｖｅ装置Ｓから前記時刻同期フレームを受信した時点で自装置の前記時計が示す時刻を表現した整数値Ｔ１を格納した時刻同期フレームを返送するフレーム生成器６−Ｍと、整数値Ｔ１が表現する時刻よりも後で、自装置の前記時計が示す時刻が最初に周期Ｔの整数倍になる時点で整数値Ｔ１を含む前記時刻同期フレームをフレーム生成器６−ＭによりＳｌａｖｅ装置Ｓに返送する演算器３−Ｍとを備え、Ｓｌａｖｅ装置Ｓは、Ｍａｓｔｅｒ装置Ｍから返送された前記時刻同期フレームを受信したときに前記時計が示す時刻Ｔｓｒと、前記時刻同期フレームに格納された時刻Ｔ１と、周期Ｔと、時間Ｔｕとに基づきＴｓｒ／Ｔｕの整数部分にＴｕを乗じた値［Ｔｓｒ／Ｔｕ］×Ｔｕと、Ｔ１／Ｔの整数部分を１増加しＴを乗じた値（［Ｔ１／Ｔ］＋１）×Ｔとから数値
Ｄ＝
｛［Ｔｓｒ／Ｔｕ］×Ｔｕ−Ｔ１−（［Ｔ１／Ｔ］＋１）×Ｔ＋Ｔｓｒ｝／２
を計算し、自装置の前記時計が示す時刻からＤを減ずる手段を比較器９に備えたところにある（請求項５）。
【００７２】
図６に示すように、時刻１７にＳｌａｖｅ装置が同期フレームを送出し、このフレームに対する応答が時刻１８に到着する。
【００７３】
フレームに格納されていた時刻の整数値Ｔ１をレジスタＴ２に、フレーム到着した時刻Ｔｓｒのローカル時刻ＴｌｏｃａｌをレジスタＴ４に格納する。直ちにＳｌａｖｅ装置が持つ時計の誤差
Ｄ＝｛［Ｔ４／Ｔｕ］×Ｔｕ−Ｔ２−（［Ｔ２／Ｔ］＋１）×Ｔ＋Ｔ４｝｝／２
を計算し、［Ｔｌｏｃａｌ／Ｔｕ］＝０の時刻１９にＴｌｏｃａｌに反映する。
【００７４】
第五実施例では、時刻同期フレームが必要になるが、そのフレームが運ぶパラメータは１つだけであり、従来技術の同期用信号に比べれば簡略化でき、オーバヘッドは小さい。しかも位相周期Ｔを遅延ｄとは無関係に選んで時刻同期を実現できる利点がある。
【００７５】
（第六実施例）
本発明第六実施例を図７〜図１０を参照して説明する。図７〜図１０は第六実施例に対するＥｔｈｅｒｎｅｔ（登録商標）機器への本発明の実施例を示す。
【００７６】
第六実施例は、図７に示すように、ネットワーク内の２以上の通信装置が互いに伝送路により接続され、この伝送路にはそれぞれコストが定義され、ネットワーク内の全ての通信装置は一意に識別可能な識別情報が付与され、１つの通信装置が発生する信号周期または同装置が備えた時計の示す時刻を、他の全ての通信装置が発生する信号周期またはこれらの通信装置に備えられた時計の示す時刻に一致させる同期制御回路２１を備えた同期装置である。
【００７７】
ここで、第六実施例の特徴とするところは、前記伝送路により直接接続された２つの通信装置の間で、当該通信装置に付与された識別情報と当該通信装置に関する評価値とをメッセージにより交換する手段を備え、この交換する手段は、前記メッセージの運ぶ識別情報ｉと伝送路コストパラメータｃとを入力として一意に決まる数値を出力する評価関数ｆ（ｉ，ｃ）を演算する手段と、自装置の識別情報ｉ０と値０とに基づき自装置の評価値ｆ（ｉ０，０）を計算し、この評価値ｆ（ｉ０，０）と自装置に接続されている全ての伝送路Ｌ１、Ｌ２、…から到着するメッセージに記されている直接接続された他装置の評価値ｆ（ｉ１，ｃ１）、ｆ（ｉ２，ｃ２）…とを比較し、直接接続された装置の評価値ｆ（ｉ１，ｃ１）、ｆ（ｉ２，ｃ２）…のいずれよりも自装置の評価値ｆ（ｉ０，０）の方が大きければ、自装置は直接接続された装置との間で、第一〜第五実施例のいずれかに記載の同期装置におけるＭａｓｔｅｒ装置を自装置とし、Ｓｌａｖｅ装置を他装置とする位相同期手順または時刻同期手順を実行する手段と、自装置が直接接続された他装置に送る前記メッセージには、自装置の識別情報ｉ０と伝送路Ｌ１、Ｌ２、…に付与されたコストｃ１、ｃ２、…から計算される評価値ｆ（ｉ０，ｃ１）、ｆ（ｉ０，ｃ２）、…をメッセージ中のコストパラメータとして書き込み、直接接続された他装置から受け取ったメッセージ中の評価値ｆ（ｉ１，ｃ１）、ｆ（ｉ２，ｃ２）、…の中に自装置の評価値ｆ（ｉ０，０）よりも大きいものがある場合は、評価値ｆ（ｉ１，ｃ１）、ｆ（ｉ２，ｃ２）、…の中で最大のものを与える他装置を検索し、自装置と前記最大の評価値を与える他装置との間で、第一〜第五実施例のいずれかに記載の同期装置におけるＳｌａｖｅ装置を自装置とし、前記最大の評価値を与える他装置をＭａｓｔｅｒ装置として位相同期手順または時刻同期手順を実行し、その後、自装置が直接接続された他装置に送る前記メッセージには、自装置の識別情報ｉ０を書き込むと共に、評価値は、直接接続された装置が前記最大の評価値を与える他装置Ｍならばこの他装置Ｍとの間の伝送路コストｃＭと自装置の識別情報ｉ０とを用いてｆ（ｉ０，ｃＭ）とし、直接接続された装置が前記最大の評価値を与える他装置でなければ、前記最大の評価値を与える他装置からメッセージを通じて受け取る評価値ｆ（ｉＭ，ｃＭ）と伝送路Ｌ１、Ｌ２、…に付与されたコストｃ１、ｃ２、…とを用いてｆ（ｉＭ，ｃＭ）＋ｃｋ（ただしｋはＭでない自然数）とする手段とを備えたところにある（請求項６）。
【００７８】
第六実施例では通信コストは考慮せず、ＩＤが最大の機器をＳｅｒｖｅｒとする場合の構成を示している。
【００７９】
図７はＥｔｈｅｒｎｅｔ各ポートの同期フレームハンドラ２０と同期制御回路２１との接続を示している。同期フレームハンドラ２０はＰＣＳ層とＭＡＣ層との中間に位置し、同期フレームの生成、挿入、分離の役割を持つ。同期制御回路２１は、各同期フレームハンドラからの情報を元にＳｅｒｖｅｒもしくはＣｌｉｅｎｔの動作モードの決定を行い、同期信号を生成する働きを持つ。
【００８０】
図８は同期フレームハンドラ２０の内部構成を示す。外部からのフレームはフレームフィルタ２３で同期フレームとそれ以外のフレームとに分離される。ポートｋの同期フレームは同期フレーム受信回路２４に入力され、同期フレーム内のＴ２（ｋ）およびＩＤ（ｋ）を捕捉し、フレームの到着時刻をＴ４（ｋ）として出力する。
【００８１】
一方、送信側ではＳｅｒｖｅｒモードまたはｋ＝ｉｍａｘの場合にＩＤｌｏｃａｌを、それ以外の場合にはＩＤｓｅｒｖｅｒをＩＤセレクタ２５により選択し、ＴｒｉｇｇｅｒのタイミングでＴ４（ｋ）とＩＤセレクタ２５の出力とを含む同期フレームをフレーム生成器２６で生成し、フレームフィルタ２３を介して外部に送出する。
【００８２】
図９は同期制御回路２１の内部構成を示している。動作モード決定回路２８では、隣接ポートのＩＤおよび自装置のＩＤ２７を比較して動作モードを決定し、最大ＩＤポート番号ｉｍａｘ、ＩＤＳｅｒｖｅｒを出力する。ディジタルＰＬＬ回路２９ではＳｅｒｖｅｒモードの場合には自走してＴｒｉｇｇｅｒ、Ｔｌｏｃａｌを生成し、それ以外の場合には各ポートからのＴ２（ｋ）、Ｔ４（ｋ）を元に位相同期を行う。
【００８３】
図１０はディジタルＰＬＬ回路２９の内部構成を示す。Ｔ２（ｋ）、Ｔ４（ｋ）のうちｉｍａｘに対応した情報をセレクタ３０、３１でそれぞれ選択する。選択された情報はそれぞれＬｏｏｐ＿ｆｉｌｔｅｒ３２、３３を通り比較器３４に入力される。比較器３４は位相制御情報を生成する。カウンタ３５はＳｅｒｖｅｒモードの場合には自走し、それ以外の場合には位相制御情報にしたがってカウントを進めたり遅らせたりすることでＳｅｒｖｅｒ機器への位相同期を行う。
【００８４】
（第七実施例）
本発明第七実施例を図１１を参照して説明する（請求項６）。第七実施例は、第一〜第六実施例で説明した同期装置を備えたネットワークにおける初期状態から定常状態に至るまでの過程を示している。ここで評価関数ｆ（ｉ，ｃ）は、伝送路のコスト値ｃはすべて０として、ｆ（ｉ，ｃ）＝ｉ＋ｃと定義した場合について説明する。
【００８５】
図７において、スイッチやルータに相当する５つの装置があり、ＩＤは各装置に付与された識別番号、Ｆｍａｘは他の装置から受信した評価値の最大値、矢印に付与された数値はメッセージに評価値として書き込まれる値を示している。
【００８６】
図７において、（ａ）初期状態においては全ての装置が通信相手に対しては自装置の識別番号を送出する。（ｂ）１ステップ後には各装置は自装置の識別番号よりも大きな識別番号を受信した場合に、最も大きな識別番号の他装置に対しては自装置の識別番号、それ以外の装置に対しては最大受信識別番号値を送出する。
【００８７】
ここで、装置は最も大きな識別番号の他装置に対してはＳｌａｖｅ装置として働き、最も大きな識別番号の他装置はこの装置に対してＭａｓｔｅｒ装置として動作する。このステップを繰り返すと、Ｍａｓｔｅｒ装置とＳｌａｖｅ装置との関係は（ｄ）最終的にネットワーク中の最大の識別番号を持つ装置を根とするスパニングツリーを形成する。この結果、根にあたる装置の時刻に全ての装置の時刻が同期する。
【００８８】
例えば、図１１の（ｄ）に示す最終状態において、左下の識別番号２５０の装置に着目すると、この装置は識別番号１５０の装置をＭａｓｔｅｒ装置として動作するので、識別番号２５０の装置の時刻および位相は識別番号１５０の装置の時刻および位相に同期する。識別番号１５０の装置の時刻および位相は、同装置に対してＭａｓｔｅｒ装置となる識別番号２００の装置の時刻および位相に同期する。さらに識別番号２００の装置の時刻および位相は根に相当する識別番号３００の装置の時刻および位相に同期する。この動作の結果、識別番号２５０の装置の時刻および位相は結局、根に相当する識別番号３００の装置の時刻および位相に同期することになる。他の全ての装置についても同様のことが成り立つ。
【００８９】
以上説明した第七実施例の動作では、同期は伝送路で直接接続された装置同士の間で実現され、同期を実現する２装置の途中に他のスイッチやルータは存在せず、また伝送方向による装置間の遅延差はない。このため、従来技術で存在したスイッチやルータによる遅延揺らぎや伝送方向による遅延差による同期精度の劣化は発生せず、高精度な同期を実現できる利点がある。
【００９０】
また、ファイアウォールを使用する状況では、ファイアウォールを実装する装置がＭａｓｔｅｒ装置またはＳｌａｖｅ装置として位相同期または時刻同期フレームを終端する動作を行い、ファイアウォールを越えて同期用のフレームを転送する必要はない。このため、ファイアウォールで転送許可するパケットの種別を増やす必要がなく、従来技術に比べセキュリティ上のリスクが低下する利点がある。また、装置間で自律的に構成されるＭａｓｔｅｒ装置とＳｌａｖｅ装置との関係で同期が確立するので、従来技術のようにサーバ構成に関する知識は不要であり、運用が容易となる利点がある。
【産業上の利用可能性】
【００９１】
以上説明したように、本発明を用いると、ネットワーク内のパケットの往復経路の影響を受けず、最小限の同期用トラヒックおよび設定で、高精度に時刻同期することに利用できる。また、ファイアウォールを使用する状況で、セキュリティリスクを低下させないことに利用できる。また、運用に当たり特別な知識が不要で、運用容易であることに利用できる。
【図面の簡単な説明】
【００９２】
【図１】第一実施例のＭａｓｔｅｒ装置のブロック構成図。
【図２】第一実施例のＳｌａｖｅ装置のブロック構成図。
【図３】第二実施例の位相同期シミュレーションを説明するための図。
【図４】第三実施例のＳｌａｖｅ装置の位相同期をＭａｓｔｅｒ装置との通信によって行い、外部の時計を用いることで時刻同期を行う方法を示す図。
【図５】第四実施例のＳｌａｖｅ装置とＭａｓｔｅｒ装置との間の伝送遅延が位相周期Ｔよりも小さい場合の時刻同期を行う方法を示す図。
【図６】第五実施例のＴ＝１００（クロック）、Ｔｕ＝５００（クロック）、ｄ＝４８（クロック）を仮定した場合のＳｌａｖｅ装置における分周器のカウンタおよび比較器９のレジスタの動作例を示す図。
【図７】第六実施例のＥｔｈｅｒｎｅｔ各ポートの同期フレームハンドラと同期制御回路との接続を示す図。
【図８】第六実施例の同期フレームハンドラの内部構成を示す図。
【図９】第六実施例の同期制御回路の内部構成を示す図。
【図１０】第六実施例のディジタルＰＬＬ回路の内部構成を示す図。
【図１１】第七実施例の各ステップを説明するための図。
【符号の説明】
【００９３】
１  ローカル発振器
２  分周器
３−Ｍ、３−Ｓ  演算器
４  検出器
５  フリップフロップ
６−Ｍ、６−Ｓ、２６  フレーム生成器
７  合流器
８  ディジタルフィルタ
９、３４  比較器
１０、１２  ラッチ
１１  除算器
１３  時刻修正器
１４〜１９  時刻
２０  同期フレームハンドラ
２１  同期制御回路
２３  フレームフィルタ
２４  同期フレーム受信回路
２５、３０、３１  セレクタ
２７  ＩＤ
２８  動作モード決定回路
２９  ディジタルＰＬＬ回路
３２、３３  ループフィルタ
３５  カウンタ
ＳＹＮ  同期回路
【図１】
2006148774.tif 000003
【図２】
2006148774.tif 000004
【図３】
2006148774.tif 000005
【図４】
2006148774.tif 000006
【図５】
2006148774.tif 000007
【図６】
2006148774.tif 000008
【図７】
2006148774.tif 000009
【図８】
2006148774.tif 000010
【図９】
2006148774.tif 000011
【図１０】
2006148774.tif 000012
【図１１】
2006148774.tif 000013