ネットワークを介してストレージサブシステムに接続された管理サーバのセレクタによって、前記ストレージサブシステムによって受信される記憶操作を処理するための前記ストレージサブシステムにおいて、複数のインタフェースから1つのインタフェースを選択する方法であって、前記複数のインタフェースは、キュー記憶操作のためのキューインタフェース及びバッチ記憶操作のためのバッチインタフェースを含み、各インタフェースは、前記ストレージサブシステムにおける複数のプロセッサのうちの対応するプロセッサに対応付けられ、前記管理サーバは、複数のプロバイダを有し、各プロバイダは、前記対応するインタフェースを介して前記複数のプロセッサのうちの1つのプロセッサ上で記憶操作を実行するように構成されるものであり、前記プロバイダの各々の状態に関する情報を収集することと、各プロバイダの前記状態に基づいて、各プロバイダのためのいくつかの操作ユニットの関数として操作時間の操作特性を決定することと、前記複数のプロバイダの前記操作特性を比較することと、処理されるべき前記受信された記憶操作における所定数の操作ユニットについて、前記所定数の操作ユニットのための操作時間が最小である1つのプロバイダを前記複数のプロバイダから選択することと、前記対応するプロセッサ上の特定されたインタフェースを介して前記受信された記憶操作を実行するために使用される前記選択されたプロバイダに基づいて、前記インタフェースを特定することとを含む、方法。前記プロバイダは、前記キューインタフェースを介して前記複数のプロセッサのうちのストレージプロセッサ上で記憶操作を実行するように構成されたキュープロバイダを含み、そして前記キュープロバイダが選択された場合、前記キュープロバイダは、前記ストレージプロセッサ上の前記キューインタフェースを介して、前記受信された記憶操作を連続して実行する、請求項1に記載の方法。前記プロバイダは、前記バッチインタフェースを介して前記複数のプロセッサのうちのサービスプロセッサ上で記憶操作を実行するように構成されたバッチプロバイダを含み、そして前記バッチプロバイダが選択された場合、前記バッチプロバイダは、前記サービスプロセッサ上の前記バッチインタフェースを介して、前記受信された記憶操作をバッチで実行する、請求項1に記載の方法。前記プロバイダは、前記キューインタフェースを介して前記複数のプロセッサのうちのストレージプロセッサ上で記憶操作を実行するように構成されたキュープロバイダを含み、前記キュープロバイダの状態は、ゼロキューモードと最大キューモードの間の記憶操作のためのキューのサイズに依存し、及び前記操作時間は、前記キューのサイズとともに増え、かつ前記最大キューモードは最大操作時間を要し、前記ゼロキューモードは最小操作時間を要する、請求項1に記載の方法。前記プロバイダは、前記バッチインタフェースを介して前記複数のプロセッサのうちのサービスプロセッサ上で記憶操作を実行するように構成されたバッチプロバイダを含み、前記バッチプロバイダの状態は、前記サービスプロセッサがノーマルモード、リフレッシュモード、又は更新モードで稼働するか否かに依存し、前記リフレッシュモードは、前記ストレージサブシステムのメモリに格納された構成を前記サービスプロバイダにアップロードし、かつ前記受信された記憶操作に基づいて前記構成を修正した後で前記構成を前記サービスプロバイダから前記メモリにダウンロードするために、前記ノーマルモードよりも多くの操作時間を要し、及び前記更新モードは、前記ストレージサブシステムの前記メモリに格納された構成を前記サービスプロバイダにアップロードする必要なしに前記構成を修正した後で、前記構成を前記サービスプロバイダから前記メモリにダウンロードするために、前記ノーマルモードよりも少ない操作時間を要する、請求項1に記載の方法。前記構成の修正は、論理ユニット番号の付与、論理ユニット番号の付与取消、ボリュームの作成、及びボリュームの削除のうちの1つ以上を含む、請求項5に記載の方法。前記操作ユニットは、論理ユニット番号である、請求項1に記載の方法。ストレージサブシステムと、管理サーバを備えたネットワークを介して接続された1つ以上のホストコンピュータとを含む情報システムにおける管理サーバであって、前記ストレージサブシステムは複数のインタフェースを有し、当該複数のインタフェースは、キュー記憶操作のためのキューインタフェース及びバッチ記憶操作のためのバッチインタフェースを含み、各インタフェースは、前記ストレージサブシステムによって受信される記憶操作を処理するために前記ストレージサブシステムにおける複数のプロセッサのうちの対応するプロセッサに対応付けられる、管理サーバであり、各プロバイダが前記対応するインタフェースを介して前記複数のプロセッサのうちの1つのプロセッサ上で記憶操作を実行するように構成される、複数のプロバイダと、セレクタとを備え、当該セレクタは、前記プロバイダの各々の状態に関する情報を収集し、各プロバイダの前記状態に基づいて、各プロバイダのためのいくつかの操作ユニットの関数として操作時間の操作特性を決定し、前記複数のプロバイダの前記操作特性を比較し、処理されるべき前記受信された記憶操作における所定数の操作ユニットについて、前記所定数の操作ユニットのための操作時間が最小である1つのプロバイダを前記複数のプロバイダから選択し、及び前記対応するプロセッサ上の特定されたインタフェースを介して前記受信された記憶操作を実行するために使用される前記選択されたプロバイダに基づいて、前記インタフェースを特定するように構成されている、管理サーバ。前記プロバイダは、前記キューインタフェースを介して前記複数のプロセッサのうちのストレージプロセッサ上で記憶操作を実行するように構成されたキュープロバイダを含み、そして前記キュープロバイダが選択された場合、前記キュープロバイダは、前記ストレージプロセッサ上の前記キューインタフェースを介して、前記受信された記憶操作を連続して実行する、請求項8に記載の管理サーバ。前記プロバイダは、前記バッチインタフェースを介して前記複数のプロセッサのうちのサービスプロセッサ上で記憶操作を実行するように構成されたバッチプロバイダを含み、そして前記バッチプロバイダが選択された場合、前記バッチプロバイダは、前記サービスプロセッサ上の前記バッチインタフェースを介して、前記受信された記憶操作をバッチで実行する、請求項8に記載の管理サーバ。前記プロバイダは、前記キューインタフェースを介して前記複数のプロセッサのうちのストレージプロセッサ上で記憶操作を実行するように構成されたキュープロバイダを含み、前記キュープロバイダの状態は、ゼロキューモードと最大キューモードの間の記憶操作のためのキューのサイズに依存し、及び前記操作時間は、前記キューのサイズとともに増え、かつ前記最大キューモードは最大操作時間を要し、前記ゼロキューモードは最小操作時間を要する、請求項8に記載の管理サーバ。前記プロバイダは、前記バッチインタフェースを介して前記複数のプロセッサのうちのサービスプロセッサ上で記憶操作を実行するように構成されたバッチプロバイダを含み、前記バッチプロバイダの状態は、前記サービスプロセッサがノーマルモード、リフレッシュモード、又は更新モードで稼働するか否かに依存し、前記リフレッシュモードは、前記ストレージサブシステムのメモリに格納された構成を前記サービスプロバイダにアップロードし、かつ前記受信された記憶操作に基づいて前記構成を修正した後で前記構成を前記サービスプロバイダから前記メモリにダウンロードするために、前記ノーマルモードよりも多くの操作時間を要し、及び前記更新モードは、前記ストレージサブシステムの前記メモリに格納された構成を前記サービスプロバイダにアップロードする必要なしに前記構成を修正した後で、前記構成を前記サービスプロバイダから前記メモリにダウンロードするために、前記ノーマルモードよりも少ない操作時間を要する、請求項8に記載の管理サーバ。前記構成の修正は、論理ユニット番号の付与、論理ユニット番号の付与取消、ボリュームの作成、及びボリュームの削除のうちの1つ以上を含む、請求項12に記載の管理サーバ。前記操作ユニットは、論理ユニット番号である、請求項8に記載の管理サーバ。ストレージサブシステムによって受信される記憶操作を処理するためのストレージサブシステムにおいて複数のインタフェースから1つのインタフェースを選択するために、管理サーバのデータプロセッサを制御するための複数の命令を記憶するコンピュータ読取可能記憶媒体であって、前記ストレージサブシステムはネットワークを介して前記管理サーバに接続され、前記複数のインタフェースは、キュー記憶操作のためのキューインタフェース及びバッチ記憶操作のためのバッチインタフェースを含み、各インタフェースは、前記ストレージサブシステムによって受信される記憶操作を処理するために前記ストレージサブシステムにおける複数のプロセッサのうちの対応するプロセッサに対応付けられ、前記管理サーバは、複数のプロバイダを有し、各プロバイダは、前記対応するインタフェースを介して前記複数のプロセッサのうちの1つのプロセッサ上で記憶操作を実行するように構成される、コンピュータ読取可能記憶媒体であり、前記複数の命令は、前記データプロセッサに、前記プロバイダの各々の状態に関する情報を収集させる命令と、前記データプロセッサに、各プロバイダの前記状態に基づいて、各プロバイダのためのいくつかの操作ユニットの関数として操作時間の操作特性を決定させる命令と、前記データプロセッサに、前記複数のプロバイダの前記操作特性を比較させる命令と、前記データプロセッサに、処理されるべき前記受信された記憶操作における所定数の操作ユニットについて、前記所定数の操作ユニットのための操作時間が最小である1つのプロバイダを前記複数のプロバイダから選択させる命令と、前記データプロセッサに、前記対応するプロセッサ上の特定されたインタフェースを介して前記受信された記憶操作を実行するために使用される前記選択されたプロバイダに基づいて、前記インタフェースを特定させる命令とを含む、コンピュータ読取可能記憶媒体。前記プロバイダは、前記キューインタフェースを介して前記複数のプロセッサのうちのストレージプロセッサ上で記憶操作を実行するように構成されたキュープロバイダを含み、そして前記キュープロバイダが選択された場合、前記複数の命令は、前記キュープロバイダに、前記ストレージプロセッサ上の前記キューインタフェースを介して、前記受信された記憶操作を連続して実行させる命令をさらに含む、請求項15に記載のコンピュータ可読ストレージ媒体。前記プロバイダは、前記バッチインタフェースを介して前記複数のプロセッサのうちのサービスプロセッサ上で記憶操作を実行するように構成されたバッチプロバイダを含み、そして前記バッチプロバイダが選択された場合、前記複数の命令は、前記バッチプロバイダに、前記サービスプロセッサ上の前記バッチインタフェースを介して、前記受信された記憶操作をバッチで実行させる命令をさらに含む、請求項15に記載のコンピュータ可読ストレージ媒体。前記プロバイダは、前記キューインタフェースを介して前記複数のプロセッサのうちのストレージプロセッサ上で記憶操作を実行するように構成されたキュープロバイダを含み、前記キュープロバイダの状態は、ゼロキューモードと最大キューモードの間の記憶操作のためのキューのサイズに依存し、及び前記操作時間は、前記キューのサイズとともに増え、かつ前記最大キューモードは最大操作時間を要し、前記ゼロキューモードは最小操作時間を要する、請求項15に記載のコンピュータ可読ストレージ媒体。前記プロバイダは、前記バッチインタフェースを介して前記複数のプロセッサのうちのサービスプロセッサ上で記憶操作を実行するように構成されたバッチプロバイダを含み、前記バッチプロバイダの状態は、前記サービスプロセッサがノーマルモード、リフレッシュモード、又は更新モードで稼働するか否かに依存し、前記リフレッシュモードは、前記ストレージサブシステムのメモリに格納された構成を前記サービスプロバイダにアップロードし、かつ前記受信された記憶操作に基づいて前記構成を修正した後で前記構成を前記サービスプロバイダから前記メモリにダウンロードするために、前記ノーマルモードよりも多くの操作時間を要し、及び前記更新モードは、前記ストレージサブシステムの前記メモリに格納された構成を前記サービスプロバイダにアップロードする必要なしに前記構成を修正した後で、前記構成を前記サービスプロバイダから前記メモリにダウンロードするために、前記ノーマルモードよりも少ない操作時間を要する、請求項15に記載のコンピュータ可読ストレージ媒体。前記構成の修正は、論理ユニット番号の付与、論理ユニット番号の付与取消、ボリュームの作成、及びボリュームの削除のうちの1つ以上を含む、請求項19に記載のコンピュータ可読ストレージ媒体。0005本発明の例示的な実施形態は、管理ソフトウェアにおいて、ファクトリと呼ばれるI/F選択モジュールを提供する。この選択モジュールは、ストレージ管理のための要求のキュー及びストレージサブシステム上のI/F実行の状態に基づいて効率的な実行可能I/Fを評価する。少なくとも2つの異なるI/Fがある場合は、このセレクタは、1つのI/Fを選択し、サブシステム状態を考慮してユーザ実行コマンドを実行することができる。従来技術では、両方の特性I/Fの使用、又はその行動すなわち、要求のキュー及びI/F実行の作業負荷などの状態に基づいた1つのI/Fの選択は開示されていない。0006本発明の一態様は、ネットワークを介してストレージサブシステムに接続された管理サーバのセレクタによって、前記ストレージサブシステムによって受信される記憶操作を処理するための前記ストレージサブシステムにおいて、複数のインタフェースから1つのインタフェースを選択する方法を対象とする。前記複数のインタフェースは、キュー記憶操作のためのキューインタフェース及びバッチ記憶操作のためのバッチインタフェースを含み、各インタフェースは、前記ストレージサブシステムにおける複数のプロセッサのうちの対応するプロセッサに対応付けられる。前記管理サーバは、複数のプロバイダを有し、各プロバイダは、前記対応するインタフェースを介して前記複数のプロセッサのうちの1つのプロセッサ上で記憶操作を実行するように構成される。前記方法は、前記プロバイダの各々の状態に関する情報を収集することと、各プロバイダの前記状態に基づいて、各プロバイダのためのいくつかの操作ユニットの関数として操作時間の操作特性を決定することと、前記複数のプロバイダの前記操作特性を比較することと、処理されるべき前記受信された記憶操作における所定数の操作ユニットについて、前記所定数の操作ユニットのための操作時間が最小である1つのプロバイダを前記複数のプロバイダから選択することと、前記対応するプロセッサ上の特定されたインタフェースを介して前記受信された記憶操作を実行するために使用される前記選択されたプロバイダに基づいて、前記インタフェースを特定することとを含む。0007いくつかの実施態様では、前記プロバイダは、前記キューインタフェースを介して前記複数のプロセッサのうちのストレージプロセッサ上で記憶操作を実行するように構成されたキュープロバイダを含み、そして前記キュープロバイダが選択された場合、前記キュープロバイダは、前記ストレージプロセッサ上の前記キューインタフェースを介して、前記受信された記憶操作を連続して実行する。前記プロバイダは、前記バッチインタフェースを介して前記複数のプロセッサのうちのサービスプロセッサ上で記憶操作を実行するように構成されたバッチプロバイダを含み、そして前記バッチプロバイダが選択された場合、前記バッチプロバイダは、前記サービスプロセッサ上の前記バッチインタフェースを介して、前記受信された記憶操作をバッチで実行する。0008特定の実施形態では、前記プロバイダは、前記キューインタフェースを介して前記複数のプロセッサのうちのストレージプロセッサ上で記憶操作を実行するように構成されたキュープロバイダを含み、前記キュープロバイダの状態は、ゼロキューモードと最大キューモードの間の記憶操作のためのキューのサイズに依存し、及び前記操作時間は、前記キューのサイズとともに増え、かつ前記最大キューモードは最大操作時間を要し、前記ゼロキューモードは最小操作時間を要する。前記プロバイダは、前記バッチインタフェースを介して前記複数のプロセッサのうちのサービスプロセッサ上で記憶操作を実行するように構成されたバッチプロバイダを含み、前記バッチプロバイダの状態は、前記サービスプロセッサがノーマルモード、リフレッシュモード、又は更新モードで稼働するか否かに依存し、前記リフレッシュモードは、前記ストレージサブシステムのメモリに格納された構成を前記サービスプロバイダにアップロードし、かつ前記受信された記憶操作に基づいて前記構成を修正した後で前記構成を前記サービスプロバイダから前記メモリにダウンロードするために、前記ノーマルモードよりも多くの操作時間を要し、及び前記更新モードは、前記ストレージサブシステムの前記メモリに格納された構成を前記サービスプロバイダにアップロードする必要なしに前記構成を修正した後で、前記構成を前記サービスプロバイダから前記メモリにダウンロードするために、前記ノーマルモードよりも少ない操作時間を要する。前記構成の修正は、論理ユニット番号の付与、論理ユニット番号の付与取消、ボリュームの作成、及びボリュームの削除のうちの1つ以上を含む。前記操作ユニットは、論理ユニット番号である。0009本発明の別の態様は、ストレージサブシステムと、管理サーバを備えたネットワークを介して接続された1つ以上のホストコンピュータとを含む情報システムにおける管理サーバを対象とする。前記ストレージサブシステムは複数のインタフェースを有し、当該複数のインタフェースは、キュー記憶操作のためのキューインタフェース及びバッチ記憶操作のためのバッチインタフェースを含み、各インタフェースは、前記ストレージサブシステムによって受信される記憶操作を処理するために前記ストレージサブシステムにおける複数のプロセッサのうちの対応するプロセッサに対応付けられる。管理サーバは、各プロバイダが前記対応するインタフェースを介して前記複数のプロセッサのうちの1つのプロセッサ上で記憶操作を実行するように構成される、複数のプロバイダと、セレクタとを備え、当該セレクタは、前記プロバイダの各々の状態に関する情報を収集し、各プロバイダの前記状態に基づいて、各プロバイダのためのいくつかの操作ユニットの関数として操作時間の操作特性を決定し、前記複数のプロバイダの前記操作特性を比較し、処理されるべき前記受信された記憶操作における所定数の操作ユニットについて、前記所定数の操作ユニットのための操作時間が最小である1つのプロバイダを前記複数のプロバイダから選択し、及び前記対応するプロセッサ上の特定されたインタフェースを介して前記受信された記憶操作を実行するために使用される前記選択されたプロバイダに基づいて、前記インタフェースを特定するように構成されている。0010本発明の別の態様は、ストレージサブシステムによって受信される記憶操作を処理するためのストレージサブシステムにおいて複数のインタフェースから1つのインタフェースを選択するために、管理サーバのデータプロセッサを制御するための複数の命令を記憶するコンピュータ読取可能記憶媒体を対象とする。前記ストレージサブシステムはネットワークを介して前記管理サーバに接続される。前記複数のインタフェースは、キュー記憶操作のためのキューインタフェース及びバッチ記憶操作のためのバッチインタフェースを含み、各インタフェースは、前記ストレージサブシステムによって受信される記憶操作を処理するために前記ストレージサブシステムにおける複数のプロセッサのうちの対応するプロセッサに対応付けられる。前記管理サーバは、複数のプロバイダを有し、各プロバイダは、前記対応するインタフェースを介して前記複数のプロセッサのうちの1つのプロセッサ上で記憶操作を実行するように構成される。前記複数の命令は、前記データプロセッサに、前記プロバイダの各々の状態に関する情報を収集させる命令と、前記データプロセッサに、各プロバイダの前記状態に基づいて、各プロバイダのためのいくつかの操作ユニットの関数として操作時間の操作特性を決定させる命令と、前記データプロセッサに、前記複数のプロバイダの前記操作特性を比較させる命令と、前記データプロセッサに、処理されるべき前記受信された記憶操作における所定数の操作ユニットについて、前記所定数の操作ユニットのための操作時間が最小である1つのプロバイダを前記複数のプロバイダから選択させる命令と、前記データプロセッサに、前記対応するプロセッサ上の特定されたインタフェースを介して前記受信された記憶操作を実行するために使用される前記選択されたプロバイダに基づいて、前記インタフェースを特定させる命令とを含む。0011本発明の上記及びその他の特徴及び効果は、特定の実施形態についての以下の詳細な説明を考慮することにより、当業者にとって明らかとなるであろう。0027以下の本発明についての詳細な説明では、開示の一部を成すとともに、それによって本発明が実施され得る例示的実施形態が実例として但し限定ではない示される、添付の図面を参照する。当該図面において、類似の数字は、いくつかの図面を通してほぼ同様の構成要素を示すものである。また、留意すべき点として、詳細な説明では様々な例示的実施形態を提供する以下に説明し、かつ図面で示される通りが、本発明は本明細書において説明されかつ示される実施形態に限定されず、当業者が知っているであろう又は知るようになり得るその他の実施形態にも及び得る。本明細書における一実施形態、本実施形態、又は上述の実施形態の言及は、当該実施形態に関連して説明される特定の特性、構造又は特徴が、本発明の少なくとも一つの実施形態に含まれることを意味し、本明細書の様々な箇所において上記文言が使用されていても、必ずしもすべてが同一の実施形態を言及するものではない。さらに、以下の詳細な説明において、本発明を徹底して理解できるように、多くの具体的な詳細が記載されている。但し、本発明を実施するためにこれらの具体的な詳細すべてが必要なわけではないことは、当業者にとって明らかであろう。他の状況では、本発明を不必要に曖昧にしないように、周知の構造、材料、回路、プロセス及びインタフェースの詳細については説明しておらず、かつ/又はブロック図において図示している場合もある。0028さらに、以下の詳細な説明の一部は、コンピュータ内のオペレーションのアルゴリズム及び象徴的な態様に関して示されている。これらのアルゴリズム記述及び象徴的な態様は、データ処理分野の当業者がその新しいアイディアのエッセンスを最も効果的に他の当業者に伝えるために使用する手段である。アルゴリズムとは、望ましい最終状態又は結果へと導く一連の定義されたステップである。本発明において、実施されるステップは、具体的な結果を達成するための相当量の物理的操作を必要とする。通常は必ずしもそうではないが、当該数量は、格納、転送、組み合わせ、比較、その他の操作が可能な電気もしくは磁気信号又は命令の形態を取る。主に一般的な使用のために、上記の信号をビット、値、要素、記号、文字、用語、数字、命令等として言及することが時として便利であることが証明されている。但し、上記の及び類似の用語のすべてが、適切な物理数量に対応付けられるものであり、かつ当該数量に適用される単に便利なラベルであることを留意すべきである。別段の記載がない限り、以下の解説から明らかなように、当然のことながら説明全体を通して、処理、演算、計算、判断、表示等の用語を用いた解説は、コンピュータシステムのレジスタ及びメモリ内の物理的電子的数量として表わされるデータを、コンピュータシステムのメモリもしくはレジスタ又はその他の情報記憶、送信もしくは表示装置の中の物理的数量として同様に表わされるその他のデータに操作しかつ変換する、コンピュータシステム又はその他の情報処理装置の動作又はプロセスを含み得る。0029本発明は、本明細書における動作を実施する装置にも関する。この装置は、必要とされる目的のために特別に構築してもよく、又は一つ以上のコンピュータプログラムによって選択的に起動又は再構成された一つ以上の汎用コンピュータを含み得る。当該コンピュータプログラムは、光ディスク、磁気ディスク、読取専用記憶装置ROM、ランダムアクセスメモリRAM、ソリッドステート装置及びドライブ、又は電子情報の格納に適したその他の種類の媒体等但し、これらに限定されないのコンピュータ読取可能記憶媒体に格納され得る。本明細書において示されるアルゴリズム及び情報提示は、特定のコンピュータ又はその他の装置に本質的に関係しているわけではない。様々な汎用システムを、本明細書における教示に従ってプログラム及びモジュールと共に使用してもよく、又は望ましい方法ステップを実施するためにより特化した装置を構築することが都合がよいということが判明するかもしれない。さらに、本発明は、特定のプログラミング言語を参照して説明されてはいない。当然のことながら、本明細書に記載されている通りに本発明の教示を実施するために、様々なプログラミング言語を使用してもよい。プログラミング言語の命令は、一つ以上の処理装置、例えば中央処理装置CPU、プロセッサ、又はコントローラによって実行され得る。0030以下により詳細に示す本発明の例示的実施形態は、記憶操作のためのキュー及び作業付加によってインタフェースを選択するための装置、方法及びコンピュータプログラムを提供する。0031図1は、本発明の方法及び装置が適用され得る情報システムのハードウェア構成の一例を示す。このシステムは、管理サーバ110を含むパーソナルコンピュータPCと、少なくとも1つのホスト130と、ストレージサブシステム140とを有する。PCは、SANストレージエリアネットワークなどのネットワーク260を介してストレージサブシステム140に接続する。SANは、一般的にファイバチャネルネットワークであり、よって、ファイバチャネルスイッチ及びケーブルを含む。SANは、iSCSI及びイーサネット登録商標ネットワークなどのIPネットワークをファイバチャネルオーバーイーサネット登録商標として使用し得る。この場合、我々は、ネットワークスイッチとしてイーサネット登録商標ケーブル及びイーサネット登録商標スイッチを使用する。PC110、130、及びストレージサブシステム140は、LANローカルエリアネットワーク270によって接続される。LANは、本実施形態ではイーサネット登録商標ネットワークを使用し、これはイーサネット登録商標スイッチ及びケーブルを含む。0032各PC110、130は汎用コンピュータであり、CPU、メモリ、及びディスクを含む。これは、SAN260に接続するためにストレージ用のホストバスアダプタHBAを有する。HBAは、ワールドワイドネームWWNの形式の固有の識別子を有する。PCはまた、LAN270に接続するためのネットワークインタフェースカードNICを有する。NICは、MACアドレスを有する。0033ストレージサブシステム140は、ストレージプロセッサMP160、ディスク143、メモリ170、SAN260に接続するポート180、及びサービスプロセッサSVP150を有する。ポート、MP、ディスク、及びメモリは、内部バス142によって接続される。メモリは、本実施形態ではNVRAMである。ポート、メモリ、ディスク、MP、SVP、及び内部バスは、システムの信頼性のために冗長であることができる。MP160は、CPU、ローカルメモリ、及びNICを有する。このNICを使用して、MP160は、SVP150と通信することができる。SVP150は、内部LAN190及び外部LAN270のための2つのNIC、CPU、メモリ170、及びディスク143を有する。0034図2は、図1の構造に適用される本発明の論理構成の一例を示す。システムは、データセンター管理サーバ又は単に管理サーバ210、少なくとも1つの仮想マシン実行可能サーバ230、及びストレージサブシステム240を有する。管理サーバは、図1のPC110を使用し得る。これは、ポータルサーバ211、実行のための計画212、セレクタ213によって選択される仮想ボリュームV-VOL及びLUNなどのための操作キュー、及び各インタフェースI/Fのためのハードウェアプロバイダ214、215を有する。ポータルサーバは、仮想マシンの管理者が計画212を実行するためのグラフィカルユーザインタフェースGUIを示す。計画212は、ビジネスオブジェクトに基づいたいくつかの実行動作を有する。例えば、ユーザは、ホスト230上に仮想マシンを作成し得る。このような計画212は、一組の動作を有する。動作tは、ストレージ又はいくつかの他のモジュール実行のユニットである。動作の1つは、ストレージサブシステム240に対する記憶操作を実行する。1つ以上の記憶操作動作は、セレクタ213の各記憶操作キューのために待ち行列に入れられる。この例では、キューは、ストレージサブシステム240上のボリュームを作成又は削除する操作のためのキューVOLV-VOL、ボリュームをLUに付与又は付与取消する操作のためのキューLU論理ユニット、及びボリュームをコピーする操作のためのキューコピーである。待機記憶操作の特性に基づいて、キューセレクタ213は、実行I/Fプロバイダを選択する。選択方法の詳細は以下に説明する。各プロバイダ214、215は、1つの記憶操作I/Fの実行モジュールである。例えば、プロバイダ1は、SVPI/Fを使用してSVP150上で記憶操作を実行する。特性処理として、SVP150は、1回の実行で一組の記憶操作を実行することができる。プロバイダ2は、ストレージサブシステム240によって提供されるMPI/Fを通してストレージプロセッサ図2のMPとして示されている上で各記憶操作を実行する。プロバイダ1及びプロバイダ2は、SVPの状態又はMPの状態を見つけるための状態値を有する。プロバイダは、MP又はSVPの状態をそれぞれのI/Fを使用して問い合わせる。例えば、RMII/Fをプロバイダ1I/Fとして、及びRMLIBI/Fをプロバイダ2I/Fとして使用し得る。RMIAPI及びRMLIBI/Fは、当技術分野で周知である。0035記憶操作は、管理サーバ210から送信され、ストレージサブシステム240によって受信される。記憶操作は、SVP150のバッチ記憶操作151又はMP160のキュー記憶操作161によって受信することができる。キューは、記憶操作及び待ち操作の順序を管理する。実行時に、SVP150又はMP160は、メモリ170上の構成テーブル171を修正する。SVP150による修正は、バッチスタイルである。よって、SVP150は、管理サーバ210によって要求された一組の記憶操作を実行し、メモリ170からロック174を取得した後で、受信された操作をメモリ170の構造テーブル上の一組の操作として修正する。構造テーブル171は、ボリュームプール情報172、ボリューム対LUマッピングテーブル173、及び各テーブルのためのロック174を有する。構造テーブル171を変更するためには、構造テーブルをメモリ170からSVPのメモリに構成152としてアップロードすることが必要である。操作を設定した後で、SVP150は、構成152をメモリ170にダウンロードする。ストレージ管理サーバ210から送信された操作に基づいて、ストレージサブシステム240は、ボリュームを作成し、ホスト230から見えるようにするために論理ユニットをボリュームに付与し、又はボリュームから論理ユニットを付与取消してボリュームを削除することができる。論理ユニットは、ホスト230に向けたボリュームの表示である。識別子として、論理ユニットLUは、論理ユニット番号LUNを使用する。LUNは、いくつかのポートに割り当てられる。本実施形態には、2つのタイプのポートがある。第1のタイプのポートは、ホスト未割り当てポート281であり、この場合いずれのホストもポート281上に割り当てボリュームを有していない。ボリュームがこのポート上にある場合は、それは、いずれのホストもボリュームを使用しておらず、ユーザがボリュームを候補として使用し得ることを意味する。第2のタイプのポートは、ホスト割り当てポート282であり、この場合はホスト230が既にポート上のボリュームを割り当てかつ使用している。0036上記のように、ストレージサブシステム240が実行し得る操作の1つは、ボリュームを作成することである。ボリュームの作成は、割当使用技術即ち、シンプロビジョニング技術を含み得る。よって、ストレージ290のプールは、作成のために使用され、RAIDredundantarrayofindependentdisks0、1、2、3、4、6によって保護される。ストレージ290のプールのプール情報は、構造テーブル171上に格納される。あるいは、作成は、ボリューム容量全体を割り当て得る。0037ストレージサブシステム240によって、ホスト230は、ポート282を介してLUNを有するボリュームを使用することができる。本実施形態は、仮想マシンがこのボリュームを使用することを想定する。よって、ホスト230は、ハイパーバイザ及び仮想マシンVMを有する。VMは、ハイパーバイザ上で実行可能である。0038図3aは、VMを作成する計画の一例を示す。図3bは、VMを記憶するための計画の一例を示す。図4は、VMを展開する計画の一例を示す。これらは、図2の管理サーバ210によって実行される計画212の例である。0039図3aで示されるVMを作成かつ展開するために、ユーザは、動作の入力として、ボリュームの番号のゴールデンイメージを指定する。ステップ301では、管理サーバ210は、ボリュームを作成するためにVOL作成動作を実行する。本実施形態では、ボリュームの作成は、図2で示されるプール172からの書き込み操作で1ページにつき例えば42MBのページとしてストレージリソースを割り当てるためにシンプロビジョニングを必要とする。このページサイズは、単に一例にすぎない。他の数字も適用可能である。あるいは、それは、作成時にボリュームリソース全体を割り当ててもよい。ステップ302では、管理サーバ210は、ボリュームを作成するために論理ユニット番号をアタッチするVOLへのLUNアタッチ動作を実行する。LUNは、いずれのホストによっても割り当てられていないポートに付与される。ステップ303では、管理サーバ210は、作成されたボリュームに特定されたゴールデンイメージボリュームのコピーを実行する。ゴールデンイメージボリュームは、VMイメージファイルを有する。これはファイルシステムによってフォーマットされ得る。0040VMを記憶する図3bでは、ステップ304において管理サーバ210は、仮想マシンを停止するためにハイパーバイザを開始するVM停止動作を実行する。ステップ305では、管理サーバ210は、指定されたボリュームからLUNを付与取消するためにVOL付与取消動作を実行する。LUNは、ホスト割り当てポート282上にあると想定される。ステップ306では、管理サーバ210は、指定されたボリュームにLUNをアタッチするためのLUNへのVOLアタッチ動作を実行する。LUNは、ホスト未割り当てポート281上にある。0041VMを展開する図4では、ステップ307において管理サーバ210は、ホスト未割り当てポート281上のLUNからVOLを付与取消するためのLUNからのVOL付与取消動作を実行する。ステップ308では、管理サーバ210は、ホスト割り当てポート282上のLUNにVOLをアタッチするためのLUNへのVOLアタッチ動作を実行する。ステップ309では、管理サーバ210は、LUN上のVMをランすることをハイパーバーザに要求するVMを展開するためのVM展開動作を実行する。0042図5は、実行済み計画のリストの詳細を提供する実行済み計画テーブルの例を示す。このテーブルは、ジョブID501、計画502、VMの数503、及びVMID504の欄を有する。例えば、ユーザは、ジョブID1でVM作成計画を実行する。ユーザは、VMの数を100と指定する。VMIDは、計画実行の後で戻される。別の例は、VMを記憶するジョブID3である。ユーザは、VMの数を3とし、ターゲットVMIDを1、4、6として、VMの記憶を実行する。0043図6は、各I/Fへの記憶操作のための図2のセレクタ213上のキューテーブルの一例を示す。この例は、LUNキューについてのものである。このテーブルは、キュー項目番号601、計画のジョブ番号602、記憶操作603、及び記憶操作のためのパラメタ604の欄を有する。キューは、先入れ先出し方式FIFOである。例えば、キュー601の項目1は、昇順の項目の逐次実行によって最初に実行される。バッチスタイルの実行では、セレクタ213は、一組のキュー項目を選択する。例えば、セレクタ213は、キュー上のキュー項目番号1~3を選択し、それらをすべて同時に実行する。同時に実行するキュー項目番号の数を指定し得る。0044図7は、図2のSVP150上のバッチ記憶操作151のためのバッチテーブルの一例である。バッチテーブルは、キュー項目番号701、記憶操作702、及び記憶操作のためのパラメタ703の欄を有する。管理サーバ210からのバッチ要求に基づいて、SVP150は、バッチで記憶操作を実行する。0045図8は、図2のMP160上のキュー記憶操作のための操作キューテーブルの一例を示す。操作キューテーブルは、キュー項目番号801、記憶操作802、及び記憶操作のためのパラメタ803の欄を有する。MP160上では、記憶操作のプロセスは、構造テーブル171上で直接変更される。従って、LUN操作は、管理サーバ210からの各I/O操作に従ってストレージサブシステム240で実行される。さらに、ストレージサブシステム240は、管理サーバ210を含むいくつかのアプリケーションから記憶操作を受信する。それらはこのキューの中にある。キューが一杯である場合は、ストレージサブシステム240は、プロセスの実行速度を下げる。MP160の状態を確認するために、現在のキュー長804及び最大キュー長805が提供される。現在のキュー長は、MPの処理速度によって定義され、最大キュー長は、MP160上のメモリサイズによって定義される。0046図9は、ストレージサブシステム240上の構造テーブル171の一例を示す。リストは、特にボリュームVOL対LUのマッピングを示す。構造テーブル171は、ボリューム番号901、ポート番号902、及びLUN903の欄を有する。ポート番号は、ワールドワイドネームWWNに対応付けられる。本実施形態では、ホスト割り当てポートは、ポート0であり、ホスト未割り当てポートは、ポート1である。他の番号を使用することができる。構造テーブル171は、MP160及びSVP150によって修正される。従って、構造テーブル171用のロックがある。ロックは、プロセッサスレッドによってポートフィールド及びLUフィールドに対応付けられた数個のVOL記録についてロックを行う範囲ロックでもよく、又は構造テーブル171を保護するための、構造テーブル全体のロックを行う全体ロックでもよい。本実施形態は、プールテーブル当技術分野では周知であるため、この詳細については記述しないの使用を含む。このVOL対LUのマッピングに基づいて、MP160は、ポート上のLUを介して適切なボリュームに対する読み取り/書き込み操作を処理する。このような操作のアクセスは、当技術分野では周知であるため、詳細な記述は行わない。0047図10は、MP160又はSVP150が構造テーブル171を修正する方法を示す流れ図の例を示す。MPの場合を最初に説明する。上術のように、MP160は、図8の最後のエントリに基づいてメモリ170の構造テーブル171を直接修正する。操作の前に、MP160は、メモリ170の操作キューテーブルの最後のエントリをロックし、次に値を修正する。図10のLUNを付与するaの場合、MP160は、構造テーブル上のターゲットボリュームのためのLUNを追加する。LUNを付与取消するbの場合、MP160は、構造テーブル上のターゲットボリュームのためのLUNを削除する。ボリュームを作成するcの場合、MP160は、テーブル上のLUN番号なしで新しいボリューム番号を作成する。ボリュームを削除するdの場合、MP160は、構造テーブル上のボリューム番号を削除する。SVPの場合、上術のように、SVP150は、ロックを行い、構造テーブル171の一部又は全てをロードし、これを修正し、そしてメモリ170にロードする。修正は、a~dの場合のMPの場合と同じようにして実行される。0048図11は、セレクタ213がプロバイダ214、215を選択する方法を示す流れ図の一例を示す。基本シーケンスは、セレクタ213が各プロバイダの状態を収集し、次にプロバイダを選択するということである。ステップ1101では、セレクタ213は、プロバイダの状態情報に関連して現在のシステム状態をチェックする。プロバイダの状態情報に基づいて、セレクタ213は、I/F1用の切片cを選択する。選択は、状態1201及び切片1202の欄を有する図12aの切片テーブルで示される。ノーマルの状態では、切片はC2である。内部負荷構造テーブル上でリフレッシュというメモリ170の構造テーブル171をSVP150の構成152としてアップロードしてから、操作を設定した後でダウンロードする、切片はc1になる。SVP150がSVP上の構成152を修正しているとき更新というメモリ170からアップロードする必要はないが、更新のためにメモリ170にダウンロードする必要のみある、切片はc3に下がる。ストレージ状態を取得するために、ストレージサブシステム240上のSVP150は、RMIなどのそのフォーマットを使って照会命令を提供し、次に状態の結果ノーマル、リフレッシュ、又は更新を戻す。選択は、APIの行動を使用し得る。例えば、SVP150は、記憶操作の実行の後で、警告をリフレッシングとして戻す。次に、セレクタ213は、切片をリフレッシュc1に変更する。あるいは、SVP150は、予想時間よりも速く結果を戻す。次に、セレクタ213は、切片を行動として更新c3に変更する。SVPの状態を見つける利点は、管理ソフトウェアが緊密な統合を必要としないことである。0049ステップ1102では、セレクタ213は、プロバイダの状態情報に関する現在のシステム状態をチェックする。プロバイダの状態情報に基づいて、セレクタ213は、I/F2用の傾きaを選択する。選択は、図12bの傾きテーブルに示されており、このテーブルは、キューの数1205及び傾き1206の欄を有する。MP1601205におけるキュー長の数に基づいて、MP160は、傾き1206を選択する。ストレージ状態を取得するために、ストレージサブシステム240上のSVP150は、自身のAPIを用いて照会命令を提供した後、キュー長についての状態の結果を戻す。キューは、MP160への照会なしに、プロバイダ215上に配置されてもよい。この場合、キュー長の管理は、ストレージサブシステムの管理と比べて正確ではない。他方、MPの条件を見つける利点は、緊密な統合を必要とせず、かつMP160のオーバーヘッドが低いことである。0050ステップ1103では、セレクタ213は、2つのインタフェースについて、LUNの数の関数xによって示されるとしての操作時間に基づき、LUNx1201として交点を計算する。図12cは、2つのインタフェース、すなわち、I/F1とI/F2の操作特性の交点のサンプル計算を図示するプロットである。この計算とは、LUNx1201=切片c1204/傾きb1203-傾きa1202である。切片cを有する傾きaは、SVPの操作である。LUの数がxより小さい場合は、IF/2が選択され、LUの数がxより大きい場合は、操作時間を減らすためにIF1が選択される。0051図12cは、I/F1用のノーマル傾きaとI/F2用の待機ゼロ傾きbすなわち空キューとの間の交点LUNxを示す。他の交点は、I/F1用のリフレッシュ傾き又は更新傾き及びI/F2用の待機最大傾きすなわちフルキューに基づいて決定することができる。図12cに示されるように、5つの他の交点が、それらの他のシナリオについて可能である。図12cでは、キュー記憶操作を含むI/F2キューインタフェース用のLUNの数がゼロであるときの操作時間はゼロであるが、構成152のアップロード及びダウンロードのオーバーヘッドにより、バッチ記憶操作を含むI/F1バッチインタフェース用のLUNの数がゼロであるときの操作時間はゼロではない。0052ステップ1104では、セレクタ213は、操作のための現在のキューを評価する。LUNの数が交点LUNxよりも多い場合は、セレクタ213は、ステップ1105に進む。そうでなければ、セレクタ213は、ステップ1106に進む。ステップ1105では、セレクタ213は、プロバイダ1の記憶操作をバッチプロセスとして実行することを要求する。ステップ1106では、セレクタ213は、プロバイダ2の記憶操作を逐次プロセスとして実行することを要求する。0053図11及び12に従って、セレクタ213は、プロバイダ214、215の各々の状態に関する情報を収集する。各プロバイダの状態に基づいて、各プロバイダのためのいくつかの操作ユニットの関数functionとして操作時間の操作特性を決定するこの例では操作ユニットはLUNである。プロバイダの操作特性を比較する。処理されるべき受信された記憶操作の所定数の操作ユニットについて、所定数の操作ユニットのための操作時間が最小である1つのプロバイダを複数のプロバイダから選択する。そして、対応するプロセッサ上の特定されたインタフェースを介して、受信された記憶操作を実行するために使用される選択されたプロバイダに基づいてインタフェースを特定する。プロバイダは、ストレージプロセッサMP160上で記憶操作を実行するように構成されたキュープロバイダ、及びサービスプロセッサSVP150上で記憶操作を実行するように構成されたバッチプロバイダを含む。キュープロバイダの状態は、ゼロキューモードと最大キューモードの間の記憶操作のためのキューのサイズに依存する。操作時間は、キューのサイズとともに増え、最大キューモードは最大操作時間を要し、ゼロキューモードは最小操作時間を要する。0054サブシステム状態情報は、ストレージサブシステム240に位置し、I/Fインタフェースを使用して情報を取得することが可能である。この利点は、管理ソフトウェアがシステムを正確に制御することができることである。図12の例では、2つのプロバイダがある。他の例では、特性が異なる場合は、2つよりも多いプロバイダが存在し得る。その場合、ステップ1101及び/又はステップ1102は、状態チェックを行うとともに、その定義又は特性に基づいて切片又は傾きを選択するように拡大される。さらに、図12cは、わかりやすくするために複数のプロットにおける直線を示している。I/F1とI/F2の間の交点の決定は、直線についてと曲線についてとでは概念的に同じである。0055当然のことながら、図1及び図2に示すシステム構成は、本発明が実施され得る情報システムの単なる例示であり、本発明は特定のハードウェア構成に限定されない。本発明を実施するコンピュータ及びストレージシステムは、上述の発明を実施するために用いられるモジュール、プログラム及びデータ構造を格納しかつ読み出すことができる公知のI/O装置例えば、CD及びDVDドライブ、フロッピー登録商標ディスクドライブ、ハードドライブ等も有し得る。これらのモジュール、プログラム及びデータ構造は、当該コンピュータ読取可能媒体上で符号化することができる。例えば、本発明のデータ構造は、本発明で使用されるプログラムが存在する一つ以上のコンピュータ読取可能媒体から独立したコンピュータ読取可能媒体に格納することができる。システムの構成要素は、あらゆる形態又は媒体のデジタルデータ通信例えば、通信ネットワークによって相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク、ワイドエリアネットワーク例えば、インターネット、無線ネットワーク、ストレージエリアネットワーク等を含む。0056説明では、本発明を徹底的に理解できるようにするために説明する目的で多くの詳細が記載されている。しかし、当業者にとっては、本発明を実施するためにはこれら具体的な詳細のすべてが必要なわけではないことは明らかであるだろう。また、留意すべき点として、本発明は、通常はフローチャート、流れ図、構成図又はブロック図として記載されるプロセスとして説明されてもよい。フローチャートでは動作を逐次プロセスとして説明し得るが、動作の多くは並行して又は同時に実行することができる。さらに、動作の順番は並び替えてもよい。0057当技術分野では周知であるように、上述の動作は、ハードウェア、ソフトウェア、又はソフトウェアとハードウェアの組み合わせによって実行することができる。本発明の実施形態の様々な態様は、回路や論理装置ハードウェアを用いて実施してよく、その一方で、その他の態様は、機械読み取り可能媒体ソフトウェア上に記憶された命令を用いて実施してもよく、これがプロセッサによって実行された場合には、本発明の実施形態を実行する方法をプロセッサに実施させるものである。さらに、本発明のいくつかの実施形態は、ハードウェアのみにおいて実施されてよく、その他の実施形態は、ソフトウェアのみで実施されてよい。さらに、説明された様々な機能は、一つのユニットで実施することができ、又はあらゆる方法によって多くの構成要素に分散することができる。ソフトウェアによって実施された場合、上記の方法は、コンピュータ読取可能媒体に記憶された命令に基づいて、汎用コンピュータなどのプロセッサによって実行され得る。望ましい場合には、圧縮及び/又は暗号化形式で命令を媒体に記憶することができる。0058上記により、本発明が、記憶操作のためのキュー及び作業負荷によってインタフェースを選択するための方法、装置及びコンピュータ読取可能媒体に記憶されたプログラムを提供するものであることが明らかであろう。さらに、本明細書において特定の実施形態が示され説明されているが、当業者にとって当然のことながら、開示された特定の実施形態の代わりに、同じ目的を達成するために創出されたいかなる構成を用いてもよい。本開示は、本発明のあらゆる適応又はバリエーションを対象とすることを意図したものであり、また以下の請求項で用いられる用語は、本発明を本明細書で開示されている特定の実施形態に限定するものとは解釈されるべきではないことが理解される。むしろ本発明の範囲は、以下の請求項によって全面的に判断されるものであり、以下の請求項は、当該請求項が権利を有する同等物の範囲全体と共に、請求項の解釈について確立された原則に従って解釈されるものである。