本実施形態の装置間で時刻同期を行う各装置は、時刻同期を行う装置を少なくとも二つ備える。これによって、時刻の誤差をあらかじめ指定された範囲内に収める。
図1は、本発明の実施形態の時刻同期を行う装置を示すブロック図である。
図1に示す各装置は、階層的に構成された時刻同期網に備わる装置である。本実施形態における時刻同期網は、上位NW(Net Work)装置1、複数のONU(Optical Network Unit)3、及び、複数のOLT(Optical Line Terminal)2を備える。図1に示す各装置は、時刻同期網において階層的に接続される。
上位NW装置1は、OLT2との時刻同期においてIEEE1588のMaster機能を持つ装置である。すなわち、上位NW装置1は、基準となる時刻を示す時刻情報をPTPメッセージによって、OLT2に送信する。OLT2は、上位NW装置1との時刻同期においてIEEE1588のSlave機能を持つ装置である。
また、OLT2は、ONU3とOLT2との時刻同期における、IEEE1588のMaster機能を持つ装置である。OLT2は、上位NW装置1から送信された時刻情報に基づいて更新された時刻情報を、基準となる時刻を示す時刻情報として、PTPメッセージによってONU3に送信する。ONU3は、OLT2とONU3との時刻同期における、IEEE1588のSlave機能を持つ装置である。
なお、以降において、Master機能を持つ装置をMaster装置と記載する。また、Slave機能を持つ装置をSlave装置と記載する。
上位NW装置1は、GPSアンテナ6を備える。そして、上位NW装置1は、GPSアンテナ6によって、GPS衛星4からGPS信号5を受信する。GPS信号5には、基準となる時刻が含まれる。上位NW装置1は、基準となる時刻を示す時刻情報を含むPTPメッセージを生成する。
また、上位NW装置1は、主信号NW網7と接続するためのインタフェースを備え、インタフェースを介して主信号NW網7から主信号を受信する。そして、上位NW装置1は、生成されたPTPメッセージと受信した主信号とを重畳データ10に含め、重畳データ10をOLT2に送信する。また、OLT2から送信される重畳データ10から、PTPメッセージと主信号とを分離する。
なお、本実施形態において、主信号とPTPメッセージとを含むデータを重畳データ10と記載する。
OLT2は、PTPメッセージを上位NW装置1から受信した場合、PTPメッセージに含まれる時刻情報に基づいて、OLT2における時刻を補正する。これによって、OLT2は、上位NW装置1の時刻に追従して動作することができる。
OLT2は、時刻同期における上位NW装置1と同じく、基準となる時刻を示す時刻情報を含むPTPメッセージを生成する。そして、生成されたPTPメッセージと主信号とを含む重畳データ10を、各ONU3に送信する。
そして、各ONU3は、PTPメッセージをOLT2から受信した場合、PTPメッセージに含まれる時刻情報に基づいて、ONU3における時刻を補正する。これによって、ONU3は、OLT2の時刻に追従して動作することができる。
なお、以下に示す本実施形態の時刻同期網は、図1に示す上位NW装置1、OLT2、及びONU3を備えるネットワークである。しかし、本実施形態の時刻同期網は、いずれの装置を備えるネットワークであってもよく、例えば、ルータ等のネットワーク装置が階層的に接続されたネットワークでもよい。
図2は、本発明の実施形態の時刻同期機能のOLT2の物理的な構成を示すブロック図である。
図2に示すOLT2は、運用系OSU(Optical Subscriber Unit)20、待機系OSU21及びセレクタ部22を備え、重畳データ10を受信するための冗長構成を備える。OLT2は、少なくとも二つのネットワークインタフェースを備え、OLT2に備わる各ネットワークインタフェースは、運用系OSU20及び待機系OSU21に接続される。
また、上位NW装置1とOLT2とを接続する伝送路は、上位NW装置1と運用系OSU20とを接続するための伝送路と、上位NW装置1と待機系OSU21とを接続するための伝送路との二つである。各伝送路は、異なるネットワークインタフェースを経由する。
図2に示すOLT2は、少なくとも一つの伝送路によってONU3と接続する。
運用系OSU20は、IEEE1588のSlave機能及びMaster機能を有する。運用系OSU20は、上位NW装置1から受信するPTPメッセージの受信と、上位NW装置1へ送信するPTPメッセージの生成とを行う。また、ONU3から受信するPTPメッセージの受信と、ONU3へ送信するPTPメッセージの生成とを行う。
また、運用系OSU20は、上位NW装置1又はONU3から受信した重畳データ10を、PTPメッセージと主信号とに分離し、さらに、PTPメッセージと主信号とを含む重畳データ10をセレクタ部22又は上位NW装置1に送信する。
待機系OSU21は、運用系OSU20と同じ装置である。
セレクタ部22は、各ONU3へ重畳データ10を送信する。セレクタ部22は、運用系OSU20とセレクタ部22とを接続する伝送路、又は、待機系OSU21とセレクタ部22とを接続する伝送路を、主信号伝送路として選択する。
そして、セレクタ部22は、主信号を含む重畳データ10を受信した場合、主信号伝送路から送信された重畳データ10であるか否かを判定する。そして、判定の結果に基づいて、主信号伝送路から送信された重畳データ10をONU3に送信する。また、判定の結果に基づいて、主信号伝送路から送信されていない重畳データ10を廃棄又は保持する。
さらに、セレクタ部22は、各ONU3から重畳データ10を受信した場合、主信号伝送路によってセレクタ部22と接続されるOSUに、各ONU3から受信した重畳データ10を送信する。
ここで、本実施形態の冗長化構成における運用系及び待機系について説明する。本実施形態における冗長化構成とは、例えば、OLT2などの装置内の一部に障害が発生した場合にOLT2の機能を維持し続けるための構成であり、OLT2がバックアップ用のシステムを備えることである。
本実施形態における運用系OSU20は、運用系OSU20において障害が発生していない場合に、主信号をONU3へ転送する中継機である。セレクタ部22は、運用系OSU20において障害が発生していない場合、運用系OSU20からセレクタ部22への伝送路を主信号伝送路として選択する。これによって、運用系OSU20に障害が発生していない場合、運用系OSU20からセレクタ部22に送信された重畳データ10は、セレクタ部22によってONU3へ転送される。
また、本実施形態における待機系OSU21は、運用系OSU20において障害が発生した場合、運用系OSU20に代わって動作する装置である。セレクタ部22は、運用系OSU20において障害が発生した場合、待機系OSU21からセレクタ部22への伝送路を主信号伝送路として選択する。これによって、運用系OSU20に障害が発生した場合、待機系OSU21からセレクタ部22に送信された重畳データ10は、セレクタ部22によってONU3へ転送される。
すなわち、本実施形態において、運用系OSU20は、上位NW装置1及びONU3間でデータを送信するための中継機であり、待機系OSU21は、運用系OSU20に障害が発生した際に運用系OSU20のバックアップとして動作する中継機である。
このため、運用系OSU20において障害が発生していない場合、待機系OSU21は、上位NW装置1又はONU3に主信号を送信する必要はない。このため、運用系OSU20において障害が発生していない場合において、待機系OSU21が上位NW装置1からPTPメッセージを受信することによる時刻同期を主に行っても、OLT2の主信号を中継する機能に影響はない。
本実施形態のOLT2は、このような待機系OSU21によって精度の高い時刻同期を行う。
図3は、本発明の実施形態のIEEE1588プロトコルにおける時刻同期の処理を示すシーケンス図である。
図3は、Master装置8とSlave装置9との間のIEEE1588プロトコルによる時刻同期処理、及び、Master機能を有する装置とSlave機能を有する装置との間のPTPメッセージ送信の時間間隔を示す。
伝送路によって接続されたMaster装置8とSlave装置9との間でデータを送受信する場合、一方の装置から送信されたデータは、Master装置8とSlave装置9との間の伝送距離に従って遅延して相手装置に到達する。ここで発生するデータの遅延時間を、伝送路遅延と記載する。
時刻情報を含むデータをMaster装置8が送信した場合、Slave装置9は、送信されたデータを処理するために伝送路遅延分の遅れを考慮する必要がある。IEEE1588は、Master装置8とSlave装置9との間の時刻のずれと伝送路遅延とを検出し、検出された時刻のずれと伝送路遅延とを用いて時刻を補正する方法を提案している。
図3に示すMaster装置8は、IEEE1588プロトコルに従ってPTPメッセージ送信間隔14ごとにPTPメッセージを送信する。ここで、PTPメッセージ送信間隔14は、Master装置8があらかじめ保持する時間間隔である。
Master装置8は、PTPメッセージ送信間隔14の時間の長さを示す情報を含むPTPメッセージをSlave装置9に送信する。Slave装置9は、受信したPTPメッセージの内容と、受信したPTPメッセージに含まれるPTPメッセージ送信間隔14とに従って、PTPメッセージを生成する。そして、生成されたPTPメッセージをMaster装置8に送信する。
Master装置8は、IEEE1588プロトコルを起動するタイミングにおいて、IEEE1588プロトコルを起動する時刻を時刻情報t1として、Master装置8に備わるメモリに格納する。そして、Master装置8は、時刻情報t1を含むSyncメッセージ11を生成し、生成されたSyncメッセージ11をSlave装置9へ送信する。
なお、Syncメッセージ11は、PTPメッセージである。
Slave装置9は、Syncメッセージ11を受信した場合、Syncメッセージ11を受信した時刻を時刻情報t2として、Slave装置9に備わるメモリに格納する。これによって、Slave装置9は、Syncメッセージ11から時刻情報t1を取得し、Syncメッセージ11を受信した時刻を示す時刻情報t2を取得する。
Slave装置9は、時刻情報t1と時刻情報t2との間の差を算出する。これによって、Master装置8における時刻とSlave装置9における時刻とのずれ、及び、伝送路遅延の和の時間を算出することができる。なお、ここで算出される時刻のずれと伝送路遅延との和は、Master装置8からSlave装置9への方向の伝送路遅延に対応する。
Syncメッセージ11を受信した後、Slave装置9は、Delay_Reqメッセージ12を生成し、生成されたDelay_Reqメッセージ12をMaster装置8へ送信する。Delay_Reqメッセージ12を送信する際、Slave装置9は、Delay_Reqメッセージ12を送信する時刻を時刻情報t3として、Slave装置9が備えるメモリに格納する。
なお、Delay_Reqメッセージ12は、PTPメッセージである。
Master装置8は、Delay_Reqメッセージ12を受信した場合、Delay_Reqメッセージ12を受信した時刻を時刻情報t4として含むDelay_Respメッセージ13を生成する。そして、生成されたDelay_Respメッセージ13をSlave装置9に送信する。
なお、Delay_Respメッセージ13は、PTPメッセージである。
Slave装置9は、Delay_Reqメッセージ12を送信した時刻を示す時刻情報t3を取得する。そして、Slave装置9は、Delay_Respメッセージ13を受信した場合、Master装置8がDelay_Reqメッセージ12を受信した時刻を示す時刻情報t4を取得する。
Slave装置9は、時刻情報t3と時刻情報t4との間の差を算出することによって、Master装置8における時刻とSlave装置9における時刻とのずれ、及び、伝送路遅延の和の時間を算出することができる。なお、ここで算出される時刻のずれと伝送路遅延との和は、Slave装置9からMaster装置8への方向の伝送路遅延に対応する。
また、時刻情報t3及び時刻情報t4の差と、時刻情報t1及び時刻情報t2の差との和は、伝送路遅延の二倍の時間に相当する。また、時刻情報t3及び時刻情報t4の差と、時刻情報t1及び時刻情報t2の差との差は、Master装置8における時刻とSlave装置9における時刻とのずれの二倍の時間に相当する。
IEEE1588プロトコルによる遅延算出方法は、Master装置8からSlave装置9への方向、及び、Slave装置9からMaster装置8への方向の両方向の伝送路遅延が同じであると仮定し、片方向の伝送路遅延を算出することによって時刻同期を実現する方法である。
すなわち、Slave装置9は、伝送路遅延を式(1)によって、Master装置8とSlave装置9との間の時間差(時刻のずれ)を式(2)に求めることができる。
{(t2−t1)+(t4−t3)}/2=伝送路遅延 (1)
{(t2−t1)−(t4−t3)}/2=Master装置8とSlave装置9との間の時間差 (2)
Slave装置9は、式(1)及び式(2)によって求められる、Master装置8における時刻とSlave装置9における時刻との間の伝送路遅延と、Master装置8とSlave装置9との間の時間差とを用いて、Slave装置9における時刻をMaster装置8における時刻に従属して動作することができる。
図4は、本発明の実施形態の上位NW装置1と運用系OSU20との間のPTPメッセージ、及び、上位NW装置1と待機系OSU21との間のPTPメッセージを示すシーケンス図である。
図4に示す上位NW装置1及び運用系OSU20は、運用系PTPメッセージ送信間隔15によって、時刻同期を行う。具体的には、上位NW装置1及び運用系OSU20は、図3に示すSyncメッセージ11、Delay_Reqメッセージ12、及び、Delay_Respメッセージ13を、運用系PTPメッセージ送信間隔15において送受信する。
さらに、図4に示す上位NW装置1及び待機系OSU21は、待機系PTPメッセージ送信間隔16によって、時刻同期を行う。具体的には、上位NW装置1及び待機系OSU21は、図3に示すSyncメッセージ11、Delay_Reqメッセージ12、及び、Delay_Respメッセージ13を、待機系PTPメッセージ送信間隔16によって送受信する。
本実施形態における運用系PTPメッセージ送信間隔15は、待機系PTPメッセージ送信間隔16より長い時間間隔である。なお、図4に示す白丸は、PTPメッセージを生成した装置を示し、黒丸は、PTPメッセージを受信した装置を示す。
図3において前述した通り、IEEE1588プロトコルによる時刻同期シーケンスは、PTPメッセージを送受信することによって時刻同期を実現しており、PTPメッセージは、Master装置8に保持されるPTPメッセージ送信間隔14において送受信される。また、上位NW装置1とONU3との間における主信号の転送は、運用系OSU20において障害が発生していない場合、運用系OSU20が実行する。
運用系OSU20が主信号の転送を行っている間、待機系OSU21は、主に、PTPメッセージによる時刻同期を行う。このため、待機系OSU21が送受信するPTPメッセージによってネットワーク帯域が逼迫した場合においても、運用系OSU20による上位NW装置1又はONU3への主信号の転送には、影響が無い。
運用系PTPメッセージ送信間隔15は、PTPメッセージを送受信するための帯域が主信号を送受信するための帯域に与える影響を少なくするため、より長い時間間隔、すなわち、低頻度になるようにMaster装置8にあらかじめ設定される。
また、待機系PTPメッセージ送信間隔16は、運用系PTPメッセージ送信間隔15よりも短い時間間隔、すなわち、高頻度となるようにMaster装置8に設定されている。このため、待機系OSU21による時刻同期は、運用系OSU20による時刻同期と比べて高精度である。
図5Aは、本発明の実施形態の上位NW装置1及びOLT2の処理部を示すブロック図である。
図5Aと、後述する図5Bは、図2に示す上位NW装置1、OLT2及びONU3に備わる各処理部を示す。図5Aに示すOLT2の処理部は、上位NW装置1と重畳データ10を送受信するためのOLT2の処理部である。また、図5Aに示すOLT2の処理部は、上位NW装置1と時刻同期をするための処理部である。
上位NW装置1は、時刻同期において基準となる時刻の時刻情報を保持する。上位NW装置1は、運用系ポート17、及び、待機系ポート18を備える。運用系ポート17、及び、待機系ポート18は、各OLT2の運用系OSU20及び待機系OSU21と接続される。
運用系ポート17は、クロックMaster機能部101、主信号送受信部105、及び、データ重畳分離部106を含む。
クロックMaster機能部101は、PTPメッセージを生成する。また、生成されたPTPメッセージをデータ重畳分離部106に送信し、データ重畳分離部106からPTPメッセージを受信する処理部である。クロックMaster機能部101は、図3に示すMaster装置8の機能を実装するための処理部である。
主信号送受信部105は、主信号NW網7から受信した主信号を、データ重畳分離部106を介してOLT2に送信する処理部である。そして、OLT2からデータ重畳分離部106を介して受信した主信号を、主信号NW網7に送信する処理部である。
データ重畳分離部106は、クロックMaster機能部101から受信したPTPメッセージと、主信号送受信部105から受信した主信号とを含む重畳データ10を生成する処理部である。そして、生成された重畳データ10を、OLT2の運用系OSU20に送信する処理部である。
また、データ重畳分離部106は、OLT2のデータ重畳分離部203から送信された重畳データ10を、PTPメッセージと主信号とに分離する処理部である。そして、分離された結果のPTPメッセージをPTP終端生成部102に入力し、分離された結果の主信号を主信号送受信部105に入力する処理部である。
クロックMaster機能部101は、PTP終端生成部102、時刻情報管理部103、及び、送信間隔管理部104を含む。
送信間隔管理部104は、PTPメッセージを送信するPTPメッセージ送信間隔(本実施形態における運用系PTPメッセージ送信間隔15)を保持する処理部である。
時刻情報管理部103は、時刻同期において基準となる時刻の時刻情報、PTPメッセージを送信する時刻の時刻情報、及び、PTPメッセージを受信した時刻の時刻情報(例えば、図3に示す時刻情報t4)を保持する。
PTP終端生成部102は、時刻情報管理部103が保持する時刻情報(時刻情報t1又は時刻情報t4)を取得し、取得された時刻情報を含むPTPメッセージを生成する。そして、生成されたPTPメッセージをデータ重畳分離部106に入力する。
PTP終端生成部102は、送信間隔管理部104が保持するPTPメッセージ送信間隔が示す周期において、IEEE1588プロトコルを起動し、Syncメッセージ11を生成する。PTP終端生成部102は、Syncメッセージ11に、時刻情報t1と、送信間隔管理部104に保持されたPTPメッセージ送信間隔と、を含める。そして、生成されたSyncメッセージ11をデータ重畳分離部106に入力する。
PTP終端生成部102は、Delay_Reqメッセージ12を受信した場合、Delay_Reqメッセージ12を受信した時刻を時刻情報t4として、時刻情報管理部103に格納する。そして、時刻情報t4を含むDelay_Respメッセージ13を生成する。
PTP終端生成部102は、Delay_Reqメッセージ12を受信した場合、最後にDelay_Respメッセージ13を生成してからPTPメッセージ送信間隔が経過した時刻に、新たなDelay_Respメッセージ13を生成する。PTP終端生成部102は、生成されたDelay_Respメッセージ13をデータ重畳分離部106に入力する。
待機系ポート18は、クロックMaster機能部111、主信号送受信部115、及び、データ重畳分離部116を含む。また、クロックMaster機能部111は、PTP終端生成部112、時刻情報管理部113、及び、送信間隔管理部114を含む。
待機系ポート18は、運用系ポート17と同じ処理部を有する。すなわち、クロックMaster機能部101、主信号送受信部105、及び、データ重畳分離部106は、クロックMaster機能部111、主信号送受信部115、及び、データ重畳分離部116と同じである。また、PTP終端生成部102、及び、時刻情報管理部103は、PTP終端生成部112、及び、時刻情報管理部113と同じである。
しかし、送信間隔管理部114は、PTPメッセージを送信するPTPメッセージ送信間隔として、待機系PTPメッセージ送信間隔16を保持する。そして、データ重畳分離部116は、生成された重畳データ10をOLT2の待機系OSU21に送信する。また、データ重畳分離部116は、待機系OSU21から受信した重畳データ10を、PTPメッセージ及び主信号に分離する。
OLT2は、図2に示すように、運用系OSU20及び待機系OSU21を備える。運用系OSU20は、上位NW装置1の運用系ポート17に接続され、待機系OSU21は、上位NW装置1の待機系ポート18に接続される。
運用系ポート17及び運用系OSU20を接続する伝送路と、待機系ポート18及び待機系OSU21を接続する伝送路とは、異なる伝送路であり、OLT2に備わる異なるネットワークインタフェースを経由する。
運用系OSU20は、クロックSlave機能部201、主信号送受信部202、及び、データ重畳分離部203を含む。
クロックSlave機能部201は、PTPメッセージを生成する処理部である。そして、生成されたPTPメッセージを、データ重畳分離部203を介して上位NW装置1に送信し、また、PTPメッセージをデータ重畳分離部203を介して上位NW装置1から受信する処理部である。クロックSlave機能部201は、図3に示すSlave装置9の機能を実装するための処理部である。
主信号送受信部202は、データ重畳分離部203から受信した主信号を、後述するデータ重畳分離部205に送信し、後述するデータ重畳分離部205から受信した主信号をデータ重畳分離部203に送信する処理部である。
データ重畳分離部203は、クロックSlave機能部201から受信したPTPメッセージと、主信号送受信部202から受信した主信号とを含む重畳データ10を生成する処理部である。そして、生成された重畳データ10を、上位NW装置1の運用系ポート17へ送信する処理部である。
また、データ重畳分離部203は、上位NW装置1から送信された重畳データ10を、PTPメッセージと主信号とに分離する処理部である。そして、分離された結果のPTPメッセージをPTP終端生成部2011に入力し、分離された結果の主信号を主信号送受信部202に入力する処理部である。
さらに、データ重畳分離部203は、上位NW装置1の運用系ポート17と、OLT2の運用系OSU20とを接続するためのネットワークインタフェースを備える処理部である。
クロックSlave機能部201は、PTP終端生成部2011、時刻情報管理部2012、及び、送信間隔管理部2013を含む。
送信間隔管理部2013は、PTPメッセージを送信するPTPメッセージ送信間隔を保持する処理部である。
時刻情報管理部2012は、上位NW装置1から送信された時刻情報(例えば、時刻情報t1及び時刻情報t4など)、PTPメッセージを受信した時刻の時刻情報(例えば、時刻情報t2など)、及び、PTPメッセージを送信する時刻の時刻情報(例えば、時刻情報t3など)を保持する。
また、時刻情報管理部2012は、OLT2における時刻を示す時刻情報を保持する。時刻情報管理部2012は、自らが保持するメモリに、時刻情報を格納する。
PTP終端生成部2011は、Syncメッセージ11を受信した場合、Syncメッセージ11を受信した時刻を時刻情報t2として、時刻情報管理部2012に格納する。また、Syncメッセージ11に含まれる時刻情報t1を、時刻情報管理部2012に格納し、Syncメッセージ11に含まれるPTPメッセージ送信間隔を、送信間隔管理部2013に格納する。
また、PTP終端生成部2011は、上位NW装置1からSyncメッセージ11を受信した場合、Delay_Reqメッセージ12を生成する。そして、PTP終端生成部2011は、Delay_Reqメッセージ12が生成された時刻を、時刻情報t3として、時刻情報管理部2012に格納する。そして、生成されたDelay_Reqメッセージ12をデータ重畳分離部203に入力し、データ重畳分離部203にDelay_Reqメッセージ12を上位NW装置1へ送信させる。
PTP終端生成部2011は、送信間隔管理部2013が保持するPTPメッセージ送信間隔に従ってDelay_Reqメッセージ12が送信されるように、Delay_Reqメッセージ12を生成する。具体的には、PTP終端生成部2011は、Syncメッセージ11を受信した場合、最後にDelay_Reqメッセージ12を生成してからPTPメッセージ送信間隔が経過した時刻に、新たなDelay_Reqメッセージ12を生成する。
また、PTP終端生成部2011は、Delay_Respメッセージ13を受信した場合、Delay_Respメッセージ13に含まれる時刻情報t4を、時刻情報管理部2012に格納する。
PTP終端生成部2011は、時刻情報管理部2012に保持された時刻情報t1、時刻情報t2、時刻情報t3、及び、時刻情報t4と、前述の式(1)及び式(2)とを用いて、上位NW装置1とOLT2との間の時刻のずれを算出する。そして、算出された時刻のずれに基づいて、時刻情報管理部2012が保持するOLT2における時刻を更新する。
PTP終端生成部2011は、時刻情報管理部2012が保持するOLT2における時刻を更新した後、更新されたOLT2における時刻を、図5Bに示すクロックMaster機能部204に入力する。
待機系OSU21は、クロックSlave機能部211、主信号送受信部212、及び、データ重畳分離部213を含む。また、クロックSlave機能部211は、PTP終端生成部2111、時刻情報管理部2112、及び、送信間隔管理部2113を含む。
待機系OSU21は、運用系OSU20と同じ処理部を有する。すなわち、クロックSlave機能部201、主信号送受信部202、及び、データ重畳分離部203は、クロックSlave機能部211、主信号送受信部212、及び、データ重畳分離部213と同じである。また、PTP終端生成部2011、時刻情報管理部2012、及び、送信間隔管理部2013は、PTP終端生成部2111、時刻情報管理部2112、及び、送信間隔管理部2113と同じである。
図5Bは、本発明の実施形態のOLT2及びONU3の処理部を示すブロック図である。
ONU3は、OLT2とPTPメッセージの送受信を行うことによって時刻を同期するクロックSlave機能部300を備える。クロックSlave機能部300は、図3に示すSlave装置9の機能を有する。
図5Bに示すOLT2の処理部は、ONU3と重畳データ10を送受信する処理部を含む。また、図5Bに示すOLT2の処理部は、運用系OSU20に保持されるOLT2における時刻と、待機系OSU21に保持されるOLT2における時刻とを、比較する処理部を含む。
運用系OSU20は、図5Aに示すクロックSlave機能部201、主信号送受信部202、及び、データ重畳分離部203と、図5Bに示すクロックMaster機能部204、及び、データ重畳分離部205とを含む。
クロックMaster機能部204は、PTPメッセージを生成する処理部である。そして、生成されたPTPメッセージをONU3に送信し、また、ONU3からPTPメッセージを受信する処理部である。クロックMaster機能部204は、図3に示すMaster装置8の機能を実装するための処理部である。
データ重畳分離部205は、クロックMaster機能部204から受信したPTPメッセージと、主信号送受信部202から受信した主信号とを含む重畳データ10を生成する処理部である。そして、生成された重畳データ10をONU3に送信する処理部である。
また、データ重畳分離部205は、ONU3から送信された重畳データ10を、PTPメッセージと主信号とに分離する処理部である。そして、分離された結果のPTPメッセージをPTP終端生成部2041に入力し、分離された結果の主信号を主信号送受信部202に入力する処理部である。
クロックMaster機能部204は、PTP終端生成部2041、時刻情報管理部2042、時刻誤差比較部2043、及び、時刻誤差閾値管理部2044を含む。
クロックMaster機能部204は、OLT2とONU3との時刻同期におけるMaster機能と、運用系OSU20が保持するOLT2における時刻と待機系OSU21が保持するOLT2における時刻とを比較する機能を有する。
このため、PTP終端生成部2041は、上位NW装置1のPTP終端生成部102と同じ機能を有し、時刻情報管理部2042は、上位NW装置1の時刻情報管理部103と同じ機能を有する。また、クロックMaster機能部204は、上位NW装置1の送信間隔管理部104と同じ機能を有する、送信間隔管理部(図示しない)を有する。
具体的には、時刻情報管理部2042は、OLT2における時刻を保持する処理部である。また、ONU3との時刻同期のための時刻情報t1及び時刻情報t4を保持する処理部である。
また、時刻誤差比較部2043は、時刻情報管理部2042が保持するOLT2における時刻と、後述する待機系OSU21の時刻情報管理部2142が保持するOLT2における時刻とを比較する処理部である。
時刻誤差閾値管理部2044は、時刻情報管理部2042が保持するOLT2における時刻と、後述する時刻情報管理部2142が保持するOLT2における時刻との差の閾値を保持する処理部である。
PTP終端生成部2041は、PTPメッセージを生成する処理部である。PTP終端生成部2041は、OLT2とONU3とのIEEE1588による時刻同期を行うためのPTPメッセージを生成する。
PTP終端生成部2041は、OLT2における時刻をPTP終端生成部2011から受信した場合、受信した時刻によって、時刻情報管理部2042が保持するOLT2における時刻を更新する。そして、PTP終端生成部2041は、時刻情報管理部2042が保持するOLT2における時刻を用いて、OLT2とONU3との時刻を同期する。
図5Bに示す待機系OSU21は、図5Bに示す運用系OSU20と同じ処理部を有し、クロックMaster機能部214及びデータ重畳分離部215を備える。クロックMaster機能部214は、クロックMaster機能部204と同じであり、データ重畳分離部215は、データ重畳分離部205と同じである。
また、クロックMaster機能部214は、PTP終端生成部2141、時刻情報管理部2142、時刻誤差比較部2143、及び、時刻誤差閾値管理部2144を含む。PTP終端生成部2141は、PTP終端生成部2041と同じであり、時刻情報管理部2142は、時刻情報管理部2042と同じであり、時刻誤差比較部2143は、時刻誤差比較部2043と同じであり、時刻誤差閾値管理部2144は、時刻誤差閾値管理部2044と同じである。
図5A及び図5Bに示す上位NW装置1、OLT2及びONU3が備える処理部は、各々プロセッサ及びメモリを備える装置によって実装されてもよい。また、例えば、OLT2が備えるすべての処理部が、少なくとも一つのプロセッサ及び少なくとも一つのメモリを備える、少なくとも一つの装置によって実装されてもよい。また、各処理部において行われる複数の処理に従って、各処理部が分割されて実装されてもよい。
また、上位NW装置1、OLT2及びONU3は、自らが備える各処理部に対応するプログラムを有し、上位NW装置1、OLT2及びONU3が備えるプロセッサ及びメモリによってプログラムを実行することによって、各処理部の機能を実装してもよい。
本実施形態において、運用系ポート17及び運用系OSU20において用いられるPTPメッセージ送信間隔は、運用系PTPメッセージ送信間隔15であり、待機系ポート18及び待機系OSU21において用いられるPTPメッセージ送信間隔は、待機系PTPメッセージ送信間隔16である。運用系PTPメッセージ送信間隔15は、図4に示すとおり、待機系PTPメッセージ送信間隔16よりも長い。
このため、運用系ポート17及び運用系OSU20による上位NW装置1及びOLT2間の時刻同期は、待機系ポート18及び待機系OSU21による上位NW装置1及びOLT2間の時刻同期より低頻度である。そして、この結果、待機系ポート18及び待機系OSU21による時刻同期は、運用系ポート17及び運用系OSU20による時刻同期より精度が高い。
このように、待機系ポート18及び待機系OSU21による時刻同期は、運用系ポート17及び運用系OSU20による時刻同期よりも高精度であるため、本実施形態において、待機系OSU21の時刻情報管理部2142が保持するOLT2における時刻を、OLT2の基準となる時刻と定義する。
以下において、待機系OSU21が保持するOLT2における時刻を基準に、運用系OSU20の時刻情報管理部2042が保持するOLT2における時刻を補正する処理を示す。
図6Aは、本発明の実施形態の運用系OSU20が保持するOLT2における時刻の誤差が小さい場合の時刻補正の処理を示すシーケンス図である。
上位NW装置1は、運用系PTPメッセージ送信間隔15において、Syncメッセージ11を運用系OSU20へ送信する(シーケンス40)。また、待機系PTPメッセージ送信間隔16において、Syncメッセージ11を待機系OSU21へ送信する(シーケンス50)。
ここで、シーケンス40におけるSyncメッセージ11に含まれる運用系PTPメッセージ送信間隔15は、待機系PTPメッセージ送信間隔16よりも長い。
運用系OSU20のクロックSlave機能部201は、Syncメッセージ11を受信した場合、送信されたSyncメッセージ11に含まれる運用系PTPメッセージ送信間隔15に従ってDelay_Reqメッセージ12を送信するため、待機する。
待機系OSU21のクロックSlave機能部218は、Syncメッセージ11を受信した場合、送信されたSyncメッセージ11に含まれる待機系PTPメッセージ送信間隔16に従って、Delay_Reqメッセージ12を上位NW装置1へ送信する(シーケンス51)。
ここで、待機系OSU21がSyncメッセージ11を受信してからDelay_Reqメッセージ12を送信するまでの時間は、運用系OSU20がSyncメッセージ11を受信してからDelay_Reqメッセージ12を送信よるまでの時間よりも短い。
上位NW装置1の待機系ポート18は、待機系OSU21からDelay_Reqメッセージ12を受信した場合、待機系OSU21のクロックSlave機能部211へDelay_Respメッセージ13を送信する(シーケンス52)。
待機系OSU21のクロックSlave機能部211がDelay_Respメッセージ13を受信した場合、PTP終端生成部2111は、時刻情報管理部2112が保持する時刻情報に基づいて、時刻情報管理部2112が保持するOLT2における時刻を更新する(時刻補正53)。そして、更新されたOLT2における時刻をクロックMaster機能部214のPTP終端生成部2141に入力する(シーケンス54)。
クロックMaster機能部214のPTP終端生成部2141は、入力されたOLT2における時刻を、時刻情報管理部2142に格納する。時刻情報管理部2142は、OLT2における時刻を自らが備えるメモリに保持する。
また、PTP終端生成部2141は、PTP終端生成部2111によって入力された時刻を、時刻誤差比較部2143に送信する。時刻誤差比較部2143は、送信された時刻を、運用系OSU20のクロックMaster機能部204の時刻誤差比較部2043に入力する(シーケンス55)。
シーケンス55の結果、運用系OSU20の時刻誤差比較部2043は、待機系PTPメッセージ送信間隔16毎に、待機系OSU21が保持するOLT2における時刻を取得する。そして、時刻誤差比較部2043は、取得された待機系OSU21が保持するOLT2における時刻と、時刻情報管理部2142が保持するOLT2における時刻との差(誤差)を算出する。
そして、時刻誤差比較部2043は、算出された誤差が、時刻誤差閾値管理部2044に保持される所定の範囲内にあるか否かを判定する(時刻誤差比較56)。具体的には、算出された誤差が、所定の上限値以下であり、かつ、所定の下限値以上であるか否かを判定する。
時刻誤差比較56の結果、算出された誤差が所定の範囲内にある場合、時刻誤差比較部2043は、運用系OSU20が保持するOLT2における時刻の誤差は、許容範囲内であると判定し、運用系OSU20が保持するOLT2における時刻を補正しない。
その後、待機系OSU21は、待機系PTPメッセージ送信間隔16において、上位NW装置1からSyncメッセージ11を受信し、Delay_Reqメッセージ12を送信する。これによって、時刻同期を継続する。
図6Bは、本発明の実施形態の運用系OSU20が保持するOLT2における時刻の誤差が大きい場合の時刻補正の処理を示すシーケンス図である。
待機系OSU21は、Delay_Respメッセージ13を受信した場合、図6Aと同じく、時刻補正53、シーケンス54、及び、シーケンス55を行う。そして、シーケンス55の結果、クロックMaster機能部214によってOLT2における時刻がクロックMaster機能部204に入力された場合、クロックMaster機能部204は、時刻誤差比較56を行う。
時刻誤差比較56の結果、算出された誤差が所定の範囲外、すなわち、算出された差が所定の上限値を上回るか又は所定の下限値を下回る場合、時刻誤差比較部2043は、運用系OSU20における時刻同期の間隔を変更すべきであると判定する。このため、クロックSlave機能部201のPTP終端生成部2011に閾値範囲外通知を送信する(シーケンス57)。
クロックSlave機能部201のPTP終端生成部2011は、閾値範囲外通知を受信した場合、送信間隔調整用メッセージを上位NW装置1へ送信する(シーケンス58)。上位NW装置1のPTP終端生成部102は、受信した送信間隔調整用メッセージに含まれる送信間隔情報を上位NW装置1内の送信間隔管理部104に格納する。
送信間隔管理部104は、格納された送信間隔情報に従って運用系PTPメッセージ送信間隔15を更新する(送信間隔調整59)。送信間隔調整59によって、上位NW装置1のPTP終端生成部102は、Syncメッセージ11を次に送信する際に、更新された運用系PTPメッセージ送信間隔15をOLT2へ送信できる。
例えば、運用系OSU20の時刻誤差比較部2043による時刻誤差比較56の結果、算出された誤差が所定の閾値が示す上限値を超える場合、PTP終端生成部2011は、送信間隔管理部2013が保持する運用系PTPメッセージ送信間隔15よりも短い時間間隔を含む送信間隔調整用メッセージを生成する。そして、生成された送信間隔調整用メッセージを上位NW装置1へ送信する。
これによって、運用系PTPメッセージ送信間隔15が短い時間となり、運用系OSU20による時刻同期の頻度が高まる。そして、運用系OSU20が保持するOLT2における時刻の誤差が減少する。
また、運用系OSU20の時刻誤差比較部2043による時刻誤差比較56の結果、算出された差が所定の閾値が示す下限値を下回る場合、PTP終端生成部2011は、送信間隔管理部2013が保持する運用系PTPメッセージ送信間隔15よりも長い時間間隔を含む送信間隔調整用メッセージを生成する。そして、生成された送信間隔調整用メッセージを上位NW装置1へ送信する。
これによって、運用系PTPメッセージ送信間隔15が長い時間となり、運用系OSU20による時刻同期の頻度が下がる。そして、運用系OSU20と運用系ポート17との間の時刻同期の頻度を下げることによって、運用系OSU20は、主信号の帯域を十分に確保することができる。
図6A及び図6Bに示す処理によって、上位NW装置1と運用系OSU20間の送信間隔を可変に調整し、運用系OSU20から送信されるPTPメッセージが消費する帯域を過剰に増やすことなく、また、過剰に減らすことなく、時刻同期のためのPTPメッセージが消費する帯域を最適化できる。
なお、運用系OSU20の時刻誤差比較部2043は、過去に行われた時刻誤差比較56の結果を保持し、運用系OSU20が保持するOLT2における時刻の誤差の、各待機系PTPメッセージ送信間隔16における変化量を算出してもよい。そして、算出された変化量に基づいて、運用系OSU20が保持するOLT2における時刻の誤差が所定の範囲外になる時刻を算出し、所定の範囲外になる時刻に基づいて、送信間隔調整用メッセージを上位NW装置1に送信してもよい。
また、上位NW装置1の送信間隔管理部104は、OLT2毎の運用系PTPメッセージ送信間隔15を保持してもよく、上位NW装置1の送信間隔管理部114は、OLT2毎の待機系PTPメッセージ送信間隔16を保持してもよい。これによって、OLT2毎に時刻同期のタイミングを変えることができる。
また、前述の例において上位NW装置1は、OLT2から送信された送信間隔調整用メッセージに含まれる時間間隔によってPTPメッセージ送信間隔を更新した。しかし、OLT2は、送信間隔調整用メッセージに送信間隔を短くする指示、又は、長くする指示のみを含め、上位NW装置1は、送信間隔調整用メッセージに含まれる指示に従って、あらかじめ段階的に定められた送信間隔から、PTPメッセージ送信間隔を決定してもよい。これによって、OLT2における処理が軽減される。
運用系OSU20、又は、運用系OSU20とセレクタ部22との間の伝送路において、障害が発生した場合の運用系OSU20及び待機系OSU21の処理を、以下に示す。
例えば、OLT2の運用系OSU20において障害が発生した場合、ユーザ、又は、あらかじめOLT2が備える障害判定部(図示しない)が、待機系OSU21からセレクタ部22への伝送路を主信号伝送路とする障害時の切替処理を行う。
障害時の切替処理は、具体的には、待機系OSU21からセレクタ部22への伝送路を主信号伝送路として、セレクタ部22に選択させる設定処理を含む。
また、ユーザ、又は、OLT2に備わる障害判定部は、障害時の切替処理において、運用系OSU20のPTP終端生成部2011に、待機系PTPメッセージ送信間隔16と同じ時間間隔、又は、運用系PTPメッセージ送信間隔15よりも長い時間間隔によってPTPメッセージ送信間隔を更新するよう、送信間隔調整用メッセージを生成させてもよい。そして、シーケンス57のように、生成された送信間隔調整用メッセージを上位NW装置1の運用系ポート17に送らせてもよい。
また、ユーザ、又は、OLT2に備わる障害判定部は、障害時の切替処理において、待機系OSU21のPTP終端生成部2111に、運用系PTPメッセージ送信間隔15と同じ時間間隔、又は、待機系PTPメッセージ送信間隔16よりも短い時間間隔によって、PTPメッセージ送信間隔を更新するよう送信間隔調整用メッセージを生成させてもよい。そして、シーケンス57のように、生成された送信間隔調整用メッセージを上位NW装置1の待機系ポート18に送らせてもよい。
前述の障害時の切替処理によって、待機系ポート18と待機系OSU21との間の時刻同期の頻度が低くなり、運用系ポート17と運用系OSU20との間の時刻同期の精度が高くなる。
なお、送信間隔管理部2013は、障害時の切替処理が行われた場合の待機系PTPメッセージ送信間隔16をあらかじめ保持してもよい。また、送信間隔管理部2113も、障害時の切替処理が行われた場合の運用系PTPメッセージ送信間隔15をあらかじめ保持してもよい。
また、ユーザ、又は、OLT2に備わる障害判定部は、障害時の切替処理において、待機系OSU21の時刻誤差比較部2143が時刻誤差比較56を行うように設定してもよい。すなわち、図6A及び図6Bに示すクロックSlave機能部201における処理を、クロックSlave機能部211が行い、図6A及び図6Bに示すクロックMaster機能部204における処理を、クロックMaster機能部214が行うように設定してもよい。
また、運用系OSU20において障害が発生した場合、図6A及び図6Bに示すクロックSlave機能部211における処理を、クロックSlave機能部201が行い、図6A及び図6Bに示すクロックMaster機能部214における処理を、クロックMaster機能部204が行わせてもよい。
これによって、運用系OSU20における障害時にも、運用系OSU20が保持するOLT2における時刻によって、待機系ポート18と待機系OSU21との間のPTPメッセージ送信間隔を調整することができる。また、運用系OSU20において障害が発生した場合の本実施形態における冗長化構成が実現される。
図7は、本発明の実施形態の上位NW装置1とOLT2との間で送受信する送信間隔調整用メッセージのフォーマット60を示す説明図である。
本実施形態のOLT2は、上位NW装置1に送信間隔を調整させる場合、図7に示すフォーマット60によって送信間隔調整用メッセージを生成する。OLT2のPTP終端生成部2011は、IEEE1588によって規定されたTLV Entity specificationsのOrganization specific TLV fieldsに、送信間隔に関する情報を格納することによって、送信間隔調整用メッセージを生成する。
なお、Organization specific TLV fields(TLV領域)とは、各ベンダが独自に使用することのできるTLVである。
送信間隔調整用メッセージのフォーマット60について説明する。フォーマット60は、PTPメッセージを送信するためのフレームに含まれる各領域に、どのような情報が格納されるかを示す。フォーマット60は、tlvType領域、Length Field、organizationID領域、organization Subtype領域、及び、logMessageIntervalAdj領域を含む。
tlvType領域は、IEEE1588によって規定されるORGANIZATION_EXTENSIONを含み、tlvType領域の値はHex0003である。
Length Fieldの値は、本実施形態においてHex0007である。 organizationID領域は、IEEEによってベンダに割り振られたOUI(Organizationally Unique Identifier)の値を含む。
organization Subtype領域は、organizationID領域のOUIによって特定されたベンダによって任意に割り当てられた領域である。
本実施形態において、logMessageIntervalAdjは、ベンダによって任意に定義された領域であり、送信間隔調整用メッセージに割り当てる。
logMessageIntervalAdj領域の値は、2オクテットによって示される。logMessageIntervalAdj領域には、2を底とした対数によって示されたPTPメッセージ送信間隔が格納される。例えば、PTPメッセージの送信間隔が2秒である場合、logMessageIntervalAdj領域の値はHex0001である。
時刻誤差比較56の結果の誤差が閾値の範囲外となった場合に、OLT2は、Organization specific TLV fieldsを用いて、上位NW装置1にPTPメッセージ送信間隔の調整を行うことによって、時刻同期誤差を要求精度内に収め、かつ、PTPメッセージが消費する帯域の最適化を実現する。
本実施形態によれば、運用系OSU20及び待機系OSU21によって異なる時間間隔に時刻同期が行われ、運用系OSU20が保持するOLT2における時刻と待機系OSU21が保持するOLT2における時刻との誤差が、所定の範囲内になるようにPTPメッセージ送信間隔が調整される。このため、OLT2は、主信号の帯域を確保しつつ、要求された精度の時刻同期が可能である。
また、OLT2は、PTPメッセージの送信間隔の更新を上位NW装置1に指示するため、PTPメッセージの送信間隔を最適化し、PTPメッセージが消費する帯域を最適化できる。