(57)【要約】      （修正有）【課題】伝送負荷の変動に対する時刻同期の精度の向上を図る時刻同期方法を提供する。【解決手段】マスター・スレーブ間で時刻同期用のＰＴＰパケット３を往復させ、スレーブ側においてマスターとの時刻差を算出し、算出された時刻差に基づき時刻同期を実行する。このＰＴＰパケット３の送信前にＰＴＰパケット調整パケット４を送信する。このＰＴＰ調整パケット４の優先度は、ＰＴＰパケット３より低く設定され、かつＰＴＰパケット３以外の他のパケット２ａよりも高く設定されている。このＰＴＰ調整パケット４の個数は、マスター・スレーブ間の伝送区間に配置されたＬ２スイッチ１の個数に応じて定められる。このＬ２スイッチ１は、ＰＴＰパケット３を受信完了すれば現在のＰＴＰ調整パケット４の送信が完了したあと、ＰＴＰパケット３を送信する。【選択図】図６
2019033333.tif 000002
【特許請求の範囲】
【請求項１】
マスター・スレーブ間で時刻同期用のＰＴＰパケットを往復させ、スレーブ側においてマスター側との時刻差を算出し、算出された時刻差に基づき時刻同期を実行する方法であって、
前記ＰＴＰパケットの送信前に前記ＰＴＰパケットの転送タイミングを調整するためのＰＴＰパケット調整パケットを送信するステップを、
有することを特徴とする時刻同期方法。
【請求項２】
前記ＰＴＰ調整パケットの優先度は、前記ＰＴＰパケットより低く設定され、かつ前記ＰＴＰパケット以外の他のパケットよりも高く設定されている
ことを特徴とする請求項１記載の時刻同期方法。
【請求項３】
前記ＰＴＰ調整パケット数は、マスター・スレーブ間の伝送区間に配置された中継装置数に応じて定められる
ことを特徴とする請求項１または２記載の時刻同期方法。
【請求項４】
前記中継装置は、ＰＴＰ調整パケットをＰＴＰパケットの受信完了まで送信することを特徴とする請求項３記載の時刻同期方法。
【請求項５】
前記中継装置は、ＰＴＰパケットを受信完了すれば現在のＰＴＰ調整パケットの送信が完了したあとＰＴＰパケットを送信する
ことを特徴とする請求項４記載の時刻同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＥＥＥ１５８８の規格による高精度時刻同期（以下、ＰＴＰ機能とする。）の方法に関する。
【背景技術】
【０００２】
ＰＴＰ（ＰｒｅｃｉｓｉｏｎＴｉｍｅ  Ｐｒｏｔｏｃｏｌ：高精度時刻プロトコル）は、ネットワーク全体の時刻を同期するために使用される標準プロトコルであり、各ノードの内部時計を基準時計に時刻同期させている。このとき時刻配信を送信するノードをマスターと呼び、マスターから高精度の時刻配信を受け取るノードをスレーブと呼ぶ。
【０００３】
そして、マスター・スレーブ間で時刻同期用のＰＴＰパケットを往復させ、スレーブ側のＰＴＰ処理の演算によってマスターの内部時計（基準時計）と自装置の内部時計との時間差を算出する。この時間差に基づきスレーブの内部時計の進む速度を調整して基準時計の時刻と一致させる。
【０００４】
ところがＰＴＰパケットの往路と復路とで伝送時間が相違する場合には時刻補正の精度が悪化するため、伝送にかかる時間の変動が問題となる。この点につき特許文献１の発明は、同期パケットの送信完了時刻を無線ネットワークにて配信することで対応しようとしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１１１６５４
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＰＴＰ機能は、ＰＴＰパケットをマスター・スレーブ間で往復させて時刻同期を実施するものの、ＰＴＰパケットの往路と復路とで伝送遅延が等しいことを前提とするため、ＰＴＰパケットの伝送時間が変動すると時刻同期の精度が低下する問題がある。
【０００７】
この点につき特許文献１の発明では、同期パケットの送信完了時刻を無線ネットワークにて配信することで対応しようとするものの、この発明は無線通信を前提とするため、有線ネットワークにはなじまない。また、単に同期パケットの送信完了時刻を送信するだけではＰＴＰパケットの伝送時間の変動を根本的に解決することはできない。
【０００８】
一方、有線ネットワークでは、ネットワーク直結あるいはＰＴＰ対応の通信機器（スイッチングハブなど）を使用すれば時刻同期の高精度化は可能なものの、通常のレイヤ（Ｌａｙｅｒ）２のスイッチングハブ（以下、Ｌ２スイッチとする。）などを使用するとＰＴＰパケットがバッファに格納されて他のパケットの送信完了待ちの後に送信されてしまう。これでは却って伝送時間の変動を生じ、ＰＴＰ対応ではない一般的なネットワークでは時計の精度が悪化するおそれがある。
【０００９】
その対応としてＰＴＰパケットの優先度を高くするなどの対策が実施され、優先度が一番高ければ同じ優先度のパケットがない限り最初に送信される。しかしながら、現在送信中のパケットを中断してＰＴＰパケットを優先的に送信するものではなく、優先度の対策が施されていても長いパケットの送信中の場合には該パケットを送信分の待ち時間が発生するおそれがある。
【００１０】
例えばイーサネット（登録商標）のフレーム長は「１５１８ｂｙｔｅ」が最大なので、伝送路が「１Ｇｂｐｓ」ならば「１２．１μｓｅｃ」の待ち時間となり、優先度が設定されていても伝送時間は最大「１２．１μｓｅｃ」の変動が生じるおそれがある。
【００１１】
この場合、ネットワークの伝送負荷が低ければ、複数のＰＴＰパケットを送信して伝送時間の小さいデータのみを使用して時刻同期することで精度の向上は可能であるが、伝送負荷が小さい（低い）ことを保障する必要がある。
【００１２】
一方、伝送負荷が大きい（高い）場合あるいは伝送負荷が不明であれば時刻同期は、理論上のワースト値でしか保証することができない。例えば伝送路が「１Ｇｂｐｓ」でフレーム長が最大の「１５１８ｂｙｔｅ」の条件下では、Ｌ２スイッチ１台の場合に最大「１２．１μｓｅｃ」の変動となり、時計は変動幅「±６μｓｅｃ」の精度となってしまう。
【００１３】
また、同じ条件下でＬ２スイッチが２台の場合には変動幅「±１２μｓｅｃ」の精度となる。このように優先度の設定を使用しても伝送負荷によっては時刻同期を保障できる精度が悪化するという問題があった。
【００１４】
本発明は、このような従来の問題を解決するためになされ、伝送負荷の変動に対する時刻同期の精度の向上を図ることを解決課題としている。
【課題を解決するための手段】
【００１５】
本発明は、マスター・スレーブ間で時刻同期用のＰＴＰパケットを往復させ、スレーブ側においてマスター側との時刻差を算出し、算出された時刻差に基づき時刻同期を実行する方法に関する。この方法は、前記ＰＴＰパケットの送信前に前記ＰＴＰパケットの転送タイミングを調整するためのＰＴＰパケット調整パケットを送信するステップを、有する。
【００１６】
前記ＰＴＰ調整パケットの優先度は、前記ＰＴＰパケットより低く設定され、かつ前記ＰＴＰパケット以外の他のパケットよりも高く設定されていることが好ましい。
【００１７】
前記ＰＴＰ調整パケット数は、マスター・スレーブ間の伝送区間に配置された中継装置数に応じて定めることができる。この前記中継装置は、ＰＴＰ調整パケットをＰＴＰパケットの受信完了まで送信することが好ましい。このとき前記中継装置は、ＰＴＰパケットを受信完了すれば現在のＰＴＰ調整パケットの送信が完了したあとＰＴＰパケットを送信することができる。
【発明の効果】
【００１８】
本発明によれば、伝送負荷の変動に対する時刻同期の精度を向上させることができる。
【図面の簡単な説明】
【００１９】
【図１】従来の時刻同期方法におけるＬ２スイッチのＰＴＰパケット送受信を示す内部構成図。
【図２】同  パケット送信中にＰＴＰパケットを受信したときのＬ２スイッチの内部構成図。
【図３】実施例の時刻同期方法においてパケット送信中にＰＴＰ調整パケットを受信したときのＬ２スイッチの内部構成図。
【図４】同  パケット送信完了後にＰＴＰ調整パケット送信するＬ２スイッチの内部構成図。
【図５】同  ＰＴＰパケット受信完了までの間にＰＴＰ調整パケットを送信する状況を示すＬ２スイッチの内部構成図。
【図６】同  ＰＴＰパケット受信完了後にＰＴＰ調整パケットの送信を中止してＰＴＰパケットの送信を開始する状況を示すＬ２スイッチの内部構成図。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態に係る時刻同期方法を説明する。この時刻同期方法は、ＩＥＥＥ１５８８の規格による高精度時刻同期（ＰＴＰ機能）に関し、ネットワーク上のマスター・スレーブ間で時刻同期用のＰＴＰパケットを往復させる。
【００２１】
概略を説明すれば、マスター側でＰＴＰパケット（Ｓｙｎｃ、Ｐｄｅｌａｙ＿Ｒｅｑ）をスレーブに送信し、スレーブ側で該ＰＴＰパケットを受信する。この送信時刻を「ｔ１」，同受信時刻を「ｔ２」とする。
【００２２】
また、スレーブ側からマスター側にＰＴＰパケット（Ｄｅｌａｙ＿Ｒｅｑ，Ｐｄｅｌａｙ＿Ｒｅｓｐ）を送信し、該送信時刻を「ｔ３」とする。このＰＴＰパケットの受信後にマスター側からは、ＰＴＰパケット（Ｄｅｌａｙ＿Ｒｅｓｐ）トがスレーブ側に送信される。このＰＴＰパケットの受信時刻を「ｔ４」とする。
【００２３】
この時刻「ｔ１」〜「ｔ４」のタイムスタンプに基づきメッセージ往復の遅延時間と、マスター・スレーブ間の時刻差（クロックのオフセット）とを算出する。この時間差に基づきスレーブ側の内部時計の進む速度を調整し、マスター側の内部時計（基準時計）の時刻と一致させる。
【００２４】
ただし、前記時刻同期方法は、ＰＴＰパケットの送信前にＰＴＰパケット調整パケットを送信することにより、Ｌ２スイッチなどの通信機器内においてＰＴＰパケットの転送タイミングの調整を図っている。
【００２５】
≪ネットワーク構成≫
まず、前記時刻同期方法を実行するネットワーク構成例を説明する。ここではネットワーク上のマスター・スレーブ間で高精度時刻同期（ＰＴＰ機能）が実行され、マスター・スレーブ間の伝送路（伝送区間）には優先度機構を備えた１台のＬ２スイッチが配置されているものとする。
【００２６】
このＬ２スイッチの優先度は、「０〜７」の範囲で設定でき、優先度「７」が最高値となっている。ここではＰＴＰパケットなどの一部のパケットのみが優先度「７」に設定されているものとする。
【００２７】
このネットワーク構成の下、ＰＴＰパケットの送信前に優先度「６」のＰＴＰパケット調整パケット（６４ｂｙｔｅ）を送信する。このとき１９個のＰＴＰ調整パケットがネットワークの伝送速度にて連続送信される。
【００２８】
この連続送信の方法としては、ＬＡＮドライバにて送信を停止した状態でＬＡＮチップの送信バッファに複数の送信パケットをセットして最後に送信を再開させるなどの方法があげられる。このＰＴＰ調整パケットは、前記伝送区間だけを流れ、受信側にて廃棄されるものとする。
【００２９】
（１）優先度の値について
ここではＰＴＰパケットの優先度「７」が設定されているものの、優先度「６」または「７」の長い一般パケットと送信タイミングが一致すると時刻同期の精度が悪化するおそれがあった。
【００３０】
そこで、このような事情を考慮してＰＴＰ調整パケットをＰＴＰパケットより低い優先度で、かつ他の一般パケットよりも高い優先度に設定する。ここではＰＴＰパケットについて優先度「７」が設定されているため、ＰＴＰ調整パケットは優先度「６」に設定される。
【００３１】
このとき前記伝送路に流れる他の一般パケットは、優先度「６」未満に設定されことが好ましい。これによりＰＴＰパケットおよびＰＴＰ調整パケットに優先して他の一般パケットがＬ２スイッチで送信開始されることが阻止される。
【００３２】
（２）ＰＴＰ調整パケットの個数について
ＰＴＰ調整パケットの個数は、ネットワーク構成に応じて調整される。ここではマスター・スレーブ間の伝送区間に１台のＬ２スイッチが配置されているため、前述のように１６個のＰＴＰ調整パケットが送信される。
【００３３】
詳細を説明すれば、Ｌ２スイッチは、パケット（１５１８ｂｙｔｅ）の１ｂｉｔ目を送信開始した直後にＰＴＰパケットを受信完了しても、該受信完了したＰＴＰパケットを送信することができず待ち状態となる。
【００３４】
したがって、パケット（１５１８ｂｙｔｅ）の最後の１ｂｉｔを送信完了する少し前にＰＴＰパケットを受信完了していることが望ましい。ここでＰＴＰ調整パケット（６４ｂｙｔｅ）の送信は、パケット間ギャップがあるので「８４ｂｙｔｅ」相当となる。
【００３５】
そうすると「（１５１８／８４＝１８．１」となり、ＰＴＰ調整パケットは１９個以上と算出される。ただし、ＰＴＰ調整パケットは、１９個以上であればよく、例えば２０個あるいは２１個であってもよいものとする。一方、前記伝送区間に２台のＬ２スイッチが配置されている場合には３８個以上のＰＴＰ調整パケットを送信する。
【００３６】
また、前記伝送区間の途中で通信速度が変化する場合や帯域調整機構のある場合には、ＰＴＰ調整パケットの送信タイミングと送信個数とを調整する。このときＰＴＰ調整パケットの個数が足りない場合には時刻同期の精度が悪化するものの、ＰＴＰ調整パケットの送信個数が多すぎても他の通信制限時間が若干増加するにすぎない。なお、ＰＴＰ調整パケットは、前記伝送区間における伝送時間の最大変動時間と同じ時間となるように調整されるものとする。
【００３７】
≪実施例≫
以下、前記時刻同期方法の実施例を説明する。ここでＰＴＰパケットによる時刻同期においては、前記伝送路の往路と復路との伝送時間が等しいことが理想である。
【００３８】
そうすると前記伝送時間の差は小さいことが望ましいので優先度による機構を使用するが、該優先度は現在送信中のパケットを中断して高い優先度のパケットを送信するわけではない。その結果、最長のパケットの送信中にＰＴＰパケットを受信すると送信待ちが最も大きく時刻精度が悪化するおそれがある。
【００３９】
例えばイーサネットの最大パケットが「１５１８ｂｙｔｅ」であり、伝送速度が「１Ｇｂｐｓ」のときには「１２．１μｓｅｃ」の待ち時間を発生させる。そこで本実施例では、ＰＴＰパケットを送信する前にＰＴＰ調整パケットを１９個送信することとした（Ｌ２スイッチは１個とする。）。これにより次の送受信が実行される。
【００４０】
（１）すなわち、前記伝送路に配置されたＬ２スイッチのバッファが空の場合、該Ｌ２スイッチは１個目のＰＴＰ調整パケットの受信を完了すれば２個目のＰＴＰ調整パケットの受信中に１個目のＰＴＰ調整パケットを送信する。この送受信を１９回繰り返した後にＰＴＰパケットを受信して送信する。
【００４１】
このときＰＴＰ調整パケットによりパケット間ギャップを含めて「１２．８μｓｅｃ」の送信時間が発生するものの、ＰＴＰパケットの送信元からＬ２スイッチを経由して転送されるまでの時間はＰＴＰパケットの長さ分だけで済む。
【００４２】
（２）一方、前記伝送路に配置されたＬ２スイッチが、優先度「０」の「１５１８ｂｙｔｅ」のパケットを送信開始した時点では、Ｌ２スイッチはＰＴＰ調整パケットを受信しても「１５１８ｂｙｔｅ」のパケットを送信中なので、ＰＴＰ調整パケットをバッファに格納する。
【００４３】
ここで１９個のＰＴＰ調整パケットの受信完了後にＰＴＰパケットの受信を完了するのは「１２．８μｓｅｃ」後となる。また、「１５１８ｂｙｔｅ」のパケットの送信完了は「１２．１μｓｅｃ」後なので、ＰＴＰ調整パケットを１つ送信したあとにＰＴＰパケットが送信される。
【００４４】
すなわち、ＰＴＰ調整パケットの用いていない従来の時刻同期方法によれば、最大「１２．１μｓｅｃ」の待ち時間が発生する。一方、ＰＴＰ調整パケットを事前に送信する本実施例によれば、「ＰＴＰパケット受信時間＋待ち時間（０〜０．６７２μｓｅｃ）」に抑制され、伝送時間の変動を約「１／１８」まで削減できる。
【００４５】
これにより特に伝送路が高負荷あるいは瞬間的に高負荷なときも安定して時刻同期の高精度を保証することが可能となる。以下、図１〜図６に基づき詳細を説明する。
【００４６】
（３）まず、図１および図２に基づき前記従来の時刻同期方法を説明する。ここでは図１に示すように、Ｌ２スイッチ１は優先度の機構を備え、パケット２の優先度を「０〜７」の範囲で設定することができる。このＬ２スイッチ１は、パケット２を「０〜７」の優先度別に並べて格納し、優先度の高い順に送信する。
【００４７】
図１中では、Ｌ２スイッチ１は、１個のパケット２の受信を完了すれば、他のパケット２が無いため、受信完了したパケット２の送信を開始する。この場合の伝送上の時間の遅れは、パケット２の受信にかかる時間なので、パケット２の長さの影響を受ける。
【００４８】
すなわち、Ｌ２スイッチ１のバッファが空の場合、ＰＴＰパケットにはその長さ分の待ち時間が発生するものの、該待ち時間はＰＴＰパケットの長さに応じた固定的であり、往復するＰＴＰパケットとしては時刻同期の精度への影響は少ない。
【００４９】
一方、図２では、長いパケット２ａの送信開始時点でＰＴＰパケット３を受信した状態が示されている。このときＰＴＰパケット３は最も高い優先度、即ち優先度「７」に設定されているものの、優先度「０」の長いパケット２ａの送信を中断することができず、長いパケット２ａの送信完了まで待機させられる。
【００５０】
したがって、ＰＴＰパケット３の長さだけではなく、現在送信中の長いパケット２ａの残りの長さの影響を受ける。この点で従来はＰＴＰパケット３の受信タイミングにより待ち時間が変動し、時刻同期の精度が悪化するおそれがあった。
【００５１】
（４）つぎに図３〜図６に基づき本実施例の前記時刻同期方法、即ちＰＴＰパケットの送信に先だって１９個のＰＴＰ調整パケットを送信する方法を説明する。
【００５２】
ここでは図１および図２と同様にＰＴＰパケット３は最も高い優先度、即ち優先度「７」に設定されているものとする。また、ＰＴＰ調整パケット４は優先度「６」に設定され、両パケット３，４以外の他のパケット２ａはＰＴＰ調整パケット４の優先度よりも低い値に設定されているものとする。
【００５３】
図３は、優先度「０」の長いパケット２ａの送信中に「６４ｂｙｔｅ」のＰＴＰ調整パケット４を受信した状態を示している。このときＰＴＰ調整パケット４は、バッファ中の優先度「６」に順次に格納されるものの、長いパケット２ａの送信中なため、送信待ちの状態となる。この長いパケット２ａの送信の進行に応じてＰＴＰ調整パケット４の受信が進行する。
【００５４】
図４は、優先度「０」の長いパケット２ａの送信が完了した状態を示し、該パケット２ａの送信完了後に優先度「６」のＰＴＰ調整パケット４が１個送信されている。
【００５５】
図５は、優先度「７」のＰＴＰパケット３の受信完了の状態を示している。この受信完了後はＰＴＰ調整パケット４の送信中であり、その送信が完了するとＰＴＰパケット３の送信に移行する。
【００５６】
図６は、ＰＴＰパケット３の送信開始の状態を示している。このＰＴＰパケット３の送信完了後に残りのＰＴＰ調整パケット４の送信が再開されるが、すべてのＰＴＰ調整パケット４は受信側で廃棄されるため、特に意味は無い。
【００５７】
このように優先度「０」の長いパケット２ａの送信後、ＰＴＰパケット３の受信完了後まで優先度「６」のＰＴＰ調整パケット４を送信することにより、低い優先度（優先度「６」未満）のパケット送信が開始されることを阻止する。
【００５８】
このときＰＴＰ調整パケット４は、「６４ｂｙｔｅ」という最小サイズなため、その伝送時間の変動は最大で「パケット間ギャップを含めて８４ｂｙｔｅ」の送信時間となる。
【００５９】
例えば図２中の長いパケット２ａのサイズが「１５１８ｂｙｔｅ」であれば従来の時刻同期方法では最大「１５１８ｂｙｔｅ」の送信時間の変動となる。一方、本実施例の前記時刻同期方法によれば、前述のように「パケット間ギャップを含めて８４ｂｙｔｅ」の送信時間の変動に抑えることができ、この点で時刻同期の精度を約１８倍に向上させることができる。
【００６０】
特に「ＴＣＰ／ＩＰ」などを適用したネットワークシステムでは、パケット長が長く、往復における片方の帯域を使いつくすことが多い。そのため、従来の時刻同期方法では精度がワースト値に近くなるが、本実施例の前記時刻同期方法であれば精度のワースト値を「１／１８」に抑えることが可能である。この意味で伝送負荷の変動に対する時刻同期の精度を向上させることができる。
【００６１】
なお、本発明は、上記実施形態に限定されるものではなく、各請求項に記載された範囲内で変形して実施することができる。特にＰＴＰ調整パケット４の優先度はＰＴＰパケット３よりも低く、かつ他のパケット２ａよりも高い値であればよく、Ｌ２スイッチ１の優先度設定範囲に応じて設定することができる。
【００６２】
例えば優先度設定範囲が「１〜１０」の場合には、ＰＴＰパケット３の優先度を「１０」に設定し、ＰＴＰ調整パケットの優先度を「９」に設定し、他のパケット２ａの優先度を「９」未満に設定すればよい。
【符号の説明】
【００６３】
１…Ｌ２スイッチ（中継装置）
２…パケット
２ａ…長いパケット
３…ＰＴＰパケット
４…ＰＴＰ調整パケット
【図１】
2019033333.tif 000003
【図２】
2019033333.tif 000004
【図３】
2019033333.tif 000005
【図４】
2019033333.tif 000006
【図５】
2019033333.tif 000007
【図６】
2019033333.tif 000008