(57)【要約】      （修正有）【課題】記憶容量を削減するためにデータを削除しても、ユーザの要求に応じてデータを再生成できる解析装置を提供する。【解決手段】データ保存装置１０４に接続するデータ解析装置１０２であって、データがデータ保存装置に格納されているかを示すデータ管理情報と、データを生成する際に使用したプトグラムとプログラムのバージョンに関する情報を示す処理管理情報と、データを生成する際に使用した設定情報を含む設定ファイルと、を格納する記憶装置と、データの取得要求を受信した場合、データ保存装置に格納されているか否かを判断し、データがデータ保存装置に格納されていない場合に、該バージョンのプログラムと設定情報とを用いてデータを再度生成し、再度生成したデータを送信する、プロセッサと、を含む。【選択図】図１
2012088875.tif 000002
【特許請求の範囲】
【請求項１】
データ保存装置に接続するデータ解析装置であって、
データが前記データ保存装置に格納されているかを示すデータ管理情報と、前記データを生成する際に使用したプトグラムと前記プログラムのバージョンに関する情報を示す処理管理情報と、前記データを生成する際に使用した設定情報を含む設定ファイルと、を格納する記憶装置と、
前記データの取得要求を受信した場合、前記データ管理情報を参照して前記データが前記データ保存装置に格納されているか否かを判断し、前記データが前記データ保存装置に格納されていない場合に、前記バージョンの前記プログラムと前記設定情報とを用いて前記データを再度生成し、再度生成した前記データを送信する、プロセッサと、を含むことを特徴とするデータ解析装置。
【請求項２】
前記設定情報は、前記データを生成する際に用いられる入力データとパラメータとを含み、
前記プロセッサは、前記パラメータを設定した前記バージョンの前記プログラムに、前記入力データを入力することにより、前記データを再度生成する、ことを特徴とする請求項１に記載のデータ解析装置。
【請求項３】
前記プロセッサは、前記データが他のデータより生成される派生データである場合に、前記データを削除する、ことを特徴とする請求項２に記載のデータ解析装置。
【請求項４】
前記プロセッサは、前記データが素データである場合に、前記データを削除しない、ことを特徴とする請求項３に記載のデータ解析装置。
【請求項５】
前記プロセッサは、前記データを再度生成するための準備時間を計算し、前記計算された準備時間が閾値以下の場合に、前記派生データである前記データを削除する、ことを特徴とする請求項４に記載のデータ解析装置。
【請求項６】
前記プロセッサは、前記準備時間を計算する際、前記データの前記入力データが他のデータより生成される派生データである場合、前記入力データを準備するための時間を前記準備時間に含む、ことを特徴とする請求項５に記載のデータ解析装置。
【請求項７】
前記プロセッサは、前記取得要求に前記データが必要となる時刻が含まれている場合、前記データが必要となる前記時刻より前記準備時間以上前の時刻を前記データの再生成開始時刻と設定し、
前記プロセッサは、前記再生成開始時刻になると、前記バージョンの前記プログラムと前記設定情報とを用いて前記データを再度生成する、ことを特徴とする請求項６に記載のデータ解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値や文字データ等のデータを計算機を用いて解析する計算機システムに関し、特に随時変更、更新されるプログラムやデータを解析する計算機システムに関する。
【背景技術】
【０００２】
近年、計算機の高性能化に伴い、大量データを解析し、内在するパターンや相関といった情報を抽出する解析処理を実行することが可能となった。この解析処理を行うと膨大な解析結果に関するデータが生成されるが、これをそのまま保存するとディスク容量を圧迫する。また、データを管理する手間もかかる。
【０００３】
従来の計算機システムの一例が特許文献１、２に記載されている。特許文献１に記載されたシステムでは、データへのアクセスパターンに応じてデータのレプリカ数を増減し、又は、削除する。また、特許文献２に記載されたシステムでは、データへのアクセス頻度に応じてデータを圧縮して保存する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2007-305025号公報
【特許文献２】特開平7-319743号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１及び特許文献２に記載される従来技術を用いると、データを圧縮することや、使用されないデータを削除することで、ディスク容量の圧迫を減らすことができる。しかし、解析結果の重要性は即座に判別できないため、アクセスパターンやアクセス頻度から残すべきデータを判別することはできない。
【課題を解決するための手段】
【０００６】
大量データを解析し、内在するパターンや相関といった情報を抽出する解析処理では処理の実行だけではなく、その結果データの管理も重要となる。解析処理を多数試行すると結果データが大量に発生するが、それらを入出力データやパラメータ、解析プログラムと関連づけて管理することが必要となる。
【０００７】
上記課題を解決する本発明は、データ保存装置に接続するデータ解析装置であって、データが前記データ保存装置に格納されているかを示すデータ管理情報と、前記データを生成する際に使用したプトグラムと前記プログラムのバージョンに関する情報を示す処理管理情報と、前記データを生成する際に使用した設定情報を含む設定ファイルと、を格納する記憶装置と、前記データの取得要求を受信した場合、前記データ管理情報を参照して前記データが前記データ保存装置に格納されているか否かを判断し、前記データが前記データ保存装置に格納されていない場合に、前記バージョンの前記プログラムと前記設定情報とを用いて前記データを再度生成し、再度生成した前記データを送信する、プロセッサと、を含むことを特徴とするデータ解析装置である。
【発明の効果】
【０００８】
解析処理を再現するために必要な情報を保存し、利用者の要求に応じてデータを再現することができるため、大量の解析結果を全て保存しておく必要はなく、ストレージの記憶容量を減らすことができる。
【図面の簡単な説明】
【０００９】
【図１】本実施例に係る、計算機システムの一例を示すブロック図である。
【図２】本実施例に係る、データ・処理履歴管理装置の一例を示すブロック図である。
【図３】本実施例に係る、データ管理テーブルの構成の一例を示した図である。
【図４】本実施例に係る、処理管理テーブルの構成の一例を示した図である。
【図５】本実施例に係る、処理設定保存テーブルの構成の一例を示した図である。
【図６】本実施例に係る、設定ファイルの一例を示す図である。
【図７】本実施例に係る、データ・処理履歴管理装置が解析処理を実行する際のフローチャートの一例を示す図である。
【図８】本実施例に係る、ユーザからの入力コマンドの一例を示す図である。
【図９】本実施例に係る、入力コマンドの解析処理結果の一例を示す図である。
【図１０】本実施例に係る、データの実体を削除する処理の一例を示すフローチャートである。
【図１１】本実施例に係る、削除したデータを再計算して生成するための処理をスケジューリングする処理の一例を示すフローチャートである。
【図１２】本実施例に係る、図11のフローチャートを開始する入力の一例を示す図である。
【図１３】本実施例に係る、要求のあったデータを返信する処理の一例を示すフローチャートである。
【図１４】本実施例に係る、図13のフローチャートを開始する入力の一例を示す図である。
【図１５】本実施例に係る、データ解析装置における解析処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
１  装置の構成
まず、本発明を実施するうえでの装置の構成を説明する。
図1は、本実施例に係る計算機システムの一例を示すブロック図である。
【００１１】
101は、計算機システムの利用者が操作する端末であり、ブラウザや専用ソフトを介して利用者に計算機システムを制御するための手段を提供する。102は、数値や文字列データの解析装置であり、計算を行うためのリソース（CPU、主記憶装置、外部記憶装置）やインターフェースであるNICを含み、プログラムを格納する。104は、データ解析装置102で解析するためのデータや解析結果を保存するためのデータ保存装置であり、CPU、主記憶装置、外部記憶装置やインターフェースであるNICを含む。103は利用者が実行した解析処理の履歴やデータ保存装置104内のデータの状態を管理するためのデータ・処理履歴管理装置であり、CPU、主記憶装置、外部記憶装置やインターフェースであるNICを含む。
【００１２】
利用者端末101、データ解析装置102、データ・処理履歴管理装置103、データ保存装置104は汎用の計算機であり、CPU、主記憶装置、外部記憶装置といった部品から構成されている。そして、利用者端末101、データ解析装置102、データ・処理履歴管理装置103、データ保存装置104はLANなどのネットワークを介して接続されており、連携して動作することができる。
【００１３】
図2は、本実施例に係るデータ・処理履歴管理装置103の一例を示すブロック図である。
201は外部との通信部であり、利用者端末101、データ解析装置102、データ保存装置104と通信を行う。202は、利用者端末101を通して与えられた利用者のコマンドや操作を解釈するコマンド解析部であり、利用者の操作に応じて必要な操作を処理・データ依存関係解析部203、処理履歴情報解析部205に対して指示する。204は、利用者が実行した解析処理の履歴やデータ保存装置104のデータの状態を保存するためのデータ・処理履歴保存DBである。203、205は後述するデータの再計算の実行や実行のためのデータの依存関係を解析するための処理・データ依存関係解析部及び処理履歴情報解析部であり、通信部201から来た指示をもとにデータの再計算に必要な解析処理をデータ、処理履歴保存DB204の情報をもとに決定し、通信部201を通じてデータ解析装置102に対して指示する。206、207、208は解析処理の履歴やデータ保存装置104のデータの状態に関する値を保存する処理管理テーブル206、データ管理テーブル207、処理設定保存テーブル208であり、データ・処理履歴保存DB204に格納されている。209は、処理設定保存テーブル208の設定ファイルパス502の場所に格納されている設定ファイルの例である。
【００１４】
図2で示され各部は、実際には、CPUが主記憶装置や外部記憶装置に格納されたプログラムを参照して実行することにより実現される。従って、今後の説明において、各部を主語にして説明されている各処理は、実際にはCPUにより実行されているものとする。
【００１５】
２  データの説明
次に本発明で用いるデータとその管理形式について述べる。
本発明ではデータ保存装置104内の利用状況に応じてその中のデータの実体を削除し、データ保存装置104内のデータが変更された際には、その変更の履歴を管理する。また、削除したデータは利用者の要求に応じて再計算する必要があるため、データ解析装置102で実行される処理とデータ保存装置104で保存されるデータとの関係を保存する。
【００１６】
図3は、本実施例に係るデータ管理テーブル207の構成をの一例を示した図である。このテーブルではデータ保存装置104で保存されるデータの状態や情報を管理する。
301はデータIDであり、データ保存装置104に格納されている、あるいは格納されていたデータの識別子である。
302はファイルパスであり、データ保存装置104内に格納されている、あるいは格納されていたデータへの参照である。
303は開始時刻であり、104内にデータが存在し始めた時刻（格納された時刻）を示している。
304は終了時刻であり、データ保存装置104内に格納されていたデータが利用者によって消去された時刻を示している。
305は実体の有無であり、データ保存装置104内にそのデータの実体が存在するかどうかを示している。「＃ｔ」は、データの実体が存在することを示し、「＃ｆ」は、データの実体が存在しない、つまり、データが消去されたことを示す。
306は計算時間であり、そのデータを生成するのに必要な時間を表している。例えば、過去に該データを生成するのにかかった時間などが記録される。
307は準備時間であり、データの取得要求を出した際に実行される計算の処理時間の和を示している。
308は処理履歴IDであり、そのデータを出力した処理の識別子を示している。
そのほかに、309で例示されている参照頻度といった、データの実体消去時に用いるパラメータを持つ。
【００１７】
図4は、本実施例に係る処理管理テーブル206の構成の一例を示した図である。このテーブルではデータ解析装置102で実行した処理の履歴を管理する。
401は処理履歴IDであり、利用者が過去に実行した解析処理の識別子である。処理履歴IDは、図3の308の処理履歴IDと関連する。
402はプログラム名であり、その解析処理に用いたプログラムの名称が記されている。
403はプログラムバージョンであり、その解析処理に用いたプログラムのバージョンが記されている。
404は設定ファイルIDであり、その解析処理に用いられるパラメータ等の設定の識別子が記されている。設定ファイルの例については図6を用いて後述する。
405は実行日時であり、その処理を実行した日時が記されている。
406は必要計算時間であり、その処理の実行時間が記されている。
407はプログラムバイナリであり、その処理が用いた解析プログラムの実体、あるいは実体への参照が記されている。例えば、解析プログラムのバイナリイメージが格納されている。
408は再計算開始時刻であり、利用者からのデータ取得要求などに伴う再計算処理がスケジューリングされた際に、その再計算処理の開始時刻を記している。
【００１８】
図5は、本実施例に係る処理設定保存テーブル208の構成を一例示した図である。処理管理テーブル206の設定ファイルID404で示される設定ファイルが格納されている位置へのパスを保存する。501は設定ファイルIDであり、利用者が実行した解析処理に用いられるパラメータ等の設定の識別子である。502は設定ファイルパスであり、その設定ファイルへの参照パスが記されている。該設定ファイルを保存しておくことにより、ユーザが求めるデータの実体が後述する図10の処理により削除されている場合であっても、該データを生成するための入力データやプログラムのバージョンを把握することができるため、再度生成することが可能となる。
【００１９】
図6は、本実施例に係る設定ファイル503の一例を示す図である。この例において各設定値は名前と値のペアによって示されている。ここで、inputsは入力ファイルを指定するタプルのリスト、outputsは出力ファイルを指定するタプルのリスト、parametersは設定値を指定するタプルのリストを示している。例えば、パラメータは、プログラムを実行する際に使用されるパラメータである。
【００２０】
３  動作の説明
次に本発明の特徴的な動作を説明する。
【００２１】
図7は、本実施例に係る解析処理を実行する際のフローチャートの一例である。なお、上記の通り、各部での処理は、CPUが主記憶装置又は外部記憶装置に格納されるプログラムを実行することにより処理される。
処理の開始後、701の過程でデータ・処理履歴管理装置103は、利用者端末101を経由して図8に示される入力コマンドを利用者から受け取る。
その入力は702の過程でコマンド解析部202によって解析され、図9で示されるようなパラメータ名と値のセットに解釈される。図9の例では、解析プログラムとしてPCAと名前が付けられたものを用い、その入力としてtrainingDataという変数にはデータIDがInput1で示されるデータが、inputDataという変数にはデータIDがInput2で示されるデータが代入される。そして実行時のパラメータとしてdimensionという変数に5の値が代入され、その実行結果はデータIDがOutput1として記録される。
703の過程において、図9のコマンド解析結果を基に、データ・処理履歴管理装置103からデータ解析装置102に対して解析処理の実行要求が送られ、データ解析装置102にて解析処理が実行される。処理の詳細は、図15に示す。データ解析装置102の解析結果として、出力データへのファイルパス、プログラムバイナリ、および実行時のパラメタを受信する。
【００２２】
そして解析処理実行終了後、まず704の過程にて、例えばCPUが更新プログラムを実行することにより、データ管理テーブル207の更新が行われ、今回実行した解析処理の出力データのデータIDをデータID301に、出力データへのファイルパスをファイルパス302に、出力データの書き込みが完了した日時を開始時刻303に、真の値を実体の有無305に、今回実行した解析処理の計算時間を計算時間306に、0の値を準備時間307に書き込む。さらに、今回実行した解析処理の識別子を自動生成したのち、今回実行した解析処理の識別子を処理履歴ID308に書き込む。
次に705の過程で処理管理テーブル206の更新が行われ、今回実行した解析処理の識別子を処理履歴ID401に、解析に用いたプログラムの名前をプログラム名402に、そのプログラムのバージョンをデータ解析装置102から取得してプログラムバージョン403に、解析処理の設定ファイルの識別子を設定ファイルID404に、解析処理の実行をデータ解析装置102で開始した時刻を実行日時405に、データ解析装置102上で解析処理の実行にかかった時間を必要計算時間406に、今回の解析処理に用いたプログラムのバイナリイメージをデータ解析装置102から取得してプログラムバイナリ407に保存する。
そして706の過程で解析処理の設定を保存するために処理設定保存テーブル208の更新が行われ、解析処理の設定ファイルの識別子を内部で自動的に生成したのちにその値を設定ファイルID501に、708の内容をもとに設定ファイルを503に例示しているようなフォーマットで作成し、それを内部で自動的に生成したファイルパスに保存したのち、その設定ファイルのファイルパスを設定ファイルパス502に、設定ファイルを503のように記述して設定ファイルパス502で示された場所に保存する。該設定ファイルを保存しておくことにより、ユーザが求めるデータの実体が後述する図10の処理により削除されている場合であっても、該データを生成するための入力データやプログラムのバージョンを把握することができるため、再度生成することが可能となる。
【００２３】
図15は、本実施例に係る図7の703のデータ解析装置における解析処理のフローチャートの一例である。なお、各処理は、データ解析装置のCPUが主記憶装置又は外部記憶装置に格納されるデータ解析プログラムを読み出して実行することにより実現される。
1101の過程で、データ・処理履歴管理装置から解析処理の実行要求を受け付ける。
次に1102の過程において実行要求内でプログラムの実行イメージ（プログラムバイナリ）が指定されているかどうかを判別する。
ここで実行イメージが指定されている場合には、1106の過程において指定された実行イメージを用いて、データ解析装置102が解析を行う。
実行イメージが指定されていない場合には、1103の過程においてデータ解析装置102にもともと格納されている解析プログラムを用いて、データ解析装置102が解析を行う。
そののち1104の過程で解析結果を104に保存してそのファイルパスを取得したのちに1105の過程で解析処理に用いたプログラムのバイナリを取得する。データ解析装置102は、取得したファイルパスとプログラムのバイナリ、及びおよび実行時のパラメタをデータ・処理履歴管理装置に送信し、終了する。
【００２４】
図１0は、本実施例に係る、データの実体を削除する処理の一例を示すフローチャートである。具体的には、データの再計算時間が一定時間で終わる範囲で、データの実体を削除する。ここで、利用者が外部から与えたデータを素データと述べることにする。以降の処理で、装置が主語になっている場合には、その装置のCPUが実行しているものとする。
【００２５】
この処理は801の過程にて利用者の要求ないしは保存装置の空き容量の低下（例えば、空き容量がある閾値を下回った場合）をきっかけとして開始され、素データの中から適当に1つ選び、図10で示される処理を実施する。そして、図10でのフローチャートが終了したら別の素データを適当に1つ選び、再び図10のフローチャートで示される処理を実施し、これをデータの実体を削除するか否かを判別していないデータがなくなるまで繰り返し行う。
まず、802の過程にて、対象データが解析処理の素データかどうかを処理履歴情報解析部205が判別する。対象データが素データである場合には実体を消さないために809の過程に進み、対象データのデータIDとデータID301が一致するデータ管理テーブル207のエントリをデータ・処理履歴保存DB204が引き、対象データの準備時間307の項目を0に設定して、他の未処理のデータに対して処理を継続する。データを消去しないため、準備する時間がかからないためである。
対象データが素データではなく、素データをもとに生成された結果データ（派生データ）である場合には803の過程に進み、対象データの計算時間306の値をデータ・処理履歴保存DB204が取得する。
次に804の過程で対象データの処理履歴ID308の値が処理管理テーブル206の処理履歴ID401に一致するエントリをデータ・処理履歴保存DB204が引き、そのエントリの設定ファイルID404の値が設定ファイルID501に一致する処理設定保存テーブル208のエントリをデータ・処理履歴保存DB204が引き、そのエントリの設定ファイルパス502が指し示す設定ファイルをデータ・処理履歴管理装置103が取得する。この設定ファイルから解析処理の入力データのデータIDをデータ・処理履歴管理装置103が取得する。処理対象となるデータを生成するための入力データも、他の入力データにより生成される場合もあるため、該入力データを生成するための時間も処理対象となるデータを生成する時間に含めるためである。
そして805の過程にてその値を用いてデータ管理テーブル207内の、上記で求めたデータIDがデータID301に一致するエントリをデータ・処理履歴保存DB204が参照し、そのエントリの準備時間307の値をデータ・処理履歴保存DB204が取得し、803の過程で取得した値との和を求める。
【００２６】
その後、806の過程にてその和があらかじめ定めた閾値以上かどうかを処理・データ依存関係解析部203が判別し、閾値以上であれば807の過程にすすんで対象データの準備時間307の値を0に処理履歴情報解析部205が設定し、808の過程に進む。データを削除しないため、データを生成するための準備時間はかからないためである。
閾値以下であれば810の過程に進み、まず準備時間307に先ほど求めた和の値をデータ・処理履歴保存DB204が登録したのち、811の過程にて対象データの実体をデータ保存装置104が削除して808の過程に進む。808の過程では804の過程で取得した処理の設定情報から処理の出力データリストをデータ・処理履歴管理装置103が取得し、出力データに対して802から811までの処理を再帰的に実行する。811の過程でデータを削除することにより、データ保存装置が有するデータ量を削減することができる。また、設定ファイルをデータと関連付けて保存しているため、ユーザが必要な時には再度データを生成できる。
【００２７】
図11は、削除したデータを再計算して生成するための処理をスケジューリングする処理の一例を示すフローチャートである。具体的には、読出し予定時刻が含まれたデータ取得要求が利用者端末101ないりはデータ・処理履歴管理装置103から与えられたときに、再計算の処理をスケジューリングする処理である。これは、現時刻では使わないものの、未来の時刻においてデータが必要になることがわかっているとき、システムにその時刻を指定した読出し要求を出すことでデータを準備させるというものである。これを実現することで、保存領域や計算リソースの使用効率を上げることができる。この処理は、利用者あるいはシステムからの図12で示されるようなデータ取得要求を起点として実行される。ここで、dataIDは利用者が参照するデータのデータID、versionは取得したいデータがデータ保存装置104にあった時刻、deadlineはデータを実際に読みだす時刻である。
この処理はまず901の過程でデータ・処理履歴管理装置103がデータ取得要求を受け付けたのち、902の過程で取得要求のあったデータの実体があるかどうかを、対象データのdataIDがデータID301に一致し、かつversionが開始時間303と終了時間304の間に含まれるデータ管理テーブル207のエントリを引き、そのエントリ内の実体の有無305の値を見ることでデータ・処理履歴保存DB204がチェックする。
この場合実体の有無305に#tが格納されている場合にはデータの実体があるため再計算の必要はないためそのまま終了する。実体の有無305に#fが格納されている場合には実体がないため、903の過程ですでにそのデータに対して再計算のスケジューリングがなされているかどうかを、過程902で引いたエントリの処理履歴ID307と処理履歴ID401が一致する処理管理テーブル206のエントリを引き、そのエントリの再計算開始時刻408に値が格納されているかどうかでデータ・処理履歴保存DBが判断する。
値が格納されていない場合は再計算のスケジューリングがされていないため、904の過程で903の過程で引いたエントリの必要計算時間406の値をdeadlineの値から引いた値を再計算開始時刻として、903の過程で引いたエントリの再計算開始時刻408にデータ・処理履歴保存DB204が登録する。
903の過程で再計算開始時刻408に値が格納されている場合には、再計算のスケジューリングがすでになされているということであるため、907の過程でその再計算開始時刻408の値と必要計算時間406の値を足し、その値とdeadlineの値を処理・データ依存関係解析部203が比較する。
deadlineの値のほうが大きい、つまり時刻が後の場合はすでにスケジューリングされた再計算処理の結果を用いることができるため、何もせずに終了する。小さい場合には再計算処理の実行を早める必要があるため、904の過程に飛び、再計算処理の開始時間をデータ・処理履歴保存DB204が改めて設定する。その後、905の過程で、設定した再計算処理の入力データに対して、904の過程で設定した値をdeadlineの値としてデータの取得要求をデータ・処理履歴管理装置103が再帰的に出す。
該処理により、ユーザの要求するデータの実体がない場合であっても、該データの設定ファイルをもとに、ユーザが必要な時間に該データを生成できるようにスケジューリングすることが可能となる。
【００２８】
図13は、本実施例に係る、要求のあったデータを返信する処理の一例を示すフローチャートである。この処理は利用者やシステムからデータの取得要求があった時に実行される。
【００２９】
まず1001の過程で利用者から図14で示されるようなデータの取得要求をデータ・処理履歴管理装置103が受け付ける。ここで、dataIDは対象データのデータIDであり、またversionは利用者が指定する、そのデータが存在していた時刻である。
次に1002の過程でこのdataID及びversionが正しいかどうかということを、エントリが取得できるかどうかで処理・データ依存関係解析部205が判別する。ここでエントリが取得できる条件とは，dataIDがデータID301と等しく，かつversionが開始時間303と終了時間304の間に収まる場合とする．エントリが取得できない場合は正しくないとみなし、1009の過程で適当なエラーコードを返したのちに終了する。
エントリが取得できた場合には、正しいとみなし、1003の過程にてデータの実体があるかどうかを、このエントリの実体の有無305を参照することで処理・データ依存関係解析部203が判断する。この値が#tであればデータの実体があるため、1008の過程でデータの実体を返し、終了する。データの実体を返すために、データパスを参照して、データ保存装置にデータ取得要求を送り、データを受信する。
【００３０】
この値が#fの場合にはデータの実体がないとみなし、1004の過程でこのデータを生成した処理の情報を、1002の過程で取得したエントリの処理履歴ID308の値と処理履歴ID401の値が一致する処理管理テーブル206のエントリを取得することと、このエントリの設定ファイルID404の値と設定ファイルID501の値が一致する処理設定保存テーブル208のエントリを取得し、そのエントリの設定ファイルパス502に記されたパスに書き込まれた設定ファイルを読み込むことで処理・データ依存関係解析部203が取得する。
その後、1005の過程でその処理の入力データに関して、「データID」を先ほど取得した設定ファイルを解析することで取得し、またその処理が行われた時刻として「実行日時405」の値を処理・データ依存関係解析部205が取得する。そしてこの2つ（データID及び実行日時）の値によって特定されるデータの実体があるかどうかを過程1011で過程1003と同様に処理・データ依存関係解析部203が行う。
入力データの実体がある場合には、過程1005を行わず過程1006を実行する。
入力データの実体がない場合には、過程1005において再計算を図15に示されているフローに従って再帰的に行い、その後過程1006を行う。
過程1006では過程1003で得られた処理の情報をもとにデータの再計算を図15に示されているフローに従って行い、その結果を過程1007で返して終了する。
【符号の説明】
【００３１】
101：システムの利用者が操作する端末、102：データ解析装置、103：データ・処理履歴管理装置、104：データ保存装置、201：通信部、202：コマンド解析部、203：処理・データ依存関係解析部、204：データ・処理履歴保存DB、205：処理履歴情報解析部、206：処理管理テーブル、207：データ管理テーブル、208：処理設定保存テーブル、209：設定ファイル例、301：データID列、302：ファイルパス列、303：開始時間列、304：終了時間列、305：実体の有無列、306：計算時間列、307：準備時間列、308：処理履歴ID列、309：参照頻度列、401：処理履歴ID列、402：プログラム名列、403：プログラムバージョン列、404：設定ファイルID列、405：実行日時列、406：必要計算時間列、407：プログラムバイナリ列、408：再計算開始時刻、501：設定ファイルID列、502：設定ファイルパス列、503：設定ファイルの記述例、601：ユーザのコマンド例
【図１】
2012088875.tif 000003
【図２】
2012088875.tif 000004
【図３】
2012088875.tif 000005
【図４】
2012088875.tif 000006
【図５】
2012088875.tif 000007
【図６】
2012088875.tif 000008
【図７】
2012088875.tif 000009
【図８】
2012088875.tif 000010
【図９】
2012088875.tif 000011
【図１０】
2012088875.tif 000012
【図１１】
2012088875.tif 000013
【図１２】
2012088875.tif 000014
【図１３】
2012088875.tif 000015
【図１４】
2012088875.tif 000016
【図１５】
2012088875.tif 000017