(57)【特許請求の範囲】
【請求項１】
１種類以上のストレージ装置を含んだ計算機システムに接続された管理システムであって、
管理情報を記憶する記憶資源と、
前記記憶資源に接続されたプロセッサと
を有し、
前記管理情報が、
（ａ）管理者の要求を満たす機能を実現するために必要なストレージ機能を表す情報を管理者要求毎に有した情報である要求／機能対応情報、
（ｂ）前記計算機システムに含まれているストレージ装置が有するストレージ機能を表す情報を各ストレージ装置について有した情報である所持機能情報、
を含み、
前記ストレージ機能は、ストレージ装置が有する機能であり、
前記プロセッサが、
（Ａ）前記管理者の要求を受け、
前記管理者により要求された機能が、前記ストレージ装置に記憶されていない場合、前記プロセッサは、下記の（Ｂ）及び（Ｃ）を実行することにより、前記機能を実現する代替機能の特定を実行する、
（Ｂ）１以上の実現パターンのうちのいずれかの実現パターンである前記代替機能を特定し、
前記実現パターンは、前記要求／機能対応情報と前記所持機能情報とを基に、前記（Ａ）で受けた管理者要求を満たす機能を実現するために必要なストレージ機能を有するストレージ装置を含んだシステム構成であり、
（Ｃ）前記（Ｂ）で特定された１以上の実現パターンのうちのいずれかの実現パターンである決定実現パターンに対して、前記（Ａ）で受けた管理者要求を満たす機能を実現するための設定を行う、
管理システム。
【請求項２】
請求項１記載の管理システムであって、
前記管理情報が、更に、
（ｃ）管理者要求を満たす１以上の機能のうち、機能に関連する事項でありその事項を実現するにあたり制限がかかる制限事項を有する機能についてその制限事項を表す情報を含んだ制限管理情報、
を含み、
前記（Ｂ）において、前記プロセッサが、実現パターンに加えて、前記制限管理情報を基に、前記（Ａ）で受けた管理者要求を満たす機能についての制限事項を特定し、
前記決定実現パターンは、前記（Ｂ）で特定された１以上の実現パターンの１以上の制限事項を基に決定された実現パターンである、
管理システム。
【請求項３】
請求項２記載の管理システムであって、
前記（Ｂ）において、前記プロセッサが、特定された１以上の実現パターンを表す情報を表示したユーザインタフェース画面を表示し、
前記ユーザインタフェース画面には、前記１以上の実現パターンのうち制限事項がある実現パターンについては、その制限事項を表す情報が表示され、
前記決定実現パターンは、前記ユーザインタフェース画面を通じて前記管理者から選択された実現パターンである、
管理システム。
【請求項４】
請求項３記載の管理システムであって、
前記（Ａ）において、前記プロセッサが、設定に関する条件である設定条件を受け、
前記（Ｂ）において、前記プロセッサが、前記（Ａ）で受けた管理者要求を満たす機能を実現するための１以上の実現パターンのうちの、前記設定条件に適合する制限事項を有しない実現パターンを特定する、
管理システム。
【請求項５】
請求項４記載の管理システムであって、
前記管理情報が、更に、
（ｄ）各ストレージ装置及び／又は各ホスト計算機の状況を表す情報とその状況時の時間を表す情報とを含んだ状況情報、
を含み、
前記プロセッサが、
（Ｘ）前記計算機システム内の各ストレージ装置及び／又は各ホスト計算機の状況を定期的又は不定期的に検出し、検出した状況を表す情報とその時の時間を表す情報とを前記状況情報に含め、
（Ｙ）前記（Ａ）で受けた管理者要求を満たす機能を実現するための１以上の実現パターンの各々について、前記状況情報を基に、追加すべき制限事項があるか否かを判定し、その判定の結果が肯定的となった実現パターンに対応する機能について、前記制限管理情報に、追加すべき制限事項を追加する、
管理システム。
【請求項６】
請求項５記載の管理システムであって、
前記要求／機能対応情報は、管理者要求を満たす機能によっては、ストレージ機能を表す情報に代えて又は加えて、ホスト計算機が有する機能であるホスト機能を表す情報を含み、
前記（Ｂ）で特定された１以上の実現パターンは、ストレージ装置に加えてそのストレージ装置に接続されているホスト計算機を含んだ実現パターンを含む、
管理システム。
【請求項７】
請求項６記載の管理システムであって、
前記（Ｃ）における設定は、論理ボリュームの作成である、
管理システム。
【請求項８】
請求項７記載の管理システムであって、
前記計算機システムにおいて、前記ストレージ装置の種類及び／又は前記ホスト計算機の種類は、複数である、
管理システム。
【請求項９】
請求項２記載の管理システムであって、
前記（Ａ）において、前記プロセッサが、設定に関する条件である設定条件を受け、
前記（Ｂ）において、前記プロセッサが、前記（Ａ）で受けた管理者要求を満たす機能を実現するための１以上の実現パターンのうちの、前記設定条件に適合する制限事項を有しない実現パターンを特定する、
管理システム。
【請求項１０】
請求項２記載の管理システムであって、
前記管理情報が、更に、
（ｄ）各ストレージ装置及び／又は各ホスト計算機の状況を表す情報とその状況時の時間を表す情報とを含んだ状況情報、
を含み、
前記プロセッサが、
（Ｘ）前記計算機システム内の各ストレージ装置及び／又は各ホスト計算機の状況を定期的又は不定期的に検出し、検出した状況を表す情報とその時の時間を表す情報とを前記状況情報に含め、
（Ｙ）前記（Ａ）で受けた管理者要求を満たす機能を実現するための１以上の実現パターンの各々について、前記状況情報を基に、追加すべき制限事項があるか否かを判定し、その判定の結果が肯定的となった実現パターンに対応する機能について、前記制限管理情報に、追加すべき制限事項を追加する、
管理システム。
【請求項１１】
請求項１記載の管理システムであって、
前記要求／機能対応情報は、管理者要求を満たす機能によっては、ストレージ機能を表す情報に代えて又は加えて、ホスト計算機が有する機能であるホスト機能を表す情報を含み、
前記（Ｂ）で特定された１以上の実現パターンは、ストレージ装置に加えてそのストレージ装置に接続されているホスト計算機を含んだ実現パターンを含む、
管理システム。
【請求項１２】
１種類以上のストレージ装置を含んだ計算機システムの管理方法であって、
（Ａ）管理者の要求を受け、
前記管理者により要求された機能が、前記ストレージ装置に記憶されていない場合、前記プロセッサは、下記の（Ｂ）及び（Ｃ）を実行することにより、前記機能を実現する代替機能の特定を実行する、
（Ｂ）１以上の実現パターンのうちのいずれかの実現パターンである前記代替機能を特定し、
前記実現パターンは、前記要求／機能対応情報と前記所持機能情報とを基に、前記（Ａ）で受けた管理者要求を満たす機能を実現するために必要なストレージ機能を有するストレージ装置を含んだシステム構成であり、
（Ｃ）前記（Ｂ）で特定された１以上の実現パターンのうちのいずれかの実現パターンである決定実現パターンに対して、前記（Ａ）で受けた管理者要求を満たす機能を実現するための設定を行い、
前記要求／機能対応情報が、管理者の要求を満たす機能を実現するために必要なストレージ機能を表す情報を管理者要求毎に有する情報であり、
前記所持機能情報が、前記計算機システムに含まれているストレージ装置が有するストレージ機能を表す情報を各ストレージ装置について有した情報である、
管理方法。
【請求項１３】
１種類以上のストレージ装置を含んだ計算機システムに接続されたコンピュータで実行されるコンピュータプログラムであって、
（Ａ）管理者の要求を受け、
前記管理者により要求された機能が、前記ストレージ装置に記憶されていない場合、前記プロセッサは、下記の（Ｂ）及び（Ｃ）を実行することにより、前記機能を実現する代替機能の特定を実行する、
（Ｂ）１以上の実現パターンのうちのいずれかの実現パターンである前記代替機能を特定し、
前記実現パターンは、前記要求／機能対応情報と前記所持機能情報とを基に、前記（Ａ）で受けた管理者要求を満たす機能を実現するために必要なストレージ機能を有するストレージ装置を含んだシステム構成であり、
（Ｃ）前記（Ｂ）で特定された１以上の実現パターンのうちのいずれかの実現パターンである決定実現パターンに対して、前記（Ａ）で受けた管理者要求を満たす機能を実現するための設定を行う、
ことを前記コンピュータに実行させ、
前記要求／機能対応情報が、管理者の要求を満たす機能を実現するために必要なストレージ機能を表す情報を管理者要求毎に有する情報であり、
前記所持機能情報が、前記計算機システムに含まれているストレージ装置が有するストレージ機能を表す情報を各ストレージ装置について有した情報である、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムの管理に関する。
【背景技術】
【０００２】
ストレージ装置（以下、ストレージサブシステム）が有する機能として、例えば、以下の機能がある。
【０００３】
第１の機能として、容量自動拡張機能がある（例えば特許文献１）。容量自動拡張機能によれば、ストレージサブシステムは、ホスト計算機からのアクセス要求に応答して、物理リソースの一部領域（以下、セグメント）を論理的な記憶領域（以下、論理ボリューム）に割当てる。これにより、論理ボリュームの容量が自動的に拡張される。
【０００４】
第２の機能として、アクセス制御機能がある（例えば特許文献２）。アクセス制御機能によれば、ストレージサブシステムは、論理ボリューム毎にアクセス属性（例えば、リードオンリー、ライト及びリード許可）を管理し、論理ボリュームに対するアクセスの許否を、その論理ボリュームに対応したアクセス属性を基に制御する。
【０００５】
第３の機能として、マイグレーション機能がある（例えば、特許文献３〜５）。マイグレーション機能によれば、ストレージサブシステムは、論理ボリューム内のデータを別の論理ボリュームにマイグレーションする。
【０００６】
なお、容量自動拡張機能により容量が動的に拡張される仮想的な論理ボリュームを、本明細書では、「自動容量拡張ボリューム」と呼ぶ。また、複数の物理記憶デバイス（例えば、ハードディスクドライブ或いはフラッシュメモリデバイス）から構成されるＲＡＩＤ（Redundant  Array  of  Independent  Disks）上の論理的な記憶デバイスを、本明細書では、「物理リソース」と呼ぶ。また、アクセス属性が関連付けられた論理ボリュームを、本明細書では、「セキュリティボリューム」と呼ぶ。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−１５９１５号公報
【特許文献２】特開２０００−１１２８２２号公報
【特許文献３】特開２０００−２９３３１７号公報
【特許文献４】米国特許第６１０８７４８号明細書
【特許文献５】特開２００３−３４５５２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ストレージサブシステムの管理者（以下、ユーザ）は、計算機システム内のストレージサブシステムを管理する。
【０００９】
計算機システムの大規模化に伴い、計算機システムに含まれるストレージサブシステムの数が増えてきている。このため、ユーザが管理しなければならないストレージサブシステムの数が増えてきている。
【００１０】
また、ヘテロ環境を有する計算機システムが知られている。この種の計算機システムには、複数の異種のストレージサブシステム（例えば、ベンダーが異なるストレージサブシステム、及び／又は、新型と旧型のストレージサブシステム）が混在する。ここで、ストレージサブシステムの種類は、ストレージサブシステムのベンダー、機能、構成及び性能のうちの少なくとも１つによって定まって良い。
【００１１】
ユーザの望む機能が発揮される対象（例えば、論理ボリューム、或いは、論理ボリュームへのパス）を設定するために、ユーザは、ストレージサブシステムの種類を意識しなければならない。例えば、ユーザの望む機能が発揮される自動容量拡張ボリュームを作成したい場合、通常、ユーザは、各ストレージサブシステムの種類を基に、どのストレージサブシステムに自動容量拡張ボリュームを作成するかを決定する。
【００１２】
本発明の目的は、管理者（ユーザ）がストレージ装置（ストレージサブシステム）の種類を意識することなく、管理者の要求を満たす機能が発揮される設定が行われるようにすることにある。
【課題を解決するための手段】
【００１３】
１種類以上のストレージサブシステムを含む計算機システムに接続された管理システムが、管理情報を記憶する記憶資源と、その記憶資源に接続されたプロセッサとを有する。管理情報が、（ａ）ユーザの要求を満たす機能を実現するために必要なストレージ機能（ストレージサブシステムが有する機能）を表す情報をユーザ要求毎に有した情報である要求／機能対応情報、（ｂ）前記計算機システムに含まれているストレージサブシステムが有するストレージ機能を表す情報を各ストレージサブシステムについて有した情報である所持機能情報、を含む。プロセッサが、（Ａ）ユーザ要求を受け、（Ｂ）前記要求／機能対応情報と前記所持機能情報とを基に、前記（Ａ）で受けたユーザ要求を満たす機能を実現するために必要なストレージ機能を有するストレージサブシステムを含んだシステム構成である実現パターンを特定し、（Ｃ）前記（Ｂ）で特定された１以上の実現パターンのうちのいずれかの実現パターンである決定実現パターンに対して、前記（Ａ）で受けたユーザ要求を満たす機能を実現するための設定を行う。
【００１４】
ユーザの要求は、ユーザインタフェース画面（ＧＵＩ（Graphical  User  Interface））を通じて受けても良いし、他のインタフェースを通じて受けても良い。
【００１５】
ユーザ要求としては、例えば、自動容量拡張ボリュームの作成や、セキュリティボリュームの作成、アーカイブ、マイグレーションなどが挙げられる。ここでの「アーカイブ」とは、例えば、ストレージサブシステム内の論理ボリュームの有する複数のデータ（例えばファイル）を１つのデータにまとめることを表す。尚、その際、データの実質的な性質を保ちつつデータ量を減らす技術が使用されても良い。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施例１に係る計算機システムの構成を示す。
【図２】ストレージサブシステム１０００の内部構成を示す。
【図３】ホスト計算機２０００の内部構成を示す。
【図４】管理計算機４０００の内部構成を示す。
【図５】必要構成テーブル４１９０の詳細の一例を示す。
【図６】制限情報テーブル４２００の詳細の一例を示す。
【図７】システム所持機能テーブル４２１０の詳細の一例を示す。
【図８】システム構成情報テーブル４２２０の詳細の一例を示す。
【図９】実現パターンテーブル４２３０の詳細の一例を示す。
【図１０】性能テーブル４２４０の詳細の一例を示す。
【図１１】構成管理プログラム４１１０が行う処理のフローを示す。
【図１２】機能管理プログラム４１２０が行う処理のフローを示す。
【図１３】実現パターン取得プログラム４１３０が行う処理のフローを示す。
【図１４】性能監視プログラム４１４０が行う処理のフローを示す。
【図１５】ユーザ要求ＵＩ画面（ＵＩ１１００）の詳細の一例を示す。
【図１６】構成決定ＵＩ画面（ＵＩ２１００）の詳細の一例を示す。
【図１７】実現パターン決定プログラム４１５０が行う処理のフローを示す。
【図１８】マッチ構成検出プログラム４１６０が行う処理のフローを示す。
【図１９】制限情報追加プログラム４１７０が行う処理のフローを示す。
【図２０】システム設定プログラム４１８０が行う処理のフローを示す。
【図２１】本発明の実施例２に係る計算機システムの構成を示す。
【図２２】本発明の実施例３に係る計算機システムの構成を示す。
【発明を実施するための形態】
【００１７】
本発明の１つの実施形態では、１以上のホスト計算機（例えば複数の異種のホスト計算機）とそれら１以上のホスト計算機に接続された１以上のストレージサブシステム（例えば複数の異種のストレージサブシステム）とを含んだ計算機システム（例えば、１以上のホスト計算機及び／又は１以上のストレージサブシステム）に、管理システムが接続されている。ユーザが、或る論理的な対象（例えば、論理ボリューム）を設定する際に、構成変更後の条件（以下、変更条件）を指定した構成変更要求を管理システムに指定することができる。管理システムが、その構成変更要求に従い、指定された変更条件を満たすために、ストレージサブシステムの機能を表す情報（以下、ストレージ機能情報）とホスト計算機の機能を表す情報（以下、ホスト機能情報）と、どのストレージサブシステムにどのホスト計算機が接続されているかであるシステム構成を表す情報（以下、システム構成情報）とを取得する。管理システムは、ユーザの変更条件を満たすシステム構成を表すシステム構成情報と、そのシステム構成に従う制限を表す情報（以下、制限情報）とを表示する。ユーザは、表示されたシステム構成情報及び制限情報との組合せを基に、所望のシステム構成を管理システムに指定する。管理システムは、指定されたシステム構成に従う装置（例えば、指定されたシステム構成におけるストレージサブシステム）に、上記或る論理的な対象を設定する。
【００１８】
以下の説明では、何らかの要素を識別するための情報として、ＩＤ（識別子）或いは番号が用いられるが、それに限らず、他種の識別情報が用いられても良い。例えば、識別情報は、ストレージサブシステムのモデル名や製造番号など、管理対象を一意に識別できる情報であれば良い。
【００１９】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ（例えばＣＰＵ（Central  Processing  Unit））によって実行されることで、定められた処理を、適宜に記憶資源（例えばメモリ）及び／又は通信インタフェースプロセッサ（例えば通信ポート）を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、管理システムが行う処理としても良い。また、プロセッサは、プロセッサが行う処理の一部又は全部を行うハードウェア回路を含んでも良い。
【００２０】
管理システムは、一以上の計算機で構成されて良い。具体的には、例えば、管理計算機が情報を表示する場合、或いは、管理計算機が表示用情報を遠隔の計算機に送信する場合、管理計算機が管理システムである。また、例えば、複数の計算機で管理計算機と同等の機能が実現されている場合は、当該複数の計算機（表示を表示用計算機が行う場合は表示用計算機を含んで良い）で構成されたシステムが、管理システムである。以下の各実施例では、管理計算機が、管理システムであるとする。
【００２１】
また、ストレージサブシステム及び／又は管理システムが管理する情報（以下、管理情報）のデータ構造は、実施例で採用されているテーブルのようなデータ構造でも良いし、ＸＭＬのような階層的なデータ構造でも良い。管理情報のデータ構造は特に限定されない。また、管理情報は、物理記憶デバイス（例えばハードディスクドライブ）に記憶されても良いし、メモリに記憶されても良い。
【００２２】
次に、本発明の幾つかの実施例を説明する。なお、本発明は、以下の実施例１〜３（又は、それらのうちの２以上の実施例の組合せ）に限定されない。
【実施例１】
【００２３】
＜Ａ１.  システム構成＞。
【００２４】
図１は、本発明の実施例１に係る計算機システムの構成を示す。なお、以下の説明では、通信インタフェース装置を「Ｉ／Ｆ」と略記する。
【００２５】
この計算機システムは、ストレージサブシステム１０００と、ホスト計算機２０００と、スイッチ装置３０００と、管理計算機４０００と、スイッチ装置５０００と、を有している。
【００２６】
図中では、ストレージサブシステム１０００と、ホスト計算機２０００と、管理計算機４０００と、がそれぞれ１台ずつ存在しているが、これらは、それぞれ、１台以上存在すれば良い。また、スイッチ装置３０００と、スイッチ装置５０００と、がそれぞれ１台ずつ存在しているが、ストレージサブシステム１０００と、ホスト計算機２０００と、管理計算機４０００と、の接続ができれば、スイッチ装置は、何台でも良い（０台でも構わない）。
【００２７】
ストレージサブシステム１０００とホスト計算機２０００は、スイッチ装置３０００を介してネットワーク接続されている。また、ストレージサブシステム１０００と管理計算機４０００は、スイッチ装置５０００を介してネットワーク接続されている。なお、スイッチ装置３０００とスイッチ装置５０００は同一の装置であっても良い。
【００２８】
スイッチ装置３０００は、ストレージサブシステム１０００との接続のためのＩ／Ｆ３１００と、ホスト計算機２０００との接続のためのＩ／Ｆ３２００と、を有している。これらは、ストレージサブシステム１０００とホスト計算機２０００との間（スイッチ装置３０００を介した通信）で利用される通信プロトコルは、例えば、ＦＣ（Fibre  Channel）又はｉＳＣＳＩであるが、何でも良い。また、図中では、Ｉ／Ｆ３１００が１つ、Ｉ／Ｆ３２００が１つ存在しているが、これらは１つ以上存在すれば良い。
【００２９】
スイッチ装置５０００は、ストレージサブシステム１０００との接続のためのＩ／Ｆ５１００と、管理計算機４０００との接続のためのＩ／Ｆ５２００と、を有している。ストレージサブシステム１０００と管理計算機４０００との間（スイッチ装置５０００を介した通信）で利用される通信プロトコルは、例えば、ＴＣＰ／ＩＰであるが、何でも良い。また、図中では、Ｉ／Ｆ５１００が１つ、Ｉ／Ｆ５２００が１つ存在しているが、これらは１つ以上存在すれば良い。
【００３０】
なお、本実施例において、スイッチ装置３０００とスイッチ装置５０００はＩ／Ｆを通じて接続されているが、接続はこれに限定されない。
【００３１】
図２は、ストレージサブシステム１０００の内部構成を示す。
【００３２】
ストレージサブシステム１０００は、ディスク装置１１００と、ディスクコントローラ１２００と、を有している。
【００３３】
ディスク装置１１００は、複数のディスク型記憶デバイスを有する。具体的には、例えば、ディスク装置１１００は、例えば、１以上のＲＡＩＤグループを有し、各ＲＡＩＤグループが、ＲＡＩＤに従う、複数のディスク型物理記憶デバイスの集合である。ディスク型記憶デバイスは、例えば、ＨＤＤ（Hard  Disk  Drive）又はＳＳＤ（Solid  State  Drive）である。なお、ディスク型記憶デバイスに代えて、他種の物理記憶デバイスが採用されて良い。従って、ディスクコントローラ１２００に代えて、ディスク型記憶デバイス以外の種類の物理記憶デバイスにアクセス可能なコントローラ（ストレージコントローラ）が採用されて良い。
【００３４】
１以上のＲＡＩＤグループを基に、１以上の物理リソース１１２１が設けられる。ここで、「物理リソース」とは、ＲＡＩＤグループが有する記憶領域の一部であり、ＲＡＩＤグループを構成する複数の物理記憶デバイスに跨る記憶領域である。物理リソース１１２１を提供する物理記憶デバイスの種類については特に限定しない。図中では、物理リソース１１２１が二つ存在しているが、この限りではなく、１つ以上の物理リソースがあればよい。
【００３５】
ディスクコントローラ１２００は、メモリ１２１０と、制御装置１２２０と、スイッチ装置３０００との接続のためのＩ／Ｆ１２３０と、スイッチ装置５０００との接続のためのＩ／Ｆ１２４０と、ディスク装置１１００内の物理記憶デバイスとの接続のためのＩ／Ｆ１２５０と、を有している。これらの構成要素は、例えば、バス又はスイッチを通じて接続されている。
【００３６】
ディスクコントローラ１２００は、論理ボリューム１１１０を管理する。論理ボリューム１１１０は、１つ以上の物理リソース１１２１で構成された論理的な記憶デバイス（ディスクコントローラ１２００によって、ホスト計算機２０００に提供される、論理的な記憶領域）である。図示の論理ボリューム１１１０は、あらかじめ割当てられた、１又は複数の物理リソース１１２１から構成されており、論理ボリューム１１１０の容量と、それを構成する物理リソース１１２１の合計の容量とは等しい。
【００３７】
ここで、論理ボリューム１１００の種類は、１以上あって良い。例えば、論理ボリューム１１００として、自動容量拡張ボリュームが存在しても良い。
【００３８】
また、図中では、論理ボリューム１１００の数が１であるが、ディスクコントローラ１２００は、複数の論理ボリューム１１００を管理して良い。本実施例では説明の都合上、ディスクコントローラ１２００が自動容量拡張ボリュームを管理していないとするが、論理ボリューム１１１０として、自動容量拡張ボリュームがあっても良い。
【００３９】
メモリ１２１０は、制御装置１２２０が用いるプログラムとデータを記憶する。例えば、メモリ１２１０は、構成取得プログラム（以下、構成取得プログラム）１２１１と、ストレージ所持機能取得プログラム（以下、機能取得プログラム）と、ストレージ設定プログラム１２１３と、を有している。ストレージサブシステム１０００が有するソフトウェア（コンピュータプログラム）及び／又はハードウェア、及び／又は、ホスト計算機２０００が有するソフトウェア（コンピュータプログラム）及び／又はハードウェアにより実現される機能の例としては、ボリューム作成管理機能、コピー機能、自動容量拡張ボリュームの作成機能、セキュリティボリュームの作成機能などがある。
【００４０】
構成取得プログラム１２１１は、ストレージサブシステム１０００とホスト計算機２０００の接続関係を表す情報を含んだ構成情報を収集する。このプログラム１２１１は、その構成情報を他のプログラムに送信する。
【００４１】
機能取得プログラム１２１２は、ストレージサブシステム１０００が有する機能を表すストレージ機能情報を収集する。このプログラム１２１２は、そのストレージ機能情報を他のプログラムに送信する。
【００４２】
ストレージ設定プログラム１２１３は、ストレージサブシステム１０００に対し、構成の設定を指示する。このプログラム１２１３は、管理計算機４０００からストレージサブシステム１０００の構成変更要求を受け付ける機能を有している。
【００４３】
制御装置１２２０は、メモリ１２１０内のプログラムの実行、メモリ１２１０に対するデータの入出力、及び、ディスクコントローラ１２００が有する各Ｉ／Ｆを通じたデータや制御命令の入出力、を制御する。制御装置１２２０は、例えば、ＣＰＵである。
【００４４】
なお、本実施例では、ストレージサブシステム１０００が、複数の論理ボリューム１１１０を結合する機能（以降、ＬＵＳＥ（Logical  Unit  Size  Expansion））と、１つの論理ボリューム１１１０をホスト計算機２０００に割当てる機能とを有するとする。また、本実施例では、ストレージサブシステム１０００が、一般的なストレージサブシステムが有する一般的な機能（例えば、論理ボリュームをＩ／Ｆ（Ａ）１２３０を通じてホスト計算機２０００に割り当てる機能）を有しているとするが、簡略化のため、そのような機能が図示されない。このような一般的な機能と区別するため、本実施例では、ユーザ所望の対象の設定に影響する機能が、「特有機能」と呼ばれても良い。例えば、特有機能は、図５に示すテーブルに記述される情報が表す機能である。
【００４５】
ストレージサブシステム１０００は、他に、ストレージサブシステム１０００のユーザがデータを入力するための入力装置や、ストレージサブシステム１０００のユーザに情報を提示するための出力装置を有していても良いが、これらは図示されない。
【００４６】
図３は、ホスト計算機２０００の内部構成を示す。
【００４７】
ホスト計算機２０００は、メモリ２１００と、制御装置２２００と、スイッチ装置３０００との接続のためのＩ／Ｆ２３００と、を有している。これらの構成要素は、例えば、バス又はスイッチを通じて接続されている。
【００４８】
メモリ２１００は、制御装置２２００が用いるプログラムとデータを記憶する。例えば、メモリ２１００は、業務アプリケーション２１１０と、オペレーティングシステム２１２０と、ホスト設定プログラム２１３０と、を記憶する。
【００４９】
業務アプリケーション２１１０は、ホスト計算機２０００が有するプログラムであり、どのようなアプリケーションプログラムであっても構わない。
【００５０】
オペレーティングシステム２１２０は、例えば、下記、
（＊）ホスト計算機２０００が有するデバイス（例えば、制御装置（例えばＣＰＵ）２２００、メモリ２１００、Ｉ／Ｆ２３００）（以下、デバイスＨ）に関する情報、
（＊）デバイスＨを制御する機能、
（＊）デバイスＨの性能を表す情報（性能情報）を取得する機能、
（＊）デバイスＨの機能を表すデバイスＨ機能情報を取得する機能、
（＊）ストレージサブシステムに記録されているデータを管理する機能（以下、ファイルシステム機能）、
（＊）業務アプリケーション２１１０の機能を表すアプリケーション機能情報を取得する機能、
を有する。本実施例では、説明を簡略化するために、これらの機能を全てオペレーティングシステムが有するとしているが、これらのうちの少なくとも１つの機能を、オペレーティングシステムとは別のプログラムとして、ホスト計算機２０００が有しても良い。また、オペレーティングシステム２１２０は、デバイスＨを仮想的に管理する機能や、オペレーティングシステム２１２０上で動作する仮想サーバの管理機能や、ユーザの管理機能などを有しても良い。仮想サーバの管理機能は、例えば、オペレーティングシステム上で動作するハイパバイザが有しても良い。
【００５１】
ホスト設定プログラム２１３０は、他のプログラムから入力値を受付け、入力値に従ってオペレーティングシステム２１２０にデバイスの設定を指示する。
【００５２】
制御装置２２００は、メモリ２１００内のプログラムの実行や、メモリ２１００に対するデータの入出力、及び、Ｉ／Ｆ２３００を通じたデータや制御命令の入出力、を制御する。
【００５３】
なお、本実施例では、ホスト計算機２０００のオペレーティングシステムが有する機能として、自動容量拡張ボリュームを作成できる機能があって良い。オペレーティングシステム上で当該ボリュームを作成及び管理する方法については、既に知られている方法であるため、説明を省く。また、ホスト計算機２０００は、ユーザがデータを入力するための入力装置や、ホスト計算機２０００のユーザに情報を提示するための出力装置を有していても良いが、これらは図示されない。
【００５４】
図４は、管理計算機４０００の内部構成を示す。
【００５５】
管理計算機４０００は、メモリ４１００と、制御装置４５００と、スイッチ装置５０００との接続のためのＩ／Ｆ４３００と、を有している。メモリ４１００は、制御装置４５００が用いるプログラムとデータを記憶する。メモリ４１００は、例えば、構成管理プログラム４１１０と、機能管理プログラム４１２０と、実現パターン取得プログラム４１３０と、性能監視プログラム４１４０と、実現パターン決定プログラム４１５０と、マッチ構成検出プログラム４１６０と、制限情報追加プログラム４１７０と、システム設定プログラム４１８０と、必要構成テーブル４１９０と、制限情報テーブル４２００と、システム所持機能テーブル４２１０と、システム構成情報テーブル４２２０と、実現パターンテーブル４２３０と、性能テーブル４２４０と、を有する。
【００５６】
構成管理プログラム４１１０は、ストレージサブシステム１０００の構成を表すストレージ構成情報とホスト計算機２０００の構成を表すホスト構成情報とを取得する。このプログラム４１１０は、取得したストレージ構成情報及びホスト構成情報をシステム構成情報テーブル４２２０に格納する。構成管理プログラム４１１０は、ストレージ構成情報を取得する機能（ストレージサブシステム１０００が有する構成情報取得プログラム１２１１と通信することによって、ストレージ構成情報を取得する機能）と、ホスト構成情報を取得する機能（ホスト計算機２０００のオペレーティングシステム２１２０と通信をすることによって、ホスト構成情報を取得する機能）とを有して良い。なお、本実施例では、説明を簡略化するために、ストレージサブシステム１０００とホスト計算機２０００間の接続関係がわかる情報（システム構成情報）のみが取得され、システム構成情報がシステム構成情報テーブル４２２０に格納される。しかし、これ以外の情報が取得されても良い。例えば、ストレージサブシステム１０００が有する論理ボリューム１１１０の空き容量を表す情報が取得されても良いし、論理ボリューム１１１０がホスト計算機２０００に割り当てられているかどうかを示す情報が取得されてもよい。構成管理プログラム４１１０は、他に、物理リソース１１２１から論理ボリューム１１１０を生成する機能と、論理ボリュームをＩ／Ｆ（Ａ）１２３０を通じてホスト計算機２０００に割り当てる機能と、特定の時刻に特定の処理を行うスケジューラ機能とを有しても良い。
【００５７】
機能管理プログラム４１２０は、ストレージ機能情報とホスト機能情報を取得し、当該情報をシステム所持機能テーブル４２１０に格納する。機能管理プログラム４１２０は、特に、ストレージサブシステム１０００が有する機能取得プログラム１２１２と通信することによって、ストレージ機能情報を取得する。さらに、機能管理プログラム４１２０は、ホスト計算機２０００の業務アプリケーション２１１０やオペレーティングシステム２１２０と通信することによって、ホスト機能情報を取得する。この他に、機能管理プログラム４１２０は、特定の時刻に特定の処理を行うスケジューラ機能を有していても良いし、ユーザにストレージサブシステム１０００やホスト２０００の機能情報を追加する入力インタフェースを提供しても良い。
【００５８】
実現パターン取得プログラム４１３０は、システム構成情報テーブル４２２０から、システム構成情報（ストレージサブシステム１０００とホスト計算機２０００との接続関係を表す情報）を取得する。また、このプログラム４１３０は、システム所持機能テーブル４２１０から、ストレージ機能情報とホスト機能情報を取得し、実現できる機能を導出する。
【００５９】
性能監視プログラム４１４０は、ストレージサブシステム１０００の性能情報とホスト計算機２０００が有するデバイスＨの性能情報とを、構成取得プログラム及びオペレーティングシステム２１２０から取得し、当該情報を性能テーブルに格納する。本実施例では、説明を簡略化するために、性能監視対象であるデバイスＨは、ポート（Ｉ／Ｆ２３００が有するポート）であるとするが、他種のデバイスＨが性能監視対象であっても良い。性能監視プログラム４１４０は、例えば、ストレージサブシステム１０００の性能情報、及び／又は、デバイスＨの性能情報として、下記のうちの少なくとも１つ、
（＊）ストレージサブシステム１０００が有する論理ボリューム１１１０の容量を表す情報、
（＊）論理ボリューム１１１０に対するＩ／Ｏ頻度を示す情報（Ｉ／Ｏ頻度の単位は、例えば、ＩＯＰＳ（Input  Output  Per  Second）、
（＊）ストレージサブシステム１０００及び／又はホスト計算機２０００が有するＣＰＵ（制御装置）の稼働率を表す情報、
（＊）ストレージサブシステム１０００及び／又はホスト計算機２０００が有するメモリの空き容量を表す情報、
が取得されても良い。取得されたいずれの種類の情報も、性能テーブル４２４０に格納されて良い。
【００６０】
実現パターン決定プログラム４１５０は、ユーザから指定された変更条件（構成変更後の条件）を満たすシステム構成を決定し、システム設定プログラム４１８０に、決定したシステム構成を表す情報を送信する。
【００６１】
本実施例において、ユーザの構成変更要求（以下、ユーザ要求）とは、ユーザが指定する構成変更（例えば、論理ボリュームの容量拡張、バックアップ、アーカイブ、或いは暗号化）の要求である。ユーザ要求に従う１以上のシステム構成のうち、変更条件に適合する制限情報に対応したシステム構成は、ユーザ要求を実現できるシステム構成とはみなされない（例えば、ユーザが選択可能な選択肢（システム構成）から除外される）。例えば、ユーザ要求が、自動容量拡張ボリュームの作成の場合、変更条件としては、サイズ縮小が可能であること（すなわち、自動容量拡張ボリュームに対する記憶領域の割り当てを動的に解放することが可能であること）が挙げられる。この場合、サイズ縮小不可を表す情報が、制限情報として対応付けられているシステム構成は、ユーザ要求を実現できるシステム構成とはみなされない。
【００６２】
本実施例において、ユーザは、実現パターン決定プログラムが提供するユーザ要求ＵＩ（User  Interface）画面（ＵＩ１１００）（図１５参照）を通じて、ユーザ要求と変更条件の入力を行う。実現パターン決定プログラム４１５０は、その入力を受けると、当該情報（ユーザ要求及び変更条件を表す情報）をマッチ構成検出プログラム４１６０に送信する。実現パターン決定プログラム４１５０は、マッチ構成検出プログラム４１６０から、入力されたユーザ要求及び変更条件を満たすシステム構成の候補を受信し、その候補を、構成決定ＵＩ画面（ＵＩ２１００）（図１６参照）を通じて表示する。その後、ユーザは、システム構成を構成決定ＵＩ画面（ＵＩ２１００）から選択する。実現パターン決定プログラム４１５０は、システム構成が選択された場合、システム設定プログラム４１８０に、選択されたシステム構成を表す情報を送信する。ただし、システム構成の選択方法は、これに限らず他の方法でも良い。例えば、実現パターン決定プログラムが、システム構成を自動で選択し、選択したシステム構成を表す情報をシステム設定プログラム４１８０に送信しても良い。
【００６３】
マッチ構成検出プログラム４１６０は、実現パターン決定プログラム４１５０から、ユーザ要求及び変更条件を表す情報を受信する。また、このプログラム４１６０は、ユーザ要求及び変更条件を満たすシステム構成を表す情報を、制限情報追加プログラム４１７０に送信する。また、このプログラム４１６０は、実現パターンテーブル４２３０を基に、実現可能なシステム構成を特定し、特定したシステム構成を表す情報を、実現パターン決定プログラム４１５０に送信する。
【００６４】
制限情報追加プログラム４１７０は、マッチ構成検出プログラム４１６０から受信した情報が表すシステム構成に対して、制限情報を関連付ける。本実施例において、説明を簡略化するために、ホスト計算機２０００が所定の特有機能を有しない場合に、「Ｏｎ中容量拡張不可能」（ホスト計算機２０００が再起動すること無しに、ホスト計算機２０００に、容量拡張後の自動容量拡張ボリュームの容量を認識することができないこと）という制限を表す制限情報が、そのホスト計算機２０００を含むシステム構成に関連付けられる。特有機能の種類によって、制限情報の内容は異なる。例えば、ストレージサブシステム１０００とホスト計算機２０００との間に介在するスイッチ装置３０００の数、及び／又は、ストレージサブシステム１０００の物理リソースの空き容量、を基に、「システムの信頼性が低下」、及び／又は、「容量拡張時の空き容量が少ない」といった制限情報が関連付けられても良い。つまり、制限情報は、下記（Ａ）乃至（Ｃ）のうちの少なくとも１つを基に決定されて良い。
（Ａ）ストレージシステムが有する機能、構成及び状況（例えば、物理リソースの空き容量）のうちの少なくとも１つ、
（Ｂ）そのストレージシステムに接続されているホスト計算機が有する機能、構成及び状況、
（Ｃ）ストレージシステムとそのストレージシステムに接続されているホスト計算機との間に介在するスイッチ装置の数。
【００６５】
システム設定プログラム４１８０は、実現パターン決定プログラム４１５０で決定されたシステム構成を表す情報（設定すべき論理的な対象を表す情報を含む）を受信し、その情報に従う論理的な対象を設定する。システム設定プログラム４１６０は、ストレージ設定プログラム１２１３及び／又はホスト設定プログラム２１３０を起動することで、論理的な対象を設定して良い。
【００６６】
図５は、必要構成テーブル４１９０の詳細の一例を示す。
【００６７】
必要構成テーブル４１９０は、ユーザ要求を表す情報と、ユーザ要求を満たすために必要なストレージサブシステム１０００とホスト計算機２０００の機能の情報とが格納されるテーブルである。必要機能テーブル４１９０は、例えば、ユーザ要求毎に、下記の情報、
（＊）ユーザ要求を表すユーザ要求４１９０１、
（＊）ユーザ要求を満たす機能の識別子である機能ＩＤ４１９０２、
（＊）ユーザ要求を満たす機能の実現に必要なストレージ機能（ストレージサブシステムの機能）及び／又はホスト機能（ホスト計算機の機能）の名称である機能名４１９０３、
（＊）ユーザ要求を満たす機能の実現に必要なストレージ機能を有するストレージサブシステムの種類の名称又はＩＤ、或いは、その機能の実現に必要なホスト機能を有するホスト計算機の種類の名称又はＩＤである、ターゲットシステム４１９０４、
を有する。
【００６８】
機能ＩＤ４１９０２としての文字列は、ユーザ要求４１９０１と、機能名４１９０３と、ターゲットシステム４１９０４を一意に表現できるものであれば、何でも良い。また、機能名４１９０３としての文字列も、図中の文字列に限らず、該当機能が識別できれば、何でも良い。これは、少なくとも１つのテーブルの少なくとも１種類の情報についても同様である。ホスト計算機の種類は、例えば、ホスト計算機のベンダー、機能、構成及び性能のうちの少なくとも１つによって定まって良い。
【００６９】
図６は、制限情報テーブル４２００の詳細の一例を示す。
【００７０】
制限情報テーブル４２００は、実現する機能に付随する制限を表す情報（制限情報）が格納されるテーブルである。制限情報テーブル４２００は、例えば、機能毎に、下記の情報、
（＊）機能の識別子である機能ＩＤ４２００１、
（＊）機能に対応した制限を表す情報である制限事項４２００２、
（＊）制限及び機能に対応したシステム構成の識別子である実現パターンＩＤ４２００３、を有する。図５に示すテーブル４１９０及び図６に示すテーブル４２００は、例えば、予め用意される情報である。
【００７１】
なお、「制限事項」とは、ユーザ要求に従う機能を実現するにあたり発揮することのできない機能及び／又は性能である。
【００７２】
図５に示すテーブル４１９０及び図６に示すテーブル４２００によれば、以下のことがかわる。
【００７３】
すなわち、例えば、ユーザ要求「自動容量拡張」に従う機能として、４種類の機能があることがわかる。
【００７４】
機能ＩＤ「ＴＰ１」が表す機能は、ダイナミックプロビジョニングとも呼ばれる一般的なThin  Provisioningである。機能ＩＤ「ＴＰ１」に対応した機能名「ＨＤＰ」が表す機能を有するストレージサブシステムは、次の処理を行うことができる。すなわち、その種のストレージサブシステムは、複数の実ページ（実体的な記憶領域）で構成されたプール（実ページの集合）と、複数の仮想ページ（仮想的な記憶領域）で構成された自動容量拡張ボリュームとを有することができる。ストレージサブシステムは、自動容量拡張ボリューム内の或る仮想ページに属するアドレスを指定したライトコマンドをホスト計算機から受信した場合に、その仮想ページに実ページを割り当て、実ページに、ライトコマンドに従うデータを書き込むことができる。また、ストレージサブシステムは、自動容量拡張ボリュームから動的に実ページを解放することもできる（つまり、自動容量拡張ボリュームのサイズ（容量）を縮小することができる）。実ページは、物理リソースよりも小さい記憶領域である。機能ＩＤ「ＴＰ１」については、特に制限が無い（図６参照）。
【００７５】
機能ＩＤ「ＴＰ２」が表す機能は、機能名「ＬＵＳＥ」が表す機能を有するストレージサブシステムと、機能名「Ｗｉｎｄｏｗｓ」（「Ｗｉｎｄｏｗｓ」は登録商標）が表す機能を有するホスト計算機とが協働することにより実現される。なお、ストレージサブシステムとホスト計算機が協働して一般的なThin  Provisioningと似た機能を実現することそれ自体の詳細な説明は、省略する。機能ＩＤ「ＴＰ２」によれば、制限事項として、下記の制限事項、
（＊）「サイズ縮小不可」：自動容量拡張ボリュームのサイズを動的に縮小することができないという制限事項、
（＊）「リードオンリー禁止」：自動容量拡張ボリュームについてデータの読出しのみを行うことが禁止されるという制限事項（自動容量拡張ボリュームについて「リードオンリー」というアクセス属性を設定することができないという制限事項）、
がある。
【００７６】
機能ＩＤ「ＴＰ３」が表す機能は、機能名「ＬＵＳＥ」が表す機能を有するストレージサブシステムにより実現される。
【００７７】
機能ＩＤ「ＴＰ４」が表す機能は、機能名「ＺＦＳ」が表す機能を有するホスト計算機により実現される。機能ＩＤ「ＴＰ４」によれば、ストレージサブシステムが自動容量拡張の機能を有していなくても、自動容量拡張機能が提供される。
【００７８】
このように、１つのユーザ要求を満たすことができる機能として、複数の機能が存在することがある。しかし、複数の機能のうちの或る機能では、それら複数の機能のうちの別の機能には無い制限があることがある。制限としては、ストレージサブシステムの機能、ホスト計算機の機能、又はそれらの組合せから一義的に定まる制限（静的な制限）がある。制限として、更に、ストレージサブシステムが有するデバイス（例えば、ポート、ＣＰＵ、メモリ、論理ボリューム又は物理リソース）の状況（例えば、性能（負荷））、ホスト計算機が有するデバイス（例えば、Ｉ／Ｆ、ＣＰＵ又はメモリ）の状況（例えば、性能（負荷））、又はそれらの組合せから定まる制限（動的な制限）があっても良い。
【００７９】
図７は、システム所持機能テーブル４２１０の詳細の一例を示す。
【００８０】
システム所持機能テーブル４２１０は、ストレージサブシステム１０００またはホスト計算機２０００などの各装置が有する機能を表す情報が格納されるテーブルである。システム所持機能テーブル４２１０は、例えば、装置毎に、下記の情報、
（＊）装置（例えば、ストレージサブシステム１０００又はホスト計算機２０００）の識別子であるシステムＩＤ４２１０１、
（＊）装置が有する機能の名称である機能名４２１０２、
を有する。
【００８１】
図８は、システム構成情報テーブル４２２０の詳細の一例を示す。
【００８２】
システム構成情報テーブル４２２０は、ストレージサブシステム１０００とホスト計算機２０００の接続関係（システム構成）を表す情報が格納されるテーブルである。システム構成情報テーブル４２２０は、例えば、システム構成毎に、
（＊）システム構成におけるストレージサブシステム１０００の識別子であるストレージサブシステムＩＤ４２２０１、
（＊）論理ボリューム１１１０の識別子の一種であるＬＵＮ（Logical  Unit  Number）４２２０２、
（＊）システム構成におけるホスト計算機２０００（ストレージサブシステムに接続され、且つ、論理ボリュームを認識しているホスト計算機）の識別子であるホストＩＤ４２２０３、
を有する。
【００８３】
図９は、実現パターンテーブル４２３０の詳細の一例を示す。
【００８４】
実現パターンテーブル４２３０は、ユーザ要求に従うシステム構成を示す情報が格納されるテーブルである。実現パターンテーブル４２３０は、例えば、システム構成毎に、下記の情報、
（＊）システム構成に対応した実現パターンの識別子である実現パターンＩＤ４２３０１、
（＊）システム構成に対応したユーザ要求を示すユーザ要求４２３０２、
（＊）システム構成におけるストレージサブシステム１０００の識別子であるストレージＩＤ４２３０３、
（＊）システム構成におけるホスト計算機２０００の識別子であるホストＩＤ４２３０４、
（＊）システム構成により実現できる機能の識別子である機能ＩＤ４２３０５、
（＊）システム構成の実現可否を示す実現可否４２３０６、
を有する。
【００８５】
実現可否４２３０６には、実現可能な構成の場合、「可」という情報が格納され、不可能な場合、「否」という情報が格納されるが、実現可否は、数字など他の文字で表現されても良い。
【００８６】
図１０は、性能テーブル４２４０の詳細の一例を示す。
【００８７】
性能テーブル４２４０は、ストレージサブシステム１０００内のデバイス（以下、デバイスＳ）の性能を表す情報、及び／又は、デバイスＨ（ホスト計算機内のデバイス）の性能が表す情報が格納されるテーブルである。性能情報テーブル４２４０は、例えば、検出された性能毎に、下記の情報、
（＊）性能を有するデバイスを有する装置（ストレージサブシステム１０００又はホスト計算機２０００）の識別子であるシステムＩＤ４２４０１、
（＊）性能を有するデバイスの名称を表すデバイス４２４０２、
（＊）性能の取得時刻又は取得時間帯を示す時間４２４０３、
（＊）性能としてのＩ／Ｏ頻度を表すＩＯＰＳ４２４０４、
を有する。性能監視対象としてのデバイスは、ネットワークＩ／Ｆ（例えば、ホストバスアダプタ（ＨＢＡ）、ポート）に限らず、他種のデバイス（ハードウェア）、例えば、ＣＰＵ或いはメモリであっても良い。
【００８８】
＜Ａ−２．  データ処理手順の説明＞。
【００８９】
本実施例におけるデータ処理手順を説明する。
【００９０】
図１１は、構成管理プログラム４１１０が行う処理のフローを示す。
【００９１】
ステップＳ１０００にて、構成管理プログラム４１１０は、構成取得プログラム１２１１に、ストレージサブシステム１０００の構成情報の提供を要求する。その要求に応答して、構成取得プログラム１２１１が、ストレージサブシステム１０００の構成情報を、ストレージサブシステム１０００が有する管理情報（例えば、論理ボリュームに関する情報（例えば、ＬＵＮ、容量））を基に、収集する。管理情報は、例えば、ストレージサブシステム１０００のメモリ１２１０に格納されている。
【００９２】
ステップＳ１０１０にて、構成管理プログラム４１１０は、構成取得プログラム１２１１から、ストレージサブシステム１０００の構成情報（上記収集された情報）を受信する。その構成情報は、システム構成情報テーブル４２２０に格納される情報であるが、これに加えて、他種の情報が受信されても良い。
【００９３】
ステップＳ１０２０にて、構成管理プログラム４１１０は、ホスト計算機２０００のオペレーティングシステムと通信することで、ホスト計算機２０００の構成情報を、オペレーティングシステム２１２０から受信する。本実施例では、オペレーティングシステム２１２０から受信する構成情報は、システム構成情報テーブル４２２０に格納される情報であるが、これに加えて、他種の情報が受信されても良い。また、構成情報を取得する際には、オペレーティングシステムに限らず、例えば、ホスト計算機２０００に構成情報を取得するプログラムを持たせて、当該プログラムから構成情報が受信されても良い。
【００９４】
ステップＳ１０３０にて、構成管理プログラム４１１０は、Ｓ１０１０で受信した構成情報とＳ１０２０で受信した構成情報を、システム構成情報テーブル４２２０に格納する。
【００９５】
構成管理プログラム４１１０は、例えば、一定時間毎に、図１１に示すフローを開始しても良いし、ストレージサブシステム又はホスト計算機（又はその組合せであるシステム構成）が変更されたことが検出された場合に、図１１に示すフローを開始しても良い。一定時間毎に図１１に示すフローを開始するケースでは、図１１に示すフローを開始する時間間隔を表す情報が、管理計算機４０００のメモリにユーザによって設定されても良い。その時間間隔は、固定であっても良いし変更可能であっても良い。
【００９６】
図１１に示すフローに従う処理が行われることによって、システム構成情報テーブル４２２０が作成又は更新される。
【００９７】
図１２は、機能管理プログラム４１２０が行う処理のフローを示す。
【００９８】
ステップＳ２０００にて、機能管理プログラム４１２０は、機能取得プログラム１２１２に、ストレージサブシステム１０００の機能を表す情報（ストレージ機能情報）の提供を要求する。その要求に応答して、機能取得プログラム１２１１が、ストレージ機能情報を、ストレージサブシステム１０００が有する管理情報を基に、収集する。
【００９９】
ステップＳ２０１０にて、機能管理プログラム４１２０が、機能取得プログラム１２１２から、ストレージ機能情報（上記収集された情報）を受信する。
【０１００】
ステップＳ２０２０にて、機能管理プログラム４１２０は、業務アプリケーション２１１０及び／又はオペレーティングシステム２１２０と通信することにより、ホスト計算機２０００の機能を表す情報（ホスト機能情報）を、業務アプリケーション２１１０及び／又はオペレーティングシステム２１２０から受信する。本実施例では、説明の簡略化のため、業務アプリケーション２１１０とオペレーティングシステム２１２０に分けて機能情報を収集するとしているが、ホスト計算機２０００の特定のインタフェース（ホスト機能情報を提供するインタフェース）を通じて収集されても良い。
【０１０１】
ステップＳ２０３０にて、機能管理プログラム４１２０は、Ｓ２０１０で受信したストレージ機能情報と、Ｓ２０２０で受信したホスト機能情報を、システム所持機能テーブル４２１０に格納する。
【０１０２】
機能管理プログラム４１２０は、例えば、一定時間毎に、図１２に示すフローを開始しても良いし、ストレージサブシステム又はホスト計算機（又はその組合せであるシステム構成）が変更されたことが検出された場合に、図１２に示すフローを開始しても良い。一定時間毎に図１２に示すフローを開始するケースでは、図１２に示すフローを開始する時間間隔を表す情報が、管理計算機４０００のメモリにユーザによって設定されても良い。その時間間隔は、固定であっても良いし変更可能であっても良い。
【０１０３】
図１２に示すフローに従う処理が行われることによって、システム所持機能テーブル４２１０が作成又は更新される。
【０１０４】
図１３は、実現パターン取得プログラム４１３０が行う処理のフローを示す。
【０１０５】
ステップＳ３０００にて、実現パターン取得プログラム４１３０は、必要構成テーブル４１９０が表す情報を取得する。その情報に含まれる各機能ＩＤ４１９０２について、Ｓ３０１０〜Ｓ３０４０が行われる。以下、１つの機能ＩＤ（図１３の説明において「対象機能ＩＤ」）４１９０２を例に採り、Ｓ３０１０〜Ｓ３０４０を説明する。
【０１０６】
ステップＳ３０１０にて、実現パターン取得プログラム４１３０は、システム所持機能テーブル４２１０及びシステム構成情報テーブル４２２０を参照し、対象機能ＩＤ４１９０２に対応するシステム構成を検索する。例えば、下記の処理が行われる。
（ａ１）実現パターン取得プログラム４１３０は、ステップＳ３０００で取得した情報から、対象機能ＩＤ４１９０２に対応する１以上の機能名４１９０３及び１以上のターゲットシステム４１９０４を抽出する。
（ａ２）次に、実現パターン取得プログラム４１３０は、システム所持機能情報テーブル４２１０から、上記（ａ１）で抽出した１以上のターゲットシステム４１９０４及び１以上の機能名４１９０３に適合する１以上のシステムＩＤ４２１０１及び１以上の機能名４２１０２を検索する。
（ａ３）上記（ａ２）で、該当する１以上のシステムＩＤ４２１０１及び１以上の機能名４２１０２が見つかった場合、実現パターン取得プログラム４１３０は、見つかった１以上のシステムＩＤ４２１０１に適合するシステム構成（ストレージサブシステムＩＤ４２２０１及び／又はホストＩＤ４２２０３）を、システム構成情報テーブル４１２０から検索する。
【０１０７】
ただし、ステップＳ３０１０の処理は、上記（ａ１）〜（ａ３）に限らず、管理計算機４０００の管理下にあるストレージサブシステム１０００とホスト計算機２０００の組合せの中で、必要構成テーブル４１９０が表す情報に適合するシステム構成を特定できる処理であれば、何でも良い。
【０１０８】
ステップＳ３０２０にて、実現パターン取得プログラム４１３０は、ステップＳ３０１０にてシステム構成が見つかったか否かを判定する。この判定の結果が否定的の場合、ステップＳ３０４０が行われ、この判定の結果が肯定的の場合、Ｓ３０３０が行われる。
【０１０９】
ステップＳ３０３０にて、実現パターン取得プログラム４１３０は、実現パターンテーブル４２３０に、見つかったシステム構成に対応したストレージＩＤ４２３０３及びホストＩＤ４２３０４と、対象機能ＩＤ４１９０２に一致する機能ＩＤ４２３０５と、実現パターンＩＤ４２３０１とを格納する。対象機能ＩＤ４１９０２に一致する機能ＩＤ４２３０５が既に実現パターンテーブル４２３０に格納済みの場合、その機能ＩＤ４２３０５に対応したレコードとして、上記見つかったシステム構成に対応したストレージＩＤ４２３０３及びホストＩＤ４２３０４が追加される。
【０１１０】
ステップＳ３０４０にて、実現パターン取得プログラム４１３０は、必要構成テーブル４１９０の全ての機能ＩＤ４１９０２について、Ｓ３０１０以降の処理が終了したか否かを判定する。この判定の結果が肯定的の場合、図１３に示すフローが終了し、この判定の結果が否定的の場合、別の機能ＩＤ４１９０２について、Ｓ３０１０以降の処理が行われる。
【０１１１】
実現パターン取得プログラム４１３０は、例えば、一定時間毎に、図１３に示すフローを開始しても良いし、ストレージサブシステム又はホスト計算機（又はその組合せであるシステム構成）が変更されたことが検出された場合に、図１３に示すフローを開始しても良い。一定時間毎に図１３に示すフローを開始するケースでは、図１３に示すフローを開始する時間間隔を表す情報が、管理計算機４０００のメモリにユーザによって設定されても良い。その時間間隔は、固定であっても良いし変更可能であっても良い。
【０１１２】
図１３に示すフローに従う処理が行われることによって、実現パターンテーブル４２３０に、必要構成テーブル４１９０に格納されている全ての機能ＩＤ４１９０３について、該当するシステム構成がある場合に、実現パターンＩＤ４２３０１、ストレージＩＤ４２３０３、ホストＩＤ４２３０４及び機能ＩＤ４２３０５が格納される。
【０１１３】
図１４は、性能監視プログラム４１４０が行う処理のフローを示す。
【０１１４】
ステップＳ４０００にて、性能監視プログラム４１４０が、ストレージサブシステム１０００の各デバイス（性能監視対象のデバイスＳ）の性能情報を任意の間隔で収集する。なお、デバイスＳの性能情報を受信する時間間隔は、性能監視プログラム４１４０が決定してもよいし、ユーザが決定してもよい。また、デバイスＳの性能情報を受信する方法は、性能監視プログラム４１４０が任意の時間間隔でストレージサブシステム１０００に対して性能情報取得リクエストを送信する方法であってもよいし、それ以外の方法であってもよい。
【０１１５】
ステップＳ４０１０にて、性能監視プログラム４１４０が、ホスト計算機２０００の各デバイス（デバイスＨ）の性能情報を任意の間隔で収集する。なお、デバイスＨの性能情報を受信する間隔は、性能監視プログラム４１４０が決定してもよいし、ユーザが決定してもよい。また、デバイスＨの性能情報を受信する方法は、性能監視プログラム４１４０が任意の時間間隔でホスト計算機２０００のオペレーティングシステム２１２０に性能情報取得リクエストを送信する方法であってもよいし、それ以外の方法であってもよい。
【０１１６】
ステップＳ４０２０にて、性能監視プログラム４１４０は、Ｓ４０００とＳ４０１０で収集した性能情報を、性能テーブル４２４０に格納する。
【０１１７】
なお、性能監視プログラム４１４０は、図１４に示すフローが終了してから一定時間待機して再びそのフローを開始しても良いし、ユーザからの手動での要求の都度に図１４に示すフローを開始しても良い。一定時間待機後にフローを開始するケースでは、待機時間長を表す情報は、管理計算機４０００のメモリにユーザによって設定されて良い。待機時間長は、固定であっても良いし変更可能であっても良い。
【０１１８】
本実施例においては、説明を簡略化するため、性能監視プログラム４１４０は、性能テーブル４２４０に格納する情報を、ストレージサブシステム１０００とホスト計算機２０００から収集しているが、性能テーブル４２４０に他の情報が必要な場合は、他の情報についても収集がされても良い。また、ストレージサブシステム１０００とホスト計算機２０００に性能情報を収集するインタフェースが用意されている場合、性能監視プログラム４１４０が、そのインタフェースを通じて性能情報を取得しても良いし、それ以外の方法で性能情報を取得しても良い。
【０１１９】
図１５は、ユーザ要求ＵＩ画面（ＵＩ１１００）の詳細の一例を示す。
【０１２０】
この画面（ＵＩ１１００）は、実現パターン決定プログラム４１５０によって提供されるＵＩ画面（ユーザ要求及び変更条件を設定するＵＩ画面）である。画面（ＵＩ１１００）は、例えば、下記のツール、
（＊）ホスト計算機２０００を選択するためのツール（例えばドロップダウンボックス）（ＵＩ１２００）、
（＊）変更条件を設定するためのツール（例えば条件設定テーブル）（ＵＩ１４００）、
（＊）システム構成の候補を表示することのツール（例えばボタン）（ＵＩ１５００）、
（＊）画面（ＵＩ１１００）に対する設定を取り消すためのツール（例えばボタン）（ＵＩ１６００）、
を有する。なお、条件設定テーブル（ＵＩ１４００）は、変更条件毎に、チェックボックスと変更条件を表す文字列とを有する。ユーザは、複数の変更条件のうちの所望の１以上の変更条件に対応した１以上のチェックボックスにチェックマークを入力することで、１以上の変更条件を選択する。
【０１２１】
なお、図１５に示す画面（ＵＩ１１００）は、ユーザ要求として「自動容量拡張」を指定するための画面である。ユーザ要求毎に、異種の画面（ＵＩ１１００）があっても良い。また、画面（ＵＩ１１００）が、複数種類のユーザ要求からユーザ所望のユーザ要求を入力するためのツールを有していても良い。図１５及び図１６の説明では、ユーザ要求「自動容量拡張」が指定されるとする。
【０１２２】
また、本実施例では、説明を簡略化するために、ドロップダウンボックスＵＩ１２００にホスト計算機２０００の名称（又はＩＤ）が表示されるが、ストレージサブシステム１０００の名称（又はＩＤ）が表示されても良い。また、ユーザ要求によっては、ドロップダウンボックスＵＩ１２００と、設定条件テーブルＵＩ１４００のチェック項目とが、増減されてもよい。
【０１２３】
ユーザは、ユーザ要求と変更条件を、画面（ＵＩ１１００）に入力する。ユーザは、例えば、まず、ホスト計算機２０００を、ドロップダウンボックス（ＵＩ１２００）から選択する。次に、ユーザは、ユーザ要求を満たすストレージサブシステム１０００とホスト計算機２０００の組合せが存在した場合に、設定したい変更条件を条件設定テーブル（ＵＩ１４００）から選択する。ユーザは、変更条件の設定が終わった段階で、ボタン（以下、候補表示ボタン）（ＵＩ１５００）を押し、取り消す場合は、ボタン（ＵＩ１６００）を押す。候補表示ボタン（ＵＩ１５００）が押されると、ユーザ要求「自動容量拡張」を表す情報と、指定されたホスト計算機及び変更条件を表す情報とが、実現パターン決定プログラム４１５０に送信される。
【０１２４】
具体例として、ユーザは、「Host.1000」をドロップダウンボックス（ＵＩ１２００）から選択し、変更条件「割当て頻度高」を指定する。「割当て頻度高」という変更条件は、自動容量拡張ボリュームに記憶領域が割り当てられる頻度が高いことを意味する。この場合、指定されたホスト計算機を表す情報「Host.1000」と、指定された変更条件を表す情報「割当て頻度高」が、実現パターン決定プログラム４１５０に送信される。
【０１２５】
図１６は、構成決定ＵＩ画面（ＵＩ２１００）の詳細の一例を示す。図１６に示すＵＩ画面は、ＵＩ画面（ＵＩ１１００）に対して図１５に示したユーザ設定がされた場合に表示されるＵＩ画面である。
【０１２６】
ＵＩ画面（ＵＩ２１００）は、実現パターン決定プログラム４１５０によって提供された１以上のシステム構成（以下、「実現パターン」と呼ぶことがある）の候補を一覧で表示する画面である。一覧表示された実現パターン候補からユーザ所望の実現パターンが選択される。ＵＩ画面（ＵＩ２１００）は、例えば、下記のツール、
（＊）実現パターン（システム構成）の詳細を表示する構成表示エリア（ＵＩ２２００及びＵＩ２２００ｂ）、
（＊）ユーザが構成を選択する際に使用するツール（例えばラジオボタン）（ＵＩ２２１０及びＵＩ２２１０ｂ）、
（＊）どの装置にどんな論理的な対象を設定するかを表示するエリア（設定内容テキストフィールド）（ＵＩ２２００及びＵＩ２２００ｂ）、
（＊）当該設定を実行した際に発生する制限を表す制限情報を表示するエリア（制限情報テキストフィールド）（ＵＩ２２３０及びＵＩ２２３０ｂ）、
（＊）ユーザが選択した実現パターン（システム構成）に従う論理的な対象の設定を許可する場合に使用するツール（ボタン）ＵＩ２３００、
（＊）システム構成の設定をキャンセルする場合に使用するツール（ボタン）ＵＩ２４００、
を有する。
【０１２７】
なお、構成表示エリア、ラジオボタン、設定内容テキストフィールド及び制限情報テキストフィールドの数は、ユーザ要求と変更条件を満たすシステム構成の数と同数で良い。また、表示されるユーザインタフェースの数及び表現は、図１６に示す数及び表現に限らず、ユーザに実現パターンと制限情報を適切に表示できる他種のユーザインタフェースが採用されても良い。
【０１２８】
ユーザは、ＵＩ画面（ＵＩ２１００）を通じて、所望の実現パターンに対応したラジオボタンＵＩ２２１０又はＵＩ２２１０ｂを選択し、当該実現パターンに従う論理的な対象（自動容量拡張ボリューム）を設定する場合、ボタン（ＵＩ２３００）を押す。
【０１２９】
図１７は、実現パターン決定プログラム４１５０が行う処理のフローを示す。
【０１３０】
ステップＳ５０００にて、実現パターン決定プログラム４１５０は、ユーザ要求ＵＩ画面（ＵＩ１１００）を表示する。
【０１３１】
ステップＳ５０１０にて、実現パターン決定プログラム４１５０は、ユーザから、当該画面（ＵＩ１１００）を通じて、変更条件の指定を受ける。
【０１３２】
ステップＳ５０２０にて、実現パターン決定プログラム４１５０は、ユーザ要求及び変更条件を表す情報をマッチ構成検出プログラム４１６０に送信する。これにより、図１８に示すフローが開始される。
【０１３３】
ステップＳ５０３０にて、実現パターン決定プログラム４１５０は、実現パターンテーブル４２３０の実現可否４２３０６を参照する。
【０１３４】
ステップＳ５０４０にて、実現パターン決定プログラム４１５０は、実現パターンテーブル４２３０の実現可否４２３０６が「可」となっているシステム構成があるか否かを判定する。その判定の結果が否定的の場合、ステップＳ５０５０が行われ、その判定の結果が肯定的の場合、ステップＳ５０６０が行われる。
【０１３５】
ステップＳ５０５０にて、実現パターン決定プログラム４１５０は、実現可能な実現パターン（システム構成）が無いことを表す情報を表示する。
【０１３６】
ステップＳ５０６０にて、実現パターン決定プログラム４１５０は、実現パターンテーブル４２３０と制限情報テーブル４２００を基に、実現可否４２３０６が「可」となっている各実現パターンについて、その実現パターンに対応した制限事項４２００２を特定する。具体的には、例えば、下記が行われる。
（＊）実現パターン決定プログラム４１５０は、実現可否４２３０６が「可」となっている機能ＩＤ４２３０６と一致する機能ＩＤ４２００１を特定する。
（＊）実現パターン決定プログラム４１５０は、特定した機能ＩＤ４２００１に対応する制限事項４２００２を特定する。
（＊）実現パターン決定プログラム４１５０は、実現可否４２３０６が「可」となっている複数の実現パターンがある場合、特定された制限事項４２００２の数が少ない順に複数の実現パターンが並ぶように、複数の実現パターンの一覧を、構成決定ＵＩ画面（ＵＩ２１００）に表示する。各実現パターンについて、当該実現パターンを設定した場合の制限を表す情報（制限事項４２００２が表す情報）が表示される。
【０１３７】
ステップＳ５０７０にて、実現パターン決定プログラム４１５０は、構成決定ＵＩ画面（ＵＩ２１００）を通じて、ユーザ所望の実現パターンの指定を受け、指定された実現パターン（ユーザ所望の実現パターン）を表す情報をシステム設定プログラム４１８０に送信する。
【０１３８】
図１８は、マッチ構成検出プログラム４１６０が行う処理のフローを示す。
【０１３９】
ステップＳ６０００にて、マッチ構成検出プログラム４１６０は、実現パターン決定プログラム４１５０から、ユーザ要求及び変更条件を表す情報を受信する。
【０１４０】
ステップＳ６０１０にて、マッチ構成検出プログラム４１６０は、Ｓ６０００で受信した情報（ユーザ要求及び変更条件を表す情報）と、実現パターンテーブル４２３０と、制限情報テーブル４２００とを基に、実現パターンを検索する。ここでは、下記（１）乃至（２）の全てを満たす実現パターン、
（１）受信した情報（ユーザ要求が表す情報）に適合するユーザ要求４２３０２に対応する、
（２）上記（１）のユーザ要求４２３０２に対応した機能ＩＤ４２３０５に適合する機能ＩＤ４２００１に対応した１以上の制限事項４２００２に、受信した情報が表す変更条件（ユーザが指定した変更条件）に適合する制限事項４２００２が含まれていない、
が検索される。
【０１４１】
ステップＳ６０２０にて、マッチ構成検出プログラム４１６０は、実現パターンが見つかったか否かを判定する。実現パターンが見つかれば、ステップＳ６０３０が行われる。以下、見つかった１以上の実現パターンのうちの１つを例に採り、ステップＳ６０３０以降を説明する。なお、その１つの実現パターンを、図１８及び図１９の説明において、「対象実現パターン」と呼ぶ。
【０１４２】
ステップＳ６０３０にて、マッチ構成検出プログラム４１６０は、制限情報追加プログラム４１７０を実行し、対象実現パターンを表す情報を、制限情報追加プログラム４１７０に送信する。
【０１４３】
ステップＳ６０４０にて、マッチ構成検出プログラム４１６０は、制限情報が対象実現パターンに加わっているか否かを表す情報を、制限情報追加プログラム４１７０から受信する。
【０１４４】
ステップＳ６０５０にて、マッチ構成検出プログラム４１６０は、ステップＳ６０４０にて受信した情報を基に、制限情報が対象実現パターンに加わっているか否かを判定する。その判定の結果が肯定的の場合、ステップＳ６０６０が行われ、その判定の結果が否定的の場合、ステップＳ６０８０が行われる。
【０１４５】
ステップＳ６０６０にて、マッチ構成検出プログラム４１６０は、Ｓ６０００で受信した情報が表す変更条件（ユーザ指定の変更条件）と、対象実現パターンに対応する制限情報とを比較する。
【０１４６】
ステップＳ６０７０にて、マッチ構成検出プログラム４１６０は、対象実現パターンがユーザ所望の条件を満たすか否かを判定する。対象実現パターンに対応する制限情報として、ユーザ指定の変更条件に適合してしまう制限情報がある場合、ステップＳ６０７０の判定の結果が否定的となり、対象実現パターンに対応する制限情報として、ユーザ指定の変更条件に適合してしまう制限情報がない場合、ステップＳ６０７０の判定の結果が肯定的となる。ステップＳ６０７０の判定の結果が肯定的の場合、ステップＳ６０８０が行われ、ステップＳ６０７０の判定の結果が否定的の場合、ステップＳ６０９０が行われる。
【０１４７】
ステップＳ６０８０にて、マッチ構成検出プログラム４１６０は、実現パターンテーブル４２３０における、対象実現パターンに対応した実現可否４２３０６として、「可」を格納する。
【０１４８】
ステップＳ６０９０にて、マッチ構成検出プログラム４１６０は、実現パターンテーブル４２３０における、対象実現パターンに対応した実現可否４２３０６として、「否」を格納する。
【０１４９】
ステップＳ６１００にて、マッチ構成検出プログラム４１６０は、Ｓ６０１０で見つかった全ての実現パターンについてステップＳ６０３０以降が行われたか否かを判定する。この判定の結果が肯定的の場合、図１８に示すフローに従う処理が終了となり、この判定の結果が否定的の場合、ステップＳ６０３０が行われていない実現パターンについて、ステップＳ６０３０が行われる。
【０１５０】
図１９は、制限情報追加プログラム４１７０が行う処理のフローを示す。
【０１５１】
ステップＳ７０００にて、制限情報追加プログラム４１７０は、マッチ構成検出プログラム４１６０から、対象実現パターンを表す情報を受信する。
【０１５２】
ステップＳ７０１０にて、制限情報追加プログラム４１７０は、対象実現パターンを表す情報を用いて、システム構成情報テーブル４２２０と、実現パターンテーブル４２３０と、性能テーブル４２４０とを参照する。
【０１５３】
ステップＳ７０２０にて、制限情報追加プログラム４１７０は、ステップＳ７０１０で参照したテーブルを基に、対象実現パターンを構成するホスト計算機２０００が有するデバイス（ここではＨＢＡ）のＩ／Ｏ時間帯を特定する。具体的には、例えば、下記が行われる。
（＊）制限情報追加プログラム４１７０は、対象実現パターンを構成するホスト計算機を、システム構成情報テーブル４２２０及び実現パターンテーブル４２３０から特定する。
（＊）制限情報追加プログラム４１７０は、特定されたホスト計算機の各デバイス（ＨＢＡ）に対応する１以上の時間４２４０３を特定する。
【０１５４】
ステップＳ７０３０にて、制限情報追加プログラム４１７０は、対象実現パターンを構成するホスト計算機２０００が有するデバイスについて、Ｉ／Ｏが発生していない時間帯があるか否かを判定する。この判定は、例えば、上記特定された１以上の時間４２４０３を基に、行われる。この判定の結果が肯定的の場合、図１９に示すフローに従う処理が終了し、この判定の結果が否定的の場合、ステップＳ７０４０が行われる。
【０１５５】
ステップＳ７０４０にて、制限情報追加プログラム４１７０は、対象実現パターンに対応した機能についての制限事項４２００２（例えば「Ｏｎ中容量拡張不可」）と、その制限事項４２００２に対応した実現パターンＩＤ４２００３（例えば「１」）とを、制限情報テーブル４２００に格納する（例えば、図６及び図９に示したテーブルを参照）。
【０１５６】
ステップＳ７０５０にて、制限情報追加プログラム４１７０は、マッチ構成検出プログラム４１６０に、制限情報テーブル４２００に制限事項４２００２を格納したことを表す情報を通知する。
【０１５７】
図１９に示すフローに従う処理によれば、図６に示した制限情報テーブル４２００には、予め格納されている制限事項４２００２もあれば、ストレージサブシステム及び／又はホスト計算機のデバイスの状況（例えば性能（負荷））を基に動的に追加された制限事項４２００２もある。
【０１５８】
図２０は、システム設定プログラム４１８０が行う処理のフローを示す。
【０１５９】
ステップＳ８０００にて、システム設定プログラム４１８０は、実現パターン決定プログラム４１５０から、ユーザ所望の実現パターンを表す情報を受信する。
【０１６０】
ステップＳ８０１０にて、システム設定プログラム４１８０は、ストレージ設定プログラム１２１３と、ホスト設定プログラム２１３０とを実行することで、Ｓ８０００にて受信した情報に従う論理的な対象（例えば、論理ボリューム或いはパス）を設定する。
【０１６１】
以上が、実施例１の説明である。
【０１６２】
実施例１によれば、計算機システムの構成（ホスト計算機の種類及びストレージサブシステムの種類）に関わらず、ユーザは、同じような操作で、ユーザ所望のユーザ要求及び変更条件に従う論理的な対象を設定することができる。例えば、実施例１によれば、ストレージサブシステム１０００が、自動容量拡張ボリュームを作成する機能を有していなくても、その機能を実現する代替機能を、必要構成テーブル４１９０及びシステム構成情報テーブル４２２０を基に特定することができる。また、当該代替機能についての制限を表す情報を制限情報テーブル４２００から特定し、ユーザ要求を満たす代替機能（実現パターン）を表す情報と、代替機能についての制限を表す情報とをユーザに適切に示すことができる。
【０１６３】
また、実施例１によれば、実現パターンを表す情報と制限情報とをユーザに表示する際に、計算機システムの現在の状況で起こりうる制限を特定し、特定した制限を表す情報を制限情報テーブル４２００に追加することができる。
【実施例２】
【０１６４】
以下、本発明の実施例２を説明する。その際、実施例１との相違点を主に説明し、実施例１との共通点の説明を省略或いは簡略する。
【０１６５】
＜Ｂ−１．  システム構成＞。
【０１６６】
図２１は、本発明の実施例２に係る計算機システムの構成を示す。
【０１６７】
この計算機システムは、ストレージサブシステム１０００と、ホスト計算機２０００と、スイッチ装置３０００ｂと、管理計算機４０００と、スイッチ装置５０００ｂと、第二のストレージサブシステム６０００と、を有している。図中では、ストレージサブシステム１０００と、ホスト計算機２０００と、管理計算機４０００と、第二のストレージサブシステム６０００と、がそれぞれ１台ずつ存在しているがこの限りではなく、１台以上存在すれば良い。また、スイッチ装置３０００と、スイッチ装置５０００と、がそれぞれ１台ずつ存在しているが、ストレージサブシステム１０００、６０００と、ホスト計算機２０００と、管理計算機４０００と、の接続ができればスイッチ装置は、０台でも構わない。
【０１６８】
スイッチ装置３０００ｂは、ストレージサブシステム１０００とストレージサブシステム６０００の接続のためのＩ／Ｆ３１００と、ホスト計算機２０００との接続のためのＩ／Ｆ３２００と、を有している。ストレージサブシステム１０００とホスト計算機２０００との間の通信（スイッチ装置３０００を介した通信）で利用される通信プロトコルとしては、ＦＣ又はｉＳＣＳＩがあるが、特に限定はしない。また、スイッチ装置３０００ｂは、スイッチ装置５０００ｂとの接続のためのＩ／Ｆ３２００を有している。図中では、Ｉ／Ｆ３１００が２つ、Ｉ／Ｆ３２００が２つ存在しているが、この限りではなく、１つ以上存在すれば良い。
【０１６９】
スイッチ装置５０００ｂは、ストレージサブシステム１０００とストレージサブシステム６０００との接続のためのＩ／Ｆ５１００と、管理計算機４０００との接続のためのＩ／Ｆ５２００と、を有している。ストレージサブシステム１０００と管理計算機４０００との間の通信（スイッチ装置５０００を介した通信）で利用される通信プロトコルとしては、ＴＣＰ／ＩＰがあるが、特に限定はしない。また、スイッチ装置５０００ｂは、スイッチ装置３０００ｂとの接続に利用するＩ／Ｆ３２００を有している。本実施例では、Ｉ／Ｆ５１００が２つ、Ｉ／Ｆ５２００が２つ存在しているが、この限りではなく、１つ以上存在すれば良い。
【０１７０】
第二のストレージサブシステム６０００については、構成がストレージサブシステム１０００と同様のため、説明及び図示を省略する。
【０１７１】
本実施例において、ストレージサブシステム１０００と６０００は、ストレージサブシステム間で論理ボリューム１１１０をコピーする機能（リモートコピー機能）を有する。ホスト計算機２０００は、ネットワークＩ／Ｆの障害を検知し自動的にＩ／Ｆを切り替える機能（パス交替ソフトウェア）を有する。
【０１７２】
＜Ｂ−２．  データ処理手順の説明＞。
【０１７３】
本実施例のデータ処理手順の大部分は実施例１と同じである。実施例１のデータ処理手順との差分は、マッチ構成検出プログラム４１６０が、ユーザ要求がコピーの機能を表す場合、コピー元の論理ボリューム１１１０からコピー先の論理ボリューム１１１０に対し、コピーの可否を判定する処理を行う点である。コピー元とコピー先の論理ボリューム１１１０の可否を判定する処理の例として、マッチ構成検出プログラム４１６０が、
（＊）コピー先の論理ボリューム１１１０の容量がコピー元の論理ボリューム１１１０の容量未満か否かを判定する処理、及び／又は、
（＊）コピー先の論理ボリューム１１１０がホスト計算機２０００に割り当てられているか否かを判定する処理、
がある。その判定の結果が肯定的の場合、コピーが不可能であり、その判定の結果が否定的の場合、コピーが可能である。
【０１７４】
実施例２によれば、図２１に示すような構成の計算機システムであっても、実施例１と同様に、計算機システムの構成（ホスト計算機の種類及びストレージサブシステムの種類）に関わらず、ユーザは、同じような操作で、ユーザ所望のユーザ要求及び変更条件に従う論理的な対象を設定することができる。
【０１７５】
なお、ストレージサブシステム１０００にマイグレーション機能がない場合でも、ストレージサブシステム１０００のコピー機能とホスト計算機２０００のパス交替ソフトの機能を組み合わせることで、ストレージサブシステム１０００と６０００の間でマイグレーションを実現することが可能である（例えば図５参照）。
【実施例３】
【０１７６】
以下、本発明の実施例３を説明する。その際、実施例１又は２との相違点を主に説明し、実施例１又は２との共通点の説明を省略或いは簡略する。
【０１７７】
＜Ｃ−１．  システム構成＞。
【０１７８】
図２２は、本発明の実施例３に係る計算機システムの構成を示す。
【０１７９】
この計算機システムは、ストレージサブシステム１０００と、ホスト計算機２０００と、スイッチ装置３０００ｃと、管理計算機４０００と、スイッチ装置５０００ｂと、第二のストレージサブシステム６０００と、第二のホスト計算機７０００と、を有している。図中では、ストレージサブシステム１０００と、ホスト計算機２０００と、管理計算機４０００と、第二のストレージサブシステム６０００と、第二のホスト計算機２０００と、がそれぞれ１台ずつ存在しているが、この限りではなく、１台以上存在すれば良い。また、スイッチ装置３０００ｃと、スイッチ装置５０００ｂと、がそれぞれ１台ずつ存在しているが、ストレージサブシステム１０００、６０００と、ホスト計算機２０００と、ホスト計算機７０００と、管理計算機４０００と、の接続ができれば０台でも構わない。
【０１８０】
スイッチ装置３０００ｃは、ストレージサブシステム１０００とストレージサブシステム６０００の接続のためのＩ／Ｆ３１００と、ホスト計算機２０００と、ホスト計算機７０００と、の接続のためのＩ／Ｆ３２００と、を有している。ストレージサブシステム１０００とホスト計算機２０００との間の通信（スイッチ装置３０００ｃを介した通信）で利用される通信プロトコルとしては、ＦＣ又はｉＳＣＳＩがあるが、特に限定はしない。また、スイッチ装置３０００ｃは、スイッチ装置５０００ｂとの接続のためのＩ／Ｆ３２００を有している。図中ではＩ／Ｆ３１００が２つ、Ｉ／Ｆ３２００が２つ存在しているがこの限りではなく、１つ以上存在すれば良い。
【０１８１】
第二のホスト計算機７０００に関しては、構成が第一のホスト計算機２０００と同様のため、説明を省略する。
【０１８２】
本実施例において、ホスト計算機７０００は、ファイルシステム上のデータをコピーする機能を有し、ホスト計算機２０００は、ディスクへのアクセス制限を行える機能を有するものとする。
【０１８３】
＜Ｃ−２．  データ処理手順の説明＞。
【０１８４】
本実施例のデータ処理手順は、実施例２（又は実施例１）と同じため説明を省略する。
【０１８５】
実施例３によれば、図２２に示すような構成の計算機システムであっても、実施例１及び２と同様に、計算機システムの構成（ホスト計算機の種類及びストレージサブシステムの種類）に関わらず、ユーザは、同じような操作で、ユーザ所望のユーザ要求及び変更条件に従う論理的な対象を設定することができる。
【０１８６】
なお、実施例３では、ホスト計算機２０００がマイグレーション機能を持たず、ストレージサブシステム６０００がセキュリティボリュームを作成する機能を持たない場合であっても、ホスト計算機７０００の機能を使用して、ストレージサブシステム６０００にデータをコピーし、ホスト計算機２０００の機能を利用して、ホスト計算機２０００が、アクセス属性が関連付けられた論理ボリューム１１１０の冗長化を実現することが可能である。
【０１８７】
以上、本発明の幾つかの実施例を説明したが、本発明は、これらの実施例に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、実施例１乃至３のうちの２以上の実施例が組み合わされても良い。
【符号の説明】
【０１８８】
１０００…ストレージサブシステム
【図１】
0005421201.tif 000002
【図２】
0005421201.tif 000003
【図３】
0005421201.tif 000004
【図４】
0005421201.tif 000005
【図５】
0005421201.tif 000006
【図６】
0005421201.tif 000007
【図７】
0005421201.tif 000008
【図８】
0005421201.tif 000009
【図９】
0005421201.tif 000010
【図１０】
0005421201.tif 000011
【図１１】
0005421201.tif 000012
【図１２】
0005421201.tif 000013
【図１３】
0005421201.tif 000014
【図１４】
0005421201.tif 000015
【図１５】
0005421201.tif 000016
【図１６】
0005421201.tif 000017
【図１７】
0005421201.tif 000018
【図１８】
0005421201.tif 000019
【図１９】
0005421201.tif 000020
【図２０】
0005421201.tif 000021
【図２１】
0005421201.tif 000022
【図２２】
0005421201.tif 000023