(57)【要約】  業務サーバの管理下にあるファイルであって、過去に存在した削除済みファイルを含む全てのファイルを、余分な複製を作らずに分析プログラムから参照できる計算機システムを実現する。  ファイルサーバとメタデータサーバと業務サーバとを備える計算機システムであって、メタデータサーバには、ファイルサーバから削除されたファイルを格納する保存領域を提供するストレージ装置が接続され、メタデータサーバは、ファイルのメタデータと保存領域に格納されるファイルの格納位置とを管理するメタデータリポジトリを保持し、ファイルサーバに格納されるファイルが削除されることを検出した場合に、ファイルを退避ファイルとして保存領域に格納し、ファイルサーバにおけるファイルの格納位置を示す情報と保存領域における退避ファイルの格納位置を示す情報とを対応づけてメタデータリポジトリに格納する。
2013042218.tif 000002
【特許請求の範囲】
【請求項１】
複数のファイルを管理するファイルサーバと、前記ファイルのメタデータを管理するメタデータサーバと、前記ファイルを用いて所定の業務処理を実行する業務サーバと、を備える計算機システムであって、
前記ファイルサーバ、前記メタデータサーバ、及び前記業務サーバは、ネットワークを介して互いに接続され、
前記ファイルサーバは、第１のプロセッサと、前記第１のプロセッサに接続される第１のメモリと、前記第１のプロセッサに接続される第１のネットワークインタフェースと、前記第１のプロセッサに接続され、前記ファイルを格納する第１の記憶媒体と、を有し、
前記メタデータサーバは、第２のプロセッサと、前記第２のプロセッサに接続される第２のメモリと、前記第２のプロセッサに接続される第２のネットワークインタフェースと、前記第２のプロセッサに接続される第２の記憶媒体と、を有し、
前記業務サーバは、第３のプロセッサと、前記第３のプロセッサに接続される第３のメモリと、前記第３のプロセッサに接続される第３のネットワークインタフェースと、を有し、
前記メタデータサーバには、コントローラと、複数の記憶媒体とを有し、前記ファイルサーバから削除された前記ファイルを格納する保存領域を提供するストレージ装置が接続され、
前記第２の記憶媒体には、前記ファイルのメタデータと、前記保存領域に格納される前記ファイルの格納位置と、を管理するメタデータリポジトリが格納され、
前記メタデータサーバは、
前記業務サーバが実行する業務処理によって前記ファイルサーバに格納される前記ファイルが削除されることを検出した場合に、前記ファイルを退避ファイルとして前記保存領域に格納し、
前記ファイルサーバにおける前記ファイルの格納位置を示す情報と、前記保存領域における前記退避ファイルの格納位置を示す情報とを対応づけて前記メタデータリポジトリに格納する、ことを特徴とする計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記計算機システムは、さらに、前記ファイルに対して所定の分析処理を実行する分析サーバを備え、
前記分析サーバは、第４のプロセッサと、前記第４のプロセッサに接続される第４のメモリと、前記第４のプロセッサに接続される第４のネットワークインタフェースと、を有し、
前記メタデータサーバは、前記分析サーバから前記ファイルの問い合わせ要求を受信した場合に、前記ファイルの問い合わせ要求によって読み出される対象ファイルの格納位置を特定して、前記特定された対象ファイルの格納位置を前記分析サーバに通知し、
前記分析サーバは、前記メタデータサーバから受信した通知に基づいて、前記対象ファイルを前記ファイルサーバ又は前記保存領域から取得して、前記分析処理を実行することを特徴とする計算機システム。
【請求項３】
請求項２に記載の計算機システムであって、
前記ファイルサーバは、前記ファイルサーバ、前記メタデータサーバ、前記業務サーバ、及び前記分析サーバに割り当てられる第１の記憶領域と、前記ファイルサーバ、前記メタデータサーバ、及び前記分析サーバに割り当てられる第２の記憶領域とを有し、
削除される前の前記ファイルは前記第１の記憶領域に格納され、
前記ファイルサーバは、前記業務サーバが実行する業務処理によって前記ファイルサーバから前記ファイルが削除されることを検出して、前記ファイルを前記第１の記憶領域から前記第２の記憶領域に移動し、
前記メタデータサーバは、
前記第２の記憶領域に格納される前記ファイルを取得して、前記取得されたファイルを前記退避ファイルとして前記保存領域に格納し、
前記ファイルサーバにおける前記ファイルの格納位置を示す情報として、前記第１の記憶領域における前記ファイルの格納位置を示す情報を前記メタデータリポジトリに格納し、
前記ファイルの削除指示を前記ファイルサーバに送信し、
前記ファイルサーバは、前記削除指示を受信した場合に、前記ファイルを前記第２の記憶領域から削除することを特徴とする計算機システム。
【請求項４】
請求項３に記載の計算機システムであって、
前記メタデータサーバは、
前記ファイルの問い合わせ要求を受信した場合に、前記メタデータリポジトリに格納される情報に基づいて、前記ファイルサーバに格納される前記ファイル及び前記保存領域に格納される前記退避ファイルの格納位置の情報を含むリスト情報を生成し、
前記生成されたリスト情報を前記分析サーバに送信することを特徴とする計算機システム。
【請求項５】
請求項３に記載の計算機システムであって、
前記ファイルサーバは、前記業務サーバが実行する業務処理によって前記ファイルサーバから前記ファイルが削除されることを検出した場合に、前記ファイルが削除される旨の通知を前記メタデータサーバに送信し、
前記メタデータサーバは、前記ファイルサーバからの通知を受信することによって、前記ファイルサーバから前記ファイルが削除されることを検出することを特徴とする計算機システム。
【請求項６】
請求項５に記載の計算機システムであって、
前記ファイルサーバは、前記ファイルサーバから所定の数の前記ファイルが削除されることを検出した場合、又は、前回送信した前記ファイルが削除される旨の通知から所定時間経過した場合に、前記メタデータサーバに前記ファイルが削除された旨の通知を送信することを特徴とする計算機システム。
【請求項７】
請求項３に記載の計算機システムであって、
前記ファイルは、複数のデータを含み、
前記ファイルサーバは、
前記業務サーバが実行する業務処理によって前記ファイルから削除されるデータである削除データが発生するか否かを判定し、
前記削除データが発生すると判定された場合、前記ファイルに含まれる前記削除データを前記第２の記憶領域に移動し、
前記メタデータサーバは、前記第２の記憶領域に格納される前記削除データを、前記退避ファイルとして前記保存領域に格納することを特徴とする計算機システム。
【請求項８】
請求項７に記載の計算機システムであって、
前記メタデータサーバは、
前記分析サーバから前記ファイルの問い合わせ要求を受信した場合に、前記メタデータリポジトリを参照して、前記対象ファイルに対応する前記削除データが存在するか否かを判定し、
前記対象ファイルに対応する前記削除データが存在すると判定された場合、前記ファイルサーバに格納される前記対象ファイルを読み出し、
前記保存領域に格納される前記削除データに対応する前記退避ファイルを取得して、前記読み出された対象ファイルに、前記退避ファイルから取得された前記削除データを上書きすることによって、前記対象ファイルを復元し、
前記復元された対象ファイルを前記分析サーバに送信することを特徴とする計算機システム。
【請求項９】
請求項３に記載の計算機システムであって、
前記計算機システムは、さらに、コントローラと、複数の記憶媒体とを有し、前記ファイルサーバに格納される前記ファイルのバックアップファイルを格納するバックアップストレージ装置を備え、
前記メタデータサーバは、
前記業務サーバが実行する業務処理によって前記ファイルサーバに格納される前記ファイルが削除されることを検出した場合に、前記バックアップストレージ装置に前記削除されるファイルと同一内容のバックアップファイルが格納されているか否かを判定し、
前記バックアップストレージ装置に前記削除されるファイルと同一内容のバックアップファイルが格納されていると判定された場合、当該バックアップファイルの格納位置を前記退避ファイルの格納位置として前記メタデータリポジトリに格納することを特徴とする計算機システム。
【請求項１０】
請求項２に記載の計算機システムであって、
前記ファイルサーバは、任意の時点の前記ファイルサーバの状態を記録したスナップショットを生成するスナップショット生成機能を有し、
前記メタデータサーバは、
前記ファイルサーバに、現在の前記ファイルサーバの状態を記録した第１のスナップショットの生成指示を送信し、
前記生成された第１のスナップショットを参照して、前記メタデータリポジトリに格納される前記メタデータを更新し、
前記メタデータのうち更新されなかった前記メタデータを抽出して、前記第１のスナップショットに、前記抽出されたメタデータに対応するファイルが存在するか否かを判定し、
前記第１のスナップショットに、前記抽出されたメタデータに対応するファイルが存在しないと判定された場合、前記第１のスナップショットより時系列が前の第２のスナップショットを取得して、当該第２のスナップショットから前記抽出されたメタデータに対応するファイルを取得し、
前記取得されたファイルを前記退避ファイルとして前記保存領域に格納することを特徴とする計算機システム。
【請求項１１】
複数のファイルを管理するファイルサーバと、前記ファイルのメタデータを管理するメタデータサーバと、前記ファイルを用いて所定の業務処理を実行する業務サーバと、前記ファイルに対して所定の分析処理を実行する分析サーバと、を備える計算機システムにおけるファイル管理方法であって、
前記ファイルサーバ、前記メタデータサーバ、前記業務サーバ、及び分析サーバは、ネットワークを介して互いに接続され、
前記ファイルサーバは、第１のプロセッサと、前記第１のプロセッサに接続される第１のメモリと、前記第１のプロセッサに接続される第１のネットワークインタフェースと、前記第１のプロセッサに接続され、前記ファイルを格納する第１の記憶媒体と、を有し、
前記メタデータサーバは、第２のプロセッサと、前記第２のプロセッサに接続される第２のメモリと、前記第２のプロセッサに接続される第２のネットワークインタフェースと、前記第２のプロセッサに接続される第２の記憶媒体と、を有し、
前記業務サーバは、第３のプロセッサと、前記第３のプロセッサに接続される第３のメモリと、前記第３のプロセッサに接続される第３のネットワークインタフェースと、を有し、
前記分析サーバは、第４のプロセッサと、前記第４のプロセッサに接続される第４のメモリと、前記第４のプロセッサに接続される第４のネットワークインタフェースと、を有し、
前記メタデータサーバには、コントローラと、複数の記憶媒体とを有し、前記ファイルサーバから削除された前記ファイルを格納する保存領域を提供するストレージ装置が接続され、
前記第２の記憶媒体には、前記ファイルのメタデータと、前記保存領域に格納される前記ファイルの格納位置と、を管理するメタデータリポジトリが格納され、
前記方法は、
前記メタデータサーバが、前記業務サーバが実行する業務処理によって前記ファイルサーバに格納される前記ファイルが削除されることを検出した場合に、前記ファイルを退避ファイルとして前記保存領域に格納する第１のステップと、
前記メタデータサーバが、前記ファイルサーバにおける前記ファイルの格納位置を示す情報と、前記保存領域における前記退避ファイルの格納位置を示す情報とを対応づけて前記メタデータリポジトリに格納する第２のステップと、
前記メタデータサーバが、前記分析サーバから前記ファイルの問い合わせ要求を受信した場合に、前記ファイルの問い合わせ要求によって読み出される対象ファイルの格納位置を特定し、前記特定された対象ファイルの格納位置を前記分析サーバに通知する第３のステップと、
前記分析サーバが、前記メタデータサーバから受信した通知に基づいて、前記対象ファイルを前記ファイルサーバ又は前記保存領域から取得して、前記分析処理を実行する第４のステップと、を含むことを特徴とするファイル管理方法。
【請求項１２】
請求項１１に記載のファイル管理方法であって、
前記ファイルサーバは、前記ファイルサーバ、前記メタデータサーバ、前記業務サーバ、及び前記分析サーバに割り当てられる第１の記憶領域と、前記ファイルサーバ、前記メタデータサーバ、及び前記分析サーバに割り当てられる第２の記憶領域とを有し、
削除される前の前記ファイルは前記第１の記憶領域に格納され、
前記第１のステップは、
前記ファイルサーバが、前記業務サーバが実行する業務処理によって前記ファイルサーバから前記ファイルが削除されることを検出して、前記ファイルを前記第１の記憶領域から前記第２の記憶領域に移動するステップと、
前記メタデータサーバが、前記第２の記憶領域に格納される前記ファイルを取得して、前記取得されたファイルを前記退避ファイルとして前記保存領域に格納するステップと、を含み、
前記第２のステップは、
前記メタデータサーバが、前記ファイルサーバにおける前記ファイルの格納位置を示す情報として、前記第１の記憶領域における前記ファイルの格納位置を示す情報が前記メタデータリポジトリに格納するステップと、
前記メタデータサーバが、前記ファイルの削除指示を前記ファイルサーバに送信するステップと、
前記ファイルサーバが、前記削除指示を受信した場合に、前記ファイルを前記第２の記憶領域から削除するステップと、を含むことを特徴とするファイル管理方法。
【請求項１３】
請求項１２に記載のファイル管理方法であって、
前記第３のステップは、
前記メタデータサーバが、
前記メタデータリポジトリに格納される情報に基づいて、前記ファイルサーバに格納される前記ファイル及び前記保存領域に格納される前記退避ファイルの格納位置の情報を含むリスト情報を生成するステップと、
前記生成されたリスト情報を前記分析サーバに送信するステップと、を含むことを特徴とするファイル管理方法。
【請求項１４】
請求項１２に記載のファイル管理方法であって、
前記第１のステップでは、前記ファイルサーバから送信された前記ファイルが削除される旨の通知を受信することによって、前記ファイルサーバから前記ファイルが削除されることを検出することを特徴とするファイル管理方法。
【請求項１５】
請求項１４に記載のファイル管理方法であって、
前記ファイルサーバは、前記ファイルサーバから所定の数の前記ファイルが削除されることを検出した場合、又は、前回送信した前記ファイルが削除される旨の通知から所定時間経過した場合に、前記メタデータサーバに前記ファイルが削除された旨の通知を送信することを特徴とするファイル管理方法。
【請求項１６】
請求項１２に記載のファイル管理方法であって、
前記ファイルは、複数のデータを含み、
前記第１のステップは、
前記ファイルサーバが、
前記業務サーバが実行する業務処理によって前記ファイルから削除されるデータである削除データが発生するか否かを判定するステップと、
前記削除データが発生すると判定された場合、前記ファイルに含まれる前記削除データを前記第２の記憶領域に移動するステップと、
前記メタデータサーバが、前記第２の記憶領域に格納される前記削除データを、前記退避ファイルとして前記保存領域に格納するステップと、を含むことを特徴とするファイル管理方法。
【請求項１７】
請求項１６に記載のファイル管理方法であって、
前記第３のステップは、
前記メタデータサーバが、
前記メタデータリポジトリを参照して、前記対象ファイルに対応する前記削除データが存在するか否かを判定するステップと、
前記対象ファイルに対応する前記削除データが存在すると判定された場合、前記ファイルサーバに格納される前記対象ファイルを読み出すステップと、
前記保存領域に格納される前記削除データに対応する前記退避ファイルを取得して、前記読み出された対象ファイルに、前記退避ファイルから取得された前記削除データを上書きすることによって、前記対象ファイルを復元するステップと、
前記復元された対象ファイルを前記分析サーバに送信するステップと、を含むことを特徴とするファイル管理方法。
【請求項１８】
請求項１２に記載のファイル管理方法であって、
前記計算機システムは、さらに、コントローラと、複数の記憶媒体とを有し、前記ファイルサーバに格納される前記ファイルのバックアップファイルを格納するバックアップストレージ装置を備え、
前記第１のステップは、前記メタデータサーバが、前記業務サーバが実行する業務処理によって前記ファイルサーバに格納される前記ファイルが削除されることを検出した場合に、前記バックアップストレージ装置に前記削除されるファイルと同一内容のバックアップファイルが格納されているか否かを判定するステップを含み、
前記第２のステップは、前記メタデータサーバが、前記バックアップストレージ装置に前記削除されるファイルと同一内容のバックアップファイルが格納されていると判定された場合、当該バックアップファイルの格納位置を前記退避ファイルの格納位置として前記メタデータリポジトリに格納するステップを含むことを特徴とするファイル管理方法。
【請求項１９】
請求項１１に記載のファイル管理方法であって、
前記ファイルサーバは、任意の時点の前記ファイルサーバの状態を記録したスナップショットを生成するスナップショット生成機能を有し、
前記第１のステップは、
前記メタデータサーバが、
現在の前記ファイルサーバの状態を記録した第１のスナップショットの生成指示を前記ファイルサーバに送信するステップと、
前記生成された第１のスナップショットを参照して、前記メタデータリポジトリに格納される前記メタデータを更新するステップと、
前記メタデータのうち更新されなかった前記メタデータを抽出して、前記第１のスナップショットに前記抽出されたメタデータに対応するファイルが存在するか否かを判定するステップと、を含み、
前記第２のステップは、
前記メタデータサーバが、
前記第１のスナップショットに前記抽出されたメタデータに対応するファイルが存在しないと判定された場合、前記第１のスナップショットより時系列が前の第２のスナップショットを取得して、当該第２のスナップショットから前記抽出されたメタデータに対応するファイルを取得するステップと、
前記取得されたファイルを前記退避ファイルとして前記保存領域に格納するステップと、を含むことを特徴とするファイル管理方法。
【請求項２０】
プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続されるネットワークインタフェースと、前記プロセッサに接続されるローカルストレージを備え、ネットワークを介して接続されるファイルサーバに格納される複数のファイルのメタデータを管理するメタデータサーバであって、
前記メタデータサーバは、前記ファイルに対して所定の分析処理を実行する分析サーバ、及び、前記ファイルサーバから削除された前記ファイルを格納する退避用ストレージ装置が接続され、
前記メモリには、前記メタデータを管理するメタデータ管理プログラム、前記ファイルサーバから前記ファイルが削除されることを検出するファイル削除検出プログラム、前記ファイルサーバから削除される前記ファイルを前記退避用ストレージに移動させるファイル退避プログラム、及び、前記分析サーバからの前記ファイルの問い合わせ要求を処理する問い合わせ処理プログラムが格納され、
前記ローカルストレージには、前記ファイルのメタデータを管理するメタデータ管理テーブルと、前記保存領域に格納される前記ファイルを管理するファイル退避管理テーブルとを含むメタデータリポジトリが格納され、
前記メタデータ管理プログラムを実行する前記プロセッサが、前記ファイルサーバに格納される前記ファイルのメタデータを取得して前記メタデータ管理テーブルを更新し、
前記ファイル削除検出プログラムを実行する前記プロセッサが、前記ファイルサーバに格納される前記ファイルが削除されることを検出し、
前記ファイル退避プログラムを実行するプロセッサが、前記ファイルを退避ファイルとして前記退避用ストレージ装置にコピーし、
前記ファイル退避プログラムを実行するプロセッサが、前記退避用ストレージ装置における前記退避ファイルの格納位置を示す情報を前記ファイル退避管理テーブルに格納し、
前記問い合わせ処理プログラムを実行するプロセッサが、前記ファイルの問い合わせ要求を受信した場合に、前記ファイルの問い合わせ要求によって読み出される対象ファイルの格納位置を特定して、前記特定された対象ファイルの格納位置を含むリストを生成し、
前記問い合わせ処理プログラムを実行するプロセッサが、前記生成されたリストを前記分析サーバに送信することを特徴とするメタデータサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置と、ストレージ装置に格納されるファイルのメタデータを管理するメタデータサーバと、所定の業務処理を実行する業務サーバと、業務サーバが利用するデータに対する分析処理を実行する分析サーバとから構成される計算機システムにおけるファイル管理方法に関する。
【背景技術】
【０００２】
複数の計算機と、ストレージ装置に対応する複数のファイルサーバとをネットワークで接続した計算機システムでは、計算機上で稼動する業務プログラムに業務に必要な処理を実行させる。業務プログラムとは、例えば文書管理システムのような自律的に動作するプログラムや、ユーザが利用する文書作成プログラムのような対話的なプログラムがある。【０００３】
業務プログラムが処理の実行に必要とする業務データをファイルサーバに格納することによって、システムの構成変更やストレージの容量の管理を柔軟にできる。【０００４】
また、ファイルサーバに格納された業務データを、業務プログラムとは異なる計算機上で稼動する分析プログラムに統計処理等の分析処理を実行させることによって、企業経営に有用な情報を得ることが広く行われている。【０００５】
業務プログラムは、処理の過程で、ファイルサーバに格納されるファイルを削除する場合がある。一方、分析プログラムはより有用な情報を取得するために、ファイルサーバから削除されたファイルを含む、計算機システムの全てのファイルを過去に遡って取得して、分析することが好ましい。【０００６】
削除されたファイルを後で読み出せるようにする方法として、バックアップシステムを用いる方法がある。バックアップシステムは、ファイルサーバに格納されるデータを周期的に読み出し、別のバックアップ用ストレージ装置に複製する。しかし、バックアップシステムでは、ファイルサーバ及びバックアップ用ストレージ装置に同一データを保持するため、記憶領域の利用効率が悪い。【０００７】
また、別の方法として、ファイルサーバが備えるスナップショット機能を用いる方法がある。スナップショット機能を用いることによって、記憶領域の消費量を抑えつつ、過去のある時点のファイルサーバの状態を複数保持できる。しかし、作成できるスナップショットの数には制限があるため、例えば、５年以上の過去に遡った時点において存在したファイルを取得する用途には適さない。【０００８】
また、ファイルを別のストレージ装置へ移動する方法として、アーカイブシステムがある。アーカイブシステムは、所定の条件を満たすファイル（例えば、一定期間更新されていないファイル）を、別のストレージへ移動するシステムである。しかし、アーカイブシステムでは、ファイルシステムに存在するファイルのみを対象とするため、例えば、条件として「削除されたファイル」といった指定を行うことができない。【０００９】
また、ユーザの操作によって削除されたファイルを実際には削除せず別の記憶領域に退避しておき、後から復元できるようにする技術が特許文献１に記載されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００８−１７０４９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかし、特許文献１に記載の技術では、削除されたファイルを一度復元すると、そのファイルはシステムの管理対象外となる。従って、分析プログラムに、削除されたファイルを含む、計算機システムの全てのファイルを過去に遡って提供するという目的を達成することができない。【００１２】
本発明は、業務プログラムの管理下にあるファイルであって、過去に存在した削除済みファイルを含む全てのファイルを、余分な複製を作らずに分析プログラムから参照可能にする計算機システムを実現することである。
【課題を解決するための手段】
【００１３】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数のファイルを管理するファイルサーバと、前記ファイルのメタデータを管理するメタデータサーバと、前記ファイルを用いて所定の業務処理を実行する業務サーバと、を備える計算機システムであって、前記ファイルサーバ、前記メタデータサーバ、及び前記業務サーバは、ネットワークを介して互いに接続され、前記ファイルサーバは、第１のプロセッサと、前記第１のプロセッサに接続される第１のメモリと、前記第１のプロセッサに接続される第１のネットワークインタフェースと、前記第１のプロセッサに接続され、前記ファイルを格納する第１の記憶媒体と、を有し、前記メタデータサーバは、第２のプロセッサと、前記第２のプロセッサに接続される第２のメモリと、前記第２のプロセッサに接続される第２のネットワークインタフェースと、前記第２のプロセッサに接続される第２の記憶媒体と、を有し、前記業務サーバは、第３のプロセッサと、前記第３のプロセッサに接続される第３のメモリと、前記第３のプロセッサに接続される第３のネットワークインタフェースと、を有し、前記メタデータサーバには、コントローラと、複数の記憶媒体とを有し、前記ファイルサーバから削除された前記ファイルを格納する保存領域を提供するストレージ装置が接続され、前記第２の記憶媒体には、前記ファイルのメタデータと、前記保存領域に格納される前記ファイルの格納位置と、を管理するメタデータリポジトリが格納され、前記メタデータサーバは、前記業務サーバが実行する業務処理によって前記ファイルサーバに格納される前記ファイルが削除されることを検出した場合に、前記ファイルを退避ファイルとして前記保存領域に格納し、前記ファイルサーバにおける前記ファイルの格納位置を示す情報と、前記保存領域における前記退避ファイルの格納位置を示す情報とを対応づけて前記メタデータリポジトリに格納する、ことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、メタデータサーバは、余分な複製を作成することなく、ファイルサーバから削除されたファイルを管理することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の処理の概要を説明するブロック図である。
【図２】本発明の第一の実施形態における計算機システムの構成を説明するブロック図である。
【図３】本発明の第一の実施形態におけるメタデータサーバの構成を説明するブロック図である。
【図４】本発明の第一の実施形態におけるストレージ管理テーブルの構成の一例を示す説明図である。
【図５】本発明の第一の実施形態における名前空間管理テーブルの構成の一例を示す説明図である。
【図６】本発明の第一の実施形態におけるメタデータ管理テーブルの構成の一例を示す説明図である。
【図７】本発明の第一の実施形態におけるファイル退避管理テーブルの構成の一例を示す説明図である。
【図８】本発明の第一の実施形態におけるファイルサーバの構成を説明するブロック図である。
【図９】本発明の第一の実施形態におけるメタデータ管理プログラムが実行する処理を説明するフローチャートである。
【図１０】本発明の第一の実施形態におけるファイル共有プログラムが実行する処理を説明するフローチャートである。
【図１１Ａ】本発明の第一の実施形態におけるファイル削除検出プログラムが実行する処理を説明するフローチャートである。
【図１１Ｂ】本発明の第一の実施形態におけるファイル削除検出プログラムが実行する処理を説明するフローチャートである。
【図１１Ｃ】本発明の第一の実施形態におけるファイル削除検出プログラムが実行する処理を説明するフローチャートである。
【図１２】本発明の第一の実施形態において、ファイルが移動した後のメタデータ管理テーブルを示す説明図である。
【図１３】本発明の第一の実施形態において、ファイルが移動した後のファイル退避管理テーブルを示す説明図である。
【図１４】本発明の第一の実施形態における問い合わせ処理プログラムが実行する処理を説明するフローチャートである。
【図１５Ａ】本発明の第一の実施形態におけるリストの構成の一例を示す説明図である。
【図１５Ｂ】本発明の第一の実施形態におけるリストの構成の一例を示す説明図である。
【図１６】本発明の第一の実施形態における分析プログラムが実行するファイル分析処理を説明するフローチャートである。
【図１７】本発明の第二の実施形態における隠蔽化ファイル管理テーブルの構成の一例を示す説明図である。
【図１８】本発明の第二の実施形態におけるファイル共有プログラムが実行する処理を説明するフローチャートである。
【図１９】本発明の第三の実施形態におけるファイル退避管理テーブルの構成の一例を示す説明図である。
【図２０】本発明の第三の実施形態における隠蔽化ファイル管理テーブルの構成の一例を示す説明図である。
【図２１】本発明の第三の実施形態におけるファイル共有プログラムが実行する処理を説明するフローチャートである。
【図２２】本発明の第三の実施形態における、ファイル削除検出プログラムが実行する処理を説明するフローチャートである。
【図２３】本発明の第三の実施形態におけるメタデータ管理テーブルの一例を示す説明図である。
【図２４】本発明の第三の実施形態におけるメタデータ管理テーブルの一例を示す説明図である。
【図２５】本発明の第三の実施形態におけるファイル退避管理テーブルの一例を示す説明図である。
【図２６】本発明の第三の実施形態におけるファイル代理読み出しプログラムが実行する処理を説明するフローチャートである。
【図２７】本発明の第三の実施形態における復元処理の詳細を説明するフローチャートである。
【図２８】本発明の第四の実施形態におけるストレージ管理テーブルの構成の一例を示す説明図である。
【図２９】本発明の第四の実施形態における名前空間管理テーブルの構成の一例を示す説明図である。
【図３０】本発明の第四の実施形態におけるメタデータ管理テーブルの構成の一例を示す説明図である。
【図３１】本発明の第四の実施形態におけるファイル削除検出プログラムが実行する処理を説明するフローチャートである。
【図３２Ａ】本発明の第五の実施形態におけるメタデータ管理プログラムが実行する処理を説明するフローチャートである。
【図３２Ｂ】本発明の第五の実施形態におけるメタデータ管理プログラムが実行する処理を説明するフローチャートである。
【発明を実施するための形態】
【００１６】
まず、本発明の概要について説明する。
【００１７】
図１は、本発明の処理の概要を説明するブロック図である。
【００１８】
本発明における計算機システム５００は、メタデータサーバ１、退避用ストレージ装置２、複数のファイルサーバ４、複数の業務サーバ５及び複数の分析サーバ６から構成される。
【００１９】
業務サーバ５は、所定の業務を実行する計算機であり、業務プログラム５１が稼動する。業務プログラム５１は、ファイルサーバ４に格納されるファイルを用いて所定の業務を実行する。
【００２０】
図１に示す例では、業務プログラム５１は、パス名が「／Ａ／ａ．ｄｏｃ」であるファイル１０００−１、及び、パス名が「／Ａ／ｃ．ｄｏｃ」であるファイル１０００−２を用いて所定の業務を実行する。以下、ファイルを区別しない場合には、ファイル１０００と記載する。
【００２１】
分析サーバ６は、ファイル１０００を分析する計算機であり、分析プログラム６１が稼動している。分析プログラム６１は、業務プログラム５１が用いるファイル１０００−１、１０００−２を読み出し、統計処理等の分析処理を実行する。
【００２２】
メタデータサーバ１は、複数のファイルサーバ４に格納されるファイルのメタデータを管理する計算機である。本実施形態のメタデータサーバ１は、ファイルサーバ４から削除されたファイルに関するメタデータも管理している点に特徴がある。
【００２３】
ここで、メタデータとは、ファイルに設定される属性値の集合を示す。例えば、メタデータには、ファイルの所有者、ファイルの所有グループ、アクセス制御情報、ファイルの作成日、ファイルの更新日、ファイルのメタデータ更新日、ファイルの大きさ、及びその他のユーザ定義の属性値が含まれる。
【００２４】
メタデータサーバ１は、ファイルのメタデータが格納されるメタデータリポジトリを管理する。メタデータリポジトリには、ファイルサーバ４に格納されるファイルを特定するフィールド、退避用ストレージ装置２に格納されるファイルを特定するフィールド、及びファイルの状態を示すフィールドが含まれる。
【００２５】
ファイルサーバ４に格納されるファイルを特定するフィールドには、パス名及びストレージ名が含まれる。退避用ストレージ装置２に格納されるファイルを特定するフィールドとしては、パス名及びストレージ名が含まれる。また、ファイルの状態を示すフィールドとしては、ファイルサーバ４にファイルが存在するか否かを示す情報が格納される。
【００２６】
次に、業務プログラム５１が、ファイル１０００−１を削除する場合に実行される処理の概要について説明する。
【００２７】
業務プログラム５１が、識別名が「ＦＳ１」であるファイルサーバ４に対して、ファイル１０００−１の削除要求を送信する（ステップＳ１００１）。
【００２８】
ファイルサーバ４は、ファイルの削除要求を検出すると、ファイル１０００−１の削除を保留して、メタデータサーバ１にファイル１０００−１に対する削除要求を受信した旨を通知する（ステップＳ１００２）。
【００２９】
メタデータサーバ１は、ファイルサーバ４からの通知を受信すると（ステップＳ１００３）、メタデータリポジトリ１５０に格納されるファイル１０００−１に対応するレコードを更新する（ステップＳ１００４）。具体的には、ファイルの状態を示すフィールドにファイル１０００−１が削除されることを示す「削除」が格納される。
【００３０】
次に、メタデータサーバ１は、ファイル１０００−１を退避用ストレージ装置２に移動する（ステップＳ１００５）。具体的には、メタデータサーバ１は、ファイルサーバ４からファイル１０００−１を取得し、退避用ストレージ装置２のファイルシステム２２にファイル１００８として格納する。
【００３１】
図１に示す例では、パス名が「ｒ／ＦＳ１／Ａ／ａ．ｄｏｃ」にファイル１００８が格納される。なお、退避用ストレージ装置２におけるパス名は、重複しないように設定される。
【００３２】
次に、メタデータサーバ１は、ファイル１０００−１の削除をファイルサーバ４に指示する（ステップＳ１００６）。ファイルサーバ４は、当該指示を受け付けるとファイル１０００−１を削除し、業務プログラム５１にファイル１０００−１の削除完了を応答する。
【００３３】
最後に、メタデータサーバ１は、メタデータリポジトリ１５０のファイル１０００−１のメタデータに対応するレコードを更新する（ステップＳ１００７）。具体的には、退避用ストレージ装置２に格納されるファイルを特定するフィールドに、ファイル１００８のパス名「ｒ／ＦＳ１／Ａ／ａ．ｄｏｃ」と、ファイル１００８が格納される退避用ストレージ装置２の識別名「Ｓ１」とが格納される。
【００３４】
図１では、ファイル１０００−１の削除前と削除後のメタデータリポジトリ１５０の変化を示している。
【００３５】
次に、分析プログラム６１が、現在及び過去のファイルを分析対象とする分析処理の概要について説明する。ここでは、業務プログラム５１によって、ファイルサーバ４からファイル１０００−１が削除され、退避用ストレージ装置２にファイル１０００−１が移動された後の分析処理について説明する。
【００３６】
分析プログラム６１は、メタデータサーバ１に対して、現在格納されているファイル及び過去に存在したファイルを含む全ファイルの問い合わせを行う（ステップＳ１０１１）。具体的には、分析プログラム６１は、全ファイルのリストをメタデータサーバ１に要求する。
【００３７】
メタデータサーバ１は、メタデータリポジトリ１５０に基づいてリストを生成し、生成されたリストを分析プログラム６１に対して応答する（ステップＳ１０１２）。
【００３８】
なお、リストは、ファイルを特定するための情報を含む複数のエントリから構成される。当該エントリは、ファイルのパス名、格納先のストレージ装置の識別名、ファイルのファイルサーバ４におけるメタデータ、及びファイルの状態を示すフィールドを含む。
【００３９】
ファイルサーバ４から削除されたファイル１０００−１のエントリには、さらに、ファイルの退避先のパス名、及び退避用ストレージ装置２の識別名を含む。また、当該エントリのファイルの状態を示すフィールドには、ファイルが削除済みであることを示す情報が格納される。
【００４０】
分析プログラム６１は、メタデータサーバ１から取得したリストに基づいて、ファイルの格納場所を特定する。
【００４１】
図１に示す例では、分析プログラム６１は、パス名が「／Ａ／ａ．ｄｏｃ」、「／Ａ／ｃ．ｄｏｃ」である二つのファイルがファイルサーバ４に存在していたことが分かる。さらに、分析プログラム６１は、前述したファイルのうち、パス名が「／Ａ／ａ．ｄｏｃ」のファイルはファイルサーバ４からは削除され、識別名が「Ｓ１」である退避用ストレージ装置２に、パス名が「ｒ／ＦＳ１／Ａ／ａ．ｄｏｃ」であるファイル１００８として格納されていることが分かる。
【００４２】
分析プログラム６１は、リストを参照して、分析処理に必要な全ファイルを取得する（ステップＳ１０１３、ステップＳ１０１４）。すなわち、分析プログラム６１は、ファイルサーバ４に格納されるファイル１０００−２をファイルサーバ４から取得し、ファイルサーバ４から削除されたファイル１０００−１に対応するファイル１００８を退避用ストレージ装置２から取得する。
【００４３】
以上で説明したように、メタデータサーバ１は、業務プログラム５１が業務実行時に削除したファイルを、分析プログラム６１が分析できるよう管理することができる。
【００４４】
このように、本発明は、ファイルサーバ４からファイルを削除する場合に、ファイルサーバ４から削除される前に退避用ストレージ装置２へ移動させるため、不必要なファイルの複製を作らない。
【００４５】
以降、ファイル１０００−１のように、ファイルサーバ４から削除され、メタデータサーバ１に問い合わせることによって内容を取得できるファイルを削除ファイルと呼ぶ。また、退避用ストレージ装置に格納された削除ファイルの複製を退避ファイルと呼ぶ。また、削除対象のファイルであって、削除ファイルとなる前にファイルサーバ４に格納されていたファイルをオリジナルファイルと呼ぶ。また、ファイルサーバ４に格納され、削除されていないファイルを、通常ファイルと呼ぶ。
【００４６】
［第一の実施形態］
【００４７】
図２は、本発明の第一の実施形態における計算機システム５００の構成を説明するブロック図である。
【００４８】
計算機システム５００は、メタデータサーバ１、退避用ストレージ装置２、バックアップストレージ装置３、複数のファイルサーバ４、複数の業務サーバ５、複数の分析サーバ６、及びネットワーク７から構成される。
【００４９】
メタデータサーバ１、退避用ストレージ装置２、バックアップストレージ装置３、ファイルサーバ４、業務サーバ５、及び分析サーバ６は、ネットワーク７を介して相互に通信できる。なお、ネットワーク７は、ＬＡＮ  （Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ  （Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、及びインターネット等を用いて構成することができる。本発明はネットワーク７の接続方式に限定されない。
【００５０】
メタデータサーバ１は、メタデータを管理する計算機である。なお、メタデータサーバ１は、仮想化技術を用いて生成された仮想計算機であってもよい。
【００５１】
メタデータサーバ１は、メタデータサーバプログラム１１０及びメタデータリポジトリ１５０を備える。他の構成要素については後述する。
【００５２】
退避用ストレージ装置２は、様々なファイルを格納するストレージ装置である。
【００５３】
ここで、ストレージ装置とは、コントローラ（図示省略）、ネットワークインタフェース（図示省略）、及び一以上の記憶媒体（図示省略）を備え、当該記憶媒体の記憶領域を計算機に提供することができる装置を示す。ストレージ装置は、複数の記憶媒体を用いてＲＡＩＤを構成することができ、さらに、物理的な記憶領域を複数の論理記憶領域を生成することができる。また、論理記憶領域ごとに異なるファイルシステムを構築することができる。
【００５４】
退避用ストレージ装置２は、ファイル共有プログラム２１及びファイルシステム２２を備える。ファイル共有プログラム２１は、ネットワーク７を介してメタデータサーバ１から受信したファイルアクセス要求にしたがって、ファイルシステム２２にファイルを格納し、また、ファイルシステム２２からファイルを読み出す。他の構成要素については後述する。
【００５５】
バックアップストレージ装置３は、様々なファイルを格納するストレージ装置である。ただし、バックアップストレージ装置３は、特にファイルのバックアップを目的として利用される。バックアップストレージ装置３は、バックアッププログラム３１及びファイルシステム３２を備える。他の構成要素については後述する。
【００５６】
ファイルサーバ４は、様々なファイルを格納し、当該ファイルを管理する計算機である。特に、ファイルサーバ４には、業務プログラム５１が業務処理を実行するために必要なファイルが格納される。ファイルサーバ４は、ファイル共有プログラム４１１及びファイルシステム４５２を備える。他の構成要素については後述する。
【００５７】
なお、計算機上では、ファイルサーバ４も一種のストレージ装置として認識される。
【００５８】
業務サーバ５は、業務処理を実現するために必要なプログラムを実行する計算機である。なお、業務サーバ５は、仮想化技術を用いて生成された仮想計算機であってもよい。
【００５９】
業務サーバ５は、業務プログラム５１を備える。業務プログラム５１は、定められた業務処理を行うプログラムであり、ファイルサーバ４から業務処理に必要なデータを取得して所定の業務処理を実行する。他の構成要素については後述する。
【００６０】
分析サーバ６は、分析処理を実現するために必要なプログラムを実行する計算機である。なお、分析サーバ６は、仮想化技術を用いて生成された仮想計算機であってもよい。
【００６１】
分析サーバ６は、分析プログラム６１を備える。分析プログラム６１は、ファイルサーバ４に格納され、業務プログラム５１が業務処理のために利用するファイルを読み出し、読み出されたファイルを用いて分析処理を実行する。
【００６２】
図３は、本発明の第一の実施形態におけるメタデータサーバ１の構成を説明するブロック図である。
【００６３】
メタデータサーバ１は、メモリ１１、プロセッサ１２、ネットワークインタフェース１３、及びローカルストレージ１５を備え、各構成要素は、内部バス１６を介して相互に接続される。
【００６４】
プロセッサ１２は、メモリ１１に格納されるプログラムを実行する。プロセッサ１２がプログラムを実行することによって、メタデータサーバ１が備える機能を実現できる。
【００６５】
メモリ１１は、メタデータサーバプログラム１１０を格納する。メタデータサーバプログラム１１０は、メタデータサーバ１が備える機能を実現するためのプログラムであり、複数のサブプログラムから構成される。
【００６６】
具体的には、メタデータサーバプログラム１１０は、問い合わせ処理プログラム１１１、メタデータ管理プログラム１１２、ファイル削除検出プログラム１１３、ファイル退避プログラム１１４、及びファイル代理読み出しプログラム１１５から構成される。
【００６７】
問い合わせ処理プログラム１１１は、ファイルサーバ４及び分析サーバ６からの問い合わせに対する処理を実行するプログラムである。メタデータ管理プログラム１１２は、メタデータの管理するプログラムである。
【００６８】
ファイル削除検出プログラム１１３は、ファイルサーバ４からファイルが削除されることを検出するプログラムである。ファイル退避プログラム１１４は、退避用ストレージ装置２へファイルをコピーするプログラムである。ファイル代理読み出しプログラム１１５は、退避用ストレージ装置２からファイルを読み出すプログラムである。
【００６９】
前述したサブプログラムは、それぞれが独立したプロセスとして実行されてもよいし、メタデータサーバプログラム１１０を構成するライブラリ等の部分プログラムとして実行されてもよい。なお、各サブプログラムによって実行される処理の詳細については、図を用いて後述する。
【００７０】
また、メモリ１１には、分析サーバ６からの問い合わせを受信したときに生成されるリスト１１６も格納される。リスト１１６は、ファイルサーバ４又は退避用ストレージ装置２からファイルを取得するために必要な情報を格納する。
【００７１】
ローカルストレージ１５は、メタデータサーバ１が備える記憶媒体であり、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）、及び不揮発メモリ（ＮＶＲＡＭ）が考えられる。
【００７２】
ローカルストレージ１５は、メタデータリポジトリ１５０を格納する。なお、メタデータリポジトリ１５０は、メモリ１１に格納されてもよいし、メタデータサーバ１に接続されたストレージ装置に格納されてもよい。
【００７３】
メタデータリポジトリ１５０は、ストレージ管理テーブル１５１、名前空間管理テーブル１５２、メタデータ管理テーブル１５３、及びファイル退避管理テーブル１５４を含む。以下、各テーブルの構成について説明する。
【００７４】
図４は、本発明の第一の実施形態におけるストレージ管理テーブル１５１の構成の一例を示す説明図である。
【００７５】
ストレージ管理テーブル１５１は、メタデータサーバ１が管理するストレージ装置に関する情報を格納する。具体的には、ストレージ管理テーブル１５１は、一以上のレコードを含み、各レコードは、ストレージＩＤ１５１１、ストレージ名１５１２、タイプ１５１３、及びＩＰアドレス１５１４から構成される。
【００７６】
ストレージ管理テーブル１５１の各レコードは、メタデータサーバ１が管理する一つのストレージ装置に対応する。
【００７７】
ストレージＩＤ１５１１は、メタデータサーバ１がストレージ装置を一意に識別するための識別子を格納する。ストレージ名１５１２は、計算機システム５００におけるストレージ装置に設定された識別名を格納する。
【００７８】
タイプ１５１３は、ストレージ装置の利用種別を格納する。例えば、ストレージ装置がファイルサーバ４の場合「ファイルサーバ」が格納され、アーカイブファイルを格納するストレージ装置の場合「アーカイブストレージ」が格納される。
【００７９】
ＩＰアドレス１５１４は、ストレージ装置に割り当てられているＩＰアドレスを格納する。
【００８０】
図４に示す例では、第一のレコードには、ストレージＩＤ１５１１が「ｓ１０００」、ストレージ名１５１２が「ＦＳ１」、タイプ１５１３が「ファイルサーバ」、ＩＰアドレス１５１４が「１９２．１６８．１０．１００」であるファイルサーバ４の情報が格納される。
【００８１】
同様に、第二のレコードには、ファイルサーバ４の情報が格納され、第三のレコードには退避用ストレージ装置２の情報が格納される。
【００８２】
図５は、本発明の第一の実施形態における名前空間管理テーブル１５２の構成の一例を示す説明図である。
【００８３】
名前空間管理テーブル１５２は、メタデータサーバ１が管理するストレージ装置における名前空間に関する情報を格納する。ここで、名前空間とは、ファイルが格納される記憶領域を識別する論理的な単位である。ファイルサーバ４の場合、共有名及び公開名などの名称が名前空間に対応することが知られている。また、退避用ストレージ装置２の場合も同様の概念が知られている。
【００８４】
名前空間管理テーブル１５２は、一以上のレコードを含み、各レコードは、名前空間ＩＤ１５２１、名前空間名１５２２、ストレージＩＤ１５２３、容量１５２４、プロトコル１５２５、使用量１５２６、及び用途１５２７から構成される。
【００８５】
名前空間管理テーブル１５２の各レコードは、ファイルサーバ４及び退避用ストレージ装置２における名前空間に対応する。
【００８６】
名前空間ＩＤ１５２１は、メタデータサーバ１が名前空間を一意に識別するための識別子を格納する。名前空間名１５２２は、ストレージ装置が名前空間を一意に識別するための名称を格納する。
【００８７】
ストレージＩＤ１５２３は、名前空間に対応する論理記憶領域を提供するストレージ装置の識別子を格納する。なお、ストレージＩＤ１５２３は、ストレージＩＤ１５１１と同一のものである。
【００８８】
容量１５２４は、名前空間に対応する論理的な記憶領域の容量を格納する。プロトコル１５２５は、名前空間に対応する論理記憶領域にアクセスするときに用いられるプロトコルを格納する。使用量１５２６は、名前空間に対応する論理記憶領域の使用量を格納する。
【００８９】
用途１５２７は、名前空間に対応する論理記憶領域の用途を格納する。例えば、業務プログラム５１によって使用される論理記憶領域である場合には「プライマリ」が格納される。また、退避ファイルを格納する論理記憶領域である場合には「退避」が格納される。
【００９０】
図５に示す例では、第一のレコード及び第二のレコードは、ストレージＩＤ１５２３が「ｓ１０００」であるファイルサーバ４上の名前空間に関する情報が格納される。
【００９１】
第一のレコードの名前空間ＩＤ１５２１には「ｎ１００１」、名前空間名１５２２には「ｓｈａｒｅ１」、ストレージＩＤ１５２３には「ｓ１０００」、容量１５２４には「２０ＴＢ」、プロトコル１５２５には「ｎｆｓ」、使用量１５２６には「５ＴＢ」及び用途１５２７には「プライマリ」が格納される。
【００９２】
同様に、第二のレコードには、名前空間名１５２２、すなわち共有名が「ｓｈａｒｅ２」である名前空間に関する情報が格納される。また、第三のレコードには、他のファイルサーバ４の、名前空間名１５２２、すなわち共有名が「ｓｈａｒｅ３」である名前空間に関する情報が格納されている。また、第四のレコードには、退避用ストレージ装置２の名前空間名１５２２が「ｒ」である名前空間に関する情報が格納されている。
【００９３】
図６は、本発明の第一の実施形態におけるメタデータ管理テーブル１５３の構成の一例を示す説明図である。
【００９４】
メタデータ管理テーブル１５３は、ファイルの格納場所を示す情報及びメタデータを格納する。具体的には、メタデータ管理テーブル１５３は、一以上のレコードを含み、各レコードは、メタデータＩＤ１５３１、パス１５３２、名前空間ＩＤ１５３３、オリジナルメタデータ１５３４、及びファイル状態１５３５から構成される。
【００９５】
メタデータ管理テーブル１５３の各レコードは、ファイルサーバ４に格納されるファイル及び削除ファイルに対応する。
【００９６】
メタデータＩＤ１５３１は、メタデータを識別するための識別子を格納する。パス１５３２は、ファイルが格納される格納場所を示すパス名を格納する。
【００９７】
名前空間ＩＤ１５３３は、ファイルが格納される論理記憶領域の名前空間を識別するための識別子を格納する。名前空間ＩＤ１５３３は、名前空間ＩＤ１５２１と同一のものである。
【００９８】
オリジナルメタデータ１５３４は、ファイルサーバ４におけるメタデータ（図示省略）が格納される。
【００９９】
ファイル状態１５３５は、ファイルサーバ４にファイルに存在する否かを示す情報を格納する。具体的には、ファイルサーバ４にファイルが存在する場合には「存在」が格納され、ファイルサーバ４にファイルが存在しない場合には「削除」が格納される。
【０１００】
ファイル状態１５３５に「存在」が格納されるレコードは、当該レコードに対応するファイルが、パス１５３２及び名前空間ＩＤ１５３３で示される格納場所に格納されていることを示している。
【０１０１】
一方、ファイル状態１５３５に「削除」が格納されるレコードは、現在、パス１５３２及び名前空間ＩＤ１５３３で示される格納場所に格納されておらず、現在は削除ファイルであることを示している。
【０１０２】
ファイルのメタデータはファイルサーバ４によってファイル毎に管理されており、メタデータサーバ１は、名前空間の種類毎に提供されるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を通じて、ファイルサーバ４から取得できる。
【０１０３】
図６に示す例では、メタデータ管理テーブル１５３に三つのレコードが格納される。なお、レコードの数は一例であって、本発明を限定するものではない。すなわち、メタデータ管理テーブル１５３には、メタデータサーバ１が管理する全てのファイルのメタデータに対応するレコードが格納される。
【０１０４】
第一のレコードは、ファイルサーバ４の「ｓｈａｒｅ１」という名前空間に格納されたファイル「／ｓｈａｒｅ１／ａ．ｄｏｃ」に対応するメタデータを表し、メタデータＩＤ１５３１には「１００」が格納される。
【０１０５】
第一のレコードのパス１５３２には対応するファイルのパス名である「／ｓｈａｒｅ１／ａ．ｄｏｃ」が格納され、名前空間ＩＤ１５３３には、名前空間「ｓｈａｒｅ１」の識別子である「ｎ１００１」が格納される。また、第一のレコードのオリジナルメタデータ１５３４には、ファイルサーバ４における対応するファイルのメタデータが格納されるがここでは図示していない。さらに、第一のレコードのファイル状態１５３５には、「存在」が格納される。
【０１０６】
第二のレコードは、ファイルサーバ４の「ｓｈａｒｅ１」という名前空間に格納されたファイル「／ｓｈａｒｅ１／ｂ．ｄｏｃ」に対応するメタデータを表し、メタデータＩＤ１５３１には「１１０」が格納される。また、第二のレコードのファイル状態１５３５には、「削除」が格納される。したがって、ファイル「／ｓｈａｒｅ１／ｂ．ｄｏｃ」は、現在、パス１５３２及び名前空間ＩＤ１５３３で示される格納場所には格納されず、削除ファイルであることを表す。
【０１０７】
第三のレコードは、ファイルサーバ４の「ｓｈａｒｅ１」という名前空間に格納されたファイル「／ｓｈａｒｅ１／ｃ．ｄｏｃ」に対応するメタデータを表し、メタデータＩＤ１５３１には「１２０」が格納される。
【０１０８】
図７は、本発明の第一の実施形態におけるファイル退避管理テーブル１５４の構成の一例を示す説明図である。
【０１０９】
ファイル退避管理テーブル１５４は、退避ファイルの格納先（退避先）に関する情報を格納する。具体的には、ファイル退避管理テーブル１５４は、一以上のレコードを含み、各レコードは、メタデータＩＤ１５４１、退避先パス１５４２、及び退避先名前空間ＩＤ１５４３から構成される。
【０１１０】
ファイル退避管理テーブル１５４の各レコードは、退避用ストレージ装置２に格納される退避ファイルに対応する。
【０１１１】
なお、メタデータサーバ１は、ファイルサーバ４からファイルが削除されることを検出し、当該ファイルを退避用ストレージ装置２に移動する場合にファイル退避管理テーブル１５４を更新する。
【０１１２】
メタデータＩＤ１５４１は、メタデータを識別するための識別子を格納する。メタデータＩＤ１５４１は、メタデータＩＤ１５３１と同一のものである。
【０１１３】
退避先パス１５４２は、退避ファイルが格納される格納場所を示すパス名を格納する。退避先名前空間ＩＤ１５４３は、退避ファイルが格納される名前空間を識別するための識別子を格納する。
【０１１４】
図７に示す例では、第一のレコードには、図６におけるファイル「／ｓｈａｒｅ１／ｂ．ｄｏｃ」に対応する退避ファイルに関する情報が格納される。
【０１１５】
メタデータＩＤ１５４１には、ファイル「／ｓｈａｒｅ１／ｂ．ｄｏｃ」に対応するメタデータの識別子「１１０」が格納される。また、退避先パス１５４２には、ファイル「／ｓｈａｒｅ１／ｂ．ｄｏｃ」に対応する退避ファイルの格納先のパス名「／ｒ／ＦＳ１／ｓｈａｒｅ１／ｂ．ｄｏｃ」が格納される。さらに、退避先名前空間ＩＤ１５４３には、退避ファイル「／ｒ／ＦＳ１／ｓｈａｒｅ１／ｂ．ｄｏｃ」が格納される名前空間の識別子「ｎ３００１」が格納される。
【０１１６】
次に、ファイルサーバ４の構成について説明する。
【０１１７】
図８は、本発明の第一の実施形態におけるファイルサーバ４の構成を説明するブロック図である。
【０１１８】
ファイルサーバ４は、メモリ４１、プロセッサ４２、ネットワークインタフェース４３、及びストレージインタフェース４４を備え、また、ストレージ装置４５と接続される。
【０１１９】
プロセッサ４２は、メモリ４１に格納されるプログラムを実行する。プロセッサ４２がプログラムを実行することによって、ファイルサーバ４が備える機能を実現できる。
【０１２０】
メモリ４１は、ファイル共有プログラム４１１、ファイルシステムプログラム４１２、及びストレージ入出力プログラム４１３を格納する。
【０１２１】
ファイル共有プログラム４１１は、業務プログラム５１、分析プログラム６１、及びメタデータサーバプログラム１１０が、ネットワーク７を介してストレージ装置４５に格納されるファイルにアクセスするための機能を提供するプログラムである。
【０１２２】
ファイルシステムプログラム４１２は、ストレージ装置４５にファイルを格納するためのファイルシステムを構成し、ファイルの入出力を管理するプログラムである。
【０１２３】
ストレージ入出力プログラム４１３は、ストレージ装置４５に対するデータを読み出し処理及び書き込み処理を管理するプログラムである。
【０１２４】
プロセッサ４２が前述したプログラムを実行することによって、ファイルサーバ４は、ネットワーク７を介してファイル共有機能を実現している。
【０１２５】
ストレージ装置４５は、内部にストレージボリューム４５１を生成する。ストレージボリューム４５１は、ストレージ装置４５が備えるハートディスクドライブ、ソリッドステートドライブ、不揮発性メモリ等の記憶媒体の記憶領域から構成される。
【０１２６】
ストレージボリューム４５１は、二つの名前空間４５２−１、４５２−２を含む。名前空間４５２−１には識別名として「ｓｈａｒｅ１」が設定され、名前空間４５２−２には識別名として「ｓｈａｒｅ１」が設定される。
【０１２７】
各名前空間４５２−１、４５２−２はそれぞれ、データ領域４５３−１、４５３−２と、隠蔽化ファイル格納領域４５４−１、４５４−２とを含む。
【０１２８】
データ領域４５３−１、４５３−２は、業務プログラム５１が参照可能なファイルを格納する領域である。隠蔽化ファイル格納領域４５４−１、４５４−２は、業務プログラム５１によって削除されたファイルを一時的に格納する領域である。
【０１２９】
隠蔽化ファイル格納領域４５４−１、４５４−２に格納されたファイルは、業務プログラム５１には存在しないファイルとして扱われる。すなわち、業務プログラム５１は、隠蔽化ファイル格納領域４５４−１、４５４−２に格納されたファイルを認識できない。
【０１３０】
データ領域４５３−１、４５３−２と隠蔽化ファイル格納領域４５４−１、４５４−２とは、異なるストレージボリューム４５１に含まれてもよいし、それぞれが単一のファイルシステムツリー内の一つのディレクトリであってもよい。また、名前空間４５２−１、４５２−２は、それぞれ異なるストレージボリューム４５１に含まれてもよいし、それぞれが単一のファイルシステムツリー内の一つのディレクトリであってもよい。
【０１３１】
本実施形態では、ストレージボリューム４５１には二つの名前空間が定義されているが、これは本発明を限定するものではなく、二つ以上の名前空間が定義されていてもよい。
【０１３２】
以降、データ領域４５３−１、４５３−２を区別しない場合、データ領域４５３と表記する。また、隠蔽化ファイル格納領域４５４−１、４５４−２を区別しない場合、隠蔽化ファイル格納領域４５４と表記する。
【０１３３】
図９は、本発明の第一の実施形態におけるメタデータ管理プログラム１１２が実行する処理を説明するフローチャートである。
【０１３４】
メタデータ管理プログラム１１２は、メタデータリポジトリ１５０を更新するために、周期的に、又はユーザの要求にしたがって本処理を実行する。
【０１３５】
メタデータ管理プログラム１１２は、処理を開始すると（ステップＳ８０００）、名前空間管理テーブル１５２を参照して、処理対象となる名前空間を一つ選択する（ステップＳ８００１）。
【０１３６】
次に、メタデータ管理プログラム１１２は、選択された名前空間に格納されるファイルの中から、処理対象となるファイルを一つ選択する（ステップＳ８００２）。
【０１３７】
なお、ファイルの選択方法としては、名前空間におけるファイルシステムツリーを、上位のディレクトリから順にたどる方法が考えられる。
【０１３８】
メタデータ管理プログラム１１２は、ファイルサーバ４から処理対象のファイルのメタデータを取得する（ステップＳ８００３）。
【０１３９】
メタデータ管理プログラム１１２は、取得されたメタデータに基づいて、メタデータ管理テーブル１５３を更新する（ステップＳ８００４）。具体的には、以下のような処理が実行される。
【０１４０】
メタデータ管理プログラム１１２は、選択されたファイルに対応するレコードが登録済みであるか否かを判定する。具体的には、メタデータ管理プログラム１１２は、パス１５３２及び名前空間ＩＤ１５３３が、処理対象の名前空間の識別子及び処理対象のファイルのパス名と一致するレコードが存在するか否かを判定する。
【０１４１】
なお、取得されたメタデータと、オリジナルメタデータとが一致するか否かを判定する方法であってもよい。例えば、ファイルサーバ４におけるファイルの識別情報であるｉｎｏｄｅ番号を使うことができる。
【０１４２】
選択されたファイルに対応するレコードが登録されていないと判定された場合、メタデータ管理プログラム１１２は、メタデータ管理テーブル１５３に新たなレコードを登録する。このとき、メタデータ管理プログラム１１２は、メタデータを一意に識別するための識別子を生成し、メタデータＩＤ１５３１に生成された識別子を格納する。
【０１４３】
さらに、メタデータ管理プログラム１１２は、選択された名前空間における処理対象ファイルのパス名をパス１５３２に格納し、選択された名前空間の識別子を名前空間ＩＤ１５３３に格納する。また、メタデータ管理プログラム１１２は、取得されたメタデータをオリジナルメタデータ１５３４に格納し、ファイル状態１５３５に「存在」を格納する。
【０１４４】
一方、選択されたファイルに対応するレコードが登録済みである場合、メタデータ管理プログラム１１２は、既存のレコードのオリジナルメタデータ１５３４に取得されたメタデータを格納する。
【０１４５】
メタデータ管理プログラム１１２は、処理対象の名前空間に格納される全てのファイルについて処理が完了したか否かを判定する（ステップＳ８００５）。
【０１４６】
処理対象の名前空間に格納される全てのファイルについて処理が完了していないと判定された場合、メタデータ管理プログラム１１２は、ステップＳ８００２に戻り同様の処理（ステップＳ８００２〜ステップＳ８００５）を実行する。
【０１４７】
処理対象の名前空間に格納される全てのファイルについて処理が完了したと判定された場合、メタデータ管理プログラム１１２は、管理対象である全ての名前空間について処理が完了したか否かを判定する（ステップＳ８００６）。
【０１４８】
管理対象である全ての名前空間について処理が完了していないと判定された場合、メタデータ管理プログラム１１２は、ステップＳ８００１に戻り同様の処理（ステップＳ８００１〜ステップＳ８００６）を実行する。
【０１４９】
管理対象である全ての名前空間について処理が完了したと判定された場合、メタデータ管理プログラム１１２は、処理を終了する（ステップＳ８００７）。
【０１５０】
図１０は、本発明の第一の実施形態におけるファイル共有プログラム４１１が実行する処理を説明するフローチャートである。
【０１５１】
ファイルサーバ４は、ファイルに対するアクセス要求を業務プログラム５１又は他のプログラムから受信した場合に、以下で説明する処理を実行する。
【０１５２】
ファイル共有プログラム４１１は、処理を開始すると（ステップＳ８１００）、ネットワーク７を介して、業務プログラム５１又は他のプログラムから所定のファイルに対するアクセス要求を受信する（ステップＳ８１０１）。
【０１５３】
ファイル共有プログラム４１１は、受信したアクセス要求がファイルの削除要求であるか否かを判定する（ステップＳ８１０２）。
【０１５４】
受信したアクセス要求がファイルの削除要求でないと判定された場合、ファイル共有プログラム４１１は、ファイルシステムプログラム４１２に対して、受信したアクセス要求に従った処理の実行を指示する（ステップＳ８１０５）。その後、ファイル共有プログラム４１１は、アクセス要求の送信元のプログラムに対する応答を送信し、処理を終了する（ステップＳ８１０６）。
【０１５５】
受信したアクセス要求がファイルの削除要求であると判定された場合、ファイル共有プログラム４１１は、メタデータサーバ１のファイル削除検出プログラム１１３に対して、ファイルの削除要求を含むアクセス要求を受信した旨を通知する（ステップＳ８１０３）。
【０１５６】
以降、ファイルの削除を要求するアクセス要求を受信した旨の通知を削除通知と表記する。また、業務プログラム５１又は他のプログラムから削除が要求されたファイルを削除対象ファイルと呼ぶ。削除対象ファイルは、最終的にメタデータサーバ１によって退避用ストレージ装置２に移動される。削除対象ファイルが、退避用ストレージ装置２に移動され、メタデータ管理テーブル１５３のファイル状態１５３５に「削除」が格納されると、当該ファイルは削除ファイルとなる。
【０１５７】
なお、削除通知には、削除対象ファイルのパス名、削除対象ファイルが格納される名前空間、ファイルサーバの識別名、及び削除対象ファイルのメタデータ等の情報が含まれる。
【０１５８】
ファイル共有プログラム４１１は、ファイル削除検出プログラム１１３から削除通知に対する応答を受信すると、当該応答に従って、削除対象ファイルに対する処理を実行する（ステップＳ８１０４）。なお、ファイル削除検出プログラム１１３から送信される応答には、ファイル退避プログラム１１４からの指示が含まれる。具体的には、以下のような処理を実行する。
【０１５９】
ファイル共有プログラム４１１は、受信した応答に削除対象ファイルの隠蔽化の指示が含まれる場合、削除対象ファイルを隠蔽化ファイル格納領域４５４に移動させる。これによって、業務プログラム５１は削除対象ファイルへアクセスできなくなる。すなわち、業務プログラム５１からは当該ファイルが削除されたものとして認識される。
【０１６０】
また、ファイル共有プログラム４１１は、受信した応答に削除対象ファイルの削除の指示が含まれる場合、削除対象ファイルを削除する。
【０１６１】
なお、ファイル共有プログラム４１１が、ファイルシステムプログラム４１２に対して指示を出力することによって、削除対象ファイルの移動処理及び削除処理が実現される。
【０１６２】
以降、隠蔽化ファイル格納領域４５４に格納された削除対象ファイルを、隠蔽化ファイルと呼ぶ。
【０１６３】
ファイル共有プログラム４１１は、削除対象ファイルに対する処理が終了すると処理を終了する（ステップＳ８１０６）。
【０１６４】
本実施形態では、ファイル共有プログラム４１１が処理を実行したが、ファイルシステムプログラム４１２等の他のプログラムによって実行されてもよい。
【０１６５】
図１１Ａ、図１１Ｂ及び図１１Ｃは、本発明の第一の実施形態におけるファイル削除検出プログラム１１３が実行する処理を説明するフローチャートである。
【０１６６】
ファイル削除検出プログラム１１３は、処理を開始すると（ステップＳ８２００）、ファイルサーバ４からファイルが削除されることを検出する（ステップＳ８２０１）。ファイル削除検出プログラム１１３は、当該ファイルを削除対象ファイルとして認識する。
【０１６７】
本実施形態では、ファイル削除検出プログラム１１３は、ファイル共有プログラム４１１から削除通知を受信することによって（ステップＳ８１０３参照）、ファイルサーバ４からファイルが削除されることを検出できる。なお、当該通知には、削除対象ファイルのパス名、名前空間名、及びメタデータ等が含まれる。
【０１６８】
ファイル削除検出プログラム１１３は、メタデータ管理テーブル１５３の削除対象ファイルに対応するレコードを更新する（ステップＳ８２０２）。
【０１６９】
具体的には、ファイル削除検出プログラム１１３は、受信した削除通知に含まれる情報に基づいてメタデータ管理テーブル１５３を参照して、削除対象ファイルに対応するレコードを特定し、当該レコードのファイル状態１５３５に「削除」を格納する。
【０１７０】
ファイル削除検出プログラム１１３は、ファイルサーバ４に対して、削除対象ファイルに対するファイル隠蔽化処理を実行する（ステップＳ８２０３）。ファイル隠蔽化処理では以下のような処理が実行される。
【０１７１】
まず、ファイル削除検出プログラム１１３は、削除通知を送信したファイルサーバ４に対して、削除対象ファイルに対する隠蔽化処理の実行を指示する（ステップＳ８２０４）。
【０１７２】
隠蔽化処理の実行指示を受信したファイルサーバ４のファイル共有プログラム４１１は、削除対象ファイルを隠蔽化ファイル格納領域４５４に移動する。これによって、削除ファイルは隠蔽化ファイルとして扱われることとなる。なお、隠蔽化ファイルのパス名は、ファイル共有プログラム４１１又はファイルシステムプログラム４１２が自動的に決定してもよいし、ファイル削除検出プログラム１１３が自動的に決定してもよい。
【０１７３】
次に、ファイル削除検出プログラム１１３は、ファイル退避管理テーブル１５４を更新する（ステップＳ８２０５）。具体的には、以下のような処理が実行される。
【０１７４】
ファイル削除検出プログラム１１３は、ファイル退避管理テーブル１５４に新たなレコードを追加し、当該レコードのメタデータＩＤ１５４１に、削除対象ファイルに対応するレコードのメタデータＩＤ１５３１を格納する。ファイル削除検出プログラム１１３は、退避先パス１５４２に隠蔽化ファイルのパス名を格納し、退避先名前空間ＩＤ１５４３に隠蔽化ファイルが格納される名前空間の識別子を格納する。
【０１７５】
以上が削除対象ファイルに対する隠蔽化処理の説明である。
【０１７６】
次に、ファイル削除検出プログラム１１３は、隠蔽化ファイルの退避処理を実行し（ステップＳ８２０６）、処理を終了する（ステップＳ８２１０）。隠蔽化ファイルに対する退避処理では以下のような処理が実行される。
【０１７７】
まず、ファイル削除検出プログラム１１３は、ファイル退避プログラム１１４を呼び出し、隠蔽化ファイルに対する退避処理の実行を指示する。
【０１７８】
当該退避処理の実行指示を受信したファイル退避プログラム１１４は、退避用ストレージ装置２上の名前空間に、隠蔽化ファイルを複製する（ステップＳ８２０７）。複製されたファイルが退避ファイルとなる。このとき、退避ファイルのパス名は、退避ファイルが格納される名前空間内で一意なパス名が決定されるものとする。
【０１７９】
ファイル退避プログラム１１４は、退避ファイルの情報とともに、隠蔽化ファイルに対する退避処理の完了を通知する。
【０１８０】
次に、ファイル削除検出プログラム１１３は、受信した完了通知に含まれる情報に基づいてファイル退避管理テーブル１５４を更新する（ステップＳ８２０８）。具体的には、ステップＳ８２０５において追加されたレコードの退避先パス１５４２に退避ファイルのパス名を格納し、退避先名前空間ＩＤ１５４３に退避ファイルが格納される名前空間の識別子を格納する。
【０１８１】
次に、ファイル削除検出プログラム１１３は、ファイルサーバ４に対して、隠蔽化ファイルの削除を指示する（ステップＳ８２０９）。当該指示を受信したファイルサーバ４は、隠蔽化ファイル格納領域４５４に対応する名前空間から隠蔽化ファイルを削除する。
【０１８２】
なお、ファイルサーバ４が、周期的に、メタデータサーバ１に対して削除すべきファイルが存在するか否かを問い合わせてもよい。この場合、ファイル削除検出プログラム１１３は、隠蔽化ファイルの削除を指示しなくてもよい。
【０１８３】
図１２は、本発明の第一の実施形態において、ファイルが移動した後のメタデータ管理テーブル１５３を示す説明図である。図１３は、本発明の第一の実施形態において、ファイルが移動した後のファイル退避管理テーブル１５４を示す説明図である。
【０１８４】
ここでは、ファイルサーバ４の名前空間「ｓｈａｒｅ１」に格納されたファイル「ｓｈａｒｅ１／ａ．ｄｏｃ」が退避用ストレージ装置２に移動した場合を例に説明する。
【０１８５】
図６と図１２とを比較すると、ファイル「ｓｈａｒｅ１／ａ．ｄｏｃ」に対応する第一のレコードのファイル状態１５３５は、「存在」から「削除」に変化していることが分かる。これは、ファイル「ｓｈａｒｅ１／ａ．ｄｏｃ」が削除ファイルとなったことを意味する。
【０１８６】
また、図７と図１３とを比較すると、ファイル退避管理テーブル１５４に、新たな第二のレコードが追加されていることが分かる。第二のレコードは、メタデータＩＤ１５４１には「１００」が格納される。従って、第二のレコードは、メタデータの識別子が「１００」であるファイル、すなわち、ファイル「ｓｈａｒｅ１／ａ．ｄｏｃ」に対応する退避ファイルの情報を格納するレコードであることが分かる。
【０１８７】
また、退避先パス１５４２と退避先名前空間ＩＤ１５４３を参照すると、ファイル「ｓｈａｒｅ１／ａ．ｄｏｃ」に対応する退避ファイルのパス名が「ｒ／ＦＳ１／ｓｈａｒｅ１／ａ．ｄｏｃ」であり、退避先名前空間ＩＤ１５４３が「ｎ３００１」で識別される名前空間、すなわち、退避用ストレージ装置２の名前空間「ｒ」であることが分かる。
【０１８８】
図１４は、本発明の第一の実施形態における問い合わせ処理プログラム１１１が実行する処理を説明するフローチャートである。
【０１８９】
問い合わせ処理プログラム１１１は、分析プログラム６１から、メタデータサーバ１が管理するファイルの一覧の出力を要求された時に処理を実行する。
【０１９０】
問い合わせ処理プログラム１１１は、処理を開始すると（ステップＳ８３００）、分析プログラム６１からファイルの問い合わせを受信する（ステップＳ８３０１）。
【０１９１】
当該問い合わせには、出力するファイルの条件が含まれていてもよい。条件としては、例えば、パス名に特定の文字列を含むファイル、特定の時間帯に更新されたファイル、特定の所有者のファイル、特定のアクセス権が設定されたファイル、特定のファイルサーバ若しくは名前空間に格納されるファイル、又は、特定のファイルサーバ若しくは名前空間に格納されていたファイル等などが考えられる。また、削除ファイルであること、削除ファイルではないこと、削除ファイルと削除ファイルでないファイルの両方など、削除ファイルに関する条件も指定することができる。さらに、前述した条件を満たすファイルの集合の論理和や論理積も指定できる。
【０１９２】
問い合わせ処理プログラム１１１は、メタデータリポジトリ１５０を参照して、指定された条件を満たすファイルのリスト１１６をメモリ１１上に生成する（ステップＳ８３０２）。具体的には、問い合わせ処理プログラム１１１は、ストレージ管理テーブル１５１、名前空間管理テーブル１５２、及びメタデータ管理テーブル１５３を参照してリスト１１６を生成する。
【０１９３】
図１５Ａ及び図１５Ｂは、本発明の第一の実施形態におけるリスト１１６の構成の一例を示す説明図である。
【０１９４】
リスト１１６は、メタデータサーバ１が管理する各ファイルの情報を格納する。具体的には、リスト１１６は、メタデータＩＤ１１６１、パス１１６２、オリジナルメタデータ１１６３、ストレージＩＤ１１６４、ＩＰアドレス１１６５、名前空間ＩＤ１１６６、ファイル状態１１６７、及び退避先情報１１６８を含む。
【０１９５】
メタデータＩＤ１１６１は、メタデータを識別するための識別子を格納する。メタデータＩＤ１１６１は、メタデータＩＤ１５３１と同一のものである。
【０１９６】
パス１１６２は、ファイルが格納される格納場所を示すパスを格納する。パス１１６２は、パス１５３２と同一のものである。
【０１９７】
オリジナルメタデータ１１６３は、ファイルのメタデータを格納する。オリジナルメタデータ１１６３は、オリジナルメタデータ１１５３と同一のものである。
【０１９８】
ストレージＩＤ１１６４は、ファイルが格納されるストレージ装置の識別子を格納する。ストレージＩＤ１１６４は、ストレージＩＤ１５１１と同一のものである。
【０１９９】
ＩＰアドレス１１６５は、ストレージ装置の割り当てられているＩＰアドレスを格納する。ＩＰアドレス１１６５は、ＩＰアドレス１５１４と同一のものである。
【０２００】
名前空間ＩＤ１１６６は、メタデータサーバ１が名前空間を一意に識別するための識別子を格納する。名前空間ＩＤ１１６６は、名前空間ＩＤ１５２１と同一のものである。
【０２０１】
ファイル状態１１６７は、ファイルサーバ４にファイルに存在する否かを示す情報を格納する。ファイル状態１１６７は、ファイル状態１５３５と同一のものである。
【０２０２】
退避先情報１１６８は、退避ファイルに関する情報を格納する。なお、退避ファイルでない場合には、退避先情報１１６８には情報が格納されない。
【０２０３】
退避先情報１１６８は、退避先パス１１６８１、ストレージＩＤ１１６８２、ＩＰアドレス１１６８３、及び退避先名前空間ＩＤ１１６８４を含む。
【０２０４】
退避先パス１１６８１は、退避ファイルが格納される格納場所を示すパスを格納する。退避先パス１１６８１は、退避先パス１５４２と同一のものである。
【０２０５】
ストレージＩＤ１１６８２は、退避ファイルが格納されるストレージ装置の識別子を格納する。ストレージＩＤ１１６８２は、ストレージＩＤ１５１１と同一のものである。
【０２０６】
ＩＰアドレス１１６８３は、退避ファイルが格納されるストレージ装置の割り当てられているＩＰアドレスを格納する。ＩＰアドレス１１６８３は、ＩＰアドレス１５１４と同一のものである。
【０２０７】
退避先名前空間ＩＤ１１６８４は、退避ファイルが格納される名前空間を識別するための識別子を格納する。退避先名前空間ＩＤ１１６８４は、退避先名前空間ＩＤ１５４３と同一のものである。
【０２０８】
ステップＳ８３０２では、メタデータＩＤ１１６１、パス１１６２、オリジナルメタデータ１１６３、ストレージＩＤ１１６４、ＩＰアドレス１１６５、名前空間ＩＤ１１６６、及びファイル状態１１６７に情報が格納される。
【０２０９】
以上が、リスト１１６の説明である。図１４の説明に戻る。
【０２１０】
問い合わせ処理プログラム１１１は、生成されたリストから削除ファイルに対応するエントリを一つ選択する（ステップＳ８３０３）。具体的には、問い合わせ処理プログラム１１１は、ファイル状態１１６７に「削除」が格納されるエントリを選択する。なお、削除ファイルに対応するエントリが複数存在する場合、エントリの上位のものから順に選択する方法が考えられる。
【０２１１】
問い合わせ処理プログラム１１１は、ファイル退避管理テーブル１５４を参照して、選択されたエントリに対応する削除ファイルにおける退避先の情報を取得する（ステップＳ８３０４）。
【０２１２】
具体的には、問い合わせ処理プログラム１１１は、選択されたエントリのメタデータＩＤ１１６１と一致するレコードをファイル退避管理テーブル１５４から特定する。
【０２１３】
問い合わせ処理プログラム１１１は、特定されたレコードから退避先パス１５４２、及び退避先名前空間ＩＤ１５４３を取得する。さらに、問い合わせ処理プログラム１１１は、退避先名前空間ＩＤ１５４３を用い、ストレージ管理テーブル１５１及び名前空間管理テーブル１５２から、退避ファイルが格納される退避用ストレージ装置２の識別名、ＩＰアドレス、及び名前空間の識別名を取得する。
【０２１４】
次に、問い合わせ処理プログラム１１１は、ステップＳ８３０４において取得された情報に基づいて、リスト１１６を更新する（ステップＳ８３０５）。具体的には、選択されたエントリの退避先情報１１６９に、ステップＳ８３０４において取得された情報が格納される。
【０２１５】
問い合わせ処理プログラム１１１は、リスト１１６に含まれる全ての削除ファイルに対応するエントリについて処理が完了したか否かを判定する（ステップＳ８３０６）。
【０２１６】
全ての削除ファイルに対応するエントリについて処理が完了していないと判定された場合、問い合わせ処理プログラム１１１は、ステップＳ８３０３に戻り同様の処理（ステップＳ８３０３〜ステップＳ８３０６）を実行する。
【０２１７】
全ての削除ファイルに対応するエントリについて処理が完了したと判定された場合、問い合わせ処理プログラム１１１は、ファイル一覧の出力要求の送信元である分析プログラム６１に、生成されたリスト１１６を送信し、処理を終了する（ステップＳ８３０７、ステップＳ８３０８）。
【０２１８】
図１６は、本発明の第一の実施形態における分析プログラム６１が実行するファイル分析処理を説明するフローチャートである。
【０２１９】
分析プログラム６１は、周期的に、又はユーザの指示に従って分析処理を実行する。
【０２２０】
分析プログラム６１は、分析処理を開始すると（ステップＳ８４００）、メタデータサーバ１の問い合わせ処理プログラム１１１に対して、全てのファイルサーバ４に格納されているファイルの問い合わせを送信する（ステップＳ８４０１）。当該出力要求には、リスト１１６に含めるべきファイルの条件が含まれてもよい。
【０２２１】
分析プログラム６１は、メタデータサーバ１からの応答を待つ。すなわち、メタデータサーバ１からリスト１１６を送信されるまで処理を待つ。
【０２２２】
分析プログラム６１は、受信したリスト１１６から処理対象となるエントリを一つ選択する（ステップＳ８４０２）。例えば、リスト１１６の上位のエントリから順に選択する方法が考えられる。
【０２２３】
分析プログラム６１は、処理対象のエントリに基づいて、当該エントリに対応するファイルの読み出し先との情報を取得する（ステップＳ８４０３）。具体的には、以下のような処理が実行される。
【０２２４】
まず、分析プログラム６１は、選択されたエントリのファイル状態１１６７に「削除」が格納されているか否かを判定する。ファイル状態１１６７に「削除」が格納されている場合、選択されたエントリは、削除ファイルに関するエントリであることが分かる。
【０２２５】
ファイル状態１１６７に「削除」が格納されている場合には、分析プログラム６１は、退避先情報１１６８に格納される情報を取得する。すなわち、退避先パス１１６８１、ストレージＩＤ１１６８２、ＩＰアドレス１１６８３、及び退避先名前空間ＩＤ１１６８４が取得される。
【０２２６】
ファイル状態１１６７に「削除」が格納されている場合には、分析プログラム６１は、パス１１６２、ストレージＩＤ１１６４、ＩＰアドレス１１６５、及び名前空間ＩＤ１１６６を取得する。
【０２２７】
以上がステップＳ８４０３の処理である。
【０２２８】
次に、分析プログラム６１は、ステップＳ８４０３において取得された情報に基づいて、読み出し先となるストレージ装置から、選択されたエントリに対応するファイルを読み出す（ステップＳ８４０４）。
【０２２９】
分析プログラム６１は、読み出されたファイルの内容と、選択されたエントリのオリジナルメタデータ１１６３とに基づいて所定の分析処理を実行する（ステップＳ８４０５）。
【０２３０】
分析プログラム６１は、取得されたリスト１１６の全てのエントリについて処理が完了したか否かを判定する（ステップＳ８４０６）。
【０２３１】
全てのエントリについて処理が完了していないと判定された場合、分析プログラム６１は、ステップＳ８４０２に戻り、同様の処理を実行する（ステップＳ８４０２〜ステップＳ８４０６）。
【０２３２】
全てのエントリについて処理が完了したと判定された場合、分析プログラム６１は、分析処理を終了する（ステップＳ８４０７）。
【０２３３】
なお、ステップＳ８４０４において、ファイルが格納されるストレージ装置が、分析プログラム６１からアクセスできないストレージ装置である場合がある。例えば、ファイルを読み出すためのファイル共有プロトコルが、分析プログラム６１においてサポートされていない場合などが該当する。
【０２３４】
この場合は、分析プログラム６１は、ファイル代理読み出しプログラム１１５に対して、所望のファイルの読み出し要求を送信する。当該要求を受信したファイル代理読み出しプログラム１１５が、分析プログラム６１に代わってストレージ装置からファイルを読み出し、分析プログラム６１に読み出されたファイルを応答する。
【０２３５】
［第二の実施形態］
【０２３６】
次に、本発明の第二の実施形態について説明する。
【０２３７】
第一の実施形態では、ファイルサーバ４は、業務プログラム５１からファイルの削除要求を受信した場合に、処理の過程でメタデータサーバ１に当該ファイルの削除通知を送信する。その後、ファイルサーバ４は、メタデータサーバ１の指示に従って隠蔽化処理を実行する。
【０２３８】
第二の実施形態では、ファイルサーバ４は、業務プログラム５１から一定の数のファイルの削除要求を受信した場合、削除通知を送信してから一定時間が経過した場合に、複数のファイルの削除通知をまとめてメタデータサーバ１に送信する点が異なる。また、第二の実施形態では、ファイルサーバ４は、複数のファイルの削除通知をまとめて送信するために、ファイルの削除要求を受信した場合、メタデータサーバ１からの指示を待つことなく、自動的にファイルの隠蔽化処理を実行する。
【０２３９】
以降、第一の実施形態の差異を中心に説明する。
【０２４０】
第二の実施形態の計算機システム５００の構成、メタデータサーバ１の構成、及びメタデータサーバ１が管理するテーブルは第一の実施形態と同一であるため説明を省略する。第二の実施形態のファイルサーバ４は、メモリ４１に新たに隠蔽化ファイル管理テーブル４１５（図示省略）を備える点が第一の実施形態のファイルサーバ４と異なる。他の構成は第一の実施形態と同一であるため説明を省略する。
【０２４１】
図１７は、本発明の第二の実施形態における隠蔽化ファイル管理テーブル４１５の構成の一例を示す説明図である。
【０２４２】
隠蔽化ファイル管理テーブル４１５は、隠蔽化ファイルに関する情報を格納する。具体的には、隠蔽化ファイル管理テーブル４１５は、パス４１５１、名前空間ＩＤ４１５２、オリジナルメタデータ４１５３、及び隠蔽化ファイルパス４１５４を含む。
【０２４３】
パス４１５１は、隠蔽化処理が実行される前のファイルのパス名を格納する。名前空間ＩＤ４１５２は、隠蔽化処理が実行される前にファイルが格納されていた名前空間の識別名を格納する。
【０２４４】
オリジナルメタデータ４１５３は、隠蔽化処理が実行される前のファイルのメタデータを格納する。隠蔽化ファイルパス４１５４は、隠蔽化ファイルのパス名を格納する。
【０２４５】
図１８は、本発明の第二の実施形態におけるファイル共有プログラム４１１が実行する処理を説明するフローチャートである。
【０２４６】
ファイル共有プログラム４１１は、処理を開始すると（ステップＳ８６００）、ネットワーク７を介して、業務プログラム５１又は他のプログラムから所定のファイルに対するアクセス要求を受信する（ステップＳ８６０１）。
【０２４７】
ファイル共有プログラム４１１は、受信したアクセス要求がファイルの削除要求であるか否かを判定する（ステップＳ８６０２）。
【０２４８】
受信したアクセス要求がファイルを削除要求でないと判定された場合、ファイル共有プログラム４１１は、ファイルシステムプログラム４１２に対して、受信したアクセス要求に従った処理の実行を指示する（ステップＳ８６０７）。その後、ファイル共有プログラム４１１は、アクセス要求の送信元のプログラムに対する応答を送信し、処理を終了する（ステップＳ８６０８）。
【０２４９】
受信したアクセス要求がファイルの削除要求であると判定された場合、ファイル共有プログラム４１１は、削除対象ファイルを隠蔽化ファイル格納領域４５４へ移動する（ステップＳ８６０３）。これによって、削除対象ファイルは、業務プログラム５１からは削除されてものと認識される。
【０２５０】
ファイル共有プログラム４１１は、隠蔽化ファイル管理テーブル４１５を更新する（ステップＳ８６０４）。すなわち、ファイル共有プログラム４１１は、隠蔽化ファイルの情報を隠蔽化ファイル管理テーブル４１５に格納する。
【０２５１】
具体的には、ファイル共有プログラム４１１は、新たなレコードを生成し、削除対象ファイルが隠蔽化ファイル格納領域４５４に移動される前に格納されていたパス名、名前空間の識別名、及びメタデータ、並びに、隠蔽化ファイルのパス名を生成されたレコードに格納する。隠蔽化ファイルのパス名は、ファイル共有プログラム４１１によって隠蔽化ファイル管理テーブル４１５内で重複しないように決定される。
【０２５２】
ファイル共有プログラム４１１は、ファイルの削除通知をメタデータサーバ１に送信する必要があるか否かを判定する（ステップＳ８６０５）。例えば、ファイル共有プログラム４１１は、隠蔽化ファイル管理テーブル４１５にあらかじめ設定された一定数以上のレコードが登録された場合、又は、前回の削除通知からあらかじめ設定された時間が経過した場合に、ファイルの削除通知を送信する必要があると判定する。
【０２５３】
ファイルの削除通知をメタデータサーバ１に送信する必要がないと判定された場合、ファイル共有プログラム４１１は、処理を終了する（ステップＳ８６０８）。
【０２５４】
ファイルの削除通知をメタデータサーバ１に送信する必要があると判定された場合、ファイル共有プログラム４１１は、メタデータサーバ１に、ファイルの削除通知を送信する（ステップＳ８６０６）。当該通知には、隠蔽化ファイル管理テーブル４１５に格納される全てのレコードの情報、すなわち、全ての隠蔽化ファイルに関する情報が含まれる。その後、ファイル共有プログラム４１１は、処理を終了する（ステップＳ８６０８）。
【０２５５】
なお、ステップＳ８６０５及びステップＳ８６０６の処理は、業務プログラム５１からのアクセス要求に対する処理の過程で実行しているが、この二つの処理は、アクセス要求に対する処理とは独立した処理として、周期的に実行してもよい。
【０２５６】
ファイル削除検出プログラム１１３は、ファイル共有プログラム４１１から削除通知を受信すると図１１に示す処理を実行する。ただし、削除通知を受信した時には、ファイルサーバ４によって削除ファイルが隠蔽化されているため、ステップＳ８２０３の処理は実行されない。
【０２５７】
［第三の実施形態］
【０２５８】
次に、本発明の第三の実施形態を説明する。
【０２５９】
第三の実施形態は、第二の実施形態を拡張し、削除ファイルに加え、ファイルに対する上書き及びファイルのサイズの変更等によってファイルから部分的に消去されるデータについても分析プログラム６１が読み出せるように管理する点に特徴がある。
【０２６０】
以降、ファイルの削除、ファイルに対する上書き、又はファイルサイズ縮小によって消去されるデータを消去データと呼ぶ。
【０２６１】
また、前述した処理によって消去データが発生したため、ファイルサーバ４からは読み出すことができなくなったが、メタデータサーバ１に問い合わせることで取得できるファイルを削除ファイルと呼ぶ。特に、ファイルに対する上書き、ファイルサイズ縮小によって、データの一部が消去されたファイルを部分消去ファイルと呼ぶ。
【０２６２】
また、消去データが格納されていた、ファイルサーバ４上のファイルをオリジナルファイルと呼ぶ。消去データを退避するためのファイルを退避ファイルと呼ぶ。一つの退避ファイルには、一回のアクセス処理において発生した消去データが格納される。
【０２６３】
以降、第一の実施形態及び第二の実施形態との差異を中心に説明する。
【０２６４】
第三の実施形態の計算機システム５００の構成、メタデータサーバ１の構成は第一の実施形態と同一であるため説明を省略する。また、第三の実施形態のファイルサーバ４の構成は第二の実施形態と同一であるため説明を省略する。
【０２６５】
第三の実施形態では、メタデータサーバ１が備えるファイル退避管理テーブル１５４と、ファイルサーバ４が備える隠蔽化ファイル管理テーブル４１５が異なる。
【０２６６】
図１９は、本発明の第三の実施形態におけるファイル退避管理テーブル１５４の構成の一例を示す説明図である。
【０２６７】
第三の実施形態におけるファイル退避管理テーブル１５４は、メタデータサーバ１のメモリ１１に格納される。
【０２６８】
ファイル退避管理テーブル１５４は、消去データと退避ファイルとの対応づけを管理する情報を格納する。具体的には、ファイル退避管理テーブル１５４は、一以上のレコードを含み、各レコードは、メタデータＩＤ１５４１、退避先パス１５４２、退避先名前空間ＩＤ１５４３、及びアドレス範囲１５４４から構成される。
【０２６９】
ファイル退避管理テーブル１５４の各レコードは、一回のアクセス処理において発生する消去データに関する情報に対応する。
【０２７０】
第一の実施形態のファイル退避管理テーブル１５４と比較して、新たにアドレス範囲１５４４が追加されている。アドレス範囲１５４４は、消去データが格納されていたオリジナルファイル上のアドレス範囲を格納する。
【０２７１】
メタデータサーバ１は、ファイルサーバ４においてデータが消去されたことを検出すると、消去データを退避ファイルへ移動するとともに、ファイル退避管理テーブル１５４を更新する。
【０２７２】
図１９に示す例では、第一のレコードには、ファイル「／ｓｈａｒｅ１／ｂ．ｄｏｃ」における消去データに関する情報が格納される。メタデータＩＤ１５４１には、ファイル「／ｓｈａｒｅ１／ｂ．ｄｏｃ」に対応するメタデータの識別子「１１０」が格納される。また、退避先パス１５４２には、退避ファイルの格納先のパス名「／ｒ／ＦＳ１／ｓｈａｒｅ１／ｂ．ｄｏｃ」が格納される。退避先名前空間ＩＤ１５４３には、退避ファイル「／ｒ／ＦＳ１／ｓｈａｒｅ１／ｂ．ｄｏｃ」が格納される名前空間の識別子「ｎ３００１」が格納される。さらに、アドレス範囲１５４４には、オリジナルファイル「／ｓｈａｒｅ１／ｂ．ｄｏｃ」における消去データのアドレス範囲［１０，２０）が格納される。
【０２７３】
図２０は、本発明の第三の実施形態における隠蔽化ファイル管理テーブル４１５の構成の一例を示す説明図である。
【０２７４】
第三の実施形態における隠蔽化ファイル管理テーブル４１５は、ファイルサーバ４のメモリ４１に格納される。
【０２７５】
隠蔽化ファイル管理テーブル４１５は、消去データと隠蔽化ファイルとの対応づけを管理する情報を格納する。具体的には、隠蔽化ファイル管理テーブル４１５は、一以上のレコードを含み、各レコードは、パス４１５１、名前空間ＩＤ４１５２、オリジナルメタデータ４１５３、隠蔽化ファイルパス４１５４、アドレス範囲４１５５、及び消去種別４１５６から構成される。
【０２７６】
隠蔽化ファイル管理テーブル４１５の各レコードは、一回のアクセス処理において発生する消去データに関する情報を対応する。
【０２７７】
第二の実施形態と比較して、新たに、アドレス範囲４１５５及び消去種別４１５６が追加されている。アドレス範囲４１５５は、オリジナルファイルにおける消去データが格納されていたアドレス範囲を格納する。消去種別４１５６は、消去データが発生した原因を格納する。
【０２７８】
ファイルが削除されることによって消去データが発生した場合、消去種別４１５６には、ファイルが削除されたことを示す情報である「削除」が格納される。ファイルの一部が上書き又はファイルのサイズの縮小によって消去データが発生した場合、消去種別４１５６には、ファイルの一部のデータが消去されたことを示す情報である「一部消去」が格納される。
【０２７９】
ファイルサーバ４は、消去データが発生する場合、すなわち、ファイルの削除、ファイルへの上書き、又はファイルサイズの縮小等の処理が要求された場合、消去データをオリジナルファイルから読み出し、隠蔽化ファイルへ消去データを書き込むとともに、隠蔽化ファイル管理テーブル４１５を更新する。
【０２８０】
図２１は、本発明の第三の実施形態におけるファイル共有プログラム４１１が実行する処理を説明するフローチャートである。
【０２８１】
第三の実施形態では、ファイルの削除が要求された場合だけではなく、ファイルへの上書き及びファイルサイズの縮小によって消去データが発生する場合にも、当該消去データが隠蔽化ファイル格納領域４５４へ格納される点が第二の実施形態と異なる。
【０２８２】
第二の実施形態と同様に、ファイル共有プログラム４１１は、処理を開始すると（ステップＳ８７００）、ネットワーク７を介して、業務プログラム５１又は他のプログラムからファイルに対するアクセス要求を受信する（ステップＳ８７０１）。
【０２８３】
ファイル共有プログラム４１１は、受信したアクセス要求に対応する処理を実行すると消去データが発生するか否か判定する（ステップＳ８７０２）。すなわち、受信したアクセス要求がファイルからデータの消去を要求するものであるか否かが判定される。例えば、ファイルの削除、ファイルへのデータの上書き、又はファイルサイズの縮小等の要求である場合、受信したアクセス要求に対応する処理を実行すると消去データが発生すると判定される。
【０２８４】
消去データが発生しないと判定された場合、ファイル共有プログラム４１１は、ステップＳ８７０５に進む。
【０２８５】
消去データが発生すると判定された場合、ファイル共有プログラム４１１は、隠蔽化ファイル格納領域４５４に消去データを移動する（ステップＳ８７０３）。
【０２８６】
具体的には、ファイル共有プログラム４１１は、消去データのアドレス範囲を特定し、隠蔽化ファイル格納領域４５４上に消去データを格納するための隠蔽化ファイルを生成し、生成された隠蔽化ファイルに消去データを格納する。
【０２８７】
このとき、隠蔽化ファイルのパス名は、隠蔽化ファイル格納領域４５４に格納される他の隠蔽ファイルと重複しないように決定される。
【０２８８】
ファイル共有プログラム４１１は、生成された隠蔽化ファイルの情報に基づいて、隠蔽化ファイル管理テーブル４１５を更新する（ステップＳ８７０４）。
【０２８９】
具体的には、ファイル共有プログラム４１１は、隠蔽化ファイル管理テーブル４１５に新たなレコードを追加する。
【０２９０】
ファイル共有プログラム４１１は、追加されたレコードのパス４１５１にオリジナルファイルのパス名を格納し、名前空間ＩＤ４１５２にオリジナルファイルが格納される名前空間の識別子を格納し、オリジナルメタデータ４１５３にオリジナルファイルのメタデータを格納する。
【０２９１】
また、ファイル共有プログラム４１１は、隠蔽化ファイルパス４１５４に生成された隠蔽化ファイルのパス名を格納し、アドレス範囲４１５５に消去データのアドレス範囲を格納する。さらに、ファイル共有プログラム４１１は、消去種別４１５６に、ファイルが削除される場合には「削除」を格納し、ファイルが削除されない場合は「一部消去」を格納する。
【０２９２】
次に、ファイル共有プログラム４１１は、受信したアクセス要求に対応する処理をファイルに対して実行する（ステップＳ８７０５）。
【０２９３】
ファイル共有プログラム４１１は、削除通知を送信する必要があるか否かを判定する（ステップＳ８７０６）。なお、削除通知には、消去データが発生するアクセス要求を受信した旨を通知するものも含まれるものとする。
【０２９４】
例えば、隠蔽化ファイル管理テーブル４１５にあらかじめ設定された一定数以上のレコードが登録された場合、又は、前回の削除通知からあらかじめ設定された時間が経過した場合に、削除通知を送信する必要があると判定される。
【０２９５】
削除通知、すなわち、消去データが発生した旨の通知をメタデータサーバ１に送信する必要がないと判定された場合、ファイル共有プログラム４１１は、処理を終了する（ステップＳ８７０８）。
【０２９６】
削除通知、すなわち、消去データが発生したことをメタデータサーバ１に通知する必要があると判定された場合、ファイル共有プログラム４１１は、メタデータサーバ１に消去データが発生したことを通知する（ステップＳ８７０７）。当該通知には、隠蔽化ファイル管理テーブル４１５に格納される全てのレコードの情報、すなわち、全ての隠蔽化ファイルに関する情報が含まれる。その後、ファイル共有プログラム４１１は処理を終了する（ステップＳ８７０８）。
【０２９７】
なお、ステップ８７０６及びステップＳ８７０７の処理は、アクセス要求に対する処理の過程で実行していたが、アクセス要求に対する処理とは独立した処理として、周期的に実行してもよい。
【０２９８】
図２２は、本発明の第三の実施形態における、ファイル削除検出プログラム１１３が実行する処理を説明するフローチャートである。
【０２９９】
ファイル削除検出プログラム１１３は、処理を開始すると（ステップＳ８８００）、ファイルサーバ４における消去データの発生を検出する（ステップＳ８８０１）。
【０３００】
具体的には、ファイル削除検出プログラム１１３は、ファイルサーバ４から消去データが発生した旨を通知する削除通知を受信することによって、ファイルサーバ４において消去データが発生したことを検出できる。なお、削除通知には、隠蔽化ファイル管理テーブル４１５に格納される情報が含まれる。
【０３０１】
ここでは、ファイル削除検出プログラム１１３は、消去データ毎に、すなわち隠蔽化ファイル管理テーブル４１５のレコード毎に処理を実行するものとして説明する。
【０３０２】
ファイル削除検出プログラム１１３は、受信した削除通知に含まれる隠蔽化ファイル管理テーブル４１５に基づいて、処理対象の消去データがファイルの削除によって発生したか否かを判定する（ステップＳ８８０２）。すなわち、処理対象の消去データを含んでいたファイルが削除ファイル、又は部分消去ファイルの何れであるかが判定される。
【０３０３】
ファイル削除検出プログラム１１３は、消去種別４１５６に「削除」が格納される場合、ファイルの削除によって発生した消去データであると判定する。一方、ファイル削除検出プログラム１１３は、消去種別４１５６に「一部消去」が格納される場合、ファイルの上書き又はファイルサイズの縮小によって発生した消去データであると判定する。
【０３０４】
ファイルの削除によって発生した消去データであると判定された場合、ファイル削除検出プログラム１１３は、メタデータ管理テーブル１５３の処理対象のファイルに対応するレコードを特定し、当該レコードのファイル状態１５３５に「削除」を格納する（ステップＳ８８０３）。その後、ファイル削除検出プログラム１１３は、ステップＳ８８０４に進む。
【０３０５】
ファイルの削除によって発生した消去データでないと判定された場合、ファイル削除検出プログラム１１３は、メタデータ管理テーブル１５３に、処理対象のファイルに対応するレコードを追加する（ステップＳ８８０８）。
【０３０６】
具体的には、ファイル削除検出プログラム１１３は、追加されたレコードのメタデータＩＤ１５３１に、他のレコードと重複しない識別子を格納する。ファイル削除検出プログラム１１３は、追加されたレコードのパス１５３２及びオリジナルメタデータ１５３４に、処理対象のファイルのパス名及びメタデータを格納する。ファイル削除検出プログラム１１３は、名前空間ＩＤ１５３３に、処理対象のファイルが格納される名前空間の識別子を格納する。また、ファイル削除検出プログラム１１３は、ファイル状態１５３５に、「一部消去」を格納する。
【０３０７】
なお、追加されたレコードに格納する情報は、ファイルサーバ４から受信した削除通知に含まれる情報に基づいて取得することができる。
【０３０８】
ファイル削除検出プログラム１１３は、ファイル退避管理テーブル１５４を更新する（ステップＳ８８０４）。具体的には、ファイル削除検出プログラム１１３は、処理対象の消去データが格納される隠蔽化ファイルに対応するレコードを追加する。
【０３０９】
追加されたレコードのメタデータＩＤ１５４１には、ステップＳ８８０４において特定されたレコードのメタデータＩＤ１５３１、又は、ステップＳ８８０８において追加されたレコードのメタデータＩＤ１５３１と同一のものが格納される。退避先パス１５４２には、隠蔽化ファイルのパス名が格納され、退避先名前空間ＩＤ１５４３には、隠蔽化ファイルが格納される名前空間の識別子が格納され、アドレス範囲１５４４には、隠蔽化ファイルに格納される消去データのアドレス範囲が格納される。なお、追加されるレコードに格納される情報は、ファイルサーバ４から受信した削除通知に含まれる情報に基づいて取得することができる。
【０３１０】
ファイル削除検出プログラム１１３は、隠蔽化ファイルを退避用ストレージ装置２に移動する（ステップＳ８８０５）。具体的には、ファイル削除検出プログラム１１３は、隠蔽化ファイルを退避用ストレージ装置２の名前空間上に複製して、処理対象の消去データを退避ファイルへ移動させる。この時、退避ファイルのパス名は、退避用ストレージ装置２に格納される他の退避ファイルとは重複しないように決定される。
【０３１１】
ファイル削除検出プログラム１１３は、ファイル退避管理テーブル１５４を更新する（ステップＳ８８０６）。具体的には、ファイル削除検出プログラム１１３は、ステップＳ８８０４において追加されたレコードの退避先パス１５４２を退避ファイルのパス名に変更する。
【０３１２】
ファイル削除検出プログラム１１３は、ファイルサーバ４に隠蔽化ファイルの削除を指示する（ステップＳ８８０７）。その後、ファイル削除検出プログラム１１３は、処理を終了する（ステップＳ８８０９）。
【０３１３】
図２３及び図２４は、本発明の第三の実施形態におけるメタデータ管理テーブル１５３の一例を示す説明図である。図２５は、本発明の第三の実施形態におけるファイル退避管理テーブル１５４の一例を示す説明図である。
【０３１４】
ここでは、ファイルサーバ４の名前空間「ｓｈａｒｅ１」に格納されるファイル「／ｓｈａｒｅ１／ａ．ｄｏｃ」にデータが上書きされた場合におけるメタデータ管理テーブル１５３及びファイル退避管理テーブル１５４について説明する。
【０３１５】
図２３は、ファイル「／ｓｈａｒｅ１／ａ．ｄｏｃ」にデータが上書きされる前のメタデータ管理テーブル１５３を表している。メタデータ管理テーブル１５３の第一のレコードには、ファイル「／ｓｈａｒｅ１／ａ．ｄｏｃ」の情報が記録される。当該レコードに格納される情報から、ファイル「／ｓｈａｒｅ１／ａ．ｄｏｃ」は、ファイルサーバ４に格納されており、更新時刻が「１０：００」であることが分かる。
【０３１６】
図２４は、ファイル「／ｓｈａｒｅ１／ａ．ｄｏｃ」にデータが上書きされ、メタデータサーバ１が消去データを退避用ストレージ装置２に移動した後のメタデータ管理テーブル１５３を表している。
【０３１７】
図２３と比較すると、メタデータＩＤ１５３１が「１０１」である第二のレコードが追加されている。当該レコードは、メタデータサーバ１が、更新時刻が「１０：００」の時点のファイル「／ｓｈａｒｅ１／ａ．ｄｏｃ」を、部分消去ファイルとして管理していることを表している。したがって、当該レコードのファイル状態１５３５には、「一部消去」が格納される。
【０３１８】
また、第一のレコードは、ファイル「／ｓｈａｒｅ１／ａ．ｄｏｃ」へのデータの上書きによって、更新時刻が「１２：００」に変更されていることが分かる。
【０３１９】
図２５は、ファイル「／ｓｈａｒｅ１／ａ．ｄｏｃ」にデータが上書きされ、メタデータサーバ１が消去データを退避用ストレージ装置２に移動した後のファイル退避管理テーブル１５４を表している。
【０３２０】
図２５のファイル退避管理テーブル１５４の第一のレコードには、図２４のメタデータ管理テーブル１５３の第二のレコードに対応する部分消去ファイルの消去データ及び退避ファイルに関する情報が格納される。
【０３２１】
第二のレコードのメタデータＩＤ１５４１には、「１００」が格納される。したがって、第二のレコードが図２４のメタデータ管理テーブル１５３の第二のレコードに対応する部分消去ファイルの消去データについて関連するレコードであることが分かる。
【０３２２】
退避先パス１５４２及び退避先名前空間ＩＤ１５４３から、消去データは、退避用ストレージ装置２の名前空間「ｒ」に、パス名が「Ａ／ｒ／ｓ１０００／ｓｈａｒｅ／ａ．ｄｏｃ＿ｄｉｆｆ」であるファイルとして格納されていることが分かる。
【０３２３】
また、アドレス範囲１５４４から、消去データがオリジナルファイルのアドレス「０」から「２９」までの範囲に格納されていたデータであることが分かる。
【０３２４】
図２６は、本発明の第三の実施形態におけるファイル代理読み出しプログラム１１５が実行する処理を説明するフローチャートである。
【０３２５】
本実施形態におけるファイル代理読み出しプログラム１１５は、通常ファイル、削除ファイル、及び部分消去ファイルの読み出し要求を受け付け、要求元にファイルの内容を応答する。要求されたファイルが削除ファイル又は部分消去ファイルである場合、要求されたファイルを一時的に復元し、復元されたファイルの内容を応答する。
【０３２６】
ファイル代理読み出しプログラム１１５は、処理を開始すると（ステップＳ８９００）、分析プログラム６１等からファイルの読み出し要求を受信する（ステップＳ８９０１）。受信したファイル読み出し要求には、要求元のプログラムがファイルを指定するための情報が含まれる。例えば、ファイルのパス名、名前空間名、メタデータ、その他の識別子（メタデータＩＤ、ファイルシステムにおけるｉｎｏｄｅ番号）等の情報が含まれる。
【０３２７】
ファイル代理読み出しプログラム１１５は、受信したファイル読み出し要求に含まれる情報に基づいて、メタデータ管理テーブル１５３の対応するレコードを特定する（ステップ８９０２）。
【０３２８】
ファイル代理読み出しプログラム１１５は、特定されたレコードのファイル状態１５３５を参照して、読み出し対象のファイルが通常ファイルであるか否かを判定する（ステップＳ８９０３）。
【０３２９】
ファイル状態１５３５が「削除」又は「一部消去」である場合、読み出し対象のファイルが削除ファイル又は部分消去ファイルであると判定される。一方、ファイル状態１５３５が「存在」である場合、通常ファイルであると判定される。
【０３３０】
読み出し対象のファイルが通常ファイルでない、すなわち、削除ファイル又は部分消去ファイルのいずれかであると判定された場合、ファイル代理読み出しプログラム１１５は、読み出し対象のファイルを復元するための復元処理を実行する（ステップＳ８９０４）。これによって、退避用ストレージ装置２に一時的にファイルが復元される。なお、復元処理の詳細については、図２７を用いて後述する。
【０３３１】
その後、ファイル代理読み出しプログラム１１５は、復元したファイルを要求元へ送信し、処理を終了する（ステップＳ８９０５、ステップＳ８９０７）。
【０３３２】
ステップＳ８９０３において、通常ファイルであると判定された場合、ファイル代理読み出しプログラム１１５は、読み出し対象のファイルの格納先を特定する（ステップＳ８９０６）。具体的には、ファイルサーバ４の識別子、名前空間の識別子、及びパス名等に基づいてファイルの格納先が特定される。
【０３３３】
さらに、ファイル代理読み出しプログラム１１５は、特定された格納先のファイルサーバ４から読み出し対象のファイルを読み出し、読み出されたファイルを要求元へ送信して、処理を終了する（ステップＳ８９０５、ステップＳ８９０７）。
【０３３４】
図２７は、本発明の第三の実施形態における復元処理の詳細を説明するフローチャートである。
【０３３５】
ファイル代理読み出しプログラム１１５は、処理を開始すると（ステップＳ９０００）、メタデータ管理テーブル１５３から、読み出し対象のファイルに関連するレコードを抽出する（ステップＳ９００１）。ここでは、同一の読み出し対象のファイルであって、ステップＳ８９０３において特定されたレコードより時系列が新しいレコードが抽出される。
【０３３６】
具体的には、ファイル代理読み出しプログラム１１５は、パス１５３２及び名前空間ＩＤ１５３３が読み出し対象のファイルと一致し、かつ、オリジナルメタデータ１５３４に含まれる更新時刻が、読み出し対象のファイルの更新時刻より後、すなわち、更新時刻が新しいレコードを抽出する。
【０３３７】
ファイル代理読み出しプログラム１１５は、読み出し対象のファイルが現在削除ファイルであるか否かを判定する（ステップＳ９００２）。具体的には、ファイル代理読み出しプログラム１１５は、抽出されたレコードのうち、オリジナルメタデータ１５３４に格納される更新時刻が最新のレコードを特定し、当該レコードのファイル状態１５３５が「削除」であるか否かを判定する。
【０３３８】
読み出し対象のファイルが現在削除ファイルであると判定された場合、ファイル代理読み出しプログラム１１５は、ステップＳ９００１において抽出された削除ファイルのレコードに基づいて、削除ファイルを作業領域に一時ファイルとして複製する（ステップＳ９００３）。ここで、作業領域は、退避用ストレージ装置２の一記憶領域である。
【０３３９】
一方、読み出し対象のファイルが現在削除ファイルでない、すなわち、部分消去ファイルであると判定された場合、ファイル代理読み出しプログラム１１５は、ステップＳ９００１において抽出されたレコードに基づいて、現在、ファイルサーバ４に格納される読み出し対象のファイルを読み出し、読み出されたファイルを作業領域に一時ファイルとして複製する（ステップＳ９００７）。
【０３４０】
ファイル代理読み出しプログラム１１５は、抽出されたレコードの中から、ステップＳ９００３において特定されたレコードの次に更新時間が新しいレコードを、処理対象のレコードとして選択する（ステップＳ９００４）。
【０３４１】
ファイル代理読み出しプログラム１１５は、一時ファイルに対して、退避ファイルに格納される削除データを上書きする（ステップＳ９００５）。具体的には以下のような処理が実行される。
【０３４２】
ファイル代理読み出しプログラム１１５は、ステップＳ９００４において選択されたレコードの情報に基づいて、ファイル退避管理テーブル１５４から対応する退避ファイルのレコードを特定する。
【０３４３】
ファイル代理読み出しプログラム１１５は、特定されたレコードに基づいて、退避用ストレージ装置２から退避ファイルを読み出すことによって削除データを取得する。
【０３４４】
ファイル代理読み出しプログラム１１５は、特定されたレコードのアドレス範囲１５４４を参照して、一時ファイル上の同一のアドレス範囲に、読み出された削除データを上書きする。また、ファイル代理読み出しプログラム１１５は、一時ファイルのファイルサイズを、メタデータ管理テーブル１５３の選択されたレコードのオリジナルメタデータ１５３４に格納されるファイルサイズに変更する。
【０３４５】
以上の処理によって、一時ファイルは、ステップＳ９００４において選択されたレコードがメタデータ管理テーブル１５３に追加された時点のファイルと同一の内容となる。
【０３４６】
ファイル代理読み出しプログラム１１５は、ステップ９００１において抽出された全てのレコードについて処理が完了したか否かを判定する（ステップＳ９００６）。
【０３４７】
ステップ９００１において抽出された全てのレコードについて処理が完了していないと判定された場合、ファイル代理読み出しプログラム１１５は、ステップＳ９００４に戻り同様の処理（ステップＳ９００４〜ステップＳ９００６）を実行する。
【０３４８】
ステップ９００１において抽出された全てのレコードについて処理が完了していないと判定された場合、ファイル代理読み出しプログラム１１５は、処理を終了する（ステップＳ９００８）。
【０３４９】
なお、第三の実施形態では、メタデータサーバ１がファイルを読み出し、分析サーバ６に読み出されたファイルを送信している。しかし、本発明はこれに限定されず、分析サーバ６がファイルを取得してもよい。この場合、以下のような処理が実行される。
【０３５０】
ステップＳ８９０５では、ファイル代理読み出しプログラム１１５は、リスト１１６を生成し、生成されたリスト１１６を分析サーバ６に送信する。なお、リスト１１６の生成方法は第一の実施形態と同一の方法を用いる。なお、リスト１１６の一時ファイルに対応するレコードの退避先パス１１６８１には、作業領域における一時ファイルの格納位置の情報が格納される。
【０３５１】
分析サーバ６は、受信したリスト１１６に基づいて、ファイルを読み出す。なお、当該処理は、第一の実施形態と同一であるため説明を省略する。
【０３５２】
本実施形態では、各消去データを一つの退避ファイル又は隠蔽化ファイルに格納していたが、本発明はこれに限定されない。例えば、消去データをいくつかのファイルにまとめて格納してもよいし、データベース又はブロックストレージに格納してもよい。
【０３５３】
［第四の実施形態］
【０３５４】
次に、本発明の第四の実施形態を説明する。
【０３５５】
第四の実施形態は、第一の実施形態を拡張し、削除ファイルと同一内容のファイルがバックアップストレージ装置３に格納されている場合には、削除ファイルに対応する退避ファイルが生成されない。これによって、計算機システム５００内に、同一内容の複製ファイルを削減することができる。
【０３５６】
以降、第一の実施形態との差異を中心に説明する。
【０３５７】
第四の実施形態の計算機システム５００の構成、メタデータサーバ１の構成、及びファイルサーバ４の構成は第一の実施形態と同一であるため説明を省略する。また、メタデータサーバ１及びファイルサーバ４が管理する各テーブルの構成も第一の実施形態と同一であるため説明を省略する。
【０３５８】
図２８は、本発明の第四の実施形態におけるストレージ管理テーブル１５１の構成の一例を示す説明図である。
【０３５９】
ストレージＩＤ１５１１、ストレージ名１５１２、タイプ１５１３、及びＩＰアドレス１５１４は、第一の実施形態と同一であるため説明を省略する。
【０３６０】
第四の実施形態では、メタデータサーバ１は、ファイルサーバ４、退避用ストレージ装置２に加えて、バックアップストレージ装置３も管理対象となっている点が第一の実施形態と異なる。すなわち、図２８に示すストレージ管理テーブル１５１の第四のレコードには、バックアップストレージ装置３の情報が格納される。なお、バックアップストレージ装置３に対応するレコードのタイプ１５１３には「バックアップ」が格納される。
【０３６１】
図２９は、本発明の第四の実施形態における名前空間管理テーブル１５２の構成の一例を示す説明図である。
【０３６２】
名前空間ＩＤ１５２１、名前空間名１５２２、ストレージＩＤ１５２３、容量１５２４、プロトコル１５２５、使用量１５２６、及び用途１５２７は、第一の実施形態と同一であるため説明を省略する。
【０３６３】
図２９に示すように、名前空間管理テーブル１５２の第五のレコードには、バックアップストレージ装置３における名前空間の情報が格納される。なお、バックアップストレージ装置３に対応するレコードの用途１５２７には、「バックアップ」が格納される。
【０３６４】
図３０は、本発明の第四の実施形態におけるメタデータ管理テーブル１５３の構成の一例を示す説明図である。
【０３６５】
第四の実施形態では、メタデータ管理テーブル１５３は、メタデータサーバ１のメモリ１１に格納される。
【０３６６】
第四の実施形態におけるメタデータ管理テーブル１５３は、ハッシュ値１５３６が追加されている点が第一の実施形態と異なる。ハッシュ値１５３６は、エントリに対応するファイルの内容を表すハッシュ値を格納する。ここで、ハッシュ値は、ファイルの内容に対して、予め定義されたハッシュ関数を適用することによって取得される値である。例えば、ハッシュ関数は、既知の様々なアルゴリズム（例えば、ＳＨＡ２５６）を用いることができる。
【０３６７】
本実施形態では、ハッシュ値１５３６に基づいて、ファイルの内容が同一であるか否かが判定される。
【０３６８】
図３０に示す例では、メタデータ管理テーブル１５３の第四のレコードに、バックアップストレージ装置３に格納されるファイル「／ＢＵ／ｘ．ｄｏｃ」に関する情報が格納される。以降、バックアップストレージ装置３に格納されたファイルをバックアップファイルと呼ぶ。
【０３６９】
また、バックアップファイルに対応するエントリのファイル状態１５３５には、エントリに対応するファイルがバックアップファイルであることを表す「ＢＵ」が格納される。また、当該レコードのハッシュ値１５３６には、ファイル「／ＢＵ／ｘ．ｄｏｃ」から算出されたハッシュ値が「ｅ００１」であることが分かる。ここでは、ハッシュ値は１６進法で表される値とする。
【０３７０】
本実施形態におけるメタデータ管理プログラム１１２は、バックアップファイルの情報をメタデータ管理テーブル１５３に格納するために、バックアップストレージ装置３のバックアッププログラム３１に問い合わせを行い、バックアップストレージ装置３に格納されるバックアップファイルのメタデータを取得する。また、メタデータ管理プログラム１１２が、バックアッププログラム３１が管理するバックアップファイルのリストを保持するデータベース等を読み出すようにしてもよい。
【０３７１】
バックアップファイルのハッシュ値は、メタデータ管理プログラム１１２がバックアップファイルをバックアップストレージ装置３から読み出した時に算出してもよいし、バックアッププログラム３１が算出してメタデータ管理プログラム１１２に送信してもよい。
【０３７２】
図３１は、本発明の第四の実施形態におけるファイル削除検出プログラム１１３が実行する処理を説明するフローチャートである。
【０３７３】
第四の実施形態におけるファイル削除検出プログラム１１３は、削除対象ファイルを検出すると、当該ファイルと同一内容のバックアップファイルが存在するか否かを判定する。同一内容のバックアップファイルがある場合には、ファイル削除検出プログラム１１３は、バックアップファイルを削除対象ファイルに対応する退避ファイルとしてファイル退避管理テーブル１５４に追加する。さらに、ファイル削除検出プログラム１１３はファイルサーバ４には隠蔽化ファイルを生成せずに、削除対象ファイルを削除する。
【０３７４】
ファイル削除検出プログラム１１３は、処理を開始すると（ステップＳ９１００）、ファイルサーバ４からファイルが削除されることを検出する（ステップＳ９１０１）。
【０３７５】
ステップＳ９１０１の処理は、ステップステップＳ８２０１と同一の処理である。ただし、第四の実施形態では、ファイルサーバ４から送信される削除通知には、削除対象ファイルのハッシュ値が含まれる。
【０３７６】
なお、削除対象ファイルのハッシュ値は、ファイル削除検出プログラム１１３が、ファイルサーバ４から読み出した削除対象ファイルに対してハッシュ関数を適用することによって算出できる。
【０３７７】
ファイル削除検出プログラム１１３は、メタデータ管理テーブル１５３の削除対象ファイルに対応するレコードを更新する（ステップＳ９１０２）。ステップＳ９２０２の処理は、ステップＳ８２０２と同一の処理である。
【０３７８】
ファイル削除検出プログラム１１３は、メタデータ管理テーブル１５３を参照し、削除対象ファイルと同一内容のバックアップファイルを検索する（ステップＳ９１０３）。具体的には、以下のような処理が実行される。
【０３７９】
ファイル削除検出プログラム１１３は、削除対象ファイルのハッシュ値１５３６を取得する。
【０３８０】
次に、ファイル削除検出プログラム１１３は、ファイル状態１５３５に「ＢＵ」が格納されるエントリを抽出し、抽出されたエントリのハッシュ値１５３６と、削除対象ファイルのハッシュ値１５３６とを比較する。削除対象ファイルのハッシュ値１５３６と一致するエントリが、削除対象ファイルと同一内容のバックアップファイルとなる。
【０３８１】
なお、ファイルの内容の判定方法は、前述した方法に限定されない。例えば、ファイルのメタデータを比較する方法、ファイルサイズを比較する方法、及びこれらを組み合わせた方法などを用いてもよい。
【０３８２】
ファイル削除検出プログラム１１３は、前述した検索処理の結果、削除対象ファイルと同一内容のバックアップファイルが存在するか否かを判定する（ステップＳ９１０４）。
【０３８３】
削除対象ファイルと同一内容のバックアップファイルが存在しないと判定された場合、ファイル削除検出プログラム１１３は、ファイルサーバ４に対して、削除対象ファイルに対するファイル隠蔽化処理を実行する（ステップＳ９１０６）。
【０３８４】
さらに、ファイル削除検出プログラム１１３は、ファイルの削除を通知したファイルサーバ４に対して、削除対象ファイルの隠蔽化処理の実行を指示し（ステップＳ９１０７）、処理を終了する（ステップＳ９１０８）。
【０３８５】
なお、ステップＳ９１０６及びステップＳ９１０７の処理は、ステップＳ８２０３及びステップＳ８２０４と同一の処理であるため説明を省略する。
【０３８６】
ステップＳ９１０４において、削除対象ファイルと同一内容のバックアップファイルが存在すると判定された場合、ファイル削除検出プログラム１１３は、ファイル退避管理テーブル１５４を更新し、処理を終了する（ステップＳ９１０５、ステップＳ９１０８）。
【０３８７】
具体的には、ファイル削除検出プログラム１１３は、バックアップファイルに関する情報を削除対象ファイルに対応する退避ファイルの情報としてファイル退避管理テーブル１５４に追加する。
【０３８８】
すなわち、メタデータＩＤ１５４１には、バックアップファイルに対応するレコードのメタデータＩＤ１５３１の値が格納され、退避先パス１５４２には、バックアップファイルに対応するレコードのパス１５３２のパス名が格納される。また、退避先名前空間ＩＤ１５４３には、バックアップファイルに対応するレコードの名前空間ＩＤ１５３３の識別子が格納される。
【０３８９】
前述の処理では、バックアップストレージ装置３に格納されるファイルの中から削除対象ファイルと同一内容のファイルを検索したが、これに加えて、メタデータサーバ１が管理対象とする全てのストレージ装置から検索してもよい。
【０３９０】
［第五の実施形態］
【０３９１】
次に、本発明の第五の実施形態について説明する。第五の実施形態では、ファイルサーバ４は、業務プログラム５１からファイルの削除が要求された場合、メタデータサーバ１にファイルの削除通知を送信しない。そこで、メタデータサーバ１は、周期的にファイルサーバ４からファイルが削除されたか否かを判定する。当該判定にはファイルサーバ４のスナップショット機能を用いられる。
【０３９２】
以降、第一の実施形態との差異を中心に説明する。
【０３９３】
第五の実施形態の計算機システム５００の構成、メタデータサーバ１及びファイルサーバ４の構成は第一の実施形態と同一であるため説明を省略する。なお、ファイルサーバ４は、スナップショット機能を有する点が異なる。また、メタデータサーバ１及びファイルサーバ４が管理する各テーブルの構成も第一の実施形態と同一であるため説明を省略する。
【０３９４】
図３２Ａ及び図３２Ｂは、本発明の第五の実施形態におけるメタデータ管理プログラム１１２が実行する処理を説明するフローチャートである。
【０３９５】
本実施形態では、メタデータ管理プログラム１１２は、ファイルサーバ４に格納されるファイルのメタデータを収集すると共に、ファイルサーバ４から削除されたファイルを検出し、退避用ストレージ装置２へ移動する。
【０３９６】
メタデータ管理プログラム１１２は、処理を開始すると（ステップＳ９２００）、メタデータの収集対象となる名前空間のスナップショットの作成をファイルサーバ４に指示する（ステップＳ９２０１）。当該指示を受信したファイルサーバ４は、指示された名前空間のスナップショットを作成する。
【０３９７】
メタデータ管理プログラム１１２は、作成されたスナップショットに含まれるファイルの中から処理対象となるファイルを一つ選択する（ステップＳ９２０２）。ステップ９２０２の処理は、スナップショットに含まれるファイルを選択する点が、ステップＳ８００２の処理（図９参照）と異なる。
【０３９８】
メタデータ管理プログラム１１２は、ファイルサーバ４から選択されたファイルのメタデータを取得する（ステップＳ９２０３）。
【０３９９】
メタデータ管理プログラム１１２は、取得されたメタデータに基づいて、メタデータ管理テーブル１５３を更新する（ステップＳ９２０４）。ステップＳ９２０４の処理は、ステップＳ８００４の処理（図９参照）と同一の処理である。
【０４００】
メタデータ管理プログラム１１２は、スナップショットに含まれる全てのファイルについて処理が完了したか否かを判定する（ステップＳ９２０５）。
【０４０１】
スナップショットに含まれる全てのファイルについて処理が完了していないと判定された場合、メタデータ管理プログラム１１２は、ステップＳ９２０２に戻り同様の処理を実行する（ステップＳ９２０２〜ステップＳ９２０５）。
【０４０２】
スナップショットに含まれる全てのファイルについて処理が完了したと判定された場合、メタデータ管理プログラム１１２は、メタデータ管理テーブル１５３のレコードのうち、ステップＳ９２０１からステップＳ９２０５の処理において更新されなかったレコードを抽出する（ステップＳ９２０６）。
【０４０３】
メタデータ管理プログラム１１２は、抽出されたレコードの中から、処理対象のレコードを一つ選択する（ステップＳ９２０７）。
【０４０４】
メタデータ管理プログラム１１２は、処理対象のレコードに対応するファイルがスナップショットに含まれるか否かを判定する（ステップＳ９２０８）。
【０４０５】
処理対象のレコードに対応するファイルがスナップショットに含まれると判定された場合、メタデータ管理プログラム１１２は、ステップＳ９２１２に進む。
【０４０６】
処理対象のレコードに対応するファイルがスナップショットに含まれないと判定された場合、メタデータ管理プログラム１１２は、処理対象のレコードを更新する（ステップＳ９２０９）。具体的には、処理対象レコードのファイル状態１５３５に「削除」を格納する。
【０４０７】
これは、処理対象のレコードに対応するファイルが、スナップショット作成前に削除されたファイルであることを示す。したがって、当該ファイルは削除ファイルとして管理される。
【０４０８】
メタデータ管理プログラム１１２は、ステップＳ９２０１において作成されたスナップショットの一つ前の世代のスナップショットから、処理対象のレコードに対応するファイルを取得する（ステップＳ９２１０）。一つ前の世代のスナップショットは、前回実行された本処理において作成されたものである。なお、一つ前の世代のスナップショットは、ファイルサーバ４が格納してもよいし、退避用ストレージ装置２が格納してもよい。
【０４０９】
メタデータ管理プログラム１１２は、一つ前の世代のスナップショットから取得されたファイルを、処理対象のレコードに対応する削除ファイルの退避ファイルとして退避用ストレージ装置２に移動する（ステップＳ９２１１）。
【０４１０】
メタデータ管理プログラム１１２は、ファイル退避管理テーブル１５４を更新する（ステップＳ９２１２）。ステップＳ９２１２の処理は、ステップＳ８２０８の処理（図１１Ｃ参照）と同一の処理である。
【０４１１】
メタデータ管理プログラム１１２は、ステップＳ９２０６において抽出された全てのレコードについて処理が完了したか否かを判定する（ステップＳ９２１３）。
【０４１２】
ステップＳ９２０６において抽出された全てのレコードについて処理が完了していないと判定された場合、メタデータ管理プログラム１１２は、ステップＳ９２０７に戻り同様の処理を実行する（ステップＳ９２０７〜ステップＳ９２１３）。
【０４１３】
ステップＳ９２０６において抽出された全てのレコードについて処理が完了したと判定された場合、メタデータ管理プログラム１１２は、一つ前の世代のスナップショットの削除をファイルサーバ４に指示し、処理を終了する（ステップＳ９２１４、ステップＳ９２１５）。当該指示を受信したファイルサーバ４は、指示されたスナップショットを削除する。
【０４１４】
本実施形態では、ファイルサーバ４は、ファイルの削除を通知する必要がないため、ファイルの削除を通知する機能を備えていないファイルサーバ４であっても、削除ファイルを退避用ストレージ装置２に移動することができる。
【０４１５】
本発明のいずれの実施形態においても、メタデータサーバ１の指示によって、隠蔽化ファイルが削除される。これは、ファイルサーバ４、メタデータサーバ１、又はネットワーク７に障害が発生し、実行中のファイル退避処理が中断した場合であっても、メタデータサーバ１が退避用ストレージ装置２へのファイルの移動が完了するまでは、ファイルサーバ４によって隠蔽化ファイルが削除されないようにするためである。
【０４１６】
また、メタデータサーバ１又はネットワーク７に障害が発生し、ファイルサーバ４がメタデータサーバ１にファイルの削除を通知できなくなった場合、ファイルサーバ４は障害を検知し、メタデータサーバ１と通信可能となるまで、ファイル削除の通知を遅延させる。
【０４１７】
第一の実施形態では、ファイルサーバ４がメタデータサーバ１と通信不能であることを検出した場合、第二の実施形態のファイル削除の通知方法に切り替えて、動作を継続できるようにしてもよい。
【０４１８】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【図１】
2013042218.tif 000003
【図２】
2013042218.tif 000004
【図３】
2013042218.tif 000005
【図４】
2013042218.tif 000006
【図５】
2013042218.tif 000007
【図６】
2013042218.tif 000008
【図７】
2013042218.tif 000009
【図８】
2013042218.tif 000010
【図９】
2013042218.tif 000011
【図１０】
2013042218.tif 000012
【図１１Ａ】
2013042218.tif 000013
【図１１Ｂ】
2013042218.tif 000014
【図１１Ｃ】
2013042218.tif 000015
【図１２】
2013042218.tif 000016
【図１３】
2013042218.tif 000017
【図１４】
2013042218.tif 000018
【図１５Ａ】
2013042218.tif 000019
【図１５Ｂ】
2013042218.tif 000020
【図１６】
2013042218.tif 000021
【図１７】
2013042218.tif 000022
【図１８】
2013042218.tif 000023
【図１９】
2013042218.tif 000024
【図２０】
2013042218.tif 000025
【図２１】
2013042218.tif 000026
【図２２】
2013042218.tif 000027
【図２３】
2013042218.tif 000028
【図２４】
2013042218.tif 000029
【図２５】
2013042218.tif 000030
【図２６】
2013042218.tif 000031
【図２７】
2013042218.tif 000032
【図２８】
2013042218.tif 000033
【図２９】
2013042218.tif 000034
【図３０】
2013042218.tif 000035
【図３１】
2013042218.tif 000036
【図３２Ａ】
2013042218.tif 000037
【図３２Ｂ】
2013042218.tif 000038
【国際調査報告】
2013042218.tif 000039
2013042218.tif 000040