(57)【要約】【課題】  少なくとも１つのコピー・プールに対応する資源が取得され、その少なくとも１つのコピー・プールがストレージ階層の第１主ストレージ・プールに対して定義されている方法、システム、および製品を提供すること。【解決手段】  データを第１主ストレージ・プールに書き込むことができないと判定したことに応答して、取得された資源が保持される。ストレージ階層の第２主ストレージ・プールにデータを書き込んだことに応答して、データがその少なくとも１つのコピー・プールに書き込まれる。【選択図】図１
2008523484.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ階層の第１主ストレージ・プールに対して定義されている少なくとも１つのコピー・プールに対応する資源を取得すること、
前記第１主ストレージ・プールにデータを書き込むことができないと判定したことに応答して、前記取得した資源を保持すること、および
前記ストレージ階層の第２主ストレージ・プールにデータを書き込んだことに応答して、前記少なくとも１つのコピー・プールにデータを書き込むこと
を含む方法。
【請求項２】
前記少なくとも１つのコピー・プールが第１コピー・プールであり、第２コピー・プールが前記第２主ストレージ・プールに対して定義されており、
前記第１コピー・プールへの前記データの書込みに応答して、前記第１コピー・プールに対応する前記資源の解放を回避し、前記第２コピー・プールについて資源が取得されないこと
をさらに含む請求項１に記載の方法。
【請求項３】
前記取得した資源が第１組の資源であり、
前記少なくとも１つのコピー・プールに対応する前記第１組の資源の取得の前に、前記データを前記第１主ストレージ・プールに書き込む要求を受信すること、
前記第１主ストレージ・プールに対応する第２組の資源を取得すること、
前記第１主ストレージ・プールに前記データを書き込むことができないと判定したことに応答して、前記第２組の資源を解放し、前記第２主ストレージ・プールに対応する第３組の資源を取得すること、
前記少なくとも１つのコピー・プールへの前記データの書込みに関連して、前記データを前記第２主ストレージ・プールに書き込むこと、および
前記第１組の資源および前記第３組の資源を解放すること
をさらに含む請求項１に記載の方法。
【請求項４】
前記第１主ストレージ・プールがディスク・プールであり、前記第２主ストレージ・プールがテープ・プールである請求項１に記載の方法。
【請求項５】
前記第１主ストレージ・プールと比較して前記第２主ストレージ・プールが前記ストレージ階層内の下位であり、前記データを前記ストレージ階層内の利用可能な最高の主ストレージ・プールに書き込むことが選好される請求項１に記載の方法。
【請求項６】
前記資源が第１組の資源であり、
前記第１主ストレージ・プールに対応する第２組の資源を取得すること、
前記第１主ストレージ・プールに前記データを書き込むことができるかどうかに関して判定を行うこと、
前記第１主ストレージ・プールに前記データを書き込むことができると判定したことに応答して、前記第１主ストレージ・プールに前記データを書き込むこと、
前記第１主ストレージ・プールへの前記データの書込みに応答して、前記少なくとも１つのコピー・プールに前記データを書き込むこと、および
前記第１組の資源および前記第２組の資源を解放すること
をさらに含む請求項１に記載の方法。
【請求項７】
前記データの取得、保持、および前記少なくとも１つのコピー・プールへの書込みが、前記データをストレージ・サーバに送信するクライアントと通信する前記ストレージ・サーバ内のストレージ・マネージャによって実施される請求項１に記載の方法。
【請求項８】
前記ストレージ・サーバで同時書込みが可能となっている請求項７に記載の方法。
【請求項９】
前記少なくとも１つのコピー・プールに対応する前記資源が、前記少なくとも１つのコピー・プールにアクセスするのに使用されるハードウェア資源をロックすることによって取得され、前記少なくとも１つのコピー・プールにアクセスするのに使用される前記ハードウェア資源が、前記データが前記少なくとも１つのコピー・プールに書き込まれるまで少なくとも保持される請求項１に記載の方法。
【請求項１０】
前記データが、前記少なくとも１つのコピー・プールと前記第２主ストレージ・プールとにほぼ同時に書き込まれる請求項１に記載の方法。
【請求項１１】
メモリと、
前記メモリに結合されたプロセッサと、
請求項１ないし１０のいずれかに記載の方法のステップを実施する手段と
を備えるシステム。
【請求項１２】
請求項１ないし１０のいずれかに記載の方法のすべてのステップを実施するコンピュータ実行可能命令を含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データ・ストレージ・サービスに関する資源管理のための方法、システム、およびコンピュータ・プログラムに関する。
【背景技術】
【０００２】
インターナショナル・ビジネス・マシーンズ（ＩＢＭ）コーポレーションによって販売されているTivoli Storage Manager (TSM)製品などのストレージ・マネージャを使用して、データをセキュアに格納およびバックアップすることができる（ＩＢＭ、Ｔｉｖｏｌｉ、およびTivoliStorage ManagerはＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標または登録商標）。ストレージ・マネージャは、ＴＳＭサーバなどのストレージ管理サーバ内で実行することができ、ハードウェア障害、ソフトウェア障害、および環境的障害の場合にデータ保全性を保証し、ビジネス・クリティカル・データを保護することができる。ストレージ・マネージャは、データおよびプログラムのイメージをテープ・カートリッジまたはその他の記憶媒体上に維持することができる。システム障害またはデータの損失が生じるその他の事象の場合に、ストレージ・マネージャを使用してテープ・カートリッジまたはその他の記憶媒体からデータおよびプログラムを復元することができる。
【０００３】
ＴＳＭは、データのバックアップ、アーカイブ、スペース管理のためにクライアントにデータ・ストレージ・サービスを提供することができる。ＴＳＭサーバは、１つまたは複数のＴＳＭクライアントによってＴＳＭサーバに送られたファイルを格納することができる。ＴＳＭクライアントからのデータは、ディスク、テープ・ボリュームなどの記憶媒体上の、システム管理者によって定義されたストレージ階層内に格納することができる。
【０００４】
ストレージ階層内の記憶媒体をグループ化してストレージ・プールを形成することができる。クライアントからサーバに格納されるデータは、ストレージ階層内に配置された主ストレージ・プールに向けて送られる。データがストレージ階層内に格納されると、データのバックアップを作成する目的でコピーを行うことができる。バックアップ・データはコピー・ストレージ・プール内に作成される。異なるコピー・ストレージ・プール内にバックアップ・データの複数のコピーを作成することが可能である。システム管理者は、手動で、またはスケジューリングされたイベントを介して、テープ・コピー・ストレージ・プールへのデータのバックアップを開始することができる。このデータのコピーは、ストレージ階層内のデータ紛失の場合にデータを復元するのに使用される。管理者は、さらに別のコピー・ストレージ・プール内に第２コピーを作成し、安全に格納するためにデータの第２コピーを含むテープをリモート・サイトに移送することもできる。
【０００５】
コピー・ストレージ・プールにデータをバックアップするのにかかる時間はかなりのものであり、あるクライアントは、データの書込み時に完全なバックアップを実施することができないことがある。バックアップは、夜間などの後の時間に、バックアップ・ウィンドウと呼ばれる一定の期間内で行われることがある。バックアップ・ウィンドウを短縮し、クライアントがバックアップを完了することを可能とするために、ＴＳＭは、同時書込みと呼ばれる機能を提供する。
【０００６】
同時書込みでは、システム管理者は、主ストレージ・プールに対応する１つまたは複数のコピー・ストレージ・プールを定義する。これにより、ストレージ階層に入るデータを主ストレージ・プールと１つまたは複数の関連するコピー・ストレージ・プールとに同時に書き込むことが可能となる。格納オペレーションの始めにディスク・スペース、テープ・ドライブ、テープなどの資源が割り振られ、全格納オペレーションの間、割り振られたままにすることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は従来技術における課題を解決するものである。
【課題を解決するための手段】
【０００８】
少なくとも１つのコピー・プールに対応する資源が取得され、その少なくとも１つのコピー・プールがストレージ階層の第１主ストレージ・プールに対して定義されている方法、システム、および製品が提供される。データを第１主ストレージ・プールに書き込むことができないと判定したことに応答して、取得された資源が保持される。ストレージ階層の第２主ストレージ・プールにデータを書き込んだことに応答して、データがその少なくとも１つのコピー・プールに書き込まれる。
【０００９】
ある実施形態では、少なくとも１つのコピー・プールは第１コピー・プールであり、第２コピー・プールが第２主ストレージ・プールに対して定義されている。第１コピー・プールへのデータの書込みに応答して、第１コピー・プールに対応する資源の解放が回避され、第２コピー・プールについて資源が取得されない。
【００１０】
別の実施形態では、取得される資源は第１組の資源である。少なくとも１つのコピー・プールに対応する第１組の資源の取得の前に、データを第１主ストレージ・プールに書き込む要求が受信される。第１主ストレージ・プールに対応する第２組の資源が取得される。第１主ストレージ・プールにデータを書き込むことができないと判定したことに応答して、第２組の資源が解放され、第２主ストレージ・プールに対応する第３組の資源が取得される。少なくとも１つのコピー・プールへのデータの書込みに関連して、データが第２主ストレージ・プールに書き込まれる。第１組の資源および第３組の資源が解放される。
【００１１】
さらに別の実施形態では、第１主ストレージ・プールはディスク・プールであり、第２主ストレージ・プールはテープ・プールである。
【００１２】
追加の実施形態では、第１主ストレージ・プールと比較して第２主ストレージ・プールがストレージ階層内の下位であり、データをストレージ階層内の利用可能な最高の主ストレージ・プールに書き込むことが選好される。
【００１３】
さらに追加の実施形態では、資源は第１組の資源である。第１主ストレージ・プールに対応する第２組の資源が取得される。第１主ストレージ・プールにデータを書き込むことができるかどうかに関して判定が行われる。第１主ストレージ・プールにデータを書き込むことができると判定したことに応答して、データが第１主ストレージ・プールに書き込まれる。第１主ストレージ・プールへのデータの書込みに応答して、データが少なくとも１つのコピー・プールに書き込まれる。第１組の資源および第２組の資源が解放される。
【００１４】
別の実施形態では、データの取得、保持、および少なくとも１つのコピー・プールへの書込みが、データをストレージ・サーバに送信するクライアントと通信するストレージ・サーバ内のストレージ・マネージャによって実施される。ある別の実施形態では、ストレージ・サーバで同時書込みが可能となっている。
【００１５】
さらに別の実施形態では、少なくとも１つのコピー・プールに対応する資源が、少なくとも１つのコピー・プールにアクセスするのに使用されるハードウェア資源をロックすることによって取得され、少なくとも１つのコピー・プールにアクセスするのに使用されるハードウェア資源が、データが少なくとも１つのコピー・プールに書き込まれるまで少なくとも保持される。
【００１６】
別の実施形態では、データが、少なくとも１つのコピー・プールと第２主ストレージ・プールとにほぼ同時に書き込まれる。
【００１７】
これから、単なる例示により、以下の図面を参照しながら本発明の実施形態を説明する。
【発明を実施するための最良の形態】
【００１８】
以下の説明では、本明細書の一部を形成し、いくつかの実施形態を示す添付の図面に対して参照を行う。他の実施形態を使用することもでき、構造的変更および操作的変更を行えることを理解されたい。
【００１９】
同時書込みのある実装では、何らかの理由で、現主ストレージ・プールが、格納されるデータを含むことができない場合、ストレージ・マネージャは、ストレージ階層内の次のストレージ・プールにデータを格納することを試みることができる。次のストレージ・プールはテープ・ストレージ・プールでよい。次のストレージ・プールにデータを格納することを開始する前に、資源に関するデッドロックを防止するために、次のストレージ・プールのための資源を取得する前に主ストレージ・プールおよびコピー・ストレージ・プールに現在割り振られている任意の資源を解放することができる。次のストレージ・プールも同時書込みのために定義されたコピー・ストレージ・プールを有する場合、コピー・ストレージ・プールに対するデータのバックアップを開始する前に、関連する資源を取得することが必要となる。資源の解放および再取得はシステム性能に強い影響を及ぼす可能性があり、時にはクライアント・セッションが資源を求めてかなりの期間待機することが必要となる可能性がある。さらに、解放したばかりの資源が別のプロセスから要求される可能性があり、元のプロセスが解放した資源を再取得しようと試みたときに利用可能ではない可能性がある。
【００２０】
ある実施形態では、ストレージ階層の主ストレージ・プールに格納されたデータのバックアップ・コピーを作成すると共に、コピー・ストレージ・プールに対応する取得した資源の解放が回避される。
【００２１】
図１に、ある実施形態によるコンピューティング環境１００のブロック図を示す。コンピューティング環境１００は、ストレージ・サーバ１０２などの第１計算装置を含み、第１計算装置は、クライアント１０４などの第２計算装置に通信リンク１０３を介して結合される。
【００２２】
ある実施形態では、ストレージ・サーバ１０２およびクライアント１０４は、パーソナル・コンピュータ、ワークステーション、メインフレーム、ミッドレンジ・コンピュータ、ネットワーク・アプライアンス、パーム・トップ・コンピュータ、電話装置、ブレード・コンピュータ、ハンドヘルド・コンピュータなどの、当技術分野で現在知られているものを含む任意の適切な計算装置を含むことができる。ある例示的実施形態では、クライアント１０４はＴＳＭクライアントを含むことができる。
【００２３】
ストレージ・サーバ１０２とクライアント１０４は、直接的に、または記憶域ネットワーク（ＳＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、イントラネット、インターネットなどの、当技術分野で現在知られているものを含む任意の適切なネットワークを介して通信することができる。図１はストレージ・サーバ１０２に結合された１つのクライアント１０４のみを示しているが、代替実施形態では、複数のクライアントをストレージ・サーバ１０２に結合することができる。
【００２４】
ストレージ・サーバ１０２は、ストレージ・マネージャ１０６などのアプリケーション、潜在的主ストレージ・プールのストレージ階層１０８、および複数のコピー・ストレージ・プール１１０ａ、１１０ｂ、．．．、１１０ｎを含む。ある実施形態では、ストレージ・マネージャ１０６は、ＴＳＭサーバなどのアプリケーションを含むことができる。
【００２５】
ストレージ階層１０８内の例示的主ストレージ・プールは、ディスク・プール１１２およびテープ・プール１１４を含むことができる。ある実施形態では、テープ・プール１１４は、ディスク・プール１１２と比較してストレージ階層１０８内の下位でよく、好ましくは、クライアント１０４からのデータが、ストレージ階層内の利用可能な最高の主ストレージ・プールに書き込まれる。ある実施形態では、ディスク・プール１１２は、ハード・ディスクなどの直接アクセス・ストレージを含むことができ、テープ・プール１１４は、テープなどの順次ストレージを含むことができる。ある実施形態では、コピー・ストレージ・プール１１０ａ．．．１１０ｎは、テープなどの順次ストレージを含むことができる。コピー・ストレージ・プールはコピー・プールとも呼ばれることがある。
【００２６】
ある実施形態では、クライアント１０４は、ストレージ・サーバ１０２にデータを送信し、ストレージ・サーバ１０２でデータがストレージ階層１０８内の主ストレージ・プールに書き込まれるべきである。ストレージ階層１０８内の主ストレージ・プールに関連して、複数のコピー・ストレージ・プール１１０ａ．．．１１０ｎから選択された１つまたは複数の定義済みコピー・ストレージ・プールが存在することができる。同時書込みがストレージ・サーバ１０２内で使用可能にされる場合、データが主ストレージ・プールに書き込まれるとき、書き込まれるデータを、対応する定義済みコピー・ストレージ・プールに同時に書き込むことができる。ある実施形態では、データが主ストレージ・プールに書き込まれるとき、書き込まれたデータを、対応する定義済みコピー・ストレージ・プールにコピーすることができる。主ストレージ・プールに対応するコピー・ストレージ・プールは、管理者、ストレージ・マネージャ１０６、またはクライアント１０４上で動作するアプリケーションによって定義することができる。
【００２７】
したがって、図１は、ストレージ階層１０８内の主ストレージ・プールに書き込まれるデータを、ストレージ・マネージャ１０６が、複数のコピー・ストレージ・プール１１０ａ．．．１１０ｎから選択された１つまたは複数のコピー・ストレージ・プールに同時にコピーし、または書き込む一実施形態を示す。コピー・ストレージ・プール１１０ａ．．．１１０ｎに格納されたデータを、冗長性を与えるために使用することができ、主ストレージ・プールの障害からの回復のために使用することができ、または主ストレージ・プールに格納されたデータの紛失から回復するために使用することができる。
【００２８】
図２に、ある実施形態による、ストレージ階層１０８の例示的主ストレージ・プール１１２、１１４に対して例示的コピー・ストレージ・プール２０２、２０４、２０６、２０８、２１０、２１２をどのように定義することができるかを示すコンピューティング環境２００に対応するブロック図を示す。
【００２９】
図２では、コピー・ストレージ・プール２０２、２０４、２０６がディスク・プール１１２に対して定義され、コピー・ストレージ・プール２０８、２１０がテープ・プール１１４に対して定義される。ある実施形態では、データがいずれかのプールに書き込まれる前に、プールに関連する資源を取得すべきである。例えば、コピー・ストレージ・プール２０２に書き込む前に、テープ・ドライブ、テープ・ボリューム、ディスク・スペースなどのハードウェア資源をストレージ・マネージャ１０６によってロックしなければならないことがある。しかし、反復的な資源の取得および解放はコンピューティング環境２００の性能に強い影響を及ぼす可能性がある。
【００３０】
データがディスク・プール１１２に書き込まれる場合、データをコピー・ストレージ・プール２０２、２０４、２０６に同時にコピーし、または書き込むことができる。しかし、データをディスク・プール１１２に書き込むことができない場合、データを例示的ストレージ階層１０８内の次のプールに書き込むことができ、ある実施形態での次のプールはテープ・プール１１４でよい。データがテープ・プール１１４に書き込まれ、データをコピー・ストレージ・プール２０８、２１０に同時にコピーし、または書き込むべき場合、ある状況では、コピー・ストレージ・プール２０８、２１０に対応する資源の取得の前に、コピー・ストレージ・プール２０２、２０４、２０６に対応する資源を解放しなければならないことがある。
【００３１】
ある実施形態は、コピー・ストレージ・プール２０２、２０４、および２０６に対応する資源を解放せず、テープ・プール１１４に書き込まれるデータをコピーするのに、コピー・ストレージ・プール２０８、２１０の代わりにコピー・ストレージ・プール２０２、２０４、２０６を使用する。反復的な資源の解放および取得はコンピューティング環境２００の性能を低下させる可能性があるので、資源を解放しないことにより、ある実施形態は、コンピューティング環境２００の性能を改善することができる。図２は、ストレージ階層１０８の主ストレージ・プールに格納されたデータのバックアップ・コピーを作成すると共に、コピー・ストレージ・プールに対応する取得した資源のいくつかの解放が回避される、ある実施形態を示す。
【００３２】
図３に、コピー・ストレージ・プール１１０ａ．．．１１０ｎへの同時書込みオペレーションを実装するある実施形態での資源管理に関するオペレーションを示す。資源管理に関するオペレーションはストレージ・マネージャ１０６内に実装することができる。
【００３３】
制御はブロック３００で開始し、ブロック３００では、ストレージ・マネージャ１０６が、主ストレージ・プールにデータを書き込むことを求める書込み要求をクライアント１０４から受信し、同時書込みがストレージ・サーバ１０２で使用可能にされている。同時書込みがストレージ・サーバ１０２で動作可能にされているので、クライアント１０４からの書込み要求に応答して、主ストレージ・プールに書き込まれるデータを１つまたは複数の対応するコピー・ストレージ・プールに同時にコピーし、または書き込むべきである。ある実施形態では、ストレージ・マネージャ１０６はまず、現主ストレージ・プールにデータを書き込むことを試み、当初は現主ストレージ・プールをストレージ階層１０８内の最高のプールに割り当てることができる。例えば、コンピューティング環境１００、２００では、現主ストレージ・プールは当初はディスク・プール１１２でよい。
【００３４】
ストレージ・マネージャ１０６は、（ブロック３０２で）現主ストレージ・プールに関する資源を取得する。例えば、ある実施形態では、ストレージ・マネージャ１０６は、ディスク・プール１１２に対応する資源を取得することができる。資源を取得した後にのみ、データを現主ストレージ・プールに書き込むことができる。データが書き込まれた後、書込み要求に関して資源がもはや必要ない場合に資源を解放することができる。
【００３５】
ストレージ・マネージャ１０６は、（ブロック３０４で）現主ストレージ・プールに対して定義されている対応するコピー・ストレージ・プールに関する資源を取得する。例えば、コンピューティング環境２００では、ストレージ・マネージャ１０６は、コピー・ストレージ・プール２０２、２０４、２０６に対応する資源を取得することができ、現主ストレージ・プールはディスク・プール１１２である。
【００３６】
ストレージ・マネージャ１０６は、（ブロック３０６で）現主ストレージ・プールにデータを書き込むことができるかどうかを判定する。例えば、コンピューティング環境２００内に実装されたある実施形態では、ストレージ・マネージャ１０６は、ディスク・プール１１２にデータを書き込むことができるかどうかを判定する。
【００３７】
（ブロック３０６で）データを現主ストレージ・プールに書き込むことができないとストレージ・マネージャ１０６が判定した場合、ある実施形態でのストレージ・マネージャ１０６は、（ブロック３０８で）現主ストレージ・プールに関する資源を解放することができる。例えば、ある実施形態では、データを含むファイルが一定のサイズを越えているので、またはディスク・プール１１２がファイルを収容するのに十分な記憶容量を有さないので、データをディスク・プール１１２に書き込むことができない。そのような場合、ストレージ・マネージャ１０６は、先にブロック３０２で取得したディスク・プール１１２に対応する資源を解放することができる。ある代替実施形態では、ブロック３０８で、ストレージ・マネージャ１０６は、現主ストレージ・プールに関する資源を解放しないことがある。
【００３８】
ストレージ・マネージャ１０６は、コピー・ストレージ・プールに関する資源が以前に取得されている場合、（ブロック３１０で）コピー・ストレージ・プールに関する資源を解放することなく、ストレージ階層１０８内の次のストレージ・プールに関する資源を取得する。例えば、コンピューティング環境２００内で実装されるある実施形態では、コピー・ストレージ・プール２０２、２０４、２０６に関する資源が解放されず、ストレージ階層１０８内のディスク・プール１１２に対する次のストレージ・プールはテープ・プール１１４である。ディスク・プール１１２にデータを書き込むことができないときであっても、コピー・ストレージ・プール２０２、２０４、２０６に対応する資源がストレージ・マネージャ１０６によって保持される。ストレージ・マネージャ１０６は、（ブロック３１２で）次のストレージ・プールが現主ストレージ・プールとなるように設定する。例えば、コンピューティング環境２００内で実装されるある実施形態では、データをディスク・プール１１２に書き込むことができないとき、現主ストレージ・プールがテープ・プール１１４となるように設定される。制御はブロック３０６に戻り、ストレージ・マネージャ１０６は、現主ストレージ・プールにデータを書き込むことができるかどうかを判定する。
【００３９】
（ブロック３０６で）現主ストレージ・プールにデータを書き込むことができるとストレージ・マネージャ１０６が判定した場合、ストレージ・マネージャ１０６は、（ブロック３１４で）現主ストレージ・プールおよびコピー・ストレージ・プールにデータを書き込む。例えば、コンピューティング環境２００内で実装されるある実施形態では、ストレージ・マネージャ１０６は、テープ・プール１１４にデータを書き込み、書き込まれたデータを、その資源が解放されていないコピー・ストレージ・プール２０２、２０４、２０６にコピーする。したがって、データをディスク・プール１１２に書き込むことができないときであっても、ディスク・プール１１２に対して定義されたコピー・ストレージ・プール２０２、２０４、２０６が使用されて、テープ・プール１１４に書き込むことのできるデータが格納される。ある実施形態では、テープ・プール１１４に対して定義されているコピー・ストレージ・プール２０８、２１０が、テープ・プール１１４に書き込まれたデータをコピーするのに使用されないことがある。
【００４０】
ストレージ・マネージャ１０６は、（ブロック３１６で）書き込むべきデータがさらに残っているかどうかを判定する。残っている場合、制御はブロック３０６に戻り、残りのデータを現主ストレージ・プールに書き込むことができるかどうかを判定する。残っていない場合、ストレージ・マネージャ１０６は、（ブロック３１８で）現主ストレージ・プールに対応する資源を解放することができる。ストレージ・マネージャ１０６は、コピー・ストレージ・プールに対応する資源も解放することができる。例えば、コンピューティング環境２００内で実装されるある実施形態では、ストレージ・マネージャ１０６は、テープ・プール１１４およびコピー・ストレージ・プール２０２、２０４、２０６に対応する資源を解放することができる。ある実施形態では、ブロック３１８で、ストレージ・マネージャ１０６は、現主ストレージ・プールおよびコピー・ストレージ・プールに対応する資源を解放しないことがある。
【００４１】
したがって、図３は、データを現主ストレージ・プールに書き込むことができないときにコピー・ストレージ・プールが解放されない、ある実施形態を示す。ストレージ階層１０８の次のプールがデータを書き込むのに使用されるときであっても、解放されていないコピー・ストレージ・プールを使用してデータのバックアップ・コピーを格納することができる。データのバックアップ・コピーを格納するのに使用されるコピー・ストレージ・プールが、現主ストレージ・プールに対して定義されることがあり、または定義されないことがある。例えば、ある実施形態では、ディスク・プール１１２に対して定義されたコピー・ストレージ・プール２０２、２０４、２０６は、テープ・プール１１４に書き込まれるデータを格納することができる。
【００４２】
図４、図５に、第１の例示的実施形態に従って例示的ファイルがストレージ・マネージャ１０６によってどのように格納されるかを示す。
【００４３】
図４、図５では、主ストレージ・プールであるＤＩＳＫＰＯＯＬ４０２およびＴＡＰＥＰＯＯＬ４０４がストレージ階層１０８を形成し、ＤＩＳＫＰＯＯＬ４０２はストレージ階層１０８の最高レベルにあり、ＴＡＰＥＰＯＯＬ４０４はストレージ階層１０８の次のプール（参照番号４０６で表される）であり、すなわちＴＡＰＥＰＯＯＬ４０４は、ストレージ階層のレベルにおいてＤＩＳＫＰＯＯＬ４０２の次である。ある実施形態では、ＤＩＳＫＰＯＯＬ４０２はディスク・プール１１２に対応することができ、ＴＡＰＥＰＯＯＬ４０４はテープ・プール１１４に対応することができる。
【００４４】
図４、図５では、ＣＯＰＹＰＯＯＬ１（参照番号４０８）およびＣＯＰＹＰＯＯＬ２（参照番号４１０）が、ＤＩＳＫＰＯＯＬ４０２に対して定義される。ある実施形態では、ＣＯＰＹＰＯＯＬ１（参照番号４０８）およびＣＯＰＹＰＯＯＬ２（参照番号４１０）が、複数のコピー・ストレージ・プール１１０ａ．．．１１０ｎから選択される。
【００４５】
ＴＳＭクライアント１０４は、ファイルＡ（参照番号４１４ａ）、ファイルＢ（参照番号４１６ａ）、およびファイルＣ（参照番号４１８ａ）を、ＤＩＳＫＰＯＯＬ４０２に書き込むためにＴＳＭサーバ１０２に送信する。ＤＩＳＫＰＯＯＬ４０２は、ファイルＢ（参照番号４１６ｂ）およびファイルＣ（参照番号４１８ｂ）を格納するのに十分なスペースのみを有し、次のプール４０６、すなわちＴＡＰＥＰＯＯＬ４０４は、ファイルＡ（参照番号４１４ｂ）のための十分なスペースを有する。
【００４６】
ある実施形態では、同時書込みが動作可能にされる場合、ファイルＡ、Ｂ、Ｃ（参照番号４１４ａ、４１６ａ、４１８ａ）がバックアップされるとき、ファイルＢ、Ｃ（参照番号４１８ｂ、４１６ｂ、４１８ｃ、４１６ｃ、４１８ｄ、４１６ｄ）が、ＤＩＳＫＰＯＯＬ４０２、ＣＯＰＹＰＯＯＬ１（参照番号４０８）、およびＣＯＰＹＰＯＯＬ２（参照番号４１０）に同時に書き込まれる。ファイルＡ（参照番号４１４ｂ、４１４ｃ、４１４ｄ）が、ＴＡＰＥＰＯＯＬ４０４、ＣＯＰＹＰＯＯＬ１（参照番号４０８）およびＣＯＰＹＰＯＯＬ２（参照番号４１０）に同時に書き込まれる。
【００４７】
図６、図７に、第２の例示的実施形態に従って例示的ファイルがストレージ・マネージャ１０６によってどのように格納されるかを示す。
【００４８】
図６、図７では、主ストレージ・プール、ＤＩＳＫＰＯＯＬ５０２、およびＴＡＰＥＰＯＯＬ５０４がストレージ階層１０８を形成し、ＤＩＳＫＰＯＯＬ５０２はストレージ階層１０８の最高レベルにあり、ＴＡＰＥＰＯＯＬ５０４はストレージ階層１０８の次のプール（参照番号５０６で表される）であり、すなわちＴＡＰＥＰＯＯＬ５０４は、ストレージ階層のレベルにおいてＤＩＳＫＰＯＯＬ５０２の次である。ある実施形態では、ＤＩＳＫＰＯＯＬ５０２はディスク・プール１１２に対応することができ、ＴＡＰＥＰＯＯＬ５０４はテープ・プール１１４に対応することができる。
【００４９】
図６、図７では、ＣＯＰＹＰＯＯＬ１（参照番号５０８）がＤＩＳＫＰＯＯＬ５０２に対して定義され、ＣＯＰＹＰＯＯＬ２（参照番号５１０）がＴＡＰＥＰＯＯＬ５０４に対して定義される。ある実施形態では、ＣＯＰＹＰＯＯＬ１（参照番号５０８）およびＣＯＰＹＰＯＯＬ２（参照番号５１０）が、複数のコピー・ストレージ・プール１１０ａ．．．１１０ｎから選択される。
【００５０】
ＴＳＭクライアント１０４は、ファイルＡ（参照番号５１４ａ）、ファイルＢ（参照番号５１６ａ）、およびファイルＣ（参照番号５１８ａ）を、ＤＩＳＫＰＯＯＬ５０２に書き込むためにＴＳＭサーバ１０２に送信する。ＤＩＳＫＰＯＯＬ５０２は、ファイルＢ（参照番号５１６ｂ）およびファイルＣ（参照番号５１８ｂ）を格納するのに十分なスペースのみを有し、次のプール５０６、すなわちＴＡＰＥＰＯＯＬ５０４は、ファイルＡ（参照番号５１４ｂ）のための十分なスペースを有する。
【００５１】
ある実施形態では、同時書込みが動作可能にされる場合、ファイルＡ、Ｂ、Ｃ（参照番号５１４ａ、５１６ａ、５１８ａ）がバックアップされるとき、ファイルＢ、Ｃ（参照番号５１８ｂ、５１６ｂ、５１８ｃ、５１６ｃ）が、ＤＩＳＫＰＯＯＬ５０２およびＣＯＰＹＰＯＯＬ１（参照番号５０８）に同時に書き込まれる。ファイルＡ（参照番号５１４ｂ、５１４ｃ）が、ＴＡＰＥＰＯＯＬ５０４およびＣＯＰＹＰＯＯＬ１（参照番号５０８）に同時に書き込まれる。ＣＯＰＹＰＯＯＬ２（参照番号５１０）はデータのバックアップ用ではない。
【００５２】
図８、図９に、同時書込みがバックアップのために動作可能にされない場合に、第３の実施形態に従って例示的ファイルがストレージ・マネージャ１０６によってどのように格納されるかを示す。
【００５３】
図８、図９では、主ストレージ・プール、ＤＩＳＫＰＯＯＬ６０２、およびＴＡＰＥＰＯＯＬ６０４がストレージ階層１０８を形成し、ＤＩＳＫＰＯＯＬ６０２はストレージ階層１０８の最高レベルにあり、ＴＡＰＥＰＯＯＬ６０４はストレージ階層１０８の次のプール（参照番号６０６で表される）であり、すなわちＴＡＰＥＰＯＯＬ６０４は、ストレージ階層のレベルにおいてＤＩＳＫＰＯＯＬ６０２の次である。ある実施形態では、ＤＩＳＫＰＯＯＬ６０２はディスク・プール１１２に対応することができ、ＴＡＰＥＰＯＯＬ６０４はテープ・プール１１４に対応することができる。
【００５４】
図８、図９では、ＣＯＰＹＰＯＯＬ１（参照番号６０８）およびＣＯＰＹＰＯＯＬ２（参照番号６１０）が、ＤＩＳＫＰＯＯＬ６０４に対して定義される。ある実施形態では、ＣＯＰＹＰＯＯＬ１（参照番号６０８）およびＣＯＰＹＰＯＯＬ２（参照番号６１０）が、複数のコピー・ストレージ・プール１１０ａ．．．１１０ｎから選択される。
【００５５】
ＴＳＭクライアント１０４は、ファイルＡ（参照番号６１４ａ）、ファイルＢ（参照番号６１６ａ）、およびファイルＣ（参照番号６１８ａ）を、ＤＩＳＫＰＯＯＬ６０２に書き込むためにＴＳＭサーバ１０２に送信する。ＤＩＳＫＰＯＯＬ６０２は、ファイルＢ（参照番号６１６ｂ）およびファイルＣ（参照番号６１８ｂ）を格納するのに十分なスペースのみを有し、次のプール６０６、すなわちＴＡＰＥＰＯＯＬ６０４は、ファイルＡ（参照番号６１４ｂ）のための十分なスペースを有する。
【００５６】
ある実施形態では、同時書込みが動作可能にされない場合、ファイルＡ、Ｂ、Ｃ（参照番号６１４ａ、６１６ａ、６１８ａ）が書き込まれるとき、ファイルＢ、Ｃ（参照番号６１８ｂ、６１６ｂ）がＤＩＳＫＰＯＯＬ６０２に書き込まれる。ファイルＡ（参照番号６１４ｂ）がＴＡＰＥＰＯＯＬ６０４に書き込まれる。同時書込みが動作可能にされないので、コピー・プールがＴＡＰＥＰＯＯＬ６０４に対して定義されているとしても、ＣＯＰＹＰＯＯＬ１（参照番号６０８）およびＣＯＰＹＰＯＯＬ２（参照番号６１０）にファイルが書き込まれない。
【００５７】
ある実施形態は、同時書込みオペレーションのための継承モデルを提供する。継承モデルは、格納オペレーションに対する、コピー・ストレージ・プールに関連する資源の解放および再取得の効果を低減する。次の主ストレージ・プールにデータを格納することが必要となった場合、主ストレージ・プール資源だけを解放することができ、次の主ストレージ・プールに関する資源が取得される。次の主プールは、元の主ストレージ・プールのコピー・プール・リストを継承し、コピー・ストレージ・プールに関して既に取得された資源を使用する。ある実施形態は、データを次のストレージ・プールに格納しなければならない場合であっても、主プールのコピー・プール・リストの本来の意図を尊重しようと試みる。コピー・プール資源を解放しないことにより、ある実施形態は、テープ・ドライブおよびテープ・ボリュームを取得する際に費やされる時間を削減することができる。
【００５８】
追加の実施形態の詳細
ソフトウェア、ファームウェア、マイクロコード、ハードウェア、またはそれらの任意の組合せを含む方法、機器、または製品として記載の技法を実装することができる。本明細書で使用する「製品」という用語は、プログラム命令、コード、回路内に実装された論理、もしくはそれらの組合せ（例えば、集積回路チップ、プログラマブル・ゲート・アレイ（ＰＧＡ）、ＡＳＩＣなど）、またはコンピュータ可読媒体（例えば、ハード・ディスク・ドライブ、フロッピィ・ディスク、テープなどの磁気記憶媒体）、光学式ストレージ（ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光ディスクなど）、揮発性および不揮発性メモリ装置（例えば電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ）、読取り専用メモリ（ＲＯＭ）、プログラマブル読取り専用メモリ（ＰＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、静的ランダム・アクセス・メモリ（ＳＲＡＭ）、フラッシュ、ファームウェア、プログラマブル論理など）、あるいはそれらの組合せを指す。プロセッサなどのマシンでコンピュータ可読媒体内のコードにアクセスし、それを実行することができる。ある実施形態では、実施形態が作成されるコードはさらに、伝送媒体を介してアクセス可能であり、またはネットワークを介してファイル・サーバからアクセス可能である。そのような場合、コードがその中に実装される製品は、ネットワーク伝送線路、ワイヤレス伝送媒体、空間を伝播する信号、電波、赤外線信号などの伝送媒体を含むことができる。もちろん、実施形態の範囲から逸脱することなく多数の修正を行えること、および製品が当技術分野で周知の任意の情報運搬媒体を含むことができることを当業者は理解されよう。例えば、製品は、マシンで実行されたときに結果としてオペレーションが実行される命令が格納された記憶媒体を含む。
【００５９】
図１０に、ある実施形態を実装することのできるシステム７００のブロック図を示す。ある実施形態では、システム７００に従ってストレージ・サーバ１０２を実装することができる。システム７００は回路７０２を含むことができ、回路７０２は、ある実施形態ではプロセッサ７０４を含むことができる。システム７００はまた、メモリ７０６（例えば揮発性メモリ装置）およびストレージ７０８も含むことができる。システム７００のいくつかの要素は、ストレージ・サーバ１０２内に存在することがあり、または存在しないことがある。ストレージ７０８は、不揮発性メモリ装置（例えばＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、フラッシュ、ファームウェア、プログラマブル論理など）、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブなどを含むことができる。ストレージ７０８は、内部記憶装置、接続された記憶装置、またはネットワークアクセス可能な記憶装置、あるいはそれらの組合せを含むことができる。システム７００は、メモリ７０６にロードし、プロセッサ７０４または回路７０２で実行することのできるコード７１２を含むプログラム論理７１０を含むことができる。ある実施形態では、コード７１２を含むプログラム論理７１０をストレージ７０８に格納することができる。その他のある実施形態では、プログラム論理７１０を回路７０２内に実装することができる。したがって、図１０はプログラム論理７１０を他の要素と別々に示しているが、プログラム論理７１０をメモリ７０６または回路７０２あるいはその両方の中に実装することができる。
【００６０】
ある実施形態は、人間、またはコンピュータ可読コードをコンピューティング・システムに統合する自動処理によってコンピューティング命令を配置する方法を対象とすることができ、コンピューティング・システムと組み合わせたコードが、記載の実施形態のオペレーションを実行するように動作可能にされる。
【００６１】
図３に示すオペレーションの少なくともいくつかを、並列的ならびに順次的に実行することができる。代替実施形態では、オペレーションのいくつかを異なる順序で実行することができ、修正することができ、または除去することができる。
【００６２】
さらに、例示のためにソフトウェア構成要素およびハードウェア構成要素の多くを別々のモジュールとして説明した。そのような構成要素をより少数の構成要素に統合することができ、またはより多数の構成要素に分割することができる。さらに、特定の構成要素によって実行されるものとして説明したいくつかのオペレーションを他の構成要素で実行することができる。
【００６３】
図１〜図１０で図示または参照したデータ構造および構成要素は、特定のタイプの情報を有するものとして説明した。代替実施形態では、データ構造および構成要素は異なる方式で構成することができ、図で示し、または参照したものよりも少数のフィールド、多数のフィールド、または異なるフィールド、あるいは異なる機能を有することができる。
【００６４】
したがって、上記の本発明の様々な実施形態の説明を例示および説明のために提示した。これは網羅的なものではなく、実施形態を開示される厳密な形態に限定するものでもない。上記の教示に照らして多数の修正形態および変形形態が可能である。
【図面の簡単な説明】
【００６５】
【図１】ある実施形態によるコンピューティング環境のブロック図である。
【図２】ある実施形態による、ストレージ階層の例示的主ストレージ・プールに対して例示的コピー・ストレージ・プールをどのように定義することができるかを示すブロック図である。
【図３】コピー・ストレージ・プールへの「同時書込み」オペレーションを実装するある実施形態による資源管理に関するオペレーションを示す図である。
【図４】第１の例示的実施形態に従って例示的ファイルがストレージ・マネージャによってどのように格納されるかを示す図である。
【図５】第１の例示的実施形態に従って例示的ファイルがストレージ・マネージャによってどのように格納されるかを示す図である。
【図６】第２の例示的実施形態に従って例示的ファイルがストレージ・マネージャによってどのように格納されるかを示す図である。
【図７】第２の例示的実施形態に従って例示的ファイルがストレージ・マネージャによってどのように格納されるかを示す図である。
【図８】第３の例示的実施形態に従って例示的ファイルがストレージ・マネージャによってどのように格納されるかを示す図である。
【図９】第３の例示的実施形態に従って例示的ファイルがストレージ・マネージャによってどのように格納されるかを示す図である。
【図１０】ある実施形態が実装されるシステムを示す図である。
【図１】
2008523484.tif 000003
【図２】
2008523484.tif 000004
【図３】
2008523484.tif 000005
【図４】
2008523484.tif 000006
【図５】
2008523484.tif 000007
【図６】
2008523484.tif 000008
【図７】
2008523484.tif 000009
【図８】
2008523484.tif 000010
【図９】
2008523484.tif 000011
【図１０】
2008523484.tif 000012
【国際調査報告】
2008523484.tif 000013
2008523484.tif 000014
2008523484.tif 000015