以下、図面を用いて実施例を説明する。
以下の説明では、IEEE1588の時刻同期部を具備する装置間において、時刻マスタから時刻スレーブへの時刻配信動作を試験し、時刻マスタの時刻配信動作と配信する時刻の正常性を判定する例を説明する。尚、使用するプロトコルは、IEEE1588プロトコルに限定されるものではなく、他の時刻同期のプロトコルが用いられても構わない。
図1は、時刻同期システムの例を示す図である。図1に示した矢印はIEEE1588で規定されたPTPフレームの流れを示しており、PTPフレーム以外の主信号の流れについては省略している。上位装置200と下位装置(L1)300、端末(T1)400は、それぞれIEEE1588の時刻同期を実現する処理部を具備している。上位装置200は、例えばGPSなどの時刻源100から時刻が配信され、配信された時刻を基準の時刻としてPTP時刻マスタH201で保持する。PTP時刻マスタH201は下位装置(L1)300が具備するPTP時刻スレーブL301へ時刻を配信する。
PTP時刻スレーブL301は、IEEE1588で規定されている手順で、オフセット(時刻マスタと時刻スレーブの時刻差)と伝送遅延時間を算出し、PTP時刻マスタH201から配信された時刻を補正する。補正された時刻はPTP時刻スレーブL301からPTP時刻マスタL302へ転写される。PTP時刻マスタL302は、端末(T1)400が具備するPTP時刻スレーブT401へ時刻を配信する。
PTP時刻スレーブT401は、PTP時刻スレーブL301と同様に、PTP時刻マスタL302から配信された時刻の補正を実施し、保存する。このような動作が正常に実施されている場合は、時刻源100から取得した時刻に、上位装置200、下位装置(L1)300、端末(T1)400が同期していることとなる。
このような時刻同期システムにおいて、端末(T1)400のPTP時刻スレーブT401に配信された時刻が、上位装置200のPTP時刻マスタH201が配信した時刻と同等であることを確認する構成を以下に説明する。
上位装置200は、下位装置(L1)300のPTP時刻マスタL302が配信する時刻と時刻配信動作の正常性を確認するために、PTP時刻スレーブH(試験用)203を具備する。PTP時刻スレーブH(試験用)203は、PTP時刻マスタL302から配信される時刻に単に同期させるためのものではなく、PTP時刻マスタL302から配信された時刻の正常性を確認するための構成である。
PTP時刻マスタL302は、PTP時刻スレーブH(試験用)203へも時刻を配信する。PTP時刻スレーブH(試験用)203は、PTP時刻スレーブT401と同様に、PTP時刻マスタL302から配信される時刻の補正を実施する。そして、この補正された時刻とPTP時刻マスタH201が保持する時刻とが同等であるかを、時刻比較(PTP時刻比較部H)202が判定する。これにより、PTP時刻マスタH201が配信した時刻とPTP時刻スレーブTに配信された時刻が同等であるか、またPTP時刻マスタL302の時刻配信動作が正常であるかの確認をすることが可能となる。
下位装置は複数であってもよい。例えば下位装置(Lm)350が、下位装置(L1)300と並列に上位装置200へ接続されてもよく、下位装置(Lm)350に端末(Tm)450が接続されてもよい。上位装置200と下位装置(Lm)350との動作は、上位装置200と下位装置(L1)300との動作と同じであってもよい。
さらに下位装置(Ln)360が上位装置200に接続され、下位装置(Lp)370に端末(Tn)460が接続されて、下位装置(Ln)360と下位装置(Lp)370とが接続される、あるいは下位装置(Ln)360と下位装置(Lp)370とが図示を省略した1つ以上の下位装置を介して直列に接続されてもよい。この構成においては、端末(Tn)460に接続される下位装置(Lp)370と上位装置200との動作が、下位装置(L1)300と上位装置200との動作と同じであり、下位装置(Ln)360および下位装置(Ln)360と下位装置(Lp)370の間の図示を省略した下位装置は、PTPフレームを通過させる動作であってもよい。
図2を使用して、上位装置200の時刻情報と、PTPフレームを処理する構成の例について説明する。主信号の処理については図示を省略し、時刻の処理についてのみ図示している。上位装置200は、時刻情報、PTPフレーム情報を処理する構成として時刻源側インタフェース部204、時刻処理部H205、下位側インタフェース部206を備える。
時刻源側インタフェース部204は、時刻源100からの時刻を受信し、時刻情報を時刻処理部H205へ転送する時刻受信部H207を備える。下位側インタフェース部206は、時刻処理部H205からのPTPフレームを下位装置(L1)300へ転送するための下りフレーム送信部HL218と、下位装置(L1)300から受信したPTPフレームを時刻処理部H205へ転送する上りフレーム受信部HL219を備える。尚、下位側インタフェース部206は1つであってもよいし、複数であってもよく、1つの下位側インタフェース部206に1つの下位装置(L1)300が接続されてもよいし、図示を省略した複数の下位装置が接続されてもよい。また、下位側インタフェース部206は主信号のインタフェースと共用であってもよいし、PTPフレームの専用であってもよい。
時刻処理部H205は、IEEE1588による本来の時刻同期を実現するためのPTP時刻同期処理部H214と、下位装置(L1)300に対して時刻同期動作を試験するために、PTP時刻同期処理部H214の時刻と下位装置(L1)300の時刻を比較するPTP時刻同期処理監視部215と、PTP時刻同期処理部H214とPTP時刻同期処理監視部215から転送されたPTPフレームのそれぞれを1つ以上の下位側インタフェース部206へ転送するPTP時刻フレーム振分部H216と、下位側インタフェース部206から受信したPTPフレームを識別してPTP時刻同期処理部H214とPTP時刻同期処理監視部215へ転送するPTP時刻フレーム識別部H217を備える。
PTP時刻同期処理部H214は、PTP時刻マスタH201と、PTP時刻マスタH201の使用する情報が記録されたパラメータテーブルHM208を備える。パラメータテーブルHM208については、後で図4を使用して説明する。
PTP時刻同期処理監視部215は、PTP時刻スレーブH(試験用)203と、PTP時刻スレーブH(試験用)203が得た情報などを記録するパラメータテーブルHS211と、下位装置(L1)300との時刻同期動作試験の実施を指示するPTP試験管理部H212と、PTP試験管理部H212が時刻同期機能試験の実施指示を出すスケジュールを管理する試験スケジュールテーブルH213と、PTP時刻スレーブH(試験用)203が試験で取得した時刻とPTP時刻マスタH201が保持する時刻を比較し時刻の正常性を判定するPTP時刻比較部H202と、PTP時刻比較部H202が比較して得た判定結果を記録する試験結果テーブルH210を備える。
パラメータテーブルHS211、試験スケジュールテーブルH213、試験結果テーブルH210については、後で図5、6、7をそれぞれ使用して説明する。
次に、図3を使用して下位装置(L1)300のPTPフレームを処理する構成の例について説明する。主信号の処理については図示を省略し、時刻の処理についてのみ図示している。また、下位装置(L1)300を例に説明するが、下位装置(Lm)350と下位装置(Lp)370を含めて他の下位装置も同じ構成であってもよい。下位装置(L1)300は、PTPフレーム情報を処理する構成として上位側インタフェース部303、時刻処理部L304、端末側インタフェース部305を備える。
上位側インタフェース部303は、上位装置200からのPTPフレームを受信し、時刻処理部L304へ転送する下りフレーム受信部HL306と、時刻処理部L304から受信したPTPフレームを上位装置200へ転送する上りフレーム送信部LH307を備える。
端末側インタフェース部305は、時刻処理部L304から受信したPTPフレームを端末(T1)400へ送信する下りフレーム送信部LT314と、端末(T1)400から受信したPTPフレームを時刻処理部L304へ転送する上りフレーム受信部LT315を備える。尚、上位側インタフェース部303と端末側インタフェース部305は、主信号のインタフェースと共用であってもよいし、PTPフレームの専用であってもよい。また、端末側インタフェース部305は1つであってもよいし、複数であってもよい。
IEEE1588の時刻同期を実現するために、時刻処理部L304にPTP時刻同期処理部L311と、上位側インタフェース部303と端末側インタフェース部305から転送されたそれぞれのPTPフレームを識別してPTP時刻スレーブL301とPTP時刻マスタL302へ転送するPTP時刻フレーム識別部L308と、PTP時刻マスタLから受信したPTPフレームを振分けて端末側インタフェース部305とPTP時刻フレーム多重部309へ転送するPTP時刻フレーム振分部L310と、PTP時刻フレーム振分部L310とPTP時刻スレーブL301からのPTPフレームを受信し、1つの通信路に多重化して上位側インタフェース部303へ転送するPTP時刻フレーム多重部309を備える。
PTP時刻同期処理部L311は、PTP時刻スレーブL301と、PTP時刻スレーブL301が得た情報などを記録するパラメータテーブルLS312と、PTP時刻マスタL302と、PTP時刻マスタL302の使用する情報が記録されたパラメータテーブルMS313を備える。
以下、上位装置200と下位装置(L1)300で使用するテーブルについて説明する。
図4を使用して上位装置200が保持するパラメータテーブルHM208の例について説明する。PTP時刻マスタが使用するパラメータテーブルは、時刻の情報を送信する際の送信先となるPTP時刻スレーブを特定する情報と送信間隔の情報を含む。図4では、PTP時刻マスタが使用するパラメータテーブルの例としてPTP時刻マスタH201が使用するパラメータテーブルHM208について記載するが、保持する情報の種類としてはPTP時刻マスタL302が使用するパラメータテーブルMS313においても同様である。
パラメータテーブルHM208は、マスタとスレーブの関係を確立させたいスレーブ装置、例えば下位装置(L1)300のスレーブ装置名、スレーブIPアドレス、スレーブMACアドレス、Announce送信周期、Sync送信周期の各情報をスレーブ装置に対応付けて記録している。スレーブ装置名は、スレーブとなった装置の名称であり、この例では「下位装置(L1)」などとしているが、スレーブを識別できる名称であれば、他の形式の情報であってもよい。また、下位装置(L1)300の保持するパラメータテーブルMS313は、スレーブ装置名として端末(T1)400の装置名や上位装置200の装置名を含んでもよい。
スレーブIPアドレスは、スレーブとなった装置のIPアドレスであり、この例ではIPアドレスの値を「IP(L1)」などと表現している。スレーブMACアドレスは、スレーブとなった装置のMACアドレスであり、この例ではMACアドレスの値を「MAC(L1)」などと表現している。
Announce送信周期は、スレーブとなった装置へAnnounceを送信する周期であり、この例では周期が何秒であるかの値を「AS(L1)」と表現している。Announceの送信は、IEEE1588プロトコルで規定されたものであり、後で図8などを使用して説明する。「AS(L1)」と「AS(L2)」と「AS(L3)」とはスレーブが異なるために異なる表現としているが、値としては同じであってもよいし、異なってもよい。
Sync送信周期は、スレーブとなった装置へSyncを送信する周期であり、この例では周期が何秒であるかの値を「SS(L1)」と表現している。Syncの送信は、IEEE1588プロトコルで規定されたものであり、後で図8などを使用して説明する。「SS(L1)」と「SS(L2)」と「SS(L3)」とはスレーブが異なるために異なる表現としているが、値としては同じであってもよいし、異なってもよい。また、「AS(L1)」と「SS(L1)」とは送信するものが異なるために異なる表現としているが、値としては同じあってもよいし、異なってもよい。
これらの情報は全て、図示を省略した入力装置あるいはネットワークを経由して、保守者により入力される情報である。
次に、図5を使用して下位装置(L1)300が保持するパラメータテーブルLS312について説明する。PTP時刻スレーブが使用するパラメータテーブルは、時刻同期のためにPTP時刻スレーブからPTP時刻マスタへ情報を送信する際の送信先となるPTP時刻マスタを特定する情報と時刻同期のための情報を含む。PTP時刻スレーブが使用するパラメータテーブルの例としては、PTP時刻スレーブL301が使用するパラメータテーブルLS312を記載するが、保持する情報の種類としては、PTP時刻スレーブH(試験用)203が使用するパラメータテーブルHS211においても同様である。
パラメータテーブルLS312は、マスタとスレーブの関係を確立させたマスタ装置、例えば上位装置200のマスタ装置名、マスタIPアドレス、マスタMACアドレス、タイムスタンプ情報の各情報をマスタ装置に対応付けて記録している。マスタ装置名は、マスタとなった装置の名称であり、この例では「上位装置」としているが、マスタを識別できる名称であれば、他の形式の情報であってもよい。また、上位装置200の保持するパラメータテーブルHS211は、マスタ装置名として「上位装置(L1)」などを含んでもよい。
マスタIPアドレスは、マスタとなった装置のIPアドレスであり、この例ではIPアドレスの値を「IP(H1)」などと表現している。マスタMACアドレスは、マスタとなった装置のMACアドレスであり、この例ではMACアドレスの値を「MAC(H1)」などと表現している。マスタに関するこれらの情報は、受信したAnnounceに含まれるPTP時刻マスタに関する情報に基づいて記録されてもよいし、図示を省略した入力装置あるいはネットワークを経由して、保守者により入力されてもよい。
タイムスタンプ情報は、この例では上位装置200であるマスタから送信されてきた情報である時刻Ta、Tdと、この例ではPTP時刻スレーブL301であるスレーブがPTPフレームを送受信するときに記録した時刻Tb、Tcの情報である。パラメータテーブルLS312のタイムスタンプ情報は、PTP時刻スレーブL301により記録されてもよい。時刻Ta、Tb、Tc、Tdについては、後で図8などを使用して説明する。
次に、図6を使用して試験スケジュールテーブルH213の例について説明する。試験スケジュールテーブルH213は、試験を開始するための情報を含み、マスタとスレーブの関係を確立させたマスタ装置、例えば下位装置(L1)300などのマスタ装置名、時刻Taと時刻Tbの両方の情報が既に存在するか否かを示すTa、Tb情報の有無、実質的な試験開始の時刻となるマスタへのDelay_Req送信時刻の各情報をマスタ装置に対応付けて保持する。
Ta、Tb情報の有無は、時刻Taと時刻Tbの両方の情報が既に存在する場合は「有」となり、時刻Taと時刻Tbのどちらか一方あるいは両方の情報が存在しない場合は「無」となる。ここで、「有」と「無」は、有無を表す情報であれば、他の形式の情報であってもよい。また、Ta、Tb情報は、マスタ装置名で特定される装置が試験においてSyncを送信する際の情報であり、後で図9を使用して説明する「Ta’’」、「Tb’’」、「Ta’’’」、「Tb’’’」である。
マスタへのDelay_Req送信時刻は、マスタ装置名で特定される装置へ試験においてDelay_Reqを送信する時刻であって、後で図9、10を使用して説明するように実質的な試験開始の時刻となり、後で図9を使用して説明する「Tc’’」、「Tc’’’」である。「Tc’’’」については図示を省略している。
マスタ装置名とマスタへのDelay_Req送信時刻は、図示を省略した入力装置あるいはネットワークを経由して、予め保守者により入力される情報である。Ta、Tb情報の有無は、「無」と初期化され、パラメータテーブルHS211のタイムスタンプ情報に時刻Taと時刻Tbの両方が格納された時点で、PTP試験管理部H212により「有」が記録される。
次に、図7を使用して試験結果テーブルH210の例について説明する。試験結果テーブルH210は、試験の結果の情報を含み、マスタとスレーブの関係を確立させたマスタ装置、例えば下位装置(L1)300などのマスタ装置名、試験の結果が良好であったか不良であったか等を示す試験結果/時刻誤差の各情報をマスタ装置に対応付けて保持する。
試験結果/時刻誤差は、試験の結果が良好であると判定された場合に「OK」となり、試験の結果が不良であると判定された場合に「NG」となる。試験の結果は、PTP時刻スレーブH(試験用)203が保持する時刻と、PTP時刻マスタH201が保持する時刻をPTP時刻比較部H202で比較し、比較の結果の差分が予め設定された閾値以下であれば良好と判定され、閾値より大きい場合は不良と判定されてもよい。また、その差分は、時刻誤差として「et(L1)」などとして記録されてもよい。尚、この例では時刻誤差が何秒であるかの値を「et(L1)」などと表現している。
試験結果テーブルH210の情報は、PTP時刻比較部H202により記録される。そして、試験結果テーブルH210の情報は、図示を省略した出力装置やネットワーク経由で監視装置へ出力されてもよい。試験結果の「NG」が検出されて、警報が発せられてもよい。
図8を使用して、上位装置200、下位装置(L1)300、端末(T1)400の時刻同期のためのシーケンスの例について説明する。図8のシーケンスの例は試験ではなく、通常時の上位装置200から端末(T1)400へ時刻を同期する動作である。このため、PTP時刻スレーブH(試験用)203を含むPTP時刻同期処理監視部215は使用されない。ここで使用するメッセージ(PTPフレーム)は、IEEE1588において規定されているものである。
まず、上位装置200のPTP時刻マスタH201は、時刻源100から時刻受信部H207を経由して、時刻の情報を予め受信し、時刻を保持している。以下のシーケンスでは、最初に、上位装置200のPTP時刻マスタH201が、パラメータテーブルHM208のAnnounce送信周期を参照し、「AS(L1)」の周期となったことを検出して、スレーブ装置名の「下位装置(L1)」である下位装置(L1)300のPTP時刻スレーブL301に対して、PTP時刻マスタ情報及び時刻品質情報をAnnounce(H1)600として送信する。
この送信のために、上位装置200と下位装置(L1)300との間の通信プロトコルに応じて、スレーブIPアドレスの「IP(L1)」やスレーブMACアドレスの「MAC(L1)」がAnnounce(H1)600に送信先アドレスとして含められ、PTP時刻フレーム振分部H216と下りフレーム送信部HL218を経由して送信される。PTP時刻フレーム振分部H216は、Announce(H1)600などのPTPフレームに含まれる送信先アドレスに基づいて、PTPフレームの振分けを行ってもよい。
下位装置(L1)300において、PTP時刻スレーブL301は、下りフレーム受信部LH306とPTP時刻フレーム識別部308を介してAnnounce(H1)600を受信し、マスタ・スレーブ関係確立601を実行し、マスタとスレーブの関係を確立する。Announceはマスタがスレーブへ送信するPTPフレームであるので、PTP時刻フレーム識別部308は、Announceであることを識別してPTP時刻スレーブL301へ転送してもよい。
続いて、PTP時刻マスタH201は、パラメータテーブルHM208のSync送信周期を参照し、「SS(L1)」の周期となったことを検出して、Announce(H1)600の送信と同様に、スレーブ装置名の「下位装置(L1)」である下位装置(L1)300のPTP時刻スレーブL301に対して、Sync(H1)602を送信し、この送信時刻TaをFollow_Up(H1)[t1]603に含めて送信する。
これに対して、Announce(H1)600の受信と同様に、PTP時刻スレーブL301は、Sync(H1)602を受信して、その受信時刻TbをパラメータテーブルLS312のタイムスタンプ情報に記録し、Follow_Up(H1)[Ta]603を受信して、そのFollow_Up(H1)[Ta]603に含まれる送信時刻TaをパラメータテーブルLS312のタイムスタンプ情報に記録する。そして、PTP時刻マスタH201に対し、PTP時刻フレーム多重部L309と上りフレーム送信部LH307を介して、Delay_Req(L1)604を送信し、その送信時刻TcをパラメータテーブルLS312のタイムスタンプ情報に記録する。
PTP時刻マスタH201は、上りフレーム受信部HL219とPTP時刻フレーム識別部H217を介して、Delay_Req(L1)を受信し、この受信時刻TdをDelay_Resp(H1)[Td]605に含めて、PTP時刻スレーブL301へ送信する。PTP時刻スレーブL301は、Delay_Resp(H1)[Td]605を受信して、Delay_Resp(H1)[Td]605に含まれる受信時刻TdをパラメータテーブルLS312のタイムスタンプ情報に記録する。
IEEE1588のプロトコルにしたがい、PTP時刻スレーブL301は、パラメータテーブルLS312のタイムスタンプ情報に記録されたTa、Tb、Tc、Tdの時刻情報を使用して、上位装置マスタと時刻同期606を実行し、PTP時刻スレーブL301の時刻を補正する。この補正の処理は、マスタ・スレーブ間の伝送遅延時間が対象であるという前提で、以下の式に基づきOffsetとDelayを算出し、補正する。
Delay+Offset=Tb-Ta
Delay-Offset=Td-Tc
Delay=((Tb-Ta)+(Td-Tc))/2
Offset=((Tb-Ta)-(Td-Tc))/2
以上で説明したように、PTP時刻スレーブL301は、PTP時刻マスタH201との時刻同期がされたこととなる。PTP時刻スレーブL301はPTP時刻マスタL302に対して時刻転写607を実行し、PTP時刻マスタL302は転写された時刻を端末(T1)400のPTP時刻スレーブT401へ配信する。なお、パラメータテーブルHM208のAnnounce送信周期とSync送信周期からも明らかなように、周期的に時刻同期のための通信は実行されるため、時刻転写607も周期的あるいは予め設定された条件に基づいて繰り返し実行されてもよい。
PTP時刻マスタL302は、パラメータテーブルMS313に記録された情報に基づき、時刻同期のための通信を実行する。PTP時刻マスタH201の代わりにPTP時刻マスタL302であり、PTP時刻スレーブL301の代わりにPTP時刻スレーブT401であることと、時刻Ta、Tb、Tc、Tdの代わりに時刻Ta’、Tb’、Tc’、Td’であることを除き、
Announce(L1)610、マスタ・スレーブ関係確立611、Sync(L1)612、Follow_Up(L1)[Ta’]613、Delay_Req(T1)614、Delay_Resp(L1)[Td’]615、上位装置マスタと時刻同期616のそれぞれは、Announce(H1)600、マスタ・スレーブ関係確立601、Sync(H1)602、Follow_Up(H1)[Ta]603、Delay_Req(L1)604、Delay_Resp(H1)[Td]605、上位装置マスタと時刻同期606のそれぞれと同様であるので、詳しい説明を省略する。
図9を使用して、下位装置(L1)300と下位装置(L2)330から上位装置200のPTP時刻スレーブH(試験用)203へ時刻を送信するシーケンスの例を説明する。図9のシーケンスの例は試験のための動作であり、試験でない場合は端末(T1)400へ送信されるはずの時刻の情報を、PTP時刻スレーブH(試験用)203が端末(T1)400の代わりに受信し、時刻の正常性を判定する試験である。このため、PTP時刻スレーブT401を含む端末(T1)400は使用されない。
下位装置(L1)300のPTP時刻マスタL302は、パラメータテーブルMS313を参照し、上位装置200に対応付けられたAnnounce送信周期に基づく時刻に、IEEE1588のプロトコルにしたがって、PTP時刻スレーブH(試験用)203に対しAnnounce(L1)620を送信する。ここで、PTP時刻マスタL302は、パラメータテーブルMS313のスレーブIPアドレスやスレーブMACアドレスを参照し、Announce(L1)620にIPアドレスやMACアドレスの送信先アドレスを含めて、PTP時刻フレーム振分部L310、PTP時刻フレーム多重部L309、上りフレーム送信部LH307を介して送信する。
PTP時刻フレーム振分部L310は、Announce(L1)610やAnnounce(L1)620などのPTPフレームに含まれる送信先アドレスに応じて、下りフレーム送信部LT314かPTP時刻フレーム多重部L309かのいずれに送信するかを振り分ける。また、端末(T1)400が複数の下りフレーム送信部LT314を備える場合は、PTPフレームに含まれる送信先アドレスに応じて、その複数の下りフレーム送信部LT314の中で振り分けてもよい。
上位装置200において、Announce(L1)620は、上りフレーム受信部HL219とPTP時刻フレーム識別部H217を介して、PTP時刻スレーブH(試験用)203により受信される。PTP時刻フレーム識別部H217は、PTP時刻フレーム識別部L308と同様に、Announceであることを識別してPTP時刻スレーブH(試験用)203へ転送してもよい。尚、Sync、Follow_Up、Delay_Respであることを識別してPTP時刻スレーブH(試験用)203へ転送し、Delay_Reqであることを識別してPTP時刻マスタH201へ転送してもよい。Announce(L1)620を受信したPTP時刻スレーブH(試験用)203は、マスタ・スレーブ関係確立621を実行する。
PTP時刻マスタL302は、パラメータテーブルMS313を参照し、Sync送信周期に基づく時刻に、IEEE1588のプロトコルにしたがって、PTP時刻スレーブH(試験用)203に対してSync(L1)622を送信し、この送信時刻Ta’’をFollow_Up(L1)[Ta’’]623に含めて送信する。尚、Sync(L1)622とFollow_Up(L1)[Ta’’]623の送信ルートはAnnounce(L1)620と同じである。
Sync(L1)622を時刻Tb’’に受信し、Follow_Up(L1)[Ta’’]を受信したPTP時刻スレーブH(試験用)203は、Ta’’とTb’’を記録する。また、PTP試験管理部H212により、試験スケジュールテーブルH213のTa、Tb情報の有無を「有」に更新させる。そして、PTP時刻マスタL302へDelay_Req(H1)624を送信し、その送信時刻Tc’’をパラメータテーブルHS211のタイムスタンプ情報に記録する。
このDelay_Req(H1)624の送信で、PTP試験管理部H212は、試験スケジュールテーブルH213のTa、Tb情報の有無が「有」であり、マスタへのDelay_Req送信時刻の「Tc’’」の時刻になると「下位装置(L1)」へDelay_Reqを送信するように、PTP時刻スレーブH(試験用)203へ指示する。PTP時刻スレーブH(試験用)203は、PTP時刻フレーム振分部H216と下りフレーム送信部HL218を介して、下位装置(L1)300へDelay_Req(H1)624を送信する。
ここで、「下位装置(L1)」へDelay_Reqを送信するように指示されたPTP時刻スレーブH(試験用)203は、パラメータテーブルHS211を参照して、マスタIPアドレスやマスタMACアドレスを取得し、Delay_Req(H1)624に送信先アドレスとして含めてもよい。PTP時刻フレーム振分部H216は、Delay_Req(H1)624などのPTPフレームに含まれる送信先アドレスに基づいて振り分けを行ってもよい。
また、対応関係が理解しやすいように、試験スケジュールテーブルH213のマスタへのDelay_Req送信時刻を「Tc’’」などとして、図9の表記と一致させたが、必ずしもマスタへのDelay_Req送信時刻の「Tc’’」が実際の送信時刻と一致する必要はない。例えば、マスタへのDelay_Req送信時刻に記録された時刻以後に、予め設定された条件を満たすと判定されると、Delay_Reqを送信してもよい。予め設定された条件としては、PTP時刻スレーブH(試験用)203からPTP時刻マスタL302までの通信のルートが空いており、PTPフレームが送信可能な状態であるなどが含まれてもよい。PTP時刻スレーブH(試験用)203は、Delay_Req(H1)624を送信した実際の時刻、この例では図9に示したTc’’をパラメータテーブルHS211のタイムスタンプ情報に記録する。
下位装置(L1)300において、Delay_Req(H1)624は、下りフレーム受信部LH306とPTP時刻フレーム識別部308を介して、PTP時刻マスタL302により受信される。Delay_Reqはスレーブがマスタへ送信するPTPフレームであるので、PTP時刻フレーム識別部308は、Delay_Reqであることを識別して、PTP時刻マスタL302へ転送してもよい。PTP時刻マスタL302は、Delay_Req(H1)624を受信した時刻Td’’の時刻情報をDelay_Resp(L1)[Td’’]625に含め、IEEE1588のプロトコルにしたがって、PTP時刻スレーブH(試験用)203に対して送信する。Delay_Resp(L1)[Td’’]625の送信ルートはAnnounce(L1)620と同じである。
Delay_Resp(L1)[Td’’]625を受信したPTP時刻スレーブH(試験用)203は、Td’’の情報をパラメータテーブルHS211のタイムスタンプ情報に記録すると、下位装置マスタの時刻情報取得626を実行し、パラメータテーブルHS211のタイムスタンプ情報に記録されたTa’’、Tb’’、Tc’’、Td’’の情報を使用してPTP時刻スレーブH(試験用)203の時刻情報を補正する。この補正の動作は図8を用いて説明した動作と同じである。この補正により、PTP時刻スレーブH(試験用)203の時刻はPTP時刻マスタL302の時刻に同期し、PTP時刻マスタL302の時刻を取得したことになる。
PTP時刻比較部H202は、PTP時刻マスタH201とPTP時刻スレーブH(試験用)203から時刻情報を取得し、比較する。この比較の結果として、2つの時刻情報の差分が、予め設定された閾値以下であれば、試験結果テーブルH210の試験結果に「OK」を記録し、2つの時刻情報の差分が、予め設定された閾値より大きければ、試験結果テーブルH210の試験結果に「NG」を記録する。また、差分の値を時刻誤差として記録してもよい。
下位装置(L2)330とPTP時刻スレーブH(試験用)203とのシーケンスも、下位装置(L1)300の代わりに下位装置(L2)330であり、時刻Ta’’、Tb’’、Tc’’、Td’’の代わりに時刻Ta’’’、Tb’’’、Tc’’’、Td’’’であることを除き、Announce(L2)630、マスタ・スレーブ関係確立631、Sync(L2)632、Follow_Up(L2)[Ta’’’]633、Delay_Req(H1)634、Delay_Resp(L2)[Td’’’]635のそれぞれは、Announce(L1)620、マスタ・スレーブ関係確立621、Sync(L1)622、Follow_Up(L1)[Ta’’]623、Delay_Req(H1)624、Delay_Resp(L1)[Td’’]625のそれぞれと同様である。尚、下位装置(L2)330も下位装置(L1)300と同じ構成である。
図9に示したシーケンスにおいて、PTP時刻スレーブH(試験用)203がDelay_Resp(L1)[Td’’]625を受信できない状態すなわち下位装置(L1)300との試験が継続した状態で、下位装置(L2)330との試験の例えばDelay_Req(H1)634を送信する時刻Tc’’’となったり、Delay_Resp(L2)[Td’’’]を受信したりすると、複数の下位装置で共用されるPTP時刻スレーブH(試験用)203では管理できない可能性がある。また、何らかの正常でない状態によりDelay_Resp(L1)[Td’’]625を受信できない可能性もある。
そこで、PTP時刻スレーブH(試験用)203が、Delay_Reqを送信するとタイマ監視を開始し、予め設定された時間までにDelay_Respの受信を検出しないとタイムアウトを検出して、タイムアウト検出の対象の下位装置との試験を終了し、PTP時刻比較用H202を経由して試験結果テーブルH210の試験結果に「NG」を記録してもよい。
これにより、PTP時刻マスタL302がDelay_Respを送信するための動作をしたとしても、PTP時刻マスタL302から信号が送信されない、あるいは信号が送信されても、その送信された信号がPTP時刻フレーム識別部H217やPTP時刻スレーブH(試験用)203に到達しない、あるいは到達した時点で、例えばIEEE1588のプロトコルに準拠した信号となっておらず、正常なDelay_Respと認識されない場合も、試験結果に「NG」を記録できる。
以上で説明したように、端末(T1)400のPTP時刻スレーブT401へ転送されるPTPフレームと、PTP時刻スレーブH(試験用)203へ転送されるPTPフレームは、同様のルートを通り転送されることとなるので、PTP時刻スレーブT401に対する時刻同期処理と同等の処理を、PTP時刻スレーブH(試験用)203に対する処理で試験することにより検証することができる。また、PTP時刻マスタL302が配信している時刻が正常であるか否かを確認することができる。さらに、複数の下位装置に対しても順番に検証、確認することができる。
図9に示したように複数の下位装置に対してそれぞれにシーケンスを実行することにより検証、確認することもできるが、各下位装置に対するシーケンスを完全に分ける必要はない。図10は、複数の下位装置に対する時刻同期試験のシーケンスの例を示す図である。下位装置(L2)330と下位装置(L3)340は、図3を用いて説明した下位装置(L1)300と同じ構成である。
図6を用いて説明した通り、試験スケジュールテーブル213にはマスタ、スレーブの関係になったマスタ装置名と、Ta、Tb情報の有無、マスタへのDelay_Req送信時刻の各情報がマスタ装置に対応付けられて記録されており、図6の例では、マスタ装置名の「下位装置(L1)」、「下位装置(L2)」、「下位装置(L3)」のそれぞれに対応付けられたTa、Tb情報の有無が「有」であり、マスタへのDelay_Req送信時刻が「Tc’’」、「Tc’’’」、「Tc’’’’」である。すなわち、下位装置(L1)300、下位装置(L2)330、下位装置(L3)340のそれぞれと、上位装置200はAnnounce、Sync、Follow_Upの送受信を既に終了しており、時刻Ta’’、Tb’’などがパラメータテーブルHS213のタイムスタンプ情報に記録済みである。
このため、上位装置200は、試験スケジュールテーブル213に記録されている情報にしたがい、時刻Tc’’になるとDelay_Reqを下位装置(L1)300へ送信し、下位装置(L1)300からDelay_Respを受信して、下位装置マスタの時刻情報を取得し、判定による試験結果を試験結果テーブルH210に記録する。
また、上位装置200は、試験スケジュールテーブル213に記録されている情報にしたがい、下位装置(L1)試験期間500の後の時刻Tc’’’になるとDelay_Reqを下位装置(L2)330へ送信し、下位装置(L2)330からDelay_Respを受信して、下位装置マスタの時刻情報を取得し、判定による試験結果を試験結果テーブルH210に記録する。
さらに、上位装置200は、試験スケジュールテーブル213に記録されている情報にしたがい、下位装置(L2)試験期間501の後の時刻Tc’’’’になるとDelay_Reqを下位装置(L3)340へ送信し、下位装置(L3)340からDelay_Respを受信して、下位装置マスタの時刻情報を取得し、判定による試験結果を試験結果テーブルH210に記録する。
そして、試験スケジュールテーブル213のマスタへのDelay_Req送信時刻が周期的な時刻の情報となっており、その周期的な時刻の情報に基づいて、下位装置(L3)試験期間502の後、下位装置(L1)に対する試験に戻り、下位装置(L1)試験期間503となって、各下位装置に対する試験を繰り返してもよい。
尚、図6の例で、マスタ装置名の「下位装置(L4)」は、Ta、Tb情報の有無が「無」であるので、マスタへのDelay_Req送信時刻の「Tc’’’’’」となっても、試験が実行されることはない。このため、「下位装置(L4)」をマスタ装置名とする装置の記載を図10では省略した。
図11を使用してPTP試験管理部H212の試験時間に関する処理の例をフローチャートで説明する。PTP試験管理部H212は、起動されると、先ず、試験スケジュールテーブル213を参照し、マスタへのDelay_Req送信時刻の中に現在の時刻と一致する時刻のマスタ装置があるか否かを判定する(ステップ700)。図10を用いて説明したように、マスタへのDelay_Req送信時刻は実質的な試験の開始時刻である。
時刻が一致すると判定され、試験開始時刻となっているマスタ装置が存在する場合、現在の時刻に一致する時刻に対応付けられて対象となるマスタ装置のTa、Tb情報の有無を判定する(ステップ701)。「有」と判定された場合、対象となるマスタ装置のマスタ装置名を取得し、PTP時刻スレーブH(試験用)203に対して、取得したマスタ装置名を送信先とするDelay_Req送信の指示を出す(ステップ703)。この指示を受けたPTP時刻スレーブH(試験用)203は、送信先のマスタ装置名に基づきIPアドレスやMACアドレスを取得してDelay_Reqを送信するが、PTP試験管理部H212の動作ではないので詳しい説明を省略する。
ステップ701で「無」と判定された場合は、Delay_Reqの送信をスキップする(ステップ702)。そして、対象となるマスタ装置に対応付けられたマスタへのDelay_Req送信時刻の更新を行い(ステップ704)、他の試験開始時刻をチェックするためにステップ701へ戻る。ここで、Delay_Req送信時刻の更新は、マスタへのDelay_Req送信時刻の例えば「T’’」に予め設定された周期を加算して、新たな「T’’」としてもよい。予め設定された周期は、パラメータテーブルHS211のAnnounce送信周期あるいはSync送信周期の値であってもよい。また、例えば「T’’」の情報自体が更新する情報も含み、その含まれる情報に基づいて更新してもよい。
ステップ700で時刻が一致しないと判定され、試験開始時刻となっているマスタ装置が存在しない場合には、次の試験開始時刻までスリープし、ステップ701へ戻る。
尚、ステップ702において、マスタ装置毎にスキップの回数をカウントし、カウントした回数が予め設定された閾値を超えたと判定した場合は、試験結果テーブルH210のマスタ装置名が閾値を超えたと判定されたマスタ装置であるところの試験結果に「NG」を記録するようにPTP時刻比較部H202を制御してもよい。ステップ703において、対象となるマスタ装置のカウントをリセットしてもよい。これにより、PTP時刻スレーブL301のSyncの送信とFollow_Upの送信に関してもプロトコルなどの正常性を判定できる。
以上で説明したように、複数の下位装置に対して試験する場合であっても、各下位装置に対する試験時間を制御することが可能であり、複数の試験時間が重ならないように制御することにより、1つのPTP時刻スレーブH(試験用)203で試験が可能となる。また、下位装置の時刻情報に依存することなく、上位装置200の送信するDelay_Req送信時刻に基づいて試験時間を決めるため、例えば下位装置(L2)330の時刻情報の異常により、下位装置(L2)330の試験時間と下位装置(L1)300の試験時間とが重なる状態となることを防ぐことができる。