JP5811663B2 - 時刻補正装置、時刻補正方法、およびプログラム - Google Patents

時刻補正装置、時刻補正方法、およびプログラム Download PDF

Info

Publication number
JP5811663B2
JP5811663B2 JP2011163911A JP2011163911A JP5811663B2 JP 5811663 B2 JP5811663 B2 JP 5811663B2 JP 2011163911 A JP2011163911 A JP 2011163911A JP 2011163911 A JP2011163911 A JP 2011163911A JP 5811663 B2 JP5811663 B2 JP 5811663B2
Authority
JP
Japan
Prior art keywords
time
communication
model
internal
communication time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011163911A
Other languages
English (en)
Other versions
JP2013029340A (ja
Inventor
一穂 前田
一穂 前田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011163911A priority Critical patent/JP5811663B2/ja
Publication of JP2013029340A publication Critical patent/JP2013029340A/ja
Application granted granted Critical
Publication of JP5811663B2 publication Critical patent/JP5811663B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Electric Clocks (AREA)

Description

本発明は、時刻補正装置、時刻補正方法、およびプログラムに関する。
近年、センサの小型化・低価格化やネットワークの発達により、様々なセンシングデータの蓄積が可能となってきており、そのようなセンシングデータを、様々なソリューションに役立てたいという要望が高まっている。
一方、ネットワークに接続され、サーバに情報をアップロードするセンサの数、種類は増加している。例えば、Personal Computer(PC)の使用状況収集ツールのように、他人の装置にソフトをインストールすることによりセンサとして機能させるものもある。このように、他人の装置にソフトをインストールした場合等には、基本的にシステム設定は変更できない。また、PCから携帯端末まで端末の種類やリソースの大小も様々である。このような状況では、センサを一つ一つ管理するのは手間がかかるので、運用時には個々のセンサは出来る限り手を入れる必要がない状態にしておきたいという要望が存在する。
しかしながら、サーバが様々なセンサのデータを統合して扱うには、サーバとセンサとの内部時刻のずれが出来るだけ小さいことが望ましい。このため、各センサの内部時刻をサーバに一致するよう自動的に補正したい。
このような内部時刻の自動補正の例としては、センサがサーバに送信を行い、サーバが受信時の内部時刻を返送することにより、センサとサーバの内部時刻のずれを計測して補正する技術が知られている。別の例としては、Flooding Time Synchronization Protocol(FTSP)を用いた方法が知られている。
特開2008−209995号公報
M. Maroti、 B. Kusy、 G. Simon and A. Ledeczi著 The Flooding Time Synchronization Protocol Proceedings of the 2nd ACM Conference on Embedded Networked Sensor Systems (SenSys’04), Baltimore、Maryland (2004).
しかし、センサからの通信にサーバが返信する方式では、双方向通信が必要であるとともに、センサ側で時刻を修正するため、センサ側にも手を入れる必要がある。また、FTSPを用いる方法は、無線用の特殊なプロトコルを用いるため、センサ側のMedia Access Control(MAC)レイヤに手を入れ、タイムスタンプをとるようにしなければならない。
このように、センサ一つ一つに手を入れて補正するのは手間がかかる。そこで、特殊な同期プロトコルは使わず、センサ・サーバ間の通信はセンサ情報(センサ内部時刻とセンサ値)のアップロードのみで時刻のずれを補正できることが望ましい。しかし、各センサの内部時刻の進み方にはばらつきがあるため、センサ情報のアップロードのみの通信では、精度よくセンサの内部時刻を補正することが困難であった。
上記課題に鑑み、センサからのアップロード情報に基づき正確な時刻の補正を行うことが可能な時刻補正装置、時刻補正方法、およびプログラムを提供する。
ひとつの態様である時刻補正装置は、受信部、計時部、通信時間計算部、モデル保持部、モデル更新部、および時刻補正部を有している。受信部は、外部の装置の内部時刻に基づく送信時刻を含む情報を受信することを特徴としている。計時部は、基準時刻を保持する。通信時間計算部は、送信時刻から基準時刻に基づく情報を受信した受信時刻までの通信時間を計算する。モデル保持部は、通信時間の分布を予測した通信時間分布モデルを保持する。モデル更新部は、計算された通信時間に基づき通信時間分布モデルを更新する。時刻補正部は、更新された前記通信時間分布モデルに基づき、前記送信時刻のずれを補正する。
別の態様である時刻補正方法においては、時刻補正装置の外部の装置の内部時刻に基づく送信時刻を含む情報を受信し、前記送信時刻から前記時刻補正装置内の基準時刻に基づく前記情報を受信した受信時刻までの通信時間を算出する。また、前記通信時間の分布を予測した通信時間分布モデルを、前記通信時間に基づき更新し、更新された前記通信時間分布モデルに基づき、前記送信時刻のずれを補正することを特徴としている。
なお、上述した本発明に係る方法をコンピュータに行わせるためのプログラムであっても、このプログラムを当該コンピュータによって実行させることにより、上述した本発明に係る方法と同様の作用・効果を奏するので、前述した課題が解決される。
上述した態様の時刻補正装置、時刻補正方法、およびプログラムによれば、センサからのアップロード情報に基づき正確な時刻の補正を行うことが可能となる。
一実施の形態による時刻補正システムの構成を示すブロック図である。 一実施の形態による時刻補正システムにおけるサーバの機能を示すブロック図である。 一実施の形態による通信時間の予測される分布の一例を示す図である。 一実施の形態による内部時刻の予測されるずれの一例を示す図である。 一実施の形態による送信時刻と通信時間との関係の一例を示す図である。 一実施の形態による時刻補正システムの動作を示すフローチャートである。 一実施の形態による時刻補正システムの動作を示すフローチャートである。 一実施の形態による通信時間履歴の一例を示す図である。 一実施の形態によるセンサ情報の一例を示す図である。 一実施の形態による通信時間履歴の一例を示す図である。 一実施の形態による時刻補正後のセンサ情報の一例を示す図である。 一実施の形態によるNTP発生推定時刻が設定し直された後の通信時間履歴の一例を示す図である。 標準的なコンピュータの構成の一例を示す図である。
以下、一実施の形態による時刻補正システムについて図面を参照しながら説明する。図1は、時刻補正システム1の構成を示すブロック図である。図1に示すように、時刻補正システム1は、サーバ3、少なくとも一つのセンサ20およびNetwork Time Protocol(NTP)サーバ37が、ネットワーク35を介して接続されたシステムである。サーバ3は、ネットワーク35を介して少なくとも一つのセンサ20から各種の計測値を取得する情報処理装置である。センサ20は、各種の計測値を取得し、ネットワーク35を介してサーバ3に送信する計測装置である。ネットワーク35は、インターネット、Local Area Network等の通信網である。
サーバ3は、Central Processing Unit(CPU)5、記憶装置9、時計11、入出力装置13、通信装置15を有しており、互いにバス17を介して接続されている。
CPU5は、サーバ3全体の動作を制御する演算処理装置である。記憶装置9は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)、およびハードディスクなどの記憶装置およびその駆動装置を含む。記憶装置9は、例えばサーバ3の動作を制御するプログラム等各種制御プログラムを予め記憶したり、プログラムを実行する際に必要に応じて作業領域として使用したりするための記憶部である。CPU5は、記憶装置9に記録されている所定の制御プログラムを読み出して実行することによって、各種の制御処理を行うようにすることができる。
時計11は、NTPサーバ37による時刻(以下、基準時刻という)を保持する計時装置である。時計11は、NTPサーバ37に例えば所定時間毎にアクセスして時刻を更新することが好ましい。この更新を行う間隔を、時計11が基準時刻を保持するのに十分な時間に短く設定することにより、時計11が基準時刻を保持するように構成する。
入出力装置13は、入力装置および出力装置の総称である。入力装置は、サーバ3の使用者により操作されると、その操作内容に対応付けられている使用者からの各種情報の入力を取得し、取得した入力情報をCPU7に送付する装置であり、例えばキーボード装置、マウス装置などである。出力装置は、サーバ3による処理結果を出力する装置であり、表示装置などが含まれる。例えば表示装置は、CPU5により送付される表示データに応じてテキストや画像を表示する。
通信装置15は、有線または無線により外部との間で行われる各種データの授受の管理を行うインタフェース装置である。バス17は、上記各装置等を互いに接続し、データのやり取りを行う通信経路である。
センサ20は、例えばROM、RAM等を含む記憶装置21、CPU23、検出部25、時計27、通信装置29を有し、互いにバス31を介して接続されている。センサ20は、各種の計測を行い、ネットワーク35を介して計測値および送信時刻を送信する計測装置である。
CPU23は、センサ20全体の動作を制御する演算処理装置である。記憶装置21は、例えばセンサ20の動作を制御する各種制御プログラムを予め記憶したり、プログラムを実行する際に必要に応じて作業領域として使用したりするための記憶装置である。CPU23は、記憶装置21に記録されている所定の制御プログラムを読み出して実行することによって、各種の制御処理を行うようにすることもできる。
検出部25は、各種の計測値を検出するセンサである。通信装置29は、有線または無線により外部との間で行われる各種データの授受の管理を行うインタフェース装置である。バス31は、上記各装置等を互いに接続し、データのやり取りを行う通信経路である。
図2は、時刻補正システム1におけるサーバ3の機能を示すブロック図である。図2に示すように、サーバ3のCPU5は、通信時間計算部41、モデル更新部43、発生確率計算部45、NTP時刻更新部47、および時刻補正部49の機能を有している。記憶装置9は、通信時間履歴記憶部51および通信時間モデル記憶部53を有している。
通信時間計算部41は、通信装置15がセンサ20から受信したセンサ情報61に含まれる送信時刻と、情報を受信した受信時刻とから、通信時間を計算する。また、通信時間計算部41は、計算した結果を通信時間履歴記憶部51に記憶させる。
モデル更新部43は、通信時間計算部41で計算された通信時間のモデルを更新する。また、モデル更新部43は、更新したモデルを通信時間モデル記憶部53に記憶させる。モデルについては後述する。
発生確率計算部45は、モデル更新部43で更新され、通信時間モデル記憶部53に記憶されたモデルに基づいて、通信時間計算部41で計算され、通信時間履歴記憶部51に記憶された通信時間の発生確率を計算する。
NTP時刻更新部47は、発生確率計算部45で計算された発生確率が所定の閾値以下の時には、センサ20においてNTP時刻更新が行われたと判断し、通信時間履歴記憶部51および通信時間モデル記憶部53においてNTP時刻の更新を行う。以下、NTP時刻更新が行われたと推定される時刻を、NTP発生推定時刻という。
時刻補正部49は、発生確率計算部45で計算された発生確率が所定の閾値より大きい場合に、NTP時刻更新は行われていないと判断し、内部時刻を補正する。また、時刻補正部49は、補正された時刻補正済みのセンサ情報63を出力し、通信時間履歴Sを更新する。
通信時間履歴記憶部51は、通信時間履歴Sを保持している。通信時間履歴Sは、前回のNTP発生推定時刻tNTP以降にアップロードされたセンサ情報61と通信時間とを保持している。センサ情報61とは、センサ20の検出部25が検出した計測値と、センサ20からサーバ3へのセンサ情報61の送信時刻(センサ20の内部時刻の下での送信時刻)を含む情報である。
ここで、図3から図5を参照しながら、内部時刻の補正に用いるモデルについて説明する。一組のセンサ20とサーバ3を考える。まず、センサ20の内部時刻がサーバ3内部の時刻と一致していると仮定した場合の、センサ20からサーバ3への通信時間xを考える。通信時間xは、「最適ケースの通信時間」と、確率的に長さが決定される「通信時間ノイズ」の和であると考えられる。
図3は、通信時間の予測される分布の一例を示す図、図4は、内部時刻の予測されるずれの一例を示す図である。このとき、通信時間xの分布は、確率分布p(x)に従うと予測される。図3において、横軸は通信時間x、縦軸は、通信時間xの確率分布p(x)を示す。図3に示すように、予測される通信時間の分布は、下記の式1で表すことができる。
p(x)=c(γ)exp(−(x−δ)/γ) (x≧δ)・・・(式1)
但し、
δ:最適ケースの通信時間を表すパラメータ
γ:通信時間ノイズのばらつき具合を表すパラメータ
c(γ):p(x)の総和を1にするための係数
である。このモデルでは、c(γ)=1/γとなる。このとき、p(x)の総和が常に1であることは簡単に計算できる。
次に、時刻t(ここでは、t≧tTNP)における、サーバ3に対するセンサの内部時刻のずれy(t)を考える。図4においては、横軸はセンサ20の内部時刻t、縦軸は、センサ20の内部時刻tのサーバ3の内部時刻に対するずれy(t)を示している。図4に示すように、ずれy(t)は、センサでのNTP発生時(t=tNTP)に0であり、NTPからの経過時刻に比例すると考えられ、下記の式2で表すことができる。
y(t)=α(t−tNTP)・・・(式2)
NTP:前回のNTP発生時刻
α:センサの内部時刻のずれの広がり方を表すパラメータ
最後に、サーバ3で計測される通信時間(サーバ3の受信時刻とセンサ20の送信時刻との差)zを考える。ここで、サーバ3の受信時刻はサーバ3の内部時刻に基づいて測定され、センサの送信時刻はセンサ20の内部時刻に基づいて測定されたものである。よって、通信時間zは「最適ケースの通信時間」と「通信時間ノイズ」と「サーバに対するセンサの内部時刻のずれ」の和であると考えられる。したがって、通信時間zは、確率分布q(t、z)に従う。
q(t、z)=1/γ・exp(−(z−αt−β))/γ)(z≧αt+β)・・・(式3)
但し、β=δ−αtNTPである。
このモデルを用いた時刻補正の概要は以下のとおりである。すなわち、サーバ3で計測される通信時間zの通信時間履歴Sを式3の確率分布q(t、z)にあてはめ、その発生確率を計算する。発生確率が十分小さくなったら、すなわち、通信時間履歴Sが確率分布q(t、z)にあてはまらなくなったら、その時刻をセンサ20でNTPが発生したNTP発生時刻tNTPとみなす。NTP発生時刻tNTPが分かれば、サーバ3の内部時刻に対するセンサ20の内部時刻のずれはα(t−tNTP)で推定できるので、センサ20の内部時刻を補正できる。
図5は、送信時刻t(センサ20の内部時刻tに基づく時刻であるので、同一の符号で表す)と通信時間zとの関係の一例を示す図である。図5において、横軸は送信時刻t、縦軸は、通信時間zである。折れ線グラフ72は、送信時刻t(i)(iは、データの送信順を表す整数)と対応する通信時間z(i)とを表す点(t(i)、z(i))を互いに結んだグラフである。
図5に示すように、通信時間zは、送信時刻tに対し、例えば点P1、P2において、突然大きく変動しており、NTP時刻更新が行われたと考えられる。また、点P1〜P2の間は、通信時間zの最低値を結んだ包絡線70(破線で表している)が直線に近い関係を示している。
点P1、P2は、上述のように、センサ20内部においてNTPサーバ37へのアクセスによる内部時刻の補正が行われたことを示していると考えられ、このとき、センサ20の内部時刻とサーバ3の内部時刻は、合致していると考えられる。また、点P1〜P2の間は、センサ20の内部時刻が、サーバ3の内部時刻に対して、一定の割合で変化していると考えられる。すなわち、上述のように、この間の通信時間zは、下記の式で表されると考えられる。
z=α(t−tNTP)+δ・・・(式4)
よって、このとき、センサ20の内部時刻とサーバ3内部で保持されている基準時刻とのずれは、α(t−tNTP)と推定される。
次に、図6から図10を参照しながら、本実施の形態による時刻補正システム1の動作について説明する。図6、図7は、時刻補正システム1の動作を示すフローチャートである。時刻補正システム1においては、センサ20からサーバ3に、センサ情報61が不定期にアップロードされているとする。
図6に示すように、まずCPU5は、通信時間履歴記憶部51の通信時間履歴Sを空にする。すなわち、履歴の数n=0である。通信装置15は、センサ情報61を受信する(S102)。一方、CPU5は、受信が行われたことを判別するまで判別を繰り返す(S103:NO)。
CPU5が、通信装置15によりセンサ情報61の受信が行われたことを判別すると(S103:YES)、通信時間計算部41は、センサ情報61を取得する。また、通信時間計算部41は、センサ情報61に含まれたセンサ20の内部時刻に基づく送信時刻と、サーバ3における受信時刻とに基づき、通信時間zを計算する(S104)。さらに通信時間計算部41は、取得したセンサ情報61、および計算結果を通信時間履歴Sに追加する。
以降では、通信時間履歴Sはn個の情報を保持しており、保持している中でi番目にアップロードされた情報の送信時刻をt(i)、そのときの通信時間をz(i)とする。通信時間計算部41は、サーバ3の内部時刻の下での受信時刻u(i)を計測するとともに、通信時間z(i)をz(i)=u(i)−t(i)により計算する。
図8に、n=2の場合の通信時間履歴Sの例を示す。図8に示すように、n=1において、送信時刻t(1)=2011/4/1 0:00:00、このとき通信時間z(1)=200(ミリ秒)である。ここで、NTP発生時刻tNTP=t(1)である。n=2においては、送信時刻t(2)=2011/4/1 0:01:00、このとき通信時間z(2)=400(ミリ秒)である。
図9に、センサ情報61の一例を示す。図9に示すように、通信装置15は、n=3において、例えば、センサ値=10000、送信時刻t(3)=2011/4/1 0:02:00を含むセンサ情報61を受信したとする。このとき、通信時間計算部41は、上記センサ情報61の受信時刻を受信時刻u(3)=2011/4/1 0:02:00.300であると取得する。
この例では、受信時刻と送信時刻との差は300ミリ秒であるから、z(3)=300(ミリ秒)であり、通信時間計算部41は、算出した結果を通信時間履歴Sに記憶する。図10は、n=3の場合の通信時間履歴Sの一例を示している。図10に示すように、通信時間履歴Sには、n=3に関するデータが一行追加されることになる(S105)。
通信時間計算部41は、ここで、n>1であるか否か判別する(S106)。n>1でない場合には(S106:YES)、S102に戻って、次のセンサ情報61の受信を待つ。n>1の場合には(S106:YES)、CPU5は処理を107に進める。
以下、モデル更新部43は、通信時間モデルの確率分布q(t、z)のパラメータα、β、γを推定し直す。パラメータα、β、γは、以下の方法で推定できる。まず、モデル更新部43は、S107において、図5の折れ線グラフ72のような、複数の送信時刻t(i)とそれぞれより計算された通信時間z(i)とにより、例えば点P1〜P2において最小二乗法で得られる傾きをパラメータαとみなす。
ここで、モデル更新部43は、NTP時刻更新が既に発生しているか否かを判別する(S121)。NTP時刻更新が発生しているか否かは、後述するS127において、通信時間履歴Sの発生確率が閾値以下であると判別された際に、NTP時刻更新が発生していることを示すフラグを立てるなどの記録を行うことにより、判別することができる。
例えば上記フラグなどにより、NTP時刻更新が発生済みと判別された場合には(S121:YES)、モデル更新部43は、得られたパラメータαのもとで、通信時間履歴Sの全てのx(i)=z(i)−α(t(i)−tNTP)の最小値をδとする(式6)。
なお、NTP時刻更新の発生が推定されていない場合は(S121:NO)、モデル更新部43は、δ=0と仮定して(S123)、NTP発生推定時刻tNTPを下記の式7により更新する(S124、式7)。
さらに、モデル更新部43は、得られたパラメータα、δのもとで、モデル更新部43は、i=1〜nにおける確率分布q(t、z)の発生確率を最大にするγを求める(S125、式8)。
ただし、D(i)=−(z(i)−α(t(i)−tNTP)−δ)である。
このγは下記の式9により簡単に求めることができる。
例えば、図10の通信時間履歴Sの場合、以下のα、δ、γが得られる。
α=0.05
δ=200(ミリ秒)
γ=50(ミリ秒)
ここで図5を再び参照する。上記のようにしてモデル更新部43で得られたパラメータα、γ、δを用いて表される、z=α(t−tNTP)+δは、図5の直線70となる。なお、図5に示した例は、図10の通信時間履歴Sの例とは別の数値例となっている。
直線70において、点P1では送信時刻t=tNTP、通信時間z=δである。また、z=α(t−tNTP)+δは、「サーバに対するセンサの内部時刻のずれ」と「最適ケースの通信時間」の和を表しており、点(t(i)、z(i))と直線70との差が「通信時間ノイズ」を表している。
次に、発生確率計算部45は、推定し直したパラメータα、β、γのもとで、通信時間履歴Sにおける確率分布q(t(i)、z(i))による発生確率を計算する(S126)。この発生確率は、例えば、以下の計算式で求めることができる。
ここで、確率分布q(t、z)の最大値は1/γであるから、γq(t、z)の最大値は1であり、単に確率分布q(t(i)、z(i))の積をとるのと比較すると、パラメータγやセンサ情報61の数nの影響を受けにくい発生確率になっていることが分かる。例えば、図10の通信時間履歴Sの場合には、発生確率として0.05が得られる。
次に、発生確率計算部45は、求めた発生確率が予め与えられた閾値を上回っているか否か判別する(S127)。発生確率が閾値を上回っている場合には(S127:YES)、時刻補正部49は、センサ情報61に含まれる送信時刻t(i)からα(t(i)−tNTP)を減ずることで、センサ20から受け取ったセンサ情報61の送信時刻t(i)を補正し(S129)、図6の処理に戻る。
例えば、図10の例では、NTP時刻更新部47における閾値が0.01の場合、発生確率=0.05であるため、NTP発生推定時刻tNTPの設定し直しは発生しない。この場合、時刻補正部49は発信時刻t(i)からα(t(i)−tNTP)=100(ミリ秒)を減ずることで、センサ20から受け取ったセンサ情報61の発信時刻t(i)を補正するとともに、補正した発信時刻t(i)を出力する。
図11は、時刻補正後の補正済センサ情報63の一例を示す図である。図11に示すように、時刻補正部49は、送信時刻を100(ミリ秒)補正する。時刻補正部49は、送信時刻2011/4/1 0:01:59.900、センサ値=10000を含む補正済センサ情報63を出力する。また、CPU5は、送信時刻を補正した補正済センサ情報63により、通信時間履歴記憶部51の通信時間履歴Sを更新する。
発生確率が閾値を上回っていない場合には(S127:NO)、NTP時刻更新部47は、NTP発生推定時刻tNTPを最新のセンサ情報61の発信時刻t(i)に更新する(S130)。この場合、時刻補正部49がセンサ情報61の発信時刻t(i)を補正する必要はない。このとき、センサ20においてNTP時刻更新が発生したと推定し、通信時間履歴Sの最終行以外を削除したのち、NTP発生推定時刻tNTP=t(1)に設定し直す(S131)。
図12は、NTP発生推定時刻tNTPが設定し直された後の通信時間履歴Sの一例を示す図である。図10の例において、仮に閾値が0.1であった場合、通信時間履歴Sは図12に示すように、i=1に対応するデータのみに更新される。なおこの例では、t(1)=tNTP=2011/4/1 0:02:00である。そのときは、センサ20から受け取ったセンサ情報61がそのままセンサ内部時刻補正システムの出力となる。そしてCPU5は、処理を図6のS102に戻す。
以上説明したように、本実施の形態による時刻補正システム1によれば、センサ20からのセンサ情報61の通信時間は、「サーバに対するセンサの内部時刻のずれ」、「最適ケースの通信時間」および「通信時間ノイズ」の和であるとしたモデルを採用している。通信時間計算部41は、センサ20からサーバ3がセンサ情報61を受信するたび通信時間を計算して、通信時間履歴Sに追加する。通信時間履歴Sには、前回のNTP発生以降のセンサ情報61が記録される。モデル更新部43は、センサ20からのセンサ情報61が受信されると、通信時間履歴Sを参照して通信時間分布モデルにおける各パラメータを更新する。
発生確率計算部45は、算出された通信時間について、更新された通信時間分布モデルを用いて発生確率を計算する。発生確率が所定の閾値以下の場合には、NTP時刻更新が発生したとみなして、NTP時刻更新部47は、NTP発生推定時刻を更新する。発生確率が所定の閾値を超えている場合には、時刻補正部49は、通信時間分布モデルの各パラメータとNTP発生推定時刻を用いて、最新のセンサ情報61の内部時刻のずれを推定する。
以上のように、時刻補正システム1によれば、センサ20からサーバ3へセンサ20の内部時刻に基づく送信時刻を含むセンサ情報61のみを送信することにより、センサ情報61の送信時刻を、サーバ3の内部時刻に基づく時刻に補正することが可能になる。時刻補正システム1においては、センサ20からサーバ3への通信を行うだけで時刻の補正が可能であるため、通信を増加させることがない。
また、センサ20に何らかの変更を加えたり、管理を行ったりする必要がなく、センサ20の数や種類にかかわらず、ずれ時間の推定を行うことが可能である。また、例えば式10を用いることにより、時刻補正システム1は、センサ20からサーバ3にセンサ情報61を送信する際のネットワークの混雑等の状況や、センサ情報61のデータ数に影響されずに時刻補正を行なうことができる。このように、時刻補正システム1によれば、簡便な方法で、センサ20とサーバ3との内部時刻のずれを推定し、補正することができる。
各センサのNTP時刻更新を推定することが可能になるため、内部時刻の進み方にばらつきがあり、NTPにより突然時刻が進んだり遅れたりしても、センサ20とサーバ3との内部時刻のずれを推定することが可能になる。また、NTP時刻更新を行うセンサと行わないセンサとが混在していても、それぞれのセンサに応じた送信時刻の補正を行なうことができる。
上記実施の形態において、通信装置15は、受信部の一例であり、時計11は、計時部の一例であり、発生確率計算部45は、確率計算部およびずれ推定部の一例である。また、通信時間モデル記憶部53は、モデル保持部の一例であり、NTP時刻更新部47は、時刻更新部の一例である。
ここで、上記実施の形態による時刻補正方法の動作をコンピュータに行わせるために共通に適用されるコンピュータの例について説明する。図13は、標準的なコンピュータのハードウエア構成の一例を示すブロック図である。図13に示すように、コンピュータ300は、Central Processing Unit(CPU)302、メモリ304、入力装置306、出力装置308、外部記憶装置312、媒体駆動装置314、ネットワーク接続装置等がバス310を介して接続されている。
CPU302は、コンピュータ300全体の動作を制御する演算処理装置である。メモリ304は、コンピュータ300の動作を制御するプログラムを予め記憶したり、プログラムを実行する際に必要に応じて作業領域として使用したりするための記憶部である。メモリ304は、例えばRandom Access Memory(RAM)、Read Only Memory(ROM)等である。入力装置306は、コンピュータの使用者により操作されると、その操作内容に対応付けられている使用者からの各種情報の入力を取得し、取得した入力情報をCPU302に送付する装置であり、例えばキーボード装置、マウス装置などである。出力装置308は、コンピュータ300による処理結果を出力する装置であり、表示装置などが含まれる。例えば表示装置は、CPU302により送付される表示データに応じてテキストや画像を表示する。
外部記憶装置312は、例えば、ハードディスクなどの記憶装置であり、CPU302により実行される各種制御プログラムや、取得したデータ等を記憶しておく装置である。媒体駆動装置314は、可搬記録媒体316に書き込みおよび読み出しを行うための装置である。CPU302は、可搬型記録媒体316に記録されている所定の制御プログラムを、記録媒体駆動装置314を介して読み出して実行することによって、各種の制御処理を行うようにすることもできる。可搬記録媒体316は、例えばConpact Disc(CD)−ROM、Digital Versatile Disc(DVD)、Universal Serial Bus(USB)メモリ等である。ネットワーク接続装置318は、有線または無線により外部との間で行われる各種データの授受の管理を行うインタフェース装置である。バス310は、上記各装置等を互いに接続し、データのやり取りを行う通信経路である。
上記実施の形態による時刻補正方法をコンピュータに実行させるプログラムは、例えば外部記憶装置312に記憶させる。CPU302は、外部記憶装置312からプログラムを読み出し、コンピュータ300に時刻補正の動作を行なわせる。このとき、まず、時刻補正の処理をCPU302に行わせるための制御プログラムを作成して外部記憶装置312に記憶させておく。そして、入力装置306から所定の指示をCPU302に与えて、この制御プログラムを外部記憶装置312から読み出させて実行させるようにする。また、このプログラムは、可搬記録媒体316に記憶するようにしてもよい。
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を採ることができる。例えば、上記通信時間分布モデルは、「サーバに対するセンサの内部時刻のずれ」、「最適ケースの通信時間」および「通信時間ノイズ」に基づくものであれば上記に限定されず、他の形態でもよい。例えば、通信時間の確率分布のモデルは式時刻補正システム1に示した分布に必ずしも限られず、通信時間xがある所定の値δ以上の範囲に分布し、しかも、通信時間xの増加に応じて減少するような分布であれば、他の式で表される分布を用いるようにしてもよい。
サーバ3およびセンサ20の構成は、同様の機能を有するものであれば、本発明の範囲である。また、センサ20は、NTP時刻更新を行わないセンサでもよい。この場合、S121において常に「NO」と判定され、δ=0の条件で時刻が補正される。また、上記実施の形態においては、センサを例にして説明したが、内部時刻に基づく送信時刻を送信できるものであれば、センサ以外の、例えば汎用性のあるコンピュータなど他の装置の時刻補正にも適用が可能である。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
外部の装置の内部時刻に基づく送信時刻を含む情報を受信する受信部と、
基準時刻を保持する計時部と、
前記送信時刻から前記基準時刻に基づく前記情報を受信した受信時刻までの通信時間を計算する通信時間計算部と、
前記外部の装置との通信時間の分布を表す通信時間分布モデルを保持するモデル保持部と、
計算された前記通信時間に基づき前記通信時間分布モデルを更新するモデル更新部と、
更新された前記通信時間分布モデルに基づき、前記送信時刻のずれを補正する時刻補正部と、
を有することを特徴とする時刻補正装置。
(付記2)
前記モデル更新部により更新された前記通信時間分布モデルに基づき、計算された前記通信時間の発生確率を計算する確率計算部と、
前記発生確率が所定の値以下の場合に、前記外部の装置における前記内部時刻を前記基準時刻と一致させる時刻更新処理の発生時刻を更新する時刻更新部とと、
を有することを特徴とする付記1に記載の時刻補正装置。
(付記3)
前記確率計算部は、前記発生確率が所定の値以下の場合には、前記時刻更新処理が行われたと推定し、
前記時刻更新部は、前記時刻更新処理が行われた時刻を更新し、
前記確率計算部は、前記発生確率が所定の値を超えている場合には、前記時刻更新処理は行われていないと推定し、
前記時刻補正部は、直前の前記時刻更新処理が発生した時刻に基づき前記送信時刻を補正する
ことを特徴とする付記2に記載の時刻補正装置。
(付記4)
前記通信時間分布モデルは、前記外部の装置における前記内部時刻のずれを表す第1のモデルと、前記内部時刻のずれを含まない前記通信時間のばらつきの分布を表す第2のモデルとに基づくことを特徴とする付記3に記載の時刻補正装置。
(付記5)
前記通信時間分布モデルにおける通信時間は、前記第1のモデルによる前記内部時刻のずれと、前記第2のモデルによる前記通信時間の分布と、前記内部時刻のずれおよび前記通信時間の差異を含まない場合の真の通信時間との和であることを特徴とする付記4に記載の時刻補正装置。
(付記6)
前記第2のモデルによる前記通信時間の分布は、確率的に長さが決定されるノイズによるものであり、確率分布に従うことを特徴とする付記4または付記5に記載の時刻補正装置。
(付記7)
前記第1のモデルによる前記内部時刻のずれは、前記時刻更新処理が発生した時刻からの経過時間に比例することを特徴とする付記4から付記6のいずれかに記載の時刻補正装置。
(付記8)
時刻補正装置の外部の装置の内部時刻に基づく送信時刻を含む情報を受信し、
前記送信時刻から前記時刻補正装置内の基準時刻に基づく前記情報を受信した受信時刻までの通信時間を算出し、
前記通信時間の分布を予測した通信時間分布モデルを、前記通信時間に基づき更新し、
更新された前記通信時間分布モデルに基づき、前記送信時刻のずれを補正する
ことを特徴とする時刻補正方法。
(付記9)
前記モデル更新部により更新された前記通信時間分布モデルに基づき、計算された前記通信時間の発生確率を計算し、
前記発生確率が所定の値以下の場合に、前記外部の装置における前記内部時刻を前記基準時刻と一致させる時刻更新処理の発生時刻を更新する、
ことを特徴とする付記8に記載の時刻補正方法。
(付記10)
前記発生確率が所定の値以下の場合には、前記時刻更新処理が行われたと推定し、
前記時刻更新処理が行われた時刻を更新し、
前記発生確率が所定の値を超えている場合には、前記時刻更新処理は行われていないと推定し、
直前の前記時刻更新処理が発生した時刻に基づき前記送信時刻を補正する
ことを特徴とする付記9に記載の時刻補正方法。
(付記11)
前記通信時間分布モデルは、前記外部の装置における前記内部時刻のずれを表す第1のモデルと、前記内部時刻のずれを含まない前記通信時間のばらつきの分布を表す第2のモデルとに基づくことを特徴とする付記10に記載の時刻補正方法。
(付記12)
前記通信時間分布モデルにおける通信時間は、前記第1のモデルによる前記内部時刻のずれと、前記第2のモデルによる前記通信時間の分布と、前記内部時刻のずれおよび前記通信時間の差異を含まない場合の真の通信時間との和であることを特徴とする付記9に記載の時刻補正方法。
(付記13)
前記第2のモデルによる前記通信時間の分布は、確率的に長さが決定されるノイズによるものであり、確率分布に従うことを特徴とする付記11または付記12に記載の時刻補正方法。
(付記14)
前記第1のモデルによる前記内部時刻のずれは、前記時刻更新処理が発生した時刻からの経過時間に比例することを特徴とする付記11から付記13のいずれかに記載の時刻補正方法。
(付記15)
時刻補正装置の外部の装置の内部時刻に基づく送信時刻を含む情報を受信し、
前記送信時刻から前記時刻補正装置内の基準時刻に基づく前記情報を受信した受信時刻までの通信時間を算出し、
前記通信時間の前記内部時刻に対する予測される分布を表す通信時間分布モデルを、前記通信時間に基づき更新し、
更新された前記通信時間分布モデルに基づき、前記送信時刻のずれを補正する処理をコンピュータに実行させるためのプログラム。
1 時刻補正システム
3 サーバ
5 CPU
9 記憶装置
11 時計
13 入出力装置
15 通信装置
17 バス
20 センサ
21 記憶装置
23 CPU
25 検出部
27 時計
29 通信装置
31 バス
35 ネットワーク
37 NTPサーバ
41 通信時間計算部
43 モデル更新部
45 発生確率計算部
47 NTP時刻更新部
49 時刻補正部
51 通信時間履歴記憶部
53 通信時間モデル記憶部
61 センサ情報
63 補正済センサ情報

