(57)【特許請求の範囲】
【請求項１】
第１の装置が、複数の前記第１の装置を接続可能な中継装置を介して第２の装置との間で伝搬遅延時間計測を実施する前記第１の装置である時刻同期装置であって、
前記第２の装置に前記伝搬遅延時間計測の要求メッセージを送信する送信部と、
前記要求メッセージの応答である前記第２の装置からの応答メッセージを受信する受信部と、
受信監視タイマを有し、前記送信部が前記要求メッセージを送信したときに前記受信監視タイマを起動し、前記受信部が前記応答メッセージを受信する前に前記受信監視タイマがタイムアウトした場合、前記送信部に前記要求メッセージの再送を指示する受信監視部と、
を備え、
前記受信監視タイマのタイムアウト設定値をｔＯ、前記中継装置に接続される時刻同期装置の接続数をＮ、前記送信部の前記要求メッセージの送信周期をＴとし、ｔＯ≦Ｔ／Ｎであることを特徴とする時刻同期装置。
【請求項２】
前記送信部は、他の時刻同期装置が送信する要求メッセージを受信した数によって前記中継装置に接続される時刻同期装置の接続数をカウントし、
前記受信監視部は、前記受信部でカウントされた前記接続数、および前記送信周期を用いて、前記タイムアウト設定値を算出する、
ことを特徴とする請求項１に記載の時刻同期装置。
【請求項３】
請求項１または２に記載の時刻同期装置である第１の装置と、
複数の前記第１の装置を接続可能な中継装置と、
前記第１の装置から送信された伝搬遅延時間計測の要求メッセージを受信した場合、前記要求メッセージの応答である応答メッセージを送信する第２の装置と、
を備えることを特徴とする通信システム。
【請求項４】
第１の装置が、複数の前記第１の装置を接続可能な中継装置を介して第２の装置との間で伝搬遅延時間計測を実施する前記第１の装置である時刻同期装置の時刻同期方法であって、
送信部が、前記第２の装置に前記伝搬遅延時間計測の要求メッセージを送信する送信ステップと、
受信部が、前記要求メッセージの応答である前記第２の装置からの応答メッセージを受信する受信ステップと、
受信監視部が、受信監視タイマを有し、前記送信部が前記要求メッセージを送信したときに前記受信監視タイマを起動し、前記受信部が前記応答メッセージを受信する前に前記受信監視タイマがタイムアウトした場合、前記送信部に前記要求メッセージの再送を指示する監視ステップと、
を含み、
前記受信監視タイマのタイムアウト設定値をｔＯ、前記中継装置に接続される時刻同期装置の接続数をＮ、前記送信部の前記要求メッセージの送信周期をＴとし、ｔＯ≦Ｔ／Ｎであることを特徴とする時刻同期方法。
【請求項５】
第１の装置が、複数の前記第１の装置を接続可能な中継装置を介して第２の装置との間で伝搬遅延時間計測を実施する前記第１の装置である時刻同期装置の時刻同期プログラムであって、
送信部が、前記第２の装置に前記伝搬遅延時間計測の要求メッセージを送信する送信ステップと、
受信部が、前記要求メッセージの応答である前記第２の装置からの応答メッセージを受信する受信ステップと、
受信監視部が、受信監視タイマを有し、前記送信部が前記要求メッセージを送信したときに前記受信監視タイマを起動し、前記受信部が前記応答メッセージを受信する前に前記受信監視タイマがタイムアウトした場合、前記送信部に前記要求メッセージの再送を指示する監視ステップと、
をコンピュータに実行させ、
前記受信監視タイマのタイムアウト設定値をｔＯ、前記中継装置に接続される時刻同期装置の接続数をＮ、前記送信部の前記要求メッセージの送信周期をＴとし、ｔＯ≦Ｔ／Ｎであることを特徴とする時刻同期プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時刻同期を行う時刻同期装置、通信システム、時刻同期方法および時刻同期プログラムに関する。
【背景技術】
【０００２】
従来、ネットワークで接続された複数の機器が連携して動作するシステムでは、複数の機器の制御タイミングを合わせるため、各機器の時刻を同期させることが必要である。機器間の時刻を同期させる規格として、ＩＥＥＥ（The  Institute  of  Electrical  and  Electronics  Engineers）１５８８のように、複数の機器から成るマスタスレーブシステムにおいて、ネットワーク上の複数の機器の時刻を同期させる時刻同期技術がある（非特許文献１）。【０００３】
ＩＥＥＥ１５８８では、機器間の伝搬路の通信遅延時間を計測し、時刻の同期を実施することが規定されている。伝搬路の通信遅延時間計測は、各機器が一定周期で実施する。伝搬路の通信遅延計測は、遅延計測を要求する機器であるＲｅｑｕｅｓｔｅｒが、ＤｅｌａｙＲｅｑメッセージを送信し、ＤｅｌａｙＲｅｑメッセージを受信した機器であるＲｅｓｐｏｎｄｅｒが、ＤｅｌａｙＲｅｓｐメッセージにＤｅｌａｙＲｅｑ受信時のタイムスタンプを格納してＲｅｑｕｅｓｔｅｒへ送信することなどによって実施される。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】IEEE  Std  1588-2008（IEEE  Standard  for  a  Precision  Clock  Synchronization  Protocol  for  Networked  Measurement  and  Control  Systems）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＩＥＥＥ１５８８に非対応のスイッチングハブが存在し、ＩＥＥＥ１５８８に非対応のスイッチングハブに複数のＲｅｑｕｅｓｔｅｒが接続されているシステムでは、１台のＲｅｓｐｏｎｄｅｒが、伝搬遅延時間計測を実施する複数のＲｅｑｕｅｓｔｅｒが送信するＤｅｌａｙＲｅｑメッセージを複数個受信する。Ｒｅｓｐｏｎｄｅｒは、ＤｅｌａｙＲｅｑメッセージ受信時のタイムスタンプを送信元ごとに複数個保持する必要があるが、タイムスタンプを保持する数には制限がある。Ｒｅｓｐｏｎｄｅｒは、タイムスタンプを保持することができたＲｅｑｕｅｓｔｅｒにのみＤｅｌａｙＲｅｓｐメッセージを送信する。そのため、ある周期では、ＲｅｑｕｅｓｔｅｒによってはＤｅｌａｙＲｅｓｐメッセージを受信できず、伝搬遅延時間計測を完了できない、という問題があった。また、各Ｒｅｑｕｅｓｔｅｒは、一定周期でＤｅｌａｙＲｅｑメッセージを送信する。そのため、あるＲｅｑｕｅｓｔｅｒは、ＤｅｌａｙＲｅｓｐメッセージを受信できなかった次の周期でもＤｅｌａｙＲｅｓｐメッセージを受信できない可能性があり、伝搬遅延時間計測を完了することができず時刻同期できない、という問題があった。【０００６】
本発明は、上記に鑑みてなされたものであって、複数の時刻同期装置が中継装置に接続された通信システムにおいても時刻同期可能な時刻同期装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、第１の装置が、複数の第１の装置を接続可能な中継装置を介して第２の装置との間で伝搬遅延時間計測を実施する第１の装置である時刻同期装置である。時刻同期装置は、第２の装置に伝搬遅延時間計測の要求メッセージを送信する送信部と、要求メッセージの応答である第２の装置からの応答メッセージを受信する受信部と、受信監視タイマを有し、送信部が要求メッセージを送信したときに受信監視タイマを起動し、受信部が応答メッセージを受信する前に受信監視タイマがタイムアウトした場合、送信部に要求メッセージの再送を指示する受信監視部と、を備える。受信監視タイマのタイムアウト設定値をｔＯ、中継装置に接続される時刻同期装置の接続数をＮ、送信部の要求メッセージの送信周期をＴとし、ｔＯ≦Ｔ／Ｎであることを特徴とする。
【発明の効果】
【０００８】
本発明にかかる時刻同期装置は、複数の時刻同期装置が中継装置に接続された通信システムにおいても時刻同期できる、という効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係る通信システムの構成例を示す図
【図２】実施の形態１に係る通信システムの他の構成例を示す図
【図３】実施の形態１に係る同期スレーブの構成例を示す図
【図４】実施の形態１に係る同期スレーブの受信監視部の監視動作を示すフローチャート
【図５】実施の形態１に係る通信システムにおいて、同期スレーブが伝搬遅延時間計測を行うときの、各装置のメッセージの送受信のタイミングを示すシーケンス図
【図６】実施の形態１に係る同期スレーブを実現するハードウェアの一例を示す図
【図７】実施の形態２に係る通信システムの構成例を示す図
【図８】実施の形態２に係る通信システムの他の構成例を示す図
【図９】実施の形態２に係る同期スレーブの構成例を示す図
【図１０】実施の形態２に係る同期スレーブの受信監視部がタイムアウト設定値を算出する動作を示すフローチャート
【発明を実施するための形態】
【００１０】
以下に、本発明の実施の形態に係る時刻同期装置、通信システム、時刻同期方法および時刻同期プログラムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態１．
図１は、本発明の実施の形態１に係る通信システム４の構成例を示す図である。通信システム４は、基準となる時刻を持つ同期マスタ１と、ＩＥＥＥ１５８８に非対応のスイッチングハブ２と、同期マスタ１に同期する同期スレーブ３ａ，３ｂと、を備える。図１に示す通信システム４では、同期スレーブ３ａ，３ｂが同期マスタ１との間の伝搬路の伝搬遅延時間を計測するＲｅｑｕｅｓｔｅｒとなり、同期マスタ１がＲｅｓｐｏｎｄｅｒとなる。同期マスタ１は、ＩＥＥＥ１５８８の規格と同一の動作を実施する。同期マスタ１は、同期スレーブ３ａ，３ｂから送信された伝搬遅延時間計測のＤｅｌａｙＲｅｑメッセージを受信した場合、ＤｅｌａｙＲｅｑメッセージの応答であるＤｅｌａｙＲｅｓｐメッセージを送信する。ＩＥＥＥ１５８８非対応のスイッチングハブ２は、受信するフレームの宛先アドレスに従い、フレーム転送を実施する中継装置である。スイッチングハブ２は、３つ以上の同期スレーブと接続することも可能である。同期スレーブ３ａ，３ｂは、スイッチングハブ２を介して同期マスタ１との間で伝搬遅延時間計測を実施する。以降の説明において、Ｒｅｑｕｅｓｔｅｒを第１の装置と称し、Ｒｅｓｐｏｎｄｅｒを第２の装置と称することがある。また、Ｒｅｑｕｅｓｔｅｒである第１の装置を時刻同期装置と称することがある。
【００１２】
なお、通信システムの構成によっては、同期スレーブがＲｅｓｐｏｎｄｅｒになることもある。図２は、実施の形態１に係る通信システム４ａの構成例を示す図である。通信システム４ａは、同期マスタ１と、スイッチングハブ２と、同期スレーブ３ｃと、同期スレーブ３ｃに同期する同期スレーブ３ａ，３ｂと、を備える。図２に示す通信システム４ａでは、同期スレーブ３ａ，３ｂが同期スレーブ３ｃとの間の伝搬路の伝搬遅延時間を計測するＲｅｑｕｅｓｔｅｒとなり、同期スレーブ３ｃがＲｅｓｐｏｎｄｅｒとなる。図２に示す通信システム４ａにおいて、同期スレーブ３ｃは、ＩＥＥＥ１５８８の手順に従って、同期マスタ１との間の伝搬路の伝搬遅延時間を計測することができる。本実施の形態では、図１に示す通信システム４を例にして説明する。
【００１３】
同期スレーブ３ａ，３ｂの構成について説明する。図３は、実施の形態１に係る同期スレーブ３ａの構成例を示す図である。同期スレーブ３ａ，３ｂは同様の構成のため、同期スレーブ３ａを例にして説明する。同期スレーブ３ａは、フレーム受信部３１と、フレーム送信部３２と、時刻同期部３３と、受信監視部３４と、を備える。
【００１４】
フレーム受信部３１は、フレーム解析部３１０を有する受信部である。フレーム解析部３１０は、スイッチングハブ２から受信したフレームを解析する。フレーム解析部３１０は、受信したフレームが時刻同期に関連するメッセージの場合、受信フレームに含まれていた受信データを時刻同期部３３に出力する。同期スレーブ３ａがＲｅｑｕｅｓｔｅｒの場合、フレーム解析部３１０は、時刻同期に関連するメッセージのうち同期スレーブ３ａ宛のＤｅｌａｙＲｅｓｐメッセージを受信すると、受信監視部３４にＤｅｌａｙＲｅｓｐメッセージを受信した旨を通知する。ＤｅｌａｙＲｅｓｐメッセージは、Ｒｅｓｐｏｎｄｅｒである同期マスタ１が、Ｒｅｑｕｅｓｔｅｒである同期スレーブ３ａから受信したＤｅｌａｙＲｅｑメッセージへの応答のメッセージである。以降の説明において、ＤｅｌａｙＲｅｓｐメッセージを応答メッセージと称することがある。また、ＤｅｌａｙＲｅｑメッセージは、Ｒｅｑｕｅｓｔｅｒである同期スレーブ３ａが、Ｒｅｓｐｏｎｄｅｒである同期マスタ１に伝搬遅延時間計測を要求するメッセージである。以降の説明において、ＤｅｌａｙＲｅｑメッセージを要求メッセージと称することがある。
【００１５】
同期スレーブ３ａがＲｅｓｐｏｎｄｅｒの場合、フレーム解析部３１０は、時刻同期に関連するメッセージのうちＤｅｌａｙＲｅｑメッセージを受信すると、受信時点のタイムスタンプ値を保持する。フレーム解析部３１０は、保持したタイムスタンプ値、ＤｅｌａｙＲｅｑメッセージに含まれる情報であって送信元であるＲｅｑｕｅｓｔｅｒを示すＤｅｌａｙＲｅｑメッセージの送信元情報、およびＤｅｌａｙＲｅｑメッセージを受信した旨を、フレーム送信部３２に通知する。
【００１６】
フレーム送信部３２は、送信周期タイマ３２０を有する送信部である。送信周期タイマ３２０は、フレーム送信部３２がＤｅｌａｙＲｅｑメッセージを送信する周期である送信周期Ｔでタイムアウトするタイマである。同期スレーブ３ａがＲｅｑｕｅｓｔｅｒの場合、フレーム送信部３２は、送信周期タイマ３２０が送信周期Ｔでタイムアウトすると、タイムアウト時、スイッチングハブ２にＤｅｌａｙＲｅｑメッセージを送信する。フレーム送信部３２は、ＤｅｌａｙＲｅｑメッセージを送信すると、ＤｅｌａｙＲｅｑメッセージを送信した旨を時刻同期部３３および受信監視部３４に通知する。また、フレーム送信部３２は、受信監視部３４からＤｅｌａｙＲｅｑメッセージの再送指示を受けると、ＤｅｌａｙＲｅｑメッセージを送信し、送信周期タイマ３２０を再起動する。
【００１７】
同期スレーブ３ａがＲｅｓｐｏｎｄｅｒの場合、フレーム送信部３２は、フレーム受信部３１から、タイムスタンプ値、ＤｅｌａｙＲｅｑメッセージの送信元情報、およびＤｅｌａｙＲｅｑメッセージを受信した旨が通知されると、タイムスタンプ値、およびＤｅｌａｙＲｅｑメッセージの送信元情報をＤｅｌａｙＲｅｓｐメッセージに格納して送信する。
【００１８】
時刻同期部３３は、時刻カウンタ３３０を有する。時刻同期部３３は、フレーム受信部３１から受信データを取得した場合、取得した時点の時刻カウンタ３３０の時刻カウンタ値を記録する。時刻同期部３３は、フレーム送信部３２からＤｅｌａｙＲｅｑメッセージが送信された旨が通知された場合、通知された時点の時刻カウンタ３３０の時刻カウンタ値を記録する。時刻同期部３３は、記録した時刻カウンタ値とフレーム受信部３１から取得した受信データとを用いて同期マスタ１の時刻を算出し、時刻カウンタ３３０を同期マスタ１に同期させる。
【００１９】
例えば、フレーム送信部３２がＤｅｌａｙＲｅｑメッセージを送信した時刻をｔ１、同期マスタ１がＤｅｌａｙＲｅｑメッセージを受信した時刻をｔ２、同期マスタ１がＤｅｌａｙＲｅｓｐメッセージを送信した時刻をｔ３、フレーム受信部３１がＤｅｌａｙＲｅｓｐメッセージを受信した時刻をｔ４とする。同期スレーブ３ａは、同期マスタ１がｔ２およびｔ３の情報をＤｅｌａｙＲｅｓｐメッセージに含めることで、ｔ２およびｔ３の情報を取得することができる。時刻同期部３３は、（（ｔ４−ｔ３）＋（ｔ２−ｔ１））／２から片道の通信遅延時間を算出し、算出した片道の通信遅延時間を用いて同期マスタ１の時刻を算出し、時刻カウンタ３３０を同期マスタ１に同期させる。
【００２０】
受信監視部３４は、受信監視タイマ３４０を有する。受信監視タイマ３４０は、ＤｅｌａｙＲｅｓｐメッセージの受信を監視するためのタイマである。受信監視部３４は、フレーム送信部３２がＤｅｌａｙＲｅｑメッセージを送信したときに受信監視タイマ３４０を起動する。受信監視部３４は、フレーム受信部３１がＤｅｌａｙＲｅｓｐメッセージを受信する前に受信監視タイマ３４０がタイムアウトした場合、フレーム送信部３２にＤｅｌａｙＲｅｑメッセージの再送を指示する。受信監視タイマ３４０のタイムアウト設定値をｔＯ、スイッチングハブ２に接続されるＲｅｑｕｅｓｔｅｒである同期スレーブ３ａ，３ｂの接続数をＮ、フレーム送信部３２がＤｅｌａｙＲｅｑメッセージを送信する送信周期をＴとすると、タイムアウト設定値ｔＯは、ｔＯ≦Ｔ／Ｎとなる値である。タイムアウト設定値ｔＯについては、例えば、通信システム４を管理するユーザが、あらかじめｔＯ≦Ｔ／Ｎとなる値を演算した結果を受信監視部３４に設定しておく。
【００２１】
つづいて、同期スレーブ３ａ，３ｂの動作について説明する。図４は、実施の形態１に係る同期スレーブ３ａの受信監視部３４の監視動作を示すフローチャートである。同期スレーブ３ａ，３ｂは同様の動作を行うため、同期スレーブ３ａを例にして説明する。
【００２２】
受信監視部３４は、フレーム送信部３２からのＤｅｌａｙＲｅｑメッセージを送信した旨の通知の有無を確認する（ステップＳ１１）。受信監視部３４は、フレーム送信部３２からＤｅｌａｙＲｅｑメッセージを送信した旨の通知が無い場合（ステップＳ１１：Ｎｏ）、フレーム送信部３２からＤｅｌａｙＲｅｑメッセージを送信した旨の通知が有るまで待機する。受信監視部３４は、フレーム送信部３２からＤｅｌａｙＲｅｑメッセージを送信した旨の通知が有った場合（ステップＳ１１：Ｙｅｓ）、受信監視タイマ３４０を起動する（ステップＳ１２）。
【００２３】
受信監視部３４は、受信監視タイマ３４０を起動すると、受信監視タイマ３４０のタイムアウトを確認する（ステップＳ１３）。受信監視部３４は、受信監視タイマ３４０がタイムアウトした場合（ステップＳ１３：Ｙｅｓ）、フレーム送信部３２にＤｅｌａｙＲｅｑメッセージの再送を指示する（ステップＳ１４）。
【００２４】
受信監視部３４は、受信監視タイマ３４０がタイムアウトしていない場合（ステップＳ１３：Ｎｏ）、フレーム受信部３１からのＤｅｌａｙＲｅｓｐメッセージを受信した旨の通知の有無を確認する（ステップＳ１５）。受信監視部３４は、フレーム受信部３１からＤｅｌａｙＲｅｓｐメッセージを受信した旨の通知が有った場合（ステップＳ１５：Ｙｅｓ）、受信監視タイマ３４０を停止し、リセットする（ステップＳ１６）。受信監視部３４は、フレーム受信部３１からＤｅｌａｙＲｅｓｐメッセージを受信した旨の通知が無い場合（ステップＳ１５：Ｎｏ）、ステップＳ１３の動作に戻り、受信監視タイマ３４０のタイムアウトを確認する（ステップＳ１３）。
【００２５】
同期スレーブ３ａ，３ｂが伝搬遅延時間計測を行うときの、各装置のメッセージの送受信のタイミングについて説明する。図５は、実施の形態１に係る通信システム４において、同期スレーブ３ａ，３ｂが伝搬遅延時間計測を行うときの、各装置のメッセージの送受信のタイミングを示すシーケンス図である。ここでは、Ｒｅｓｐｏｎｄｅｒである同期マスタ１は、ＤｅｌａｙＲｅｑメッセージを受信したとき、タイムスタンプ値を１つのみ保持できるものとする。
【００２６】
Ｒｅｑｕｅｓｔｅｒである同期スレーブ３ａ，３ｂは、伝搬遅延時間計測を実施するため、ＤｅｌａｙＲｅｑメッセージを送信する。同期スレーブ３ａ，３ｂは、ＤｅｌａｙＲｅｑメッセージを送信すると、送信周期タイマ３２０および受信監視タイマ３４０を起動する（ステップＳ２１）。
【００２７】
図５に示すシーケンス図の以降の説明において、同期スレーブ３ａが送信するＤｅｌａｙＲｅｑメッセージをＤｅｌａｙＲｅｑメッセージ３ａとし、同期スレーブ３ｂが送信するＤｅｌａｙＲｅｑメッセージをＤｅｌａｙＲｅｑメッセージ３ｂとし、同期マスタ１が同期スレーブ３ａに送信するＤｅｌａｙＲｅｓｐメッセージをＤｅｌａｙＲｅｓｐメッセージ３ａとし、同期マスタ１が同期スレーブ３ｂに送信するＤｅｌａｙＲｅｓｐメッセージをＤｅｌａｙＲｅｓｐメッセージ３ｂとする。
【００２８】
Ｒｅｓｐｏｎｄｅｒである同期マスタ１は、同期スレーブ３ｂからのＤｅｌａｙＲｅｑメッセージ３ｂを先に受信し、受信時のタイムスタンプを保持する。同期マスタ１は、直後に受信した同期スレーブ３ａからのＤｅｌａｙＲｅｑメッセージ３ａを無視する。同期マスタ１は、同期スレーブ３ｂにＤｅｌａｙＲｅｓｐメッセージ３ｂを送信する（ステップＳ２２）。同期スレーブ３ｂは、ＤｅｌａｙＲｅｓｐメッセージ３ｂを受信すると、受信監視タイマ３４０を停止し、リセットする（ステップＳ２３）。
【００２９】
同期スレーブ３ａは、受信監視タイマ３４０のタイムアウトにより、ＤｅｌａｙＲｅｑメッセージ３ａを再送し、送信周期タイマ３２０を再起動する（ステップＳ２４）。同期マスタ１は、同期スレーブ３ａからのＤｅｌａｙＲｅｑメッセージ３ａを受信し、受信時のタイムスタンプを保持する。同期マスタ１は、同期スレーブ３ａにＤｅｌａｙＲｅｓｐメッセージ３ａを送信する（ステップＳ２５）。同期スレーブ３ａは、ＤｅｌａｙＲｅｓｐメッセージ３ａを受信すると、受信監視タイマ３４０を停止し、リセットする（ステップＳ２６）。
【００３０】
同期スレーブ３ｂは、送信周期タイマ３２０がタイムアウトすると、ＤｅｌａｙＲｅｑメッセージ３ｂを送信する。同期スレーブ３ｂは、ＤｅｌａｙＲｅｑメッセージ３ｂを送信すると、送信周期タイマ３２０および受信監視タイマ３４０を起動する（ステップＳ２７）。同期マスタ１は、同期スレーブ３ｂからのＤｅｌａｙＲｅｑメッセージ３ｂを受信し、受信時のタイムスタンプを保持する。同期マスタ１は、同期スレーブ３ｂにＤｅｌａｙＲｅｓｐメッセージ３ｂを送信する（ステップＳ２８）。同期スレーブ３ｂは、ＤｅｌａｙＲｅｓｐメッセージ３ｂを受信すると、受信監視タイマ３４０を停止し、リセットする（ステップＳ２９）。
【００３１】
同期スレーブ３ａは、送信周期タイマ３２０がタイムアウトすると、ＤｅｌａｙＲｅｑメッセージ３ａを送信する。同期スレーブ３ａは、ＤｅｌａｙＲｅｑメッセージ３ａを送信すると、送信周期タイマ３２０および受信監視タイマ３４０を起動する（ステップＳ３０）。同期マスタ１は、同期スレーブ３ａからのＤｅｌａｙＲｅｑメッセージ３ａを受信し、受信時のタイムスタンプを保持する。同期マスタ１は、同期スレーブ３ａにＤｅｌａｙＲｅｓｐメッセージ３ａを送信する（ステップＳ３１）。同期スレーブ３ａは、ＤｅｌａｙＲｅｓｐメッセージ３ａを受信すると、受信監視タイマ３４０を停止し、リセットする（ステップＳ３２）。
【００３２】
通信システム４では、以降、ステップＳ２７からステップＳ３２の動作が繰り返される。これにより、同期スレーブ３ａは、受信監視タイマ３４０のタイムアウトによるＤｅｌａｙＲｅｑメッセージの送信時、送信周期タイマ３２０のタイムアウト待ち状態にある同期スレーブ３ｂとは送信タイミングが重なることなく、ＤｅｌａｙＲｅｑメッセージを送信することができる。同期スレーブ３ａは、ＤｅｌａｙＲｅｑメッセージの送信タイミングが同期スレーブ３ｂと重なることがないため、伝搬遅延時間計測を完了することが可能となり、時刻同期を実施することができる。
【００３３】
通信システム４では、スイッチングハブ２に接続されるＲｅｑｕｅｓｔｅｒである同期スレーブの接続数Ｎが３以上の場合においても、ｔＯ≦Ｔ／Ｎとすることで、伝搬遅延時間計測を完了した同期スレーブと未完了の同期スレーブとでＤｅｌａｙＲｅｑメッセージの送信タイミングが重なることがなくなる。この結果、通信システム４では、全ての同期スレーブが伝搬遅延時間計測を完了することが可能となり、時刻同期を実施することができる。
【００３４】
つづいて、同期スレーブ３ａのハードウェア構成について説明する。同期スレーブ３ａ，３ｂは同様の構成のため、同期スレーブ３ａを用いて説明する。図６は、実施の形態１に係る同期スレーブ３ａを実現するハードウェアの一例を示す図である。同期スレーブ３ａは、図６に示したプロセッサ１０１、記憶装置１０２、および通信インタフェース１０３により実現することができる。
【００３５】
プロセッサ１０１は、ＣＰＵ（Central  Processing  Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、ＤＳＰ（Digital  Signal  Processor）ともいう）、システムＬＳＩ（Large  Scale  Integration）などである。記憶装置１０２は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、ＥＰＲＯＭ（Erasable  Programmable  Read  Only  Memory）、ＥＥＰＲＯＭ（登録商標）（Electrically  Erasable  Programmable  Read  Only  Memory）、ハードディスクドライブなどである。通信インタフェース１０３は、同期スレーブ３ａにおいて、フレーム受信部３１が通信フレームを受信し、フレーム送信部３２が通信フレームを送信するための処理回路であり、例えば、ネットワークインタフェースカードである。
【００３６】
同期スレーブ３ａにおいて、時刻同期部３３、受信監視部３４、フレーム受信部３１およびフレーム送信部３２において通信インタフェース１０３で実現される機能以外の部分は、これらの各部として動作するためのプログラムをプロセッサ１０１が実行することにより実現される。このようなプログラムは記憶装置１０２に予め格納されている。プロセッサ１０１は、上記プログラムを記憶装置１０２から読み出して実行することにより、時刻同期部３３、受信監視部３４、フレーム受信部３１およびフレーム送信部３２において通信インタフェース１０３で実現される機能以外の部分を実現する。
【００３７】
上記プログラムは、記憶装置１０２に予め格納された状態でユーザに提供される形態であってもよいし、コンピュータなどで読み取り可能な記録媒体、例えば、ＣＤ（Compact  Disc）−ＲＯＭ、ＤＶＤ（Digital  Versatile  Disc）−ＲＯＭなどに書き込まれた状態でユーザに供給され、ユーザが記憶装置１０２にインストールする形態であってもよい。
【００３８】
以上説明したように、本実施の形態によれば、ＩＥＥＥ１５８８非対応のスイッチングハブ２が接続された通信システム４において、時刻同期を行う同期スレーブ３ａ，３ｂは、ＤｅｌａｙＲｅｑメッセージを送信するときに受信監視タイマ３４０を起動する。受信監視タイマ３４０のタイムアウト設定値をｔＯ、スイッチングハブ２に接続される同期スレーブ３ａ，３ｂの接続数をＮ、同期スレーブ３ａ，３ｂのＤｅｌａｙＲｅｑメッセージの送信周期をＴとし、ｔＯ≦Ｔ／Ｎとする。同期スレーブ３ａ，３ｂは、タイムアウト設定値ｔＯ内に同期マスタ１からＤｅｌａｙＲｅｓｐメッセージを受信しない場合、ＤｅｌａｙＲｅｑメッセージを再送する。同期スレーブ３ａ，３ｂは、再送したＤｅｌａｙＲｅｑメッセージで伝搬遅延時間計測ができた場合、ＤｅｌａｙＲｅｑメッセージを再送した時刻から送信周期Ｔの間隔でＤｅｌａｙＲｅｑメッセージを送信することとした。これにより、同期スレーブ３ａ，３ｂは、複数のＲｅｑｕｅｓｔｅｒである同期スレーブ３ａ，３ｂがＩＥＥＥ１５８８非対応のスイッチングハブ２が接続された通信システム４においても、伝搬遅延時間の計測をすることができ、時刻同期が可能となる。
【００３９】
実施の形態２．
実施の形態２では、Ｒｅｑｕｅｓｔｅｒである同期スレーブが、接続数Ｎをカウントし、タイムアウト設定値ｔＯを自動で算出する。実施の形態１と異なる部分について説明する。
【００４０】
図７は、実施の形態２に係る通信システム４Ａの構成例を示す図である。通信システム４Ａは、同期マスタ１と、スイッチングハブ２と、同期マスタ１に同期する同期スレーブ３Ａａ，３Ａｂと、を備える。図７に示す通信システム４Ａでは、同期スレーブ３Ａａ，３Ａｂが同期マスタ１との間の伝搬路の伝搬遅延時間を計測するＲｅｑｕｅｓｔｅｒとなり、同期マスタ１がＲｅｓｐｏｎｄｅｒとなる。
【００４１】
なお、通信システムの構成によっては、同期スレーブがＲｅｓｐｏｎｄｅｒになることもある。図８は、実施の形態２に係る通信システム４Ａａの構成例を示す図である。通信システム４Ａａは、同期マスタ１と、スイッチングハブ２と、同期スレーブ３Ａｃと、同期スレーブ３Ａｃに同期する同期スレーブ３Ａａ，３Ａｂと、を備える。図８に示す通信システム４Ａａでは、同期スレーブ３Ａａ，３Ａｂが同期スレーブ３Ａｃとの間の伝搬路の伝搬遅延時間を計測するＲｅｑｕｅｓｔｅｒとなり、同期スレーブ３ＡｃがＲｅｓｐｏｎｄｅｒとなる。図８に示す通信システム４Ａａにおいて、同期スレーブ３Ａｃは、ＩＥＥＥ１５８８の手順に従って、同期マスタ１との間の伝搬路の伝搬遅延時間を計測することができる。本実施の形態では、図７に示す通信システム４Ａを例にして説明する。
【００４２】
同期スレーブ３Ａａ，３Ａｂの構成について説明する。図９は、実施の形態２に係る同期スレーブ３Ａａの構成例を示す図である。同期スレーブ３Ａａ，３Ａｂは同様の構成のため、同期スレーブ３Ａａを例にして説明する。同期スレーブ３Ａａは、フレーム受信部３１Ａと、フレーム送信部３２と、時刻同期部３３と、受信監視部３４Ａと、を備える。
【００４３】
フレーム受信部３１Ａは、フレーム解析部３１０Ａと、テーブル管理部３１１Ａと、カウンタ３１２Ａと、を有する受信部である。
【００４４】
フレーム解析部３１０Ａは、スイッチングハブ２から受信したフレームを解析する。フレーム解析部３１０Ａは、受信したフレームが時刻同期に関連するメッセージの場合、受信フレームに含まれていた受信データを時刻同期部３３に出力する。同期スレーブ３ＡａがＲｅｑｕｅｓｔｅｒの場合、フレーム解析部３１０Ａは、時刻同期に関連するメッセージのうち同期スレーブ３Ａａ宛のＤｅｌａｙＲｅｓｐメッセージを受信すると、受信監視部３４ＡにＤｅｌａｙＲｅｓｐメッセージを受信した旨を通知する。フレーム解析部３１０Ａは、時刻同期に関連するメッセージのうち他のＲｅｑｕｅｓｔｅｒである同期スレーブから送信されたＤｅｌａｙＲｅｑメッセージを受信すると、ＤｅｌａｙＲｅｑメッセージに含まれる情報であって送信元である同期スレーブを示すＲｅｑｕｅｓｔｅｒ識別情報をテーブル管理部３１１Ａに通知する。Ｒｅｑｕｅｓｔｅｒ識別情報は、例えば、ＭＡＣ（Media  Access  Control）アドレスなどである。
【００４５】
同期スレーブ３ＡａがＲｅｓｐｏｎｄｅｒの場合、フレーム解析部３１０Ａは、時刻同期に関連するメッセージのうちＤｅｌａｙＲｅｑメッセージを受信すると、受信時点のタイムスタンプ値を保持する。フレーム解析部３１０Ａは、保持したタイムスタンプ値、ＤｅｌａｙＲｅｑメッセージに含まれる情報であって送信元であるＲｅｑｕｅｓｔｅｒを示すＤｅｌａｙＲｅｑメッセージの送信元情報、およびＤｅｌａｙＲｅｑメッセージを受信した旨を、フレーム送信部３２に通知する。
【００４６】
テーブル管理部３１１Ａは、フレーム解析部３１０Ａから通知されたＲｅｑｕｅｓｔｅｒ識別情報を、テーブル管理部３１１Ａが有するＲｅｑｕｅｓｔｅｒテーブルに登録する。テーブル管理部３１１Ａは、Ｒｅｑｕｅｓｔｅｒ識別情報がＲｅｑｕｅｓｔｅｒテーブルに新規に登録される場合、カウンタ３１２Ａを１カウントアップする。カウンタ３１２Ａのカウンタ値の初期値は１とする。テーブル管理部３１１Ａは、Ｒｅｑｕｅｓｔｅｒテーブルに登録されたＲｅｑｕｅｓｔｅｒ識別情報について、規定された時間内にフレーム解析部３１０Ａから同一のＲｅｑｕｅｓｔｅｒ識別情報が通知されなかった場合、Ｒｅｑｕｅｓｔｅｒテーブルから該当するＲｅｑｕｅｓｔｅｒ識別情報を削除し、カウンタ３１２Ａを１カウントダウンする。
【００４７】
フレーム解析部３１０Ａまたはテーブル管理部３１１Ａは、カウンタ３１２Ａのカウンタ値を受信監視部３４Ａに通知する。このように、同期スレーブ３Ａａにおいて、フレーム受信部３１Ａは、他のＲｅｑｕｅｓｔｅｒである同期スレーブが送信するＤｅｌａｙＲｅｑメッセージを受信した数によって、スイッチングハブ２に接続されるＲｅｑｕｅｓｔｅｒである同期スレーブの接続数Ｎをカウントする。
【００４８】
受信監視部３４Ａは、受信監視タイマ３４０Ａと、タイムアウト値設定部３４１Ａと、を有する。
【００４９】
タイムアウト値設定部３４１Ａは、フレーム受信部３１Ａから通知されたカウンタ３１２Ａのカウンタ値を用いて、受信監視タイマ３４０Ａのタイムアウト設定値ｔＯを算出する。具体的には、タイムアウト値設定部３４１Ａは、カウンタ３１２Ａのカウンタ値を接続数Ｎとして、ｔＯ≦Ｔ／Ｎとなるように、受信監視タイマ３４０Ａのタイムアウト設定値ｔＯを算出する。タイムアウト値設定部３４１Ａは、算出した受信監視タイマ３４０Ａのタイムアウト設定値ｔＯを受信監視タイマ３４０Ａに通知する。
【００５０】
受信監視タイマ３４０Ａは、ＤｅｌａｙＲｅｓｐメッセージの受信を監視するためのタイマである。受信監視タイマ３４０Ａのタイムアウト設定値ｔＯは、タイムアウト値設定部３４１Ａから通知された値となる。
【００５１】
このように、受信監視部３４Ａは、フレーム受信部３１Ａでカウントされた接続数Ｎ、および送信周期Ｔを用いて、タイムアウト設定値ｔＯを算出する。
【００５２】
つづいて、同期スレーブ３Ａａ，３Ａｂの動作について説明する。図１０は、実施の形態２に係る同期スレーブ３Ａａの受信監視部３４Ａがタイムアウト設定値ｔＯを算出する動作を示すフローチャートである。同期スレーブ３Ａａ，３Ａｂは同様の動作を行うため、同期スレーブ３Ａａを例にして説明する。
【００５３】
受信監視部３４Ａにおいて、タイムアウト値設定部３４１Ａは、フレーム受信部３１Ａからカウンタ３１２Ａのカウンタ値を取得する（ステップＳ４１）。タイムアウト値設定部３４１Ａは、カウンタ３１２Ａのカウンタ値を接続数Ｎとして、接続数Ｎ、およびフレーム送信部３２の送信周期タイマ３２０が送信周期Ｔを用いて、ｔＯ≦Ｔ／Ｎとなるタイムアウト設定値ｔＯを算出する（ステップＳ４２）。タイムアウト値設定部３４１Ａは、算出したタイムアウト設定値ｔＯを受信監視タイマ３４０Ａに通知する（ステップＳ４３）。タイムアウト設定値ｔＯを用いた受信監視部３４Ａの監視動作は、図４に示す実施の形態１の受信監視部３４の監視動作と同様のため、詳細説明については省略する。
【００５４】
同期スレーブ３Ａａについては、実施の形態１の同期スレーブ３ａと同様、図６に示すハードウェア構成により実現される。
【００５５】
以上説明したように、本実施の形態によれば、同期スレーブ３Ａａ，３Ａｂは、受信した他の同期スレーブからのＤｅｌａｙＲｅｑメッセージの数からスイッチングハブ２に接続されるＲｅｑｕｅｓｔｅｒの接続数Ｎを求め、接続数Ｎを用いて受信監視タイマ３４０Ａのタイムアウト設定値ｔＯを算出することとした。これにより、同期スレーブ３Ａａ，３Ａｂは、受信監視タイマ３４０Ａのタイムアウト設定値ｔＯを自動で算出できる。この結果、ユーザが通信システム４Ａの構成の違いによりタイムアウト設定値を算出して変更することなく、容易に通信システム４Ａを運用することができる。
【００５６】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００５７】
１  同期マスタ、２  スイッチングハブ、３ａ，３ｂ，３ｃ，３Ａａ，３Ａｂ，３Ａｃ  同期スレーブ、４，４ａ，４Ａ，４Ａａ  通信システム、３１，３１Ａ  フレーム受信部、３２  フレーム送信部、３３  時刻同期部、３４，３４Ａ  受信監視部、３１０，３１０Ａ  フレーム解析部、３１１Ａ  テーブル管理部、３１２Ａ  カウンタ、３２０  送信周期タイマ、３３０  時刻カウンタ、３４０，３４０Ａ  受信監視タイマ、３４１Ａ  タイムアウト値設定部。
【要約】
第１の装置が、複数の第１の装置を接続可能な中継装置を介して第２の装置との間で伝搬遅延時間計測を実施する第１の装置である時刻同期装置であって、第２の装置に伝搬遅延時間計測の要求メッセージを送信するフレーム送信部（３２）と、要求メッセージの応答である応答メッセージを受信するフレーム受信部（３１）と、受信監視タイマ（３４０）を有し、フレーム送信部（３２）が要求メッセージを送信したときに受信監視タイマ（３４０）を起動し、フレーム受信部（３１）が応答メッセージを受信する前に受信監視タイマ（３４０）がタイムアウトした場合、フレーム送信部（３２）に要求メッセージの再送を指示する受信監視部（３４）と、を備え、受信監視タイマ（３４０）のタイムアウト設定値をｔＯ、中継装置に接続される時刻同期装置の接続数をＮ、フレーム送信部（３２）の要求メッセージの送信周期をＴとし、ｔＯ≦Ｔ／Ｎである。【図１】
0006612006.tif 000002
【図２】
0006612006.tif 000003
【図３】
0006612006.tif 000004
【図４】
0006612006.tif 000005
【図５】
0006612006.tif 000006
【図６】
0006612006.tif 000007
【図７】
0006612006.tif 000008
【図８】
0006612006.tif 000009
【図９】
0006612006.tif 000010
【図１０】
0006612006.tif 000011