(57)【要約】      （修正有）【課題】外部機器で付された記録時刻を、より正しく自らの時計基準の推定時刻に改める。【解決手段】情報処理装置は、外部機器が送信してから変動遅延を伴って到達する第１時計基準の記録時刻を含むデータの当該記録時刻の各々について、当該記録時刻を第２時計基準で改めた推定時刻を算出する第１算出部と、記録時刻の各々について、当該記録時刻を改めた推定時刻と、当該記録時刻を含むデータが到達した第２時計基準の読取時刻との時刻差を算出する第２算出部と、２以上の期間の各々における最小の時刻差に基づいて、推定時刻の算出に用いられるパラメータを算出する第３算出部とを有する。【選択図】図２５
2017188876.tif 000002
【特許請求の範囲】
【請求項１】
外部機器が送信してから変動遅延を伴って到達する第１時計基準の記録時刻を含むデータの当該記録時刻の各々について、当該記録時刻を第２時計基準で改めた推定時刻を算出する第１算出部と、
前記記録時刻の各々について、当該記録時刻を改めた前記推定時刻と、当該記録時刻を含むデータが到達した前記第２時計基準の読取時刻との時刻差を算出する第２算出部と、
２以上の期間の各々における最小の前記時刻差に基づいて、前記推定時刻の算出に用いられるパラメータを算出する第３算出部と
を有する情報処理装置。
【請求項２】
前記パラメータは、前記記録時刻に乗ずる係数と、当該記録時刻と当該係数との積に加算する値とを含む
請求項１記載の情報処理装置。
【請求項３】
前記第１算出部は、前記パラメータを当該パラメータの基礎となった前記２以上の期間より後の記録時刻に適用する
請求項１又は２に記載の情報処理装置。
【請求項４】
前記第１算出部は、前記パラメータを当該パラメータの基礎となった前記２以上の期間内の記録時刻の少なくとも一部に適用する
請求項１又は２に記載の情報処理装置。
【請求項５】
更に、
前記第１算出部における処理と、前記第２算出部における処理と、前記第３算出部における処理とを繰り返す処理を行う制御部
を有する請求項１乃至４のいずれか１つ記載の情報処理装置。
【請求項６】
更に、
前回の前記パラメータとの比較によって、今回の前記パラメータの適否を判定する判定部
を有する請求項５記載の情報処理装置。
【請求項７】
前記今回のパラメータが不適であると判定された場合に、前記第３算出部は、少なくとも１の期間が拡張された前記２以上の期間に基づいて、前記今回のパラメータを算出し直す
請求項６記載の情報処理装置。
【請求項８】
更に、
前記今回のパラメータが適正であると判定され且つ所定条件を満たす場合に、次回の基礎となる前記２以上の期間のうち少なくとも１の期間を短縮する短縮部
を有する請求項６又は７記載の情報処理装置。
【請求項９】
前記第３算出部は、前記パラメータを算出する過程で、当該パラメータが所定条件を満たすまで当該パラメータの補正を反復する
請求項１乃至８のいずれか１つ記載の情報処理装置。
【請求項１０】
情報処理装置と、
外部機器と
を有し、
前記情報処理装置は、
外部機器が送信してから変動遅延を伴って到達する第１時計基準の記録時刻を含むデータの当該記録時刻の各々について、当該記録時刻を第２時計基準で改めた推定時刻を算出する第１算出部と、
前記記録時刻の各々について、当該記録時刻を改めた前記推定時刻と、当該記録時刻を含むデータが到達した前記第２時計基準の読取時刻との時刻差を算出する第２算出部と、
２以上の期間の各々における最小の前記時刻差に基づいて、前記推定時刻の算出に用いられるパラメータを算出する第３算出部と
を有し、
前記外部機器は、
前記第１時計基準の前記記録時刻を含むデータを送信する
情報処理システム。
【請求項１１】
外部機器が送信してから変動遅延を伴って到達する第１時計基準の記録時刻を含むデータの当該記録時刻の各々について、当該記録時刻を第２時計基準で改めた推定時刻を算出し、
前記記録時刻の各々について、当該記録時刻を改めた前記推定時刻と、当該記録時刻を含むデータが到達した前記第２時計基準の読取時刻との時刻差を算出し、
２以上の期間の各々における最小の前記時刻差に基づいて、前記推定時刻の算出に用いられるパラメータを算出する
処理を含み、コンピュータにより実行される情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部機器で付された記録時刻を補正する技術に関する。
【背景技術】
【０００２】
例えば加速度センサを備えたウエアラブル型装置では、人の動きを検出する場合に計測した加速度の値にタイムスタンプを付す。そして、データ収集装置で、タイムスタンプが付された計測メッセージを収集して、人の行動を推定することがある。
【０００３】
例えば、一人が複数のウエアラブル型装置を装着し、腕と足の連動を観測しようとする場合、各ウエアラブル型装置で付したタイムスタンプが同じ時計基準に合っていなければ、正しく行動を推定することができない。
【０００４】
ウエアラブル型装置で付したタイムスタンプをデータ収集装置におけるシステム時計の基準に合わせようとする場合、ウエアラブル型装置のローカル時計の誤差の他、データ収集装置で生じる誤差も障害となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１６４３４６号公報
【特許文献２】特開２００７−０２７９８５号公報
【特許文献３】特開２００７−２５８８００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、一側面では、外部機器で付された記録時刻を、より正しく自らの時計基準の推定時刻に改めることである。
【課題を解決するための手段】
【０００７】
一態様に係る情報処理装置は、（Ａ）外部機器が送信してから変動遅延を伴って到達する第１時計基準の記録時刻を含むデータの当該記録時刻の各々について、当該記録時刻を第２時計基準で改めた推定時刻を算出する第１算出部と、（Ｂ）記録時刻の各々について、当該記録時刻を改めた推定時刻と、当該記録時刻を含むデータが到達した第２時計基準の読取時刻との時刻差を算出する第２算出部と、（Ｃ）２以上の期間の各々における最小の時刻差に基づいて、推定時刻の算出に用いられるパラメータを算出する第３算出部とを有する。
【発明の効果】
【０００８】
一側面としては、外部機器で付された記録時刻を、より正しく自らの時計基準の推定時刻に改めることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、外部機器におけるシーケンス例を示す図である。
【図２】図２は、データ収集装置におけるシーケンス例を示す図である。
【図３】図３は、タイムスタンプ付き計測メッセージの読み取りに係るタイムチャートである。
【図４】図４は、期間の例を示す図である。
【図５】図５は、各時刻の関係を示す図である。
【図６】図６は、最小の時刻差を示す図である。
【図７】図７は、ずれ時間の補正を説明するための図である。
【図８】図８は、推定経過時間を説明するための図である。
【図９】図９は、データ収集装置における動作のステップを示す図である。
【図１０】図１０は、時刻推定の第２ステップ以降の概要を示す図である。
【図１１】図１１は、更新ステップの概要を示す図である。
【図１２】図１２は、時刻推定の第１ステップの概要を示す図である。
【図１３】図１３は、データ収集装置のモジュール構成例を示す図である。
【図１４】図１４は、メイン処理（Ａ）フローを示す図である。
【図１５】図１５は、第１初期設定処理フローを示す図である。
【図１６】図１６は、取得処理（Ａ）フローを示す図である。
【図１７】図１７は、第１算出処理フローを示す図である。
【図１８】図１８は、第２算出処理フローを示す図である。
【図１９】図１９は、更新処理フローを示す図である。
【図２０】図２０は、第２時刻及び推定時刻の推移例を示す図である。
【図２１】図２１は、時刻差及び滞留遅延の推移例を示す図である。
【図２２】図２２は、第２時刻及び推定時刻の推移例を示す図である。
【図２３】図２３は、時刻差及び滞留遅延の推移例を示す図である。
【図２４】図２４は、第２時刻及び推定時刻の推移例を示す図である。
【図２５】図２５は、パラメータの関係を示す図である。
【図２６】図２６は、推定パラメータを適用する処理概要を示す図である。
【図２７】図２７は、推定パラメータが適正である場合の処理概要を示す図である。
【図２８】図２８は、推定パラメータが不適である場合の処理概要を示す図である。
【図２９】図２９は、期間短縮の概要を示す図である。
【図３０】図３０は、データ収集装置のモジュール構成例を示す図である。
【図３１】図３１は、時刻テーブルの例を示す図である。
【図３２】図３２は、期間タイプテーブルの例を示す図である。
【図３３】図３３は、回数テーブルの例を示す図である。
【図３４】図３４は、メイン処理（Ｂ）フローを示す図である。
【図３５】図３５は、取得処理（Ｂ）フローを示す図である。
【図３６】図３６は、初期処理（Ａ）フローを示す図である。
【図３７】図３７は、推定パラメータの算出処理（Ａ）フローを示す図である。
【図３８】図３８は、初期処理（Ａ）フローを示す図である。
【図３９】図３９は、推定パラメータの適否判定処理（Ａ）フローを示す図である。
【図４０】図４０は、推定パラメータの適否判定処理（Ｂ）フローを示す図である。
【図４１】図４１は、推定パラメータの適否判定処理（Ｂ）の概要を示す図である。
【図４２】図４２は、継続処理（Ａ）フローを示す図である。
【図４３】図４３は、継続処理（Ａ）フローを示す図である。
【図４４】図４４は、短縮判定処理フローを示す図である。
【図４５】図４５は、推定パラメータの算出処理（Ｂ）フローを示す図である。
【図４６】図４６は、収束判定処理フローを示す図である。
【図４７】図４７は、推定パラメータの算出処理（Ｂ）フローを示す図である。
【図４８】図４８は、実施の形態４の概要を示す図である。
【図４９】図４９は、取得処理（Ｃ）フローを示す図である。
【図５０】図５０は、初期処理（Ｂ）フローを示す図である。
【図５１】図５１は、初期処理（Ｂ）フローを示す図である。
【図５２】図５２は、継続処理（Ｂ）フローを示す図である。
【図５３】図５３は、継続処理（Ｂ）フローを示す図である。
【図５４】図５４は、実施の形態７の概要を示す図である。
【図５５】図５５は、実施の形態７の概要を示す図である。
【図５６】図５６は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１０】
［実施の形態１］
外部機器１０１は、例えばユーザの腕や足に装着し、加速度を検出する装置である。外部機器１０１のハードウエアは、従来技術による。外部機器１０１は、例えば簡易時計（クロックカウンタ）、プロセッサ、メモリ及びセンサ等を有する。
【００１１】
図１に、外部機器１０１におけるシーケンス例を示す。外部機器１０１は、計測部１０３、付加部１０５、ローカル時計１０７及び送信部１０９を有する。この例では、ローカル時計１０７は、安価な基準発振器を使用するために必ずしも精度が高くないものと想定する。例えば水晶発振器の周波数偏差による時刻の進み／遅れが生じ、このような発振器の周波数偏差は、温度や内部電圧の影響を受けて変動する。また、時刻の進み／遅れが累積された時刻誤差や、機器起動時に時刻合わせを行う機能を持たないことによる時刻誤差が生じる。
【００１２】
計測部１０３が、例えば加速度センサを用いて計測を行う（Ｓ１２１）。付加部１０５は、計測データを得ると、ローカル時計１０７から第１時刻（パラメータｔｌで表す。）を取得する。そして、付加部１０５は、計測データにタイムスタンプ（第１時刻）を付加する（Ｓ１２３）。上述したように、第１時刻はローカル誤差を含んでいるので、正しい計測時刻を指しているとは限らない。
【００１３】
送信部１０９は、タイムスタンプ付き計測メッセージをデータ収集装置２０１へ送信する（Ｓ１２５）。この例では、近距離無線手段を用いてメッセージを送信するものとする。この例で、通信に伴う固定遅延（通信環境や機器の動作状態が理想的であっても生じる最小の遅延）は無視でき、或いは一律に補正できるものとする。また、通信に伴う変動遅延は、後記滞留遅延に含めて扱うことが出来る。
【００１４】
図２に、データ収集装置２０１におけるシーケンス例を示す。データ収集装置２０１は、例えばノード型パソコンのようなコンピュータである。データ収集装置２０１は、スマートフォンなどの携帯型の装置であってもよい。データ収集装置２０１は、オペレーティングシステム２０３、アプリケーションプログラム２０５、受信部２０７、バッファ２０９及びシステム時計２１１を有している。システム時計２１１は精度が高く、システム時計２１１が示す第２時刻（パラメータｔｓで表す。）は絶対時刻と一致するものと想定する。但し、複数の外部機器１０１のデータを１つのデータ収集装置２０１で収集し、これらのデータ間の時刻同期のみを目的とする場合は、システム時計２１１の精度は低くても構わない。
【００１５】
オペレーティングシステム２０３は、アプリケーションプログラム２０５に対するＣＰＵリソースの割り当てを解除している（Ｓ２２１）。この状態で受信部２０７がタイムスタンプ付き計測メッセージを受信すると（Ｓ２２３）、タイムスタンプ付き計測メッセージはバッファ２０９に格納される。
【００１６】
アプリケーションプログラム２０５は、ＣＰＵリソースが割り当てられていないので、タイムスタンプ付き計測メッセージを読み取れない。その後、オペレーティングシステム２０３がアプリケーションプログラム２０５へＣＰＵリソースを割り当てると（Ｓ２２５）、アプリケーションプログラム２０５は、バッファ２０９からタイムスタンプ付き計測メッセージを読み取る。アプリケーションプログラム２０５は、更にシステム時計２１１から第２時刻を取得して、タイムスタンプ付き計測メッセージに第２時刻を対応付ける（Ｓ２２７）。タイムスタンプ付き計測メッセージがバッファ２０９に格納されてから、アプリケーションプログラム２０５によって読み取られ、第２時刻と対応付けられるまでの時間は、滞留遅延に相当する。
【００１７】
滞留遅延について補足する。図３に、タイムスタンプ付き計測メッセージの読み取りに係るタイムチャートを示す。ＣＰＵリソースの割り当て（Ｓ３０１）から当該割り当ての解除（Ｓ３０３）までの間にバッファ２０９に格納されたタイムスタンプ付き計測メッセージは、アプリケーションプログラム２０５によって即時読み取られる。よって、ＣＰＵリソース割当て機会と、タイムスタンプ付き計測メッセージの受信機会が充分に有れば、双方に相関は無いので滞留遅延が充分に小さい機会が得られる。一方、ＣＰＵリソースが割り当てられていない状態でバッファ２０９に格納されたタイムスタンプ付き計測メッセージは、滞留する。そして、アプリケーションプログラム２０５にＣＰＵリソースが割り当てられた時点で（Ｓ３０５）、一斉に読み取られる。このように、滞留遅延は一律ではない。
【００１８】
本実施の形態では、期間を設定して処理を行う。図４に、期間の例を示す。各期間において少なくとも一度はタイムスタンプ付き計測メッセージを受信した直後にＣＰＵリソースが割り当てられ、かつ外部機器１０１の温度や内部電圧の変動がその期間内では微小とみなせるように、期間の長さ（パラメータＴで表す。）を定める。尚、以降の説明で処理対象となっている期間を現期間といい、記号Ｃjで表す。また、現期間の直前の期間を前期間といい、記号Ｃj-1で表す。
【００１９】
図５に、各時刻の関係を示す。左側から順に、第１時刻、推定時刻（パラメータｔｅで表す。）、真の計測時刻（パラメータｔで表す。）及び第２時刻を示す。下に向かって時間が経過するものとする。真の計測時刻は、第１時刻に含まれるローカル誤差を解消してデータ収集装置２０１の基準で改めた時刻である。推定時刻は、アプリケーションプログラム２０５が第１時刻と第２時刻とに基づいて、真の計測時刻を推定した時刻である。そして、推定時刻と真の計測時刻との差を、推定誤差という。当初の推定時刻は、必ずしも真の計測時刻に近くない。
【００２０】
本実施の形態では、推定時刻を算出するステップを繰り返す過程で、推定誤差が０に近づくようにする。当該ステップにおいて、推定時刻と第２時刻との時刻差（パラメータｄｔで表す。）を算出する。
【００２１】
図６に、滞留遅延が無い場合の例を示す。滞留遅延が無い場合には、時刻差は、推定誤差に相当する。また、このときの時刻差は、当該期間（この例では、説明の便宜のため前期間Ｃj-1とする。）において算出される時刻差のうち、最小値を示す。従って、期間内における最小の時刻差（パラメータｄｔminで表す。）を特定すれば、その瞬間の推定誤差を求めたことになる。
【００２２】
図５及び図６に示した前期間Ｃj-1から現期間Ｃjに移ったものとして、図７を用いてずれ時間の補正について説明する。現期間Ｃjに移った時点で前期間Ｃj-1の最小の時刻差が特定される。ここで、前期間Ｃj-1と現期間Ｃjにおいて、ローカル時計の周波数偏差が０である（またはシステム時計の周波数偏差と等しい）と仮定すると、特定された最小の時刻差は現期間Ｃjにおけるずれ時間とも等しいため、前期間Ｃj-1の最小の時刻差を現期間Ｃjで用いられるずれ時間（パラメータｔｇjで表す。）に定められる。そして、現期間Ｃjにおいて推定時刻を算出する場合に、当該ずれ時間を解消するための補正を行う。このようにすれば、前記仮定の下であれば、推定誤差はほぼ０となる。尚、実際にはローカル時計の周波数偏差は０ではないが、後記ローカル誤差の変化率の補正と本過程を繰り返すことで、前記仮定が成り立っていると見做せるようになる。また、図７に示したずれ時間ｔｇjは、負の値であるものとする。
【００２３】
前期間Ｃj-1において特定された誤差は以上のように解消される。一方、ローカル時計の周波数偏差により、ローカル誤差は、時間経過に従い一定の割合で増加或いは減少することがある。本実施の形態では、このような誤差の変化分についても補正を行う。尚、ローカル時計の周波数偏差、即ちこの誤差の変化分の変化率は外部機器１０１の温度や内部電圧により変動するが、この変動は緩慢であり、期間の長さＴをこの変動率に対し充分に短く定めている為、この過程では影響が微小となる。図８に示すように、ｉ回目の推定時刻は、現期間Ｃjにおける１回目の推定時刻（パラメータｔｅ1で表す。）に現期間Ｃjにおけるｉ回目の推定経過時間（パラメータｄｔｅiで表す。）を加えることによって求められる。
【００２４】
ｉ回目の推定経過時間は、現期間Ｃjにおけるｉ回目の第１時刻と１回目の第１時刻との第１時刻差（パラメータｄｔｌで表す。）を、補正比（１＋ｄｆ）で除することによって求められる。１／（１＋ｄｆ）は、ローカル誤差の変化率であり、ｄｆはローカル時計の周波数偏差である。
【００２５】
図９に、データ収集装置２０１における動作のステップを示す。第１期間の初期設定ステップでは、暫定的にずれ時間（ｔｇ1）及び周波数偏差（ｄｆ1）を設定する。この例で、第１期間のｎ1回の時刻推定においてずれ時間（ｔｇ1）及び周波数偏差（ｄｆ1）が用いられる。
【００２６】
第２期間の更新ステップでは、第１期間における算出結果を反映して、ずれ時間（ｔｇ2）及び周波数偏差（ｄｆ2）が更新される。この例で、第２期間のｎ2回の時刻推定においてずれ時間（ｔｇ2）及び周波数偏差（ｄｆ2）が用いられる。尚、暫定的に設定する第１期間で用いるずれ時間（ｔｇ1）及び周波数偏差（ｄｆ1）の誤差が大きいと見込まれる場合は、第２期間で用いる周波数偏差は第１期間で用いたｄｆ1をそのまま用い、周波数偏差の更新は第３期間から行うようにしても良い。
【００２７】
そして、第３期間以降も、第２期間の場合と同様のステップで動作する。尚、時刻推定の第１ステップと、時刻推定の第２ステップ以降とは処理の内容が、一部異なる。
【００２８】
続いて、各ステップの概要について説明する。便宜上、まず図１０を用いて時刻推定の第２ステップ以降の概要を示す。図８を用いて説明したように、ｉ回目の推定経過時間ｄｔｅi＝（ｉ回目の第１時刻ｔｌi−１回目の第１時刻ｔｌ1）／（１＋周波数偏差ｄｆj）の式に従って、ｉ回目の推定経過時間ｄｔｅiが求められる。
【００２９】
そして、ｉ回目の推定時刻ｔｅi＝１回目の推定時刻ｔｅ1＋ｉ回目の推定経過時間ｄｔｅi−ずれ時間ｔｇjの式に従って、ｉ回目の推定時刻ｔｅiが求められる。
【００３０】
更に、ｉ回目の推定時刻ｔｅiからｉ回目の第２時刻ｔｓiを引いて、ｉ回目の時刻差ｄｔiを求める。ｉ回目の時刻差ｄｔiは、ｉ−１回目における最小の時刻差の候補と比較され、小さい方の時刻差が最小の時刻差の候補として保持される。つまり、ｉ回目までの時刻差ｄｔのうち、最小の時刻差が保持される。
【００３１】
図１１に、更新ステップの概要を示す。破線より上は、前期間Ｃj-1における算出結果を示している。破線より下は、現期間Ｃjにおける算出結果を示している。
【００３２】
まず、前期間Ｃj-1の各ステップ毎に判定され、保持された最小の時刻差の候補を、更新ステップ時に最小の時刻差ｄｔminとして確定する。これは、前期間Ｃj-1で求めた時刻差ｄｔ1〜ｄｔnのうちの最小の時刻差と等しい。そして、当該最小の時刻差ｄｔminを現期間Ｃjで用いられるずれ時間ｔｇjに設定する。
【００３３】
また、以下の式（１）に従って現期間Ｃjにおける周波数偏差ｄｆjが求められる。
【００３４】
【数１】
2017188876.tif 000003
【００３５】
ｄｆj-1は前期間Ｃj-1における周波数偏差であり、ｔｇjは現期間Ｃjで用いられるずれ時間であり、Ｔは期間の長さである。ここで、最小の時刻差ｄｔminを求めた際の第２時刻を最小時差発生時刻ｔmin_jとして保持し、現期間Ｃjにおけるｔmin_jと前期間Ｃj-1におけるｔmin_j-1とを用いて、以下の式（２）の値を式（１）のＴの代わりに用いても良い。
ｔmin_j−ｔmin_j-1    （２）
【００３６】
この式（１）の導出について説明する。ずれ時間ｔｇjは、前期間における周波数偏差ｄｆj-1に含まれる誤差或いは周波数偏差ｄｆが変化したことによって生じたものとする。ずれ時間ｔｇjが、期間の長さＴの間に生じたものと看做せば、ローカル時計における計測時間の伸縮率は、（Ｔ＋ｔｇj）／Ｔで表される。そして、伸縮率の逆数Ｔ／（Ｔ＋ｔｇj）が周波数の変化率と一致する。ここで、周波数の変化率は周波数偏差を用いて（１＋ｄｆj）／（１＋ｄｆj-1）と表せる為、等式（１＋ｄｆj）／（１＋ｄｆj-1）＝Ｔ／（Ｔ＋ｔｇj）から上述の式が導かれる。
【００３７】
図１２に、時刻推定の第１ステップの概要を示す。破線より上は、前期間Ｃj-1における算出結果を示している。破線より下は、現期間Ｃjにおける算出結果を示している。
【００３８】
１回目の推定経過時間ｄｔｅ1＝（現期間Ｃjにおける１回目の第１時刻ｔｌ1−前期間Ｃj-1における１回目の第１時刻ｔｌ1）／（１＋現期間Ｃjにおける周波数偏差ｄｆj）の式に従って、１回目の推定経過時間ｄｔｅ1が求められる。ここで、前期間Ｃj-1における１回目の第１時刻ｔｌ1の代わりに、前期間Ｃj-1における最小の時刻差ｄｔminを求めた際の第１時刻を保持しておき用いても良い。
【００３９】
そして、現期間Ｃjにおける１回目の推定時刻ｔｅ1＝前期間Ｃj-1における１回目の推定時刻ｔｅ1＋現期間Ｃjにおける１回目の推定経過時間ｄｔｅ1−現期間Ｃjで用いられるずれ時間ｔｇjの式に従って、現期間Ｃjにおける１回目の推定時刻ｔｅ1が求められる。ここで、前期間Ｃj-1における１回目の推定時刻ｔｅ1の代わりに、前期間Ｃj-1における最小時差発生時刻ｔmin_j-1を用いても良い。
【００４０】
更に、現期間Ｃjにおける１回目の推定時刻ｔｅ1から同じく１回目の第２時刻ｔｓ1を引いて、１回目の時刻差ｄｔ1を求める。現期間Ｃjにおける１回目の第１時刻または最小の時刻差ｄｔminを求めた際の第１時刻と、１回目の推定時刻または最小時差発生時刻は、少なくとも次の期間における更新ステップまで保持される。以上で本実施の形態に係る概要の説明を終える。
【００４１】
図１３に、データ収集装置２０１のモジュール構成例を示す。図２において説明したオペレーティングシステム２０３、受信部２０７、バッファ２０９及びシステム時計２１１は省略する。
【００４２】
アプリケーションプログラム２０５は、第１設定部１３０１、第１取得部１３０３、第１算出部１３０５、第２算出部１３０７、特定部１３０９及び更新部１３１１を実現するためのプログラムを含んでいる。図１３では、各部を実現するためのプログラムを、各部として表す。各部は、当該部のためのプログラムをプロセッサで実行することによって実現される。データ収集装置２０１は、更にパラメータ記憶部１３２１及びテーブル記憶部１３２３を有する。パラメータ記憶部１３２１は、上述した各パラメータを記憶する。テーブル記憶部１３２３は、第１時刻と第２時刻と推定時刻と計測データとを対応付けるテーブルを記憶する。但し、第１時刻と第２時刻とは省いてもよい。
【００４３】
図１４に、メイン処理（Ａ）フローを示す。第１設定部１３０１は、第１初期設定処理を実行する（Ｓ１４０１）。第１初期設定処理は、初期設定ステップに相当する。第１初期設定処理の詳細は、図１５を用いて後述する。
【００４４】
第１取得部１３０３は、取得処理を実行する（Ｓ１４０３）。取得処理では、第１時刻及び第２時刻を取得する。取得処理の詳細は、図１６を用いて後述する。
【００４５】
第１算出部１３０５及び第２算出部１３０７は、第１算出処理を実行する（Ｓ１４０５）。第１算出処理は、時刻推定の第１ステップに相当する。第１算出処理の詳細は、図１７を用いて後述する。
【００４６】
第１取得部１３０３は、取得処理を実行する（Ｓ１４０７）。Ｓ１４０７における取得処理は、Ｓ１４０３の場合と同様である。
【００４７】
第１算出部１３０５及び第２算出部１３０７は、第２算出処理を実行する（Ｓ１４０９）。第２算出処理は、時刻推定の第２ステップ以降に相当する。第２算出処理の詳細は、図１８を用いて後述する。
【００４８】
更新部１３１１は、第２時刻が現期間Ｃjを経過したか否かを判定する（Ｓ１４１１）。第２時刻が現期間Ｃjを経過していないと判定した場合には、Ｓ１４０７に示した処理に戻って、上述した処理を繰り返す。ここでＳ１４１１の判定において、第２時刻の代わりに推定時刻を用いても良い。
【００４９】
一方、第２時刻が現期間Ｃjを経過したと判定した場合には、更新部１３１１は、期間を切り替える（Ｓ１４１３）。そして、特定部１３０９及び更新部１３１１は、更新処理を実行する（Ｓ１４１５）。更新処理は、更新ステップに相当する。更新処理の詳細は、図１９を用いて後述する。
【００５０】
更新処理を終えると、Ｓ１４０３に示した処理に戻って、上述した処理を繰り返す。
【００５１】
図１５に、第１初期設定処理フローを示す。第１設定部１３０１は、期間の長さＴを設定する（Ｓ１５０１）。例えば、期間の長さＴは所定の値であってもよいし、ユーザ操作によって設定されるようにしてもよい。
【００５２】
第１設定部１３０１は、周波数偏差の初期値ｄｆ1に０を設定する（Ｓ１５０３）。更に、第１設定部１３０１は、ずれ時間の初期値ｔｇ1に０を設定する（Ｓ１５０５）。そして、メイン処理（Ａ）に復帰する。
【００５３】
図１６に、取得処理（Ａ）フローを示す。第１取得部１３０３は、バッファ２０９からタイムスタンプ付き計測メッセージを取得する（Ｓ１６０１）。第１取得部１３０３は、システム時計２１１から第２時刻ｔｓiを取得する（Ｓ１６０３）。更に、第１取得部１３０３は、計測メッセージから第１時刻ｔｌiを読み取る（Ｓ１６０５）。そして、メイン処理（Ａ）に復帰する。
【００５４】
図１７に、第１算出処理フローを示す。第１算出部１３０５は、現期間Ｃjにおける１回目の第１時刻ｔｌ1から前期間Ｃj-1における１回目の第１時刻ｔｌ1を引いて、第１時刻差ｄｔｌ1を求める（Ｓ１７０１）。第１算出部１３０５は、第１時刻差ｄｔｌ1を補正比（１＋ｄｆj）で除して、推定経過時間ｄｔｅ1を求める（Ｓ１７０３）。第１算出部１３０５は、前期間Ｃj-1における１回目の推定時刻ｔｅ1に、推定経過時間ｄｔｅ1を加えて、ずれ時間ｔｇjを引いて、現期間Ｃjにおける１回目の推定時刻ｔｅ1を求める（Ｓ１７０５）。更に、第２算出部１３０７は、現期間Ｃjにおける１回目の推定時刻ｔｅ1から現期間Ｃjにおける１回目の第２時刻ｔｓ1を引いて、現期間Ｃjにおける１回目の時刻差ｄｔ1を求める（Ｓ１７０７）。そして、メイン処理（Ａ）に復帰する。
【００５５】
図１８に、第２算出処理フローを示す。第１算出部１３０５は、現期間Ｃjにおける１回目の第１時刻ｔｌ1から現期間Ｃjにおけるｉ回目の第１時刻ｔｌiを引いて、第１時刻差ｄｔｌiを求める（Ｓ１８０１）。第１算出部１３０５は、第１時刻差ｄｔｌiを補正比（１＋ｄｆj）で除して、推定経過時間ｄｔｅiを求める（Ｓ１８０３）。第１算出部１３０５は、現期間Ｃjにおける１回目の推定時刻ｔｅ1に、推定経過時間ｄｔｅiを加え、現期間Ｃjで用いられるずれ時間ｔｇjを引いて、現期間Ｃjにおけるｉ回目の推定時刻ｔｅiを求める（Ｓ１８０５）。第２算出部１３０７は、現期間Ｃjにおけるｉ回目の推定時刻ｔｅiから現期間Ｃjにおけるｉ回目の第２時刻ｔｓiを引いて、現期間Ｃjにおけるｉ回目の時刻差ｄｔiを求める（Ｓ１８０７）。そして、メイン処理（Ａ）に復帰する。
【００５６】
図１９に、更新処理フローを示す。特定部１３０９は、前期間Ｃj-1における時刻差ｄｔのうち、最小の時刻差ｄｔminを特定する。そして、更新部１３１１は、最小の時刻差ｄｔminを現期間Ｃjで用いられるずれ時間ｔｇjに設定する（Ｓ１９０１）。更新部１３１１は、上述した式（１）に従って、周波数偏差ｄｆjを更新する（Ｓ１９０３）。そして、メイン処理（Ａ）に復帰する。
【００５７】
本実施の形態によれば、外部機器１０１で付された第１時刻を、より正しく自らのシステム時計基準の時刻に改めることができる。つまり、データ収集装置２０１における処理遅延の影響を受けずに、ローカル誤差を減ずることができる。
【００５８】
その他の工夫として、最小の時刻差ｄｔminの絶対値が閾値を超えた場合に、前期間における推定時刻の信頼性が低いと判断するようにしてもよい。この場合は、期間内に滞留遅延が０にならなかった恐れがあるからである。
【００５９】
また、過去の最小の時刻差ｄｔminに基づいて、期間の長さＴを調整するようにしてもよい。
【００６０】
また、過去の最小の時刻差ｄｔminに基づいて更新処理を行うか否かを決めるようにしてもよい。期間内に滞留遅延が０になるという前提が成立していないことも考えられるからである。
【００６１】
また、外部機器１０１の温度、内部電圧或いはクロックカウンタの振動数に基づいて、期間の長さＴを決めるようにしてもよい。より適正な期間の長さＴが設定されると期待できる。
【００６２】
［実施の形態２］
図２０乃至図２９を用いて実施の形態２の概要について説明する。図２０は、第Ｐ期間における推定時刻ｔｅを破線で示している。実線は、第２時刻ｔｓを示している。横軸は、第１時刻ｔｌを示している。推定時刻ｔｅは、ｔｅ＝ａP×ｔｌ＋ｂPの式に従って算出される。推定パラメータ（ａP，ｂP）は、第Ｐ期間における推定時刻ｔｅの算出に適用されるものである。
【００６３】
図２１は、第Ｐ期間における時刻差ｄｔを示している。時刻差ｄｔは、第２時刻ｔｓから推定時刻ｔｅを引いた時間である。図２０の点２００１に示した第２時刻ｔｓにおける時刻差ｄｔは、図２１に示すように滞留遅延を含んでいない。この状態については、図６を用いて前述した。本実施の形態においても、時刻差ｄｔが最小になる時点を基準として推定時刻ｔｅの算出を行う。
【００６４】
図２２は、第Ｐ＋１期間における推定時刻ｔｅを破線で示している。実線は、第Ｐ＋１期間の推定時刻ｔｅを算出する式ｔｅ＝ａP+1×ｔｌ＋ｂP+1が示す直線を第Ｐ期間まで延長したものである。尚、図２０で示した第Ｐ期間の推定時刻ｔｅは、更新されない。推定パラメータ（ａP+1，ｂP+1）は、第Ｐ＋１期間における推定時刻ｔｅの算出に適用されるものである。
【００６５】
図２３は、第Ｐ＋１期間における時刻差ｄｔを示している。第Ｐ期に関しても、算出式ｔｅ＝ａP+1×ｔｌ＋ｂP+1に基づく時刻差ｄｔを示している。図２２の点２００１に示した第２時刻ｔｓにおける時刻差ｄｔと点２２０１に示した第２時刻ｔｓにおける時刻差ｄｔとは共に、図２３に示すように滞留遅延を含んでいない。本実施の形態では、この２点を結ぶ直線に相当する近似式を用いる。
【００６６】
図２４は、第Ｐ＋２期間における推定時刻ｔｅを破線で示している。実線は、第Ｐ＋２期間の推定時刻ｔｅを算出する式ｔｅ＝ａP+2×ｔｌ＋ｂP+2が示す直線を点２００１まで延長したものである。尚、図２０で示した第Ｐ期間の推定時刻ｔｅ及び図２２で示した第Ｐ＋１期間の推定時刻ｔｅは、更新されない。推定パラメータ（ａP+2，ｂP+2）は、第Ｐ＋２期間における推定時刻ｔｅの算出に適用されるものである。尚、第Ｐ＋１期間の終了時点で、第Ｐ＋１期間における推定時刻ｔｅの算出に適用された推定パラメータ（ａP+1，ｂP+1）を現推定パラメータという。また、第Ｐ＋２期間における推定時刻ｔｅの算出に適用する推定パラメータ（ａP+2，ｂP+2）を新推定パラメータという。新推定パラメータは、現推定パラメータを補正することによって求められる。
【００６７】
図２５を用いて、パラメータの関係を整理する。時刻差ｄｔは、第２時刻ｔｓと推定時刻ｔｅに基づいて算出される。本実施の形態では、２つの期間の各々における最小の時刻差ｄｔに着目する。これらの最小の時刻差ｄｔ及びその出現時刻に基づいて現推定パラメータを補正することによって、新推定パラメータが算出される。そして、新推定パラメータによって次の期間における第１時刻が推定時刻に変換される。このサイクルが繰り返される。
【００６８】
図２６を用いて、期間と各時刻の関係を整理する。図２６は、第Ｐ＋１期間の終了時点で，第Ｐ＋２期間における推定時刻ｔｅの算出に適用される新推定パラメータを算出することを想定している。当該新推定パラメータを算出する場合には、第Ｐ期間の時刻データと第Ｐ＋１期間の時刻データが用いられる。具体的には、第Ｐ期間及び第Ｐ＋１期間の第２時刻ｔｓと、第Ｐ期間及び第Ｐ＋１期間の推定時刻ｔｅとが用いられる。但し、第Ｐ期間の推定時刻ｔｅは、第Ｐ＋１期間における推定時刻ｔｅの算出に適用される現推定パラメータに基づく値である。新推定パラメータは、第Ｐ＋２期間における第１時刻ｔｌに随時適用されて、即座に推定時刻が求められる。
【００６９】
図２７に示すように、図２６で説明した期間と各時刻の関係が期間の経過に従って繰り返される。図２７は、各推定パラメータが適正であることを想定している。各推定パラメータが適正であれば、各期間の長さは変わらない。
【００７０】
但し、推定パラメータがいつも適正であるとは限らない。或る期間における最小の時刻差ｄｔが滞留遅延に相当する時間を含んでいる場合には、その期間に基づいて算出された推定パラメータは、正しい推定時刻を導かない。本実施の形態では、新推定パラメータが現推定パラメータと同一又は類似である場合に、当該新推定パラメータが適正であると判断する。推定時刻が正しければ、その推定時刻は連続し、その推定時刻の基礎となった推定パラメータも近似するはずである。
【００７１】
図２８に示すように、新推定パラメータが現推定パラメータと非類似である場合には、新推定パラメータの基礎となる期間を拡張する。この例では、新推定パラメータの基礎となる第Ｐ＋１期間と第Ｐ＋２期間とのうち、後の第Ｐ＋２期間を拡張する。このように期間を長くすれば、当該期間における最小の時刻差が滞留遅延を含まない可能性が高まる。ここで、現推定パラメータは適正である前提である。
【００７２】
但し、誤差は滞留遅延だけでなく、ローカル時計１０７における周波数偏差による成分も含んでいる。横軸を第１時刻ｔｌとするグラフに真の計測時刻ｔを表せば、周波数偏差の変動により曲線を示すこともある。従って、上述した近似式が適用される期間が長すぎるとその期間の一部において推定時刻ｔｅと真の計測時刻ｔとの誤差が拡大する恐れがある。従って、より短期の周波数偏差変動が発生する可能性を考慮すると、一旦長くなった期間がそのままであると支障がある。
【００７３】
図２９に示した例で、第Ｑ期間の終了時点で求めた新推定パラメータが適正であった場合に、所定の短縮条件を満たさなければ第Ｑ＋１期間の長さは、第Ｑ期間の場合と同一になる。一方、第Ｑ＋１期間の終了時点で求めた新推定パラメータが適正であった場合に、所定の短縮条件を満たせば第Ｑ＋２期間の長さは、第Ｑ＋１期間の場合よりも短くなるようにする。短縮条件については後述するが、例えば適正と判断される可能性が高い場合に、次の期間を短くする。以上で、本実施の形態における概要の説明を終える。
【００７４】
図３０に、データ収集装置２０１のモジュール構成例を示す。アプリケーションプログラム２０５は、第２設定部３００１、制御部３００３、第２取得部３００５、第３算出部３００７、第４算出部３００９、第５算出部３０１０、判定部３０１１、変更部３０１３及び短縮部３０１５を有する。また、データ収集装置２０１は、パラメータ記憶部３０２１、時刻テーブル記憶部３０２３、期間タイプ記憶部３０２５及び回数記憶部３０２７を有する。
【００７５】
第２設定部３００１は、各種の内部パラメータに初期値を設定する。制御部３００３は、アプリケーションプログラム２０５の動作を制御する。第２取得部３００５は、バッファ２０９からタイムスタンプ付き計測メッセージを取得する。第３算出部３００７は、推定時刻ｔｅを算出する。第４算出部３００９は、推定パラメータを算出する。第５算出部３０１０は、時刻差ｄｔを算出する。判定部３０１１は、推定パラメータの適否を判定する。変更部３０１３は、期間タイプを変更する。具体的には、変更部３０１３は、当該期間を拡張する。短縮部３０１５は、次の期間を短縮する。
【００７６】
パラメータ記憶部３０２１は、各種の内部パラメータを記憶する。時刻テーブル記憶部３０２３は、時刻テーブルを記憶する。時刻テーブルについては、図３１を用いて後述する。期間タイプ記憶部３０２５は、期間タイプテーブルを記憶する。期間タイプテーブルについては、図３２を用いて後述する。回数記憶部３０２７は、回数テーブルを記憶する。回数テーブルについては、図３３を用いて後述する。
【００７７】
上述した第２設定部３００１、制御部３００３、第２取得部３００５、第３算出部３００７、第４算出部３００９、第５算出部３０１０、判定部３０１１、変更部３０１３及び短縮部３０１５は、ハードウエア資源（例えば、図５６）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【００７８】
上述したパラメータ記憶部３０２１、時刻テーブル記憶部３０２３、期間タイプ記憶部３０２５及び回数記憶部３０２７は、ハードウエア資源（例えば、図５６）を用いて実現される。
【００７９】
図３１に、時刻テーブルの例を示す。この例における時刻テーブルには、タイムスタンプ付き計測メッセージに対応するレコードが設けられる。時刻テーブルのレコードは、第１時刻が格納されるフィールドと、第２時刻が格納されるフィールドと、推定時刻が格納されるフィールドと、計測データが格納されるフィールドとを有している。
【００８０】
図３２に、期間タイプテーブルの例を示す。この例における期間タイプテーブルは、期間タイプに対応するレコードを有している。期間タイプテーブルのレコードは、期間タイプＩＤが設定されているフィールドと、期間長が設定されているフィールドとを有している。
【００８１】
期間タイプＩＤは、期間タイプを識別する。期間長は、当該期間タイプにおける期間の長さである。期間タイプテーブルは、メイン処理を開始する時点で既に用意されているものとする。尚、この例では、Ｍ個の期間タイプが設定されている。
【００８２】
図３３に、回数テーブルの例を示す。この例における回数テーブルは、期間タイプに対応するレコードを有している。回数テーブルのレコードは、期間タイプＩＤが格納されるフィールドと、適正回数が格納されるフィールドと、不適回数が格納されるフィールドとを有している。
【００８３】
期間タイプＩＤは、カウント対象の期間タイプを特定する。適正回数は、当該期間タイプの期間に基づく推定パラメータの適否判定において適正と判定された回数である。不適回数は、当該期間タイプの期間に基づく推定パラメータの適否判定において不適と判定された回数である。
【００８４】
本実施の形態では、メイン処理（Ａ）に代えて、メイン処理（Ｂ）を実行する。図３４に、メイン処理（Ｂ）フローを示す。第２設定部３００１は、スタート時刻を設定する（Ｓ３４０１）。スタート時刻は、各期間の基準として用いられる。スタート時刻は、例えば現在時刻である。但し、第２設定部３００１は、スタート時刻の設定を省くようにしてもよい。
【００８５】
第２設定部３００１は、第２初期設定処理を実行する（Ｓ３４０３）。第２初期設定処理では、各パラメータの初期化を行う。この例では、新推定パラメータのａnewには１が設定される。新推定パラメータのｂnewには０が設定される。現推定パラメータのａcurには１が設定される。現推定パラメータのｂcurには０が設定される。総合指数ｅ［０］、ｅ［１］及びｅ［２］には−１が設定される。−１は、後述する図４６のＳ４６０７において３回目以降であることを判定するために用いられる制御用の値である。各適正回数ｃｌ及び各不適回数ｃｕには０が設定される。期間タイプＩＤのパラメータｉには、１が設定される。各パラメータの詳細については、後述する。
【００８６】
制御部３００３は、取得処理を起動する（Ｓ３４０５）。取得処理は、バッファ２０９からタイムスタンプ付き計測メッセージを取得して、時刻テーブルに新たなレコードを設ける。取得処理は、記録時刻の補正結果を確定させるまでの処理遅延短縮を考慮し、メイン処理（Ｂ）と並行に動作させる例を示すが、並列に動作させなくても良い。
【００８７】
本実施の形態では、取得処理（Ｂ）が起動される。図３５に、取得処理（Ｂ）フローを示す。第２取得部３００５は、バッファ２０９からタイムスタンプ付き計測メッセージを取得する（Ｓ３５０１）。第２取得部３００５は、時刻テーブルに新たなレコードを追加する（Ｓ３５０３）。第２取得部３００５は、システム時計２１１から第２時刻ｔｓを取得し、新たなレコードに格納する（Ｓ３５０５）。第２取得部３００５は、計測メッセージから第１時刻ｔｌを読み取り、新たなレコードに格納する（Ｓ３５０７）。第３算出部３００７は、現推定パラメータ（ａcur，ｂcur）を用いて、推定時刻ｔｅを算出し、新たなレコードに格納する（Ｓ３５０９）。第２取得部３００５は、計測メッセージから計測データを読み取り、新たなレコードに格納する（Ｓ３５１１）。そして、Ｓ３５０１に示した処理に戻って、上述した処理を繰り返す。
【００８８】
図３４の説明に戻る。制御部３００３は、初期処理を実行する（Ｓ３４０７）。初期処理では、第１期間乃至第３期間に関する処理を行う。
【００８９】
本実施の形態では、初期処理（Ａ）を実行する。図３６に、初期処理（Ａ）フローを示す。制御部３００３は、取得処理（Ｂ）において時刻テーブルに格納された最新の第１時刻ｔｌが第２期間の終了時刻に至ったか否かを判定する（Ｓ３６０１）。最新の第１時刻ｔｌが第２期間の終了時刻に至っていないと判定した場合には、Ｓ３６０１に示した処理を繰り返す。尚、終了時刻は、開始時刻に期間の長さを加えることによって求められる。
【００９０】
一方、最新の第１時刻ｔｌが第２期間の終了時刻に至ったと判定した場合には、第４算出部３００９は、第１期間及び第２期間に係る推定パラメータの算出処理を実行する（Ｓ３６０３）。
【００９１】
本実施の形態では、推定パラメータの算出処理（Ａ）を実行する。図３７に、推定パラメータの算出処理（Ａ）フローを示す。第４算出部３００９は、現推定パラメータ（ａcur，ｂcur）の値を新推定パラメータ（ａnew，ｂnew）に設定する（Ｓ３７０１）。このとき設定される値が補正対象となる。
【００９２】
第４算出部３００９は、第１時刻ｔｌが対象期間（対象期間は、２つの期間、つまり前期間及び後期間を含んでいる。）に含まれるレコードを１つ特定する（Ｓ３７０３）。例えば、第４算出部３００９は、順番に従ってレコードを特定する。
【００９３】
第３算出部３００７は、新推定パラメータ（ａnew，ｂnew）を用いて推定時刻ｔｅを算出する（Ｓ３７０５）。第５算出部３０１０は、第２時刻ｔｓから推定時刻ｔｅを引いて時刻差ｄｔを算出する（Ｓ３７０７）。時刻差ｄｔは、推定パラメータの算出処理（Ａ）を行っている間保持される。第４算出部３００９は、未処理のレコードがあるか否かを判定する（Ｓ３７０９）。未処理のレコードがあると判定した場合には、Ｓ３７０３に示した処理に戻って、上述した処理を繰り返す。
【００９４】
一方、未処理のレコードがないと判定した場合には、第４算出部３００９は、前期間における最小の時刻差ｄｔmin及び当該最小の時刻差ｄｔminが出現した第１時刻ｔｌAを特定する（Ｓ３７１１）。この最小の時刻差ｄｔminが推定誤差ｅAであるものとして、以降の処理が行われる。
【００９５】
また、第４算出部３００９は、後期間における最小の時刻差ｄｔmin及び当該最小の時刻差ｄｔminが出現した第１時刻ｔｌBを特定する（Ｓ３７１３）。この最小の時刻差ｄｔminが推定誤差ｅBであるものとして、以降の処理が行われる。
【００９６】
そして、第４算出部３００９は、ａnew＝ａnew＋（ｅB−ｅA）／（ｔｌB−ｔｌA）の式及びｂnew＝ｂnew＋ｅBの式に従って、新推定パラメータ（ａnew，ｂnew）を更新する（Ｓ３７１５）。推定パラメータの算出処理（Ａ）を終えると、呼び出し元の処理に復帰する。
【００９７】
図３６の説明に戻る。制御部３００３は、Ｓ３６０３において算出した値（ａnew，ｂnew）を現推定パラメータ（ａcur，ｂcur）として記憶する（Ｓ３６０５）。
【００９８】
制御部３００３は、取得処理（Ｂ）において時刻テーブルに格納された最新の第１時刻ｔｌが第３期間の終了時刻に至ったか否かを判定する（Ｓ３６０７）。最新の第１時刻ｔｌが第３期間の終了時刻に至っていないと判定した場合には、Ｓ３６０７に示した処理を繰り返す。
【００９９】
一方、最新の第１時刻ｔｌが第３期間の終了時刻に至ったと判定した場合には、第４算出部３００９は、第２期間及び第３期間に係る推定パラメータの算出処理を実行する（Ｓ３６０９）。第２期間及び第３期間に係る推定パラメータに関しては、Ｓ３６０９の処理を終えた段階で未だ確定していない。端子Ａを介して、図３８に示したＳ３８０１の処理に移る。
【０１００】
判定部３０１１は、推定パラメータの適否判定処理を実行する（Ｓ３８０１）。推定パラメータの適否判定処理では、新推定パラメータ（初期処理では、第２期間及び第３期間に係る推定パラメータ）が適正であるか否かを判定する。推定パラメータの適否判定処理については、図３９乃至図４１を用いて後述する。
【０１０１】
制御部３００３は、第２期間及び第３期間に係る新推定パラメータが適正であるか否かによって処理を分岐させる（Ｓ３８０３）。第２期間及び第３期間に係る新推定パラメータが適正でない場合、つまり当該新推定パラメータが不適である場合には、制御部３００３は、第３期間の期間タイプ（期間タイプＩＤのパラメータ：ｉ）に関する不適回数ｃｕ［ｉ］に１を加える（Ｓ３８０５）。
【０１０２】
変更部３０１３は、第１乃至３期間の期間タイプ（期間タイプＩＤのパラメータ：ｉ）が最長タイプ（期間タイプＩＤ：Ｍ）であるか否かを判定する（Ｓ３８０７）。
【０１０３】
第３期間の期間タイプが最長タイプでないと判定した場合には、変更部３０１３は、１段階長い期間タイプに変更する（Ｓ３８０９）。つまり、変更部３０１３は、期間タイプＩＤのパラメータｉに１を加える。そして、端子Ｂを介して、図３６に示したＳ３６０３の処理に戻る。
【０１０４】
Ｓ３８０７において、第３期間の期間タイプが最長タイプであると判定した場合には、変更部３０１３は、最長タイプが所定回連続したか否かを判定する（Ｓ３８１１）。最長タイプが所定回連続した場合には、変更部３０１３は、エラーが発生したと判定する（Ｓ３８１３）。エラーが発生した場合には、初期処理（Ａ）を終え、呼び出し元のメイン処理（Ｂ）に復帰する。
【０１０５】
最長タイプが未だ所定回連続してない場合には、そのまま端子Ｂを介して、図３６に示したＳ３６０３の処理に戻る。
【０１０６】
Ｓ３８０３に示した処理の説明に戻る。第２期間及び第３期間に係る新推定パラメータが適正である場合には、制御部３００３は、第３期間の期間タイプ（期間タイプＩＤのパラメータｉ）に関する適正回数ｃｌ［ｉ］に１を加える（Ｓ３８１５）。
【０１０７】
更に、制御部３００３は、新推定パラメータ（ａnew，ｂnew）の値を現推定パラメータ（ａcur，ｂcur）に設定する（Ｓ３８１７）。初期処理（Ａ）を終えると、呼び出し元のメイン処理（Ｂ）に復帰する。
【０１０８】
本実施の形態では、推定パラメータの適否判定処理の例を２つ示す。図３９に、推定パラメータの適否判定処理（Ａ）フローを示す。判定部３０１１は、傾きパラメータの差分の絶対値が閾値ｒaを下回ったか否かを判定する（Ｓ３９０１）。具体的には、判定部３０１１は、新傾きパラメータａnewから、現傾きパラメータａcurを引いた値の絶対値が閾値ｒaを下回ったか否かを判定する。当該絶対値が閾値ｒaを下回っていない場合には、判定部３０１１は、新推定パラメータ（ａnew，ｂnew）が不適であると判定する（Ｓ３９０７）。一方、当該絶対値が閾値ｒaを下回った場合には、Ｓ３９０３の処理に移る。
【０１０９】
判定部３０１１は、切片パラメータの差分の絶対値が閾値ｒbを下回ったか否かを判定する（Ｓ３９０３）。具体的には、判定部３０１１は、新切片パラメータｂnewから、現切片パラメータｂcurを引いた値の絶対値が閾値ｒbを下回ったか否かを判定する。当該絶対値が閾値ｒbを下回っていない場合には、判定部３０１１は、新推定パラメータ（ａnew，ｂnew）が不適であると判定する（Ｓ３９０７）。一方、当該絶対値が閾値ｒbを下回った場合には、判定部３０１１は、新推定パラメータ（ａnew，ｂnew）が適正であると判定する（Ｓ３９０５）。推定パラメータの適否判定処理を終えると、呼び出し元の処理に復帰する。
【０１１０】
ここでは、傾きパラメータの差分の絶対値及び切片パラメータの差分の絶対値に基づいて適否判定を行う例を示したが、Ｓ３９０１の処理を省いて、切片パラメータの差分の絶対値に基づいて適否判定を行うようにしてもよい。或いは、Ｓ３９０３の処理を省いて、傾きパラメータの差分の絶対値に基づいて適否判定を行うようにしてもよい。
【０１１１】
推定パラメータの適否判定処理に関する別の例について説明する。図４０に、推定パラメータの適否判定処理（Ｂ）フローを示す。判定部３０１１は、第ｊ−１期間と第ｊ期間との境界時刻ｔｌsを特定する（Ｓ４００１）。以下、推定パラメータの適否判定処理（Ｂ）について図４１を用いて補足する。図４１に示すように、境界時刻ｔｌsは、第ｊ−１期間の終了時刻に相当するとともに、第ｊ期間の開始時刻に相当する。
【０１１２】
判定部３０１１は、現推定パラメータ（ａcur，ｂcur）を用いて、境界時刻ｔｌsに対応する推定時刻ｔｅs_curを算出する（Ｓ４００３）。また、判定部３０１１は、新推定パラメータ（ａnew，ｂnew）を用いて、境界時刻ｔｌsに対応する推定時刻ｔｅs_newを算出する（Ｓ４００５）。
【０１１３】
判定部３０１１は、推定時刻の差分の絶対値が閾値を下回ったか否かを判定する（Ｓ４００７）。具体的には、判定部３０１１は、新推定パラメータ（ａnew，ｂnew）に基づく推定時刻ｔｅs_newから、現推定パラメータ（ａcur，ｂcur）に基づく推定時刻ｔｅs_curを引いた値の絶対値が閾値ｒsを下回ったか否かを判定する。
【０１１４】
推定時刻の差分の絶対値が閾値を下回ったと判定した場合には、判定部３０１１は、新推定パラメータ（ａnew，ｂnew）が適正であると判定する（Ｓ４００９）。新推定パラメータが適正であれば、図４１に示したように推定時刻ｔｅs_newと推定時刻ｔｅs_curとは近い値になるはずだからである。
【０１１５】
一方、推定時刻の差分の絶対値が閾値を下回っていないと判定した場合には、判定部３０１１は、新推定パラメータ（ａnew，ｂnew）が不適であると判定する（Ｓ４０１１）。推定パラメータの適否判定処理（Ｂ）を終えると、呼び出し元の処理に復帰する。
【０１１６】
図３４の説明に戻る。制御部３００３は、Ｓ３４０７の初期処理においてエラーが発生したか否かによって処理を分岐させる（Ｓ３４０９）。初期処理においてエラーが発生した場合には、第２設定部３００１は、スタート時刻を設定し直す（Ｓ３４１１）。例えば、現在時刻をスタート時刻に設定する。そして、Ｓ３４０３に示した処理に戻って、上述した処理を繰り返す。尚、取得処理を継続していれば、取得処理の起動は省くようにする。
【０１１７】
一方、初期処理においてエラーが発生していない場合には、制御部３００３は、継続処理を実行する（Ｓ３４１３）。継続処理では、第４期間以降に関する処理を行う。
【０１１８】
本実施の形態では、継続処理（Ａ）を実行する。図４２に、継続処理（Ａ）フローを示す。第４期間に関する処理から始まるので、制御部３００３は、期間番号のパラメータｊに４を設定する（Ｓ４２０１）。
【０１１９】
制御部３００３は、取得処理（Ｂ）において時刻テーブルに格納された最新の第１時刻ｔｌが第ｊ期間の終了時刻に至ったか否かを判定する（Ｓ４２０３）。最新の第１時刻ｔｌが第ｊ期間の終了時刻に至っていないと判定した場合には、Ｓ４２０３に示した処理を繰り返す。
【０１２０】
一方、最新の第１時刻ｔｌが第ｊ期間の終了時刻に至ったと判定した場合には、制御部３００３は、第ｊ−１期間及び第ｊ期間に係る推定パラメータの算出処理を実行する（Ｓ４２０５）。次に、判定部３０１１は、推定パラメータの適否判定処理を実行する（Ｓ４２０７）。そして、端子Ｃを介して、図４３に示したＳ４３０１の処理に移る。推定パラメータの算出処理及び推定パラメータの適否判定処理は、上述の通りである。
【０１２１】
図４３の説明に移る。Ｓ４３０１乃至Ｓ４３１５の処理は、図３８に示したＳ３８０３乃至Ｓ３８１７の処理の場合と同様である。Ｓ４３１５の処理に続いて、短縮部３０１５は、短縮判定処理を実行する（Ｓ４３１９）。短縮判定処理では、期間長の短縮を行うか否かの判定を行う。
【０１２２】
図４４に、短縮判定処理フローを示す。短縮部３０１５は、当該期間タイプＩＤ［ｉ］の適正回数ｃｌ［ｉ］及び不適回数ｃｕ［ｉ］に基づいて適正指数Ｗ［ｉ］を算出する（Ｓ４４０１）。具体的には、短縮部３０１５は、Ｗ［ｉ］＝（ｃｌ［ｉ］＋第１定数）／（ｃｕ［ｉ］＋第２定数）の式に従って適正指数Ｗ［ｉ］を算出する。第１定数は、実数である。第２定数も、実数である。尚、期間タイプＩＤ［ｉ］は、現在の期間タイプを示す。
【０１２３】
短縮部３０１５は、適正指数Ｗ［ｉ］が閾値ｒwを超えたか否かを判定する（Ｓ４４０３）。適正指数Ｗ［ｉ］が閾値ｒwを超えた場合には、短縮部３０１５は、期間長を短縮すると判定する（Ｓ４４０５）。一方、適正指数Ｗ［ｉ］が閾値ｒwを超えていない場合には、短縮部３０１５は、期間長を短縮しないと判定する（Ｓ４４０７）。短縮判定処理を終えると、呼び出し元の処理に復帰する。
【０１２４】
図４３の説明に戻る。短縮部３０１５は、期間を短縮すると判定したか否かによって処理を分岐させる（Ｓ４３２１）。期間を短縮すると判定した場合には、短縮部３０１５は、１段階短い期間タイプに変更する（Ｓ４３２３）。つまり、短縮部３０１５は、期間タイプＩＤのパラメータｉから１を引く。一方、期間を短縮しないと判定した場合には、そのままＳ４３２５の処理に移る。
【０１２５】
制御部３００３は、終了するか否かを判定する（Ｓ４３２５）。制御部３００３は、例えば終了指示があったか否かを判定する。
【０１２６】
終了しないと判定した場合には、制御部３００３は、期間番号ｊに１を加える（Ｓ４３２７）。そして、端子Ｅを介して、図４２に示したＳ４２０３の処理に戻る。一方、終了すると判定した場合には、継続処理（Ａ）を終え、呼び出し元のメイン処理（Ｂ）に復帰する。
【０１２７】
図３４の説明に戻る。制御部３００３は、Ｓ３４１３の継続処理においてエラーが発生したか否かによって処理を分岐させる（Ｓ３４１５）。継続処理においてエラーが発生した場合には、第２設定部３００１は、スタート時刻を設定し直す（Ｓ３４１１）。例えば、現在時刻をスタート時刻に設定する。そして、Ｓ３４０３に示した処理に戻って、上述した処理を繰り返す。尚、取得処理を継続していれば、取得処理の起動は省くようにする。
【０１２８】
一方、継続処理においてエラーが発生していない場合には、メイン処理（Ｂ）を終える。メイン処理（Ｂ）を終える前に、制御部３００３は取得処理を停止させるようにしてもよい。
【０１２９】
本実施の形態によれば、外部機器で付された記録時刻を、より正しく自らの時計基準の推定時刻に改めることができる。
【０１３０】
また、新推定パラメータを次の期間に適用するので、早いタイミングで推定時刻を得られる。
【０１３１】
また、新推定パラメータが不適である場合に期間を拡張して新推定パラメータを算出し直すので、推定時刻の誤算を補正できる。
【０１３２】
また、短縮条件を満たす場合に次の期間を短縮するので、ローカル時計１０７における周波数偏差の変動による推定誤差を解消し易い。
【０１３３】
［実施の形態３］
本実施の形態では、推定パラメータの算出処理においてイテレーションを行う例について説明する。
【０１３４】
本実施の形態では、推定パラメータの算出処理（Ａ）に代えて、推定パラメータの算出処理（Ｂ）を実行する。図４５に、推定パラメータの算出処理（Ｂ）フローを示す。Ｓ４５０１乃至Ｓ４５１３の処理は、図３７に示したＳ３７０１乃至Ｓ３７１３の処理の場合と同様である。
【０１３５】
第４算出部３００９は、総合指数ｅ［０］＝ｅA2＋ｅB2の式に従って、推定誤差の総合指数ｅ［０］を算出する（Ｓ４５１５）。そして、第４算出部３００９は、収束判定処理を実行する（Ｓ４５１７）。収束判定処理では、今回の推定誤差の総合指数ｅ［０］、前回の推定誤差の総合指数ｅ［１］及び２回前の推定誤差の総合指数ｅ［２］に基づいて推定パラメータが収束したか否かを判定する。
【０１３６】
図４６に、収束判定処理フローを示す。第４算出部３００９は、今回の総合指数ｅ［０］が０であるか否かを判定する（Ｓ４６０１）。今回の総合指数ｅ［０］が０であると判定した場合には、第４算出部３００９は、推定パラメータが収束したと判定する（Ｓ４６０３）。そして、収束判定処理を終え、呼び出し元の推定パラメータの算出処理（Ｂ）に復帰する。
【０１３７】
一方、今回の総合指数ｅ［０］が０ではないと判定した場合には、第４算出部３００９は、今回の総合指数ｅ［０］と前回の総合指数ｅ［１］とが一致するか否かを判定する（Ｓ４６０５）。今回の総合指数ｅ［０］と前回の総合指数ｅ［１］とが一致すると判定した場合には、第４算出部３００９は、推定パラメータが収束したと判定する（Ｓ４６０３）。そして、収束判定処理を終え、呼び出し元の推定パラメータの算出処理（Ｂ）に復帰する。
【０１３８】
一方、今回の総合指数ｅ［０］と前回の総合指数ｅ［１］とが一致しないと判定した場合には、第４算出部３００９は、３回目以降に総合指数が減少しなくなったか否かを判定する（Ｓ４６０７）。この例で、第４算出部３００９は、（ｅ［２］≦ｅ［１］  ａｎｄ  ｅ［１］≧ｅ［０］  ａｎｄ  ｅ［１］≠−１  ａｎｄ  ｅ［２］≠−１）の条件式を満たすか否かを判定する。尚、この例においてｅ［１］及びｅ［２］の初期値は−１であり、（ｅ［１］≠−１  ａｎｄ  ｅ［２］≠−１）の式は、３回目以降であるための条件に相当する。
【０１３９】
３回目以降に総合指数が減少しなくなったと判定した場合には、第４算出部３００９は、推定パラメータが収束したと判定する（Ｓ４６０３）。そして、収束判定処理を終え、呼び出し元の推定パラメータの算出処理（Ｂ）に復帰する。
【０１４０】
一方、３回目以降に総合指数が減少しなくなったと判定しない場合には、第４算出部３００９は、推定パラメータが収束していないと判定する（Ｓ４６０９）。そして、収束判定処理を終え、呼び出し元の推定パラメータの算出処理（Ｂ）に復帰する。
【０１４１】
図４５の説明に戻る。Ｓ４５１７における収束判定処理を終えると、端子Ｆを介して、図４７に示したＳ４７０１の処理に移る。
【０１４２】
尚、推定パラメータに関する差分二乗和（ａnew−ａcur）2＋（ｂnew−ｂcur）2を総合指数ｅとして用いるようにしてもよい。
【０１４３】
図４７の説明に移る。第４算出部３００９は、推定パラメータが収束したと判定したか否かによって処理を分岐させる（Ｓ４７０１）。新推定パラメータが収束していないと判定した場合には、第４算出部３００９は、ａnew＝ａnew＋（ｅB−ｅA）／（ｔｌB−ｔｌA）の式及びｂnew＝ｂnew＋ｅBの式に従って、新推定パラメータ（ａnew，ｂnew）を更新する（Ｓ４７０３）。また、第４算出部３００９は、前回の総合指数を２回前の総合指数のパラメータに移す（Ｓ４７０５）。更に、第４算出部３００９は、今回の総合指数を前回の総合指数のパラメータに移す（Ｓ４７０７）。端子Ｇを介して、図４５に示したＳ４５０３の処理に戻る。
【０１４４】
一方、新推定パラメータが収束したと判定した場合には、第４算出部３００９は、２回前の総合指数及び前回の総合指数を初期化する（Ｓ４７０９）。この例では、ｅ［１］及びｅ［２］に−１が設定される。
【０１４５】
本実施の形態によれば、イテレーションによって推定パラメータの精度が高まる。
【０１４６】
［実施の形態４］
上述した実施の形態では、将来の第１時刻ｔｌに新推定パラメータを適用する例を示したが、本実施の形態では、既知の第１時刻ｔｌに新推定パラメータを適用する例について説明する。
【０１４７】
図４８に示すように、新推定パラメータを算出する基礎となった期間のうち、後方の期間に当該新推定パラメータを適用する。例えば、第Ｐ＋１期間及び第Ｐ＋２期間における時刻データに基づいて算出された推定パラメータは、第Ｐ＋２期間に含まれる第１時刻に遡って適用される。このようにすれば、実施の形態２及び３の場合に比べて推定時刻の精度が高まる。
【０１４８】
本実施の形態では、取得処理（Ｂ）に代えて、取得処理（Ｃ）を実行する。図４９に、取得処理（Ｃ）フローを示す。取得処理（Ｃ）では、推定時刻ｔｅの算出を行わない。Ｓ４９０１乃至Ｓ４９０７の処理は、図３５に示したＳ３５０１乃至Ｓ３５０７の処理の場合と同様である。また、Ｓ４９０９の処理は、図３５に示したＳ３５１１の処理の場合と同様である。
【０１４９】
本実施の形態では、初期処理（Ａ）に代えて、初期処理（Ｂ）を実行する。図５０に、初期処理（Ｂ）フローを示す。Ｓ５００１乃至Ｓ５００９の処理は、図３６に示したＳ３６０１乃至Ｓ３６０９の処理の場合と同様である。Ｓ５００９の処理を終えると、端子Ｈを介して、図５１に示したＳ５１０１の処理に移る。
【０１５０】
図５１の説明に移る。Ｓ５１０１乃至Ｓ５１１５の処理は、図３８に示したＳ３８０１乃至Ｓ３８１５の処理の場合と同様である。
【０１５１】
第３算出部３００７は、現推定パラメータ（ａcur，ｂcur）を用いて第１期間及び第２期間における推定時刻ｔｅを算出する（Ｓ５１１７）。第３算出部３００７は、算出した推定時刻ｔｅを時刻テーブルのレコードに格納する。第３算出部３００７は、新推定パラメータ（ａnew，ｂnew）を用いて第３期間における推定時刻ｔｅを算出する（Ｓ５１１９）。第３算出部３００７は、算出した推定時刻ｔｅを時刻テーブルのレコードに格納する。
【０１５２】
Ｓ５１２１の処理は、図３８に示したＳ３８１７の処理の場合と同様である。初期処理（Ｂ）を終えると、呼び出し元のメイン処理（Ｂ）に復帰する。
【０１５３】
本実施の形態では、継続処理（Ａ）に代えて、継続処理（Ｂ）を実行する。図５２に、継続処理（Ｂ）フローを示す。Ｓ５２０１乃至Ｓ５２０７の処理は、図４２に示したＳ４２０１乃至Ｓ４２０７の処理の場合と同様である。端子Ｊを介して、図５３に示したＳ５３０１の処理に移る。
【０１５４】
図５３の説明に移る。Ｓ５３０１乃至Ｓ５３１５の処理は、図４３に示したＳ４３０１乃至Ｓ４３１５の処理の場合と同様である。
【０１５５】
第３算出部３００７は、新推定パラメータ（ａnew，ｂnew）を用いて第ｊ期間における推定時刻ｔｅを算出する（Ｓ５３１９）。第３算出部３００７は、算出した推定時刻ｔｅを時刻テーブルのレコードに格納する。
【０１５６】
Ｓ５３２１乃至Ｓ５３２９の処理は、図４３に示したＳ４３１９乃至Ｓ４３２７の処理の場合と同様である。継続処理（Ｂ）を終えると、呼び出し元のメイン処理（Ｂ）に復帰する。
【０１５７】
本実施の形態によれば、推定時刻の精度がより高まる。
【０１５８】
［実施の形態５］
推定パラメータの適否判定処理において、推定パラメータに関する差分二乗和（ａnew−ａcur）2＋（ｂnew−ｂcur）2を算出して、当該値が閾値を下回った場合に、判定部３０１１は、新推定パラメータ（ａnew，ｂnew）が適正であると判定するようにしてもよい。また、当該値が閾値を下回っていない場合に、判定部３０１１は、新推定パラメータ（ａnew，ｂnew）が不適であると判定するようにしてもよい。
【０１５９】
［実施の形態６］
上述した実施の形態では、滞留遅延の影響を受けない範囲で短い期間に調整する例を示したが、周波数偏差の影響を受けない範囲で長い期間に調整するようにしてもよい。
【０１６０】
この場合には、例えば最長の期間から始めるようにする。そして、推定パラメータが不適である場合に、期間を短くして推定パラメータの計算をし直す。また、推定パラメータが適正である場合に、所定の拡張条件を満たせば次の期間が長くなるように調整する。
【０１６１】
［実施の形態７］
上述した実施の形態では、現推定パラメータの基礎となった２期間のうち後方の期間と、新推定パラメータの基礎となった２期間のうち前方の期間が重複する例を示した。但し、現推定パラメータの基礎となった２期間と新推定パラメータの基礎となった２期間とが重複しないようにしてもよい。
【０１６２】
図５４に示した例では、第Ｐ＋３期間の終了時点において、現推定パラメータの基礎となった第Ｐ期間及び第Ｐ＋１期間と、新推定パラメータの基礎となった第Ｐ＋２期間及び第Ｐ＋３期間とが重複しない。この例で、新推定パラメータは、それ以降の第Ｐ＋４期間及び第Ｐ＋５期間において適用される。
【０１６３】
図５５に示した例では、図５４の場合と同様に、第Ｐ＋３期間の終了時点において、現推定パラメータの基礎となった第Ｐ期間及び第Ｐ＋１期間と、新推定パラメータの基礎となった第Ｐ＋２期間及び第Ｐ＋３期間とが重複しない。この例で、新推定パラメータは、既知の第Ｐ＋２期間及び第Ｐ＋３期間において適用される。
【０１６４】
尚、実施の形態２、実施の形態３及び図５４に示した例は、リアルタイム処理に向いている面がある。一方、実施の形態４及び図５５に示した例は、バッチ処理に向いている面がある。
【０１６５】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
【０１６６】
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
【０１６７】
なお、上で述べたデータ収集装置２０１は、コンピュータ装置であって、図５６に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１６８】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【０１６９】
本実施の形態に係る情報処理装置は、（Ａ）外部機器が送信してから変動遅延を伴って到達する第１時計基準の記録時刻を含むデータの当該記録時刻の各々について、当該記録時刻を第２時計基準で改めた推定時刻を算出する第１算出部と、（Ｂ）記録時刻の各々について、当該記録時刻を改めた推定時刻と、当該記録時刻を含むデータが到達した第２時計基準の読取時刻との時刻差を算出する第２算出部と、（Ｃ）２以上の期間の各々における最小の時刻差に基づいて、推定時刻の算出に用いられるパラメータを算出する第３算出部とを有する。
【０１７０】
このようにすれば、外部機器で付された記録時刻を、より正しく自らの時計基準の推定時刻に改めることができる。
【０１７１】
更に、パラメータは、記録時刻に乗ずる係数と、当該記録時刻と当該係数との積に加算する値とを含むようにしてもよい。
【０１７２】
このようにすれば、推定時刻の算出における処理負荷が比較的小さい。
【０１７３】
更に、第１算出部は、パラメータを当該パラメータの基礎となった２以上の期間より後の記録時刻に適用するようにしてもよい。
【０１７４】
このようにすれば、早いタイミングで推定時刻を得られる。
【０１７５】
更に、第１算出部は、パラメータを当該パラメータの基礎となった２以上の期間内の記録時刻の少なくとも一部に適用するようにしてもよい。
【０１７６】
このようにすれば、推定時刻の精度が高まる。
【０１７７】
更に、第１算出部における処理と、第２算出部における処理と、第３算出部における処理とを繰り返す処理を行う制御部を有するようにしてもよい。
【０１７８】
このようにすれば、継続的に推定時刻を求めることができる。
【０１７９】
更に、前回のパラメータとの比較によって、今回のパラメータの適否を判定する判定部を有するようにしてもよい。
【０１８０】
このようにすれば、推定時刻の誤算を防ぐことができる。
【０１８１】
更に、今回のパラメータが不適であると判定された場合に、第３算出部は、少なくとも１の期間が拡張された２以上の期間に基づいて、今回のパラメータを算出し直すようにしてもよい。
【０１８２】
このようにすれば、推定時刻の誤算を補正できる。
【０１８３】
更に、今回のパラメータが適正であると判定され且つ所定条件を満たす場合に、次回の基礎となる２以上の期間のうち少なくとも１の期間を短縮する短縮部を有するようにしてもよい。
【０１８４】
このようにすれば、推定時刻の誤差を抑制できる。
【０１８５】
更に、第３算出部は、パラメータを算出する過程で、当該パラメータが所定条件を満たすまで当該パラメータの補正を反復するようにしてもよい。
【０１８６】
このようにすれば、推定時刻の精度が高まる。
【０１８７】
なお、上で述べた情報処理装置の処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
【０１８８】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１８９】
（付記１）
外部機器が送信してから変動遅延を伴って到達する第１時計基準の記録時刻を含むデータの当該記録時刻の各々について、当該記録時刻を第２時計基準で改めた推定時刻を算出する第１算出部と、
前記記録時刻の各々について、当該記録時刻を改めた前記推定時刻と、当該記録時刻を含むデータが到達した前記第２時計基準の読取時刻との時刻差を算出する第２算出部と、
２以上の期間の各々における最小の前記時刻差に基づいて、前記推定時刻の算出に用いられるパラメータを算出する第３算出部と
を有する情報処理装置。
【０１９０】
（付記２）
前記パラメータは、前記記録時刻に乗ずる係数と、当該記録時刻と当該係数との積に加算する値とを含む
付記１記載の情報処理装置。
【０１９１】
（付記３）
前記第１算出部は、前記パラメータを当該パラメータの基礎となった前記２以上の期間より後の記録時刻に適用する
付記１又は２に記載の情報処理装置。
【０１９２】
（付記４）
前記第１算出部は、前記パラメータを当該パラメータの基礎となった前記２以上の期間内の記録時刻の少なくとも一部に適用する
付記１又は２に記載の情報処理装置。
【０１９３】
（付記５）
更に、
前記第１算出部における処理と、前記第２算出部における処理と、前記第３算出部における処理とを繰り返す処理を行う制御部
を有する付記１乃至４のいずれか１つ記載の情報処理装置。
【０１９４】
（付記６）
更に、
前回の前記パラメータとの比較によって、今回の前記パラメータの適否を判定する判定部
を有する付記５記載の情報処理装置。
【０１９５】
（付記７）
前記今回のパラメータが不適であると判定された場合に、前記第３算出部は、少なくとも１の期間が拡張された前記２以上の期間に基づいて、前記今回のパラメータを算出し直す
付記６記載の情報処理装置。
【０１９６】
（付記８）
更に、
前記今回のパラメータが適正であると判定され且つ所定条件を満たす場合に、次回の基礎となる前記２以上の期間のうち少なくとも１の期間を短縮する短縮部
を有する付記６又は７記載の情報処理装置。
【０１９７】
（付記９）
前記第３算出部は、前記パラメータを算出する過程で、当該パラメータが所定条件を満たすまで当該パラメータの補正を反復する
付記１乃至８のいずれか１つ記載の情報処理装置。
【０１９８】
（付記１０）
情報処理装置と、
外部機器と
を有し、
前記情報処理装置は、
外部機器が送信してから変動遅延を伴って到達する第１時計基準の記録時刻を含むデータの当該記録時刻の各々について、当該記録時刻を第２時計基準で改めた推定時刻を算出する第１算出部と、
前記記録時刻の各々について、当該記録時刻を改めた前記推定時刻と、当該記録時刻を含むデータが到達した前記第２時計基準の読取時刻との時刻差を算出する第２算出部と、
２以上の期間の各々における最小の前記時刻差に基づいて、前記推定時刻の算出に用いられるパラメータを算出する第３算出部と
を有し、
前記外部機器は、
前記第１時計基準の前記記録時刻を含むデータを送信する
情報処理システム。
【０１９９】
（付記１１）
外部機器が送信してから変動遅延を伴って到達する第１時計基準の記録時刻を含むデータの当該記録時刻の各々について、当該記録時刻を第２時計基準で改めた推定時刻を算出し、
前記記録時刻の各々について、当該記録時刻を改めた前記推定時刻と、当該記録時刻を含むデータが到達した前記第２時計基準の読取時刻との時刻差を算出し、
２以上の期間の各々における最小の前記時刻差に基づいて、前記推定時刻の算出に用いられるパラメータを算出する
処理を含み、コンピュータにより実行される情報処理方法。
【符号の説明】
【０２００】
１０１  外部機器    １０３  計測部
１０５  付加部    １０７  ローカル時計
１０９  送信部    ２０１  データ収集装置
２０３  オペレーティングシステム    ２０５  アプリケーションプログラム
２０７  受信部    ２０９  バッファ
２１１  システム時計    １３０１  第１設定部
１３０３  第１取得部    １３０５  第１算出部
１３０７  第２算出部    １３０９  特定部
１３１１  更新部    １３２１  パラメータ記憶部
１３２３  テーブル記憶部    ３００１  第２設定部
３００３  制御部    ３００５  第２取得部
３００７  第３算出部    ３００９  第４算出部
３０１０  第５算出部    ３０１１  判定部
３０１３  変更部    ３０１５  短縮部    
３０２１  パラメータ記憶部    ３０２３  時刻テーブル記憶部
３０２５  期間タイプ記憶部    ３０２７  回数記憶部
【図１】
2017188876.tif 000004
【図２】
2017188876.tif 000005
【図３】
2017188876.tif 000006
【図４】
2017188876.tif 000007
【図５】
2017188876.tif 000008
【図６】
2017188876.tif 000009
【図７】
2017188876.tif 000010
【図８】
2017188876.tif 000011
【図９】
2017188876.tif 000012
【図１０】
2017188876.tif 000013
【図１１】
2017188876.tif 000014
【図１２】
2017188876.tif 000015
【図１３】
2017188876.tif 000016
【図１４】
2017188876.tif 000017
【図１５】
2017188876.tif 000018
【図１６】
2017188876.tif 000019
【図１７】
2017188876.tif 000020
【図１８】
2017188876.tif 000021
【図１９】
2017188876.tif 000022
【図２０】
2017188876.tif 000023
【図２１】
2017188876.tif 000024
【図２２】
2017188876.tif 000025
【図２３】
2017188876.tif 000026
【図２４】
2017188876.tif 000027
【図２５】
2017188876.tif 000028
【図２６】
2017188876.tif 000029
【図２７】
2017188876.tif 000030
【図２８】
2017188876.tif 000031
【図２９】
2017188876.tif 000032
【図３０】
2017188876.tif 000033
【図３１】
2017188876.tif 000034
【図３２】
2017188876.tif 000035
【図３３】
2017188876.tif 000036
【図３４】
2017188876.tif 000037
【図３５】
2017188876.tif 000038
【図３６】
2017188876.tif 000039
【図３７】
2017188876.tif 000040
【図３８】
2017188876.tif 000041
【図３９】
2017188876.tif 000042
【図４０】
2017188876.tif 000043
【図４１】
2017188876.tif 000044
【図４２】
2017188876.tif 000045
【図４３】
2017188876.tif 000046
【図４４】
2017188876.tif 000047
【図４５】
2017188876.tif 000048
【図４６】
2017188876.tif 000049
【図４７】
2017188876.tif 000050
【図４８】
2017188876.tif 000051
【図４９】
2017188876.tif 000052
【図５０】
2017188876.tif 000053
【図５１】
2017188876.tif 000054
【図５２】
2017188876.tif 000055
【図５３】
2017188876.tif 000056
【図５４】
2017188876.tif 000057
【図５５】
2017188876.tif 000058
【図５６】
2017188876.tif 000059