本発明は、ノードポート仮想化技術が低い通信効率を有するという問題を解決するために、ファイバチャネルにおいてノードポート仮想化を実施する方法、装置、及びシステムを提供する。
第1の態様によると、本発明は、ファイバチャネルにおいてノードポート仮想化を実施する方法であって、ノードポート仮想化スイッチは、少なくとも2つのNポートを用いることによりファイバチャネルスイッチドファブリックに接続され、前記方法は、
前記ノードポート仮想化スイッチにより、前記少なくとも2つのNポートのうち1つのNポートを用いることにより、第1の登録状態変更通知を受信するステップであって、前記第1の登録状態変更通知は、第1のNポート識別子を伝達する、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも2つのNポートに、前記第1のNポート識別子に対応する少なくとも2つの第2のNポート識別子を割り当てるステップであって、同じ前記第1のNポート識別子に対応する前記少なくとも2つの第2のNポート識別子は異なり、同じ前記第1のNポート識別子に対応する前記少なくとも2つの第2のNポート識別子と、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも2つのNポートとの間には一対一対応の関係がある、ステップと、
前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチのFポートを用いることにより、第2の登録状態変更通知を送信するステップであって、前記第2の登録状態変更通知は、前記少なくとも2つの第2のNポート識別子のうちの1つを伝達する、ステップと、
を有する方法を提供する。
第1の態様の第1の実装方法では、前記方法は、前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチの前記Fポートを用いることにより、ファイバチャネルパケットを受信するステップであって、前記ファイバチャネルパケットの宛先ファイバチャネル識別子は、前記第2のNポート識別子である、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルパケットの前記宛先ファイバチャネル識別子を、前記第2のNポート識別子に対応する前記第1のNポート識別子で置換するステップと、
前記ノードポート仮想化スイッチにより、前記第2のNポート識別子に対応するNポートを用いることにより、前記の置換したファイバチャネルパケットを送信するステップと、
を更に有する。
第1の態様又は第1の態様の第1の実装方法を参照して、第1の態様の第2の実装方法では、前記方法は、前記ノードポート仮想化スイッチにより、前記少なくとも2つのNポートのうち1つのNポートを用いることにより、ファイバチャネルパケットを受信するステップであって、前記ファイバチャネルパケットの送信元ファイバチャネル識別子は、前記第1のNポート識別子である、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルパケットの前記送信元ファイバチャネル識別子を、前記第1のNポート識別子に対応する前記少なくとも2つの第2のNポート識別子のうちの1つであり前記ファイバチャネルパケットを受信するNポートに対応する第2のNポート識別子で置換するステップと、
前記ノードポート仮想化スイッチにより、前記の置換したファイバチャネルパケットを送信するステップと、
を更に有する。
第1の態様、第1の態様の第1の実装方法及び第2の実装方法、のうちのいずれか1つを参照して、第1の態様の第3の実装方法では、前記ノードポート仮想化スイッチにより、前記少なくとも2つのNポートのうちいずれか1つを用いることにより、第1の登録状態変更通知を受信するステップの前に、前記方法は、
前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチの前記Fポートを用いることにより、第1のファブリックログイン要求を受信するステップであって、前記第1のファブリックログイン要求は第1のワールドワイドポート名を有するステップ、又は、前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチの前記Fポートを用いることにより、第1のファブリック発見要求を受信するステップであって、前記第1のファブリック発見要求は、第1のワールドワイドポート名を有する、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも2つのNポートのうち1つのNポートを用いることにより、第2のファブリック発見要求を送信するステップであって、前記第2のファブリック発見要求は、第1のワールドワイドポート名を有する、ステップと、
前記ノードポート仮想化スイッチにより、前記第2のファブリック発見要求を送信するNポートを用いることにより、第2のファブリック発見応答を受信するステップであって、前記第2のファブリック発見応答は、前記第1のワールドワイドポート名に対応する第3のNポート識別子を有する、ステップと、
を更に有する。
第2の態様によると、本発明は、ファイバチャネルにおいてノードポート仮想化を実施する装置であって、ノードポート仮想化スイッチにより実装され、前記ノードポート仮想化スイッチは、少なくとも2つのNポートを用いることによりファイバチャネルスイッチドファブリックに接続され、前記装置は、受信モジュールと、割り当てモジュールと、送信モジュールと、を有し、
前記受信モジュールは、前記少なくとも2つのNポートのうち1つのNポートを用いることにより、第1の登録状態変更通知を受信するよう構成され、前記第1の登録状態変更通知は、第1のNポート識別子を伝達し、
前記割り当てモジュールは、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも2つのNポートに、前記第1のNポート識別子に対応する少なくとも2つの第2のNポート識別子を割り当てるよう構成され、同じ前記第1のNポート識別子に対応する前記少なくとも2つの第2のNポート識別子は異なり、同じ前記第1のNポート識別子に対応する前記少なくとも2つの第2のNポート識別子と、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも2つのNポートとの間には一対一対応の関係があり、
前記送信モジュールは、前記ノードポート仮想化スイッチのFポートを用いることにより、第2の登録状態変更通知を送信するよう構成され、前記第2の登録状態変更通知は、前記少なくとも2つの第2のNポート識別子のうちの1つを伝達する、
装置を提供する。
第2の態様の第1の実装方法では、前記受信モジュールは、前記ノードポート仮想化スイッチの前記Fポートを用いることにより、ファイバチャネルパケットを受信するよう更に構成され、前記ファイバチャネルパケットの宛先ファイバチャネル識別子は、前記第2のNポート識別子であり、前記送信モジュールは、前記ファイバチャネルパケットの前記宛先ファイバチャネル識別子を、前記第2のNポート識別子に対応する前記第1のNポート識別子で置換し、前記第2のNポート識別子に対応するNポートを用いることにより、前記の置換したファイバチャネルパケットを送信するよう更に構成される。
第2の態様又は第2の態様の第1の実装方法を参照して、第2の態様の第2の実装方法では、前記受信モジュールは、前記少なくとも2つのNポートのうち1つのNポートを用いることにより、ファイバチャネルパケットを受信するよう更に構成され、前記ファイバチャネルパケットの送信元ファイバチャネル識別子は、前記第1のNポート識別子であり、
前記送信モジュールは、前記ファイバチャネルパケットの前記送信元ファイバチャネル識別子を、前記第1のNポート識別子に対応する前記少なくとも2つの第2のNポート識別子のうちの1つであり前記ファイバチャネルパケットを受信するNポートに対応する第2のNポート識別子で置換し、前記の置換したファイバチャネルパケットを送信するよう更に構成される。
第2の態様、第2の態様の第1の実装方法及び第2の実装方法のうちのいずれか1つを参照して、第2の態様の第3の実装方法では、前記装置は、第1の仮想モジュールを更に有し、
前記第1の仮想モジュールは、前記ノードポート仮想化スイッチの前記Fポートを用いることにより、第1のファブリック発見要求を受信し、前記第1のファブリック発見要求は第1のワールドワイドポート名を有し、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも2つのNポートのうち1つのNポートを用いることにより、第2のファブリック発見要求を送信し、前記第2のファブリック発見要求は前記第1のワールドワイドポート名を有し、前記第2のファブリック発見要求を送信するNポートを用いることにより、第2のファブリック発見応答を受信し、前記第2のファブリック発見応答は前記第1のワールドワイドポート名に対応する第3のNポート識別子を有する、よう構成される。
第2の態様、又は第2の態様の第1の実装方法乃至第3の実装方法のうちのいずれか1つを参照して、第2の態様の第4の実装方法では、前記装置は、第2の仮想モジュールを更に有し、
前記第2の仮想モジュールは、前記ノードポート仮想化スイッチの前記Fポートを用いることにより、第1のファブリック発見要求を受信し、前記第1のファブリック発見要求は第1のワールドワイドポート名を有し、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも2つのNポートのうち1つのNポートを用いることにより、第2のファブリック発見要求を送信し、前記第2のファブリック発見要求は前記第1のワールドワイドポート名を有し、前記第2のファブリック発見要求を送信するNポートを用いることにより、第2のファブリック発見応答を受信し、前記第2のファブリック発見応答は前記第1のワールドワイドポート名に対応する第3のNポート識別子を有する、よう構成される。
第3の態様によると、本発明は、ノードポート仮想化スイッチであって、前記ノードポート仮想化スイッチは、少なくとも2つのNポートと、Fポートと、プロセッサと、メモリと、を有し、前記少なくとも2つのNポートはファイバチャネルスイッチドファブリックに接続され、前記少なくとも2つのNポートは前記プロセッサに接続され、前記Fポートは前記プロセッサに接続され、前記メモリは前記プロセッサに接続され、前記プロセッサは、前記メモリにより格納されるプログラム命令に従って、
前記少なくとも2つのNポートのうち1つのNポートを用いることにより、第1の登録状態変更通知を受信するステップであって、前記第1の登録状態変更通知は、第1のNポート識別子を伝達する、ステップと、
前記少なくとも2つのNポートに、前記第1のNポート識別子に対応する少なくとも2つの第2のNポート識別子を割り当てるステップであって、同じ前記第1のNポート識別子に対応する前記少なくとも2つのNポート識別子は異なり、同じ前記第1のNポート識別子に対応する前記少なくとも2つの第2のNポート識別子と、前記ファイバチャネルスイッチドファブリックに接続される前記少なくとも2つのNポートとの間には一対一対応の関係がある、ステップと、
前記Fポートを用いることにより、第2の登録状態変更通知を送信するステップであって、前記第2の登録状態変更通知は、前記少なくとも2つのNポート識別子のうち1つを伝達する、ステップと、
を実行する、ノードポート仮想化スイッチを提供する。
第3の態様の第1の実装方法では、前記ノードポート仮想化スイッチは、転送部を更に有し、前記転送部は、前記ノードポート仮想化スイッチの前記Fポートを用いることにより、ファイバチャネルパケットを受信し、前記ファイバチャネルパケットの宛先ファイバチャネル識別子は、前記第2のNポート識別子であり、前記転送部は、前記ファイバチャネルパケットの前記宛先ファイバチャネル識別子を、前記第2のNポート識別子に対応する前記第1のNポート識別子で置換し、前記転送部は、前記第2のNポート識別子に対応するNポートを用いることにより、前記の置換したファイバチャネルパケットを送信する。
第3の態様又は第3の態様の第1の実装方法を参照して、第3の態様の第2の実装方法では、前記ノードポート仮想化スイッチは転送部を更に有し、前記転送部は、前記少なくとも2つのNポートのうち1つのNポートを用いることにより、ファイバチャネルパケットを受信し、前記ファイバチャネルパケットの送信元ファイバチャネル識別子は、前記第1のNポート識別子であり、
前記転送部は、前記ファイバチャネルパケットの前記送信元ファイバチャネル識別子を、前記第1のNポート識別子に対応する前記少なくとも2つの第2のNポート識別子のうちの1つであり前記ファイバチャネルパケットを受信するNポートに対応する第2のNポート識別子で置換し、
前記転送部は、前記ノードポート仮想化スイッチにより、前記の置換したファイバチャネルパケットを送信する。
第3の態様、第3の態様の第1の実装方法及び第2の実装方法、のうちのいずれか1つを参照して、第3の態様の第3の実装方法では、前記メモリに格納されたプログラム命令に従って、前記ノードポート仮想化スイッチにより、前記少なくとも2つのNポートのうちいずれか1つを用いることにより、第1の登録状態変更通知を受信するステップを実行する前に、前記プロセッサは、
前記ノードポート仮想化スイッチの前記Fポートを用いることにより、第1のファブリックログイン要求を受信するステップであって、前記第1のファブリックログイン要求は第1のワールドワイドポート名を有するステップ、又は、前記ノードポート仮想化スイッチの前記Fポートを用いることにより、第1のファブリック発見要求を受信するステップであって、前記第1のファブリック発見要求は、第1のワールドワイドポート名を有する、ステップと、
前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも2つのNポートのうち1つのNポートを用いることにより、第2のファブリック発見要求を送信するステップであって、前記第2のファブリック発見要求は、第1のワールドワイドポート名を有する、ステップと、
前記第2のファブリック発見要求を送信するNポートを用いることにより、第2のファブリック発見応答を受信するステップであって、前記第2のファブリック発見応答は、前記第1のワールドワイドポート名に対応する第3のNポート識別子を有する、ステップと、
を更に実行する。
第4の態様によると、本発明は、ファイバチャネルにおいてノードポート仮想化を実施するシステムであって、ノードポート仮想化スイッチを有し、
前記ノードポート仮想化スイッチは、少なくとも2つのNポートを用いることによりファイバチャネルスイッチドファブリックに接続され、
前記ノードポート仮想化スイッチは、前記少なくとも2つのNポートのうち1つのNポートを用いることにより、第1の登録状態変更通知を受信するよう構成され、前記第1の登録状態変更通知は、第1のNポート識別子を伝達し、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも2つのNポートに、前記第1のNポート識別子に対応する少なくとも2つの第2のNポート識別子を割り当て、同じ前記第1のNポート識別子に対応する前記少なくとも2つの第2のNポート識別子は異なり、同じ前記第1のNポート識別子に対応する前記少なくとも2つの第2のNポート識別子と、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも2つのNポートとの間には一対一対応の関係があり、前記ノードポート仮想化スイッチのFポートを用いることにより、第2の登録状態変更通知を送信し、前記第2の登録状態変更通知は、前記少なくとも2つの第2のNポート識別子のうちの1つを伝達する、よう構成される、
システムを提供する。
第4の態様の第1の実装方法では、前記ノードポート仮想化スイッチは、前記ノードポート仮想化スイッチの前記Fポートを用いることにより、ファイバチャネルパケットを受信するよう更に構成され、前記ファイバチャネルパケットの宛先ファイバチャネル識別子は、前記第2のNポート識別子であり、前記ファイバチャネルパケットの前記宛先ファイバチャネル識別子を、前記第2のNポート識別子に対応する前記第1のNポート識別子で置換し、前記第2のNポート識別子に対応するNポートを用いることにより、前記の置換したファイバチャネルパケットを送信するよう更に構成される。
第4の態様又は第4の態様の第1の実装方法を参照して、第4の態様の第2の実装方法では、前記ノードポート仮想化スイッチは、前記少なくとも2つのNポートのうち1つのNポートを用いることにより、ファイバチャネルパケットを受信し、前記ファイバチャネルパケットの送信元ファイバチャネル識別子は、前記第1のNポート識別子であり、前記ファイバチャネルパケットの前記送信元ファイバチャネル識別子を、前記第1のNポート識別子に対応する前記少なくとも2つの第2のNポート識別子のうちの1つであり前記ファイバチャネルパケットを受信するNポートに対応する第2のNポート識別子で置換し、前記ノードポート仮想化スイッチにより、前記の置換したファイバチャネルパケットを送信する、よう更に構成される。
第4の態様、第4の態様の第1の実装方法及び第2の実装方法、のうちのいずれか1つを参照して、第4の態様の第3の実装方法では、前記ノードポート仮想化スイッチは、前記少なくとも2つのNポートのうちいずれか1つを用いることにより、第1の登録状態変更通知を受信するステップの前に、
前記ノードポート仮想化スイッチの前記Fポートを用いることにより、第1のファブリックログイン要求を受信し、前記第1のファブリックログイン要求は第1のワールドワイドポート名を有し、又は、前記ノードポート仮想化スイッチの前記Fポートを用いることにより、第1のファブリック発見要求を受信し、前記第1のファブリック発見要求は、第1のワールドワイドポート名を有し、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも2つのNポートのうち1つのNポートを用いることにより、第2のファブリック発見要求を送信し、前記第2のファブリック発見要求は、第1のワールドワイドポート名を有し、前記第2のファブリック発見要求を送信するNポートを用いることにより、第2のファブリック発見応答を受信し、前記第2のファブリック発見応答は、前記第1のワールドワイドポート名に対応する第3のNポート識別子を有する、よう更に構成される。
第4の態様又は第4の態様の第1の実装方法乃至第3の実装方法のうちのいずれか1つを参照して、第4の態様の第4の実装方法では、前記システムは、ファイバチャネルスイッチを更に有し、前記ファイバチャネルスイッチは、前記ファイバチャネルスイッチドファブリックの中に配置される。
第4の態様又は第4の態様の第1の実装方法乃至第4の実装方法のうちのいずれか1つを参照して、第4の態様の第5の実装方法では、前記システムは、ノードを更に有し、前記ノードは、前記ノードポート仮想化スイッチに接続される。
第5の態様によると、本発明は、ファイバチャネルにおいてノードポート仮想化を実施する方法であって、ノードポート仮想化スイッチは、少なくとも2つのNポートを用いることによりファイバチャネルスイッチドファブリックに接続され、前記方法は、
前記ノードポート仮想化スイッチにより、前記少なくとも2つのNポートのうち複数のNポートを用いることにより、複数の第1の登録状態変更通知を受信するステップであって、前記複数の第1の登録状態変更通知は、同じ第1のNポート識別子を伝達する、ステップと、
前記ノードポート仮想化スイッチにより、前記複数の第1の登録状態変更通知を受信する前記複数のNポートに、前記第1のNポート識別子に対応する複数の第2のNポート識別子を割り当てるステップであって、前記同じ第1のNポート識別子に対応する前記複数の第2のNポート識別子は異なり、前記同じ第1のNポート識別子に対応する前記複数の第2のNポート識別子と、前記複数の第1の登録状態変更通知を受信する前記複数のNポートとの間には一対一対応の関係がある、ステップと、
前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチのFポートを用いることにより、第2の登録状態変更通知を送信するステップであって、前記第2の登録状態変更通知は、前記複数の第2のNポート識別子のうち1つを伝達する、ステップと、
を有する。
第5の態様の第1の実装方法では、前記方法は、前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチの前記Fポートを用いることにより、ファイバチャネルパケットを受信するステップであって、前記ファイバチャネルパケットの宛先ファイバチャネル識別子は、前記第2のNポート識別子である、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルパケットの前記宛先ファイバチャネル識別子を、前記第2のNポート識別子に対応する前記第1のNポート識別子で置換するステップと、
前記ノードポート仮想化スイッチにより、前記第2のNポート識別子に対応するNポートを用いることにより、前記の置換したファイバチャネルパケットを送信するステップと、
を更に有する。
第5の態様又は第5の態様の第1の実装方法を参照して、第5の態様の第2の実装方法では、前記方法は、前記ノードポート仮想化スイッチにより、前記少なくとも2つのNポートのうち1つのNポートを用いることにより、ファイバチャネルパケットを受信するステップであって、前記ファイバチャネルパケットの送信元ファイバチャネル識別子は、前記第1のNポート識別子である、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルパケットの前記送信元ファイバチャネル識別子を、前記第1のNポート識別子に対応する前記複数の第2のNポート識別子のうちの1つであり前記ファイバチャネルパケットを受信するNポートに対応する第2のNポート識別子で置換するステップと、
前記ノードポート仮想化スイッチにより、前記の置換したファイバチャネルパケットを送信するステップと、
を更に有する。
第5の態様、第5の態様の第1の実装方法及び第2の実装方法、のうちのいずれか1つを参照して、第5の態様の第3の実装方法では、前記ノードポート仮想化スイッチにより、前記少なくとも2つのNポートのうちいずれか1つを用いることにより、第1の登録状態変更通知を受信するステップの前に、前記方法は、
前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチの前記Fポートを用いることにより、第1のファブリックログイン要求を受信するステップであって、前記第1のファブリックログイン要求は第1のワールドワイドポート名を有するステップ、又は、前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチの前記Fポートを用いることにより、第1のファブリック発見要求を受信するステップであって、前記第1のファブリック発見要求は、第1のワールドワイドポート名を有する、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも2つのNポートのうち1つのNポートを用いることにより、第2のファブリック発見要求を送信するステップであって、前記第2のファブリック発見要求は、第1のワールドワイドポート名を有する、ステップと、
前記ノードポート仮想化スイッチにより、前記第2のファブリック発見要求を送信するNポートを用いることにより、第2のファブリック発見応答を受信するステップであって、前記第2のファブリック発見応答は、前記第1のワールドワイドポート名に対応する第3のNポート識別子を有する、ステップと、
を更に有する。
第6の態様によると、本発明は、ファイバチャネルにおいてノードポート仮想化を実施する装置であって、ノードポート仮想化スイッチにより実施され、前記ノードポート仮想化スイッチは、少なくとも2つのNポートを用いることによりファイバチャネルスイッチドファブリックに接続され、前記装置は、受信モジュールと、割り当てモジュールと、送信モジュールと、を有し、
前記受信モジュールは、前記少なくとも2つのNポートのうち複数のNポートを用いることにより、複数の第1の登録状態変更通知を受信するよう構成され、前記複数の第1の登録状態変更通知は、同じ第1のNポート識別子を伝達し、
前記割り当てモジュールは、前記複数の第1の登録状態変更通知を受信する前記複数のNポートに、前記第1のNポート識別子に対応する複数の第2のNポート識別子を割り当てるよう構成され、前記同じ第1のNポート識別子に対応する前記複数の第2のNポート識別子は異なり、前記同じ第1のNポート識別子に対応する前記複数の第2のNポート識別子と、前記複数の第1の登録状態変更通知を受信する前記複数のNポートとの間には一対一対応の関係があり、
前記送信モジュールは、前記ノードポート仮想化スイッチのFポートを用いることにより、第2の登録状態変更通知を送信するよう構成され、前記第2の登録状態変更通知は、前記複数の第2のNポート識別子のうち1つを伝達する、
装置を提供する。
第6の態様の第1の実装方法では、前記受信モジュールは、前記ノードポート仮想化スイッチの前記Fポートを用いることにより、ファイバチャネルパケットを受信するよう更に構成され、前記ファイバチャネルパケットの宛先ファイバチャネル識別子は、前記第2のNポート識別子であり、前記送信モジュールは、前記ファイバチャネルパケットの前記宛先ファイバチャネル識別子を、前記第2のNポート識別子に対応する前記第1のNポート識別子で置換し、前記第2のNポート識別子に対応するNポートを用いることにより、前記の置換したファイバチャネルパケットを送信するよう更に構成される。
第6の態様又は第6の態様の第1の実装方法を参照して、第6の態様の第2の実装方法では、前記受信モジュールは、前記少なくとも2つのNポートのうち1つのNポートを用いることにより、ファイバチャネルパケットを受信するよう更に構成され、前記ファイバチャネルパケットの送信元ファイバチャネル識別子は、前記第1のNポート識別子であり、
前記送信モジュールは、前記ファイバチャネルパケットの前記送信元ファイバチャネル識別子を、前記第1のNポート識別子に対応する前記複数の第2のNポート識別子のうちの1つであり前記ファイバチャネルパケットを受信するNポートに対応する第2のNポート識別子で置換し、前記の置換したファイバチャネルパケットを送信するよう更に構成される。
第6の態様、第6の態様の第1の実装方法及び第2の実装方法のうちのいずれか1つを参照して、第6の態様の第3の実装方法では、前記装置は、第1の仮想モジュールを更に有し、
前記第1の仮想モジュールは、前記ノードポート仮想化スイッチの前記Fポートを用いることにより、第1のファブリック発見要求を受信し、前記第1のファブリック発見要求は第1のワールドワイドポート名を有し、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも2つのNポートのうち1つのNポートを用いることにより、第2のファブリック発見要求を送信し、前記第2のファブリック発見要求は前記第1のワールドワイドポート名を有し、前記第2のファブリック発見要求を送信するNポートを用いることにより、第2のファブリック発見応答を受信し、前記第2のファブリック発見応答は前記第1のワールドワイドポート名に対応する第3のNポート識別子を有する、よう構成される。
第6の態様、又は第6の態様の第1の実装方法乃至第3の実装方法のうちのいずれか1つを参照して、第6の態様の第4の実装方法では、前記装置は、第2の仮想モジュールを更に有し、
前記第2の仮想モジュールは、前記ノードポート仮想化スイッチの前記Fポートを用いることにより、第1のファブリック発見要求を受信し、前記第1のファブリック発見要求は第1のワールドワイドポート名を有し、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも2つのNポートのうち1つのNポートを用いることにより、第2のファブリック発見要求を送信し、前記第2のファブリック発見要求は前記第1のワールドワイドポート名を有し、前記第2のファブリック発見要求を送信するNポートを用いることにより、第2のファブリック発見応答を受信し、前記第2のファブリック発見応答は前記第1のワールドワイドポート名に対応する第3のNポート識別子を有する、よう構成される。
第7の態様によると、本発明は、ノードポート仮想化スイッチであって、前記NPVスイッチは、少なくとも2つのNポートと、Fポートと、プロセッサと、メモリと、を有し、前記少なくとも2つのNポートは、ファイバチャネルスイッチドファブリックに接続され、前記少なくとも2つのNポートは前記プロセッサに接続され、前記Fポートは前記プロセッサに接続され、前記メモリは前記プロセッサに接続され、前記プロセッサは、前記メモリに格納されたプログラム命令に従って、
前記少なくとも2つのNポートのうち複数のNポートを用いることにより、複数の第1の登録状態変更通知を受信するステップであって、前記複数の第1の登録状態変更通知は、同じ第1のNポート識別子を伝達する、ステップと、
前記複数の第1の登録状態変更通知を受信する前記複数のNポートに、前記第1のNポート識別子に対応する複数の第2のNポート識別子を割り当てるステップであって、同じ前記第1のNポート識別子に対応する前記複数の第2のNポート識別子は異なり、同じ前記第1のNポート識別子に対応する前記複数の第2のNポート識別子と、前記複数の第1の登録状態変更通知を受信する前記複数のNポートとの間には一対一対応の関係がある、ステップと、
前記Fポートを用いることにより、第2の登録状態変更通知を送信するステップであって、前記第2の登録状態変更通知は、前記複数の第2のNポート識別子を伝達する、ステップと、
を実行する、ノードポート仮想化スイッチを提供する。
第7の態様の第1の実装方法では、前記ノードポート仮想化スイッチは、転送部を更に有し、前記転送部は、前記ノードポート仮想化スイッチの前記Fポートを用いることにより、ファイバチャネルパケットを受信し、前記ファイバチャネルパケットの宛先ファイバチャネル識別子は、前記第2のNポート識別子であり、前記転送部は、前記ファイバチャネルパケットの前記宛先ファイバチャネル識別子を、前記第2のNポート識別子に対応する前記第1のNポート識別子で置換し、前記転送部は、前記第2のNポート識別子に対応するNポートを用いることにより、前記の置換したファイバチャネルパケットを送信する。
第7の態様又は第7の態様の第1の実装方法を参照して、第7の態様の第2の実装方法では、前記ノードポート仮想化スイッチは転送部を更に有し、前記転送部は、前記少なくとも2つのNポートのうち1つのNポートを用いることにより、ファイバチャネルパケットを受信し、前記ファイバチャネルパケットの送信元ファイバチャネル識別子は、前記第1のNポート識別子であり、
前記転送部は、前記ファイバチャネルパケットの前記送信元ファイバチャネル識別子を、前記第1のNポート識別子に対応する前記複数の第2のNポート識別子のうちの1つであり前記ファイバチャネルパケットを受信するNポートに対応する第2のNポート識別子で置換し、
前記転送部は、前記ノードポート仮想化スイッチにより、前記の置換したファイバチャネルパケットを送信する。
第7の態様、第7の態様の第1の実装方法及び第2の実装方法、のうちのいずれか1つを参照して、第7の態様の第3の実装方法では、前記メモリに格納されたプログラム命令に従って、前記ノードポート仮想化スイッチにより、前記少なくとも2つのNポートのうちいずれか1つを用いることにより、第1の登録状態変更通知を受信するステップを実行する前に、前記プロセッサは、
前記ノードポート仮想化スイッチの前記Fポートを用いることにより、第1のファブリックログイン要求を受信するステップであって、前記第1のファブリックログイン要求は第1のワールドワイドポート名を有するステップ、又は、前記ノードポート仮想化スイッチの前記Fポートを用いることにより、第1のファブリック発見要求を受信するステップであって、前記第1のファブリック発見要求は、第1のワールドワイドポート名を有する、ステップと、
前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも2つのNポートのうち1つのNポートを用いることにより、第2のファブリック発見要求を送信するステップであって、前記第2のファブリック発見要求は、第1のワールドワイドポート名を有する、ステップと、
前記第2のファブリック発見要求を送信するNポートを用いることにより、第2のファブリック発見応答を受信するステップであって、前記第2のファブリック発見応答は、前記第1のワールドワイドポート名に対応する第3のNポート識別子を有する、ステップと、
を更に実行する。
第8の態様によると、本発明は、ファイバチャネルにおいてノードポート仮想化を実施するシステムであって、ノードポート仮想化スイッチを有し、
前記ノードポート仮想化スイッチは、少なくとも2つのNポートを用いることによりファイバチャネルスイッチドファブリックに接続され、
前記ノードポート仮想化スイッチは、前記少なくとも2つのNポートのうち複数のNポートを用いることにより、複数の第1の登録状態変更通知を受信するよう構成され、前記複数の第1の登録状態変更通知は、同じ第1のNポート識別子を伝達し、前記複数の第1の登録状態変更通知を受信する前記複数のNポートに、前記第1のNポート識別子に対応する複数の第2のNポート識別子を割り当て、前記同じ第1のNポート識別子に対応する前記複数の第2のNポート識別子は異なり、前記同じ第1のNポート識別子に対応する前記複数の第2のNポート識別子と、前記複数の第1の登録状態変更通知を受信する前記複数のNポートとの間には一対一対応の関係があり、前記ノードポート仮想化スイッチのFポートを用いることにより、第2の登録状態変更通知を送信し、前記第2の登録状態変更通知は、前記複数の第2のNポート識別子のうち1つを伝達する、よう構成される、
システムを提供する。
第8の態様の第1の実装方法では、前記ノードポート仮想化スイッチは、前記ノードポート仮想化スイッチの前記Fポートを用いることにより、ファイバチャネルパケットを受信するよう更に構成され、前記ファイバチャネルパケットの宛先ファイバチャネル識別子は、前記第2のNポート識別子であり、前記ファイバチャネルパケットの前記宛先ファイバチャネル識別子を、前記第2のNポート識別子に対応する前記第1のNポート識別子で置換し、前記第2のNポート識別子に対応するNポートを用いることにより、前記の置換したファイバチャネルパケットを送信するよう更に構成される。
第8の態様又は第8の態様の第1の実装方法を参照して、第8の態様の第2の実装方法では、前記ノードポート仮想化スイッチは、前記少なくとも2つのNポートのうち1つのNポートを用いることにより、ファイバチャネルパケットを受信し、前記ファイバチャネルパケットの送信元ファイバチャネル識別子は、前記第1のNポート識別子であり、前記ファイバチャネルパケットの前記送信元ファイバチャネル識別子を、前記第1のNポート識別子に対応する前記複数の第2のNポート識別子のうちの1つであり前記ファイバチャネルパケットを受信するNポートに対応する第2のNポート識別子で置換し、前記ノードポート仮想化スイッチにより、前記の置換したファイバチャネルパケットを送信する、よう更に構成される。
第8の態様、第8の態様の第1の実装方法及び第2の実装方法、のうちのいずれか1つを参照して、第8の態様の第3の実装方法では、前記ノードポート仮想化スイッチは、前記少なくとも2つのNポートのうちいずれか1つを用いることにより、第1の登録状態変更通知を受信するステップの前に、
前記ノードポート仮想化スイッチの前記Fポートを用いることにより、第1のファブリックログイン要求を受信し、前記第1のファブリックログイン要求は第1のワールドワイドポート名を有し、又は、前記ノードポート仮想化スイッチの前記Fポートを用いることにより、第1のファブリック発見要求を受信し、前記第1のファブリック発見要求は、第1のワールドワイドポート名を有し、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも2つのNポートのうち1つのNポートを用いることにより、第2のファブリック発見要求を送信し、前記第2のファブリック発見要求は、第1のワールドワイドポート名を有し、前記第2のファブリック発見要求を送信するNポートを用いることにより、第2のファブリック発見応答を受信し、前記第2のファブリック発見応答は、前記第1のワールドワイドポート名に対応する第3のNポート識別子を有する、よう更に構成される。
第8の態様又は第8の態様の第1の実装方法乃至第3の実装方法のうちのいずれか1つを参照して、第8の態様の第4の実装方法では、前記システムは、ファイバチャネルスイッチを更に有し、前記ファイバチャネルスイッチは、前記ファイバチャネルスイッチドファブリックの中に配置される。
第8の態様又は第8の態様の第1の実装方法乃至第4の実装方法のうちのいずれか1つを参照して、第8の態様の第5の実装方法では、前記システムは、ノードを更に有し、前記ノードは、前記ノードポート仮想化スイッチに接続される。
第2のN_port IDが、リモートノードに、NPVスイッチの1より多いN_portについて割り当てられるので、これらのN_portのうちのどのN_portにNPVスイッチに接続されたノードが登録されるかに係わらず、ノードは、リモートノードの及びN_portに対応する第2のN_port IDを得ることができる。したがって、NPVスイッチに接続された任意のノードは、任意のリモートノードと通信でき、それにより通信効率が向上する。
以下の説明のための実施形態は、例として、本発明の特定の実装プロセスを記載する。明らかに、記載される実施形態は、本発明の実施形態の一部であり、全ての実施形態ではない。本発明の実施形態に基づき創造的労力を有しないで当業者により得られる全ての他の実施形態は、本発明の保護範囲に包含される。
図1は、本発明の一実施形態によるネットワークシステムの概略図である。102及び104は、ファイバチャネルスイッチであり、102及び104は同じファイバチャネルスイッチドファブリックに属する。106は、ポート仮想化スイッチである。108〜112はノードである。ここで、ノードは、ホスト、サーバ、又は記憶装置であっても良い。114〜122はFポートである。124〜132はNポートである。134はEポートである。
図1及び図2を参照すると、本発明の一実施形態は、ファイバチャネルにおいてノードポート仮想化を実施する方法を提供する。ここで、ノードポート仮想化スイッチは、少なくとも2つのNポートによりファイバチャネルスイッチドファブリックに接続される。FC−SWは、NPVスイッチによりアクセスされるスイッチドファブリックである。図2は、本発明の本実施形態による方法のフローチャートである。方法は、以下を含む。
202:ノードポート仮想化スイッチは、第1の登録状態変更通知(英文:Registered State Change Notification;RSCN)を、少なくとも2つのNポートのうちの1つのNポートにより受信する。ここで、第1の登録状態変化通知は、第1のNポート識別子(N_port ID)を伝達する。
通常、各Nポートは、NPVスイッチの1つの物理ポートに対応している。NPVスイッチの物理ポートは、光トランシーバ又は電気トランシーバにより実装されても良い。
ファイバチャネルプロトコル(英文:Fibre Channel protocol;FCプロトコル)では、RSCNは、FCスイッチドファブリックの及び任意の主要なスイッチドファブリック変化の場合にノードへ送信される通知である。RSCNをトリガする幾つかのイベントは、スイッチドファブリックへのノードのジョイン又はそれからのリーブ、スイッチドファブリックへのスイッチのジョイン又はそれからのリーブ、及びスイッチの名称の変更、である。
第1のN_port IDは、リモートノード(例えば、図1のリモートノード108)のNポート(例えば、図1のNポート128)のファイバチャネル識別子(英文:Fibre Channel identifier;FC ID)である。リモートノードがFC−SW(例えば、図1のFCスイッチ102及び104が配置されるFC−SW)にジョインするプロセスにおいて、FC−SWの中のFCスイッチ(例えば、図1のFCスイッチ104)は、FC識別子をリモートノードのNポートに割り当てる。ここで、FC識別子は第1のN_port IDである。FC−SWの中のFCスイッチは、FCスイッチのFポート(例えば、図1のFポート116)を用いることにより、第1のN_port IDを伝達するRSCNを送信するようトリガされる。本発明の本実施形態では、第1のN_port IDを伝達するRSCNは、第1のRSCNと表される。リモートノードのジョインに気付いた後に、FC−SWの中の別のFCスイッチ(例えば、図1のFCスイッチ102)は、別のFCスイッチのFポート(例えば、図1のFポート114)を用いることにより、第1のN_port IDを伝達する第1のRSCNを送信する。NPVスイッチは、少なくとも2つのNポートのうちの1つのNポートを用いることにより、第1のRSCNを受信する。以下は、NPVスイッチがNポート126を用いて第1のRSCNを受信する一例を用いることにより、本発明の本実施形態を具体的に記載する。
ステップ202の前に、NPVスイッチに接続されたノードは、NPVスイッチによりVN_portとして仮想化される。プロセスは以下の通りである。
先ず、NPVスイッチは、NPVスイッチのFポート(例えば、図1のFポート120)を用いることにより、第1のファブリックログイン(英文:fabriclogin;FLOGI)要求を受信する。ここで、第1のFLOGI要求は、第1のWWPNを有する。或いは、NPVスイッチは、NPVスイッチのFポート(例えば、図1のFポート120)を用いることにより、第1のファブリック発見(英文:fabric discovery;FDISC)要求を受信する。ここで、第1のFDISC要求は、第1のWWPNを有する。
第1のWWPNは、N_port(例えば、図1のNポート130)の、又はノード(例えば、図1のノード110)の及びNPVスイッチに接続されるVN_portの、WWPNである。
次に、NPVスイッチは、FC−SWに接続される少なくとも2つのNポートのうちの1つのNポート(例えば、図1のNポート126)を用いることにより、第2のFDISC要求を送信する。ここで、第2のFDISC要求は、第1のWWPNを有する。
NPVスイッチは、負荷分散ルール、ネットワークトポロジ、リンク状態、サービス品質(英文:quality of service;QOS)ポリシ、又はそれらの任意の組合せに従って、第2のFDISC要求を送信するために少なくとも2つのNポートから1つのNポートを選択しても良い。選択されたNポートは、ノードが登録されるNポートと呼ばれても良い。
選択されたNポートに接続されたFCスイッチ(例えば、図1のFCスイッチ104)が第2のFDISC要求を受信した後に、FCスイッチは、対応するN_port ID、つまり第3のN_port IDを、第2のFDISC要求に含まれる第1のWWPNに割り当てる。FCスイッチは、第3のN_port IDを含む第2のFDISC応答をNPVスイッチに返す。
最後に、NPVスイッチは、第2のFDISC要求を送信するNポートを用いることにより、第2のFDISC応答を受信する。ここで、第2のFDISC応答は、第1のWWPNに対応する第3のN_port IDを有する。NPVスイッチは、第3のN_port IDと、第2のFDISC応答を受信するN_portとの間の対応を記録する。
NPVスイッチは、第1のFLOGI応答をノードに返す。或いは、NPVスイッチは、第1のFDISC応答をノードに返す。NPVスイッチが第1のFLOGI要求を受信する状況では、NPVスイッチは、第1のFLOGI応答をノードに返す。NPVスイッチが第1のFDISC要求を受信する状況では、NPVスイッチは、第1のFDISC応答をノードに返す。
任意で、NPVスイッチは、第3のN_port IDを有する第1のFLOGI応答、又は第3のN_port IDを有する第1のFDISC応答を、ノードに返す。
任意で、NPVスイッチは、第4のN_port IDを第1のWWPNに割り当て、第3のN_port IDと第4のN_port IDとの間の対応を確立し、第4のN_port IDを含む第1のFLOGI応答又は第4のN_port IDを含む第1のFDISC応答を、ノードに返す。ソリューションは、共通のトランスペアレントルータ(英文:Transparent Router)ソリューションである。ソリューションが使用される状況では、第4のN_port IDを第1のWWPNに割り当てるステップ、及び第4のN_port IDの第1のFLOGI応答又は第1のFDISC応答を返すステップ、並びに第2のFDISC要求を送信するステップは、同時に実行されても良い。第3のN_port IDが取得された後、NPVスイッチは、第3のN_port IDと、第2のFDISC応答を受信するN_portとの間の対応を記録する。さらに、NPVスイッチは、第3のN_port IDと第4のN_port IDとの間の対応を記録する。
204:ノードポート仮想化スイッチは、ファイバチャネルスイッチドファブリックに接続された少なくとも2つのNポートに、第1のNポート識別子に対応する少なくとも2つの第2のNポート識別子を割り当てる。ここで、同じ第1のNポート識別子に対応する少なくとも2つの第2のNポート識別子は異なり、同じ第1のNポート識別子に対応する少なくとも2つの第2のNポート識別子と、ファイバチャネルスイッチドファブリックに接続された少なくとも2つのNポートとの間に、一対一対応(英文:bijection)の関係がある。
どのN_portが同じFC−SWに接続されるかに関する情報は、NPVスイッチにおいて予め設定される。代替で、NPVスイッチは、自動発見方法で、どのN_portが、第1のRSCNを受信するN_portとして同じFC−SWに接続されるかを決定しても良い。
NPVスイッチは、1つのN_port IDを、FC−SWに接続された少なくとも2つのN_portの各々に割り当てる。N_port IDは、NPVスイッチのN_portのN_port IDではなく、リモートノードのNポートの及びNPVスイッチのN_portの仮想N_port IDである。これらのN_port IDの値は異なるが、それらは、本発明の本実施形態では纏めて第2のN_port IDとして表される。通常、任意の第2のN_port IDは、第1のN_port IDと異なる。しかしながら、1つの第2のN_port IDが第1のN_port IDと同じ可能性が排除されない。
1つの第1のN_port IDに対応する全ての第2のN_port IDと、FC−SWに接続された少なくとも2つのN_portとの間には一対一対応の関係がある。つまり、1つの第1のN_port IDと少なくとも2つのN_portのうちの1つのN_portが決定される状況では、第1のN_port ID及びN_portに対応する1つの及び唯一の第2のN_port IDが見付けられる。また、1つの第2のN_port IDが決定される状況では、第2のN_port IDに対応する1つの及び唯一のN_portが見付けられる。NPVスイッチは、第1のN_port IDに対応する全ての第2のN_port IDと、FC−SWに接続された少なくとも2つのN_portとの間の対応を記録する。
NPVスイッチは、同じ第1のN_port IDを伝達しNPVスイッチにより受信される第1のRSCNによってのみ、第2のN_port IDの割り当てを実行するようトリガされる。通常、NPVスイッチは、同じ第1のN_port IDを伝達する複数の第1のRSCNのトリガに基づいて、NPVスイッチにより割り当てられた第2のN_port IDと、FC−SWに接続された少なくとも2つのN_portとの間の対応を変更しない。
206:ノードポート仮想化スイッチは、ノードポート仮想化スイッチのFポートを用いることにより、第2の登録状態変更通知を送信する。ここで、第2の登録状態変更通知は、少なくとも2つの第2のNポート識別子のうちの1つを伝達する。
NPVスイッチは、第2のRSCNを用いることにより、リモートノードのN_port IDを、NPVスイッチに接続されるノード(例えば、図1のノード110)に送信する。NPVスイッチの異なるNポートに登録されたノードがリモートノードと同時に通信できるように、NPVスイッチは、リモートノードを複数の異なるリモートノード、つまりN_port IDが異なる第2のN_port IDであるリモートノードとして仮想化する。NPVスイッチのN_portでは、NPVスイッチは、第2のRSCNを用いることにより、及びNPVスイッチにより記録される、第3のN_port IDとNPVスイッチのN_portとの間の対応に従って、第2のN_port IDを、N_portに対応する第3のN_port IDに対応する全てのノードに割り当て、つまり、第2のRSCNを用いることにより、第2のN_port IDをN_portに登録された全てのノードに送信する。例えば、第2のRSCNの宛先FC IDは、第3のN_port IDであり、第2のRSCNは、第2のN_port IDを伝達する。別の例では、トランスペアレントルータソリューションでは、第2のRSCNの宛先FC IDは、第3のN_port IDに対応する第4のN_port IDであり、第2のRSCNは第2のN_port IDを伝達する。通常、NPVスイッチにより送信される第2のRSCNの量は、N_portについて登録されたノードの量と等しい。NPVスイッチは、FC−SWに接続された少なくとも2つのNポートのうちの各Nポートへ向けて、N_portに対して登録された全てのノードへ第2のRSCNを積極的に送信しても良い。第2のRSCNの中で伝達される第2のN_port IDは、N_portに対応する異なる第2のN_port IDである。ここで、第2のRSCNは、異なるNポートのノードに送信される。代替で、NPVスイッチは、第1のRSCNを受信するNポートへ向けて、N_portに対して登録された全てのノードへ第2のRSCNを送信しても良い。つまり、第1のRSCNのトリガに基づいて、第2のRSCNを送信する。
第2のN_port IDが、リモートノードに、NPVスイッチの全てのN_portについて割り当てられるので、これらのN_portのうちのどのN_portにNPVスイッチに接続されたノードが登録されるかに係わらず、ノードは、リモートノードの及びN_portに対応する第2のN_port IDを得ることができる。したがって、NPVスイッチに接続された任意のノードは、任意のリモートノードと通信でき、それにより通信効率が向上する。通信プロセスは、以下の通り記載される。
リモートノードと通信しているとき、NPVスイッチに接続されたノードは、FCパケットをリモートノードへ送信する。NPVスイッチは、NPVスイッチのFポートを用いることによりFCパケットを受信する。ここで、FCパケットの宛先FC IDは第2のN_port IDである。NPVスイッチは、FCパケットの宛先FC IDを、第2のN_port IDに対応する第1のN_port IDと置換する。1つの第1のN_port IDに対応する全ての第2のN_port IDと、FC−SWに接続された少なくとも2つのN_portとの間には一対一対応の関係があるので、NPVスイッチは、置換されたFCパケットを送信するために、第2のN_port IDに従って、第2のN_port IDに対応するユニークなN_portを見付けることができる。トランスペアレントルータソリューションでは、FCパケットの送信元FC IDは、第4のN_port IDである。トランスペアレントルータソリューションでは、さらに、NPVスイッチは、第3のN_port IDと第4のN_port IDとの間の対応に従って、FCパケットの送信元FC IDを第3のN_port IDで置換する。NPVスイッチは、第2のN_port IDに対応するN_portを用いることにより、置換されたFCパケットを送信する。
NPVスイッチに接続されたノードと通信しているとき、リモートノードは、FCパケットをNPVスイッチに接続されたノードへ送信する。NPVスイッチは、FC−SWに接続された少なくとも2つのNポートのうちの1つのNポートを用いることにより、FCパケットを受信する。ここで、FCパケットの送信元FC IDは第1のN_port IDである。NPVスイッチは、FCパケットの送信元FC IDを、第1のN_port IDに対応する少なくとも2つの第2のN_port IDのうちの1つであり及びFCパケットを受信するNポートに対応する第2のN_port IDで置換する。1つの第1のN_port IDに対応する全ての第2のN_port IDと、FC−SWに接続された少なくとも2つのN_portとの間には一対一対応の関係があるので、NPVスイッチは、第1のN_port ID及びFCパケットを受信するNポートに従って、第1のN_port IDに対応するユニークなダイ2のN_port IDを見付けることができる。FCパケットの宛先FC IDは第3のN_port IDである。トランスペアレントルータソリューションでは、さらに、NPVスイッチは、第3のN_port IDと第4のN_port IDとの間の対応に従って、FCパケットの宛先FC IDを第4のN_port IDで置換する。NPVスイッチは、置換したFCパケットを送信する。具体的には、NPVスイッチは、F_portを用いることにより、置換したFCパケットを送信する。
図1及び図3を参照すると、本発明の一実施形態は、ファイバチャネルにおいてノードポート仮想化を実施する方法を提供する。ここで、ノードポート仮想化を実施する装置は、ノードポート仮想化スイッチにより実装され、ノードポート仮想化スイッチは、少なくとも2つのNポートを用いることによりファイバチャネルスイッチドファブリックに接続される。FC−SWは、NPVスイッチによりアクセスされるスイッチドファブリックである。図3は、本発明の本実施形態によるファイバチャネル上のノードポート仮想化を実施する装置の構造図である。装置は、受信モジュール302と、割り当てモジュール304と、送信モジュール306と、を有する。
受信モジュール302は、少なくとも2つのNポートのうちの1つのNポートを用いることにより、第1の登録状態変更通知を受信するよう構成される。ここで、第1の登録状態変更通知は、第1のNポート識別子を伝達する。
通常、各Nポートは、NPVスイッチの1つの物理ポートに対応している。
FCプロトコルでは、RSCNはFCスイッチドファブリックの通知であり、RSCNは任意の主要な変化がイッチドファブリックで生じる状況でノードへ送信される通知である。RSCNをトリガする幾つかのイベントは、スイッチドファブリックへのノードのジョイン又はそれからのリーブ、スイッチドファブリックへのスイッチのジョイン又はそれからのリーブ、及びスイッチの名称の変更、である。
第1のN_port IDは、リモートノード(例えば、図1のリモートノード108)のNポート(例えば、図1のNポート128)のFC IDである。リモートノードがFC−SW(例えば、図1のFCスイッチ102及び104が配置されるFC−SW)にジョインするプロセスにおいて、FC−SWの中のFCスイッチ(例えば、図1のFCスイッチ104)は、FC識別子をリモートノードのNポートに割り当てる。ここで、FC識別子は第1のN_port IDである。FC−SWの中のFCスイッチは、FCスイッチのFポート(例えば、図1のFポート116)を用いることにより、第1のN_port IDを伝達するRSCNを送信するようトリガされる。本発明の本実施形態では、第1のN_port IDを伝達するRSCNは、第1のRSCNと表される。リモートノードのジョインに気付いた後に、FC−SWの中の別のFCスイッチ(例えば、図1のFCスイッチ102)は、別のFCスイッチのFポート(例えば、図1のFポート114)を用いることにより、第1のN_port IDを伝達する第1のRSCNを送信する。ノードポート仮想化のための装置の受信モジュールは、少なくとも2つのNポートのうちの1つのNポートを用いることにより、第1のRSCNを受信する。ここで、装置は、NPVスイッチにより実装される。以下は、NPVスイッチがNポート126を用いて第1のRSCNを受信する一例を用いることにより、本発明の本実施形態を具体的に記載する。
ノードポート仮想化のための装置は、第1の仮想モジュール、第2の仮想モジュール、又はそれらの組み合わせを更に有する。ここで、装置は、NPVスイッチにより実装される。受信モジュールが第1のRSCNを受信する前に、NPVスイッチに接続されたノードはNPVスイッチによりVN_portとして仮想化され、処理は、第1の仮想モジュール、第2の仮想モジュール、又はそれらの組み合わせにより実行される。
第1の仮想モジュールは、NPVスイッチのFポート(例えば、図1のFポート120)を用いることにより、第1のWWPNを有する第1のFLOGI要求を受信し、FC−SWに接続された少なくとも2つのNポートのうちの1つのNポート(例えば、図1のNポート126)を用いることにより、第1のWWPNを有する第2のFDISC要求を送信し、第2のFDISC要求を送信するNポートを用いることにより、第1のWWPNに対応する第3のN_port IDを有する第2のFDISC応答を受信するよう構成される。
第2の仮想モジュールは、NPVスイッチのFポート(例えば、図1のFポート120)を用いることにより、第1のWWPNを有する第1のFDISC要求を受信し、FC−SWに接続された少なくとも2つのNポートのうちの1つのNポート(例えば、図1のNポート126)を用いることにより、第1のWWPNを有する第2のFDISC要求を送信し、第2のFDISC要求を送信するNポートを用いることにより、第1のWWPNに対応する第3のN_port IDを有する第2のFDISC応答を受信するよう構成される。
ノ―ドポート仮想化のための装置は、第3のN_port IDと、第2のFDISC応答を受信するN_portとの間の対応を記録する。
第1のWWPNは、N_port(例えば、図1のNポート130)の、又はノード(例えば、図1のノード110)の及びNPVスイッチに接続されるVN_portの、WWPNである。
第1の仮想モジュール、第2の仮想モジュール、又はそれらの組み合わせは、第2のFDISC要求を送信するために、負荷分散ルール、ネットワークトポロジ、リンク状態、QOSポリシ、又はそれらの任意の組み合わせに従って、少なくとも2つのNポートから1つのNポートを選択しても良い。選択されたNポートは、ノードが登録されるNポートと呼ばれても良い。
選択されたNポートに接続されたFCスイッチ(例えば、図1のFCスイッチ104)が第2のFDISC要求を受信した後に、FCスイッチは、対応するN_port ID、つまり第3のN_port IDを、第2のFDISC要求に含まれる第1のWWPNに割り当てる。FCスイッチは、第3のN_port IDを含む第2のFDISC応答をNPVスイッチに返す。
第1の仮想モジュールは、第1のFLOGI応答をノードに返すよう更に構成される。第2の仮想モジュールは、第1のFDISC応答をノードに返すよう更に構成される。
任意で、第1の仮想モジュールは、第3のN_port IDを有する第1のFLOGI応答を、ノードに返す。任意で、第2の仮想モジュールは、第3のN_port IDを有する第1のFDISC応答を、ノードに返す。
任意で、第1の仮想モジュールは、第4のN_port IDを第1のWWPNに割り当て、第3のN_port IDと第4のN_port IDとの間の対応を確立し、第4のN_port IDを含む第1のFLOGI応答をノードに返す。任意で、第2の仮想モジュールは、第4のN_port IDを第1のWWPNに割り当て、第3のN_port IDと第4のN_port IDとの間の対応を確立し、第4のN_port IDを含む第1のFDISC応答をノードに返す。ソリューションは、共通トランスペアレントルータソリューションである。ソリューションが使用される状況では、第1の仮想モジュール及び第2の仮想モジュールは、第4のN_port IDを第1のWWPNに割り当てるステップ、及び第4のN_port IDの第1のFLOGI応答又は第1のFDISC応答を返すステップ、並びに第2のFDISC要求を送信するステップを、同時に実行しても良い。第3のN_port IDが取得された後、ノードポート仮想化のための装置は、第3のN_port IDと、第2のFDISC応答を受信するN_portとの間の対応を記録する。さらに、ノードポート仮想化のための装置は、第3のN_port IDと第4のN_port IDとの間の対応を記録する。
割り当てモジュール304は、ファイバチャネルスイッチドファブリックに接続された少なくとも2つのNポートに、第1のNポート識別子に対応する少なくとも2つの第2のNポート識別子を割り当てる。ここで、同じ第1のNポート識別子に対応する少なくとも2つの第2のNポート識別子は異なり、同じ第1のNポート識別子に対応する少なくとも2つの第2のNポート識別子と、ファイバチャネルスイッチドファブリックに接続された少なくとも2つのNポートとの間に、一対一対応の関係がある。
割り当てモジュール304は、どのN_portが同じFC−SWに接続されるか及びNPVスイッチにあるかに関する予め設定された情報を取得しても良い。代替で、割り当てモジュール304は、自動発見方法で、どのN_portが、第1のRSCNを受信するN_portとして同じFC−SWに接続されるかを決定しても良い。
割り当てモジュール304は、1つのN_port IDを、FC−SWに接続された少なくとも2つのN_portの各々に割り当てる。N_port IDは、NPVスイッチのN_portのN_port IDではなく、リモートノードのNポートの及びNPVスイッチのN_portの仮想N_port IDである。これらのN_port IDの値は異なるが、それらは、本発明の本実施形態では纏めて第2のN_port IDとして表される。通常、任意の第2のN_port IDは、第1のN_port IDと異なる。しかしながら、1つの第2のN_port IDが第1のN_port IDと同じ可能性が排除されない。
1つの第1のN_port IDに対応する全ての第2のN_port IDと、FC−SWに接続された少なくとも2つのN_portとの間には一対一対応の関係がある。つまり、1つの第1のN_port IDと少なくとも2つのN_portのうちの1つのN_portが決定される状況では、第1のN_port ID及びN_portに対応する1つの及び唯一の第2のN_port IDが見付けられる。また、1つの第2のN_port IDが決定される状況では、第2のN_port IDに対応する1つの及び唯一のN_portが見付けられる。NPVスイッチは、第1のN_port IDに対応する全ての第2のN_port IDと、FC−SWに接続された少なくとも2つのN_portとの間の対応を記録する。
割り当てモジュール304は、同じ第1のN_port IDを伝達し及び割り当てモジュール304により受信される第1のRSCNによってのみ、第2のN_port IDの割り当てを実行するようトリガされる。通常、割り当てモジュール304は、同じ第1のN_port IDを伝達する複数の第1のRSCNのトリガに基づいて、割り当てモジュール304により割り当てられた第2のN_port IDと、FC−SWに接続された少なくとも2つのN_portとの間の対応を変更しない。
送信モジュール306は、ノードポート仮想化スイッチのFポートを用いることにより、第2の登録状態変更通知を送信する。ここで、第2の登録状態変更通知は、少なくとも2つの第2のNポート識別子のうちの1つを伝達する。
送信モジュール306は、第2のRSCNを用いることにより、リモートノードのN_port IDを、NPVスイッチに接続されるノード(例えば、図1のノード110)に送信する。NPVスイッチの異なるNポートに登録されたノードがリモートノードと同時に通信できるように、ノードポート仮想化を実施する装置は、リモートノードを複数の異なるリモートノード、つまりN_port IDが異なる第2のN_port IDであるリモートノードとして仮想化する。NPVスイッチのN_portでは、ノードポート仮想化を実施する装置は、第2のRSCNを用いることにより、及びNPVスイッチにより記録される、第3のN_port IDとNPVスイッチのN_portとの間の対応に従って、第2のN_port IDを、N_portに対応する第3のN_port IDに対応する全てのノードに割り当て、つまり、第2のRSCNを用いることにより、第2のN_port IDをN_portに登録された全てのノードに送信する。例えば、第2のRSCNの宛先FC IDは、第3のN_port IDであり、第2のRSCNは、第2のN_port IDを伝達する。別の例では、トランスペアレントルータソリューションでは、第2のRSCNの宛先FC IDは、第3のN_port IDに対応する第4のN_port IDであり、第2のRSCNは第2のN_port IDを伝達する。通常、送信モジュール306により送信される第2のRSCNの量は、N_portについて登録されたノードの量と等しい。送信モジュール306は、FC−SWに接続された少なくとも2つのNポートのうちの各Nポートについて、N_portに対して登録された全てのノードへ第2のRSCNを積極的に送信しても良い。第2のRSCNの中で伝達される第2のN_port IDは、N_portに対応する異なる第2のN_port IDである。ここで、第2のRSCNは、異なるNポートのノードに送信される。代替で、送信モジュール306は、第1のRSCNを受信するNポートへ向けて、N_portに対して登録された全てのノードへ第2のRSCNを送信しても良い。つまり、第1のRSCNのトリガに基づいて、第2のRSCNを送信する。
第2のN_port IDが、リモートノードに、NPVスイッチの全てのN_portについて割り当てられるので、これらのN_portのうちのどのN_portにNPVスイッチに接続されたノードが登録されるかに係わらず、ノードは、リモートノードの及びN_portに対応する第2のN_port IDを得ることができる。したがって、NPVスイッチに接続された任意のノードは、任意のリモートノードと通信でき、それにより通信効率が向上する。通信プロセスは、以下の通り記載される。
リモートノードと通信しているとき、NPVスイッチに接続されたノードは、FCパケットをリモートノードへ送信する。受信モジュール302は、NPVスイッチのFポートを用いることによりFCパケットを受信するよう更に構成される。ここで、FCパケットの宛先FC IDは第2のN_port IDである。送信モジュール306は、FCパケットの宛先FC IDを、第2のN_port IDに対応する第1のN_port IDで置換するよう更に構成される。1つの第1のN_port IDに対応する全ての第2のN_port IDと、FC−SWに接続された少なくとも2つのN_portとの間には一対一対応の関係があるので、送信モジュール306は、置換したFCパケットを送信するために、第2のN_port IDに従って、第2のN_port IDに対応するユニークなN_portを見付けることができる。トランスペアレントルータソリューションでは、FCパケットの送信元FC IDは、第4のN_port IDである。トランスペアレントルータソリューションでは、さらに、送信モジュール306は、第3のN_port IDと第4のN_port IDとの間の対応に従って、FCパケットの送信元FC IDを第3のN_port IDで置換する。送信モジュール306は、第2のN_port IDに対応するN_portを用いることにより、置換したFCパケットを送信するよう更に構成される。
NPVスイッチに接続されたノードと通信しているとき、リモートノードは、FCパケットをNPVスイッチに接続されたノードへ送信する。受信モジュール302は、FC−SWに接続された少なくとも2つのNポートのうちの1つのNポートを用いることにより、FCパケットを受信する。ここで、FCパケットの送信元FC IDは第1のN_port IDである。送信モジュール306は、FCパケットの送信元FC IDを、第1のN_port IDに対応する少なくとも2つの第2のN_port IDのうちの1つであり及びFCパケットを受信するNポートに対応する第2のN_port IDで置換するよう更に構成される。1つの第1のN_port IDに対応する全ての第2のN_port IDと、FC−SWに接続された少なくとも2つのN_portとの間には一対一対応の関係があるので、送信モジュール306は、第1のN_port ID及びFCパケットを受信するNポートに従って、第1のN_port IDに対応するユニークなダイ2のN_port IDを見付けることができる。FCパケットの宛先FC IDは第3のN_port IDである。トランスペアレントルータソリューションでは、さらに、送信モジュール306は、第3のN_port IDと第4のN_port IDとの間の対応に従って、FCパケットの宛先FC IDを第4のN_port IDで置換するよう更に構成される。送信モジュール306は、置換したFCパケットを送信するよう更に構成される。具体的には、NPVスイッチは、F_portを用いることにより、置換したFCパケットを送信する。
図1及び図4を参照すると、本発明の一実施形態は、ノードポート仮想化スイッチを提供する。ノードポート仮想化スイッチは、NPVモードで動作するファイバチャネルスイッチを表し、以下では略してNPVスイッチと表す。図4は、本発明の本実施形態によるNPVスイッチの構造図である。NPVスイッチは、少なくとも2つのNポート402、Fポート404,プロセッサ406、及びメモリ408を有する。少なくとも2つのNポート402は、FC−SWに接続される。FC−SWは、NPVスイッチによりアクセスされるスイッチドファブリックである。少なくとも2つのNポート402は、光トランシーバ又は電気トランシーバにより物理的に実装されても良い。Fポート404は、光トランシーバ又は電気トランシーバにより物理的に実装されても良い。例えば、光トランシーバは、小さいフォームファクタのプラグ着脱可能な(英文:small form−factor pluggable;SFP)トランシーバ(英文:transceiver)、拡張された小さいフォームファクタのプラグ着脱可能な(英文:enhanced small form−factor pluggable;SFP+)トランシーバ、又は10ギガビットの小さいフォームファクタのプラグ着脱可能な(英文:10 Gigabit small form−factor pluggable;XFP)トランシーバであっても良い。プロセッサ406は、中央処理ユニット(英文:central processing unit;CPU)であっても良い。メモリ408は、揮発性メモリ(英文:volatile memory)、例えばランダムアクセスメモリ(英文:random−access memory;RAM)、又は不揮発性メモリ(英文:non−volatile memory)、例えば読み出し専用メモリ(英文:read−only memory;ROM)、フラッシュメモリ(英文:flash memory)、ハードディスク(英文:hard disk drive;HDD)、又は固体ディスク(英文:solid−state drive;SSD)であっても良い。少なくとも2つのNポート402、Fポート404、及びメモリ408は、全てプロセッサ406に接続される。図4の太線はバス(英文:bus)である。プロセッサ406は、メモリ408に格納されたプログラム命令に従って、図2に示した実施形態の中の幾つかの動作ステップを実行する。
先ず、プロセッサ406は、少なくとも2つのNポート402のうちの1つのNポートを用いることにより、第1の登録状態変更通知を受信する。ここで、第1の登録状態変更通知は、第1のNポート識別子を伝達する。
ファイバチャネルプロトコルでは、RSCNはFCスイッチドファブリックの通知であり、RSCNは任意の主要な変化がイッチドファブリックで生じる状況でノードへ送信される通知である。RSCNをトリガする幾つかのイベントは、スイッチドファブリックへのノードのジョイン又はそれからのリーブ、スイッチドファブリックへのスイッチのジョイン又はそれからのリーブ、及びスイッチの名称の変更、である。
第1のN_port IDは、リモートノード(例えば、図1のリモートノード108)のNポート(例えば、図1のNポート128)のFC IDである。リモートノードがFC−SW(例えば、図1のFCスイッチ102及び104が配置されるFC−SW)にジョインするプロセスにおいて、FC−SWの中のFCスイッチ(例えば、図1のFCスイッチ104)は、FC識別子をリモートノードのNポートに割り当てる。ここで、FC識別子は第1のN_port IDである。FC−SWの中のFCスイッチは、FCスイッチのFポート404(例えば、図1のFポート116)を用いることにより、第1のN_port IDを伝達するRSCNを送信するようトリガされる。本発明の本実施形態では、第1のN_port IDを伝達するRSCNは、第1のRSCNと表される。リモートノードのジョインに気付いた後に、FC−SWの中の別のFCスイッチ(例えば、図1のFCスイッチ102)は、別のFCスイッチのFポート404(例えば、図1のFポート114)を用いることにより、第1のN_port IDを伝達する第1のRSCNを送信する。プロセッサ406は、少なくとも2つのNポート402のうちの1つのNポートを用いることにより、第1のRSCNを受信する。以下は、NPVスイッチがNポート126を用いて第1のRSCNを受信する一例を用いることにより、本発明の本実施形態を具体的に記載する。
第1のRSCNが受信される前に、NPVスイッチに接続されたノードは、NPVスイッチによりVN_portとして仮想化される。プロセスは以下の通りである。
ステップ1:NPVスイッチのプロセッサ406は、NPVスイッチのFポート404(例えば、図1のFポート120)を用いることにより、第1のFLOGI要求を受信する。ここで、第1のFLOGI要求は、第1のWWPNを有する。或いは、NPVスイッチのプロセッサ406は、NPVスイッチのFポート404(例えば、図1のFポート120)を用いることにより、第1のFDISCを受信する。ここで、第1のFDISC要求は、第1のWWPNを有する。
第1のWWPNは、N_port(例えば、図1のNポート130)の、又はノード(例えば、図1のノード110)の及びNPVスイッチに接続されるVN_portの、WWPNである。
ステップ2:NPVスイッチのプロセッサ406は、FC−SWに接続される少なくとも2つのNポートのうちの1つのNポート402(例えば、図1のNポート126)を用いることにより、第2のFDISC要求を送信する。ここで、第2のFDISC要求は、第1のWWPNを有する。
NPVスイッチのプロセッサ406は、負荷分散ルール、ネットワークトポロジ、リンク状態、QOSポリシ、又はそれらの任意の組合せに従って、第2のFDISC要求を送信するために少なくとも2つのNポート402から1つのNポートを選択しても良い。選択されたNポートは、ノードが登録されるNポートと呼ばれても良い。
選択されたNポートに接続されたFCスイッチ(例えば、図1のFCスイッチ104)が第2のFDISC要求を受信した後に、FCスイッチは、対応するN_port ID、つまり第3のN_port IDを、第2のFDISC要求に含まれる第1のWWPNに割り当てる。FCスイッチは、第3のN_port IDを含む第2のFDISC応答をNPVスイッチに返す。
ステップ3:NPVスイッチのプロセッサ406は、第2のFDISC要求を送信するNポートを用いることにより、第2のFDISC応答を受信する。ここで、第2のFDISC応答は、第1のWWPNに対応する第3のN_port IDを有する。NPVスイッチのプロセッサ406は、第3のN_port IDと、第2のFDISC応答を受信するN_portとの間の対応を、メモリ408に記録する。
NPVスイッチのプロセッサ406は、第1のFLOGI応答をノードに返す。或いは、NPVスイッチのプロセッサ406は、第1のFDISC応答をノードに返す。第1のFLOGI要求が受信される状況では、プロセッサ406は、第1のFLOGI応答をノードに返す。第1のFLOGI要求が受信される状況では、プロセッサ406は、第1のFDISC応答をノードに返す。
任意で、NPVスイッチのプロセッサ406は、第3のN_port IDを有する第1のFLOGI応答、又は第3のN_port IDを有する第1のFDISC応答を、ノードに返す。
任意で、NPVスイッチのプロセッサ406は、第4のN_port IDを第1のWWPNに割り当て、第3のN_port IDと第4のN_port IDとの間の対応を確立し、第4のN_port IDを含む第1のFLOGI応答又は第4のN_port IDを含む第1のFDISC応答を、ノードに返す。ソリューションは、共通トランスペアレントルータソリューションである。ソリューションが使用される状況では、第4のN_port IDを第1のWWPNに割り当てるステップ、及び第4のN_port IDの第1のFLOGI応答又は第1のFDISC応答を返すステップ、並びに第2のFDISC要求を送信するステップは、プロセッサ406により同時に実行されても良い。第3のN_port IDが取得された後、NPVスイッチのプロセッサ406は、第3のN_port IDと、第2のFDISC応答を受信するN_portとの間の対応をメモリ408に記録する。さらに、NPVスイッチのプロセッサ406は、第3のN_port IDと第4のN_port IDとの間の対応をメモリ408に記録する。
プロセッサ406は、ファイバチャネルスイッチドファブリックに接続された少なくとも2つのNポート402に、第1のNポート識別子に対応する少なくとも2つの第2のNポート識別子を割り当てる。ここで、同じ第1のNポート識別子に対応する少なくとも2つの第2のNポート識別子は異なり、同じ第1のNポート識別子に対応する少なくとも2つの第2のNポート識別子と、ファイバチャネルスイッチドファブリックに接続された少なくとも2つのNポート402との間に、一対一対応の関係がある。
どのN_portが同じFC−SWに接続されるかに関する情報は、NPVスイッチのメモリ408の中で予め設定される。プロセッサ406は、メモリ408から情報を取得する。代替で、プロセッサ406は、自動発見方法で、どのN_portが、第1のRSCNを受信するN_portとして同じFC−SWに接続されるかを決定しても良い。
プロセッサ406は、1つのN_port IDを、FC−SWに接続された少なくとも2つのN_portの各々に割り当てる。N_port IDは、NPVスイッチのN_portのN_port IDではなく、リモートノードのNポートの及びNPVスイッチのN_portの仮想N_port IDである。これらのN_port IDの値は異なるが、それらは、本発明の本実施形態では纏めて第2のN_port IDとして表される。通常、任意の第2のN_port IDは、第1のN_port IDと異なる。しかしながら、1つの第2のN_port IDが第1のN_port IDと同じ可能性が排除されない。
1つの第1のN_port IDに対応する全ての第2のN_port IDと、FC−SWに接続された少なくとも2つのN_portとの間には一対一対応の関係がある。つまり、1つの第1のN_port IDと少なくとも2つのN_portのうちの1つのN_portが決定される状況では、第1のN_port ID及びN_portに対応する1つの及び唯一の第2のN_port IDが見付けられる。また、1つの第2のN_port IDが決定される状況では、第2のN_port IDに対応する1つの及び唯一のN_portが見付けられる。プロセッサ406は、第1のN_port IDに対応する全ての第2のN_port IDと、FC−SWに接続された少なくとも2つのN_portとの間の対応をメモリ408に記録する。
NPVスイッチのプロセッサ406は、同じ第1のN_port IDを伝達しプロセッサ406により受信される第1のRSCNによってのみ、第2のN_port IDの割り当てを実行するようトリガされる。通常、NPVスイッチのプロセッサ406は、同じ第1のN_port IDを伝達する複数の第1のRSCNのトリガに基づいて、プロセッサ406により割り当てられた第2のN_port IDと、FC−SWに接続された少なくとも2つのN_portとの間の対応を変更しない。
最後に、プロセッサ406は、ノードポート仮想化スイッチのFポート404を用いることにより、第2の登録状態変更通知を送信する。ここで、第2の登録状態変更通知は、少なくとも2つの第2のNポート識別子のうちの1つを伝達する。
プロセッサ406は、第2のRSCNを用いることにより、リモートノードのN_port IDを、NPVスイッチに接続されるノード(例えば、図1のノード110)に送信する。NPVスイッチの異なるNポートに登録されたノードがリモートノードと同時に通信できるように、NPVスイッチは、リモートノードを複数の異なるリモートノード、つまりN_port IDが異なる第2のN_port IDであるリモートノードとして仮想化する。NPVスイッチのN_portでは、プロセッサ406は、第2のRSCNを用いることにより、及びプロセッサ406によりメモリ408に記録される、第3のN_port IDとNPVスイッチのN_portとの間の対応に従って、第2のN_port IDを、N_portに対応する第3のN_port IDに対応する全てのノードに割り当て、つまり、第2のRSCNを用いることにより、第2のN_port IDをN_portに登録された全てのノードに送信する。例えば、第2のRSCNの宛先FC IDは、第3のN_port IDであり、第2のRSCNは、第2のN_port IDを伝達する。別の例では、トランスペアレントルータソリューションでは、第2のRSCNの宛先FC IDは、第3のN_port IDに対応する第4のN_port IDであり、第2のRSCNは第2のN_port IDを伝達する。通常、NPVスイッチにより送信される第2のRSCNの量は、N_portについて登録されたノードの量と等しい。NPVスイッチのプロセッサ406は、FC−SWに接続された少なくとも2つのNポート402のうちの各Nポートについて、N_portに対して登録された全てのノードへ第2のRSCNを積極的に送信しても良い。第2のRSCNの中で伝達される第2のN_port IDは、N_portに対応する異なる第2のN_port IDである。ここで、第2のRSCNは、異なるNポートのノードに送信される。代替で、NPVスイッチのプロセッサ406は、第1のRSCNを受信するNポートへ向けて、N_portに対して登録された全てのノードへ第2のRSCNを送信しても良い。つまり、第1のRSCNのトリガに基づいて、第2のRSCNを送信する。
第2のN_port IDが、リモートノードに、NPVスイッチの全てのN_portについて割り当てられるので、これらのN_portのうちのどのN_portにNPVスイッチに接続されたノードが登録されるかに係わらず、ノードは、リモートノードの及びN_portに対応する第2のN_port IDを得ることができる。したがって、NPVスイッチに接続された任意のノードは、任意のリモートノードと通信でき、それにより通信効率が向上する。
NPVスイッチは、FCパケットを転送するよう構成される転送部410(英文:forwarder)を更に有する。転送部は、具体的には、特定用途向け集積回路(英文:application−specific integrated circuit;ASIC)、フィールドプログラマブルゲートアレイ(英文:field−programmable gatearray;FPGA)、又はネットワークプロセッサ(英文:network processor;NP)であっても良い。転送部410は、バスを用いることにより、少なくとも2つのNポート402、Fポート404、及びメモリ408に接続される。
リモートノードと通信しているとき、NPVスイッチに接続されたノードは、FCパケットをリモートノードへ送信する。NPVスイッチの転送部410は、NPVスイッチのFポート404を用いることによりFCパケットを受信する。ここで、FCパケットの宛先FC IDは第2のN_port IDである。NPVスイッチの転送部410は、FCパケットの宛先FC IDを、第2のN_port IDに対応する第1のN_port IDで置換する。1つの第1のN_port IDに対応する全ての第2のN_port IDと、FC−SWに接続された少なくとも2つのN_portとの間には一対一対応の関係があるので、NPVスイッチの転送部410は、置換したFCパケットを送信するために、第2のN_port IDに従って、第2のN_port IDに対応するユニークなN_portを見付けることができる。トランスペアレントルータソリューションでは、FCパケットの送信元FC IDは、第4のN_port IDである。トランスペアレントルータソリューションでは、さらに、NPVスイッチの転送部410は、第3のN_port IDと第4のN_port IDとの間の対応に従って、FCパケットの送信元FC IDを第3のN_port IDで置換する。NPVスイッチの転送部410は、第2のN_port IDに対応するN_portを用いることにより、置換したFCパケットを送信する。
NPVスイッチに接続されたノードと通信しているとき、リモートノードは、FCパケットをNPVスイッチに接続されたノードへ送信する。NPVスイッチの転送部410は、FC−SWに接続された少なくとも2つのNポート402のうちの1つのNポートを用いることにより、FCパケットを受信する。ここで、FCパケットの送信元FC IDは第1のN_port IDである。NPVスイッチの転送部410は、FCパケットの送信元FC IDを、第1のN_port IDに体オスルウ少なくとも2つの第2のN_port IDのうちの1つであり及びFCパケットを受信するNポートに対応する第2のN_port IDで置換する。1つの第1のN_port IDに対応する全ての第2のN_port IDと、FC−SWに接続された少なくとも2つのN_portとの間には一対一対応の関係があるので、NPVスイッチの転送部410は、第1のN_port ID及びFCパケットを受信するNポートに従って、第1のN_port IDに対応するユニークなダイ2のN_port IDを見付けることができる。FCパケットの宛先FC IDは第3のN_port IDである。トランスペアレントルータソリューションでは、さらに、NPVスイッチの転送部410は、第3のN_port IDと第4のN_port IDとの間の対応に従って、FCパケットの宛先FC IDを第4のN_port IDで置換する。NPVスイッチは、置換したFCパケットを送信する。具体的には、NPVスイッチは、F_portを用いることにより、置換したFCパケットを送信する。
FCパケットを置換し及び転送する転送部410により使用される対応は、FCパケットが受信された後に、転送部410によりメモリ408から取得されても良い。代替で、転送部410は、メモリ408から、FCパケットを置換し及び転送するために必要な対応を周期的に取得して、該対応を転送部410の中のメモリに保存しても良い。或いは、対応が変化すると、プロセッサ406は、転送部410の中のメモリに、FCパケットを置換し及び転送するために必要な対応を保存しても良い。対応を周期的に取得する方法及び対応が変化したときに対応を取得する方法は、共存しても良い。
図1及び図5を参照すると、本発明の一実施形態は、ファイバチャネルにおいてノードポート仮想化を実施する別の方法を提供する。ここで、ノードポート仮想化スイッチは、少なくとも2つのNポートを用いることによりファイバチャネルスイッチドファブリックに接続される。FC−SWは、NPVスイッチによりアクセスされるスイッチドファブリックである。方法は、図2に示した実施形態により提供される方法に類似している。相違点は、第2のN_port IDを、FC−SWに接続された全てのNポートの各々に割り当てる代わりに、NPVスイッチは第2のN_port IDを第1のRSCNを受信する各Nポートに割り当てることである。図5は、本発明の本実施形態による方法のフローチャートである。方法は、以下を含む。
502:ノードポート仮想化スイッチは、少なくとも2つのNポートのうちの複数のNポートを用いることにより、複数の第1の登録状態変更通知を受信する。ここで、複数の第1の登録状態変更通知は、同じ第1のNポート識別子を伝達する。
通常、各Nポートは、NPVスイッチの1つの物理ポートに対応している。NPVスイッチの物理ポートは、光トランシーバ又は電気トランシーバにより実装されても良い。
ファイバチャネルプロトコルでは、RSCNはFCスイッチドファブリックの通知であり、RSCNは任意の主要な変化がイッチドファブリックで生じる状況でノードへ送信される通知である。RSCNをトリガする幾つかのイベントは、スイッチドファブリックへのノードのジョイン又はそれからのリーブ、スイッチドファブリックへのスイッチのジョイン又はそれからのリーブ、及びスイッチの名称の変更、である。
第1のN_port IDは、リモートノード(例えば、図1のリモートノード108)のNポート(例えば、図1のNポート128)のFC IDである。リモートノードがFC−SW(例えば、図1のFCスイッチ102及び104が配置されるFC−SW)にジョインするプロセスにおいて、FC−SWの中のFCスイッチ(例えば、図1のFCスイッチ104)は、FC識別子をリモートノードのNポートに割り当てる。ここで、FC識別子は第1のN_port IDである。FC−SWの中のFCスイッチは、FCスイッチのFポート(例えば、図1のFポート116)を用いることにより、第1のN_port IDを伝達するRSCNを送信するようトリガされる。FCスイッチは、複数のRSCNをNPVスイッチへ送信しても良い。これらのRSCNにより伝達される第1のN_port IDは同じである。さらに、FCスイッチは、FCスイッチの複数のFポートを用いることにより、複数のRSCNをNPVスイッチへ送信しても良い。これらのRSCNにより伝達される第1のN_port IDは同じである。本発明の本実施形態では、第1のN_port IDを伝達するRSCNは、第1のRSCNと表される。リモートノードのジョインに気付いた後に、FC−SWの中の別のFCスイッチ(例えば、図1のFCスイッチ102)は、別のFCスイッチのFポート(例えば、図1のFポート114)を用いることにより、第1のN_port IDを伝達する第1のRSCNを送信する。
NPVスイッチは、少なくとも2つのNポートのうちの複数のNポートを用いることにより、第1のRSCNを受信する。NPVスイッチは、FC−SWに接続された少なくとも2つのポートのうちのポートを用いることによってのみ、第1のRSCNを受信する。
ステップ502の前に、NPVスイッチに接続されたノードは、NPVスイッチによりVN_portとして仮想化される。プロセスは以下の通りである。
先ず、NPVスイッチは、NPVスイッチのFポート(例えば、図1のFポート120)を用いることにより、第1のFLOGI要求を受信する。ここで、第1のFLOGI要求は、第1のWWPNを有する。或いは、NPVスイッチは、NPVスイッチのFポート(例えば、図1のFポート120)を用いることにより、第1のFDISC要求を受信する。ここで、第1のFDISC要求は、第1のWWPNを有する。
第1のWWPNは、N_port(例えば、図1のNポート130)の、又はノード(例えば、図1のノード110)の及びNPVスイッチに接続されるVN_portの、WWPNである。
次に、NPVスイッチは、FC−SWに接続される少なくとも2つのNポートのうちの1つのNポート(例えば、図1のNポート126)を用いることにより、第2のFDISC要求を送信する。ここで、第2のFDISC要求は、第1のWWPNを有する。
NPVスイッチは、負荷分散ルール、ネットワークトポロジ、リンク状態、QOSポリシ、又はそれらの任意の組合せに従って、第2のFDISC要求を送信するために少なくとも2つのNポートから1つのNポートを選択しても良い。選択されたNポートは、ノードが登録されるNポートと呼ばれても良い。
選択されたNポートに接続されたFCスイッチ(例えば、図1のFCスイッチ104)が第2のFDISC要求を受信した後に、FCスイッチは、対応するN_port ID、つまり第3のN_port IDを、第2のFDISC要求に含まれる第1のWWPNに割り当てる。FCスイッチは、第3のN_port IDを含む第2のFDISC応答をNPVスイッチに返す。
最後に、NPVスイッチは、第2のFDISC要求を送信するNポートを用いることにより、第2のFDISC応答を受信する。ここで、第2のFDISC応答は、第1のWWPNに対応する第3のN_port IDを有する。NPVスイッチは、第3のN_port IDと、第2のFDISC応答を受信するN_portとの間の対応を記録する。
NPVスイッチは、第1のFLOGI応答をノードに返す。或いは、NPVスイッチは、第1のFDISC応答をノードに返す。NPVスイッチが第1のFLOGI要求を受信する状況では、NPVスイッチは、第1のFLOGI応答をノードに返す。NPVスイッチが第1のFDISC要求を受信する状況では、NPVスイッチは、第1のFDISC応答をノードに返す。
任意で、NPVスイッチは、第3のN_port IDを有する第1のFLOGI応答、又は第3のN_port IDを有する第1のFDISC応答を、ノードに返す。
任意で、NPVスイッチは、第4のN_port IDを第1のWWPNに割り当て、第3のN_port IDと第4のN_port IDとの間の対応を確立し、第4のN_port IDを含む第1のFLOGI応答又は第4のN_port IDを含む第1のFDISC応答を、ノードに返す。ソリューションは、共通トランスペアレントルータソリューションである。ソリューションが使用される状況では、第4のN_port IDを第1のWWPNに割り当てるステップ、及び第4のN_port IDの第1のFLOGI応答又は第1のFDISC応答を返すステップ、並びに第2のFDISC要求を送信するステップは、同時に実行されても良い。第3のN_port IDが取得された後、NPVスイッチは、第3のN_port IDと、第2のFDISC応答を受信するN_portとの間の対応を記録する。さらに、NPVスイッチは、第3のN_port IDと第4のN_port IDとの間の対応を記録する。
504:ノードポート仮想化スイッチは、複数の第1の登録状態変更通知を受信する複数のNポートに、第1のNポート識別子に対応する複数の第2のNポート識別子を割り当てる。ここで、同じ第1のNポート識別子に対応する複数の第2のNポート識別子は異なり、同じ第1のNポート識別子に対応する複数の第2のNポート識別子と、複数の第1の登録状態変更通知を受信する複数のNポートとの間に一対一対応の関係がある。
NPVスイッチは、1つのN_port IDを、第1のRSCNを受信する複数のN_portの各々に割り当てる。N_port IDは、NPVスイッチのN_portのN_port IDではなく、リモートノードのNポートの及びNPVスイッチのN_portの仮想N_port IDである。これらのN_port IDの値は異なるが、それらは、本発明の本実施形態では纏めて第2のN_port IDとして表される。通常、任意の第2のN_port IDは、第1のN_port IDと異なる。しかしながら、1つの第2のN_port IDが第1のN_port IDと同じ可能性が排除されない。
1つの第1のN_port IDに対応する全ての第2のN_port IDと、第1のRSCNを受信する複数のN_portとの間には一対一対応の関係がある。つまり、1つの第1のN_port IDと複数のN_portのうちの1つのN_portが決定される状況では、第1のN_port ID及びN_portに対応する1つの及び唯一の第2のN_port IDが見付けられる。また、1つの第2のN_port IDが決定される状況では、第2のN_port IDに対応する1つの及び唯一のN_portが見付けられる。NPVスイッチは、第1のN_port IDに対応する全ての第2のN_port IDと、複数のN_portとの間の対応を記録する。
同じ第1のN_port IDを伝達し及びNPVスイッチにより受信される複数の第1のRSCNは、同時に受信されなくても良く、NPVスイッチは、各々の第1のRSCNのトリガに基づき、第2のN_port IDを、第1のRSCNを受信するN_portに割り当てる。NPVスイッチは、第1のRSCNを受信するNポートに、NPVスイッチにより割り当てられ第1のN_port IDに対応する第2のN_port IDと異なる第2のN_portを割り当てる。
NPVスイッチの1つのN_portは、複数のRSCNを受信しても良い。そして、NPVスイッチは、第2のN_port IDをN_portに割り当てるために、同じ第1のN_port IDを伝達し及び同じN_portを用いることによりNPVスイッチにより受信される第1のRSCNによってのみトリガされる。通常、NPVスイッチは、同じ第1のN_port IDを伝達する及び同じN_portを用いることにより受信される複数の第1のRSCNのトリガに基づき、NPVスイッチの1つのN_portに割り当てられた第2のN_port IDを変更しない。
506:ノードポート仮想化スイッチは、ノードポート仮想化スイッチのFポートを用いることにより、第2の登録状態変更通知を送信する。ここで、第2の登録状態変更通知は、複数の第2のNポート識別子のうちの1つを伝達する。
NPVスイッチは、第2のRSCNを用いることにより、リモートノードのN_port IDを、NPVスイッチに接続されるノード(例えば、図1のノード110)に送信する。NPVスイッチの異なるNポートに登録されたノードがリモートノードと同時に通信できるように、NPVスイッチは、リモートノードを複数の異なるリモートノード、つまりN_port IDが異なる第2のN_port IDであるリモートノードとして仮想化する。NPVスイッチのN_portでは、NPVスイッチは、第2のRSCNを用いることにより、及びNPVスイッチにより記録される、第3のN_port IDとNPVスイッチのN_portとの間の対応に従って、第2のN_port IDを、N_portに対応する第3のN_port IDに対応する全てのノードに割り当て、つまり、第2のRSCNを用いることにより、第2のN_port IDをN_portに登録された全てのノードに送信する。例えば、第2のRSCNの宛先FC IDは、第3のN_port IDであり、第2のRSCNは、第2のN_port IDを伝達する。別の例では、トランスペアレントルータソリューションでは、第2のRSCNの宛先FC IDは、第3のN_port IDに対応する第4のN_port IDであり、第2のRSCNは第2のN_port IDを伝達する。通常、NPVスイッチにより送信される第2のRSCNの量は、N_portについて登録されたノードの量と等しい。NPVスイッチは、第1のRSCNを受信するNポートへ向けて、N_portに対して登録された全てのノードへ第2のRSCNを送信する。つまり、第1のRSCNのトリガに基づいて、第2のRSCNを送信する。
第2のN_port IDが、リモートノードに、NPVスイッチの複数のN_portについて割り当てられるので、これらのN_portのうちのどのN_portにNPVスイッチに接続されたノードが登録されるかに係わらず、ノードは、リモートノードの及びN_portに対応する第2のN_port IDを得ることができる。したがって、NPVスイッチに接続された任意のノードは、任意のリモートノードと通信でき、それにより通信効率が向上する。通信プロセスは、以下の通り記載される。
リモートノードと通信しているとき、NPVスイッチに接続されたノードは、FCパケットをリモートノードへ送信する。NPVスイッチは、NPVスイッチのFポートを用いることによりFCパケットを受信する。ここで、FCパケットの宛先FC IDは第2のN_port IDである。NPVスイッチは、FCパケットの宛先FC IDを、第2のN_port IDに対応する第1のN_port IDで置換する。1つの第1のN_port IDに対応する全ての第2のN_port IDと、第1のRSCNを受信する複数のN_portとの間には一対一対応の関係があるので、NPVスイッチは、置き換えられたFCパケットを送信するために、第2のN_port IDに従って、第2のN_port IDに対応するユニークなN_portを見付けることができる。トランスペアレントルータソリューションでは、FCパケットの送信元FC IDは、第4のN_port IDである。トランスペアレントルータソリューションでは、さらに、NPVスイッチは、第3のN_port IDと第4のN_port IDとの間の対応に従って、FCパケットの送信元FC IDを第3のN_port IDで置換する。NPVスイッチは、第2のN_port IDに対応するN_portを用いることにより、置換したFCパケットを送信する。
NPVスイッチに接続されたノードと通信しているとき、リモートノードは、FCパケットをNPVスイッチに接続されたノードへ送信する。NPVスイッチは、FC−SWに接続された少なくとも2つのNポートのうちの1つのNポートを用いることにより、FCパケットを受信する。ここで、FCパケットの送信元FC IDは第1のN_port IDである。NPVスイッチは、FCパケットの送信元FC IDを、第1のN_port IDに対応する複数の第2のN_port IDのうちの1つであり及びFCパケットを受信するNポートに対応する第2のN_port IDで置換する。1つの第1のN_port IDに対応する全ての第2のN_port IDと、第1のRSCNを受信する複数のN_portとの間には一対一対応の関係があるので、NPVスイッチは、第1のN_port ID及びFCパケットを受信するNポートに従って、第1のN_port IDに対応するユニークな第2のN_portを見付けることができる。FCパケットの宛先FC IDは第3のN_port IDである。トランスペアレントルータソリューションでは、さらに、NPVスイッチは、第3のN_port IDと第4のN_port IDとの間の対応に従って、FCパケットの宛先FC IDを第4のN_port IDで置換する。NPVスイッチは、置換したFCパケットを送信する。具体的には、NPVスイッチは、F_portを用いることにより、置換したFCパケットを送信する。
図1及び図6を参照すると、本発明の一実施形態は、ファイバチャネルにおいてノードポート仮想化を実施する方法を提供する。ここで、ノードポート仮想化を実施する装置は、ノードポート仮想化スイッチにより実装され、ノードポート仮想化スイッチは、少なくとも2つのNポートを用いることによりファイバチャネルスイッチドファブリックに接続される。FC−SWは、NPVスイッチによりアクセスされるスイッチドファブリックである。図6は、本発明の本実施形態によるファイバチャネル上のノードポート仮想化を実施する装置の構造図である。装置は、図3に示した実施形態により提供される装置に類似している。相違点は、第2のN_port IDを、FC−SWに接続されたNPVスイッチの全てのNポートの各々に割り当てる代わりに、装置は第2のN_port IDを第1のRSCNを受信する各Nポートに割り当てることである。装置は、受信モジュール602と、割り当てモジュール604と、送信モジュール606と、を有する。
受信モジュール602は、少なくとも2つのNポートのうちの複数のNポートを用いることにより、複数の第1の登録状態変更通知を受信するよう構成される。ここで、複数の第1の登録状態変更通知は、同じ第1のNポート識別子を伝達する。
通常、各Nポートは、NPVスイッチの1つの物理ポートに対応している。
FCプロトコルでは、RSCNはFCスイッチドファブリックのものであり、RSCNは任意の主要な変化がイッチドファブリックで生じる状況でノードへ送信される通知である。RSCNをトリガする幾つかのイベントは、スイッチドファブリックへのノードのジョイン又はそれからのリーブ、スイッチドファブリックへのスイッチのジョイン又はそれからのリーブ、及びスイッチの名称の変更、である。
第1のN_port IDは、リモートノード(例えば、図1のリモートノード108)のNポート(例えば、図1のNポート128)のFC IDである。リモートノードがFC−SW(例えば、図1のFCスイッチ102及び104が配置されるFC−SW)にジョインするプロセスにおいて、FC−SWの中のFCスイッチ(例えば、図1のFCスイッチ104)は、FC識別子をリモートノードのNポートに割り当てる。ここで、FC識別子は第1のN_port IDである。FC−SWの中のFCスイッチは、FCスイッチのFポート(例えば、図1のFポート116)を用いることにより、第1のN_port IDを伝達するRSCNを送信するようトリガされる。FCスイッチは、複数のRSCNをNPVスイッチへ送信しても良い。これらのRSCNにより伝達される第1のN_port IDは同じである。さらに、FCスイッチは、FCスイッチの複数のFポートを用いることにより、複数のRSCNをNPVスイッチへ送信しても良い。これらのRSCNにより伝達される第1のN_port IDは同じである。本発明の本実施形態では、第1のN_port IDを伝達するRSCNは、第1のRSCNと表される。リモートノードのジョインに気付いた後に、FC−SWの中の別のFCスイッチ(例えば、図1のFCスイッチ102)は、別のFCスイッチのFポート(例えば、図1のFポート114)を用いることにより、第1のN_port IDを伝達する第1のRSCNを送信する。
ノードポート仮想化のための装置の受信モジュールは、少なくとも2つのNポートのうちの複数のNポートを用いることにより、第1のRSCNを受信する。ここで、装置は、NPVスイッチにより実装される。受信モジュールは、FC−SWに接続された少なくとも2つのポートのうちのポートを用いることによってのみ、第1のRSCNを受信する。
ノードポート仮想化のための装置は、第1の仮想モジュール、第2の仮想モジュール、又はそれらの組み合わせを更に有する。ここで、装置は、NPVスイッチにより実装される。受信モジュールが第1のRSCNを受信する前に、NPVスイッチに接続されたノードはNPVスイッチによりVN_portとして仮想化され、処理は、第1の仮想モジュール、第2の仮想モジュール、又はそれらの組み合わせにより実行される。
第1の仮想モジュールは、NPVスイッチのFポート(例えば、図1のFポート120)を用いることにより、第1のWWPNを有する第1のFLOGI要求を受信し、FC−SWに接続された少なくとも2つのNポートのうちの1つのNポート(例えば、図1のNポート126)を用いることにより、第1のWWPNを有する第2のFDISC要求を送信し、第2のFDISC要求を送信するNポートを用いることにより、第1のWWPNに対応する第3のN_port IDを有する第2のFDISC応答を受信するよう構成される。
第2の仮想モジュールは、NPVスイッチのFポート(例えば、図1のFポート120)を用いることにより、第1のWWPNを有する第1のFDISC要求を受信し、FC−SWに接続された少なくとも2つのNポートのうちの1つのNポート(例えば、図1のNポート126)を用いることにより、第1のWWPNを有する第2のFDISC要求を送信し、第2のFDISC要求を送信するNポートを用いることにより、第1のWWPNに対応する第3のN_port IDを有する第2のFDISC応答を受信するよう構成される。
ノードポート仮想化のための装置は、第3のN_port IDと、第2のFDISC応答を受信するN_portとの間の対応を記録する。
第1のWWPNは、N_port(例えば、図1のNポート130)の、又はノード(例えば、図1のノード110)の及びNPVスイッチに接続されるVN_portの、WWPNである。
第1の仮想モジュール、第2の仮想モジュール、又はそれらの組み合わせは、第2のFDISC要求を送信するために、負荷分散ルール、ネットワークトポロジ、リンク状態、QOSポリシ、又はそれらの任意の組み合わせに従って、少なくとも2つのNポートから1つのNポートを選択しても良い。選択されたNポートは、ノードが登録されるNポートと呼ばれても良い。
選択されたNポートに接続されたFCスイッチ(例えば、図1のFCスイッチ104)が第2のFDISC要求を受信した後に、FCスイッチは、対応するN_port ID、つまり第3のN_port IDを、第2のFDISC要求に含まれる第1のWWPNに割り当てる。FCスイッチは、第3のN_port IDを含む第2のFDISC応答をNPVスイッチに返す。
第1の仮想モジュールは、第1のFLOGI応答をノードに返すよう更に構成される。第2の仮想モジュールは、第1のFLOGI応答をノードに返すよう更に構成される。
任意で、第1の仮想モジュールは、第3のN_port IDを有する第1のFLOGI応答を、ノードに返す。任意で、第2の仮想モジュールは、第3のN_port IDを有する第1のFDISC応答を、ノードに返す。
任意で、第1の仮想モジュールは、第4のN_port IDを第1のWWPNに割り当て、第3のN_port IDと第4のN_port IDとの間の対応を確立し、第4のN_port IDを含む第1のFLOGI応答をノードに返す。任意で、第2の仮想モジュールは、第4のN_port IDを第1のWWPNに割り当て、第3のN_port IDと第4のN_port IDとの間の対応を確立し、第4のN_port IDを含む第1のFDISC応答をノードに返す。ソリューションは、共通トランスペアレントルータソリューションである。ソリューションが使用される状況では、第1の仮想モジュール及び第2の仮想モジュールは、第4のN_port IDを第1のWWPNに割り当てるステップ、及び第4のN_port IDの第1のFLOGI応答又は第1のFDISC応答を返すステップ、並びに第2のFDISC要求を送信するステップを、同時に実行しても良い。第3のN_port IDが取得された後、ノードポート仮想化のための装置は、第3のN_port IDと、第2のFDISC応答を受信するN_portとの間の対応を記録する。さらに、ノードポート仮想化のための装置は、第3のN_port IDと第4のN_port IDとの間の対応を記録する。
割り当てモジュール604は、複数の第1の登録状態変更通知を受信する複数のNポートに、第1のNポート識別子に対応する複数の第2のNポート識別子を割り当てるよう構成される。ここで、同じ第1のNポート識別子に対応する複数の第2のNポート識別子は異なり、同じ第1のNポート識別子に対応する複数の第2のNポート識別子と、複数の第1の登録状態変更通知を受信する複数のNポートとの間に一対一対応の関係がある。
割り当てモジュール604は、1つのN_port IDを、第1のRSCNを受信する複数のN_portの各々に割り当てる。N_port IDは、NPVスイッチのN_portのN_port IDではなく、リモートノードのNポートの及びNPVスイッチのN_portの仮想N_port IDである。これらのN_port IDの値は異なるが、それらは、本発明の本実施形態では纏めて第2のN_port IDとして表される。通常、任意の第2のN_port IDは、第1のN_port IDと異なる。しかしながら、1つの第2のN_port IDが第1のN_port IDと同じ可能性が排除されない。
1つの第1のN_port IDに対応する全ての第2のN_port IDと、第1のRSCNを受信する複数のN_portとの間には一対一対応の関係がある。つまり、1つの第1のN_port IDと複数のN_portのうちの1つのN_portが決定される状況では、第1のN_port ID及びN_portに対応する1つの及び唯一の第2のN_port IDが見付けられる。また、1つの第2のN_port IDが決定される状況では、第2のN_port IDに対応する1つの及び唯一のN_portが見付けられる。NPVスイッチは、第1のN_port IDに対応する全ての第2のN_port IDと、FC−SWに接続された複数のN_portとの間の対応を記録する。
同じ第1のN_port IDを伝達し及び受信モジュール602により受信される複数の第1のRSCNは、同時に受信されなくても良く、割り当てモジュール604は、各々の第1のRSCNのトリガに基づき、第2のN_port IDを、第1のRSCNを受信するN_portに割り当てる。割り当てモジュール604は、第1のRSCNを受信するNポートに、割り当てモジュール604により割り当てられ第1のN_port IDに対応する第2のN_port IDと異なる第2のN_portを割り当てる。
受信モジュール602は、NPVスイッチの1つのN_portを用いることにより、複数の第1のRSCNを受信しても良い。割り当てモジュール604は、同じ第1のN_port IDを伝達し及び同じN_portを用いることにより受信モジュール602により受信される第1のRSCNによってのみ、第2のN_port IDをN_portに割り当てるようトリガされる。通常、割り当てモジュール604は、同じ第1のN_port IDを伝達する及び同じN_portを用いることにより受信モジュール602により受信される複数の第1のRSCNのトリガに基づき、NPVスイッチの1つのN_portに割り当てられた第2のN_port IDを変更しない。
送信モジュール606は、ノードポート仮想化スイッチのFポートを用いることにより、第2の登録状態変更通知を送信する。ここで、第2の登録状態変更通知は、複数の第2のNポート識別子のうちの1つを伝達する。
送信モジュール606は、第2のRSCNを用いることにより、リモートノードのN_port IDを、NPVスイッチに接続されるノード(例えば、図1のノード110)に送信する。NPVスイッチの異なるNポートに登録されたノードがリモートノードと同時に通信できるように、ノードポート仮想化を実施する装置は、リモートノードを複数の異なるリモートノード、つまりN_port IDが異なる第2のN_port IDであるリモートノードとして仮想化する。NPVスイッチのN_portでは、ノードポート仮想化を実施する装置は、第2のRSCNを用いることにより、及びNPVスイッチにより記録される、第3のN_port IDとNPVスイッチのN_portとの間の対応に従って、第2のN_port IDを、N_portに対応する第3のN_port IDに対応する全てのノードに割り当て、つまり、第2のRSCNを用いることにより、第2のN_port IDをN_portに登録された全てのノードに送信する。例えば、第2のRSCNの宛先FC IDは、第3のN_port IDであり、第2のRSCNは、第2のN_port IDを伝達する。別の例では、トランスペアレントルータソリューションでは、第2のRSCNの宛先FC IDは、第3のN_port IDに対応する第4のN_port IDであり、第2のRSCNは第2のN_port IDを伝達する。通常、送信モジュール606により送信される第2のRSCNの量は、N_portについて登録されたノードの量と等しい。送信モジュール606は、第1のRSCNを受信するNポートへ向けて、N_portに対して登録された全てのノードへ第2のRSCNを送信する。つまり、第1のRSCNのトリガに基づいて、第2のRSCNを送信する。
第2のN_port IDが、リモートノードに、NPVスイッチの複数のN_portについて割り当てられるので、これらのN_portのうちのどのN_portにNPVスイッチに接続されたノードが登録されるかに係わらず、ノードは、リモートノードの及びN_portに対応する第2のN_port IDを得ることができる。したがって、NPVスイッチに接続された任意のノードは、任意のリモートノードと通信でき、それにより通信効率が向上する。通信プロセスは、以下の通り記載される。
リモートノードと通信しているとき、NPVスイッチに接続されたノードは、FCパケットをリモートノードへ送信する。受信モジュール602は、NPVスイッチのFポートを用いることによりFCパケットを受信するよう更に構成される。ここで、FCパケットの宛先FC IDは第2のN_port IDである。送信モジュール606は、FCパケットの宛先FC IDを、第2のN_port IDに対応する第1のN_port IDで置換するよう更に構成される。1つの第1のN_port IDに対応する全ての第2のN_port IDと、第1のRSCNを受信する複数のN_portとの間には一対一対応の関係があるので、送信モジュール606は、置換したFCパケットを送信するために、第2のN_port IDに従って、第2のN_port IDに対応するユニークなN_portを見付けることができる。トランスペアレントルータソリューションでは、FCパケットの送信元FC IDは、第4のN_port IDである。トランスペアレントルータソリューションでは、さらに、送信モジュール606は、第3のN_port IDと第4のN_port IDとの間の対応に従って、FCパケットの送信元FC IDを第3のN_port IDで置換する。送信モジュール606は、第2のN_port IDに対応するN_portを用いることにより、置換したFCパケットを送信するよう更に構成される。
NPVスイッチに接続されたノードと通信しているとき、リモートノードは、FCパケットをNPVスイッチに接続されたノードへ送信する。受信モジュール602は、FC−SWに接続された少なくとも2つのNポートのうちの1つのNポートを用いることにより、FCパケットを受信する。ここで、FCパケットの送信元FC IDは第1のN_port IDである。送信モジュール606は、FCパケットの送信元FC IDを、第1のN_port IDに対応する複数の第2のN_port IDのうちの1つであり及びFCパケットを受信するNポートに対応する第2のN_port IDで置換するよう更に構成される。1つの第1のN_port IDに対応する全ての第2のN_port IDと、第1のRSCNを受信する複数のN_portとの間には一対一対応の関係があるので、送信モジュール606は、第1のN_port ID及びFCパケットを受信するNポートに従って、第1のN_port IDに対応するユニークな第2のN_portを見付けることができる。FCパケットの宛先FC IDは第3のN_port IDである。トランスペアレントルータソリューションでは、さらに、送信モジュール606は、第3のN_port IDと第4のN_port IDとの間の対応に従って、FCパケットの宛先FC IDを第4のN_port IDで置換するよう更に構成される。送信モジュール606は、置換したFCパケットを送信するよう更に構成される。具体的には、NPVスイッチは、F_portを用いることにより、置換したFCパケットを送信する。
図1及び図7を参照すると、本発明の一実施形態は、ノードポート仮想化スイッチを提供する。ノードポート仮想化スイッチは、NPVモードで動作するファイバチャネルスイッチを表し、以下では略してNPVスイッチと表す。図7は、本発明の本実施形態によるNPVスイッチの構造図である。NPVスイッチは、少なくとも2つのNポート702、Fポート704,プロセッサ706、及びメモリ708を有する。少なくとも2つのNポート702は、FC−SWに接続される。FC−SWは、NPVスイッチによりアクセスされるスイッチドファブリックである。少なくとも2つのNポート702は、光トランシーバ又は電気トランシーバにより物理的に実装されても良い。Fポート704は、光トランシーバ又は電気トランシーバにより物理的に実装されても良い。例えば、光トランシーバは、SFPトランシーバ、SFP+トランシーバ、又はXFPトランシーバであっても良い。プロセッサ706はCPUであっても良い。メモリ708は、揮発性メモリ、例えばRAM、又は不揮発性メモリ、例えばROM、フラッシュメモリ、ハードディスク、又は固体ディスクであっても良い。少なくとも2つのNポート702、Fポート704、及びメモリ708は、全てプロセッサ706に接続される。図7の太線はバスである。NPVスイッチは、図4に示した実施形態により提供されるNPVスイッチと同じ物理構造を有する。相違点は、第2のN_port IDを、FC−SWに接続された全てのNポートの各々に割り当てる代わりに、NPVスイッチのプロセッサ706は第2のN_port IDを第1のRSCNを受信する各Nポートに割り当てることである。プロセッサ706は、メモリ708に格納されたプログラム命令に従って、図5に示した実施形態の中の幾つかの動作ステップを実行する。
先ず、プロセッサ706は、少なくとも2つのNポート702のうちの複数のNポートを用いることにより、複数の第1の登録状態変更通知を受信する。ここで、複数の第1の登録状態変更通知は、同じ第1のNポート識別子を伝達する。
ファイバチャネルプロトコルでは、RSCNはFCスイッチドファブリックの通知であり、RSCNは任意の主要な変化がイッチドファブリックで生じる状況でノードへ送信される通知である。RSCNをトリガする幾つかのイベントは、スイッチドファブリックへのノードのジョイン又はそれからのリーブ、スイッチドファブリックへのスイッチのジョイン又はそれからのリーブ、及びスイッチの名称の変更、である。
第1のN_port IDは、リモートノード(例えば、図1のリモートノード108)のNポート(例えば、図1のNポート128)のFC IDである。リモートノードがFC−SW(例えば、図1のFCスイッチ102及び104が配置されるFC−SW)にジョインするプロセスにおいて、FC−SWの中のFCスイッチ(例えば、図1のFCスイッチ104)は、FC識別子をリモートノードのNポートに割り当てる。ここで、FC識別子は第1のN_port IDである。FC−SWの中のFCスイッチは、FCスイッチのFポート704(例えば、図1のFポート116)を用いることにより、第1のN_port IDを伝達するRSCNを送信するようトリガされる。FCスイッチは、複数のRSCNをNPVスイッチへ送信しても良い。これらのRSCNにより伝達される第1のN_port IDは同じである。さらに、FCスイッチは、FCスイッチの複数のFポートを用いることにより、複数のRSCNをNPVスイッチへ送信しても良い。これらのRSCNにより伝達される第1のN_port IDは同じである。本発明の本実施形態では、第1のN_port IDを伝達するRSCNは、第1のRSCNと表される。リモートノードのジョインに気付いた後に、FC−SWの中の別のFCスイッチ(例えば、図1のFCスイッチ102)は、別のFCスイッチのFポート704(例えば、図1のFポート114)を用いることにより、第1のN_port IDを伝達する第1のRSCNを送信する。
NPVスイッチのプロセッサ706は、少なくとも2つのNポート702のうちの複数のNポートを用いることにより、第1のRSCNを受信する。NPVスイッチのプロセッサ706は、FC−SWに接続された少なくとも2つのポートのうちのポートを用いることにより、第1のRSCNを受信する。
第1のRSCNが受信される前に、NPVスイッチに接続されたノードは、NPVスイッチによりVN_portとして仮想化される。プロセスは以下の通りである。
ステップ1:NPVスイッチのプロセッサ706は、NPVスイッチのFポート704(例えば、図1のFポート120)を用いることにより、第1のFLOGI要求を受信する。ここで、第1のFLOGI要求は、第1のWWPNを有する。或いは、NPVスイッチのプロセッサ706は、NPVスイッチのFポート704(例えば、図1のFポート120)を用いることにより、第1のFDISCを受信する。ここで、第1のFDISC要求は、第1のWWPNを有する。
第1のWWPNは、N_port(例えば、図1のNポート130)の、又はノード(例えば、図1のノード110)の及びNPVスイッチに接続されるVN_portの、WWPNである。
ステップ2:NPVスイッチのプロセッサ706は、FC−SWに接続される少なくとも2つのNポートのうちの1つのNポート702(例えば、図1のNポート126)を用いることにより、第2のFDISC要求を送信する。ここで、第2のFDISC要求は、第1のWWPNを有する。
NPVスイッチのプロセッサ706は、負荷分散ルール、ネットワークトポロジ、リンク状態、QOSポリシ、又はそれらの任意の組合せに従って、第2のFDISC要求を送信するために少なくとも2つのNポート702から1つのNポートを選択しても良い。選択されたNポートは、ノードが登録されるNポートと呼ばれても良い。
選択されたNポートに接続されたFCスイッチ(例えば、図1のFCスイッチ104)が第2のFDISC要求を受信した後に、FCスイッチは、対応するN_port ID、つまり第3のN_port IDを、第2のFDISC要求に含まれる第1のWWPNに割り当てる。FCスイッチは、第3のN_port IDを含む第2のFDISC応答をNPVスイッチに返す。
ステップ3:NPVスイッチのプロセッサ706は、第2のFDISC要求を送信するNポートを用いることにより、第2のFDISC応答を受信する。ここで、第2のFDISC応答は、第1のWWPNに対応する第3のN_port IDを有する。NPVスイッチのプロセッサ706は、第3のN_port IDと、第2のFDISC応答を受信するN_portとの間の対応を、メモリ708に記録する。
NPVスイッチのプロセッサ706は、第1のFLOGI応答をノードに返す。或いは、NPVスイッチのプロセッサ706は、第1のFDISC応答をノードに返す。第1のFLOGI要求が受信される状況では、プロセッサ706は、第1のFLOGI応答をノードに返す。第1のFLOGI要求が受信される状況では、プロセッサ706は、第1のFDISC応答をノードに返す。
任意で、NPVスイッチのプロセッサ706は、第3のN_port IDを有する第1のFLOGI応答、又は第3のN_port IDを有する第1のFDISC応答を、ノードに返す。
任意で、NPVスイッチのプロセッサ706は、第4のN_port IDを第1のWWPNに割り当て、第3のN_port IDと第4のN_port IDとの間の対応を確立し、第4のN_port IDを含む第1のFLOGI応答又は第4のN_port IDを含む第1のFDISC応答を、ノードに返す。ソリューションは、共通トランスペアレントルータソリューションである。ソリューションが使用される状況では、第4のN_port IDを第1のWWPNに割り当てるステップ、及び第4のN_port IDの第1のFLOGI応答又は第1のFDISC応答を返すステップ、並びに第2のFDISC要求を送信するステップは、プロセッサ706により同時に実行されても良い。第3のN_port IDが取得された後、NPVスイッチのプロセッサ706は、第3のN_port IDと、第2のFDISC応答を受信するN_portとの間の対応をメモリ708に記録する。さらに、NPVスイッチのプロセッサ706は、第3のN_port IDと第4のN_port IDとの間の対応をメモリ708に記録する。
次に、プロセッサ706は、複数の第1の登録状態変更通知を受信する複数のNポートに、第1のNポート識別子に対応する複数の第2のNポート識別子を割り当てる。ここで、同じ第1のNポート識別子に対応する複数の第2のNポート識別子は異なり、同じ第1のNポート識別子に対応する複数の第2のNポート識別子と、複数の第1の登録状態変更通知を受信する複数のNポートとの間に一対一対応の関係がある。
プロセッサ706は、1つのN_port IDを、第1のRSCNを受信する複数のN_portの各々に割り当てる。N_port IDは、NPVスイッチのN_portのN_port IDではなく、リモートノードのNポートの及びNPVスイッチのN_portの仮想N_port IDである。これらのN_port IDの値は異なるが、それらは、本発明の本実施形態では纏めて第2のN_port IDとして表される。通常、任意の第2のN_port IDは、第1のN_port IDと異なる。しかしながら、1つの第2のN_port IDが第1のN_port IDと同じ可能性が排除されない。
1つの第1のN_port IDに対応する全ての第2のN_port IDと、第1のRSCNを受信する複数のN_portとの間には一対一対応の関係がある。つまり、1つの第1のN_port IDと複数のN_portのうちの1つのN_portが決定される状況では、第1のN_port ID及びN_portに対応する1つの及び唯一の第2のN_port IDが見付けられる。また、1つの第2のN_port IDが決定される状況では、第2のN_port IDに対応する1つの及び唯一のN_portが見付けられる。プロセッサ706は、第1のN_port IDに対応する全ての第2のN_port IDと、複数のN_portとの間の対応をメモリ708に記録する。
同じ第1のN_port IDを伝達し及びNPVスイッチにより受信される複数の第1のRSCNは、同時に受信されなくても良く、NPVスイッチのプロセッサ706は、各々の第1のRSCNのトリガに基づき、第2のN_port IDを、第1のRSCNを受信するN_portに割り当てる。NPVスイッチのプロセッサ706は、第1のRSCNを受信するNポートに、プロセッサ706により割り当てられ第1のN_port IDに対応する第2のN_port IDと異なる第2のN_portを割り当てる。
NPVスイッチの1つのN_portは、複数のRSCNを受信しても良い。そして、NPVスイッチのプロセッサ706は、第2のN_port IDをN_portに割り当てるために、同じ第1のN_port IDを伝達し及び同じN_portを用いることによりプロセッサ706により受信される第1のRSCNによってのみトリガされる。通常、NPVスイッチのプロセッサ706は、同じ第1のN_port IDを伝達する及び同じN_portを用いることにより受信される複数の第1のRSCNのトリガに基づき、NPVスイッチの1つのN_portに割り当てられた第2のN_port IDを変更しない。
最後に、プロセッサ706は、ノードポート仮想化スイッチのFポート704を用いることにより、第2の登録状態変更通知を送信する。ここで、第2の登録状態変更通知は、複数の第2のNポート識別子のうちの1つを伝達する。
プロセッサ706は、第2のRSCNを用いることにより、リモートノードのN_port IDを、NPVスイッチに接続されるノード(例えば、図1のノード110)に送信する。NPVスイッチの異なるNポートに登録されたノードがリモートノードと同時に通信できるように、NPVスイッチは、リモートノードを複数の異なるリモートノード、つまりN_port IDが異なる第2のN_port IDであるリモートノードとして仮想化する。NPVスイッチのN_portでは、プロセッサ706は、第2のRSCNを用いることにより、及びプロセッサ406によりメモリ708に記録される、第3のN_port IDとNPVスイッチのN_portとの間の対応に従って、第2のN_port IDを、N_portに対応する第3のN_port IDに対応する全てのノードに割り当て、つまり、第2のRSCNを用いることにより、第2のN_port IDをN_portに登録された全てのノードに送信する。例えば、第2のRSCNの宛先FC IDは、第3のN_port IDであり、第2のRSCNは、第2のN_port IDを伝達する。別の例では、トランスペアレントルータソリューションでは、第2のRSCNの宛先FC IDは、第3のN_port IDに対応する第4のN_port IDであり、第2のRSCNは第2のN_port IDを伝達する。通常、NPVスイッチにより送信される第2のRSCNの量は、N_portについて登録されたノードの量と等しい。NPVスイッチのプロセッサ706は、第1のRSCNを受信するNポートへ向けて、N_portに対して登録された全てのノードへ第2のRSCNを送信する。つまり、第1のRSCNのトリガに基づいて、第2のRSCNを送信する。
第2のN_port IDが、リモートノードに、NPVスイッチの複数のN_portについて割り当てられるので、これらのN_portのうちのどのN_portにNPVスイッチに接続されたノードが登録されるかに係わらず、ノードは、リモートノードの及びN_portに対応する第2のN_port IDを得ることができる。したがって、NPVスイッチに接続された任意のノードは、任意のリモートノードと通信でき、それにより通信効率が向上する。
NPVスイッチは、FCパケットを転送するよう構成される転送部710を更に有する。転送部は、具体的には、ASIC、FPGA、又はNPであっても良い。転送部710は、バスを用いることにより、少なくとも2つのNポート702、Fポート704、及びメモリ708に接続される。
リモートノードと通信しているとき、NPVスイッチに接続されたノードは、FCパケットをリモートノードへ送信する。NPVスイッチの転送部710は、NPVスイッチのFポート704を用いることによりFCパケットを受信する。ここで、FCパケットの宛先FC IDは第2のN_port IDである。NPVスイッチの転送部710は、FCパケットの宛先FC IDを、第2のN_port IDに対応する第1のN_port IDで置換する。1つの第1のN_port IDに対応する全ての第2のN_port IDと、第1のRSCNを受信する複数のN_portとの間には一対一対応の関係があるので、NPVスイッチの転送部710は、置換したFCパケットを送信するために、第2のN_port IDに従って、第2のN_port IDに対応するユニークなN_portを見付けることができる。トランスペアレントルータソリューションでは、FCパケットの送信元FC IDは、第4のN_port IDである。トランスペアレントルータソリューションでは、さらに、NPVスイッチの転送部710は、第3のN_port IDと第4のN_port IDとの間の対応に従って、FCパケットの送信元FC IDを第3のN_port IDで置き換える。NPVスイッチの転送部710は、第2のN_port IDに対応するN_portを用いることにより、置換したFCパケットを送信する。
NPVスイッチに接続されたノードと通信しているとき、リモートノードは、FCパケットをNPVスイッチに接続されたノードへ送信する。NPVスイッチの転送部410は、FC−SWに接続された少なくとも2つのNポート702のうちの1つのNポートを用いることにより、FCパケットを受信する。ここで、FCパケットの送信元FC IDは第1のN_port IDである。NPVスイッチの転送部410は、FCパケットの送信元FC IDを、第1のN_port IDに対応する複数の第2のN_port IDのうちの1つであり及びFCパケットを受信するNポートに対応する第2のN_port IDで置換する。1つの第1のN_port IDに対応する全ての第2のN_port IDと、第1のRSCNを受信する複数のN_portとの間には一対一対応の関係があるので、NPVスイッチの転送部410は、第1のN_port ID及びFCパケットを受信するNポートに従って、第1のN_port IDに対応するユニークな第2のN_portを見付けることができる。FCパケットの宛先FC IDは第3のN_port IDである。トランスペアレントルータソリューションでは、さらに、NPVスイッチの転送部410は、第3のN_port IDと第4のN_port IDとの間の対応に従って、FCパケットの宛先FC IDを第4のN_port IDで置換する。NPVスイッチは、置換したFCパケットを送信する。具体的には、NPVスイッチは、F_portを用いることにより、置換したFCパケットを送信する。
FCパケットを置換し及び転送する転送部710により使用される対応は、FCパケットが受信された後に、転送部708によりメモリ710から取得されても良い。代替で、転送部710は、メモリ708から、FCパケットを置換し及び転送するために必要な対応を周期的に取得して、該対応を転送部710の中のメモリに保存しても良い。或いは、対応が変化すると、プロセッサ706は、転送部710の中のメモリに、FCパケットを置換し及び転送するために必要な対応を保存しても良い。対応を周期的に取得する方法及び対応が変化したときに対応を取得する方法は、共存しても良い。
図2乃至図4に示す実施形態により提供される技術的ソリューション及び図5乃至図7に示す実施形態により提供される技術的ソリューションは、全体的な発明概念に属する。両者は、1つの第1のN_port IDに応じて、複数の異なる第2のN_port IDを複数のNポートに割り当てようとする。唯一の相違点は、第2のN_port IDを割り当てるトリガ条件にある。図2乃至図4に示す実施形態により提供技術的ソリューションでは、NPVスイッチは、同じ第1のN_port IDを伝達し及びNPVスイッチにより受信される第1のRSCNにより、第2のN_port IDをFC−SWに接続される全てのN_portに割り当てる動作を実行するよう、トリガされる。図5乃至図7に示す実施形態により提供される技術的ソリューションでは、NPVスイッチは、各第1のRSCNにより、第2のN_port IDを第1のRSCNを受信するN_portに割り当てるよう、トリガされる。図2乃至図4に示す実施形態により提供される技術的ソリューションでは、第2のN_port IDの割り当ては、どの第2のN_port IDが第1のN_port IDに対応して割り当てられたかを学習する必要がなく、単純である。図5乃至図7に示す実施形態により提供される技術的ソリューションでは、ダイ2のN_port IDが割り当てられる必要のあるN_portを取得するプロセスは、いずれも追加の自動発見方法で、どのN_portがFC−SWに接続されるかに関する事前設定情報が必要なく、或いは、どのN_portがFC−SWに接続されるかを決定する必要がない。
当業者は、方法の実施形態のステップの全部又は一部が関連するハードウェアに指示するプログラムにより実装されても良いことを理解する。プログラムは、コンピュータ可読記憶媒体に格納されても良い。記憶媒体は、ランダムアクセスメモリ、読み出し専用メモリ、フラッシュメモリ、ハードディスク、固体ディスク、又は光ディスクであっても良い。
上述の説明は、本発明の単なる例示的な実装方法であり、本発明の保護範囲を制限するものではない。本発明で開示された技術範囲内にある、当業者により直ちに考案される変形又は置換は、本発明の保護範囲に包含される。したがって、本発明の保護範囲は、特許請求の範囲に従う。