IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ セイコーソリューションズ株式会社の特許一覧

<>
  • 特許-クロック処理装置及びプログラム 図1
  • 特許-クロック処理装置及びプログラム 図2
  • 特許-クロック処理装置及びプログラム 図3
  • 特許-クロック処理装置及びプログラム 図4
  • 特許-クロック処理装置及びプログラム 図5
  • 特許-クロック処理装置及びプログラム 図6
  • 特許-クロック処理装置及びプログラム 図7
  • 特許-クロック処理装置及びプログラム 図8
  • 特許-クロック処理装置及びプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-03-25
(45)【発行日】2022-04-04
(54)【発明の名称】クロック処理装置及びプログラム
(51)【国際特許分類】
   H04L 7/00 20060101AFI20220328BHJP
   G04G 5/00 20130101ALI20220328BHJP
【FI】
H04L7/00 990
G04G5/00 J
【請求項の数】 4
(21)【出願番号】P 2021083229
(22)【出願日】2021-05-17
【審査請求日】2021-05-17
(73)【特許権者】
【識別番号】313006647
【氏名又は名称】セイコーソリューションズ株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】特許業務法人太陽国際特許事務所
(72)【発明者】
【氏名】倉田 陽介
【審査官】阿部 弘
(56)【参考文献】
【文献】特開2014-216669(JP,A)
【文献】特開2020-091134(JP,A)
【文献】特開2016-025474(JP,A)
【文献】Xueqiao Li et al.,Improvement of precise time synchronization algorithm based on IEEE1588[Online],2010 International Conference on Computer, Mechatronics, Control and Electronic Engineering,IEEE,2010年08月26日,pp. 70-73
(58)【調査した分野】(Int.Cl.,DB名)
H04L 7/00
G04G 5/00
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
現在の時刻情報を出力するクロック部と、
参照クロック発信装置から参照クロックの時刻情報を含む第1メッセージを受信し、
前記参照クロック発信装置へ、前記クロック部が出力する時刻情報を含む第2メッセージを送信し、
前記第2メッセージを受信した時の前記参照クロックの時刻情報を受信する通信部と、
前記第1メッセージに含まれる参照クロックの時刻情報と、前記第1メッセージを受信した時に前記クロック部が出力した時刻情報との差分を、仮の第1片方向遅延時間とし、前記仮の第1片方向遅延時間同士の差である第1片方向遅延差を各々計算すると共に、前記第2メッセージに含まれる時刻情報と、前記第2メッセージを受信した時の前記参照クロックの時刻情報との差分を、仮の第2片方向遅延時間とし、前記仮の第2片方向遅延時間同士の差である第2片方向遅延差を各々計算する片方向遅延差計算部と、
計算対象となる前記第1メッセージ及び前記第2メッセージの組み合わせについて、前記仮の第1片方向遅延時間と前記仮の第2片方向遅延時間との和である往復遅延時間を計算するための情報を取得する情報取得部と、
所定の推定方法を用いて第1片方向遅延時間又は第2片方向遅延時間を推定する遅延時間推定部と、
前記仮の第1片方向遅延時間の最短時間と、最新の前記仮の第1片方向遅延時間との差である第1片方向遅延差を計算し、前記仮の第2片方向遅延時間の最短時間と、最新の前記仮の第2片方向遅延時間との差である第2片方向遅延差を計算し、前記情報取得部によって取得された前記情報と、前記計算した前記第1片方向遅延差と、前記計算した前記第2片方向遅延差とを用いて定められる、前記第1片方向遅延時間又は前記第2片方向遅延時間の存在範囲を用いて、前記遅延時間推定部によって推定された前記第1片方向遅延時間又は前記第2片方向遅延時間が正しいか否かを判定する判定部と、
を含むクロック処理装置。
【請求項2】
前記遅延時間推定部によって推定された前記第1片方向遅延時間又は前記第2片方向遅延時間を補正するための補正部を更に含み、
前記遅延時間推定部は、前記第1片方向遅延時間及び前記第2片方向遅延時間の比を用いて、前記第1片方向遅延時間又は前記第2片方向遅延時間を推定し、
前記補正部は、前記判定部によって正しいと判定されるように、前記比を補正し、前記遅延時間推定部によって補正後の前記比を用いて前記第1片方向遅延時間又は前記第2片方向遅延時間を推定し直す請求項1記載のクロック処理装置。
【請求項3】
前記遅延時間推定部によって推定された前記第1片方向遅延時間と、前記第1メッセージに含まれる参照クロックの時刻情報と、前記第1メッセージを受信した時に前記クロック部が出力した時刻情報とを用いて、前記クロック部が出力する時刻情報と、前記参照クロックの時刻情報との現在の時差を計算する時差計算部と、
前記現在の時差に基づいて、前記クロック部に対する現在の歩度を決定する歩度決定部と、
を更に含む請求項1又は2記載のクロック処理装置。
【請求項4】
コンピュータを、請求項1~請求項3のいずれか1項に記載のクロック処理装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クロック処理装置及びプログラムに係り、特に、自装置のクロックを調整するためのクロック処理装置及びプログラムに関する。
【背景技術】
【0002】
従来より、参照クロックからの時刻情報を取得して自装置の精密なクロックを合わせ、配下の装置に対して時刻を配信するタイムサーバがある。
【0003】
タイムサーバは参照クロックから時刻情報を受信し、自クロックと参照クロックの時差を確認する。通常は時差に基づいた計算によって、自クロックの現在歩度を決定する。
【0004】
また、非特許文献1では、RTT(Round-Trip Time)を利用した実践的な片方向遅延の推定手法が開示されている。非特許文献1ではTCP(Transimission Control Protocol)プロトコル全般を対象として片方向遅延を推定している。TCPには再送のためのRetransmission Time Out(RTO)の仕組みがあり、RTO設定のためにRTTを計測している。また、特許文献1では、2つの内部クロックを用いて片方向遅延を推定している。
【先行技術文献】
【非特許文献】
【0005】
【文献】Choi, J.-H. and Yoo, C. One-way delay estimation and its application. Computer Communications, Vol. 28,No. 7, pp. 819-828, 2005.
【特許文献】
【0006】
【文献】特許第6684409号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
NTP(Network Time Protocol)やPTP(Precision Time Protocol)で利用しているパケット交換方式での時刻同期では、サーバからクライアントへの片方向遅延と両者の時差を知るために図9のようなサーバ・クライアント間のタイムスタンプのやり取りをする。この交換方式を便宜上、T-T方式と呼ぶ。
【0008】
この方式では片方向遅延時間は

