(57)【特許請求の範囲】
【請求項１】
互いに通信可能に接続された３つの記憶装置を含み、前記３つの記憶装置はターゲット記憶装置と第１及び第２のソース記憶装置を含み、前記ターゲット記憶装置は前記ソース記憶装置に特定のデータのコピー要求をし、前記ソース記憶装置は前記特定のデータを保持し、他の前記記憶装置からコピー要求のジョブを受け付けて複数のデータ・ボリュームを処理中である記憶システムであって、
第１及び第２のソース記憶装置は、前記処理中のデータ・ボリュームのジョブ・リスト及びその属性情報を保持し、
前記ターゲット記憶装置は、
（ａ）第１及び第２のソース記憶装置の前記属性情報を参照し、
（ｂ）前記属性情報に基づいて第１及び第２のソース記憶装置それぞれの前記処理中のジョブ負荷として第１及び第２の負荷値を計算し、
（ｃ）第１及び第２の負荷値それぞれに前記特定のデータのジョブの負荷値を加えたものを第1のソース記憶装置の第１の最終負荷値及び第２のソース記憶装置の第２最終負荷値とし、
（ｄ）第１の最終負荷値に第２の負荷値を加えて前記システム全体の第１の全システム負荷値を与え、
（ｅ）第２の最終負荷値に第１の負荷値を加えて前記システム全体の第２の全システム負荷値を与え、
（ｆ）第１の全システム負荷値と第２の全システム負荷値とを対比し、
（ｇ）前記対比の結果に基づき、前記システム全体の負荷が小さくなるように前記ソース記憶装置を選択し、
（ｈ）前記ソース記憶装置に前記特定のデータのコピー要求を行う、
記憶システム。
【請求項２】
前記属性情報は、前記ソース記憶装置の処理中のジョブ処理能力値（ＲＡ）と、前記ジョブ・リスト（リスト数＝Ｎ）のデータ・ボリューム番号に関連して未処理データ量（Ｃｉ＝Ｃ１，Ｃ２，・・・ＣＮ）及び優先度（Ｐｉ＝Ｐ１，Ｐ２，・・・ＰＮ）と、を前記属性情報として含む請求項１に記載の記憶システム。
【請求項３】
前記ソース記憶装置は、前記処理中のデータ・ボリュームのそれぞれに前記処理能力値を均等に割当てられた処理能力値（ＲＡ／Ｎ）により前記複数のデータ・ボリュームを並列処理する請求項２に記載の記録システム。
【請求項４】
第１の負荷値、第２の負荷値、及び前記特定のデータの負荷値は、前記処理能力値、前記ソース記憶装置の処理中の各データ・ボリュームの前記未処理データ量、各ジョブの優先度に基づいて計算される、請求項３に記載の記憶システム。
【請求項５】
第１の負荷値、第２の負荷値、及び前記特定のデータの負荷値は、各前記データ・ボリュームに対して前記未処理データ量（Ｃｉ）に各優先度（Ｐｉ＝高優先度（Ｈ）または低優先度（Ｌ））を掛けた値を前記割当処理能力値（ＲＡ／Ｎ）で割った値を合計として与えられる請求項４に記載の記憶システム。
【請求項６】
第１の負荷値、第２の負荷値、及び前記特定のデータの負荷値Ｗは、Ｗ＝ΣＣｉ×Ｐｉ／（ＲＡ／Ｎ）と与えられる請求項５に記載の記憶システム。
【請求項７】
前記優先度の値は、高優先度の値が低優先度の値より大きな値を与える請求項６に記載の記憶システム。
【請求項８】
前記高優先度値を０．８、前記低優先度値を０．２である請求項７に記載の記憶システム。
【請求項９】
前記優先度は、前記データ・ボリュームにユーザにより設定された前記属性情報により与えられ、前記コピー要求時のＲｕｎモードかＤｅｆｅｒｒｅｄモードかにより決定される、請求項５に記載の記憶システム。
【請求項１０】
前記記憶装置はＤＡＳＤキャッシュを含む請求項１に記載のシステム。
【請求項１１】
前記記憶装置は、テープドライブを接続し該テープドライブの高速キャッシュとして機能する請求項１０に記載のシステム。
【請求項１２】
互いに通信可能に接続された複数の記憶装置を含み、複数の前記記憶装置は１つのターゲット記憶装置及びｍ個のソース記憶装置（ｍは２以上）を含み、前記ターゲット記憶装置は前記ソース記憶装置に特定のデータのコピー要求をし、ｍ個の前記ソース記憶装置は前記特定のデータを有し、他の前記記憶装置から複数のコピー要求のジョブを受け付けて複数のデータ・ボリュームを処理中である記憶システムであって、
前記ソース記憶装置は、前記処理中のデータ・ボリュームのジョブ・リスト及びその属性情報を保持し、
前記ターゲット記憶装置は、
（ａ）ｍ個の前記ソース記憶装置それぞれの前記属性情報を参照し、
（ｂ）前記属性情報に基づいてｍ個の前記ソース記憶装置それぞれの前記処理中のジョブ負荷として負荷値を計算し、
（ｃ）ｍ個の前記ソース記憶装置の負荷値それぞれに前記特定のデータのジョブの負荷値を加えたものをｍ個の前記ソース記憶装置それぞれの最終負荷値とし、
（ｄ）前記ソース記憶装置の最終負荷値に他の全ての前記ソース記憶装置の負荷値を加えて前記システム全体の全システム負荷値を与え、
（ｅ）前記（ｄ）のステップをｍ個の前記ソース記憶装置の最終負荷値について実行して、ｍ個の前記ソース記憶装置それぞれに対応する前記全システム負荷値を与え、
（ｆ）ｍ個の前記全システム負荷値を対比し、
（ｇ）前記対比の結果に基づき、前記システム全体の負荷が小さくなるようにｍ個の前記ソース記憶装置からソース記憶装置を選択し、
（ｈ）前記ソース記憶装置に前記特定のデータのコピー要求を行う、記憶システム。
【請求項１３】
互いに通信可能に接続された複数の記憶装置を含み、複数の前記記憶装置は１つのターゲット記憶装置及びｍ個のソース記憶装置（ｍは２以上）を含む記憶システムにおいて、前記ターゲット記憶装置が特定のデータのコピー要求先として最適なソース記憶装置を選択する方法であって、ｍ個の前記ソース記憶装置は、前記特定のデータを有し、他の前記記憶装置から複数のコピー要求のジョブを受け付けて複数のデータ・ボリュームを処理中であり、前記処理中のデータ・ボリュームのジョブ・リスト及びその属性情報を保持する前記方法は、
（ａ）ｍ個の前記ソース記憶装置それぞれの前記属性情報を参照するステップと、
（ｂ）前記属性情報に基づいてｍ個の前記ソース記憶装置それぞれの前記処理中のジョブ負荷として負荷値を計算するステップと、
（ｃ）ｍ個の前記ソース記憶装置の負荷値それぞれに前記特定のデータのジョブの負荷値を加えたものをｍ個の前記ソース記憶装置それぞれの最終負荷値とするステップと、
（ｄ）前記ソース記憶装置の最終負荷値に他の全ての前記ソース記憶装置の負荷値を加えて前記システム全体の全システム負荷値を与えるステップと、
（ｅ）前記（ｄ）のステップをｍ個の前記ソース記憶装置の最終負荷値について実行して、ｍ個の前記ソース記憶装置それぞれに対応する前記全システム負荷値を与えるステップと、
（ｆ）ｍ個の前記全システム負荷値を対比するステップと、
（ｇ）前記対比の結果に基づき、前記システム全体の負荷が小さくなるようにｍ個の前記ソース記憶装置からソース記憶装置を選択するステップと、を実行する方法。
【請求項１４】
互いに通信可能に接続された複数の記憶装置を含み、複数の前記記憶装置は１つのターゲット記憶装置及びｍ個のソース記憶装置（ｍは２以上）を含む記憶システムにおいて、前記ターゲット記憶装置が特定のデータのコピー要求先として最適なソース記憶装置を選択するプログラムであって、
ｍ個の前記ソース記憶装置は、前記特定のデータを有し、他の前記記憶装置から複数のコピー要求のジョブを受け付けて複数のデータ・ボリュームを処理中であり、前記処理中のデータ・ボリュームのジョブ・リスト及びその属性情報を保持し、
（ａ）ｍ個の前記ソース記憶装置それぞれの前記属性情報を参照するステップと、
（ｂ）前記属性情報に基づいてｍ個の前記ソース記憶装置それぞれの前記処理中のジョブ負荷として負荷値を計算するステップと、
（ｃ）ｍ個の前記ソース記憶装置の負荷値それぞれに前記特定のデータのジョブの負荷値を加えたものをｍ個の前記ソース記憶装置それぞれの最終負荷値とするステップと、
（ｄ）前記ソース記憶装置の最終負荷値に他の全ての前記ソース記憶装置の負荷値を加えて前記システム全体の全システム負荷値を与えるステップと、
（ｅ）前記（ｄ）のステップをｍ個の前記ソース記憶装置の最終負荷値について実行して、ｍ個の前記ソース記憶装置それぞれに対応する前記全システム負荷値を与えるステップと、
（ｆ）ｍ個の前記全システム負荷値を対比するステップと、
（ｇ）前記対比の結果に基づき、前記システム全体の負荷が小さくなるようにｍ個の前記ソース記憶装置からソース記憶装置を選択するステップと、
を前記ターゲット記憶装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３つ以上の仮想テープ・サーバ（ＶＴＳ）を含む記憶システムにおいて、１つの仮想テープ・サーバから他の仮想テープ・サーバにデータをコピー要求するシステム、方法、およびプログラムに関する。
【背景技術】
【０００２】
図１は、複数のＶＴＳがＩＰ接続され構成された、記憶システム（ストレッジ・ドメイン）を示す。この記憶システムの空間をグリッド・ドメイン(Ｇｒｉｄ  Ｄｏｍａｉｎ)と呼ぶ。各ＶＴＳは、ドメイン内の分散ストレージ要素となるクラスタ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｌｕｓｔｅｒ）と位置づけされる。【０００３】
災害時において、ドメインは、データの二重化、三重化という基本機能とするデータ・リカバリ要件を充足する必要がある。データ保全性確保のため、ドメイン内の各クラスタにおいて同じデータを重複して持つ必要がある。データの多重化は、ＩＰネットワークで接続されたクラスタ、即ち仮想テープ・サーバ間で、データのコピー（複製）を行うことが可能である。具体的にはデータの二重化等は、仮想論理ボリューム等、論理ブロックの集合体をＩＰネットワークを介して複製することを指す。【０００４】
仮想テープ・サーバでは、テープドライブおよびテープ・カートリッジをエミュレートするために、直接アクセス記憶装置（ＤＡＳＤ：Ｄｉｒｅｃｔ  Ａｃｃｅｓｓ  Ｓｔｏｒａｇｅ  Ｄｅｖｉｃｅ）が使用される。ＤＡＳＤは多数の相互接続されたハード・ディスク・ドライブからなる。テープに関する入出力オペレーションを実行するホスト・システムは、テープ記憶装置をエミュレートする１組のハード・ディスク・ドライブに関する入出力オペレーションを実行する。仮想テープ・サーバは、多数のテープ・カートリッジおよびテープドライブを備えるテープ・ライブラリとＤＡＳＤとを接続する。【０００５】
ホストはテープ・ボリュームにアクセスする要求を行う。仮想テープ・サーバは、そのテープ要求を受取りＤＡＳＤ内のボリュームにアクセスする。そのボリュームがＤＡＳＤ内にない場合、仮想テープ・サーバはテープドライブからＤＡＳＤにそのボリュームを再呼び出し（ｒｅｃａｌｌ）する。仮想テープ・サーバは、テープドライブからのデータを求める要求に応答するよりも、テープ・カートリッジ内のボリュームをＤＡＳＤから求めるホスト要求に非常に速く応答することができる。したがってＤＡＳＤは、テープ・カートリッジ・ライブラリ内のボリュームのためのテープ・ボリューム・キャッシュとして機能する。【０００６】
仮想テープ記憶システム（記憶システム）は２つ以上の仮想テープ・サーバを組み合わせることができる。記憶システム環境において、それぞれ別々のテープ・ライブラリと結合された２以上の仮想テープ・サーバが、同じデータ・ボリュームに対してアクセスおよび記憶することができる。１つの仮想テープ・サーバからファイルを再呼び出しするオペレーションが失敗した場合、そのファイルをなお他方の仮想テープ・サーバから再呼び出しすることができる。【０００７】
この冗長アーキテクチャは、１つのテープまたはＶＴＳが破壊された場合に、データおよびテープを使用できるように改善されたデータの２重化を提供する。したがって、ホスト・システムが記憶装置に書込むとき、ユーザの設定に従い、データは両方の仮想テープ・サーバ上に保管される。【０００８】
両方の仮想テープ・サーバに同時に書込む方法は、システム・リソース上の浪費に相当する。ホストが論理ボリュームを閉じるときに、２つの仮想テープ・サーバを接続する仮想テープ・コントローラが、仮想テープ・サーバの１つにその論理ボリュームを書込む。このコントローラは、２つの仮想テープ・サーバ間のインテリジェント・スイッチとして振る舞い、ホスト・コンピュータと仮想テープ・サーバを透過的に接続する。次いでその論理ボリュームは、仮想テープ・コントローラによって１つの仮想テープ・サーバから他方の仮想テープ・サーバにコピーされる。【０００９】
仮想テープ・サーバ間のコピー処理は、ユーザの好みに基づいて、直ちに同期モード（Ｒｕｎ）または遅れて行う遅延モード（Ｄｅｆｅｒｒｅｄ）で行うことができる。しばしばホスト・ユーザは、周期的に運用する会社のために、バックアップ処理を後に行うように設定する。例えば、本来のジョブ処理のために高いピークのホスト入力／出力性能を希望し、バックアップ処理のため自分のコンピュータを減速させたくない。【００１０】
特許文献１は、従来技術のピアツーピア環境内において、１つの仮想テープ・サーバから他の仮想テープ・サーバにデータをコピーの改善する方法を提供する。データが修正または新しく作成されるたびに、そのデータセットが１つの記憶装置から他方にコピーされる必要があるかどうかを示すためのフラグが使用される。 データの唯一のコピーはテープ・ライブラリ内の物理テープ上に存在する場合、テープドライブからバックアップすることは、全体処理に大きな遅延をもたらす。そのため、ピアツーピアＶＴＳ上では、所定の論理ボリュームがテープ上にあるように改善された機構を提供する。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００３−６７２４８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
ところで、複数のソースＶＴＳが存在する場合においてこれらＶＴＳは仕掛かり中のジョブの処理により忙しいことがある。また、リアルタイムに変化していくシステム全体において、ソースＶＴＳの実行中のコピージョブの状態が考慮されていないために最適なコピーソースのＶＴＳの選択となっていない。【００１３】
そこで、本発明の目的は、３つ以上の記憶装置を含む記憶システム環境において、１つのターゲットＶＴＳがデータコピー要求をする場合に、複数のＶＴＳから最適なソースＶＴＳを選択するシステム、方法、及びプログラムを提供することである。
【課題を解決するための手段】
【００１４】
上記の目的を達成する本発明は、互いに通信可能に接続された３つの記憶装置を含み、前記３つの記憶装置はターゲット記憶装置と第１及び第２のソース記憶装置を含み、ターゲット記憶装置はソース記憶装置に特定のデータのコピー要求をし、ソース記憶装置は特定のデータを保持し、他の記憶装置からコピー要求のジョブを受け付けて複数のデータを処理中である記憶システムである。この記憶システムは、第１及び第２のソース記憶装置は前記処理中のデータ・ボリュームのジョブ・リスト及びその属性情報を保持し、ターゲット記憶装置は、
（ａ）第１及び第２のソース記憶装置の属性情報を参照し、
（ｂ）その属性情報に基づいて第１及び第２のソース記憶装置それぞれの処理中のジョブ負荷として第１及び第２の負荷値を計算し、
（ｃ）第１及び第２の負荷値それぞれに特定のデータのジョブの負荷値を加えたものを第1のソース記憶装置の第１の最終負荷値及び第２のソース記憶装置の第２最終負荷値とし、
（ｄ）第１の最終負荷値に第２の負荷値を加えて前記システム全体の第１の全システム負荷値を与え、
（ｅ）第２の最終負荷値に第１の負荷値を加えてシステム全体の第２の全システム負荷値を与え、
（ｆ）第１の全システム負荷値と第２の全システム負荷値とを対比し、
（ｇ）上記の対比の結果に基づき、システム全体の負荷が小さくなるようにソース記憶装置を選択し、
（ｈ）そのソース記憶装置に特定のデータのコピー要求を行うことを特徴とする。【００１５】
この記録システムの特徴は、前記ソース記憶装置の処理中のジョブ処理能力値（ＲＡ）と、前記ジョブ・リスト（リスト数＝Ｎ）のデータ・ボリューム番号に関連して未処理データ量（Ｃｉ＝Ｃ１，Ｃ２，・・・ＣＮ）及び優先度（Ｐｉ＝Ｐ１，Ｐ２，・・・ＰＮ）とを含むことである。【００１６】
この記録システムの特徴は、ソース記憶装置は、処理中のデータ・ボリュームのそれぞれに処理能力値（ＲＡ）を均等に割当てられた処理能力値（ＲＡ／Ｎ）により複数のデータ・ボリュームを並列処理することである。【００１７】
この記録システムの特徴は、第１の負荷値、第２の負荷値、及び特定のデータの負荷値は、処理能力値、ソース記憶装置の処理中の各データ・ボリュームの未処理データ量、各ジョブの優先度に基づいて計算されることである。【００１８】
この記憶システムの特徴は、第１の負荷値、第２の負荷値、及び特定のデータの負荷値は、各データ・ボリュームに対して未処理データ量（Ｃｉ）に各優先度（Ｐｉ＝高優先度（Ｈ）または低優先度（Ｌ））を掛けた値をその割当処理能力値（ＲＡ／Ｎ）で割った値を合計として与えられることである。【００１９】
この記憶システムの特徴は、第１の負荷値、第２の負荷値、及び特定のデータの負荷値Ｗは、Ｗ＝ΣＣｉ×Ｐｉ／（ＲＡ／Ｎ）と与えられることである。【００２０】
この記憶システムの特徴は、優先度の値が、高優先度の値が低優先度の値より大きな値を与えることである。【００２１】
この記憶システムの特徴は、高優先度値を０．８、低優先度値を０．２であることである。【００２２】
この記憶システムの特徴は、優先度が、データ・ボリュームにユーザにより設定された属性情報により与えられ、コピー要求時のＲｕｎモードか、Ｄｅｆｅｒｒｅｄモードかにより決定されることである。【００２３】
この記憶システムの特徴は、記憶装置はＤＡＳＤキャッシュを含むことである。【００２４】
この記憶システムの特徴は、記憶装置が、テープドライブを接続し該テープドライブの高速キャッシュとして機能することである。【００２５】
また、上記の目的を達成する本発明は、互いに通信可能に接続された複数の記憶装置を含み、複数の記憶装置は１つのターゲット記憶装置及びｍ個のソース記憶装置（ｍは２以上）を含み、ターゲット記憶装置は前記ソース記憶装置に特定のデータのコピー要求をし、ｍ個の前記ソース記憶装置は前記特定のデータを有し、他の前記記憶装置から複数のコピー要求のジョブを受け付けて複数のデータ・ボリュームを処理中である記憶システムである。この記憶システムは、前記ソース記憶装置は前記処理中のデータ・ボリュームのジョブ・リスト及びその属性情報を保持し、前記ターゲット記憶装置は、
（ａ）ｍ個の前記ソース記憶装置それぞれの前記属性情報を参照し、
（ｂ）属性情報に基づいてｍ個のソース記憶装置それぞれの処理中のジョブ負荷として負荷値を計算し、
（ｃ）ｍ個のソース記憶装置の負荷値それぞれに特定のデータのジョブの負荷値を加えたものをｍ個のソース記憶装置それぞれの最終負荷値とし、
（ｄ）ソース記憶装置の最終負荷値に他の全て（（ｍ−１）個）のソース記憶装置の負荷値を加えてシステム全体の全システム負荷値を与え、
（ｅ）前記（ｄ）のステップをｍ個のソース記憶装置の最終負荷値について実行して、ｍ個のソース記憶装置それぞれに対応する全システム負荷値を与え、
（ｆ）ｍ個の全システム負荷値を対比し、
（ｇ）前記対比の結果に基づき、システム全体の負荷が小さくなるようにｍ個のソース記憶装置からソース記憶装置を選択し、
（ｈ）前記ソース記憶装置に特定のデータのコピー要求を行うことを特徴とする。【００２６】
更に上記の目的を達成する本発明は、互いに通信可能に接続された複数の記憶装置を含み、複数の前記記憶装置は１つのターゲット記憶装置及びｍ個のソース記憶装置（ｍは２以上）を含む記憶システムにおいて、前記ターゲット記憶装置が特定のデータのコピー要求先として最適なソース記憶装置を選択する方法である。この方法は、ｍ個の前記ソース記憶装置は、前記特定のデータを有し、他の前記記憶装置から複数のコピー要求のジョブを受け付けて複数のデータ・ボリュームを処理中であり、前記処理中のデータ・ボリュームのジョブ・リスト及びその属性情報を保持し、
（ａ）ｍ個の前記ソース記憶装置それぞれの前記属性情報を参照するステップと、
（ｂ）前記属性情報に基づいてｍ個の前記ソース記憶装置それぞれの前記処理中のジョブ負荷として負荷値を計算するステップと、
（ｃ）ｍ個の前記ソース記憶装置の負荷値それぞれに前記特定のデータのジョブの負荷値を加えたものをｍ個の前記ソース記憶装置それぞれの最終負荷値とするステップと、
（ｄ）前記ソース記憶装置の最終負荷値に他の全て（（ｍ−１）個）の前記ソース記憶装置の負荷値を加えて前記システム全体の全システム負荷値を与えるステップと、
（ｅ）前記（ｄ）のステップをｍ個の前記ソース記憶装置の最終負荷値について実行して、ｍ個の前記ソース記憶装置それぞれに対応する前記全システム負荷値を与えるステップと、
（ｆ）ｍ個の前記全システム負荷値を対比するステップと、
（ｇ）前記対比の結果に基づき、前記システム全体の負荷が小さくなるようにｍ個の前記ソース記憶装置からソース記憶装置を選択するステップと、を実行することを特徴とする。【００２７】
更に上記の目的を達成する本発明は、互いに通信可能に接続された複数の記憶装置を含み、複数の前記記憶装置は１つのターゲット記憶装置及びｍ個のソース記憶装置（ｍは２以上）を含む記憶システムにおいて、前記ターゲット記憶装置が特定のデータのコピー要求先として最適なソース記憶装置を選択するプログラムである。このプログラムは、ｍ個の前記ソース記憶装置は、前記特定のデータを有し、他の前記記憶装置から複数のコピー要求のジョブを受け付けて複数のデータ・ボリュームを処理中であり、前記処理中のデータ・ボリュームのジョブ・リスト及びその属性情報を保持し、
（ａ）ｍ個の前記ソース記憶装置それぞれの前記属性情報を参照するステップと、
（ｂ）前記属性情報に基づいてｍ個の前記ソース記憶装置それぞれの前記処理中のジョブ負荷として負荷値を計算するステップと、
（ｃ）ｍ個の前記ソース記憶装置の負荷値それぞれに前記特定のデータのジョブの負荷値を加えたものをｍ個の前記ソース記憶装置それぞれの最終負荷値とするステップと、
（ｄ）前記ソース記憶装置の最終負荷値に他の全て（（ｍ−１）個）の前記ソース記憶装置の負荷値を加えて前記システム全体の全システム負荷値を与えるステップと、
（ｅ）前記（ｄ）のステップをｍ個の前記ソース記憶装置の最終負荷値について実行して、ｍ個の前記ソース記憶装置それぞれに対応する前記全システム負荷値を与えるステップと、
（ｆ）ｍ個の前記全システム負荷値を対比するステップと、
（ｇ）前記対比の結果に基づき、前記システム全体の負荷が小さくなるようにｍ個の前記ソース記憶装置からソース記憶装置を選択するステップと、を前記ターゲット記憶装置に実行させることを特徴とする。【００２８】
上記の目的を達成する本発明は、互いに通信可能に接続された複数の記憶装置を含み、複数の前記記憶装置はターゲット記憶装置及びｍ個のソース記憶装置（ｍは２以上）を含む記憶システムにおいて、前記ターゲット記憶装置が特定データのコピー要求先として最適なソース記憶装置を選択する方法である。この方法は、ｍ個の前記ソース記憶装置は前記特定のデータを有し、他の前記ソース記憶装置から複数のコピー要求のジョブを受け付けて複数のデータを処理中であり、前記処理中のデータ・ボリュームのジョブ・リスト及びその属性情報を保持し、
（ａ）ｍ個の前記ソース記憶装置それぞれの前記属性情報を参照するステップと、
（ｂ）前記属性情報に基づいてＮ個の前記ソース記憶装置それぞれの前記処理中のジョブ負荷として負荷値を計算するステップと、
（ｃ）ｍ個の前記ソース記憶装置の負荷値それぞれに前記特定のデータのジョブの負荷値を加えたものをＮ個の前記ソース記憶装置それぞれの最終負荷値とするステップと、
（ｄ）前記ソース記憶装置の最終負荷値に他の全ての前記ソース記憶装置の負荷値を全て加えて前記システム全体の全システム負荷値を与えるステップと、
（ｅ）前記（ｄ）のステップをｍ個の前記ソース記憶装置の最終負荷値に基づいて実行して、Ｎ個の前記ソース記憶装置それぞれについて全システム負荷値を与えるステップと、
（ｆ）ｍ個の前記全システム負荷値を対比するステップと、
（ｇ）前記対比の結果に基づき、前記システム全体の負荷が小さくなるようにＮ個の前記ソース記憶装置からソース記憶装置を選択するステップと、
を実行するソース記憶装置を選択することを特徴とする。
【発明の効果】
【００２９】
以上のように本発明によれば、３つ以上の記憶装置を含む記憶システムにおいて、ターゲットＶＴＳはコピー要求をする際に複数のソースＶＴＳからシステム全体の負荷への影響を最小限に止めるソースＶＴＳの選択を可能する有利な効果を有する。
【図面の簡単な説明】
【００３０】
【図１】複数のＶＴＳがＩＰ接続され構成された、記憶システム（ストレッジ・ドメイン）を示す。
【図２】３つの仮想テープ・サーバを利用する３つのＶＴＳを含む記憶システム環境を示す。
【図３】ターゲットＶＴＳに対して２つのソースＶＴＳが存在する仮想テープ記憶システムにおいて、典型的なコピーの実施例を示す。
【図４】ターゲットＶＴＳ２における、ソースＶＴＳ０，１のジョブの負荷を考慮した本発明の最善のコピーソースの選択を示す。
【図５】記憶システム全体のジョブ負荷値の計算の実施例を示す。
【図６】記憶システム全体のジョブ負荷値の計算の別の実施例を示す。
【発明を実施するための形態】
【００３１】
以下において、本発明の仮想テープ・サーバを含む記憶システムのデータコピーの方法について、幾つかの典型的な実施形態（以下「実施例」という）が説明される。
【００３２】
まず、具体的な実施例の前に、理解の容易のため典型的な３つのＶＴＳを含む記憶システムの構成について説明する。本発明は３つ以上のＶＴＳを含む記憶システムであれば適用可能である。
【００３３】
図２は、３つの仮想テープ・サーバを利用する３つのＶＴＳを含む記憶システム環境を示す。運用システムによって追加の仮想テープ・サーバを使用することができるが、例示のために、単一の３つのＶＴＳの構成を示す。複数のホスト・コンピュータは、例示の目的のために３つ（２ａ、２ｂ、２ｃ）の場合を示す（単にホストともいう）。
【００３４】
３つのＶＴＳを含む記憶システム環境では、ホスト・コンピュータ２ａ、ｂ、ｃに透過的である。すなわちホスト・コンピュータ２ａ，ｂ，ｃは、単一仮想テープ・サーバに書込むかのように、ホスト・システムが振る舞う。単一の記憶システムとして機能すると言う意味で、各ＶＴＳはホストに対して透過的である。ホスト２ａ，ｂ，ｃは入出力要求（Ｍｏｕｎｔ、Ｒｅｗｉｎｄ  Ｕｎｌｏａｄなど）を仮想テープ・サーバ６ａ、６ｂまたは６ｃの１つにルーティングする。
【００３５】
それぞれのＤＡＳＤ８ａ，ｂ，ｃは、多数の相互接続されたハード・ディスク・ドライブを備える。それぞれのテープ・ライブラリ１０ａ，ｂ，ｃは、仮想テープ・サーバ６ａ，ｂ，ｃがアクセスできるテープドライブに機械的にロードすることができる多数のテープ・カートリッジを備える。
【００３６】
ホストは、ＩＢＭ  ＯＳ／３９０オペレーティング・システム、当技術分野で知られている他の任意のオペレーティング・システムなどのオペレーティング・システムを含むことができる。仮想テープ・サーバ６ａ，６ｂまたは６ｃは、ＩＢＭの仮想テープ・サーバなどのテープ・ライブラリをエミュレートするソフトウェアを含むサーバ・システムを備えることができる。例えば、仮想テープ・サーバ６ａ、ｂ、ｃは、ＩＢＭ  ＲＳ／６０００プロセッサ、及びＩＢＭ  ＡＩＸオペレーティング・システムを備える別々のコンピュータである。各ＶＴＳは、ホスト２ａ，ｂ，ｃ、ＤＡＳＤ８ａ，ｂ，ｃおよびテープ・ライブラリ１０ａ，ｂ，ｃ間のデータ移動オペレーションを実行することができる。
【００３７】
ホストは、ＶＴＳにＭｏｕｎｔ、Ｒｅｗｉｎｄ  Ｕｎｌｏａｄコマンド等を発行する。Ｍｏｕｎｔは論理ボリュームをキャッシュ上に用意することを要求する。Ｒｅｗｉｎｄ  Ｕｎｌｏａｄは、物理テープの巻き戻しを論理ボリュームに対して擬似的に行う。
【００３８】
仮想テープ・サーバ６ａ、６ｂおよび６ｃは、ＤＡＳＤ８ａ、８ｂおよび８ｃならびにテープ・ライブラリ１０ａ、１０ｂおよび１０ｃそれぞれに対するアクセスを制御する。各仮想テープ・サーバ（例えばＩＢＭ  ＲＳ／６０００など）は、独自のシステム・メモリ（ＤＲＡＭ）とＨＤＤ（ハードディスク・ドライブ）を有している。システム・メモリには、コピージョブを保持するコピー・キューが存在する。
【００３９】
ホストは、各ＶＴＳ対して論理ボリュームを指定したＲｅｗｉｎｄ  Ｕｎｌｏａｄ要求を発行する。論理ボリュームには、データのコピーの仕方として同期モード（Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎモード）、非同期モード（Ｄｅｆｅｒｒｅｄモード）などがポリシーとして指定されている。このポリシーは、ホストからユーザが設定できる。同期モードは、Ｒｅｗｉｎｄ  Ｕｎｌｏａｄを受取ると同時に指定のデータについて即座コピー処理を行い、処理が完了したら、要求元に完了通知（Ｃｏｍｍａｎｄ  Ｃｏｍｐｌｅｔｉｏｎ）を返す。非同期モードは、Ｒｅｗｉｎｄ  Ｕｎｌｏａｄの受領に即座に完了通知は返すが、実際のコピー処理は一定の時間をおいて行われる。コピー処理は、特定ボリュームを各ＶＴＳのコピー・キューにロードする。コピー・キューに複数のボリューム（データ）がロードされ待ち行列化している場合は、各データは並行処理される。
【００４０】
記憶システムの実際の運用では、各ボリュームのポリシーをホストを介して指定できる。記憶システム内は、３つのＶＴＳが存在し、ホストは１つの特定のＶＴＳにも接続可能である。まず、ホストは必要なデータを論理ボリューム単位でその特定のＶＴＳに書込んだとする。ユーザは、ホストを介してこのシステム内部に、書き込んだ論理ボリューム（データ・ボリューム）に対して、そのコピーをどのように持つかをポリシーで設定する。
【００４１】
例えば、ボリュームのポリシーには、そのボリュームを複数のＶＴＳのうちどれにコピーするか、そのコピーの際の優先度は高優先度（Ｒｕｎモード（Ｈ））、低優先度（Ｄｅｆｅｒｒｅｄモード（Ｌ））のどちらか、が指定されている。ボリューム単位ごとに設定されたポリシーを満たすように、ＶＴＳはホストからの書き込みの後にＲｅｗｉｎｄ  Ｕｎｌｏａｄコマンドを受け取った時点で、コピーを行う。コピー要求は、論理ボリューム単位で、システム内部にデータの冗長性を持たせるためである。一つのＶＴＳが故障（ｆａｉｌ）し使用不可になっても、データに冗長性があれば、他のＶＴＳから同じデータを取得できる。
【００４２】
次に、データのコピーの際に、コピー処理によるシステム全体でのジョブ処理のパフォーマンス低下を最小限に抑えるソースＶＴＳの最善の選択方法を説明する。本発明の最善のコピーソースを選択するアルゴリズムとして、コピーソースとなる仮想テープ・サーバのジョブ負荷の値（「負荷値」または「ジョブ負荷値」）を使用して、最善のコピーソースのＶＴＳを選択する。
【００４３】
本発明のソースＶＴＳの選択の方法は、次の発明特定事項により実現される。
１. システム内の各コピーソースとなるＶＴＳ（ソースＶＴＳ）単位は、コピー・キュー内に存在する処理（仕掛かり）中のジョブ（データ）数、各ジョブのデータ量、その優先度などを含む属性情報を公開する。
２．ターゲットＶＴＳは、各ソースＶＴＳの属性情報を取得し、各ソースＶＴＳのかかる属性情報から予想されるジョブ負荷を決定する。ジョブ負荷は、仕掛かり中のジョブ数、即ち各データ量に各優先度などを考慮した所定の計算モデル（以下「負荷計算モデル」という）により、計算される。
３．ターゲットＶＴＳは、これらのソースＶＴＳから特定のデータのコピーを要求するのに最適なソースＶＴＳの選択を行う必要がある。各ソースＶＴＳの負荷状態は、所定の負荷計算モデルによりジョブ負荷値として与えられている。本発明では、ターゲットＶＴＳが更に特定のデータをコピー要求する場合に、システム全体の負荷状態を考慮した、ソースＶＴＳの選択方法を与える。本発明は、ターゲットＶＴＳが目的とするデータのジョブ負荷値をどのＶＴＳに加えるとシステム全体のジョブ負荷が最小になるかで、最適なソースＶＴＳを選択するものである。具体例な実施例により、このシステム全体のジョブ負荷値の観点からターゲットＶＴＳがソースＶＴＳを選択する方法について説明する。
【００４４】
ターゲットＶＴＳは、 各ソースＶＴＳから取得した処理中のコピージョブ・リストの各ボリューム（データ）の量（未処理データ量）及びそのコピー優先度（ＨまたはＬ）に基づいたソースＶＴＳのジョブ負荷を決定する。例えばターゲットＶＴＳは、複数のソースＶＴＳ個々のコピー・キュー内部のコピージョブのリスト、各ジョブ（データ）の未処理データ量および優先度を含む属性情報を取得する。ターゲットＶＴＳは各ソースＶＴＳに保持され公開されている処理中のジョブの属性情報を確保できる。ターゲットＶＴＳは、現時点での各ソースＶＴＳのコピー・キュー内部での処理中のジョブの残存データ量、優先度から予想の負荷計算を行う。
【００４５】
ソースＶＴＳの有するコピー・キュー内部の処理中の複数のジョブは、それぞれ並列処理される。ソースＶＴＳの処理能力を固定値ＲＡとして、処理中の１０のジョブがコピー・キューにリストされている場合、各データに処理能力ＲＡ／１０が割り当てられる。途中で処理データが減ると、残り処理中のデータに対して処理能力（固定値ＲＡ）を割くことが出来る。具体的には、処理中のデータが１０から８に減ると、未処理のデータ当たりの処理能力はＲＡ／１０からＲＡ／８となり増加する。
【００４６】
ソースＶＴＳの処理中のジョブの負荷値は、ソースＶＴＳのキュー中のジョブは随時追加されるため、評価時点での予想値である。また、ジョブの優先度にかかわらず、処理中の各データが並列に処理される。実際の運用によっては、ＶＴＳの処理中の複数のデータが高優先度のものが多いことを考慮してソースＶＴＳを選択する場合もある。各ソースＶＴＳは、仕掛かり中のジョブ・リストに関する属性情報を保持して、その情報を他のＶＴＳは参照できる。各ソースＶＴＳは、それら属性情報をそれぞれのメモリ、ＨＤＤなど（例えばｐシリーズ、ＲＳ／６０００）に記録されたデータベースに保持する。ターゲットＶＴＳは、他のソースＶＴＳの属性情報を参照・取得して各ソースＶＴＳのジョブ負荷値の計算を行う。
【００４７】
図３は、ターゲットＶＴＳに対して２つのソースＶＴＳが存在する仮想テープ記憶システムにおいて、典型的なコピーの実施例を示す。この実施例は、ＶＴ０／ＶＴＳ１にソースとなるデータが存在しターゲットＶＴ２がそのデータのコピー要求を行う場合において、１つのソースＶＴＳの選択アルゴリズムを提供する。２つのソースＶＴＳから最適なＶＴＳを選択することは、ターゲットＶＴ２がそのＶＴＳ内部に常駐するソース選択アルゴリズムを用いて、ＶＴＳ０もしくはＶＴＳ１のどちらからデータを取得するのが最適かを決定する方法である。
【００４８】
図３（ａ）は、この最適なコピーソース選択決定アルゴリズムが、どのＶＴＳが目的のデータ（ボリューム）を持っているかを、次の方法の手順で決定されることを示す。
・コピー元のデータとなり得る条件（システム内で最新かつ整合性のとれている論理データである）を満たしたデータを持っているかどうか。
次に各ＶＴＳが目的のデータを有していることを前提として、以下の条件に基づいて最適なコピーソースのＶＴＳを選択する。
・コピーソースがＶＴＳのディスク・キャッシュ（ＤＡＳＤ）上に存在し、再度テープデバイスからデータを読み込む必要がないかどうか。
・１の場合、テープデバイスからデータを読み出す必要がある場合、データ読み込みにかかる平均的な時間はいくらか。
・ＶＴＳ２と各コピーソース（ＶＴＳ０／ＶＴＳ１）それぞれのファイルシステム間で行われるデータ転送における平均的なレスポンスタイムはいくらか。
【００４９】
図３（ｂ）は、ソースＶＴＳ１もＶＴＳ０と同様にＶＴＳ２が要求するデータを有するに関わらず、指定のアルゴリズムにより最短でデータを取得できるＶＴＳ０をソースとして選択してコピー処理を実行する。このコピーの選択方法では、コピーソース選択アルゴリズムには、実行中のコピージョブの状態が考慮されていない。このアルゴリズムは、単にコピー対象のデータを有するソースＶＴＳを探しそのデータ確保までの取得時間を考慮するのみである。３以上のＶＴＳを含むシステムの場合、１つのソースＶＴＳに特定データのコピー要求を決定することが全システムの処理パフォーマンスの最適になるとは限らない。
【００５０】
本発明は、個々のＶＴＳの選択と同時にシステム全体としていかなる影響を与えるかを考慮して３以上のＶＴＳから最適なＶＴＳを選択するアルゴリズムを与える。図４は、２つのソースＶＴＳのジョブの負荷を考慮してこれらのソースから最善のコピーソースの選択方法を示す。本発明の最適なソースＶＴＳの選択方法は、典型的には（１）→（２）または（２）’→（３）で処理される。
【００５１】
各ソースＶＴＳ０及び１がそれぞれ、高優先度及び低優先度のジョブをコピー・キューに保持している。この場合ソースＶＴＳの選択の各ステップ（１），（２），（２）’，（３）について説明する。
ステップ（１）：ＶＴＳ０１及びＶＴＳ１（コピー・ソース候補）には、同数の処理もしくは待機中のコピージョブ（コピー総数は同数と仮定）が存在している。
ＶＴＳ０は高い優先度、ＶＴＳ１は低い優先度を指定された多くのコピージョブの処理を行っていると仮定する。
ステップ（２）：ターゲットＶＴＳ２は、ＶＴＳ０及びＶＴＳ１（コピー・ソース候補）から公開されているそれぞれのジョブ負荷値を取得する。
コピーソース選択アルゴリズムで、このジョブ負荷値を考慮することにより、最適なコピーソースとしてＶＴＳ１を選択する。
ステップ（２）’：高い優先度のコピージョブを多くもったＶＴＳ０をコピーソースとして選ぶことを回避し、上記のステップ（２）においてＶＴＳ１をコピーソースとして選択する。
ステップ（３）：システム全体において、ジョブ負荷分散を行い、高い優先度をもったコピージョブをより早く完了させる。記憶システム内において、各仮想テープ・サーバは、他のＶＴＳからのコピー要求に基づいて複数のジョブ（データ・ボリューム）の処理中である。本発明の選択方法は、ソースとして１つのＶＴＳを選択した場合のシステム全体のジョブ負荷値（全システム負荷値）を計算し、システム全体のパフォーマンスへの影響を最低限にして、高い優先度ジョブのコピーをより早く完了させることができる。
【００５２】
ステップ（３）において計算される全システム負荷値の計算方法について説明する。記憶システムは、ターゲットＶＴＳ２に対してソースＶＴＳを２つ（ＶＴＳ０，ＶＴＳ１）を含む場合を想定する。ターゲットＶＴＳ２は、ソースＶＴＳ０及びＶＴＳ１にコピー要求を行うと仮定した場合に、記載システム全体の全システム負荷値Ｗｔｏｔを計算する。
１．ターゲットＶＴＳ２の監視時における、活動中のソースＶＴＳ０及び１のジョブの負荷値をＷ０及びＷ１と表す。各ソースＶＴＳはそれぞれ処理中の複数のデータ・ボリュームを処理中である。
２．ターゲットＶＴＳ２は、活動中のＶＴＳ０またはＶＴＳ１に新たなデータ・ボリュームＶｏｌ＃ｔのコピー要求をする。ソースＶＴＳ１及び２それぞれの最終的なジョブ負荷値（最終負荷値）をＷ０’及びＷ１’とする。Ｗ０’及びＷ１’はジョブ負荷値Ｗ０及びＷ１に対して幾らか増分（例えばα、β）する。記憶システム全体の全システム負荷値Ｗｔｏｔを次ように与えられる。
（１）ソースＶＴＳ０に対してジョブＶｏｌ＃ｔを加える場合：
全システム負荷Ｗｔｏｔ＝Ｗ０‘＋Ｗ１；
Ｗ０’＝Ｗ０＋αより、ＶＴＳ０の最終負荷値Ｗ０’はＷ０より大きくなる。
（２）ソースＶＴＳ１に対してジョブＶｏｌ＃ｔを加える場合：
全システム負荷Ｗｔｏｔ＝Ｗ０＋Ｗ１’；
Ｗ１‘＝Ｗ１＋βより、ＶＴＳ１の最終負荷値Ｗ１’はＷ０より大きくなる。
（３）システム全体の全システム負荷値の比較から負荷値が小さいケースを選択する。
本発明の本質は、上記２つケース（１）と（２）のＷｔｏｔの値から小さなケースを選択するというものである。
具体的には、ターゲットＶＴＳ２が２のソースＶＴＳ（ＶＴＳ０、ＶＴＳ１）から最適なソースＶＴＳを選択するアルゴリズムは次の通りである。
・（１）の全システム負荷値Ｗｔｏｔが（２）のものより小さい場合→ターゲットＶＴＳ２はＶＴＳ０をソースとして選択する。
・（２）の全システム負荷値Ｗｔｏｔが（１）のものより小さい場合→ターゲットＶＴＳ２はＶＴＳ１をソースとして選択する。
【００５３】
ステップ（３）の全システム負荷値の計算の実施を、２つ以上例えばｍ個のソースＶＴＳ（ＶＴＳ１〜ＶＴＳｍ；ｍ≧２）を含む場合にも容易に適用できる。記憶システムはターゲットＶＴＳ＃ｔとｍ個のソースＶＴＳ（ＶＴＳ１，ＶＴＳ２，・・・，ＶＴＳｍ−１，ＶＴＳｍ）を含むと想定する。活動中のソースＶＴＳ１〜ＶＴＳｍのジョブの負荷値をＷ１〜Ｗｍと表す。
ターゲットＶＴＳｔは活動中のＶＴＳ１〜ＶＴＳｍに新たなデータ・ボリュームＶｏｌ＃ｔ（特定のデータ）のコピー要求をする。ソースＶＴＳ１〜ＶＴＳｍそれぞれの最終的なジョブ負荷値（最終負荷値）をＷ１’，Ｗ２’，・・・Ｗｍ−１’，Ｗｍ’とする。記憶システム全体について、ｍ個の全システム負荷値Ｗｔｏｔは次ように与えられる。
・ソースＶＴＳ１に対してジョブＶｏｌ＃ｔを加える場合：
Ｗｔｏｔ＝Ｗ１’＋Ｗ２＋・・・＋Ｗ（ｍ−１）＋Ｗｍ；
・ソースＶＴＳ２に対してジョブＶｏｌ＃ｔを加える場合：
Ｗｔｏｔ＝Ｗ１＋Ｗ２’＋・・・＋Ｗ（ｍ−１）＋Ｗｍ；
・
・
・
・ソースＶＴＳ（ｍ−１）に対してジョブＶｏｌ＃ｔを加える場合：
Ｗｔｏｔ＝Ｗ１＋Ｗ２＋・・・＋Ｗ（ｍ−１）’＋Ｗｍ；
・ソースＶＴＳｍに対してジョブＶｏｌ＃ｔを加える場合：
Ｗｔｏｔ＝Ｗ１＋Ｗ２＋・・・＋Ｗ（ｍ−１）＋Ｗｍ’；
ターゲットＶＴＳ＃ｔはこれらのｍ個の全システム負荷値Ｗｔｏｔを対比する。対比の結果として一番小さなＷｔｏｔの場合に、ターゲットＶＴＳ＃ｔはシステム全体の負荷に影響の小さなソースＶＴＳをコピー要求先として選択できる。
【００５４】
一般には各ＶＴＳのジョブ負荷値Ｗは、コピー・キューに保持している処理（仕掛かり）中のジョブ・リストの属性情報により決定される。属性情報には、各ＶＴＳのジョブ処理能力の値（ＲＡ：能力値）と、ジョブ・リストに含まれるデータ・ボリューム数（Ｎ）と、各データ・ボリュームにいての未処理データ量（Ｃ１，Ｃ２）及び優先度（高優先度（Ｈ）及び低優先度（Ｌ））と、その他関連パラメータが含まれる。負荷値は、これらパラメータの関数Ｗ＝Ｗ（Ｈ，Ｌ，Ｃ，ＲＡ）として与えられる。
【００５５】
次に、各ＶＴＳの負荷を計算するモデルとして実施例を与える。
ターゲットＶＴＳは、記憶システム内のソースＶＴＳ単位で、ジョブ処理能力値（ＲＡ）、コピー・キュー内に存在するジョブ（ジョブ数Ｎ、データ・ボリュームＶｏｌｉ＝Ｖｏｌ１，Ｖｏｌ２、Ｖｏｌ３、・・・ＶｏｌＮ）の残データ量（Ｃｉ＝Ｃ１，Ｃ２，Ｃ３、・・・、ＣＮ）および各データのコピー優先度（Ｐｉ＝高優先度（Ｈ）または低優先度（Ｌ））を定期的に参照する。一般に、ターゲットＶＴＳは、ソースＶＴＳの負荷値ＷをＷ＝ΣＣｉ×Ｐｉ／（ＲＡ／Ｎ）として与えられる。Ｈ，Ｌは、それぞれの優先度に対する重み付けであり、ユーザが各論理ボリュームにホストを介してポリシーとして設定できる。処理能力は処理しているジョブに均等に割当てられ、処理中の複数のデータは並列処理される。
【００５６】
図５は、記憶システム全体のジョブ負荷値の計算の実施例を示す。この実施例では、ターゲットＶＴＳ０は、高優先度のデータ・ボリュームのコピー要求をする場合のソースＶＴＳの選択方法である。記憶システムの全体として、ターゲットＶＴＳがこれらのジョブのうち高優先度のジョブを最も早く終了するように２つのソースＶＴＳから１つのものを選択する。システム全体のジョブ負荷のバランスを考慮しながら、優先度の高い複数のジョブのコピージョブ全体の完了時間の平均が最も短縮されるように（Ｈ＝０．８、Ｌ＝０．２）、各ソースＶＴＳのジョブ負荷を計算する。
【００５７】
ターゲットＶＴＳ２がソースＶＴＳ０及び１の負荷値を計算する簡単なモデルを示す。
ソースＶＴＳ０及び１のそれぞれ処理中のデータ数２、１である。理解の説明のため、各データ（処理中データ、追加データ）のデータ量は同一である。ＶＴＳ０及び１のジョブ処理能力の値（処理能力値ＲＡ）は同じとする。能力値ＲＡ＝１として負荷値Ｗ０、Ｗ１、Ｗ０’、Ｗ１’を計算する。各負荷値Ｗの計算において、割当負荷値としてＲＡ／Ｎ（処理中のジョブ数Ｎ＝１，２，３，・・Ｎ）を使用している。各ジョブのデータ量は同一として“１”としＲＡも固定値として“１”として計算している。
【００５８】
図５（ｂ）の場合では、ＶＴＳ０が２つのデータの優先度（Ｈ，Ｈ）であり高優先度であり、ＶＴＳ１の１つのデータの優先度（Ｈ）である。上述したようにＶＴＳの負荷値ＷをＷ＝ΣＣｉ×Ｐｉ／（ＲＡ／Ｎ）で与えられる。全システム負荷値Ｗｔｏｔ（Ｗ０’＋Ｗ１、Ｗ０＋Ｗ１’）の相対的な対比ができれば十分であるため、データ量Ｃｉ、処理能力値ＲＡを１として計算している。
【００５９】
（ｂ）の場合、ターゲットＶＴＳ２はＶＴＳ１をソースとして特定データのコピー要求として選択するとシステム全体としてジョブ負荷を小さくできる。この選択結果は、ＶＴＳ０、ＶＴＳ１の処理中のデータが全て高優先度（Ｈ）で同じ優先度であることから、処理しているデータ数で決定されている
【００６０】
図５（ａ）の場合では、ＶＴＳ０が２つのデータの優先度（Ｌ，Ｌ）であり低優先度であり、ＶＴＳ１の１つのデータの優先度（Ｈ）である。
（ｂ）の場合についても、ＶＴＳ０（Ｗｔｏｔ＝４．４）に比べてＶＴＳ１（Ｗｔｏｔ＝４．０）の選択が全システム負荷を小さい（ａ）の場合と同じ選択結果になっている。しかし（ａ）の場合、ＶＴＳ０及びＶＴＳ１の選択で両者の全システム負荷値が近い値（４４と４０）になっていることがわかる。この結果は、ＶＴＳ０の処理中のデータがＶＴＳ１より多いが、ＶＴＳ０のデータは低優先度Ｌであり、ＶＴＳ１のデータは高優先度Ｈであるからである
【００６１】
図６は、記憶システム全体のジョブ負荷値の計算の実施例を示す。ターゲットＶＴＳ２がソースＶＴＳ０及び１の負荷値を計算する別の簡単なモデルを示す。図５の場合と同じ条件において、ソースＶＴＳ０及び１のそれぞれ処理中のデータ数３（Ｌ、Ｌ，Ｌ）、２（Ｈ，Ｈ）である場合に、優先度（Ｈ、Ｌ）の設定の仕方で、ターゲットＶＴＳ２が選択するソースＶＴＳが変わることを示す。
【００６２】
図６（ａ）の場合では、高優先度Ｈ＝０．９、低優先度Ｌ＝０．１の場合は、ＶＴＳ０の選択が全システム負荷を小さくし、かつ高優先度のジョブを早く処理することを示している。この結果は、ＶＴＳ１の高優先度のジョブを２つ仕掛かっているために、ターゲットＶＴＳ２がＶＴＳ０を選択しＶＴＳ１の高優先度のジョブの処理を優先させている。一方（ｂ）は、Ｈ＝０．６，Ｌ＝０．４とすると、データ処理に平等（Ｈ＝Ｌ＝０．５）に近い場合である。この場合は処理中のジョブ数の少ないＶＴＳ１を選択することが、システム全体の負荷を出来ることを示している。
【００６３】
各ＶＴＳの処理パフォーマンスは、処理能力が同一とすると、処理中のジョブ数に依存する。複数のＶＴＳを含む記憶システム環境では、ホストの特定業務に基づく他のＶＴＳからの複数のコピー要求に各ＶＴＳの仕掛かり中のジョブを多数保持している。通常、ターゲットＶＴＳは、データ２重化のためのバックアップ処理が処理ジョブ数の小さいＶＴＳを選ぶことにより、システム全体の全システムの負荷を小さくできる。しかし、記憶システムの運用者は、優先度の高いジョブを優先的に処理しつつ全システムを負荷の適正化を図りたい場合がある。その運用要求に対して、システム運用者及びユーザは、データ・ボリュームのポリシー設定においてユーザが適宜，各論理ボリュームの優先度（Ｈ，Ｌ）の指定とその重み付け可能である。このような場合は、ターゲットＶＴＳは、図６（ａ）のように、ＶＴＳ１での高優先度（Ｈ）のジョブの処理を速めるために、ＶＴＳ０の選択をすることも可能である。
【００６４】
以上説明された負荷値計算の実施例は例示であり、本発明の選択方法はこれらに限定されるものではない。また、本発明のシステムの構成要素（クラスタ）は、ＶＴＳに限定されず一般の記憶装置（ＣＤ、ＤＶＤ、ＳＳＤ）、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）及びサーバ装置も含まれる。実際の記憶システムにおいて、処理中のそれぞれのジョブ（データ）は異なるデータ量を有している。異なるデータ・ボリュームの処理の場合においても、各データの処理に対して処理能力値（ＲＡ）の均等な割当はされる点は図５及び図６の実施例と同じである。ソースＶＴＳが処理中の全ての各ジョブのコピー処理を同時並列される点は同じである。
【００６５】
以上の本発明によれば、３つ以上の記憶装置を含む記憶システムにおいて、ターゲットＶＴＳはコピー要求をする際に複数のソースＶＴＳからシステム全体の負荷への影響を最小限に止めるソースＶＴＳの選択を可能する有利な効果を有する。システム全体のコピー処理のへの影響を最小限にしつつ、ターゲットＶＴＳが高優先度のジョブを最も早く終了するように複数のソースＶＴＳから１つのものを選択する。
【符号の説明】
【００６６】
２ａ、２ｂ、２ｃ…ホスト
６ａ、６ｂ、６ｃ…ＶＴＳ
８ａ、８ｂ、８ｃ…ＤＡＳＤ
１０ａ、１０ｂ、１０ｃ…テープ・ライブラリ
【図１】
0005385987.tif 000002
【図２】
0005385987.tif 000003
【図３】
0005385987.tif 000004
【図４】
0005385987.tif 000005
【図５】
0005385987.tif 000006
【図６】
0005385987.tif 000007