(57)【特許請求の範囲】
【請求項１】
計算機サブシステムを有し、
前記計算機サブシステムが、
所定のインタフェースに従う通信を中継するスイッチデバイスと、
前記スイッチデバイスに接続されたキャッシュメモリと、
前記スイッチデバイスに接続された複数の計算機デバイスと、
前記スイッチデバイスに接続された複数のＩ／Ｏ（Input/Output）デバイスと
を有し、
各計算機デバイスは、プロセッサ及びメモリを含む計算機リソースを有し、前記所定のインタフェースに従う通信を行うようになっており、
各Ｉ／Ｏデバイスは、前記所定のインタフェースに従う通信を行うようになっており、
少なくとも前記複数の計算機デバイスが、仮想的なサーバ装置である仮想サーバと仮想的なストレージ装置である仮想ストレージとの両方の基になる物理リソースであり、各計算機デバイスは、仮想サーバ及び仮想ストレージのいずれも実行可能であり、
前記仮想サーバに、前記複数の計算機デバイスの第１の部分である第１の計算機デバイス部分が割り当てられ、
前記仮想ストレージに、前記複数の計算機デバイスの第２の部分である第２の計算機デバイス部分と、前記複数のＩ／Ｏデバイスの少なくとも一部であるＩ／Ｏデバイス部分と、前記キャッシュメモリの少なくとも一部であるキャッシュ部分とが割り当てられ、
前記仮想サーバが、Ｉ／Ｏコマンドを発行し、前記Ｉ／Ｏコマンドが、前記第１の計算機デバイス部分から前記第２の計算機デバイス部分へ送信され、前記仮想ストレージが、前記Ｉ／Ｏコマンドに従うデータのＩ／Ｏを、前記Ｉ／Ｏデバイス部分を使用して行い、且つ、前記Ｉ／Ｏコマンドに従うデータを前記キャッシュ部分に書き込む、
計算機システム。
【請求項２】
前記計算機サブシステムを管理する管理システムを更に有し、
前記管理システムの少なくとも一部が、前記計算機サブシステムの中又は外に存在し、
前記管理システムが、アプリケーションに対するユーザ所望の要求をユーザから受け付け、
前記管理システムが、それぞれがアプリケーションに対応しアプリケーションに要求される条件を含んだデータである複数のアプリケーションプロファイルを格納し、
各アプリケーションプロファイル中の条件は、そのアプリケーションプロファイルに対するユーザ所望の要求に従う条件を含み、
前記管理システムが、前記複数のアプリケーションプロファイルの各々について、そのアプリケーションプロファイルが含む条件と、前記複数の計算機デバイスの各々の計算機リソース量とを基に、アプリケーションプロファイルに割り当てる仮想ストレージ及びその仮想ストレージに割り当てる計算機デバイス部分と、アプリケーションプロファイルに割り当てる仮想サーバ及びその仮想サーバに割り当てる計算機デバイス部分とを決定し、
前記管理システムが、前記複数のアプリケーションプロファイルの各々に、そのアプリケーションプロファイルについて決定した仮想サーバ及び仮想ストレージを割り当て、
仮想サーバは、その仮想サーバが割り当てられたアプリケーションプロファイルに対応したアプリケーションを実行する、
請求項１記載の計算機システム。
【請求項３】
前記複数のＩ／Ｏデバイスが、書込み回数に制限のある不揮発性半導体メモリデバイス（ＮＶＭデバイス）を含み、
前記管理システムは、Ｉ／Ｏ特性がリード主体のアプリケーションに対応したアプリケーションプロファイルであるリード主体プロファイルに割り当てる仮想サーバに、前記ＮＶＭデバイスにおけるメモリ領域を、リードキャッシュ領域として割り当て、
前記リードキャッシュ領域は、ライトコマンドに従うデータは書き込まれず、リードコマンドに応答して読み出されたデータ、今後リードされる可能性が高いと予測されるデータが書き込まれるメモリ領域である、
請求項２記載の計算機システム。
【請求項４】
前記管理システムは、前記複数のアプリケーションプロファイルに割り当てる複数の仮想ストレージのために必要なプロセッサコアの数が不足する場合、必要なプロセッサコアの数から、前記リード主体プロファイルの条件に従うプロセッサコア数を引く、
請求項３記載の計算機システム。
【請求項５】
前記複数のＩ／Ｏデバイスが、寿命の比較的短い第１のＮＶＭデバイスと、寿命の比較的長い第２のＮＶＭデバイスとを含み、
前記第１のＮＶＭデバイスから優先的に前記リードキャッシュ領域が割り当てられる、
請求項３記載の計算機システム。
【請求項６】
前記複数のＩ／Ｏデバイスが、書込み回数に制限のある不揮発性半導体メモリデバイス（ＮＶＭデバイス）を含み、
前記管理システムは、条件に従う帯域が不足するアプリケーションプロファイルである帯域不足プロファイルが前記複数のアプリケーションプロファイルに含まれている場合、前記帯域不足プロファイルに割り当てられる仮想サーバに、前記ＮＶＭデバイスにおけるメモリ領域を、リードキャッシュ領域として割り当てられる、
請求項２記載の計算機システム。
【請求項７】
前記複数のＩ／Ｏデバイスが、寿命の比較的短い第１のＮＶＭデバイスと、寿命の比較的長い第２のＮＶＭデバイスとを含み、
前前第１のＮＶＭデバイスから前記リードキャッシュ領域が割り当てられる、
請求項６記載の計算機システム。
【請求項８】
前記複数のＩ／Ｏデバイスが、書込み回数に制限のある不揮発性半導体メモリデバイス（ＮＶＭデバイス）を含み、
前記管理システムが、前記複数のアプリケーションプロファイルのうちの或るアプリケーションプロファイルに割り当てられる仮想ストレージに、前記ＮＶＭデバイスのメモリ領域をストア用の領域として割り当てる、
請求項２記載の計算機システム。
【請求項９】
前記管理システムが、前記複数のアプリケーションプロファイルの少なくとも１つに割り当てられた仮想サーバ及び仮想ストレージのうちの少なくとも１つに前記ＮＶＭデバイスからメモリ領域をキャッシュ領域として割り当て、前記ＮＶＭデバイスの残り領域の少なくとも一部を、前記或るアプリケーションプロファイルに割り当てられる仮想ストレージにストア用の領域として割り当てる、
請求項８記載の計算機システム。
【請求項１０】
前記複数のＩ／Ｏデバイスが、寿命の比較的短い第１のＮＶＭデバイスと、寿命の比較的長い第２のＮＶＭデバイスとを含み、
前記第２のＮＶＭデバイスのメモリ領域が、前記第１のＮＶＭデバイスのメモリ領域よりも優先的に前記ストア用の領域として割り当てられる、
請求項９記載の計算機システム。
【請求項１１】
仮想サーバに、前記第１のＮＶＭデバイスからメモリ領域がキャッシュ領域として割り当てられ、
仮想ストレージに、前記第２のＮＶＭデバイスからメモリ領域がキャッシュ領域として割り当てられる、
請求項１０記載の計算機システム。
【請求項１２】
前記管理システムは、前記複数の計算機デバイスの計算機デバイス部分を仮想ストレージに割り当てるストレージ割当処理と前記複数の計算機デバイスの計算機デバイス部分を仮想サーバに割り当てるサーバ割当処理とのうちの一方である第１の割当処理を先に行い、
前記管理システムは、前記ストレージ割当処理及び前記サーバ割当処理のうちの他方である第２の割当処理においてリソース不足が検出された場合、前記第１の割当処理において計算機デバイス部分が割り当てられた複数のアプリケーションプロファイルのうち優先度が比較的低いアプリケーションプロファイルに割り当てられた計算機デバイス部分を減らす、
請求項２記載の計算機システム。
【請求項１３】
前記管理システムは、前記複数の計算機デバイスの計算機デバイス部分を仮想ストレージに割り当てるストレージ割当処理と前記複数の計算機デバイスの計算機デバイス部分を仮想サーバに割り当てるサーバ割当処理とのうちの一方である第１の割当処理を先に行い、
前記管理システムは、前記ストレージ割当処理及び前記サーバ割当処理のうちの他方である第２の割当処理においてリソース不足が検出された場合、前記複数のアプリケーションプロファイルのうち優先度が比較的低いアプリケーションプロファイルの条件を緩和する、
請求項２記載の計算機システム。
【請求項１４】
計算機サブシステムと計算機サブシステムの管理システムとを含んだ計算機システムの制御方法であって、
前記計算機サブシステムが、
所定のインタフェースに従う通信を中継するスイッチデバイスと、
前記スイッチデバイスに接続されたキャッシュメモリと、
前記スイッチデバイスに接続された複数の計算機デバイスと、
前記スイッチデバイスに接続された複数のＩ／Ｏ（Input/Output）デバイスと
を有し、
各計算機デバイスは、プロセッサ及びメモリを含む計算機リソースを有し、前記所定のインタフェースに従う通信を行うようになっており、
各Ｉ／Ｏデバイスは、前記所定のインタフェースに従う通信を行うようになっており、
少なくとも前記複数の計算機デバイスが、仮想的なサーバ装置である仮想サーバと仮想的なストレージ装置である仮想ストレージとの両方の基になる物理リソースであり、各計算機デバイスは、仮想サーバ及び仮想ストレージのいずれも実行可能であり、
前記制御方法は、
前記管理システムにより、アプリケーションに対するユーザ所望の要求をユーザから受け、
前記管理システムにより、それぞれがアプリケーションに対応しアプリケーションに要求される条件を含んだデータである複数のアプリケーションプロファイルを格納し、各アプリケーションプロファイル中の条件は、そのアプリケーションプロファイルに対するユーザ所望の要求に従う条件を含み、
前記管理システムにより、前記複数のアプリケーションプロファイルの各々について、そのアプリケーションプロファイルが含む条件と、前記複数の計算機デバイスの各々の計算機リソース量とを基に、アプリケーションプロファイルに割り当てる仮想ストレージ及びその仮想ストレージに割り当てる計算機デバイス部分と、アプリケーションプロファイルに割り当てる仮想サーバ及びその仮想サーバに割り当てる計算機デバイス部分とを決定し、
前記管理システムにより、前記複数のアプリケーションプロファイルの各々に、そのアプリケーションプロファイルについて決定した仮想サーバ及び仮想ストレージを割り当てる、
制御方法。
【請求項１５】
計算機サブシステムと通信する通信インタフェースデバイスと、
メモリと、
前記通信インタフェースデバイス及び前記メモリに接続されたプロセッサと
を有し、
前記計算機サブシステムが、
所定のインタフェースに従う通信を中継するスイッチデバイスと、
前記スイッチデバイスに接続されたキャッシュメモリと、
前記スイッチデバイスに接続された複数の計算機デバイスと、
前記スイッチデバイスに接続された複数のＩ／Ｏ（Input/Output）デバイスと
を有し、
各計算機デバイスは、プロセッサ及びメモリを含む計算機リソースを有し、前記所定のインタフェースに従う通信を行うようになっており、
各Ｉ／Ｏデバイスは、前記所定のインタフェースに従う通信を行うようになっており、
少なくとも前記複数の計算機デバイスが、仮想的なサーバ装置である仮想サーバと仮想的なストレージ装置である仮想ストレージとの両方の基になる物理リソースであり、各計算機デバイスは、仮想サーバ及び仮想ストレージのいずれも実行可能であり、
前記プロセッサが、アプリケーションに対するユーザ所望の要求をユーザから受け、
前記プロセッサが、それぞれがアプリケーションに対応しアプリケーションに要求される条件を含んだデータである複数のアプリケーションプロファイルを前記メモリに格納し、各アプリケーションプロファイル中の条件は、そのアプリケーションプロファイルに対するユーザ所望の要求に従う条件を含み、
前記プロセッサが、前記複数のアプリケーションプロファイルの各々について、そのアプリケーションプロファイルが含む条件と、前記複数の計算機デバイスの各々の計算機リソース量とを基に、アプリケーションプロファイルに割り当てる仮想ストレージ及びその仮想ストレージに割り当てる計算機デバイス部分と、アプリケーションプロファイルに割り当てる仮想サーバ及びその仮想サーバに割り当てる計算機デバイス部分とを決定し、
前記プロセッサが、前記複数のアプリケーションプロファイルの各々に、そのアプリケーションプロファイルについて決定した仮想サーバ及び仮想ストレージを割り当てる、
管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、計算機システムの管理又は制御に関する。
【背景技術】
【０００２】
一般に、物理サーバ装置又は物理ストレージ装置を仮想化する仮想化技術が知られている。例えば、特許文献１は、物理ストレージ装置が有する物理リソースを論理的に複数の論理リソースに分割し、複数の論理リソースをそれぞれ有する複数の仮想ストレージ装置を生成する技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開公報第２０１２／１０７９５５号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に、計算機システムは、物理ストレージ装置と、物理ストレージ装置に対してデータの入出力を行う物理サーバ装置（物理ホスト装置）とで構成される。物理サーバ装置と物理ストレージ装置は、それぞれ独立した装置である。物理サーバ装置では、物理サーバ装置が有する物理リソースを基に複数の仮想サーバ装置が生成され、物理ストレージ装置では、物理ストレージ装置が有する物理ソースを基に複数の仮想ストレージ装置が生成される。計算機システムでは、仮想サーバ装置が高負荷になることもあれば、仮想ストレージ装置が高負荷になることもあり得る。
【課題を解決するための手段】
【０００５】
計算機システムが、計算機サブシステムを有する。計算機サブシステムが、仮想的なサーバ装置である仮想サーバと仮想的なストレージ装置である仮想ストレージとの両方の基になる物理リソースを含む。すなわち、物理リソースの一部が仮想サーバに割り当てられ、物理リソースの別の一部が仮想ストレージに割り当てられる。物理リソースのどの部分も、仮想サーバ及び仮想ストレージのいずれにも割り当てられ得る。【０００６】
具体的には、計算機サブシステムが、所定のインタフェースに従う通信を中継するスイッチデバイスと、スイッチデバイスに接続されたキャッシュメモリと、スイッチデバイスに接続された複数の計算機デバイスと、スイッチデバイスに接続された複数のＩ／Ｏ（Input/Output）デバイスとを有する。各計算機デバイスは、プロセッサ及びメモリを含む計算機リソースを有し、所定のインタフェースに従う通信を行うようになっている。各Ｉ／Ｏデバイスは、所定のインタフェースに従う通信を行うようになっている。少なくとも複数の計算機デバイスが、仮想的なサーバ装置である仮想サーバと仮想的なストレージ装置である仮想ストレージとの両方の基になる物理リソースである。各計算機デバイスは、仮想サーバ及び仮想ストレージのいずれも実行可能である。仮想サーバに、複数の計算機デバイスの第１の部分である第１の計算機デバイス部分が割り当てられる。仮想ストレージに、複数の計算機デバイスの第２の部分である第２の計算機デバイス部分と、複数のＩ／Ｏデバイスの少なくとも一部であるＩ／Ｏデバイス部分と、キャッシュメモリの少なくとも一部であるキャッシュ部分とが割り当てられる。仮想サーバが、Ｉ／Ｏコマンドを発行し、そのＩ／Ｏコマンドが、第１の計算機デバイス部分から第２の計算機デバイス部分へ送信され、仮想ストレージが、そのＩ／Ｏコマンドに従うデータのＩ／Ｏを、Ｉ／Ｏデバイス部分を使用して行い、且つ、そのＩ／Ｏコマンドに従うデータをキャッシュ部分に書き込む。【０００７】
好ましくは、計算機サブシステムにおいて実行されるアプリケーションに対する要求をユーザが入力しさえすれば、そのような要求に従う条件が満たされるような論理構成が計算機サブシステムに構築されてよい。
【図面の簡単な説明】
【０００８】
【図１Ａ】実施例に係るシステムの構成を示す。
【図１Ｂ】ブレード２１（マスタブレード２１Ｍ）の構成を示す。
【図２】ブレード２１のメモリ２１２に記憶されるプログラムを示す。
【図３】キャッシュ２２に記憶される情報を示す。
【図４】管理計算機１のメモリ１２に記憶されるプログラム及び情報を示す。
【図５】ブレードリソース管理テーブル６１を示す。
【図６】ブレード割当管理テーブル７７を示す。
【図７】プロファイルテンプレートテーブル８６を示す。
【図８】プロファイルテーブル８３を示す。
【図９】プロファイル割当管理テーブル７６を示す。
【図１０】Ｉ／Ｏモジュール管理テーブル６４を示す。
【図１１】ブレード間帯域管理テーブル６２を示す。
【図１２】ブレード−Ｉ／Ｏモジュール間帯域管理テーブル６５を示す。
【図１３】ブレード帯域管理テーブル６３を示す。
【図１４】バックボーン帯域管理テーブル６９を示す。
【図１５】キャッシュ帯域管理テーブル７３を示す。
【図１６】Ｉ／Ｏモジュール帯域管理テーブル６６を示す。
【図１７】フラッシュリソース管理テーブル７１を示す。
【図１８】フラッシュリソース割当管理テーブル６８を示す。
【図１９】ネットワークリソース管理テーブル７４を示す。
【図２０】ネットワークリソース割当管理テーブル７２を示す。
【図２１】ＳＡＳリソース割当管理テーブル７５を示す。
【図２２】システム構成設定処理のフローチャートである。
【図２３Ａ】ストレージリソース割当処理のフローチャートの一部である。
【図２３Ｂ】ストレージリソース割当処理のフローチャートの残りである。
【図２４Ａ】サーバリソース割当処理のフローチャートの一部である。
【図２４Ｂ】サーバリソース割当処理のフローチャートの残りである。
【図２５Ａ】フラッシュリソース割当処理のフローチャートの第１部である。
【図２５Ｂ】フラッシュリソース割当処理のフローチャートの第２部である。
【図２５Ｃ】フラッシュリソース割当処理のフローチャートの残りである。
【図２６】ファブリックリソース割当処理のフローチャートである。
【図２７】システムリソース割当処理のフローチャートである。
【図２８】ライト処理のフローチャートである。
【図２９】リード処理のフローチャートである。
【図３０Ａ】ファブリックデータ転送制御処理のフローチャートの一部である。
【図３０Ｂ】ファブリックデータ転送制御処理のフローチャートの残りである。
【図３１】リソース割当変更処理のフローチャートである。
【発明を実施するための形態】
【０００９】
以下、一実施例を説明する。
【００１０】
なお、以下の説明では、「ａａａテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「ａａａテーブル」を「ａａａ情報」と呼ぶことができる。
【００１１】
また、以下の説明では、対象を識別するための情報として、ＩＤ（識別子）又は番号が用いられるが、それらに代えて他種の識別情報が用いられてもよい。
【００１２】
また、以下の説明では、同種の要素に付された参照符号は同一の親番号を含む。同種の要素を区別しないで説明する場合には参照符号中の親番号のみを使用する。
【００１３】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、制御デバイスが有するプロセッサ（例えばＣＰＵ（Central  Processing  Unit））によって実行されることで、定められた処理を、適宜に記憶資源（例えばメモリ）及び／又は通信インターフェイスデバイス（例えば通信ポート）を用いながら行うため、処理の主語が、プロセッサ、そのプロセッサを有する計算機とされても良い。プロセッサが行う処理の一部又は全部が、制御デバイスが有するハードウェア回路で行われても良い。コンピュータプログラムは、プログラムソースから制御デバイスにインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであっても良い。
【００１４】
また、以下の説明では、通信インタフェースデバイスを「Ｉ／Ｆ」と略記する場合がある。
【００１５】
また、以下の説明では、計算機システムに含まれるストレージ装置を管理し、表示用情報を表示する１以上の計算機の集合を管理システムと呼んでもよい。管理計算機が表示用情報を表示する場合は管理計算機が管理システムである、また、管理計算機と表示用計算機の組み合わせも管理システムである。また、管理処理の高速化や高信頼化のために複数の計算機で管理計算機と同等の処理を実現してもよく、この場合はそれら複数の計算機（表示を表示用計算機が行う場合は表示用計算機も含んでよい）が管理システムである。本実施例では、管理計算機が管理システムである。また、管理計算機が情報を表示するとは、管理計算機が有する表示デバイスに情報を表示することであってもよいし、管理計算機に接続された表示用計算機に表示用情報を送信することであってもよい。後者の場合、表示用計算機が有する表示デバイスに表示用情報が表す情報が表示用計算機によって表示される。
【００１６】
また、以下の説明における用語の意味は、下記の通りである。
（＊）「ＶＯＬ」は、論理ボリュームの略であり、論理的な記憶デバイスである。ＶＯＬは、実体的なＶＯＬ（ＲＶＯＬ）であっても良いし、仮想的なＶＯＬ（ＶＶＯＬ）であっても良い。また、ＶＯＬは、そのＶＯＬを提供するストレージ装置に接続されている外部の装置（例えばサーバ装置）に提供されるオンラインＶＯＬと、外部の装置には提供されない（外部の装置からは認識されない）オフラインＶＯＬとがあって良い。
（＊）「ＲＶＯＬ」は、そのＲＶＯＬを有するストレージ装置が有する物理的な記憶資源（例えば、複数のＰＤＥＶで構成されたＲＡＩＤ（Redundant  Array  of  Independent  (or  Inexpensive)  Disks）グループ）に基づくＶＯＬである。
（＊）「ＶＶＯＬ」としては、例えば、そのＶＶＯＬを有するストレージ装置に接続されている外部のストレージ装置の記憶資源（例えばＶＯＬ）に基づいておりストレージ仮想化技術に従うＶＯＬである外部接続ＶＯＬ（ＥＶＯＬ）と、複数の仮想ページ（仮想的な記憶領域）で構成されており容量仮想化技術（典型的にはThin  Provisioning）に従うＶＯＬ（ＴＰＶＯＬ）と、オリジナルのＶＯＬのスナップショットとして提供されるスナップショットＶＯＬとがあって良い。ＴＰＶＯＬは、典型的にはオンラインＶＯＬである。スナップショットＶＯＬは、ＲＶＯＬであってもよい。
（＊）「ＰＤＥＶ」は、不揮発性の物理的な記憶デバイスの略である。複数のＰＤＥＶで複数のＲＡＩＤグループが構成されてよい。ＲＡＩＤグループはパリティグループと呼ばれてもよい。
（＊）「プール」は、論理的な記憶領域（例えば複数のプールＶＯＬの集合）であり、用途ごとに用意されてよい。例えば、プールとして、ＴＰプールと、スナップショットプールとがあってよい。ＴＰプールは、複数の実ページ（実体的な記憶領域）で構成された記憶領域である。ＴＰプールからＴＰＶＯＬの仮想ページに実ページが割り当てられてよい。スナップショットプールは、オリジナルのＶＯＬから退避されたデータが格納される記憶領域でよい。プール（典型的にはＴＰプール）は、性能（例えばＩ／Ｏ（Input/Output）性能）の異なる複数のティアを有してよい。各ティアは、Ｉ／Ｏ性能が同程度の１又は複数のプールＶＯＬで構成されてよい。プールにおいて、ディア間でのデータ移動がページ単位で行われてよい。
（＊）「プールＶＯＬ」は、プールの構成要素となるＶＯＬである。プールＶＯＬは、ＲＶＯＬであっても良いしＥＶＯＬであっても良い。プールＶＯＬは、典型的にはオフラインＶＯＬである。
（＊）仮想マシンとして、仮想ストレージ装置と、仮想ストレージ装置に対してデータのＩ／Ｏを行う仮想サーバ装置とがある。仮想ストレージ装置は、仮想ＰＤＥＶと仮想ＰＤＥＶに対するデータのＩ／Ｏを制御する仮想ストレージコントローラとに大別することができる。仮想ＰＤＥＶは、１又は複数のＰＤＥＶに基づく仮想的なデバイスである。以下、仮想サーバ装置を「仮想サーバ」と言い、仮想ストレージ装置を「仮想ストレージ」と言い、仮想ストレージコントローラを「仮想ＣＴＬ」と言い、それらを区別しないときは「仮想マシン」と総称する。
【００１７】
図１Ａは、実施例に係る計算機システムの構成を示す。
【００１８】
まず、本実施例の概要を説明する。計算機システムが、一体型システム２と、一体型システム２に接続された管理計算機１を有する。一体型システム２に、拡張筐体３が接続されてよい。管理計算機１と一体型システム２とは、ＬＡＮ（Local  Area  Network）４を介して接続される。ＬＡＮ４に代えて他の通信ネットワークが採用されてもよい。一体型システム２の物理リソースを基に仮想サーバと仮想ストレージが実行される。仮想サーバ及び仮想ストレージのいずれも、１つのときもあれば複数のときもある。本実施例で言う、一体型システム２の「物理リソース」とは、仮想サーバ及び仮想ストレージのいずれの基にもなり得る物理デバイス群である。例えば、物理リソースは、複数のブレード２１及び複数のＩ／Ｏモジュール２４のうちの少なくとも複数のブレード２１でよい。ブレード２１及びＩ／Ｏモジュール２４のうちの少なくともブレード２１が、仮想サーバと仮想ストレージのどちらにも使用され得る。言い換えれば、一体型システム２の物理リソース部分は、仮想サーバに割り当てられることもあれば、仮想ストレージに割り当てられこともある。管理計算機１は、アプリケーションプログラムに関する要求であるユーザ要求（例えば発揮すべき性能の要求等）をユーザから受け、そのユーザ要求を満たすための構成を決定する。例えば、管理計算機１は、一体型システム２に生成させる仮想マシンの種類、仮想マシンの数、及び、仮想マシンに割り当てる物理リソース部分等を、一体型システム２の各物理リソース部分の性能や種類に基づいて決定してよい。また、管理計算機１は、第１のアプリケーションプログラムに割り当てられた第１の仮想マシンの基になっている物理リソース部分を減らしても第１のアプリケーションプログラムについてのユーザ要求が満たされるようであれば、第１の仮想マシンの基になっている物理リソース部分を減らし、減らした分の物理リソース部分を、第２のアプリケーションプログラムに割り当てられる仮想マシンに割り当ててよい。このような制御により、一体型システム２に、なるべく多くのユーザ要求を満たすことのできる論理構成を構築することができる。
【００１９】
以下、詳述する。
【００２０】
管理計算機１は、一体型システム２を管理する計算機である。管理計算機１は、Ｉ／Ｆと、記憶デバイスと、それらに接続されたプロセッサとを有する。Ｉ／Ｆは、ＬＡＮ４を介した通信のためのＬＡＮ  Ｉ／Ｆ１６である。記憶デバイスは、メモリ１２及び補助記憶デバイス１４であるが、補助記憶デバイス１４は無くても良い。プロセッサは、ＣＰＵ１１である。管理計算機１は、更に、入力デバイス１３と、表示デバイスの一例としてのモニタ１５とを有してよい。入力デバイス１３は、例えば、キーボード及びポインティングデバイスでよい。入力デバイス１３及びモニタ１５として、タッチパネル式ディスプレイが採用されてよい。
【００２１】
一体型システム２は、計算機サブシステムの一例である。一体型システム２は、仮想サーバと仮想ストレージの両方を実行することができる計算機サブシステムである。一体型システム２の物理リソースは、複数の計算機デバイスと複数のＩ／Ｏ（Input/Output）デバイスとうちの少なくとも複数の計算機デバイスを含む。一体型システム２の物理リソースは、複数の計算機デバイス及び複数のＩ／Ｏデバイスが接続されたスイッチデバイスを含んでよい。計算機デバイスの一例がブレード２１であり、Ｉ／Ｏデバイスの一例がＩ／Ｏモジュール２４であり、スイッチデバイスの一例がネットワークスイッチ２３である。ブレード２１間の通信、及び、ブレード２１とＩ／Ｏモジュール２４間の通信は、同一の通信プロトコルに従い行われる。具体的には、例えば、各ブレード２１、各Ｉ／Ｏモジュール２４及びネットワークスイッチ２３は、ＰＣＩｅ（PCI  Express）バスに接続されてよく、ブレード２１間の通信も、ブレード２１とＩ／Ｏモジュール２４間の通信も、ＰＣＩｅに従い行われてよい。そして、それらの通信は、ネットワークスイッチ（例えばＰＣＩｅスイッチ）２３を介して行われてよい。
【００２２】
一体型システム２は、キャッシュメモリ（以下、キャッシュ）２２を有する。キャッシュ２２は、物理リソースに含まれてもよい。キャッシュ２２には、Ｉ／Ｏ対象のデータ（例えばオンラインＶＯＬに対してＩ／Ｏされるデータ）が一時記憶される。キャッシュ２２は、ネットワークスイッチ２３に接続されてよい。一体型システム２内の構成要素間の通信（具体的には、ネットワークスイッチ２３に接続されている構成要素間の通信）は、同一のプロトコル（例えばＰＣＩｅ）に従い行われてよい。
【００２３】
一体型システム２は、管理計算機１に接続されるＬＡＮ  Ｉ／Ｆ２５を有する。ＬＡＮ  Ｉ／Ｆ２５は、少なくとも１つのブレード２１に接続されてよい。つまり、管理計算機１が、各ブレード２１に情報を設定してもよいし、管理計算機１が、いずれかのマスタブレード２１Ｍに情報を設定し、マスタブレード２１が、設定された情報又はそれに基づく情報を他の各ブレード２１に設定してもよい。本実施例では、１つのブレード（以下、マスタブレード）２１ＭがＬＡＮ  Ｉ／Ｆ２５を通じて管理計算機１に接続されているとする。
【００２４】
Ｉ／Ｏモジュール２４は、データのＩ／Ｏを行うデバイス（例えば回路）であり、例えば、Ｉ／Ｆであってもよいし、記憶デバイスであってもよい。具体的には、例えば、Ｉ／Ｏモジュール２４は、一体型システム２内の他の構成要素と通信するためのＩ／Ｆ（例えばＰＣＩｅカード）と、一体型システム２の外部の装置と通信するためのＩ／Ｆ（例えば、ＳＡＳ（Serial  Attached  SCSI）  Ｉ／Ｆ、又は、ＦＣ（Fibre  Channel）  Ｉ／Ｆ））とを含んでよい。Ｉ／Ｆとしては、通信ネットワークを介した通信のためのネットワークＩ／Ｆと、ＳＡＳに従う通信ためのＳＡＳ−Ｉ／Ｆがあってよい。また、Ｉ／Ｏモジュールは、フラッシュメモリデバイス（以下、ＦＭデバイス）２４ａのような不揮発性記憶デバイスでもよい。ＦＭデバイス２４ａは、例えば、ＳＳＤ（Solid  State  Drive）でよい。また、ＦＭデバイス２４ａが有するフラッシュメモリは、例えば、ＮＡＮＤ型フラッシュメモリのように、追記型であり消去回数（書込み回数）に上限のあるメモリでよい。ここで言う「追記型」とは、データの書込み済領域（ページ）からデータを消去してからでないとその領域にデータを書き込むことができないことを意味する。フラッシュメモリは、例えば、複数のブロックで構成され、各ブロックは、複数のページで構成され、読み書きはページ単位であり、消去はブロック単位でよい。
【００２５】
例えば、少なくとも１つのＩ／Ｏモジュール２４に、拡張筐体３が接続されてよい。拡張筐体３は、複数のＰＤＥＶ（物理記憶デバイス）を含んでよい。複数のＰＤＥＶは、例えば、複数のＨＤＤ（Hard  Disk  Drive）３１でよい。少なくとも１つのＨＤＤに代えて他種のＰＤＥＶ（例えば、ＳＳＤ）が採用されてもよい。
【００２６】
一体型システム２において、複数のＲＡＩＤグループが構成されてよい。ＲＡＩＤグループは、複数のＰＤＥＶとしての複数のＩ／Ｏモジュール２４で構成されてもよいし、拡張筐体３内の複数のＰＤＥＶで構成されてもよい。１つのＲＡＩＤグループに、Ｉ／Ｏモジュール２４と、拡張筐体３内のＰＤＥＶとが混在してもよい。
【００２７】
ブレード２１の物理リソースは、仮想サーバと仮想ＣＴＬとのどちらにも割当て可能である。つまり、ブレード２１は、仮想サーバと仮想ＣＴＬのいずれにも使用可能な汎用的なデバイス（例えば回路）である。各ブレード２１は、仮想サーバを実行することも、仮想ＣＴＬを実行することも、仮想サーバに加えて又は仮想サーバを削除して仮想ＣＴＬを実行することも、仮想ＣＴＬに加えて又は仮想ＣＴＬを削除して仮想サーバを実行することもできる。以下の説明においては、仮想サーバを実行するブレードを「サーバブレード」と言い、仮想ＣＴＬを実行するブレードを「ストレージブレード」と言うことがある。上記の通り、１つのブレードが仮想サーバと仮想ＣＴＬとの両方を同時期に有することもあるので、１つのブレードがサーバブレードでもありストレージブレードでもあり得る。
【００２８】
１つの仮想サーバには、１以上のブレード２１の物理ソースの全部又は一部が割り当てられる。１つの仮想ストレージに関して、１つの仮想ＣＴＬには、１以上のブレード２１の物理リソースの全部又は一部と、キャッシュ２２の全部又は一部と、１以上のＩ／Ｆ（１以上のＩ／Ｏモジュール２４）の全部又は一部とが割り当てられ、１又は複数の仮想ＰＤＥＶには、１以上のＰＤＥＶ（１以上のＩ／Ｏモジュール２４と拡張筐体３内の１以上のＰＤＥＶとのうちの少なくとも１つ）の全部又は一部が割り当てられてよい。
【００２９】
一体型システム２において、１以上の仮想ストレージの各々が１以上の仮想サーバにＶＯＬを提供してよい。第１の仮想サーバが、第１のＶＯＬを指定した第１のＩ／Ｏコマンドを送信する。第１のＩ／Ｏコマンドは、ネットワークスイッチ２３を経由して、第１のＶＯＬを提供した第１の仮想ＣＴＬに届く。第１の仮想ＣＴＬは、第１のＶＯＬにおけるＩ／Ｏ先領域の基になっている仮想ＰＤＥＶに割り当てられたＰＤＥＶを特定し、そのＰＤＥＶであるＩ／Ｏモジュール２４又はそのＰＤＥＶに接続されているＩ／Ｏモジュール２４に、Ｉ／Ｏ先領域の基になっているＰＤＥＶに対するＩ／Ｏのための第２のＩ／Ｏコマンドを送信する。第２のＩ／Ｏコマンドは、ネットワークスイッチ２３を経由して、送信先のＩ／Ｏモジュール２４に届く。そのＩ／Ｏモジュール２４により、第２のＩ／Ｏコマンドに従うデータのＩ／Ｏが行われる。第２のＩ／Ｏコマンドの応答は、第２のＩ／Ｏコマンドの送信先のＩ／Ｏモジュール２４から、ネットワークスイッチ２３を経由して、第１の仮想ＣＴＬを実行するブレード２１に送信される。第１のＩ／Ｏコマンドの応答は、第１の仮想ＣＴＬを実行するブレード２１から、ネットワークスイッチ２３を経由して、第１の仮想サーバを実行するブレード２１に送信される。上記の処理において、第１のＩ／Ｏコマンドに従うデータが、第１の仮想ＣＴＬにより、第１の仮想ＣＴＬが有する仮想キャッシュの基になっている領域（キャッシュ２２における領域）に一時格納される。第１の仮想サーバと第１の仮想ＣＴＬを同一のブレード２１が実行する場合には、第１のＩ／Ｏコマンド及びその応答のうちの少なくとも一方は、ネットワークスイッチ２３を経由することなく、そのブレード２１内で受け渡しされてよい。
【００３０】
図１Ｂは、マスタブレード２１Ｍの構成を示す。
【００３１】
マスタブレード２１Ｍ及び他のいずれのブレード２１も、回路基板であり、ブレード２１の物理リソースは、Ｉ／Ｆ、メモリ及びそれらに接続されたプロセッサを含む。Ｉ／Ｆは、例えばインターコネクトＬＳＩ（Large  Scale  Integration）２１３のようにスイッチ２３に接続されるデバイスであり、プロセッサは、例えばＣＰＵ２１１である。１つのブレード２１が１以上のＣＰＵコアを有する。１つのＣＰＵ２１１が１又は複数のＣＰＵコアを有する。ＣＰＵ２１１は、１つのブレード２１に複数存在してもよい。
【００３２】
各ブレード２１は、インターコネクトＬＳＩ２１３を介して、ネットワークスイッチ２３経由の内部通信（他のブレード２１との通信、或いは、Ｉ／Ｏモジュール２４との通信）を行うことができる。また、複数のブレード２１のうちのマスタブレード２１が、Ｉ／Ｆとして、図１Ａに示したＬＡＮ  Ｉ／Ｆ２５に接続されるＬＡＮ  Ｉ／Ｆ２１４を有する。なお、各ブレード２１がＬＡＮ  Ｉ／Ｆ２１４を有しＬＡＮ  Ｉ／Ｆ２１４を通じて管理計算機１と通信するようになっていてもよい。
【００３３】
なお、Ｉ／Ｏモジュール２４の構成は図示しないが、Ｉ／Ｏモジュール２４も、インターコネクトＬＳＩ２１３のようなＩ／Ｆを有していて、そのＩ／Ｆを介して、ネットワークスイッチ２３経由の内部通信（ブレード２１との通信等）を行うことができる。また、Ｉ／Ｏモジュール２４は、ＰＣＩｅ（内部通信ためのインタフェース）とは異なるインタフェース（プロトコル）で通信するためのＩ／Ｆを有していて、そのＩ／Ｆを介して、ＰＤＥＶ又はストレージ装置（複数のＰＤＥＶを有する装置）のような装置と通信してもよい。
【００３４】
図２は、ブレード２１のメモリ２１２に記憶されるプログラムを示す。
【００３５】
メモリ２１２は、ブレード２１がサーバブレードとストレージブレードのどちらにもなることができるよう、仮想サーバにより実行されるプログラムも仮想ストレージにより実行されるプログラムも記憶する。具体的には、例えば、メモリ２１２は、ブレードリソース管理プログラム５１、ファブリック管理プログラム５２、Ｉ／Ｏモジュール管理プログラム５３、Ｉ／Ｏ制御プログラム５４、リソース監視プログラム５５、通信プログラム５６、キャッシュ管理プログラム５７及びアプリケーションプログラム５８を記憶する。少なくともアプリケーションプログラム５８が複数存在してよい。プログラム５１〜５８のうち、サーバブレードでは、プログラム５１、５２、５５〜５８が実行され、ストレージブレードでは、プログラム５１〜５７が実行されてよい。
【００３６】
ブレードリソース管理プログラム５１は、ブレード２１の物理リソースの割当てを管理するプログラムであり、例えばハイパバイザのような仮想化プログラムである。
【００３７】
ファブリック管理プログラム５２は、ネットワークスイッチ２３を管理することで構成要素間の帯域（通信帯域）を管理するプログラムである。
【００３８】
Ｉ／Ｏモジュール管理プログラム５３は、Ｉ／Ｏモジュール２４を管理するプログラムである。
【００３９】
Ｉ／Ｏ制御プログラム５４は、ＶＯＬを指定したＩ／Ｏコマンドに従いそのＶＯＬに対するＩ／Ｏの制御を行うプログラムである。
【００４０】
リソース監視プログラム５５は、通信ネットワークの帯域の負荷を監視、調整するためのプログラムである。
【００４１】
通信プログラム５６は、通信プロトコルを管理し構成要素間の通信（及び一体型システム２の外部の装置との通信）を制御するプログラムである。
【００４２】
キャッシュ管理プログラム５７は、キャッシュ領域を管理するプログラムである。キャッシュ領域は、例えば、キャッシュ２２又はＦＭデバイス２４ａにおける領域でよい。例えば、キャッシュ領域は、複数の記憶領域（以下、スロット）を含んでいて、キャッシュ管理プログラム５７は、スロット毎のステータス（ダーティ、クリーン及びフリー）を管理してよい。ダーティのスロットは、ダーティデータ（ライト先ＶＯＬに基づくＰＤＥＶに未だ格納されていないデータ）を記憶するスロットであり、クリーンのスロットは、クリーンデータ（ＶＯＬに基づくＰＤＥＶに既に格納されているデータ）を記憶するスロットであり、フリーのスロットは、ダーティデータ及びクリーンデータのいずれも格納されていないスロットである。
【００４３】
アプリケーションプログラム５８は、ＶＯＬを指定したＩ／Ｏコマンドを送信するプログラムである。アプリケーションプログラム５８としては、データベース管理プログラム（ＤＢＭＳ）、ＤＷＨ（Data  WareHouse）を提供するプログラム、ＢＩ（Business  Intelligence）を提供するプログラム、ＶＤＩ（Virtual  Desktop  Infrastructure）を提供するプログラム、Ｗｅｂサービスを提供するプログラム等があり得る。アプリケーションプログラム５８は、図示しないクライアント装置（例えば、一体型システム２のブレード２１に通信可能に接続されている外部の計算機）からコマンドを受け（例えばネットワークＩ／Ｆ（Ｉ／Ｏモジュール２４の１つ）を介してコマンドを受け）、そのコマンドに従う処理を行い、その処理において、ＶＯＬを指定したＩ／Ｏコマンドを発行してよい。
【００４４】
図３は、キャッシュ２２に記憶される情報を示す。
【００４５】
キャッシュ２２は、ブレードリソース管理テーブル６１、ブレード間帯域管理テーブル６２、ブレード帯域管理テーブル６３、Ｉ／Ｏモジュール管理テーブル６４、ブレード−Ｉ／Ｏモジュール間帯域管理テーブル６５、Ｉ／Ｏモジュール帯域管理テーブル６６、システム構成管理テーブル６７、フラッシュリソース割当管理テーブル６８、バックボーン帯域管理テーブル６９、フラッシュリソース管理テーブル７１、ネットワークリソース割当管理テーブル７２、キャッシュ帯域管理テーブル７３、ネットワークリソース管理テーブル７４、ＳＡＳリソース割当管理テーブル７５、プロファイル割当管理テーブル７６、及び、ブレード割当管理テーブル７７を記憶する。各テーブルについては、後述する。なお、キャッシュ２２は、複数のブレード２１の共有領域でもあるので、ブレード２１が記憶するプログラム５１〜５８のソースはキャッシュ２２でもよい。ブレード２１が、必要に応じて、キャッシュ２２からプログラムをロードしてもよい。例えば、ブレード２１は、サーバブレードになる場合にそのサーバブレードとして必要なプログラムをキャッシュ２２からロードしてもよい。また、テーブル６１〜７７には、予め用意されているテーブルと、予め用意されているテーブルを基に後述の処理を行うことにおって生成されたテーブルとが含まれている。具体的には、例えば、テーブル６２、６５、６８、７２、７５、７６及び７７が、予め用意されているテーブルを基に動的に生成されるテーブル（具体的には、例えば、システム構成設定処理（図２２参照）において生成されるテーブル）でよい。
【００４６】
図４は、管理計算機１のメモリ１２に記憶されるプログラム及び情報を示す。
【００４７】
メモリ１２は、プロファイル管理プログラム８１、プロファイル入力インタフェース８２、プロファイルテーブル８３、リソース管理プログラム８４、通信プログラム８５、及び、プロファイルテンプレートテーブル８６を有する。
【００４８】
プロファイル管理プログラム８１は、プロファイルを管理するプログラムである。
【００４９】
プロファイル入力インタフェース８２は、ユーザ要求を含むプロファイルの入力をユーザから受けるインタフェースを提供するプログラムである。なお、プロファイルとは、プロファイルテーブル８３の要素であり、詳細は後述する。
【００５０】
リソース管理プログラム８４は、リソースを管理するプログラムである。
【００５１】
通信プログラム８５は、通信プロトコルを管理し一体型システム２との通信を制御するプログラムである。
【００５２】
プロファイルテーブル８３及びプロファイルテンプレートテーブル８６については、後述する。
【００５３】
以下、前述した各テーブルを説明する。
【００５４】
図５は、ブレードリソース管理テーブル６１を示す。
【００５５】
ブレードリソース管理テーブル６１は、ブレード２１のスペックを管理するテーブルである。具体的には、例えば、テーブル６１は、ブレード毎に、下記の情報、
（＊）ブレード２１の識別子であるＩＤ５０１、
（＊）ブレード２１が有するＣＰＵコア数を示すＣＰＵ５０２、及び
（＊）ブレード２１が有するメモリ２１２の容量を示すメモリ５０３、
を有する。ブレード２１は、１又は複数のＣＰＵ２１１を有するが、ＣＰＵコア数は、ブレード２１が有するＣＰＵコアの総数である。図示例では、ＩＤ１のブレードは、１６個のＣＰＵコアと、１ＴＢのメモリ２１２を有する。
【００５６】
図６は、ブレード割当管理テーブル７７を示す。
【００５７】
ブレード割当管理テーブル７７は、ブレード２１の役割（機能）を管理するテーブルである。具体的には、例えば、テーブル７７は、ブレード毎に、下記の情報、
（＊）ブレード２１の識別子であるＩＤ６０１、
（＊）ブレード２１の役割の識別子を示すＲｏｌｅ６０２、
（＊）ブレード２１の役割に割り当てられたＣＰＵコアのＩＤ（識別子）を示すＣＰＵ６０３、及び
（＊）ブレード２１の役割に割り当てられたメモリ容量を示すメモリ６０４、
を有する。なお、役割は、仮想サーバ（Server）であるか仮想ＣＴＬ（Storage）であるかに大別され、同種の役割であっても役割識別子は重複しない。言い換えれば、ブレード２１の役割は、ブレード２１が実行する仮想マシンの種類に相当し、役割の識別子は、仮想マシンの識別子に相当する。識別子中の文字列から、仮想マシンの種類の識別が可能である。具体的には、「Server」を含んだ識別子に対応する仮想マシンは、仮想サーバであり、「Storage」を含んだ識別子に対応する仮想マシンは、仮想ストレージである。図示例では、ＩＤ１のブレードが、仮想ＣＴＬ「ストレージ１」として機能し、その機能に、１６個のＣＰＵコア（ＩＤが１〜１６のＣＰＵコア）と、１ＴＢのメモリ容量が割り当てられる。また、ＩＤ８のブレードには、複数の役割、すなわち、仮想サーバ「Server6」と仮想ＣＴＬ「Storage3」が割り当てられる。仮想サーバ「Server6」に、ＩＤ８のブレードの物理リソースのうち、２個のＣＰＵコア（ＩＤが１〜２のＣＰＵコア）と、１２８ＧＢのメモリ容量が割り当てられる。仮想ＣＴＬ「Storage3」に、ＩＤ８のブレードの物理リソースのうち、２個のＣＰＵコア（ＩＤが３〜４のＣＰＵコア）と、１２８ＧＢのメモリ容量が割り当てられる。
【００５８】
図７は、プロファイルテンプレートテーブル８６を示す。
【００５９】
プロファイルテンプレートテーブル８６は、プロファイルテーブル８３の更新に使用可能な予め定義された１以上のプロファイルテンプレートを有するテーブルである。１つのプロファイルテンプレートは、プロファイルテンプレートテーブル８６の１つのレコード（行）に対応する。具体的には、例えば、プロファイルテンプレートテーブル８６は、プロファイルテンプレート毎に、下記の情報、
（＊）プロファイルテンプレートの識別子であるＩＤ７０１、
（＊）プロファイルテンプレートに対応したアプリケーションの名称を示すＷｏｒｋｌｏａｄ７０２、
（＊）プロファイルテンプレートに対応したアプリケーションの主なＩ／Ｏ特性（Ｉ／Ｏパターン）を示すＩ／Ｏ特性７０３、
（＊）プロファイルテンプレートに対応したアプリケーションが扱うことができるデータ量を示す容量７０４、
（＊）プロファイルテンプレートに対応したアプリケーションに要求される性能を示す性能要求７０５、
（＊）プロファイルテンプレートに対応したアプリケーションに要求される優先度を示す優先度７０６、及び
（＊）プロファイルテンプレートに対応したアプリケーションに要求される信頼性を示す信頼性７０７、
を有する。図示例では、ＩＤ１のプロファイルテンプレートは、アプリケーション「ＤＢ１」（ＤＢはデータベースの略）についてのプロファイルテンプレートである。アプリケーション「ＤＢ１」は、主にランダムリードを行い、そのアプリケーション「ＤＢ１」には、１０ＴＢの記憶容量と、高い性能と、最も高い優先度「１」と、高い信頼性「高」とが要求される。なお、本実施例では、性能要求に従う性能（典型的にはＩ／Ｏ性能）は、高、中、低の３段階に分かれており、各段階に所定のＩ／Ｏ性能が対応付けられてよい。また、アプリケーションの種類毎に、性能の単位や、高、中、低に対応付けられる性能（数値）が異なっていてよい。優先度７０６は、数値が小さいほど高い優先度でよい。信頼性７０７も、本実施例では、高、中、低の３段階に分かれている。性能、優先度及び信頼性の少なくとも１つについて、定義の方法は他の方法が採られてもよい。
【００６０】
図８は、プロファイルテーブル８３を示す。
【００６１】
プロファイルテーブル８３は、ユーザ要求を含む１以上のプロファイルを有するテーブルである。１つのプロファイルは、プロファイルテーブル８３の１つのレコード（行）に対応する。具体的には、例えば、プロファイルテーブル８３は、プロファイル毎に、下記の情報、
（＊）プロファイルの識別子であるＩＤ８０１、
（＊）プロファイルに対応したアプリケーションの名称を示すＷｏｒｋｌｏａｄ８０２、
（＊）プロファイルに対応したアプリケーションの主なＩ／Ｏ特性を示すＩ／Ｏ特性８０３、
（＊）プロファイルに対応したアプリケーションに要求される性能８０４、
（＊）プロファイルに対応したアプリケーションが扱うことができるデータ量を示す容量８０５、
（＊）プロファイルに対応したアプリケーションが稼働する時間帯を示す時間帯８０６、
（＊）プロファイルに対応したアプリケーションに要求される優先度を示す優先度８０７、及び
（＊）プロファイルに対応したアプリケーションに要求される信頼性を示す信頼性８０８、
を有する。時間帯８０６は、一定期間（例えば、１日、１週間、１か月等）における時間帯を表してよい。図示例では、ＩＤ１のプロファイルは、ＤＢＭＳ「ＤＢ１」に対応し、ＤＢＭＳ「ＤＢ１」は、ランダムリードもランダムライトも行い、ライト性能よりも高いリード性能を必要とする。また、ＤＢＭＳ「ＤＢ１」は、１０ＴＢの記憶容量を必要とし、６時〜１８時の間に稼働し、優先度が高く高い信頼性が要求される。プロファイル（例えば情報８０２〜８０８）はユーザから入力された情報でよい。プロファイルのうち、情報８０２〜８０５、８０７及び８０８の入力には、プロファイルテンプレート中の情報７０２〜７０７が利用されてよい。プロファイルテンプレートに情報の過不足等があれば、ユーザが、適宜、情報の追加（例えば時間帯８０６の追加）、変更又は削除を行うことで、ユーザ所望のプロファイルを入力することができる。プロファイルには、ユーザ要求が含まれることになるが、本実施例における「ユーザ要求」は、ユーザが入力デバイス１３を操作することにより入力された情報を含む要求でよい。性能要求７０５の段階毎に、性能として、図示のようにリードとライトのそれぞれの性能（数値）が関連付けられていて、その性能（数値）が、プロファイルに反映されてもよい。
【００６２】
図９は、プロファイル割当管理テーブル７６を示す。
【００６３】
プロファイル割当管理テーブル７６は、各プロファイルに対する要件の割当てを管理するテーブルである。具体的には、例えば、プロファイル割当管理テーブル７６は、プロファイル毎に、下記の情報、
（＊）プロファイルの識別子であるＩＤ９０１、
（＊）プロファイルに対応したアプリケーションの名称を示すＷｏｒｋｌｏａｄ９０２、
（＊）プロファイルに対応したアプリケーションの稼働に必要なＣＰＵコア数を示すコア要件９０３、
（＊）プロファイルに対応したアプリケーションの稼働に必要な帯域を示す帯域要件９０４、
（＊）プロファイルに対応したアプリケーションが扱うことができるデータ量を示す容量９０５、及び
（＊）プロファイルに対応したアプリケーションに割当られるブレード役割（仮想マシン）の識別子を示す割当９０６、
を有する。図示例では、ＩＤ１のプロファイルは、ＤＢＭＳ「ＤＢ１」に対応し、ＤＢＭＳ「ＤＢ１」は、８個のＣＰＵコアと、１０ＧＢ／ｓの帯域と、１０ＴＢの記憶容量を必要とする。ＤＢＭＳ「ＤＢ１」に、仮想ＣＴＬ「Storage1」と仮想サーバ「Sever1」が割り当てられる。
【００６４】
図１０は、Ｉ／Ｏモジュール管理テーブル６４を示す。
【００６５】
Ｉ／Ｏモジュール管理テーブル６４は、Ｉ／Ｏモジュール２４をを管理するテーブルである。具体的には、例えば、テーブル６４は、Ｉ／Ｏモジュール２４毎に、下記の情報、
（＊）Ｉ／Ｏモジュール２４の識別子であるＩＤ１００１、
（＊）Ｉ／Ｏモジュール２４の種類を示すＴｙｐｅ１００２、及び
（＊）同種のＩ／Ｏモジュール２４に割り振られた識別子であるＴｙｐｅ別ＩＤ１００３、
を有する。図示例では、ＩＤ１のＩ／Ｏモジュール２４は、ＦＭデバイスであり、そのＦＭデバイスには、フラッシュＩＤ（Ｔｙｐｅ別ＩＤ）として「１」が割り振られている。
【００６６】
図１１は、ブレード間帯域管理テーブル６２を示す。
【００６７】
ブレード間帯域管理テーブル６２は、仮想マシン間（ブレード間）の帯域を管理する。縦軸は、送信元の仮想マシンの識別子を示し、横軸は送信先の仮想マシンの識別子を示す。送信元の仮想マシンと送信先の仮想マシン間の帯域が、その交点（セル）に示される。図示例では、仮想サーバ「Server1」から仮想ＣＴＬ「Storage1」への通信帯域は、１０ＧＢ／ｓである。
【００６８】
図１２は、ブレード−Ｉ／Ｏモジュール間帯域管理テーブル６５を示す。
【００６９】
ブレード−Ｉ／Ｏモジュール間帯域管理テーブル６５は、仮想マシン（ブレード２１）とＩ／Ｏモジュール２４との間の帯域を管理する。縦軸は、送信元の仮想マシンの識別子を示し、横軸は、送信先のＩ／Ｏモジュール２４の識別子を示す。送信元の仮想マシン（ブレード２１）と送信先のＩ／Ｏモジュール２４との間の帯域が、その交点（セル）に示される。図示例では、仮想ＣＴＬ「Storage1」からＩ／Ｏモジュール「I/O 1」への通信帯域は、２ＧＢ／ｓである。なお、「‐」が記録されている交点（以下、イネーブルセル）に対応した要素間は、通信が行われない。具体的には、イネーブルセルは、そのイネーブルセルに対応した仮想マシンに、そのイネーブルセルに対応したＩ／Ｏモジュールが割り当てられていないことを意味する。
【００７０】
図１３は、ブレード帯域管理テーブル６３を示す。
【００７１】
ブレード帯域管理テーブル６３は、ネットワークスイッチ２３とブレード２１との間の帯域を管理するテーブルである。具体的には、例えば、テーブル６３は、ブレード毎に、下記の情報、
（＊）ブレード２１の識別子であるＩＤ１３０１、及び
（＊）ネットワークスイッチ２３との間の物理帯域の最大値を示す最大物理帯域１３０２、
を有する。図示例では、ＩＤ１のブレードとネットワークスイッチ２３との間の最大物理帯域は、２０ＧＢ／ｓである。
【００７２】
図１４は、バックボーン帯域管理テーブル６９を示す。
【００７３】
バックボーン帯域管理テーブル６９は、ネットワークスイッチ２３固有の帯域を管理するテーブルである。図示例では、ネットワークスイッチの物理帯域は、４００ＧＢ／ｓである。
【００７４】
図１５は、キャッシュ帯域管理テーブル７３を示す。
【００７５】
キャッシュ帯域管理テーブル７３は、キャッシュ２２とネットワークスイッチ２３との間の帯域を管理するテーブルである。具体的には、例えば、テーブル７３は、キャッシュ毎に、下記の情報、
（＊）キャッシュの識別子であるＩＤ１５０１、及び
（＊）ネットワークスイッチ２３との間の物理帯域を示す物理帯域１５０２、
を有する。図示例では、ＩＤ１のキャッシュの物理帯域は、５０ＧＢ／ｓである。
【００７６】
図１６は、Ｉ／Ｏモジュール帯域管理テーブル６６を示す。
【００７７】
Ｉ／Ｏモジュール帯域管理テーブル６６は、ネットワークスイッチ２３とＩ／Ｏモジュール２４との間の帯域を管理するテーブルである。具体的には、例えば、テーブル６６は、下記の情報、
（＊）Ｉ／Ｏモジュール２４の識別子であるＩＤ１６０１、及び
（＊）ネットワークスイッチ２３との間の物理帯域の最大値を示す最大物理帯域１６０２、
を有する。図示例では、ＩＤ１のＩ／Ｏモジュールの最大物理帯域は、２０ＧＢ／ｓである。
【００７８】
図１７は、フラッシュリソース管理テーブル７１を示す。
【００７９】
ＦＭデバイスは、Ｉ／Ｏモジュール２４の１つであり、フラッシュリソース管理テーブル７１は、ＦＭデバイスのスペックを管理するテーブルである。具体的には、例えば、テーブル７１は、ＦＭデバイス毎に、下記の情報、
（＊）ＦＭデバイスのＩＤであるフラッシュＩＤ１７０１、
（＊）ＦＭデバイスの記録方式を示すＴｙｐｅ１７０２、
（＊）ＦＭデバイスのＩ／Ｏ性能を示す性能１７０３、
（＊）ＦＭデバイスの帯域を示す帯域１７０４、及び
（＊）ＦＭデバイスの記憶容量を示す容量１７０５、
を有する。フラッシュＩＤ１７０１は、図１０に示したテーブル６４におけるＴｙｐｅ別ＩＤ１００３に対応する。Ｔｙｐｅ１７０２について、「SLC」は、ＳＬＣ（Single  Level  Cell）方式を意味し、「MLC」は、ＭＬＣ（Multi  Level  Cell）方式を意味する。図示例では、ＩＤ１のＦＭデバイスは、ＳＬＣ方式でデータを記憶し、２ＭＩＯＰＳの性能と、３ＧＢ／ｓの帯域と、３ＴＢの記憶容量を有する。
【００８０】
図１８は、フラッシュリソース割当管理テーブル６８を示す。
【００８１】
フラッシュリソース割当管理テーブル６８は、ＦＭデバイスの仮想マシンに対する割当を管理するテーブルである。具体的には、例えば、テーブル６８は、ＦＭデバイスの記憶領域範囲（例えば論理領域範囲）毎に、下記の情報、
（＊）記憶領域範囲を提供するＦＭデバイスの識別子であるフラッシュＩＤ１８０１、
（＊）記憶領域範囲に割り当てられた仮想マシン（役割）の識別子を示す割当１８０２、
（＊）記憶領域範囲の用途を示すＲ／Ｗ１８０３、
（＊）記憶領域範囲のＩ／Ｏ性能を示す性能１８０４、
（＊）記憶領域範囲の帯域を示す１８０５、及び
（＊）記憶領域範囲の記憶容量を示す容量１８０６、
を有する。フラッシュＩＤ１８０１は、図１０に示したテーブル６４におけるＴｙｐｅ別ＩＤ１００３に対応する。Ｒ／Ｗ１８０３について、「R/W Cache」は、記憶領域範囲に対してデータのリードもライトも行われることを意味し、「Read Cache」は、記憶領域範囲に対してデータのリードは行われるがライトは行われないことを意味し、「Store」は、記憶領域範囲が最終記憶デバイスの一部又は全部として使用されることを意味する。例えば、「Store」に対応した領域は、ＲＶＯＬの基になる記憶領域であってもよい。図示例では、ＩＤ２のＦＭデバイスについて、第１の記憶領域範囲が、仮想サーバ「Server1」にリードキャッシュ（リードコマンドの処理のときに使用され得るがライトコマンドの処理のときに使用されない領域範囲）として使用され、第２の記憶領域範囲が、仮想ＣＴＬ「Storage3」にリード／ライトキャッシュ（リードコマンドの処理のときもライトコマンドの処理のときも使用され得る領域範囲）として使用される。
【００８２】
図１９は、ネットワークリソース管理テーブル７４を示す。
【００８３】
Ｉ／Ｆ（特に、一体型システム２の外部の装置と通信するためのネットワークＩ／Ｆ）は、Ｉ／Ｏモジュール２４の１つであり、ネットワークリソース管理テーブル７４は、Ｉ／Ｆのスペックを管理するテーブルである。具体的には、例えば、テーブル７４は、Ｉ／Ｆ毎に、下記の情報、
（＊）Ｉ／Ｆの識別子であるＩＤ１９０１、
（＊）Ｉ／Ｆの種類を示すＴｙｐｅ１９０２、
（＊）Ｉ／Ｆと外部デバイス（例えば、ＨＤＤ３１のような、一体型システム２の外部のデバイス）との間の帯域を示す帯域１９０３、及び
（＊）Ｉ／Ｆが有するポートの番号を示すＰｏｒｔ番号１９０４、
を有する。ＩＤ１９０１は、図１０に示したテーブル６４におけるＴｙｐｅ別ＩＤ１００３に対応する。図示例では、ＩＤ１のＩ／Ｆは、ＦＣ  Ｉ／Ｆの一例としてのＦＣ  ＨＢＡ（Host  Bus  Adapter）であり、外部デバイスとの間の帯域は１６Ｇｂ／ｓで、ポート番号１〜４の４個のポートを有する。
【００８４】
図２０は、ネットワークリソース割当管理テーブル７２を示す。
【００８５】
ネットワークリソース割当管理テーブル７２は、Ｉ／Ｆに対する仮想マシンの割当を管理するテーブルである。具体的には、例えば、テーブル７２は、Ｉ／Ｆ毎に、下記の情報、
（＊）Ｉ／Ｆの識別子であるＩＤ２００１、
（＊）Ｉ／Ｆが有するポートの番号であるＰｏｒｔ番号２００２、
（＊）Ｉ／Ｆが有するポートに割り当てられた仮想マシン（役割）の識別子を示すＲｏｌｅ２００３、
（＊）その仮想マシンが送信元となり得るか否かを示すInitiator２００４、
（＊）その仮想マシンが送信先となり得るか否かを示すTarget２００５、
（＊）その仮想マシンと外部デバイスとの間の帯域を示す帯域２００６、及び
（＊）その帯域のうち保証される帯域を示す保証帯域２００７、
を有する。ＩＤ２００１は、図１０に示したテーブル６４におけるＴｙｐｅ別ＩＤ１００３に対応する。Ｉ／Ｆが有する１つのポートを異なる複数の仮想マシンが使用できる。図示例では、ＩＤ１のＩ／Ｆのポート「１」及び「２」は、仮想ＣＴＬ「Storage1」によって使用され、送信元にも送信先にもなり得る。
【００８６】
図２１は、ＳＡＳリソース割当管理テーブル７５を示す。
【００８７】
Ｉ／Ｆとして、ＳＡＳに従い通信する外部の装置（一体型システム２の外部の装置）と通信するためのＳＡＳ−Ｉ／Ｆがあり、ＳＡＳリソース割当管理テーブル７５は、ＳＡＳ−Ｉ／Ｆの割当を管理するテーブルである。具体的には、例えば、テーブル７５は、ＳＡＳ−Ｉ／Ｆ毎に、下記の情報、
（＊）ＳＡＳ−Ｉ／Ｆの識別子であるＳＡＳ  ＩＤ２１０１、
（＊）ＳＡＳ−Ｉ／Ｆに割り当てられた仮想マシンの識別子を示す割当２１０２、及び
（＊）ＳＡＳ−Ｉ／Ｆに割り当てられた仮想マシンと外部の装置との間の帯域を示す帯域２１０３、
を有する。ＩＤ２１０１は、図１０に示したテーブル６４におけるＴｙｐｅ別ＩＤ１００３に対応する。図示例では、ＩＤ１のＳＡＳ−Ｉ／Ｆには、仮想ＣＴＬ「Storage1」が割り当てられる。
【００８８】
以上が、ブレード２１及び管理計算機１が有するテーブルである。本実施例では、前述したテーブルのうちの予め用意されているテーブルや管理計算機１に入力されたユーザ要求を基に動的にテーブルが生成され、その生成されたテーブルを基に、プロファイル（アプリケーションプログラム）に割り当てられる仮想マシンが決定される。
【００８９】
以下、本実施例で行われる処理を説明する。
【００９０】
図２２は、システム構成設定処理のフローチャートである。
【００９１】
システム構成設定処理は、一体型システム２の構成を定義する処理である。この処理は、新たなユーザ要求が入力される場合、及び、一体型システム２の物理リソースの構成変更が行われる場合（例えば、ブレード２１の追加又は取外し、Ｉ／Ｏモジュール２４の追加又は取外し等）のうちの少なくとも一方の場合に行われる。一体型システム２の物理リソースの構成変更は、例えば、リソース管理プログラム８４を介してブレードリソース管理テーブル６１等の更新が行われたこと、ブレード２１等が追加又は取り外しの通知をブレード２１のリソース監視プログラム５５からリソース管理プログラム８４が受けたことにより検知されてよい。
【００９２】
Ｓ２２０１で、プロファイル管理プログラム８１は、一体型システム２のキャッシュ２２から、一体型システム２の構成定義に必要なテーブルが有する情報を取得し、その情報をメモリ１２に書き込む。具体的には、例えば、プロファイル管理プログラム８１は、いずれかのブレード２１のプログラム（例えばリソース監視プログラム５５）に、情報取得要求を送信する。そのプログラムは、その要求を受けて、キャッシュ２２から、一体型システム２の構成定義に必要なテーブルが有する情報を取得し、取得した情報をプロファイル管理プログラム８１に送信する。「一体型システム２の構成定義に必要なテーブル」は、例えば、テーブル６１、６３〜６４、６６、６９、７１、７３及び７４である。
【００９３】
Ｓ２２０２で、プロファイル管理プログラム８１は、プロファイル入力インタフェース８２を呼び出す。プロファイル入力インタフェース８２は、プロファイルテンプレートテーブル８６に基づくユーザ要求入力テンプレート（以下、入力テンプレート）を含んだＧＵＩ（Graphical  User  Interface）をモニタ１５に表示する。入力テンプレートは、テンプレートテーブル８６が有する全てのプロファイルテンプレートの一覧を含んでよい。また、入力テンプレートは、プロファイルテーブル８３が有する全てのプロファイルの一覧を含んでよい。入力テンプレートのＧＵＩは、複数のプロファイルテンプレート（又は複数のプロファイル）からユーザ所望のプロファイルテンプレート（又はプロファイル）の選択と、選択されたプロファイルテンプレート（又はプロファイル）の編集とを受け付けることができるようになっている。
【００９４】
Ｓ２２０３で、プロファイル入力インタフェース８２は、入力テンプレートの中からユーザ所望のアプリケーション（Workload）の選択を入力デバイス１３から受け付ける。
【００９５】
Ｓ２２０４で、プロファイル入力インタフェース８２は、選択されたアプリケーションに関連付けられている情報（選択されたアプリケーションに対応するプロファイルテンプレート又はプロファイルが含む情報）が更新（追加、変更又は削除）されるか否かを判定する。具体的には、例えば、プロファイル入力インタフェース８２は、入力テンプレートのＧＵＩ上の所定のボタンが押されたか否かを判定する。
【００９６】
Ｓ２２０４の判定の結果が真であれば（Ｓ２２０４：ＹＥＳ）、Ｓ２２０５で、プロファイル入力インタフェース８２は、選択されたアプリケーションに関連付けられている情報（選択されたアプリケーションに対応するプロファイルテンプレート又はプロファイルが含む情報）の更新を受け付ける。
【００９７】
Ｓ２２０６で、プロファイル管理プログラム８１は、プロファイルテーブル８３を更新する。例えば、プロファイル管理プログラム８１は、プロファイルテーブル８３におけるプロファイルを、Ｓ２２０５の更新に従い更新してよい。或いは、プロファイル管理プログラム８１は、選択されたアプリケーションに対応したプロファイルテンプレート又はプロファイルの更新に従うプロファイルを、プロファイルテーブル８３に追加してよい。或いは、プロファイル管理プログラム８１は、Ｓ２２０４の判定の結果が偽の場合（Ｓ２２０４：ＮＯ）でのＳ２２０６であれば、選択されたアプリケーションに対応したプロファイルテンプレートに従うプロファイルをプロファイルテーブル８３に追加してよい。Ｓ２２０５の更新後のプロファイルテンプレート又はプロファイルに含まれる情報、又は、Ｓ２２０３で選択されたアプリケーションに対応するプロファイルテンプレートに含まれる情報が、本実施例で言うユーザ要求に相当してよい。すなわち、ユーザ要求は、選択されたアプリケーションについて、１又は複数の要求項目にそれぞれ対応した１又は複数の要求を含んでよい。要求項目としては、例えば、図７及び図８に示したように、Ｉ／Ｏ特性、扱うデータ量、性能、稼働の時間帯、優先度及び信頼性のうちの少なくとも１つがある。
【００９８】
Ｓ２２０７で、プロファイル管理プログラム８１は、ストレージリソース割当処理（図２３Ａ及び図２３Ｂ）を行う。
【００９９】
Ｓ２２０８で、プロファイル管理プログラム８１は、サーバリソース割当処理（図２４Ａ及び図２４Ｂ）を行う。
【０１００】
Ｓ２２０９で、プロファイル管理プログラム８１は、フラッシュリソース割当処理（図２５Ａ〜図２５Ｃ）を行う。
【０１０１】
Ｓ２２１０で、プロファイル管理プログラム８１は、ファブリックリソース割当処理（図２６）を行う。
【０１０２】
Ｓ２２１１で、プロファイル管理プログラム８１は、システムリソース割当指示を、一体型システム２（例えばいずれかのブレード２１）に送信する。一体型システム２（いずれかのブレード２１）が、システムリソース割当指示を受信し、その指示に従い、システムリソースの割当て、すなわち、Ｓ２２０７〜Ｓ２２１０において生成されたテーブル６２、６５、６８、７２、７５、７６及び７７に従う論理構成を構築する。
【０１０３】
システム構成設定処理により、ユーザは、一体型システム２の物理構成についての詳細（例えば、ブレードの数、各ブレードのスペック、Ｉ／Ｏモジュールの数、各Ｉ／Ｏモジュールのスペック等）を把握したり、ユーザ要求を満たすための詳細な設定（例えば、アプリケーションに割り当てる仮想マシンと、その仮想マシンに対して割り当てる物理リソース部分とを決定すること）をしたりしないでも、ユーザ要求をなるべく満たすような論理構成が一体型システム２に構築される。
【０１０４】
図２３Ａ及び図２３Ｂは、ストレージリソース割当処理のフローチャートである。
【０１０５】
Ｓ２３０１で、プロファイル管理プログラム８１は、プロファイルテーブル８３中の性能８０４を満たすために必要なＣＰＵコア数を決定する。そのコア数は一時的なコア数であるため、以下、「一時総コア数」と言う。具体的には、例えば、プロファイル管理プログラム８１は、プロファイルテーブル８３が有する全てのプロファイル中の性能８０４の合計を算出し、その合計を基に、一時総コア数を算出する。本実施例では、全てのブレード２１のＣＰＵコアの性能は同じであり、管理計算機１のメモリが、１つのＣＰＵコアの性能（以下、１コア性能）を表す情報を記憶しているとする。一時総コア数は、上記合計を１コア性能で割ることで、算出可能である。また、プロファイル管理プログラム８１は、プロファイル毎に、そのプロファイル中の性能８０４を発揮するのに必要なＣＰＵのコア数（以下、サブコア数）も算出する。
【０１０６】
Ｓ２３０２で、プロファイル管理プログラム８１は、プロファイルテーブル８３中の全ての時間帯８０６を参照し、いずれの時間帯８０６とも異なる時間帯８０６に対応したアプリケーションがあるか否かを判定する。いずれの時間帯８０６とも異なる時間帯８０６とは、いずれの時間帯８０６にも全体が重ならない時間帯８０６であり、好ましくは、いずれの時間帯８０６とも部分的にすら重複しない時間帯８０６でよい。Ｓ２３０２の判定の結果が真の場合（Ｓ２３０２：ＹＥＳ）、Ｓ２３０３が行われ、Ｓ２３０２の判定の結果が偽の場合（Ｓ２３０２：ＮＯ）、Ｓ２３０４が行われる。
【０１０７】
Ｓ２３０３で、プロファイル管理プログラム８１は、いずれの時間帯８０６とも異なる時間帯８０６を含んだプロファイルに対応したサブコア数を基に一時総コア数を更新する。具体的には、プロファイル管理プログラム８１は、いずれの時間帯８０６とも異なる時間帯８０６を含んだプロファイルに対応したサブコア数を一時総コア数から引く。
【０１０８】
Ｓ２３０４で、プロファイル管理プログラム８１は、ＣＰＵリソースが不足しているか否かを判定する。これは、一体型システム２が有するＣＰＵコアの数が一時総コア数未満か否かの判定である。具体的には、例えば、プロファイル管理プログラム８１は、ブレードリソース管理テーブル６１におけるＣＰＵ５０２の和が、一時総コア数未満か否かを判定する。Ｓ２３０４の判定の結果が偽の場合（Ｓ２３０４：ＮＯ）、Ｓ２３０５が行われ、Ｓ２３０４の判定の結果が真の場合（Ｓ２３０４：ＹＥＳ）Ｓ２３０９が行われる。
【０１０９】
Ｓ２３０５で、プロファイル管理プログラム８１は、プロファイルテーブル８３の先頭からプロファイルの情報を順次読み込む。
【０１１０】
Ｓ２３０６で、プロファイル管理プログラム８１は、リード主体のＩ／Ｏ特性８０３があり、かつ、一体型システム２にＦＭデバイス２４ａがあるか否かを判定する。リード主体のＩ／Ｏ特性８０３とは、ライトに関する情報（例えばＲＷ）を含んでおらずリードに関する情報（例えばＲｎｄＲＤ又はＳｅｑＲＤ）のみを含んだＩ／Ｏ特性８０３である。ＦＭデバイス２４ａがあるか否かは、Ｉ／Ｏモジュール管理テーブル６４にＴｙｐｅ１００２として「Ｆｌａｓｈ」があるか否かである。Ｓ２３０６の判定の結果が偽の場合（Ｓ２３０６：ＮＯ）、Ｓ２３１０が行われ、Ｓ２３０６の判定の結果が真の場合（Ｓ２３０６：ＹＥＳ）、Ｓ２３０７が行われる。
【０１１１】
Ｓ２３０７で、プロファイル管理プログラム８１は、リード主体のアプリケーションの性能８０４に基づくＣＰＵコア数を基に、一時総コア数を更新する。「リード主体のアプリケーション」とは、リード主体のＩ／Ｏ特性８０３を含んだプロファイルに対応したアプリケーションである。リード主体のアプリケーションを実行する仮想サーバのためのキャッシュ領域（リードキャッシュ）がＦＭデバイス２４ａから割り当てられることになる。Ｓ２３０７では、例えば、プロファイル管理プログラム８１は、リード主体のアプリケーションの性能８０４に従うサブコア数を一時総コア数から引く。これにより、リード主体のアプリケーションを実行する仮想サーバのリード性能の向上が期待され、且つ、仮想ストレージがリード主体のアプリケーションが実行するリードコマンドを処理する必要がなくなることから、ストレージリソース割当処理でのＣＰＵリソース不足を解消することが期待できる。
【０１１２】
Ｓ２３０８で、プロファイル管理プログラム８１は、ＣＰＵリソースが不足しているか否かを判定する。これは、Ｓ２３０４と同様、ブレードリソース管理テーブル６１におけるＣＰＵ５０２の和が更新後の一時総コア数未満か否かである。Ｓ２３０８の判定の結果が偽の場合（Ｓ２３０８：ＮＯ）、Ｓ２３０９が行われ、Ｓ２３０８の判定の結果が真の場合（Ｓ２３０８：ＹＥＳ）、Ｓ２３１０が行われる。
【０１１３】
Ｓ２３０９で、プロファイル管理プログラム８１は、一時総コア数を満たすようにブレードを決定する。具体的には、例えば、プロファイル管理プログラム８１は、ブレードリソース管理テーブル６１に基づき、一時総コア数を満たすように、ＣＰＵ５０２が大きいブレードから順番にブレードを選択する。ブレードの選択は、ＣＰＵ５０２の和が一時総コア数以上になった場合に終了する。Ｓ２３０９で選択されたブレードが、ストレージブレードである。
【０１１４】
Ｓ２３１０で、プロファイル管理プログラム８１は、エラーを出力する。エラーは、例えば、モニタ１５に表示される。表示されるエラーの情報は、例えば、リソース不足、不足しているリソースの種類、不足しているリソースの量（例えばＣＰＵコア数）を含んでよい。
【０１１５】
Ｓ２３１１で、プロファイル管理プログラム８１は、信頼性８０８が所定値以上（例えば「高」）であるアプリケーション（プロファイル）があるか否かを判定する。Ｓ２３１１の判定の結果が真の場合（Ｓ２３１１：ＹＥＳ）、Ｓ２３１２が行われ、Ｓ２３１１の判定の結果が偽の場合（Ｓ２３１１：ＮＯ）、Ｓ２３１３が行われる。
【０１１６】
Ｓ２３１２で、プロファイル管理プログラム８１は、信頼性８０８が所定値以上（例えば「高」）であるアプリケーションに割り当てられることになるストレージブレードを二重化することを決定する。なお、ここで言う「二重化することの決定」とは、障害時における切替え先のストレージブレードを決定することでよい。
【０１１７】
Ｓ２３１３で、プロファイル管理プログラム８１は、各プロファイルにストレージブレードを割り当てる。具体的には、例えば、プロファイル管理プログラム８１は、サブコア数及び優先度８０７のうちの少なくとも１つが多い（高い）順に、プロファイルにストレージブレードを割り当ててよい。その際、プロファイル管理プログラム８１は、ＣＰＵ５０２が大きいストレージブレードを優先的に割り当ててよい。また、プロファイル管理プログラム８１は、Ｓ２３１２で決定したアプリケーション（プロファイル）に割り当てるストレージブレードを二重化する。つまり、プロファイル管理プログラム８１は、Ｓ２３１２で決定したアプリケーションに異なる２つのストレージブレードを割り当てる。また、プロファイル管理プログラム８１は、時間帯８０６が互いに異なるアプリケーションには同一のストレージブレードを割り当ててよい。ここで言う「時間帯８０６が互いに異なるアプリケーション」は、時間帯８０６の重複がなるべく小さいアプリケーションであり、好ましくは、その重複がゼロである。
【０１１８】
Ｓ２３１４で、プロファイル管理プログラム８１は、全てのストレージブレードが必要帯域を満たすか否かを判定する。具体的には、例えば、プロファイル管理プログラム８１は、各ストレージブレードについて、最大物理帯域１３０２が、割り当てられたアプリケーション（プロファイル）の性能８０４の発揮に必要な帯域以上か否かを判定する。Ｓ２３１４の判定の結果が真の場合（Ｓ２３１４：ＹＥＳ）、Ｓ２３１９が行われ、Ｓ２３１４の判定の結果が偽の場合（Ｓ２３１４：ＮＯ）、Ｓ２３１５が行われる。
【０１１９】
Ｓ２３１５で、プロファイル管理プログラム８１は、ＦＭデバイス２４ａにより帯域不足が解消できるか否かを判定する。具体的には、例えば、プロファイル管理プログラム８１は、Ｓ２３１３において割り当てられたアプリケーションがリード特性を持つか、また、利用可能なＦＭデバイスの帯域１７０４（図１７参照）の合計が帯域不足分以上か否かを判定する。Ｓ２３１５の判定の結果が真の場合（Ｓ２３１５：ＹＥＳ）、Ｓ２３１６が行われ、Ｓ２３１５の判定の結果が偽の場合（Ｓ２３１５：ＮＯ）、Ｓ２３１７が行われる。
【０１２０】
Ｓ２３１６で、プロファイル管理プログラム８１は、帯域不足の生じるストレージブレードで実行されるアプリケーションについて、ＦＭデバイス２４ａに割り当てる。割当先のＦＭデバイス２４ａの帯域１７０４のうち、不足分の帯域を、当該アプリケーションが割り当てられる仮想サーバに後ほど割り当てる。
【０１２１】
Ｓ２３１７で、プロファイル管理プログラム８１は、不足分の帯域を補うために、ストレージブレードを増やす。なお、「ストレージブレードを増やす」とは、既存のブレードのうちの１以上を更にストレージブレードとすることでもよいし、ブレードを追加し追加したブレードをストレージブレードとすることでもよい。具体的には、例えば、プロファイル管理プログラム８１は、ＣＰＵ５０２の和が一時総コア数以上となり且つＣＰＵ５０２の和が小さくなるようにストレージブレードを１つ増やす。
【０１２２】
Ｓ２３１８で、プロファイル管理プログラム８１は、各プロファイルにストレージブレードを割り当てる。割り当て方は、Ｓ２３１３と同じでよい。
【０１２３】
Ｓ２３１９で、プロファイル管理プログラム８１は、Ｓ２３１９より前の処理の結果を基に、プロファイル割当管理テーブル７６及びブレード割当管理テーブル７７を更新する。以下、プロファイル割当管理テーブル７６における１つのレコード（行）に対応したプロファイルを「割当プロファイル」と言う。また、Ｓ２３０１〜Ｓ２３１８では、１つのストレージブレードに１つの仮想ＣＴＬが対応する。つまり、ストレージブレードとして選択されたブレードには「Storage」という文字列を含んだ識別子、つまり仮想ＣＴＬの識別子が割り当てられる。Ｓ２３１９では、例えば、割当プロファイルのWorkload８０２として、対応するプロファイルのWorkload８０２が書き込まれ、割当プロファイルのコア要件９０３として、対応するプロファイルのサブコア数が書き込まれてよい。割当プロファイルの容量９０５として、対応するプロファイルの容量８０５が書き込まれてよい。割当プロファイルの割当９０６として、割当プロファイル（アプリケーション）に割り当てられたストレージブレード（仮想ＣＴＬ）の識別子が書き込まれてよい。ストレージブレードとされたブレードについて、Ｒｏｌｅ６０２として、そのブレードに割り振られた識別子（仮想ＣＴＬの識別子）が書き込まれてよい。また、ストレージブレードとされたブレードについて、ＣＰＵ６０３として、割り当てられたＣＰＵコアの番号（例えば、ＣＰＵ５０２に該当するコアの全ての番号）が書き込まれ、メモリ６０４として、割り当てられたメモリ容量（例えば、メモリ５０３と同じ値）が書き込まれてよい。なお、テーブル７６及び７７の更新は、Ｓ２３１９でまとめて行われずに、Ｓ２３１９より前の処理において適宜行われてもよい（この場合、Ｓ２３１９が不要でよい）。
【０１２４】
ストレージリソース割当処理により、プロファイルに定義された性能（アプリケーションの要求性能）８０４を発揮するのに必要なＣＰＵコア数（及び帯域）のブレードがストレージブレードとして割り当てられる。また、リソース（ＣＰＵコア及び帯域のうちの少なくとも１つが）不足する場合には、ＦＭデバイス２４ａを使用することでリソース不足の解消が期待される。
【０１２５】
図２４Ａ及び図２４Ｂは、サーバリソース割当処理のフローチャートである。
【０１２６】
Ｓ２４０１で、プロファイル管理プログラム８１は、プロファイルテーブル８３中の性能８０４を満たすために必要なＣＰＵコア数を決定する。そのコア数は一時的なコア数であるため、以下、「一時総コア数」と言う。具体的には、例えば、プロファイル管理プログラム８１は、プロファイルテーブル８３が有する全てのプロファイル中の性能８０４の合計を算出し、その合計を基に、一時総コア数を算出する。また、プロファイル管理プログラム８１は、プロファイル毎に、そのプロファイル中の性能８０４を発揮するのに必要なサブコア数も算出する。Ｓ２４０１の処理は、Ｓ２３０１と同じでよい。既にＳ２３０１が行われているので、Ｓ２４０１は省略されてよい。その場合、Ｓ２３０１で算出された一時総コア数は、初期一時総コア数としてメモリ１２に記憶されてよい。
【０１２７】
Ｓ２４０２で、プロファイル管理プログラム８１は、プロファイル（アプリケーション）毎に、必要なメモリ容量（以下、サブメモリ容量）を算出する。プロファイルに対応する必要メモリ容量は、例えば、プロファイル中の性能８０４及び容量８０５を基に算出される。また、Ｓ２４０２で、プロファイル管理プログラム８１は、一時総メモリ容量（全てのプロファイルに対応したサブメモリ容量の和）を算出する。
【０１２８】
Ｓ２４０３で、プロファイル管理プログラム８１は、ＣＰＵリソース及びメモリリソースのうちの少なくとも一方が不足しているか否かを判定する。ＣＰＵリソースが不足しているか否かは、例えば、残りＣＰＵコア数が一時総コア数未満か否かである。「残りＣＰＵコア数」とは、一体型システム２が有するブレード上のＣＰＵコアのうちストレージリソース割当処理で割り当てられていないＣＰＵコアの総数である。典型的には、全てのサーバブレード候補（一体型システム２が有するブレードのうちストレージブレードとされていないブレード）のＣＰＵ５０２の和である。メモリリソースが不足しているか否かは、例えば、全てのサーバブレード候補のメモリ５０３の合計値が、一時総メモリ容量未満か否かである。Ｓ２４０３の判定の結果が真の場合（Ｓ２４０３：ＹＥＳ）、Ｓ２４０４が行われ、Ｓ２４０３の判定の結果が偽の場合（Ｓ２４０３：ＮＯ）、Ｓ２４０７が行われる。
【０１２９】
Ｓ２４０４で、プロファイル管理プログラム８１は、いずれの時間帯８０６とも異なる時間帯８０６に対応したプロファイル（アプリケーション）があるか否かを判定する。Ｓ２４０４の処理は、Ｓ２３０２と同じでよい。Ｓ２４０４の判定の結果が真の場合（Ｓ２４０４：ＹＥＳ）、Ｓ２４０５が行われ、Ｓ２４０４の判定の結果が偽の場合（Ｓ２４０２：ＮＯ）、Ｓ２４０８が行われる。
【０１３０】
Ｓ２４０５で、プロファイル管理プログラム８１は、いずれの時間帯８０６とも異なる時間帯８０６を含んだプロファイルに対応したサブコア数及びサブメモリ容量を基に一時総コア数及び一時総メモリ容量を更新する。具体的には、プロファイル管理プログラム８１は、いずれの時間帯８０６とも異なる時間帯８０６を含んだプロファイルに対応したサブコア数及びサブメモリ容量を一時総コア数及び一時総メモリ容量からそれぞれ引く。
【０１３１】
Ｓ２４０６で、プロファイル管理プログラム８１は、プロファイル管理プログラム８１は、ＣＰＵリソース及びメモリリソースのうちの少なくとも一方が不足しているか否かを判定する。Ｓ２４０６の判定は、Ｓ２４０３の判定と同じでよい。Ｓ２４０６の判定の結果が偽の場合（Ｓ２４０６：ＮＯ）、Ｓ２４０７が行われ、Ｓ２４０６の判定の結果が真の場合（Ｓ２４０６：ＹＥＳ）、Ｓ２４０８が行われる。
【０１３２】
Ｓ２４０７で、プロファイル管理プログラム８１は、プロファイル（アプリケーション）にサーバブレード候補をサーバブレードとして割り当てる。具体的には、例えば、プロファイル管理プログラム８１は、サブコア数及び優先度８０７のうちの少なくとも１つが多い（高い）順に、プロファイルにサーバブレード候補をサーバブレードとして割り当ててよい。なお。サーバブレード候補には、サーバブレードとされたときに、「Server」という文字列を含んだ識別子、つまり仮想サーバの識別子が割り当てられてよい。また、プロファイル管理プログラム８１は、時間帯８０６が互いに異なるアプリケーションには同一のサーバブレード候補を割り当ててよい。ここで言う「時間帯８０６が互いに異なるアプリケーション」は、前述したように、時間帯８０６の重複がなるべく小さいアプリケーションであり、好ましくは、その重複がゼロである。
【０１３３】
Ｓ２４０８で、プロファイル管理プログラム８１は、ＣＰＵリソース不足が生じている場合、対象仮想ＣＴＬに割り当てられているＣＰＵコアから一部のＣＰＵコアを削減し、メモリリソース不足が生じている場合、対象仮想ＣＴＬに割り当てられているメモリ容量から一部のメモリ容量を削減する。この段落でいう「対象仮想ＣＴＬ」は、優先度８０７が所定値以下のプロファイル（アプリケーション）に割り当てられた仮想ＣＴＬでよい。これにより、優先度の高いプロファイルの性能８０４等が満たせなくなる可能性を低減することができる。優先度８０７が所定値以下のプロファイルは、例えば、優先度８０７が最も低いプロファイルでよい。削減されたＣＰＵコア及びメモリ容量は、仮想サーバに割り当てられ得る。Ｓ２４０８において、プロファイル管理プログラム８１は、ＣＰＵリソース不足及びメモリリソース不足が解消された否かを判定することなく全ての対象仮想ＣＴＬについてＣＰＵコア数及びメモリ容量を削減してもよいし、ＣＰＵリソース不足及びメモリリソース不足が解消された否かをＣＰＵコア数及びメモリ容量を削減する都度に判定しながら対象仮想ＣＴＬについてＣＰＵコア数及びメモリ容量を削減してもよい。このＳ２４０８は、ＣＰＵリソースの不足分以上のＣＰＵコア数及びメモリ容量の不足分以上のメモリ容量が削減されたら終了してよい。その際、プロファイルの優先度８０７が同じ場合は、ランダム主体（Ｒｎｄ）のＩ／Ｏ特性８０３を含むプロファイルが、シーケンシャル主体（Ｓｅｑ）のＩ／Ｏ特性８０３を含むプロファイルより優先されてよい。１つの仮想ＣＴＬから削減されるＣＰＵコア数及びメモリ容量の上限は予め決められていて良い。例えば、削減されるＣＰＵコア数の上限は１でよい。
【０１３４】
Ｓ２４０９で、プロファイル管理プログラム８１は、ＣＰＵリソース不足が生じている場合、対象アプリケーション（対象プロファイル）のサブコア数（コア要件９０３）を削減し、メモリリソース不足が生じている場合、対象アプリケーション（対象プロファイル）のサブメモリ容量から一部のメモリ容量を削減する。この段落でいう「対象アプリケーション」は、優先度８０７が所定値以下のアプリケーション（プロファイル）でよい。これにより、優先度の高いプロファイルの性能８０４等を維持したままリソース不足の解消が期待できる。優先度８０７が所定値以下のアプリケーションは、例えば、優先度８０７が最も低いアプリケーションでよい。Ｓ２４０９において、プロファイル管理プログラム８１は、ＣＰＵリソース不足及びメモリリソース不足が解消された否かを判定することなく全ての対象アプリケーションについてＣＰＵコア数及びメモリ容量を削減してもよいし、ＣＰＵリソース不足及びメモリリソース不足が解消された否かをＣＰＵコア数及びメモリ容量を削減する都度に判定しながら対象アプリケーションについてＣＰＵコア数及びメモリ容量を削減してもよい。このＳ２４０９は、ＣＰＵリソースの不足分以上のＣＰＵコア数及びメモリ容量の不足分以上のメモリ容量が削減されたら終了してよい。ここでいう不足分は、Ｓ２４０８の後での不足分でよい。プロファイルの優先度８０７が同じ場合は、ランダム主体（Ｒｎｄ）のＩ／Ｏ特性８０３を含むプロファイルが、シーケンシャル主体（Ｓｅｑ）のＩ／Ｏ特性８０３を含むプロファイルより優先されてよい。１つの対象アプリケーションから削減されるＣＰＵコア数及びメモリ容量の上限は予め決められていて良い。例えば、削減されるＣＰＵコア数の上限は１でよい。プロファイル管理プログラム８１は、Ｓ２４０８においてＣＰＵリソース及びメモリ容量の不足分が解消された場合、Ｓ２４０９をスキップしてよい。或いは、プロファイル管理プログラム８１は、ＣＰＵリソース及びメモリ容量の不足分が解消されか否かを判定することなくＳ２４０８及びＳ２４０９の両方を行ってよい。或いは、プロファイル管理プログラム８１は、Ｓ２４０８よりも先にＳ２４０９を行い、Ｓ２４０９においてＣＰＵリソース及びメモリ容量の不足分が解消された場合、Ｓ２４０８をスキップしてよい。或いは、プロファイル管理プログラム８１は、Ｓ２４０８及びＳ２４０９のうちのいずれかのみを行うようになっていてもよい。
【０１３５】
Ｓ２４１０で、プロファイル管理プログラム８１は、全てのサーバブレードが必要帯域を満たすか否かを判定する。具体的には、例えば、プロファイル管理プログラム８１は、各サーバブレードについて、最大物理帯域１３０２が、割り当てられたアプリケーション（プロファイル）の性能８０４の発揮に必要な帯域以上か否かを判定する。性能８０４の発揮に必要な帯域とは、例えば、Ｗｏｒｋｌｏａｄ８０２に登録されたアプリケーションのうち、ＤＷＨのように性能８０４において帯域条件が入力されている情報を使用することでも良いし、あるいは、必要とされる性能ＩＯＰＳをもとに、一般的なファイルシステムのブロック管理単位の一例である４ＫＢ単位を想定して４ＫＢとＩＯＰＳの乗算に基づいて計算されるなど求められても良い。Ｓ２４１０の判定の結果が真の場合（Ｓ２４１０：ＹＥＳ）、Ｓ２４１４が行われ、Ｓ２４１０の判定の結果が偽の場合（Ｓ２４１０：ＮＯ）、Ｓ２４１１が行われる。
【０１３６】
Ｓ２４１１で、プロファイル管理プログラム８１は、対象アプリケーション（対象プロファイル）の帯域要件９０４を削減する。この段落でいう「対象アプリケーション」は、優先度８０７が所定値以下のアプリケーション（プロファイル）でよい。優先度８０７が所定値以下のアプリケーションは、例えば、優先度８０７が最も低いアプリケーションでよい。Ｓ２４１１において、プロファイル管理プログラム８１は、帯域不足が解消された否かを判定することなく全ての対象アプリケーションについて帯域を削減してもよいし、帯域不足が解消された否かを帯域を削減する都度に判定しながら対象アプリケーションについて帯域を削減してもよい。このＳ２４１１は、帯域の不足分以上の帯域が削減されたら終了してよい。プロファイルの優先度８０７が同じ場合は、シーケンシャル主体（Ｓｅｑ）のＩ／Ｏ特性８０３を含むプロファイルが、ランダム主体（Ｒｎｄ）のＩ／Ｏ特性８０３を含むプロファイルより優先されてよい。１つの対象アプリケーションから削減される帯域の上限は予め決められていて良い。
【０１３７】
Ｓ２４１２で、プロファイル管理プログラム８１は、ＣＰＵリソース、メモリリソース又は帯域が不足しているか否かを判定する。Ｓ２４１２の判定の結果が真の場合（Ｓ２４１２：ＹＥＳ）、Ｓ２４１３が行われ、Ｓ２４１２の判定の結果が偽の場合（Ｓ２４１２：ＮＯ）、Ｓ２４１４が行われる。
【０１３８】
Ｓ２３１３で、プロファイル管理プログラム８１は、エラーを出力する。エラーは、例えば、モニタ１５に表示される。表示されるエラーの情報は、例えば、リソース不足、不足しているリソースの種類、不足しているリソースの量（例えばＣＰＵコア数）を含んでよい。
【０１３９】
Ｓ２４１４で、プロファイル管理プログラム８１は、プロファイル管理プログラム８１は、Ｓ２４１４より前の処理の結果を基に、プロファイル割当管理テーブル７６及びブレード割当管理テーブル７７を更新する。１つのサーバブレードに典型的には１つの仮想サーバが対応する。つまり、サーバブレードとして選択されたブレードには「Server」という文字列を含んだ識別子、つまり仮想サーバの識別子が割り当てられる。Ｓ２４１４では、例えば、割当プロファイルの割当９０６に、その割当プロファイル（アプリケーション）に割り当てられたサーバブレード（仮想サーバ）の識別子が追加されてよい。割当プロファイルのコア要件９０３から、Ｓ２４０９で削減された分のＣＰＵコア数が削減されてよい。割当プロファイルの帯域要件９０４から、Ｓ２４１１で削減された分の帯域が削減されてよい。サーバブレードとされたブレードについて、Ｒｏｌｅ６０２として、そのブレードに割り振られた識別子（仮想サーバの識別子）が書き込まれてよい。また、サーバブレードとされたブレードについて、ＣＰＵ６０３として、割り当てられたＣＰＵコアの番号（例えば、ＣＰＵ５０２に該当するコアの全ての番号）が書き込まれ、メモリ６０４として、割り当てられたメモリ容量（例えば、メモリ５０３と同じ値）が書き込まれてよい。なお、テーブル７６及び７７の更新は、Ｓ２４１４でまとめて行われずに、Ｓ２４１４より前の処理において適宜行われてもよい（この場合、Ｓ２４１４が不要でよい）。
【０１４０】
サーバリソース割当処理により、プロファイルに定義された性能（アプリケーションの要求性能）８０４を発揮するのに必要なＣＰＵコア数（及び、メモリ容量及び帯域）のブレードがサーバブレードとして割り当てられる。また、リソース（ＣＰＵコア、メモリ容量及び帯域のうちの少なくとも１つ）が不足する場合には、仮想ＣＴＬに割り当てられたリソースの一部が仮想サーバに融通される、及び、プロファイルに定義された性能（アプリケーションの要求性能）８０４を発揮するために一旦割当てられたリソースの一部が削減されることで、リソース不足の解消が期待される。
【０１４１】
図２５Ａ〜図２５Ｃは、フラッシュリソース割当処理のフローチャートである。
【０１４２】
Ｓ２５０１で、プロファイル管理プログラム８１は、フラッシュリソース管理テーブル７１を読み出す。
【０１４３】
Ｓ２５０２で、プロファイル管理プログラム８１は、プロファイルテーブル８３から１つのプロファイル（例えば先頭のプロファイル）を読み出す。以下、図２５Ａ〜図２５Ｃの説明において、読み出された（選択された）プロファイルを「対象プロファイル」と言い、対象プロファイルに対応したアプリケーションを「対象アプリケーション」と言う。
【０１４４】
Ｓ２５０３で、プロファイル管理プログラム８１は、読み出したプロファイル中のＩ／Ｏ特性８０３がリード主体か否かを判定する。Ｓ２５０３の判定の結果が真の場合（Ｓ２５０３：ＹＥＳ）、Ｓ２５０４が行われ、Ｓ２５０３の判定の結果が偽の場合（Ｓ２５０３：ＮＯ）、Ｓ２５０４が行われる。
【０１４５】
Ｓ２５０４で、プロファイル管理プログラム８１は、フラッシュリソース管理テーブル７１を基に、対象アプリケーションのために、書き込み寿命が短いＦＭデバイス２４ａを選択する。書き込み寿命の短いＦＭデバイス２４ａとは、複数のＦＭデバイス２４ａのうち比較的に寿命の短いＦＭデバイスでよく、例えば、ＭＬＣ方式のＦＭデバイス（以下、ＭＬＣフラッシュ）でよい。本実施例では、書き込み寿命の短いＦＭデバイス２４ａは、ＭＬＣフラッシュである。なお、フラッシュリソース管理テーブル７１には、ＦＭデバイス２４ａ毎に、消去回数累積値と消去回数上限とが記録されていて、消去回数累積値と消去回数上限との差分を基に、書き込み寿命の短いＦＭデバイス２４ａが決定されてもよい。
【０１４６】
Ｓ２５０５で、プロファイル管理プログラム８１は、ＭＬＣリストを更新する。ＭＬＣリストは、ＭＬＣフラッシュの割当先候補のプロファイル（アプリケーション）のリストである。ＭＬＣリストが含むプロファイルは、フラッシュリソース割当処理において選択されたプロファイルのうちＳ２５０４の対象となったプロファイルである。ＭＬＣリストにおいて、プロファイルは所定の基準で並んでいてよい。例えば、ＭＬＣリストでは、信頼性８０６が高い順にプロファイルが並んでよい。
【０１４７】
Ｓ２５１０で、プロファイル管理プログラム８１は、フラッシュリソース管理テーブル７１を基に、対象アプリケーションのために、書き込み寿命が長いＦＭデバイス２４ａを選択する。書き込み寿命の長いＦＭデバイス２４ａとは、複数のＦＭデバイス２４ａのうち比較的に寿命の長いＦＭデバイスでよく、例えば、ＳＬＣ方式のＦＭデバイス（以下、ＳＬＣフラッシュ）でよい。本実施例では、書き込み寿命の長いＦＭデバイス２４ａは、ＳＬＣフラッシュである。
【０１４８】
Ｓ２５１１で、プロファイル管理プログラム８１は、ＳＬＣリストを更新する。ＳＬＣリストは、ＳＬＣフラッシュの割当先候補のプロファイル（アプリケーション）のリストである。ＳＬＣリストが含むプロファイルは、フラッシュリソース割当処理において選択されたプロファイルのうちＳ２５１０の対象となったプロファイルである。ＳＬＣリストにおいて、プロファイルは所定の基準で並んでいてよい。例えば、ＳＬＣリストでは、信頼性８０６が高い順にプロファイルが並んでよい。
【０１４９】
Ｓ２５０６で、プロファイル管理プログラム８１は、プロファイルテーブル８３の全プロファイルについてＳ２５０３の判定を行ったか否かを判定する。Ｓ２５０６の判定の結果が真の場合（Ｓ２５０６：ＹＥＳ）、Ｓ２５０７が行われ、Ｓ２５０６の判定の結果が偽の場合（Ｓ２５０６：ＮＯ）、プロファイル管理プログラム８１は、Ｓ２５０９で、プロファイルテーブル８３から次のプロファイル（アプリケーション）を読み出しそのプロファイルについてＳ２５０３を行う。
【０１５０】
Ｓ２５０７で、プロファイル管理プログラム８１は、ＭＬＣフラッシュ及びＳＬＣフラッシュの各々について、一体型システム２が有するＦＭデバイスの性能が十分か否かを判定する。具体的には、例えば、プロファイル管理プログラム８１は、ＭＬＣフラッシュ及びＳＬＣフラッシュの各々について、ＦＭデバイス２４ａの性能１７０３のＴｙｐｅ別の合計が、各々のリスト（ＭＬＣリスト又はＳＬＣリスト）中の全てのプロファイルの性能８０４の合計以上か否かを判定する。ＭＬＣフラッシュ及びＳＬＣフラッシュの両方についてＳ２５０７の判定の結果が真の場合（Ｓ２５０７：ＹＥＳ）、Ｓ２５０８が行われ、ＭＬＣフラッシュ及びＳＬＣフラッシュの少なくとも一方についてＳ２５０７の判定の結果が偽の場合（Ｓ２５０７：ＮＯ）、Ｓ２５１２が行われる。
【０１５１】
Ｓ２５１２で、プロファイル管理プログラム８１は、ＭＬＣフラッシュ及びＳＬＣフラッシュのうちＳ２５０７：ＮＯのＦＭデバイス（この段落で以下「対象タイプフラッシュ」）について、存在するＦＭデバイス２４ａの性能をなるべく使い切るようプロファイル（アプリケーション）を選択する。プロファイルの選択は、所定のルールに従って行われてよい。例えば、優先度８０７の高い順に、対象タイプフラッシュに対応したリスト（ＭＬＣリスト又はＳＬＣリスト）からプロファイルが選択されてよい。優先度８０７が同じであれば、リソース要件（例えば、コア要件９０３及び帯域９０４のうちの少なくとも一方）が高いプロファイルが優先的に選択されてよい。対象タイプフラッシュについて、選択されたプロファイルの性能８０４の合計がＦＭデバイス２４ａの性能１７０３の合計を超えない範囲で最大となるようプロファイルが選択されてよい。或いは、対象タイプフラッシュについて、選択されたプロファイルの性能８０４の合計がＦＭデバイス２４ａの性能１７０３の合計以上の範囲で最小となるようプロファイルが選択されてよい。このＳ２５１２により、対象タイプフラッシュについて、プロファイル（アプリケーション）が絞り込まれる。言い換えれば、対象タイプフラッシュに対応したリスト（ＭＬＣリスト又はＳＬＣリスト）から、選択されたプロファイル（アプリケーション）以外のプロファイルが除かれる。
【０１５２】
Ｓ２５０８で、プロファイル管理プログラム８１は、フラッシュリソース管理テーブル７１から、任意のＭＬＣフラッシュを選択する。このＭＬＣフラッシュが、Ｓ２５１３での対象ＭＬＣフラッシュである。
【０１５３】
Ｓ２５１３で、プロファイル管理プログラム８１は、ＭＬＣリストから１つのプロファイル（例えば、未選択のプロファイルのうちの先頭のプロファイル）を選択し、選択したプロファイル（以下、図２５Ａ〜図２５Ｃの説明において「ＭＬＣ対象プロファイル」）に割り当てられている仮想マシン（例えば、全ての仮想マシン、又は、仮想サーバのみ）を、対象ＭＬＣフラッシュに割り当てる。具体的には、例えば、対象ＭＬＣプロファイルの性能８０４、容量８０５（９０５）及び帯域要件９０４に基づく必要分が、対象ＭＬＣフラッシュの性能１７０３、帯域１７０４及び容量１７０５（図１７参照）のうちの未割当分から割り当てられる。対象ＭＬＣフラッシュのうちの、ＭＬＣ対象プロファイルに割り当てられた領域は、リードキャッシュ領域である。プロファイル管理プログラム８１は、対象ＭＬＣフラッシュの容量１７０５から、対象ＭＬＣプロファイルに割り当てた容量（例えば対象ＭＬＣプロファイルのサブメモリ容量）を引くことで、残容量を算出する。あるいは、対象ＭＬＣフラッシュの性能から、必要な性能を割り当てるために必要なＦＭデバイスの容量の割合の領域を割り当てることでもよい。
【０１５４】
Ｓ２５１４で、プロファイル管理プログラム８１は、ＭＬＣリストから全てのプロファイル（アプリケーション）が割当てられたか否かを判定する。Ｓ２５１４の判定の結果が真の場合（Ｓ２５１４：ＹＥＳ）、Ｓ２５１９が行われ、Ｓ２５１４の判定の結果が偽の場合（Ｓ２５１４：ＮＯ）、Ｓ２５１５が行われる。
【０１５５】
Ｓ２５１５で、プロファイル管理プログラム８１は、対象ＭＬＣフラッシュの残容量が或る容量より大きいか否かを判定する。或る容量とは、ゼロでも良いし、次にＭＬＣリストから選択されるプロファイルの容量８０５（９０５）に基づく容量（例えばサブメモリ容量）でもよい。Ｓ２５１５の判定の結果が偽の場合（Ｓ２５１５：ＮＯ）、プロファイル管理プログラム８１は、別のＭＬＣフラッシュ（このフラッシュリソース割当処理において未選択のＭＬＣフラッシュのうちのいずれか）を選択し（Ｓ２５１６）、ステップ２５１３に処理を進める。ここで選択されたＭＬＣフラッシュが、次のＳ２５１３で対象ＭＬＣフラッシュとなる。一方、Ｓ２５１５の判定の結果が真の場合（Ｓ２５１５：ＹＥＳ）、上記残容量のある対象ＭＬＣフラッシュについて再びＳ２５１３が行われる。
【０１５６】
Ｓ２５１９で、プロファイル管理プログラム８１は、フラッシュリソース管理テーブル７１より、任意のＳＬＣフラッシュを選択する。このＳＬＣフラッシュが、Ｓ２５２０での対象ＭＬＣフラッシュである。
【０１５７】
Ｓ２５２０で、プロファイル管理プログラム８１は、ＳＬＣリストから１つのプロファイル（例えば、未選択のプロファイルのうちの先頭のプロファイル）を選択し、選択したプロファイル（以下、図２５Ａ〜図２５Ｃの説明において「ＳＬＣ対象プロファイル」）に割り当てられている仮想マシン（例えば全ての仮想マシン又は仮想ＣＴＬのみ）を、対象ＳＬＣフラッシュに割り当てる。具体的には、例えば、対象ＳＬＣプロファイルの性能８０４、容量８０５（９０５）及び帯域要件９０４に基づく必要分が、対象ＳＬＣフラッシュの性能１７０３、帯域１７０４及び容量１７０５（図１７参照）のうちの未割当分から割り当てられる。対象ＳＬＣフラッシュのうちの、ＳＬＣ対象プロファイルに割り当てられた領域は、リード／ライトキャッシュ領域である。プロファイル管理プログラム８１は、対象ＳＬＣフラッシュの容量１７０５から、対象ＳＬＣプロファイルに割り当てた容量（例えば対象ＳＬＣプロファイルのサブメモリ容量）を引くことで、残容量を算出する。あるいは、対象ＭＬＣフラッシュの性能から、必要な性能を割り当てるために必要なＦＭデバイスの容量の割合の領域を割り当てることでもよい。
【０１５８】
Ｓ２５２１で、プロファイル管理プログラム８１は、Ｓ２５２０で割り当てた仮想マシンのうちの仮想ＣＴＬについて、仮想ＣＴＬに割り当てた容量（対象ＳＬＣフラッシュの容量）を、対象ＳＬＣプロファイル（アプリケーション）の容量９０５の所定割合（例えば１０％）に更新する。所定割合は、必ずしも一定ではなく、例えば、Ｓ２５２１の都度に異なる割合が採用されてもよい。
【０１５９】
Ｓ２５２２で、プロファイル管理プログラム８１は、ＳＬＣリストから全てのプロファイル（アプリケーション）が割当てられたか否かを判定する。Ｓ２５２２の判定の結果が真の場合（Ｓ２５２２：ＹＥＳ）、Ｓ２５２５が行われ、Ｓ２５２２の判定の結果が偽の場合（Ｓ２５２２：ＮＯ）、Ｓ２５２３が行われる。
【０１６０】
Ｓ２５２３で、プロファイル管理プログラム８１は、対象ＳＬＣフラッシュの残容量が或る容量より大きいか否かを判定する。或る容量とは、ゼロでも良いし、次にＳＬＣリストから選択されるプロファイルの容量８０５（９０５）に基づく容量（例えばサブメモリ容量）でもよい。Ｓ２５２３の判定の結果が偽の場合（Ｓ２５２３：ＮＯ）、プロファイル管理プログラム８１は、別のＳＬＣフラッシュ（このフラッシュリソース割当処理において未選択のＳＬＣフラッシュのうちのいずれか）を選択し（Ｓ２５２４）、ステップ２５２０に処理を進める。ここで選択されたＳＬＣフラッシュが、次のＳ２５２０で対象ＳＬＣフラッシュとなる。一方、Ｓ２５２３の判定の結果が真の場合（Ｓ２５２３：ＹＥＳ）、上記残容量のある対象ＳＬＣフラッシュについて再びＳ２５２０が行われる。
【０１６１】
ここで、Ｓ２５２２の結果、全てのプロファイルに対してＳＬＣフラッシュから必要容量を割り当てた後にも、搭載されたＳＬＣフラッシュの残容量が存在する場合に、かつＳ２５１４までに割り当てられたＭＬＣフラッシュの残容量が無くなって未割当のプロファイルが存在した場合には、ＳＬＣフラッシュをリードキャッシュとして割り当ててもよい。
【０１６２】
Ｓ２５２５で、プロファイル管理プログラム８１は、プロファイルテーブル８３中に、インメモリ処理用のプロファイルがあるか否かを判定する。インメモリ処理用のプロファイルは、例えば、「インメモリ処理」であることの明記を含んでいる、Workload８０２から特定されるアプリケーション種類がインメモリ処理に適している、及び、容量９０５の所定容量以下である、のうちの少なくとも１つに該当するプロファイルでよい。インメモリ処理のために、一体型システム２では、各ブレード２１及びＦＭデバイス２４ａ間は、ＮＶＭｅ（Ｎon-Volatile  Memory  Express）のようなメモリアクセスインタフェースに従う通信が可能でよい。Ｓ２５２５の判定の結果が偽の場合（Ｓ２５２５：ＮＯ）、Ｓ２５３４が行われ、Ｓ２５２５の判定の結果が真の場合（Ｓ２５２５：ＹＥＳ）、Ｓ２５２６が行われる。
【０１６３】
Ｓ２５２６で、プロファイル管理プログラム８１は、インメモリ処理用のプロファイル（以下、図２５Ａ〜図２５Ｃの説明において「インラインプロファイル」）をプロファイルテーブル７３から選択し、そのインラインプロファイル中の容量８０５を取得する。
【０１６４】
Ｓ２５２７で、プロファイル管理プログラム８１は、インラインプロファイルに割当て可能なＦＭデバイスリソースが存在するか否かを判定する。「インラインプロファイルに割当て可能なＦＭデバイスリソース」とは、例えば、インラインプロファイルの容量８０５以上の空き容量（ＦＭデバイスの容量）である。ＦＭデバイスリソースは、容量の他、性能及び帯域のうちの少なくとも一方を含んでよい。例えば、Ｓ２５２７の判定は、インラインプロファイルの性能８０４及び帯域要件９０４がＦＭデバイスの性能１７０３及び帯域１７０４のうちの未割当て分以下か否かの判定も含んでよい。ＦＭデバイスの空き容量（及び、ＦＭデバイスの性能１７０３及び帯域１７０４のうちの未割当て分）は、フラッシュリソース管理テーブル７１（図１７参照）と、Ｓ２５０１〜Ｓ２５２６における割当て結果とを基に特定可能である。Ｓ２５２７の判定の結果が真の場合（Ｓ２５２７：ＹＥＳ）、Ｓ２５２８が行われ、Ｓ２５２７の判定の結果が偽の場合（Ｓ２５２７：ＮＯ）、Ｓ２５３４が行われる。
【０１６５】
Ｓ２５２８で、プロファイル管理プログラム８１は、インラインプロファイルに割当て可能なＦＭデバイスリソースから、インラインプロファイルのためのＦＭデバイスリソースを選択し、選択したＦＭデバイスリソースにインラインプロファイル（インラインプロファイルに対応した仮想マシン）を割り当てる。ＦＭデバイスリソースは、ＭＬＣフラッシュからよりもＳＬＣフラッシュから優先的に選択されてよい。インラインプロファイルに割り当てられたＦＭデバイス領域は、Ｒ／Ｗ１８０３が、例えば「Ｍｅｍｏｒｙ(図示せず)」とされる領域の１つである。
【０１６６】
Ｓ２５２９で、プロファイル管理プログラム８１は、「Store」として使用可能なＦＭデバイス領域が存在するか否かを判定する。この判定は、例えば、少なくとも１つのＦＭデバイス２４ａに空き容量があるか否かでよい。以下、図２５Ａ〜図２５Ｃの説明において、１以上のＦＭデバイス２４ａの空き容量の総量ことを「残り空き容量」と言う。Ｓ２５２９の判定の結果が真の場合（Ｓ２５２９：ＹＥＳ）、Ｓ２５３０が行われ、Ｓ２５２９の判定の結果が偽の場合（Ｓ２５２９：ＮＯ）、Ｓ２５３４が行われてよい。
【０１６７】
Ｓ２５３０で、プロファイル管理プログラム８１は、残り空き容量を、所定の条件に適合する１以上のプロファイル（以下、ストア対象プロファイル）に割り当てる。割り当てられた残り空き容量を有する領域が、Ｒ／Ｗ１８０３が「Store」とされる領域の１つである。ここで、ストア対象プロファイルとは、優先度８０７が或る高さ以上、及び、性能８０４又はコア要件９０３が所定値以上、のうちの少なくとも１つを満たすプロファイルでよい。また、割当ては、ＭＬＣフラッシュよりもＳＬＣフラッシュから優先的に行われてよい。
【０１６８】
Ｓ２５３１で、プロファイル管理プログラム８１は、少なくとも１つのストア対象プロファイルについて階層制御機能が有効か否か判定する。本実施例で言う階層制御機能とは、複数のティアを有するプールにおいてティア間でのデータ移動をページ単位で行う機能である。階層制御機能が有効か否かは、例えば、複数のティアを有するプールがあるか否か、そのプールから実ページが割り当てられるＴＰＶＯＬ（ストア対象プロファイルに対応するアプリケーションが使用するＴＰＶＯＬ）に階層制御有効が関連付けられているか否かでよい。Ｓ２５３１の判定の結果が真の場合（Ｓ２５３１：ＹＥＳ）、Ｓ２５３３が行われ、Ｓ２５３１の判定の結果が偽の場合（Ｓ２５３１：ＮＯ）、Ｓ２５３２が行われてよい。
【０１６９】
Ｓ２５３２で、プロファイル管理プログラム８１は、残り空き容量を、全てのストア対象プロファイルに均等に配分する。
【０１７０】
Ｓ２５３３で、プロファイル管理プログラム８１は、ストア対象プロファイルに関連付けられている階層制御機能の推奨容量比率が実現されるよう、階層制御機能が有効のストア対象プロファイルに、残り空き容量の一部又は全部を割り当てる。もし、残り空き容量に未割当ての容量が残れば、その未割当て容量が、残りのストア対象プロファイルに均等に配分されてよい。なお、「容量比率」とは、例えば、プールにおける各ティアの容量比率のことである。例えば、プールが１００ＴＢであり、ＳＳＤのようなＦＭデバイスに基づくティア１と、ＳＡＳ−ＨＤＤに基づくティア２と、ＳＡＴＡ−ＨＤＤに基づくティア３の比が、５：３：２であれば、ティア１の容量は５０ＴＢであり、ティア１が５０ＴＢとなるように、残り空き容量がティア１の一部として割り当てられることになる。
【０１７１】
Ｓ２５３４で、プロファイル管理プログラム８１は、フラッシュリソース割当管理テーブル６８を更新する。つまり、Ｓ２５０１〜Ｓ２５３３の処理結果を基に、フラッシュリソース管理テーブル６８（図１８参照）が生成される。
【０１７２】
フラッシュリソース割当処理により、一体型システム２が有するＦＭデバイス２４ａのリソースのなるべく多くが割り当てられる。好適には、ＦＭデバイス２４ａの全てが割り当てられる。例えば、図１７と図１８を比較してわかる通り、各ＦＭデバイスの性能１７０３、帯域１７０４及び容量１７０５の全てが、プロファイルに対応する仮想マシンに割り当てられる。
【０１７３】
また、フラッシュリソース割当処理によれば、リード主体のＩ／Ｏ特性７０３に対応したアプリケーションには、書込み寿命が短いＦＭデバイスとしてＭＬＣフラッシュが割り当てられる。これにより、リード主体のＩ／Ｏ特性７０３に対応したアプリケーションは、リード主体ではないＩ／Ｏ特性７０３に対応したアプリケーションよりも、キャッシュに対する書込みの頻度が低い。このため、書込み寿命が短いＦＭデバイス領域の寿命が尽きるまでの時間をなるべく延ばすことが期待できる。
【０１７４】
また、フラッシュリソース割当処理によれば、ＦＭデバイス２４ａが有する領域は、リードキャッシュ及びＲ／Ｗキャッシュのようなキャッシュ領域として優先的に割り当てられ、残容量がある場合に、ストア用の領域として割り当てられる。つまり、ＦＭデバイス２４ａは、性能の向上のために優先的に使用される。
【０１７５】
なお、本実施例では、フラッシュリソース割当処理に加えて、ネットワークリソース割当管理テーブル７２（図２０参照）を生成するためのネットワークリソース割当処理と、ＳＡＳリソース割当管理テーブル７５（図２１参照）を生成するためのＳＡＳリソース割当処理とが行われる。ネットワークリソース割当処理及びＳＡＳリソース割当処理のいずれも、ファブリックリソース割当処理（図２２のＳ２２１０）の前に行われる。
【０１７６】
ネットワークリソース割当処理では、プロファイル管理プログラム８１は、各プロファイルの情報８０２〜８０８及び９０２〜９０６のうちの少なくとも１つと、ネットワークリソース管理テーブル７４とを基に、ネットワークリソース割当管理テーブル７２を生成する。以下、１つのプロファイルを例に取る（この段落において「対象プロファイル」と言う）。具体的には、例えば、プロファイル管理プログラム８１は、対象プロファイルに対応したアプリケーションの種類（Workload８０２）に適した種類（Type１８０２）のネットワークＩ／Ｆであり、且つ、対象プロファイルの帯域要件９０４に従う帯域以上の帯域１８０３のネットワークＩ／Ｆに、対象プロファイルの割当９０６が示す仮想マシンを割り当ててよい。割り当てられるポートの数（Port番号２００２）は、対象プロファイルの性能８０４及び帯域要件８０４のうちの少なくとも１つに基づいて決められてよい。また、Initiator２００４をオン（送信元となり得る）とするか否かは、仮想マシンの種類（仮想サーバか否か）、対象プロファイルに割り当てられた仮想マシン間のトポロジー等に基づいて決められてよい。例えば、仮想マシンが仮想ＣＴＬであっても、その仮想ＣＴＬが、仮想サーバからＩ／Ｏコマンドを受信したり別の仮想ストレージ内の仮想ＣＴＬにＩ／Ｏコマンドを送信したりするのであれば、その仮想マシン(Role２００３)に対応するInitiator２００４は、オン（送信元となり得る）でよい。同様に、Target２００５をオン（送信先となり得る）とするか否かは、仮想マシンの種類（仮想ＣＴＬか否か）、対象プロファイルに割り当てられた仮想マシン間のトポロジー等に基づいて決められてよい。割り当てられた仮想マシンの保証帯域２００７は、その仮想マシンの帯域２００６、ネットワークＩ／ＦのＴｙｐｅ１９０２等に基づいて決められてよい。例えば、ネットワークＩ／Ｆに割り当てられた仮想サーバ上で稼動するＷｏｒｋｌｏａｄ８０２の優先度、信頼性の高いアプリケーションの必要帯域を保証帯域とすることでもよい。このようにして、ネットワークリソース割当管理テーブル７２が生成される。
【０１７７】
ＳＡＳリソース割当処理では、プロファイル管理プログラム８１は、各プロファイルの情報８０２〜８０８及び９０２〜９０６のうちの少なくとも１つと、ＳＡＳ管理テーブル（図示せず）とを基に、ＳＡＳリソース割当管理テーブル７５を生成する。ＳＡＳ管理テーブルは、ＳＡＳ−Ｉ／Ｆ毎に、ＳＡＳ−Ｉ／Ｆの識別子であるＩＤと、ＳＡＳ−Ｉ／Ｆの帯域を表す情報とを有していてよい。以下、１つのプロファイルを例に取る（この段落において「対象プロファイル」と言う）。具体的には、例えば、プロファイル管理プログラム８１は、対象プロファイルに対応したアプリケーションの種類（Workload８０２）又は帯域１８０５等に基づいて、対象プロファイルに対応した仮想マシンをＳＡＳ−Ｉ／Ｆに割り当てるか否かを判定し、その判定の結果が真の場合、どのＳＡＳ−Ｉ／Ｆに対象プロファイルに対応した仮想マシンを割り当てるのかを決定する。例えば、仮想ストレージＣＴＬに割り当てられたＷｏｒｋｌｏａｄ８０２の合計の帯域（ただし、使用時間帯が重複しないアプリケーションの必要帯域は除く）をもとに、ＳＡＳ−Ｉ／Ｆが割り当てられても良く、ＳＡＳ−Ｉ／Ｆの帯域が不足する場合には、複数のＳＡＳ−Ｉ／Ｆを１つの仮想ストレージＣＴＬに割り当てても良い。このようにして、ＳＡＳリソース割当管理テーブル７５が生成される。
【０１７８】
図２６は、ファブリックリソース割当処理のフローチャートである。
【０１７９】
Ｓ２６０１で、プロファイル管理プログラム８１は、ブレード帯域管理テーブル６３及びＩ／Ｏモジュール帯域管理テーブル６６をメモリ１２から読み出す。
【０１８０】
Ｓ２６０２で、プロファイル管理プログラム８１は、プロファイル割当管理テーブル７６、フラッシュリソース割当管理テーブル６８、ネットワークリソース割当管理テーブル７２及びＳＡＳリソース割当管理テーブル７５を読み出し、それらのテーブル７６、６８、７２及び７５を基に、ブレード間のパスと、ブレードとＩ／Ｏモジュール間のパスを設定する。以下、１つのプロファイルを例に取る（この段落において「対象プロファイル」と言う）。また、この段落において、対象プロファイルの割当９０６が示す仮想サーバを「対象仮想サーバ」と言い、対象仮想サーバが割り当てられたブレードを「対象サーバブレード」と言い、対象プロファイルの割当９０６が示す仮想ＣＴＬを「対象仮想ＣＴＬ」と言い、対象仮想ＣＴＬが割り当てられたブレードを「対象ストレージブレード」と言う。プロファイル管理プログラム８１は、例えば、対象サーバブレードと対象ストレージブレードとの間のパスと、対象サーバブレードと対象仮想サーバが割り当てられたＩ／Ｏモジュールとの間のパスと、対象ストレージブレードと対象仮想ＣＴＬが割り当てられたＩ／Ｏモジュールとの間のパスを設定する。プロファイル管理プログラム８１は、ブレード帯域管理テーブル６３及びＩ／Ｏモジュール帯域管理テーブル６６とを基に、合計使用帯域（Ｓ２６０２で設定したパスの帯域の合計）を算出する。
【０１８１】
Ｓ２６０３で、プロファイル管理プログラム８１は、バックボーン帯域管理テーブル６９を参照し、Ｓ２６０２で算出した合計使用帯域が、バックボーン帯域（物理帯域１４０２）以下か否かを判定する。Ｓ２６０３の判定の結果が真の場合（Ｓ２６０３：ＹＥＳ）、Ｓ２６０８が行われ、Ｓ２６０３の判定の結果が偽の場合（Ｓ２６０３：ＮＯ）、Ｓ２６０４が行われる。
【０１８２】
Ｓ２６０４で、プロファイル管理プログラム８１は、いずれの時間帯８０６とも異なる時間帯８０６に対応したアプリケーション（プロファイル）があるか否かを判定する。Ｓ２６０４の処理は、図２３ＡのＳ２３０２と同じでよい。Ｓ２６０４の判定の結果が真の場合（Ｓ２６０４：ＹＥＳ）、Ｓ２６０５が行われ、Ｓ２６０４の判定の結果が偽の場合（Ｓ２６０２：ＮＯ）、Ｓ２６０７が行われる。
【０１８３】
Ｓ２６０５で、プロファイル管理プログラム８１は、いずれの時間帯８０６とも異なる時間帯８０６に対応したアプリケーション（プロファイル）に必要な帯域９０４を合計使用帯域から削減する。
【０１８４】
Ｓ２６０６で、プロファイル管理プログラム８１は、Ｓ２６０５後の合計使用帯域がバックボーン帯域以下か否かを判定する。Ｓ２６０６の判定の結果が真の場合（Ｓ２６０６：ＹＥＳ）、Ｓ２６０８が行われ、Ｓ２６０６の判定の結果が偽の場合（Ｓ２６０６：ＮＯ）、Ｓ２６０７が行われる。
【０１８５】
Ｓ２６０７で、プロファイル管理プログラム８１は、優先度が所定値以下のプロファイル（アプリケーション）の帯域９０４を、合計使用帯域がバックボーン帯域以下になるよう削減する。優先度が所定値以下のプロファイルとは、例えば、優先度が最低のプロファイルでよい。
【０１８６】
Ｓ２６０９で、プロファイル管理プログラム８１は、Ｓ２６０１〜Ｓ２６０８の処理結果を基に、ブレード間帯域管理テーブル６２、及び、ブレード−Ｉ／Ｏモジュール間帯域管理テーブル６５を更新する。テーブル６２及び６５の各セルに記録される値は、テーブル６３、６６、７２、７５及び６８と、Ｓ２６０２で設定されたパスとに基づいている。例えば、テーブル６２におけるＦｒｏｍとＴｏ（図１１参照）は、Initiator２００４とTarget２００５とに基づいてよく、テーブル６５におけるＦｒｏｍとＴｏは（図１２参照）、仮想マシンであるかＩ／Ｏデバイスであるかに基づいてよい。具体的には、プロファイル割当管理テーブル７６に記載された、各Ｗｏｒｋｌｏａｄの必要とする帯域要件９０４と、各Ｗｏｒｋｌｏａｄに割り当てられた割当９０６に記載をもとにして、対象サーバブレード、及び対象ストレージブレード間の帯域として割り当てられる。全てのＷｏｒｋｌｏａｄに対して割り当てられた仮想サーバブレード、及び仮想ストレージブレード間の合計の帯域を割り当てる。例えば、Ｓｔｏｒａｇｅ１とＳｅｒｖｅｒ１の間では、ＷｏｒｋｌｏａｄのＤＢ１、ＤＷＨ、が対象となるため、合計の帯域要件は２０ＧＢ／ｓである。ただし、ステップＳ２６０４で判定したとおり、使用時間帯８０６が異なる場合には、合計帯域要件から削減してもよい。
【０１８７】
ファブリックリソース割当処理により、仮想マシン同士の通信のための帯域と、仮想マシンとＩ／Ｏモジュール間の通信のための帯域を算出することができる。
【０１８８】
プロファイル管理プログラム８１は、図２２で説明したように、システムリソース割当指示を、一体型システム２（例えばいずれかのブレード２１）に送信する（図２２のＳ２２１１）。
【０１８９】
図２７は、システムリソース割当処理のフローチャートである。
【０１９０】
この処理は、プロファイル管理プログラム８１からシステムリソース割当指示を受信したブレード２１が行う処理である。そのブレード２１は、前述したようにマスタブレードであってもよいし、各ブレード２１でもよい。本実施例では、管理計算機１と通信を行うマスタブレード２１Ｍが存在し、マスタブレード２１Ｍが、システムリソース割当指示を受信する。
【０１９１】
Ｓ２７０１で、マスタブレード２１Ｍは、管理計算機１からシステムリソース割当指示を受信する。マスタブレード２１Ｍ（ブレードリソース管理プログラム５１）は、その指示に付随する情報、例えば、テーブル６２、６５、６８、７２、７５、７６及び７７を、キャッシュ２２に格納する。また、マスタブレード２１Ｍ（ブレードリソース管理プログラム５１）は、他の各ブレード２１に、リソース割当指示を送信する。
【０１９２】
Ｓ２７０２で、マスタブレード２１Ｍを含む複数のブレード２１の各々が、割当指示に基づき、次の処理を行う。以下、１つのブレード２１（図２７の説明において「対象ブレード２１」と言う）を例に取る。対象ブレード２１（各ブレードリソース管理プログラム５１）が、対象ブレード２１のRole６０２に対応したプログラムをロードする。例えば、役割６０２が仮想サーバを表していれば、サーバ用のプログラムとして、例えばプログラム５１、５２、５５、５６及び５８がロードされ、仮想サーバ６０２が仮想ＣＴＬを表していれば、ストレージ用のプログラムとして、プログラム５１〜５７がロードされてよい。また、対象ブレード２１がサーバブレードである場合、対象ブレード２１においてロードされるアプリケーションプログラム５８は、対象ブレード２１が実行する仮想サーバ（割当９０６）に対応するWorkload９０２に対応したアプリケーションプログラム５８でよい。一体型システム２１の稼働（運用）が開始された場合、対象ブレード２１は、ロードしたアプリケーションプログラム５８を実行してよい。
【０１９３】
Ｓ２７０３で、対象ブレード２１（各ブレードリソース管理プログラム５１）が、対象ブレードと他ブレード間のパス、及び、対象ブレードと１以上のＩ／Ｏモジュールとの間のパスを、ブレード間帯域管理テーブル６２及びブレード−Ｉ／Ｏモジュール間帯域管理テーブル６５に基づき、設定する。テーブル６２及び６５から、対象ブレードにつながるべき他のデバイス（他のブレード２１又はＩ／Ｏモジュール２４）を特定することができる。対象ブレード２１がマスタブレード２１Ｍではない場合、対象ブレード２１は、設定完了通知をマスタブレード２１Ｍに送信してよい。また、設定完了通知は、パス設定に加えて他の設定が行われた場合に送信されてよい。「他の設定」とは、例えば、対象ブレード２１で実行される仮想ＣＴＬが、その仮想ＣＴＬと通信する仮想サーバに、その仮想ＣＴＬに対応した容量９０５が表す容量分のＶＯＬを提供することであってよい。提供されるＶＯＬは、ＲＶＯＬでもＶＶＯＬでもよい。また、キャッシュ２２におけるＰＤＥＶ管理テーブル（図示せず）が、複数のＰＤＥＶに関する情報（例えば、各ＰＤＥＶの種類、各ＰＤＥＶの容量等）を含んでいて、対象ブレード２１は、ＰＤＥＶ管理テーブルを基に、対象ブレード２１（仮想ＣＴＬ）が必要な容量（例えば容量９０５が表す容量）を複数のＰＤＥＶから確保してよい。また、例えば、対象ブレードは、対象ブレードに割り当てられた仮想ＣＴＬに対応するプロファイルから階層型プール（複数のティアを含んだプール）を構築する必要がある場合には、ＰＤＥＶ管理テーブルを基に、推奨容量比率に従う階層型プールを構築し、且つ、そのプロファイルの容量９０５が表す容量のＴＰＶＯＬを仮想サーバに提供してよい。また、キャッシュ２２及び２２の各々の領域が、仮想ＣＴＬの数、各プロファイルの容量９０５、及び、プロファイルと仮想ＣＴＬの対応関係を基に、複数の仮想ＣＴＬに論理的に分割して割り当てられてよい。つまり、仮想ＣＴＬ毎に、キャッシュ２２の使用可能な容量が割り当てられてよい。このようにＳ２７０３では、パス設定に加えて、ＶＯＬの生成、ＶＯＬの提供等、一体型システム２の運用開始のために必要な論理構成の構築（設定）が行われてよい。この論理構成構築が行われたときに、設定完了通知がマスタブレード２１Ｍに送信されてよい。
【０１９４】
Ｓ２７０４で、マスタブレード２１Ｍ（ブレードリソース管理プログラム５１）は、システム構成管理テーブル６７（図３参照）を更新する。この更新は、例えば、マスタブレード２１Ｍが全ての他ブレード２１から設定完了通知を受信した場合に行われてよい。システム構成管理テーブル６７は、どのブレードにどのデバイス（ブレード又はＩ／Ｏモジュール）が接続されているかを表す情報を含んでよい。
【０１９５】
Ｓ２７０５で、マスタブレード２１Ｍ（ブレードリソース管理プログラム５１）は、処理の完了を管理計算機１（プロファイル管理プログラム８１）に通知する。
【０１９６】
システムリソース割当処理により、テーブル６２、６５、６８、７２、７５、７６及び７７に従う構成、つまり、ユーザ要求（プロファイルに定義された性能８０４等）をなるべく満たす論理構成が一体型システム２に構築される。
【０１９７】
その後、一体型システム２が稼働する。つまり、一体型システム２の運用開始となる。これにより、その後、仮想サーバ（例えば仮想サーバにより実行されるアプリケーション５８）が、例えば、図示しないクライアント装置からコマンドを受け付け（例えばＩ／Ｏモジュール２４を介してコマンドを受け付け）、そのコマンドを処理することができる。また、仮想サーバ（例えば仮想サーバにより実行されるアプリケーション５８）は、そのコマンドの処理のために或いは他の処理のために、ライトコマンド又はリードコマンドを発行することができる。ライトコマンドは、例えば、ストレージライトコマンドとＰＤＥＶライトコマンドのいずれかであり、リードコマンドは、例えば、ストレージリードコマンドとＰＤＥＶリードコマンドのいずれかである。ストレージライトコマンド及びストレージリードコマンドは、それぞれ、仮想ＣＴＬから提供されたＶＯＬを指定したライトコマンド及びリードコマンドである。ＰＤＥＶライトコマンド及びＰＤＥＶリードコマンドは、それぞれ、ＰＤＥＶを指定したライトコマンド及びリードコマンドである。
【０１９８】
以下、一体型システム２において行われるライト処理及びリード処理をそれぞれ説明する。
【０１９９】
図２８は、ライト処理のフローチャートである。
【０２００】
仮想サーバ（例えばアプリケーション５８）が、ライトコマンドを発行する（Ｓ２８０１）。
【０２０１】
ライトコマンドがＰＤＥＶライトコマンドの場合（Ｓ２８０２：ＮＯ）、ネットワークスイッチ２３を介して、そのＰＤＥＶライトコマンドが、ＰＤＥＶとしてのＩ／Ｏモジュール２４、又は、Ｉ／Ｏモジュール２４に接続されているＰＤＥＶに送信され、そのＰＤＥＶに、ＰＤＥＶライトコマンドに従うライト対象データが書き込まれる（Ｓ２８０７）。
【０２０２】
ライトコマンドがストレージライトコマンドの場合（Ｓ２８０２：ＹＥＳ）、ネットワークスイッチ２３を介して、そのストレージライトコマンドが、そのストレージライトコマンドで指定されたＶＯＬを提供した仮想ＣＴＬを実行するストレージブレードに送信され、そのストレージブレードにより、そのストレージライトコマンドが受信される（２８０３）。仮想ＣＴＬ（例えば仮想ＣＴＬが実行するＩ／Ｏ制御プログラム５４）が、キャッシュ２２及び２２の両方に、そのストレージライトコマンドに従うライト対象データを書き込む（２８０４）。仮想ＣＴＬ（例えばＩ／Ｏ制御プログラム５４）が、仮想サーバに、応答を送信する（Ｓ２８０５）。その後、任意のタイミングで、仮想ＣＴＬ（例えばＩ／Ｏ制御プログラム５４）が、デステージ処理を行う（Ｓ２８０６）。具体的には、例えば、仮想ＣＴＬが、キャッシュ２２上のライト対象データを、ストレージライトコマンドで指定されたＶＯＬにおけるライト先領域の基になっているＰＤＥＶ（以下、ライト先ＰＤＥＶ）に書き込む。ライト先ＰＤＥＶは、例えば、Ｉ／Ｏモジュール２４、又は、Ｉ／Ｏモジュール２４に接続されているＰＤＥＶである。すなわち、デステージ処理において、仮想ＣＴＬは、ライト先ＰＤＥＶを指定したＰＤＥＶライトコマンドを発行する。そのＰＤＥＶライトコマンドが、ネットワークスイッチ２３を介して、ライト先ＰＤＥＶにより受信され、そのＰＤＥＶライトコマンドに従うデータがライト先ＰＤＥＶに書き込まれる。
【０２０３】
図２９は、リード処理のフローチャートである。
【０２０４】
仮想サーバ（例えばアプリケーション５８）が、リードコマンドを発行する（Ｓ２９０１）。
【０２０５】
仮想サーバ（例えばキャッシュ管理プログラム５７）が、その仮想サーバにリードキャッシュ（ＦＭデバイス領域）が割り当てられており、且つ、リードコマンドに従うリード対象のデータがそのリードキャッシュに存在するか否かを判定する（Ｓ２９０２）。
【０２０６】
Ｓ２９０２の判定の結果が真の場合（Ｓ２９０２：ＹＥＳ）、仮想サーバ（例えばキャッシュ管理プログラム５７）が、その仮想サーバに割り当てられているリードキャッシュ（ＦＭデバイス領域）からデータを読み出す（Ｓ２９１２）。具体的には、例えば、仮想サーバが、リード元ＦＭデバイスを指定したＰＤＥＶリードコマンドを発行する。そのＰＤＥＶリードコマンドが、ネットワークスイッチ２３を介して、リード元ＦＭデバイス２４ａにより受信される。リード元ＦＭデバイス２４ａが、そのＰＤＥＶリードコマンドに従うデータを読み出しそのデータを仮想サーバに返す。
【０２０７】
Ｓ２９０２の判定の結果が偽の場合（Ｓ２９０２：ＮＯ）、仮想サーバ（例えばキャッシュ管理プログラム５７）が、リードコマンドをその仮想サーバを実行するサーバブレード外に出す。
【０２０８】
そのリードコマンドがＰＤＥＶリードコマンドの場合（Ｓ２９０３：ＮＯ）ネットワークスイッチ２３を介して、そのＰＤＥＶリードコマンドが、ＰＤＥＶとしてのＩ／Ｏモジュール２４、又は、Ｉ／Ｏモジュール２４に接続されているＰＤＥＶに送信され、そのＰＤＥＶから、そのＰＤＥＶリードコマンドに従うデータが、ＰＤＥＶリードコマンドの送信元仮想サーバに送られる（Ｓ２９０６）。
【０２０９】
リードコマンドがストレージリードコマンドの場合（Ｓ２９０３：ＹＥＳ）、ネットワークスイッチ２３を介して、そのストレージリードコマンドが、そのストレージリードコマンドで指定されたＶＯＬを提供した仮想ＣＴＬを実行するストレージブレードに送信され、そのストレージブレードにより、そのストレージリードコマンドが受信される（Ｓ２９０４）。仮想ＣＬＴ（例えばＩ／Ｏ制御プログラム５４）が、受信したストレージリードコマンドに従うリード対象データの格納先を判定する（Ｓ２９０７）。
【０２１０】
リード対象データがキャッシュ２２に存在する場合（Ｓ２９０８：ＹＥＳ）、仮想ＣＴＬは、キャッシュ２２からリード対象データを読み出す。
【０２１１】
リード対象データが仮想ＣＴＬのＲ／Ｗキャッシュ（ＦＭデバイス領域）に存在する場合（Ｓ２９０９：ＮＯ、Ｓ２９０９：ＹＥＳ）、仮想ＣＴＬは、Ｒ／Ｗキャッシュ（ＦＭデバイス領域）からリード対象データを読み出す（Ｓ２９１４）。具体的には、例えば、仮想ＣＴＬが、その仮想ＣＴＬのＲ／Ｗキャッシュを有するリード元ＦＭデバイスを指定したＰＤＥＶリードコマンドを発行する。そのＰＤＥＶリードコマンドが、ネットワークスイッチ２３を介して、リード元ＦＭデバイス２４ａにより受信される。リード元ＦＭデバイス２４ａが、そのＰＤＥＶリードコマンドに従うデータを読み出しそのデータを仮想ＣＴＬに返す。
【０２１２】
リード対象データがキャッシュ２２にもＲ／Ｗキャッシュ（ＦＭデバイス領域）にも無い場合（Ｓ２９０９：ＮＯ）、仮想ＣＴＬは、ストレージリードで指定されたＶＯＬにおけるリード元領域の基になっているＰＤＥＶ（以下、リード元ＰＤＥＶ）からリード対象データを読み出し、そのリード対象データをキャッシュ２２（又はＲ／Ｗキャッシュ（ＦＭデバイス領域））に書き込む。リード元ＰＤＥＶは、例えば、Ｉ／Ｏモジュール２４、又は、Ｉ／Ｏモジュール２４に接続されているＰＤＥＶである。すなわち、Ｓ２９１０において、仮想ＣＴＬは、リード元ＰＤＥＶを指定したＰＤＥＶリードコマンドを発行する。そのＰＤＥＶリードコマンドが、ネットワークスイッチ２３を介して、リード元ＰＤＥＶにより受信され、そのＰＤＥＶリードコマンドに従うデータがリード元ＰＤＥＶから仮想ＣＴＬに送られる。仮想ＣＴＬは、キャッシュ２２（又はＲ／Ｗキャッシュ）に格納したリード対象データを、ストレージリードコマンドの送信元の仮想サーバに返す（Ｓ２９１１）。
【０２１３】
仮想サーバは、Ｓ２９１１、Ｓ２９１２又はＳ２９０６により受けたリード対象データを、その仮想サーバに割り当てられたリードキャッシュ（ＦＭデバイス領域）に書き込んでよい。その書き込みの際には、リードキャッシュを有するＦＭデバイスに対してライトコマンドが送信される。
【０２１４】
図２９に示すリード処理において、リード対象データがキャッシュ２２とＦＭデバイス２４ａの両方に格納されている場合、仮想ＣＴＬは、上記のように、キャッシュ２２からリード対象データを読み出す。ＦＭデバイス２４ａよりもキャッシュ２２からの方がリード対象データの読み出しを高速に行うことができる。
【０２１５】
図３０Ａ及び図３０Ｂは、ファブリックデータ転送制御処理（図２９のＳ２９０５）のフローチャートである。この処理は、仮えば、ファブリック制御プログラム５２が実行されることにより行われる。図３０Ａ及び図３０Ｂの説明において、リード処理中の仮想ＣＴＬを「対象仮想ＣＴＬ」と言い、対象仮想ＣＴＬを実行するブレードを「対象ブレード」と言う。
【０２１６】
Ｓ３００１で、ファブリック制御プログラム５２は、対象仮想ＣＴＬ又は対象ブレード）が通信するデータ量が帯域の閾値を超過したか否かを判定する。具体的には、例えば、対象仮想ＣＴＬが実行するリソース監視プログラム５５が、対象仮想ＣＴＬが通信するデータの量を監視し、そのデータ量が第１の閾値を超えたときにアラートを出すようになっている。或いは、例えば、対象仮想ＣＴＬではないが対象ブレードで実行されるリソース監視プログラム５５が、対象ブレードが通信するデータの量を監視し、そのデータ量が第２の閾値を超えたときにアラートを出すようになっている。ファブリック制御プログラム５２は、そのようなアラートが出たか否かを判定する。Ｓ３００１の判定の結果が真の場合（Ｓ３００１：ＹＥＳ）、Ｓ３００２が行われる。Ｓ３００１の判定の結果が偽の場合（Ｓ３００２：ＮＯ）、ファブリック制御プログラム５２は、ファブリックデータ転送制御処理を終了してもよいし、一定時間後にＳ３００１の判定を再度行ってよい。Ｓ３００１を所定回数行っても上記のようなアラートが無い場合、ファブリック制御プログラム５２は、ファブリックデータ転送制御処理を終了してもよい。
【０２１７】
Ｓ３００２で、ファブリック制御プログラム５２は、ストレージリードコマンドの送信元及び送信先のそれぞれの情報を取得する。ストレージリードコマンドの送信元の情報とは、例えば、仮想サーバの識別子でよい。ストレージリードコマンドの送信先の情報とは、例えば、ストレージリードコマンドに従うＰＤＥＶリードコマンドの送信先となるＩ／Ｏモジュールの識別子でよい。
【０２１８】
Ｓ３００３で、ファブリック制御プログラム５２は、キャッシュ２２から、ブレード帯域管理テーブル６３、Ｉ／Ｏモジュール帯域管理テーブル６６、バックボーン帯域管理テーブル６９、及び、キャッシュ帯域管理テーブル７３を読み出す。
【０２１９】
Ｓ３００４で、ファブリック制御プログラム５２は、プロファイルテーブル８３を取得し、キャッシュ２２にそのテーブル８３を格納する。プロファイルテーブル８３は、システムリソース割当処理等において予め取得されキャッシュ２２に格納されてよい。或いは、プロファイル割当管理テーブル７６が、プロファイルテーブル８３が有する優先度８０７を含んでいてもよい。
【０２２０】
Ｓ３００５で、ファブリック制御プログラム５２は、ストレージリードコマンドに従う通信に使用されるパス（一体型システム２において設定されたパス）の帯域に十分な空きがあるか否かを判定する。以下、そのパスを、図３０Ａ及び図３０Ｂの説明において「対象パス」と言う。また、「十分な空き」とは、ストレージリードコマンドに従い通信されるデータの量に従う帯域以上の空きでよい。Ｓ３００５の判定の結果が真の場合（Ｓ３００５：ＹＥＳ）、ファブリック制御プログラム５２は、データ通信継続を決定し（Ｓ３００８）、処理を終了する。一方、Ｓ３００５の判定の結果が偽の場合（Ｓ３００５：ＮＯ）、Ｓ３００６が行われる。
【０２２１】
Ｓ３００６で、ファブリック制御プログラム５２は、対象パスを使用したキャッシュＩ／Ｏ処理が対象仮想ＣＴＬ又は対象ブレードに存在しているか否かを判定する。対象パスを使用したキャッシュＩ／Ｏ処理とは、対象パスを介してキャッシュ２２（又はキャッシュ領域としてのＦＭデバイス領域）にデータをＩ／Ｏする処理である。Ｓ３００６の判定の結果が偽の場合（Ｓ３００６：ＮＯ）、Ｓ３００９が行われ、Ｓ３００６の判定の結果が真の場合（Ｓ３００６：ＹＥＳ）、Ｓ３００７が行われる。
【０２２２】
Ｓ３００７で、ファブリック制御プログラム５２は、対象パスを使用したキャッシュＩ／Ｏ処理を帯域制御対象態外とすることで、対象パスの帯域使用状況を維持する。
【０２２３】
Ｓ３００９で、ファブリック制御プログラム５２は、対象仮想ＣＴＬ又は対象ブレードに、データのＩ／Ｏ以外のための通信処理（以下、非Ｉ／Ｏ処理）が存在するか否かを判定する。「非Ｉ／Ｏ通信処理」とは、仮想サーバからのＩ／Ｏコマンド（ライトコマンド又はリードコマンド）に応答して行われる処理に含まれない通信処理であり、例えばコピー処理（例えば、ＶＯＬ間コピー）のための通信処理でよい。非Ｉ／Ｏ通信処理における通信相手は、ブレード又はＩ／Ｏモジュールである。Ｓ３００９の判定の結果が真の場合（Ｓ３００９：ＹＥＳ）、Ｓ３０１０が行われ、Ｓ３００９の判定の結果が偽の場合（Ｓ３０１０：ＮＯ）、Ｓ３０１１が行われる。
【０２２４】
Ｓ３０１０で、ファブリック制御プログラム５２は、存在している非Ｉ／Ｏ通信処理に対し、帯域制限対象の優先度として最も高い優先度「１」を付与する。以下、帯域制限対象の優先度を「制限優先度」と言う。
【０２２５】
Ｓ３０１１で、ファブリック制御プログラム５２は、対象仮想ＣＴＬ又は対象ブレードに、デステージ処理が存在しているか否かを判定する。Ｓ３０１１の判定の結果が真の場合（Ｓ３０１１：ＹＥＳ）、Ｓ３０１２が行われ、Ｓ３０１１の判定の結果が偽の場合（Ｓ３０１１：ＮＯ）、Ｓ３０１３が行われる。
【０２２６】
Ｓ３０１２で、ファブリック制御プログラム５２は、存在しているデステージ処理に対し、制限優先度「２」を付与する。
【０２２７】
Ｓ３０１３で、ファブリック制御プログラム５２は、対象仮想ＣＴＬ又は対象ブレードに、データのＩ／Ｏのための通信処理（以下、Ｉ／Ｏ通信処理）が存在するか否かを判定する。「Ｉ／Ｏ通信処理」とは、仮想サーバからのＩ／Ｏコマンド（ライトコマンド又はリードコマンド）に応答して行われる処理に含まれる通信処理（但し、デステージ処理は除く）でよい。Ｓ３０１３の判定の結果が真の場合（Ｓ３０１３：ＹＥＳ）、Ｓ３０１４が行われ、Ｓ３０１３の判定の結果が偽の場合（Ｓ３０１３：ＮＯ）、Ｓ３０１６が行われる。
【０２２８】
Ｓ３０１４で、ファブリック制御プログラム５２は、存在しているＩ／Ｏ通信処理に対して、最も低い制限優先度「３」を付与する。
【０２２９】
Ｓ３０１５で、ファブリック制御プログラム５２は、Ｓ３００４で格納されたテーブル８３から、Ｉ／Ｏ通信処理に関わるプロファイル（アプリケーション）の優先度８０７を取得する。「Ｉ／Ｏ通信処理に関わるプロファイル（アプリケーション）」とは、例えば、そのＩ／Ｏ通信処理を行う仮想ＣＴＬと、そのＩ／Ｏ通信処理を行う原因となったライトコマンド又はリードコマンドを送信した仮想サーバとの両方が割り当てられているプロファイル（アプリケーション）でよい。
【０２３０】
Ｓ３０１６で、ファブリック制御プログラム５２は、制限優先度の高い通信処理ほど、帯域を絞る。これにより、非Ｉ／Ｏ通信処理のための通信帯域が最も大きく絞られ、デステージ処理のための通信帯域が２番目に大きく絞られ、Ｉ／Ｏ通信処理のための通信帯域の絞りが最も緩い。これにより、Ｉ／Ｏ通信処理をなるべく高速に行うことが期待できる。なお、制限優先度「３」が付与されたＩ／Ｏ通信処理については、取得された優先度８０７（アプリケーションの優先度８０７）が低いほど、帯域の絞りが大きくてよい。
【０２３１】
制限優先度が付与された通信処理のうちの何れかが終了した場合、Ｓ３０１７で、ファブリック制御プログラム５２は、絞られたいずれかの帯域を元の大きさの帯域に戻す。ここでは、制限優先度が低い通信処理ほど先に帯域が元に戻されてよい。制限優先度「３」のＩ／Ｏ通信処理については、アプリケーションの優先度８０７が高いＩ／Ｏ通信処理ほど先に帯域が元に戻されてよい。
【０２３２】
ファブリックデータ転送制御処理により、一体型システム２におけるパスでの帯域が好適に調整される。具体的には、キャッシュＩ／Ｏ処理に影響を与えず、且つ、Ｉ／Ｏ通信処理をなるべく高速に行うことが維持できるような帯域制御が行われる。
【０２３３】
なお、ファブリックデータ転送制御処理は、定期的に行われてもよいし、定期的に走るリソース監視プログラム５５からアラートが出る都度に開始されてもよい。
【０２３４】
図３１は、リソース割当変更処理のフローチャートである。
【０２３５】
Ｓ３１０１で、リソース管理プログラム８４は、一体型システム２のリソース使用量を監視する。具体的には、例えば、一体型システム２において、リソース監視プログラム５５が、リソース使用量を監視し、監視結果に従うレポートをリソース管理プログラム８４に定期的に送信してよい。レポートは、アプリケーション（プロファイル）毎に、測定された性能、書き込まれたデータ量、稼働した時間長、及び、測定された使用帯域を含んでよい。リソース管理プログラム８４は、受信したレポートをメモリ１２に蓄積してよい。リソース管理プログラム８４は、蓄積された１以上のレポートから、アプリケーション（プロファイル）毎のリソース使用状況（仮想マシンの性能の遷移等）を把握してよい。
【０２３６】
Ｓ３１０２で、リソース管理プログラム８４は、構成変更が必要か否かを判定する。例えば、リソース管理プログラム８４は、把握されたリソース使用状況とプロファイルテーブル８３とに基づき、プロファイルの性能８０４等に対してリソースが不足している又は過剰であることが一定期間内にＮ回以上（Ｎは１以上の整数）検出されたか否かを判定する。Ｓ３１０２の判定の結果が偽の場合（Ｓ３１０２：ＮＯ）、Ｓ３１０３が行われ、Ｓ３１０２の判定の結果が真の場合（Ｓ３１０２：ＹＥＳ）、Ｓ３１０１が行われる。
【０２３７】
Ｓ３１０３で、リソース管理プログラム８４がプロファイル管理プログラム８１を呼び出し、プロファイル管理プログラム８１が、メモリ２１２からプロファイルテーブル８３を読み込む。
【０２３８】
Ｓ３１０４で、プロファイル管理プログラム８１は、システム構成設定処理（図２２参照）を行う。なお、リソース割当変更処理におけるシステム構成設定処理では、例えば、プロファイル管理プログラム８１は、不足又は過剰のリソースに割り当てらたプロファイルが有する情報と、そのプロファイルに割り当てられていたリソース（仮想マシン、ブレード、Ｉ／Ｏモジュール等）を表す情報と、不足又は過剰のリソース（例えば、ＣＰＵコア、メモリ容量或いは帯域）の種類を表す情報とを表示してよい。それらの情報から、ユーザは、どのプロファイルをどのように更新すればよいか、或いはどのリソースを追加又は取り外しすれば良いか等を把握することができる。
【０２３９】
リソース割当変更処理により、一体型システム２の構成（プロファイルとリソースの関係等）を修正することができる。
【０２４０】
以上、一実施例を説明したが、本発明は、上記実施例に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【０２４１】
例えば、上記実施例では、ストレージリソース割当処理がサーバリソース割当処理よりも先に行われるので、複数のブレード２１のうちＣＰＵコア数が比較的多いブレード２１は優先的にストレージブレードとなる。しかし、サーバリソース割当処理がストレージリソース割当処理よりも先に行われ、故に、複数のブレード２１のうちＣＰＵコア数が比較的多いブレード２１は優先的にサーバブレードとなってもよい。
【０２４２】
また、例えば、管理計算機１が、前述した表示用計算機（例えば入出力コンソール）として機能し、一体型システム２内のデバイス（例えば、ブレード２１（例えばマスタブレード２１Ｍ））が、管理システム（例えば管理計算機）として機能してよい。具体的には、例えば、表示用計算機が、プロファイル入力インタフェース８２を実行し、一体型システム２内のデバイスが、プロファイル管理プログラム８１及びリソース管理プログラム８４を実行してもよい。プロファイルテーブル８３及びプロファイルテンプレート８６は、表示用計算機のメモリと一体型システムのメモリ（例えばキャッシュ２２）とのうちの少なくとも一方に記憶されてよい。
【０２４３】
また、一体型システム２において、少なくとも１つのブレード２１（以下、マスタブレード２１Ｍとする）が、管理計算機１からシステムリソース割当指示を受けること無しに、一体型システム２における論理構成を変更してよい。例えば、マスタブレード２１Ｍが、マスタブレード２１Ｍ（又は他ブレード２１）によるリソース監視結果から、論理構成の変更が必要か否かを判定してよい。「リソース監視結果」は、前述したレポートと同様、アプリケーション（プロファイル）毎に、測定された性能、書き込まれたデータ量、稼働した時間長、及び、測定された使用帯域を含んでよい。プロファイル割当管理テーブル７６が示す条件のうちのいずれかが満たされていないことがマスタブレード２１Ｍによりリソース監視結果から特定された場合、或いは、プロファイル割当管理テーブル７６が示す条件のうちのいずれかが過剰に満たされていることがマスタブレード２１Ｍによりリソース監視結果から特定された場合、判定の結果が真となってよい。判定の結果が真の場合、マスタブレード２１Ｍは、テーブル６２、６５、６８、７２、７５、７６及び７７に基づき、プロファイル割当管理テーブル７６が示すいずれの条件もなるべく過不足無く満たされるよう、一体型システム２における論理構成を変更する。例えば、マスタブレード２１Ｍは、第１の仮想サーバの性能が第１の仮想サーバの割当先のプロファイルにおける性能８０４を満たしておらず、且つ、第１の仮想ＣＴＬの性能が第１の仮想ＣＴＬの割当先のプロファイルにおける性能８０４を過剰に満たしている場合、第１の仮想ＣＴＬを実行するブレード上の１以上のＣＰＵコアの割当先を、第１の仮想ＣＴＬから第１の仮想サーバに変更してよい。このように、マスタブレード２１Ｍ（或いは他のブレード２１）は、リソース監視結果を基に、仮想サーバに割り当てられた物理リソース部分の過不足と、仮想ストレージに割り当てられた物理リソース部分の過不足とをバランスしてよい。すなわち、マスタブレード２１Ｍ（或いは他のブレード２１）は、仮想サーバに割り当てられた物理リソース部分のうちの余剰分の割当先を、仮想サーバから仮想ストレージに変更し（つまりその余剰分を仮想ストレージのリソース不足分に充当し）、或いは、仮想ストレージに割り当てられた物理リソース部分のうちの余剰分の割当先を、仮想ストレージから仮想サーバに変更してよい（つまりその余剰分を仮想サーバのリソース不足分に充当してよい）。このような柔軟なリソース割当てが可能な１つの理由は、一体型システム２の物理的な構成、例えば、各ブレード２１及び各Ｉ／Ｏモジュール２４が、仮想サーバと仮想ストレージのどちらにも割り当てられ得る物理リソース部分であること、ブレード２１間通信もブレード２１とＩ／Ｏモジュール２４間通信もネットワークスイッチ２３を介して同一のインタフェース（例えばＰＣＩｅ）で行われることである。
【０２４４】
また、一体型システム２では、仮想ストレージ同士がＩ／Ｏモジュール２４経由又は非経由で互いに通信することができる。これにより、例えば、一体型システム２において、第１の仮想ストレージのＶＯＬから第２の仮想ストレージのＶＯＬにデータがコピーされてよい。また、例えば、一体型システムにおいて、第２の仮想ストレージのＶＯＬが第１の仮想ストレージのＥＶＯＬ（外部接続ＶＯＬ）に割り当てられ、第１の仮想ストレージがＥＶＯＬを仮想サーバに提供し、仮想サーバからＥＶＯＬに書き込まれるデータが、第１の仮想ストレージから第２の仮想ストレージのＶＯＬに書き込まれてよい。
【０２４５】
また、プロファイルテーブル８３及びプロファイル管理テーブル７６に代えてそれらがマージされたテーブルがあってよい。つまり、１つのテーブルに、アプリケーション（プロファイル）毎に、情報８０１〜８０６と、情報９０３〜９０６が含まれてよい。この場合、その１つのテーブルにおける１つのレコード（行）が、１つのアプリケーション（プロファイル）に対応してよい。
【符号の説明】
【０２４６】
１：管理計算機、２：一体型システム、２１：ブレード、２４：Ｉ／Ｏモジュール
【図１Ａ】
0005916958.tif 000002
【図１Ｂ】
0005916958.tif 000003
【図２】
0005916958.tif 000004
【図３】
0005916958.tif 000005
【図４】
0005916958.tif 000006
【図５】
0005916958.tif 000007
【図６】
0005916958.tif 000008
【図７】
0005916958.tif 000009
【図８】
0005916958.tif 000010
【図９】
0005916958.tif 000011
【図１０】
0005916958.tif 000012
【図１１】
0005916958.tif 000013
【図１２】
0005916958.tif 000014
【図１３】
0005916958.tif 000015
【図１４】
0005916958.tif 000016
【図１５】
0005916958.tif 000017
【図１６】
0005916958.tif 000018
【図１７】
0005916958.tif 000019
【図１８】
0005916958.tif 000020
【図１９】
0005916958.tif 000021
【図２０】
0005916958.tif 000022
【図２１】
0005916958.tif 000023
【図２２】
0005916958.tif 000024
【図２３Ａ】
0005916958.tif 000025
【図２３Ｂ】
0005916958.tif 000026
【図２４Ａ】
0005916958.tif 000027
【図２４Ｂ】
0005916958.tif 000028
【図２５Ａ】
0005916958.tif 000029
【図２５Ｂ】
0005916958.tif 000030
【図２５Ｃ】
0005916958.tif 000031
【図２６】
0005916958.tif 000032
【図２７】
0005916958.tif 000033
【図２８】
0005916958.tif 000034
【図２９】
0005916958.tif 000035
【図３０Ａ】
0005916958.tif 000036
【図３０Ｂ】
0005916958.tif 000037
【図３１】
0005916958.tif 000038