(1)
と計算する。計算には最新のt、T、T、tが必要であり、その計算ができるようになるのはtが取得された直後である。
【0009】
-T方式では、片方向遅延は上りと下りで同一であると想定している。tが分かった時点でt、T、T、tのすべてが分かっているので、その時点でのサーバとクライアントの時差O(t)は、

のように計算する。したがって片方向遅延時間が上りと下りで異なる場合は正しくない時差になる。しかしながら、この方式ではサーバとクライアントのクロックが合っていなくともそれなりに正確な片方向遅延が得られる。
【0010】
特にNTPの場合は時刻同期の確度・精度として1ミリ秒程度を想定していることもあり、きわめて遠方のサーバでなければこのような片方向遅延の計算誤差は無視できることが多い。しかしながら、PTPの場合は無視できないほど大きいことがほとんどである。
【0011】
本発明は、上記問題点を解決するために成されたものであり、片方向遅延時間が上りと下りで異なる場合であっても、精度よく片方向遅延時間を求めることができるクロック処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するために、本発明に係るクロック処理装置は、現在の時刻情報を出力するクロック部と、参照クロック発信装置から参照クロックの時刻情報を含む第1メッセージを受信し、前記参照クロック発信装置へ、前記クロック部が出力する時刻情報を含む第2メッセージを送信し、前記第2メッセージを受信した時の前記参照クロックの時刻情報を受信する通信部と、前記第1メッセージに含まれる参照クロックの時刻情報と、前記第1メッセージを受信した時に前記クロック部が出力した時刻情報との差分を、仮の第1片方向遅延時間とし、前記仮の第1片方向遅延時間同士の差である第1片方向遅延差を各々計算すると共に、前記第2メッセージに含まれる時刻情報と、前記第2メッセージを受信した時の前記参照クロックの時刻情報との差分を、仮の第2片方向遅延時間とし、前記仮の第2片方向遅延時間同士の差である第2片方向遅延差を各々計算する片方向遅延差計算部と、計算対象となる前記第1メッセージ及び前記第2メッセージの組み合わせについて、前記仮の第1片方向遅延時間と前記仮の第2片方向遅延時間との和である往復遅延時間を計算するための情報を取得する情報取得部と、所定の推定方法を用いて第1片方向遅延時間又は第2片方向遅延時間を推定する遅延時間推定部と、前記仮の第1片方向遅延時間の最短時間と、最新の前記仮の第1片方向遅延時間との差である第1片方向遅延差を計算し、前記仮の第2片方向遅延時間の最短時間と、最新の前記仮の第2片方向遅延時間との差である第2片方向遅延差を計算し、前記情報取得部によって取得された前記情報と、前記計算した前記第1片方向遅延差と、前記計算した前記第2片方向遅延差とを用いて定められる、前記第1片方向遅延時間又は前記第2片方向遅延時間の存在範囲を用いて、前記遅延時間推定部によって推定された前記第1片方向遅延時間又は前記第2片方向遅延時間が正しいか否かを判定する判定部と、を含んで構成されている。
【0013】
この発明によれば、前記計算した前記第1片方向遅延差と、前記計算した前記第2片方向遅延差とを用いて定められる、前記第1片方向遅延時間又は前記第2片方向遅延時間の存在範囲を用いて、前記遅延時間推定部によって推定された前記第1片方向遅延時間又は前記第2片方向遅延時間が正しいか否かを判定することにより、片方向遅延時間が上りと下りで異なる場合であっても、精度よく片方向遅延時間を求めることができる。
【0014】
また、前記クロック処理装置において、前記遅延時間推定部によって推定された前記第1片方向遅延時間又は前記第2片方向遅延時間を補正するための補正部を更に含み、前記遅延時間推定部は、前記第1片方向遅延時間及び前記第2片方向遅延時間の比を用いて、前記第1片方向遅延時間又は前記第2片方向遅延時間を推定し、前記補正部は、前記判定部によって正しいと判定されるように、前記比を補正し、前記遅延時間推定部によって補正後の前記比を用いて前記第1片方向遅延時間又は前記第2片方向遅延時間を推定し直すことができる。
【0015】
また、前記クロック処理装置において、前記遅延時間推定部によって推定された前記第1片方向遅延時間と、前記第1メッセージに含まれる参照クロックの時刻情報と、前記第1メッセージを受信した時に前記クロック部が出力した時刻情報とを用いて、前記クロック部が出力する時刻情報と、前記参照クロックの時刻情報との現在の時差を計算する時差計算部と、前記現在の時差に基づいて、前記クロック部に対する現在の歩度を決定する歩度決定部と、を更に含むことができる。
【0016】
ここで、歩度とは、クロックの進み又は遅れの度合いであり、例えば、1秒あたりに速くする又は遅くする長さ(ナノ秒)である。
【0017】
また、本発明のプログラムは、コンピュータを、本発明のクロック処理装置の各部として機能させるためのプログラムである。
【発明の効果】
【0018】
本発明によれば、片方向遅延時間が上りと下りで異なる場合であっても、精度よく片方向遅延時間を求めることができる。
【図面の簡単な説明】
【0019】
図1】片方向遅延時間、往復遅延時間を説明するための図である。
図2】Syncメッセージ、Delay_Reqメッセージ、Delay_Respメッセージを説明するための図である。
図3】メッセージを受信する毎に算出される片方向遅延時間の一例を示す図である。
図4】Syncメッセージ、Delay_Reqメッセージ、Delay_Respメッセージのやり取りの一例を示す図である。
図5】片方向遅延時間、往復遅延時間の一例を示す図である。
図6】本発明の実施の形態に係るクロック調整システムの一例を示す図である。
図7】本発明の実施の形態に係るクロック処理装置の構成を示すブロック図である。
図8】本発明の実施の形態に係るクロック処理装置のクロック制御処理のフローチャートを示す図である。
図9】サーバ・クライアント間のタイムスタンプのやり取りの一例を示す図である。
【発明を実施するための形態】
【0020】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0021】
[本発明の実施の形態の原理]
まず、本発明の実施の形態の原理を説明する。
【0022】
PTPはNTPと同様のクライアントサーバ型の時刻同期プロトコルであり、参照クロック発信装置としてのPTPグランドマスター(PTPマスターとも称する)とPTPスレーブは、数ナノ秒から数十ナノ秒程度の確度・精度で時刻同期することができる。PTPがこのような確度・精度で時刻同期できるのは、グランドマスターやスレーブが、揺らぎが極めて小さいハードウェアによるタイムスタンプを利用しているのが大きい。
【0023】
また、このような同期確度・精度を維持するためにはグランドマスターとスレーブ間の中間ネットワーク中継装置(ルータ/L3スイッチやL2スイッチ)がすべてPTPに対応していなければならない。しかしながら、このようにすべての機器をPTP対応にするのは一般的にはハイコストである。特に自身で管理しているLAN(Local Area Network)内をPTP対応にするのはまだ容易であるが、自身の管理外のネットワークがグランドマスターとスレーブの間に挿まれている場合はすべてをPTP対応にするのは難しい。
【0024】
PTPを流すネットワークのすべての中継装置がPTPに対応しているネットワークのことをPTP awareネットワークと呼び、そうでないネットワークをPTP unawareネットワークと呼ぶ。PTP unawareネットワークでPTPを運用する場合、グランドマスターとスレーブがハードウェア・タイムスタンプに対応していたとしても中間ネットワークで確度・精度低下が起こり、一般的にはNTPと同程度の同期精度に低下する可能性がある。ただし、中間ネットワークがPTPには対応していないが低レンテンシであるL2スイッチ数台程度という場合は十分な確度・精度を確保できる可能性は高い。
【0025】
以上に鑑み、本実施の形態ではPTP unawareネットワークにおいてPTPマスターとPTPスレーブの同期確度・精度低下を防ぐための新しい手法を提案する。PTPプロトコルではPTPマスターとPTPスレーブ間で同期のためにタイムスタンプ・メッセージがやり取りされる。このタイムスタンプによって常に片方向遅延の差が計測できる。本実施の形態ではこの片方向遅延の差の変化をもとに正しい片方向遅延時間(One-way delay)の取りうる範囲をどんどんと狭めていく。特にPTP unawareネットワークにおいては、従来の方法に対して比較的正確な片方向遅延時間を推定することが可能となり、結果的に時刻同期の確度精度を高めることができる。
【0026】
<先行研究>
非特許文献1、2では、RTTを利用した実践的な片方向遅延の推定手法を提案している。非特許文献1は、本実施の形態においてターゲットとしている時刻同期プロトコルではなく、TCPプロトコル全般を対象として片方向遅延を推定している。
【0027】
[非特許文献2]Kim, D. and Lee, J. One-way delay estimation without clock sychronization. IEICE Electronics Express, Vol. 4, No. 23, pp. 717-723, 2007.
【0028】
非特許文献2は、非特許文献1の推定精度をさらに引き上げる手法を提案している。
【0029】
図1は、非特許文献1、2の手法を理解するための図である。ホストAとホストB間のメッセージのやり取りを示している。
【0030】
図1において、t、tはそれぞれホストAのクロックでの時間、ホストBのクロックでの時間をそれぞれ表しており、ホストAとホストBのクロックは同期しているとは限らない。以降、便宜上ホストAのクロックが“正しい”クロックであるとする。また、以下のようにそれぞれの量を定義する。
【0031】
(n)は、n番目のメッセージがホストAから送信された時のホストAクロックの示す時間である。すなわち、t(n)は、n-1番目の返信をホストBから受信した時間である。
【0032】
(n)は、n番目のメッセージがホストBで受信された(と同時にホストAに向けて返信された)時のホストBクロックの示す時間である。
【0033】
(n)は、n番目のメッセージがホストBで受信された時の正しい時間(ホストAクロックでの時間)である。ここで、図や式中でのバー付きの変数Xは、Xと表記する。
【0034】
AB(n)は、n番目のメッセージのホストAからホストBに届くまでの片方向遅延時間である。すなわち、AB(n)=(n)-t(n)である。
【0035】
BA(n)は、n番目のメッセージに対する返信がホストBからホストAに届くまでの片方向遅延時間である。すなわち、BA(n)=t(n+1)-(n)である。
【0036】
(n)は、n番目のメッセージのホストAクロックによるRTTである。すなわち、R(n)=t(n+1)-t(n)である。
【0037】
(n)は、n番目のメッセージ返信のホストBクロックによるRTTである。すなわち、R(n)=t(n+1)-t(n)である。
【0038】
(n)は、n番目のメッセージ返信の正しい時間(ホストAクロック)によるRTTである。すなわち、(n)=(n+1)-(n)=BA(n)+AB(n+1)である。
【0039】
(n)は、n番目のメッセージをホストBで受信された時のホストBクロックと正しい時間(ホストAクロック)との時差である。すなわち、O(n)=(n)-t(n)である。
【0040】
ここで、重要となる考え方が、RTTのような長くとも100ミリ秒程度の時間であれば、ホストAクロックとホストBクロックでの経過時間の差が無視できるほど小さいことである。図1であれば、

