〔1.システムの構成〕
図1は、本実施例に係るシステムの構成を示す。図1に示すシステムは、端末装置100と、ファイル格納装置200と、を有する。なお、図1に示す各装置の構成は、必ずしも物理的に図示のごとく構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
図1に示す端末装置100とファイル格納装置200は、ネットワーク300を介して、TCP/IP(Transmission Control Protocol/Internet Protocol)、UDP/IP(User Datagram Protocol/Internet Protocol)等、予め定められたプロトコルを用いて通信することができる。
図1に示す端末装置100は、デスクトップ型のパーソナルコンピュータや、ノート型のパーソナルコンピュータなどを一例として挙げられる。図1に示すファイル格納装置200は、汎用型計算機を用いて構成したサーバ装置や、NAS(Network Attached Storage)などを一例として挙げられる。端末装置100は、端末装置100が有する記憶部102に格納したファイルを、ファイル格納装置200へ送信することができる。ファイル格納装置200は、端末装置100から送信されるファイルを受信し、ファイル格納装置200が有する記憶部202に受信したファイルを格納することができる。上述の機能により、端末装置100は、端末装置100が有する記憶部102に格納したファイルのバックアップを、ファイル格納装置200の記憶部202に格納することができる。
図14は、端末装置100の記憶部102に構成されるファイルシステムの模式的構造を示す。図14に示すファイルシステムは、システム領域T1031と、作業領域T1032と、保護領域T1033と、一般領域T1034とを有する。
図14に示すシステム領域T1031は、オペレーティングシステムの動作に必要なプログラムや設定情報などの各種データが格納される領域を示す。
図14に示す作業領域T1032は、プログラムの実行過程において作成される一時的なファイル等を格納する作業用の領域を示す。
図14に示す保護領域T1033は、本実施例に係るファイル格納装置200へのバックアップの対象とするファイルを格納する領域を示す。この保護領域T1033に格納されるファイルは、端末装置において実行される本実施例に係るプログラムの工程により、ネットワーク300を介して、ファイル格納装置200の記憶部202に複写される。
図14に示す一般領域T1034は、端末装置100の利用者により利用されるファイルであって、本実施例に係るファイル格納装置200へのバックアップの対象としないファイルを格納する領域を示す。
図14を用いて、端末装置100において実行されるメール閲覧ソフトを例に、本実施例に係るバックアップが行なわれる過程を説明する。
まず、端末装置100において実行されるメール閲覧ソフトが、ネットワーク300を介して、ファイルが添付されたメールを受信したとする。メール閲覧ソフトが受信したメールに添付されたファイルは、記憶部102に構成される作業領域T1032に格納される(S001)。図14に示すファイルF001は、作業領域T1032に格納されたファイルを示す。
端末装置100の利用者は、必要に応じて、作業領域T1032に格納されたファイルF001を、保護領域T1033に移動させる(S002)。図14に示すファイルF002は、保護領域T1033に移動されたファイルを示す。
端末装置100は、保護領域T1033に移動されたファイルF002を検出し、ファイルF002をファイル格納装置200へ送信する。
端末装置100の利用者は、ファイル格納装置200へファイルF002を送信した後も、保護領域T1033に格納したファイルF002を利用することができる。端末装置100は、利用者によるファイルF002の利用を検知し、利用状況に関するログを収集する。
さらに、端末装置100の利用者は、必要に応じて、保護領域T1033に格納したファイルF002を、保護領域T1033から削除することができる。例えば、保護領域T1033に格納したファイルF002を、一般領域T1034へ移動させ、記憶部102から論理的又は物理的に削除することができる。端末装置100は、保護領域T1033からのファイルF002の削除を検知し、ファイルF002に関する利用状況に基づいてファイルF002の重要度を判定する。端末装置100は、ファイルF002の重要度に応じて、ファイル格納装置200に格納されたファイルF002のバックアップファイルの消去タイミングを決定する。端末装置100は、ファイルF002のバックアップファイルの消去タイミングを、ネットワーク300を介して、ファイル格納装置200へ通知する。
ファイル格納装置200は、端末装置100から通知を受けた消去タイミングに基づいて、ファイルF002のバックアップファイルを記憶部202から消去する時期を制御する。
端末装置100の利用者は、ファイル格納装置200の記憶部202にファイルF002のバックアップファイルが格納されている間であれば、ネットワーク300を介して端末装置100にファイルF002のバックアップファイルを取得させることにより、ファイルF002のバックアップファイルを利用することができる。
〔2.端末装置の構成〕
次に、本実施例に係る端末装置100の構成を説明する。図1に示す端末装置100は、CPU(Central Processing Unit)101、記憶部102、表示部103、操作部104、通信部105を有している。
CPU101は、内部通信線を介して端末装置100のハードウェア各部と接続されており、プログラムの手順に従って所定の処理を実行する。CPU101は、例えば、記憶部102から読み込んだ命令を一時的に格納する命令レジスタ(Instruction Register)、命令レジスタに格納されている機械語命令(2進数)を解読しその命令に応じて端末装置100が有する各部を制御する命令解読回路(Instruction Decoder)、命令解読回路からの制御に従って加算・減算・数値の比較などの演算を行なう演算回路(Arithmetic Logic Unit)、演算対象のデータや演算の結果などを一時的に格納するアキュムレータ(Accumulator)、CPU101が読み書きする記憶部102が有する記憶領域の番地を格納する番地レジスタ(Address Register)、次に実行するべき命令が格納されている記憶部102が有する記憶領域の番地を示すプログラムカウンタ(Program Counter)などで構成される。
記憶部102は、例えば、主記憶部と補助記憶部を有する。記憶部102の主記憶部は、CPU101の実行により生じたデータや、補助記憶部から読み出したデータなどを、記憶する。例えば、SDRAM(Synchronous Dynamic Random Access Memory)や、SRAM(Static Random Access Memory)などの半導体メモリを用いることができる。
記憶部102の補助記憶部は、CPU101から受信する書込み命令に応じて不揮発性記憶媒体に情報を格納し、CPU101から受信する読込み命令に応じて不揮発性記憶媒体に格納した情報を読み出して出力する。例えば、HDD(Hard Disk Drive)などの磁気記録装置や、SSD(Solid State Disk)などの不揮発性半導体記憶装置や、CD−ROM(Compact Disc - Read Only Memory)やDVD−ROM(Digital Versatile Disk - Read Only Memory)などの光ディスク媒体に記録された信号を読み取る光ディスク装置を用いることができる。
表示部103は、CPU101からの制御命令に応じた情報を、液晶ディスプレイ装置などの表示装置に出力させる。なお、表示装置は、端末装置100の内部に有する内部通信線を用いて端末装置100と接続し端末装置100と一体として構成しても良いし、D−Sub(D-Subminiature)15pinケーブル等を用いて端末装置100と接続する構成としても良い。
操作部104は、利用者の操作を受付ける。操作部104は、利用者の操作に応じた信号を、内部通信線を介してCPU101へ出力する。例えば、操作部104として、入力ボタンや、表示装置と一体として構成したタッチパネルなどを用いることができる。
通信部105は、ネットワーク300を介してファイル格納装置200と信号を送受信する。例えば、ネットワークインタフェースカードを用いて構成される。
図2は、本実施例に係る端末装置100において実行されるプログラムの構成を示す。図2に示す本実施例に係るプログラムの構成は、ファイル格納部PG100と、登録操作検知部PG101と、識別情報生成部PG102と、登録要求実行部PG103と、バックアップ参照操作検知部PG104と、バックアップ参照要求実行部PG105と、バックアップ一覧情報取得部PG106と、バックアップ一覧情報表示部PG107と、ダウンロード要求実行部PG108と、ファイル操作検知部PG109と、重要度取得部PG110と、削除条件決定部PG111と、削除要求実行部PG112と、操作履歴情報T101と、保護領域管理情報T102を有する。
図2に示すファイル格納部PG100は、記憶部102にファイルを格納したり、記憶部102に格納されたファイルを取り出したりする構成要素として、CPU101を動作させる。
図2に示す登録操作検知部PG101は、端末装置100により提供されるファイルの利用環境におけるファイルの登録操作を検知する構成要素として、CPU101を動作させる。ここで、端末装置100により提供されるファイルの利用環境の一例として、端末装置100において実行されるオペレーティングシステムが有するファイルシステム機能が挙げられる。例えば、登録操作検知部PG101は、記憶部102に構成される保護領域T1033へのファイルの登録操作を検知する構成要素として、CPU101を動作させる。なお、端末装置100により提供されるファイルの利用環境は、端末装置100毎に区別しても良いし、端末装置100の利用者毎に区別しても良い。
図2に示す識別情報生成部PG102は、登録操作検知部PG101の工程により検知された登録操作の対象であるファイルに対してそのファイルの内容を識別する識別情報を付与する構成要素として、CPU101を動作させる。なお、識別情報生成部PG102は、任意のタイミングにおいて、記憶部102に格納されたファイルに対してそのファイルを識別する識別情報を付与する構成として、CPU101を動作させてもよい。なお、識別情報生成部PG102の工程により生成される識別情報に基づくファイルの内容の識別は、特定のファイルの内容が他のファイルの内容と区別することができればよく、特定のファイルの内容を具体的に把握できることは必ずしも必要ではない。
図2に示す登録要求実行部PG103は、登録操作検知部PG101の工程により検知された登録操作の対象であるファイルをファイル格納装置200へ登録する要求を示す登録要求信号T103を、ファイル格納装置200へ通信部105を用いて送信する構成要素として、CPU101を動作させる。
図2に示すバックアップ参照操作検知部PG104は、ファイル格納装置200に格納したバックアップの参照を要求する操作を検出する構成要素として、CPU101を動作させる。
図2に示すバックアップ参照要求実行部PG105は、バックアップ参照操作検知部PG104の工程によりバックアップ参照操作が検知された場合、ファイル格納装置200に格納されているバックアップの一覧を要求するリモート参照要求信号を、ファイル格納装置200へ通信部105を用いて送信する構成要素として、CPU101を動作させる。
図2に示すバックアップ一覧情報取得部PG106は、ファイル格納装置200に格納されているバックアップの一覧を示す一覧情報を、通信部105を用いて取得する構成要素として、CPU101を動作させる。
図2に示すバックアップ一覧情報表示部PG107は、一覧情報取得部PG106の工程により取得された一覧情報に基づいてダウンロードの対象とするファイルの選択を受け付ける画面を、表示部103を用いて表示装置に表示させる構成要素として、CPU101を動作させる。
図2に示すダウンロード要求実行部PG108は、一覧情報表示部PG107の工程により表示された画面においてダウンロードの対象として選択を受け付けたファイルのダウンロードを要求するダウンロード要求信号をファイル格納装置200へ通信部105を用いて送信し、ファイル格納装置200から送信されるファイルを通信部105を用いて取得する構成要素として、CPU101を動作させる。
図2に示すファイル操作検知部PG109は、端末装置100により提供されるファイルの利用環境におけるファイルの操作を検出する構成要素として、CPU101を動作させる。
図2に示す重要度取得部PG110は、ファイル操作検知部PG109の工程により検出されたファイルの操作内容がファイルの削除である場合、その検出されたファイルの利用環境に対応付けてその操作履歴格納部に格納された操作履歴に基づいて、その検出されたファイルの重要度を取得する構成要素として、CPU101を動作させる。
図2に示す削除条件決定部PG111は、重要度取得部PG110の工程により取得された重要度に基づいて、ファイル操作検知部PG109の工程により検出された操作の対象であるファイルの削除条件を決定する構成要素として、CPU101を動作させる。
図2に示す削除要求実行部PG112は、削除条件決定部PG109の工程により決定された削除条件に基づいてファイル格納装置200に格納されているバックアップの削除を要求する削除要求信号を、ファイル格納装置200へ通信部105を用いて送信する構成要素として、CPU101を動作させる。
図4は、操作履歴情報T101のデータ構造を示す。図4に示す操作履歴情報T101は、ファイルID(T1011)と、操作種別(T1012)と、操作日時(T1013)と、を有する。
図4に示すファイルID(T1011)は、識別情報生成部PG102の工程により生成されたファイル識別情報を示す。
図4に示す操作種別(T1012)は、ファイル操作検知部PG109の工程により検出されたファイルの操作内容を分類した種別を示す。操作種別の一例として、記憶部102へのファイルの登録操作を示す「登録」や、記憶部102に格納されているファイルの参照操作を示す「参照」や、記憶部102に格納されているファイルの削除操作を示す「削除」などが、挙げられる。
図4に示す操作日時(T1013)は、ファイル操作検知部PG109の工程によりファイルの操作を検出した日時を示す。なお、操作日時(T1013)は、秒単位としてもよいし、分単位としてもよいし、時単位としてもよいし、日単位としてもよいし、月単位としてもよいし、年単位としてもよいし、これらを任意に組み合わせて表現したものでもよい。
図5は、保護領域管理情報T102のデータ構造を示す。図5に示す保護領域管理情報T102は、格納先(T1021)と、ファイルID(T1022)を有する。
図5に示す格納先(T1021)は、記憶部102におけるファイルの格納位置を示す。格納先の一例として、端末装置100において実行されるオペレーティングシステムが有するファイルシステム機能においてファイルの格納位置を示す絶対パスや相対パスなどが挙げられる。
図5に示すファイルID(T1022)は、識別情報生成部PG102の工程により生成されたファイル識別情報であって、格納先(T1021)で示される格納位置に格納されているファイルのファイル識別情報を示す。
上述の本実施例に係るプログラムは、端末装置100の記憶部102に格納することができる。例えば、このプログラムは、HDD(Hard Disk Drive)などの磁気記録装置や、SSD(Solid State Disk)などの不揮発性半導体記憶装置に格納され、端末装置100のCPU101の動作状態に応じて記憶部102の主記憶部やCPU101のレジスタに読み込まれ、CPU101により実行される。また、本実施例に係るプログラムは、CD−ROM(Compact Disc - Read Only Memory)やDVD−ROM(Digital Versatile Disk - Read Only Memory)などの光ディスク媒体に記録することもできる。この場合、光ディスク装置を用いて光ディスク媒体から本実施例に係るプログラムを読み出すことにより、端末装置100において実行することができる。また、本実施例に係るプログラムは、インターネット等のネットワークを介して配信することができる。この場合、端末装置100の通信部105を用いて本実施例に係るプログラムを受信し、端末装置100のCPU101の動作状態に応じて記憶部102の主記憶部やCPU101のレジスタに読み込まれ、CPU101により実行される。なお、上述の点は、端末装置100に限り適用されるものではなく、本実施例に係るファイル格納装置200においても同様である。
〔3.ファイル格納装置の構成〕
次に、本実施例に係るファイル格納装置200の構成を説明する。図1に示すファイル格納装置200は、CPU(Central Processing Unit)201、記憶部202、通信部203を有する。
CPU201は、内部通信線を介してファイル格納装置200のハードウェア各部と接続されており、プログラムの手順に従って所定の処理を実行する。CPU201は、例えば、記憶部202から読み込んだ命令を一時的に格納する命令レジスタ(Instruction Register)、命令レジスタに格納されている機械語命令(2進数)を解読しその命令に応じてファイル格納装置200が有する各部を制御する命令解読回路(Instruction Decoder)、命令解読回路からの制御に従って加算・減算・数値の比較などの演算を行なう演算回路(Arithmetic Logic Unit)、演算対象のデータや演算の結果などを一時的に格納するアキュムレータ(Accumulator)、CPU201が読み書きする記憶部202が有する記憶領域の番地を格納する番地レジスタ(Address Register)、次に実行するべき命令が格納されている記憶部202が有する記憶領域の番地を示すプログラムカウンタ(Program Counter)などで構成される。
記憶部202は、主記憶部と補助記憶部を有する。記憶部202の主記憶部は、CPU201の実行により生じたデータや、補助記憶部から読み出したデータなどを、記憶する。例えば、SDRAM(Synchronous Dynamic Random Access Memory)や、SRAM(Static Random Access Memory)などの半導体メモリを用いることができる。
記憶部202の補助記憶部は、CPU201から受信する書込み命令に応じて不揮発性記憶媒体に情報を格納し、CPU201から受信する読込み命令に応じて不揮発性記憶媒体に格納した情報を読み出して出力する。例えば、HDD(Hard Disk Drive)などの磁気記録装置や、SSD(Solid State Disk)などの不揮発性半導体記憶装置を用いることができる。
通信部203は、ネットワーク300を介して端末装置100と信号を送受信する。例えば、ネットワークインタフェースカードを用いて構成される。
図3は、本実施例に係るファイル格納装置において実行されるプログラムの構成例を示す。図3に示すプログラムの構成例は、登録要求受信部PG201と、バックアップ格納部PG202と、バックアップ参照要求受信部PG203と、バックアップ送信部PG204と、削除要求受信部PG205と、条件監視部PG206と、削除可否判定部PG207と、削除実行部PG208と、ファイル管理情報T201と、端末装置管理情報T202を有する。
図3に示す登録要求受信部PG201は、登録要求実行部PG103の工程により送信された登録要求信号T103を通信部203を用いて受信し、受信した登録要求信号T103の内容に基づいて所定の処理を実行する構成要素として、CPU201を動作させる。
図3に示すバックアップ格納部PG202は、登録要求受信部PG201の工程により受信した登録要求信号T103により示されるファイルのバックアップを、その登録要求信号T103により示されるファイル識別情報に対応付けて格納する構成要素として、CPU201を動作させる。
図3に示すバックアップ参照要求受信部PG203は、バックアップ参照要求実行部PG105の工程により送信されたバックアップ参照要求信号T105を通信部203を用いて受信し、受信したバックアップ参照要求信号T105の内容に基づいて所定の処理を実行する構成要素として、CPU203を動作させる。
図3に示すバックアップ送信部PG204は、バックアップ参照要求受信部PG203の工程により受信したバックアップ参照要求信号T105に示されるバックアップファイルを、端末装置100へ通信部203を用いて送信する構成要素として、CPU201を動作させる。
図3に示す削除要求受信部PG205は、削除要求実行部PG112の工程により送信された削除要求信号T104を通信部203を用いて受信し、受信した削除要求信号T104の内容に基づいて所定の処理を実行する構成要素として、CPU201を動作させる。
図3に示す条件監視部PG206は、削除要求受信部PG205の工程により受信された削除要求信号T104に示される削除条件決定部PG109の工程により決定された削除条件の成就を判定する構成要素として、CPU201を動作させる。
図3に示す削除可否判定部PG207は、監視部PG206の工程により削除条件が成就すると判定された場合、その判定された削除条件に対応するファイルを利用する他の利用環境の存在の有無に基づいて、その判定された削除条件に対応するファイルの削除可否を判定する構成要素として、CPU201を動作させる。
図3に示す削除実行部PG208は、削除可否判定部PG207の工程により削除可と判定された場合、その削除条件に対応するファイルを、記憶部202から削除する構成要素として、CPU201を動作させる。
図10は、ファイル管理情報T201のデータ構造を示す。図10に示すファイル管理情報T201は、ファイルID(T2011)と、格納先(T2012)を有する。
図10に示すファイルID(T2011)は、記憶部202に格納するバックアップファイルの内容を識別する識別情報を示す。例えば、ファイルIDは、端末装置100において実行される識別情報生成部PG102の工程により生成されるファイル識別情報に対応する値となる。なお、ファイルの内容の識別は、特定のファイルの内容が他のファイルの内容と区別することができればよく、特定のファイルの内容を具体的に把握する必要はない。
図10に示す格納先(T2012)は、ファイルID(T2011)で識別されるファイルの記憶部202における格納位置を示す。格納先の一例として、ファイル格納装置200において実行されるオペレーティングシステムが有するファイルシステム機能においてファイルの格納位置を示す絶対パスや相対パスなどが挙げられる。
図11は、端末装置管理情報T202のデータ構造を示す。図11に示す端末装置管理情報T202は、環境ID(T2021)と、ファイルID(T2022)と、ファイル名(T2023)と、削除日時(T2024)と、を有する。
図11に示す環境ID(T2021)は、端末装置100により提供されるファイルの利用環境を識別する識別情報を示す。
図11に示すファイルID(T2022)は、記憶部202に格納するバックアップファイルを識別する識別情報を示す。
図11に示すファイル名(T2023)は、環境ID(T2021)により識別される利用環境において、ファイルID(T2022)により識別されるバックアップファイルが有するファイル名を示す。なお、ファイル名(T2023)は、端末装置100の保護領域管理情報T102の格納先(T1021)に示される格納位置のうち、ファイル名部分に対応する値を設定しても良いし、格納位置の全部に対応する値を設定しても良い。
図11に示す削除日時(T2024)は、削除要求受信部PG205の工程により受信される削除要求信号T104に示される、端末装置100の削除条件決定部PG111の工程により決定された削除条件が登録される。図11に示す例では、削除条件として削除日時(T2024)を登録する例を示している。
〔4.ファイル登録時の処理の流れ〕
図14は、ファイル登録時の処理の流れの例を示す。まず、端末装置100は、記憶部102に構成される保護領域T1033にファイルが格納されることを監視しており、保護領域T1033にファイルが格納された又は格納されることを検出した場合(S101)、記憶部102に格納された又は格納されるファイルの識別情報を生成する(S102)。
例えば、端末装置100のCPU101は、保護領域T1033に格納されているファイルの情報を適宜収集し、収集した情報に基づいて領域管理情報T102を更新する際に、新たに格納されたファイルを検出することができる。例えば、端末装置100のCPU101は、収集したファイル情報を、保護領域管理情報T102に既に登録されている内容と比較することにより、収集したファイル情報に示されるファイルのうち保護領域管理情報T102に実質的に未登録のファイル情報を特定することができる。ここで、保護領域管理情報T102に実質的に未登録とは、収集したファイル情報に示されるファイルの格納先に対応する値が保護領域管理情報T102の格納先T1021に登録されていない場合や、収集したファイル情報に示されるファイルの格納先の値に対応して保護領域管理情報T102のファイルID(T1022)が実質的に登録されていない場合などをいう。
また、端末装置100のCPU101は、記憶部102への書込み要求を示す信号を監視し、検出した書込み要求を示す信号が保護領域T1033に対するファイルの書込みを示すか否かを判定することにより、保護領域T1033にファイルが格納されることを検出することができる。端末装置100のCPU101は、保護領域T1033への書込み要求を示す信号を検出した場合、保護領域T1033に格納されているファイルの情報を収集する。さらに、CPU101は、収集したファイル情報を保護領域管理情報T102に既に登録されている格納先(T1021)と比較し、収集したファイル情報に示されるファイルのうち保護領域管理情報T102に未登録のファイル情報を特定することにより、新たに格納されたファイルを特定することができる。
端末装置100のCPU101は、保護領域T1033へのファイルの格納を検出した場合に、保護領域T1033を参照して新たに追加されたファイルを特定し、特定したファイルを識別する識別情報を生成する(S102)。ここで、ファイルは、ファイルの名前やデータ長などを示す管理情報と、ファイル本体のデータを示すデータブロックと、を有する。端末装置100のCPU101は、例えば、ファイルのデータブロック部分の内容に基づいて得られたハッシュ値を、識別情報として用いることができる。端末装置100のCPU101は、ハッシュ値を生成するアルゴリズムとして、例えば、SHA−256や、SHA−384や、SHA−512などのハッシュ関数を用いることができる。SHA−256のハッシュ関数を用いた場合、ハッシュ値は256ビット長となる。SHA−284のハッシュ関数を用いた場合、ハッシュ値は384ビット長となる。SHA−512のハッシュ関数を用いた場合、ハッシュ値は512ビット長となる。
端末装置100のCPU101は、工程S101で検出したファイルの格納位置(ファイル名を含む)と、工程S102で生成した識別情報と、を用いて、保護領域管理情報T102を更新する。すなわち、CPU101は、工程S101で検出したファイルの格納位置を用いて、保護領域管理情報T102の格納先(T1021)に値を登録する。また、CPU101は、工程S102で生成したハッシュ値を用いて、保護領域管理情報T102のファイルID(T1022)を登録する。
図5は、保護領域管理情報T102の内容例を示す。図5に示す保護領域情報T102の内容例は、格納先(T1021)として「/AAA/A.txt」、ファイルID(T1022)として[ファイルA]が登録されている例を示している。ここで、図5に示す「/AAA/A.txt」は、ディレクトリ部分である「/AAA/」と、ファイル名部分である「A.txt」とを有する。ここで、図5に示す[ファイルA]は、格納先「/AAA/A.txt」で特定されるファイルのデータブロックから生成されたハッシュ値を示しており、SHA−256のハッシュ関数を用いた場合は256ビット長のハッシュ値となる。
次に、端末装置100のCPU101は、新たに登録されたファイルについて登録を要求する登録要求信号を、ファイル格納装置200へ通信部105を用いて送信する(S104)。
図6は、登録要求信号のデータ構造の例を示す。図6に示す登録要求信号は、環境ID(T1031)と、ファイルID(T1032)と、ファイル名(T1033)と、データブロック(T1034)と、を有する。
図6に示す環境ID(T1031)は、ファイル格納装置200における環境管理情報を識別する識別情報である。例えば、環境ID(T1031)として、端末装置100を識別する情報や、端末装置100を利用する利用者を識別する情報などを用いることができる。端末装置100を識別する情報として、端末装置100の製造番号や、端末装置100に設定されているIPアドレスや、端末装置100の通信部105に予め設定されているMACアドレスなどを用いることができる。端末装置100を利用する利用者を識別する情報として、端末装置100の操作を開始する際に入力を要求されるログインIDや、端末装置100に予め設定されている所有者情報などを用いることができる。なお、環境管理情報を識別するとは、特定の環境管理情報が他の環境管理情報と区別することができればよく、特定の環境管理情報に付与された環境IDのデータ列を、必ずしも具体的に把握する必要はない。例えば、端末装置100を識別する情報や、端末装置100を利用する利用者を識別する情報を暗号化処理の暗号鍵及び復号処理の復号鍵として端末装置100とファイル格納装置200との間で共有しておき、端末装置100とファイル格納装置200との間で共有した所定のデータ列を端末装置100において暗号化した暗号データを環境IDとすることもできる。この場合、ファイル格納装置200は、端末装置100において暗号化した暗号データを、端末装置100とファイル格納装置200との間で共有した所定のデータ列を復号させることができる暗号鍵として予め登録している端末装置100を識別する情報や、端末装置100を利用する利用者を識別する情報を特定することにより、環境管理情報を識別することができる。なお、上述の点は、環境ID(T1031)に限り適用されるものではなく、他の識別情報についても同様である。
図6に示すファイルID(T1032)は、工程S102で生成した識別情報であり、例えば、SHA−256のハッシュ関数を用いて生成した場合は256ビット長のハッシュ値となる。
図6に示すファイル名(T1033)は、工程S101で検出したファイルのファイル名を示す。例えば、図5に示す格納先(T1021)のうち「A.txt」が検出されたファイル名となる。
図6に示すデータブロック(T1034)は、工程S101で検出したファイルの本体部分であるデータブロックを示す。図5に示す例では、格納先(T1021)「/AAA/A.txt」で特定されるファイルは、拡張子が「.txt」であり、テキストファイルであることを示している。この場合は、テキストファイルのデータブロックに格納されているテキストデータが、図6に示すデータブロック(T1034)に格納される。なお、工程S104において、図6に示す登録要求信号の各項目を、一括して送信しても良いし、複数回の送信信号に分割して送信しても良い。なお、複数回の送信信号に分割して送信する場合は、図6に示す登録要求信号の項目を重複して送信しても良い。例えば、一回目の送信処理では、環境ID(T1031)とファイルID(T1032)とファイル名(T1033)とを送信し、2回目の送信処理では、ファイルID(T1032)とデータブロック(T1034)を送信してもよい。なお、上述の点は、登録要求信号T103の送受信処理に限り適用されるものではなく、他の要求信号の送受信処理についても同様である。
次に、ファイル格納装置200のCPU201は、端末装置100から送信された登録要求信号を、通信部203を用いて受信する(S201)。
CPU201は、工程S201で受信した登録要求信号T103のファイルID(T1032)を用いて、ファイルID(1032)に該当するファイルID(T2011)を有するファイル管理情報T201が登録されているか否かを判定する(S202)。工程S202において、CPU201は、ファイルID(1032)に該当するファイルID(T2011)を有するファイル管理情報T201が存在しない場合に未登録であると判定し(S202でYES)、工程S203以降を実行する。一方、工程S202において、CPU201は、ファイルID(1032)に該当するファイルID(T2011)を有するファイル管理情報T201が存在する場合に既登録であると判定し(S202でNO)、工程S205を実行する。なお、上述の工程S102で生成する識別情報は、異なる環境間において生成される識別情報であっても、識別情報を生成する際に用いるハッシュ関数が同じであるため、ファイルのデータブロック部分の内容が同じである場合は得られるハッシュ値も同じ値となる。
工程S203において、CPU201は、工程S201で受信した登録要求信号T103のデータブロック(T1034)に示される内容を有するファイルを、記憶部202に格納する(S203)。
CPU201は、工程S201で受信した登録要求信号に基づいて、ファイル管理情報T201及び環境管理情報T202を更新する(S204,S205)。
工程S204において、CPU201は、工程S201で受信した登録要求信号T103のファイルID(T1032)を用いて、ファイル管理情報T201のファイルID(T2011)を登録する。
工程S205において、CPU201は、工程S203で格納したファイルの格納位置(ファイル名を含む)を用いて、ファイル管理情報T201の格納先(T2012)を登録する。
図10に示すファイル管理情報T201の内容例は、ファイルID(T2011)の[ファイルA]で特定されるファイルが、格納先(T2012)に示す「/data/1111」に格納されていることを示す。
工程S204において、CPU201は、工程S201で受信した登録要求信号T103の環境ID(T1031)を用いて、環境管理情報T202の環境ID(T2021)を登録する。
工程S204において、CPU201は、工程S201で受信した登録要求信号T103のファイルID(T1032)を用いて、環境管理情報T202のファイルID(T2022)を登録する。
工程S204において、CPU201は、工程S201で受信した登録要求信号T103のファイル名(T1033)を用いて、環境管理情報T202のファイル名(T2023)を登録する。
なお、工程S204の時点では、環境管理情報T202の削除日時(T2024)は登録しない。
図11に示す環境管理情報T202の内容例は、環境ID(T2021)として[環境1]を、ファイルID(T2022)として[ファイルA]を、ファイル名(T2023)として「A.txt」を、削除日時(T2024)として「−」を有する環境管理情報T202を示している。ここで、[環境1]は、所定桁数のデータ列を示し、端末装置100を識別する情報や、端末装置100を利用する利用者を識別する情報などを用いることができる。ここで、[ファイルA]は、図5と同様に、所定長のハッシュ値を示す。ここで、削除日時(T2024)として示す「−」は、削除日時(T2024)が実質的に設定されていないことを示す。
〔5.ファイル操作時の処理の流れ〕
図16は、ファイル操作時の処理の流れの例を示す。まず、端末装置100のCPU101は、記憶部102に構成される保護領域T1033に格納されているファイルに対する操作を監視しており、保護領域T1033に格納されているファイルに対する参照要求や削除要求などの操作を検出する(S301)。
CPU101は、工程S301で保護領域T1033に格納されているファイルに対する操作を検出した場合、検出した操作の操作種別を特定する(S302)。
CPU101は、操作履歴情報T101の更新処理を実行する(S303)。工程S303において、CPU101は、工程S301で検出した操作対象のファイルを特定し、特定したファイルを識別する情報を用いて、操作履歴情報T101のファイルID(T1011)を登録する。ここで、特定したファイルを識別する情報は、上述のS102と同様の手順を用いて、特定したファイルのデータブロックから所定桁数のハッシュ値を生成することにより取得することができる。また、特定したファイルの格納位置(ファイル名を含む)に該当する格納先(T1021)に対応するファイルID(T1022)を、保護領域管理情報T102から取得しても良い。
工程S303において、CPU101は、工程S302で特定した操作種別を用いて、操作履歴情報T101の操作種別(T1012)を登録する。工程S303において、CPU101は、端末装置100が備えるシステムクロックが示す現在の日時情報を用いて、操作履歴情報T101の操作日時(T1022)を登録する。
図4に示す操作履歴情報T101の内容例は、ファイルID(T1011)として[ファイルA]を、操作種別(T1012)として「登録」を、操作日時(T1013)として「2009/02/02,15:00」を有する。この例では、ファイルID(T1011)に示される[ファイルA]で特定されるファイルが、「2009/02/02,15:00」に保護領域T1033に登録されたことを示す。
図4に示す操作履歴情報T101の内容例は、ファイルID(T1011)として[ファイルA]を、操作種別(T1012)として「参照」を、操作日時(T1013)として「2009/02/02,15:10」を有する。この例では、ファイルID(T1011)に示される[ファイルA]で特定されるファイルが、「2009/02/02,15:10」に、保護領域T1033に格納されており、ファイルを開く等の操作により参照されたことを示す。
図4に示す操作履歴情報T101の内容例は、ファイルID(T1011)として[ファイルA]を、操作種別(T1012)として「参照」を、操作日時(T1013)として「2009/02/09,10:00」を有する。この例では、ファイルID(T1011)に示される[ファイルA]で特定されるファイルが、「2009/02/09,10:00」に、保護領域T1033に格納されており、ファイルを開く等の操作により参照されたことを示す。
図4に示す操作履歴情報T101の内容例は、ファイルID(T1011)として[ファイルA]を、操作種別(T1012)として「削除」を、操作日時(T1013)として「2009/02/09,10:10」を有する。この例では、ファイルID(T1011)に示される[ファイルA]で特定されるファイルが、「2009/02/09,10:10」に、保護領域T1033から削除されたことを示す。
CPU101は、工程S302で特定した操作種別が、ファイルの削除を示すか否かを判定し(S304)、操作種別が削除を示すと判定した場合(S304でYES)、工程S305以降の処理を実行する。一方、CPU101は、操作種別が削除以外を示すと判定した場合(S304でNO)、工程S305以降の処理を実行しない。ここで、操作種別が削除を示すとは、ファイルを保護領域T1033から削除する操作を示す操作種別を意味する。例えば、保護領域T1033に格納されているファイルを指定して削除処理の実行を指示する削除コマンドを投入する操作や、保護領域T1033に格納されているファイルを他の領域(例えば一般領域T1034)に移動させる操作が、操作種別が削除を示す操作となる。
工程S305において、CPU101は、工程S301で検出した操作対象のファイルを特定し、その特定したファイルに関する操作履歴情報T101に基づいて、その特定したファイルの重要度を判定する(S305)。
具体的には、CPU101は、まず、工程S301で検出した操作対象のファイルを特定し、その特定したファイルを識別する情報に該当するファイルID(T1011)を有する操作履歴情報T101を取得する。
CPU101は、取得した操作履歴情報T101のうち、操作種別(T1012)が「登録」を示す操作履歴情報T101の操作日時(T1013)を起算点として、その特定したファイルが存続していた時間を示すファイル存続時間を算出する。なお、ファイル存続時間の算出処理において、ファイル存続の終期を、端末装置100が有するシステムクロックが示す算出時点での現在の日時としてもよいし、操作種別(T1012)として「削除」を示す操作履歴情報の操作日時(T1013)に示される日時としてもよい。なお、ファイル存続時間は、秒単位としてもよいし、分単位としてもよいし、時単位としてもよいし、日単位としてもよいし、月単位としてもよいし、年単位としてもよいし、これらを任意に組み合わせて表現したものでもよい。
CPU101は、取得した操作履歴情報T101のうち、操作種別(T1012)が「参照」を示す操作履歴情報T101の操作日時(T1013)であって最新の操作日時(T1013)を起算点として、その特定したファイルが最後に参照された時点からの経過時間を示す最終アクセス経過時間を算出する。なお、最終アクセス経過時間の算出処理において、最終アクセス経過時間の終期を、端末装置100が有するシステムクロックが示す算出時点での現在の日時としてもよいし、操作種別(T1012)として「削除」を示す操作履歴情報の操作日時(T1013)に示される日時としてもよい。なお、最終アクセス経過時間は、秒単位としてもよいし、分単位としてもよいし、時単位としてもよいし、日単位としてもよいし、月単位としてもよいし、年単位としてもよいし、これらを任意に組み合わせて表現したものでもよい。
CPU101は、例えば、下記式を演算することにより、その特定されたファイルの重要度Aを算出する。ただし、下記式は、本実施例における一例であり、必ずしもこれに限定する趣旨ではない。
上記式において、ファイル存続期間が大きい値となるほど、重要度Aは大きな値を示す。すなわち、ファイル存続期間が大きい値となるほど、ファイルの重要性が高いと判断される。一方、ファイル存続期間が小さい値となるほど、ファイルの重要性は低いと判断される。この判断基準は、保護領域T1033に格納されていた時間が長いほど、そのファイルの重要性が高いという傾向を示す場合に有効である。なお、本実施例は、上記判断基準に必ずしも限定する趣旨ではない。
また、上記式において、最終アクセス経過時間が小さい値となるほど、重要度Aは大きな値を示す。すなわち、最終アクセス経過時間が小さい値となるほど、ファイルの重要性が高いと判断される。一方、アクセス経過時間が大きい値となるほど、ファイルの重要性が低いと判断される。この判断基準は、保護領域T1033に格納された状態おいて最後に操作された時点からの経過時間が短いほど、そのファイルの重要性が高いという傾向を示す場合に有効である。なお、本実施例は、上記判断基準に必ずしも限定する趣旨ではない。
なお、上述のように、ファイル存続時間を用いた判断基準と最終アクセス経過時間を用いた判断基準とを総合して判断することにより、ファイル存続時間と最終アクセス経過時間との相対的な関係に基づいて、重要度Aを決定することができる。すなわち、上記式において、ファイル存続時間が最終アクセス経過時間に対して大きな値となるほど、重要度Aは大きな値を示し、そのファイルの重要性は高いと判断される。一方、ファイル存続時間が最終アクセス経過時間に対して小さい値となるほど、重要度Aは小さな値を示し、そのファイルの重要性は低いと判断される。
ファイル存続時間と最終アクセス経過時間との相対的な関係に基づいて重要度を判断することにより、保護領域T1033に格納されている時間が長いファイルであっても、参照されていない期間が長い場合には、そのファイルの重要性は低いと判断することができる。また、保護領域T1033に格納されている時間が短いファイルであっても、頻繁に参照されている場合には、そのファイルの重要性は高いと判断することができる。
ただし、本実施例において、CPU101は、ファイル存続時間及び最終アクセス経過時間のいずれか一方に基づいて、重要度Aを算出してもよい。
次に、CPU101は、工程S305で判定した重要度Aに基づいて、ファイル格納装置200に登録しているファイルを消去する日時を示す消去日時を決定する(S306)。なお、消去日時は、秒単位としてもよいし、分単位としてもよいし、時単位としてもよいし、日単位としてもよいし、月単位としてもよいし、年単位としてもよいし、これらを任意に組み合わせて表現したものでもよい。
CPU101は、例えば、下記式を演算することにより、消去日時を決定する。ただし、下記式は、本実施例における一例であり、必ずしもこれに限定する趣旨ではない。
(T)
上記式において、単位時間は、運用に応じて適宜設定可能な値である。上記式において、単位時間の設定単位は必ずしも限定する趣旨ではなく、秒単位で設定しても良いし、時間単位で設定しても良いし、日単位で設定しても良いし、これらを任意に組み合わせて表現したものでもよい。
上記式において、現在日時は、端末装置100が有するシステムクロックが示す演算時点での現在の日時を示す値である。なお、CPU101は、上述の単位時間と重要度とを乗算した値に現在日時を加算する際に、単位換算を実行した上で加算する。なお、上記式において、ファイル格納装置200に格納させたファイルを取り出すことができることを保障する最低限の期間を示す保障期間を、現在日時に加算しても良い。
次に、CPU101は、工程S304において操作種別が削除を示すと判定された操作の対象とされたファイルを特定し、その特定されたファイルの削除を要求する削除要求信号T104を、通信部105を用いてファイル格納装置200へ送信する(S307)。
図7は、削除要求信号T104のデータ構造の例を示す。図7に示す削除要求信号T104は、環境ID(T1041)と、ファイルID(T1042)と、削除日時(T1043)と、を有する。
図7に示す環境ID(T1041)は、図6に示す登録要求信号T103の環境ID(T1031)と同様に、ファイル格納装置200における環境管理情報を識別する識別情報である。例えば、環境ID(T1031)として、端末装置100を識別する情報や、端末装置100を利用する利用者を識別する情報などを用いることができる。端末装置100を識別する情報として、端末装置100の製造番号や、端末装置100に設定されているIPアドレスや、端末装置100の通信部105に予め設定されているMACアドレスなどを用いることができる。端末装置100を利用する利用者を識別する情報として、端末装置100の操作を開始する際に入力を要求されるログインIDや、端末装置100に予め設定されている所有者情報などを用いることができる。なお、環境管理情報を識別するとは、特定の環境管理情報が他の環境管理情報と区別することができればよく、特定の環境管理情報に付与された環境IDのデータ列を、必ずしも具体的に把握する必要はない。例えば、端末装置100を識別する情報や、端末装置100を利用する利用者を識別する情報を暗号化処理の暗号鍵及び復号処理の復号鍵として端末装置100とファイル格納装置200との間で共有しておき、端末装置100とファイル格納装置200との間で共有した所定のデータ列を端末装置100において暗号化した暗号データを環境IDとすることもできる。この場合、ファイル格納装置200は、端末装置100において暗号化した暗号データを、端末装置100とファイル格納装置200との間で共有した所定のデータ列を復号させることができる暗号鍵として予め登録している端末装置100を識別する情報や、端末装置100を利用する利用者を識別する情報を特定することにより、環境管理情報を識別することができる。なお、上述の点は、環境ID(T1031)に限り適用されるものではなく、他の識別情報についても同様である。
図7に示すファイルID(T1042)は、削除要求の対象とするファイルを識別する識別情報であり、例えば、SHA−256のハッシュ関数を用いて生成した場合は256ビット長のハッシュ値となる。CPU101は、削除要求の対象とするファイルの格納先に基づいて、保護領域管理情報T102を参照することにより、ファイルID(T1022)を取得することができる。また、CPU101は、工程S102と同様に、削除要求の対象とするファイルのデータブロックからSHA−256などのハッシュ関数を用いて得たハッシュ値を、ファイルID(T1022)とすることができる。
図7に示す削除日時(T1043)は、工程S306で取得した削除日時を示す。なお、削除日時(T1043)は、秒単位としてもよいし、分単位としてもよいし、時単位としてもよいし、日単位としてもよいし、月単位としてもよいし、年単位としてもよいし、これらを任意に組み合わせて表現したものでもよい。
次に、ファイル格納装置200のCPU201は、端末装置100から送信された削除要求信号T104を、通信部203を用いて受信する(S401)。
CPU201は、工程S401で受信した削除要求信号T104に基づいて、環境管理情報T202を更新する(S402)。
工程S402において、CPU201は、工程S401で受信した削除要求信号T104の環境ID(T1041)に該当する環境ID(T2021)と、工程S401で受信した削除要求信号T104のファイルID(T1042)に該当するファイルID(T2022)とを有する環境管理情報T202を特定する。
工程S402において、CPU201は、工程S401で受信した削除要求信号T104の削除日時(T1043)を用いて、その特定した環境管理情報T202の削除日時(T2024)を更新する。
図11に示す環境管理情報T202の内容例は、環境ID(T2021)として[環境2]を、ファイルID(T2022)として[ファイルA]を、ファイル名(T2023)として「A123.txt」を、削除日時(T2024)として「2009/3/1,15:00」を有する。この例では、ファイルID(T2022)に示される[ファイルA]で特定されるファイルが、環境ID(T2021)に示される[環境2]に該当する環境IDを有する要求信号(T103,T104,T105,T106)を送信する端末装置100において、ファイル名(T2023)に示す「A123.txt」を有することを示している。この例では、環境ID(T2021)に示される[環境2]に該当する環境IDを有する要求信号(T103,T104,T105,T106)を送信する端末装置100において、ファイルID(T2022)に示される[ファイルA]で特定されるファイルに対して、削除日時を「2009/3/1,15:00」に決定されたことを示している。
〔6.参照要求操作時の処理の流れ〕
図17は、参照要求操作時の処理の流れの例を示す。まず、端末装置100のCPU101は、ファイル格納装置200に登録したファイルの参照を要求する参照要求操作が行なわれたことを、操作部104から内部通信線を介して取得した信号に基づいて検出する(S501)。
CPU101は、工程S501で参照要求操作が行なわれたことを検出した場合、参照要求信号T105を、ファイル格納装置200へ通信部105を用いて送信する(S502)。
図8は、参照要求信号T105のデータ構造の例を示す。図8に示す参照要求信号T105は、環境ID(T1051)を有する。図8に示す環境ID(T1051)は、図6に示す登録要求信号T103の環境ID(T1031)と同様に、ファイル格納装置200における環境管理情報を識別する識別情報である。例えば、環境ID(T1031)として、端末装置100を識別する情報や、端末装置100を利用する利用者を識別する情報などを用いることができる。
次に、ファイル格納装置200のCPU201は、端末装置100から送信された参照要求信号T105を、通信部203を用いて受信する(S601)。
CPU201は、工程S601で受信した参照要求信号T105の環境ID(T1051)に該当する環境ID(T2021)を有する環境管理情報T202を特定し、特定した環境管理情報T202に基づいてファイルの一覧を示すバックアップ一覧情報T203を生成する(S602)。
工程S602において、CPU201は、工程S601で受信した参照要求信号T105の環境ID(T1051)を用いて特定される環境管理情報T202のファイルID(T2022)を用いて、バックアップ一覧情報T203のファイルID(T2031)を設定する。
工程S602において、CPU201は、工程S601で受信した参照要求信号T105の環境ID(T1051)を用いて特定される環境管理情報T202のファイル名(T2023)を用いて、バックアップ一覧情報T203のファイル名(T2032)を設定する。
工程S602において、CPU201は、工程S601で受信した参照要求信号T105の環境ID(T1051)を用いて特定される環境管理情報T202が複数ある場合は、特定された数に応じた分のファイルID(T2031)及びファイル名(T2032)を有するバックアップ一覧情報を生成する。
CPU201は、工程S602で生成したバックアップ一覧情報T203を、端末装置100へ通信部203を用いて送信する(S603)。なお、工程S603において、図12に示すバックアップ一覧情報の各項目を、一括して送信しても良いし、複数回の送信信号に分割して送信しても良い。
次に、端末装置100のCPU101は、ファイル格納装置200から送信されたバックアップ一覧情報T203を、通信部105を用いて受信する(S503)。
CPU101は、工程S503で受信したバックアップ一覧情報T203に示されるファイルの一覧を、表示部103を用いて表示装置に表示させる(S504)。図19は、工程S504で表示されるファイル一覧画面の内容例を示す。図19に示すファイル一覧画面の内容例は、ダウンロード対象とするファイルの選択操作を受け付ける選択欄D101と、ファイル名を表示するファイル名表示欄D102と、選択したファイルのダウンロードの実行を指示する操作を受け付けるダウンロード実行ボタンD103とを有する。
CPU101は、選択欄D101においてダウンロード対象とするファイルの選択操作を受け付けた旨を示す信号を、操作部104から内部通信線を介して取得することにより、ファイルの選択を検出する(S505)。
CPU101は、ダウンロード実行ボタンD103が押下されたことを示す信号を、操作部104から内部通信線を介して取得することにより、ダウンロードの実行を指示されたことを検出する(S505)。
CPU101は、ダウンロードの実行を指示されたことを検出した場合、工程S505において検出した選択対象のファイルのダウンロードを要求するダウンロード要求信号T106を、ファイル格納装置200へ通信部105を用いて送信する(S506)。
図9は、ダウンロード要求信号T106のデータ構造の例を示す。図9に示すダウンロード要求信号T106は、環境ID(T1061)と、ファイルID(T1062)とを有する。
図9に示す環境ID(T1061)は、図6に示す登録要求信号T103の環境ID(T1031)と同様に、ファイル格納装置200における環境管理情報を識別する識別情報である。例えば、環境ID(T1031)として、端末装置100を識別する情報や、端末装置100を利用する利用者を識別する情報などを用いることができる。
図9に示すファイルID(T1062)は、工程S505において検出した選択対象のファイルに対応するファイルIDを示す。CPU101は、工程S505において検出した選択対象のファイルのファイル名に対応するファイルIDを、工程S503において受信したバックアップ一覧情報T203のファイルID(T2031)を参照することにより取得することができる。
次に、ファイル格納装置200のCPU201は、端末装置100から送信されたダウンロード要求信号T106を、通信部203を用いて受信する(S604)。
CPU201は、工程S604においてダウンロード要求信号T106を受信した場合、受信したダウンロード要求信号T106に基づいて特定されるファイルに関する情報を示すダウンロードファイル情報を、端末装置100へ通信部203を用いて送信する(S605)。
図13は、ダウンロードファイル情報T204のデータ構造の例を示す。図13に示すダウンロードファイル情報T204は、ファイルID(T2041)と、ファイル名(T2042)と、データブロック(T2043)を有する。
工程S605において、CPU201は、工程S604で受信したダウンロード要求信号T106のファイルID(T1062)を用いて、ダウンロードファイル情報T204のファイルID(T2041)を設定する。
工程S605において、CPU201は、工程S604で受信したダウンロード要求信号T106の環境ID(T1061)に該当する環境ID(T2021)と、工程S604で受信したダウンロード要求信号T106のファイルID(T1062)に該当するファイルID(T2022)とを有する環境管理情報T202を特定する。
工程S605において、CPU201は、その特定した環境管理情報T202のファイル名(T2023)を用いて、ダウンロードファイル情報T204のファイル名(T2042)を設定する。
工程S605において、CPU201は、工程S604で受信したダウンロード要求信号T106のファイルID(T1062)に該当するファイルID(T2011)を有するファイル管理情報T201を特定する。
工程S605において、CPU201は、その特定したファイル管理情報T201の格納先(T2012)に示される格納先のファイルのデータブロックを用いて、ダウンロードファイル情報T204のデータブロック(T2043)を設定する。
次に、端末装置100のCPU101は、ファイル格納装置200から送信されたダウンロードファイル情報T204を、通信部105を用いて受信する(S507)。
工程S507において、CPU101は、受信したダウンロードファイル情報T204のファイル名(T2041)に示されるファイル名を有し、受信したダウンロードファイル情報T204のデータブロック(T2043)に示されるデータブロックを有するファイルを、記憶部102に格納する。
以上の工程により、端末装置100は、記憶部102に構成された保護領域T1033からファイルを削除した場合であっても、ファイル格納装置200の記憶部202に格納されているファイルをダウンロードすることにより、保護領域T1033から削除したファイルを復元することができる。
〔7.ファイル格納装置において実行される条件監視処理の流れ〕
次に、ファイル格納装置200において実行される条件監視処理の流れを説明する。図18は、ファイル装置200において実行される条件監視処理の流れの例を示す。
まず、ファイル格納装置200のCPU201は、ファイル格納装置200が有するシステムクロックが示す現在の日時を示すシステム日時を参照し(S701)、環境管理情報T202の削除日時(T2024)と工程S701で参照したシステム日時とを比較する(S702)。
工程S702において、CPU201は、工程S701で参照したシステム日時よりも過去の時点を示す削除日時(T2024)を有する環境管理情報T202を特定する。
CPU201は、その特定した環境管理情報T202が1件以上存在する場合、削除日時が到来した環境管理情報T202が存在すると判定し(S703でYES)、工程S704以降の処理を実行する。一方、CPU201は、工程S702において特定された環境管理情報T202が0件であった場合、すなわち、1件の環境管理情報T202も特定できなかった場合、削除日時が到来した環境管理情報T202が存在しないと判定し(S703でNO)、工程S704以降の処理を実行しない。
工程S704において、CPU201は、工程S702で特定した環境管理情報T202のファイルID(T2022)と同じファイルID(T2022)を有する他の環境管理情報T202を検索する(S704)。すなわち、CPU201は、工程S704において、工程S702で特定した環境管理情報T202のファイルID(T2022)と同じファイルID(T2022)を有する環境管理情報T202であって、削除日時が到来していない環境管理情報T202を特定する。
CPU201は、工程S704における検索により特定した環境管理情報T202が0件である場合(S705でYES)、工程S706及び工程S707及び工程S708を実行する。一方、CPU201は、工程S704における検索により特定した環境管理情報T202が0件でない場合(S705でNO)、工程S706及び工程S707を実行せずに、工程S708を実行する。
工程S706において、CPU201は、工程S702で特定した環境管理情報T202のファイルID(T2022)に該当するファイルID(T2011)を有するファイル管理情報T201を特定する。
工程S706において、CPU201は、工程S706で特定したファイル管理情報T201の格納先(T2012)に示される格納先のファイルを削除する。
工程S707において、CPU201は、工程S706で特定したファイル管理情報T201を削除する。
工程S708において、CPU201は、工程S702で特定した環境管理情報T202を削除する。
以上の工程により、ファイルID(T2022)に同じ値が設定された環境管理情報T202が複数件存在する場合であっても、それぞれの環境管理情報T202の削除日時(T2024)に設定された値に応じて、各環境管理情報T202に固有の削除日時が到来したか否かが判定される。そして、削除日時が到来したと判定された環境管理情報T202を適宜削除することにより、削除日時が到来していない環境管理情報T202を管理することができる。
ファイルID(T2022)に同じ値が設定された環境管理情報T202が複数件存在する場合とは、異なる環境間で同じ値のファイルIDに対応付けられたファイルを共有することを意味する。すなわち、工程S702で特定した環境管理情報T202のファイルID(T2022)と同じファイルID(T2022)を有する環境管理情報T202であって、削除日時が到来していない環境管理情報T202が存在する場合とは、ファイルID(T2022)に対応付けられたファイルを利用し続けている環境が存在することを意味する。よって、工程S705において検索結果が0件でない場合(S705でNO)に工程S706及び工程S707を実行しないことにより、その削除日時が到来していない環境管理情報T202を利用する環境に対して、ファイルを提供し続けることが可能となる。したがって、ファイル格納装置100において、ファイル内容が同じファイルを環境間で共有化することにより、ファイル格納装置200の記憶容量を有効に活用することができる。
〔1.実施例2に係るプログラムの構成について〕
図20は、実施例2に係る端末装置100において実行されるプログラムの構成例を示す。図20に示すプログラムの構成例は、上述の実施例1において図2に示すプログラムの構成例と同様の構成に対して、同一の参照符号を付している。図20に示すプログラムの構成例は、例えば、更新要求実行部PG113を有する点で、図2に示すプログラムの構成と相違する。そこで、説明の簡略化のため、同じ内容となる構成については部分的に説明を省略する。
図20に示す更新要求実行部PG113は、ファイル操作検知部PG109の工程により検出された操作内容がファイル内容の変更を示す場合、検出した変更に関する情報をファイル格納装置200へ通信部105を用いて送信するなどの所定の処理を実行する構成要素として、CPU101を動作させる。
図21は、実施例2に係るファイル格納装置200において実行されるプログラムの構成例を示す。図21に示すプログラムの構成例は、上述の実施例1において図3に示すプログラムの構成例と同様の構成に対して、同一の参照符号を付している。図21に示すプログラムの構成例は、例えば、更新要求受信部PG211を有する点で、図3に示すプログラムの構成と相違する。そこで、説明の簡略化のため、同じ内容となる構成については部分的に説明を省略する。
図21に示す更新要求受信部PG211は、更新要求実行部PG113の工程により送信された変更に関する情報を受信し、受信した内容に基づいて所定の処理を実行する構成要素として、CPU201を動作させる。
〔2.実施例2に係るファイル操作時の処理の流れについて〕
図24及び図25は、実施例2に係るファイル操作時の処理の流れの例を示す。図24及び図25に示すファイル操作時の処理の流れは、上述の実施例1において図16に示す処理の流れの例と同様の構成に対して、同一の参照符号を付している。図24及び図25に示すファイル操作時の処理の流れの例は、例えば、工程S309乃至工程S311、工程S403乃至工程S406を有する点で、図16に示す実施例1に係るファイル操作時の処理の流れの例と相違する。なお、図24及び図25に示す実施例2に係るファイル操作時の処理の流れの例の前半部分は、図16に示す実施例1に係るファイル操作時の処理の流れの例と同様の処理手順であるため説明を部分的に省略する。
まず、端末装置100のCPU101は、記憶部102に構成される保護領域T1033に格納されているファイルに対する操作を監視しており、保護領域T1033に格納されているファイルに対する操作を検出する(S301)。
CPU101は、工程S301で保護領域T1033に格納されているファイルに対する操作を検出した場合、検出した操作の操作種別を特定し(S302)、操作履歴情報T101の更新処理を実行する(S303)。
CPU101は、工程S302で特定した操作種別がファイルの削除を示すか否かを判定し(S304)、操作種別が削除以外を示すと判定した場合(S304でNO)、工程S302で特定した操作種別がファイルの変更を示すか否かを判定する(S308)。
CPU101は、工程S302で特定した操作種別がファイルの変更を示すと判定した場合(S308でYES)、工程S309以降の処理を実行する。一方、CPU101は、操作種別がファイルの変更以外を示すと判定した場合(S308でNO)、工程S309以降の処理を実行しない。
工程S309において、CPU101は、工程S301で検出した操作対象のファイルを特定し、その特定したファイルの識別情報を、上述の工程S102と同様の手順を用いて、生成する(S309)。
端末装置100のCPU101は、工程S301で検出した操作対象のファイルの格納位置(ファイル名を含む)に該当する格納先(T1021)に対応するファイルID(T1022)を、保護領域管理情報T102から取得し、その取得したファイルIDを関連IDとして扱う(S310)。
CPU101は、工程S310で取得した関連IDを用いて、工程S301で検出した操作対象のファイルの格納位置(ファイル名を含む)に該当する格納先(T1021)に対応するファイルID(T1022)を更新する(S311)。
CPU101は、操作履歴情報T101を更新する(S312)。CPU101は、工程S303において、工程S301で検出したファイルのデータブロックから所定桁数のハッシュ値を生成することにより取得した識別情報を用いて操作履歴情報T101を更新した場合、変更後のファイルについての操作履歴情報を更新したことになる。そのため、工程S312において、CPU101は、工程S310で取得した関連IDを用いて操作履歴情報を登録することにより、変更前のファイルに関する操作履歴情報を更新する。この場合、CPU101は、工程S312を省略しても良い。
一方、CPU101は、工程S303において、工程S301で検出したファイルの格納位置(ファイル名を含む)に該当する格納先(T1021)に対応するファイルID(T1022)を用いて、操作履歴情報T101を更新した場合、変更前のファイルについての操作履歴情報T101を更新したことになる。そのため、工程S312において、CPU101は、工程S301で検出したファイルのデータブロックから所定桁数のハッシュ値を生成することにより取得した識別情報を用いて操作履歴情報T101を登録することにより、変更後のファイルに関する操作履歴情報を更新する。
CPU101は、工程S301で検出したファイルの更新を要求する更新要求信号T107を、通信部105を用いてファイル格納装置200へ送信する(S313)。
図22は、更新要求信号T107のデータ構造の例を示す。図22に示す更新要求信号T107は、環境ID(T1071)と、ファイルID(T1072)と、ファイル名(T1073)と、データブロック(T1074)と、関連ID(T1075)と、を有する。
図22に示す関連ID(T1071)とファイルID(T1072)とファイル名(T1073)とデータブロック(T1074)は、図7と同様である。
図22に示す関連ID(T1075)は、工程S310において取得した関連IDを示す。
次に、ファイル格納装置200のCPU201は、端末装置100から送信された更新要求信号T107を、通信部203を用いて受信する(T403)。
CPU201は、工程S403で受信した更新要求信号T107のファイルID(T1072)を用いて、ファイルID(1072)に該当するファイルID(T2011)を有するファイル管理情報T201が登録されているか否かを判定する(S404)。工程S404において、CPU201は、ファイルID(1072)に該当するファイルID(T2011)を有するファイル管理情報T201が存在しない場合に未登録であると判定し(S404でYES)、工程S405以降を実行する。一方、工程S404において、CPU201は、ファイルID(1072)に該当するファイルID(T2011)を有するファイル管理情報T201が存在する場合に既登録であると判定し(S404でNO)、工程S407を実行する。
CPU201は、工程S403で受信した更新要求信号T107のデータブロック(T1074)に示される内容を有するファイルを、記憶部202に格納する(405)。
CPU201は、工程S403で受信した更新要求信号に基づいて、ファイル管理情報T201及び環境管理情報T202を更新する(S406,S407)。
工程S406において、CPU201は、工程S403で受信した更新要求信号T107のファイルID(T1032)を用いて、ファイル管理情報T201のファイルID(T2011)を登録する。
工程S406において、CPU201は、工程S405で格納したファイルの格納位置(ファイル名を含む)を用いて、ファイル管理情報T201の格納先(T2012)を登録する。
工程S406において、CPU201は、工程S403で受信した更新要求信号T107の関連ID(T1075)を用いて、ファイル管理情報T201の関連ID(T2013)を登録する。
図23に示すファイル管理情報T201の内容例は、ファイルID(T2011)の[ファイルA1]で特定されるファイルが、格納先(T2012)に示す「/data/1111」に格納されていることを示す。なお、この例では、関連ID(T2013)には「−」が示されており、関連IDとして実質的に何も設定されていないことを示す。
図23に示すファイル管理情報T201の内容例は、ファイルID(T2011)の[ファイルA2]で特定されるファイルが、格納先(T2012)に示す「/data/1112」に格納されており、関連ID(T2013)として[ファイルA1]が登録されていることを示す。
工程S407において、CPU201は、工程S403で受信した更新要求信号T107の環境ID(T1071)を用いて、環境管理情報T202の環境ID(T2021)を登録する。
工程S407において、CPU201は、工程S403で受信した更新要求信号T107のファイルID(T1072)を用いて、環境管理情報T202のファイルID(T2022)を登録する。
工程S407において、CPU201は、工程S403で受信した更新要求信号T107のファイル名(T1073)を用いて、環境管理情報T202のファイル名(T2023)を登録する。
CPU201は、工程S403において更新要求を受信したことに応じて、任意のタイミングにおいて、更新要求を受け付けた旨を示す信号を、通信部203を用いて端末装置100へ送信する。
次に、端末装置100のCPU101は、ファイル格納装置200から送信された更新要求を受け付けた旨を示す信号を、通信部105を用いて受信し、工程S314以降を実行する。これにより、端末装置100は、ファイル格納装置200に格納されている変更前のファイルについて、ファイル格納装置200の記憶部202から削除するタイミングを設定する。
CPU101は、工程S310で取得した関連IDで特定されるファイルに関する操作履歴情報T101に基づいて、その関連IDで特定されるファイルの重要度を上述の工程S305と同様の手順を用いて判定する(S314)。
CPU101は、工程S314で判定した重要度に基づいて、ファイル格納装置200に登録しているファイルを消去する日時を示す消去日時を、上述の工程S306と同様の手順を用いて決定する(S315)。なお、消去日時は、秒単位としてもよいし、分単位としてもよいし、時単位としてもよいし、日単位としてもよいし、月単位としてもよいし、年単位としてもよいし、これらを任意に組み合わせて表現したものでもよい。
CPU101は、工程S310において取得した関連IDにより特定されるファイルの削除を要求する削除要求信号T104を、通信部105を用いてファイル格納装置200へ送信する(S316)。なお、削除要求信号T104は、上述の図7に示す削除要求信号T104と同様である。
次に、ファイル格納装置200のCPU201は、端末装置100から送信された削除要求信号T104を、通信部203を用いて受信する(S407)。
CPU201は、工程S401で受信した削除要求信号T104に基づいて、環境管理情報T202を上述の工程S402と同様の手順を用いて更新する(S408)。
これにより、端末装置100においてファイルの内容について変更操作を行なった場合でも、変更後のファイルをファイル格納装置200にバックアップすることができる。
また、ファイル格納装置200に格納されている変更前のファイルについて、ファイルの変更と連動して削除のタイミングを設定することができるため、変更前のファイルがファイル格納装置200に滞留することを効果的に抑止でき、ファイル格納装置200の記憶容量を有効に活用することができる。
〔3.実施例2に係る条件監視処理の流れについて〕
図26は、実施例2に係る条件監視処理の流れの例を示す。図26に示す条件監視処理の流れは、上述の実施例1において図18に示す処理の流れと同様の構成に対して、同一の参照符号を付している。図26に示す条件監視処理の流れは、例えば、工程S709及び工程S710を有する点で、図18に示す実施例1に係る条件監視処理の流れと相違する。なお、図26に示す実施例2に係る条件監視処理の流れの前半部分は、図18に示す実施例1に係る条件監視処理の流れと同様の処理手順であるため説明を部分的に省略する。
まず、ファイル格納装置200のCPU201は、ファイル格納装置200のシステム日時を参照し(S701)、環境管理情報T202の削除日時(T2024)と工程S701で参照したシステム日時とを比較する(S702)。工程S702において、CPU201は、工程S701で参照したシステム日時よりも過去の時点を示す削除日時(T2024)を有する環境管理情報T202を特定する。
CPU201は、工程S702において比較した結果、削除日時が到来した環境管理情報T202が存在すると判定した場合(S703でYES)、工程S704以降の処理を実行する。一方、CPU201は、工程S702において比較した結果、削除日時が到来した環境管理情報T202が存在しないと判定した場合(S703でNO)、工程S704以降の処理を実行しない。
工程S704において、CPU201は、工程S702で特定した環境管理情報T202のファイルID(T2022)と同じファイルID(T2022)を有する他の環境管理情報T202を検索する(S704)。すなわち、CPU201は、工程S704において、工程S702で特定した環境管理情報T202のファイルID(T2022)と同じファイルID(T2022)を有する環境管理情報T202であって、削除日時が到来していない環境管理情報T202を特定する。
CPU201は、工程S704における検索により特定した環境管理情報T202が0件である場合(S705でYES)、工程S706乃至工程S710を実行する。一方、CPU201は、工程S704における検索により特定した環境管理情報T202が0件でない場合(S705でNO)、工程S711を実行する。
工程S710において、CPU201は、工程S702で特定した環境管理情報T202のファイルID(T2022)に該当するファイルID(T2011)を有するファイル管理情報T201を特定する。
工程S710において、CPU201は、工程S710で特定したファイル管理情報T201の関連ID(T2013)を参照することにより、関連IDを取得する。
工程S706において、CPU201は、工程S702で特定した環境管理情報T202のファイルID(T2022)に該当するファイルID(T2011)を有するファイル管理情報T201を特定する。
工程S706において、CPU201は、工程S706で特定したファイル管理情報T201の格納先(T2012)に示される格納先のファイルを削除する。
工程S707において、CPU201は、工程S706で特定したファイル管理情報T201を削除する。
工程S708において、CPU201は、工程S702で特定した環境管理情報T202を削除する。
工程S709において、CPU201は、関連ファイルが存在するか否かを判定する。例えば、CPU201は、工程S710において参照した関連ID(T2013)に初期値以外の値が設定されていた場合、関連ファイルが存在すると判定することができる(S709でYES)。また、CPU201は、工程S710で取得した関連IDに該当するファイルID(T2011)を有するファイル管理情報T2011を検索し、該当するファイル管理情報T2011が存在する場合に、関連ファイルが存在すると判定してもよい(S709でYES)。
工程S709において、CPU101は、関連ファイルが存在すると判定した場合(S709でYES)、その関連IDを用いて工程S704以降を実行する。すなわち、工程S710で取得した関連IDと同じファイルIDを有する他の環境情報の検索処理を実行し、検索結果に基づいて工程S705を実行する。その後は、上述の説明と同様であるため、説明を省略する。
一方、CPU101は、工程S709において、関連ファイルが存在しないと判定した場合(S709でNO)、実施例2に係る条件監視処理を終了する。
工程S711において、CPU101は、上述の工程S708と同様の手順を用いて、環境管理情報を削除し、実施例2に係る条件監視処理を終了する。
上述の説明において、条件監視処理の終了は、条件監視処理の開始へと処理の流れを続けても良い。すなわち、端末装置100のCPU101は、図26に示す開始から終了までの一連の処理の流れを、繰り返し実行してもよいし、所定条件の成就を契機として実行しても良い。
以上により、ファイル格納装置200に格納されている変更前のファイルを、ファイルの変更と連動して設定された削除のタイミングに基づいて削除することができ、変更前のファイルがファイル格納装置200に滞留することを効果的に抑止できる。そのため、ファイル格納装置200の記憶容量を有効に活用することができる。
〔その他の実施態様〕
上述の実施例において、端末装置100において実行するものとして説明した工程の一部を、ファイル格納装置200において実行させてもよい。例えば、図15に示す工程S102をファイル格納装置200で実行しても良い。この場合、例えば、端末装置100において工程S101を実行した後、ファイルID(T1032)を有さない登録要求信号T103をファイル格納装置200へ送信する。ファイル格納装置200は、図15に示す工程S201において受信した登録要求信号T103のデータブロック(T1034)に示される値に基づいて生成したファイル識別情報を端末装置100へ送信する。これにより、端末装置100はファイル識別情報を取得することができる。
また、例えば、図16に示す工程S305及び工程S306をファイル格納装置200で実行しても良い。この場合、例えば、端末装置100は、工程S305において参照する操作履歴情報を、ファイル格納装置200において工程S305を実行する前の任意のタイミングにおいて、ファイル格納装置200へ送信すればよい。
また、上述の実施例において説明した工程のうち、自動的に行なわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的に行なわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。
さらに、本実施例に示す各装置にて行なわれる処理は、その全部または任意の一部が、ワイヤードロジックによるハードウェアとして実現され得る。