(57)【要約】【課題】  標準的な装置でネットワークを構成しながらも、高精度の時刻同期を可能ならしめる。【解決手段】  ネットワーク内の複数の通信装置に対して、所定の時刻同期処理を実行する時刻同期処理部１３０と、複数の通信装置からの応答パケットの受信間隔を測定する受信間隔測定部１３４と、ネットワーク構成情報記憶部１５１の記憶するネットワーク構成情報を用いて受信間隔閾値を設定する受信間隔閾値決定部１３６と、受信間隔測定部１３４の測定結果と受信間隔閾値決定部１３６が設定した受信間隔閾値とを比較することにより、複数の通信装置のいずれかからの応答パケットの衝突発生の有無を判定するキューイング発生判定部１３５とを備え、時刻同期処理部１３０は、キューイング発生判定部１３５の検知結果に基づいて、所定の時刻同期処理を継続するか否かを判定する。【選択図】図３
2016042646.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク内の複数の通信装置に対して、所定の時刻同期処理を実行する時刻同期処理部を備える通信制御装置において、
前記複数の通信装置からの応答パケットの受信間隔を測定する受信間隔測定部と、
前記ネットワークの構成情報を記憶するネットワーク構成情報記憶部と、
前記ネットワーク構成情報記憶部の記憶する前記構成情報を用いて受信間隔閾値を設定する受信間隔閾値決定部と、
前記受信間隔測定部の測定結果と前記受信間隔閾値決定部が設定した前記受信間隔閾値とを比較することにより、前記複数の通信装置のいずれかからの応答パケットの衝突発生の有無を判定するキューイング発生判定部と、
を備え、
前記時刻同期処理部は、前記キューイング発生判定部の判定結果に基づいて、前記所定の時刻同期処理を継続するか否かを判定することを特徴とする通信制御装置。
【請求項２】
請求項１記載の通信制御装置において、
前記キューイング発生判定部は、前記受信間隔測定部が測定した受信間隔が前記受信間隔閾値より大である場合に、前記応答パケットの衝突が発生していないと判定することを特徴とする通信制御装置。
【請求項３】
請求項１記載の通信制御装置において、
前記キューイング発生判定部が前記応答パケットの衝突が発生していないと判定した場合に、前記時刻同期処理部は、前記所定の時刻同期処理を継続し、前記応答パケットの受信時刻情報を送信することを特徴とする通信制御装置。
【請求項４】
請求項１記載の通信制御装置において、
前記キューイング発生判定部が前記応答パケットの衝突が発生していると判定した場合に、前記時刻同期処理部は、前記所定の時刻同期処理を継続せずに再実行し、送信時刻情報を送信することを特徴とする通信制御装置。
【請求項５】
請求項４記載の通信制御装置において、
前記時刻同期処理部は、少なくとも、前記応答パケットの衝突が発生したと判定された通信装置を含む送信宛先に対して、前記送信時刻情報を送信することを特徴とする通信制御装置。
【請求項６】
請求項１記載の通信制御装置において、
前記受信間隔閾値決定部は、前記複数の通信装置と前記通信制御装置との間の経路におけるネットワーク中継装置の段数に基づいて、前記受信間隔閾値を設定することを特徴とする通信制御装置。
【請求項７】
請求項１記載の通信制御装置において、
前記時刻同期処理部は、前記応答パケットが所定時間内に受信されない場合に、送信時刻情報を送信することを特徴とする通信制御装置。
【請求項８】
請求項１記載の通信制御装置において、
前記キューイング発生判定部が判定した衝突回数に応じて、送信時刻情報を送信するまでの時間を変更することを特徴とする通信制御装置。
【請求項９】
請求項１記載の通信制御装置は、
前記複数の通信装置を所定の送信対象グループにわけるグループ構成部を有し、
前記時刻同期処理部は、前記グループ構成部が提示するグループに対して、時刻情報を送信することを特徴とする通信制御装置。
【請求項１０】
請求項１記載の通信制御装置において、
前記ネットワークへ所定のパケットを送信し、その応答から前記ネットワークの構成情報を推定し、前記ネットワーク構成情報記憶部へ推定した情報を記憶させるネットワーク構成情報推定部を備えることを特徴とする通信制御装置。
【請求項１１】
請求項１記載の通信制御装置において、
前記ネットワーク上に複数の時刻同期範囲を構成して時刻同期することを特長とする通信制御装置。
【請求項１２】
請求項１記載の通信制御装置は、
前記受信間隔閾値決定部が決定し得る前記受信間隔閾値の最大値が所定の値以下の場合か、あるいは他の通信制御装置の決定し得る前記受信間隔閾値の最大値より小さい場合に同期マスタになることを特徴とする通信制御装置。
【請求項１３】
請求項１記載の通信制御装置は、
前記複数の通信装置と前記通信制御装置との間の経路におけるネットワーク中継装置の段数と、前記複数の通信装置と前記ネットワーク内の他の通信制御装置との間の経路におけるネットワーク中継装置の段数との比較に基づいて、同期マスタに設定されることを特徴とする通信制御装置。
【請求項１４】
ネットワーク内においてパケットの伝送を中継するネットワーク中継装置であって、
第一のパケットを転送する際に、第二のパケットを同じ転送先に対して転送中の場合に、第一のパケット、第二のパケットのいずれかが同期パケットである場合に、第二のパケットを転送後に所定の送出間隔をおいて第一のパケットを転送することを特徴とするネットワーク中継装置。
【請求項１５】
送電線の異常時に送電線を保護する保護リレーシステムにおいて、
前記送電線の複数個所において電流を検出する複数の電流検出器と、
前記複数の電流検出器の出力信号に応じて前記送電線に流れる電流を計測し、計測した複数の電流の情報をネットワーク内へ送信する複数の通信装置と、
前記ネットワーク内において、前記複数の電流の情報の伝送を中継する複数のネットワーク中継装置と、
前記複数のネットワーク中継装置を介して前記複数の電流の情報を受信し、受信した前記複数の電流の情報に基づいて送電線の異常の有無を判定し、異常と判定した場合に、前記送電線に流れる電流を遮断するための遮断器を開放する指令信号を発信する通信制御装置と、
を備え、
前記通信制御装置が、請求項１に記載の通信制御装置であることを特徴とする保護リレーシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークを構成する通信制御装置およびネットワーク中継装置に関する。
【背景技術】
【０００２】
分散されて構成される制御システムにおいては、実現するアプリケーションに応じて、接続端末間の時刻を同期することが求められる場合がある。ネットワークで接続された分散制御システムの場合は、ネットワークを介した時刻同期パケットの送受信によって、時刻を同期することができる。
【０００３】
例えば、音声や映像等の信号を遠隔地へ伝送する場合、アナログ信号をデジタル化することが一般的である。その場合、共通の周波数を用いて、信号の符号処理と遠隔地での復号処理を実行する方式がある。このような方式では、送信側で使用する周波数と受信側で使用する周波数が同じで安定している必要がある。そのために、周波数同期、時刻同期が必要である。
【０００４】
また、無線通信の基地局においては、ルータ等の基地局間、基地局と携帯機器間で周波数が安定していれば、スムーズにハンドオーバーを実行することができる。そのために、基地局間の同期が求められる。
【０００５】
この他にも、時刻同期の応用としては、計測、測定の分野や、産業用製造装置、電力系統の保護制御装置、ＩＥＤ（Intelligent electronic device）等の分野が挙げられる。
【０００６】
ネットワークを用いた時刻同期方式として、ＮＴＰ（Network Time Protocol）、ＳＮＴＰ（Simple Network Time Protocol）、ＩＥＥＥ１５８８が挙げられる。
【０００７】
図１４にＩＥＥＥ１５８８の時刻同期プロトコルの実行手順を説明する。また、図１５にＩＥＥＥ１５８８におけるメッセージのやりとりを示す。
【０００８】
ＩＥＥＥ１５８８は、マスタ−スレーブ構成をとる。はじめにマスタは、スレーブに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は、式（１）で表わされる。
ｔｄ＝（（ｔ４−ｔ３）＋（ｔ２−ｔ１））／２      （１）
また、マスタとスレーブの時刻の差分ｔｄｉｆｆは式（２）で表わされる。
ｔｄｉｆｆ＝｛（ｔ４−ｔ３）−（ｔ２−ｔ１）｝／２      （２）
このｔｄｉｆｆに応じて、マスタとスレーブは時刻を同期する。
【００１３】
このように、通信機器間の時刻同期においては、同期パケットの往復の遅延が等しいという前提、あるいは往復の遅延に時間差がある場合でも、その時間差が既知であるという前提に基づいている。
【００１４】
しかしながら、ネットワークスイッチ等の中継装置を用いてネットワークを構成して、複数の接続端末間でネットワークを共有する場合、ネットワークスイッチ等の中継装置内で時刻同期パケットがキューイングされ、往復の遅延差にゆらぎが生じる。このため、同期精度が低下する。
【００１５】
これに対し、非特許文献１に記載の技術では、end-to-end TC(Transparent Clock)、peer-to-peer TC(Transparent Clock)という仕組みを用いて、ネットワークデバイス内でのパケットの転送遅延が計測される。計測された転送遅延をパケット内のデータに反映することで、往復の通信遅延の差が算出される。
【００１６】
また、特許文献１に記載の技術では、複数の遅延推定用パケットを所定の送信間隔で送信し、それらを受信した間隔と、所定の送信間隔とを比較することで、ネットワークデバイス中のキューイング遅延が推定される。
【先行技術文献】
【非特許文献】
【００１７】
【非特許文献１】IEEE 1588-2008 “IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems”
【特許文献】
【００１８】
【特許文献１】特開２０１０−７４６００号公報
【発明の概要】
【発明が解決しようとする課題】
【００１９】
しかしながら、非特許文献１に記載の技術におけるend-to-end TC、peer-to-peer TCは、高精度のタイムスタンプを取得して同期パケットの情報を更新する専用の機能が必要であるという問題がある。
【００２０】
また、特許文献１に記載の技術では、時刻同期プロトコルを実行するマスタとスレーブの両方で対応する必要がある。したがって、標準規格に準拠した接続端末や中継装置でネットワークを構成することが困難となるという問題がある。
【００２１】
そこで、本発明は、特段の専用機能を要することなく、標準的な装置で通信ネットワークを構成しながらも、高精度の時刻同期を可能ならしめる通信制御装置およびネットワーク中継装置を提供する。
【課題を解決するための手段】
【００２２】
上記課題を解決するために、本発明による通信制御装置は、ネットワーク内の複数の通信装置に対して、所定の時刻同期処理を実行する時刻同期処理部を備えるものであって、複数の通信装置からの応答パケットの受信間隔を測定する受信間隔測定部と、ネットワークの構成情報を記憶するネットワーク構成情報記憶部と、ネットワーク構成情報記憶部の記憶する構成情報を用いて受信間隔閾値を設定する受信間隔閾値決定部と、受信間隔測定部の測定結果と受信間隔閾値決定部が設定した受信間隔閾値とを比較することにより、複数の通信装置のいずれかからの応答パケットの衝突発生の有無を判定するキューイング発生判定部と、を備え、時刻同期処理部は、キューイング発生判定部の検知結果に基づいて、所定の時刻同期処理を継続するか否かを判定する。
【００２３】
また、上記課題を解決するために、本発明によるネットワーク中継装置は、ネットワーク内においてパケットの伝送を中継するものであって、第一のパケットを転送する際に、第二のパケットを同じ転送先に対して転送中の場合に、第一のパケット、第二のパケットのいずれかが同期パケットである場合に、第二のパケットを転送後に所定の送出間隔をおいて第一のパケットを転送する。
【発明の効果】
【００２４】
本発明によれば、標準的な装置で通信ネットワークを構成しながらも、高精度の時刻同期が可能になる。
【００２５】
上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施例である通信制御装置を用いて構成するシステム構成例である。
【図２】図１における通信制御装置のハードウェア構成である。
【図３】通信制御装置の機能構成図である。
【図４】パケットが衝突した場合におけるネットワーク中継装置の動作を示す。
【図５】通信装置の機能構成図を示す。
【図６】通信制御装置における同期処理動作を示すフローチャートである。
【図７】ネットワーク中継装置と受信間隔閾値の対応関係を示すテーブルデータである。
【図８】ネットワーク中継装置の段数と応答時間の関係を示す。
【図９】ＩＥＥＥ１５８８規格のドメインを用いた通信装置の機能構成例を示す。
【図１０】通信遅延に基づくグループ構成例を示す。
【図１１】他の通信フローが通信制御装置宛ではない例を示す。
【図１２】本発明の第２の実施例における通信装置１２３の機能構成を示す。
【図１３】通信装置の処理動作を示す。
【図１４】ＩＥＥＥ１５８８の時刻同期プロトコルの実行手順である。
【図１５】ＩＥＥＥ１５８８におけるメッセージのやりとりを示す。
【図１６】時刻同期制御装置を用いたシステム例を示す。
【図１７】本発明の第３の実施例のシステム構成を示す。
【図１８】本発明の第４の実施例のシステム構成を示す。
【図１９】時刻同期パケットに格納された通信遅延を示す。
【図２０】他のフローが存在する場合のシステム構成を示す。
【図２１】本発明の第４の実施例の他のシステム構成を示す。
【図２２】リングネットワークによるシステム構成を示す。
【図２３】本発明の第５の実施例である電流差動保護リレーシステムのシステム構成を示す。
【発明を実施するための形態】
【００２７】
以下、本発明の実施形態について、図面を用いて説明する。
【実施例１】
【００２８】
（システム構成）
図１は、本発明の一実施例である通信制御装置１２０を用いて構成するシステム構成例である。通信制御装置１２０は、ネットワーク１２２を介して、他のネットワーク中継装置１２１（ａ〜ｅ）、または通信装置１２３（ａ〜ｆ）と接続され、これらと通信する。
【００２９】
ネットワーク中継装置１２１は、例えば、ネットワークスイッチ、ルータ、ゲートウェイ、Software Defined Networkにおけるパケット・経路制御を書き換え可能なスイッチ等であり、ネットワーク内における通信制御装置および通信装置が送信するパッケットの伝送を中継する。
【００３０】
ネットワーク１２２（通信制御装置１２０、ネットワーク中継装置１２１、通信装置１２３間の接続）は、例えば、ＩＥＥＥ８０２．３、各種産業用ネットワーク、ＩＥＣ  ６１７８４、ＩＥＣ  ６１１５８等である。なお、全ての通信制御装置１２０、ネットワーク中継装置１２１、通信装置１２３間の接続が同一の通信方式でなくともよい。
（ハードウェア構成）
図２は、図１における通信制御装置１２０のハードウェア構成である。
【００３１】
ＣＰＵ１０１は、不揮発性記憶媒体１０９からプログラムをメモリ１０８に転送して実行する。実行処理プログラムは、例えば、オペレーティングシステム（以下、ＯＳと称す）やＯＳ上で動作するアプリケーションプログラムである。
【００３２】
ＬＡＮ１０２は、ネットワーク１２２との通信機能を実装した送受信機ＩＣ（Integrated Circuit：集積回路装置）である。ＬＡＮ１０２は、ＣＰＵ１０１上で動作するプログラムから通信要求を受け取り、ネットワーク１２２に対して通信する。ＬＡＮ１０２の実装形態は、例えば、ＩＥＥＥ８０２．３規格のＭＡＣ（Media Access Control）チップ、ＰＨＹ（物理層）チップ、ＭＡＣとＰＨＹの複合チップ、ＦＰＧＡ（Field Programmable Gate Array）、ＣＰＬＤ（Complex Programmable Logic Device）、ＡＳＩＣ（Application Specific Integrated Circuit）、ゲートアレイ等である。なお、ＬＡＮ１０２は、ＣＰＵ１０１や、コンピュータ内部の情報経路を制御するチップセットに含まれていてもよい。
【００３３】
メモリ１０８は、ＣＰＵ１０１が動作するための一時的な記憶領域であり、不揮発性記憶媒体１０９から転送したＯＳ、アプリケーションプログラム等が格納される。
【００３４】
不揮発性記憶媒体１０９は、情報の記憶媒体であり、ＯＳ、アプリケーションプログラム、デバイスドライバ等の保存や、ＣＰＵ１０１を動作させるためのプログラムの保存、並びにプログラムの実行結果の保存に利用される。不揮発性記憶媒体１０９は、例えば、ハードディスクドライブ（ＨＤＤ）やソリッドステートドライブ（ＳＳＤ）、フラッシュメモリである。また、不揮発性記憶媒体１０９として、取り外しが容易な外部記憶媒体、すなわち、フロッピー（登録商標）ディスク、ＣＤ、ＤＶＤ、ブルーレイ（登録商標）、ＵＳＢメモリ、コンパクトフラッシュ（登録商標）等が適用されても良い。
【００３５】
バス１１０は、ＣＰＵ１０１、ＬＡＮ１０２、メモリ１０８、不揮発性記憶媒体１０９を相互に接続する。バス１１０は、例えば、ＰＣＩバス、ＩＳＡバス、ＰＣＩ  Ｅｘｐｒｅｓｓバス、システムバス、メモリバス等である。
（機能構成）
図３は、図１，２における通信制御装置１２０の機能構成図である。
【００３６】
時刻同期処理部１３０は、時刻同期手順を実行する機能部である。実行する時刻同期プロトコルは、ＩＥＥＥ １５８８やＮＴＰ、ＳＮＴＰなどである。時刻同期処理部１３０は、ＣＰＵ１０１上のソフトウェアで構成してもよいし、ＦＰＧＡやＣＰＬＤに実装されるＬＡＮ１０２を用いてハードウェア論理として構成してもよい。あるいは、ＣＰＵ１０１上のソフトウェアと、ＬＡＮ１０２の両方で構成してもよい。この場合は、パケットの送信タイミングおよび受信タイミングの計測機能、あるいはパケットフォーマットの生成が、ＬＡＮ１０２によって処理される。
【００３７】
通信部１３１は、通信プロトコルにおける所定のパケットの送受信機能であり、通信プロトコルにおける所定のパケットの送信機能である送信部１３２と、通信プロトコルにおける所定のパケットの受信機能である受信部１３３を備える。これら通信部１３１、送信部１３２、受信部１３３は、図２におけるＬＡＮ１０２により構成される。
【００３８】
受信間隔測定部１３４は、受信部１３３で受信する所定のパケットの受信間隔を測定する。受信間隔は、受信部１３３がパケットを受信するタイミングを計時して、その差分を計測したり、ＩＥＥＥ１５８８規格にしたがって、受信部１３３で記録される時刻同期用パケットを受信したタイミングの差分を計算したりすることによって、測定される。受信間隔測定部１３４は、ＣＰＵ１０１上で動作するソフトウェアとして構成してもよいし、ＬＡＮ１０２で構成してもよい。また、ＣＰＵ１０１上で動作するソフトウェアとＬＡＮ１０２の組み合わせで構成してもよい。例えば、受信タイミングはＬＡＮ１０２で計時し、ＣＰＵ１０１上で動作するソフトウェアによって受信タイミングの差分を求めて、受信間隔を算出する。この場合、受信間隔を算出するための情報が、ＬＡＮ１０２からＣＰＵ１０１に開示される。この時、ＩＣのレジスタを用いてもよいし、メモリ１０８の所定領域にＬＡＮ１０２が書き込んでもよい。
【００３９】
キューイング発生判定部１３５は、ネットワーク中継装置１２１内のパケットバッファで時刻同期用パケットがキューイングしたか否かを判定する。受信間隔測定部１３４で計測されるパケットの受信間隔と、後述する受信間隔閾値決定部１３６によって設定される受信間隔閾値を用いて、ネットワーク中継装置１２１内のパケットバッファでの時刻同期用パケットのキューイングが判定される。キューイング発生判定部１３５は、例えば、ＣＰＵ１０１上で動作するソフトウェア、ＬＡＮ１０２を構成するＩＣ上で動作するソフトウェア、ハードウェアのいずれか、または複数によって構成される。
【００４０】
以下、図４に示すような「ネットワーク中継装置１２１内のパケットバッファでパケットがキューイングして待ち時間が発生している状態」を、「衝突」と記す。
【００４１】
受信間隔閾値決定部１３６は、後述するネットワーク構成情報記憶部１５１で保持されるネットワーク構成情報に基づいて、ネットワーク中継装置１２１におけるパケットの衝突の有無を判定するための基準値となる受信間隔閾値を設定する。受信間隔閾値決定部１３６は、ＣＰＵ１０１上のソフトウェアとして構成してもよいし、ＬＡＮ１０２ を構成するＩＣ上のソフトウェア、ハードウェアとして構成してもよい。受信間隔閾値は、レジスタ、ディップスイッチ等の基板上の入力手段、ソフトウェアＡＰＩ（Application Programming Interface）、ＧＵＩ（Graphical User Interface）等の設定手段により、設定可能な構成としてもよい。
【００４２】
判定結果履歴記憶部１３７は、キューイング発生判定部１３５の判定結果を逐次記録し、履歴情報として記憶すると共に、何らかの外部通知手段（図示されないディスプレイ表示、電子メール、アラーム音等）によって判定結果や履歴情報を表示あるいは報知する。判定結果履歴記憶部１３７が記憶する履歴情報は、衝突が起きたこと、衝突を起こした同期パケットの送信元である通信装置１２３の識別子、衝突が発生した時間等である。さらに、これらの情報から算出可能な衝突の合計発生回数、衝突発生の平均間隔等が、履歴情報として記憶される。また、履歴情報として記憶されている、衝突した同期パケットに関わる通信装置１２３（スレーブ）の情報に基づいて、受信間隔閾値決定部１３６は、ネットワーク構成情報記憶部１５１から関連する情報を抽出することができる。判定結果履歴記憶部１３７は、ＣＰＵ１０１上のソフトウェア、メモリ１０８不揮発性記憶媒体１０９、ＬＡＮ１０２を構成するＩＣ上のソフトウェア、ハードウェアのいずれか、または複数で構成される。
【００４３】
グループ構成部１５０は、ネットワーク構成の情報を元に通信装置１２３をグルーピングし、送信回数や各通信装置１２３との時刻同期手順の成否状況等に応じて通信装置１２３のグループを時刻同期処理部１３０に提示する。例えば、時刻同期手順の成否状況として、時刻同期の成功回数や、失敗回数、または最後に時刻同期が成立してからの経過時間に基づいて、通信装置１２３のグループが提示される。グループ構成部１５０は、ＣＰＵ１０１上のソフトウェアとして構成してもよいし、ＬＡＮ１０２を構成するＩＣ上のソフトウェア、ハードウェアとして構成してもよい。
【００４４】
ネットワーク構成情報記憶部１５１は、グループ構成部１５０が通信装置１２３をグルーピングするために利用するネットワーク情報を記憶する。ここで、ネットワーク構成情報は、例えば、ネットワークを構成する通信装置１２３に関わる情報（装置数、装置を構成する部品の性能、ネットワークアドレス、機器の識別子等、ネットワークにおける接続位置）、通信制御装置１２０までの経路上に位置するネットワーク中継装置１２１に関わる情報、ネットワークトポロジ、各装置までの通信遅延の計測値等である。ネットワーク構成情報記憶部１５１は、ＣＰＵ１０１上のソフトウェア、メモリ１０８、不揮発性記憶媒体１０９、ＬＡＮ１０２を構成するＩＣ上のソフトウェア、ハードウェアのいずれか、または複数で構成される。例えば、ネットワーク構成情報記憶部１５１が保持する情報を、ＣＰＵ１０１上のソフトウェアで抽出、取得、算出、決定し、メモリ１０８、不揮発性記憶媒体１０９上に記憶する。
【００４５】
ネットワーク構成情報推定部１５２は、通信制御装置１２０が接続されるネットワークの構成を推定し、推定した結果をネットワーク構成情報記憶部１５１に記録する。
（受信間隔閾値の設定手段）
次に、受信間隔閾値決定部１３６における受信間隔閾値の設定手段について説明する。
＜ネットワーク中継装置一段＞
はじめに、ネットワーク中継装置１２１の段数が一段の場合について説明する。
【００４６】
パケットが衝突したか否かはキューイング発生判定部１３５によって、受信間隔測定部１３４で計測されるパケットの受信間隔と、受信間隔閾値決定部１３６によって設定される受信間隔閾値を比較することで判定される。ここで、受信間隔閾値は、パケットの通信処理時間、フレーム間ギャップ、ネットワーク中継装置１２１の通信処理時間のうちの一つ、または複数の値から、次のように算出される。
【００４７】
まず、パケットの通信処理時間Ｔｐは、式（３）で求まる。
Ｔｐ＝Ｓｐ×８／Ｔｈ      （３）
ここで、Ｓｐはパケットサイズ（単位：ｂｙｔｅ）、Ｔｈは通信スループットである。例えば、Ｓｐ＝６４（ｂｙｔｅ）のパケットをＴｈ＝１００（Ｍｂｐs）のＩＥＥＥ８０２．３規格によるネットワーク上で送信した場合の通信処理時間Ｔｐは、６４（ｂｙｔｅ）×８（ｂｉｔ／ｂｙｔｅ）／１００（Ｍｂｐs）＝５．１２μｓとなる。
【００４８】
次に、フレーム間ギャップ（ＩＦＧ：Inter frame Gap）は、ＩＥＥＥ８０２．３規格において、フレームを通信経路上に送信後、後続のフレームを送信するまでの間隔であると規定される。そして、フレーム間ギャップは、９６ｂｉｔ時間（９６ｂｉｔを転送するのに要する時間）と規定されており、式（４）でフレーム間ギャップＩＦＧを求めることができる。
ＩＦＧ＝９６／Ｔｈ      （４）
例えば、Ｔｈ＝１００ＭｂｐsのＩＥＥＥ８０２．３規格によるネットワークでは、ＩＦＧは、９６（ｂｉｔ）／１００（Ｍｂｐs）＝０．９６μｓである。
【００４９】
ネットワーク中継装置１２１の通信処理時間は、個々のネットワーク中継装置１２１の処理内容に依存する。ネットワーク中継装置１２１の処理内容は、例えば、宛先ポート情報の抽出処理や、ネットワーク中継装置１２１内でのパケットの転送処理である。
【００５０】
なお、ネットワーク中継装置１２１の通信処理時間は、ネットワーク中継装置１２１のデータシートやマニュアルに記載されている値を用いても良いし、ネットワーク中継装置１２１の転送遅延を実測することにより実験的に求めても良い。
【００５１】
ネットワーク中継装置１２１の転送遅延を実測する場合、ある通信端末に２台の通信ポートを設けて、テストパケットを、一方の通信ポートから送信した後に、ネットワーク中継装置１２１を経由して、他方の通信ポートで受信する。この時の通信遅延（例えば、パケットの先頭を受信したタイミングから、パケットの先頭を送信したタイミングを引いた値）から、式（３）によるパケットの通信処理時間を引いた値が、ネットワーク中継装置１２１の通信処理時間となる。
【００５２】
ネットワーク中継装置１２１の通信処理時間は、処理対象パケットのパケットサイズや、対象パケットの前後における他のパケットの存在、あるいは管理される通信経路の情報量によって変化する可能性があるため、さまざまな条件に応じて、推定されることが好ましい。例えば、式（５）によって、ネットワーク中継装置１２１の推定通信処理時間Ｔｓを求めることができる。
Ｔｓ＝Ａ＋ｋＳｐ＋Ｂ＋ｍＣ      （５）
ここで、Ａはパケット転送時にかかる固定の遅延であり、ｋはパケットサイズＳｐに対する比例定数である。Ｂは、ネットワーク中継装置１２１のパケット用バッファ中において、対象パケットの前に他のパケットが存在する場合に非ゼロ値をとる遅延である。Ｃは、通信経路の情報量、ｍは通信経路の情報量Ｃに対する比例定数である。
【００５３】
パケットがネットワーク中継装置１２１で衝突した場合におけるネットワーク中継装置１２１の動作を図４に示す。バッファ１４２は、ネットワーク中継装置１２１中のパケット用バッファである。バッファ１４２は、Ｆｉｒｓｔ−ｉｎ  Ｆｉｒｓｔ−ｏｕｔ（ＦＩＦＯ）型のデータ構造を有する。図４においては、パケット１４０の送信処理中であり、パケット１４１がパケット１４０に続いて、バッファ１４２内にキューイングされている。この時、パケット１４１は、バッファ１４２内で先行するパケット１４０によって送信が遅延され、パケット１４１はパケット１４０とバッファ１４２内で衝突している。
【００５４】
図４における出力側には通信制御装置１２０が接続され、バッファ１４２から出力されるパケット１４０およびパケット１４１は、通信制御装置１２０によって順次受信される。そして、前述したように、通信制御装置１２０は、パケット１４０とパケット１４１の受信間隔を計測し、計測結果と受信間隔閾値の比較に基づいて、パケット１４１とパケット１４０の衝突の有無を判定する。図４においては、パケット１４１とパケット１４０が衝突しているので、通信制御装置１２０がパケット１４１を受信するまで、パケット１４０に対して実際に要する通信処理時間だけ遅延する。このとき、通信制御装置１２０は、計測された受信間隔と以下に述べる受信間隔閾値Ｔｒの比較結果から、ネットワーク中継装置１２１内でパケットのキューイングが発生していると判定する。
【００５５】
受信間隔を前後のパケットの先頭間とする場合、受信間隔閾値Ｔｒは、式（６）で求められる。
Ｔｒ＝Ｔｐ＋ＩＦＧ＋Ｔｓ      （６）
ここで、パケットの通信処理時間Ｔｐ、フレーム間ギャップＩＦＧおよびネットワーク中継装置１２１の推定処理時間Ｔｓは、それぞれ式（３）、式（４）および式（５）で求めることができる。
【００５６】
なお、Ｔｓの値を求めることが難しい場合は、Ｔｓを省略して、式（７）により暫定的にＴｒを設定し、マージン調整により、通信制御装置１２０の動作を最適化しても良い。
Ｔｒ＝Ｔｐ＋ＩＦＧ      （７）
また、受信間隔を、前後のパケット間のギャップ、すなわち前パケットの後端と後パケットの先頭の間とする場合、受信間隔閾値Ｔｒは次式（８）で求められる。さらに、Ｔｓの値を求めることが難しい場合は、式（７）と同様にＴｓを省略して、式（９）により暫定的にＴｒを設定しても良い。
Ｔｒ＝ＩＦＧ＋Ｔｓ      （８）
Ｔｒ＝ＩＦＧ            （９）
なお、パケットの先頭、後端の位置によって、ネットワーク１２２のプロトコルで定めるプリアンブル、トレイラの通信時間を考慮する必要がある。例えば、ＩＥＥＥ８０２．３では、ヘッダに先行して７オクテットのプリアンブルと１オクテットのＳＦＤ（Start Frame Delimiter）がネットワーク上を流れる。また、パケットの末尾には４オクテットのＦＣＳ（Frame Check Sequence）が付加される。例えば、（９）式ではＩＦＧのみとしているため、ＦＣＳの末端をパケットの後端、プリアンブルの先頭をパケットの先頭としている。パケットの先頭、後端の位置によって、これらのデータの処理時間を受信間隔閾値Ｔｒの計算式に含めてもよいし、別途、マージンに含めてもよい。
＜ネットワーク中継装置複数段＞
次に、ネットワーク中継装置１２１の段数が複数段の場合について説明する。
【００５７】
ネットワーク中継装置１２１の複数段の場合、受信間隔閾値Ｔｒは、１段当たりの受信間隔閾値Ｔｒ１を用いて、式（１０）によって求めることができる。
Ｔｒ＝Ｔｒ１×Ｎ      （１０）
ここで、Ｔｒ１は前述の式（６）〜（９）によって求めることができる。Ｎは、ネットワーク中継装置１２１の段数である（Ｎは２以上の自然数）。
【００５８】
また、ネットワーク中継装置１２１ごとの増分が所定値であるとする場合、受信間隔閾値Ｔｒは、式（１１）あるいは式（１２）によって求めることができる。なお、式（１１）は、ネットワーク中継装置１２１の違いに関わらず、増分が一定である場合に適用できる。また、式（１２）は、各ネットワーク中継装置１２１で増分が異なる場合に、適用できる。
Ｔｒ＝Ｔｒ１＋Ｎ×α      （１１）
Ｔｒ＝Ｔｒ１＋Σαｉ      （１２）
ここで、α、αｉ（ｉは１〜Ｎの自然数）は、各ネットワーク中継装置１２１における増分である。「Σ」は、通常通り、α１〜αＮの総和を示す。また、増分α、αｉは、ネットワーク中継装置１２１のデータシート、マニュアルに記載されている値を用いてもよいし、実験的に求めてもよい。実験的に求める場合は、通信装置を３台用意し、その内１台を時刻同期マスタ、２台を時刻同期スレーブとして、マスタと２台のスレーブ間におけるネットワーク中継装置の段数を変えて、スレーブ２台からの応答パケットの受信間隔を計測する。
【００５９】
式（１１）は、ネットワーク中継装置１２１の段数Ｎの一次式であるが、多次元の式や上記のような計測結果を用いる近似式としてもよい。あるいは、所定の算術式ではなく、図７に示すように、複数段のネットワーク中継装置１２１と受信間隔閾値との対応関係をテーブルデータによって管理してもよい。図７（ａ）は、ネットワーク中継装置１２１の段数によって受信間隔閾値が変わる場合のテーブルデータを示し、図７（ｂ）は通信装置１２３によって受信間隔閾値が変わる場合のテーブルデータを示している。なお、後者は、通信装置１２３によって、例えば、マスタ・スレーブの位置関係によって、通信制御装置１２０との間の経路のネットワーク中継装置１２１が異なる場合に好適である。
【００６０】
なお、式（６）〜（１２）並びに図７に示した受信間隔閾値は、衝突した同期パケットの送信元通信装置１２３（スレーブ）が、同じネットワーク中継装置１２１に接続している場合の閾値である。もし、衝突した同期パケットの送信元通信装置１２３のネットワーク中の位置が異なる場合は、各通信装置１２３の位置関係を反映して、受信間隔閾値が設定される。例えば、衝突したと判定された二つのパケットの送信元が、図１における通信装置１２３ｅおよび通信装置１２３ｆとする。通信装置１２３と通信制御装置１２０との間の通信経路におけるネットワーク中継装置１２１の段数は、通信装置１２３ｅについては３段、通信装置１２３ｆについては４段である。この場合、段数の小さい通信経路における通信装置１２３ｅが接続されるネットワーク中継装置１２１ｄの受信間隔閾値が用いられる。これは、通信装置１２３ｅおよび通信装置１２３ｆを送信元とする二つのパケットの衝突が、ネットワーク中継装置１２１ｄにおいて発生するためである。
【００６１】
このように、衝突する二つの同期パケットの送信元通信装置１２３のネットワーク中の位置が異なる場合、衝突は、ネットワーク中継装置の段数が少ない送信元通信装置が接続されるネットワーク中継装置において発生する。このため、受信間隔閾値Ｔｒは、ネットワーク中継装置の段数が少ない送信元通信装置が接続されるネットワーク中継装置の受信間隔閾値をＴｒｍｉｎとして、式（１３）によって設定できる。
Ｔｒ＝Ｔｒｍｉｎ      （１３）
また、図１の通信装置１２３ｃと通信装置１２３ｅのように、ネットワーク中の位置は異なるが、ネットワーク中継装置１２１の段数が同じである場合、衝突は、通信装置１２３ｃと通信装置１２３ｅに共通の通信経路において、両通信装置に最も近い、すなわち通信制御装置１２０から２段目のネットワーク中継装置１２０ｂにおいて発生する。このため、受信間隔閾値は、ネットワーク中継装置１２１ｂの受信間隔閾値が用いられる。
【００６２】
このように、衝突する二つの同期パケットの送信元通信装置１２３のネットワーク中の位置は異なるがネットワーク中継装置の段数が同数である場合、受信間隔閾値Ｔｒは、両通信装置に共通の通信経路において、両通信装置に最も近い、すなわち通信制御装置１２０から数えた段数が最大のネットワーク中継装置の受信間隔閾値をＴｒｃｏｍｍｏｎとして、式（１４）により設定することができる。
Ｔｒ＝Ｔｒｃｏｍｍｏｎ      （１４）
（キューイング発生の判定手段）
図３に示したキューイング発生判定部１３５におけるキューイング発生の判定手段について説明する。
【００６３】
本実施例において、パケットがネットワーク中継装置１２１内で衝突していなければ、図３の受信間隔測定部１３４で計測される実際のパケット受信間隔Ｔは、上述した受信間隔閾値Ｔｒよりも長くなる。そこで、キューイング発生判定部１３５は、Ｔが式（１５）の関係を満たす場合に、ネットワーク中継装置１２１内でパケットの衝突が発生していないと判定し、Ｔが式（１５）の関係を満たさない場合に、ネットワーク中継装置１２１内で衝突が発生していると判定する。
Ｔ＞Ｔｒ＋α      （１５）
なお、式（１５）におけるαはマージンであり、個々のネットワーク毎に適宜設定される。
（通信装置の機能構成）
図５は、通信装置１２３の機能構成図を示す。
【００６４】
通信装置１２３は、通信制御装置１２０と同様に、時刻同期処理部１３０と、送信部１３２および受信部１３３を有する通信部１３１と、を備える。時刻同期処理部１３０は、通信部１３１を介して通信制御装置１２０との間で通信されるパケットのデータに基づいて、時刻同期プロトコルを実行する。なお、ＩＥＥＥ１５８８のようにマスタ・スレーブ構成をとる場合、通信制御装置１２０がマスタとなり、通信装置１２３がスレーブとなる。
（通信制御装置における同期処理動作）
図６は、時刻同期プロトコルとしてＩＥＥＥ１５８８プロトコル（図１４，１５および「背景技術」の欄の記載参照）を実行する場合における、本実施例の通信制御装置１２０における同期処理動作を示すフローチャートである。
【００６５】
まず、通信制御装置１２０をマスタとする（Ｓ００１）。ＩＥＥＥ１５８８では、Best Master Clock（以下、ＢＭＣと略記する）アルゴリズムによって、通信制御装置１２０と各通信装置１２３との間で情報（Announceメッセージ）をやりとりし、その情報の内容によって、マスタとなるかスレーブとなるかを決定する。本実施例では、通信制御装置１２０がマスタとなるようにあらかじめ通信制御装置１２０および各通信装置１２３のパラメータを設定しておく。例えば、通信制御装置１２０がマスタとなるように情報の優先度を上げておく。なお、ＢＭＣにおけるパラメータを特別設定せずに、通信装置１２３の構成を通信制御装置１２０と同様（図３参照）にしてもよい。この場合、ＢＭＣアルゴリズムを実行した結果、マスタとなった装置を便宜上、通信制御装置１２０とし、スレーブとなった装置を通信装置１２３とする。
【００６６】
次に、ステップＳ０２０において、時刻同期処理部１３０は、グループ構成部１５０に送信対象となるグループを問い合わせ、グループ構成部１５０は、送信対象となるグループの識別子を時刻同期処理部１３０に通知する。
【００６７】
なお、グループ構成部１５０が時刻同期処理部１３０に通知する情報は、グループの識別子に限らず、一台または複数台の通信装置１２３の識別子でもよい。例えば、ある１グループ外の通信装置１２３が少数（例えば、一台）である場合は、これら少数の通信装置１２３でグループを構成して識別子を定義することなく、個々の通信装置１２３の識別子を通知情報としてもよい。
【００６８】
グループ構成部１５０が管理するグループの識別子並びにグループ構成方法については後述する。
【００６９】
次に、ステップＳ００２において、時刻同期処理部１３０は、先行するステップＳ０２０でグループ構成部１５０から通知されたグループの識別子を用いて、ＩＥＥＥ１５８８のプロトコルにしたがい、送信時刻（図１５のｔ１）の情報を含むSyncメッセージをマルチキャストで通信装置１２３に送信する。なお、ＩＥＥＥ１５８８の仕様では、Syncメッセージの送信後にFollow_Upメッセージを送信するtwo stepモードが定義されている。図６の動作においては、Syncメッセージのみを送信するone stepモードが適用されるが、two stepモードも同様に適用できる。
【００７０】
次に、通信制御装置１２０は、通信装置１２３からのDelay_Reqメッセージの受信を待機する（Ｓ００３）。Delay_Reqメッセージを受信すると、受信間隔測定部１３４は、直前に受信したパケットとの受信間隔を測定する（Ｓ００４）。なお、最初に受信したパケットについては、直前に受信したパケットとの受信間隔は計測できないが、受信間隔を０とし、キューイング発生判定部１３５において、衝突は発生していないと判定すれば良い。
【００７１】
次に、キューイング発生判定部１３５はパケットの衝突が発生したか否かを判定する（Ｓ００５）。具体的な判定手段は、上述した通り、計測された受信間隔と受信間隔閾値との比較である。パケットの衝突が発生したと判定されると（Ｓ００５のＹ）、衝突が発生したパケットの通信相手である通信装置の情報が保持される（Ｓ００６）。通信相手の情報は、ＩＰアドレスでもよいし、ＩＥＥＥ１５８８上の識別可能な識別子（ドメイン）でもよい。また、パケットの衝突が発生していないと判定されると（Ｓ００５のＮ）、時刻同期処理部１３０は、受信時刻（図１５のｔ４）の情報を含むDelay_Respメッセージを送信し、時刻同期プロトコルの実行を継続する（Ｓ００７）。
【００７２】
ステップＳ００６あるいはＳ００７の処理動作実行後、時刻同期処理部１３０は、全ての通信相手からパケットが受信したか否かを判定する（Ｓ００８）。受信されてはいないと判定された場合（Ｓ００８のＮ）、ステップＳ００３に戻って、パケットの受信を待機する。また、全てのパケットが受信したと判定された場合（Ｓ００８のＹ）、衝突が発生した通信相手があるか否か、すなわちステップＳ００６で保持した通信相手があるか否かを判定する（Ｓ００９）。なお、途中でパケットロスが発生することを考慮し、所定時間経過した場合に、ステップＳ０１０へ進むようにしても良い。
【００７３】
ステップＳ００９おいて、パケットが衝突した通信相手があると判定された場合（Ｓ００９のＹ）、ネットワーク中継装置１２１内でキューイングによる遅延が発生したことになる。この場合は、時刻同期プロトコルを再実行する。この時、最初に送信したSyncメッセージと同様にマルチキャストでSyncメッセージを送信すると、再び全ての通信装置１２３がDelay_Reqメッセージを返信することになり、再度ネットワーク中継装置１２１内においてパケットが衝突する可能性がある。そこで、パケットが衝突したと判定した通信相手とのみ、あるいは少なくともパケットが衝突したと判定した通信相手を含むグループに宛先を制限して通信をすることが好ましい。例えば、特定の通信相手とのみ通信するユニキャスト通信や、別のマルチキャストアドレスを定義したマルチキャスト通信を適用したり、ＶＬＡＮ機能に対応したネットワーク中継装置１２１を用いてＶＬＡＮによるグルーピングを適用したりする。これらにより、通信相手の宛先を変更して（Ｓ０１０）、それから、ステップＳ００２に戻って、再度Syncメッセージを送信して時刻同期プロトコルを再実行する。
【００７４】
ステップＳ００９において、パケットが衝突した通信相手がないと判定された場合（Ｓ００９のＮ）、パケットが衝突した通信相手の記録をクリアし（Ｓ０１１）、その後、終了条件を満足したか否かが判定される（Ｓ０１２）。終了条件を満足していれば（Ｓ０１２のＹ）、通信制御装置１２０は、図６の処理動作を終了する。また、終了条件を満足していなければ（Ｓ０１２のＮ）、通信制御装置１２０は、所定時間待機し（Ｓ０１３）、その後、ステップＳ００２に戻って、再度時刻同期プロトコル実行する（Ｓ００２）。ここで、終了条件としては、例えば、ユーザやシステム管理者が明示的に終了することを設定することや、システム稼働後の経過時間や、時刻同期プロトコルの実行回数を用いた条件を設定することが挙げられる。
【００７５】
なお、図６の同期処理動作においては、パケットが衝突したと判定した通信相手に対して、時刻同期プロトコルを再実行したが、再実行しなくてもよい。この場合、通信制御装置１２０は、通信装置１２３との時刻同期が失敗したとして、所定の処理を実行する。そのような所定の処理としては、例えば、所定の宛先に、時刻同期の失敗および通信装置１２３の識別子を通知することや、所定の提示手段（通信制御装置１２０に接続されたモニタによる表示、通信制御装置１２０に備えられたＬＥＤ等による提示、アラーム音の出力等）によって外部へ提示することが挙げられる。
【００７６】
また、図６の同期処理動作において、Syncメッセージを送信してから、最初のDelay_Reqメッセージを受信するまでの時間を計測し、その時間が所定値を超えた場合に最初のDelay_Reqメッセージに衝突が発生したと判定し、当該Delay_Reqメッセージの送信相手と再度、時刻同期プロトコルを実行してもよい。このような所定値として、他の通信フローを発生させずに、実験的にDelay_Reqメッセージを受信するまでの時間を計測した時の計測値を利用してもよい。
【００７７】
また、図６のステップＳ０１３における待機時間について、ステップＳ００２の開始タイミングが所定の周期となるように待機時間を設定してもよいし、毎回、待機時間を変更してもよい。例えば、ステップＳ０１０からステップＳ００２へ遷移した回数すなわち衝突回数が多ければ、はじめに同期した通信装置１２３は、同期されないで動作する時間が長くなるため、ステップＳ０１３における待機時間を短めに設定し、なるべく早く時刻同期処理動作が実行されるようにすることが好ましい。また、ステップＳ０１０からステップＳ００２へ遷移した回数が少なければ、各通信装置１２３は比較的精度高く同期されていると推定できるので、ステップＳ０１３における待機時間を長めに設定してもよい。
（グループの識別）
図３におけるグループ構成部１５０が管理するグループの識別子について説明する。
【００７８】
グループの識別子は、例えば、ＩＥＥＥ１５８８で定義されるドメイン，ＩＥＥＥ ８０２．１ＱにおけるＶＬＡＮ（Virtual LAN），ＩＰ（Internet Protocol）やＩＥＥＥ８０２．３などの通信プロトコルで定義されるマルチキャストアドレスを用いて表現される。なお、その他、ネットワーク上での通信プロトコルに基づいて複数の通信端末間と通信可能な任意の手段を用いても良い。
＜ＩＥＥＥ１５８８のドメインによる識別＞
ＩＥＥＥ１５８８規格のドメインを用いた通信装置１２３の機能構成例を図９に示す。ＩＥＥＥ１５８８では、ドメインを用いてプロトコル上の操作やタイムスケールを独立して定義可能である。本実施例の場合は、通信装置１２３内でドメイン毎に同期時刻を管理することとなる。そのため、複数の同期時刻１６０から同期時刻選択部１６１が一つの同期時刻を選択する。
【００７９】
同期時刻選択部１６１が同期時刻１６０を選択する基準は、同期時刻１６０の識別子に基づいて選択してもよいし、同期時刻プロトコルの実行状況や、該当するドメインのＩＥＥＥ１５８８のマスタの属性（時刻精度等）に基づいて選択してもよい。例えば、同期時刻プロトコルの実行頻度の多いドメイン、あるいはマスタの時刻精度が最も高いドメインの同期時刻１６０が選択される。
【００８０】
一つの通信装置１２３内にドメインを多重化して通信制御装置１２０と通信する手段としては、ネットワーク中継装置１２１の経路制御情報で構成（ドメインごとに経路を切り替える等）してもよいし、通信装置１２３内でＩＥＥＥ１５８８パケット上のドメイン番号を識別してもよい。
＜ＶＬＡＮによる識別＞
複数の通信装置１２３のうちの一つまたは複数と、通信制御装置１２０によって構成するＶＬＡＮを、定義するグループの数だけ設定する。
【００８１】
通信制御装置１２０の時刻同期処理部１３０は、図６のステップＳ００２において、同図のステップＳ０２０でグループ構成部１５０から通知されるＶＬＡＮの識別子（ＶＩＤ）をＶＬＡＮ用のタグに設定して、Ｓｙｎｃメッセージを送信する。
【００８２】
この場合、ＶＬＡＮ機能に対応したネットワーク中継装置１２１を用いる。さらに、通信制御装置１２０が図６の動作を実行する前に、予め、各ネットワーク中継装置１２１にＶＬＡＮによって識別されるグループが設定される。
＜マルチキャストアドレスによる識別＞
グループ毎にマルチキャストアドレスを定義し、マルチキャストアドレスを実現するための設定を、ＩＧＭＰ（Internet Group Management Protocol）等を用いて、ネットワーク中継装置１２１や通信装置１２３並びに通信制御装置１２０に対して実施する。
（グループ構成手段）
次に、グループ構成部１５０におけるグループ構成手段について説明する。なお、グループは、なるべくネットワーク中のネットワーク中継装置１２１内におけるパケットの衝突確率が低くなるように構成されることが好ましい。
＜遅延情報によるグループ構成＞
通信制御装置１２０とネットワーク中継装置１２１間の通信遅延を基準にグループを構成することができる。事前のシステム構築の準備段階において、通信制御装置１２０と各通信装置１２３間において、１対１でＩＥＥＥ１５８８等の時刻同期プロトコルを実行すれば、図１４および図１５に示す手段で通信遅延を求めることができる。
＜ネットワーク構成によるグループ構成）
ネットワークの構成に基づいてグループを構成してもよい。例えば、通信制御装置１２０と通信装置１２３間にあるネットワーク中継装置１２１の数や、ネットワーク中継装置１２１間の通信性能（例えば、ＩＥＥＥ８０２．３の通信スループットとしての１０Ｍｂｐｓ，１００Ｍｂｐｓ，１Ｇｂｐｓ等や、有線通信か無線通信かという通信媒体の種類、通信規格の種類等）に基づいてグループを構成することができる。
＜評価値によるグループ構成＞
上記のように、遅延情報やネットワークの構成に基づき、各通信装置１２３に対して求められる所定の指標、例えば通信遅延を用いて、グループを構成することができる。この場合、所定のグループ数となるように、かつ、同じ指標を有する通信装置１２３が別々のグループに分かれるようにする。
【００８３】
図１０は、通信遅延に基づくグループ構成例を示す。各通信装置１２３ａ〜ｆと通信制御装置１２０との通信遅延は、それぞれ１ｍｓ，２ｍｓ，２ｍｓ，３ｍｓ，３ｍｓ，３ｍｓである。グループ数が３である場合、例えば、（１２３ａ，１２３ｃ，１２３ｄ）、（１２３ｂ，１２３ｅ）、（１２３ｆ）とグループ分けされる。
【００８４】
また、グループ数が２である場合、例えば、（１２３ａ，１２３ｃ，１２３ｄ）、（１２３ｂ，１２３ｅ，１２３ｆ）とグループ分けされる。ただし、この場合は、前述のグループ数３の例に比べ、通信装置１２３ｄと通信装置１２３ｅの返信パケットが衝突する確率が高まり、一方について再同期手順を実行する状況になる可能性が大きい。
＜前回の同期処理の結果に基づいたグループ構成＞
また、前回の同期処理結果に基づいてグループを構成してもよい。例えば、前回の時刻同期処理において、同期パケットが衝突したと判定された通信装置１２３から、時系列順に１つ飛ばしで通信装置を選択することによりグループが構成できる。あるいは、前回の時刻同期手順の結果、時刻同期ができなかった残りの通信装置１２３の数が所定数以下の場合、残りの通信装置１２３から１つを選択してもよい。システムの要求性能に問題がなければ、各通信装置１２３ごとに同期処理を実行した方が容易だからである。
【００８５】
このような前回の時刻同期処理の結果に基づいたグループ構成手段と、図１０におけるグループ構成手段とを組み合わせてもよい。一例として、図１０におけるグループ構成手段により構成されるグループ候補から、前回の同期処理結果に基づいて構成されるグループにおける通信装置１２３群を全て含んだグループが時刻同期処理部１３０に提示されてもよい。例えば、前回時刻同期ができなかった通信装置が通信装置１２３ｂおよび１２３ｆであり、通信装置１２３ｅとすでに時刻同期が成立している場合に、（１２３ｂ，１２３ｅ，１２３ｆ）というグループが提示される。
（グループ構成の実行タイミング）
グループ構成の実行タイミングは、時刻同期通信やシステムアプリケーションに関する実稼働時前の準備段階に設定してもよいし、システム稼働中に入手可能な情報に応じて動的に設定してもよい。
（ネットワーク構成情報の推定）
図３におけるネットワーク構成情報推定部１５２によるネットワーク構成の推定について述べる。
【００８６】
ネットワーク構成情報推定部１５２は、同期パケット、あるいはその他の通信プロトコルのパケットをネットワーク１２２へ送信し、その応答を見ることでネットワーク１２２の構成を推定する。例えば、同期パケットをブロードキャストし、応答パケット上の送信元識別子、応答パケットの数を観測することで、同期プロトコル対応の通信装置１２３の数を推定することができる。
【００８７】
本実施例の推定手段においては、式（１６）が用いられる。
Ｍ＝Ｒ／β      （１６）
ここで、Ｍは推定段数、Ｒは応答時間、βは１段あたりの転送遅延である。βはオフラインで実験的に求めてもよいし、複数の通信装置１２３との応答時間から統計的に計算して求めてもよい。例えば、ある通信装置１２３との応答時間は、ネットワークの通信負荷が低い場合、特定の値近傍に集中するので、ネットワーク中継装置１２１の段数が１段異なれば、２つの集中した値の差分は、ネットワーク中継装置１２１の１段分の転送遅延と見積もることができる。あるいは、図８に示すような段数とその応答時間の関係を、実験的に求め、その関係から段数を推定してもよい。あるいは、段数を計測可能な通信プロトコルを用いてもよい。例えば、ＩＰ（Internet Protocol）は、ＴＴＬ（Time To Live）という、中継装置を経由するごとに１減じるパラメータによれば、受信側（通信装置１２３）で取得したＴＴＬの値を通信制御装置１２０に返信すれば、ネットワーク中継装置１２１の段数を求めることができる。
【００８８】
また、複数回同期パケットを通信制御装置１２０から通信装置１２３に送信し、その応答を通信制御装置１２０で受け取る順番が入れ替わることがある場合、その２つの応答パケットの送信元通信装置１２３は、同じネットワーク中継装置１２１、あるいは共有する経路を有すると推定される。
【００８９】
上述したようなネットワーク構成の推定は定期的に実行されてもよいし、システム起動時または試験時だけ、あるいは所定事象発生時に実行されてもよい。推定が定期的に実行さける場合、同期パケットの通信と独立して実行してもよいし、順番に実行してもよい。また、所定事象発生時に推定を実行する場合の事象として、通信装置１２３の数が変化したことや、ネットワーク１２２中の通信経路や通信接続が変化したことが挙げられる。後者については、ＬＬＤＰ（Link Layer Discovery Protocol）、ＲＳＴＰ（Rapid Spanning Tree Protocol）により検知できる。
（通信制御装置の機能構成の変形例）
ここで、図３に示した通信制御装置１２０の機能構成において、同期パケットの送信相手のグループを構成しなくても良い場合は、グループ構成部１５０を備えていなくても良い。この場合、図６に示したステップS０２０は実行されずに、ステップＳ００１からステップＳ００２へ遷移する。また、衝突判定結果の履歴を記憶しなくても良い場合は、判定結果履歴記憶部１３７を備えていなくても良い。同様に、ネットワーク１２２の構成を推定しなくても良い場合は、ネットワーク構成情報推定部１５２を備えていなくても良い。この場合、ネットワーク１２２の構成に関する情報は、所定の入力手段（例えば、キーボード操作）によって、ネットワーク構成情報記憶部１５１に設定される。なお、実施例において、ネットワーク構成情報記憶部１５１の情報を設定するために、ネットワーク構成情報推定部１５２と所定の入力手段を併用しても良い。
（その他の変形例）
＜他の通信フローが存在する場合１＞
時刻同期処理以外の通信フローが存在する場合、各パケットの受信間隔が変化する可能性がある。この場合は、その他の通信フローに関する情報をネットワーク構成情報記憶部１５１で保持することにより、キューイング発生判定部１３５は、ネットワーク中継装置１２１内のパケットの衝突を判定することができる。
＜他の通信フローがある場合２＞
また、他の通信フローが通信装置１２３間で発生し、通信制御装置１２０から通信装置１２３へ送信された時刻同期パケット（Ｓｙｎｃメッセージ）と衝突する場合を図１１に示す。図１１では、通信装置１２３ｃから通信装置１２３ｂへ通信フロー１７１が存在し、通信制御装置１２０から通信装置１２３ｂへ時刻同期プロトコルの通信フロー１７０が存在する。このとき、時刻同期プロトコルの通信フロー１７０のＳｙｎｃメッセージが、ネットワーク中継装置１２１ａおよび１２１ｂ内で、通信フロー１７１のパケットと衝突する可能性があり、時刻同期プロトコルの通信フロー１７０における往路と復路での通信遅延が異なる可能性が有る。このような場合は、通信装置１２３ｃにおいて、Ｓｙｎｃメッセージを受信後に、通信フロー１７１のパケットを通信装置１２３ｂへ送信する方式が用いられる。このようにすれば、ネットワーク中継装置１２１内でのパケットの衝突を回避することができる。
（統計手法組み合わせ）
また、同期プロトコル処理の過程で得られる通信遅延の履歴に対して、統計処理を実施し、処理内容を決定する手段について説明する。
【００９０】
通信制御装置１２０と通信装置１２３間の通信遅延を図１４の処理で複数回計算し、その平均値や分布、最小値、最大値等を求める。それらの計算結果から、所定の閾値を設定する。例えば、最小値、最大値、あるいは正規分布等の数学的モデルを仮定した場合の所望の区間の上限値および下限値を閾値とする。また、これらの閾値は、ネットワーク中継装置１２１の段数を考慮して算出してもよい。
【００９１】
通信遅延が閾値の範囲内の場合（有効とみなせない）の対応処理としては、例えば、SyncやDelay_Reqなどの同期パケットを送信しないこと、無効な同期パケットを送信すること、Syncを受信した場合にSyncパケットの時刻情報を用いて同期しないこと等が挙げられる。なお、通信遅延の計算は、精度を高めるため、ネットワーク１２２を無負荷の状態として試験計測して求めてもよい。
（ドメイン分け）
また、時刻同期する範囲の分割について説明する。
【００９２】
図１１において、通信制御装置１２０，通信装置１２３ａおよび１２３ｃを１つの時刻同期範囲（ドメインａとする）とし、通信装置１２３ｃおよび１２３ｂを他の時刻同期範囲（ドメインｂとする）とする。通信装置１２３ｃは、ドメインａでは同期スレーブ（通信制御装置１２０が同期マスタ）、ドメインｂでは同期マスタとなる。このように構成すれば、通信制御装置１２０から通信装置１２３ｂへは同期パケットを送信しなくても良いので、ネットワーク中継装置１２１ａにおける同期パケットの衝突が発生しない。
【００９３】
なお、ドメインａおよびドメインｂは、ＩＥＥＥ１５８８のドメインを用いて構成してもよいし、ネットワーク中継装置１２１のＶＬＡＮ機能を用いて構成してもよい。
（ネットワーク中継装置への応用）
また、ネットワーク中継装置１２１については、パケット衝突時に、衝突したパケットの送信間隔を一定にするように構成することができる。すなわち、第一のパケットを転送する際に、第二のパケットを同じ転送先に対して転送中の場合に、第一のパケットおよび第二のパケットのいずれかが同期パケットである場合に、第二のパケットを転送後に所定の送出間隔をおいて第一のパケットを転送するようにする。このようにすれば、通信制御装置１２０におけるパケットの受信間隔は、一定にしたネットワーク中継装置１２１の送信間隔と等しくなるため、受信間隔閾値決定部１３６は、式（１７）により、容易に受信間隔閾値を設定することができ、通信制御装置１２０の処理負荷が低減できる。
Ｔｒ＝Ｔｓ      （１７）
ここで、Ｔｓはネットワーク中継装置１２１におけるパケット衝突時の送出間隔である。
【００９４】
送出間隔Ｔｓは、所定の入力手段によって設定してもよいし、外部から所定の確認手段によって取得してもよい。なお、これら入力手段および確認手段として、ネットワーク通信を用いてもよい。また、送出間隔Ｔｓは、ネットワーク１２２で規定されるＩＦＧに対する差分として設定してもよい。
【００９５】
送出間隔Ｔｓとするパケットは、衝突したパケットの一方、あるいは両方を同期パケットに限定してもよい。  パケット衝突時の送出間隔をＴｓとするため、転送パケット間の最小間隔はＴｓとなる。
【００９６】
また、衝突時の送出間隔をＴｓとして一定にする機能の制御（有効化・無効化）を外部からの所定の手段で設定してもよい。この設定手段は、ネットワーク通信やSoftware Defined Networkなどを含む。
【００９７】
なお、衝突していない状態で送出間隔がＴｓとならないように、パケットの転送時に、先行するパケットがネットワーク中継装置１２１のバッファ中にない場合は、必ず、先行パケットとの送出間隔がＴｓより大きくなるように送信してもよい。
【００９８】
また、ネットワーク１２２は、ＩＥＥＥ１５８８規格で規定されるTransparent Clockを用いて構成してもよい。
【００９９】
さらに、図２２に示すように、リングネットワークの一部に本実施例を適用しても良い。リングネットワークは、例えば、ＨＳＲ（High Availability Seamless Redundancy）を含むＩＥＣ６２４３９やＩＥＥＥ８０２．１７のＲＰＲ（Resilient Packet Ring）である。
（実施例１の効果）
上述した実施例１によれば、通信制御装置１２０は、時刻同期プロトコルの応答メッセージの受信間隔によって、ネットワーク中継装置内でのパケットの衝突の有無を判定することができる。パケットの衝突が発生した場合は、時刻同期手順を再実行し、パケットの衝突が発生しなかった場合は、そのまま時刻同期プロトコルを継続する。これにより、ネットワーク中継装置１２１を用いたネットワーク構成においても時刻同期プロトコルの実行が可能となる。従って、ネットワークを共有した複数の通信装置間で時刻を同期でさせたシステムを構築することができる。また、ネットワーク中継装置を介してネットワークを中継、延長することで、大規模な時刻同期システムを構築することができる。
【０１００】
さらに、本実施例によれば、全ての通信機器において、特殊な通信装置や特殊な中継装置を用いることなく、ＩＥＥＥ１５８８などの規格に準拠した標準的な装置を用いて時刻同期システムを構成することができる。
【０１０１】
また、本実施例によれば、ネットワーク構成情報を踏まえて、衝突判定の閾値を決定するため、ネットワーク構成に応じて高精度に同期することができる。
【実施例２】
【０１０２】
以下説明するように、本実施例における通信装置１２３は、実施例１における通信装置とは異なる機能を備える。なお、以下の図中において、前述した図中における符号と同じ符号を付した構成要素は、特に断りのない限り、実施例１について説明した構成要素と同様の構成要素である。
【０１０３】
図１２は、本発明の第２の実施例における通信装置１２３の機能構成を示す。
【０１０４】
時刻同期実行制御部１８０は、時刻同期処理部１３０のパケットの送信タイミングを制御する。送信タイミングの制御は、通信制御装置１２０から通知される情報に基づいてもよいし、時刻同期処理部１３０の動作に基づいてもよい。
【０１０５】
通信装置１２３の処理動作を図１３に示す。
【０１０６】
まず、Syncメッセージを受信するまで待機する（Ｓ０３０）。Syncメッセージを受信すれば、受信時刻ｔ２を計測して保持する（Ｓ０３１）。次に、時刻同期実行制御部１８０がDelay_Reqメッセージの送信タイミングを制御する（Ｓ０３２）。具体的には、送信を所定時間待機させる。所定時間経過後に、Delay_Reqメッセージを送信する（Ｓ０３３）。次に、送信時刻ｔ３を計測して保持する（Ｓ０３４）。次に、同期パケットの受信を待機する（Ｓ０３５）。同期パケットを受信し、受信したパケットがSyncメッセージか否かを判定する（Ｓ０３６）。Syncメッセージであれば（Ｓ０３６のＹ）、通信制御装置１２０によって時刻同期処理が再実行されたと推定し、ステップＳ０３１に戻る。受信した同期パケットがSyncメッセージでなければ（Ｓ０３６のＮ）、同期処理を実行する（Ｓ０３７）。同期処理は図１４，１５に示すとおりであり、SyncメッセージまたはFollow_Upメッセージ中の時刻（マスタの送信時刻）と、Delay_Respメッセージ中の時刻（マスタにおけるDelay_Reqメッセージの受信時刻）と、上記ｔ２およびｔ３をもとに通信制御装置１２０に同期される。
（Delay_Reqメッセージの送信タイミング制御）
本実施例では、上述したように、時間同期実行制御部１８０によって、通信装置１２３がSyncメッセージを受信してからDelay_Reqメッセージを送信するまでの時間が制御されるので、他の通信装置１２３の同期パケットの衝突確率を低減することができる。
【０１０７】
Delay_Reqメッセージを送信するまでの待機時間は、通信制御装置１２０が通知する情報に基づいて決定してもよいし、通信装置１２３自身で決定してもよい。通信制御装置１２０はDelay_Reqパケットの受信間隔をもって時刻同期実行制御部１８０の待機時間を制御する。通信制御装置１２０は、通信制御装置１２０における受信間隔からパケットが衝突したと判定すれば、パケットが衝突した通信装置１２３の待機時間を所定時間だけ長くしたり、短くしたりする。
【０１０８】
あるいはＩＥＥＥ１５８８では、マスタによって、スレーブのDelay_Reqメッセージの送信周期を、Syncの送信周期を基準に制御することができる。具体的には、Syncメッセージを送信する所定周期に１度、Delay_Reqメッセージを送信させる。この仕様を用いて、通信制御装置１２０において、パケットが衝突したと判定すると、パケットが衝突した通信装置１２３のDelay_Reqメッセージの送信頻度を上げたり下げたりする。
【０１０９】
また、通信装置１２３は、Delay_Req送信後にSyncメッセージを受信すれば、通信制御装置１２０が、パケットが衝突したと判断し、時刻同期手順を再実行したと推定できる。したがって、通信装置１２３は、Delay_Reqメッセージ送信後にSyncメッセージを受信した際に、時刻同期実行制御部１８０によって待機時間を所定時間だけ長くしたり短くしたりする。あるいは、明示的に通信制御装置１２０から、パケットの衝突を検知したことを通信装置１２３へ通知してもよい。
【０１１０】
なお、ネットワーク中の全ての通信装置１２３が時刻同期実行制御部１８０を備えていても良いし、一部の通信装置が備えるだけでも良い。いずれの場合も、同様に、パケット衝突確率を低減できる。ここで、時刻同期実行制御部１８０を備えた通信装置１２３の識別子をネットワーク構成情報記憶部１５１で保持することが好ましい。これにより、通信制御装置１２０は、ネットワーク構成情報記憶部１５１に保持された通信装置１２３の識別子から、該当する通信装置１２３の時刻同期実行制御部１８０に対して、待機時間の指令を送信することができる。
（Delay_Reqメッセージ内へのグループ選択情報埋め込み）
また、本実施例２においては、通信装置１２３から送信するDelay_Reqメッセージ内に、通信制御装置１２０が時刻同期を再実行する際に送信するSyncメッセージに必要な情報が埋め込まれる。そのような情報としては、Syncメッセージの宛先に係わる通信装置１２３の識別子や、図６のステップＳ０２０で決定される送信対象のグループ情報などがある。例えば、Delay_Reqメッセージ中に、当該通信装置１２３が属するＩＥＥＥ１５８８仕様のドメイン情報を搭載させ、通信制御装置１２０が当該通信装置１２３からのパケットが衝突したと判断した際に、Delay_Reqメッセージに示されたドメイン情報を利用して、再度、Syncメッセージを送信する。これにより、通信制御装置１２０は、グループ構成部１５０に送信対象のグループを問い合わせることなく、短時間でSyncメッセージを送信することができる。この場合、通信制御装置１２０は予め通信装置１２３にドメイン情報等のグループ構成情報を通知しておくことが好ましい。
（自装置以外の他の通信装置のDelay_Reqメッセージ返信タイミング制御）
また、本実施例２においては、通信装置１２３が、自身のDelay_Reqメッセージの返信タイミングを制御すると共に、他の通信装置１２３のDelay_Reqメッセージ返信タイミングを制御する。なお、通信装置１２３に限らず、専用の装置やネットワーク中継装置１２１が、通信装置１２３の返信タイミングを制御しても良い。
【０１１１】
時刻同期制御装置１９０を用いたシステム例を図１６に示す。なお、説明の便宜上、自装置以外の通信装置の時刻同期用パケットの返信タイミングを制御する通信装置を時刻同期制御装置１９０と記す。
【０１１２】
時刻同期制御装置１９０は、ネットワーク上のパケットを監視し、時刻同期パケットが衝突して、時刻同期処理を実行している通信装置１２３を検知すれば、所定の時間、その通信装置１２３の返信を遅らせたり早めたりする。あるいは、通信制御装置１２０から時刻同期制御装置１９０に対して、明示的に時刻同期用パケットが衝突したことが通知されてもよい。
【０１１３】
パケットの監視は、受信部１３３をプロミスキャスモードに設定するなどして、ネットワーク上のパケットを受信することで実行する。時刻同期制御装置１９０は、Delay_Reqメッセージを確認後に、同じ通信装置１２３宛のSyncメッセージを確認すると、通信制御装置１２０が、パケットが衝突したと判断して、時刻同期処理を再実行したと推定し、時刻同期パケットの衝突が発生したと判定する。
【０１１４】
他の通信装置１２３の返信タイミングを制御する手段としては、例えば、ＩＥＥＥ８０２．３におけるＰＡＵＳＥフレームを用いて、所定の時間、他の通信装置１２３の送信を停止することや、専用のプロトコルを用いることがある。専用のプロトコルを用いる場合は、通信相手と、返信タイミングを制御するための時間情報（待機時間、あるいは返信する時刻等）が少なくとも用いられる。あるいは、専用プロトコルのパケットを受信した時点で返信するようにしてもよい。この場合、通信装置１２３は、専用プロトコルパケットを受信するまでは返信処理を実行しないようにすることが好ましい。
【０１１５】
時刻同期制御装置１９０は、ネットワーク中の全ての通信装置１２３を制御しても良いし、一部の通信装置１２３を制御しても良い。
【０１１６】
なお、複数の通信装置１２３の返信タイミングを制御する場合は、通信装置１２３の属性や、それまでの同期処理結果に基づいて制御することができる。例えば、通信装置１２３のそれぞれに優先度を設定し、優先度に応じて、通信装置１２３の待機時間を設定する。あるいは、それまでの時刻同期処理でパケットの衝突頻度に応じて待機時間を調整したり、通信装置１２３の備えるクロックの精度に応じて待機時間を調整したりしても良い。前者の場合、衝突していない通信装置１２３ほど待機時間を短く設定し、後者の場合、クロック精度の高い通信装置１２３ほど、待機時間を短く設定する。なお、制御に用いるこれらの情報は、時刻同期制御装置１９０内のネットワーク構成情報記憶部１５１で管理および保持される。
（実施例２の効果）
本実施例によれば、ネットワーク中継装置１２１を用いたシステムで精度の高い時刻同期をすることができる。さらに、通信装置１２３側でパケットの送信タイミングを制御することにより、パケットが衝突する確率が低減されると共に、同期処理における通信制御装置１２０の計算や制御にかかわる負荷を低減することができる。
【実施例３】
【０１１７】
本発明の第３の実施例としては、ＩＥＥＥ １５８８規格で定義されるTransparent Clock（以下、ＴＣとする）であるネットワーク中継装置（後述する図１７中の符号２２０）と、非Transparent Clockであるネットワーク中継装置１２１を混載して構成されるネットワークについて説明する。なお、以下の図中において、前述した図中における符号と同じ符号を付した構成要素は、特に断りのない限り、実施例１および実施例２について説明した構成要素と同様の構成要素である。
【０１１８】
ここで、ＴＣは、各パケットにネットワーク中継装置１２１中の処理遅延情報を格納する。このようなパケットを受け取った通信装置１２３は、この情報を用いて、往復の遅延の差を求めることができる。
【０１１９】
図１７は、本実施例のシステム構成を示す。
【０１２０】
通信装置１２３ａ、通信装置１２３ｂ、通信装置１２３ｃからのＤｅｌａｙ＿Ｒｅｑメッセージの送信に着目する場合、ＴＣ２２０ではフロー２２１ｂとフロー２２１ｃにおけるパケットが衝突する可能性があり、ネットワーク中継装置１２１ではフロー２２１ａ、フロー２２１ｂ、フロー２２１ｃにおけるパケットが衝突する可能性がある。
【０１２１】
ただし、ＴＣ２２０内のパケットの衝突は、ＴＣの機能により、衝突によって生じたゆらぎが補正される。一方で、ネットワーク中継装置１２１は、非ＴＣであるため、このような機能は備えていない。
【０１２２】
本実施例では、通信制御装置１２０が、フロー２２１ａ、フロー２２１ｂおよびフロー２２１ｃのパケットの受信間隔を測定し、前述の式（１５）によってパケットが衝突したか否かを判定する。
【０１２３】
このとき、通信制御装置１２０は、フロー２２１ａの同期パケットのあとに、他のフロー２２１ｂおよび２２１ｃのパケットのいずれか、または両方を受信し、フロー２２１ａとの受信間隔によって、パケットが衝突したと判定した場合、衝突したフローについて時刻同期処理を再実行する。同様に、通信制御装置１２０は、フロー２２１ｂおよび２２１ｃのパケットのいずれか、または両方の後に、フロー２２１ａのパケットを受信し、フロー２２１ａのパケットが衝突したと判定した場合、時刻同期処理を再実行する。これは、ネットワーク中継装置１２１内で、フロー２２１ａのパケットと、フロー２２１ｂおよびフロー２２１ｃのいずれかのパケットとが、衝突したと推定されるためである。
【０１２４】
一方、フロー２２１ｂおよび２２１ｃのパケットのどちらか一方が、他方と衝突した場合は、上記したようなＴＣ２２０の機能により、通信制御装置１２０は同期処理を再実行する必要がない。ＴＣ２２０の機能によってＴＣ２２０内での通信遅延を取得できるため、パケットが衝突したとしても、ＴＣ２２０内の通信遅延をもとに補正が可能である。フロー２２１ｂおよび２２１ｃにおける時刻同期パケットには、ＴＣ２２０内の通信遅延情報が格納される。図１９に示すように、往路（Syncメッセージ）のパケットに格納された通信遅延をＴｔｃｇ、復路（Delay_Reqメッセージ）のパケットに格納された通信遅延をＴｔｃｒとすれば、図１４および図１５に示した同期処理におけるｔ１、ｔ２、ｔ３およびｔ４を用いて、片道の通信遅延ｔｄ並びに時刻の差分ｔｄｉｆｆは、それぞれ式（１８）並びに式（１９）で表わされる。
ｔｄ＝（（ｔ４−（Ｔｔｃｒ＋Ｔｔｃｇ）−ｔ１）−（ｔ３−ｔ２））／２  （１８）
ｔｄｉｆｆ＝（（ｔ４−Ｔｔｃｒ＋ｔ１）―（ｔ３＋ｔ２−Ｔｔｃｇ））／２（１９）
ここで、通信遅延ｔｄは、ＴＣ２２０の通信遅延を除いた値となる。Syncメッセージの送信がマルチキャストで衝突がないとすれば、Ｔｔｃｒ−ＴｔｃｇがＴＣ２２０内での衝突によって生じた遅延、すなわちＴＣ２２０の通信遅延とすることができる。
【０１２５】
なお、通信制御装置１２０は、ネットワーク構成情報記憶部１５１に保持されるＴＣ２２０、ネットワーク中継装置１２１および通信装置１２３の接続順等のネットワーク構成情報を利用する。
（ＴＣによる他のフローの影響除去）
また、他のフローが存在する場合のシステム構成を図２０に示す。
【０１２６】
図２０のシステム構成では、時刻同期パケットのフロー１７０ａおよび１７０ｂがある一方で、時刻同期フローに関係のないフロー１７１が通信装置１２３ｃから通信装置１２３ｄに沿って存在する。フロー１７１のパケットは、ＴＣ２２０ａおよび２２０ｂ内で、時刻同期フロー１７０ａおよび１２０ｂのパケットと衝突する可能性がある。通信制御装置１２０は、フロー１７１が時刻同期フロー１７０に与える影響を検出できないため、通常は時刻同期が困難となる。ただし、図２０のシステム構成で示すように、他のフローが流入する部分にＴＣ２２０ａおよび２２０ｂを導入することで、ＴＣ２２０ａおよび２２０ｂ内での遅延情報が時刻同期パケットに格納される。そのため、通信制御装置１２０は、ＴＣ２２０内での衝突を考慮せずに、ネットワーク中継装置１２１内での衝突を実施例１ついて説明した手段によって判定すれば良い。したがって、通信制御装置１２０は、時刻同期フロー１７０ａおよび１７０ｂの同期パケットの受信間隔を測定し、衝突していないと判定した場合は、時刻同期プロトコルを継続し、通信装置１２３ａおよび１２３ｂを式（１８）および（１９）によって、通信制御装置１２０と同期すればよい。
（実施例３の効果）
本実施例によれば、ＴＣを用いることにより、時刻同期処理の再実行によるオーバーヘッドが低減される。また、部分的なＴＣの導入を可能にすることにより、専用装置であるＴＣの導入を限定することができる。
【実施例４】
【０１２７】
第４の実施例として、複数の通信制御装置を備えるネットワークについて説明する。本実施例は、複数の通信制御装置の中でＩＥＥＥ１５８８のマスタを変更して、受信間隔閾値を小さくしようとするものである。なお、以下の図中において、前述した図中における符号と同じ符号を付した構成要素は、特に断りのない限り、実施例１〜３について説明した構成要素と同様の構成要素である。
【０１２８】
本実施例のシステム構成を図１８に示す。図１８のシステムでは、時刻同期プロトコルを実行することができる通信制御装置１２０ａ〜１２０ｅを、いずれも図３の機能構成を有する。これら通信制御装置１２０ａ〜１２０ｅ間で、ＩＥＥＥ１５８８におけるマスタの役割を移動させる。なお、本実施例では、全ての接続装置が通信制御装置であるが、これに限らず、複数の通信制御装置があれば良い。
【０１２９】
図３に示した受信間隔閾値決定部１３６では、ネットワーク中継装置１２１の段数が大きい程、受信間隔閾値が大きくなる可能性がある（式（１１）および（１２）参照）。そこで、受信間隔閾値を小さくするため、接続装置までのネットワーク中継装置１２１の段数の最大値が、他の通信制御装置１２０を選択した場合よりも小さくなるようにマスタを選択する。したがって、図１８のシステムにおいては、通信制御装置１２０ｃをマスタとすれば、最大の段数を２とすることができる。なお、通信制御装置１２０ａをマスタとすると、最大の段数は３となり、通信制御装置１２０ｃをマスタとする場合よりも大きな段数となる。
【０１３０】
同様に、図２１のシステム構成では、式（１４）に示すように、受信間隔閾値は共通経路の際の段数に依存するため、共通経路の段数を小さくするようにマスタを選択する。したがって、図２１の通信制御装置１２０ｃをマスタとすれば、共通経路の段数を２とすることができる。なお、通信制御装置１２０ａあるいは１２０ｂをマスタとすると、最大の段数は３となり、通信制御装置１２０ｃをマスタとする場合よりも大きな段数となる。
【０１３１】
これらのマスタ選択手段においては、ある通信制御装置の受信間隔閾値決定部が決定し得る受信間隔閾値の最大値が、他の通信制御装置の受信間隔閾値決定部が設定し得る受信間隔閾値の最大値よりも小さい場合に、当該通信制御装置がマスタとして選択される。
【０１３２】
なお、マスタの選択においては、上記のように、受信間隔閾値のような所定の評価指標で比較された通信制御装置の中で、最高（最良）の評価指標を有する通信制御装置を選択するほか、所定レベルより高い評価指標を有する通信制御装置を選択してもよい。
【０１３３】
上記マスタの選択手段を実行する際に、選択される通信制御装置１２０を識別する専用のプロトコルを用いても良いし、ＩＥＥＥ１５８８のBest Master Clock（以下、ＢＭＣとする）アルゴリズムにおいて、マスタを決めるために判定される指標値を各通信制御装置１２０間で意図的に調整しても良い。ＢＭＣでは、ユーザが定義可能なパラメータがあり、これを利用することができる。例えば、このユーザ定義可能なパラメータを、専用のプロトコルに従って、通信制御装置１２０間で交換する。
【０１３４】
また、マスタを選択するために用いる評価指標としては、上述した受信間隔閾値のほか、他の通信制御装置１２０との間のネットワーク中継装置１２１の数、通信遅延、通信帯域、クロックの精度などを用いることができる。例えば、上記したように、各通信制御装置１２０において、残りの通信制御装置１２０とのネットワーク中継装置１２１の段数の分散を求め、分散が最も小さい通信制御装置１２０を選択する（受信間隔閾値の種類を減らし、システム全体の同期精度ばらつきを低減することが期待される）。
【０１３５】
また、ＳＴＰ（Spanning Tree Protocol）、ＲＳＴＰ（Rapid Spanning Tree Protocol）や通信経路の障害等によって、トポロジが変化した場合に、上述したようなマスタ選択手段によってマスタを変更しても良い。
（実施例４の効果）
本実施例におけるマスタ選択手段によれば、受信間隔閾値を低減して、ネットワーク中継装置１２１を用いたシステムでの時刻同期をすることができる。
【実施例５】
【０１３６】
図２３は、本発明の第５の実施例である保護リレーシステムのシステム構成を示す。
【０１３７】
本システムにおいては、送電線２００における複数個所で、図２３においては端子Ａ，ＢおよびＣにおいて、送電線２００に流れる電流が、それぞれ電流検出器３０１ａ，３０１ｂおよび３０１ｃによって検出される。通信装置１２３ａ，１２３ｂおよび１２３ｃは、それぞれ電流検出器３０１ａ，３０１ｂおよび３０１ｃの出力信号に基づいて、送電線の観測点における電流（ｉ１，ｉ２，ｉ３）を計測し、計測された電流の情報を含むパケット信号を、ネットワーク中継装置１２１を介して、通信制御装置１２０に送信する。通信制御装置１２０は、受信した信号に基づいて、電流の総和（ｉ１＋ｉ２＋ｉ３）を演算する。
【０１３８】
ここで、送電線に地絡などの故障が無い正常状態ならば、キルヒホッフの電流則よりｉ１＋ｉ２＋ｉ３＝０となる。そこで、通信制御装置１２０は、ｉ１＋ｉ２＋ｉ３の演算結果に基づいて送電線の異常の有無を判断する。ｉ１＋ｉ２＋ｉ３≠０の場合に、通信制御装置１２０は、送電線に異常が発生したと判断し、遮断器ＣＢａ，ＣＢｂおよびＣＢｃを作動させて開放するための指令信号を発信する（通信装置１２３と遮断器の接続は図示無）。遮断器ＣＢａ，ＣＢｂおよびＣＢｃは、指令信号に応じて、送電線に流れる電流を遮断して、送電線を保護する。
【０１３９】
ｉ１＋ｉ２＋ｉ３が０であるか否かにより送電線の異常の有無を判断するためには、ｉ１，ｉ２およびｉ３は同時刻に計測されることが必要である。このため、本実施例においては、図２３における通信制御装置１２０を上記実施例１〜３における通信制御装置とする。そして、図２３において、通信制御装置１２０をマスタとし、各通信装置１２３をスレーブとして、実施例１〜３と同様に時刻同期処理を行う。これにより、各通信装置１２３の時刻が互いに高精度で同期し、同時刻にｉ１，ｉ２およびｉ３が計測される。
【０１４０】
さらに、本実施例によれば、送電線が長距離となり、ネットワーク中継装置１２１の段数が増加し、パケットのキューイング（衝突）が発生しやすくなっても、各通信装置１２３の時刻を高精度で同期することができるので、送電線の異常を高精度で検出し、異常時に確実に送電線を保護することができる。また、標準的なネットワーク中継装置を用いても高精度な同期が可能なため、長距離の送電線に対応して多数のネットワーク中継装置を用いる場合に、システムのコストを低減できる。
【０１４１】
送電線における電流検出箇所は、３個所に限らず、複数個所でも良い。また、通信装置１２３ａ〜ｃのいずれかを、上記実施例１〜３における通信制御装置として、時刻同期処理を実行させると共に、電流の計測並びに遮断器への指令信号作成を行わせても良い。また、本実施例５におけるネットワーク中継装置１２１として、「実施例１」として上述した、パケット衝突時に、衝突したパケットの送信間隔を一定にするネットワーク中継装置を適用しても良い。
【０１４２】
なお、本発明は前述した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成の追加・削除・置き換えをすることが可能である。
【符号の説明】
【０１４３】
１０１ … ＣＰＵ、１０２… ＬＡＮ、１０８ … メモリ、
１０９ … 不揮発性記憶媒体、１１０ … バス、１２０… 通信制御装置、
１２１，１２１ａ〜ｅ … ネットワーク中継装置、１２２ … ネットワーク、
１２３，１２３ａ〜ｆ … 通信装置、１３０ … 時刻同期処理部、１３１… 通信部、
１３２ … 送信部、１３３ … 受信部、１３４ … 受信間隔測定部、
１３５ … キューイング発生判定部、１３６ … 受信間隔閾値決定部、
１３７ … 判定結果履歴記憶部、１４０，１４１ … パケット、１４２ … バッファ、
１５０ … グループ構成部、１５１ … ネットワーク構成情報記憶部、
１５２ … ネットワーク構成情報推定部、１６０ …同期時刻、
１６１ … 同期時刻選択部、１７０ａ〜ｂ，１７１，２２１ａ〜ｃ …  通信フロー、
１８０ … 時刻同期実行制御部、１９０ … 時刻同期制御装置、
２００ … 送電線、２２０ … Transparent Clock、３０１ａ〜ｃ … 電流検出器、
ＣＢａ〜ｃ … 遮断器
【図１】
2016042646.tif 000003
【図２】
2016042646.tif 000004
【図３】
2016042646.tif 000005
【図４】
2016042646.tif 000006
【図５】
2016042646.tif 000007
【図６】
2016042646.tif 000008
【図７】
2016042646.tif 000009
【図８】
2016042646.tif 000010
【図９】
2016042646.tif 000011
【図１０】
2016042646.tif 000012
【図１１】
2016042646.tif 000013
【図１２】
2016042646.tif 000014
【図１３】
2016042646.tif 000015
【図１４】
2016042646.tif 000016
【図１５】
2016042646.tif 000017
【図１６】
2016042646.tif 000018
【図１７】
2016042646.tif 000019
【図１８】
2016042646.tif 000020
【図１９】
2016042646.tif 000021
【図２０】
2016042646.tif 000022
【図２１】
2016042646.tif 000023
【図２２】
2016042646.tif 000024
【図２３】
2016042646.tif 000025