近年、ネットワークに接続されている各装置で精密に時刻同期することが求められるようになってきた。このようなネットワークに於ける時刻同期の代表例として、携帯電話網の基地局装置間の時刻同期が挙げられる。
携帯端末がエリア間を移動すると、一方のエリアの基地局から他方のエリアの基地局へのハンドオーバ(基地局の切り替え)が発生する。ハンドオーバの際にシームレスな通信を可能とするため、基地局装置間の周波数同期と時刻同期とを保つことが必要である。一般的に、基地局装置は、時刻同期の基準時刻にGPS(Global Positioning System)衛星から受信したGPS時刻を用いている。しかし、基地局装置は、GPS衛星からの電波が受信できないような場所、例えば、地下街や山奥などに設置される場合がある。基地局装置は、このような場合に於いても時刻同期を保たなければならない。
GPS衛星からの電波が受信できないような場所に於ける時刻同期には、ネットワーク経由で時刻同期する方法、例えば、NTP(Network Time Protocol)を利用した方法がある。NTPに於いて、GPS衛星や原子時計を最上位の時刻源として、階層構造状に接続されたサーバが、伝送路遅延の補正を相互に行うことにより、ミリ秒単位の精度の時刻同期を可能としている。しかし、NTPによる時刻同期では、時刻同期精度がNTPサーバまでのネットワークの物理的な距離(伝送時間)に左右されるという問題がある。
携帯電話網の基地局装置は、搬送波の周波数同期や、ハンドオーバ時の基地局間での同期において、マイクロ秒単位での時刻同期が必要である。そのため、NTPによる時刻同期では、時刻同期精度が充分ではないという問題がある。
このような背景の元、IEEE(The Institute of Electrical and Electronics Engineers)は、パケットネットワークにおいて時刻同期を行う標準化技術であるIEEE1588を定めている。IEEE1588では、時刻源の送信元であるマスタノードとマスタノードの時刻に同期するスレイブノードとの間の時刻同期手段であるPTP(Precision Time Protocol)プロトコルを規定している。IEEE1588では、時刻情報の交換手順、フレームフォーマット、マスタノードとスレイブノード間の伝送路遅延による時刻誤差の補正方法などを規定し、サブマイクロ秒オーダの精度の時刻同期を可能としている。
IEEE1588プロトコルでは、PTPメッセージを送受信するパケットを、送受信することで時刻同期を実現している。更に、時刻情報パケットの通信間隔を短縮することにより、時刻源となるグランドマスタクロックとの物理的な距離(伝送時間)に依存せず、時刻同期の精度を高めることができる。
非特許文献1(Page15〜Page17)には、PTPメッセージに係る時刻情報パケットの通信間隔を短縮することで、時刻同期精度を高める技術が記載されている。IEEE1588は、高精度のクロック同期を必要とする携帯電話基地局やテレコムネットワークへの適用も検討され始めている。
(IEEE1588の説明)
図16は、IEEE1588のSync Messageの構成を示す図である。縦方向は、当該フレームに於ける場所を4バイト毎に示している。横方向は、縦方向で示された当該フレームに於ける場所を、更に各ビット毎に細分化して示している。このSync Messageは、マスタノードからスレイブノードに送信されるフレームであり、時刻情報を含んでいる。
Sync Messageの77〜86バイト目のoriginTimestampには、マスタノードがGPS衛星から取得した時刻情報が格納されている。originTimestampは、どのスレイブノードに於いても、同一の値が送信される。Sync Messageの51〜58バイト目のcorrectionFieldには、伝送路による時刻遅延や伝送装置内での時刻遅延に対する補正値が格納されている。スレイブノードは、受信したSync Messageから、時刻情報に関係する値を抽出し、更に自装置による遅延を補正した上で新たなPTPパケットを生成し、下流の装置に送信する。
図17は、IEEE1588に於ける時刻遅延補正を示すシーケンス図である。このPTPメッセージのシーケンスは、パケット伝送装置(下流)20が自らが計時する時刻をパケット伝送装置(上流)10が計時する時刻と同期するシーケンスである。
伝送路により接続された二つの装置間で情報の授受を行う場合、伝送距離に応じた伝送路遅延が発生する。このため、ある時点の時刻情報をもつメッセージを送信した場合、該メッセージを受信する際には、伝送路遅延分の遅れを考慮する必要がある。IEEE1588規格ではこの点に留意し、伝送路遅延および二つの装置が計時する時刻のずれを検出して、時刻補正を行う方式を採用している。
シーケンスQ81に於いて、パケット伝送装置(上流)10は、IEEE1588プロトコルを起動するタイミングで、パケット伝送装置(上流)10の時刻Taを記録し、時刻Taを含むSync Messageをパケット伝送装置(下流)20に送出する。パケット伝送装置(下流)20は、このSync Messageを受信し、受信した時刻Tbを記録する。これにより、パケット伝送装置(下流)20は、パケット伝送装置(上流)10がSync Messageを送出した時刻Taの情報と、Sync Messageを受信した時刻Tbの情報とを得ることができる。シーケンスQ82に於いて、パケット伝送装置(下流)20は、時刻Taの情報を記憶部(不図示)に保持する。
パケット伝送装置(上流)10に対するパケット伝送装置(下流)20の時刻ずれが無ければ、時間(Tb−Ta)は、パケット伝送装置(上流)10からパケット伝送装置(下流)20に伝達する伝送路遅延時間と等しくなる。実際には、2つの装置の時刻ずれが存在するので、以下の(式1)に示す関係となる。
(Tb−Ta) = 下流方向の伝送路遅延時間+時刻ずれ・・・(式1)
シーケンスQ83に於いて、パケット伝送装置(下流)20は、Delay Req Messageをパケット伝送装置(上流)10に送出し、Delay Req Messageを送出した時刻Tcを記録する。パケット伝送装置(上流)10は、Delay Req Messageを受信した時刻Tdを記録する。
シーケンスQ84に於いて、パケット伝送装置(上流)10は、時刻Tdの情報を含んだDelay Resp Messageを、パケット伝送装置(下流)20に送出する。これにより、パケット伝送装置(下流)20は、自らがDelay Req Messageを送出した時刻Tcの情報と、パケット伝送装置(上流)10がDelay Req Messageを受信した時刻Tdの情報とを得ることができる。
パケット伝送装置(上流)10に対するパケット伝送装置(下流)20の時刻ずれが無ければ、時間(Td−Tc)は、パケット伝送装置(下流)20からパケット伝送装置(上流)10に伝達する伝送路遅延時間と等しくなる。実際には、2つの装置の時刻ずれが存在するので、以下の(式2)に示す関係となる。
(Td−Tc) = 上流方向の伝送路遅延時間−時刻ずれ・・・(式2)
シーケンスQ81,Q82で得られる時間(Tb−Ta)とシーケンスQ83,Q84で得られる時間(Td−Tc)の和は、上流方向の伝送路遅延時間と下流方向の伝送路遅延時間の和となる。IEEE1588プロトコルの遅延計算では、パケット伝送装置(上流)10からパケット伝送装置(下流)20、パケット伝送装置(下流)20からパケット伝送装置(上流)10両方向の伝送路遅延が対称であると仮定し、上流方向の伝送路遅延時間と下流方向の伝送路遅延時間の和を2で除算することにより、伝送路遅延時間を求めることができる(式3)。
伝送路遅延時間 =((Tb−Ta)+(Td−Tc))÷2・・・(式3)
また、時刻情報(Td−Tc)と時刻情報(Tb−Ta)の差を2で除算することにより、パケット伝送装置(上流)10の時刻に対するパケット伝送装置(下流)20の時刻ずれを求めることができる(式4)。
時刻ずれ =((Tb−Ta)−(Td−Tc))÷2・・・(式4)
以上の情報により、パケット伝送装置(下流)20は、パケット伝送装置(上流)10とパケット伝送装置(下流)20との間の伝送路遅延、および、パケット伝送装置(下流)20とパケット伝送装置(上流)10との時刻ずれを算出し、パケット伝送装置(上流)10の時刻に従属して動作することが可能となる。すなわち、パケット伝送装置(下流)20は、パケット伝送装置(上流)10に時刻同期する。
PTPメッセージ送信間隔とは、一連のシーケンスQ81〜Q84で送信されるPTPメッセージを送信する間隔のことであり、例えば、シーケンスQ81を送信した時刻と、シーケンスQ81Aを送信した時刻との時間差のことである。PTPメッセージ送信間隔は、パケット伝送装置(上流)10によって決定される。パケット伝送装置(上流)10は、PTPメッセージ送信間隔の情報を、PTPメッセージを介してパケット伝送装置(下流)20に伝達する。パケット伝送装置(下流)20は、受信したPTPメッセージから得られたPTPメッセージ送信間隔によって、更に下位装置へのPTPメッセージの送信を行う。
なお、パケット伝送装置(下流)20と基地局装置50との間も、同様のシーケンスを実行することにより時刻同期が実現できる。多数のパケット伝送装置(下流)20が階層的に接続されている場合も同様である。
一般にテレコムネットワークのような、高い精度での時刻同期が必要とされる回線では、高い信頼性が要求され、システムを冗長構成することが多い。冗長構成とは、例えば、回線の二重化、複数時刻源の設置、または、装置の二重化である。ここで二重化とは、システムの一部に何らかの障害が発生した場合に備えて、障害発生後でもシステム全体の機能を維持できるように予備装置を平常時からバックアップとして配置しておくことである。装置の二重化では、通常時に使用される運用系に何らかの障害が発生した場合には、品質を損なうことなく即座に予備装置である待機系に切替えることが求められるため、二つの装置を並列に稼働させ、片方に障害が発生しても即座に別の装置へ切り替えるという方式がとられている。
一方で、装置を全て二重化し、待機系を常時起動させておくということは、その分の装置やシステム全体の消費電力が増大するという問題点もある。昨今、電気機器の増加に伴う世界的な電力需要の増加により、燃料資源の枯渇や二酸化炭素の排出による環境影響が懸念されているため、通信機器のみならず、幅広い分野の機器に対して省電力化が求められている。
そのため、システムの冗長化に於いては、信頼性の保持に加え、省電力についても考慮していく必要がある。具体的には、装置の二重化構成をとった場合に、待機系をスリープ状態とさせたいが、しかし、単純にIEEE1588に準拠し、運用系と待機系の同期を図る場合には、系切替時に数マイクロ秒〜数ミリ秒の時間を要する。この期間に於いて、待機系は自走状態となり、クロックマスタとの同期精度が低下してしまう。
IEEE1588に準拠した機器では、時刻同期のための通信を開始するために複数回のパケットの送受信が必要となる。この時間は、スレイブ−マスタ間の伝送路長によっては、マイクロ秒から数ミリ秒以上の時間がかかると考えられている。時刻同期精度の低下は、装置が自走状態にある時間の長さに比例するため、系の切り替えに要する時間を最小限に抑制する必要がある。ここで自走状態とは、装置が何らかの理由により外部からの時刻情報を受信することが不可能となり、装置内部のクロックから時刻情報を得ている状態のことを指す。
特許文献1(特開2002−232462号公報)には、運用系に疎通するユーザパケットを複製して、待機系に分岐して送信する発明が記載されている。これにより、冗長構成において、系の切り替えを高速に行うことができる。
先ず、実施形態に於ける用語を定義する。
「時刻」とは、「12時00分00秒」などのように、ある唯一の時点を表す識別情報である。
「時間」とは、時の幅を表す量である。「時間」は、二つの時刻の差分として定義することができ、単位時間の累積としても定義することができる。例えば、時刻12時00分00秒と時刻13時00分00秒との差分として表される時間は、1時間00分00秒である。例えば、1秒間という単位時間を30回累積した時間は、30秒である。
以降、本発明を実施するための形態を、各図を参照して詳細に説明する。
(第1の実施形態の構成)
図1は、本実施形態に於ける冗長化時刻同期システムを示す図である。
冗長化時刻同期システム1は、階層的に接続されているパケット伝送装置(上流)10と、パケット伝送装置(下流)20と、基地局装置50とを備えている。ネットワーク100Aは、パケット伝送装置(上流)10とパケット伝送装置(下流)20とが、光ファイバケーブルまたは導線ケーブルによって、階層的に接続されて構成されている。ネットワーク100Aのパケット伝送装置(上流)10は、外部ネットワーク100Bに接続され、更に、ネットワーク100Aの末端には、基地局装置50が接続されている。
パケット伝送装置(上流)10は、例えばメディアコンバータであり、GPSアンテナ11を備え、図示しない処理部に、IEEE1588に準拠して動作するプロトコルスタックを有している。パケット伝送装置(上流)10は、双方向通信が可能な通信回線によって、外部ネットワーク110Bと、複数のパケット伝送装置(下流)20とに接続されている。
パケット伝送装置(上流)10は、GPS衛星110から受信するGPS信号より時刻情報を抽出する機能と、抽出した時刻情報に内部クロックを同期させる機能と、抽出した時刻情報からPTPパケットを生成する機能と、下位装置であるパケット伝送装置(下流)20にPTPパケットを送信する機能とを有している。パケット伝送装置(上流)10は更に、通信回線を通じて、PTPパケットおよび、外部ネットワーク100Bからの主信号パケットをパケット伝送装置(下流)20に送信する機能を有している。
パケット伝送装置(下流)20(時刻情報伝送装置)は、例えば冗長化されたメディアコンバータであり、図示しない処理部に、IEEE1588に準拠して動作するプロトコルスタックを有している。パケット伝送装置(下流)20は、双方向通信が可能な通信回線によって、パケット伝送装置(上流)10と、複数の基地局装置50とに接続されている。パケット伝送装置(下流)20は、パケット伝送装置(上流)10が計時する時刻に同期して動作するものである。
パケット伝送装置(下流)20は、パケット伝送装置(上流)10から受信したPTPパケットの時刻情報を抽出する機能と、抽出した時刻情報に内部クロックを同期させる機能と、抽出した時刻情報からPTPパケットを生成する機能と、生成したPTPパケットを下位装置である基地局装置50に送信する機能を有している。
なお、これに限られず、冗長化時刻同期システム1は、パケット伝送装置(下流)20の下位装置に、他のパケット伝送装置(下流)20を階層的に接続して、その末端に基地局装置50などを接続するように構成してもよい。
基地局装置50は、例えば無線端末(不図示)との間で無線通信を行うために各エリアに設置された基地局であり、図示しない処理部に、IEEE1588に準拠して動作するプロトコルスタックを有している。基地局装置50は、双方向通信が可能な通信回線によってパケット伝送装置(下流)20に接続されている。
基地局装置50は、受信したPTPパケットから時刻情報を抽出する機能と、抽出した時刻情報に内部クロックを同期させる機能を有している。冗長化時刻同期システム1は、GPSアンテナ11およびGPS信号から時刻情報を抽出する機能を有さない末端装置にも、高精度な時刻情報を配信することができる。
図2は、本実施形態に於けるパケット伝送装置を示す概略の構成図である。
パケット伝送装置(下流)20は、運用系21aと、待機系21bと、セレクタ部32とを備えている。パケット伝送装置(下流)20は、L2SW(Level2 Switch)40を介してパケット伝送装置(上流)10に接続されていると共に、下位装置(不図示)と接続されている。
運用系21aと待機系21bとは、同様の構成を有し、同様に接続されている。すなわち、運用系21aは、SLAVE22aと、MASTER23aとを備えている。待機系21bは、同様に構成されて接続されているSLAVE22bと、MASTER23bとを備えている。運用系21aは、通常時にパケットを伝送する部位である。待機系21bは、運用系21aに異常が発生した際、この運用系21aに代わってパケットを伝送する部位である。
SLAVE22aは、伝送部24aと、監視部25aと、制御部26aとを備えている。伝送部24aは更に、パケット送受信部27aと、時刻情報抽出部28aと、PTPメッセージ生成部29aとを備えている。SLAVE22aは、パケット伝送装置(上流)10との間でPTPメッセージを送受信する部位である。
パケット送受信部27aは、パケット伝送装置(上流)10から第1の時刻情報であるPTPパケットを受信する部位である。パケット送受信部27aは、L2SW40を介してパケット伝送装置(上流)10に接続されている。パケット送受信部27aは更に、時刻情報抽出部28aと監視部25aとに接続されている。
監視部25aは、伝送部24aを監視して、異常発生を検知する部位である。監視部25aは、パケット送受信部27aと時刻情報抽出部28aとを監視し、PTPメッセージのタイムアウトを検知する。
制御部26aは、SLAVE22a全体を統括して制御する部位である。制御部26aは更に、監視部25aからの異常通知を受けた際に、待機系21bの制御部26bに起動通知し、パケット送受信部30bに起動通知し、更にセレクタ部32に出力切り替え信号を出力する部位である。
時刻情報抽出部28aは、パケット伝送装置(上流)10から受信したPTPパケットの時刻情報を抽出し、抽出した時刻情報に内部クロックを同期させる部位である。時刻情報抽出部28aは、パケット送受信部27aに接続されてPTPパケットを受信し、監視部25aとPTPメッセージ生成部29aとに接続されて、抽出した時刻情報を出力する。
PTPメッセージ生成部29aは、抽出した時刻情報から、第3の時刻情報であるPTPパケットを生成する部位である。PTPメッセージ生成部29aは、時刻情報抽出部28aに接続されて時刻情報を取得し、パケット送受信部30a,30bに接続されて、生成したPTPパケットを送信する。
MASTER23aは、パケット送受信部30aと情報格納部31aを備えている。MASTER23aは、PTPメッセージ生成部29aが生成したPTPパケットを、セレクタ部32を介して、下位装置である基地局装置50(図1)に送信する部位である。
パケット送受信部30aは、PTPメッセージ生成部29aが生成したPTPパケットをセレクタ部32に送信する部位である。パケット送受信部30aは、PTPメッセージ生成部29a,29bに接続されてPTPパケット情報を受信し、制御部26bに接続されて、運用系21aと待機系21bのいずれから受信したPTPパケット情報を選択するかが指示される。パケット送受信部30aは更に、情報格納部31a,31bに接続され、格納されている情報を取得可能である。
情報格納部31aは、例えばRAM(Random Access Memory)などであり、伝送部24aから送信されたコンフィグレーション情報と運用情報と時刻情報とを格納し、格納した各情報をパケット送受信部30a,30bに送信する部位である。
待機系21bに於いて、SLAVE22bは、パケット送受信部27bと時刻情報抽出部28bとPTPメッセージ生成部29bと監視部25bと制御部26bとを備え、MASTER23bは、パケット送受信部30bと情報格納部31bとを備える。
パケット送受信部27bは、パケット伝送装置(上流)10から第2の時刻情報であるPTPパケットを受信する部位である。PTPメッセージ生成部29bは、抽出した時刻情報から、第4の時刻情報であるPTPパケットを生成する部位である。
以下、待機系21bの構成および接続は、運用系21aの構成および接続と同様である。
パケット伝送装置(上流)10からの信号は、L2SW40のようなネットワーク中継器によって分岐される。これにより、伝送部24aのパケット送受信部27aと、伝送部24bのパケット送受信部27bとは、同一の信号を受信する。
運用系21aが稼働している際には、待機系21bのSLAVE22bの伝送部24bと監視部25bとは、スリープ状態である。これにより、待機系21bは、消費電力を抑制することができる。
なお、パケット伝送装置20の制御部26は、図2に示すように制御部26aと制御部26bのように運用系、待機系でそれぞれ別に構成しても良いし、これら2つの制御部26a、26bをまとめて1つの制御部として構成しても良い。また、情報格納部31も、情報格納部31aと情報格納部31bのように運用系、待機系でそれぞれ別に構成しても良いし、これら2つの情報格納部31a、31bをまとめて1つの情報格納部として構成しても良い。
《パケット伝送装置の動作》
以下、パケット伝送装置(下流)20が、パケット伝送装置(上流)10から受信した時刻情報を下位装置(不図示)に送信するまでの動作について説明する。
パケット送受信部27aは、パケット伝送装置(上流)10とPTPメッセージの送受信を行う。パケット送受信部27aは、受信したPTPメッセージを、時刻情報抽出部28aと監視部25aとに送信する。
時刻情報抽出部28aは、パケット送受信部27aから受信したPTPメッセージから時刻情報を抽出して、監視部25aとPTPメッセージ生成部29aに送信する。
PTPメッセージ生成部29aは、時刻情報抽出部28aから受信した時刻情報をもとにPTPパケットを生成し、パケット送受信部30aとパケット送受信部30bとに送信する。
パケット送受信部30aは、コンフィグレーション情報と運用情報と時刻情報とを、情報格納部31aまたは、情報格納部31bから受信し、下位装置とのPTPメッセージの送信に使用する。パケット送受信部30aは、制御部26bの指示により、PTPメッセージ生成部29a,29bから受信したPTPメッセージのうちいずれかをセレクタ部32に送信する。
情報格納部31a,31bは、受信したコンフィグレーション情報と運用情報と時刻情報とを格納する機能と、格納したコンフィグレーション情報と運用情報と時刻情報とを、パケット送受信部30a,30bに通知する機能とを有している。
セレクタ部32は、運用系21aが稼働している際に、パケット送受信部30aから送信される運用系21a側のPTPメッセージを下位装置に送信し、パケット送受信部30bから送信される待機系21b側のPTPメッセージを終端する。セレクタ部32は更に、運用系21aが休止状態には、パケット送受信部30aから送信される運用系21a側のPTPメッセージを終端し、パケット送受信部30bから送信される待機系21b側のPTPメッセージを下位装置に送信する。
監視部25aは、パケット送受信部27aから受信するPTPメッセージの受信タイミングを監視し、PTPメッセージの受信タイムアウトを検知することで、運用系21aの障害発生を検知して、制御部26aに送信する。
次に、系切り替え時の動作について説明する。
運用系21a側にて何らかの障害が発生し正常にPTPメッセージを受信できなくなった場合、監視部25aは、当該異常を検出し、異常発生の通知を制御部26aに送信する。制御部26aは、監視部25aから異常発生の通知を受信すると、待機系21bに起動通知信号を送信すると共に、パケット送受信部30bとセレクタ部32とに系切り替えの信号を送信する。待機系21bは、起動通知信号を受信すると、スリープ状態を解除し、パケット伝送装置(上流)10との時刻同期を開始する。パケット送受信部27aは、情報格納部31bに格納されているコンフィグレーション情報と、運用情報と、時刻情報とを利用してパケット伝送装置(上流)10との通信を行うことにより、通信開始のためのシーケンスを一部省略し、時刻同期開始までの時間を短縮する事ができる。
図3は、コンフィグレーション情報一覧を示す図である。コンフィグレーション情報は、運用系21aから待機系21bに引き渡される情報である。項番1のMAC-DAは、送信先の装置のMAC(Media Access Control)アドレスが格納される。項番2のMAC-SAは、送信元の装置のMACアドレスが格納される。項番3のIPv4 Headerは、IP(Internet Protocol)パケットのヘッダ情報が格納される。項番4のdefaultDS.priority1と項番5のdefaultDS.priority2とは、装置の時刻情報の優先順位が格納される。項番6のdefaultDS.domainNumberは、装置のドメイン情報が格納される。項番7のdefaultDS.slaveOnlyは、スレイブ固定で動作するか否かの識別情報が格納される。項番8のportDS.logAnnounceIntervalは、パケット伝送装置(上流)10からパケット伝送装置(下流)20に送信されるAnnounce Messageの送信間隔の値が格納される。項番9のportDS.announceReceiptTimeoutは、パケット伝送装置(上流)10とパケット伝送装置(下流)20で送受信されるDelay Req MessageとDelay Resp Messageの送信間隔の値が格納される。項番10のportDS.logSyncIntervalは、マルチキャスト通信時に使用されるインターバル期間が格納される。項番11のportDS.delayMechanismは、遅延計算方式情報が格納される。項番12のportDS.logMinPdelayReqIntervalは、遅延補正メッセージの送信間隔が格納される。項番13のportDS.versionNumberは、PTPのバージョン情報が格納される。このようにコンフィグレーション情報には、時刻同期を行う各装置の設定状態を表す値が格納される。
図4は、運用情報一覧を示す図である。運用情報は、運用系21aから待機系21bに引き渡される情報である。項番1のdefaultDS.clockQuality.clockClassは、装置が保持している時刻情報の信頼性情報が格納される。項番2のdefaultDS.clockQuality.ClockAccuracyは、装置が保持する時刻精度情報が格納される。項番3のdefaultDS.clockQuality.offsetScaledLogVarianceは、スレイブの時刻の分散値が格納される。項番4のcurrentDS.stepsRemovedは、グランドマスタクロックと当該装置との回線数が格納される。項番5のcurrentDS.offsetFromMasterは、マスタ−スレイブ間の時刻の差が格納される。項番6のcurrentDS.meanPathDelayは、装置間の平均伝搬時間の値が格納され、時刻情報の補正値として使用される。項番7のparentDS.parentPortIdentityは、マスタ側のポートIDの情報が格納される。項番8のparentDS.parentStatsは、当該装置の持つマスタとの接続状況の情報が格納される。項番9のparentDS.observedParentOffsetScaledLogVarianceは、スレイブが測定したマスタ時刻の分散値が格納される。項番10のparentDS.observedParentClockPhaseChangeRateは、マスタ側時刻の位相変動値が格納される。項番11のparentDS.grandmasterIdentityは、グランドマスタクロックのID情報が格納される。項番12のparentDS.grandmasterClockQualityは、グランドマスタクロックの精度情報が格納される。
項番13のparentDS.grandmasterPriority1は、グランドマスタクロックの優先順位が格納される。項番14のparentDS.grandmasterPriority2は、グランドマスタクロックの優先順位が格納される。項番15のtimePropertiesDS.currentUtcOffsetは、TAI(国際原子時)とUTC(協定世界時)のオフセット値が格納される。項番16のtimePropertiesDS.currentUtcOffsetValidは、項番15の値の信頼性の情報が格納される。項番17のtimePropertiesDS.leap59と項番18のtimePropertiesDS.leap61とは、閏秒に対する補正値が格納される。項番19のtimePropertiesDS.timeTraceableは、15の値のタイムスケールの値が格納される。項番20のtimePropertiesDS.frequencyTraceableは、周波数の初期発信源の信頼性が格納される。項番21のtimePropertiesDS.ptpTimescaleは、グランドマスタクロックのタイムスケールが格納される。項番22のtimePropertiesDS.timeSourceは、グランドマスタクロックのタイムソースが格納される。項番23のportDS.portStateは、プロトコルエンジンの現状態の情報が格納される。項番24のportDS.logMinDelayReqIntervalは、遅延補正メッセージの送信間隔を規定する情報が格納される。項番25のportDS.peerMeanPathDelayは、伝播遅延の推定値が格納される。前記項番1〜25に示したように、運用情報には、時刻同期を開始する際の初期値が格納されている。
(比較例の動作)
図5は、比較例に於ける時刻同期シーケンスを示す図である。当該図5は、図1および図2に示すパケット伝送装置(上流)10とパケット伝送装置(下流)20との間で通信を開始し、時刻同期するシーケンスを示している。比較例のパケット伝送装置(下流)20に於いて、運用系21aと待機系21bとが情報の送受信を行わず、待機系21bは全てスリープ状態で待機している。Signaling Message、Announce Message、Sync Message、Delay Req Message、Delay Resp Messageは、IEEE1588において規定されているPTPパケットである。
《コンフィグレーション情報送受信シーケンス》
シーケンスQ10に於いて、パケット伝送装置(下流)20は、パケット伝送装置(上流)10のMACアドレスやドメインなどを含むコンフィグレーション情報(図3)を取得する。すなわち、パケット伝送装置(下流)20は、以下のシーケンスQ11〜Q12を実施する。
シーケンスQ11に於いて、パケット伝送装置(下流)20は、パケット伝送装置(上流)10にSignaling Messageを送信する。シーケンスQ12に於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20にSignaling Messageを送信する。このSignaling Messageには、MACアドレスやドメインを含むコンフィグレーション情報(図3)が格納されている。
《運用情報送受信シーケンス》
シーケンスQ20に於いて、パケット伝送装置(下流)20は、パケット伝送装置(上流)10が保持しているGPS信号のID情報などの運用情報を取得する。具体的には、以下のシーケンスQ22を実施する。
シーケンスQ22に於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20にAnnounce Messageを送信する。このAnnounce Messageには、GPS信号のID情報などに代表される運用情報(図4)が格納されている。
《時刻同期シーケンス》
シーケンスQ30に於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20との間で時刻同期シーケンスを実行することにより、パケット伝送装置(下流)20を時刻同期させる。具体的には、以下のシーケンスQ31〜Q35を実施する。
シーケンスQ31に於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20に、Sync Messageを送信する。このSync Messageは、前記した図16に示すように、時刻情報を含んだPTPパケットである。シーケンスQ32に於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20に、Announce Messageを送信する。シーケンスQ33に於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20に、Sync Messageを送信する。
シーケンスQ34に於いて、パケット伝送装置(下流)20は、パケット伝送装置(上流)10に、Delay Req Messageを送信する。
シーケンスQ35に於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20に、Delay Resp Messageを送信する。このDelay Resp Messageは、装置間の伝送路遅延を補正するために送受信されるPTPパケットである。
《スリープモード維持》
シーケンスQ41に於いて、運用系21aの制御部26aは、待機系21bの制御部26bに、スリープモードの維持を通知する。このスリープモードの維持は、例えば時刻同期のシーケンスQ30を実施したのちに通知される。しかし、これに限られず、運用系21aの制御部26aは、後記する時刻同期維持のシーケンスQ30Aを実施したのちに、定期的に通知してもよい。これにより、パケット伝送装置(下流)20は、消費電力を抑制することができる。
《時刻同期維持シーケンス》
シーケンスQ30Aに於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20との間で時刻同期維持シーケンスを実行することにより、パケット伝送装置(下流)20の時刻同期精度を維持させる。すなわち、シーケンスQ30A以降に、パケット伝送装置(上流)10は、前記したシーケンスQ31〜Q35と同様の処理を、PTPメッセージの送信間隔ごとに実施する。これにより、パケット伝送装置(下流)20は、上位装置であるパケット伝送装置(上流)10との時刻同期を維持することができる。
《障害発生時の処理》
シーケンスQ50に於いて、運用系21aの伝送部24aで障害が発生した場合を考える。このとき、待機系21bの起動処理(Q52)と系切替処理(Q61〜Q63)とが行われる。
シーケンスQ51に於いて、運用系21aの制御部26aは、待機系21bの制御部26bに、起動を通知する。
シーケンスQ52に於いて、待機系21bの制御部26bおよび伝送部24bは、起動処理を行う。
シーケンスQ53に於いて、運用系21aの制御部26aは、伝送部24aに休止を通知する。休止通知を受けた伝送部24aは、スリープモードに遷移する。これにより、パケット伝送装置(下流)20は、消費電力を抑制することができる。
シーケンスQ61に於いて、待機系21bの伝送部24bおよびパケット伝送装置(上流)10は、コンフィグレーション情報送受信を行う。当該シーケンスQ61は、シーケンスQ10の処理と同様である。
シーケンスQ62に於いて、待機系21bの伝送部24bおよびパケット伝送装置(上流)10は、運用情報送受信を行う。当該シーケンスQ62は、シーケンスQ20の処理と同様である。
シーケンスQ63に於いて、待機系21bの伝送部24bおよびパケット伝送装置(上流)10は、時刻同期処理を行う。当該シーケンスQ63は、シーケンスQ30の処理と同様である。
シーケンスQ64に於いて、待機系21bの伝送部24bおよびパケット伝送装置(上流)10は、時刻同期維持処理を行う。当該シーケンスQ64は、シーケンスQ30Aの処理と同様である。
シーケンスQ61〜Q63の処理により、待機系21bは、パケット伝送装置(上流)10と時刻同期して系を切り替える。しかし、シーケンスQ61〜Q63を実行している際、パケット伝送装置(下流)20は、時刻同期維持シーケンスを実行することができない。更に、パケット伝送装置(下流)20と下位装置とは、時刻同期維持シーケンスを実行することができない。パケット伝送装置(下流)20と下位装置とは、自走状態となり、時刻同期精度が悪化する虞があった。
(本実施形態の動作)
図6は、本実施形態に於ける時刻同期シーケンスを示す図である。図5に示す比較例の時刻同期シーケンスと同一の要素には同一の符号を付与している。
この時刻同期シーケンスは、比較例(図5)と同様に、パケット伝送装置(上流)10とパケット伝送装置(下流)20との間で、通信を開始して時刻同期するシーケンスを示している。
本実施形態のパケット伝送装置(下流)20に於いて、比較例と同様に、運用系21aと待機系21bとが情報の送受信を行わず、待機系21bは全てスリープ状態で待機している。
《コンフィグレーション情報送受信シーケンス》
シーケンスQ10Bに於いて、パケット伝送装置(下流)20は、パケット伝送装置(上流)10のMACアドレスやドメインなどを含むコンフィグレーション情報(図3)を取得する。すなわち、パケット伝送装置(下流)20は、以下のシーケンスQ11〜Q15を実施する。
シーケンスQ11,Q12の処理は、比較例のシーケンスQ11,Q12の処理と同様である。
シーケンスQ13に於いて、運用系21aの伝送部24aは、取得したコンフィグレーション情報を、情報格納部31aに格納する。
シーケンスQ14に於いて、運用系21aの伝送部24aは、取得したコンフィグレーション情報を、待機系21bの伝送部24bに送信する。
シーケンスQ15に於いて、待機系21bの伝送部24bは、受信したコンフィグレーション情報を、情報格納部31bに格納する。
《運用情報送受信シーケンス》
シーケンスQ20Bに於いて、パケット伝送装置(下流)20は、パケット伝送装置(上流)10が保持しているGPS信号のID情報などの運用情報を取得する。すなわち、パケット伝送装置(下流)20は、以下のシーケンスQ22〜Q25を実施する。
シーケンスQ22の処理は、比較例のシーケンスQ22の処理と同様である。
シーケンスQ23に於いて、運用系21aの伝送部24aは、取得した運用情報(図4)を、情報格納部31aに格納する。
シーケンスQ24に於いて、運用系21aの伝送部24aは、取得した運用情報(図4)を、待機系21bの伝送部24bに送信する。
シーケンスQ25に於いて、待機系21bの伝送部24bは、受信した運用情報(図4)を、情報格納部31bに格納する。
《時刻同期シーケンス》
シーケンスQ30Bに於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20との間で時刻同期シーケンスを実行することにより、パケット伝送装置(下流)20を時刻同期させる。具体的には、以下のシーケンスQ31〜Q38を実施する。
シーケンスQ31〜Q35の処理は、比較例のシーケンスQ31〜Q35の処理と同様である。
シーケンスQ36に於いて、運用系21aの伝送部24aは、取得した時刻情報(図4)を、情報格納部31aに格納する。
シーケンスQ37に於いて、運用系21aの伝送部24aは、取得した時刻情報(図4)を、待機系21bの伝送部24bに送信する。
シーケンスQ38に於いて、待機系21bの伝送部24bは、受信した時刻情報(図4)を、情報格納部31bに格納する。
《スリープモード維持》
シーケンスQ41に於いて、運用系21aの制御部26aは、待機系21bの制御部26bに、スリープモードの維持を通知する。これにより、制御部26bは、伝送部24bのパケット送受信部27b、時刻情報抽出部28b、および、PTPメッセージ生成部29bの動作を停止させ、各種情報を情報格納部31bに格納する機能のみを動作させる。これにより、パケット伝送装置(下流)20は、消費電力を抑制することができる。
《時刻同期維持シーケンス》
シーケンスQ30Cに於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20との間で時刻同期維持シーケンスを実行することにより、パケット伝送装置(下流)20の時刻同期精度を維持させる。すなわち、パケット伝送装置(上流)10は、前記したシーケンスQ31〜Q38と同様の処理を行う。パケット伝送装置(上流)10は、シーケンスQ30Cの処理を、PTPメッセージの送信間隔ごとに実施する。
運用系21aは、シーケンスQ30Cを実行する毎に、時刻情報を、待機系21bの伝送部24bに送信し、情報格納部31bに格納させる。待機系21bは、運用系21aから、常に最新の時刻情報を取得し、情報格納部31bに格納(更新)する。このため、待機系21bは、系切替処理に於いて、運用系21aが取得していた最新の時刻情報を用いて、短時間で時刻同期を開始することができると共に、自走で時刻同期を開始するよりも高い精度で時刻同期を開始することができる。
《障害発生時の処理》
本実施形態のシーケンスQ50〜Q53の処理は、比較例のシーケンスQ50〜Q53の処理と同様である。
シーケンスQ52に於いて、待機系21bの制御部26bおよび伝送部24bは、起動処理を行う。この起動処理に於いて、伝送部24bは、情報格納部31bに格納したコンフィグレーション情報、運用情報、および、時刻情報を利用する。具体的にはシーケンスQ61(図5)を、格納済のコンフィグレーション情報を利用することで省略し、シーケンスQ62(図5)を、格納済の運用情報を利用することにより省略し、シーケンスQ63(図5)を、格納済の時刻情報を利用することにより省略する。
シーケンスQ64Bに於いて、待機系21bの伝送部24b、および、パケット伝送装置(上流)10は、時刻同期維持処理を行う。当該シーケンスQ64Bは、シーケンスQ30Cの処理と同様である。
待機系21bは、比較例のシーケンスQ61〜Q63の処理を省略して、シーケンスQ64Bの処理を行うことにより、待機系21b自身が自走状態となる時間を短縮することが可能となり、時刻同期精度の悪化を抑制できる。
IEEE1588規格とは、装置間でPTPパケットの送受信を繰り返し行うことによって、徐々に装置間の時刻同期精度を高めるものである。本実施形態の待機系21bは、運用系21aから引き継いだ時刻情報を利用することにより、起動直後(通信開始直後)から、高い精度で時刻同期を行うことができる。
図7は、本実施形態に於ける待機系起動シーケンスを示す図である。
シーケンスQ70〜Q80の処理は、前記する図6のシーケンスQ50〜Q64Bの処理に対応している。
シーケンスQ70に於いて、運用系21aの監視部25aは、伝送部24aの異常を検出する。具体的な異常検出方法は、後記する図8で説明する。
シーケンスQ71に於いて、運用系21aの監視部25aは、制御部26aに異常通知を行う。
シーケンスQ72に於いて、運用系21aの制御部26aは、待機系21bの制御部26bに、起動通知を行う。この処理は、シーケンスQ51(図6)の処理と同様である。
シーケンスQ73に於いて、運用系21aの制御部26aは、伝送部24aに、休止通知を行う。この処理は、シーケンスQ53(図6)の処理と同様である。これにより、伝送部24aは、休止状態に遷移するので、消費電力を抑制することができる。
シーケンスQ74に於いて、待機系21bの制御部26bは、起動処理を行う。
シーケンスQ75に於いて、待機系21bの制御部26bは、伝送部24bに起動通知を行う。
シーケンスQ76に於いて、待機系21bの伝送部24bは、起動処理を行う。
シーケンスQ77に於いて、待機系21bの伝送部24bは、情報格納部31bから、コンフィグレーション情報を取得する。
シーケンスQ78に於いて、待機系21bの伝送部24bは、情報格納部31bから、運用情報を取得する。
シーケンスQ79に於いて、待機系21bの伝送部24bは、情報格納部31bから、時刻情報を取得する。
このシーケンスQ74〜Q79の処理は、シーケンスQ52(図6)の処理と同様である。
シーケンスQ80に於いて、待機系21bの伝送部24bは、上位装置であるパケット伝送装置(上流)10(図2)との間で、時刻同期維持シーケンスを実行する。この処理は、シーケンスQ64B(図6)の処理と同様である。
図8は、本実施形態に於ける監視処理を示すフローチャートである。
運用系21aの監視部25aが、当該監視処理を行う。
ステップS10に於いて、監視部25aは、現在の時刻を記録する。
ステップS11に於いて、監視部25aは、Sync Messageを受信したか否かを判断する。監視部25aは、当該判断条件が成立したならば(Yes)、ステップS10の処理に戻り、当該判断条件が成立しなかったならば(No)、ステップS12の処理を行う。
ステップS12に於いて、監視部25aは、記録した時刻から現在の時刻までの経過時間を算出する。ここで、記録した時刻とは、初期状態を除き、Sync Messageを受信した時刻である。
ステップS13に於いて、監視部25aは、当該経過時間が閾値を超えているか否かを判断する。監視部25aは、当該判断条件が成立したならば(Yes)、ステップS14の処理を行い、当該判断条件が成立しなかったならば(No)、ステップS11の処理を行う。
ステップS14に於いて、監視部25aは、制御部26aに異常通知を行い、図8の処理を終了する。
運用系21aの監視部25aは、ステップS10〜S14の処理によって、伝送部24aの異常を検知することができる。
待機系21bの監視部25bは、ステップS10〜S14と同様な処理を行い、伝送部24bの異常を検知することができる。
図9は、本実施形態に於ける待機系起動処理を示すフローチャートである。
ここでは、待機系21bのSLAVE22bが起動してからパケット伝送装置(上流)10と通信を開始するまでのフローチャートを示している。
処理が開始すると、ステップS20に於いて、待機系21bの伝送部24bは、情報格納部31bの格納データの有無を確認する。
ステップS21に於いて、待機系21bの伝送部24bは、情報格納部31bにコンフィグレーション情報が存在するか否かを確認する。待機系21bの伝送部24bは、当該判断条件が成立したならば(Yes)、ステップS22の処理を行い、当該判断条件が成立しなかったならば(No)、ステップS24の処理を行う。
ステップS22に於いて、待機系21bの伝送部24bは、情報格納部31bに運用情報が存在するか否かを確認する。待機系21bの伝送部24bは、当該判断条件が成立したならば(Yes)、ステップS23の処理を行い、当該判断条件が成立しなかったならば(No)、ステップS25の処理を行う。
ステップS23に於いて、待機系21bの伝送部24bは、情報格納部31bに時刻情報が存在するか否かを確認する。待機系21bの伝送部24bは、当該判断条件が成立したならば(Yes)、ステップS27の処理を行い、当該判断条件が成立しなかったならば(No)、ステップS26の処理を行う。
ステップS24に於いて、待機系21bの伝送部24bは、上位装置との間でコンフィグレーション情報の送受信を行う。
ステップS25に於いて、待機系21bの伝送部24bは、上位装置との間で運用情報の送受信を行う。
ステップS26に於いて、待機系21bの伝送部24bは、上位装置との間で時刻同期処理を行う。
ステップS27に於いて、待機系21bの伝送部24bは、上位装置との間で時刻同期維持処理を行う。
ステップS28に於いて、待機系21bの伝送部24bは、上位装置からSync Messageを受信したか否かを判断する。待機系21bの伝送部24bは、当該判断条件が成立したならば(Yes)、ステップS27の処理に戻り、当該判断条件が成立しなかったならば(No)、ステップS28の処理に戻る。
SLAVE22bは、起動した後に、情報格納部31bに格納されているデータの有無に応じて、系切り替え時のシーケンスを省略することができる。
(本実施形態の効果)
以上説明した本実施形態では、次の(A)〜(C)のような効果がある。
(A) 待機系21bは、起動時に、運用系21aの時刻情報を利用している。これにより、待機系21bは、起動時の初期値に、精度の良い時刻情報を使用することができる。
(B) パケット伝送装置(下流)20は、運用系21aから引き渡されたコンフィグレーション情報および運用情報を、待機系21bの起動時の初期値としている。これにより、パケット伝送装置(下流)20の待機系21bは、シーケンスQ61〜Q63(図3)を省略して起動時間を短縮することができ、系を切り替える際に各装置が自走状態にある時間を短縮し、時刻同期精度の低下を抑制できる。
(C) 運用系21aが稼働しているとき、待機系21bは、時刻情報、コンフィグレーション情報、運用情報を保持・利用する機能ブロックのみを稼働し、その他の機能ブロックをスリープ状態にしている。これにより、待機系21bは、消費電力を抑制することができる。
(変形例)
本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で、変更実施が可能であり、例えば、次の(a)〜(d)のようなものがある。
(a) パケット伝送装置(下流)20の監視部25aは、PTPメッセージのタイムアウトを監視して、伝送部24aで異常が発生したと判断している。しかし、これに限られず、パケット伝送装置(下流)20の監視部25aは、SLAVE22aのハードウェア異常や、上位装置との間を接続するケーブルの異常を監視するように構成してもよい。
(b) パケット伝送装置(下流)20の伝送部24aは、待機系22bの伝送部24bに各種情報を送信し、伝送部24bは情報格納部31bに情報を格納している。しかし、これに限られず、伝送部24aは、情報格納部31bに直接アクセスして情報を格納するように構成してもよい。
(c) パケット伝送装置(上流)10は、GPS信号を受信して最上位の時刻源としている。しかし、これに限られず、パケット伝送装置(上流)10は、例えば原子時計などの他の手段によって最上位の時刻源を取得してもよく、更に外部ネットワーク100BのNTPサーバなどから最上位の時刻源を取得してもよい。
(d) パケット伝送装置(下流)20の、運用系側SLAVE22aと、待機系側MASTER23bとがPTPパケットの送受信を行い、待機系側SLAVE22bと、運用系側MASTER23aとが、PTPパケットの送受信を行えるような機能を有してもよい。すなわち、運用系側SLAVE22aと、待機系側MASTER23bとが何らかの原因で故障した場合に、待機系側SLAVE22bと、運用系側MASTER23aとでPTPパケットの送受信を行い、下位装置に時刻を配信出来るような機能と構成にしてもよい。
(第2の実施形態の構成)
第1の実施例では、図1のシステムにおける、パケット伝送装置(下流)20を冗長構成とした場合の実施形態について説明した。しかし、下流側を冗長化し、上流側を冗長化しないという形態は、障害対策の面から一般的ではない。また、1つの上流装置に3つ以上の下流装置が接続されるような構成においては、コストの面から、上流装置を冗長化する事が考えられる。以上の点から、第2の実施形態として、図1におけるパケット伝送装置(上流)10を冗長化した場合について説明する。
図10は、本実施形態に於けるパケット伝送装置(上流)10を示す概略の構成図である。パケット伝送装置(上流)10は、運用系10aと、待機系10bと、セレクタ部18と、制御部17とを備えている。パケット伝送装置(上流)10は、GPSアンテナ11を介してGPS衛星110からGPS信号を受信すると共に、パケット伝送装置(下流)20と接続されている。
運用系10aと待機系10bとは、同様の構成を有し、同様に接続されている。すなわち、運用系10aは、伝送部19aと、監視部15aと、情報格納部16aとを備えている。待機系10bは、同様に構成され接続されている伝送部19bと、監視部15bと、情報格納部16bとを備えている。運用系10aは、通常時にパケット送受信を行う部位である。待機系10bは、運用系10aに異常が発生した際、この運用系10aに代わってパケット送受信を行う部位である。
ここで、運用系10aと待機系10bはネットワーク的に互いに独立した系である事を想定している。すなわち、運用系10aと待機系10bは、それぞれ異なるMACアドレスとIPアドレスを持っているとする。またパケット伝送装置(下流)20は、MASTERとなる可能性のある装置のMACアドレスとIPアドレスのリストをメモリとして保持している。これは、IEEE1588の規定であり、本実施例においては、パケット伝送装置(上流)10の運用系10aと待機系10bのMACアドレスとIPアドレスを情報として保持していることを意味している。
伝送部19aは、GPS受信部11aと、時刻情報抽出部12aと、PTPメッセージ生成部13aと、パケット送受信部14aとを備えている。伝送部19aは、パケット伝送装置(下流)20との間でPTPメッセージを送受信する部位である。GPS受信部11aは、GPSアンテナ11から時刻源であるGPS信号を受信する部位である。GPS受信部11aは、時刻情報抽出部12aに接続されている。監視部15aは、伝送部19aを監視して、異常発生を検知する部位である。
制御部17は、伝送部19a全体を統括して制御する部位である。制御部17は更に、監視部15aからの異常通知を受けた際に、待機系10bの伝送部19bに起動通知し、更にセレクタ部18に出力切り替え信号を出力する部位である。時刻情報抽出部12aは、GPSアンテナ11から受信したGPS信号から時刻情報を抽出し、抽出した時刻情報に内部クロックを同期させる部位である。時刻情報抽出部12aは、GPS受信部11aに接続されてGPS信号を受信し、PTPメッセージ生成部13aに接続されて、抽出した時刻情報を出力する。
PTPメッセージ生成部13aは、抽出した時刻情報から、PTPパケットを生成する部位である。PTPメッセージ生成部13aは、時刻情報抽出部12aに接続されて時刻情報を取得し、パケット送受信部14aに接続されて、生成したPTPパケットを送信する。パケット送受信部14aは、生成されたPTPパケットを、セレクタ部18を介して、下位装置であるパケット伝送装置(下流)20に送信する部位である。パケット送受信部14aは、PTPメッセージ生成部13aに接続されてPTPパケットを取得し、セレクタ部18に接続されてPTPパケットを送信する。
情報格納部16aは、伝送部19aから送信されたコンフィグレーション情報と運用情報とを格納し、格納した各情報を、情報格納部16bに送信し、情報格納部16bからの情報を受信する部位である。待機系10bは、伝送部11bと、監視部15bと、情報格納部16bとを備える。以下、待機系10bの構成および接続は、運用系10aと同様である。
GPSアンテナ11からのGPS信号は二分岐され、伝送部19aのGPS受信部11aと、伝送部19bのGPS受信部11bとは、同一のGPS信号を受信する。運用系10aが稼働している際には、待機系10bの伝送部19bはスリープ状態である。これにより、待機系10bは、消費電力を抑制することが出来る。
<<パケット伝送装置の動作>>
以下、パケット伝送装置(上流)10が、GPSアンテナ11から受信した時刻情報をパケット伝送装置(下流)20に送信するまでの動作について説明する。GPS受信部11aは、GPSアンテナ11からGPS信号を受信し、受信したGPS信号を時刻情報に変換して、時刻情報抽出部12aに送信する。
時刻情報抽出部12aは、GPS受信部11aから受信した時刻情報から必要な時刻を抽出して、PTPメッセージ生成部13aに送信する。PTPメッセージ生成部13aは、時刻情報抽出部12aから受信した時刻情報をもとにPTPパケットを生成し、パケット送受信部14aに送信する。
パケット送受信部14aは、PTPメッセージ生成部13aより受信したPTPパケットを、セレクタ部18を介してパケット伝送装置(下流)20に送信する。情報格納部16aは、コンフィグレーション情報と運用情報を、伝送部19aより受信し格納する機能と、格納したコンフィグレーション情報と運用情報とを、情報格納部16bへ送信する機能と、情報格納部16bからの情報を受信する機能とを有している。監視部15aは、伝送部19aの障害発生を検知して、制御部17に送信する。
次に系切り替え時の動作について説明する。運用系10a側にて何らかの障害が発生し正常にPTPメッセージを送受信できなくなった場合、監視部15aは、当該異常を検出し、異常発生の通知を制御部17に送信する。制御部17は、監視部15aからの異常発生の通知を受信すると、伝送部19bに起動通知信号を送信する。伝送部19bは、起動通知信号を受信すると、スリープ状態を解除し、パケット伝送装置(下流)20との時刻同期を開始する。PTPメッセージ生成部13bは、情報格納部16bに格納されているコンフィグレーション情報と、運用情報とを利用して、パケット伝送装置(下流)20との通信を行うことにより、通信開始のためのシーケンスを一部省略し、時刻同期開始までの時間を短縮する事ができる。コンフィグレーション情報と、運用情報とについては、図3、図4にて説明しているため、省略する。
(比較例の動作)
図11は、比較例に於ける時刻同期シーケンスを示す図である。当該図11は、図1および図10に示すパケット伝送装置(上流)10とパケット伝送装置(下流)20との間で通信を開始し、時刻同期するシーケンスを示している。
比較例のパケット伝送装置(上流)10に於いて、運用系10aと待機系10bとが情報の送受信を行わず、待機系10bは全てスリープ状態で待機している。Signaling Message、Announce Message、Sync Message、Delay Req Message、Delay Resp Messageは、IEEE1588において規定されているPTPパケットである。
《コンフィグレーション情報送受信シーケンス》
シーケンスQ10に於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20のMACアドレスやドメインなどを含むコンフィグレーション情報(図3)を取得する。すなわち、パケット伝送装置(上流)10は、以下のシーケンスQ11〜Q12を実施する。
シーケンスQ11に於いて、パケット伝送装置(下流)20は、パケット伝送装置(上流)10にSignaling Messageを送信する。シーケンスQ12に於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20にSignaling Messageを送信する。このSignaling Messageには、MACアドレスやドメインを含むコンフィグレーション情報(図3)が格納されている。
《運用情報送受信シーケンス》
シーケンスQ20に於いて、パケット伝送装置(上流)10は、シーケンスQ22を実施する。シーケンスQ22に於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20にAnnounce Messageを送信する。このAnnounce Messageには、GPS信号のID情報などに代表される運用情報(図4)が格納されている。
《時刻同期シーケンス》
シーケンスQ30に於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20との間で時刻同期シーケンスを実行することにより、パケット伝送装置(下流)20を時刻同期させる。具体的には、以下のシーケンスQ31〜Q35を実施する。シーケンスQ31に於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20に、Sync Messageを送信する。このSync Messageは、前記した図16に示すように、時刻情報を含んだPTPパケットである。
シーケンスQ32に於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20に、Announce Messageを送信する。シーケンスQ33に於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20に、Sync Messageを送信する。
シーケンスQ34に於いて、パケット伝送装置(下流)20は、パケット伝送装置(上流)10に、Delay Req Messageを送信する。シーケンスQ35に於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20に、Delay Resp Messageを送信する。このDelay Resp Messageは、装置間の伝送路遅延を補正するために送受信されるPTPパケットである。
《スリープモード維持》
シーケンスQ100に於いて、パケット伝送装置(上流)10の制御部17は、待機系10bにスリープモードの維持を通知する。このスリープモードの維持は、例えば時刻同期のシーケンスQ30を実施したのちに通知される。しかし、これに限られず、制御部17は、後記する時刻同期維持のシーケンスQ30Aを実施したのちに、定期的に通知してもよい。これにより、パケット伝送装置(上流)10は、消費電力を抑制することができる。
《時刻同期維持シーケンス》
シーケンスQ30Aに於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20との間で時刻同期維持シーケンスを実行することにより、パケット伝送装置(下流)20の時刻同期精度を維持させる。すなわち、シーケンスQ30A以降に、パケット伝送装置(上流)10は、前記したシーケンスQ31〜Q35と同様の処理を、PTPメッセージの送信間隔ごとに実施する。これにより、パケット伝送装置(下流)20は、上位装置であるパケット伝送装置(上流)10との時刻同期を維持することができる。
《障害発生時の処理》
シーケンスQ101に於いて、運用系10aで障害が発生した場合を考える。このとき、待機系10bの起動処理(Q102〜Q104)と系切替処理(Q105〜Q108)とが行われる。
シーケンスQ102に於いて、制御部17は、待機系10bに、起動を通知する。シーケンスQ104に於いて、待機系10bは起動処理を行う。シーケンスQ103に於いて、制御部17は、運用系10aに休止を通知する。休止通知を受けた運用系10aは、スリープモードに遷移する。これにより、パケット伝送装置(上流)10は、消費電力を抑制することができる。
前述した通り、運用系10aと待機系10bは互いに独立した系であり、異なるMACアドレスとIPアドレスを持っている。系切替時、待機系10bはパケット伝送装置(下流)20のMACアドレスとIPアドレスの情報を持っていないため、パケット伝送装置(下流)20とPTPパケットの送受信を開始する前に、パケット伝送装置(下流)20のMACアドレスとIPアドレスを取得する必要がある。そのため、シーケンスQ105に於いて、待機系10bおよびパケット伝送装置(下流)20は、コンフィグレーション情報送受信を行う。具体的には、図3の項番1〜3の情報等が該当する。当該シーケンスQ105は、シーケンスQ10の処理と同様である。これにより待機系10bは、パケット伝送装置(下流)20をSLAVE装置として認識する事が可能となる。
また、コンフィグレーション情報には、図3の項番12に示すようにPTPパケットの送信レート情報も含まれているが、送信レートはSLAVE側が決定権を持っている。本実施例であれば、パケット伝送装置(下流)20が、待機系10bへ送信レート情報を送信し、装置間のPTPパケットの送信レートが決定される。
次にシーケンスQ106に於いて、待機系10bおよびパケット伝送装置(下流)20は、運用情報送受信を行う。ここで運用情報とは、図4にて説明した情報群である。運用情報には、グランドマスタクロック(本実施例においてはGPS信号)のID(図4の項番11)や優先順位(図4の項番13、14)等の情報が含まれている。図11のシーケンスでは不図示であるが、パケット伝送装置(上流)10の待機系10bはまずGPS信号からID等を取得し、その後、運用情報をパケット伝送装置(下流)20へ送信する。当該シーケンスQ106は、シーケンスQ20の処理と同様である。
シーケンスQ107に於いて、待機系10bおよびパケット伝送装置(下流)20は、時刻同期処理を行う。当該シーケンスQ107は、シーケンスQ30の処理と同様である。シーケンスQ108に於いて、待機系10bおよびパケット伝送装置(下流)20は、時刻同期維持処理を行う。当該シーケンスQ108は、シーケンスQ30Aの処理と同様である。
シーケンスQ105〜Q107の処理により、待機系10bは、パケット伝送装置(下流)20と時刻同期して系を切り替える。しかし、シーケンスQ105〜Q107を実行している際、パケット伝送装置(下流)20は、時刻同期維持シーケンスを実行することができない。更に、パケット伝送装置(下流)20と下位装置とは、時刻同期維持シーケンスを実行することができない。パケット伝送装置(下流)20と下位装置とは、自走状態となり、時刻同期精度が悪化する虞があった。
(本実施形態の動作)
図12は、本実施形態に於ける時刻同期シーケンスを示す図である。図11に示す比較例の時刻同期シーケンスと同一の要素には同一の符号を付与している。この時刻同期シーケンスは、比較例(図11)と同様に、パケット伝送装置(上流)10とパケット伝送装置(下流)20との間で、通信を開始して時刻同期するシーケンスを示している。本実施形態のパケット伝送装置(上流)10に於いて、比較例と同様に、運用系10aと待機系10bとが情報の送受信を行わず、待機系10bは全てスリープ状態で待機している。
《コンフィグレーション情報送受信シーケンス》
シーケンスQ10Cに於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20のMACアドレスやドメインなどを含むコンフィグレーション情報(図3)を取得する。すなわち、パケット伝送装置(上流)10は、以下のシーケンスQ11、Q12、Q16〜Q18を実施する。シーケンスQ11,Q12の処理は、比較例のシーケンスQ11,Q12の処理と同様である。シーケンスQ16に於いて、運用系10aは、取得したコンフィグレーション情報を、情報格納部16aに格納する。シーケンスQ17に於いて、運用系10aは、取得したコンフィグレーション情報を、待機系10bに送信する。シーケンスQ18に於いて、待機系10bは、受信したコンフィグレーション情報を、情報格納部16bに格納する。
《運用情報送受信シーケンス》
シーケンスQ20Cに於いて、パケット伝送装置(下流)20は、パケット伝送装置(上流)10が保持しているGPS信号のID情報などの運用情報を取得する。すなわち、パケット伝送装置(上流)10は、以下のシーケンスQ22、Q26〜Q28を実施する。シーケンスQ22の処理は、比較例のシーケンスQ22の処理と同様である。
シーケンスQ26に於いて、運用系10aは、パケット伝送装置(下流)20へ送信した運用情報(図4)を、情報格納部16aに格納する。シーケンスQ27に於いて、運用系10aは、格納した運用情報(図4)を、待機系10bに送信する。シーケンスQ28に於いて、待機系10bは、受信した運用情報(図4)を、情報格納部16bに格納する。
《時刻同期シーケンス》
シーケンスQ30Dに於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20との間で時刻同期シーケンスを実行することにより、パケット伝送装置(下流)20を時刻同期させる。具体的には、以下のシーケンスQ31〜Q35、Q39を実施する。シーケンスQ31〜Q35の処理は、比較例のシーケンスQ31〜Q35の処理と同様である。シーケンスQ39に於いて、運用系10aは、情報格納部16aに格納しているコンフィグレーション情報と、運用情報とを待機系10bへ再び送信する。待機系10bは、情報格納部16bのデータを新たに受信した各情報に更新する。
《スリープモード維持》
シーケンスQ110に於いて、制御部17は、待機系10bに、スリープモードの維持を通知する。これにより、待機系10bは、伝送部19bの動作を停止させ、各種情報を情報格納部16bに格納する機能のみを動作させる。
これにより、パケット伝送装置(上流)10は、消費電力を抑制することができる。
《時刻同期維持シーケンス》
シーケンスQ30Eに於いて、パケット伝送装置(上流)10は、パケット伝送装置(下流)20との間で時刻同期維持シーケンスを実行することにより、パケット伝送装置(下流)20の時刻同期精度を維持させる。すなわち、パケット伝送装置(上流)10は、前記したシーケンスQ31〜Q35、Q39と同様の処理を行う。パケット伝送装置(上流)10は、シーケンスQ30Eの処理を、PTPメッセージの送信間隔ごとに実施する。
《障害発生時の処理》
本実施形態のシーケンスQ111〜Q114の処理は、比較例のシーケンスQ101〜Q104の処理と同様である。シーケンスQ114に於いて、待機系10bは、起動処理を行う。この起動処理に於いて、待機系10bは、情報格納部16bに格納したコンフィグレーション情報、運用情報を利用する。具体的にはシーケンスQ105(図11)を、格納済のコンフィグレーション情報を利用することで省略し、シーケンスQ106(図11)を、格納済の運用情報を利用することにより省略する。
シーケンスQ108Bに於いて、待機系10bおよび、パケット伝送装置(下流)20は、時刻同期維持処理を行う。当該シーケンスQ108Bは、シーケンスQ30Eの処理と同様である。待機系10bは、比較例のシーケンスQ105、Q106の処理を省略して、シーケンスQ108Bの処理を行うことにより、待機系10b自身が自走状態となる時間を短縮することが可能となり、時刻同期精度の悪化を抑制できる。
ただし、シーケンスQ105、Q106を省略する事により、パケット伝送装置(下流)20側はパケット伝送装置(上流)10の運用系と待機系が切り替わった事を認識出来ない。そこで、シーケンスQ108Bの時刻同期維持シーケンスにて待機系10bからパケット伝送装置(下流)20に送信されるSync Messageに、系切替の通知信号を含める事とする。パケット伝送装置(下流)20は、系切替の通知信号を受信すると、系切替の通知信号の送信元MACアドレス及びIPアドレスと、メモリにあるMACアドレス及びIPアドレス一覧リストとを照合し、一致した場合は、PTPパケットの送受信を開始する。なお、このアドレスの一覧リストとは、下流側のパケット伝送装置20があらかじめ保持している情報であり、自装置に時刻情報を配信しうる複数の上流側パケット伝送装置の待機系や運用系のMACアドレスとIPアドレスのリストである。
図13は、本実施形態に於ける待機系起動シーケンスを示す図である。シーケンスQ70A〜Q80Aの処理は、前記する図12のシーケンスQ111〜Q114、Q108Bの処理に対応している。シーケンスQ70Aに於いて、運用系10aの監視部15aは、伝送部19aの異常を検出する。具体的な異常検出方法は、後記する図14で説明する。
シーケンスQ71Aに於いて、運用系10aの監視部15aは、制御部17に異常通知を行う。シーケンスQ72Aに於いて、制御部17は、待機系10bの伝送部19bに、起動通知を行う。この処理は、シーケンスQ112(図12)の処理と同様である。シーケンスQ73Aに於いて、制御部17は、伝送部19aに、休止通知を行う。この処理は、シーケンスQ113(図12)の処理と同様である。これにより、伝送部19aは、休止状態に遷移するので、消費電力を抑制することができる。
シーケンスQ74Aに於いて、伝送部19bは、起動処理を行う。シーケンスQ77Aに於いて、待機系10bの伝送部19bは、情報格納部16bから、コンフィグレーション情報を取得する。シーケンスQ78Aに於いて、待機系10bの伝送部19bは、情報格納部16bから、運用情報を取得する。このシーケンスQ74A、Q77A、Q78Aの処理は、シーケンスQ114(図12)の処理と同様である。
シーケンスQ80Aに於いて、待機系10bの伝送部19bは、下位装置であるパケット伝送装置(下流)20(図10)との間で、時刻同期維持シーケンスを実行する。この処理は、シーケンスQ108B(図12)の処理と同様である。
図14は、本実施形態に於ける監視処理を示すフローチャートである。運用系10aの監視部15aが、当該監視処理を行う。ステップS10Aに於いて、監視部15aは、GPS受信部11aにてGPS信号を受信したか否かを判断する。監視部15aは、当該判断条件が成立したならば(Yes)、ステップS11Aの処理を行い、当該判断条件が成立しなかったならば(No)、ステップS13Aの処理を行う。
ステップS11Aに於いて、監視部15aは、時刻情報抽出部12aにて時刻情報が抽出されたか否かを判断する。監視部15aは、当該判断条件が成立したならば(Yes)、ステップS12Aの処理を行い、当該判断条件が成立しなかったならば(No)、ステップS13Aの処理を行う。
ステップS12Aに於いて、監視部15aは、パケット送受信部14aからPTPパケットが送信されたか否かを判断する。監視部15aは、当該判断条件が成立したならば(Yes)、ステップS10Aの処理に戻り、当該判断条件が成立しなかったならば(No)、ステップS13Aの処理を行う。ステップS13Aに於いて、監視部15aは、制御部17に異常通知を行い、図14の処理を終了する。
運用系10aの監視部15aは、ステップS10A〜S13Aの処理によって、伝送部19aの異常を検知することができる。待機系10bの監視部15bは、ステップS10A〜S13Aと同様な処理を行い、伝送部19bの異常を検知することができる。
図15は、本実施形態に於ける待機系起動処理を示すフローチャートである。ここでは、待機系10bの伝送部19bが起動してからパケット伝送装置(下流)20と通信を開始するまでのフローチャートを示している。
処理が開始すると、ステップS20Aに於いて、待機系10bの伝送部19bは、情報格納部16bの格納データの有無を確認する。ステップS21Aに於いて、待機系10bの伝送部19bは、情報格納部16bにコンフィグレーション情報が存在するか否かを確認する。待機系10bの伝送部19bは、当該判断条件が成立したならば(Yes)、ステップS22Aの処理を行い、当該判断条件が成立しなかったならば(No)、ステップS24Aの処理を行う。
ステップS22Aに於いて、待機系10bの伝送部19bは、情報格納部16bに運用情報が存在するか否かを確認する。待機系10bの伝送部19bは、当該判断条件が成立したならば(Yes)、ステップS27Aの処理を行い、当該判断条件が成立しなかったならば(No)、ステップS25Aの処理を行う。
ステップS24Aに於いて、待機系10bの伝送部19bは、上位装置との間でコンフィグレーション情報の送受信を行う。ステップS25Aに於いて、待機系10bの伝送部19bは、上位装置との間で運用情報の送受信を行う。ステップS27Aに於いて、待機系10bの伝送部19bは、下位装置との間で時刻同期維持処理を行う。
ステップS28Aに於いて、待機系10bの伝送部19bは、下位装置からDelay_Req Messageを受信したか否かを判断する。待機系10bの伝送部19bは、当該判断条件が成立したならば(Yes)、ステップS27Aの処理に戻り、当該判断条件が成立しなかったならば(No)、ステップS28Aの処理に戻る。伝送部19bは、起動した後に、情報格納部16bに格納されているデータの有無に応じて、系切り替え時のシーケンスを省略することができる。
(本実施形態の効果)
以上説明した本実施形態では、次の(D)、(E)のような効果がある。
(D) パケット伝送装置(上流)10は、運用系10aから引き渡されたコンフィグレーション情報および運用情報を、待機系10bの起動時の初期値としている。これにより、パケット伝送装置(上流)10の待機系10bは、シーケンスQ105、Q106(図11)を省略して起動時間を短縮することができ、系を切り替える際に各装置が自走状態にある時間を短縮し、時刻同期精度の低下を抑制できる。
(E) 運用系10aが稼働しているとき、待機系10bは、コンフィグレーション情報、運用情報を保持・利用する機能ブロックのみを稼働し、その他の機能ブロックをスリープ状態にしている。これにより、待機系21bは、消費電力を抑制することができる。