が成立すると考える。このように仮定するとRTTによってそれぞれの方向の真の片方向遅延差(n)、(n)を以下のように近似計算できる。
【0041】
【0042】
(n)=R(n)-R(n)、J(n)=R(n+1)-R(n)と定義する。以上により片方向遅延差が計算できるのだから、初期の片方向遅延時間AB(0)あるいはBA(0)が分かれば、すべての片方向遅延時間が確定する。
【0043】
しかしながら、初期の片方向遅延時間はRTTからは分からず、非特許文献1では以下のように3つのケースに分けてそれぞれAB(0)の取りうる範囲が決まる。
【0044】
Case1:AB(0)>BA(0)の場合:
【0045】
Case2:AB(0)<BA(0)の場合:
【0046】
Case3:AB(0)=BA(0)の場合:
【0047】
その上で、複数サンプルにおいてAB値がRTTの70%以上であれば、Case1の範囲の中点(R(1)-R(1)+R(0)+2R(0))/4をAB(0)として採用し、30%以下であればCase2の範囲の中点(R(1)-R(1)+R(0))/2をAB(0)として採用し、どちらでもなければR(0)/2をAB(0)として採用する。
【0048】
一方、非特許文献2では、まずR(n)計測とR(n+1)計測が短い時間内で行われている場合、ホストBクロックの正しい時刻との時差がほとんど変わらない、すなわち、

が成立することも仮定する。そしてJ(n)およびJ(n)に注目する。もし、

