(57)【要約】記憶環境（１００）においてデータの一貫性を維持する技術。ＨＳＭ制御記憶環境（１００）において、ファイル・システム又はその一部がバックアップ（１２０）からリストアされた後、矛盾を自動的に検出（２１２、２３６）と訂正（２１４、２２８）する技術が提供される。ファイル・システムは、バックアップ（１２０）からリストアされたデータ・ファイル、タグ・ファイル、及び／又はリポジトリ・ファイルを記憶することができる。
2006508473.tif 000002
【特許請求の範囲】
【請求項１】
複数のサーバが、バックアップ媒体からリストアされた複数のファイルを記憶するファイル・システムを有する第１サーバを含み、前記複数のファイルが、１つ又は複数のデータ・ファイル、前記ファイル・システムから移動したデータ・ファイルに対応する１つ又は複数のタグ・ファイルを含む、複数のサーバを備える記憶環境において、前記第１サーバの前記ファイル・システムの一貫性を維持するコンピュータ実施方法であって、
前記第１サーバの前記ファイル・システムに記憶されている前記複数のファイルに関する情報を備える第１情報を提供し、前記第１情報が複数のエントリを備え、各エントリがファイルに対応し、かつ前記ファイルがタグ・ファイル又はデータ・ファイルであるか否かを識別する状況情報を記憶し、各エントリが、前記ファイルの１つ又は複数の属性を識別する属性情報を記憶することと、
前記複数のファイルを前記第１情報に含まれる情報と比較することと、
前記比較に基づいて、前記複数のファイルからの第１ファイルに関連する情報が前記第１情報の情報と矛盾する場合、少なくとも第１の矛盾を識別することと、
前記第１の矛盾を解決するために、１つ又は複数のオペレーションの第１セットを実施することとを備える、方法。
【請求項２】
ファイルをタグ・ファイルと識別する状況情報を記憶し、対応するタグ・ファイルが前記複数のファイルに存在しない少なくとも第１のエントリを第１情報において識別することと、
前記第１エントリについて、１つ又は複数のオペレーションの第２セットを実施することとをさらに備える請求項１に記載の方法。
【請求項３】
前記１つ又は複数のオペレーションの第２セットを実施することが、
前記第１エントリの情報に基づいて、前記第１エントリに対応するリポジトリ・ファイルが存在するか否かを判定することと、
前記第１エントリに対応するリポジトリ・ファイルが存在しないという判定に基づいて、前記第１情報から前記第１エントリを削除することとを備える請求項２に記載の方法。
【請求項４】
前記１つ又は複数のオペレーションの第２セットを実施することが、
前記第１エントリの情報に基づいて、前記第１エントリに対応するリポジトリ・ファイルが存在するか否かを判定することと、
前記第１エントリに対応するリポジトリ・ファイルが存在するという判定に基づいて、前記第１エントリの情報を使用して、タグ・ファイルを創出することとを備える請求項２に記載の方法。
【請求項５】
前記複数のファイルが、移動データを記憶する１つ又は複数のリポジトリ・ファイルを備え、
前記複数のサーバによって記憶されている移動されたファイルに関する情報を含めて、第２情報を提供することと、
前記１つ又は複数のリポジトリ・ファイルを前記第１情報と前記第２情報に記憶されている情報と比較することと、
前記１つ又は複数のリポジトリ・ファイルを前記第１情報と前記第２情報の情報と比較することに基づいて、少なくとも１つの矛盾を識別することと、
前記少なくとも１つの矛盾を解決するために、１セットの１つ又は複数のアクションを実施することとをさらに備える請求項２に記載の方法。
【請求項６】
前記第１ファイルが、前記第１サーバの前記ファイル・システムから移動されたデータ・ファイルを表すタグ・ファイルであり、
少なくとも第１の矛盾を識別することが、前記第１情報が前記第１ファイルのエントリを含まないと判定することを備え、
前記１つ又は複数のオペレーションの第１セットを実施することが、前記第１ファイルを削除することを備える請求項１に記載の方法。
【請求項７】
前記第１ファイルが、前記第１サーバの前記ファイル・システムから移動されたデータ・ファイルを表すタグ・ファイルであり、
少なくとも第１の矛盾を識別することが、前記ファイルをデータ・ファイルと識別する状況情報を記憶する前記第１ファイルに対応するエントリを前記第１情報が含むと判定することを備え、
前記１つ又は複数のオペレーションの第１セットを実施することが、
前記第１ファイルを削除することと、
前記第１ファイルに対応する前記エントリを前記第１情報において削除することとを備える請求項１に記載の方法。
【請求項８】
前記第１ファイルが、前記第１サーバの前記ファイル・システムから移動されたデータ・ファイルを表すタグ・ファイルであり、
少なくとも第１の矛盾を識別することが、前記ファイルをタグ・ファイルと識別する状況情報を記憶する前記第１ファイルに対応するエントリを前記第１情報が含むと判定することを備え、前記エントリによって記憶されている前記属性情報が、前記第１ファイルの少なくとも１つの属性と整合せず、
前記１つ又は複数のオペレーションの第１セットを実施することが、前記第１ファイルの前記少なくとも１つの属性が、前記第１ファイルに対応する前記第１情報における前記エントリに記憶されている前記属性情報と整合するように、前記第１ファイルを更新することを備える請求項１に記載の方法。
【請求項９】
前記第１ファイルが、データ・ファイルであり、
少なくとも第１の矛盾を識別することが、前記第１情報が前記第１ファイルのエントリを含まないと判定することを備え、
１つ又は複数のオペレーションの第１セットを実施することが、エントリを前記第１ファイルの前記第１情報に追加することを備える請求項１に記載の方法。
【請求項１０】
前記第１ファイルが、データ・ファイルであり、
少なくとも第１の矛盾を識別することが、前記ファイルをタグ・ファイルと識別する状況情報を記憶する前記第１ファイルに対応する第１エントリを前記第１情報が含むと判定することを備え、
前記１つ又は複数のオペレーションの第１セットを実施することが、
第２エントリを前記第１ファイルの前記第１情報に追加することと、
前記情報に対応するタグ・ファイルを前記第１情報の前記第１エントリにおいて創出することとを備える請求項１に記載の方法。
【請求項１１】
前記第１ファイルが、データ・ファイルであり、
少なくとも第１の矛盾を識別することが、前記ファイルをデータ・ファイルと識別する状況情報を記憶する前記第１ファイルに対応するエントリを前記第１情報が含むと判定することを備え、前記エントリによって記憶されている前記属性情報が、前記第１ファイルの少なくとも１つの属性と整合せず、
前記１つ又は複数のオペレーションの第１セットを実施することが、前記エントリに記憶されている前記属性情報が前記第１ファイルの前記少なくとも１つの属性と整合するように、前記第１ファイルに対応する前記第１情報エントリの前記情報を更新することを備える請求項１に記載の方法。
【請求項１２】
複数のサーバが、バックアップ媒体からリストアされた複数のファイルを記憶するファイル・システムを有する第１サーバを含み、前記複数のファイルが、１つ又は複数のデータ・ファイル、前記ファイル・システムから移動したデータ・ファイルに対応する１つ又は複数のタグ・ファイルを含む、複数のサーバを備える記憶環境において、前記第１サーバの前記ファイル・システムの一貫性を維持するコンピュータ実施方法であって、
前記第１サーバの前記ファイル・システムに記憶されているファイルに関する情報を含む第１情報を提供することと、
各エントリが、前記複数のサーバによって記憶されている移動されたファイルに関する情報を記憶する、複数のエントリを備える第２情報を提供することと、
前記複数のファイルからの第１タグ・ファイルを前記第２情報に記憶されている情報と比較することと、
前記比較に基づいて、前記第１タグ・ファイルに関連する情報が、前記第２情報に含まれる前記情報と矛盾する場合、少なくとも第１の矛盾を識別することと、
前記第１の矛盾を解決するために、第１セットの１つ又は複数のアクションを実施することとを備える、方法。
【請求項１３】
前記第１の矛盾を識別することが、前記第２情報が前記第１タグ・ファイルのエントリを含まないと判定することを備え、
前記第１セットの１つ又は複数のアクションを実施することが、前記第１タグ・ファイルを削除することを備える請求項１２に記載の方法。
【請求項１４】
前記第１の矛盾を識別することが、前記第２情報が前記第１タグ・ファイルの第２エントリを含むと判定することを備え、リポジトリ・ファイルが、前記第１タグ・ファイルについて存在し、前記第１エントリの情報が、前記第１タグ・ファイルの少なくとも１つの属性と整合せず、
前記第１セットの１つ又は複数のアクションを実施することが、
前記第１タグ・ファイルの前記少なくとも１つの属性が前記第１エントリの前記情報と整合するように、前記第１タグ・ファイルを更新することと、
エントリを前記第１タグ・ファイルの前記第１情報に追加し、前記エントリが、前記第１タグ・ファイルに関する情報を記憶する請求項１２に記載の方法。
【請求項１５】
前記第１の矛盾を識別することが、前記第２情報が前記第１タグ・ファイルの第１エントリを含むと判定することを備え、リポジトリ・ファイルが、前記第１タグ・ファイルについて存在し、前記第１エントリの情報が、前記第１タグ・ファイルの１つ又は複数の属性と整合し、
前記第１セットの１つ又は複数のアクションを実施することが、エントリを前記第１タグ・ファイルの前記第１情報に追加することを備え、前記エントリが、前記第１タグ・ファイルに関する情報を記憶する請求項１２に記載の方法。
【請求項１６】
対応するタグ・ファイルが前記複数のファイルに存在しない少なくとも第１エントリを前記第２情報において識別することと、
前記第１エントリについて、１つ又は複数のオペレーションの第２セットを実施することとをさらに備える請求項１２に記載の方法。
【請求項１７】
前記１つ又は複数のオペレーションの第２セットを実施することが、
前記第２情報の前記第１エントリの情報に基づいて、前記第１エントリに対応するリポジトリ・ファイルが存在するか否かを判定することと、
前記第１エントリに対応するリポジトリ・ファイルが存在しないという判定に基づいて、前記第１エントリを前記第２情報から削除することとを備える請求項１６に記載の方法。
【請求項１８】
前記１つ又は複数のオペレーションの第２セットを実施することが、
前記第１エントリの情報に基づいて、前記第１エントリに対応するリポジトリ・ファイルが存在するか否かを判定することと、
前記第１エントリに対応するリポジトリ・ファイルが存在するという判定に基づいて、前記第２情報の前記第１エントリの情報を使用してタグ・ファイルを創出することとを備える請求項１６に記載の方法。
【請求項１９】
複数のサーバが、１つ又は複数のデータ・ファイルやファイル・システムから移動したデータ・ファイルに対応する１つ又は複数のタグ・ファイルを含む複数のファイルを記憶するファイル・システムを有する第１サーバを含む、複数のサーバを備える階層型記憶管理アプリケーションによって管理される記憶環境において、情報を回復するコンピュータ実施方法であって、
移動された１つ又は複数のデータ・ファイルに関する情報を含む第１情報を提供し、移動された各データ・ファイルに関する前記情報が、前記データ・ファイルが移動される元であるサーバとボリュームを識別する情報と、前記データ・ファイルの前記移動データが記憶されるサーバとボリュームを識別する情報含み、前記第１情報が移動された第１データ・ファイルに関する情報を備えることと、
前記第１情報に基づいて、前記ファイル・システムが第１データ・ファイルに対応するタグ・ファイルを含まないと判定することと、
前記第１情報に含まれる情報に基づいて、前記第１データ・ファイルに対応するタグ・ファイルを創出することとを備える、方法。
【請求項２０】
複数のサーバが、バックアップ媒体からリストアされた複数のファイルを記憶するファイル・システムを有する第１サーバを含み、前記複数のファイルが、１つ又は複数のデータ・ファイル、前記ファイル・システムから移動したデータ・ファイルに対応する１つ又は複数のタグ・ファイルを含む、複数のサーバを備える記憶環境において、前記第１サーバの前記ファイル・システムの一貫性を維持するコンピュータ可読媒体に記憶されるコンピュータ・プログラム・プロダクトであって、
前記第１サーバのファイル・システムに記憶されている前記複数のファイルに関する情報を備える第１情報を提供するためのコードであって、前記第１情報が複数のエントリを備え、各エントリが、ファイルに対応し、かつ前記ファイルがタグ・ファイル又はデータ・ファイルであるかを識別する状況情報を記憶し、各エントリが、前記ファイルの１つ又は複数の属性を識別する属性情報を記憶する、コードと、
前記複数のファイルを前記第１情報に含まれる情報と比較するためのコードと、
前記複数のファイルからの第１ファイルに関連する情報が前記第１情報の情報と矛盾する場合、前記比較に基づいて、少なくとも第１の矛盾を識別するためのコードと、
前記第１の矛盾を解決するために、１つ又は複数のオペレーションの第１セットを実施するためのコードとを備える、コンピュータ・プログラム・プロダクト。
【請求項２１】
ファイルをタグ・ファイルと識別する状況情報を記憶し、かつ対応するタグ・ファイルが前記複数のファイルに存在しない少なくとも第１エントリを前記第１情報において識別するためのコードと、
前記第１エントリについて、１つ又は複数のオペレーションの第２セットを実施するためのコードとをさらに備える請求項２０に記載のコンピュータ・プログラム・プロダクト。
【請求項２２】
前記１つ又は複数のオペレーションの第２セットを実施するための前記コードが、
前記第１エントリの情報に基づいて、前記第１エントリに対応するリポジトリ・ファイルが存在するか否かを判定するためのコードと、
前記第１エントリに対応するリポジトリ・ファイルが存在しないという判定に基づいて、前記第１エントリを前記第１情報から削除するためのコードとを備える請求項２１に記載のコンピュータ・プログラム・プロダクト。
【請求項２３】
前記１つ又は複数のオペレーションの第２セットを実施するための前記コードが、
前記第１エントリの情報に基づいて、前記第１エントリに対応するリポジトリ・ファイルが存在するか否かを判定するためのコードと、
前記第１エントリに対応するリポジトリ・ファイルが存在するという判定に基づいて、前記第１エントリの情報を使用してタグ・ファイルを創出するためのコードとを備える請求項２１に記載のコンピュータ・プログラム・プロダクト。
【請求項２４】
前記複数のファイルが、移動データを記憶する１つ又は複数のリポジトリ・ファイルを備え、
前記複数のサーバによって記憶されている移動されたファイルに関する情報を含む第２情報を提供するためのコードと、
前記１つ又は複数のリポジトリ・ファイルを前記第１情報と前記第２情報に記憶されている情報と比較するためのコードと、
前記１つ又は複数のリポジトリ・ファイルを前記第１情報と前記第２情報に記憶されている情報と比較することに基づいて、少なくとも１つの矛盾を識別するためのコードと、
前記少なくとも１つの矛盾を解決するために、１セットの１つ又は複数のアクションを実施するためのコードとをさらに備える請求項２１に記載のコンピュータ・プログラム・プロダクト。
【請求項２５】
前記第１ファイルが、前記第１サーバの前記ファイル・システムから移動されたデータ・ファイルを表すタグ・ファイルであり、
少なくとも第１の矛盾を識別するための前記コードが、前記第１情報が前記第１ファイルのエントリを含まないと判定するためのコードを備え、
前記１つ又は複数のオペレーションの第１セットを実施するための前記コードが、前記第１ファイルを削除するためのコードを備える請求項２０に記載のコンピュータ・プログラム・プロダクト。
【請求項２６】
前記第１ファイルが、前記第１サーバの前記ファイル・システムから移動されたデータ・ファイルを表すタグ・ファイルであり、
少なくとも第１の矛盾を識別するための前記コードが、前記ファイルをデータ・ファイルと識別する状況情報を記憶する前記第１ファイルに対応するエントリを前記第１情報が含むと判定するためのコードを備え、
前記１つ又は複数のオペレーションの第１セットを実施するための前記コードが、
前記第１ファイルを削除するためのコードと、
前記第１ファイルに対応する前記第１情報の前記エントリを削除するためのコードとを備える請求項２０に記載のコンピュータ・プログラム・プロダクト。
【請求項２７】
前記第１ファイルが、前記第１サーバの前記ファイル・システムから移動されたデータ・ファイルを表すタグ・ファイルであり、
少なくとも第１の矛盾を識別するための前記コードが、前記ファイルをタグ・ファイルと識別する状況情報を記憶する前記第１ファイルに対応するエントリを前記第１情報が含むと判定するためのコードを備え、前記エントリによって記憶されている前記属性情報が、前記第１ファイルの少なくとも１つの属性と整合せず、
前記１つ又は複数のオペレーションの第１セットを実施するための前記コードが、前記第１ファイルの前記少なくとも１つの属性が、前記第１ファイルに対応する前記第１情報の前記エントリに記憶されている前記属性情報と整合するように、前記第１ファイルを更新するためのコードを備える請求項２０に記載のコンピュータ・プログラム・プロダクト。
【請求項２８】
前記第１ファイルがデータ・ファイルであり、
少なくとも第１の矛盾を識別するための前記コードが、前記第１情報が前記第１ファイルのエントリを含まないと判定するためのコードを備え、
１つ又は複数のオペレーションの第１セットを実施するための前記コードが、エントリを前記第１ファイルの前記第１情報に追加するためのコードを備える請求項２０に記載のコンピュータ・プログラム・プロダクト。
【請求項２９】
前記第１ファイルがデータ・ファイルであり、
少なくとも第１の矛盾を識別するための前記コードが、前記ファイルをタグ・ファイルであると識別する状況情報を記憶する前記第１ファイルに対応する第１エントリを前記第１情報が含むと判定するためのコードを備え、
前記１つ又は複数のオペレーションの第１セットを実施するための前記コードが、
第２エントリを前記第１ファイルの前記第１情報に追加するためのコードと、
前記第１情報の前記第１エントリの前記情報に対応するタグ・ファイルを創出するためのコードとを備える請求項２０に記載のコンピュータ・プログラム・プロダクト。
【請求項３０】
第１ファイルがデータ・ファイルであり、
少なくとも第１の矛盾を識別するための前記コードが、前記ファイルをデータ・ファイルと識別する状況情報を記憶する前記第１ファイルに対応するエントリを含むと前記第１情報が判定するためのコードを備え、前記エントリによって記憶されている前記属性情報が、前記第１ファイルの少なくとも１つの属性と整合せず、
前記１つ又は複数のオペレーションの第１セットを実施するための前記コードが、前記エントリに記憶されている前記属性情報が前記第１ファイルの前記少なくとも１つの属性と整合するように、前記第１ファイルに対応する前記第１情報エントリの前記情報を更新するためのコードを備える請求項２０に記載のコンピュータ・プログラム・プロダクト。
【請求項３１】
複数のサーバが、バックアップ媒体からリストアされた複数のファイルを記憶するファイル・システムを有する第１サーバを含み、前記複数のファイルが、１つ又は複数のデータ・ファイル、前記ファイル・システムから移動したデータ・ファイルに対応する１つ又は複数のタグ・ファイルを含む、複数のサーバを備える記憶環境において、前記第１サーバの前記ファイル・システムの一貫性を維持するコンピュータ可読媒体に記憶されるコンピュータ・プログラム・プロダクトであって、
前記第１サーバの前記ファイル・システムに記憶されているファイルに関する情報を含む第１情報を提供するためのコードと、
各エントリが、前記複数のサーバによって記憶されている移動されたファイルに関する情報を記憶する、複数のエントリを備える第２情報を提供するためのコードと、
前記複数のファイルからの第１タグ・ファイルを前記第２情報に記憶されている情報と比較するためのコードと、
前記比較に基づいて、前記第１タグ・ファイルに関連する情報が前記第２情報に記憶されている情報と矛盾する場合、少なくとも第１の矛盾を識別するためのコードと、
前記第１の矛盾を解決するために、第１セットの１つ又は複数のアクションを実施するためのコードとを備える、コンピュータ・プログラム・プロダクト。
【請求項３２】
前記第１の矛盾を識別するための前記コードが、前記第２情報が前記第１タグ・ファイルのエントリを含まないと判定するためのコードを備え、
前記第１セットの１つ又は複数のアクションを実施するためのコードが、前記第１タグ・ファイルを削除するためのコードを備える請求項３１に記載のコンピュータ・プログラム・プロダクト。
【請求項３３】
前記第１の矛盾を識別するための前記コードが、前記第２情報が前記第１タグ・ファイルの第１エントリを含むと判定するためのコードを備え、リポジトリ・ファイルが、前記第１タグ・ファイルについて存在し、前記第１エントリの情報が、前記第１タグ・ファイルの少なくとも１つの属性と整合せず、
前記第１セットの１つ又は複数のアクションを実施するための前記コードが、
前記第１タグ・ファイルの前記少なくとも１つの属性が前記エントリの前記情報と整合するように、前記第１タグ・ファイルを更新するためのコードと、
エントリを前記第１タグ・ファイルの前記第１情報に追加するためのコードであって、前記エントリが前記第１タグ・ファイルに関する情報を記憶する、コードとを備える請求項３１に記載のコンピュータ・プログラム・プロダクト。
【請求項３４】
前記第１の矛盾を識別するための前記コードが、前記第２情報が前記第１タグ・ファイルの第１エントリを含むと判定するためのコードを備え、リポジトリ・ファイルが、前記第１タグ・ファイルについて存在し、前記第１エントリの情報が、前記第１タグ・ファイルの１つ又は複数の属性と整合せず、
前記第１セットの１つ又は複数のアクションを実施するための前記コードが、エントリを前記第１タグ・ファイルの前記第１情報に追加するためのコードを備え、前記エントリが、前記第１タグ・ファイルに関する情報を記憶する請求項３１に記載のコンピュータ・プログラム・プロダクト。
【請求項３５】
対応するタグ・ファイルが前記複数のファイルに存在しない少なくとも第１のエントリを前記第２情報において識別するためのコードと、
前記第１エントリについて、１つ又は複数のオペレーションの第２セットを実施するためのコードとをさらに備える請求項３１に記載のコンピュータ・プログラム・プロダクト。
【請求項３６】
前記１つ又は複数のオペレーションの第２セットを実施するための前記コードが、
前記第２情報の前記第１エントリの情報に基づいて、前記第１エントリに対応するリポジトリ・ファイルが存在するか否かを判定するためのコードと、
前記第１エントリに対応するリポジトリ・ファイルが存在しないという判定に基づいて、前記第１エントリを前記第２情報から削除するためのコードとを備える請求項３５に記載のコンピュータ・プログラム・プロダクト。
【請求項３７】
前記１つ又は複数のオペレーションの第２セットを実施するための前記コードが、
前記第１エントリの情報に基づいて、前記第１エントリに対応するリポジトリ・ファイルが存在するか否かを判定するためのコードと、
前記第１エントリに対応するリポジトリ・ファイルが存在するという判定に基づいて、前記第２情報の前記第１エントリの情報を使用して、タグ・ファイルを創出するためのコードとを備える請求項３５に記載のコンピュータ・プログラム・プロダクト。
【請求項３８】
複数のサーバが、１つ又は複数のデータ・ファイルやファイル・システムから移動したデータ・ファイルに対応する１つ又は複数のタグ・ファイルを含む複数のファイルを記憶するファイル・システムを有する第１サーバを含む、複数のサーバを備える階層型記憶管理環境において、情報を回復するためのコンピュータ可読媒体に記憶されるコンピュータ・プログラム・プロダクトであって、
移動された１つ又は複数のデータ・ファイルに関する情報を含む第１情報を提供するためのコードであって、移動された各データ・ファイルに関する前記情報が、データ・ファイルが移動される元であるサーバとボリュームを識別するための情報と、前記データ・ファイルの前記移動データが記憶されるサーバとボリュームを識別する情報を含み、前記第１情報が移動された第１データ・ファイルに関する情報を備える、コードと、
前記第１情報に基づいて、前記ファイル・システムが、第１データ・ファイルに対応するタグ・ファイルを含まないと判定するためのコードと、
前記第１情報に含まれる情報に基づいて、前記第１データ・ファイルに対応するタグ・ファイルを創出するためのコードとを備える、コンピュータ・プログラム・プロダクト。
【請求項３９】
階層型記憶管理アプリケーションを使用して管理される記憶システムであって、
第１サーバと、
バックアップ媒体からリストアされる複数のファイルを記憶する、前記第１サーバに結合される１セットの１つ又は複数の記憶ユニットであって、前記複数のファイルが、１つ又は複数のデータ・ファイル、１セットの記憶ユニットから移動したデータ・ファイルに対応する１つ又は複数のタグ・ファイルを含む、１セットの１つ又は複数の記憶ユニットと、
前記セットの記憶ユニットに記憶されている前記複数のファイルに関する情報を備える第１情報を記憶するように構成されるメモリであって、前記第１情報が複数のエントリを備え、各エントリがファイルに対応し、各エントリが、前記ファイルがタグ・ファイル又はデータ・ファイルであるかを識別する状況情報を記憶し、各エントリが、前記ファイルの１つ又は複数の属性を識別する属性情報を記憶する、メモリとを備え、
前記第１サーバが、
前記複数のファイルを前記第１情報に含まれる情報と比較し、
前記比較に基づいて、前記複数のファイルからの第１ファイルに関連する情報が前記第１情報の情報と矛盾する場合、少なくとも第１の矛盾を識別し、
前記第１の矛盾を解決するために、１つ又は複数のオペレーションの第１セットを実施するように構成される、記憶システム。
【請求項４０】
階層型記憶管理アプリケーションを使用して管理される記憶システムであって、
第１サーバと、
バックアップ媒体からリストアされる複数のファイルを記憶する、前記第１サーバに結合される１セットの１つ又は複数の記憶ユニットであって、前記複数のファイルが、１つ又は複数のデータ・ファイル、１セットの記憶ユニットから移動したデータ・ファイルに対応する１つ又は複数のタグ・ファイルを含む、１セットの１つ又は複数の記憶ユニットと、
第１情報と第２情報を記憶するように構成されるメモリであって、前記第１情報が前記セットの記憶ユニットによって記憶されているファイルに関する情報を含み、前記第２情報が移動された前記セットの記憶ユニットによって記憶されている１つ又は複数のファイルの情報を記憶する、メモリとを備え、
前記第１サーバが、
前記複数のファイルからの第１タグ・ファイルを前記第２情報に記憶されている情報と比較し、
前記比較に基づいて、前記第１タグ・ファイルに関連する情報が前記第２情報に含まれる前記情報と矛盾する場合、少なくとも第１の矛盾を識別し、
前記第１の矛盾を解決するために、第１セットの１つ又は複数のアクションを実施するように構成される、記憶システム。
【請求項４１】
記憶システムが複数のサーバを備え、前記複数のサーバが、１つ又は複数のデータ・ファイルやファイル・システムから移動したデータ・ファイルに対応する１つ又は複数のタグ・ファイルを含む複数のファイルを記憶するファイル・システムを有する、階層型記憶管理アプリケーションによって管理される記憶システムにおいて、
プロセッサと、
移動された１つ又は複数のデータ・ファイルに関する情報を含む第１情報を記憶するように構成されるメモリであって、移動された各データ・ファイルに関する前記情報が、データ・ファイルが移動される元であるサーバとボリュームを識別する情報と、前記データ・ファイルの前記移動データが記憶されるサーバとボリュームを識別する情報含み、前記第１情報が移動された第１データ・ファイルに関する情報を備え、メモリが、前記プロセッサによって実行されるとき、前記プロセッサが、
前記第１情報に基づいて、前記ファイル・システムが第１データ・ファイルに対応するタグ・ファイルを含まないと判定し、
前記第１情報に含まれる情報に基づいて、前記第１データ・ファイルに対応するタグ・ファイルを創出する複数の命令を記憶するようにさらに構成される、メモリとを備える、データ処理システム。
【発明の詳細な説明】
【関連出願】
【０００１】
（関連出願の相互引用）
本出願は、全内容がすべての目的について参照によって本明細書に組み込まれる、米国仮出願６０／４３０４６４、２００２年１２月２日出願の優先権を主張し、かつその通常の出願である。
【技術分野】
【０００２】
本発明は、一般に、データの記憶と管理の分野に関し、より具体的には、ファイル・システム又はファイル・システムの一部がバックアップからリストアされた後、ファイル・システムにおいてデータの一貫性を維持する技術に関する。
【背景技術】
【０００３】
１つ又は複数の記憶ユニットに結合された複数のサーバを備える通常の記憶環境では、環境を管理するアドミニストレータが、データの利用可能性や効率的なアクセス可能性を保証するために、いくつかのタスクを実施しなければならない。従来、これらのタスクは、記憶装置のアドミニストレータによって手動で実施された。
【０００４】
より最近では、手動タスクのいくつかを自動化することを試行する記憶管理アプリケーションが利用できる。たとえば、記憶装置の階層内においてデータを移動させるために、階層型記憶管理（ＨＳＭ）アプリケーションが使用される。たとえば、記憶装置の使用を管理するために、ファイルを、オンライン記憶装置からニアオンライン記憶装置に、ニアオンライン記憶装置からオフライン記憶装置に、など、移動させることができる。ファイルを、元の記憶位置から他の記憶位置（「リポジトリ記憶位置」と呼ばれる）に移動させるとき、スタブ・ファイル又はタグ・ファイルが、元の記憶位置に内の移動させられたファイルの位置に残される。
【０００５】
タグ・ファイルは、移動データを突き止めるために使用する情報を記憶する。たとえば、タグ・ファイルは、ＨＳＭアプリケーションがリポジトリ記憶位置において移動データを突き止めることができる情報を備える。タグ・ファイルは、移動ファイルの属性又はメタデータを含む。たとえば、タグ・ファイルは、管理システムが、ファイルを呼び出すために必要な情報を見つける（データベースから、又はタグ・ファイル自体から）ためのファイル名又はファイル識別子を含む。ある実施態様では、移動ファイルを突き止めるために使用される情報は、タグ・ファイルではなく、又はタグ・ファイルの他に、データベースに記憶される。移動ファイルを、リポジトリ記憶位置から他のリポジトリ記憶位置に再移動させることもある。タグ・ファイルの情報は、移動データ又は再移動データの位置を指摘するように更新される。
【０００６】
タグ・ファイルは、ユーザ又はアプリケーションが元のデータ・ファイルにアクセスすることができるファイル・システムにおけるエンティティとして作用する。タグ・ファイルを使用することによって、データ移動はデータのユーザに透過的となる。ユーザとアプリケーションは、ファイルが依然として元の記憶位置に記憶されている場合でも、移動ファイルにアクセスすることができる。ＨＳＭアプリケーションは、移動ファイルにアクセスする要求を受信すると、タグ・ファイル又はあるデータベースに記憶されている情報を使用して移動データのリポジトリ記憶位置を判定し、要求されたデータ・ファイルをリポジトリ記憶位置から元の記憶位置にリコールする（呼び戻す）。
【０００７】
記憶システムがクラッシュする傾向もあり、その結果、データが失われることがある。データの損失を最小限に抑えるために、通常ファイル・システムのバックアップが行われ、クラッシュ後にデータをリストアするために使用される。たとえば、ハード・ドライブなどのデータ記憶装置が、ＨＳＭを実行するコンピュータでクラッシュし、ドライブのデータが一部又は完全に失われた場合、バックアップ・テープなどのアーカイブからデータをリストアすることができる。しかし、バックアップ後やクラッシュ前に、データに対する変更が行われた可能性がある。その結果、バックアップからリストアされたデータは、ＨＳＭファイル・システムの他のデータと矛盾する可能性がある。たとえば、アックアップ媒体からリストアされたデータに含まれるタグ・ファイルが、ＨＳＭデータにおいて生じた可能性がある変化によって、もはや有効ではない可能性がある；タグ・ファイルによって表されるデータ・ファイルが、バックアップ後やクラッシュ前に、他の位置に再移動された可能性がある；データ・ファイルが、バックアップ後、修正された可能性がある（たとえば、データの内容、データのサイズ、アクセス日に対する変更）；データ・ファイルが、バックアップ時に移動された可能性があるが、クラッシュ前にリコールされた可能性があり、その結果、バックアップからリストアされたタグ・ファイルは、もはや有効性を有さない可能性がある、など。いくつかの他のタイプの変更が、バックアップが実施された後、ファイルの状態を変化させた可能性がある。その結果、リストアデータは、記憶環境の他のデータと矛盾する可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来、データがバックアップからリストアされた後、バックアップされたデータをリストアする個人（たとえば、記憶システム・アドミニストレータ）が、リストアデータの一貫性を手動で確認しなければならない。たとえば、システム・アドミニストレータは、タグ・ファイルが有効なデータ・ファイルを示すか否かを確認するために、各タグ・ファイルを手動で試験しなければならない。アドミニストレータは、また、検出された矛盾を取り除くために、オペレーションを手動で実施しなければならない。たとえば、いくつかのタグ・ファイルが無効であり、削除される必要がある可能性があり、一方、その他が、正確なデータ位置をもはや示さない可能性がある。その結果、いくつかのデータ・ファイルが、遠隔位置から元のコンピュータに手動で移動させなければならない可能性がある（不正確なタグ・ファイルを置き換える）。
【０００９】
ＨＳＭタグ・ファイルとデータ・ファイルに加えて、コンピュータ・サーバが、他のサーバから移動されたファイルのデータ内容（リポジトリ・ファイルと呼ばれる）を記憶することもできる。クラッシュ後、リストアされたリポジトリ・ファイルも、それらが依然として有効であるか否かを確認するために、手動で検証されなければならない。無効なレポジトリ・ファイルが取り除かれない（クリーン・アップされない）場合、ハード・ディスクに存在し続け、記憶空間を浪費する。一貫性を強化し、かつデータの損失を最小限に抑えるために、他の訂正も必要であろう。従来、記憶アドミニストレータが、これらのタスクを手動で実施しなければならなかった。
【００１０】
従来のシステムでは、上述されたすべての手作業の唯一の代替は、データがバックアップされるたびに、すべてのＨＳＭ管理ファイルをリコールすることである。しかし、これは、第１に、ネットワークに膨大な負担をかけ、ＨＳＭを使用する利点を限定する。さらに、すべてのリコールされたＨＳＭデータ・ファイルが、同時に元のコンピュータに適合しない可能性があり、それにより、多くの記憶環境において手続きが実行不可能で非実用的になる。
【課題を解決するための手段】
【００１１】
本発明の実施態様は、記憶環境においてデータの一貫性を維持する技術を提供する。ＨＳＭ制御記憶環境において、ファイル・システム又はその一部がバックアップからリストアされた後、矛盾を自動的に検出して解決する技術が提供される。ファイル・システムは、バックアップからリストアされたデータ・ファイル、タグ・ファイル、及び／又はリポジトリ・ファイルを記憶することができる。
【００１２】
本発明の実施態様によれば、複数のサーバを備える記憶環境においてサーバの一貫性を維持する技術が提供される。複数のサーバは、バックアップ媒体からリストアされた複数のファイルを記憶するファイル・システムを有する第１サーバを含み、複数のファイルは、１つ又は複数のデータ・ファイルやファイル・システムから移動したデータ・ファイルに対応する１つ又は複数のタグ・ファイルを含む。第１サーバの第１ファイル・システムに記憶されている複数のファイルに関する情報を備える第１情報が、提供され、第１情報は、複数のエントリを備え、各エントリは、ファイルに対応し、ファイルがタグ・ファイル又はデータ・ファイルであるかを識別する状況情報を記憶し、各エントリは、ファイルの１つ又は複数の属性を識別する属性情報を記憶する。複数のファイルは、第１情報に記憶されている情報と比較される。比較に基づいて、複数のファイルからの第１ファイルに関連する情報が、第１情報の情報と矛盾する場合、少なくとも第１の矛盾が識別される。１つ又は複数のオペレーションの第１セットが第１の矛盾を解決するために実施される。
【００１３】
本発明の他の態様によれば、複数のサーバを備える記憶環境においてサーバの一貫性を維持する技術が提供される。複数のサーバは、バックアップ媒体からリストアされた複数のファイルを記憶するファイル・システムを有する第１サーバを含み、複数のファイルは、１つ又は複数のデータ・ファイルやファイル・システムから移動したデータ・ファイルに対応する１つ又は複数のタグ・ファイルを含む。第１サーバの第１システムに記憶されているファイルに関する情報を含む第１情報が、提供される。複数のエントリを備える第２情報が提供され、各エントリは、複数のサーバによって記憶されている移動されたファイルに関する情報を記憶する。複数のファイルからの第１タグ・ファイルが、第２情報に記憶されている情報と比較される。比較に基づいて、第１タグ・ファイルに関連する情報が第２情報に含まれる情報と矛盾する場合、少なくとも第１の矛盾が識別される。第１セットの１つ又は複数のアクションが第１の矛盾を解決するために実施される。
【００１４】
本発明の他の実施態様によれば、複数のサーバを備えるＨＳＭ環境において情報をリストアする技術が提供される。複数のサーバは、１つ又は複数のデータ・ファイルやファイル・システムから移動したデータ・ファイルに対応する１つ又は複数のタグ・ファイルを含む複数のファイルを記憶するファイル・システムを有する第１サーバを含む。この実施態様では、移動された１つ又は複数のデータ・ファイルに関する情報を含む第１情報が提供され、移動された各データ・ファイルに関する情報は、データ・ファイルが移動される元であるサーバとボリュームを識別する情報と、データ・ファイルの移動データが記憶されるサーバとボリュームを識別する情報を含み、第１情報は、移動された第１データ・ファイルに関する情報を備える。第１情報に基づいて、ファイル・システムが第１データ・ファイルに対応するタグ・ファイルを含まないと判定される。第１情報に含まれる情報に基づいて、第１データ・ファイルに対応するタグ・ファイルが創出される。
【発明を実施するための最良の形態】
【００１５】
本発明の以上の実施形態及び利点は、他の特徴と共に、以下の明細書、請求項、及び添付の図面を参照するとき、より明らかになるであろう。
【００１６】
以下の記述では、説明を目的として、本発明の完全な理解を提供するために、特有の詳細が述べられる。しかし、本発明は、これらの特有の詳細を必要とせずに実施されてもよいことが明らかになるであろう。
【００１７】
表記
以下の表記は、本発明の実施形態による移動と再移動のオペレーションの議論を容易にするために、本明細書において使用される。これらの表記は、請求項に記述される本発明の範囲を限定することを意図しない。
【００１８】
（１）「日付ファイル」は、ユーザ又はアプリケーションによって提供され、かつ移動されなかったデータを含むことができる任意の従来のファイルである。データ・ファイルが、ＨＳＭアプリケーションなどのアプリケーションによって元の位置から移動させられるとき、タグ（又はスタブ）・ファイルが、データ・ファイルの位置に残される。
【００１９】
（２）「タグ・ファイル」又は「スタブ・ファイル」は、移動ファイルを表す物理ファイルである。データ・ファイルがデータ・ファイルの元の記憶位置から移動させられるとき、タグ・ファイルは、移動したデータ・ファイルを表すために、元の記憶位置に記憶される。タグ・ファイルは移動データ・ファイルをリコールさせる情報を記憶することができる。一実施形態では、物理タグ・ファイルに記憶されている情報は移動データの位置を識別する。他の実施形態では、タグ・ファイルに記憶されている情報（たとえば、ファイル識別子又はファイル名）を、追加の情報を見つけるために使用することが可能であり、追加の情報は、１つ又は複数のデータベースに記憶されている可能性があり、移動データを見つけて、リコール・オペレーションを容易にするために使用される。タグ・ファイルが、対応する移動データ・ファイルに関する選択された属性及び／又はメタデータを含むこともできる。一実施形態ではデータの一部をタグ・ファイルに記憶することもできる。タグ・ファイルは、ユーザ又はアプリケーションが元の移動ファイルにアクセスすることができるファイル・システムのエンティティとして作用する。
【００２０】
（３）「元のボリューム」は、データ・ファイルを移動させる前に記憶されたボリュームと、データ・ファイルに対応するタグ・ファイルが、データ・ファイルが移動された後に存在するボリュームである。
【００２１】
（４）「元のサーバ」は、元のボリュームへのアクセスを管理するように構成されるサーバである。たとえば、元のサーバは、データ・ファイルが移動される前にデータ・ファイルが記憶され、かつデータ・ファイルが移動されるとき、データ・ファイルに対応する置換タグ・ファイルが存在するボリュームへのアクセスを提供するサーバである。データ・ファイル又はタグ・ファイルは、元のサーバに記憶されていると考えることができる。
【００２２】
（５）「リポジトリ・ボリューム」は、移動データ・ファイルの移動（又は再移動）データを記憶するボリュームである。移動データは、リポジトリ・ボリュームのリポジトリ・ファイルに記憶される。
【００２３】
（６）「リポジトリ・サーバ」は、リポジトリ・ボリュームへのアクセスを管理するように構成されるサーバである。たとえば、リポジトリ・サーバは、リポジトリ・ファイルが記憶されるボリュームへのアクセスを提供するサーバである。リポジトリ・ファイルは、リポジトリ・サーバに記憶されていると考えることができる。
【００２４】
システムの記述
図１は、本発明の実施形態を組み込むことができる記憶環境１００の簡略的なブロック図である。図１に示される記憶環境１００は、本発明を組み込む実施形態の単なる例示であり、請求項において述べられる本発明の範囲を限定するものではない。当業者なら、他の変形、修正、及び代替を認識するであろう。
【００２５】
図１に示されるように、記憶環境１００は、データを記憶する複数の物理記憶装置１０２を備える。物理記憶装置１０２は、ディスク・ドライブ、テープ、ハード・ドライブ、光学ディスク、ＲＡＩＤ記憶構造、固体状態記憶装置、ＳＡＮ記憶装置、ＮＡＳ記憶装置、さらにはデータを記憶することができる他のタイプの装置や記憶媒体を含むことができる。「物理記憶ユニット」という用語は、情報又はデータを記憶することができる任意の物理装置、システムなどを指すことを意図する。
【００２６】
物理記憶ユニット１０２は、物理記憶ユニット１０２によって提供される基本ディスクの論理ビューを提供する１つ又は複数の論理記憶ユニット／装置１０４に組織化される。各論理記憶ユニット（たとえば、ボリューム）は、一般に、アドミニストレータによって規定されてもよい固有識別子（たとえば、番号、名称など）によって識別できる。単一の物理記憶ユニットを、いくつかの別々の識別可能な論理記憶ユニットに分割している。単一論理記憶ユニットが、複数の物理記憶ユニット１０２によって提供される記憶空間に広がっている。論理記憶ユニットが、隣接していない物理区画にあることができる。論理記憶ユニットを使用することによって、物理記憶ユニットとその物理記憶ユニットにわたるデータの分布がサーバやアプリケーションに透過的となる。記述のために、図１に示されるように、論理記憶ユニット１０４はボリュームの形態であるとしている。しかし、他のタイプの論理記憶ユニットも、本発明の範囲内にある。
【００２７】
「記憶ユニット」という用語は、物理記憶ユニット（たとえば、ディスク）又は論理記憶ユニット（たとえば、ボリューム）を指すことを意図する。
【００２８】
記憶環境１００は、いくつかのサーバ１０６、１１０を備える。サーバ１０６は、任意のデータ処理システムとすることができる。論理記憶ユニット１０４からの１つ又は複数のボリュームが、サーバ１０６に割り当てられる、又は割り付けられることができる。たとえば、図１に示されるように、ボリュームＶ１、Ｖ２が、サーバ（Ｓ１）１０６−１に割り当てられ、ボリュームＶ３が、サーバ（Ｓ２）１０６−２に割り当てられ、ボリュームＶ４、Ｖ５が、サーバ（Ｓ３）１０６−３に割り当てられる。サーバ１０６が、そのサーバに割り付けられた１つ又は複数のボリュームのアクセス・ポイントを提供する。
【００２９】
サーバに割り当てられたボリュームに記憶されるファイルは、サーバのファイル・システムの一部であると見なされる。サーバのファイル・システムが、１つ又は複数のボリュームにわたって広がっていてもよい。サーバのファイル・システムは、データ・ファイル（すなわち、移動されなかったファイル）と、サーバ・ファイル・システムから移動されたデータ・ファイルに対応するタグ・ファイルと、他のサーバ・ファイル・システムから移動され、かつサーバのファイル・システムに記憶されているデータに対応するリポジトリ・ファイルを記憶することができる。したがって、特定のサーバが、サーバのファイル・システムから移動されたデータ・ファイルの元のサーバとして機能することが可能であり、また、他のサーバ・ファイル・システムからサーバのファイル・システムに移動されたデータのリポジトリ・サーバとして機能することができる。
【００３０】
本発明の実施形態によれば、図１に示されるように、サーバのファイル・システムに記憶されているデータ・ファイルとタグ・ファイルに関する情報が、サーバにアクセス可能なソース・データベース（「ＳＤｂ」）１１２（「ファイル状況データベース」とも呼ばれる）に記憶されてもよい。ＳＤｂ１１２は、ファイル・システムにおける各ファイルのエントリ又は記録を記憶する。本発明の実施形態によれば、サーバのファイル・システムにおけるファイルのＳＤｂエントリが、（１）ファイルの固有ファイル識別子（固有識別子は、固有ファイル識別子をまだ有していない新しく創出されたファイル又は既存ファイルについて、記憶管理ソフトウエアによって生成されてもよい）；（２）ファイルがファイル・システムにおいて記憶されるディレクトリを識別する情報；（３）ファイルがデータ・ファイル又は移動データ・ファイルに対応するタグ・ファイルであるか否かを示すファイル状況情報；（４）ファイルに関連する読取り／書込み許可、ファイルのクリエータ又はモディファイヤ、ファイルに関連する日時（たとえば、創出日時、最終修正日時、アクセス日時など）を識別する情報、ファイル・サイズの情報、ファイル名などのファイル属性情報；（５）ファイルがリポジトリ・ファイルである場合、ファイルが移動された位置を識別する情報；（６）他の情報、を含むことができる。サーバのＳＤｂに記憶されている情報は、変更（ファイルが創出される、修正される、削除される、移動される、リコールされる、など）がサーバのファイル・システムに対して行われる際に更新される。サーバのＳＤｂは、サーバに結合されたボリュームに記憶されることが可能であり、又はサーバのアクセス可能なある他の遠隔位置に記憶されてもよい。
【００３１】
サーバ１０６は、直接、又は図１に示されるように通信ネットワーク１０８を介して、記憶管理サーバ（ＳＭＳ）に結合されている。通信ネットワーク１０８は、ＳＭＳ１１０とサーバ１０６との間の通信を可能にする機構を提供する。通信ネットワーク１０８は、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、無線ネットワーク、イントラネット、インターネット、私設ネットワーク、公衆ネットワーク、切替えネットワーク、又はあらゆる他の適切な通信ネットワークとすることができる。通信ネットワーク１０８は、多くの相互接続されたコンピュータ・システムや通信リンクからなることができる。通信リンクは、ハードワイヤ・リンク、光学リンク、衛星もしくは他の無線通信リンク、波伝播リンク、又はあらゆる他の情報通信機構とすることができる。ＴＣＰ／ＩＰ、ＨＴＴＰプロトコル、拡張可能マークアップ言語（ＸＭＬ）、無線アプリケーション・プロトコル（ＷＡＰ）、ファイバ・チャネル・プロトコル、業界標準組織によって開発中のプロトコル、ベンダ特有プロトコル、特注プロトコル、その他を含めて、様々な通信プロトコルが、通信リンクを介した情報通信を容易にするために使用されてもよい。
【００３２】
ＳＭＳ１１０は、記憶環境１００の中央記憶管理サービスを提供するように構成されている。本発明の実施形態によれば、ＳＭＳ１１０は、データを記憶し、かつＨＳＭに関する処理を可能にするサービスを提供するように構成される。たとえば、ＳＭＳ１１０は、移動（又は再移動）されかつリコールされたファイルの位置を追跡する情報を記憶する。情報は、ＳＭＳ１１０にアクセス可能なメモリ及び／又はディスク１１４に記憶されてもよい。たとえば、図１に示されるように、メモリ及び／又はディスク１１４は、中央データベース１１６（「ＣＤｂ」）（「移動データ・データベースとも呼ばれる」）及び他の情報１１８を記憶することができる。
【００３３】
ＣＤｂ１１６は、記憶環境１００において移動（又は再移動）されたファイルに関する情報を記憶することができる。たとえば、一実施形態では、各移動ファイルについて、ＣＤｂ１１６は、（１）ファイルの元のサーバのマシン識別子、（２）ファイルの固有識別子、（３）ファイルの元（又はソース）のボリュームを識別する情報（たとえば、ソース・ボリューム識別子）、（４）移動ファイルに対応するリポジトリ・ファイルが存在するリポジトリ・ボリュームを識別する情報（たとえば、対象ボリューム識別子）、（５）リポジトリ・サーバを識別する情報、（６）ファイル状況情報、（７）ファイル・サイズ情報、（８）他の情報を備えるエントリ又は記録を記憶することができる。ＣＤｂ１１６の情報は、ファイルが、記憶環境において移動、再移動、リコールされる際に更新される。他の情報１１８は、記憶環境について構成される記憶ポリシ及び規則に関する情報、様々な監視されている記憶ユニットに関する情報などを含むことができる。
【００３４】
ＳＤｂ１１２及びＣＤｂ１１６は、関係データベース、ディレクトリ・サービス、様々なデータ構造などを含めて、様々な形態で実現されてもよい。情報は、様々なフォーマットで記憶されてもよい。
【００３５】
ＳＤｂ１１２とＣＤｂ１１６の情報は、移動オペレーションが実施されるとき更新される。移動オペレーションでは、データ・ファイル（又はその一部）が、元のサーバに割り付けられた元のボリュームから、リポジトリ・サーバに割り付けられたリポジトリ・ボリュームのリポジトリ記憶位置に移動させられる。スタブ・ファイル又はタグ・ファイルが元のボリュームの移動データ・ファイルの位置に残される。タグ・ファイルは、リポジトリ・ボリュームとリポジトリ・サーバのアイデンティティと位置を判定するために使用することができる。タグ・ファイルは、移動ファイルのメタデータ部分と移動ファイルのファイル識別子を備えることができる。タグ・ファイルは、移動データ・ファイルのデータ部分の小さい部分を備えるキャッシュを記憶することもできる。タグ・ファイルは、リポジトリ・サーバに関する情報を記憶することもできる。本発明の実施形態によれば、固有リポジトリ識別子（ＵＲＩと呼ばれる）が生成され、タグ・ファイルに保存される。ＵＲＩは、元のサーバ識別子（たとえば、元のサーバのマシンＩＤ）と移動ファイルのファイル識別子との組合わせとすることができる。ＵＲＩは、移動ファイルのリポジトリ・サーバとリポジトリ・ボリュームの識別を容易にする。タグ・ファイルに記憶されているＵＲＩと他の情報は、ＳＤｂ１１２及び／又はＣＤｂ１１６に記憶されている。
【００３６】
再移動オペレーション中、リポジトリ・サーバに割り付けられたリポジトリ・ボリュームからのリポジトリ・データは、他のサーバに割り付けられた他のボリュームに移動させられる。ＳＤｂ１１２とＣＤｂ１１６の情報は、再移動オペレーションを反映するように更新される。
【００３７】
移動データ・ファイルにアクセスする要求を受信すると、リコール・オペレーションが実施される。本発明の実施形態によれば、リコール・オペレーションにおいて、タグ・ファイルの情報を使用して、移動ファイルに対応するＣＤｂ１１６のエントリにアクセスする。ＣＤｂ１１６のエントリを使用して、移動データが記憶されるリポジトリ・サーバとリポジトリ・ボリュームを識別する。次いで、この情報を使用して、リポジトリ・ボリュームから再び元のボリュームに移動データをリコールする。リコール・データ・ファイルに対応するタグ・ファイルが削除され、リコール・データ・ファイルと置き換えられる。ＳＤｂ１１２とＣＤｂ１１６の情報は、リコール・オペレーションを反映するように更新される。
【００３８】
移動ファイルが、おそらくはＣＤｂ１１６がアクセス可能ではないので、ＣＤｂではなくＳＤｂの情報を使用してリコールされるとき、非同期リコールが行われる。このシナリオでは、ファイル・データは、ファイルの元のサーバのＳＤｂ１１２に記憶されている情報を使用してリコールされる。ＣＤｂ１１６の情報は、それがアクセスできる後の時間において更新（又は同期）される。
【００３９】
ほとんどの記憶環境において、バックアップは、データの損失の可能性と程度を最小限に抑えるために、規則的な間隔で実施される。通常、バックアップ・オペレーションでは、サーバのファイル・システムからの情報は、テープなどのバックアップ記憶媒体１２０にバックアップされる、又はアーカイブされる。サーバがクラッシュして、又はデータ記憶装置が故障して（たとえば、ハード・ドライブ・クラッシュ）、ドライブのデータが一部又はすべて失われる場合、サーバ又は装置のデータは、バックアップ媒体１２０からリストアすることができる。しかし、バックアップ後やクラッシュ前、ファイル・システムが変更されている可能性がある。たとえば、バックアップ媒体からリストアされたデータに含まれるタグ・ファイルが、ＨＳＭデータにおいて生じた可能性がある変化のために、もはや有効ではない可能性がある；タグ・ファイルによって表されるデータ・ファイルが、バックアップ後やクラッシュ前、他の位置に再移動された可能性がある；データ・ファイルが、バックアップ後、修正された可能性がある（たとえば、データの内容、データのサイズ、アクセス日に対する変更）；データ・ファイルが、バックアップ時に移動された可能性があるが、クラッシュ前にリストアされた可能性があり、その結果、バックアップからリストアされたタグ・ファイルが、もはや有効性を有さない可能性がある、などである。データのバックアップ後に生じるこれらの変化は、バックアップ・データには反映されず、したがって、リストアデータにおいて反映されない。その結果、ＳＤｂ１１２とＣＤｂ１１６記憶されている情報ならびにリストア・ファイル・システムに記憶されているファイルに矛盾が生じる可能性がある。訂正されない限り、これらの矛盾により、エラーが生じて、記憶環境の性能が深刻に損なわれることがある。
【００４０】
図２は、本発明の実施形態による、リストア・ファイル・システムにおいて矛盾を検出と訂正又は解決する方法を示す簡略的な高レベル・フローチャート２００である。図２に示される方法は、プロセッサによって実行されるソフトウエア・モジュール、ハードウエア・モジュール、又はその組合わせによって実施される。処理は、クラッシュによって影響を受け、かつファイル・システムがリストアされたサーバによって実施される。処理は、ＳＭＳ１１０よって、又は他のサーバと共動するＳＭＳ１１０によって、あるいはサーバ１０６によって実施されることもできる。図２に示されるフローチャート２００は、本発明の実施形態の単なる例示であり、本発明の範囲を限定することを意図するものではない。他の変形、修正、代替も、本発明の範囲内にある。図２に示される方法は、セキュリティの制約、オペレーティング・システムの制約など、様々な実施の制約で機能するようにすることができる。
【００４１】
図２に示されるように、処理は、ファイル・システム（又は、ファイル・システムの一部）がリストアされたサーバについて、データの一貫性（又は、データの確認）を検査するために信号を受信することで開始される（ステップ２０２）。様々なソースから信号を受信できる。一実施形態では、バックアップからファイル・システムをリストアするプロセスは、データの確認を実施するために、それ自体で信号を生成することができる。記憶システムのアドミニストレータなどのユーザが、データの確認を実施するために、信号の生成を手動でトリガすることもできる。
【００４２】
次いで、バックアップからリストアされたサーバ・ファイルのボリュームが判定される（ステップ２０４）。ステップ２０４で１つ又は複数のボリュームが識別される。
【００４３】
次いで、サーバのＳＤｂが、影響を受けていないボリューム（すなわち、クラッシュしておらず、かつバックアップからリストアされていないボリューム）にあるか否かについて判定するために、検査が行われる（ステップ２０６）。サーバのＳＤｂが、影響を受けていないボリュームにあると判定されると、ＳＤｂに記憶されているデータは、高信頼であると想定され、処理がステップ２０８で続行される。サーバのＳＤｂが、影響を受けていないボリュームに一部又は完全にあると判定されると、ＳＤｂに記憶されているデータは、低信頼であると判定され、処理は、ステップ２２２で続行される。
【００４４】
ＳＤｂデータが高信頼であると判定されると、ステップ２０４において判定されたボリュームに記憶されている各データ・ファイルとタグ・ファイルは、矛盾を識別と訂正／解決するために、ＳＤｂの情報と比較される。処理の一部として、以前に処理されていないファイル（すなわち、ステップ２０８、２１２、２１４、２１６に従って処理されていないデータ・ファイル又はタグ・ファイル）が、ステップ２０４において識別された１つ又は複数のリストアされたボリュームから選択される（ステップ２０８）。次いで、ファイルは、あらゆる矛盾を識別するために、ＳＤｂに記憶されている情報と比較される（ステップ２１２）。ファイル情報が、ＳＤｂに記憶されている情報と矛盾するとき、又はＳＤｂに記憶されている情報がファイル情報と一貫しないとき、矛盾が生じる。
【００４５】
ステップ２１２において実施された比較に基づいていくつかの異なるタイプの矛盾を判定することができる。たとえば、ＳＤｂが、選択ファイルに対応するエントリを備えない場合、ステップ２１２において、矛盾が識別される可能性がある。ＳＤｂが、選択に対応するエントリを備える場合でも、ＳＤｂエントリ・データが選択ファイル・データと一貫しない場合、矛盾が識別される。たとえば、選択ファイルは、タグ・ファイルである可能性があり、ＳＤｂエントリは、それをデータ・ファイルと識別する可能性があり、また、選択ファイルは、データ・ファイルである可能性があり、ＳＤｂエントリは、それをタグ・ファイルと識別する可能性があり、ファイルのＳＤｂエントリに記憶されているファイル属性情報は、対応するファイルのファイル属性に整合しない可能性がある、などである。本発明の実施形態により判定されてもよい矛盾のタイプに関するさらなる詳細が、以下で提供される。
【００４６】
次いで、１つ又は複数のアクションが、ステップ２１２において識別された矛盾を、あるとすれば、訂正／解決するために手動で実施される（ステップ２１４）。ＳＤｂ又はＣＤｂに記憶されている情報を追加する及び／又は修正すること、情報をＳＤｂ又はＣＤｂから削除すること、選択ファイルを削除又は修正することなどを含めて、矛盾のタイプに応じて、いくつかの異なるタイプのアクションが行われることができる。本発明の実施形態により実施されてもよいアクションに関するさらなる詳細が以下で記述される。
【００４７】
矛盾を訂正するために必要なアクションが実施された後、ステップ２０４において識別されたリストアされたボリュームに記憶されている未処理のデータ・ファイル又はタグ・ファイル（すなわち、ＳＤｂの情報とまだ比較されていないデータ・ファイル又はタグ・ファイル）がさらに存在するか否かを判定するために、検査が行われる（ステップ２１６）。未処理のデータ・ファイル又はタグ・ファイルがさらに検出される場合、処理は、ステップ２０８で続行され、他の未処理のファイルが処理のために選択され、ステップ２１２、２１４、２１６が繰り返される。ステップ２１６において、未処理のファイルがもはやないと判定されると（すなわち、リストアされたボリュームに記憶されているすべてのデータ・ファイルとタグ・ファイルが、ＳＤｂに記憶されている情報と比較された）、処理は、ステップ２１８で続行される。
【００４８】
リストアされたボリュームのすべてのタグ・ファイルとデータ・ファイルが、ＳＤｂに記憶されている情報と比較された後、対応するファイルをリストア・ファイル・システムに有さないＳＤｂのタグ・ファイル・エントリが判定される（ステップ２１８）。そのようなエントリが存在する場合、それらは、タグ・エントリの対応するタグ・ファイルがＳＤｂに存在しない場合の矛盾を表す。次いで、ステップ２１８において判定された矛盾を訂正するために、１つ又は複数のアクションが、自動的に実施される（ステップ２２０）。ステップ２１８と２２０において実施される処理に関するさらなる詳細が、以下で提供される。次いで、処理は、ステップ３２６で続行される。
【００４９】
再びステップ２０６を参照する。ＳＤｂが、影響を受けたボリュームに一部又は完全に記憶されたと判定されると、ＳＤｂのデータは、低信頼であると判定される。その結果、既存のＳＤｂは、新しい空のベースラインＳＤｂと置き換えられる（ステップ２２２）。次いで、新しいＳＤｂはポピュレートされ、あらゆる矛盾を訂正するアクションが実施される。
【００５０】
処理の一部として、以前に処理されていないファイル（すなわち、ステップ２２４、２２６、２２８、２３０に従って処理されていないデータ・ファイル又はタグ・ファイル）が、ステップ２０４において識別された１つ又は複数のボリュームから選択される（ステップ２２４）。ステップ２２４において選択されたファイルがタグ・ファイルである場合、タグ・ファイルは、あらゆる矛盾を識別するために、ＣＤｂに記憶されている対応する情報と比較される（ステップ２２６）。タグ・ファイルの記録又はエントリがＣＤｂに存在しない場合、矛盾が生じる可能性がある。ＣＤｂエントリがタグ・ファイルについて存在するが、ＣＤｂエントリ情報がタグ・ファイル情報と一貫しない場合、やはり矛盾が生じる可能性がある。
【００５１】
次いで、情報が、ステップ２２４において選択されたファイルのＳＤｂに追加される（ステップ２２８）。選択ファイルがタグ・ファイルである場合、タグ・ファイルのＣＤｂに記憶されている情報を使用して、ＳＤｂにおいてタグ・ファイルの新しいエントリを構築する。１つ又は複数のアクションを、ステップ２２６において判定されたあらゆる矛盾を訂正するために実施することもできる。選択ファイルがデータ・ファイルである場合、データ・ファイルの新しいエントリが、ＳＤｂにおいて創出される。ステップ２２６、２２８において実施される処理に関するさらなる詳細が、以下において提供される。
【００５２】
次いで、未処理のデータ・ファイル又はタグ・ファイルがさらに存在するか否かを判定するために、検査が行われる（ステップ２３０）。未処理のファイルがさらに存在する場合、処理はステップ２２４で続行され、他のファイルが、処理のために選択される。すべてのタグ・ファイルとデータ・ファイルが処理された場合、処理は、ステップ２３２で続行される。
【００５３】
リストアされたボリュームのすべてのタグ・ファイルとデータ・ファイルが、ステップ２２４、２２６、２２８、２３０に従って処理された後、リストア・ファイル・システムに対応するタグ・ファイルを有さないＣＤｂのすべてのエントリが判定される（ステップ２３２）。タグ・ファイルのＣＤｂに記憶されている情報が存在するが、対応するタグ・ファイルがリストアされたボリュームに存在しない場合、矛盾が、ステップ２３２において識別される。次いで、ステップ２３２において判定された矛盾を訂正するために、１つ又は複数のアクションが自動的に実施される（ステップ２３４）。次いで、処理は、ステップ２３６で続行される。
【００５４】
上述されたように、矛盾を訂正するために、アクションが様々なステップ（たとえば、ステップ２１４、２２０、２２８、２３４）で実施される。アクションの結果、ＳＤｂとＣＤｂの情報は、リストア・ファイル・システムのファイルと一貫するようになる。
【００５５】
リストア・ファイル・システムは、バックアップからリストアされたリポジトリ・ファイルを記憶することもできる。これらのリポジトリ・ファイルは、他のサーバから移動された（又は再移動された）データを表す。一実施形態では、リポジトリ・ファイルは、ファイル・システムの特定のディレクトリに記憶される。バックアップからリストアされたこれらのリストアリポジトリ・ファイルは矛盾する可能性がある。その理由は、バックアップが実施された後、ファイル・システムがクラッシュする前に行われた可能性がある移動と再移動を反映しない可能性があるからである。したがって、データ・ファイルとタグ・ファイルが上述されたように処理された後、リストアされたボリュームに記憶されているリポジトリ・ファイルは、あらゆる矛盾を識別するために、ＣＤｂの情報と比較される（ステップ２３６）。次いで、１つ又は複数のアクションが、ステップ２３６において判定されたあらゆる矛盾を訂正するために実施される（ステップ２３８）。このようにして、リポジトリ・ファイルに関連する矛盾が自動的に検出され、訂正される。
【００５６】
一実施形態では、図２に示されるように、リポジトリ・ファイルは、タグ・ファイルとデータ・ファイルが処理された後、処理される。代替実施形態では、リポジトリ・ファイルの処理は、タグ・ファイルとデータ・ファイルの処理と並行して、又はその前に実施されてもよい。
【００５７】
図３は、本発明の実施形態による、リストア・ファイル・システムにおいてタグ・ファイルとデータ・ファイルに関する矛盾を検出し訂正する方法を示す簡略的な高レベル・フローチャート３００である。本発明の実施形態によれば、図３に示される処理は、図２に示されるフローチャート２００のステップ２１２、２１４、２１６で実施される。図３に示される方法を、プロセッサによって実行されるソフトウエア・モジュール、ハードウエア・モジュール、又はその組合わせによって実施することができる。処理は、ＳＭＳ１１０によって、又は他のサーバと共動するＳＭＳ１１０によって、あるいはサーバ１０６によって実施してもよい。図３に示されるフローチャート３００は、本発明の実施形態の単なる例示であり、本発明の範囲を限定することを意図するものではない。他の変形、修正、代替も、本発明の範囲内にある。図３に示される方法は、セキュリティの制約、オペレーティング・システムの制約など、様々な実施の制約で機能するようにされてもよい。
【００５８】
図３に示されるように、未処理のファイルが図２のステップ２０８において選択された後、選択ファイルがタグ・ファイルであるかどうかを判定するために、検査が実施される（ステップ３０２）。ファイルがタグ・ファイルである場合、処理は、ステップ３０４で続行され、それ以外（ファイルがタグ・ファイルである）の場合、処理は、ステップ３１６で続行される。
【００５９】
ステップ３０２において、ファイルがタグ・ファイルであると判定されると、エントリがタグ・ファイルのＳＤｂに存在するか否かを判定するために、検査が実施される（ステップ３０４）。タグ・ファイルに対応するエントリがＳＤｂに存在しない場合、選択されたタグ・ファイルは削除される（ステップ３０６）。削除後、処理は、図２のステップ２１６で続行される。
【００６０】
ステップ３０４において、タグ・ファイルに対応するエントリがＳＤｂに存在しないと判定されると、ＳＤｂエントリ情報は、選択タグ・ファイルがタグ・ファイルとしてマークされるかを見るために検査される（ステップ３０８）。ＳＤｂエントリ情報が、選択タグ・ファイルをタグ・ファイルではなくデータ・ファイルと識別する場合、これは、矛盾を表し、ＳＤｂエントリは削除され、選択タグ・ファイルも削除される（ステップ３１０）。削除後、処理は、図２のステップ２１６で続行される。
【００６１】
ＳＤｂエントリ情報が、選択タグ・ファイルをタグ・ファイルと正確にマークする場合、選択タグ・ファイルの属性は、それが整合するかどうかを見るために、ＳＤｂエントリの属性情報と比較される（ステップ３１２）。タグ・ファイルの属性情報が、対応するＳＤｂエントリの属性情報と整合しない場合、タグ・ファイルは、その属性がＳＤｂエントリの属性情報と整合するように更新される（ステップ３１４）。比較され、更新される属性は、ファイルのサイズ、ファイルに関連する日、特別なタグ・ファイル・データ（固有ファイル識別子が特別タグ・ファイル・データに記憶されてもよい）などを含む。次いで、処理は、図２のステップ２１６で続行される。選択タグ・ファイルの属性情報が、ＳＤｂエントリの属性情報と整合する場合、アクションは実施されず、処理は、図２のステップ２１６で続行される。
【００６２】
再びステップ３０２を参照する。ファイルがタグ・ファイルではないと判定される（すなわち、データ・ファイルであると判定される）と、エントリがデータ・ファイルのＳＤｂに存在するか否かについて判定するために、検査が実施される（ステップ３１６）。データ・ファイルに対応するエントリがＳＤｂに存在しない場合、データ・ファイルの新しいエントリが創出され、ＳＤｂに追加される（ステップ３１８）。新しいエントリが追加された後、処理は、図２のステップ２１６で続行される。
【００６３】
ステップ３１６において、データ・ファイルに対応するエントリがＳＤｂに存在しないと判定されると、ＳＤｂエントリ情報が、選択データ・ファイルをタグ・ファイルとマークするか否かを判定するために、検査が実施される（ステップ３２０）。ＳＤｂエントリ情報が、選択データ・ファイルをデータ・ファイルではなくタグ・ファイルと識別する場合、これは、矛盾を表し、新しいエントリが、そのデータ・ファイルをデータ・ファイルと識別するＳＤｂに追加される（ステップ３２２）。データ・ファイルをタグ・ファイルと識別する最初のエントリは削除されず、後にステップ２１８において、損失タグ・ファイルをファイル・システムにおいて創出するために使用されることに留意されたい。ステップ３２２において新しいエントリを追加した後、処理は、図２のステップ２１６で続行される。
【００６４】
ＳＤｂエントリ情報が、選択データ・ファイルをデータ・ファイルと正確にマークすると、選択データ・ファイルの属性は、それが整合するかどうかを見るために、対応するＳＤｂエントリの属性情報と比較される（ステップ３２４）。データ・ファイルの属性情報が対応するＳＤｂエントリ属性情報と整合しない場合、ＳＤｂエントリ情報は、データ・ファイル属性情報と整合するように更新され（ステップ３２６）、次いで、処理は、図２のステップ２１６で続行される。選択データ・ファイルの属性情報がＳＤｂエントリの属性情報と整合する場合、アクションは実施されず、処理は、図２のステップ２１６で続行される。
【００６５】
以前に記述されたように、図２のステップ２１６において、リストアされたボリュームに記憶されているに処理のデータ・ファイル又はタグ・ファイルがさらに存在するか否かを判定するために、検査が行われる。未処理のデータ・ファイル又はタグ・ファイルがさらに検出されると、処理は、図２のステップ２０８で続行され、図３に示される処理が繰り返され、それ以外の場合、処理は、図２のステップ２１８で続行される。
【００６６】
図４は、本発明の実施形態による、あらゆる検出された矛盾を訂正するために、ＳＤｂタグ・ファイル・エントリをファイル・システムのファイルと比較し、適切なアクションを実施する方法を示す簡略的な高レベル・フローチャート４００である。本発明の実施形態によれば、図４に示される処理は、図２に示されるフローチャート２００のステップ２１８、２２０において実施される。図４に示される方法は、プロセッサによって実行されるソフトウエア・モジュール、ハードウエア・モジュール、又はその組合わせによって実施できる。処理は、ＳＭＳ１１０によって、又は他のサーバと共動するＳＭＳ１１０によって、あるいはサーバ１０６によって実施されてもよい。図４に示されるフローチャート４００は、本発明の実施形態の単なる例示であり、本発明の範囲を限定することを意図するものではない。他の変形、修正、代替も、本発明の範囲内にある。図４に示される方法は、セキュリティの制約、オペレーティング・システムの制約など、様々な実施の制約で機能するようにされてもよい。
【００６７】
図４に示されるように、未処理のタグ・ファイル・エントリ（すなわち、ファイルをタグ・ファイルとマークし、かつ図４に示されるフローチャート４００に従って処理されていないＳＤｂのエントリ）が、処理のために選択される（ステップ４０２）。次いで、選択タグ・ファイルは、タグ・ファイルが、選択タグ・ファイル・エントリに対応するファイル・システムに存在するか否かを判定するために、リストア・ファイル・システムのタグ・ファイルと比較される（ステップ４０４）。対応するタグ・ファイルが、選択ＳＤｂタグ・ファイル・エントリに対応するリストア・ファイル・システムにおいて見つけられる場合（ステップ４０６）、処理は、ステップ４１４で続行される。
【００６８】
ステップ４０６において、選択タグ・ファイル・エントリのファイル・システムにおいて対応するタグ・ファイルを見つけられない場合、リポジトリ・ファイルが選択タグ・ファイル・エントリについて存在するか否かを判定するために、検査が行われる（ステップ４０８）。選択ＳＤｂタグ・ファイル・エントリからの情報が、リポジトリ・ファイルが存在するか否かを判定するために使用される。ステップ４０８において、対応するリポジトリ・ファイルが存在すると判定されると、新しいタグ・ファイルが、ＳＤｂの選択タグ・ファイル・エントリからの情報を使用して創出される（ステップ４１０）。次いで、タグ・ファイルが創出された後、処理は、ステップ４１４で続行される。
【００６９】
ステップ４０８において、対応するリポジトリ・ファイルが存在しないと判定されると、選択タグ・ファイル・エントリは、ＳＤｂから削除される（ステップ４１２）。対応するエントリがＣＤｂに存在する場合、そのＣＤｂエントリも、ステップ４１２において削除される。次いで、処理は、ステップ４１４で続行される。
【００７０】
ステップ４１４において、未処理のタグ・ファイル・エントリがＳＤｂにさらに存在するか否かを見るために、検査が実施される。さらにエントリが存在する場合、次の未処理のタグ・ファイル・エントリが、処理のために選択される（ステップ４１６）。次いで、ステップ４０４からの処理が、選択タグ・ファイル・エントリについて繰り返される。ステップ４１４において、すべてのタグ・ファイル・エントリが処理されたと判定されると、処理は、図２に示されるステップ２３６で続行される。
【００７１】
図５は、本発明の実施形態による、リストア・ファイル・システムにおいて矛盾に関するタグ・ファイルとデータ・ファイルを検出し訂正する方法を示す簡略的な高レベル・フローチャート５００である。本発明の実施形態によれば、図５に示される処理は、図２に示されるフローチャート２００のステップ２２６、２２８において実施される。図５に示される方法は、プロセッサによって実行されるソフトウエア・モジュール、ハードウエア・モジュール、又はその組合わせによって実施されてもよい。処理は、ＳＭＳ１１０によって、又は他のサーバと共動するＳＭＳ１１０によって、あるいはサーバ１０６によって実施されてもよい。図５に示されるフローチャート５００は、本発明の実施形態の単なる例示であり、本発明の範囲を限定することを意図するものではない。他の変形、修正、代替も、本発明の範囲内にある。図５に示される方法は、セキュリティの制約、オペレーティング・システムの制約など、様々な実施の制約で機能するようにされてもよい。
【００７２】
図５に示されるように、未処理のファイルが図２のステップ２２４において選択された後、選択ファイルがタグ・ファイルであるか否かを判定するために、検査が実施される（ステップ５０２）。ファイルがタグ・ファイルであれば、処理は、ステップ５０４で続行され、それ以外（ファイルがデータ・ファイルである）であれば、処理は、ステップ５１６で続行される。
【００７３】
ステップ５０２において、ファイルがタグ・ファイルであると判定されると、エントリがタグ・ファイルのＣＤｂに存在するかについて判定するために、検査が実施される（ステップ５０４）。タグ・ファイルに対応するエントリがＣＤｂに存在しない場合、選択タグ・ファイルは削除される（ステップ５０６）。削除後、処理は、図２のステップ２３０で続行される。
【００７４】
ステップ５０４において、タグ・ファイルに対応するエントリがＣＤｂに存在しないと判定されると、リポジトリ・ファイルが選択タグ・ファイルについて存在するか否かを判定するために、検査が実施される（ステップ５０８）。ステップ５０８において、対応するリポジトリ・ファイルがタグ・ファイルについて存在しないと判定されると、ＣＤｂエントリは削除され、選択タグ・ファイルも削除される（ステップ５１０）。削除後、処理は、図２のステップ２３０で続行される。
【００７５】
ステップ５０８において、リポジトリ・ファイルがタグ・ファイルについて存在すると判定されると、タグ・ファイルの属性は、整合性があるかを見るために、ＣＤｂエントリの属性情報と比較される（ステップ５１２）。タグ・ファイルの属性が、対応するＣＤｂエントリ・タグの属性情報と整合しない場合、タグ・ファイルは、その属性がＣＤｂエントリの属性情報と整合するように更新される（ステップ５１４）。比較され訂正されてもよい属性は、ファイルのサイズ、ファイルに関連する日、特別なタグ・ファイル・データ（固有ファイル識別子が特別タグ・ファイル・データに記憶されてもよい）などを含む。次いで、処理は、ステップ５１５で続行される。選択タグ・ファイルの属性がＣＤｂエントリの属性情報と整合する場合、処理は、ステップ５１５で続行される。
【００７６】
ステップ５１５において、新しいエントリが、ＳＤｂのタグ・ファイルについて創出される（ステップ５１５）。次いで、処理は、図２のステップ２３０で続行される。
【００７７】
再びステップ５０２を参照する。ファイルがタグ・ファイルではない（すなわち、データ・ファイルである）と判定されると、データ・ファイルの新しいエントリが創出され、ＳＤｂに追加される（ステップ５１６）。新しいエントリが追加された後、処理は、図２のステップ２３０で続行される。
【００７８】
以前に記述されたように、図２のステップ２３０において、未処理のデータ・ファイル又はタグ・ファイルがさらに存在するか否かを判定するために、検査が実施される。未処理のファイルがさらに存在する場合、処理は、ステップ２２４で続行され、他のファイルが、処理のために選択され、図５に示される処理が繰り返される。すべてのタグ・ファイルとデータ・ファイルが処理された後、処理は、図２のステップ２３２で続行される。
【００７９】
図６は、本発明の実施形態による、検出された矛盾を訂正するために、ＣＤｂエントリをリストア・ファイル・システムのファイルと比較して、適切なアクションを実施する方法を示す簡略的な高レベル・フローチャート６００である。本発明の実施形態によれば、図６に示される処理は、図２に示されるフローチャート２００のステップ２３２，２３４において実施される。図６に示される方法は、プロセッサによって実行されるソフトウエア・モジュール、ハードウエア・モジュール、又はその組合わせによって実施されてもよい。処理は、ＳＭＳ１１０よって、又は他のサーバと共動するＳＭＳ１１０によって、あるいはサーバ１０６によって実施されてもよい。図６に示されるフローチャート６００は、本発明の単なる例示であり、本発明の範囲を限定することを意図するものではない。他の変形、修正、代替も、本発明の範囲内にある。図６に示される方法は、セキュリティの制約、オペレーティング・システムの制約など、様々な実施の制約で機能するようにされてもよい。
【００８０】
図６に示されるように、ＣＤｂからの未処理のタグ・ファイル・エントリが、処理のために選択される（ステップ６０２）。次いで、選択ＣＤｂタグ・ファイル・エントリは、タグ・ファイルが選択タグ・ファイル・エントリに対応するファイル・システムに存在するか否かを判定するために、リストア・ファイル・システムのタグ・ファイルと比較される（ステップ６０４）。対応するタグ・ファイルが、選択ＣＤｂタグ・ファイル・エントリに対応するリストア・ファイル・システム内で見つけられた場合（ステップ６０６において）、処理は、ステップ６１４で続行される。
【００８１】
ステップ６０６において、対応するタグ・ファイルが、選択ＣＤｂタグ・ファイル・エントリのファイル・システム内で見つけられなかった場合、リポジトリ・ファイルが選択タグ・ファイル・エントリについて存在するかについて判定するために、検査が実施される（ステップ６０８）。選択ＣＤｂタグ・ファイル・エントリからの情報が、リポジトリ・ファイルが存在するか否かを判定するために使用される。ステップ６０８において、対応するリポジトリ・ファイルが存在すると判定されると、新しいタグ・ファイルが、選択ＣＤｂタグ・ファイル・エントリからの情報を使用して創出される（ステップ６１０）。次いで、処理は、ステップ６１４で続行される。
【００８２】
ステップ６０８において、対応するリポジトリ・ファイルが存在しないと判定されると、選択ＣＤｂタグ・ファイル・エントリは削除される（ステップ６１２）。次いで、処理は、ステップ６１４で続行される。
【００８３】
ステップ６１４において、未処理のタグ・ファイル・エントリがＣＤｂにさらに存在するか否かを見るために、検査が実施される（ステップ６１４）。さらにエントリが存在する場合、次の未処理のタグ・ファイル・エントリが、処理のために選択される（ステップ６１６）。次いで、ステップ６０４から始まる処理が、選択タグ・ファイル・エントリについて繰り返される。ステップ６１４において、すべてのＣＤｂタグ・ファイルが処理されたと判定されると、処理は、図２に示されるステップ２３６で続行される。
【００８４】
上述されたように、本発明の実施形態は、ＨＳＭなどの記憶アプリケーションによって制御されるファイル・システムにおいてデータをリストアした後に存在する可能性がある様々な矛盾を自動的に検出し訂正することができる。本発明の実施形態により実施される処理の結果、元のサーバが、バックアップ画像と一貫する無矛盾特定時画像にリストアされる。元のサーバのタグ・ファイルが使用可能になり、データの損失は、最小限に抑えられる。ＳＤｂとＣＤｂの情報も、リストア・ファイル・システムのファイルを反映するように更新される。
【００８５】
本発明の実施形態によれば、ＣＤｂを探索することによって損失リポジトリ・ファイルを識別する。ＣＤｂは、リポジトリ・ボリューム、元のサーバ、リポジトリ・サーバのリストを記憶する。一実施形態では、リポジトリ・ファイルは、様々なサーバのファイル・システムの特定のディレクトリに記憶される。ディレクトリ名は、ファイルが来たマシン（マシンｉｄ）とリポジトリ・ファイルの名称（固有ファイル識別子）を識別する。そのような実施形態では、損失リポジトリ・ファイルは、ＣＤｂのリポジトリ情報をサーバのリポジトリ・ディレクトリと比較することによって判定されてもよい。リポジトリ・ディレクトリと整合するエントリを有さないＣＤｂのリポジトリ・エントリが、損失リポジトリ・ファイル又は非同期代替リコール条件を表す。矛盾を訂正するために実施されてもよいアクションのいくつかが、以下で記述される（表Ａ参照）。
【００８６】
図７は、本発明の実施形態による、リストア・ファイル・システムにおいてリポジトリ・ファイルを処理する方法を示す簡略的な高レベル・フローチャート７００である。本発明の実施形態によれば、図７に示される処理は、図２に示されるフローチャート２００のステップ２３６、２３８において実施される。図７に示される方法は、プロセッサによって実行されるソフトウエア・モジュール、ハードウエア・モジュール、又はその組合わせによって実施できる。処理は、ＳＭＳ１１０よって、又は他のサーバと共動するＳＭＳ１１０によって、あるいはサーバ１０６によって実施されてもよい。図７に示されるフローチャート７００は、本発明の実施形態の単なる例示であり、本発明の範囲を限定することを意図するものではない。他の変形、修正、代替も、本発明の範囲内にある。図７に示される方法は、セキュリティの制約、オペレーティング・システムの制約など、様々な実施の制約で機能するようにされてもよい。
【００８７】
図７に示されるように、未処理のリポジトリ・ファイル（すなわち、フローチャート７００に従って処理されていないサーバのファイル・システムからのリポジトリ・ファイル）が、処理のために選択される（ステップ７０２）。次いで、選択されたリポジトリ・ファイルは、リポジトリ・ファイルの対応するＣＤｂエントリを見つけるために、ＣＤｂの情報と比較される（ステップ７０４）。本発明の実施形態によれば、選択リポジトリ・ファイルの固有ファイル識別子は、対応するエントリがＣＤｂに存在するか否かを判定するために使用される。次いで、対応するＣＤｂエントリがリポジトリ・ファイルについて見つけられたかを判定するために、検査が実施される（ステップ７０６）。
【００８８】
対応するＣＤｂエントリを見つけられない場合、選択リポジトリ・ファイルは、回復領域に移動される（ステップ７０８）。本発明の実施形態によれば、リポジトリ・ファイルは、対応するエントリをＣＤｂに有さないリポジトリ・ファイルを記憶する「オーファン」・ディレクトリに移動される。ファイルは、その後、オーファン・ディレクトリから削除又は再配置されてもよい。次いで、処理は、ステップ７１４で続行される。
【００８９】
対応するＣＤｂエントリがリポジトリ・ファイルについて見つけられる場合、対応するＣＤｂエントリのファイル属性が、選択リポジトリ・ファイルの属性と異なるかを判定するために、検査が実施される（ステップ７１０）。ＣＤｂエントリのファイル属性が異なる場合、ＣＤｂエントリの属性情報は、リポジトリ・ファイルの属性と整合するように更新される（ステップ７１２）。次いで、処理は、ステップ７１４で続行される。ステップ７１０において、属性が異ならないと判定されると、処理は、ステップ７１４で続行される。
【００９０】
ステップ７１４において、未処理のリポジトリ・ファイルがさらに存在するか否かを判定するために、検査が実施される（ステップ７１４）。未処理のリポジトリ・ファイルがさらに存在する場合、次の未処理のリポジトリ・ファイルが選択され（ステップ７１６）、次いで、ステップ７０４から開始される処理が、選択リポジトリ・ファイルについて繰り返される。ステップ７１４において、すべてのリポジトリ・ファイルが処理されたと判定されると、処理は、ステップ７１８で続行される。
【００９１】
リストアされたボリュームからのすべてのリポジトリ・ファイルが、ＣＤｂ情報と比較された後、サーバのＣＤｂエントリは、対応するリポジトリ・ファイルが存在しないエントリが存在するか否かを判定するために、サーバに記憶されているリポジトリ・ファイルに対して検査される。本発明の実施形態によれば、宛先サーバの各ＣＤｂエントリについて、整合ファイルがサーバのリポジトリ・ディレクトリに存在するかについて、判定が行われる（ステップ７１８）。整合ファイルが見つけられると判定されると（ステップ７２０）、処理は、ステップ７２４で続行される。整合ファイルが見つけられない場合、整合リポジトリ・ファイルが存在しない選択ＣＤｂエントリは、削除される（ステップ７２２）。エラー条件も、ログされる。次いで、処理は、ステップ７２４で続行される。
【００９２】
ステップ７２４において、処理されるＣＤｂエントリがさらに存在するか否かを判定するために、検査が実施される（ステップ７１４）。未処理のＣＤｂエントリがさらに存在する場合、処理は、ステップ７１８で続行され、それ以外の場合、処理は終了する。
【００９３】
以下に示される表Ａは、本発明の実施形態によって検出される矛盾の例を列挙する。「矛盾」という名称の第１列は、矛盾を識別する。「潜在的原因」という名称の第２列は、矛盾を生じた可能性がある潜在的な条件を識別する。「実施アクション」という名称の第３列は、矛盾を訂正するために取られるアクションを識別する。表Ａは、矛盾、潜在的原因、実施アクションのリストを網羅することを意図するものではない。本発明の実施形態は、他のタイプの矛盾を検出し、矛盾を訂正するためにアクションを実施することもできる。
【００９４】
【表１】
2006508473.tif 000003
2006508473.tif 000004
2006508473.tif 000005
2006508473.tif 000006
【００９５】
図８は、本発明の実施形態を実施することができるコンピュータ・システム８００の簡略的なブロック図である。図８に示されるように、コンピュータ・システム８００は、バス・サブシステム８０４を介していくつかの周辺装置と通信するプロセッサ８０２を含む。これらの周辺装置は、メモリ・サブシステム８０８とファイル記憶サブシステム８１０を備える記憶サブシステム８０６、ユーザ・インタフェース入力装置８１２、ユーザ・インタフェース出力装置８１４、ネットワーク・インタフェース・サブシステム８１６を含むことができる。入力装置と出力装置により、アドミニストレータなどのユーザが、コンピュータ・システム８００と相互作用することが可能になる。
【００９６】
ネットワーク・インタフェース・サブシステム８１６は、他のコンピュータ・システム、ネットワーク、サーバ、記憶ユニットへのインタフェースである。ネットワーク・インタフェース・サブシステム８１６は、他のソースからデータを受信し、かつコンピュータ・システム８００から他のソースにデータを送信するインタフェースとして作用する。ネットワーク・インタフェース・サブシステム８１６の実施形態は、イーサネット（登録商標）・カード、モデム（電話、衛星、ケーブル、ＩＳＤＮなど）、（非同期）デジタル加入者線（ＤＳＬ）ユニットなどを含む。
【００９７】
ユーザ・インタフェース入力装置８１２は、キーボード、マウス、トラックボール、タッチパッド、又はグラフィック・タブレットなどのポインティング装置、スキャナ、バーコード・スキャナ、表示装置に組み込まれたタッチ・スクリーン、ボイス認識システムなどの音声入力装置、マイクロフォン、他のタイプの入力装置を含むことができる。一般に、「入力装置」という用語の使用は、情報をコンピュータ・システム８００に入力するすべての可能なタイプの装置と機構を含むことを意図する。
【００９８】
ユーザ・インタフェース出力装置８１４は、表示サブシステム、プリンタ、ファックス機械、又は音声出力装置などの非視覚的表示装置、などを含むことができる。表示サブシステムは、陰極線管（ＣＲＴ）、液晶表示装置（ＬＣＤ）などの平坦パネル装置、又は投影装置とすることができる。一般に、「出力装置」という用語の使用は、コンピュータ・システム８００から情報を出力するすべての可能なタイプの装置と機構を含むことを意図する。
【００９９】
記憶サブシステム８０６は、本発明の機能を提供する基本的なプログラミングとデータ構造を記憶するように構成されている。たとえば、本発明の実施形態によれば、本発明の機能を実施するソフトウエア・コード・モジュールが、記憶サブシステム８０６に記憶されている。これらのソフトウエア・モジュールは、プロセッサ８０２によって実行される。記憶サブシステム８０６は、本発明により使用されるデータを記憶するリポジトリを提供することもできる。たとえば、ＳＤｂとＣＤｂのデータベースは、記憶サブシステム８０６に記憶されてもよい。記憶サブシステム８０６は、記憶ユニットから移動されるデータを記憶する移動リポジトリとして使用されることもできる。記憶サブシステム８０６は、他の記憶ユニットから移動されるデータを記憶するためにも使用される。記憶サブシステム８０６は、メモリ・サブシステム８０８とファイル／ディスク記憶サブシステム８１０を備えることもできる。
【０１００】
メモリ・サブシステム８０８は、プログラム実行中に命令とデータを記憶する主要ランダム・アクセス・メモリ（ＲＡＭ）８１８や、固定命令が記憶される読取り専用メモリ（ＲＯＭ）８２０を含めて、いくつかのメモリを含むことができる。ファイル記憶サブシステム８１０は、プログラムとデータ・ファイルの永続的な（不揮発性）記憶を提供し、ハード・ディスク・ドライブ、関連する取外し可能媒体を有するフロッピ・ディスク・ドライブ、コンパクト・ディスク読取り専用メモリ（ＣＤ−ＲＯＭ）ドライブ、光学ドライブ、取外し可能媒体カートリッジ、他の同様の記憶媒体を含むことができる。
【０１０１】
バス・サブシステム８０４は、コンピュータ・システム８００の様々な構成要素とサブシステムに意図したように互いに通信させる機構を提供する。バス・サブシステム８０４は、単一バスとして概略的に示されているが、バス・サブシステムの代替実施形態は、複数のバスを使用することができる。
【０１０２】
コンピュータ・システム８００は、パーソナル・コンピュータ、携帯式コンピュータ、ワークステーション、ネットワーク・コンピュータ、メインフレーム、キオスク、又はあらゆる他のデータ処理システムを含めて、様々なタイプとすることができる。コンピュータとネットワークの絶えず変化する性質のために、図８に示されるコンピュータ・システム８００の記述は、コンピュータ・システムの好ましい実施形態を示すための特定の例であることのみを意図する。図８に示されるシステムより多い又はより少ない構成要素を有する他の構成が、できる。
【０１０３】
本発明の特定の実施形態が記述されたが、様々な修正、変更、代替構成、等価物も、本発明の範囲内に包含される。記述された発明は、ある特定のデータ処理環境内のオペレーションに限定されず、複数のデータ処理環境内において自由に動作する。さらに、本発明は、特定のシリーズのトランザクションとステップを使用して記述されたが、当業者には、本発明の範囲は、記述されたシリーズのトランザクションとステップに限定されないことが明らかなはずである。
【０１０４】
さらに、本発明は、ハードウエアとソフトウエアの特定の組合わせを使用して記述されたが、ハードウエアとソフトウエアの他の組合わせも本発明の範囲内にあることを理解されたい。本発明は、ハードウエアのみにおいて、ソフトウエアのみにおいて、又はその組合わせを使用して、実施されてもよい。
【０１０５】
したがって、本明細書と図面は、限定的な意味ではなく、例示と見なされるべきである。しかし、追加、省略、削除、ならびに他の修正と変更が、請求項において述べられる本発明のより広範な精神と範囲から逸脱せずに、実施されてもよいことが明らかになるであろう。
【図面の簡単な説明】
【０１０６】
【図１】本発明の実施形態を組み込むことができる記憶環境の簡略的なブロック図である。
【図２】本発明の実施形態による、リストア・ファイル・システムにおいて矛盾を検出し訂正する方法を示す簡略的な高レベル・フローチャートである。
【図３】本発明の実施形態による、リストア・ファイル・システムにおいてタグ・ファイルとデータ・ファイルに関する矛盾を検出し訂正する方法を示す簡略的な高レベル・フローチャートである。
【図４】本発明の実施形態による、ＳＤｂタグ・ファイル・エントリをファイル・システムのファイルを比較して、あらゆる検出された矛盾を訂正するために適切なアクションを実施する方法を示す簡略的な高レベル・フローチャートである。
【図５】本発明の実施形態による、リストア・ファイル・システムにおいてタグ・ファイルとデータ・ファイルに関する矛盾を検出し訂正する方法を示す簡略的な高レベル・フローチャートである。
【図６】本発明の実施形態による、ＣＤｂエントリをリストア・ファイル・システムのファイルと比較して、検出された矛盾を訂正するために適切なアクションを実施する方法を示す簡略的な高レベル・フローチャートである。
【図７】本発明の実施形態による、リストア・ファイル・システムにおいてリポジトリ・ファイルを処理する方法を示す簡略的な高レベル・フローチャートである。
【図８】本発明の実施形態を実施することができるコンピュータ・システムの簡略的なブロック図である。
【図１】
2006508473.tif 000007
【図２】
2006508473.tif 000008
【図３】
2006508473.tif 000009
【図４】
2006508473.tif 000010
【図５】
2006508473.tif 000011
【図６】
2006508473.tif 000012
【図７】
2006508473.tif 000013
【図８】
2006508473.tif 000014
【国際調査報告】
2006508473.tif 000015
2006508473.tif 000016