(57)【要約】【課題】同期処理の頻度を増やすことなく、データの時刻精度を維持するサーバ、方法、プログラム、記録媒体、及びシステムを提供する。【解決手段】サーバの時刻と電子機器の時刻との同期処理をサーバ時刻Ｔ１において行う同期部と、前記サーバ時刻Ｔ１から、前記同期部が、前記サーバ時刻Ｔ１の後のサーバ時刻Ｔ２において、前記サーバの時刻と前記電子機器の時刻との同期処理を行うまでの間に、前記電子機器から複数のｎ個のデータを前記時刻データとともに収集する収集部と、前記サーバ時刻Ｔ２と、前記サーバ時刻Ｔ２に対応するデータに付加される時刻データＴ２’との時間差である同期ずれ量を用いて、前記ｎ個のデータに付加される時刻データを補正する補正部とを備える。【選択図】図１
2018013460.tif 000002
【特許請求の範囲】
【請求項１】
電子機器からデータを当該データに対応する前記電子機器の時刻データとともに定期的に収集し、収集した前記データに対応する前記電子機器の時刻データを補正するサーバであって、
前記サーバの時刻と前記電子機器の時刻との同期処理をサーバ時刻Ｔ１において前記電子機器に対して行うとともに、予め設定される時間間隔に達するサーバ時刻Ｔ２において、前記サーバの時刻と前記電子機器の時刻との同期処理を前記電子機器に対して行う同期部と、
前記サーバ時刻Ｔ１における同期処理から、前記サーバ時刻Ｔ２における同期処理までの間に、前記電子機器により複数（ｎ個）のデータをそれぞれ当該データに対応する前記電子機器の時刻データとともに収集する収集部と、
前記サーバ時刻Ｔ２と、前記サーバ時刻Ｔ２に対応する前記電子機器の時刻データＴ２’との時間差である同期ずれ量に基づいて、前記ｎ個のデータにそれぞれ対応する時刻データを補正する補正部とを備えるサーバ。
【請求項２】
同期処理での前記同期ずれ量が、第１の閾値を超えた場合、次回の同期処理までの時間間隔を小さくする請求項１に記載のサーバ。
【請求項３】
同期処理での前記同期ずれ量が、第２の閾値を下回った場合、次回の同期処理までの時間間隔を大きくする請求項１又は２に記載のサーバ。
【請求項４】
同期処理での前記同期ずれ量が変動する場合、次回の同期処理までの時間間隔を小さくする請求項１に記載のサーバ。
【請求項５】
同期処理での前記同期ずれ量が変動しない場合、次回の同期処理までの時間間隔を大きくする請求項１又は４に記載のサーバ。
【請求項６】
電子機器からデータを当該データに対応する前記電子機器の時刻データとともに定期的に収集し、収集した前記データに対応する前記電子機器の時刻データを補正するサーバが実施する方法であって、
前記サーバの時刻と前記電子機器の時刻との同期処理をサーバ時刻Ｔ１において前記電子機器に対して行うとともに、予め設定される時間間隔に達するサーバ時刻Ｔ２において、前記サーバの時刻Ｔ２に基づいて前記電子機器の時刻との同期処理を前記電子機器に対して行う同期ステップと、
前記サーバ時刻Ｔ１における同期処理から、前記サーバ時刻Ｔ２における同期処理までの間に、前記電子機器により複数（ｎ個）のデータをそれぞれ当該データに対応する前記電子機器の時刻データとともに収集する収集ステップと、
前記サーバ時刻Ｔ２と、前記サーバ時刻Ｔ２に対応する前記電子機器の時刻データＴ２’との時間差である同期ずれ量に基づいて、前記ｎ個のデータにそれぞれ対応する時刻データを補正する、補正ステップと、
を実施する方法。
【請求項７】
コンピュータを、電子機器からデータを当該データに対応する前記電子機器の時刻データとともに定期的に収集し、収集した前記データに対応する前記電子機器の時刻データを補正するサーバとして機能させるためのプログラムであって、前記プログラムを前記コンピュータ上で実行することにより、前記コンピュータに、
前記サーバの時刻と前記電子機器の時刻との同期処理をサーバ時刻Ｔ１において前記電子機器に対して行わせるとともに、予め設定される時間間隔に達するサーバの時刻Ｔ２において、前記サーバの時刻Ｔ２に基づいて前記電子機器の時刻との同期処理を前記電子機器に対して行わせ、
前記サーバ時刻Ｔ１における同期処理から、前記サーバ時刻Ｔ２における同期処理までの間に、前記電子機器により複数（ｎ個）のデータをそれぞれ当該データに対応する前記電子機器の時刻データとともに収集する収集処理を行わせ、
前記サーバ時刻Ｔ２と、前記サーバ時刻Ｔ２に対応する前記電子機器の時刻データＴ２’との時間差である同期ずれ量に基づいて、前記ｎ個のデータにそれぞれ対応する時刻データを補正する、補正処理を行わせるためのプログラム。
【請求項８】
請求項７に記載のプログラムを、コンピュータ読み取り可能に格納した記録媒体。
【請求項９】
電子機器と、前記電子機器からデータを当該データに対応する前記電子機器の時刻データとともに定期的に収集し、収集した前記データに対応する前記電子機器の時刻データを補正するサーバとを備えるシステムであって、
前記サーバは、
前記サーバの時刻と前記電子機器の時刻との同期処理をサーバ時刻Ｔ１において前記電子機器に対して行うとともに、予め設定される時間間隔に達するサーバ時刻Ｔ２において、前記サーバの時刻と前記電子機器の時刻との同期処理を前記電子機器に対して行う同期部と、
前記サーバ時刻Ｔ１における同期処理から、前記サーバ時刻Ｔ２における同期処理までの間に、前記電子機器により取得した複数（ｎ個）のデータをそれぞれ当該データに対応する前記電子機器の時刻データとともに収集する収集部と、
前記サーバ時刻Ｔ２と、前記サーバ時刻Ｔ２に対応する前記電子機器の時刻データＴ２’との時間差である同期ずれ量に基づいて、前記ｎ個のデータにそれぞれ対応する時刻データを補正する補正部とを備え、
前記電子機器は、
前記サーバからのサーバ時刻Ｔ１における同期処理に応答して、データを当該データに対応する前記電子機器の時刻データとともに取得するセンサ測定部と、
前記サーバからのサーバ時刻Ｔ２における同期処理に応答して、サーバ時刻Ｔ１からサーバ時刻Ｔ２において取得した複数（ｎ個）のデータと当該データに対応する前記電子機器の時刻データに、サーバ時刻Ｔ２に対応する前記電子機器の時刻Ｔ２’を加えたデータをサーバに送信するセンサ通信部と、
サーバからのサーバの時刻における同期処理に応答して、前記電子機器の時刻を、前記サーバの時刻に合わせるセンサ時計部と、
を備えるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時刻精度を維持するためのサーバ、方法、プログラム、記録媒体、及びシステムに関する。
【背景技術】
【０００２】
従来、規模の大きなシステムや工場等においては、各種物理量を測定する手段として、ネットワークに接続された多数のセンサが配置されている。それぞれのセンサが取得した測定量は、測定した時刻とともにサーバにより収集され、時刻が同期していることを前提として利用される。このため、それぞれのセンサが取得した測定量を利用するためには、各センサの取得したデータの時刻が同期されている必要がある。データの時刻に関連する技術として、以下の発明がある。
【０００３】
特許文献１には、プラント内にある複数の測定器の測定時間の同期を図るために、ネットワークを介してセンタの測定管理装置より所定のタイミングで時刻情報を測定器に送り、測定器の時刻同期を行い、測定データを収集する発明が開示されている。しかし、特許文献１に係る発明においては、測定開始時に時刻同期を行い、複数回データを取得するが、時間が経過しデータの後半になるにつれて、取得されるデータの測定時刻誤差が拡大していく問題がある。
【０００４】
特許文献２には、センサネットワークによりセンサ端末から情報を収集する分散計測システムにおいて、測定時にセンサより取得した測定時間をサーバ側でサーバの基準時間に修正して各センサの測定時間を同期させる方法が開示されている。しかし、特許文献２に係る発明においては、測定開始毎に測定時間の修正を行っており、時刻精度を維持するためには、データ取得毎に同期を行う必要がある。このため、時刻の精度を維持するためには、センサ端末の時刻同期を頻繁に行う必要があり、ネットワークの通信帯域、処理能力を圧迫する問題がある。
【０００５】
特許文献３には、ネットワーク経由による無線端末を使ったデータ収集システムにおいて、データ収集時にホストより時刻情報を端末に送り、端末は自機の時計をその時刻情報に修正して測定データをホストに送り測定時間の同期を図る方法が開示されている。しかし、特許文献３に係る発明においても、時刻精度を維持するためには、データ取得毎にホストより時刻情報を端末に送り、端末は自機の時計をその時刻情報に修正する必要がある。このため、時刻の精度を維持するためには、ホストから時刻情報を端末センサ端末に頻繁に送信する必要があり、ネットワークの通信帯域、処理能力を圧迫する問題がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−１６２１０８号公報
【特許文献２】特許第４９２６７５２号公報
【特許文献３】特許第５０８１８７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記のように、従来技術では、時刻同期を行っても各センサのクロックの偏差によって徐々にサーバとセンサとの時刻がずれるため、時刻の精度を維持するためにはセンサの時刻同期を頻繁に行う必要があり、ネットワークの通信帯域、処理能力を圧迫し、連続して高速にデータを測定することはできない。
【０００８】
これを図示したのが、図８である。サーバ５１０に多数のセンサが接続されることによりネットワークが構成されており、各センサは時計部を有し、所定の周期でセンサが取得したデータをセンサの備える時計部に基づく時刻情報とともに、サーバに送信する。図８に例示した２つのセンサを例として説明する。サーバ５１０は時計部５１５を、センサ５２０は時計部５２５を、センサ５３０は時計部５３５を有するとする。また、時刻Ｔ１において、サーバ５１０の時計部５１５と、センサ５２０の時計部５２５及びセンサ５３０の時計部５３５とで同期を行うとする。
ここで、サーバ５１０の時計部５１５と、センサ５２０の時計部５２５とではクロック信号の周期が同一ではない。したがって、センサ５２０が時間の経過に伴ってセンシングするデータであるＤａ１,Ｄａ２,・・・,Ｄａｎの各々に、センサ時刻であるＴａ１,Ｔａ２,・・・,Ｔａｎが付加される場合、これらのセンサ時刻と、各々が対応するサーバ時刻であるＴｓ１,Ｔｓ２,・・・,Ｔｓｎとの間には偏差が生じる。更に、時間が経過するに従って、双方の間の偏差も大きくなる。
同様に、サーバ５１０の時計部５１５と、センサ５３０の時計部５３５も、クロック信号の周期が同一ではない。したがって、センサ５３０が時間の経過に伴って検知するデータであるＤｂ１,Ｄｂ２,・・・,Ｄｂｎの各々に、センサ時刻であるＴｂ１,Ｔｂ２,・・・,Ｔｂｎが付加される場合、これらのセンサ時刻と、各々が対応するサーバ時刻であるＴｓ１,Ｔｓ２,・・・,Ｔｓｎとの間には偏差が生じる。更に、時間が経過するに従って、双方の間の偏差も大きくなる。
上記のようにサーバ時刻と各センサ時刻との間の偏差は、時間の経過とともに大きくなるが、各センサによって、自身のセンサ時刻とサーバ時刻との間の偏差は異なる。したがって、サーバ−センサ間のみならず、センサ同士の間でも、双方のセンサ時刻の間の偏差は時間とともに大きくなる。
このため、サーバの時刻と多数のセンサの時刻との偏差を小さくし、時刻の精度を維持するためには、例えば、偏差の大きくなるセンサに合わせて、全てのセンサの同期を行うように、センサの時刻同期を頻繁に行う必要がある。しかしながら、そのようにするとネットワークの通信帯域、処理能力を圧迫することとなり、連続して高速にデータを測定することができないという問題がある。
【０００９】
そこで、本発明は、サーバとセンサ間の時刻同期処理の頻度を増やすことなく、センサから収集するデータの時刻精度を維持するためのサーバ、方法、プログラム、記録媒体、及びシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
電子機器（例えば、後述のセンサ１５）からデータを当該データに対応する前記電子機器の時刻データとともに定期的に収集し、収集した前記データに対応する前記電子機器の時刻データを補正するサーバであって、前記サーバの時刻と前記電子機器の時刻との同期処理をサーバ時刻Ｔ１において前記電子機器に対して行うとともに、予め設定される時間間隔に達するサーバ時刻Ｔ２において、前記サーバの時刻と前記電子機器の時刻との同期処理を前記電子機器に対して行う同期部（例えば、後述の同期部２２）と、前記サーバ時刻Ｔ１における同期処理から、前記サーバ時刻Ｔ２における同期処理までの間に、前記電子機器により複数（ｎ個）のデータをそれぞれ当該データに対応する前記電子機器の時刻データとともに収集する収集部（例えば、後述の収集部２３）と、前記サーバ時刻Ｔ２と、前記サーバ時刻Ｔ２に対応する前記電子機器の時刻データＴ２’との時間差である同期ずれ量に基づいて、前記ｎ個のデータにそれぞれ対応する時刻データを補正する補正部（例えば、後述の補正部２４）とを備えるサーバ（例えば、後述のサーバ１１）である。
【００１１】
上記のサーバにおいては、同期処理での前記同期ずれ量が、第１の閾値を超えた場合、次回の同期処理までの時間間隔を小さくしてもよい。
【００１２】
上記のサーバにおいては、同期処理での前記同期ずれ量が、第２の閾値を下回った場合、次回の同期処理までの時間間隔を大きくしてもよい。
【００１３】
上記のサーバにおいては、同期処理での前記同期ずれ量が変動する場合、次回の同期処理までの時間間隔を小さくしてもよい。
【００１４】
上記のサーバにおいては、同期処理での前記同期ずれ量が変動しない場合、次回の同期処理までの時間間隔を大きくしてもよい。
【００１５】
本発明に係る方法は、電子機器（例えば、後述のセンサ１５）からデータを当該データに対応する前記電子機器の時刻データとともに定期的に収集し、収集した前記データに対応する前記電子機器の時刻データを補正するサーバが実施する方法であって、前記サーバの時刻と前記電子機器の時刻との同期処理をサーバ時刻Ｔ１において前記電子機器に対して行うとともに、予め設定される時間間隔に達するサーバ時刻Ｔ２において、前記サーバの時刻Ｔ２に基づいて前記電子機器の時刻との同期処理を前記電子機器に対して行う同期ステップと、前記サーバ時刻Ｔ１における同期処理から、前記サーバ時刻Ｔ２における同期処理までの間に、前記電子機器により複数（ｎ個）のデータをそれぞれ当該データに対応する前記電子機器の時刻データとともに収集する収集ステップと、前記サーバ時刻Ｔ２と、前記サーバ時刻Ｔ２に対応する前記電子機器の時刻データＴ２’との時間差である同期ずれ量に基づいて、前記ｎ個のデータにそれぞれ対応する時刻データを補正する、補正ステップと、を実施する方法である。
【００１６】
本発明に係るプログラムは、コンピュータを、電子機器（例えば、後述の同期部２２）からデータを当該データに対応する前記電子機器の時刻データとともに定期的に収集し、収集した前記データに対応する前記電子機器の時刻データを補正するサーバ（例えば、後述のサーバ１１）として機能させるためのプログラムであって、前記プログラムを前記コンピュータ上で実行することにより、前記コンピュータに、前記サーバの時刻と前記電子機器の時刻との同期処理をサーバ時刻Ｔ１において前記電子機器に対して行わせるとともに、予め設定される時間間隔に達するサーバの時刻Ｔ２において、前記サーバの時刻Ｔ２に基づいて前記電子機器の時刻との同期処理を前記電子機器に対して行わせ、前記サーバ時刻Ｔ１における同期処理から、前記サーバ時刻Ｔ２における同期処理までの間に、前記電子機器により複数（ｎ個）のデータをそれぞれ当該データに対応する前記電子機器の時刻データとともに収集する収集処理を行わせ、前記サーバ時刻Ｔ２と、前記サーバ時刻Ｔ２に対応する前記電子機器の時刻データＴ２’との時間差である同期ずれ量に基づいて、前記ｎ個のデータにそれぞれ対応する時刻データを補正する、補正処理を行わせるためのプログラムである。
【００１７】
本発明に係る記録媒体は、上記のプログラムを、コンピュータ読み取り可能に格納する。
【００１８】
本発明に係るシステムは、電子機器（例えば、後述のセンサ１５）と、前記電子機器からデータを当該データに対応する前記電子機器の時刻データとともに定期的に収集し、収集した前記データに対応する前記電子機器の時刻データを補正するサーバ（例えば、後述のサーバ１１）とを備えるシステムであって、前記サーバは、前記サーバの時刻と前記電子機器の時刻との同期処理をサーバ時刻Ｔ１において前記電子機器に対して行うとともに、予め設定される時間間隔に達するサーバ時刻Ｔ２において、前記サーバの時刻と前記電子機器の時刻との同期処理を前記電子機器に対して行う同期部（例えば、後述の同期部２２）と、前記サーバ時刻Ｔ１における同期処理から、前記サーバ時刻Ｔ２における同期処理までの間に、前記電子機器により取得した複数（ｎ個）のデータをそれぞれ当該データに対応する前記電子機器の時刻データとともに収集する収集部（例えば、後述の収集部２３）と、前記サーバ時刻Ｔ２と、前記サーバ時刻Ｔ２に対応する前記電子機器の時刻データＴ２’との時間差である同期ずれ量に基づいて、前記ｎ個のデータにそれぞれ対応する時刻データを補正する補正部（例えば、後述の補正部２４）とを備え、前記電子機器は、前記サーバからのサーバ時刻Ｔ１における同期処理に応答して、データを当該データに対応する前記電子機器の時刻データとともに取得するセンサ測定部（例えば、後述のセンサ測定部１７）と、前記サーバからのサーバ時刻Ｔ２における同期処理に応答して、サーバ時刻Ｔ１からサーバ時刻Ｔ２において取得した複数（ｎ個）のデータと当該データに対応する前記電子機器の時刻データに、サーバ時刻Ｔ２に対応する前記電子機器の時刻Ｔ２’を加えたデータをサーバに送信するセンサ通信部（例えば、後述のセンサ通信部１６）と、サーバからのサーバの時刻における同期処理に応答して、前記電子機器の時刻を、前記サーバの時刻に合わせるセンサ時計部（例えば、後述のセンサ時計部１８）と、を備えるシステムである。
【発明の効果】
【００１９】
本発明によれば、サーバとセンサ間の時刻同期処理の頻度を増やすことなく、センサから収集するデータの時刻精度を維持するためのサーバ、方法、プログラム、記録媒体、及びシステムを提供することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係るシステムの構成を示す図である。
【図２】本発明の実施形態に係るサーバが有する制御部の機能ブロックを示す図である。
【図３Ａ】本発明の実施形態に係るシステムの動作フローを示す図である。
【図３Ｂ】本発明の実施形態に係るシステムの動作フローを示す図である。
【図４】本発明の実施形態に係るシステムで用いられるセンサ時刻の補正方法を示す図である。
【図５】本発明の実施形態に係るシステムで用いられるセンサ時刻の補正方法を示す図である。
【図６】本発明の実施形態に係るシステムで用いられるセンサ時刻の補正方法の例を示す図である。
【図７】本発明の実施形態に係るシステムで用いられるセンサ時刻の補正方法の例を示す図である。
【図８】従来のセンサネットワークで用いられる同期方法を示す図である。
【発明を実施するための形態】
【００２１】
＜１．第１の実施形態＞
以下、本発明の第１の実施形態について図１から図７を参照しながら詳述する。
【００２２】
＜１．１  発明の構成＞
図１は、本発明の第１の実施形態に係るシステムの構成を示す図である。システム１０は、サーバ１１と、一つ以上のセンサ１５ａ，１５ｂ，・・・，１５ｓ（これらを「センサ１５」と総称する）とを有し、双方は互いに通信可能である。
【００２３】
＜サーバについて＞
図１に示すように、サーバ１１は、センサ１５と通信可能な通信部１２、各種のデータを記憶する記憶部１３、各種のデータの処理等を実施する制御部１４を有する。
【００２４】
通信部１２は、後述のように、サーバ１１からセンサ１５に対して、測定開始命令、測定停止命令、時刻同期命令を送信し、一方で、センサ１５から時刻データが付加されたサンプリングデータを受信する際に用いられる通信インタフェースである。
【００２５】
記憶部１３は、センサ１５から送信されてきたサンプリングデータ、及び当該サンプリングデータを制御部１４により処理したデータ等を記憶する。
【００２６】
制御部１４は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＣＭＯＳメモリ等を有し、これらはバスを介して相互に通信可能に構成される、当業者にとって公知のものである。
【００２７】
ＣＰＵはサーバ１１を全体的に制御するプロセッサである。該ＣＰＵは、ＲＯＭに格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、該システムプログラム及びアプリケーションプログラムに従ってサーバ１１全体を制御することで、図２に示すように制御部１４を測定命令部２１、同期部２２、収集部２３、補正部２４の機能を実現するように構成される。図２は、制御部１４の機能ブロック図を示す。ＲＡＭには一時的な計算データや表示データ等の各種データが格納される。ＣＭＯＳメモリは図示しないバッテリでバックアップされ、サーバ１１の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。
【００２８】
測定命令部２１は、センサ１５に対して、所定の物理量を所定の周期で測定するとともに、センサ１５が取得した測定量に測定した時刻を付したサンプリングデータの取得を開始することを指示する測定開始命令を生成し、通信部１２を介して、センサ１５に対して送信する。
また、測定命令部２１は、センサ１５に対して、サンプリングデータの取得を停止することを指示する測定停止命令を生成し、通信部１２を介して、センサ１５に対して送信する。
【００２９】
同期部２２は、サーバ１０の有する時計部(図示せず）からサーバの時刻を取得し、サーバの時刻を含む時刻同期命令を生成して、通信部１２を介してセンサ１５に対して送信する。
同期部２２は、時刻同期命令を次のタイミングで生成する。
同期部２２は、測定命令部２１がセンサ１５に対して測定開始命令を送信する際に、時刻同期命令を作成し送信する。そうすることで、センサ１５は、測定開始に際して、センサの時刻をサーバの時刻に同期させることができる。
次に、同期部２２は、時刻同期命令を送信した後、センサ１５毎に設定される同期時間間隔に達すると、時計部からサーバの時刻を取得し、サーバの時刻を含む時刻同期命令を生成し、センサ１５に対して送信する。
最後に、同期部２２は、測定命令部２１がセンサ１５に対して測定停止命令を送信する際に、時刻同期命令を作成し送信する。そうすることで、センサ１５は、測定停止に際して、センサの時刻をサーバの時刻に同期させることができる。
なお、センサ１５毎に設定される同期時間間隔は、最初に初期値が記憶部１３に設定された後、後述する補正部２４により変更される。
【００３０】
収集部２３は、センサ１５がセンシングしたサンプリングデータを測定した時刻データとともに、通信部１２を介してセンサ１５から収集する。
具体的には、収集部２３は、同期部２２が時刻同期命令をセンサ１５に対して送信したことに応答して、センサ１５から返信される、直近の時刻同期命令と当該時刻同期命令との間にセンサ１５により所定の周期で測定された、測定時刻を付した複数のサンプリングデータを通信部１２を介してセンサ１５から収集する。
より具体的には、同期部２２が、サーバ時刻Ｔ１においてセンサ１５と時刻同期を行い、サーバ時刻Ｔ２においてセンサ１５と時刻同期を行った場合、収集部２４は、センサ１５がサーバ時刻Ｔ１からサーバ時刻Ｔ２において測定したｎ個の測定データと当該測定データの測定時のセンサの時刻に加えて、サーバ時刻Ｔ１、サーバ時刻Ｔ２、及びサーバ時刻Ｔ２に対応するセンサ１５の時刻Ｔ２’をセンサ１５から収集する。以下、簡単のため、サーバ時刻Ｔ１からサーバ時刻Ｔ２において測定したｎ個の測定データと当該測定データの測定時のセンサの時刻に、サーバ時刻Ｔ１、サーバ時刻Ｔ２、及びサーバ時刻Ｔ２に対応するセンサ１５の時刻Ｔ２’を加えたデータを特に断らない限りサンプリングデータともいう。
なお、収集部２３は、測定開始命令送信時に送信される最初の時刻同期命令の次の時刻同期命令以降から、センサ１５がセンシングしたサンプリングデータを収集する。
【００３１】
補正部２４は、センサ１５から収集したサンプリングデータに付加される時刻データを補正する。
＜時刻データの補正＞
具体的には、収集部２４により、センサ１５から収集したサンプリングデータ（すなわち、サーバ時刻Ｔ１からサーバ時刻Ｔ２において測定したｎ個の測定データと当該測定データの測定時のセンサの時刻に、サーバ時刻Ｔ１、サーバ時刻Ｔ２、及びサーバ時刻Ｔ２に対応するセンサ１５の時刻Ｔ２’を加えたデータ）に基づいて、サーバ時刻Ｔ２と、前記サーバ時刻Ｔ２に対応するデータに付加される時刻データＴ２’との時間差である同期ずれ量（Ｔ２’−Ｔ２）を用いて、ｎ個のデータに付加される時刻データｔｉ’（１≦ｉ≦ｎ）を、それぞれサーバ時刻に補正する。この補正は同期を行ったサーバ時刻Ｔ１を固定して、Ｔ２’がサーバ時刻Ｔ２となる線形変換によって行う。
そうすることで、サーバ１１は、２つの同期時刻（サーバ時刻Ｔ１とサーバ時刻Ｔ２）の間にセンサ１５により測定されたセンシングデータの測定時刻の精度を維持することができる。
【００３２】
＜同期時間間隔の補正その１＞
補正部２４は、センサ１５から収集したサンプリングデータに基づいてセンサ１５毎に設定される同期時間間隔を補正するように構成することができる。
具体的には、センサ１５から収集したサンプリングデータに基づいて算出される同期ずれ量（Ｔ２’−Ｔ２）が予め設定される第１の閾値を超える場合、同期時間間隔を小さくするように補正し、次回の同期処理までの間隔を小さくする。
そうすることで、サーバ１１は、センサ１５により測定されたセンシングデータの測定時刻の精度を上げることができる。
【００３３】
＜同期時間間隔の補正その２＞
補正部２４は、前回の同期ずれ量と前々回の同期ずれ量の差に基づいてセンサ１５毎に設定される同期時間間隔を補正するように構成することができる。
具体的には、前回の同期ずれ量と前々回の同期ずれ量の差が予め設定される第３の閾値を超える場合、同期時間間隔を小さくするように補正し、次回の同期処理までの間隔を小さくする。
そうすることで、サーバ１１とセンサ１５の時計のずれ方が線形でない場合に、同期時間間隔を小さくする。そうすることで、サーバ１１とセンサ１５の時計のずれの補正が線形に近似するようになり、サーバ１１は、センサ１５により測定されたセンシングデータの測定時刻の精度を上げることができる。
【００３４】
以上のようにすることで、システム１においては、各センサ１５の時刻のずれの特性に応じてセンサ１５毎に同期時刻間隔を調整することができ、例えば、偏差の大きくなるセンサに合わせて、全てのセンサの同期を行うようにすることなく、すなわち同期処理の頻度を増やすことなく、データの時刻精度を維持することが可能となる。
そうすることで、サーバ１１における負荷及びネットワークの通信帯域、処理能力を低減することが可能となり、センサ１５から連続して高速にデータを収集することが可能となる。
【００３５】
＜センサについて＞
図１に示すように、センサ１５ａは、通信部１６ａと、センサ測定部１７ａと、センサ時計部１８ａと、を備える。すなわち、センサ１５は、通信部１６と、センサ測定部１７と、センサ時計部１８と、を備える。
例えば、工場に設置される多数の工作機械の動作状態をサーバにより管理するシステムにおいて、サーバは、各工作機械から加工プログラムのパラメータ、加工時のモータ指令速度、モータ電流情報の外、当該工作機械に配置された各種センサーの測定値等をその測定時刻とともに定期的に収集する必要がある。このように、工作機械に配置されるセンサは、通信部と、センサ測定部と、センサ時計部、を備えるといえる。
また、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）において、産業機械等のモノにセンサーと通信部とを配置する場合においても、センサは、通信部と、センサ測定部と、センサ時計部と、を備えるといえる。
このように、第１実施形態におけるセンサ１５は、工作機械やＩｏＴにおける構成要素であるといえる。
【００３６】
通信部１６は、サーバ１１から測定開始命令、測定停止命令、時刻同期命令を受信し、センサ１５から時刻データが付加されたサンプリングデータを送信する際に用いられる通信インタフェースである。
【００３７】
センサ測定部１７は、サーバ１１から測定開始命令を受信すると、所定の物理量を所定の周期で測定を開始するとともに、センサ１５が取得した測定量に測定した時刻を付したサンプリングデータの取得を開始する。
センサ測定部１７は、サーバ１１から測定停止命令を受信するまで、サンプリングデータの取得を実行する。
センサ測定部１７は、サーバ１１からの時刻同期命令（サーバ時刻Ｔ１）により時刻同期を行い次の時刻同期命令（サーバ時刻Ｔ２）により時刻同期を行うまでの間、サーバ時刻Ｔ１からサーバ時刻Ｔ２において測定したｎ個の測定データと当該測定データの測定時のセンサの時刻に、サーバ時刻Ｔ１、サーバ時刻Ｔ２、及びサーバ時刻Ｔ２に対応するセンサ１５の時刻Ｔ２’を加えたデータを通信部１６を介してサーバ１１に送信する。
【００３８】
センサ時計部１８は、サーバ１１からサーバの時刻を含む時刻同期命令を受信すると、センサ１５とサーバ１１との時刻同期処理を実施する。具体的にはセンサ１５の有するセンサの時刻を、受信したサーバの時刻に合わせる。センサ時計部１８は、同期前のセンサ時刻と同期後のセンサ時刻とを、同期情報として、センサ記憶部（図示せず）に保存する。
そうすることで、サーバ時刻Ｔ１及びサーバ時刻Ｔ２において、サーバ１１からサーバの時刻を含む時刻同期命令を受信する場合、センサ測定部１７は、サーバ時刻Ｔ１からサーバ時刻Ｔ２において測定したｎ個の測定データと当該測定データの測定時のｎ個のセンサの時刻に、サーバ時刻Ｔ１、及び同期情報（サーバ時刻Ｔ２とサーバ時刻Ｔ２に対応するセンサ１５の時刻Ｔ２’）を加えたデータを生成することができる。
以上により、サーバ１１とセンサ１５の機能について説明した。
【００３９】
＜１．２  動作の説明＞
続いて、図３Ａ及び図３Ｂを参照しながら、システム１０の動作フローについて説明する。図３は、システムの動作フローを示す図である。
【００４０】
初めに、図３Ａを用い、サーバ１１における動作フローについて詳述する。
【００４１】
ステップＳ１において、サーバ１１の測定命令部２１は、センサ１５に対し、測定開始命令を送信する。
【００４２】
ステップＳ２において、サーバ１１の同期部２２は、センサ１５に対し、測定の開始に伴う時刻同期命令を送信する。
【００４３】
ステップＳ３において、サーバ１１は、センサ１５毎に設定された同期時間間隔の間待機する。
【００４４】
ステップＳ４において、サーバ１１が測定を続行する場合（ステップＳ４：Ｙｅｓ）は、ステップＳ５に移る。サーバ１１が測定を続行しない場合（ステップＳ４：Ｎｏ）は、ステップＳ８に移行する。
【００４５】
ステップＳ５において、サーバ１１の同期部２２は、センサ１５に対し、時刻同期命令を送信する。
【００４６】
ステップＳ６において、サーバ１１は、センサ１５から、センサ時刻データが付加されたサンプリングデータと同期情報とを受信する。
【００４７】
ステップＳ７において、サーバ１１の補正部２４は、センサ１５から受信した上記の同期情報を用いて、サンプリングデータに付加されたセンサ時刻データを補正する。その後、ステップＳ３に移る。
【００４８】
ステップＳ８において、サーバ１１の同期部２２は、センサ１５に対し、測定の停止に伴う時刻同期命令を送信する。
【００４９】
ステップＳ９において、サーバ１１の測定命令部２１は、センサ１５に対し、測定停止命令を送信する。
【００５０】
次に、図３Ｂを用い、センサ１５における動作フローについて詳述する。なお、センサ１５の動作フローとしては、センサ１５が有するセンサ測定部１７の動作フローと、同じくセンサ１５が有するセンサ時計部１８の動作フローとに分けて説明する。まず、センサ測定部１７の動作フローについて説明する。
【００５１】
ステップＳ２１において、センサ１５（センサ測定部１７）がサーバ１１から測定開始命令及び測定の開始に伴う時刻同期命令を受信し、センサ測定部が測定を開始する。
【００５２】
ステップＳ２２において、センサ測定部１７が、センサ時刻データが付加された測定データを取得する。
【００５３】
ステップＳ２３において、センサ測定部１７が、センサ時刻データが付加された測定データを、センサ記憶部（図示せず）に保存する。
【００５４】
ステップＳ２４において、センサ測定部１７が、サーバ１１から時刻同期命令を受信したか否か判断する。時刻同期命令を受信した場合（ステップＳ２４：Ｙｅｓ）は、ステップＳ２５に移行する。時刻同期命令を受信していない場合（ステップＳ２４：Ｎｏ）は、ステップＳ２６に移る。
【００５５】
ステップＳ２５において、センサ測定部１７は、センサ時刻データが付加されたサンプリングデータと同期情報とを、サーバ１１に送信する。その後、ステップＳ２２に戻る。
【００５６】
ステップＳ２６において、センサ測定部１７が、サーバ１１から測定停止命令を受信したか否か判断する。測定停止命令を、センサ測定部１７が受信した場合（ステップＳ２６：Ｙｅｓ）は、ステップＳ２７に移行する。測定停止命令をセンサ測定部が受信していない場合（ステップＳ２６：Ｎｏ）は、ステップＳ２２に戻る。
【００５７】
ステップＳ２７において、センサ測定部は測定を停止する。
【００５８】
次に、センサ１５が有するセンサ時計部１８の動作フローについて説明する。
【００５９】
ステップＳ３１において、センサ時計部１８は、センサ１５が、サーバ１１から時刻同期命令を受信したか否か判断する。センサ１５が、サーバ１１から時刻同期命令を受信した場合（ステップＳ３１のＹｅｓ）は、ステップＳ３２に移行する。センサ１５が、サーバ１１から時刻同期命令を受信していない場合（ステップＳ３１のＮｏ）は、ステップＳ３１に戻る。
【００６０】
ステップＳ３２において、センサ時計部１８は、センサ１５とサーバ１１との時刻同期処理を実施する。
【００６１】
ステップＳ３３において、センサ時計部１８は、同期前のセンサ時刻と同期後のセンサ時刻を、同期情報として、センサ記憶部（図示せず）に保存する。その後、ステップＳ３１に戻る。
【００６２】
以上が、システム１０の動作フローである。
【００６３】
図３ＡのステップＳ７に記載のように、サーバ１１の補正部２４は、センサ１５における同期前のセンサ時刻と同期後のセンサ時刻である同期情報を用いて、サンプリングデータに付加されたセンサ時刻情報を補正する。図４及び図５にその補正処理の概要を示す。
【００６４】
図４に示すように、サーバ１１とセンサ１５との間で、サーバ時刻Ｔ１に同期処理を実施するとする。また、サーバ時刻Ｔ２＝センサ時刻Ｔ２’に同期処理を実施し、センサ時刻Ｔ２’をＴ２に修正するとする。この際、センサ時刻Ｔ１からセンサ時刻Ｔ２’までの間に、センサ１５は、ｎ個のデータ、ｄａｔａ（１’），ｄａｔａ（２’），・・・，ｄａｔａ（ｎ’）をサンプリングする。これらのデータの各々に付加されたセンサ時刻である、ｔ１’，ｔ２’，・・・，ｔｎ’を、ｔ１，ｔ２，・・・，ｔｎに補正するため、同期ずれ量であるＴ２−Ｔ２’を用いるのが、図３ＡのステップＳ７において実行する補正処理である。
【００６５】
また、本発明においては、サーバ１１は、全てのセンサ１５に対して同時に同期をとるのではなく、図５に示すように、サーバ１１から各センサ１５に時刻同期命令が送信される。その後、各センサ１５から、センサ時刻が付加されたサンプリングデータがサーバ１１に送信され、当該センサ時刻がサーバ１１において補正される。
【００６６】
より具体的には、図５に記載のように、サーバ時刻Ｔ１において、サーバ１１からセンサ１５に時刻同期命令が送信され、サーバ１１と各センサ１５とが同期される。次に、サーバ１１は、センサ１５毎に予め設定された同期時間間（サーバの時刻Ｔ２）に隔達すると、時計部（図示せず）からサーバの時刻を取得し、サーバの時刻を含む時刻同期命令をセンサ１５に対して送信する。
センサ１５は、サーバ１１から時刻同期命令（サーバ時刻Ｔ１）を受信してから次の時刻同期命令（サーバ時刻Ｔ２）を受信するまでの間、センサ時刻に基づいてＮ回データをサンプリングする。Ｎ回のデータのサンプリング後、サーバ時刻Ｔ２において、サーバ１１から時刻同期命令（サーバ時刻Ｔ２）を受信することにより、センサ時刻Ｔ２’がサーバ時刻Ｔ２に修正される。
その後、センサ１５からＮ個のセンサ時刻が付加されたサンプリングデータと同期情報、すなわちサーバ時刻Ｔ１、Ｔ２、及びセンサ時刻Ｔ２’がサーバ１１に送信され、サーバ１１において、サンプリングデータに付加されたセンサ時刻が、Ｔ１、Ｔ２、Ｔ２’に基づいて補正される。この補正を伴う同期処理を、サーバと各センサとの間で実施する。
【００６７】
すなわち、本発明においては、サーバ１１は、全てのセンサ１５に対して同時に同期処理を行う必要がなく、センサ１５によってセンシングされたデータに付加される時刻データが、サーバ１１においてセンサ１５毎に補正される。
【００６８】
上記の補正処理の概要を、図６に示す。
【００６９】
本発明では、同期処理間において、サンプリング時のセンサ時刻をサーバ時刻へ線形に補正する。この場合、図６に示すグラフから分かるように、センサ時刻Ｔ１とセンサ時刻Ｔ２’との間のセンサ時刻ｔｎ’（１≦ｎ≦Ｎ）でサンプリングされたデータに付加される、当該センサ時刻ｔｎ’は、式１に基づいてｔｎに補正される。
ｔｎ＝Ｔ１＋（ｔｎ’−Ｔ１）×（Ｔ２−Ｔ１）÷（Ｔ２’−Ｔ１）  （式１）
すなわち、図６の「同期１」の点と、サンプリングデータを示す点との間の「Ｙ座標間の距離」に対し、「同期１」の点と「同期２」の点との間の「Ｘ座標間の距離／Ｙ座標間の距離」を乗算し、その乗算値を、「同期１」の点のＸ座標の値に加えることにより、ｔｎの値を算出する。
【００７０】
これにより、データのサンプリングの度に同期処理をする必要なく、各サンプリングデータに付加される時刻データを補正することにより、その精度を維持することが可能となる。
【００７１】
次に、同期ずれ量の大きさに基づいてセンサ１５毎に設定された同期時間間隔の補正処理の概要について説明する。
【００７２】
補正部２４は、同期ずれ量に応じて、次回の同期時間間隔を指定するセンサ１５に設定された同期時間間隔を補正する。
【００７３】
図６のグラフにおいて、同期ずれ量であるＴ２−Ｔ２’が大きくなる程、グラフの傾きは緩やかになる。これに伴い、各サンプリングデータの補正量であるｔｎ−ｔｎ’の量も大きくなってしまう。
【００７４】
したがって、今回の同期処理において、同期ずれ量Ｔ２−Ｔ２’が比較的大きい、すなわち予め設定した第１の閾値よりも大きい場合は、次回の同期処理までの時間間隔を小さくすることにより、各サンプリングデータの補正量ｔｎ−ｔｎ’を小さくすることが可能となる。
【００７５】
一方で、同期ずれ量Ｔ２−Ｔ２’が比較的小さい、すなわち第１の閾値よりも小さな値となるように予め設定される第２の閾値よりも小さい場合は、現時点での各サンプリングデータの補正量ｔｎ−ｔｎ’が小さな値にとどまっていると判断し、次回の同期処理までの時間間隔を大きくする。これにより、同期処理の頻度が下がり、サーバ１１における負荷及びネットワークの通信帯域、処理能力を低減することが可能となり、センサ１５から連続して高速にデータを収集することが可能となる。
【００７６】
次に、同期ずれ量の変動量に基づいてセンサ１５毎に設定された同期時間間隔の補正処理の概要について説明する。
【００７７】
前述した補正処理においては、サーバ時刻とセンサ時刻とのずれが線形であることを仮定した。これに対して、図６（Ａ）内で、「実際の時間関係」と示されたグラフのように、サーバ時刻とセンサ時刻とのずれが線形ではない場合の補正方法が、第３の具体例である。
【００７８】
図７（Ａ）のグラフに示すように、補正部２４が、式（１）を用いて補正した場合、センサ時刻ｔｎ’（１＜ｎ＜Ｎ）が、時刻ｔｎに補正される。しかし、実際の時間関係において、サーバ時刻ｔｎに対応するのは、センサ時刻ｔｎ”である。これにより、センサ時刻ｔｎ”とセンサ時刻ｔｎ’との間の誤差が発生する。
【００７９】
そこで、例えば、同期処理での同期ずれ量が変動する場合、すなわち、前回の同期処理での同期ずれ量と前々回の同期処理での同期ずれ量の差が予め設定した第３の閾値よりも大きい場合は、図７（Ｂ）に示すように、補正部２４は、前回の同期処理から今回の同期処理までの同期時間間隔であるＴ２−Ｔ１の量を小さくする。これにより、図７（Ａ）のグラフと図７（Ｂ）のグラフとの比較から明らかなように、センサ時刻ｔｎ”とセンサ時刻ｔｎ’との間の誤差を小さくすることが可能となる。
【００８０】
逆に、同期処理での同期ずれ量が変動しない場合、すなわち、前回の同期処理での同期ずれ量と前々回の同期処理での同期ずれ量の差が第３の閾値よりも小さな値となるように予め設定される第４の閾値よりも小さい場合は、補正部２４は、次回の同期処理までの同期時間間隔を大きくする。これにより、同期処理の頻度が下がり、サーバ１１における負荷及びネットワークの通信帯域、処理能力を低減することが可能となり、センサ１５から連続して高速にデータを収集することが可能となる。
【００８１】
上記の第１の実施形態に係るシステム１においては、各センサ１５の時刻のずれの特性に応じてセンサ１５毎に同期時刻間隔を調整することができ、例えば、偏差の大きくなるセンサに合わせて、全てのセンサの同期を行うようにすることなく、すなわち同期処理の頻度を増やすことなく、データの時刻精度を維持することが可能となる。
そうすることで、サーバ１１における負荷及びネットワークの通信帯域、処理能力を低減することが可能となり、センサ１５から連続して高速にデータを収集することが可能となる。
【００８２】
なお、上記の実施形態においては、サーバ１１の同期部２２が、時刻同期命令を生成し、当該時刻同期命令をセンサ１５に送信することにより、サーバ１１の時刻とセンサ１５の時刻との間の同期処理をしていたが、本発明の実施形態はこれには限定されない。例えば、サーバ１１の同期部２２が時刻同期命令を生成せず、サーバ１１がセンサ１５からサンプリングデータを受信したとき、送信元のセンサ１５に返す受信確認（ＡＣＫ）の中にサーバの時刻を埋め込んで送信することにより、サーバ１１の時刻とセンサ１５の時刻との間の同期処理をしてもよい。このほか、サーバ１１の時刻をセンサ１５に通知する方法であれば、任意の方法を採用することができる。
【００８３】
＜２．第２の実施形態＞
次に、本発明の第２の実施形態について説明する。
【００８４】
第１の実施形態においては、センサ１５がセンシングしたサンプリングデータを、サーバ１１が収集し、当該サンプリングデータに付加された時刻データを補正する態様について述べた。
【００８５】
しかし、第１の実施形態におけるセンサ１５の代わりに、データを生成／更新する電子機器に適用することができる。例えば、当該電子機器が生成／更新したデータをその生成／更新時刻データとともに、サーバ１１が定期的に収集する場合、第１の実施形態に記載したように、サーバ１１が電子機器から収集したデータの時刻情報を補正するようにしてもよい。
例えば、各種オンラインネットワークシステムにおいて、クライアントが生成／更新したデータを、時刻データとともにサーバが定期的に収集し、サーバがその時刻情報に基づいてオンライン処理を行う場合に、クライアントから収集したデータの時刻情報を第１の実施形態に記載したように補正することができる。
【００８６】
上記の第２の実施形態においても、第１の実施形態と同様に、同期処理の頻度を増やすことなく、生成／更新したデータの時刻精度を維持することが可能となる。そうすることで、サーバ１１における負荷及びネットワークの通信帯域、処理能力を低減することが可能となり、電子機器から連続して高速にデータを取得することが可能となる。
【００８７】
上記の第１及び第２の実施形態において、システム１０及びサーバ１１が実施する時刻精度を維持するための方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータ（サーバ１１）にインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
【符号の説明】
【００８８】
１０  システム
１１  サーバ
１２  通信部
１３  記憶部
１４  制御部
１５  １５ａ  １５ｂ  １５ｓ  センサ
１６  １６ａ  １６ｂ  １６ｓ  通信部
１７  １７ａ  １７ｂ  １７ｓ  センサ測定部
１８  １８ａ  １８ｂ  １８ｓ  センサ時計部
２１  測定命令部
２２  同期部
２３  収集部
２４  補正部
【図１】
2018013460.tif 000003
【図２】
2018013460.tif 000004
【図３Ａ】
2018013460.tif 000005
【図３Ｂ】
2018013460.tif 000006
【図４】
2018013460.tif 000007
【図５】
2018013460.tif 000008
【図６】
2018013460.tif 000009
【図７】
2018013460.tif 000010
【図８】
2018013460.tif 000011