以下に、第1の実施形態に係る情報処理装置について説明する。本第1の実施形態による情報処理装置は、1以上の他の装置から、何らかの計測データおよび当該データを計測した時刻を受信する。当該時刻は、当該他の装置において時刻サーバのクロックで換算した時刻である。以下、本第1の実施形態による情報処理装置または1以上の他の装置の時刻で表した計測時刻を単に計測時刻と記し、時刻サーバで換算した時刻を換算時刻と記す。当該他の装置は、計測時刻を2以上の時刻サーバそれぞれのクロックで換算して2以上の換算時刻を得る。すなわち、本第1の実施形態による情報処理装置は、1以上の他の装置からそれぞれ2以上の換算時刻を受信する。
2以上の時刻サーバのクロックは、互いに同期していなくてもよい。また、計測データを送信する複数の装置は、それぞれ異なるタイミングで計測してもよい。したがって、本第1の実施形態による情報処理装置は、1の計測データに対して互いに異なる複数の換算時刻を受信する可能性がある。
本第1の実施形態による情報処理装置は、複数の時刻サーバのうち配信される時刻情報が正常と推測した時刻サーバを選択する。そして、当該情報処理装置は、例えば、計測データと、選択された時刻サーバのクロックで換算した換算時刻とを用いて時系列解析を行い、解析結果を出力する。
図1は、本第1の実施形態に係る情報処理装置を適用可能な一例のシステムを示す。図1の例では、インターネットなどの広域ネットワークであるネットワーク107に対して、装置101、102および103と、時刻サーバ104、105および106と、受信装置108とが接続されている。
時刻サーバ104、105および106は、現在の時刻をネットワーク107を介して装置101、102および103に配信する。例えば、各時刻サーバ104、105および106は、それぞれに搭載されたクロックの現在時刻を配信する。なお、各時刻サーバ104、105および106に搭載されたクロックの時刻は互いに同期しなくてもよい。
装置101、102および103のうち少なくとも1つは、本第1の実施形態による情報処理装置である。各装置101、102および103は、例えば、それぞれ何らかの物理量を計測する機能を有する。各装置101、102および103は、物理量の計測データおよび換算時刻をネットワーク107を介して互いに送信する。
このとき、各装置101、102および103は、計測時刻を各時刻サーバ104、105および106の各クロックで換算した換算時刻を送信する。
各装置101、102および103は、自身のクロックと、各時刻サーバ104、105および106のクロックの時刻誤差を、各時刻サーバ104、105および106から配信された時刻を用いて計算する。各装置101、102および103は、時刻誤差を用いて、自身のクロックで表した計測時刻を、各時刻サーバ104、105および106それぞれのクロックに換算した換算時刻に変換する。
第1の実施形態の例では、装置101、102および103は、3つの時刻サーバ104、105および106のそれぞれのクロックで換算した3つの換算時刻を送信する。しかし、本発明の実施にあたってはこの限りではない。各装置101、102および103は、少なくとも2つの時刻サーバ(例えば時刻サーバ104および105)のクロックを把握すればよい。また、装置101、102および103は、2つ以上の時刻サーバのクロックで換算した換算時刻を送信すればよい。
各装置101、102および103は物理量の計測データと、各時刻サーバ104、105および106それぞれのクロックに換算した3つの換算時刻とをネットワーク107を介して互いに送受信する。各装置101、102および103のうち少なくとも1つは、ネットワーク107を介して受信した計測データおよび換算時刻と、自身が計測した計測データおよび当該計測データに対応する換算時刻とを用いて時系列解析を行い、解析結果を出力する。解析結果は、例えばネットワーク107を介して受信装置108に送信される。受信装置108は、受信した解析結果に従い、所定の動作を行う。
なお、各装置101、102および103が計測する物理量の種類は特に限定されるものではない。例えば、各装置101、102および103が計測する物理量としては、例えば蓄電量、電流、電圧、熱量速度、水量、圧力、温度、振動、湿度などが考えられる。これに限らず、各装置101、102および103は、緯度、経度、高度などの位置情報を物理量として計測してもよい。
また、図1では、3の装置101、102および103がネットワーク107に接続される例を示すが、本発明の実施にあたっては図1の例に限定されない。すなわち、本第1の実施形態においては、少なくとも2つの装置101および102がネットワーク107に接続されていればよい。この場合、例えば装置101は、装置102から計測データおよび換算時刻を受信する。
図2は、本第1の実施形態に係る情報処理装置に相当する装置101の一例の構成を示す。なお、装置101、102および103は、共通の構成で実施可能であるため、装置102および103の構成の説明を省略する。
図2に例示されるように、装置101は、クロック201と、通信処理部202と、計測部203と、記憶部204と、受信部205と、コンバータ206と、解析部207と、セレクタ208と、同期部209とを有する。クロック201は例えば発振器およびレジスタで構成され、現在時刻を計測部203および同期部209に出力する。
計測部203は、例えば計測用変圧器といった外部の計測装置から物理量の計測データを取得する。また、計測部203は、計測データを取得した時刻を計測時刻としてクロック201から取得する。そして計測部203は計測時刻をコンバータ206に出力する。
コンバータ206は、後述する手順で、計測時刻を時刻サーバ104、105および106から配信される各クロックで換算した各換算時刻を求める。計測部203は、コンバータ206から計測時刻を各クロックで換算した各換算時刻を取得し、取得した各換算時刻と、当該各換算時刻に対応する計測データとを通信処理部202に出力する。また、計測部203は、計測データと各換算時刻とを関連付けて記憶部204に記憶する。
図3は、記憶部204が記憶する、装置101で計測された計測データおよび当該計測データに対応するそれぞれの換算時刻の例を示す。この例では、計測データとして電圧値および電流値が用いられている。このように、記憶部204において、1の計測データと、各時刻サーバ104、105および106から配信される各時刻を用いて計測時刻が換算された各換算時刻(時刻サーバ#1の時刻、時刻サーバ#2の時刻、時刻サーバ#3の時刻)と、装置101を示す装置IDとが対応付けられて記憶される。
さらに、記憶部204は、各時刻サーバ104、105および106に対して、計測時刻から換算時刻への変換に用いる変換パラメータを記憶する。
図4は、記憶部204が記憶する変換パラメータの例を示す。図4において、各時刻サーバ104、105および106は、それぞれ時刻サーバ#1、#2および#3として示されている。図4に例示されるように、各時刻サーバ#1、#2および#3について、時刻誤差、クロック比および同期時刻が変換パラメータとして用いられる。時刻サーバ#1(時刻サーバ104)の変換パラメータについて説明する。
変換パラメータのうち、時刻誤差は、時刻サーバ104のクロックとクロック201が出力する時刻の誤差を示す。また、同期時刻は、時刻誤差がどの時点における誤差であるかを示す。例えば、時刻誤差がεであり、クロック201の示す時刻がTcのときに時刻誤差がεであった場合、同期時刻はTcである。
クロック比は、クロック201の時刻が進むスピードと時刻サーバ104に搭載されたクロックの時刻が進むスピードの違いを表す。例えば、クロック201の時刻がDcだけ進む間に、時刻サーバ104に搭載されたクロックの時刻がDsだけ進むと装置101が判断した場合、時刻サーバ104のクロック201に対するクロック比αはDs/Dcである。
クロック比αは、この例に限定されず、例えばクロック201の時刻サーバ104に対するクロック比Dc/Dsを用いてもよい。また、記憶部204はクロック比αの代わりにスキューを記憶してもよい。例えば、クロック201に対する時刻サーバ104のクロックのスキューδは(Ds/Dc−1)となる。また、記憶部204は、δの代わりに時刻サーバ104のクロックに対するクロック201のスキュー値(Dc/Ds−1)を記憶してもよい。
なお、図4に例示する変換パラメータは、クロック比、スキューおよび同期時刻を含まなくてもよい。また、変換パラメータとして、どのようなスケールで表現された時刻誤差、クロック比またはスキュー、同期時刻の値を用いてもよい。例えば、時刻誤差が1秒であり、ナノ秒のスケールが用いられる場合、記憶部204は値「1,000,000,000」を記憶してもよい。
すなわち、記憶部204に記憶される変換パラメータは、クロック201が出力した時刻を、時刻サーバ104、105および106のクロックで換算した各時刻に変換可能な値であれば、上述した値に限定されない。
通信処理部202は、ネットワーク107に対する通信を司り、例えばイーサネット(登録商標)、TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)、IPv4(Internet Protocol version 4)、IPv6(Internet Protocol version 6)などの通信規約に従ったプロトコル処理を行う。
通信処理部202は、各時刻サーバ104、105および106から例えば定期的に配信されるメッセージを受信し、各メッセージに記載された時刻と、当該時刻を配信した時刻サーバを示す情報とを同期部209に出力する。
また、通信処理部202は、装置102および103から、計測データと換算時刻を含むメッセージを受信し、受信部205に出力する。受信部205は、通信処理部202から供給された計測データ、換算時刻、および送信元装置を表すIDを記憶部204に記憶させる。
また、通信処理部202は、計測部203から供給される計測データおよび各換算時刻を含むメッセージを生成し、ネットワーク107を介して他の装置102および103へ送信する。
図5は、通信処理部202が各装置102および103との間で送受信するメッセージの例を示す。この例では、計測データは電圧値および電流値である。図5が示すメッセージは、計測データと、計測時刻を各時刻サーバ104、105および106の各クロックで換算した各換算時刻とを含む。なお、図5に記された「時刻サーバ#1の時刻、時刻サーバ#2の時刻、時刻サーバ#3の時刻」はそれぞれ時刻サーバ104、105および106のクロックで換算した換算時刻を示す。また、時刻サーバ#2の換算時刻「N/A(Not Available)」は、図5に示すメッセージを送信した装置が時刻サーバ#2のクロックを把握できなかったことを示す。
セレクタ208は、記憶部204に記憶される各換算時刻を用いて、時刻サーバ104、105および106のうち正常に時刻情報が配信されていると判断した時刻サーバを選択する。そして、セレクタ208は、選択した時刻サーバの時刻を用いて換算した換算時刻を解析部207に供給する。セレクタ208が時刻サーバを選択する方法の詳細については、後述する。
解析部207は、記憶部204に記憶される1つ以上の計測データと、当該計測データに対応する換算時刻とに基づき時系列解析を行う。解析部207は、セレクタ208により選択された時刻サーバの換算時刻を用いて計測データを解析する。解析部207は、解析結果を通信処理部202に対して出力する。通信処理部202は、解析部207から供給された解析結果を、ネットワーク107を介して例えば受信装置108へ送信する。
次に、本第1の実施形態による処理について、詳細に説明する。本第1の実施形態による処理は、下記の4のシーケンスに分けられる。装置101、102および103の処理は同等であるため、装置102および装置103の処理の説明を省略する。
(1)第1のシーケンス:
第1のシーケンスでは、時刻同期プロトコルを用いて、装置101のクロック201が出力した時刻を、各時刻サーバ104、105および106のクロックで換算した各時刻に変換するための変換パラメータを求める。
(2)第2のシーケンス:
第2のシーケンスでは、装置101が、装置102および103から、計測データおよび換算時刻を含むメッセージ(図4参照)を受信する。
(3)第3のシーケンス:
第3のシーケンスでは、装置101が物理量を計測し、計測時刻を各時刻サーバ104、105および106の各クロックの時刻に変換し、計測データおよび各換算時刻を含むメッセージを装置102および103に送信する。また、装置101は、計測データと各換算時刻を記憶部204に記憶する。
(4)第4のシーケンス:
第4のシーケンスでは、装置101が、記憶部204に記憶した各換算時刻を用いて、時刻サーバ104、105および106のうち正常に時刻情報を配信していると判断した1つの時刻サーバを選択し、選択した時刻サーバのクロックで換算した換算時刻を用いて計測データを解析し、結果を出力する。
装置101は、上述の第1〜第4のシーケンスを繰り返し実行する。このとき、第1〜第4のシーケンスを実行するタイミングは、それぞれ異なっていてもよい。また、第4のシーケンスを実行する間隔は、一定でもよいし、任意の時点で変更してもよい。
以下、本第1の実施形態に係る上述の(1)〜(4)のシーケンスによる処理について、図6のシーケンス図を参照しながら詳細に説明する。なお、図6において、時刻サーバ#1および#2は、例えばそれぞれ時刻サーバ104および105に対応し、装置#1および装置#2は、例えばそれぞれ装置101および102に対応し、受信装置は、例えば受信装置108に対応する。
先ず、(1)第1のシーケンスについて説明する。第1のシーケンスは、公知の時刻同期プロトコルを用いて行うことができる。例えば、第1のシーケンスに適用可能な時刻同期プロトコルとしては、例えばNTP(Network Time Protocol)やIEEE1588(Institute of Electrical and Electronics Engineers 1588)、GPS(Global Positioning System)が知られている。
時刻サーバ#1は、時刻同期プロトコルに従い、装置#1に対して例えば定期的に、時刻サーバ#1のクロックで換算した現時刻を含む同期メッセージ70011、70012、…を配信する。それと共に、時刻サーバ#1は、装置#2に対しても、定期的に、時刻サーバ#1のクロックで換算した現時刻を含むメッセージ70021、…を配信する。同期メッセージ70011、70012、…のうち1以上が装置#1に受信され、同期メッセージ70021、…のうち1以上が装置#2に受信される。
同様に、時刻サーバ#2は、装置#1および#2に対して、それぞれ定期的に、時刻サーバ#2のクロックで換算した現時刻を含むメッセージ70111、70112、…、ならびに、メッセージ70121、…を配信する。同期メッセージ70111、70112、…のうち1以上が装置#1に受信され、同期メッセージ70121、…のうち1以上が装置#2に受信される。なお、時刻サーバ#1のクロックと、時刻サーバ#2のクロックとが互いに同期している必要はない。
例えば装置#1は、時刻サーバ#1および#2からそれぞれ配信された各同期メッセージ70011、70012、…、ならびに、同期メッセージ70111、…に含まれる各時刻と、クロック201が出力する時刻とを用いて、時刻サーバ#1および#2それぞれに対する各変換パラメータを求め、記憶部204に記憶する。同様に、装置#2も、時刻サーバ#1および#2からそれぞれ配信された各同期メッセージ70021、70022、…、ならびに、同期メッセージ70121、…に含まれる各時刻と、装置#2自身のクロックが出力する時刻とを用いて、時刻サーバ#1および#2それぞれに対する各変換パラメータを求め、記憶する。
図7は、本第1の実施形態に係る、変換パラメータを求める一例の処理を示すフローチャートである。例えば装置101において、ステップS100で、通信処理部202が同期メッセージ70011を受信し、同期部209に出力する。同期部209は、供給された同期メッセージ70011に含まれる時刻Tsを取得する。次のステップS101で、同期部209は、クロック201で生成されるクロックが示す現在の時刻Trを取得する。
次のステップS102で、同期部209は、ステップS100で取得した時刻サーバ104の時刻Tsと装置101の時刻Trとの差分ΔT=Ts−Trを変換パラメータの一つである時刻誤差として記憶部204に記憶させる。このとき、同期部209は同期メッセージ70011の送信元である時刻サーバ104のIDに関連付けてΔTを記憶部204に記憶させる。
なお、時刻誤差を求める方法は、上述の方法に限定されない。例えば、同期制度を高めるための処理を、図7のフローチャートに追加することが考えられる。一例として、同期部209は、時刻サーバ104との間の通信遅延Tdを計測し、ΔT’=Ts+Td−Trを変換パラメータの時刻誤差として記憶部204に記憶させてもよい。
また、装置101は、時刻サーバ104から2回以上受信した同期メッセージに含まれる時刻と、同期メッセージを受信した時刻とに対して、回帰またはローパスフィルタを適用することで、クロック比またはスキューを計算し、変換パラメータの一部として記憶部204に記憶させてもよい。この場合、同期部209は時刻Trを同期時刻として保存する。
次に、(2)第2のシーケンスについて説明する。図8は、第1の実施形態に係る、第2のシーケンスの一例の処理を示すフローチャートである。例えば装置101の通信処理部202は、ステップS110において、装置102から送信された、計測データおよび換算時刻が含まれるメッセージ7031を受信する。次のステップS111で、通信処理部202は、受信したメッセージ7031に対して所定のプロトコル処理を施して、当該メッセージ7031に含まれる計測データと換算時刻とを取り出して、受信部205に出力する。次のステップS112で、受信部205は、通信処理部202から供給された計測データおよび換算時刻を、装置102を示す装置IDと関連付けて記憶部204に記憶させる(図3参照)。
装置102は、例えば、物理量の計測を行い計測データが発生する毎にメッセージ7031、7032、…を装置101へ送信する。装置101は、装置102から送信されたメッセージ7031、7032、…を受信する毎に、第2のシーケンスを実行する。
また、この第2のシーケンスは、複数の装置101、102および103にそれぞれ実行される。例えば、装置102において、装置101から送信された、計測データおよび換算時刻が含まれるメッセージ7021を受信する。そして、装置102は、受信したメッセージ7021から計測データおよび換算時刻を取り出して記憶する。この装置102における第2のシーケンスによる処理は、例えば、装置101から送信されたメッセージ7021、7022、…を装置102が受信する毎に実行される。
次に、(3)第3のシーケンスについて説明する。図9は、本第1の実施形態に係る、第3のシーケンスの一例の処理を示すフローチャートである。ステップS120において、例えば装置101の計測部203が物理量を計測する。
計測部203は、A/Dコンバータであってもよい。この場合、例えば、外部の計測器から出力されたアナログ計測信号が計測部203に入力され、デジタル計測信号に変換される。計測部203は、このデジタル計測信号を所定のタイミングでサンプリングし、サンプリングで得られた値を計測値として取得する。また、計測部203は、デジタルフィルタであってもよい。この場合、計測部203は、外部から入力されたデジタル信号にデジタルフィルタを適用して、計測値を取得する。
次のステップS121で、計測部203は、ステップS120で物理量を計測した時刻を、クロック201から取得する。このステップS121の処理は、上述のステップS120の処理と同時に行ってもよい。ステップS121で計測時刻が取得されると、処理がステップS122に移行される。
ステップS122で、計測部203は、第1のシーケンスで記憶部204が記憶した変換パラメータを読み出して、ステップS121で取得した計測時刻を時刻サーバ104、105および106それぞれのクロックで換算した各換算時刻を計算する。
例えば、変換パラメータが時刻サーバのクロックとクロック201で生成されるクロックとの差分による時刻誤差εのみの場合、換算時刻Tvは、Tv=ε+Tmとして計算される。なお、値Tmは、ステップS122において計測部203が取得した計測時刻である。
また例えば、変換パラメータが時刻誤差εに加えてクロック201に対する時刻サーバのクロック比αおよび同期時刻Tcを含む場合、換算時刻Tvは、Tv=Tm+ε+α×(Tm−Tc)として計算される。
さらに例えば、変換パラメータがクロック201で生成されるクロックに対する時刻サーバのスキューδを含む場合、換算時刻Tvは、Tv=Tm+ε+(δ+1)×(Tm−Tc)として計算される。
ステップS122で換算時刻が計算されると、処理がステップS123に移行される。ステップS123で、計測部203は、ステップS120で取得した計測データと、ステップS122で計算された、計測時刻を各時刻サーバ104、105および106のクロックでそれぞれ換算した各換算時刻と、装置101を示す装置IDとを対応付けて、記憶部204に記憶させる(図3参照)。
次のステップS124で、計測部203は、計測データと、各換算時刻とを通信処理部202に渡す。通信処理部202は、所定のプロトコル処理により、これら計測データおよび各換算時刻を含んだメッセージを作成し、作成したメッセージを、ネットワーク107を介して装置102に送信する(例えば図6のメッセージ7021)。同様に、通信処理部202は、当該メッセージを、ネットワーク107を介して装置103に送信する。
ここで、通信処理部202およびネットワーク107がマルチキャストの機能を備える場合、通信処理部202は、装置102および103に対してそれぞれメッセージを送信する代わりに、1つのメッセージをネットワーク107に対して送信してもよい。この場合、ネットワーク107における転送装置(図示しない)は、当該メッセージをコピーして装置102および103に対してそれぞれ送信する。
次に、(4)第4のシーケンスについて説明する。図10は、本第1の実施形態に係る、第4のシーケンスによる一例の処理を示すフローチャートである。ステップS130で、例えば装置101のセレクタ208は、記憶部204に記憶される各換算時刻に基づく解析を行い、時刻サーバ104、105および106から正常と推測される1の時刻サーバを選択し、選択された時刻サーバを示す情報を、解析部207に渡す。このステップS130における時刻サーバ選択処理の詳細については、後述する。
次のステップS131で、解析部207は、記憶部204に記憶される計測データを用いて時系列解析を行う。例えば、解析部207は、当該計測データに対応する各換算時刻のうち、ステップS130でセレクタ208により選択された時刻サーバのクロックで換算された換算時刻を用いて時系列解析を行う。
次のステップS132で、解析部207は、ステップS131における時系列解析の結果を通信処理部202に対して出力する。通信処理部202は、この解析結果を、例えば受信装置108に送信する。図6のメッセージ7041および7042は、装置101から受信装置108に送信される、解析結果を含むメッセージ送信の例を示す。
ステップS132で受信装置108に送信される例えばメッセージ7041は、受信装置108に対して特定の動作を実行させる指令コードを含んでもよい。指令コードは、例えば予め定められた指令の種類を表すデジタルデータである。この場合、受信装置108は、受信したメッセージ7041に対して所定のプロトコル処理を行い、当該メッセージ7041から指令コードを取り出す。そして、受信装置108は、取り出した指令コードに従った動作を実行する。
次に、上述のステップS130における時刻サーバの選択処理について、より詳細に説明する。図11は、本第1の実施形態に係る、時刻サーバの選択処理を示す一例のフローチャートである。本第1の実施形態では、セレクタ208は、記憶部204に記憶される各換算時刻のうち、過去の一定期間内の換算時刻T(mx,ny,kz)を用いて、時刻サーバを選択する。なお、換算時刻T(mx,ny,kz)は、装置nyにおけるkz番目の計測時刻を時刻サーバmxのクロックで換算した換算時刻であるものとする。
ステップS200A、ステップS200B、およびステップS201に示すとおり、セレクタ208は、複数の時刻サーバmx(例えば時刻サーバ104、105および106)について、ステップS201の処理を繰り返す。
ステップS201において、セレクタ208は、時刻サーバmxに対して、下記の式(1)を満たす時刻サーバma、装置nb、装置nc、kiおよびkjの組の数を示す関数C(mx)を求める。なお、下記において、対象となる時刻サーバおよび装置の総数をそれぞれ値pおよび値qとした場合、a=1,2,…,pとし、bおよびc=1,2,…,qとする。
ma≠mx∧(nb≠nc∨ki≠kj)∧{T(mx,nb,ki)とT(mx,nc,kj)とT(ma,nb,ki)とT(ma,nc,kj)の値が存在する}∧{T(mx,nb,ki)≦T(mx,nc,kj)}∧{T(ma,nb,ki)≦T(ma,nc,kj)}∧{|F(mx,ma,nb,nc,ki,kj)|<γ} …(1)
なお、関数Fの定義は、下記の式(2)の通りである。
F(mx,ma,nb,nc,ki,kj)={T(mx,nc,kj)−T(mx,nb,ki)}−{T(ma,nc,kj)−T(ma,nb,ki)} …(2)
また、閾値γは、予め定められた正の値である。さらに、式(1)において、閾値γによる判定を行う不等号「<」は、不等号「≦」であってもよい。
図12を用いて上述の式(1)および式(2)の意味について説明する。時刻T(m1,n1,i)は、装置n1のi番目の計測時刻を時刻サーバm1のクロックで換算した換算時刻である。また、時刻T(m1,n2,j)は、装置n2のj番目の計測時刻を時刻サーバm1のクロックで換算した換算時刻である。この例では、上述の式(1)中に示される条件に従い、時刻T(m1,n1,i)<時刻T(m1,n2,j)であるものとする。時刻T(m1,n2,j)から時刻T(m1,n1,i)を減算した差分gを求める。差分gは、ある第1の計測データを計測した時点とある第2の計測データを計測した時点の間隔を、時刻サーバm1のクロックで換算した時間を表す。
同様に、時刻T(m2,n1,i)および時刻T(m2,n2,j)のそれぞれは、装置n1のi番目の計測時刻と、装置n2のj番目の計測時刻とをそれぞれ時刻サーバm2のクロックで換算した換算時刻である。この場合についても、上述の式(1)中に示される条件に従い、時刻T(m2,n1,i)<時刻T(m2,n2,j)であるものとする。時刻T(m2,n2,j)から時刻T(m2,n1,i)を減算した差分hを求める。差分hも、第1の計測データを計測した時点と第2の計測データを計測した時点の間隔を表す。しかしながら、差分hは時刻サーバm2のクロックで換算した時間を表す点で差分gと異なる。
式(2)に示した関数Fは、差分gと差分hとの差分を求めるものであり、式(1)は、関数Fの値を閾値γと比較する。すなわち、第1の計測データの換算時刻と第2の計測データの換算時刻の差分を、2つの時刻サーバのクロックで換算した換算時刻を用いてそれぞれ求める。そして、当該2つの時刻サーバのクロックで換算された各第1の差分について、さらに第2の差分を求める。この第2の差分がある値(閾値γ)よりも大きい場合、2つの時刻サーバのうち少なくとも一方のクロックが信用できないと推測できる。
そこで、セレクタ208は、ある時刻サーバmxに対して、時刻サーバmxを除く各時刻サーバmaと、各装置nbと、各装置nbにおける各計測タイミングkとの全ての組み合わせについて上述の閾値γによる判定を行い、条件を満たす組の数C(mx)を求める。さらに、セレクタ208は、時刻サーバmxを順次変更して関数C(mx)の値をそれぞれ求める(図11のステップS200A、ステップS201およびステップS200B)。
セレクタ208は、複数の時刻サーバmxについて関数C(mx)の値を求めたあと、処理をステップS202に移行する。ステップS202において、セレクタ208は、関数C(mx)の値が最大となる1つ以上の時刻サーバ(以下mLと記す)を候補として残し、他の時刻サーバを候補から外す。そして、次のステップS203で、セレクタ208は、ステップS202で候補として残した1つ以上の時刻サーバmLから1つの時刻サーバ(以下mselと記す)を選択する。そして、セレクタ208は時刻サーバmselを示す情報を解析部207に出力する。
なお、セレクタ208は、ステップS203において、候補として残した時刻サーバmLのうち何れを選択してもよい。例えば、ステップS203において、セレクタ208は、候補とされた1つ以上の時刻サーバからランダムに1つの時刻サーバをmselとして選択してもよい。また、別の方法によれば、各時刻サーバの優先順位を予め決めて例えば記憶部204に保存しておき、ステップS203で、セレクタ208が記憶部204に記憶された優先順位を参照して、最も優先度の高い時刻サーバを時刻サーバmselとして選択してもよい。
さらに、セレクタ208は、ステップS203において、下記の式(3)の閾値θによる判定を行い、条件を満たす時刻サーバmxを候補から外してもよい。これにより、時刻サーバmxとは別のどの時刻サーバからみても時刻サーバmxに異常の可能性が認められる場合に、時刻サーバmxを除外できる。したがって、対象となる時刻サーバの数が減り、処理を高速化できる。
∃nb,nc,ki,kj,∀ma≠mx,{T(mx,nb,ki)≦T(mx,nc,kj)}∧{|F(mx,ma,nb,nc,ki,kj)|>θ} …(3)
なお、この式(3)による判定は、ステップS203に限らず、図11のフローチャート中、どのステップで行ってもよい。
ここで、ステップS203の処理を実行した結果、候補とするべき時刻サーバmLが存在しなくなる場合も考えられる。この場合、セレクタ208は、その旨を解析部207に出力するようにできる。
上述したステップS200A、ステップS201およびステップS200Bは、任意の2つの異なる計測データの組に対して、時刻サーバmxおよびma(mx≠ma)で換算した換算時刻が矛盾してない回数を計算する。したがって、ステップS200A、ステップS201およびステップS200Bの処理を行うことで、最も矛盾の少ないと推測される時刻サーバが選択される可能性が高くなる。また、ステップS200A、ステップS201およびステップS200Bの処理は、換算時刻が不明である回数が最も少ない時刻サーバを選択する可能性も高まる。
図13は、2つの装置#1および#2によりそれぞれ2回計測した場合の各計測時刻を、各時刻サーバ#1、#2および#3のクロックで換算した各換算時刻の例を示す。図13において、記号「◇(白菱形)」および「◆(黒菱形)」は、それぞれ装置#1(例えば装置101)における1回目および2回目の計測タイミングを示す。記号「○(白丸)」および「●(黒丸)」は、それぞれ装置#2(例えば装置102)における1回目および2回目の計測タイミングを示す。同様に、記号「☆(白星)」および「★(黒星)」は、それぞれ装置#3(例えば装置103)における1回目および2回目の計測タイミングを示す。
また、図13において、横軸は、それぞれの時刻サーバのクロックで換算した換算時刻を示す。各時刻サーバ#1、#2および#3は、例えばそれぞれ時刻サーバ104、105および106であって、各時刻サーバ#1、#2および#3のラインは、それぞれ各時刻サーバ#1、#2および#3のクロックで換算した換算時刻を示している。このとき、各時刻サーバ#1〜#3のクロックは、互いに同期しないため、同じ計測データに対する換算時刻の位置が異なる場合がある。
例えば図13において、記号「◇」で示される点1301、1304、および1307は、装置#1の1回目の計測タイミングを示す。そこで、もし各時刻サーバ#1〜#3が互いに同期していれば、点1301、1304、および1307は同じ換算時刻の位置にプロットされる。一方、図13に示すように各時刻サーバ#1〜#3が互いに同期していない場合、点1301、1304および1307は異なる換算時刻の位置にプロットされる。
また、図13にける点1303は、装置#3における1番目の計測データの計測時刻を時刻サーバ#1のクロックで換算した時刻が不明であることを示す。
図13の例では、それぞれ時刻サーバ#2のクロックで換算された、装置#1の1回目の換算時刻(点1304)から、装置#3の1回目の換算時刻(点1306)までの時間、ならびに、それぞれ時刻サーバ#3のクロックで換算された、装置#1の1回目の換算時刻(点1307)から、装置#3の1回目の換算時刻(点1308)までの時間は、略同一であり、その差の絶対値が上述の閾値γより小さい。関数C(mx)は、このような関係にある時刻サーバ、装置および測定タイミングの組を全て計数する。
一方、それぞれ時刻サーバ#1のクロックで換算された、装置#1の1回目の換算時刻(点1301)から装置#2の1番目の換算時刻(点1302)までの時間、ならびに、それぞれ時刻サーバ#2のクロックで換算された、装置#1の1回目の換算時刻(点1304)から、装置#2の1番目の換算時刻(点1305)までの時間は、大きく異なり、その差の絶対値が閾値γよりも大きい。そこで、このような組の数は、関数C(時刻サーバ#2)に加えない。
図13における全ての計測タイミングを、図10のステップS130における時刻サーバ選択処理の対象にする場合、関数Cの値は、45以下である。すなわち、図13には6種類の計測タイミングがあり、3の時刻サーバ#1、#2および#3が利用されている。そのため、関数Cの計算に利用する点の組は、Combination(6,2)×Combination(3,2)=45となる。
ここで、Combination(x,y)はx個のアイテムからy個のアイテムを選ぶ組み合わせの数とする。
図13の例において、各関数C(mx)の値は、時刻サーバ#1については、関数C(時刻サーバ#1)=16となる。時刻サーバ#2については、関数C(時刻サーバ#2)=16となる。また、時刻サーバ#3については、関数C(時刻サーバ#3)=19となる。したがって、図11のステップS202およびステップS203により、関数Cの値が最大の時刻サーバ#3が選択される。
なお、上述した点1301から点1302までの時間と、ならびに、点1304から点1305までの時間との差分の絶対値が閾値γよりも大きい場合、上述した式(3)の判定により、時刻サーバ#2を候補から外すことができる。
図14は、本第1の実施形態に係る、装置101、102および103に適用可能な情報処理装置300の一例の構成を示す。情報処理装置300は、CPU(Central Processing Unit)310、RAM(Random Access Memory)311、ROM(Read Only Memory)312、表示制御部313、ストレージ部314、入出力部315および通信I/F(インターフェイス)316を有し、これら各部がバス301で互いに通信可能に接続されている。
ストレージ部314は、ハードディスクドライブ、SSD(Solid State Disk)、不揮発性の半導体メモリなど書き換え可能な大容量の記憶媒体であり、CPUが動作するためのOSや各種アプリケーションのプログラム、各種データなどが記憶される。図2における記憶部204は、このストレージ部314に含まれる。これに限らず、記憶部204をRAM311で構成してもよい。
CPU310は、ストレージ部314やROM312に予め記憶されたプログラムに従い、RAM311をワークメモリとして用いて、この情報処理装置300の全体の動作を制御する。装置101、102または103としての機能を実現するための、図2におけるクロック201、計測部203、受信部205、コンバータ206、解析部207、セレクタ208および同期部209は、このCPU310上で動作するプログラムの各モジュールとして構成することができる。また、通信処理部202の一部の機能も、当該プログラムのモジュールとして構成できる。
表示制御部313は、例えばLCD(Liquid Crystal Display)といった表示デバイスを有する表示部317が接続され、CPU310によりプログラムに従い生成された表示制御信号を、表示デバイスが表示可能な信号に変換する。表示部317は、情報処理装置300に内蔵されていてもよいし、外部に接続して用いるものでもよい。
入出力部315は、マウスなどのポインティングデバイスや、キーボードといったユーザ操作を受け付けるユーザ操作部318が接続される。
また、入出力部315は、物理量を計測する計測装置320に対するインターフェイスを有する。例えば、入出力部315は、A/D変換コンバータを有し、計測装置320から出力されるアナログ計測信号をデジタル計測信号に変換して、CPU310に渡す。
これに限らず、入出力部315がUSB(Universal Serial Bus)や、IEEE(Institute of Electrical and Electronics Engineers)1394といった、データ転送を行う通信インターフェイスを有し、計測装置320とこれらの通信インターフェイスを介して接続されるようにしてもよい。この場合、計測装置320の計測出力として、デジタル計測信号が出力される。
さらにまた、入出力部315は、CD(Compact Disk)やDVD(Digital Versatile Disk)といったディスク記憶媒体の読み書きを行うドライブ装置をさらに有していてもよい。上述した、この情報処理装置300を装置101、102または103として構成するためのプログラムは、例えばCDやDVDに記憶されて提供され、ドライブ装置で読み出されて例えばストレージ部314に所定に格納され、情報処理装置300に搭載される。プログラムをネットワーク107を介して装置101、102および103に供給してもよい。
通信I/F316は、CPU310の指示により、ネットワーク107に対する通信を制御する。図2における通信処理部202は、この通信I/F316上の機能である。通信I/F316は、外部からネットワークを介してなされて指示や、通信I/F316自身の動作により、CPU310などの動作を抑制させることができる。
装置101で実行される、本第1の実施形態による情報処理装置の機能を実現させるプログラムは、上述した各部(クロック201、計測部203、受信部205、コンバータ206、解析部207、セレクタ208および同期部209)を含むモジュール構成となっており、実際のハードウェアとしては、CPU310がストレージ部314から当該プログラムを読み出して実行することにより、各部が主記憶装置であるRAM311上にロードされ、クロック201、計測部203、受信部205、コンバータ206、解析部207、セレクタ208および同期部209が主記憶装置上に生成されるようになっている。
以上のように、本第1の実施形態によれば、ある時刻サーバを基準として、対象となる、基準とした時刻サーバを除く各時刻サーバと、各装置と、各装置における各計測タイミングとの全ての組み合わせについて閾値γによる判定を行い、条件を満たす組の数Cを求める。さらに、対象となる時刻サーバを順次基準となる時刻サーバとして、この閾値γによる判定を行い、関数Cをそれぞれ求める。そして、求められた全ての関数Cのうち、関数Cの値が最大となる1以上の時刻サーバを候補として残し、時刻サーバを選択するようにしている。そのため、各時刻サーバが互いに同期しておらず、時刻サーバに異常があっても、異なる装置間で互いの計測タイミングの違いを把握できる。
(第2の実施形態)
次に、第2の実施形態について説明する。第2の実施形態は、上述の第1の実施形態を送電線保護システムに適用した例である。図15は、本第2の実施形態に係る送電線保護システムの一例の構成を示す。変電所10Aおよび変電所10Bは、例えば数km乃至10数kmまたはそれ以上離れた2点間で、送電線1によって電力の送信を行う。変電所10Aおよび変電所10Bは、それぞれ、計測用変圧器20Aおよび20B、遮断器21Aおよび21B、ならびに、保護リレー22Aおよび22Bを含む。保護リレー22Aおよび22Bは、第1の実施形態における装置101および102に対応する。
変電所10Aにおいて、保護リレー22Aは、送電線1の一端側に設けられた計測用変圧器20Aを介して送電線1に接続される。遮断器21Aは、保護リレー22Aから供給されるトリップ信号に応じて送電線1の一端側を遮断する。同様に、保護リレー22Bは、送電線1の他端側に設けられた計測用変圧器20Bを介して送電線1に接続される。遮断器21Bは、保護リレー22Bから供給されるトリップ信号に応じて送電線1の他端側を遮断する。
保護リレー22Aおよび22Bは、専用網やインターネットといった広域ネットワークであるネットワーク30に接続される。また、ネットワーク30には、それぞれのクロックに基づき時刻情報を配信する複数の時刻サーバ31Aおよび31Bが接続される。保護リレー22Aおよび22B、ならびに、時刻サーバ31Aおよび31Bは、ネットワーク30を介して互いに通信が可能とされている。また、時刻サーバ31Aおよび31Bは、互いに同期している必要はない。
保護リレー22Aおよび22Bは、それぞれ計測用変圧器20Aおよび20Bの出力に基づき、送電線1の一端側および他端側において、それぞれ送電線1に流れる電流および電圧を計測し、計測データを得る。保護リレー22Aおよび22Bは、ネットワーク30を介して互いに互いに計測データを送受信し、一端側および他端側の電流および電圧について時系列で比較および解析を行う。各保護リレー22Aおよび22Bは、送電線1において送電の異常が検知された場合に、遮断器21Aおよび21Bに対してトリップ信号を出力する。これにより、送電線1の一端側および他端側にて送電が遮断され、送電線が保護される。
このようなシステムにおいて、異常検知により送電を遮断する場合、送電線1を、一端側および他端側で同時に遮断する必要がある。そのため、本第2の実施形態では、保護リレー22Aおよび22Bは、上述の第1の実施形態に示される第1〜第4のシーケンスに従い、ネットワーク30に接続される複数の時刻サーバ31Aおよび31Bのうち最適な時刻サーバを選択する。そして、選択された時刻サーバのクロックに基づき計測データを時系列的に解析し、異常検知を行う。
図16は、本第2の実施形態による送電遮断制御処理の一例のフローチャートを示す。ステップS140で、図10のフローチャートのステップS130と同様にして、保護リレー22Aおよび22Bのうち少なくとも一方において、複数の時刻サーバ31Aおよび31Bのうち1が選択される。ここでは、保護リレー22Aにおいて、この選択処理が行われるものとする。
より具体的には、保護リレー22Aおよび22Bは、それぞれ上述した図7のフローチャートに従い、時刻サーバ31Aおよび31Bから同期メッセージ70011、70012、…および同期メッセージ70021、…を受信して時刻誤差を計算し、変換パラメータを求める。
また、保護リレー22Aおよび22Bは、それぞれ上述した図8および図9のフローチャートに従い、計測用変圧器20Aおよび20Bの出力に基づき、送電線1の一端側および他端側の電流および電圧をそれぞれ計測して計測データを得る。保護リレー22Aおよび22Bは、計測時刻を時刻サーバ31Aおよび31Bそれぞれのクロックで換算した各換算時刻を取得する。保護リレー22Aおよび22Bは、取得した計測データと各換算時刻とを、互いに送受信する。
そして、保護リレー22Aおよび22Bは、それぞれ、上述した図11のフローチャートに従い、式(1)の計算を行い、複数の時刻サーバ31Aおよび31Bのうち何れか1を選択する。すなわち、保護リレー22Aおよび22Bによる異なるタイミングでの計測時刻の差分を、時刻サーバ31Aおよび31Bそれぞれのクロックで換算した換算時刻の差分としてそれぞれ求める。そして、時刻サーバ31Aのクロックに基づく差分と、時刻サーバ31Bのクロックに基づく差分との間の差分をさらに求め、この差分に対して閾値γによる判定を行う。この判定結果に従い、複数の時刻サーバ31Aおよび31Bのうち何れか1(時刻サーバ31Aとする)を選択する。
次のステップS141で、保護リレー22Aおよび22Bは、それぞれ、式(1)の計算に従い選択された時刻サーバ31Aのクロックで換算した換算時刻に基づき計測データの時系列解析を行う。そして、ステップS142で、時系列解析の解析結果が特定の条件を満たし、異常検知がなされたか否かを判定する。
ステップS141およびステップS142における時系列解析および解析結果の判定の方法は、特に限定されない。一例として、保護リレー22Aおよび22Bは、一定期間、保護リレー22Aによる計測用変圧器20Aの出力の計測データと、保護リレー22Bによる計測用変圧器20Bの出力の計測データと、これら計測データにそれぞれ対応する、時刻サーバ31Aのクロックで換算した各換算時刻とで表される交流電流の波形を比較する。保護リレー22Aおよび22Bは、この比較の結果、両者の差分が予め定められた値を超えるか否かの論理値を解析の結果とする。
保護リレー22Aおよび22Bは、ステップS142において、若し、解析結果が特定の条件を満たさないと判定した場合、送電に異常が無いと判断し、何の処理も行わない。
一方、保護リレー22Aおよび22Bは、ステップS142において解析結果が一定の条件を満たすと判定した場合、送電に異常が検知されたと判断し、ステップS143を実行する。ステップS143では、保護リレー22Aは、遮断器21Aに対してトリップ信号を出力するための指令コードを生成する。同様に、保護リレー22Bは、遮断器21Bに対してトリップ信号を出力するための指令コードを生成する。
そして、次のステップS144で、保護リレー22Aは、ステップS143で生成した指令コードに従い遮断機21Aに対してトリップ信号を送信する。同様に、保護リレー22Bは、ステップS143で生成した指令コードに従い遮断機21Bに対してトリップ信号を送信する。
このように、本第2の実施形態によれば、互いに同期していない複数の時刻サーバから配信された時刻情報に基づき、時刻サーバに異常があっても距離の離れた2点間で計測タイミングの違いを把握できる。
(他の実施形態)
なお、上述の第2の実施形態では、第1の実施形態における装置101、102および103を、送電線保護システムにおける保護リレー22Aおよび22Bに適用した例について説明したが、これはこの例に限定されない。すなわち、第1の実施形態による装置101、102、…を、機器制御装置、異常検知装置、クラウドサービス上のサーバ、ホームゲートウェイ、その他の電子機器に適用することができる。
例えば、第1の実施形態における装置101、102、…をファクトリオートメーションにおける制御装置に適用した場合、解析部207は、一定期間の装置101、102および103の計測データおよび換算時刻で表わされる工場プロセスの状態に応じて、例えば生産装置への制御量を出力する。
また例えば、第1の実施形態における装置101、102、…を蓄電池制御装置に適用した場合、解析部207は、装置101、102、…の計測データおよび換算時刻で表わされる電気量に応じて、蓄電池の充電量または放電量、または太陽光パネルの向き、発電を制御する指令メッセージを送信する。
さらに例えば、第1の実施形態による装置101、102、…を太陽光パネル制御装置や風力発電制御装置に適用した場合、解析部207は、装置101、102、…の計測データおよび計測時刻で表わされる電気量に応じて、発電停止または再開を示す指令メッセージを送信する。
また、装置101、102、…は、物理量を計測し、計測データおよび換算時刻を送信する機能を備えていなくてもよい。つまり、例えば装置101は、図2に示すクロック201、計測部203、コンバータ206および同期部209のうち一部または全てを備えていなくてもよい。この場合、この装置101は、装置102および装置103から受信した計測データと換算時刻を解析しその結果を出力する。
さらに、例えば装置101の通信処理部202がデータの転送機能を備えると共に、解析部207がネットワーク107におけるトラフィック量や通信遅延の時系列データを解析し、結果を受信装置108へ送信する機能を備えていてもよい。この場合、通信処理部202は、計測データが記されたメッセージ、同期メッセージ、および指令メッセージ以外のメッセージをネットワーク107を介して受信したとき、当該メッセージをネットワーク107に転送する。この場合、時刻サーバ同士を同期しなくても、ネットワーク107上における装置101、102、…間のトラフィック量の時系列データや通信遅延を解析可能になる。
さらにまた、例えば装置101は、通信処理部202の他に、外部装置(図示しない)に対してデータまたは信号を出力する出力部を備え、時系列解析による解析結果が特定の条件を満たす場合に、所定の信号や指令メッセージを当該外部装置に対して送信してもよい。例えば、装置101が保護リレーの場合、装置101と遮断器21Aとが接続され、解析部207が出力部を介してトリップ信号を遮断器21Aに送信する。
また、例えば装置101は、計測データと換算時刻とを、互いに異なるメッセージで送信しても構わない。さらに、例えば装置101は、複数の種類の計測データを複数のメッセージに分けて送信しても構わない。
ネットワーク107は、LAN(Local Area Network)やメッシュネットワーク、インターネットを適用することができる。また、ネットワーク107は、一部または全域が無線で構成されたネットワークでもよい。計測データは、例えば電気量でもよいし、蓄電量、速度、水量、圧力、温度、振動、湿度、緯度、経度、高度などの位置情報といった物理量でよい。
また、装置101、102、…は、時刻サーバを兼ねてもよい。例えば、装置101が時刻サーバ104を兼ねる場合、装置101の同期部209は、通信処理部202およびネットワーク107を介して装置102および103に同期メッセージを送信することが考えられる。この場合、時刻サーバ104と装置101との間のトラフィックを抑制することができる。また、システム全体の装置数を削減することが可能である。
なお、上述した図3では、複数の異なる種類の物理量(電流および電圧)を同じタイミングで計測するように示しているが、これはこの例に限定されない。すなわち、各実施形態において、複数種類の物理量を互いに異なるタイミングで計測してもよい。
なお、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。