(57)【特許請求の範囲】
【請求項１】
時刻マスタと時刻スレーブと管理ノードとが複数のネットワークを介して接続された時刻同期システムであって、
前記時刻マスタは、所定のタイミングで時刻パケットを少なくとも一つのネットワークを介して前記時刻スレーブに送信し、
前記時刻スレーブは、
しきい値が前記複数のネットワークごとに登録されたしきい値情報を格納しており、
前記時刻マスタから送信された時刻パケットを前記ネットワークを介して受信し、前記しきい値情報を参照し、前記受信した時刻パケットに基づいて時刻の補正を実行するか否かを判定する時刻補正実行可否判定部と、
前記時刻補正実行可否判定部が前記時刻の補正を実行すると判定した場合、前記受信した時刻パケットに基づいて時刻を補正する時刻補正部と、を有し、
前記管理ノードは、
前記時刻パケットを送信するネットワークを他のネットワークに切り替えるか否かを判定するネットワーク切替判定部と、
前記時刻パケットを送信するネットワークを切り替えると判定した場合、当該切り替え先のネットワークを特定可能な情報を前記時刻スレーブに通知するネットワーク切替通知部と、を有することを特徴とする時刻同期システム。
【請求項２】
請求項１に記載の時刻同期システムであって、
前記管理ノードは、前記時刻スレーブに格納されたしきい値を変更するか否かを判定するしきい値変更判定部を備え、
前記時刻スレーブは、前記ネットワークを介して受信した時刻パケットに関連した値であって、前記しきい値変更判定部による判定に用いられる動作値を格納し、
前記しきい値変更判定部は、前記動作値を取得し、前記取得した動作値に基づいて、前記しきい値を変更するか否かを判定することを特徴とする時刻同期システム。
【請求項３】
請求項２に記載の時刻同期システムであって、
前記時刻スレーブは、
前記動作値が所定の条件に適合するか否かを判定し、
前記動作値が所定の条件に適合すると判定された場合、その旨を前記しきい値変更判定部に通知し、
前記しきい値変更判定部は、前記動作値が所定の条件に適合する旨が通知された場合、前記動作値を取得し、前記取得した動作値に基づいて、前記しきい値を変更するか否かを判定することを特徴とする時刻同期システム。
【請求項４】
請求項２又は請求項３に記載の時刻同期システムであって、
前記時刻スレーブは、前記受信した時刻パケットのネットワーク遅延に関する値を算出する遅延算出部を有し、
前記遅延算出部によって算出された前記時刻パケットのネットワーク遅延に関する値を前記動作値として格納することを特徴とする時刻同期システム。
【請求項５】
請求項２又は請求項３に記載の時刻同期システムであって、
前記時刻スレーブは、前記時刻補正実行可否判定部が時刻の補正を実行しないと判定した回数を前記動作値として格納することを特徴とする時刻同期システム。
【請求項６】
請求項１から請求項５のいずれか一つに記載の時刻同期システムであって、
前記時刻スレーブは、前記受信した時刻パケットのネットワーク遅延に関する値を算出する遅延算出部を有し、
前記時刻補正実行可否判定部は、
前記しきい値情報から、前記時刻パケットを受信したネットワークに対応するしきい値を読み出し、
前記遅延算出部によって算出されたネットワーク遅延に関する値と前記読み出されたしきい値とに基づいて、前記時刻の補正を実行するか否かを判定することを特徴とする時刻同期システム。
【請求項７】
請求項６に記載の時刻同期システムであって、
前記しきい値情報は、前記複数のネットワークのうち、前記時刻マスタによって前記時刻パケットが送信されるネットワークを特定可能な情報を含み、
前記時刻スレーブは、前記切り替え先のネットワークを特定可能な情報が通知された場合、前記切り替え先のネットワークが、前記時刻マスタによって前記時刻パケットが送信されるネットワークとなるように前記しきい値情報を更新することを特徴とする時刻同期システム。
【請求項８】
請求項６又は請求項７に記載の時刻同期システムであって、
前記時刻マスタが前記時刻パケットを送信可能なネットワークは複数あって、
前記時刻補正実行可否判定部は、
前記遅延算出部によって算出されたネットワーク遅延に関する値が前記読み出されたしきい値以内である場合、前記遅延算出部によって算出されたネットワーク遅延に関する値が、前記時刻マスタが前記時刻パケットを送信可能なネットワークの中で最小値であるか否かを判定し、
前記遅延算出部によって算出されたネットワーク遅延に関する値が、前記時刻マスタが前記時刻パケットを送信可能なネットワークの中で最小値であると判定された場合、前記時刻の補正を実行すると判定することを特徴とする時刻同期システム。
【請求項９】
請求項１から請求項８のいずれか一つに記載の時刻同期システムであって、
前記時刻スレーブと前記複数のネットワークとの間に、前記複数のネットワークから前記時刻スレーブへと前記時刻パケットを中継する中継装置を備え、
前記中継装置は、前記複数のネットワークから前記時刻パケットを受信する時刻パケット受信部を前記複数のネットワークごとに有し、前記時刻スレーブに前記受信した時刻パケットを送信する時刻パケット送信部を有し、
前記複数のパケット受信部は、前記時刻パケットを受信した場合、自身の識別子を前記時刻パケットに含め、
前記時刻パケット送信部は、前記パケット受信部の識別子を含む時刻パケットを前記時刻スレーブに送信することを特徴とする時刻同期システム。
【請求項１０】
時刻マスタと時刻スレーブとが複数のネットワークを介して接続される時刻同期システムにおいて、前記複数のネットワークを管理する管理ノードであって、
前記時刻スレーブは、所定のタイミングで前記時刻マスタから送信された時刻パケットを、前記時刻パケットが送信されたネットワークを介して受信し、前記受信した時刻パケットに基づいて時刻を補正し、
前記管理ノードは、
前記時刻パケットを送信するネットワークを他のネットワークに切り替えるか否かを判定するネットワーク切替判定部と、
前記時刻パケットを送信するネットワークを切り替えると判定した場合、当該切り替え先のネットワークを特定可能な情報を前記時刻スレーブに通知するネットワーク切替通知部と、
前記時刻スレーブが時刻の補正を実行するか否かの判定に用いるしきい値を変更するか否かを判定するしきい値変更判定部と、を備え、
前記しきい値変更判定部は、
前記ネットワークを介して前記時刻スレーブが受信した時刻パケットに関連した値であって、前記しきい値変更判定部による判定に用いられる動作値を前記時刻スレーブから取得し、
前記取得した動作値に基づいて、前記しきい値を変更するか否かを判定することを特徴とする管理ノード。
【請求項１１】
請求項１０に記載の管理ノードであって、
前記しきい値変更判定部が取得する動作値は、前記時刻スレーブが受信した時刻パケットのネットワーク遅延に関する値であることを特徴とする管理ノード。
【請求項１２】
請求項１０に記載の管理ノードであって、
前記しきい値変更判定部が取得する動作値は 、前記時刻スレーブが時刻の補正を実行しないと判定した回数であることを特徴とする管理ノード。
【請求項１３】
時刻マスタと時刻スレーブと管理ノードとが複数のネットワークを介して接続された時刻同期システムにおける時刻同期方法であって、
前記時刻スレーブは、しきい値が前記複数のネットワークごとに登録されたしきい値情報を格納しており、
前記時刻マスタが、所定のタイミングで時刻パケットを少なくとも一つのネットワークを介して前記時刻スレーブに送信するステップと、
前記時刻スレーブが、前記時刻マスタから送信された時刻パケットを前記ネットワークを介して受信し、前記しきい値情報を参照し、前記受信した時刻パケットに基づいて時刻の補正を実行するか否かを判定する時刻補正実行可否判定ステップと、
前記時刻補正実行可否判定ステップで前記時刻の補正を実行すると判定された場合、前記受信した時刻パケットに基づいて時刻を補正する時刻補正ステップと、
前記管理ノードが、前記時刻パケットを送信するネットワークを他のネットワークに切り替えるか否かを判定するネットワーク切替判定ステップと、
前記ネットワーク切替判定ステップで前記時刻パケットを送信するネットワークを切り替えると判定した場合、前記管理ノードが当該切り替え先のネットワークを特定可能な情報を前記時刻スレーブに通知するネットワーク切替通知ステップと、を含むことを特徴とする時刻同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時刻マスタと時刻スレーブとを備える時刻同期システムに関し、特に、時刻スレーブが時刻マスタから送信される時刻パケットに基づいて自身が管理する時刻を補正する時刻同期システムに関する。
【背景技術】
【０００２】
情報通信ネットワークの広域化及び高速化等に伴って、情報通信ネットワークの適用分野は拡大している。従来、地理的に限定された情報通信ネットワークを利用したシステムが構築されてきたが、現在では、地理的に限定されない広域に渡る情報通信ネットワークを利用した大規模なシステムが考えられている。このようなシステムの例として、スマートグリッド等のエネルギーマネージメントシステムが知られている。
【０００３】
広域に渡る情報通信ネットワークを利用した大規模なシステムにおいては、ネットワークの信頼性を高めるという要求がある。ネットワークの信頼性を高めるために、時刻マスタが時刻パケットをネットワークを介して送信することによって時刻スレーブが管理する時刻と時刻マスタが管理する時刻とを高精度に同期する技術が考えられている。
【０００４】
例えば、マイクロ秒単位で時刻を同期する技術として、IEEE1588v2がある。図１９は、IEEE1588v2の基本原理の説明図である。IEEE1588v2における時刻同期システムは、時刻パケットを送信する時刻マスタと、時刻マスタにネットワークを介して接続され、時刻パケットを受信する時刻スレーブと、を備える。また、時刻パケットが通信されるネットワークは、トランスペアレントクロック機能を備えるスイッチによって構成される。トランスペアレントクロック機能は、スイッチ内でパケットを送信するためにかかった時間を当該パケットに含めてパケットを中継する機能である。
【０００５】
図２０は、基本となるIEEE1588の時刻同期アルゴリズムによる通信シーケンスを表すシーケンス図である。時刻マスタと時刻スレーブとが双方向で通信し、時刻スレーブの時刻を時刻マスタの時刻に同期させる。
【０００６】
時刻マスタは、時刻スレーブに対して、定期的にSyncメッセージを送信する。時刻マスタは、このSyncメッセージの送信時刻（以下、「Sync送信時刻」という。）T1を記録する。次に、時刻マスタは、時刻スレーブに対して、Follow_upメッセージを送信する。このとき、時刻マスタは、Follow_upメッセージの中に、Sync送信時刻T1を格納する。
【０００７】
時刻スレーブは、Syncメッセージを受信すると、この受信処理をトリガとしてSyncメッセージの受信時刻（以下、「Sync受信時刻」という。）T2を記録する。次に、時刻スレーブはFollow_upメッセージを受信し、Follow_upメッセージ中に格納されるSync送信時刻T1を抽出し記録する。次に、時刻スレーブは、時刻マスタに対して、Delay_Requestメッセージを送信する。そして、時刻スレーブは、このDelay_Requestメッセージの送信時刻（以下、「Delay送信時刻」という。）T3を記録する。
【０００８】
時刻マスタは、Delay_Requestメッセージを受信すると、この受信処理をトリガとしてDelay_Requestメッセージの受信時刻（以下、「Delay受信時刻」という。）T4を記録する。次に、時刻マスタは、時刻スレーブに対してDelay_Responseメッセージを送信する。このとき、時刻マスタは、Delay_Responseメッセージの中に、Delay受信時刻T4を格納する。
【０００９】
時刻スレーブは、Delay_Responseメッセージを受信すると、Delay_Responseメッセージ中に格納されるDelay受信時刻T4を抽出し記録する。時刻スレーブは、Sync送信時刻T1、Sync受信時刻T2に基づいて、以下の式１から、時刻マスタにおける時刻（以下、「マスタ時刻」という。）と時刻スレーブにおける時刻（以下、「スレーブ時刻」という。）との差分MS_Diffを算出する。
MS_Diff =T2-T1 ・・・式１
また、時刻スレーブは、Delay送信時刻T3、Delay受信時刻T4に基づいて、以下の式２から、スレーブ時刻とマスタ時刻との差分を求める。
SM_Diff =T4-T3 ・・・式２
次に、MS_DiffとSM_Diffを用いて、以下の式３から、時刻マスタと時刻スレーブ間の一方向の遅延Delayを求める。
Delay =(MS_Diff+SM_Diff)/2 ・・・式３
次に、以下の式４から、時刻マスタに対する時刻スレーブの時刻オフセットOffsetを求め、スレーブ時刻の修正を行う。
Offset =MS_Diff-Delay =((T2-T1)-(T4-T3))/2 ・・・式４
なお、前述した計算方法は、ネットワークの伝送遅延時間が一定であることを仮定している。
【００１０】
一方で、時刻マスタと時刻スレーブとの間の伝搬遅延の変動及びネットワーク上の中継ノードで生じるキューイング遅延の変動があった場合に、より高い同期精度を得るには、より正確なネットワークの伝送遅延時間を計測することが必要となるため、図２１に示すように、時刻同期ネットワークを構築するスイッチはトランスペアレントクロック機能を有する。図２１は、IEEE1588v2によるトランスペアレントクロック機能を有するスイッチを含むシステムの時刻同期アルゴリズムによる通信シーケンスを表すシーケンス図である。トランスペアレントクロック機能を有するスイッチは、自身で生じた遅延時間T5-T4、T7-T6、T9-T8、及びT11-T10を時刻パケットに含めて転送する。この場合、時刻スレーブは、スイッチで生じた遅延時間を考慮して時刻を補正できる。
【００１１】
このような時刻同期ネットワークを構築する場合、ネットワークを構築するすべてのスイッチがトランスペアレントクロック機能を有する必要がある。一方、既にネットワークに配置されているスイッチは、トランスペアレントクロック機能を持たないものが大部分を占めている。そのため、スイッチの置き換えや機能追加が必要となり、時刻同期ネットワークの構築コストや手間が増大する。このような問題の解決を目的として、通信ノードがそれ自身の遅延量を簡便な方法で計測し、時刻を補正する方式が知られている（例えば、特許文献１参照）。
【００１２】
さらに、時刻同期ネットワークを構築するスイッチが特別な手段を有さずとも、時刻スレーブでネットワークのジッタを計測し、予め設定したジッタの許容値範囲外のときには時刻を補正しないようにして、時刻同期精度を高める方式が知られている（例えば、特許文献２参照）。
【００１３】
また、特許文献２には、時刻スレーブで計測したネットワークのジッタを統計処理することによって、ジッタが大きく変化した場合に、時刻同期に用いるネットワーク経路が切り替わったことを検出することが開示されている。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２０１１−１３５４８２号公報
【特許文献２】特開２００９−０７７２０７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
特許文献２に開示された方式では、時刻スレーブはネットワーク経路が切り替わったことを検出するまでに複数回分の時刻パケットを受信する必要があり、ネットワーク経路が切り替わった直後に当該切替を検出することができず、その間の時刻同期精度が悪化するという課題が存在する。
【００１６】
また、特許文献２に開示された方式では、切替後のネットワーク経路と切替前のネットワーク経路とでジッタが大きく変化しない場合、ネットワーク経路の切替を検出できないという課題が存在する。
【００１７】
本発明は、複数のネットワークを用いた時刻同期システムにおいて、時刻スレーブがネットワークの切替を検出する時間を最小にすることによって、ネットワークの切替直後であっても適切な時刻補正を実行する時刻同期システムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明の代表的な一例を示せば、時刻マスタと時刻スレーブと管理ノードとが複数のネットワークを介して接続された時刻同期システムであって、前記時刻マスタは、所定のタイミングで時刻パケットを少なくとも一つのネットワークを介して前記時刻スレーブに送信し、前記時刻スレーブは、しきい値が前記複数のネットワークごとに登録されたしきい値情報を格納しており、前記時刻マスタから送信された時刻パケットを前記ネットワークを介して受信し、前記しきい値情報を参照し、前記受信した時刻パケットに基づいて時刻の補正を実行するか否かを判定する時刻補正実行可否判定部と、前記時刻補正実行可否判定部が前記時刻の補正を実行すると判定した場合、前記受信した時刻パケットに基づいて時刻を補正する時刻補正部と、を有し、前記管理ノードは、前記時刻パケットを送信するネットワークを他のネットワークに切り替えるか否かを判定するネットワーク切替判定部と、前記時刻パケットを送信するネットワークを切り替えると判定した場合、当該切り替え先のネットワークを特定可能な情報を前記時刻スレーブに通知するネットワーク切替通知部と、を有することを特徴とする。
【発明の効果】
【００１９】
本願において開示される発明のうち代表的なものによって得られる効果を簡潔に説明すれば、下記の通りである。すなわち、複数のネットワークを用いた時刻同期システムにおいて、時刻スレーブがネットワークの切替を検出する時間を最小にすることによって、ネットワークの切替直後であっても適切な時刻補正を実行する時刻同期システムを提供できる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１実施形態の時刻同期システムの構成の説明図である。
【図２】本発明の第１実施形態の時刻スレーブの構成の説明図である。
【図３】本発明の第１実施形態の時刻補正部の構成の説明図である。
【図４】本発明の第１実施形態のしきい値テーブルの説明図である。
【図５】本発明の第１実施形態のしきい値テーブルの変形例の説明図である。
【図６】本発明の第１実施形態の動作値テーブルの説明図である。
【図７】本発明の第１実施形態の時刻補正部によって実行される時刻補正処理のフローチャートである。
【図８】本発明の第１実施形態の管理ノードによる使用ネットワーク切替指示を時刻スレーブ１３に通知するシーケンス図である。
【図９】本発明の第１実施形態の管理ノードによる動作値テーブルの読出処理及びしきい値テーブルの書換処理のシーケンス図である。
【図１０】本発明の第１実施形態のしきい値変更判定処理のフローチャートである。
【図１１】本発明の第１実施形態の管理ノードの構成の説明図である。
【図１２】本発明の第１実施形態の時刻補正部のテーブル制御部によるしきい値テーブル６１１の事前設定処理のフローチャートである。
【図１３】本発明の第１実施形態の時刻補正部のテーブル制御部によるしきい値テーブル６１１の使用状態書換処理のフローチャートである。
【図１４】本発明の第２実施形態の時刻補正部の構成の説明図である。
【図１５】本発明の第２実施形態の時刻補正部によって実行される時刻補正処理のフローチャートである。
【図１６】本発明の第３実施形態の時刻同期システムの構成の説明図である。
【図１７】本発明の第３実施形態の中継装置の構成の説明図である。
【図１８】本発明の第３実施形態の時刻補正部の構成の説明図である。
【図１９】IEEE1588v2の基本原理の説明図である。
【図２０】基本となるIEEE1588の時刻同期アルゴリズムによる通信シーケンスを表すシーケンス図である。
【図２１】IEEE1588v2によるトランスペアレントクロック機能を有するスイッチを含むシステムの時刻同期アルゴリズムによる通信シーケンスを表すシーケンス図である。
【発明を実施するための形態】
【００２１】
（第１実施形態）
以下、本発明の第１実施形態を図１〜図１３を用いて説明する。
【００２２】
本実施形態の時刻同期システムは、複数の拠点間を結ぶ広域のネットワーク網を利用した時刻同期システムであり、時刻マスタが時刻パケットを送信するネットワークが切り替わった場合、管理ノードがネットワークの切替通知を時刻スレーブに送信する。これによって、時刻スレーブはネットワークが切り替わった旨をいち早く検出することができる。
【００２３】
図１は、本発明の第１実施形態の時刻同期システムの構成の説明図である。
【００２４】
時刻同期システムでは、時刻マスタ１０が配置される制御拠点４００と、時刻スレーブ１３が配置される拠点４０６〜４０８とが、広域ネットワーク４０５Ａ及び４０５Ｂ（以下、広域ネットワーク４０５Ａ及び４０５Ｂを総称して広域ネットワーク４０５という）によって接続される。
【００２５】
制御拠点４００には、時刻マスタ１０、アプリケーションサーバ４０１、管理ノード４０２、及びネットワークノード４０４が配置される。ネットワークノード４０４は広域ネットワーク４０５に接続され、時刻マスタ１０、アプリケーションサーバ４０１、管理ノード４０２、及びネットワークノード４０４は、拠点内ネットワーク４０３を介して接続される。
【００２６】
時刻マスタ１０は、定期的に時刻パケットを広域ネットワーク４０５を介して時刻スレーブ１３に送信する。アプリケーションサーバ４０１は、アプリケーションを実行する計算機である。管理ノード４０２は、時刻マスタ１０が時刻パケットの送信に用いる広域ネットワーク４０５を管理する計算機である。ネットワークノード４０４は、通信機能を備えるルータ又はスイッチである。
【００２７】
アプリケーションサーバ４０１は、後述するセンサ４０９によって検出された各種データを時刻スレーブ１３及び広域ネットワーク４０５を介して収集し、収集した各種データを保存し、又は各種データに基づく演算処理を実行する。
【００２８】
拠点４０６には、時刻スレーブ１３、センサ４０９、及び制御装置４１０が配置される。時刻スレーブ１３には、センサ４０９及び制御装置４１０が有線又は無線の通信回線を介して接続される。
【００２９】
時刻スレーブ１３は、広域ネットワーク４０５に接続されるネットワークノードで、通信機能の他に判定処理機能及び演算処理機能を備える高機能なネットワークノードである。時刻スレーブ１３は、時刻を計時する機能を備え、時刻マスタ１０から時刻パケットを受信することによって、時刻マスタ１０と時刻を同期する。また、時刻スレーブ１３は、センサ４０９によって検出されたデータの監視及び当該データに対して演算処理を実行する。さらに、時刻スレーブ１３は、制御装置４１０に関連する処理を実行する。
【００３０】
時刻スレーブ１３が受信する時刻パケットには、時刻パケットの送信に用いられる広域ネットワーク４０５の伝送遅延時間が発生する。この伝送遅延時間は、時刻スレーブ１３が受信するたびに変化する。この伝送遅延時間の変化を伝送遅延時間の揺らぎ（ジッタ）という。この伝送遅延時間の揺らぎが時刻スレーブ１３の時刻同期の誤差の原因となる。換言すれば、時刻パケットの伝送遅延時間が大きければ、時刻スレーブ１３は、時刻パケットに基づいて時刻を補正しても、時刻マスタ１０の時刻と同期できない場合がある。
【００３１】
そこで、本実施形態の時刻スレーブ１３には、広域ネットワーク４０５ごとに時刻を補正するか否かのジッタのしきい値が設定され、時刻パケットのジッタがしきい値以内であれば、当該時刻パケットに基づいて時刻を補正する。
【００３２】
本実施形態では、時刻パケットの送信に用いられる広域ネットワーク４０５ごとにしきい値を時刻スレーブ１３で管理し、管理ノード４０２から使用ネットワーク切替通知に基づいて時刻を補正するか否かの判定に用いるしきい値を変更することによって、広域ネットワーク４０５の切替直後であっても、切替後の広域ネットワーク４０５に対応するしきい値を用いて時刻を補正するか否かを判定できる。
【００３３】
また、本実施形態では、時刻スレーブ１３が実際に受信した時刻パケットに関連する動作値を記憶しておき、管理ノード４０２が当該動作値を読み出し、読み出した動作値に基づいてしきい値が妥当か否かを判定する。これによって、しきい値の妥当性を検討できる。
【００３４】
センサ４０９及び制御装置４１０は、時刻スレーブ１３が計時する時刻を利用する装置である。センサ４０９は、温度や電圧値などの物理的な情報を信号へと変換する機構の総称であり、例えば、温度センサ、湿度センサ、振動センサ、圧力センサ、人感センサ、マイク、及びカメラなどであり、多様なものが存在する。制御装置４１０は、入力された信号を物理的な運動へと変換する機構の総称であり、例えば、警報器、開閉スイッチ、及びモータなどであり、多様なものが存在する。
【００３５】
なお、時刻スレーブ１３にはセンサ４０９及び制御装置４１０が必ずしも接続される必要はなく、時刻スレーブ１３が計時する時刻を利用する何らかの装置が接続されていればよい。
【００３６】
また、時刻スレーブ１３は、拠点４０６〜４０８に配置されるものとして説明したが、拠点４０６〜４０８単位ではなく、時刻スレーブ１３の処理性能に応じて、部屋単位、フロア単位、又は建物単位で配置されてもよい。
【００３７】
さらに、時刻スレーブ１３、センサ４０９、制御装置４１０、及び広域ネットワーク４０５の数は、図１に限定されない。
【００３８】
図２は、本発明の第１実施形態の時刻スレーブ１３の構成の説明図である。
【００３９】
時刻スレーブ１３は、中央処理演算装置（Central Processing Unit：ＣＰＵ）５５、メモリ５６、及び入出力部（Input Output Unit：Ｉ／Ｏ）５７等のハードウェア５４を備える。ＣＰＵ５５は、各種演算処理を実行する処理部である。メモリ５６は、各種プログラム及びデータを記憶する記憶部である。Ｉ／Ｏ５７は、広域ネットワーク４０５、センサ４０９及び制御装置４１０へのインタフェースである。
【００４０】
ハードウェア５４の上位層にはオペレーティングシステム（Operating System：ＯＳ）５３があり、ＯＳ５３はＣＰＵ５５によって実行される。
【００４１】
ＯＳ５３の上位層には、時刻補正部５０、時刻計時部５１、及びアプリケーション５２が存在する。時刻補正部５０、時刻計時部５１、及びアプリケーション５２は、ＣＰＵ５５がそれぞれに対応するプログラムを実行することによって実現される。
【００４２】
時刻補正部５０は、時刻スレーブ１３が受信した時刻パケットに基づいて時刻計時部５１が計時する時刻を補正する。時刻計時部５１は時刻を計時する。アプリケーション５２は、時刻スレーブ１３に接続されたセンサ４０９及び制御装置４１０に関連する処理を実行する。
【００４３】
図３は、本発明の第１実施形態の時刻補正部５０の構成の説明図である。
【００４４】
時刻補正部５０は、パケット送受信部６０４〜６０６、時刻パケット送受信部６０７、ジッタ演算部６０８、動作値テーブル６０９、時刻補正実行可否判定部６１０、しきい値テーブル６１１、テーブル制御部６１２を備える。
【００４５】
パケット送受信部６０４〜６０６は、通信インタフェース６０１〜６０３が接続され、パケットを送受信する。パケット送受信部６０４には、通信路６１３（広域ネットワーク４０５Ａ）に接続される通信インタフェース６０１が接続される。パケット送受信部６０５には、通信路６１４（広域ネットワーク４０５Ｂ）に接続される通信インタフェース６０２が接続される。パケット送受信部６０６には、通信路６１５（管理ノード４０２に接続されたネットワーク）に接続される通信インタフェース６０３が接続される。
【００４６】
時刻マスタ１０が広域ネットワーク４０５Ａに送信した時刻パケットは、通信路６１３及び通信インタフェース６０１を介してパケット送受信部６０４によって受信される。時刻マスタ１０が広域ネットワーク４０５Ｂに送信した時刻パケットは、通信路６１４及び通信インタフェース６０２を介してパケット送受信部６０５によって受信される。
【００４７】
以上のように、本実施形態では、時刻パケットを伝送する通信路と通信インタフェースとパケット送受信部とは、時刻パケットの送信に用いられる広域ネットワーク４０５ごとに備える構成である。
【００４８】
また、時刻パケット送受信部６０７は、パケット送受信部６０４又は６０５から時刻パケットが入力されることによって、時刻パケットを受信する。なお、時刻パケット送受信部６０７は、ジッタ演算部６０８及び時刻補正実行可否判定部６１０に接続される。
【００４９】
ジッタ演算部６０８は、動作値テーブル６０９及び時刻補正実行可否判定部６１０に接続され、時刻パケット送受信部６０７が受信した時刻パケットの広域ネットワーク４０５によるジッタを算出する。ジッタの算出方法については図７で詳細を説明する。
【００５０】
動作値テーブル６０９は、テーブル制御部６１２に接続される。動作値テーブル６０９には、受信した時刻パケットに関連する値であって、管理ノード４０２によるしきい値変更判定処理（図１０参照）に用いる値が登録される。動作値テーブル６０９の詳細は図６で説明する。
【００５１】
時刻補正実行可否判定部６１０は、動作値テーブル６０９及びしきい値テーブル６１１に接続され、しきい値テーブル６１１を参照して、受信した時刻パケットに基づいて時刻の補正処理を実行するか否かを判定する。そして、時刻補正実行可否判定部６１０は、時刻の補正処理を実行すると判定した場合、時刻を補正し、補正した時刻情報を時刻計時部５１に通信路６１６を介して出力する。
【００５２】
しきい値テーブル６１１は、テーブル制御部６１２に接続される。しきい値テーブル６１１には、時刻補正実行可否判定部６１０による判定処理に用いる値が登録される。しきい値テーブル６１１の詳細は図４及び図５で詳細を説明する。
【００５３】
テーブル制御部６１２は、動作値テーブル６０９及びしきい値テーブル６１１を制御する。
【００５４】
図４は、本発明の第１実施形態のしきい値テーブル６１１の説明図である。しきい値テーブル６１１は、メモリ５６に記憶される。
【００５５】
しきい値テーブル６１１は、ネットワーク名７１、使用状態７２、遅延中央値７３、ジッタ中央値７４、及びジッタ許容誤差７５を含む。
【００５６】
ネットワーク名７１には、時刻スレーブ１３に接続される広域ネットワーク４０５を特定可能な情報が登録される。使用状態７２には、どの広域ネットワーク４０５が時刻パケットの送信に用いられているかを特定可能な情報が登録される。遅延中央値７３には、時刻パケットの広域ネットワーク４０５による遅延時間の中央値が登録される。ジッタ中央値７４には、時刻パケットの広域ネットワーク４０５によるジッタの中央値が登録される。ジッタ許容誤差７５には、時刻補正実行可否判定部６１０による判定処理に用いる値であって、ジッタ中央値７４に登録された値を基準とした幅を示す値が登録される。
【００５７】
なお、しきい値テーブル６１１に登録された値の精度及び単位は、時刻同期システムを構築する場合に任意に取り決めることが可能である。
【００５８】
図５は、本発明の第１実施形態のしきい値テーブル６１１の変形例の説明図である。
【００５９】
図５に示すしきい値テーブル６１１は、ジッタ中央値７４及びジッタ許容誤差７５の代わりに、ジッタ最小しきい値７６及びジッタ最大しきい値７７を含む点で、図４に示すしきい値テーブル６１１と相違する。
【００６０】
ジッタ最小しきい値７６には、時刻補正実行可否判定部６１０による判定処理に用いるジッタの最小値が登録される。ジッタ最大しきい値７７には、時刻補正実行可否判定部６１０による判定処理に用いるジッタの最大値が登録される。
【００６１】
図６は、本発明の第１実施形態の動作値テーブル６０９の説明図である。
【００６２】
動作値テーブル６０９は、ネットワーク名８１、遅延平均値８２、ジッタ平均値８３、ジッタ標準偏差８４、時刻パケット到来回数８５、及び、時刻補正不実行回数８６を含む。
【００６３】
ネットワーク名８１には、時刻スレーブ１３に接続される広域ネットワーク４０５を特定可能な情報が登録される。遅延平均値８２には、時刻パケットの広域ネットワーク４０５による遅延時間の平均値が登録される。ジッタ平均値８３には、時刻パケットの広域ネットワーク４０５によるジッタの平均値が登録される。ジッタ標準偏差８４には、時刻パケットの広域ネットワーク４０５によるジッタの標準偏差が登録される。時刻パケット到来回数８５には、時刻スレーブ１３が時刻パケットを受信した回数が登録される。時刻補正不実行回数８６には、時刻補正実行可否判定部６１０が時刻の補正処理を実行しないと判定した回数が登録される。
【００６４】
なお、遅延平均値８２、ジッタ平均値８３、及びジッタ標準偏差８４は、時刻パケットの広域ネットワークによる遅延に関連する値である。また、ジッタ標準偏差８４は動作値テーブル６０９に必ずしも含まれなくてもよい。
【００６５】
また、動作値テーブル６０９に登録された値の精度及び単位は、時刻同期システムを構築する場合に任意に取り決めることが可能である。
【００６６】
図７は、本発明の第１実施形態の時刻補正部５０によって実行される時刻補正処理のフローチャートである。
【００６７】
まず、時刻パケット送受信部６０７は、時刻パケットに含まれるSyncメッセージを受信する（１０１）。次に、時刻パケット送受信部６０７は、時刻パケットに含まれるFollow_upを受信する（１０２）。次に、時刻パケット送受信部６０７は、Delay_Reqメッセージを時刻マスタ１０に送信する（１０３）。次に、時刻パケット送受信部６０７は、時刻パケットのうちDelay_Respメッセージを受信する（１０４）。
【００６８】
ステップ１０１〜１０４の処理はIEEE 1588v2で規定された処理であり、これらの処理を実行することによって、時刻スレーブ１３は時刻パケットを取得できる。
【００６９】
次に、ジッタ演算部６０８は、受信した時刻パケットの広域ネットワーク４０５による遅延量を算出し、算出した遅延量としきい値テーブル６１１の遅延中央値７３に登録された値とを比較して、ジッタを算出する（１０５）。具体的には、ジッタ演算部６０８は、図２０で説明したIEEE 1588v2における時刻同期方法における時刻Ｔ１、Ｔ２、Ｔ３、及びＴ４を用いて広域ネットワーク４０５の遅延量を演算する。広域ネットワーク４０５の遅延量は式５によって算出される。
遅延量＝｛（Ｔ４−Ｔ３）＋（Ｔ２−Ｔ１）｝／２・・・式５
ジッタは、式６によって算出される。
ジッタ＝遅延中央値−遅延量・・・式６
また、ステップ１０５の処理では、ジッタ演算部６０８は、算出した遅延量及びジッタを用いて、動作値テーブル６０９の遅延平均値８２、ジッタ平均値８３、及びジッタ標準偏差８４に登録された値を更新する。さらに、ジッタ演算部６０８は、動作値テーブル６０９の時刻パケット到来回数８５をインクリメントする。
【００７０】
次に、時刻補正実行可否判定部６１０は、しきい値テーブル６１１に含まれる使用状態７２に登録された情報を読み出し、受信した時刻パケットの送信に用いられた広域ネットワーク４０５を判別する（１０６）。
【００７１】
次に、時刻補正実行可否判定部６１０は、しきい値テーブル６１１に登録されたエントリのうち、受信した時刻パケットの送信に用いられた広域ネットワーク４０５に対応するエントリに含まれるジッタ中央値７４及びジッタ許容誤差７５に登録された値をしきい値として読み出す（１０７）。
【００７２】
次に、時刻補正実行可否判定部６１０は、ステップ１０５の処理で算出されたジッタと、ステップ１０７の処理で読み出されたしきい値とを比較し、ステップ１０５の処理で算出されたジッタがステップ１０７の処理で読み出されたしきい値より小さいか否かを判定する（１０８）。
【００７３】
ステップ１０５の処理で算出されたジッタがステップ１０７の処理で読み出されたしきい値より小さいと、ステップ１０８の処理で判定された場合、時刻補正実行可否判定部６１０は、受信した時刻パケットに基づいて時刻の補正処理（１０９）を実行し、補正された時刻情報を時刻計時部５１に出力し、時刻補正処理を終了する。
【００７４】
ステップ１０５の処理で算出されたジッタがステップ１０７の処理で読み出されたしきい値上であると、ステップ１０８の処理で判定された場合、時刻補正実行可否判定部６１０は、受信した時刻パケットに基づいて時刻の補正処理（１０９）を実行せずに、動作値テーブル６０９の時刻補正不実行回数８６をインクリメントして、時刻補正処理を終了する。
【００７５】
図８は、本発明の第１実施形態の管理ノード４０２による使用ネットワーク切替指示を時刻スレーブ１３に通知するシーケンス図である。
【００７６】
広域ネットワーク４０５が自設されている場合等には、広域ネットワーク４０５を構成する通信機器１１１は、障害の発生を検出し（１１３Ａ）、障害の発生を示す障害情報を管理ノード４０２に送信する（１１４Ａ）。
【００７７】
また、広域ネットワーク提供事業者１１２が提供する広域ネットワーク４０５をユーザが利用する場合等には、広域ネットワーク提供事業者１１２のサーバが障害の発生を検出し（１１３Ｂ）、障害の発生を示す障害情報を管理ノード４０２に送信する（１１４Ｂ）。
【００７８】
なお、通信機器１１１及び広域ネットワーク提供事業者１１２のサーバから管理ノード４０２が障害情報を読み出すことによって、障害を検出してもよい。
【００７９】
管理ノード４０２は、通信機器１１１又は広域ネットワーク提供事業者１１２のサーバから障害情報を受信した場合、ネットワーク切替判定処理を実行する（１１５Ａ及び１１５Ｂ）。ネットワーク切替判定処理は、時刻パケットの送信に用いる広域ネットワーク４０５に障害が検出された場合に、障害が検出されていない広域ネットワーク４０５を時刻パケットの送信に用いる広域ネットワーク（切替先の広域ネットワーク）４０５を特定する処理である。
【００８０】
次に、管理ノード４０２は、切替先の広域ネットワークを特定可能な情報が含まれる使用ネットワーク切替指示をネットワークノード４０４に送信し（１１６Ａ及び１１６Ｂ）、当該使用ネットワーク切替指示を時刻スレーブ１３に送信する（１１７Ａ及び１１７Ｂ）。
【００８１】
ネットワークノード４０４は、使用ネットワーク切替指示を受信した場合、拠点内ネットワーク４０３から受信したパケットを送信する広域ネットワーク４０５を切替先の広域ネットワーク４０５に切り替える。これによって、時刻マスタ１０が時刻パケットを送信する広域ネットワーク４０５が切替先の広域ネットワークに切り替えられる。
【００８２】
一方、時刻スレーブ１３は、使用ネットワーク切替指示を受信した場合、受信した使用ネットワーク切替指示に基づいて、しきい値テーブル６１１の使用状態７２を書き換える。この処理は、図１３で詳細を説明する。
【００８３】
図９は、本発明の第１実施形態の管理ノード４０２による動作値テーブル６０９の読出処理及びしきい値テーブル６１１の書換処理のシーケンス図である。
【００８４】
管理ノード４０２は、所定のタイミングで時刻スレーブ１３に記憶された動作値テーブル６０９に登録された動作値の読み出しを開始し（１２１）、動作値読出指令を時刻スレーブ１３に送信する（１２２）。動作値読出指令には、動作値を読み出す広域ネットワーク４０５を特定可能な情報が含まれるものとする。
【００８５】
時刻スレーブ１３は、動作値読出指令を受信した場合、動作値テーブル６０９に登録されたエントリのうち、ネットワーク名８１が受信した動作値読出指令に含まれる広域ネットワーク４０５を特定可能な情報と一致するエントリを選択し、選択したエントリの遅延平均値８２〜時刻補正不実行回数８６に登録された値を動作値として読み出す（１２３）。そして、時刻スレーブ１３は、読み出した動作値を管理ノード４０２に送信する（１２４）。
【００８６】
管理ノード４０２は、動作値を受信した場合、受信した動作値に基づいてしきい値を変更する必要があるか否かを判定するしきい値変更判定処理を実行する（１２５）。しきい値変更判定処理の詳細は図１０で説明する。
【００８７】
しきい値変更判定処理でしきい値を変更する必要があると判定された場合、管理ノード４０２は、時刻スレーブ１３のしきい値テーブル６１１に登録されたしきい値を書き換える指令であるしきい値書換指令を時刻スレーブ１３に送信する（１２６）。しきい値書換指令には、しきい値を書き換える広域ネットワーク４０５を特定可能な情報、及びしきい値の書換値が含まれる。
【００８８】
時刻スレーブ１３は、しきい値書換指令を受信した場合、受信したしきい値書換指令に基づいて、しきい値テーブル６１１に登録されたしきい値を書き換える（１２７）。具体的には、時刻スレーブ１３は、しきい値テーブル６１１に登録されたエントリのうち、ネットワーク名７１がしきい値書換指令に含まれる広域ネットワーク４０５を特定可能な情報と一致するエントリを選択する。そして、時刻スレーブ１３は、選択したエントリのしきい値を書き換える。時刻スレーブ１３が図４に示すしきい値テーブル６１１を記憶している場合、時刻スレーブ１３は、ジッタ許容誤差７５をしきい値の書換値に基づいて書き換える。一方、時刻スレーブ１３が図５に示すしきい値テーブル６１１を記憶している場合、時刻スレーブ１３は、ジッタ最小しきい値７６及びジッタ最大しきい値７７をしきい値の書換値に基づいて書き換える。
【００８９】
時刻スレーブは、しきい値を書き換えた場合、書換完了通知を管理ノード４０２に送信する（１２８）。
【００９０】
以上のように、管理ノード４０２は、時刻スレーブ１３が実際に受信した時刻パケットに関する情報に基づいて、現在設定されているしきい値が妥当が否かを判定し、しきい値が妥当でない場合、しきい値を変更することができるので、しきい値を妥当な値に保つことができる。
【００９１】
なお、管理ノード４０２は、動作値読出指令に動作値を読み出す広域ネットワーク４０５を特定可能な情報が含まれるものとして説明したが、時刻スレーブ１３に記憶された動作値テーブル６０９に登録された動作値の広域ネットワーク４０５のすべてのエントリを読み出してもよい。例えば、管理ノード４０２は、動作値テーブル６０９に登録されたすべてのエントリを読み出すという情報を含んだ動作値読出指令を時刻スレーブ１３に送信し、時刻スレーブ１３はすべてのエントリの遅延平均値８２〜時刻補正不実行回数８６に登録された値を動作値として読出し、読み出した動作値を管理ノード４０２に送信する。そして、管理ノード４０２は、読み出したエントリ毎にしきい値を変更する必要があるか否かを判定し、しきい値を変更する必要があるエントリだけのしきい値書換指令を送信してもよい。
【００９２】
また、図９では、管理ノード４０２が所定のタイミングで動作値読出指令を時刻スレーブ１３に送信するとしたが、時刻スレーブ１３が動作値テーブル６０９に登録された動作値が所定の条件を満たす場合にその旨を管理ノード４０２に通知し、管理ノード４０２は、動作値が所定の条件を満たす旨が通知された場合、動作値読出指令を時刻スレーブ１３に送信するようにしてもよい。例えば、時刻スレーブ１３は、動作値テーブル６０９のジッタ標準偏差８４が所定値である１．５を超えた場合に、その旨を通知するようにしてもよい。
【００９３】
これによって、しきい値が妥当でない可能性が高い場合にのみ、しきい値変更判定処理が実行されるので、管理ノード４０２の処理負荷を軽減することができる。
【００９４】
図１０は、本発明の第１実施形態のしきい値変更判定処理のフローチャートである。
【００９５】
しきい値変更判定処理は、図１１に示す管理アプリケーション１３１に含まれる処理であり、図１１に示すＣＰＵ１３４によって実行される。
【００９６】
まず、管理ノード４０２は、受信した動作値に含まれる時刻補正不実行回数８６に登録された値が所定の範囲内にあるか否かを判定する（２１０１）。
【００９７】
時刻補正不実行回数８６に登録された値が所定の範囲内にないと判定された場合、管理ノード４０２は、しきい値を変更する必要があると判定し（２１０４）、しきい値の書換値を決定し、しきい値変更判定処理を終了する。
【００９８】
具体的には、時刻補正不実行回数８６に登録された値が所定の範囲の下限値を下回る場合、広域ネットワーク４０５による時刻パケットの遅延のばらつきが小さいので、管理ノード４０２は、しきい値の幅を所定値だけ狭めるように書換値を決定する。一方、時刻補正不実行回数８６に登録された値が所定の範囲の上限値を上回る場合、広域ネットワーク４０５による時刻パケットの遅延のばらつきが大きいので、管理ノード４０２は、しきい値の幅を所定値だけ広めるように書換値を決定する。なお、しきい値の幅を変更するための所定値はユーザが設定可能である。
【００９９】
時刻補正不実行回数８６に登録された値が所定の範囲内にあると判定された場合、管理ノード４０２は、（ジッタ平均値８３に登録された値）±（ジッタ標準偏差８４に登録された値）を算出し、算出した値が所定の範囲内にある否かを判定する（２１０２）。
【０１００】
ステップ２１０２の処理で算出した値が所定の範囲内にないと判定された場合、ステップ２１０４の処理に進み、管理ノード４０２は、しきい値の書換値を決定し、しきい値変更判定処理を終了する。ここでは、ステップ２１０２の処理で算出した値が所定の範囲内にない場合、広域ネットワーク４０５による時刻パケットの遅延のばらつきが大きいので、管理ノード４０２は、しきい値の幅を所定値だけ広めるように書換値を決定する。ステップ２１０２の処理で算出した値が所定の範囲内にあると判定された場合、管理ノード４０２は、しきい値を変更する必要がないと判定し、しきい値変更判定処理を終了してもよい。
【０１０１】
ステップ２１０２の処理で算出した値が所定の範囲内にあると判定された場合、管理ノード４０２は、受信した動作値に含まれる遅延平均値８２に登録された値が所定の範囲内にあるか否かを判定する（２１０３）。なお、この所定の範囲は、当該遅延平均値８２に対応する遅延中央値７３からの所定の範囲が設定されるとよい。
【０１０２】
ステップ２１０３の処理で、遅延平均値８２に登録された値が所定の範囲内にないと判定された場合、ステップ２１０４の処理に進み、管理ノード４０２は、しきい値の書換値を決定し、しきい値変更判定処理を終了する。ここでは、遅延平均値８２に登録された値が所定の範囲にない場合は、広域ネットワーク４０５による時刻パケットの遅延のばらつきが大きいので、管理ノード４０２は、しきい値の幅を所定値だけ広めるように書換値を決定する。
【０１０３】
ステップ２１０３の処理で、遅延平均値８２に登録された値が所定の範囲内にあると判定された場合、管理ノード４０２は、しきい値を変更する必要がないと判定し、しきい値変更判定処理を終了する。
【０１０４】
なお、このしきい値変更判定処理は、時刻スレーブ１３が動作値テーブル６０９を参照して実行するものであってもよく、この場合、時刻スレーブ１３は判定結果を管理ノード４０２に通知してもよい。
【０１０５】
また、ステップ２１０２の処理では、管理ノード４０２が（ジッタ平均値）±（ジッタ標準偏差）を計算したが、様々な変形例が含まれる。例えば、（ジッタ平均値）±２×（ジッタ標準偏差）を計算してもよい。この処理では、ジッタがどの範囲にどのような割合で散らばっているかを判定する処理であるためである。
【０１０６】
さらに、ステップ２１０１の処理では、受信した動作値に含まれる時刻補正不実行回数８６に登録された値が所定の範囲内にあるか否かを管理ノード４０２が判定したが、受信した動作値に含まれる時刻補正不実行回数８６に登録された値と受信した動作値に含まれる時刻パケット到来回数８５に登録された値との比が、所定の範囲内にあるか否かを判定してもよい。
【０１０７】
図１１は、本発明の第１実施形態の管理ノード４０２の構成の説明図である。
【０１０８】
管理ノード４０２は、中央処理演算装置（Central Processing Unit：ＣＰＵ）１３４、メモリ１３５、及び入出力部（Input Output Unit：Ｉ／Ｏ）１３６等のハードウェア１３３を備える。ＣＰＵ１３４は、各種演算処理を実行する処理部である。メモリ１３５は、各種プログラム及びデータを記憶する記憶部である。Ｉ／Ｏ１３６は、拠点内ネットワーク４０３へのインタフェースである。
【０１０９】
ハードウェア１３３の上位層にはオペレーティングシステム（Operating System：ＯＳ）１３２が存在し、ＯＳ１３２はＣＰＵ１３４によって実行される。
【０１１０】
ＯＳ１３２の上位層には、管理アプリケーション１３１が存在する。管理アプリケーション１３１は、ＣＰＵ１３４が対応するプログラムを実行することによって実現される。
【０１１１】
管理アプリケーション１３１は、前述した図８に示すネットワーク切替判定処理１１５Ａ及び１１５Ｂ、図９に示す動作値の読出開始処理１２１、図９及び図１０に示すしきい値変更判定処理１２５を含む。
【０１１２】
図１２は、本発明の第１実施形態の時刻補正部５０のテーブル制御部６１２によるしきい値テーブル６１１の事前設定処理のフローチャートである。
【０１１３】
まず、テーブル制御部６１２は、しきい値テーブル６１１の事前設定情報を管理ノード４０２から受信する（１４１）。事前設定情報には、広域ネットワーク４０５の名称、使用状態、遅延中央値、ジッタ中央値、及びジッタ許容誤差が含まれる。
【０１１４】
次に、テーブル制御部６１２は、受信した事前設定情報をしきい値テーブル６１１に書き込む（１４２）。
【０１１５】
具体的には、しきい値テーブル６１１に新たなエントリを生成し、生成したエントリのネットワーク名７１には事前設定情報に含まれる広域ネットワーク４０５の名称が書き込まれ、使用状態７２には事前設定情報に含まれる使用状態が書き込まれ、遅延中央値７３には事前設定情報に含まれる遅延中央値が書き込まれ、ジッタ中央値７４には事前設定情報に含まれるジッタ中央値が書き込まれ、ジッタ許容誤差７５には事前設定情報に含まれるジッタ許容誤差が書き込まれる。
【０１１６】
次に、テーブル制御部６１２は、しきい値テーブル６１１への書き込みが完了した旨を管理ノード４０２に通知し（１４３）、事前設定処理を終了する。
【０１１７】
以上のように、しきい値テーブル６１１は事前に設定されるテーブルであって、管理ノード４０２がしきい値テーブル６１１を事前に設定できる。
【０１１８】
図１３は、本発明の第１実施形態の時刻補正部５０のテーブル制御部６１２によるしきい値テーブル６１１の使用状態書換処理のフローチャートである。使用状態書換処理は、所定のタイミングで繰り返し実行される。
【０１１９】
まず、テーブル制御部６１２は、管理ノード４０２から送信される使用ネットワーク切替指示を受信したか否かを判定する（１５１）。
【０１２０】
ステップ１５１の処理で使用ネットワーク切替指示を受信していないと判定された場合、使用状態書換処理を終了する。
【０１２１】
一方、ステップ１５１の処理で使用ネットワーク切替指示を受信したと判定された場合、テーブル制御部６１２は、使用ネットワーク切替指示に基づいて、しきい値テーブル６１１の使用状態７２を書き換え（１５２）、使用状態書換処理を終了する。
【０１２２】
具体的には、テーブル制御部６１２は、しきい値テーブル６１１に登録されたエントリのうち、ネットワーク名７１が受信した使用ネットワーク切替指示に含まれる切替先の広域ネットワーク４０５を特定可能な情報と一致するエントリを選択し、選択したエントリの使用状態７２を使用中に更新する。また、時刻スレーブ１３は、しきい値テーブル６１１に登録されたエントリのうち、使用状態７２が使用中であったエントリを選択し、選択したエントリの使用状態を未使用に更新する。
【０１２３】
これによって、時刻スレーブ１３の時刻補正実行可否判定部６１０は、しきい値テーブル６１１からしきい値を読み取る場合の処理（図７に示すステップ１０７の処理）を、時刻パケットを受信した広域ネットワーク４０５を一回ごとに特定するよりも高速化することができる。
【０１２４】
本実施形態では、時刻マスタ１０が時刻パケットの送信に用いる広域ネットワーク４０５を管理ノード４０２が管理し、時刻マスタ１０が時刻パケットの送信に用いる広域ネットワーク４０５を他の広域ネットワーク４０５に切り替えた場合、切替先の広域ネットワーク４０５を時刻スレーブ１３に通知する。これによって、時刻スレーブ１３は、時刻マスタ１０が時刻パケットの送信に用いる広域ネットワーク４０５の切替直後に、当該切替を検出できる。
【０１２５】
また、管理ノード４０２が、時刻スレーブ１３が実際に受信した時刻パケットに関する値に基づいて、しきい値の妥当性を判定するので、時刻スレーブ１３は適切なしきい値に基づいて時刻の補正を実行するか否かを判定できる。
【０１２６】
（第２実施形態）
本発明の第２実施形態について図１４及び図１５を用いて説明する。
【０１２７】
第１実施形態では、時刻マスタ１０が時刻パケットの送信に用いる広域ネットワーク４０５が複数のうちから一つを選択して使用する場合を説明したが、第２実施形態では、時刻マスタ１０が時刻パケットの送信に用いる広域ネットワーク４０５が複数のうちから少なくとも一つ以上を選択して使用する場合における第１実施形態の差分について説明する。
【０１２８】
図１４は、本発明の第２実施形態の時刻補正部１６００の構成の説明図である。なお、時刻補正部１６００の構成のうち、図３に示す時刻補正部５０と同じ構成は同じ符号を付与し、説明を省略する。
【０１２９】
本実施形態の時刻補正部１６００は、広域ネットワーク４０５ごとに時刻パケット送受信部６０７及びジッタ演算部６０８を備える点で第１実施形態の時刻補正部５０と異なる。具体的には、広域ネットワーク４０５Ａと接続されるパケット送受信部６０４には時刻パケット送受信部Ａ６０７Ａが接続され、時刻パケット送受信部Ａ６０７Ａにはジッタ演算部Ａ６０８Ａが接続される。また、広域ネットワーク４０５Ｂに接続されるパケット送受信部６０５には時刻パケット送受信部Ｂ６０７Ｂが接続され、時刻パケット送受信部Ｂ６０７Ｂにはジッタ演算部Ｂ６０８Ｂが接続される。
【０１３０】
図１５は、本発明の第２実施形態の時刻補正部１６００によって実行される時刻補正処理のフローチャートである。本実施形態の時刻補正処理のうち、図７に示す第１実施形態の時刻補正処理と同じ処理は同じ符号を付与し、説明を省略する。
【０１３１】
本実施形態の時刻補正処理では、ステップ１０８の処理において、ステップ１０５の処理で算出されたジッタがステップ１０７の処理で読み出されたしきい値より小さいと判定された場合、時刻補正実行可否判定部６１０は、使用中の広域ネットワーク４０５のうち、ステップ１０５の処理で算出されたジッタが最小であるか否かを判定する（１７０１）。
【０１３２】
ステップ１７０１の処理で、使用中の広域ネットワーク４０５のうち、ステップ１０５の処理で算出されたジッタが最小であると判定された場合、時刻補正実行可否判定部６１０は、ステップ１０９の処理に進み、受信した時刻パケットに基づいて時刻の補正処理（１０９）を実行し、補正された時刻情報を時刻計時部５１に出力し、時刻補正処理を終了する。
【０１３３】
一方、ステップ１７０１の処理で、使用中の広域ネットワーク４０５のうち、ステップ１０５の処理で算出されたジッタが最小でないと判定された場合、時刻補正実行可否判定部６１０は、受信した時刻パケットに基づいて時刻の補正処理（１０９）を実行せずに、動作値テーブル６０９の時刻補正不実行回数８６をインクリメントして、時刻補正処理を終了する。
【０１３４】
本実施形態では、時刻マスタ１０が時刻パケットの送信に用いる広域ネットワーク４０５が複数であるため、複数の広域ネットワーク４０５から時刻パケットを受信する。このため、受信した広域ネットワーク４０５によるジッタが異なるので、ステップ１７０１の処理をしないで、時刻の補正処理が実行なされると、補正によって時刻が不正確になってしまう可能性がある。そこで、本実施形態では、ステップ１７０１の処理を実行して、使用中の広域ネットワーク４０５のうち、ステップ１０５の処理で算出されたジッタが最小である場合にのみ、時刻の補正処理が実行されるようにし、補正によって時刻が不正確になることを防止する。
【０１３５】
（第３実施形態）
本発明の第３実施形態について図１６〜図１８を用いて説明する。
【０１３６】
本実施形態では、時刻スレーブ１３は、広域ネットワーク４０５と時刻スレーブ１３との間に中継装置１８１を備える。以下、第３実施形態について、第１実施形態の差分を説明する。
【０１３７】
第１実施形態では、時刻スレーブ１３が広域ネットワーク４０５及び管理ノードに接続されるネットワークごとに通信インタフェース６０１〜６０３及びパケット送受信部６０４〜６０６を備える構成であったが、本実施形態では、中継装置１８１が物理的な三つのネットワークインタフェースを一つのネットワークインタフェースに変換することによって、時刻スレーブ１３は一つの通信インタフェース２００１（図１８参照）及びパケット送受信部２００２（図１８参照）を備えるだけでよい。
【０１３８】
図１６は、本発明の第３実施形態の時刻同期システムの構成の説明図である。
【０１３９】
中継装置１８１は、広域ネットワーク４０５Ａ及び４０５Ｂに接続されるとともに、時刻スレーブ１３にも接続される。すなわち、中継装置１８１は広域ネットワーク４０５と時刻スレーブ１３との間を中継する。
【０１４０】
図１７は、本発明の第３実施形態の中継装置１８１の構成の説明図である。
【０１４１】
中継装置１８１は、広域ネットワーク４０５に通信路１９１２〜１９１４を介して接続され、時刻スレーブ１３に通信路１９１１を介して接続される。
【０１４２】
中継装置１８１は、広域ネットワーク４０５側に三つの通信インタフェース１９０２〜１９０４、及び三つのパケット送受信部１９０５〜１９０７を備え、時刻スレーブ１３側に一つの通信インタフェース１９１０、及び一つのパケット送受信部１９０９を備える。
【０１４３】
中継装置１８１の広域ネットワーク４０５側のパケット送受信部１９０５〜１９０７と、時刻スレーブ１３側のパケット送受信部１９０９とは排他制御・重複排除部１９０８を介して接続される。
【０１４４】
排他制御・重複排除部１９０８は、受信した複数のパケットを排他制御することによって、複数のパケットから所望のパケットを選択して通信する機能と、複数のパケットを重複排除することによって、受信した複数のパケットから重複したパケットを排除して通信する機能を備える。
【０１４５】
図１８は、本発明の第３実施形態の時刻補正部２０００の構成の説明図である。なお、本実施形態の時刻補正部２０００のうち、図３に示す第１実施形態の時刻補正部５０及び図１４に示す第２実施形態の時刻補正部１６００と同じ処理は同じ符号を付与し、説明を省略する。
【０１４６】
時刻スレーブ１３は、中継装置１８１との通信路２０１０に接続された通信インタフェース２００１を備える。時刻補正部２０００は、通信インタフェース２００１に接続され、中継装置１８１とパケットを送受信するパケット送受信部２００２を備える。
【０１４７】
本実施形態では、通信路２０１０、通信インタフェース２００１、パケット送受信部２００２がそれぞれ一つで構成されることが特徴である。通信インタフェース２００１では、時刻マスタ１０及び管理ノード４０２と情報を通信する。パケット送受信部２００２は、受信したパケットが時刻マスタ１０からの情報であった場合には、当該パケットを時刻パケット送受信部６０７に渡し、受信したパケットが管理ノード４０２からの情報であった場合には、当該パケットをテーブル制御部６１２に渡す。
【０１４８】
これは、中継装置１８１の通信インタフェース１９０２〜１９０４又はパケット送受信部１９０５〜１９０７が受信したパケットに自身の識別子を付与し、パケット送受信部１９０９及び通信インタフェース１９１０が当該識別子が付与されたパケットを送信することによって、パケット送受信部２００２は、どのネットワークから受信したパケットであるかを判別できる。
【０１４９】
なお、時刻補正部２０００のその余の構成は、第１実施形態の時刻補正部５０及び第２実施形態の時刻補正部１６００と同じである。
【０１５０】
以上のように、本発明によれば、時刻マスタ１０が時刻パケットの送信に用いる広域ネットワーク４０５が切り替わったことを時刻スレーブ１３が検出する時間を短縮化でき、広域ネットワーク４０５の切替直後であっても時刻補正するか否かの判定を正確に行うことができる。
【０１５１】
例えば、データセンタを利用した電力の系統安定化システムのように、充電ステーション、太陽光発電設備、及び系統安定化を制御する配電設備等は、それぞれ地理的に分散している。これらの設備は、ネットワークを介してデータセンタと接続され、データセンタは、各設備の需要サイドの拠点からデータを収集して、収集したデータを情報処理する。このようなシステムでは、通信ネットワークの高信頼化のためのネットワークが冗長化がされ、使用するネットワークが切り替わった場合であっても、正確な時刻補正をするか否かの判定が求められる。したがって、本発明は、このようなシステムに最適である。
【０１５２】
さらに、本発明では、管理ノード４０２は、時刻スレーブ１３が受信した時刻パケットに関する実際の値に基づいて、しきい値の妥当性を判定し、しきい値が妥当でない場合には当該しきい値を変更する。
【０１５３】
これによって、時刻スレーブ１３のしきい値の妥当性を担保でき、正確な時刻補正を実行することができる。
【０１５４】
なお、本発明は上述した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上述した実施形態は本発明を分かりやすく説明するために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。また、例えば、上述した実施形態が適用される時刻同期システムにおいては、各拠点に一つの時刻スレーブが備わる構成をであったが、本発明は、各拠点に複数の時刻スレーブが備わる構成にも当然適用可能である。
【０１５５】
また、上述した各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上述した各構成、及び機能等は、プロセスがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現する場合を説明したが、各機能を実現するプログラム、テーブル、及びファイル等の情報は、メモリのみならず、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、又は、ＩＣカード、ＳＤカード、及びＤＶＤ等の記録媒体に記憶できるし、必要に応じてネットワーク等を介してダウンロード及びインストールすることも可能であることは言うまでもない。
【符号の説明】
【０１５６】
１０    時刻マスタ
１３    時刻スレーブ
４０２    管理ノード
５０    時刻補正部
６０１〜６０３    通信インタフェース
６０４〜６０６    パケット送受信部
６０７    時刻パケット送受信部
６０８    ジッタ演算部
６０９    動作値テーブル
６１０    時刻補正実行可否判定部
６１１    しきい値テーブル
【図１】
0005716229.tif 000002
【図２】
0005716229.tif 000003
【図３】
0005716229.tif 000004
【図４】
0005716229.tif 000005
【図５】
0005716229.tif 000006
【図６】
0005716229.tif 000007
【図７】
0005716229.tif 000008
【図８】
0005716229.tif 000009
【図９】
0005716229.tif 000010
【図１０】
0005716229.tif 000011
【図１１】
0005716229.tif 000012
【図１２】
0005716229.tif 000013
【図１３】
0005716229.tif 000014
【図１４】
0005716229.tif 000015
【図１５】
0005716229.tif 000016
【図１６】
0005716229.tif 000017
【図１７】
0005716229.tif 000018
【図１８】
0005716229.tif 000019
【図１９】
0005716229.tif 000020
【図２０】
0005716229.tif 000021
【図２１】
0005716229.tif 000022