(57)【要約】【課題】平均遅延時間の精度を向上させることにより、精度良くマスタ装置と時刻同期させることが可能なスレーブ装置を提供すること。【解決手段】一実施の形態によれば、スレーブ装置３は、マスタ装置１に遅延要求メッセージを送信した時刻とマスタ装置１によって遅延要求メッセージが受信された時刻とから、マスタ装置１との間のデータ伝送に要する遅延時間を算出する遅延時間算出部３１と、遅延時間算出部３１によって算出された複数の遅延時間を平均化して第１平均遅延時間を算出するとともに、複数の遅延時間のうち第１平均遅延時間の所定倍以下を示す複数の遅延時間を平均化して第２平均遅延時間を算出する、平均遅延時間決定部３２と、第２平均遅延時間に応じて時刻の補正を行う時刻補正部３３と、を備える。【選択図】図３
2014135541.tif 000002
【特許請求の範囲】
【請求項１】
マスタ装置に遅延要求メッセージを送信した時刻と前記マスタ装置によって前記遅延要求メッセージが受信された時刻とから、前記マスタ装置との間のデータ伝送に要する遅延時間を算出する遅延時間算出部と、
前記遅延時間算出部によって算出された複数の遅延時間を平均化して第１平均遅延時間を算出するとともに、前記複数の遅延時間のうち前記第１平均遅延時間の所定倍以下を示す複数の遅延時間を平均化して第２平均遅延時間を算出する、平均遅延時間決定部と、
前記第２平均遅延時間に応じて時刻の補正を行う時刻補正部と、を備えたスレーブ装置。
【請求項２】
前記平均遅延時間決定部は、
前記遅延時間算出部によって算出された前記複数の遅延時間を記憶する第１メモリと、
前記第１メモリに記憶された前記複数の遅延時間を平均化して前記第１平均遅延時間を算出する第１平均遅延時間算出部と、
前記第１平均遅延時間算出部によって算出された前記第１平均遅延時間を記憶する第２メモリと、
前記第１メモリに記憶された前記複数の遅延時間のうち前記第２メモリに記憶された前記第１平均遅延時間の所定倍以下を示す複数の遅延時間を平均化して前記第２平均遅延時間を算出する第２平均遅延時間算出部と、を有する請求項１に記載のスレーブ装置。
【請求項３】
前記平均遅延時間決定部は、前記遅延時間算出部によって算出された前記複数の遅延時間のうち、算出時刻の古い遅延時間ほど重みづけを軽くし、算出時刻の新しい遅延時間ほど重みづけを重くする、請求項１又は２に記載のスレーブ装置。
【請求項４】
前記マスタ装置と、
前記マスタ装置と時刻同期して動作する請求項１〜３の何れか一項に記載のスレーブ装置と、を備えたネットワークシステム。
【請求項５】
スレーブ装置から遅延要求メッセージが送信された時刻とマスタ装置によって前記遅延要求メッセージが受信された時刻とから、前記スレーブ装置と前記マスタ装置との間のデータ伝送に要する遅延時間を算出し、
複数の前記遅延時間を平均化して第１平均遅延時間を算出し、
前記複数の遅延時間のうち前記第１平均遅延時間の所定倍以下を示す複数の遅延時間を平均化して第２平均遅延時間を算出し、
前記第２平均遅延時間に応じて前記スレーブ装置の時刻を補正する、ネットワークシステムの時刻同期方法。
【請求項６】
算出された前記複数の遅延時間のうち、算出時刻の古い遅延時間ほど重みづけを軽くし、算出時刻の新しい遅延時間ほど重みづけを重くしたうえで、
前記複数の遅延時間を平均化して前記第１平均遅延時間を算出し、
前記複数の遅延時間のうち前記第１平均遅延時間の所定倍以下を示す複数の遅延時間を平均化して前記第２平均遅延時間を算出する、請求項５に記載のネットワークシステムの時刻同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スレーブ装置、ネットワークシステム及びネットワークシステムの時刻同期方法に関する。
【背景技術】
【０００２】
ネットワークシステムを構成するマスタ装置及び複数のスレーブ装置は、例えば、ＩＥＥＥ１５８８規格のＰＴＰ（Ｐｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）方式により時刻同期して動作している。
【０００３】
ＰＴＰ方式による時刻同期では、マスタ装置と各スレーブ装置との間のデータ転送に要する時間（以下、遅延時間と称す）に応じて各スレーブ装置の時刻を補正することで、当該各スレーブ装置の時刻をマスタ装置の時刻と同期させている。
【０００４】
しかしながら、ＰＴＰ方式による時刻同期では、ネットワーク通信の揺らぎにより、マスタ装置と各スレーブ装置との間のデータ転送に要する遅延時間がばらついてしまうため、精度良く時刻同期させることができないという問題があった。
【０００５】
このような問題を解決するため、例えば、マスタ装置と各スレーブ装置との間のデータ転送に要する遅延時間を複数算出し、これら複数の遅延時間の平均遅延時間に応じて各スレーブ装置の時刻を補正する等の対策が施されている。
【０００６】
関連する技術が特許文献１に開示されている。特許文献１に開示されたネットワークの時刻同期方式は、ある情報処理装置と他の情報処理装置との間のデータ伝送の平均遅延時間及び平均ずれ量を算出し、これらに基づいて内蔵時計の時刻を補正している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平８−２５６１６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、関連する技術では、突出して大きな遅延時間（即ち、信頼性の低い遅延時間）を含む複数の遅延時間を平均化して平均遅延時間を算出している。そのため、関連する技術では、平均遅延時間の精度を向上させることができず、精度良く時刻同期が行われないという問題があった。
【０００９】
本発明は、このような問題点を解決するためになされたものであり、平均遅延時間の精度を向上させることにより、精度良くマスタ装置と時刻同期させることが可能なスレーブ装置、ネットワークシステム及びネットワークシステムの時刻同期方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
一実施の形態によれば、スレーブ装置は、マスタ装置に遅延要求メッセージを送信した時刻と前記マスタ装置によって前記遅延要求メッセージが受信された時刻とから、前記マスタ装置との間のデータ伝送に要する遅延時間を算出する遅延時間算出部と、前記遅延時間算出部によって算出された複数の遅延時間を平均化して第１平均遅延時間を算出するとともに、前記複数の遅延時間のうち前記第１平均遅延時間の所定倍以下を示す複数の遅延時間を平均化して第２平均遅延時間を算出する、平均遅延時間算出部と、前記第２平均遅延時間に応じて時刻の補正を行う時刻補正部と、を備える。
【００１１】
また、一実施の形態によれば、ネットワークシステムの時刻同期方法は、スレーブ装置から遅延要求メッセージが送信された時刻とマスタ装置によって前記遅延要求メッセージが受信された時刻とから、前記スレーブ装置と前記マスタ装置との間のデータ伝送に要する遅延時間を算出し、複数の前記遅延時間を平均化して第１平均遅延時間を算出し、前記複数の遅延時間のうち前記第１平均遅延時間の所定倍以下を示す複数の遅延時間を平均化して第２平均遅延時間を算出し、前記第２平均遅延時間に応じて前記スレーブ装置の時刻を補正する。
【発明の効果】
【００１２】
前記一実施の形態によれば、平均遅延時間の精度を向上させることにより、精度良くマスタ装置と時刻同期させることが可能なスレーブ装置、ネットワークシステム及びネットワークシステムの時刻同期方法を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１にかかるネットワークシステムの構成例を示す図である。
【図２】実施の形態１にかかるネットワークシステムの動作を説明するための図である。
【図３】実施の形態１にかかるスレーブ装置の一部の構成例を示す図である。
【図４】実施の形態１にかかるスレーブ装置の一部の具体的構成例を示す図である。
【図５】実施の形態１にかかるスレーブ装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１４】
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１５】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００１６】
＜実施の形態１＞
図１は、実施の形態１にかかるネットワークシステムの構成例を示す図である。図１に示すネットワークシステムは、マスタ装置１と、複数のスレーブ装置３と、マスタ装置１と複数のスレーブ装置３との間のデータ伝送を行う複数のバス２と、を備える。本実施の形態では、マスタ装置１及び複数のスレーブ装置３が、ＩＥＥＥ１５８８規格のＰＴＰ方式により時刻同期して動作している場合を例に説明する。
【００１７】
（ネットワークシステムの時刻同期方法）
続いて、図２を参照して、図１に示すネットワークシステムの時刻同期方法について説明する。図２は、図１に示すネットワークシステムの時刻同期方法を説明するための図である。なお、以下では、マスタ装置１と１つのスレーブ装置３との間の時刻同期方法について説明する。
【００１８】
まず、マスタ装置１は、マスタ時刻００：００にＳｙｎｃ  Ｍｅｓｓａｇｅをスレーブ装置３に送信する（図２のＡ）。
【００１９】
次に、マスタ装置１は、マスタ時刻００：０２に、時刻００：００にＳｙｎｃ  Ｍｅｓｓａｇｅを送信したことを伝えるＦｏｌｌｏｗ  ｕｐ  Ｍｅｓｓａｇｅをスレーブ装置３に送信する（図２のＢ）。
【００２０】
スレーブ装置３は、スレーブ時刻００：０６に、Ｓｙｎｃ  Ｍｅｓｓａｇｅを受信するとともに、スレーブ時刻００：０８に、Ｆｏｌｌｏｗ  ｕｐ  Ｍｅｓｓａｇｅを受信する。それをもとに、スレーブ装置３は、マスタ装置１とのオフセット時間差００：０６を算出し、スレーブ時刻を補正する。具体的には、スレーブ装置３は、スレーブ時刻をオフセット時間差００：０６だけ遅らせる（例えば、スレーブ時刻００：０８をスレーブ時刻００：０２に補正する）。
【００２１】
次に、スレーブ装置３は、スレーブ時刻００：０６に、Ｄｅｌａｙ  ｒｅｑｕｅｓｔ  Ｍｅｓｓａｇｅ（遅延要求メッセージ）をマスタ装置１に送信する（図２のＣ）。
【００２２】
マスタ装置１は、マスタ時刻００：１２に、Ｄｅａｌａｙ  ｒｅｑｕｅｓｔ  Ｍｅｓｓａｇｅを受信する。それに応じて、マスタ装置１は、マスタ時刻００：１３に、マスタ時刻００：１２にＤｅｌａｙ  ｒｅｑｕｅｓｔ  Ｍｅｓｓａｇｅを受信したことを伝えるＤｅｌａｙ  ｒｅｓｐｏｎｓｅ  Ｍｅｓｓａｇｅ（遅延応答メッセージ）をスレーブ装置３に送信する（図２のＤ）。
【００２３】
スレーブ装置３は、スレーブ時刻００：１３に、Ｄｅｌａｙ  ｒｅｓｐｏｎｓｅ  Ｍｅｓｓａｇｅを受信する。それをもとに、スレーブ装置３は、マスタ装置１との間のデータ伝送に要する遅延時間００：０３（＝（００：１２−００：０６）／２）を算出し、スレーブ時刻を補正する。具体的には、スレーブ装置３は、スレーブ時刻を遅延時間００：０３だけ進める（例えば、スレーブ時刻００：１５をスレーブ時刻００：１８に補正する）。このようにして、マスタ装置１とスレーブ装置３との間の時刻同期が行われる。
【００２４】
なお、マスタ装置１と他のスレーブ装置３との間の時刻同期も同様にして行われる。
【００２５】
ここで、上記したように、ＩＥＥＥ１５８８規格のＰＴＰ方式によるマスタ装置１とスレーブ装置３との間の時刻同期では、ネットワーク通信の揺らぎにより、マスタ装置１とスレーブ装置３との間のデータ伝送に要する遅延時間がばらつく。
【００２６】
そこで、本実施の形態にかかるスレーブ装置３は、マスタ装置１とスレーブ装置３との間のデータ転送に要する遅延時間を複数算出し、これら複数の遅延時間の平均遅延時間に応じてスレーブ装置３の時刻を補正している。
【００２７】
特に、本実施の形態にかかるスレーブ装置３は、複数の遅延時間のうち突出して大きな遅延時間を、信頼性の低い遅延時間と判断して、平均化の対象から除外する。それにより、本実施の形態にかかるスレーブ装置３は、従来よりも平均遅延時間の精度を向上させることができるため、精度良くマスタ装置１と時刻同期させることができる。以下、本実施の形態のスレーブ装置３について詳細に説明する。
【００２８】
（スレーブ装置３の構成）
まず、図３及び図４を参照して、スレーブ装置３の構成について説明する。図３は、スレーブ装置３の一部の構成例を示すブロック図である。図４は、図３に示すスレーブ装置３のうち平均遅延時間決定部３２をより具体的に示すブロック図である。
【００２９】
図３に示すスレーブ装置３は、遅延時間算出部３１と、平均遅延時間決定部３２と、時刻補正部３３と、を少なくとも備える。
【００３０】
遅延時間算出部３１は、マスタ装置１にＤｅｌａｙ  ｒｅｑｕｅｓｔ  Ｍｅｓｓａｇｅを送信した時刻と、マスタ装置１によってＤｅｌａｙ  ｒｅｑｕｅｓｔ  Ｍｅｓｓａｇｅが受信された時刻とから、マスタ装置１とスレーブ装置３との間のデータ伝送に要する遅延時間を算出する。なお、遅延時間算出部３１は、既に述べたように、Ｄｅｌａｙ  ｒｅｓｐｏｎｓｅ  Ｍｅｓｓａｇｅを受信することにより、"マスタ装置１によってＤｅｌａｙ  ｒｅｑｕｅｓｔ  Ｍｅｓｓａｇｅが受信された時刻"の情報を取得する。
【００３１】
平均遅延時間決定部３２は、遅延時間算出部３１によって算出された複数の遅延時間を平均化して第１平均遅延時間を算出するとともに、複数の遅延時間のうち第１平均遅延時間の所定倍以下を示す複数の遅延時間を平均化して第２平均遅延時間を算出する。
【００３２】
時刻補正部３３は、平均遅延時間決定部３２によって算出された第２平均遅延時間に応じてスレーブ時刻の補正を行う。つまり、マスタ装置１とスレーブ装置３との間の時刻同期が行われる。
【００３３】
図４に示すように、平均遅延時間決定部３２は、例えば、メモリ（第１メモリ）３４と、第１平均遅延時間算出部３５と、メモリ（第２メモリ）３６と、第２平均遅延時間算出部３７と、を有する。
【００３４】
メモリ３４は、遅延時間算出部３１によって算出された複数の遅延時間を記憶する。
【００３５】
第１平均遅延時間算出部３５は、メモリ３４に記憶された複数の遅延時間を平均化して第１平均遅延時間を算出する。
【００３６】
メモリ３６は、第１平均遅延時間算出部３５によって算出された第１平均遅延時間を記憶する。
【００３７】
第２平均遅延時間算出部３７は、メモリ３４に記憶された複数の遅延時間のうちメモリ３６に記憶された第１平均遅延時間の所定倍以下を示す複数の遅延時間を平均化して第２平均遅延時間を算出する。
【００３８】
（スレーブ装置３の動作）
続いて、図５を参照して、スレーブ装置３の動作について説明する。図５は、スレーブ装置３の時刻同期動作を示すフローチャートである。なお、以下の例では、遅延時間算出部３１によってｎ（ｎは２以上の整数）個の遅延時間が算出された場合を例に説明する。
【００３９】
まず、遅延時間算出部３１は、異なるタイミングでｎ個の遅延時間を算出する（図５のステップＳ１０１）。このｎ個の遅延時間は、メモリ３４に記憶される。
【００４０】
次に、第１平均遅延時間算出部３５は、メモリ３４に記憶されたｎ個の遅延時間を平均化して第１平均遅延時間を算出する（図５のステップＳ１０２）。
【００４１】
次に、第２平均遅延時間の算出が行われる。
【００４２】
第２平均遅延時間の算出では、まず、初期値設定が行われる。具体的には、変数ｉが値"１"に設定される（図５のステップＳ１０３）。
【００４３】
変数ｉがｎ以下の場合（図５のステップＳ１０４のＹＥＳ）、第２平均遅延時間算出部３７は、メモリ３４に記憶されたｎ個の遅延時間のうちｉ番目（ここでは１番目）に算出された遅延時間が第１平均遅延時間のＸ倍（所定倍）以下であるか否かを判定する（図５のステップＳ１０５）。
【００４４】
例えば、ｉ番目に算出された遅延時間が第１平均遅延時間のＸ倍以下である場合（図５のステップＳ１０５のＹＥＳ）、第２平均遅延時間算出部３７は、当該ｉ番目に算出された遅延時間を抽出する（図５のステップＳ１０６）。つまり、第１平均遅延時間のＸ倍以下の遅延時間は、平均化の対象として選択される。
【００４５】
一方、ｉ番目に算出された遅延時間が第１平均遅延時間のＸ倍を超える場合（図５のステップＳ１０５のＮＯ）、第２平均遅延時間算出部３７は、当該ｉ番目に算出された遅延時間を抽出しない。つまり、第１平均遅延時間のＸ倍を超える遅延時間は、信頼性が低いと判断され、平均化の対象から除外される。
【００４６】
その後、変数ｉの値が１だけ増加した後（図５のステップＳ１０７）、ステップＳ１０４〜ステップＳ１０７の動作が繰り返される。
【００４７】
変数ｉがｎより大きくなると（図５のステップＳ１０４のＮＯ）、第２平均遅延時間算出部３７は、抽出した複数の遅延時間を平均化して第２平均遅延時間を算出する（図５のステップＳ１０８）。より具体的には、第２平均遅延時間算出部３７は、メモリ３４に記憶されたｎ個の遅延時間のうち第１平均遅延時間のＸ倍以下の複数の遅延時間を平均化して第２平均遅延時間を算出する（図５のステップＳ１０８）。
【００４８】
次に、時刻補正部３３は、平均遅延時間決定部３２によって算出された第２平均遅延時間に応じてスレーブ時刻を補正する（図５のステップＳ１０９）。これにより、マスタ装置１とスレーブ装置３との間の時刻同期が行われる。
【００４９】
このように、本実施の形態にかかるスレーブ装置３は、遅延時間算出部によって算出された複数の遅延時間のうち突出して大きな遅延時間を、信頼性の低い遅延時間と判断して、平均化の対象から除外する。それにより、本実施の形態にかかるスレーブ装置３は、平均遅延時間（第２平均遅延時間）の精度を向上させることができるため、精度良くマスタ装置１と時刻同期させることができる。
【００５０】
なお、本実施の形態では、遅延時間算出部３１によって算出されたすべての遅延時間を平均化対象として用いた場合を例に説明したが、これに限られない。遅延時間算出部３１によって算出された複数の遅延時間のうち任意の数の遅延時間を平均化対象として用いて良い。したがって、例えば、遅延時間算出部３１によって算出された複数の遅延時間のうち任意の算出区間の遅延時間を平均化対象として用いて良い。なお、当然ながら、ある区間でみると、平均化対象として用いられる遅延時間の数が多いほど平均遅延時間の精度は高くなる。
【００５１】
また、ある遅延時間を平均化の対象から除外するか否かの閾値（即ち、値Ｘ）は、任意に変更可能である。つまり、ネットワークの通信環境に求められる精度に応じて算出区間や閾値を任意に変更することができる。
【００５２】
さらに、平均遅延時間決定部３２は、忘却係数等を用いることにより、遅延時間算出部３１によって算出された複数の遅延時間のうち、算出時刻の古い遅延時間ほど重みづけを軽くし、算出時刻の新しい遅延時間ほど重みづけを重くするようにしてもよい。
【００５３】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【００５４】
１  マスタ装置
２  バス
３  スレーブ装置
３１  遅延時間算出部
３２  平均遅延時間決定部
３３  時刻補正部
３４  メモリ
３５  第１平均遅延時間算出部
３６  メモリ
３７  第２平均遅延時間算出部
【図１】
2014135541.tif 000003
【図２】
2014135541.tif 000004
【図３】
2014135541.tif 000005
【図４】
2014135541.tif 000006
【図５】
2014135541.tif 000007