Claims (9)

  1. 内部時刻を基準時刻と一致させる時刻更新処理を行う外部の装置の内部時刻に基づく送信時刻を含む情報を受信する受信部と、
    基準時刻を保持する計時部と、
    前記送信時刻から前記基準時刻に基づく前記情報を受信した受信時刻までの通信時間を計算する通信時間計算部と、
    前記外部の装置との通信時間の分布を表す通信時間分布モデルを保持するモデル保持部と、
    計算された前記通信時間に基づき前記通信時間分布モデルを更新するモデル更新部と、
    更新された前記通信時間分布モデルに基づき、前記送信時刻のずれを補正する時刻補正部と、
    を有することを特徴とする時刻補正装置。
  2. 前記モデル更新部により更新された前記通信時間分布モデルに基づき、計算された前記通信時間の発生確率を計算する確率計算部と、
    前記発生確率が所定の値以下の場合に、前記外部の装置における前記内部時刻を前記基準時刻と一致させる時刻更新処理の発生時刻を更新する時刻更新部と、
    を有することを特徴とする請求項1に記載の時刻補正装置。
  3. 前記確率計算部は、前記発生確率が所定の値以下の場合には、前記時刻更新処理が行われたと推定し、
    前記時刻更新部は、前記時刻更新処理が行われた時刻を更新し、
    前記確率計算部は、前記発生確率が所定の値を超えている場合には、前記時刻更新処理は行われていないと推定し、
    前記時刻補正部は、直前の前記時刻更新処理が発生した時刻に基づき前記送信時刻を補正する
    ことを特徴とする請求項2に記載の時刻補正装置。
  4. 前記通信時間分布モデルは、前記外部の装置における前記内部時刻のずれを表す第1のモデルと、前記内部時刻のずれを含まない前記通信時間のばらつきの分布を表す第2のモデルとに基づくことを特徴とする請求項3に記載の時刻補正装置。
  5. 前記通信時間分布モデルにおける通信時間は、前記第1のモデルによる前記内部時刻のずれと、前記第2のモデルによる前記通信時間の分布と、前記内部時刻のずれおよび前記通信時間の差異を含まない場合の真の通信時間との和であることを特徴とする請求項4に記載の時刻補正装置。
  6. 前記第2のモデルによる前記通信時間の分布は、確率的に長さが決定されるノイズによるものであり、確率分布に従うことを特徴とする請求項4または請求項5に記載の時刻補正装置。
  7. 前記第1のモデルによる前記内部時刻のずれは、前記時刻更新処理が発生した時刻からの経過時間に比例することを特徴とする請求項4から請求項6のいずれかに記載の時刻補正装置。
  8. 時刻補正装置の外部の装置であって、内部時刻を基準時刻と一致させる時刻更新処理を行う前記外部の装置の内部時刻に基づく送信時刻を含む情報を受信し、
    前記送信時刻から前記時刻補正装置内の基準時刻に基づく前記情報を受信した受信時刻までの通信時間を算出し、
    前記通信時間の分布を予測した通信時間分布モデルを、前記通信時間に基づき更新し、
    更新された前記通信時間分布モデルに基づき、前記送信時刻のずれを補正する
    ことを特徴とする時刻補正方法。
  9. 時刻補正装置の外部の装置であって、内部時刻を基準時刻と一致させる時刻更新処理を行う前記外部の装置の内部時刻に基づく送信時刻を含む情報を受信し、
    前記送信時刻から前記時刻補正装置内の基準時刻に基づく前記情報を受信した受信時刻までの通信時間を算出し、
    前記通信時間の前記内部時刻に対する予測される分布を表す通信時間分布モデルを、前記通信時間に基づき更新し、
    更新された前記通信時間分布モデルに基づき、前記送信時刻のずれを補正する処理をコンピュータに実行させるためのプログラム。
