(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025007883
(43)【公開日】2025-01-17
(54)【発明の名称】通信装置及び通信システム
(51)【国際特許分類】
H04L 7/00 20060101AFI20250109BHJP
【FI】
H04L7/00 990
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023109591
(22)【出願日】2023-07-03
(71)【出願人】
【識別番号】591004146
【氏名又は名称】平河ヒューテック株式会社
(74)【代理人】
【識別番号】110002583
【氏名又は名称】弁理士法人平田国際特許事務所
(72)【発明者】
【氏名】魏 舒
(72)【発明者】
【氏名】任 光輝
【テーマコード(参考)】
5K047
【Fターム(参考)】
5K047AA18
5K047GG56
(57)【要約】
【課題】複数のグランドマスタが同時期に障害を起こした場合でも、スレーブに対して時刻同期で通信を行うことができる通信装置及び通信システムを提供する。
【解決手段】通信装置3は、PTPパケットを送受信するパケット送受信部301と、グランドマスタ装置2の障害を検出する障害検出部302と、障害検出部302により対応するグランドマスタ装置2、及び他のグランドマスタ装置2の障害を同時期に検出したとき、自走モードで自己の時刻を含むPTPパケットを生成し、当該PTPパケットを他の通信装置3及びスレーブ装置4との間で送受信するようにパケット送受信部301を制御するパケット生成部303とを備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
基準時刻を含む時刻同期用パケットを送信する複数のマスタ装置のうちの1つの前記マスタ装置に対応して設けられ、他の前記マスタ装置に対応して設けられた他の通信装置との間でスレーブ装置が共通に接続される通信装置であって、
対応する前記マスタ装置、前記他の通信装置、及び前記スレーブ装置に対して前記時刻同期用パケットを送受信するパケット送受信部と、
前記マスタ装置から送信される前記時刻同期用パケットに含まれる前記基準時刻に同期するように自己の時刻を補正する時刻同期処理部と、
前記対応するマスタ装置、及び前記他のマスタ装置の障害を検出する障害検出部と、
前記障害検出部により前記対応するマスタ装置、及び前記他のマスタ装置の障害を同時期に検出したとき、自走モードで自己の時刻を含む時刻同期用パケットを生成し、当該時刻同期用パケットを前記他の通信装置及び前記スレーブ装置に対して送受信するように前記パケット送受信部を制御するパケット生成部と、
を備えた通信装置。
【請求項2】
前記パケット生成部は、前記他の通信装置から受信した前記時刻同期用パケットのうち自己が生成した前記時刻同期用パケットを無効とするように制御する、
請求項1に記載の通信装置。
【請求項3】
前記パケット生成部は、前記自己が生成した時刻同期用パケットに自己を識別する識別情報を付与し、前記識別情報に基づいて前記自己が生成した時刻同期用パケットを無効とするように制御する、
請求項2に記載の通信装置。
【請求項4】
前記識別情報は、前記時刻同期用パケットを前記他の通信装置に送信するポートのポート番号である、
請求項3に記載の通信装置。
【請求項5】
前記パケット生成部が生成する前記時刻同期用パケットは、他の前記通信装置のパケット生成部が生成する前記時刻同期用パケットとの間に優先順位が定められており、
前記時刻同期処理部は、前記優先順位に従い前記時刻同期用パケットに基づく時刻同期処理を行う、
請求項1から4のいずれか1項に記載の通信装置。
【請求項6】
前記時刻同期処理部は、前記基準時刻に基づいて前記自己の時刻を補正した履歴情報を記憶する記憶部を備え、前記パケット生成部が自走モードで前記時刻同期用パケットを生成するとき、前記履歴情報から補正の傾向を抽出し、前記補正の傾向が反映するように前記自己の時刻を補正する、
請求項1に記載の通信装置。
【請求項7】
基準時刻を含む時刻同期用パケットを送信する複数のマスタ装置と、
前記複数のマスタ装置の各々に対応して設けられ、スレーブ装置が共通に接続される複数の通信装置と、を有する通信システムであって、
前記複数の通信装置の各々は、
対応する前記マスタ装置、他の前記通信装置、及び前記スレーブ装置に対して前記時刻同期用パケットを送受信するパケット送受信部と、
前記マスタ装置から送信される前記時刻同期用パケットに含まれる前記基準時刻に同期するように自己の時刻を補正する時刻同期処理部と、
前記対応するマスタ装置、及び他の前記マスタ装置の障害を検出する障害検出部と、
前記障害検出部により前記対応するマスタ装置、及び前記他のマスタ装置の障害を同時期に検出したとき、自走モードで自己の時刻を含む時刻同期用パケットを生成し、当該時刻同期用パケットを前記他の通信装置及び前記スレーブ装置に対して送受信するように前記パケット送受信部を制御するパケット生成部と、
を備えた通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置及び通信システムに関する。
【背景技術】
【0002】
近年、複数のグランドマスタを運用するIP(Internet Protocol)ネットワークを利用した同期通信システムにおいて、複数のグランドマスタから安定動作するグランドマスタを選出し、高精度な時刻同期方式のPTP(Precision Time Protocol)に基づく時刻同期で通信を行う同期通信システムが提案されている(例えば、特許文献1参照。)。
【0003】
特許文献1に記載された同期通信システムは、GPS時刻に同期したGMクロックを発生する複数のグランドマスタを備えるIPネットワークを利用した同期通信システムにおいて、当該複数のグランドマスタの中から安定動作するグランドマスタを選出し、PTPに基づく時刻同期で通信を行う複数の通信装置を備え、複数の通信装置の各々は、通信確立した複数台の他の通信装置からPTPメッセージを取得するPTPメッセージ送受信部と、取得されたPTPメッセージを基に複数のグランドマスタ候補から1つを選出するためのパラメータを抽出するグランドマスタ候補選出部と、当該パラメータを基に、標準規格IEEE1588 v2で規定されたBMCA(Best Master Clock Algorithm)を改良したアルゴリズムに従って1つのグランドマスタを選出するグランドマスタ選出部とを備える。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
IPネットワークが有する複数のグランドマスタが同時期に障害を起こすことは希であるが、このような場合、従来の通信装置ではスレーブに対して時刻同期で通信を行うことができなくなるという問題がある。
【0006】
本発明の課題は、複数のグランドマスタが同時期に障害を起こした場合でも、スレーブに対して時刻同期で通信を行うことができる通信装置及び通信システムを提供することにある。
【課題を解決するための手段】
【0007】
[1]基準時刻を含む時刻同期用パケットを送信する複数のマスタ装置のうちの1つの前記マスタ装置に対応して設けられ、他の前記マスタ装置に対応して設けられた他の通信装置との間でスレーブ装置が共通に接続される通信装置であって、
対応する前記マスタ装置、前記他の通信装置、及び前記スレーブ装置に対して前記時刻同期用パケットを送受信するパケット送受信部と、
前記マスタ装置から送信される前記時刻同期用パケットに含まれる前記基準時刻に同期するように自己の時刻を補正する時刻同期処理部と、
前記対応するマスタ装置、及び前記他のマスタ装置の障害を検出する障害検出部と、
前記障害検出部により前記対応するマスタ装置、及び前記他のマスタ装置の障害を同時期に検出したとき、自走モードで自己の時刻を含む時刻同期用パケットを生成し、当該時刻同期用パケットを前記他の通信装置及び前記スレーブ装置に対して送受信するように前記パケット送受信部を制御するパケット生成部と、を備えた通信装置。
[2]前記パケット生成部は、前記他の通信装置から受信した前記時刻同期用パケットのうち自己が生成した前記時刻同期用パケットを無効とするように制御する、前記[1]に記載の通信装置。
[3]前記パケット生成部は、前記自己が生成した時刻同期用パケットに自己を識別する識別情報を付与し、前記識別情報に基づいて前記自己が生成した時刻同期用パケットを無効とするように制御する、前記[2]に記載の通信装置。
[4]前記識別情報は、前記時刻同期用パケットを前記他の通信装置に送信するポートのポート番号である、前記[3]に記載の通信装置。
[5]前記パケット生成部が生成する前記時刻同期用パケットは、他の前記通信装置のパケット生成部が生成する時刻同期用パケットとの間に優先順位が定められており、
前記時刻同期処理部は、前記優先順位に従い前記時刻同期用パケットに基づく時刻同期処理を行う、前記[1]から[4]のいずれか1つに記載の通信装置。
[6]前記時刻同期処理部は、前記基準時刻に基づいて前記自己の時刻を補正した履歴情報を記憶する記憶部を備え、前記パケット生成部が自走モードで前記時刻同期用パケットを生成するとき、前記履歴情報から補正の傾向を抽出し、前記補正の傾向を考慮して前記自己の時刻を補正する、前記[1]に記載の通信装置。
[7]基準時刻を含む時刻同期用パケットを送信する複数のマスタ装置と、
前記複数のマスタ装置の各々に対応して設けられ、スレーブ装置が共通に接続される複数の通信装置と、を有する通信システムであって、
前記複数の通信装置の各々は、
対応する前記マスタ装置、他の前記通信装置、及び前記スレーブ装置に対して前記時刻同期用パケットを送受信するパケット送受信部と、
前記マスタ装置から送信される前記時刻同期用パケットに含まれる前記基準時刻に同期するように自己の時刻を補正する時刻同期処理部と、
前記対応するマスタ装置、及び他の前記マスタ装置の障害を検出する障害検出部と、
前記障害検出部により前記対応するマスタ装置、及び前記他のマスタ装置の障害を同時期に検出したとき、自走モードで自己の時刻を含む時刻同期用パケットを生成し、当該時刻同期用パケットを前記他の通信装置及び前記スレーブ装置に対して送受信するように前記パケット送受信部を制御するパケット生成部と、を備えた通信システム。
【発明の効果】
【0008】
請求項1、7に係る発明によれば、複数のグランドマスタが同時期に障害を起こした場合でも、スレーブに対して時刻同期で通信を行うことができる。
請求項2から4に係る発明によれば、自己が生成した時刻同期用パケットが他の通信装置を経由して再び自己に戻ったときに、自己の時刻同期用パケットに基づいて不正確な時刻同期を行うことを避けることができる。
請求項5に係る発明によれば、信頼性の高い時刻同期処理を行うことができる。
請求項6に係る発明によれば、高精度の時刻同期処理を行うことができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本発明の実施の形態に係る通信システムの構成の一例を示すブロック図である。
【
図2】
図2は、送受信処理部の構成の一例を示すブロック図である。
【
図3】
図3(a)は、Announceメッセージのフォーマットの一例を示す図、
図3(b)は、そのHeaderのフォーマットの一例を示す図である。
【
図4】
図4(a)は、Syncメッセージのフォーマットの一例を示す図、
図4(b)は、そのHeaderのフォーマットの一例を示す図である。
【
図5】
図5は、PTPに基づく通信の一例を示すシーケンス図である。
【
図6】
図6は、第1のグランドマスタ装置及び第2のグランドマスタ装置が正常な場合の通信システムの動作の一例を説明するための図である。
【
図7】
図7は、第1のグランドマスタ装置に障害が発生した場合の通信システムの動作の一例を説明するための図である。
【
図8】
図8は、第1のグランドマスタ装置及び第2のグランドマスタ装置に共に障害が発生した場合の通信システムの動作の一例を説明するための図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態について図面を参照して説明する。なお、各図中、実質的に同一の機能を有する構成要素については、同一の符号を付してその重複した説明を省略する。
【0011】
[実施の形態]
図1は、本発明の実施の形態に係る通信システムの一例を示すブロック図である。この通信システム1は、基準時刻を含むPTPパケットを送信する第1のグランドマスタ装置2A及び第2のグランドマスタ装置2Bと、第1のグランドマスタ装置2Aに接続された第1の通信装置3Aと、第2のグランドマスタ装置2Bに接続された第2の通信装置3Bと、第1の通信装置3A及び第2の通信装置3Bに共通に接続された複数のスレーブ装置4とを備える。なお、第1のグランドマスタ装置2Aは、第2のグランドマスタ装置2Bよりも優先順位が高く設定されているものとする。
【0012】
第1の通信装置3A及び第2の通信装置3Bは、互いに接続されるとともに、第1のグランドマスタ装置2A、第2のグランドマスタ装置2B、第1の通信装置3A、第2の通信装置3B、及び複数のスレーブ装置4は、イーサネット(登録商標)等のIPネットワークにより通信可能に接続されている。ここで、PTPパケットは、時刻同期用パケットの一例である。第1のグランドマスタ装置2A及び第2のグランドマスタ装置2Bは、複数のマスタ装置の一例である。IPネットワークは、通信路の一例である。
【0013】
第1のグランドマスタ装置2A及び第1の通信装置3Aと、第2のグランドマスタ装置2B及び第2の通信装置3Bとは、互いに物理的に独立している。すなわち、第1のグランドマスタ装置2Aには、第1の通信装置3Aが接続されているが、第2の通信装置3Bは接続されていない。これと同様に、第2のグランドマスタ装置2Bには、第2の通信装置3Bが接続されているが、第1の通信装置3Aは接続されていない。これによりスレーブ装置4に至るパケットの経路が二重化され、信頼性を向上できる。
【0014】
なお、第1のグランドマスタ装置2A及び第2のグランドマスタ装置2Bを総称するときは、以下「グランドマスタ装置2」又は「マスタ」ともいう。また、第1の通信装置3A及び第2の通信装置3Bを総称するときは、以下「通信装置3」、「スレーブ」又は「マスタ」ともいう。また、第2のグランドマスタ装置2Bを複数とし、それぞれに第2の通信装置3Bを接続し、各第2のグランドマスタ装置2B及び第2の通信装置3Bを互いに物理的に独立した構成としてもよい。また、同図では、スレーブ装置4を複数としたが、1つでもよい。
【0015】
第1のグランドマスタ装置2A及び第2のグランドマスタ装置2Bは、IPネットワーク全体の基準時刻となるグランドマスタークロック(以下、GMクロックともいう。)を含むPTPパケットを定期的(例えば、8回/秒)に生成し、対応する第1の通信装置3A又は第2の通信装置3Bに送信する。なお、グランドマスタ装置2は、グランドマスタの機能を有するとともに映像、音声等のパケットを送信するサーバ装置でもよい。
【0016】
(通信装置の概略の構成)
通信装置3は、グランドマスタ装置2のGMクロックに対してPTPの時刻同期で動作するバウンダリークロック(Boundary Clock)デバイスとして機能する。また、通信装置3は、時刻同期機能、BMCA(Best Master Clock Algorithm)機能、自走機能等を有する。これらの機能については後述する。このような通信装置3は、例えば、PTPに準拠したL2スイッチ等のスイッチングハブ、ルータ、ゲートウェイ、IEEE1588のBC(Boundary Clock)、光スイッチ等を用いて構成することができる。
【0017】
(時刻同期機能)
通信装置3が自己の時刻を基準時刻に同期するように自己の時刻を補正する時刻同期機能を有する。この時刻同期機能によりグランドマスタ装置2がマスタ、通信装置3がスレーブとして、マスタとスレーブとの間で、各種メッセージ(Announceメッセージ、Syncメッセージ、Follow_Upメッセージ、Delay_Requestメッセージ、Delay_Responseメッセージ)を含むPTPパケットを送受信し、PTPパケットの送信時刻及び受信時刻から自己の時刻を補正するための補正情報(例えば、オフセット時間Toff)を算出し、オフセット時間Toffに基づいて基準時刻に同期するように自己の時刻を補正する。
【0018】
(BMCA機能)
通信装置3は、第1のグランドマスタ装置2A及び第2のグランドマスタ装置2Bが正常に動作しているときは、BMCA機能により第1のグランドマスタ装置2A及び第2のグランドマスタ装置2Bのうち最も優先順位の高い基準時刻に同期する。
【0019】
このBMCA機能により第1のグランドマスタ装置2A及び第2のグランドマスタ装置2Bの一方に障害が発生したときは、通信装置3は、障害が発生していない他方の基準時刻に同期する。なお、通信装置3は、第1のグランドマスタ装置2A及び第2のグランドマスタ装置2Bのうち最も精度の高い基準時刻に同期してもよい。
【0020】
(自走機能)
通信装置3は、第1のグランドマスタ装置2A及び第2のグランドマスタ装置2Bに共に障害が発生したときは、自走機能により自走モードで自己の時刻を含むPTPパケットを生成し、他の通信装置3にも当該PTPパケットを送信する。
【0021】
このため、第1の通信装置3A及び第2の通信装置3Bは、互いにPTPパケットを受信することになる。この場合、自己が生成したPTPパケットに基づいて自己の時刻同期処理を行った後、当該PTPパケットが他の通信装置3を経由して再び自己に戻ったとき、自己に戻ったPTPパケットに基づいて再び時刻同期処理を行うと、既に時刻同期処理を行ったときからの時間遅れにより不正確な時刻同期処理を行うことなり、時刻同期が不安定になるとともに時刻同期の精度が低下する。このような時刻同期の精度の低下を避けるため、本実施の形態に係る通信装置3は、自己が生成したPTPパケットを他の通信装置3から受信した場合、当該PTPパケットを無効とするようにしている。この機能の詳細については後述する。
【0022】
(スレーブ装置の構成)
スレーブ装置4は、GMクロックに対してPTPの時刻同期で動作するオーディナリークロック(Ordinary Clock)デバイスとして機能する。スレーブ装置4は、通信装置3と同様に時刻同期処理を行う時刻同期処理部41と、計時部42とを備える。計時部42は、図示しない時刻源(例えば、発信器、振動子等)からのクロック信号を計時してスレーブ装置4の時刻を出力する。
【0023】
スレーブ装置4が時刻同期処理を行う場合、通信装置3がマスタ、スレーブ装置4がスレーブとして、マスタとスレーブ間で上述した各種メッセージを含むPTPパケットを送受信し、基準時刻に同期するように自己の時刻を補正する。本実施の形態では、通信装置3がPTPパケットを生成した場合は、通信装置3の時刻に同期するように自己の時刻を補正する。
【0024】
(通信装置の具体的な構成)
第1の通信装置3Aは、送受信処理部30Aと、時刻同期処理部31Aと、計時部32Aとを備える。これと同様に、第2の通信装置3Bは、送受信処理部30Bと、時刻同期処理部31Bと、計時部32Bとを備える。なお、送受信処理部30A及び送受信処理部30Bを総称するときは、以下「送受信処理部30」ともいう。また、計時部32A及び計時部32Bを総称するときは、以下「計時部32」ともいう。
【0025】
(送受信処理部の伝送路の構成)
第1の通信装置3Aの送受信処理部30Aは、第1のグランドマスタ装置2A用のポートS1と、第2の通信装置3Bへの送信用のポートPa3と、第2の通信装置3Bからの受信用のポートPa4と、各スレーブ装置4用の複数のポートMaと、時刻同期処理部31Aへの送信用のポートPa1と、時刻同期処理部31からの受信用のポートPa2とを備える。
【0026】
送受信処理部30Aにおいて、ポートS1とポートPa1とは、第1の伝送路Ra1によって接続され、ポートPa2とポートPa3とは、第2の伝送路Ra2によって接続され、ポートPa1とポートPa4とは、第3の伝送路Ra3によって接続され、ポートPa2とポートMaとは、第4の伝送路Ra4によって接続されている。なお、
図1における各伝送路Ra1~Ra4は、実際の経路を示すものではなく、概念的に示すものである。
【0027】
第2の通信装置3Bの送受信処理部30Bは、第1の通信装置3Aの送受信処理部30Aと同様に、第2のグランドマスタ装置2B用のポートS2と、第1の通信装置3Aへの送信用のポートPb3と、第2の通信装置3Bからの受信用のポートPb4と、各スレーブ装置4用の複数のポートMbと、時刻同期処理部31Bへの送信用のポートPb1と、時刻同期処理部31Bからの受信用のポートPb2とを備える。
【0028】
送受信処理部30Bにおいて、第1の通信装置3Aの送受信処理部30Aと同様に、ポートS2とポートPb1とは、第1の伝送路Rb1によって接続され、ポートPb2とポートPb3とは、第2の伝送路Rb2によって接続され、ポートPb1とポートPb4とは、第3の伝送路Rb3によって接続され、ポートPb2とポートMbとは、第4の伝送路Rb4によって接続されている。なお、
図1における各伝送路Rb1~Rb4は、実際の経路を示すものではなく、概念的に示すものである。
【0029】
(時刻同期処理部の構成)
時刻同期処理部31は、グランドマスタ装置2との間でPTPパケットを送受信することにより、IPネットワークの通信路における後述する式(1)により算出して求めたオフセット時間Toffに基づいて、通信装置3の時刻、すなわち計時部32の時刻源をグランドマスタ装置2の基準時刻に同期するように補正する時刻同期処理を定期的(例えば、8回/秒)に行う。
【0030】
また、時刻同期処理部31は、基準時刻に基づいて自己の時刻源を補正した情報を履歴情報として記憶するとともに、PTPパケットの送信時刻及び受信時刻を記憶する記憶部311を備える。時刻同期処理部31は、後述するパケット生成部303が自走モードでPTPパケットを生成するとき、記憶部311が記憶する履歴情報から補正の傾向(例えば、補正値の傾き)を抽出し、補正の傾向を考慮して自己の時刻源を補正してもよい。
【0031】
計時部32は、図示しない時刻源(例えば、発信器、振動子等)からのクロック信号を計時して通信装置3の時刻として時刻同期処理部31に出力する。
【0032】
(送受信処理部の構成)
図2は、送受信処理部30の構成の一例を示すブロック図である。送受信処理部30は、パケット送受信部301と、障害検出部302と、パケット生成部303とを備える。
【0033】
(パケット送受信部の構成)
パケット送受信部301は、対応するグランドマスタ装置2、他の通信装置3、及びスレーブ装置4に対してPTPパケットを送受信する。また、パケット送受信部301は、グランドマスタ装置2又はスレーブ装置4から送信されたPTPパケットを受信したこと、及びグランドマスタ装置2又はスレーブ装置4にPTPパケットを送信したことを時刻同期処理部31に通知する。時刻同期処理部31は、パケット送受信部301からの通知を受けて受信時刻及び送信時刻を記憶部311に記憶する。受信時刻及び送信時刻は、時刻情報の一例である。
【0034】
IPネットワークを構成するイーサネット(登録商標)を伝搬する全てのPTPパケットには、送信先MACアドレス及び送信元MACアドレスを含むEther headerが付与される。パケット送受信部301は、Ether headerの送信先MACアドレス及び送信元MACアドレスに基づいてPTPパケットの送信先及び送信元を識別してもよい。
【0035】
パケット送受信部301は、第1のグランドマスタ装置2A及び第2のグランドマスタ装置2Bから送信されたPTPパケットのうち、後述するAnnounceメッセージ等から「grandmastePriority1」の領域に記録された値を取得し、当該値に基づいて最も優先順位の高いPTPパケットを優先的に扱う。
【0036】
なお、パケット送受信部301は、後述するAnnounceメッセージ等から「grandmastePriority1」、「grandmasterClockQuality」、「grandmasterPriority2」等の各領域に記録されている時刻の精度に関するパラメータを取得し、取得したパラメータに基づいて時刻の精度の高い方のPTPパケットを優先的に扱ってもよい。
【0037】
(障害検出部の構成)
障害検出部302は、対応するグランドマスタ装置2、及び他のグランドマスタ装置2の障害を検出する。具体的には、障害検出部302は、例えば、対応するグランドマスタ装置2から所定の時間(例えば、100ミリ秒間)PTPパケットを受信できなかったことで、対応するグランドマスタ装置2に障害が発生したことを検出してもよい。
【0038】
また、障害検出部302は、例えば、他方の通信装置3から所定の時間(例えば、100ミリ秒間)他方のグランドマスタ装置2からのPTPパケットを受信できなかったことで、他方のグランドマスタ装置2に障害が発生したことを検出してもよい。このとき、障害検出部302は、PTPパケットのEther headerに含まれる送信元MACアドレスによりPTPパケットの送信元の第1のグランドマスタ装置2A及び第2のグランドマスタ装置2Bを識別してもよい。ここで、「障害」には、グランドマスタ装置2自体の障害や、グランドマスタ装置2から通信装置3への通信路の障害が含まれる。なお、信頼性の高いPTPパケットを所定の時間受信できない場合もグランドマスタ装置2に障害が発生したと判断してもよい。信頼性は、時刻の精度に関するパラメータで判断してもよい。
【0039】
(パケット生成部の構成)
パケット生成部303は、障害検出部302により第1のグランドマスタ装置2A及び第2のグランドマスタ装置2Bの障害を同時期に検出したとき、自走モードで自己の時刻を含むPTPパケットを生成し、当該PTPパケットを時刻同期処理部31に送信するとともに、他の通信装置3及びスレーブ装置4との間で送受信するようにパケット送受信部301を制御する。ここで、「同時期」とは、完全に同じタイミングだけでなく、ほぼ同じタイミングとみなされる時期(例えば、数ミリ秒程度のずれ)を許容する意味である。
【0040】
また、パケット生成部303は、他の通信装置3から受信したPTPパケットのうち自己が生成したPTPパケットを無効とするように制御する。ここで、「無効」には、自己が生成したPTPパケットをパケット送受信部301が廃棄する処理、時刻同期処理部31が当該PTPパケットに基づく時刻同期処理を行わない処理等が含まれる。
【0041】
なお、送受信処理部30及び時刻同期処理部31は、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)等のハードウェアによって構成されもよい。また、送受信処理部30及び時刻同期処理部31の機能は、プログラムをROM(Read Only Memory)等のメモリに記憶し、そのプログラムをRAM(Random Access Memory)に読み出してCPU(Central Processing Unit)が実行することにより実現してもよい。
【0042】
(Announceメッセージの構成)
図3(a)は、Announceメッセージのフォーマットの一例を示す図、
図3(b)は、その「Header」のフォーマットの一例を示す図である。最初に、マスタはこのAnnounceメッセージを含むPTPパケットをスレーブに送信する。マスタは、Announceメッセージにより時刻同期に関する各種の属性情報を通知する。属性情報には、例えば、優先順位、時刻の精度に関するパラメータ、PTPパケットを送信するポートのポート番号等が含まれる。
【0043】
Announceメッセージは、IEEE1588v2規格で規定されており、
図3(a)に示すように、「header」、「originTimestamp」、「currentUtcOffset」、「reserved」、「grandmastePriority1」、「grandmasterClockQuality」、「grandmasterPriority2」、「grandmasterIdentity」、「stepsRemoved」及び「timeSource」の各領域を有する。
【0044】
「grandmastePriority1」の領域には、優先順位を示す値が記録され、当該値が小さい方が優先順位が高いとされる。本実施の形態では、第1のグランドマスタ装置2Aが送信するAnnounceメッセージの「grandmastePriority1」の領域には、第2のグランドマスタ装置2Bが送信するAnnounceメッセージの「grandmastePriority1」の領域よりも低い値が記録される。
【0045】
Announceメッセージの「Header」の領域は、
図3(b)に示すように、「messageType+transportSpecific」、「messageLength+reserved」、「domainNumber」、「reserved」、「flagField」、「connectionField」、「Reserved」、「sourcePortIdentify」、「sequenceId」、controlField」及び「logMessageInterval」の各領域を有する。
【0046】
「messageType」には、メッセージの種類が記録される。「sourcePortIdentify」の領域には、送信元のMACアドレスに0xfffeを挿入して作成したIEEEEUI-64拡張固有識別子を含む8バイトのフィールドと2バイトのポート番号を組み合わせた値が記録される。
【0047】
本実施の形態では、第1の通信装置3Aが生成するAnnounceメッセージを含むPTPパケットの「sourcePortIdentify」の領域には、PTPパケットを第2の通信装置3Bに送信するポートPa3に割り当てられたポート番号が記録される。第2の通信装置3Bが生成するAnnounceメッセージを含むPTPパケットの「sourcePortIdentify」の領域には、PTPパケットを第1の通信装置3Aに送信するポートPb3に割り当てられたポート番号が記録される。このポート番号によりパケット送受信部301は、他の通信装置3から受信したPTPパケットが自己が生成したPTPパケットか否かを識別することができる。なお、「sourcePortIdentify」の領域に記録するポート番号については、Syncメッセージ等の他のメッセージを含むPTPパケットについても同様である。ポート番号は、PTPパケットの識別情報の一例である。PTPパケットの識別情報としては、ポート番号に限られず、他の情報(例えば、MACアドレス、IPアドレス等)でもよい。また、通信装置3が生成するPTPパケット間に優先順位を設定してもよい。
【0048】
(Syncメッセージの構成)
図4(a)は、Syncメッセージのフォーマットの一例を示す図、
図4(b)は、その「Header」のフォーマットの一例を示す図である。Syncメッセージは、IEEE1588v2規格で規定されており、
図4(a)に示すように、「header」、「originTimestamp」の各領域を有する。Syncメッセージや他のメッセージの「header」のフォーマットは、
図3(b)と同じであるので、その説明を省略する。他のメッセージのSyncメッセージ以降のFollow_UpメッセージやDelay_Responseメッセージにも「originTimestamp」の領域を有している。Follow_Upメッセージの「originTimestamp」の領域には、マスタがスレーブに対してSyncメッセージを送信した送信時刻が記録される。Delay_Responseメッセージの「originTimestamp」の領域には、マスタがスレーブからのDelay_Requestメッセージを受信した受信時刻が記録される。
【0049】
(PTPに基づく通信)
図5は、PTPに基づく通信の一例を示すシーケンス図である。同図は、マスタとしてグランドマスタ装置2、スレーブとして通信装置3の場合を示しているが、マスタとして通信装置3、スレーブとしてスレーブ装置4の場合も同様のフローとなる。マスタとスレーブとの間で、Announceメッセージ、Syncメッセージ、Follow_Upメッセージ、Delay_Requestメッセージ、Delay_Responseメッセージが送受信される。
【0050】
図5に示すように、グランドマスタ装置2は、
図3に示すAnnounceメッセージを含むPTPパケットを通信装置3に送信した後、
図4に示すSyncメッセージを含むPTPパケットを通信装置3に送信する。このとき、グランドマスタ装置2は、Syncメッセージを含むPTPパケットを送信した送信時刻t1を記憶する。通信装置3は、送受信処理部30がSyncメッセージを含むPTPパケットを受信すると、時刻同期処理部31がSyncメッセージを受信した受信時刻t2を計時部32Aから取得して記憶部311に記憶する。
【0051】
次に、グランドマスタ装置2は、上記送信時刻t1を記録したFollow_Upメッセージを含むPTPパケットを通信装置3に送信する。通信装置3は、送受信処理部30がFollow_Upメッセージを含むPTPパケットを受信すると、時刻同期処理部31がFollow_Upメッセージから送信時刻t1を取得して記憶部311に記憶する。
【0052】
次に、通信装置3は、Delay_Requestメッセージを含むPTPパケットをグランドマスタ装置2に送信する。このとき、通信装置3の時刻同期処理部31は、Delay_Requestメッセージを含むPTPパケットを送信した送信時刻t3を記憶部311に記憶する。グランドマスタ装置2は、Delay_Requestメッセージを含むPTPパケットを受信すると、その受信時刻t4を記憶する。
【0053】
次に、グランドマスタ装置2は、上記受信時刻t4を記録したDelay_Responseメッセージを含むPTPパケットを通信装置3に送信する。通信装置3は、送受信処理部30がDelay_Responseメッセージを含むPTPパケットを受信すると、時刻同期処理部31がDelay_Responseメッセージから受信時刻t4を取得して記憶部311に記憶する。
【0054】
そして時刻同期処理部31は、記憶部311に記憶した時刻t1~t4に基づいて、次の式(1)によりオフセット時間Toffを算出する。
Toff=(Dms+Dsm)/2
={(t2-t1)+(t4-t3)}/2 ・・・(1)
【0055】
時刻同期処理部31は、上記の式(1)から算出したオフセット時間Toffに基づいて計時部32の時刻源を補正する。これにより、通信装置3の時刻がグランドマスタ装置2の時刻に合うように補正され、グランドマスタ装置2と通信装置3の間で時刻同期が確立する。
【0056】
(本実施の形態の動作)
次に、本実施の形態に係る通信システム1の動作の一例を、
図6から
図8を参照して説明する。
【0057】
(1)第1のグランドマスタ装置及び第2のグランドマスタ装置が正常な場合
第1のグランドマスタ装置2A及び第2のグランドマスタ装置2Bが正常な場合の通信システム1の動作の一例を、
図6を参照して説明する。
図6中、太線による矢印は、第1のグランドマスタ装置2Aが生成したPTPパケットの流れを示す。
【0058】
第1のグランドマスタ装置2Aは、GMクロックを含むPTPパケットをポートM1から第1の通信装置3AのポートS1に送信し、第2のグランドマスタ装置2Bは、GMクロックを含むPTPパケットをポートM2から第2の通信装置3BのポートS2に送信する。
【0059】
第1のグランドマスタ装置2AのPTPパケットが第2のグランドマスタ装置2BのPTPパケットよりも優先順位が高く設定されているため、第1の通信装置3Aは、受信した第1のグランドマスタ装置2AからのPTPパケットを第2の通信装置3Bに送信するが、第2の通信装置3Bは、受信した第2のグランドマスタ装置2BからのPTPパケットを第1の通信装置3Aに送信しない。
【0060】
具体的には、第1のグランドマスタ装置2Aから送信され、第1の通信装置3AのポートS1で受信したPTPパケットは、その後のルートを記号で示すと、Ra1、Pa1、P11、P12、Pa2、Ra2、Pa3を経由し、さらに第2の通信装置3BのPa4、Rb3、Pb1、P21、P22、Pb2、Rb2、Pb3を経由し、第1の通信装置3AのポートPa4に到達する。
【0061】
第1のグランドマスタ装置2Aから送信されたPTPパケットが時刻同期処理部31A、31Bを経由している間に、通信装置3の時刻同期処理部31によりオフセット時間Toffが算出され、通信装置3の時計を第1のグランドマスタ装置2Aの基準時刻に同期するように自己の計時部32A、32Bの時刻源を補正する時刻同期処理が行われる。
【0062】
また、第1の通信装置3AのポートPa2から送信され、第4の伝送路Ra4を経由してポートMaに到達したPTPパケットは、IPネットワークを介して各スレーブ装置4のポートSaに送信される。これと同様に、第2の通信装置3BのポートPb2から送信され、第4の伝送路Rb4を経由してポートMbに到達したPTPパケットは、IPネットワークを介して各スレーブ装置4のポートSbに送信される。各スレーブ装置4には、第1のグランドマスタ装置2AのGMクロックを含むPTPパケットが送信される。
【0063】
その後、第1の通信装置3A及び第2の通信装置3Bをマスタ、スレーブ装置4をスレーブとして、
図5に示すように、両者間で各種メッセージを含むPTPパケットが送受信される。スレーブ装置4の時刻同期処理部41は、優先順位の高い方(例えば、予め設定されたMACアドレス、IPアドレス等)のGMクロックを含むPTPパケットを採用し、オフセット時間Toffを算出し、スレーブ装置4の時刻を通信装置3の時刻に同期するように自己の計時部42の時刻源を補正する時刻同期処理が行われる。
【0064】
(2)第1のグランドマスタ装置に障害が発生した場合
第1のグランドマスタ装置2Aに障害(通信不良)が発生し、第2のグランドマスタ装置2Bが正常に動作している場合の通信システム1の動作の一例を、
図7を参照して説明する。
図7中、太線による矢印は、第1のグランドマスタ装置2Aが生成したPTPパケットの流れを示す。
【0065】
第1のグランドマスタ装置2AのPTPパケットが第2のグランドマスタ装置2BのPTPパケットよりも優先順位が高く設定されているが、第1のグランドマスタ装置2Aは、障害のためPTPパケットを第1の通信装置3Aに送信できないため、第2の通信装置3Bは、受信した第2のグランドマスタ装置2BからのGMクロックを含むPTPパケットを第1の通信装置3Aに送信する。
【0066】
具体的には、第2のグランドマスタ装置2Bから送信され、第2の通信装置3BのポートS2で受信したPTPパケットは、その後のルートを記号で示すと、Rb1、Pb1、P21、P22、Pb2、Rb2、Pb3を経由し、第1の通信装置3AのポートPa4に到達する。
【0067】
第2のグランドマスタ装置2Bから送信されたPTPパケットが時刻同期処理部31A、31Bを経由している間に、通信装置3の時刻同期処理部31によりオフセット時間Toffが算出され、通信装置3の時計を第2のグランドマスタ装置2Bの基準時刻に同期するように自己の計時部32A、32Bの時刻源を補正する時刻同期処理が行われる。
【0068】
また、第2の通信装置3BのポートPb2から送信され、第4の伝送路Rb4を経由してポートMbに到達したPTPパケットは、IPネットワークを介して各スレーブ装置4のポートSbに送信される。これと同様に、第1の通信装置3AのポートPa2から送信され、第4の伝送路Ra4を経由してポートMaに到達したPTPパケットは、IPネットワークを介して各スレーブ装置4のポートSaに送信される。
【0069】
その後、第1の通信装置3A及び第2の通信装置3Bをマスタ、スレーブ装置4をスレーブとして、前述したように、両者間で各種メッセージを含むPTPパケットが送受信され、スレーブ装置4の時刻を通信装置3の時刻に同期するように自己の計時部42の時刻源を補正する時刻同期処理が行われる。
【0070】
(3)第1のグランドマスタ装置及び第2のグランドマスタ装置に共に障害が発生した場合
第1のグランドマスタ装置2A及び第2のグランドマスタ装置2Bに共に障害が発生した場合の通信システム1の動作の一例を、
図8を参照して説明する。
【0071】
第1のグランドマスタ装置2A及び第2のグランドマスタ装置2Bに障害が同時期に発生した場合、第1の通信装置3Aは、第1のグランドマスタ装置2Aから所定の時間PTPパケットを受信できず、第2の通信装置3Bは、第2のグランドマスタ装置2Bから所定の時間PTPパケットを受信できないため、第1の通信装置3Aの障害検出部302は、第1のグランドマスタ装置2A及び第2のグランドマスタ装置2Bの障害を検出する。これと同様に、第2の通信装置3Bの障害検出部302は、第2のグランドマスタ装置2B及び第1のグランドマスタ装置2Aの障害を検出する。
【0072】
第1の通信装置3Aのパケット生成部303は、自走モードで自己の時刻を含むPTPパケットを生成する。続いてパケット生成部303は、当該PTPパケットを時刻同期処理部31に送信するとともに、第2の通信装置3B及びスレーブ装置4との間で送受信するようにパケット送受信部301を制御する。
【0073】
これと同様に、第2の通信装置3Bのパケット生成部303は、自走モードで自己の時刻を含むPTPパケットを生成する。続いてパケット生成部303は、当該PTPパケットを時刻同期処理部31に送信するとともに、第2の通信装置3B及びスレーブ装置4との間で送受信するようにパケット送受信部301を制御する。
【0074】
第1の通信装置3A及び第2の通信装置3Bで生成されたPTPパケットは、第1の通信装置3A及び第2の通信装置3B間で送受信される。第1の通信装置3Aで生成されたPTPパケットの方が第2の通信装置3Bで生成されたPTPパケットよりも優先順位が高く設定されているため、第1の通信装置3A及び第2の通信装置3Bの時刻同期処理部31は、第1の通信装置3Aで生成されたPTPパケットに基づいて時刻同期処理を行い、計時部32の時刻源を補正する。
【0075】
第1の通信装置3Aのパケット生成部303は、第2の通信装置3Bから受信したPTPパケットのうち自己が生成したPTPパケットを無効とするようにパケット送受信部301を制御する。第1の通信装置3Aのパケット送受信部301は、第2の通信装置3Bから受信したPTPパケットのうち自己が生成したPTPパケットを無効とする。
【0076】
その後、第1の通信装置3A及び第2の通信装置3Bをマスタ、スレーブ装置4をスレーブとして、
図5に示すように、両者間で各種メッセージを含むPTPパケットが送受信される。スレーブ装置4の時刻同期処理部41は、優先順位の高い方の第1の通信装置3Aの時刻を含むPTPパケットに基づいて、オフセット時間Toffを算出し、スレーブ装置4の時刻を第1の通信装置3Aの時刻に同期するように自己の計時部42の時刻源を補正する時刻同期処理を行う。
【0077】
(本実施の形態の効果)
本実施の形態に係る通信システム1によれば、以下の効果を奏する。
(a)第1のグランドマスタ装置2A及び第2のグランドマスタ装置2Bが同時期に障害を起こした場合でも、第1の通信装置3A及び第2の通信装置3Bは自走モードでPTPパケットを生成することから、スレーブ装置4に対して時刻同期で通信を行うことができる。
(b)第1の通信装置3A及び第2の通信装置3Bがそれぞれ自走モードでPTPパケットを生成した場合、通信装置3A、3B間で動作が不安定となり、時刻同期の精度が低下するおそれがあるが、本実施の形態は、自走モードでPTPパケットを生成したとき、自己が生成したPTPパケットが他の通信装置3から送信された場合、当該PTPパケットを無効とするようにしていることから、時刻同期の精度の低下を避けることができる。
(c)通信装置3A、3B間でクロックを送受信するのではなく、PTPパケットを送受信していることから、通信装置3A、3Bが生成したPTPパケットの優先順位等の情報を通知することができる。
【0078】
以上、本発明の実施の形態を説明したが、本発明の実施の形態は上記実施の形態に限定されるものではなく、種々の変形、実施が可能である。
【符号の説明】
【0079】
1…通信システム、2・・・グランドマスタ装置、2A…第1のグランドマスタ装置、2B…第2のグランドマスタ装置、3…通信装置、3A…第1の通信装置、3B…第2の通信装置、4…スレーブ装置、30、30A、30B…送受信処理部、31、31A、31B…時刻同期処理部、32、32A、32B…計時部、41…時刻同期処理部、42…計時部、301…パケット送受信部、302…障害検出部、303…パケット生成部、311…記憶部、M1、M2、Ma、Mb、Pa1~Pa4、Pb1~Pb4、S1、S2、Sa、Sb…ポート、Ra1~Ra4、Rb1~Rb4…伝送路、