(57)【要約】【課題】  従来技術では、ネットワーク中継装置を用いたネットワーク構成でパケット詰まりによる往復の通信経路での通信遅延時間に差があるため、時刻を同期させることができない、との課題があった。【解決手段】  本発明は、上記課題を解決するために、時刻同期制御部１３０で時刻同期部１３１を制御することで、一度時刻同期し、その同期時刻に基づいて、時刻パケットの往路と復路の遅延を計算し、計算値が等しい場合に、該時刻パケットの時刻を用いて時刻同期処理を実行する。【選択図】図３
2020184710.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して送受信する時刻同期パケットを用いて、前記ネットワークを介して接続される通信装置との時刻同期処理を実行する通信制御装置において、
前記通信装置へ、前記時刻同期パケットを送信する手段と、
前記通信装置から、前記時刻同期パケットを受信する手段と、
前記時刻同期パケットに記録されたタイムスタンプを用いて、前記時刻同期パケットの当該通信制御装置および前記通信装置における送受信時刻を算出する手段と、
特定された送受信時刻を用いて、当該通信制御装置と前記通信装置の間の通信経過時間である遅延時間を、往路および復路それぞれについて算出する手段と、
算出された前記往路の遅延時間と前記復路の遅延時間の差分を算出し、算出された差分が予め定められた所定しきい値以下の場合に、前記タイムスタンプを用いて、当該通信制御装置と前記通信装置の送受信時刻の平均の差を、当該通信制御装置の遅延時間として時刻同期処理を実行する手段とを有することを特徴とする通信制御装置。
【請求項２】
請求項１に記載の通信制御装置において、
前記時刻同期処理を実行する手段は、前記時刻同期処理を周期的に実行させることを特徴とする通信制御装置。
【請求項３】
請求項２に記載の通信制御装置において、
前記時刻同期処理を実行する手段は、算出された差分が予め定められた所定しきい値より大きい場合に、前記時刻同期処理を、次回の周期まで抑制することを特徴とする通信制御装置。
【請求項４】
請求項１に記載の通信制御装置において、
前記時刻同期パケットを受信する手段は、前記時刻同期パケットを含む複数の通信パケットを受信し、
前記時刻同期処理を実行する手段は、前記複数の通信パケットそれぞれの受信間隔が、フレーム間ギャップに基づくしきい値と実質的に等しい場合、前記時刻同期処理を抑制することを特徴とする通信制御装置。
【請求項５】
請求項１に記載の通信制御装置において、
前記差分が予め定められた所定しきい値より大きい場合、遅延時間がより小さな経路に対して他方よりも前記差分に応じた通信量を増加させる手段をさらに有することを特徴とする通信制御装置。
【請求項６】
請求項１に記載の通信制御装置において、
前記時刻同期処理を実行する手段は、前記時刻同期処理における目標同期精度に基づいて、前記所定しきい値を決定することを特徴とする通信制御装置。
【請求項７】
ネットワークを介して送受信する時刻同期パケットを用いて、前記ネットワークを介して接続される通信制御装置と通信装置との時刻同期処理を実行する通信制御方法において、
前記通信制御装置は、
前記通信装置へ、前記時刻同期パケットを送信し、
前記通信装置から、前記時刻同期パケットを受信し、
前記時刻同期パケットに記録されたタイムスタンプを用いて、前記時刻同期パケットの当該通信制御装置および前記通信装置における送受信時刻を特定し、
特定された送受信時刻を用いて、当該通信制御装置と前記通信装置の間の通信経過時間である遅延時間を、往路および復路それぞれについて算出し、
算出された前記往路の遅延時間と前記復路の遅延時間の差分を算出して、算出された差分が予め定められた所定しきい値以下の場合に、前記タイムスタンプを用いて、当該通信制御装置と前記通信装置の送受信時刻の平均の差を、当該通信制御装置の遅延時間として時刻同期処理を実行することを特徴とする通信制御方法。
【請求項８】
請求項７に記載の通信制御方法において、
前記通信制御装置は、
前記時刻同期処理を周期的に実行させることを特徴とする通信制御方法。
【請求項９】
請求項８に記載の通信制御方法において、
前記通信制御装置は、算出された差分が予め定められた所定しきい値より大きい場合は、前記時刻同期処理を、次回の周期まで抑制することを特徴とする通信制御方法。
【請求項１０】
請求項７に記載の通信制御方法において、
前記通信制御装置は、
前記時刻同期パケットの受信では、前記時刻同期パケットを含む複数の通信パケットを受信し、
前記複数の通信パケットそれぞれの受信間隔が、フレーム間ギャップに基づくしきい値と実質的に等しい場合、前記時刻同期処理を抑制することを特徴とする通信制御方法。
【請求項１１】
請求項７に記載の通信制御方法において、
前記通信制御装置は、
前記差分が予め定められた所定しきい値より大きい場合、遅延時間がより小さな経路に対して他方よりも前記差分に応じた通信量を増加させることを特徴とする通信制御方法。
【請求項１２】
請求項７に記載の通信制御方法において、
前記通信制御装置は、
前記時刻同期処理における目標同期精度に基づいて、前記所定しきい値を決定することを特徴とする通信制御方法。
【請求項１３】
ネットワークを介して送受信する時刻同期パケットを用いて、前記ネットワークを介して接続される通信装置との時刻同期のための処理を実行する通信制御装置において、
前記通信装置へ、前記時刻同期パケットを送信する手段と、
前記通信装置から、前記時刻同期パケットを受信する手段と、
前記時刻同期パケットに記録されたタイムスタンプを用いて、前記時刻同期パケットの当該通信制御装置および前記通信装置における送受信時刻を算出する手段と、
算出された送受信時刻を用いて、当該通信制御装置と前記通信装置の間の通信経過時間である遅延時間を、往路および復路それぞれに対して算出する手段と、
算出された前記往路の遅延時間と前記復路の遅延時間の差分を算出し、算出された前記差分の値に応じて、当該通信制御装置における前記ネットワークでの通信に関わる処理を実行する手段を有することを特徴とする通信制御装置。
【請求項１４】
請求項１３に記載の通信制御装置において、
前記通信に関わる処理を実行する手段は、前記差分が予め定められた所定しきい値より大きい場合、遅延時間がより大きな経路の通信量を抑止することを特徴とする通信制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにおける通信に係る情報処理装置及び情報処理ハードウェア、情報処理ソフトウェアに関する。その中でも特に、時刻同期を含むネットワークの通信制御を行う技術に関する。
【背景技術】
【０００２】
ネットワークの通信を利用する技術の一例として、例えば、分散されて構成される制御システムが存在する。本制御システムにおいては、時刻同期、通信量の管理など通信制御を行う必要がある。例えば、実現するアプリケーションに応じて、接続端末間の時刻を同期することが求められる場合がある。ネットワークで接続された分散制御システムの場合は、ネットワークを介した時刻同期パケットの送受信によって、時刻を同期することができる。
【０００３】
例えば、音声や映像等の信号を遠隔地へ伝送する場合、アナログ信号をデジタル化することが一般的である。その場合、共通の周波数を用いて、信号の符号処理と遠隔地での復号処理を実行する方式がある。このような方式では、送信側で使用する周波数と受信側で使用する周波数が同じで安定している必要がある。そのために、周波数同期、時刻同期が必要である。
【０００４】
また、無線通信の基地局においては、ルータ等の基地局間、基地局と携帯機器間で周波数が安定していれば、スムーズにハンドオーバーを実行することができる。そのために、基地局間の同期が求められる。
【０００５】
この他にも、時刻同期の応用としては、計測、測定の分野や、産業用製造装置、電力系統の保護制御装置、ＩＥＤ（Ｉｎｔｅｌｌｉｇｅｎｔ  ｅｌｅｃｔｒｏｎｉｃ  ｄｅｖｉｃｅ）等の分野 が挙げられる。
【０００６】
ネットワークを用いた時刻同期方式として、ＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）、ＳＮＴＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）、ＩＥＥＥ１５８８等が挙げられる。
【０００７】
図１４を用いて、ＩＥＥＥ１５８８の時刻同期プロトコルの実行手順を説明する。図１５に、ＩＥＥＥ１５８８におけるメッセージのやりとりである通信シーケンス図を示す。
ＩＥＥＥ１５８８は、マスタ−スレーブ構成をとる。
はじめにマスタは、スレーブにSyncメッセージを送信する（Ｓ０６０）。
このとき、マスタはSyncメッセージの送信時刻t1を記録する（Ｓ０６１）。
スレーブは、Syncメッセージを受信すると、その受信時刻t2を記録する（Ｓ０６２）。
マスタは次のいずれかの手段でt1をスレーブに通知する（Ｓ０６３）。
ひとつは、Syncメッセージにt1の情報をのせる方法である。
残る手段は、Syncメッセージに続くFollow_Upメッセージにt1の情報をのせる方法である。
続いて、スレーブは、マスタにDelay_Reqメッセージを送信する（Ｓ０６４）。
このとき、スレーブはDelay_Reqメッセージの送信時刻t3を記録する（Ｓ０６５）。
マスタは、Delay_Reqメッセージを受信すると、その受信時刻t4を記録する（Ｓ０６６）。
そして、マスタはDelay_Respメッセージにt4の情報をのせ、t4をスレーブに通知する（Ｓ０６７）。
Delay_Respメッセージを受信したスレーブは、t1, t2, t3, t4から、マスタ、スレーブ間の通信遅延、時刻の差分を計算する（Ｓ０６８）。
通信遅延の計算には、マスタ、スレーブ間の通信遅延が往復路で等しいという前提がある。 したがって、片道の通信遅延tdの計算は、次式で表わされる。
td=((t4-t3)+(t2-t1))/2  （数１）
また、マスタとスレーブの時刻の差分ｔｄｉｆｆは次式で表わされる。
ｔｄｉｆｆ = { （ｔ１＋ｔ４）− ( ｔ２＋ｔ３）｝／２ （数２）
このｔｄｉｆｆをもって、スレーブはマスタに時刻を同期する。つまり、スレーブとマスタの送受信時刻の平均の差を、当該スレーブの遅延時間として時刻同期処理を行う。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−７４６００
【非特許文献】
【０００９】
【非特許文献１】IEEE 1588-2008 「IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems」
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、ネットワークスイッチ等の中継装置を用いてネットワークを構成する場合に、ネットワークの管理運用が困難にあるとの課題がある。例えば、同期精度が低下するという課題がある。ＩＥＥＥ１５８８では、時刻同期パケットの往復の遅延が等しいか、あるいは往復の遅延に時間差がある場合でも、その時間差が既知であるという前提に基づいている。
【００１１】
複数の接続端末間でネットワークを共有する場合、ネットワークスイッチ等のネットワーク中継装置内で時刻同期パケットがキューイングされ、往復の遅延差にゆらぎが生じるという課題がある。
【００１２】
非特許文献１は、ｅｎｄ−ｔｏ−ｅｎｄ  ＴＣ（Ｔｒａｎｓｐａｒｅｎｔ  Ｃｌｏｃｋ）、ｐｅｅｒ−ｔｏ−ｐｅｅｒ  ＴＣ（Ｔｒａｎｓｐａｒｅｎｔ  Ｃｌｏｃｋ）という仕組みを用いて、ネットワークデバイス内でのパケットの転送遅延を計測することができる。この計測した転送遅延をパケット内のデータに反映することで、往復の通信遅延の差を算出することができる。
【００１３】
しかしながら、ｅｎｄ−ｔｏ−ｅｎｄ  ＴＣ、ｐｅｅｒ−ｔｏ−ｐｅｅｒ  ＴＣは高精度のタイムスタンプを取得して、時刻同期パケットの情報を更新する専用の機能が必要であるという課題がある。
【００１４】
また、既存の通信インフラがすでに存在し、新規導入コスト、工事期間、稼働中の通信システムの停止が困難等の理由で、ｅｎｄ−ｔｏ−ｅｎｄ  ＴＣ、ｐｅｅｒ−ｔｏ−ｐｅｅｒ  ＴＣといった時刻同期対応の中継装置を導入することが困難な場合がある。
【００１５】
また、特許文献１は、複数の遅延推定用パケットを所定の送信間隔で送信し、それらを受信した間隔と、所定の送信間隔と比較することで、ネットワークデバイス中のキューイング遅延を推定する。
【００１６】
しかしながら、この方法は、時刻同期プロトコルを実行するマスタとスレーブの両方で対応する必要がある。したがって、標準規格に準拠した接続端末で構成することが困難となる。また、遅延推定用パケットによる通信帯域の消費により、有効通信帯域が低下するという課題がある。
【００１７】
また、電力網における異常検出を含む監視を実施するために、電力データのマッチングのために時刻同期が求められる。
【００１８】
さらに、ネットワークの管理運用が困難との課題においては、ネットワークの通信量の適切な管理も必要となってくる。例えば、ネットワーク中継装置でのキューイングの遅延に応じて、通信量が増加した場合、監視データが適切なタイミングで送受信できないとの課題も存在する。
【課題を解決するための手段】
【００１９】
本発明は、上記課題を解決するために、時刻パケットの往路と復路の遅延を算出し、これら遅延が実質的に等しいかを判断し、判断結果に応じた通信制御を行う。通信制御には、該時刻パケットの時刻を用いた時刻同期プロトコルの実施や、通信量の制御が含まれる。また、実質的に等しいとは、予め定められた差の範囲内であることを含む。なお、時刻同期プロトコルの実行には、結果として時刻が完全に一致しないことも含まれ、同期のための処理である時刻同期プロトコルを実行すればよい。
【００２０】
なお、本発明の特徴の１つとして、通信制御を周期的に実施することも含まれる。
【発明の効果】
【００２１】
ネットワーク中継装置を用いたネットワーク構成を用いた場合でも、適切な通信制御が可能になる。この通信制御には、上述のとおり、情報処理装置間の時刻を同期するための処理や通信量の制御が含まれる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態を用いたシステム構成図である。
【図２】本発明の一実施形態でのハードウェア構成図である。
【図３】本発明の一実施形態での機能構成図である。
【図４】本発明の一実施形態における時刻同期制御部１３０の動作手順を示す図である。
【図５】本発明の一実施形態における基準遅延記憶部１３２の基準遅延の更新手順を示す図である。
【図６】本発明の一実施形態における往路での遅延の算出手順（その１）を示す図である。
【図７】本発明の一実施形態における復路での遅延の算出手順（その１）を示す図である。
【図８】本発明の一実施形態における往路での遅延の算出手順（その２）を示す図である。
【図９】本発明の一実施形態における復路での遅延の算出手順（その２）を示す図である。
【図１０】本発明の一実施形態を用いた同期パケットの通信シーケンス図である。
【図１１】本発明の一実施形態における最小遅延の精度を向上するための実行手順を示す図である。
【図１２】本発明の一実施形態における効果を示す図である。
【図１３】本発明の一実施形態における受信間隔を用いた最小遅延精度を向上するための実行手順を示した図である。
【図１４】ＩＥＥＥ１５８８における時刻同期プロトコルの手順を示す図である。
【図１５】ＩＥＥＥ１５８８における同期パケット通信シーケンス図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態として、ネットワーク中継装置を介して通信装置と接続された通信制御装置に関する実施例１〜３を以下説明する。
【実施例１】
【００２４】
（システム例）
図１は、本実施例を適用した通信制御装置１２０を用いて構成するシステム例である。通信制御装置１２０、ネットワーク１２２を介して、他のネットワーク中継装置１２１、または通信装置１２３と接続し、通信する。
【００２５】
本実施例のネットワーク中継装置１２１として、Ｌ３スイッチを含むネットワークスイッチ、ブリッジ、ルータ、ＩＥＥＥ １５８８のＴＣ（Ｔｒａｎｓｐａｒｅｎｔ  Ｃｌｏｃｋ）、ＢＣ（Ｂｏｕｎｄａｒｙ  Ｃｌｏｃｋ）、Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋにおけるパケット・経路制御を書き換え可能なスイッチＬ２スイッチ、ＯｐｅｎＦｌｏｗスイッチ、ＩＥＣ  ６２４３９−３で定義されるＲｅｄＢｏｘ、ＱｕａｄＢｏｘ、光スイッチ、光合波器、光分派器等の各種ネットワーク中継装置等が挙げられる。
【００２６】
また、本実施例のネットワーク１２２には、ＩＥＥＥ  ８０２．３（Ｅｔｈｅｒｎｅｔ）、ＩＥＣ６１７８４、ＩＥＣ６１７８４−２のＣｏｍｍｕｎｉｃａｔｉｏｎ  Ｐｒｏｆｉｌｅ  Ｆａｍｉｌｙ  １２（以下、ＥｔｈｅｒＣＡＴ（登録商標）とする）、ＩＥＣ６１１５８で定義される制御用ネットワークを含む各種産業用ネットワーク、ＴＳＮ（Ｔｉｍｅ  Ｓｅｎｓｉｔｉｖｅ  Ｎｅｔｗｏｒｋ）と関連するＩＥＥＥ通信規格群、ＤＮＰ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｎｅｔｗｏｒｋ  Ｐｒｏｔｏｃｏｌ）３、ＩＥＣ  ６１９７０、ＩＥＣ６２４３９−３におけるＨＳＲ（Ｈｉｇｈ  ａｖａｉｌａｂｉｌｉｔｙ  Ｓｅａｍｌｅｓｓ  Ｒｉｎｇ）及びＰＲＰ（Ｐａｒａｌｌｅｌ  Ｒｅｄｕｎｄａｎｃｙ  Ｐｒｏｔｏｃｏｌ）、リングネットワーク、ＩＥＥＥ８０２．１７のＲＰＲ方式、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：登録商標)、ＤｅｖｉｃｅＮｅｔ、ＲＳ−２３２Ｃ、ＲＳ−４２２、ＲＳ−４８５、ＺｉｇＢｅｅ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＩＥＥＥ  ８０２．１５、ＩＥＥＥ  ８０２．１、モバイル通信、ＯｐｅｎＡＤＲ、ＥＣＨＯＮＥＴ  Ｌｉｔｅ（登録商標）、ＯｐｅｎＦｌｏｗ（登録商標）等が含まれる。
【００２７】
以下、通信制御装置１２０をＩＥＥＥ１５８８におけるスレーブ（マスタの時刻に対応する時刻同期処理を実行する）、通信装置１２３をマスタとして説明する。なお、通信制御装置１２０と通信装置１２３は互いに通信を行うものであればよい。また、以下で説明する通信制御装置１２０の処理を、通信装置１２３で実行してもよいし、通信制御装置１２０と通信装置１２３をそれぞれ通信装置ないし通信制御装置と呼びならわす態様も本実施例に含まれる。
（ハードウェア構成）
図２は、本実施例を適用した通信制御装置１２０のハードウェア構成である。
ＣＰＵ１０１は、不揮発性記憶媒体１０９からプログラムをメモリ１０８に転送して実行する。本実施例の実行処理プログラムとしては、オペレーティングシステム（以下、ＯＳと称す）やＯＳ上で動作するアプリケーションプログラムが例示される。
【００２８】
ＬＡＮ１０２には、ネットワーク１２２との通信機能を実装した送受信機ＩＣである。ＬＡＮ１０２は、ＣＰＵ１０１上で動作するプログラムから通信要求を受け取り、ネットワーク１２２に対して通信する。ＬＡＮ１０２の実装例としては、ＩＥＥＥ８０２．３規格のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）チップ、ＰＨＹ（物理層）チップ、ＭＡＣとＰＨＹの複合チップ、ＦＰＧＡ、ＣＰＬＤ、ＡＳＩＣ、ゲートアレイ等のＩＣが例示される。なお、ＬＡＮ１０２は、ＣＰＵ１０１や、コンピュータ内部の情報経路を制御するチップセットに含まれていてもよい。
【００２９】
なお、ＬＡＮ１０２はＩＥＥＥ１５８８等に定める計時機能を有してもよい。これは所定の時刻同期パケットを送信または受信する際のタイムスタンプを計時する機能である。計時したタイムスタンプをパケットに格納する機能を含めてもよい。 
メモリ１０８は、ＣＰＵ１０１が動作するための一時的な記憶領域であり、不揮発性記憶媒体１０９から転送したＯＳ、アプリケーションプログラム等が格納される。
【００３０】
不揮発性記憶媒体１０９は、情報の記憶媒体で、ＯＳ、アプリケーション、デバイスドライバ等や、ＣＰＵ１０１を動作させるためのプログラムの保存、プログラムの実行結果の保存に利用される。本実施例の不揮発性記憶媒体１０９として、ハードディスクドライブ（ＨＤＤ）やソリッドステートドライブ（ＳＳＤ）、フラッシュメモリが例示される。また、本実施例の不揮発性記憶媒体１０９として、取り外しがより容易な外部記憶媒体が含まれる。これには、フロッピーディスク （ＦＤ）、ＣＤ、ＤＶＤ、ブルーレイ（登録商標）、ＵＳＢメモリ、コンパクトフラッシュ（登録商標）等 の利用が例示される。
【００３１】
本実施例のバス１１０には、ＣＰＵ１０１、ＬＡＮ１０２、メモリ１０８、不揮発性記憶媒体１０９をそれぞれ接続する。バス１１０としては、ＰＣＩバス、ＩＳＡバス、ＰＣＩ  Ｅｘｐｒｅｓｓバス、システムバス、メモリバス等 が例示される。
（各機能部の説明）
図３に、本実施例を適用した通信制御装置１２０の機能構成図を示す。  時刻同期制御部１３０は、時刻同期処理を実行する機能部である。時刻同期処理に含まれる時刻同期プロトコルとしては、ＩＥＥＥ １５８８やＮＴＰ、ＳＮＴＰ が挙げられる。時刻同期制御部１３０では、時刻同期部１３１の同期時刻の推定方法、推定式を更新するか否かを決定する。このために、タイムスタンプ部１３３で計測した時刻と基準遅延記憶部１３２で保持する基準遅延と、時刻同期部１３１から通知される推定同期時刻または同期時刻を算出するために必要なパラメータとを用いる。
【００３２】
時刻同期制御部１３０は、ＣＰＵ１０１またはＣＰＵ１０１上で動作するアプリケーションで実現してもよいし、ＬＡＮ１０２をＦＰＧＡやＣＰＬＤで構成した場合のハードウェア論理として実現してもよい。あるいは、ＣＰＵ１０１上のソフトウェアと、ＬＡＮ１０２の両方で構成してもよい。この場合は、パケットの送信タイミング、受信タイミングの計測機能、あるいはパケットフォーマットの生成をＬＡＮ１０２で処理することが例示される。
【００３３】
時刻同期部１３１は、時刻同期制御部１３０が実行するネットワーク時刻同期プロトコルで得られた情報に基づいてパラメータを設定され、マスタに同期した時刻を管理する。
時刻同期部１３１は、ＣＰＵ１０１またはＣＰＵ１０１上で動作するアプリケーションで実現してもよいし、ＬＡＮ１０２に含まれるハードウェア論理として実現してもよい。
【００３４】
基準遅延記憶部１３２は、時刻同期制御部１３０で時刻の同期制御を実行するかどうかを判定するために用いる基準遅延を保持する。この基準遅延は、タイムスタンプ部１３３が計測したタイムスタンプや、時刻同期パケット上のタイムスタンプを取得して、動的に算出してもよいし、予めネットワークの構成情報から計算して入力してもよい。
基準遅延記憶部１３２は、メモリ１０８、不揮発性記憶媒体１０９を用いることが例示される。
【００３５】
タイムスタンプ部１３３は、時刻同期用のパケットに対して、タイムスタンプ部１３３を通過した際、または通信部１３４、時刻同期部１３１にて送受信されたタイミングを計時する。加えて、計時したタイムスタンプを時刻同期用パケットに格納する。
【００３６】
タイムスタンプ部１３３は、ＣＰＵ１０１またはＣＰＵ１０１上で動作するアプリケーションで実現してもよいし、ＬＡＮ１０２に含まれるハードウェア論理として実現してもよい。
【００３７】
通信部１３４は、通信プロトコルにおける所定のパケットの送受信機能である。この通信部１３４は、往路、復路の遅延時間の差に応じて、通信量を制御する機能も有する。
（動作手順）
次に、時刻同期制御部１３０の動作手順を図４に示す。
はじめに、時刻同期部１３１を制御して、時刻同期処理を実行するタイミングか判定する（Ｓ０２０）。これは、タイマーで予め定められた時刻を検知したときでも、図１４のＳ０６２、図１５のＳｙｎｃメッセージの受信後でもよいし、図１４のＳ０６８、図１５のＤｅｌａｙ＿Ｒｅｓｐメッセージの受信後でもよい。また、数１，２に示すように、往路と復路のタイムスタンプや遅延を用いる場合は、これらのパラメータを取得済みであることや、パラメータを算出済みである場合に、判定タイミングであると判定してもよい。
【００３８】
次に、時刻同期部１３１を制御するかを判定する（Ｓ０２１）。判定方法の詳細は、後述する。Ｓ０２１で、時刻同期処理を実行すると判定した場合（Ｓ０２１のＹ）、時刻同期制御部１３０は、時刻同期部１３１を制御することで、時刻同期処理を実行する（Ｓ０２２）。この時刻同期処理は、往路の遅延算出（図６、８）、復路の遅延算出（図７、９）、往路と復路の遅延の差分算出に基づく時刻同期プロトコルの実行（図１４、１５、数２）で構成される。このことには、時刻同期部１３１の有する同期時刻の推定式のパラメータを更新することが含まれる。また、内部でソフトウェアタイマやハードウェアタイマで実現する同期時刻そのものを変更することや、非連続の時間変化を避けるために所定期間時刻の進み方を調整することも含まれる。なお、この時刻同期処理には結果として処理後に時刻が完全に同期（一致）しないことも含まれ、実質的に同期されればよい。このことは、本処理が同期のための処理を含むことを許容する。また、本Ｓ０２２は周期的に行うものであり、その期間が定期的なものを含む。
【００３９】
Ｓ０２１で時刻同期を制御しない、つまり、時刻同期処理を実行しないと判定すれば（Ｓ０２１のＮ）、そのまま終了する。
（時刻同期の制御判定：最小遅延）
Ｓ０２１において、時刻同期部１３１を制御するかどうかの判定方法として、マスタ、スレーブ間の遅延を算出し、これが最小値の場合に時刻同期部１３１を制御すると判定する方法が例示される。これは最小遅延であれば、通信経路上で時刻同期パケットがネットワーク中継装置１２１上でキューイングによる遅延を生じていないと判定する考え方に基づく。
（基準遅延の更新：最小遅延）
時刻同期処理Ｓ０２２の一部をなす最小遅延による基準遅延記憶部１３２の基準遅延の更新を、図５に示す。
はじめに、遅延を算出するタイミングかどうかを判定する（Ｓ０３０）。これは図１４のＳ０６８、図１５に示すＤｅｌａｙ＿Ｒｅｓｐメッセージ受信のタイミングや、図１４のＳ０６２、図１５のＳｙｎｃメッセージ受信のタイミングが例示される。また、遅延算出に必要なパラメータが揃っている必要がある。
【００４０】
次に、数１の手順にて遅延を算出する（Ｓ０３１）。次に基準遅延記憶部１３２にて基準遅延を保持しているかを判定する（Ｓ０３２）。保持していれば（Ｓ０３２のＹ）、Ｓ０３１で算出した遅延が、基準遅延記憶部１３２で保持する遅延よりも小さいかを判定する（Ｓ０３３）。小さければ（Ｓ０３３のＹ）、Ｓ０３１にて算出した遅延を基準遅延とする（Ｓ０３４）。
【００４１】
Ｓ０３３にて、Ｓ０３１で算出した遅延が、基準遅延記憶部１３２で保持する遅延よりも小さくなければ（Ｓ０３３のＮ）、そのまま終了する。
Ｓ０３２にて、基準遅延を保持していなければ（Ｓ０３２のＮ）、Ｓ０３１にて算出した遅延を基準遅延とする（Ｓ０３４）。
【００４２】
図５の基準遅延の更新（Ｓ０３４）をもって、図４のＳ０２１（時刻同期部１３１を制御するステップ）において時刻同期を制御することが例示される。
（時刻同期部１３１の制御判定：往路、復路の遅延）
あるいは、時刻同期制御部１３０が時刻同期部１３１を制御するかどうかの判定において、往路と復路の推定遅延が実質的に等しい場合に時刻同期を制御してもよい。これは言い換えると、ネットワーク１２２上のネットワーク中継装置１２１によるキューイング遅延が往路と復路で等しい場合に時刻同期を制御することを意味する。この方法による時刻同期制御部１３０の判定手順、つまり、往路および復路における遅延の算出手順を図６、７に示す。これらは、時刻同期処理Ｓ０２２の一部をなすものである。
【００４３】
往路の遅延を算出する手順を、図６に示す。
【００４４】
はじめに、Ｓｙｎｃメッセージの受信を待機する（Ｓ００１）。次にＳｙｎｃメッセージの受信時刻を記録する（Ｓ００２）。次に、マスタにおけるＳｙｎｃメッセージの送信時刻を推定する（Ｓ００３）。そして、Ｓｙｎｃメッセージに格納されたタイムスタンプと、Ｓ００３で推定したＳｙｎｃメッセージの送信時刻の差分を求め、往路のネットワーク上で発生した遅延を算出する。
【００４５】
Ｓ００３におけるＳｙｎｃメッセージの送信時刻の推定は、時刻同期部１３１における同期時刻の算出と基準遅延記憶部１３２で保持する基準遅延に基づいて算出することが例示される。
【００４６】
例えば、時刻同期部１３１での同期時刻Ｔｓｙｓを次式で算出しているとする。
【００４７】
Ｔｓｙｓ  ＝  ａ  ×  ＴＬ  ＋  ｂ  （数３）
ここで、ＴＬはスレーブ自身の時刻であるローカル時刻、ａ、ｂは係数である。図１４、１５の手順にて、ａ，ｂは算出されているとする。
【００４８】
この時、マスタにおけるＳｙｎｃメッセージの送信時刻ＴＭ＿Ｓｙｎｃは、数３と最小遅延ｄｍｉｎを用いて次式で推定する。
【００４９】
ＴＭ＿Ｓｙｎｃ  ＝  Ｔｓｙｓ＿ｓ＿Ｓｙｎｃ  −  ｄｍｉｎ
＝  ａ  ×  ＴＬ＿ｓ＿Ｓｙｎｃ  ＋  ｂ  −  ｄｍｉｎ  （数４）
ここで、Ｔｓｙｓ＿ｓ＿Ｓｙｎｃは、スレーブでのＳｙｎｃメッセージの受信時刻を同期時刻で表わした時刻であり、ＴＬ＿ｓ＿Ｓｙｎｃは、スレーブでのＳｙｎｃメッセージの受信時刻をローカル時刻で表わした時刻である。
【００５０】
復路での遅延の算出手順（その１）を、図７に示す。
図７において、はじめにＤｅｌａｙ＿Ｒｅｑメッセージを送信するタイミングを待機する（Ｓ０１０）。これはＳｙｎｃメッセージを受信して所定の時間経過後に実行することが例示される。
【００５１】
次に、Ｄｅｌａｙ＿Ｒｅｑメッセージを送信する（Ｓ０１１）。その際、Ｄｅｌａｙ＿Ｒｅｑメッセージの送信時刻を記録する（Ｓ０１２）。その後、Ｄｅｌａｙ＿Ｒｅｓｐメッセージの受信を待機する（Ｓ０１３）。Ｄｅｌａｙ＿Ｒｅｓｐメッセージを受信すれば（Ｓ０１３のＹ）、マスタにおけるＤｅｌａｙ＿Ｒｅｑの受信時刻を推定して記録する（Ｓ０１４）。その後、Ｄｅｌａｙ＿Ｒｅｓｐメッセージで通知されたタイムスタンプから、Ｓ０１４で推定したマスタのＤｅｌａｙ＿Ｒｅｑの受信時刻を引き、その差分を算出する（Ｓ０１５）。
【００５２】
Ｓ０１４におけるＤｅｌａｙ＿Ｒｅｑメッセージの受信時刻の推定は、時刻同期部１３１における同期時刻と基準遅延記憶部１３２で記憶される基準遅延に基づいて算出することが例示される。
【００５３】
マスタにおけるＤｅｌａｙ＿Ｒｅｑメッセージの受信時刻ＴＭ＿Ｄｒｅｑは、数３と最小遅延ｄｍｉｎを用いて次式で推定する。
【００５４】
ＴＭ＿Ｄｒｅｑ  ＝  Ｔｓｙｓ＿ｓ＿Ｄｒｅｑ  ＋  ｄｍｉｎ
＝  ａ  ×  ＴＬ＿ｓ＿Ｄｒｅｑ  ＋  ｂ  ＋  ｄｍｉｎ  （数５）
ここで、Ｔｓｙｓ＿ｓ＿ＤｒｅｑはスレーブでのＤｅｌａｙ＿Ｒｅｑメッセージの送信時刻を同期時刻で表わした時刻であり、ＴＬ＿ｓ＿ＤｒｅｑはスレーブでのＤｅｌａｙ＿Ｒｅｑメッセージの送信時刻をローカル時刻で表わした時刻である。
（往路と復路が等しい場合のまとめ）
以上の図６、７の手順によって、往路でのネットワーク上で生じた遅延と、往路での遅延が実質的に等しければ、この間に取得したタイムスタンプを用いて、図１４、１５、数２の手順にて時刻同期プロトコルを実行する。
【００５５】
図６、７の手順は、ネットワーク上の発生遅延を算出して判定したが、単にマスタとスレーブ間の遅延を推定して比較してもよい。この遅延の算出手順を、図８、９に示す。
図８は、往路での遅延の算出を示すフローチャートである。
図６との違いは、Ｓ００３、Ｓ００４の代わりにスレーブのＳｙｎｃメッセージ受信時刻を同期時刻に変換する（Ｓ０４０）点である。また、Ｓｙｎｃメッセージ上のタイムスタンプ（マスタのＳｙｎｃメッセージの送信時刻）とＳ０４０のスレーブのＳｙｎｃメッセージの受信時刻の差分を計算することで往路の通信遅延を算出する（Ｓ０４１）点も違いである。
【００５６】
図９は復路での遅延の算出手順を示すフローチャートである。
図７との違いは、Ｓ０１２の後にＤｅｌａｙ＿Ｒｅｑメッセージの送信時刻を同期時刻に変換（Ｓ０５０）する点である。また、Ｓ０１４、Ｓ０１５の代わりに、Ｄｅｌａｙ＿Ｒｅｓｐメッセージによって、マスタのＤｅｌａｙ＿Ｒｅｑメッセージの受信時刻を取得し（Ｓ０５１）点も違いである。さらに、Ｓ０５０のＤｅｌａｙ＿Ｒｅｑメッセージの送信時刻との差分を計算して復路での通信遅延を算出する（Ｓ０５２）点も違いである。
【００５７】
この手順について、図１０における時刻同期パケットの通信シーケンス図を用いて、より具体的に説明する。
【００５８】
本例では、スレーブは一度時刻同期処理済みとして時刻オフセット−２０は取得済みであるとする。図６、７の手順の場合は、基準遅延となる最小遅延が５であることを取得済みとする。マスタとスレーブで取得したタイムスタンプから、マスタとスレーブ間の時刻オフセットを算出する過程を示す。
【００５９】
図１０の（１）にて、マスタがＳｙｎｃメッセージを送信する。このとき、マスタの送信時刻は、ｔｍ１＝１０とし、これをＳｙｎｃメッセージ上のタイムスタンプとして格納する。これがネットワーク上で遅延を生じ、図１０の（２）にてスレーブで受信される。この時のスレーブでのローカル時刻での受信時刻を４５とする（図６のＳ００２に相当）。これに時刻オフセット−２０を加算して同期時刻で求めるとｔｓ２＝２５となる。
あわせてＳｙｎｃメッセージ上のタイムスタンプの１０を取得する。
【００６０】
図６の手順ではマスタのＳｙｎｃメッセージの送信時刻を推定する。算出した同期時刻ｔｓｙｓ２＝２５から基準遅延の５を引き、マスタでのＳｙｎｃメッセージの送信時刻として、２０が算出される（図６のＳ００３に相当）。これとＳｙｎｃメッセージ上のタイムスタンプの１０との差分を求め、１０となる（図６のＳ００４に相当）。これが往路でのネットワーク上の遅延となる。
【００６１】
図８の手順では、スレーブの受信時刻（同期時刻）からマスタの送信時刻を引いて、２５−１０＝１５となる（図８のＳ０４１）。
【００６２】
次に、図１０の（３）にて、Ｄｅｌａｙ＿Ｒｅｑメッセージを送信する（図７のＳ０１１に相当）。この時の送信時刻がローカル時刻でｔｓ３＝１０５とする。これに時刻オフセット−２０を加算して同期時刻を求めると８５となる。その後、図１０の（４）にてマスタがＤｅｌａｙ＿Ｒｅｑを受信し、その時刻がｔｍ４＝１００とする。これを図１０の（５）にてＤｅｌａｙ＿Ｒｅｓｐメッセージで送信し、図１０の（６）にて、スレーブで受信される。
【００６３】
図７の手順ではスレーブでのＤｅｌａｙ＿Ｒｅｑメッセージの送信時刻８５(同期時刻)に基準遅延の５を加算し、マスタでのＤｅｌａｙ＿Ｒｅｑメッセージの受信時刻として９０が算出される。これをＤｅｌａｙ＿Ｒｅｓｐメッセージ上のタイムスタンプの１００との差分を求め、１０となる（図７のＳ０１５）。これが復路上でのネットワーク上の遅延となる。
図９の手順では、マスタの受信時刻からスレーブの送信時刻（同期時刻）を引いて、１００−８５＝１５となる（図９のＳ０５２）。
【００６４】
なお、図６、７、８、９の手順において、ＩＥＥＥ１５８８の２ステップ方式を採用し、マスタのＳｙｎｃメッセージの送信時刻をＦｏｌｌｏｗ＿Ｕｐメッセージから取得してもよい。
【００６５】
図６、７の手順では、いずれもネットワーク上の遅延が１０となり、図８、９の手順では復路と往路の遅延が１５となる。いずれも等しいため、図４のＳ０２１のＹにしたがって時刻同期プロトコルを実行する。具体的には、図１０のｔｍ１、ｔｓ２、ｔｓ３、ｔｍ４を用いて、時刻同期部１３１の時刻同期部１３１を制御することで実行される。
【００６６】
ｔｄｉｆｆ  ＝  ｛（ｔｍ１  ＋  ｔｍ４）―（ｔｓ２＋ｔｓ３）｝／２
＝  ｛（１０＋１００）−（４５＋１０５）｝／２
＝−２０
これにより、時刻オフセットが−２０と求まる。ここでは、往路と復路の評価値が等しい場合を示したが、実質的に等しい、もしくは両者の差分が所定のしきい値以内であれば時刻同期部１３１の時刻同期を制御してもよい。そのようなしきい値の決定方法として、目標同期精度誤差をもとに決定してもよい。一例として、往路と復路の遅延の差分は、実現可能な同期精度誤差の２倍に等しいことから、目標同期精度の２倍をしきい値としてもよい。あるいは通信制御装置１２０や通信装置１２３の時刻を制御する水晶振動子が本来有する物理的な精度のばらつきによる誤差が、ｔｍ１のＳｙｎｃ送信からｔｍ４のＤｅｌａｙ＿Ｒｅｑ受信までの時間だけずれる可能性がある。このため、ｔｍ４からｔｍ１を引いた時間に、水晶振動子の精度ばらつきによって生じる誤差の最悪値を、目標精度誤差から差し引いた値をしきい値としてもよい。
【００６７】
例えば、ｔｍ４−ｔｍ１が１ミリ秒で、水晶振動子の精度ばらつきがプラスマイナス５０ｐｐｍの場合、ばらつきは最大１００ｐｐｍとなるので、１ミリ秒  ×  １００ｐｐｍ  ＝  １００ナノ秒となる。
【００６８】
目標精度が５マイクロ秒であれば、しきい値を４．９マイクロ秒（５マイクロ秒―１００ナノ秒）とすることが例示される。
【００６９】
これらの目標精度は、対象となる制御システムの要件によって定まる。例えば、電力システムの保護制御装置では、保護制御装置が系統事故を検出して遮断器を制御するまでの制御動作を考慮した上で、保護制御装置間の同期精度が規定される。
【００７０】
なお、上記のしきい値は時間経過とともに変化させてもよい。通信制御装置１２０と通信装置１２３が同期してから、時間経過とともに同期誤差は累積する。そのため、同期後の時間経過に応じてしきい値を小さくし、計測した往路と復路の遅延がより近い場合に時刻同期プロトコルを実行することを例示する。このようにすれば、時間経過にともなう同期のずれに応じて、通信制御装置１２０と通信装置１２３の同期精度を維持することができる。
【００７１】
なお、しきい値の変化度合いは、通信制御装置１２０と通信装置１２３で用いられる水晶振動子などの計時デバイスの精度に基づいて決定することが例示される。
【００７２】
なお、１つの通信装置１２３内にドメインを多重化して通信制御装置１２０と通信する方法は、ネットワーク中継装置１２１の経路制御情報で構成（ドメインごとに経路を切り替える等）してもよい。また、通信装置１２３内でＩＥＥＥ１５８８パケット上のドメイン番号を識別してもよい。 
（最小遅延の推定、統計値）
基準遅延を最小遅延と、図５の手順で最小遅延を更新していく場合に、図５のＳ０３１で算出された遅延が真にネットワーク１２２での最小遅延であるかどうかはわからない。
なお、最小遅延であるかの判定の精度を向上する方法として所定の分布モデルに基づいて推定する方法を例示する。これを図１１に示す。
【００７３】
はじめに、遅延の算出タイミングであるかを判定する（Ｓ０７０）。これは図５のＳ０３０と同様の判定基準に加えて、所定の分布モデルを近似できる充分な計測数を取得したかどうかが例示される。次に統計分布のモデルを推定し、その推定された分布での最小値を計算する（Ｓ０７１）。分布モデルとしては、ガウス分布やベータ分布が例示される。なお、この算出は図５のＳ０３１に適用してもよい。それから基準遅延を更新する（Ｓ０７２）。なお、更新する基準は、図１１のＳ０７１で算出した遅延でもよいし、図５のＳ０３１で算出した値を用いてもよい。あるいは、いずれか小さい方の値を用いてもよい。
（最小遅延の推定、受信間隔）
次に、通信制御装置１２０におけるパケットの受信間隔に基づいて最小遅延であるかの判定の精度を向上する方法が例示される。これを図１３に示す。これは、通信仕様により、いわゆるパケット詰まりが生じた場合に受信間隔（送信間隔）に一定の間隔を開ける、との性質を利用するものである。
はじめに、図５の手順等によって基準遅延が更新されるまで待機する（Ｓ０９０）。基準遅延が更新されれば（Ｓ０９０のＹ）、次に時刻同期パケットと先行パケットの受信間隔が所定しきい値と等しいかどうかを判定する（Ｓ０９１）。ここでの時刻同期パケットは往路でのＳｙｎｃメッセージを示し、通信制御装置１２０で受信した際に、該Ｓｙｎｃメッセージに先行するパケット（ＩＥＥＥ１５８８のパケットに限定されない）との受信間隔を対象としている。復路においては、通信装置１２３でＤｅｌａｙ＿Ｒｅｑメッセージを受信した際に該Ｄｅｌａｙ＿Ｒｅｑメッセージに先行するパケット（ＩＥＥＥ１５８８のパケットに限定されない）との受信間隔を対象とする。図１３の判定は通信制御装置１２０で実行するため、復路でのＤｅｌａｙ＿Ｒｅｑメッセージと先行パケットの受信間隔を通信装置１２３で計測して通信制御装置１２０へ通知してもよい。また、次にＳ０９１における判定結果を通信装置１２３から通信制御装置１２０へ通知してもよい。
【００７４】
これらの受信間隔をフレーム間ギャップに基づく所定しきい値と比較する。ＩＥＥＥ８０２．３規格では、フレーム間ギャップは９６ｂｉｔ時間と定められている。これは１００Ｍｂｐｓで９６０ナノ秒に相当し、１Ｇｂｐｓで９６ナノ秒に相当する。受信間隔がフレーム間ギャップに基づくしきい値と等しいとき（Ｓ０９１のＹ）、終了し、受信間隔がフレーム間ギャップに基づくしきい値と等しくなければ（Ｓ０９１のＮ）、基準遅延の準備完了とする（Ｓ０９２）。これは、通信系路上のネットワーク中継装置１２１において、時刻同期パケットがキューイングによって遅延する場合には、先行するパケットとの送信間隔（つまり、通信制御装置１２０における受信間隔）がフレーム間ギャップとなるためである。このようなキューイングによる遅延が発生した場合は、算出される遅延は最小遅延ではないと考えられるため、基準遅延を準備完了とせず、処理を終了する。この場合、開始処理に戻る構成としてもよい。
【００７５】
なお、しきい値は受信間隔の計測箇所または通信用ＩＣの送信機能によって変化し得る。例えば、先行フレームの末尾から時刻同期パケットのプリアンブル受信後の時間を計測する場合は、フレーム間ギャップに加えてプリアンブルの処理時間が加算される。また、通信制御装置１２０で利用される通信用ＩＣが、９６ビット時間よりも短い時間でパケットを連送可能な場合は、その時間がしきい値となる。
【００７６】
図１３のＳ０９２での基準遅延の準備完了かどうかの結果は、図４のＳ０２１における時刻同期の制御に用いることができる。算出された基準遅延が最小値であっても、図１３の手順によって準備完了でないと考えられる場合は図４のＳ０２１において時刻同期を制御しないことが例示される。
【００７７】
図１３のＳ０９２において一度基準遅延が準備完了とされた場合でも、ネットワークの環境や通信制御装置１２０と通信装置１２３間の通信経路が変化した場合には基準遅延の準備状態を未完了にリセットすることが例示される。
これらの環境変化は、ネットワークの状態を取得するＳＮＴＰやルーティングプロトコルの利用、あるいは運用者による明示的な通知、指示、設定によって検知することが例示される。
（同期：最小遅延）
図６、７、８、９、１０に示す手順を用いて時刻同期処理を行うためには、往路と復路の遅延を計測できる必要があり、これは一度事前に時刻同期を行っていることを前提としている。
このような事前の時刻同期をするためこととして、図５に示す最小遅延を計測した際に時刻同期部１３１を制御することがある。
（同期：ＧＮＳＳ）
事前の時刻同期としては、あるいは、ＧＮＳＳ（Ｇｌｏｂａｌ  Ｎａｖｉｇａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ  Ｓｙｓｔｅｍ）を用いて 各通信制御装置１２０、通信装置１２３に対する時刻同期処理を行うことを、以下に例示する。
【００７８】
ＧＮＳＳの例としては、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）、準天頂衛星システム、Ｇａｌｉｌｅｏ等が挙げられる。
これらのＧＮＳＳが常に有効であれば、通信制御装置１２０、通信装置１２３を適宜同期できるが、衛星システムの異常や故障、あるいは通信制御装置１２０、通信装置１２３の周辺環境が変化し、一時的に上部が遮られる場合等に本実施例は有効である。
（静的ルーティング）
なお、本実施例は往路と復路の通信遅延に着目するため、往路と復路の通信経路が同じであることが望ましい。そのため、本実施例には、往路と復路の通信経路が実質的に同じとなるように、ネットワーク中継装置１２１のルーティングを設定することも含まれる。
（意図的な通信フロー）
本実施例では、ネットワーク中継装置１２１におけるキューイング遅延を考慮した上で、所定のしきい値の範囲内で往路と復路の遅延が等しい場合に、時刻同期プロトコルを実行する。したがって、往路と復路の遅延を計測し、一時的に一方の遅延が大きい場合に、他方の遅延を増大させるように通信フローを制御してもよい。
【００７９】
図１において、通信制御装置１２０ａと通信装置１２３に対する時刻同期処理を、以下の例で説明する。往路（通信制御装置１２０ａから通信装置１２３への通信方向）の遅延が大きく、復路（通信装置１２３から通信制御装置１２０ａへの通信方向）の遅延が相対的に小さい場合を例に説明する。このような場合に、復路の遅延が相対的に小さいことを通信制御装置１２０ａが検知し、通信制御装置１２０ｃや通信制御装置１２０ｄに通信フローの生成を要求することが例示される。これを受けて通信制御装置１２０ｃまたは通信制御装置１２０ｄにおいて通信制御装置１２０ａに対して通信を生成すれば、通信装置１２３から通信制御装置１２０ａに対する復路の遅延を増大させ得ることができる。このため、所定の範囲内で往路と復路の遅延が実質的に、等しくなる可能性が高まる。
【００８０】
この場合、通信制御装置１２０ａから通信制御装置１２０ｃ、通信制御装置１２０ｄへの要求の内容には、通信の増加を要求すること、宛先（この場合、通信制御装置１２０ａ）、生成する通信の度合い（往路と復路の遅延差に基づく）を含めることが例示される。例えば、予め設定される遅延差と増加量の関係を示すデータを用いて、検出された遅延差に応じた増加量分の通信量を増加させる。この場合、本来必要でないダミーデータを送信するようにしてもよい。
【００８１】
なお、増加量については、関係を示すデータをそのまま使うだけでなく、基準遅延、最小遅延を用いる場合、制限を設けてもよい。基準遅延や最小遅延を用いる場合に、通信量を増加すると遅延量が増加し、基準遅延や最小遅延を満たさなくなる、つまり、時刻同期処理を開始できなくなる可能性が高まる。そこで、通信量を増加させる場合、基準遅延や最小遅延の値を増加させたり、一定範囲内で通信量を増加させたりすることで、通信量の増加を抑止してもよい。
【００８２】
また、逆に通信量を減らすことで相対的に遅延差を減少させることも本実施例に含まれる。
【００８３】
このようにすれば、本実施例にもとづき、通信制御装置１２０ａと通信装置１２３について、時刻同期処理を行うことができる。
（効果：同期機会の増加）
本実施例による効果を、図１２を用いて説明する。
【００８４】
Ｓ０８０の線（破線）は、図５に示す最小値を計測した場合に、時刻同期処理を行った場合の同期誤差の時系列変化を示す。一方、Ｓ０８１の線（実線）は本実施例による手法で時刻同期処理を行った場合の同期誤差の時系列変化を示す。後者については、キューイング遅延を含めて往路と復路の遅延が所定の範囲内で等しい場合に時刻同期処理を行う方法である。
【００８５】
Ｓ０８０の場合では、対象のネットワーク１２２において、時刻同期パケットが他のパケットとキューイングせずに通信される場合に同期する方法であり、同期できる機会が限定的となる。一方、本実施例でのＳ０８１の方法では、最小遅延である場合に比べて、往路と復路の遅延が実質的に等しい場合にも時刻同期処理ができる。つまり、Ｓ０８０の場合に比較して同期機会を増やすことができる。したがって、同期誤差の最悪値をＳ０８０の場合よりも低くできることが期待される。
【００８６】
また、リングネットワークの一部に本実施例を適用することを、以下例示する。該リングネットワークとしては、ＨＳＲ（Ｈｉｇｈ  Ａｖａｉｌａｂｉｌｉｔｙ  Ｓｅａｍｌｅｓｓ  Ｒｅｄｕｎｄａｎｃｙ）を含むＩＥＣ  ６２４３９やＩＥＥＥ  ８０２．１７のＲＰＲ（Ｒｅｓｉｌｉｅｎｔ  Ｐａｃｋｅｔ  Ｒｉｎｇ）が例示される。
（効果）
本実施例を適用した通信制御装置１２０は、往路と復路の遅延が所定の範囲で等しい場合に時刻同期処理を実行する。これにより、ＩＥＥＥ１５８８等の専用のネットワーク中継装置１２１を用いずにマルチホップネットワーク上で時刻同期処理を実現できる。したがって、既存の通信インフラに新規投資をすることなく、低コストに時刻同期システムを実現できる。また、マルチホップネットワーク上に時刻同期を実現できるため、対象の制御システムの範囲を物理的に拡大できる。すなわち、ネットワーク中継装置を用いる既存の広域通信システムをそのまま用いて時刻同期のための処理が可能になる。
【実施例２】
【００８７】
実施例２は、ＩＥＥＥ １５８８規格で定義されるネットワーク中継装置１２１と、ＩＥＥＥ１５８８規格の機能に未対応のネットワーク中継装置１２１を混載してネットワークを構成した例である（Ｔｒａｎｓｐａｒｅｎｔ  Ｃｌｏｃｋとの混在）。なお、実施例に使用する符号は、特に断りのない限り、実施例１で説明した機能や要素等と同一であることを意味する。
【００８８】
ＩＥＥＥ １５８８規格で定義されるネットワーク中継装置１２１とは、Ｂｏｕｎｄａｒｙ  Ｃｌｏｃｋ（以下、ＢＣとする）、Ｔｒａｎｓｐａｒｅｎｔ  Ｃｌｏｃｋ（以下、ＴＣとする）を示す。なお、ＴＣは、Ｅｎｄ−ｔｏ−ｅｎｄ  ＴＣ（以下、Ｅ２Ｅ  ＴＣ）とＰｅｅｒ−ｔｏ−ｐｅｅｒ  ＴＣ（Ｐ２Ｐ  ＴＣ）を含む。
【００８９】
ＢＣは、各通信ポートがＩＥＥＥ１５８８におけるマスタまたはスレーブの機能となるネットワーク中継装置１２１である。各通信ポートがマスタの機能となるか、スレーブの機能となるかはＩＥＥＥ１５８８規格による。
【００９０】
各通信ポートがスレーブの機能となった際に、本実施例の機能を実行することが例示される。すなわち、マスタとの時刻同期パケットの通信において、ＩＥＥＥ１５８８規格未対応のネットワーク中継装置１２１におけるキューイング遅延を含めて、往路と復路の通信遅延が所定の範囲内で等しいときに時刻同期処理を実行する。
【００９１】
Ｅ２Ｅ  ＴＣは、各時刻同期パケットのＣｏｒｒｅｃｔｉｏｎ＿Ｆｉｅｌｄ（以下、ＣＦとする）と呼ばれるフィールドにＴＣ内での転送遅延を加算する。この時刻同期パケットを受け取った通信装置は、この通信情報を用いて、往復の遅延の差を求めることができる。Ｐ２Ｐ  ＴＣはＥ２Ｅ  ＴＣの機能に加えて、隣接するＰ２Ｐ  ＴＣとの経路遅延を計測し、時刻同期パケットのＣＦに加算する転送遅延に加えて、経路遅延を加算する。
【００９２】
本実施例の課題は、ネットワーク中継装置１２１上に生じる転送遅延であり、さらに往路と復路で転送遅延が異なり得ることに由来する。ＴＣは、上記の機能を有するため、該ＴＣ（ネットワーク中継装置１２１）における転送遅延が往路と復路で既知となる。そのため、その転送遅延を除外して往路と復路の遅延を比較することができる。
この遅延の比較を、図１に示す構成を用いて説明する。  例えば、ネットワーク中継装置１２１ｂがＥ２Ｅ  ＴＣとすると、ネットワーク中継装置１２１ｂにおける転送遅延を除外できる。通信制御装置１２０ａと通信装置１２３間で時刻同期処理をしているとき、ネットワーク中継装置１２１ｂは往路（通信装置１２３から通信制御装置１２０ａ）でのＳｙｎｃメッセージのＣＦに転送遅延ＣＦｓｙｎｃを加算する。復路（通信制御装置１２０ａから通信装置１２３）においてもＤｅｌａｙ＿ＲｅｑメッセージのＣＦに転送遅延ＣＦｄｒｅｑを加算する。
【００９３】
これらの時刻同期パケットを受信した通信制御装置１２０ａは、例えば図８のＳ０４１における往路での転送遅延の計算において、スレーブの受信時刻（同期時刻）からマスタの送信時刻を減算した後、さらにＣＦｓｙｎｃを減算する。そして、図９のＳ０５２における復路での転送遅延の計算において、マスタの受信時刻からスレーブの送信時刻（同期時刻）を減算した後、さらにＣＦｄｒｅｑを減算する。こうして求められた往路と復路の遅延は、ネットワーク中継装置１２１ｂを除外して算出することができ、あとは図４のＳ０２１において所定のしきい値の範囲で等しいかどうかを比較する。このようにすることで比較対象をＴＣ以外のネットワーク中継装置１２１に限定することができ、より正確に遅延を比較でき、高精度に時刻同期処理ができる。なお、ＩＥＥＥ１５８８においてＣＦは加算されて更新されるため、どのネットワーク中継装置１２１がＴＣであるかを考える必要はなく、往路または復路の算出遅延からＣＦの値を減算すればよい。
（効果）
本実施例により、ＴＣを用いることにより、部分的なＴＣの導入を可能にしながら、非ＩＥＥＥ１５８８対応のネットワーク中継装置１２１を用いて通信制御装置１２０と通信装置１２３に対して、時刻同期処理を実施できる。
【実施例３】
【００９４】
実施例３は、通信量の制御を行う実施例である。つまり、遅延差により、ネットワークの通信量がある方向(往路、復路)に偏っていることを是正するための処理である。なお、本実施例に使用する符号は、特に断りのない限り、実施例１、実施例２で説明した機能や要素等と同一であることを意味する。
【００９５】
実施例３の主要な処理は実施例１の図４の処理に対応するものであるため、図面は省略し、図４を流用して説明する。また、この処理は、時刻同期制御部１３０と通信部１３４により実行される。
【００９６】
はじめに、時刻同期制御部１３０が通信量を制御するタイミングを判定する(Ｓ１２０)。このＳ１２０は、実施例１のＳ０２０と同様の処理を行う。次に、時刻同期制御部１３０が通信量の制御を行うかの判定を行う(Ｓ１２１)。このＳ１２１で制御を行うかの判定基準は、実施例１のＳ０２１と同様の処理を行う。
【００９７】
次に、通信部１３４において、通信量の制御を行う(Ｓ１２２)。Ｓ１２２は実施例１に対応するものであるが、その内容は以下のとおりである。予め往路と復路の遅延の差分と、増加すべき通信量の対応関係を記憶しておき、算出された遅延の差分に対応する通信量分の通信パケット（ダミー）を通信する。ここで、往路の遅延が復路の遅延より少ない場合、通信制御装置１２０から通信パケット（ダミー）を送信し、逆に往路の遅延が復路の遅延より多い場合、通信制御装置１２０から通信装置１２３へ通信パケット(ダミー)を送信するための指示を送付する。また、本処理では、通信量がより少ない方向の通信パケット（ダミー）を通信すること、つまり通信量を増加させているが、通信量がより多い方向の通信量を減少させてもよい。例えば、後述するタイマーを利用した時間の進み方を調整することで、通信間隔を広げることで減少することが可能になる。
【００９８】
この処理には、通信量制御の推定式のパラメータを更新することや、内部でソフトウェアタイマやハードウェアタイマで実現する同期時刻そのものを変更することや、非連続の時間変化を避けるために所定期間時刻の進み方を調整することが含まれる。なお、本実施例は実施例１の意図的な通信フローと異なり、遅延差分とは無関係な通信量の減少とするものである。
本実施例によれば、ネットワーク全体として、通信量の偏りを是正可能になる。
【００９９】
なお、各実施例には、遅延そのものでなく、往路と復路の通信時間を算出し、この差が等しいかを判断する技術も含まれる。さらに、電力網における異常検出を含む監視への適用も可能となる。
【符号の説明】
【０１００】
1０１ … ＣＰＵ、１０２… ＬＡＮ、１０８ … メモリ、１０９ … 不揮発性記憶媒体、１１０ … バス、１２０… 通信制御装置、１２１ … ネットワーク中継装置、１２２ … ネットワーク、１２３ … 通信装置、１３０ … 時刻同期制御部、１３１… 時刻同期部、１３２ … 基準遅延記憶部、１３３ … タイムスタンプ部、１３４ … 通信部
【図１】
2020184710.tif 000003
【図２】
2020184710.tif 000004
【図３】
2020184710.tif 000005
【図４】
2020184710.tif 000006
【図５】
2020184710.tif 000007
【図６】
2020184710.tif 000008
【図７】
2020184710.tif 000009
【図８】
2020184710.tif 000010
【図９】
2020184710.tif 000011
【図１０】
2020184710.tif 000012
【図１１】
2020184710.tif 000013
【図１２】
2020184710.tif 000014
【図１３】
2020184710.tif 000015
【図１４】
2020184710.tif 000016
【図１５】
2020184710.tif 000017