JP2011163911A 2011-07-27 2011-07-27 時刻補正装置、時刻補正方法、およびプログラム Expired - Fee Related JP5811663B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011163911A JP5811663B2 (ja) 2011-07-27 2011-07-27 時刻補正装置、時刻補正方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011163911A JP5811663B2 (ja) 2011-07-27 2011-07-27 時刻補正装置、時刻補正方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2013029340A JP2013029340A (ja) 2013-02-07
JP5811663B2 true JP5811663B2 (ja) 2015-11-11

Family

ID=47786523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011163911A Expired - Fee Related JP5811663B2 (ja) 2011-07-27 2011-07-27 時刻補正装置、時刻補正方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP5811663B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6672511B1 (ja) 2019-07-09 2020-03-25 株式会社東芝 センサシステム、送信端末、時刻情報処理装置及び同期方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3615357B2 (ja) * 1997-07-01 2005-02-02 日本電信電話株式会社 時計同期方法および装置および記録媒体
JP2000253466A (ja) * 1999-02-25 2000-09-14 Osaka Gas Co Ltd ロードサーベイシステム,中央装置及び端末装置
JP2005069749A (ja) * 2003-08-21 2005-03-17 Yokogawa Electric Corp 時刻補正方法、ネットワーク品質評価測定方法およびネットワーク品質評価装置
JP5025130B2 (ja) * 2005-12-27 2012-09-12 株式会社日立製作所 通信装置および通信方法ならびに通信方式