(2)
が成り立てば、まず以下のように比例配分値を仮置きする。
【0049】
【0050】
もし、この時、ホストAとホストBのクロックが同期していれば、
A(n)=t(n)-t(n)
B(n)=t(n+1)-t(n)
A(n+1)=t(n+1)-t(n+1)
B(n+1)=t(n+2)-t(n+1)
(3)
が成立する。非特許文献2ではホストAとホストBのクロックが同期していない場合であっても式(3)が成立すると仮定すると、条件(2)は誤差込みで成立していると考える。
【0051】
次に同期していない場合に式(3)が成立すると仮定したうえで、推定時差OB.est(n)を、

(4)
とする。そのうえで
AB(n)=A(n)+OB.est(n)
BA(n)=B(n)-OB.est(n)
AB(n+1)=A(n+1)+OB.est(n)
BA(n+1)=B(n+1)-OB.est(n)
とする。本アイデアで重要となるのは、式(3)が成立し、式(4)が成立する範囲にホストBクロックとの時差が収まっていることである。これに対して非特許文献2では、以下の判定条件1)~3)を提案している。
【0052】
1)R(n)、R(n)、R(n+1)が正常に取得できていること。
【0053】
2){J(n)>0かつJ(n)>0}あるいは{J(n)<0かつJ(n)<0}のどちらかが成立する。
【0054】
3)t(n)<t(n)<t(n+1)<t(n+1)<t(n+2)が成立する。
【0055】
実装では、上記の判定条件を満たした場合のみ片方向遅延を計算するとある。確かにこの判定条件は条件(2)を満たすための必要条件ではある。しかし、あまりにも自明であり、この判定条件が片方向遅延時間の推定に直接的な効果を発揮したというよりはDSL回線では多くの場合において上りと下りの遅延比率が概ね決まっており、上記の必要条件が揃えば高い確率で当たると主張しているように思える。
【0056】
しかしながら、式(3)を設定した最初の意図からも分かる通り、要するにホストAとホストBのクロックができるだけ同期してそうなポイントを選ぶと言っているに過ぎない。こういう考え方は時刻同期のための方法としては不適切となる。
【0057】
<PTPにおける用語定義および性質>
時刻同期プロトコルにおける片方向遅延時間の単純計算の方法は、上記式(1)に示した通りである。PTPの場合、具体的には図2のようにSyncメッセージとDelay_ReqメッセージとDelay_Respメッセージとを交換している。図中の各種変数は図1で定義したものを踏襲している。
【0058】
PTPマスターとPTPスレーブ間のn番目のSyncメッセージとm番目のDelay_Reqメッセージ(Delay_Respメッセージ)を使った最も標準的な片方向遅延時間D(n,m)および時差O(n,m)の計算は、

(5)
のようにする。
【0059】
また、実際には図3のように(t1,M(),t2,S())の取得と(t3,S(),t4,M())の取得は非同期に行われている。したがって、片方向遅延時間D=D(i,j)はその時点での最新の(t1,M(),t2,S(),t3,S(),t4,M())で計算することができる。
【0060】
さて、SyncメッセージとDelay_Reqメッセージ(Delay_Respメッセージ)との交換が非同期に実施される場合、n番目のSyncメッセージとm番目のDelay_Reqメッセージを用いた、PTPマスター側の見かけ上のRTTは、以下のようにPTPスレーブ側の応答待ち時間を消去するように計算される。
【0061】
(n,m)=(t4,M(m)-t1,M(n))-(t3,S(m)-t2,S(n))
【0062】
ここで、PTPスレーブ側の応答待ち時間はPTPスレーブのクロックで計測していることに注意する。
【0063】
したがって、任意のn,mについて見かけ上のRTTを考えると真のRTTに対して誤差が大きい場合も存在する。出来るだけ正確なRTTを得るためにはSyncメッセージの受信とDelay_Reqメッセージの送信のタイミングが十分に短い必要がある。
【0064】
例えば、PTPスレーブのクロックの歩度がPTPマスターのクロックの歩度に対して±0.1ppmの狂いであった場合、Syncメッセージ、Delay_Reqメッセージともに5番目であるt2,S(5)からt3,S(5)の期間が15ミリ秒ならば、その期間の正しい時間との誤差は±1.5ナノ秒となる。これくらいの誤差ならばPTPとしては無視できるレベルである(信頼できるRTTとなる)が、5番目のSyncメッセージと20番目のDelay_Reqメッセージに対してt2,S(5)からt3,S(20)の期間が30秒であったとすると、同じく正しい時間との誤差は±3マイクロ秒となり、無視できないような値となる。
【0065】
PTPスレーブ側の見かけ上のRTT R(n,m)も同様に定義されるが、R(n,m)=(t2,S(n)-t3,S(m))-(t1,M(n)-t4,M(m))であるから、結局
(n,m)=R(n,m)
を得る。これより事実上PTPマスター側、PTPスレーブ側と考える必要がなくなり、R(n,m)およびR(n,m)を単純にR(n,m)で表すことにする。以上の結果をまとめて以下の定義を得る。
【0066】
(定義1(信頼できるRTT))
n番目のSyncメッセージの受信タイミングt2,S(n)とm番目のDelay_Reqメッセージの送信タイミングt3,S(m)の差|t3,S(m)-t2,S(n)|について、この差と正しい経過時間との誤差が無視できるほど小さいとき
R(n,m)=(t4,M(m)-t1,M(n))-(t3,S(m)-t2,S(n))
を信頼できるRTTと呼ぶ。
【0067】
上記定義1において、|t3,S(m)-t2,S(n)|の値と正しい経過時間との誤差をできるだけ小さくするためにはPTPマスターのクロックの歩度とPTPスレーブのクロックの歩度の誤差を小さくすることはもちろんであるが、t2,S(n)とt3,S(m)の間にPTPスレーブクロックの値がStep調整(一般的には線形的に増加するはずのクロックの値を、線形的増加を無視して一気に変更する調整のこと)されないことも重要である。
【0068】
最後に、片方向遅延時間について述べる。上記で述べた各種量の定義をもとにすると、n番目のSyncメッセージの真の片方向遅延時間はMS(n)であり、m番目のDelay_Reqメッセージの真の片方向遅延時間はSM(m)である。両者については以下の性質がいつでも成り立つ。
【0069】
(性質2)
すべてのn,mに対して必ず
MS(n)>0 かつ SM(m)>0
が成り立つ。
【0070】
次に真の片方向遅延差(Jitter)
(n)=MS(n+1)-MS(n)
={(t2,S(n+1)+On+1)-t1,M(n+1)}-
{(t2,S(n)+O-t1,M(n)}
と計算できる。ここでOn+1,Oはそれぞれt2,S(n+1),t2,S(n)時点でのPTPスレーブとPTPマスターのクロックの時差である。
【0071】
2,S(n+1)-t2,S(n)の値とt2,S(n)からt2,S(n+1)までの正しい経過時間との差はOn+1-Oに等しい。したがって、信頼できるRTTと同様に、t2,S(n+1)-t2,S(n)の値とt2,S(n)からt2,S(n+1)までの正しい経過時間との差が無視できるほど小さければ

とできる。この時は、

とタイムスタンプ情報だけから計算できる。まとめると以下の定義を得る。
【0072】
(定義3)
1)t2,S(n+1)-t2,S(n)の値とt2,S(n)からt2,S(n+1)までの正しい経過時間との誤差が無視できるほど小さいとき
(n)=(t2,S(n+1)-t1,M(n+1))-(t2,S(n)-t1,M(n))
をSyncメッセージの信頼できる片方向遅延差と呼ぶ。
2)t3,S(m+1)-t3,S(m)の値とt3,S(m)からt3,S(m+1)までの正しい経過時間との誤差が無視できるほど小さいとき
(m)=(t4,M(m+1)-t3,S(m+1))-(t4,M(m)-t3,S(m))
をDelay_Reqメッセージの信頼できる片方向遅延差と呼ぶ。
また、両メッセージを区別する必要ないときは単に信頼できる片方向遅延差と呼ぶ。
【0073】
<RTTと遅延差列による遅延範囲の推定>
上述した用語と性質を用いるとまず以下の補題が示せる。
【0074】
(補題4)
R(n,m),R(n,m),...,R(n,m)がすべて信頼できるRTTとなるn=n<n・・・<nおよびm=m<m<・・・<mなる整数が存在し、そのすべてのRTTが分かっているとする。さらにSyncメッセージ、Delay_Reqメッセージそれぞれにおいて任意の2つのメッセージの片方向遅延差が信頼できるとき、
R(i,j)∈{R(n,m),R(n,m),...,R(n,m)}
を任意に1つ選ぶと
1)n,n+1,...,n-1,nのうちのMS()が最小となる番号kが分かり、MS(k)とMS(i)との差J(i,k)も分かる。
2)m,m+1,..,m-1,mのうちのSM()が最小となる番号lが分かり、SM(l)とSM(j)との差J(j,l)も分かる。
【0075】
証明の前に、補題の想定している状況をもう少し詳しく説明しておく。SyncメッセージとDelay_Reqメッセージの両メッセージは一般的には非同期にメッセージのやり取りをしている(図4)。したがって、任意の番号のSyncメッセージに対して対応するDelay_Reqメッセージが存在しない場合もあれば、逆にSyncメッセージに対して2つ以上のDelay_Reqメッセージを対応させることもできる。よって、対応付けた番号を(n,m)のように添え字をつけて分かりやすくしているのである。
【0076】
(証明)
補題4の1)について示す。q(≠i)を任意にとる。q>iのとき定義3により、MS(i)とMS(q)の差JMS(i,q)は、i番目とq番目のメッセージの片方向遅延差が信頼できることから、以下のように計算できる。

