(57)【特許請求の範囲】
【請求項１】
基準時刻を有するグランドマスター装置から下位側に階層的に接続される時刻同期装置間で時刻同期を図る時刻同期方法であって、
上位側の装置との間で送受信される時刻同期パケットに含まれる時刻情報から上位側の装置との間の時刻オフセットを求めて蓄積し、
上位側の装置から送信されるグランドマスター装置からの接続段数を示す情報を取得して前記時刻オフセットから時刻変動を検出するための閾値を設定し、
前記時刻変動が予め設定された回数以上連続して検出されたか否かに応じて前記時刻変動がステップ状に変化するレベルシフトであるかパルス状に変化するレベル変動であるかを判定し、
判定結果が前記レベル変動である場合は上位側の装置との時刻オフセットの補正を行わず、判定結果が前記レベルシフトである場合は上位側の装置との時刻オフセットの補正を実行する
ことを特徴とする時刻同期方法。
【請求項２】
請求項１に記載の時刻同期方法において、
前記接続段数の情報は、IEEE1588-2008の規格のAnnounce MessageのstepsRemovedフィールドに格納された情報から取得される
ことを特徴とする時刻同期方法。
【請求項３】
基準時刻を有するグランドマスター装置から下位側に階層的に接続される時刻同期装置間で時刻同期を図る時刻同期方法であって、
上位側の装置との間で送受信される時刻同期パケットに含まれる時刻情報から上位側の装置との間の時刻オフセットを求めて蓄積し、蓄積された時系列順の時刻オフセットを統計処理してはずれ値を検出し、はずれ値が予め設定された回数以上検出されたか否かに応じて時刻変動がステップ状に変化するレベルシフトであるかパルス状に変化するレベル変動であるかを判定し、
判定結果が前記レベル変動である場合は上位側の装置との時刻オフセットの補正を行わず、前記判定結果が前記レベルシフトである場合は上位側の装置との時刻オフセットの補正を実行し、
前記統計処理では、処理対象とする時系列順に蓄積されたｍ個（ｍは正の整数）の時刻オフセットTi（ｉは１からｍの整数）に対して、ｍ個の前記時刻オフセットTiと、ｍ個の前記時刻オフセットTiの平均値<T>との誤差の二乗和Sを
S = Σ(Ti- <T>)2     (i = 1〜m)
により求め、
さらに、ｍ個の前記時刻オフセットのうち直近のｋ個（ｋはｋ＜ｍを満たす正の整数）の前記時刻オフセットを除いた前記時刻オフセットTiと、当該時刻オフセットTiの平均値<Tk>との誤差の二乗和Skを
Sk = Σ(Ti- <Tk>)2    (i = k+1〜m)
により求め、
Sk/Sの値が予め設定された閾値よりも小さい場合、直近に連続したｋ個のはずれ値が存在したと判定する
ことを特徴とする時刻同期方法。
【請求項４】
基準時刻を有するグランドマスター装置から下位側に階層的に接続される時刻同期装置において、
上位側の装置との間で送受信される時刻同期パケットに含まれる時刻情報から上位側の装置との間の時刻オフセットを求めて蓄積する蓄積部と、
上位側の装置から送信されるグランドマスター装置からの接続段数を示す情報を取得する段数取得部と、
前記接続段数に応じて時刻オフセットの時刻変動を検出するための閾値を設定し、前記時刻変動が予め設定された回数以上連続して検出されたか否かに応じて前記時刻変動がステップ状に変化するレベルシフトであるかパルス状に変化するレベル変動であるかを判定する判定部と、
前記判定部の判定結果がレベル変動である場合は上位側の装置との時刻オフセットの補正を行わず、前記判定部の判定結果が前記レベルシフトである場合は上位側の装置との時刻オフセットの補正を実行する時刻同期部と
を有することを特徴とする時刻同期装置。
【請求項５】
請求項４に記載の時刻同期装置において、
前記接続段数の情報は、IEEE1588-2008の規格のAnnounce MessageのstepsRemovedフィールドに格納された情報から取得される
ことを特徴とする時刻同期装置。
【請求項６】
基準時刻を有するグランドマスター装置から下位側に階層的に接続される時刻同期装置において、
上位側の装置との間で送受信される時刻同期パケットに含まれる時刻情報から上位側の装置との間の時刻オフセットを求めて蓄積する蓄積部と、
前記蓄積部により蓄積された時系列順の時刻オフセットを統計処理してはずれ値を検出し、はずれ値が予め設定された回数以上検出されたか否かに応じて時刻変動がステップ状に変化するレベルシフトであるかパルス状に変化するレベル変動であるかを判定する統計処理判定部と、
前記統計処理判定部の判定結果が前記レベル変動である場合は上位側の装置との時刻オフセットの補正を行わず、前記統計処理判定部の判定結果が前記レベルシフトである場合は上位側の装置との時刻オフセットの補正を実行する時刻同期部と
を有し、
前記統計処理判定部は、
処理対象とする時系列順に蓄積されたｍ個（ｍは正の整数）の時刻オフセットTi（ｉは１からｍの整数）に対して、ｍ個の前記時刻オフセットTiと、ｍ個の前記時刻オフセットTiの平均値<T>との誤差の二乗和Sを
S = Σ(Ti- <T>)2     (i = 1〜m)
により求め、
さらに、ｍ個の前記時刻オフセットのうち直近のｋ個（ｋはｋ＜ｍを満たす正の整数）の前記時刻オフセットを除いた前記時刻オフセットTiと、当該時刻オフセットTiの平均値<Tk>との誤差の二乗和Skを
Sk = Σ(Ti- <Tk>)2    (i = k+1〜m)
により求め、
Sk/Sの値が予め設定された閾値よりも小さい場合、直近に連続したｋ個のはずれ値が存在したと判定する
ことを特徴とする時刻同期装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット網を介して接続される装置間の時刻同期を実現する技術に関する。
【背景技術】
【０００２】
パケット網を介して接続される装置間で時刻同期パケット(PTP(Precision Time Protocol)パケット)を送受信して時刻同期を行う技術が規格化されている(非特許文献１参照）。ところが、パケット伝送を用いた時刻同期の場合、種々の要因によって時刻変動が生じる。ここで、時刻変動には、時刻がパルス状に変化するレベル変動と、時刻がステップ状に変化するレベルシフトとがある。レベル変動は、伝送路や中継ノードなどで生じるノイズなどが原因で発生すると考えられる一時的な変動であるため、次のタイミングで元のレベルに戻る。このため、安定している状態でレベル変動に対応する補正を行ったとしても、次のタイミングで元のレベルに戻るので、網の安定性を考慮すると、レベル変動に対する補正は不要であると考えられる。これに対して、レベルシフトは、例えばマスタノード(GM(Grand Master))の変更や主局従属からGPS(Global Positioning System)従属への変更等が原因で発生すると考えられ、時刻の変動は元のレベルに戻らずに変化したレベルが継続する。このため、レベルシフトによる時刻変動の場合、時刻同期装置はレベルシフトにより変化したレベルを補正する必要がある。
【０００３】
ここで、時刻同期網から各種アプリケーションへの時刻情報の提供を行う場合、レベル変動のような不要な時刻変動を極力排除することが求められる。そして、不要な時刻変動を排除するためには、時刻変動の検出と時刻変動の種類（レベル変動またはレベルシフト）の判定とが必要となる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】IEEE1588-2008
【発明の概要】
【発明が解決しようとする課題】
【０００５】
時刻変動を検出する簡単な方法として、閾値を設けて時刻変動を判定する方法がある。一方、時刻変動の種類（レベル変動またはレベルシフト）を判定する方法として、判定開始から判定結果を出すまでの保護時間を設け、時刻変動の継続時間が保護時間以内である場合はレベル変動、保護時間を超過する場合はレベルシフトと判定する方法が考えられる。ここで、時刻変動は時刻同期装置の接続段数に応じて蓄積されていくため、時刻同期網において閾値による時刻変動の判定方法を適用する場合は、時刻同期装置の接続段数を考慮する必要がある。例えば、初段の時刻同期装置で設定した閾値を後段の時刻同期装置で適用した場合、後段の時刻同期装置において閾値の超過が頻発してしまい、正常な判定ができない場合がある。また、時刻同期網ではジッタ/ワンダが発生するため、時刻同期装置はジッタ/ワンダが発生している条件下で閾値の超過の有無の判定しなければならない。ジッタ/ワンダは時間的に変化する場合が有り、初期設定時に想定していた閾値（固定値）では誤検出する場合が有るため、網の運用に混乱を来たすことが懸念される。
【０００６】
このように、従来技術では、時刻同期装置の多段接続による時刻変動の蓄積に起因する誤判定やジッタ/ワンダに起因する誤判定などが生じるという問題があった。
【０００７】
本発明に係る時刻同期方法および時刻同期装置は、時刻同期装置の多段接続による時刻変動の蓄積に起因する誤判定やジッタ/ワンダなどに起因する誤判定などを低減することを目的とする。
【課題を解決するための手段】
【０００８】
第１の発明は、基準時刻を有するグランドマスター装置から下位側に階層的に接続される時刻同期装置間で時刻同期を図る時刻同期方法であって、上位側の装置との間で送受信される時刻同期パケットに含まれる時刻情報から上位側の装置との間の時刻オフセットを求めて蓄積し、上位側の装置から送信されるグランドマスター装置からの接続段数を示す情報を取得して時刻オフセットから時刻変動を検出するための閾値を設定し、時刻変動が予め設定された回数以上連続して検出されたか否かに応じて時刻変動がステップ状に変化するレベルシフトであるかパルス状に変化するレベル変動であるかを判定し、判定結果がレベル変動である場合は上位側の装置との時刻オフセットの補正を行わず、判定結果がレベルシフトである場合は上位側の装置との時刻オフセットの補正を実行することを特徴とする。
【０００９】
第２の発明は、接続段数の情報は、IEEE1588-2008の規格のAnnounce MessageのstepsRemovedフィールドに格納された情報から取得されることを特徴とする。
【００１０】
第３の発明は、基準時刻を有するグランドマスター装置から下位側に階層的に接続される時刻同期装置間で時刻同期を図る時刻同期方法であって、上位側の装置との間で送受信される時刻同期パケットに含まれる時刻情報から上位側の装置との間の時刻オフセットを求めて蓄積し、蓄積された時系列順の時刻オフセットを統計処理してはずれ値を検出し、はずれ値が予め設定された回数以上検出されたか否かに応じて時刻変動がステップ状に変化するレベルシフトであるかパルス状に変化するレベル変動であるかを判定し、判定結果がレベル変動である場合は上位側の装置との時刻オフセットの補正を行わず、判定結果がレベルシフトである場合は上位側の装置との時刻オフセットの補正を実行する。
【００１１】
そして、統計処理では、処理対象とする時系列順に蓄積されたｍ個（ｍは正の整数）の時刻オフセットTi（ｉは１からｍの整数）に対して、ｍ個の時刻オフセットTiと、ｍ個の時刻オフセットTiの平均値<T>との誤差の二乗和Sを
S = Σ(Ti - <T>)2     (i = 1〜m)  により求め、
さらに、ｍ個の時刻オフセットのうち直近のｋ個（ｋはｋ＜ｍを満たす正の整数）の時刻オフセットを除いた時刻オフセットTiと、当該時刻オフセットTiの平均値<Tk>との誤差の二乗和Skを
Sk = Σ(Ti - <Tk>)2    (i = k+1〜m)  により求め、
Sk/Sの値が予め設定された閾値よりも小さい場合、直近に連続したｋ個のはずれ値が存在したと判定することを特徴とする。
【００１２】
第４の発明は、基準時刻を有するグランドマスター装置から下位側に階層的に接続される時刻同期装置において、上位側の装置との間で送受信される時刻同期パケットに含まれる時刻情報から上位側の装置との間の時刻オフセットを求めて蓄積する蓄積部と、上位側の装置から送信されるグランドマスター装置からの接続段数を示す情報を取得する段数取得部と、接続段数に応じて時刻オフセットの時刻変動を検出するための閾値を設定し、時刻変動が予め設定された回数以上連続して検出されたか否かに応じて時刻変動がステップ状に変化するレベルシフトであるかパルス状に変化するレベル変動であるかを判定する判定部と、判定部の判定結果がレベル変動である場合は上位側の装置との時刻オフセットの補正を行わず、判定部の判定結果がレベルシフトである場合は上位側の装置との時刻オフセットの補正を実行する時刻同期部とを有することを特徴とする。
【００１３】
第５の発明は、接続段数の情報は、IEEE1588-2008の規格のAnnounce MessageのstepsRemovedフィールドに格納された情報から取得されることを特徴とする。
【００１４】
第６の発明は、基準時刻を有するグランドマスター装置から下位側に階層的に接続される時刻同期装置において、上位側の装置との間で送受信される時刻同期パケットに含まれる時刻情報から上位側の装置との間の時刻オフセットを求めて蓄積する蓄積部と、蓄積部により蓄積された時系列順の時刻オフセットを統計処理してはずれ値を検出し、はずれ値が予め設定された回数以上検出されたか否かに応じて時刻変動がステップ状に変化するレベルシフトであるかパルス状に変化するレベル変動であるかを判定する統計処理判定部と、統計処理判定部の判定結果がレベル変動である場合は上位側の装置との時刻オフセットの補正を行わず、統計処理判定部の判定結果がレベルシフトである場合は上位側の装置との時刻オフセットの補正を実行する時刻同期部とを有する。
【００１５】
そして、統計処理判定部は、処理対象とする時系列順に蓄積されたｍ個（ｍは正の整数）の時刻オフセットTi（ｉは１からｍの整数）に対して、ｍ個の時刻オフセットTiと、ｍ個の時刻オフセットTiの平均値<T>との誤差の二乗和Sを
S = Σ(Ti - <T>)2     (i = 1〜m)  により求め、
さらに、ｍ個の時刻オフセットのうち直近のｋ個（ｋはｋ＜ｍを満たす正の整数）の時刻オフセットを除いた時刻オフセットTiと、当該時刻オフセットTiの平均値<Tk>との誤差の二乗和Skを
Sk = Σ(Ti - <Tk>)2    (i = k+1〜m)  により求め、
Sk/Sの値が予め設定された閾値よりも小さい場合、直近に連続したｋ個のはずれ値が存在したと判定することを特徴とする。
【発明の効果】
【００１６】
本発明に係る時刻同期方法および時刻同期装置は、時刻同期装置の多段接続による時刻変動の蓄積に起因する誤判定やジッタ/ワンダなどに起因する誤判定などを低減することができる。
【図面の簡単な説明】
【００１７】
【図１】時刻同期ネットワークで生じる時刻変動の一例を示す図である。
【図２】実施形態で説明するネットワーク構成の一例を示す図である。
【図３】時刻変動と接続段数との関係の一例を示す図である。
【図４】Announce Messageの一例を示す図である。
【図５】ある段の時刻同期装置における時刻変動を判定するための閾値の一例を示す図である。
【図６】第１実施形態における時刻変動の判別処理の一例を示す図である。
【図７】第１実施形態に係る時刻同期装置の一例を示す図である。
【図８】ｍ個のサンプル単位で処理する一例を示す図である。
【図９】比較例としてｍ個のサンプル値を大小順にソートしてはずれ値を検出する方法を示す図である。
【図１０】はずれ値の検出方法の一例を示す図である。
【図１１】第２実施形態における時刻変動の判別処理の一例を示す図である。
【図１２】第２実施形態に係る時刻同期装置の一例を示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明に係る時刻同期方法および時刻同期装置の実施形態について説明する。本実施形態に係る時刻同期装置は、時刻変動の原因を判定して時刻変動の種類がレベルシフトの場合は時刻同期処理を実行し、時刻変動の種類がレベル変動の場合は時刻同期処理を行わないように動作する。ここで、本実施形態に係る時刻同期装置を説明する前に、時刻変動について詳しく説明する。
【００１９】
図１は、時刻同期ネットワークで生じる時刻変動の一例を示す。図１に示した時刻同期ネットワークでは、ＧＭ（GrandMaster装置）９０１（１）およびＧＭ９０１（２）から供給される時刻情報が時刻同期網Ａを介して時刻同期網Ｂに供給される。ここで、ＧＭ９０１（１）はＧＮＳＳ(Global Navigation Satellite System)９００（１）に同期した基準時刻を生成し、ＧＭ９０１（２）はＧＮＳＳ９００（２）に同期した基準時刻を生成する。
【００２０】
図１において、時刻同期網Ａは、ＢＣ（Boundary Clock装置）９０２（１）、ＢＣ９０２（２）、ＢＣ９０２（３）およびＢＣ９０２（４）の４台の時刻同期装置が冗長系を構成し、ＧＭ９０１（１）またはＧＭ９０１（２）の基準時刻を時刻同期網Ｂに供給する。
【００２１】
時刻同期網Ｂは、ＢＣ９０３（１）、ＢＣ９０３（２）およびＢＣ９０２（ｎ）のｎ（ｎは正の整数）台の時刻同期装置を有し、ＢＣ９０３（１）、ＢＣ９０３（２）およびＢＣ９０２（ｎ）は、階層的に直列に接続されている。ここで、ＢＣ９０３（１）からＢＣ９０３（ｎ）に共通の説明を行う場合は符号末尾の（番号）を省略してＢＣ９０３と表記する。
【００２２】
図１において、時刻同期網Ａは冗長系を有しているので、系の切り替えが行われる場合がある。例えばＢＣ９０２（１）がＧＭ９０１（１）の基準時刻からＧＭ９０１（２）の基準時刻に切り替えた場合、ＧＭ９０１（１）の基準時刻とＧＭ９０１（２）の基準時刻との時刻の差に応じてＢＣ９０２（１）が参照する基準時刻が変化する。例えば図１の吹き出し９６１に示したように、ＧＭ９０１（１）からＧＭ９０１（２）への切り替えタイミングＴｓにおいて、時刻がレベルＬ１からレベルＬ２にステップ状に変化する（レベルシフトと称す）。ここで、吹き出し９６１において、横軸は時間を示し、縦軸は時刻変動を示す。同様のレベルシフトは、冗長系を有しているＢＣ９０２（２）、ＢＣ９０２（３）、ＢＣ９０２（４）およびＢＣ９０３（１）においても異なる系の基準時刻に切り替えたときに発生する。
【００２３】
一方、図１の吹き出し９６２に示したように、伝送路や中継ノードにおけるノイズなどが原因で時刻がタイミングＴｎにおいてレベルＬ１からレベルＬ２にパルス状に変化する（レベル変動と称す）。ここで、吹き出し９６２において、横軸は時間を示し、縦軸は時刻変動を示す。レベル変動は、一時的な変動であるため、次のタイミングで元のレベルに戻るので、時刻の補正は不要であるが、レベルシフトは、変化した時刻は元のレベルに戻らずに変化したレベルが継続するため、時刻の補正を行う必要がある。例えば図１に示したＢＣ９０３（ｎ）は、吹き出し９６３に示したように、時刻変動の種類がレベルシフトによるものかレベル変動によるものかを判別して、レベルシフトによる時刻変動の場合は時刻の補正処理を行う。
（第１実施形態）
本実施形態では、接続段数に応じて閾値を設定して時刻変動を検出する方法について説明する。
【００２４】
従来技術で説明したように、時刻変動の判定方法の一つとして、閾値を用いる方法が考えられる。しかし、時刻変動はＢＣ９０３の接続段数に応じて蓄積されていくため、例えば初段のＢＣ９０３（１）で設定した閾値を後段のＢＣ９０３（ｎ）で適用した場合、ＢＣ９０３（ｎ）において閾値の超過が頻発してしまい、時刻変動を正常に判定できないという問題が生じる。そこで、本実施形態では、接続段数に応じて閾値を設定して時刻変動を検出する。
【００２５】
図２は、本実施形態で説明するネットワーク構成の一例を示す。図２の例では、ＧＭ１０１、ＢＣ１０２（１）およびＢＣ１０２（ｎ）を有する。なお、図２において、ＢＣ１０２（１）からＢＣ１０２（ｎ）は、図１で説明したＢＣ９０３（１）からＢＣ９０３（ｎ）までの各装置に対応する。また、図２では、説明が分かりやすいように１台のＧＭ１０１を示しているが、図１で説明したように、ＢＣ１０２（１）は複数のＧＭ１０１から別の基準時刻を取得して選択することができる。
【００２６】
図２において、ＢＣ１０２（１）からＢＣ１０２（ｎ）までのｎ台の装置が直列に接続されている。ここで、ＢＣ１０２（１）からＢＣ１０２（ｎ）までのｎ台の装置は同一又は同様の機能を有する。以降の説明において、ＢＣ１０２（１）からＢＣ１０２（ｎ）までのｎ台の装置に共通の説明を行う場合は符号末尾の（番号）を省略してＢＣ１０２と表記し、特定の装置を指す場合は符号末尾に（番号）を付加して例えばＢＣ１０２（１）のように表記する。ここで、ＢＣ１０２は本発明に係る時刻同期方法を用いる時刻同期装置の一例である。
【００２７】
図２において、ＧＭ１０１は、ＧＮＳＳなどから取得した時刻に同期した基準時刻を有する。そして、ＢＣ１０２（１）は、伝送路１５１を介してＧＭ１０１との間でIEEE1588-2008の規格に基づいたＰＴＰパケットを送受信して、自装置の時刻をＧＭ１０１の基準時刻に同期させる。さらに、ＢＣ１０２（１）は、マスター装置として下位側に接続される不図示のＢＣ１０２（２）との間でＰＴＰパケットを送受信して、ＢＣ１０２（２）との間で時刻同期を図る。このようにして、ＢＣ１０２（１）からＢＣ１０２（ｎ）までの各装置は、ＧＭ１０１の時刻に同期することができる。
【００２８】
ここで、図２に示したＢＣ１０２（１）からＢＣ１０２（ｎ）は、ｎ段の時刻同期装置が直列に接続されているので、時刻変動が生じた場合、図１で説明したように、接続段数に応じて時刻変動が蓄積されていく。
【００２９】
図３は、時刻変動と接続段数との関係の一例を示す。なお、図３は、図１で説明した時刻同期網Ａと時刻同期網Ｂとに対応する時刻変動の一例を示している。図３において、横軸は接続段数、縦軸は時刻変動をそれぞれ示す。ここで、時刻同期網ＡのＢＣ９０２は、安定度の高い発振器が用いられ、位相同期回路の時定数は時刻同期網ＢのＢＣ９０３に比べて大きい。一方、時刻同期網ＢのＢＣ９０３は、安定度の低い発振器が用いられ、位相同期回路の時定数は時刻同期網ＡのＢＣ９０２に比べて小さい。このため、ＢＣ９０２における時刻変動は、時刻同期網ＢのＢＣ９０３よりも小さい。逆に、ＢＣ９０３における時刻変動は、時刻同期網ＡのＢＣ９０２よりも大きい。
【００３０】
図３において、図１に示した時刻同期網Ａの接続段数は２段であるがＢＣ９０２（１）からＢＣ９０２（４）の精度が高いので時刻同期網Ａにおける時刻変動の蓄積は時刻同期網ＢのＢＣ９０３に比べて小さい。一方、時刻同期網ＢのＢＣ９０３（１）からＢＣ９０３（ｎ）は時刻変動の蓄積が大きいので、段数が増加するにつれて時刻変動が時刻同期網ＡのＢＣ９０２に比べて大きく増加する。このため、時刻変動を判定する閾値を固定値とした場合、段数が多くなる下位側のＢＣ９０３ほど閾値を超える回数が多くなるという問題が生じる。これは、図２に示したＢＣ１０２（１）からＢＣ１０２（ｎ）についても同様である。そこで、本実施形態では、接続段数に応じて時刻変動を判定する閾値を図３に示した判定閾値１７１のように変化させる。図３の例では、判定閾値の時刻変動量は、接続段数ごとの蓄積により、接続段数が多くなるほど大きくなる。また、図３の例では、時刻同期網Ｂにおける接続段数ごとの判定閾値の変化量は、時刻同期網Ｂよりも精度の高い時刻同期網Ａにおける接続段数ごとの判定閾値の変化量と比べて大きくなる。これにより、本実施形態に係る時刻同期装置は、接続段数に関係なく、精度の高い時刻変動の判定を行うことができる。
［Announce Messageを用いる方法］
本実施形態では、図２に示したＢＣ１０２（１）からＢＣ１０２（ｎ）までの各ＢＣ１０２が接続段数の情報を取得するために、IEEE1588-2008の規格で決められたAnnounce Messageを利用する。Announce Messageは、上位側の時刻同期装置から下位側の時刻同期装置に配信する時刻の属性情報を伝えるために用いられるメッセージである。例えば図２において、ＧＭ１０１は、Announce Message１６１ａをＢＣ１０２（１）に送信する。また、ＢＣ１０２（１）は、次に接続される不図示のＢＣ１０２（２）にAnnounce Message１６１ｂを送信する。同様に、ＢＣ１０２（ｎ）は、上位側の不図示のＢＣ１０２（ｎ−１）から送信されたAnnounce Message１６１ｃを受信する。ここで、以降の説明において、Announce Message１６１ａ、Announce Message１６１ｂおよびAnnounce Message１６１ｃに共通の事項を説明する場合は、符号末尾のアルファベットを省略してAnnounce Message１６１と表記する。
【００３１】
図４は、Announce Message１６１の一例を示す。図４において、Announce Message１６１は、IEEE1588-2008の規格に基づいて、header、originTimestamp、currentUtcOffset、reserved、grandmasterPriority1、grandmasterClockQuality、grandmasterPriority2、grandmasterIdentity、stepsRemovedおよびtimeSourceの各情報を有する。
【００３２】
headerは、Announce Messageであることを示す情報などが格納される。  originTimestampは、Announce Messageの送信時刻などが格納される。以下、currentUtcOffset、grandmasterPriority1、grandmasterClockQuality、grandmasterPriority2、grandmasterIdentityおよびtimeSourceについては、本実施形態に直接関係しない情報であり、IEEE1588-2008の規格に記載されているので、詳しい説明は省略する。
【００３３】
本実施形態に係るＢＣ１０２は、図４に示したAnnounce Message１６１のstepsRemoved１６５の情報を利用して、ＧＭ１０１からの接続段数を取得する。IEEE1588-2008では、Announce Message１６１のstepsRemoved１６５のフィールドにＧＭ１０１から自装置に到達するまでに何台の装置を経由したかを示す情報（ｈｏｐ数に相当）を格納する。ｈｏｐ数は、装置間を１つのセクションとし、ＧＭ１０１からのセクション数を示し、ＧＭ１０１からの接続段数の情報として利用することができる。例えば図２の場合、ＧＭ１０１からＢＣ１０２（１）に送信されるAnnounce Message１６１ａにより、ＢＣ１０２（１）は、ｈｏｐ数＝１（接続段数＝１段）の情報を取得できる。同様に、ＢＣ１０２（ｎ）は、上位側のＢＣ１０２から送信されるAnnounce Message１６１ｃにより、ｈｏｐ数＝ｎ（接続段数＝ｎ段）の情報を取得できる。
【００３４】
このようにして、本実施形態に係るＢＣ１０２は、Announce Message１６１のstepsRemoved１６５の値を用いることで接続段数に応じて時刻変動を検出するための閾値を設定することができる。
【００３５】
図５は、本実施形態における時刻変動を判定するための閾値の一例を示す。図５において、横軸は時間を示し、縦軸は時刻オフセット[ns]を示す。ここで、時刻オフセットは、IEEE1588-2008の規格で決められたＰＴＰパケットを送受信することにより求めることができる。図５において、ＰＴＰパケットを送受信する毎に求めた時刻オフセットが黒点で示されている。図５の例では、ある段のＢＣ１０２における上側閾値ＴＵと下側閾値ＴＬとが設定され、ＢＣ１０２は、タイミングｔ１において上側閾値ＴＵを超えた時刻オフセット１８１をはずれ値として検出する。なお、上側閾値ＴＵから下側閾値ＴＬまでの幅は、接続段数が多くなると大きくなり、接続段数が少なくなると小さくなる。
【００３６】
このように、本実施形態に係るＢＣ１０２は、接続段数に応じて設定された閾値により、はずれ値を検出し、はずれ値が検出された場合に時刻変動が生じたと判断することができる。
［閾値設定方法］
次に、接続段数に応じた閾値の設定方法について説明する。時刻変動の種類がレベルシフトかレベル変動かの判定は、閾値の超過有無を監視し、超過した状態が予め設定した期間だけ継続したか直ぐに回復したかを判定すればよい。なお、閾値の超過有無を判定するときに、時刻同期網の特性を考慮した判定方法を用いる必要がある。例えば図１で説明したように、時刻同期網Ｂは、時刻同期網Ａに比べて大きな時刻変動が発生する可能性が有り、かつ、時刻変動に直ぐに追従するためには接続段数に応じた閾値を用いる必要がある。
【００３７】
図６は、ＢＣ１０２における時刻変動の判別処理の一例を示す。
【００３８】
ステップＳ１０１において、ＢＣ１０２は、１ｈｏｐ当りの閾値Ｌｔｈを設定する。なお、閾値Ｌｔｈは、例えばタイムスタンプの打刻誤差、波長分散などによる時刻誤差、パケット多重伝送における遅延変動による上り／下りの遅延差に起因する時刻誤差など経路の種類などを考慮して、実測値やネットワーク設計の計算値などに基づいて決められる。ここでは、簡単のために、ネットワークを構成する時刻同期装置および伝送路の特性は同じものとし、１ｈｏｐ当りの閾値Ｌｔｈを１ｈｏｐ当りの最大時刻誤差Ｌとする。
【００３９】
ステップＳ１０２において、ＢＣ１０２は、Announce Message１６１のstepsRemoved１６５の値（ｈｏｐ数＝ｎ）を読み取り、式（１）により、ｈｏｐ数＝ｎのＢＣ１０２におけるはずれ値検出閾値Ｌｔｈ（ｎ）を求める。１ｈｏｐ当りの時刻誤差の発生確率が独立である場合、Ｌｔｈ（ｎ）は以下の通り表される。
【００４０】
【数１】
0006392180.tif 000002
ここで、Ｌは１ｈｏｐ当りの最大時刻誤差、βは伝送路での遅延揺らぎ等による時刻変動をそれぞれ示す。
【００４１】
ステップＳ１０３において、ＢＣ１０２は、上位側装置との間の時刻オフセットの演算結果（ｏｆｆｓｅｔ（ｎ））をメモリなどに格納する。ここで、ｏｆｆｓｅｔ（ｎ）は、ｈｏｐ数＝ｎのＢＣ１０２における時刻オフセットである。
【００４２】
ステップＳ１０４において、ＢＣ１０２は、オフセット演算結果Ｏｆｆｓｅｔ（ｎ）とＬｔｈ（ｎ）を比較する。そして、ＢＣ１０２は、Ｏｆｆｓｅｔ（ｎ）＞Ｌｔｈ（ｎ）であれば閾値を超過したと判定してステップＳ１０６の処理に進み、Ｏｆｆｓｅｔ（ｎ）  ≦Ｌｔｈ（ｎ）であれば閾値超過でないと判定してステップＳ１０２の処理に戻り、次のサンプル処理を同様に実行する。
【００４３】
ステップＳ１０５において、ＢＣ１０２は、閾値超過が予め設定されたＮ（Ｎは正の整数）回継続したか否かを判定する。そして、ＢＣ１０２は、Ｎ回継続して閾値を超過した場合はステップＳ１０７の処理に進み、Ｎ回継続して閾値を超過していない場合はステップＳ１０６の処理に進む。
【００４４】
ステップＳ１０６において、ＢＣ１０２は、Ｎ回継続して閾値を超過していないので、レベル変動であると判定する。そして、ＢＣ１０２は、ステップＳ１０２の処理に戻り、次のサンプルの処理を同様に実行する。
【００４５】
ステップＳ１０７において、ＢＣ１０２は、Ｎ回継続して閾値を超過したので、レベルシフトであると判定する。
【００４６】
ステップＳ１０８において、ＢＣ１０２は、時刻同期処理を実行して、自装置の時刻を上位側の装置の時刻に同期させる。そして、ＢＣ１０２は、ステップＳ１０２の処理に戻り、次のサンプルの処理を同様に実行する。
【００４７】
このように、本実施形態に係るＢＣ１０２は、接続段数に応じた時刻変動の判定閾値を設定することにより、従来よりも精度高く時刻変動の発生を検出することができる。また、本実施形態に係るＢＣ１０２は、Ｎ回継続して閾値を超過したか否かを判別することにより、時刻変動の種類がレベル変動であるかレベルシフトであるかを判定することができ、レベルシフトである場合に時刻の補正を行うことができる。
［時刻同期装置の一例］
図７は、本実施形態に係る時刻同期装置（ＢＣ１０２）の一例を示す。図７において、ＢＣ１０２は、ＰＴＰ処理部３０１（１）、ＰＴＰ処理部３０１（Ｚ）、蓄積監視部３０２、時刻選択部３０３、時刻同期部３０４、ＰＴＰ処理部３０５（１）およびＰＴＰ処理部３０５（Ｚ）を有する。ここで、Ｚは正の整数であり、図７では１からＺまでの複数の系の上位側の装置との間でＰＴＰパケットやAnnounce Messageを送受信する。
【００４８】
ＰＴＰ処理部３０１（１）は、上位側の装置からAnnounce Messageを受信してｈｏｐ数を取得する。同様に、ＰＴＰ処理部３０１（Ｚ）は、上位側の装置からAnnounce Messageを受信してｈｏｐ数を取得する。また、ＰＴＰ処理部３０１（１）は、上位側の装置との間でＰＴＰパケットを送受信して時刻オフセットを求める。同様に、ＰＴＰ処理部３０１（Ｚ）は、上位側の装置との間でＰＴＰパケットを送受信して時刻オフセットを求める。
【００４９】
蓄積監視部３０２は、ＰＴＰ処理部３０１（１）からＰＴＰ処理部３０１（Ｚ）までのＺ個のＰＴＰ処理部３０１が求めた時刻オフセットを蓄積する。また、蓄積監視部３０２は、ＰＴＰ処理部３０１（１）からＰＴＰ処理部３０１（Ｚ）までのＺ個のＰＴＰ処理部３０１が取得したｈｏｐ数から求めた閾値に基づいて時刻変動の発生の有無を判定する。さらに、蓄積監視部３０２は、閾値を超える時刻変動が予め決められた回数だけ連続して検出した場合に、時刻変動の種類がレベルシフトであると認識する。また、蓄積監視部３０２は、各系が正常に動作しているか否かを監視し、異常が発生した場合に警報を不図示の監視装置に通知する。また、蓄積監視部３０２は、各系の時刻の精度や品質を比較して、時刻精度や品質の高い系の時刻を選択するように時刻選択部３０３を制御する。さらに、蓄積監視部３０２は、時刻変動の種類がレベルシフトである場合に、時刻選択部３０３が選択した時刻と自装置の時刻との時刻オフセットを補正するように時刻同期部３０４を制御する。
【００５０】
時刻選択部３０３は、ＢＭＣＡ（Best Master Clock Algorithm）による基準時刻の切り替え制御や、蓄積監視部３０２の時刻変動の判定結果に基づいて、精度の高い安定した系（時刻パス）の時刻情報を選択する。ここで、ＢＭＣＡは、ＩＴＵ−ＴのＧ．８２７５．１で規定されており、複数個の時刻情報の中から最も適切な時刻情報を選択するアルゴリズムである。
【００５１】
時刻同期部３０４は、自装置内のマスター時計を有し、下位側に接続されるスレーブ装置が従属すべき時刻情報を保持する。時刻同期部３０４は、蓄積監視部３０２からの指示に基づき、ＰＴＰ処理部３０１が求めた時刻オフセットに基づいてマスター時計の時刻を補正する。
【００５２】
ＰＴＰ処理部３０５（１）およびＰＴＰ処理部３０５（Ｚ）は、下位側に時刻同期装置が接続される場合、下位側に基準時刻を配信するマスター装置として動作する。例えば、ＰＴＰ処理部３０５（１）およびＰＴＰ処理部３０５（Ｚ）は、時刻同期部３０４が出力する時刻情報に基づいて、下位側の装置との間でＰＴＰパケットやAnnounce Messageを送受信する。ここで、ＰＴＰ処理部３０５（１）およびＰＴＰ処理部３０５（Ｚ）は、ＰＴＰ処理部３０１（１）およびＰＴＰ処理部３０１（Ｚ）が上位側の装置から受信したAnnounce Message１６１のｈｏｐ数に１を加算したｈｏｐ数のAnnounce Message１６１を下位側の装置に送信する。
【００５３】
次に、図７に示したＰＴＰ処理部３０１の構成について詳しく説明する。ＰＴＰ処理部３０１（１）は、パケット送受信処理部３５１（１）、Announceメッセージ処理部３５２（１）、タイムスタンプ処理部３５３（１）およびオフセット演算処理部３５４（１）を有する。同様に、ＰＴＰ処理部３０１（Ｚ）は、パケット送受信処理部３５１（Ｚ）、Announceメッセージ処理部３５２（Ｚ）、タイムスタンプ処理部３５３（Ｚ）およびオフセット演算処理部３５４（Ｚ）を有する。ここで、ＰＴＰ処理部３０１（１）からＰＴＰ処理部３０１（Ｚ）までのＺ個の処理部に共通の事項を説明する場合は符号末尾の（番号）を省略してＰＴＰ処理部３０１と表記する。また、ＰＴＰ処理部３０１を構成する各ブロックの符号についても同様の規則で表記する。
【００５４】
パケット送受信処理部３５１は、上位側に接続される装置との間でパケットの送受信処理を行う。例えば図２に示したＢＣ１０２（１）のパケット送受信処理部３５１（１）は、伝送路１５１を介して接続されるＧＭ１０１との間でＰＴＰパケットの送受信やAnnounce Message１６１ａの受信を行う。
【００５５】
Announceメッセージ処理部３５２は、パケット送受信処理部３５１が上位側の装置から受信したAnnounce Message１６１に格納された情報を処理する。本実施形態では、Announceメッセージ処理部３５２は、Announce Message１６１のstepsRemoved１６５の情報（ｈｏｐ数）を取り出して蓄積監視部３０２に出力する。
【００５６】
タイムスタンプ処理部３５３は、パケット送受信処理部３５１が上位側の装置から受信するＰＴＰパケットに格納された時刻情報を取り出してオフセット演算処理部３５４に出力する。また、タイムスタンプ処理部３５３は、ＰＴＰパケットに自装置の時刻情報を格納して、パケット送受信処理部３５１から上位側の装置に送信する。ここで、ＢＣ１０２が上位側の装置との間で送受信するＰＴＰパケットは、IEEE1588-2008の規格で定められている。例えばＢＣ１０２が上位側の装置から受信するＰＴＰパケットには、Syncパケット、FollowUpパケット、DelayRespパケットなどがある。また、ＢＣ１０２が上位側の装置に送信するＰＴＰパケットには、例えばDelayReqパケットがある。
【００５７】
オフセット演算処理部３５４は、タイムスタンプ処理部３５３が処理したＰＴＰパケットの時刻情報に基づいて、上位側の装置の時刻と自装置の時刻とのずれ（時刻オフセット）を求め、時刻オフセットの情報を蓄積監視部３０２に出力する。
【００５８】
次に、図７に示した蓄積監視部３０２の構成について詳しく説明する。蓄積監視部３０２は、オフセット蓄積部３６１、閾値判定部３６２および警報処理部３６３を有する。
【００５９】
オフセット蓄積部３６１は、各系毎にＰＴＰ処理部３０１が求めた時刻オフセットを蓄積する。例えば、１系のオフセット蓄積部３６１（１）は、１系のＰＴＰ処理部３０１（１）のオフセット演算処理部３５４（１）が求めた時刻オフセットを蓄積する。同様に、Ｚ系のオフセット蓄積部３６１（Ｚ）は、Ｚ系のＰＴＰ処理部３０１（Ｚ）のオフセット演算処理部３５４（Ｚ）が求めた時刻オフセットを蓄積する。なお、時刻オフセットは、例えばＰＴＰパケットを送受信する毎に時系列順に蓄積される。
【００６０】
閾値判定部３６２は、ＰＴＰ処理部３０１がAnnounce Message１６１のstepsRemoved１６５から取得したｈｏｐ数に基づいて時刻変動の有無を判別する閾値を設定し、時刻変動の発生を検出する。さらに、閾値判定部３６２は、図７で説明したように、閾値を超える時刻変動が予め決められた回数だけ連続して検出した場合に、時刻変動の種類がレベルシフトであると認識する。そして、閾値判定部３６２は、時刻同期部３０４のマスター時計の時刻を時刻オフセットに基づいて補正するように時刻同期部３０４に指令する。なお、閾値判定部３６２は、閾値を超える時刻変動が予め決められた回数だけ連続しない場合、時刻変動の種類がレベル変動であると認識し、マスター時計の時刻の補正は行わない。
【００６１】
警報処理部３６３は、各系が正常に動作しているか否かを監視し、異常が発生した場合に警報を不図示の監視装置に通知する。例えば図７において、警報処理部３６３（１）は１系に異常が発生した場合に警報処理を行い、警報処理部３６３（Ｚ）はＺ系に異常が発生した場合に警報処理を行う。
【００６２】
このように、本実施形態に係るＢＣ１０２は、IEEE1588-2008の規格で規定されているAnnounce Message１６１の情報を利用することで、特別な機能を実装することなく接続段数に応じた閾値の設定を行うことができる。そして、本実施形態に係るＢＣ１０２は、接続段数に応じた時刻変動の判定閾値を設定することにより、装置の多段接続による時刻変動の蓄積に起因する誤判定を低減することができ、時刻変動の発生を従来よりも精度良く検出することができる。また、本実施形態に係るＢＣ１０２は、時刻変動の種類がレベル変動であるかレベルシフトであるかを判定することができ、レベルシフトである場合に時刻の補正を行うことができる。
（第２実施形態）
本実施形態では、統計処理によりはずれ値を検出して時刻変動の種類を判定する方法について説明する。
【００６３】
時刻同期網ではジッタ/ワンダが発生している条件下で時刻レベルが閾値を超過しているか否かを判定する必要がある。ところが、ジッタ/ワンダは時間的に変化する場合が有り、初期設定時に想定していた値（固定値）では誤検出する場合が有るため、時刻同期網の運用に混乱が生じることが懸念される。そこで、本実施形態では、統計的手法を用いてはずれ値の有無を検出する。そして、はずれ値が予め設定された回数連続して検出されたか否かにより、時刻変動の種類がレベル変動であるかレベルシフトであるかを判定する。
【００６４】
ここで、統計に基づくはずれ値の検出方法として、Dixon検定、Grubb検定、Tietjen-Moore検定等が知られている。Dixon検定およびGrubb検定は、１個のはずれ値のみ検出可能であり、はずれ値が連続して発生する可能性が有るので、本実施形態の時刻同期装置には適さない。一方、Tietjen-Moore検定は、疑わしいはずれ値の個数を指定することができるので、複数のはずれ値の検出が可能であり、本実施形態の時刻同期装置に適用可能である。以下の実施形態では、Tietjen-Moore検定を用いる場合について説明する。
【００６５】
図８は、ｍ（ｍは正の整数）個のサンプル単位で処理する一例を示す。図８において、横軸は時間（単位は秒[s]）、縦軸は時刻オフセット（単位はナノ秒[ns]）である。図８において、黒点は各サンプル時点で求められた時刻オフセットの値を示している。そして、本実施形態に係る時刻同期装置では、新たなサンプルの時刻オフセットが求められる度に、新たなサンプルを含む過去のｍ個のサンプルの時刻オフセットの値を参照して、ｍ個のサンプル単位ではずれ値の検出処理を行う。
【００６６】
図９は、比較例としてｍ個のサンプルの値を大小順にソートしてはずれ値を検出する方法を示す。なお、説明を簡単にするために、「はずれ値」はサンプルの値の大きい側に存在すると仮定する。
【００６７】
図９において、ｍ個のサンプルで求められた時刻オフセットの値を大小順にソートして、T1 ≦ T2 ≦ … ≦ Tmとする。ここで、図９に示したｍ個のサンプルT1からTmは大小順に並べられており、時系列順を示すものではない。つまり、時刻オフセットT1が最大値のサンプルであり、Tmが最小値のサンプルである。
【００６８】
そして、ｍ個の時刻オフセットの平均を<T>として、式（２）により、平均値との誤差の二乗和Sを求める。
S = Σ(Ti - <T>)2     (i = 1〜m)    …  式（２）
また、上位ｋ個のデータを除いたサンプルの平均を<Tk>として、式（３）により、平均値との誤差の二乗和Skを求める。
Sk = Σ(Ti - <Tk>)2    (i = k+1〜m)    …  式（３）
ここで、SkとSとの比をLkとする（式（４））。
Lk = Sk/S    …  式（４）
そして、式（４）において、Lkがはずれ値を検出するための閾値よりも小さい場合、「ｋ個のはずれ値が存在した」と判定する。
【００６９】
このように、サンプル値を大小順にソートしてTietjen-Moore検定を行う場合、「ｋ個のはずれ値」の存在は判るが、「ｋ個のはずれ値」が連続したものか、バラバラに出現しているものかは区別できない。
【００７０】
そこで、本実施形態に係る時刻同期装置では、時系列のサンプルをソートせずに、直近のk個のサンプルを除いた残りのサンプルを用いて、上述のTietjen-Moore検定と同様の計算を実行する。これにより、本実施形態に係る時刻同期装置では、「直近の連続したk個のはずれ値」だけを判定することができる。
【００７１】
図１０は、本実施形態におけるはずれ値の検出方法の一例を示す。ここで、図１０に示したｍ個のサンプルT1からTmは時系列順に並べられており、大小順に並べられた図９のｍ個のサンプルT1からTmとは異なる。つまり、時刻オフセットT1が最新のサンプルであり、Tmが最古のサンプルである。
【００７２】
図１０において、m個のサンプルの平均値を<T>として、式（５）により、平均値との誤差の二乗和Sを求める。
S = Σ(Ti - <T>)2     (i = 1〜m)    …  式（５）
また、直近の上位ｋ個のデータを除いたサンプルの平均を<Tk>として、式（６）により、平均値との誤差の二乗和Skを求める。
Sk = Σ(Ti - <Tk>)2    (i = k+1〜m)    …  式（６）
ここで、SkとSとの比をLkとする（式（７））。
Lk = Sk/S    …  式（７）
そして、式（７）において、Lkがはずれ値を検出するための閾値よりも小さい場合、「直近の連続したｋ個のはずれ値が存在した」と判定する。
【００７３】
このように、本実施形態に係る時刻同期装置では、サンプル値を大小順に並べ替えるソート処理を省略することにより、処理負荷を軽くしつつ、直近の連続したはずれ値の検出が可能になる。
【００７４】
図１１は、本実施形態における時刻変動の判別処理の一例を示す。なお、時刻変動の判別処理は、図２に示した各ＢＣ１０２において実行される。
【００７５】
ステップＳ２０１において、ＢＣ１０２は、上位側装置との間の時刻オフセットの演算結果（ｏｆｆｓｅｔ（ｎ））をメモリなどに格納する。
【００７６】
ステップＳ２０２において、ＢＣ１０２は、時刻オフセットの演算結果がm個蓄積されるまで待機する。なお、処理の開始時はm個蓄積されていないので、最初はmサンプルの処理時間だけ待機することになるが、一旦、m個の時刻オフセットの値が蓄積された後は、新たなサンプル処理で得られた最新の時刻オフセットを追加して最古の時刻オフセットを除外する処理を行う。従って、２回目以降の処理において、本ステップＳ２０２では、ＢＣ１０２は、新たな時刻オフセットが蓄積されるまで待機する。
【００７７】
ステップＳ２０３において、ＢＣ１０２は、m個の時刻オフセットに対して平均値<T>を求め、さらに式（５）によりSを計算する。
【００７８】
ステップＳ２０４において、ＢＣ１０２は、m個の時刻オフセットのうち、直近の予め設定された個数（k個）の時刻オフセットを除いた(m-k)個の時刻オフセットに対して平均値<Tk>を求め、さらに式（６）によりSkを計算する。
【００７９】
ステップＳ２０５において、ＢＣ１０２は、ステップＳ２０３で求めたSとステップＳ２０４で求めたSkとを用いて、式（７）によりLkを計算する。
【００８０】
ステップＳ２０６において、ＢＣ１０２は、Lkが予め設定された閾値αより小さいか否かを判定する。ここで、閾値αは、0≦α≦1の値であり、実測値やシミュレーション値に基づいて例えばα=0.5のように予め設定される。そして、ＢＣ１０２は、Lk＜αの場合、ステップＳ２０８の処理に進み、Lk≧αの場合、ステップＳ２０７の処理に進む。
【００８１】
ステップＳ２０７において、ＢＣ１０２は、直近のk個のサンプルははずれ値ではないと判定してステップＳ２０１の処理に戻り、次のサンプルの処理を同様に実行する。
【００８２】
ステップＳ２０８において、ＢＣ１０２は、直近のk個のサンプルははずれ値であると判定する。
【００８３】
ステップＳ２０９において、ＢＣ１０２は、ステップＳ２０８で直近のk個のサンプルがはずれ値であると判定された回数をカウントし、予め設定された回数（Ｎ回）連続して判定された場合はステップＳ２１０の処理に進み、Ｎ回連続して判定されなかった場合はステップＳ２１１の処理に進む。
【００８４】
ステップＳ２１０において、ＢＣ１０２は、直近のk個のサンプルがはずれ値であると判定された回数がＮ回連続したので、時刻変動の種類がレベル変動であると判定してステップＳ２１２の処理に進む。
【００８５】
ステップＳ２１１において、ＢＣ１０２は、直近のk個のサンプルがはずれ値であると判定された回数がＮ回未満で途切れたので、時刻変動の種類がレベル変動であると判定してステップＳ２０１の処理に戻り、次のサンプルの処理を同様に実行する。
【００８６】
ステップＳ２１２において、ＢＣ１０２は、時刻同期処理を実行して、自装置の時刻を上位側の装置の時刻に同期させる。或いは、ＢＣ１０２は、時刻の跳躍が発生したと判定して、当該系の時刻オフセットの演算を停止して、警報通知や他の系への時刻パスの切替を行うようにしてもよい。そして、ＢＣ１０２は、ステップＳ２０１の処理に戻って同様の処理を繰り返し実行する。
【００８７】
このように、本実施形態に係るＢＣ１０２は、図９で説明した既存のはずれ値の検定方法を改良することで連続したはずれ値の検出が可能であり、これにより時刻変動の種類がレベル変動であるかレベルシフトであるかを判定することができ、レベルシフトである場合に時刻の補正を行う。また、本実施形態に係るＢＣ１０２は、ソート処理が不要になるので、簡易な装置実装と処理負荷の軽減を図ることができる。さらに、本実施形態に係るＢＣ１０２は、統計情報を基にはずれ値の判定を行うことにより、ジッタ/ワンダに起因する誤判定を低減することができる。
［時刻同期装置の一例］
図１２は、本実施形態に係る時刻同期装置（ＢＣ１０２’）の一例を示す。図１２において、ＢＣ１０２’は、ＰＴＰ処理部３０１’（１）、ＰＴＰ処理部３０１’（Ｚ）、蓄積監視部３０２’、時刻選択部３０３、時刻同期部３０４、ＰＴＰ処理部３０５（１）およびＰＴＰ処理部３０５（Ｚ）を有する。ここで、ＢＣ１０２’は、基本的な構成は図７に示したＢＣ１０２と同じである。図１２に示したＢＣ１０２’が図７に示したＢＣ１０２と異なる部分は、ＰＴＰ処理部３０１’（１）、ＰＴＰ処理部３０１’（Ｚ）および蓄積監視部３０２’の構成である。ここで、ＰＴＰ処理部３０１’（１）からＰＴＰ処理部３０１’（Ｚ）までのＺ個の処理部に共通の事項を説明する場合は符号末尾の（番号）を省略してＰＴＰ処理部３０１’と表記する。また、ＰＴＰ処理部３０１’を構成する各ブロックの符号についても同様の規則で表記する。
【００８８】
ＰＴＰ処理部３０１’は、上位側の装置との間でＰＴＰパケットを送受信して時刻オフセットを求める。ここで、ＰＴＰ処理部３０１’は、図７に示したＰＴＰ処理部３０１とは異なり、Announce Message１６１のstepsRemoved１６５からｈｏｐ数を取得して蓄積監視部３０２に出力するAnnounceメッセージ処理部３５２を有していない。なお、ＰＴＰ処理部３０１’は、ｈｏｐ数を蓄積監視部３０２’に引き渡す処理を行わないが、IEEE1588-2008の規格に準拠したAnnounce Message１６１の処理は実行する。
【００８９】
ＰＴＰ処理部３０１’において、パケット送受信処理部３５１、タイムスタンプ処理部３５３およびオフセット演算処理部３５４の各ブロックの処理は、図７で説明したＰＴＰ処理部３０１のパケット送受信処理部３５１、タイムスタンプ処理部３５３およびオフセット演算処理部３５４と同一又は同様の処理を行うので、重複する説明は省略する。
【００９０】
蓄積監視部３０２’は、ＰＴＰ処理部３０１’（１）からＰＴＰ処理部３０１’（Ｚ）までのＺ個のＰＴＰ処理部３０１が求めた時刻オフセットを蓄積する。また、蓄積監視部３０２’は、統計処理により、時系列順の時刻オフセットからはずれ値を検出して時刻変動の有無と時刻変動の種類とを判定する。また、蓄積監視部３０２’は、図７に示した蓄積監視部３０２と同様に、各系が正常に動作しているか否かを監視し、異常が発生した場合に警報を不図示の監視装置に通知する。また、蓄積監視部３０２’は、各系の時刻の精度や品質を比較して、時刻精度や品質の高い系の時刻を選択するように時刻選択部３０３を制御する。さらに、蓄積監視部３０２’は、時刻変動の種類がレベルシフトである場合に、時刻選択部３０３が選択した時刻と自装置の時刻との時刻オフセットを補正するように時刻同期部３０４を制御する。
【００９１】
図１２において、時刻選択部３０３、時刻同期部３０４、ＰＴＰ処理部３０５（１）およびＰＴＰ処理部３０５（Ｚ）は、図７で説明した同符号のブロックと同様の機能を有するブロックであり、重複する説明は省略する。
【００９２】
次に、図１２に示した蓄積監視部３０２’の構成について詳しく説明する。蓄積監視部３０２’は、オフセット蓄積部３６１、警報処理部３６３および統計処理判定部３６４を有する。ここで、蓄積監視部３０２’は、図７に示した蓄積監視部３０２の閾値判定部３６２の代わりに、統計処理判定部３６４を有している。なお、オフセット蓄積部３６１および警報処理部３６３は、図７で説明した同符号のブロックと同様の機能を有するブロックであり、重複する説明は省略する。
【００９３】
統計処理判定部３６４は、図１０および図１１で説明した統計処理により、時系列順の時刻オフセットからはずれ値を検出する。そして、統計処理判定部３６４は、はずれ値が検出された場合に時刻変動があったと判断する。さらに、統計処理判定部３６４は、はずれ値が予め設定された回数連続して検出された場合は時刻変動の種類がレベルシフトであると判定して時刻同期部３０４に時刻の補正を行うように指令する。なお、統計処理判定部３６４は、はずれ値が予め設定された回数連続して検出されなかった場合は時刻変動の種類がレベル変動であると判定し、時刻の補正は行わない。
【００９４】
このように、本実施形態に係るＢＣ１０２’は、連続したはずれ値の検出が可能であり、時刻変動の種類がレベル変動であるかレベルシフトであるかを判定することができ、レベルシフトである場合に時刻の補正を行うことができる。また、本実施形態に係るＢＣ１０２’は、ソート処理が不要になるので、簡易な装置実装と処理負荷の軽減を図ることができる。さらに、本実施形態に係るＢＣ１０２’は、統計処理を用いてはずれ値の判定を行うことにより、ジッタ/ワンダなどに起因する一時的なレベル変動による誤判定を低減することができる。そして、ＢＣ１０２’は、時刻変動の種類がレベルシフトである場合に時刻の補正を行い、時刻変動の種類がレベル変動である場合は時刻の補正を行わないので、不要な時刻補正の排除により時刻同期網の安定性を維持することができる。
【００９５】
以上、各実施形態で説明したように、本実施形態に係る時刻同期方法および時刻同期装置は、時刻同期装置の多段接続による時刻変動の蓄積に起因する誤判定を低減することができる。また、本実施形態に係る時刻同期方法および時刻同期装置は、ジッタ/ワンダなどに起因する誤判定を低減することができる。これにより、本実施形態に係る時刻同期方法および時刻同期装置は、時刻同期網の安定性を維持することができる。
【符号の説明】
【００９６】
１０１・・・ＧＭ；１０２，１０２（１），１０２（ｎ）・・・ＢＣ；１５１・・・伝送路；１６１，１６１ａ，１６１ｂ，１６１ｃ・・・Announce Message；１６５・・・stepsRemoved；３０１，３０１（１），３０１（Ｚ）・・・ＰＴＰ処理部；３０２，３０２’・・・蓄積監視部；３０３・・・時刻選択部；３０４・・・時刻同期部；３０５，３０５（１），３０５（Ｚ）・・・ＰＴＰ処理部；３５１，３５１（１），３５１（Ｚ）・・・パケット送受信処理部；３５２，３５２（１），３５２（Ｚ）・・・Announceメッセージ処理部；３５３，３５３（１），３５３（Ｚ）・・・タイムスタンプ処理部；３５４，３５４（１），３５４（Ｚ）・・・オフセット演算処理部；３６１，３６１（１），３６１（２）・・・オフセット蓄積部；３６２，３６２（１），３６２（２）・・・閾値判定部；３６３，３６３（１），３６３（２）・・・警報処理部；３６４，３６４（１），３６４（Ｚ）・・・統計処理判定部；９００・・・ＧＮＳＳ；９０１，９０１（１），９０１（２）・・・ＧＭ；９０２，９０２（１），９０２（２），９０２（３），９０２（４），９０２（５），９０２（６），９０２（ｍ）・・・ＢＣ
【図１】
0006392180.tif 000003
【図２】
0006392180.tif 000004
【図３】
0006392180.tif 000005
【図４】
0006392180.tif 000006
【図５】
0006392180.tif 000007
【図６】
0006392180.tif 000008
【図７】
0006392180.tif 000009
【図８】
0006392180.tif 000010
【図９】
0006392180.tif 000011
【図１０】
0006392180.tif 000012
【図１１】
0006392180.tif 000013
【図１２】
0006392180.tif 000014