(57)【要約】【課題】限られたメモリ領域にデータを格納する。【解決手段】データベースを実現するコンピュータのＣＰＵが実行する処理は、メモリ領域が一杯であるか否かを判断するステップ（Ｓ５１０）と、メモリ領域が一杯である場合に（ステップＳ５２０にてＹＥＳ）、換算表において設定変更されている期間（たとえば、データが更新されている期間）を検索するステップ（Ｓ５３０）と、データの上書き条件に合致する期間を決定するステップ（Ｓ５５０）と、決定した期間のメモリ領域に新たなデータを上書きするステップ（Ｓ５６０）とを含む。【選択図】図８
2013105239.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
複数の時点の各々についての時系列データと、前記時系列データを他の次元のデータに換算するための換算表とを格納するための記憶装置を備え、前記換算表は、期間および当該期間に対応付けられる換算値とを含んでおり、
前記記憶装置にデータを書き込むための演算装置を備え、
前記演算装置が新たなデータを前記換算表に書き込む時に、前記換算表のために確保されたデータ領域が一杯である場合、前記演算装置は、別の期間に対して前記換算表の期間が存在する全ての前記別の期間に対して、条件に該当する前記換算表の一つの期間を、その前の期間と統合することにより、前記新たなデータを書き込むための領域を確保し、
前記確保された領域に、前記新たなデータを格納するように構成されている、情報処理装置。
【請求項２】
前記演算装置は、前記該当する期間が最も古い期間に割り当てられた領域に前記新たなデータを上書きするように構成されている、請求項１に記載の情報処理装置。
【請求項３】
情報処理装置であって、
複数の時点の各々についての時系列データと、各前記時系列データを他の次元のデータに換算するための換算表とを格納するための記憶装置を備え、前記換算表は、期間および当該期間に対応付けられる換算値とを含んでおり、
前記記憶装置にデータを書き込むための演算装置を備え、
前記演算装置が新たなデータを前記換算表に書き込む時に、前記換算表のために確保されたデータ領域が一杯である場合、前記演算装置は、前記換算表において設定されている複数の期間のうち最も短い期間を、その前の期間に統合することにより、前記新たなデータを書き込むための領域を確保し、
前記確保された領域に、前記新たなデータを格納するように構成されている、情報処理装置。
【請求項４】
情報処理装置として機能するコンピュータにデータを格納するための方法であって、前記コンピュータは、プロセッサと、メモリとを含み、前記方法は、
前記プロセッサが、複数の時点の各々についての時系列データと、前記時系列データを他の次元のデータに換算するための換算表とをロードするステップを備え、前記換算表は、期間および当該期間に対応付けられる換算値とを含んでおり、
前記プロセッサが新たなデータを前記換算表に書き込む時に、前記換算表のために確保されたデータ領域が一杯であり、別の期間に対して前記換算表の期間が存在する全ての前記別の期間に対して、条件に該当する前記換算表の一つの期間を、その前の期間と統合することにより、前記新たなデータを書き込むための領域を確保するステップと、
前記確保された領域に、前記新たなデータを格納するステップとを備える、データを格納するための方法。
【請求項５】
コンピュータを情報処理装置として機能させるためのプログラムであって、前記コンピュータは、プロセッサと、メモリとを含んでおり、前記プログラムは、前記プロセッサに、
複数の時点の各々についての時系列データと、前記時系列データを他の次元のデータに換算するための換算表とをロードするステップを実行させ、前記換算表は、期間および当該期間に対応付けられる換算値とを含んでおり、
前記プロセッサが新たなデータを前記換算表に書き込む時に、前記換算表のために確保されたデータ領域が一杯であり、別の期間に対して前記換算表の期間が存在する全ての前記別の期間に対して、条件に該当する前記換算表の一つの期間を、その前の期間と統合することにより、前記新たなデータを書き込むための領域を確保するステップと、
前記確保された領域に、前記新たなデータを格納するステップとを実行させる、プログラム。
【請求項６】
情報処理装置として機能するコンピュータにデータを格納するための方法であって、前記コンピュータは、プロセッサと、メモリとを含み、前記方法は、
前記プロセッサが、複数の時点の各々についての時系列データと、前記時系列データを他の次元のデータに換算するための換算表とをロードするステップを備え、前記換算表は、期間および当該期間に対応付けられる換算値とを含んでおり、
前記プロセッサが新たなデータを前記換算表に書き込む時に、前記換算表のために確保されたデータ領域が一杯であり、前記換算表において設定されている複数の期間のうち最も短い期間を、その前の期間に統合することにより、前記新たなデータを書き込むための領域を確保するステップと、
前記プロセッサが、前記確保された領域に、前記新たなデータを格納するステップとを備える、データを格納するための方法。
【請求項７】
コンピュータを情報処理装置として機能させるためのプログラムであって、前記コンピュータは、プロセッサと、メモリとを含んでおり、前記プログラムは、前記プロセッサに、
複数の時点の各々についての時系列データと、前記時系列データを他の次元のデータに換算するための換算表とをロードするステップを実行させ、前記換算表は、期間および当該期間に対応付けられる換算値とを含んでおり、
前記プロセッサが新たなデータを前記換算表に書き込む時に、前記換算表のために確保されたデータ領域が一杯であり、前記換算表において設定されている複数の期間のうち最も短い期間を、その前の期間に統合することにより、前記新たなデータを書き込むための領域を確保するステップと、
前記確保された領域に、前記新たなデータを格納するステップとを実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの書き込み制御に関し、より特定的には、メモリ容量に制限がある記憶装置に対するデータの書き込みを管理するための技術に関する。
【背景技術】
【０００２】
測定器によって得られたデータの利用に関し、そのデータを他の次元のデータに換算してから実際に利用する場合がある。そのために、換算表が用いられることがある。
【０００３】
たとえば、特開２００２−１７７０１５号公報（特許文献１）は、足の寸法を測定して、変換テーブル（換算表）によりこの足に適切な靴の寸法を出力する技術を開示している。また、特開２００７−１１３９２１号公報（特許文献２）は、サーミスタの抵抗値と温度との関係論理式の近似した係数を保存（換算表）して、測定の際にこの係数を用いて抵抗値から温度を計算している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１７７０１５号公報
【特許文献２】特開２００７−１１３９２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術は、換算のための係数が変動した場合に対応することができない。また、メモリ容量の制限を考慮して同じ測定情報を用いて複数の換算結果のグラフ等を作成することにも対応していない。
【０００６】
そのため、係数が変動した場合にもデータの書き込みが対応できる技術が必要とされている。また、メモリ容量の制限を考慮して同じ測定情報を用いて複数の換算結果のグラフ等を作成可能とするための技術が必要とされている。
【０００７】
本発明は、上述のような問題点を解決するためになされたものである。ある局面に従う目的は、メモリ領域が制限される局面においてもデータを書き込むことができる情報処理装置を提供することである。
【０００８】
他の局面に従う目的は、メモリ領域が制限される局面においてもデータを書き込むことができる方法を提供することである。
【０００９】
さらに他の局面に従う目的は、メモリ領域が制限される局面においてもデータを書き込むことができる情報処理装置としてコンピュータを機能させるためのプログラムを提供することである。
【課題を解決するための手段】
【００１０】
一実施の形態に従う情報処理装置は、複数の時点の各々についての時系列データと、時系列データを他の次元のデータに換算するための換算表とを格納するための記憶装置を備える。換算表は、期間および当該期間に対応付けられる換算値とを含む。情報処理装置は、記憶装置にデータを書き込むための演算装置を備える。演算装置が新たなデータを換算表に書き込む時に、換算表のために確保されたデータ領域が一杯である場合、演算装置は、別の期間に対して換算表の期間が存在する全ての別の期間に対して、条件に該当する換算表の一つの期間を、その前の期間と統合することにより、新たなデータを書き込むための領域を確保し、確保された領域に、新たなデータを格納するように構成されている。
【００１１】
好ましくは、演算装置は、該当する期間が最も古い期間に割り当てられた領域に新たなデータを上書きするように構成されている。
【００１２】
他の実施の形態に従う情報処理装置は、複数の時点の各々についての時系列データと、各時系列データを他の次元のデータに換算するための換算表とを格納するための記憶装置を備える。換算表は、期間および当該期間に対応付けられる換算値とを含む。情報処理装置は、記憶装置にデータを書き込むための演算装置を備える。演算装置が新たなデータを換算表に書き込む時に、換算表のために確保されたデータ領域が一杯である場合、演算装置は、換算表において設定されている複数の期間のうち最も短い期間を、その前の期間に統合することにより、新たなデータを書き込むための領域を確保し、確保された領域に、新たなデータを格納するように構成されている。
【００１３】
他の実施の形態に従うと、情報処理装置として機能するコンピュータにデータを格納するための方法が提供される。コンピュータは、プロセッサと、メモリとを含む。方法は、プロセッサが、複数の時点の各々についての時系列データと、時系列データを他の次元のデータに換算するための換算表とをロードするステップを備える。換算表は、期間および当該期間に対応付けられる換算値とを含む。方法は、さらに、プロセッサが新たなデータを換算表に書き込む時に、換算表のために確保されたデータ領域が一杯であり、別の期間に対して換算表の期間が存在する全ての別の期間に対して、条件に該当する換算表の一つの期間を、その前の期間と統合することにより、新たなデータを書き込むための領域を確保するステップと、確保された領域に、新たなデータを格納するステップとを備える。
【００１４】
他の実施の形態に従うと、コンピュータを情報処理装置として機能させるためのプログラムが提供される。コンピュータは、プロセッサと、メモリとを含む。プログラムは、プロセッサに、複数の時点の各々についての時系列データと、時系列データを他の次元のデータに換算するための換算表とをロードするステップを実行させる。換算表は、期間および当該期間に対応付けられる換算値とを含む。プログラムは、プロセッサに、さらに、プロセッサが新たなデータを換算表に書き込む時に、換算表のために確保されたデータ領域が一杯であり、別の期間に対して換算表の期間が存在する全ての別の期間に対して、条件に該当する換算表の一つの期間を、その前の期間と統合することにより、新たなデータを書き込むための領域を確保するステップと、確保された領域に、新たなデータを格納するステップとを実行させる。
【００１５】
他の実施の形態に従うと、情報処理装置として機能するコンピュータにデータを格納するための方法が提供される。コンピュータは、プロセッサと、メモリとを含む。この方法は、プロセッサが、複数の時点の各々についての時系列データと、時系列データを他の次元のデータに換算するための換算表とをロードするステップを備える。換算表は、期間および当該期間に対応付けられる換算値とを含む。この方法は、さらに、プロセッサが新たなデータを換算表に書き込む時に、換算表のために確保されたデータ領域が一杯であり、換算表において設定されている複数の期間のうち最も短い期間を、その前の期間に統合することにより、新たなデータを書き込むための領域を確保するステップと、プロセッサが、確保された領域に、新たなデータを格納するステップとを備える。
【００１６】
さらに他の実施の形態に従うと、コンピュータを情報処理装置として機能させるためのプログラムが提供される。コンピュータは、プロセッサと、メモリとを含む。プログラムは、プロセッサに、複数の時点の各々についての時系列データと、時系列データを他の次元のデータに換算するための換算表とをロードするステップを実行させる。換算表は、期間および当該期間に対応付けられる換算値とを含む。プログラムは、プロセッサに、さらに、プロセッサが新たなデータを換算表に書き込む時に、換算表のために確保されたデータ領域が一杯であり、換算表において設定されている複数の期間のうち最も短い期間を、その前の期間に統合することにより、新たなデータを書き込むための領域を確保するステップと、確保された領域に、新たなデータを格納するステップとを実行させる。
【発明の効果】
【００１７】
ある局面において、メモリ領域が制限される場合でもデータを書き込むことができる。
この発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００１８】
【図１】本実施の形態に係る技術思想を示す図である。
【図２】時系列データおよび換算値の推移を表わす図である。
【図３】本実施の形態に係る換算表３００を表わす図である。
【図４】換算表３００におけるデータの更新が行なわれた状態を表わす図である。
【図５】換算表３００におけるデータの更新の他の局面を表わす図である。
【図６】換算表３００において、終了時刻が上書きされた場合の状態を表わす図である。
【図７】システム１０００として機能するコンピュータ４００のハードウェア構成を表わすブロック図である。
【図８】システム１０００として機能するコンピュータ４００のＣＰＵ１が実行する処理の一部を表わすフローチャートである。
【発明を実施するための形態】
【００１９】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００２０】
図１は、本実施の形態に係る技術思想を示す図である。ある局面において、当該技術思想は、システム１０００に適用される。
【００２１】
システム１０００は、データベース１００と、換算処理部２００とを備える。システム１０００は、プロセッサ、記憶装置、および入出力インターフェイスその他の周知の構成を有するコンピュータ装置によって実現される。データベース１００は、当該コンピュータ装置において、データベース管理ソフトウェアがプロセッサによって実行されることにより、コンピュータ装置が有する記憶装置（たとえば、ハードディスク装置、フラッシュメモリその他の不揮発データ記録媒体）において実現される。
【００２２】
データベース１００は、時系列データ１１０と、換算表１２０とを含む。時系列データ１１０と換算表１２０とは、たとえば、予め設定されたデータ容量を有するテーブルとして構成される。
【００２３】
データベース１００は、データベース１００に電気的に接続されている他の機器（たとえば、測定器）から出力されるデータの入力を受けて、入力されたデータを保持する。ある局面において、保持されるデータは、時系列データ１１０と、換算表１２０とを含む。時系列データ１１０は、たとえばテーブル形式で保持される。時系列データ１１０は、時系列に特定される時刻と、当該時刻に関連付けられたデータとを含む。当該データは、測定器（図示しない）その他の機器によって出力されるデータを含む。測定器は、たとえば、電力計、電流計、電圧計その他の計器であるが、これらの計器に限られない。何らかの物理量を計測可能な機器が測定器として用いられる。
【００２４】
たとえば、測定器から出力された測定値は、システム１０００に入力されて、時系列データ１１０として保持される（ステップＳ１０）。なお、測定器がデータを測定するトリガーは、予め定められた時刻が到来した時、定期的に、測定の命令に基づいて、等であるが、これらに限られない。少なくとも、データが測定される時刻が補足されるタイミングであればよい。また、測定値が測定器からシステム１０００に送信されるタイミングは、リアルタイムベースに限られず、たとえば、一定時間ごと、システム１０００から測定器に与えられる送信要求に応答して、測定値がシステム１０００に送信されてもよい。
【００２５】
データベース１００を管理するプロセッサ（図示しない）は、測定値の入力を受けると、時系列データ１１０において、測定時刻をデータ列１１１に、測定値をデータ列１１２に、それぞれ格納する。
【００２６】
換算表１２０は、換算処理部２００によって、時系列データ１１０に格納されているデータを換算する際に用いられる。換算表１２０は、期間１２１と、期間毎の換算値１２２とを含む。換算表１２０に対するデータの入力（ステップＳ２０）は、たとえば、システム１０００の管理者によって手動で行なわれるが、他の局面において、システム１０００にネットワーク接続される他の情報通信処理装置から伝送されるデータが換算表１２０として用いられてもよい。
【００２７】
期間１２１は、期間が特定できる情報であり、始期および終期の組み合わせ、始期および期間の組み合わせ、期間および終期の組み合わせ、等により特定される。始期および終期は、年月日または年月日時刻として特定される。期間は、時間、日、週、月等により特定される。
【００２８】
ある局面において、たとえば、開始時刻が期間毎に設けられた場合は、ある期間は、その開始時刻から、次の期間までの開始時刻となる。ここで、開始時刻とは、たとえば、エアコン、照明装置その他の家電機器、または太陽光発電装置その他の装置の運転開始時刻を含む。
【００２９】
図２を参照して、時系列データ１１０と換算表１２０との関係について説明する。図２は、時系列データおよび換算値の推移を表わす図である。
【００３０】
システム１０００による情報の出力として、たとえば、システム１０００は、内蔵するモニタ（図示しない）または、システム１０００に接続されるモニタにグラフを表示する。表示の態様として、時系列データ１１０をそのまま出力する態様と、換算表１２０を用いて時系列データ１１０を換算して、換算の結果を出力する態様とがある。換算は、たとえば、換算処理部２００によって行なわれる。換算処理部２００は、たとえば、換算処理を実現するための命令を実行するプロセッサによって実現される。
【００３１】
たとえば、時系列データ１１０が、家庭内で消費されたエネルギー量（Ｗｈ）である場合において、システム１０００のユーザが、エネルギー消費量のグラフを見たいとき、システム１０００は、時系列データ１１０をそのままグラフに出力することができる。
【００３２】
また、他の局面において、ユーザが、家庭内の電気機器によって消費されたエネルギーに対してどれだけＣＯ２が排出したのかを確認したい場合がある。この場合、ユーザは、期間毎のＣＯ２／Ｗｈの数値を予め換算表１２０に入力しておく。換算処理部２００は、エネルギー消費量（Ｗｈ）と、対応する電気機器の単位エネルギー消費量当たりのＣＯ２排出量（ＣＯ２／Ｗｈ）とを乗算する。なお、ＣＯ２の排出量は、電力会社で使われている発電方法（風力、火力等）の割合により異なり、また、季節（期間）毎に異なる。そのため、換算表１２０は、各発電方法について、その期間毎に、排出量を保持しているのが望ましい。
【００３３】
他の局面において、ユーザが、その家庭内で発生した電気料金をグラフで見たい場合がある。電気料金は、電力会社のプランによって異なる。この場合、システム１０００は、期間毎に、その家庭において使用される料金プラン（金額／Ｗｈ）を換算表１２０に保持していることが望ましい。換算処理部２００は、グラフを作成する際に、エネルギー消費量（Ｗｈ）と、電力が消費された期間に対応する期間の料金プラン（金額／Ｗｈ）とを乗算することができる。
【００３４】
このように、本実施の形態に係るシステム１０００は、一つのエネルギー消費量（Ｗｈ）から、過去の換算データを考慮しつつ、電気料金や発生したＣＯ２のデータを作成できる。すなわち、システム１０００は、複数の換算表１２０および換算処理部２００を有する構成であってもよい。複数の換算処理部２００は、たとえば、プロセッサ（図示しない）が、各換算表１２０に応じた処理を実行するように構成された演算命令を実行することにより実現される。
【００３５】
なお、本実施の形態においては、換算処理部２００は、金額またはＣＯ２を用いた乗算を行なっているが、他の局面において、換算処理部２００は、必要に応じて他のデータを用いた換算処理を行なってもよい。
【００３６】
ここで、システム１０００は、過去の換算値を保持した換算表１２０を用いなくても、電気料金やＣＯ２のグラフを作成できる。この方法として、システム１０００は、時系列データ１１０をエネルギーについてだけではなく、金額およびＣＯ２の発生量についても作成する。システム１０００は、エネルギー消費量のデータの入力を受ける際、その時の換算値を使って電気料金およびＣＯ２の発生量を計算し、それぞれの時系列データ１１０に入力する。
【００３７】
この場合、図２のグラフに示されるように、通常、換算表１２０の項目数（データ行の数）は、時系列データ１１０に比べて少ない。そのため、システム１０００が、３つの時系列データ１１０を作成することは、時系列データ１１０と２つの換算表１２０とを作成する場合よりも、多くのメモリリソース（記憶容量）を使うことになる。よって、本実施の形態に係るシステム１０００は、上述のような方法が消費するメモリリソースよりも少ないメモリリソースでグラフを作成することができる。
【００３８】
メモリのリソース条件がさらに厳しくなった場合（たとえば、メモリの空きの記憶容量が少なくなった場合）、システム１０００におけるメモリの使用量を減らすことが必要とされる。そこで、たとえば、換算表のサイズ（たとえば、期間１２１および換算値１２２の組み合わせとして保持されるデータの件数）を制限することが考えられる。この場合、一例として、換算表１２０としてメモリにおいて確保された領域が、保存されたデータで一杯になると、システム１０００のプロセッサは、古いデータを削除する。このとき、どのデータが削除されて新しいデータによって上書きされるのか、というルールが必要となる。
【００３９】
そこで、図３を参照して、このルールの一例について説明する。図３は、本実施の形態に係る換算表３００を表わす図である。
【００４０】
たとえば、システム１０００が、時系列データ１１０として、２００９年１０月からの２年間に使用されたエネルギー消費量(Ｗｈ)を保持しているとする。換算表３００は、期間毎のエネルギー消費量あたりのＣＯ２発生量（ＣＯ２／Ｗｈ）とする。図３に示されるように、換算表３００における各期間は、その年月日で特定されているが、前述のとおり、期間の特定は、このような態様に限られない。
【００４１】
もしここで、システム１０００が、複数の換算値のうち最も古いデータ、すなわち、「２００９／１０／１〜」（終期は２０１０／３／９）を削除した場合、期間２００９／１０／１〜２０１０／３／９に該当するデータの換算には、たとえば、残りの換算値のうちの最も古いデータ、すなわち、期間「２０１０／３／１０〜」のための換算値が用いられることになる。この場合、換算値が適用されるべき期間（すなわち、換算値に関連付けられている期間２０１０／３／１０〜２０１０／３／１９）の季節と、換算が対象となるデータの期間（すなわち、期間２００９／１０／１〜２０１０／３／９に含まれる日のデータ）の季節とが異なることから、換算値（ＣＯ２／Ｗｈ）によって得られる換算の結果の誤差が大きくなる場合も生じ得る。
【００４２】
以下、本実施の形態において、換算表３００に新規項目を追加する際のルールについて説明する。
【００４３】
期間Ｔを全期間より短いとする。期間Ｔは、時系列データをまとまりとして保持する場合の当該まとまりの単位を規定する。換算表３００の領域としてデータを保存するために確保されたメモリ領域が一杯になった場合、システム１０００は、同じ期間Ｔに複数の開始時刻の項目がある期間Ｔの項目から、次に削除するべきデータ（他のデータによって上書きされるデータ）を削除する。ここで、ある局面において、期間Ｔが１ヶ月であれば、同一の月に複数の開始時刻の項目がある月のデータ項目から、当該データが削除（上書き）されることになる。なお、ここで複数の開始時刻があるということは、同じ期間Ｔに対して換算表３００には少なくとも一つの期間があることになる。たとえば、二つの開始時刻があった場合、この二つの開始時刻の間が一つの期間である。
【００４４】
このように、換算データが多い期間から上書きすることにより、メモリ容量の制約が厳しい環境でも、換算表１２０を用いる換算処理部２００による換算の結果は、実際とあまり違わないようにすることができる。
【００４５】
さらに、システム１０００は、削除（上書き）候補の項目から、タイムスタンプの日付が最も古い項目を削除（上書き）することにより、より新しいデータを保持することができるので、データベース１００の精度を高くすることができる。
【００４６】
図３に示される例の場合、たとえば、新しい換算値として、期間「２０１１／１０／１５〜」のデータの換算ためのデータ（ｘｘ１０）が換算表３００に追加されるとき、換算表３００のためのデータ容量が一杯である場合には、システム１０００は、「２０１０／３／１０〜」のメモリ領域に保持されているデータに、当該新しいデータを上書きすることになる。
【００４７】
この場合、データの更新は、以下のとおりとなる。
［入力前］
（１）期間「２００９／１０／１〜」（終期は、２０１０／３／９）には、データ（ｘｘ１）が用いられている。
【００４８】
（２）期間「２０１０／３／１０〜」（終期は、２０１０／３／１９）には、データ（ｘｘ２）が用いられている。
【００４９】
（３）期間「２０１１／５／４〜」には、データ（ｘｘ９）が用いられている。
［入力後］
新たなデータ（ｘｘ１０）がシステム１０００に入力されると、期間「２０１０／３／１０〜」に保持されているデータ（ｘｘ２）が、新たなデータ（ｘｘ１０）によって上書きされる。
【００５０】
図４は、換算表３００におけるこのようなデータの更新が行なわれた状態を表わす図である。図４を参照して、矢印４０１に示されるように、データ（ｘｘ２）行は、換算表３００には含まれていない。代わりに、新たなデータ（ｘｘ１０）が領域４０２に書き込まれる。
【００５１】
具体的には、上記（１）および（２）のデータが統合される。データの統合の結果は、以下のとおりである。
【００５２】
（４）期間「２００９／１０／１〜２０１０／３／１９」には、データ（ｘｘ１）が用いられる。
【００５３】
（５）期間「２０１１／５／４〜」には、データ（ｘｘ９）が用いられる。この場合、新たなデータ（ｘｘ１０）の期間が「２０１１／１０／１５〜」となるので、期間「２０１１／５／４〜」の終期は、２０１１／１０／１４となる。
【００５４】
（６）期間「２０１１／１０／１５〜」には、新たなデータ（ｘｘ１０）が用いられる。
【００５５】
なお、換算表３００の換算値は、複数のデータに分割可能なデータであってもよい。たとえば、電気料金の場合、深夜の電気料金と昼間の電気料金とが異なるため、時間帯に応じて換算値が設定されてもよい。また、電気料金は、電力の消費量によって異なる複数の料金プランが電力会社によって示されている場合もあるため、そのような条件（複数の料金プラン）も、換算表３００に加えられてもよい。
【００５６】
＜変形例＞
以下、本発明の実施形態の他の局面について説明する。本変形例においては、換算表３００における複数の期間のうち最も短い期間の開始時刻が上書きされる。
【００５７】
図５を参照して、本変形例に係るデータの更新について説明する。図５は、換算表３００におけるデータの更新の他の局面を表わす図である。
【００５８】
図３に示される換算表３００の場合、最も短い期間は、期間「２０１１／４／１０〜」（終期は、２０１１／４／１４）である。そのメモリ領域に、データ（ｘｘ７）が格納されている。したがって、その期間のデータ（ｘｘ７）は、新たなデータ（ｘｘ１０）によって上書きされることになる。
【００５９】
そこで、上書きの対象となるデータ（ｘｘ７）が関連付けられている期間「２０１１／４／１０〜」は、その期間中のデータ（ｘｘ７）を維持するために、その期間の前の期間「２０１１／４／３〜」に統合される。したがって、統合後の期間「２０１１／４／３〜」の終期は、２０１１／４／１４となる。この期間に対応するメモリ領域には、データ（ｘｘ６）が保持される。具体的には、矢印５０１に示されるように、データ（ｘｘ７）を保持するための領域はなくなり、新たなデータ（ｘｘ１０）は、領域５０２に格納される。
【００６０】
このように、換算表に含まれる複数の期間のうち、最も短い期間が、その期間の前の期間に統合されて、その最も短い期間におけるデータが、その期間の前の期間におけるデータに統合される。その結果、短い期間におけるデータが異常値を含んでいる場合であっても、統合先の期間に含まれるデータと統合されることにより、データの件数が多くなるため、データのばらつきが抑制され得る。したがって、換算処理部２００が最も短い期間のデータを用いて換算することによって得られるデータ精度の低下が抑制され得る。
【００６１】
ここで、最も短い期間の開始時刻の上書きではなく、終了時刻にすることも可能であり、次の例のように、終了時刻を上書きすることは適切ではない（劣化期間がもっと長い）ということがわかる。終了時刻が上書きされた場合、精度が劣化する期間は、最も短い期間ではなく、その期間の次の期間になる。図３の例では、データ（ｘｘ８）を含む期間「２０１１／４／１５〜」が、データ（ｘｘ７）を含む期間（２０１１／４／１０〜）に統合されることになり、データ（ｘｘ８）が含まれる期間の精度が劣化することになる。
【００６２】
そこで、図６を参照して、精度が劣化する場合のデータの格納の一例について説明する。図６は、換算表３００において、終了時刻が上書きされた場合の状態を表わす図である。すなわち、開始時刻が上書きされた場合においてデータの精度が劣化する期間は、期間「４／１０〜１４」となる。これに対して、終了時刻が上書きされた場合の劣化期間は、期間「４／１５〜５／３」となる。
【００６３】
［ハードウェア構成］
次に、図７を参照して、本実施の形態に係るシステム１０００の具体的構成について説明する。図７は、システム１０００として機能するコンピュータ４００のハードウェア構成を表わすブロック図である。
【００６４】
コンピュータ４００は、主たる構成要素として、プログラムを実行するＣＰＵ１と、コンピュータ４００の使用者による指示の入力を受けるマウス２およびキーボード３と、ＣＰＵ１によるプログラムの実行により生成されたデータ、又はマウス２若しくはキーボード３を介して入力されたデータを揮発的に格納するＲＡＭ４と、データを不揮発的に格納するハードディスク５と、光ディスク駆動装置６と、モニタ８と、通信ＩＦ（Interface）９とを備える。各構成要素は、相互にバスによって接続されている。光ディスク駆動装置６には、ＣＤ−ＲＯＭ９その他の光ディスクが装着される。
【００６５】
コンピュータ４００における処理は、各ハードウェアおよびＣＰＵ１により実行されるソフトウェアによって実現される。このようなソフトウェアは、ハードディスク５に予め格納されている場合がある。また、ソフトウェアは、ＣＤ−ＲＯＭ９その他のコンピュータ読み取り可能なデータ記録媒体に格納されて、プログラム製品として流通している場合もある。あるいは、当該ソフトウェアは、インターネットその他のネットワークに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。このようなソフトウェアは、光ディスク駆動装置６その他のデータ読取装置によってデータ記録媒体から読み取られて、あるいは、通信ＩＦ７を介してダウンロードされた後、ハードディスク５に一旦格納される。そのソフトウェアは、ＣＰＵ１によってハードディスク５から読み出され、ＲＡＭ４に実行可能なプログラムの形式で格納される。ＣＰＵ１は、そのプログラムを実行する。
【００６６】
図７に示されるコンピュータ４００を構成する各構成要素は、一般的なものである。コンピュータ４００の各ハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
【００６７】
なお、データ記録媒体としては、ＣＤ−ＲＯＭ、ＦＤ（Flexible  Disk）、ハードディスクに限られず、磁気テープ、カセットテープ、光ディスク（ＭＯ（Magnetic  Optical  Disc）／ＭＤ（Mini  Disc）／ＤＶＤ（Digital  Versatile  Disc））、ＩＣ（Integrated  Circuit）カード（メモリカードを含む）、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Electronically  Programmable  Read-Only  Memory）、ＥＥＰＲＯＭ（Electronically  Erasable  Programmable  Read-Only  Memory）、フラッシュＲＯＭなどの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。
【００６８】
ここでいうプログラムとは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含み得る。
【００６９】
［機能的構成］
ある局面において、ハードディスク５は、複数の時点の各々についての時系列データと、時系列データを他の次元のデータに換算するための換算表３００とを格納している。ここで、換算表３００は、期間および当該期間に対応付けられる換算値とを含んでいる。ＣＰＵ１が、新たなデータを換算表３００に書き込む時に、換算表３００のために確保されたデータ領域が一杯である場合、ＣＰＵ１は、別の期間に対して換算表３００の期間が存在する全ての別の期間に対して、条件に該当する換算表３００の一つの期間を、その前の期間と統合することにより、新たなデータを書き込むための領域を確保し、確保された領域に、新たなデータを格納するように構成されている。
【００７０】
他の局面において、ＣＰＵ１は、該当する期間が最も古い期間に割り当てられた領域に新たなデータを上書きするように構成されている。
【００７１】
他の局面において、ハードディスク５は、複数の時点の各々についての時系列データと、各時系列データを他の次元のデータに換算するための換算表３００とを格納している。換算表３００は、期間および当該期間に対応付けられる換算値とを含んでいる。ＣＰＵ１が新たなデータを換算表３００に書き込む時に、換算表３００のために確保されたデータ領域が一杯である場合、ＣＰＵ１は、換算表３００において設定されている複数の期間のうち最も短い期間を、その前の期間に統合することにより、新たなデータを書き込むための領域を確保し、確保された領域に、新たなデータを格納するように構成されている。
【００７２】
［制御構造］
図８を参照して、本実施の形態に係るシステム１０００の制御構造について説明する。図８は、システム１０００として機能するコンピュータ４００のＣＰＵ１が実行する処理の一部を表わすフローチャートである。
【００７３】
ステップＳ５１０にて、ＣＰＵ１は、書き込み対象となる換算表１２０に割り当てられたメモリ領域の使用量を算出する。
【００７４】
ステップＳ５２０にて、ＣＰＵ１は、メモリ領域が一杯であるか否かを判断する。ＣＰＵ１は、メモリ領域が一杯であると判断すると（ステップＳ５２０にてＹＥＳ）、制御をステップＳ５３０に切り替える。そうでない場合には（ステップＳ５２０にてＮＯ）、ＣＰＵ１は、制御をステップＳ５７０に切り替える。
【００７５】
ステップＳ５３０にて、ＣＰＵ１は、換算表１２０において複数の情報がある期間（たとえば、データが更新または追加されている期間）を検索する。たとえば、ＣＰＵ１は、換算表１２０の各期間に含まれるデータの件数を計算し、また、各データのタイムスタンプを特定する。
【００７６】
ステップＳ５４０にて、ＣＰＵ１は、そのような期間があるか否かを判断する。ＣＰＵ１は、そのような期間があると判断すると（ステップＳ５４０にてＹＥＳ）、制御をステップＳ５５０に切り替える。そうでない場合には（ステップＳ５４０にてＮＯ）、ＣＰＵ１は、制御をステップＳ５６０に切り替える。
【００７７】
ステップＳ５５０にて、ＣＰＵ１は、データの上書き条件に合致する期間を決定する。たとえば、ＣＰＵ１は、新たに追加されるデータを保持する領域を確保するために、統合対象となる２つの連続する期間を決定する。
【００７８】
ステップＳ５６０にて、ＣＰＵ１は、メモリ領域のうちの空き領域の小さい領域を、新たな情報のためのメモリ領域として決定する。
【００７９】
ステップＳ５７０にて、ＣＰＵ１は、決定した期間のメモリ領域に新たなデータを上書きする。
【００８０】
ステップＳ５８０にて、ＣＰＵ１は、予め定められたエラー処理（たとえば、データを書き込むためのメモリ領域がないことを通知するメッセージの表示）を実行する。
【００８１】
以上のようにして、本実施の形態に係るシステム１０００は、時系列データを換算するための換算値を保持する際に、換算表のためのメモリ領域が一杯である場合には、既存のデータを結合して、メモリ領域を確保する。これにより、システム１０００は、時系列データを用いた情報の精度の低下を防止しつつ、メモリ領域の制約に対処することができる。
【００８２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００８３】
１  ＣＰＵ、２  マウス、３  キーボード、４  ＲＡＭ、５  ハードディスク、６  光ディスク駆動装置、７  通信Ｉ／Ｆ、８  モニタ、９  ＲＯＭ、１００  データベース、２００  換算処理部、４００  コンピュータ、４０２，５０２  領域、１０００  システム。
【図１】
2013105239.tif 000003
【図２】
2013105239.tif 000004
【図３】
2013105239.tif 000005
【図４】
2013105239.tif 000006
【図５】
2013105239.tif 000007
【図６】
2013105239.tif 000008
【図７】
2013105239.tif 000009
【図８】
2013105239.tif 000010