q<iの場合も同様に計算できる。JMS(i,n),...,JMS(i,p)のうちの最小値JMS(j,k)≦0がDMS(k)に対応している。
補題4の2)についても同様に示される。
【0077】
(定理5(Valid Delay Range))
補題4と同様の状況を考え、同じ記号を使用する。このとき、n,n+1,...,nおよびm,m+1,...,mに対して性質2が成り立つことと、任意のRTT R(i,j)と最小片方向遅延時間MS(k)、SM(l)に対して
(k,i)<MS(i)<R(i,j)-J(l,j)
SM(j)=R(i,j)-MS(i)
(6)
が成立することは同値である。ただし


である。
【0078】
(定理5の証明)
図5を参照して、定理5を証明する。
【0079】
まず、性質2⇒式(6)を示す。性質2によりMS(k)>0。MS(i)=MS(k)+J(k,i)であるからJ(k,i)<MS(i)である。SMについても同様に考えてJ(l,j)<SM(j)である。
【0080】
SM(j)=R(i,j)-DMS(i)⇔DMS(i)=R(i,j)-SM(j)はRTTの定義から直接成立する。J(l,j)<SM(j)(J(l,j)>0)であることからMS(i)<R(i,j)-J(l,j)を得る。
【0081】
式(6)⇒性質2を示す。MS(k)=MS(i)-J(k,i),(J(k,i)>0)であるから、式(6)の最初の不等号によりMS(k)>0である。式(6)の2つ目の不等号と等号式によりSM(j)>J(l,j)を得る。SM(l)=SM(i)-J(l,j),(J(l,j)>0)によりSM(l)>0を得る。MS(k)、SM(l)がそれぞれの最小値であることから、n≦∀u≦n、m≦∀v≦mに対してMS(u)>0かつSM(v)>0が成り立つ。
【0082】
<片方向遅延の検査と補正>
上述したように、スレーブ・クロックの周波数オフセットが適切にメンテナンスされていれば、定理5のための片方向遅延差を信頼できる期間を長くとることができる。
【0083】
定理5における信頼できる期間が長ければ長いほど、最小片方向遅延を更新できる可能性が高く、またその情報を長い期間利用できる。よって、定理5で得られる片方向遅延時間の存在範囲の情報を、片方向遅延時間の推定結果の検証および補正に利用する。
【0084】
(アルゴリズム(OWD Check and Correct))
現在時刻をtとし、t=max{t2,S(n),t3,S(m)}とし、片方向遅延時間の推定に使用する下りと上りの遅延比をa:bとする。また、定理5に使用する片方向遅延差は式(7)のようにスレーブの歩度を加味した計算を使う。ただし、r(t)は、歩度調整値であり、後述する時差解消歩度r(t)と固有歩度r(t)を用いて、r(t)=r(t)/(1+r(t))で表される。
【0085】

