(57)【要約】      （修正有）【課題】同期状態において品質の良い方の時刻を配信するマスタ装置を選択する時刻同期システムを提供する。【解決手段】基準クロックを有する複数のマスタ装置１０１＿１、１０１＿２と、複数のマスタ装置のいずれかの基準クロックに自装置のクロックを同期させるスレーブ装置１０２とを有する時刻同期システムにおいて、マスタ装置は、時刻の品質を示す情報を含む回線品質メッセージを生成するメッセージ生成部と、スレーブ装置に回線品質メッセージを送信する通信部と、を有する。スレーブ装置は、複数のマスタ装置からそれぞれ受信した複数の回線品質メッセージに含まれる時刻の品質を示す情報を比較して、複数のマスタ装置のうちから時刻の品質の高いマスタ装置を選択する選択部と、選択部が選択した当該マスタ装置の基準クロックに自装置のクロックを同期させる制御部と、を有する。【選択図】図６
2016139846.tif 000002
【特許請求の範囲】
【請求項１】
基準クロックを有する複数のマスタ装置と、複数の前記マスタ装置のいずれかの前記基準クロックに自装置のクロックを同期させるスレーブ装置とを有する時刻同期システムにおいて、
前記マスタ装置は、
時刻同期を図るために前記スレーブ装置との間で送受信される時刻同期メッセージに基づいて、時刻の品質を示す情報を含む回線品質メッセージを生成するメッセージ生成部と、
前記スレーブ装置に前記回線品質メッセージを送信する通信部と、を有し、
前記スレーブ装置は、
複数の前記マスタ装置からそれぞれ受信した複数の前記回線品質メッセージに含まれる前記時刻の品質を示す情報を比較して、複数の前記マスタ装置のうちから前記時刻の品質の高いマスタ装置を選択する選択部と、
前記選択部が選択した当該マスタ装置の前記基準クロックに自装置の前記クロックを同期させる制御部と、を有する
ことを特徴とする時刻同期システム。
【請求項２】
請求項１に記載の時刻同期システムにおいて、
前記マスタ装置は、
前記スレーブ装置との間で送受信される前記時刻同期メッセージの送受信時刻に基づいて求めたオフセット値を蓄積し、蓄積された前記オフセット値を統計処理して前記時刻の品質を示す情報を生成する制御部をさらに有する
ことを特徴とする時刻同期システム。
【請求項３】
基準クロックを有するマスタ装置において、
前記基準クロックと時刻同期を図るスレーブ装置との間で送受信される時刻同期メッセージに基づいて、時刻の品質を示す情報を含む回線品質メッセージを生成するメッセージ生成部と、
前記スレーブ装置との間で前記時刻同期メッセージを送受信するとともに、前記スレーブ装置に前記回線品質メッセージを送信する通信部と、
前記スレーブ装置との間で送受信される前記時刻同期メッセージの送受信時刻に基づいて求めたオフセット値を蓄積し、蓄積された前記オフセット値を統計処理して前記時刻の品質を示す情報を生成する制御部と
を有することを特徴とするマスタ装置。
【請求項４】
複数のマスタ装置のいずれかの基準クロックと時刻同期を図るスレーブ装置において、
複数の前記マスタ装置との間で時刻同期メッセージを送受信するとともに、複数の前記マスタ装置から回線品質メッセージを受信する通信部と、
複数の前記マスタ装置からそれぞれ受信した複数の前記回線品質メッセージに含まれる時刻の品質を示す情報を比較し、複数の前記マスタ装置のうちから前記時刻の品質の高いマスタ装置を選択する選択部と、
前記選択部が選択したマスタ装置との間で送受信される時刻同期メッセージに基づいて当該マスタ装置の前記基準クロックに自装置のクロックを同期させる制御部と
を有することを特徴とするスレーブ装置。
【請求項５】
基準クロックを有する複数のマスタ装置と、複数の前記マスタ装置のいずれかの前記基準クロックに自装置のクロックを同期させるスレーブ装置とを有する時刻同期システムにおける時刻同期方法であって、
前記マスタ装置は、時刻同期を図るために前記スレーブ装置との間で送受信される時刻同期メッセージに基づいて、時刻の品質を示す情報を含む回線品質メッセージを生成して前記スレーブ装置に送信し、
前記スレーブ装置は、複数の前記マスタ装置からそれぞれ受信した複数の前記回線品質メッセージに含まれる前記時刻の品質を示す情報を比較して、複数の前記マスタ装置のうちから前記時刻の品質の高いマスタ装置を選択し、選択した当該マスタ装置の前記基準クロックに自装置の前記クロックを同期させる
ことを特徴とする時刻同期方法。
【請求項６】
請求項５に記載の時刻同期方法において、
前記マスタ装置は、前記スレーブ装置との間で送受信される前記時刻同期メッセージの送受信時刻に基づいて求めたオフセット値を蓄積し、蓄積された前記オフセット値を統計処理して前記時刻の品質を示す情報を生成する
ことを特徴とする時刻同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時刻同期システム、マスタ装置およびスレーブ装置、並びに時刻同期方法に関する。
【背景技術】
【０００２】
近年、複数の装置を有する通信システムにおいて、システム全体の時刻をより高い精度で同期させることがシステム構築の要件になってきている。隣接するＮ：Ｍ（Ｎ，Ｍは正の整数）の装置を有する通信システムは、例えばＩＥＥＥ（The Institute of Electrical and Electronics Engineers）１５８８規格に基づいて、装置間の時刻同期を実現している。ＩＥＥＥ１５８８規格は、Ｅｔｈｅｒｎｅｔ（登録商標）を用いる装置間の時刻を同期させる時刻同期プロトコル（ＰＴＰ：Precision Time Protocol）を規定している（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ＩＥＥＥ１５８８  Ｓｔｄ  １５８８−２００８
【発明の概要】
【発明が解決しようとする課題】
【０００４】
時刻のマスタとなる装置（マスタ装置）と時刻のスレーブとなる装置（スレーブ装置）は、時刻の同期を取るために、ＩＥＥＥ１５８８規格で規定されている時刻同期メッセージを送受信する。また、ＩＥＥＥ１５８８規格は、マスタ装置の状態をスレーブ装置へ通知する回線品質メッセージをマスタ装置とスレーブ装置との間で送受信することを規定している。
【０００５】
ところが、ＩＥＥＥ１５８８規格で規定されている回線品質メッセージは、同期状態での時刻の精度を示す情報は含まれていない。このため、スレーブ側の通信装置は、同期状態において品質の悪い方の時刻を配信するマスタ装置を選択する可能性があるという問題が生じる。
【０００６】
本件開示の時刻同期システム、マスタ装置およびスレーブ装置、並びに時刻同期方法は、複数のマスタ装置から送信される回線品質メッセージに時刻品質情報を格納して、スレーブ装置側で複数のマスタ装置から受信する時刻品質情報のうち品質の高い方のマスタ装置を選択することにより、時刻同期の精度を向上する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの観点によれば、基準クロックを有する複数のマスタ装置と、複数のマスタ装置のいずれかの基準クロックに自装置のクロックを同期させるスレーブ装置とを有する時刻同期システムにおいて、マスタ装置は、時刻同期を図るためにスレーブ装置との間で送受信される時刻同期メッセージに基づいて、時刻の品質を示す情報を含む回線品質メッセージを生成するメッセージ生成部と、スレーブ装置に回線品質メッセージを送信する通信部と、を有し、スレーブ装置は、複数のマスタ装置からそれぞれ受信した複数の回線品質メッセージに含まれる時刻の品質を示す情報を比較して、複数のマスタ装置のうちから時刻の品質の高いマスタ装置を選択する選択部と、選択部が選択した当該マスタ装置の基準クロックに自装置のクロックを同期させる制御部と、を有することを特徴とする。
【０００８】
一つの観点によれば、基準クロックを有するマスタ装置において、基準クロックと時刻同期を図るスレーブ装置との間で送受信される時刻同期メッセージに基づいて、時刻の品質を示す情報を含む回線品質メッセージを生成するメッセージ生成部と、スレーブ装置との間で時刻同期メッセージを送受信するとともに、スレーブ装置に回線品質メッセージを送信する通信部と、スレーブ装置との間で送受信される時刻同期メッセージの送受信時刻に基づいて求めたオフセット値を蓄積し、蓄積されたオフセット値を統計処理して時刻の品質を示す情報を生成する制御部とを有することを特徴とする。
【０００９】
一つの観点によれば、複数のマスタ装置のいずれかの基準クロックと時刻同期を図るスレーブ装置において、複数のマスタ装置との間で時刻同期メッセージを送受信するとともに、複数のマスタ装置から回線品質メッセージを受信する通信部と、複数のマスタ装置からそれぞれ受信した複数の回線品質メッセージに含まれる時刻の品質を示す情報を比較し、複数のマスタ装置のうちから時刻の品質の高いマスタ装置を選択する選択部と、選択部が選択したマスタ装置との間で送受信される時刻同期メッセージに基づいて当該マスタ装置の基準クロックに自装置のクロックを同期させる制御部とを有することを特徴とする。
【００１０】
一つの観点によれば、基準クロックを有する複数のマスタ装置と、複数のマスタ装置のいずれかの基準クロックに自装置のクロックを同期させるスレーブ装置とを有する時刻同期システムにおける時刻同期方法であって、マスタ装置は、時刻同期を図るためにスレーブ装置との間で送受信される時刻同期メッセージに基づいて、時刻の品質を示す情報を含む回線品質メッセージを生成してスレーブ装置に送信し、スレーブ装置は、複数のマスタ装置からそれぞれ受信した複数の回線品質メッセージに含まれる時刻の品質を示す情報を比較して、複数のマスタ装置のうちから時刻の品質の高いマスタ装置を選択し、選択した当該マスタ装置の基準クロックに自装置のクロックを同期させることを特徴とする。
【発明の効果】
【００１１】
本件開示の時刻同期システム、マスタ装置およびスレーブ装置、並びに時刻同期方法は、複数のマスタ装置から送信される回線品質メッセージに時刻品質情報を格納して、スレーブ装置側で複数のマスタ装置から受信する時刻品質情報のうち品質の高い方のマスタ装置を選択することにより、時刻同期の精度を向上することができる。
【図面の簡単な説明】
【００１２】
【図１】時刻同期システムの一例を示す図である。
【図２】ＰＴＰメッセージの一例を示す図である。
【図３】SyncメッセージおよびAnnounceメッセージの一例を示す図である。
【図４】マスタ装置の一例を示す図である。
【図５】スレーブ装置の一例を示す図である。
【図６】時刻同期システムにおけるメッセージの流れを示す図である。
【図７】オフセット値の統計処理の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を用いて実施形態を説明する。
【００１４】
図１は、時刻同期システム１００の一例を示す。図１において、時刻同期システム１００は、マスタ装置１０１＿１、マスタ装置１０１＿２、スレーブ装置１０２を有する。ここで、マスタ装置１０１＿１およびマスタ装置１０１＿２に共通する内容を説明する場合は、符号末尾の（＿数字）を省略して、マスタ装置１０１と表記する。また、特定のマスタ装置１０１を指す場合は、符号末尾に（＿数字）を付加して、例えばマスタ装置１０１＿１のように表記する。
【００１５】
なお、図１は、マスタ装置１０１＿１とマスタ装置１０１＿２の二台のマスタ装置を有する例を示すが、三台以上のマスタ装置１０１を有してもよい。また、図１は、一台のスレーブ装置１０２の例を示すが、複数台のスレーブ装置１０２が接続されてもよい。
【００１６】
本実施形態に係る時刻同期システム１００は、ＩＥＥＥ１５８８の規格に準拠し、マスタ装置１０１とスレーブ装置１０２との間で時刻同期メッセージおよび回線品質メッセージを送受信して、時刻の同期を図ることができる。
【００１７】
マスタ装置１０１およびスレーブ装置１０２は、時刻同期メッセージの送受信時刻からマスタ装置１０１とスレーブ装置１０２との間の伝送遅延時間Tdや時刻のズレTzなどを算出する。
【００１８】
また、マスタ装置１０１は、スレーブ装置１０２に回線品質メッセージを送信し、マスタ装置１０１の同期が取れているか否かや障害の有無など同期状態に関する情報をスレーブ装置１０２に通知する。しかし、回線品質メッセージに時刻精度に関する詳細な情報を含めることはＩＥＥＥ１５８８に規定されておらず、スレーブ装置１０２は、同期状態におけるマスタ装置１０１の時刻の品質を知ることが難しかった。そこで、本実施形態に係る時刻同期システム１００は、ＩＥＥＥ１５８８の規格とは別に、詳細な時刻の品質を示す情報（時刻品質情報と称す）を回線品質メッセージに含めてマスタ装置１０１からスレーブ装置１０２に送信する。これにより、スレーブ装置１０２は、複数台のマスタ装置のうちから時刻の品質が高いマスタ装置１０１を選択することができ、時刻の精度を向上することができる。なお、時刻品質情報については後で詳しく説明する。
【００１９】
図２は、イーサネット（登録商標）フレーム５００およびＰＴＰメッセージ５０１の一例を示す。図２において、イーサネットフレーム５００は、Ethernet（登録商標） Header５１０、ユーザデータ５１１およびＦＣＳ（Frame Check Sequence）５１２の領域を有する。Ethernet Header５１０は、イーサネットフレーム５００の送信先アドレス、送信元アドレス、パケット長などの情報が格納される領域である。ユーザデータ５１１は、コンテンツなどのユーザデータが格納される領域である。本実施形態では、ユーザデータ５１１の領域にＰＴＰメッセージ５０１が格納される。ＦＣＳ５１２は、イーサネットフレーム５００の誤り検出用の情報が格納される領域である。
【００２０】
図２において、ＰＴＰメッセージ５０１は、例えば３４ＢｙｔｅのPTP_Header５２０の領域と、可変長のBody５２１の領域と、オプション(option)５２２の領域とを有する。PTP Header５２０は、ＰＴＰメッセージ５０１の種類を示す情報が格納される領域である。Body５２１は、時刻情報や品質情報などが格納される領域である。なお、図２の例では、説明を簡略化して、ＰＴＰメッセージ５０１が直接、イーサネットフレーム５００のユーザデータ５１１部分に格納される図を示した。実際には、ＰＴＰメッセージ５０１は、ＩＰ（Internet Protocol）やＵＤＰ（User Datagram Protocol）などのパケットに格納されてからイーサネットフレーム５００に格納されてもよい。
【００２１】
図３は、本実施形態に係る時刻同期システム１００で用いるメッセージの一例を示す。先に説明したように、ＩＥＥＥ１５８８の規格により、時刻同期メッセージおよび回線品質メッセージがマスタ装置１０１とスレーブ装置１０２との間で送受信される。ここで、時刻同期メッセージは、Syncメッセージ、Follow_Upメッセージ、Delay_ReqメッセージおよびDelay_Respメッセージの４つのメッセージを有する。そして、マスタ装置１０１とスレーブ装置１０２は、予め決められた周期でSyncメッセージなどを送受信する。回線品質メッセージは、例えばマスタ装置１０１の同期状態を示す情報を格納するAnnounceメッセージを有し、Syncメッセージとは異なる周期でマスタ装置１０１からスレーブ装置１０２に送信される。本実施形態に係る時刻同期システム１００は、先に説明した時刻品質情報をAnnounceメッセージに格納して、マスタ装置１０１からスレーブ装置１０２に送信する。
【００２２】
図３（ａ）は、Syncメッセージ５０２の一例を示す。Syncメッセージ５０２は、PTP_Header５２０の領域にメッセージの種類を示すMessageType５３０の情報を格納し、Ｂｏｄｙ５２１の領域に時刻情報を示すOriginTimestamp５３１の情報を格納する。ここで、PTP_Header５２０の領域には、MessageType５３０の情報以外にもTransportSpecific、MessageLength、VersionおよびSeaquenceIDなどの情報が格納されるが、本実施形態では詳しい説明を省略する。MessageType５３０については、例えば”０”がSyncメッセージ、”８”がFollow_Upメッセージ、”１”がDelay_Reqメッセージ、”９”がDelay_Respメッセージのようにメッセージの種類を示す符号が予め割り当てられている。OriginTimestamp５３１の領域には、Syncメッセージ５０２を送信するときの送信時刻の情報が格納される。なお、Syncメッセージ５０２の送信は、メッセージが生成された後で送信されるので、メッセージの生成からメッセージを送信するまでの時間を予測した送信時刻の予測値がOriginTimestamp５３１の領域に格納される。そして、マスタ装置１０１は、Syncメッセージに続いて送信するFollow_Upメッセージにより、Syncメッセージの送信時刻の実測値をスレーブ装置１０２に送信する。一方、スレーブ装置１０２は、マスタ装置１０１にDelay_Reqメッセージを送信するときに、Delay_Reqメッセージの送信時刻の予測値をDelay_Reqメッセージに含めてマスタ装置１０１に送信する。このとき、スレーブ装置１０２は、Delay_Reqメッセージの送信時刻の実測値を測定し、マスタ装置１０１は、Delay_Reqメッセージの受信時刻の実測値を測定する。さらに、マスタ装置１０１は、Delay_Reqメッセージの受信時刻の実測値をDelay_Respメッセージに格納してスレーブ装置１０２に送信する。なお、Follow_Upメッセージ、Delay_ReqメッセージおよびDelay_Respメッセージは、図３（ａ）に示したSyncメッセージと同様にPTP Header５２０の領域とBody５２１の領域を有する。Delay_ReqメッセージおよびDelay_Respメッセージにおいても、Syncメッセージと同様にメッセージの種類を示すMessageType５３０や時刻情報が所定の領域に格納される。
【００２３】
図３（ｂ）は、ＩＥＥＥ１５８８の規格に準拠した回線品質メッセージ（Announceメッセージ５０３）の一例を示す。図３（ｂ）において、Announceメッセージ５０３では、MessageType５３０の符号が”Ｂ”である。また、Announceメッセージ５０３は、Syncメッセージ５０２と同様に、送信時刻の情報を格納するOriginTimestamp５３１の領域を有する。さらに、Announceメッセージ５０３は、マスタ装置１０１の情報（同期状態を示す情報）を格納するAnnounce data５３２の領域を有する。ここで、本実施形態に係る時刻同期システム１００では、時刻品質情報や装置情報がAnnounce data５３２の領域に格納される。
【００２４】
図３（ｃ）は、本実施形態で用いるAnnounceメッセージ５０３’の一例を示す。なお、図３（ｂ）のAnnounceメッセージ５０３と同符号の領域は、図３（ｂ）と同一又は同様の領域である。Announceメッセージ５０３’は、Body５２１’のAnnounce data５３２’の領域に時刻品質情報５４１と装置情報５４２とを格納する。時刻品質情報５４１は、先に説明したように、詳細な時刻の品質を示す情報を有する。装置情報５４２は、マスタ装置１０１の識別情報を有し、例えばマスタ装置１０１のシリアル番号やＭＡＣ(Media Access Control)アドレスなど、マスタ装置１０１を特定するための情報が格納される。スレーブ装置１０２は、Announceメッセージ５０３’の装置情報５４２を参照することで、受信するAnnounceメッセージ５０３’がどのマスタ装置１０１から送信されたメッセージであるかを判別することができる。例えば図１において、マスタ装置１０１＿１の装置情報５４２がＩＤ：００１、マスタ装置１０１＿２の装置情報５４２がＩＤ：００２、であるとする。この場合、スレーブ装置１０２は、受信するAnnounceメッセージ５０３’の装置情報５４２がＩＤ：００１の場合、マスタ装置１０１＿１が送信したAnnounceメッセージ５０３’であると判別できる。同様に、スレーブ装置１０２は、受信するAnnounceメッセージ５０３’の装置情報５４２がＩＤ：００２の場合、マスタ装置１０１＿２が送信したAnnounceメッセージ５０３’であると判別できる。
【００２５】
図４は、本実施形態に係るマスタ装置１０１の一例を示す。図４において、マスタ装置１０１は、タイマＡ２０１、タイマＢ２０２、マスタクロック２０３、マスタ制御部２０４、時刻同期メッセージ生成部２０５、回線品質メッセージ生成部２０６、送信処理部２０７、受信処理部２０８およびメモリ２０９とを有する。
【００２６】
タイマＡ２０１は、時刻同期メッセージを送信するために予め設定された周期で起動され、マスタ制御部２０４に時刻同期メッセージを送信するタイミングを通知する。
【００２７】
タイマＢ２０２は、回線品質メッセージを送信するためにタイマＡ２０１とは異なる予め設定された周期で起動され、マスタ制御部２０４に回線品質メッセージを送信するタイミングを通知する。
【００２８】
マスタクロック２０３は、時刻同期システム１００の中でスレーブ装置１０２のクロックよりも精度の高い基準クロックを出力する。
【００２９】
マスタ制御部２０４は、タイマＡ２０１またはタイマＢ２０２により周期的に起動される。例えばマスタ制御部２０４は、タイマＡ２０１により起動された場合に、マスタクロック２０３より取得した時刻情報を時刻同期メッセージ生成部２０５へ通知する。或いは、マスタ制御部２０４は、メッセージの生成を時刻同期メッセージ生成部２０５に指示するときにマスタクロック２０３の時刻を参照し、送信時刻の予測値を算出したり、送信時刻の実測値などを取得する。また、マスタ制御部２０４は、タイマＢ２０２により起動された場合に、マスタ装置１０１の時刻品質情報を回線品質メッセージ生成部２０６へ通知する。或いは、マスタ制御部２０４は、スレーブ装置１０２からメッセージを受信したときにマスタクロック２０３の時刻を参照し、受信時刻を取得する。
【００３０】
ここで、マスタ制御部２０４は、オフセット算出部２５１と、時刻品質情報算出部２５２とを有する。オフセット算出部２５１は、スレーブ装置１０２との間で送受信する時刻同期メッセージに基づいて、マスタ装置１０１とスレーブ装置１０２との間の伝送遅延時間Tdを求める。さらに、オフセット算出部２５１は、伝送遅延時間Tdを用いて、マスタ装置１０１のマスタクロック２０３と、スレーブ装置１０２のマスタクロック３０４との時刻のズレTzを算出する。また、時刻品質情報算出部２５２は、オフセット算出部２５１が算出した伝送遅延時間Tdまたは時刻のズレTzをオフセット値としてメモリ２０９に蓄積して統計的処理を施す。そして、マスタ装置１０１は、統計的処理の結果を時刻品質情報５４１とする。なお、伝送遅延時間Tdまたは時刻のズレTzの求め方については後述する。
【００３１】
時刻同期メッセージ生成部２０５は、Syncメッセージ、Follow_Upメッセージを生成して、送信処理部２０７からスレーブ装置１０２へ各メッセージを送信する。或いは、時刻同期メッセージ生成部２０５は、スレーブ装置１０２から受信するDelay_Reqメッセージに対する応答メッセージ（Delay_Respメッセージ）を生成する。
【００３２】
回線品質メッセージ生成部２０６は、Announceメッセージを生成して、送信処理部２０７へAnnounceメッセージの送信を依頼する。本実施形態では、マスタ制御部２０４の時刻品質情報算出部２５２が算出した時刻品質情報５４１をAnnounceメッセージに格納する。なお、回線品質メッセージ生成部２０６は、メッセージ生成部の一例である。
【００３３】
送信処理部２０７は、時刻同期メッセージ生成部２０５や回線品質メッセージ生成部２０６が生成したメッセージをスレーブ装置１０２に送信する。送信処理部２０７は、例えば時刻同期メッセージ生成部２０５が生成したSyncメッセージ、Follow_UpメッセージおよびDelay_Respメッセージをスレーブ装置１０２に送信する。或いは、送信処理部２０７は、回線品質メッセージ生成部２０６が生成したAnnounceメッセージをスレーブ装置１０２に送信する。
【００３４】
受信処理部２０８は、スレーブ装置１０２が送信するメッセージを受信してマスタ制御部２０４に出力する。受信処理部２０８は、例えばスレーブ装置１０２からDelay_Reqメッセージを受信する。Delay_Reqメッセージは、Syncメッセージの受信時刻の情報やDelay_Reqメッセージの送信時刻の情報を含む。
【００３５】
メモリ２０９は、マスタ装置１０１の動作に必要なパラメータなどを記憶する。本実施形態では、メモリ２０９は、オフセット算出部２５１が算出したオフセット値を蓄積する。
【００３６】
このように、本実施形態に係るマスタ装置１０１は、時刻品質情報５４１を算出して装置情報５４２と共にスレーブ装置１０２に送信する。
【００３７】
図５は、本実施形態に係るスレーブ装置１０２の一例を示す。図５において、スレーブ装置１０２は、受信処理部３０１、送信処理部３０２、スレーブ制御部３０３およびマスタクロック３０４とを有する。
【００３８】
受信処理部３０１は、マスタ装置１０１＿１およびマスタ装置１０１＿２がそれぞれ送信するメッセージを受信してスレーブ制御部３０３に出力する。受信処理部３０１は、例えばSyncメッセージ、Follow_Upメッセージ、Delay_RespメッセージおよびAnnounceメッセージをマスタ装置１０１から受信する。
【００３９】
送信処理部３０２は、スレーブ制御部３０３が生成したメッセージ（例えばDelay_Reqメッセージ）をマスタ装置１０１に送信する。
【００４０】
スレーブ制御部３０３は、スレーブ装置１０２全体の動作を制御する。例えば、スレーブ制御部３０３は、送信処理部３０２および受信処理部３０１を介して、マスタ装置１０１との間で時刻同期メッセージや回線品質メッセージを送受信する。スレーブ装置１０２は、マスタ装置１０１との間で送受信する時刻同期メッセージに基づいて、マスタクロック３０４の時刻設定を行う。また、スレーブ制御部３０３は、マスタ装置１０１＿１およびマスタ装置１０１＿２から受信する回線品質メッセージ（Announceメッセージ）に基づいて、マスタ装置１０１の状態を把握する。ここで、スレーブ装置１０２は、Announceメッセージに含まれるマスタ装置１０１＿１とマスタ装置１０１＿２とのそれぞれの時刻品質情報５４１を比較して、時刻の品質が高い方のマスタ装置１０１を選択する選択部３５１を有する。そして、スレーブ制御部３０３は、選択部３５１が選択したマスタ装置１０１の時刻にマスタクロック３０４を同期させる。
【００４１】
マスタクロック３０４は、マスタ装置１０１の時刻に同期したクロックを出力し、外部に接続される通信装置などに供給する。
【００４２】
このように、本実施形態に係るスレーブ装置１０２は、マスタ装置１０１＿１またはマスタ装置１０１＿２のうち、時刻の品質が高い方のマスタ装置１０１の時刻に同期したクロックを出力することができる。
【００４３】
図６は、本実施形態に係る時刻同期システム１００の処理例を示す。なお、図６では、図１に示したマスタ装置１０１＿１とスレーブ装置１０２との間で送受信されるメッセージを中心に説明するが、マスタ装置１０１＿２についてもマスタ装置１０１＿１と同様の処理を実行する。
【００４４】
図６において、マスタ装置１０１＿１は、SyncメッセージとAnnounceメッセージとを異なる周期で別々に送受信する。例えば、Syncメッセージは、図４に示すタイマＡ２０１の周期で送信され、Announceメッセージは、図４に示すタイマＢ２０２の周期で送信される。
【００４５】
ステップＳ１０１において、マスタ装置１０１＿１は、時刻t1にSyncメッセージをスレーブ装置１０２に送信する。ここで、マスタ装置１０１＿１は、Syncメッセージの送信時刻t1の情報をタイムスタンプとしてSyncメッセージに付加してスレーブ装置１０２に送信する。なお、タイムスタンプの情報は、Syncメッセージの送信前にSyncメッセージに付加されるので、実測値t1を付加することは難しい。このため、Syncメッセージの生成から送信までの処理時間を予測した送信時刻の予測値t1'がSyncメッセージに付加される。一方、スレーブ装置１０２は、Syncメッセージの受信時刻t2を実測し、受信時刻t2を保持する。
【００４６】
ステップＳ１０２において、マスタ装置１０１＿１は、Syncメッセージの送信時刻t1の実測値を含むFollow_Upメッセージを生成してスレーブ装置１０２に送信する。そして、スレーブ装置１０２は、Syncメッセージの実際の送信時刻t1を取得する。
【００４７】
ステップＳ１０３において、スレーブ装置１０２は、時刻t3にDelay_Reqメッセージをマスタ装置１０１＿１に送信する。ここで、スレーブ装置１０２は、Delay_Reqメッセージの送信時刻t3を保持する。そして、マスタ装置１０１＿１は、Delay_Reqメッセージを受信した時刻t4を実測する。ここで、スレーブ装置１０２は、Syncメッセージと同様に、Delay_Reqメッセージの送信時刻t3の予測値t3'の情報をタイムスタンプとしてDelay_Reqメッセージに付加する。さらに、スレーブ装置１０２は、Delay_ReqメッセージにSyncメッセージの受信時刻の実測値t2の情報を付加してマスタ装置１０１＿１に送信する。これにより、マスタ装置１０１＿１は、Syncメッセージの受信時刻の実測値t2と、Delay_Reqメッセージの送信時刻の予測値t3'とを取得する。なお、ＩＥＥＥ１５８８の規格では、Delay_Reqメッセージはt3の予測値t3'をタイムスタンプとして格納することが定められているが、Syncメッセージの受信時刻t2の情報をDelay_Reqメッセージに格納することは定められていない。本実施形態では、マスタ装置１０１＿１がSyncメッセージの伝送遅延時間を求めるために、Delay_ReqメッセージによりSyncメッセージの受信時刻t2の情報を送信する。
【００４８】
ステップＳ１０４において、マスタ装置１０１＿１は、Delay_Reqメッセージの受信時刻t4の実測値を含むDelay_Respメッセージを生成してスレーブ装置１０２に送信する。そして、スレーブ装置１０２は、Delay_Reqメッセージの受信時刻の実測値t4を取得する。
【００４９】
このようにして、スレーブ装置１０２は、Syncメッセージの送信時刻の実測値t1、Syncメッセージの受信時刻の実測値t2、Delay_Reqメッセージの送信時刻の実測値t3、Delay_Reqメッセージの受信時刻の実測値t4を取得できる。一方、マスタ装置１０１は、Syncメッセージの送信時刻の実測値t1、Syncメッセージの受信時刻の実測値t2、Delay_Reqメッセージの送信時刻の予測値t3'、Delay_Reqメッセージの受信時刻の実測値t4を取得できる。
【００５０】
次に、マスタ装置１０１は、取得した時刻情報を用いて、マスタ装置１０１とスレーブ装置１０２との間のオフセット値を算出する。
【００５１】
ステップＳ１０５において、マスタ装置１０１＿１は、ステップＳ１０１からステップＳ１０４までの処理で取得した時刻情報に基づいて、オフセット値を求める。ここで、本実施形態では、伝送遅延時間Tdをオフセット値として説明するが、マスタ装置１０１のマスタクロック２０３とスレーブ装置１０２のマスタクロック３０４との時刻のズレTzをオフセット値としてもよい。そして、マスタ装置１０１＿１は、算出したオフセット値をメモリ２０９に蓄積する。なお、オフセット値の求め方については後述する。
【００５２】
ステップＳ１０６において、マスタ装置１０１＿１は、ステップＳ１０１からステップＳ１０５までの処理を実行する毎に算出され、メモリ２０９に蓄積されたオフセット値を統計処理する。本実施形態におけるマスタ装置１０１は、例えば、予め決められた期間におけるオフセット値の最小値と最大値との差分を最大位相差TPmとして求める統計処理を行う。或いは、マスタ装置１０１は、予め決められた期間におけるオフセット値の最大値を求める統計処理を行ってもよい。また、マスタ装置１０１は、予め決められた期間におけるオフセット値の平均値を求める統計処理を行ってもよい。
【００５３】
ステップＳ１０７において、マスタ装置１０１＿１は、ステップＳ１０６で求めた統計処理の結果をスレーブ装置１０２に送信する。
【００５４】
以上説明したように、マスタ装置１０１＿１は、スレーブ装置１０２との間で、ステップＳ１０１からステップＳ１０７までの処理を実行する。一方、マスタ装置１０１＿２についても、マスタ装置１０１＿１のステップＳ１０１からステップＳ１０５までと同様の処理を実行してオフセット値を求め、メモリ２０９に蓄積する。
【００５５】
ステップＳ１０６ａにおいて、マスタ装置１０１＿２は、マスタ装置１０１＿１と同様に、マスタ装置１０１＿２のメモリ２０９に蓄積されたオフセット値を統計処理する。
【００５６】
ステップＳ１０７ａにおいて、マスタ装置１０１＿２は、ステップＳ１０６で求めた統計処理の結果をAnnounceメッセージに格納してスレーブ装置１０２に送信する。
【００５７】
ステップＳ１０８において、スレーブ装置１０２は、マスタ装置１０１＿１から送信される統計処理結果と、マスタ装置１０１＿２から送信される統計処理結果とを比較して、時刻の品質が高い方のマスタ装置１０１を選択する。
【００５８】
ステップＳ１０９において、スレーブ装置１０２は、マスタクロック３０４の時刻をステップＳ１０８で選択したマスタ装置１０１の時刻に同期させる処理を行う。
【００５９】
このようにして、本実施形態に係るマスタ装置１０１は、Announceメッセージにより時刻品質情報５４１をスレーブ装置１０２に送信して、時刻の品質が高い方のマスタ装置１０１を選択する。そして、スレーブ装置１０２は、時刻の品質が高い方のマスタ装置１０１の時刻に同期させるので、時刻の精度を向上することができる。
［マスタ装置１０１におけるオフセット値の算出例］
次に、マスタ装置１０１におけるオフセット値の算出例について説明する。マスタ装置１０１のオフセット算出部２５１は、マスタ装置１０１とスレーブ装置１０２との間で送受信される時刻同期メッセージの送信時刻と受信時刻とに基づいて、マスタ装置１０１とスレーブ装置１０２との間の伝送遅延時間Tdを算出する。
【００６０】
ここで、マスタ装置１０１とスレーブ装置１０２との間には時刻のズレTzがあるので、時刻のズレTzを除去した伝送遅延時間Tdを求めるために、先ず、マスタ装置１０１からスレーブ装置１０２へメッセージを送信する場合の伝送遅延時間Td1を求める。伝送遅延時間Td1は、例えばSyncメッセージの場合、マスタ装置１０１の送信時刻t1とスレーブ装置１０２の受信時刻t2との差分に相当し、（式１）により求めることができる。
伝送遅延時間Td1 ＝ 受信時刻t2 − 送信時刻t1    …（式１）
なお、送信時刻t1は、マスタ装置１０１のマスタクロック２０３で計測され、受信時刻t2は、スレーブ装置１０２のマスタクロック３０４で計測されるので、伝送遅延時間Td1は、マスタクロック２０３とマスタクロック３０４との時刻のズレTzを含む。そこで、オフセット算出部２５１は、例えばSyncメッセージと逆方向のスレーブ装置１０２からマスタ装置１０１へ送信されるDelay_Reqメッセージにより伝送遅延時間Td2を求める。伝送遅延時間Td2は、例えばDelay_Reqメッセージの場合、スレーブ装置１０２の送信時刻t3'とマスタ装置１０１の受信時刻t4との差分に相当し、（式２）により求めることができる。
伝送遅延時間Td2 ＝ 受信時刻t4 − 送信時刻t3'    …（式２）
なお、送信時刻t3'は、スレーブ装置１０２のマスタクロック３０４を基準にしてDelay_Reqメッセージの送信時刻を予測した予測値である。一方、受信時刻t4は、マスタ装置１０１のマスタクロック２０３を基準にして計測される実測値であるので、伝送遅延時間Td2は、マスタクロック２０３とマスタクロック３０４との時刻のズレTzを含む。
【００６１】
ここで、伝送遅延時間Td1に含まれる時刻のズレTzと、伝送遅延時間Td2に含まれる時刻のズレTzとは、負号が逆である。従って、時刻のズレTzにばらつきが無い場合、伝送遅延時間Td1と伝送遅延時間Td2との平均値を求めることにより、マスタクロック２０３とマスタクロック３０４との時刻のズレTzが相殺された伝送遅延時間Tdを求めることができる。
伝送遅延時間Td ＝ (伝送遅延時間Td1 ＋ 伝送遅延時間Td2) ／ ２    …（式３）
このようにして、マスタ装置１０１は、伝送遅延時間Tdをオフセット値として求めることができる。なお、本実施形態では、オフセット値として伝送遅延時間Tdを用いる例を説明したが、マスタクロック２０３とマスタクロック３０４との間の時刻のズレTzをオフセット値として求めてもよい。
［スレーブ装置１０２における時刻調整例］
次に、ステップＳ１０９において、スレーブ装置１０２がマスタクロック３０４の時刻をステップＳ１０８で選択したマスタ装置１０１の時刻に同期させる処理について詳しく説明する。スレーブ装置１０２は、ステップＳ１０４までの処理により、Syncメッセージの送信時刻の実測値t1および受信時刻の実測値t2と、Delay_Reqメッセージの送信時刻の実測値t3および受信時刻の実測値t4とを取得している。従って、スレーブ装置１０２は、マスタ装置１０１で説明した（式１）と同様に、Syncメッセージの伝送遅延時間Td1を求めることができる。また、スレーブ装置１０２は、マスタ装置１０１で説明した（式２）と同様に、Delay_Reqメッセージの伝送遅延時間Td2を求めることができる。但し、スレーブ装置１０２は、Delay_Reqメッセージの送信時刻の実測値t3を取得できるので、マスタ装置１０１の（式２）において、予測値t3'の代わりに実測値t3を用いて、伝送遅延時間Td2を算出する。ここで、伝送遅延時間Td1および伝送遅延時間Td2は、マスタクロック２０３とマスタクロック３０４との時刻のズレTzを含むので、マスタ装置１０１の（式３）により、時刻のズレTzが相殺された伝送遅延時間Tdを求めることができる。
【００６２】
ここで、マスタクロック２０３とマスタクロック３０４との間の時刻のズレTzの算出例について説明する。時刻のズレTzは、例えばSyncメッセージを利用する場合、Syncメッセージの送信時刻t1と受信時刻t2と伝送遅延時間Tdとを用いて求めることができる。マスタクロック２０３とマスタクロック３０４との時刻のズレTzが零の場合、（式４）の関係が成立する。
受信時刻t2 ＝ 送信時刻t1 ＋ 伝送遅延時間Td    …（式４）
しかし、マスタクロック２０３とマスタクロック３０４との時刻のズレTzが零ではない場合、Syncメッセージの送信時刻t1に伝送遅延時間Tdを加算して求めた受信時刻t2aは、実測値の受信時刻t2と一致しない。例えば、マスタクロック２０３とマスタクロック３０４との時刻のズレTzが0秒で伝送遅延時間Tdが2秒の場合、送信時刻t1と受信時刻t2との時間差は2秒である。ところが、マスタクロック２０３がマスタクロック３０４よりも1秒進んでいる場合、且つ伝送遅延時間Tdが2秒の場合、Syncメッセージの送信時刻t1と受信時刻t2との時間差は3秒となる。逆に、マスタクロック２０３がマスタクロック３０４よりも1秒遅れている場合、且つ伝送遅延時間Tdが2秒の場合、Syncメッセージの送信時刻t1と受信時刻t2との時間差は1秒となる。
【００６３】
つまり、マスタクロック２０３とマスタクロック３０４との時刻のズレTzは、例えば（式５）により求めることができる。なお、（式５）では、受信時刻により時刻のズレTzを算出する例を示したが、送信時刻を用いてもよい。
時刻のズレTz ＝ 受信時刻t2 − 受信時刻t2a    …（式５）
ここで、時刻のズレTzが負の場合は、マスタクロック２０３よりもマスタクロック３０４の方が進んでおり、時刻のズレTzが正の場合は、マスタクロック２０３よりもマスタクロック３０４の方が遅れている。
【００６４】
このようにして、スレーブ装置１０２は、ステップＳ１０８で選択したマスタ装置１０１に対する時刻のズレTzを求めることができる。そして、スレーブ装置１０２は、時刻のズレTzだけ自装置のマスタクロック３０４の時刻を調整する。
【００６５】
このようにして、本実施形態に係る時刻同期システム１００では、Announceメッセージにより時刻品質情報５４１をマスタ装置１０１がスレーブ装置１０２に送信する。そして、スレーブ装置１０２は、時刻の品質が高い方のマスタ装置１０１を選択し、当該マスタ装置１０１の時刻にスレーブ装置１０２の時刻を同期させることができる。
［オフセット値の統計処理の一例］
図７は、オフセット値の統計処理の一例を示す。図７において、横軸は時間ｔを示し、縦軸はオフセット値を示す。図７（ａ）は、時刻T1から時刻T13までの各時刻におけるオフセット値を黒丸印で示してある。例えば時刻T1から時刻T13までの間で算出されるオフセット値の最小値は、時刻T6のオフセット値である。同様に、時刻T1から時刻T13までの間で算出されるオフセット値の最大値は、時刻T10のオフセット値である。そして、最小のオフセット値と最大のオフセット値との差分を最大位相差TPmとして定義する。図７（ａ）の例では、オフセット値の最小値は時刻T6のオフセット値Of6であり、オフセット値の最大値は時刻T10のオフセット値Of10である。この場合の最大位相差TPmは(Of10−Of6)により算出される。ここで、最大位相差TPmは、例えば0から500nsec程度であり、オフセット値を演算する周期は、例えば62.5msec程度である。
【００６６】
図７（ｂ）は、図７（ａ）と同様に、時刻T1から時刻T13までの各時刻におけるオフセット値を黒丸印で示してある。図７（ａ）の例では、例えば時刻T1から時刻T13までの間で算出されるオフセット値の最小値および最大値を求めたが、図７（ｂ）は、予め設定された期間においてオフセット値の最小値および最大値を求める例を示している。例えば図７（ｂ）において、時刻T1から時刻T7までの期間のオフセット値の最小値および最大値を求め、最大位相差TP1を算出する。時刻T1から時刻T7までの期間において、時刻T6のオフセット値Of6が最小値で、時刻T7のオフセット値Of7が最大値であり、最大位相差TP1は(Of7-Of6)により算出できる。同様に、次の時刻T2から時刻T8までの期間において、時刻T6のオフセット値Of6が最小値で、時刻T7のオフセット値Of7が最大値であり、最大位相差TP2は、(Of7-Of6)により算出できる。このようにして、マスタ装置１０１は、オフセット値が求まる毎に、時刻をシフトしながら、各時刻における最大位相差を算出して、スレーブ装置１０２に通知することができる。これにより、図６で説明したように、スレーブ装置１０２は、複数のマスタ装置１０１から受信するAnnounceメッセージにより通知される最大位相差を比較して、最大位相差が最小のマスタ装置１０１を選択することができる。このようにして、本実施形態に係る時刻同期システム１００は、Announceメッセージにより、時刻品質情報５４１を送信しない場合に比べて、精度の高い時刻同期を図ることができる。
【００６７】
ここで、上記の説明では、オフセット値の最小値および最大値から求めた最大位相差を時刻品質情報５４１としたが、時刻品質情報５４１は、予め設定された期間におけるオフセット値の最大値であってもよい。或いは、時刻品質情報５４１は、予め設定された期間におけるオフセット値の平均値であってもよい。さらに、時刻品質情報５４１は、予め設定された閾値以上のオフセット値の頻度であってもよい。また、時刻品質情報５４１は、最大位相差、最大値、平均値および頻度などの複数の情報の組み合わせであってもよい。いずれの場合であっても、スレーブ装置１０２は、マスタ装置１０１から送信される時刻品質情報５４１を比較して、時刻の品質が良い方のマスタ装置１０１を選択し、選択したマスタ装置１０１のマスタクロック２０３に自装置のマスタクロック３０４を同期させる。
【００６８】
このようにして、本実施形態に係る時刻同期システム１００は、複数のマスタ装置１０１から送信される回線品質メッセージに時刻品質情報５４１を格納してスレーブ装置１０２に送信する。そして、スレーブ装置１０２は、複数のマスタ装置１０１から受信する複数の時刻品質情報５４１のうち、時刻の品質が最も高いマスタ装置１０１を選択することにより、時刻同期の精度を向上することができる。
【００６９】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【００７０】
１００・・・時刻同期システム；１０１・・・マスタ装置；１０２・・・スレーブ装置；２０１・・・タイマＡ；２０２・・・タイマＢ；２０３・・・マスタクロック；２０４・・・マスタ制御部；２０５・・・時刻同期メッセージ生成部；２０６・・・回線品質メッセージ生成部；２０７・・・送信処理部；２０８・・・受信処理部；２５１・・・オフセット算出部；２５２・・・時刻品質情報算出部；３０１・・・受信処理部；３０２・・・送信処理部；３０３・・・スレーブ制御部；３０４・・・マスタクロック；３５１・・・選択部
【図１】
2016139846.tif 000003
【図２】
2016139846.tif 000004
【図３】
2016139846.tif 000005
【図４】
2016139846.tif 000006
【図５】
2016139846.tif 000007
【図６】
2016139846.tif 000008
【図７】
2016139846.tif 000009