(57)【要約】【課題】性能改善などの処理が新たに計画された場合、計画済みの処理が実行されることによって、余分な処理である場合がある。【解決手段】ホスト計算機と、複数の記憶デバイスを有して、論理記憶領域を割り当て済み論理記憶領域としてホスト計算機に割り当てるストレージシステムと、に接続する管理計算機であって、ホスト計算機から割り当て済み論理記憶領域の作成に用いられた記憶デバイスまでのＩ／Ｏ経路上に含まれるリソースに関する情報を含む構成情報を格納するメモリと、計算機システムの構成変更を伴う第１の処理が計画される時に、第１の処理の対象となるリソースと、実行目的とを第１の処理と関連づけて管理するプロセッサと、を有し、プロセッサは、第１の処理の対象であるリソースを対象とする他の処理を抽出し、他の処理の対象となるリソースと、実行目的とを参照し、第１の処理を実行する必要があるか否かを判定する。【選択図】図１
2010191524.tif 000002
【特許請求の範囲】
【請求項１】
ホスト計算機と、複数の記憶デバイスを有して前記複数の記憶デバイスから論理記憶領域を作成し、前記作成された論理記憶領域を割り当て済み論理記憶領域として前記ホスト計算機に割り当てるストレージシステムと、に接続する管理計算機であって、
前記ホスト計算機から前記割り当て済み論理記憶領域の作成に用いられた前記複数の記憶デバイスまでのＩ／Ｏ経路上に含まれるリソースに関する情報を含む構成情報を格納するメモリと、
前記計算機システムの構成変更を伴う第１の処理が計画される時に、前記第１の処理の対象となる前記リソースと、前記第１の処理の実行目的とを前記第１の処理と関連づけて管理するプロセッサと、
を有し、
前記プロセッサは、前記第１の処理の対象であるリソースを対象とする他の処理を抽出し、前記抽出された他の処理の対象となる前記リソースと、前記他の処理の実行目的とを参照し、前記第１の処理を実行する必要があるか否かを判定する、
ことを特徴とする管理計算機。
【請求項２】
請求項１記載の管理計算機であって、
前記他の処理は、処理の内容、又は前記処理の実行目的の少なくともいずれかが前記第１の処理とは異なる、第２の処理を含み、
前記第１の処理を実行する必要があるか否かを判定する場合に、前記プロセッサは、前記第２の処理が実行された場合の結果をシミュレートし、前記シミュレートの結果が前記第１の処理の実行目的を達成しているか否かを判定する、
ことを特徴とする管理計算機。
【請求項３】
請求項２記載の管理計算機であって、
前記第１の処理を実行する必要がある否かを判定する場合に、前記他の処理うちの一つの前記他の処理が実行された後、前記プロセッサは、前記第１の処理の実行目的が達成されるか否か判定し、前記第１の処理の実行目的が達成されないと判定された場合、さらに、前記他の処理のうちの一つの前記他の処理が実行された後、前記第１の処理の実行目的が達成されたか否かを判定する、
ことを特徴とする管理計算機。
【請求項４】
請求項１記載の管理計算機であって、
前記他の処理は、前記第１の処理の後に実行される第３の処理を含み、
前記第１の処理を実行する必要がある否かを判定する場合に、前記プロセッサは、前記第３の処理が実行された場合の結果をシミュレートし、前記シミュレートの結果が前記第１の処理の実行目的を達成しているか否かを判定する、
ことを特徴とする管理計算機。
【請求項５】
請求項１記載の管理計算機であって、
前記他の処理は、前記第１の処理と同一の実行目的で、かつ、同時に実行することができない第４の処理を含み、
前記第１の処理を実行する必要がある否かを判定する場合に、前記プロセッサは、前記第４の処理が実行された場合の結果をシミュレートし、前記シミュレートの結果が前記第１の処理の実行目的を達成しているか否かを判定する、
ことを特徴とする管理計算機。
【請求項６】
請求項１記載の管理計算機であって、
前記第１の処理及び前記他の処理は、マイグレーション処理である、
ことを特徴とする管理計算機。
【請求項７】
請求項１記載の管理計算機であって、
前記管理計算機はさらに出力装置を有し、
前記第１の処理を実行する必要がないと判定された場合、前記プロセッサは
（１）前記第１の処理を削除する、
（２）実行する必要のない処理があるが問題ないか否かを確認する旨の通知の出力を前記出力装置に要求する、
（３）前記第１の処理の実行目的を満たすことを、後に実行される前記他の処理によって満たすべきか、または、即時満たすべきかをユーザに問い合わせるべきか、を判断する、
（４）前記第１の処理によって前記第１の処理の実行目的を満たした場合、後に実行される前記他の処理によって実行目的を満たさなくなるが問題ないか否かを確認する旨の通知の出力を前記出力装置に要求する、
のいずれかを実行することを特徴とする管理計算機。
【請求項８】
ストレージシステムと、前記ストレージシステムにアクセスするホスト計算機と、前記ストレージシステム及び前記ホスト計算機を管理する管理計算機とを備える計算機システムにおける処理管理方法であって、
前記ストレージシステムは、一以上の前記記憶デバイスから論理記憶領域を作成し、前記作成された論理記憶領域を、前記ホスト計算機上で稼動するソフトウェアが使用するために割り当て、
前記管理計算機は、前記ホスト計算機から前記ホスト計算機上で稼動するソフトウェアに割り当てられた前記論理記憶領域が作成されている前記記憶デバイスまでのＩ／Ｏ経路上に含まれるリソースに関する情報を含む構成情報を管理し、
前記リソースの構成が変更される第１の処理が計画される時に、前記管理計算機は、前記第１の処理の対象となる前記リソースと、前記第１の処理の実行目的とを前記第１の処理と関連づけて管理し、
前記管理計算機は、前記第１の処理の対象であるリソースを対象とする他の処理を抽出し、
前記管理計算機は、前記抽出された他の処理の対象となる前記リソースと、前記他の処理の実行目的とを参照し、前記第１の処理を実行する必要があるか否かを判定する、
を有することを特徴とする処理管理方法。
【請求項９】
請求項８記載の処理管理方法であって、
前記他の処理は、処理の内容、又は前記処理の実行目的の少なくともいずれかが前記第１の処理とは異なる、第２の処理を含み、
前記第２の処理が実行された場合の結果をシミュレートし、前記シミュレートの結果が前記第１の処理の実行目的を達成しているか否かを判定することで、前記第１の処理を実行する必要があるか否かを判定を行う、
ことを特徴とする処理管理方法。
【請求項１０】
請求項８記載の処理管理方法であって、
前記第１の処理を実行する必要がある否かの判定として、
前記全ての他の処理うちの一つの前記他の処理が実行された後、前記第１の処理の実行目的が達成されるか否かの判定と、
前記第１の処理の実行目的が達成されないと判定された場合、さらに、前記全ての他の処理のうちの一つの前記他の処理が実行された後、前記第１の処理の実行目的が達成されているか否かの判定と、
を行うことを特徴とする処理管理方法。
【請求項１１】
請求項８記載の処理管理方法であって、
前記他の処理は、前記第１の処理の後に実行される第３の処理を含み、
前記第１の処理を実行する必要がある否かの判定として、
前記第３の処理が実行された場合の結果のシミュレートと、
前記シミュレートの結果が前記第１の処理の実行目的を達成しているか否かの判定と、
を行うことを特徴とする処理管理方法。
【請求項１２】
請求項８記載の処理管理方法であって、
前記他の処理は、前記第１の処理と同一の実行目的で、かつ、同時に実行することができない第４の処理を含み、
前記第１の処理を実行する必要がある否かの判定として、
前記第４の処理が実行された場合の結果のシミュレートと、
前記シミュレートの結果が前記第１の処理の実行目的を達成しているか否かの判定と、
を行うことを特徴とする処理管理方法。
【請求項１３】
前記第１の処理及び前記他の処理は、マイグレーション処理であることを特徴とする請求項８に記載の処理管理方法。
【請求項１４】
請求項８記載の処理管理方法であって、
前記第１の処置が実行する必要がないと判定された場合、
（１）前記第１の処理の削除、
（２）実行する必要のない処理があるが問題ないか否かを確認する旨の通知、
（３）前記第１の処理の実行目的を満たすことを、後に実行される前記他の処理によって満たすべきか、又は、即時満たすべきかのユーザに問い合わせ、
（４）前記第１の処理により前記第１の処理の実行目的を満たしても、後に実行される前記他の処理によって実行目的を満たさなくなるが問題ないか否かを確認する旨の通知、
のいずれか一つ以上を含むことを特徴とする処理管理方法。
【請求項１５】
請求項１記載の管理計算機であって、
前記メモリは、
前記構成情報を取得する構成性能情報収集プログラムと、
新たに計画された処理と、前記新たに計画された処理の実行目的と、前記新たに計画された処理の対象となる前記リソースとを関連づけて管理するタスク管理テーブルを作成するタスク管理プログラムと、
新たに計画された処理と計画済みの処理との関連情報を抽出するタスク間関連抽出プログラムと、
前記タスク管理テーブル、及び処理を無条件に実行すべきか否かの優先度を格納するタスク分類テーブルと、
を格納し、
前記プロセッサは、
新たに処理が計画された場合に、前記新たに計画された処理に関する情報を取得し、取得された情報に基づいて、前記タスク管理テーブルに前記新たに計画された処理に関するエントリを作成し、
前記新たに計画された処理の実行目的及び前記新たに計画された処理の対象となる前記リソースを対応づけて管理し、
前記タスク管理テーブルから、前記新たに計画された処理の実行目的を取得し、
前記取得された実行目的に基づいて前記タスク分類テーブルを参照し、前記新たに計画された処理が無条件に実行すべき処理であるか否かを判定し、
前記新たに計画された処理が無条件に実行すべき処理でないと判定された場合、前記タスク管理テーブルを参照し、前記新たに計画された処理の対象であるリソースを対象とする、前記計画済みの処理を抽出し、
前記抽出された計画済みの処理が実行された後の、前記新たに計画された処理の対象のリソースの性能値をシミュレートし、
前記シミュレートの結果が、前記新たに計画された処理の実行目的を達成しているか否かを判定し、
前記シミュレートの結果が、前記新たに計画された処理の実行目的を達成していると判定された場合、前記新たに計画された処理のエントリを前記タスク管理テーブルから削除する、
ことを特徴とする管理計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムを備える計算機システムに関する。特に、ストレージエリアネットワーク（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、以下ＳＡＮと記載する）において、ストレージシステムの提供する機能をタスクとして管理する方法に関する。
【背景技術】
【０００２】
近年、ストレージシステムは、様々な管理機能を提供している。例えば、前述の管理機能は、データマイグレーションがある（例えば、特許文献１及び特許文献２参照）。
【０００３】
データマイグレーションは、任意の物理ディスクから他の物理ディスクに論理ディスクに格納されているデータを移動する技術である。
【０００４】
ストレージシステムは、データマイグレーションを実行するために、ＳＡＮにおける各種性能に関する情報を取得する必要がある。前述のＳＡＮにおける各種性能に関する情報としては、例えば、ＳＡＮにおける計算機上で稼動するソフトウェアが使用している論理ボリュームが属する記憶デバイスまでのＩ／Ｏ経路に含まれるリソースの情報がある。
【０００５】
前述の情報を取得する方法としては、例えば、性能・情報収集プログラムを用いることが考えられる（例えば、特許文献３参照）。
【０００６】
ストレージシステムは、データマイグレーションの他に、データコピー、論理ボリュームに対するパス設定、論理ボリュームへのアクセス禁止設定、及び論理ボリュームデータのシュレッディングなどを管理機能として提供している。
【０００７】
ＳＡＮ管理者は、性能、コスト、容量、アーカイブ、又はリプレースなど、様々な管理の観点に基づいて、ストレージシステムによって提供される各機能を利用する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許出願公開第５９５６７５０号明細書
【特許文献２】米国特許出願公開第６１０８７４８号明細書
【特許文献３】米国特許出願公開第７１２７５５５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ＳＡＮ管理者は、性能、コスト、容量、アーカイブ、又はリプレースなど様々な管理の観点に基づいて、性能改善又は構成変更などの処理（以下、タスクと記載する）を順次実行する。
【００１０】
前述のような環境では、タスク実行の計画からタスク実行の開始までの間にタイムラグが生じる場合がある。前述のタイムラグは、同じリソースに対する処理のために同時に実行できないタスクがある場合、又は、スケジューリングタスクのように非同期的に実行されるタスクがある場合に生じる。
【００１１】
前述のような環境では、例えば、任意のタスク（以下、第２のタスクと記載する）の前に、第２のタスクとは異なる管理の観点に基づいて実行されたタスク（以下、第１のタスクと記載する）の影響によって、第２のタスクの実行が計画された時のストレージシステムの各種情報と、第１のタスクの実行が開始される時のストレージシステムの各種情報とが異なる可能性がある。
【００１２】
前述のような場合、第１のタスクの実行によって、既に性能が改善されたにもかかわらず、余分な第２のタスクを実行する可能性がある。従来は、前述のような不要な管理操作の実行を抑止することが困難であった。
【課題を解決するための手段】
【００１３】
本発明の代表的な一例を示せば以下の通りである。すなわち、ホスト計算機と、複数の記憶デバイスを有して前記複数の記憶デバイスから論理記憶領域を作成し、前記作成された論理記憶領域を割り当て済み論理記憶領域として前記ホスト計算機に割り当てるストレージシステムと、に接続する管理計算機であって、前記ホスト計算機から前記割り当て済み論理記憶領域の作成に用いられた前記複数の記憶デバイスまでのＩ／Ｏ経路上に含まれるリソースに関する情報を含む構成情報を格納するメモリと、前記計算機システムの構成変更を伴う第１の処理が計画される時に、前記第１の処理の対象となる前記リソースと、前記第１の処理の実行目的とを前記第１の処理と関連づけて管理するプロセッサと、を有し、前記プロセッサは、前記第１の処理の対象であるリソースを対象とする他の処理を抽出し、前記抽出された他の処理の対象となる前記リソースと、前記他の処理の実行目的とを参照し、前記第１の処理を実行する必要があるか否かを判定する、ことを特徴とする。
【発明の効果】
【００１４】
本発明の代表的な一形態によれば、余分な処理を排除することができる。これによって、管理者又はシステム管理ソフトウェアが、必要最小限の処理のみを実行できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態のＳＡＮの構成の一例を示すブロック図である。
【図２】本発明の第１の実施形態の管理サーバの構成の一例を示すブロック図である。
【図３】本発明の第１の実施形態のストレージ装置の構成の一例を示すブロック図である。
【図４】本発明の第１の実施形態のホストの構成の一例を示すブロック図である。
【図５】本発明の第１の実施形態のシステム管理リポジトリに格納される、タスク管理テーブルの一例を示す説明図である。
【図６】本発明の第１の実施形態のシステム管理リポジトリに格納される、構成情報テーブルの一例を示す説明図である。
【図７】本発明の第１の実施形態のシステム管理リポジトリに格納される、性能情報テーブルの一例を示す説明図である。
【図８】本発明の第１の実施形態のシステム管理リポジトリに格納される、マイグレーション管理テーブルの一例を示す説明図である。
【図９】本発明の第１の実施形態のシステム管理リポジトリに格納される、タスク分類テーブルの一例を示す説明図である。
【図１０】本発明の第１の実施形態の管理サーバが実行するタスク管理処理の概要の一例を示すフローチャートである。
【図１１】本発明の第１の実施形態の管理サーバに格納されるタスク管理プログラムが新規タスクをタスク管理テーブルに登録する処理の詳細を説明するフローチャートである。
【図１２】本発明の第１の実施形態の管理サーバに格納されるタスク間関連抽出プログラムが新規タスクと計画済みのタスクとの関連を調べる処理の詳細を説明するフローチャートである。
【図１３】本発明の第１の実施形態の管理サーバに格納されるタスク実行判定プログラムが新規タスクを実行すべきか否かを判定する処理の詳細を説明するフローチャートである。
【図１４】本発明の第２の実施形態の管理サーバの構成の一例を示すブロック図である。
【図１５】本発明の第２の実施形態のシステム管理リポジトリに格納される、タスク管理テーブルの一例を示す説明図である。
【図１６】本発明の第２の実施形態の管理サーバに格納されるタスク間関連抽出プログラムが新規タスクと計画済みのタスクとの関連を調べる処理の詳細を説明するフローチャートである。
【図１７】本発明の第２の実施形態の管理サーバに格納されるタスク実行判定プログラムが新規タスクを実行すべきか否かを判定する処理の詳細な説明するフローチャートである。
【図１８】本発明の第３の実施形態の管理サーバの構成の一例を示すブロック図である。
【図１９】本発明の第３の実施形態のシステム管理リポジトリに格納される、タスク管理テーブルの一例を示す説明図である。
【図２０】本発明の第３の実施形態のシステム管理リポジトリに格納される、構成情報テーブルの一例を示す説明図である。
【図２１】本発明の第３の実施形態のシステム管理リポジトリに格納される、マイグレーション管理テーブルの一例を示す説明図である。
【図２２】本発明の第３の実施形態のシステム管理リポジトリに格納される、アクセス管理テーブルの一例を示す説明図である。
【図２３】本発明の第３の実施形態のシステム管理リポジトリに格納される、性能履歴テーブルの一例を示す説明図である。
【図２４】本発明の第３の実施形態の管理サーバに格納されるタスク管理プログラムが新規タスクをタスク管理テーブルに登録する処理の詳細を説明するフローチャートである。
【図２５】本発明の第３の実施形態の管理サーバに格納されるタスク実行判定プログラムが新規タスクを実行すべきか否かを判定する処理の詳細な説明するフローチャートである。
【図２６】本発明の第４の実施形態のＳＡＮの構成の一例を示すブロック図である。
【図２７】本発明の第４の実施形態の管理サーバの構成の一例を示すブロック図である。
【図２８】本発明の第４の実施形態のストレージ装置の構成の一例を示すブロック図である。
【図２９】本発明の第４の実施形態のシステム管理リポジトリに格納される、タスク管理テーブルの一例を示す説明図である。
【図３０】本発明の第４の実施形態のシステム管理リポジトリに格納される、構成情報テーブルの一例を示す説明図である。
【図３１】本発明の第４の実施形態のシステム管理リポジトリに格納される、容量情報テーブルの一例を示す説明図である。
【図３２】本発明の第４の実施形態のシステム管理リポジトリに格納される、マイグレーション管理テーブルの一例を示す説明図である。
【図３３】本発明の第４の実施形態のシステム管理リポジトリに格納される、仮想化プール管理テーブルの一例を示す説明図である。
【図３４】本発明の第４の実施形態の管理サーバに格納されるタスク管理プログラムが新規タスクをタスク管理テーブルに登録する処理の詳細を説明するフローチャートである。
【図３５】本発明の第４の実施形態の管理サーバに格納されるタスク実行判定プログラムが新規タスクを実行すべきか否かを判定する処理の詳細な説明するフローチャートである。
【発明を実施するための形態】
【００１６】
以下に、図面を参照しながら本発明の代表的な実施形態を説明する。尚、本発明は、以下で説明される実施形態に限定されるものではない。
【００１７】
［第１の実施形態］
まず、ＳＡＮの構成について説明する。
【００１８】
図１は、本発明の第１の実施形態のＳＡＮの構成の一例を示すブロック図である。
【００１９】
第１の実施形態におけるＳＡＮは、一台以上のホスト３００００、一台以上のストレージ装置２００００、及び一台以上の管理サーバ１００００を備える。
【００２０】
ストレージ装置２００００は、タスク実行プログラム２１３００を格納する。タスク実行プログラム２１３００は、ストレージ装置２００００が提供する機能を実現するためのプログラムである。
【００２１】
また、ストレージ装置２００００上には、複数の論理ボリューム２２１００が作成され、当該論理ボリューム２２１００は、ホスト３００００に提供される。図１に示す例では、ストレージ装置２００００（ストレージ装置Ａ）は、ホスト３００００（ホストＡ）に対して、論理ボリューム２２１００（ＬＶ１〜ＬＶ４）を提供する。
【００２２】
管理サーバ１００００は、タスク管理プログラム１１１００、タスク間関連抽出プログラム１１２００、及びタスク実行判定プログラム１１３００を格納する。
【００２３】
タスク管理プログラム１１１００は、タスク管理テーブル１１５１０（図２参照）を生成するためのプログラムである。尚、タスク管理プログラム１１１００の処理の詳細については、図１１を用いて後述する。
【００２４】
タスク間関連抽出プログラム１１２００は、新たに計画されたタスクと計画済みのタスクとの関連を調べるプログラムである。尚、タスク間関連抽出プログラム１１２００の処理の詳細については、図１２を用いて後述する。
【００２５】
タスク実行判定プログラム１１３００は、新たに計画されたタスクを実行するか否かを判定するプログラムである。尚、タスク実行判定プログラム１１３００の処理の詳細については、図１３を用いて後述する。
【００２６】
ホスト３００００は、ストレージ装置２００００によって提供された論理ボリューム２２１００を用いて、各種業務を実行する。
【００２７】
ホスト３００００（ホストＡ）とストレージ装置２００００（ストレージ装置Ａ）とは、ファイバチャネル４００００を介して互いに接続される。
【００２８】
管理サーバ１００００（管理サーバＡ）は、管理用ネットワーク５００００を介して、ストレージ装置２００００（ストレージ装置Ａ）及びホスト３００００（ホストＡ）に接続される。管理サーバ１００００（管理サーバＡ）は、管理用ネットワーク５００００を介してタスク実行プログラム２１３００と通信できる。
【００２９】
図１に示す例では、管理サーバ１００００がタスク管理プログラム１１１００、タスク間関連抽出プログラム１１２００、及びタスク実行判定プログラム１１３００を格納しているが、本発明はこれに限定されない。例えば、ストレージ装置２００００又はホスト３００００が、前述のプログラムを格納してもよい。また、各装置間に設置されているスイッチ（図示省略）などの他の装置が、前述のプログラムを格納してもよい。
【００３０】
また、ストレージ装置２００００がタスク実行プログラム２１３００を格納しているが、本発明はこれに限定されない。例えば、管理サーバ１００００又はホスト３００００が、タスク実行プログラム２１３００を格納してもよい。また、各装置間に設置されているスイッチ（図示省略）などの他の装置が、タスク実行プログラム２１３００を格納してもよい。
【００３１】
また、ホスト３００００（ホストＡ）とストレージ装置２００００（ストレージ装置Ａ）との間の接続は、ファイバチャネル４００００を介して直接接続されるものに限定されず、一台以上のファバチャネルスイッチなどのネットワーク機器を介して接続されてもよい。また、ホスト３００００（ホストＡ）とストレージ装置２００００（ストレージ装置Ａ）との間の接続は、データ通信用のネットワークであればよく、例えば、ＩＰネットワークでもよい。
【００３２】
図２は、本発明の第１の実施形態の管理サーバ１００００の構成の一例を示すブロック図である。
【００３３】
管理サーバ１００００は、メモリ１１０００、記憶装置１２０００、入力装置１３０００、出力装置１４０００、プロセッサ１５０００、及び通信装置１６０００を備え、これらは内部バスなどの通信路１７０００を介して互いに接続される。
【００３４】
メモリ１１０００は、タスク管理プログラム１１１００、タスク間関連抽出プログラム１１２００、タスク実行判定プログラム１１３００、構成・性能情報収集プログラム１１４００、及びシステム管理リポジトリ１１５００を格納する。
【００３５】
構成・性能情報収集プログラム１１４００は、ホスト３００００上で稼動するソフトウェア（図示省略）が使用している論理ボリューム２２１００が作成されている物理ディスク２２２００（図３参照）までのＩ／Ｏ経路に含まれるリソースの情報を取得するためのプログラムである。
【００３６】
システム管理リポジトリ１１５００には、タスク管理テーブル１１５１０、構成情報テーブル１１５２０、性能情報テーブル１１５３０、マイグレーション管理テーブル１１５４０、及びタスク分類テーブル１１５５０が格納される。
【００３７】
タスク管理テーブル１１５１０は、タスク種別、タスク実行要因、及びタスクに関連するリソースの情報を格納する。構成情報テーブル１１５２０は、ＳＡＮの構成情報を格納する。性能情報テーブル１１５３０は、ＳＡＮに接続された装置及び当該装置におけるリソースの性能情報を格納する。マイグレーション管理テーブル１１５４０は、マイグレーション処理に関する情報を格納する。タスク分類テーブル１１５５０は、タスクの優先度を格納する。
【００３８】
記憶装置１２０００は、情報を格納するＨＤＤなどである。入力装置１３０００は、ＳＡＮ管理者がタスク管理プログラム１１１００などに指示を入力するためのキーボードなどである。出力装置１４０００は、タスク実行プログラム２１３００の処理の実行結果を出力するディスプレイ装置などである。プロセッサ１５０００は、メモリ１１０００上に展開されているプログラムを実行する。通信装置１６０００は、管理用ネットワーク５００００に接続するための装置である。
【００３９】
図２に示す例では、前述のプログラム及び前述のテーブルは、メモリ１１０００に格納されているが、記憶装置１２０００又は他の記憶媒体（図示省略）に格納されもよい。この場合、プロセッサ１５０００は、プログラム実行時にメモリ１１０００上に前述のプログラム及び前述のテーブルを読み出し、読み出されたプログラムを実行する。
【００４０】
また、ホスト３００００のメモリ３１０００（図４参照）又はストレージ装置２００００のメモリ２１０００（図３参照）に前述のプログラム及び前述のテーブルが格納され、ホスト３００００又はストレージ装置２００００が格納されるプログラムを実行してもよい。また、他のサーバ（図示省略）又はファイバチャネルスイッチ（図示省略）など他の装置が、前述のプログラム及び前述のテーブルを格納し、格納されるプログラムを実行してもよい。
【００４１】
図３は、本発明の第１の実施形態のストレージ装置２００００の構成の一例を示すブロック図である。
【００４２】
ストレージ装置２００００は、メモリ２１０００、論理ボリューム提供部２２０００、ディスクＩ／Ｆ制御部２３０００、管理Ｉ／Ｆ２４０００、プロセッサ２５０００、及びデータＩ／Ｆ２６０００を備え、これらは内部バスなどの通信路２７０００を介して互いに接続される。
【００４３】
メモリ２１０００は、ディスクキャッシュ２１１００、構成情報管理プログラム２１２００、及びタスク実行プログラム２１３００を格納する。
【００４４】
ディスクキャッシュ２１１００は、情報を一時格納するための記憶領域である。構成情報管理プログラム２１２００は、ストレージ装置２００００の管理情報及び性能・容量情報を管理サーバ１００００との間で送受信するためのプログラムである。
【００４５】
タスク実行プログラム２１３００は、ストレージ装置２００００の提供する機能を実行するためのプログラムである。第１の実施形態では、ストレージ装置２００００の提供する機能として、つまり、タスク実行プログラム２１３００によって実行されるタスクとしてデータマイグレーションを考える。
【００４６】
論理ボリューム提供部２２０００は、物理ディスク２２２００を備える。論理ボリューム提供部２２０００は、物理ディスク２２２００の記憶領域を論理的に分割し、当該論理的に分割された記憶領域を論理ボリューム２２１００として提供する。これによって、論理ボリューム２２１００に対する当該ストレージ装置２００００外からのアクセスを可能としている。
【００４７】
尚、物理ディスク２２２００には物理ディスク番号が付され、また、論理ボリューム２２１００には論理ボリューム番号が付される。これによって、ストレージ装置２００００は、物理ディスク２２２００及び論理ボリューム２２１００をそれぞれ一意に識別することができる。図３に示す例では、ストレージ装置２００００には、物理ディスク番号が「ｅ１」及び「ｅ２」の物理ディスク２２２００が２つあり、並びに、論理ボリューム番号が「ＬＶ１〜ＬＶ４」の論理ボリューム２２１００が４つあることが分かる。
【００４８】
図３に示す例では、２つの物理ディスク２２２００（ｅ１、ｅ２）を論理的に分割されて、４つの論理ボリューム２２１００（ＬＶ１〜ＬＶ４）がそれぞれ作成され、当該論理ボリューム２２１００（ＬＶ１〜ＬＶ４）がストレージ装置２００００外の装置（例えば、ホスト３００００）に提供される。
【００４９】
ディスクＩ／Ｆ制御部２３０００は、論理ボリューム提供部２２０００と接続するためのインタフェースである。管理Ｉ／Ｆ２４０００は、管理用ネットワーク５００００と接続するためのインタフェースである。プロセッサ２５０００は、メモリ２１０００上に展開されたプログラムを実行する。
【００５０】
データＩ／Ｆ２６０００は、ファイバチャネル４００００と接続するためのインタフェースである。尚、ディスクＩ／Ｆ制御部２３０００、管理Ｉ／Ｆ２４０００、及びデータＩ／Ｆ２６０００は、複数個あってもよい。図３に示す例では、ストレージ装置２００００は、データＩ／Ｆ（ｐ１）及びデータＩ／Ｆ（ｐ２）の２つのデータＩ／Ｆ２６０００を備える。
【００５１】
図３に示す例では、前述のプログラムは、メモリ２１０００に格納されているが、他の記憶装置（図示省略）又は他の記憶媒体（図示省略）に格納されていてもよい。この場合、プロセッサ２５０００は、処理実行時にメモリ２１０００上に前述のプログラムを読み出し、読み出されたプログラムを実行する。
【００５２】
また、ホスト３００００のメモリ３１０００（図４参照）又はストレージ装置２００００のメモリ２１０００に前述のプログラムが格納され、ホスト３００００又はストレージ装置２００００が格納されるプログラムを実行してもよい。また、他のストレージ装置（図示省略）が、前述のプログラムを格納し、格納されるプログラムを実行してもよい。
【００５３】
また、論理ボリューム提供部２２０００は、複数の物理ディスク２２２００から構成されるＲＡＩＤグループを論理的に分割して論理ボリューム２２１００を作成してもよい。また、論理ボリューム提供部２２０００は、一つの物理ディスク２２２００の全記憶領域を一つの論理ボリューム２２１００として作成してもよい。また、論理ボリューム提供部２２０００は、物理ディスク２２２００以外のフラッシュメモリなどの記憶媒体の記憶領域から論理ボリューム２２１００を作成してもよい。
【００５４】
図４は、本発明の第１の実施形態のホスト３００００の構成の一例を示すブロック図である。
【００５５】
ホスト３００００は、メモリ３１０００、データＩ／Ｆ３２０００、プロセッサ３３０００、及び管理Ｉ／Ｆ３４０００を備え、これらは内部バスなどの通信路３５０００を介して互いに接続される。
【００５６】
メモリ３１０００は、ボリューム管理プログラム３１１００及び業務プログラム３１２００を格納する。
【００５７】
ボリューム管理プログラム３１１００は、ＳＡＮに提供されている論理ボリューム２２１００をホスト３００００に割り当てるためのプログラムである。業務プログラム３１２００は、ホスト３００００が実行する業務を実現するためのプログラムであり、ＤＢＭＳ（Ｄａｔａ  Ｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）、又はファイルシステムなどである。
【００５８】
ホスト３００００は、ボリューム管理プログラム３１１００によって割り当てられた論理ボリューム２２１００を用いて業務を実行する。
【００５９】
データＩ／Ｆ３２０００は、ファイバチャネル４００００と接続するためのインタフェースである。プロセッサ３３０００は、メモリ３１０００上に展開されたプログラムを実行する。管理Ｉ／Ｆ３４０００は、管理用ネットワーク５００００と接続するためのインタフェースである。尚、データＩ／Ｆ３２０００及び管理Ｉ／Ｆ３４０００は、複数個あってもよい。
【００６０】
図４に示す例では、前述のプログラムは、メモリ３１０００に格納されているが、他の記憶装置（図示省略）又は他の記憶媒体（図示省略）に格納されていてもよい。この場合、プロセッサ３３０００は、処理実行時にメモリ３１０００上に前述のプログラムを読み出し、読み出されたプログラムを実行する。
【００６１】
また、ホスト３００００のメモリ３１０００又はストレージ装置２００００のメモリ２１０００に前述のプログラムが格納され、ホスト３００００又はストレージ装置２００００が格納されるプログラムを実行してもよい。また、他のストレージ装置（図示省略）が、前述のプログラムを格納し、格納されるプログラムを実行してもよい。
【００６２】
図５は、本発明の第１の実施形態のシステム管理リポジトリ１１５００に格納される、タスク管理テーブル１１５１０の一例を示す説明図である。
【００６３】
タスク管理テーブル１１５１０は、各タスクについて、その実行目的、処理内容、及びタスクに関連するリソースの情報を格納する。タスク管理プログラム１１１００が実行されることによって、タスク管理テーブル１１５１０にレコードが追加される。
【００６４】
タスク管理テーブル１１５１０は、タスク識別子１１５１１、タスク種別１１５１２、タスク実行要因１１５１３、タスク関連リソース（論理ボリューム）１１５１４、及びタスク関連リソース（物理ディスク）１１５１５を含む。
【００６５】
タスク識別子１１５１１は、タスクを一意に識別するための識別子を格納する。タスク種別１１５１２は、タスクの種別を格納する。タスク実行要因１１５１３は、タスク識別子１１５１１に対応するタスクが実行される契機となった指標及び指標の値が格納される。
【００６６】
タスク関連リソース（論理ボリューム）１１５１４は、タスク識別子１１５１１に対応するタスクに関連する論理ボリューム２２１００を一意に識別するための論理ボリューム番号を格納する。タスク関連リソース（物理ディスク）１１５１５は、タスク識別子１１５１１に対応するタスクに関連する物理ディスク２２２００を一意に識別するための物理ディスク番号が格納する。
【００６７】
図５に示す例では、タスク識別子１１５１１が「Ａ」のタスクは、論理ボリューム番号が「ＬＶ１、ＬＶ３」の論理ボリューム２２１００、及び、物理ディスク番号が「ｅ１、ｅ２」の物理ディスク２２２００を関連リソースとして持つ、データリプレースのためのマイグレーションであることが分かる。また、タスク識別子１１５１１が「Ｂ」のタスクは、論理ボリューム番号が「ＬＶ２、ＬＶ４」の論理ボリューム２２１００、及び、物理ディスク番号が「ｅ１、ｅ２」の物理ディスク２２２００を関連リソースとして持つ、性能劣化に伴う性能改善のためのマイグレーションであることが分かる。
【００６８】
第１の実施形態では、タスク関連リソースとして、論理ボリューム２２１００及び物理ディスク２２２００をあげたが、本発明はこれに限定されない。例えば、関連リソースとして、論理ボリューム２２１００を利用するホスト３００００、当該ホスト３００００から当該論理ボリューム２２１００への書き込みのときにデータが経由するスイッチ（図示省略）、又は、ストレージ装置のデータＩ／Ｆ２６０００などを含めてもよい。
【００６９】
また、関連リソースとして、コピー及びバックアップなどの論理ボリューム２２１００間の設定情報及び設定状態情報などを保持するリソースを含めてもよい。
【００７０】
図６は、本発明の第１の実施形態のシステム管理リポジトリ１１５００に格納される、構成情報テーブル１１５２０の一例を示す説明図である。
【００７１】
構成情報テーブル１１５２０は、論理ボリューム２２１００にホスト３００００がアクセスする場合に経由する、ホスト３００００と当該ホスト３００００に提供された論理ボリューム２２１００が作成されている物理ディスク２２２００との間における経路に関する情報を格納する。構成・性能情報収集プログラム１１４００が実行されることによって、構成情報テーブル１１５２０にレコードが追加される。
【００７２】
構成情報テーブル１１５２０は、ホスト名１１５２１、ボリューム番号１１５２２、ストレージ名１１５２３、データＩ／Ｆ番号１１５２４、論理ボリューム番号１１５２５、及び物理ディスク番号１１５２６を含む。
【００７３】
ホスト名１１５２１は、ホスト３００００を一意に識別するための識別子を格納する。ボリューム番号１１５２２は、ホスト名１１５２１に対応するホスト３００００に提供されたボリュームを一意に識別するための識別子を格納する。尚、当該ボリュームは、ホスト３００００が認識しているボリュームである。
【００７４】
ストレージ名１１５２３は、ボリューム番号１１５２２に対応するボリュームを提供するストレージ装置２００００を一意に識別するための識別子を格納する。データＩ／Ｆ番号１１５２４は、ホスト３００００がボリューム番号１１５２２に対応するボリュームにアクセスするときに利用されるデータＩ／Ｆ２６０００の番号を一意に識別するための識別子を格納する。
【００７５】
論理ボリューム番号１１５２５は、ボリューム番号１１５２２に対応するボリュームが利用する論理ボリューム２２１００を一意に識別するための識別子が格納されている。物理ディスク番号１１５２６は、論理ボリューム番号１１５２５に対応する論理ボリューム２２１００が作成されている物理ディスクを一意に識別するための識別子を格納する。
【００７６】
尚、ホスト名１１５２１及びボリューム番号１１５２２に「−」が格納されているレコードは、ホスト３００００にストレージが割り当てられていないことを示す。
【００７７】
図６に示す例では、ホスト名１１５２１が「ホストＡ」のボリューム番号１１５２２が「１」のボリュームに対して、ストレージ名１１５２３が「ストレージＡ」の物理ディスク番号１１５２６が「ｅ１」の物理ディスク２２２００から作成された論理ボリューム番号１１５２５が「ＬＶ１」が、データＩ／Ｆ番号１１５２４が「ｐ１」のデータＩ／Ｆ２６０００を介して割り当てられていることが分かる。
【００７８】
また、ホスト名１１５２１が「ホストＡ」のボリューム番号１１５２２が「２」のボリュームに対して、ストレージ名１１５２３が「ストレージＡ」の物理ディスク番号１１５２６が「ｅ１」の物理ディスク２２２００から作成された論理ボリューム番号１１５２５が「ＬＶ２」が、データＩ／Ｆ番号１１５２４が「ｐ１」のデータＩ／Ｆ２６０００を介して割り当てられていることが分かる。
【００７９】
また、ストレージ名１１５２３が「ストレージＡ」であるストレージ装置２００００には、ホスト３００００が割り当てられていないことが分かる。また、ストレージ名１１５２３が「ストレージＡ」であるストレージ装置２００００の物理ディスク番号１１５２６が「ｅ２」の物理ディスク２２２００には論理ボリューム番号１１５２５が「ＬＶ３、ＬＶ４」の論理ボリューム２２１００が作成されていることが分かる。
【００８０】
図７は、本発明の第１の実施形態のシステム管理リポジトリ１１５００に格納される、性能情報テーブル１１５３０の一例を示す説明図である。
【００８１】
性能情報テーブル１１５３０は、各ストレージ装置２００００における論理ボリューム２２１００及び物理ディスク２２２００などのＳＡＮ構成要素の性能情報、並びに、ＳＡＮ構成要素の性能閾値を格納する。
【００８２】
ここで、性能閾値とは、Ｉ／Ｏの変化などを監視するために予め管理対象リソースに設定された値を示す。これによって、例えば、運用中に性能情報の値が性能閾値を超えた場合、管理サーバ１００００がユーザへ通報する等のアクションを起こすことができる。
【００８３】
構成・性能情報収集プログラム１１４００が実行されることによって、性能情報テーブル１１５３０にレコードが追加される。
【００８４】
性能情報テーブル１１５３０は、ストレージ名１１５３１、リソース番号１１５３２、リソース性能（ＩＯＰＳ：ＩＯＰｅｒＳｅｃｏｎｄ）１１５３３、及びリソース性能閾値１１５３４を含む。
【００８５】
ストレージ名１１５３１は、図６のストレージ名１１５２３と同一のものである。リソース番号１１５３２は、ストレージ名１１５３１に対応するストレージ装置２００００における論理ボリューム２２１００又は物理ディスク２２２００を一意に識別するための論理ボリューム番号又は物理ディスク番号を格納する。
【００８６】
リソース性能（ＩＯＰＳ）１１５３３は、論理ボリューム２２１００又は物理ディスク２２２００への単位時間（第１の実施形態では、１秒とする。）あたりのＩ／Ｏの数を格納する。リソース性能閾値１１５３４は、リソース番号１１５３２に対応する論理ボリューム２２１００又は物理ディスク２２２００に予め設定された閾値を格納する。
【００８７】
リソース性能閾値１１５３４には、ＳＡＮを構成した時に、予め、当該ＳＡＮの構成から決定された閾値が格納される。また、ＳＡＮ管理者は前述の閾値を適宜変更することができ、リソース性能閾値１１５３４にはＳＡＮ管理者によって変更された閾値が格納される。
【００８８】
第１の実施形態では、リソースの性能情報としてＩＯＰＳを用いたが、ＩＯＲｅｓｐｏｎｓｅＴｉｍｅ、ＲｅａｄＩＯＰｅｒＳｅｃｏｎｄ、ＷｒｉｔｅＩＯＰｅｒＳｅｃｏｎｄ、又はＴｒａｎｓｆｅｒＲａｔｅなどの他の性能情報を用いてもよい。
【００８９】
また、第１の実施形態では、タスク実行による影響をシミュレートするための指標として性能情報を参照するため、管理サーバ１００００は、性能情報テーブル１１５３０を備えているが、本発明はこれに限定されない。例えば、管理サーバ１００００は、容量情報又はコスト情報などの閾値を利用して監視を行うような指標を持つテーブルを備えてもよい。
【００９０】
図８は、本発明の第１の実施形態のシステム管理リポジトリ１１５００に格納される、マイグレーション管理テーブル１１５４０の一例を示す説明図である。
【００９１】
マイグレーション管理テーブル１１５４０は、ストレージ装置２００００が格納するタスク実行プログラムによってマイグレーションが実行される時に必要な情報を格納する。これによって、管理サーバ１００００は、タスクとタスク種別毎の詳細情報とを関連づけて管理することができる。マイグレーション管理テーブルは、タスク管理プログラム１１１００が実行されるとによって、マイグレーション管理テーブル１１５４０にレコードが追加される。
【００９２】
マイグレーション管理テーブル１１５４０は、マイグレーション番号１１５４１、マイグレーション元ボリューム１１５４２、マイグレーション先ボリューム１１５４３、及びタスク識別子１１５４４を含む。
【００９３】
マイグレーション番号１１５４１は、マイグレーション処理を一意に識別するための識別子を格納する。マイグレーション元ボリューム１１５４２は、マイグレーション処理における移動元の論理ボリューム２２１００の論理ボリューム番号を格納する。マイグレーション先ボリューム１１５４３は、マイグレーション処理における移動先の論理ボリューム２２１００の論理ボリューム番号を格納する。タスク識別子１１５４４は、図５のタスク識別子１１５１１と同一のものである。
【００９４】
図８に示す例では、論理ボリューム番号が「ＬＶ１」の論理ボリューム２２１００から論理ボリューム番号が「ＬＶ３」の論理ボリューム２２１００へのマイグレーションと、論理ボリューム番号が「ＬＶ２」の論理ボリューム２２１００から論理ボリューム番号が「ＬＶ４」の論理ボリューム２２１００へのマイグレーションが登録されていることが分かる。
【００９５】
第１の実施形態では、タスクの一例としてマイグレーションを考えているため、管理サーバ１００００はマイグレーション管理テーブル１１５４０を備えているが、本発明はこれに限定されない。例えば、管理サーバ１００００は、コピー又はパス設定など他の機能をタスクとして管理し、各機能に対応する管理テーブルを備えていてもよい。
【００９６】
図９は、本発明の第１の実施形態のシステム管理リポジトリ１１５００に格納される、タスク分類テーブル１１５５０の一例を示す説明図である。
【００９７】
タスク分類テーブル１１５５０は、ユーザ入力、又は各タスクの優先度について予め規定されたルールに基づいて、レコードが作成されるテーブルである。
【００９８】
タスク分類テーブル１１５５０は、タスク種別１１５５１、タスク実行要因１１５５２、及びタスク優先度１１５５３を含む。
【００９９】
タスク種別１１５５１は、図５のタスク種別１１５１２と同一のものである。タスク実行要因１１５５２は、図５のタスク実行要因１１５１３と同一のものである。
【０１００】
タスク優先度１１５５３は、タスク種別１１５５１に対応するタスクを必ず実行するか否かを示す情報を格納する。具体的には、タスク優先度１１５５３には、「無条件」又は「条件付き」のいずれかが格納され、「無条件」は必ず実行するタスクであることを示し、「条件付き」は実行するか否かが判定されるタスクであることを示す。
【０１０１】
尚、タスク実行要因１１５５２が「Ａｕｔｏ」であるレコードは、タスクの実行が閾値監視に基づいたものではない、又はタスク実行要因を取得できなかった場合を示している。この場合、当該レコードのタスク優先度１１５５３には、「無条件」が格納される。
【０１０２】
図９に示す例では、ＩＯＰＳ及びＩＯＲｅｓｐｏｎｓｅＴｉｍｅなどの性能情報、ＤｉｓｋＳｐａｃｅなどの容量情報、並びにＢｉｔＣｏｓｔなどのコスト情報の閾値に基づくマイグレーションタスクのタスク優先度１１５５３には「条件付き」が格納され、自動実行されるマイグレーションタスク及びパス設定タスクのタスク優先度１１５５３には「無条件」が格納されていることが分かる。
【０１０３】
次に、管理サーバ１００００が実行するタスク管理処理について説明する。
【０１０４】
図１０は、本発明の第１の実施形態の管理サーバ１００００が実行するタスク管理処理の概要の一例を示すフローチャートである。
【０１０５】
管理サーバ１００００のプロセッサ１５０００がメモリ１１０００上に展開された各プログラムを実行することによって、タスク管理処理１０００が実行される。
【０１０６】
まず、ユーザ又は任意のプログラムがタスク管理プログラム１１１００を実行することによって、新規タスクが計画され、管理サーバ１００００は当該新規タスクに関する情報を受信する。（ステップ１００１）。
【０１０７】
次に、管理サーバ１００００は、タスク管理プログラム１１１００を実行し、受信した新規タスクに関する情報に基づいて、新規タスクをタスク管理テーブル１１５１０に登録する（ステップ１００２）。
【０１０８】
次に、管理サーバ１００００は、タスク間関連抽出プログラム１１２００を実行し、新規タスクと計画済みのタスクとの関連を調べる（ステップ１００３）。
【０１０９】
管理サーバ１００００は、タスク実行判定プログラム１１３００を実行し、新規タスクを実行するか否かを判定する（ステップ１００４）。以下、ステップ１００２〜ステップ１００４の各処理の詳細について説明する。
【０１１０】
図１１は、本発明の第１の実施形態の管理サーバ１００００に格納されるタスク管理プログラム１１１００が新規タスクをタスク管理テーブルに登録する処理（ステップ１００２）の詳細を説明するフローチャートである。
【０１１１】
タスク管理プログラム１１１００は、ユーザ又は任意のプログラムから新たに計画されたタスクのタスク情報を受信する（ステップ１００２１）。当該タスク情報には、マイグレーション番号、マイグレーション元論理ボリューム、マイグレーション先論理ボリュームに関する情報が含まれる。
【０１１２】
タスク管理プログラム１１１００は、受信したタスク情報に基づいて、マイグレーション管理テーブル１１５４０に新規エントリを作成し、マイグレーション番号１１５４１、マイグレーション元ボリューム１１５４２、マイグレーション先ボリューム１１５４３、及びタスク識別子１１５４４を設定する（ステップ１００２２）。
【０１１３】
タスク管理プログラム１１１００は、受信したタスク情報に基づいて、タスク管理テーブル１１５１０に新規エントリを作成し、タスク種別１１５１２及びタスク識別子１１５１１を設定する（ステップ１００２３）。尚、タスク識別子１１５１１には、マイグレーション管理テーブル１１５４０のタスク識別子１１５４４と同一の識別子が設定される。
【０１１４】
タスク管理プログラム１１１００は、マイグレーション管理テーブル１１５４０を参照し、タスク識別子１１５１１に対応するタスクの処理対象となるリソースの情報を取得する（ステップ１００２４）。
【０１１５】
タスク管理プログラム１１１００は、取得されたタスクの処理対象となるリソースの情報を参照し、当該リソースと構成上又は設定上関連するリソースを構成情報テーブル１１５２０から取得し、取得されたリソースに関する情報をタスク管理テーブル１１５１０のタスク関連リソース１１５１４、１１５１５にそれぞれ設定する（ステップ１００２５）。これによって、マイグレーションの処理対象である論理ボリューム２２１００だけではなく、当該論理ボリューム２２１００が作成されている物理ディスク２２２００についても関連リソースとして設定される。
【０１１６】
次に、タスク管理プログラム１１１００は、新たに計画されたタスクがユーザによって計画されたタスクであるか否かを判定する（ステップ１００２６）。
【０１１７】
新たに計画されたタスクがユーザによって計画されたタスクであると判定された場合、タスク管理プログラム１１１００は、タスク実行の目的についてユーザ入力を要求し（ステップ１００２７）、ユーザ入力の結果をタスク管理テーブル１１５１０のタスク実行要因１１５１３に設定し（ステップ１００２８）、処理を終了する。
【０１１８】
ステップ１００２６において、新たに計画されたタスクがユーザによって計画されたタスクでないと判定された場合、つまり、任意のプログラムによって計画されたタスクであると判定された場合、タスク管理プログラム１１１００は、タスク情報を送信してきたプログラムからタスク実行が計画された契機を取得し、取得されたタスク実行が計画された契機をタスク管理テーブル１１５１０のタスク実行要因１１５１３に設定し（ステップ１００２９）、処理を終了する。
【０１１９】
以上の処理によって、タスク管理テーブル１１５１０が作成される。
【０１２０】
図１２は、本発明の第１の実施形態の管理サーバ１００００に格納されるタスク間関連抽出プログラム１１２００が新規タスクと計画済みのタスクとの関連を調べる処理（ステップ１００３）の詳細を説明するフローチャートである。
【０１２１】
タスク間関連抽出プログラム１１２００は、タスク管理テーブル１１５１０から新規タスクのタスク実行要因１１５１３を取得する（ステップ１００３１）。
【０１２２】
次に、タスク間関連抽出プログラム１１２００は、タスク分類テーブル１１５５０からタスク優先度１１５５３を取得する（ステップ１００３２）。
【０１２３】
タスク間関連抽出プログラム１１２００は、新規タスクが無条件に実行されるタスク（以下、無条件タスクと記載する。）であるか、又は条件に応じて実行を判断すべきタスク（以下、条件付きタスクと記載する。）であるかを判定する（ステップ１００３３）。つまり、タスク間関連抽出プログラム１１２００は、新規タスクのタスク優先度１１５５３が「無条件」であるか又は「条件付き」であるかを判定する。
【０１２４】
ここで、無条件タスクは、確実に実行する必要のあるタスクを意味し、条件付きタスクは、タスク実行要因１１５１３が解決された場合、実行する必要のないタスクを意味する。
【０１２５】
新規タスクが無条件タスクであると判定された場合、タスク間関連抽出プログラム１１２００は、処理を終了する。
【０１２６】
ステップ１００３３において、新規タスクが条件付きタスクであると判定された場合、タスク間関連抽出プログラム１１２００は、タスク管理テーブル１１５１０から新規タスクの関連リソースを取得する（ステップ１００３４）。具体的には、タスク間関連抽出プログラム１１２００は、タスク関連リソース（論理ボリューム）１１５１４及びタスク関連リソース（物理ディスク）１１５１５を取得する。
【０１２７】
次に、タスク間関連抽出プログラム１１２００は、タスク管理テーブル１１５１０の各レコードに対して以下の処理を実行する（ステップ１００３５）。
【０１２８】
タスク間関連抽出プログラム１１２００は、タスク管理テーブル１１５１０から、計画済みタスクの関連リソース（この場合、タスク関連リソース（論理ボリューム）１１５１４及びタスク関連リソース（物理ディスク）１１５１５）を取得する（ステップ１００３６）。
【０１２９】
次に、タスク間関連抽出プログラム１１２００は、新規タスクの関連リソースと計画済みタスクの関連リソースとを比較し、同一のリソースが含まれるか否かを判定する（ステップ１００３７）。
【０１３０】
計画済みタスクの関連リソースに新規タスクの関連リソースと同一のリソースが含まれないと判定された場合、タスク間関連抽出プログラム１１２００は、ステップ１００３９に進む。
【０１３１】
ステップ１００３７において、計画済みタスクの関連リソースに新規タスクの関連リソースと同一のリソースが含まれると判定された場合、タスク間関連抽出プログラム１１２００は、計画済みのタスクを新規タスクと関連するタスクとしてタスク管理テーブル１１５１０から抽出する（ステップ１００３８）。抽出される計画済みのタスクの情報としては、新規タスクと関連する計画済みのタスクのタスク識別子１１５１１が考えられる。また、抽出された計画済みのタスク情報は、例えば、メモリ１１０００に格納される。
【０１３２】
タスク間関連抽出プログラム１１２００は、タスク管理テーブル１１５１０の全てのエントリについて処理が終了したか否かを判定する（ステップ１００３９）。
【０１３３】
タスク管理テーブル１１５１０の全てのエントリについて処理が終了していないと判定された場合、タスク間関連抽出プログラム１１２００は、ステップ１００３５に戻り、ステップ１００３５〜ステップ１００３９までの処理を実行する。
【０１３４】
ステップ１００３９において、タスク管理テーブル１１５１０の全てのエントリについて処理が終了したと判定された場合、タスク間関連抽出プログラム１１２００は、処理を終了する。
【０１３５】
以上の処理のよって、新規タスクと関連する計画済みタスクが抽出される。
【０１３６】
図１３は、本発明の第１の実施形態の管理サーバ１００００に格納されるタスク実行判定プログラム１１３００が新規タスクを実行すべきか否かを判定する処理（ステップ１００４）の詳細を説明するフローチャートである。
【０１３７】
まず、タスク実行判定プログラム１１３００は、タスク間関連抽出プログラム１１２００を実行することによって抽出された計画済みタスクを取得する（ステップ１００４１）。
【０１３８】
次に、タスク実行判定プログラム１１３００は、ステップ１００４１において取得された各計画済みタスクに対して、以下の処理を実行する（ステップ１００４２）。
【０１３９】
タスク実行判定プログラム１１３００は、取得された各計画済みタスクに関する情報（この場合は、計画済みタスクのタスク識別子１１５１１）を参照して、計画済みタスクの関連リソース（この場合は、タスク関連リソース（論理ボリューム）１１５１４及びタスク関連リソース（物理ディスク）１１５１５）をタスク管理テーブル１１５１０から取得する（ステップ１００４３）。
【０１４０】
次に、タスク実行判定プログラム１１３００は、取得された計画済みタスクの関連リソース（この場合は、タスク関連リソース（論理ボリューム）１１５１４及びタスク関連リソース（物理ディスク）１１５１５）を参照して、性能情報テーブル１１５３０から取得された各関連リソースの性能情報（この場合は、リソース性能（ＩＯＰＳ）１１５３３）を取得する（ステップ１００４４）。
【０１４１】
タスク実行判定プログラム１１３００は、計画済みタスクを実行した場合の各関連リソースの性能値をシミュレートする（ステップ１００４５）。
【０１４２】
次に、タスク実行判定プログラム１１３００は、取得された全ての計画済みタスクに対して処理が実行された否かを判定する（ステップ１００４６）。
【０１４３】
取得された全ての計画済みタスクに対して処理が実行されていないと判定された場合、タスク実行判定プログラム１１３００は、ステップ１００４２に戻り、ステップ１００４２〜ステップ１００４６の処理を実行する。
【０１４４】
ステップ１００４６において、取得された全ての計画済みタスクに対して処理が実行されたと判定された場合、タスク実行判定プログラム１１３００は、新規タスクの関連リソース（この場合、タスク関連リソース（論理ボリューム）１１５１４及びタスク関連リソース（物理ディスク）１１５１５）をタスク管理テーブル１１５１０から取得する（ステップ１００４７）。
【０１４５】
次に、タスク実行判定プログラム１１３００は、ステップ１００４７において取得された新規タスクの関連リソース（この場合は、タスク関連リソース（論理ボリューム）１１５１４及びタスク関連リソース（物理ディスク）１１５１５）を参照して、取得された新規タスクの各関連リソースの性能閾値（この場合は、リソース性能（ＩＯＰＳ）１１５３３）を性能情報テーブル１１５３０から取得する（ステップ１００４８）。
【０１４６】
次に、タスク実行判定プログラム１１３００は、新規タスクの全ての関連リソースに対して、シミュレートされた計画済みのタスクの関連リソースの性能値が、取得された新規タスクの関連リソースの性能閾値を満たしているか否かを判定する（ステップ１００４９）。
【０１４７】
ステップ１００４９における条件を満たしていると判定された場合、タスク実行判定プログラム１１３００は、新規タスクのレコードをタスク管理テーブル１１５１０及びマイグレーション管理テーブル１１５４０から削除し（ステップ１００５０）、処理を終了する。
【０１４８】
ステップ１００４９における条件を満たしていないと判定された場合、タスク実行判定プログラム１１３００は、処理を終了する。
【０１４９】
尚、ステップ１００５０において、タスク実行判定プログラム１１３００は、タスク管理テーブル１１５１０及びマイグレーション管理テーブル１１５４０から新規タスクのレコードを削除する代わりに、余分な処理が実行されるが問題ないか否かの警告をユーザに出してもよい。
【０１５０】
また、計画済みタスクよりも先に新規タスクが実行される場合には、タスク実行判定プログラム１１３００は、計画済みタスクによって余分な処理なく実行目的を満たすことを望むか、又は新規タスクの実行によって、より早く実行目的を満たすことを望むか、をユーザに問い合わせてもよい。新規タスクが即時実行タスクで、計画済みタスクがスケジューリングタスクなどの場合などがこれにあたる。
【０１５１】
第１の実施形態では、「タスクＢ」が新規タスクとして計画され、「タスクＡ」が新規タスクに関連する計画済みタスクとして抽出される。
【０１５２】
この場合、タスク実行判定プログラム１１３００は、「タスクＡ」における関連リソースである論理ボリューム２２１００（ＬＶ１、ＬＶ２）、及び物理ディスク２２２００（ｅ１、ｅ２）について、論理ボリューム２２１００（ＬＶ１）から論理ボリューム２２１００（ＬＶ３）へマイグレーションさせた場合の関連リソース性能値をシミュレートすることによって、論理ボリューム２２１００（ＬＶ１）のＩＯＰＳが１０から０になり、論理ボリューム２２１００（ＬＶ３）のＩＯＰＳが０から１０になり、物理ディスク２２２００（ｅ１）のＩＯＰＳが３０から２０になり、物理ディスク２２２００（ｅ２）のＩＯＰＳが０から１０になることが予測できる。
【０１５３】
尚、ステップ１００４５において、マイグレーション元のリソースにおけるＩＯＰＳの値を、マイグレーション先のリソースのＩＯＰＳに移すというシミュレートを行っているが、本発明はこれに限定されず、過去の履歴情報を利用するなど他の方法を用いてシミュレートを行ってもよい。
【０１５４】
ステップ１００４５におけるシミュレーションの結果、タスク実行判定プログラム１１３００は、新規タスクである「タスクＢ」の関連リソースの論理ボリューム２２１００（ＬＶ２、ＬＶ４）、及び物理ディスク２２２００（ｅ１、ｅ２）の性能閾値が満たされていることがわかるため、「タスクＢ」を余分なタスクとして排除することができる。
【０１５５】
本発明の第１の実施形態によれば、タスクの実行要因、及びタスクと構成上又は設定上関連するリソースを付加情報としてタスクに関連付けて管理することによって、管理サーバ１００００は、新規タスクとは別の管理の観点に基づいて計画されたタスクの影響を含めてシミュレートし、新規タスクの実行が必要か否かを判定できる。これによって、実行が必要ないと判定された新規タスクを排除することができる。
【０１５６】
［第２の実施形態］
本発明の第２の実施形態について説明する。以下の説明では、本発明の第１の実施形態との差異を中心に説明する。
【０１５７】
第２の実施形態におけるＳＡＮの構成、ストレージ装置２００００の構成、及びホスト３００００の構成は、それぞれ第１の実施形態で示した図１、図３、及び図４と同一であるため、説明を省略する。
【０１５８】
図１４は、本発明の第２の実施形態の管理サーバ１００００の構成の一例を示すブロック図である。
【０１５９】
管理サーバ１００００は、メモリ１１０００、記憶装置１２０００、入力装置１３０００、出力装置１４０００、プロセッサ１５０００、及び通信装置１６０００を備え、これらは内部バスなどの通信路１７０００を介して互いに接続される。
【０１６０】
メモリ１１０００は、タスク管理プログラム１１１００、タスク間関連抽出プログラム１１２１０、タスク実行判定プログラム１１３１０、構成・性能情報収集プログラム１１４００、及びシステム管理リポジトリ１１５００を格納する。
【０１６１】
タスク管理プログラム１１１００、及び構成・性能情報収集プログラム１１４００は、第１の実施形態と同一のものである。タスク間関連抽出プログラム１１２１０、及びタスク実行判定プログラム１１３１０の具体的な処理については、図１６及び図１７を用いて後述する。
【０１６２】
システム管理リポジトリ１１５００には、タスク管理テーブル１１５１１０、構成情報テーブル１１５２０、性能情報テーブル１１５３０、及びマイグレーション管理テーブル１１５４０が格納される。
【０１６３】
タスク管理テーブル１１５１１０は、タスク種別、タスク実行要因、及びタスクに関連するリソースの情報を格納する。構成情報テーブル１１５２０は、ＳＡＮの構成情報を格納する。性能情報テーブル１１５３０は、ＳＡＮに接続された装置及び当該装置におけるリソースの性能情報を格納する。
【０１６４】
構成情報テーブル１１５２０、性能情報テーブル１１５３０、及びマイグレーション管理テーブル１１５４０は、第１の実施形態で示した図６、図７、及び図８と同一であるため、説明を省略する。タスク管理テーブル１１５１１０の詳細については、図１５を用いて後述する。
【０１６５】
記憶装置１２０００は、情報を格納するＨＤＤなどである。入力装置１３０００は、ＳＡＮ管理者がタスク管理プログラム１１１００などに指示を入力するためのキーボードなどである。出力装置１４０００は、タスク実行プログラム２１３００の処理の実行結果を出力するディスプレイ装置などである。プロセッサ１５０００は、メモリ１１０００上に展開されているプログラムを実行する。通信装置１６０００は、管理用ネットワーク５００００に接続するための装置である。
【０１６６】
記憶装置１２０００、入力装置１３０００、出力装置１４０００、プロセッサ１５０００、及び通信装置１６０００は、第１の実施形態と同一のものである。
【０１６７】
図１４に示す例では、前述のプログラム及び前述のテーブルは、メモリ１１０００に格納されているが、記憶装置１２０００又は他の記憶媒体（図示省略）に格納されもよい。この場合、プロセッサ１５０００は、プログラム実行時にメモリ１１０００上に前述のプログラム及び前述のテーブルを読み出し、読み出されたプログラムを実行する。
【０１６８】
また、ホスト３００００のメモリ３１０００又はストレージ装置２００００のメモリ２１０００に前述のプログラム及び前述のテーブルが格納され、ホスト３００００又はストレージ装置２００００が格納されるプログラムを実行してもよい。また、他のサーバ（図示省略）又はファイバチャネルスイッチ（図示省略）など他の装置が、前述のプログラム及び前述のテーブルを格納し、格納されるプログラムを実行してもよい。
【０１６９】
図１５は、本発明の第２の実施形態のシステム管理リポジトリ１１５００に格納される、タスク管理テーブル１１５１１０の一例を示す説明図である。
【０１７０】
タスク管理テーブル１１５１１０は、各タスクについて、その実行目的、処理内容、タスクに関連するリソースの情報、及びタスク状態を格納する。タスク管理プログラム１１１００が実行されることによって、タスク管理テーブル１１５１１０にレコードが追加される。
【０１７１】
タスク管理テーブル１１５１１０は、タスク識別子１１５１１１、タスク種別１１５１１２、タスク実行要因１１５１１３、タスク関連リソース（論理ボリューム）１１５１１４、タスク関連リソース（物理ディスク）１１５１１５、及びタスク状態１１５１１６を含む。
【０１７２】
タスク識別子１１５１１１は、タスクを一意に識別するための識別子を格納する。タスク種別１１５１１２は、タスクの種別を格納する。タスク実行要因１１５１１３は、タスク識別子１１５１１１に対応するタスクが実行される契機となった指標及び指標の値が格納される。
【０１７３】
タスク関連リソース（論理ボリューム）１１５１１４は、タスク識別子１１５１１１に対応するタスクに関連する論理ボリューム２２１００を一意に識別するための論理ボリューム番号を格納する。タスク関連リソース（物理ディスク）１１５１１５は、タスク識別子１１５１１に対応するタスクに関連する物理ディスク２２２００を一意に識別するための物理ディスク番号が格納される。
【０１７４】
タスク状態１１５１１６は、タスクの実行状態を示す情報を格納する。具体的には、タスク状態１１５１１６には、「Ｐｒｏｃｅｓｓｉｎｇ」、「Ｒｅａｄｙ」、又は「Ｗａｉｔｉｎｇ」のいずれかが格納される。「Ｐｒｏｃｅｓｓｉｎｇ」はタスク識別子１１５１１１に対応するタスクが実行されている状態を示し、「Ｒｅａｄｙ」はタスク識別子１１５１１１に対応するタスクが実行可能である状態を示し、また、「Ｗａｉｔｉｎｇ」はタスク識別子１１５１１１に対応するタスクの実行が一時保留されている状態を示す。
【０１７５】
第２の実施形態では、タスクの完了に伴って、タスク管理テーブル１１５１１０及びマイグレーション管理テーブル１１５４０から完了したタスクに該当するエントリが削除される。
【０１７６】
第２の実施形態では、タスク関連リソースとして、論理ボリューム２２１００及び物理ディスク２２２００をあげたが、本発明はこれに限定されない。例えば、関連リソースとして、論理ボリューム２２１００を利用するホスト３００００、当該ホスト３００００から当該論理ボリューム２２１００への書き込みのときにデータが経由するスイッチ（図示省略）、又は、ストレージ装置のデータＩ／Ｆ２６０００などを含めてもよい。
【０１７７】
また、関連リソースとして、コピー及びバックアップなどの論理ボリューム２２１００間の設定情報及び設定状態情報などを保持するリソースを含めてもよい。
【０１７８】
次に、管理サーバ１００００上の各プログラムによって実行されるタスク管理処理について説明する。尚、ステップ１００１及びステップ１００２は、第１の実施形態と同一であるため、説明を省略する。以下、ステップ１００３及びステップ１００４について、第１の実施形態との差異を中心に説明する。
【０１７９】
図１６は、本発明の第２の実施形態の管理サーバ１００００に格納されるタスク間関連抽出プログラム１１２１０が新規タスクと計画済みのタスクとの関連を調べる処理（ステップ１００３）の詳細を説明するフローチャートである。
【０１８０】
まず、タスク間関連抽出プログラム１１２１０は、タスク管理テーブル１１５１１０から新規タスクのタスク実行要因１１５１１３を取得する（ステップ１００３１１）。
【０１８１】
次に、タスク間関連抽出プログラム１１２１０は、タスク管理テーブル１１５１１０の各レコードに対して以下の処理を実行する（ステップ１００３１２）。具体的には、タスク管理テーブル１１５１１０から任意のレコードが選択され、選択されたタスクについて、以下の処理が実行される。
【０１８２】
まず、タスク間関連抽出プログラム１１２１０は、タスク管理テーブル１１５１１０から選択されたタスクのタスク実行要因１１５１１３を取得する（ステップ１００３１３）。
【０１８３】
次に、タスク間関連抽出プログラム１１２１０は、新規タスクのタスク実行要因１１５１１３と、選択されたタスクのタスク実行要因１１５１１３とが同一であるか否かを判定する（ステップ１００３１４）。
【０１８４】
当該判定では、タスクが実行される契機となった指標及び指標の値が同一の場合、タスク間関連抽出プログラム１１２１０は、新規タスクのタスク実行要因１１５１１３と、選択されたタスクのタスク実行要因１１５１１３とが同一であると判定してもよいし、タスクが実行される契機となった指標が同一の場合、タスク間関連抽出プログラム１１２１０は、新規タスクのタスク実行要因１１５１１３と、選択されたタスクのタスク実行要因１１５１１３とが同一であると判定してもよい。
【０１８５】
新規タスクのタスク実行要因１１５１１３と、選択されたタスクのタスク実行要因１１５１１３とが同一であると判定された場合、タスク間関連抽出プログラム１１２１０は、新規タスクのタスク状態１１５１１６を「Ｗａｉｔｉｎｇ」に設定し（ステップ１００３１６）、処理は終了する。
【０１８６】
これによって、新規タスクの実行を一時保留の状態になる。これは、新規タスクと同一のタスク実行要因１１５１１３であるタスクを実行することによって、新規タスクにおけるタスク実行要因１１５１１３が既に解決済みである可能性があるためである。
【０１８７】
ステップ１００３１４において、新規タスクのタスク実行要因１１５１１３と、選択されたタスクのタスク実行要因１１５１１３とが同一でないと判定された場合、タスク間関連抽出プログラム１１２１０は、新規タスクのタスク状態１１５１１６を「Ｒｅａｄｙ」に設定し（ステップ１００３１５）、ステップ１００３１７に進む。
【０１８８】
タスク間関連抽出プログラム１１２１０は、タスク管理テーブル１１５１１０の全てのレコードに対して処理を実行したか否かを判定する（ステップ１００３１７）。
【０１８９】
タスク管理テーブル１１５１１０の全てのレコードに対して処理を実行していないと判定された場合、タスク間関連抽出プログラム１１２１０は、ステップ１００３１２に戻り、ステップ１００３１２〜ステップ１００３１７までの処理を実行する。
【０１９０】
タスク管理テーブル１１５１１０の全てのレコードに対して処理を実行したと判定された場合、タスク間関連抽出プログラム１１２１０は、タスク実行プログラム２１３００に新規タスクの実行要求を送信し（ステップ１００３１８）、処理は終了する。
【０１９１】
図１７は、本発明の第２の実施形態の管理サーバ１００００に格納されるタスク実行判定プログラム１１３１０が新規タスクを実行すべきか否かを判定する処理（ステップ１００４）の詳細な説明するフローチャートである。
【０１９２】
タスク実行判定プログラム１１３１０は、ストレージ装置２００００のタスク実行プログラム２１３００からタスクの完了を受信する（ステップ１００４１１）。当該タスクは、具体的には、タスク状態１１５１１６が「Ｐｒｏｃｅｓｓｉｎｇ」のタスクである。
【０１９３】
次に、タスク実行判定プログラム１１３１０は、タスク管理テーブル１１５１１０の各レコードに対して、以下の処理を実行する（ステップ１００４１２）。具体的には、タスク管理テーブル１１５１１０から任意のレコードが選択され、選択されたタスクについて、以下の処理が実行される。
【０１９４】
まず、タスク実行判定プログラム１１３１０は、タスク管理テーブル１１５１１０を参照し、選択されたタスクのタスク状態１１５１１６が「Ｗａｉｔｉｎｇ」（以下、待ち状態タスクと記載する）であるか否かを判定する（ステップ１００４１３）。
【０１９５】
選択されたタスクが待ち状態タスクでないと判定された場合、タスク実行判定プログラム１１３１０は、ステップ１００４２０に進む。
【０１９６】
ステップ１００４１３において、選択されたタスクが待ち状態タスクがあると判定された場合、タスク実行判定プログラム１１３１０は、待ち状態タスクの関連リソース（この場合、タスク関連リソース（論理ボリューム）１１５１１４及びタスク関連リソース（物理ディスク）１１５１１５）をタスク管理テーブル１１５１１０から取得する（ステップ１００４１４）。
【０１９７】
次に、タスク実行判定プログラム１１３１０は、取得された待ち状態タスクの関連リソースを参照して、性能情報テーブル１１５３０から待ち状態タスクの各関連リソースの性能情報（この場合は、リソース性能（ＩＯＰＳ）１１５３３）及びリソースの性能閾値（この場合、リソース性能閾値１１５３４）を取得する（ステップ１００４１５）。
【０１９８】
次に、タスク実行判定プログラム１１３００は、取得された待ち状態タスクの各関連リソースの性能情報（この場合は、リソース性能（ＩＯＰＳ）１１５３３）とリソースの性能閾値（この場合、リソース性能閾値１１５３４）とを比較し、取得された待ち状態タスクの各関連リソースの性能情報が、取得された待ち状態タスクの各関連リソースの性能閾値を満たしているか否かを判定する（ステップ１００４１６）。
【０１９９】
取得された待ち状態タスクの各関連リソースの性能情報が、取得された待ち状態タスクの各関連リソースを満たしていると判定された場合、タスク実行判定プログラム１１３１０は、待ち状態タスクのレコードをタスク管理テーブル１１５１１０及びマイグレーション管理テーブル１１５４０から削除し（ステップ１００４１９）、処理を終了する。
【０２００】
ステップ１００４１６において、取得された待ち状態タスクの各関連リソースの性能情報が、取得された待ち状態タスクの各関連リソースを満たしていないと判定された場合、タスク実行判定プログラム１１３１０は、待ち状態タスクのタスク状態１１５１１６を「Ｒｅａｄｙ」に設定する（ステップ１００４１７）。つまり、待ち状態タスクが実行可能な状態のタスクとして設定される。
【０２０１】
これは、ステップ１００３において、同じタスク実行要因１１５１１３であるタスクが別に存在し、余分なタスクとなっている可能性があった待ち状態タスクを実行可能状態なタスクとしている。
【０２０２】
タスク実行判定プログラム１１３１０は、タスク実行プログラム２１３００にタスク状態１１５１１６が「Ｒｅａｄｙ」に設定されたタスクの実行要求を送信する（ステップ１００４１８）。
【０２０３】
タスク実行判定プログラム１１３１０は、タスク管理テーブル１１５１１０の全てのレコードに対して処理を実行したか否かを判定する（ステップ１００４２０）。
【０２０４】
タスク管理テーブル１１５１１０の全てのレコードに対して処理を実行していないと判定された場合、タスク実行判定プログラム１１３１０は、ステップ１００４１２に戻り、ステップ１００４１２〜ステップ１００４２０までの処理を実行する。
【０２０５】
タスク管理テーブル１１５１１０の全てのレコードに対して処理を実行していると判定された場合、タスク実行判定プログラム１１３１０は、処理を終了する。
【０２０６】
第２の実施形態では、「タスクＢ」が新規タスクとして計画され、「タスクＡ」と同一のタスク実行要因１１５１１３であるため、当該新規タスクのタスク状態１１５１１６には「Ｗａｉｔｉｎｇ」が設定される。
【０２０７】
ステップ１００４１６において、タスク実行判定プログラム１１３１０は、「タスクＡ」における関連リソースである論理ボリューム２２１００（ＬＶ１、ＬＶ３）、及び物理ディスク２２２００（ｅ１、ｅ２）について、論理ボリューム２２１００（ＬＶ１）から論理ボリューム２２１００（ＬＶ３）へマイグレーションした後の関連リソース性能値が、新規タスクである「タスクＢ」の関連リソースの性能閾値が満たされていることが分かる。したがって、タスク実行判定プログラム１１３１０は、「タスクＢ」を余分なタスクとして排除することができる。
【０２０８】
尚、ステップ１００４１６における判定方法は、実施形態１におけるシミュレートと同一の方法を用いてもよい。
【０２０９】
本発明の第２の実施形態によれば、タスクのタスク実行要因、タスクと構成上又は設定上関連するリソース、及びタスクの実行状態を、付加情報としてタスクに関連付けて管理することによって、管理サーバ１００００は、同一のタスク実行要因１１５１１３で、かつ、同時に実行できないタスクについて、タスク開始時にストレージ装置２００００の性能情報を再確認し、タスク実行の必要性を判定できる。これによって、余分なタスクを排除することができる。
【０２１０】
別の観点では、管理サーバ１００００は、新規タスクと関連しないタスクについて、シミュレート等を実行する必要がないため、第１の実施形態と比べ、処理を低減できる。
【０２１１】
［第３の実施形態］
本発明の第３の実施形態について説明する。以下の説明では、本発明の第１の実施形態との差異を中心に説明する。
【０２１２】
本発明の第３の実施形態におけるＳＡＮの構成、ストレージ装置２００００の構成、及びホスト３００００の構成は、それぞれ第１の実施形態で示した図１、図３、及び図４と同一であるため、説明を省略する。
【０２１３】
図１８は、本発明の第３の実施形態の管理サーバ１００００の構成の一例を示すブロック図である。
【０２１４】
管理サーバ１００００は、メモリ１１０００、記憶装置１２０００、入力装置１３０００、出力装置１４０００、プロセッサ１５０００、及び通信装置１６０００を備え、これらは内部バスなどの通信路１７０００を介して互いに接続される。
【０２１５】
メモリ１１０００は、タスク管理プログラム１１１３０、タスク間関連抽出プログラム１１２００、タスク実行判定プログラム１１３３０、構成・性能情報収集プログラム１１４００、及びシステム管理リポジトリ１１５００を格納する。
【０２１６】
システム管理リポジトリ１１５００には、タスク管理テーブル１１５１３０、構成情報テーブル１１５２０、性能情報テーブル１１５３０、マイグレーション管理テーブル１１５４０、タスク分類テーブル１１５５０、アクセス管理テーブル１１５６０、及び性能履歴テーブル１１５７０が格納される。
【０２１７】
タスク管理テーブル１１５１３０は、タスク種別、タスク実行要因、タスクに関連するリソースの情報、タスク計画時刻、及びタスク開始予定時刻を格納する。構成情報テーブル１１５２０は、ＳＡＮの構成情報を格納する。性能情報テーブル１１５３０は、ＳＡＮに接続された装置及び当該装置におけるリソースの性能情報を格納する。マイグレーション管理テーブル１１５４０は、マイグレーション処理に関する情報を格納する。タスク分類テーブル１１５５０は、タスクの優先度を格納する。
【０２１８】
アクセス管理テーブル１１５６０は、アクセス禁止処理の情報を格納する。性能履歴テーブル１１５７０は、ＳＡＮに接続された装置及び当該装置におけるリソースの性能情報の履歴を格納する。
【０２１９】
記憶装置１２０００は、情報を格納するＨＤＤなどである。入力装置１３０００は、ＳＡＮ管理者がタスク管理プログラム１１１００などに指示を入力するためのキーボードなどである。出力装置１４０００は、タスク実行プログラム２１３００の処理の実行結果を出力するディスプレイ装置などである。プロセッサ１５０００は、メモリ１１０００上に展開されているプログラムを実行する。通信装置１６０００は、管理用ネットワーク５００００に接続するための装置である。
【０２２０】
記憶装置１２０００、入力装置１３０００、出力装置１４０００、プロセッサ１５０００、及び通信装置１６０００は、第１の実施形態と同一のものである。
【０２２１】
図１８に示す例では、前述のプログラム及び前述のテーブルは、メモリ１１０００に格納されているが、記憶装置１２０００又は他の記憶媒体（図示省略）に格納されもよい。この場合、プロセッサ１５０００は、プログラム実行時にメモリ１１０００上に前述のプログラム及び前述のテーブルを読み出し、読み出されたプログラムを実行する。
【０２２２】
また、ホスト３００００のメモリ３１０００又はストレージ装置２００００のメモリ２１０００に前述のプログラム及び前述のテーブルが格納され、ホスト３００００又はストレージ装置２００００が格納されるプログラムを実行してもよい。また、他のサーバ（図示省略）又はファイバチャネルスイッチ（図示省略）など他の装置が、前述のプログラム及び前述のテーブルを格納し、格納されるプログラムを実行してもよい。
【０２２３】
図１９は、本発明の第３の実施形態のシステム管理リポジトリ１１５００に格納される、タスク管理テーブル１１５１３０の一例を示す説明図である。
【０２２４】
タスク管理テーブル１１５１３０は、各タスクについて、その実行目的、処理内容、タスクに関連するリソースの情報、タスクの計画時刻、及びタスクの開始予定時刻を格納する。タスク管理プログラム１１１３０が実行されることによって、タスク管理テーブル１１５１３０にレコードが追加される。
【０２２５】
タスク管理テーブル１１５１３０は、タスク識別子１１５１３１、タスク種別１１５１３２、タスク実行要因１１５１３３、タスク関連リソース（論理ボリューム）１１５１３４、タスク関連リソース（物理ディスク）１１５１３５、計画時刻１１５１３６、及び１１５１３７を含む。
【０２２６】
タスク識別子１１５１３１は、タスクを一意に識別するための識別子を格納する。タスク種別１１５１３２は、タスクの種別を格納する。タスク実行要因１１５１３３は、タスク識別子１１５１３１に対応するタスクが実行される契機となった指標及び指標の値が格納される。
【０２２７】
タスク関連リソース（論理ボリューム）１１５１３４は、タスク識別子１１５１３１に対応するタスクに関連する論理ボリューム２２１００を一意に識別するための論理ボリューム番号を格納する。タスク関連リソース（物理ディスク）１１５１３５は、タスク識別子１１５１１に対応するタスクに関連する物理ディスク２２２００を一意に識別するための物理ディスク番号が格納される。
【０２２８】
計画時刻１１５１３６は、タスク識別子１１５１３１に対応するタスクの実行が計画された時刻を格納する。開始予定時刻１１５１３７は、タスク識別子１１５１３１に対応するタスクの実行が開始される時刻を格納する。
【０２２９】
尚、計画時刻１１５１３６及び開始予定時刻１１５１３７に、「−」が格納されているレコードは、即時実行など、特に開始時刻が設定されていないタスクを示す。
【０２３０】
第３の実施形態では、タスク関連リソースとして、論理ボリューム２２１００及び物理ディスク２２２００をあげたが、本発明はこれに限定されない。例えば、関連リソースとして、論理ボリューム２２１００を利用するホスト３００００、当該ホスト３００００から当該論理ボリューム２２１００への書き込みのときにデータが経由するスイッチ（図示省略）、又は、ストレージ装置のデータＩ／Ｆ２６０００などを含めてもよい。
【０２３１】
また、関連リソースとして、コピー及びバックアップなどの論理ボリューム２２１００間の設定情報及び設定状態情報などを保持するリソースを含めてもよい。
【０２３２】
尚、システム管理リポジトリ１１５００に格納される構成情報テーブル１１５２０、性能情報テーブル１１５３０、マイグレーション管理テーブル１１５４０、及びタスク分類テーブル１１５５０は、第１の実施形態に示す図６、図７、図８、及び図９と同一のものであるが、第３の実施形態における一例として、構成情報テーブル１１５２０及びマイグレーション管理テーブル１１５４０について示す。
【０２３３】
図２０は、本発明の第３の実施形態のシステム管理リポジトリ１１５００に格納される、構成情報テーブル１１５２０の一例を示す説明図である。図２１は、本発明の第３の実施形態のシステム管理リポジトリ１１５００に格納される、マイグレーション管理テーブル１１５４０の一例を示す説明図である。各テーブルの構成は、第１の実施形態と同一のものであるため説明を省略する。
【０２３４】
図２２は、本発明の第３の実施形態のシステム管理リポジトリ１１５００に格納される、アクセス管理テーブル１１５６０の一例を示す説明図である。
【０２３５】
アクセス管理テーブル１１５６０は、ストレージ装置２００００に格納されるタスク実行プログラム２１３００によって、アクセス禁止処理が実行された論理ボリューム２２１００に対して、アクセス禁止を解除するときに必要な情報を格納する。タスク管理プログラム１１１３０が実行されることによって、アクセス管理テーブル１１５６０にレコードが追加される。
【０２３６】
アクセス管理テーブル１１５６０は、アクセス禁止設定番号１１５６１、論理ボリューム番号１１５６２、アクセス禁止有効期限１１５６３、及びタスク識別子１１５６４を含む。
【０２３７】
アクセス禁止設定番号１１５６１は、アクセス禁止設定を一意に識別するための識別子を格納する。論理ボリューム番号１１５６２は、アクセス禁止設定の対象である論理ボリューム２２１００を一意に識別するための論理ボリューム番号を格納する。
【０２３８】
アクセス禁止有効期限１１５６３は、アクセス禁止の有効期限を示す情報を格納する。タスク識別子１１５６４は、タスクを一意に識別するための識別子を格納する。
【０２３９】
第３の実施形態では、タスクの一例として、マイグレーション及びアクセス禁止解除を考えているため、管理サーバ１００００はマイグレーション管理テーブル１１５４０及びアクセス管理テーブル１１５６０を備えているが、本発明はこれに限定されない。例えば、管理サーバ１００００は、コピー又はパス設定など他の機能をタスクとして管理し、各機能に対応する管理テーブルを備えていてもよい。
【０２４０】
図２３は、本発明の第３の実施形態のシステム管理リポジトリ１１５００に格納される、性能履歴テーブル１１５７０の一例を示す説明図である。
【０２４１】
性能履歴テーブル１１５７０は、ストレージ装置２００００の論理ボリューム２２１００及び物理ディスク２２２００などのＳＡＮ構成要素の性能情報の履歴を格納する。構成・性能情報収集プログラム１１４００が実行されることによって、性能履歴テーブル１１５７０にレコードが追加される。
【０２４２】
尚、第３の実施形態では、管理サーバ１００００は、性能情報テーブル１１５３０と性能履歴テーブル１１５７０とを別々に格納しているが、本発明はこれに限定されない。例えば、管理サーバ１００００は、履歴情報を含めた性能情報テーブル１１５３０を格納してもよい。
【０２４３】
性能履歴テーブル１１５７０は、ストレージ名１１５７１、リソース番号１１５７２、情報取得時刻１１５７３、及びリソース性能（ＩＯＰＳ）（Ｒｅａｄ／Ｗｒｉｔｅ）１１５７４を含む。
【０２４４】
ストレージ名１１５７１は、ストレージ装置２００００を一意に識別するための識別子を格納する。リソース番号１１５７２は、ストレージ名１１５７１に対応するストレージ装置２００００の論理ボリューム２２１００又は物理ディスク２２２００を一意に識別するための論理ボリューム番号又は物理ディスク番号を格納する。
【０２４５】
情報取得時刻１１５７３は、性能情報が取得された時刻が格納される。リソース性能（ＩＯＰＳ）（Ｒｅａｄ／Ｗｒｉｔｅ）１１５７４は、リソース番号１１５７２に対応する論理ボリューム２２１００又は物理ディスク２２２００への単位時間（第３の実施形態では１秒）あたりのＲｅａｄＩ／Ｏ、ＷｅｉｔｅＩ／Ｏの数がそれぞれ格納される。
【０２４６】
第３の実施形態では、リソースの性能情報としてＲｅａｄＩＯＰＳｅｃｏｎｄ及びＷｒｉｔｅＩＯＰＳｅｃｏｎｄを用いたが、ＩＯＲｅｓｐｏｎｓｅＴｉｍｅ、又はＴｒａｎｓｆｅｒＲａｔｅなどの他の性能情報を用いてもよい。
【０２４７】
次に、管理サーバ１００００上の各プログラムによって実行されるタスク管理処理について説明する。尚、ステップ１００１及びステップ１００３は、第１の実施形態と同一であるため、説明を省略する。以下、ステップ１００２及びステップ１００４について、第１の実施形態との差異を中心に説明する。
【０２４８】
図２４は、本発明の第３の実施形態の管理サーバ１００００に格納されるタスク管理プログラム１１１３０が新規タスクをタスク管理テーブル１１５１３０に登録する処理（ステップ１００２）の詳細を説明するフローチャートである。尚、当該フローチャートでは、アクセス禁止処理がタスクとして計画された場合を例に説明する。
【０２４９】
タスク管理プログラム１１１３０は、ユーザ又は任意のプログラムから、タスク情報を受信する（ステップ１００２３１）。当該タスク情報には、論理ボリューム番号、及びアクセス禁止の有効期限が含まれる。
【０２５０】
タスク管理プログラム１１１３０は、受信したタスク情報に基づいて、アクセス管理テーブル１１５６０に、新規エントリを作成し、アクセス禁止設定番号１１５６１、論理ボリューム番号１１５６２、アクセス禁止有効期限１１５６３、及びタスク識別子１１５６４を設定する（ステップ１００２３２）。
【０２５１】
タスク管理プログラム１１１３０は、受信したタスク情報に基づいて、タスク管理テーブル１１５１３０に新規エントリを作成し、タスク種別１１５１３２、タスク実行要因１１５１３３、計画時刻１１５１３６、開始予定時刻１１５１３７、及びタスク識別子１１５１３１を設定する（ステップ１００２３３）。尚、タスク識別子１５１３１には、アクセス管理テーブル１１５６０のタスク識別子１１５６４と同一の識別子が設定される。
【０２５２】
第３の実施形態では、タスク管理プログラム１１１３０は、管理サーバ１００００によって取得された、ステップ１００２３３の処理が開始された時の時刻を計画時刻１１５１３６として設定しているが、本発明はこれに限定されない。例えば、管理サーバ１００００がストレージ装置２００００共通の時刻管理サーバ（図示省略）から時刻情報を取得し、タスク管理プログラム１１１３０は、取得された時刻情報を計画時刻１１５１３６に設定してもよい。
【０２５３】
また、第３の実施形態では、管理サーバ１００００によって取得されたアクセス禁止の有効期限が開始予定時刻１１５１３７に設定されるが、本発明はこれに限定されない。例えば、開始予定時刻に当たる情報を保持していない処理の場合、第１の実施形態の図１１に示すようにタスク実行要因１１５１３を登録した時と同様、タスク管理プログラム１１１３０は、タスクを送信してきたプログラムから取得して設定する、又はユーザ入力に基づいて設定してもよい。
【０２５４】
次に、タスク管理プログラム１１１３０は、アクセス管理テーブル１１５６０の論理ボリューム番号１１５６２を参照し、タスクの処理対象となるリソースを取得する（ステップ１００２３４）。
【０２５５】
タスク管理プログラム１１１３０は、取得されたタスクの処理対象となるリソースと構成上又は設定上関連するリソースを構成情報テーブル１１５２０から取得し、タスク管理テーブル１１５１３０のタスク関連リソース１１５１３４、１１５１３５に設定し（ステップ１００２３５）、処理を終了する。
【０２５６】
図２５は、本発明の第３の実施形態の管理サーバ１００００に格納されるタスク実行判定プログラム１１３３０が新規タスクを実行すべきか否かを判定する処理（ステップ１００４）の詳細な説明するフローチャートである。
【０２５７】
まず、タスク実行判定プログラム１１３３０は、タスク間関連抽出プログラム１１２００を実行することによって抽出された計画済みタスクを取得する（ステップ１００４３１）。
【０２５８】
次に、タスク実行判定プログラム１１３３０は、取得された各計画済みタスク及び新規タスクに対して以下の処理を実行する（ステップ１００４３２）。
【０２５９】
タスク実行判定プログラム１１３３０は、取得された各計画済みタスク及び新規タスクに関する情報（この場合、タスク識別子１１５４４、１１５６４）を参照し、タスク管理テーブル１１５１３０から、計画済みタスク及び新規タスクの関連リソース（この場合、タスク関連リソース（論理ボリューム）１１５１３４及びタスク関連リソース（物理ディスク）１１５１３５）を取得する（ステップ１００４３３）。
【０２６０】
次に、タスク実行判定プログラム１１３３０は、取得された関連リソースを参照し、性能情報テーブル１１５３０から、取得された関連リソースの性能情報（この場合、リソース性能（ＩＯＰＳ）１１５３３及びリソース性能閾値１１５３４）を取得し、また、性能履歴テーブル１１５７０から、取得された関連リソースの性能情報（この場合、リソース性能（ＩＯＰＳ）（Ｒｅａｄ／Ｗｒｉｔｅ）１１５７４）を取得する（ステップ１００４３４）。
【０２６１】
タスク実行判定プログラム１１３３０は、取得された関連リソースの性能情報に基づいて、計画済みタスク及び新規タスクが実行された後の、各関連リソースの性能値をシミュレートする（ステップ１００４３５）。
【０２６２】
タスク実行判定プログラム１１３３０は、取得された全ての計画済みのタスクについて処理が終了した否かを判定する（ステップ１００４３６）。
【０２６３】
取得された全ての計画済みのタスクについて処理が終了していないと判定された場合、タスク実行判定プログラム１１３３０は、ステップ１００４３２に戻り、ステップ１００４３２〜ステップ１００４３６の処理を実行する。
【０２６４】
取得された全ての計画済みのタスクについて処理が終了していると判定された場合、タスク実行判定プログラム１１３３０は、取得された新規タスクの関連リソースを参照し、性能情報テーブル１１５３０から、取得された新規タスクの関連リソースの性能閾値（この場合、リソース性能閾値１１５３４）を取得する（ステップ１００４３８）。
【０２６５】
タスク実行判定プログラム１１３３０は、取得された全ての新規タスクの関連リソースに対し、シミュレートされた性能値が、取得された新規タスクの関連リソースの性能閾値を満たしているか否かを判定する（ステップ１００４３９）。
【０２６６】
シミュレートされた性能値が、取得された新規タスクの関連リソースの性能閾値を満たしていないと判定された場合、タスク実行判定プログラム１１３３０は、タスク管理テーブル１１５１３０から、取得された計画済みタスクの開始予定時刻１１５１３７を取得し（ステップ１００４４０）、取得された開始予定時刻１１５１３７に性能劣化の可能性があることを示し、新規タスクを実行してもよいか否かの警告をユーザに通知し（ステップ１００４４１）、処理を終了する。
【０２６７】
シミュレートされた性能値が、取得された新規タスクの関連リソースの性能閾値を満たしていると判定された場合、タスク実行判定プログラム１１３３０は、処理を終了する。
【０２６８】
第３の実施形態では、「タスクＢ」が新規タスクとして計画され、「タスクＡ」が新規タスクに関連する計画済みタスクとして抽出される。
【０２６９】
タスク実行判定プログラム１１３３０は、「タスクＡ」の関連リソースである論理ボリューム２２１００（ＬＶ３）、物理ディスク２２２００（ｅ２）について、アクセス禁止が解除された後の性能値をシミュレートすることで、論理ボリューム２２１００（ＬＶ３）のＩＯＰＳが１０から３５に、物理ディスク２２２００（ｅ２）のＩＯＰＳが１０から３５になることが予測できる。
【０２７０】
当該シミュレートは、アクセス禁止設定が実行される前の性能履歴として論理ボリューム２２１００に対するＩＯＰＳの値を、アクセス禁止設定が解除された後に加わるＩＯＰＳの値として追加することで行っているが、本発明はこれに限定されず、他の方法を用いてシミュレートを行ってもよい。
【０２７１】
タスク実行判定プログラム１１３３０は、「タスクＢ」の関連リソースである、論理ボリューム２２１００（Ｌｖ２、ＬＶ４）、物理ディスク２２２００（ｅ１、ｅ２）について、論理ボリューム２２１００（ＬＶ２）から論理ボリューム２２１００（ＬＶ４）へのマイグレーション後の性能値をシミュレートすることによって、論理ボリューム２２１００（ＬＶ２）のＩＯＰＳが２０から０になり、論理ボリューム２２１００（ＬＶ４）のＩＯＰＳが０から２０になり、物理ディスク２２２００（ｅ１）のＩＯＰＳが３０から１０になり、物理ディスク２２２００（ｅ２）のＩＯＰＳが３５から５５になることが予測できる。
【０２７２】
尚、マイグレーションにおけるシミュレートは第１の実施形態と同一であるため、説明を省略する。
【０２７３】
シミュレートの結果、タスク実行判定プログラム１１３３０は、「タスクＢ」の関連リソースである物理ディスク２２２００（ｅ２）の性能閾値が満たされなくなることがわかるため、「タスクＢ」を実行してよいか否かの警告をユーザに通知する。これによって、「タスクＢ」が余分なタスクとして提示される。
【０２７４】
本発明の第３の実施形態によれば、タスクの実行要因、及びタスクと構成上又は設定上関連するリソースを、付加情報としてタスクに関連付けて管理することによって、管理サーバ１００００は、注目しているタスクの後に実行されるタスクの影響を含めた結果をシミュレートし、タスク実行の必要性を判断できる。
【０２７５】
また、シミュレートの結果、タスク実行が必要でない場合、当該タスクの実行は必要ない旨の警告をユーザに通知でき、これによって余分なタスクの排除できる。
【０２７６】
［第４の実施形態］
本発明の第４の実施形態について説明する。以下の説明では、本発明の第１の実施形態との差異を中心に説明する。
【０２７７】
まず、第４の実施形態におけるＳＡＮの構成例について説明する。
【０２７８】
図２６は、本発明の第４の実施形態のＳＡＮの構成の一例を示すブロック図である。
【０２７９】
第４の実施形態におけるＳＡＮは、一台以上のホスト３００００、一台以上のストレージ装置２００００、及び一台以上の管理サーバ１００００を備える。
【０２８０】
ストレージ装置２００００は、タスク実行プログラム２１３００を格納する。タスク実行プログラム２１３００は、ストレージ装置２００００が提供する機能を実現するためのプログラムである。
【０２８１】
ストレージ装置２００００は、複数の物理ディスク２２２００（ｅ１、ｅ２）を備え、また、複数の物理ディスク２２２００から構成される仮想化プール２２４００（ｖｐ１）を備える。
【０２８２】
ストレージ装置２００００上には、複数の論理ボリューム２２１００及び複数の仮想ボリューム２２３００が作成され、作成された論理ボリューム２２１００及び仮想ボリューム２２３００が、ホスト３００００に提供される。
【０２８３】
図２６に示す例では、ストレージ装置２００００（ストレージ装置Ａ）は、ホスト３００００（ホストＡ）に対して、論理ボリューム２２１００（ＬＶ１）及び仮想ボリューム２２３００（ｖｖ１）を提供する。
【０２８４】
尚、第４の実施形態における各処理は、仮想ボリューム２２３００を備えるストレージ装置２００００を含むＳＡＮの構成に限定されず、図１に示すようなＳＡＮの構成であってもよい。
【０２８５】
管理サーバ１００００は、タスク管理プログラム１１１４０、タスク間関連抽出プログラム１１２００、及びタスク実行判定プログラム１１３４０を格納する。
【０２８６】
タスク管理プログラム１１１４０は、タスク管理テーブル１１５１２０（図２９参照）を生成するためのプログラムである。尚、タスク管理プログラム１１１４０の処理の詳細については、図３４を用いて後述する。
【０２８７】
タスク間関連抽出プログラム１１２００は、新たに計画されたタスクと計画済みの他のタスクとの関連を調べるプログラムである。尚、タスク間関連抽出プログラム１１２００の処理は、第１の実施形態と同一のものである。
【０２８８】
タスク実行判定プログラム１１３４０は、新たに計画されたタスクを実行するか否かを判定するプログラムである。尚、タスク実行判定プログラム１１３４０の処理の詳細については、図３５を用いて後述する。
【０２８９】
ホスト３００００は、ストレージ装置２００００によって提供された論理ボリューム２２１００及び仮想ボリューム２２３００を用いて、各種業務を実行する。
【０２９０】
ホスト３００００（ホストＡ）とストレージ装置２００００（ストレージ装置Ａ）とは、ファイバチャネル４００００を介して互いに接続される。
【０２９１】
管理サーバ１００００（管理サーバＡ）は、管理用ネットワーク５００００を介して、ストレージ装置２００００（ストレージ装置Ａ）及びホスト３００００（ホストＡ）に接続される。管理サーバ１００００（管理サーバＡ）は、管理用ネットワーク５００００を介してタスク実行プログラム２１３００と通信できる。
【０２９２】
図２６に示す例では、管理サーバ１００００がタスク管理プログラム１１１４０、タスク間関連抽出プログラム１１２００、及びタスク実行判定プログラム１１３４０を格納しているが、本発明はこれに限定されない。例えば、ストレージ装置２００００又はホスト３００００が、前述のプログラムを格納してもよい。また、各装置間に設置されているスイッチ（図示省略）などの他の装置が、前述のプログラムを格納してもよい。
【０２９３】
また、ストレージ装置２００００がタスク実行プログラム２１３００を格納しているが、本発明はこれに限定されない。例えば、管理サーバ１００００又はホスト３００００が、タスク実行プログラム２１３００を格納してもよい。また、各装置間に設置されているスイッチ（図示省略）などの他の装置が、タスク実行プログラム２１３００を格納してもよい。
【０２９４】
また、ホスト３００００（ホストＡ）とストレージ装置２００００（ストレージ装置Ａ）との間の接続は、ファイバチャネル４００００を介して直接接続されるものに限定されず、一台以上のファバチャネルスイッチなどのネットワーク機器を介して接続されてもよい。また、ホスト３００００（ホストＡ）とストレージ装置２００００（ストレージ装置Ａ）との間の接続は、データ通信用のネットワークであればよく、例えば、ＩＰネットワークでもよい。
【０２９５】
図２７は、本発明の第４の実施形態の管理サーバ１００００の構成の一例を示すブロック図である。
【０２９６】
管理サーバ１００００は、メモリ１１０００、記憶装置１２０００、入力装置１３０００、出力装置１４０００、プロセッサ１５０００、及び通信装置１６０００を備え、これらは内部バスなどの通信路１７０００を介して互いに接続される。
【０２９７】
メモリ１１０００は、タスク管理プログラム１１１４０、タスク間関連抽出プログラム１１２００、タスク実行判定プログラム１１３４０、構成・容量情報収集プログラム１１４１０、及びシステム管理リポジトリ１１５００を格納する。
【０２９８】
構成・容量情報収集プログラム１１４１０は、第１の実施形態と同一のものであるが、性能情報の代わりに、論理ボリューム２２１００などの容量に関する情報を収集する。
【０２９９】
システム管理リポジトリ１１５００には、タスク管理テーブル１１５１２０、構成情報テーブル１１５２２０、容量情報テーブル１１５３２０、マイグレーション管理テーブル１１５４０、タスク分類テーブル１１５５０、及び仮想化プール管理テーブル１１５８０が格納される。
【０３００】
タスク管理テーブル１１５１２０は、タスク種別、タスク実行要因、及びタスクに関連するリソースの情報を格納する。構成情報テーブル１１５２２０は、ＳＡＮの構成情報を格納する。容量情報テーブル１１５３２０は、ＳＡＮに接続された装置及び当該装置におけるリソースの容量情報を格納する。
【０３０１】
マイグレーション管理テーブル１１５４０は、マイグレーション処理に関する情報を格納する。タスク分類テーブル１１５５０は、タスクの優先度を格納する。仮想化プール管理テーブル１１５８０は、仮想化プール２２４００に関する情報を格納する。
【０３０２】
記憶装置１２０００は、情報を格納するＨＤＤなどである。入力装置１３０００は、ＳＡＮ管理者がタスク管理プログラム１１１００などに指示を入力するためのキーボードなどである。出力装置１４０００は、タスク実行プログラム２１３００の処理の実行結果を出力するディスプレイ装置などである。プロセッサ１５０００は、メモリ１１０００上に展開されているプログラムを実行する。通信装置１６０００は、管理用ネットワーク５００００に接続するための装置である。
【０３０３】
図２７に示す例では、前述のプログラム及び前述のテーブルは、メモリ１１０００に格納されているが、記憶装置１２０００又は他の記憶媒体（図示省略）に格納されもよい。この場合、プロセッサ１５０００は、プログラム実行時にメモリ１１０００上に前述のプログラム及び前述のテーブルを読み出し、読み出されたプログラムを実行する。
【０３０４】
また、ホスト３００００のメモリ３１０００（図４参照）又はストレージ装置２００００のメモリ２１０００（図３参照）に前述のプログラム及び前述のテーブルが格納され、ホスト３００００又はストレージ装置２００００が格納されるプログラムを実行してもよい。また、他のサーバ（図示省略）又はファイバチャネルスイッチ（図示省略）など他の装置が、前述のプログラム及び前述のテーブルを格納し、格納されるプログラムを実行してもよい。
【０３０５】
図２８は、本発明の第４の実施形態のストレージ装置２００００の構成の一例を示すブロック図である。
【０３０６】
ストレージ装置２００００は、メモリ２１０００、論理ボリューム提供部２２０００、ディスクＩ／Ｆ制御部２３０００、管理Ｉ／Ｆ２４０００、プロセッサ２５０００、及びデータＩ／Ｆ２６０００を備え、これらは内部バスなどの通信路２７０００を介して互いに接続される。
【０３０７】
メモリ２１０００は、ディスクキャッシュ２１１００、構成情報管理プログラム２１２００、及びタスク実行プログラム２１３００を格納する。
【０３０８】
ディスクキャッシュ２１１００は、情報を一時格納するための記憶領域である。構成情報管理プログラム２１２００は、ストレージ装置２００００の管理情報及び性能・容量情報を管理サーバ１００００との間で送受信するためのプログラムである。タスク実行プログラム２１３００は、ストレージ装置２００００の提供する機能を実行するためのプログラムである。
【０３０９】
論理ボリューム提供部２２０００は、物理ディスク２２２００を備える。論理ボリューム提供部２２０００は、物理ディスク２２２００の記憶領域を論理的に分割し、当該論理的に分割された記憶領域を論理ボリューム２２１００として提供する。これによって、論理ボリューム２２１００及び仮想ボリューム２２３００に対する当該ストレージ装置２００００外からのアクセスを可能としている。
【０３１０】
また、論理ボリューム提供部２２０００は、複数の物理ディスク２２２００から構成される仮想化プール２２４００の記憶領域を論理的に分割し、当該分割された記憶領域を仮想ボリューム２２３００として提供する。これによって、ホスト３００００のユーザは、任意の容量のボリュームを仮想ボリューム２２３００として定義し、当該仮想ボリューム２２３００を経由して仮想化プール２２４００内の記憶領域へのアクセスが可能となる。
【０３１１】
尚、物理ディスク２２２００には物理ディスク番号が付され、論理ボリューム２２１００には論理ボリューム番号が付され、仮想ボリューム２２３００には仮想ボリューム番号が付され、また、仮想化プール２２４００には仮想化プール番号が付される。これによって、ストレージ装置２００００は、物理ディスク２２２００、論理ボリューム２２１００及び仮想ボリューム２２３００をそれぞれ一意に識別することができる。
【０３１２】
図２８に示す例では、ストレージ装置２００００には、物理ディスク番号が「ｅ１」、「ｅ２」及び「ｅ３」の物理ディスク２２２００が３つあり、論理ボリューム番号が「ＬＶ１」の論理ボリューム２２１００が１つあり、仮想ボリューム番号が「ｖｖ１」の仮想ボリューム２２３００が１つあり、さらに、仮想化プール番号が「ｖｐ１」の仮想化プール２２４００が１つあることが分かる。
【０３１３】
ディスクＩ／Ｆ制御部２３０００は、論理ボリューム提供部２２０００と接続するためのインタフェースである。管理Ｉ／Ｆ２４０００は、管理用ネットワーク５００００と接続するためのインタフェースである。プロセッサ２５０００は、メモリ２１０００上に展開されたプログラムを実行する。
【０３１４】
データＩ／Ｆ２６０００は、ファイバチャネル４００００と接続するためのインタフェースである。尚、ディスクＩ／Ｆ制御部２３０００、管理Ｉ／Ｆ２４０００、及びデータＩ／Ｆ２６０００は、複数個あってもよい。図２８に示す例では、ストレージ装置２００００は、データＩ／Ｆ（ｐ１）及びデータＩ／Ｆ（ｐ２）の２つのデータＩ／Ｆ２６０００を備える。
【０３１５】
図２８に示す例では、前述のプログラムは、メモリ２１０００に格納されているが、他の記憶装置（図示省略）又は他の記憶媒体（図示省略）に格納されていてもよい。この場合、プロセッサ２５０００は、処理実行時にメモリ２１０００上に前述のプログラムを読み出し、読み出されたプログラムを実行する。
【０３１６】
また、ホスト３００００のメモリ３１０００又はストレージ装置２００００のメモリ２１０００に前述のプログラムが格納され、ホスト３００００又はストレージ装置２００００が格納されるプログラムを実行してもよい。また、他のストレージ装置（図示省略）が、前述のプログラムを格納し、格納されるプログラムを実行してもよい。
【０３１７】
また、論理ボリューム提供部２２０００は、複数の物理ディスク２２２００から構成されるＲＡＩＤグループを論理的に分割して論理ボリューム２２１００を作成してもよい。また、論理ボリューム提供部２２０００は、１つの物理ディスク２２２００の全記憶領域を１つの論理ボリューム２２１００として作成してもよい。また、論理ボリューム提供部２２０００は、物理ディスク２２２００以外のフラッシュメモリなどの記憶媒体の記憶領域から論理ボリューム２２１００を作成してもよい。
【０３１８】
図２９は、本発明の第４の実施形態のシステム管理リポジトリ１１５００に格納される、タスク管理テーブル１１５１２０の一例を示す説明図である。
【０３１９】
タスク管理テーブル１１５１２０は、各タスクについて、その実行目的、処理内容、タスクに関連するリソースの情報、及びタスクの実行状況を格納する。タスク管理プログラム１１１４０が実行されることによって、タスク管理テーブル１１５１２０にレコードが追加される。
【０３２０】
タスク管理テーブル１１５１２０は、タスク識別子１１５１２１、タスク種別１１５１２２、タスク実行要因１１５１２３、タスク関連リソース（論理ボリューム）１１５１２４、タスク関連リソース（プール）１１５１２５、タスク関連リソース（物理ディスク）１１５１２６、及びタスク実行状況１１５１２７を含む。
【０３２１】
タスク識別子１１５１２１は、タスクを一意に識別するための識別子を格納する。タスク種別１１５１２２は、タスクの種別を格納する。タスク実行要因１１５１２３は、タスク識別子１１５１２１に対応するタスクが実行される契機となった指標及び指標の値が格納される。
【０３２２】
タスク関連リソース（論理ボリューム）１１５１２４は、タスク識別子１１５１２１に対応するタスクに関連する論理ボリューム２２１００又は仮想ボリューム２２３００を一意に識別するための論理ボリューム番号又は仮想ボリューム番号を格納する。
【０３２３】
タスク関連リソース（プール）１１５１２５は、タスク識別子１１５１２１に対応するタスクに関連する仮想化プール２２４００を一意に識別するための仮想化プール番号を格納する。
【０３２４】
タスク関連リソース（物理ディスク）１１５１２６は、タスク識別子１１５１２１に対応するタスクに関連する物理ディスク２２２００を一意に識別するための物理ディスク番号が格納する。
【０３２５】
タスク実行状況１１５１２７は、タスク識別子１１５１２１に対応するタスクの実行状況を格納する。具体的には、「未実行」、「実行中」又は「実行完了」のいずれかが格納される。「未実行」はタスクが実行前の状態を示し、「実行中」はタスクが実行中の状態を示し、「実行完了」はタスクが完了した状態を示している。
【０３２６】
タスクの実行が開始した時に、タスク管理プログラム１１１４０は、タスク実行プログラム２１３００からタスク実行開始を受信し、タスク実行状況１１５１２７に「実行中」を設定する。タスク実行が完了した時に、タスク管理プログラム１１１４０は、タスク実行プログラム２１３００からタスク実行完了を受信し、タスク実行状況１１５１２７に「実行完了」を設定する。
【０３２７】
第４の実施形態では、タスク関連リソースとし、論理ボリューム２２１００、仮想ボリューム２２３００、仮想化プール２２４００、及び物理ディスク２２２００をあげたが、本発明はこれに限定されない。例えば、関連リソースとして、論理ボリューム２２１００を利用するホスト３００００、当該ホスト３００００から当該論理ボリューム２２１００への書き込みのときにデータが経由するスイッチ（図示省略）、又は、ストレージ装置のデータＩ／Ｆ２６０００などを含めてもよい。
【０３２８】
また、関連リソースとして、コピー及びバックアップなどの論理ボリューム２２１００間の設定情報及び設定状態情報などを保持するリソースを含めてもよい。
【０３２９】
図３０は、本発明の第４の実施形態のシステム管理リポジトリ１１５００に格納される、構成情報テーブル１１５２２０の一例を示す説明図である。
【０３３０】
構成情報テーブル１１５２２０は、論理ボリューム２２１００又は仮想ボリューム２２３００にホスト３００００がアクセスする場合に経由する、ホスト３００００と当該ホスト３００００に提供された論理ボリューム２２１００又は仮想ボリューム２２３００が作成されている物理ディスク２２２００との間における経路に関する情報を格納する。構成・性能情報収集プログラム１１４００が実行されることによって、構成情報テーブル１１５２２０にレコードが追加される。
【０３３１】
構成情報テーブル１１５２２０は、ホスト名１１５２２１、ボリューム番号１１５２２２、ストレージ名１１５２２３、データＩ／Ｆ番号１１５２２４、論理ボリューム番号１１５２２５、仮想化プール番号１１５２２６、及び物理ディスク番号１１５２２７を含む。
【０３３２】
ホスト名１１５２２１は、ホスト３００００を一意に識別するための識別子を格納する。ボリューム番号１１５２２２は、ストレージ装置２００００内の論理ボリューム２２１００をマウントした、ホスト３００００内のボリュームを一意に識別するための識別子を格納する。
【０３３３】
ストレージ名１１５２２３は、ボリューム番号１１２５２２に対応するボリュームを提供するストレージ装置２００００を一意に識別するための識別子を格納する。
【０３３４】
データＩ／Ｆ番号１１５２２４は、ボリューム番号１１５２２２に対応するボリュームにホスト３００００が利用するデータＩ／Ｆ２６０００の番号を一意に識別するための識別子を格納する。
【０３３５】
論理ボリューム番号１１５２２５は、ボリューム番号１１５２２２に対応するボリュームが利用している論理ボリューム２２１００を一意に識別するための識別子を格納する。
【０３３６】
仮想化プール番号１１５２２６は、仮想化プール２２４００を一意に識別するための識別子を格納する。物理ディスク番号１１５２２７は、ボリューム番号１１５２２に対応するボリュームが利用している物理ディスクを一意に識別するための識別子を格納する。
【０３３７】
尚、ホスト名１１５２２１及びボリューム番号１１５２２に「−」が格納されているレコードは、ホスト３００００にストレージが割り当てられていないことを示す。また、仮想化プール番号１１５２２６に「−」が格納されているレコードは、ホスト３００００に提供されるボリュームが論理ボリューム２２１００であることを示す。
【０３３８】
図３１は、本発明の第４の実施形態のシステム管理リポジトリ１１５００に格納される、容量情報テーブル１１５３２０の一例を示す説明図である。
【０３３９】
容量情報テーブル１１５３２０は、ストレージ装置２００００の論理ボリューム２２１００、物理ディスク２２２００、仮想ボリューム２２３００及び仮想化プール２２４００などのＳＡＮ構成要素の容量情報、並びに、ＳＡＮ構成要素の容量閾値を格納する。構成・容量情報収集プログラム１１４１０が実行されることによって、容量情報テーブル１１５３２０にレコードが追加される。
【０３４０】
ここで、容量閾値とは、仮想化プール２２４００における記憶領域の使用量などを監視するために、予め管理対象リソースに設定された値を示す。これによって、例えば、管理サーバ１００００は、運用中に容量情報の値が容量閾値を超えるとユーザへ通報する等のアクションを起こすことができる。
【０３４１】
容量情報テーブル１１５３２０は、ストレージ名１１５３２１、リソース番号１１５３２２、使用中容量１１５３２３、残リソース容量１１５３２４、及び残リソース容量閾値１１５３２５を含む。
【０３４２】
ストレージ名１１５３２１は、ストレージ装置２００００を一意に識別するための識別子を格納する。リソース番号１１５３２２は、ストレージ名１１５３２１に対応するストレージ装置２００００上に作成された、仮想ボリューム２２３００又は仮想化プール２２４００を一意に識別するための仮想ボリューム番号又は仮想化プール番号を格納する。
【０３４３】
使用中容量１１５３２３は、リソース番号１１５３２に対応する仮想化プール２２４００の全容量中若しくは仮想ボリューム２２３００として使用されている容量、又はリソース番号１１５３２に対応する仮想ボリューム２２３００の容量を格納する。
【０３４４】
残リソース容量１１５３２４は、仮想化プール２２４００全容量中のうち使用可能な残り容量を格納する。残リソース容量閾値１１５３２５は、仮想化プール２２４００に設定された容量の閾値を格納する。
【０３４５】
尚、リソース番号１１５３２２に仮想ボリューム２２３００を示す仮想ボリューム番号が格納されている場合、残リソース容量１１５３２４、及び残リソース容量閾値１１５３２５には「−」が格納される。
【０３４６】
第４の実施形態では、タスク実行による影響をシミュレートするための指標として容量情報を参照するため、管理サーバ１００００は、容量情報テーブル１１５３２０を備えているが、本発明はこれに限定されない。例えば、管理サーバ１００００は、性能情報又はコスト情報などの閾値を利用して監視を行うような指標を持つテーブルを備えてもよい。
【０３４７】
システム管理リポジトリ１１５００内に格納される、マイグレーション管理テーブル１１５４０及びタスク分類テーブル１１５５０については、第１の実施形態で示した図８及び図９と同一であるが、第４の実施形態における一例として、マイグレーション管理テーブル１１５４０を示す。
【０３４８】
図３２は、本発明の第４の実施形態のシステム管理リポジトリ１１５００に格納される、マイグレーション管理テーブル１１５４０の一例を示す説明図である。マイグレーション管理テーブル１１５４０の構成は、第１の実施形態と同一のものであるため説明を省略する。
【０３４９】
図３３は、本発明の第４の実施形態のシステム管理リポジトリ１１５００に格納される、仮想化プール管理テーブル１１５８０の一例を示す説明図である。
【０３５０】
仮想化プール管理テーブル１１５８０は、ストレージ装置２００００が備えるタスク実行プログラム２１３００が、仮想化プール２２４００に対して、新たな記憶領域を割り当てるときに必要な情報を格納する。タスク管理プログラム１１１４０が実行されることによって、仮想化プール管理テーブル１１５８０にレコードが追加される。
【０３５１】
仮想化プール管理テーブル１１５８０は、プールパス設定番号１１５８１、仮想化プール番号１１５８２、新規追加物理ディスク番号１１５８３、物理ディスク容量１１５８４、及びタスク識別子１１５８５を含む。
【０３５２】
プールパス設定番号１１５８１は、仮想化プール２２４００に記憶領域を割り当てる操作を一意に識別するための識別子を格納する。仮想化プール番号１１５８２は、プールパス設定番号１１５８１に対応する記憶領域の割当操作の対象となる仮想化プール２２４００を一意に識別するための仮想化プール番号を格納する。
【０３５３】
新規追加物理ディスク番号１１５８３は、仮想化プール番号１１５８２に対応する仮想化プール２２４００に追加される物理ディスク２２２００を一意に識別する物理ディスク番号を格納する。
【０３５４】
物理ディスク容量１１５８４は、新規追加物理ディスク番号１１５８３に対応する物理ディスク２２２００の容量を格納する。タスク識別子１１５８５は、タスクを一意に識別するための識別子を格納する。
【０３５５】
第４の実施形態では、タスクの一例として仮想化プール２２４００に対する物理ディスク２２２００の追加操作及びマイグレーションを取り上げているため、管理サーバ１００００は、仮想化プール管理テーブル１１５８０及びマイグレーション管理テーブル１１５４０を備えているが、本発明はこれに限定されない。例えば、管理サーバ１００００は、コピーなど他の機能をタスクとして管理し、各機能に対応する管理テーブルを備えていてもよい。
【０３５６】
次に、管理サーバ１００００上の各プログラムによって実行されるタスク管理処理について説明する。尚、ステップ１００１及びステップ１００３は、第１の実施形態と同一であるため、説明を省略する。以下、ステップ１００２及びステップ１００４について、第１の実施形態との差異を中心に説明する。
【０３５７】
図３４は、本発明の第４の実施形態の管理サーバ１００００に格納されるタスク管理プログラム１１１４０が新規タスクをタスク管理テーブル１１５１２０に登録する処理（ステップ１００２）の詳細を説明するフローチャートである。尚、当該フローチャートでは、仮想化プール２２４００に新たに物理ディスク２２２００を追加する操作がタスクとして計画された場合を例に説明する。
【０３５８】
タスク管理プログラム１１１４０は、ユーザ又は任意のプログラムから、タスク情報を受信する（ステップ１００２２１）。当該タスク情報には、仮想化プール番号、及び物理ディスク番号が含まれる。
【０３５９】
タスク管理プログラム１１１４０は、受信したタスク情報に基づいて、仮想化プール管理テーブル１１５８０に、新規エントリを作成し、仮想化プール番号１１５８２、新規追加物理ディスク番号１１５８３、物理ディスク容量１１５８４、及びタスク識別子１１５８５を設定する（ステップ１００２２２）。
【０３６０】
タスク管理プログラム１１１４０は、受信したタスク情報に基づいて、タスク管理テーブル１１５１２０に新規エントリを作成し、タスク種別１１５１２２及びタスク識別子１１５１２１を設定する（ステップ１００２２３）。尚、タスク識別子１１５１２１には、仮想化プール管理テーブル１１５８０のタスク識別子１１５８５と同一の識別子が設定される。
【０３６１】
次に、タスク管理プログラム１１１４０は、仮想化プール管理テーブル１１５８０を参照し、タスクの処理対象となるリソースを取得する（ステップ１００２２４）。
【０３６２】
タスク管理プログラム１１１４０は、取得されたタスクの処理対象となるリソースと構成上又は設定上関連するリソースを構成情報テーブル１１５２２０から取得し、タスク管理テーブル１１５１２０のタスク関連リソース１１５１２４、１１５１２５、１１５１２６に設定する（ステップ１００２２５）。
【０３６３】
タスク管理プログラム１１１４０は、新たに計画されたタスクがユーザによって計画されたタスクであるか否かを判定する（ステップ１００２２６）。
【０３６４】
新たに計画されたタスクがユーザによって計画されたタスクであると判定された場合、タスク管理プログラム１１１４０は、タスク実行の目的についてユーザ入力を要求し（ステップ１００２２７）、ユーザ入力の結果をタスク管理テーブル１１５１２０のタスク実行要因１１５１２３に設定し（ステップ１００２２８）、ステップ１００２３０に進む。
【０３６５】
ステップ１００２２６において、新たに計画されたタスクがユーザによって計画されたタスクでないと判定された場合、つまり、任意のプログラムによって計画されたタスクであると判定された場合、タスク管理プログラム１１１４０は、タスク情報を送信してきたプログラムからタスク実行が計画された契機を取得し、取得されたタスク実行が計画された契機をタスク管理テーブル１１５１２０のタスク実行要因１１５１２３に設定し（ステップ１００２２９）、ステップ１００２３０に進む。
【０３６６】
タスク管理プログラム１１１４０は、タスク実行状況１１５１２７に「未実行」を設定し（ステップ１００２３０）、処理を終了する。
【０３６７】
図３５は、本発明の第４の実施形態の管理サーバ１００００に格納されるタスク実行判定プログラム１１３４０が新規タスクを実行すべきか否かを判定する処理（ステップ１００４）の詳細な説明するフローチャートである。
【０３６８】
まず、タスク実行判定プログラム１１３４０は、タスク間関連抽出プログラム１１２００を実行することによって抽出された計画済みタスクを取得する（ステップ１００４２１）。
【０３６９】
次に、タスク実行判定プログラム１１３４０は、ステップ１００４２１において取得された各計画済みタスクに対して、以下の処理を実行する（ステップ１００４２２）。
【０３７０】
タスク実行判定プログラム１１３４０は、タスク管理テーブル１１５１２０を参照し、取得された計画済みタスクのタスク実行状況１１５１２７が「実行完了」であるか否かを判定する（ステップ１００４２３）。
【０３７１】
取得された計画済みタスクのタスク実行状況１１５１２７が「実行完了」であると判定された場合、タスク実行判定プログラム１１３４０は、タスク管理テーブル１１５１２０、及びステップ１０００４２１において取得されたタスクから、当該タスクを削除し（ステップ１００４２７）、ステップ１００４２８に進む。
【０３７２】
取得された計画済みタスクのタスク実行状況１１５１２７が「実行完了」でないと判定された場合、タスク実行判定プログラム１１３４０は、タスク管理テーブル１１５１２０から当該計画済みタスクの関連リソースを取得する（ステップ１００４２４）。
【０３７３】
次に、タスク実行判定プログラム１１３４０は、取得された各関連リソースの容量情報を容量情報テーブル１１５３２０から取得する（ステップ１００４２５）。
【０３７４】
タスク実行判定プログラム１１３４０は、計画済みタスクが実行された後の各関連リソースの容量値をシミュレートする（ステップ１００４２６）。
【０３７５】
タスク実行判定プログラム１１３４０は、取得された全ての計画済みタスクについて処理が終了したか否かを判定する（ステップ１００４２８）。
【０３７６】
取得された全ての計画済みタスクについて処理を終了していないと判定された場合、タスク実行判定プログラム１１３４０は、ステップ１００４２２に戻り、ステップ１００４２２〜ステップ１０００４２８の処理を実行する。
【０３７７】
取得された全ての計画済みタスクについて処理を終了したと判定された場合、タスク実行判定プログラム１１３４０は、タスク管理テーブル１１５１２０から新規タスクの関連リソースを取得する（ステップ１００４２９）。
【０３７８】
次に、タスク実行判定プログラム１１３４０は、容量情報テーブル１１５３２０から取得された新規タスクの各関連リソースの残リソース容量閾値１１５３２５を取得する（ステップ１００４３０１）。
【０３７９】
タスク実行判定プログラム１１３４０は、シミュレートされた容量値が、ステップ１００４３０１において取得された新規タスクの関連リソースの残リソース容量閾値１１５３２５を満たしているか否かを判定する（ステップ１００４３０２）。
【０３８０】
シミュレートされた容量値が、取得された新規タスクの関連リソースの残リソース容量閾値１１５３２５を満たしていると判定された場合、タスク実行判定プログラム１１３４０は、タスク管理テーブル１１５１２０及び仮想化プール管理テーブル１１５８０から新規タスクを削除し（ステップ１００４３０３）、処理を終了する。
【０３８１】
ステップ１００４３０２において、シミュレートされた容量値が、取得された新規タスクの関連リソースの残リソース容量閾値１１５３２５を満たしていないと判定された場合、タスク実行判定プログラム１１３４０は、タスク管理テーブル１１５１２０から新規タスクのタスク実行状況１１５１２７を取得する（ステップ１００４３０４）。
【０３８２】
タスク実行判定プログラム１１３４０は、取得された新規タスクのタスク実行状況１１５１２７が「未実行」であるか否かを判定する（ステップ１００４３０５）。
【０３８３】
取得された新規タスクのタスク実行状況１１５１２７が「未実行」でないと判定された場合、タスク実行判定プログラム１１３４０は、処理を終了する。
【０３８４】
ステップ１００４３０５において、取得された新規タスクのタスク実行状況１１５１２７が「未実行」であると判定された場合、タスク実行判定プログラム１１３４０は、ステップ１００４２１において取得された各計画済みタスクに対して、以下の処理を実行する（ステップ１００４３０６）。但し、ステップ１００４２７において削除されたタスクがある場合、当該タスクには以下の処理は実行されない。
【０３８５】
タスク実行判定プログラム１１３４０は、タスク管理テーブル１１５１２０から計画済みタスクのタスク実行状況１１５１２７を取得し、取得されたタスク実行状況１１５１２７が「実行完了」であるか否かを判定する（ステップ１００４３０７）。
【０３８６】
取得されたタスク実行状況１１５１２７が「実行完了」であると判定された場合、タスク実行判定プログラム１１３４０は、ステップ１００４２２に戻り、ステップ１００４２２以下の処理を実行する。
【０３８７】
ステップ１００４３０７において、取得されたタスク実行状況１１５１２７が「実行完了」でないと判定された場合、タスク実行判定プログラム１１３４０は、全ての計画済みタスクに対して処理を終了したか否かを判定する（ステップ１００４３０８）。
【０３８８】
全ての計画済みタスクに対して処理を終了していないと判定された場合、タスク実行判定プログラム１１３４０は、ステップ１００４３０６に戻り、ステップ１００４３０６以下の処理を実行する。
【０３８９】
全ての計画済みタスクに対して処理を終了したと判定された場合、タスク実行判定プログラム１１３４０は、ステップ１００４３０５に戻り、ステップ１００４３０５以下の処理を実行する。
【０３９０】
第４の実施形態では、「タスクＢ」が新規タスクとして計画され、「タスクＡ」が新規タスクに関連する計画済みタスクとして抽出される。
【０３９１】
タスク実行判定プログラム１１３４０は、「タスクＡ」の関連リソースである仮想ボリューム２２３００（ｖｖ１）、論理ボリューム２２１００（ＬＶ１）、仮想化プール２２４００（ｖｐ１）、及び物理ディスク２２２００（ｅ１、ｅ３）について、アーカイブ実行の結果の容量値をシミュレートすることによって、仮想化プール２２４００（ｖｐ１）の残リソース容量１１５３２４が９０から１９０になり、仮想ボリューム２２３００（ｖｖ１）の残リソース容量１１５３２４が１００から０になることが予測できる。
【０３９２】
この結果、タスク実行判定プログラム１１３４０は、「タスクＢ」のタスク実行要因１１５１２３である仮想化プール２２４００（ｖｐ１）の残リソース容量１１５３２４が残リソース容量閾値１１５３２５を満たすことが分かるため、「タスクＢ」を余分なタスクとして排除することができる。
【０３９３】
本発明の第４の実施形態によれば、タスクの実行要因及びタスクと構成上又は設定上関連するリソースを、付加情報としてタスクに関連付けて管理することによって、注目しているタスクにおいて考慮していない別の処理の影響を含めた結果をシミュレートして、タスク実行の必要性を判定できる。
【０３９４】
これによって、タスク実行の必要がない場合、当該タスクの実行を取り消すなど、余分なタスクを排除することができる。
【０３９５】
また、第４の実施形態では、特に、実行が完了したタスクについての実測値を含めたシミュレートを随時実行することによって、タスク実行の必要性の判定の精度を高める効果がある。
【０３９６】
以上説明を行ってきた第１乃至第４の実施形態はどのような組み合わせを行ってもよい。また、システム管理リポジトリに含まれる性能情報テーブル１１５３０等の本発明の「テーブル」については必ずしもデータ構造がテーブルである必要はなく、リンクリスト等のほかのデータ構造であってもよい。そのことを明記するために、「テーブル」はデータ構造の意味を持たない「情報」と読み替えてもよい。
【符号の説明】
【０３９７】
１００００  管理サーバ
１１５００  システム管理リポジトリ
１２０００  記憶装置
１３０００  入力装置
１４０００  出力装置
１５０００  プロセッサ
１６０００  通信装置
１７０００  通信路
２００００  ストレージ装置
２５０００  プロセッサ
２６０００  データＩ／Ｆ
２７０００  通信路
３００００  ホスト
３２０００  データＩ／Ｆ
３３０００  プロセッサ
３４０００  管理Ｉ／Ｆ
３５０００  通信路
４００００  ファイバチャネル
５００００  管理用ネットワーク
【図１】
2010191524.tif 000003
【図２】
2010191524.tif 000004
【図３】
2010191524.tif 000005
【図４】
2010191524.tif 000006
【図５】
2010191524.tif 000007
【図６】
2010191524.tif 000008
【図７】
2010191524.tif 000009
【図８】
2010191524.tif 000010
【図９】
2010191524.tif 000011
【図１０】
2010191524.tif 000012
【図１１】
2010191524.tif 000013
【図１２】
2010191524.tif 000014
【図１３】
2010191524.tif 000015
【図１４】
2010191524.tif 000016
【図１５】
2010191524.tif 000017
【図１６】
2010191524.tif 000018
【図１７】
2010191524.tif 000019
【図１８】
2010191524.tif 000020
【図１９】
2010191524.tif 000021
【図２０】
2010191524.tif 000022
【図２１】
2010191524.tif 000023
【図２２】
2010191524.tif 000024
【図２３】
2010191524.tif 000025
【図２４】
2010191524.tif 000026
【図２５】
2010191524.tif 000027
【図２６】
2010191524.tif 000028
【図２７】
2010191524.tif 000029
【図２８】
2010191524.tif 000030
【図２９】
2010191524.tif 000031
【図３０】
2010191524.tif 000032
【図３１】
2010191524.tif 000033
【図３２】
2010191524.tif 000034
【図３３】
2010191524.tif 000035
【図３４】
2010191524.tif 000036
【図３５】
2010191524.tif 000037