(57)【特許請求の範囲】
【請求項１】
第１のＦＣ（ファイバチャネル）スイッチと通信するための少なくとも１つの物理ポートをそれぞれが含む、ネットワークを介して互いに通信する複数のストレージ制御ユニットと、
前記複数のストレージ制御ユニットの第１のストレージ制御ユニットにおける前記物理ポートの第１のポート上で作成された少なくとも１つの第１の仮想ポートと、
前記第１のストレージ制御ユニットと通信する外部ストレージシステム上の論理ボリュームにマッピングされる、前記第１のストレージ制御ユニット上に作成された第１の仮想ボリュームとを含むストレージシステムであって、
コンピュータが、前記論理ボリュームにアクセスするために前記第１の仮想ポートを介して前記第１の仮想ボリュームにアクセスし、
前記第１の仮想ポートおよび前記第１の仮想ボリュームが、前記ストレージ制御ユニットの第２のストレージ制御ユニット上の別の物理ポートに転送されることが可能であるかどうかを考慮する際、前記第１の仮想ポートおよび前記第２のストレージ制御ユニット上の前記第１の仮想ボリュームを介して前記論理ボリュームにアクセスするのに、前記複数のストレージ制御ユニット間の通信が、要求されるかどうかについての判定が行われ、
前記第１の仮想ポートが、前記第２のストレージ制御ユニットに転送される前に、前記第１のストレージ制御ユニットは、転送されるべきポートとして前記第１の仮想ポートを識別する通知を前記第１のＦＣスイッチに送信し、
前記第１のＦＣスイッチは、前記第１の仮想ポートへのフレームの伝送を一時停止し、
前記第１のストレージ制御ユニットは、受信されたフレームの処理を完了して、前記第１の仮想ポートの転送を始めるよう前記第２のストレージ制御ユニットに命令し、
前記第２のストレージ制御ユニットは、前記第１の仮想ポートを前記第２のストレージコントローラに転送するために、前記第１の仮想ポートの既存の識別子を使用して前記第１のＦＣスイッチからファブリックログインを要求し、
前記第１のＦＣスイッチは、前記第１の仮想ポートおよび前記第１の仮想ボリュームを介して前記第１の論理ボリュームにアクセスするために、前記コンピュータから受信されたフレームを前記第２のストレージ制御ユニット上の前記第１の仮想ポートに送信することを再開するストレージシステム。
【請求項２】
第１のＦＣ（ファイバチャネル）スイッチと通信するための少なくとも１つの物理ポートをそれぞれが含む、ネットワークを介して互いに通信する複数のストレージ制御ユニットと、
前記複数のストレージ制御ユニットの第１のストレージ制御ユニットにおける前記物理ポートの第１のポート上で作成された少なくとも１つの第１の仮想ポートと、
前記第１のストレージ制御ユニットと通信する外部ストレージシステム上の論理ボリュームにマッピングされる、前記第１のストレージ制御ユニット上に作成された第１の仮想ボリュームとを含むストレージシステムであって、
コンピュータが、前記論理ボリュームにアクセスするために前記第１の仮想ポートを介して前記第１の仮想ボリュームにアクセスし、
前記第１の仮想ポートおよび前記第１の仮想ボリュームが、前記ストレージ制御ユニットの第２のストレージ制御ユニット上の別の物理ポートに転送されることが可能であるかどうかを考慮する際、前記第１の仮想ポートおよび前記第２のストレージ制御ユニット上の前記第１の仮想ボリュームを介して前記論理ボリュームにアクセスするのに、前記複数のストレージ制御ユニット間の通信が、要求されるかどうかについての判定が行われ、
前記第１のＦＣスイッチに関してフロー制御が使用される場合、前記第１の仮想ポートが、前記第２のストレージ制御ユニットに転送される前に、前記第１のストレージ制御ユニットは、前記第１のＦＣスイッチ上のバッファが一杯になるまで、受信されたフレームに関する応答を前記第１のＦＣスイッチに送信することを停止し、
前記第１のストレージ制御ユニットは、前記受信されたフレームの処理を完了して、前記第１の仮想ポートの転送を始めるよう前記第２のストレージ制御ユニットに命令し、
前記第２のストレージ制御ユニットは、前記第１の仮想ポートを前記第２のストレージコントローラに転送するために、前記第１の仮想ポートの既存の識別子を使用して前記第１のＦＣスイッチからファブリックログインを要求し、前記第２のストレージコントローラは、前記第１の仮想ポートおよび前記第１の仮想ボリュームを介して前記第１の論理ボリュームにアクセスするために前記コンピュータから受信されたフレームに関して、前記第１のＦＣスイッチに応答を送信することを再開するストレージシステム。
【請求項３】
第１のＦＣ（ファイバチャネル）スイッチと通信するための１つまたは複数の物理ポートをそれぞれが含む、ネットワークを介して互いに通信する複数のストレージ制御ユニットを有するストレージシステムを動作させる方法であって、
前記複数のストレージ制御ユニットの第１のストレージ制御ユニットにおける前記物理ポートの第１の物理ポート上で、少なくとも１つの第１の仮想ポートを作成するステップと、
前記第１のＦＣスイッチと通信するコンピュータが、前記第１の仮想ポートを介して前記第１の仮想ボリュームにアクセスすることにより、前記論理ボリュームにアクセスすることができるところの、前記第１のストレージ制御ユニット上の第１の仮想ボリュームを、前記第１のストレージ制御ユニットと通信する外部ストレージシステム上の論理ボリュームにマップするステップと、
前記第１の仮想ポートおよび前記第１の仮想ボリュームが、前記第２のストレージ制御ユニット上の別の物理ポートに転送されることが可能であるかどうかを考慮する際、前記コンピュータが、前記第１の仮想ポートおよび前記ストレージ制御ユニットの第２のストレージ制御ユニット上の前記第１の仮想ボリュームを介して前記論理ボリュームにアクセスするのに、前記複数のストレージ制御ユニット間の通信が、要求されるかどうかを判定するステップと、
前記第１の仮想ポートが、前記第２のストレージ制御ユニットに転送される前に、前記第１のストレージ制御ユニットにより、転送されるべきポートとして前記第１の仮想ポートを識別する通知を前記第１のＦＣスイッチに送信するステップと、
前記第１のＦＣスイッチにより、前記第１の仮想ポートへのフレームの伝送を一時停止するステップと、
前記第１のストレージ制御ユニットによって受信されたフレームの処理を完了して、前記第１の仮想ポートの転送を始めるよう、前記第２のストレージ制御ユニットに命令するステップと、
前記第１の仮想ポートを前記第２のストレージコントローラに転送するために、前記第２のストレージ制御ユニットにより、前記第１の仮想ポートの既存の識別子を使用して、前記第１のＦＣスイッチにファブリックログインを要求するステップと、
前記第１のＦＣスイッチにより、前記第１の仮想ポートおよび前記第１の仮想ボリュームを介して前記第１の論理ボリュームにアクセスするために前記コンピュータから受信されたフレームを、前記第２のストレージ制御ユニット上の前記第１の仮想ポートに送信することを再開するステップと、を含むストレージシステムの動作方法。
【請求項４】
第１のＦＣ（ファイバチャネル）スイッチと通信するための１つまたは複数の物理ポートをそれぞれが含む、ネットワークを介して互いに通信する複数のストレージ制御ユニットを有するストレージシステムを動作させる方法であって、
前記複数のストレージ制御ユニットの第１のストレージ制御ユニットにおける前記物理ポートの第１の物理ポート上で、少なくとも１つの第１の仮想ポートを作成するステップと、
前記第１のＦＣスイッチと通信するコンピュータが、前記第１の仮想ポートを介して前記第１の仮想ボリュームにアクセスすることにより、前記論理ボリュームにアクセスすることができるところの、前記第１のストレージ制御ユニット上の第１の仮想ボリュームを、前記第１のストレージ制御ユニットと通信する外部ストレージシステム上の論理ボリュームにマップするステップと、
前記第１の仮想ポートおよび前記第１の仮想ボリュームが、前記第２のストレージ制御ユニット上の別の物理ポートに転送されることが可能であるかどうかを考慮する際、前記コンピュータが、前記第１の仮想ポートおよび前記ストレージ制御ユニットの第２のストレージ制御ユニット上の前記第１の仮想ボリュームを介して前記論理ボリュームにアクセスするのに、前記複数のストレージ制御ユニット間の通信が、要求されるかどうかを判定するステップと、
フロー制御が、前記第１のＦＣスイッチに関して使用される場合、前記第１の仮想ポートが、前記第２のストレージ制御ユニットに転送される前に、前記第１のＦＣスイッチ上のバッファが一杯になるまで、前記第１のストレージ制御ユニットにより、受信されたフレームに関する応答を前記第１のＦＣスイッチに送信することを停止するステップと、
前記第１のストレージ制御ユニットにおける前記受信されたフレームの処理を完了するステップと、
前記第１の仮想ポートの転送を始めるよう、前記第２のストレージ制御ユニットに命令するステップと、
前記第１の仮想ポートを前記第２のストレージコントローラに転送するために、前記第２のストレージ制御ユニットにより、前記第１の仮想ポートの既存の識別子を使用して、前記第１のＦＣスイッチにファブリックログインを要求するステップと、
前記第２のストレージ制御ユニットにより、前記第１の仮想ポートおよび前記第１の仮想ボリュームを介して前記第１の論理ボリュームにアクセスするために前記コンピュータから受信されたフレームに関して、前記第１のＦＣスイッチに応答を送信することを再開するステップと、を含むストレージシステムの動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
[0002]  本発明は、ストレージシステムおよびストレージシステムの動作方法に関する。
【背景技術】
【０００２】
[0003]  関連技術の説明
[0004]  最近の動向によれば、複数の分散されたコンピューティングリソースが単一のエンティティの役割をするように動作させられる「ストレージグリッド」と呼ばれる概念が存在する。そのようなストレージグリッドは、ストレージ業界で、より広く使用されるようになっている。一形態のストレージグリッドとして、複数のストレージ制御ユニットが一緒に構成されて単一のストレージシステムの役割をする構成を構築することができる。そのような構成では、複数のストレージ制御ユニットが、ユニット間ネットワークを介して互いに接続される。この複数のストレージ制御ユニットは、ユニット間ネットワークを介して管理情報およびデータを交換して、これらのユニットが単一のストレージシステムとして機能できるようにする。しかし、そのようなストレージグリッド構成の欠点が生じる可能性があるのは、ユニット間ネットワーク自体が、ホストコンピュータからのＩ／Ｏ（入力／出力）要求を処理するのに使用される場合である。特に、それらのＩ／Ｏ要求の処理パフォーマンスは、ユニット間ネットワークが、Ｉ／Ｏ要求を処理するのに使用されなければならない場合には、ユニット間ネットワークを使用せずにストレージ制御ユニットのうちの１つのユニット内だけで完了されるＩ／Ｏ要求に関する処理パフォーマンスと比べて低下する可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
[0005]  関連技術は、参照により開示全体が本明細書に組み込まれている、「Ｓｅｃｕｒｉｔｙ  ｆｏｒ  Ｌｏｇｉｃａｌ  Ｕｎｉｔ  ｉｎ  Ｓｔｏｒａｇｅ  Ｓｕｂｓｙｓｔｅｍ」という名称のＩｔｏ他に発行された米国特許第６７７９０８３号Ｂ２、および「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｍａｎａｇｉｎｇ  Ｖｉｒｔｕａｌ  Ｐｏｒｔｓ  ｏｎ  Ｓｔｏｒａｇｅ  Ｓｙｓｔｅｍｓ」という名称の、２００７年７月１８日に出願された、Ｊ．ＨＡＲＡ他の米国特許出願第１１／８２６７１７号を含む。また、関連技術は、ファイバチャネル標準、およびＩＮＣＩＴＳ（ＩｎｔｅｒＮａｔｉｏｎａｌ  Ｃｏｍｍｉｔｔｅｅ  ｆｏｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ  Ｓｔａｎｄａｒｄｓ）Ｔｅｃｈｎｉｃａｌ  Ｃｏｍｍｉｔｔｅｅ  Ｔ１１（例えば、ｔ１１．ｏｒｇ）から入手可能であるような、対応する仕様書も含む。特に、例えば、ＦＣ−ＦＳ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｆｒａｍｉｎｇ  ａｎｄ  Ｓｉｇｎａｌｉｎｇ）、ＦＣ−ＤＡ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｄｅｖｉｃｅ  Ａｔｔａｃｈ）、ＦＣ−ＬＳ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｌｉｎｋ  Ｓｅｒｖｉｃｅｓ）、ＦＣ−ＧＳ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｇｅｎｅｒｉｃ  Ｓｅｒｖｉｃｅｓ）、およびＦＣ−ＰＨ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｐｈｙｓｉｃａｌ  ａｎｄ  Ｓｉｇｎａｌｉｎｇ  Ｉｎｔｅｒｆａｃｅ）と関係する文書が、本発明と関係する。例えば、参照により開示が本明細書に組み込まれている、２００７年６月２９日に、Ａｍｅｒｉｃａｎ  Ｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄｓ  Ｉｎｓｔｉｔｕｔｅ，Ｉｎｃ．によって発行された「Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｆｒａｍｉｎｇ  ａｎｄ  Ｓｉｇｎａｌｉｎｇ−３（ＦＣ−ＦＳ−３）Ｐｒｏｊｅｃｔ  Ｔ１１／１８６１−Ｄ  Ｒｅｖ  ０．２０」は、ファイバチャネルリンクに関するフレーミング要件およびシグナリング要件を説明する。
【課題を解決するための手段】
【０００４】
[0006]  本発明は、複数のストレージ制御ユニットを含むストレージシステム、および、これらのストレージシステムを含むＳＡＮ（ストレージエリアネットワーク）を実現する。本発明は、Ｉ／Ｏ処理を実行する際、ストレージ制御ユニット間の通信を回避して、Ｉ／Ｏ処理パフォーマンスが低下しないようにすることを可能にする。本発明の以上、およびその他の特徴および利点は、好ましい実施形態の以下の詳細な説明に鑑みて、当業者には明白となろう。
【０００５】
[0007]  添付の図面は、前段で与えられた一般的な説明、および後段で与えられる好ましい実施形態の詳細な説明と一緒になって、現在、企図されている本発明の最良の形態の好ましい実施形態の原理を例示し、説明する役割をする。
【発明を実施するための最良の形態】
【０００６】
[0047]  本発明の以下の詳細な説明において、本開示の一部分を形成し、例として、限定としてではなく、本発明が実施されることが可能な特定の実施形態が示される、添付の図面が参照される。それらの図面において、同様の符号は、いくつかの図面のすべてで、実質的に同様の構成要素を表す。さらに、図面、前段の説明、および後段の説明は、単に例示的で、説明的であり、本発明の範囲、または本出願を限定することを全く意図していない。
【０００７】
[0048]  本発明の実施形態は、仮想ポートを提供するための機能を含むストレージシステムを教示する。ストレージシステムは、ストレージシステムを構成する複数のストレージ制御ユニット上の物理ポートの間で仮想ポートを転送することができる。また、ストレージシステムは、論理ボリューム、仮想ボリューム、および仮想ポートをグループとして管理することもできる。管理者が、ストレージ制御ユニットの間で仮想ポート、論理ボリューム、仮想ボリューム、または仮想ポートとボリュームのグループを転送するよう、管理サーバを介してストレージシステムに命令すると、ストレージシステムの管理サーバは、命令された転送が行われた後、Ｉ／Ｏ要求に応答する際に、その複数のストレージ制御ユニット間の通信のためにユニット間ネットワークが使用されることが要求されるかどうかを判定する。転送の後、ユニット間ネットワークが使用されることが要求されると判定された場合、ストレージシステムの管理サーバは、使用されるべき代替の制御ユニットを決定し、そのユニットを管理者に提示して、転送が行われた後に、ユニット間ネットワークが使用されなくてもよいようにする。
【０００８】
[0049]  システム構成
[0050]  図１は、本発明が適用されることが可能な情報システムの例示的な構成を示す。ストレージシステム１００が、１つまたは複数のフロントエンドＦＣスイッチ１４０を介して、１つまたは複数のホストコンピュータ１５０と通信しており、ＬＡＮ（ローカルエリアネットワーク）１７０を介して、管理サーバ１６０およびホスト１５０と通信している。ストレージシステム１００は、ストレージグリッド構成で構成され、複数のストレージ制御ユニット１０１、１つまたは複数のバックエンドＦＣスイッチ１２０、および１つまたは複数の外部ストレージ制御ユニット１３０を含む。各ストレージ制御ユニット１０１は、ＣＰＵ１０２、メモリ１０３、ＮＶＲＡＭ（不揮発性ランダムアクセスメモリ）１０４、キャッシュメモリ１０５、ディスクコントローラ１０６、複数のディスクドライブ１０７、複数のＦＣインタフェースコントローラ１０８、イーサネット（登録商標）インタフェースコントローラ１１０、およびユニット間ネットワークコントローラ１１２を含む。これらの構成要素は、内部バス１１１を介して互いに接続される。さらに、３つのストレージ制御ユニット１０１ａ〜１０１ｃが、図示されているが、本発明は、いずれの特定の数のストレージ制御ユニットにも限定されない。
【０００９】
[0051]  ＣＰＵ１０２は、ストレージ制御ユニット１０１の制御を管理するのに対して、メモリ１０３は、ＣＰＵ１０２によって実行されるプログラムを格納する。ＣＰＵ１０２は、メモリ１０３の中に格納されたマイクロプログラムを実行して、ディスクコントローラ１０６、ＦＣインタフェースコントローラ１０８、イーサネット（登録商標）インタフェースコントローラ１１０などを制御するようにする。また、ＣＰＵ１０２は、ユニット間ネットワークコントローラ１１２およびユニット間ネットワーク１１３を介して、その他のストレージ制御ユニット１０１と管理情報およびデータを交換して、この複数のストレージ制御ユニット１０１が、単一のストレージシステムとして機能できるようにする。本発明を実現するプログラムのいくつかは、ＣＰＵ１０２によって実行されることが可能であり、メモリ１０３、または他のコンピュータ可読媒体上に格納されることが可能である。
【００１０】
[0052]  ＮＶＲＡＭ１０４は、電源がオフにされている場合でも、管理情報を保持することができる不揮発性メモリである。キャッシュメモリ１０５は、ＦＣインタフェースコントローラ１０８およびディスクコントローラ１０６の間で交換されるべきデータを一時的に格納する役割をする。ディスクコントローラ１０６は、ＣＰＵ１０２からの命令に従ってディスクドライブ１０７とデータを交換する。ＣＰＵ１０２は、ディスクコントローラ１０６を介して、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）構成（例えば、ＲＡＩＤレベル０、１、または５）になっているディスクドライブ１０７を制御する。ＲＡＩＤ構成において、複数のディスクドライブ１０７は、１つのグループ（以降、ＲＡＩＤグループと呼ばれる）として管理される。１つまたは複数の論理ボリューム（すなわち、論理ユニット、つまり、ＬＵ）が、各ＲＡＩＤグループ上で論理的に構成され、ホスト１５０のためのストレージの役割をする。ＬＵＮ（論理ユニット番号）と呼ばれる識別子が、各論理ボリュームに割り当てられる。ＲＡＩＤ構成情報は、ＮＶＲＡＭ１０４の中に格納され、ＣＰＵ１０２が、データＲＥＡＤプロセスまたはデータＷＲＩＴＥプロセスを実行する際、そのＣＰＵ１０２によって参照される。さらに、本発明は、ディスクコントローラ１０６およびディスクドライブ１０７なしで機能するように構成されることも可能であり、ストレージシステムによって使用される物理ストレージは、複数のストレージ制御ユニット１０１と通信する１つまたは複数の外部ストレージシステム１３０内に配置されてもよいことに留意されたい。
【００１１】
[0053]  光ファイバケーブルまたは銅線ケーブルなどを介して、ＦＣインタフェースコントローラ１０８の１つは、フロントエンドＦＣスイッチ１４０に接続され、他方のＦＣインタフェースコントローラ１０８は、バックエンドＦＣスイッチ１２０に接続される。イーサネット（登録商標）インタフェースコントローラ１１０は、ＬＡＮ１７０を介してホスト１５０および管理サーバ１６０に接続される。ユニット間ネットワークコントローラ１１２は、ＣＰＵ１０２が、データを交換し、その他のストレージ制御ユニット１０１上のＣＰＵ１０２と管理情報を同期することを可能にする。ストレージ制御ユニット１０１は、ユニット間ネットワークコントローラ１１２経由でユニット間ネットワーク１１３を介して、互いに接続される。ＰＣＩ−Ｅｘｐｒｅｓｓ、Ｉｎｆｉｎｉｂａｎｄなどの高速接続インタフェースが、ユニット間通信において使用するのに望ましい。しかし、ファイバチャネル、イーサネット（登録商標）などの、より従来どおりのネットワークインタフェースが、このインタフェースとして使用されることも可能である。そのような事例では、ＦＣインタフェースコントローラ１０８またはイーサネット（登録商標）インタフェースコントローラ１１０が、ユニット間ネットワークコントローラ１１２として使用されてもよい。それらの実施形態において、フロントエンドＦＣスイッチ１４０またはバックエンドＦＣスイッチ１２０によって仲介されるＳＡＮ、あるいはＬＡＮ１７０、または他のネットワークもしくは通信リンクが、ユニット間ネットワーク１１３として使用されることが可能である。
【００１２】
[0054]  バックエンドＦＣスイッチ１２０は、ＦＣ−ＳＷ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｓｗｉｔｃｈｅｄ  Ｆａｂｒｉｃ）標準に準拠するストレージ制御ユニット１０１と外部ストレージ制御ユニット１３０の間の通信を仲介する。一般に、ＦＣ−ＳＷ標準に従って確立された通信ネットワークは、ＳＡＮ（ストレージエリアネットワーク）と呼ばれる。図４に示されるとおり、ＦＣスイッチ１２０、１４０は、通常、ＣＰＵ４０１、メモリ４０２、ＮＶＲＡＭ４０３、キャッシュメモリ４０４、および複数のＦＣインタフェースコントローラ４０５を含む。本発明は、ＦＣスイッチが、ホスト１５０、ストレージ制御ユニット１０１、および外部ストレージ制御ユニット１３０の間で仲介することができるという条件付きで、フロントエンドＦＣスイッチ１４０とバックエンドＦＣスイッチ１２０の両方の役割をする１つのＦＣスイッチを有して構成されてもよい。
【００１３】
[0055]  外部ストレージ制御ユニット１３０は、ストレージ制御ユニット１０１に接続され、ストレージ制御ユニット１０１によって管理される。各外部ストレージ制御ユニット１３０は、ストレージ制御ユニット１０１と同一の構成要素を含む。しかし、ストレージ制御ユニット１０１とは異なり、外部ストレージ制御ユニット１３０は、通常、他のストレージ制御ユニットを管理する機能を有さない。外部ストレージ制御ユニット１３０のいくつかは、外部ストレージ制御ユニット１３０ａに関して図示されるとおり、バックエンドＦＣスイッチ１２０によって仲介されるＳＡＮを介して、ストレージ制御ユニット１０１に接続されることが可能であり、外部ストレージ制御ユニット１３０のいくつかは、外部ストレージ制御ユニット１３０ｂに関して図示されるとおり、ストレージ制御ユニット１０１に直接に接続されることが可能である。ストレージ制御ユニット１０１のそれぞれは、実際の記憶容量は、外部ストレージ制御ユニット１３０によって管理されるものの、ストレージ制御ユニット１０１内部で作成された論理ユニットとしてホスト１５０に提示される記憶容量としてホストに見えるよう、外部ストレージ制御ユニット１３０において作成された論理ボリューム（または論理ユニット、ＬＵ）を提示することができる。このため、これらのＬＵは、これらのＬＵが、ストレージ制御ユニット１０１において仮想的にしか存在せず、外部ストレージ制御ユニット１３０においてＬＵとして実際に存在するため、仮想ＬＵである。以降、そのような仮想論理ボリュームは、「仮想論理ユニット」または「ＶＬＵ」と呼ばれる。外部ストレージ制御ユニット１３０からデータを読み取る、またはユニット１３０にデータを書き込むのに、ホスト１５０は、ストレージ制御ユニット１０１上の仮想論理ユニットにＩ／Ｏ（例えば、読み取り／書き込み）要求を発行し、ストレージ制御ユニット１０１が、受信されたＩ／Ｏ要求を、外部ストレージ制御ユニット１３０における対応する論理ボリュームに送信されるＩ／Ｏ要求に変換する。
【００１４】
[0056]  フロントエンドＦＣスイッチ１４０が、ホスト１５０とストレージ制御ユニット１０１との間で、ＦＣ−ＳＷ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｓｗｉｔｃｈｅｄ  Ｆａｂｒｉｃ）標準に準拠する通信を確立する。フロントエンドＦＣスイッチ１４０の構成要素は、図４に示されるとおり、バックエンドＦＣスイッチ１２０の場合と同一である。さらに、本発明を実現するプログラムのいくつかは、フロントエンドＦＣスイッチ１４０上で実行されることが可能である。本発明は、フロントエンドＦＣスイッチ１４０とバックエンドＦＣスイッチ１２０の両方の役割をする１つのＦＣスイッチを有して構成されてもよい。
【００１５】
[0057]  ホスト１５０は、例えば、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータなどのいずれかであることが可能である。ホスト１５０は、データベースプログラムなどのアプリケーションプログラムを実行し、処理結果を、ストレージボリュームの中に格納するためにストレージ制御ユニット１０１の１つに書き込み、ストレージボリュームの中に格納された情報リソースを利用する。図３に示されるとおり、ホスト１５０は、通常、ＣＰＵ３０１、メモリ３０２、ストレージデバイス３０４、ＦＣインタフェースコントローラ３０５、およびイーサネット（登録商標）インタフェースコントローラ３０６を含む。ホスト１５０は、フロントエンドＦＣスイッチ１４０によって仲介されるＳＡＮを介して、ＦＣインタフェースコントローラ３０５経由でストレージ制御ユニット１０１に接続される。
【００１６】
[0058]  管理サーバ１６０が、ＬＡＮ１７０を介してストレージ制御ユニット１０１に接続される。管理サーバ１６０は、例えば、ストレージ制御ユニット１０１に関する構成設定−動作情報獲得を実行し、獲得された情報をまとめる。管理者が、管理サーバ１６０を介して、ストレージ制御ユニット１０１における論理ボリュームの作成、ホスト１５０への論理ボリュームの割り当て、ゾーニング、およびＬＵＮマスキング設定を実行する。ストレージ制御ユニット１０１から情報を獲得するために管理サーバ１６０にかかる作業負荷を減らすのに、図２に示されるとおり、サービスプロセッサ２００が、各ストレージ制御ユニット１０１に関して配置されることが可能である。本発明を実現するプログラムのいくつかは、メモリ３０２、または他のコンピュータ可読媒体を使用して、ＣＰＵ３０１上で実行されることが可能である。ＬＡＮ１７０は、イーサネット（登録商標）を使用して構造化されたローカルエリアネットワーク、またはＴＣＰ／ＩＰ（伝送制御プロトコル／インターネットプロトコル）を使用するデータ伝送が実行される他の適切な媒体である。
【００１７】
[0059]  ソフトウェアモジュール
[0060]  図５Ａに示されるとおり、３種類のソフトウェアモジュール５０１、５０２、５０５が、各ストレージ制御ユニット１０１のメモリ１０３に読み込まれており、２種類の管理テーブル５０３、５０４が、各ストレージ制御ユニット１０１のＮＶＲＡＭ１０４の中に格納されている。ボリュームグループマネージャ５０１は、各ストレージ制御ユニット１０１内で、ストレージ制御ユニット１０１上のＶＬＵと、外部ストレージ制御ユニット１３０上のＬＵとの間のマッピングを、ボリュームグループマッピングテーブル５０３を使用して管理する。また、ボリュームグループマネージャ５０１は、各ストレージ制御ユニット１０１内で、ＶＬＵがいずれのホストにエクスポートされるか、いずれの仮想Ｎ＿Ｐｏｒｔを介してＶＬＵが、ホストにエクスポートされ、ＬＵにマップされるか、ならびにいずれの物理Ｎ＿Ｐｏｒｔ上に仮想Ｎ＿Ｐｏｒｔが関連付けられるかを管理する（仮想Ｎ＿Ｐｏｒｔおよび物理Ｎ＿Ｐｏｒｔの機能および用法は、後段でさらに説明される）。物理パスマネージャ５０２は、各ストレージ制御ユニット１０１内で物理パス管理テーブル５０４を使用して、いずれの物理Ｎ＿Ｐｏｒｔが、各ストレージ制御ユニット１０１上に存在するかを管理する。また、物理パスマネージャは、いずれのホスト１５０または外部ストレージ制御ユニット１３０に、各物理Ｎ＿Ｐｏｒｔを使用して到達することができるかを管理するとともに、各物理Ｎ＿Ｐｏｒｔのステータスをさらに管理する。転送マネージャ５０５は、管理サーバ１６０によって発行された、ストレージ制御ユニット１０１の間の仮想Ｎ＿Ｐｏｒｔ、ＶＬＵ、または仮想Ｎ＿ＰｏｒｔとＶＬＵのグループの転送に関する命令を受信し、命令されるとおりに転送を開始する。
【００１８】
[0061]  図５Ｂに示されるとおり、管理サーバ１６０のメモリ３０２または他のコンピュータ可読媒体の中に３種類のソフトウェアモジュール３３０１、３３０２、３３０５が、存在し、管理サーバ１６０のメモリ３０２またはストレージデバイス３０４の中に２種類の管理テーブル３３０３、３３０４が、存在する。統合ボリュームグループマネージャ３３０１は、各ストレージ制御ユニット１０１からボリュームグループマッピングテーブル５０３を獲得し、これらの獲得されたテーブルを統合ボリュームグループマッピングテーブル３３０３に組み込む。統合物理パスマネージャ３３０２は、各ストレージ制御ユニット１０１から物理パス管理テーブル５０４を獲得し、これらの獲得されたテーブルを統合物理パス管理テーブル３３０４に組み込む。管理者が、ストレージ制御ユニット１０１の間で仮想Ｎ＿Ｐｏｒｔ、ＶＬＵ、または仮想Ｎ＿ＰｏｒｔとＶＬＵのグループの転送を命令すると、統合転送マネージャ３３０５は、その転送が、命令されるとおりに実行される場合、ユニット間ネットワーク１１３が使用されるかどうかを判定する。命令されるとおりに実行される場合、その転送の後にユニット間ネットワークが使用されると判定されると、統合転送マネージャ３３０５は、代替の制御ユニットを決定し、そのユニットを管理者に提示して、その転送の後にユニット間ネットワークが使用されないようにする。
【００１９】
[0062]  ファイバチャネルプロトコル
[0063]  ファイバチャネルインタフェースを有するデバイスは、「ノード」と呼ばれ、インタフェースに相当する物理端末は、「ポート」と呼ばれる。１つのノードは、１つまたは複数のポートを有することが可能である。全体的なファイバチャネルシステムに同時に参加することができるポートの数は、最大で２４ビット、つまり、２24（１６，７７７，２１６）というアドレス数である。これらの接続を仲介するＦＣ（ファイバチャネル）スイッチなどのハードウェアは、「ファブリック」または「スイッチングファブリック」と呼ばれる。各ノード上の各ポートは、「Ｎ＿Ｐｏｒｔ」と呼ばれ、各ＦＣスイッチ上の各ポートは、「Ｆ＿Ｐｏｒｔ」と呼ばれる。この説明において、ホスト１５０、ストレージ制御ユニット１０１、および外部ストレージ制御ユニット１３０は、「ノード」と呼ばれ、「Ｎ＿Ｐｏｒｔ」は、各ノード上の各ＦＣインタフェースコントローラ１０８に当たり、「Ｆ＿Ｐｏｒｔ」は、フロントエンドＦＣスイッチ１４０上、またはバックエンドＦＣスイッチ１２０上の各ＦＣインタフェースコントローラに当たる。このため、図１の構成において、フロントエンドＦＣスイッチ１４０と通信するＦＣインタフェースコントローラ１０８は、「フロントエンド物理ポート」と呼ばれることが可能であるのに対して、バックエンドＦＣスイッチ１２０と通信するＦＣインタフェースコントローラ１０８は、「バックエンド物理ポート」と呼ばれることが可能である。フロントエンドＦＣスイッチとバックエンドＦＣスイッチの両方の役割をする１つだけのＦＣスイッチが存在する状況において、単一のＦＣインタフェースコントローラ１０８が、後段でさらに説明されるとおり、各物理ポートに割り当てられた複数の仮想ポートの使用を介して、フロントエンド物理ポートとバックエンド物理ポートの両方の役割をしてもよく、あるいは単一のＦＣスイッチと通信するために、各ストレージ制御ユニット上で複数の物理ポートが、提供されてもよい。
【００２０】
[0064]  これらのノードおよびＮ＿Ｐｏｒｔのそれぞれは、世界中で一意であり、標準化機構であるＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ，Ｉｎｃ．）による所定の規則に従って割り当てられた識別データを格納する。この識別データは、世界中で一意であるので、或る特定のポートを識別するための主要な識別子の役割をすることができるアドレスとして「ＷＷＮ」（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）と呼ばれる。ＦＣネットワークにおけるＷＷＮは、イーサネット（登録商標）ネットワークにおいて使用されるＭＡＣアドレスに類似したハードウェア固定アドレスである。ＦＣネットワークにおいて、８バイトサイズをそれぞれが有する、２種類のＷＷＮアドレス、すなわち、Ｎ＿Ｐｏｒｔ＿ＮａｍｅおよびＮｏｄｅ＿Ｎａｍｅが、存在する。Ｎ＿Ｐｏｒｔ＿Ｎａｍｅは、各ポートに固有の値（ハードウェアアドレス）であり、Ｎｏｄｅ＿Ｎａｍｅは、各ノードに固有の値（ハードウェアアドレス）である。本発明の例において、「ＷＷＰＮ」（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｐｏｒｔ  Ｎａｍｅ）という用語は、Ｎ＿Ｐｏｒｔ＿Ｎａｍｅを表す。
【００２１】
[0065]  Ｎ＿Ｐｏｒｔが、ファブリックに接続されると、Ｎ＿Ｐｏｒｔ＿ＩＤと呼ばれる、そのファブリック内の一意ＩＤが、そのファブリックを仲介するＦＣスイッチによって各Ｎ＿Ｐｏｒｔに割り当てられる。ＦＣスイッチは、そのＮ＿Ｐｏｒｔ＿ＩＤに基づいて、そのＦＣスイッチに接続されたノードの間で伝送をルーティングする。ファイバチャネルプロトコルは、Ｎ＿Ｐｏｒｔが、そのＮ＿Ｐｏｒｔ上で追加のＷＷＰＮを作成すること、およびそれぞれの追加のＷＷＰＮに追加のＮ＿Ｐｏｒｔ＿ＩＤが割り当てられることを可能にする。これは、「Ｎ＿Ｐｏｒｔ＿ＩＤ仮想化」または「ＮＰＩＶ」と呼ばれるポート仮想化フィーチャである。追加のＷＷＰＮは、それらのＷＷＰＮが世界中で一意であるように、通常、各デバイス上で自動的に決定される。ハードウェアアドレスとしてのＷＷＰＮと、動的に作成される追加のアドレスとしてのＷＷＰＮとの間を明確にするために、この説明は、「物理ＷＷＰＮ」および「物理Ｎ＿Ｐｏｒｔ」という用語を、ハードウェアアドレスとしてのＷＷＰＮを表すのに使用し、「仮想ＷＷＰＮ」および「仮想Ｎ＿Ｐｏｒｔ」という用語を、物理Ｎ＿Ｐｏｒｔ上の追加のアドレスとして動的に作成されるＷＷＰＮを表すのに使用する。
【００２２】
[0066]  ファイバチャネルプロトコルにおいて、通信は、「順序付きセット」と呼ばれる信号レベルにおける情報によって、さらに、「フレーム」と呼ばれる固定フォーマットを有する論理情報を使用して、実行される。基本的に、Ｉ／Ｏ要求発信側は、１つまたは複数のフレームを伝送することによってＩ／Ｏプロセスを開始し、応答側は、その受信されたフレームに応答して動作する。本発明では、フロントエンドＦＣスイッチ１４０によって仲介されるＳＡＮにおいて、ホスト１５０が、発信側に当たり、ストレージ制御ユニット１０１が、応答側に当たる。他方、バックエンドＦＣスイッチ１２０によって仲介されるＳＡＮにおいて、ストレージ制御ユニット１０１が、発信側に当たり、外部ストレージ制御ユニット１３０が、応答側に当たる。
【００２３】
[0067]  図６は、フレームの構造を示す。各フレーム６０１は、フレームの先頭を表し、「ＳＯＦ」（フレームの先頭）６０２と呼ばれる４バイトの識別データ、リンク動作およびフレームの制御を特徴付ける２４バイトのフレームヘッダ６０３、実際に転送されるべき対象であるデータ部分としてのデータフィールド６０４、４バイトのＣＲＣ（巡回冗長符号）６０５、およびフレームの終端を表す「ＥＯＦ」（フレームの終端）６０６と呼ばれる４バイトの識別データを有する。データフィールド６０４は、０バイトから２，１１２バイトまでの範囲内で可変である。フレームヘッダ６０３の構造に関して、フレームヘッダ６０３内のＤ＿ＩＤ６０８、Ｓ＿ＩＤ６０９、ＳＥＱ＿ＩＤ６１０、およびＳＥＱ＿ＣＮＴ６１１についてだけ、説明が与えられる。Ｄ＿ＩＤ（宛先ＩＤ）６０８およびＳ＿ＩＤ（送信元ＩＤ）６０９は、そのフレームを受信するＮ＿Ｐｏｒｔ、およびそのフレームを送信するＮ＿Ｐｏｒｔをそれぞれ識別するための３バイトのアドレス識別データであり、送受信されるべきすべてのフレームに関して有効な値を有する。ファイバチャネル標準の標準セットの１つとして、ＦＣ＿ＰＨ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｐｈｙｓｉｃａｌ  ａｎｄ  Ｓｉｇｎａｌｉｎｇ  Ｉｎｔｅｒｆａｃｅ）標準は、ファブリックが、「ファブリックログイン」と呼ばれる初期設定手続き中にＤ＿ＩＤ６０８およびＳ＿ＩＤ６０９を割り当てるべきことを規定する。ファブリックログインの詳細な説明は、後段で行われる。ＳＥＱ＿ＩＤ６１０（シーケンスＩＤ）は、各フレームのシーケンスに関する一意識別子である。この場合、シーケンスは、発信側と応答側の間のトランザクションを構成するフレームのグループである。ＳＥＱ＿ＣＮＴ（シーケンスカウント）６１１は、シーケンス内のフレームの数である。応答側は、ＳＥＱ＿ＩＤ６１０を参照することにより、そのフレームが属するシーケンスを識別することができ、ＳＥＱ＿ＣＮＴ６１１を参照して、各シーケンス内で受信されたフレームを並べ替えることができる。
【００２４】
[0068]  次に、提供されることが可能なサービスのクラス間の違いが、説明される。ファイバチャネルプロトコルにおいて、様々なクラスのサービスが、様々なアプリケーションニーズを満たすように定義される。例えば、クラス２とクラス３がともに、ＦＣ−ＳＷ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｓｗｉｔｃｈｉｎｇ）標準に関して定義される。クラス２では、応答側は、各フレームの確認応答を発信側に戻すが、クラス３では、応答側は、受信されたフレームの確認応答を戻さない。フレームの確認応答についての詳細な説明は、後段で行われる。
【００２５】
[0069]  物理Ｎ＿Ｐｏｒｔに関するファブリックログイン手続き
[0070]  ファブリックに参加するのに、ファブリックに接続されるべきすべてのＮ＿Ｐｏｒｔが、ファブリックログインを最初に実行する必要がある。ファブリックログインを介して、ＦＣスイッチは、Ｎ＿Ｐｏｒｔ＿ＩＤを各Ｎ＿Ｐｏｒｔに割り当て、次に、ＦＣスイッチ上でＮ＿Ｐｏｒｔに関するルーティング情報を確立する。物理Ｎ＿Ｐｏｒｔに関して使用されるログイン手続きは、仮想Ｎ＿Ｐｏｒｔに関して使用されるログイン手続きとわずかに異なる。
【００２６】
[0071]  図７は、ノード上の物理Ｎ＿Ｐｏｒｔ７０１と、ＦＣスイッチ上のＦ＿Ｐｏｒｔ７０２との間の情報の交換を示す。通常、このログイン手続きは、物理Ｎ＿Ｐｏｒｔが、ＦＣスイッチ上のＦ＿Ｐｏｒｔに最初に物理的に接続される際、実行される。最初に、ステップ７０３に示されるとおり、物理Ｎ＿Ｐｏｒｔ７０１が、固定Ｄ＿ＩＤ（０ｘＦＦＦＦＦＥ）６０８、固定Ｓ＿ＩＤ（０ｘ００００００）６０９、ならびにその物理Ｎ＿Ｐｏｒｔ７０１のＮ＿Ｐｏｒｔ＿Ｎａｍｅ（物理ＷＷＰＮ）およびＮｏｄｅ＿Ｎａｍｅを含むＦＬＯＧＩフレームを伝送する。次に、ステップ７０４で、Ｆ＿Ｐｏｒｔ７０２を有するＦＣスイッチが、ＦＣ−ＰＨ標準に基づいて物理Ｎ＿Ｐｏｒｔ７０１のＷＷＰＮのために使用されるべきＮ＿Ｐｏｒｔ＿ＩＤを決定する。ステップ７０５で、Ｎ＿Ｐｏｒｔ＿ＩＤを決定した後、Ｆ＿Ｐｏｒｔ７０２を有するＦＣスイッチが、Ｎ＿Ｐｏｒｔ＿ＩＤに関するルーティング情報を確立し、決定されたＮ＿Ｐｏｒｔ＿ＩＤを物理Ｎ＿Ｐｏｒｔ７０１に送り返す。Ｎ＿Ｐｏｒｔ＿ＩＤを受信した後、物理Ｎ＿Ｐｏｒｔ７０１は、その受信されたＮ＿Ｐｏｒｔ＿ＩＤをＮ＿Ｐｏｒｔ７０１自らのＮ＿Ｐｏｒｔ＿ＩＤと見なし、Ｓ＿ＩＤ６０９としてのＮ＿Ｐｏｒｔ７０１自らのＮ＿Ｐｏｒｔ＿ＩＤ、Ｎ＿Ｐｏｒｔ＿Ｎａｍｅ（物理ＷＷＰＮ）、およびＮｏｄｅ＿Ｎａｍｅを有するＰＬＯＧＩフレームをＦ＿Ｐｏｒｔ７０２に伝送する。これに応答して、Ｆ＿Ｐｏｒｔ７０２を有するＦＣスイッチは、そのファブリックにログオンしている他のすべてのアクセス可能なＮ＿ＰｏｒｔのＤ＿ＩＤ（Ｎ＿Ｐｏｒｔ＿ＩＤ）、Ｎ＿Ｐｏｒｔ＿Ｎａｍｅ（物理ＷＷＰＮと仮想ＷＷＰＮの両方）、およびＮｏｄｅ＿Ｎａｍｅのリストを送り返す。この手続きを介して、Ｎ＿Ｐｏｒｔ７０１を有する機器は、そのファブリック上の各Ｎ＿Ｐｏｒｔに関して、Ｎ＿Ｐｏｒｔ＿ＩＤとＮ＿Ｐｏｒｔ＿Ｎａｍｅ（すなわち、物理ＷＷＰＮと仮想ＷＷＰＮの両方）の間の対応を獲得することができる。
【００２７】
[0072]  Ｎ＿Ｐｏｒｔ＿ＩＤ仮想化、および仮想Ｎ＿Ｐｏｒｔに関するファブリックログイン
[0073]  ファイバチャネルプロトコルの一環として、ＮＰＩＶ（Ｎ＿Ｐｏｒｔ＿ＩＤ仮想化）が、定義される。このフィーチャは、物理Ｎ＿Ｐｏｒｔが、その物理Ｎ＿Ｐｏｒｔ上に作成された複数の仮想Ｎ＿Ｐｏｒｔを作成されることを可能にする。各仮想Ｎ＿Ｐｏｒｔに関する仮想ＷＷＰＮが、各Ｎ＿Ｐｏｒｔ上で決定され、各仮想ＷＷＰＮに関する追加のログイン手続きが、図７の手続きを使用してファブリックにあらかじめログインしている物理Ｎ＿Ｐｏｒｔを介してログイン要求を送信することにより、実行されて、各仮想ＷＷＰＮに関するＮ＿Ｐｏｒｔ＿ＩＤが獲得される。
【００２８】
[0074]  図８は、仮想Ｎ＿Ｐｏｒｔ８０１と、Ｆ＿Ｐｏｒｔ７０２を有するＦＣスイッチとの間の情報の交換を示す。図８に示される手続きは、図７に示されるファブリックログイン手続きが、あらかじめ実行されている仮想ＷＷＰＮに関連する物理Ｎ＿Ｐｏｒｔを介して実行される。この手続き自体は、図７に示される物理Ｎ＿Ｐｏｒｔに関するファブリックログイン手続きとほとんど同一である。しかし、ステップ８０３に示されるとおり、仮想ＷＷＰＮに関して、ＦＬＯＧＩ要求の代わりに使用されるＦＤＩＳＣ要求が使用され、それによって、Ｆ＿Ｐｏｒｔ８０２を有するＦＣスイッチが、Ｎ＿Ｐｏｒｔから送信されたファブリックログイン要求が仮想ＷＷＰＮに関するものであることを判定することができる。次に、ステップ８０４で、Ｆ＿Ｐｏｒｔ８０２を有するＦＣスイッチは、ＦＣ−ＰＨ標準に基づき、その仮想Ｎ＿Ｐｏｒｔ８０１の仮想ＷＷＰＮのために使用されるべきＮ＿Ｐｏｒｔ＿ＩＤを決定する。Ｎ＿Ｐｏｒｔ＿ＩＤを決定した後、ステップ８０５で、Ｆ＿Ｐｏｒｔ７０２を有するＦＣスイッチが、Ｎ＿Ｐｏｒｔ＿ＩＤに関するルーティング情報を確立し、その決定されたＮ＿Ｐｏｒｔ＿ＩＤを仮想Ｎ＿Ｐｏｒｔ８０１に送り返す。Ｎ＿Ｐｏｒｔ＿ＩＤを受信した後、仮想Ｎ＿Ｐｏｒｔ８０１は、その受信されたＮ＿Ｐｏｒｔ＿ＩＤをＮ＿Ｐｏｒｔ８０１自らのＮ＿Ｐｏｒｔ＿ＩＤと見なし、Ｓ＿ＩＤ６０９としてのＮ＿Ｐｏｒｔ８０１自らのＮ＿Ｐｏｒｔ＿ＩＤ、Ｎ＿Ｐｏｒｔ＿Ｎａｍｅ（仮想ＷＷＰＮ）、およびＮｏｄｅ＿Ｎａｍｅを有するＰＬＯＧＩフレームをＦ＿Ｐｏｒｔ８０２に伝送する。これに応答して、Ｆ＿Ｐｏｒｔ８０２を有するＦＣスイッチは、そのファブリックにログオンしている他のすべてのアクセス可能なＮ＿ＰｏｒｔのＤ＿ＩＤ（Ｎ＿Ｐｏｒｔ＿ＩＤ）、Ｎ＿Ｐｏｒｔ＿Ｎａｍｅ（物理ＷＷＰＮと仮想ＷＷＰＮの両方）、およびＮｏｄｅ＿Ｎａｍｅのリストを送り返す。
【００２９】
[0075]  以前に割り当てられたＮ＿Ｐｏｒｔ＿ＩＤの再使用
[0076]  現在、以前に割り当てられたＮ＿Ｐｏｒｔ＿ＩＤを再使用するために、またはＮ＿ＰｏｒｔによってＦＣスイッチから或る特定のＮ＿Ｐｏｒｔ＿ＩＤを要求するためにファイバチャネルプロトコルにおいて定義されているプロトコルは、全く存在しない。しかし、ＦＣネットワークにおけるＮ＿Ｐｏｒｔ＿ＩＤをＴＣＰ／ＩＰネットワークにおけるＩＰアドレスに対応させることにより、ＴＣＰ／ＩＰネットワークにおいて異なるＭＡＣアドレスを有する物理ポート間のＩＰアドレスの転送と類似した、そのような機能を実施するための方法が、本明細書でモデル化される。ＴＣＰ／ＩＰにおいて、ＩＰアドレスは、異なるＭＡＣアドレスを有する物理ポート間で転送されることが可能であり、すると、ＩＰアドレスは、そのＩＰアドレスが、異なるＭＡＣアドレスを有する別の物理ポートに転送された場合でも、クライアントホストが、そのクライアントホスト上の構成を変更することなしに、そのＩＰアドレスを介してエクスポートされたサービスにアクセスすることができるように、再使用されることが可能である。ＴＣＰ／ＩＰにおいて、ＡＲＰコマンドが、ＩＰアドレスが、別の物理ポートに転送されるべきことをネットワークスイッチに通知するのに使用される。このコマンドに応答して、ネットワークスイッチは、そのＩＰアドレスに関するルーティング情報を変更する。
【００３０】
[0077]  本発明において、ＴＣＰ／ＩＰネットワークの場合と同様に、仮想Ｎ＿Ｐｏｒｔは、既存のＮ＿Ｐｏｒｔ＿ＩＤ、すなわち、図８に示される手続きを使用することなどの、あらかじめ実行されたファブリックログイン手続きを介して割り当てられたＮ＿Ｐｏｒｔ＿ＩＤを使用する要求を発行することができるものと想定される。例として、ＦＤＩＳＣコマンドは、仮想Ｎ＿Ｐｏｒｔが別の物理Ｎ＿Ｐｏｒｔに転送されるべきことをＦＣスイッチに通知するのに使用されるものと想定される。
【００３１】
[0078]  図９は、既存のＮ＿Ｐｏｒｔ＿ＩＤを再使用する、またはＦ＿Ｐｏｒｔ９０２を有するＦＣスイッチから仮想Ｎ＿Ｐｏｒｔに関する或る特定のＮ＿Ｐｏｒｔ＿ＩＤを要求する、仮想Ｎ＿Ｐｏｒｔ９０１に関するファブリックログイン手続きの例を示す。ステップ９０３で、仮想Ｎ＿Ｐｏｒｔが、Ｓ＿ＩＤフィールド６０８に既存のＮ＿Ｐｏｒｔ＿ＩＤが設定されているＦＤＩＳＣ要求を送信する。この要求に応答して、ステップ９０４で、Ｆ＿Ｐｏｒｔ９０２を有するＦＣスイッチが、そのＦＣスイッチにおけるルーティング情報を調べることにより、そのＮ＿Ｐｏｒｔ＿ＩＤが、同一の仮想ＷＷＰＮに以前に割り当てられているかどうかを調べる。そのＮ＿Ｐｏｒｔ＿ＩＤが、要求側の仮想Ｎ＿Ｐｏｒｔの仮想ＷＷＰＮに以前に割り当てられてはいない場合、ステップ９０５で、Ｆ＿Ｐｏｒｔ９０２を有するＦＣスイッチは、そのＮ＿Ｐｏｒｔ＿ＩＤが別のＷＷＰＮのために使用されている（すなわち、そのＷＷＰＮに既に割り当てられている）かどうかを調べる。そのＮ＿Ｐｏｒｔ＿ＩＤが、別のＷＷＰＮに既に割り当てられている場合、ステップ９０６で、Ｆ＿Ｐｏｒｔ９０２を有するＦＣスイッチは、その要求を拒否する。他方、そのＮ＿Ｐｏｒｔ＿ＩＤが、同一の仮想ＷＷＰＮに以前に割り当てられている場合、またはその要求されたＮ＿Ｐｏｒｔ＿ＩＤが、別のＷＷＰＮにまだ割り当てられていない場合、ステップ９０７で、Ｆ＿Ｐｏｒｔ９０２を有するＦＣスイッチは、ＦＣスイッチ自らのルーティング情報の中でＮ＿Ｐｏｒｔ＿ＩＤに関するルーティング情報を変更し、ステップ９０８で、Ｆ＿Ｐｏｒｔ９０２を有するＦＣスイッチは、同一のＮ＿Ｐｏｒｔ＿ＩＤを仮想Ｎ＿Ｐｏｒｔ９０２に送り返して、その要求が受け入れられたという通知を提供する。
【００３２】
[0079]  ノードログイン手続き
[0080]  ファイバチャネルプロトコルにおいて、発信側が、応答側にフレームを送信することを始める前に、発信側のＮ＿Ｐｏｒｔが、ポートログインと呼ばれる手続きを使用して、応答側のＮ＿Ｐｏｒｔにログインする必要がある。図１０は、発信側Ｎ＿Ｐｏｒｔ１００１と応答側Ｎ＿Ｐｏｒｔ１００２との間の情報の交換を示す。この手続きは、物理Ｎ＿Ｐｏｒｔと仮想Ｎ＿Ｐｏｒｔの両方に関して同一である。最初に、ステップ１００３で、発信側Ｎ＿Ｐｏｒｔ１００１が、ＰＬＯＧＩフレーム１００３を応答側Ｎ＿Ｐｏｒｔ１００２に伝送する。この要求は、Ｎ＿Ｐｏｒｔ＿Ｎａｍｅ（物理ＷＷＰＮまたは仮想ＷＷＰＮ）、Ｎｏｄｅ＿Ｎａｍｅ、Ｓ＿ＩＤ、および発信側Ｎ＿Ｐｏｒｔ１００１の他の情報を含む。ＰＬＯＧＩ要求を受信した後、応答側Ｎ＿Ｐｏｒｔ１００２は、この要求に含まれる情報を保存する。この要求を承認する場合、応答側Ｎ＿Ｐｏｒｔ１００２は、「ＡＣＣ」１００４と呼ばれるフレームを発信側Ｎ＿Ｐｏｒｔ１００１に伝送する。この要求を拒否する場合、応答側Ｎ＿Ｐｏｒｔ１００２は、「ＬＳ＿ＲＪＴ」１００５と呼ばれるフレームを発信側Ｎ＿Ｐｏｒｔ１００１に伝送する。発信側Ｎ＿Ｐｏｒｔが、ＰＬＯＧＩフレームに応答して、ＡＣＣフレームを含む応答を受信すると、発信側Ｎ＿Ｐｏｒｔ１００１は、その時点で、ログインが成功したことを知り、Ｉ／Ｏ要求を応答側Ｎ＿Ｐｏｒｔ１００２に送信することを始めることができる。しかし、発信側が、ＬＳ＿ＲＪＴフレームを受信すると、発信側Ｎ＿Ｐｏｒｔ１００１は、ログインが確立されなかったこと、および応答側Ｎ＿Ｐｏｒｔ１００２にＩ／Ｏ要求を送信することが、許されないことを知る。
【００３３】
[0081]  ファイバチャネルプロトコルにおけるフロー制御機構
[0082]  前述したとおり、ファイバチャネルプロトコルに基づく通信は、「フレーム」を使用して実行される。Ｎ＿ＰｏｒｔとＦ＿Ｐｏｒｔのそれぞれの上で、受信されたフレームが、受信バッファの中に一時的に格納され、それらのフレームの適切なシーケンスに組み立てられて、より上位の層のプロトコルに送られる。宛先ポートが、受信されたフレームを格納する十分な受信バッファを有さない場合、それらのフレームは、失われる可能性がある。そのような状況を回避するのに、２つのタイプのフロー制御機構、すなわち、バッファツーバッファフロー制御（以降、「ＢＢ＿Ｃｒｅｄｉｔ」と呼ばれる）およびエンドツーエンドフロー制御（以降、「ＥＥ＿Ｃｒｅｄｉｔ」と呼ばれる）が、ファイバチャネル標準において定義される。
【００３４】
[0083]  ＢＢ＿Ｃｒｅｄｉｔは、隣接するポート間の、通常、Ｎ＿ＰｏｒｔとＦ＿Ｐｏｒｔの間のフロー制御機構である。ＢＢ＿Ｃｒｅｄｉｔでは、相手ポートの受信バッファの数の通知（ＢＢ＿Ｃｒｅｄｉｔ＿ＣＮＴ）、およびバッファ解放の通知（Ｒ＿ＲＤＹ）が、送信側ポートと宛先ポートとの間で行われる。図１１は、ＢＢ＿Ｃｒｅｄｉｔ機構の例を示す。図１１に示される事例では、送信側ポート１１０１と宛先ポート１１０２はともに、４つの２ＫＢの受信バッファ１１０４、１１０６および送信バッファ１１０５、１１０７をそれぞれ有する。したがって、ＢＢ＿Ｃｒｅｄｉｔ＿ＣＮＴ１１０３、１１０８は、ファブリックログイン手続きが完了した直後、各ポート１１０１、１１０８上で４である。送信側ポート１１０１は、フレーム６０１を宛先ポート１１０２に送信すると、自らのＢＢ＿Ｃｒｅｄｉｔ＿ＣＮＴ１１０３をデクリメントする。送信側ポート１１０１は、宛先ポート１１０２からＲ＿ＲＤＹ信号１１０９を受信すると、自らのＢＢ＿Ｃｒｅｄｉｔ＿ＣＮＴをインクリメントする。空のバッファが、宛先ポート１１０２上で利用可能になると、Ｒ＿ＲＤＹ信号１１０９が、宛先ポート１１０２から送信される。ＢＢ＿Ｃｒｅｄｉｔ＿ＣＮＴが、送信側ポート１１０１上で０になると、送信側ポート１１０１は、フレーム６０１を送信することを一時停止し、Ｒ＿ＲＤＹ信号１１０９が、宛先ポート１１０２から送られるまで待つ。送信側ポート１１０１が、Ｒ＿ＲＤＹ信号１１０９を最後に受信して以来、或る時間（Ｅ＿Ｄ＿ＴＯＶと呼ばれる）が経過した場合、送信側ポート１１０１は、その伝送を失敗したかのように扱い、送信側ポート１１０１は、同一のフレーム６０１を再送しようと試みる、またはフレーム６０１を送信することを中止し、そのことを、より上位の層のプロトコルに報告する。Ｅ＿Ｄ＿ＴＯＶのデフォルトの値は、通常、１０秒である。ＢＢ＿Ｃｒｅｄｉｔプロセスは、クラス２レベルのサービスとクラス３レベルのサービスの両方において使用される。
【００３５】
[0084]  図１２に示されるとおり、ＥＥ＿Ｃｒｅｄｉｔは、発信側１２０１と応答側１２０２との間のフロー制御機構である。ＥＥ＿Ｃｒｅｄｉｔに関する手続きは、前述したＢＢ＿Ｃｒｅｄｉｔ機構とほとんど同一の機構である。しかし、互いへの受信バッファの数の通知（ＥＥ＿Ｃｒｅｄｉｔ＿ＣＮＴ）は、ポートログイン手続き（図１０に関連して前述される）中に行われる。また、ＡＣＫ信号１２０９、１２１０が、応答側１２０２上のリソース利用可能性を発信側１２０１に通知するのに使用され、単一のＡＣＫ信号１２１０が、ＡＣＫ＿Ｎ１２１０に例示されるとおり、複数のバッファの利用可能性を表すことができる。このため、発信側の送信側ポート１２０１と応答側の宛先ポート１２０２はともに、４つの２ＫＢの受信バッファ１２０４、１２０６および送信バッファ１２０５、１２０７をそれぞれ有する。したがって、カウント１２０３、１２０８は、ポートログイン手続きが完了した直後、各ポート上で４である。発信側１２０１は、フレーム６０１を応答側１２０２に送信すると、自らのＥＥ＿Ｃｒｅｄｉｔ＿ＣＮＴ１２０３をデクリメントする。発信側１２０１は、応答側１２０２からＡＣＫ信号１２０９、１２１０を受信すると、それらのＡＣＫ信号１２０９、１２１０内で示される数だけ、自らのＥＥ＿Ｃｒｅｄｉｔ＿ＣＮＴ１２０３をインクリメントする。ＥＥ＿Ｃｒｅｄｉｔは、クラス２レベルのサービスにおいてだけ使用される。
【００３６】
[0085]  管理テーブル
[0086]  図１３は、本発明によるポートおよび論理ボリュームの可能な構成の図面を示す。この構成は、多くの可能な構成の一例であり、本発明のさらなる詳細を説明するのに使用される。物理ＷＷＰＮが、「ＷＷＰＮ＿＃」（＃は、個々のポートの番号で置き換えられる）という名前で表され、物理ＷＷＰＮに割り当てられたＮ＿Ｐｏｒｔ＿ＩＤが、「Ｎ＿Ｐｏｒｔ＿ＩＤ＿＃」という名前で表される。仮想ＷＷＰＮが、「ＷＷＰＮ＿Ｖ＃」（＃は、個々の仮想ポートの番号で置き換えられる）という名前で表され、仮想ＷＷＰＮに割り当てられたＮ＿Ｐｏｒｔ＿ＩＤが、「Ｎ＿Ｐｏｒｔ＿ＩＤ＿Ｖ＃」という名前で表される。例えば、ホスト１５０上のＦＣインタフェースコントローラ３０５（Ｎ＿Ｐｏｒｔ）が、フロントエンドＦＣスイッチ１４０上のＦＣインタフェースコントローラ４０５（「Ｐｏｒｔ＿１」と名付けられたＦ＿Ｐｏｒｔ）の１つに接続され、「ＷＷＰＮ＿１」をコントローラ３０５の物理ＷＷＰＮとして有し、「Ｎ＿Ｐｏｒｔ＿ＩＤ＿１」が、コントローラ３０５のＮ＿Ｐｏｒｔ＿ＩＤとして、フロントエンドＦＣスイッチ１４０によってコントローラ３０５に割り当てられる。また、ストレージ制御ユニット１０１ａ上のＦＣインタフェースコントローラ１０８が、フロントエンドＦＣスイッチ１４０上の「Ｐｏｒｔ＿２」と名付けられたＦ＿Ｐｏｒｔに接続され、「ＷＷＰＮ＿２」をコントローラ１０８の物理ＷＷＰＮとして有し、フロントエンドＦＣスイッチ１４０によってコントローラ１０８に割り当てられた「Ｎ＿Ｐｏｒｔ＿ＩＤ＿２」を、コントローラ１０８のＮ＿Ｐｏｒｔ＿ＩＤとして有する。また、ストレージ制御ユニット１０１ａは、仮想ＷＷＰＮとして「ＷＷＰＮ＿Ｖ２」を有し、フロントエンドＦＣスイッチ１４０によって、この仮想ＷＷＰＮに割り当てられた「Ｎ＿Ｐｏｒｔ＿ＩＤ＿Ｖ２」を、ユニット１０１ａの「Ｎ＿Ｐｏｒｔ＿ＩＤ」として有する。仮想ＷＷＰＮ、ＷＷＰＮ＿Ｖ２が、物理Ｎ＿Ｐｏｒｔ、ＷＷＰＮ＿２に現在、関連付けられている。
【００３７】
[0087]  図１３に示されるとおり、ストレージ制御ユニット１０１ａが、「ｕｎｉｔ＿１」という一意ＩＤを有し、ストレージ制御ユニット１０１ｂが、「ｕｎｉｔ＿２」という一意ＩＤを有し、ストレージ制御ユニット１０１ｃが、「ｕｎｉｔ＿３」という一意ＩＤを有する。また、外部ストレージ制御ユニット１３０ａが、ＷＷＰＮ＿８を介して４つのＬＵ１３５（ＬＵ１からＬＵ４まで）をエクスポートし、ストレージ制御ユニット１０１ａが、これらのＬＵを、仮想ＬＵ１３３、すなわち、ＬＵ１に関するＶＬＵ１、ＬＵ２に関するＶＬＵ２、ＬＵ３に関するＶＬＵ３、およびＬＵ４に関するＶＬＵ４として管理して、ホスト１５０にエクスポートするものと想定される。さらに、ＶＬＵ１およびＶＬＵ２は、仮想ポートＷＷＰＮ＿Ｖ１を介してエクスポートされ、仮想ポートＷＷＰＮ＿Ｖ３を使用してＬＵ１およびＬＵ２にマップされる。同様に、ＶＬＵ３およびＶＬＵ４は、仮想ポートＷＷＰＮ＿Ｖ２を介してホスト１５０にエクスポートされ、仮想ポートＷＷＰＮ＿Ｖ４を使用してＬＵ３およびＬＵ４にマップされる。
【００３８】
[0088]  例として、ホスト１５０上でＷＷＰＮ＿１というＷＷＰＮを有する物理ポートが、外部ストレージ制御ユニット１３０ａ上のＬＵ１の中に格納されたデータにアクセスすると、ポートＷＷＰＮ＿１が、Ｓ＿ＩＤ６０９として「Ｎ＿Ｐｏｒｔ＿ＩＤ＿１」を有し、Ｄ＿ＩＤ６０８として「Ｎ＿Ｐｏｒｔ＿ＩＤ＿Ｖ１」を有するＩ／Ｏ要求を含むフレーム６０１を送信する。このフレームを受信した後、ストレージ制御ユニット１０１ａは、Ｓ＿ＩＤ６０９として「Ｎ＿Ｐｏｒｔ＿ＩＤ＿Ｖ３」を有し、Ｄ＿ＩＤ６０８として「Ｎ＿Ｐｏｒｔ＿ＩＤ＿８」を有する、変換されたＩ／Ｏ要求を含むフレーム６０１を送信する。この要求に応答して、外部ストレージ制御ユニット１３０ａは、Ｓ＿ＩＤ６０９として「Ｎ＿Ｐｏｒｔ＿ＩＤ＿８」を有し、Ｄ＿ＩＤ６０８として「Ｎ＿Ｐｏｒｔ＿ＩＤ＿Ｖ３」を有する応答を含むフレーム６０１を戻す。このフレームを受信した後、ストレージ制御ユニット１０１ａは、Ｓ＿ＩＤ６０９として「Ｎ＿Ｐｏｒｔ＿ＩＤ＿Ｖ１」を有し、Ｄ＿ＩＤ６０８として「Ｎ＿Ｐｏｒｔ＿ＩＤ＿１」を有する、変換された応答を含むフレーム６０１を送信する。
【００３９】
[0089]  ボリュームグループマッピングテーブル
[0090]  図１４Ａ〜図１４Ｂは、各ストレージ制御ユニット１０１上に保持されるボリュームグループマッピングテーブル５０３の例を示す。図１４Ａ〜図１４Ｂにおける値は、図１３に示される状態を表し、図１４Ａは、制御ユニット１０１ａにおいて示されるボリュームグループおよび仮想ポートグループ（以降、「ボリュームグループ」）、「ｇｒｏｕｐ１」および「ｇｒｏｕｐ２」の状態を表し、図１４Ｂは、ストレージ制御ユニット１０１ｂにおいて示される「ｇｒｏｕｐ３」の状態を表す。ボリュームグループ１４０１は、論理ボリュームおよび仮想Ｎ＿Ｐｏｒｔのグループの任意の一意の名前である。ターゲットホストＮ＿Ｐｏｒｔ１４０２は、そのグループの中の論理ボリュームがエクスポートされるホスト１５０上のＮ＿ＰｏｒｔのＷＷＰＮである。エクスポートされるボリューム１４０３は、ターゲットホストポートにエクスポートされた、ストレージ制御ユニット１０１内の論理ボリュームの識別子を与える。外部Ｎ＿Ｐｏｒｔ１４０４は、それぞれのエクスポートされたボリューム１４０３に当たる実際のＬＵが存在する外部ストレージ制御ユニット１３０上のＮ＿ＰｏｒｔのＷＷＰＮである。論理ボリューム１４０３が、外部ストレージ制御ユニット１３０内ではなく、ストレージ制御ユニット１０１内部で作成されたＬＵに当たる場合、Ｎｕｌｌが、このフィールドに設定される。外部ボリューム１４０５は、エクスポートされるボリューム１４０３に当たる外部ストレージ制御ユニット１３０上のＬＵの識別子を与える。エクスポートされるボリューム１４０３が、外部ストレージ制御ユニット１０３内ではなく、ストレージ制御ユニット１０１内部のＬＵに当たる場合、Ｎｕｌｌが、このフィールドに設定される。フロントエンド仮想Ｎ＿Ｐｏｒｔ１４０６は、エクスポートされるボリューム１４０３をホスト１５０にエクスポートするのに使用される仮想Ｎ＿ＰｏｒｔのＷＷＰＮである。フロントエンドＮ＿Ｐｏｒｔ＿ＩＤ１４０７は、フロントエンド仮想ＷＷＰＮ１４０６に割り当てられたＮ＿Ｐｏｒｔ＿ＩＤである。バックエンド仮想Ｎ＿Ｐｏｒｔ１４０８は、外部ストレージ制御ユニット１３０にアクセスするのに使用される仮想Ｎ＿ＰｏｒｔのＷＷＰＮである。エクスポートされるボリューム１４０３が、外部ストレージ制御ユニット１３０内ではなく、ストレージ制御ユニット１０１内部のＬＵに当たる場合、Ｎｕｌｌが、このフィールドに設定される。バックエンドＮ＿Ｐｏｒｔ＿ＩＤ１４０９は、バックエンド仮想ＷＷＰＮ１４０８に割り当てられたＮ＿Ｐｏｒｔ＿ＩＤである。エクスポートされるボリューム１４０３が、外部ストレージ制御ユニット１３０内ではなく、ストレージ制御ユニット１０１内部のＬＵに当たる場合、Ｎｕｌｌが、このフィールドに設定される。現在のフロントエンド物理Ｎ＿Ｐｏｒｔ１４１０は、フロントエンド仮想ＷＷＰＮ１４０６に現在関連付けられている物理Ｎ＿ＰｏｒｔのＷＷＰＮ、すなわち、フロントエンド仮想ＷＷＰＮ１４０６のＮ＿Ｐｏｒｔ＿ＩＤが獲得される際に経由する物理Ｎ＿ＰｏｒｔのＷＷＰＮである。現在のバックエンド物理Ｎ＿Ｐｏｒｔ１４１１は、バックエンド仮想ＷＷＰＮ１４０６に現在関連付けられている物理Ｎ＿Ｐ���ｒｔのＷＷＰＮ、すなわち、バックエンド仮想ＷＷＰＮ１４０８のＮ＿Ｐｏｒｔ＿ＩＤが獲得される際に経由する物理Ｎ＿ＰｏｒｔのＷＷＰＮである。エクスポートされるボリューム１４０３が、外部ストレージ制御ユニット１３０内ではなく、ストレージ制御ユニット１０１内部のＬＵに当たる場合、Ｎｕｌｌが、このフィールドに設定される。
【００４０】
[0091]  物理パス管理テーブル
[0092]  図１５Ａ〜図１５Ｃは、物理パス管理テーブル５０４の例を示す。図１５Ａ〜図１５Ｃにおける値は、図１３に示される状態を表し、ただし、図１５Ａは、ストレージ制御ユニット１０１ａの構成を示し、図１５Ｂは、ストレージ制御ユニット１０１ｂの構成を示し、図１５Ｃは、ストレージ制御ユニット１０１ｃの構成を示す。物理Ｎ＿Ｐｏｒｔ１５０１は、ホスト１５０または外部ストレージ制御ユニット１３０にアクセスするのに使用されることが可能な物理Ｎ＿ＰｏｒｔのＷＷＰＮである。ステータスエントリ１５０２は、物理Ｎ＿Ｐｏｒｔ１５０１のステータスを示す。「ＯＫ」は、Ｎ＿Ｐｏｒｔが適切に機能していることを示し、「ＥＲＲＯＲ」は、Ｎ＿Ｐｏｒｔが、何らかの障害のために機能していないことを示す。到達可能なＮ＿Ｐｏｒｔ１５０４は、物理Ｎ＿Ｐｏｒｔ１５０１が到達することができるＮ＿Ｐｏｒｔ（すなわち、他の物理ポート）のＷＷＰＮのリストである。この情報は、物理Ｎ＿Ｐｏｒｔ１５０１が、図７に（より具体的には、ステップ７０８で）示されるファブリックログイン手続きを実行すると、獲得されることが可能である。
【００４１】
[0093]  統合ボリュームグループマッピングテーブル
[0094]  図３０は、統合ボリュームグループ管理テーブル３３０３の例を示す。列のほとんどは、図１４Ａ〜図１４Ｂに関連して前段で説明されるボリュームグループマッピングテーブル５０３の場合と同一である。しかし、統合ボリュームグループ管理テーブルは、ボリュームグループ１４０１が、いずれのユニット上に現在、存在するかを示す追加の列、現在のユニット３４０１を含む。
【００４２】
[0095]  統合物理パス管理テーブル
[0096]  図３１は、統合物理パス管理テーブル３３０４の例を示す。列のほとんどは、図１５Ａ〜図１５Ｃに関連して前段で説明される物理パス管理テーブル５０４の場合と同一である。しかし、統合物理パス管理テーブル３３０４は、物理Ｎ＿Ｐｏｒｔ１５０１が、いずれのユニット上に存在するかを示す追加の列、ユニット３５０１を含む。
【００４３】
[0097]  ＦＣスイッチ上のルーティングテーブルの例
[0098]  図１６は、フロントエンドＦＣスイッチ１４０上のルーティングテーブル１６００の例を示し、図１７は、バックエンドＦＣスイッチ１２０上のルーティングテーブル１７００の例を示す。図１６のルーティングテーブル１６００、および図１７のルーティングテーブル１７００における値は、図１３に示される情報システムの状態を示す。ルーティングテーブル１６００、１７００において、Ｆ＿Ｐｏｒｔ１６０１、１７０１は、ＦＣスイッチ１４０、１２０上に存在する各Ｆ＿Ｐｏｒｔの識別子をそれぞれ、リストアップする。Ｎ＿ＰｏｒｔＷＷＰＮ１６０２、１７０２は、それぞれ、Ｆ＿Ｐｏｒｔ１６０１、１７０１に接続された物理Ｎ＿Ｐｏｒｔまたは仮想Ｎ＿ＰｏｒｔのＷＷＰＮである。割り当てられたＮ＿Ｐｏｒｔ＿ＩＤ１６０３および１７０３は、それぞれ、Ｆ＿Ｐｏｒｔ１６０１、１７０１に接続された物理Ｎ＿Ｐｏｒｔまたは仮想Ｎ＿ＰｏｒｔのＷＷＰＮに割り当てられたＮ＿Ｐｏｒｔ＿ＩＤである。ＦＣスイッチ１４０および１２０のそれぞれの上にルーティングテーブルを保持することにより、各ＦＣスイッチは、いずれのポートを介して、発信側から受信されたフレームが転送されるべきかを識別することができる。例えば、ホスト１５０上のＮ＿Ｐｏｒｔからストレージ制御ユニット１０１ａ上の仮想Ｎ＿Ｐｏｒｔ「ＷＷＰＮ＿Ｖ１」に送信されるフレームは、Ｄ＿ＩＤフィールド６０８に「Ｎ＿Ｐｏｒｔ＿ＩＤ＿Ｖ１」を含む。フロントエンドＦＣスイッチ１４０は、図１６に示されるルーティングテーブル１６００の第５の行１６１０を参照することにより、そのフレームが、識別子「ｐｏｒｔ＿２」を有するＦ＿Ｐｏｒｔを介して転送されるべきであると判定することができる。
【００４４】
[0099]  転送の後にユニット間パスの使用を検査することの流れ図
[0100]  管理サーバ１６０上で、管理者は、ストレージ制御ユニット１０１の間でボリュームグループまたは仮想Ｎ＿Ｐｏｒｔの転送を命令して、ホスト１５０からのＩ／Ｏ要求を処理することの負荷が、ストレージ制御ユニット１０１の間で、より平衡がとれているようにする。しかし、アクセスされているフロントエンド仮想Ｎ＿Ｐｏｒｔだけが、別のストレージ制御ユニット１０１に転送される場合、外部ストレージ制御ユニット１３０に対するＩ／Ｏ要求は、ユニット間ネットワーク１１３を使用してストレージ制御ユニット１０１の間で転送される必要がある。このため、高速のネットワークインタフェースが、ユニット間ネットワークコントローラ１１２のために使用される場合でさえ、Ｉ／Ｏ要求の処理パフォーマンスは、ストレージ制御ユニット１０１の間で要求を転送する必要が全くない場合（すなわち、要求の処理が、単一のストレージ制御ユニット１０１内で完了されることが可能である場合）と比べて低下する。また、ストレージ制御ユニット１０１間でＩ／Ｏ要求を転送する必要のため、ストレージ制御ユニット１０１にかかる処理負荷の不要な増大がある可能性もある。
【００４５】
[0101]  例えば、図１８は、図１３に示される状態における、ホスト１５０から外部ストレージ制御ユニット１３０ａ上のＬＵ１に至るアクセスパスを示す。ＷＷＰＮ＿Ｖ１を有するフロントエンド仮想Ｎ＿Ｐｏｒｔが、図１９に示されるストレージ制御ユニット１０１ｃ（「ｕｎｉｔ＿３」と名付けられた）に転送される場合、ＷＷＰＮ＿Ｖ１に送信されたＩ／Ｏ要求は、ＶＬＵ１にアクセスし、その結果、ＷＷＰＮ＿Ｖ３およびＷＷＰＮ＿８を介してＬＵ１にアクセスするように、ユニット間ネットワーク１１３を使用してストレージ制御ユニット１０１ａ（ｕｎｉｔ＿１）に転送される必要がある。実際、図１９の事例において、ＷＷＰＮ＿Ｖ３を有するバックエンド仮想Ｎ＿Ｐｏｒｔをストレージ制御ユニット１０１ｃに転送することは、ストレージ制御ユニット１０１ｃから外部ストレージ制御ユニット１３０ａ上のＬＵ１に至る直接パスが、全く存在しないため、可能でない。しかし、図２０に示されるとおり、ＷＷＰＮ＿Ｖ１を有するフロントエンド仮想Ｎ＿Ｐｏｒｔが、外部ストレージ制御ユニット１３０ａに至るパスを有するストレージ制御ユニット１０１ｂに転送される場合、ＷＷＰＮ＿Ｖ３を有するバックエンド仮想Ｎ＿Ｐｏｒｔも同時にストレージ制御ユニット１０１ｂに転送して、ユニット間ネットワーク１１３の使用によってもたらされる処理パフォーマンスの低下を回避するようにしなければならない。
【００４６】
[0102]  図２１〜図２３に示される流れ図に従って、管理サーバ１６０は、本発明によれば、管理者によって命令されるとおりに仮想ポートまたはボリュームグループが別のユニットに転送された後、ユニット間パスが使用されるかどうかを検査する。その転送の後、ユニット間パスが、使用される必要がある場合、管理サーバ１６０は、その転送に関する、より適切な代替の宛先を自動的に決定し、代替の宛先を管理者に提示する。
【００４７】
[0103]  ターゲットがフロントエンド仮想Ｎ＿Ｐｏｒｔによって指定される事例
[0104]  図２１は、転送のターゲットが、フロントエンド仮想Ｎ＿Ｐｏｒｔを使用して管理者によって指定される事例において、命令された転送後のユニット間ネットワークの使用を検査するためのプロセスの流れ図を示す。示される説明は、図１３におけるＷＷＰＮ＿Ｖ１を有するフロントエンド仮想Ｎ＿Ｐｏｒｔが、ストレージ制御ユニット１０１ｂ（ｕｎｉｔ＿２）に転送されるように命令される例に関する。
【００４８】
[0105]  ステップ２２０１で、管理サーバ１６０は、宛先制御ユニット（すなわち、ｕｎｉｔ＿２）が、指定されたフロントエンド仮想Ｎ＿Ｐｏｒｔが属するのと同一の、ボリュームグループ（すなわち、Ｇｒｏｕｐ１）内のＬＵに至るパスを有するかどうかを判定する検査を行う。この検査は、ＷＷＰＮ＿Ｖ１を使用して統合ボリュームグループマッピングテーブル３３０３を探索し、制御ユニット１０１ｂ（ｕｎｉｔ＿２）に関して統合物理パス管理テーブル３３０４を探索することによって実行されることが可能である。前述の事例において、統合ボリュームグループマッピングテーブル３３０３の第１の行３３３３から、ＷＷＰＮ＿Ｖ１と同一のグループ（すなわち、Ｇｒｏｕｐ１）の中に存在するＶＬＵに関する実際のＬＵが配置された外部ストレージ制御ユニット１３０のＷＷＰＮとして、ＷＷＰＮ＿８が、識別される。次に、統合物理パス管理テーブル３３０４の第５の行３３３４から、ｕｎｉｔ＿２からＷＷＰＮ＿８に至るパスが存在し、このパスは、ｕｎｉｔ＿２上のＷＷＰＮ＿６のＷＷＰＮを有する物理Ｎ＿Ｐｏｒｔからである。パスが見つかった場合、プロセスは、ステップ２２０２に進み、見つからなかった場合、プロセスは、ステップ２２０４に進む。
【００４９】
[0106]  ステップ２２０２で、管理サーバ１６０は、見つかったパスが、適切に機能しているか否かを判定する検査を行う。このステータスは、ステップ２２０１で参照されるのと同一の、統合物理パス管理テーブル３３０４内の行３３３４におけるステータスフィールド１５０２から、検査されることが可能である。前述の例において、パスは、「ＯＫ」が、ステータスフィールド１５０２に入っているため、適切に機能している。パスが、適切に機能している場合、プロセスは、ステップ２２０３に進み、適切に機能していない場合、プロセスは、ステップ２２０４に進む。
【００５０】
[0107]  ステップ２２０３で、管理サーバ１６０は、指定されたフロントエンド仮想Ｎ＿Ｐｏｒｔと同一のグループの中のバックエンド仮想Ｎ＿Ｐｏｒｔを、フロントエンド仮想Ｎ＿Ｐｏｒｔの転送と同時に、ステップ２２０１で見つかった、指定された制御ユニット１０１上の物理Ｎ＿Ｐｏｒｔに転送することを決定する。前述の例では、ＷＷＰＮ＿Ｖ３およびＮ＿Ｐｏｒｔ＿ＩＤ＿Ｖ３を有する仮想Ｎ＿Ｐｏｒｔが、ステップ２２０１で見つかった制御ユニット１０１ｂ（ｕｎｉｔ＿２）上のＷＷＰＮ＿６に転送されることが可能であると判定される。
【００５１】
[0108]  ステップ２２０４で、管理サーバ１６０は、指定されたフロントエンド仮想Ｎ＿Ｐｏｒｔと同一のグループの中のホストおよびＬＵに至る、機能するパスを有する代替の制御ユニット１０１が、存在するかどうかを判定する検査を行う。ステップ２２０１で、この検査は、指定されたフロントエンド仮想Ｎ＿Ｐｏｒｔと同一のグループの中のターゲットホストＮ＿Ｐｏｒｔフィールド１４０２内、および外部Ｎ＿Ｐｏｒｔフィールド１４０４内の値を使用して、統合物理パス管理テーブル３３０４を探索することにより、行われることが可能である。代替の制御ユニット１０１が見つかった場合、プロセスは、ステップ２２０５に進み、見つからなかった場合、プロセスは、ステップ２２０８に進む。
【００５２】
[0109]  ステップ２２０５で、管理サーバ１６０は、その代替のユニットを管理者に提示する。
【００５３】
[0110]  ステップ２２０６で、管理サーバ１６０は、管理者に問い合わせを行って、処理を代替のストレージ制御ユニット１０１に転送することが、ＯＫであるかどうかを判定する。代替のストレージ制御ユニット１０１が、ＯＫである場合、プロセスは、ステップ２２０７に進む。代替のストレージ制御ユニット１０１が、ＯＫではない場合、処理は、ステップ２２０８に進む。
【００５４】
[0111]  ステップ２２０７で、管理サーバ１６０は、フロントエンド仮想Ｎ＿Ｐｏｒｔとバックエンド仮想Ｎ＿Ｐｏｒｔをともに代替のストレージ制御ユニット１０１に転送することを決定する。
【００５５】
[0112]  ステップ２２０８で、管理サーバ１６０は、指定されたフロントエンド仮想Ｎ＿Ｐｏｒｔが、指定されたストレージ制御ユニットに転送された後に、ユニット間ネットワーク１１３が使用される必要があることを、管理者に警告する。
【００５６】
[0113]  ステップ２２０９で、管理サーバ１６０は、管理者に確認を行って、転送が完了した後、ユニット間ネットワーク１１３の使用が容認可能であるかどうかを判定する。ユニット間ネットワークの使用が、容認可能である場合、プロセスは、ステップ２２１１に進み、容認可能でない場合、プロセスは、ステップ２２１０に進む。
【００５７】
[0114]  ステップ２２１０で、管理サーバ１６０は、ユニット間ネットワークの使用が、管理者に容認可能でない場合、その転送を中止し、その中止について管理者に通知する。
【００５８】
[0115]  ステップ２２１１で、管理サーバ１６０は、指定されたフロントエンド仮想Ｎ＿Ｐｏｒｔだけを転送することを決定する。この事例では、ユニット間ネットワーク１１３は、使用される。したがって、ホスト１５０からＬＵ１に至るアクセスパスは、図１９に示されるとおりであり、処理パフォーマンスは、低下する。
【００５９】
[0116]  ターゲットがバックエンド仮想Ｎ＿Ｐｏｒｔによって指定される事例
[0117]  図２２は、転送のターゲットが、バックエンド仮想Ｎ＿Ｐｏｒｔを指定することによって管理者によって指定される事例における、転送する命令を受信した後にユニット間パスの使用を検査することの例示的な流れ図を示す。図１３におけるＷＷＰＮ＿Ｖ３を有するバックエンド仮想Ｎ＿Ｐｏｒｔが、ストレージ制御ユニット１０１ｂ（ｕｎｉｔ＿２）に転送されるように指定される事例に関する例が、以下に説明される。
【００６０】
[0118]  ステップ２３０１で、管理サーバ１６０は、宛先ユニットが、ボリュームグループの中のＶＬＵがエクスポートされるのと同一のホストに至るパスを有するかどうかを判定する検査を行う。この検査は、「ＷＷＰＮ＿Ｖ３」を使用して統合ボリュームグループマッピングテーブル３３０３を探索し、「ｕｎｉｔ＿２」を使用して統合物理パス管理テーブル３３０４を探索することによって実行されることが可能である。前述の事例では、統合ボリュームグループマッピングテーブル３３０３の第１の行３３３３から、ＷＷＰＮ＿１が、ＷＷＰＮ＿Ｖ３と同一のグループの中のＶＬＵがエクスポートされるホスト１５０のＷＷＰＮとして識別される。また、統合物理パス管理テーブル３３０４の第２の行３３３５から、ｕｎｉｔ＿２からＷＷＰＮ＿１に至るパスが存在することを見て取ることができ、このパスは、ｕｎｉｔ＿２上のＷＷＰＮ＿３を有する物理Ｎ＿Ｐｏｒｔからである。パスが、見つかった場合、プロセスは、ステップ２３０２に進み、見つからなかった場合、プロセスは、ステップ２３０４に進む。
【００６１】
[0119]  ステップ２３０２で、管理サーバ１６０は、見つかったパスが機能しているか否かを判定する検査を行う。そのパスのステータスは、ステップ２３０１で参照されるのと同一の、統合物理パス管理テーブル３３０４内の行３３３５におけるステータスフィールド１５０２から検査されることが可能である。前述の事例では、パスは、「ＯＫ」が、ステータスフィールド１５０２に入っているため、機能している。パスが、機能している場合、プロセスは、ステップ２３０３に進み、機能していない場合、プロセスは、ステップ２３０４に進む。
【００６２】
[0120]  ステップ２３０３で、管理サーバ１６０は、指定されたバックエンド仮想Ｎ＿Ｐｏｒｔと同一のグループの中のフロントエンド仮想Ｎ＿Ｐｏｒｔを、指定されたユニットに、バックエンド仮想Ｎ＿Ｐｏｒｔの転送と同時に転送することを決定する。前述の事例では、ＷＷＰＮ＿Ｖ３の転送が行われる際に、ＷＷＰＮ＿Ｖ１およびＮ＿Ｐｏｒｔ＿ＩＤ＿Ｖ１を有するフロントエンド仮想Ｎ＿Ｐｏｒｔが、ｕｎｉｔ＿２上のＷＷＰＮ＿２に転送されることが決定される。
【００６３】
[0121]  ステップ２３０４、管理サーバ１６０は、ホストと、指定されたバックエンド仮想Ｎ＿Ｐｏｒｔ「ＷＷＰＮ＿Ｖ３」と同一のグループの中のＬＵの両方に至る、機能するパスを有する代替のユニットが、存在するかどうかを判定する検査を行う。ステップ２３０１で、この検査は、ターゲットホストＮ＿Ｐｏｒｔフィールド１４０２内の値、および指定されたバックエンド仮想Ｎ＿Ｐｏｒｔと同一のグループの中の外部Ｎ＿Ｐｏｒｔフィールド１４０４内の値を使用して、統合物理パス管理テーブル３３０４を探索することによって行われることが可能である。見つかった場合、プロセスは、ステップ２３０５に進み、見つからなかった場合、プロセスは、ステップ２３０８に飛ぶ。
【００６４】
[0122]  ステップ２３０５で、管理サーバ１６０は、代替のストレージ制御ユニット１０１を管理者に示す。
【００６５】
[0123]  ステップ２３０６で、管理サーバ１６０は、管理者に問い合わせを送信して、その代替のストレージ制御ユニットにバックエンド仮想Ｎ＿Ｐｏｒｔを転送することが、容認可能であるかどうかを判定する。その代替のストレージ制御ユニット１０１に転送することが、容認可能である場合、プロセスは、ステップ２３０７に進み、容認可能でない場合、プロセスは、ステップ２３０８に進む。
【００６６】
[0124]  ステップ２３０７で、管理サーバ１６０は、フロントエンド仮想Ｎ＿Ｐｏｒｔおよびバックエンド仮想Ｎ＿Ｐｏｒｔを代替のストレージ制御ユニット１０１に転送することを決定する。
【００６７】
[0125]  ステップ２３０８で、管理サーバ１６０は、指定されたバックエンド仮想Ｎ＿Ｐｏｒｔが、指定されたストレージ制御ユニット１０１に転送された後、ユニット間ネットワークが使用される必要があることを、管理者に警告する。
【００６８】
[0126]  ステップ２２０９、管理サーバ１６０は、管理者に確認を行って、転送の後のユニット間ネットワーク１１３の使用が容認可能であるかどうかを判定する。容認可能である場合、プロセスは、ステップ２３１１に進み、容認可能でない場合、プロセスは、ステップ２３１０に進む。
【００６９】
[0127]  ステップ２３１０で、管理サーバ１６０は、その転送を中止し、その中止された転送について管理者に通知する。
【００７０】
[0128]  ステップ２３１１で、管理サーバ１６０は、指定されたバックエンド仮想Ｎ＿Ｐｏｒｔだけを転送することを決定する。この事例では、ユニット間ネットワーク１１３が、この転送の後に使用される必要があり、その結果、ホスト１５０と、ＬＵ、ＬＵ１およびＬＵ２との間で低下したパフォーマンスをもたらす。
【００７１】
[0129]  ターゲットがボリュームグループによって指定される事例
[0130]  図２３は、転送のターゲットが、ボリュームグループを指定することによって管理者によって指定される事例において、転送の後に、ユニット間パスの使用が要求されるかどうかを検査することに関する例示的な流れ図を示す。以下に説明される例は、図１３におけるｇｒｏｕｐ１が、ストレージ制御ユニット１０１ｂ（「ｕｎｉｔ＿２」）に転送されるように管理者によって指定される事例に関する。
【００７２】
[0131]  ステップ２４０１で、管理サーバ１６０は、宛先ユニットが、指定されたボリュームグループの中の同一のＬＵに至るパス、および指定されたボリュームグループの中のＶＬＵがエクスポートされるのと同一のホストに至るパスを有するかどうかを判定する検査を行う。この検査は、「ｇｒｏｕｐ１」に関して統合ボリュームグループマッピングテーブル３３０３を探索し、「ｕｎｉｔ＿２」に関して統合物理パス管理テーブル５０４を探索することによって行われることが可能である。この例では、統合ボリュームグループマッピングテーブル５０３の第１の行３３３３から、ＷＷＰＮ＿８が、指定されたボリュームグループの中のＶＬＵに関する実際のＬＵが存在する外部ストレージ制御ユニット１３０のＷＷＰＮとして識別され、ＷＷＰＮ＿１が、指定されたグループの中のＶＬＵがエクスポートされるホストのＷＷＰＮとして識別される。統合物理パス管理テーブル３３０４の第２の行３３３５および第５の行３３３４から、ｕｎｉｔ＿２からＷＷＰＮ＿１およびＷＷＰＮ＿８に至るパスが存在し、このパスは、ｕｎｉｔ＿２上でＷＷＰＮ＿２およびＷＷＰＮ＿６をそれぞれ有する物理Ｎ＿Ｐｏｒｔからである。指定されたボリュームグループの中の同一のＬＵに至るパス、および指定されたボリュームグループの中のＶＬＵがエクスポートされるのと同一のホストに至るパスが見つかった場合、プロセスは、ステップ２４０２に進み、見つからなかった場合、プロセスは、ステップ２４０４に進む。
【００７３】
[0132]  ステップ２４０２で、管理サーバ１６０は、見つかったパスが機能しているか否かについて検査を行う。それらのパスのステータスは、ステップ２４０１で参照されるのと同一の、統合物理パス管理テーブル３３０４内の行３３３４、３３３５を調べることにより、ステータスフィールド１５０３から検査されることが可能である。前述の事例では、「ＯＫ」が、両方の列におけるステータスフィールド１５０３に設定されている。それらのパスが、機能している場合、プロセスは、ステップ２４０３に進み、機能していない場合、プロセスは、ステップ２４０４に進む。
【００７４】
[0133]  ステップ２４０３で、管理サーバ１６０は、指定されたボリュームグループの中のフロントエンド仮想Ｎ＿Ｐｏｒｔおよびバックエンド仮想Ｎ＿Ｐｏｒｔを、指定されたストレージ制御ユニット１０１に同時に転送することを決定する。この例では、ステップ２４０１で見られるとおり、ＷＷＰＮ＿Ｖ１およびＮ＿Ｐｏｒｔ＿ＩＤ＿Ｖ１を有する仮想Ｎ＿Ｐｏｒｔ、およびＷＷＰＮ＿Ｖ３およびＮ＿Ｐｏｒｔ＿ＩＤ＿Ｖ３を有する仮想Ｎ＿Ｐｏｒｔが、ｕｎｉｔ＿２上のＷＷＰＮ＿２およびＷＷＰＮ＿６に転送される。
【００７５】
[0134]  ステップ２４０４で、管理サーバ１６０は、ホスト、および指定されたボリュームグループ（すなわち、ｇｒｏｕｐ１）の中のＬＵに至る、機能するパスを有する代替のストレージ制御ユニット１０１が、存在するかどうかを判定する検査を行う。ステップ２４０１の場合と同様に、この検査は、指定されたボリュームグループの中のターゲットホストＮ＿Ｐｏｒｔフィールド１４０２内、および外部Ｎ＿Ｐｏｒｔフィールド１４０４内の値を使用して、統合物理パス管理テーブル３３０４を探索することによって実行されることが可能である。代替のストレージ制御ユニット１０１が見つかった場合、プロセスは、ステップ２４０５に進み、見つからなかった場合、プロセスは、ステップ２４０８に飛んで進む。
【００７６】
[0135]  ステップ２４０５で、管理サーバ１６０は、代替のユニットを管理者に提示する。
【００７７】
[0136]  ステップ２４０６で、管理サーバ１６０は、管理者に問い合わせを行って、その代替のストレージ制御ユニット１０１にそのグループを転送することが、容認可能であるかどうかを判定する。その代替の転送が、容認可能である場合、管理サーバ１６０は、ステップ２４０７に進み、容認可能ではない場合、管理サーバ１６０は、ステップ２４０８に進む。
【００７８】
[0137]  ステップ２４０７で、管理サーバ１６０は、フロントエンド仮想Ｎ＿Ｐｏｒｔおよびバックエンド仮想Ｎ＿Ｐｏｒｔを、その代替のストレージ制御ユニット１０１に転送することを決定する。
【００７９】
[0138]  ステップ２４０８で、管理サーバ１６０は、指定された宛先ストレージ制御ユニット１０１が、ホストに至るパス、またはＬＵに至るパスを有するかどうかを判定する検査を行う。「はい」である場合、プロセスは、ステップ２４１０に進み、「はい」ではない場合、プロセスは、ステップ２４０９に進む。
【００８０】
[0139]  ステップ２４０９で、管理サーバ１６０は、その転送を中止し、その中止について管理者に通知する。
【００８１】
[0140]  ステップ２４１０で、管理サーバ１６０は、指定のグループに関する指定のフロントエンド仮想Ｎ＿Ｐｏｒｔまたは指定のバックエンド仮想Ｎ＿Ｐｏｒｔが指定のユニットへ転送された後にユニット間ネットワークが使用される必要があることを管理者に警告する。
【００８２】
[0141]  ステップ２４１１で、管理サーバ１６０は、管理者に確認を行って、転送の後のユニット間ネットワーク１１３の使用が、容認可能であるかどうかを判定する。容認可能である場合、プロセスは、ステップ２４１２に進み、容認可能でない場合、プロセスは、ステップ２４０９に進む。
【００８３】
[0142]  ステップ２４１２で、管理サーバ１６０は、フロントエンド仮想Ｎ＿Ｐｏｒｔまたはバックエンド仮想Ｎ＿Ｐｏｒｔを転送することを決定する。いずれの仮想Ｎ＿Ｐｏｒｔが転送されるかは、いずれのパスが、ステップ２４０８で見つかったかに依存する。ホストに至るパスが見つかった場合、フロントエンド仮想Ｎ＿Ｐｏｒｔだけが、指定されたストレージ制御ユニット１０１に転送されるのに対して、ＬＵに至るパスが見つかった場合、バックエンド仮想Ｎ＿Ｐｏｒｔだけが、指定されたストレージ制御ユニット１０１に転送される。
【００８４】
[0143]  フロントエンド仮想Ｎ＿Ｐｏｒｔ転送の流れ図
[0144]  図２４Ａは、管理サーバ１６０が、フロントエンドＮ＿Ｐｏｒｔ＿ＩＤが、転送されるべきであると決定し、送信元ストレージ制御ユニット３２０１から宛先ストレージ制御ユニット３２０２へ、その転送を実行するようストレージ制御ユニットに命令する場合の、フロントエンド仮想Ｎ＿Ｐｏｒｔを転送するための基本的なプロセスの例示的な流れ図を示す。
【００８５】
[0145]  ステップ３２０３で、送信元ストレージ制御ユニット３２０１が、フロントエンド仮想Ｎ＿Ｐｏｒｔの転送を始めるよう、宛先ストレージ制御ユニット３２０２に命令する。
【００８６】
[0146]  ステップ３２０４で、この命令を受信した後、宛先ストレージ制御ユニット３２０２は、フロントエンド仮想Ｎ＿Ｐｏｒｔに以前に割り当てられている、あらかじめ割り当てられたＮ＿Ｐｏｒｔ＿ＩＤを使用して、図９に関連して前述されるとおり、ファブリックログイン手続きを実行する。図９に示されるとおり、フロントエンドＦＣスイッチ１４０は、これに応答して、スイッチ１４０のルーティングテーブル１６００を変更する。
【００８７】
[0147]  ステップ３２０５で、宛先ストレージ制御ユニット３２０２は、フロントエンド仮想Ｎ＿Ｐｏｒｔが、ステップ３２０４で転送されて以来、その転送されたフロントエンド仮想Ｎ＿Ｐｏｒｔを介して受信されたフレームの処理を一時停止する。
【００８８】
[0148]  ステップ３２０６で、宛先ストレージ制御ユニット３２０２は、「ＣＯＭＰＬＥＴＥ」信号を送信元ストレージ制御ユニット３２０１に送信する。
【００８９】
[0149]  ステップ３２０７で、「ＣＯＭＰＬＥＴＥ」信号を受信した後、送信元ストレージ制御ユニット３２０１は、送信元ストレージ制御ユニット３２０１が、ステップ３２０３で、転送を開始するよう宛先ストレージ制御ユニット３２０２に命令した後に、送信元ストレージ制御ユニット３２０１が受信したフレームの処理を完了する。
【００９０】
[0150]  ステップ３２０８で、送信元ストレージ制御ユニット３２０１は、キャッシュ内のすべての待ち状態の書き込み操作を外部ストレージ制御ユニット１３０にフラッシュする。
【００９１】
[0151]  ステップ３２０９で、送信元ストレージ制御ユニット３２０１は、宛先ストレージ制御ユニット３２０２が、その時点で、ホストから処理の制御を引き継ぐ準備ができていることを示す「ＲＥＡＤＹ」信号を宛先ストレージ制御ユニット３２０２に送信する。
【００９２】
[0152]  ステップ３２１０で、宛先ストレージ制御ユニット３２０２は、バックエンド仮想Ｎ＿Ｐｏｒｔも同時に転送されるべきであることが決定されている場合、図２６の流れ図に従ってバックエンド仮想Ｎ＿Ｐｏｒｔ転送を実行する。
【００９３】
[0153]  ステップ３２１１で、宛先ストレージ制御ユニット３２０２は、転送されたフロントエンド仮想Ｎ＿Ｐｏｒｔを介して受信されたフレームの処理を再開する。
【００９４】
[0154]  ステップ３２１２で、宛先ストレージ制御ユニット３２０２は、この新たな構成に合うようにボリュームマッピングテーブル５０３を変更する。
【００９５】
[0155]  ステップ３２１３で、宛先ストレージ制御ユニット３２０２は、「ＣＯＭＰＬＥＴＥ」信号を送信元ストレージ制御ユニット３２０１に送信する。
【００９６】
[0156]  ステップ３２１４で、この「ＣＯＭＰＬＥＴＥ」信号を受信した後、送信元ストレージ制御ユニット３２０１は、この新たな構成に合うようにボリュームマッピングテーブル５０３を変更する。
【００９７】
[0157]  送信元ストレージ制御ユニット３２０１が、転送を始めるよう宛先ストレージ制御ユニット３２０２に命令する時点と、フロントエンドＦＣスイッチ１４０が、ルーティングテーブルを変更する時点との間に、タイムラグが存在することに留意されたい。したがって、この命令が送信された後、いくつかのフレームが、送信元ストレージ制御ユニット３２０１に着信する可能性がある。ステップ３２０６からステップ３２０９までが、遅延期間中にホスト１５０によって送信されたすべてのフレームの処理を完了するように提供される。
【００９８】
[0158]  ＢＢ＿Ｃｒｅｄｉｔフロー制御機構を利用するフロントエンド仮想Ｎ＿Ｐｏｒｔ転送の流れ図
[0159]  前述したとおり、ＢＢ＿Ｃｒｅｄｉｔフロー制御機構が、Ｎ＿ＰｏｒｔとＦ＿Ｐｏｒｔの間で実施されることが可能である。この機構は、図２４Ｂに関連して説明されるとおり、フロントエンドＦＣスイッチ１４０に、送信元ストレージ制御ユニット１４０にフレームを送信することを停止させるのに使用されることが可能である。図２４Ｂは、管理サーバ１６０が、フロントエンドＮ＿Ｐｏｒｔ＿ＩＤが、転送されるべきであると決定し、その転送を実行するようストレージ制御ユニットに命令する場合の、フロー制御機構を利用してフロントエンド仮想Ｎ＿Ｐｏｒｔを転送することに関する代替のプロセスおよび流れ図を示す。図２４Ａのプロセスに優る図２４Ｂのプロセスの利点は、Ｆ＿Ｐｏｒｔ上のＢＢ＿Ｃｒｅｄｉｔ＿ＣＮＴが０になると、スイッチが、ホストからの転送を停止するため、ステップ３２０５〜３２０９が、図２４Ｂのプロセスにおいて不要であることである。
【００９９】
[0160]  ステップ２５０３で、送信元ストレージ制御ユニット２５０１が、フロントエンド仮想Ｎ＿Ｐｏｒｔを介してＦ＿ＰｏｒｔにＲ＿ＲＤＹ応答を送信することを停止する。
【０１００】
[0161]  ステップ２５０４で、送信元ストレージ制御ユニット２５０１は、Ｆ＿Ｐｏｒｔ上のＢＢ＿Ｃｒｅｄｉｔ＿ＣＮＴが「０」になるまで、または所定の時間が経過するまで、待つ。
【０１０１】
[0162]  ステップ２５０５で、送信元ストレージ制御ユニット２５０１は、ステップ２５０４でＢＢ＿Ｃｒｅｄｉｔ＿ＣＮＴが０になったかどうかを判定する検査を行う。「はい」である場合、プロセスは、ステップ２５０６に進み、「はい」ではない場合、プロセスは、ステップ２５１１に進む。Ｆ＿Ｐｏｒｔ上でＢＢ＿Ｃｒｅｄｉｔ＿ＣＮＴが０になると、Ｆ＿Ｐｏｒｔは、Ｎ＿Ｐｏｒｔにフレームを送信することを停止することに留意されたい。しかし、ＢＢ＿Ｃｒｅｄｉｔ＿ＣＮＴが０になるまでの時間は、どれだけの頻度でフレームがＮ＿Ｐｏｒｔに送信されるかに依存する。したがって、ストレージ制御ユニット１０１は、ステップ２５０４で所定の時間が経過した場合、ステップ２５１３に進み、図２４Ａに示されるプロセスに従って転送を実行する。
【０１０２】
[0163]  ステップ２５０６で、送信元ストレージ制御ユニット２５０１は、その時点までに受信されたすべてのフレームの処理を完了する。
【０１０３】
[0164]  ステップ２５０７で、送信元ストレージ制御ユニット２５０１は、キャッシュの中に格納されたすべての待ち状態の書き込み操作を外部ストレージ制御ユニット１３０にフラッシュする。
【０１０４】
[0165]  ステップ２５０８で、送信元ストレージ制御ユニット２５０１は、フロントエンド仮想Ｎ＿Ｐｏｒｔの転送を始めるよう、宛先ストレージ制御ユニット２５０２に命令する。
【０１０５】
[0166]  ステップ２５０９で、宛先ストレージ制御ユニット２５０２は、バックエンド仮想Ｎ＿Ｐｏｒｔも同時に転送されるべきであることが決定されている場合、図３０の流れ図に従ってバックエンド仮想Ｎ＿Ｐｏｒｔ転送を実行する。
【０１０６】
[0167]  ステップ２５１０で、宛先ストレージ制御ユニット２５０２は、フロントエンド仮想Ｎ＿Ｐｏｒｔに以前に割り当てられている、あらかじめ割り当てられたＮ＿Ｐｏｒｔ＿ＩＤを使用して、図９に示されるファブリックログイン手続きを実行する。図９に示されるとおり、フロントエンドＦＣスイッチ１４０は、これに応答して、スイッチ１４０のルーティングテーブル１６００を変更する。
【０１０７】
[0168]  ステップ２５１１で、宛先ストレージ制御ユニット２５０２が、現時点で転送されているフロントエンド仮想Ｎ＿Ｐｏｒｔを介してＲ＿ＲＤＹ応答を送信することを再開する。Ｆ＿Ｐｏｒｔは、Ｆ＿Ｐｏｒｔ上のＢＢ＿Ｃｒｅｄｉｔ＿ＣＮＴが、１以上になるので、この仮想Ｎ＿Ｐｏｒｔにフレームを送信することを再開することに留意されたい。
【０１０８】
[0169]  ステップ２５１２で、宛先ストレージ制御ユニット２５０２が、この新たな構成を反映するようにボリュームマッピングテーブル５０３を変更する。
【０１０９】
[0170]  ステップ２５１４で、宛先ストレージ制御ユニット２５０２は、「ＣＯＭＰＬＥＴＥ」信号を送信元ストレージ制御ユニット２５０１に送信する。
【０１１０】
[0171]  ステップ２５１５で、この「ＣＯＭＰＬＥＴＥ」信号を受信した後、送信元ストレージ制御ユニット２５０１は、この新たな構成を反映するようにボリュームマッピングテーブル５０３を変更する。
【０１１１】
[0172]  ＦＣスイッチ支援を伴うフロントエンド仮想Ｎ＿Ｐｏｒｔ転送の流れ図
[0173]  図２４Ｃは、管理サーバ１６０が、フロントエンドＮ＿Ｐｏｒｔ＿ＩＤが転送されるべきであると決定し、その転送を実行するようストレージ制御ユニット１０１に命令する場合の、フロントエンド仮想Ｎ＿Ｐｏｒｔを転送することに関する代替のプロセスの別の例を示す。この実施形態のプロセスは、フロントエンドＦＣスイッチ１４０によって支援される。したがって、図２５に示されるとおり、フロントエンドＦＣスイッチ１４０は、スイッチ１４０のメモリ４０２の中に仮想ポート転送アシスタント２６００を有する。また、２４Ｃのプロセスは、スイッチが、仮想ポート転送中に、ホストから該当するＬＵへのＩ／Ｏの転送を一時停止するマイクロプログラムである、仮想ポート転送アシスタント２６００をスイッチ自体が使用することにより、ホストからの転送を停止するため、ステップ３２０５〜３２０９が、図２４Ｃのプロセスにおいて不要であるという、図２４Ａのプロセスに優る利点も有する。
【０１１２】
[0174]  ステップ２７０３で、送信元ストレージ制御ユニット２７０１が、転送されるべきフロントエンド仮想Ｎ＿ＰｏｒｔのＮ＿Ｐｏｒｔ＿ＩＤをフロントエンドＦＣスイッチ２７０３に通知する。
【０１１３】
[0175]  ステップ２７０４で、この通知を受信した後、フロントエンドＦＣスイッチ２７０３は、そのフロントエンド仮想Ｎ＿Ｐｏｒｔにフレームを伝送することを一時停止する。
【０１１４】
[0176]  ステップ２７０５で、フロントエンドＦＣスイッチ２７０３は、「ＲＥＡＤＹ」信号を送信元ストレージ制御ユニット２７０１に送り返す。
【０１１５】
[0177]  ステップ２７０６で、「ＲＥＡＤＹ」信号を受信した後、送信元ストレージ制御ユニット２７０１は、その時点までに送信元ストレージ制御ユニット２７０１が受信しているすべてのフレームの処理を完了する。
【０１１６】
[0178]  ステップ２７０７で、送信元ストレージ制御ユニット２５０１は、キャッシュから外部ストレージ制御ユニット１３０にすべての待ち状態の書き込み操作をフラッシュする。
【０１１７】
[0179]  ステップ２７０８で、送信元ストレージ制御ユニット２７０１が、フロントエンド仮想Ｎ＿Ｐｏｒｔを転送することを始めるよう、宛先ストレージ制御ユニット２７０２に命令する。
【０１１８】
[0180]  ステップ２７０９で、宛先ストレージ制御ユニット３２０１は、バックエンド仮想Ｎ＿Ｐｏｒｔも同時に転送されるべきであることが決定されている場合、図２６に示されるプロセスに従ってバックエンド仮想Ｎ＿Ｐｏｒｔ転送を実行する。
【０１１９】
[0181]  ステップ２７１０で、この命令を受信した後、宛先ストレージ制御ユニット２７０２は、フロントエンド仮想Ｎ＿Ｐｏｒｔに以前に割り当てられている、あらかじめ割り当てられたＮ＿Ｐｏｒｔ＿ＩＤを使用して、図９に示されるファブリックログイン手続きを実行する。図９に示されるとおり、フロントエンドＦＣスイッチ１４０は、これに応答して、この新たな構成を反映するようにスイッチ１４０のルーティングテーブルを変更する。
【０１２０】
[0182]  ステップ２７１１で、フロントエンドＦＣスイッチ１４０は、宛先ストレージ制御ユニット２７０２上に現時点で構成されているフロントエンド仮想Ｎ＿Ｐｏｒｔにフレームを伝送することを再開する。
【０１２１】
[0183]  ステップ２７１２で、宛先ストレージ制御ユニット２７０２は、この新たな構成を反映するようにボリュームマッピングテーブル５０３を変更する。
【０１２２】
[0184]  ステップ２７１３で、宛先ストレージ制御ユニット２７０２は、「ＣＯＭＰＬＥＴＥ」信号を送信元ストレージ制御ユニット２７０１に送信する。
【０１２３】
[0185]  ステップ２７１４で、この「ＣＯＭＰＬＥＴＥ」信号を受信した後、送信元ストレージ制御ユニット２７０１は、この新たな構成を反映するようにボリュームマッピングテーブル５０３を変更する。
【０１２４】
[0186]  バックエンド仮想Ｎ＿Ｐｏｒｔ転送の流れ図
[0187]  図２６は、管理サーバ１６０が、フロントエンド仮想Ｎ＿Ｐｏｒｔと同時にバックエンドＮ＿Ｐｏｒｔが転送されるべきであると決定し、ストレージ制御ユニット１０１に、その仮想ポートの転送を命令した場合の、バックエンド仮想Ｎ＿Ｐｏｒｔを転送するためのプロセスの例示的な流れ図を示す。このプロセスは、図２４Ａのステップ３２１０、図２４Ｂのステップ２５０９、または図２４Ｃのステップ２７０９で実行される。
【０１２５】
[0188]  ステップ２８０２で、宛先ストレージ制御ユニット３２０２、２５０２、２７０２が、転送されるバックエンド仮想Ｎ＿Ｐｏｒｔに以前に割り当てられている、あらかじめ割り当てられたＮ＿Ｐｏｒｔ＿ＩＤを使用して、図９に示されるファブリックログイン手続きを実行する。図９に示されるとおり、バックエンドＦＣスイッチ１２０は、これに応答して、スイッチ１２０のルーティングテーブル１７００を変更する。
【０１２６】
[0189]  ステップ２８０３で、宛先ストレージ制御ユニット３２０２、２５０２、２７０２は、この新たな構成を反映するようにユニット３２０２、２５０２、２７０２のボリュームマッピングテーブル５０３を変更する。
【０１２７】
[0190]  転送後の管理テーブルおよびルーティングテーブルの例
[0191]  図２７Ａから図２９は、図１３のｕｎｉｔ＿１上のｇｒｏｕｐ１が、ｕｎｉｔ＿２に転送される場合の、それぞれ、管理サーバ１６０およびストレージ制御ユニット１０１における管理テーブル３３０３、５０３、ならびにそれぞれ、ＦＣスイッチ１４０および１２０におけるルーティングテーブル１６００、１７００の例を示す。図２７Ａでは、ｇｒｏｕｐ１に関するエントリが、ストレージ制御ユニット１０１ａ上のボリュームグループマッピングテーブル５０３から削除されている。図２７Ｂでは、ｇｒｏｕｐ１に関するエントリが、ストレージ制御ユニット１０１ｂ上のボリュームグループマッピングテーブル５０３に追加されている。図２７Ｃに示されるとおり、管理ホスト上の統合ボリュームグループマッピングテーブル内で、エントリ１４１０、１４１１、および１４１２が、ｇｒｏｕｐ１が、現時点で、ｕｎｉｔ＿２上にあり、ＷＷＰＮ＿３という現在のフロントエンド物理Ｎ＿Ｐｏｒｔと、ＷＷＰＮ＿６という現在のバックエンド物理終端ポートとを有することを反映するように変更されている。さらに、図２８に示されるとおり、フロントエンドＦＣスイッチ１４０上のルーティングテーブル１６００内で、Ｆ＿Ｐｏｒｔエントリ１６０１は、現時点で、ＷＷＰＮ＿Ｖ１に関するＰｏｒｔ＿３である。さらに、図２９に示されるとおり、バックエンドスイッチ１２０上のルーティングテーブル１７００内で、Ｆ＿Ｐｏｒｔエントリ１７０１は、現時点で、ＷＷＰＮ＿Ｖ３に関するＰｏｒｔ＿２である。
【０１２８】
[0192]  したがって、本発明は、複数のストレージ制御ユニットを含むストレージシステムにおいて、ユニット間ネットワークが、意図せずに使用される可能性があるという問題に対処することを見て取ることができる。本発明によるストレージシステムは、仮想ポートを提供して、使用し、ストレージシステムを構成するストレージ制御ユニット上の物理ポートの間で、それらの仮想ポートを転送する機能を有する。さらに、このストレージシステムは、論理ボリューム／仮想ボリュームおよび仮想ポートを別のストレージ制御ユニットに移すかどうかを考慮する際、論理ボリュームおよび／または仮想ボリューム、および仮想ポートをグループとして管理することができる。管理者が、負荷分散などのために、１つまたは複数の仮想ポート、１つまたは複数のボリューム、または仮想ポートとボリュームのグループをストレージ制御ユニットの間で転送するよう、ストレージシステムに命令すると、ストレージシステムは、その転送の後、Ｉ／Ｏ要求を処理するために、その複数のストレージ制御ユニット間の通信が要求されるかどうかを判定する。ストレージシステムが、転送が行われた場合、ユニット間ネットワークが使用されなければならないと判定した場合、ストレージシステムは、その転送の後にユニット間ネットワークが使用されなくてもよいように、代替のストレージ制御ユニットを決定して、提示することができる。さらに、本発明は、ストレージ制御ユニットの間で、１つまたは複数の仮想ポート、１つまたは複数のボリューム、または仮想ポートとボリュームのグループを転送する命令に応答して行われるように説明されてきたが、本発明は、ストレージシステムが、そのような転送のターゲットとなるべき適切なストレージ制御ユニットを探し出すことを、管理者が要求する状況にも適用可能である。
【０１２９】
[0193]  以上から、本発明は、ユニット間ネットワークが使用されることが要求されるかどうかを考慮に入れることにより、複数のストレージ制御ユニットの間における１つまたは複数の仮想ポート、１つまたは複数のボリューム、または仮想ポートとボリュームのグループの転送のターゲットとなるべき最適なストレージ制御ユニットを決定するための方法および装置を提供することが、理解されよう。さらに、特定の実施形態が、本明細書で図示され、説明されてきたが、同一の目的を達するように計算された任意の構成が、開示される特定の実施形態に代用されてもよいことが、当業者には理解されよう。本開示は、本発明のありとあらゆる改変または変種を範囲に含むことを意図しており、前述の説明は、例示として、限定としてではなく行われていることを理解されたい。したがって、本発明の範囲は、添付の特許請求の範囲、ならびにそのような特許請求の範囲に認められる均等の全範囲を参照して、適切に決定されるべきである。
【図面の簡単な説明】
【０１３０】
【図１】[0008]本発明の方法および装置が適用されることが可能な情報システムのハードウェア構成の例を示す図である。
【図２】[0009]サービスプロセッサを含む構成を示す図である。
【図３】[0010]ホストおよび管理ホストのハードウェア構成を示す図である。
【図４】[0011]ＦＣスイッチの例示的なハードウェア構成を示す図である。
【図５Ａ】[0012]ストレージコントローラ上の例示的なソフトウェアモジュール構成を示す図である。
【図５Ｂ】[0013]管理サーバ上の例示的なソフトウェアモジュール構成を示す図である。
【図６】[0014]フレームの例示的なデータ構造を示す図である。
【図７】[0015]物理Ｎ＿Ｐｏｒｔに関するファブリックログイン手続きを示す図である。
【図８】[0016]仮想Ｎ＿Ｐｏｒｔに関するファブリックログイン手続きを示す図である。
【図９】[0017]既存のＮ＿Ｐｏｒｔ＿ＩＤを再使用する、または要求側からＮ＿Ｐｏｒｔ＿ＩＤを指定する仮想Ｎ＿Ｐｏｒｔに関する例示的なファブリックログイン手続きを示す図である。
【図１０】[0018]発信側から応答側へのポートログインを示す図である。
【図１１】[0019]例示的なＢＢ＿Ｃｒｅｄｉｔフロー制御機構を示す図である。
【図１２】[0020]例示的なＥＥ＿Ｃｒｅｄｉｔフロー制御機構を示す図である。
【図１３】[0021]ポート−ボリューム構成を示す説明図である。
【図１４Ａ】[0022]ｕｎｉｔ＿１上のボリュームグループマッピングテーブルの例示的なデータ構造を示す図である。
【図１４Ｂ】[0023]ｕｎｉｔ＿２上のボリュームグループマッピングテーブルの例示的なデータ構造を示す図である。
【図１５Ａ】[0024]ｕｎｉｔ＿１上の物理パス管理テーブルの例示的なデータ構造を示す図である。
【図１５Ｂ】[0025]ｕｎｉｔ＿２上の物理パス管理テーブルの例示的なデータ構造を示す図である。
【図１５Ｃ】[0026]ｕｎｉｔ＿３上の物理パス管理テーブルの例示的なデータ構造を示す。
【図１６】[0027]フロントエンドＦＣスイッチ上のルーティングテーブルの例示的なデータ構造を示す図である。
【図１７】[0028]バックエンドＦＣスイッチ上のルーティングテーブルの例示的なデータ構造を示す図である。
【図１８】[0029]ポート転送前のボリュームアクセスパスを示す図である。
【図１９】[0030]フロントエンド仮想Ｎ＿Ｐｏｒｔだけが別のユニットに転送される事例におけるボリュームアクセスパスを示す図である。
【図２０】[0031]フロントエンド仮想Ｎ＿Ｐｏｒｔとバックエンド仮想Ｎ＿Ｐｏｒｔがともに同時に同一のユニットに転送される事例におけるボリュームアクセスパスを示す図である。
【図２１】[0032]ターゲットがフロントエンド仮想Ｎ＿Ｐｏｒｔによって指定される事例において転送後にユニット間パスの使用を検査することを示す例示的な流れ図である。
【図２２】[0033]ターゲットがバックエンド仮想Ｎ＿Ｐｏｒｔによって指定される事例において転送後にユニット間パスの使用を検査することを示す例示的な流れ図である。
【図２３】[0034]ターゲットがボリュームグループによって指定される事例において転送後にユニット間パスの使用を検査することを示す例示的な流れ図である。
【図２４Ａ】[0035]フロントエンド仮想Ｎ＿Ｐｏｒｔ転送を示す例示的な流れ図である。
【図２４Ｂ】[0036]ＢＢ＿Ｃｒｅｄｉｔフロー制御を利用するフロントエンド仮想Ｎ＿Ｐｏｒｔ転送を示す例示的な流れ図である。
【図２４Ｃ】[0037]ＦＣスイッチ支援を利用するフロントエンド仮想Ｎ＿Ｐｏｒｔ転送を示す例示的な流れ図である。
【図２５】[0038]フロントエンドＦＣスイッチの例示的なソフトウェアモジュール構成を示す図である。
【図２６】[0039]バックエンド仮想Ｎ＿Ｐｏｒｔ転送を示す例示的な流れ図である。
【図２７Ａ】[0040]転送後のＵｎｉｔ＿１テーブル上のボリュームグループマッピングの例示的なデータ構造を示す図である。
【図２７Ｂ】[0041]転送後のＵｎｉｔ＿２テーブル上のボリュームグループマッピングの例示的なデータ構造を示す図である。
【図２７Ｃ】[0042]転送後の管理ホストテーブル上の統合ボリュームグループマッピングの例示的なデータ構造を示す図である。
【図２８】[0043]フロントエンドＦＣスイッチ上のルーティングテーブルの例示的なデータ構造を示す図である。
【図２９】[0044]バックエンドＦＣスイッチ上のルーティングテーブルの例示的なデータ構造を示す図である。
【図３０】[0045]統合ボリュームグループマッピングテーブルの例示的なデータ構造を示す。
【図３１】[0046]統合物理パス管理テーブルの例示的なデータ構造を示す図である。
【図１】
0005159475.tif 000002
【図２】
0005159475.tif 000003
【図３】
0005159475.tif 000004
【図４】
0005159475.tif 000005
【図５Ａ】
0005159475.tif 000006
【図５Ｂ】
0005159475.tif 000007
【図６】
0005159475.tif 000008
【図７】
0005159475.tif 000009
【図８】
0005159475.tif 000010
【図９】
0005159475.tif 000011
【図１０】
0005159475.tif 000012
【図１１】
0005159475.tif 000013
【図１２】
0005159475.tif 000014
【図１３】
0005159475.tif 000015
【図１４Ａ】
0005159475.tif 000016
【図１４Ｂ】
0005159475.tif 000017
【図１５Ａ】
0005159475.tif 000018
【図１５Ｂ】
0005159475.tif 000019
【図１５Ｃ】
0005159475.tif 000020
【図１６】
0005159475.tif 000021
【図１７】
0005159475.tif 000022
【図１８】
0005159475.tif 000023
【図１９】
0005159475.tif 000024
【図２０】
0005159475.tif 000025
【図２１】
0005159475.tif 000026
【図２２】
0005159475.tif 000027
【図２３】
0005159475.tif 000028
【図２４Ａ】
0005159475.tif 000029
【図２４Ｂ】
0005159475.tif 000030
【図２４Ｃ】
0005159475.tif 000031
【図２５】
0005159475.tif 000032
【図２６】
0005159475.tif 000033
【図２７Ａ】
0005159475.tif 000034
【図２７Ｂ】
0005159475.tif 000035
【図２７Ｃ】
0005159475.tif 000036
【図２８】
0005159475.tif 000037
【図２９】
0005159475.tif 000038
【図３０】
0005159475.tif 000039
【図３１】
0005159475.tif 000040