(57)【要約】【課題】  仮想化スイッチで、仮想ボリューム単位に通信品質を制御することにより、性能管理を行う。【解決手段】  サーバ装置にストレージ装置が提供する記憶領域を仮想化して提供する仮想化スイッチにおいて、仮想ボリュームをアクセスするパケットであって、通信品質の要求は異なるがIPヘッダが同じであるパケットを、ＴＣＰコネクションを識別して、出力側でも優先制御、帯域制御を行う。ここで、ＴＣＰコネクションは仮想化スイッチ側のTCP送信元ポートを管理することで識別する。【選択図】  図１
2005323245.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置から受信したパケットを１または複数のストレージ装置に中継するとともに、前記サーバ装置に前記ストレージ装置が有する１または複数の記憶領域を仮想化して提供する仮想化スイッチであって、
前記サーバ装置毎に、当該サーバ装置に提供する仮想化された記憶領域（以後、仮想ボリュームと呼ぶ）と、当該仮想ボリュームに割り当てられた、前記ストレージ装置が提供する前記記憶領域（以後、実ボリュームと呼ぶ）との対応関係を保持するボリューム管理テーブルと、
前記仮想ボリューム毎に、当該仮想ボリュームに割り当てられた前記サーバ装置が要求する通信品質を保証する処理（以後、通信品質処理と呼ぶ。）と、当該仮想ボリュームに割り当てられた前記実ボリュームにアクセスする前記パケットのフローを識別するフロー識別情報とを対応づけたフィルタリングテーブルと、
送信元の前記サーバ装置が要求する通信品質に従って、前記受信したパケットに対し、前記通信品質処理を行った後、前記ボリューム管理テーブルを用いて当該パケットの宛先を前記仮想ボリュームから実ボリュームに変更し、前記フィルタリングテーブルに従って、変更後のパケットに前記通信品質処理を行うパケット転送処理手段と、を備えること
を特徴とする仮想化スイッチ。
【請求項２】
請求項１記載の仮想化スイッチであって、
前記ボリューム管理テーブルは、前記仮想ボリューム毎に、当該仮想ボリュームに割り当てられた実ボリュームを提供するストレージ装置へアクセスする際のアクセス経路を指定する送信側ポート識別子と送信側コネクション識別子と、当該実ボリュームへのアクセスのための当該ストレージ装置のポートのポート識別子と、を備え、
前記フィルタリングテーブルにおける前記フロー識別情報は、前記送信側ポート識別子と、前記送信側コネクション識別子と、前記ストレージ装置のポート識別子と、送信側ポート識別子とを備えること
を特徴とする仮想化スイッチ。
【請求項３】
請求項２記載の仮想化スイッチであって、
前記サーバ装置およびストレージ装置との間のネットワークプロトコルはｉＳＣＳＩであり、
前記送信側ポート識別子と前記ストレージ装置のポート識別子とは、それぞれＩＰアドレスであり、
前記送信側コネクション識別子は、ＴＣＰポート番号であること
を特徴とする仮想化スイッチ。
【請求項４】
請求項１、２または３記載の仮想化スイッチであって、
前記送信元のサーバ装置毎に、要求する通信品質を保持する通信品質管理テーブルと、
前記通信品質管理テーブルと前記ボリューム管理テーブルとに保持されている情報を用いて前記フィルタリングテーブルを生成するフィルタリングテーブル生成部と、をさらに備えること
を特徴とする仮想化スイッチ。
【請求項５】
請求項１、２、３または４記載の仮想化スイッチであって、
前記通信品質は、前記仮想ボリュームに対して定義されている仮想ポートに複数の前記サーバ装置からアクセスがあった場合の処理優先度と、帯域または単位時間あたりのＩ/Ｏ（Input/Output）数と、であること
を特徴とするスイッチ。
【請求項６】
１または複数のサーバ装置と、１または複数のストレージ装置と、前記サーバ装置から送出されたパケットを前記ストレージ装置に中継するとともに前記サーバ装置に前記ストレージ装置が有する１または複数の記憶領域を仮想化して提供するスイッチとを備えるストレージシステムであって、
前記スイッチは、
前記サーバ装置毎に、当該サーバ装置に提供する仮想化された記憶領域（以後、仮想ボリュームと呼ぶ）と、当該仮想ボリュームに割り当てられた、前記ストレージ装置が提供する前記記憶領域（以後、実ボリュームと呼ぶ）との対応関係を保持するボリューム管理テーブルと、
前記仮想ボリューム毎に、当該仮想ボリュームに割り当てられた前記サーバ装置が要求する通信品質を保証する処理（以後、通信品質処理と呼ぶ。）と、当該仮想ボリュームに割り当てられた前記実ボリュームにアクセスする前記パケットのフローを識別するフロー識別情報とを対応づけたフィルタリングテーブルと、
送信元の前記サーバ装置が要求する通信品質に従って、前記受信したパケットに対し、前記通信品質処理を行った後、前記ボリューム管理テーブルを用いて当該パケットの宛先を前記仮想ボリュームから実ボリュームに変更し、前記フィルタリングテーブルに従って、変更後のパケットに前記通信品質処理を行うパケット転送処理手段と、を備えること
を特徴とするストレージシステム。
【請求項７】
請求項６記載のストレージシステムであって、
前記スイッチに接続された管理端末をさらに備え、
前記管理端末は、
管理者からの入力を受け付ける入力受付部と、
前記入力受付部を介して受け付けた管理者からの指示に従って、前記送信元のサーバ装置毎に、当該サーバ装置が要求する通信品質を保持する通信品質管理テーブルを生成する通信品質管理テーブル生成部と、
前記生成した通信品質管理テーブルを、前記スイッチに送出する送信部と、を備えること
を特徴とするストレージシステム。
【請求項８】
請求項７記載のストレージシステムであって、
前記サーバ装置から送出されたパケットを前記ストレージ装置に中継する第二のスイッチを１または複数備え、
前記管理端末は、
前記通信品質管理テーブルを用いて、フィルタリングテーブルを生成するフィルタリングテーブル生成部をさらに備え、
前記送信部は、生成した前記フィルタリングテーブルを、前記スイッチおよび前記第二のスイッチに送出すること
を特徴とするストレージシステム。
【請求項９】
サーバ装置から受信したパケットを１または複数のストレージ装置に中継するとともに、前記サーバ装置に前記ストレージ装置が有する１または複数の記憶領域を仮想化して提供するスイッチが備えるコンピュータを、
前記サーバ装置毎に、当該サーバ装置に提供する仮想化された記憶領域（以後、仮想ボリュームと呼ぶ）と、当該仮想ボリュームに割り当てられた前記ストレージ装置が提供する前記記憶領域（以後、実ボリュームと呼ぶ）との対応関係が格納されているボリューム管理テーブルを用いて、
前記仮想ボリューム毎に、当該仮想ボリュームに割り当てられた前記サーバ装置が要求する通信品質を保証する処理（以後、通信品質処理と呼ぶ。）と、当該仮想ボリュームに割り当てられた前記実ボリュームにアクセスする前記パケットのフローを識別するフロー識別情報とを対応づけたフィルタリングテーブルを生成するフィルタリングテーブル生成手段、
として機能させるためのプログラム。
【請求項１０】
サーバ装置から受信したパケットを１または複数のストレージ装置に中継するとともに、前記サーバ装置に前記ストレージ装置が有する１または複数の記憶領域を仮想化して提供するスイッチにおける、通信品質制御方法であって、
前記サーバ装置から受信した、当該サーバ装置に提供する仮想化された記憶領域（以後、仮想ボリュームと呼ぶ。）を宛先とするパケットに、当該サーバ装置が要求する通信品質を保証する処理を行い、
予め保持されている、前記仮想ボリュームと、当該仮想ボリュームに割り当てられた、前記ストレージ装置が提供する前記記憶領域（以後、実ボリュームと呼ぶ。）との対応を示す情報に従って、前記受信したパケットの宛先を前記仮想ボリュームから前記実ボリュームに変更し、
予め保持されている、前記仮想ボリュームに割り当てられた前記サーバ装置が要求する通信品質を保証する処理と、当該仮想ボリュームに割り当てられた前記実ボリュームにアクセスする前記パケットのフローを識別するフロー識別情報とを対応付けたフィルタリングテーブルに従って、前記変更後のパケットに前記処理を行うこと
を特徴とする通信品質制御方法。
【請求項１１】
サーバ装置から受信したパケットを１または複数のストレージ装置に中継するとともに、前記サーバ装置に前記ストレージ装置が有する１または複数の記憶領域を仮想化して提供するスイッチにおいて通信品質制御に用いるフィルタリングテーブル生成方法であって、
前記サーバ装置毎に、当該サーバ装置に提供する仮想化された記憶領域（以後、仮想ボリュームと呼ぶ）と、当該仮想ボリュームに割り当てられた前記ストレージ装置が提供する前記記憶領域（以後、実ボリュームと呼ぶ）との対応関係が格納されているボリューム管理テーブルを用いて、
前記仮想ボリューム毎に、当該仮想ボリュームに割り当てられた前記サーバ装置が要求する通信品質を保証する処理（以後、通信品質処理と呼ぶ。）と、当該仮想ボリュームに割り当てられた前記実ボリュームにアクセスする前記パケットのフローを識別するフロー識別情報とを対応づけたフィルタリングテーブルを生成するフィルタリングテーブル生成方法。
【請求項１２】
サーバ装置から受信したパケットを１または複数のストレージ装置に中継するとともに、前記サーバ装置に前記ストレージ装置が有する１または複数の記憶領域を仮想化して提供する仮想化スイッチであって、
前記サーバ装置毎に、当該サーバ装置に提供する仮想化された記憶領域（以後、仮想ボリュームと呼ぶ）と、当該仮想ボリュームに割り当てられた、前記ストレージ装置が提供する前記記憶領域（以後、実ボリュームと呼ぶ）との対応関係を保持するボリューム管理テーブルと、
前記仮想ボリュームに設定された通信品質を保証する処理（以後、通信品質処理と呼ぶ。）と、当該仮想ボリュームに割り当てられた前記実ボリュームにアクセスする前記パケットのフローを識別するフロー識別情報とを対応づけたフィルタリングテーブルと、
前記受信したパケットの宛先を、前記ボリューム管理テーブルを用いて前記仮想ボリュームから実ボリュームに変更した後、前記フィルタリングテーブルに従って、変更後のパケットに前記通信品質処理を行うパケット転送処理手段と、を備えること
を特徴とする仮想化スイッチ。
【請求項１３】
請求項１２記載の仮想化スイッチであって、
前記通信品質は、前記仮想ボリュームに対して定義されている仮想ポートに複数の前記サーバ装置からアクセスがあった場合の処理優先度であり、当該優先度は、前記パケットのＩＰ（Internet Protocol）ヘッダ内のＴＯＳ（Type of Service）フィールド、または、ＶＬＡＮ(Virtual LAN)タグに設定され、
前記フィルタリングテーブルにおける前記フロー識別情報は、前記受信側コネクション識別子と、前記ＴＯＳまたは前記ＶＬＡＮにより特定されること
を特徴とする仮想化スイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＡＮ（Storage Area Network）におけるスイッチベースの仮想化（バーチャリゼーション）技術に関し、仮想ストレージにアクセスする際の通信品質制御技術に関する。
【背景技術】
【０００２】
複数の計算機（サーバ）と複数のストレージ装置をネットワークで接続するＳＡＮでは、ストレージ装置の記憶領域を仮想化して利用する技術がある。仮想化とは、ＳＡＮに接続されている、複数のストレージ装置を、サーバに対して１台または複数台のストレージ装置に見せる技術である。ストレージ装置の仮想化は、複数のストレージ装置の集約化を段階的に行う場合に最適な方法であり、将来的には管理するストレージ装置を削減することで、管理者のコストを削減することが可能となる。
【０００３】
以後、本明細書中では、ストレージ装置がサーバに提供する仮想化された記憶領域を仮想ボリュームと呼び、実際のストレージ装置が提供する記憶領域を、実ボリュームと呼ぶ。
【０００４】
記憶領域の仮想化は、サーバとストレージ装置との間で行われる。記憶領域の仮想化は、サーバアプリケーションが実行されるサーバで、ボリューム管理ソフトウェアにより行う方法（第一の方法）、ストレージ装置の手前にストレージ装置を接続するインタフェースを複数用意した計算機を置き、この計算機で行う方法（第二の方法）、ＳＡＮを構成するネットワーク装置で行う方法（第三の方法）などがある（例えば、非特許文献１、２参照）。
【０００５】
【非特許文献１】玉置亮太著、「「ネットワーク化」と「仮想化」を理解する」、日経ＩＴプロフェッショナル、２００２年９月、ｐ．４９−５１
【非特許文献２】茂木龍太著、「ストレージの仮想化でＳＡＮの機能強化と一括管理を実現」日経Ｗｉｎｄｏｗｓプロ、２００２年８月（Ｎｏ．６５）、ｐ．１３−１５
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記の、第三の方法におけるネットワーク装置としては、ＳＡＮを構成するファイバチャネルスイッチ、あるいは、ｉＳＣＳＩ（Internet Small Computer System Interface）を使用してＳＡＮを構成する場合のＬＡＮスイッチのような中継装置が考えられる。これらの中継装置を、以後の説明で、仮想化スイッチと呼ぶことにする。
【０００７】
第三の方法では、仮想化スイッチが、ＳＡＮに接続されるサーバに、仮想ボリュームを提供する。すなわち、仮想化スイッチが提供する仮想ボリュームを利用するサーバからは、仮想化スイッチがターゲット装置として見える。
【０００８】
一方、サーバがネットワークやストレージ装置に要求する通信品質や通信帯域は、ストレージ装置を使用するサーバ毎に異なる。ストレージ装置は、ポートにアクセスしてくるサーバを識別して、要求される通信品質に従って、優先制御や帯域制御を行っている。サーバの識別は、受信したパケットのヘッダ情報から送信元のサーバのアドレスを取得する、または、ポート単位に接続するサーバ装置を特定する、などにより行われる。
【０００９】
ストレージ装置が、仮想化スイッチを介してサーバと接続される場合であっても、仮想化スイッチのサーバ側のポートでは、送信元のサーバのアドレスがパケットのヘッダ内に含まれるため、送信元のサーバを識別することができる。これにより、仮想化スイッチでは、サーバ毎に優先制御や帯域制御を行うことができる。
【００１０】
ところが、仮想化スイッチからストレージ装置へのアクセスにおいては、仮想化スイッチがイニシエータとなり、ストレージ装置がターゲットとなる。このため、仮想化スイッチからストレージ装置へ送信されるパケットのヘッダの送信元アドレスには、仮想化スイッチの送信元ポートのアドレスが格納され、もはや、サーバのアドレスは含まれない。
【００１１】
また、仮想スイッチの仕様によっては、異なる仮想ボリュームが、同じストレージ装置のポートをアクセスすることもあり得る。従って、ストレージ装置は、当該パケットの送信元のサーバを識別することはできず、従来の機能を用いて、サーバ毎に優先制御や帯域制御を行うことができない。
【００１２】
本発明は、上記事情に鑑み、サーバとストレージ装置との間に接続された中継装置で仮想化がなされる場合であっても、仮想ボリューム単位で通信品質の制御を実現することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、サーバ装置にストレージ装置が提供する記憶領域を仮想化して提供する仮想化スイッチにおいて、仮想ボリュームをアクセスするパケットであって、通信品質の要求は異なるがIPヘッダが同じであるパケットを、ＴＣＰコネクションを識別して、出力側でも優先制御、帯域制御を行う。ここで、ＴＣＰコネクションは仮想化スイッチ側のTCP送信元ポートを管理することで識別する。
【００１４】
具体的には、サーバ装置から受信したパケットを１または複数のストレージ装置に中継するとともに、前記サーバ装置に前記ストレージ装置が有する１または複数の記憶領域を仮想化して提供する仮想化スイッチであって、前記サーバ装置毎に、当該サーバ装置に提供する仮想化された記憶領域（以後、仮想ボリュームと呼ぶ）と、当該仮想ボリュームに割り当てられた、前記ストレージ装置が提供する前記記憶領域（以後、実ボリュームと呼ぶ）との対応関係を保持するボリューム管理テーブルと、前記仮想ボリューム毎に、当該仮想ボリュームに割り当てられた前記サーバ装置が要求する通信品質を保証する処理（以後、通信品質処理と呼ぶ。）と、当該仮想ボリュームに割り当てられた前記実ボリュームにアクセスする前記パケットのフローを識別するフロー識別情報とを対応づけたフィルタリングテーブルと、送信元の前記サーバ装置が要求する通信品質に従って、前記受信したパケットに対し、前記通信品質処理を行った後、前記ボリューム管理テーブルを用いて当該パケットの宛先を前記仮想ボリュームから実ボリュームに変更し、前記フィルタリングテーブルに従って、変更後のパケットに前記通信品質処理を行うパケット転送処理手段と、を備えること
を特徴とする仮想化スイッチを提供する。
【発明の効果】
【００１５】
サーバとストレージ装置との間に接続された中継装置で仮想化がなされる場合であっても、仮想ボリューム単位で通信品質を制御できる。
【発明を実施するための最良の形態】
【００１６】
＜＜第一の実施形態＞＞
本発明の第一の実施形態を図１から図１５を用いて説明する。第一の実施形態では、仮想化スイッチにおいて、仮想ボリューム単位で優先制御および帯域制御といった通信品質を制御する場合を例にあげて説明する。
【００１７】
図１は、本実施形態のストレージシステム全体の構成を示す図である。本実施形態のストレージシステムは、仮想化スイッチ１００、複数のスイッチ１０４、サーバＡ（１０５Ａ）、サーバＢ（１０５Ｂ）、サーバＣ（１０５Ｃ）、ストレージＡ（１０６Ａ）、ストレージＢ（１０６Ｂ）、管理端末１１８を備える。以後、特に区別する必要がない場合は、サーバＡ（１０５Ａ）、サーバＢ（１０５Ｂ）、サーバＣ（１０５Ｃ）は、サーバ装置１０５で、ストレージＡ（１０６Ａ）、ストレージＢ（１０６Ｂ）は、ストレージ装置１０６でそれぞれ代表する。なお、スイッチ１０４は、なくてもよい。
【００１８】
仮想化スイッチ１００と複数のスイッチ１０４とには、サーバ装置１０５、ストレージ装置１０６が、それぞれ、ポートを介して接続される。
【００１９】
仮想化スイッチ１００は、複数のパケット転送制御部１０１、１０１Ａ、１０１Ｂと、クロスバースイッチ１０２と、スイッチ管理部１０３とを備える。また、パケット転送制御部１０１は、ポート１０７を、パケット転送制御部１０１Ａは、ポート１０７、１０７Ａ、１０７Ｂを、パケット転送制御部１０１Ｂは、ポート１０７、１０７Ｃ、１０７Ｄを、それぞれ備える。以後、特に区別する必要がない場合は、パケット転送制御部１０１、およびポート１０７で代表する。なお、ポート１０７は、パケット転送制御部１０１外に独立して備えられていてもよい。
【００２０】
クロスバースイッチ１０２は、複数のパケット転送制御部１０１やスイッチ管理部１０３を接続するものである。
【００２１】
パケット転送制御部１０１は、送受信するパケットのデータリンク層から上位のヘッダまたは情報格納部の情報を元に、宛先となるポート１０７の決定、必要時にはパケットの内容の判別、パケットの変換等を行うものである。および、ポート１０７で代表する。
【００２２】
ポート１０７は、スイッチ１０４、サーバ装置１０５、ストレージ装置１０６等を接続するためのものである。
【００２３】
ここで、本実施形態におけるパケットの変換とは、仮想化スイッチ１００において、サーバ装置１０５から仮想化スイッチ１００宛てに送出されたパケットを、仮想化スイッチ１００からストレージ装置１０６宛てのパケットに変換することである。以後、本明細書中では、本変換を、仮想から実へのパケット変換と呼び、本変換を行う処理を、仮想化変換処理と呼ぶ。
【００２４】
パケット転送制御部１０１は、送受信されるパケットのデータリンク層から上位のヘッダまたは情報格納部の情報を元にパケットの種類を決定するパケット振分け処理部１０８、仮想化変換処理を行わない場合の通常のパケットの処理を行う通常パケット処理部１０９、仮想化変換処理を行う場合のパケットの処理を行う仮想化パケット処理部１１０、送受信されるパケットのデータリンク層から上位のヘッダまたは情報格納部の情報を元にパケットのフローを識別して通信品質を制御する通信品質制御部１１１、１１９、クロスバースイッチ１０２を経由して、その他のパケット転送制御部１０１やスイッチ管理部１０３と通信を行うためのスイッチインタフェース（以下、スイッチＩ／Ｆと略す）制御部１１２、パケット転送制御部１０１全体を制御するＣＰＵ１１３、パケットを格納する送受信バッファ、プログラム、データを格納するメインメモリ１１４、を備える。
【００２５】
スイッチ管理部１０３は、仮想化スイッチ１００の装置管理や経路制御プロトコルの計算を行うものである。
【００２６】
スイッチ管理部１０３は、スイッチ管理部１０３全体を制御するＣＰＵ１１６、プログラムやデータを格納するメインメモリ１１６、管理用インタフェース（以下、管理用Ｉ／Ｆと略す）１１７、クロスバースイッチ１０２に接続されるパケット転送制御部１０１等通信を行うためのスイッチＩ／Ｆ制御部１１２、を備える。
【００２７】
管理用Ｉ／Ｆ１１７は、管理端末１１８（たとえば、ダム端末やコンソール端末等）、または、普通のパソコン（不図示）やサーバ装置（不図示）と、シリアルケーブルまたはイーサネットケーブル等で接続されている。
【００２８】
図１の仮想化スイッチ１００のポート１０７と、サーバ１０５およびストレージ１０６のポートには、ＩＰアドレスを一部示す。これらのＩＰアドレスは、これ以降の説明の中で使用する。
【００２９】
また、パケット転送制御部１０１は、わかりやすくするため、サーバ装置１０５からの受信時と、ストレージ装置１０６への送信時の例を、それぞれ別個のパケット転送制御部１０１Ａ、１０１Ｂとして示す。
【００３０】
受信時のパケット転送制御部１０１Ａと送信時のパケット転送制御部１０１Ｂとでは、パケット転送制御部１０１の内部の処理の流れに従い、パケット振分け処理部１０８および通信品質制御部１１１の位置を反対に示す。
【００３１】
また、ストレージの仮想化は、受信側のパケット転送制御部１０１Ａでのみ行うものであるため、仮想化パケット処理部１１０は、受信側のパケット転送制御部１０１Ａにのみ示している。なお、仮想化パケット処理部１１０は、全てのパケット転送制御部１０１が備えていてもよいし、本図に示すように、受信側のパケット転送制御部１０１のみが備えていてもよい。
【００３２】
図２に、パケット転送制御部１０１のメインメモリ１１４に格納される代表的なプログラムを、図３に、スイッチ管理部１０３のメインメモリ１１６に格納される代表的なプログラムを、それぞれのプログラムを実行する際に用いられるテーブルとともに示す（プログラムやテーブルは丸で囲んで示す）。
【００３３】
パケット転送制御部１０１のメインメモリ１１４は、オペレーティングシステム（以下、ＯＳと略す）２０１Ａ、スイッチ管理部１０３等と通信するためのモジュール間通信プログラム２０１Ｂ、ｉＳＣＳＩ処理を行うｉＳＣＳＩターゲットプログラム２０１ＤとｉＳＣＳＩイニシエータプログラム２０１Ｃ、ログイン認証テーブル２０１Ｌ、ボリューム管理テーブル２０１Ｋ、通信品質管理テーブル２０１Ｊ、フィルタリングテーブル２０１Ｉ、ルーティングテーブル２０１Ｈ、を備える。
【００３４】
ここで、パケット転送制御部１０１が保持する上記の各テーブルは、それぞれ、スイッチ管理部１０３で作成され、保持される同名のテーブルのコピーである。これらのテーブルのコピーを保持することにより、パケット転送制御部１０１は、自身が保持するテーブルの情報に基づいて、パケットの転送を行うことができる。
【００３５】
同様に、スイッチ管理部１０３のメインメモリ１１６は、ＯＳ２０２Ａ、スイッチ管理プログラム２０２Ｃおよびその構成定義やＭＩＢ（Management Information Base）が格納される構成定義ＭＩＢテーブル２０６Ｂ、ＲＩＰ（Routing Information Protocol）やＯＳＰＦ（Open Shortest Path First）といった経路制御プログラム２０２Ｄおよびそのルーティングテーブル２０２Ｈ、ｉＳＣＳＩターゲットへのログイン時のログイン認証を行うｉＳＣＳＩログイン認証プログラム２０２Ｇおよびそのログイン認証テーブル２０２Ｌ、接続されるストレージ１０６の論理ボリュームにより仮想ストレージを構成するためのボリューム管理プログラム２０２Ｆおよびそのボリューム管理テーブル２０２Ｋ、仮想ボリュームに対する通信品質を設定する通信品質管理プログラム２０２Ｅおよび通信品質管理テーブル２０２Ｊ、フィルタリングテーブル２０２Ｉ、を備える。
【００３６】
次に、図２および図３に示した各テーブルの構成を説明する。
【００３７】
本実施形態では、仮想化スイッチ１００は、仮想ボリュームを定義するテーブルの構成情報として、ストレージ装置１０６内の論理ボリューム（実ボリューム）、その論理ボリュームをアクセスする場合のストレージ装置１０６のポートのＩＰアドレス、その論理ボリュームを使用して、仮想ボリュームを構成する場合の、仮想化スイッチ１００からストレージ装置１０６のアクセス経路を指定する仮想化スイッチのポート識別子およびＴＣＰ（Transmission Control Protocol）コネクションの送信元ポート番号を備える。
【００３８】
また、仮想ボリューム単位に、その仮想ボリュームを使用するサーバ装置１０５のＩＰアドレスと、サーバ装置１０５から仮想化スイッチ１００へのアクセス経路を指定する仮想化スイッチのポート識別子と、そのサーバ装置１０５に対して仮想ボリュームを利用する際の通信品質である、優先度および帯域制御のための帯域情報やアクセスする情報量を制限するための単位時間当たりのＩ／Ｏ数やビット数やバイト数を備える。
【００３９】
仮想化スイッチ１００は、これらの仮想ボリュームを定義する構成情報を元に、サーバ装置１０５側のポートで、優先制御および帯域制御を行い、ストレージ装置側のポートでも優先制御と帯域制御を行う。
【００４０】
以下、これらの情報を保持する各テーブルをそれぞれ説明する。図４から図８は、図２および図３に示した各テーブルの構成例である。
【００４１】
図４は、ルーティングテーブル４００（２０１Ｈ、２０２Ｈ）の構成例を示す図である。ルーティングテーブル４００は、経路制御プログラム２０２Ｄを実行することにより収集された経路情報を保持する。経路制御プログラム２０２Ｄは、他のスイッチ１０４やルータの経路制御プログラムと通信を行い、ルーティングテーブル４００を生成する。パケット転送制御部１０１は、ルーティングテーブル４００の情報に従って、受信したパケットを転送する。
【００４２】
ルーティングテーブル４００は、ＩＰアドレス４０１、ネクストホップアドレス４０２、宛先ポートアドレス４０３を1組とするエントリ４０４で構成される。ここでは、エントリ４０４の例として、それぞれ、４０４Ａ、４０４Ｂ、４０４Ｃ、４０４Ｄ、４０４Ｅ、４０４Ｆ、４０４Ｇをあげ、以下に説明する。
【００４３】
エントリ４０４Ａは、デフォルトの経路を示すためのエントリの構成例を示す。
【００４４】
エントリ４０４Ｂから４０４Ｇでは、ＩＰアドレス４０１にスラッシュ「／」が含まれる。スラッシュの後の数字はサブネットマスクの長さ（ビット）を示す。例えば、エントリ４０４Ｂは、「１９２．１６８．１．０／２４」であるため、サブネットマスクの長さが２４ビット、すなわち、「１９２．１６８．１」までがネットワークアドレスを示す。
【００４５】
エントリ４０４Ｄは、ポート１０７Ａのアドレスを示し、エントリ４０４Ｅから４０４Ｇまでは、後述の仮想ボリュームのＩＰアドレス６０１Ｂを示す。なお、エントリ４０４Ｄから４０４Ｇは、ＩＰアドレス４０１のサブネットマスクが３２ビットであり、ホストアドレスを示す。ネクストホップアドレス４０２として「１２７．０．０．１」というループバックアドレスが格納されているので、仮想化スイッチ１００内にこのＩＰアドレスが存在することを示している。
【００４６】
図５は、通信品質管理テーブル５００（２０１Ｊ、２０２Ｊ）の構成例を示す図である。通信品質管理テーブル５００には、それぞれのサーバ装置１０５が要求する通信品質を管理するための情報が格納されている。
【００４７】
通信品質管理テーブル５００は、サーバＩＰアドレス５０１、サーバ側ポートＩＰアドレス５０２、通信品質５０３、仮想ボリュームＩＤ５０４、フィルタリング処理５０５を１組とするエントリ５０６で構成される。
【００４８】
本実施形態では、通信品質は、同じサーバ側ポートＩＰアドレス５０２が付与された仮想ボリューム間での優先度（優先、非優先の２段階）、および、アクセス時に許可される帯域または単位時間あたりのＩ/Ｏ（Input / Output）数で規定する。このため、通信品質５０３は、さらに優先度５０３Ａと制限５０３Ｂとを備える。本実施形態では、優先度５０３Ａは、説明を簡単にするために値を優先と非優先の２つとした場合を例にあげて説明する。その他の例としては、優先度を数字で示すことも可能である。制限５０３Ｂは、説明を簡単にするために単位時間当たりのデータ転送量として、メガバイト／秒（ＭＢ／ｓ）で値を示す場合を例に挙げて説明する。その他の例としては、ビット数で示すことも可能である。
【００４９】
仮想ボリュームＩＤ５０４には、各サーバ装置１０５に割り当てられた仮想ボリュームのＩＤが格納される。仮想ボリュームＩＤは、仮想ボリューム毎に付与されるＩＤであり、後述のボリューム管理テーブル６００で管理される。仮想ボリュームＩＤ５０４に格納されるＩＤは、ボリューム管理テーブル６００のＩＤ６０１Ａと対応している。例えば、本実施形態では、エントリ５０６Ａの仮想ボリュームＩＤ５０４に格納されているＶ１は、ボリューム管理テーブル６００において、６０１ＡにＶ１が格納されているエントリ６０６Ａと６０６Ｂとを示す。
【００５０】
フィルタリング処理５０５は、さらに受信時５０５Ａと送信時５０５Ｂとを備える。受信時５０５Ａおよび送信時５０５Ｂには、後述のフィルタリングテーブル７００、８００で示される各処理ＩＤ７０３、８０３が格納される。これらの設定は、後述する。
【００５１】
なお、サーバＩＰアドレス５０１、サーバ側ポートＩＰアドレス５０２、通信品質５０３、仮想ボリュームＩＤ５０４、の各項目が保持する情報は、通信品質管理プログラム２０２Ｅが提供するインタフェースを介して、管理端末１１８などから、管理者により設定される。
【００５２】
図６は、ボリューム管理テーブル６００（２０１Ｋ、２０２Ｋ）の構成例を示す図である。ボリューム管理テーブル６００には、仮想化スイッチ１００がサーバ装置１０５に提供する仮想ボリュームを、ストレージ装置１０６が提供する実ボリュームと対応付ける情報が格納されている。
【００５３】
ボリューム管理テーブル６００は、仮想ボリューム６０１、ストレージ側ポートＩＰアドレス６０２、ストレージＩＰアドレス６０３、実ボリュームの論理ユニット番号（以下、ＬＵＮと略す）６０４、送信元ＴＣＰポート６０５を1組とするエントリ６０６で構成される。
【００５４】
仮想ボリューム６０１は、仮想ボリュームを特定するとともに、サーバ装置１０５から仮想ボリュームにアクセスするために必要な情報が格納されるものであり、仮想ボリューム毎に付与される識別子であるＩＤ６０１Ａ、仮想ボリュームに割り当てられたＩＰアドレス６０１Ｂ、ＴＣＰポート６０１Ｃ、ｉＳＣＳＩネーム６０１Ｄ、仮想ボリュームに定義された論理ユニット番号ＬＵＮ６０１Ｅを備える。本実施形態では、ｉＳＣＳＩネーム６０１Ｄの値は、例としてＩＱＮ（iSCSI Qualified Name）形式で示している。また、エントリ６０６Ａから６０６Ｅのそれぞれの値は、図１で示した仮想化スイッチ１００やサーバ１０５のポートのＩＰアドレスに対応するものを示している。
【００５５】
本実施形態によれば、例えば、ＩＤ６０１Ａで特定される仮想化ボリュームは、ＬＵＮ６０４で特定される実ボリュームの論理ユニットにより提供される
すなわち、サーバ装置１０５が仮想ボリュームＩＤ（６０１Ａ）がＶ１の記憶領域にアクセスするということは、仮想ボリュームの論理ユニット６０１ＥのＶＬＵ１を使用することを意味する。そして、実際には、「１９２．１６８．２．２」のストレージＩＰアドレス６０３を有するストレージ装置１０６の論理ユニット６０４がＬＵ１またはＬＵ２を使用することとなる。
【００５６】
なお、上記各項目は、ボリューム管理プログラム２０２Ｆが提供するインタフェースを介して、管理端末１１８などから、管理者により設定される。
【００５７】
次に、通信品質管理プログラム２０２Ｅにより、通信品質管理テーブル５００とボリューム管理テーブル６００とから生成される、フィルタリングテーブル（２０１Ｉ、２０２Ｉ）について説明する。フィルタリングテーブル生成の詳細については、後述する。
【００５８】
フィルタリングテーブル（２０１Ｉ、２０２Ｉ）は、パケット転送制御部（受信時）１０１Ａが用いる受信時フィルタリングテーブル７００（２０１Ｉ、２０２Ｉ）と、パケット転送制御部（送信時）１０１Ｂが用いる送信時フィルタリングテーブル８００（２０１Ｉ、２０２Ｉ）とを備える。以後、受信時フィルタリングテーブル７００および送信時フィルタリングテーブル８００を、区別する必要がない場合、まとめて、フィルタリングテーブル７００および８００と呼ぶ。
【００５９】
図７および図８は、それぞれ、受信時フィルタリングテーブル７００および送信時フィルタリングテーブル８００の構成例を示す図である。
【００６０】
フィルタリングテーブル７００および８００には、パケットのヘッダ部に格納されている情報が満たすべき条件と、情報が条件にマッチした場合にパケット転送制御部１０１が行う処理とが格納される。フィルタリングテーブル７００および８００は、マッチ条件７０１および８０１、処理７０２および８０２、処理ＩＤ７０３および８０３を1組とするエントリ７０４および８０４で構成される。
【００６１】
マッチ条件７０１および８０１には、ｉＳＣＳＩパケット（ＴＣＰ／ＩＰパケット）の各レイヤのヘッダや情報部の部分的な値を１つまたは複数個組み合わせた条件が格納される。なお、本実施形態では、「ＡＮＤ」により、組み合わせる複数の条件を示す。
【００６２】
処理７０２および８０２には、マッチ条件７０１および８０１に「ＡＮＤ」により組み合わせられた複数の条件全てに合致した場合、パケット転送制御部１０１が行う処理が格納される。格納される処理は、受信したパケットの通信品質の制御に関するもので、具体的には、「優先キューへ転送」、「非優先キューへ転送」、「１ＭＢ/ｓに性能を制限する」などである。
【００６３】
処理７０２および８０２についても、同様に複数の処理を行わせることが可能である。この場合、「ＡＮＤ」により組み合わされた全ての処理を行うことを意味する。
【００６４】
例えば、図７のエントリ７０４Ａでは、受信したパケットのヘッダ部の情報がマッチ条件７０１に一致した場合、優先度を「優先」としてそのパケットを処理するために「優先キューへ転送」が処理７０２に格納される。また、エントリ７０４Ｂでは、マッチ条件７０１に一致した場合、優先度は「非優先」でアクセス時に許可されるデータ転送量を１ＭＢ／ｓに制限して処理するため、「非優先キューへ転送」ＡＮＤ「１ＭＢ／ｓに性能制限」が処理７０２に格納される。
【００６５】
処理ＩＤ７０３および８０３には、それぞれのエントリに付与されるＩＤが格納される。本ＩＤは、通信品質管理テーブル５００のフィルタリング処理５０５に格納され、これにより、各フィルタリング処理が特定される。
【００６６】
次に、図９から図１５を用いて、仮想化スイッチ１００における、パケットの処理について説明する。併せて、図２および図３で示したプログラムの処理フロー、図４〜図８で示した各テーブルの作成および利用方法を説明する。
【００６７】
まず、仮想化スイッチ１００がパケットを受信した際、図１のパケット転送制御部（受信時）１０１Ａにおいて行われる処理について、説明する。パケットを受信したパケット転送制御部（受信時）１０１Ａは、パケット振分け処理部１０８において、パケットの種類に応じて受信したパケットを振り分ける。振り分けられたパケットは、通常パケット処理部１０９、通信品質制御部１１９を介しての仮想パケット処理部１１０、通信品質制御部１１１での処理された後、スイッチＩ/Ｆ１１２を介して、クロスバースイッチに送信される。
【００６８】
図９は、図１のパケット転送制御部（受信時）１０１Ａのパケット振分け処理部１０８の処理フローである。
【００６９】
パケット振分け処理部１０８は、ポート１０７からパケットを受信すると、パケットのヘッダ情報の解析を行い（ステップ９０１）、ルーティングテーブル４００を検索する（ステップ９０２）。
【００７０】
パケット振分け処理部１０８は、受信したパケットが自身の仮想化スイッチ１００宛てかどうか、判別する。具体的には、受信したパケットの宛先ＩＰアドレスと、ルーティングテーブル４００のＩＰアドレス４０１とを照合し、完全なＩＰアドレスと一致するもの、すなわち、サブネットマスクが３２ビットのものと一致するＩＰアドレスがあるか否か判別する（ステップ９０３）。
【００７１】
一致するものがあった場合、パケット振分け処理部１０８は、仮想ボリューム宛であるかどうか、判別する。すなわち、パケット振分け処理部１０８は、ボリューム管理テーブル６００を検索し（ステップ９０４）、ＩＰアドレス６０１Ｂにパケットの宛先ＩＰアドレスが登録されていれば（ステップ９０５）、受信したパケットは仮想ボリューム宛に送信されたものと判別し、通信品質制御部１１９を介して仮想化パケット処理部１１０に処理を引き継ぎ、仮想化パケット処理を行わせる（ステップ９０６）。
【００７２】
ステップ９０５で、登録されていなければ（ステップ９０５）、パケット振分け処理部１０８は、受信したパケットを、スイッチＩ/Ｆ制御部１１２を介してスイッチ管理部１０３へ転送する（ステップ９０８）。この場合、受信したパケットは、仮想化スイッチ１００の制御や管理に用いられるパケットである。
【００７３】
また、ステップ９０３で、サブネットマスクが３２ビットのものと一致するＩＰアドレスがない場合（ステップ９０３）、パケット振分け処理部１０８は、通常パケット処理部１０９に処理を引き継ぎ、通常のパケット処理を行わせる（ステップ９０７）。
【００７４】
次に、図９のステップ９０７の詳細、すなわち、図１のパケット転送制御部（受信時）１０１Ａの通常パケット処理部１０９とそれに続く通信品質制御部１１１との処理を説明する。これらは、スイッチとしての一般的な、ネットワーク層（ＩＰレイヤ）での転送を行うルーティング処理である。図１０は、これらの処理フローである。
【００７５】
通常パケット処理部１０９に受け渡されるパケットは、仮想ボリューム宛てでないものである。
【００７６】
通常パケット処理部１０９は、パケット振分け処理部１０８からパケットを受信すると、パケットのヘッダ情報の解析を行い（ステップ１００１）、ルーティングテーブル４００を検索する（ステップ１００２）。
【００７７】
通常パケット処理部１０９は、ステップ１００１で解析されたパケットの宛先ＩＰアドレスを、ルーティングテーブル４００のＩＰアドレス４０１と照合し、サブネットマスクが３２ビット未満のものであって一致するＩＰアドレスがあるか否か判別する（ステップ１００３）。
【００７８】
一致するものがある場合（ステップ１００３）、通常パケット処理部１０９は、パケットをステップ１００１での解析結果とともに、通信品質制御部１１１に受け渡す。
【００７９】
通信品質制御部１１１は、受信時フィルタリングテーブル７００を検索する（ステップ１００４）。ここで、ステップ１００１での解析結果をマッチ条件７０１と照合し、マッチするものがある場合（ステップ１００５）、マッチしたエントリの処理７０２の処理内容を実行する（ステップ１００６）。
【００８０】
そして、通信品質制御部１１１は、ルーティングテーブル４００の該当エントリのネクストホップアドレス４０２へ送信するため、クロスバースイッチ１０２を介して宛先ポートアドレス４０３のポートを有するパケット転送制御部（送信側）１０１Ｂに、スイッチＩ/Ｆ制御部１１２からパケットを転送する（ステップ１００７）。
【００８１】
なお、ステップ１００５において、マッチするものがない場合は、通信品質を保証する要求のないパケットとして、通信品質制御部１１１は、ステップ１００６の処理を飛ばして、ステップ１００７の処理に進む。
【００８２】
ステップ１００３において、一致するＩＰアドレスがない場合（ステップ１００３）、通常パケット処理部１０９は、ＩＰアドレス４０１にデフォルトルート（ＩＰアドレスが０．０．０．０）の登録があるか否か判別する（ステップ１００８）。ステップ１００８において、登録がある場合は、通常パケット処理部１０９は、パケットを通信品質制御部１１１に渡す。受け取った通信品質制御部１１１は、処理ステップ１００４以降の処理を行う。
【００８３】
ステップ１００８において、デフォルトルートの登録がない場合は、そのパケットは宛先ＩＰアドレスには到達できないので、通常パケット処理部１０９は、到達不可処理を行う（ステップ１００９）。この処理は、スイッチやルータの一般的な処理であるため、ここでは説明しない。
【００８４】
次に、図９のステップ９０６でおこなわれる仮想化パケット処理の詳細、すなわち、図１のパケット転送制御部（受信時）１０１Ａの、通信品質制御部１１９、仮想化パケット処理部１１０とそれらに続く通信品質制御部１１１の処理を説明する。  図１１は、これらの処理フローである。
【００８５】
ここでは、パケットの変換を行うとともに、ＴＣＰコネクションの終端および開始処理を行う。すなわち、受信したパケットにターゲット処理を行い、サーバ１０５と仮想化スイッチ１００との間のＴＣＰコネクションを終端し、パケットを変換後、改めてイニシエータ処理を行い、仮想化スイッチ１００とストレージ１０６との間のＴＣＰコネクションを開始する。
【００８６】
通信品質制御部１１９は、パケット振分け処理部１０８からパケットを受信すると、受信時のフィルタリング処理を行い（Ｓ１１００）、処理後のパケットを仮想化パケット処理部１１０に受け渡す。受信時のフィルタリング処理は、図１０に示す、ステップ１００４からステップ１００６の処理と同様の処理である。
【００８７】
その後、仮想化パケット処理部１１０は、ｉＳＣＳＩターゲットプログラム処理を行う（ステップ１１０１）。本処理は、ｉＳＣＳＩの一般的な処理であるため、ここでは説明しない。例えば、ログイン処理やＳＣＳＩコマンドのリード、ライト等がある。
【００８８】
仮想化パケット処理部１１０は、処理結果を分析し（ステップ１１０２）、分析の結果、受信したパケットが仮想ボリュームをアクセスするものと判断された場合（ステップ１１０３）、ボリューム管理テーブル６００を検索し（ステップ１１０４）、アクセス先のストレージ装置１０６を決定する（ステップ１１０５）。なお、ステップ１１０２の分析の結果、仮想ボリュームへのアクセスでないものとステップ１１０３において判断された場合は、処理を終了する。
【００８９】
仮想化パケット処理部１１０は、アクセス先のストレージ１０６に対して、ｉＳＣＳＩイニシエータプログラム処理を行う（ステップ１１０６）。本処理は、ｉＳＣＳＩの一般的は処理であるため、ここでは説明しない。例えば、ログイン処理やＳＣＳＩコマンドのリード、ライト等がある。
【００９０】
仮想化パケット処理部１１０は、処理結果を分析し（ステップ１１０７）、受信したパケットにより指示される処理が、ｉＳＣＳＩセッションを開始するものであるか否か判断する。ｉＳＣＳＩセッションを開始するものである場合は（ステップ１１０８）、そのｉＳＣＳＩセッションが使用するＴＣＰコネクションの送信元ＴＣＰポート番号を、ボリューム管理テーブル６００の送信元ＴＣＰポート６０５に登録し（ステップ１１０９）、処理を終了する。
【００９１】
ステップ１１０７の分析の結果、ｉＳＣＳＩセッションが既に開始されている場合は（ステップ１１０８）、ＳＣＳＩコマンドのリード、ライト、問合せ（インクワイアリー）のような実ボリュームへのアクセスであるか否かを判断する（ステップ１１１０）。ここで、実ボリュームへのアクセスでないと判断された場合は、処理を終了する。
【００９２】
ステップ１１１０で、実ボリュームへのアクセス処理であると判断された場合、仮想化パケット処理部１１０は、ボリューム管理テーブル６００の情報に従って、仮想から実へのパケット変換を行い（ステップ１１１１）、変換後のパケットを通信品質制御部１１１に受け渡す。
【００９３】
通信品質制御部１１１は、ルーティングテーブル４００の該当エントリのネクストホップアドレス４０２へ送信するため、クロスバースイッチ１０２を介して宛先ポートアドレス４０３のポートを有するパケット転送制御部（送信側）１０１Ｂに、スイッチＩ/Ｆ制御部１１２からパケットを転送する（ステップ１１１２）。
【００９４】
なお、仮想から実へのパケット変換とは、ボリューム管理テーブル６００を用いて、サーバ装置１０５から仮想化スイッチ１００宛てに送出されたパケットを、仮想化スイッチ１００からストレージ装置１０６宛てのパケットに変換することである。すなわち、パケットの宛先を、仮想ボリューム宛から、当該仮想ボリュームに対応するストレージ装置１０６の実ボリューム宛に変換することである。具体例は後述する。
【００９５】
なお、上記のステップ１１０２、１１０３の処理、および、ステップ１１１０の処理は、万一のエラー処理であり、付加的なものであるため、なくてもよい。
【００９６】
次に、上記のパケット転送制御部（受信時）１０１Ａでの処理後、パケット転送制御部（送信時）１０１Ｂにおいて行われる処理について説明する。ここでは、仮想化変換処理がないため、スイッチＩ/Ｆ制御部１１２を介してパケットを受け取ると、そのパケットは、パケット振分け処理部１０８では何も処理を行わず、通常パケット処理部１０９に引き渡される。
【００９７】
図１のパケット転送制御部（送信時）１０１Ｂの通常パケット処理部１０９とそれに続く通信品質制御部１１１との処理を説明する。図１２は、それらの処理フローを示す図である。
【００９８】
通常パケット処理部１０９は、パケット振分け処理部１０８からパケットを受信すると、ＡＲＰ（Address Resolution Protocol）処理を行い（ステップ１２０１）、パケットの宛先ＩＰアドレスのＭＡＣアドレス情報を取得し、パケットのレイヤ２（データリンク層）ヘッダ（宛先ＭＡＣアドレス、送信元ＭＡＣアドレス）を設定する（ステップ１２０２）。
【００９９】
ステップ１２０２で取得、設定した情報とともに、通信品質制御部１１１にパケットを受け渡す。
【０１００】
通信品質制御部１１１は、送信時フィルタリングテーブル８００を検索し（ステップ１２０３）、受信したパケットが、マッチ条件８０１にマッチするか否か判別する（ステップ１２０４）。すなわち、受信したパケットが所定の通信品質の保証を要求しているか否か、判断する。
【０１０１】
ステップ１２０４において、マッチした場合、すなわち、通信品質の保証を要求するものである場合、通信品質制御部１１１は、該当エントリの処理８０２の処理内容を実行し（ステップ１２０５）、送信ポートからパケット送信する（ステップ１２０６）。
【０１０２】
なお、ステップ１２０４において、マッチするものがない場合、すなわち、通信品質の保証の要求がないパケットである場合、フィルタリング処理を行わずにそのまま受信したパケットを送信ポートから送出する（ステップ１２０６）。
【０１０３】
次に、本実施形態で送受信されるｉＳＣＳＩパケット１３０１について説明する。またｉＳＣＳＩパケット１３０１を用いて、上記の仮想から実へのパケット変換の具体例を説明する。
【０１０４】
図１３は、ｉＳＣＳＩのパケットの構成例を示す図である。
【０１０５】
ｉＳＣＳＩパケット１３０１は、宛先ＭＡＣアドレス（ＤＡ：Destination Address）１３０１Ａ、送信元ＭＡＣアドレス（ＳＡ：Source Address）１３０１Ｂ、ＶＬＡＮ（Virtual LAN）のタグ１３０１Ｃ、タイプ１３０１Ｄを有するＭＡＣヘッダと、ＩＰヘッダ１３０１Ｅ、ＴＣＰヘッダ１３０１Ｆ、ｉＳＣＳＩヘッダ１３０１Ｇ、ｉＳＣＳＩデータ１３０１Ｈ、ＦＣＳ（Frame Check Sequence）１３０１Ｉを備える。
【０１０６】
ＩＰパケットＡ（１３０２）は、図１のサーバＡ（１０５Ａ）から仮想ボリュームＩＤ６０１がＶ１の仮想ボリュームへアクセスする場合のパケットの例を示している。仮想化スイッチ１００はＩＰパケットＡ（１３０２）を、実ボリュームへアクセスするパケットであるＩＰパケットＡ１（１３０２Ａ１）とＩＰパケットＡ２（１３０２Ａ２）とに変換する。
【０１０７】
パケット振分け処理部１０８で、ヘッダを解析し、ルーティングテーブル４００のＩＰアドレス４０１に、ＩＰヘッダ１３０１Ｅの宛先アドレス（ＤＡ）１３０２Ａ「１９２．１６８．１．５１」と一致するものがあるか否か判別する（図９のステップ９０２）。ここでは、エントリ４０４ＦのＩＰアドレス４０１と一致するため、図９のステップ９０４に処理を進める。
【０１０８】
ボリューム管理テーブル６００を検索し、ＤＡ１３０２ＡのＩＰアドレスと合致するＩＰアドレス６０１Ｂを有するエントリの登録があるか否か判別する（図９のステップ９０５）。ここでは、エントリ６０６Ａおよび６０６Ｂの２つが一致する。
【０１０９】
そこで、図９のステップ９０６に進み、仮想化パケット処理を行う。すなわち、図１１のステップ１１１１の処理を行う。ここでは、エントリ６０６Ａの情報に基づいたＩＰパケットＡ１（１３０２Ａ１）とエントリ６０６Ｂの情報に基づいたＩＰパケットＡ２（１３０２Ａ２）とを生成する。
【０１１０】
具体的には、エントリ６０６０Ａのストレージ側ポートＩＰアドレス６０２の「１９２．１６８．２．１１」をＩＰヘッダ１３０１ＥのＳＡに、ストレージＩＰアドレス６０３の「１９２．１６８．２．２」をＩＰヘッダ１３０１ＥのＤＡに、ＬＵＮ６０４の「ＬＵ１またはＬＵ２」をｉＳＣＳＩヘッダ１３０１Ｇに、それぞれ格納し、ＩＰパケットＡ１（１３０２Ａ１）を生成する。このとき、ＴＣＰヘッダ１３０１Ｆに変更はない。
【０１１１】
そして、エントリ６０６Ｂのストレージ側ポートＩＰアドレス６０２の「１９２．１６８．２．１２」をＩＰヘッダ１３０１ＥのＳＡに、ストレージＩＰアドレス６０３の「１９２．１６８．２．３」をＩＰヘッダ１３０１ＥのＤＡに、ＬＵＮ６０４の「ＬＵ１」をｉＳＣＳＩヘッダ１３０１Ｇに、それぞれ格納し、ＩＰパケットＡ２（１３０２Ａ２）を生成する。このときも、ＴＣＰヘッダ１３０１Ｆに変更はない。
【０１１２】
ＩＰパケットＢ（１３０３）は、図１のサーバＢ（１０５Ｂ）から仮想ボリュームＩＤ６０１がＶ２の仮想ボリュームへアクセスする場合のパケットの例を示している。仮想から実へのパケット変換（ＩＰパケットＢ（１３０３）からＩＰパケットＢ１（１３０３Ｂ１）およびＩＰパケットＢ２（１３０３Ｂ２）への変換）は、ＩＰパケットＡ（１３０２）からＩＰパケットＡ１（１３０２Ａ１）とＩＰパケットＡ２（１３０２Ａ２）との生成の処理と同様である。
【０１１３】
次に、受信時フィルタリングテーブル７００を作成する処理を説明する。受信時フィルタリングテーブル７００へのエントリの追加は、通信品質管理テーブル５００に登録されているサーバ装置１０５が、通信品質を要求している場合であって、その要求が、受信時フィルタリングテーブル７００に未登録である場合に行われる。
【０１１４】
図１４は、本処理の処理フローである。以下の処理は、ＣＰＵ１１５が通信品質管理プログラム２０２Ｅを実行することにより実現される。
【０１１５】
ＣＰＵ１１５は、通信品質管理テーブル５００の1エントリを読み込み（ステップ１４０１）、通信品質５０３の設定があるか否か判別する（ステップ１４０２）。
【０１１６】
通信品質５０３の設定がある場合、ＣＰＵ１１５は、該当エントリのフィルタリング処理５０５Ａの登録があるかを調べる（ステップ１４０３）。
【０１１７】
フィルタリング処理５０５Ａに登録がない場合は、ＣＰＵ１１５は、サーバ装置１０５のＩＰアドレスと仮想ボリュームのＴＣＰポートを用いて、マッチ条件７０１を生成する。ここでは、受信時フィルタリングテーブル７００のマッチ条件７０１に、「（ＩＰヘッダのＳＡ＝サーバのＩＰアドレス）ＡＮＤ（ＴＣＰヘッダの宛先ポート＝３２６０）」と設定する（ステップ１４０４）。
【０１１８】
そして、ＣＰＵ１１５は、処理７０２に通信品質管理テーブル５００の通信品質５０３を設定し（ステップ１４０５）、処理ＩＤ７０３を設定する（ステップ１４０６）。このとき、通信品質管理テーブル５００の本処理中のエントリの受信時のフィルタリング処理５０５Ａに、前記処理ＩＤ７０３を設定する。
【０１１９】
通信品質管理テーブル５００の該当エントリに、通信品質５０３の設定がない場合と（ステップ１４０２）、フィルタリング処理５０５Ａの登録がある場合（ステップ１４０３）は、ＣＰＵ１１５は、処理を終了する。
【０１２０】
以上の処理を、ＣＰＵ１１５は、通信品質管理テーブル５００に登録されているエントリの数だけ繰り返す。
【０１２１】
次に、送信時フィルタリングテーブル８００を作成する処理を説明する。
【０１２２】
図１５は、本処理の処理フローである。以下の処理は、ＣＰＵ１１５が通信品質管理プログラム２０２Ｅを実行することにより実現される。
【０１２３】
ＣＰＵ１１１５は、通信品質管理テーブル５００の1エントリを読み込み（ステップ１５０１）、通信品質５０３の設定があるか否か判別する（ステップ１５０２）。
【０１２４】
通信品質５０３の設定がある場合、ＣＰＵ１１５は、該当エントリのフィルタリング処理５０５Ｂの登録があるかを調べる（ステップ１５０３）。
【０１２５】
フィルタリング処理５０５Ｂに登録がない場合は、ＣＰＵ１１５は、本エントリの仮想ボリュームＩＤ５０４に該当する、ボリューム管理テーブル６００の仮想ボリュームのストレージＩＰアドレス６０３を１つ選択し（ステップ１５０４）、当該エントリの情報を用いて、マッチ条件８０１を生成し、登録する（ステップ１５０５）。
【０１２６】
マッチ条件では、ＩＰヘッダのＳＡにストレージ側ポートＩＰアドレス６０２を、ＩＰヘッダのＤＡにストレージＩＰアドレス６０３を、ＴＣＰヘッダの送信元ポートに送信元ポート６０５を、ＴＰヘッダの宛先ポートに仮想ボリュームのＴＣＰポート６０１Ｃを設定し、全てを満たすことを条件とする。
【０１２７】
例えば、仮想ボリュームＩＤがＶ１の場合であって、ストレージＩＰアドレス６０３として、「１９２．１６８．２．２」をステップ１５０４で選択した場合、送信時フィルタリングテーブル８００のマッチ条件８０１には、「（ＩＰヘッダのＳＡ＝１９２．１６８．２．１１）ＡＮＤ（ＩＰヘッダのＤＡ＝１９２．１６８．２．２）ＡＮＤ（ＴＣＰヘッダの送信元ポート＝３１００１）ＡＮＤ（ＴＣＰヘッダの宛先ポート＝３２６０）」と設定される。
【０１２８】
そして、処理８０２に通信品質管理テーブル５００の通信品質５０３を設定し（ステップ１５０６）、処理ＩＤ８０３を設定する（ステップ１５０７）。このとき、通信品質管理テーブル５００の本処理中のエントリの送信時のフィルタリング処理５０５Ｂに、前記処理ＩＤ８０３を設定する。
【０１２９】
ボリューム管理テーブル６００の該当仮想ボリュームのストレージＩＰアドレスが複数ある場合は（ステップ１５０８）、ステップ１５０４において未選択のストレージＩＰアドレスを選択し（ステップ１５０９）、ステップ１５０５以降の処理を行う。ステップ１５０５からステップ１５０８の処理を、該当仮想ボリュ-ム６０１Ａに登録されているストレージＩＰアドレス６０３の数だけ繰り返す。
【０１３０】
通信品質管理テーブル５００の該当エントリに、通信品質５０３の設定がない場合と（ステップ１５０２）、フィルタリング処理５０５Ａの登録がある場合（ステップ１５０３）は、処理を終了する。
【０１３１】
以上の処理を、ＣＰＵ１１５は、通信品質管理テーブル５００に登録されているエントリの数だけ繰り返す。
【０１３２】
以上説明したとおり、本実施形態によれば、仮想ボリューム単位に優先制御と帯域制御の通信品質を制御することができる。
【０１３３】
本実施形態によれば、仮想化スイッチ１００が提供する仮想ボリュームをサーバ装置１０５からアクセスする際に、仮想化スイッチ１００が、仮想化スイッチ１００とストレージ装置１０６との間の通信品質を制御することで、当該サーバ装置１０５が要求する性能を保証する。
【０１３４】
すなわち、従来、仮想化スイッチ１００とストレージ装置１０６との間の通信は、仮想化スイッチ１００がイニシエータとなってストレージ装置１０６をアクセスし、仮想ボリューム単位にパケットのフローは識別できなかった。しかし、本実施形態では、上述のように、通信品質管理テーブル５００、送信時フィルタリングテーブル８００を用意し、仮想化変換処理後のパケットのＩＰヘッダおよびＴＣＰヘッダの情報に従って当該パケットに要求された通信品質に応じたフィルタリングを行う。これにより、仮想化スイッチ１００において、仮想化する場合であっても、仮想ボリューム単位でパケットのフローを識別することを可能とし、優先度や帯域または性能制限といった通信品質の制御を実現している。
【０１３５】
なお、本実施形態では、上述のように、管理端末１１８を介して、管理者が、仮想化スイッチ１００のスイッチ管理部１０３に、通信品質管理テーブル５００およびボリューム管理テーブル６００を設定する構成を例にあげて説明した。しかしながら、上記テーブルの設定は、この方法に限られない。例えば、管理端末１１８そのものに生成し、その後、仮想化スイッチ１００に生成したテーブルのデータをコピーするよう構成してもよい。
【０１３６】
以下に、管理端末１１８において、テーブルのデータを生成する方法について説明する。
【０１３７】
図１６は、管理端末１１８のメインメモリ（不図示）に格納される代表的なプログラムおよびそれぞれのプログラムを実行する際に用いられるテーブルを示す図である。
【０１３８】
本図に示すように、管理端末１１８のメインメモリは、ＯＳ３０２とストレージ管理ソフトウェア３０３とを備える。ストレージ管理ソフトウェア３０３は、ログイン認証プログラム３０６Ａおよびそのログイン認証テーブル３０６Ｂ、ボリューム管理プログラム３０５Ａおよびそのボリューム管理テーブル３０５Ｂ、性能管理プログラム３０４Ａおよびその通信品質管理テーブル３０４Ｂ、を備える。
【０１３９】
以下、通信品質管理テーブル５００（３０４Ｂ）を例にあげて、管理端末１１８において、管理者からの指示に従って、本テーブルを設定する方法を説明する。これは、管理端末１１８のＣＰＵ（以下、ＣＰＵ１１８ｃと呼ぶ。）が性能管理プログラム３０４Ａを実行することにより実現する。図１７は、本処理の処理フローである。
【０１４０】
管理端末１１８のＣＰＵ１１８ｃは、ボリューム管理テーブル６００に仮想化スイッチ１００の仮想ボリュームの定義があるかを調べ（ステップ１９０１）、定義がある場合は、定義されている仮想ボリュームを管理者に提示し、管理者からの指示を待つ。
【０１４１】
管理者から仮想ボリュームの選択とともに選択された仮想ボリュームに設定する通信品質の指示を受け付けると（ステップ１９０２）、ＣＰＵ１１８ｃは、ボリューム管理テーブルの仮想ボリュームＩＤ６０１Ａに登録されているＩＤをキーに、通信品質管理テーブル５００の仮想ボリュームＩＤ５０４を検索し、管理者から選択の指示を受け付けた仮想ボリュームが、通信品質管理テーブル５００に定義されているかを調べる（ステップ１９０３）。
【０１４２】
定義がある場合は、ＣＰＵ管理者から選択の指示を受け付けた仮想ボリュームに対する通信品質に基づいて、通信品質５０３を設定し（ステップ１９０４）、処理を終了する。その後、ＣＰＵ１１８ｃは、設定した通信品質管理テーブル５００を、スイッチ管理部１０３に送信する。
【０１４３】
ボリューム管理テーブル６００に仮想化スイッチ１００の仮想ボリュームの定義がない場合（ステップ１９０１）や通信品質管理テーブル５００に選択した仮想ボリュームの定義がない場合（ステップ１９０３）は、処理を終了する。
【０１４４】
なお、本実施形態では、ボリューム管理テーブル６００に定義があるにもかかわらず、通信品質管理テーブル５００に定義がない仮想ボリュームは、通信品質を保証しないものとする。
【０１４５】
このように管理端末１１８から設定する構成の場合、例えば、仮想化スイッチ１００が複数ある場合など、複数の仮想化スイッチ１００の設定を、管理端末１１８においてまとめて行うことができる。
【０１４６】
また、本実施形態では、サーバ装置１０５とストレージ装置１０６との間に仮想化スイッチ１００を備え、仮想化スイッチ１００において仮想化する場合を例に挙げて説明した。しかし、上述のとおり、仮想化は、サーバ装置１０５とストレージ装置１０６との間に設けられたスイッチにおいて行われる場合に限られない。例えば、ストレージシステムにおいて、仮想化スイッチ１００を備えず、ストレージ装置１０６内で、仮想化を行う構成であっても、本実施形態は適用可能である。
【０１４７】
図１８に、ストレージ装置１０６が、図１の仮想化スイッチ１００の構成を備える場合のストレージシステムの全体構成を示す。
【０１４８】
本ストレージシステムは、本実施形態の仮想化スイッチ１００の替わりに、仮想化機能つきのストレージ装置２０００を備える。その他の点は、図１の構成と同様である。
【０１４９】
ここでは、ストレージ装置２０００として、仮想化機能を有するＲＡＩＤ（Redundant Arrays of Inexpensive(or Independent) Disks）装置を例にあげて説明する。
【０１５０】
図１８に示すように、ストレージ装置２０００は、スイッチ１０４、サーバ１０５、ストレージ１０６等を接続するための複数のポートを有する、パケット転送制御部２００１、２００１Ａ、２００１Ｂと、複数の記憶装置２００７にアクセスするためのディスクアダプタ２００６と、キャッシュメモリを有するキャッシュアダプタ２００５と、ストレージ管理部２００３と、パケット転送部２００１、ストレージ管理部２００３およびキャッシュアダプタ２００５を接続するクロスバースイッチ２００２と、を備える。
【０１５１】
なお、ストレージ装置２０００が、ＮＡＳ（Network Attached Storage）機能を持つ場合は、複数のポートを持つＮＡＳエンジン２００４がパケット転送制御部２００１、２００１Ａ、２００１Ｂに接続される。また、パケット転送制御部２００１、２００１Ａ、２００１Ｂ、キャッシュアダプタ２００５、ディスクアダプタ２００６は複数備えてもよい。
【０１５２】
ストレージ装置２０００に接続されるスイッチ１０４、サーバ１０５、ストレージ１０６は、図１の仮想化スイッチ１００の接続構成と同様な接続構成である。
【０１５３】
また、ストレージ装置２０００が備えるパケット転送制御部２００１およびストレージ管理部２００３は、それぞれ、図１の仮想化スイッチ１００が備える同名の構成と同様である。また、パケット転送制御部２００１Ａがパケット転送制御部（受信時）１０１Ａ、パケット転送制御部２００１Ｂがパケット転送制御部（送信時）１０１Ｂに対応する構成を備える。
【０１５４】
図１８の構成のストレージシステムでは、ストレージ装置２０００内において、上述の図を用いて説明した機能を実現し、サーバ１０５とストレージ１０６との間で、仮想ボリューム単位での通信品質の制御を実現する。
【０１５５】
＜＜第二実施形態＞＞
次に本発明の第二の実施形態を、図１９から図２１を用いて説明する。第一の実施形態では、サーバ装置１０５ごとに通信品質が指定されていたが、第二の実施形態では、仮想ボリューム毎に、優先度が付与されている実施形態を説明する。ここでは、仮想化スイッチ１００において、仮想ボリューム単位に優先制御のみの通信品質を制御する。なお、以下においては、第一の実施形態と異なる構成についてのみ説明する。
【０１５６】
本実施形態では、ＩＰヘッダのＴＯＳ（Type of Service）に設定された優先度と、ＴＣＰヘッダの宛先ポートとによって送信時にフィルタリング処理を行う。
【０１５７】
送信時のフィルタリングテーブルに、通信品質管理テーブル５００に設定された通信品質と、ＴＯＳとの関係を設定する。具体的には、「優先」と設定されている場合５（優先度高）を、「非優先」と設定されている場合は、０（優先度低）を設定する。
【０１５８】
まず、本実施形態において、送信時フィルタリングテーブル８００を作成する処理について説明する。図１９は、本処理の処理フローである。以下の処理は、第一の実施形態と同様に、ＣＰＵ１１５が、通信品質管理プログラム２０２Ｅを実行することにより行われる。
【０１５９】
処理ステップ１６０１から１６０４までの処理は、図１５の処理ステップ１５０１から１５０４までの処理の説明と同様である。引き続き、通信品質管理テーブル５００の該当エントリの優先度５０３Ａが「優先」である場合（ステップ１６０５）、「優先」であることを、ＩＰヘッダのＴＯＳの条件に設定する。すなわち、送信時フィルタリングテーブル８００のマッチ条件８０１として、ＩＰヘッダのＴＯＳの優先度と、ＴＣＰヘッダの宛先ポートの条件を設定する（ステップ１６０６）。
【０１６０】
例えば、エントリ５０６Ａを抽出した場合、「（ＩＰヘッダのＴＯＳの優先度＝５（優先度高））ＡＮＤ（ＴＣＰヘッダの宛先ポート＝３２６０）」が、マッチ条件８０１に設定される。
【０１６１】
一方、ステップ１６０５において、通信管理テーブル５００の該当エントリの優先度５０３Ａが「優先」でない場合は、送信時フィルタリングテーブル８００のマッチ条件８０１のＴＯＳの条件として優先度低の０が設定される。具体的には、マッチ条件８０１に、「（ＩＰヘッダのＴＯＳの優先度＝０（優先度低））ＡＮＤ（ＴＣＰヘッダの宛先ポート＝３２６０）」と設定し（ステップ１６０６）、処理ステップ１６０７以降の処理を行う。
【０１６２】
そして、処理８０２に通信品質管理テーブル５００の通信品質５０３を設定し（ステップ１６０７）、処理ＩＤ８０３を設定する（ステップ１６０８）。設定した処理ＩＤ８０３は、通信品質管理テーブル５００のフィルタリング処理（送信時）５０５Ｂにも設定される。
【０１６３】
ボリューム管理テーブル６００の該当仮想ボリュームのストレージＩＰアドレス６０３が他にもある場合は（ステップ１６０９）、そのストレージＩＰアドレスを選択し（ステップ１６１２）、ステップ１６０５以降の処理を行う。第一の実施形態同様、ステップ１６０５から１６１２の処理は、ストレージＩＰアドレス６０３として登録されているＩＰアドレスの数だけ繰り返される。
【０１６４】
通信品質管理テーブル５００の該当エントリに、通信品質５０３の設定がない場合と（ステップ１６０２）、フィルタリング処理５０５Ｂの登録がある場合（ステップ１６０３）は、処理を終了する。
【０１６５】
図２０は、図１９で示した処理フローにより作成される送信時フィルタリングテーブル８００の構成例を示す図である。本実施形態の送信時フィルタリングテーブル８００は、図８で示した送信時フィルタリングテーブル８００のエントリ８０４Ａ、８０４Ｂ、８０４Ｃ、８０４Ｄと内容の異なるエントリ１７０１Ａ、１７０１Ｂを備える。
【０１６６】
次に、第一の実施形態の図１１で示したパケット転送制御部（受信時）１０１の仮想化パケット処理部１１０とそれに続く通信品質制御部１１１との処理について、説明する。図２１は、本処理の処理フローである。図１１と同じ処理には、同じステップ番号が付与されている。
【０１６７】
なお、下記の処理は、通信品質管理プログラム２０２Ｅが、ＣＰＵ１１３において実行されることにより実現される。
【０１６８】
仮想化パケット処理部１１０は、処理ステップ１１０５に引き続き、通信品質管理テーブル５００の該当仮想ボリュームのエントリを読み込む（ステップ１８０１）。読み込んだエントリに通信品質５０３の設定がある場合（ステップ１８０２）、仮想化パケット処理部１１０は、優先度５０３Ａの設定を確認する（ステップ１８０３）。
【０１６９】
優先度５０３Ａが「優先」である場合、仮想化パケット処理部１１０は、上記プログラム内の変数である優先度フラグを１に設定し（ステップ１８０４）、処理ステップ１１０６以降の処理を行う。
【０１７０】
ステップ１８０２において通信品質５０３の設定がない場合と、ステップ１８０３において優先度５０３Ａが「優先」ではない場合は、仮想化パケット処理部１１０は、上記プログラム内の変数である優先度フラグを０に設定し（ステップ１８０５）、処理ステップ１１０６以降の処理を行う。
【０１７１】
また、処理ステップ１１１１に引き続き、優先度フラグが１である場合（ステップ１８１１）、受信したパケットのＩＰヘッダのＴＯＳの優先度を５に設定し、処理ステップ１１１２以降の処理を行う。優先度フラグが1ではない場合（ステップ１８１１）、パケットのＩＰヘッダのＴＯＳの優先度を０に設定し、処理ステップ１１１２以降の処理を行う。
【０１７２】
以上で示した説明により、本実施形態においても、仮想ボリューム単位に、優先制御のみではあるが、通信品質を制御することができる。本実施形態では、第一の実施の形態と比較して、帯域制御は行えないが、送信時フィルタリングテーブル８００のマッチ条件８０１の内容を削減し、検索処理を高速化できる。本実施形態においては、パケットのＩＰヘッダのＴＯＳの優先度を利用する場合を例にあげて説明したが、これに限られない。例えば、ＩＰヘッダのＴＯＳの優先度の代わりに、ＶＬＡＮタグ内の優先度を利用してもよい。
【０１７３】
また、本実施形態においても、仮想化スイッチ１００の機能を、ストレージサブ装置１０６が有する構成としてもよい。
【０１７４】
＜＜第三実施形態＞＞
次に本発明の第三の実施形態を図を用いて説明する。本実施形態では、仮想化スイッチ１００で使用するフィルタリングテーブルを、その他のスイッチ１０４においても使用して、ネットワーク全体で通信品質保証を行うものである。
【０１７５】
図２２は、本実施形態のストレージシステムの構成図である。
【０１７６】
本図に示すように、本実施形態のストレージシステムは、図１で示したストレージシステムのネットワーク構成例に、管理用の管理ＬＡＮが追加され、管理端末１１８が、管理ＬＡＮを介してストレージシステムに接続されている。ＳＡＮのネットワーク２１０１と管理ＬＡＮ２１０２とは別のネットワークである。
【０１７７】
本実施形態では、第一の実施形態で仮想化スイッチ１００が持つ、受信時フィルタリングテーブル７００と送信時フィルタリングテーブル８００とを、その他のスイッチにも設定または配布する。
【０１７８】
本実施形態においては、管理端末１１８の性能管理プログラム３０４Ａは、図１６で示した通信品質管理テーブル３０４Ｂに加え、フィルタリングテーブル２１０３を生成する。管理端末１１８の性能管理プログラム３０４Ａは、フィルタリングテーブル７００および８００をフィルタリングテーブル２１０３として生成し、管理ＬＡＮ２１０２を経由して、仮想化スイッチ１００およびスイッチ１０４に設定または配布する。設定または配布の流れを、図２２に矢印２１０４で示す。
【０１７９】
なお、全てのスイッチ１０４に、フィルタリングテーブル７００および８００を設定または配布する必要はない。例えば、仮想化スイッチ１００とサーバ装置１０５との間のスイッチＡ（１０４）とスイッチＢ（１０４）とには、受信時フィルタリングテーブル７００のみを設定または配布し、仮想化スイッチ１００とストレージＣ（１０６Ｃ）との間のスイッチＣ（１０４）には、送信時フィルタリングテーブル８００のみを設定または配布するよう構成してもよい。
【０１８０】
管理端末１１８と仮想化スイッチ１００とスイッチ１０４との間で、受信時フィルタリングテーブル７００と送信時フィルタリングテーブル８００との設定または配布を行うために、ＳＮＭＰ（Simple Network Management Protocol）のようなプロトコルを使用することも可能である。
【０１８１】
なお、以上の実施形態においては、ネットワークのプロトコルとして、ｉＳＣＳＩを例にあげて説明したが、プロトコルはこれに限られない。例えば、ファイバチャネルなどの場合であっても、同様に本発明は適用できる。
【０１８２】
以上、第一、第二、第三の実施形態によれば、このようなストレージシステムにおいて、仮想ボリューム単位で、ストレージシステム全体で通信品質の制御を行うことができる。
【図面の簡単な説明】
【０１８３】
【図１】図１は、本実施形態のストレージシステム全体および仮想化スイッチの構成図である。
【図２】図２は、パケット転送制御部の代表的なプログラムおよびテーブルを説明するための図である。
【図３】図３は、スイッチ管理部の代表的なプログラムおよびテーブルを説明するための図である。
【図４】図４は、ルーティングテーブルの構成例を示す図である。
【図５】図５は、通信品質管理テーブルの構成例を示す図である。
【図６】図６は、ボリューム管理テーブルの構成例を示す図である。
【図７】図７は、受信時フィルタリングテーブルの構成例を示す図である。
【図８】図８は、送信時フィルタリングテーブルの構成例を示す図である。
【図９】図９は、受信時のパケット振分け処理部の処理フローである。
【図１０】図１０は、受信時の通常パケット処理部および通信品質制御部の処理フローである。
【図１１】図１１は、受信時の仮想化パケット処理部と通信品質制御部の処理フローである。
【図１２】図１２は、送信時の通常パケット処理部と通信品質制御部の処理フローである。
【図１３】図１３は、ｉＳＣＳＩパケットの構成例を示す図である。
【図１４】図１４は、受信時フィルタリングテーブルを作成する処理フローである。
【図１５】図１５は、送信時フィルタリングテーブルを作成する処理フローである。
【図１６】図１６は、管理端末の代表的なプログラムとテーブルを説明するための図である。
【図１７】図１７は、性能管理プログラムの処理フローである。
【図１８】図１８は、仮想化機能を有するストレージ装置の構成例を示す図である。
【図１９】図１６は、第二の実施形態の送信時フィルタリングテーブルを作成する処理フローである。
【図２０】図２０は、第二の実施形態の送信時フィルタリングテーブルの構成例を示す図である。
【図２１】図２１は、第二の実施形態の仮想化パケット処理部と通信品質制御部の処理フローである。
【図２２】図２２は、第三の実施形態のストレージシステムの構成図である。
【符号の説明】
【０１８４】
１００・・・仮想化スイッチ、１０１・・・パケット転送制御部、１０１Ａ・・・パケット転送制御部（受信時）、１０１Ｂ・・・パケット転送制御部（送信時）、１０２・・・クロスバースイッチ、１０３・・・スイッチ管理部、１０４・・・スイッチ、１０５、１０５Ａ、１０５Ｂ、１０５Ｃ・・・サーバ装置、１０６、１０６Ａ、１０６Ｂ・・・ストレージ装置、１０７、１０７Ａ、１０７Ｂ、１０７Ｃ、１０７Ｄ・・・ポート、１０８・・・パケット振分け処理部、１０９・・・通常パケット処理部、１１０・・・仮想化パケット処理部、１１１・・・通信品質制御部、１１２・・・スイッチＩ/Ｆ制御部、１１３、１１５・・・ＣＰＵ、１１４、１１６・・・メモリ、１１７・・・管理用Ｉ/Ｆ、１１８・・・管理端末
【図１】
2005323245.tif 000003
【図２】
2005323245.tif 000004
【図３】
2005323245.tif 000005
【図４】
2005323245.tif 000006
【図５】
2005323245.tif 000007
【図６】
2005323245.tif 000008
【図７】
2005323245.tif 000009
【図８】
2005323245.tif 000010
【図９】
2005323245.tif 000011
【図１０】
2005323245.tif 000012
【図１１】
2005323245.tif 000013
【図１２】
2005323245.tif 000014
【図１３】
2005323245.tif 000015
【図１４】
2005323245.tif 000016
【図１５】
2005323245.tif 000017
【図１６】
2005323245.tif 000018
【図１７】
2005323245.tif 000019
【図１８】
2005323245.tif 000020
【図１９】
2005323245.tif 000021
【図２０】
2005323245.tif 000022
【図２１】
2005323245.tif 000023
【図２２】
2005323245.tif 000024