以下、実施形態の情報処理装置を、図面を参照して説明する。なお以下の説明では、略同じまたは類似の機能を有する構成に同一の符号を付す。そして、それら構成の重複する説明は省略する場合がある。ここで、本願でいう「情報処理装置」とは、情報処理機能を少なくとも一部として有した装置を広く意味し、情報処理機能以外の主たる機能を有する装置でもよい。また、本願でいう「XXに基づく」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づく」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
(第1の実施形態)
図1から図6を参照し、第1の実施形態の情報処理装置を含む時刻同期システム1について説明する。時刻同期システム1は、例えば、電力系統の保護制御システム(例えば、WAMPAC(Wide Area Monitoring Protection and Control)システム)などに用いられる。電力系統の保護制御システムは、複数の地点に分かれて配置された複数の装置で同時刻に検出された電流値および電圧値などに基づき事故判定などを行うため、複数の装置の時刻が常に高い精度で同期している必要がある。なお、本実施形態および後述する各実施形態の時刻同期システム1は、電力系統の保護制御システムに限らず、時刻同期が必要な種々のシステムに幅広く適用可能である。
まず、時刻同期システム1の全体構成について説明する。図1は、本実施形態の時刻同期システム1の全体構成の一例を示す図である。時刻同期システム1は、例えば、複数のマスタ装置11-1,11-2,11-3、複数のスレーブ装置12-1A,12-1B,12-2A,12-3A,12-3B、複数のネットワーク装置13-1,13-2,13-3,13-4、複数の通信リンク14、およびドメイン管理装置15を備えている。複数のマスタ装置11-1,11-2,11-3およびスレーブ装置12-1A,12-1B,12-2A,12-3A,12-3Bは、後述する複数の時刻同期ドメインD-1,D-2,D-3を構成している。
以下の説明では、マスタ装置11-1,11-2,11-3を互いに区別しない場合は、「マスタ装置11」と称する。スレーブ装置12-1A,12-1B,12-2A,12-3A,12-3Bを互いに区別しない場合は、「スレーブ装置12」と称する。ネットワーク装置13-1,13-2,13-3,13-4を互いに区別しない場合は、「ネットワーク装置13」と称する。時刻同期ドメインD-1,D-2,D-3を互いに区別しない場合は、「時刻同期ドメインD」と称する。なお、マスタ装置11の数、スレーブ装置12の数、ネットワーク装置13の数、およびネットワークの階層数などは、図示した例に限定されない。これは、以降の実施形態でも同様である。
マスタ装置11は、後述する時刻同期ドメインDにおいて時刻の基準となる装置である。マスタ装置11は、例えば、基準時刻として時計の位相および周波数を配信する。このようなマスタ装置11としての機能を、ここでは「マスタ機能」と称する。
スレーブ装置12は、マスタ装置11に同期する装置である。「マスタ装置に同期する」とは、マスタ装置11が提供する基準時刻に、自装置の時刻を同期させることを意味する。このようなスレーブ装置12としての機能を、ここでは「スレーブ機能」と称する。
マスタ装置11およびスレーブ装置12は、マスタ機能およびスレーブ機能以外については、互いに同じ機能を有してもよく、互いに異なる機能を有してもよい。例えば、時刻同期システム1が電力系統の保護制御システムに用いられる場合、マスタ装置11およびスレーブ装置12の各々は、例えば、保護リレーなどを有した保護装置でもよく、電力系統の電流値および電圧値などを監視する監視装置でもよく、各種の送配電設備の制御装置でもよく、その他の装置でもよい。また、マスタ装置11およびスレーブ装置12は、それぞれマスタ機能およびスレーブ機能の両方を有し、マスタ装置11とスレーブ装置12との間で機能が切り替えられてもよい。なお、マスタ装置11およびスレーブ装置12の各々は、それぞれ専用装置として設けられてもよいし、アプリケーションを実行することで必要な機能を実現する装置でもよい。
本実施形態では、複数のマスタ装置11および複数のスレーブ装置12によって、複数の時刻同期ドメインDが構成されている。「時刻同期ドメインD」とは、時刻の基準となる1つのマスタ装置11と、そのマスタ装置11に同期する1つ以上のスレーブ装置12とから構成されるグループを意味する。
ここで、各時刻同期ドメインDは、1つのマスタ装置11に加え、冗長化のための1つ以上の待機用マスタ装置を有してもよい。通信ネットワーク上には複数の時刻同期ドメインDが存在することが可能であるが、ある時刻同期ドメインDに所属するスレーブ装置12は、別の時刻同期ドメインDのマスタ装置11と直接同期することはない。また、時刻同期ドメインDは、階層構造を持つことも可能である。この場合、下位(下流)のマスタ装置11(以下、「下位マスタ装置11」と称する)は、上位(上流)のマスタ装置11(以下、「上位マスタ装置11」と称する)に対するスレーブ機能を有する。すなわち、上位マスタ装置11は、1つ以上の下位マスタ装置11に対して基準時刻を配信する。下位マスタ装置11は、上位マスタ装置11から提供される基準時刻に、自装置の基準時刻を同期させる。そして、下位マスタ装置11は、自装置に同期するスレーブ装置12に基準時刻を配信する。本実施形態では、例えば、マスタ装置11-2が上位マスタ装置11になり、残りのマスタ装置11-1,11-3が下位マスタ装置11となることで、3つのマスタ装置11-1,11-2,11-3の時刻同期が行われている。
図1に示す例では、時刻同期システム1は、3つの時刻同期ドメインD-1,D-2,D-3を有する。図1は、後述する時刻同期ドメインDの変更前のドメイン構成を示す。時刻同期ドメインD-1は、マスタ装置11-1と、マスタ装置11-1に同期する2つのスレーブ装置12-1A,12-1Bにより構成されている。時刻同期ドメインD-2は、マスタ装置11-2と、マスタ装置11-2に同期する1つのスレーブ装置12-2Aにより構成されている。時刻同期ドメインD-3は、マスタ装置11-3と、マスタ装置11-3に同期する2つのスレーブ装置12-3A,12-3Bにより構成されている。
次に、時刻同期システム1の通信ネットワークNについて説明する。通信ネットワークNは、複数のネットワーク装置13-1,13-2,13-3,13-4と、複数の通信リンク14とを含む。各ネットワーク装置13は、ルータまたはスイッチなどである。複数のネットワーク装置13同士の間、ネットワーク装置13とマスタ装置11との間、ネットワーク装置13とスレーブ装置12との間、およびネットワーク装置13とドメイン管理装置15との間は、通信リンク14により接続され、通信可能になっている。
次に、ドメイン管理装置15について説明する。本実施形態は、ドメイン管理装置15がドメイン管理機能を有する情報処理装置に該当する例である。ドメイン管理装置15は、時刻同期システム1を構成する装置や通信路などに特定の変化が生じた場合、時刻同期ドメインDと、それに所属するマスタ装置11およびスレーブ装置12との関係(以下、「ドメイン構成」と称する)を変更する。
図2は、ドメイン管理装置15の機能構成を示すブロック図である。ドメイン管理装置15は、例えば、ドメイン構成記憶部151、ドメイン構成決定部152、およびドメイン変更部153を有する。
まず、ドメイン構成記憶部151について説明する。ドメイン構成記憶部151は、マスタ装置11とスレーブ装置12との同期関係を特定可能な情報(以下、「同期関係情報」と称する)を記憶する。同期関係情報とは、どのマスタ装置11にどのスレーブ装置12が同期しているのかを特定することができる情報を意味する。
図3は、同期関係情報のいくつかの例を示す図である。これらは、ドメイン構成記憶部151に記憶される記憶データのフォーマットの例である。例えば、図3中の(a)に示される例では、同期関係情報は、個別のマスタ装置11を特定する識別子(マスタ識別子)と、そのマスタ装置11に同期する個別のスレーブ装置12を特定する識別子(スレーブ識別子)とがペアになった(対応付けられた)情報である。同期関係情報では、上記のようなマスタ識別子とスレーブ識別子とのペアが、全てのスレーブ装置12に関して設定されている。このような情報によれば、マスタ識別子からスレーブ識別子を参照でき、また、スレーブ識別子からマスタ識別子を参照することができる。このため、どのマスタ装置11にどのスレーブ装置12が同期しているのかを特定することができる。
図3中の(b)は、同期関係情報の別の例を示す。図3中の(b)に示される例では、同期関係情報は、個別の時刻同期ドメインDを示す識別子(ドメイン識別子)と、その時刻同期ドメインDに所属する個別のマスタ装置11を特定する識別子(マスタ識別子)とがペアになった情報と、個別の時刻同期ドメインDを示す識別子(ドメイン識別子)と、その時刻同期ドメインDに所属する個別のスレーブ装置12を特定する識別子(スレーブ識別子)とがペアになった情報とを含んでもよい。同期関係情報では、上記のようなドメイン識別子とマスタ識別子とのペア、およびドメイン識別子とスレーブ識別子とのペアが、全てのマスタ装置11およびスレーブ装置12に関して設定されている。このような情報によれば、ドメイン識別子からマスタ識別子およびスレーブ識別子を参照でき、また、マスタ識別子およびスレーブ識別子からドメイン識別子を参照することができる。このため、どのマスタ装置11にどのスレーブ装置12が同期しているのかを特定することができる。なお、同期関係情報は、上記例に限定されない。例えば、時刻同期ドメインD毎に異なる仮想ネットワークが設定される場合、「ドメイン識別子」に代えて、仮想ネットワークを特定する識別子が用いられてもよい。
これら同期関係情報は、時刻同期システム1の設計時にドメイン構成記憶部151に予め入力しておくこともできるし、マスタ装置11またはスレーブ装置12に上記のようなペア情報を通知する機能を持たせ、マスタ装置11またはスレーブ装置12から出力されたペア情報を、通信ネットワークNを介してドメイン管理装置15で受信することで取得することもできる。
次に、ドメイン構成決定部152について説明する。ドメイン構成決定部152は、時刻同期システム1を構成する装置や通信路などに特定の変化が生じた場合に、ドメイン構成記憶部151に記憶された同期関係情報と、時刻同期システム1に生じた変化を示す情報(以下、「変化発生情報」と称する)とに基づき、予めプログラムされた手順に従って、時刻同期ドメインDに対するスレーブ装置12の所属関係を少なくとも変更した新しいドメイン構成を決定する。
変化発生情報とは、例えば、マスタ装置11の稼働状態、通信ネットワークNの通信路(ネットワーク装置13または通信リンク14)の稼働状態、前記通信路の通信量、マスタ装置11とスレーブ装置12との間の時刻のずれ、およびマスタ装置11とスレーブ装置12との間の伝送遅延のうち1つ以上を含む情報である。例えば、変化発生情報とは、時刻同期システム1に生じた変化(故障または通信障害など)の内容と、その変化が生じた位置を特定可能な情報である。変化発生情報は、通信ネットワークNを介して、マスタ装置11、スレーブ装置12、またはネットワーク装置13から得ることができる。なお、変化発生情報の例は、後述するドメイン構成決定部152の各動作例のなかで詳しく述べる。
「ドメイン構成」とは、どの時刻同期ドメインDに、どのマスタ装置11およびどのスレーブ装置12が所属するかを示すものである。ドメイン構成決定部152は、時刻同期システム1を構成する装置や通信路などに特定の変化が生じた場合に、例えば、時刻同期精度を低下させる要因となる装置(マスタ装置11、スレーブ装置12、ネットワーク装置13、および通信リンク14のうち1つ以上)を排除するように時刻同期ドメインDを再構成する。なお、時刻同期ドメインDの再構成の例は、後述するドメイン構成決定部152の各動作例のなかで詳しく述べる。
次に、ドメイン変更部153について説明する。ドメイン変更部153は、ドメイン構成決定部152により決定された新しいドメイン構成に基づき、時刻同期ドメインDに対するマスタ装置11およびスレーブ装置12の所属関係を変更するための命令を出力する。このとき、マスタ装置11とスレーブ装置12とは、所属する時刻同期ドメインDを変更する機能を予め備えておくことで、ドメイン管理装置15からの命令に対応する。例えば、時刻同期システム1がIEEE1588-2008に準拠している場合であれば、PTP(Precision Time Protocol)ドメインIDを変更することで、マスタ装置11およびスレーブ装置12が所属する時刻同期ドメインDを変更することができる。また、PTPドメインIDに代えて、NTP(Network Time Protocol)ドメインIDなどが用いられてもよい。図4は、NTPドメインIDに関する対応関係情報の例を示す。この対応関係情報は、例えば、マスタ装置11またはスレーブ装置12が有する記憶部に記憶されるデータのフォーマットの例である。この対応関係情報は、NTPドメインIDと、時刻の同期先となるマスタ装置11(NTP参照先サーバ)の識別子(マスタ識別子)とがペアになった(対応付けられた)情報である。NTPドメインIDは、「同期先のマスタ装置を示す識別子」の一例である。このため、スレーブ装置12に付与されたNTPドメインIDが変更されることで、時刻同期先のマスタ装置11を変更することができる。
また、それ以外の時刻同期システム1であれば、マスタ装置11が基準時刻を配信する対象のスレーブ装置12を示すスレーブリストを変更することや、スレーブ装置12の同期先のマスタ装置11を示す情報を変更することで、時刻同期ドメインDを変更することができる。このとき、マスタ装置11やスレーブリストの変更は、IP(Internet Protocol)アドレスやMAC(Media Access Control)アドレス、時刻同期アプリケーションが持つ識別子などを変更することで実現可能である。また、時刻同期ドメインDがVLAN(Virtual Local Area Network)などの仮想ネットワークで構築されている場合、VLANのIDなど仮想ネットワークの識別子を変更することが時刻同期ドメインDの変更に等しくなる。なお、時刻同期ドメインDの変更に仮想ネットワークを利用する場合は、マスタ装置11やスレーブ装置12が互いのIPアドレスやMACアドレスなどを管理しなくてよいという利点がある。仮想ネットワークの時刻同期ドメインDで区切られたマスタ装置11やスレーブ装置12は、時刻同期のメッセージをブロードキャストすることで、同じ時刻同期ドメインDに所属するマスタ装置11やスレーブ装置12にメッセージを届けることができる。
次に、本実施形態の時刻同期システム1の動作例について説明する。ここでは、図1に示された構成において、マスタ装置11-3が故障する場合を取り上げて説明する。
図5は、ドメイン管理装置15の処理の流れの一例を示すフローチャートである。まず、ドメイン構成決定部152は、マスタ装置11が故障した場合、変化発生情報の一例として、通信ネットワークNを介してマスタ装置11が故障したことを示す故障情報を受信する(S101)。
故障情報は、例えば、故障したマスタ装置11(ここでは、マスタ装置11-3)と同期するスレーブ装置12(ここでは、スレーブ装置12-3A,12-3B)により故障が検知され、そのスレーブ装置12からドメイン管理装置15に故障情報が出力されることで、ドメイン管理装置15に入力される。スレーブ装置12が故障を検知する方法には、例えば、時刻同期誤差の推定値を計算することで故障を検知する方法や、マスタ装置11から定期的に受信する時刻同期用メッセージの有無などから故障を検知する方法などがある。
例えば、時刻同期誤差の推定値は、下記の式(1)に基づいて算出することができる。なお、式(1)を用いる前提として、スレーブ装置12がマスタ装置11に向けてメッセージを送信し、マスタ装置11がスレーブ装置12にメッセージを返信する処理が行われる。式中では、時刻同期誤差をEt、マスタ装置11により検出されたマスタ装置11のメッセージ送信時刻をtm、スレーブ装置12により検出されたスレーブ装置12のメッセージ受信時刻をts、スレーブ装置12により検出されたマスタ装置11とスレーブ装置12との間のメッセージ往復時間をtrとする。
Et=ts-(tm+tr/2) …(1)
ここで、マスタ装置11とスレーブ装置12との間のメッセージ往復時間(tr)の半分がマスタ装置11からスレーブ装置12までの伝送遅延の推定値に相当する。そして、マスタ装置11の送信時刻(tm)に伝送遅延の推定値(tr/2)を加算した時刻が、マスタ装置11の時計を基準としたスレーブ装置12のメッセージ受信時刻となる。このため、このマスタ装置11の時計を基準としたメッセージ受信時刻(tm+tr/2)と、スレーブ装置12の時計で計測したスレーブ装置12のメッセージ受信時刻(ts)の差分を、時刻同期誤差と推定することができる。スレーブ装置12は、上記時刻同期誤差を予め設定された閾値と比較し、上記時刻同期誤差が閾値以上である場合に、マスタ装置11の故障情報をドメイン管理装置15に出力する。
次に、ドメイン構成決定部152は、ドメイン構成記憶部151に記憶された同期関係情報に基づき、故障したマスタ装置11に同期するスレーブ装置12を特定する(S102)。言い換えると、故障したマスタ装置11と同じ時刻同期ドメインDに属するスレーブ装置12を特定する。このスレーブ装置12の特定は、例えば、同期関係情報に基づき、故障したマスタ装置11のマスタ識別子に対応付けられたスレーブ識別子を読み込むことで行われる。本実施形態では、故障したマスタ装置11-3に同期するスレーブ装置12-3A,12-3Bが特定される。以下では、故障したマスタ装置11に同期するスレーブ装置12-3A,12-3Bを、「変更対象スレーブ装置12」と称する。
次に、ドメイン構成決定部152は、変更対象スレーブ装置12に対して、新しいマスタ装置11の候補として故障情報を受けていない別のマスタ装置を検索し、検索により抽出されたマスタ装置11のなかから新しいマスタ装置11を選択する(S103)。この新しいマスタ装置11の選択は、例えば、同期関係情報に基づき、故障情報を受けていないマスタ装置11のマスタ識別子を検索し、検索により抽出されたマスタ識別子のなかから1つのマスタ識別子を選択することで行われる。また、新しいマスタ装置11の選択には、新しいマスタ装置11と変更対象スレーブ装置12との間のネットワーク装置13の数(中継数)や、新しいマスタ装置11の通信量などを追加の判断基準として採用することができる。本実施形態では、マスタ装置11-1およびマスタ装置11-2が新しいマスタ装置11の候補となる。そしてここでは、スレーブ装置12-3Aに対して、マスタ装置11-2が新しいマスタ装置11として選択される。スレーブ装置12-3Bについては、後述する。
次に、ドメイン構成決定部152は、ドメイン構成記憶部151に記憶された同期関係情報を更新する(S104)。すなわち、ドメイン構成決定部152は、同期関係情報に対して、古いペアを示す情報(マスタ装置11-3とスレーブ装置12-3Aとを対応付けた情報)を削除し、新しいペアを示す情報(マスタ装置11-2とスレーブ装置12-3Aとを対応付けた情報)を追加する。
次に、ドメイン構成決定部152は、故障したマスタ装置11に同期するスレーブ装置12が他に存在するか否かを判定する(S105)。ドメイン構成決定部152は、故障したマスタ装置11に同期するスレーブ装置12が他にも存在する場合、S102~S104の処理を繰り返す。本実施形態では、例えば、スレーブ装置12-3Bについて新しいマスタ装置11がまだ選択されていない場合、S102の処理に戻り、スレーブ装置12-3Bに対して新しいマスタ装置11-2が選択される。
また本実施形態では、故障したマスタ装置11を1つのスレーブ装置に変更する。「マスタ装置をスレーブ装置に変更する」とは、マスタ装置11が故障している場合、マスタ装置11をスレーブ装置と見做して取り扱うことを意味してもよい。本実施形態では、ドメイン構成決定部152は、故障したマスタ装置11-3を1つのスレーブ装置として見做し、時刻同期ドメインD-3に含まれる全てのスレーブ装置(スレーブ装置12-3A,12-3Bと、スレーブ装置と見做されたマスタ装置11―3)を時刻同期ドメインD-2に所属させることで、2つの時刻同期ドメインD-2,D-3を併合する新しいドメイン構成を決定する。
故障したマスタ装置11に同期するスレーブ装置12が他に存在しない場合、ドメイン変更部153は、マスタ装置11およびスレーブ装置12に対して、時刻同期ドメインDを変更するための命令を出力する(S106)。これにより、スレーブ装置12は、同期先となるマスタ装置11を変更する。
図6は、ドメイン管理装置15による時刻同期ドメインDの変更後のドメイン構成を示す図である。本実施形態では、スレーブ装置12-3A,12-3Bおよびスレーブ装置に変更されたマスタ装置11-3がマスタ装置11-2に同期する。これにより、2つの時刻同期ドメインD-2,D-3が併合される。
このような構成によれば、複数の装置の時刻同期を高い精度で維持することができる。例えば、本実施形態では、システムの稼働中に、マスタ装置11の故障状態に応じて時刻同期ドメインDを変更することで、マスタ装置11の故障に対する時刻同期システム1の耐性を向上させることができる。これにより、マスタ装置11が故障した場合であっても、複数の装置の時刻同期を高い精度で維持することができる。
(第2の実施形態)
次に、図7から図12を参照し、第2の実施形態について説明する。本実施形態は、通信ネットワークNの一部に断続的な通信障害が発生する場合に時刻同期ドメインDが変更される点で、第1の実施形態とは異なる。なお以下に説明する以外の構成は、第1の実施形態と同様である。
図7は、本実施形態の時刻同期システム1の全体構成の一例を示す図である。なお図7は、時刻同期ドメインDの変更前のドメイン構成を示す。図8は、本実施形態のドメイン管理装置15Aの機能構成を示すブロック図である。本実施形態のドメイン管理装置15Aは、ドメイン構成記憶部151、ドメイン構成決定部152、およびドメイン変更部153に加えて、ネットワーク構成記憶部154を備えている。
ここではまず、本実施形態のドメイン構成記憶部151に記憶される同期関係情報について説明する。図9は、本実施形態の同期関係情報の一例を示す図である。この図9は、ドメイン構成記憶部151に記憶される記憶データのフォーマットの例である。本実施形態の同期関係情報は、マスタ装置11とスレーブ装置12との同期関係に加えて、同期関係にあるマスタ装置11とスレーブ装置12との間に存在するネットワーク装置13を特定可能な情報である。図9に示す例では、マスタ装置11とスレーブ装置12との間の中継点として、ネットワーク装置1、ネットワーク装置2、…ネットワーク装置Nが存在する例である。この場合、同期関係情報では、マスタ識別子とスレーブ識別子とのペアと、ネットワーク装置1~Nの識別子とを含むリストが登録されている。このような情報によれば、マスタ識別子またはスレーブ識別子からネットワーク装置1~Nの識別子を参照でき、また、ネットワーク装置1~Nの識別子からマスタ識別子およびスレーブ識別子を参照できる。
同期関係情報のリストは、時刻同期システム1の設計時に予め入力しておくこともできるし、マスタ装置11とスレーブ装置12のペア情報と、図10を参照して後述する接続情報に基づきマスタ装置11とスレーブ装置12との間に存在するネットワーク装置13を特定することで作成することもできる。マスタ装置11とスレーブ装置12のペア情報は、マスタ装置11またはスレーブ装置12にペア情報を通知させる機能を持たせ、マスタ装置11またはスレーブ装置12から出力されたペア情報を、通信ネットワークNを介してドメイン管理装置15で受信することで取得することもできる。なお、同期関係情報には、上位マスタ装置11を特定する上位マスタ識別子と、下位マスタ装置11を特定する下位マスタ識別子とのペアと、上位マスタ装置11と下位マスタ装置11との間に存在するネットワーク装置1~Nの識別子とを含むリストが登録されてもよい。
次に、ネットワーク構成記憶部154に記憶される接続情報(ネットワーク構成情報)について説明する。図10は、本実施形態の接続情報の一例を示す図である。この図10は、ネットワーク構成記憶部154に記憶される記憶データのフォーマットの例である。本実施形態の接続情報は、各ネットワーク装置13にどのネットワーク装置13が隣接しているかを特定可能な情報である。なおここで言う「隣接」とは、物理的に隣接することを意味するものではなく、対象となるネットワーク装置13に対して直接通信リンク14を持つこと(2つの装置の間に別のネットワーク装置13が存在しないこと)を意味する。以下では、あるネットワーク装置13に隣接するネットワーク装置13を、「隣接ネットワーク装置」と称する。
図10に示す例では、あるネットワーク装置13に対して、隣接ネットワーク装置1~Nが隣接する例である。この場合、接続情報には、対象となるネットワーク装置13の識別子と、そのネットワーク装置13に隣接した隣接ネットワーク装置1~Nの識別子とを含むリストが登録される。なお、このリストでは、マスタ装置11およびスレーブ装置12の各々は、隣接ネットワーク装置の1つとして登録される。このリストは、例えば、時刻同期システム1の設計時に予め入力しておくことで作成される。
ドメイン構成決定部152は、ネットワーク構成記憶部154に記憶された接続情報に基づき、各マスタ装置11と各スレーブ装置12との間の経路を把握することができる。つまり、ドメイン構成決定部152は、接続情報に基づき、マスタ装置11またはスレーブ装置12を起点として隣接するネットワーク装置13を順に辿ることで、マスタ装置11とスレーブ装置12との間に存在するネットワーク装置13を特定することができる。
また、ドメイン構成決定部152は、通信ネットワークNにおいて通信障害が発生した場合、前記通信障害が発生している場所と、各時刻同期ドメインDのマスタ装置11とスレーブ装置12との間の経路との関係を分析することができる。この分析については詳しく後述する。
次に、通信ネットワークNに生じる断続的な通信障害について説明する。本願で言う「断続的な通信障害」とは、例えば、過負荷な通信により通信が断続的に不安定になることを意味する。「過負荷な通信」とは、例えば、ある通信リンク14を流れる通信データが大量となり、その通信リンク14に対する上流のネットワーク装置13にて通信データのキューイングが頻繁に発生し、通信遅延のばらつきが大きくなる状態を意味する。通信遅延のばらつきが大きくなると、時刻同期の誤差も大きくなる。このため、過負荷な通信は、時刻同期システム1にとって障害となる。
ここで、通信遅延のばらつきが大きくなると時刻同期の誤差が大きくなる理由を説明する。時刻同期の処理では、上記式(1)のようにマスタ装置11とスレーブ装置12との間の時刻差を計算し、その時刻差を0にするようにスレーブ装置12の時計を調整する。式(1)でメッセージ往復時間の遅延を使用する理由は、マスタ装置11の時計とスレーブ装置12の時計には時刻差があることが前提であり、マスタ装置11のメッセージ送信時にマスタ装置11が記録するタイムスタンプと、スレーブ装置12のメッセージ受信時にスレーブ装置12が記録するタイムスタンプの差は、マスタ装置11からスレーブ装置12への伝送遅延として利用できないためである。そのため、スレーブ装置12で記録したメッセージの往復遅延の2分の1をマスタ装置11からスレーブ装置12への伝送遅延として推定する方法が使用される。
このような理由により、式(1)ではマスタ装置11からスレーブ装置12への伝送遅延の推定値としてマスタ装置11とスレーブ装置12との間の往復遅延の2分の1を利用する。そのため、通信ネットワークNにおいて通信遅延のばらつきが生じると、往路であるスレーブ装置12からマスタ装置11への伝送遅延と、復路であるマスタ装置11からスレーブ装置12への伝送遅延との間に差が生じる。往路の伝送遅延と復路の伝送遅延との間に差が生じると、マスタ装置11からスレーブ装置12への伝送遅延の実際の値と、マスタ装置11とスレーブ装置12の間の往復遅延の2分の1(伝送遅延の推定値)との間に誤差が発生する。このため、通信遅延のばらつきが大きくなると時刻同期の誤差が大きくなる。
次に、本実施形態の時刻同期システム1の動作例について説明する。ここでは、図7に示された構成において、ネットワーク装置13-1とネットワーク装置13-3との間に断続的な通信障害が発生する場合を取り上げて説明する。
図11は、ドメイン管理装置15の処理の流れの一例を示すフローチャートである。まず、ドメイン構成決定部152は、ネットワーク装置13-1とネットワーク装置13-3との間に断続的な通信障害が発生した場合、通信ネットワークNを介して、通信障害が発生したことを示す通信障害情報を受信する(S201)。通信障害情報は、「変化発生情報」の一例である。
通信障害情報は、ネットワーク装置13-1とネットワーク装置13-3を通信路とするスレーブ装置12(ここでは、スレーブ装置12-3A)により検知され、そのスレーブ装置12からドメイン管理装置15に通信障害情報が出力されることで、ドメイン管理装置15に入力される。すなわち、スレーブ装置12-3Aは、ネットワーク装置13-3、ネットワーク装置13-1、およびネットワーク装置13-4を介してマスタ装置11-3と時刻同期を行う。そのため、スレーブ装置12-3Aは、マスタ装置11-3との通信遅延を検出することで、通信障害を検知することができる。通信障害の検知は、例えば、マスタ装置11-3とスレーブ装置12-3Aとの間のメッセージ往復時間の2分の1である通信遅延の推定値を、予め設定された閾値と比較することで行うことができる。また上記に代えて、通信障害の検知は、例えば、上記通信遅延の推定値を、過去の通信遅延の推定値と比較することで求まる増加量を、予め設定された閾値と比較することで行うことができる。また、通信障害は、メッセージの不到達により検知することができる。
ここで、ドメイン構成決定部152は、例えば、マスタ装置11-1とマスタ装置11-3との間の断続的な通信障害の有無を示す情報を調査することで、通信障害の発生箇所をネットワーク装置13-1とネットワーク装置13-3との間に特定することができる。すなわち、マスタ装置11-1とマスタ装置11-3は、ネットワーク装置13-2、ネットワーク装置13-1、およびネットワーク装置13-4を介して通信するため、マスタ装置11-1とマスタ装置11-3との間に通信障害が無ければ、通信障害の発生箇所をネットワーク装置13-1とネットワーク装置13-3との間に絞ることができる。
なお、ドメイン構成決定部152は、通信障害の発生箇所をネットワーク装置13-1とネットワーク装置13-3の間に絞らず、ネットワーク装置13-1,13-3,13-4の間を断続的な通信障害の発生箇所と推定してもよい。この場合、ネットワーク装置13-1とネットワーク装置13-4との間は正常であるのに通信障害が発生していると誤判定されることになるが、時刻同期ドメインDは、確実に障害のない経路の上に形成されることになる。または、ドメイン構成決定部152は、ネットワーク装置13のMIB(Management Information Base)やSNMP(Simple Network Management Protocol)を用いて、ネットワーク装置13の通信量や障害に関する情報を収集してもよい。
次に、ドメイン構成決定部152は、ドメイン構成記憶部151に記憶された同期関係情報に基づき、断続的な通信障害が発生している通信路を経由して通信するスレーブ装置12を特定する(S202)。このスレーブ装置12の特定は、例えば、同期関係情報に基づき、断続的な通信障害が発生している通信路に位置するネットワーク装置13の識別子を上記リストに含むスレーブ識別子を読み込むことで行われる。本実施形態では、ネットワーク装置13-1,13-3を経由してマスタ装置11に同期するスレーブ装置12-3Aが特定される。以下では、この特定されたスレーブ装置12-3Aを、「変更対象スレーブ装置12」と称する。
次に、ドメイン構成決定部152は、変更対象スレーブ装置12に対する新しいマスタ装置11の候補として別のマスタ装置11を検索し、検索により抽出されたマスタ装置11のなかから新しいマスタ装置11を選択する(S203)。新しいマスタ装置11の選択には、新しいマスタ装置11と変更対象スレーブ装置12との間のネットワーク装置13の数(中継数)や、新しいマスタ装置11の通信量などを追加の判断基準として採用することができる。本実施形態では、マスタ装置11-2が新しいマスタ装置11の候補として選択される。
次に、ドメイン構成決定部152は、ネットワーク構成記憶部154に記憶された接続情報に基づき、変更対象スレーブ装置12(ここでは、スレーブ装置12-3A)と新しいマスタ装置11(ここでは、マスタ装置11-2)の候補との間に存在するネットワーク装置13を探索する(S204)。
次に、ドメイン構成決定部152は、探索することで抽出されたネットワーク装置13を、変更対象スレーブ装置12と新しいマスタ装置11との間の中継点とした場合に、変更対象スレーブ装置12と新しいマスタ装置11との間の通信が、断続的な通信障害が発生している通信路を経由することになるか否かを判定する(S205)。
ドメイン構成決定部152は、S205の判定結果が肯定的である場合、S203の処理に戻り、別のマスタ装置11の候補を選択し、S204およびS205の処理を繰り返す。一方で、ドメイン構成決定部152は、S205の判定結果が否定的である場合、候補として選択したマスタ装置11を、新しいマスタ装置11として決定する。
次に、ドメイン構成決定部152は、ドメイン構成記憶部151に記憶された同期関係情報を更新する(S206)。すなわち、ドメイン構成決定部152は、同期関係情報に対して、古いペアを示す情報(マスタ装置11-3とスレーブ装置12-3Aとを対応付けた情報)を削除し、新しいペアを示す情報(マスタ装置11-2とスレーブ装置12-3Aとを対応付けた情報)を追加する。
次に、ドメイン構成決定部152は、断続的な通信障害が発生している通信路を経由して通信するスレーブ装置12が他に存在するか否かを判定する(S207)。ドメイン構成決定部152は、このようなスレーブ装置12が他にも存在する場合、S202~S206の処理を繰り返す。以上説明したように、本実施形態のドメイン構成決定部152は、少なくとも1つのスレーブ装置12-3Aを別の時刻同期ドメインD-2に所属させることで、2つの時刻同期ドメインD-2,D-3を変形させる新しいドメイン構成を決定する。
断続的な通信障害が発生している通信路を経由して通信するスレーブ装置12が他に存在しない場合、ドメイン変更部153は、マスタ装置11およびスレーブ装置12に対して、時刻同期ドメインDを変更するための命令を出力する(S208)。これにより、スレーブ装置12は、同期先となるマスタ装置11を変更する。本実施形態では、スレーブ装置12-3Aがマスタ装置11-2に同期する。
図12は、ドメイン管理装置15による時刻同期ドメインDの変更後のドメイン構成を示す図である。上述したS201からS208の処理により、2つの時刻同期ドメインD-2,D-3が変形され、時刻同期ドメインD―2,D-3の境界が移動する。
このような構成によれば、複数の装置の時刻同期を高い精度で維持することができる。例えば、本実施形態では、システムの稼働中に、通信ネットワークNの障害状態に応じて時刻同期ドメインDを変更することで、通信障害に対する時刻同期システム1の耐性を向上させることができる。これにより、通信障害が発生した場合であっても、複数の装置の時刻同期を高い精度で維持することができる。例えば、通信量(トラヒック)の増加に応じて、時刻同期ドメインDを変更することで、通信量の変化に対する耐性を向上させることができる。
(第3の実施形態)
次に、図13から図15を参照し、第3の実施形態について説明する。本実施形態は、通信ネットワークNの一部に断続的な通信障害が発生する場合に1つの時刻同期ドメインDを2つに分割する点で、第2の実施形態とは異なる。なお以下に説明する以外の構成は、第2の実施形態と同様である。
図13は、本実施形態の時刻同期システム1の全体構成の一例を示す図である。なお図13は、時刻同期ドメインDの変更前のドメイン構成を示す。図13に示す例では、時刻同期システム1は、2つの時刻同期ドメインD-1,D-2を有する。時刻同期ドメインD1は、マスタ装置11-1と、マスタ装置11-1に同期する2つのスレーブ装置1212-1A,12-1Bにより構成されている。時刻同期ドメインD-2は、マスタ装置11-2と、マスタ装置11-2に同期する4つのスレーブ装置12-2A,12-2B,12-2C,12-2Dにより構成されている。以下では、スレーブ装置12-1A,12-1B,12-2A,12-2B,12-2C,12-2Dを互いに区別しない場合は、「スレーブ装置12」と称する。本実施形態では、各スレーブ装置12は、スレーブ機能に加えて、待機させているマスタ機能を有する。このため、ドメイン管理装置15Aは、任意のスレーブ装置12をマスタ装置11に切り替えることができる。
次に、本実施形態の時刻同期システム1の動作例について説明する。ここでは、図13に示された構成において、ネットワーク装置13-1とネットワーク装置13-4との間に断続的な通信障害が発生している場合を取り上げて説明する。
図14は、ドメイン管理装置15Aの処理の流れの一例を示すフローチャートである。ここで、S301およびS302の処理は、第2の実施形態のS201およびS202の処理と同じであるため、その重複する説明は省略する。すなわち、本実施形態では、例えば第2の実施形態で説明した方法で通信障害情報が取得される。本実施形態では、断続的な通信障害が発生している通信路を経由して通信するスレーブ装置12として、2つスレーブ装置12-2C,12-2Dが特定される。以下では、この特定されたスレーブ装置12-2C,12-2Dを、「変更対象スレーブ装置12」と称する。
次に、ドメイン構成決定部152は、ドメイン構成記憶部151に記憶された同期関係情報に基づき、任意のスレーブ装置12を、新しいマスタ装置11に切り替える候補として選択する(S303)。このスレーブ装置12の選択には、新しいマスタ装置11と残りの変更対象スレーブ装置12との間のネットワーク装置の数(中継数)や、新しいマスタ装置11の通信量などを追加の判断基準として採用することができる。本実施形態では、例えば、スレーブ装置12-2Cが新しいマスタ装置11の候補として選択される。
次に、ドメイン構成決定部152は、ネットワーク構成記憶部154に記憶された接続情報に基づき、残りの変更対象スレーブ装置12と新しいマスタ装置11の候補との間に存在するネットワーク装置13を探索する(S304)。
次に、ドメイン構成決定部152は、探索することで抽出されたネットワーク装置13を、残りの変更対象スレーブ装置12と新しいマスタ装置11との間の中継点とした場合に、残りの変更対象スレーブ装置と新しいマスタ装置11との間の通信が、断続的な通信障害が発生している通信路を経由することになるか否かを判定する(S305)。
ドメイン構成決定部152は、S305の判定結果が肯定的である場合、S303の処理に戻り、別のスレーブ装置12を候補として選択し、S304およびS305の処理を繰り返す。一方で、ドメイン構成決定部152は、S305の判定結果が否定的である場合、候補として選択したスレーブ装置12を、新しいマスタ装置11として決定する。
次に、ドメイン構成決定部152は、ドメイン構成記憶部151に記憶された同期関係情報を更新する(S306)。すなわち、ドメイン構成決定部152は、同期関係情報に対して、古いペアを示す情報(マスタ装置11-2とスレーブ装置12-2C,12-2Dとを対応付けた情報)を削除し、新しいペアを示す情報(元スレーブ装置であるマスタ装置12-2Cとスレーブ装置12-2Dとを対応付けた情報)を追加する。
次に、ドメイン構成決定部152は、断続的な通信障害が発生している通信路を経由して通信するスレーブ装置12が他に存在するか否かを判定する(S307)。ドメイン構成決定部152は、このようなスレーブ装置12が他にも存在する場合、S302~S306の処理を繰り返す。以上説明したように、本実施形態のドメイン構成決定部152は、1つのスレーブ装置12-2Cをマスタ装置11に変更し、他の1つ以上のスレーブ装置12-2Dをスレーブ装置12-2Cから変更したマスタ装置11に同期させることで、1つの時刻同期ドメインD-2を2つの時刻同期ドメインD-2,D-3に分割する新しいドメイン構成を決定する。
断続的な通信障害を持つ通信路を経由して通信するスレーブ装置12が他に存在しない場合、ドメイン変更部153は、マスタ装置11およびスレーブ装置12に対して、時刻同期ドメインDを変更するための命令を出力する(S308)。これにより、スレーブ装置12は、同期先となるマスタ装置11を変更する。本実施形態では、スレーブ装置12-2Dが元スレーブ装置12-2Cであるマスタ装置11に同期する。
図15は、ドメイン管理装置15による時刻同期ドメインDの変更後のドメイン構成を示す図である。上述したS301からS308の処理により、1つの時刻同期ドメインD-2が2つの時刻同期ドメインD-2,D-3に分割される。
このような構成によれば、複数の装置の時刻同期を高い精度で維持することができる。例えば、本実施形態では、システムの稼働中に、通信ネットワークNの障害状態に応じて時刻同期ドメインDを分割することで、通信障害に対する時刻同期システム1の耐性を向上させることができる。これにより、通信障害が発生した場合であっても、複数の装置の時刻同期を高い精度で維持することができる。
(第4の実施形態)
次に、図16から図18を参照し、第4の実施形態について説明する。本実施形態は、通信ネットワークNの一部に断続的な通信障害が発生している場合に一部のマスタ装置11同士の間の同期を切り離す点で、第2の実施形態とは異なる。なお以下に説明する以外の構成は、第2の実施形態と同様である。
図16は、本実施形態の時刻同期システム1の全体構成の一例を示す図である。なお図16は、マスタ装置11同士の間の同期を切り離す前の状態を示す。本実施形態では、時刻同期ドメインD-2は、「上位時刻同期ドメイン」の一例である。マスタ装置11-2は、「上位マスタ装置」の一例である。マスタ装置11-1,11-3の各々は、「下位マスタ装置」の一例である。
次に、本実施形態の時刻同期システム1の動作例について説明する。ここでは、図16に示された構成において、ネットワーク装置13-1とネットワーク装置13-2との間に断続的な通信障害が発生している場合を取り上げて説明する。
図17は、ドメイン管理装置15の処理の流れの一例を示すフローチャートである。ここで、S401の処理は、第2の実施形態のS201の処理と同じであるため、その重複する説明は省略する。すなわち、本実施形態では、例えば第2の実施形態で説明した方法で通信障害情報が取得される。
次に、ドメイン構成決定部152は、ドメイン構成記憶部151に記憶された同期関係情報に基づき、断続的な通信障害を持つ通信路を経由して上位マスタ装置11と通信する下位マスタ装置11を特定する(S402)。この下位マスタ装置11の特定は、例えば、同期関係情報に基づき、断続的な通信障害が発生している通信路で接続されたネットワーク装置13の識別子を上記リストに含む下位マスタ装置11の識別子を読み込むことで行われる。本実施形態では、ネットワーク装置13-2を経由して上位マスタ装置11-2に同期する下位マスタ装置11-1が特定される。以下では、この特定された下位マスタ装置11-1を、「変更対象マスタ装置11」と称する。
次に、ドメイン構成決定部152は、ドメイン構成記憶部151に記憶された同期関係情報において、上位マスタ装置11-2と下位マスタ装置11-1とを対応付ける情報を削除する(S403)。
次に、ドメイン構成決定部152は、断続的な通信障害を持つ通信路を経由して上位マスタ装置11と通信する下位マスタ装置11が他に存在するか否かを判定する(S404)。ドメイン構成決定部152は、このような下位マスタ装置11が他にも存在する場合、S402およびS403の処理を繰り返す。以上説明したように、本実施形態のドメイン構成決定部152は、上位マスタ装置11-2に対する下位マスタ装置11-1の同期を停止させることで、時刻同期ドメインD-2から時刻同期ドメインD-1を切り離す新しいドメイン構成を決定する。
断続的な通信障害を持つ通信路を経由して上記マスタ装置11と通信する下位マスタ装置11が他に存在しない場合、ドメイン変更部153は、マスタ装置11およびスレーブ装置12に対して、変更対象マスタ装置11と上位マスタ装置11との間の同期を停止するための命令を出力する(S405)。これにより、ドメイン管理装置15Aは、時刻同期ドメインD-2から時刻同期ドメインD-1を切り離す。
図18は、マスタ装置11同士の間の同期を切り離した後の状態を示す図である。上述したS401からS405の処理により、時刻同期ドメインD-2から時刻同期ドメインD-1が切り離される。
このような構成によれば、複数の装置の時刻同期を高い精度で維持することができる。例えば、本実施形態では、システムの稼働中に、通信ネットワークNの障害状態に応じて複数の時刻同期ドメインDの間の同期を切り離すことで、時刻同期ドメインD単位で通信障害に対する影響を小さくすることができ、通信障害に対する耐性を向上させることができる。これにより、通信障害が発生した場合であっても、時刻同期ドメインD単位で複数の装置の時刻同期を高い精度で維持することができる。
(第5の実施形態)
次に、図19から図21を参照し、第5の実施形態について説明する。本実施形態は、マスタ装置11Aおよびスレーブ装置12Aの各々がドメイン管理部15aを有する点で、第2の実施形態とは異なる。すなわち、本実施形態は、マスタ11Aまたはスレーブ装置12Aがドメイン管理機能を有する情報処理装置に該当する。なお以下に説明する以外の構成は、第2の実施形態と同様である。
図19は、本実施形態の時刻同期システム1の全体構成の一例を示す図である。なお図19は、時刻同期ドメインDの変更前のドメイン構成を示す。本実施形態の時刻同期システム1は、例えば、複数のマスタ装置11A-1,11A-2,11A-3、および複数のスレーブ装置12A-1A,12A-1B,12A-2A,12A-3A,12A-3Bを含む。マスタ装置11A-1,11A-2,11A-3を互いに区別しない場合は、「マスタ装置11A」と称する。スレーブ装置12A-1A,12A-1B,12A-2A,12A-3A,12A-3Bを互いに区別しない場合は、「スレーブ装置12A」と称する。
本実施形態では、マスタ装置11Aおよびスレーブ装置12Aの各々は、マスタ機能またはスレーブ機能に加え、ドメイン管理部15aを有する。なお、ドメイン管理部15aを有すること以外のマスタ装置11Aおよびスレーブ装置12Aの構成は、これまでの実施形態のマスタ装置11およびスレーブ装置12と略同じである。また本実施形態では、ドメイン管理装置15が存在しなくてもよい。
図20は、本実施形態のスレーブ装置12Aの機能構成を示すブロック図である。本実施形態のスレーブ装置12Aは、スレーブ機能を実現するためのスレーブ機能部161に加えて、ドメイン構成記憶部151、ドメイン構成決定部152、ドメイン変更部153、およびネットワーク構成記憶部154を備えている。
次に、本実施形態の時刻同期システム1の動作例について説明する。ここでは、図19に示された構成において、ネットワーク装置13-1とネットワーク装置13-3との間に断続的な通信障害が発生している場合を取り上げて説明する。
図21は、スレーブ装置12Aの処理の流れの一例を示すフローチャートである。まず、ドメイン構成決定部152は、ネットワーク装置13-1とネットワーク装置13-3との間に断続的な通信障害が発生した場合、通信ネットワークNを介して、通信障害が発生したことを示す通信障害情報を受信する(S501)。このS501の詳細は、第2の実施形態のS201の処理と同じであるため、その重複する説明は省略する。すなわち、本実施形態では、例えば第2の実施形態で説明した方法で通信障害情報が取得される。
次に、ドメイン構成決定部152は、ドメイン構成記憶部151に記憶された同期関係情報に基づき、自装置12Aと自装置12Aが同期するマスタ装置11Aとの間に存在するネットワーク装置13を特定する(S502)。
次に、ドメイン構成決定部152は、断続的な通信障害を持つ通信路が自装置12Aと自装置12Aが同期するマスタ装置11Aとの間に存在するか否かを判定する(S503)。ドメイン構成決定部152は、S503の判定結果が否定的である場合、本フローチャートの処理を終了する。
次に、ドメイン構成決定部152は、S503の判定結果が肯定的である場合、ドメイン構成記憶部151に記憶された同期関係情報に基づき、自装置12Aに対する新しいマスタ装置11Aの候補として別のマスタ装置11Aを検索し、検索により抽出されたマスタ装置11Aのなかから新しいマスタ装置11Aを選択する(S504)。新しいマスタ装置11Aの選択には、自装置12Aと新しいマスタ装置11Aとの間のネットワーク装置の数(中継数)や、新しいマスタ装置11Aの通信量などを追加の判断基準として採用することができる。本実施形態では、マスタ装置11A-2が新しいマスタ装置11Aの候補として選択される。
次に、ドメイン構成決定部152は、ネットワーク構成記憶部154に記憶された接続情報に基づき、自装置12Aと新しいマスタ装置11Aの候補との間に存在するネットワーク装置13を探索する(S505)。
次に、ドメイン構成決定部152は、探索することで抽出されたネットワーク装置13を、自装置12Aと新しいマスタ装置11Aとの間の中継点とした場合に、自装置12Aと新しいマスタ装置11との間の通信が、断続的な通信障害が発生している通信路を経由することになるか否かを判定する(S506)。
ドメイン構成決定部152は、S506の判定結果が肯定的である場合、S504の処理に戻り、別のマスタ装置11Aの候補を選択し、S505およびS506の処理を繰り返す。一方で、ドメイン構成決定部152は、S506の判定結果が否定的である場合、候補として選択したマスタ装置11Aを、新しいマスタ装置11Aとして決定する。
次に、ドメイン構成決定部152は、ドメイン構成記憶部151に記憶された同期関係情報を更新する(S507)。すなわち、ドメイン構成決定部152は、同期関係情報に対して、古いペアを示す情報(マスタ装置11A-3とスレーブ装置12A-3Aとを対応付けた)を削除し、新しいペアを示す情報(マスタ装置11A-2とスレーブ装置12A-3Aとを対応付けた情報)を追加する。
次に、ドメイン変更部153は、マスタ装置11およびスレーブ装置12に対して、時刻同期ドメインDを変更するための命令を出力する(S508)。これにより、スレーブ装置12は、同期先となるマスタ装置11を変更する。本実施形態では、スレーブ装置12-3Aがマスタ装置11A-2に同期する。
図22は、ドメイン管理部15aにより時刻同期ドメインDが変更後のドメイン構成を示す図である。上述したS501からS508の処理により、2つの時刻同期ドメインD-2,D-3が変形される。
このような構成によれば、複数の装置の時刻同期を高い精度で維持することができる。例えば、本実施形態では、システムの稼働中に、通信ネットワークNの障害状態に応じて時刻同期ドメインDを変更することで、通信障害に対する時刻同期システム1の耐性を向上させることができる。これにより、通信障害が発生した場合であっても、複数の装置の時刻同期を高い精度で維持することができる。さらに、スレーブ装置12Aにドメイン管理部15aを持たせることで、ドメイン管理装置15を別途ネットワーク上に配置しなくてもよくなる。
なお、第5の実施形態では、スレーブ装置12Aが有するドメイン管理部15aにより時刻同期ドメインDの変更が行われる例について説明した。これに代えて、またはこれに加えて、マスタ装置11Aが有するドメイン管理部15aにより同様の時刻同期ドメインDの変更が行われてもよい。
(第6の実施形態)
次に、図23および図24を参照し、第6の実施形態について説明する。本実施形態は、ドメイン構成決定部152を有するドメイン管理装置15Aが設けられる代わりに、管理者により入力された入力指示に基づき時刻同期ドメインDを変更するドメイン管理装置15Bが設けられた点で、第2の実施形態とは異なる。なお以下に説明する以外の構成は、第2の実施形態と同様である。
図23は、本実施形態のドメイン管理装置15Bの機能構成を示すブロック図である。本実施形態のドメイン管理装置15Bは、ドメイン構成記憶部151、ドメイン変更部153、ネットワーク構成記憶部154に加えて、入力部171、指示取得部172、ドメイン構成管理部173、情報出力部174、および表示部175を有する。
入力部171は、マウスやキーボードなどの入力デバイスを有してもよいし、表示装置と入力装置が一体に形成されたタッチパネルを有してもよい。入力部171は、時刻同期ドメインDの変更に関する管理者の入力指示(管理者の入力操作)を受け付ける。管理者の指示は、時刻同期ドメインDの変更後の時刻同期ドメインDのドメイン構成を含む。なお、入力部171は、ドメイン管理装置15とは異なる端末に設けられ、ネットワークを介してドメイン管理装置15と通信可能であってもよい。
指示取得部172は、入力部171に入力された管理者の指示を示す情報を取得する。すなわち、指示取得部172は、時刻同期ドメインDに対するスレーブ装置12の所属関係を変更する監視者の入力指示を取得する。指示取得部172は、管理者の入力指示の内容をドメイン構成管理部173に出力する。
ドメイン構成管理部173は、指示取得部172により取得された管理者の入力指示に基づき、各時刻同期ドメインDのドメイン構成を管理する。ドメイン構成管理部173は、時刻同期システム1に生じた変化を示す情報(以下、「変化発生情報」と称する)を通信ネットワークNから取得する。
情報出力部174は、表示部175に表示させる情報を生成し、表示部175に出力する。情報出力部174は、例えば、マスタ装置11の稼働状態、時刻同期システム1に含まれる通信ネットワークNの通信路の稼働状態、前記通信路の通信量、マスタ装置11とスレーブ装置12との時刻のずれ、およびマスタ装置11とスレーブ装置12との間の伝送遅延のうち1つ以上の情報を表示部175に出力する。
表示部175は、ディスプレイなどの表示デバイスを有し、情報出力部174から出力された情報を表示する。なお表示部175は、ドメイン管理装置15とは異なる端末に設けられ、ネットワークを介してドメイン管理装置15と通信可能であってもよい。
次に、本実施形態の時刻同期システム1の動作例について説明する。図24は、ドメイン管理装置15Bの処理の流れの一例を示すフローチャートである。まず、ドメイン構成管理部173は、例えば、通信ネットワークNから断続的な通信障害の発生を示す通信障害情報を受信する(S601)。
次に、情報出力部174は、ドメイン構成管理部173が受信した通信障害情報に基づき、表示部175に表示させる情報を生成する。情報出力部174は、例えば、「変化発生情報」の一例として、通信障害の種類、程度、および発生箇所などを含む情報を生成して表示部175に出力する。これにより、表示部175は、通信障害の種類、程度、および発生箇所などを含む情報を表示画面に表示する(S602)。また、情報出力部174は、ドメイン構成記憶部151に記憶された同期関係情報に基づき、時刻同期ドメインDの現在のドメイン構成を表示部175に表示させる。そして、ドメイン管理装置15は、入力部171に対する管理者の入力操作を待つ。管理者は、例えば、現在のドメイン構成と通信障害の種類や発生箇所などを確認し、新しいドメイン構成を決定する。そして、管理者は、入力部171に対してドメイン構成を変更するための入力操作を行う。
次に、指示取得部172は、入力部171に入力された管理者の入力指示を取得する(S603)。ドメイン構成管理部173は、管理者により入力部171に入力された新しいドメイン構成に基づき、ドメイン構成記憶部151に記憶された同期関係情報を更新する(S604)。また、ドメイン構成管理部173は、管理者により入力部171に入力された新しいドメイン構成をドメイン変更部153に出力する。ドメイン変更部153は、マスタ装置11およびスレーブ装置12に対して、時刻同期ドメインDを変更するための命令を出力する(S605)。これにより、管理者により入力された入力指示に基づき、時刻同期ドメインDが変更される。
このような構成によれば、複数の装置の時刻同期を高い精度で維持することができる。例えば、本実施形態では、システムの稼働中に、通信障害の状態に応じて人間の判断で時刻同期ドメインDを変更して、時刻同期精度を維持することが可能となる。これにより、複数の装置の時刻同期を高い精度で維持することができる。
以上説明した第1から第6の実施形態のドメイン構成決定部152、ドメイン変更部153、指示取得部172、ドメイン構成管理部173、および情報出力部174のうち少なくとも一部は、例えば、CPU(Central Processing Unit)のようなハードウェアプロセッサが記憶部に格納されたコンピュータプログラム(ソフトウェア)を実行することにより実現される。すなわち、これら機能部は、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現可能である。ドメイン管理装置15,15A,15Bは、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD-ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムが配布され、そのプログラムがコンピュータ装置に適宜インストールされることで実現されてもよい。また、これらの機能部のうち一部または全部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、またはFPGA(Field-Programmable Gate Array)などのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
ドメイン構成記憶部151およびネットワーク構成記憶部154のうち少なくとも一方を含む記憶部は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ、もしくはCD-R、CD-RW、DVD-RAM、DVD-Rなどの記憶媒体などを適宜利用して実現することができる。
以上、いくつかの実施形態について説明したが、上述した各実施形態は、互いに組み合わせて実現されてもよい。例えば、第5の実施形態および第6の実施形態では、2つの時刻同期ドメインDが変形される例について説明したが、これに限定されない。第5の実施形態および第6の実施形態の構成により、2つの時刻同期ドメインDを併合する処理や、1つの時刻同期ドメインDを2つに分割する処理、上位マスタ装置11に対する一部の下位マスタ装置11の同期の切り離し処理などが行われてもよい。また、各実施形態において、複数の時刻同期ドメインDは互いに独立して存在してもよい。
以上説明した少なくともひとつの実施形態によれば、システムに変化が生じた場合に、
時刻同期精度を低下させる要因箇所を排除するように時刻同期ドメインが再構成される。これにより、複数の装置の時刻同期を高い精度で維持することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。