(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024094735
(43)【公開日】2024-07-10
(54)【発明の名称】ファイル管理プログラムおよびファイル管理装置
(51)【国際特許分類】
G06F 21/64 20130101AFI20240703BHJP
【FI】
G06F21/64
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022211471
(22)【出願日】2022-12-28
(71)【出願人】
【識別番号】000101617
【氏名又は名称】アマノ株式会社
(74)【代理人】
【識別番号】100111202
【弁理士】
【氏名又は名称】北村 周彦
(74)【代理人】
【識別番号】100139365
【弁理士】
【氏名又は名称】中嶋 武雄
(72)【発明者】
【氏名】上田 祐輔
(72)【発明者】
【氏名】市川 桂介
(72)【発明者】
【氏名】手塚 忠臣
(57)【要約】
【課題】電子ファイルとタイムスタンプトークンとを包袋ファイルを介して結合するに当たり、利用者の作業負担を軽減する。
【解決手段】ファイル管理プログラムによって実現されるファイル管理装置は、監視フォルダに電子ファイルが追加されたか否かを判断する追加判断部7と、監視フォルダに電子ファイルが追加された場合に、その電子ファイルを対象個別ファイルとして、資材フォルダから読み出された包袋ファイルに添付する添付部8と、対象個別ファイルが添付された包袋ファイルにタイムスタンプトークンを付加するタイムスタンプ付加部9と、対象個別ファイルが添付され、かつタイムスタンプトークンが付加された包袋ファイルを対象包袋ファイルとして保存フォルダに格納する保存部10とを備えている。
【選択図】
図1
【特許請求の範囲】
【請求項1】
記憶装置を有し、または記憶装置と接続されたコンピュータを、タイムスタンプを用いて電子ファイルを管理するファイル管理装置として機能させるためのファイル管理プログラムであって、
前記記憶装置には、監視フォルダ、資材フォルダ、および保存フォルダが設けられ、
前記資材フォルダには包袋ファイルが格納され、
前記ファイル管理装置は、
前記監視フォルダに電子ファイルが追加されたか否かを判断する追加判断部と、
前記追加判断部の判断の結果、前記監視フォルダに電子ファイルが追加された場合に、前記資材フォルダに格納された包袋ファイルを読み出し、前記監視フォルダに追加された電子ファイルを対象個別ファイルとして、前記資材フォルダから読み出された包袋ファイルに添付する添付部と、
前記対象個別ファイルが添付された包袋ファイルのハッシュ値を含むタイムスタンプトークンをタイムスタンプ発行装置から取得し、当該取得されたタイムスタンプトークンを前記対象個別ファイルが添付された包袋ファイルに付加するタイムスタンプ付加部と、
前記対象個別ファイルが添付され、かつ前記タイムスタンプトークンが付加された包袋ファイルを対象包袋ファイルとして前記保存フォルダに格納する保存部とを備えていることを特徴とするファイル管理プログラム。
【請求項2】
前記保存部により前記保存フォルダに前回格納された前回の対象包袋ファイルが存在している状態において、前記追加判断部が前記監視フォルダに電子ファイルが追加されたか否かを判断し、その結果、前記監視フォルダに電子ファイルが追加された場合に、
前記添付部は、前記資材フォルダに格納された包袋ファイルを読み出し、前記監視フォルダに今回追加された電子ファイルを今回の対象個別ファイルとして、前記資材フォルダから読み出された包袋ファイルに添付し、かつ前記保存フォルダに格納されている前記前回の対象包袋ファイルを、前記資材フォルダから読み出された前記包袋ファイルに添付し、
前記タイムスタンプ付加部は、前記今回の対象個別ファイルおよび前記前回の対象包袋ファイルが添付された包袋ファイルのハッシュ値を含むタイムスタンプトークンをタイムスタンプ発行装置から取得し、今回取得された当該タイムスタンプトークンを前記今回の対象個別ファイルおよび前記前回の対象包袋ファイルが添付された包袋ファイルに付加し、
前記保存部は、前記今回の対象個別ファイルおよび前記前回の対象包袋ファイルが添付され、かつ今回取得された前記タイムスタンプトークンが付加された包袋ファイルを今回の対象包袋ファイルとして前記保存フォルダに格納することを特徴とする請求項1に記載のファイル管理プログラム。
【請求項3】
前記ファイル管理装置は、前記保存フォルダに格納されている前記対象包袋ファイルに結合されている前記対象個別ファイルのファイル名および更新日時のリストであるファイルリストを生成するファイルリスト生成部を備え、
前記追加判断部は、前記監視フォルダに格納されている電子ファイルの中に、前記ファイルリスト中のいずれの対象個別ファイルのファイル名とも相違するファイル名を有する電子ファイル、または前記ファイルリスト中のいずれか1つの対象個別ファイルのファイル名と同一のファイル名を有しかつ当該1つの対象個別ファイルの更新日時と相違する更新日時を有する電子ファイルが存在する場合に、前記監視フォルダに電子ファイルが追加されたと判断することを特徴とする請求項2に記載のファイル管理プログラム。
【請求項4】
前記ファイル管理装置は、前記保存フォルダに格納されている前記対象包袋ファイルに結合されている前記対象個別ファイルのファイル名および更新日時のリストであるファイルリストを生成するファイルリスト生成部を備え、
前記追加判断部は、前記監視フォルダに格納されている電子ファイルの中に、前記ファイルリスト中のいずれかの対象個別ファイルのファイル名および更新日時と同一のファイル名および更新日時を有する電子ファイルではない電子ファイルが存在する場合に、前記監視フォルダに電子ファイルが追加されたと判断することを特徴とする請求項2に記載のファイル管理プログラム。
【請求項5】
前記添付部は、前記ファイルリストを前記資材フォルダから読み出された包袋ファイルに記録し、または前記ファイルリストを記録した電子ファイルを前記資材フォルダから読み出された包袋ファイルに添付することを特徴とする請求項3または4に記載のファイル管理プログラム。
【請求項6】
前記添付部は、前記監視フォルダのフォルダパス、前記資材フォルダのフォルダパス、前記資材フォルダに格納された包袋ファイルのファイル名、前記保存フォルダのフォルダパス、および前記対象包袋ファイルに付すファイル名を含む設定データを前記資材フォルダから読み出された包袋ファイルに記録し、または前記設定データを記録した電子ファイルを前記資材フォルダから読み出された包袋ファイルに添付することを特徴とする請求項1に記載のファイル管理プログラム。
【請求項7】
前記添付部は、前記追加判断部の判断の結果、前記監視フォルダに複数の電子ファイルが追加された場合に、前記資材フォルダに格納された包袋ファイルを読み出し、前記監視フォルダに追加された複数の電子ファイルを複数の対象個別ファイルとして、前記資材フォルダから読み出された包袋ファイルに添付し、
前記タイムスタンプ付加部は、前記複数の対象個別ファイルが添付された包袋ファイルのハッシュ値を含むタイムスタンプトークンをタイムスタンプ発行装置から取得し、当該取得されたタイムスタンプトークンを前記複数の対象個別ファイルが添付された包袋ファイルに付加し、
前記保存部は、前記複数の対象個別ファイルが添付され、かつ前記タイムスタンプトークンが付加された包袋ファイルを対象包袋ファイルとして前記保存フォルダに格納することを特徴とする請求項1に記載のファイル管理プログラム。
【請求項8】
タイムスタンプを用いて電子ファイルを管理するファイル管理装置であって、
監視フォルダと、包袋ファイルが格納された資材フォルダと、保存フォルダとが設けられた記憶部と、
前記監視フォルダに電子ファイルが追加されたか否かを判断する追加判断部と、
前記追加判断部の判断の結果、前記監視フォルダに電子ファイルが追加された場合に、前記資材フォルダに格納された包袋ファイルを読み出し、前記監視フォルダに追加された電子ファイルを対象個別ファイルとして、前記資材フォルダから読み出された包袋ファイルに添付する添付部と、
前記対象個別ファイルが添付された包袋ファイルのハッシュ値を含むタイムスタンプトークンをタイムスタンプ発行装置から取得し、当該取得されたタイムスタンプトークンを前記対象個別ファイルが添付された包袋ファイルに付加するタイムスタンプ付加部と、
前記対象個別ファイルが添付され、かつ前記タイムスタンプトークンが付加された包袋ファイルを対象包袋ファイルとして前記保存フォルダに格納する保存部とを備えていることを特徴とするファイル管理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、タイムスタンプを用いて電子ファイルを管理するファイル管理プログラムおよびファイル管理装置に関する。
【背景技術】
【0002】
今日、タイムスタンプを用いて電子ファイルを管理する方法は広く普及している。タイムスタンプを用いて電子ファイルを管理する方法は概ね次の通りである。
【0003】
利用者は、タイムスタンプを用いて管理することを所望する電子ファイルのハッシュ値を時刻認証局(TSA)に送信する。時刻認証局は、受信したハッシュ値に現在の時刻を示す時刻情報を付したものを時刻認証局の秘密鍵で暗号化する(電子署名を施す)。さらに、時刻認証局は、暗号化されたハッシュ値および時刻情報に、上記秘密鍵に対応する公開鍵を含む公開鍵証明書を付すことにより、タイムスタンプトークンを生成する。そして、時刻認証局は、生成したタイムスタンプトークンを利用者に送信する。利用者は、タイムスタンプを用いて管理することを所望する上記電子ファイルと、時刻認証局から受信したタイムスタンプトークンをそれぞれ保存する。
【0004】
その後、利用者は、電子ファイルに対応するタイムスタンプトークンを用いて、電子ファイルの存在証明および完全性証明を行うことができる。すなわち、タイムスタンプトークンには、暗号化されたハッシュ値および時刻情報が含まれている。利用者は、この暗号化されたハッシュ値および時刻情報を、タイムスタンプトークンに含まれている公開鍵で復号する。利用者は、このようにしてタイムスタンプトークンから得られた時刻情報に基づいて、その時刻情報が示す日時に電子ファイルが存在していたことを証明することができる。また、利用者は、電子ファイルのハッシュ値を生成し、そのハッシュ値と、上述したように公開鍵を用いてタイムスタンプトークンから得られたハッシュ値とを比較し、両者が一致していることを示すことによって、電子ファイルが、タイムスタンプトークンから得られた時刻情報が示す日時の後に改ざんされていないことを証明することができる。
【0005】
ところで、タイムスタンプを用いて電子ファイルを管理するに当たり、電子ファイルと、それに対応するタイムスタンプトークンとを明確に紐付けることが重要である。電子ファイルとタイムスタンプトークンとを明確に紐付けるためには、電子ファイルとタイムスタンプトークンとが結合した1つの電子ファイルを生成することが好ましい。
【0006】
電子ファイルには、タイムスタンプトークンを自身に付加することができる構造を有しているものと、その構造を有していないものがある。例えば、PDFファイルは、タイムスタンプトークンを自身に付加することができる構造を有している。具体的には、PDFファイルは、タイムスタンプトークンを自身の内部に埋め込むことができる構造を備えている。利用者は、タイムスタンプを用いて管理することを所望する電子ファイルがPDFファイルである場合には、当該電子ファイルにタイムスタンプトークンを付加することにより、電子ファイルとタイムスタンプトークンとを直接結合することができる。
【0007】
特開2017-182433号公報(特許文献1)には、PDFファイルにタイムスタンプを埋め込むことによりタイムスタンプを管理する技術が記載されている。
【0008】
一方、例えば、テキストファイル、CSV(Comma Separated Values)ファイル、ワードファイル、エクセルファイル等は、タイムスタンプトークンを自身に付加することができる構造を有していない。タイムスタンプトークンを自身に付加することができる構造を有していない電子ファイルとタイムスタンプトークンとを結合する方法として、電子ファイルとタイムスタンプトークンとを包袋ファイルを介して結合する方法が知られている。包袋ファイルとは、電子ファイルを自身に添付することができる構造、およびタイムスタンプトークンを自身に付加することができる構造を有している電子ファイルである。PDFファイルは、これらの構造を有しているので、包袋ファイルとして用いることができる。利用者は、タイムスタンプを用いて管理することを所望する電子ファイルが、タイムスタンプトークンを自身に付加することができる構造を有していない電子ファイルである場合には、例えば次のような工程により、当該電子ファイルとタイムスタンプトークンとを包袋ファイルを介して結合することができる。
【0009】
(1)タイムスタンプを用いて管理することを所望する電子ファイルを包袋ファイルに添付する。(2)当該電子ファイルが添付された包袋ファイルのハッシュ値を算出する。(3)算出したハッシュ値を時刻認証局に送信する。(4)暗号化されたハッシュ値および時刻情報、並びに公開鍵証明書が含まれたタイムスタンプトークンを時刻認証局から受信する。(5)受信したタイムスタンプトークンを、管理を所望する上記電子ファイルが添付された包袋ファイルに付加する。
【先行技術文献】
【特許文献】
【0010】
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、利用者が、電子ファイルとタイムスタンプトークンとを包袋ファイルを介して結合するには、上述した(1)~(5)の作業を逐一行わなければならず、利用者の作業負担が大きい。
【0012】
本発明は例えば上述したような問題に鑑みなされたものであり、本発明の課題は、電子ファイルとタイムスタンプトークンとを包袋ファイルを介して結合するに当たり、利用者の作業負担を軽減することができるファイル管理プログラムおよびファイル管理装置を提供することにある。
【課題を解決するための手段】
【0013】
上記課題を解決するために、本発明のファイル管理プログラムは、記憶装置を有し、または記憶装置と接続されたコンピュータを、タイムスタンプを用いて電子ファイルを管理するファイル管理装置として機能させるためのファイル管理プログラムであって、前記記憶装置には、監視フォルダ、資材フォルダ、および保存フォルダが設けられ、前記資材フォルダには包袋ファイルが格納され、前記ファイル管理装置は、前記監視フォルダに電子ファイルが追加されたか否かを判断する追加判断部と、前記追加判断部の判断の結果、前記監視フォルダに電子ファイルが追加された場合に、前記資材フォルダに格納された包袋ファイルを読み出し、前記監視フォルダに追加された電子ファイルを対象個別ファイルとして、前記資材フォルダから読み出された包袋ファイルに添付する添付部と、前記対象個別ファイルが添付された包袋ファイルのハッシュ値を含むタイムスタンプトークンをタイムスタンプ発行装置から取得し、当該取得されたタイムスタンプトークンを前記対象個別ファイルが添付された包袋ファイルに付加するタイムスタンプ付加部と、前記対象個別ファイルが添付され、かつ前記タイムスタンプトークンが付加された包袋ファイルを対象包袋ファイルとして前記保存フォルダに格納する保存部とを備えていることを特徴とする。
【0014】
また、上記本発明のファイル管理プログラムにおいて、前記保存部により前記保存フォルダに前回格納された前回の対象包袋ファイルが存在している状態において、前記追加判断部が前記監視フォルダに電子ファイルが追加されたか否かを判断し、その結果、前記監視フォルダに電子ファイルが追加された場合に、前記添付部は、前記資材フォルダに格納された包袋ファイルを読み出し、前記監視フォルダに今回追加された電子ファイルを今回の対象個別ファイルとして、前記資材フォルダから読み出された包袋ファイルに添付し、かつ前記保存フォルダに格納されている前記前回の対象包袋ファイルを、前記資材フォルダから読み出された前記包袋ファイルに添付し、前記タイムスタンプ付加部は、前記今回の対象個別ファイルおよび前記前回の対象包袋ファイルが添付された包袋ファイルのハッシュ値を含むタイムスタンプトークンをタイムスタンプ発行装置から取得し、今回取得された当該タイムスタンプトークンを前記今回の対象個別ファイルおよび前記前回の対象包袋ファイルが添付された包袋ファイルに付加し、前記保存部は、前記今回の対象個別ファイルおよび前記前回の対象包袋ファイルが添付され、かつ今回取得された前記タイムスタンプトークンが付加された包袋ファイルを今回の対象包袋ファイルとして前記保存フォルダに格納することとしてもよい。
【0015】
また、上記本発明のファイル管理プログラムにおいて、前記ファイル管理装置は、前記保存フォルダに格納されている前記対象包袋ファイルに結合されている前記対象個別ファイルのファイル名および更新日時のリストであるファイルリストを生成するファイルリスト生成部を備え、前記追加判断部は、前記監視フォルダに格納されている電子ファイルの中に、前記ファイルリスト中のいずれの対象個別ファイルのファイル名とも相違するファイル名を有する電子ファイル、または前記ファイルリスト中のいずれか1つの対象個別ファイルのファイル名と同一のファイル名を有しかつ当該1つの対象個別ファイルの更新日時と相違する更新日時を有する電子ファイルが存在する場合に、前記監視フォルダに電子ファイルが追加されたと判断することとしてもよい。また、上記本発明のファイル管理プログラムにおいて、前記ファイル管理装置は、前記保存フォルダに格納されている前記対象包袋ファイルに結合されている前記対象個別ファイルのファイル名および更新日時のリストであるファイルリストを生成するファイルリスト生成部を備え、前記追加判断部は、前記監視フォルダに格納されている電子ファイルの中に、前記ファイルリスト中のいずれかの対象個別ファイルのファイル名および更新日時と同一のファイル名および更新日時を有する電子ファイルではない電子ファイルが存在する場合に、前記監視フォルダに電子ファイルが追加されたと判断することとしてもよい。
【0016】
また、上記本発明のファイル管理プログラムにおいて、前記添付部は、前記ファイルリストを前記資材フォルダから読み出された包袋ファイルに記録し、または前記ファイルリストを記録した電子ファイルを前記資材フォルダから読み出された包袋ファイルに添付することとしてもよい。また、上記本発明のファイル管理プログラムにおいて、前記添付部は、前記監視フォルダのフォルダパス、前記資材フォルダのフォルダパス、前記資材フォルダに格納された包袋ファイルのファイル名、前記保存フォルダのフォルダパス、および前記対象包袋ファイルに付すファイル名を含む設定データを前記資材フォルダから読み出された包袋ファイルに記録し、または前記設定データを記録した電子ファイルを前記資材フォルダから読み出された包袋ファイルに添付することとしてもよい。
【0017】
また、上記本発明のファイル管理プログラムにおいて、前記添付部は、前記追加判断部の判断の結果、前記監視フォルダに複数の電子ファイルが追加された場合に、前記資材フォルダに格納された包袋ファイルを読み出し、前記監視フォルダに追加された複数の電子ファイルを複数の対象個別ファイルとして、前記資材フォルダから読み出された包袋ファイルに添付し、前記タイムスタンプ付加部は、前記複数の対象個別ファイルが添付された包袋ファイルのハッシュ値を含むタイムスタンプトークンをタイムスタンプ発行装置から取得し、当該取得されたタイムスタンプトークンを前記複数の対象個別ファイルが添付された包袋ファイルに付加し、前記保存部は、前記複数の対象個別ファイルが添付され、かつ前記タイムスタンプトークンが付加された包袋ファイルを対象包袋ファイルとして前記保存フォルダに格納することとしてもよい。
【0018】
上記課題を解決するために、本発明のファイル管理装置は、タイムスタンプを用いて電子ファイルを管理するファイル管理装置であって、監視フォルダと、包袋ファイルが格納された資材フォルダと、保存フォルダとが設けられた記憶部と、前記監視フォルダに電子ファイルが追加されたか否かを判断する追加判断部と、前記追加判断部の判断の結果、前記監視フォルダに電子ファイルが追加された場合に、前記資材フォルダに格納された包袋ファイルを読み出し、前記監視フォルダに追加された電子ファイルを対象個別ファイルとして、前記資材フォルダから読み出された包袋ファイルに添付する添付部と、前記対象個別ファイルが添付された包袋ファイルのハッシュ値を含むタイムスタンプトークンをタイムスタンプ発行装置から取得し、当該取得されたタイムスタンプトークンを前記対象個別ファイルが添付された包袋ファイルに付加するタイムスタンプ付加部と、前記対象個別ファイルが添付され、かつ前記タイムスタンプトークンが付加された包袋ファイルを対象包袋ファイルとして前記保存フォルダに格納する保存部とを備えていることを特徴とする。
【発明の効果】
【0019】
本発明によれば、電子ファイルとタイムスタンプトークンとを包袋ファイルを介して結合するに当たり、利用者の作業負担を軽減することができる。
【図面の簡単な説明】
【0020】
【
図1】本発明の第1の実施形態のファイル管理装置、およびタイムスタンプ発行装置を示すブロック図である。
【
図2】本発明の第1の実施形態のファイル管理装置の記憶部に記憶されるデータ等を示す説明図である。
【
図3】本発明の第1の実施形態のファイル管理装置における処理設定フォームを示す説明図である。
【
図4】本発明の第1の実施形態のファイル管理装置におけるタイムスタンプ付加処理の概要を示す説明図である。
【
図5】本発明の第1の実施形態のファイル管理装置におけるタイムスタンプ付加処理の一例を示す説明図である。
【
図6】本発明の第1の実施形態のファイル管理装置において、対象包袋ファイルの構造を示す説明図である。
【
図7】本発明の第1の実施形態のファイル管理装置において、対象包袋ファイルをPDFファイルのリーダーアプリケーションで開いた状態を示す説明図である。
【
図8】本発明の第1の実施形態のファイル管理装置において、ファイルリストが生成および更新される過程を示す説明図である。
【
図9】本発明の第1の実施形態のファイル管理装置におけるタイムスタンプ付加処理を示すフローチャートである。
【
図10】本発明の第1の実施形態のファイル管理装置におけるタイムスタンプ付加処理を示すフローチャートである。
【
図11】本発明の第1の実施形態のファイル管理装置における監視処理を示すフローチャートである。
【
図12】本発明の第1の実施形態のファイル管理装置におけるファイルリスト生成・更新処理を示すフローチャートである。
【
図13】本発明の第2の実施形態のファイル管理装置におけるタイムスタンプ付加処理を示すフローチャートである。
【
図14】本発明の第2の実施形態のファイル管理装置におけるタイムスタンプ付加処理を示すフローチャートである。
【
図15】本発明の第2の実施形態のファイル管理装置において、対象包袋ファイルの構造を示す説明図である。
【
図16】本発明の各実施形態におけるファイルリストの変形例を示す説明図である。
【
図17】本発明の各実施形態におけるタイムスタンプ付加処理の変形例を示す説明図である。
【
図18】本発明の各実施形態におけるファイルリストの他の変形例を示す説明図である。
【発明を実施するための形態】
【0021】
[第1の実施形態]
図1~12を用いて、本発明のファイル管理プログラムおよびファイル管理装置の第1の実施形態について説明する。
【0022】
(ファイル管理装置、タイムスタンプ発行装置)
図1は、本発明の第1の実施形態のファイル管理装置1、およびタイムスタンプ発行装置15を示している。
図1において、ファイル管理装置1は、タイムスタンプを用いて電子ファイルを管理する機能を有している。具体的には、ファイル管理装置1は、利用者により特定のフォルダに追加された電子ファイルを包袋ファイルに添付し、その包袋ファイルに、タイムスタンプ発行装置15により生成されたタイムスタンプトークンを付加する処理(以下、これを「タイムスタンプ付加処理」という。)を行う。
【0023】
本実施形態において、ファイル管理装置1は例えばパーソナルコンピュータであるが、ファイル管理装置1は、パーソナルコンピュータに限らず、サーバコンピュータでもよいし、タブレットまたはスマートフォン等の携帯端末でもよい。また、電子ファイルは、例えば、文書ファイル、画像ファイル、動画ファイル、音声ファイル等であり、電子ファイルに含まれるデータの内容(コンテンツ)は限定されない。また、電子ファイルはデータファイルに限らず、プログラムファイルでもよい。
【0024】
タイムスタンプ発行装置15は、例えばサーバコンピュータであり、タイムスタンプを発行する機能を有している。タイムスタンプ発行装置15は時刻認証局(TSA)に置かれ、ファイル管理装置1は例えば利用者の事業所等に置かれ、タイムスタンプ発行装置15とファイル管理装置1とは、インターネット等の通信ネットワーク16を介して相互に通信可能に接続されている。タイムスタンプ発行装置15は、タイムスタンプを発行するに当たり、次の処理を行う。まず、タイムスタンプ発行装置15は、利用者がタイムスタンプを用いて管理することを所望する電子ファイルが添付された包袋ファイルのハッシュ値をファイル管理装置1からを受信する。次に、タイムスタンプ発行装置15はタイムスタンプトークンを生成する。タイムスタンプトークンは、受信したハッシュ値に現在の時刻を示す時刻情報を付し、それらハッシュ値および時刻情報を時刻認証局の秘密鍵で暗号化し(電子署名を施し)、暗号化したハッシュ値および時刻情報に、時刻認証局の秘密鍵に対応した公開鍵を含む公開鍵証明書を付すことによって生成される。タイムスタンプトークンは、暗号化されたハッシュ値および時刻情報、並びに公開鍵証明書を含む一纏まりのデータである。次に、タイムスタンプ発行装置15は、生成したタイムスタンプトークンを、ハッシュ値の送信元のファイル管理装置1に送信する。
【0025】
(ファイル管理装置の構成の詳細)
ファイル管理装置1は、演算処理部2、記憶部3、通信部4、操作部5、および表示部6を備えている。演算処理部2は例えばCPU(中央演算処理装置)であり、ファイル管理装置1を制御する機能を有している。記憶部3は例えばHDD(ハードディスクドライブ)またはSSD(ソリッドステートドライブ)であり、プログラム、データ等の情報を記憶し、保存する機能を有している。記憶部3は、ファイル管理装置1に内蔵されているものであってもよいし、ファイル管理装置1の外部に置かれ、ファイル管理装置1と接続されているものであってもよい。記憶部3は「記憶装置」の具体例である。通信部4は、ファイル管理装置1とタイムスタンプ発行装置15との通信を制御する機能を有している。操作部5は、例えばキーボード、マウスまたはタッチパネル等であり、利用者がファイル管理装置1を操作し、またはファイル管理装置1にデータ等を入力するための手段である。表示部6は、例えばディスプレイであり、種々の情報を利用者に向けて表示する手段である。
【0026】
図2はファイル管理装置1の記憶部3に記憶されるデータ等を示している。
図2において、記憶部3に記憶されるデータ等のうち、タイムスタンプ付加処理が行われる前の準備段階で記憶されるものを実線で示し、タイムスタンプ付加処理が開始された後に記憶されるものを点線で示している。
【0027】
図2に示すように、記憶部3には、監視フォルダ21、資材フォルダ22、および保存フォルダ23が設けられる。
【0028】
監視フォルダ21は、利用者がタイムスタンプを用いて管理することを所望する電子ファイルを格納するフォルダである。ファイル管理装置1は、監視フォルダ21に追加された電子ファイルを包袋ファイルに添付し、その包袋ファイルに、タイムスタンプ発行装置15により生成されたタイムスタンプトークンを付加する。
【0029】
資材フォルダ22は空の包袋ファイルを格納するためのフォルダである。空の包袋ファイルとは、電子ファイルが添付されておらず、かつタイムスタンプトークンが付加されていない包袋ファイルであり、例えば、そのようなPDFファイルである。空の包袋ファイルは、タイムスタンプ付加処理が行われる前の準備段階において資材フォルダ22に格納される。
【0030】
保存フォルダ23は、タイムスタンプ付加処理により生成された対象包袋ファイル、すなわち、監視フォルダ21に追加された電子ファイル等が添付され、かつタイムスタンプ発行装置15により生成されたタイムスタンプトークンが付加された包袋ファイルを格納するフォルダである。
【0031】
また、タイムスタンプ付加処理が行われる前の準備段階において、記憶部3には設定データ24が記憶される。また、タイムスタンプ付加処理が開始された後に、記憶部3にはファイルリスト25が記憶される。設定データ24およびファイルリスト25については後述する。
【0032】
また、記憶部3には、ファイル管理装置1としてコンピュータを機能させるためのファイル管理プログラム26が記憶されている。演算処理部2は、記憶部3に記憶されたファイル管理プログラム26を読み込んで実行することにより、
図1に示すように、追加判断部7、添付部8、タイムスタンプ付加部9、保存部10、ファイルリスト生成部11、および総合制御部12として機能する。
【0033】
追加判断部7は、監視フォルダ21に電子ファイルが追加されたか否かを監視する。具体的には、追加判断部7は、監視フォルダ21に電子ファイルが追加されたか否かをファイルリスト25に基づいて判断する処理等を行う。
【0034】
添付部8は、監視フォルダ21に電子ファイルが追加された場合に、資材フォルダ22に格納された空の包袋ファイルを読み出し、監視フォルダ21に追加された電子ファイルを対象個別ファイルとして、読み出された空の包袋ファイルに添付する処理等を行う。
【0035】
タイムスタンプ付加部9は、対象個別ファイルが添付された包袋ファイルのハッシュ値を含むタイムスタンプトークンをタイムスタンプ発行装置15から取得し、当該取得されたタイムスタンプトークンを対象個別ファイルが添付された包袋ファイルに付加する処理等を行う。
【0036】
保存部10は、対象個別ファイルが添付され、かつタイムスタンプトークンが付加された包袋ファイルを対象包袋ファイルとして保存フォルダ23に格納する処理等を行う。
【0037】
ファイルリスト生成部11は、後述するファイルリスト25を生成または更新する処理を行う。
【0038】
総合制御部12は、利用者による入力に基づいてファイル管理装置1における各種の設定を行う処理のほか、ファイル管理装置1を動作させるための種々の処理を行う。
【0039】
(タイムスタンプ付加処理に関する設定)
利用者は、タイムスタンプ付加処理が行われる前の準備段階において、
図3に示す処理設定フォーム31により、タイムスタンプ付加処理に関する設定を行うことができる。タイムスタンプ付加処理に関する設定事項として、追加判断部7による監視フォルダ21の監視の有無(監視フォルダ21に追加された電子ファイルに対してタイムスタンプ付加処理を行うか否かの選択)、監視フォルダ21のフォルダパス、資材フォルダ22のフォルダパス、資材フォルダ22に格納された空の包袋ファイルのファイル名、保存フォルダ23のフォルダパス、および対象包袋ファイルに付すファイル名がある。利用者は、操作部5を操作することにより、これらの設定事項を設定することができる。また、利用者は、処理設定フォーム31のタブ32を選択することにより、上記タイムスタンプ付加処理に関する設定事項の設定を複数通り行うことができる。処理設定フォーム31により設定された、タイムスタンプ付加処理に関する設定は、設定データ24として記憶部3に記憶される。なお、本実施形態では、説明の便宜上、
図3中の「設定1」のタブ32における監視の有無が「監視する」に設定されており、それ以外のタブ32における監視の有無が「監視しない」に設定されているものとする。すなわち、本実施形態では、「設定1」のタブ32における設定に基づくタイムスタンプ付加処理のみが実行されるものとする。
【0040】
(タイムスタンプ付加処理の概要)
図4(A)~4(C)を参照しつつ、タイムスタンプ付加処理の概要を述べる。
図4(A)において、タイムスタンプ付加処理が開始された後、追加判断部7が、所定の周期で、監視フォルダ21に電子ファイルが追加されたか否かを判断する。空の監視フォルダ21に、利用者が例えば2つの新規の電子ファイルを同時に格納したとき、追加判断部7が監視フォルダ21に新規の電子ファイルが追加されたと判断する。ここで、「新規の電子ファイル」とは、保存フォルダ23に現在格納されている対象包袋ファイルに結合されているいずれの対象個別ファイルのファイル名とも相違するファイル名を有する電子ファイルを意味する。空の監視フォルダ21に電子ファイルが追加された場面において、「新規の電子ファイル」は、その空の監視フォルダ21に追加された電子ファイルに相当する。電子ファイルが既に格納された監視フォルダ21に電子ファイルが追加された場面においては、「新規の電子ファイル」は、監視フォルダ21に既に格納されていたいずれの電子ファイルのファイル名とも相違するファイル名を有する電子ファイルに相当する。監視フォルダ21に新規の電子ファイルが追加されたとの追加判断部7の判断に応じ、添付部8が、資材フォルダ22に格納された空の包袋ファイル41を読み出す。続いて、添付部8は、監視フォルダ21に追加された2つの新規の電子ファイルをそれぞれ対象個別ファイル42として、読み出された空の包袋ファイル41に添付する。続いて、タイムスタンプ付加部9が、2つの対象個別ファイル42が添付された包袋ファイル41のハッシュ値を算出し、算出したハッシュ値をタイムスタンプ発行装置15に送信する。タイムスタンプ発行装置15は、そのハッシュ値および時刻情報を時刻認証局の秘密鍵で暗号化し、暗号化したハッシュ値および時刻情報に、時刻認証局の秘密鍵に対応した公開鍵を含む公開鍵証明書を付すことによってタイムスタンプトークン43を生成し、生成したタイムスタンプトークン43をファイル管理装置1に送信する。タイムスタンプ付加部9は、そのタイムスタンプトークン43を受信し、受信したタイムスタンプトークン43を、2つの対象個別ファイル42が添付された包袋ファイル41に付加する。続いて、保存部10が、2つの対象個別ファイル42が添付され、かつタイムスタンプトークン43が付加された包袋ファイル41に、利用者が処理設定フォーム31により設定したファイル名(
図3中の符号34を参照)を付し、その包袋ファイル41を今回の対象包袋ファイル44として保存フォルダ23に格納する。
【0041】
図4(B)において、上記
図4(A)に示す処理の後、利用者が監視フォルダ21に新規の電子ファイルを格納したとき、追加判断部7が監視フォルダ21に新規の電子ファイルが追加されたと判断する。それに応じ、添付部8が、資材フォルダ22に格納された空の包袋ファイル41を読み出す。続いて、添付部8は、監視フォルダ21に追加された新規の電子ファイルを対象個別ファイル45として、読み出された空の包袋ファイル41に添付する。続いて、添付部8は、保存フォルダ23に現在格納されている前回の対象包袋ファイル44、すなわち、上記
図4(A)に示す処理で保存フォルダ23に格納された対象包袋ファイル44を、対象個別ファイル45が添付された包袋ファイル41に添付する。続いて、タイムスタンプ付加部9が、対象個別ファイル45および前回の対象包袋ファイル44が添付された包袋ファイル41のハッシュ値を算出し、算出したハッシュ値をタイムスタンプ発行装置15に送信する。タイムスタンプ発行装置15は、そのハッシュ値および時刻情報を時刻認証局の秘密鍵で暗号化し、暗号化したハッシュ値および時刻情報に、時刻認証局の秘密鍵に対応した公開鍵を含む公開鍵証明書を付すことによってタイムスタンプトークン46を生成し、生成したタイムスタンプトークン46をファイル管理装置1に送信する。タイムスタンプ付加部9は、そのタイムスタンプトークン46を受信し、受信したタイムスタンプトークン46を、対象個別ファイル45および前回の対象包袋ファイル44が添付された包袋ファイル41に付加する。続いて、保存部10が、対象個別ファイル45および前回の対象包袋ファイル44が添付され、かつタイムスタンプトークン46が付加された包袋ファイル41に、利用者が処理設定フォーム31により設定したファイル名(
図3中の符号34を参照)を付し、その包袋ファイル41を今回の対象包袋ファイル47として、保存フォルダ23に格納されている前回の対象包袋ファイル44に上書きする形で、保存フォルダ23に格納する。
【0042】
図4(C)において、上記
図4(B)に示す処理の後、利用者が監視フォルダ21に、更新された電子ファイルを格納したとき、追加判断部7が監視フォルダ21に、更新された電子ファイルが追加されたと判断する。ここで、「更新された電子ファイル」とは、保存フォルダ23に現在格納されている対象包袋ファイルに結合されているいずれか1つの対象個別ファイルのファイル名と同一のファイル名を有し、かつ当該1つの対象個別ファイルの更新日時と相違する更新日時を有する電子ファイルを意味する。電子ファイルが既に格納された監視フォルダ21に電子ファイルが追加された場面において、「更新された電子ファイル」は、監視フォルダ21に既に格納されていたいずれか1つの電子ファイルのファイル名と同一のファイル名を有し、かつ当該1つの電子ファイルの更新日時と相違する更新日時を有する電子ファイルに相当する。更新された電子ファイルが追加されたとの追加判断部7の判断に応じ、添付部8が、資材フォルダ22に格納された空の包袋ファイル41を読み出す。続いて、添付部8は、監視フォルダ21に追加された、更新された電子ファイルを対象個別ファイル48として、読み出された空の包袋ファイル41に添付する。続いて、添付部8は、保存フォルダ23に現在格納されている前回の対象包袋ファイル47、すなわち、上記
図4(B)に示す処理で保存フォルダ23に格納された対象包袋ファイル47を、対象個別ファイル48が添付された包袋ファイル41に添付する。続いて、タイムスタンプ付加部9が、対象個別ファイル48および前回の対象包袋ファイル47が添付された包袋ファイル41のハッシュ値を算出し、算出したハッシュ値をタイムスタンプ発行装置15に送信する。タイムスタンプ発行装置15は、そのハッシュ値および時刻情報を時刻認証局の秘密鍵で暗号化し、暗号化したハッシュ値および時刻情報に、時刻認証局の秘密鍵に対応した公開鍵を含む公開鍵証明書を付すことによってタイムスタンプトークン49を生成し、生成したタイムスタンプトークン49をファイル管理装置1に送信する。タイムスタンプ付加部9は、そのタイムスタンプトークン49を受信し、受信したタイムスタンプトークン49を、対象個別ファイル48および前回の対象包袋ファイル47が添付された包袋ファイル41に付加する。続いて、保存部10が、対象個別ファイル48および前回の対象包袋ファイル47が添付され、かつタイムスタンプトークン49が付加された包袋ファイル41に、利用者が処理設定フォーム31により設定したファイル名(
図3中の符号34を参照)を付し、その包袋ファイル41を今回の対象包袋ファイル50として、保存フォルダ23に格納されている前回の対象包袋ファイル47に上書きする形で、保存フォルダ23に格納する。
【0043】
(タイムスタンプ付加処理の一例)
図5(A)~5(C)を参照しつつ、タイムスタンプ付加処理の一例を説明する。
図5(A)において、利用者により、空の監視フォルダ21に、「契約書.docx」というファイル名のワードファイル、および「納品書.xlsx」というファイル名のエクセルファイルが同時に格納されたとする。この場合、追加判断部7により、新規の電子ファイルが監視フォルダ21に追加されたと判断される。続いて、添付部8により、資材フォルダ22に格納された空の包袋ファイルである「包袋タイプ1.pdf」(
図3中の符号33を参照)が読み出され、この読み出された「包袋タイプ1.pdf」に「契約書.docx」および「納品書.xlsx」がそれぞれ対象個別ファイルとして添付される。続いて、タイムスタンプ付加部9により、「契約書.docx」および「納品書.xlsx」が添付された「包袋タイプ1.pdf」のハッシュ値が算出され、算出されたハッシュ値がタイムスタンプ発行装置15に送信される。続いて、タイムスタンプ発行装置15により、ファイル管理装置1から送信されたハッシュ値および時刻情報が暗号化されたもの、並びに公開鍵証明書が含まれたタイムスタンプトークン51が生成され、そのタイムスタンプトークン51がタイムスタンプ発行装置15からファイル管理装置1に送信される。続いて、タイムスタンプ付加部9により、そのタイムスタンプトークン51が受信され、受信されたタイムスタンプトークン51が、「契約書.docx」および「納品書.xlsx」が添付された「包袋タイプ1.pdf」に付加される。続いて、保存部10により、「契約書.docx」および「納品書.xlsx」が添付され、かつタイムスタンプトークン51が付加された「包袋タイプ1.pdf」に、利用者が処理設定フォーム31により設定したファイル名である「X事業関連包袋.pdf」(
図3中の符号34を参照)が付される(すなわち、「包袋タイプ1.pdf」というファイル名が、「X事業関連包袋.pdf」というファイル名に変更される)。続いて、保存部10により、「X事業関連包袋.pdf」が今回の対象包袋ファイル52として保存フォルダ23に格納される。
【0044】
図5(B)において、上記
図5(A)に示す処理の後、利用者により監視フォルダ21に「請求書.xlsx」というファイル名のエクセルファイルが格納されたとする。「請求書.xlsx」というファイル名は、「契約書.docx」というファイル名とも、「納品書.xlsx」というファイル名とも相違する。この場合、追加判断部7により、新規の電子ファイルが監視フォルダ21に追加されたと判断される。続いて、添付部8により、資材フォルダ22に格納された空の包袋ファイルである「包袋タイプ1.pdf」(
図3中の符号33を参照)が読み出され、この読み出された「包袋タイプ1.pdf」に「請求書.xlsx」が対象個別ファイルとして添付される。続いて、添付部8により、保存フォルダ23に現在格納されている前回の対象包袋ファイル52、すなわち、上記
図5(A)に示す処理で保存フォルダ23に格納された「X事業関連包袋.pdf」が、「請求書.xlsx」が添付された「包袋タイプ1.pdf」に添付される。続いて、タイムスタンプ付加部9により、「請求書.xlsx」および前回の対象包袋ファイル52である「X事業関連包袋.pdf」が添付された「包袋タイプ1.pdf」のハッシュ値が算出され、算出されたハッシュ値がタイムスタンプ発行装置15に送信される。続いて、タイムスタンプ発行装置15により、ファイル管理装置1から送信されたハッシュ値および時刻情報が暗号化されたもの、並びに公開鍵証明書が含まれたタイムスタンプトークン53が生成され、そのタイムスタンプトークン53がタイムスタンプ発行装置15からファイル管理装置1に送信される。続いて、タイムスタンプ付加部9により、そのタイムスタンプトークン53が受信され、受信されたタイムスタンプトークン53が、「請求書.xlsx」および前回の対象包袋ファイル52である「X事業関連包袋.pdf」が添付された「包袋タイプ1.pdf」に付加される。続いて、保存部10により、「請求書.xlsx」および前回の対象包袋ファイル52である「X事業関連包袋.pdf」が添付され、かつタイムスタンプトークン53が付加された「包袋タイプ1.pdf」に、利用者が処理設定フォーム31により設定したファイル名である「X事業関連包袋.pdf」(
図3中の符号34を参照)が付される。続いて、保存部10により、この「X事業関連包袋.pdf」が今回の対象包袋ファイル54として、保存フォルダ23に格納されている前回の対象包袋ファイル52である「X事業関連包袋.pdf」に上書きする形で、保存フォルダ23に格納される。
【0045】
図5(C)において、上記
図5(B)に示す処理の後、利用者により監視フォルダ21に「契約書.docx」というファイル名のワードファイルが格納されたとする。
図5(C)において監視フォルダ21に格納された「契約書.docx」は、
図5(A)において監視フォルダ21に格納された「契約書.docx」とファイル名が同一である。しかしながら、
図5(A)において監視フォルダ21に格納された「契約書.docx」の更新日時が2022年2月15日であるのに対し、
図5(C)において監視フォルダ21に格納された「契約書.docx」の更新日時は2022年3月6日である。すなわち、
図5(C)において監視フォルダ21に格納された「契約書.docx」は、
図5(A)において監視フォルダ21に格納された「契約書.docx」と更新日時が相違する。この場合、追加判断部7により、更新された電子ファイルが監視フォルダ21に追加されたと判断される。続いて、添付部8により、資材フォルダ22に格納された空の包袋ファイルである「包袋タイプ1.pdf」(
図3中の符号33を参照)が読み出され、この読み出された「包袋タイプ1.pdf」に、更新日時が2022年3月6日である「契約書.docx」が対象個別ファイルとして添付される。続いて、添付部8により、保存フォルダ23に現在格納されている前回の対象包袋ファイル54、すなわち、上記
図5(B)に示す処理で保存フォルダ23に格納された「X事業関連包袋.pdf」が、更新日時が2022年3月6日である「契約書.docx」が添付された「包袋タイプ1.pdf」に添付される。続いて、タイムスタンプ付加部9により、更新日時が2022年3月6日である「契約書.docx」および前回の対象包袋ファイル54である「X事業関連包袋.pdf」が添付された「包袋タイプ1.pdf」のハッシュ値が算出され、算出されたハッシュ値がタイムスタンプ発行装置15に送信される。続いて、タイムスタンプ発行装置15により、ファイル管理装置1から送信されたハッシュ値および時刻情報が暗号化されたもの、並びに公開鍵証明書が含まれたタイムスタンプトークン55が生成され、そのタイムスタンプトークン55がタイムスタンプ発行装置15からファイル管理装置1に送信される。続いて、タイムスタンプ付加部9により、そのタイムスタンプトークン55が受信され、受信されたタイムスタンプトークン55が、更新日時が2022年3月6日である「契約書.docx」および前回の対象包袋ファイル54である「X事業関連包袋.pdf」が添付された「包袋タイプ1.pdf」に付加される。続いて、保存部10により、更新日時が2022年3月6日である「契約書.docx」および前回の対象包袋ファイル54である「X事業関連包袋.pdf」が添付され、かつタイムスタンプトークン55が付加された「包袋タイプ1.pdf」に、利用者が処理設定フォーム31により設定したファイル名である「X事業関連包袋.pdf」(
図3中の符号34を参照)が付される。続いて、保存部10により、この「X事業関連包袋.pdf」が今回の対象包袋ファイル56として、保存フォルダ23に格納されている前回の対象包袋ファイル54である「X事業関連包袋.pdf」に上書きする形で、保存フォルダ23に格納される。
【0046】
(対象包袋ファイルの構造)
図6は、
図5(C)の処理において保存フォルダ23に格納された対象包袋ファイル56の構造を示している。
図6に示すように、対象包袋ファイル56には、
図5(C)において利用者により監視フォルダ21に格納された更新日時が2022年3月6日である「契約書.docx」と、
図5(C)においてタイムスタンプ発行装置15により生成されたタイムスタンプトークン55と、
図5(B)において利用者により監視フォルダ21に格納された「請求書.xlsx」と、
図5(B)においてタイムスタンプ発行装置15により生成されたタイムスタンプトークン53と、
図5(A)において利用者により監視フォルダ21に格納された更新日時が2022年2月15日である「契約書.docx」と、
図5(A)において利用者により監視フォルダ21に格納された「納品書.xlsx」と、
図5(A)においてタイムスタンプ発行装置15により生成されたタイムスタンプトークン51とが結合されている。
【0047】
利用者は、対象包袋ファイル56に結合された、更新日時が2022年3月6日である「契約書.docx」、「請求書.xlsx」、更新日時が2022年2月15日である「契約書.docx」、および「納品書.xlsx」を、
図7(A)~7(C)に示すように、例えばPDFファイルのリーダーアプリケーションにより開くことができる。
【0048】
図7(A)は、対象包袋ファイル56をPDFファイルのリーダーアプリケーションで開いた状態を示している。
図7(A)に示すように、対象包袋ファイル56の先頭のページには、包袋ファイルを示す文字列71、対象包袋ファイル56のファイル名72、対象包袋ファイル56に添付された電子ファイルの情報73が記載され、また、タイムスタンプの印影74が付されている。また、リーダーアプリケーションには、対象包袋ファイル56に添付された電子ファイルの一覧75が表示されている。利用者は、
図7(A)における一覧75中の「契約書.docx」を例えばマウスでクリックすることにより、更新日時が2022年3月6日の「契約書.docx」を開くことができる。また、利用者は、
図7(A)における一覧75中の「X事業関連包袋.pdf」を例えばマウスでクリックすることにより、対象包袋ファイル54である「X事業関連包袋.pdf」を開くことができる。
【0049】
図7(B)は、対象包袋ファイル54をPDFファイルのリーダーアプリケーションで開いた状態を示している。
図7(B)に示すように、リーダーアプリケーションには、対象包袋ファイル54に添付された電子ファイルの一覧75が表示されている。利用者は、
図7(B)における一覧75中の「請求書.docx」を例えばマウスでクリックすることにより、「請求書.docx」を開くことができる。また、利用者は、
図7(B)における一覧75中の「X事業関連包袋.pdf」を例えばマウスでクリックすることにより、対象包袋ファイル52である「X事業関連包袋.pdf」を開くことができる。
【0050】
図7(C)は、対象包袋ファイル52をPDFファイルのリーダーアプリケーションで開いた状態を示している。
図7(C)に示すように、リーダーアプリケーションには、対象包袋ファイル52に添付された電子ファイルの一覧75が表示されている。利用者は、
図7(C)における一覧75中の「契約書.docx」を例えばマウスでクリックすることにより、更新日時が2022年2月15日の「契約書.docx」を開くことができる。また、利用者は、
図7(C)における一覧75中の「納品書.xlsx」を例えばマウスでクリックすることにより、「納品書.xlsx」を開くことができる。
【0051】
(ファイルリスト)
タイムスタンプ付加処理の中で、ファイルリスト生成部11はファイルリスト25を生成または更新する。ファイルリスト25は記憶部3に記憶される。ファイルリスト25は、保存フォルダ23に現在格納されている対象包袋ファイル(本実施形態においては、保存フォルダ23に最後に格納された対象包袋ファイル)に結合されている対象個別ファイルのファイル名および更新日時のリストである。保存フォルダ23に現在格納されている対象包袋ファイルには、利用者により監視フォルダ21に格納された電子ファイルが結合されているので、ファイルリスト25は、利用者により監視フォルダ21に格納された電子ファイルのリストであるといえる。
【0052】
ファイルリスト生成部11は、添付部8により資材フォルダ22から読み出された空の包袋ファイルに添付された対象個別ファイルのファイル名および更新日時を記録することにより、ファイルリスト25を生成し、または更新する。本実施形態において、ファイルリスト生成部11は、添付部8により資材フォルダ22から読み出された空の包袋ファイルに添付された対象個別ファイルが新規の電子ファイルであるときには、その対象個別ファイルのファイル名および更新日時をファイルリスト25に追加する。また、添付部8により資材フォルダ22から読み出された空の包袋ファイルに添付された対象個別ファイルが、更新された電子ファイルであるときには、ファイルリスト生成部11は、ファイルリスト25に既に記録された対象個別ファイルのうち、添付部8により資材フォルダ22から読み出された空の包袋ファイルに添付された対象個別ファイルのファイル名と同一のファイル名を有する対象個別ファイルを特定し、特定した対象個別ファイルの更新日時を、添付部8により資材フォルダ22から読み出された空の包袋ファイルに添付された対象個別ファイルの更新日時に変更する。
【0053】
図8(A)~8(C)を参照しつつ、
図5(A)~5(C)に示したタイムスタンプ付加処理の一例において、ファイルリスト生成部11によりファイルリスト25が生成および更新される過程を説明する。
【0054】
図5(A)に示す処理においては、利用者により監視フォルダ21に格納された更新日時が2022年2月15日である「契約書.docx」および更新日時が2022年2月15日である「納品書.xlsx」が、資材フォルダ22から読み出された空の包袋ファイルである「包袋タイプ1.pdf」に対象個別ファイルとして添付されている。更新日時が2022年2月15日である「契約書.docx」および更新日時が2022年2月15日である「納品書.xlsx」はいずれも、空の監視フォルダ21に追加された電子ファイルであるので、新規の電子ファイルである。この場合、ファイルリスト生成部11は、
図8(A)に示すように、当該「契約書.docx」のファイル名および更新日時をファイルリスト25に追加し、かつ当該「納品書.xlsx」のファイル名および更新日時をファイルリスト25に追加する。
【0055】
図5(B)に示す処理においては、利用者により監視フォルダ21に格納された更新日時が2022年2月20日である「請求書.xlsx」が、資材フォルダ22から読み出された空の包袋ファイルである「包袋タイプ1.pdf」に対象個別ファイルとして添付されている。更新日時が2022年2月20日である「請求書.xlsx」は、上述したように新規の電子ファイルである。この場合、ファイルリスト生成部11は、
図8(B)に示すように、当該「請求書.xlsx」のファイル名および更新日時をファイルリスト25に追加する。
【0056】
図5(C)に示す処理においては、利用者により監視フォルダ21に格納された更新日時が2022年3月6日である「契約書.docx」が、資材フォルダ22から読み出された空の包袋ファイルである「包袋タイプ1.pdf」に対象個別ファイルとして添付されている。更新日時が2022年3月6日である「契約書.docx」は、上述したように更新された電子ファイルである。この場合、ファイルリスト生成部11は、まず、ファイルリスト25にファイル名および更新日時が既に記録された対象個別ファイルの中から、「契約書.docx」のファイル名と同一のファイル名を有する対象個別ファイルを特定する。次に、ファイルリスト生成部11は、特定した対象個別ファイルの更新日時を2022年3月6日に変更する。すなわち、ファイルリスト25には、
図8(A)または8(B)に示すように、更新日時が2022年2月15日である「契約書.docx」のファイル名および更新日時が既に記録されているので、ファイルリスト生成部11により、更新日時が2022年2月15日である「契約書.docx」が特定され、この特定された「契約書.docx」の更新日時が、
図8(C)に示すように、2022年3月6日に変更される。
【0057】
(監視処理の概要)
タイムスタンプ付加処理において、追加判断部7は、直近に更新された最新のファイルリスト25(記憶部3に現在記憶されているファイルリスト25)に基づいて、監視フォルダ21に電子ファイルが追加されたか否かを監視する。具体的には、追加判断部7は、監視フォルダ21に格納された電子ファイルが、上述した「新規の電子ファイル」、または上述した「更新された電子ファイル」であることが、直近に更新された最新のファイルリスト25に基づいて認識された場合に、監視フォルダ21に電子ファイルが追加されたと判断する。
【0058】
なお、本実施形態におけるタイムスタンプ付加処理では、監視フォルダ21に追加された電子ファイルが対象個別ファイルとして包袋ファイルに添付されるとき、当該電子ファイルのコピーが包袋ファイルに添付される。そのため、利用者により監視フォルダ21に格納された電子ファイルは、包袋ファイルに添付された後、すなわち、対象包袋ファイルに結合された後、監視フォルダ21に格納されたままになっている。対象包袋ファイルに結合された後、監視フォルダ21に格納されたままになっている電子ファイルのファイル名および更新日時は、保存フォルダ23に現在格納されている対象包袋ファイル(本実施形態においては、保存フォルダ23に最後に格納された対象包袋ファイル)に結合されているいずれかの対象個別ファイルのファイル名および更新日時と同一である。したがって、対象包袋ファイルに結合された後、監視フォルダ21に格納されたままになっている電子ファイルは上記「新規の電子ファイル」でもなく、上記「更新された電子ファイル」でもない。追加判断部7が監視フォルダ21に電子ファイルが追加されたか否かを判断するときに、監視フォルダ21に格納されているすべての電子ファイルが、対象包袋ファイルに結合された後、監視フォルダ21に格納されたままになっている電子ファイルである場合、追加判断部7は、監視フォルダ21に電子ファイルが追加されていないと判断する。
【0059】
(タイムスタンプ付加処理の流れ)
図9および10は、本発明の第1の実施形態のファイル管理装置1におけるタイムスタンプ付加処理の流れを示している。利用者が、
図3に示す処理設定フォーム31の「設定1」のタブ32における監視の有無を「監視する」に設定し、さらに、監視フォルダ21のフォルダパス、資材フォルダ22のフォルダパス、資材フォルダ22に格納された空の包袋ファイルのファイル名、保存フォルダ23のフォルダパス、および対象包袋ファイルに付すファイル名を設定し、その後、OKボタン35を例えばマウスでクリックすると、ファイル管理装置1は、「設定1」のタブ32における設定に基づくタイムスタンプ付加処理を開始する。
【0060】
タイムスタンプ付加処理が開始されると、まず、追加判断部7が監視処理を実行する(
図9中のステップS1)。
図11は
図9中のステップS1において実行される監視処理の流れを示している。
図11に示す監視処理において、追加判断部7は、監視フォルダ21に格納されている1つの電子ファイルのファイル名が、直近に更新された最新のファイルリスト25(記憶部3に現在記憶されているファイルリスト25)中のいずれの対象個別ファイルのファイル名とも相違するか否かを判断する(ステップS21)。
【0061】
監視フォルダ21に格納されている当該1つの電子ファイルのファイル名が、直近に更新された最新のファイルリスト25中のいずれの対象個別ファイルのファイル名とも相違する場合(ステップS21:YES)、追加判断部7は、監視フォルダ21に格納されている当該1つの電子ファイルが上記「新規の電子ファイル」であると認識する(ステップS22)。その後、処理はステップS25に移行する。
【0062】
一方、監視フォルダ21に格納されている当該1つの電子ファイルのファイル名が、直近に更新された最新のファイルリスト25中のいずれか1つの対象個別ファイルのファイル名と同一である場合(ステップS21:NO)、続いて、追加判断部7は、その1つの対象個別ファイルを特定する。続いて、追加判断部7は、監視フォルダ21に格納されている当該1つの電子ファイルの更新日時が、特定した1つの対象個別ファイルの更新日時と相違するか否かを判断する(ステップS23)。
【0063】
監視フォルダ21に格納されている当該1つの電子ファイルの更新日時が、特定した1つの対象個別ファイルの更新日時と相違する場合(ステップS23:YES)、追加判断部7は、監視フォルダ21に格納されている当該1つの電子ファイルが上記「更新された電子ファイル」であると認識する(ステップS24)。その後、処理はステップS25に移行する。
【0064】
一方、監視フォルダ21に格納されている当該1つの電子ファイルの更新日時が、特定した1つの対象個別ファイルの更新日時と同一である場合(ステップS23:NO)、処理は直ちにステップS25に移行する。
【0065】
ステップS25において、追加判断部7は、ステップS21~S24の処理が、監視フォルダ21に格納されたすべての電子ファイルについて行われたか否かを判断する。ステップS21~S24の処理が、監視フォルダ21に格納されたすべての電子ファイルについて行われていない場合(ステップS25:NO)、処理はステップS21に戻る。ステップS21~S24の処理が、監視フォルダ21に格納されたすべての電子ファイルについて行われた場合(ステップS25:YES)、処理は
図9中のステップS2に移行する。
【0066】
図9中のステップS2において、追加判断部7は、監視処理の結果に基づいて、監視フォルダ21に電子ファイルが追加されたか否かを判断する。監視処理において、新規の電子ファイルも更新された電子ファイルも認識されなかった場合、追加判断部7は、監視フォルダ21に電子ファイルが追加されていないと判断する(ステップS2:NO)。この場合、追加判断部7は、予め設定された待機時間待機した後、処理をステップS1に戻す。ここで、「待機時間」は例えば0.5秒~数分の範囲内に設定される。利用者は「待機時間」を設定することができる。タイムスタンプ付加処理が開始された後、監視フォルダ21に電子ファイルが追加されない間においては、「待機時間」の周期でステップS1およびS2が繰り返し実行されることとなる。
【0067】
監視処理において、新規の電子ファイルまたは更新された電子ファイルが認識された場合、追加判断部7は、監視フォルダ21に電子ファイルが追加されたと判断する(ステップS2:YES)。この場合、添付部8が、資材フォルダ22に格納された空の包袋ファイルを読み出す(ステップS3)。続いて、添付部8は、前回の対象包袋ファイルが保存フォルダ23に格納されているか否かを判断する(ステップS4)。例えば、空の監視フォルダ21に電子ファイルが格納されたばかりのときなど、電子ファイルとタイムスタンプトークンとを包袋ファイルを介して結合する処理が一度も行われていない場合には、前回の対象包袋ファイルは存在せず、それゆえ、保存フォルダ23には前回の対象包袋ファイルが格納されていない。
【0068】
前回の対象包袋ファイルが保存フォルダ23に格納されていない場合(ステップS4:NO)、添付部8は、監視フォルダ21に追加された電子ファイルを対象個別ファイルとして、ステップS3において読み出された空の包袋ファイルに添付する(ステップS5)。
【0069】
続いて、添付部8は、この対象個別ファイルの情報(例えば、ファイル名および更新日時)を、この対象個別ファイルが添付された包袋ファイルに記録する(ステップS6)。
【0070】
続いて、タイムスタンプ付加部9が、対象個別ファイルが添付された包袋ファイルのハッシュ値を算出し、算出したハッシュ値をタイムスタンプ発行装置15に送信する(ステップS7)。続いて、タイムスタンプ付加部9は、そのハッシュ値および時刻情報が暗号化されたもの、並びに公開鍵証明書が含まれたタイムスタンプトークンをタイムスタンプ発行装置15から受信する(ステップS8)。
【0071】
続いて、タイムスタンプ付加部9は、受信したタイムスタンプトークンを、対象個別ファイルが添付された包袋ファイルに付加する(ステップS9)。
【0072】
続いて、保存部10が、対象個別ファイルが添付され、かつタイムスタンプトークンが付加された包袋ファイルに、利用者が設定したファイル名(
図3中の符号34を参照)を付し、その包袋ファイルを対象包袋ファイルとして保存フォルダ23に格納する(ステップS10)。
【0073】
続いて、ファイルリスト生成部11がファイルリスト生成・更新処理を実行する(ステップS11)。
図12は
図9中のステップS11または
図10中のステップS19において実行されるファイルリスト生成・更新処理の流れを示している。
図12に示すファイルリスト生成・更新処理において、ファイルリスト生成部11は、
図9中のステップS5において添付部8により空の包袋ファイルに添付された対象個別ファイルが新規の電子ファイルであるか否かを判断する。この判断は例えば次のように行うことができる。
図11に示す監視処理のステップS22において監視フォルダ21に格納された電子ファイルが新規の電子ファイルであると認識されたとき、またはステップS23において監視フォルダ21に格納された電子ファイルが、更新された電子ファイルであると認識されたときに、その認識結果をファイル種別情報として電子ファイルごとに記憶部3等に記憶しておく。そして、
図12中のステップS31で、
図9中のステップS5において空の包袋ファイルに添付された対象個別ファイルが新規の電子ファイルであるか否かを上記ファイル種別情報に基づいて判断する。
【0074】
図9中のステップS5において空の包袋ファイルに添付された対象個別ファイルが新規の電子ファイルである場合(ステップS31:YES)、ファイルリスト生成部11は、当該対象個別ファイルのファイル名および更新日時をファイルリスト25に追加する(ステップS32)。
【0075】
一方、
図9中のステップS5において空の包袋ファイルに添付された対象個別ファイルが新規の電子ファイルでない場合(ステップS31:NO)、ファイルリスト生成部11は、
図9中のステップS5において空の包袋ファイルに添付された対象個別ファイルが、更新された電子ファイルであるか否かを判断する(ステップS33)。この判断は、ステップS31の判断と同様の方法で行うことができる。
【0076】
図9中のステップS5において空の包袋ファイルに添付された対象個別ファイルが、更新された電子ファイルである場合(ステップS33:YES)、ファイルリスト生成部11は、ファイルリスト25にファイル名および更新日時が既に記録された対象個別ファイルのうち、
図9中のステップS5において空の包袋ファイルに添付された対象個別ファイルのファイル名と同一のファイル名を有する対象個別ファイルを特定し、ファイルリスト25において、特定した対象個別ファイルの更新日時を、
図9中のステップS5において空の包袋ファイルに添付された対象個別ファイルの更新日時に変更する(ステップS34)。
【0077】
図9中のステップS5において空の包袋ファイルに複数の対象個別ファイルが添付された場合には、ファイルリスト生成部11は、ステップS31~S34の処理を、当該複数の対象個別ファイルのそれぞれについて行う。ファイルリスト生成・更新処理の終了後、処理は、
図9中のステップS1に戻る。
【0078】
一方、
図9中のステップS4において、前回の対象包袋ファイルが保存フォルダ23に格納されている場合には、処理は、
図9中のステップS4から
図10中のステップS12に移行する。そして、ステップS12において、添付部8は、監視フォルダ21に追加された電子ファイルを今回の対象個別ファイルとして、ステップS3において読み出された空の包袋ファイルに添付する(ステップS12)。
【0079】
続いて、添付部8は、保存フォルダ23に格納されている前回の対象包袋ファイルを、今回の対象個別ファイルが添付された包袋ファイルに添付する(ステップS13)。
【0080】
続いて、添付部8は、今回の対象個別ファイルの情報(例えば、ファイル名および更新日時)、および前回の対象包袋ファイルの情報(例えば、ファイル名および更新日時)を、今回の対象個別ファイルおよび前回の対象包袋ファイルが添付された包袋ファイルに記録する(ステップS14)。
【0081】
続いて、タイムスタンプ付加部9が、今回の対象個別ファイルおよび前回の対象包袋ファイルが添付された包袋ファイルのハッシュ値を算出し、算出したハッシュ値をタイムスタンプ発行装置15に送信する(ステップS15)。続いて、タイムスタンプ付加部9は、そのハッシュ値および時刻情報が暗号化されたもの、並びに公開鍵証明書が含まれたタイムスタンプトークンをタイムスタンプ発行装置15から受信する(ステップS16)。
【0082】
続いて、タイムスタンプ付加部9は、受信したタイムスタンプトークンを、今回の対象個別ファイルおよび前回の対象包袋ファイルが添付された包袋ファイルに付加する(ステップS17)。
【0083】
続いて、保存部10が、今回の対象個別ファイルおよび前回の対象包袋ファイルが添付され、かつ今回受信されたタイムスタンプトークンが付加された包袋ファイルに、利用者が設定したファイル名(
図3中の符号34を参照)を付し、その包袋ファイルを今回の対象包袋ファイルとして、保存フォルダ23に格納されている前回の対象包袋ファイルに上書きする形で、保存フォルダ23に格納する(ステップS18)。
【0084】
続いて、ファイルリスト生成部11がファイルリスト生成・更新処理を実行する(ステップS19)。
図12に示すファイルリスト生成・更新処理において、ファイルリスト生成部11は、
図10中のステップS12において添付部8により空の包袋ファイルに添付された対象個別ファイルが新規の電子ファイルであるか否かを判断する。
図10中のステップS12において空の包袋ファイルに添付された対象個別ファイルが新規の電子ファイルである場合(ステップS31:YES)、ファイルリスト生成部11は、当該対象個別ファイルのファイル名および更新日時をファイルリスト25に追加する(ステップS32)。
【0085】
一方、
図10中のステップS12において空の包袋ファイルに添付された対象個別ファイルが新規の電子ファイルでない場合(ステップS31:NO)、ファイルリスト生成部11は、
図10中のステップS12において空の包袋ファイルに添付された対象個別ファイルが、更新された電子ファイルであるか否かを判断する(ステップS33)。
図10中のステップS12において空の包袋ファイルに添付された対象個別ファイルが、更新された電子ファイルである場合(ステップS33:YES)、ファイルリスト生成部11は、ファイルリスト25にファイル名および更新日時が既に記録された対象個別ファイルのうち、
図10中のステップS12において空の包袋ファイルに添付された対象個別ファイルのファイル名と同一のファイル名を有する対象個別ファイルを特定し、ファイルリスト25において、特定した対象個別ファイルの更新日時を、
図10中のステップS12において空の包袋ファイルに添付された対象個別ファイルの更新日時に変更する(ステップS34)。
【0086】
図10中のステップS12において空の包袋ファイルに複数の対象個別ファイルが添付された場合には、ファイルリスト生成部11は、ステップS31~S34の処理を、当該複数の対象個別ファイルのそれぞれについて行う。ファイルリスト生成・更新処理の終了後、処理は、
図9中のステップS1に戻る。
【0087】
以上説明した通り、本発明の第1の実施形態のファイル管理装置1によれば、電子ファイルとタイムスタンプトークンとを包袋ファイルを介して結合するに当たり、利用者の作業負担を軽減することができる。利用者は、タイムスタンプを用いて管理することを所望する電子ファイルが、例えば、テキストファイル、CSVファイル、ワードファイル、エクセルファイル等、タイムスタンプトークンを自身に付加することができる構造を有していない電子ファイルである場合に、その電子ファイルとタイムスタンプトークンとを包袋ファイルを介して結合する作業を容易に行うことができる。具体的に説明すると、利用者が、電子ファイルとタイムスタンプトークンとを包袋ファイルを介して結合する作業を手動で行う場合には、上述したように、電子ファイルを包袋ファイルに添付する作業、当該電子ファイルが添付された包袋ファイルのハッシュ値を算出する作業、算出したハッシュ値を時刻認証局のタイムスタンプ発行装置に送信する作業、タイムスタンプトークンを時刻認証局のタイムスタンプ発行装置から受信する作業、および受信したタイムスタンプトークンを、当該電子ファイルが添付された包袋ファイルに付加する作業を逐一行わなければならないが、本実施形態のファイル管理装置1によれば、これらの作業を自動で行うことができる。利用者は、電子ファイルを監視フォルダ21に追加するだけで、その電子ファイルとタイムスタンプトークンとが包袋ファイルを介して結合されたものを取得することができる。
【0088】
また、本実施形態のファイル管理装置1は、保存フォルダ23に前回の対象包袋ファイルが格納されている状態において、利用者が監視フォルダ21に、更新された電子ファイルを追加した場合、その更新された電子ファイルおよび前回の対象包袋ファイルが添付され、かつタイムスタンプトークンが付加された対象包袋ファイルを生成する。この対象包袋ファイルには、ファイル名が互いに同一であり、かつ更新日時が互いに相違する2つの電子ファイルが結合されている。ファイル名が互いに同一であり、かつ更新日時が互いに相違する2つの電子ファイルは、通常、内容(中身)が変更される前の電子ファイルと、内容(中身)が変更された後の電子ファイルである。例えば、これら2つの電子ファイルは、内容が修正される前の電子ファイルと、内容が修正された後の電子ファイルである場合もあれば、内容が未完成の電子ファイルと、内容が完成した電子ファイルである場合もあれば、ある事業の立ち上げ当初の事項を記録した電子ファイルと、当該事業が進展した後の事項を記録した電子ファイルである場合もあろう。利用者は、対象包袋ファイルに結合された、このような2つの電子ファイルに基づいて、電子ファイルの修正または作成の過程や、電子ファイルに記録された事項の変遷、または事業の変遷等をトレースすることができる。すなわち、本実施形態のファイル管理装置1によれば、電子ファイル自体または、電子ファイルに記録された事項等につき、トレーサビリティを確保することができる。
【0089】
また、本実施形態のファイル管理装置1は、保存フォルダ23に前回の対象包袋ファイルが格納されている状態において、利用者が監視フォルダ21に、新規の電子ファイルを追加した場合、その新規の電子ファイルおよび前回の対象包袋ファイルが添付され、かつタイムスタンプトークンが付加された対象包袋ファイルを生成する。これにより、監視フォルダ21に同時に、または互いに相違する時期に追加された新規の電子ファイルが、1つの対象包袋ファイルに結合される。例えば、監視フォルダ21に、互いに関連する内容の電子ファイルを追加していくことにより、それら互いに関連する内容の複数の電子ファイルを、対象包袋ファイルを介して容易に一括管理することができる。
【0090】
また、本実施形態のファイル管理装置1は、ファイルリスト25を生成または更新し、そのファイルリスト25に基づいて、監視フォルダ21に電子ファイルが追加されたか否かを判断する。これにより、監視フォルダ21に電子ファイルが追加されたことを容易に、かつ正確に判断することができる。また、ファイルリスト25に基づいて、監視フォルダ21に電子ファイルが追加されたか否かを判断することによって、監視フォルダ21に格納された電子ファイルが、包袋ファイルに添付された後(すなわち、対象包袋ファイルに結合された後)、監視フォルダ21に格納されたままになっている場合に、監視フォルダ21に格納されたままになっている電子ファイルと、監視フォルダ21に追加された電子フォルダとの区別、すなわち、対象包袋ファイルに既に結合されている電子ファイルと、対象包袋ファイルにまだ結合されていない電子ファイルとの区別を容易にかつ正確に行うことができる。
【0091】
[第2の実施形態]
図13~15を用いて、本発明のファイル管理プログラムおよびファイル管理装置の第2の実施形態について説明する。第2の実施形態のファイル管理装置では、ファイルリスト25を、対象個別ファイル等と共に、包袋ファイルに結合させる。具体的には、第2の実施形態のファイル管理装置は、タイムスタンプ付加処理の中で、ファイルリスト25が記録された電子ファイルであるファイルリストファイルを包袋ファイルに添付する。
【0092】
図13および14は、本発明の第2の実施形態のファイル管理装置におけるタイムスタンプ付加処理の流れを示している。
図13および14において、
図9および10に示す本発明の第1の実施形態のファイル管理装置1におけるタイムスタンプ付加処理の工程と同一の工程には同一の符号が付されている。
【0093】
図13において、第2の実施形態におけるタイムスタンプ付加処理では、包袋ファイルのハッシュ値の算出が行われる前の段階で、ファイルリスト生成・更新処理が行われる。具体的には、前回の対象包袋ファイルが保存フォルダ23に格納されていない場合には、添付部8が監視フォルダ21に追加された電子ファイルを対象個別ファイルとして空の包袋ファイルに添付した直後に、ファイルリスト生成部11が、
図12に示すファイルリスト生成・更新処理を実行する(ステップS41)。そして、ファイルリスト生成・更新処理の終了後、ファイルリスト生成部11は、ファイルリスト25を記録した電子ファイル(例えばCSVファイル)であるファイルリストファイルを生成し、そのファイルリストファイルを、対象個別ファイルが添付された包袋ファイルに添付する(ステップS42)。その後、ステップS43において、タイムスタンプ付加部9は、対象個別ファイルおよびファイルリストファイルが添付された包袋ファイルのハッシュ値を算出し、そのハッシュ値をタイムスタンプ発行装置15に送信する。また、ステップS44において、タイムスタンプ付加部9は、タイムスタンプ発行装置15から受信したタイムスタンプトークンを、対象個別ファイルおよびファイルリストファイルが添付された包袋ファイルに付加する。また、ステップS45において、保存部10は、対象個別ファイルおよびファイルリストファイルが添付され、かつタイムスタンプトークンが付加された包袋ファイルに、利用者が処理設定フォーム31により設定したファイル名(
図3中の符号34を参照)を付し、その包袋ファイルを今回の対象包袋ファイルとして保存フォルダ23に格納する。
【0094】
また、前回の対象包袋ファイルが保存フォルダ23に格納されている場合には、
図14において、添付部8が、監視フォルダ21に追加された電子ファイルを今回の対象個別ファイルとして空の包袋ファイルに添付し、続いて、前回の対象包袋ファイルを、今回の対象個別ファイルが添付された包袋ファイルに添付し、その直後に、ファイルリスト生成部11が、
図12に示すファイルリスト生成・更新処理を実行する(ステップS46)。そして、ファイルリスト生成・更新処理の終了後、ファイルリスト生成部11は、ファイルリスト25を記録した電子ファイルであるファイルリストファイルを生成し、そのファイルリストファイルを、今回の対象個別ファイルおよび前回の対象包袋ファイルが添付された包袋ファイルに添付する(ステップS47)。その後、ステップS48において、タイムスタンプ付加部9は、今回の対象個別ファイル、前回の対象包袋ファイルおよびファイルリストファイルが添付された包袋ファイルのハッシュ値を算出し、そのハッシュ値をタイムスタンプ発行装置15に送信する。また、ステップS49において、タイムスタンプ付加部9は、タイムスタンプ発行装置15から受信したタイムスタンプトークンを、今回の対象個別ファイル、前回の対象包袋ファイルおよびファイルリストファイルが添付された包袋ファイルに付加する。また、ステップS50において、保存部10は、今回の対象個別ファイル、前回の対象包袋ファイルおよびファイルリストファイルが添付され、かつ今回受信されたタイムスタンプトークンが付加された包袋ファイルに、利用者が処理設定フォーム31により設定したファイル名(
図3中の符号34を参照)を付し、その包袋ファイルを今回の対象包袋ファイルとして、保存フォルダ23に格納された前回の対象包袋ファイルに上書きする形で保存フォルダ23に格納する。
【0095】
図15中の対象包袋ファイル81は、第2の実施形態のタイムスタンプ付加処理により生成された対象包袋ファイルの一例である。対象包袋ファイル81には、対象個別ファイル(利用者が監視フォルダ21に追加した電子ファイル)およびタイムスタンプトークンに加え、ファイルリストファイル82、83、84が結合されている。
【0096】
本発明の第2の実施形態のファイル管理装置によれば、利用者は、対象包袋ファイルに結合された複数のファイルリストファイルに基づいて、当該対象包袋ファイルに結合された、ファイル名が互いに同一であり、かつ更新日時が互いに相違する複数の電子ファイルのそれぞれの更新日時を容易に知ることができる。これにより、利用者がタイムスタンプを用いて管理することを所望する電子ファイル自体のトレーサビリティを向上させることができる。
【0097】
(第2の実施形態の変形例)
なお、上記第2の実施形態では、ファイルリスト25を記録した電子ファイルであるファイルリストファイルを包袋ファイルに添付することにより、ファイルリスト25を対象包袋ファイルに結合しているが、これに代え、ファイルリスト25を包袋ファイルに記録することにより、ファイルリスト25を対象包袋ファイルに結合してもよい。また、上記第2の実施形態において、ファイルリスト25だけでなく、設定データ24を対象包袋ファイルに結合してもよい。
【0098】
(ファイルリストの変形例)
また、上記各実施形態におけるファイルリスト生成・更新処理(
図9中のステップS11、
図10中のステップS19、
図13中のステップS41、または
図14中のステップS46)では、添付部8により資材フォルダ22から読み出された空の包袋ファイルに添付された対象個別ファイルが新規の電子ファイルであるときには、その対象個別ファイルのファイル名および更新日時をファイルリストに追加し、また、添付部8により資材フォルダ22から読み出された空の包袋ファイルに添付された対象個別ファイルが、更新された電子ファイルであるときには、ファイルリストにファイル名および更新日時が既に記録された対象個別ファイルのうち、添付部8により資材フォルダ22から読み出された空の包袋ファイルに添付された対象個別ファイルのファイル名と同一のファイル名を有する対象個別ファイルを特定し、特定した対象個別ファイルの更新日時を、添付部8により資材フォルダ22から読み出された空の包袋ファイルに添付された対象個別ファイルの更新日時に変更する。しかしながら、本発明はこれに限らない。この方法に代え、添付部8により資材フォルダ22から読み出された空の包袋ファイルに添付された対象個別ファイルが新規の電子ファイルであるときにも、更新された電子ファイルであるときにも、その対象個別ファイルのファイル名および更新日時をファイルリストに追加する方法を採用してもよい。この方法を採用した場合、
図8(C)のファイルリスト25は、
図16に示すファイルリスト85のようになる。
【0099】
また、添付部8により資材フォルダ22から読み出された空の包袋ファイルに添付された対象個別ファイルが新規の電子ファイルであるときにも、更新された電子ファイルであるときにも、その対象個別ファイルのファイル名および更新日時をファイルリストに追加する方法を採用した場合、監視フォルダ21に電子ファイルが追加された否かを追加判断部7が判断するに当たり、監視フォルダ21に格納された電子ファイルが、新規の電子ファイルであるか、更新された電子ファイルであるかを識別する必要がなくなる。この場合、追加判断部7は、監視フォルダ21に格納されている電子ファイルの中に、ファイルリスト中のいずれかの対象個別ファイルのファイル名および更新日時と同一のファイル名および更新日時を有する電子ファイルではない電子ファイルが存在する場合に、監視フォルダ21に電子ファイルが追加されたと判断する。
【0100】
(タイムスタンプ付加処理の変形例)
また、上記各実施形態におけるタイムスタンプ付加処理では、例えば、
図5(A)~5(C)に示す例のように、監視フォルダ21に追加された互いにファイル名が相違する複数の電子ファイル、すなわち「契約書.docx」、「納品書.xlsx」、および「請求書.xlsx」を1つの対象包袋ファイルに結合する。しかしながら、本発明はこれに限らない。監視フォルダ21に追加された互いにファイル名が相違する複数の電子ファイル同士を結合しないようにしてもよい。具体的には、
図17(A)に示すように、監視フォルダ21に「契約書.docx」が追加された場合には、「契約書.docx」を、資材フォルダ22から読み出された空の包袋ファイル「包袋タイプ1.pdf」に対象個別ファイルとして添付し、「契約書.docx」が添付された「包袋タイプ1.pdf」にタイムスタンプトークン91を付加し、「契約書.docx」が添付され、かつタイムスタンプトークン91が付加された「包袋タイプ1.pdf」のファイル名を例えば「契約書(包袋).pdf」に変更し、その「契約書(包袋).pdf」を対象包袋ファイル92として保存フォルダ23に格納する。また、監視フォルダ21に「納品書.xlsx」が追加された場合には、「納品書.xlsx」を、資材フォルダ22から読み出された空の包袋ファイル「包袋タイプ1.pdf」に対象個別ファイルとして添付し、「納品書.xlsx」が添付された「包袋タイプ1.pdf」にタイムスタンプトークン93を付加し、「納品書.xlsx」が添付され、かつタイムスタンプトークン93が付加された「包袋タイプ1.pdf」のファイル名を例えば「納品書(包袋).pdf」に変更し、その「納品書(包袋).pdf」を対象包袋ファイル94として、対象包袋ファイル92とは別に、保存フォルダ23に格納する。また、監視フォルダ21に「請求書.xlsx」が追加された場合には、「請求書.xlsx」を、資材フォルダ22から読み出された空の包袋ファイル「包袋タイプ1.pdf」に対象個別ファイルとして添付し、「請求書.xlsx」が添付された「包袋タイプ1.pdf」にタイムスタンプトークン95を付加し、「請求書.xlsx」が添付され、かつタイムスタンプトークン95が付加された「包袋タイプ1.pdf」のファイル名を例えば「請求書(包袋).pdf」に変更し、その「請求書(包袋).pdf」を対象包袋ファイル96として、対象包袋ファイル92および対象包袋ファイル94とは別に、保存フォルダ23に格納する。
【0101】
もっとも、このような方法を採用した場合でも、監視フォルダ21に、更新された電子ファイルが追加された場合には、更新された電子ファイルおよび前回の対象包袋ファイルが添付され、かつタイムスタンプトークンが付加された対象包袋ファイルを生成するようにする。例えば、
図17(A)に示すように、更新日時が2022年2月15日である「契約書.docx」が添付され、かつタイムスタンプトークン91が付加された対象包袋ファイル92が保存フォルダ23に格納された後、
図17(B)に示すように、更新日時が2022年3月6日である「契約書.docx」が監視フォルダ21に追加された場合には、更新日時が2022年3月6日である「契約書.docx」を、資材フォルダ22から読み出された空の包袋ファイル「包袋タイプ1.pdf」に今回の対象個別ファイルとして添付する。続いて、前回の対象包袋ファイル92である「契約書(包袋).pdf」を、更新日時が2022年3月6日である「契約書.docx」が添付された「包袋タイプ1.pdf」に添付する。続いて、更新日時が2022年3月6日である「契約書.docx」および前回の対象包袋ファイル92である「契約書(包袋).pdf」が添付された「包袋タイプ1.pdf」にタイムスタンプトークン97を付加する。そして、更新日時が2022年3月6日である「契約書.docx」および前回の対象包袋ファイル92である「契約書(包袋).pdf」が添付され、かつタイムスタンプトークン97が付加された「包袋タイプ1.pdf」のファイル名を例えば「契約書(包袋).pdf」に変更し、その「契約書(包袋).pdf」を対象包袋ファイル98として、前回の対象包袋ファイル92に上書きする形で保存フォルダ23に格納する。
【0102】
また、このような方法を採用した場合には、対象個別ファイルのファイル名および更新日時、並びに対象包袋ファイルのファイル名を記録したファイルリストを生成するようにする。
図18は、
図17(A)中の3つの対象包袋ファイル92、94、96が保存フォルダ23に格納された段階におけるファイルリスト99を示している。
【0103】
(他の変形例)
上記各実施形態における監視処理で、追加判断部7は、
図11に示すように、監視フォルダ21に格納されている1つの電子ファイルのファイル名がファイルリスト25中のいずれか1つの対象個別ファイルのファイル名と同一であり、かつ当該1つの電子ファイルの更新日時が当該1つの対象個別ファイルの更新日時と相違する場合に、当該1つの電子ファイルが「更新された電子ファイル」であると認識する。しかしながら、本発明はこれに限らない。例えば、監視フォルダ21に格納されている1つの電子ファイルのファイル名がファイルリスト25中のいずれか1つの対象個別ファイルのファイル名と同一であり、かつ当該1つの電子ファイルのハッシュ値が当該1つの対象個別ファイルのハッシュ値と相違する場合に、当該1つの電子ファイルが「更新された電子ファイル」であると認識するようにしてもよい。
【0104】
また、上記各実施形態においては、包袋ファイルとしてPDFファイルを用いているが、包袋ファイルとして、電子ファイルを自身に添付することができ、かつタイムスタンプトークンを自身に付加することができる他のファイル形式の電子ファイルを用いてもよい。
【0105】
また、上記各実施形態では、利用者がタイムスタンプを用いて管理することを所望する電子ファイルが、タイムスタンプトークンを自身に付加することができる構造を有していない電子ファイルである場合に、ファイル管理装置1を用いて、その電子ファイルとタイムスタンプトークンとを包袋ファイルを介して結合する場合を説明したが、利用者がタイムスタンプを用いて管理することを所望する電子ファイルに、タイムスタンプトークンを自身に付加することができる構造を有していない電子ファイルと、タイムスタンプトークンを自身に付加することができる構造を有する電子ファイルとが混在している場合には、タイムスタンプトークンを自身に付加することができる構造を有する電子ファイルについても、ファイル管理装置1を用いて、その電子ファイルとタイムスタンプトークンとを包袋ファイルを介して結合するようにしてもよい。
【0106】
また、本発明は、請求の範囲および明細書全体から読み取ることのできる発明の要旨または思想に反しない範囲で適宜変更可能であり、そのような変更を伴うファイル管理プログラムおよびファイル管理装置もまた本発明の技術思想に含まれる。
【産業上の利用可能性】
【0107】
本発明のファイル管理プログラムは、電子ファイルを管理するアプリケーションソフトウェア、または電子ファイルを管理する機能を有するドキュメントリーダーもしくはオペレーティングシステム等に用いることができる。また、本発明のファイル管理装置は、電子ファイルを管理する機能を有する種々の装置に用いることができる。
【符号の説明】
【0108】
1 ファイル管理装置
2 演算処理部
3 記憶部(記憶装置)
7 追加判断部
8 添付部
9 タイムスタンプ付加部
10 保存部
11 ファイルリスト生成部
15 タイムスタンプ発行装置
21 監視フォルダ
22 資材フォルダ
23 保存フォルダ
24 設定データ
25、85、99 ファイルリスト
26 ファイル管理プログラム
41 包袋ファイル
42、45、48 対象個別ファイル
43、46、49、51、53、55、91、93、95、97 タイムスタンプトークン
44、47、50、52、54、56、81、92、94、96、98 対象包袋ファイル
82、83、84 ファイルリストファイル