少なくとも一つの第1のインタフェースポート、第1のCPU、第1のメモリ、及び複数の第1の論理ユニットを含む第1のデータストレージシステムと、少なくとも一つの第2のインタフェースポート、第2のCPU、第2のメモリ、及び複数の第2の論理ユニットを含む第2のデータストレージシステムであって、前記第1のデータストレージシステムに接続される、第2のデータストレージシステムと、複数のスイッチと、前記スイッチの第1のグループを介して前記第1のデータストレージシステムと接続されるとともに、前記スイッチの第2のグループを介して前記第2のデータストレージシステムと接続されるサーバであって、前記第1のグループ及び前記第2のグループは、前記第1のグループと前記第2のグループの両方に含まれない少なくとも一つのスイッチを有する、サーバとを備えるシステムであって、前記第1のデータストレージシステムは、前記第1のグループのスイッチを介して前記サーバから前記複数の第1の論理ユニットに向けられたI/Oコマンドを受信し、前記第1のデータストレージシステムは、前記第1のストレージシステムと前記第2のデータストレージシステムの両方の前記ポートに関する第1の情報を維持し、かつ前記第1の情報は、前記第2のデータストレージシステムを通過する少なくとも一つのパス及び前記第2のデータストレージシステムを通過しない少なくとも一つの他のパスを含む、前記サーバと前記第1のデータストレージシステムとの間のマルチパス通信を生成するために使用されることを特徴とするシステム。前記第1の情報は、前記第1のデータストレージシステム、前記第2のデータストレージシステム、前記複数のスイッチ、及び前記サーバのポートの間のパスに関連した情報を含むことを特徴とする請求項1に記載のシステム。前記第1の情報は、前記第1のデータストレージシステム及び前記複数のスイッチ及び前記サーバのポートの間でデータを送信するための負荷情報と、前記第2のデータストレージシステム及び前記複数のスイッチ及び前記サーバのポートの間でデータを送信するための負荷情報とを含む、請求項2に記載のシステム。前記第1のデータストレージシステムと前記第2のデータストレージシステムの両方の前記ポートがWWPNによって識別されることを特徴とする請求項3に記載のシステム。前記第1のデータストレージシステム及び前記第2のデータストレージシステムのうちの一方は、移行先システムとしての前記第1のデータストレージシステム及び前記第2のデータストレージシステムのうちの他方に対してデータを移行するための移行元システムであり、データ移行のために、前記移行先システムは、前記移行元システムのソースポートと同じ識別子を有するターゲットポートとして仮想ポートを作成するとともに、前記ターゲットポートに論理ユニットを作成し、前記移行元システムは、前記移行元システム内の前記データを含む論理ユニットから前記移行先システムの前記ターゲットポート上の前記論理ユニットへのデータコピーを実行するとともに、前記移行元システムの前記ソースポートを停止状態にし、前記移行先システムは、前記移行先システムの前記ターゲットポートを稼働することを特徴とする請求項1に記載のシステム。前記第1のデータストレージシステムの前記ポートの一つに新たに接続された装置の検出に応じて、前記第1のデータストレージシステムは、前記新しく接続された装置と前記第1のデータストレージシステムの前記接続されたポートの間のパスに関連する情報を追加し、前記第1のデータストレージシステムへの接続を介して前記複数のスイッチ、前記サーバ、及び前記第2のデータストレージシステムに前記追加された情報を通知することを特徴とする請求項1に記載のシステム。前記スイッチの一つに接続された管理コンピュータをさらに備えるシステムであって、前記管理コンピュータからの要求に応じて、前記スイッチは、前記サーバのポートと、前記第1のデータストレージシステム及び前記第2のデータストレージシステムの少なくとも一方のポートの間のパス情報を更新することを特徴とする請求項1に記載のシステム。少なくとも一つの第2のインタフェースポートを有する第2のデータストレージシステムと、複数のスイッチと、前記スイッチの第1のグループを介して第1のデータストレージシステムに接続されるとともに、前記スイッチの第2のグループを介して前記第2のデータストレージシステムに接続されるサーバとを含むシステムにおける第1のデータストレージシステムであって、前記第1のグループ及び前記第2のグループは、前記第1のグループ及び前記第2のグループの両方に含まれない少なくとも一つのスイッチを有し、前記第1のデータストレージシステムは、少なくとも一つの第1のインタフェースポートと、第1のCPUと、第1のメモリと、複数の第1の論理ユニットとを備え、前記第1のデータストレージシステムは、前記第1のグループのスイッチを介して前記サーバから前記複数の第1の論理ユニットに向けられたI/Oコマンドを受信し、前記第1のデータストレージシステムは、前記第1のストレージシステムと前記第2のデータストレージシステムの両方の前記ポートに関する第1の情報を維持し、かつ前記第1の情報は、前記第2のデータストレージシステムを通過する少なくとも一つのパス及び前記第2のデータストレージシステムを通過しない少なくとも他の一つのパスを含む、前記サーバと第1のデータストレージシステムの間のマルチパス通信を生成するために使用されることを特徴とする第1のデータストレージシステム。前記第1の情報は、前記第1のデータストレージシステム、前記第2のデータストレージシステム、前記複数のスイッチ、及び前記サーバのポートの間のパスに関連した情報を含むことを特徴とする請求項8に記載の第1のデータストレージシステム。前記第1の情報は、前記第1のデータストレージシステム及び前記複数のスイッチ及び前記サーバのポートの間でデータを送信するための負荷情報と、前記第2のデータストレージシステム及び前記複数のスイッチ及び前記サーバのポートの間でデータを送信するための負荷情報とを含むことを特徴とする請求項9に記載の第1のデータストレージシステム。前記第1のデータストレージシステムと前記第2のデータストレージシステムの両方の前記ポートは、WWPNによって識別される特徴とする請求項10に記載の第1のデータストレージシステム。前記第2のデータストレージシステムは、移行先システムとしての前記第1のデータストレージシステムにデータを移行するための移行元システムであり、データ移行のために、前記第1のデータストレージシステムは、前記第2のデータストレージシステムのソースポートと同じ識別子を有するターゲットポートとしての仮想ポートを作成し、前記ターゲットポートに論理ユニットを作成し、かつ前記第2のデータストレージシステム内の前記データを含む論理ユニットから、前記第1のデータストレージシステムの前記ターゲットポート上の前記論理ユニットへのデータコピーが実行された後、かつ前記第2のデータストレージシステムの前記ソースポートが停止状態にされた後に、前記第1のデータストレージシステムの前記ターゲットポートを稼働することを特徴とする請求項8に記載の第1のデータストレージシステム。前記第1のデータストレージシステムの前記ポートの一つに新たに接続された装置の検出に応じて、前記第1のデータストレージシステムは、前記新しく接続された装置と前記第1のデータストレージシステムの前記接続されたポートとの間のパスに関連する情報を追加し、前記第1のデータストレージシステムへの接続を介して前記複数のスイッチ、前記サーバ、及び前記第2のデータストレージシステムに前記追加された情報を通知することを特徴とする請求項8に記載の第1のデータストレージシステム。少なくとも一つの第1のインタフェースポート、第1のCPU、第1のメモリ、及び複数の第1の論理ユニットを含む第1のデータストレージシステムと、少なくとも一つの第2のインタフェースポート、第2のCPU、第2のメモリ、及び複数の第2の論理ユニットを含む第2のデータストレージシステムであって、前記第1のデータストレージシステムに接続される、第2のデータストレージシステムと、複数のスイッチと、前記スイッチの第1のグループを介して前記第1のデータストレージシステムと接続されるとともに、前記スイッチの第2のグループを介して前記第2のデータストレージシステムと接続されるサーバであって、前記第1のグループ及び前記第2のグループは、前記第1のグループと前記第2のグループの両方に含まれない少なくとも一つのスイッチを有する、サーバとを備えるシステムにおけるマルチパス通信方法であって、前記スイッチを介して前記サーバから前記複数の第1の及び第2の論理ユニットの少なくとも一つに向けられたI/Oコマンドを受信することと、前記第1のストレージシステムと前記第2のデータストレージシステムの両方の前記ポートに関する第1の情報を維持することと、前記第2のデータストレージシステムを通過する少なくとも一つのパス及び前記第2のデータストレージシステムを通過しない少なくとも他の一つのパスを含む、前記サーバと前記第1のデータストレージシステムとの間のマルチパス通信を生成するために前記第1の情報を使用することとを含むことを特徴とするマルチパス通信方法。前記第1の情報は、前記第1のデータストレージシステム、前記第2のデータストレージシステム、前記複数のスイッチ、及び前記サーバのポートの間のパスに関連した情報を含むことを特徴とする請求項14に記載の方法。前記第1の情報は、前記第1のデータストレージシステム及び前記複数のスイッチ及び前記サーバのポートの間でデータを送信するための負荷情報と、前記第2のデータストレージシステム及び前記複数のスイッチ及び前記サーバのポートの間でデータを送信するための負荷情報を含むことを特徴とする請求項15に記載の方法。前記第1のデータストレージシステムと前記第2のデータストレージシステムの両方の前記ポートをWWPNによって識別することを特徴とする請求項16に記載の方法、移行元システムとしての前記第1のデータストレージシステム及び前記第2のデータストレージシステムのうちの一方から、移行先システムとしての前記第1のデータストレージシステム及び前記第2のデータストレージシステムの他方にデータを移行するためのデータ移行プロセスであって、前記移行元システムのソースポートと同じ識別子を有するターゲットポートとしての仮想ポートを作成することと、前記ターゲットポートに論理ユニットを作成することと、前記移行元システム内の前記データを含む論理ユニットから、前記移行先システムの前記ターゲットポート上の前記論理ユニットへのデータコピーを実行することと、前記移行元システムの前記ソースポートを停止状態にすることと、前記移行先システムの前記ターゲットポートを稼働することとを含む、データ移行プロセスをさらに含むことを特徴とする請求項14に記載の方法。前記第1のデータストレージシステムの前記ポートの一つに新たに接続された装置の検出に応じて、前記第1のデータストレージシステムが、前記新しく接続された装置と第1のデータストレージシステムの前記接続されたポートとの間のパスに関連する情報を追加し、かつ前記第1のデータストレージシステムへの接続を介して前記複数のスイッチ、前記サーバ、及び前記第2のデータストレージシステムに前記追加された情報を通知することをさらに含むことを特徴とする請求項14に記載の方法。管理コンピュータからの要求に応じて、前記サーバのポートと、前記第1のデータストレージシステム及び前記第2のデータストレージシステムの少なくとも一方のポートの間のパス情報を更新することをさらに含むことを特徴とする請求項14に記載の方法。0039以下の本発明についての詳細な説明では、開示の一部を成すとともに、それによって本発明が実施され得る例示的実施形態が実例として但し限定ではない示される、添付の図面を参照する。当該図面において、類似の数字は、いくつかの図面を通してほぼ同様の構成要素を示すものである。また、留意すべき点として、詳細な説明では様々な例示的実施形態を提供する以下に説明し、かつ図面で示される通りが、本発明は本明細書において説明されかつ示される実施形態に限定されず、当業者が知っているであろう又は知るようになり得るその他の実施形態にも及び得る。本明細書における一実施形態、本実施形態、又は上述の実施形態の言及は、当該実施形態に関連して説明される特定の特性、構造又は特徴が、本発明の少なくとも一つの実施形態に含まれることを意味し、本明細書の様々な箇所において上記文言が使用されていても、必ずしもすべてが同一の実施形態を言及するものではない。さらに、以下の詳細な説明において、本発明を徹底して理解できるように、多くの具体的な詳細が記載されている。但し、本発明を実施するためにこれらの具体的な詳細すべてが必要なわけではないことは、当業者にとって明らかであろう。他の状況では、本発明を不必要に曖昧にしないように、周知の構造、材料、回路、プロセス及びインタフェースの詳細については説明しておらず、かつ/又はブロック図において図示している場合もある。0040さらに、以下の詳細な説明の一部は、コンピュータ内のオペレーションのアルゴリズム及び象徴的な態様に関して示されている。これらのアルゴリズム記述及び象徴的な態様は、データ処理分野の当業者がその新しいアイディアのエッセンスを最も効果的に他の当業者に伝えるために使用する手段である。アルゴリズムとは、望ましい最終状態又は結果へと導く一連の定義されたステップである。本発明において、実施されるステップは、具体的な結果を達成するための相当量の物理的操作を必要とする。通常は必ずしもそうではないが、当該数量は、格納、転送、組み合わせ、比較、その他の操作が可能な電気もしくは磁気信号又は命令の形態を取る。主に一般的な使用のために、上記の信号をビット、値、要素、記号、文字、用語、数字、命令等として言及することが時として便利であることが証明されている。但し、上記の及び類似の用語のすべてが、適切な物理数量に関連付けられるものであり、かつ当該数量に適用される単に便利なラベルであることを留意すべきである。別段の記載がない限り、以下の解説から明らかなように、当然のことながら説明全体を通して、処理、演算、計算、判断、表示等の用語を用いた解説は、コンピュータシステムのレジスタ及びメモリ内の物理的電子的数量として表わされるデータを、コンピュータシステムのメモリもしくはレジスタ又はその他の情報記憶、送信もしくは表示装置の中の物理的数量として同様に表わされるその他のデータに操作しかつ変換する、コンピュータシステム又はその他の情報処理装置の動作又はプロセスを含み得る。0041本発明は、本明細書における動作を実施する装置にも関する。この装置は、必要とされる目的のために特別に構築してもよく、又は一つ以上のコンピュータプログラムによって選択的に起動又は再構成された一つ以上の汎用コンピュータを含み得る。当該コンピュータプログラムは、光ディスク、磁気ディスク、読取専用記憶装置ROM、ランダムアクセスメモリRAM、ソリッドステート装置及びドライブ、又は電子情報の格納に適したその他の種類の媒体等但し、これらに限定されないのコンピュータ読取可能記憶媒体に格納され得る。本明細書において示されるアルゴリズム及び情報提示は、特定のコンピュータ又はその他の装置に本質的に関係しているわけではない。様々な汎用システムを、本明細書における教示に従ってプログラム及びモジュールと共に使用してもよく、又は望ましい方法ステップを実施するためにより特化した装置を構築することが都合がよいということが判明するかもしれない。さらに、本発明は、特定のプログラミング言語を参照して説明されてはいない。当然のことながら、本明細書に記載されている通りに本発明の教示を実施するために、様々なプログラミング言語を使用してもよい。プログラミング言語の命令は、一つ以上の処理装置、例えば中央処理装置CPU、プロセッサ、又はコントローラによって実行され得る。0042本発明の例示的な実施形態は、下記で詳細に説明されるように、複数のストレージシステムにわたる仮想スイッチの実行及びストレージとサーバの間のマルチパシングによる、マルチパス接続における無停止データ移行及びI/O負荷バランシングのための装置、方法、及びコンピュータプログラムを提供する。0043図3は、本発明の一実施形態に従ったストレージネットワーク構成の一例を示す。第1のサーバコンピュータ300A及び第2のサーバコンピュータ300Bはスイッチ200Aに結合され、これは2つのスイッチ200B及び200Dに結合される。スイッチ200Bは、第1のデータストレージ100Aに接続されたスイッチ200Cに接続されている。スイッチ200Dは、第2のデータストレージ100Bに接続されたスイッチ200Eに接続されている。管理コンピュータ400は、スイッチ200Bに接続されている。サーバ300は、業務アプリケーションを実行し、かつストレージ100をターゲットとするI/O作業負荷を生成する。スイッチ200は、ネットワークスイッチ、すなわち、TRILLプロトコルをサポートするレイヤ2イーサネットスイッチである。データストレージ100は、多数のディスクドライブHDD又はソリッドステートドライブSSDがインストールされた外部ストレージシステムである。管理コンピュータ400は、ストレージネットワーク全体の管理を提供する。図3では、第1のサーバコンピュータ300Aと第1のデータストレージ100Aの間の通信は、パス300A-200A-200B-200C-100Aとパス300A-200A-200D-200E-100B-100Aの両方を通して確立することができる。0044図4は、サーバコンピュータ300のハードウェア構成を示す。CPU330、メモリ340、入力装置360例えば、キーボード、マウスなど、及び出力装置370例えば、外部ディスプレイモニタに接続されたビデオグラフィックカードは、メモリコントローラ350を通して相互接続される。I/Oコントローラ320によって扱われるすべてのI/Oは、ネットワークインタフェース310を通して内部HDD装置380又は外部ストレージ装置で処理される。この構成は、多目的PCによって実現することができる。0045図5は、ネットワークスイッチ200のハードウェア構成を示す。CPU230及びメモリ240は、メモリコントローラ250を通して相互接続される。I/Oコントローラ220によって扱われるI/Oは、複数のネットワークインタフェース210を通して処理される。0046図6は、データストレージ100のハードウェア構成を示す。CPU130及びメモリ140は、メモリコントローラ150を通して相互接続される。I/Oコントローラ120によって扱われるI/Oは、ネットワークインタフェース310を通して内部HDD装置180又は外部ストレージ装置で処理される。0047図7は、管理コンピュータ400のハードウェア構成を示す。CPU430、メモリ440、入力装置460、及び出力装置470は、メモリコントローラ450を通して相互接続される。I/Oコントローラ420によって扱われるI/Oは、ネットワークインタフェース410を通して内部HDD装置480又は外部ストレージ装置で処理される。0048図8は、メモリ340に格納され、かつサーバコンピュータ300上で稼働するソフトウェアの一例を示す。アプリケーションプログラム3401は、I/O作業負荷例えば、データベース、SAP、電子メール、エクスチェンジサーバ、ウェブアプリケーションなどを生成する業務アプリケーションである。I/O転送制御プログラム3402は、SCSIプロトコルでの外部データI/O転送通信を制御するとともに、サーバ300とストレージ100の間に通信パスを設定する。ボリューム構成情報3403は、サーバオペレーティングシステムによって扱われるデータボリュームの構成定義である。etcfstabは、ボリューム構成情報3403の単純な一例である。そのデータ構造は、図12に示されている。0049図9は、メモリ240に格納され、スイッチ200上で稼働するソフトウェアの一例を示す。ネットワークルート管理プログラム2401は、ネットワーク上で通信ルートを設定かつ解放するためのプログラムである。トラフィック監視プログラム2402は、ネットワークインタフェース210によってトラフィックを測定するためのプログラムである。これは、bpsバイト/秒及びIOPSなどの測定基準によって測定することができる。ルート情報2403は、ネットワークルート管理プログラム2401によって設定される通信ルートを表現する構成データである。伝送ポート情報2404は、データを送信するためのターゲットネットワークインタフェース210を表す構成データである。ルーティング情報2403及び伝送ポート情報2404は、ネットワーク上の通信パスを決定することを可能にする。0050図10は、メモリ140に格納され、データストレージ100で稼働するソフトウェアの一例を示す。I/O転送制御プログラム1401は、SCSIプロトコルでの外部データI/O転送通信を操作するとともに、データストレージ100とサーバ300に間に通信パスを設定する。ストレージネットワークルート管理プログラム1402は、本発明の独自のプログラムである。このプログラムは、ローカルストレージネットワークルート情報1406及び共有ストレージネットワークルート情報1407を生成し、更新する。これは、複数のストレージシステムの間の一貫性を維持するために、いくつかのデータストレージシステムによって作成されるルート情報をマージする。構成管理プログラム1403は、管理コンピュータ400によって指示される通りに論理ユニット構成を更新する。データコピープログラム1404は、オリジナルの論理ユニット530が複製されるように、一つの論理ユニット530に格納されたデータ全体を別の論理ユニット530にコピーする。トラフィック監視プログラム1405は、ネットワークインタフェース110及び論理ユニット530によってI/Oトラフィックを測定する。その測定基準は、bpsバイト/秒、IOPSなどで許容可能である。共有ストレージネットワークルート情報1407は、複数のデータストレージシステム100の間で共有される情報である。これはネットワーク上の通信ルートを定義する。ストレージ伝送ポート情報1408は、ネットワーク上の通信パスを決定することを可能にする。LU構成情報1409は、論理ユニット530の構成設定である。0051図11は、メモリ440に格納され、管理コンピュータ400上で稼働するソフトウェアの一例を示す。I/Oパス制御プログラム4401は、ストレージネットワークを含む装置と通信する。これは、通信パスを設定し又は更新するための要求を発行する。LU構成要求プログラム4402は、データストレージ100と通信する。これは、論理ユニット530を設定し又は更新するための要求を発行する。LU構成情報4403は、複数のデータストレージシステム100からのLU構成情報1408を集めたものである。ルーティング情報4404は、複数のスイッチ200及びデータストレージシステム300からのルーティング情報2403及び共有ストレージネットワークルート情報1407を集めたものである。伝送ポート情報4405は、伝送ポート情報2404及びストレージ伝送ポート情報1408を集めたものである。スイッチ200から集められた情報及びデータストレージ100から集められた情報は、区別される必要はないが、同じように扱うことができる。管理コンピュータ400は、常に最新の構成を維持するように、これらの情報を更新する。データストレージ100のメモリ140は、物理ポートと仮想ポートの間のマッピング情報を含むので、仮想ポートを物理ポートとして扱ってもよい。仮想ポートと物理ポートの関係は、1対1の関係に限定されないかもしれない。一つの物理ポートは、複数の仮想ポートと関連付けられてもよく、一つの仮想ポートは、複数の物理ポートと関連付けられてもよい。マッピング情報は、管理コンピュータによって制御すべきである。よって、データストレージ100のマッピング情報は、管理コンピュータ400のメモリ440に統合されてもよく、更新が互いに通信されることになる。0052図12は、サーバコンピュータ300のメモリ340のボリューム構成情報3403の例示的なデータ構造を示す。マウントポイント34031は、ファイルシステムで定義される論理ディレクトリである。論理ユニットなどの外部装置は、この位置にマウントされる。ターゲットFCID34032は、ファブリックログインプロセスを初期化したときにファイバチャネルネットワークによって動的に割り当てられるネットワークインタフェース110の識別子である。ターゲット装置34033は、ネットワークインタフェース110の識別子である。ワールドワイドネームは、通常、ファイバチャネルネットワークの識別子として使用される。LUN34034は、各論理ユニット530に割り当てられる論理ユニット番号である。0053図13は、スイッチ200のメモリ240のルーティング情報の例示的なデータ構造を示す。ローカルポートアドレス24031は、スイッチ200にインストールされたネットワークインタフェースである。リモートポートアドレス24032は、他の装置にインストールされたポートである。リモートポートは、一つ以上のスイッチ200上のローカルポートアドレスから到達可能でなければならない。転送コスト24033は、ローカルポートからリモートポートに到達するための装置のホップカウントである。0054図14は、スイッチ200のメモリ240の伝送ポート情報2404の例示的なデータ構造を示す。リモートポートアドレス24031は、他の装置にインストールされたネットワークインタフェースである。ローカル配信ポートアドレス24032は、リモートポートとデータを通信し、かつこれにデータを送信するためのローカルネットワークインタフェースである。0055図15は、データストレージ100のメモリ140のローカルストレージネットワークルート情報1406の例示的なデータ構造を示す。第1のテーブル1406Aは、図19の第1のストレージ100Aで生成されるルート情報の一例である。第2のテーブル1406Bは、図19の第2のストレージ100Bで生成されるルート情報の一例である。ローカルポートアドレス14061、リモートポートアドレス14062、及び転送コスト14063は、図13における構成要素とそれぞれ同じ機能を果たす同じ構成要素を表す。このテーブルのユニークな特徴は、このデータストレージ100上に設定された仮想ポート520が物理ポート110と同じように記録することができることである。0056図16は、データストレージ100のメモリ140の共有ストレージネットワークルート情報1407の例示的なデータ構造を示す。ローカルポートアドレス14071は、データストレージシステム100の一つにインストールされたネットワークインタフェース110である。リモートポートアドレス14072は、データストレージシステム100以外の外部装置にインストールされたネットワークインタフェースである。リモートポートは、ローカルポートから到達可能でなければならない。転送コスト14073は、ローカルポートからリモートポートに到達するための装置のホップカウントである。図16のテーブルの内容は、図19のストレージネットワークトポロジと一貫性がある。例えば、データストレージ100Aのネットワークインタフェース110Aは、スイッチ23のネットワークインタフェース210Eに直接接続されているので、転送コストは1としてカウントされる。一方、ネットワークインタフェース110Aからサーバ300Aのネットワークインタフェース310Aへのルートは、4つの装置のホップを必要とする。第3のエントリのユニークな特徴は、ネットワークインタフェース110Cが、論理的に仮想ポート520Aに接続されていると考えられていることである。データストレージ100が他のストレージシステム100の構成の変更を検出すると、情報を最新かつ一貫性のあるものに維持するために、そのルート情報を更新する。0057図17は、データストレージ100のメモリ140のストレージ伝送ポート情報1408の例示的なデータ構造を示す。リモートポートアドレス14081は、他の装置上にインストールされたネットワークインタフェース110である。ローカル配信ポートアドレス14082は、リモートポートとデータを通信し、かつこれにデータを送信するためのローカルネットワークインタフェース110である。0058図18は、データストレージ100のメモリ140内のLU構成情報1409の例示的なデータ構造を示す。ローカルポートアドレス14091は、ストレージ100上で定義されるネットワークインタフェース110又は仮想ネットワークインタフェース520である。仮想ネットワークインタフェース520は、物理ネットワークインタフェース110ではないが、サーバコンピュータ300に対してデータストレージ100にインストールされたかのように動作する。ワールドワイドネーム14092は、ネットワークインタフェース110又は仮想ネットワークインタフェース520の識別子である。LUN14093は、ネットワークインタフェース110又は仮想ネットワークインタフェース520で定義される論理ユニット530を識別するための論理ユニット番号である。ストレージリソースID14094は、RAIDグループ又は一組のHDD又はSSDなどの物理的ストレージリソースである。0059図19は、本実施形態に従ったストレージネットワークトポロジの一例を示す。第1のサーバ300Aは、mountdata2で第1のデータストレージ100Aの仮想ネットワークポート520A上で定義された論理ユニット530Aを接続する図12を参照。スイッチ200Aは、ネットワークインタフェース210B及び210Cを通して、仮想ネットワークポート520Aへの二重通信パスを使用するように構成される図13及び14を参照。元々この構成は起こらないが、それは、一つのパス210C-24-25-110B-110D-520Aが仮想ポート520Aに到達するために転送コスト5を有し、これが転送コスト4しか有しない別のパス210B-22-23-110A-520Aと同等ではないからである。これは、図16で定義されるように、複数の仮想スイッチを一つの装置としてみなすことによって可能となる。サーバコンピュータ300及びスイッチ200の視点から、物理的に複数のデータストレージシステム100は、一つのデータストレージ100として認識される。本実施形態のこの態様は、上術の背景のセクションで述べられたボトルネックの第1の問題を解決する。直接接続されたスイッチ23上のボトルネックは発生しないが、これは、別のパスが第2のデータストレージ100Bを介してルーティングされるからである。0060図20は、スイッチ200上のルーティング情報2403及び伝送ポート情報2404、又はデータストレージ100上の共有ローカルストレージネットワークルート情報1406及びストレージ伝送ポート情報1408を更新するための流れ図の一例である。最初に、スイッチ200又はデータストレージ100は、ネットワークインタフェース210又は110に新たに接続された装置を検出するステップS101。次に、ルーティング情報2403又は1406上に新しいエントリを作成した後、その転送コストフィールド24033又は14063に1を記録するステップS102。その後、スイッチ200又はデータストレージ100は、そのネットワークインタフェース210又は110を通して直接接続された他の装置に新しいエントリを通知するステップS103。次に、新装置発見通知を受信したスイッチ200又はデータストレージ100は、そのルーティング情報2403又は1406を更新するステップS104。この場合、転送コストフィールド24033又は14063には、1が追加される。この装置は、他のネットワーク装置への通知を繰り返すステップS105。その後、これは、新しく検出されたネットワークインタフェースに到達するための一つ以上のパスを決定するステップS106、ステップS107。ステップS106及びステップS107では、スイッチ200又はデータストレージ100は、新しい装置に到達するための最低転送コストを有する一つ以上のネットワークインタフェース210又は110を選択し、伝送ポート情報2404又は1407を更新する。0061図21は、サーバ300からストレージ100への一つ以上のパスを選択するための流れ図の一例である。これは必須のプロセスではなく、オプションである。ステップS201では、管理コンピュータ400は、ターゲットストレージ100を通過するI/Oパスを選択する。ステップS202では、管理コンピュータ400は、パスの更新を要求する。ステップ203では、スイッチ及び仮想スイッチはパス情報を更新する。これは、特に管理者がデータトラフィックを監視かつ分析した後でそのネットワークトラフィックの制御を望む状況における、従来のオプションである。またこれは、3つ以上のパスが利用可能であり、かつ管理者がこれらのパスを削減したい場合に有用である。0062図22は、2つのデータストレージシステム100例えば100A及び100Bの間のローカルストレージネットワークルート情報1406を組み合わせるための流れ図の一例である。ローカルネットワークポート上の新しく接続された装置を検出した後で、データストレージ100Aは、ローカルストレージネットワーク情報1406上の新しいルーティング情報エントリを追加する。次に、データストレージ100Aは、新しいルート情報エントリを別のデータストレージ100Bに転送するステップS301。データストレージ100Bは、オリジナルのデータストレージ100から受信されたものと同じルート情報が存在するか否かを確認するために、新しいルート情報を受信した後、そのローカルストレージネットワークルート情報1406を検索するステップS302。図15の例では、データストレージ100Bが転送コスト2によるネットワークインタフェース210Fへのパスターゲットを表す新しいエントリを受信した後で、転送コスト1によってネットワークインタフェース210Fのための同じターゲットルートエントリを検索し、これを見つける。ステップS302の結果がYesである場合は、それは、転送コストが安いルートを採用することを決定するステップS303。図15の場合は、データストレージ100Bは、ネットワークインタフェース210Fをターゲットとするそのローカルエントリを採用する。それは、共有ストレージネットワークルーティング情報1407上のルート情報を更新するステップS304、ステップS305。0063図23は、データストレージシステム100を越えたデータ移行の流れ図の一例である。移行先ストレージ100すなわち移行ターゲット装置は、新しい仮想ポート520を作成するステップS401。この仮想ポート520は、ソースポート520と同じ識別子を有する。次にこれは、ポート520上に論理ユニット530を作成するステップS402。新しいエントリがLU構成情報1409に追加されることは明らかである。次に、データコピープログラム1404は、装置を越えて、移行元LUから移行先LUへのデータコピーを実行するステップS403。データコピーが完了した後で、移行元ストレージ100は、ソース仮想ポート520を停止状態にするステップS404。ステップS404の直後に、ターゲット仮想ポート520が稼働されるステップS405。データ移行は、一般に管理サーバ400からの要求に応じて実行される。0064図24は、仮想スイッチ500上の仮想ポート520の論理的説明図の一例である。この実施形態では、データストレージ100を横切るハードウェア境界を無視することができるので、仮想ポートの位置は仮想スイッチ500において柔軟性がある。また、サーバ300及びスイッチ200は、データ移行によって引き起こされるいかなる影響も受けない。これらは、その構成を再構成する必要はなく、ステップS404及びS405で起きる非常に短いI/Oサービス中断期間を有する。0065当然のことながら、図19に示すシステム構成は、本発明が実施され得る情報システムの単なる例示であり、本発明は特定のハードウェア構成に限定されない。本発明を実施するコンピュータ及びストレージシステムは、上述の発明を実施するために用いられるモジュール、プログラム及びデータ構造を格納しかつ読み出すことができる公知のI/O装置例えば、CD及びDVDドライブ、フロッピーディスクドライブ、ハードドライブ等も有し得る。これらのモジュール、プログラム及びデータ構造は、当該コンピュータ読取可能媒体上で符号化することができる。例えば、本発明のデータ構造は、本発明で使用されるプログラムが存在する一つ以上のコンピュータ読取可能媒体から独立したコンピュータ読取可能媒体に格納することができる。システムの構成要素は、あらゆる形態又は媒体のデジタルデータ通信例えば、通信ネットワークによって相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク、ワイドエリアネットワーク例えば、インターネット、無線ネットワーク、ストレージエリアネットワーク等を含む。0066説明では、本発明を徹底的に理解できるようにするために説明する目的で多くの詳細が記載されている。しかし、当業者にとっては、本発明を実施するためにはこれら具体的な詳細のすべてが必要なわけではないことは明らかであるだろう。また、留意すべき点として、本発明は、通常はフローチャート、流れ図又はブロック図として記載されるプロセスとして説明されてもよい。フローチャートでは動作を逐次プロセスとして説明し得るが、動作の多くは並行して又は同時に実行することができる。さらに、動作の順番は並び替えてもよい。0067当技術分野では周知であるように、上述の動作は、ハードウェア、ソフトウェア、又はソフトウェアとハードウェアの組み合わせによって実行することができる。本発明の実施形態の様々な態様は、回路や論理装置ハードウェアを用いて実施してよく、その一方で、その他の態様は、機械読み取り可能媒体ソフトウェア上に記憶された命令を用いて実施してもよく、これがプロセッサによって実行された場合には、本発明の実施形態を実行する方法をプロセッサに実施させるものである。さらに、本発明のいくつかの実施形態は、ハードウェアのみにおいて実施されてよく、その他の実施形態は、ソフトウェアのみで実施されてよい。さらに、説明された様々な機能は、一つのユニットで実施することができ、又はあらゆる方法によって多くの構成要素に分散することができる。ソフトウェアによって実施された場合、上記の方法は、コンピュータ読取可能媒体に記憶された命令に基づいて、汎用コンピュータなどのプロセッサによって実行され得る。望ましい場合には、圧縮及び/又は暗号化形式で命令を媒体に記憶することができる。0068上記により、本発明が、マルチパス接続における無停止データ移行及びI/O負荷バランシングのための方法、装置及びコンピュータ読取可能媒体に記憶されたプログラムを提供するものであることが明らかであろう。さらに、本明細書において特定の実施形態が示され説明されているが、当業者にとって当然のことながら、開示された特定の実施形態の代わりに、同じ目的を達成するために創出されたいかなる構成を用いてもよい。本開示は、本発明のあらゆる適応又はバリエーションを対象とすることを意図したものであり、また以下の請求項で用いられる用語は、本発明を本明細書で開示されている特定の実施形態に限定するものとは解釈されるべきではないことが理解される。むしろ本発明の範囲は、以下の請求項によって全面的に判断されるものであり、以下の請求項は、当該請求項が権利を有する同等物の範囲全体と共に、請求項の解釈について確立された原則に従って解釈されるものである。