Also Published As

Publication number Publication date
JP2013029340A (ja) 2013-02-07

Similar Documents

Publication Publication Date Title
CN110337679B (zh) 感测系统及时间戳校正方法
US9176498B2 (en) Control that estimates delayed manipulated variables
US8347197B2 (en) Terminal device, time adjusting method of terminal device and communication system
US10139253B2 (en) Adjustment of interrupt timestamps of signals from a sensor based on an estimated sampling rate of the sensor
JP6487386B2 (ja) 時刻精度を維持するためのサーバ、方法、プログラム、記録媒体、及びシステム
JP2008525772A (ja) センサー機能の監視方法
JP6159594B2 (ja) 観測値処理装置、観測値処理方法及び観測値処理プログラム
CN104517178B (zh) 用于动态工作流优先级确定和任务分配的方法和系统
JP2017138262A (ja) 位置推定システム
CN112395120A (zh) 异常点检测方法、装置、设备及存储介质
JP2007214670A (ja) クライアント装置およびプログラム
JP6605863B2 (ja) 電子装置、方法、プログラム、及び保護システム
JP5811663B2 (ja) 時刻補正装置、時刻補正方法、およびプログラム
US8307120B2 (en) Resource information managing device, system, method, and program
JP5372315B2 (ja) テレメーターシステムの子局装置
JP5814761B2 (ja) Co2濃度のベースライン補正装置および方法
JP2019213033A (ja) 時刻付与方法、時刻付与装置及びプログラム
JP2010238105A (ja) 平常/非平常判定システム、方法及びプログラム
CN109286461B (zh) 用于匹配在检测传感器数据时的时间戳的方法
US11281430B2 (en) Random number generation device, information processing device, and random number generation method
JP2008077376A (ja) シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
JP2012132746A (ja) データロガー、データロガーの計測処理方法およびプログラム
JP6778760B2 (ja) 制御装置、制御方法、および制御プログラム
JP2018049604A (ja) センサネットワーク端末、センサネットワークシステム、収集装置及び通信方法
US20220206456A1 (en) Information processing apparatus, information processing method, and information processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140404

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150324

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150825

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150907

R150 Certificate of patent or registration of utility model

Ref document number: 5811663

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees