(57)【要約】【課題】ファイル処理の途中で異常停止した場合でも、復旧する。【解決手段】ファイルに対する作業状態を表す作業フォルダと、ファイルに対する次の処理の待機状態を表す次待機フォルダとを有し、さらに処理と各フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、メモリとに接続したＣＰＵにより、作業フォルダにファイルを生成し、ファイルへの処理の完了に応答して、処理の実行に伴いメモリ上にキャッシュされたファイルを作業フォルダに格納し、ファイル状態遷移定義情報を参照して、作業フォルダから次待機フォルダへファイルを移動し、異常停止後の復旧時には、作業フォルダの前記ファイルを削除する。【選択図】図3
2010039988.tif 000002
【特許請求の範囲】
【請求項１】
ファイルに対する第１の処理の待機状態を表す待機フォルダと、前記ファイルに対する前記第１の処理の作業状態を表す作業フォルダと、前記ファイルに対する前記第1の処理の次の処理である第２の処理の待機状態を表す次待機フォルダとを有し、さらに前記第1の処理と前記待機フォルダ及び前記作業フォルダとの対応および前記第２の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記第1の処理を実行するためのプログラムを格納するメモリとに接続したＣＰＵにより、
前記待機フォルダから前記メモリに前記ファイルを読み出し、
前記読み出した前記ファイルに対して前記第１の処理を実行し、
前記ファイルへの前記第1の処理の完了に応答して、前記メモリ上の前記ファイルを前記作業フォルダに格納し、
前記待機フォルダから前記ファイルを削除し、
前記ファイル状態遷移定義情報を参照して、前記作業フォルダから前記待機フォルダに前記ファイルを移動し、
前記プログラムの異常停止後の復旧時には、前記待機フォルダと前記作業フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除し、
前記作業フォルダのみに前記ファイルがあれば、前記ファイルを前記次待機フォルダに移動し、
前記作業フォルダと前記次待機フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除することを特徴とするファイル管理方法。
【請求項２】
ファイルに対する第１の処理の待機状態を表す待機フォルダと、前記ファイルに対する前記第１の処理の作業状態を表すフォルダと、前記ファイルに対する前記第1の処理の次の処理である第２の処理の待機状態を表す次待機フォルダを有し、さらに前記第1の処理と前記待機フォルダ及び前記作業フォルダとの対応および前記第２の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記第1の処理を実行するためのプログラムを格納するメモリとに接続したＣＰＵにより、
前記ファイル状態遷移定義情報を参照して、前記待機フォルダから前記ファイルを前記作業フォルダに移動し、
前記作業フォルダから前記ファイルを前記メモリに読み出し、
前記読み出した前記ファイルに対して前記第１の処理を実行し、
前記ファイルへの前記第1の処理の完了に応答して、前記ファイル状態遷移定義情報を参照して、前記作業フォルダから前記次待機フォルダに前記ファイルを移動し、
前記プログラムの異常停止後の復旧時には、前記作業フォルダのみに前記ファイルがあれば、前記ファイルを前記次待機フォルダに移動し、
前記待機フォルダと前記作業フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除し、
前記作業フォルダと前記次待機フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除することを特徴とするファイル管理方法。
【請求項３】
ファイルを処理する複数の処理に前記ファイルを分岐するための待機状態を表す待機フォルダと、前記複数の処理の数に対応した、前記複数の処理のそれぞれの作業状態を表す複数の作業フォルダと、前記ファイルに対する前記複数の処理のそれぞれの次の処理の待機状態を表す複数の次待機フォルダを有し、さらに前記複数の処理と前記待機フォルダ及び前記複数の作業フォルダとの対応および前記複数の次の処理と前記複数の次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記複数の処理を実行するためのプログラムを格納するメモリとに接続したＣＰＵにより、
前記待機フォルダの前記ファイルを前記複数の作業フォルダにリンクし、
前記待機フォルダから前記ファイルを削除し、
前記ファイル状態遷移定義情報を参照して、前記複数の作業フォルダの各々から、対応する前記複数の次待機フォルダの各々に前記ファイルを移動し、
前記プログラムの異常停止後の復旧時には、前記待機フォルダと前記複数の作業フォルダの少なくとも一つとに前記ファイルがあれば、前記複数の作業フォルダのうちの前記ファイルがある作業フォルダから前記ファイルを削除し、
前記複数の作業フォルダのみに前記ファイルがあれば、前記ファイル状態遷移定義情報を参照して、前記複数の作業フォルダの各々の前記ファイルを対応する前記複数の次待機フォルダの各々に移動し、
前記複数の作業フォルダの少なくとも一つと前記複数の次待機フォルダの少なくとも一つとに前記ファイルがあれば、前記ファイル状態遷移定義情報を参照して、前記複数の作業フォルダの各々の前記ファイルを対応する前記次待機フォルダに移動することを特徴とするファイル管理方法。
【請求項４】
ファイルに対する第1の処理の待機状態を表す待機フォルダと、前記ファイルに対する前記第1の処理の次の処理である第２の処理の待機状態を表す次待機フォルダとを有し、さらに前記第1の処理と前記待機フォルダとの対応および前記第２の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記第1の処理を実行するためのプログラムを格納するメモリとに接続したＣＰＵにより、
前記待機フォルダから前記メモリに前記ファイルを読み出し、
前記ファイルへの前記第1の処理の完了に応答して、前記ファイル状態遷移定義情報を参照して、前記待機フォルダから前記次待機フォルダに前記ファイルを移動し、
前記プログラムの異常停止後の復旧時には、前記待機フォルダと前記次待機フォルダとに前記ファイルがあれば、前記待機フォルダから前記ファイルを削除することを特徴とするファイル管理方法。
【請求項５】
ファイルに対する第1の処理の作業状態を表す作業フォルダと、前記ファイルに対する前記第1の処理の次の処理である第２の処理の待機状態を表す次待機フォルダとを有し、さらに前記第1の処理と前記作業フォルダとの対応および前記第２の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記第1の処理を実行するためのプログラムを格納するメモリとに接続したＣＰＵにより、
前記作業フォルダに前記ファイルを生成し、
前記ファイルへの前記第1の処理の完了に応答して、前記第1の処理の実行に伴い前記メモリ上にキャッシュされた前記ファイルを前記作業フォルダに格納し、
前記ファイル状態遷移定義情報を参照して、前記作業フォルダから前記次待機フォルダへ前記ファイルを移動し、
前記プログラムの異常停止後の復旧時には、前記作業フォルダの前記ファイルを削除することを特徴とするファイル管理方法。
【請求項６】
ファイルに対する第１の処理の待機状態を表す待機フォルダと、前記ファイルに対する前記第１の処理の作業状態を表す作業フォルダと、前記ファイルに対する前記第1の処理の次の処理である第２の処理の待機状態を表す次待機フォルダとを有し、さらに前記第1の処理と前記待機フォルダ及び前記作業フォルダとの対応および前記第２の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、
前記第1の処理を実行するためのプログラムを格納するメモリと、
前記記憶装置と前記メモリとに接続したＣＰＵとを設け、前記ＣＰＵは、
前記待機フォルダから前記メモリに前記ファイルを読み出す手段、
前記読み出した前記ファイルに対して前記第１の処理を実行する手段、
前記ファイルへの前記第1の処理の完了に応答して、前記メモリ上の前記ファイルを前記作業フォルダに格納する手段、
前記待機フォルダから前記ファイルを削除する手段、
前記ファイル状態遷移定義情報を参照して、前記作業フォルダから前記待機フォルダに前記ファイルを移動する手段、
前記プログラムの異常停止後の復旧時に、前記待機フォルダと前記作業フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除する手段、
前記プログラムの異常停止後の復旧時に、前記作業フォルダのみに前記ファイルがあれば、前記ファイルを前記次待機フォルダに移動する手段、及び
前記プログラムの異常停止後の復旧時に、前記作業フォルダと前記次待機フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除する手段を有することを特徴とするファイル管理装置。
【請求項７】
ファイルに対する第１の処理の待機状態を表す待機フォルダと、前記ファイルに対する前記第１の処理の作業状態を表すフォルダと、前記ファイルに対する前記第1の処理の次の処理である第２の処理の待機状態を表す次待機フォルダを有し、さらに前記第1の処理と前記待機フォルダ及び前記作業フォルダとの対応および前記第２の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記第1の処理を実行するためのプログラムを格納するメモリと、
前記記憶装置と前記メモリとに接続したＣＰＵとを設け、前記ＣＰＵは、
前記ファイル状態遷移定義情報を参照して、前記待機フォルダから前記ファイルを前記作業フォルダに移動する手段、
前記作業フォルダから前記ファイルを前記メモリに読み出す手段、
前記読み出した前記ファイルに対して前記第１の処理を実行する手段、
前記ファイルへの前記第1の処理の完了に応答して、前記ファイル状態遷移定義情報を参照して、前記作業フォルダから前記次待機フォルダに前記ファイルを移動する手段、
前記プログラムの異常停止後の復旧時に、前記作業フォルダのみに前記ファイルがあれば、前記ファイルを前記次待機フォルダに移動する手段、
前記プログラムの異常停止後の復旧時に、前記待機フォルダと前記作業フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除する手段、及び、
前記プログラムの異常停止後の復旧時に、前記作業フォルダと前記次待機フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除する手段を有することを特徴とするファイル管理装置。
【請求項８】
ファイルを処理する複数の処理に前記ファイルを分岐するための待機状態を表す待機フォルダと、前記複数の処理の数に対応した、前記複数の処理のそれぞれの作業状態を表す複数の作業フォルダと、前記ファイルに対する前記複数の処理のそれぞれの次の処理の待機状態を表す複数の次待機フォルダを有し、さらに前記複数の処理と前記待機フォルダ及び前記複数の作業フォルダとの対応および前記複数の次の処理と前記複数の次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記複数の処理を実行するためのプログラムを格納するメモリと、
前記記憶装置と前記メモリとに接続したＣＰＵとを設け、前記ＣＰＵは、
前記待機フォルダの前記ファイルを前記複数の作業フォルダにリンクする手段、
前記待機フォルダから前記ファイルを削除する手段、
前記ファイル状態遷移定義情報を参照して、前記複数の作業フォルダの各々から、対応する前記複数の次待機フォルダの各々に前記ファイルを移動する手段、
前記プログラムの異常停止後の復旧時に、前記待機フォルダと前記複数の作業フォルダの少なくとも一つとに前記ファイルがあれば、前記複数の作業フォルダのうちの前記ファイルがある作業フォルダから前記ファイルを削除する手段、
前記プログラムの異常停止後の復旧時に、前記複数の作業フォルダのみに前記ファイルがあれば、前記ファイル状態遷移定義情報を参照して、前記複数の作業フォルダの各々の前記ファイルを対応する前記複数の次待機フォルダの各々に移動する手段、及び
前記プログラムの異常停止後の復旧時に、前記複数の作業フォルダの少なくとも一つと前記複数の次待機フォルダの少なくとも一つとに前記ファイルがあれば、前記ファイル状態遷移定義情報を参照して、前記複数の作業フォルダの各々の前記ファイルを対応する前記次待機フォルダに移動する手段を有することを特徴とするファイル管理装置。
【請求項９】
ファイルに対する第1の処理の待機状態を表す待機フォルダと、前記ファイルに対する前記第1の処理の次の処理である第２の処理の待機状態を表す次待機フォルダとを有し、さらに前記第1の処理と前記待機フォルダとの対応および前記第２の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、
前記第1の処理を実行するためのプログラムを格納するメモリと、
前記記憶装置と前記メモリとに接続したＣＰＵとを設け、前記ＣＰＵは、
前記待機フォルダから前記メモリに前記ファイルを読み出す手段、
前記ファイルへの前記第1の処理の完了に応答して、前記ファイル状態遷移定義情報を参照して、前記待機フォルダから前記次待機フォルダに前記ファイルを移動する手段、
前記プログラムの異常停止後の復旧時に、前記待機フォルダと前記次待機フォルダとに前記ファイルがあれば、前記待機フォルダから前記ファイルを削除する手段を有することを特徴とするファイル管理装置。
【請求項１０】
ファイルに対する第1の処理の作業状態を表す作業フォルダと、前記ファイルに対する前記第1の処理の次の処理である第２の処理の待機状態を表す次待機フォルダとを有し、さらに前記第1の処理と前記作業フォルダとの対応および前記第２の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、
前記第1の処理を実行するためのプログラムを格納するメモリと、
前記記憶装置と前記メモリとに接続したＣＰＵとを設け、前記ＣＰＵは、
前記作業フォルダに前記ファイルを生成する手段、
前記ファイルへの前記第1の処理の完了に応答して、前記第1の処理の実行に伴い前記メモリ上にキャッシュされた前記ファイルを前記作業フォルダに格納する手段、
前記ファイル状態遷移定義情報を参照して、前記作業フォルダから前記次待機フォルダへ前記ファイルを移動する手段、
前記プログラムの異常停止後の復旧時に、前記作業フォルダの前記ファイルを削除する手段を有することを特徴とするファイル管理装置。
【請求項１１】
ファイルに対する第１の処理の待機状態を表す待機フォルダと、前記ファイルに対する前記第１の処理の作業状態を表す作業フォルダと、前記ファイルに対する前記第1の処理の次の処理である第２の処理の待機状態を表す次待機フォルダとを有し、さらに前記第1の処理と前記待機フォルダ及び前記作業フォルダとの対応および前記第２の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記第1の処理を実行するためのプログラムを格納するメモリと、
前記記憶装置と前記メモリとに接続したＣＰＵとを有するコンピュータに実行させるファイル管理プログラムであって、
前記待機フォルダから前記メモリに前記ファイルを読み出し、
前記読み出した前記ファイルに対して前記第１の処理を実行し、
前記ファイルへの前記第1の処理の完了に応答して、前記メモリ上の前記ファイルを前記作業フォルダに格納し、
前記待機フォルダから前記ファイルを削除し、
前記ファイル状態遷移定義情報を参照して、前記作業フォルダから前記待機フォルダに前記ファイルを移動し、
前記プログラムの異常停止後の復旧時には、前記待機フォルダと前記作業フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除し、
前記作業フォルダのみに前記ファイルがあれば、前記ファイルを前記次待機フォルダに移動し、
前記作業フォルダと前記次待機フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除することを特徴とするファイル管理プログラム。
【請求項１２】
ファイルに対する第１の処理の待機状態を表す待機フォルダと、前記ファイルに対する前記第１の処理の作業状態を表すフォルダと、前記ファイルに対する前記第1の処理の次の処理である第２の処理の待機状態を表す次待機フォルダを有し、さらに前記第1の処理と前記待機フォルダ及び前記作業フォルダとの対応および前記第２の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記第1の処理を実行するためのプログラムを格納するメモリと、
前記記憶装置と前記メモリとに接続したＣＰＵとを有するコンピュータに実行させるファイル管理プログラムであって、
前記ファイル状態遷移定義情報を参照して、前記待機フォルダから前記ファイルを前記作業フォルダに移動し、
前記作業フォルダから前記ファイルを前記メモリに読み出し、
前記読み出した前記ファイルに対して前記第１の処理を実行し、
前記ファイルへの前記第1の処理の完了に応答して、前記ファイル状態遷移定義情報を参照して、前記作業フォルダから前記次待機フォルダに前記ファイルを移動し、
前記プログラムの異常停止後の復旧時には、前記作業フォルダのみに前記ファイルがあれば、前記ファイルを前記次待機フォルダに移動し、
前記待機フォルダと前記作業フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除し、
前記作業フォルダと前記次待機フォルダとに前記ファイルがあれば、前記作業フォルダの前記ファイルを削除することを特徴とするファイル管理プログラム。
【請求項１３】
ファイルを処理する複数の処理に前記ファイルを分岐するための待機状態を表す待機フォルダと、前記複数の処理の数に対応した、前記複数の処理のそれぞれの作業状態を表す複数の作業フォルダと、前記ファイルに対する前記複数の処理のそれぞれの次の処理の待機状態を表す複数の次待機フォルダを有し、さらに前記複数の処理と前記待機フォルダ及び前記複数の作業フォルダとの対応および前記複数の次の処理と前記複数の次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記複数の処理を実行するためのプログラムを格納するメモリと、
前記記憶装置と前記メモリとに接続したＣＰＵとを有するコンピュータに実行させるファイル管理プログラムであって、
前記待機フォルダの前記ファイルを前記複数の作業フォルダにリンクし、
前記待機フォルダから前記ファイルを削除し、
前記ファイル状態遷移定義情報を参照して、前記複数の作業フォルダの各々から、対応する前記複数の次待機フォルダの各々に前記ファイルを移動し、
前記プログラムの異常停止後の復旧時には、前記待機フォルダと前記複数の作業フォルダの少なくとも一つとに前記ファイルがあれば、前記複数の作業フォルダのうちの前記ファイルがある作業フォルダから前記ファイルを削除し、
前記複数の作業フォルダのみに前記ファイルがあれば、前記ファイル状態遷移定義情報を参照して、前記複数の作業フォルダの各々の前記ファイルを対応する前記複数の次待機フォルダの各々に移動し、
前記複数の作業フォルダの少なくとも一つと前記複数の次待機フォルダの少なくとも一つとに前記ファイルがあれば、前記ファイル状態遷移定義情報を参照して、前記複数の作業フォルダの各々の前記ファイルを対応する前記次待機フォルダに移動ことを特徴とするファイル管理プログラム。
【請求項１４】
ファイルに対する第1の処理の待機状態を表す待機フォルダと、前記ファイルに対する前記第1の処理の次の処理である第２の処理の待機状態を表す次待機フォルダとを有し、さらに前記第1の処理と前記待機フォルダとの対応および前記第２の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記第1の処理を実行するためのプログラムを格納するメモリと、
前記記憶装置と前記メモリとに接続したＣＰＵとを有するコンピュータに実行させるファイル管理プログラムであって、
前記待機フォルダから前記メモリに前記ファイルを読み出し、
前記ファイルへの前記第1の処理の完了に応答して、前記ファイル状態遷移定義情報を参照して、前記待機フォルダから前記次待機フォルダに前記ファイルを移動し、
前記プログラムの異常停止後の復旧時には、前記待機フォルダと前記次待機フォルダとに前記ファイルがあれば、前記待機フォルダから前記ファイルを削除することを特徴とするファイル管理プログラム。
【請求項１５】
ファイルに対する第1の処理の作業状態を表す作業フォルダと、前記ファイルに対する前記第1の処理の次の処理である第２の処理の待機状態を表す次待機フォルダとを有し、さらに前記第1の処理と前記作業フォルダとの対応および前記第２の処理と前記次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、前記第1の処理を実行するためのプログラムを格納するメモリと、
前記記憶装置と前記メモリとに接続したＣＰＵとを有するコンピュータに実行させるファイル管理プログラムであって、
前記作業フォルダに前記ファイルを生成し、
前記ファイルへの前記第1の処理の完了に応答して、前記第1の処理の実行に伴い前記メモリ上にキャッシュされた前記ファイルを前記作業フォルダに格納し、
前記ファイル状態遷移定義情報を参照して、前記作業フォルダから前記次待機フォルダへ前記ファイルを移動し、
前記プログラムの異常停止後の復旧時には、前記作業フォルダの前記ファイルを削除することを特徴とするファイル管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムが異常停止した場合でも、ファイルの状態を復旧するファイル管理方法、装置及びプログラムに関する。
【背景技術】
【０００２】
従来、ファイルの状態を管理するために、メモリ上にファイルの一覧とその状態を記憶し、状態が変更になるごとにメモリ上の情報を変更していた。しかし、ファイルの状態をメモリ上で管理するプログラムが、停電やプログラムのバグにより異常停止すると、メモリ上の情報が消失し、ファイルの状態を認識できなくなる。そのため、プログラムを再起動してもファイルの状態を復旧できなくなる。メモリ上にファイルの状態を記憶する代わりに、その情報をファイルやDBに記憶する方法もあるが、その場合にはハードウエアに近いレベルのI/O処理が必要なジャーナル機能を作成するためにプログラムが複雑になり、また組込み端末のようにDBや複雑な処理の導入が難しい環境もある。
【０００３】
そのような中で、特許文献1のように、クライアント間でファイルを共有するネットワークシステムにおいて、ファイル作成時には作業用フォルダ(ディレクトリ)でファイルを作成し、ファイル作成終了の状態になったら転送用フォルダにファイルをコピーするものがある。
【０００４】
【特許文献１】特開2005-321875
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１の転送用フォルダは、ファイルの転送先がPull型でファイル転送するために設けられているが、転送用フォルダに格納されたファイルは、その状態を管理する情報を設けなくても、作成完了状態にあると見ることができる。しかし、ファイルを作業用フォルダから転送用フォルダにコピーするなどの書込処理の途中で、プログラムが異常停止すると、ファイルのコピーが完了しないまま不完全なファイルとなってしまう。そのまま復帰すると、不完全なファイルを他のクライアントに転送することになり、転送されたファイルを読み込む側で異常動作する可能性がある。
【０００６】
ファイルの状態の管理が重要なシステムとして監視システムがある。監視システムは、監視クライアントで監視情報を収集してファイルに出力し、そのファイルを監視サーバに転送する。そのとき、監視クライアントでは、ファイルの作成中、送信中、送信完了などのファイルの状態を管理する必要がある。ファイルの状態を管理することにより、ファイルに対してどのような処理を実行すればよいかが決定される。換言すると、ファイルの状態が適正に管理されていなければ、ファイルに対して実行すべき処理を決めることができない。
【０００７】
そこで、ファイル処理の途中で、異常停止した場合でも、問題があるファイルを検出・除去し、復旧するなどにより、ファイルの状態を管理する必要がある。
【課題を解決するための手段】
【０００８】
本発明は、次のように構成される、ファイル管理方法、ファイル管理装置及びファイル管理プログラムである。ファイルに対する第１の処理の待機状態を表す待機フォルダと、ファイルに対する第１の処理の作業状態を表す作業フォルダと、ファイルに対する第1の処理の次の処理である第２の処理の待機状態を表す次待機フォルダとを有し、さらに第1の処理と待機フォルダ及び作業フォルダとの対応および第２の処理と次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、第1の処理を実行するためのプログラムを格納するメモリとに接続したＣＰＵにより、待機フォルダからメモリにファイルを読み出し、読み出した前記ファイルに対して第１の処理を実行し、ファイルへの第1の処理の完了に応答して、メモリ上のファイルを作業フォルダに格納し、待機フォルダからファイルを削除し、ファイル状態遷移定義情報を参照して、作業フォルダから待機フォルダにファイルを移動し、プログラムの異常停止後の復旧時には、待機フォルダと作業フォルダとに前記ファイルがあれば、作業フォルダのファイルを削除し、作業フォルダのみにファイルがあれば、ファイルを次待機フォルダに移動し、作業フォルダと次待機フォルダとに前記ファイルがあれば、作業フォルダの前記ファイルを削除する。
【０００９】
本発明の他の態様は、ファイルに対する第１の処理の待機状態を表す待機フォルダと、ファイルに対する第１の処理の作業状態を表すフォルダと、ファイルに対する第1の処理の次の処理である第２の処理の待機状態を表す次待機フォルダを有し、さらに第1の処理と待機フォルダ及び作業フォルダとの対応および第２の処理と次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、第1の処理を実行するためのプログラムを格納するメモリとに接続したＣＰＵにより、ファイル状態遷移定義情報を参照して、待機フォルダからファイルを作業フォルダに移動し、作業フォルダからファイルをメモリに読み出し、読み出したファイルに対して第１の処理を実行し、ファイルへの第1の処理の完了に応答して、ファイル状態遷移定義情報を参照して、作業フォルダから次待機フォルダにファイルを移動し、プログラムの異常停止後の復旧時には、作業フォルダのみにファイルがあれば、ファイルを次待機フォルダに移動し、待機フォルダと作業フォルダとに前記ファイルがあれば、作業フォルダの前記ファイルを削除し、作業フォルダと次待機フォルダとに前記ファイルがあれば、作業フォルダの前記ファイルを削除する。
【００１０】
本発明のさらに他の態様は、ファイルを処理する複数の処理に前記ファイルを分岐するための待機状態を表す待機フォルダと、複数の処理の数に対応した、複数の処理のそれぞれの作業状態を表す作業フォルダと、ファイルに対する複数の処理のそれぞれの次の処理の待機状態を表す複数の次待機フォルダを有し、さらに複数の処理と待機フォルダ及び複数の作業フォルダとの対応および複数の次の処理と複数の次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、複数の処理を実行するためのプログラムを格納するメモリとに接続したＣＰＵにより、待機フォルダのファイルを複数の作業フォルダにリンクし、待機フォルダからファイルを削除し、ファイル状態遷移定義情報を参照して、複数の作業フォルダの各々から、対応する複数の次待機フォルダの各々にファイルを移動し、プログラムの異常停止後の復旧時には、待機フォルダと複数の作業フォルダの少なくとも一つとにファイルがあれば、複数の作業フォルダのうちのファイルがある作業フォルダからファイルを削除し、複数の作業フォルダのみにファイルがあれば、ファイル状態遷移定義情報を参照して、複数の作業フォルダの各々のファイルを対応する複数の次待機フォルダの各々に移動し、複数の作業フォルダの少なくとも一つと複数の次待機フォルダの少なくとも一つとに前記ファイルがあれば、ファイル状態遷移定義情報を参照して、複数の作業フォルダの各々の前記ファイルを対応する次待機フォルダに移動する。
【００１１】
本発明のさらに他の態様は、ファイルに対する第1の処理の待機状態を表す待機フォルダと、ファイルに対する第1の処理の次の処理である第２の処理の待機状態を表す次待機フォルダとを有し、さらに第1の処理と待機フォルダとの対応および第２の処理と次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、第1の処理を実行するためのプログラムを格納するメモリとに接続したＣＰＵにより、待機フォルダからメモリにファイルを読み出し、ファイルへの第1の処理の完了に応答して、ファイル状態遷移定義情報を参照して、待機フォルダから次待機フォルダに前記ファイルを移動し、プログラムの異常停止後の復旧時には、待機フォルダと次待機フォルダとにファイルがあれば、待機フォルダからファイルを削除する。
【００１２】
本発明のさらに他の態様は、ファイルに対する第1の処理の作業状態を表す作業フォルダと、ファイルに対する第1の処理の次の処理である第２の処理の待機状態を表す次待機フォルダとを有し、さらに第1の処理と作業フォルダとの対応および第２の処理と次待機フォルダとの対応を示すファイル状態遷移定義情報を格納した記憶装置と、第1の処理を実行するためのプログラムを格納するメモリとに接続したＣＰＵにより、作業フォルダにファイルを生成し、ファイルへの第1の処理の完了に応答して、第1の処理の実行に伴いメモリ上にキャッシュされたファイルを作業フォルダに格納し、ファイル状態遷移定義情報を参照して、作業フォルダから次待機フォルダへファイルを移動し、プログラムの異常停止後の復旧時には、作業フォルダの前記ファイルを削除する
【発明の効果】
【００１３】
本発明によれば、ファイル処理の途中で異常停止した場合でも、問題があるファイルを検出・除去し、復旧するなどにより、ファイルの状態を管理できる。
【発明を実施するための最良の形態】
【００１４】
監視情報を収集し、収集した監視情報を監視サーバに向けて送信する監視クライアント端末を中心とした監視システムを具体例に、ファイル管理方法及び装置の実施例を説明する。
【実施例１】
【００１５】
以下、本実施例を、図1〜図11を参照して詳細に説明する。実施例1の監視システムは、監視クライアント端末1で監視情報を収集し、署名を追加してから、1つの監視サーバ2に送信するものである。
【００１６】
図1は、監視システムのシステム構成を示す。監視クライアント端末1が監視対象5を監視し、監視情報を得て、監視情報を格納したファイルを作成する。作成したファイルに署名を追加し、ファイル3を監視サーバ2に送信する。
【００１７】
図2は、監視クライアント端末1の構成を示したものである。監視クライアント端末1は、ファイル管理装置として動作するコンピュータであり、後述する種々の処理プログラムを実行するCPU11、処理プログラムや処理プログラムの実行に関係する一時的なデータを記憶するメモリ12、キーボードやマウスなどの入力部13、ディスプレイなどの出力部14、Ethernet（登録商標）などの通信部15、データやプログラムを格納するハードディスクのような記憶部16を有する。
【００１８】
記憶部16のファイルシステム上に、複数個のフォルダ4(ディレクトリ)があり、フォルダ4の中にファイル3を保存する。記憶部16には、監視対象5から監視情報を収集しファイルに書き込む情報収集プログラム161と、収集した監視情報を書き込んだファイルに署名を追加する署名追加プログラム162と、署名を追加したファイルを監視サーバ2に送信する送信プログラム163を格納する。情報収集プログラム161はファイル生成手順171を、署名追加プログラム162はファイル書込手順172を、送信プログラム163はファイル読出手順173を持つ。また、情報収集プログラム161と署名追加プログラム162と送信プログラム163は共に、ファイル復旧手順175を持つ。また、記憶部16は、ファイルの状態遷移を定義するファイル状態遷移定義情報165を持つ。
【００１９】
なお、図２を含む本実施例で用いる各図には、他の実施例で説明するものを含んで示してある。
【００２０】
情報収集プログラム161と署名追加プログラム162と送信プログラム163とによるファイル操作は、アトミック性が保証されているファイルシステムを用いる。ファイル操作とは、ファイルの移動、リンクの作成(link)、削除(unlink)の操作などの操作である。アトミック性が保証された操作は、アトミック操作と呼ばれ、いくつかの細かい操作を組み合わせた操作であり、システムの他の部分（他のプロセス、他のタスク）から見てそれらが一つの操作に見える。したがって、アトミック操作は、その操作が完了するまで、他のプロセスはその途中の状態を観測できず、一部の細かい操作が失敗したら組み合わせた全体としての操作を失敗として、システムの状態はアトミック操作の実行前の状態に戻るという性質を持つ。
【００２１】
なお、フォルダの中にファイルがあるというのは、実際には、フォルダの中にファイルの実体へのリンクが格納されている状態である。よって、ここでのファイルの移動は、ファイルの実体の移動を伴わず、移動先フォルダにファイル実体へのリンクを作成した後、移動元のフォルダのファイル実体へのリンクを削除する操作である。
【００２２】
また、ファイルシステムは、高速化のために、ディスク上にあるファイルやフォルダの情報をメモリ上にキャッシュしている。ファイルシステムによっては、ファイルの移動、リンクの作成、削除の操作をするときにキャッシュ上の情報だけを変更し、ディスクに反映させないものがある。そのような場合に停電すると、キャッシュ上にありディスクに反映されていない情報が消えてしまう可能性がある。そこで、このようなファイルシステムにおいては、キャッシュ上の情報をディスクに書き込んで状態を確定させるために、次のファイル操作を行う前に必ずフォルダのフラッシュをする。以降では、明示的には書かないが、ファイルシステムに合わせて必要に応じて、ファイルの移動、リンクの作成、削除の操作に伴いフラッシュする。
【００２３】
図3は、監視クライアント端末1内のファイル3の状態遷移と、記憶部16のフォルダ4とファイル3の関係を示したものである。
【００２４】
ファイル3に対する処理は、情報収集プログラム161によるファイルの生成処理、署名追加プログラム162による署名を追加するときの書込処理、ファイル送信プログラム163による監視サーバ2に送信するときの読出処理となる。プログラムが異常停止した場合でも、復旧時にファイル3の状態を一意に判断できるようにするために、それぞれの処理の処理前、処理中、処理後のいずれであるかがわかるようにファイル3の状態を管理する。具体的には、処理前を「待機状態」、処理中を「作業状態」、処理後を次の処理の「待機状態」とする。
【００２５】
情報収集プログラム161は、処理前の状態がなく、途中で異常停止したときにファイル生成中(処理中)か、ファイルが完成した(処理後)かの2つの状態がわかる必要があるため、作業状態として「収集中」を用意する。署名追加プログラム162は、途中で異常停止したときにファイル書込前(処理前)、ファイル書込中(処理中)、ファイル書込後(処理後)の3つの状態を区別する必要があるため、待機状態として「署名待機中」と作業状態として「署名書込中」を用意する。ファイル書込後(処理後)の状態は、次の処理の「待機状態」となる。ファイル送信プログラム163は、途中で異常停止したときに送信が完了した(処理後)か、完了していない(処理前・処理中)かがわかれば良いため、待機状態として「送信待機中」を用意する。さらに、一連の処理が完了したことを示すために「送信完了」を用意する。このように処理の内容に応じてファイルの状態を用意する。
【００２６】
そして、ファイルの状態に合わせて、ファイルの状態を管理するために、ファイルの状態数に応じたフォルダを用意する。収集中6Aの状態に対し収集中フォルダ4Aを、署名待機中6Bの状態に対し署名待機フォルダ4Bを、署名書込中6Cの状態に対し署名書込フォルダ4Cを、送信待機中6Dの状態に対し送信待機フォルダ4Dを、送信完了6Eの状態に対し送信完了フォルダ4Eを各々用意する。ファイルの状態が遷移するごとにファイルを格納するフォルダを移動することにより、ファイルがどのフォルダに存在するかでファイルの状態を判断する。
【００２７】
図4は、図3のファイルの状態遷移を纏めたファイル状態遷移定義情報165である。情報収集プログラム161、署名追加プログラム162、ファイル送信プログラム163の処理ごとに、次に実行する処理、処理の分類、フォルダ構成を示す。フォルダには待機状態と作業状態を示すものがあり、処理内容の分類ごとにどちらがあるかが決まる。処理内容の分類には、「生成」「読出」「書込」がある。情報収集プログラム161は、ファイル生成処理をするものであり、ファイルを生成する作業フォルダとして収集中フォルダ4Aを持つ。署名追加プログラム162は、ファイル書込処理をするものであり、待機フォルダとして署名待機フォルダ4Bと、作業フォルダとして署名書込フォルダ4Cを持つ。送信プログラム163は、ファイルを読み出して送信するものであり、待機フォルダとして送信待機フォルダ4Dを持つ。さらに、一連の処理が終わった状態として「終了」があり、そのための待機フォルダとして送信完了フォルダ4Eがある。1つのファイルに対する処理は、情報収集プログラム161、署名追加プログラム162、送信プログラム163の順番で実行し、終了となる。
【００２８】
図5は、情報収集プログラム161のようにファイルを生成するプログラムが利用するファイル生成手順171のフローチャートである。また、図6は、そのときのファイル3とフォルダ4の関係を示したものである。情報収集プログラム161の場合、作業フォルダ4aが収集中フォルダ4Aに、次状態フォルダ4bが署名待機フォルダ4Bに対応する。
【００２９】
この対応関係、すなわち作業フォルダや次状態フォルダの特定は、図4に示した処理に対応した作業状態欄のフォルダを作業フォルダとして、次処理の行の待機状態欄のフォルダを次状態フォルダとする。この特定方法は、情報収集プログラム161に限らず、後述する各処理においても同様である。
【００３０】
図5及び図6を用いて、ファイル生成手順171の処理を説明する。ファイル生成手順171は、作業フォルダ4aでファイルを作成する(ステップ1711)。ファイル名は、すべてのフォルダ4にあるファイルの中で一意になるように生成する。そのため、例えば、ファイルの種類、ファイルを生成する時刻、生成するファイルの通番からファイル名を生成する。ファイルの種類を「data」、時刻を「2008/01/02 03:44:55」、通番を「678」とすると、ファイル名を「data_20080102_034455_678」となる。ファイルの種類は、情報収集プログラム161が監視対象5ごとにファイルを分ける場合や、監視情報そのものと監視情報を元に異常値を検出したというイベント情報とでファイルを分ける場合があるため、それらを識別するように「data」「event」のように指定する。通番は、ファイルの種類ごとに、ファイルを生成した順番ごとに番号が変化するように割り当てる。
【００３１】
ファイル生成手順171は、作業フォルダ4aに作成したファイルに対し、収集した情報を書き込む(ステップ1712)。書き込みが終わったときには、メモリ12上にキャッシュされているファイルが記憶部16に書き込まれるように、フラッシュする。
【００３２】
ファイル生成手順171は、作業フォルダ4aにあるファイルを次状態フォルダ4bに移動する(ステップ1713)。ステップ1713を実行するタイミングは、ステップ1712で一定時間分の情報が集まったときの時間トリガ、一定個数分の情報が集まったときの個数トリガ、ユーザや監視サーバ2からの要求を受け取ったときの要求トリガ、収集した情報に緊急性の高い情報(観測値に異常値が含まれていた等)があるときの優先度トリガを受けたときなどである。以上のように、ファイル生成手順171を実行する。
【００３３】
図7は、署名追加プログラム162のようにファイルに書き込みするプログラムが利用するファイル書込手順172のフローチャートである。また、図8は、そのときのファイル3とフォルダ4の関係を示したものである。署名追加プログラム162の場合、待機フォルダ4cが署名待機フォルダ4Bに、作業フォルダ4dが署名書込フォルダ4Cに、次状態フォルダ4eが送信待機フォルダ4Dに対応する。図7及び図8を用いて、ファイル書込手順172の処理を説明する。
【００３４】
ファイル書込手順172は、待機フォルダ4cにあるファイルの中から書き込みするファイルを選択し、ファイルの内容を読み出す(ステップ1721)。ステップ1721を実行するタイミングは、待機フォルダ4cにファイルが追加されたことを検出したときや、前に実行するプログラムや監視サーバ2からの要求を受け取って待機フォルダ4cにファイルがあることを検出したときなどである。選択するファイルは、プログラムにより実行されるポリシにより異なる。例えば、古いファイルから処理する場合にはファイルのタイムスタンプ（ファイルの生成時刻又は更新時刻）を、ファイルの種類による優先度をつける場合にはファイルの種類を見て、処理を実行する順にファイルを選択する。
【００３５】
ファイル書込手順172は、ステップ1721で読み出したファイルの内容を元に、作業フォルダ4dに同名のファイルを作成し、情報を書き込む(ステップ1722)。署名追加プログラム162の場合は、ファイルの元々の内容と署名情報を書き込む。書き込みが終わったときには、メモリ12上にキャッシュされているファイルが記憶部16に書き込まれるように、フラッシュする。
【００３６】
ファイル書込手順172は、待機フォルダ4cにあるステップ1721で読み出したファイルを削除する(ステップ1723)。ステップ1723を実行するタイミングは、すべての書き込みが完了したときである。ファイル書込手順172は、作業フォルダ4dにあるファイルを次状態フォルダ4eに移動する(ステップ1724)。
【００３７】
なお、ステップ1721で読み出してステップ1722で書き込んでいるが、この組み合わせ処理を複数回繰り返してからステップ1723に進んでも良い。また、一度待機フォルダから作業フォルダにファイルをコピー(ファイルの実体のコピーであり、ステップ1721の読み出しとステップ1722の書き出しとで実現する)し、その後作業フォルダ内のコピーしたファイルを読み込んで、さらにそのファイルに書き込みをしても良い。以上のように、ファイル書込手順172を実行する。
【００３８】
図9は、送信プログラム163のようにファイルに読み出しするプログラムが利用するファイル読出手順173のフローチャートである。また、図10は、そのときのファイル3とフォルダ4の関係を示したものである。送信プログラム163の場合、待機フォルダ4fが送信待機フォルダ4Dに、次状態フォルダ4gが送信完了フォルダ4Eに対応する。図9及び図10を用いて、ファイル読出手順173の処理を説明する。
【００３９】
ファイル読出手順173は、待機フォルダ4fにあるファイルの中から読み出しするファイルを選択し、ファイルの内容を読み出す(ステップ1731)。ステップ1731を実行するタイミングは、待機フォルダ4cにファイルが追加されたことを検出したときや、前に実行するプログラムや監視サーバ2からの要求を受け取って待機フォルダ4cにファイルがあることを検出したときなどである。ファイル送信プログラム163では、ファイルを読み出して、そのファイルを監視サーバ2に送信する。なお、ファイルの選択は、プログラムにより実行されるポリシにより異なる。例えば、古いファイルから処理する場合にはファイルのタイムスタンプを、ファイルの種類による優先度をつける場合にはファイルの種類を見て、どのファイルから処理を実行するかを選択する。
【００４０】
ファイル読出手順173は、待機フォルダ4fにあるファイルを次状態フォルダ4gに移動する(ステップ1732)。ステップ1732を実行するタイミングは、読出処理とそれにかかる処理(送信等)が完了したときである。以上のように、ファイル読出手順173を実行する。
【００４１】
図11は、情報収集プログラム161、署名追加プログラム162、ファイル送信プログラム163などの、管理対象となるファイル3を操作するプログラムが利用するファイル復旧手順175のフローチャートである。ファイル復旧手順175は、これらのプログラムが異常停止したあと、異常停止したプログラムを起動するとき初めに実行することで、ファイルの状態を復旧してから、生成・書込・読出処理を再開する。
【００４２】
ファイル復旧手順175は、管理対象のフォルダ4内のファイル3に対し、以下を実行する。管理対象のフォルダ4は、ファイル生成手順171の場合は作業フォルダ4a、ファイル書込手順172の場合は待機フォルダ4cと作業フォルダ4d、ファイル読出手順173の場合は待機フォルダ4fである。
【００４３】
ファイル復旧手順175は、待機フォルダ、作業フォルダ、及び次状態フォルダのいずれのフォルダにファイルが存在するかをチェックする(ステップ1751)。ファイルの移動はアトミックに実行されるため、可能性があるのは、（1）待機フォルダと作業フォルダとの両方、（2）待機フォルダのみ、（3）作業フォルダのみ、及び（4）次状態フォルダのみのいずれかになる。
【００４４】
（1）待機フォルダと作業フォルダの両方に同一のファイルが存在する場合は、作業フォルダにあるファイルを削除する（ステップ1752）。両方のフォルダにある場合は、ファイル書込手順172の途中で異常停止したときであり、作業フォルダにあるファイルは不完全である可能性があるためである。ファイル復旧手順175の完了後、そのファイルに対する書込処理をもう一度初めからやり直す。
【００４５】
（2）待機フォルダのみにファイルがある場合は、そのままにする。待機フォルダにのみにファイルがある場合は、読出処理や書込処理の途中で異常停止したためである。ファイル復旧手順175の完了後、そのファイルに対する読出処理や書込処理をもう一度初めからやり直す。
【００４６】
（3）作業フォルダのみにファイルがある場合は、処理の種別が「生成」であるかをチェックする（ステップ1753）。生成処理の場合、作業フォルダにあるファイルを削除する（ステップ1752）。これは、ファイル生成手順171の途中で異常停止したときであるため、作業フォルダにあるファイルは壊れている可能性があるためである。一方、生成処理でない場合、作業フォルダを利用する読出処理はないため(ステップ1754)、作業フォルダのファイルを次状態フォルダに移動する（ステップ1756）。これは、ファイル書込手順172のステップ1724以降でプログラムが異常停止した場合であり、書込処理自体は正常に完了しているため、ステップ1724の処理に対応するファイル移動を実行すれば良い。
【００４７】
（4）次状態フォルダのみにファイルがある場合は、そのままにする。次状態フォルダにファイルがある場合は、生成・読出・書込の処理が完了したときであるからである。以上のように、ファイル復旧手順175を実行する。
【００４８】
なお、情報収集プログラム161、署名追加プログラム162、及びファイル送信プログラム163のそれぞれがファイル復旧手順175を持つように説明したが、代わりにファイル復旧プログラムを用意し、ファイル状態遷移定義情報165に従ってファイル復旧プログラムがすべてのプログラムのファイル復旧手順175をまとめて実行しても良い。その場合には、ファイル復旧プログラムを実行してから、異常停止したプログラムを再起動する。
【００４９】
上記では不完全なファイルを削除しているが、代わりにバックアップ用フォルダを用意し、不完全なファイルをバックアップ用フォルダに移動し、後から参照できるようにしても良い。
【００５０】
また、上記ではファイル生成中に異常停止して残ったファイルを削除しているが、前述したファイル名の生成により、全く同じファイル名のファイルを改めて作成することはないため、ファイルを残したままにしても良い。
【００５１】
上記で説明したように、処理の状態ごとにフォルダを用意して区別するため、生成や書込処理の途中で不完全なファイルを検出することが容易である。また、書込途中でプログラムが異常停止した場合でも、書き込み前の状態に戻すことができる。さらに、送信完了したファイルを区別できるため、同じファイルを複数回送信するような無駄を省くことができる。
【実施例２】
【００５２】
以下、本実施例を、図2、図5〜図6、図9〜図14を参照して詳細に説明する。本実施例は、監視クライアント端末1で監視情報を収集し、複数の監視サーバ2に送信するものである。
【００５３】
図12は、ファイル3の状態に合わせて用意するフォルダ4の構成を示したものである。ファイル3の状態は、情報収集プログラム161が監視情報を収集してファイルを作成するまでは実施例1と同様であるが、送信先の監視サーバ2ごとに独立してファイルを送信するため、監視サーバ2の数に応じた送信待機中か送信完了かの状態がある。そこで、送信先ごとにファイル3の状態を管理できるようにするため、1つのファイルの実体に対し送信先の数に応じたリンク(ハードリンク)を作成する。ファイルの状態を「収集中」から送信先ごとの「送信待機」へと繋げるための処理として、その間にファイル3のリンクを作成する分岐処理を加える。よって、ファイル3に対する処理には、情報収集プログラム161によるファイルの生成、送信先分岐プログラム164によるファイル分岐、ファイル送信プログラム163による監視サーバ2に送信するときの読出処理となる。
【００５４】
プログラムが異常停止した場合でも、復旧時にファイルの状態を一意に判断できるようにするために、それぞれの処理の処理前、処理中、及び処理後がわかるように状態を作成する。具体的には、処理前を「待機状態」、処理中を「作業状態」、処理後を次の処理の「待機状態」とする。情報収集プログラム161は、処理前がなく、途中で異常停止したときにファイル生成中(処理中)か、ファイルが完成した(処理後)かの2つの状態がわかる必要があるため、作業状態として「収集中」を用意する。送信先分岐プログラム164は、途中で異常停止したときにファイル分岐前(処理前)・ファイル分岐中(処理中)・ファイル分岐後(処理後)の3つを区別する必要があるため、待機状態として「分岐待機中」を、作業状態として送信先ごとに「分岐中」を用意する。ファイル送信プログラム163は、途中で異常停止したときに送信が完了した(処理後)か、完了していない(処理前・処理中)かがわかれば良いため、送信先ごとに待機状態として「送信待機中」を用意する。さらに、一連の処理が完了したことを示すために送信先ごとに「送信完了」を用意する。このように処理の内容に応じてファイルの状態を用意する。
【００５５】
図13は、図12のフォルダ構成を利用するファイルの状態遷移を纏めたファイル状態遷移定義情報165’である。情報収集プログラム161、送信先分岐プログラム164、及びファイル送信プログラム163の各処理ごとに、次に実行する処理、処理の分類、フォルダ構成を示す。フォルダには、待機フォルダと作業フォルダがあり、処理の分類ごとにどちらがあるかが決まる。情報収集プログラム161は、ファイル生成処理をするものであり、ファイルを生成する作業フォルダとして収集中フォルダ4Aを持つ。送信先分岐プログラム164は、ファイル分岐処理をするものであり、待機フォルダとして分岐待機フォルダ4Fと、監視サーバ2a用の作業フォルダとして分岐中フォルダ4Ga、監視サーバ2b用の作業フォルダとして分岐中フォルダ4Gbを持つ。送信プログラム163は、待機フォルダとして送信待機フォルダ4Da、4Dbを持つ。さらに、一連の処理が終わった状態として「終了」があり、そのための待機フォルダとして送信完了フォルダ4Ea、4Ebがある。1つのファイルに対する処理は、情報収集プログラム161、送信先分岐プログラム164、送信プログラム163(監視サーバ2a向けと監視サーバ2b向けとの間で実行順序は任意)の順番で実行し、終了となる。
【００５６】
図2は、実施例1で説明したように、監視クライアント端末1の構成を示したものである。記憶部16には、監視対象5から監視情報を収集しファイルに書き込む情報収集プログラム161と、実施例1では説明しなかった、送信先の監視サーバ2ごとにファイルを分岐する送信先分岐プログラム164と、分岐したファイルを監視サーバ2に送信する送信プログラム163を格納する。情報収集プログラム161はファイル生成手順171を、送信先分岐プログラム164はファイル分岐手順174を、送信プログラム163はファイル読出手順173を持つ。また、情報収集プログラム161と送信先分岐プログラム164と送信プログラム163は共に、ファイル復旧手順175を持つ。
【００５７】
図5は、情報収集プログラム161のようにファイルを生成するプログラムが利用するファイル生成手順171のフローチャートである。また、図6は、そのときのフォルダとファイルの関係を示したものである。情報収集プログラム161の場合、作業フォルダ4aが収集中フォルダ4Aに、次状態フォルダ4bが分岐待機フォルダ4Fに対応する。ファイル生成手順171は、実施例1と同様であるので、説明を省略する。
【００５８】
図14は、送信先分岐プログラム164のようにファイルを分岐するプログラムが利用するファイル分岐手順174のフローチャートである。
【００５９】
ファイル分岐手順174は、分岐先の数に応じた分岐中フォルダにリンクを作成する(ステップ1641)。図12の場合、分岐待機フォルダ4Fにあるファイルのリンクを分岐中フォルダ4Ga、4Gbに作成する。
【００６０】
ファイル分岐手順174は、分岐待機フォルダ内のファイルを削除する(ステップ1642)。このファイルの削除は、ファイルの実体と分岐待機フォルダとのリンクの削除であり、ファイルの実体は削除されない。ステップ1641で分岐中フォルダにリンクを作成しており、ファイルの実体に少なくとも一つのリンクが存在すれば、ファイルの実体は削除されない。
【００６１】
ファイル分岐手順174は、分岐の数に応じて、ステップ1641で作成した分岐中フォルダ内のリンクを、次状態フォルダに移動する(ステップ1643)。図12の場合、分岐中フォルダ4Gaから送信待機フォルダ4Daに、分岐中フォルダ4Gbから送信待機フォルダ4Dbに移動する。
【００６２】
図9は、ファイル送信プログラム163のようにファイルに読み出しするプログラムが利用するファイル読出手順173のフローチャートである。また、図10は、そのときのフォルダとファイルの関係を示したものである。監視サーバ2aに送信する場合、待機フォルダ4fが送信待機フォルダ4Daに、次状態フォルダ4gが送信完了フォルダ4Eaに対応する。監視サーバ2bに送信する場合、待機フォルダ4fが送信待機フォルダ4Dbに、次状態フォルダ4gが送信完了フォルダ4Ebに対応する。ファイル読出手順173は、実施例1と同様であるので、説明を省略する。
【００６３】
図11は、情報収集プログラム161、送信先分岐プログラム164、ファイル送信プログラム163など管理対象となるファイルを操作するプログラムが利用するファイル復旧手順175のフローチャートである。ファイル復旧手順175は、これらのプログラムが異常停止したあと、異常停止したプログラムを起動するとき初めに実行することで、ファイルの状態を復旧してから、生成・分岐・読出処理を再開する。
【００６４】
情報収集プログラム161・ファイル送信プログラム163でのファイル復旧手順については実施例1と同様であるので、説明を省略する。ここでは、送信先分岐プログラム164でのファイル復旧手順について説明する。
【００６５】
ファイル復旧手順175は、管理対象のフォルダ内のファイルに対し、以下を実行する。管理対象のフォルダとは、送信先分岐プログラム164の場合は待機フォルダ(分岐待機フォルダ4F)と作業フォルダ(分岐中フォルダ4Ga、4Gb)である。
【００６６】
ファイル復旧手順175は、待機フォルダ、作業フォルダ、及び次状態フォルダのいずれのフォルダにファイルが存在するかをチェックする(ステップ1751)。ファイルの移動はアトミックに実行されるため、可能性があるのは、（1）待機フォルダと作業フォルダとの両方、（2）待機フォルダのみ、（3）作業フォルダのみ、（4）次状態フォルダのみのいずれかになる。
【００６７】
（1）待機フォルダと作業フォルダの両方に同一のファイルが存在する場合は、作業フォルダにあるファイルを削除する（ステップ1752）。両方のフォルダにある場合は、ファイル分岐手順174のステップ1641の途中で異常停止したときであるため、途中まで作成したファイル(リンク)を削除する。ファイル復旧手順175完了後、そのファイルに対する分岐処理をもう一度初めからやり直す。
【００６８】
（2）待機フォルダのみにファイルがある場合は、そのままにする。待機フォルダにのみにある場合は、ファイル分岐手順174のステップ1641の実行前に異常停止したためである。ファイル復旧手順175完了後、そのファイルに対する分岐処理をもう一度初めからやり直す。
【００６９】
（3）作業フォルダのみにファイルがある場合、ファイル分岐手順174は生成処理（ステップ1753）でも読出処理（ステップ1754）でもないため、作業フォルダのファイルを次状態フォルダに移動する（ステップ1756）。これは、ファイル分岐手順174のステップ1642完了後に異常停止した場合であり、分岐処理自体は正常に完了しているため、ステップ1643の処理に相当するファイル移動を実行すれば良い。
【００７０】
（4）次状態フォルダのみにファイルがある場合は、そのままにする。次状態フォルダにファイルがある場合は、分岐処理が完了したときであるからである。以上のように、ファイル復旧手順175を実行する。
【００７１】
上記したように、分岐処理においてファイルをコピーする代わりにリンクを作成している。同じ内容のファイルを複数作成する必要がないため、ディスクの無駄がない。
【００７２】
また、上記ではファイル分岐後に書込処理のない例を示しているが、送信先ごとに異なる書込処理を行う場合であっても問題なく動作する。書込処理を行うときは、元のファイルを残したまま、その情報を元に同一ファイル名の別ファイルを作成するため、リンクが指すファイルの実体に対する変更はしない。そのため、他の送信先に関する書込処理の影響を受けない。
【実施例３】
【００７３】
実施例1では、ファイルを読み出し監視サーバ2に送信する送信プログラム163で、途中で異常停止したときに送信が完了した(処理後)か、完了していない(処理前・処理中)かがわかれば良いため、待機状態として「送信待機中」を用意した。ここでは、異常停止したときに送信中であったファイルを区別できるようにするために、送信が完了した(処理後)か、送信の途中(処理中)か、送信を開始していない(処理前)かの3つの状態を区別するため、待機状態として「送信待機中」、作業状態として「送信中」を用意する。
【００７４】
図15は、送信プログラム163のようにファイルに読み出しするプログラムが利用するファイル読出手順173’のフローチャートである。また、図16は、そのときのファイルとフォルダの関係を示したものである。送信プログラム163の場合、送信待機中には待機フォルダ4h、送信中には作業フォルダ4i、送信完了には次状態フォルダ4jが対応する。
【００７５】
図15及び図16を用いて、ファイル読出手順173の処理を説明する。ファイル読出手順173’は、待機フォルダ4hにあるファイルの中から読み出すファイルを選択し、作業フォルダ4iに移動する(ステップ1731’)。ステップ1731’を実行するタイミングは、待機フォルダ4cにファイルが追加されたことを検出したときや、前に実行するプログラムや監視サーバ2からの要求を受け取って待機フォルダ4cにファイルがあることを検出したときなどである。
【００７６】
ファイル読出手順173’は、作業フォルダ4iにあるファイルから情報を読み出す(ステップ1732’)。ファイル送信プログラム163では、ファイルを読み出し、そのファイルを監視サーバ2に送信する。
【００７７】
ファイル読出手順173’は、作業フォルダ4iにあるファイルを次状態フォルダ4jに移動する(ステップ1733’)。ステップ1733’を実行するタイミングは、読出処理と送信等のそれにかかる処理が完了したときである。以上のように、ファイル読出手順173’を実行する。
【００７８】
図11は、ファイル送信プログラム163など管理対象となるファイルを操作するプログラムが利用するファイル復旧手順175のフローチャートである。ファイル復旧手順175は、これらのプログラムが異常停止したあと、異常停止したプログラムを起動するとき初めに実行することで、ファイルの状態を復旧してから、読出処理を再開する。ファイル読出手順173’で待機状態と作業状態を分ける場合のファイル復旧手順について説明する。
【００７９】
ファイル復旧手順175は、管理対象のフォルダ内のファイルに対し、以下を実行する。ファイル復旧手順175は、待機フォルダ、作業フォルダ、及び次状態フォルダのいずれのフォルダにファイルが存在するかをチェックする(ステップ1751)。ファイルの移動はアトミックに実行されるため、可能性があるのは、（1）待機フォルダのみ、（2）作業フォルダのみ、（3）次状態フォルダのみのいずれかになる。
【００８０】
（1）待機フォルダのみにファイルがある場合は、そのままとする。待機フォルダにのみにある場合は、ファイル読出手順173’の実行前に異常停止したためである。ファイル復旧手順175完了後、そのファイルに対する読出処理をもう一度初めからやり直す。
【００８１】
（2）作業フォルダのみにファイルがある場合、ファイル読出手順173’は生成処理ではなく（ステップ1753）、読出処理であるため（ステップ1754）、作業フォルダのファイルを待機フォルダに移動する（ステップ1755）。これはファイル読出手順173’で読出処理の途中でプログラムが異常停止した場合であり、そのファイルに対する読出処理をもう一度初めからやり直す。
【００８２】
（3）次状態フォルダのみにファイルがある場合は、そのままにする。次状態フォルダにファイルがある場合は、読出の処理が完了したときであるからである。以上のように、ファイル復旧手順175を実行する。
【００８３】
なお、ファイル復旧手順175のステップ1755で移動の対象となる作業フォルダ内のファイルは、読出処理の途中のファイルである。つまり、送信プログラム163の場合は、送信途中のファイルである。復旧処理時にどのファイルを処理時に異常停止が発生したかを検出することができる。
【実施例４】
【００８４】
実施例1〜3では、ファイルの移動のアトミック性が保証されたシステムコールなどを利用していた。代わりに、リンクの作成(link)、削除(unlink)の操作を利用してファイルの移動を実現する場合について述べる。なお、リンクの作成及び削除はともに、ファイルシステムによりアトミック性が保証された操作である。
【００８５】
リンクの作成と削除を利用してファイルを移動する場合、移動前フォルダにあるファイルの実体に対するリンクを移動後フォルダに作成する。リンク作成後、移動前フォルダにあるファイル(リンク)を削除する。ファイルの実体に対するリンクが移動後フォルダに存在するため、ファイルの実体は残る。
【００８６】
リンクの作成と削除を利用したファイルの移動の場合、プログラムが途中で異常停止すると、リンクの作成後で1つのファイルの実体にリンクが複数存在する状態になる可能性がある。そのときのファイル復旧手順175について述べる。
【００８７】
図11を用いて、ファイルの移動にリンクの作成と削除を利用する場合のファイル復旧手順を説明する。リンクの作成と削除の途中でプログラムが異常停止する場合、図6のファイル作成手順171で作業フォルダから次状態フォルダに移動するとき、図8のファイル書込手順172で作業フォルダから次状態フォルダに移動するとき、図10のファイル読出手順173で待機フォルダから次状態フォルダに移動するとき、図12のファイル分岐手順174で分岐中フォルダから次状態フォルダに移動するとき、図16のファイル読出手順173’で作業フォルダから次状態フォルダに移動するときの、生成、書込、読出、及び分岐処理のいずれかが完了した後のファイル移動と、図16のファイル読出手順173’で待機フォルダから作業フォルダにファイルを移動するときである。前者については、処理完了後のファイル移動であるため、復旧時には次状態フォルダにのみファイルが存在するようにすれば良い。後者については、読出処理の途中であるため、読出を初めからやり直すために、待機フォルダにのみファイルが存在するようにすれば良い。
【００８８】
そこで、実施例1〜3ではなかった、（1）作業フォルダと次状態フォルダの両方に同一のファイルがある場合と、（2）待機フォルダと次状態フォルダの両方に同一のファイルがある場合、及び、（3）ファイル読み出し手順173’を利用するプログラムで待機フォルダと作業フォルダの両方に同一ファイルがある場合について説明する。
【００８９】
ファイル復旧手順175は、待機フォルダ、作業フォルダ、及び次状態フォルダのいずれのフォルダにファイルが存在するかをチェックする(ステップ1751)。
【００９０】
（1）作業フォルダと次状態フォルダの両方に同一のファイルが存在する場合は、作業フォルダにあるファイルを削除する（ステップ1752）。両方のフォルダにある場合は、生成、書込、分岐のいずれかの処理が完了後のファイル移動の途中で異常停止した場合であるため、ファイルの状態を次状態に移せばよい。
【００９１】
（2）待機フォルダと次状態フォルダの両方に同一のファイルが存在する場合は、待機フォルダにあるファイルを削除する（ステップ1757）。両方のフォルダにある場合は、読出処理完了後のファイル移動の途中で異常停止した場合であるため、ファイルの状態を次状態に移せばよい。
【００９２】
（3）ファイル読出手順173’を実行するプログラムで待機フォルダと作業フォルダの両方に同一のファイルが存在する場合は、作業フォルダにあるファイルを削除する（ステップ1752）。両方のフォルダにある場合は、読出処理開始前のファイル移動の途中で異常停止した場合であるため、ファイルの状態を読出処理前に戻す。ファイル復旧手順175完了後、そのファイルに対する読出処理をもう一度初めからやり直す。以上のように、ファイル復旧手順175を実行する。
【００９３】
上記した実施形態では、ファイル復旧手順175を実行することにより、待機フォルダか次状態フォルダのどちらかになるように復旧している。しかし、作業の途中で異常停止が発生した場合、作業自体が中途半端なところまで実行されているため、再度同じ処理を初めから実行するのではなく、例えば人手で処理するなどの例外系の処理を実行したい場合がある。そこで、ファイル復旧手段175を実行することにより待機フォルダにファイルが移った場合には、そのファイルを作業失敗用フォルダに移動しても良い。作業失敗用フォルダに格納したファイルは、前記の例外系のファイル処理を行う。
【００９４】
上記した実施形態では、フォルダを利用することでファイルの状態を管理していたが、代わりにファイル名の一部を状態名として利用しても良い。ファイルの状態が変わる場合には、状態名の部分が変わるようにファイル名を変更する。
【００９５】
また、上記した実施形態では、「終了」という一連の処理が完了した状態を用意しているが、「終了」になったものを利用することがないのであれば、「終了」のフォルダにファイルを移動する代わりに、ファイルを削除しても良い。
【図面の簡単な説明】
【００９６】
【図１】監視システムの構成図である。
【図２】監視クライアント端末の構成図である。
【図３】ファイル状態遷移とフォルダ構成の関係を示した図である。
【図４】ファイル状態遷移定義情報を示した図である。
【図５】ファイル生成手順のフローチャートである。
【図６】ファイル生成時のファイルとフォルダ構成の関係を示した図である。
【図７】ファイル書込手順のフローチャートである。
【図８】ファイル書込時のファイルとフォルダ構成の関係を示した図である。
【図９】ファイル読出手順のフローチャートである。
【図１０】ファイル読出時のファイルとフォルダ構成の関係を示した図である。
【図１１】ファイル復旧手順のフローチャートである。
【図１２】分岐処理におけるフォルダ構成である。
【図１３】ファイル状態遷移定義情報を示した図である。
【図１４】ファイル分岐手順のフローチャートである。
【図１５】ファイル読出手順のフローチャートである。
【図１６】ファイル読出時のファイルとフォルダ構成の関係を示した図である。
【符号の説明】
【００９７】
1：監視クライアント端末、2：監視サーバ端末、3：ファイル、4：フォルダ、5：監視対象、6A〜6E：ファイルの状態、11：CPU、12：メモリ、13：入力部、14：出力部、15：通信部、16：記憶部、161：情報収集プログラム、162：署名追加プログラム、163：送信プログラム、164：送信先分岐プログラム、165、165’：ファイル状態遷移定義表、171：ファイル生成手順、172：ファイル書込手順、173、173’：ファイル読出手順、174：ファイル分岐手順、175：ファイル復旧手順。
【図１】
2010039988.tif 000003
【図２】
2010039988.tif 000004
【図３】
2010039988.tif 000005
【図４】
2010039988.tif 000006
【図５】
2010039988.tif 000007
【図６】
2010039988.tif 000008
【図７】
2010039988.tif 000009
【図８】
2010039988.tif 000010
【図９】
2010039988.tif 000011
【図１０】
2010039988.tif 000012
【図１１】
2010039988.tif 000013
【図１２】
2010039988.tif 000014
【図１３】
2010039988.tif 000015
【図１４】
2010039988.tif 000016
【図１５】
2010039988.tif 000017
【図１６】
2010039988.tif 000018