(57)【要約】【課題】ＮＴＰをブロードキャストモードで運用する時刻同期方式において、ＮＴＰサーバ装置とＮＴＰクライアント端末装置との間で通信される信号の遅延時間に揺らぎがある場合でも、ＮＴＰサーバ装置とＮＴＰクライアント端末装置との間で、時刻同期及びシステムクロック周波数同期を安定して実行することが可能である時刻同期システム、クライアント端末装置、時刻同期方法及び時刻同期プログラムを提供する。【解決手段】時刻同期システムは、周波数のクロックに同期して第１カウント値を更新する第１カウンタと、パケットをブロードキャストで送信する送信部とを有するサーバ装置と、周波数のクロックに同期して第２カウント値を更新する第２カウンタと、第１カウント値及び第２カウント値を比較した結果に基づいて、時刻情報の補正に基準時刻情報を用いるか否かを決定する決定部とを有するクライアント端末装置とを備える。【選択図】図１
2018098711.tif 000002
【特許請求の範囲】
【請求項１】
基準時刻情報を定める時刻源と、
予め定められた周波数のクロックに同期して第１カウント値を更新する第１カウンタと、
前記基準時刻情報及び前記第１カウント値を含むパケットをブロードキャストで送信する送信部と、
を有するサーバ装置と、
前記パケットを取得する取得部と、
前記周波数のクロックに同期して第２カウント値を更新する第２カウンタと、
前記第１カウント値及び前記第２カウント値を比較した結果に基づいて、自端末装置における時刻情報の補正に前記基準時刻情報を用いるか否かを決定する決定部と、
を有するクライアント端末装置と、
を備える時刻同期システム。
【請求項２】
前記決定部は、
自端末装置における前記時刻情報を前記基準時刻情報で初期化し、
前記第２カウント値を前記第１カウント値で初期化し、
前記第２カウント値から０以上の値を減じた結果よりも前記第１カウント値が大きい場合、自端末装置における前記時刻情報を前記基準時刻情報を用いて補正し、
前記第２カウント値よりも前記第１カウント値が大きい場合、前記第１カウント値で前記第２カウント値を更新する、請求項１に記載の時刻同期システム。
【請求項３】
前記クロックは、シンクロナス・イーサネット（登録商標）規格に基づく信号に同期したクロックである、請求項１又は請求項２に記載の時刻同期システム。
【請求項４】
前記パケットは、ネットワーク・タイム・プロトコルに基づくフォーマットにおける「Origin_timestamp」及び「Receive_timestamp」のうち少なくとも一方のフィールドに、前記第１カウント値を格納する、請求項１から請求項３のいずれか一項に記載の時刻同期システム。
【請求項５】
予め定められた周波数のクロックに同期して更新される第１カウント値と基準時刻情報とを含むパケットを取得する取得部と、
前記周波数のクロックに同期して第２カウント値を更新する第２カウンタと、
前記第１カウント値及び前記第２カウント値を比較した結果に基づいて、自端末装置における時刻情報の補正に前記基準時刻情報を用いるか否かを決定する決定部と、
を備えるクライアント端末装置。
【請求項６】
前記決定部は、
自端末装置における前記時刻情報を前記基準時刻情報で初期化し、
前記第２カウント値を前記第１カウント値で初期化し、
前記第２カウント値から０以上の値を減じた結果よりも前記第１カウント値が大きい場合、前記基準時刻情報を用いて自端末装置における前記時刻情報を補正し、
前記第２カウント値よりも前記第１カウント値が大きい場合、前記第１カウント値で前記第２カウント値を更新する、請求項５に記載のクライアント端末装置。
【請求項７】
クライアント端末装置における時刻情報の補正にサーバ装置における基準時刻情報を用いるか否かを決定する時刻同期システムが実行する時刻同期方法であって、
前記基準時刻情報を定めるステップと、
予め定められた周波数のクロックに同期して第１カウント値を更新するステップと、
前記基準時刻情報及び前記第１カウント値を含むパケットをブロードキャストで送信するステップと、
前記パケットを取得するステップと、
前記周波数のクロックに同期して第２カウント値を更新するステップと、
前記第１カウント値及び前記第２カウント値を比較した結果に基づいて、自端末装置における前記時刻情報の補正に前記基準時刻情報を用いるか否かを決定するステップと、
を含む時刻同期方法。
【請求項８】
請求項５又は請求項６のいずれか一項に記載のクライアント端末装置としてコンピュータを機能させるための時刻同期プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時刻同期システム、クライアント端末装置、時刻同期方法及び時刻同期プログラムに関する。
【背景技術】
【０００２】
ＩＳＯ／ＩＥＣ  ＤＩＳ  ２３００８−１に規定されているＭＭＴ（MPEG Media Transport）は、平成２３年総務省令第８７号「標準テレビジョン放送等のうちデジタル放送に関する送信の標準方式」において、我が国の超高精細テレビジョン放送のメディアトランスポート方式として採用されている。また、上記の省令に対応する標準規格は、一般社団法人電波産業会（ＡＲＩＢ）によって策定された（非特許文献１参照）。
【０００３】
ＭＭＴを用いた放送システムにおいて、映像や音声は、ネットワーク・タイム・プロトコル（NTP: Network Time Protocol）形式の協定世界時（UTC: Universal Time, Coordinated）時刻情報（以下「ＮＴＰ時刻情報」という。）に基づいて提示される。電波等の空間伝播を用いる放送システムと有線回線を用いる放送システムとのいずれでも、送信システムが送信した映像及び音声の提示時刻は、ＵＴＣ時刻という共通の時間軸で指定される。放送システムは、電波等の空間伝播を用いる放送システムと有線回線を用いる放送システムとの違いや、送信システムの違いによらずに、ＵＴＣ時刻という共通の時間軸で指定された提示時刻に基づいて、映像及び音声を同期させて提示することができる。
【０００４】
図１２は、放送システムにおけるＭＭＴのプロトコルスタックの例を示す図である。放送システムにおけるＵＴＣ時刻情報は、ＩＥＴＦ  ＲＦＣ５９０５「Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ４：Ｐｒｏｔｏｃｏｌ ａｎｄ Ａｌｇｏｒｉｔｈｍｓ Ｓｐｅｃｉｆｉｃａｔｉｏｎ」によって規定されたＮＴＰ形式のＵＤＰ／ＩＰパケットを用いて、ＮＴＰクライアント端末装置に提供される。
【０００５】
一方、通信システムの通信回線では、ＮＴＰ時刻情報を含むパケット（以下、「ＮＴＰパケット」という。）は、ユニキャストやマルチキャスト等の配信の形態に応じて、ＩＰパケットのまま伝送されることが可能である。
【０００６】
図１３は、通信システムにおけるＭＭＴのプロトコルスタックの例を示す図である。通信システムにおけるＵＴＣ時刻情報は、通信回線を伝送されるＮＴＰパケットを用いて、ＮＴＰサーバ装置からＮＴＰクライアント端末装置に提供される。トランスポート方式であるＭＰＥＧ−２ Ｓｙｓｔｅｍｓ（Ｒｅｃ. ＩＴＵ−Ｔ Ｈ.２２２．０，ＩＳＯ／ＩＥＣ  １３８１８−１）を用いた放送システムでは、規格により、映像及び音声等の同期と安定再生とが実現されている。
【０００７】
しかしながら、ＭＭＴではクロックの伝送等が規定されていない。したがって、ＭＭＴを用いる放送システムの送信システム（ＮＴＰサーバ装置）及び受信機（ＮＴＰクライアント端末装置）は、以下に示す第１要件から第４要件までを満たす必要がある（非特許文献１の第５頁を参照）。
【０００８】
（第１要件）：送信システムは、ＮＴＰタイムスタンプに基づくクロックを保持する（ＮＴＰ形式の時計を動作させる）。
（第２要件）：送信システムにおいて、ＮＴＰタイムスタンプに基づくクロックと、映像及び音声のエンコード処理のためのクロックとが同期している。
（第３要件）：受信機は、送信システムから取得したＮＴＰ時刻情報に基づくクロックを生成及び保持する。
（第４要件）：受信機において、ＮＴＰタイムスタンプに基づくクロックを保持するためのクロックであるシステムクロックと、映像及び音声のデコード処理を実行するためのクロックとが同期している。
【０００９】
放送システムが第１要件から第４要件までを満たす場合、送信システムにおけるエンコード処理を実行するためのクロックの周波数と、受信機におけるデコード処理を実行するためのクロックの周波数とは等しい。すなわち、放送システムが第１要件から第４要件までを満たす場合、送信システムにおけるエンコード処理を実行するためのクロックの周波数と、受信機におけるデコード処理を実行するためのクロックの周波数とが同期する。以下、クロックの周波数が同期することを「クロック周波数同期」という。以下、システムクロックの周波数が同期することを「システムクロック周波数同期」という。
【００１０】
放送システムが第１要件から第４要件までの少なくとも一つを満たさない場合であって、送信システムにおけるエンコード処理を実行するためのクロックの周波数が受信機におけるデコード処理を実行するためのクロックの周波数に対して高い場合には、送信システムにおけるエンコード処理の速度に対して受信機におけるデコード処理の速度が遅いので、受信機におけるデコード処理が間に合わず、再生される映像及び音声の品質は劣化してしまう。
【００１１】
放送システムが第１要件から第４要件までの少なくとも一つを満たさない場合であって、送信システムにおけるエンコード処理を実行するためのクロックの周波数が受信機におけるデコード処理を実行するためのクロックの周波数に対して低い場合には、送信システムにおけるエンコード処理の速度に対して受信機におけるデコード処理の速度が速いので、受信機がデコード処理すべきデータが存在しない期間が生じてしまい、再生される映像及び音声の品質は劣化してしまう。
【００１２】
次に、ＮＴＰを用いた時刻同期について説明する。
ＮＴＰクライアント端末装置では、時刻情報を含むパケットがＮＴＰサーバ装置とＮＴＰクライアント端末装置との間で相互に交換されることによって、ＮＴＰクライアント端末装置における時刻情報が、ＮＴＰサーバ装置における時刻情報に同期する。ＮＴＰサーバ装置は、ＮＴＰサーバ装置の現在時刻（基準時刻）を表すＵＴＣ時刻情報を含むＮＴＰパケットを、１台以上のＮＴＰクライアント端末装置に送信する。
【００１３】
ＮＴＰクライアント端末装置は、通信回線を介して、ＮＴＰパケットをＮＴＰサーバ装置から取得する。ＮＴＰクライアント端末装置は、ＮＴＰパケットに含まれているＵＴＣ時刻情報を得る。しかし、ＮＴＰクライアント端末装置が通信回線を介して取得したＮＴＰパケットに含まれているＵＴＣ時刻情報が表す時刻は、ＮＴＰクライアント端末装置がＮＴＰパケットを取得した時刻よりも、ＮＴＰパケットが通信回線を伝搬した時間だけ遅延している。この遅延に応じて時刻同期に誤差が生じないようにするため、ＮＴＰクライアント端末装置は、計測されたＮＴＰパケットの往復に要した時間である往復遅延時間に基づいて、時刻同期の誤差を補正する。
【００１４】
図１４は、ＮＴＰに基づく時刻同期の誤差の補正方法の例を示すシーケンス図である。図１４では、「ｔｓ」は、ＮＴＰサーバ装置の現在時刻を表すＵＴＣ時刻情報を通知するよう要求するリクエストをＮＴＰクライアント端末装置がＮＴＰサーバ装置に対して送信した時刻を表す。「ｔｒ」は、ＮＴＰクライアント端末装置が送信したリクエストをＮＴＰサーバ装置が取得した時刻を表す。「Ｔｓ」は、ＮＴＰサーバ装置がＮＴＰクライアント端末装置にレスポンスを送信した現在時刻を表すＵＴＣ時刻を表す。「ｔｒ」は、ＮＴＰクライアント端末装置がＮＴＰサーバ装置のレスポンスを取得した時刻を表す。
【００１５】
ＮＴＰクライアント端末装置は、時刻情報「ｔｓ」を含むパケットを、リクエストのパケットとしてＮＴＰサーバ装置に送信する。ＮＴＰサーバ装置は、取得されたリクエストのパケットに含まれている時刻情報「ｔｓ」、「Ｔｒ」及び「Ｔｓ」を、レスポンス（ＮＴＰ時刻情報）のパケットに含める。ＮＴＰサーバ装置は、時刻情報「ｔｓ」、「Ｔｒ」及び「Ｔｓ」を含むレスポンスのパケットを、ＮＴＰクライアント端末装置に送信する。したがって、ＮＴＰクライアント端末装置に送信されたレスポンスは、ＵＴＣ時刻情報を含む。ＮＴＰクライアント端末装置は、ＮＴＰサーバ装置からレスポンスのパケットを取得し、パケットを取得した時刻「ｔｒ」を記憶することにより、ＮＴＰ時刻情報「ｔｓ」、「Ｔｒ」、「Ｔｓ」及び「ｔｒ」を得る。
【００１６】
以下、ＮＴＰクライアント端末装置からＮＴＰサーバ装置への伝送路である往路においてパケットの伝送に要した時間を「往路伝送時間」という。以下、ＮＴＰサーバ装置からＮＴＰクライアント端末装置への伝送路である復路においてパケットの伝送に要した時間を「復路伝送時間」という。以下、ＮＴＰクライアント端末装置とＮＴＰサーバ装置との間の伝送路において往復の伝送に要した時間を「往復伝送時間」という。
【００１７】
パケットの往復伝送時間δは、往路伝送時間と復路伝送時間とがいずれも（δ/２）である場合、式（１）で表される。
【００１８】
δ＝（ｔｒ−ｔｓ）−（Ｔｓ−Ｔｒ）  …（１）
【００１９】
受信機は、パケットの往復伝送時間δを算出する。ＮＴＰクライアント端末装置は、ＮＴＰクライアント端末装置がＮＴＰサーバ装置から取得したレスポンスのパケットに含まれているＮＴＰ時刻情報が表すＵＴＣ時刻「Ｔｓ」に、復路伝送時間「δ/２」を加算する。これによって、ＮＴＰクライアント端末装置は、往復伝送時間による時刻同期の誤差が補正されたＵＴＣ時刻を得ることができる。
【００２０】
ＮＴＰ時刻情報及びＭＭＴに基づいて受信機が映像及び音声を復号する方法と、映像及び音声の提示に用いるクロック信号を受信機がＮＴＰ時刻情報及びＭＭＴに基づいて生成する方法とは、いずれも非特許文献１の第１６０頁に開示されている。ＮＴＰ時刻情報が表すＵＴＣ時刻情報にクロックを受信機が同期させる方法の概要を説明する。
【００２１】
図１５は、ＮＴＰに用いられるタイムスタンプフォーマットの例を示す図である。受信機が取得するＮＴＰ時刻情報は、図１５に示すタイムスタンプフォーマットで表される。タイムスタンプフォーマットは、３２ビット長の整数部と３２ビット長の小数部との合計６４ビット長の符号なし固定小数点により表される。３２ビット長の整数部は、時刻「１９００年１月１日０時０分０秒」からの経過時間を秒単位で示す。但し、ＭＳＢ（most significant bit）が０である場合には、３２ビット長の整数部は、時刻「２０３０年２月７日６時２８分１６秒」からの経過時間を秒単位で表す。３２ビット長の小数部は、１秒未満の経過時間を秒単位で表す。３２ビット長の小数部は、ＭＳＢから順に、２−１,２−２,２−３,…，２−３２秒を表す。
【００２２】
受信機であるＮＴＰクライアント端末装置が取得したＮＴＰ時刻情報に基づいて、ＮＴＰクライアント端末装置が時刻同期及びクロック周波数同期を実行する方法を説明する（非特許文献１参照）。
【００２３】
図１６は、ＮＴＰクライアント端末装置の構成の例を示す図である。非特許文献１において、受信機におけるシステムクロックの生成には、従来の放送システムに適用されてきた２７ＭＨｚではなく、２ｎＨｚ（ｎは整数。）の周波数を用いることが想定されている。受信機におけるシステムクロックは、受信機において映像及び音声等をデコードする処理に用いられるクロックのベースとなるクロックである。また、受信機におけるシステムクロックは、ＮＴＰ形式の時計であるＮＴＰクロックカウンタのカウントアップに用いられる。このため、非特許文献１では、システムクロックの周波数の一例として、２７ＭＨｚに近い「２２４Ｈｚ（約１６．８ＭＨｚ）」が採用されている。
【００２４】
受信機は、ＮＴＰ時刻情報に同期した２２４Ｈｚのシステムクロックを受信機が生成するために、２２４Ｈｚ近傍で動作するＶＣＯ（Voltage-controlled oscillator）が出力したクロックを用いて、ＮＴＰクロックカウンタをカウントアップする。ＮＴＰクロックカウンタは、図１５に示すタイムスタンプフォーマットの６４ビットのうち、整数部の３２ビットと少数部の２４ビット（２２４Ｈｚまでに対応）との合計５６ビットで構成されるカウンタである。また、受信機の比較器は、ＮＴＰサーバ装置から通知されたＵＴＣ時刻「Ｔｓ」に復路伝送時間（δ/２）を加算することによって、取得したＮＴＰ時刻情報が表すＵＴＣ時刻（タイムスタンプ）を補正する。
【００２５】
受信機の比較器は、補正されたタイムスタンプの３２ビット長の整数部と２４ビット長の小数部との合計５６ビット（ＮＴＰ＿ＴＩＭＥ＿５６）と、受信機のＮＴＰクロックカウンタの３２ビット長の整数部と２４ビット長の小数部との合計５６ビット（ＬＯＣＡＬ＿ＴＩＭＥ＿５６）とを比較する。
【００２６】
ＮＴＰ＿ＴＩＭＥ＿５６＞ＬＯＣＡＬ＿ＴＩＭＥ＿５６である場合、受信機はＶＣＯの発振周波数を高くする。ＮＴＰ＿ＴＩＭＥ＿５６＜ＬＯＣＡＬ＿ＴＩＭＥ＿５６である場合、受信機はＶＣＯの発振周波数を低くする。ＮＴＰ＿ＴＩＭＥ＿５６＝ＬＯＣＡＬ＿ＴＩＭＥ＿５６である場合、受信機はＶＣＯの発振周波数を維持する。受信機は、ＮＴＰ時刻情報を取得した場合に比較処理を実行することにより、ＮＴＰ時刻情報が表すＵＴＣ時刻に同期したＶＣＯの発振周波数（２２４Ｈｚ）から、システムクロックを生成することができる。さらに、ＮＴＰクロックカウンタのカウンタ値は、ＮＴＰ時刻情報が表すＵＴＣ時刻に同期して、受信機の現在時刻を表すことができる。以上のＮＴＰ時刻情報に基づく同期の方法では、パケットの往路伝送時間と復路伝送時間とが等しい。
【００２７】
次に、パケットの往路伝送時間と復路伝送時間とが異なる場合について説明する。
復路伝送時間は（δ／２）である。往路伝送時間は（δ／２＋ε）である。「ε」は、遅延時間を表す。パケットの往復伝送時間（δ＋ε）は、式（２）で表される。
【００２８】
δ＋ε＝（ｔｒ−ｔｓ）−（Ｔｓ−Ｔｒ）＝（δ／２）＋（δ／２＋ε）  …（２）
【００２９】
往路又は復路の遅延時間（片方向の遅延時間）は、（δ／２＋ε／２）である。したがって、遅延時間がない場合と比較して、遅延時間（ε／２）の誤差が時刻同期に生じる。遅延時間の誤差が時刻同期に生じる要因として、往路と復路とで経路の長さが異なるという要因や、ＮＴＰパケットが経由する通信装置のパケットの転送処理における処理時間が揺らぐという要因がある。
【００３０】
往路伝送時間と復路伝送時間とがそれぞれ固定値である場合、遅延時間εは固定値である。遅延時間が固定値である場合、時刻同期誤差（ε／２）も固定値である。時刻同期誤差（ε／２）が固定値である場合、受信機は、時刻同期誤差（ε／２）を含む復路伝送時間（δ／２＋ε／２）を用いて、受信機の現在時刻を誤差（ε／２）でＵＴＣ時刻に同期させる。すなわち、受信機は、送信システムから通知されたＮＴＰ時刻情報が表すＵＴＣ時刻「Ｔｓ」に復路伝送時間（δ／２＋ε／２）を加算することによって、受信機の現在時刻を誤差（ε／２）でＵＴＣ時刻に同期させる。
【００３１】
一方、システムクロックの同期について、受信機は、固定値である遅延時間εを往路伝送時間及び復路伝送時間に考慮する。遅延時間の揺らぎがない通信環境では、受信機がＮ番目に取得したＮＴＰ時刻情報に基づいて補正されたＵＴＣ時刻は、式（３）で表される。
【００３２】
Ｔｓ（Ｎ）＋（δ／２＋ε／２）  …（３）
【００３３】
遅延時間εの揺らぎがない通信環境では、受信機が（Ｎ＋１）番目に取得したＮＴＰ時刻情報に基づいて補正されたＵＴＣ時刻は、式（４）で表される。
【００３４】
Ｔｓ（Ｎ＋１）＋（δ／２＋ε／２）  …（４）
【００３５】
式（３）と式（４）との差分は、式（５）で表される。
【００３６】
Ｔｓ（Ｎ＋１）−Ｔｓ（Ｎ) ＝（Ｔｓ（Ｎ＋１）＋（δ／２＋ε／２））−（Ｔｓ（Ｎ）＋（δ／２＋ε／２））  …（５）
【００３７】
よって、遅延時間εは、ＮＴＰサーバ装置がＮ番目のレスポンスを送信した時刻と、ＮＴＰサーバ装置が（Ｎ＋１）番目のレスポンスを送信した時刻との時間差に等しい。このことから、図１６に示された比較器において、受信機がＮ番目に取得したＮＴＰ時刻情報に基づくＵＴＣ時刻情報（６４ビット）と、受信機が（Ｎ＋１）番目に取得したＮＴＰ時刻情報に基づくＵＴＣ時刻情報（６４ビット）との差は、遅延時間εに依存しない。したがって、ＶＣＯの発振周波数の制御信号も、遅延時間εに依存しない。したがって、ＶＣＯの発振周波数も、遅延時間εに依存しない。ＶＣＯの発周波数の安定度が劣化しないので、位相雑音は小さい。
【００３８】
次に、往路伝送時間及び復路伝送時間の変動（遅延時間の揺らぎ）によって遅延時間εの対称性が変動する場合について説明する。
受信機がＮ番目に取得したＮＴＰ時刻情報の往路伝送時間及び復路伝送時間の差がε（Ｎ）であり、受信機が（Ｎ＋１）番目に取得したＮＴＰ時刻情報の往路伝送時間及び復路伝送時間の差がε（Ｎ＋１）であり、ε（Ｎ＋１）とε（Ｎ）とが等しいとは限らない（対称性が変動する）場合には、受信機がＮ番目に取得したＮＴＰ時刻情報に基づいて補正されたＵＴＣ時刻は、式（６）で表される。
【００３９】
Ｔｓ（Ｎ）＋（δ／２＋ε（Ｎ）／２）  …（６）
【００４０】
受信機が（Ｎ＋１）番目に取得したＮＴＰ時刻情報に基づいて補正されたＵＴＣ時刻は、式（７）で表される。
【００４１】
Ｔｓ（Ｎ＋１）＋（δ／２＋ε（Ｎ＋１）／２）  …（７）
【００４２】
式（６）と式（７）との差分は、式（８）で表される。
【００４３】
（Ｔｓ（Ｎ＋１）＋（δ／２＋ε（Ｎ＋１）／２））−（Ｔｓ（Ｎ）＋（δ／２＋ε（Ｎ）／２））
＝（Ｔｓ（Ｎ＋１）−Ｔｓ（Ｎ））＋（ε（Ｎ＋１）−ε（Ｎ））／２  …（８）
【００４４】
図１６に示された比較器におけるＮＴＰ時刻情報（６４ビット）は、式（８）に示された差分における「（ε（Ｎ＋１）−ε（Ｎ））／２」の影響を受ける。したがって、ＶＣＯの周波数の制御信号は、遅延時間εによる揺らぎの影響を受ける。また、受信機であるＮＴＰクライアント端末装置のシステムクロック（ＶＣＯの出力である２２４Ｈｚのクロック信号）は、遅延時間εによる揺らぎの影響を受ける。このため、ＶＣＯの周波数の安定度が劣化して位相雑音が増大するので、システムクロックを用いてカウントアップされるＮＴＰクロックカウンタの値であるＮＴＰ時刻情報は、遅延時間εによる揺らぎの影響を受けて劣化する。
【００４５】
次に、パケットの往復伝送時間δの揺らぎによる影響を抑圧する方法を説明する。
受信機は、往復伝送時間δを複数回計測した結果に基づいて、通信回線における最小の経路を判定する。受信機は、往復伝送時間δが最小であるリクエスト及びレスポンスのパケットの組の経路が通信回線における最小の経路である、と判定する。
【００４６】
通信回線における最小の経路では、往復伝送時間δの揺らぎの影響が小さい。受信機は、往復伝送時間δが最小であるリクエスト及びレスポンスのパケットの組を選択する。受信機は、選択されたリクエスト及びレスポンスのパケットの組を、時刻同期の補正用データとして用いる。この方法は、パケットの往復伝送時間δの揺らぎの影響を抑圧する方法として知られている（特許文献１参照）。
【００４７】
電波等の空間伝播を用いる放送システムでは、パケットは送信システムから受信機に向かう片方向に送信される。したがって、放送システムでは、ＮＴＰクライアント端末装置である受信機は、ＮＴＰサーバ装置である送信システムに通信システムのようにリクエストを送信することができない。
【００４８】
そこで、放送システムにおいてＮＴＰサーバ装置をブロードキャストモードで運用することが想定されている（非特許文献１の第６頁参照）。ブロードキャストモードとは、ＮＴＰサーバ装置が時刻情報をＮＴＰクライアント端末装置に向かう片方向に送信する動作モードである。
【００４９】
ＮＴＰサーバ装置をブロードキャストモードで運用する場合、ＮＴＰクライアント端末装置は、往復伝送時間δに基づいて片方向の遅延時間を推定することができない。また、ＮＴＰサーバ装置をブロードキャストモードで運用する場合、ＮＴＰクライアント端末装置は、遅延時間の揺らぎによる影響を受けたパケットを遅延時間の分布に基づいて排除することによっては、時刻同期を補正できない。
【００５０】
しかしながら、電波等の空間伝播を用いる放送システムでは、送信システムから受信機までの空間に遅延時間の揺らぎを発生させる要因がほとんどないため、実用上問題ない精度で、時刻同期及びシステムクロック周波数同期が可能である（非特許文献２の第３．３節参照）。
【先行技術文献】
【特許文献】
【００５１】
【特許文献１】特開２００６−１９７３９９号公報
【非特許文献】
【００５２】
【非特許文献１】ARIB STD B-60“デジタル放送におけるMMTによるメディアトランスポート方式”
【非特許文献２】NHK技研 R&D／No.124／2010.11“デジタル放送におけるIPパケット伝送方式の伝送特性評価”
【発明の概要】
【発明が解決しようとする課題】
【００５３】
ＭＭＴを用いる放送の進展にともない、受信機であるＮＴＰクライアント端末装置の数も多くなることが予想される。また、通信システムを利用するサービスの拡大が進み、通信システムにおけるＮＴＰサーバ装置の利用も増大することが予想される。ＮＴＰサーバ装置の利用の増大は、ＮＴＰサーバ装置に対する負荷を増大させることが予想される。また、ＮＴＰサーバ装置が許容できるＮＴＰクライアント端末装置の台数をＮＴＰクライアント端末装置の台数が超えてしまうことも予想される。
【００５４】
その対応策として、ＮＴＰサーバ装置をより処理能力が高い機種に交換したり、ＮＴＰサーバ装置の台数を増強する等の対処が必要となる。しかしながら、ＮＴＰサーバ装置の台数を増強する等の対処には、新たな投資が必要である。ＮＴＰサーバ装置を増強するための投資を抑制するために、放送システムと同様にＮＴＰサーバ装置をブロードキャストモードにて運用することが考えられる。ブロードキャストモードでは、ＮＴＰサーバ装置は、ＮＴＰ時刻情報をＮＴＰクライアント端末装置に一方的に送信する。したがって、ＮＴＰクライアント端末装置の台数によらずに、ＮＴＰサーバ装置の負荷は一定である。このため、ＮＴＰサーバ装置を増強するための新たな投資は抑制される。
【００５５】
しかしながら、放送システムとは異なり、通信システムでは遅延時間の揺らぎの発生を抑制することは難しい。このため、ＮＴＰサーバ装置をブロードキャストモードで運用する場合、ＮＴＰクライアント端末装置は、パケットの片方向の遅延時間をパケットの往復伝送時間に基づいて推定することができない。また、ＮＴＰサーバ装置をブロードキャストモードで運用する場合、ＮＴＰクライアント端末装置は、遅延時間の揺らぎによる影響を受けたパケットを遅延時間の分布に基づいて排除することによっては、時刻同期を補正することができない。そのため、通信システムにおいてＮＴＰサーバ装置をブロードキャストモードで運用する場合、時刻同期を十分な精度で安定して実行したり、位相雑音特性によらずにシステムクロック周波数同期を十分な精度で安定して実行することができないという課題がある。
【００５６】
このように、ＮＴＰをブロードキャストモードで運用する時刻同期方式では、従来のＮＴＰクライアント端末装置は、ＮＴＰサーバ装置とＮＴＰクライアント端末装置との間で通信されるパケット等の信号の遅延時間に揺らぎがある場合、ＮＴＰサーバ装置とＮＴＰクライアント端末装置との間で、時刻同期及びシステムクロック周波数同期を安定して実行することができない、という問題があった。
【００５７】
上記事情に鑑み、本発明は、ＮＴＰをブロードキャストモードで運用する時刻同期方式において、ＮＴＰサーバ装置とＮＴＰクライアント端末装置との間で通信される信号の遅延時間に揺らぎがある場合でも、ＮＴＰサーバ装置とＮＴＰクライアント端末装置との間で、時刻同期及びシステムクロック周波数同期を安定して実行することが可能である時刻同期システム、クライアント端末装置、時刻同期方法及び時刻同期プログラムを提供することを目的としている。
【課題を解決するための手段】
【００５８】
本発明の一態様は、基準時刻情報を定める時刻源と、予め定められた周波数のクロックに同期して第１カウント値を更新する第１カウンタと、前記基準時刻情報及び前記第１カウント値を含むパケットをブロードキャストで送信する送信部と、を有するサーバ装置と、前記パケットを取得する取得部と、前記周波数のクロックに同期して第２カウント値を更新する第２カウンタと、前記第１カウント値及び前記第２カウント値を比較した結果に基づいて、自端末装置における時刻情報の補正に前記基準時刻情報を用いるか否かを決定する決定部と、を有するクライアント端末装置と、を備える時刻同期システムである。
【００５９】
本発明の一態様は、上記の時刻同期システムであって、前記決定部は、自端末装置における前記時刻情報を前記基準時刻情報で初期化し、前記第２カウント値を前記第１カウント値で初期化し、前記第２カウント値から０以上の値を減じた結果よりも前記第１カウント値が大きい場合、自端末装置における前記時刻情報を前記基準時刻情報を用いて補正し、前記第２カウント値よりも前記第１カウント値が大きい場合、前記第１カウント値で前記第２カウント値を更新する。
【００６０】
本発明の一態様は、上記の時刻同期システムであって、前記クロックは、シンクロナス・イーサネット（登録商標）規格に基づく信号に同期したクロックである。
【００６１】
本発明の一態様は、上記の時刻同期システムであって、前記パケットは、ネットワーク・タイム・プロトコルに基づくフォーマットにおける「Origin_timestamp」及び「Receive_timestamp」のうち少なくとも一方のフィールドに、前記第１カウント値を格納する。
【００６２】
本発明の一態様は、予め定められた周波数のクロックに同期して更新される第１カウント値と基準時刻情報とを含むパケットを取得する取得部と、前記周波数のクロックに同期して第２カウント値を更新する第２カウンタと、前記第１カウント値及び前記第２カウント値を比較した結果に基づいて、自端末装置における時刻情報の補正に前記基準時刻情報を用いるか否かを決定する決定部と、を備えるクライアント端末装置である。
【００６３】
本発明の一態様は、上記のクライアント端末装置であって、前記決定部は、自端末装置における前記時刻情報を前記基準時刻情報で初期化し、前記第２カウント値を前記第１カウント値で初期化し、前記第２カウント値から０以上の値を減じた結果よりも前記第１カウント値が大きい場合、前記基準時刻情報を用いて自端末装置における前記時刻情報を補正し、前記第２カウント値よりも前記第１カウント値が大きい場合、前記第１カウント値で前記第２カウント値を更新する。
【００６４】
本発明の一態様は、クライアント端末装置における時刻情報の補正にサーバ装置における基準時刻情報を用いるか否かを決定する時刻同期システムが実行する時刻同期方法であって、前記基準時刻情報を定めるステップと、予め定められた周波数のクロックに同期して第１カウント値を更新するステップと、前記基準時刻情報及び前記第１カウント値を含むパケットをブロードキャストで送信するステップと、前記パケットを取得するステップと、前記周波数のクロックに同期して第２カウント値を更新するステップと、前記第１カウント値及び前記第２カウント値を比較した結果に基づいて、自端末装置における前記時刻情報の補正に前記基準時刻情報を用いるか否かを決定するステップと、を含む時刻同期方法である。
【００６５】
本発明の一態様は、クライアント端末装置としてコンピュータを機能させるための時刻同期プログラムである。
【発明の効果】
【００６６】
本発明により、ＮＴＰサーバ装置とＮＴＰクライアント端末装置との間で通信される信号の遅延時間に揺らぎがある場合でも、ＮＴＰサーバ装置とＮＴＰクライアント端末装置との間で、時刻同期及びシステムクロック周波数同期を安定して実行することが可能である。
【図面の簡単な説明】
【００６７】
【図１】第１実施形態における、時刻同期システムの構成の例を示す図である。
【図２】第１実施形態における、ＮＴＰサーバ装置の構成の例を示す図である。
【図３】第１実施形態における、ＮＴＰクライアント端末装置の構成の例を示す図である。
【図４】第１実施形態における、ＮＴＰクライアント端末装置における時刻情報を補正するか否かをＮＴＰクライアント端末装置が判定する動作の例を示すフローチャートである。
【図５】第２実施形態における、ＮＴＰクライアント端末装置の構成の例を示す図である。
【図６】第２実施形態における、時刻情報を補正するか否かをＮＴＰクライアント端末装置が判定する動作の例を示すフローチャートである。
【図７】第３実施形態における、時刻同期システムの構成の例を示す図である。
【図８】第３実施形態における、ＮＴＰサーバ装置の構成の例を示す図である。
【図９】第３実施形態における、ＮＴＰパケットフォーマットの例を示す図である。
【図１０】第３実施形態における、ＮＴＰクライアント端末装置の構成の例を示す図である。
【図１１】第４実施形態における、ＮＴＰクライアント端末装置の構成の例を示す図である。
【図１２】放送システムにおけるＭＭＴのプロトコルスタックの例を示す図である。
【図１３】通信システムにおけるＭＭＴのプロトコルスタックの例を示す図である。
【図１４】ＮＴＰに基づく時刻同期の誤差の補正方法の例を示すシーケンス図である。
【図１５】ＮＴＰに用いられるタイムスタンプフォーマットの例を示す図である。
【図１６】ＮＴＰクライアント端末装置の構成の例を示す図である。
【発明を実施するための形態】
【００６８】
本発明の実施形態について、図面を参照して詳細に説明する。
（第１実施形態）
図１は、第１実施形態における、時刻同期システム１の構成の例を示す図である。時刻同期システム１は、ＮＴＰサーバ装置１０と、ＮＴＰクライアント端末装置２０と、通信回線３０とを備える。ＮＴＰサーバ装置１０及びＮＴＰクライアント端末装置２０は、通信回線３０を介して接続されている。通信回線３０は、ＩＰマルチキャスト又はＩＰブロードキャストによる通信が可能なネットワーク（伝送路）である。
【００６９】
ＮＴＰサーバ装置１０は、ＮＴＰ時刻情報を含むＮＴＰパケットを、ブロードキャストモードで通信回線３０に送信する。ＮＴＰクライアント端末装置２０は、通信回線３０を介して取得したＮＴＰパケットが通信回線３０を最小の遅延時間で伝送されたＮＴＰパケットであるか否かを判定する。通信回線３０においてＮＴＰサーバ装置１０及びＮＴＰクライアント端末装置２０の間の最小の経路を伝送されたＮＴＰパケットは、最小の遅延時間で伝送されたＮＴＰパケットである。最小の遅延時間で伝送されたＮＴＰパケットは、遅延時間の揺らぎが小さいＮＴＰパケットである。
【００７０】
ＮＴＰクライアント端末装置２０は、通信回線３０を最小の遅延時間で伝送されたＮＴＰパケットに基づいて、自端末装置の時刻情報をＮＴＰサーバ装置１０の時刻情報に高精度で同期させる。すなわち、ＮＴＰクライアント端末装置２０は、遅延時間の揺らぎが小さいＮＴＰパケットに基づいて、自端末装置の時刻情報をＮＴＰサーバ装置１０の時刻情報に高精度で同期させる。
【００７１】
また、ＮＴＰクライアント端末装置２０は、最小の遅延時間で伝送されたＮＴＰパケットに基づいて、ＮＴＰサーバ装置１０のシステムクロックの周波数と自端末装置のシステムクロックの周波数とを同期させる。
【００７２】
図２は、第１実施形態における、ＮＴＰサーバ装置１０の構成の例を示す図である。ＮＴＰサーバ装置１０は、情報処理装置である。ＮＴＰサーバ装置１０の構成のうち一部又は全部は、例えば、ＣＰＵ（Central Processing Unit）等のプロセッサが、メモリに記憶されたプログラムを実行することにより実現されてもよいし、ＬＳＩ（Large Scale Integration）やＡＳＩＣ（Application Specific Integrated Circuit）等のハードウェアを用いて実現されてもよい。
【００７３】
ＮＴＰサーバ装置１０は、ＵＴＣ時刻源１００と、共通クロック１０１と、タイムスタンプカウンタ部１０２と、ＮＴＰパケット生成部１０３とを備える。ＮＴＰパケット生成部１０３は、ＵＴＣ・Ｃｓデータラッチ部１０４と、パケット化部１０５とを備える。ＮＴＰサーバ装置１０は、磁気ハードディスク装置や半導体記憶装置等の不揮発性の記録媒体（非一時的な記録媒体）を有する記憶装置をさらに備えてもよい。
【００７４】
ＵＴＣ時刻源１００は、ＮＴＰのタイムスタンプフォーマットで記述されたＵＴＣ時刻情報を、ＵＴＣ・Ｃｓデータラッチ部１０４に出力する。共通クロック１０１の周波数は、ＮＴＰクライアント端末装置２０のシステムクロックの周波数と等しい。タイムスタンプカウンタ部１０２は、共通クロック１０１のパルス数を計測する。タイムスタンプカウンタ部１０２は、タイムスタンプカウンタ値（Ｃｓ）を、ＵＴＣ・Ｃｓデータラッチ部１０４に出力する。
【００７５】
ＵＴＣ・Ｃｓデータラッチ部１０４は、ＵＴＣ時刻源１００が出力したＵＴＣ時刻情報と、タイムスタンプカウンタ部１０２が出力したタイムスタンプカウンタ値（Ｃｓ）とを、同時にラッチする。ＵＴＣ・Ｃｓデータラッチ部１０４は、ラッチされたＵＴＣ時刻情報とタイムスタンプカウンタ値（Ｃｓ）とを、パケット化部１０５に転送する。
【００７６】
パケット化部１０５は、ＵＴＣ時刻情報とタイムスタンプカウンタ値（Ｃｓ）を含むＮＴＰパケットを生成する。パケット化部１０５は、ＮＴＰパケットをＩＰマルチキャストパケット又はＩＰブロードキャストパケットとして、通信回線３０を介してＮＴＰクライアント端末装置２０に転送する。パケット化部１０５は、ＮＴＰパケットをＮＴＰクライアント端末装置２０に定期的に転送する。
【００７７】
図３は、第１実施形態における、ＮＴＰクライアント端末装置２０の構成の例を示す図である。ＮＴＰクライアント端末装置２０は、情報処理装置である。ＮＴＰサーバ装置１０の構成のうち一部又は全部は、例えば、ＣＰＵ等のプロセッサが、メモリに記憶されたプログラムを実行することにより実現されてもよいし、ＬＳＩやＡＳＩＣ等のハードウェアを用いて実現されてもよい。
【００７８】
ＮＴＰクライアント端末装置２０は、ＵＴＣ・Ｃｓ分離部２００と、共通クロック２０１と、タイムスタンプカウンタ部２０２と、タイムスタンプカウンタ値設定部２０３と、タイムスタンプ比較部２０４と、ＵＴＣ時刻情報転送制御部２０５と、同期時刻・同期クロック生成部２０６とを備える。ＮＴＰクライアント端末装置２０は、磁気ハードディスク装置や半導体記憶装置等の不揮発性の記録媒体（非一時的な記録媒体）を有する記憶装置をさらに備えてもよい。
【００７９】
ＵＴＣ・Ｃｓ分離部２００は、ＮＴＰパケットを取得する。ＵＴＣ・Ｃｓ分離部２００は、取得されたＮＴＰパケットから、ＵＴＣ時刻情報とＮＴＰサーバ装置１０のタイムスタンプカウンタ値（Ｃｓ）とを読み出す。
【００８０】
共通クロック２０１の周波数は、ＮＴＰサーバ装置１０の共通クロック１０１の周波数と等しい。タイムスタンプカウンタ部２０２は、共通クロック２０１のパルス数を計測する。ＮＴＰサーバ装置１０のタイムスタンプカウンタと、ＮＴＰクライアント端末装置２０のタイムスタンプカウンタとは、共通の周波数を有する共通クロックによってカウントアップされている。第１実施形態では、ＮＴＰサーバ装置１０及びＮＴＰクライアント端末装置２０の共通クロックは、ＵＴＣ時刻と非同期でもよい。タイムスタンプカウンタ部２０２は、タイムスタンプカウンタ値（Ｃｃ）を、タイムスタンプ比較部２０４に出力する。
【００８１】
タイムスタンプ比較部２０４は、取得されたＮＴＰパケットに含まれているタイムスタンプカウンタ値（Ｃｓ）と、タイムスタンプカウンタ部２０２のタイムスタンプカウンタ値（Ｃｃ）から（α）を減じた結果とを比較する。αは０以上の値である。また、タイムスタンプ比較部２０４は、タイムスタンプカウンタ値（Ｃｓ）とタイムスタンプカウンタ値（Ｃｃ）とを比較する。
【００８２】
ＵＴＣ時刻情報転送制御部２０５は、同期時刻・同期クロック生成部２０６のＮＴＰクロックカウンタを初期化する。ＵＴＣ時刻情報転送制御部２０５は、タイムスタンプカウンタ部２０２のタイムスタンプカウンタ値（Ｃｃ）の初期化を、タイムスタンプカウンタ値設定部２０３に指示する。ＵＴＣ時刻情報転送制御部２０５は、タイムスタンプカウンタ部２０２のタイムスタンプカウンタ値（Ｃｃ）の更新を、タイムスタンプカウンタ値設定部２０３に指示する。
【００８３】
ＵＴＣ時刻情報転送制御部２０５は、ＮＴＰサーバ装置１０から取得したＵＴＣ時刻情報を自端末装置における時刻同期及びシステムクロック周波数同期に用いるか否かを決定する。すなわち、ＵＴＣ時刻情報転送制御部２０５は、ＵＴＣ・Ｃｓ分離部２００から取得したＵＴＣ時刻情報を同期時刻・同期クロック生成部２０６に転送するか廃棄するかを、タイムスタンプ比較部２０４による判定結果に応じて決定する。
【００８４】
ＮＴＰクライアント端末装置２０の時刻情報（クライアント時刻）とタイムスタンプカウンタ値（Ｃｃ）との初期化が完了した後で、ＵＴＣ・Ｃｓ分離部２００に新たに取得されたＮＴＰパケットが、初期化の際に取得されたＮＴＰパケットの伝送の遅延時間Ｔ０と同じ遅延時間でＮＴＰクライアント端末装置２０に取得された場合、取得されたＮＴＰパケットに含まれているタイムスタンプカウンタ値（Ｃｓ）と、タイムスタンプカウンタ部２０２のタイムスタンプカウンタ値（Ｃｃ）とは等しい。
【００８５】
ＮＴＰクライアント端末装置２０の時刻情報とタイムスタンプカウンタ値（Ｃｃ）との初期化が完了した後で、ＵＴＣ・Ｃｓ分離部２００に新たに取得されたＮＴＰパケットが、初期化の際に取得されたＮＴＰパケットの伝送の遅延時間Ｔ０よりも長い遅延時間でＮＴＰクライアント端末装置２０に取得された場合、取得されたＮＴＰパケットに含まれているタイムスタンプカウンタ値（Ｃｓ）は、タイムスタンプカウンタ部２０２のタイムスタンプカウンタ値（Ｃｃ）よりも小さい。
【００８６】
ＮＴＰクライアント端末装置２０の時刻情報とタイムスタンプカウンタ値（Ｃｃ）との初期化が完了した後で、ＵＴＣ・Ｃｓ分離部２００に新たに取得されたＮＴＰパケットが、初期化の際に取得されたＮＴＰパケットの伝送の遅延時間Ｔ０よりも短い遅延時間でＮＴＰクライアント端末装置２０に取得された場合、取得されたＮＴＰパケットに含まれているタイムスタンプカウンタ値（Ｃｓ）は、タイムスタンプカウンタ部２０２のタイムスタンプカウンタ値（Ｃｃ）よりも大きい。
【００８７】
（Ｃｓ≦Ｃｃ−α）である場合、ＵＴＣ時刻情報転送制御部２０５は、新たに取得されたＵＴＣ時刻情報を破棄する。（Ｃｓ＞Ｃｃ−α）である場合、ＵＴＣ時刻情報転送制御部２０５は、取得されたＵＴＣ時刻情報を同期時刻・同期クロック生成部２０６に転送する。同期時刻・同期クロック生成部２０６は、取得されたＵＴＣ時刻情報に基づいて、ＮＴＰサーバ装置１０のシステムクロックの周波数に、同期時刻・同期クロック生成部２０６が生成するシステムクロックの周波数を同期させる。同期時刻・同期クロック生成部２０６は、システムクロックを外部に出力する。
【００８８】
（Ｃｓ＞Ｃｃ）である場合、ＵＴＣ時刻情報転送制御部２０５は、取得されたＮＴＰパケットに含まれているタイムスタンプカウンタ値（Ｃｓ）で、タイムスタンプカウンタ部２０２のタイムスタンプカウンタ値（Ｃｃ）を更新するよう、タイムスタンプカウンタ値設定部２０３に指示を出す。タイムスタンプカウンタ値設定部２０３は、取得されたＮＴＰパケットに含まれているタイムスタンプカウンタ値（Ｃｓ）で、タイムスタンプカウンタ部２０２のタイムスタンプカウンタ値（Ｃｃ）を更新する。このようにして、ＵＴＣ時刻情報転送制御部２０５は、最小又は最小に近い遅延時間で伝送されたＮＴＰパケットに含まれているＵＴＣ時刻情報に基づいて、ＮＴＰサーバ装置１０のシステムクロックの周波数に、同期時刻・同期クロック生成部２０６が生成するシステムクロックの周波数を同期させる。
【００８９】
同期時刻・同期クロック生成部２０６は、図１６に示された各構成を備える。すなわち、同期時刻・同期クロック生成部２０６は、比較器と、クロック信号源と、ＮＴＰクロックカウンタとを備える。同期時刻・同期クロック生成部２０６は、ＮＴＰサーバ装置１０から取得したＵＴＣ時刻情報を自端末装置における時刻同期及びシステムクロック周波数同期に用いる、とＵＴＣ時刻情報転送制御部２０５が判定した場合、ＮＴＰサーバ装置１０から取得したＵＴＣ時刻情報に自端末装置の時刻情報を同期させる。
【００９０】
同期時刻・同期クロック生成部２０６は、ＮＴＰサーバ装置１０から取得したＵＴＣ時刻情報を自端末装置における時刻同期及びシステムクロック周波数同期に用いる、とＵＴＣ時刻情報転送制御部２０５が判定した場合、ＮＴＰサーバ装置１０から取得したＵＴＣ時刻情報に基づいて、ＮＴＰサーバ装置１０のシステムクロックの周波数に、同期時刻・同期クロック生成部２０６が生成するシステムクロックの周波数を同期させる。
【００９１】
図４は、第１実施形態における、ＮＴＰクライアント端末装置２０における時刻情報を補正するか否かをＮＴＰクライアント端末装置２０が判定する動作の例を示すフローチャートである。ＵＴＣ・Ｃｓ分離部２００は、ＮＴＰパケットを取得する（ステップＳ１０１）。タイムスタンプ比較部２０４は、ＮＴＰクライアント端末装置２０の時刻情報（クライアント時刻）とタイムスタンプカウンタ値（Ｃｃ）との初期化が完了しているか否かを判定する（ステップＳ１０２）。
【００９２】
初期化が完了していない場合（ステップＳ１０２：ＮＯ）、ＵＴＣ時刻情報転送制御部２０５は、取得されたＮＴＰパケットに含まれているＵＴＣ時刻情報が表す時刻と同じ時刻となるよう、同期時刻・同期クロック生成部２０６のＮＴＰクロックカウンタのカウント値であるＵＴＣ時刻情報を初期化する（ステップＳ１０３）。
【００９３】
ＵＴＣ時刻情報転送制御部２０５は、取得されたＮＴＰパケットに含まれているタイムスタンプカウンタ値（Ｃｓ）で、タイムスタンプカウンタ部２０２のタイムスタンプカウンタ値（Ｃｃ）を初期化するよう、タイムスタンプカウンタ値設定部２０３に指示を出す。タイムスタンプカウンタ値設定部２０３は、取得されたＮＴＰパケットに含まれているタイムスタンプカウンタ値（Ｃｓ）で、タイムスタンプカウンタ部２０２のタイムスタンプカウンタ値（Ｃｃ）を初期化する（ステップＳ１０４）。ＵＴＣ時刻情報転送制御部２０５は、ステップＳ１０１に処理を戻す。
【００９４】
初期化が完了している場合（ステップＳ１０２：ＹＥＳ）、タイムスタンプ比較部２０４は、取得されたＮＴＰパケットに含まれているタイムスタンプカウンタ値（Ｃｓ）と、タイムスタンプカウンタ部２０２のタイムスタンプカウンタ値（Ｃｃ）から（α）を減じた結果とを比較し、（Ｃｓ≦Ｃｃ−α）であるか否かを判定する（ステップＳ１０５）。
【００９５】
（Ｃｓ＞Ｃｃ−α）である場合（ステップＳ１０５：ＮＯ）、ＵＴＣ時刻情報転送制御部２０５は、取得されたＵＴＣ時刻情報を、同期時刻・同期クロック生成部２０６に転送する。同期時刻・同期クロック生成部２０６は、取得されたＵＴＣ時刻情報に基づいて、ＮＴＰサーバ装置１０のシステムクロックの周波数に、同期時刻・同期クロック生成部２０６が生成するシステムクロックの周波数を同期させる（ステップＳ１０６）。
【００９６】
ＵＴＣ時刻情報転送制御部２０５は、取得されたＮＴＰパケットに含まれているタイムスタンプカウンタ値（Ｃｓ）と、タイムスタンプカウンタ部２０２のタイムスタンプカウンタ値（Ｃｃ）とを比較し、（Ｃｓ＞Ｃｃ）であるか否かを判定する（ステップＳ１０７）。
【００９７】
（Ｃｓ＞Ｃｃ）である場合（ステップＳ１０７：ＹＥＳ）、ＵＴＣ時刻情報転送制御部２０５は、取得されたＮＴＰパケットに含まれているタイムスタンプカウンタ値（Ｃｓ）で、タイムスタンプカウンタ部２０２のタイムスタンプカウンタ値（Ｃｃ）を更新するよう、タイムスタンプカウンタ値設定部２０３に指示を出す。タイムスタンプカウンタ値設定部２０３は、取得されたＮＴＰパケットに含まれているタイムスタンプカウンタ値（Ｃｓ）で、タイムスタンプカウンタ部２０２のタイムスタンプカウンタ値（Ｃｃ）を更新する（ステップＳ１０８）。ＵＴＣ時刻情報転送制御部２０５は、ステップＳ１０１に処理を戻す。
【００９８】
ステップＳ１０５において（Ｃｓ≦Ｃｃ−α）である場合（ステップＳ１０５：ＹＥＳ）、ＵＴＣ時刻情報転送制御部２０５は、取得されたＵＴＣ時刻情報を破棄する（ステップＳ１０９）。
【００９９】
以上のように、第１実施形態の時刻同期システム１は、ＮＴＰサーバ装置１０と、ＮＴＰクライアント端末装置２０とを備える。ＮＴＰサーバ装置１０は、ＵＴＣ時刻源１００と、タイムスタンプカウンタ部１０２（第１カウンタ）と、パケット化部１０５（送信部）とを有する。ＵＴＣ時刻源１００は、基準時刻情報を定める。タイムスタンプカウンタ部１０２は、予め定められた周波数のクロックに同期して第１カウント値を更新する。パケット化部１０５は、基準時刻情報及び第１カウント値を含むパケットをブロードキャストで送信する。ＮＴＰクライアント端末装置２０は、ＵＴＣ・Ｃｓ分離部２００（取得部）と、タイムスタンプカウンタ部２０２（第２カウンタ）と、ＵＴＣ時刻情報転送制御部２０５（決定部）とを有する。ＵＴＣ・Ｃｓ分離部２００は、パケットを取得する。タイムスタンプカウンタ部２０２は、周波数のクロックに同期して第２カウント値を更新する。ＵＴＣ時刻情報転送制御部２０５は、第１カウント値及び第２カウント値を比較した結果に基づいて、自端末装置における時刻情報の補正に基準時刻情報を用いるか否かを決定する。
【０１００】
これによって、第１実施形態のＮＴＰクライアント端末装置２０は、ＮＴＰをブロードキャストモードで運用する時刻同期方式において、ＮＴＰサーバ装置１０とＮＴＰクライアント端末装置２０との間で通信される信号の遅延時間に揺らぎがある場合でも、ＮＴＰサーバ装置１０とＮＴＰクライアント端末装置２０との間で、時刻同期及びシステムクロック周波数同期を安定して実行することが可能である。
【０１０１】
第１実施形態のＮＴＰクライアント端末装置２０は、取得されたＮＴＰパケットが最小の遅延時間で伝送されたＮＴＰパケットであるか否かを判定することができる。第１実施形態のＮＴＰクライアント端末装置２０は、時刻情報を高精度で同期させることができる。第１実施形態のＮＴＰクライアント端末装置２０は、位相雑音特性に優れた周波数のうち、ＵＴＣ時刻に同期する２ｎＨｚの周波数を有するクロック信号を得ることができる。第１実施形態のＮＴＰクライアント端末装置２０は、ＮＴＰサーバ装置１０のシステムクロックの周波数に、自端末装置のシステムクロックの周波数を高精度で同期させることができる。
【０１０２】
なお、ＮＴＰサーバ装置１０の時刻情報とＮＴＰクライアント端末装置２０の時刻情報とでは、ＮＴＰクライアント端末装置２０の時刻情報は、ＮＴＰパケットの最小の遅延時間だけ遅れる。この点は、時刻同期誤差が許容される範囲でＮＴＰパケットを伝送可能となる位置にＮＴＰサーバ装置１０を配置することにより解決できる。
【０１０３】
（第２実施形態）
第２実施形態では、ＵＴＣ時刻情報に周波数同期するクロック信号をＮＴＰクライアント端末装置２０が有する点が、第１実施形態と相違する。第２実施形態では、第１実施形態との相違点についてのみ説明する。
【０１０４】
第２実施形態では、ＮＴＰサーバ装置１０の共通クロック１０１とＮＴＰクライアント端末装置２０のクロック信号源とが、ＵＴＣ時刻情報に同期している。ＮＴＰサーバ装置１０の共通クロック１０１とＮＴＰクライアント端末装置２０のクロック信号源とがＵＴＣ時刻情報に同期している場合、ＮＴＰクライアント端末装置２０は、第１実施形態と比較して簡便な方法で、ＮＴＰサーバ装置１０とＮＴＰクライアント端末装置２０との間で、時刻同期及びシステムクロック周波数同期を安定して実行することが可能である。
【０１０５】
第２実施形態では、ＮＴＰクライアント端末装置２０は、ＵＴＣ時刻と周波数同期したクロック信号を有している。すなわち、ＮＴＰクライアント端末装置２０は、ＮＴＰサーバ装置１０の時刻進みと同期したクロック信号を有している。そのため、第２実施形態では、ＮＴＰパケットに含まれているＵＴＣ時刻情報を用いなくても、システムクロック周波数同期が可能である。また、ＮＴＰサーバ装置１０とＮＴＰクライアント端末装置２０とで、時刻情報が表す時刻の進む速さは同じである。
【０１０６】
図５は、第２実施形態における、ＮＴＰクライアント端末装置２０の構成の例を示す図である。ＮＴＰクライアント端末装置２０は、ＵＴＣ分離部２１０と、ＵＴＣ時刻情報転送制御部２１１と、クロック信号源２１２と、システムクロック生成用ＰＬＬ２１３と、ＮＴＰクロックカウンタ２１４とを備える。ＮＴＰクロックカウンタ２１４は、整数部２１５と、小数部２１６とを備える。
【０１０７】
ＵＴＣ分離部２１０は、ＮＴＰパケットをＮＴＰサーバ装置１０から取得する。ＵＴＣ分離部２１０は、取得されたＮＴＰパケットから、ＮＴＰサーバ装置１０のＵＴＣ時刻情報（Ｔｉｍｅ＿Ｓ）を読み出す。ＵＴＣ時刻情報転送制御部２１１は、ＮＴＰサーバ装置１０のＵＴＣ時刻情報（Ｔｉｍｅ＿Ｓ）を、ＵＴＣ分離部２１０から取得する。ＵＴＣ時刻情報転送制御部２１１は、自端末装置のＵＴＣ時刻情報（Ｔｉｍｅ＿Ｃ）を、ＮＴＰクロックカウンタ２１４から取得する。
【０１０８】
ＵＴＣ時刻情報転送制御部２１１は、ＮＴＰサーバ装置１０から取得したＵＴＣ時刻情報を自端末装置における時刻同期及びシステムクロック周波数同期に用いるか否かを決定する。すなわち、ＵＴＣ時刻情報転送制御部２１１は、ＵＴＣ分離部２１０から取得したＵＴＣ時刻情報をＮＴＰクロックカウンタ２１４に転送するか廃棄するかを、ＵＴＣ時刻情報（Ｔｉｍｅ＿Ｃ）よりもＵＴＣ時刻情報（Ｔｉｍｅ＿Ｓ）が進んでいるか否かに基づいて決定する。
【０１０９】
ＵＴＣ時刻情報転送制御部２１１は、ＮＴＰクロックカウンタ２１４のカウンタ値を初期化するためのＮＴＰクロックカウンタ制御信号を、ＮＴＰクロックカウンタ２１４に出力する。ＵＴＣ時刻情報転送制御部２１１は、ＮＴＰサーバ装置１０から取得したＵＴＣ時刻情報を自端末装置における時刻同期及びシステムクロック周波数同期に用いる場合、ＮＴＰクロックカウンタ２１４のカウンタ値を補正するためのＮＴＰクロックカウンタ制御信号を、ＮＴＰクロックカウンタ２１４に出力する。
【０１１０】
クロック信号源２１２が出力するクロック信号は、ＵＴＣ時刻情報に同期している。システムクロック生成用ＰＬＬ２１３（PLL: Phase Locked Loop）は、ＵＴＣ時刻情報に同期しているクロック信号に基づいて、周波数が２２４Ｈｚであるシステムクロックを生成する。すなわち、システムクロック生成用ＰＬＬ２１３は、ＵＴＣ時刻情報に同期しているクロック信号に基づいて、ＵＴＣ時刻情報に同期しているシステムクロックを生成する。
【０１１１】
ＮＴＰクロックカウンタ２１４は、ＮＴＰサーバ装置１０のＵＴＣ時刻情報が表す時刻と同じ時刻となるように、ＮＴＰクロックカウンタ制御信号に基づいてＮＴＰクロックカウンタ２１４のカウント値を初期化する。ＮＴＰクロックカウンタ２１４の初期化の際に取得されたＮＴＰパケットの伝送の遅延時間は、Ｔ０である。初期化されたＮＴＰクロックカウンタ２１４のカウント値であるＵＴＣ時刻情報（Ｔｉｍｅ＿Ｃ）は、ＮＴＰサーバ装置１０のＵＴＣ時刻よりも遅延時間Ｔ０だけ遅れている。
【０１１２】
ＮＴＰクロックカウンタ２１４のカウント値であるＵＴＣ時刻情報（Ｔｉｍｅ＿Ｃ）よりも進んでいるＵＴＣ時刻情報（Ｔｉｍｅ＿Ｓ）を含むＮＴＰパケットがＮＴＰクロックカウンタ２１４のカウント値の初期化後に取得された場合、初期化後に取得されたＮＴＰパケットは、遅延時間Ｔ０よりも短い遅延時間で伝送されたＮＴＰパケットである。
【０１１３】
したがって、ＮＴＰクロックカウンタ２１４は、最小の遅延時間で伝送されたＮＴＰパケットに含まれているＵＴＣ時刻情報に基づいて、自端末装置におけるＵＴＣ時刻情報をＮＴＰサーバ装置１０のＵＴＣ時刻情報に同期させることができる。ＮＴＰクロックカウンタ２１４は、ＮＴＰサーバ装置１０のＵＴＣ時刻情報が表す時刻と同じ時刻となるように、ＮＴＰクロックカウンタ制御信号に基づいてＮＴＰクロックカウンタ２１４のカウント値を更新する。ＮＴＰクロックカウンタ２１４は、周波数が２２４Ｈｚであるシステムクロックに基づいて、ＮＴＰクロックカウンタ２１４のカウント値をカウントアップする。このようにして、ＮＴＰクロックカウンタ２１４は、ＮＴＰサーバ装置１０の時刻情報に、自端末装置におけるＵＴＣ時刻情報を同期させる。
【０１１４】
図６は、第２実施形態における、時刻情報を補正するか否かをＮＴＰクライアント端末装置２０が判定する動作の例を示すフローチャートである。ＵＴＣ分離部２１０は、新たなＮＴＰパケットを取得する（ステップＳ２０１）。ＵＴＣ分離部２１０は、取得されたＮＴＰパケットから、ＮＴＰサーバ装置１０のＵＴＣ時刻情報を読み出す（ステップＳ２０２）。
【０１１５】
ＵＴＣ時刻情報転送制御部２１１は、ＮＴＰクロックカウンタ２１４のカウント値であるＵＴＣ時刻情報の初期化が完了しているか否かを判定する（ステップＳ２０３）。ＮＴＰクロックカウンタ２１４のカウント値であるＵＴＣ時刻情報の初期化が完了していない場合（ステップＳ２０３：ＮＯ）、ＵＴＣ時刻情報転送制御部２１１は、新たに取得されたＮＴＰパケットに含まれているＵＴＣ時刻情報（Ｔｉｍｅ＿Ｓ）と同じ時刻となるよう、ＮＴＰクロックカウンタ２１４のカウント値であるＵＴＣ時刻情報（Ｔｉｍｅ＿Ｃ）を初期化する（ステップＳ２０４）。
【０１１６】
ステップＳ２０３において、ＮＴＰクロックカウンタ２１４のカウント値であるＵＴＣ時刻情報の初期化が完了している場合（ステップＳ２０３：ＹＥＳ）、ＵＴＣ時刻情報転送制御部２１１は、ＵＴＣ時刻情報（Ｔｉｍｅ＿Ｃ）よりもＵＴＣ時刻情報（Ｔｉｍｅ＿Ｓ）が進んでいるか否かを判定する（ステップＳ２０５）。
【０１１７】
ＵＴＣ時刻情報（Ｔｉｍｅ＿Ｃ）よりもＵＴＣ時刻情報（Ｔｉｍｅ＿Ｓ）が進んでいる場合（ステップＳ２０５：ＹＥＳ）、ＵＴＣ時刻情報転送制御部２１１は、新たに取得されたＮＴＰパケットに含まれているＵＴＣ時刻情報（Ｔｉｍｅ＿Ｓ）と同じ時刻となるよう、ＮＴＰクロックカウンタ２１４のカウント値であるＵＴＣ時刻情報（Ｔｉｍｅ＿Ｃ）を更新する（ステップＳ２０６）。
【０１１８】
ステップＳ２０５においてＵＴＣ時刻情報（Ｔｉｍｅ＿Ｃ）よりもＵＴＣ時刻情報（Ｔｉｍｅ＿Ｓ）が進んでいない場合（ステップＳ２０５：ＮＯ）、ＵＴＣ時刻情報転送制御部２０５は、新たに取得されたＵＴＣ時刻情報を破棄する（ステップＳ２０７）。
【０１１９】
以上のように、第２実施形態の時刻同期システム１は、ＮＴＰサーバ装置１０と、ＮＴＰクライアント端末装置２０とを備える。ＮＴＰサーバ装置１０は、ＵＴＣ時刻源１００と、タイムスタンプカウンタ部１０２（第１カウンタ）と、パケット化部１０５（送信部）とを有する。ＵＴＣ時刻源１００は、基準時刻情報を定める。タイムスタンプカウンタ部１０２は、予め定められた周波数のクロックに同期して第１カウント値を更新する。パケット化部１０５は、基準時刻情報及び第１カウント値を含むパケットをブロードキャストで送信する。ＮＴＰクライアント端末装置２０は、ＵＴＣ分離部２１０（取得部）と、ＮＴＰクロックカウンタ２１４（第２カウンタ）と、ＵＴＣ時刻情報転送制御部２１１（決定部）とを有する。ＵＴＣ分離部２１０は、パケットを取得する。ＮＴＰクロックカウンタ２１４は、周波数のクロックに同期して第２カウント値を更新する。ＵＴＣ時刻情報転送制御部２１１は、第１カウント値及び第２カウント値を比較した結果に基づいて、自端末装置における時刻情報の補正に基準時刻情報を用いるか否かを決定する。
【０１２０】
これによって、第２実施形態のＮＴＰクライアント端末装置２０は、ＮＴＰをブロードキャストモードで運用する時刻同期方式において、ＮＴＰサーバ装置１０とＮＴＰクライアント端末装置２０との間で通信される信号の遅延時間に揺らぎがある場合でも、より簡便な方法で、ＮＴＰサーバ装置１０とＮＴＰクライアント端末装置２０との間で、時刻同期及びシステムクロック周波数同期を安定して実行することが可能である。
【０１２１】
（第３実施形態）
第３実施形態では、時刻同期システムがシンクロナス・イーサネット（登録商標）（Synchronous Ethernet（登録商標））（以下、「ＳｙｎｃＥ」という。）規格に準拠した信号を用いる点が、第１実施形態と相違する。第３実施形態では、第１実施形態との相違点についてのみ説明する。
【０１２２】
周波数が同じであるクロック信号をＮＴＰサーバ装置１０とＮＴＰクライアント端末装置２０とに供給するために、規格化されているＳｙｎｃＥを用いることができる。ＳｙｎｃＥは、ＩＴＵ−Ｔ  Ｇ.８２６１／Ｙ.１３６１,Ｇ.「Timing and synchronization aspects in packet networks」と、Ｇ.８２６２／Ｙ.１３６２「Timing characteristics of a synchronous Ethernet equipment slave clock」と、Ｇ.８２６３／Ｙ.１３６３「Timing characteristics of packet-based equipment clocks」と、Ｇ.８２６４／Ｙ.１３６４「Distribution of timing information through packet networks」と、Ｇ.８２６５／Ｙ.１３６５「Architecture and requirements for packet-based frequency delivery」とにおいて、規格化されている。
【０１２３】
図７は、第３実施形態における、時刻同期システム１の構成の例を示す図である。時刻同期システム１は、ＮＴＰサーバ装置１０と、ＮＴＰクライアント端末装置２０と、通信回線３０とを備える。ＮＴＰサーバ装置１０及びＮＴＰクライアント端末装置２０は、通信回線３０を介して接続されている。
【０１２４】
ＮＴＰサーバ装置１０は、ＳｙｎｃＥ機能を有しているＳｙｎｃＥクロック抽出部１１を備える。ＮＴＰクライアント端末装置２０は、ＳｙｎｃＥ機能を有しているＳｙｎｃＥクロック抽出部２１を備える。ＳｙｎｃＥクロック抽出部１１及びＳｙｎｃＥクロック抽出部２１は、周波数が同期した共通クロックを、通信回線３０を介して得ることができる。通信回線３０は、Ｅｔｈｅｒｎｅｔ（登録商標）／ＩＰネットワークである。通信回線３０は、ＳｙｎｃＥ機能を有している。
【０１２５】
次に、ＳｙｎｃＥを用いてＮＴＰサーバ装置１０に共通クロックを供給する方法と、ＮＴＰサーバ装置１０の構成とを説明する。
【０１２６】
図８は、第３実施形態における、ＮＴＰサーバ装置１０の構成の例を示す図である。ＮＴＰサーバ装置１０は、ＵＴＣ時刻源１００と、共通クロック１０１と、タイムスタンプカウンタ部１０２と、ＮＴＰパケット生成部１０３とを備える。ＮＴＰパケット生成部１０３は、ＵＴＣ・Ｃｓデータラッチ部１０４と、パケット化部１０５とを備える。ＮＴＰサーバ装置１０は、ネットワーク接続インタフェース１０６と、ＰＨＹ１０７と、ＣＤＲ１０８と、共通クロック生成用ＰＬＬ１０９とを、ＳｙｎｃＥクロック抽出部１１として備える。
【０１２７】
ＵＴＣ時刻源１００は、ＮＴＰのタイムスタンプフォーマットで記述されたＵＴＣ時刻情報を、ＵＴＣ・Ｃｓデータラッチ部１０４に出力する。ＵＴＣ時刻源１００は、ＧＰＳ（Global Positioning System）等の人工衛星から取得した電波による時刻情報に基づくＵＴＣ時刻情報を、ＵＴＣ・Ｃｓデータラッチ部１０４に出力してもよい。
【０１２８】
ネットワーク接続インタフェース１０６は、通信回線３０と接続されている。ネットワーク接続インタフェース１０６は、パケットに応じた物理入力信号を、通信回線３０を介してＮＴＰクライアント端末装置２０に送信する。ネットワーク接続インタフェース１０６は、ＮＴＰサーバ装置１０におけるＵＴＣ時刻情報に同期したクロックをＮＴＰクライアント端末装置２０に供給するために、ＳｙｎｃＥ機能を有している通信回線３０における伝送クロックを、ＧＰＳ等の人工衛星から取得した電波による時刻情報に基づくＵＴＣ時刻情報に同期させる。これによって、ネットワーク接続インタフェース１０６は、通信回線３０に接続されたＮＴＰクライアント端末装置２０に、ＵＴＣ時刻情報に同期したクロック（ＳｙｎｃＥクロック）を供給することができる。
【０１２９】
ネットワーク接続インタフェース１０６は、通信回線３０を介して、ＮＴＰクライアント端末装置２０から、パケットに応じた物理入力信号を取得する。ネットワーク接続インタフェース１０６は、取得された物理入力信号をＰＨＹ１０７に送信する。
【０１３０】
ＰＨＹ１０７（取得部）は、物理入力信号をＣＤＲ１０８に送信する。ＣＤＲ１０８（Clock Data Recovery）は、物理入力信号のデータの伝送クロックに周波数同期したリカバリークロックを、物理入力信号から生成する。ＣＤＲ１０８は、リカバリークロックを、共通クロック生成用ＰＬＬ１０９に出力する。共通クロック生成用ＰＬＬ１０９は、リカバリークロックに同期した共通クロックを生成する。タイムスタンプカウンタ部１０２は、共通クロックを用いてタイムスタンプカウンタをカウントアップすることによって、タイムスタンプカウンタ値（Ｃｓ）を得る。
【０１３１】
ＵＴＣ・Ｃｓデータラッチ部１０４は、ＵＴＣ時刻源１００が出力したＵＴＣ時刻情報と、タイムスタンプカウンタ部１０２が出力したタイムスタンプカウンタ値（Ｃｓ）とを、同時にラッチする。ＵＴＣ・Ｃｓデータラッチ部１０４は、ラッチされたＵＴＣ時刻情報とタイムスタンプカウンタ値（Ｃｓ）とを、パケット化部１０５に転送する。
【０１３２】
パケット化部１０５は、ＵＴＣ時刻情報とタイムスタンプカウンタ値（Ｃｓ）を含むＮＴＰパケットを、ＮＴＰパケットフォーマットに基づいて生成する。パケット化部１０５は、ＰＨＹ１０７、ネットワーク接続インタフェース１０６及び通信回線３０を介して、ＮＴＰパケットをＮＴＰクライアント端末装置２０に転送する。パケット化部１０５は、ＮＴＰパケットをマルチキャストパケット又はブロードキャストパケットとして、ＮＴＰクライアント端末装置２０に定期的に転送する。
【０１３３】
図９は、第３実施形態における、ＮＴＰパケットフォーマットの例を示す図である。パケット化部１０５は、ラッチされたＵＴＣ時刻情報を、ＮＴＰパケットフォーマットの「Ｔｒａｎｓｍｉｔ＿ｔｉｍｅｓｔａｍｐ」フィールドに格納する。パケット化部１０５は、「Ｏｒｉｇｉｎ＿ｔｉｍｅｓｔａｍｐ」フィールド又は「Ｒｅｃｅｉｖｅ＿ｔｉｍｅｓｔａｍｐ」フィールドのいずれかに、タイムスタンプカウンタ値（Ｃｓ）を格納する。パケット化部１０５は、「Ｏｒｉｇｉｎ＿ｔｉｍｅｓｔａｍｐ」フィールドと「Ｒｅｃｅｉｖｅ＿ｔｉｍｅｓｔａｍｐ」フィールドとが連結されたフィールドに、タイムスタンプカウンタ値（Ｃｓ）を格納してもよい。
【０１３４】
ＩＥＴＦ  ＲＦＣ  ５９０５には、ＮＴＰパケットフォーマットの「Ｏｒｉｇｉｎ＿ｔｉｍｅｓｔａｍｐ」フィールドは、ＮＴＰサーバ装置１０にリクエストを送信したＮＴＰクライアント端末装置２０におけるＵＴＣ時刻情報を格納するためのフィールドであることが規格化されている。また、ＩＥＴＦ  ＲＦＣ  ５９０５には、ＮＴＰパケットフォーマットの「Ｒｅｃｅｉｖｅ＿ｔｉｍｅｓｔａｍｐ」フィールドは、ＮＴＰクライアント端末装置２０が送信したリクエストを取得したＮＴＰサーバ装置１０におけるＵＴＣ時刻情報を格納するためのフィールドであることが規格化されている。したがって、ＮＴＰサーバ装置１０をブロードキャストモードで運用する場合には、ＮＴＰクライアント端末装置２０がリクエストを送信しないため、「Ｏｒｉｇｉｎ＿ｔｉｍｅｓｔａｍｐ」フィールドと「Ｒｅｃｅｉｖｅ＿ｔｉｍｅｓｔａｍｐ」フィールドとには、有意な情報が格納されない。
【０１３５】
また、ＮＴＰクライアント端末装置２０は、ＮＴＰパケットフォーマットの「Mode」フィールドを参照することで、取得されたＮＴＰパケットがブロードキャストモードで運用されるＮＴＰパケットであることを識別することができる。したがって、ＮＴＰサーバ装置１０におけるタイムスタンプカウンタ値をＮＴＰサーバ装置１０が「Ｏｒｉｇｉｎ＿ｔｉｍｅｓｔａｍｐ」フィールドや「Ｒｅｃｅｉｖｅ＿ｔｉｍｅｓｔａｍｐ」フィールドに格納してＮＴＰパケットを送信し、上記の各規格に従うＮＴＰクライアント端末装置２０がＮＴＰパケットを取得しても、誤動作が発生することはない。
【０１３６】
次に、ＳｙｎｃＥを用いてＮＴＰクライアント端末装置２０に共通クロックを供給する方法と、ＮＴＰクライアント端末装置２０の構成とを説明する。
【０１３７】
図１０は、第３実施形態における、ＮＴＰクライアント端末装置２０の構成の例を示す図である。ＮＴＰクライアント端末装置２０は、ＵＴＣ・Ｃｓ分離部２００と、共通クロック２０１と、タイムスタンプカウンタ部２０２と、タイムスタンプカウンタ値設定部２０３と、タイムスタンプ比較部２０４と、ＵＴＣ時刻情報転送制御部２０５と、同期時刻・同期クロック生成部２０６とを備える。ＮＴＰクライアント端末装置２０は、ネットワーク接続インタフェース２０７と、ＰＨＹ２０８と、ＣＤＲ２０９と、共通クロック生成用ＰＬＬ２１７とを、ＳｙｎｃＥクロック抽出部２１として備える。
【０１３８】
ネットワーク接続インタフェース２０７は、通信回線３０と接続されている。ネットワーク接続インタフェース２０７は、パケットに応じた物理入力信号を、通信回線３０を介してＮＴＰサーバ装置１０に送信する。ネットワーク接続インタフェース２０７は、通信回線３０を介して、ＮＴＰサーバ装置１０から、ＮＴＰパケット等のパケットに応じた物理入力信号を取得する。ネットワーク接続インタフェース２０７は、取得された物理入力信号をＰＨＹ２０８に送信する。ＰＨＹ２０８（取得部）は、物理入力信号をＣＤＲ２０９に出力する。
【０１３９】
ＣＤＲ２０９は、物理入力信号のデータの伝送クロックに周波数同期したリカバリークロックを、物理入力信号から生成する。ＣＤＲ２０９は、リカバリークロックを、共通クロック生成用ＰＬＬ２１７に出力する。共通クロック生成用ＰＬＬ２１７は、リカバリーに同期した共通クロックを生成する。タイムスタンプカウンタ部１０２は、共通クロックを用いてタイムスタンプカウンタをカウントアップすることによって、タイムスタンプカウンタ値（Ｃｃ）を得る。
【０１４０】
ＵＴＣ・Ｃｓ分離部２００は、ＮＴＰパケットを取得する。ＵＴＣ・Ｃｓ分離部２００は、取得されたＮＴＰパケットから、ＵＴＣ時刻情報とＮＴＰサーバ装置１０のタイムスタンプカウンタ値（Ｃｓ）とを読み出す。
【０１４１】
タイムスタンプ比較部２０４は、取得されたＮＴＰパケットに含まれているタイムスタンプカウンタ値（Ｃｓ）と、タイムスタンプカウンタ部２０２のタイムスタンプカウンタ値（Ｃｃ）から（α）を減じた結果とを比較する。また、タイムスタンプ比較部２０４は、タイムスタンプカウンタ値（Ｃｓ）とタイムスタンプカウンタ値（Ｃｃ）とを比較する。タイムスタンプ比較部２０４は、タイムスタンプカウンタ値（Ｃｓ）とタイムスタンプカウンタ値（Ｃｃ）との比較結果を、ＵＴＣ時刻情報転送制御部２０５に出力する。
【０１４２】
ＵＴＣ時刻情報転送制御部２０５は、同期時刻・同期クロック生成部２０６のＮＴＰクロックカウンタを初期化する。ＵＴＣ時刻情報転送制御部２０５は、タイムスタンプカウンタ部２０２のタイムスタンプカウンタ値（Ｃｃ）の初期化を、タイムスタンプカウンタ値設定部２０３に指示する。ＵＴＣ時刻情報転送制御部２０５は、タイムスタンプカウンタ部２０２のタイムスタンプカウンタ値（Ｃｃ）の更新を、タイムスタンプカウンタ値設定部２０３に指示する。
【０１４３】
ＵＴＣ時刻情報転送制御部２０５は、ＮＴＰサーバ装置１０から取得したＵＴＣ時刻情報を自端末装置における時刻同期及びシステムクロック周波数同期に用いるか否かを決定する。すなわち、ＵＴＣ時刻情報転送制御部２０５は、ＵＴＣ・Ｃｓ分離部２００から取得したＵＴＣ時刻情報を同期時刻・同期クロック生成部２０６に転送するか廃棄するかを、タイムスタンプ比較部２０４による判定結果に応じて決定する。
【０１４４】
同期時刻・同期クロック生成部２０６は、図１６に示された各構成を備える。同期時刻・同期クロック生成部２０６は、ＮＴＰサーバ装置１０から取得したＵＴＣ時刻情報を自端末装置における時刻同期及びシステムクロック周波数同期に用いるとＵＴＣ時刻情報転送制御部２０５が判定した場合、ＮＴＰサーバ装置１０から取得したＵＴＣ時刻情報に自端末装置の時刻情報を同期させる。
【０１４５】
同期時刻・同期クロック生成部２０６は、ＮＴＰサーバ装置１０から取得したＵＴＣ時刻情報を自端末装置における時刻同期及びシステムクロック周波数同期に用いるとＵＴＣ時刻情報転送制御部２０５が判定した場合、ＮＴＰサーバ装置１０から取得したＵＴＣ時刻情報に基づいて、ＮＴＰサーバ装置１０のシステムクロックの周波数に、自端末装置のシステムクロックの周波数を同期させる。
【０１４６】
以上のように、第３実施形態の時刻同期システム１は、ＮＴＰサーバ装置１０と、ＮＴＰクライアント端末装置２０とを備える。ＮＴＰサーバ装置１０は、ＵＴＣ時刻源１００と、タイムスタンプカウンタ部１０２（第１カウンタ）と、パケット化部１０５（送信部）とを有する。ＵＴＣ時刻源１００は、基準時刻情報を定める。タイムスタンプカウンタ部１０２は、予め定められた周波数のクロックに同期して第１カウント値を更新する。パケット化部１０５は、基準時刻情報及び第１カウント値を含むパケットをブロードキャストで送信する。ＮＴＰクライアント端末装置２０は、ＵＴＣ・Ｃｓ分離部２００（取得部）と、タイムスタンプカウンタ部２０２（第２カウンタ）と、ＵＴＣ時刻情報転送制御部２０５（決定部）とを有する。ＵＴＣ・Ｃｓ分離部２００は、パケットを取得する。タイムスタンプカウンタ部２０２は、周波数のクロックに同期して第２カウント値を更新する。ＵＴＣ時刻情報転送制御部２０５は、第１カウント値及び第２カウント値を比較した結果に基づいて、自端末装置における時刻情報の補正に基準時刻情報を用いるか否かを決定する。
【０１４７】
これによって、第３実施形態のＮＴＰクライアント端末装置２０は、ＮＴＰをブロードキャストモードで運用する時刻同期方式において、ＮＴＰサーバ装置１０とＮＴＰクライアント端末装置２０との間で通信される信号の遅延時間に揺らぎがある場合でも、ＳｙｎｃＥを用いて、ＮＴＰサーバ装置１０とＮＴＰクライアント端末装置２０との間で、時刻同期及びシステムクロック周波数同期を安定して実行することが可能である。
【０１４８】
（第４実施形態）
第４実施形態では、ＵＴＣ時刻情報に周波数同期するクロック信号をＮＴＰクライアント端末装置２０が有する（ＵＴＣ時刻と同期した伝送クロックをＮＴＰクライアント端末装置２０が取得する）点が、第３実施形態と相違する。第４実施形態では、第３実施形態との相違点についてのみ説明する。
【０１４９】
ＮＴＰクライアント端末装置２０は、ＳｙｎｃＥ機能を有する通信回線３０を介して、ＵＴＣ時刻に同期した伝送クロックを取得する。ＮＴＰクライアント端末装置２０は、取得された伝送クロックからシステムクロックを生成する。ＮＴＰクライアント端末装置２０が生成したシステムクロックは、ＵＴＣ時刻に同期しているＮＴＰサーバ装置１０のシステムクロックとも同期している。したがって、ＮＴＰサーバ装置１０の時刻時計とＮＴＰクライアント端末装置２０の時刻時計とで、時計の進む速さは常に等しくなる。
【０１５０】
図１１は、第４実施形態における、ＮＴＰクライアント端末装置２０の構成の例を示す図である。ＮＴＰクライアント端末装置２０は、ＵＴＣ分離部２１０と、ＵＴＣ時刻情報比較部２１８と、ＮＴＰクロックカウンタ制御部２１９と、ＮＴＰクロックカウンタ２１４とを備える。ＮＴＰクライアント端末装置２０は、ネットワーク接続インタフェース２０７と、ＰＨＹ２０８と、ＣＤＲ２０９と、システムクロック生成用ＰＬＬ２１３とを、ＳｙｎｃＥクロック抽出部２１として備える。
【０１５１】
通信回線３０は、ＩＰマルチキャスト又はＩＰブロードキャストによる通信が可能なネットワークである。通信回線３０は、Ｅｔｈｅｒｎｅｔ（登録商標）／ＩＰネットワークである。通信回線３０は、ＳｙｎｃＥ機能を有している。
【０１５２】
ネットワーク接続インタフェース２０７は、通信回線３０と接続されている。ネットワーク接続インタフェース２０７は、送信されるパケットに応じた物理入力信号を、通信回線３０を介してＮＴＰサーバ装置１０に送信する。ネットワーク接続インタフェース２０７は、通信回線３０を介して、ＮＴＰサーバ装置１０から、ＮＴＰパケット等のパケットに応じた物理入力信号を取得する。ネットワーク接続インタフェース２０７は、取得された物理入力信号をＰＨＹ２０８に送信する。ＰＨＹ２０８は、物理入力信号をＣＤＲ２０９に送信する。
【０１５３】
ＣＤＲ２０９は、物理入力信号のデータの伝送クロックに周波数同期したリカバリークロックを、物理入力信号から生成する。すなわち、ＣＤＲ２０９は、ＵＴＣ時刻情報に同期しているリカバリークロックを、物理入力信号から生成する。ＣＤＲ２０９は、ＵＴＣ時刻情報に同期しているリカバリークロックを、システムクロック生成用ＰＬＬ２１３に出力する。システムクロック生成用ＰＬＬ２１３は、ＵＴＣ時刻情報に同期しているリカバリークロックに基づいて、ＵＴＣ時刻情報に同期しているシステムクロックを生成する。システムクロック生成用ＰＬＬ２１３が生成したシステムクロックの周波数は、２２４Ｈｚである。
【０１５４】
ＮＴＰクロックカウンタ２１４は、周波数が２２４Ｈｚであるシステムクロックに基づいて、ＮＴＰクロックカウンタ２１４のカウント値をカウントアップする。このようにして、ＮＴＰクロックカウンタ２１４は、ＮＴＰサーバ装置１０の時刻情報に、自端末装置におけるＵＴＣ時刻情報を同期させる。
【０１５５】
次に、時刻同期の方法について説明する。
ＵＴＣ分離部２１０は、ＮＴＰパケットをＮＴＰサーバ装置１０から取得する。ＵＴＣ分離部２１０は、取得されたＮＴＰパケットから、ＮＴＰサーバ装置１０のＵＴＣ時刻情報（Ｔｉｍｅ＿Ｓ）を読み出す。
【０１５６】
ＵＴＣ時刻情報比較部２１８は、ＮＴＰサーバ装置１０のＵＴＣ時刻情報（Ｔｉｍｅ＿Ｓ）を、ＵＴＣ分離部２１０から取得する。ＵＴＣ時刻情報転送制御部２１１は、自端末装置のＵＴＣ時刻情報（Ｔｉｍｅ＿Ｃ）を、ＮＴＰクロックカウンタ２１４から取得する。ＵＴＣ時刻情報比較部２１８は、ＵＴＣ時刻情報（Ｔｉｍｅ＿Ｃ）とＵＴＣ時刻情報（Ｔｉｍｅ＿Ｓ）とを比較する。ＵＴＣ時刻情報比較部２１８は、ＵＴＣ時刻情報（Ｔｉｍｅ＿Ｃ）とＵＴＣ時刻情報（Ｔｉｍｅ＿Ｓ）との比較結果を、ＵＴＣ時刻情報比較部２１８に出力する。
【０１５７】
ＵＴＣ時刻情報比較部２１８は、ＮＴＰサーバ装置１０から取得したＵＴＣ時刻情報を自端末装置における時刻同期及びシステムクロック周波数同期に用いるか否かを決定する。すなわち、ＵＴＣ時刻情報比較部２１８は、ＵＴＣ分離部２１０から取得したＵＴＣ時刻情報をＮＴＰクロックカウンタ２１４に転送するか廃棄するかを、ＵＴＣ時刻情報（Ｔｉｍｅ＿Ｃ）よりもＵＴＣ時刻情報（Ｔｉｍｅ＿Ｓ）が進んでいるか否かに基づいて決定する。ＵＴＣ時刻情報比較部２１８は、ＵＴＣ時刻情報をＮＴＰクロックカウンタ２１４に転送するか廃棄するかを表す情報を、ＮＴＰクロックカウンタ制御部２１９に出力する。
【０１５８】
ＮＴＰクロックカウンタ制御部２１９は、ＮＴＰクロックカウンタ２１４のカウンタ値を初期化するためのＮＴＰクロックカウンタ制御信号を、ＮＴＰクロックカウンタ２１４に出力する。ＮＴＰクロックカウンタ制御部２１９は、ＮＴＰサーバ装置１０から取得したＵＴＣ時刻情報を自端末装置における時刻同期及びシステムクロック周波数同期に用いる場合、ＮＴＰクロックカウンタ２１４のカウンタ値を補正するためのＮＴＰクロックカウンタ制御信号を、ＮＴＰクロックカウンタ２１４に出力する。このようにして、ＮＴＰクライアント端末装置２０は、ＮＴＰサーバ装置１０におけるＵＴＣ時刻に同期したＵＴＣ時刻を得ることができる。
【０１５９】
以上のように、第４実施形態の時刻同期システム１は、ＮＴＰサーバ装置１０と、ＮＴＰクライアント端末装置２０とを備える。ＮＴＰサーバ装置１０は、ＵＴＣ時刻源１００と、タイムスタンプカウンタ部１０２（第１カウンタ）と、パケット化部１０５（送信部）とを有する。ＵＴＣ時刻源１００は、基準時刻情報を定める。タイムスタンプカウンタ部１０２は、予め定められた周波数のクロックに同期して第１カウント値を更新する。パケット化部１０５は、基準時刻情報及び第１カウント値を含むパケットをブロードキャストで送信する。ＮＴＰクライアント端末装置２０は、ＵＴＣ分離部２１０（取得部）と、ＮＴＰクロックカウンタ２１４（第２カウンタ）と、ＵＴＣ時刻情報比較部２１８（決定部）とを有する。ＵＴＣ分離部２１０は、パケットを取得する。ＮＴＰクロックカウンタ２１４は、周波数のクロックに同期して第２カウント値を更新する。ＵＴＣ時刻情報比較部２１８は、第１カウント値及び第２カウント値を比較した結果に基づいて、自端末装置における時刻情報の補正に基準時刻情報を用いるか否かを決定する。
【０１６０】
これによって、第４実施形態のＮＴＰクライアント端末装置２０は、ＮＴＰをブロードキャストモードで運用する時刻同期方式において、ＮＴＰサーバ装置１０とＮＴＰクライアント端末装置２０との間で通信される信号の遅延時間に揺らぎがある場合でも、ＳｙｎｃＥを用いる簡便な方法で、ＮＴＰサーバ装置１０とＮＴＰクライアント端末装置２０との間で、時刻同期及びシステムクロック周波数同期を安定して実行することが可能である。
【０１６１】
本発明の装置は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
【０１６２】
上述した実施形態における時刻同期システム、ＮＴＰサーバ装置及びＮＴＰクライアント端末装置の少なくとも一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【０１６３】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【０１６４】
本発明は、ＮＴＰサーバ装置がブロードキャストモードで運用されている通信システムであって、ＮＴＰクライアント端末装置が自端末装置の時刻をＮＴＰサーバ装置の基準時刻に同期させる通信システムに適用可能である。
【符号の説明】
【０１６５】
１…時刻同期システム、１０…ＮＴＰサーバ装置、１１…ＳｙｎｃＥクロック抽出部、２０…ＮＴＰクライアント端末装置、２１…ＳｙｎｃＥクロック抽出部、３０…通信回線、
１００…ＵＴＣ時刻源、１０１…共通クロック、１０２…タイムスタンプカウンタ部、１０３…ＮＴＰパケット生成部、１０４…ＵＴＣ・Ｃｓデータラッチ部、１０５…パケット化部、１０６…ネットワーク接続インタフェース、１０７…ＰＨＹ、１０８…ＣＤＲ、１０９…共通クロック生成用ＰＬＬ、２００…ＵＴＣ・Ｃｓ分離部、２０１…共通クロック、２０２…タイムスタンプカウンタ部、２０３…タイムスタンプカウンタ値設定部、２０４…タイムスタンプ比較部、２０５…ＵＴＣ時刻情報転送制御部、２０６…同期時刻・同期クロック生成部、２１０…ＵＴＣ分離部、２１１…ＵＴＣ時刻情報転送制御部、２１２…クロック信号源、２１３…システムクロック生成用ＰＬＬ、２１４…ＮＴＰクロックカウンタ、２１５…整数部、２１６…小数部、２１７…共通クロック生成用ＰＬＬ、２１８…ＵＴＣ時刻情報比較部、２１９…ＮＴＰクロックカウンタ制御部
【図１】
2018098711.tif 000003
【図２】
2018098711.tif 000004
【図３】
2018098711.tif 000005
【図４】
2018098711.tif 000006
【図５】
2018098711.tif 000007
【図６】
2018098711.tif 000008
【図７】
2018098711.tif 000009
【図８】
2018098711.tif 000010
【図９】
2018098711.tif 000011
【図１０】
2018098711.tif 000012
【図１１】
2018098711.tif 000013
【図１２】
2018098711.tif 000014
【図１３】
2018098711.tif 000015
【図１４】
2018098711.tif 000016
【図１５】
2018098711.tif 000017
【図１６】
2018098711.tif 000018