(57)【要約】  データ保存装置２００の定義記憶部２０２は、データ記憶部２０１のデータ列のうち一部の列について、時刻と列との対応関係の定義を記憶する。データ保存装置２００の選択部２０７は、機器３００から受信されたデータ値に対応する時刻と列との対応関係の定義が定義記憶部２０２に記憶されていない場合、データ記憶部２０１のデータ列のうち、時刻との対応関係の定義が定義記憶部２０２に記憶されていない列を選択する。データ保存装置２００の保存部２０８は、機器３００から受信されたデータ値を、データ記憶部２０１の、受信されたデータ値に対応する日付によって識別される行の、選択部２０７により選択された列に保存する。このため、データベース構造を変更することなく、データの収集間隔を定期間隔から可変間隔に変更することが可能となる。
2013186866.tif 000002
【特許請求の範囲】
【請求項１】
行及び列を有し、それぞれの行が少なくとも日付によって識別され、いくつかの列がデータ値を保存するためのデータ列である表形式のデータ記憶部と、
前記データ列のうち一部の列について、時刻と列との対応関係の定義を記憶する定義記憶部と、
日時に対応付けられたデータ値を送信する機器から、送信されたデータ値を受信する受信部と、
前記受信部により受信されたデータ値ごとに、受信されたデータ値に対応する時刻と列との対応関係の定義が前記定義記憶部に記憶されている場合、記憶されている定義に基づいて、前記データ列のうち、受信されたデータ値に対応する時刻に対応する列を選択し、受信されたデータ値に対応する時刻と列との対応関係の定義が前記定義記憶部に記憶されていない場合、前記データ列のうち、時刻との対応関係の定義が前記定義記憶部に記憶されていない列を選択する選択部と、
前記受信部により受信されたデータ値を、前記データ記憶部の、受信されたデータ値に対応する日付によって識別される行の、前記選択部により選択された列に保存する保存部と
を備えることを特徴とするデータ保存装置。
【請求項２】
前記データ列のうち前記一部の列は、前記機器から複数の日の同じ時刻に送信されるデータ値を保存するための列であり、
前記データ列の残りの列は、前記機器から特定の日の個別に指定された時刻に送信されるデータ値を保存するための列であることを特徴とする請求項１のデータ保存装置。
【請求項３】
前記データ保存装置は、さらに、
前記機器から前記特定の日の個別に指定された時刻に送信されるデータ値の送信タイミングを示す情報を記憶する変更記憶部
を備え、
前記選択部は、前記受信部により受信されたデータ値に対応する時刻と列との対応関係の定義が前記定義記憶部に記憶されていない場合、前記変更記憶部に記憶されている情報に基づいて、前記データ列のうち前記残りの列から１つの列を選択することを特徴とする請求項２のデータ保存装置。
【請求項４】
前記受信部は、２つ以上の前記機器から、送信されたデータ値を受信し、
前記データ記憶部のそれぞれの行は、少なくとも日付と前記機器の識別子との組み合わせによって識別され、
前記保存部は、前記受信部により受信されたデータ値を、前記データ記憶部の、受信されたデータ値に対応する日付と受信されたデータ値を送信した機器の識別子との組み合わせによって識別される行の、前記選択部により選択された列に保存することを特徴とする請求項１から３のいずれかのデータ保存装置。
【請求項５】
前記受信部は、前記機器から、送信されたデータ値として、前記機器により計測されたエネルギー消費量のデータ値を受信することを特徴とする請求項１から４のいずれかのデータ保存装置。
【請求項６】
請求項１から５のいずれかのデータ保存装置と、
前記データ保存装置により保存されたデータ値を読み取り、読み取ったデータ値を集計するデータ集計装置と
を備えることを特徴とするデータ保存システム。
【請求項７】
請求項１から５のいずれかのデータ保存装置と、
日時に対応付けられたデータ値を前記データ保存装置に送信する機器と
を備えることを特徴とするデータ保存システム。
【請求項８】
行及び列を有し、それぞれの行が少なくとも日付によって識別され、いくつかの列がデータ値を保存するためのデータ列である表形式のデータ記憶部と、前記データ列のうち一部の列について、時刻と列との対応関係の定義を記憶する定義記憶部とを用いたデータ保存方法であって、
日時に対応付けられたデータ値を送信する機器から、送信されたデータ値を受信し、
前記受信により受信されたデータ値ごとに、受信されたデータ値に対応する時刻と列との対応関係の定義が前記定義記憶部に記憶されている場合、記憶されている定義に基づいて、前記データ列のうち、受信されたデータ値に対応する時刻に対応する列を選択し、受信されたデータ値に対応する時刻と列との対応関係の定義が前記定義記憶部に記憶されていない場合、前記データ列のうち、時刻との対応関係の定義が前記定義記憶部に記憶されていない列を選択し、
前記受信により受信されたデータ値を、前記データ記憶部の、受信されたデータ値に対応する日付によって識別される行の、前記選択により選択された列に保存することを特徴とするデータ保存方法。
【請求項９】
行及び列を有し、それぞれの行が少なくとも日付によって識別され、いくつかの列がデータ値を保存するためのデータ列である表形式のデータ記憶部と、前記データ列のうち一部の列について、時刻と列との対応関係の定義を記憶する定義記憶部とを備えるコンピュータを、
日時に対応付けられたデータ値を送信する機器から、送信されたデータ値を受信する受信部と、
前記受信部により受信されたデータ値ごとに、受信されたデータ値に対応する時刻と列との対応関係の定義が前記定義記憶部に記憶されている場合、記憶されている定義に基づいて、前記データ列のうち、受信されたデータ値に対応する時刻に対応する列を選択し、受信されたデータ値に対応する時刻と列との対応関係の定義が前記定義記憶部に記憶されていない場合、前記データ列のうち、時刻との対応関係の定義が前記定義記憶部に記憶されていない列を選択する選択部と、
前記受信部により受信されたデータ値を、前記データ記憶部の、受信されたデータ値に対応する日付によって識別される行の、前記選択部により選択された列に保存する保存部
として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ保存装置及びデータ保存システム及びデータ保存方法及びコンピュータ読み取り可能な記録媒体に関するものである。本発明は、特に、ネットワーク経由で収集したデータを保存する技術に関するものである。
【背景技術】
【０００２】
データをネットワーク経由で取得できる環境下で、データを定期的に収集してデータベースに蓄積する技術がある（例えば、特許文献１〜１０参照）。データの収集間隔は、定期間隔から可変間隔に変更することができる（例えば、特許文献１，６〜８，１０参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１２９０３５号公報
【特許文献２】特開２０１１−１２２９０８号公報
【特許文献３】特開２０１０−１０４１６４号公報
【特許文献４】特開２００９−２５１８７４号公報
【特許文献５】特開２００９−１４６４４３号公報
【特許文献６】特開２００８−１５７２２号公報
【特許文献７】特開２００７−２４１５７２号公報
【特許文献８】特開２００４−２８０６１８号公報
【特許文献９】特開２００３−２５６９５１号公報
【特許文献１０】特開２００２−１８０５０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献３の図２６には、定時計測データを時刻１、時刻２、・・・、時刻７の列に記憶するデータベースが開示されている。しかし、従来技術では、このようなデータベース構造を変更することなく、データの収集間隔を定期間隔から可変間隔に変更することができないという課題があった。【０００５】
本発明は、例えば、データベース構造を変更することなく、データの収集間隔を定期間隔から可変間隔に変更することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一の態様に係るデータ保存装置は、
行及び列を有し、それぞれの行が少なくとも日付によって識別され、いくつかの列がデータ値を保存するためのデータ列である表形式のデータ記憶部と、
前記データ列のうち一部の列について、時刻と列との対応関係の定義を記憶する定義記憶部と、
日時に対応付けられたデータ値を送信する機器から、送信されたデータ値を受信する受信部と、
前記受信部により受信されたデータ値ごとに、受信されたデータ値に対応する時刻と列との対応関係の定義が前記定義記憶部に記憶されている場合、記憶されている定義に基づいて、前記データ列のうち、受信されたデータ値に対応する時刻に対応する列を選択し、受信されたデータ値に対応する時刻と列との対応関係の定義が前記定義記憶部に記憶されていない場合、前記データ列のうち、時刻との対応関係の定義が前記定義記憶部に記憶されていない列を選択する選択部と、
前記受信部により受信されたデータ値を、前記データ記憶部の、受信されたデータ値に対応する日付によって識別される行の、前記選択部により選択された列に保存する保存部とを備える。
【発明の効果】
【０００７】
本発明の一の態様において、データ保存装置の定義記憶部は、データ記憶部のデータ列のうち一部の列について、時刻と列との対応関係の定義を記憶する。データ保存装置の選択部は、機器から受信されたデータ値に対応する時刻と列との対応関係の定義が定義記憶部に記憶されていない場合、データ記憶部のデータ列のうち、時刻との対応関係の定義が定義記憶部に記憶されていない列を選択する。データ保存装置の保存部は、機器から受信されたデータ値を、データ記憶部の、受信されたデータ値に対応する日付によって識別される行の、選択部により選択された列に保存する。このため、本発明の一の態様によれば、データベース構造を変更することなく、データの収集間隔を定期間隔から可変間隔に変更することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１及び２に係るデータ保存システムの構成を示すブロック図。
【図２】実施の形態１から３までに係るデータ保存装置のハードウェア構成の例を示す図。
【図３】実施の形態１及び２に係るデータ保存装置の動作を示すフローチャート。
【図４】実施の形態１及び２に係るデータ記憶部の例を示す表。
【図５】実施の形態１及び２に係る定義記憶部の例を示す表。
【図６】実施の形態１及び２に係る変更記憶部の例を示す表。
【図７】実施の形態１及び２に係るデータ記憶部の例を示す表。
【図８】実施の形態３に係るデータ保存システムの構成を示すブロック図。
【図９】実施の形態３に係るデータ記憶部の例を示す表。
【図１０】実施の形態３に係る定義記憶部の例を示す表。
【図１１】実施の形態３に係る変更記憶部の例を示す表。
【図１２】実施の形態３に係るデータ記憶部の例を示す表。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について、図を用いて説明する。
【００１０】
実施の形態１．
図１は、本実施の形態に係るデータ保存システム１００の構成を示すブロック図である。
【００１１】
図１において、データ保存システム１００は、データ保存装置２００と機器３００とデータ集計装置４００とを備える。
【００１２】
機器３００は、日時に対応付けられたデータ値をネットワーク経由でデータ保存装置２００に送信する。具体的には、機器３００は、後述する指示部２０５の指示に従って、毎日（複数の日の例）の同じ時刻に（即ち、定期間隔で）データ値をデータ保存装置２００に送信する。機器３００は、さらに、後述する指示部２０５の指示に従って、特定の日の個別に指定された時刻に（即ち、可変間隔で）データ値をデータ保存装置２００に送信する。
【００１３】
データ集計装置４００は、データ保存装置２００により保存されたデータ値をネットワーク経由でデータ保存装置２００から読み取り、読み取ったデータ値を集計及び分析する。なお、データ集計装置４００は、データ保存装置２００と一体化されていてもよい。
【００１４】
データ保存装置２００は、データ記憶部２０１、定義記憶部２０２、変更記憶部２０３、入力部２０４、指示部２０５、受信部２０６、選択部２０７、保存部２０８を備える。
【００１５】
データ記憶部２０１は、行及び列を有し、それぞれの行が少なくとも日付によって識別され、いくつかの列がデータ値を保存するためのデータ列である表形式のデータベースである。データ列のうち一部の列は、機器３００から定期間隔で送信されるデータ値を保存するための列である。データ列の残りの列は、機器３００から可変間隔で送信されるデータ値を保存するための列である。
【００１６】
定義記憶部２０２は、データ記憶部２０１のデータ列のうち上記一部の列について、時刻と列との対応関係の定義を記憶する。
【００１７】
変更記憶部２０３は、機器３００から可変間隔で送信されるデータ値の送信タイミングを示す情報（即ち、データの収集間隔の変更に関する情報）を記憶する。
【００１８】
入力部２０４は、時刻と列との対応関係の定義を定義記憶部２０２に手動あるいは自動で入力する。また、入力部２０４は、データの収集間隔の変更に関する情報を変更記憶部２０３に手動あるいは自動で入力する。
【００１９】
指示部２０５は、入力部２０４により入力された（あるいは、定義記憶部２０２に記憶された）定義に基づいて、毎日何時にデータ値を送信すべきかを機器３００に指示する。即ち、指示部２０５は、毎日、列との対応関係の定義が定義記憶部２０２に記憶されている時刻にデータ値をデータ保存装置２００に送信するように機器３００に指示する。また、指示部２０５は、入力部２０４により入力された（あるいは、変更記憶部２０３に記憶された）情報に基づいて、毎日データ値を送信する時刻以外に、特定の日の何時にデータ値を送信すべきかを機器３００に指示する。即ち、指示部２０５は、さらに、特定の日に、列との対応関係の定義が定義記憶部２０２に記憶されていない時刻にデータ値をデータ保存装置２００に送信するように機器３００に指示する。
【００２０】
受信部２０６は、機器３００から、送信されたデータ値を受信する。データ値に対応する日時は、機器３００からデータ値が送信された日時（即ち、送信日時）である。データ値に対応する日時が正確に特定できるように、受信部２０６は、機器３００から、データ値の送信日時を示す情報を、データ値とともに受信することが望ましい。ただし、受信部２０６は、データ値の送信日時を、データ値の受信日時で代用したり、データ値の受信日時から推測したりしてもよい。なお、機器３００がデータ値を取得した日時（即ち、取得日時）を、データ値に対応する日時として扱ってもよい。
【００２１】
選択部２０７は、受信部２０６により受信されたデータ値ごとに、受信されたデータ値に対応する時刻と列との対応関係の定義が定義記憶部２０２に記憶されているかどうかを判定する。受信されたデータ値に対応する時刻と列との対応関係の定義が定義記憶部２０２に記憶されている場合、選択部２０７は、記憶されている定義に基づいて、データ記憶部２０１のデータ列のうち、受信されたデータ値に対応する時刻に対応する列を選択する。即ち、選択部２０７は、受信されたデータ値に対応する時刻との対応関係が定義記憶部２０２で定義されているデータ列を選択する。一方、受信されたデータ値に対応する時刻と列との対応関係の定義が定義記憶部２０２に記憶されていない場合、選択部２０７は、データ記憶部２０１のデータ列のうち、時刻との対応関係の定義が定義記憶部２０２に記憶されていない列を選択する。即ち、選択部２０７は、時刻との対応関係が定義記憶部２０２で定義されていないデータ列を選択する。
【００２２】
保存部２０８は、受信部２０６により受信されたデータ値を、データ記憶部２０１の、受信されたデータ値に対応する日付によって識別される行の、選択部２０７により選択された列に保存する。
【００２３】
本実施の形態によれば、機器３００から定期間隔で収集されたデータ値だけでなく、機器３００から可変間隔で収集されたデータ値も、データ記憶部２０１に一元的に保存することができる。
【００２４】
本実施の形態によれば、定期間隔で収集されたデータ値のうち、異なる日付で、同じ時刻のデータ値は、同じ列に保存される。そのため、データ集計装置４００は、データ値を効率的に集計することができる。集計の際、データ集計装置４００は、定義記憶部２０２に記憶されている定義を参照することで、どの列が何時に対応するかを特定することができる。
【００２５】
本実施の形態によれば、可変間隔で収集されたデータ値のうち、同じ日付で、異なる時刻のデータ値は、定期間隔で収集された、同じ日付のデータ値とともに、同じ行に保存される。そのため、データ集計装置４００は、個別の日のデータ値を詳細に分析することができる。分析の際、データ集計装置４００は、変更記憶部２０３に記憶されている情報を参照することで、可変間隔で収集されたデータ値がそれぞれ何時のデータ値であるかを特定することができる。
【００２６】
図１には示していないが、データ保存装置２００は、処理装置、記憶装置、入力装置、出力装置等のハードウェアを備える。ハードウェアはデータ保存装置２００の各部によって利用される。例えば、処理装置は、データ保存装置２００の各部でデータや情報の演算、加工、読み取り、書き込み等を行うために利用される。記憶装置は、そのデータや情報を記憶するために利用される。入力装置は、そのデータや情報を入力するために、出力装置は、そのデータや情報を出力するために利用される。
【００２７】
データ記憶部２０１と定義記憶部２０２と変更記憶部２０３は、記憶装置により実装される。
【００２８】
図２は、データ保存装置２００のハードウェア構成の例を示す図である。
【００２９】
図２において、データ保存装置２００は、コンピュータであり、ＬＣＤ９０１（Ｌｉｑｕｉｄ・Ｃｒｙｓｔａｌ・Ｄｉｓｐｌａｙ）、キーボード９０２（Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、ＣＤＤ９０５（Ｃｏｍｐａｃｔ・Ｄｉｓｃ・Ｄｒｉｖｅ）、プリンタ９０６といったハードウェアデバイスを備えている。これらのハードウェアデバイスはケーブルや信号線で接続されている。ＬＣＤ９０１の代わりに、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）、あるいは、その他の表示装置が用いられてもよい。マウス９０３の代わりに、タッチパネル、タッチパッド、トラックボール、ペンタブレット、あるいは、その他のポインティングデバイスが用いられてもよい。
【００３０】
データ保存装置２００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）を備えている。ＣＰＵ９１１は、処理装置の例である。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３（Ｒｅａｄ・Ｏｎｌｙ・Ｍｅｍｏｒｙ）、ＲＡＭ９１４（Ｒａｎｄｏｍ・Ａｃｃｅｓｓ・Ｍｅｍｏｒｙ）、通信ボード９１５、ＬＣＤ９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ９０６、ＨＤＤ９２０（Ｈａｒｄ・Ｄｉｓｋ・Ｄｒｉｖｅ）と接続され、これらのハードウェアデバイスを制御する。ＨＤＤ９２０の代わりに、フラッシュメモリ、光ディスク装置、メモリカードリーダライタ、あるいは、その他の記録媒体が用いられてもよい。
【００３１】
ＲＡＭ９１４は、揮発性メモリの例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、ＨＤＤ９２０は、不揮発性メモリの例である。これらは、記憶装置の例である。通信ボード９１５、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５は、入力装置の例である。また、通信ボード９１５、ＬＣＤ９０１、プリンタ９０６は、出力装置の例である。
【００３２】
通信ボード９１５は、ＬＡＮ（Ｌｏｃａｌ・Ａｒｅａ・Ｎｅｔｗｏｒｋ）等に接続されている。通信ボード９１５は、ＬＡＮに限らず、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ・Ｖｉｒｔｕａｌ・Ｐｒｉｖａｔｅ・Ｎｅｔｗｏｒｋ）、広域ＬＡＮ、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ・Ｔｒａｎｓｆｅｒ・Ｍｏｄｅ）ネットワークといったＷＡＮ（Ｗｉｄｅ・Ａｒｅａ・Ｎｅｔｗｏｒｋ）、あるいは、インターネットに接続されていても構わない。ＬＡＮ、ＷＡＮ、インターネットは、ネットワークの例である。
【００３３】
ＨＤＤ９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。プログラム群９２３には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが含まれている。プログラムは、ＣＰＵ９１１により読み出され実行される。ファイル群９２４には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ＩＤ（識別子）」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として含まれている。「〜ファイル」や「〜データベース」や「〜テーブル」は、ＲＡＭ９１４やＨＤＤ９２０等の記録媒体に記憶される。ＲＡＭ９１４やＨＤＤ９２０等の記録媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったＣＰＵ９１１の処理（動作）に用いられる。抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったＣＰＵ９１１の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００３４】
本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示す。データや信号は、ＲＡＭ９１４等のメモリ、ＦＤＤ９０４のフレキシブルディスク（ＦＤ）、ＣＤＤ９０５のコンパクトディスク（ＣＤ）、ＨＤＤ９２０の磁気ディスク、光ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）、あるいは、その他の記録媒体に記録される。また、データや信号は、バス９１２、信号線、ケーブル、あるいは、その他の伝送媒体により伝送される。
【００３５】
本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアのみ、あるいは、素子、デバイス、基板、配線といったハードウェアのみで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアとハードウェアとの組み合わせ、あるいは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、フレキシブルディスク、コンパクトディスク、磁気ディスク、光ディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、プログラムは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００３６】
図３は、データ保存装置２００の動作（本実施の形態に係るデータ保存方法、及び、本実施の形態に係るコンピュータ読み取り可能な記録媒体に記録されるプログラムの処理手順に相当）を示すフローチャートである。
【００３７】
以下では、具体的な例を用いて、図３に示したデータ保存装置２００の動作を説明する。
【００３８】
本例において、機器３００は、住宅、オフィス、店舗、工場といった建物の内あるいは外に設置され、建物における電気使用量（エネルギー消費量の例）を計測する。
【００３９】
機器３００は、定期間隔で、計測した電気使用量のデータ値をデータ保存装置２００に送信する。具体的には、２０１２年３月１５日以降、機器３００は、毎日９時００分から１８時００分まで３時間おきに、直近３時間における電気使用量のデータ値をデータ保存装置２００に送信する。２０１２年５月３１日以降、機器３００は、毎日２１時００分にも、直近３時間における電気使用量のデータ値をデータ保存装置２００に送信する。
【００４０】
機器３００は、さらに、可変間隔で、計測した電気使用量のデータ値をデータ保存装置２００に送信する。具体的には、機器３００は、２０１２年６月１日１３時００分から１４時００分まで１０分おきに、直近１０分間における電気使用量のデータ値をデータ保存装置２００に送信する。本例では、機器３００から可変間隔でデータ値が送信される場合も、データ値の送信が一定の間隔で繰り返されるが、この繰り返しの間隔は、前述した定期間隔とは別のものである。
【００４１】
図４は、２０１２年６月１日９時００分の直前におけるデータ記憶部２０１の例を示す表である。
【００４２】
図４において、データ記憶部２０１は、日付２１１と定期間隔データ２１２と可変間隔データ２１３との列を有する表形式のデータベースである。それぞれの行は、日付２１１によって識別される。日付２１１は、日付を記憶する列である。定期間隔データ２１２は、機器３００により定期間隔で送信されるデータ値を保存するためのｍ個の列（即ち、データ列）である。可変間隔データ２１３は、機器３００により可変間隔で送信されるデータ値を保存するためのｎ個の列（即ち、データ列）である。本例では、ｍ＝５、ｎ＝７とするが、ｍ及びｎは、これ以外の数でもよい。
【００４３】
図５は、定義記憶部２０２の例を示す表である。
【００４４】
図５において、定義記憶部２０２は、開始日２２１と列名２２２と時刻２２３との列を有する表形式のデータベースである。定義記憶部２０２には、時刻とデータ記憶部２０１の定期間隔データ２１２（即ち、列）との対応関係の定義が記憶される。それぞれの行は、開始日２２１と列名２２２との組み合わせによって識別される。開始日２２１は、定義を有効にする日付を記憶する列である。列名２２２は、定期間隔データ２１２の列名を記憶する列である。時刻２２３は、定期間隔データ２１２に対応する時刻を記憶する列である。
【００４５】
定義記憶部２０２に記憶される定義は、予め入力部２０４により書き込まれる。例えば、入力部２０４は、入力装置を介して、時刻と定期間隔データ２１２との対応関係の定義の入力をユーザから受け付ける。そして、入力部２０４は、入力された定義を定義記憶部２０２に書き込む。あるいは、入力部２０４は、入力装置を介して、機器３００によりデータ値が送信されるスケジュールの入力をユーザから受け付ける。そして、入力部２０４は、入力されたスケジュールに基づいて時刻と定期間隔データ２１２との対応関係を定義し、定義を定義記憶部２０２に書き込む。指示部２０５は、この定義に基づいて、毎日何時にデータ値を送信すべきかを機器３００に指示する。
【００４６】
図４に示したデータ記憶部２０１では、日付２１１「２０１２／０３／１５」の行の時刻１、時刻２の定期間隔データ２１２が、それぞれ「１５」、「１８」になっている。図５に示した定義記憶部２０２では、開始日２２１「２０１２／０３／１５」、列名２２２「時刻１」の行の時刻２２３が「０９：００」になっている。開始日２２１「２０１２／０３／１５」、列名２２２「時刻２」の行の時刻２２３が「１２：００」になっている。このことから、２０１２年３月１５日９時００分、１２時００分に対応する電気使用量のデータ値が、それぞれ１５ｋＷｈ（キロワット時）、１８ｋＷｈであることがわかる。
【００４７】
また、図４に示したデータ記憶部２０１では、日付２１１「２０１２／０５／３１」の行の時刻１、時刻２、・・・、時刻ｍ（時刻５）の定期間隔データ２１２が、それぞれ「１５」、「１７」、・・・、「３」になっている。前述したように、図５に示した定義記憶部２０２では、開始日２２１「２０１２／０３／１５」、列名２２２「時刻１」の行の時刻２２３が「０９：００」になっている。開始日２２１「２０１２／０３／１５」、列名２２２「時刻２」の行の時刻２２３が「１２：００」になっている。さらに、開始日２２１「２０１２／０５／３１」、列名２２２「時刻ｍ（時刻５）」の行の時刻２２３が「２１：００」になっている。このことから、２０１２年５月３１日９時００分、１２時００分、・・・、２１時００分に対応する電気使用量のデータ値が、それぞれ１５ｋＷｈ、１７ｋＷｈ、・・・、３ｋＷｈであることがわかる。
【００４８】
図６は、変更記憶部２０３の例を示す表である。
【００４９】
図６において、変更記憶部２０３は、変更日時２３１と時間間隔２３２と回数２３３との列を有する表形式のデータベースである。変更記憶部２０３には、機器３００から可変間隔で送信されるデータ値の送信タイミングを示す情報が記憶される。それぞれの行は、変更日時２３１によって識別される。変更日時２３１は、機器３００から可変間隔でデータ値が送信され始める日時（即ち、データの収集間隔の変更が有効になる日時）を記憶する列である。時間間隔２３２は、データ値の送信が繰り返される間隔を記憶する列である。回数２３３は、データ値の送信が繰り返される回数を記憶する列である。
【００５０】
変更記憶部２０３に記憶される情報は、予め入力部２０４により書き込まれる。例えば、入力部２０４は、入力装置を介して、機器３００から可変間隔で送信されるデータ値の送信タイミングを示す情報の入力をユーザから受け付ける。そして、入力部２０４は、入力された情報を変更記憶部２０３に書き込む。あるいは、入力部２０４は、入力装置を介して、機器３００によりデータ値が送信されるスケジュールの入力をユーザから受け付ける。そして、入力部２０４は、入力されたスケジュールに基づいて機器３００から可変間隔で送信されるデータ値の送信タイミングを示す情報を生成し、生成した情報を変更記憶部２０３に書き込む。指示部２０５は、この情報に基づいて、特定の日の何時にデータ値を送信すべきかを機器３００に指示する。
【００５１】
図６に示した変更記憶部２０３では、変更日時２３１「２０１２／０６／０１・１３：００」の行の時間間隔２３２が「１０」、回数２３３が「７」になっている。このことから、２０１２年６月１日１３時００分、１３時１０分、・・・、１４時００分に対応する電気使用量のデータ値が、機器３００から送信されることがわかる。本例では、機器３００から可変間隔で送信されるデータ値の送信タイミングを、同じ日に２つ以上設定することはできないものとするが、同じ日に２つ以上の送信タイミングを設定できるようにしてもよい。その場合、重複する送信タイミングを設定できないようにすることが望ましい。
【００５２】
まず、機器３００から、２０１２年６月１日９時００分に対応する電気使用量のデータ値が送信され、このデータ値が１６ｋＷｈを示しているとする。
【００５３】
図３のステップＳ１０１において、受信部２０６は、機器３００から、２０１２年６月１日９時００分に対応するデータ値を受信する。
【００５４】
図３のステップＳ１０２において、選択部２０７は、処理装置を用いて、定義記憶部２０２で、ステップＳ１０１で受信されたデータ値に対応する日付以前の日付が開始日２２１に記憶され、かつ、受信されたデータ値に対応する時刻が時刻２２３に記憶されている行を検索する。即ち、選択部２０７は、定義記憶部２０２で、開始日２２１が２０１２年６月１日以前、時刻２２３が９時００分の行を検索する。本例の定義記憶部２０２では、開始日２２１「２０１２／０３／１５」、列名２２２「時刻１」、時刻２２３「０９：００」の行が検索条件に一致する。よって、選択部２０７は、ステップＳ１０１で受信されたデータ値に対応する時刻とデータ記憶部２０１の定期間隔データ２１２との対応関係の定義が定義記憶部２０２に記憶されていると判定する。そして、ステップＳ１０３へ進む。なお、検索条件に一致する行が複数ある場合、選択部２０７は、開始日２２１が最近の行を選択するものとする。
【００５５】
図３のステップＳ１０３において、選択部２０７は、処理装置を用いて、データ記憶部２０１のデータ列のうち、ステップＳ１０２で検索条件に一致した（定義記憶部２０２の）行の列名２２２に記憶されている列名の定期間隔データ２１２（即ち、受信されたデータ値に対応する時刻に対応する列）を選択する。即ち、選択部２０７は、時刻１の定期間隔データ２１２を選択する。そして、ステップＳ１０５へ進む。
【００５６】
図３のステップＳ１０５において、保存部２０８は、処理装置を用いて、データ記憶部２０１で、ステップＳ１０１で受信されたデータ値に対応する日付が日付２１１に記憶されている行を検索する。即ち、保存部２０８は、データ記憶部２０１で、日付２１１が２０１２年６月１日の行を検索する。本例のデータ記憶部２０１では、検索条件に一致する行が存在しない。よって、保存部２０８は、日付２１１「２０１２／０６／０１」の行をデータ記憶部２０１に追加する。保存部２０８は、ステップＳ１０１で受信されたデータ値を、データ記憶部２０１の、追加した行（即ち、受信されたデータ値に対応する日付によって識別される行）の、ステップＳ１０３で選択された定期間隔データ２１２に保存する。即ち、保存部２０８は、日付２１１「２０１２／０６／０１」の行の時刻１の定期間隔データ２１２に「１６」を保存する。
【００５７】
次に、機器３００から、２０１２年６月１日１２時００分に対応する電気使用量のデータ値が送信され、このデータ値が２０ｋＷｈを示しているとする。
【００５８】
図３のステップＳ１０１において、受信部２０６は、機器３００から、２０１２年６月１日１２時００分に対応するデータ値を受信する。
【００５９】
図３のステップＳ１０２において、選択部２０７は、定義記憶部２０２で、開始日２２１が２０１２年６月１日以前、時刻２２３が１２時００分の行を検索する。本例の定義記憶部２０２では、開始日２２１「２０１２／０３／１５」、列名２２２「時刻２」、時刻２２３「１２：００」の行が検索条件に一致する。よって、選択部２０７は、ステップＳ１０１で受信されたデータ値に対応する時刻とデータ記憶部２０１の定期間隔データ２１２との対応関係の定義が定義記憶部２０２に記憶されていると判定する。そして、ステップＳ１０３へ進む。
【００６０】
図３のステップＳ１０３において、選択部２０７は、時刻２の定期間隔データ２１２を選択する。そして、ステップＳ１０５へ進む。
【００６１】
図３のステップＳ１０５において、保存部２０８は、データ記憶部２０１で、日付２１１が２０１２年６月１日の行を検索する。本例のデータ記憶部２０１では、日付２１１「２０１２／０６／０１」、時刻１の定期間隔データ２１２「１６」の行が検索条件に一致する。よって、保存部２０８は、ステップＳ１０１で受信されたデータ値を、データ記憶部２０１の、検索条件に一致した行の、ステップＳ１０３で選択された定期間隔データ２１２に保存する。即ち、保存部２０８は、日付２１１「２０１２／０６／０１」の行の時刻２の定期間隔データ２１２に「２０」を保存する。
【００６２】
次に、機器３００から、２０１２年６月１日１３時００分に対応する電気使用量のデータ値が送信され、このデータ値が３ｋＷｈを示しているとする。
【００６３】
図３のステップＳ１０１において、受信部２０６は、機器３００から、２０１２年６月１日１３時００分に対応するデータ値を受信する。
【００６４】
図３のステップＳ１０２において、選択部２０７は、定義記憶部２０２で、開始日２２１が２０１２年６月１日以前、時刻２２３が１３時００分の行を検索する。本例の定義記憶部２０２では、検索条件に一致する行が存在しない。よって、選択部２０７は、ステップＳ１０１で受信されたデータ値に対応する時刻とデータ記憶部２０１の定期間隔データ２１２との対応関係の定義が定義記憶部２０２に記憶されていないと判定する。そして、ステップＳ１０４へ進む。
【００６５】
図３のステップＳ１０４において、選択部２０７は、データ記憶部２０１のデータ列のうち、可変間隔データ２１３（即ち、時刻との対応関係の定義が定義記憶部２０２に記憶されていない列）を選択する。そして、ステップＳ１０５へ進む。
【００６６】
図３のステップＳ１０５において、保存部２０８は、データ記憶部２０１で、日付２１１が２０１２年６月１日の行を検索する。本例のデータ記憶部２０１では、日付２１１「２０１２／０６／０１」、時刻１の定期間隔データ２１２「１６」、時刻２の定期間隔データ２１２「２０」の行が検索条件に一致する。よって、保存部２０８は、ステップＳ１０１で受信されたデータ値を、データ記憶部２０１の、検索条件に一致した行の、ステップＳ１０３で選択された可変間隔データ２１３に保存する。その行の２つ以上の可変間隔データ２１３が空いている場合、保存部２０８は、予め定められた順番で（例えば、図４の左から右へ）、データ値の保存先とする可変間隔データ２１３を選択する。即ち、保存部２０８は、日付２１１「２０１２／０６／０１」の行の時刻ｍ＋１（時刻６）の可変間隔データ２１３に「３」を保存する。
【００６７】
次に、機器３００から、２０１２年６月１日１３時１０分に対応する電気使用量のデータ値が送信され、このデータ値が４ｋＷｈを示しているとする。
【００６８】
図３のステップＳ１０１において、受信部２０６は、機器３００から、２０１２年６月１日１３時１０分に対応するデータ値を受信する。
【００６９】
図３のステップＳ１０２において、選択部２０７は、定義記憶部２０２で、開始日２２１が２０１２年６月１日以前、時刻２２３が１３時１０分の行を検索する。本例の定義記憶部２０２では、検索条件に一致する行が存在しない。よって、選択部２０７は、ステップＳ１０１で受信されたデータ値に対応する時刻とデータ記憶部２０１の定期間隔データ２１２との対応関係の定義が定義記憶部２０２に記憶されていないと判定する。そして、ステップＳ１０４へ進む。
【００７０】
図３のステップＳ１０４において、選択部２０７は、可変間隔データ２１３を選択する。そして、ステップＳ１０５へ進む。
【００７１】
図３のステップＳ１０５において、保存部２０８は、データ記憶部２０１で、日付２１１が２０１２年６月１日の行を検索する。本例のデータ記憶部２０１では、日付２１１「２０１２／０６／０１」、時刻１の定期間隔データ２１２「１６」、時刻２の定期間隔データ２１２「２０」、時刻ｍ＋１（時刻６）の定期間隔データ２１２「３」の行が検索条件に一致する。よって、保存部２０８は、日付２１１「２０１２／０６／０１」の行の時刻ｍ＋２（時刻７）の可変間隔データ２１３に「４」を保存する。
【００７２】
以降、機器３００から、２０１２年６月１日１３時２０分、１３時３０分、１３時４０分、１３時５０分、１４時００分に対応する電気使用量のデータ値が順番に送信される。それぞれのデータ値は、ステップＳ１０１〜Ｓ１０５が実行されることにより、日付２１１「２０１２／０６／０１」の行の時刻ｍ＋３（時刻８）、時刻ｍ＋４（時刻９）、時刻ｍ＋５（時刻１０）、時刻ｍ＋６（時刻１１）、時刻ｍ＋ｎ（時刻１２）の可変間隔データ２１３に保存される。
【００７３】
さらに、機器３００から、２０１２年６月１日１５時００分、１８時００分、２１時００分に対応する電気使用量のデータ値が順番に送信される。それぞれのデータ値は、ステップＳ１０１〜Ｓ１０５が実行されることにより、日付２１１「２０１２／０６／０１」の行の時刻３、時刻４、時刻ｍ（時刻５）の定期間隔データ２１２に保存される。
【００７４】
図７は、２０１２年６月１日２１時００分の直後におけるデータ記憶部２０１の例を示す表である。
【００７５】
図７に示したデータ記憶部２０１では、日付２１１「２０１２／０６／０１」の行の時刻１、時刻２、・・・、時刻ｍ（時刻５）の定期間隔データ２１２が、それぞれ「１６」、「２０」、・・・、「５」になっている。前述したように、図５に示した定義記憶部２０２では、開始日２２１「２０１２／０３／１５」、列名２２２「時刻１」の行の時刻２２３が「０９：００」になっている。開始日２２１「２０１２／０３／１５」、列名２２２「時刻２」の行の時刻２２３が「１２：００」になっている。開始日２２１「２０１２／０５／３１」、列名２２２「時刻ｍ（時刻５）」の行の時刻２２３が「２１：００」になっている。このことから、２０１２年６月１日９時００分、１２時００分、・・・、２１時００分に対応する電気使用量のデータ値が、それぞれ１６ｋＷｈ、２０ｋＷｈ、・・・、５ｋＷｈであることがわかる。
【００７６】
また、図７に示したデータ記憶部２０１では、日付２１１「２０１２／０６／０１」の行の時刻ｍ＋１（時刻６）、時刻ｍ＋２（時刻７）、・・・、時刻ｍ＋ｎ（時刻１２）の可変間隔データ２１３が、それぞれ「３」、「４」、・・・、「３」になっている。前述したように、図６に示した変更記憶部２０３では、変更日時２３１「２０１２／０６／０１・１３：００」の行の時間間隔２３２が「１０」、回数２３３が「７」になっている。このことから、２０１２年６月１日１３時００分、１３時１０分、・・・、１４時００分に対応する電気使用量のデータ値が、それぞれ３ｋＷｈ、４ｋＷｈ、・・・、３ｋＷｈであることがわかる。
【００７７】
本例によれば、毎日９時００分から２１時００分まで３時間おきに収集されるデータ値が保存されるデータ記憶部２０１に、２０１２年６月１日だけ１３時００分から１４時００分まで１０分おきに収集されたデータ値を保存することができる。そのため、データ集計装置４００は、２０１２年６月１日の午後の電気使用量を詳細に分析することが可能になる。さらに、データ集計装置４００は、任意の期間（例えば、平日、休日、週、月、年）における朝、昼、夕方、夜といった時間帯ごとの電気使用量を効率的に集計することができる。
【００７８】
本例において、データ記憶部２０１、定義記憶部２０２、変更記憶部２０３のデータベース構造は、前述したものに限らない。
【００７９】
例えば、定義記憶部２０２は、開始日２２１の列を有していなくてもよい。その場合、定義記憶部２０２に記憶された定義は、全ての日付に対して有効となる。
【００８０】
例えば、変更記憶部２０３は、回数２３３の代わりに、機器３００から可変間隔でデータ値が送信され終わる日時（即ち、データの収集間隔の変更が無効になる日時）を記憶する列を有していてもよい。あるいは、変更記憶部２０３は、回数２３３の列を有していなくてもよい。その場合、機器３００は、可変間隔でデータ値をｐ回送信する。ｐがｎと同じ又はｎより小さければ、保存部２０８は、機器３００から送信されたデータ値を全て、該当する行の、空いている可変間隔データ２１３に、予め定められた順番で（例えば、図４の左から右へ）保存する。ｐがｎより大きければ、保存部２０８は、機器３００から最初に送信されたデータ値からｎ番目に送信されたデータ値までを、該当する行の、空いている可変間隔データ２１３に、予め定められた順番で（例えば、図４の左から右へ）保存する。
【００８１】
変更記憶部２０３に記憶される情報は、予め入力部２０４により書き込まれる。例えば、入力部２０４は、入力装置を介して、機器３００から可変間隔で送信されるデータ値の送信タイミングを示す情報の入力をユーザから受け付ける。そして、入力部２０４は、入力された情報を変更記憶部２０３に書き込む。あるいは、入力部２０４は、入力装置を介して、機器３００によりデータ値が送信されるスケジュールの入力をユーザから受け付ける。そして、入力部２０４は、入力されたスケジュールに基づいて機器３００から可変間隔で送信されるデータ値の送信タイミングを示す情報を生成し、生成した情報を変更記憶部２０３に書き込む。指示部２０５は、この情報に基づいて、特定の日の何時にデータ値を送信すべきかを機器３００に指示する。
【００８２】
機器３００は、３時間、１０分といった単位時間における電気使用量の代わりに、積算電気使用量のデータ値をデータ保存装置２００に送信してもよい。その場合、ステップＳ１０５において、保存部２０８は、積算電気使用量のデータ値の差分を計算して単位時間における電気使用量のデータ値を求める。そして、保存部２０８は、求めたデータ値をデータ記憶部２０１に保存する。
【００８３】
機器３００は、建物における電気使用量以外のエネルギー消費量（例えば、ガス、燃料、熱、水道の使用量）を計測してもよい。その場合、機器３００は、定期間隔で、計測したエネルギー消費量のデータ値をデータ保存装置２００に送信する。機器３００は、さらに、特定の日には、可変間隔で、計測したエネルギー消費量のデータ値をデータ保存装置２００に送信する。
【００８４】
機器３００は、建物以外の場所に設置されてもよい。
【００８５】
機器３００は、エネルギー消費量以外の物あるいは事象を観測し、観測結果であるデータ値をデータ保存装置２００に送信してもよい。
【００８６】
以上説明したように、本実施の形態によれば、可変間隔で収集したデータを、集計用のデータ（即ち、定期間隔で収集したデータ）とは別の列に保存することができる。さらに、同時刻だが異なる年月日に収集したデータ（即ち、定期間隔で収集したデータ）を同じ列に保存することで、集計作業を容易にできる。したがって、集計作業効率が向上する。
【００８７】
実施の形態２．
本実施の形態について、主に実施の形態１との差異を説明する。
【００８８】
本実施の形態に係るデータ保存システム１００の構成は、図１に示した実施の形態１のものと同じである。
【００８９】
本実施の形態において、受信部２０６により受信されたデータ値に対応する時刻と列との対応関係の定義が定義記憶部２０２に記憶されていない場合、選択部２０７は、変更記憶部２０３に記憶されている情報に基づいて、データ記憶部２０１のデータ列のうち、機器３００から可変間隔で送信されるデータ値を保存するための列から、１つの列を選択する。そのために、本実施の形態では、変更記憶部２０３に記憶されている情報により示されたタイミングと一致する日時が、機器３００から可変間隔で送信されるデータ値を保存するための列に、どのように対応するかが、予め決められているものとする。
【００９０】
以下では、実施の形態１の説明で用いた例に本実施の形態を適用した場合のデータ保存装置２００の動作を説明する。
【００９１】
本例では、変更記憶部２０３に記憶されている情報により示されたタイミングと一致する日時のうち、それぞれの日付の最も早い時刻が、データ記憶部２０１の可変間隔データ２１３（即ち、機器３００から可変間隔で送信されるデータ値を保存するための列）の左から１番目の列に対応し、遅い時刻ほど、より右にある列に対応することが、予め決められているものとする。
【００９２】
まず、機器３００から、２０１２年６月１日９時００分、１２時００分に対応する電気使用量のデータ値が順番に送信される。それぞれのデータ値は、ステップＳ１０１〜Ｓ１０５が実行されることにより、日付２１１「２０１２／０６／０１」の行の時刻１、時刻２の定期間隔データ２１２に保存される。
【００９３】
次に、機器３００から、２０１２年６月１日１３時００分に対応する電気使用量のデータ値が送信され、このデータ値が３ｋＷｈを示しているとする。
【００９４】
図３のステップＳ１０１，ステップＳ１０２については、実施の形態１と同じである。
【００９５】
図３のステップＳ１０４において、選択部２０７は、処理装置を用いて、変更記憶部２０３で、変更日時２３１と時間間隔２３２と回数２３３との組み合わせにより示されるタイミングがステップＳ１０１で受信されたデータ値に対応する日時と一致する行を検索する。即ち、選択部２０７は、変更記憶部２０３で、時間間隔２３２に０以上かつ回数２３３未満の整数を乗じた時間（即ち、時間間隔２３２の倍数）を変更日時２３１に加えた日時が２０１２年６月１日１３時００分の行を検索する。本例の変更記憶部２０３では、変更日時２３１「２０１２／０６／０１・１３：００」、時間間隔２３２「１０」、回数２３３「７」の行が検索条件に一致する。よって、選択部２０７は、検索条件に一致した行の時間間隔２３２である１０分に０以上かつその行の回数２３３である７未満の整数を乗じた時間（即ち、０分、１０分、・・・、６０分）を、その行の変更日時２３１である２０１２年６月１日１３時００分に加えた日時が、それぞれデータ記憶部２０１の可変間隔データ２１３の左から１，２，・・・，７番目の列に対応すると判断する。即ち、選択部２０７は、２０１２年６月１日１３時００分、１３時１０分、・・・、１４時００分が、それぞれ時刻ｍ＋１（時刻６）、時刻ｍ＋２（時刻７）、・・・、時刻ｍ＋ｎ（時刻１２）の可変間隔データ２１３に対応すると判断する。選択部２０７は、この判断結果に基づいて、可変間隔データ２１３から、ステップＳ１０１で受信されたデータ値に対応する日時に対応する列（即ち、１つの列）を選択する。即ち、選択部２０７は、時刻ｍ＋１（時刻６）の可変間隔データ２１３を選択する。そして、ステップＳ１０５へ進む。なお、上記の判断結果は、一度得られると記憶装置に記憶され、それ以降は記憶装置から読み出されて再利用されるものとする。
【００９６】
図３のステップＳ１０５において、保存部２０８は、データ記憶部２０１で、日付２１１が２０１２年６月１日の行を検索する。本例のデータ記憶部２０１では、日付２１１「２０１２／０６／０１」、時刻１の定期間隔データ２１２「１６」、時刻２の定期間隔データ２１２「２０」の行が検索条件に一致する。よって、保存部２０８は、ステップＳ１０１で受信されたデータ値を、データ記憶部２０１の、検索条件に一致した行の、ステップＳ１０３で選択された可変間隔データ２１３に保存する。即ち、保存部２０８は、日付２１１「２０１２／０６／０１」の行の時刻ｍ＋１（時刻６）の可変間隔データ２１３に「３」を保存する。
【００９７】
次に、機器３００から、２０１２年６月１日１３時１０分に対応する電気使用量のデータ値が送信され、このデータ値が４ｋＷｈを示しているとする。
【００９８】
図３のステップＳ１０１，ステップＳ１０２については、実施の形態１と同じである。
【００９９】
図３のステップＳ１０４において、選択部２０７は、変更記憶部２０３で、時間間隔２３２に０以上かつ回数２３３未満の整数を乗じた時間を変更日時２３１に加えた日時が２０１２年６月１日１３時００分の行を検索する。本例の変更記憶部２０３では、変更日時２３１「２０１２／０６／０１・１３：００」、時間間隔２３２「１０」、回数２３３「７」の行が検索条件に一致する。この行に対応する判断結果は、記憶装置に記憶されているため、選択部２０７は、その判断結果を記憶装置から読み出す。選択部２０７は、読み出した判断結果に基づいて、可変間隔データ２１３から、ステップＳ１０１で受信されたデータ値に対応する日時に対応する列を選択する。即ち、選択部２０７は、時刻ｍ＋２（時刻７）の可変間隔データ２１３を選択する。そして、ステップＳ１０５へ進む。
【０１００】
図３のステップＳ１０５において、保存部２０８は、データ記憶部２０１で、日付２１１が２０１２年６月１日の行を検索する。本例のデータ記憶部２０１では、日付２１１「２０１２／０６／０１」、時刻１の定期間隔データ２１２「１６」、時刻２の定期間隔データ２１２「２０」、時刻ｍ＋１（時刻６）の定期間隔データ２１２「３」の行が検索条件に一致する。よって、保存部２０８は、ステップＳ１０１で受信されたデータ値を、データ記憶部２０１の、検索条件に一致した行の、ステップＳ１０３で選択された可変間隔データ２１３に保存する。即ち、保存部２０８は、日付２１１「２０１２／０６／０１」の行の時刻ｍ＋２（時刻７）の可変間隔データ２１３に「４」を保存する。
【０１０１】
以降、機器３００から、２０１２年６月１日１３時２０分、１３時３０分、１３時４０分、１３時５０分、１４時００分に対応する電気使用量のデータ値が順番に送信される。それぞれのデータ値は、ステップＳ１０１〜Ｓ１０５が実行されることにより、日付２１１「２０１２／０６／０１」の行の時刻ｍ＋３（時刻８）、時刻ｍ＋４（時刻９）、時刻ｍ＋５（時刻１０）、時刻ｍ＋６（時刻１１）、時刻ｍ＋ｎ（時刻１２）の可変間隔データ２１３に保存される。
【０１０２】
さらに、機器３００から、２０１２年６月１日１５時００分、１８時００分、２１時００分に対応する電気使用量のデータ値が順番に送信される。それぞれのデータ値は、ステップＳ１０１〜Ｓ１０５が実行されることにより、日付２１１「２０１２／０６／０１」の行の時刻３、時刻４、時刻ｍ（時刻５）の定期間隔データ２１２に保存される。
【０１０３】
実施の形態３．
本実施の形態について、主に実施の形態１との差異を説明する。
【０１０４】
図８は、本実施の形態に係るデータ保存システム１００の構成を示すブロック図である。
【０１０５】
図８において、データ保存システム１００は、２つ以上の機器３００を備える。
【０１０６】
データ保存装置２００は、実施の形態１と同じように、データ記憶部２０１、定義記憶部２０２、変更記憶部２０３、入力部２０４、指示部２０５、受信部２０６、選択部２０７、保存部２０８を備える。
【０１０７】
データ記憶部２０１のそれぞれの行は、少なくとも日付と機器３００の識別子との組み合わせによって識別される。
【０１０８】
定義記憶部２０２は、機器３００ごとに、時刻と列との対応関係の定義を記憶する。なお、全ての機器３００に共通の定義を用いるのであれば、定義記憶部２０２は、実施の形態１と同じものでもよい。
【０１０９】
変更記憶部２０３は、機器３００ごとに、機器３００から可変間隔で送信されるデータ値の送信タイミングを示す情報（即ち、データの収集間隔の変更に関する情報）を記憶する。なお、全ての機器３００に共通の送信タイミングを設定するのであれば、変更記憶部２０３は、実施の形態１と同じものでもよい。
【０１１０】
指示部２０５は、毎日、列との対応関係の定義が定義記憶部２０２に記憶されている時刻にデータ値をデータ保存装置２００に送信するようにそれぞれの機器３００に指示する。指示部２０５は、さらに、特定の日に、列との対応関係の定義が定義記憶部２０２に記憶されていない時刻にデータ値をデータ保存装置２００に送信するように個別の機器３００に指示する。
【０１１１】
受信部２０６は、それぞれの機器３００から、送信されたデータ値を受信する。
【０１１２】
選択部２０７は、受信部２０６により受信されたデータ値ごとに、受信されたデータ値を送信した機器３００について、受信されたデータ値に対応する時刻と列との対応関係の定義が定義記憶部２０２に記憶されているかどうかを判定する。
【０１１３】
保存部２０８は、受信部２０６により受信されたデータ値を、データ記憶部２０１の、受信されたデータ値に対応する日付と受信されたデータ値を送信した機器３００の識別子との組み合わせによって識別される行の、選択部２０７により選択された列に保存する。
【０１１４】
以下では、実施の形態１の説明で用いた例に本実施の形態を適用した場合のデータ保存装置２００の動作を説明する。
【０１１５】
本例において、それぞれの機器３００は、住宅、オフィス、店舗、工場といった建物の内あるいは外に設置され、建物における電気使用量を計測する。
【０１１６】
それぞれの機器３００は、定期間隔で、計測した電気使用量のデータ値をデータ保存装置２００に送信する。例えば、２０１２年３月１５日以降、識別子「１」の機器３００は、毎日９時００分から１８時００分まで３時間おきに、直近３時間における電気使用量のデータ値をデータ保存装置２００に送信する。２０１２年５月３１日以降、識別子「１」の機器３００は、毎日２１時００分にも、直近３時間における電気使用量のデータ値をデータ保存装置２００に送信する。
【０１１７】
個別に指定された機器３００は、さらに、可変間隔で、計測した電気使用量のデータ値をデータ保存装置２００に送信する。例えば、識別子「１」の機器３００は、２０１２年６月１日１３時００分から１４時００分まで１０分おきに、直近１０分間における電気使用量のデータ値をデータ保存装置２００に送信する。
【０１１８】
図９は、２０１２年６月１日９時００分の直前におけるデータ記憶部２０１の例を示す表である。
【０１１９】
図９において、データ記憶部２０１は、ＩＤ２１４の列を有する。その他の列については、図４に示したデータ記憶部２０１と同じである。それぞれの行は、日付２１１とＩＤ２１４との組み合わせによって識別される。ＩＤ２１４は、機器３００の識別子を記憶する列である。
【０１２０】
図１０は、定義記憶部２０２の例を示す表である。
【０１２１】
図１０において、定義記憶部２０２は、ＩＤ２２４の列を有する。その他の列については、図５に示した定義記憶部２０２と同じである。それぞれの行は、開始日２２１と列名２２２とＩＤ２２４との組み合わせによって識別される。ＩＤ２２４は、機器３００の識別子を記憶する列である。
【０１２２】
図９に示したデータ記憶部２０１では、ＩＤ２１４「１」、日付２１１「２０１２／０３／１５」の行の時刻１、時刻２の定期間隔データ２１２が、それぞれ「１５」、「１８」になっている。図１０に示した定義記憶部２０２では、ＩＤ２２４「１」、開始日２２１「２０１２／０３／１５」、列名２２２「時刻１」の行の時刻２２３が「０９：００」になっている。ＩＤ２２４「１」、開始日２２１「２０１２／０３／１５」、列名２２２「時刻２」の行の時刻２２３が「１２：００」になっている。このことから、識別子「１」の機器３００により送信された、２０１２年３月１５日９時００分、１２時００分に対応する電気使用量のデータ値が、それぞれ１５ｋＷｈ（キロワット時）、１８ｋＷｈであることがわかる。
【０１２３】
また、図９に示したデータ記憶部２０１では、ＩＤ２１４「１」、日付２１１「２０１２／０５／３１」の行の時刻１、時刻２、・・・、時刻ｍ（時刻５）の定期間隔データ２１２が、それぞれ「１５」、「１７」、・・・、「３」になっている。前述したように、図１０に示した定義記憶部２０２では、ＩＤ２２４「１」、開始日２２１「２０１２／０３／１５」、列名２２２「時刻１」の行の時刻２２３が「０９：００」になっている。ＩＤ２２４「１」、開始日２２１「２０１２／０３／１５」、列名２２２「時刻２」の行の時刻２２３が「１２：００」になっている。さらに、ＩＤ２２４「１」、開始日２２１「２０１２／０５／３１」、列名２２２「時刻ｍ（時刻５）」の行の時刻２２３が「２１：００」になっている。このことから、識別子「１」の機器３００により送信された、２０１２年５月３１日９時００分、１２時００分、・・・、２１時００分に対応する電気使用量のデータ値が、それぞれ１５ｋＷｈ、１７ｋＷｈ、・・・、３ｋＷｈであることがわかる。
【０１２４】
図１１は、変更記憶部２０３の例を示す表である。
【０１２５】
図１１において、変更記憶部２０３は、ＩＤ２３４の列を有する。その他の列については、図６に示した変更記憶部２０３と同じである。それぞれの行は、変更日時２３１とＩＤ２３４との組み合わせによって識別される。ＩＤ２３４は、機器３００の識別子を記憶する列である。
【０１２６】
図１１に示した変更記憶部２０３では、ＩＤ２３４「１」、変更日時２３１「２０１２／０６／０１・１３：００」の行の時間間隔２３２が「１０」、回数２３３「７」になっている。このことから、２０１２年６月１日１３時００分、１３時１０分、・・・、１４時００分に対応する電気使用量のデータ値が、識別子「１」の機器３００から送信されることがわかる。本例では、同じ機器３００から可変間隔で送信されるデータ値の送信タイミングを、同じ日に２つ以上設定することはできないものとするが、同じ機器３００について同じ日に２つ以上の送信タイミングを設定できるようにしてもよい。その場合、重複する送信タイミングを設定できないようにすることが望ましい。
【０１２７】
まず、識別子「１」の機器３００から、２０１２年６月１日９時００分に対応する電気使用量のデータ値が送信され、このデータ値が１６ｋＷｈを示しているとする。
【０１２８】
図３のステップＳ１０１において、受信部２０６は、識別子「１」の機器３００から、２０１２年６月１日９時００分に対応するデータ値を受信する。
【０１２９】
図３のステップＳ１０２において、選択部２０７は、定義記憶部２０２で、ＩＤ２２４が「１」、開始日２２１が２０１２年６月１日以前、時刻２２３が９時００分の行を検索する。本例の定義記憶部２０２では、ＩＤ２２４「１」、開始日２２１「２０１２／０３／１５」、列名２２２「時刻１」、時刻２２３「０９：００」の行が検索条件に一致する。よって、選択部２０７は、ステップＳ１０１で受信されたデータ値を送信した機器３００について、受信されたデータ値に対応する時刻とデータ記憶部２０１の定期間隔データ２１２との対応関係の定義が定義記憶部２０２に記憶されていると判定する。そして、ステップＳ１０３へ進む。
【０１３０】
図３のステップＳ１０３において、選択部２０７は、時刻１の定期間隔データ２１２を選択する。そして、ステップＳ１０５へ進む。
【０１３１】
図３のステップＳ１０５において、保存部２０８は、データ記憶部２０１で、ＩＤ２１４が「１」、日付２１１が２０１２年６月１日の行を検索する。本例のデータ記憶部２０１では、検索条件に一致する行が存在しない。よって、保存部２０８は、ＩＤ２１４「１」、日付２１１「２０１２／０６／０１」の行をデータ記憶部２０１に追加する。保存部２０８は、ステップＳ１０１で受信されたデータ値を、データ記憶部２０１の、追加した行（即ち、受信されたデータ値に対応する日付と受信されたデータ値を送信した機器３００の識別子との組み合わせによって識別される行）の、ステップＳ１０３で選択された定期間隔データ２１２に保存する。即ち、保存部２０８は、ＩＤ２１４「１」、日付２１１「２０１２／０６／０１」の行の時刻１の定期間隔データ２１２に「１６」を保存する。
【０１３２】
次に、識別子「１」の機器３００から、２０１２年６月１日１２時００分に対応する電気使用量のデータ値が送信される。データ値は、ステップＳ１０１〜Ｓ１０５が実行されることにより、ＩＤ２１４「１」、日付２１１「２０１２／０６／０１」の行の時刻２の定期間隔データ２１２に保存される。
【０１３３】
次に、識別子「１」の機器３００から、２０１２年６月１日１３時００分に対応する電気使用量のデータ値が送信され、このデータ値が３ｋＷｈを示しているとする。
【０１３４】
図３のステップＳ１０１において、受信部２０６は、識別子「１」の機器３００から、２０１２年６月１日１３時００分に対応するデータ値を受信する。
【０１３５】
図３のステップＳ１０２において、選択部２０７は、定義記憶部２０２で、開始日２２１が２０１２年６月１日以前、時刻２２３が１３時００分の行を検索する。本例の定義記憶部２０２では、検索条件に一致する行が存在しない。よって、選択部２０７は、ステップＳ１０１で受信されたデータ値を送信した機器３００について、受信されたデータ値に対応する時刻とデータ記憶部２０１の定期間隔データ２１２との対応関係の定義が定義記憶部２０２に記憶されていないと判定する。そして、ステップＳ１０４へ進む。
【０１３６】
図３のステップＳ１０４において、選択部２０７は、データ記憶部２０１のデータ列のうち、可変間隔データ２１３を選択する。そして、ステップＳ１０５へ進む。
【０１３７】
図３のステップＳ１０５において、保存部２０８は、データ記憶部２０１で、ＩＤ２１４が「１」、日付２１１が２０１２年６月１日の行を検索する。本例のデータ記憶部２０１では、ＩＤ２１４「１」、日付２１１「２０１２／０６／０１」、時刻１の定期間隔データ２１２「１６」、時刻２の定期間隔データ２１２「２０」の行が検索条件に一致する。よって、保存部２０８は、ＩＤ２１４「１」、日付２１１「２０１２／０６／０１」の行の時刻ｍ＋１（時刻６）の可変間隔データ２１３に「３」を保存する。
【０１３８】
以降、識別子「１」の機器３００から、２０１２年６月１日１３時１０分、１３時２０分、１３時３０分、１３時４０分、１３時５０分、１４時００分に対応する電気使用量のデータ値が順番に送信される。それぞれのデータ値は、ステップＳ１０１〜Ｓ１０５が実行されることにより、ＩＤ２１４「１」、日付２１１「２０１２／０６／０１」の行の時刻ｍ＋２（時刻７）、時刻ｍ＋３（時刻８）、時刻ｍ＋４（時刻９）、時刻ｍ＋５（時刻１０）、時刻ｍ＋６（時刻１１）、時刻ｍ＋ｎ（時刻１２）の可変間隔データ２１３に保存される。
【０１３９】
さらに、識別子「１」の機器３００から、２０１２年６月１日１５時００分、１８時００分、２１時００分に対応する電気使用量のデータ値が順番に送信される。それぞれのデータ値は、ステップＳ１０１〜Ｓ１０５が実行されることにより、ＩＤ２１４「１」、日付２１１「２０１２／０６／０１」の行の時刻３、時刻４、時刻ｍ（時刻５）の定期間隔データ２１２に保存される。
【０１４０】
図１２は、２０１２年６月１日２１時００分の直後におけるデータ記憶部２０１の例を示す表である。
【０１４１】
図１２に示したデータ記憶部２０１では、ＩＤ２１４「１」、日付２１１「２０１２／０６／０１」の行の時刻１、時刻２、・・・、時刻ｍ（時刻５）の定期間隔データ２１２が、それぞれ「１６」、「２０」、・・・、「５」になっている。前述したように、図１０に示した定義記憶部２０２では、ＩＤ２２４「１」、開始日２２１「２０１２／０３／１５」、列名２２２「時刻１」の行の時刻２２３が「０９：００」になっている。ＩＤ２２４「１」、開始日２２１「２０１２／０３／１５」、列名２２２「時刻２」の行の時刻２２３が「１２：００」になっている。ＩＤ２２４「１」、開始日２２１「２０１２／０５／３１」、列名２２２「時刻ｍ（時刻５）」の行の時刻２２３が「２１：００」になっている。このことから、識別子「１」の機器３００により送信された、２０１２年６月１日９時００分、１２時００分、・・・、２１時００分に対応する電気使用量のデータ値が、それぞれ１６ｋＷｈ、２０ｋＷｈ、・・・、５ｋＷｈであることがわかる。
【０１４２】
また、図１２に示したデータ記憶部２０１では、ＩＤ２１４「１」、日付２１１「２０１２／０６／０１」の行の時刻ｍ＋１（時刻６）、時刻ｍ＋２（時刻７）、・・・、時刻ｍ＋ｎ（時刻１２）の可変間隔データ２１３が、それぞれ「３」、「４」、・・・、「３」になっている。前述したように、図１０に示した変更記憶部２０３では、ＩＤ２３４「１」、変更日時２３１「２０１２／０６／０１・１３：００」の行の時間間隔２３２が「１０」、回数２３３が「７」になっている。このことから、識別子「１」の機器３００により送信された、２０１２年６月１日１３時００分、１３時１０分、・・・、１４時００分に対応する電気使用量のデータ値が、それぞれ３ｋＷｈ、４ｋＷｈ、・・・、３ｋＷｈであることがわかる。
【０１４３】
図１２に示す通り、識別子「２」の機器３００から送信される電気使用量のデータ値も、ステップＳ１０１〜Ｓ１０５が実行されることにより、識別子「１」の機器３００から送信される電気使用量のデータ値と同じように、データ記憶部２０１に保存される。
【０１４４】
例えば、各家庭にスマートメータが設置され、消費電力量をネットワーク経由で取得できる環境下で、電力会社内のデータ収集サーバにて各家庭の消費電力量のデータを定期的に収集して蓄積するシステムがある。このシステムにおいて、時間帯によって電気料金を変えてピークカットを実施したい等の理由で、データの収集間隔を変えたい場合がある。そのような場合に、本実施の形態を適用すれば、データベース構造を変更することなく、データの収集間隔を変えることができる。
【０１４５】
以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、２つ以上を組み合わせて実施しても構わない。あるいは、これらの実施の形態のうち、１つを部分的に実施しても構わない。あるいは、これらの実施の形態のうち、２つ以上を部分的に組み合わせて実施しても構わない。なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【０１４６】
１００  データ保存システム、２００  データ保存装置、２０１  データ記憶部、２０２  定義記憶部、２０３  変更記憶部、２０４  入力部、２０５  指示部、２０６  受信部、２０７  選択部、２０８  保存部、２１１  日付、２１２  定期間隔データ、２１３  可変間隔データ、２１４  ＩＤ、２２１  開始日、２２２  列名、２２３  時刻、２２４  ＩＤ、２３１  変更日時、２３２  時間間隔、２３３  回数、２３４  ＩＤ、３００  機器、４００  データ集計装置、９０１  ＬＣＤ、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  ＨＤＤ、９２１  オペレーティングシステム、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群。
【図１】
2013186866.tif 000003
【図２】
2013186866.tif 000004
【図３】
2013186866.tif 000005
【図４】
2013186866.tif 000006
【図５】
2013186866.tif 000007
【図６】
2013186866.tif 000008
【図７】
2013186866.tif 000009
【図８】
2013186866.tif 000010
【図９】
2013186866.tif 000011
【図１０】
2013186866.tif 000012
【図１１】
2013186866.tif 000013
【図１２】
2013186866.tif 000014
【国際調査報告】
2013186866.tif 000015
2013186866.tif 000016
2013186866.tif 000017
2013186866.tif 000018