(57)【要約】【課題】マスタ装置の時刻とスレーブ装置の時刻とを高い精度にて同期することが可能な通信システムを提供すること。【解決手段】通信システム５００は、マスタ装置が、単位データがリング型ネットワークを１周するために要する時間である所要時間を取得し（５０１）、各スレーブ装置が、第１の単位データ及び第２の単位データを、互いに異なる方向にてマスタ装置へ向けて送信するための処理を同時に開始し（５０２）、マスタ装置が各スレーブ装置に対して、第１の単位データを受信した時刻と、第２の単位データを受信した時刻と、の差である時刻差を取得し（５０３）、所要時間と時刻差とに基づいて、マスタ装置からスレーブ装置へ単位データが到達するまでに要する遅延時間を算出し（５０４）、遅延時間とマスタ装置の時刻とに基づいて、マスタ装置の時刻とスレーブ装置の時刻とを同期させる（５０５）。【選択図】図１１
2013146006.tif 000002
【特許請求の範囲】
【請求項１】
リング型ネットワークを構成し、且つ、現在の時刻を示す時計を有する複数の通信装置を備える通信システムであって、
前記複数の通信装置の１つであるマスタ装置が、前記リング型ネットワークを１周するように、予め定められた形式に従った単位データを送信し、且つ、当該単位データを受信することにより、当該単位データが当該リング型ネットワークを１周するために要する時間である周回所要時間を取得する周回所要時間取得手段と、
前記複数の通信装置のうちの前記マスタ装置以外のスレーブ装置のそれぞれが、第１の単位データ、及び、第２の単位データを、互いに異なる方向にて前記マスタ装置へ向けて送信するための処理を同時に開始するスレーブ側単位データ送信手段と、
前記マスタ装置が、前記スレーブ装置のそれぞれに対して、当該スレーブ装置により送信された前記第１の単位データを受信した時刻と、当該スレーブ装置により送信された前記第２の単位データを受信した時刻と、の差である伝送受信時刻差を取得する受信時刻差取得手段と、
前記取得された周回所要時間と、前記取得された伝送受信時刻差と、に基づいて、前記スレーブ装置のそれぞれに対して、前記マスタ装置から当該スレーブ装置へ単位データが到達するまでに要する遅延時間を算出する遅延時間算出手段と、
前記スレーブ装置のそれぞれに対して、前記算出された遅延時間と、前記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる時刻同期手段と、
を備える通信システム。
【請求項２】
請求項１に記載の通信システムであって、
前記時刻同期手段は、
前記マスタ装置が、前記スレーブ装置のそれぞれに対して、当該マスタ装置が有する時計が示す時刻に、当該スレーブ装置に対して前記算出された遅延時間を加えた時刻を含む単位データを送信し、且つ、当該スレーブ装置が、当該マスタ装置により送信された単位データを受信し、当該スレーブ装置が有する時刻を、当該受信された単位データに含まれる時刻に設定するように構成された通信システム。
【請求項３】
請求項１又は請求項２に記載の通信システムであって、
前記スレーブ装置のそれぞれは、受信された単位データをバッファに一時的に記憶させるとともに、当該バッファに記憶されている単位データのうちの、宛先として当該スレーブ装置が設定されていない単位データを、順次、送信するように構成され、
前記スレーブ側単位データ送信手段は、
前記スレーブ装置のそれぞれが、当該スレーブ装置が備えるバッファを経由する単位データであるバッファ経由単位データと、当該バッファを経由しない単位データであるバッファ未経由単位データと、を同一の方向にて前記マスタ装置へ向けて送信するための処理を同時に開始するように構成され、
前記受信時刻差取得手段は、
前記マスタ装置が、前記スレーブ装置のそれぞれに対して、当該スレーブ装置により送信された前記バッファ経由単位データを受信した時刻と、当該スレーブ装置により送信された前記バッファ未経由単位データを受信した時刻と、の差であるバッファ受信時刻差を取得するように構成され、
前記遅延時間算出手段は、
前記取得された周回所要時間と、前記取得された伝送受信時刻差と、前記取得されたバッファ受信時刻差と、に基づいて、前記遅延時間を算出するように構成された通信システム。
【請求項４】
請求項３に記載の通信システムであって、
前記スレーブ側単位データ送信手段は、
前記スレーブ装置のそれぞれが、第１のバッファ経由単位データ及び第１のバッファ未経由単位データと、第２のバッファ経由単位データ及び第２のバッファ未経由単位データと、を互いに異なる方向にて前記マスタ装置へ向けて送信するための処理を同時に開始するように構成され、
前記受信時刻差取得手段は、
前記マスタ装置が、前記スレーブ装置のそれぞれに対して、当該スレーブ装置により送信された前記第１のバッファ経由単位データを受信した時刻と、当該スレーブ装置により送信された前記第１のバッファ未経由単位データを受信した時刻と、の差である第１のバッファ受信時刻差を取得するとともに、当該スレーブ装置により送信された前記第２のバッファ経由単位データを受信した時刻と、当該スレーブ装置により送信された前記第２のバッファ未経由単位データを受信した時刻と、の差である第２のバッファ受信時刻差を取得するように構成され、
前記遅延時間算出手段は、
前記取得された周回所要時間と、前記取得された伝送受信時刻差と、前記取得された第１のバッファ受信時刻差と、前記取得された第２のバッファ受信時刻差と、に基づいて、前記遅延時間を算出するように構成された通信システム。
【請求項５】
請求項１乃至請求項４のいずれかに記載の通信システムであって、
前記周回所要時間取得手段は、
前記マスタ装置が、前記リング型ネットワークを互いに異なる方向にて１周するように、一対の単位データを送信し、且つ、受信することにより、当該一対の単位データのそれぞれが当該リング型ネットワークを１周するために要する時間を取得し、当該取得された時間を平均した値を前記周回所要時間として取得するように構成された通信システム。
【請求項６】
リング型ネットワークを構成し、且つ、現在の時刻を示す時計を有する複数の通信装置を備える通信システムに適用され、
前記複数の通信装置の１つであるマスタ装置が、前記リング型ネットワークを１周するように、予め定められた形式に従った単位データを送信し、且つ、当該単位データを受信することにより、当該単位データが当該リング型ネットワークを１周するために要する時間である周回所要時間を取得し、
前記複数の通信装置のうちの前記マスタ装置以外のスレーブ装置のそれぞれが、第１の単位データ、及び、第２の単位データを、互いに異なる方向にて前記マスタ装置へ向けて送信するための処理を同時に開始し、
前記マスタ装置が、前記スレーブ装置のそれぞれに対して、当該スレーブ装置により送信された前記第１の単位データを受信した時刻と、当該スレーブ装置により送信された前記第２の単位データを受信した時刻と、の差である伝送受信時刻差を取得し、
前記取得された周回所要時間と、前記取得された伝送受信時刻差と、に基づいて、前記スレーブ装置のそれぞれに対して、前記マスタ装置から当該スレーブ装置へ単位データが到達するまでに要する遅延時間を算出し、
前記スレーブ装置のそれぞれに対して、前記算出された遅延時間と、前記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる、通信システム制御方法。
【請求項７】
現在の時刻を示す時計を有し、且つ、他の通信装置とともにリング型ネットワークを構成する通信装置であるマスタ装置であって、
前記リング型ネットワークを１周するように、予め定められた形式に従った単位データを送信し、且つ、当該単位データを受信することにより、当該単位データが当該リング型ネットワークを１周するために要する時間である周回所要時間を取得する周回所要時間取得手段と、
前記他の通信装置であるスレーブ装置のそれぞれに対して、当該スレーブ装置が第１の単位データ、及び、第２の単位データを、互いに異なる方向にて前記マスタ装置へ向けて送信するための処理を同時に開始することにより送信された、当該第１の単位データ及び当該第２の単位データのそれぞれを受信した時刻の差である伝送受信時刻差を取得する受信時刻差取得手段と、
前記取得された周回所要時間と、前記取得された伝送受信時刻差と、に基づいて、前記スレーブ装置のそれぞれに対して、前記マスタ装置から当該スレーブ装置へ単位データが到達するまでに要する遅延時間を算出する遅延時間算出手段と、
前記スレーブ装置のそれぞれに対して、前記算出された遅延時間と、前記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる時刻同期手段と、
を備えるマスタ装置。
【請求項８】
現在の時刻を示す時計を有し、且つ、他の通信装置とともにリング型ネットワークを構成する通信装置であるマスタ装置に適用され、
前記リング型ネットワークを１周するように、予め定められた形式に従った単位データを送信し、且つ、当該単位データを受信することにより、当該単位データが当該リング型ネットワークを１周するために要する時間である周回所要時間を取得し、
前記他の通信装置であるスレーブ装置のそれぞれに対して、当該スレーブ装置が第１の単位データ、及び、第２の単位データを、互いに異なる方向にて前記マスタ装置へ向けて送信するための処理を同時に開始することにより送信された、当該第１の単位データ及び当該第２の単位データのそれぞれを受信した時刻の差である伝送受信時刻差を取得し、
前記取得された周回所要時間と、前記取得された伝送受信時刻差と、に基づいて、前記スレーブ装置のそれぞれに対して、前記マスタ装置から当該スレーブ装置へ単位データが到達するまでに要する遅延時間を算出し、
前記スレーブ装置のそれぞれに対して、前記算出された遅延時間と、前記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる、マスタ装置制御方法。
【請求項９】
現在の時刻を示す時計を有し、且つ、他の通信装置とともにリング型ネットワークを構成する通信装置であるスレーブ装置であって、
第１の単位データ、及び、第２の単位データを、互いに異なる方向にて、前記他の通信装置の１つであるマスタ装置へ向けて送信するための処理を同時に開始するスレーブ側単位データ送信手段と、
前記マスタ装置により算出され、且つ、当該マスタ装置から前記スレーブ装置へ単位データが到達するまでに要する遅延時間と、前記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる時刻同期手段と、
を備えるスレーブ装置。
【請求項１０】
現在の時刻を示す時計を有し、且つ、他の通信装置とともにリング型ネットワークを構成する通信装置であるスレーブ装置に適用され、
第１の単位データ、及び、第２の単位データを、互いに異なる方向にて、前記他の通信装置の１つであるマスタ装置へ向けて送信するための処理を同時に開始し、
前記マスタ装置により算出され、且つ、当該マスタ装置から前記スレーブ装置へ単位データが到達するまでに要する遅延時間と、前記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる、スレーブ装置制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リング型ネットワークを構成する複数の通信装置を備える通信システムに関する。
【背景技術】
【０００２】
リング型ネットワークを構成し、且つ、現在の時刻を示す時計を有する複数の通信装置を備える通信システムが知られている。この種の通信システムの一つとして、特許文献１に記載の通信システムは、複数の通信装置のそれぞれが、自装置が有する時計が示す時刻に基づいて、計測パケットを送信した時刻、及び、計測パケットを受信した時刻を取得する。
【０００３】
更に、通信システムは、上記取得された時刻に基づいて、複数の通信装置の１つであるマスタ装置が有する時計が示す時刻（マスタ装置の時刻）と、複数の通信装置のうちのマスタ装置以外のスレーブ装置のそれぞれが有する時計が示す時刻（スレーブ装置の時刻）と、を同期させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４５５８０９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上記通信システムにおいては、スレーブ装置が有する時計が示す時刻に基づいて、マスタ装置の時刻とスレーブ装置の時刻とを同期させている。従って、スレーブ装置が有する時計の精度が比較的低い場合には、マスタ装置の時刻とスレーブ装置の時刻とを高い精度にて同期できない虞があった。
【０００６】
このため、本発明の目的は、上述した課題である「マスタ装置の時刻とスレーブ装置の時刻とを高い精度にて同期できない場合が生じること」を解決することが可能な通信システムを提供することにある。
【課題を解決するための手段】
【０００７】
かかる目的を達成するため本発明の一形態である通信システムは、リング型ネットワークを構成し、且つ、現在の時刻を示す時計を有する複数の通信装置を備えるシステムである。
【０００８】
更に、この通信システムは、
上記複数の通信装置の１つであるマスタ装置が、上記リング型ネットワークを１周するように、予め定められた形式に従った単位データを送信し、且つ、当該単位データを受信することにより、当該単位データが当該リング型ネットワークを１周するために要する時間である周回所要時間を取得する周回所要時間取得手段と、
上記複数の通信装置のうちの上記マスタ装置以外のスレーブ装置のそれぞれが、第１の単位データ、及び、第２の単位データを、互いに異なる方向にて上記マスタ装置へ向けて送信するための処理を同時に開始するスレーブ側単位データ送信手段と、
上記マスタ装置が、上記スレーブ装置のそれぞれに対して、当該スレーブ装置により送信された上記第１の単位データを受信した時刻と、当該スレーブ装置により送信された上記第２の単位データを受信した時刻と、の差である伝送受信時刻差を取得する受信時刻差取得手段と、
上記取得された周回所要時間と、上記取得された伝送受信時刻差と、に基づいて、上記スレーブ装置のそれぞれに対して、上記マスタ装置から当該スレーブ装置へ単位データが到達するまでに要する遅延時間を算出する遅延時間算出手段と、
上記スレーブ装置のそれぞれに対して、上記算出された遅延時間と、上記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる時刻同期手段と、
を備える。
【０００９】
また、本発明の他の形態である通信システム制御方法は、
リング型ネットワークを構成し、且つ、現在の時刻を示す時計を有する複数の通信装置を備える通信システムに適用され、
上記複数の通信装置の１つであるマスタ装置が、上記リング型ネットワークを１周するように、予め定められた形式に従った単位データを送信し、且つ、当該単位データを受信することにより、当該単位データが当該リング型ネットワークを１周するために要する時間である周回所要時間を取得し、
上記複数の通信装置のうちの上記マスタ装置以外のスレーブ装置のそれぞれが、第１の単位データ、及び、第２の単位データを、互いに異なる方向にて上記マスタ装置へ向けて送信するための処理を同時に開始し、
上記マスタ装置が、上記スレーブ装置のそれぞれに対して、当該スレーブ装置により送信された上記第１の単位データを受信した時刻と、当該スレーブ装置により送信された上記第２の単位データを受信した時刻と、の差である伝送受信時刻差を取得し、
上記取得された周回所要時間と、上記取得された伝送受信時刻差と、に基づいて、上記スレーブ装置のそれぞれに対して、上記マスタ装置から当該スレーブ装置へ単位データが到達するまでに要する遅延時間を算出し、
上記スレーブ装置のそれぞれに対して、上記算出された遅延時間と、上記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる、方法である。
【００１０】
また、本発明の他の形態であるマスタ装置は、現在の時刻を示す時計を有し、且つ、他の通信装置とともにリング型ネットワークを構成する通信装置である。
【００１１】
更に、このマスタ装置は、
上記リング型ネットワークを１周するように、予め定められた形式に従った単位データを送信し、且つ、当該単位データを受信することにより、当該単位データが当該リング型ネットワークを１周するために要する時間である周回所要時間を取得する周回所要時間取得手段と、
上記他の通信装置であるスレーブ装置のそれぞれに対して、当該スレーブ装置が第１の単位データ、及び、第２の単位データを、互いに異なる方向にて上記マスタ装置へ向けて送信するための処理を同時に開始することにより送信された、当該第１の単位データ及び当該第２の単位データのそれぞれを受信した時刻の差である伝送受信時刻差を取得する受信時刻差取得手段と、
上記取得された周回所要時間と、上記取得された伝送受信時刻差と、に基づいて、上記スレーブ装置のそれぞれに対して、上記マスタ装置から当該スレーブ装置へ単位データが到達するまでに要する遅延時間を算出する遅延時間算出手段と、
上記スレーブ装置のそれぞれに対して、上記算出された遅延時間と、上記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる時刻同期手段と、
を備える。
【００１２】
また、本発明の他の形態であるマスタ装置制御方法は、
現在の時刻を示す時計を有し、且つ、他の通信装置とともにリング型ネットワークを構成する通信装置であるマスタ装置に適用され、
上記リング型ネットワークを１周するように、予め定められた形式に従った単位データを送信し、且つ、当該単位データを受信することにより、当該単位データが当該リング型ネットワークを１周するために要する時間である周回所要時間を取得し、
上記他の通信装置であるスレーブ装置のそれぞれに対して、当該スレーブ装置が第１の単位データ、及び、第２の単位データを、互いに異なる方向にて上記マスタ装置へ向けて送信するための処理を同時に開始することにより送信された、当該第１の単位データ及び当該第２の単位データのそれぞれを受信した時刻の差である伝送受信時刻差を取得し、
上記取得された周回所要時間と、上記取得された伝送受信時刻差と、に基づいて、上記スレーブ装置のそれぞれに対して、上記マスタ装置から当該スレーブ装置へ単位データが到達するまでに要する遅延時間を算出し、
上記スレーブ装置のそれぞれに対して、上記算出された遅延時間と、上記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる、方法である。
【００１３】
また、本発明の他の形態であるマスタ装置制御プログラムは、
現在の時刻を示す時計を有し、且つ、他の通信装置とともにリング型ネットワークを構成する通信装置であるマスタ装置に、
上記リング型ネットワークを１周するように、予め定められた形式に従った単位データを送信し、且つ、当該単位データを受信することにより、当該単位データが当該リング型ネットワークを１周するために要する時間である周回所要時間を取得し、
上記他の通信装置であるスレーブ装置のそれぞれに対して、当該スレーブ装置が第１の単位データ、及び、第２の単位データを、互いに異なる方向にて上記マスタ装置へ向けて送信するための処理を同時に開始することにより送信された、当該第１の単位データ及び当該第２の単位データのそれぞれを受信した時刻の差である伝送受信時刻差を取得し、
上記取得された周回所要時間と、上記取得された伝送受信時刻差と、に基づいて、上記スレーブ装置のそれぞれに対して、上記マスタ装置から当該スレーブ装置へ単位データが到達するまでに要する遅延時間を算出し、
上記スレーブ装置のそれぞれに対して、上記算出された遅延時間と、上記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる、処理を実行させるためのプログラムである。
【００１４】
また、本発明の他の形態であるスレーブ装置は、現在の時刻を示す時計を有し、且つ、他の通信装置とともにリング型ネットワークを構成する通信装置である。
【００１５】
更に、このスレーブ装置は、
第１の単位データ、及び、第２の単位データを、互いに異なる方向にて、上記他の通信装置の１つであるマスタ装置へ向けて送信するための処理を同時に開始するスレーブ側単位データ送信手段と、
上記マスタ装置により算出され、且つ、当該マスタ装置から上記スレーブ装置へ単位データが到達するまでに要する遅延時間と、上記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる時刻同期手段と、
を備える。
【００１６】
また、本発明の他の形態であるスレーブ装置制御方法は、
現在の時刻を示す時計を有し、且つ、他の通信装置とともにリング型ネットワークを構成する通信装置であるスレーブ装置に適用され、
第１の単位データ、及び、第２の単位データを、互いに異なる方向にて、上記他の通信装置の１つであるマスタ装置へ向けて送信するための処理を同時に開始し、
上記マスタ装置により算出され、且つ、当該マスタ装置から上記スレーブ装置へ単位データが到達するまでに要する遅延時間と、上記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる、方法である。
【００１７】
また、本発明の他の形態であるスレーブ装置制御プログラムは、
現在の時刻を示す時計を有し、且つ、他の通信装置とともにリング型ネットワークを構成する通信装置であるスレーブ装置に、
第１の単位データ、及び、第２の単位データを、互いに異なる方向にて、上記他の通信装置の１つであるマスタ装置へ向けて送信するための処理を同時に開始し、
上記マスタ装置により算出され、且つ、当該マスタ装置から上記スレーブ装置へ単位データが到達するまでに要する遅延時間と、上記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる、処理を実行させるためのプログラムである。
【発明の効果】
【００１８】
本発明は、以上のように構成されることにより、マスタ装置の時刻とスレーブ装置の時刻とを高い精度にて同期することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１実施形態に係る通信システムの概略構成を表す図である。
【図２】本発明の第１実施形態に係る、スレーブ装置としての通信装置の構成を表すブロック図である。
【図３】本発明の第１実施形態に係る、マスタ装置としての通信装置の構成を表すブロック図である。
【図４】本発明の第１実施形態に係る、マスタ装置としての通信装置が記憶する情報を示したテーブルである。
【図５】本発明の第１実施形態に係る、マスタ装置としての通信装置が記憶する情報を示したテーブルである。
【図６】本発明の第１実施形態に係る通信システムにおける伝送所要時間を概念的に示した説明図である。
【図７】本発明の第２実施形態に係る、スレーブ装置としての通信装置の構成を表すブロック図である。
【図８】本発明の第２実施形態に係る、マスタ装置としての通信装置が記憶する情報を示したテーブルである。
【図９】本発明の第２実施形態に係る通信システムにおける、伝送所要時間及び内部所要時間を概念的に示した説明図である。
【図１０】本発明の第３実施形態に係る通信システムにおける、伝送所要時間及び内部所要時間を概念的に示した説明図である。
【図１１】本発明の第４実施形態に係る通信システムの構成を表すブロック図である。
【発明を実施するための形態】
【００２０】
以下、本発明に係る、通信システム、通信システム制御方法、マスタ装置、マスタ装置制御方法、マスタ装置制御プログラム、スレーブ装置、スレーブ装置制御方法、及び、スレーブ装置制御プログラム、の各実施形態について図１〜図１１を参照しながら説明する。
【００２１】
＜第１実施形態＞
（構成）
図１に示したように、第１実施形態に係る通信システム１は、複数（本例では、４つ）の通信装置１１〜１４を備える。複数の通信装置１１〜１４は、リング型ネットワークを構成する。
【００２２】
具体的には、通信装置１１（通信装置＃１）は、通信装置１４（通信装置＃４）、及び、通信装置１２（通信装置＃２）のそれぞれと、通信路を介して互いに通信可能に接続されている。また、通信装置１２（通信装置＃２）は、通信装置１１（通信装置＃１）、及び、通信装置１３（通信装置＃３）のそれぞれと、通信路を介して互いに通信可能に接続されている。また、通信装置１３（通信装置＃３）は、通信装置１２（通信装置＃２）、及び、通信装置１４（通信装置＃４）のそれぞれと、通信路を介して互いに通信可能に接続されている。また、通信装置１４（通信装置＃４）は、通信装置１３（通信装置＃３）、及び、通信装置１１（通信装置＃１）のそれぞれと、通信路を介して互いに通信可能に接続されている。
【００２３】
通信システム１は、リング型ネットワークにおける両方向（第１の方向としての時計方向（時計回りの方向）、及び、第２の方向としての反時計方向（反時計回りの方向））のそれぞれにてデータを伝送可能に構成されている。即ち、このリング型ネットワークにおいては、時計方向（図１における矢印Ａ１〜Ａ４）と、反時計方向（図１における矢印Ｂ１〜Ｂ４）の両方の通信方向が存在する。
【００２４】
本例では、各通信路に対して、時計方向における伝送所要時間と、反時計方向における伝送所要時間と、が略等しい場合を想定する。伝送所要時間は、接続されている２つの通信装置の一方によりデータが送信されてから、当該２つの通信装置の他方により当該データが受信されるまでに（即ち、１つの通信路をデータが伝送されるために）要する時間である。
【００２５】
また、本例では、内部所要時間が伝送所要時間に対して十分に小さい場合を想定する。内部所要時間は、データが通信装置により受信されてから、当該通信装置により送信（即ち、転送）されるまでに要する時間である。
【００２６】
通信システム１は、非同期通信（本例では、イーサネット（登録商標）に従った通信）を行う。即ち、本例では、通信システム１は、予め定められた形式に従った単位データとしてフレームを伝送する。なお、通信システム１は、イーサネット以外の方式に従った通信を行うように構成されていてもよい。例えば、通信システム１は、単位データとして、パケット、セル、又は、フラグメント等を伝送するように構成されていてもよい。
【００２７】
本例では、通信装置１１は、マスタ装置である。通信装置１２〜１４のそれぞれは、スレーブ装置である。
【００２８】
図２に示したように、通信装置１２（スレーブ装置）は、第１のフレーム入力部１０１と、第１の入力側バッファ部１０２と、第１の出力側バッファ部１０３と、第１のフレーム出力部１０４と、第２のフレーム入力部１０５と、第２の入力側バッファ部１０６と、第２の出力側バッファ部１０７と、第２のフレーム出力部１０８と、フレーム生成部１０９と、時計部１１０と、を備える。
【００２９】
第１のフレーム入力部１０１は、時計方向にて伝送される（即ち、通信装置１１により送信された）フレームを受信する（フレームが入力される）。
同様に、第２のフレーム入力部１０５は、反時計方向にて伝送される（即ち、通信装置１３により送信された）フレームを受信する。
【００３０】
第１のフレーム入力部１０１及び第２のフレーム入力部１０５のそれぞれは、受信されたフレームが、自装置（本例では、通信装置１２）に対する時刻補正情報を含む場合、当該時刻補正情報を時計部１１０へ出力する。時刻補正情報は、設定されるべき時刻を表す情報である。
【００３１】
第１のフレーム入力部１０１は、受信されたフレームを第１の入力側バッファ部１０２へ出力する。
また、第２のフレーム入力部１０５は、受信されたフレームを第２の入力側バッファ部１０６へ出力する。
【００３２】
第１の入力側バッファ部１０２は、第１のフレーム入力部１０１により出力されたフレームを一時的に記憶する。第１の入力側バッファ部１０２は、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）方式に従ったバッファである。第１の入力側バッファ部１０２は、記憶されているフレームのうちの、自装置が宛先として設定されていないフレームを、順次、第１の出力側バッファ部１０３へ出力する。
【００３３】
第１の出力側バッファ部１０３は、第１の入力側バッファ部１０２により出力されたフレームを一時的に記憶する。第１の出力側バッファ部１０３は、ＦＩＦＯ方式に従ったバッファである。第１の出力側バッファ部１０３は、記憶されているフレームを、順次、第１のフレーム出力部１０４へ出力する。
【００３４】
第２の入力側バッファ部１０６は、第２のフレーム入力部１０５により出力されたフレームを一時的に記憶する。第２の入力側バッファ部１０６は、ＦＩＦＯ方式に従ったバッファである。第２の入力側バッファ部１０６は、記憶されているフレームのうちの、自装置が宛先として設定されていないフレームを、順次、第２の出力側バッファ部１０７へ出力する。
【００３５】
第２の出力側バッファ部１０７は、第２の入力側バッファ部１０６により出力されたフレームを一時的に記憶する。第２の出力側バッファ部１０７は、ＦＩＦＯ方式に従ったバッファである。第２の出力側バッファ部１０７は、記憶されているフレームを、順次、第２のフレーム出力部１０８へ出力する。
【００３６】
第１のフレーム出力部１０４は、第１の出力側バッファ部１０３、又は、フレーム生成部１０９により出力されたフレームを時計方向にて（本例では、通信装置１３へ）送信する。本例では、第１のフレーム出力部１０４は、フレーム生成部１０９により出力されたフレームを、第１の出力側バッファ部１０３により出力されたフレームよりも優先して送信する。
【００３７】
また、第２のフレーム出力部１０８は、第２の出力側バッファ部１０７、又は、フレーム生成部１０９により出力されたフレームを反時計方向にて（本例では、通信装置１１へ）送信する。本例では、第２のフレーム出力部１０８は、フレーム生成部１０９により出力されたフレームを、第２の出力側バッファ部１０７により出力されたフレームよりも優先して送信する。
【００３８】
フレーム生成部１０９は、マスタ装置としての通信装置１１が宛先として設定された第１のフレーム（第１の区間用フレーム）と、マスタ装置としての通信装置１１が宛先として設定された第２のフレーム（第２の区間用フレーム）と、を生成する。フレーム生成部１０９は、同時に、第１のフレームを第１のフレーム出力部１０４へ出力し、且つ、第２のフレームを第２のフレーム出力部１０８へ出力する。
【００３９】
即ち、フレーム生成部１０９は、第１の単位データとしての第１の区間用フレーム、及び、第２の単位データとしての第２の区間用フレームを、互いに異なる方向にてマスタ装置へ向けて送信するための処理を同時に開始するスレーブ側単位データ送信手段を構成している。
【００４０】
時計部１１０は、現在の時刻を示す時計を有する。本例では、時計は、水晶発振子（水晶振動子）を用いることにより時間を計測する。時計部１１０は、上記時計が示す現在の時刻を、第１のフレーム入力部１０１、又は、第２のフレーム入力部１０５により出力された時刻補正情報が表す時刻に設定（補正）する。
なお、通信装置１３及び通信装置１４のそれぞれも、通信装置１２と同様に構成される。
【００４１】
図３に示したように、通信装置１１（マスタ装置）は、時計部２０１と、フレーム生成部２０２と、第１のフレーム出力部２０３と、第２のフレーム出力部２０４と、第１のフレーム入力部２０５と、第１の時刻情報取得部２０６と、第２のフレーム入力部２０７と、第２の時刻情報取得部２０８と、時刻情報記憶部２０９と、時刻補正情報生成部２１０と、を備える。
【００４２】
時計部２０１は、現在の時刻を示す時計を有する。本例では、時計は、水晶発振子（水晶振動子）を用いることにより時間を計測する。なお、本例では、各スレーブ装置が有する時計が示す時刻は、時計部２０１（マスタ装置）が有する時計が示す時刻に基づいて補正される。
【００４３】
フレーム生成部２０２は、マスタ装置としての自装置（通信装置１１）が宛先として設定され、且つ、時計部２０１が有する時計が示す現在の時刻を表す送信時刻情報を含むフレーム（周回用フレーム）を生成する。フレーム生成部２０２は、生成された周回用フレームを、同時に、第１のフレーム出力部２０３、及び、第２のフレーム出力部２０４のそれぞれへ出力する。
【００４４】
なお、フレーム生成部２０２は、生成された周回用フレームを、第１の時点にて第１のフレーム出力部２０３へ出力し、且つ、第１の時点と異なる第２の時点にて第２のフレーム出力部２０４へ出力するように構成されていてもよい。
【００４５】
本例では、第１のフレーム出力部２０３、及び、第２のフレーム出力部２０４のそれぞれへ出力された周回用フレームは、リング型ネットワークを互いに異なる方向にて１周するようにマスタ装置により送信される一対の単位データを構成している。
【００４６】
第１のフレーム出力部２０３は、フレーム生成部２０２、又は、時刻補正情報生成部２１０により出力されたフレームを時計方向にて（本例では、通信装置１２へ）送信する。
同様に、第２のフレーム出力部２０４は、フレーム生成部２０２、又は、時刻補正情報生成部２１０により出力されたフレームを反時計方向にて（本例では、通信装置１４へ）送信する。
【００４７】
第１のフレーム入力部２０５は、時計方向にて伝送される（即ち、通信装置１４により送信された）フレームを受信する（フレームが入力される）。
同様に、第２のフレーム入力部２０７は、反時計方向にて伝送される（即ち、通信装置１２により送信された）フレームを受信する。
【００４８】
第１のフレーム入力部２０５は、受信されたフレームを第１の時刻情報取得部２０６へ出力する。
同様に、第２のフレーム入力部２０７は、受信されたフレームを第２の時刻情報取得部２０８へ出力する。
【００４９】
第１の時刻情報取得部２０６は、第１のフレーム入力部２０５により出力されたフレームが周回用フレームである場合、当該周回用フレームに含まれる送信時刻情報と、時計部２０１が有する時計が示す現在の時刻を表す受信時刻情報と、通信方向を表す通信方向情報としての、時計方向を表す情報と、を時刻情報記憶部２０９へ出力する。
【００５０】
更に、第１の時刻情報取得部２０６は、第１のフレーム入力部２０５により出力されたフレームが第１の区間用フレームである場合、時計部２０１が有する時計が示す現在の時刻を表す受信時刻情報と、通信方向を表す通信方向情報としての、時計方向を表す情報と、当該第１のフレームの送信元として設定された通信装置を表す装置特定情報と、を時刻情報記憶部２０９へ出力する。
【００５１】
本例では、第１の時刻情報取得部２０６は、フレームに含まれる、当該フレームの送信元を表す情報に基づいて、当該フレームが、周回用フレーム、及び、第１の区間用フレームのいずれであるかを判定する。なお、第１の時刻情報取得部２０６は、フレームに含まれる他の情報に基づいて当該判定を行うように構成されていてもよい。
【００５２】
第２の時刻情報取得部２０８は、第２のフレーム入力部２０７により出力されたフレームが周回用フレームである場合、当該周回用フレームに含まれる送信時刻情報と、時計部２０１が有する時計が示す現在の時刻を表す受信時刻情報と、通信方向を表す通信方向情報としての、反時計方向を表す情報と、を時刻情報記憶部２０９へ出力する。
【００５３】
更に、第２の時刻情報取得部２０８は、第２のフレーム入力部２０７により出力されたフレームが第２の区間用フレームである場合、時計部２０１が有する時計が示す現在の時刻を表す受信時刻情報と、通信方向を表す通信方向情報としての、反時計方向を表す情報と、当該第２のフレームの送信元として設定された通信装置を表す装置特定情報と、を時刻情報記憶部２０９へ出力する。
【００５４】
本例では、第２の時刻情報取得部２０８は、フレームに含まれる、当該フレームの送信元を表す情報に基づいて、当該フレームが、周回用フレーム、及び、第２の区間用フレームのいずれであるかを判定する。なお、第２の時刻情報取得部２０８は、フレームに含まれる他の情報に基づいて当該判定を行うように構成されていてもよい。
【００５５】
このように、時計部２０１、フレーム生成部２０２、第１のフレーム出力部２０３、第２のフレーム出力部２０４、第１のフレーム入力部２０５、第１の時刻情報取得部２０６、第２のフレーム入力部２０７、第２の時刻情報取得部２０８、及び、時刻情報記憶部２０９は、周回所要時間取得手段を構成している。
【００５６】
時刻情報記憶部２０９は、記憶装置（本例では、読み書き可能なメモリ）により構成される。
図４に示したように、時刻情報記憶部２０９は、第１の時刻情報取得部２０６、及び、第２の時刻情報取得部２０８のそれぞれにより出力された、通信方向情報と、送信時刻情報と、受信時刻情報と、を対応付けて記憶する。
【００５７】
図５に示したように、時刻情報記憶部２０９は、第１の時刻情報取得部２０６、及び、第２の時刻情報取得部２０８のそれぞれにより出力された、装置特定情報と、通信方向情報と、受信時刻情報と、を対応付けて記憶する。
【００５８】
時刻補正情報生成部２１０は、時刻情報記憶部２０９に記憶されている情報と、時計部２０１が有する時計が示す現在の時刻を表す情報と、に基づいて、各スレーブ装置に対する時刻補正情報を生成する。時刻補正情報生成部２１０は、生成された時刻補正情報を含むフレームを生成する。時刻補正情報生成部２１０は、生成されたフレームを、第１のフレーム出力部２０３、又は、第２のフレーム出力部２０４へ出力する。
【００５９】
ここで、時刻補正情報生成部２１０について、より詳細に説明する。
先ず、時刻補正情報生成部２１０は、周回所要時間ｔｒｏｕｎｄを取得（算出）する。周回所要時間は、フレームがリング型ネットワークを１周するために要する時間である。
【００６０】
本例では、時刻補正情報生成部２１０は、数式１に基づいて周回所要時間ｔｒｏｕｎｄを取得する。
【数１】
2013146006.tif 000003
【００６１】
ここで、ｔ１１は、時計方向を表す通信方向情報と対応付けて時刻情報記憶部２０９に記憶されている送信時刻情報が表す時刻である。即ち、ｔ１１は、時計方向にて周回用フレームが送信された時刻である。
【００６２】
また、ｔ１２は、時計方向を表す通信方向情報と対応付けて時刻情報記憶部２０９に記憶されている受信時刻情報が表す時刻である。即ち、ｔ１２は、時計方向にて送信された周回用フレームがマスタ装置により受信された時刻である。
【００６３】
更に、ｔ１３は、反時計方向を表す通信方向情報と対応付けて時刻情報記憶部２０９に記憶されている送信時刻情報が表す時刻である。即ち、ｔ１３は、反時計方向にて周回用フレームが送信された時刻である。
【００６４】
また、ｔ１４は、反時計方向を表す通信方向情報と対応付けて時刻情報記憶部２０９に記憶されている受信時刻情報が表す時刻である。即ち、ｔ１４は、反時計方向にて送信された周回用フレームがマスタ装置により受信された時刻である。
【００６５】
即ち、本例では、時刻補正情報生成部２１０は、リング型ネットワークを互いに異なる方向にて１周するように送信された一対の単位データとしての周回用フレームのそれぞれが、当該リング型ネットワークを１周するために要する時間を平均した値を、周回所要時間として取得している、と言うことができる。
これによれば、周回所要時間を高い精度にて取得することができる。この結果、高い精度にて、後述する遅延時間を算出することができる。
【００６６】
なお、時刻補正情報生成部２１０は、いずれか一方の通信方向を表す通信方向情報と対応付けて時刻情報記憶部２０９に記憶されている、送信時刻情報及び受信時刻情報のみに基づいて周回所要時間を算出するように構成されていてもよい。
【００６７】
次いで、時刻補正情報生成部２１０は、取得された周回所要時間ｔｒｏｕｎｄと、数式２〜数式５と、に基づいて、各通信路に対する伝送所要時間を取得（算出）する。
【数２】
2013146006.tif 000004
【数３】
2013146006.tif 000005
【数４】
2013146006.tif 000006
【数５】
2013146006.tif 000007
【００６８】
図６に示したように、Ｔａは、通信装置１１と通信装置１２とを接続する通信路に対する伝送所要時間である。また、Ｔｂは、通信装置１２と通信装置１３とを接続する通信路に対する伝送所要時間である。また、Ｔｃは、通信装置１３と通信装置１４とを接続する通信路に対する伝送所要時間である。また、Ｔｄは、通信装置１４と通信装置１１とを接続する通信路に対する伝送所要時間である。
【００６９】
また、ｔ２１は、通信装置１２を表す装置特定情報、及び、時計方向を表す通信方向情報と対応付けて時刻情報記憶部２０９に記憶されている受信時刻情報が表す時刻である。即ち、ｔ２１は、通信装置１２により時計方向にて送信された第１の区間用フレームがマスタ装置により受信された時刻である。
【００７０】
更に、ｔ２２は、通信装置１２を表す装置特定情報、及び、反時計方向を表す通信方向情報と対応付けて時刻情報記憶部２０９に記憶されている受信時刻情報が表す時刻である。即ち、ｔ２２は、通信装置１２により反時計方向にて送信された第２の区間用フレームがマスタ装置により受信された時刻である。
ｔ３１〜ｔ４２も、ｔ２２、及び、ｔ２２と同様である。
【００７１】
なお、数式３〜数式５における右辺は、各スレーブ装置に対する伝送受信時刻差である。伝送受信時刻差は、マスタ装置が、スレーブ装置により送信された第１の区間用フレームを受信した時刻と、当該スレーブ装置により送信された第２の区間用フレームを受信した時刻と、の差である。
【００７２】
即ち、時刻補正情報生成部２１０は、スレーブ装置のそれぞれに対して、伝送受信時刻差を取得（算出）している、と言うことができる。
【００７３】
このように、時計部２０１、第１のフレーム入力部２０５、第１の時刻情報取得部２０６、第２のフレーム入力部２０７、第２の時刻情報取得部２０８、時刻情報記憶部２０９、及び、時刻補正情報生成部２１０は、受信時刻差取得手段を構成している。
【００７４】
そして、時刻補正情報生成部２１０は、取得された伝送所要時間と、数式６〜数式８と、に基づいて、各スレーブ装置に対する遅延時間を取得（算出）する。遅延時間は、マスタ装置からスレーブ装置へフレームが到達する（マスタ装置によりフレームが送信されてから、当該フレームがスレーブ装置により受信される）までに要する時間である。
【数６】
2013146006.tif 000008
【数７】
2013146006.tif 000009
【数８】
2013146006.tif 000010
【００７５】
ここで、ｔｄ２は、通信装置１２に対する遅延時間である。また、ｔｄ３は、通信装置１３に対する遅延時間である。また、ｔｄ４は、通信装置１４に対する遅延時間である。
【００７６】
このように、時刻補正情報生成部２１０は、周回所要時間と、伝送受信時刻差と、に基づいて、スレーブ装置のそれぞれに対して遅延時間を算出する遅延時間算出手段を構成している。
【００７７】
そして、時刻補正情報生成部２１０は、スレーブ装置のそれぞれに対して、時計部２０１が有する時計が示す現在の時刻に、当該スレーブ装置に対して取得された遅延時間を加えた時刻を表す時刻補正情報を生成する。更に、時刻補正情報生成部２１０は、スレーブ装置のそれぞれに対して、生成された時刻補正情報を含むフレームを生成する。そして、時刻補正情報生成部２１０は、生成されたフレームを、第１のフレーム出力部２０３へ出力する（即ち、時計方向にて送信する）。
【００７８】
このように、第１のフレーム入力部１０１、第２のフレーム入力部１０５、時計部１１０、時刻情報記憶部２０９、及び、時刻補正情報生成部２１０は、スレーブ装置のそれぞれに対して、算出された遅延時間と、マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる時刻同期手段を構成している。
【００７９】
なお、時刻補正情報生成部２１０は、時刻補正情報を含むフレームを反時計方向にて送信するように構成されていてもよい。この場合、時刻補正情報生成部２１０は、数式６〜数式８に代えて、数式９〜数式１１に基づいて遅延時間を取得する。
【数９】
2013146006.tif 000011
【数１０】
2013146006.tif 000012
【数１１】
2013146006.tif 000013
【００８０】
また、時刻補正情報生成部２１０は、時刻補正情報を含むフレームを、一部のスレーブ装置に対して時計方向にて送信し、且つ、他のスレーブ装置に対して反時計方向にて送信するように構成されていてもよい。
【００８１】
（作動）
次に、上述した通信システム１の作動について説明する。
先ず、マスタ装置（通信装置１１）は、予め設定された周回用フレーム送信周期が経過する毎に、リング型ネットワークを互いに異なる方向にて１周するように、一対の周回用フレームを送信する。
【００８２】
なお、マスタ装置は、図４に示した情報が記憶されていない場合にのみ、周回用フレームを送信するように構成されていてもよい。また、マスタ装置は、ユーザからの指示に応じて、周回用フレームを送信するように構成されていてもよい。
【００８３】
その後、マスタ装置は、時計方向にて送信された周回用フレームと、反時計方向にて送信された周回用フレームと、をそれぞれ受信する。これにより、マスタ装置は、図４に示したように、一対の周回用フレームのそれぞれに対して、通信方向情報と、送信時刻情報と、受信時刻情報と、を対応付けて記憶する。
【００８４】
一方、スレーブ装置としての通信装置１２は、予め設定された区間用フレーム送信周期が経過する毎に、第１の区間用フレーム、及び、第２の区間用フレームを、互いに異なる方向にてマスタ装置へ向けて送信するための処理を同時に開始する。これにより、通信装置１２は、第１の区間用フレームを時計方向にて送信し、且つ、第２の区間用フレームを反時計方向にて送信する。
【００８５】
これにより、マスタ装置は、通信装置１２により送信された、第１の区間用フレーム、及び、第２の区間用フレームのそれぞれを受信する。そして、マスタ装置は、図５に示したように、第１の区間用フレーム及び第２の区間用フレームのそれぞれに対して、装置特定情報と、通信方向情報と、受信時刻情報と、を対応付けて記憶する。
【００８６】
同様に、スレーブ装置としての、通信装置１３及び通信装置１４のそれぞれも、通信装置１２と同様に、第１の区間用フレーム及び第２の区間用フレームを送信する。
なお、各スレーブ装置は、ユーザからの指示に応じて、第１の区間用フレーム及び第２の区間用フレームを送信するように構成されていてもよい。
【００８７】
これにより、マスタ装置は、通信装置１３及び通信装置１４のそれぞれにより送信された、第１の区間用フレーム、及び、第２の区間用フレームのそれぞれを受信する。そして、マスタ装置は、図５に示したように、フレームの送信元としての通信装置毎に、第１の区間用フレーム及び第２の区間用フレームのそれぞれに対して、装置特定情報と、通信方向情報と、受信時刻情報と、を対応付けて記憶する。
【００８８】
そして、マスタ装置は、図４に示した、記憶されている情報に基づいて、周回所要時間を取得する。更に、マスタ装置は、図５に示した、記憶されている情報と、取得された周回所要時間と、に基づいて、各スレーブ装置に対する遅延時間を算出する。
【００８９】
その後、マスタ装置は、スレーブ装置のそれぞれに対して、マスタ装置が有する時計が示す現在の時刻に、当該スレーブ装置に対して取得された遅延時間を加えた時刻を表す時刻補正情報を生成する。
【００９０】
次いで、マスタ装置は、スレーブ装置のそれぞれに対して、生成された時刻補正情報を含み、且つ、当該スレーブ装置が宛先として設定されたフレームを生成する。そして、マスタ装置は、スレーブ装置のそれぞれに対して、生成されたフレームを当該スレーブ装置へ向けて時計方向にて送信する。
【００９１】
その後、各スレーブ装置は、自装置が宛先として設定され、且つ、時刻補正情報を含むフレームを受信する。各スレーブ装置は、自装置が有する時計が示す現在の時刻を、受信されたフレームに含まれる時刻補正情報が表す時刻に設定（補正）する。
【００９２】
このようにして、マスタ装置が有する時計が示す時刻（マスタ装置の時刻）と、スレーブ装置が有する時計が示す時刻（スレーブ装置の時刻）と、が同期される。
【００９３】
以上、説明したように、本発明の第１実施形態に係る通信システム１によれば、通信システム１は、マスタ装置が有する時計が示す時刻のみに基づいて、マスタ装置の時刻と、スレーブ装置の時刻と、を同期させる。従って、スレーブ装置が有する時計の精度が比較的低い場合であっても、マスタ装置の時刻とスレーブ装置の時刻とを高い精度にて同期させることができる。
【００９４】
なお、数式３〜数式５におけるＴａ〜Ｔｄのそれぞれは、正の値を有する。従って、数式３〜数式５における右辺の値は、数式３が最も大きく、且つ、数式５が最も小さい。従って、第１実施形態の変形例に係る通信システム１において、マスタ装置は、数式３〜数式５における右辺の値に基づいて、リング型ネットワークにおける各スレーブ装置の位置を特定するように構成されていてもよい。
【００９５】
また、第１実施形態の変形例に係る通信システム１において、フレーム生成部１０９が第１のフレーム出力部１０４及び第２のフレーム出力部１０８へフレームを出力するように構成されていたが、第１のフレーム入力部１０１及び第２のフレーム入力部１０５へフレームを出力するように構成されていてもよい。
【００９６】
＜第２実施形態＞
次に、本発明の第２実施形態に係る通信システムについて説明する。第２実施形態に係る通信システムは、上記第１実施形態に係る通信システムに対して、内部所要時間にも基づいて遅延時間を算出する点において相違している。従って、以下、かかる相違点を中心として説明する。ここで、内部所要時間は、フレームが通信装置により受信されてから、当該フレームが当該通信装置により送信（即ち、転送）されるまでに要する時間である。
【００９７】
本例では、各スレーブ装置において、時計方向にて転送されるフレームに対する内部所要時間と、反時計方向にて転送されるフレームに対する内部所要時間と、の差が比較的小さい場合を想定する。
【００９８】
図７に示したように、第２実施形態に係る通信装置１２（スレーブ装置）は、第１実施形態に係る通信装置１２と同様に構成される。なお、通信装置１３及び通信装置１４のそれぞれも、通信装置１２と同様に構成される。
【００９９】
本例では、時計方向にて転送されるフレームに対する内部所要時間は、第１の入力側バッファ部１０２、及び、第１の出力側バッファ部１０３を経由するために要する時間である。また、反時計方向にて転送されるフレームに対する内部所要時間は、第２の入力側バッファ部１０６、及び、第２の出力側バッファ部１０７を経由するために要する時間である。
【０１００】
第２実施形態に係るフレーム生成部１０９は、第１のバッファ経由フレーム（第１のバッファ経由単位データ）、第１のバッファ未経由フレーム（第１のバッファ未経由単位データ）、第２のバッファ経由フレーム（第２のバッファ経由単位データ）、及び、第２のバッファ未経由フレーム（第２のバッファ未経由単位データ）を生成する。
【０１０１】
第１のバッファ経由フレーム、第１のバッファ未経由フレーム、第２のバッファ経由フレーム、及び、第２のバッファ未経由フレームのそれぞれは、マスタ装置としての通信装置１１が宛先として設定されたフレームである。
【０１０２】
フレーム生成部１０９は、同時に、第１のバッファ経由フレームを第１のフレーム入力部１０１へ出力し、且つ、第１のバッファ未経由フレームを第１のフレーム出力部１０４へ出力し、且つ、第２のバッファ経由フレームを第２のフレーム入力部１０５へ出力し、且つ、第２のバッファ未経由フレームを第２のフレーム出力部１０８へ出力する。即ち、フレーム生成部１０９は、４つのフレームを同時に出力する。
【０１０３】
即ち、フレーム生成部１０９は、第１のバッファ経由フレーム及び第１のバッファ未経由フレームと、第２のバッファ経由フレーム及び第２のバッファ未経由フレームと、を互いに異なる方向にてマスタ装置へ向けて送信するための処理を同時に開始するスレーブ側単位データ送信手段を構成している。
【０１０４】
第２実施形態に係る第１のフレーム入力部１０１は、受信されたフレーム、及び、フレーム生成部１０９により出力されたフレームを第１の入力側バッファ部１０２へ出力する。
また、第２実施形態に係る第２のフレーム入力部１０５は、受信されたフレーム、及び、フレーム生成部１０９により出力されたフレームを第２の入力側バッファ部１０６へ出力する。
【０１０５】
第２実施形態に係る第１の時刻情報取得部２０６は、第１のフレーム入力部２０５により出力されたフレームが第１のバッファ経由フレームである場合、時計部２０１が有する時計が示す現在の時刻を表す受信時刻情報と、通信方向を表す通信方向情報としての、時計方向を表す情報と、当該第１のバッファ経由フレームの送信元として設定された通信装置を表す装置特定情報と、バッファを経由することを表す経由情報と、を時刻情報記憶部２０９へ出力する。
【０１０６】
更に、第１の時刻情報取得部２０６は、第１のフレーム入力部２０５により出力されたフレームが第１のバッファ未経由フレームである場合、時計部２０１が有する時計が示す現在の時刻を表す受信時刻情報と、通信方向を表す通信方向情報としての、時計方向を表す情報と、当該第１のバッファ未経由フレームの送信元として設定された通信装置を表す装置特定情報と、バッファを経由しないことを表す経由情報と、を時刻情報記憶部２０９へ出力する。
【０１０７】
また、第２実施形態に係る第２の時刻情報取得部２０８は、第２のフレーム入力部２０７により出力されたフレームが第２のバッファ経由フレームである場合、時計部２０１が有する時計が示す現在の時刻を表す受信時刻情報と、通信方向を表す通信方向情報としての、反時計方向を表す情報と、当該第２のバッファ経由フレームの送信元として設定された通信装置を表す装置特定情報と、バッファを経由することを表す経由情報と、を時刻情報記憶部２０９へ出力する。
【０１０８】
更に、第２の時刻情報取得部２０８は、第２のフレーム入力部２０７により出力されたフレームが第２のバッファ未経由フレームである場合、時計部２０１が有する時計が示す現在の時刻を表す受信時刻情報と、通信方向を表す通信方向情報としての、反時計方向を表す情報と、当該第２のバッファ未経由フレームの送信元として設定された通信装置を表す装置特定情報と、バッファを経由しないことを表す経由情報と、を時刻情報記憶部２０９へ出力する。
【０１０９】
第２実施形態に係る時刻情報記憶部２０９は、図５に代わる図８に示したように、第１の時刻情報取得部２０６、及び、第２の時刻情報取得部２０８のそれぞれにより出力された、装置特定情報と、通信方向情報と、経由情報と、受信時刻情報と、を対応付けて記憶する。
【０１１０】
第２実施形態に係る時刻補正情報生成部２１０は、先ず、第１実施形態に係る時刻補正情報生成部２１０と同様に、周回所要時間ｔｒｏｕｎｄを取得（算出）する。本例では、時刻補正情報生成部２１０は、数式１に基づいて周回所要時間ｔｒｏｕｎｄを取得する。
【０１１１】
次いで、時刻補正情報生成部２１０は、数式１２〜数式１４に基づいて、各スレーブ装置に対する内部所要時間を取得（算出）する。
【数１２】
2013146006.tif 000014
【数１３】
2013146006.tif 000015
【数１４】
2013146006.tif 000016
【０１１２】
図９に示したように、Ｔａは、通信装置１１と通信装置１２とを接続する通信路に対する伝送所要時間である。また、Ｔｂは、通信装置１２と通信装置１３とを接続する通信路に対する伝送所要時間である。また、Ｔｃは、通信装置１３と通信装置１４とを接続する通信路に対する伝送所要時間である。また、Ｔｄは、通信装置１４と通信装置１１とを接続する通信路に対する伝送所要時間である。
【０１１３】
また、Ｔ２は、通信装置１２に対する内部所要時間である。また、Ｔ３は、通信装置１３に対する内部所要時間である。更に、Ｔ４は、通信装置１４に対する内部所要時間である。
【０１１４】
また、ｔ２１は、通信装置１２を表す装置特定情報、バッファを経由することを表す経由情報、及び、時計方向を表す通信方向情報と対応付けて時刻情報記憶部２０９に記憶されている受信時刻情報が表す時刻である。即ち、ｔ２１は、バッファを経由した後に通信装置１２により時計方向にて送信された第１のバッファ経由フレームがマスタ装置により受信された時刻である。
【０１１５】
また、ｔ２２は、通信装置１２を表す装置特定情報、バッファを経由しないことを表す経由情報、及び、時計方向を表す通信方向情報と対応付けて時刻情報記憶部２０９に記憶されている受信時刻情報が表す時刻である。即ち、ｔ２２は、バッファを経由することなく通信装置１２により時計方向にて送信された第１のバッファ未経由フレームがマスタ装置により受信された時刻である。
【０１１６】
また、ｔ２３は、通信装置１２を表す装置特定情報、バッファを経由することを表す経由情報、及び、反時計方向を表す通信方向情報と対応付けて時刻情報記憶部２０９に記憶されている受信時刻情報が表す時刻である。即ち、ｔ２３は、バッファを経由した後に通信装置１２により反時計方向にて送信された第２のバッファ経由フレームがマスタ装置により受信された時刻である。
【０１１７】
また、ｔ２４は、通信装置１２を表す装置特定情報、バッファを経由しないことを表す経由情報、及び、反時計方向を表す通信方向情報と対応付けて時刻情報記憶部２０９に記憶されている受信時刻情報が表す時刻である。即ち、ｔ２４は、バッファを経由することなく通信装置１２により反時計方向にて送信された第２のバッファ未経由フレームがマスタ装置により受信された時刻である。
ｔ３１〜ｔ４４も、ｔ２１〜ｔ２４と同様である。
【０１１８】
なお、数式１２〜数式１４における右辺は、第１のバッファ受信時刻差と、第２のバッファ受信時刻差と、を平均した値（バッファ受信時刻差）である。第１のバッファ受信時刻差は、スレーブ装置により時計方向にて送信された第１のバッファ経由フレームを受信した時刻と、当該スレーブ装置により時計方向にて送信された第１のバッファ未経由フレームを受信した時刻と、の差である。また、第２のバッファ受信時刻差は、スレーブ装置により反時計方向にて送信された第２のバッファ経由フレームを受信した時刻と、当該スレーブ装置により反時計方向にて送信された第２のバッファ未経由フレームを受信した時刻と、の差である。
【０１１９】
即ち、時刻補正情報生成部２１０は、スレーブ装置のそれぞれに対して、第１のバッファ受信時刻差と、第２のバッファ受信時刻差と、を取得（算出）している、と言うことができる。
【０１２０】
なお、時刻補正情報生成部２１０は、数式１２〜数式１４に代えて、数式１２〜数式１４における右辺を、第１のバッファ受信時刻差、又は、第２のバッファ受信時刻差に置換した数式を用いてもよい。即ち、時刻補正情報生成部２１０は、バッファ受信時刻差として、第１のバッファ受信時刻差、又は、第２のバッファ受信時刻差を用いてもよい。
【０１２１】
この場合、各スレーブ装置は、第１のバッファ経由フレーム、第１のバッファ未経由フレーム、第２のバッファ経由フレーム、及び、第２のバッファ未経由フレームのうちの３つのフレームのみを送信するように構成されていてもよい。
【０１２２】
次いで、時刻補正情報生成部２１０は、取得された周回所要時間ｔｒｏｕｎｄと、取得された内部所要時間と、数式１５〜数式１８と、に基づいて、各通信路に対する伝送所要時間を取得（算出）する。
【数１５】
2013146006.tif 000017
【数１６】
2013146006.tif 000018
【数１７】
2013146006.tif 000019
【数１８】
2013146006.tif 000020
【０１２３】
なお、数式１６〜数式１８における右辺は、各スレーブ装置に対する伝送受信時刻差である。伝送受信時刻差は、マスタ装置が、スレーブ装置により送信された第１のバッファ未経由フレームを受信した時刻と、当該スレーブ装置により送信された第２のバッファ未経由フレームを受信した時刻と、の差である。
【０１２４】
即ち、時刻補正情報生成部２１０は、スレーブ装置のそれぞれに対して、伝送受信時刻差を取得（算出）している、と言うことができる。
【０１２５】
なお、時刻補正情報生成部２１０は、マスタ装置が、スレーブ装置により送信された第１のバッファ経由フレームを受信した時刻と、当該スレーブ装置により送信された第２のバッファ経由フレームを受信した時刻と、の差を伝送受信時刻差として用いるように構成されていてもよい。
【０１２６】
そして、時刻補正情報生成部２１０は、取得された伝送所要時間と、取得された内部所要時間と、数式１９〜数式２１と、に基づいて、各スレーブ装置に対する遅延時間を取得（算出）する。遅延時間は、マスタ装置からスレーブ装置へフレームが到達する（マスタ装置によりフレームが送信されてから、当該フレームがスレーブ装置により受信される）までに要する時間である。
【数１９】
2013146006.tif 000021
【数２０】
2013146006.tif 000022
【数２１】
2013146006.tif 000023
【０１２７】
ここで、ｔｄ２は、通信装置１２に対する遅延時間である。また、ｔｄ３は、通信装置１３に対する遅延時間である。また、ｔｄ４は、通信装置１４に対する遅延時間である。
【０１２８】
このように、時刻補正情報生成部２１０は、周回所要時間と、伝送受信時刻差と、バッファ受信時刻差と、に基づいて、スレーブ装置のそれぞれに対して遅延時間を算出する遅延時間算出手段を構成している。
【０１２９】
以上、説明したように、本発明の第２実施形態に係る通信システム１は、第１実施形態に係る通信システム１と同様の作用及び効果を奏する。
更に、第２実施形態に係る通信システム１によれば、単位データとしてのフレームがバッファを経由することにより、フレームがスレーブ装置により受信されてから、当該スレーブ装置により送信されるまでに所定の内部所要時間を要する場合であっても、遅延時間を高い精度にて算出することができる。
【０１３０】
なお、第２実施形態に係る通信システム１において、スレーブ装置は、各通信方向にて２つのバッファを備えていたが、１つのバッファ、又は、３つ以上のバッファを備えていてもよい。
【０１３１】
＜第３実施形態＞
次に、本発明の第３実施形態に係る通信システムについて説明する。第３実施形態に係る通信システムは、上記第２実施形態に係る通信システムに対して、時計方向における内部所要時間と、反時計方向における内部所要時間と、に基づいて遅延時間を算出する点において相違している。従って、以下、かかる相違点を中心として説明する。
【０１３２】
本例では、各スレーブ装置において、時計方向にて転送されるフレームに対する内部所要時間と、反時計方向にて転送されるフレームに対する内部所要時間と、の差が比較的大きい場合を想定する。
【０１３３】
第３実施形態に係る通信装置１２（スレーブ装置）は、第２実施形態に係る通信装置１２と同様に構成される。なお、通信装置１３及び通信装置１４のそれぞれも、通信装置１２と同様に構成される。
【０１３４】
第３実施形態に係る時刻補正情報生成部２１０は、先ず、第２実施形態に係る時刻補正情報生成部２１０と同様に、周回所要時間ｔｒｏｕｎｄを取得（算出）する。本例では、時刻補正情報生成部２１０は、数式１に基づいて周回所要時間ｔｒｏｕｎｄを取得する。
【０１３５】
次いで、時刻補正情報生成部２１０は、数式２２〜数式２７に基づいて、各スレーブ装置に対して、時計方向にて転送されるフレームに対する内部所要時間と、反時計方向にて転送されるフレームに対する内部所要時間と、を取得（算出）する。
【数２２】
2013146006.tif 000024
【数２３】
2013146006.tif 000025
【数２４】
2013146006.tif 000026
【数２５】
2013146006.tif 000027
【数２６】
2013146006.tif 000028
【数２７】
2013146006.tif 000029
【０１３６】
図１０に示したように、Ｔａは、通信装置１１と通信装置１２とを接続する通信路に対する伝送所要時間である。また、Ｔｂは、通信装置１２と通信装置１３とを接続する通信路に対する伝送所要時間である。また、Ｔｃは、通信装置１３と通信装置１４とを接続する通信路に対する伝送所要時間である。また、Ｔｄは、通信装置１４と通信装置１１とを接続する通信路に対する伝送所要時間である。
【０１３７】
また、Ｔ２ｘは、通信装置１２における時計方向にて転送されるフレームに対する内部所要時間である。また、Ｔ２ｙは、通信装置１２における反時計方向にて転送されるフレームに対する内部所要時間である。
【０１３８】
また、Ｔ３ｘは、通信装置１３における時計方向にて転送されるフレームに対する内部所要時間である。また、Ｔ３ｙは、通信装置１３における反時計方向にて転送されるフレームに対する内部所要時間である。また、Ｔ４ｘは、通信装置１４における時計方向にて転送されるフレームに対する内部所要時間である。また、Ｔ４ｙは、通信装置１４における反時計方向にて転送されるフレームに対する内部所要時間である。
また、ｔ２１〜ｔ４４は、第２実施形態におけるｔ２１〜ｔ４４と同様である。
【０１３９】
なお、数式２２、数式２４、及び、数式２６における右辺は、第１のバッファ受信時刻差である。第１のバッファ受信時刻差は、スレーブ装置により時計方向にて送信された第１のバッファ経由フレームを受信した時刻と、当該スレーブ装置により時計方向にて送信された第１のバッファ未経由フレームを受信した時刻と、の差である。
【０１４０】
また、数式２３、数式２５、及び、数式２７における右辺は、第２のバッファ受信時刻差である。第２のバッファ受信時刻差は、スレーブ装置により反時計方向にて送信された第２のバッファ経由フレームを受信した時刻と、当該スレーブ装置により反時計方向にて送信された第２のバッファ未経由フレームを受信した時刻と、の差である。
【０１４１】
即ち、時刻補正情報生成部２１０は、スレーブ装置のそれぞれに対して、第１のバッファ受信時刻差と、第２のバッファ受信時刻差と、を取得（算出）している、と言うことができる。
【０１４２】
次いで、時刻補正情報生成部２１０は、取得された周回所要時間ｔｒｏｕｎｄと、取得された内部所要時間と、数式２８〜数式３１と、に基づいて、各通信路に対する伝送所要時間を取得（算出）する。
【数２８】
2013146006.tif 000030
【数２９】
2013146006.tif 000031
【数３０】
2013146006.tif 000032
【数３１】
2013146006.tif 000033
【０１４３】
なお、数式２９〜数式３１における右辺は、各スレーブ装置に対する伝送受信時刻差である。伝送受信時刻差は、マスタ装置が、スレーブ装置により送信された第１のバッファ未経由フレームを受信した時刻と、当該スレーブ装置により送信された第２のバッファ未経由フレームを受信した時刻と、の差である。
【０１４４】
即ち、時刻補正情報生成部２１０は、スレーブ装置のそれぞれに対して、伝送受信時刻差を取得（算出）している、と言うことができる。
【０１４５】
なお、時刻補正情報生成部２１０は、マスタ装置が、スレーブ装置により送信された第１のバッファ経由フレームを受信した時刻と、当該スレーブ装置により送信された第２のバッファ経由フレームを受信した時刻と、の差を伝送受信時刻差として用いるように構成されていてもよい。
【０１４６】
また、時刻補正情報生成部２１０は、数式２８に代えて、数式３２又は数式３３を用いるように構成されていてもよい。
【数３２】
2013146006.tif 000034
【数３３】
2013146006.tif 000035
【０１４７】
そして、時刻補正情報生成部２１０は、取得された伝送所要時間と、取得された内部所要時間と、数式２８〜数式３１と、に基づいて、各スレーブ装置に対する遅延時間を取得（算出）する。遅延時間は、マスタ装置からスレーブ装置へフレームが到達する（マスタ装置によりフレームが送信されてから、当該フレームがスレーブ装置により受信される）までに要する時間である。
【数３４】
2013146006.tif 000036
【数３５】
2013146006.tif 000037
【数３６】
2013146006.tif 000038
【０１４８】
ここで、ｔｄ２は、通信装置１２に対する遅延時間である。また、ｔｄ３は、通信装置１３に対する遅延時間である。また、ｔｄ４は、通信装置１４に対する遅延時間である。
【０１４９】
このように、時刻補正情報生成部２１０は、周回所要時間と、伝送受信時刻差と、第１のバッファ受信時刻差と、第２のバッファ受信時刻差と、に基づいて、スレーブ装置のそれぞれに対して遅延時間を算出する遅延時間算出手段を構成している。
【０１５０】
なお、時刻補正情報生成部２１０は、時刻補正情報を含むフレームを反時計方向にて送信するように構成されていてもよい。この場合、時刻補正情報生成部２１０は、数式３４〜数式３６に代えて、数式３７〜数式３９に基づいて遅延時間を取得する。
【数３７】
2013146006.tif 000039
【数３８】
2013146006.tif 000040
【数３９】
2013146006.tif 000041
【０１５１】
また、時刻補正情報生成部２１０は、時刻補正情報を含むフレームを、一部のスレーブ装置に対して時計方向にて送信し、且つ、他のスレーブ装置に対して反時計方向にて送信するように構成されていてもよい。
【０１５２】
以上、説明したように、本発明の第３実施形態に係る通信システム１は、第２実施形態に係る通信システム１と同様の作用及び効果を奏する。
更に、第３実施形態に係る通信システム１によれば、フレームが送信される方向（リング型ネットワークにおける方向）が異なることにより、内部所要時間が異なる場合であっても、高い精度にて遅延時間を算出することができる。
【０１５３】
なお、第３実施形態に係る通信システム１において、スレーブ装置は、各通信方向にて２つのバッファを備えていたが、１つのバッファ、又は、３つ以上のバッファを備えていてもよい。
【０１５４】
＜第４実施形態＞
次に、本発明の第４実施形態に係る通信システムについて図１１を参照しながら説明する。
第４実施形態に係る通信システム５００は、リング型ネットワークを構成し、且つ、現在の時刻を示す時計を有する複数の通信装置を備えるシステムである。
【０１５５】
更に、この通信システム５００は、
上記複数の通信装置の１つであるマスタ装置が、上記リング型ネットワークを１周するように、予め定められた形式に従った単位データを送信し、且つ、当該単位データを受信することにより、当該単位データが当該リング型ネットワークを１周するために要する時間である周回所要時間を取得する周回所要時間取得部（周回所要時間取得手段）５０１と、
上記複数の通信装置のうちの上記マスタ装置以外のスレーブ装置のそれぞれが、第１の単位データ、及び、第２の単位データを、互いに異なる方向にて上記マスタ装置へ向けて送信するための処理を同時に開始するスレーブ側単位データ送信部（スレーブ側単位データ送信手段）５０２と、
上記マスタ装置が、上記スレーブ装置のそれぞれに対して、当該スレーブ装置により送信された上記第１の単位データを受信した時刻と、当該スレーブ装置により送信された上記第２の単位データを受信した時刻と、の差である伝送受信時刻差を取得する受信時刻差取得部（受信時刻差取得手段）５０３と、
上記取得された周回所要時間と、上記取得された伝送受信時刻差と、に基づいて、上記スレーブ装置のそれぞれに対して、上記マスタ装置から当該スレーブ装置へ単位データが到達するまでに要する遅延時間を算出する遅延時間算出部（遅延時間算出手段）５０４と、
上記スレーブ装置のそれぞれに対して、上記算出された遅延時間と、上記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる時刻同期部（時刻同期手段）５０５と、
を備える。
【０１５６】
これによれば、通信システム５００は、マスタ装置が有する時計が示す時刻のみに基づいて、マスタ装置が有する時計が示す時刻（マスタ装置の時刻）と、スレーブ装置が有する時計が示す時刻（スレーブ装置の時刻）と、を同期させる。従って、スレーブ装置が有する時計の精度が比較的低い場合であっても、マスタ装置の時刻とスレーブ装置の時刻とを高い精度にて同期させることができる。
【０１５７】
以上、上記実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成及び詳細に、本願発明の範囲内において当業者が理解し得る様々な変更をすることができる。例えば、通信システムは、２つの通信装置、３つの通信装置、又は、５つ以上の通信装置により構成されていてもよい。
【０１５８】
また、通信システムは、ある通信路が遮断された場合に、当該通信路を介して接続されていた２つの通信装置のそれぞれが、２つの通信方向の一方にて受信したフレームのうちの自装置以外の通信装置が宛先として設定されたフレームを、２つの通信方向の他方にて送信する（即ち、フレームを送り返すように転送する）ように構成されることが好適である。この場合、ある通信路が遮断されたときであっても、本願発明を適用することにより、マスタ装置の時刻とスレーブ装置の時刻とを高い精度にて同期させることができる。
【０１５９】
なお、上記各実施形態において通信装置の各機能は、回路等のハードウェアにより実現されていた。ところで、通信装置は、処理装置と、プログラム（ソフトウェア）を記憶する記憶装置と、を備えるとともに、処理装置がそのプログラムを実行することにより、各機能を実現するように構成されていてもよい。この場合、プログラムは、コンピュータが読み取り可能な記録媒体に記憶されていてもよい。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【０１６０】
また、上記実施形態の他の変形例として、上述した実施形態及び変形例の任意の組み合わせが採用されてもよい。
【０１６１】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限られない。
【０１６２】
（付記１）
リング型ネットワークを構成し、且つ、現在の時刻を示す時計を有する複数の通信装置を備える通信システムであって、
前記複数の通信装置の１つであるマスタ装置が、前記リング型ネットワークを１周するように、予め定められた形式に従った単位データを送信し、且つ、当該単位データを受信することにより、当該単位データが当該リング型ネットワークを１周するために要する時間である周回所要時間を取得する周回所要時間取得手段と、
前記複数の通信装置のうちの前記マスタ装置以外のスレーブ装置のそれぞれが、第１の単位データ、及び、第２の単位データを、互いに異なる方向にて前記マスタ装置へ向けて送信するための処理を同時に開始するスレーブ側単位データ送信手段と、
前記マスタ装置が、前記スレーブ装置のそれぞれに対して、当該スレーブ装置により送信された前記第１の単位データを受信した時刻と、当該スレーブ装置により送信された前記第２の単位データを受信した時刻と、の差である伝送受信時刻差を取得する受信時刻差取得手段と、
前記取得された周回所要時間と、前記取得された伝送受信時刻差と、に基づいて、前記スレーブ装置のそれぞれに対して、前記マスタ装置から当該スレーブ装置へ単位データが到達するまでに要する遅延時間を算出する遅延時間算出手段と、
前記スレーブ装置のそれぞれに対して、前記算出された遅延時間と、前記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる時刻同期手段と、
を備える通信システム。
【０１６３】
これによれば、通信システムは、マスタ装置が有する時計が示す時刻のみに基づいて、マスタ装置が有する時計が示す時刻（マスタ装置の時刻）と、スレーブ装置が有する時計が示す時刻（スレーブ装置の時刻）と、を同期させる。従って、スレーブ装置が有する時計の精度が比較的低い場合であっても、マスタ装置の時刻とスレーブ装置の時刻とを高い精度にて同期させることができる。
【０１６４】
（付記２）
付記１に記載の通信システムであって、
前記時刻同期手段は、
前記マスタ装置が、前記スレーブ装置のそれぞれに対して、当該マスタ装置が有する時計が示す時刻に、当該スレーブ装置に対して前記算出された遅延時間を加えた時刻を含む単位データを送信し、且つ、当該スレーブ装置が、当該マスタ装置により送信された単位データを受信し、当該スレーブ装置が有する時刻を、当該受信された単位データに含まれる時刻に設定するように構成された通信システム。
【０１６５】
（付記３）
付記１又は付記２に記載の通信システムであって、
前記スレーブ装置のそれぞれは、受信された単位データをバッファに一時的に記憶させるとともに、当該バッファに記憶されている単位データのうちの、宛先として当該スレーブ装置が設定されていない単位データを、順次、送信するように構成され、
前記スレーブ側単位データ送信手段は、
前記スレーブ装置のそれぞれが、当該スレーブ装置が備えるバッファを経由する単位データであるバッファ経由単位データと、当該バッファを経由しない単位データであるバッファ未経由単位データと、を同一の方向にて前記マスタ装置へ向けて送信するための処理を同時に開始するように構成され、
前記受信時刻差取得手段は、
前記マスタ装置が、前記スレーブ装置のそれぞれに対して、当該スレーブ装置により送信された前記バッファ経由単位データを受信した時刻と、当該スレーブ装置により送信された前記バッファ未経由単位データを受信した時刻と、の差であるバッファ受信時刻差を取得するように構成され、
前記遅延時間算出手段は、
前記取得された周回所要時間と、前記取得された伝送受信時刻差と、前記取得されたバッファ受信時刻差と、に基づいて、前記遅延時間を算出するように構成された通信システム。
【０１６６】
これによれば、単位データがバッファを経由することにより、単位データがスレーブ装置により受信されてから、当該スレーブ装置により送信されるまでに所定の内部所要時間を要する場合であっても、遅延時間を高い精度にて算出することができる。
【０１６７】
（付記４）
付記３に記載の通信システムであって、
前記スレーブ側単位データ送信手段は、
前記スレーブ装置のそれぞれが、第１のバッファ経由単位データ及び第１のバッファ未経由単位データと、第２のバッファ経由単位データ及び第２のバッファ未経由単位データと、を互いに異なる方向にて前記マスタ装置へ向けて送信するための処理を同時に開始するように構成され、
前記受信時刻差取得手段は、
前記マスタ装置が、前記スレーブ装置のそれぞれに対して、当該スレーブ装置により送信された前記第１のバッファ経由単位データを受信した時刻と、当該スレーブ装置により送信された前記第１のバッファ未経由単位データを受信した時刻と、の差である第１のバッファ受信時刻差を取得するとともに、当該スレーブ装置により送信された前記第２のバッファ経由単位データを受信した時刻と、当該スレーブ装置により送信された前記第２のバッファ未経由単位データを受信した時刻と、の差である第２のバッファ受信時刻差を取得するように構成され、
前記遅延時間算出手段は、
前記取得された周回所要時間と、前記取得された伝送受信時刻差と、前記取得された第１のバッファ受信時刻差と、前記取得された第２のバッファ受信時刻差と、に基づいて、前記遅延時間を算出するように構成された通信システム。
【０１６８】
これによれば、単位データが送信される方向（リング型ネットワークにおける方向）が異なることにより、内部所要時間が異なる場合であっても、高い精度にて遅延時間を算出することができる。
【０１６９】
（付記５）
付記１乃至付記４のいずれかに記載の通信システムであって、
前記周回所要時間取得手段は、
前記マスタ装置が、前記リング型ネットワークを互いに異なる方向にて１周するように、一対の単位データを送信し、且つ、受信することにより、当該一対の単位データのそれぞれが当該リング型ネットワークを１周するために要する時間を取得し、当該取得された時間を平均した値を前記周回所要時間として取得するように構成された通信システム。
【０１７０】
これによれば、周回所要時間を高い精度にて取得することができる。この結果、高い精度にて遅延時間を算出することができる。
【０１７１】
（付記６）
リング型ネットワークを構成し、且つ、現在の時刻を示す時計を有する複数の通信装置を備える通信システムに適用され、
前記複数の通信装置の１つであるマスタ装置が、前記リング型ネットワークを１周するように、予め定められた形式に従った単位データを送信し、且つ、当該単位データを受信することにより、当該単位データが当該リング型ネットワークを１周するために要する時間である周回所要時間を取得し、
前記複数の通信装置のうちの前記マスタ装置以外のスレーブ装置のそれぞれが、第１の単位データ、及び、第２の単位データを、互いに異なる方向にて前記マスタ装置へ向けて送信するための処理を同時に開始し、
前記マスタ装置が、前記スレーブ装置のそれぞれに対して、当該スレーブ装置により送信された前記第１の単位データを受信した時刻と、当該スレーブ装置により送信された前記第２の単位データを受信した時刻と、の差である伝送受信時刻差を取得し、
前記取得された周回所要時間と、前記取得された伝送受信時刻差と、に基づいて、前記スレーブ装置のそれぞれに対して、前記マスタ装置から当該スレーブ装置へ単位データが到達するまでに要する遅延時間を算出し、
前記スレーブ装置のそれぞれに対して、前記算出された遅延時間と、前記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる、通信システム制御方法。
【０１７２】
（付記７）
付記６に記載の通信システム制御方法であって、
前記マスタ装置が、前記スレーブ装置のそれぞれに対して、当該マスタ装置が有する時計が示す時刻に、当該スレーブ装置に対して前記算出された遅延時間を加えた時刻を含む単位データを送信し、且つ、当該スレーブ装置が、当該マスタ装置により送信された単位データを受信し、当該スレーブ装置が有する時刻を、当該受信された単位データに含まれる時刻に設定するように構成された通信システム制御方法。
【０１７３】
（付記８）
現在の時刻を示す時計を有し、且つ、他の通信装置とともにリング型ネットワークを構成する通信装置であるマスタ装置であって、
前記リング型ネットワークを１周するように、予め定められた形式に従った単位データを送信し、且つ、当該単位データを受信することにより、当該単位データが当該リング型ネットワークを１周するために要する時間である周回所要時間を取得する周回所要時間取得手段と、
前記他の通信装置であるスレーブ装置のそれぞれに対して、当該スレーブ装置が第１の単位データ、及び、第２の単位データを、互いに異なる方向にて前記マスタ装置へ向けて送信するための処理を同時に開始することにより送信された、当該第１の単位データ及び当該第２の単位データのそれぞれを受信した時刻の差である伝送受信時刻差を取得する受信時刻差取得手段と、
前記取得された周回所要時間と、前記取得された伝送受信時刻差と、に基づいて、前記スレーブ装置のそれぞれに対して、前記マスタ装置から当該スレーブ装置へ単位データが到達するまでに要する遅延時間を算出する遅延時間算出手段と、
前記スレーブ装置のそれぞれに対して、前記算出された遅延時間と、前記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる時刻同期手段と、
を備えるマスタ装置。
【０１７４】
（付記９）
付記８に記載のマスタ装置であって、
前記時刻同期手段は、
前記スレーブ装置のそれぞれに対して、前記マスタ装置が有する時計が示す時刻に、当該スレーブ装置に対して前記算出された遅延時間を加えた時刻を含む単位データを送信するように構成されたマスタ装置。
【０１７５】
（付記１０）
現在の時刻を示す時計を有し、且つ、他の通信装置とともにリング型ネットワークを構成する通信装置であるマスタ装置に適用され、
前記リング型ネットワークを１周するように、予め定められた形式に従った単位データを送信し、且つ、当該単位データを受信することにより、当該単位データが当該リング型ネットワークを１周するために要する時間である周回所要時間を取得し、
前記他の通信装置であるスレーブ装置のそれぞれに対して、当該スレーブ装置が第１の単位データ、及び、第２の単位データを、互いに異なる方向にて前記マスタ装置へ向けて送信するための処理を同時に開始することにより送信された、当該第１の単位データ及び当該第２の単位データのそれぞれを受信した時刻の差である伝送受信時刻差を取得し、
前記取得された周回所要時間と、前記取得された伝送受信時刻差と、に基づいて、前記スレーブ装置のそれぞれに対して、前記マスタ装置から当該スレーブ装置へ単位データが到達するまでに要する遅延時間を算出し、
前記スレーブ装置のそれぞれに対して、前記算出された遅延時間と、前記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる、マスタ装置制御方法。
【０１７６】
（付記１１）
付記１０に記載のマスタ装置制御方法であって、
前記スレーブ装置のそれぞれに対して、前記マスタ装置が有する時計が示す時刻に、当該スレーブ装置に対して前記算出された遅延時間を加えた時刻を含む単位データを送信するように構成されたマスタ装置制御方法。
【０１７７】
（付記１２）
現在の時刻を示す時計を有し、且つ、他の通信装置とともにリング型ネットワークを構成する通信装置であるマスタ装置に、
前記リング型ネットワークを１周するように、予め定められた形式に従った単位データを送信し、且つ、当該単位データを受信することにより、当該単位データが当該リング型ネットワークを１周するために要する時間である周回所要時間を取得し、
前記他の通信装置であるスレーブ装置のそれぞれに対して、当該スレーブ装置が第１の単位データ、及び、第２の単位データを、互いに異なる方向にて前記マスタ装置へ向けて送信するための処理を同時に開始することにより送信された、当該第１の単位データ及び当該第２の単位データのそれぞれを受信した時刻の差である伝送受信時刻差を取得し、
前記取得された周回所要時間と、前記取得された伝送受信時刻差と、に基づいて、前記スレーブ装置のそれぞれに対して、前記マスタ装置から当該スレーブ装置へ単位データが到達するまでに要する遅延時間を算出し、
前記スレーブ装置のそれぞれに対して、前記算出された遅延時間と、前記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる、処理を実行させるためのマスタ装置制御プログラム。
【０１７８】
（付記１３）
付記１２に記載のマスタ装置制御プログラムであって、
前記マスタ装置に、
前記スレーブ装置のそれぞれに対して、前記マスタ装置が有する時計が示す時刻に、当該スレーブ装置に対して前記算出された遅延時間を加えた時刻を含む単位データを送信する処理を実行させるように構成されたマスタ装置制御プログラム。
【０１７９】
（付記１４）
現在の時刻を示す時計を有し、且つ、他の通信装置とともにリング型ネットワークを構成する通信装置であるスレーブ装置であって、
第１の単位データ、及び、第２の単位データを、互いに異なる方向にて、前記他の通信装置の１つであるマスタ装置へ向けて送信するための処理を同時に開始するスレーブ側単位データ送信手段と、
前記マスタ装置により算出され、且つ、当該マスタ装置から前記スレーブ装置へ単位データが到達するまでに要する遅延時間と、前記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる時刻同期手段と、
を備えるスレーブ装置。
【０１８０】
（付記１５）
付記１４に記載のスレーブ装置であって、
前記時刻同期手段は、
前記マスタ装置により送信され、且つ、当該マスタ装置が有する時計が示す時刻に、前記スレーブ装置に対して前記算出された遅延時間を加えた時刻を含む単位データを受信し、当該スレーブ装置が有する時刻を、当該受信された単位データに含まれる時刻に設定するように構成されたスレーブ装置。
【０１８１】
（付記１６）
現在の時刻を示す時計を有し、且つ、他の通信装置とともにリング型ネットワークを構成する通信装置であるスレーブ装置に適用され、
第１の単位データ、及び、第２の単位データを、互いに異なる方向にて、前記他の通信装置の１つであるマスタ装置へ向けて送信するための処理を同時に開始し、
前記マスタ装置により算出され、且つ、当該マスタ装置から前記スレーブ装置へ単位データが到達するまでに要する遅延時間と、前記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる、スレーブ装置制御方法。
【０１８２】
（付記１７）
付記１６に記載のスレーブ装置制御方法であって、
前記マスタ装置により送信され、且つ、当該マスタ装置が有する時計が示す時刻に、前記スレーブ装置に対して前記算出された遅延時間を加えた時刻を含む単位データを受信し、当該スレーブ装置が有する時刻を、当該受信された単位データに含まれる時刻に設定するように構成されたスレーブ装置制御方法。
【０１８３】
（付記１８）
現在の時刻を示す時計を有し、且つ、他の通信装置とともにリング型ネットワークを構成する通信装置であるスレーブ装置に、
第１の単位データ、及び、第２の単位データを、互いに異なる方向にて、前記他の通信装置の１つであるマスタ装置へ向けて送信するための処理を同時に開始し、
前記マスタ装置により算出され、且つ、当該マスタ装置から前記スレーブ装置へ単位データが到達するまでに要する遅延時間と、前記マスタ装置が有する時計が示す時刻と、に基づいて、当該マスタ装置が有する時計が示す時刻と、当該スレーブ装置が有する時計が示す時刻と、を同期させる、処理を実行させるためのスレーブ装置制御プログラム。
【０１８４】
（付記１９）
付記１８に記載のスレーブ装置制御プログラムであって、
前記スレーブ装置に、
前記マスタ装置により送信され、且つ、当該マスタ装置が有する時計が示す時刻に、前記スレーブ装置に対して前記算出された遅延時間を加えた時刻を含む単位データを受信し、当該スレーブ装置が有する時刻を、当該受信された単位データに含まれる時刻に設定する処理を実行させるように構成されたスレーブ装置制御プログラム。
【産業上の利用可能性】
【０１８５】
本発明は、リング型ネットワークを構成する複数の通信装置を備える通信システム等に適用可能である。
【符号の説明】
【０１８６】
１      通信システム
１１〜１４  通信装置
１０１  第１のフレーム入力部
１０２  第１の入力側バッファ部
１０３  第１の出力側バッファ部
１０４  第１のフレーム出力部
１０５  第２のフレーム入力部
１０６  第２の入力側バッファ部
１０７  第２の出力側バッファ部
１０８  第２のフレーム出力部
１０９  フレーム生成部
１１０  時計部
２０１  時計部
２０２  フレーム生成部
２０３  第１のフレーム出力部
２０４  第２のフレーム出力部
２０５  第１のフレーム入力部
２０６  第１の時刻情報取得部
２０７  第２のフレーム入力部
２０８  第２の時刻情報取得部
２０９  時刻情報記憶部
２１０  時刻補正情報生成部
５００  通信システム
５０１  周回所要時間取得部
５０２  スレーブ側単位データ送信部
５０３  受信時刻差取得部
５０４  遅延時間算出部
５０５  時刻同期部
【図１】
2013146006.tif 000042
【図２】
2013146006.tif 000043
【図３】
2013146006.tif 000044
【図４】
2013146006.tif 000045
【図５】
2013146006.tif 000046
【図６】
2013146006.tif 000047
【図７】
2013146006.tif 000048
【図８】
2013146006.tif 000049
【図９】
2013146006.tif 000050
【図１０】
2013146006.tif 000051
【図１１】
2013146006.tif 000052