(57)【要約】【課題】時刻同期クライアントと時刻同期サーバとを含む時刻同期システムにおいて、時刻同期システムの構成が変わっても、容易に、時刻同期システムで許容される誤差の範囲で、時刻同期を実現する。【解決手段】  時刻同期クライアントは、基準時刻を刻む基準タイマを有する時刻同期用のサーバに対して、基準時刻の通知を要求する要求フレームを複数送信するとともに、応答フレームを受信する通信部と、自装置のタイマの基準タイマに対する精度と、自装置のタイマと基準タイマとの間で許容される許容時間差とに基づき、許容測定期間を算出する許容測定期間計算部と、前記タイマが示す現在時刻から許容測定期間前以内に送信した要求フレーム及び応答フレームの自装置及びサーバの送受信時刻に基づき、自装置のタイマと基準タイマとの推定時間差を求める推定時間差計算部と、推定時間差に基づき自装置のタイマの時刻を補正する補正部とを備える。【選択図】図２
2015139074.tif 000002
【特許請求の範囲】
【請求項１】
基準時刻を刻む基準タイマを有する時刻同期用のサーバに対して、前記基準時刻の通知を要求する要求フレームを複数送信するとともに、前記要求フレーム毎に、前記要求フレームに対する応答である応答フレームを前記サーバから受信する通信部と、
時刻を刻むタイマと、
前記タイマの前記基準タイマに対する精度と、前記タイマと前記基準タイマとの間で許容される許容時間差とに基づき、許容測定期間を算出する許容測定期間計算部と、
前記タイマが示す現在時刻から前記許容測定期間前以内に送信した複数の前記要求フレーム毎に、前記要求フレームを送信したときの前記タイマが示す第１の時刻と、前記サーバが、前記要求フレームを受信したときの前記基準タイマが示す第２の時刻と、当該許容測定期間前以内に送信した前記要求フレームに対する応答である前記応答フレームを前記サーバが送信したときの前記基準タイマの第３の時刻と、自装置が前記応答フレームを受信したときの前記タイマの第４の時刻とに基づいて、前記タイマと前記基準タイマとの推定時間差を求める推定時間差計算部と、
前記推定時間差に基づき、前記タイマの時刻を補正する補正部と、を備える
時刻同期クライアント。
【請求項２】
前記推定時間差計算部は、複数の前記要求フレーム毎及び複数の前記応答フレーム毎に、前記第１の時刻と前記第２の時刻と前記第３の時刻と前記第４の時刻とに基づき、前記要求フレームと前記応答フレームの往復通信時間の半分の時間である通信遅延を算出し、当該算出した通信遅延を用いて前記推定時間差を求め、
前記補正部は、複数の前記通信遅延の中で最小の通信遅延を用いて計算した前記推定時間差に基づき、前記タイマの時刻を補正する
請求項１記載の時刻同期クライアント。
【請求項３】
前記許容測定期間に基づき、前記要求フレームの送信周期を決定する周期決定部を更に備える請求項２記載の時刻同期クライアント。
【請求項４】
前記周期決定部は、前記推定時間差計算部が、前記許容測定期間で、最小の前記通信遅延を計算可能となる前記送信周期の中で最長の前記送信周期を、前記要求フレームの前記送信周期と決定する請求項３記載の時刻同期クライアント。
【請求項５】
前記通信部は、更に、試行同期要求フレームを送信するとともに、前記試行同期要求フレームに対する応答である試行同期応答フレームを受信し、
前記周期決定部は、第１〜第Ｎ（Ｎは２以上の整数）の送信周期を切り替えて、第１の試行期間、第ｉ（ｉは１〜Ｎの整数）の送信周期で、前記通信部に、前記試行同期要求フレームを送信させ、
前記推定時間差計算部は、前記通信部が送信した複数の前記試行同期要求フレーム毎に、前記試行同期要求フレームを送信したときの前記タイマが示す第５の時刻と、前記サーバが、前記試行同期要求フレームを受信したときの前記基準タイマが示す第６の時刻と、前記試行同期応答フレームを前記サーバが送信したときの前記基準タイマの第７の時刻と、自装置が前記応答フレームを受信したときの前記タイマの第８の時刻とに基づいて、前記試行同期要求フレームと前記試行同期応答フレームの往復通信時間の半分の時間である通信遅延を算出し、
前記周期決定部は、前記第１の試行期間内の複数の許容測定期間ごとに、前記通信部が送信した前記試行同期要求フレーム及び受信した前記試行同期応答フレームごとに、前記推定時間差計算部が算出した前記通信遅延のうち最小の通信遅延を求め、複数の許容測定期間毎に求めた最小の通信遅延の最大値、中央値、または平均値を求め、
前記周期決定部は、前記第１〜第Ｎの送信周期毎に求めた最小の通信遅延の最大値、中央値、または平均値が最も小さくなる送信周期の中で最長の周期を、前記要求フレームの前記送信周期と決定する
請求項４記載の時刻同期クライアント。
【請求項６】
前記時刻同期クライアント及び前記サーバが運用される通信ネットワークにおいて、運用されるアプリケーションのフレーム送信周期を入力するアプリケーションフレーム送信周期入力部と、
前記第１の試行期間を、前記アプリケーションの前記フレーム送信周期に基づく前記アプリケーションの前記フレームの送信インターバルの最少公倍数とする試行期間決定部とを、更に備える
請求項５記載の時刻同期クライアント。
【請求項７】
前記周期決定部は、前記第１〜前記第Ｎの送信周期を切り替えるにあたり、送信周期を順次短くしていき、第Ｍ回目（Ｍは２以上の整数）に求めた最少の通信遅延の最大値、中央値、または平均値が、第Ｍ−１回目（Ｍは２以上の整数）に求めた最少の通信遅延の最大値、中央値、または平均値以上の値であった場合、前記第Ｍ−１回目に求めた用いた送信周期を、前記第１〜第Ｎの送信周期毎に求めた最少の通信遅延の最大値、中央値、平均値が最も小さくなる周期の中で最長の周期とみなして、前記要求フレームの送信周期と決定する
請求項６記載の時刻同期クライアント。
【請求項８】
自装置は保護リレーである
請求項７記載の時刻同期クライアント。
【請求項９】
前記タイマは第１水晶発振器が第１周期で出力する第１出力信号をカウントすることで時刻を計時し、前記サーバの前記タイマは、前記第１水晶発振器より精度の高い第２水晶発振器が第２周期で出力する第２出力信号をカウントすることで前記基準時刻を計時し、
前記タイマの前記基準タイマに対する精度は、前記第２周期と前記第１周期との差である
請求項１記載の時刻同期クライアント。
【請求項１０】
前記周期決定部は、前記許容測定期間と、あらかじめ定められた前記許容測定期間に送信する前記要求フレームの送信数とに基づき、前記要求フレームの送信周期を決定する請求項３記載の時刻同期クライアント。
【請求項１１】
時刻同期用のクライアントと、時刻同期用のサーバと、を備えるシステムであって、
前記サーバは、基準時刻を刻む基準タイマを備え、
前記クライアントは、
前記サーバに対して、前記基準時刻の通知を要求する要求フレームを複数送信するとともに、前記要求フレーム毎に、前記要求フレームに対する応答である応答フレームを前記サーバから受信する通信部と、
時刻を刻むタイマと、
前記タイマの前記基準タイマに対する精度と、前記タイマと前記基準タイマとの間で許容される許容時間差とに基づき、許容測定期間を算出する許容測定期間計算部と、
前記タイマが示す現在時刻から前記許容測定期間前以内に送信した複数の前記要求フレーム毎に、前記要求フレームを送信したときの前記タイマが示す第１の時刻と、前記サーバが、前記要求フレームを受信したときの前記基準タイマが示す第２の時刻と、当該許容測定期間前以内に送信した前記要求フレームに対する応答である前記応答フレームを前記サーバが送信したときの前記基準タイマの第３の時刻と、自装置が前記応答フレームを受信したときの前記タイマの第４の時刻とに基づいて、前記タイマと前記基準タイマとの推定時間差を求める推定時間差計算部と、
前記推定時間差に基づき、前記タイマの時刻を補正する補正部と、を備える
システム。
【請求項１２】
時刻同期クライアントを制御するプログラムであって、
基準時刻を刻む基準タイマを有する時刻同期用のサーバに対して、前記基準時刻の通知を要求する要求フレームを複数送信するとともに、前記要求フレーム毎に、前記要求フレームに対する応答である応答フレームを前記サーバから受信する通信機能と、
前記時刻同期クライアントのタイマの前記基準タイマに対する精度と前記時刻同期クライアントのタイマと前記基準タイマとの間で許容される許容時間差とに基づき、許容測定期間を算出する許容測定期間計算機能と、
前記時刻同期クライアントのタイマが示す現在時刻から前記許容測定期間前以内に送信した複数の前記要求フレーム毎に、前記要求フレームを送信したときの前記時刻同期クライアントのタイマが示す第１の時刻と、前記サーバが、前記要求フレームを受信したときの前記基準タイマが示す第２の時刻と、当該許容測定期間前以内に送信した前記要求フレームに対する応答である前記応答フレームを前記サーバが送信したときの前記基準タイマの第３の時刻と、前記時刻同期クライアントが前記応答フレームを受信したときの前記時刻同期クライアントのタイマの第４の時刻とに基づいて、前記時刻同期クライアントのタイマと前記基準タイマとの推定時間差を求める推定時間差計算機能と、
前記推定時間差に基づき、前記時刻同期クライアントの前記タイマの時刻を補正する補正機能と、を備える
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、時刻同期クライアント、システム、及びプログラムに関する。
【背景技術】
【０００２】
時刻同期クライアントが、高精度な基準時刻を提供する時刻同期サーバと通信ネットワークを介して通信を行い、時刻同期クライアントのローカルな時刻を、時刻同期サーバが提供する基準時刻と同期させる時刻同期システムがある。
【０００３】
時刻同期に際しては、時刻同期クライアントが、時刻同期サーバに対して、基準時刻を要求する同期要求フレームを送信し、時刻同期サーバから、基準時刻を示す同期応答フレームを受け取る。時刻同期クライアントは、受け取った基準時刻に、通信遅延（同期要求フレームと同期応答フレームの往復伝送時間の半分の時間）を足し算することで、時刻同期サーバの現在時刻を推定する。時刻同期クライアントは、時刻同期サーバの推定現在時刻と、時刻同期クライアントのローカルな現在時刻との時間差（推定時間差と称する。）を求める。時刻同期クライアントは、時刻同期クライアントのローカルな現在時刻に推定時間差を足し算することで、時刻補正を行う。
【０００４】
推定時間差を算出する手法として、時刻同期クライアントが、現在時刻から所定期間内前に送信した同期要求フレーム及び、その応答である同期応答フレームから通信遅延を求めて、その中で最小の通信遅延となる同期要求フレーム及び同期応答フレームに含まれる時刻情報を用いて推定時間差を算出する手法がある。この手法によれば、通信遅延の値として小さな値を用いることができ、通信ネットワーク機器のキューイン等による生じる時刻同期誤差を少なくすることができる。
【０００５】
時刻同期誤差を少なくするためには、前述した所定の期間を適切な期間に定める必要がある。当該所定の期間が短いと、通信遅延の値として小さな値を求められる可能性が低くなり、当該所定の期間が長いと、時刻同期サーバの基準時刻と時刻同期クライアントのローカルな時刻との時間差が大きくなる影響で、時刻同期誤差が生じるからである。特に所定の期間を長くしすぎると、システムで許される時刻同期誤差を超えてしまうケースもある。
【０００６】
従来、経験則や実験により、前述した所定の期間を求めていた。経験則で行う場合、大きな時刻同期誤差を生じてしまう可能性があり、ひいてはシステムで許される時刻同期誤差の許容値を超えてしまう可能性があった。また、実験を行う場合、その実験のために大きな時間を要する等の手間を要する。特に、時刻同期誤差を小さくするための適切な所定の期間は、時刻同期クライアントや時刻同期サーバの性能により異なるため、時刻同期システムの構成が変わるごとに、実験を行う必要があり、時間や労力が必要だった。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特表2011-525308号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の一側面は、時刻同期クライアントと時刻同期サーバとを含む時刻同期システムにおいて、時刻同期システムの構成が変わっても、容易に、時刻同期システムで許容される誤差の範囲で、時刻同期を実現することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一観点にかかる時刻同期クライアントは、通信部と、タイマと、精度入力部と、許容時間差入力部と、許容測定期間計算部と、推定時間差計算部と、補正部と、を備える。通信部は、基準時刻を刻む基準タイマを有する時刻同期用のサーバに対して、前記基準時刻の通知を要求する要求フレームを複数送信するとともに、前記要求フレーム毎に、前記要求フレームに対する応答である応答フレームを前記サーバから受信する。タイマは、時刻を刻む。許容測定期間計算部は、前記タイマの前記基準タイマに対する精度と、前記タイマと前記基準タイマとの間で許容される許容時間差とに基づき、許容測定期間を算出する。推定時間差計算部は、前記タイマが示す現在時刻から前記許容測定期間前以内に送信した複数の前記要求フレーム毎に、前記要求フレームを送信したときの前記タイマが示す第１の時刻と、前記サーバが、前記要求フレームを受信したときの前記基準タイマが示す第２の時刻と、当該許容測定期間前以内に送信した前記要求フレームに対する応答である前記応答フレームを前記サーバが送信したときの前記基準タイマの第３の時刻と、自装置が前記応答フレームを受信したときの前記タイマの第４の時刻とに基づいて、前記タイマと前記基準タイマとの推定時間差を求める。補正部は、前記推定時間差に基づき、前記タイマの時刻を補正する。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係るシステムを示すブロック図。
【図２】第１の実施形態に係る時刻同期クライアント１００を示すブロック図。
【図３】第１の実施形態に係る時刻同期サーバ２００を示すブロック図。
【図４】第１の実施形態に係る時刻同期クライアント１００の動作を示すフローチャート。
【図５】時刻同期クライアント１００の同期要求フレーム送信周期を決定する動作を示すフローチャート。
【図６】時刻同期クライアント１００の試行期間と許容測定期間と送信周期ｆの関係を示す図。
【図７】第２の実施形態に係る時刻同期クライアント２１００を示すブロック図。
【図８】時刻同期クライアント２１００の動作を示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について、図面を参照しながら説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。
【００１２】
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係るシステムを示すブロック図である。
【００１３】
第１の実施形態に係るシステムは、時刻同期サーバ２００と、複数の時刻同期クライアント１００と、複数のその他の装置４００とを備える。時刻同期クライアント１００は、基準時刻を刻むタイマを有する時刻同期サーバ２００と通信ネットワーク３００を介して通信する。ここで、通信ネットワーク３００は、無線ネットワークであっても良いし有線ネットワークであっても良い。
【００１４】
図２は、時刻同期クライアント１００を示すブロック図である。
【００１５】
時刻同期クライアント１００は、通信部１０１と、タイマ１０２、精度入力部１０３と、許容時間差入力部１０４と、許容測定期間計算部１０５と、推定時間計算部１０６と、補正部１０７と、周期決定部１０８と、アプリケーションフレーム送信周期入力部１０９と、試行期間決定部１１０と、を備える。タイマ１０２は、水晶発振器１０２１を備える。  
図１に示される時刻同期クライアント１００の各部は、それぞれの機能が予めプログラミングされた専用チップで実現されてもよいし、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの情報処理装置がＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭなどの記憶装置に記憶されているプログラムを読み出して実行することで実現された機能であってもよい。通信部１０１は、時刻同期サーバに対して、基準時刻の通知を要求する同期要求フレームを複数送信する。通信部１０１は、複数の同期要求フレーム毎に、同期要求フレームに対する応答である応答フレームを受け取る。また、通信部１０１は、試行同期要求フレームを送信するとともに、試行同期要求フレームに対する応答である試行同期応答フレームを受信する。通信部１０１は、周期決定部１０８の指示により、第１〜第Ｎ（Ｎは２以上の整数）の送信周期を切り替えて、試行同期要求フレームを送信する。通信部１０１は、試行期間決定部１１０が決定する試行期間、第ｉ（iは１〜Ｎの整数）の送信周期で試行同期要求フレームを送信する。なお、通信部１０１が指定される第１〜第Ｎの送信周期は、あらかじめ決められたものでなく、ランダムに指定されたものであっても良い。また、Ｎの値も任意の値であって良い。通信部１０１は、同期要求フレームの送信時のタイマ１０２が示す時刻を表すタイムスタンプ、同期応答フレームの受信時のタイマ１０２が示す時刻を表すタイムスタンプを記録する機能を有する。また、通信部１０１は、同期応答フレームに示される、時刻同期サーバ２００が同期要求フレームを受信したときの時刻同期サーバ２００の基準タイマ２０２の時刻を表すタイムスタンプ、時刻同期サーバ２００が同期応答フレームを送信したときの基準タイマ２０２の時刻を表すタイムスタンプを記録する機能を有する。通信部１０１は、これらタイムスタンプを記録するための記憶部を有していても良い。
【００１６】
タイマ１０２は、時刻を刻む。具体的には、水晶発振器１０２１が第１周期で出力する第１出力信号をカウントすることで時刻を刻む。
【００１７】
精度入力部１０３は、タイマ１０２の、時刻同期サーバ２００の基準タイマ２０２（図３に示す。）に対する精度を入力する。ここで、タイマ１０２の、基準タイマ２０２に対する精度は、例えば、タイマ１０２の水晶発振器１０２１の第１出力信号の第１の周波数と、時刻同期サーバ２００の基準タイマ２０２の水晶発振器２０２１（図３参照。）の第２出力信号の第２の周波数との差である。尚、精度入力部１０３には、水晶発振器１０２１の仕様で規定される精度の値を入力してもよい。また、精度入力部１０３には、水晶発振器１０２１と、高精度な時計とを比べた精度の値を入力しても良い。尚、精度は精度入力部１０３により入力されたものでなく、予め時刻同期クライアント１０２が記憶していても良い。
【００１８】
許容時間差入力部１０４は、タイマ１０２と、時刻同期サーバ２００の基準タイマ２０２との間で許容される時間差（許容時間差）を入力する。許容時間差は、例えば、あらかじめシステム設計上定められていても良い。また、許容時間差は、許容時間差入力部１０４から入力されたものでなく、予め時刻同期クライアント１０２が記憶していても良い。
【００１９】
許容測定期間計算部１０５  は、精度差入力部１０３に入力された精度と許容時間入力部１０４に入力された許容時間差とに基づき、許容測定期間を算出する。具体的には、許容時間差を精度で割り算することで許容測定期間を算出できる。なお、許容測定期間は、許容時間差を精度で割り算した値から一定値を引いた値であっても良い。
【００２０】
推定時間差計算部１０６は、タイマ１０２が示す現在時刻から許容測定期間前以内に送信した複数の同期要求フレーム及び同期応答フレーム毎に、タイマ１０２の時刻と基準タイマ２０２の時刻との時間差である推定時間差を算出する。推定時間差計算部１０６は、同期要求フレームを送信したときのタイマ１０２が示す第１の時刻と、時刻同期サーバ２００が同期要求フレームを受信したときの時刻同期サーバの基準タイマ２０２が示す第２の時刻と、同期要求フレームに対する応答である応答フレームを時刻同期サーバ２００が送信したときの基準タイマ２０２が示す第３の時刻と、時刻同期クライアント１００が応答フレームを受信したときのタイマ１０２の第４の時刻とに基づいて、タイマ１０２と基準タイマ２０２との推定時間差を求める。まず、推定時間差計算部１０６は、第１時刻と第２の時刻と第３の時刻と第４の時刻とに基づき、同期要求フレームと同期応答フレームの往復通信時間の半分の時間である通信遅延を算出する。その後、基準タイマ２０２が示す基準時刻である第３の時刻に、通信遅延を足し算して、同期応答フレーム受信時の時刻同期サーバ２００の基準タイマ２０２の時刻を推定する。その後、推定した同期フレーム受信時の時刻同期サーバ２００の基準タイマ２０２の時刻（第３の時刻に、通信遅延を足し算した値）から同期応答フレーム受信時のタイマ１０２の時刻である第４の時刻を引き算することで、推定時間差を求める。尚、推定時間差計算部１０６は、通信遅延を算出する際に、往復通信時間を求める際に、許容期間内に送信した同期要求フレームの片道時間と、許容期間内に送信した別の同期要求フレームに対する応答である同期応答フレームの片道時間とを用いて通信遅延を算出しても良い。例えば、片道時間が最小の組み合わせを用いて通信遅延を求めても良い。
【００２１】
また、推定時間計算部１０６は、通信部１０１が送信した複数の試行同期要求フレーム毎に、試行同期要求フレームを送信したときのタイマ１０２が示す第５の時刻と、時刻同期サーバが試行同期要求フレームを受信したときの時刻同期サーバ２００の基準タイマ２０２が示す第６の時刻と、試行同期応答フレームを時刻同期サーバ２００が送信したときの基準タイマ２０２の第７の時刻と、通信部１０１が応答フレームを受信したときのタイマ１０２の第８の時刻とに基づいて、試行同期要求フレームと試行同期応答フレームの往復通信時間の半分の時間である通信遅延を算出する。
【００２２】
補正部１０７は、推定時間計算部１０６が求めた推定時間差に基づき、タイマ１０２の時刻を補正する。具体的には、補正部１０７は、現在のタイマ１０２の時刻に、推定時間差を足した値をタイマ１０２の時刻に設定する。補正部１０７は、タイマ１０２が示す現在時刻から許容測定期間前以内に送信した同期要求フレーム及び同期応答フレームが複数存する場合、複数の通信遅延の中で最小の通信遅延を用いて計算した推定時間差に基づき、タイマ１０２の時刻を補正する。
【００２３】
周期決定部１０８は、同期要求フレームの送信周期を決定する。周期決定部１０８は、許容測定期間決定部１０５が決定した許容測定期間に基づき送信周期を決定する。  周期決定部１０８は、推定時間差計算部１０６が、許容測定期間で、最小の通信遅延を計算可能となる送信周期の中で最長の送信周期を、同期要求フレームの送信周期と決定する。具体的には、まず、周期決定部１０８は、試行期間内の複数の許容測定期間ごとに、通信部１０１が送信した試行同期要求フレーム及び受信した試行同期応答フレームごとに、推定時間差計算部１０６が算出し通信遅延のうち最小の通信遅延を求める。そして、周期決定部１０８は、複数の許容測定期間毎に求めた最小の通信遅延の最大値、中央値、または平均値を求める。そして、周期決定部１０８は、第１〜第Ｎの送信周期毎に求めた最小の通信遅延の最大値、中央値、または平均値が最も小さくなる送信周期の中で最長の周期を、同期要求フレームの送信周期と決定する。例えば、周期決定部１０８は、第１〜前記第Ｎの送信周期を切り替えるにあたり、送信周期を順次短くしていき、第Ｍ回目（Ｍは２以上の整数）に求めた最少の通信遅延の最大値、中央値、または平均値が、第Ｍ−１回目（Ｍは２以上の整数）に求めた最少の通信遅延の最大値、中央値、または平均値と同じ値であった場合、第Ｍ−１回目に求めた用いた送信周期を、第１〜第Ｎの送信周期毎に求めた最少の通信遅延の最大値、中央値、平均値が最も小さくなる周期の中で最長の周期とみなして、同期要求フレームの送信周期と決定する。
【００２４】
アプリケーションフレーム送信周期入力部１０９は、図１のシステムにおいて運用されるアプリケーションすべてのフレームの送信周期を入力する。ここで、アプリケーションは、時刻同期クライアント１００上のアプリケーション、その他の装置４００上のアプリケーションを含む図１のシステム上のすべてのアプリケーションである。ここで、図１のシステムのアプリケーションは各々あらかじめ決められた周期でフレームを送信するものとする。
【００２５】
試行時間決定部１１０は、同期要求フレーム送信周期を決めるための試行時間を決める。具体的には、アプリケーションフレーム送信周期入力部１０９に入力されたアプリケーションのフレームの送信周期の送信インターバルの最少公倍数とする。
【００２６】
図３は、時刻同期サーバ２００を示すブロック図である。
【００２７】
時刻同期サーバ２００は、通信部２０１と、基準タイマ２０２と、を備える。基準タイマ２０２は、水晶発振器２０２１を備える。
【００２８】
時刻同期サーバ２００の基準タイマ２０２は、基準時刻を刻む。具体的には、基準タイマ２０２は、時刻同期クライアント１００のタイマ１０２の水晶発振器１０２１より精度が高い水晶発振器２０２１が第２周期で出力する第２出力信号をカウントすることで基準時刻を刻む。
【００２９】
通信部２０１は、時刻同期クライアント１００から同期要求フレームを受け取ると、基準時刻を記した同期応答フレームを時刻同期クライアント１００に送信する。また、通信部２０１は、試行同期要求フレームを受け取ると、試行同期応答フレームを時刻同期クライアント１００に送信する。
【００３０】
図４は、時刻同期クライアント１００の動作を示すフローチャートである。図５は、図４の時刻同期クライアント１００の動作フローチャートの中で、同期要求フレームの送信周期の決定プロセスの詳細を示すフローチャートである。図４及び図５を用いて、時刻同期クライアント１００の動作を説明する。
【００３１】
まず、許容時間差入力部１０４、精度入力部１０３、およびアプリケーションフレーム送信周期入力部１０９は、それぞれ入力待機状態になる。許容時間差入力部１０４、及び精度入力部１０３に、それぞれ、許容時間差とタイマ１０２の基準タイマ２０２に対する精度が入力されると、入力された値は、許容測定期間計算部１０５に渡される。また、アプリケーションフレーム送信周期入力部１０９に、図１のシステムのアプリケーションのフレーム送信周期が入力されると、入力された値は、試行期間決定部１１０へ渡される（Ｓ１０１）。
【００３２】
次に、許容測定期間計算部１０５は、許容時間差とタイマ１０２の基準タイマ２０２に対する精度から許容測定期間を計算する。このとき、タイマ１０２の基準タイマ２０２に対する精度は、水晶発振器１０２１の水晶発振器２０２１に対する精度で表すことができる。許容測定期間は、水晶発振器１０２１の水晶発振器２０２１に対する精度をppm(pert per million：1秒間に1μ秒のズレ)で表したとすると、許容測定期間(μ秒) ÷水晶発振器１０２１の水晶発振器２０２１に対する精度(ppm)で計算される（ステップ１０２）。
【００３３】
次に、周期決定部１０８は、同期要求フレーム送信周期の試行を行い、同期要求フレームの送信周期を決定する（ステップ１０３）。
【００３４】
ステップ１０３で決定した同期要求フレーム送信周期を使用して時刻同期シーケンスを行う（ステップ１０４）。
【００３５】
ステップ１０３で決定した同期要求フレーム送信周期を使用した、時刻同期シーケンスを説明する。
【００３６】
通信部１０１は、時刻同期サーバに２００対して、基準時刻の通知を要求する同期要求フレームを、決定した送信周期で送信する。通信部１０１は、複数の同期要求フレーム毎に、同期要求フレームに対する応答である応答フレームを受け取る。
【００３７】
推定時間差計算部１０６は、タイマ１０２が示す現在時刻から許容測定期間前以内に送信した複数の同期要求フレーム及び同期応答フレーム毎に、タイマ１０２の時刻と基準タイマ２０２の時刻との時間差である推定時間差を算出する。
【００３８】
具体的には、推定時間差計算部１０６は、同期要求フレームを送信したときのタイマ１０２が示す第１の時刻t1と、時刻同期サーバ２００が同期要求フレームを受信したときの時刻同期サーバの基準タイマ２０２が示す第２の時刻t2と、同期要求フレームに対する応答である応答フレームを時刻同期サーバ２００が送信したときの基準タイマ２０２が示す第３の時刻t3と、時刻同期クライアント１００が応答フレームを受信したときのタイマ１０２の第４の時刻t4とに基づいて、数式１を用いて通信遅延を算出する。そして、基準タイマ２０２が示す基準時刻である第３の時刻ｔ３に、通信遅延を足し算して、同期応答フレーム受信時の時刻同期サーバ２００の基準タイマ２０２の時刻を推定する。その後、推定した同期フレーム受信時の時刻同期サーバ２００の基準タイマ２０２の時刻（第３の時刻に、通信遅延を足し算した値）から、同期応答フレーム受信時のタイマ１０２の時刻である第４の時刻ｔ４を引き算することで、推定時間差を求める（数式２）。
【００３９】
通信遅延＝{ (t4-t3)＋(t2- t1) }/ 2・・（数式１）
推定時間差＝(t3＋通信遅延)-t4・・・（数式２）
補正部１０７は、タイマ１０２が示す現在時刻から許容測定期間前以内に送信した同期要求フレーム及び同期応答フレーム毎に求めた複数の通信遅延の中で最小の通信遅延を用いて計算した推定時間差に基づき、タイマ１０２の時刻を補正する。具体的には、タイマ１０２の現在時刻に、推定時間差を足し算することで、タイマ１０２の時刻を補正する。以上が、時刻同期シーケンスの説明である。
【００４０】
次に、同期要求フレーム送信周期の決定（Ｓ１０３）の詳細なステップを、図５を用いて説明する。
【００４１】
まず、周期決定部１０８は、送信周期fを、通信部１０１に設定して、通信部１０１は設定された送信周期ｆで、試行時間、同期要求フレーム（試行同期要求フレームと称する。）を送信する（Ｓ２０１）。この時、設定される送信周期ｆは、許容測定期間内に1回以上送信が実施される周期であれば良い（図６に試行期間と許容測定期間と送信周期ｆの関係を示す）。また、試行期間決定部１１０は、試行期間を、アプリケーションフレーム送信周期入力部１０９で入力された図１のシステム上でフレームを送信する全アプリケーションの送信インターバルの最小公倍数とする。試行期間を、全アプリケーションのフレームの送信インターバルの最小公倍数とする理由は後述する。
【００４２】
次に、試行期間を許容測定期間で区切り、その区切りの中で、試行同期要求フレームの伝送時間（往路）と試行同期応答フレーム（復路）を合計した往復伝送遅延の半分の値である通信遅延の最小値を求める。そして、許容測定期間の区切りの中の通信遅延の最小値同士を比較し、最も大きいものを記録する（Ｓ２０２）。このとき、往路と復路のペアは連続する1往復のペアでなく、複数の往復ペアから最小値の往路と最小値の復路を選んでよい。許容測定期間の区切りの間の最小の通信遅延を選ぶのは、その間に最も通信ネットワーク機器のキューイング遅延にの影響による通信遅延計算結果の誤差を小さいものとすることができるためである。試行期間の中で、複数の許容測定期間毎の最少通信遅延のうち、最も大きい最小の通信遅延を選ぶのは、その同期要求フレーム送信周期で同期を行った場合に、複数回同期処理をするうちに発生する最大の誤差を求めるためである。なお、許容継続期間毎の通信遅延の最小値のうち、最大の値でなく、平均又は中央値を記録してもよい。
【００４３】
次に、周期決定部１０８は、送信周期fを短くしたfを通信部１０１に設定して、通信部１０１は設定された周期ｆ´で、一定期間試行する（Ｓ２０３）。また、試行期間決定部１００は、同期要求フレーム送信試行期間を、アプリケーションフレーム送信周期入力部１０９で入力され、図１のシステムを含む通信ネットワーク上にフレームを送信する全アプリケーションの送信インターバルの最小公倍数とする。
【００４４】
次に、周期決定部１０８は、（Ｓ２０２）と同様に、試行期間の中で、許容測定期間の区切りの間で最も大きい最小の通信遅延を記録する（ステップ２０４）。
【００４５】
次に、周期決定部１０８は、Ｓ２０２とＳ２０４で記録した通信遅延を比較する（Ｓ２０５）。
【００４６】
今回の記録した通信遅延の方が小さければ、（Ｓ２０３）に戻り、今回の記録した通信遅延と前回記録した通信遅延が同じであれば（Ｓ２０６）に移る（Ｓ２０５）。なお、今回の記録した通信遅延が、前回記録した通信遅延より大きい値であっても、（Ｓ２０６）に移る。
【００４７】
前回の同期フレーム送信周期を同期フレーム送信周期して採用する（Ｓ２０６）。
【００４８】
最新の通信遅延とその前の回に記録した通信遅延が同じであれば、前回の同期要求フレーム送信周期を利用する理由は、それ以上、同期フレーム送信周期を短くしても、同期要求フレームによるトラフィックが増えるだけで、その同期要求フレーム送信周期によって得られ許容測定期間内の最小通信遅延を更に小さくすることができないと判断するためである。
【００４９】
図５の動作フローチャートでは、送信周期ｆを順次短くして試行しているが、必ずしもこの手法に限られない。同期要求フレーム送信周期によって得られる許容測定期間内の最小通信遅延を更に小さくすることができないと、効率的に判断することができればよい。例えば、Ｓ２０３において、許容測定期間内のフレーム数を1つずつ増やすように順に短くしていっても良い。また、Ｓ２０３において、無作為に周期を変えていっても、送信周期を半分ずつ小さくしていき、（Ｓ２０５）で同じと判断されると、今回の周期と前回の周期の中間に戻し、また周期を半分ずつ小さくすることを繰り返すように、計画的に周期を変えても構わない。
【００５０】
また、試行期間を、全アプリケーションの送信インターバルの最小公倍数とする理由は、試行期間中に同期要求フレームが背景トラフィックの組み合わせパターンすべてを網羅する最小の期間を取るためである。この期間試行すれば、全てのトラフィックパターンを網羅するため、その後はどれだけ繰り返しても同じ結果になる。これは、例えば工業用や変電所通信ネットワークにあるように、通信ネットワークに送信されるアプリケーションが常に一定に決まっているとき特に有効である。
【００５１】
尚、図１のシステムは、例えば保護リレーシステムに適用される同期システムである。この場合、図１の時刻同期クライアント１００と時刻同期サーバ２００は保護リレーである。ただし、本実施形態は、保護リレーシステムに限定されるものではない。
【００５２】
このように、第１の実施形態に係わる時刻同期クライアント１００によれば、基準タイマ２０２とタイマ１０２との精度差と、許容時間差とから許容測定期間を求め、現在時刻から許容測定期間内に求めた最少の通信遅延から推定時間差を求めて時刻同期を行うため、時刻同期システムで許容される誤差の範囲内で、時刻同期を実現できる。また、時刻同期システムの構成が変わっても、基準タイマ２０２とタイマ１０２との精度差と、許容時間差を用いて、固有の許容測定期間を求めることができるため、容易に時刻同期システムごとに許容される誤差の範囲で時刻同期を実現することができる。また、第１の実施形態に係わる時刻同期クライアント１００によれば、許容測定期間を求め、試行同期要求フレームの送信周期を変更しながら、許容測定期間内の最小通信遅延を更に小さくならない同期要求フレーム送信周期を探索することで、最適な通信遅延を求め、誤差の少ない時刻同期を行うことを実現できる。
【００５３】
時刻同期クライアント１００は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、通信部１０１と、タイマ１０２、精度入力部１０３と、許容時間差入力部１０４と、許容測定期間計算部１０５と、推定時間計算部１０６と、補正部１０７と、周期決定部１０８と、アプリケーションフレーム送信周期入力部１０９と、試行期間決定部１１０は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、時刻同期クライアント１００は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいは通信ネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。
【００５４】
（第２の実施形態）
図７は、本発明の第２の実施形態に係わる時刻同期クライアント２１００を示すブロック図である。
【００５５】
第２の実施形態に係る時刻同期クライアント２１００は、同期要求フレームの送信周期の決定方法が、第１の実施形態の時刻同期クライアント１００と異なる。
【００５６】
この第２の実施形態に係わる時刻同期クライアント２１００は、許容測定期間内に送信する同期要求フレームの数があらかじめ設定されている。したがって、同期要求フレームの送信周期は、許容測定期間計算部１０５が計算する許容測定期間と、許容測定期間何に送信するあらかじめ設定された同期要求フレームの数とに基づき決めることができる。
【００５７】
第２の実施形態に係わる時刻同期クライアント２１００は、周期決定部２１０８の機能が、第１の実施形態に係る時刻同期クライアント１００の周期決定部１０８の機能と異なる。また、時刻同期クライアント２１００は、アプリケーションフレーム送信周期入力部１０９及び試行期間決定部１１０を備えない。
【００５８】
周期決定部２１０は、許容測定期間と、許容測定期間に送信するあらかじめきめられた同期要求フレームの送信数とに基づいて、同期要求フレームの送信周期を決定する。
【００５９】
次に図７および図８を用いて、時刻同期クライアント２１００の動作を説明する。図８は、時刻同期クライアント２１００の動作を示すフローチャートである。
【００６０】
まず、許容時間差入力部１０４、および精度入力部１０３、それぞれ入力待機状態になる。許容時間差入力部１０４、及び精度入力部１０３に、それぞれ、許容時間差とタイマ１０２の基準タイマ２０２に対する精度が入力されると、入力された値は、許容測定期間計算部１０５に渡される。（Ｓ３０１）。
【００６１】
次に、許容測定期間計算部１０５は、許容時間差とタイマ１０２の基準タイマ２０２に対する精度から許容測定期間を計算する。このとき、タイマ１０２の基準タイマ２０２に対する精度は、水晶発振器１０２１の水晶発振器２０２１に対する精度で表すことができる。許容測定期間は、水晶発振器１０２１の水晶発振器２０２１に対する精度をppm(pert per million：1秒間に1μ秒のズレ)で表したとすると、許容測定期間(μ秒) ÷水晶発振器１０２１の水晶発振器２０２１に対する精度(ppm)で計算される（ステップ３０２）。
【００６２】
次に、周期決定部２１０８は、Ｓ３０２で求めた許容測定期間と、許容測定期間内に送信するあらかじめ定められた同期要求フレームの数から、同期要求フレームの送信周期を決定する（Ｓ３０３）。このとき、同期要求フレーム送信周期は、同期要求フレームの総数許容測定期間内に送信するあらかじめ定められた同期要求フレームの数を、許容測定期間で割り算することで算出できる。
【００６３】
ステップ３０３で決定した同期要求フレーム送信周期を使用して時刻同期シーケンスを行う（ステップ３０４）。時刻同期シーケンスは、第１の実施形態のＳ１０４で説明した方法と同様であるので説明を省略する。
【００６４】
第２の実施形態に係わる時刻同期クライアント２１００によれば、許容測定期間を求め、あらかじめ定められた許容測定期間内に送信する同期要求フレームの数から、同期要求フレームの送信周期を決定する。第２の実施形態の時刻同期クライアント２１００によれば、第１の実施形態と同様に、時刻同期システムの構成が変わっても、容易に、時刻同期システムごとに許容される誤差の範囲内で時刻同期を実現することができる。また、第２の実施形態によれば、簡単に同期要求フレームの送信周期を決定できる。
【００６５】
以上説明した少なくとも１つの実施形態の効果は、時刻同期クライアントと時刻同期サーバとを含む時刻同期システムにおいて、時刻同期システムの構成が変わっても、時刻同期システムで許容される誤差の範囲で、時刻同期を実現することである。時刻同期クライアント２１００は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、通信部１０１と、タイマ１０２、精度入力部１０３と、許容時間差入力部１０４と、許容測定期間計算部１０５と、推定時間計算部１０６と、補正部１０７と、周期決定部２１０８とは、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、時刻同期クライアント２１００は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいは通信ネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。
【００６６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６７】
１００、２１００・・・時刻同期クライアント、２００・・・時刻同期サーバ、３００・・・通信ネットワーク、４００・・・その他の装置、１０１・・・通信部、１０２・・・タイマ、１０２１・・・水晶発振器、１０３・・・精度入力部、１０４・・・許容時間差入力部、１０５・・・許容測定期間計算部、１０６・・・推定時間差計算部、１０７・・・補正部、１０８・・・周期決定部、１０９・・・アプリケーションフレーム送信周期入力部、１１０・・・試行期間決定部、２０１・・・通信部、２０２・・・基準タイマ、２０２１・・・水晶発振器、２１０８・・・周期決定部。
【図１】
2015139074.tif 000003
【図２】
2015139074.tif 000004
【図３】
2015139074.tif 000005
【図４】
2015139074.tif 000006
【図５】
2015139074.tif 000007
【図６】
2015139074.tif 000008
【図７】
2015139074.tif 000009
【図８】
2015139074.tif 000010