(7)
【0086】
この時、以下の手順でSyncメッセージの片方向遅延時間の検査と補正を行う。
【0087】
1)片方向遅延時間の推定処理を実行し、DMS(n),DSM(m)を計算する。
【0088】
2)定理5を利用し、真の片方向遅延時間MS(n)の存在範囲を計算する。
【0089】
3)DMS(n)が2)の存在範囲に含まれている場合はDMS(n)をn番目のSyncメッセージの片方向遅延時間として出力し終了する。存在範囲に含まれていなければ次の手順に進む。
【0090】
4)片方向遅延時間の推定に使用する下りと上りの遅延比a:bを、DMS(n)が2)の存在範囲に含まれるように変更する。変更した比を改めてa:bとし上記手順1)に戻る。
【0091】
手順2)、3)をCheckフェーズ、手順4)をCorrectフェーズと呼ぶ。
【0092】
本アルゴリズムにおいては、片方向遅延時間を推定するための遅延比a:bの最適な補正方法については言及しないが、例えば次のような簡易な手順が利用できる。まず、定理5によるSyncメッセージの真の片方向遅延の存在範囲をU<MS(n)<Vとし、片方向遅延時間の推定結果をDMS(n)とする。
【0093】
1)DMS(n)≦Uならば、a+1:bを新たな遅延比a:bとする。
【0094】
2)V≦DMS(n)ならば、a:b+1を新たな遅延比a:bとする。
【0095】
上記の手順をU<DMS(n)<Vを満たすまで繰り返せば良い。
【0096】
<本発明の実施の形態のシステム構成>
本発明の実施の形態に係るクロック調整システムの構成について説明する。図6に示すように、本発明の実施の形態に係るクロック調整システム100は、クロック処理装置10と、参照クロック発信装置16とを備えており、クロック処理装置10と参照クロック発信装置16とはネットワークを介して接続されている。
【0097】
参照クロック発信装置16は、参照クロックの時刻情報を発信するサーバ装置である。参照クロック発信装置16の具体的な態様についての説明は省略するが、参照クロック発信装置16は、参照クロックを有し、参照クロックの時刻情報を、ネットワークを介して配信する。
【0098】
本実施の形態におけるクロック処理装置10は、CPUと、RAMと、後述する各種処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。このクロック処理装置10は、機能的には図7に示すように、通信部20と、自システムクロック部24と、片方向遅延差計算部26と、RTT取得部28と、片方向遅延範囲更新部30と、遅延時間推定部32と、判定部34と、補正部36と、時差計算部38と、自システムクロック制御部40とを備えている。なお、RTT取得部28は、情報取得部の一例であり、自システムクロック制御部40は、歩度決定部の一例である。
【0099】
通信部20は、ネットワークを介して、参照クロック発信装置16との間でメッセージを送受信する。
【0100】
具体的には、通信部20は、参照クロック発信装置16から参照クロックの時刻情報を含む第1メッセージ(Syncメッセージ)を受信する。通信部20は、参照クロック発信装置16へ、自システムクロック部24が出力する時刻情報を含む第2メッセージ(Delay_Reqメッセージ)を送信する。通信部20は、参照クロック発信装置16から、第2メッセージを受信した時の参照クロックの時刻情報を含む第3メッセージ(Delay_Respメッセージ)を受信する。
【0101】
自システムクロック部24は、現在の歩度に基づいて自クロックの時刻情報を決定して、通信部20に出力する。なお、自システムクロック部24は、クロック部の一例である。
【0102】
また、自クロックの時刻情報をクライアント端末に配信する、という利用法が応用として考えられる場合には、ネットワークを介して、自システムクロック部24から出力された自クロックの時刻情報を、クライアント端末へ送信する。
【0103】
片方向遅延差計算部26は、Syncメッセージに含まれる参照クロックの時刻情報と、Syncメッセージを受信した時に自システムクロック部24が出力した時刻情報との差分を、仮の第1片方向遅延時間とし、仮の第1片方向遅延時間同士の差である第1片方向遅延差を各々計算すると共に、Delay_Reqメッセージに含まれる時刻情報と、Delay_Respメッセージに含まれる、Delay_Reqメッセージを受信した時の参照クロックの時刻情報との差分を、仮の第2片方向遅延時間とし、仮の第2片方向遅延時間同士の差である第2片方向遅延差を各々計算する。
【0104】
具体的には、Syncメッセージ、及びDelay_Reqメッセージ(Delay_Respメッセージ)は非同期に送受信されており、Syncメッセージ受信時にタイムスタンプt1,M,t2,Sを、Delay_Respメッセージ受信時にt3,S,t4,Mを取得できる。片方向遅延差計算部26はそれぞれのメッセージを受信したタイミングで動作する。それぞれのメッセージに対応する片方向遅延差を計算し結果を一時的に保存する。保存した計算結果は後段の処理で利用する。
【0105】
手順にまとめると以下のようになる。
【0106】
1)受信メッセージがSyncメッセージ(t1,M(n),t2,S(n))の場合
a)現在の歩度情報r、rを参照し、上記式(7)の方法で、第1片方向遅延差J(n-1,n)を計算する。
b)第1片方向遅延差J(n-1,n)を保存する。
c)t1,M(n),t2,S(n)をRTT取得部28に入力し、片方向遅延差計算部26の処理を終了する。
【0107】
2)受信メッセージがDelay_Reqメッセージ(t3,S(m),t4,M(m))の場合
a)現在の歩度情報r、rを参照し、上記式(7)の方法で第2片方向遅延差J(m-1,m)を計算する。
b)第2片方向遅延差J(m-1,m)を保存する。
c)t3,S(m),t4,M(m)をRTT取得部28に入力し、片方向遅延差計算部26の処理を終了する。
【0108】
RTT取得部28は、計算対象となるSyncメッセージ、Delay_Reqメッセージ、及びDelay_Respメッセージの組み合わせについて、第1片方向遅延時間及び第2片方向遅延時間の和であるRTTを計算するための情報を取得する。なお、RTTが、往復遅延時間の一例である。
【0109】
具体的には、受信メッセージのタイムスタンプ情報を利用して信頼できるRTTとなるかをチェックする。
【0110】
PTPにおいてはSyncメッセージ(t1,M(n),t2,S(n))が時刻情報の基礎情報となることから、信頼できるRTTはt1,M(n),t2,S(n)を基準として前後のDelay_Reqメッセージのタイムスタンプ(t3,S(m-1),t4,M(m-1)),(t3,S(m),t4,M(m))から計算する。
【0111】
前後のDelay_Reqメッセージであるから、t3,S(m-1)<t2,S(n)<t3,S(m)を満たしている。この時、
=t2,S(n)-t3,S(m-1)
=t3,S(m)-t2,S(n)
のうち小さい方のタイムスタンプ情報を利用して信頼できるRTTを計算する。例えばG<Gであれば、t1,M(n),t2,S(n),t3,S(m),t4,M(m)を使って信頼できるRTTを計算する。実際には後段の処理でタイムスタンプ情報を利用するのでt1,M(n),t2,S(n),t3,S(m),t4,M(m)を片方向遅延範囲更新部30及び遅延時間推定部32に入力する。なお、RTT取得部28でRTTも計算して入力しても良いし、後段の処理でRTTを計算しても良い。
【0112】
ここで、RTTを信頼できる状態にするには単にt2,S(n)の近傍のタイムスタンプを採用するというだけでは不十分であり、G(あるいはG)の長さについても考慮しなければならない。従って、Gの最大値をユーザーが設定できるようにするのが良い。また、SyncメッセージとDelay_Reqメッセージは非同期に受信するのでt2,S(n)を基準にしたタイムスタンプがすべて揃っているとは限らない。したがって、必要な情報が揃うまで受信したタイムスタンプ情報は一時的に保存し、信頼できるRTTが計算できるt1,M(n),t2,S(n),t3,S(m),t4,M(m)が揃わない限りは処理を終了する。
【0113】
手順にまとめると以下のようになる。
【0114】
1)受信タイムスタンプがt1,M(n),t2,S(n)の場合、両方のタイムスタンプをそれぞれT,Tとして保存し、RTT取得部28の処理を終了し、後段の処理には進まない。
【0115】
2)受信タイムスタンプがt3,S(m),t4,M(m)の場合、保存されている最新のT,T,T,Tを読込み、それぞれt1,M(n),t2,S(n),t3,S(m-1),t4,M(m-1)とする。
a)Tをt3,S(m)で、Tをt4,M(m)で上書き保存する。
b)t2,S(n)≦t3,S(m-1)≦t3,S(m)の場合、RTT取得部28の処理を終了し、後段の処理には進まない。
c)t3,S(m-1)≦t2,S(n)≦t3,S(m)の場合
i)G=t2,S(n)-t3,S(m-1)、G=t3,S(m)-t2,S(n)を計算する。
ii)G<GかつG≦(ユーザー設定の許容値)ならば、t1,M(n),t2,S(n),t3,S(m-1),t4,M(m-1)を、片方向遅延範囲更新部30及び遅延時間推定部32に入力し、RTT取得部28の処理を終了する。
iii)G≧=GかつG≦(ユーザー設定の許容値)ならば、t1,M(n),t2,S(n),t3,S(m),t4,M(m)を片方向遅延範囲更新部30及び遅延時間推定部32に入力し、RTT取得部28の処理を終了する。
iv)min{G,G}>(ユーザー設定の許容値)ならば、RTT取得部28の処理を終了し、後段の処理には進まない。
【0116】
片方向遅延範囲更新部30は、仮の第1片方向遅延時間の最短時間と、最新の仮の第1片方向遅延時間との差である第1片方向遅延差を計算し、仮の第2片方向遅延時間の最短時間と、最新の仮の第2片方向遅延時間との差である第2片方向遅延差を計算する。片方向遅延範囲更新部30は、RTT取得部28によって取得されたRTTを計算するための情報と、第1片方向遅延差及び第2片方向遅延差とを用いて定められる、第1片方向遅延時間の存在範囲を更新する。
【0117】
具体的には、定理5によるMS(i)の存在範囲の情報を更新する。現時点から過去Iacc時間以内の片方向遅延差が信頼できると考える。Iaccはユーザー設定の値としても良いし、ドリフト値の変動などから自動計算しても良い。
【0118】
以下の手順で処理する。
【0119】
1)保存済みの第1片方向遅延差の列J(n-1,n),第2片方向遅延差の列J(m-1,m)から、過去Iacc以内で第1片方向遅延時間MS(k)および第2片方向遅延時間SM(l)が各々最小となる番号k,lを求める。最小値が複数ある場合は大きい方(新しい方)の番号を利用する。
【0120】
2)Dmin(i,j)=J(k,i)、Dmax(i,j)=R(i,j)-J(l,j)を計算し、それぞれ保存する。
【0121】
3)片方向遅延範囲更新部30の処理を終了する。なお、保存した結果は判定部34から参照され利用される。
【0122】
遅延時間推定部32は、所定の推定方法を用いて第1片方向遅延時間を推定する。
【0123】
例えば、以下の式に従って、第1片方向遅延時間及び第2片方向遅延時間の比を用いて、第1片方向遅延時間を推定する。
【0124】
MS(i)=[(t4,M(i)-t1,M(j))-(t3,S(j)-t2,S(i))]×a/(a+b)
【0125】
判定部34は、第1片方向遅延時間の存在範囲を用いて、遅延時間推定部32によって推定された第1片方向遅延時間が正しいか否かを判定する。
【0126】
ここで、番号i,jに対する片方向遅延範囲更新部30の処理が完了している(Dmin(i,j),Dmax(i,j)が計算済みである)ことを前提とする。以下の手順で処理する。
【0127】
1)Dmin(i,j)<DMS(i)<Dmax(i,j)である場合、推定された第1片方向遅延時間が正しいと判定し、DMS(i),t1,M(i),t2,S(j)を、時差計算部38に入力し、判定部34の処理を終了する。
【0128】
2)Dmin(i,j)<DMS(i)<Dmax(i,j)でない場合、推定された第1片方向遅延時間が正しくないと判定し、判定部34の処理を終了する。
【0129】
補正部36は、判定部34によって、推定された第1片方向遅延時間が正しくないと判定された場合に、第1片方向遅延時間及び第2片方向遅延時間の比を補正する。
【0130】
具体的には、補正部36は、遅延時間推定部32で用いる比a:bを、Dmin(i,j)<DMS(i)<Dmax(i,j)を満足するように更新し、遅延時間推定部32の処理に戻る。更新の方法は何でも良いが、例えば、DMS(i)≦Dmin(i,j)ならば、a+1:bを新たな比a:bとする。Dmax(i,j)≦DMS(i)ならば、a:b+1を新たな比a:bとする。
【0131】
判定部34によって正しいと判定されるまで、補正部36による補正、遅延時間推定部32による推定、及び判定部34による判定が繰り返される。
【0132】
時差計算部38は、遅延時間推定部32によって推定された第1片方向遅延時間を用いて、自クロックの時刻情報と、参照クロックの時刻情報との現在の時差を計算する。
【0133】
例えば、以下の式に従って、現在の時差を計算する。
【0134】
O(i)=t1,M(i)+DMS(i)-t2,S(j)である。計算結果を自システムクロック制御部40に入力する。
【0135】
自システムクロック制御部40は、以下の式に従って、時差計算部38によって計算された現在の時差O(t)と前回計算された時差O(ti-1)に基づいて、参照クロックが自クロックに対して進んでいれば、自クロックの歩度を速め、遅れていれば自クロックの歩度を緩めるように、時差解消歩度r(t)を更新すると共に、現在の時差O(t)に基づいて、固有歩度r(t)を更新する。
【0136】

