ISO/IEC DIS 23008−1に規定されているMMT(MPEG Media Transport)は、平成23年総務省令第87号「標準テレビジョン放送等のうちデジタル放送に関する送信の標準方式」において、我が国の超高精細テレビジョン放送のメディアトランスポート方式として採用されている。また、上記の省令に対応する標準規格は、一般社団法人電波産業会(ARIB)によって策定された(非特許文献1参照)。
MMTを用いた放送システムにおいて、映像や音声は、ネットワーク・タイム・プロトコル(NTP: Network Time Protocol)形式の協定世界時(UTC: Universal Time, Coordinated)時刻情報(以下「NTP時刻情報」という。)に基づいて提示される。電波等の空間伝播を用いる放送システムと有線回線を用いる放送システムとのいずれでも、送信システムが送信した映像及び音声の提示時刻は、UTC時刻という共通の時間軸で指定される。放送システムは、電波等の空間伝播を用いる放送システムと有線回線を用いる放送システムとの違いや、送信システムの違いによらずに、UTC時刻という共通の時間軸で指定された提示時刻に基づいて、映像及び音声を同期させて提示することができる。
図12は、放送システムにおけるMMTのプロトコルスタックの例を示す図である。放送システムにおけるUTC時刻情報は、IETF RFC5905「Network Time Protocol Version 4:Protocol and Algorithms Specification」によって規定されたNTP形式のUDP/IPパケットを用いて、NTPクライアント端末装置に提供される。
一方、通信システムの通信回線では、NTP時刻情報を含むパケット(以下、「NTPパケット」という。)は、ユニキャストやマルチキャスト等の配信の形態に応じて、IPパケットのまま伝送されることが可能である。
図13は、通信システムにおけるMMTのプロトコルスタックの例を示す図である。通信システムにおけるUTC時刻情報は、通信回線を伝送されるNTPパケットを用いて、NTPサーバ装置からNTPクライアント端末装置に提供される。トランスポート方式であるMPEG−2 Systems(Rec. ITU−T H.222.0,ISO/IEC 13818−1)を用いた放送システムでは、規格により、映像及び音声等の同期と安定再生とが実現されている。
しかしながら、MMTではクロックの伝送等が規定されていない。したがって、MMTを用いる放送システムの送信システム(NTPサーバ装置)及び受信機(NTPクライアント端末装置)は、以下に示す第1要件から第4要件までを満たす必要がある(非特許文献1の第5頁を参照)。
(第1要件):送信システムは、NTPタイムスタンプに基づくクロックを保持する(NTP形式の時計を動作させる)。
(第2要件):送信システムにおいて、NTPタイムスタンプに基づくクロックと、映像及び音声のエンコード処理のためのクロックとが同期している。
(第3要件):受信機は、送信システムから取得したNTP時刻情報に基づくクロックを生成及び保持する。
(第4要件):受信機において、NTPタイムスタンプに基づくクロックを保持するためのクロックであるシステムクロックと、映像及び音声のデコード処理を実行するためのクロックとが同期している。
放送システムが第1要件から第4要件までを満たす場合、送信システムにおけるエンコード処理を実行するためのクロックの周波数と、受信機におけるデコード処理を実行するためのクロックの周波数とは等しい。すなわち、放送システムが第1要件から第4要件までを満たす場合、送信システムにおけるエンコード処理を実行するためのクロックの周波数と、受信機におけるデコード処理を実行するためのクロックの周波数とが同期する。以下、クロックの周波数が同期することを「クロック周波数同期」という。以下、システムクロックの周波数が同期することを「システムクロック周波数同期」という。
放送システムが第1要件から第4要件までの少なくとも一つを満たさない場合であって、送信システムにおけるエンコード処理を実行するためのクロックの周波数が受信機におけるデコード処理を実行するためのクロックの周波数に対して高い場合には、送信システムにおけるエンコード処理の速度に対して受信機におけるデコード処理の速度が遅いので、受信機におけるデコード処理が間に合わず、再生される映像及び音声の品質は劣化してしまう。
放送システムが第1要件から第4要件までの少なくとも一つを満たさない場合であって、送信システムにおけるエンコード処理を実行するためのクロックの周波数が受信機におけるデコード処理を実行するためのクロックの周波数に対して低い場合には、送信システムにおけるエンコード処理の速度に対して受信機におけるデコード処理の速度が速いので、受信機がデコード処理すべきデータが存在しない期間が生じてしまい、再生される映像及び音声の品質は劣化してしまう。
次に、NTPを用いた時刻同期について説明する。
NTPクライアント端末装置では、時刻情報を含むパケットがNTPサーバ装置とNTPクライアント端末装置との間で相互に交換されることによって、NTPクライアント端末装置における時刻情報が、NTPサーバ装置における時刻情報に同期する。NTPサーバ装置は、NTPサーバ装置の現在時刻(基準時刻)を表すUTC時刻情報を含むNTPパケットを、1台以上のNTPクライアント端末装置に送信する。
NTPクライアント端末装置は、通信回線を介して、NTPパケットをNTPサーバ装置から取得する。NTPクライアント端末装置は、NTPパケットに含まれているUTC時刻情報を得る。しかし、NTPクライアント端末装置が通信回線を介して取得したNTPパケットに含まれているUTC時刻情報が表す時刻は、NTPクライアント端末装置がNTPパケットを取得した時刻よりも、NTPパケットが通信回線を伝搬した時間だけ遅延している。この遅延に応じて時刻同期に誤差が生じないようにするため、NTPクライアント端末装置は、計測されたNTPパケットの往復に要した時間である往復遅延時間に基づいて、時刻同期の誤差を補正する。
図14は、NTPに基づく時刻同期の誤差の補正方法の例を示すシーケンス図である。図14では、「ts」は、NTPサーバ装置の現在時刻を表すUTC時刻情報を通知するよう要求するリクエストをNTPクライアント端末装置がNTPサーバ装置に対して送信した時刻を表す。「tr」は、NTPクライアント端末装置が送信したリクエストをNTPサーバ装置が取得した時刻を表す。「Ts」は、NTPサーバ装置がNTPクライアント端末装置にレスポンスを送信した現在時刻を表すUTC時刻を表す。「tr」は、NTPクライアント端末装置がNTPサーバ装置のレスポンスを取得した時刻を表す。
NTPクライアント端末装置は、時刻情報「ts」を含むパケットを、リクエストのパケットとしてNTPサーバ装置に送信する。NTPサーバ装置は、取得されたリクエストのパケットに含まれている時刻情報「ts」、「Tr」及び「Ts」を、レスポンス(NTP時刻情報)のパケットに含める。NTPサーバ装置は、時刻情報「ts」、「Tr」及び「Ts」を含むレスポンスのパケットを、NTPクライアント端末装置に送信する。したがって、NTPクライアント端末装置に送信されたレスポンスは、UTC時刻情報を含む。NTPクライアント端末装置は、NTPサーバ装置からレスポンスのパケットを取得し、パケットを取得した時刻「tr」を記憶することにより、NTP時刻情報「ts」、「Tr」、「Ts」及び「tr」を得る。
以下、NTPクライアント端末装置からNTPサーバ装置への伝送路である往路においてパケットの伝送に要した時間を「往路伝送時間」という。以下、NTPサーバ装置からNTPクライアント端末装置への伝送路である復路においてパケットの伝送に要した時間を「復路伝送時間」という。以下、NTPクライアント端末装置とNTPサーバ装置との間の伝送路において往復の伝送に要した時間を「往復伝送時間」という。
パケットの往復伝送時間δは、往路伝送時間と復路伝送時間とがいずれも(δ/2)である場合、式(1)で表される。
δ=(tr−ts)−(Ts−Tr) …(1)
受信機は、パケットの往復伝送時間δを算出する。NTPクライアント端末装置は、NTPクライアント端末装置がNTPサーバ装置から取得したレスポンスのパケットに含まれているNTP時刻情報が表すUTC時刻「Ts」に、復路伝送時間「δ/2」を加算する。これによって、NTPクライアント端末装置は、往復伝送時間による時刻同期の誤差が補正されたUTC時刻を得ることができる。
NTP時刻情報及びMMTに基づいて受信機が映像及び音声を復号する方法と、映像及び音声の提示に用いるクロック信号を受信機がNTP時刻情報及びMMTに基づいて生成する方法とは、いずれも非特許文献1の第160頁に開示されている。NTP時刻情報が表すUTC時刻情報にクロックを受信機が同期させる方法の概要を説明する。
図15は、NTPに用いられるタイムスタンプフォーマットの例を示す図である。受信機が取得するNTP時刻情報は、図15に示すタイムスタンプフォーマットで表される。タイムスタンプフォーマットは、32ビット長の整数部と32ビット長の小数部との合計64ビット長の符号なし固定小数点により表される。32ビット長の整数部は、時刻「1900年1月1日0時0分0秒」からの経過時間を秒単位で示す。但し、MSB(most significant bit)が0である場合には、32ビット長の整数部は、時刻「2030年2月7日6時28分16秒」からの経過時間を秒単位で表す。32ビット長の小数部は、1秒未満の経過時間を秒単位で表す。32ビット長の小数部は、MSBから順に、2−1,2−2,2−3,…,2−32秒を表す。
受信機であるNTPクライアント端末装置が取得したNTP時刻情報に基づいて、NTPクライアント端末装置が時刻同期及びクロック周波数同期を実行する方法を説明する(非特許文献1参照)。
図16は、NTPクライアント端末装置の構成の例を示す図である。非特許文献1において、受信機におけるシステムクロックの生成には、従来の放送システムに適用されてきた27MHzではなく、2nHz(nは整数。)の周波数を用いることが想定されている。受信機におけるシステムクロックは、受信機において映像及び音声等をデコードする処理に用いられるクロックのベースとなるクロックである。また、受信機におけるシステムクロックは、NTP形式の時計であるNTPクロックカウンタのカウントアップに用いられる。このため、非特許文献1では、システムクロックの周波数の一例として、27MHzに近い「224Hz(約16.8MHz)」が採用されている。
受信機は、NTP時刻情報に同期した224Hzのシステムクロックを受信機が生成するために、224Hz近傍で動作するVCO(Voltage-controlled oscillator)が出力したクロックを用いて、NTPクロックカウンタをカウントアップする。NTPクロックカウンタは、図15に示すタイムスタンプフォーマットの64ビットのうち、整数部の32ビットと少数部の24ビット(224Hzまでに対応)との合計56ビットで構成されるカウンタである。また、受信機の比較器は、NTPサーバ装置から通知されたUTC時刻「Ts」に復路伝送時間(δ/2)を加算することによって、取得したNTP時刻情報が表すUTC時刻(タイムスタンプ)を補正する。
受信機の比較器は、補正されたタイムスタンプの32ビット長の整数部と24ビット長の小数部との合計56ビット(NTP_TIME_56)と、受信機のNTPクロックカウンタの32ビット長の整数部と24ビット長の小数部との合計56ビット(LOCAL_TIME_56)とを比較する。
NTP_TIME_56>LOCAL_TIME_56である場合、受信機はVCOの発振周波数を高くする。NTP_TIME_56<LOCAL_TIME_56である場合、受信機はVCOの発振周波数を低くする。NTP_TIME_56=LOCAL_TIME_56である場合、受信機はVCOの発振周波数を維持する。受信機は、NTP時刻情報を取得した場合に比較処理を実行することにより、NTP時刻情報が表すUTC時刻に同期したVCOの発振周波数(224Hz)から、システムクロックを生成することができる。さらに、NTPクロックカウンタのカウンタ値は、NTP時刻情報が表すUTC時刻に同期して、受信機の現在時刻を表すことができる。以上のNTP時刻情報に基づく同期の方法では、パケットの往路伝送時間と復路伝送時間とが等しい。
次に、パケットの往路伝送時間と復路伝送時間とが異なる場合について説明する。
復路伝送時間は(δ/2)である。往路伝送時間は(δ/2+ε)である。「ε」は、遅延時間を表す。パケットの往復伝送時間(δ+ε)は、式(2)で表される。
δ+ε=(tr−ts)−(Ts−Tr)=(δ/2)+(δ/2+ε) …(2)
往路又は復路の遅延時間(片方向の遅延時間)は、(δ/2+ε/2)である。したがって、遅延時間がない場合と比較して、遅延時間(ε/2)の誤差が時刻同期に生じる。遅延時間の誤差が時刻同期に生じる要因として、往路と復路とで経路の長さが異なるという要因や、NTPパケットが経由する通信装置のパケットの転送処理における処理時間が揺らぐという要因がある。
往路伝送時間と復路伝送時間とがそれぞれ固定値である場合、遅延時間εは固定値である。遅延時間が固定値である場合、時刻同期誤差(ε/2)も固定値である。時刻同期誤差(ε/2)が固定値である場合、受信機は、時刻同期誤差(ε/2)を含む復路伝送時間(δ/2+ε/2)を用いて、受信機の現在時刻を誤差(ε/2)でUTC時刻に同期させる。すなわち、受信機は、送信システムから通知されたNTP時刻情報が表すUTC時刻「Ts」に復路伝送時間(δ/2+ε/2)を加算することによって、受信機の現在時刻を誤差(ε/2)でUTC時刻に同期させる。
一方、システムクロックの同期について、受信機は、固定値である遅延時間εを往路伝送時間及び復路伝送時間に考慮する。遅延時間の揺らぎがない通信環境では、受信機がN番目に取得したNTP時刻情報に基づいて補正されたUTC時刻は、式(3)で表される。
Ts(N)+(δ/2+ε/2) …(3)
遅延時間εの揺らぎがない通信環境では、受信機が(N+1)番目に取得したNTP時刻情報に基づいて補正されたUTC時刻は、式(4)で表される。
Ts(N+1)+(δ/2+ε/2) …(4)
式(3)と式(4)との差分は、式(5)で表される。
Ts(N+1)−Ts(N) =(Ts(N+1)+(δ/2+ε/2))−(Ts(N)+(δ/2+ε/2)) …(5)
よって、遅延時間εは、NTPサーバ装置がN番目のレスポンスを送信した時刻と、NTPサーバ装置が(N+1)番目のレスポンスを送信した時刻との時間差に等しい。このことから、図16に示された比較器において、受信機がN番目に取得したNTP時刻情報に基づくUTC時刻情報(64ビット)と、受信機が(N+1)番目に取得したNTP時刻情報に基づくUTC時刻情報(64ビット)との差は、遅延時間εに依存しない。したがって、VCOの発振周波数の制御信号も、遅延時間εに依存しない。したがって、VCOの発振周波数も、遅延時間εに依存しない。VCOの発周波数の安定度が劣化しないので、位相雑音は小さい。
次に、往路伝送時間及び復路伝送時間の変動(遅延時間の揺らぎ)によって遅延時間εの対称性が変動する場合について説明する。
受信機がN番目に取得したNTP時刻情報の往路伝送時間及び復路伝送時間の差がε(N)であり、受信機が(N+1)番目に取得したNTP時刻情報の往路伝送時間及び復路伝送時間の差がε(N+1)であり、ε(N+1)とε(N)とが等しいとは限らない(対称性が変動する)場合には、受信機がN番目に取得したNTP時刻情報に基づいて補正されたUTC時刻は、式(6)で表される。
Ts(N)+(δ/2+ε(N)/2) …(6)
受信機が(N+1)番目に取得したNTP時刻情報に基づいて補正されたUTC時刻は、式(7)で表される。
Ts(N+1)+(δ/2+ε(N+1)/2) …(7)
式(6)と式(7)との差分は、式(8)で表される。
(Ts(N+1)+(δ/2+ε(N+1)/2))−(Ts(N)+(δ/2+ε(N)/2))
=(Ts(N+1)−Ts(N))+(ε(N+1)−ε(N))/2 …(8)
図16に示された比較器におけるNTP時刻情報(64ビット)は、式(8)に示された差分における「(ε(N+1)−ε(N))/2」の影響を受ける。したがって、VCOの周波数の制御信号は、遅延時間εによる揺らぎの影響を受ける。また、受信機であるNTPクライアント端末装置のシステムクロック(VCOの出力である224Hzのクロック信号)は、遅延時間εによる揺らぎの影響を受ける。このため、VCOの周波数の安定度が劣化して位相雑音が増大するので、システムクロックを用いてカウントアップされるNTPクロックカウンタの値であるNTP時刻情報は、遅延時間εによる揺らぎの影響を受けて劣化する。
次に、パケットの往復伝送時間δの揺らぎによる影響を抑圧する方法を説明する。
受信機は、往復伝送時間δを複数回計測した結果に基づいて、通信回線における最小の経路を判定する。受信機は、往復伝送時間δが最小であるリクエスト及びレスポンスのパケットの組の経路が通信回線における最小の経路である、と判定する。
通信回線における最小の経路では、往復伝送時間δの揺らぎの影響が小さい。受信機は、往復伝送時間δが最小であるリクエスト及びレスポンスのパケットの組を選択する。受信機は、選択されたリクエスト及びレスポンスのパケットの組を、時刻同期の補正用データとして用いる。この方法は、パケットの往復伝送時間δの揺らぎの影響を抑圧する方法として知られている(特許文献1参照)。
電波等の空間伝播を用いる放送システムでは、パケットは送信システムから受信機に向かう片方向に送信される。したがって、放送システムでは、NTPクライアント端末装置である受信機は、NTPサーバ装置である送信システムに通信システムのようにリクエストを送信することができない。
そこで、放送システムにおいてNTPサーバ装置をブロードキャストモードで運用することが想定されている(非特許文献1の第6頁参照)。ブロードキャストモードとは、NTPサーバ装置が時刻情報をNTPクライアント端末装置に向かう片方向に送信する動作モードである。
NTPサーバ装置をブロードキャストモードで運用する場合、NTPクライアント端末装置は、往復伝送時間δに基づいて片方向の遅延時間を推定することができない。また、NTPサーバ装置をブロードキャストモードで運用する場合、NTPクライアント端末装置は、遅延時間の揺らぎによる影響を受けたパケットを遅延時間の分布に基づいて排除することによっては、時刻同期を補正できない。
しかしながら、電波等の空間伝播を用いる放送システムでは、送信システムから受信機までの空間に遅延時間の揺らぎを発生させる要因がほとんどないため、実用上問題ない精度で、時刻同期及びシステムクロック周波数同期が可能である(非特許文献2の第3.3節参照)。
本発明の実施形態について、図面を参照して詳細に説明する。
(第1実施形態)
図1は、第1実施形態における、時刻同期システム1の構成の例を示す図である。時刻同期システム1は、NTPサーバ装置10と、NTPクライアント端末装置20と、通信回線30とを備える。NTPサーバ装置10及びNTPクライアント端末装置20は、通信回線30を介して接続されている。通信回線30は、IPマルチキャスト又はIPブロードキャストによる通信が可能なネットワーク(伝送路)である。
NTPサーバ装置10は、NTP時刻情報を含むNTPパケットを、ブロードキャストモードで通信回線30に送信する。NTPクライアント端末装置20は、通信回線30を介して取得したNTPパケットが通信回線30を最小の遅延時間で伝送されたNTPパケットであるか否かを判定する。通信回線30においてNTPサーバ装置10及びNTPクライアント端末装置20の間の最小の経路を伝送されたNTPパケットは、最小の遅延時間で伝送されたNTPパケットである。最小の遅延時間で伝送されたNTPパケットは、遅延時間の揺らぎが小さいNTPパケットである。
NTPクライアント端末装置20は、通信回線30を最小の遅延時間で伝送されたNTPパケットに基づいて、自端末装置の時刻情報をNTPサーバ装置10の時刻情報に高精度で同期させる。すなわち、NTPクライアント端末装置20は、遅延時間の揺らぎが小さいNTPパケットに基づいて、自端末装置の時刻情報をNTPサーバ装置10の時刻情報に高精度で同期させる。
また、NTPクライアント端末装置20は、最小の遅延時間で伝送されたNTPパケットに基づいて、NTPサーバ装置10のシステムクロックの周波数と自端末装置のシステムクロックの周波数とを同期させる。
図2は、第1実施形態における、NTPサーバ装置10の構成の例を示す図である。NTPサーバ装置10は、情報処理装置である。NTPサーバ装置10の構成のうち一部又は全部は、例えば、CPU(Central Processing Unit)等のプロセッサが、メモリに記憶されたプログラムを実行することにより実現されてもよいし、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェアを用いて実現されてもよい。
NTPサーバ装置10は、UTC時刻源100と、共通クロック101と、タイムスタンプカウンタ部102と、NTPパケット生成部103とを備える。NTPパケット生成部103は、UTC・Csデータラッチ部104と、パケット化部105とを備える。NTPサーバ装置10は、磁気ハードディスク装置や半導体記憶装置等の不揮発性の記録媒体(非一時的な記録媒体)を有する記憶装置をさらに備えてもよい。
UTC時刻源100は、NTPのタイムスタンプフォーマットで記述されたUTC時刻情報を、UTC・Csデータラッチ部104に出力する。共通クロック101の周波数は、NTPクライアント端末装置20のシステムクロックの周波数と等しい。タイムスタンプカウンタ部102は、共通クロック101のパルス数を計測する。タイムスタンプカウンタ部102は、タイムスタンプカウンタ値(Cs)を、UTC・Csデータラッチ部104に出力する。
UTC・Csデータラッチ部104は、UTC時刻源100が出力したUTC時刻情報と、タイムスタンプカウンタ部102が出力したタイムスタンプカウンタ値(Cs)とを、同時にラッチする。UTC・Csデータラッチ部104は、ラッチされたUTC時刻情報とタイムスタンプカウンタ値(Cs)とを、パケット化部105に転送する。
パケット化部105は、UTC時刻情報とタイムスタンプカウンタ値(Cs)を含むNTPパケットを生成する。パケット化部105は、NTPパケットをIPマルチキャストパケット又はIPブロードキャストパケットとして、通信回線30を介してNTPクライアント端末装置20に転送する。パケット化部105は、NTPパケットをNTPクライアント端末装置20に定期的に転送する。
図3は、第1実施形態における、NTPクライアント端末装置20の構成の例を示す図である。NTPクライアント端末装置20は、情報処理装置である。NTPサーバ装置10の構成のうち一部又は全部は、例えば、CPU等のプロセッサが、メモリに記憶されたプログラムを実行することにより実現されてもよいし、LSIやASIC等のハードウェアを用いて実現されてもよい。
NTPクライアント端末装置20は、UTC・Cs分離部200と、共通クロック201と、タイムスタンプカウンタ部202と、タイムスタンプカウンタ値設定部203と、タイムスタンプ比較部204と、UTC時刻情報転送制御部205と、同期時刻・同期クロック生成部206とを備える。NTPクライアント端末装置20は、磁気ハードディスク装置や半導体記憶装置等の不揮発性の記録媒体(非一時的な記録媒体)を有する記憶装置をさらに備えてもよい。
UTC・Cs分離部200は、NTPパケットを取得する。UTC・Cs分離部200は、取得されたNTPパケットから、UTC時刻情報とNTPサーバ装置10のタイムスタンプカウンタ値(Cs)とを読み出す。
共通クロック201の周波数は、NTPサーバ装置10の共通クロック101の周波数と等しい。タイムスタンプカウンタ部202は、共通クロック201のパルス数を計測する。NTPサーバ装置10のタイムスタンプカウンタと、NTPクライアント端末装置20のタイムスタンプカウンタとは、共通の周波数を有する共通クロックによってカウントアップされている。第1実施形態では、NTPサーバ装置10及びNTPクライアント端末装置20の共通クロックは、UTC時刻と非同期でもよい。タイムスタンプカウンタ部202は、タイムスタンプカウンタ値(Cc)を、タイムスタンプ比較部204に出力する。
タイムスタンプ比較部204は、取得されたNTPパケットに含まれているタイムスタンプカウンタ値(Cs)と、タイムスタンプカウンタ部202のタイムスタンプカウンタ値(Cc)から(α)を減じた結果とを比較する。αは0以上の値である。また、タイムスタンプ比較部204は、タイムスタンプカウンタ値(Cs)とタイムスタンプカウンタ値(Cc)とを比較する。
UTC時刻情報転送制御部205は、同期時刻・同期クロック生成部206のNTPクロックカウンタを初期化する。UTC時刻情報転送制御部205は、タイムスタンプカウンタ部202のタイムスタンプカウンタ値(Cc)の初期化を、タイムスタンプカウンタ値設定部203に指示する。UTC時刻情報転送制御部205は、タイムスタンプカウンタ部202のタイムスタンプカウンタ値(Cc)の更新を、タイムスタンプカウンタ値設定部203に指示する。
UTC時刻情報転送制御部205は、NTPサーバ装置10から取得したUTC時刻情報を自端末装置における時刻同期及びシステムクロック周波数同期に用いるか否かを決定する。すなわち、UTC時刻情報転送制御部205は、UTC・Cs分離部200から取得したUTC時刻情報を同期時刻・同期クロック生成部206に転送するか廃棄するかを、タイムスタンプ比較部204による判定結果に応じて決定する。
NTPクライアント端末装置20の時刻情報(クライアント時刻)とタイムスタンプカウンタ値(Cc)との初期化が完了した後で、UTC・Cs分離部200に新たに取得されたNTPパケットが、初期化の際に取得されたNTPパケットの伝送の遅延時間T0と同じ遅延時間でNTPクライアント端末装置20に取得された場合、取得されたNTPパケットに含まれているタイムスタンプカウンタ値(Cs)と、タイムスタンプカウンタ部202のタイムスタンプカウンタ値(Cc)とは等しい。
NTPクライアント端末装置20の時刻情報とタイムスタンプカウンタ値(Cc)との初期化が完了した後で、UTC・Cs分離部200に新たに取得されたNTPパケットが、初期化の際に取得されたNTPパケットの伝送の遅延時間T0よりも長い遅延時間でNTPクライアント端末装置20に取得された場合、取得されたNTPパケットに含まれているタイムスタンプカウンタ値(Cs)は、タイムスタンプカウンタ部202のタイムスタンプカウンタ値(Cc)よりも小さい。
NTPクライアント端末装置20の時刻情報とタイムスタンプカウンタ値(Cc)との初期化が完了した後で、UTC・Cs分離部200に新たに取得されたNTPパケットが、初期化の際に取得されたNTPパケットの伝送の遅延時間T0よりも短い遅延時間でNTPクライアント端末装置20に取得された場合、取得されたNTPパケットに含まれているタイムスタンプカウンタ値(Cs)は、タイムスタンプカウンタ部202のタイムスタンプカウンタ値(Cc)よりも大きい。
(Cs≦Cc−α)である場合、UTC時刻情報転送制御部205は、新たに取得されたUTC時刻情報を破棄する。(Cs>Cc−α)である場合、UTC時刻情報転送制御部205は、取得されたUTC時刻情報を同期時刻・同期クロック生成部206に転送する。同期時刻・同期クロック生成部206は、取得されたUTC時刻情報に基づいて、NTPサーバ装置10のシステムクロックの周波数に、同期時刻・同期クロック生成部206が生成するシステムクロックの周波数を同期させる。同期時刻・同期クロック生成部206は、システムクロックを外部に出力する。
(Cs>Cc)である場合、UTC時刻情報転送制御部205は、取得されたNTPパケットに含まれているタイムスタンプカウンタ値(Cs)で、タイムスタンプカウンタ部202のタイムスタンプカウンタ値(Cc)を更新するよう、タイムスタンプカウンタ値設定部203に指示を出す。タイムスタンプカウンタ値設定部203は、取得されたNTPパケットに含まれているタイムスタンプカウンタ値(Cs)で、タイムスタンプカウンタ部202のタイムスタンプカウンタ値(Cc)を更新する。このようにして、UTC時刻情報転送制御部205は、最小又は最小に近い遅延時間で伝送されたNTPパケットに含まれているUTC時刻情報に基づいて、NTPサーバ装置10のシステムクロックの周波数に、同期時刻・同期クロック生成部206が生成するシステムクロックの周波数を同期させる。
同期時刻・同期クロック生成部206は、図16に示された各構成を備える。すなわち、同期時刻・同期クロック生成部206は、比較器と、クロック信号源と、NTPクロックカウンタとを備える。同期時刻・同期クロック生成部206は、NTPサーバ装置10から取得したUTC時刻情報を自端末装置における時刻同期及びシステムクロック周波数同期に用いる、とUTC時刻情報転送制御部205が判定した場合、NTPサーバ装置10から取得したUTC時刻情報に自端末装置の時刻情報を同期させる。
同期時刻・同期クロック生成部206は、NTPサーバ装置10から取得したUTC時刻情報を自端末装置における時刻同期及びシステムクロック周波数同期に用いる、とUTC時刻情報転送制御部205が判定した場合、NTPサーバ装置10から取得したUTC時刻情報に基づいて、NTPサーバ装置10のシステムクロックの周波数に、同期時刻・同期クロック生成部206が生成するシステムクロックの周波数を同期させる。
図4は、第1実施形態における、NTPクライアント端末装置20における時刻情報を補正するか否かをNTPクライアント端末装置20が判定する動作の例を示すフローチャートである。UTC・Cs分離部200は、NTPパケットを取得する(ステップS101)。タイムスタンプ比較部204は、NTPクライアント端末装置20の時刻情報(クライアント時刻)とタイムスタンプカウンタ値(Cc)との初期化が完了しているか否かを判定する(ステップS102)。
初期化が完了していない場合(ステップS102:NO)、UTC時刻情報転送制御部205は、取得されたNTPパケットに含まれているUTC時刻情報が表す時刻と同じ時刻となるよう、同期時刻・同期クロック生成部206のNTPクロックカウンタのカウント値であるUTC時刻情報を初期化する(ステップS103)。
UTC時刻情報転送制御部205は、取得されたNTPパケットに含まれているタイムスタンプカウンタ値(Cs)で、タイムスタンプカウンタ部202のタイムスタンプカウンタ値(Cc)を初期化するよう、タイムスタンプカウンタ値設定部203に指示を出す。タイムスタンプカウンタ値設定部203は、取得されたNTPパケットに含まれているタイムスタンプカウンタ値(Cs)で、タイムスタンプカウンタ部202のタイムスタンプカウンタ値(Cc)を初期化する(ステップS104)。UTC時刻情報転送制御部205は、ステップS101に処理を戻す。
初期化が完了している場合(ステップS102:YES)、タイムスタンプ比較部204は、取得されたNTPパケットに含まれているタイムスタンプカウンタ値(Cs)と、タイムスタンプカウンタ部202のタイムスタンプカウンタ値(Cc)から(α)を減じた結果とを比較し、(Cs≦Cc−α)であるか否かを判定する(ステップS105)。
(Cs>Cc−α)である場合(ステップS105:NO)、UTC時刻情報転送制御部205は、取得されたUTC時刻情報を、同期時刻・同期クロック生成部206に転送する。同期時刻・同期クロック生成部206は、取得されたUTC時刻情報に基づいて、NTPサーバ装置10のシステムクロックの周波数に、同期時刻・同期クロック生成部206が生成するシステムクロックの周波数を同期させる(ステップS106)。
UTC時刻情報転送制御部205は、取得されたNTPパケットに含まれているタイムスタンプカウンタ値(Cs)と、タイムスタンプカウンタ部202のタイムスタンプカウンタ値(Cc)とを比較し、(Cs>Cc)であるか否かを判定する(ステップS107)。
(Cs>Cc)である場合(ステップS107:YES)、UTC時刻情報転送制御部205は、取得されたNTPパケットに含まれているタイムスタンプカウンタ値(Cs)で、タイムスタンプカウンタ部202のタイムスタンプカウンタ値(Cc)を更新するよう、タイムスタンプカウンタ値設定部203に指示を出す。タイムスタンプカウンタ値設定部203は、取得されたNTPパケットに含まれているタイムスタンプカウンタ値(Cs)で、タイムスタンプカウンタ部202のタイムスタンプカウンタ値(Cc)を更新する(ステップS108)。UTC時刻情報転送制御部205は、ステップS101に処理を戻す。
ステップS105において(Cs≦Cc−α)である場合(ステップS105:YES)、UTC時刻情報転送制御部205は、取得されたUTC時刻情報を破棄する(ステップS109)。
以上のように、第1実施形態の時刻同期システム1は、NTPサーバ装置10と、NTPクライアント端末装置20とを備える。NTPサーバ装置10は、UTC時刻源100と、タイムスタンプカウンタ部102(第1カウンタ)と、パケット化部105(送信部)とを有する。UTC時刻源100は、基準時刻情報を定める。タイムスタンプカウンタ部102は、予め定められた周波数のクロックに同期して第1カウント値を更新する。パケット化部105は、基準時刻情報及び第1カウント値を含むパケットをブロードキャストで送信する。NTPクライアント端末装置20は、UTC・Cs分離部200(取得部)と、タイムスタンプカウンタ部202(第2カウンタ)と、UTC時刻情報転送制御部205(決定部)とを有する。UTC・Cs分離部200は、パケットを取得する。タイムスタンプカウンタ部202は、周波数のクロックに同期して第2カウント値を更新する。UTC時刻情報転送制御部205は、第1カウント値及び第2カウント値を比較した結果に基づいて、自端末装置における時刻情報の補正に基準時刻情報を用いるか否かを決定する。
これによって、第1実施形態のNTPクライアント端末装置20は、NTPをブロードキャストモードで運用する時刻同期方式において、NTPサーバ装置10とNTPクライアント端末装置20との間で通信される信号の遅延時間に揺らぎがある場合でも、NTPサーバ装置10とNTPクライアント端末装置20との間で、時刻同期及びシステムクロック周波数同期を安定して実行することが可能である。
第1実施形態のNTPクライアント端末装置20は、取得されたNTPパケットが最小の遅延時間で伝送されたNTPパケットであるか否かを判定することができる。第1実施形態のNTPクライアント端末装置20は、時刻情報を高精度で同期させることができる。第1実施形態のNTPクライアント端末装置20は、位相雑音特性に優れた周波数のうち、UTC時刻に同期する2nHzの周波数を有するクロック信号を得ることができる。第1実施形態のNTPクライアント端末装置20は、NTPサーバ装置10のシステムクロックの周波数に、自端末装置のシステムクロックの周波数を高精度で同期させることができる。
なお、NTPサーバ装置10の時刻情報とNTPクライアント端末装置20の時刻情報とでは、NTPクライアント端末装置20の時刻情報は、NTPパケットの最小の遅延時間だけ遅れる。この点は、時刻同期誤差が許容される範囲でNTPパケットを伝送可能となる位置にNTPサーバ装置10を配置することにより解決できる。
(第2実施形態)
第2実施形態では、UTC時刻情報に周波数同期するクロック信号をNTPクライアント端末装置20が有する点が、第1実施形態と相違する。第2実施形態では、第1実施形態との相違点についてのみ説明する。
第2実施形態では、NTPサーバ装置10の共通クロック101とNTPクライアント端末装置20のクロック信号源とが、UTC時刻情報に同期している。NTPサーバ装置10の共通クロック101とNTPクライアント端末装置20のクロック信号源とがUTC時刻情報に同期している場合、NTPクライアント端末装置20は、第1実施形態と比較して簡便な方法で、NTPサーバ装置10とNTPクライアント端末装置20との間で、時刻同期及びシステムクロック周波数同期を安定して実行することが可能である。
第2実施形態では、NTPクライアント端末装置20は、UTC時刻と周波数同期したクロック信号を有している。すなわち、NTPクライアント端末装置20は、NTPサーバ装置10の時刻進みと同期したクロック信号を有している。そのため、第2実施形態では、NTPパケットに含まれているUTC時刻情報を用いなくても、システムクロック周波数同期が可能である。また、NTPサーバ装置10とNTPクライアント端末装置20とで、時刻情報が表す時刻の進む速さは同じである。
図5は、第2実施形態における、NTPクライアント端末装置20の構成の例を示す図である。NTPクライアント端末装置20は、UTC分離部210と、UTC時刻情報転送制御部211と、クロック信号源212と、システムクロック生成用PLL213と、NTPクロックカウンタ214とを備える。NTPクロックカウンタ214は、整数部215と、小数部216とを備える。
UTC分離部210は、NTPパケットをNTPサーバ装置10から取得する。UTC分離部210は、取得されたNTPパケットから、NTPサーバ装置10のUTC時刻情報(Time_S)を読み出す。UTC時刻情報転送制御部211は、NTPサーバ装置10のUTC時刻情報(Time_S)を、UTC分離部210から取得する。UTC時刻情報転送制御部211は、自端末装置のUTC時刻情報(Time_C)を、NTPクロックカウンタ214から取得する。
UTC時刻情報転送制御部211は、NTPサーバ装置10から取得したUTC時刻情報を自端末装置における時刻同期及びシステムクロック周波数同期に用いるか否かを決定する。すなわち、UTC時刻情報転送制御部211は、UTC分離部210から取得したUTC時刻情報をNTPクロックカウンタ214に転送するか廃棄するかを、UTC時刻情報(Time_C)よりもUTC時刻情報(Time_S)が進んでいるか否かに基づいて決定する。
UTC時刻情報転送制御部211は、NTPクロックカウンタ214のカウンタ値を初期化するためのNTPクロックカウンタ制御信号を、NTPクロックカウンタ214に出力する。UTC時刻情報転送制御部211は、NTPサーバ装置10から取得したUTC時刻情報を自端末装置における時刻同期及びシステムクロック周波数同期に用いる場合、NTPクロックカウンタ214のカウンタ値を補正するためのNTPクロックカウンタ制御信号を、NTPクロックカウンタ214に出力する。
クロック信号源212が出力するクロック信号は、UTC時刻情報に同期している。システムクロック生成用PLL213(PLL: Phase Locked Loop)は、UTC時刻情報に同期しているクロック信号に基づいて、周波数が224Hzであるシステムクロックを生成する。すなわち、システムクロック生成用PLL213は、UTC時刻情報に同期しているクロック信号に基づいて、UTC時刻情報に同期しているシステムクロックを生成する。
NTPクロックカウンタ214は、NTPサーバ装置10のUTC時刻情報が表す時刻と同じ時刻となるように、NTPクロックカウンタ制御信号に基づいてNTPクロックカウンタ214のカウント値を初期化する。NTPクロックカウンタ214の初期化の際に取得されたNTPパケットの伝送の遅延時間は、T0である。初期化されたNTPクロックカウンタ214のカウント値であるUTC時刻情報(Time_C)は、NTPサーバ装置10のUTC時刻よりも遅延時間T0だけ遅れている。
NTPクロックカウンタ214のカウント値であるUTC時刻情報(Time_C)よりも進んでいるUTC時刻情報(Time_S)を含むNTPパケットがNTPクロックカウンタ214のカウント値の初期化後に取得された場合、初期化後に取得されたNTPパケットは、遅延時間T0よりも短い遅延時間で伝送されたNTPパケットである。
したがって、NTPクロックカウンタ214は、最小の遅延時間で伝送されたNTPパケットに含まれているUTC時刻情報に基づいて、自端末装置におけるUTC時刻情報をNTPサーバ装置10のUTC時刻情報に同期させることができる。NTPクロックカウンタ214は、NTPサーバ装置10のUTC時刻情報が表す時刻と同じ時刻となるように、NTPクロックカウンタ制御信号に基づいてNTPクロックカウンタ214のカウント値を更新する。NTPクロックカウンタ214は、周波数が224Hzであるシステムクロックに基づいて、NTPクロックカウンタ214のカウント値をカウントアップする。このようにして、NTPクロックカウンタ214は、NTPサーバ装置10の時刻情報に、自端末装置におけるUTC時刻情報を同期させる。
図6は、第2実施形態における、時刻情報を補正するか否かをNTPクライアント端末装置20が判定する動作の例を示すフローチャートである。UTC分離部210は、新たなNTPパケットを取得する(ステップS201)。UTC分離部210は、取得されたNTPパケットから、NTPサーバ装置10のUTC時刻情報を読み出す(ステップS202)。
UTC時刻情報転送制御部211は、NTPクロックカウンタ214のカウント値であるUTC時刻情報の初期化が完了しているか否かを判定する(ステップS203)。NTPクロックカウンタ214のカウント値であるUTC時刻情報の初期化が完了していない場合(ステップS203:NO)、UTC時刻情報転送制御部211は、新たに取得されたNTPパケットに含まれているUTC時刻情報(Time_S)と同じ時刻となるよう、NTPクロックカウンタ214のカウント値であるUTC時刻情報(Time_C)を初期化する(ステップS204)。
ステップS203において、NTPクロックカウンタ214のカウント値であるUTC時刻情報の初期化が完了している場合(ステップS203:YES)、UTC時刻情報転送制御部211は、UTC時刻情報(Time_C)よりもUTC時刻情報(Time_S)が進んでいるか否かを判定する(ステップS205)。
UTC時刻情報(Time_C)よりもUTC時刻情報(Time_S)が進んでいる場合(ステップS205:YES)、UTC時刻情報転送制御部211は、新たに取得されたNTPパケットに含まれているUTC時刻情報(Time_S)と同じ時刻となるよう、NTPクロックカウンタ214のカウント値であるUTC時刻情報(Time_C)を更新する(ステップS206)。
ステップS205においてUTC時刻情報(Time_C)よりもUTC時刻情報(Time_S)が進んでいない場合(ステップS205:NO)、UTC時刻情報転送制御部205は、新たに取得されたUTC時刻情報を破棄する(ステップS207)。
以上のように、第2実施形態の時刻同期システム1は、NTPサーバ装置10と、NTPクライアント端末装置20とを備える。NTPサーバ装置10は、UTC時刻源100と、タイムスタンプカウンタ部102(第1カウンタ)と、パケット化部105(送信部)とを有する。UTC時刻源100は、基準時刻情報を定める。タイムスタンプカウンタ部102は、予め定められた周波数のクロックに同期して第1カウント値を更新する。パケット化部105は、基準時刻情報及び第1カウント値を含むパケットをブロードキャストで送信する。NTPクライアント端末装置20は、UTC分離部210(取得部)と、NTPクロックカウンタ214(第2カウンタ)と、UTC時刻情報転送制御部211(決定部)とを有する。UTC分離部210は、パケットを取得する。NTPクロックカウンタ214は、周波数のクロックに同期して第2カウント値を更新する。UTC時刻情報転送制御部211は、第1カウント値及び第2カウント値を比較した結果に基づいて、自端末装置における時刻情報の補正に基準時刻情報を用いるか否かを決定する。
これによって、第2実施形態のNTPクライアント端末装置20は、NTPをブロードキャストモードで運用する時刻同期方式において、NTPサーバ装置10とNTPクライアント端末装置20との間で通信される信号の遅延時間に揺らぎがある場合でも、より簡便な方法で、NTPサーバ装置10とNTPクライアント端末装置20との間で、時刻同期及びシステムクロック周波数同期を安定して実行することが可能である。
(第3実施形態)
第3実施形態では、時刻同期システムがシンクロナス・イーサネット(登録商標)(Synchronous Ethernet(登録商標))(以下、「SyncE」という。)規格に準拠した信号を用いる点が、第1実施形態と相違する。第3実施形態では、第1実施形態との相違点についてのみ説明する。
周波数が同じであるクロック信号をNTPサーバ装置10とNTPクライアント端末装置20とに供給するために、規格化されているSyncEを用いることができる。SyncEは、ITU−T G.8261/Y.1361,G.「Timing and synchronization aspects in packet networks」と、G.8262/Y.1362「Timing characteristics of a synchronous Ethernet equipment slave clock」と、G.8263/Y.1363「Timing characteristics of packet-based equipment clocks」と、G.8264/Y.1364「Distribution of timing information through packet networks」と、G.8265/Y.1365「Architecture and requirements for packet-based frequency delivery」とにおいて、規格化されている。
図7は、第3実施形態における、時刻同期システム1の構成の例を示す図である。時刻同期システム1は、NTPサーバ装置10と、NTPクライアント端末装置20と、通信回線30とを備える。NTPサーバ装置10及びNTPクライアント端末装置20は、通信回線30を介して接続されている。
NTPサーバ装置10は、SyncE機能を有しているSyncEクロック抽出部11を備える。NTPクライアント端末装置20は、SyncE機能を有しているSyncEクロック抽出部21を備える。SyncEクロック抽出部11及びSyncEクロック抽出部21は、周波数が同期した共通クロックを、通信回線30を介して得ることができる。通信回線30は、Ethernet(登録商標)/IPネットワークである。通信回線30は、SyncE機能を有している。
次に、SyncEを用いてNTPサーバ装置10に共通クロックを供給する方法と、NTPサーバ装置10の構成とを説明する。
図8は、第3実施形態における、NTPサーバ装置10の構成の例を示す図である。NTPサーバ装置10は、UTC時刻源100と、共通クロック101と、タイムスタンプカウンタ部102と、NTPパケット生成部103とを備える。NTPパケット生成部103は、UTC・Csデータラッチ部104と、パケット化部105とを備える。NTPサーバ装置10は、ネットワーク接続インタフェース106と、PHY107と、CDR108と、共通クロック生成用PLL109とを、SyncEクロック抽出部11として備える。
UTC時刻源100は、NTPのタイムスタンプフォーマットで記述されたUTC時刻情報を、UTC・Csデータラッチ部104に出力する。UTC時刻源100は、GPS(Global Positioning System)等の人工衛星から取得した電波による時刻情報に基づくUTC時刻情報を、UTC・Csデータラッチ部104に出力してもよい。
ネットワーク接続インタフェース106は、通信回線30と接続されている。ネットワーク接続インタフェース106は、パケットに応じた物理入力信号を、通信回線30を介してNTPクライアント端末装置20に送信する。ネットワーク接続インタフェース106は、NTPサーバ装置10におけるUTC時刻情報に同期したクロックをNTPクライアント端末装置20に供給するために、SyncE機能を有している通信回線30における伝送クロックを、GPS等の人工衛星から取得した電波による時刻情報に基づくUTC時刻情報に同期させる。これによって、ネットワーク接続インタフェース106は、通信回線30に接続されたNTPクライアント端末装置20に、UTC時刻情報に同期したクロック(SyncEクロック)を供給することができる。
ネットワーク接続インタフェース106は、通信回線30を介して、NTPクライアント端末装置20から、パケットに応じた物理入力信号を取得する。ネットワーク接続インタフェース106は、取得された物理入力信号をPHY107に送信する。
PHY107(取得部)は、物理入力信号をCDR108に送信する。CDR108(Clock Data Recovery)は、物理入力信号のデータの伝送クロックに周波数同期したリカバリークロックを、物理入力信号から生成する。CDR108は、リカバリークロックを、共通クロック生成用PLL109に出力する。共通クロック生成用PLL109は、リカバリークロックに同期した共通クロックを生成する。タイムスタンプカウンタ部102は、共通クロックを用いてタイムスタンプカウンタをカウントアップすることによって、タイムスタンプカウンタ値(Cs)を得る。
UTC・Csデータラッチ部104は、UTC時刻源100が出力したUTC時刻情報と、タイムスタンプカウンタ部102が出力したタイムスタンプカウンタ値(Cs)とを、同時にラッチする。UTC・Csデータラッチ部104は、ラッチされたUTC時刻情報とタイムスタンプカウンタ値(Cs)とを、パケット化部105に転送する。
パケット化部105は、UTC時刻情報とタイムスタンプカウンタ値(Cs)を含むNTPパケットを、NTPパケットフォーマットに基づいて生成する。パケット化部105は、PHY107、ネットワーク接続インタフェース106及び通信回線30を介して、NTPパケットをNTPクライアント端末装置20に転送する。パケット化部105は、NTPパケットをマルチキャストパケット又はブロードキャストパケットとして、NTPクライアント端末装置20に定期的に転送する。
図9は、第3実施形態における、NTPパケットフォーマットの例を示す図である。パケット化部105は、ラッチされたUTC時刻情報を、NTPパケットフォーマットの「Transmit_timestamp」フィールドに格納する。パケット化部105は、「Origin_timestamp」フィールド又は「Receive_timestamp」フィールドのいずれかに、タイムスタンプカウンタ値(Cs)を格納する。パケット化部105は、「Origin_timestamp」フィールドと「Receive_timestamp」フィールドとが連結されたフィールドに、タイムスタンプカウンタ値(Cs)を格納してもよい。
IETF RFC 5905には、NTPパケットフォーマットの「Origin_timestamp」フィールドは、NTPサーバ装置10にリクエストを送信したNTPクライアント端末装置20におけるUTC時刻情報を格納するためのフィールドであることが規格化されている。また、IETF RFC 5905には、NTPパケットフォーマットの「Receive_timestamp」フィールドは、NTPクライアント端末装置20が送信したリクエストを取得したNTPサーバ装置10におけるUTC時刻情報を格納するためのフィールドであることが規格化されている。したがって、NTPサーバ装置10をブロードキャストモードで運用する場合には、NTPクライアント端末装置20がリクエストを送信しないため、「Origin_timestamp」フィールドと「Receive_timestamp」フィールドとには、有意な情報が格納されない。
また、NTPクライアント端末装置20は、NTPパケットフォーマットの「Mode」フィールドを参照することで、取得されたNTPパケットがブロードキャストモードで運用されるNTPパケットであることを識別することができる。したがって、NTPサーバ装置10におけるタイムスタンプカウンタ値をNTPサーバ装置10が「Origin_timestamp」フィールドや「Receive_timestamp」フィールドに格納してNTPパケットを送信し、上記の各規格に従うNTPクライアント端末装置20がNTPパケットを取得しても、誤動作が発生することはない。
次に、SyncEを用いてNTPクライアント端末装置20に共通クロックを供給する方法と、NTPクライアント端末装置20の構成とを説明する。
図10は、第3実施形態における、NTPクライアント端末装置20の構成の例を示す図である。NTPクライアント端末装置20は、UTC・Cs分離部200と、共通クロック201と、タイムスタンプカウンタ部202と、タイムスタンプカウンタ値設定部203と、タイムスタンプ比較部204と、UTC時刻情報転送制御部205と、同期時刻・同期クロック生成部206とを備える。NTPクライアント端末装置20は、ネットワーク接続インタフェース207と、PHY208と、CDR209と、共通クロック生成用PLL217とを、SyncEクロック抽出部21として備える。
ネットワーク接続インタフェース207は、通信回線30と接続されている。ネットワーク接続インタフェース207は、パケットに応じた物理入力信号を、通信回線30を介してNTPサーバ装置10に送信する。ネットワーク接続インタフェース207は、通信回線30を介して、NTPサーバ装置10から、NTPパケット等のパケットに応じた物理入力信号を取得する。ネットワーク接続インタフェース207は、取得された物理入力信号をPHY208に送信する。PHY208(取得部)は、物理入力信号をCDR209に出力する。
CDR209は、物理入力信号のデータの伝送クロックに周波数同期したリカバリークロックを、物理入力信号から生成する。CDR209は、リカバリークロックを、共通クロック生成用PLL217に出力する。共通クロック生成用PLL217は、リカバリーに同期した共通クロックを生成する。タイムスタンプカウンタ部102は、共通クロックを用いてタイムスタンプカウンタをカウントアップすることによって、タイムスタンプカウンタ値(Cc)を得る。
UTC・Cs分離部200は、NTPパケットを取得する。UTC・Cs分離部200は、取得されたNTPパケットから、UTC時刻情報とNTPサーバ装置10のタイムスタンプカウンタ値(Cs)とを読み出す。
タイムスタンプ比較部204は、取得されたNTPパケットに含まれているタイムスタンプカウンタ値(Cs)と、タイムスタンプカウンタ部202のタイムスタンプカウンタ値(Cc)から(α)を減じた結果とを比較する。また、タイムスタンプ比較部204は、タイムスタンプカウンタ値(Cs)とタイムスタンプカウンタ値(Cc)とを比較する。タイムスタンプ比較部204は、タイムスタンプカウンタ値(Cs)とタイムスタンプカウンタ値(Cc)との比較結果を、UTC時刻情報転送制御部205に出力する。
UTC時刻情報転送制御部205は、同期時刻・同期クロック生成部206のNTPクロックカウンタを初期化する。UTC時刻情報転送制御部205は、タイムスタンプカウンタ部202のタイムスタンプカウンタ値(Cc)の初期化を、タイムスタンプカウンタ値設定部203に指示する。UTC時刻情報転送制御部205は、タイムスタンプカウンタ部202のタイムスタンプカウンタ値(Cc)の更新を、タイムスタンプカウンタ値設定部203に指示する。
UTC時刻情報転送制御部205は、NTPサーバ装置10から取得したUTC時刻情報を自端末装置における時刻同期及びシステムクロック周波数同期に用いるか否かを決定する。すなわち、UTC時刻情報転送制御部205は、UTC・Cs分離部200から取得したUTC時刻情報を同期時刻・同期クロック生成部206に転送するか廃棄するかを、タイムスタンプ比較部204による判定結果に応じて決定する。
同期時刻・同期クロック生成部206は、図16に示された各構成を備える。同期時刻・同期クロック生成部206は、NTPサーバ装置10から取得したUTC時刻情報を自端末装置における時刻同期及びシステムクロック周波数同期に用いるとUTC時刻情報転送制御部205が判定した場合、NTPサーバ装置10から取得したUTC時刻情報に自端末装置の時刻情報を同期させる。
同期時刻・同期クロック生成部206は、NTPサーバ装置10から取得したUTC時刻情報を自端末装置における時刻同期及びシステムクロック周波数同期に用いるとUTC時刻情報転送制御部205が判定した場合、NTPサーバ装置10から取得したUTC時刻情報に基づいて、NTPサーバ装置10のシステムクロックの周波数に、自端末装置のシステムクロックの周波数を同期させる。
以上のように、第3実施形態の時刻同期システム1は、NTPサーバ装置10と、NTPクライアント端末装置20とを備える。NTPサーバ装置10は、UTC時刻源100と、タイムスタンプカウンタ部102(第1カウンタ)と、パケット化部105(送信部)とを有する。UTC時刻源100は、基準時刻情報を定める。タイムスタンプカウンタ部102は、予め定められた周波数のクロックに同期して第1カウント値を更新する。パケット化部105は、基準時刻情報及び第1カウント値を含むパケットをブロードキャストで送信する。NTPクライアント端末装置20は、UTC・Cs分離部200(取得部)と、タイムスタンプカウンタ部202(第2カウンタ)と、UTC時刻情報転送制御部205(決定部)とを有する。UTC・Cs分離部200は、パケットを取得する。タイムスタンプカウンタ部202は、周波数のクロックに同期して第2カウント値を更新する。UTC時刻情報転送制御部205は、第1カウント値及び第2カウント値を比較した結果に基づいて、自端末装置における時刻情報の補正に基準時刻情報を用いるか否かを決定する。
これによって、第3実施形態のNTPクライアント端末装置20は、NTPをブロードキャストモードで運用する時刻同期方式において、NTPサーバ装置10とNTPクライアント端末装置20との間で通信される信号の遅延時間に揺らぎがある場合でも、SyncEを用いて、NTPサーバ装置10とNTPクライアント端末装置20との間で、時刻同期及びシステムクロック周波数同期を安定して実行することが可能である。
(第4実施形態)
第4実施形態では、UTC時刻情報に周波数同期するクロック信号をNTPクライアント端末装置20が有する(UTC時刻と同期した伝送クロックをNTPクライアント端末装置20が取得する)点が、第3実施形態と相違する。第4実施形態では、第3実施形態との相違点についてのみ説明する。
NTPクライアント端末装置20は、SyncE機能を有する通信回線30を介して、UTC時刻に同期した伝送クロックを取得する。NTPクライアント端末装置20は、取得された伝送クロックからシステムクロックを生成する。NTPクライアント端末装置20が生成したシステムクロックは、UTC時刻に同期しているNTPサーバ装置10のシステムクロックとも同期している。したがって、NTPサーバ装置10の時刻時計とNTPクライアント端末装置20の時刻時計とで、時計の進む速さは常に等しくなる。
図11は、第4実施形態における、NTPクライアント端末装置20の構成の例を示す図である。NTPクライアント端末装置20は、UTC分離部210と、UTC時刻情報比較部218と、NTPクロックカウンタ制御部219と、NTPクロックカウンタ214とを備える。NTPクライアント端末装置20は、ネットワーク接続インタフェース207と、PHY208と、CDR209と、システムクロック生成用PLL213とを、SyncEクロック抽出部21として備える。
通信回線30は、IPマルチキャスト又はIPブロードキャストによる通信が可能なネットワークである。通信回線30は、Ethernet(登録商標)/IPネットワークである。通信回線30は、SyncE機能を有している。
ネットワーク接続インタフェース207は、通信回線30と接続されている。ネットワーク接続インタフェース207は、送信されるパケットに応じた物理入力信号を、通信回線30を介してNTPサーバ装置10に送信する。ネットワーク接続インタフェース207は、通信回線30を介して、NTPサーバ装置10から、NTPパケット等のパケットに応じた物理入力信号を取得する。ネットワーク接続インタフェース207は、取得された物理入力信号をPHY208に送信する。PHY208は、物理入力信号をCDR209に送信する。
CDR209は、物理入力信号のデータの伝送クロックに周波数同期したリカバリークロックを、物理入力信号から生成する。すなわち、CDR209は、UTC時刻情報に同期しているリカバリークロックを、物理入力信号から生成する。CDR209は、UTC時刻情報に同期しているリカバリークロックを、システムクロック生成用PLL213に出力する。システムクロック生成用PLL213は、UTC時刻情報に同期しているリカバリークロックに基づいて、UTC時刻情報に同期しているシステムクロックを生成する。システムクロック生成用PLL213が生成したシステムクロックの周波数は、224Hzである。
NTPクロックカウンタ214は、周波数が224Hzであるシステムクロックに基づいて、NTPクロックカウンタ214のカウント値をカウントアップする。このようにして、NTPクロックカウンタ214は、NTPサーバ装置10の時刻情報に、自端末装置におけるUTC時刻情報を同期させる。
次に、時刻同期の方法について説明する。
UTC分離部210は、NTPパケットをNTPサーバ装置10から取得する。UTC分離部210は、取得されたNTPパケットから、NTPサーバ装置10のUTC時刻情報(Time_S)を読み出す。
UTC時刻情報比較部218は、NTPサーバ装置10のUTC時刻情報(Time_S)を、UTC分離部210から取得する。UTC時刻情報転送制御部211は、自端末装置のUTC時刻情報(Time_C)を、NTPクロックカウンタ214から取得する。UTC時刻情報比較部218は、UTC時刻情報(Time_C)とUTC時刻情報(Time_S)とを比較する。UTC時刻情報比較部218は、UTC時刻情報(Time_C)とUTC時刻情報(Time_S)との比較結果を、UTC時刻情報比較部218に出力する。
UTC時刻情報比較部218は、NTPサーバ装置10から取得したUTC時刻情報を自端末装置における時刻同期及びシステムクロック周波数同期に用いるか否かを決定する。すなわち、UTC時刻情報比較部218は、UTC分離部210から取得したUTC時刻情報をNTPクロックカウンタ214に転送するか廃棄するかを、UTC時刻情報(Time_C)よりもUTC時刻情報(Time_S)が進んでいるか否かに基づいて決定する。UTC時刻情報比較部218は、UTC時刻情報をNTPクロックカウンタ214に転送するか廃棄するかを表す情報を、NTPクロックカウンタ制御部219に出力する。
NTPクロックカウンタ制御部219は、NTPクロックカウンタ214のカウンタ値を初期化するためのNTPクロックカウンタ制御信号を、NTPクロックカウンタ214に出力する。NTPクロックカウンタ制御部219は、NTPサーバ装置10から取得したUTC時刻情報を自端末装置における時刻同期及びシステムクロック周波数同期に用いる場合、NTPクロックカウンタ214のカウンタ値を補正するためのNTPクロックカウンタ制御信号を、NTPクロックカウンタ214に出力する。このようにして、NTPクライアント端末装置20は、NTPサーバ装置10におけるUTC時刻に同期したUTC時刻を得ることができる。
以上のように、第4実施形態の時刻同期システム1は、NTPサーバ装置10と、NTPクライアント端末装置20とを備える。NTPサーバ装置10は、UTC時刻源100と、タイムスタンプカウンタ部102(第1カウンタ)と、パケット化部105(送信部)とを有する。UTC時刻源100は、基準時刻情報を定める。タイムスタンプカウンタ部102は、予め定められた周波数のクロックに同期して第1カウント値を更新する。パケット化部105は、基準時刻情報及び第1カウント値を含むパケットをブロードキャストで送信する。NTPクライアント端末装置20は、UTC分離部210(取得部)と、NTPクロックカウンタ214(第2カウンタ)と、UTC時刻情報比較部218(決定部)とを有する。UTC分離部210は、パケットを取得する。NTPクロックカウンタ214は、周波数のクロックに同期して第2カウント値を更新する。UTC時刻情報比較部218は、第1カウント値及び第2カウント値を比較した結果に基づいて、自端末装置における時刻情報の補正に基準時刻情報を用いるか否かを決定する。
これによって、第4実施形態のNTPクライアント端末装置20は、NTPをブロードキャストモードで運用する時刻同期方式において、NTPサーバ装置10とNTPクライアント端末装置20との間で通信される信号の遅延時間に揺らぎがある場合でも、SyncEを用いる簡便な方法で、NTPサーバ装置10とNTPクライアント端末装置20との間で、時刻同期及びシステムクロック周波数同期を安定して実行することが可能である。
本発明の装置は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
上述した実施形態における時刻同期システム、NTPサーバ装置及びNTPクライアント端末装置の少なくとも一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。