(57)【要約】【課題】他のユーザに影響を与えることなく、ファイル変更の都度バックアップを生成し、生成されたバックアップファイルを高速に検索して任意の時点のファイルを復元する。【解決手段】ファイル管理装置３のバックアップ処理部６は、ファイルサーバ２におけるファイル操作の種類及び更新時刻と、操作の対象ファイル名とを示す操作情報を受信し、ファイルの作成または上書を検出した場合に、対象ファイル名のファイルを複製したバックアップファイルを、バックアップファイルであることを示す情報と子番号とを当該対象ファイル名に付加したファイル名によりバックアップ記憶部４に書き込む。さらに、更新時刻及び対象ファイル名と、バックアップファイル名とを対応づけてテーブル記憶部５内のバックアップ管理テーブルに書き込む。ファイル復元部７は、復旧時刻に基づいてバックアップ管理テーブルを検索し、バックアップファイル名を特定する。【選択図】図２
2010231656.tif 000002
【特許請求の範囲】
【請求項１】
バックアップファイルを記憶するバックアップ記憶部と、
前記バックアップファイルを管理するバックアップ管理テーブルを記憶するテーブル記憶部と、
ファイル操作の種類及びファイルの更新時刻と、ファイル操作対象のファイルのフォルダ名を含んだ名前である対象ファイル名とを示す操作情報を受信し、当該操作情報によりファイルの作成または上書を検出する検出部と、
前記検出部によりファイルの作成または上書が検出された場合に、当該操作情報により示される対象ファイル名のファイルを複製したバックアップファイルを、バックアップファイルであることを示す情報と子番号とを当該対象ファイル名に付加したファイル名により前記バックアップ記憶部に書き込むバックアップファイル生成部と、
前記操作情報に設定されている更新時刻及び対象ファイル名と、前記バックアップ生成部が生成したバックアップファイルのファイル名であるバックアップファイル名とを対応づけた情報を前記バックアップ記憶部に記憶されている前記バックアップ管理テーブルに書き込むテーブル更新部と、
を備えることを特徴とするファイル管理装置。
【請求項２】
前記検出部は、受信した操作情報によりファイルの削除を検出し、
バックアップファイル生成部は、前記検出部によりファイル削除が検出された場合に、当該操作情報により示される対象ファイル名に、ファイルの削除を示す情報と子番号とを付加したファイル名の削除用ダミーファイルを前記バックアップ記憶部に書き込み、
前記テーブル更新部は、前記操作情報に設定されている更新時刻及び対象ファイル名と、前記バックアップ生成部が生成した削除用ダミーファイルのファイル名とを対応づけた情報を前記バックアップ記憶部に記憶されている前記バックアップ管理テーブルに書き込む、
ことを特徴とする請求項１に記載のファイル管理装置。
【請求項３】
前記検出部は、受信した操作情報によりファイル名の変更を検出し、
バックアップファイル生成部は、前記検出部によりファイル名の変更が検出された場合に、当該操作情報により示される変更前ファイル名に、ファイルの削除を示す情報と子番号とを付加したファイル名の削除用のダミーファイルを前記バックアップ記憶部に書き込むとともに、当該操作情報により示される変更後ファイル名のファイルを複製したバックアップファイルを、バックアップファイルであることを示す情報と子番号とを当該変更後ファイル名に付加したファイル名により前記バックアップ記憶部に書き込み、
前記テーブル更新部は、前記操作情報に設定されている更新時刻と、前記変更前ファイル名を示す対象ファイル名と、前記バックアップ生成部が生成した削除用ダミーファイルのファイル名とを対応づけた情報を前記バックアップ管理テーブルに書き込むとともに、当該操作情報に設定されている更新時刻と、前記変更後ファイル名を示す対象フィアル名と、前記バックアップ生成部が生成したバックアップファイルのバックアップファイル名とを対応づけた情報を前記バックアップ管理テーブルに書き込む、
ことを特徴とする請求項２に記載のファイル管理装置。
【請求項４】
ユーザの端末から復旧対象時刻の情報を受信し、前記バックアップ管理テーブルから当該復旧対象時刻以前が更新時刻であるバックアップファイル名を復元対象として特定し、特定した復元対象に同じ対象ファイル名に対応しているバックアップファイル名が含まれる場合は、最も前記復旧対象時刻に近い更新時刻のバックアップファイル名のみを復元対象とし、当該復元対象のバックアップファイル名に対応した対象ファイル名を読み出す検索部と、
前記検索部により前記復元対象のバックアップファイル名に対応して読み出された前記対象ファイル名のファイルをファイル復旧領域に生成し、当該ファイル復旧領域に生成されたファイルの出力指示を受信した場合に、当該ファイルの対象ファイル名に対応した前記復元対象のバックアップファイル名のバックアップファイルを前記バックアップ記憶部から読み出して出力する復元部と、
をさらに備えることを特徴とする請求項１から請求項３のいずれかの項に記載のファイル管理装置。
【請求項５】
前記復元部は、前記復元対象のバックアップファイル名に対応して読み出された前記対象ファイル名のファイルを、前記ユーザに対応したファイル復旧領域に生成する、
ことを特徴とする請求項４に記載のファイル管理装置。
【請求項６】
前記検索部は、前記バックアップ管理テーブルに、復元対象のバックアップファイル名に対応した対象ファイル名と同じ対象ファイル名に対応して削除用ダミーファイルのファイル名が登録されており、当該削除用ダミーファイルのファイル名に対応した更新時刻が当該復元対象のバックアップファイル名に対応した更新時刻以降であり、かつ、前記ファイル復旧対象時刻以前であった場合、当該バックアップファイル名を復元対象から除外する、
ことを特徴とする請求項４または請求項５に記載のファイル管理装置。
【請求項７】
前記テーブル記憶部は、変更されたフォルダ名を管理するフォルダ名変更管理テーブルをさらに記憶し、
前記操作情報は、フォルダ操作の種類及びフォルダの更新時刻と操作対象のフォルダ名とを示し、
前記検出部は、受信した操作情報によりフォルダ名の変更を検出し、
前記バックアップファイル生成部は、前記検出部によりフォルダ名の変更が検出された場合に、当該操作情報により示されるフォルダ名変更時刻、変更前フォルダ名及び変更後フォルダ名を含んだフォルダ名のフォルダ名変更用ダミーファイルを前記バックアップ記憶部に書き込み、
前記検索部は、さらに、前記復元対象のバックアップファイル名に対応した更新時刻を読み出し、読み出した更新時刻以降、かつ、前記復元対象時刻以前のフォルダ名変更時刻に対応して、当該復元対象のバックアップファイル名に含まれるフォルダ名が変更前フォルダ名としてフォルダ名変更管理テーブルに登録されている場合に、当該変更前フォルダ名に対応した変更後フォルダ名を読み出し、
前記復元部は、前記検索部により前記復元対象のバックアップファイル名に対応して読み出された前記対象ファイル名内の前記変更前フォルダ名を前記変更後フォルダ名に置き換えたファイル名のファイルをファイル復旧領域に生成し、当該ファイル復旧領域に生成されたファイルの出力指示を受信した場合に、前記復元対象のバックアップファイル名のバックアップファイルを前記バックアップ記憶部から読み出して出力する、
ことを特徴とする請求項４から請求項６のいずれかの項に記載のファイル管理装置。
【請求項８】
前記バックアップ生成部は、
前記フォルダ名変更管理テーブルから変更前フォルダ名及びフォルダ名変更時刻を読み出し、
更新時刻が前記フォルダ名変更時刻以前であり、かつ、前記変更前フォルダ名が含まれるバックアップファイル名のバックアップファイルから、同じ対象ファイル名に対応したバックアップファイルについてはファイル生成時刻が最も前記フォルダ名変更時刻に近いバックアップファイルを抽出し、さらに、この抽出したバックアップファイルから、当該バックアップファイルと同じ対象ファイル名に対応して生成され、ファイル生成時刻が当該バックアップファイルのファイル生成時刻以降、かつ、フォルダ名変更時刻以前である削除用ダミーファイルが存在するバックアップファイルを除外し、
除外した残りのバックアップファイルを複製し、当該バックアップファイルのバックアップファイル名内の前記変更前フォルダ名を前記変更後フォルダ名に置き換え、新たな子番号を付与したバックアップファイル名により前記バックアップ記憶部に書き込み、さらに、前記除外した残りのバックアップフィアルに対応した対象ファイルの削除用ダミーファイルを生成して前記バックアップ記憶部に書き込み、
前記テーブル管理部は、前記バックアップ生成部が前記バックアップ記憶部に書き込んだバックアップファイルのバックアップファイル名と、当該バックアップファイル名から取得した対象ファイル名と、前記フォルダ名変更時刻とを対応づけた情報を前記バックアップ管理テーブルに書き込むとともに、前記バックアップ生成部が前記バックアップ記憶部に書き込んだ削除用ダミーファイルのファイル名と、当該ファイル名から取得した対象ファイル名と、前記フォルダ名変更時刻とを対応づけた情報を前記バックアップ管理テーブルに書き込む、
ことを特徴とする請求項７に記載のファイル管理装置。
【請求項９】
前記バックアップ記憶部に記憶されているバックアップファイルのバックアップファイル名と、当該バックアップファイル名から取得した対象ファイル名と、当該バックアップファイルの作成時刻とを対応づけた情報を含んだバックアップ管理テーブルを生成するテーブル復旧部をさらに備える、
ことを特徴とする請求項１から請求項８のいずれかの項に記載のファイル管理装置。
【請求項１０】
前記操作情報は、フォルダ操作の種類と操作対象のフォルダ名とを示し、
前記検出部は、受信した操作情報によりフォルダ名の変更を検出し、
バックアップファイル生成部は、前記検出部によりフォルダ名の変更を検出した場合に、当該操作情報により示される変更前フォルダ名及び変更後フォルダ名を含んだフォルダ名変更用ダミーファイルを前記バックアップ記憶部に書き込み、
前記テーブル復旧部は、前記バックアップ記憶部に記憶されている前記フォルダ名変更用ダミーファイルで示される変更前フォルダ名及び変更後フォルダ名と、当該フォルダ名変更用ダミーファイルの作成時刻とを対応づけた情報を含んだフォルダ名変更管理テーブルを生成する、
ことを特徴とする請求項９に記載のファイル管理装置。
【請求項１１】
前記バックアップ記憶部は、重複排除技術を用いて前記バックアップファイルを記憶することを特徴とする請求項１から請求項１０のいずれかの項に記載のファイル管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バックアップファイルを生成及び管理するファイル管理装置に関する。
【背景技術】
【０００２】
従来、ファイルのバックアップを生成するために、スナップショット機能などが用いられていた。これは、所定のタイミングで、あるいは、管理者が入力したタイミングでスナップショットコマンドを実行し、バージョン管理されたファイルのバックアップを生成するものである。一方、特許文献１には、ファイルのアクセスに関するコマンドを解析し、ファイルが更新された際は、自動的にバージョン管理されたバックアップファイルを生成することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３５０８２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したスナップショット機能を用いてバージョン管理を行なった場合、必ずしもファイルの更新のタイミングにおいてバックアップが生成されないため、必要なファイルのバックアップが必ずしも生成されてないことがある。また、スナップショットでは、ストレージ全体の情報が書き換わってしまい、他のユーザに影響を与えてしまうおそれがある。
一方、特許文献１では、ファイルが更新された際は、自動的にバージョン管理されたバックアップを生成することができ、ストレージ全体の情報を書き換えることはない。しかし、特許文献１では、元のファイルの名に、バージョン数やバックアップ作成日時を付加したファイル名のバックアップを生成するものであるため、バックアップファイル数が多くなった場合には検索に時間がかかってしまうという問題があった。
【０００５】
本発明は、上記問題を解決すべくなされたもので、その目的は、他のユーザに影響を与えることなく、ファイル変更の都度バックアップを生成し、バックアップファイルを高速に検索して任意の時点のファイルを復元することができるファイル管理装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明は、バックアップファイルを記憶するバックアップ記憶部と、前記バックアップファイルを管理するバックアップ管理テーブルを記憶するテーブル記憶部と、ファイル操作の種類及びファイルの更新時刻と、ファイル操作対象のファイルのフォルダ名を含んだ名前である対象ファイル名とを示す操作情報を受信し、当該操作情報によりファイルの作成または上書を検出する検出部と、前記検出部によりファイルの作成または上書が検出された場合に、当該操作情報により示される対象ファイル名のファイルを複製したバックアップファイルを、バックアップファイルであることを示す情報と子番号とを当該対象ファイル名に付加したファイル名により前記バックアップ記憶部に書き込むバックアップファイル生成部と、前記操作情報に設定されている更新時刻及び対象ファイル名と、前記バックアップ生成部が生成したバックアップファイルのファイル名であるバックアップファイル名とを対応づけた情報を前記バックアップ記憶部に記憶されている前記バックアップ管理テーブルに書き込むテーブル更新部と、を備えることを特徴とするファイル管理装置である。
【０００７】
また本発明は、上述するファイル管理装置であって、前記検出部は、受信した操作情報によりファイルの削除を検出し、バックアップファイル生成部は、前記検出部によりファイル削除が検出された場合に、当該操作情報により示される対象ファイル名に、ファイルの削除を示す情報と子番号とを付加したファイル名の削除用ダミーファイルを前記バックアップ記憶部に書き込み、前記テーブル更新部は、前記操作情報に設定されている更新時刻及び対象ファイル名と、前記バックアップ生成部が生成した削除用ダミーファイルのファイル名とを対応づけた情報を前記バックアップ記憶部に記憶されている前記バックアップ管理テーブルに書き込む、ことを特徴とする。
【０００８】
また本発明は、上述するファイル管理装置であって、前記検出部は、受信した操作情報によりファイル名の変更を検出し、バックアップファイル生成部は、前記検出部によりファイル名の変更が検出された場合に、当該操作情報により示される変更前ファイル名に、ファイルの削除を示す情報と子番号とを付加したファイル名の削除用のダミーファイルを前記バックアップ記憶部に書き込むとともに、当該操作情報により示される変更後ファイル名のファイルを複製したバックアップファイルを、バックアップファイルであることを示す情報と子番号とを当該変更後ファイル名に付加したファイル名により前記バックアップ記憶部に書き込み、前記テーブル更新部は、前記操作情報に設定されている更新時刻と、前記変更前ファイル名を示す対象ファイル名と、前記バックアップ生成部が生成した削除用ダミーファイルのファイル名とを対応づけた情報を前記バックアップ管理テーブルに書き込むとともに、当該操作情報に設定されている更新時刻と、前記変更後ファイル名を示す対象フィアル名と、前記バックアップ生成部が生成したバックアップファイルのバックアップファイル名とを対応づけた情報を前記バックアップ管理テーブルに書き込む、ことを特徴とする。
【０００９】
また本発明は、上述するファイル管理装置であって、ユーザの端末から復旧対象時刻の情報を受信し、前記バックアップ管理テーブルから当該復旧対象時刻以前が更新時刻であるバックアップファイル名を復元対象として特定し、特定した復元対象に同じ対象ファイル名に対応しているバックアップファイル名が含まれる場合は、最も前記復旧対象時刻に近い更新時刻のバックアップファイル名のみを復元対象とし、当該復元対象のバックアップファイル名に対応した対象ファイル名を読み出す検索部と、前記検索部により前記復元対象のバックアップファイル名に対応して読み出された前記対象ファイル名のファイルをファイル復旧領域に生成し、当該ファイル復旧領域に生成されたファイルの出力指示を受信した場合に、当該ファイルの対象ファイル名に対応した前記復元対象のバックアップファイル名のバックアップファイルを前記バックアップ記憶部から読み出して出力する復元部と、をさらに備えることを特徴とする。
【００１０】
また本発明は、上述するファイル管理装置であって、前記復元部は、前記復元対象のバックアップファイル名に対応して読み出された前記対象ファイル名のファイルを、前記ユーザに対応したファイル復旧領域に生成する、ことを特徴とする。
【００１１】
また本発明は、上述するファイル管理装置であって、前記検索部は、前記バックアップ管理テーブルに、復元対象のバックアップファイル名に対応した対象ファイル名と同じ対象ファイル名に対応して削除用ダミーファイルのファイル名が登録されており、当該削除用ダミーファイルのファイル名に対応した更新時刻が当該復元対象のバックアップファイル名に対応した更新時刻以降であり、かつ、前記ファイル復旧対象時刻以前であった場合、当該バックアップファイル名を復元対象から除外する、ことを特徴とする。
【００１２】
また本発明は、上述するファイル管理装置であって、前記テーブル記憶部は、変更されたフォルダ名を管理するフォルダ名変更管理テーブルをさらに記憶し、前記操作情報は、フォルダ操作の種類及びフォルダの更新時刻と操作対象のフォルダ名とを示し、前記検出部は、受信した操作情報によりフォルダ名の変更を検出し、前記バックアップファイル生成部は、前記検出部によりフォルダ名の変更が検出された場合に、当該操作情報により示されるフォルダ名変更時刻、変更前フォルダ名及び変更後フォルダ名を含んだフォルダ名のフォルダ名変更用ダミーファイルを前記バックアップ記憶部に書き込み、前記検索部は、さらに、前記復元対象のバックアップファイル名に対応した更新時刻を読み出し、読み出した更新時刻以降、かつ、前記復元対象時刻以前のフォルダ名変更時刻に対応して、当該復元対象のバックアップファイル名に含まれるフォルダ名が変更前フォルダ名としてフォルダ名変更管理テーブルに登録されている場合に、当該変更前フォルダ名に対応した変更後フォルダ名を読み出し、前記復元部は、前記検索部により前記復元対象のバックアップファイル名に対応して読み出された前記対象ファイル名内の前記変更前フォルダ名を前記変更後フォルダ名に置き換えたファイル名のファイルをファイル復旧領域に生成し、当該ファイル復旧領域に生成されたファイルの出力指示を受信した場合に、前記復元対象のバックアップファイル名のバックアップファイルを前記バックアップ記憶部から読み出して出力する、ことを特徴とする。
【００１３】
また本発明は、上述するファイル管理装置であって、前記バックアップ生成部は、前記フォルダ名変更管理テーブルから変更前フォルダ名及びフォルダ名変更時刻を読み出し、更新時刻が前記フォルダ名変更時刻以前であり、かつ、前記変更前フォルダ名が含まれるバックアップファイル名のバックアップファイルから、同じ対象ファイル名に対応したバックアップファイルについてはファイル生成時刻が最も前記フォルダ名変更時刻に近いバックアップファイルを抽出し、さらに、この抽出したバックアップファイルから、当該バックアップファイルと同じ対象ファイル名に対応して生成され、ファイル生成時刻が当該バックアップファイルのファイル生成時刻以降、かつ、フォルダ名変更時刻以前である削除用ダミーファイルが存在するバックアップファイルを除外し、除外した残りのバックアップファイルを複製し、当該バックアップファイルのバックアップファイル名内の前記変更前フォルダ名を前記変更後フォルダ名に置き換え、新たな子番号を付与したバックアップファイル名により前記バックアップ記憶部に書き込み、さらに、前記除外した残りのバックアップフィアルに対応した対象ファイルの削除用ダミーファイルを生成して前記バックアップ記憶部に書き込み、前記テーブル管理部は、前記バックアップ生成部が前記バックアップ記憶部に書き込んだバックアップファイルのバックアップファイル名と、当該バックアップファイル名から取得した対象ファイル名と、前記フォルダ名変更時刻とを対応づけた情報を前記バックアップ管理テーブルに書き込むとともに、前記バックアップ生成部が前記バックアップ記憶部に書き込んだ削除用ダミーファイルのファイル名と、当該ファイル名から取得した対象ファイル名と、前記フォルダ名変更時刻とを対応づけた情報を前記バックアップ管理テーブルに書き込む、ことを特徴とする。
【００１４】
また本発明は、上述するファイル管理装置であって、前記バックアップ記憶部に記憶されているバックアップファイルのバックアップファイル名と、当該バックアップファイル名から取得した対象ファイル名と、当該バックアップファイルの作成時刻とを対応づけた情報を含んだバックアップ管理テーブルを生成するテーブル復旧部をさらに備える、ことを特徴とする。
【００１５】
また本発明は、上述するファイル管理装置であって、前記操作情報は、フォルダ操作の種類と操作対象のフォルダ名とを示し、前記検出部は、受信した操作情報によりフォルダ名の変更を検出し、バックアップファイル生成部は、前記検出部によりフォルダ名の変更を検出した場合に、当該操作情報により示される変更前フォルダ名及び変更後フォルダ名を含んだフォルダ名変更用ダミーファイルを前記バックアップ記憶部に書き込み、前記テーブル復旧部は、前記バックアップ記憶部に記憶されている前記フォルダ名変更用ダミーファイルで示される変更前フォルダ名及び変更後フォルダ名と、当該フォルダ名変更用ダミーファイルの作成時刻とを対応づけた情報を含んだフォルダ名変更管理テーブルを生成する、ことを特徴とする。
【００１６】
また本発明は、上述するファイル管理装置であって、前記バックアップ記憶部は、重複排除技術を用いて前記バックアップファイルを記憶することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、ファイル変更の都度、ファイルのバックアップを生成するとともに、生成されたバックアップファイルの管理テーブルを生成する。これにより、ユーザが所望の時点のバックアップファイルを高速に検索して、その時点に存在していたファイルを復元することができる。このとき、ユーザが自分専用のフォルダにファイルを復元することができるため、他のユーザに影響を与えることもない。また、削除されたファイルの復元も可能である。加えて、バックアップファイルの管理テーブルに障害が発生した場合も、当該テーブルを復元することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第一実施形態によるファイル管理システムの動作概要を示す図である。
【図２】同実施形態によるファイル管理システムの構成図である。
【図３】同実施形態によるフバックアップ管理テーブルのデータ構成例を示す図である。
【図４】同実施形態によるフォルダ名変更管理テーブルのデータ構成例を示す図である。
【図５】同実施形態によるバックアップタイミングの検出処理を説明する図である。
【図６】同実施形態によるバックアップタイミングの他の検出処理を説明する図である。
【図７】同実施形態によるファイル管理システムにおけるファイル生成時の処理を説明する図である。
【図８】同実施形態によるファイル管理システムにおけるファイル上書時の処理を説明する図である。
【図９】同実施形態によるファイル管理システムにおけるファイル削除時の処理を説明する図である。
【図１０】同実施形態によるファイル管理システムにおけるファイル名変更時の処理を説明する図である。
【図１１】同実施形態によるファイル管理システムにおけるフォルダ名変更時の暫定対処処理を説明する図である。
【図１２】同実施形態によるファイル管理システムにおけるフォルダ名変更時の恒久対処処理を説明する図である。
【図１３】同実施形態によるファイル管理システムにおけるファイル復元処理を説明する図である。
【図１４】同実施形態によるファイル管理システムにおけるファイル復元処理を説明する図である。
【図１５】同実施形態によるファイル管理システムにおける検索クロール処理を説明する図である。
【図１６】同実施形態によるファイル管理システムにおけるバックアップ管理テーブル及びバックアップ管理テーブルの復旧処理を説明する図である。
【図１７】同実施形態によるファイル管理システムにおけるユーザインタフェース例を示す図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して本発明の実施形態を説明する。
図１は、本発明の一実施形態によるファイル管理システムの動作概要を示す図である。
まず、ユーザが自身の端末からファイルサーバにアクセスし、「１月１日１２時００分」の時点で、当該ファイルサーバのフォルダ「/PUBLIC」の配下に、記述内容ａのファイル「Sample.txt」を新規に作成したとする。その後、「１月２日１２時００分」の時点で、同ファイル「Sample.txt」を記述内容ｂのものに上書保存し、さらにその後、「１月３日１２時００分」の時点で、同ファイル「Sample.txt」を記述内容ｃのものに上書保存したとする。
【００２０】
本実施形態のファイル管理システムでは、ユーザからのファイルアクセス状況を取得して、上述したようなファイルの作成や上書があったことを認識し、ファイルを別領域に自動バックアップし、当該バックアップファイルの管理テーブルを生成する。この管理テーブルを利用してバックアップファイルを検索し、いつでも過去のファイルを取り出すことを可能にする。
【００２１】
例えば、１月４日の時点では、フォルダ「/PUBLIC」の配下に、「１月３日１２時００分」の時点で上書きされた、記述内容ｃのファイル「Sample.txt」が存在し、「/PUBLIC/Sample.txt」を指定しても、記述内容ａや記述内容ｂを取り出すことはできない。そこで、ユーザは、自身のファイル復元領域のフォルダの配下に、復元したい日時「１月１２日１５時００分」を表すフォルダ名「/01_02_1500」のフォルダを生成する。これにより、ファイル管理装置は、「１月１２日１５時００分」時点に存在していたファイルサーバ内のファイル、つまり、記述内容ｂの「/PUBLIC/Sample.txt」を、生成されたフォルダ「/BACKUP/01_02_1500」の配下に復元する。
【００２２】
図２は、本発明の一実施形態によるファイル管理システムの構成図であり、本発明と関係する機能ブロックのみ抽出して示してある。同図において、ファイル管理システムは、ユーザ端末１、ファイルサーバ２、及び、ファイル管理装置３を、ＩＰ（Internet Protocol）などを用いたネットワークＮを介して接続してなる。
【００２３】
ファイルサーバ２は、ネットワークＮを介してデータを送受信し、記憶部２１及びファイル操作部２２を備える。ファイル操作部２２は、パーソナルコンピュータなどのユーザ端末１からの指示を受け、記憶部２１にファイルやフォルダの作成、上書、削除、名前の変更などの操作を行なう。
【００２４】
ファイル管理装置３は、ネットワークＮを介してデータを送受信し、バックアップ記憶部４、テーブル記憶部５、バックアップ処理部６、ファイル復元部７、及び、テーブル復旧部８を備える。
【００２５】
バックアップ記憶部４は、例えば、データベースサーバにより実現することができる。バックアップ記憶部４は、バックアップファイル記憶領域を有し、このバックアップファイル記憶領域に、バックアップ処理部６により生成されたバックアップファイルを記憶する。
【００２６】
テーブル記憶部５は、例えば、データベースサーバにより実現することができ、バックアップファイルを管理するバックアップ管理テーブル、及び、名前が変更されたフォルダを管理するフォルダ名変更管理テーブルを記憶する。
【００２７】
バックアップ処理部６は、例えば、１台または複数台のサーバにより実現することができ、検出部６１、バックアップファイル生成部６２、及び、テーブル更新部６３を備える。検出部６１は、バックアップファイルを生成すべき操作、具体的には、ファイルサーバ２内のファイルの作成、上書または削除、あるいは、ファイル名やフォルダ名の変更を検出する。バックアップファイル生成部６２は、作成、上書、名前変更の対象となったファイルのバックアップファイルを生成したり、ファイルが削除されたたことを示すダミーファイルを生成したりする。また、バックアップファイル生成部６２は、名前が変更されたフォルダの管理情報をフォルダ名変更管理テーブルに登録するために使用するダミーファイルを生成する。テーブル更新部６３は、バックアップ管理テーブル、及び、フォルダ名変更管理テーブルを更新する。
【００２８】
ファイル復元部７は、例えば、１台または複数台のサーバにより実現することができ、検索部７１、復元部７２、検索ポータル部７３、及び、検索エンジン部７４を備える。検索部７１は、テーブル記憶部５内に記憶されているバックアップ管理テーブル、及び、フォルダ名変更管理テーブルを参照し、ユーザにより指定された日時に存在していたバックアップファイルを検索する。復元部７２は、検索部７１により検索されたバックアップファイルに基づき、ユーザにより指定された時点に存在していたファイルを復元する。検索ポータル部７３は、ユーザ端末１にファイル検索のポータル機能を提供する。検索エンジン部７４は、既存の一般的なファイル検索エンジンのアプリケーションを実行し、バックアップファイルを対象としたファイル検索処理を実行する。
【００２９】
テーブル復旧部８は、例えば、１台または複数台のサーバにより実現することができ、バックアップ記憶部４に記憶されているバックアップファイルやダミーファイルに基づいて、バックアップ管理テーブル、及び、フォルダ名変更管理テーブルを復旧する。
【００３０】
なお、ファイル管理装置３の各部を異なるサーバにより実現してもよく、任意の各部を同じサーバ上で実現してもよい。また、ファイルサーバ２内にファイル管理装置３の全部または一部の機能を備えることでもよい。例えば、ファイルサーバ２内の記憶部２１と、バックアップ記憶部４、テーブル記憶部５が同じデータベースサーバ等の記憶装置により実現されることでもよい。また、以下では、ファイル復元用のフォルダが生成されるファイル復元領域をバックアップ記憶部４に生成する場合を例にして説明するが、記憶部２１や他のデータベースサーバ等の記憶装置に生成することでもよい。
【００３１】
図３は、バックアップ管理テーブルのデータ構成例を示す図である。同図において、バックアップ管理テーブルは、レコードを一意に特定する管理ＩＤと、ファイルの作成、上書、削除、名前の変更などの操作を行なったファイル更新時刻と、操作の対象となったファイルのファイル名を示す対象ファイル名と、ファイル操作を行なったユーザ端末１のＩＰアドレスと、当該ユーザ端末１がファイル操作を行なったときに使用していたログイン名を示すログインユーザと、バックアップファイルまたはダミーファイルのファイル名を示すバックアップファイル名とを含む複数のレコードからなる。なお、ＩＰアドレス及びユーザの項目はオプショナル項目であり、設定しなくともよい。また、対象ファイル名は、更新の対象となったファイルが存在するディレクトリ、つまり、階層構造で示されるフォルダ名である絶対パス名を含む。バックアップファイルのファイル名もフォルダ名を含むが、ここでは、バックアップ領域のフォルダよりも下流のフォルダ名のみを設定する。
【００３２】
図４は、フォルダ名変更管理テーブルのデータ構成例を示す図である。同図において、フォルダ名変更管理テーブルは、レコードを一意に特定する管理ＩＤと、フォルダ名変更時刻と、変更前フォルダ名と、フォルダ名の変更を行なったユーザ端末１のＩＰアドレスと、当該ユーザ端末１がフォルダ名変更を行なったときに使用していたログイン名を示すログインユーザと、変更後フォルダ名とを含む複数のレコードからなる。なお、ＩＰアドレス及びユーザの項目はオプショナル項目であり、設定しなくともよい。
【００３３】
図５及び図６は、バックアップタイミングの検出処理を説明する図である。
図５は、ファイルサーバ２により生成されたログを用いたバックアップタイミングの検出を説明する図である。
同図において、バックアップ処理部６の検出部６１は、ファイルサーバ２により生成及び出力されるログからファイルの作成、上書及び削除、ならびに、ファイル名やフォルダ名の変更を検出する。つまり、ユーザが、ユーザ端末１にファイルやフォルダの操作指示を入力すると、当該操作指示がファイルサーバ２宛に送信される（ステップＳ１１）。ファイルサーバ２のファイル操作部２２は、ユーザ端末１から受信した操作指示に従ってファイルやフォルダの作成、上書、削除、または、名前の変更を行なう。ファイル操作部２２は、ファイルやフォルダの操作を記述したログをリアルタイムにファイル管理装置３に出力する（ステップＳ１２）。
【００３４】
ファイルサーバ２から出力されるログには、ファイルまたはフォルダの操作の種類と、操作対象のファイルやフォルダと、操作指示を送信したユーザ端末１のＩＰアドレスと、当該ユーザ端末１が使用しているログイン名の情報が設定されている。操作がファイルの作成、上書または削除であれば、操作対象のファイルとして、作成、上書または削除されたファイルのファイル名が設定される。操作がファイル名の変更であれば、操作対象のファイルとして、名前変更前のファイル名と、名前変更後のファイル名とが設定される。操作がフォルダ名変更であれば、操作対象のフォルダとして、名前変更前のフォルダ名、及び、名前変更後のフォルダ名が設定される。
【００３５】
バックアップ処理部６の検出部６１が、ファイルサーバ２より受信したログから、ファイルの作成、上書または削除、あるいは、ファイル名の変更、フォルダ名の変更を検出すると（ステップＳ１３）、バックアップファイル生成部６２が、ログから取得した操作対象ファイルや操作対象フォルダ等の情報に基づき、バックアップファイルを生成してバックアップ記憶部４のバックアップ記憶領域に書込み（ステップＳ１４）、テーブル更新部６３が、テーブル記憶部５に記憶されているバックアップ管理テーブル、フォルダ名変更管理テーブルを更新する（ステップＳ１５）。
【００３６】
図６は、キャプチャされたファイルサーバ２宛のパケットを用いたバックアップタイミングの検出を説明する図である。
同図において、ネットワークＮ上にパケットキャプチャ装置９が設置されている。ユーザが、ユーザ端末１にファイルやフォルダの操作指示を入力すると、当該操作指示が設定されたパケットがファイルサーバ２宛に送信される（ステップＳ２１）。パケットキャプチャ装置９は、ユーザ端末１からファイルサーバ２宛てに送信されたパケットを複製し、バックアップ処理部６に送信する（ステップＳ２２）。なお、ファイルサーバ２宛のパケットは、複製後にそのままファイルサーバ２へ送信され、ファイル操作部２２は、受信した操作指示に従ってファイルやフォルダの作成、上書、削除、または、名前の変更を行なう。
【００３７】
バックアップ処理部６の検出部６１は、パケットキャプチャ装置９から複製されたファイルサーバ２宛のパケットを受信する。複製されたパケットに設定されている操作指示には、ファイルまたはフォルダの操作の種類と、操作対象のファイルやフォルダと、操作指示を送信したユーザ端末１のＩＰアドレスと、当該ユーザ端末１が使用しているログイン名の情報が設定されている。操作がファイルの作成、上書または削除であれば、操作対象のファイルとして、作成、上書または削除されたファイルのファイル名が設定される。操作がファイル名の変更であれば、操作対象のファイルとして、名前変更前のファイル名と、名前変更後のファイル名とが設定される。操作がフォルダ名変更であれば、操作対象のフォルダとして、名前変更前のフォルダ名、及び、名前変更後のフォルダ名が設定される。
【００３８】
バックアップ処理部６の検出部６１が、複製されたファイルサーバ２宛のパケットに含まれる操作指示から、ファイルの作成、上書または削除、あるいは、ファイル名の変更、フォルダ名の変更を検出すると（ステップＳ２３）、バックアップファイル生成部６２が、当該パケットから取得した操作対象ファイルや操作対象フォルダ等の情報に基づき、バックアップファイルを生成してバックアップ記憶部４のバックアップ記憶領域に書込み（ステップＳ２４）、テーブル更新部６３が、テーブル記憶部５に記憶されているバックアップ管理テーブル、フォルダ名変更管理テーブルを更新する（ステップＳ２５）。
【００３９】
次に、ファイル管理装置の動作について説明する。
【００４０】
図７は、ファイル管理システムにおけるファイル生成時の処理を説明する図である。
ステップＳ１０１：同図において、まず、ファイルサーバ２のファイル操作部２２は、ユーザ端末１から、新たなファイルの作成指示を受信し、指示されたファイルを記憶部２１に書き込む。ここでは、ファイルサーバ２のファイル操作部２２が、記憶部２１に生成されているフォルダ「/TEST」の配下に、内容ａが記述されているファイル「Sample.txt」を新規に書き込んだとする。
【００４１】
ステップＳ１０２：バックアップ処理部６の検出部６１は、ファイルサーバ２のファイル操作部２２から出力されたログ、あるいは、パケットキャプチャ装置９によりキャプチャされたパケットからファイルの作成を検出する。検出部６１によりファイルの作成が検出されると、バックアップファイル生成部６２は、バックアップ領域に、作成されたファイル「/TEST/Sample.txt」をフォルダの階層構造（ディレクトリ）を含めてコピーし、バックアップファイルを作成する。このバックアップファイルのファイル名は、コピーしたファイル名の拡張子に「...」＋「子番号」を付加したものとする。バックアップ記憶部４に生成されているバックアップ領域のフォルダ「/BACKUP」の配下に、「/TEST/Sample.txt」のバックアップファイルが存在しないことから、バックアップファイル生成部６２は、子番号として「0」を付与する。従って、バックアップファイル生成部６２は、バックアップ記憶部４に生成されているバックアップ領域のフォルダ「/BACKUP」の配下に、ファイルサーバ２に記憶されているファイル「/TEST/Sample.txt」をコピーしたファイル「/TEST/Sample.txt...0」を作成する。
【００４２】
ステップＳ１０３：次に、バックアップ処理部６のテーブル更新部６３は、バックアップ管理テーブルを更新する。テーブル更新部６３は、新たな管理ＩＤを割り当てると、割り当てた当該管理番号、ファイルが作成された時刻を設定したファイル更新時刻、操作対象ファイル、すなわち、ファイルサーバ２の記憶部２１に作成されたファイルのファイル名「/TEST/Sample.txt」、ＩＰアドレス、ログインユーザ、及び、バックアップ記憶部４のバックアップ領域のフォルダ「/BACKUP」の配下に作成されたバックアップファイルのファイル名「/TEST/Sample.txt...0」を設定したレコードをバックアップ管理テーブルに登録する。なお、バックアップ管理テーブルに設定するバックアップファイルのフォルダ名では、バックアップ領域のフォルダ名「/BACKUP」を省略している。ファイル更新時刻、ＩＰアドレス、ログインユーザは、ログあるいはキャプチャされたパケットから取得するが、ファイル更新時刻は現在時刻を設定してもよい。
【００４３】
図８は、ファイル管理システムにおけるファイル上書時の処理を説明する図である。
ステップＳ１１１：図７の処理の後、ファイルサーバ２のファイル操作部２２は、ユーザ端末１から指示を受け、記憶部２１に記憶されているファイルを上書きする。ここでは、ファイルサーバ２のファイル操作部２２が、記憶部２１に記憶されているファイル「/TEST/Sample.txt」を、内容ａが記述されているものから、内容ｂが記述されているものに上書したとする。
【００４４】
ステップＳ１１２：バックアップ処理部６の検出部６１は、ファイルサーバ２のファイル操作部２２から出力されたログ、あるいは、パケットキャプチャ装置９によりキャプチャされたパケットからファイルの上書を検出する。検出部６１によりファイルの上書が検出されると、バックアップファイル生成部６２は、バックアップ領域に、階層構造のフォルダを含めて上書されたファイルをコピーし、バックアップファイルを作成する。バックアップ記憶部４に生成されているバックアップ領域のフォルダ「/BACKUP」の配下に、「/TEST/Sample.txt」のバックアップファイルがすでに生成されおり、その子番号が「0」であることから、バックアップファイル生成部６２は、バックアップファイル名の子番号として「1」を付与する。従って、バックアップファイル生成部６２は、バックアップ記憶部４に生成されているバックアップ領域のフォルダ「/BACKUP」の配下に、ファイルサーバ２に記憶されている、内容ｂのファイル「/TEST/Sample.txt」をコピーしたファイル「/TEST/Sample.txt...1」を作成する。
【００４５】
ステップＳ１１３：続いて、バックアップ処理部６のテーブル更新部６３は、バックアップ管理テーブルを更新する。テーブル更新部６３は、新たな管理ＩＤを割り当てると、当該管理番号と、ファイルが上書された時刻を設定したファイル更新時刻と、操作対象のファイル、つまり、ファイルサーバ２の記憶部２１内の上書されたファイルのファイル名「/TEST/Sample.txt」、ＩＰアドレス、ログインユーザ、及び、バックアップ記憶部４のバックアップ領域のフォルダ「/BACKUP」配下に作成されたバックアップファイルのファイル名「/TEST/Sample.txt...1」を設定したレコードをバックアップ管理テーブルに登録する。ファイル更新時刻、ＩＰアドレス、ログインユーザは、ログあるいはキャプチャされたパケットから取得するが、ファイル更新時刻は現在時刻を設定してもよい。
【００４６】
図９は、ファイル管理システムにおけるファイル削除時の処理を説明する図である。
ステップＳ１２１：ファイルサーバ２のファイル操作部２２は、ユーザ端末１から指示を受け、記憶部２１に記憶されているファイルを削除する。ここでは、図８の処理の後、記憶部２１に記憶されているファイル「/TEST/Sample.txt」が削除されたものとする。
【００４７】
ステップＳ１２２：バックアップ処理部６の検出部６１は、ファイルサーバ２のファイル操作部２２から出力されたログ、あるいは、パケットキャプチャ装置９によりキャプチャされたパケットからファイル「/TEST/Sample.txt」の削除を検出する。
【００４８】
ステップＳ１２３：検出部６１によりファイルの削除が検出されると、バックアップファイル生成部６２は、バックアップ領域に削除を示すダミーファイル（以下、削除用ダミーファイルと記載）を作成する。この削除用ダミーファイルのファイル名は、削除されたファイル名の拡張子に「...d...」＋「子番号」を付加したものとする。バックアップ記憶部４に生成されているバックアップ領域のフォルダ「/BACKUP」の配下に、「/TEST/Sample.txt」の削除用ダミーファイルが存在しないことから、バックアップファイル生成部６２は、子番号として「0」を付与する。従って、バックアップファイル生成部６２は、バックアップ記憶部４に生成されているバックアップ領域のフォルダ「/BACKUP」の配下に、ファイル名が「/TEST/Sample.txt...d...0」である削除用ダミーファイルを作成する。削除用ダミーファイルには、内容が記述されていない。
【００４９】
ステップＳ１２４：続いて、バックアップ処理部６のテーブル更新部６３は、バックアップ管理テーブルを更新する。テーブル更新部６３は、新たな管理ＩＤを割り当てると、当該管理ＩＤと、ファイルが削除された時刻を設定したファイル更新時刻と、操作対象のファイル、つまり、ファイルサーバ２の２１から削除されたファイルのファイル名「/TEST/Sample.txt」、ＩＰアドレス、ログインユーザ、及び、バックアップ記憶部４に作成された削除用ダミーファイルのファイル名「/TEST/Sample.txt...d...0」を設定したレコードをバックアップ管理テーブルに登録する。ファイル更新時刻、ＩＰアドレス、ログインユーザは、ログあるいはキャプチャされたパケットから取得するが、ファイル更新時刻は現在時刻を設定してもよい。
【００５０】
なお、図９の後、ファイルサーバ２の記憶部２１に「/TEST/Sample.txt」が再び作成された場合、ファイル操作部２２は、当該ファイルをコピーしたバックアップファイル名「/BACKUP/TEST/Sample.txt...2」のバックアップファイルを作成し、この再び作成されたファイル「/TEST/Sample.txt」が削除された場合、削除用ダミーファイル「/BACKUP/TEST/Sample.txt...d...1」を生成する。
【００５１】
図１０は、ファイル管理システムにおけるファイル名変更時の処理を説明する図である。
ステップＳ１３１：ファイルサーバ２のファイル操作部２２が、ユーザ端末１から指示を受け、記憶部２１に記憶されているファイルの名前を変更する。ここでは、図７の処理の後、ファイルサーバ２のファイル操作部２２が、記憶部２１に記憶されているファイル「/TEST」の配下のファイル「Sample.txt」の名前を、「Sample2.txt」に変更したとする。
【００５２】
ステップＳ１３２：バックアップ処理部６の検出部６１は、ファイルサーバ２のファイル操作部２２から出力されたログ、あるいは、パケットキャプチャ装置９によりキャプチャされたパケットからファイル名変更を検出する。検出部６１によりファイル名の変更が検出されると、バックアップファイル生成部６２は、バックアップ領域に、階層構造のフォルダを含めてファイル名変更後のファイル「/TEST/Sample2.txt」をコピーし、バックアップファイルを作成する。バックアップ記憶部４に生成されているバックアップ領域のフォルダ「/BACKUP」の配下に、「/TEST/Sample2.txt」のバックアップファイルが生成されていないことから、バックアップファイル生成部６２は、子番号として「0」を付与する。従って、バックアップファイル生成部６２は、バックアップ記憶部４に生成されているバックアップ領域のフォルダ「/BACKUP」の配下に、ファイルサーバ２に記憶されているファイル「/TEST/Sample2.txt」をコピーしたバックアップファイル名「/TEST/Sample2.txt...0」を作成する。
【００５３】
ステップＳ１３３：続いてバックアップファイル生成部６２は、バックアップ領域に、ファイル名変更前のファイル「/TEST/Sample.txt」の削除が検出されたものとして、内部で削除信号を発生させる。これにより、バックアップファイル生成部６２は、削除用ダミーファイルを作成する。バックアップ記憶部４に生成されているバックアップ領域のフォルダ「/BACKUP」の配下に、「/TEST/Sample.txt」の削除用ダミーファイルが存在しないことから、バックアップファイル生成部６２は、子番号として「0」を付与する。従って、バックアップファイル生成部６２は、バックアップ記憶部４に生成されているバックアップ領域のフォルダ「/BACKUP」の配下に、削除用ダミーファイル「/TEST/Sample.txt...d...0」を作成する。この、作成した削除用ダミーファイルの内容は、ファイルサーバ２の記憶部２１に記憶されているファイル名変更後のファイル「/TEST/Sample2.txt」のコピーである。
【００５４】
ステップＳ１３４：バックアップ処理部６のテーブル更新部６３は、バックアップ管理テーブルを更新する。テーブル更新部６３は、新たな管理ＩＤを割り当てると、当該管理番号と、ファイル名が変更された時刻を設定したファイル更新時刻と、変更前のファイル名「/TEST/Sample.txt」、ＩＰアドレス、ログインユーザ、及び、削除用ダミーファイルのファイル名「/TEST/Sample.txt...d...0」を設定したレコードをバックアップ管理テーブルに登録する。さらにテーブル更新部６３は、新たな管理ＩＤを割り当てると、当該管理番号と、ファイル名が変更された時刻を設定したファイル更新時刻と、変更後のファイル名「/TEST/Sample2.txt」、ＩＰアドレス、ログインユーザ、及び、バックアップファイルのファイル名「/TEST/Sample2.txt...0」を設定したレコードをバックアップ管理テーブルに登録する。
なお、ファイル更新時刻、ＩＰアドレス、ログインユーザは、ログあるいはキャプチャされたパケットから取得するが、ファイル更新時刻は現在時刻を設定してもよい。
上記のように、ファイル名変更のときには、ファイル名変更前のファイルを削除し、ファイル名変更後のファイルを作成したときと同等の処理を行なう。
【００５５】
図１１及び図１２は、ファイル管理システムにおけるフォルダ名変更時の処理を説明する図である。
【００５６】
図１１は、ファイル管理システムによるフォルダ名変更時の暫定対処処理を説明するための図である。
ステップＳ１４１：同図において、ファイル操作部２２が、ユーザ端末１から指示を受け、記憶部２１に記憶されているファイルのフォルダ名を変更する。ここでは、ファイルサーバ２の記憶部２１に、「Sample.txt」が存在するフォルダ「/TEST/FOLDER_1」が記憶されており、ユーザ端末１からの指示を受けたファイル操作部２２が、フォルダ名「FOLDER_1」をフォルダ名「FOLDER_A」に変更したとする。
【００５７】
ステップＳ１４２：バックアップ処理部６の検出部６１は、ファイルサーバ２のファイル操作部２２から出力されたログ、あるいは、パケットキャプチャ装置９によりキャプチャされたパケットからフォルダ名の変更を検出する。
【００５８】
ステップＳ１４３：検出部６１によりフォルダ名の変更が検出されると、バックアップファイル生成部６２は、バックアップ領域に、フォルダ名の変更を示すダミーファイル（以下、「フォルダ名変更用ダミーファイル」と記載）を生成する。このフォルダ名変更用ダミーファイルは、フォルダ名が変更されたフォルダより上流のフォルダの配下であり、ファイル名を「変更前フォルダ名」＋「...r...」＋「変更後フォルダ名」＋「...」＋「子番号」とする。バックアップ記憶部４に生成されているバックアップ領域のフォルダ「/BACKUP/TEST」の配下にフォルダ名変更用ダミーファイルが存在しないことから、バックアップファイル生成部６２は、子番号として「0」を付与する。従って、バックアップファイル生成部６２は、バックアップ記憶部４に生成されているバックアップ領域のフォルダ「/BACKUP」の配下に、ファイル名が「/TEST/FOLDER_1...r...FOLDER_A...0」であるフォルダ名変更用ダミーファイルを作成する。フォルダ名変更用ダミーファイルには、内容が記述されていない。
【００５９】
ステップＳ１４４：次に、バックアップ処理部６のテーブル更新部６３は、フォルダ名変更管理テーブルを更新する。テーブル更新部６３は、新たな管理ＩＤを割り当てると、当該管理ＩＤ、フォルダ名変更時刻、変更前フォルダ名「/TEST/FOLDER_1」、ＩＰアドレス、ログインユーザ、変更後フォルダ名「/TEST/FOLDER_A」を設定したレコードをフォルダ名変更管理テーブルに登録する。フォルダ名変更時刻、変更前フォルダ名及び変更後フォルダ名、ＩＰアドレス、ログインユーザは、ログあるいはキャプチャされたパケットから取得するが、フォルダ名変更時刻は現在時刻を設定してもよい。
【００６０】
なお、その後さらに、ファイルサーバ２の記憶部２１に記憶されているフォルダ「/TEST/FOLDER_A」のフォルダ名「FOLDER_A」が「FOLDER_B」に変更された場合、バックアップ処理部６の検出部６１が、ファイルサーバ２のファイル操作部２２から出力されたログ、あるいは、パケットキャプチャ装置９によりキャプチャされたパケットからフォルダ名の変更を検出する。バックアップファイル生成部６２は、バックアップ記憶部４に生成されているバックアップ領域のフォルダ「/BACKUP」の配下に、ファイル名が「/TEST/FOLDER_A...r...FOLDER_B...x」（xは子番号）であるフォルダ名変更用ダミーファイルを作成する。バックアップ処理部６のテーブル更新部６３は、新たな管理ＩＤを割り当てると、当該管理ＩＤ、フォルダ名変更時刻、変更前フォルダ名「/TEST/FOLDER_A」、ＩＰアドレス、ログインユーザ、変更後フォルダ名「/TEST/FOLDER_B」を設定したレコードをフォルダ名変更管理テーブルに登録する。
【００６１】
フォルダ名が変更された場合、そのフォルダの配下のファイルにも影響が及ぶ。つまり、名前が変更されたフォルダの配下にある全てのファイルについて、新たなフォルダ名を用いたバックアップファイルを生成する必要がある。しかし、フォルダの配下に存在するファイル数が多い場合、そのバックアップファイル生成処理に時間がかかってしまう。そこで、フォルダ名変更直後は、上記のようにフォルダ名変更用ダミーファイルを生成するとともに、フォルダ名変更管理テーブルにフォルダ名変更を登録しておき、稼働率の低い時間帯などに、以下のようなフォルダ名変更の恒久対処を行なう。
【００６２】
図１２は、ファイル管理システムにおけるフォルダ名変更時の恒久対処処理を説明するための図である。
ステップＳ１５１：同図において、バックアップ処理部６のバックアップファイル生成部６２は、稼働率の低い所定の時刻に、内部で書替え信号を発生させる。バックアップファイル生成部６２は、書替え信号の受信を契機に、テーブル記憶部５内のフォルダ名変更管理テーブルからレコードを読み出す。ここでは、フォルダ名変更時刻「T2」、変更前フォルダ名「/TEST/FOLDER_1」、変更後フォルダ名「/TEST/FOLDER_A」が設定されているレコードを読み出したものとする。
【００６３】
バックアップファイル生成部６２は、バックアップ管理テーブルを参照し、読み出したレコードに設定されている変更前フォルダ名「/TEST/FOLDER_1」配下の対象ファイルを特定する。そして、特定した各対象ファイルについて、以下を行なう。
【００６４】
バックアップファイル生成部６２は、当該対象ファイルが設定されているバックアップ管理テーブルのレコードのうち、ファイル更新時刻がフォルダ変更時刻「T2」より前であり、かつ、最も新しい時刻であるレコードを選択する。例えば、対象ファイル名「/TEST/FOLDER_1/File1.txt」について、ファイル更新時刻がフォルダ変更時刻「T2」前であり、時刻が古い順に、バックアップファイル名「/TEST/FOLDER_1/File1.txt...0」、…、「/TEST/FOLDER_1/File1.txt...d...0」、…「/TEST/FOLDER_1/File1.txt...5」が設定されているレコードが検出された場合、「/TEST/FOLDER_1/File1.txt...5」が設定されているレコードを選択する。また、対象ファイル名「/TEST/FOLDER_1/File3.txt」について、ファイル更新時刻がフォルダ変更時刻「T2」前であり、時刻が古い順に、バックアップファイル名「/TEST/FOLDER_1/File3.txt...0」、…、「/TEST/FOLDER_1/File3.txt...d...0」が設定されているレコードが検出された場合、「/TEST/FOLDER_1/File3.txt...d...0」が設定されているレコードを選択する。
ここでは、「/TEST/FOLDER_1/Sample.txt...0」が設定されているレコードのみが選択されたものとする。
【００６５】
バックアップファイル生成部６２は、選択したレコードに設定されているバックアップファイル名が削除用ダミーファイルのファイル名である場合、フォルダ名変更前に削除されたファイルであるため、何もせず終了する。バックアップファイル名が削除用ダミーファイルのファイル名ではない場合、ステップＳ１５２以降の処理を行う。
【００６６】
ステップＳ１５２：バックアップファイル生成部６２は、特定したバックアップファイルに対応した削除用ダミーファイルを生成し、同フォルダに書き込む。つまり、特定したバックアップファイル名「/BACKUP/TEST/FOLDER_1/Sample.txt...0」をコピーし、削除用ダミーファイルを作成する。この削除用ダミーファイルの名前は、拡張子以下の部分「...」＋「子番号」を、「...d...」＋「子番号」に置き換えたものとする。「/BACKUP/TEST/FOLDER_1」の配下には、同じ対象ファイルについての削除用ダミーファイルが生成されていないため、子番号に「0」を割り当て、ファイル名を「/BACKUP/TEST/FOLDER_1/Sample.txt...d...0」とする。これは、ファイルサーバ２の記憶部２１に記憶されている「/TEST/FOLDER_1/Sample.txt」が削除されたことを示す削除用ダミーファイルに相当する。
【００６７】
さらに、バックアップファイル生成部６２は、フォルダ名変更管理テーブルより読み出したレコードから変更後フォルダ名「/TEST/FOLDER_A」を取得する。バックアップ処理部６は、バックアップ記憶部４のバックアップ領域「/BACKUP」の配下に、フォルダ名変更後のバックアップファイルを作成する。つまり、バックアップファイル生成部６２は、上記において特定したバックアップファイルをコピーし、変更前フォルダ名を変更後フォルダ名に変更するとともに、バージョンの数字の部分を「0」に変更したファイル名により、バックアップ領域のフォルダに書き込む。ここでは、「/BACKUP/TEST/FOLDER_1/Sample.txt...0」が特定されたため、「TEST/FOLDER_1」を「TEST/FOLDER_A」に置き換えたバックアップファイル名「/BACKUP/TEST/FOLDER_A/Sample.txt...0」のバックアップファイルが作成される。
なお、例えば、特定したバックアップファイルが「/BACKUP/TEST/FOLDER_1/File1.txt...5」であれば、ファイル名「/BACKUP/TEST/FOLDER_A/File1.txt...0」のバックアップファイルが作成されることになる。
【００６８】
ステップＳ１５３：続いて、バックアップ処理部６のテーブル更新部６３は、新たな管理ＩＤを割り当てると、当該管理ＩＤ、ファイル更新時刻、フォルダ名変更前のファイルのファイル名「/TEST/FOLDER_1/Sample.txt」、ＩＰアドレス、ログインユーザ、及び、生成した削除用ダミーファイルのファイル名「/TEST/FOLDER_1/Sample.txt... d...0」を設定したレコードをバックアップ管理テーブルに登録する。ファイル更新時刻には、ステップＳ１５１においてフォルダ名変更管理テーブルから読み出したレコードに設定されているフォルダ名変更時刻「T2」が設定される。
さらに、テーブル更新部６３は、新たな管理ＩＤを割り当てると、当該管理ＩＤ、ファイル更新時刻、フォルダ名変更後のファイル名「/TEST/FOLDER_A/Sample.txt」、ＩＰアドレス、ログインユーザ、及び、生成したバックアップファイルのバックアップフォルダ名「/BACKUP」以下のファイル名「/TEST/FOLDER_A/Sample.txt...0」を設定したレコードをバックアップ管理テーブルに登録する。同様に、ファイル更新時刻には、フォルダ名変更時刻「T2」が設定される。
【００６９】
バックアップファイル生成部６２は、変更前フォルダ「/TEST/FOLDER_1」配下の対象ファイル全てについて上記の処理を終えると、バックアップ領域の「/BACKUP」配下の変更前フォルダ「/TEST/FOLDER_1」に存在するフォルダ変更用ダミーファイル「FOLDER_1...r...FOLDER_A...0」を削除する。さらに、テーブル更新部６３は、バックアップ管理テーブルから、ステップＳ１５１において特定したレコード、つまり、変更前フォルダ名「/TEST/FOLDER_1」と変更後フォルダ名「/TEST/FOLDER_2」が登録されているレコードを削除する。
【００７０】
フォルダ名変更管理テーブルが肥大化すると、処理が増大し、検索を行ったときのファイル一覧の表示に時間がかかってしまうようになるため、アクセスが少ない時間帯に、上記のように削除用ダミーファイル、及び、バックアップファイルを生成するとともに、バックアップ管理テーブルを縮小させる。
【００７１】
図１３は、ファイル管理システムにおけるファイル復元処理を説明する図であり、フォルダ名の変更がない場合の処理である。
ステップＳ１６１：同図において、ユーザの自身のユーザ端末１からファイル復元部７にアクセスし、所定のフォルダ名により特定されるバックアップ記憶部４内の当該ユーザ用のファイル復元領域に、ファイルを復元したい時点の日時（以下、「復元対象日時」と記載）を指定する。例えば、この復元対象日時は、当該復元対象日時を示すフォルダ作成するための指示を入力する。ここでは、「ＭＭ月ＤＤ日ＨＨ時ＭＭ分」時点におけるファイルを復元したい場合、フォルダ「MM_DD_HH_MM」を作成するものとする。従って、復元対象日時が「１月２日１５時００分」であれば、フォルダ「01_02_1500」を作成する。なお、ユーザ用のファイル復元領域は、ファイルサーバ２の記憶部２１にあってもよく、ファイル復元部７内にあってもよく、ファイル復元部７に接続されるデータベース装置などであってもよい。
【００７２】
ステップＳ１６２：ファイル復元部７の検索部７１が、ユーザ端末１からフォルダの作成指示を受信する。あるいは、ファイルサーバ２と同様に、バックアップ記憶部４から操作ログを受信し、フォルダの作成を検出してもよい。ファイル復元部７の検索部７１は、テーブル記憶部５内のバックアップ管理テーブルを検索し、復元対象日時よりも前のファイル更新時刻が設定されているレコードを抽出し、この抽出したレコードのうち、同一の対象ファイル名が設定されているものがある場合には、最も復元対象日時に近いレコードのみを残す。これにより、復元対象日時よりも前のファイル更新時刻が設定され、かつ、それぞれに異なる対象ファイル名が設定されているレコードが抽出される。続いて、検索部７１は、この抽出したレコードについて順に１レコードずつ選択し、以下の処理を行なう。なお、ここでは、ファイル更新時刻「2009/01/02/1200」、対象ファイル名「/TEST/Sample.txt」、バックアップファイル名「/TEST/Sample.txt...1」が設定されているレコードのみが特定されたとする。
【００７３】
検索部７１は、上記において特定したレコード内に、削除用ダミーファイルのフィアル名が設定されていないと判断すると、当該レコードに設定されている対象ファイル名「/TEST/FOLDER_1/Sample.txt」からパス名「/TEST/FOLDER_1」を読み出し、フォルダ名変更管理テーブルに、読み出したパス名、及び、復元対象日時より前のフォルダ名変更時刻が設定されているレコードがあるかを検索する。ここでは、特定されるレコードがない、つまり、復元対象日時「１月２日１５時００分」以前にフォルダ名が変更されたことを示すレコードが登録されていないものとする。フォルダ名が変更されたことを示すレコードが登録されていない場合、以下のステップＳ１６３以降の処理を行ない、フォルダ名が変更されたことを示すレコードが登録されている場合、後述する図１４の処理を行なうものとする。
【００７４】
ステップＳ１６３：復元部７２は、ステップＳ１６１においてユーザが生成したフォルダ「（ユーザ用のファイル復元領域のフォルダ）/01_02_1500」の配下に、特定したレコード内の対象ファイル名で示されるファイル「/TEST/FOLDER_1/Sample.txt」を生成する。そして、復元部７２は、この生成した「（ユーザ用のファイル復元領域のフォルダ）/01_02_1500/TEST/Sample.txt」が、当該特定したレコードに設定されている、バックアップ領域「/BACKUP」配下のバックアップファイル名「/TEST/FOLDER_1/Sample.txt...1」のバックアップファイルを参照することを示すシンボリックリンクを作成し、記憶する。
【００７５】
ステップＳ１６４：復元部７２は、ユーザが生成した「（ユーザ用のファイル復元領域のフォルダ）/01_02_1500」の配下に、「/TEST/FOLDER_1/Sample.txt」のファイルが存在することを示す画面をユーザ端末１に表示させる。ユーザがこのファイルの表示要求をユーザ端末１に入力すると、ファイル復元部７の復元部７２は、ユーザ端末１から表示要求とファイル名を受信する。復元部７２は、シンボリックリンクに、受信したファイル名「（ユーザ用のファイル復元領域のフォルダ）/01_02_1500/TEST/FOLDER_1/Sample.txt」に対応することが示されているバックアップ領域「/BACKUP」配下のバックアップファイル名「/TEST/FOLDER_1/Sample.txt...1」のバックアップファイルを読み出し、ユーザ端末１へ返送して表示させる。
【００７６】
なお、ステップＳ１６１において、復元対象日時「１月３日１５時００分」が指定され、ステップＳ１６２において、ファイル復元部７の検索部７１が、テーブル記憶部５内のバックアップ管理テーブルを検索して、ファイル更新時刻「2009/01/03/1200」、対象ファイル名「/TEST/Sample.txt」、バックアップファイル名「/TEST/Sample.txt...2」が設定されているレコードを特定したものとする。そして、検索部７１が、特定したレコードのバックアップファイルは削除用ダミーファイルではなく、フォルダ名変更管理テーブルに、当該レコードの対象ファイル名から読み出したパス名「/TEST/FOLDER_1」、及び、復元対象日時より前のフォルダ名変更時刻が設定されているレコードがないと判断すると、ステップＳ１６３において、復元部７２は、「（ユーザ用のファイル復元領域のフォルダ）/01_04_1500」の配下にファイル「/TEST/FOLDER_1/Sample.txt」を生成し、当該ファイルが、バックアップ領域「/BACKUP」配下のバックアップファイル名「/TEST/FOLDER_1/Sample.txt...2」のバックアップファイルを参照することを示すシンボリックリンクを作成し、記憶する。これにより、ステップＳ１６４において、復元部７２は、ユーザが生成した「（ユーザ用のファイル復元領域のフォルダ）/01_03_1500」の配下に、「/TEST/FOLDER_1/Sample.txt」が存在することを示す画面をユーザ端末１に表示させる。ユーザが表示されたファイルの表示要求をユーザ端末１に入力した場合、ファイル復元部７の復元部７２は、シンボリックリンクに、ファイル名「（ユーザ用のファイル復元領域のフォルダ）/01_03_1500/TEST/FOLDER_1/Sample.txt」に対応することが示されているバックアップ領域「/BACKUP」配下のバックアップファイル「/TEST/FOLDER_1/Sample.txt...2」を読み出し、ユーザ端末１へ返送して表示させる。
【００７７】
また、ステップＳ１６１において、復元対象日時「１月４日１５時００分」が指定され、ステップＳ１６２において、ファイル復元部７の検索部７１が、テーブル記憶部５内のバックアップ管理テーブルを検索して、時刻「2009/01/04/1200」、対象ファイル名「/TEST/FOLDER_1/Sample.txt」、バックアップファイル名「/TEST/FOLDER_1/Sample.txt...d...1」が設定されているレコードを特定したものとする。検索部７１により、特定したレコードのバックアップファイルは削除用ダミーファイルであると判断されるため、復元部７２は、「（ユーザ用のファイル復元領域のフォルダ）/01_04_1500」の配下に、特定したレコードの対象ファイル名から読み出したフォルダ「/TEST/FOLDER_1」を生成し、当該フォルダをユーザ端末１に表示させるが、ファイルは存在しないため、ファイル名は表示させない。
【００７８】
図１４は、ファイル管理システムにおけるファイル復元処理を説明する図であり、フォルダ名の変更がある場合の処理である。
ステップＳ１７１：上述した図１３のステップＳ１６１と同様の処理を行なう。ここでは、復元対象日時「１月３日１５時００分」が指定されたものとする、
【００７９】
ステップＳ１７２：上述した図１３のステップＳ１６２と同様の処理を行なう。ここでは、ファイル復元部７の検索部７１が、テーブル記憶部５内のバックアップ管理テーブルを検索し、ファイル更新時刻「2009/01/02/1200」、対象ファイル名「/TEST/Sample.txt」、バックアップファイル名「/TEST/Sample.txt...1」が設定されているレコードを特定し、特定したレコード内に削除用ダミーファイルのファイル名が設定されていないと判断する。続いて、検索部７１は、当該レコードに設定されている対象ファイル名「/TEST/Sample.txt」からフォルダ名「/TEST」を読み出し、フォルダ名変更管理テーブルに、変更前フォルダ名に読み出したフォルダ名が設定されており、かつ、復元対象日時より前のフォルダ名変更時刻が設定されているレコードを特定する。ここでは、ファイル名変更時刻「2009/01/03/1200」、変更前フォルダ名「/TEST」、変更後フォルダ名「/TEST2」が設定されたレコードが特定されたとする。さらに、検索部７１は、特定されたレコードの変更後フォルダ名「/TEST2」が、変更前フォルダ名に設定されており、かつ、復元対象日時より前のフォルダ名変更時刻が設定されているレコードを検索するが、ここでは該当するレコードはないものとする。
【００８０】
ステップＳ１７３：図１３で示したように、フォルダが変更されていないのであれば、復元部７２は、ユーザが生成したフォルダ「（ユーザ用のファイル復元領域のフォルダ）/01_03_1500」の配下に、特定したフォルダ名変更管理テーブルのレコード内の対象ファイル名で示されるファイル「/TEST/Sample.txt」を生成するが、ここでは、フォルダ名が変更されているため、「（ユーザ用のファイル復元領域のフォルダ）/01_03_1500」の配下に、変更前のフォルダ「/TEST」を変更後のフォルダ「/TEST2」に置き換えたフォルダを生成し、当該フォルダの配下にファイル「Sample.txt」を生成する。ユーザ復元部７２は、この生成した「（ユーザ用のファイル復元領域のフォルダ）/01_03_1500/TEST2/Sample.txt」が、ステップＳ１７２において特定したバックアップ管理テーブルのレコードで示される、バックアップ領域「/BACKUP」配下のバックアップファイル名「/TEST/Sample.txt...1」のバックアップファイルを参照することを示すシンボリックリンクを作成し、記憶する。
【００８１】
ステップＳ１７４：復元部７２は、ユーザが生成したフォルダ「（ユーザ用のファイル復元領域のフォルダ）/01_02_1500」の配下に、「/TEST2/Sample.txt」が存在することを示す画面をユーザ端末１に表示させる。ユーザがこのフィアルの表示要求をユーザ端末１に入力した場合、ファイル復元部７の復元部７２は、ユーザ端末１から表示要求とファイル名を受信する。復元部７２は、シンボリックリンクに、受信したファイル名「（ユーザ用のファイル復元領域のフォルダ）/01_03_1500/TEST2/Sample.txt」に対応することが示されている、バックアップ領域「/BACKUP」配下のバックアップファイル「/TEST/Sample.txt...1」を読み出し、ユーザ端末１へ返送して表示させる。
【００８２】
なお、ステップＳ１７１において、復元対象日時「１月４日１５時００分」が指定され、ステップＳ１７２において、ファイル復元部７の検索部７１が、テーブル記憶部５内のバックアップ管理テーブルを検索し、ファイル更新時刻「2009/01/04/1000」、対象ファイル名「/TEST2/Sample.txt」、バックアップファイル名「/TEST2/Sample.txt...0」が設定されているレコードを特定し、特定したレコード内に削除用ダミーファイルが設定されていないと判断する。続いて、検索部７１は、当該レコードに設定されているファイル名「/TEST2/Sample.txt」からフォルダ名「/TEST2」を読み出し、フォルダ名変更管理テーブルに、変更前フォルダ名に読み出したフォルダ名が設定されており、かつ、復元対象日時より前のフォルダ名変更時刻が設定されているレコードを特定する。ここでは、ファイル名変更時刻「2009/01/04/1200」、変更前フォルダ名「/TEST2」、変更後フォルダ名「/TEST3」が設定されているレコードが特定される。
【００８３】
この場合、ステップＳ１７３において、ユーザが生成したフォルダ「（ユーザ用のファイル復元領域のフォルダ）/01_04_1500」の配下に、変更前フォルダ「/TEST2」を変更後フォルダ「/TEST3」に置き換えたフォルダを生成し、当該フォルダの配下にファイル「Sample.txt」を生成する。復元部７２は、この生成した「（ユーザ用のファイル復元領域のフォルダ）/01_03_1500/TEST3/Sample.txt」が、ステップＳ１７２において特定したバックアップ管理テーブルのレコードで示される、バックアップ領域「/BACKUP」配下のバックアップファイル名「/TEST2/Sample.txt...0」のバックアップファイルを参照することを示すシンボリックリンクを作成し、記憶する。
【００８４】
そしてステップＳ１７４において、復元部７２は、ユーザが生成したフォルダ「（ユーザ用のファイル復元領域のフォルダ）/01_04_1500」の配下に、「/TEST3/Sample.txt」が存在することを示す画面をユーザ端末１に表示させる。ユーザがこのフィアルの表示要求をユーザ端末１に入力した場合、ファイル復元部７の復元部７２は、ユーザ端末１から表示要求とファイル名を受信する。復元部７２は、シンボリックリンクに、受信したファイル名「（ユーザ用のファイル復元領域のフォルダ）/01_03_1500/TEST3/Sample.txt」に対応することが示されているバックアップ領域「/BACKUP」配下のバックアップファイル「/TEST2/Sample.txt...1」を読み出し、ユーザ端末１へ返送して表示させる。
【００８５】
図１５は、ファイル管理システムにおける検索クロール処理を説明する図である。
ステップＳ１８１：同図において、ユーザ端末１はファイル復元部７の検索ポータル部７３にアクセスする。これにより、検索ポータル部７３は、検索条件を入力させるための検索画面をユーザ端末１へ表示させる。ユーザが、ユーザ端末１が備るキーボードなどの入力手段によりキーワードやファイル拡張子などの検索条件を入力し、検索ボタンをクリックすると、ユーザ端末１は、入力された検索条件を検索ポータル部７３へ送信する。
【００８６】
ステップＳ１８２：検索ポータル部７３は、入力された検索条件を検索エンジン部７４へ送信し、検索を要求する。
【００８７】
ステップＳ１８３、Ｓ１８４：検索エンジン部７４は、バックアップ領域、すなわち、記憶部２１に生成されている「/BACKUP」フォルダ配下を検索し、受信した検索条件内のキーワードが内容に記述されており、かつ、当該検索条件内の拡張子を有するバックアップファイルを特定し、そのバックアップファイル名をパス名付きで取得する。
【００８８】
ステップＳ１８５：検索エンジン部７４は、検索結果として取得したバックアップファイル名を検索結果として検索ポータル部７３へ出力する。
【００８９】
ステップＳ１８６：検索ポータル部７３が検索結果を受信すると、検索部７１は、検索結果に含まれる各バックアップファイル名について、以下の処理を行なう。
【００９０】
（１）検索部７１は、バックアップファイル名が設定されているバックアップ管理テーブル内のレコードを特定し、当該レコードから対象ファイル名とファイル更新時刻を読み出す。ここで読み出したファイル更新時刻を存在開始時刻とする。たとえば、バックアップファイル名「/BACKUP/TEST/Sample.txt...0」の「/BACKUP」以下が設定されているバックアップ管理テーブル内のレコードを特定し、当該レコードから対象ファイル名「/TEST/Sample.txt」とファイル更新時刻「2008/01/01/12:00:00」を読み出す。
【００９１】
（２）検索部７１は、（１）において読み出した対象ファイル名と同一の対象ファイル名が設定されているバックアップ管理テーブル内のレコードのうち、存在開始時刻以降であり、かつ、存在開始時刻に最も近い時刻が設定されているレコードを特定し、この特定した当該レコードから読み出したファイル更新時刻を存在終了時刻とする。ここでは、対象ファイル名「/TEST/Sample.txt」が設定されているバックアップ管理テーブル内のレコードのうち、存在開始時刻「2008/01/01/12:00:00」以降であり、かつ、存在開始時刻に最も近いファイル更新時刻が設定されているレコードから、存在終了時刻「2008/01/03/10:00:00」を読み出す。
【００９２】
（３）検索部７１は、フォルダ名変更管理テーブルに、存在開始時刻から存在終了時刻までの間のフォルダ名変更時刻が設定され、かつ、対象ファイル名に含まれるフォルダ名が変更前フォルダ名に設定されているレコードがあるか判断する。含まれていない場合、検索部７１は、バックアップファイル名と、対象ファイル名と、存在開始時刻及び存在終了時刻で示される存在期間とを対応付けて記憶する。
【００９３】
例えば、フォルダ名変更管理テーブルに、存在開始時刻「2008/01/01/12:00:00」から存在終了時刻「2008/01/03/10:00:00」までの間の時刻が設定されており、かつ、対象ファイル名「/TEST/Sample.txt」に含まれるフォルダ名「/TEST」が変更前フォルダ名として設定されているレコードを検索する。該当するレコードがない場合、検索部７１は、バックアップファイル名「/BACKUP/TEST/Sample.txt...0」と、対象ファイル名「/TEST/Sample.txt」と、存在開始時刻及び存在終了時刻で示される存在期間「2008/01/01/12:00:00〜2008/01/03/10:00:00」とを対応付けて記憶する。
【００９４】
一方、フォルダ名変更管理テーブルに、存在開始時刻から存在終了時刻までの間のフォルダ名変更時刻が設定され、かつ、対象ファイル名に含まれるフォルダ名が変更前フォルダ名に設定されているレコードが登録されているとする。検索部７１は、このレコードから変更後フォルダ名及びフォルダ名変更時刻を読み出し、読み出したフォルダ名変更時刻をフォルダ名変更前存在終了時刻、兼、フォルダ名変更後開始時刻とする。検索部７１は、バックアップファイル名と、対象ファイル名と、存在開始時刻及びフォルダ名変更前存在終了時刻で示される存在期間とを対応付けて記憶するとともに、バックアップファイル名と、変更前フォルダ名を変更後フォルダ名に置き換えた対象ファイル名と、フォルダ名変更前存在開始時刻及び存在終了時刻で示される存在期間とを対応付けて記憶する。
【００９５】
例えば、フォルダ名変更管理テーブルに、存在開始時刻「2008/01/01/12:00:00」から存在終了時刻「2008/01/03/10:00:00」までの間の時刻がフォルダ名変更時刻に設定されており、かつ、対象ファイル名「/TEST/Sample.txt」に含まれるフォルダ名「/TEST」が変更前フォルダ名として設定されているレコードが含まれている場合、検索ポータル部７３は、当該レコードから変更後フォルダ名「/TEST2」及びフォルダ名変更時刻「2008/01/02/12:00:00」を読み出す。検索ポータル部７３は、バックアップファイル名「/BACKUP/TEST/Sample.txt...0」と、対象ファイル名「/TEST/Sample.txt」と、存在開始時刻及びフォルダ名変更前存在終了時刻で示される存在期間「2008/01/01/12:00:00〜2008/01/02/12:00:00」とを対応付けて記憶するとともに、バックアップファイル名「/BACKUP/TEST/Sample.txt...0」と、変更前フォルダ名「/TEST」を変更後フォルダ名「/TEST2」に置き換えた対象ファイル名「/TEST2/Sample.txt」と、フォルダ名変更前存在開始時刻及び存在終了時刻で示される存在期間「2008/01/02/12:00:00〜2008/01/03/10:00:00」とを対応付けて記憶する。
【００９６】
ステップＳ１８６：検索ポータル部７３は、ステップＳ１８５において検索部７１が記憶したバックアップファイル名、対象ファイル名、及び、存在期間を対応付けた情報を受信すると、対象ファイル名及びその存在期間とを対応づけた一覧を検索結果としてユーザ端末１へ返送し、出力させる。この対象ファイル名には、対応するバックアップファイル名がリンクされている。なお、対象ファイル名とバックアップファイル名は、シンボリックリンクによって対応付けを保持してもよい。
【００９７】
なお、検索部７１は、各バックアップファイル名が設定されているバックアップ管理テーブル、フォルダ名変更管理テーブル内のレコードからログインユーザ及びＩＰの情報を読み出し、検索ポータル部７３は、バックアップファイル名に対応した対象ファイル名と併せてログインユーザ及びＩＰをユーザ端末１に表示させるようにしてもよい。また、存在期間として表示する時刻の精度は任意に設定可能である。
【００９８】
検索結果を閲覧したユーザは、ユーザ端末１に備えられたマウスにより、画面に表示されている対象ファイル名上でクリック、あるいは、ダブルクリックを行ない、ファイルのダウンロード、あるいは、実行を指示する。ユーザ端末１は、対象ファイル名にリンクされているバックアップファイル名を受信すると、復元部７２は、当該バックアップファイル名のバックアップファイルをバックアップ記憶部４から読み出し、ユーザ端末１にダウンロードするか、内容を表示させる。なお、ユーザ端末１におけるダウンロードや実行の指示には、任意のユーザインタフェースを用いることができる。
ファイル名等で検索する場合、上記手順により、ファイル更新履歴を表示することも可能となる。
【００９９】
図１６は、ファイル管理システムにおけるバックアップ管理テーブル及びバックアップ管理テーブルの復旧処理を説明する図である。
まず、ファイル管理装置３のテーブル復旧部８は、バックアップ記憶部４内のバックアップ領域、すなわち、「/BACKUP」の配下に存在するファイルを検索する。そして、この検索の結果得られたファイルそれぞれについて、ファイル生成時刻が古い順に以下の処理を行なう。
（１）検索の結果得られたファイルがバックアップファイルまたは削除用ダミーファイルである場合、テーブル復旧部８は、バックアップ管理テーブルの管理ＩＤを割り当てると、割り当てた管理ＩＤ、当該ファイルの生成時刻、検索の結果得られたファイルのフォルダ「/BACKUP」以降のファイル名をそれぞれ、管理ＩＤ、ファイル更新時刻、バックアップファイル名に設定したレコードをバックアップ管理テーブルに登録する。そして、登録したレコードの対象ファイル名に、当該レコードに設定したバックアップファイル名から「...」以降の文字列を削除したファイル名を書き込む。
【０１００】
（２）検索の結果得られたファイルがフォルダ名変更用ダミーファイルである場合、テーブル復旧部８は、フォルダ名変更管理テーブルの管理ＩＤを割り当てると、割り当てた管理ＩＤ、フォルダ名変更用ダミーファイルの生成時刻、当該フォルダ名変更用ダミーファイルから得られる変更前フォルダ名及び変更後フォルダ名を、管理ＩＤ、フォルダ名変更時刻、変更前ファイル名、変更後ファイル名に設定したレコードをフォルダ名変更管理テーブルに書き込む。
【０１０１】
例えば、バックアップ領域に、生成時刻順に、バックアップファイル「/BACKUP/TEST/Sample.txt...0」、「/BACKUP/TEST/Sample.txt...1」、「TEST...r...TEST2...0」、「/BACKUP/TEST2/Sample.txt...0」、「/BACKUP/TEST2/Sample.txt...d...0」が検出されたとする。これらのファイルには、当該ファイルの生成時に、ＯＳ（Operation System）によるファイル生成時刻が付与さており、順に生成時刻がＴ１，Ｔ２、Ｔ３、Ｔ４、Ｔ５であるとする。
【０１０２】
テーブル復旧部８は、まず、生成時刻Ｔ１のバックアップファイル名「/BACKUP/TEST/Sample.txt...0」を選択し、「/BACKUP」以降のファイル名「/TEST/Sample.txt...0」をバックアップファイル名に、当該バックアップファイル名から「...0」を除いた「/TEST/Sample.txt」を対象ファイル名に、ファイル生成時刻Ｔ１をファイル更新時刻に設定したレコードをバックアップ管理テーブルに登録する。
【０１０３】
次に、テーブル復旧部８は、生成時刻Ｔ２のバックアップファイル名「/BACKUP/TEST/Sample.txt...1」を選択し、「/BACKUP」以降のファイル名「/TEST/Sample.txt...1」をバックアップファイル名に、当該バックアップファイル名から「...1」を除いた「/TEST/Sample.txt」を対象ファイル名に、ファイル生成時刻Ｔ２をファイル更新時刻に設定したレコードをバックアップ管理テーブルに登録する。
【０１０４】
次に、テーブル復旧部８は、生成時刻Ｔ３のフォルダ名変更用ダミーファイル名「TEST...r...TEST2...0」を選択し、変更前フォルダ名「/TEST」、変更後フォルダ名「/TEST2」、ファイル生成時刻Ｔ３をフォルダ変更時刻に設定したレコードをフォルダ名変更管理テーブルに登録する。
【０１０５】
次に、テーブル復旧部８は、生成時刻Ｔ４のバックアップファイル名「/BACKUP/TEST2/Sample.txt...0」を選択し、「/BACKUP」以降のファイル名「/TEST2/Sample.txt...0」をバックアップファイル名に、当該バックアップファイル名から「...0」を除いた「/TEST2/Sample.txt」を対象ファイル名に、ファイル生成時刻Ｔ４をファイル更新時刻に設定したレコードをバックアップ管理テーブルに登録する。
【０１０６】
次に、テーブル復旧部８は、生成時刻Ｔ５の削除用ダミーファイル名「/BACKUP/TEST2/Sample.txt...d...0」を選択し、「/BACKUP」以降のファイル名「/TEST2/Sample.txt...d...0」をバックアップファイル名に、当該バックアップファイル名から「...d...0」を除いた「/TEST/Sample.txt」を対象ファイル名に、ファイル生成時刻Ｔ５をファイル更新時刻に設定したレコードをバックアップ管理テーブルに登録する。
【０１０７】
上記のように、バックアップの実体ファイルと、管理を行なうテーブルから構成されるため、テーブルが破壊された場合でも、実体のバックアップファイルからバックアップ管理テーブル及びフォルダ名変更管理テーブルを復旧することができる。
なお、ＩＰ及びログインユーザも復旧する場合は、バックアップファイル名、削除用ダミーファイル、フォルダ名変更用ダミーファイルに、ＩＰ及びログインユーザを付加したファイル名とする。
【０１０８】
本実施形態においては、ファイルサーバ２の記憶部２１にファイルが作成、上書、削除されるたびにそのファイルが複製されるため、バックアップを保管するストレージであるバックアップ記憶部４の容量が大量に必要となる。そこで、必要なファイルだけを効率的に保存する以下の技術を適用する。
例えば、バックアップ領域の記憶手段として、各ファイルの差分のみを記憶していくような重複排除技術を実装するストレージ製品を用いる。本ファイル管理システムにおいて生成されるバックアップファイルは、差分が少ないことが想定されるため、重複排除技術による圧縮効果が高いと想定される。
このような重複排除技術を用いた製品として、「次世代グリッド・ストレージiStorage HSシリーズ、日本電気株式会社，インターネット<http://www.nec.co.jp/press/ja/0709/1901.html>」、「Data Domain，インターネット< http://www.datadomain.com/jp/」、「Veritas NetBackup PureDisk，Symantec，インターネット<http://www.symantec.com/ja/jp/business/netbackup-puredisk>」などを用いることができる。
【０１０９】
また、特定のアプリケーションなどでは作業中にファイルサーバ２上に一時ファイルを作成するものがあり、このファイルについてはシステムの障害等が無い限り、ユーザが明示的に取り出すことはない。そのため、このような一時ファイルについては、バックアップを生成しないようにすることでストレージ容量を効率的に利用する。そこで、一時ファイルは、例えば、「~$abc.xxx」などであり、一時ファイルであることを示す所定の文字列「~$」が含まれている。そこで、このような一時ファイルであることを示す所定の文字列が操作対象ファイル名に含まれている場合は、上記処理の対象外とする。
【０１１０】
また、同一の対象ファイルについて、１秒〜２秒の間隔で上書があった場合、その古い時刻のほうのファイルは不要である可能性が高い。そこで、同じ対象ファイルについて２秒以下などの所定の短い間隔にて上書があった場合、古い時刻の方の対象ファイルについてのバックアップファイルを生成しないか、既にバックアップファイルを生成している場合は、古い時刻の方のバックアップファイルと、当該バックアップファイルに関するバックアップ管理テーブル内のレコードとを削除し、新しい時刻の方の対象ファイルについてのバックアップファイルをバックアップ領域に作成して、バックアップ管理テーブルには、この新しい時刻の方のバックアップファイルに関するレコードのみを登録する。
【０１１１】
図１７は、上記ファイル管理サーバのユーザインタフェース例を示す図である。
図１７（ａ）では、ユーザは、自身のユーザ端末１からファイル復元部７にアクセスし、当該ユーザ用のファイル復元領域にフォルダを生成する。そして、マウス等によりプルダウンメニューを表示させ、「過去に戻す」というメニューを選択する。ファイル復元部７は、ユーザ端末１へ復元対象時刻の入力画面を表示される。ユーザ端末１が、復元対象時刻を入力すると、ファイル復元部７は、ユーザ端末１から入力された復元対象時刻を受信する。ファイル復元部７は、図１３、図１４に示したような処理を行い、復元対象時刻において当該フォルダ配下に存在していたファイルを復元する。
【０１１２】
図１７（ｂ）では、ユーザは、自身のユーザ端末１からファイル復元部７の検索ポータル部７３にアクセスする。検索ポータル部７３は、ユーザ端末１に検索画面を表示させる。ユーザは、検索画面に、検索対象のファイル名と、過去のファイルも検索に含めるよう指示を入力する。ファイル復元部７の検索ポータル部７３は、受信した検索条件に基づいて、図１５に示したような検索を行い、得られた検索結果をユーザ端末１へ表示させる。
【０１１３】
上記実施形態によれば、ファイル変更の都度バックアップファイルを生成するため、任意の時間におけるファイルを復元することができるとともに、生成されたバックアップファイルを管理するフォルダ名変更管理テーブルによって、目的の時刻において存在していたバックアップファイルを高速に検索することができる。そして、復元は、ユーザ専用のフォルダにシンボリックリンクを作成する方式であるため、現在ファイルサーバに記憶されている内容や、他のユーザにも影響を与えことがない。また、バックアップ管理テーブル、フォルダ名変更管理テーブルが失われた場合でも、バックアップファイルから復旧すすることができる。ファイルを削除したときには、削除を示すダミーファイルを生成するため、ファイル削除も併せてバックアップ管理テーブルに復旧することができる。
さらには、重複排除技術を用いることにより、バックアップファイルの記憶領域を削減することも可能である。本実施形態では、データ構造が類似している多くのファイルが保存できること、大量の記憶領域が要求されることから、重複排除技術を用いた記憶装置（ストレージ）と組み合わせることで、記憶装置の利用効率を向上させることができる。
【０１１４】
なお、ユーザ端末１、ファイルサーバ２、及び、ファイル管理装置３は、内部にコンピュータシステムを有している。そして、上述したユーザ端末１、ファイルサーバ２のファイル操作部２２、ならびに、ファイル管理装置３のバックアップ処理部６、ファイル復元部７及びテーブル復旧部８の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、ＣＰＵや各種メモリ、ＯＳや周辺機器等のハードウェアを含むものである。
【０１１５】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【符号の説明】
【０１１６】
１…ユーザ端末
２…ファイルサーバ
２１…記憶部
２２…ファイル操作部
３…ファイル管理装置
４…バックアップ記憶部
５…テーブル記憶部
６…バックアップ処理部
６１…検出部
６２…バックアップファイル生成部
６３…テーブル更新部
７…ファイル復元部
７１…検索部
７２…復元部
７３…検索ポータル部
７４…検索エンジン部
８…テーブル復旧部
９…パケットキャプチャ装置
【図１】
2010231656.tif 000003
【図２】
2010231656.tif 000004
【図３】
2010231656.tif 000005
【図４】
2010231656.tif 000006
【図５】
2010231656.tif 000007
【図６】
2010231656.tif 000008
【図７】
2010231656.tif 000009
【図８】
2010231656.tif 000010
【図９】
2010231656.tif 000011
【図１０】
2010231656.tif 000012
【図１１】
2010231656.tif 000013
【図１２】
2010231656.tif 000014
【図１３】
2010231656.tif 000015
【図１４】
2010231656.tif 000016
【図１５】
2010231656.tif 000017
【図１６】
2010231656.tif 000018
【図１７】
2010231656.tif 000019