ただし、ti-1は前回の、歩度を求めるためのPID制御計算が働いた時刻であり、K、K、Kは制御のためのPID定数である。
【0137】
自システムクロック制御部40は、時差解消歩度、及び固有歩度に基づいて、以下の式に従って、自クロックの現在の歩度r(t)を決定して、自システムクロック部24へ出力する。
【0138】
r(t)=r(t)+r(t
【0139】
また、上記で計算された時差解消歩度r、固有歩度rは、片方向遅延差計算部26で利用するために保存される。
【0140】
<本発明の実施の形態の作用>
次に、本発明の実施の形態のクロック処理装置10による処理について図8を参照して説明する。クロック処理装置10が、参照クロック発信装置16から、Syncメッセージ又はDelay_Respメッセージを受信する度に、クロック処理装置10は、図8に示すクロック制御処理ルーチンを実行する。
【0141】
まず、ステップS100において、片方向遅延差計算部26は、受信メッセージがSyncメッセージ(t1,M(n),t2,S(n))である場合、タイムスタンプt1,M(n),t2,S(n)をRTT取得部28に入力する。
【0142】
片方向遅延差計算部26は、受信メッセージがDelay_Respメッセージ(t3,S(m),t4,M(m))である場合、タイムスタンプt3,S(m),t4,M(m)をRTT取得部28に入力する。
【0143】
ステップS102において、片方向遅延差計算部26は、受信メッセージがSyncメッセージ(t1,M(n),t2,S(n))である場合、現在の歩度情報r、rを参照し、第1片方向遅延差J(n-1,n)を計算し、保存する。
【0144】
片方向遅延差計算部26は、受信メッセージがDelay_Respメッセージ(t3,S(m),t4,M(m))である場合、現在の歩度情報r、rを参照し、第2片方向遅延差J(m-1,m)を計算し、保存する。
【0145】
ステップS104では、RTT取得部28は、計算対象となるSyncメッセージ、Delay_Reqメッセージ、Delay_Respメッセージの組み合わせについて、タイムスタンプt1,M(n),t2,S(n),t3,S(m),t4,M(m)を取得する。
【0146】
ステップS106では、片方向遅延範囲更新部30は、第1片方向遅延差を計算し、第2片方向遅延差を計算する。そして、片方向遅延範囲更新部30は、第1片方向遅延時間の存在範囲を更新する。
【0147】
ステップS108では、遅延時間推定部32は、RTTと、第1片方向遅延時間及び第2片方向遅延時間の比とを用いて、第1片方向遅延時間を推定する。
【0148】
ステップS110において、判定部34は、第1片方向遅延時間の存在範囲を用いて、遅延時間推定部32によって推定された第1片方向遅延時間が正しいか否かを判定する。遅延時間推定部32によって推定された第1片方向遅延時間が、第1片方向遅延時間の存在範囲内である場合には、ステップS114へ移行する。遅延時間推定部32によって推定された第1片方向遅延時間が、第1片方向遅延時間の存在範囲外である場合には、ステップS112へ移行する。
【0149】
ステップS112では、補正部36は、判定部34によって、推定された第1片方向遅延時間が正しくないと判定された場合に、第1片方向遅延時間及び第2片方向遅延時間の比を補正し、上記ステップS108へ戻る。
【0150】
ステップS114では、時差計算部38は、上記ステップS108で最終的に推定された第1片方向遅延時間を用いて、自クロックの時刻情報と、参照クロックの時刻情報との現在の時差を計算する。
【0151】
ステップS116では、自システムクロック制御部40は、時差計算部38によって計算された現在の時差に基づいて、固有歩度を更新すると共に、時差解消歩度を更新する。
【0152】
自システムクロック制御部40は、時差解消歩度、及び固有歩度に基づいて、自クロックの現在の歩度r(t)を決定して、自システムクロック部24へ出力し、クロック制御処理ルーチンを終了する。
【0153】
以上説明したように、本発明の実施の形態に係るクロック処理装置によれば、第1片方向遅延差と、第2片方向遅延差とを用いて定められる、第1片方向遅延時間の存在範囲を用いて、推定された第1片方向遅延時間が正しいか否かを判定することにより、片方向遅延時間が上りと下りで異なる場合であっても、精度よく片方向遅延時間を求めることができる。また、この片方向遅延時間を用いて精度よく参照クロックとの時差を求めることができ、適切に自クロックの歩度を調整することができる。
【0154】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0155】
例えば、上述した実施の形態では、第1片方向遅延時間の存在範囲を用いて、推定された第1片方向遅延時間が正しいか否かを判定する場合を例に説明したが、これに限定されるものではない。遅延時間推定部32が、第2片方向遅延時間を推定し、片方向遅延範囲更新部30が、第2片方向遅延時間の存在範囲を更新し、判定部34が、第2片方向遅延時間の存在範囲を用いて、推定された第2片方向遅延時間が正しいか否かを判定するようにしてもよい。この場合には、SM(j)=R(i,j)-MS(i)を用いて、上記の実施の形態において、第1片方向遅延時間を、第2片方向遅延時間に読み替えればよい。
【符号の説明】
【0156】
10 クロック処理装置
16 参照クロック発信装置
20 通信部
24 自システムクロック部(クロック部)
26 片方向遅延時間計算部
28 RTT取得部(情報取得部)
30 片方向遅延範囲更新部
32 遅延時間推定部
34 判定部
36 補正部
38 時差計算部
40 自システムクロック制御部(歩度決定部)
100 クロック調整システム
【要約】
【課題】片方向遅延時間が上りと下りで異なる場合であっても、精度よく片方向遅延時間を求めることができるクロック処理装置及びプログラムを提供する。
【解決手段】クロック処理装置10では、片方向遅延差計算部26が、第1片方向遅延差と、第2片方向遅延差とを計算する。RTT取得部28が、RTTを計算するための情報を取得する。遅延時間推定部32が、第1片方向遅延時間を推定する。片方向遅延範囲更新部30が、第1片方向遅延差と、2片方向遅延差とを求め、第1片方向遅延差と、第2片方向遅延差とを用いて定められる、第1片方向遅延時間の存在範囲を更新する。判定部34が、第1片方向遅延時間の存在範囲を用いて、推定された第1片方向遅延時間が正しいか否かを判定する。
【選択図】図7
図1
図2
図3
図4
図5
図6
図7
図8
図9