(57)【特許請求の範囲】
【請求項１】
アプリケーションプログラムが割り当てられたアプリケーションサーバと、前記アプリケーションプログラムに用いられる記憶領域を有するストレージサブシステムと、前記アプリケーションサーバと前記ストレージサブシステムとの間のＩ／Ｏパスを管理する管理サーバとを含んで構成されるストレージ管理システムであって、
前記管理サーバは、記憶部と処理部とを含んで構成され、
前記管理サーバの記憶部は、前記アプリケーションサーバと前記ストレージサブシステムとの間のＩ／Ｏパスの組み合わせを管理するとともに、前記Ｉ／Ｏパスを構成する構成要素に関する各種性能値を管理し、さらに、前記アプリケーションサーバに割り当て済みの前記アプリケーションプログラムの重要度と、前記アプリケーションサーバに割り当て済みの前記アプリケーションプログラムのＩ／Ｏピーク時間帯とを管理し、
前記管理サーバの処理部は、
外部装置から、アプリケーションプログラムを特定の前記アプリケーションサーバに新規に割り当てる要求を受け付けた場合、当該要求されたアプリケーションサーバと、当該アプリケーションサーバと組み合わされるストレージサブシステムとの間のＩ／Ｏパスを前記記憶部に管理された前記Ｉ／Ｏパスの組み合わせから取得し、
前記記憶部に管理された前記各種性能値に基づいて、前記取得したＩ／Ｏパスの中から、前記外部装置からの条件を満たす性能値を持つＩ／Ｏパスを抽出するときに、
前記外部装置からの条件が、前記割り当て済みのアプリケーションプログラムの重要度の閾値に関するものと、前記割り当て要求されたアプリケーションプログラムのＩ／Ｏピーク時間帯に関するものである場合、
前記取得したＩ／Ｏパスの中から、前記記憶部に管理された前記重要度に基づいて、前記外部装置からの条件で指定された閾値を満たす重要度を持つアプリケーションプログラムが割り当てられているＩ／Ｏパスで、かつ、
前記記憶部に管理された前記Ｉ／Ｏピーク時間帯に基づいて、前記外部装置からの条件で指定されたＩ／Ｏピーク時間帯と重ならないＩ／Ｏピーク時間帯を持つアプリケーションプログラムが割り当てられているＩ／Ｏパスを抽出し、
前記抽出したＩ／Ｏパスを候補パスとして外部出力することを特徴とするストレージ管理システム。
【請求項２】
請求項１に記載のストレージ管理システムにおいて、
前記管理サーバの記憶部は、前記Ｉ／Ｏパスを構成する構成要素ごとに、当該構成要素を利用する前記アプリケーションプログラムのＩ／Ｏピーク時間帯をさらに管理するとともに、
前記管理サーバの処理部は、
前記外部装置に前記抽出したＩ／Ｏパスの候補を外部出力する場合、当該Ｉ／Ｏパスを構成する構成要素を利用するアプリケーションのＩ／Ｏピーク時間帯を前記記憶部から読み出し、そのＩ／Ｏピーク時間帯とともに前記Ｉ／Ｏパスの候補を外部出力することを特徴とするストレージ管理システム。
【請求項３】
請求項１または請求項２に記載のストレージ管理システムにおいて、
前記管理サーバの記憶部に管理されている前記アプリケーションプログラムのＩ／Ｏピーク時間帯は、前記管理サーバの処理部が、前記記憶部に管理されている前記各種性能値から算出したものであることを特徴とするストレージ管理システム。
【請求項４】
アプリケーションプログラムが割り当てられたアプリケーションサーバと、前記アプリケーションプログラムに用いられる記憶領域を有するストレージサブシステムと、前記アプリケーションサーバと前記ストレージサブシステムとの間のＩ／Ｏパスを管理する管理サーバとを含んで構成されるコンピュータシステムを用いて実行されるストレージ管理方法であって、
前記管理サーバは、記憶部と処理部とを含んで構成され、
前記管理サーバの記憶部は、前記アプリケーションサーバと前記ストレージサブシステムとの間のＩ／Ｏパスの組み合わせを管理するとともに、前記Ｉ／Ｏパスを構成する構成要素に関する各種性能値を管理し、さらに、前記アプリケーションサーバに割り当て済みの前記アプリケーションプログラムの重要度と、前記アプリケーションサーバに割り当て済みの前記アプリケーションプログラムのＩ／Ｏピーク時間帯とを管理し、
前記管理サーバの処理部は、
外部装置から、アプリケーションプログラムを特定の前記アプリケーションサーバに新規に割り当てる要求を受け付けた場合、当該要求されたアプリケーションサーバと、当該アプリケーションサーバと組み合わされるストレージサブシステムとの間のＩ／Ｏパスを前記記憶部に管理された前記Ｉ／Ｏパスの組み合わせから取得し、
前記記憶部に管理された前記各種性能値に基づいて、前記取得したＩ／Ｏパスの中から、前記外部装置からの条件を満たす性能値を持つＩ／Ｏパスを抽出するときに、
前記外部装置からの条件が、前記割り当て済みのアプリケーションプログラムの重要度の閾値に関するものと、前記割り当て要求されたアプリケーションプログラムのＩ／Ｏピーク時間帯に関するものである場合、
前記取得したＩ／Ｏパスの中から、前記記憶部に管理された前記重要度に基づいて、前記外部装置からの条件で指定された閾値を満たす重要度を持つアプリケーションプログラムが割り当てられているＩ／Ｏパスで、かつ、
前記記憶部に管理された前記Ｉ／Ｏピーク時間帯に基づいて、前記外部装置からの条件で指定されたＩ／Ｏピーク時間帯と重ならないＩ／Ｏピーク時間帯を持つアプリケーションプログラムが割り当てられているＩ／Ｏパスを抽出し、
前記抽出したＩ／Ｏパスを候補パスとして外部出力することを特徴とするストレージ管理方法。
【請求項５】
請求項４に記載のストレージ管理方法において、
前記管理サーバの記憶部は、前記Ｉ／Ｏパスを構成する構成要素ごとに、当該構成要素を利用する前記アプリケーションプログラムのＩ／Ｏピーク時間帯をさらに管理するとともに、
前記管理サーバの処理部は、
前記外部装置に前記抽出したＩ／Ｏパスの候補を外部出力する場合、当該Ｉ／Ｏパスを構成する構成要素を利用するアプリケーションのＩ／Ｏピーク時間帯を前記記憶部から読み出し、そのＩ／Ｏピーク時間帯とともに前記Ｉ／Ｏパスの候補を外部出力することを特徴とするストレージ管理方法。
【請求項６】
請求項４または請求項５に記載のストレージ管理方法において、
前記管理サーバの記憶部に管理されている前記アプリケーションプログラムのＩ／Ｏピーク時間帯は、前記管理サーバの処理部が、前記記憶部に管理されている前記各種性能値から算出したものであることを特徴とするストレージ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージとサーバとの間の複数のＩ／Ｏ（Input Output）パスを管理する技術に関するものである。
【背景技術】
【０００２】
近年、ディスク装置などのストレージ（ストレージサブシステムともいう）とサーバとの間に専用ネットワークを構築するＳＡＮ（Storage Area Network）が注目されている。このＳＡＮを構築することにより、ストレージの管理コストを軽減したり、ストレージの容量を有効活用したりすることなどが期待されている。
ところで、ＳＡＮ環境下では、ストレージ内のＩ／Ｏを処理する構成要素（アレイグループ等）に対して、複数のアプリケーションプログラムから同時にＩ／Ｏ要求が発生することとなる。そのため、いずれかのアプリケーションプログラムのＩ／Ｏが増加した場合、他のアプリケーションプログラムのＩ／Ｏ性能が劣化してしまうという問題がある。このような問題を一般にＩ／Ｏの衝突という。
したがって、既存アプリケーションプログラムがサーバ上で稼動している場合に、ストレージ内のＩ／Ｏを処理する構成要素に新規アプリケーションプログラムを割り当てるとき、その新規アプリケーションプログラムのＩ／Ｏ性能に伴う既存アプリケーションプログラムのＩ／Ｏの影響と、既存アプリケーションプログラムのＩ／Ｏ性能に伴う新規アプリケーションプログラムのＩ／Ｏの影響とをそれぞれ考慮する必要がある。
【０００３】
このような状況下において、従来、ストレージ内のアレイグループにおけるＩ／Ｏの衝突を回避する方法が開示されている。この方法では、新規ボリュームの作成先となるアレイグループを選択する前に、まず、その新規ボリュームに関する要求性能を取得する。次に、新規ボリュームの割り当てが可能なアレイグループに関し、各アレイグループに属するすべての各ボリュームが前記した要求性能を満たしているかどうかを調べる。そして、要求性能を満たすアレイグループがあれば、そのアレイグループに新規ボリュームを作成する（特許文献１参照）。
【特許文献１】米国特許第６７４８４８９号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、アプリケーションプログラムをボリュームに割り当てる場合、ストレージとサーバとの間には、アレイグループのほかにも、サーバ側ポートなどの各種構成要素がＩ／Ｏパス上に存在する。このため、これら構成要素相互の依存関係（組み合わせが実現可能か否か）を踏まえた上でストレージとサーバとの間のＩ／Ｏパスを割り当てることが望ましい。
【０００５】
そこで、本発明は、このような状況下においてなされたものであり、その目的は、ストレージとサーバとの間の最適なＩ／Ｏパスの割り当てを支援することである。
【課題を解決するための手段】
【０００６】
前記課題を解決するため本発明は、アプリケーションプログラムが割り当てられたアプリケーションサーバと、前記アプリケーションプログラムに用いられる記憶領域を有するストレージサブシステムと、前記アプリケーションサーバと前記ストレージサブシステムとの間のＩ／Ｏパスを管理する管理サーバとを含んで構成されるストレージ管理システムであって、前記管理サーバは、記憶部と処理部とを含んで構成され、前記管理サーバの記憶部は、前記アプリケーションサーバと前記ストレージサブシステムとの間のＩ／Ｏパスの組み合わせを管理するとともに、前記Ｉ／Ｏパスを構成する構成要素に関する各種性能値を管理する。そして、前記管理サーバの処理部は、外部装置から、アプリケーションプログラムを特定の前記アプリケーションサーバに新規に割り当てる要求を受け付けた場合、当該要求されたアプリケーションサーバと、当該アプリケーションサーバと組み合わされるストレージサブシステムとの間のＩ／Ｏパスを前記記憶部に管理された前記Ｉ／Ｏパスの組み合わせから取得し、前記記憶部に管理された前記各種性能値に基づいて、前記取得したＩ／Ｏパスの中から、前記外部装置からの条件を満たす性能値を持つＩ／Ｏパスを抽出し、前記抽出したＩ／Ｏパスを候補パスとして外部出力する。
【発明の効果】
【０００７】
本発明によれば、ストレージとサーバとの間の最適なＩ／Ｏパスの割り当てを支援することができる。
【発明を実施するための最良の形態】
【０００８】
図１は本発明の実施の形態におけるストレージ管理システムの構成例を示すブロック図である。
図１において、ストレージ管理システムは、性能管理サーバ（管理サーバともいう）０００と、複数のアプリケーションサーバ１００と、複数のストレージ監視サーバ２００と、複数のストレージサブシステム３００とを含んで構成されている。そして、性能管理サーバ０００とアプリケーションサーバ１００とストレージ監視サーバ２００の各々が、業務ＬＡＮ（Local Area Network）４０１に接続されている。
また、アプリケーションサーバ１００とストレージ監視サーバ２００とストレージサブシステム３００の各々が、ＳＡＮ（Storage Area Network）４０２と管理ＬＡＮ４０３とに接続されている。
なお、図１では、各サーバ１００、２００と各ストレージサブシステム３００との間のデータの送受信にＳＡＮ４０２を用いているが、これに限られることなく、ＬＡＮなどの一般的なネットワークを用いてもよい。
【０００９】
［性能管理サーバの構成］
次に、性能管理サーバ０００の構成について詳述する。
性能管理サーバ０００は、図１に示すように、ＣＰＵ（処理部）０００Ａとメモリ（記憶部）０００Ｂとを含んで構成されている。
そして、メモリ０００Ｂは、基本情報入力インタフェース０２０と、Ｉ／Ｏパス抽出用情報入力インタフェース０４０と、Ｉ／Ｏパス抽出処理部０３０と、データベース格納処理部０１０と、性能管理サーバ内部データベース０５０（「データベース０５０」ともいう）とを有している。
なお、性能管理サーバ０００には、表示装置０９１、キーボード（外部装置）０９２およびマウス（外部装置）０９３が接続されている。
【００１０】
［ストレージサブシステムの構成］
次に、ストレージサブシステム３００の構成について詳述する。なお、図１では、１台のストレージサブシステム３００の内部構成が示されているが、他のストレージサブシステム３００の内部構成も同様である。
ストレージサブシステム３００は、図１に示すように、複数のアレイグループ３０１と、複数のストレージ側ポート３０２と、複数のキャッシュパーティション３０３と、マイクロプログラム３０５（不図示のメモリに格納）とを含んで構成されている。
アレイグループ３０１とは、例えば、複数の記憶装置（ハードディスクドライブなど）をＲＡＩＤ（Redundant Array of Independent Disks）構成により単一の仮想的な記憶装置としたものをいう。アレイグループ３０１は、独立の記憶装置として取り扱うことが可能な論理ボリューム（記憶領域ともいう）３０４を有する。
【００１１】
マイクロプログラム３０５は、アレイグループ３０１上で、例えば一定容量ごとに不図示のパーティションを作成する。また、このマイクロプログラム３０５は、ＳＡＮ４０２を経由してアプリケーションサーバ１００に当該パーティションを割り当てる機能を持つ。このようなマイクロプログラム３０５は、プロセッサなどの処理装置（不図示）によって実行される。
パーティションは、一または複数の記憶装置を論理的に複数の論理ボリューム３０４に分割するためのものである。なお、本実施の形態では、パーティションは、一定容量、すなわち一定サイズ毎に作成することとするが、例えば、ユーザ設定に応じた任意のサイズ毎に作成するようにしてもよい。
このようなマイクロプログラム３０５によってパーティションが作成された場合、アプリケーションサーバ１００は、そのパーティションに基づきファイルシステム１０１を作成する。このとき作成されるファイルシステム１０１とパーティションとの対応関係は、一対一、一対多、多対一または多対多のいずれの関係としてもよい。
【００１２】
また、マイクロプログラム３０５は、不図示のキャッシュを分割してキャッシュパーティション３０３を作成し、当該キャッシュパーティション３０３を複数の論理ボリューム３０４に割り当てる機能を持つ。本実施の形態では、キャッシュパーティション３０３を複数の論理ボリューム３０４に割り当てることとしたが、アレイグループ３０１に割り当てるようにしてもよい。
さらに、マイクロプログラム３０５は、ストレージ側ポート３０２、アレイグループ３０１およびキャッシュパーティション３０３に関する性能値（転送速度など）を定期的に取得する機能を持つ。
【００１３】
［アプリケーションサーバの構成］
次に、アプリケーションサーバ１００の構成について詳述する。なお、図１では、１台のアプリケーションサーバ１００の内部構成が示されているが、他のアプリケーションサーバ１００の内部構成も同様である。
アプリケーションサーバ１００は、割り当てられたアプリケーションプログラム（「アプリケーション」ともいう）を稼動させるためのものであり、図１に示すように、ＣＰＵ１００Ａと、メモリ１００Ｂと、複数のファイルシステム１０１と、複数のサーバ側ポート１０２とを含んで構成されている。
そして、メモリ１００Ｂは、サーバ情報収集プログラム１０３（「収集プログラム１０３」ともいう）、サーバ−ストレージ関連情報収集プログラム１０４（「収集プログラム１０４」ともいう）およびアプリケーションサーバ内部データベース１０５（「データベース１０５」ともいう）を有している。各収集プログラム１０３、１０４の機能は後記するが、これらはＣＰＵ１００Ａによって稼動しているものとする。
なお、ファイルシステム１０１は、当該ファイルシステムに対するＩ／Ｏ要求をＳＡＮ４０２を経由して受け付け、このＩ／Ｏ要求に応じ、当該ファイルシステムに割り当てられた論理ボリューム３０４に対して所定の処理を実行する。
【００１４】
［ストレージ監視サーバの構成］
次に、ストレージ監視サーバ２００の構成について詳述する。なお、図１では、１台のストレージ監視サーバ２００の内部構成が示されているが、他のストレージ監視サーバ２００の内部構成も同様である。
ストレージ監視サーバ２００は、図１に示すように、ＣＰＵ２００Ａとメモリ２００Ｂとを含んで構成されている。
そして、メモリ２００Ｂは、稼働中のストレージ情報収集プログラム２０１（「収集プログラム２０１」ともいう）およびアプリケーションサーバ内部データベース２０２（「データベース２０２」ともいう）を有している。
なお、本実施の形態では、ストレージ監視サーバ２００とストレージサブシステム３００の各々は同台数とし、各ストレージ監視サーバ２００は、それぞれ異なるストレージサブシステム３００を監視しているものとする。もっとも、一台のストレージ監視サーバ２００が、複数台のストレージサブシステム３００を監視するように構成してもよい。
【００１５】
なお、本実施の形態では、アプリケーションサーバ１００と、サーバ側ポート１０２と、ストレージサブシステム３００と、ストレージ側ポート３０２と、キャッシュパーティション３０３と、ファイルシステム１０１と、アレイグループ３０１と、論理ボリューム３０４とを総称して「リソース」ともいう。
【００１６】
図２は性能管理サーバ０００の機能を示す説明図である（適宜図１参照）。
図２において、各収集プログラム１０３、１０４、２０１は、アプリケーションサーバ１００およびストレージサブシステム３００の各々から、後記する各リソースの構成情報および性能情報を取得する。
【００１７】
基本情報入力インタフェース０２０は、Ｉ／Ｏパスの抽出の前提となる情報を取得する処理を行うものであり、既存アプリケーション情報入力インタフェース０４４（「入力インタフェース０４４」ともいう）と、構成情報・性能情報取得インタフェース０４５（「取得インタフェース０４５」ともいう）とを含んでいる。
入力インタフェース０４４は、ＳＡＮ環境で稼動している既存アプリケーション（既に稼働中のもの）に関する情報（アプリケーション名など）を取得するが、この情報は、例えばユーザによるキーボード０９２などの操作によって入力される。
取得インタフェース０４５は、各収集プログラム１０３、１０４、２０１から、各リソースの構成情報および性能情報を取得する。構成情報は、アプリケーションサーバ１００からストレージサブシステム３００に対して行われたＩ／Ｏ要求におけるＩ／Ｏ発行元のリソースとＩ／Ｏ発行先のリソースとの間の経路に存在する各リソースの関係をあらわす情報である。
【００１８】
データベース格納処理部０１０は、基本情報入力インタフェース０２０が取得した情報をデータベース０５０上の構成情報０９０に格納するものであり、構成情報登録部０１１と性能情報登録部０１２と既存アプリケーション情報登録部０１３とを含んで構成されている。
【００１９】
構成情報登録部０１１は、構成情報・性能情報取得インタフェース０４５が取得した情報から、アプリケーションサーバ１００とストレージサブシステム３００との間の構成に関する構成情報を取り出し、その構成情報を構成情報０９０に格納する。また、性能情報登録部０１２は、構成情報・性能情報取得インタフェース０４５が取得した情報から、後記するリソースの性能情報を取り出し、その性能情報をデータベース０５０の性能情報０６０に格納する。なお、性能情報０６０は、Ｉ／Ｏパスを構成する構成要素（サーバ側ポート１０２、ストレージ側ポート３０２、アレイグループ３０１、キャッシュパーティション３０３）に関する各種性能値（転送速度（図４，５参照）、応答時間（図６参照）、キャッシュのヒット率（図７参照））をあらわす。
既存アプリケーション情報登録部０１３は、入力インタフェース０４４が取得した情報をアプリケーション情報０７０に格納する。
【００２０】
なお、構成情報登録部０１１に代えて、基本情報入力インタフェース０２０が、構成情報登録部０１１での処理を行ってもよい。
図２では、構成情報０９０、性能情報０６０およびアプリケーション情報０７０を総称して基本情報０８０と記載している。
【００２１】
Ｉ／Ｏパス抽出用情報入力インタフェース０４０（入力インタフェース０４０ともいう）は、新規アプリケーション（稼動中のものでなくこれから新たに稼動するもの）に関する情報（アプリケーション名など）と、Ｉ／Ｏパスを構成するリソースに関する条件（あるポートの転送速度など）とをそれぞれ取得し、取得した情報と条件とをＩ／Ｏパス抽出処理部０３０に渡す。この入力インタフェース０４０は、新規アプリケーション情報入力インタフェース０４３（入力インタフェース０４３ともいう）とＩ／Ｏパス抽出条件入力インタフェース０４２（入力インタフェース０４２ともいう）とを含んで構成される。
入力インタフェース０４３は、新規アプリケーションを稼動させるサーバの名称と、新規アプリケーションのＩ／Ｏピーク時間帯とを取得する。なお、Ｉ／Ｏピーク時間帯は、対象アプリケーションの稼動時間帯のうち、Ｉ／Ｏ性能の厳しい要求や他のアプリケーションへの影響などを考慮してユーザにより設定される時間帯をいい、具体的な内容については適宜後記することとする。  入力インタフェース０４２は、Ｉ／Ｏパスを構成するリソースの性能に関する条件と、Ｉ／Ｏパスを構成するリソースを利用するアプリケーションに関する条件とを取得する。
【００２２】
Ｉ／Ｏパス抽出処理部０３０は、データベース０５０の基本情報０８０から、入力インタフェース０４０が取得した条件をもとに、アプリケーションサーバ１００とストレージサブシステム３００との間のＩ／Ｏパスの候補を検索する。そして、Ｉ／Ｏパス抽出処理部０３０は、検索したＩ／Ｏパスの候補をＩ／Ｏパス候補リストとしてＩ／Ｏパス候補出力インタフェース０４１に渡す。このＩ／Ｏパス抽出処理部０３０は、リソース候補情報作成部０３１とＩ／Ｏパス候補情報作成部０３２とを含んで構成される。
リソース候補情報作成部０３１は、入力インタフェース０４３からの入力情報と基本情報０８０とを組み合わせて、後記する各リソースに関する情報を作成して、データベース０５０上のリソース候補情報０８６に一時的に格納する。
また、Ｉ／Ｏパス候補情報作成部０３２は、入力インタフェース０４２からの入力情報と、データベース０５０上のリソース候補情報０８６および基本情報０８０とに基づき、Ｉ／Ｏパスの候補を抽出する。そして、Ｉ／Ｏパス候補情報作成部０３２は、抽出結果をＩ／Ｏパス候補出力インタフェース０４１に渡す。
【００２３】
Ｉ／Ｏパス候補出力インタフェース０４１は，Ｉ／Ｏパス候補情報作成部０３２からＩ／Ｏパス候補リストを取得して、ユーザに提供する処理（例えば、表示装置０９１への表示処理）を行う。
【００２４】
次に、アプリケーションサーバ１００およびストレージ監視サーバ２００の機能について図３に基づいて詳述する。
まず、アプリケーションサーバ１００の機能について説明する。図３（ａ）に示すアプリケーションサーバ１００では、稼働中の収集プログラム１０３は、当該アプリケーションサーバ１００に割り当てられている各サーバ側ポート１０２の性能値（例えば転送速度）を取得して、データベース１０５のサーバ側ポート性能情報１１２に格納する。
また、収集プログラム１０３は、各ファイルシステム１０１（図２参照）に使用されているサーバ側ポート１０２を特定して、データベース１０５のファイルシステム構成情報１１３に格納する。
【００２５】
図３（ａ）の収集プログラム１０４は、当該プログラムが稼動しているアプリケーションサーバ１００から、アプリケーションサーバ１００とストレージサブシステム３００との間の後記する関連情報を取得し、データベース１０５のサーバ−ストレージ関連情報１２２に格納する。
【００２６】
なお、図３（ａ）の収集プログラム１０３は、次のような方法で、各サーバ側ポート１０２の性能値を取得するようにしてもよい。すなわち、サーバ側ポート１０２の性能値を当該サーバ側ポート１０２にあらかじめ登録しておく。そして、収集プログラム１０３が、当該サーバ側ポート１０２が提供するＡＰＩ（Application Program Interface）を使用して、当該サーバ側ポート１０２の性能値を取得する。もしくは、まず、アプリケーションサーバ１００上で稼動しているオペレーティングシステムが、サーバ側ポート１０２の性能情報を定期的に取得したのち、収集プログラム１０３が、オペレーティングシステムに取得された性能情報を取得するようにしてもよい。
【００２７】
また、各ファイルシステム１０１に使用されているサーバ側ポート１０２の特定は、ストレージサブシステム３００内の論理ボリューム３０４がＳＡＮ４０２経由で当該アプリケーションサーバ１００に割り当てられたときに、当該アプリケーションサーバ１００上で稼動しているオペレーティングシステム（サーバ側ポート１０２のポート名を記録している）からの通知により行うようにしてもよい。あるいは、ＳＣＳＩ（Small Computer System Interface）インクワイアリコマンドの実行により、各ファイルシステムに使用されるサーバ側ポート１０２を特定するようにしてもよい。
【００２８】
次に、ストレージ監視サーバ２００の機能について説明する（適宜図１、図２参照）。
図３（ｂ）に示すストレージ監視サーバ２００では、収集プログラム２０１は、ＳＡＮ４０２および管理ＬＡＮ４０３を経由して単一のストレージサブシステム３００を監視する。そして、この監視により、収集プログラム２０１は、各ストレージ側ポート３０２の性能値（例えば転送速度）、各アレイグループ３０１の性能値（例えば応答時間）および各キャッシュパーティション３０３の性能値（例えばキャッシュヒット率）を取得する。
【００２９】
また、収集プログラム２０１は、取得した各性能値をそれぞれ、データベース２０２のストレージ側ポート性能情報２１２、アレイグループ性能情報２１３およびキャッシュパーティション性能情報２１４に格納する。
なお、ストレージ側ポート性能情報２１２は、ストレージ側ポート３０２毎の性能値を保持するためのテーブルであり、アレイグループ性能情報２１３は、アレイグループ３０１毎の性能値を保持するためのテーブルである。また、キャッシュパーティション性能情報２１４は、キャッシュパーティション３０３毎の性能値を保持するためのテーブルである。
【００３０】
さらに、収集プログラム２０１は、ストレージサブシステム３００の各論理ボリューム３０４に使用される、ストレージ側ポート３０２、アレイグループ３０１およびキャッシュパーティション３０３の各名称を取得し、これら各名称をデータベース２０２の論理ボリューム構成情報２１５に格納する。論理ボリューム構成情報２１５は、各論理ボリューム３０４が使用するストレージ側ポート３０２、アレイグループ３０１およびキャッシュパーティション３０３の各名称を保持するためのテーブルである。
なお、前記した各性能値および各構成情報は、ストレージサブシステム３００内のマイクロプログラム３０５によって取得される。そして、収集プログラム２０１は、マイクロプログラム３０５が取得した各性能値および各構成情報を、管理ＬＡＮ４０３あるいはＳＡＮ４０２を介して取得することとなる。
【００３１】
次に、サーバ側ポート性能情報１１２（図３（ａ）参照）のデータ構成例を図４に基づいて説明する。
図４に示すように、サーバ側ポート性能情報１１２は、サーバ名７００と、サーバ側ポート名７０１と、サーバ側ポートの転送速度７０２と、時刻７０３とをカラムに持つテーブルである。このテーブルの各値は、収集プログラム１０３によって、例えば定期的に取得されて格納される。
サーバ名７００には、アプリケーションプログラムが稼働中のアプリケーションサーバ１００のサーバ名（例えば、mercury）が示される。ポート名７０１には、アプリケーションサーバ１００が持つポートのポート名（例えば、１）が示される。
転送速度７０２には、ポート名７０１で指定されたポートの転送速度（例えば、６．２ＭＢ/ｓ）が示され、時刻７０３には、転送速度７０２で指定された転送速度を取得した時刻が示される。
【００３２】
図５はストレージ側ポート性能情報２１２（図３（ｂ）参照）のデータ構成例を示す図である。
図５に示すように、ストレージ側ポート性能情報２１２は、ストレージサブシステム名７１０と、ストレージ側ポート名７１１と、ストレージ側ポートの転送速度７１２と、時刻７１３とをカラムに持つテーブルである。このテーブルの各値は、収集プログラム２０１によって、例えば定期的に取得されて格納される。
ストレージサブシステム名７１０には、ストレージサブシステム３００のストレージサブシステム名（例えば、「♯９８７６」など）が示され、ストレージ側ポート名７１１には、ストレージ側ポート３０２のポート名が示される。
転送速度７１２には、ストレージ側ポート３０２の転送速度（例えば、「２．３ＭＢ/ｓ」など）が示され、時刻７１３には、転送速度７１２で指定された転送速度を取得した時刻（収集プログラム２０１の取得時刻）が示される。
【００３３】
図６はアレイグループ性能情報２１３（図３（ｂ）参照）のデータ構成例を示す図である。
図６に示すように、アレイグループ性能情報２１３は、ストレージサブシステム名７２０と、アレイグループ名７２１と、アレイグループの応答時間７２２と、時刻７２３とをカラムに持つテーブルである。このテーブルの各値は、収集プログラム２０１によって、例えば定期的に取得されて格納される。
ストレージサブシステム名７２０には、ストレージサブシステム３００のストレージサブシステム名（例えば、「♯９８７６」など）が示され、アレイグループ名７２１には、アレイグループのグループ名が示される。
応答時間７２２には、アレイグループの応答時間（例えば、「７．６ｍｓ」など）が示され、時刻７２３には、応答時間７２２で指定された応答時間を取得した時刻（収集プログラム２０１の取得時刻）が示される。
【００３４】
図７はキャッシュパーティション性能情報２１４（図３（ｂ）参照）のデータ構成例を示す図である。
図７に示すように、キャッシュパーティション性能情報２１４は、ストレージサブシステム名７３０と、キャッシュパーティション名７３１と、キャッシュパーティションのヒット率７３２と、時刻７３３とをカラムに持つテーブルである。このテーブルの各値は、収集プログラム２０１によって、例えば定期的に取得されて格納される。
ストレージサブシステム名７３０には、ストレージサブシステム３００のストレージサブシステム名（例えば、「♯９８７６」など）が示される。キャッシュパーティション名７３１は、キャッシュパーティション３０３の名称が示されている。
ヒット率７３２は、当該キャッシュパーティション３０３と関連づけられた論理ボリューム３０４がアクセスされた場合に、要求されたデータがキャッシュ上に存在する確率をあらわす。このヒット率は、例えば（キャッシュのヒット回数／キャッシュパーティション３０３と関連づけられた論理ボリューム３０４への全アクセス数）により求められる。
時刻７３３には、ヒット率７３２で指定されたヒット率を取得した時刻（収集プログラム２０１の取得時刻）が示される。
【００３５】
図８はファイルシステム構成情報１１３（図３（ａ）参照）のデータ構成例を示す図である。
図８に示すように、ファイルシステム構成情報１１３は、サーバ名７４０と、ファイルシステム名７４１と、サーバ側ポート名７４２とをカラムに持つテーブルである。このテーブルの各値は、収集プログラム１０３によって、例えば定期的に取得されて格納される。
サーバ名７４０には、アプリケーションプログラムが稼働中のアプリケーションサーバ１００のサーバ名（例えば、「mercury」など）が示され、ファイルシステム名７４１には、対応するファイルシステム１０１のファイルシステム名が示される。
ポート名７４２には、アプリケーションサーバ１００が持つサーバ側ポート１０２のポート名が示される。
【００３６】
図９は論理ボリューム構成情報２１５（図３（ｂ）参照）のデータ構成例を示す図である。
図９に示すように、論理ボリューム構成情報２１５は、ストレージサブシステム名７５０と、論理ボリューム名７５１と、ストレージ側ポート名７５２と、アレイグループ名７５３と、キャッシュパーティション名７５４とをカラムに持つテーブルである。このテーブルの各値は、ストレージ情報収集プログラム２０１によって、例えば定期的に取得されて格納される。
論理ボリューム名７５１は、論理ボリューム３０４を識別するためのものであり、この論理ボリューム名７５１には、論理ボリューム名が示される。なお、ストレージサブシステム名７５０、ストレージ側ポート名７５２，アレイグループ名７５３およびキャッシュパーティション名７５４の各値は、ストレージサブシステム名７１０、７２０、７３０（図５〜図７参照）、ストレージ側ポート名７１１（図５参照）、アレイグループ名７２１（図６参照）およびキャッシュパーティション名７３１（図７参照）の各値と同様である。
【００３７】
図１０はサーバ−ストレージ関連情報１２２（図３（ａ）参照）のデータ構成例を示す図である。
図１０に示すように、サーバ−ストレージ関連情報１２２は、サーバ名７００と同様のサーバ名７６０と、ファイルシステム名７６１と、ストレージサブシステム名７６２と、論理ボリューム名７６３とをカラムに持つテーブルである。ファイルシステム名７６１、ストレージサブシステム名７６２および論理ボリューム名７６３の各値は、収集プログラム１０４によって、当該収集プログラム１０４を稼動しているアプリケーションサーバ１００から取得され、対応するカラムに格納される。
【００３８】
なお、ファイルシステム名７６１、ストレージサブシステム名７６２および論理ボリューム名７６３の各値は、収集プログラム１０４がオペレーティングシステムから取得してもよい。この場合、ファイルシステム名７６１、ストレージサブシステム名７６２および論理ボリューム名７６３の各値は、論理ボリューム３０４がＳＡＮ４０２経由で当該アプリケーションサーバ１００に公開されたときに、当該アプリケーションサーバ１００上で稼動しているオペレーティングシステムによって記録されることとなる。
また、ファイルシステム名７６１、ストレージサブシステム名７６２および論理ボリューム名７６３の各値は、ＳＣＳＩインクワイアリコマンドの実行により取得されてもよい。
【００３９】
なお、本実施の形態では、図２に示す収集プログラム１０３、１０４は、例えば一時間おきに、情報をデータベース１０５に格納する。
図２に示す収集プログラム２０１は、例えば一時間おきに情報をデータベース２０２に格納する。また、収集プログラム１０３が取得・格納するサーバ側ポート１０２の転送速度７０２の値と、収集プログラム２０１が取得・格納するストレージ側ポート３０２の転送速度７１２の値については、例えば過去一時間内の収集値（例えば一分おきに収集されたすべての値）から平均値が算出されて格納される。
また、アレイグループ３０１の応答時間とキャッシュパーティション３０３のヒット率についても、例えば過去一時間内の収集値（例えば、一分おきに収集されたすべての値）から平均値が算出されて格納される。それ以外の値については、一時間おきに取得した値を格納する。
また、図２に示す収集プログラム１０３、１０４、２０１は、取得インタフェース０４５から問合せを受けると、当該プログラムが保持している情報を取得インタフェース０４５に送ったのち、当該プログラムが保持している情報を削除する。
【００４０】
図２に戻って、入力インタフェース０２０の機能について詳述する。
入力インタフェース０４４は、表示装置０９１に既存アプリケーションに関する入力画面９００（図１７参照）を出力装置（表示装置０９１など）に出力（表示）させる。また、入力インタフェース０４４は、入力画面９００の入力データを既存アプリケーション情報登録部０１３に渡す。
入力画面９００は、既存アプリケーションを稼動するアプリケーションサーバ１００のサーバ名と、該当するファイルシステム名と、Ｉ／Ｏピーク時間帯とをユーザに入力（キーボート０９２、マウス０９３の入力操作）させるためのものである。入力画面９００の表示例を図１７に示す。
【００４１】
入力画面９００には、図１７に示すように、アプリケーションサーバのサーバ名の入力欄９０１と、ファイルシステムのファイルシステム名の入力欄９０２と、アプリケーション名の入力欄９０５と、Ｉ／Ｏピーク時間帯の入力欄９０３、９０４とが含まれている。また、この入力画面９００には、アプリケーションの重要度の入力欄９０６が含まれている。これらの入力欄９０１〜９０６の値は、ユーザによるキーボード０９２やマウス０９３の操作によって入力される。つまり、ユーザの所望値である。
【００４２】
図２に戻って、取得インタフェース０４５は、収集プログラム１０３、１０４、２０１の各々から、例えば定期的に情報を取得し、構成情報登録部０１１および性能情報登録部０１２に渡す。具体的には、図３（ａ）に示すように、取得インタフェース０４５は、収集プログラム１０３から、サーバ側ポート性能情報１１２（図４参照）およびファイルシステム構成情報１１３（図８参照）を収集して、サーバ側ポート性能情報１１２を性能情報登録部０１２に渡すとともに、ファイルシステム構成情報１１３を構成情報登録部０１１に渡す。
また、取得インタフェース０４５は、収集プログラム２０１からストレージ側ポート性能情報２１２（図５参照）、アレイグループ性能情報２１３（図６参照）、キャッシュパーティション性能情報２１４（図７参照）および論理ボリューム構成情報２１５（図９参照）を収集する。そして、取得インタフェース０４５は、各種性能情報２１２、２１３、２１４を性能情報登録部０１２に渡すとともに、論理ボリューム構成情報２１５を構成情報登録部０１１に渡す。
さらに、取得インタフェース０４５は、収集プログラム１０４から、サーバ−ストレージ関連情報１２２（図１０参照）を取得して、構成情報登録部０１１に渡す。
【００４３】
次に、データベース格納処理部０１０の処理について詳述する（図２参照）。
データベース格納処理部０１０は、既存アプリケーション情報登録部０１３と性能情報登録部０１２と構成情報登録部０１１とを含んで構成されている。
既存アプリケーション情報登録部０１３は、入力インタフェース０４４が取得した情報をアプリケーション情報０７０に格納する。
【００４４】
このアプリケーション情報０７０のデータ構成例を図１３に示す。アプリケーション情報０７０は、アプリケーションサーバ１００上のファイルシステム１０１を利用しているアプリケーションに関する情報である。図１３に示すように、アプリケーション情報０７０は、サーバ名８４１と、ファイルシステム名８４２と、アプリケーション名８４３と、重要度８４４と、Ｉ／Ｏピーク時間帯８４５との各項目を含んで構成されている。これらの各項目で指定された値は、図１７に示した入力画面９００の各入力欄９０１〜９０６の値に対応するものである。
図２の既存アプリケーション情報登録部０１３は、入力インタフェース０４４から、図１７に示した入力画面９００を通じて次のような情報を取得して、アプリケーション情報０７０に登録する。図１７に示した入力画面９００の各入力欄９０１〜９０６には、サーバ名、ファイルシステム名、アプリケーション名、重要度およびＩ／Ｏピーク時間帯の各値が入力される。
【００４５】
性能情報登録部０１２は、サーバ側ポート１０２の性能情報を収集プログラム１０３から取得してデータベース０５０の性能情報０６０に登録する。また、性能情報登録部０１２は、ストレージ側ポート３０２の性能情報、アレイグループ３０１の性能情報、およびキャッシュパーティション３０３の性能情報を収集プログラム２０１から取得して、データベース０５０の性能情報０６０に登録する。
【００４６】
性能情報０６０のデータ構造例を図１２に示す。
図１２に示す性能情報０６０は、リソース種別８２１と、サーバ／ストレージサブシステム名８２２と、リソース名８２３と、時刻８２４と、性能値８２５とをカラムに持つテーブルである。
リソース種別８２１には、サーバ側ポート１０２、キャッシュパーティション３０３、ストレージ側ポート３０２またはアレイグループ３０１のいずれかの種別が示される。
サーバ／ストレージサブシステム名８２２には、対応するリソース（アプリケーションサーバ１００またはストレージサブシステム３００）のサーバ名またはストレージサブシステム名のいずれかが示される。
リソース名８２３は、リソース種別で指定されたリソースを識別するためのものであり、このリソース名には、例えばポート番号などが示される。
時刻８２４には、後記する性能値８２５で指定された性能値（例えば、６．２ＭＢ/ｓのポートの転送速度など）が示される。
【００４７】
［性能情報登録部の機能］
次に、図２の性能情報登録部０１２の機能を詳述する。
まず、性能情報登録部０１２がサーバ側ポート１０２の性能情報（例えば転送速度）を性能情報０６０に格納する処理に関して説明する。
性能情報登録部０１２は、構成情報・性能情報取得インタフェース０４５からサーバ側ポート性能情報１１２（図４のサーバ名７００、サーバ側ポート名７０１、サーバ側ポートの転送速度７０２、時刻７０３の各値）を取得する。そして、性能情報登録部０１２は、サーバ名、サーバ側ポート名、サーバ側ポートの転送速度および時刻をそれぞれ、性能情報０６０（図１２参照）のサーバ／ストレージサブシステム名８２２、リソース名８２３、性能値８２５および時刻８２４に格納する。なお、性能情報登録部０１２は、性能情報０６０の該当行のリソース種別８２１に「サーバ側ポート」の文字列を格納する。
【００４８】
また、性能情報登録部０１２がストレージ側ポート３０２の性能情報（例えば転送速度）を性能情報０６０に格納する処理に関して説明する。
性能情報登録部０１２は、構成情報・性能情報取得インタフェース０４５からストレージ側ポート性能情報２１２（図５のストレージサブシステム名７１０、ストレージ側ポート名７１１、ストレージ側ポートの転送速度７１２、時刻７１３の各値）を取得する。そして、性能情報登録部０１２は、前記したサーバ側ポート１０２の性能情報の場合と同様に、ストレージサブシステム名、ストレージ側ポート名、ストレージ側ポートの転送速度および時刻をそれぞれ、性能情報０６０（図１２参照）のサーバ／ストレージサブシステム名８２２、リソース名８２３、性能値８２５および時刻８２４に格納する。なお、性能情報登録部０１２は、性能情報０６０の該当行のリソース種別８２１に不図示の「ストレージ側ポート」の文字列を格納する。なお、その他のリソースに関してもこれらと同様にして、性能情報を登録することができる。
【００４９】
次に、性能情報登録部０１２がアレイグループ３０１の性能情報を性能情報０６０に格納する処理に関して説明する。
性能情報登録部０１２は、取得インタフェース０４５からアレイグループ性能情報２１３（図６のストレージサブシステム名７２０、アレイグループ名７２１、アレイグループの応答時間７２２、時刻７２３の各値）を取得する。そして、性能情報登録部０１２は、ストレージサブシステム名、アレイグループ名、アレイグループの応答時間および時刻の各値をそれぞれ、性能情報０６０（図１２参照）のサーバ／ストレージサブシステム名８２２、リソース名８２３、性能値８２５および時刻８２４に格納する。なお、性能情報登録部０１２は、性能情報０６０の該当行のリソース種別８２１に「アレイグループ」の文字列を格納する。
【００５０】
さらに、性能情報登録部０１２がキャッシュパーティション３０３の性能情報を性能情報０６０に格納する処理に関して説明する。
性能情報登録部０１２は、取得インタフェース０４５からキャッシュパーティション性能情報２１４（図７のストレージサブシステム名７３０、キャッシュパーティション名７３１、キャッシュパーティションのヒット率７３２、時刻７３３の各値）を取得する。そして、性能情報登録部０１２は、ストレージサブシステム名、キャッシュパーティション名、キャッシュパーティションのヒット率および時刻の各値をそれぞれ、性能情報０６０（図１２参照）のサーバ／ストレージサブシステム名８２２、リソース名８２３、性能値８２５および時刻８２４に格納する。なお、性能情報登録部０１２は、性能情報０６０の該当行のリソース種別８２１に「キャッシュパーティション」の文字列を格納する。
【００５１】
［構成情報登録部の機能］
次に、図２の構成情報登録部０１１の機能について説明する。
構成情報登録部０１１は、収集プログラム１０３、１０４、２０１から定期的に情報を取得する。そして、構成情報登録部０１１は、取得した情報に基づいて、アプリケーションサーバ１００とストレージサブシステム３００との間に存在するリソースの構成情報を作成したのち、作成した構成情報をデータベース０５０の構成情報０９０に格納する。構成情報０９０は、アプリケーションサーバ１００とストレージサブシステム３００との間のＩ／Ｏパスの組み合わせを表すものであり、ファイルシステム１０１に対するＩ／Ｏ要求が伝播されうるリソース名を保持する。
【００５２】
構成情報０９０のデータ構造例を図１１に示す。
図１１に示すように、構成情報０９０は、サーバ名８０１と、ファイルシステム名８０２と、サーバ側ポート名８０３と、ストレージサブシステム名８０４と、ストレージ側ポート名８０５と、アレイグループ名８０６と、キャッシュパーティション名８０７とをカラムに持つテーブルである。
【００５３】
図２に戻って、構成情報登録部０１１の機能を詳述する。
構成情報登録部０１１は、収集プログラム１０３により収集されたファイルシステム構成情報１１３（図８のサーバ名７４０、ファイルシステム名７４１、サーバ側ポート名７４２の各値）を取得する。また、構成情報登録部０１１は、収集プログラム２０１により収集された論理ボリューム構成情報２１５（図９のストレージサブシステム名７５０、論理ボリューム名７５１、ストレージ側ポート名７５２、アレイグループ名７５３、キャッシュパーティション名７５４の各値）を取得する。さらに、構成情報登録部０１１は、収集プログラム１０４により収集されたサーバ−ストレージ関連情報１２２（図１０のサーバ名７６０、ファイルシステム名７６１、ストレージサブシステム名７６２、論理ボリューム名７６３の各値）を取得する。
【００５４】
そして、構成情報登録部０１１は、前記取得したファイルシステム構成情報１１３、論理ボリューム構成情報２１５およびサーバ−ストレージ関連情報１２２の各値を、ファイルシステム名および論理ボリューム名に基づいて組み合わせた構成情報０９０を作成する。具体的には、まず構成情報登録部０１１は、ファイルシステム構成情報１１３から、サーバ名７４０とファイルシステム名７４１の各値の組み合わせをすべて取得する。
続いて、構成情報登録部０１１は、前記取得した各値の組み合わせと、サーバ−ストレージ関連情報１２２から取得したサーバ名７６０およびファイルシステム名７６１の各値の組み合わせとを比較し、一致するサーバ−ストレージ関連情報１２２（図１０参照）の行を抽出する。
次に、構成情報登録部０１１は、前記抽出した行に示された、ストレージサブシステム名７６２と論理ボリューム名７６３の各値の組み合わせをすべて取得する。そして、構成情報登録部０１１は、前記取得した各組み合わせと、論理ボリューム構成情報２１５（図９参照）のストレージサブシステム名７５０と論理ボリューム名７５１の各値の組み合わせとを比較し、一致する論理ボリューム構成情報２１５の行をすべて抽出する。
【００５５】
次に、構成情報登録部０１１は、ファイルシステム構成情報１１３のサーバ名７６０の値を構成情報０９０（図１１参照）のサーバ名８０１に格納するとともに、ファイルシステム名７６１の値を構成情報０９０のファイルシステム名８０２に格納する。また、構成情報登録部０１１は、サーバ側ポート名７４２の値を構成情報０９０のサーバ側ポート名８０３に格納するとともに、ストレージサブシステム名７５０の値を構成情報０９０のストレージサブシステム名８０４に格納する。さらに、構成情報登録部０１１は、ストレージ側ポート名７５２の値を構成情報０９０のストレージ側ポート名８０５に格納するとともに、アレイグループ名７５３の値を構成情報０９０のアレイグループ名８０６に格納する。
また、構成情報登録部０１１は、キャッシュパーティション名７５４の値を構成情報０９０のキャッシュパーティション名８０７に格納する。構成情報登録部０１１は、このような格納処理を、ファイルシステム構成情報１１３から取得したサーバ名７４０とファイルシステム名７４１の各値の組み合わせすべてについて行う。
【００５６】
次に、Ｉ／Ｏパス抽出処理部０３０、入力インタフェース０４０および出力インタフェース０４１の処理について詳述する。
［入力インタフェースの機能］
まず、入力インタフェース０４０の機能について説明する。入力インタフェース０４０は、２つの入力インタフェース０４２、０４３を含んでいる（図２参照）。
入力インタフェース０４３は、新規アプリケーションを稼動させるアプリケーションサーバ１００のサーバ名と、新規アプリケーションのＩ／Ｏピーク時間帯を取得するインタフェースである。ここでのサーバ名とＩ／Ｏピーク時間帯は、図１８に示す入力画面９１０を通じて取得される。
図１８に示す入力画面９１０は、表示装置０９１に表示され、アプリケーションサーバ１００のサーバ名の入力欄９１１と、Ｉ／Ｏピーク時間帯の入力欄９１２、９１３とが含まれている。これらの入力欄９１１〜９１３の値は、ユーザによる入力装置（キーボード０９２、マウス０９３）による入力操作により指定される。指定された入力欄９１１〜９１３の各値は、入力インタフェース０４３によって、Ｉ／Ｏパス抽出処理部０３０に渡される。
【００５７】
図２に戻って、入力インタフェース０４２は、Ｉ／Ｏパスを構成するリソースの性能についての条件、または、Ｉ／Ｏパスを構成するリソースを利用するアプリケーションについての条件を取得するインタフェースである。これらの各条件は、図１９に示す入力画面９２０を通じて取得される。
図１９に示す入力画面９２０には、プルダウンメニュー９２１が含まれており、このプルダウンメニュー９２１の中に前記した各条件がある。具体的には、Ｉ／Ｏパスを構成するリソースの性能についての条件として、サーバ側ポート１０２の平均転送速度、ストレージ側ポート３０２の平均転送速度、アレイグループ３０１の平均応答時間、キャッシュパーティション３０３の平均ヒット率の４つの条件がある。また、Ｉ／Ｏパスを構成するリソースを利用するアプリケーションについての条件として、リソースを使用するアプリケーションの最大重要度、Ｉ／Ｏピーク時間帯の重なるアプリケーションの最大重要度の２つの条件がある。さらに、いずれの条件も指定しない「選択しない」という条件もプルダウンメニュー９２１にはある。
ユーザは、例えばマウス０９３を用いて、プルダウンメニュー９２１の前記７つの条件の中から、１つの条件を選択することが可能となる。選択された条件は、入力インタフェース０４３を通じてＩ／Ｏパス候補情報作成部０３２に渡される。
【００５８】
なお、図１９では、選択可能な条件が１つである場合について説明したが、複数の条件を選択可能にしてもよい。複数の条件が選択可能な場合、Ｉ／Ｏパス候補情報作成部０３２における処理内容が、１つの条件を選択可能にする場合と異なるが、この点は後記する。
【００５９】
次に、図２のＩ／Ｏパス抽出処理部０３０における処理について説明する。
Ｉ／Ｏパス抽出処理部０３０は、リソース候補情報作成部０３１とＩ／Ｏパス候補情報作成部０３２とを含んで構成されている。
リソース候補情報作成部０３１は、入力インタフェース０４３からの入力情報と基本情報０８０を組み合わせて、各リソースの性能平均値と、各リソースに関連するアプリケーションの最大重要度とを作成し、データベース０５０のリソース候補情報０８６に格納する。リソース候補情報０８６のデータ構成例を図１５に示す。
【００６０】
図１５に示すように、リソース候補情報０８６は、リソース種別８７１と、サーバ／ストレージサブシステム名８７２と、リソース名８７３と、平均性能値８７４とを含んでいる。また、リソース候補情報０８６は、リソースを使用するアプリケーションの最大重要度８７５と、Ｉ／Ｏピーク時間帯の重なるアプリケーションの最大重要度８７６とを含んでいる。
平均性能値８７４には、図１２の性能値８２５で指定された値をリソース種別８７１ごとのリソース名ごとに分類して算出された平均値が示される。この平均値が算出される時間間隔は、あらかじめ設定されているものとする。
最大重要度８７５には、当該リソース（サーバ側ポート１０２、ストレージ側ポート３０２、アレイグループ３０１、キャッシュパーティション３０３）に着目した場合の当該アプリケーションの重要度が示されるが、この重要度は、あらかじめ設定された段階付けの中から指定されたものである。
【００６１】
最大重要度８７６には、Ｉ／Ｏピーク時間帯の重なるアプリケーションについての当該アプリケーションの重要度が示される。この重要度もあらかじめ設定された段階付けの中から指定されたものである。このような指定をしておくことにより、Ｉ／Ｏピーク時間帯が重なるアプリケーションについてその重要度の順位付けを行うことが可能となる。
なお、リソース種別８７１、サーバ／ストレージサブシステム名８７２およびリソース名８７３は、図１２のリソース種別８２１、サーバ／ストレージサブシステム名８２２およびリソース名８２３の内容と同様である。
【００６２】
図２に戻って、Ｉ／Ｏパス候補情報作成部０３２は、入力インタフェース０４２からの入力情報と、リソース候補情報０８６と、基本情報０８０とに基づいて、後記するＩ／Ｏパスの候補を抽出したのち、その抽出結果をＩ／Ｏパス候補出力インタフェース０４１に渡す。
【００６３】
次に、リソース候補情報作成部０３１の処理例を図１４に基づいて説明する。
ステップ６０５では、図１８に示した入力画面９１０で指定された新規アプリケーション（サーバ名の入力欄９１１で指定されたもの）が利用可能なリソース一覧を取得する。具体的には、図１２に示した性能情報０６０の中から、指定された新規アプリケーションが使用できないサーバ側ポート１０２に関する情報（リソース種別で指定されたサーバ側ポートの行など）を除いたものを抽出する。言い換えると、サーバ／ストレージサブシステム名８２２（図１２参照）で指定された文字列が、図１８に示した入力画面９１０に含まれる入力欄９１１に入力されたサーバ名と同一である行のみを抽出する。
【００６４】
ステップ６１０では、取得したリソース一覧中、データの重複を排除しリソース集合を作成する。データの重複を排除する前、まず、ステップ６０５において図１２の性能情報０６０から抽出された行（リソース一覧）の中から、リソース種別８２１、サーバ／ストレージサブシステム名８２２およびリソース名８２３で指定された値の組み合わせを持つ行をすべて取得する。そして、この取得したすべての行の中から、データ重複する組み合わせの行を排除した行からなる組み合わせ集合を作成する。
ステップ６１５では、ステップ６１０で作成したリソース集合が空かどうかを調べる。具体的には、組み合わせ集合（リソース集合）の要素数（行数）が０であるか否かを調べる。これにより、リソース集合を構成するすべての行についての処理が行われることとなる。
ステップ６１５における判断において、０であれば、リソース集合が空と判断し（ステップ６１５のはい）、リソース候補情報作成部０３１の処理を終える。他方、０でなければ、リソース集合が空ではないと判断し（ステップ６１５のいいえ）、ステップ６２０に進む。
【００６５】
ステップ６２０では、ステップ６１０で作成したリソース集合としての組み合わせ集合からリソースを一個取り出し、取り出したリソースをリソース集合から削除する。
ステップ６２５では、ステップ６２０で取り出したリソースに関して、性能情報０６０に基づいて、当該リソースの平均性能値を計算する。具体的には、まず、新規アプリケーションの稼動時間帯（図１８のＩ／Ｏピーク時間帯で指定された時間帯）に重なり、かつ、図１８に示した入力画面９１０の入力欄９１６で指定した期間内に含まれる情報のみを抽出する。そして、抽出した情報から、性能値の平均値を計算する。
さらに詳述する。ステップ６０５において性能情報０６０から抽出された行から、リソース種別８２１、サーバ／ストレージサブシステム名８２２およびリソース名８２３（図１２参照）で指定された値の組み合わせが、ステップ６２０で取り出した組み合わせと一致する行を抽出する。次に、前記抽出の結果から、時刻８２４で指定された値が、図１８のＩ／Ｏピーク時間帯の２つの入力欄９１２、９１３に入力された値の時間帯に重なり、かつ、性能情報０６０の時刻８２４で指定された時刻と現在の時刻との差が図１８の入力画面９１０の入力欄９１６に入力された値（日数）以下である行のみを抽出する。そして、抽出した行に含まれる性能値８２５で指定された値の平均値を求める。
【００６６】
ステップ６３０では、ステップ６２０において取り出したリソースに関するリソース集合の行に関して、当該行で指定されたリソース種別が「サーバ側ポート」であるか否かを調べる。そして「サーバ側ポート」であれば（ステップ６３０のはい）、ステップ６３３に進み、他方、「サーバ側ポート」でなければ（ステップ６３０のいいえ）、ステップ６３５に進む。
【００６７】
ステップ６３３では、サーバ側ポート１０２に対応付けられているアプリケーションの重要度（図１３参照）の中から、アプリケーションの最大重要度を計算する。具体的には、構成情報０９０（図１１参照）を構成する行の中から、ステップ６２０において取り出したリソースに関するリソース集合の行で指定されたサーバ／ストレージサブシステム名およびリソース名を含む行を抽出する。そして、その抽出結果で示された行の中から、サーバ名８０１およびファイルシステム名８０２で指定された値の組み合わせを取得する。
【００６８】
次に、アプリケーション情報０７０（図１３参照）を構成する行の中から、サーバ名８４１およびファイルシステム名８４２で指定された値の組み合わせを含む行を探索する。そして、その探索結果で示された行に含まれる重要度８４４の中から、最大重要度（ここでは、重要度８４４で指定された値が最大のもの）を求める。最後に、前記探索の結果で指定された行の中から、入力画面９１０（図１８参照）の２つの入力欄９１２、９１３に入力された時間帯に重なる時間帯をＩ／Ｏピーク時間帯８４５に持つ行のみを抽出する。そして、抽出した行に含まれる重要度８４４の中から、最大重要度（ここでは、重要度８４４で指定された値が最大のもの）を求めたのち、ステップ６５０に進む。
【００６９】
ステップ６３５では、ステップ６２０において取り出したリソースに関するリソース集合の行に関して、当該行で指定されたリソース種別が「ストレージ側ポート」であるか否かを調べる。そして「ストレージ側ポート」であれば（ステップ６３５のはい）、ステップ６３８に進み、他方、「ストレージ側ポート」でなければ（ステップ６３５のいいえ）、ステップ６４０に進む。
【００７０】
ステップ６３８では、サーバ側ポート１０２に対応付けられているアプリケーションの重要度８４４（図１３参照）の中から、アプリケーションの最大重要度を計算する。具体的には、構成情報０９０（図１１参照）を構成する行の中から、ステップ６２０において取り出したリソースに関するリソース集合の行で指定されたストレージサブシステム名８０４およびストレージ側ポート名８０５を含む行を抽出する。そして、その抽出結果で示された行の中から、サーバ名８０１およびファイルシステム名８０２で指定された値の組み合わせを取得する。
【００７１】
次に、アプリケーション情報０７０（図１３参照）を構成する行の中から、サーバ名８４１およびファイルシステム名８４２で指定された値の組み合わせを含む行を探索する。そして、その探索結果で示された行に含まれる重要度８４４の中から、最大重要度（ここでは、重要度８４４で指定された値が最大のもの）を求める。最後に、前記探索結果から、Ｉ／Ｏピーク時間帯８４５がＩ／Ｏピーク時間帯入力欄９１２およびＩ／Ｏピーク時間帯入力欄９１３に入力された時間帯に含まれる行のみを抽出する。そして、抽出した行に含まれる重要度８４４の中から、最大重要度（ここでは、重要度８４４で指定された値が最大のもの）を求めたのち、ステップ６５０に進む。
【００７２】
ステップ６４０では、ステップ６２０において取り出したリソースに関するリソース集合の行に関して、当該行で指定されたリソース種別が「アレイグループ」であるか否かを調べる。そして「アレイグループ」であれば（ステップ６４０のはい）、ステップ６４３に進み、他方、「アレイグループ」でなければ（ステップ６４０のいいえ）、ステップ６４５に進む。
【００７３】
ステップ６４３では、アレイグループ３０１に対応付けられているアプリケーションの重要度（図１３参照）の中から、アプリケーションの最大重要度を計算する。具体的には、構成情報０９０（図１１参照）を構成する行の中から、ステップ６２０において取り出したリソースに関するリソース集合の行で指定されたストレージサブシステム名８０４およびアレイグループ名８０６を含む行を抽出する。そして、その抽出結果で示された行の中から、サーバ名８０１およびファイルシステム名８０２で指定された値の組み合わせを取得する。
【００７４】
次に、アプリケーション情報０７０（図１３参照）を構成する行の中から、サーバ名８４１およびファイルシステム名８４２で指定された値の組み合わせを含む行を探索する。そして、その探索結果で示された行に含まれる重要度８４４の中から、最大重要度（ここでは、重要度８４４で指定された値が最大のもの）を求める。最後に、前記探索結果から，Ｉ／Ｏピーク時間帯８４５がＩ／Ｏピーク時間帯入力欄９１２およびＩ／Ｏピーク時間帯入力欄９１３に入力された時間帯に含まれる行のみを抽出する。そして、抽出した行に含まれる重要度８４４の中から、最大重要度（ここでは、重要度８４４で指定された値が最大のもの）を求めたのち、ステップ６５０に進む。
【００７５】
ステップ６４５では、ステップ６２０において取り出したリソースに関するリソース集合の行に関して、当該行で指定されたリソース種別が「キャッシュパーティション」であるか否かを調べる。そして「キャッシュパーティション」であれば（ステップ６４５のはい）、ステップ６４８に進み、他方、「キャッシュパーティション」でなければ（ステップ６４５のいいえ）、ステップ６１５に進む。
【００７６】
ステップ６４８では、キャッシュパーティションに対応付けられているアプリケーションの重要度８４４（図１３参照）の中から、アプリケーションの最大重要度を計算する。具体的には、構成情報０９０（図１１参照）を構成する行の中から、ステップ６２０において取り出したリソースに関するリソース集合の行で指定されたストレージサブシステム名８０４およびキャッシュパーティション名８０７を含む行を抽出する。そして、その抽出結果で示された行の中から、サーバ名８０１およびファイルシステム名８０２で指定された値の組み合わせを取得する。
【００７７】
次に、アプリケーション情報０７０（図１３参照）を構成する行の中から、サーバ名８４１およびファイルシステム名８４２で指定された値の組み合わせを含む行を探索する。そして、その探索結果で示された行に含まれる重要度８４４の中から、最大重要度（ここでは、重要度８４４で指定された値が最大のもの）を求める。最後に、前記探索結果から、Ｉ／Ｏピーク時間帯８４５がＩ／Ｏピーク時間帯入力欄９１２およびＩ／Ｏピーク時間帯入力欄９１３に入力された時間帯に含まれる行のみを抽出する。そして、抽出した行に含まれる重要度８４４の中から、最大重要度（ここでは、重要度８４４で指定された値が最大のもの）を求めたのち、ステップ６５０に進む。
【００７８】
ステップ６５０では、ステップ６３３、６３８、６４３、６４８のいずれかにおいて計算により求めた値をデータベース０５０に格納する。
具体的には、ステップ６２０において取り出したリソースに関するリソース集合の行に関して、当該行に含まれるリソース種別をリソース候補情報０８６のリソース種別８７１に、当該行に含まれるサーバ／ストレージサブシステムをサーバ／ストレージサブシステム名８２２にそれぞれ格納する。また、当該行に含まれるリソース名をリソース名８２３に、ステップ６２５で計算した平均性能値を平均性能値８７４にそれぞれ格納する。
さらに、ステップ６３３、６３８、６４３、６４８のいずれかのステップで計算した一番目と二番目の最大値をリソース候補情報（図１５参照）の各項目８７５、８７６にそれぞれ格納し、ステップ６１５へ戻って、リソース集合が空になるまでの間、すべての行についてステップ６２０以降の処理を繰り返す。
【００７９】
次に、Ｉ／Ｏパス候補情報作成部０３２の処理例を図１６に基づいて説明する。ここでは、まず、Ｉ／Ｏパス候補情報作成部０３２が内部で作成する一時テーブルについて説明したのち、図１６の各ステップの処理について説明することとする。
Ｉ／Ｏパス候補情報作成部０３２は、ストレージ側ポートリストとＩ／Ｏパス候補リストという２つの一時テーブルを持つ。ストレージ側ポートリストは、図１５のリソース候補情報０８６と同じカラム（図１５の項目８７１〜８７６）を持つテーブルである。
Ｉ／Ｏパス候補リストは、次のような情報を含むテーブルである。すなわち、サーバ側ポート名と、サーバ側ポート平均転送速度と、ストレージサブシステム名と、ストレージ側ポート名と、ストレージ側ポート平均転送速度と、アレイグループ名と、アレイグループ平均応答時間と、キャッシュパーティション名とである。また、キャッシュパーティション平均ヒット率と、リソースを共有するアプリケーションの最大重要度と、Ｉ／Ｏピーク時間帯の重なるアプリケーションの最大重要度とがテーブルに含まれている。
【００８０】
図１６はＩ／Ｏパス候補情報作成部０３２の処理例を示す図である。ここでは、Ｉ／Ｏパス候補情報作成部０３２が、図１９に示した入力画面９２０のプルダウンメニュー９２１で指定された条件（例えば、サーバ側ポートの平均転送速度など）を受信したことを前提にして以下のステップに進むものとする。
ステップ６５５では、リソース候補情報０８６（図１５参照）中、例えば、ユーザがマウス０９３を用いてプルダウンメニュー９２１（図１９参照）で指定した条件を満たさないリソースを除外する（Ｉ／Ｏパスの候補の対象外とする）。
【００８１】
例えば、プルダウンメニュー９２１で指定された条件が「ストレージ側ポートの平均転送速度」の場合、リソース候補情報０８６（図１５参照）から、前記条件を満たさないストレージ側ポート３０２に関する行は除外される。さらに具体的に説明する。プルダウンメニュー９２１で選択された条件が「ストレージ側ポートの平均転送速度」の場合、リソース候補情報０８６（図１５参照）から、「ストレージ側ポート」のリソース種別で、かつ、入力画面９２０（図１９参照）の入力欄９２７に入力された値（ストレージ側ポートの平均転送速度の閾値）以下の平均性能値を持つ行と、「ストレージ側ポート」以外のリソース種別を持つ行すべてと、「サーバ側ポート」以外のリソース種別を持つ行すべてを抽出し、ステップ６６０へ進む。あるいは、プルダウンメニュー９２１で指定された条件が「サーバ側ポートの平均転送速度」の場合、リソース候補情報０８６（図１５参照）から、「サーバ側ポート」のリソース種別８７１で、かつ、入力画面９２０（図１９参照）の入力欄９２７に入力された値（サーバ側ポートの平均転送速度の閾値）以下の平均性能値を持つ行のみを抽出し、ステップ６６０へ進む。
【００８２】
例えば、プルダウンメニュー９２１で指定された条件が「アレイグループの平均応答時間」の場合、リソース候補情報０８６（図１５参照）から、「アレイグループ」のリソース種別で、かつ、入力画面９２０（図１９参照）の入力欄９２７に入力された値（アレイグループの平均応答時間の閾値）以下の平均性能値を持つ行と、「アレイグループ」以外のリソース種別を持つ行すべてを抽出し、ステップ６６０へ進む。あるいは、プルダウンメニュー９２１で指定された条件が「キャッシュパーティションの平均ヒット率」の場合、リソース候補情報０８６（図１５参照）から、「キャッシュパーティション」のリソース種別８７１で、かつ、入力画面９２０（図１９参照）の入力欄９２７に入力された値（キャッシュパーティションの平均ヒット率の閾値）以上の平均性能値を持つ行と、「キャッシュパーテーション」以外のリソース種別を持つ行すべてを抽出し、ステップ６６０へ進む。
【００８３】
例えば、プルダウンメニュー９２１で指定された条件が「リソースを使用するアプリケーションの最大重要度」の場合、リソース候補情報０８６（図１５参照）から、入力画面９２０（図１９参照）の入力欄９２７に入力された、当該リソース（例えば、サーバ側ポートなど）の最大重要度の値以下の重要度を持つ行のみを抽出し、ステップ６６０へ進む。あるいは、プルダウンメニュー９２１で指定された条件が「Ｉ／Ｏピーク時間帯の重なるアプリケーションの最大重要度」の場合、リソース候補情報０８６（図１５参照）から、入力画面９２０（図１９参照）の入力欄９２７に入力された、Ｉ／Ｏピーク時間帯の重なるアプリケーションの最大重要度の値以下の重要度（Ｉ／Ｏピーク時間帯の重なるアプリケーションのもの）を持つ行のみを抽出し、ステップ６６０へ進む。
あるいは、プルダウンメニュー９２１で指定された条件が「選択しない」の場合、リソース候補情報０８６の全行を抽出し、ステップ６６０へ進む。
【００８４】
なお、図１６のステップ６５５では、プルダウンメニュー９２１により１つの条件が指定される場合について説明したが、複数の異なる条件を組み合わせて指定されるようにしてもよい。この場合、プルダウンメニュー９２１で指定された各条件ごとに、リソース候補情報０８６（図１５参照）の行に関し、図１６のステップ６５５以降のステップを連続して実行することとなるが、２つ目以降の条件を用いたステップ処理では、それ以前の条件を用いたステップ処理で抽出されたリソース候補情報０８６の行を処理対象としてステップ６５５以降の処理を行うとよい。
【００８５】
ステップ６６０では、ステップ６５５で抽出したリソース（除外されなかったリソース）から、「サーバ側ポート」のリソースのみを抽出する。具体的には、リソース候補情報０８６（図１５参照）を構成する行から、「サーバ側ポート」のリソース種別を含む行のみを抽出し、ステップ６６５へ進む。
ステップ６６５では、ステップ６５５で抽出したリソース（除外されなかったリソース）から、「ストレージ側ポート」のリソースのみを抽出し、抽出した行を新規に作成した前記したストレージ側ポートリスト（図１５の項目８７１〜８７７と同じ項目を持つテーブル）に格納する。具体的には、リソース候補情報０８６（図１５参照）を構成する行から、「ストレージ側ポート」のリソース種別８７１を含む行のみを抽出し、ステップ６７０へ進む。
ステップ６７０では、ステップ６６５で作成したストレージ側ポートリストが空であるか否か（行数が０か否か）を調べ、空であれば（ステップ６７０のはい）、ステップ６９５に進み、他方、空でなければ（ステップ６７０のいいえ）、ステップ６７５に進む。
【００８６】
ステップ６７５では、ステップ６６５で格納したストレージ側ポートリストから、ストレージ側ポート３０２の値を１個取り出し、取り出したストレージ側ポート３０２の値をストレージ側ポートリストから削除する。
ステップ６８０では、ストレージ側ポートリストと同じストレージサブシステム３００に属するアレイグループ３０１を、ステップ６５５で抽出したリソースから抽出する。具体的には、ステップ６５５で抽出したリソース（当該リソースを含む行）から、「アレイグループ」のリソース種別で、かつ、ストレージ側ポートリストのサーバ／ストレージサブシステム名と一致するサーバ／ストレージサブシステム名８７２を含む行を抽出する。
ステップ６８５では、ストレージ側ポートリストと同じストレージサブシステムに属するキャッシュパーティション３０３を、ステップ６５５で抽出したリソースから抽出する。具体的には、ステップ６５５で抽出したリソース（当該リソースを含む行）から、「キャッシュパーティション」のリソース種別で、かつ、ストレージ側ポートリストのサーバ／ストレージサブシステム名と一致するサーバ／ストレージサブシステム名８７２を含む行を抽出する。
【００８７】
ステップ６９０では、ステップ６６０、６７５、６８０、６８５で抽出されたリソースについて、可能なすべての組み合わせの情報をＩ／Ｏパス候補リストに格納する。具体的には、ステップ６６０で抽出された行と、ステップ６７５で削除した後、ステップ６８０で抽出された行と、ステップ６８５で抽出された行とから各々１行ずつ取り出して構成されるすべての可能な組み合わせに関して、以下の処理を行う。
まず、ステップ６６０で抽出した行のリソース名８７３および平均性能値８７４を、Ｉ／Ｏパス候補リストのサーバ側ポート名およびサーバ側ポート平均転送速度にそれぞれ格納する。次に、ステップ６７５で取り出した行のサーバ／ストレージサブシステム名８７２、リソース名８７３および平均性能値８７４の各値を、Ｉ／Ｏパス候補リストのストレージサブシステム名、ストレージ側ポート名およびストレージ側ポート平均転送速度にそれぞれ格納する。
次に、ステップ６８０で抽出した行のリソース名８７３および平均性能値８７４の各値を、Ｉ／Ｏパス候補リストのアレイグループ名およびアレイグループ平均応答時間にそれぞれ格納する。
次に、ステップ６８５で抽出した行のリソース名８７３および平均性能値８７４の各値を、Ｉ／Ｏパス候補リストのキャッシュパーティション名およびキャッシュパーティション平均ヒット率にそれぞれ格納する．
【００８８】
最後に、ステップ６６０で抽出した行とステップ６７５で取り出した行とステップ６８０で抽出した行と、ステップ６８５で抽出した行とに関し、リソースを使用するアプリケーションの最大重要度８７５の最大値と、Ｉ／Ｏピーク時間帯の重なるアプリケーションの最大重要度８７６の最大値とを求める。そして、求めた２つの最大値を、Ｉ／Ｏパス候補リストのリソースを共有するアプリケーションの最大重要度と、Ｉ／Ｏピーク時間帯の重なるアプリケーションの最大重要度とにそれぞれ格納する。以上の処理を前記のすべての組み合わせ（ステップ６６０、６７５、６８０、６８５で抽出した行）について行ったのち、ステップ６７０に戻る。
【００８９】
ステップ６９５では、Ｉ／Ｏパス候補リスト（図２０の表示画面を構成する情報）の内容を出力インタフェース０４１に送る。以上で、Ｉ／Ｏパス候補情報作成部０３２の処理を終了する。
なお、Ｉ／Ｏパス候補リストを受け取った出力インタフェース０４１は、当該Ｉ／Ｏパス候補リストをあらわす表示画面を表示装置０９１に表示する。これにより、表示装置０９１には、アプリケーションサーバ１００とストレージサブシステム３００との間のＩ／Ｏパス候補が表示されることとなる。
【００９０】
Ｉ／Ｏパス候補リストをあらわす表示画面９４０を図２０に示す。
図２０に示すように、表示画面９４０には、パス候補番号９４６と、サーバ側ポート名９４７と、サーバ側ポート平均転送速度９４８と、ストレージサブシステム名９４９と、ストレージ側ポート名９５０と、ストレージ側ポート平均転送速度９５１とが含まれている。また、この表示画面９４０には、アレイグループ名９５２と、アレイグループ平均応答時間９５３と、キャッシュパーティション名９５４と、キャッシュパーティション平均ヒット率９５５とが含まれている。さらに、この表示画面９４０には、リソースを共有するアプリケーションの最大重要度９５６と、Ｉ／Ｏピーク時間帯の重なるアプリケーションの最大重要度９５７とが含まれている。
【００９１】
このような表示画面９４０を通じて、ユーザは、例えば、アプリケーションサーバ１００とストレージサブシステム３００との間のＩ／Ｏパスの候補を確認した上でその候補の中から最適なＩ／Ｏパスを選択して新規アプリケーションをアプリケーションサーバ１００に導入することが可能となる。例えば、表示画面９４０から、「１」のパス候補番号で指定されたＩ／Ｏパスを選択したり、「２」のパス候補番号で指定されたＩ／Ｏパスを選択したりすることが可能となる。
しかも、この表示画面９４０に表示されたＩ／Ｏパスの候補は、図１９で示された入力画面９２０のプルダウンメニュー９２１の中から指定された条件を満たすＩ／Ｏパスとなっている。このため、あらかじめ指定したリソースを用いたＩ／Ｏパスのみを候補にあげることが可能となり、例えば、転送速度などの性能面で不安のあるリソース（例えば、サーバ側ポート１０２など）をあらかじめ候補対象外とすることが可能となる。
【００９２】
例えば、ユーザが、図１９に示した入力画面９２０のプルダウンメニュー９２１にて「リソースを使用するアプリケーションの最大重要度」の条件を指定し、かつその閾値を当該入力画面９２０の入力欄９２７に入力した場合、図２０に示した表示画面９４０には、指定された条件の最大重要度を超えるアプリケーションに使用されないリソースからなるＩ／Ｏパスの候補が表示されることとなる。
この場合、性能管理サーバ０００のＣＰＵ０００Ａは、メモリ０００Ｂに管理されたアプリケーション情報０７０（図１３参照）の重要度８４４に基づいて、図１４のステップ６０５で取得したリソース一覧（Ｉ／Ｏパス）の中から、入力画面９２０で指定された条件の閾値を満たす重要度を持つアプリケーションが割り当てられているＩ／Ｏパスを抽出して、表示画面９４０に外部出力する。したがって、ユーザが、表示された候補の中のＩ／Ｏパスを選択して、新規アプリケーションに対するリソースを割り当てたとしても、指定されたアプリケーションの重要度（閾値）を超えるアプリケーションに影響を及ぼさないようにすることが可能となる。
【００９３】
あるいは、例えば、ユーザが、図１９に示した入力画面９２０のプルダウンメニュー９２１にて「Ｉ／Ｏピーク時間帯の重なるアプリケーションの最大重要度」の条件を指定し、かつ、すべてのアプリケーションの重要度よりも小さい値を当該入力画面９２０の入力欄９２７に入力した場合、図２０に示した表示画面９４０には、新規アプリケーションとＩ／Ｏピーク時間帯が重ならない既存アプリケーションのみが使用するリソースからなるＩ／Ｏパスの候補が表示されることとなる。
【００９４】
この場合、性能管理サーバ０００のＣＰＵ０００Ａは、図１４のステップ６０５で取得したリソース一覧（Ｉ／Ｏパス）の中から、次のような（１）（２）の条件を満たすＩ／Ｏパスを抽出して外部出力する。すなわち、ＣＰＵ０００Ａは、（１）メモリ０００Ｂに管理されたアプリケーション情報０７０（図１３参照）の重要度に基づいて、入力画面９２０で指定された条件の閾値を満たす重要度を持つアプリケーションプログラムが割り当てられているＩ／Ｏパスで、かつ、（２）メモリ０００Ｂに管理されたアプリケーション情報０７０（図１３参照）のＩ／Ｏピーク時間帯に基づいて、入力画面９２０で指定された条件のＩ／Ｏピーク時間帯と重ならないＩ／Ｏピーク時間帯を持つアプリケーションプログラムが割り当てられているＩ／Ｏパスを抽出する。なお、入力画面９２０で指定された条件に応じ、前記（１）または（２）の一方の条件を満たすＩ／Ｏパスを抽出してもよい。したがって、ユーザが、表示された候補中のＩ／Ｏパスを用いて、新規アプリケーションに対するリソースを割り当てたとしても、新規アプリケーションと既存アプリケーションの双方におけるＩ／Ｏピーク時間帯でのＩ／Ｏの衝突を未然に防止することが可能になる。
【００９５】
このように、本実施の形態によると、性能管理サーバ０００のＣＰＵ０００Ａは、キーボード０９２やマウス０９３の操作により図１８の入力画面９１０を通じて入力されたアプリケーションを特定のアプリケーションサーバ１００に新規に割り当てる要求を受け付けた場合、当該要求されたアプリケーションサーバ１００と、当該アプリケーションサーバ１００と組み合わされるストレージサブシステム３００との間のＩ／Ｏパスをメモリ０００Ｂの構成情報０９０（図２参照）から取得する。続いて、ＣＰＵ０００Ａは、メモリ０００Ｂの性能情報０６０（図２参照）に基づいて、前記取得したＩ／Ｏパスの中から、図１９の入力画面９２０を通じて指定された条件を満たす性能値を持つＩ／Ｏパスを抽出する。そして、ＣＰＵ０００Ａは、前記抽出したＩ／Ｏパスの候補パスを図２０の表示画面９４０を通じて表示装置０９１に外部出力する。これにより、ストレージサブシステム３００とアプリケーションサーバ１００との間の最適なＩ／Ｏパスをユーザに提供することが可能となる。したがって、新規なアプリケーションの割り当てを支援することが可能となる。
【００９６】
［変形例］
なお、本発明は、前記した実施の形態に限られない。本実施の形態では、図１９に示した入力画面９２０に１つの条件を指定する場合について説明したが、前記したとおり、複数の条件を指定することが可能な場合、図２０に示した表示画面９４０には、次のようなＩ／Ｏの候補が表示されることとなる。
例えば、指定された重要度を超えるアプリケーションによって使用されていないリソース、かつ、新規アプリケーションとＩ／Ｏピーク時間帯が重ならない既存アプリケーションのみが使用するリソースの２つの条件を満たすＩ／Ｏパスの候補である。この場合、ユーザは、その候補としてあげられたＩ／Ｏパスを用いて新規アプリケーションに対するリソースを割り当てたとしても、指定した重要度よりも重要なアプリケーションに影響を与えないようにするとともに、新規アプリケーションと既存アプリケーションの双方におけるＩ／Ｏピーク時間帯でのＩ／Ｏの衝突を未然に防止することが可能となる。
【００９７】
また、出力インタフェース０４１は、図２０に示した表示画面９４０を表示装置０９１に表示する場合、例えば、図１９に示したプルダウンメニュー９２１で指定された条件をあらわすサーバ側ポート平均転送速度９４８などの値を昇順あるいは降順にソートして表示してもよい。これにより、例えば、ユーザは、Ｉ／Ｏパスの候補の中から、適切なＩ／Ｏパスを選びやすくなる。
【００９８】
［Ｉ／Ｏパス候補の詳細表示例］
さらに、出力インタフェース０４１は、図２０に示した表示画面９４０を通じて、Ｉ／Ｏパスの候補を表示装置０９１に表示することとしたが、例えば、図２１に示す表示画面９６０を通じて、Ｉ／Ｏパス候補に関する詳細情報を表示装置０９１に表示してもよい。
図２１に示す表示画面９６０は、図２０に示した表示画面９４０と異なり、既存アプリケーションと新規アプリケーション双方のＩ／Ｏピーク時間帯を表示することが可能となっている。具体的には、図２１に示す表示画面９６０には、００：００〜２４：００を表す時間軸９６７が表示されている。そして、この時間軸９６７を用いて、サーバ側ポート１０２、ストレージ側ポート３０２、アレイグループ３０１およびキャッシュパーティション３０３の各々について、新規アプリケーションのＩ／Ｏピーク時間帯９７３（なお、図２１において「長方形９７３」ともいう）と既存アプリケーションのＩ／Ｏピーク時間帯９７２（なお、図２１において「長方形９７２」ともいう）とが表示されている。
【００９９】
［Ｉ／Ｏパス候補の詳細表示に関する処理例］
次に、出力インタフェース０４１が図２１の表示画面９６０を表示装置０９１に表示する場合における出力インタフェース０４１とＩ／Ｏパス候補情報作成部０３２の処理例について説明する（適宜図２参照）。
この場合、例えば、ユーザがマウス０９３を用いて図２０に示した表示画面９４０中の１つのＩ／Ｏパスを指定（例えば、マウス０９３によるパス候補番号へのクリック操作指定）すると、当該指定に応じ、出力インタフェース０４１は、当該Ｉ／Ｏパスに関する詳細情報をＩ／Ｏパス候補情報作成部０３２に問い合わせる。当該問い合わせに応じ、Ｉ／Ｏパス候補情報作成部０３２は、当該Ｉ／Ｏパスの詳細情報（既存アプリケーションのＩ／Ｏピーク時間帯、新規アプリケーションのＩ／Ｏピーク時間帯）を基本情報０８０（アプリケーション情報０７０、構成情報０９０、性能情報０６０）に基づいて求めて出力インタフェース０４１に送る。そして、出力インタフェース０４１は、当該Ｉ／Ｏパスの詳細情報を表示画面９６０に表示する。
【０１００】
具体的には、出力インタフェース０４１は、図２０の表示画面９４０でパス候補番号がユーザの操作によって選択された場合、選択されたパス候補番号に指定されたサーバ側ポート名、ストレージサブシステム名、ストレージ側ポート名、アレイグループ名およびキャッシュパーティション名の各値をＩ／Ｏパス候補情報作成部０３２に送る。
【０１０１】
Ｉ／Ｏパス候補情報作成部０３２は、出力インタフェース０４１から、サーバ側ポート名、ストレージサブシステム名、ストレージ側ポート名、アレイグループ名およびキャッシュパーティション名の各値を取得する。続いて、Ｉ／Ｏパス候補情報作成部０３２は、構成情報０９０（図１１参照）の中から、図１８の入力画面９１０の入力欄９１１の値（サーバ名）と、出力インタフェース０４１から取得したサーバ側ポート名８０３の値とに一致する行を抽出する。
次に、Ｉ／Ｏパス候補情報作成部０３２は、前記抽出した構成情報０９０（図１１参照）の行に示されたサーバ名８０１とファイルシステム名８０２との各値の組み合わせを取得する。
次に、Ｉ／Ｏパス候補情報作成部０３２は、アプリケーション情報０７０（図１３参照）の中から、前記取得したサーバ名８０１とファイルシステム名８０２の各値の組み合わせを含む、アプリケーション情報０７０の行（サーバ名８４１およびファイルシステム名８４２の各値を持つもの）を抽出する。そして、Ｉ／Ｏパス候補情報作成部０３２は、抽出したすべての行に示されたＩ／Ｏピーク時間帯８４５（図１３参照）の値を出力インタフェース０４１に送る。
出力インタフェース０４１は、当該Ｉ／Ｏピーク時間帯８４５の値に基づいて、表示画面９６０（図２１参照）の使用状況表示欄９６８（サーバ側ポート１０２のもの）に長方形９７２で表示する。
【０１０２】
次に、Ｉ／Ｏパス候補情報作成部０３２は、構成情報０９０（図１１参照）の中から、出力インタフェース０４１から取得したストレージサブシステム名およびストレージ側ポート名の組を含む行（ストレージサブシステム名８０４およびストレージ側ポート名８０５の各値の組み合わせを持つもの）を抽出する。続いて、Ｉ／Ｏパス候補情報作成部０３２は、抽出した構成情報０９０（図１１参照）の行に示されたサーバ名８０１およびファイルシステム名８０２の各値の組み合わせを取得する。
次に、Ｉ／Ｏパス候補情報作成部０３２は、アプリケーション情報０７０（図１３参照）の中から、前記取得したサーバ名８０１およびファイルシステム名８０２の各値の組み合わせを含む、アプリケーション情報０７０の行（サーバ名８４１およびファイルシステム名８４２の各値の組み合わせを持つもの）を抽出する。そして、Ｉ／Ｏパス候補情報作成部０３２は、抽出したすべての行に示されたＩ／Ｏピーク時間帯８４５の値を出力インタフェース０４１に送る。
出力インタフェース０４１は、当該Ｉ／Ｏピーク時間帯８４５の値に基づいて、表示画面９６０（図２１参照）の使用状況表示欄９６９（ストレージ側ポート３０２のもの）に長方形９７２で表示する。
【０１０３】
次に、Ｉ／Ｏパス候補情報作成部０３２は、構成情報０９０（図１１参照）の中から、出力インタフェース０４１から取得したストレージサブシステム名およびアレイグループ名の組を含む行（ストレージサブシステム名８０４およびアレイグループ名８０６の各値の組み合わせを持つもの）を抽出する。続いて、Ｉ／Ｏパス候補情報作成部０３２は、抽出した構成情報０９０（図１１参照）の行に示されたサーバ名８０１およびファイルシステム名８０２の各値の組み合わせを取得する。
次に、Ｉ／Ｏパス候補情報作成部０３２は、アプリケーション情報０７０（図１３参照）の中から、前記取得したサーバ名８０１およびファイルシステム名８０２の各値の組み合わせを含む、アプリケーション情報０７０の行（サーバ名８４１およびファイルシステム名８４２の各値を持つもの）を抽出する。そして、Ｉ／Ｏパス候補情報作成部０３２は、抽出したすべての行に示されたＩ／Ｏピーク時間帯８４５の値を出力インタフェース０４１に送る。
出力インタフェース０４１は、当該Ｉ／Ｏピーク時間帯８４５の値に基づいて、表示画面９６０（図２１参照）の使用状況表示欄９７０（アレイグループ３０１のもの）に長方形９７２で表示する。
【０１０４】
次に、Ｉ／Ｏパス候補情報作成部０３２は、構成情報０９０（図１１参照）の中から、出力インタフェース０４１から取得したストレージサブシステム名およびキャッシュパーティション名の組を含む行（ストレージサブシステム名８０４およびキャッシュパーティション名８０７の各値の組み合わせを持つもの）を抽出する。続いて、Ｉ／Ｏパス候補情報作成部０３２は、抽出した構成情報０９０（図１１参照）の行に示されたサーバ名８０１およびファイルシステム名８０２の各値の組み合わせを取得する。
次に、Ｉ／Ｏパス候補情報作成部０３２は、アプリケーション情報０７０（図１３参照）の中から、前記取得したサーバ名８０１およびファイルシステム名８０２の各値の組み合わせを含む、アプリケーション情報０７０の行（サーバ名８４１およびファイルシステム名８４２の各値を持つもの）を抽出する。そして、Ｉ／Ｏパス候補情報作成部０３２は、抽出したすべての行に示されたＩ／Ｏピーク時間帯８４５の値を出力インタフェース０４１に送る。
出力インタフェース０４１は、当該Ｉ／Ｏピーク時間帯８４５の値に基づいて、表示画面９６０（図２１参照）の使用状況表示欄９７１（キャッシュパーティション３０３のもの）に長方形９７２で表示する。
【０１０５】
最後に、出力インタフェース０４１は、入力画面９１０（図１８参照）のＩ／Ｏピーク時間帯の入力欄９１２、９１３の入力値（時間帯）に基づき、表示画面９６０（図２１参照）のサーバ側ポート、ストレージ側ポート、アレイグループおよびキャッシュパーティションの各使用状況表示欄９６８〜９７１に長方形９７３で表示する。
【０１０６】
このように、性能管理サーバ０００のＣＰＵ０００Ａが、メモリ０００Ｂの性能管理サーバ内部データベース０５０の性能情報０６０に管理されている各種性能情報１１２、２１２、２１３、２１４（図４〜図７参照）から、アプリケーションのＩ／Ｏピーク時間帯を算出する。また、ＣＰＵ０００Ａは、図２１に示した表示画面９６０を通じて、ユーザに選択されたＩ／Ｏパス候補の詳細（既存アプリケーションのＩ／Ｏピーク時間帯、新規アプリケーションのＩ／Ｏピーク時間帯）を例えば表示装置０９１に表示する。このため、ユーザは、例えば、新規アプリケーションをアプリケーションサーバ１００で稼動させた場合の他の既存アプリケーションへの影響（新規アプリケーションのＩ／Ｏピーク時間帯以外の時間帯でＩ／Ｏが増加した場合の他の既存アプリケーションの影響）を予測することが可能となる。
【０１０７】
なお、本実施の形態では、図２１の表示画面９６０上で既存アプリケーションのＩ／Ｏピーク時間帯を表示する場合について説明したが、既存アプリケーションのアプリケーション名や既存アプリケーションの重要度も表示画面９６０上に表示するようにしてもよい。
【０１０８】
また、本実施の形態では、性能管理サーバ０００は、図１７に示した入力画面９００にて、既存アプリケーションのＩ／Ｏピーク時間帯を取得することとしたが、各リソースの性能値から求めるようにしてもよい。
具体的には、図２の入力インタフェース０４４により表示される入力画面９００（図１７参照）において、既存アプリケーションの利用する各リソースについて性能値の閾値を取得する。
リソース候補情報作成部０３１は、性能情報０６０を用いて、既存アプリケーションの利用する各リソースの性能値がＩ／Ｏピークに達しているか否かを前記閾値に基づいて時間帯ごとに判定する。そして、１つでも閾値を超えたリソースが存在する時間帯を前記既存アプリケーションのＩ／Ｏピーク時間帯とする。なお、前記判定に用いる性能値としては、入力画面９１０（図１８参照）の入力欄９１６に入力された値（期間）について，性能値の平均値を時間帯ごとに求めたものを用いる。
【０１０９】
このようにすると、各アプリケーションのＩ／Ｏピーク時間帯をユーザに指定された閾値に基づいて自動的に求め、求めたＩ／Ｏピーク時間帯に従って、新規アプリケーションとＩ／Ｏピーク時間帯が重ならない既存アプリケーションのみが使用するリソースからなるＩ／Ｏパスの候補を表示することが可能となる。これにより、アプリケーションの発行するＩ／Ｏ量に長期的な変動がある場合でも、常に適切なＩ／Ｏパス候補を表示することが可能となる。
【０１１０】
さらに、性能管理サーバ０００は、１台の場合で説明したが、複数のコンピュータを組み合わせて分散処理するようにしてもよい。
【図面の簡単な説明】
【０１１１】
【図１】本発明の実施の形態におけるストレージ管理システムの構成例を示すブロック図である。
【図２】性能管理サーバの機能を示す説明図である。
【図３】アプリケーションサーバおよびストレージ監視サーバの各機能を示す説明図である。
【図４】サーバ側ポート性能情報のデータ構成例を示す図である。
【図５】ストレージ側ポート性能情報のデータ構成例を示す図である。
【図６】アレイグループ性能情報のデータ構成例を示す図である。
【図７】キャッシュパーティション性能情報のデータ構成例を示す図である。
【図８】ファイルシステム構成情報のデータ構成例を示す図である。
【図９】論理ボリューム構成情報のデータ構成例を示す図である。
【図１０】サーバ−ストレージ関連情報のデータ構成例を示す図である。
【図１１】構成情報のデータ構成例を示す図である。
【図１２】性能情報のデータ構成例を示す図である。
【図１３】アプリケーション情報のデータ構成例を示す図である。
【図１４】リソース候補情報作成部の処理例を示す図である。
【図１５】リソース候補情報のデータ構成例を示す図である。
【図１６】Ｉ／Ｏパス候補情報作成部の処理例を示す図である。
【図１７】既存アプリケーション情報に関する入力画面の表示例を示す図である。
【図１８】新規アプリケーション情報に関する入力画面の表示例を示す図である。
【図１９】Ｉ／Ｏパス抽出条件に関する入力画面の表示例を示す図である。
【図２０】Ｉ／Ｏパス候補の表示画面の表示例を示す図である。
【図２１】Ｉ／Ｏパス詳細情報の表示画面の表示例を示す図である。
【符号の説明】
【０１１２】
０００      性能管理サーバ
０１０      データベース格納処理部
０２０      基本情報入力インタフェース
０３０      Ｉ／Ｏパス抽出処理部
０４０      Ｉ／Ｏパス抽出用情報入力インタフェース
０５０      性能管理サーバ内部データベース
０９１      表示装置
１００      アプリケーションサーバ
１０１      ファイルシステム
１０２      サーバ側ポート
１０３      サーバ情報収集プログラム
１０４      サーバ−ストレージ関連情報収集プログラム
１０５      アプリケーションサーバ内部データベース
２００      ストレージ監視サーバ
２０１      ストレージ情報収集プログラム
２０２      アプリケーションサーバ内部データベース
３００      ストレージサブシステム
３０１      アレイグループ
３０２      ストレージ側ポート
３０３      キャッシュパーティション
３０４      論理ボリューム
３０５      マイクロプログラム
【図１】
0004686305.tif 000002
【図２】
0004686305.tif 000003
【図３】
0004686305.tif 000004
【図４】
0004686305.tif 000005
【図５】
0004686305.tif 000006
【図６】
0004686305.tif 000007
【図７】
0004686305.tif 000008
【図８】
0004686305.tif 000009
【図９】
0004686305.tif 000010
【図１０】
0004686305.tif 000011
【図１１】
0004686305.tif 000012
【図１２】
0004686305.tif 000013
【図１３】
0004686305.tif 000014
【図１４】
0004686305.tif 000015
【図１５】
0004686305.tif 000016
【図１６】
0004686305.tif 000017
【図１７】
0004686305.tif 000018
【図１８】
0004686305.tif 000019
【図１９】
0004686305.tif 000020
【図２０】
0004686305.tif 000021
【図２１】
0004686305.tif 000022