(57)【特許請求の範囲】
【請求項１】
ファイバチャネルにおいてノードポート仮想化を実施する方法であって、ノードポート仮想化スイッチは、少なくとも２つのＮポートを用いることによりファイバチャネルスイッチドファブリックに接続され、前記方法は、
前記ノードポート仮想化スイッチにより、前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第１の登録状態変更通知を受信するステップであって、前記第１の登録状態変更通知は、第１のＮポート識別子を伝達する、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートに、前記第１のＮポート識別子に対応する少なくとも２つの第２のＮポート識別子を割り当てるステップであって、同じ前記第１のＮポート識別子に対応する前記少なくとも２つの第２のＮポート識別子は異なり、同じ前記第１のＮポート識別子に対応する前記少なくとも２つの第２のＮポート識別子と、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートとの間には一対一対応の関係がある、ステップと、
前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチのＦポートを用いることにより、第２の登録状態変更通知を送信するステップであって、前記第２の登録状態変更通知は、前記少なくとも２つの第２のＮポート識別子のうちの１つを伝達する、ステップと、
を有する方法。
【請求項２】
前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、ファイバチャネルパケットを受信するステップであって、前記ファイバチャネルパケットの宛先ファイバチャネル識別子は、前記第２のＮポート識別子である、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルパケットの前記宛先ファイバチャネル識別子を、前記第２のＮポート識別子に対応する前記第１のＮポート識別子で置換するステップと、
前記ノードポート仮想化スイッチにより、前記第２のＮポート識別子に対応するＮポートを用いることにより、前記の置換したファイバチャネルパケットを送信するステップと、
を更に有する請求項１に記載の方法。
【請求項３】
前記ノードポート仮想化スイッチにより、前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、ファイバチャネルパケットを受信するステップであって、前記ファイバチャネルパケットの送信元ファイバチャネル識別子は、前記第１のＮポート識別子である、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルパケットの前記送信元ファイバチャネル識別子を、前記第１のＮポート識別子に対応する前記少なくとも２つの第２のＮポート識別子のうちの１つであり前記ファイバチャネルパケットを受信するＮポートに対応する第２のＮポート識別子で置換するステップと、
前記ノードポート仮想化スイッチにより、前記の置換したファイバチャネルパケットを送信するステップと、
を更に有する請求項１又は２に記載の方法。
【請求項４】
前記ノードポート仮想化スイッチにより、前記少なくとも２つのＮポートのうちいずれか１つを用いることにより、第１の登録状態変更通知を受信するステップの前に、
前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリックログイン要求を受信するステップであって、前記第１のファブリックログイン要求は第１のワールドワイドポート名を有するステップ、又は、前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリック発見要求を受信するステップであって、前記第１のファブリック発見要求は、第１のワールドワイドポート名を有する、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第２のファブリック発見要求を送信するステップであって、前記第２のファブリック発見要求は、第１のワールドワイドポート名を有する、ステップと、
前記ノードポート仮想化スイッチにより、前記第２のファブリック発見要求を送信するＮポートを用いることにより、第２のファブリック発見応答を受信するステップであって、前記第２のファブリック発見応答は、前記第１のワールドワイドポート名に対応する第３のＮポート識別子を有する、ステップと、
を更に有する、請求項１乃至３のいずれか一項に記載の方法。
【請求項５】
ファイバチャネルにおいてノードポート仮想化を実施する装置であって、ノードポート仮想化スイッチにより実装され、前記ノードポート仮想化スイッチは、少なくとも２つのＮポートを用いることによりファイバチャネルスイッチドファブリックに接続され、前記装置は、受信モジュールと、割り当てモジュールと、送信モジュールと、を有し、
前記受信モジュールは、前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第１の登録状態変更通知を受信するよう構成され、前記第１の登録状態変更通知は、第１のＮポート識別子を伝達し、
前記割り当てモジュールは、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートに、前記第１のＮポート識別子に対応する少なくとも２つの第２のＮポート識別子を割り当てるよう構成され、同じ前記第１のＮポート識別子に対応する前記少なくとも２つの第２のＮポート識別子は異なり、同じ前記第１のＮポート識別子に対応する前記少なくとも２つの第２のＮポート識別子と、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートとの間には一対一対応の関係があり、
前記送信モジュールは、前記ノードポート仮想化スイッチのＦポートを用いることにより、第２の登録状態変更通知を送信するよう構成され、前記第２の登録状態変更通知は、前記少なくとも２つの第２のＮポート識別子のうちの１つを伝達する、
装置。
【請求項６】
前記受信モジュールは、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、ファイバチャネルパケットを受信するよう更に構成され、前記ファイバチャネルパケットの宛先ファイバチャネル識別子は、前記第２のＮポート識別子であり、
前記送信モジュールは、前記ファイバチャネルパケットの前記宛先ファイバチャネル識別子を、前記第２のＮポート識別子に対応する前記第１のＮポート識別子で置換し、前記第２のＮポート識別子に対応するＮポートを用いることにより、前記の置換したファイバチャネルパケットを送信するよう更に構成される、
請求項５に記載の装置。
【請求項７】
前記受信モジュールは、前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、ファイバチャネルパケットを受信するよう更に構成され、前記ファイバチャネルパケットの送信元ファイバチャネル識別子は、前記第１のＮポート識別子であり、
前記送信モジュールは、前記ファイバチャネルパケットの前記送信元ファイバチャネル識別子を、前記第１のＮポート識別子に対応する前記少なくとも２つの第２のＮポート識別子のうちの１つであり前記ファイバチャネルパケットを受信するＮポートに対応する第２のＮポート識別子で置換し、前記の置換したファイバチャネルパケットを送信するよう更に構成される、
請求項５又は６に記載の装置。
【請求項８】
第１の仮想モジュールを更に有し、
前記第１の仮想モジュールは、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリックログイン要求を受信し、前記第１のファブリックログイン要求は第１のワールドワイドポート名を有し、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第２のファブリック発見要求を送信し、前記第２のファブリック発見要求は前記第１のワールドワイドポート名を有し、前記第２のファブリック発見要求を送信するＮポートを用いることにより、第２のファブリック発見応答を受信し、前記第２のファブリック発見応答は前記第１のワールドワイドポート名に対応する第３のＮポート識別子を有する、よう構成される、
請求項５乃至７のいずれか一項に記載の装置。
【請求項９】
第２の仮想モジュールを更に有し、
前記第２の仮想モジュールは、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリック発見要求を受信し、前記第１のファブリック発見要求は第１のワールドワイドポート名を有し、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第２のファブリック発見要求を送信し、前記第２のファブリック発見要求は前記第１のワールドワイドポート名を有し、前記第２のファブリック発見要求を送信するＮポートを用いることにより、第２のファブリック発見応答を受信し、前記第２のファブリック発見応答は前記第１のワールドワイドポート名に対応する第３のＮポート識別子を有する、よう構成される、
請求項５乃至８のいずれか一項に記載の装置。
【請求項１０】
ファイバチャネルにおいてノードポート仮想化を実施する方法であって、ノードポート仮想化スイッチは、少なくとも２つのＮポートを用いることによりファイバチャネルスイッチドファブリックに接続され、前記方法は、
前記ノードポート仮想化スイッチにより、前記少なくとも２つのＮポートのうち複数のＮポートを用いることにより、複数の第１の登録状態変更通知を受信するステップであって、前記複数の第１の登録状態変更通知は、同じ第１のＮポート識別子を伝達する、ステップと、
前記ノードポート仮想化スイッチにより、前記複数の第１の登録状態変更通知を受信する前記複数のＮポートに、前記第１のＮポート識別子に対応する複数の第２のＮポート識別子を割り当てるステップであって、前記同じ第１のＮポート識別子に対応する前記複数の第２のＮポート識別子は異なり、前記同じ第１のＮポート識別子に対応する前記複数の第２のＮポート識別子と、前記複数の第１の登録状態変更通知を受信する前記複数のＮポートとの間には一対一対応の関係がある、ステップと、
前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチのＦポートを用いることにより、第２の登録状態変更通知を送信するステップであって、前記第２の登録状態変更通知は、前記複数の第２のＮポート識別子のうち１つを伝達する、ステップと、
を有する方法。
【請求項１１】
前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、ファイバチャネルパケットを受信するステップであって、前記ファイバチャネルパケットの宛先ファイバチャネル識別子は、前記第２のＮポート識別子である、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルパケットの前記宛先ファイバチャネル識別子を、前記第２のＮポート識別子に対応する前記第１のＮポート識別子で置換するステップと、
前記ノードポート仮想化スイッチにより、前記第２のＮポート識別子に対応するＮポートを用いることにより、前記の置換したファイバチャネルパケットを送信するステップと、
を更に有する請求項１０に記載の方法。
【請求項１２】
前記ノードポート仮想化スイッチにより、前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、ファイバチャネルパケットを受信するステップであって、前記ファイバチャネルパケットの送信元ファイバチャネル識別子は、前記第１のＮポート識別子である、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルパケットの前記送信元ファイバチャネル識別子を、前記第１のＮポート識別子に対応する前記複数の第２のＮポート識別子のうちの１つであり前記ファイバチャネルパケットを受信するＮポートに対応する第２のＮポート識別子で置換するステップと、
前記ノードポート仮想化スイッチにより、前記の置換したファイバチャネルパケットを送信するステップと、
を更に有する請求項１０又は１１に記載の方法。
【請求項１３】
前記ノードポート仮想化スイッチにより、前記少なくとも２つのＮポートのうち複数のＮポートを用いることにより、複数の第１の登録状態変更通知を受信するステップの前に、前記方法は、
前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリックログイン要求を受信するステップであって、前記第１のファブリックログイン要求は第１のワールドワイドポート名を有するステップ、又は、前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリック発見要求を受信するステップであって、前記第１のファブリック発見要求は、第１のワールドワイドポート名を有する、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第２のファブリック発見要求を送信するステップであって、前記第２のファブリック発見要求は、第１のワールドワイドポート名を有する、ステップと、
前記ノードポート仮想化スイッチにより、前記第２のファブリック発見要求を送信するＮポートを用いることにより、第２のファブリック発見応答を受信するステップであって、前記第２のファブリック発見応答は、前記第１のワールドワイドポート名に対応する第３のＮポート識別子を有する、ステップと、
を更に有する、請求項１０乃至１２のいずれか一項に記載の方法。
【請求項１４】
ファイバチャネルにおいてノードポート仮想化を実施する装置であって、ノードポート仮想化スイッチにより実施され、前記ノードポート仮想化スイッチは、少なくとも２つのＮポートを用いることによりファイバチャネルスイッチドファブリックに接続され、前記装置は、受信モジュールと、割り当てモジュールと、送信モジュールと、を有し、
前記受信モジュールは、前記少なくとも２つのＮポートのうち複数のＮポートを用いることにより、複数の第１の登録状態変更通知を受信するよう構成され、前記複数の第１の登録状態変更通知は、同じ第１のＮポート識別子を伝達し、
前記割り当てモジュールは、前記複数の第１の登録状態変更通知を受信する前記複数のＮポートに、前記第１のＮポート識別子に対応する複数の第２のＮポート識別子を割り当てるよう構成され、前記同じ第１のＮポート識別子に対応する前記複数の第２のＮポート識別子は異なり、前記同じ第１のＮポート識別子に対応する前記複数の第２のＮポート識別子と、前記複数の第１の登録状態変更通知を受信する前記複数のＮポートとの間には一対一対応の関係があり、
前記送信モジュールは、前記ノードポート仮想化スイッチのＦポートを用いることにより、第２の登録状態変更通知を送信するよう構成され、前記第２の登録状態変更通知は、前記複数の第２のＮポート識別子のうち１つを伝達する、
装置。
【請求項１５】
前記受信モジュールは、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、ファイバチャネルパケットを受信するよう更に構成され、前記ファイバチャネルパケットの宛先ファイバチャネル識別子は、前記第２のＮポート識別子であり、
前記送信モジュールは、前記ファイバチャネルパケットの前記宛先ファイバチャネル識別子を、前記第２のＮポート識別子に対応する前記第１のＮポート識別子で置換し、前記第２のＮポート識別子に対応するＮポートを用いることにより、前記の置換したファイバチャネルパケットを送信するよう更に構成される、
請求項１４に記載の装置。
【請求項１６】
前記受信モジュールは、前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、ファイバチャネルパケットを受信するよう更に構成され、前記ファイバチャネルパケットの送信元ファイバチャネル識別子は、前記第１のＮポート識別子であり、
前記送信モジュールは、前記ファイバチャネルパケットの前記送信元ファイバチャネル識別子を、前記第１のＮポート識別子に対応する前記複数の第２のＮポート識別子のうちの１つであり前記ファイバチャネルパケットを受信するＮポートに対応する第２のＮポート識別子で置換し、前記の置換したファイバチャネルパケットを送信するよう更に構成される、
請求項１４又は１５に記載の装置。
【請求項１７】
第１の仮想モジュールを更に有し、
前記第１の仮想モジュールは、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリックログイン要求を受信し、前記第１のファブリックログイン要求は第１のワールドワイドポート名を有し、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第２のファブリック発見要求を送信し、前記第２のファブリック発見要求は前記第１のワールドワイドポート名を有し、前記第２のファブリック発見要求を送信するＮポートを用いることにより、第２のファブリック発見応答を受信し、前記第２のファブリック発見応答は前記第１のワールドワイドポート名に対応する第３のＮポート識別子を有する、よう構成される、
請求項１４乃至１６のいずれか一項に記載の装置。
【請求項１８】
第２の仮想モジュールを更に有し、
前記第２の仮想モジュールは、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリック発見要求を受信し、前記第１のファブリック発見要求は第１のワールドワイドポート名を有し、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第２のファブリック発見要求を送信し、前記第２のファブリック発見要求は前記第１のワールドワイドポート名を有し、前記第２のファブリック発見要求を送信するＮポートを用いることにより、第２のファブリック発見応答を受信し、前記第２のファブリック発見応答は前記第１のワールドワイドポート名に対応する第３のＮポート識別子を有する、よう構成される、
請求項１４乃至１７のいずれか一項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信技術の分野に関し、特に、ファイバチャネルにおけるノードポート仮想化を実施する方法、装置、及びシステムに関する。
【背景技術】
【０００２】
ストレージエリアネットワーク（英文：storage  area  network；ＳＡＮ）は、記憶装置、例えばディスクアレイ（英文：disk  array）、テープライブラリ（英文：Tape  library）、及び光ジュークボックス（英文：Optical  jukebox）を、サーバにアクセス可能にし、記憶装置がオペレーティングシステムにローカルに取り付けられる装置のように機能できるようにするために主に用いられる。
【０００３】
ファイバチャネル（英文：Fibre  Channel；ＦＣ）は、スーパコンピュータの分野で主に用いられたが、企業の記憶装置においてストレージエリアネットワークのための標準的結合方式になってきている。ファイバチャネル・ホストバスアダプタ（英文：host  bus  adapter；ＨＢＡ）は、サーバ又は記憶装置に置かれ、ファイバチャネルポートを提供する。各ＨＢＡは、ユニークなワールドワイド名（英文：World  Wide  Name；ＷＷＮ）を有する。ＷＷＮは、Ｅｔｈｅｒｎｅｔにおけるメディアアクセス制御（英文：media  access  control；ＭＡＣ）アドレスに似ている。しかしながら、ＷＷＮはもっと長い。ＨＢＡには２種類のＷＷＮがある。つまり、ノードＷＷＮ：装置の一部又は全部のポートにより共有され得るワールドワイドノード名（英文：World  Wide  Node  Name；ＷＷＮＮ）、及びポートＷＷＮ：各ポートに一意なワールドワイドポート名（英文：World  Wide  Port  Name；ＷＷＰＮ）である。
【０００４】
以下の種類のポートは、ファイバチャネルにより定められる。Ｎ＿ｐｏｒｔ、つまりＮポートは、ノードにあり且つＦＣスイッチドファブリック（英文：FC  switched  fabric；ＦＣ−ＳＷ、ファブリック）に接続されるポートであり、ノードポートとも呼ばれる。Ｆ＿ｐｏｒｔ、つまりＦポートは、ノードに接続される（つまり、Ｎ＿ｐｏｒｔに接続される）ファイバチャネルスイッチ（英文：Fibre  Channel  switches）にあるポートであり、ファブリックポート（英文：fabric  port）とも呼ばれる。Ｅ＿ｐｏｒｔ、つまりＥポートは、２つのファイバチャネルスイッチの間の接続であり、拡張ポート（英文：expansion  port）とも呼ばれる。
【０００５】
ノードポート仮想化（英文：node  port  virtualization、Ｎ＿ｐｏｒｔ仮想化とも呼ばれる）は、ＳＡＮの中のファイバチャネルドメイン識別子（英文：Fibre  Channel  domain  identifier；ＦＣドメインＩＤ）の量を低減する。１又は複数のユニークなドメインＩＤは、スイッチドファブリックの中の各スイッチのために指定される。通常、ドメインＩＤの量は、スイッチドファブリックの中のスイッチの量である。ＮＰＶモードで動作するスイッチは、以下ではノードポート仮想化スイッチ又はＮＰＶスイッチと表され、スイッチによりアクセスされるスイッチドファブリックに加わらないが、スイッチは別のスイッチドファブリックに加わる。ＮＰＶスイッチは、ＮＰＶスイッチによりアクセスされるスイッチドファブリックに接続されるポートをＮ＿ｐｏｒｔとしてシミュレートし、ＮＰＶスイッチがシミュレートされるＮ＿ｐｏｒｔの仮想Ｎ＿ｐｏｒｔ（英文：virtual  N_port；ＶＮ＿ｐｏｒｔ）として配置されるスイッチドファブリックのノ―ドのＮ＿ｐｏｒｔを用いる。
【０００６】
２以上のＮ＿ｐｏｒｔを用いることによりＮＰＶスイッチがファイバチャネル・スイッチドファブリックに接続される状況では、例えば、ＮＰＶスイッチが負荷分散方法で別のスイッチドファブリックにアクセスするシナリオでは、ＮＰＶスイッチに接続されたノードは、Ｎポートのうちの１つにあるＶＮ＿ｐｏｒｔとして仮想化されるだけである。同じＮＰＶスイッチの異なるＮポートにあるＶＮ＿ｐｏｒｔとして仮想化されるノードは、同じリモートノード（英文：remote  node）と同時に通信できない。リモートノードは、ＮＰＶスイッチによりアクセスされるスイッチドファブリックに接続されるノードを表す。
【発明の概要】
【０００７】
本発明は、ノードポート仮想化技術が低い通信効率を有するという問題を解決するために、ファイバチャネルにおいてノードポート仮想化を実施する方法、装置、及びシステムを提供する。
【０００８】
第１の態様によると、本発明は、ファイバチャネルにおいてノードポート仮想化を実施する方法であって、ノードポート仮想化スイッチは、少なくとも２つのＮポートを用いることによりファイバチャネルスイッチドファブリックに接続され、前記方法は、
前記ノードポート仮想化スイッチにより、前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第１の登録状態変更通知を受信するステップであって、前記第１の登録状態変更通知は、第１のＮポート識別子を伝達する、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートに、前記第１のＮポート識別子に対応する少なくとも２つの第２のＮポート識別子を割り当てるステップであって、同じ前記第１のＮポート識別子に対応する前記少なくとも２つの第２のＮポート識別子は異なり、同じ前記第１のＮポート識別子に対応する前記少なくとも２つの第２のＮポート識別子と、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートとの間には一対一対応の関係がある、ステップと、
前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチのＦポートを用いることにより、第２の登録状態変更通知を送信するステップであって、前記第２の登録状態変更通知は、前記少なくとも２つの第２のＮポート識別子のうちの１つを伝達する、ステップと、
を有する方法を提供する。
【０００９】
第１の態様の第１の実装方法では、前記方法は、前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、ファイバチャネルパケットを受信するステップであって、前記ファイバチャネルパケットの宛先ファイバチャネル識別子は、前記第２のＮポート識別子である、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルパケットの前記宛先ファイバチャネル識別子を、前記第２のＮポート識別子に対応する前記第１のＮポート識別子で置換するステップと、
前記ノードポート仮想化スイッチにより、前記第２のＮポート識別子に対応するＮポートを用いることにより、前記の置換したファイバチャネルパケットを送信するステップと、
を更に有する。
【００１０】
第１の態様又は第１の態様の第１の実装方法を参照して、第１の態様の第２の実装方法では、前記方法は、前記ノードポート仮想化スイッチにより、前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、ファイバチャネルパケットを受信するステップであって、前記ファイバチャネルパケットの送信元ファイバチャネル識別子は、前記第１のＮポート識別子である、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルパケットの前記送信元ファイバチャネル識別子を、前記第１のＮポート識別子に対応する前記少なくとも２つの第２のＮポート識別子のうちの１つであり前記ファイバチャネルパケットを受信するＮポートに対応する第２のＮポート識別子で置換するステップと、
前記ノードポート仮想化スイッチにより、前記の置換したファイバチャネルパケットを送信するステップと、
を更に有する。
【００１１】
第１の態様、第１の態様の第１の実装方法及び第２の実装方法、のうちのいずれか１つを参照して、第１の態様の第３の実装方法では、前記ノードポート仮想化スイッチにより、前記少なくとも２つのＮポートのうちいずれか１つを用いることにより、第１の登録状態変更通知を受信するステップの前に、前記方法は、
前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリックログイン要求を受信するステップであって、前記第１のファブリックログイン要求は第１のワールドワイドポート名を有するステップ、又は、前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリック発見要求を受信するステップであって、前記第１のファブリック発見要求は、第１のワールドワイドポート名を有する、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第２のファブリック発見要求を送信するステップであって、前記第２のファブリック発見要求は、第１のワールドワイドポート名を有する、ステップと、
前記ノードポート仮想化スイッチにより、前記第２のファブリック発見要求を送信するＮポートを用いることにより、第２のファブリック発見応答を受信するステップであって、前記第２のファブリック発見応答は、前記第１のワールドワイドポート名に対応する第３のＮポート識別子を有する、ステップと、
を更に有する。
【００１２】
第２の態様によると、本発明は、ファイバチャネルにおいてノードポート仮想化を実施する装置であって、ノードポート仮想化スイッチにより実装され、前記ノードポート仮想化スイッチは、少なくとも２つのＮポートを用いることによりファイバチャネルスイッチドファブリックに接続され、前記装置は、受信モジュールと、割り当てモジュールと、送信モジュールと、を有し、
前記受信モジュールは、前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第１の登録状態変更通知を受信するよう構成され、前記第１の登録状態変更通知は、第１のＮポート識別子を伝達し、
前記割り当てモジュールは、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートに、前記第１のＮポート識別子に対応する少なくとも２つの第２のＮポート識別子を割り当てるよう構成され、同じ前記第１のＮポート識別子に対応する前記少なくとも２つの第２のＮポート識別子は異なり、同じ前記第１のＮポート識別子に対応する前記少なくとも２つの第２のＮポート識別子と、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートとの間には一対一対応の関係があり、
前記送信モジュールは、前記ノードポート仮想化スイッチのＦポートを用いることにより、第２の登録状態変更通知を送信するよう構成され、前記第２の登録状態変更通知は、前記少なくとも２つの第２のＮポート識別子のうちの１つを伝達する、
装置を提供する。
【００１３】
第２の態様の第１の実装方法では、前記受信モジュールは、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、ファイバチャネルパケットを受信するよう更に構成され、前記ファイバチャネルパケットの宛先ファイバチャネル識別子は、前記第２のＮポート識別子であり、前記送信モジュールは、前記ファイバチャネルパケットの前記宛先ファイバチャネル識別子を、前記第２のＮポート識別子に対応する前記第１のＮポート識別子で置換し、前記第２のＮポート識別子に対応するＮポートを用いることにより、前記の置換したファイバチャネルパケットを送信するよう更に構成される。
【００１４】
第２の態様又は第２の態様の第１の実装方法を参照して、第２の態様の第２の実装方法では、前記受信モジュールは、前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、ファイバチャネルパケットを受信するよう更に構成され、前記ファイバチャネルパケットの送信元ファイバチャネル識別子は、前記第１のＮポート識別子であり、
前記送信モジュールは、前記ファイバチャネルパケットの前記送信元ファイバチャネル識別子を、前記第１のＮポート識別子に対応する前記少なくとも２つの第２のＮポート識別子のうちの１つであり前記ファイバチャネルパケットを受信するＮポートに対応する第２のＮポート識別子で置換し、前記の置換したファイバチャネルパケットを送信するよう更に構成される。
【００１５】
第２の態様、第２の態様の第１の実装方法及び第２の実装方法のうちのいずれか１つを参照して、第２の態様の第３の実装方法では、前記装置は、第１の仮想モジュールを更に有し、
前記第１の仮想モジュールは、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリック発見要求を受信し、前記第１のファブリック発見要求は第１のワールドワイドポート名を有し、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第２のファブリック発見要求を送信し、前記第２のファブリック発見要求は前記第１のワールドワイドポート名を有し、前記第２のファブリック発見要求を送信するＮポートを用いることにより、第２のファブリック発見応答を受信し、前記第２のファブリック発見応答は前記第１のワールドワイドポート名に対応する第３のＮポート識別子を有する、よう構成される。
【００１６】
第２の態様、又は第２の態様の第１の実装方法乃至第３の実装方法のうちのいずれか１つを参照して、第２の態様の第４の実装方法では、前記装置は、第２の仮想モジュールを更に有し、
前記第２の仮想モジュールは、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリック発見要求を受信し、前記第１のファブリック発見要求は第１のワールドワイドポート名を有し、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第２のファブリック発見要求を送信し、前記第２のファブリック発見要求は前記第１のワールドワイドポート名を有し、前記第２のファブリック発見要求を送信するＮポートを用いることにより、第２のファブリック発見応答を受信し、前記第２のファブリック発見応答は前記第１のワールドワイドポート名に対応する第３のＮポート識別子を有する、よう構成される。
【００１７】
第３の態様によると、本発明は、ノードポート仮想化スイッチであって、前記ノードポート仮想化スイッチは、少なくとも２つのＮポートと、Ｆポートと、プロセッサと、メモリと、を有し、前記少なくとも２つのＮポートはファイバチャネルスイッチドファブリックに接続され、前記少なくとも２つのＮポートは前記プロセッサに接続され、前記Ｆポートは前記プロセッサに接続され、前記メモリは前記プロセッサに接続され、前記プロセッサは、前記メモリにより格納されるプログラム命令に従って、
前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第１の登録状態変更通知を受信するステップであって、前記第１の登録状態変更通知は、第１のＮポート識別子を伝達する、ステップと、
前記少なくとも２つのＮポートに、前記第１のＮポート識別子に対応する少なくとも２つの第２のＮポート識別子を割り当てるステップであって、同じ前記第１のＮポート識別子に対応する前記少なくとも２つのＮポート識別子は異なり、同じ前記第１のＮポート識別子に対応する前記少なくとも２つの第２のＮポート識別子と、前記ファイバチャネルスイッチドファブリックに接続される前記少なくとも２つのＮポートとの間には一対一対応の関係がある、ステップと、
前記Ｆポートを用いることにより、第２の登録状態変更通知を送信するステップであって、前記第２の登録状態変更通知は、前記少なくとも２つのＮポート識別子のうち１つを伝達する、ステップと、
を実行する、ノードポート仮想化スイッチを提供する。
【００１８】
第３の態様の第１の実装方法では、前記ノードポート仮想化スイッチは、転送部を更に有し、前記転送部は、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、ファイバチャネルパケットを受信し、前記ファイバチャネルパケットの宛先ファイバチャネル識別子は、前記第２のＮポート識別子であり、前記転送部は、前記ファイバチャネルパケットの前記宛先ファイバチャネル識別子を、前記第２のＮポート識別子に対応する前記第１のＮポート識別子で置換し、前記転送部は、前記第２のＮポート識別子に対応するＮポートを用いることにより、前記の置換したファイバチャネルパケットを送信する。
【００１９】
第３の態様又は第３の態様の第１の実装方法を参照して、第３の態様の第２の実装方法では、前記ノードポート仮想化スイッチは転送部を更に有し、前記転送部は、前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、ファイバチャネルパケットを受信し、前記ファイバチャネルパケットの送信元ファイバチャネル識別子は、前記第１のＮポート識別子であり、
前記転送部は、前記ファイバチャネルパケットの前記送信元ファイバチャネル識別子を、前記第１のＮポート識別子に対応する前記少なくとも２つの第２のＮポート識別子のうちの１つであり前記ファイバチャネルパケットを受信するＮポートに対応する第２のＮポート識別子で置換し、
前記転送部は、前記ノードポート仮想化スイッチにより、前記の置換したファイバチャネルパケットを送信する。
【００２０】
第３の態様、第３の態様の第１の実装方法及び第２の実装方法、のうちのいずれか１つを参照して、第３の態様の第３の実装方法では、前記メモリに格納されたプログラム命令に従って、前記ノードポート仮想化スイッチにより、前記少なくとも２つのＮポートのうちいずれか１つを用いることにより、第１の登録状態変更通知を受信するステップを実行する前に、前記プロセッサは、
前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリックログイン要求を受信するステップであって、前記第１のファブリックログイン要求は第１のワールドワイドポート名を有するステップ、又は、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリック発見要求を受信するステップであって、前記第１のファブリック発見要求は、第１のワールドワイドポート名を有する、ステップと、
前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第２のファブリック発見要求を送信するステップであって、前記第２のファブリック発見要求は、第１のワールドワイドポート名を有する、ステップと、
前記第２のファブリック発見要求を送信するＮポートを用いることにより、第２のファブリック発見応答を受信するステップであって、前記第２のファブリック発見応答は、前記第１のワールドワイドポート名に対応する第３のＮポート識別子を有する、ステップと、
を更に実行する。
【００２１】
第４の態様によると、本発明は、ファイバチャネルにおいてノードポート仮想化を実施するシステムであって、ノードポート仮想化スイッチを有し、
前記ノードポート仮想化スイッチは、少なくとも２つのＮポートを用いることによりファイバチャネルスイッチドファブリックに接続され、
前記ノードポート仮想化スイッチは、前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第１の登録状態変更通知を受信するよう構成され、前記第１の登録状態変更通知は、第１のＮポート識別子を伝達し、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートに、前記第１のＮポート識別子に対応する少なくとも２つの第２のＮポート識別子を割り当て、同じ前記第１のＮポート識別子に対応する前記少なくとも２つの第２のＮポート識別子は異なり、同じ前記第１のＮポート識別子に対応する前記少なくとも２つの第２のＮポート識別子と、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートとの間には一対一対応の関係があり、前記ノードポート仮想化スイッチのＦポートを用いることにより、第２の登録状態変更通知を送信し、前記第２の登録状態変更通知は、前記少なくとも２つの第２のＮポート識別子のうちの１つを伝達する、よう構成される、
システムを提供する。
【００２２】
第４の態様の第１の実装方法では、前記ノードポート仮想化スイッチは、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、ファイバチャネルパケットを受信するよう更に構成され、前記ファイバチャネルパケットの宛先ファイバチャネル識別子は、前記第２のＮポート識別子であり、前記ファイバチャネルパケットの前記宛先ファイバチャネル識別子を、前記第２のＮポート識別子に対応する前記第１のＮポート識別子で置換し、前記第２のＮポート識別子に対応するＮポートを用いることにより、前記の置換したファイバチャネルパケットを送信するよう更に構成される。
【００２３】
第４の態様又は第４の態様の第１の実装方法を参照して、第４の態様の第２の実装方法では、前記ノードポート仮想化スイッチは、前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、ファイバチャネルパケットを受信し、前記ファイバチャネルパケットの送信元ファイバチャネル識別子は、前記第１のＮポート識別子であり、前記ファイバチャネルパケットの前記送信元ファイバチャネル識別子を、前記第１のＮポート識別子に対応する前記少なくとも２つの第２のＮポート識別子のうちの１つであり前記ファイバチャネルパケットを受信するＮポートに対応する第２のＮポート識別子で置換し、前記ノードポート仮想化スイッチにより、前記の置換したファイバチャネルパケットを送信する、よう更に構成される。
【００２４】
第４の態様、第４の態様の第１の実装方法及び第２の実装方法、のうちのいずれか１つを参照して、第４の態様の第３の実装方法では、前記ノードポート仮想化スイッチは、前記少なくとも２つのＮポートのうちいずれか１つを用いることにより、第１の登録状態変更通知を受信するステップの前に、
前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリックログイン要求を受信し、前記第１のファブリックログイン要求は第１のワールドワイドポート名を有し、又は、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリック発見要求を受信し、前記第１のファブリック発見要求は、第１のワールドワイドポート名を有し、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第２のファブリック発見要求を送信し、前記第２のファブリック発見要求は、第１のワールドワイドポート名を有し、前記第２のファブリック発見要求を送信するＮポートを用いることにより、第２のファブリック発見応答を受信し、前記第２のファブリック発見応答は、前記第１のワールドワイドポート名に対応する第３のＮポート識別子を有する、よう更に構成される。
【００２５】
第４の態様又は第４の態様の第１の実装方法乃至第３の実装方法のうちのいずれか１つを参照して、第４の態様の第４の実装方法では、前記システムは、ファイバチャネルスイッチを更に有し、前記ファイバチャネルスイッチは、前記ファイバチャネルスイッチドファブリックの中に配置される。
【００２６】
第４の態様又は第４の態様の第１の実装方法乃至第４の実装方法のうちのいずれか１つを参照して、第４の態様の第５の実装方法では、前記システムは、ノードを更に有し、前記ノードは、前記ノードポート仮想化スイッチに接続される。
【００２７】
第５の態様によると、本発明は、ファイバチャネルにおいてノードポート仮想化を実施する方法であって、ノードポート仮想化スイッチは、少なくとも２つのＮポートを用いることによりファイバチャネルスイッチドファブリックに接続され、前記方法は、
前記ノードポート仮想化スイッチにより、前記少なくとも２つのＮポートのうち複数のＮポートを用いることにより、複数の第１の登録状態変更通知を受信するステップであって、前記複数の第１の登録状態変更通知は、同じ第１のＮポート識別子を伝達する、ステップと、
前記ノードポート仮想化スイッチにより、前記複数の第１の登録状態変更通知を受信する前記複数のＮポートに、前記第１のＮポート識別子に対応する複数の第２のＮポート識別子を割り当てるステップであって、前記同じ第１のＮポート識別子に対応する前記複数の第２のＮポート識別子は異なり、前記同じ第１のＮポート識別子に対応する前記複数の第２のＮポート識別子と、前記複数の第１の登録状態変更通知を受信する前記複数のＮポートとの間には一対一対応の関係がある、ステップと、
前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチのＦポートを用いることにより、第２の登録状態変更通知を送信するステップであって、前記第２の登録状態変更通知は、前記複数の第２のＮポート識別子のうち１つを伝達する、ステップと、
を有する。
【００２８】
第５の態様の第１の実装方法では、前記方法は、前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、ファイバチャネルパケットを受信するステップであって、前記ファイバチャネルパケットの宛先ファイバチャネル識別子は、前記第２のＮポート識別子である、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルパケットの前記宛先ファイバチャネル識別子を、前記第２のＮポート識別子に対応する前記第１のＮポート識別子で置換するステップと、
前記ノードポート仮想化スイッチにより、前記第２のＮポート識別子に対応するＮポートを用いることにより、前記の置換したファイバチャネルパケットを送信するステップと、
を更に有する。
【００２９】
第５の態様又は第５の態様の第１の実装方法を参照して、第５の態様の第２の実装方法では、前記方法は、前記ノードポート仮想化スイッチにより、前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、ファイバチャネルパケットを受信するステップであって、前記ファイバチャネルパケットの送信元ファイバチャネル識別子は、前記第１のＮポート識別子である、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルパケットの前記送信元ファイバチャネル識別子を、前記第１のＮポート識別子に対応する前記複数の第２のＮポート識別子のうちの１つであり前記ファイバチャネルパケットを受信するＮポートに対応する第２のＮポート識別子で置換するステップと、
前記ノードポート仮想化スイッチにより、前記の置換したファイバチャネルパケットを送信するステップと、
を更に有する。
【００３０】
第５の態様、第５の態様の第１の実装方法及び第２の実装方法、のうちのいずれか１つを参照して、第５の態様の第３の実装方法では、前記ノードポート仮想化スイッチにより、前記少なくとも２つのＮポートのうちいずれか１つを用いることにより、第１の登録状態変更通知を受信するステップの前に、前記方法は、
前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリックログイン要求を受信するステップであって、前記第１のファブリックログイン要求は第１のワールドワイドポート名を有するステップ、又は、前記ノードポート仮想化スイッチにより、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリック発見要求を受信するステップであって、前記第１のファブリック発見要求は、第１のワールドワイドポート名を有する、ステップと、
前記ノードポート仮想化スイッチにより、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第２のファブリック発見要求を送信するステップであって、前記第２のファブリック発見要求は、第１のワールドワイドポート名を有する、ステップと、
前記ノードポート仮想化スイッチにより、前記第２のファブリック発見要求を送信するＮポートを用いることにより、第２のファブリック発見応答を受信するステップであって、前記第２のファブリック発見応答は、前記第１のワールドワイドポート名に対応する第３のＮポート識別子を有する、ステップと、
を更に有する。
【００３１】
第６の態様によると、本発明は、ファイバチャネルにおいてノードポート仮想化を実施する装置であって、ノードポート仮想化スイッチにより実施され、前記ノードポート仮想化スイッチは、少なくとも２つのＮポートを用いることによりファイバチャネルスイッチドファブリックに接続され、前記装置は、受信モジュールと、割り当てモジュールと、送信モジュールと、を有し、
前記受信モジュールは、前記少なくとも２つのＮポートのうち複数のＮポートを用いることにより、複数の第１の登録状態変更通知を受信するよう構成され、前記複数の第１の登録状態変更通知は、同じ第１のＮポート識別子を伝達し、
前記割り当てモジュールは、前記複数の第１の登録状態変更通知を受信する前記複数のＮポートに、前記第１のＮポート識別子に対応する複数の第２のＮポート識別子を割り当てるよう構成され、前記同じ第１のＮポート識別子に対応する前記複数の第２のＮポート識別子は異なり、前記同じ第１のＮポート識別子に対応する前記複数の第２のＮポート識別子と、前記複数の第１の登録状態変更通知を受信する前記複数のＮポートとの間には一対一対応の関係があり、
前記送信モジュールは、前記ノードポート仮想化スイッチのＦポートを用いることにより、第２の登録状態変更通知を送信するよう構成され、前記第２の登録状態変更通知は、前記複数の第２のＮポート識別子のうち１つを伝達する、
装置を提供する。
【００３２】
第６の態様の第１の実装方法では、前記受信モジュールは、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、ファイバチャネルパケットを受信するよう更に構成され、前記ファイバチャネルパケットの宛先ファイバチャネル識別子は、前記第２のＮポート識別子であり、前記送信モジュールは、前記ファイバチャネルパケットの前記宛先ファイバチャネル識別子を、前記第２のＮポート識別子に対応する前記第１のＮポート識別子で置換し、前記第２のＮポート識別子に対応するＮポートを用いることにより、前記の置換したファイバチャネルパケットを送信するよう更に構成される。
【００３３】
第６の態様又は第６の態様の第１の実装方法を参照して、第６の態様の第２の実装方法では、前記受信モジュールは、前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、ファイバチャネルパケットを受信するよう更に構成され、前記ファイバチャネルパケットの送信元ファイバチャネル識別子は、前記第１のＮポート識別子であり、
前記送信モジュールは、前記ファイバチャネルパケットの前記送信元ファイバチャネル識別子を、前記第１のＮポート識別子に対応する前記複数の第２のＮポート識別子のうちの１つであり前記ファイバチャネルパケットを受信するＮポートに対応する第２のＮポート識別子で置換し、前記の置換したファイバチャネルパケットを送信するよう更に構成される。
【００３４】
第６の態様、第６の態様の第１の実装方法及び第２の実装方法のうちのいずれか１つを参照して、第６の態様の第３の実装方法では、前記装置は、第１の仮想モジュールを更に有し、
前記第１の仮想モジュールは、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリック発見要求を受信し、前記第１のファブリック発見要求は第１のワールドワイドポート名を有し、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第２のファブリック発見要求を送信し、前記第２のファブリック発見要求は前記第１のワールドワイドポート名を有し、前記第２のファブリック発見要求を送信するＮポートを用いることにより、第２のファブリック発見応答を受信し、前記第２のファブリック発見応答は前記第１のワールドワイドポート名に対応する第３のＮポート識別子を有する、よう構成される。
【００３５】
第６の態様、又は第６の態様の第１の実装方法乃至第３の実装方法のうちのいずれか１つを参照して、第６の態様の第４の実装方法では、前記装置は、第２の仮想モジュールを更に有し、
前記第２の仮想モジュールは、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリック発見要求を受信し、前記第１のファブリック発見要求は第１のワールドワイドポート名を有し、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第２のファブリック発見要求を送信し、前記第２のファブリック発見要求は前記第１のワールドワイドポート名を有し、前記第２のファブリック発見要求を送信するＮポートを用いることにより、第２のファブリック発見応答を受信し、前記第２のファブリック発見応答は前記第１のワールドワイドポート名に対応する第３のＮポート識別子を有する、よう構成される。
【００３６】
第７の態様によると、本発明は、ノードポート仮想化スイッチであって、前記ＮＰＶスイッチは、少なくとも２つのＮポートと、Ｆポートと、プロセッサと、メモリと、を有し、前記少なくとも２つのＮポートは、ファイバチャネルスイッチドファブリックに接続され、前記少なくとも２つのＮポートは前記プロセッサに接続され、前記Ｆポートは前記プロセッサに接続され、前記メモリは前記プロセッサに接続され、前記プロセッサは、前記メモリに格納されたプログラム命令に従って、
前記少なくとも２つのＮポートのうち複数のＮポートを用いることにより、複数の第１の登録状態変更通知を受信するステップであって、前記複数の第１の登録状態変更通知は、同じ第１のＮポート識別子を伝達する、ステップと、
前記複数の第１の登録状態変更通知を受信する前記複数のＮポートに、前記第１のＮポート識別子に対応する複数の第２のＮポート識別子を割り当てるステップであって、同じ前記第１のＮポート識別子に対応する前記複数の第２のＮポート識別子は異なり、同じ前記第１のＮポート識別子に対応する前記複数の第２のＮポート識別子と、前記複数の第１の登録状態変更通知を受信する前記複数のＮポートとの間には一対一対応の関係がある、ステップと、
前記Ｆポートを用いることにより、第２の登録状態変更通知を送信するステップであって、前記第２の登録状態変更通知は、前記複数の第２のＮポート識別子を伝達する、ステップと、
を実行する、ノードポート仮想化スイッチを提供する。
【００３７】
第７の態様の第１の実装方法では、前記ノードポート仮想化スイッチは、転送部を更に有し、前記転送部は、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、ファイバチャネルパケットを受信し、前記ファイバチャネルパケットの宛先ファイバチャネル識別子は、前記第２のＮポート識別子であり、前記転送部は、前記ファイバチャネルパケットの前記宛先ファイバチャネル識別子を、前記第２のＮポート識別子に対応する前記第１のＮポート識別子で置換し、前記転送部は、前記第２のＮポート識別子に対応するＮポートを用いることにより、前記の置換したファイバチャネルパケットを送信する。
【００３８】
第７の態様又は第７の態様の第１の実装方法を参照して、第７の態様の第２の実装方法では、前記ノードポート仮想化スイッチは転送部を更に有し、前記転送部は、前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、ファイバチャネルパケットを受信し、前記ファイバチャネルパケットの送信元ファイバチャネル識別子は、前記第１のＮポート識別子であり、
前記転送部は、前記ファイバチャネルパケットの前記送信元ファイバチャネル識別子を、前記第１のＮポート識別子に対応する前記複数の第２のＮポート識別子のうちの１つであり前記ファイバチャネルパケットを受信するＮポートに対応する第２のＮポート識別子で置換し、
前記転送部は、前記ノードポート仮想化スイッチにより、前記の置換したファイバチャネルパケットを送信する。
【００３９】
第７の態様、第７の態様の第１の実装方法及び第２の実装方法、のうちのいずれか１つを参照して、第７の態様の第３の実装方法では、前記メモリに格納されたプログラム命令に従って、前記ノードポート仮想化スイッチにより、前記少なくとも２つのＮポートのうちいずれか１つを用いることにより、第１の登録状態変更通知を受信するステップを実行する前に、前記プロセッサは、
前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリックログイン要求を受信するステップであって、前記第１のファブリックログイン要求は第１のワールドワイドポート名を有するステップ、又は、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリック発見要求を受信するステップであって、前記第１のファブリック発見要求は、第１のワールドワイドポート名を有する、ステップと、
前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第２のファブリック発見要求を送信するステップであって、前記第２のファブリック発見要求は、第１のワールドワイドポート名を有する、ステップと、
前記第２のファブリック発見要求を送信するＮポートを用いることにより、第２のファブリック発見応答を受信するステップであって、前記第２のファブリック発見応答は、前記第１のワールドワイドポート名に対応する第３のＮポート識別子を有する、ステップと、
を更に実行する。
【００４０】
第８の態様によると、本発明は、ファイバチャネルにおいてノードポート仮想化を実施するシステムであって、ノードポート仮想化スイッチを有し、
前記ノードポート仮想化スイッチは、少なくとも２つのＮポートを用いることによりファイバチャネルスイッチドファブリックに接続され、
前記ノードポート仮想化スイッチは、前記少なくとも２つのＮポートのうち複数のＮポートを用いることにより、複数の第１の登録状態変更通知を受信するよう構成され、前記複数の第１の登録状態変更通知は、同じ第１のＮポート識別子を伝達し、前記複数の第１の登録状態変更通知を受信する前記複数のＮポートに、前記第１のＮポート識別子に対応する複数の第２のＮポート識別子を割り当て、前記同じ第１のＮポート識別子に対応する前記複数の第２のＮポート識別子は異なり、前記同じ第１のＮポート識別子に対応する前記複数の第２のＮポート識別子と、前記複数の第１の登録状態変更通知を受信する前記複数のＮポートとの間には一対一対応の関係があり、前記ノードポート仮想化スイッチのＦポートを用いることにより、第２の登録状態変更通知を送信し、前記第２の登録状態変更通知は、前記複数の第２のＮポート識別子のうち１つを伝達する、よう構成される、
システムを提供する。
【００４１】
第８の態様の第１の実装方法では、前記ノードポート仮想化スイッチは、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、ファイバチャネルパケットを受信するよう更に構成され、前記ファイバチャネルパケットの宛先ファイバチャネル識別子は、前記第２のＮポート識別子であり、前記ファイバチャネルパケットの前記宛先ファイバチャネル識別子を、前記第２のＮポート識別子に対応する前記第１のＮポート識別子で置換し、前記第２のＮポート識別子に対応するＮポートを用いることにより、前記の置換したファイバチャネルパケットを送信するよう更に構成される。
【００４２】
第８の態様又は第８の態様の第１の実装方法を参照して、第８の態様の第２の実装方法では、前記ノードポート仮想化スイッチは、前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、ファイバチャネルパケットを受信し、前記ファイバチャネルパケットの送信元ファイバチャネル識別子は、前記第１のＮポート識別子であり、前記ファイバチャネルパケットの前記送信元ファイバチャネル識別子を、前記第１のＮポート識別子に対応する前記複数の第２のＮポート識別子のうちの１つであり前記ファイバチャネルパケットを受信するＮポートに対応する第２のＮポート識別子で置換し、前記ノードポート仮想化スイッチにより、前記の置換したファイバチャネルパケットを送信する、よう更に構成される。
【００４３】
第８の態様、第８の態様の第１の実装方法及び第２の実装方法、のうちのいずれか１つを参照して、第８の態様の第３の実装方法では、前記ノードポート仮想化スイッチは、前記少なくとも２つのＮポートのうちいずれか１つを用いることにより、第１の登録状態変更通知を受信するステップの前に、
前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリックログイン要求を受信し、前記第１のファブリックログイン要求は第１のワールドワイドポート名を有し、又は、前記ノードポート仮想化スイッチの前記Ｆポートを用いることにより、第１のファブリック発見要求を受信し、前記第１のファブリック発見要求は、第１のワールドワイドポート名を有し、前記ファイバチャネルスイッチドファブリックに接続された前記少なくとも２つのＮポートのうち１つのＮポートを用いることにより、第２のファブリック発見要求を送信し、前記第２のファブリック発見要求は、第１のワールドワイドポート名を有し、前記第２のファブリック発見要求を送信するＮポートを用いることにより、第２のファブリック発見応答を受信し、前記第２のファブリック発見応答は、前記第１のワールドワイドポート名に対応する第３のＮポート識別子を有する、よう更に構成される。
【００４４】
第８の態様又は第８の態様の第１の実装方法乃至第３の実装方法のうちのいずれか１つを参照して、第８の態様の第４の実装方法では、前記システムは、ファイバチャネルスイッチを更に有し、前記ファイバチャネルスイッチは、前記ファイバチャネルスイッチドファブリックの中に配置される。
【００４５】
第８の態様又は第８の態様の第１の実装方法乃至第４の実装方法のうちのいずれか１つを参照して、第８の態様の第５の実装方法では、前記システムは、ノードを更に有し、前記ノードは、前記ノードポート仮想化スイッチに接続される。
【００４６】
第２のＮ＿ｐｏｒｔ  ＩＤが、リモートノードに、ＮＰＶスイッチの１より多いＮ＿ｐｏｒｔについて割り当てられるので、これらのＮ＿ｐｏｒｔのうちのどのＮ＿ｐｏｒｔにＮＰＶスイッチに接続されたノードが登録されるかに係わらず、ノードは、リモートノードの及びＮ＿ｐｏｒｔに対応する第２のＮ＿ｐｏｒｔ  ＩＤを得ることができる。したがって、ＮＰＶスイッチに接続された任意のノードは、任意のリモートノードと通信でき、それにより通信効率が向上する。
【図面の簡単な説明】
【００４７】
本発明の実施形態の技術的解決策をより明確に記載するために、実施形態を説明するのに必要な添付の図面を以下に簡単に説明する。明らかなことに、以下の説明中の添付の図面は、本発明のほんの一部の実施形態であり、これらの図面に従って当業者により創造的労力を有しないで他の図面も得られる。
【図１】本発明の一実施形態によるネットワークシステムの概略図である。
【図２】本発明の実施形態による方法のフローチャートである。
【図３】本発明の実施形態によるファイバチャネル上のノードポート仮想化を実施する装置の構造図である。
【図４】本発明の一実施形態によるＮＰＶスイッチの構造図である。
【図５】本発明の実施形態による方法のフローチャートである。
【図６】本発明の実施形態によるファイバチャネル上のノードポート仮想化を実施する装置の構造図である。
【図７】本発明の一実施形態によるＮＰＶスイッチの構造図である。
【発明を実施するための形態】
【００４８】
以下の説明のための実施形態は、例として、本発明の特定の実装プロセスを記載する。明らかに、記載される実施形態は、本発明の実施形態の一部であり、全ての実施形態ではない。本発明の実施形態に基づき創造的労力を有しないで当業者により得られる全ての他の実施形態は、本発明の保護範囲に包含される。
【００４９】
図１は、本発明の一実施形態によるネットワークシステムの概略図である。１０２及び１０４は、ファイバチャネルスイッチであり、１０２及び１０４は同じファイバチャネルスイッチドファブリックに属する。１０６は、ポート仮想化スイッチである。１０８〜１１２はノードである。ここで、ノードは、ホスト、サーバ、又は記憶装置であっても良い。１１４〜１２２はＦポートである。１２４〜１３２はＮポートである。１３４はＥポートである。
【００５０】
図１及び図２を参照すると、本発明の一実施形態は、ファイバチャネルにおいてノードポート仮想化を実施する方法を提供する。ここで、ノードポート仮想化スイッチは、少なくとも２つのＮポートによりファイバチャネルスイッチドファブリックに接続される。ＦＣ−ＳＷは、ＮＰＶスイッチによりアクセスされるスイッチドファブリックである。図２は、本発明の本実施形態による方法のフローチャートである。方法は、以下を含む。
【００５１】
２０２：ノードポート仮想化スイッチは、第１の登録状態変更通知（英文：Registered  State  Change  Notification；ＲＳＣＮ）を、少なくとも２つのＮポートのうちの１つのＮポートにより受信する。ここで、第１の登録状態変化通知は、第１のＮポート識別子（Ｎ＿ｐｏｒｔ  ＩＤ）を伝達する。
【００５２】
通常、各Ｎポートは、ＮＰＶスイッチの１つの物理ポートに対応している。ＮＰＶスイッチの物理ポートは、光トランシーバ又は電気トランシーバにより実装されても良い。
【００５３】
ファイバチャネルプロトコル（英文：Fibre  Channel  protocol；ＦＣプロトコル）では、ＲＳＣＮは、ＦＣスイッチドファブリックの及び任意の主要なスイッチドファブリック変化の場合にノードへ送信される通知である。ＲＳＣＮをトリガする幾つかのイベントは、スイッチドファブリックへのノードのジョイン又はそれからのリーブ、スイッチドファブリックへのスイッチのジョイン又はそれからのリーブ、及びスイッチの名称の変更、である。
【００５４】
第１のＮ＿ｐｏｒｔ  ＩＤは、リモートノード（例えば、図１のリモートノード１０８）のＮポート（例えば、図１のＮポート１２８）のファイバチャネル識別子（英文：Fibre  Channel  identifier；ＦＣ  ＩＤ）である。リモートノードがＦＣ−ＳＷ（例えば、図１のＦＣスイッチ１０２及び１０４が配置されるＦＣ−ＳＷ）にジョインするプロセスにおいて、ＦＣ−ＳＷの中のＦＣスイッチ（例えば、図１のＦＣスイッチ１０４）は、ＦＣ識別子をリモートノードのＮポートに割り当てる。ここで、ＦＣ識別子は第１のＮ＿ｐｏｒｔ  ＩＤである。ＦＣ−ＳＷの中のＦＣスイッチは、ＦＣスイッチのＦポート（例えば、図１のＦポート１１６）を用いることにより、第１のＮ＿ｐｏｒｔ  ＩＤを伝達するＲＳＣＮを送信するようトリガされる。本発明の本実施形態では、第１のＮ＿ｐｏｒｔ  ＩＤを伝達するＲＳＣＮは、第１のＲＳＣＮと表される。リモートノードのジョインに気付いた後に、ＦＣ−ＳＷの中の別のＦＣスイッチ（例えば、図１のＦＣスイッチ１０２）は、別のＦＣスイッチのＦポート（例えば、図１のＦポート１１４）を用いることにより、第１のＮ＿ｐｏｒｔ  ＩＤを伝達する第１のＲＳＣＮを送信する。ＮＰＶスイッチは、少なくとも２つのＮポートのうちの１つのＮポートを用いることにより、第１のＲＳＣＮを受信する。以下は、ＮＰＶスイッチがＮポート１２６を用いて第１のＲＳＣＮを受信する一例を用いることにより、本発明の本実施形態を具体的に記載する。
【００５５】
ステップ２０２の前に、ＮＰＶスイッチに接続されたノードは、ＮＰＶスイッチによりＶＮ＿ｐｏｒｔとして仮想化される。プロセスは以下の通りである。
【００５６】
先ず、ＮＰＶスイッチは、ＮＰＶスイッチのＦポート（例えば、図１のＦポート１２０）を用いることにより、第１のファブリックログイン（英文：fabriclogin；ＦＬＯＧＩ）要求を受信する。ここで、第１のＦＬＯＧＩ要求は、第１のＷＷＰＮを有する。或いは、ＮＰＶスイッチは、ＮＰＶスイッチのＦポート（例えば、図１のＦポート１２０）を用いることにより、第１のファブリック発見（英文：fabric  discovery；ＦＤＩＳＣ）要求を受信する。ここで、第１のＦＤＩＳＣ要求は、第１のＷＷＰＮを有する。
【００５７】
第１のＷＷＰＮは、Ｎ＿ｐｏｒｔ（例えば、図１のＮポート１３０）の、又はノード（例えば、図１のノード１１０）の及びＮＰＶスイッチに接続されるＶＮ＿ｐｏｒｔの、ＷＷＰＮである。
【００５８】
次に、ＮＰＶスイッチは、ＦＣ−ＳＷに接続される少なくとも２つのＮポートのうちの１つのＮポート（例えば、図１のＮポート１２６）を用いることにより、第２のＦＤＩＳＣ要求を送信する。ここで、第２のＦＤＩＳＣ要求は、第１のＷＷＰＮを有する。
【００５９】
ＮＰＶスイッチは、負荷分散ルール、ネットワークトポロジ、リンク状態、サービス品質（英文：quality  of  service；ＱＯＳ）ポリシ、又はそれらの任意の組合せに従って、第２のＦＤＩＳＣ要求を送信するために少なくとも２つのＮポートから１つのＮポートを選択しても良い。選択されたＮポートは、ノードが登録されるＮポートと呼ばれても良い。
【００６０】
選択されたＮポートに接続されたＦＣスイッチ（例えば、図１のＦＣスイッチ１０４）が第２のＦＤＩＳＣ要求を受信した後に、ＦＣスイッチは、対応するＮ＿ｐｏｒｔ  ＩＤ、つまり第３のＮ＿ｐｏｒｔ  ＩＤを、第２のＦＤＩＳＣ要求に含まれる第１のＷＷＰＮに割り当てる。ＦＣスイッチは、第３のＮ＿ｐｏｒｔ  ＩＤを含む第２のＦＤＩＳＣ応答をＮＰＶスイッチに返す。
【００６１】
最後に、ＮＰＶスイッチは、第２のＦＤＩＳＣ要求を送信するＮポートを用いることにより、第２のＦＤＩＳＣ応答を受信する。ここで、第２のＦＤＩＳＣ応答は、第１のＷＷＰＮに対応する第３のＮ＿ｐｏｒｔ  ＩＤを有する。ＮＰＶスイッチは、第３のＮ＿ｐｏｒｔ  ＩＤと、第２のＦＤＩＳＣ応答を受信するＮ＿ｐｏｒｔとの間の対応を記録する。
【００６２】
ＮＰＶスイッチは、第１のＦＬＯＧＩ応答をノードに返す。或いは、ＮＰＶスイッチは、第１のＦＤＩＳＣ応答をノードに返す。ＮＰＶスイッチが第１のＦＬＯＧＩ要求を受信する状況では、ＮＰＶスイッチは、第１のＦＬＯＧＩ応答をノードに返す。ＮＰＶスイッチが第１のＦＤＩＳＣ要求を受信する状況では、ＮＰＶスイッチは、第１のＦＤＩＳＣ応答をノードに返す。
【００６３】
任意で、ＮＰＶスイッチは、第３のＮ＿ｐｏｒｔ  ＩＤを有する第１のＦＬＯＧＩ応答、又は第３のＮ＿ｐｏｒｔ  ＩＤを有する第１のＦＤＩＳＣ応答を、ノードに返す。
【００６４】
任意で、ＮＰＶスイッチは、第４のＮ＿ｐｏｒｔ  ＩＤを第１のＷＷＰＮに割り当て、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応を確立し、第４のＮ＿ｐｏｒｔ  ＩＤを含む第１のＦＬＯＧＩ応答又は第４のＮ＿ｐｏｒｔ  ＩＤを含む第１のＦＤＩＳＣ応答を、ノードに返す。ソリューションは、共通のトランスペアレントルータ（英文：Transparent  Router）ソリューションである。ソリューションが使用される状況では、第４のＮ＿ｐｏｒｔ  ＩＤを第１のＷＷＰＮに割り当てるステップ、及び第４のＮ＿ｐｏｒｔ  ＩＤの第１のＦＬＯＧＩ応答又は第１のＦＤＩＳＣ応答を返すステップ、並びに第２のＦＤＩＳＣ要求を送信するステップは、同時に実行されても良い。第３のＮ＿ｐｏｒｔ  ＩＤが取得された後、ＮＰＶスイッチは、第３のＮ＿ｐｏｒｔ  ＩＤと、第２のＦＤＩＳＣ応答を受信するＮ＿ｐｏｒｔとの間の対応を記録する。さらに、ＮＰＶスイッチは、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応を記録する。
【００６５】
２０４：ノードポート仮想化スイッチは、ファイバチャネルスイッチドファブリックに接続された少なくとも２つのＮポートに、第１のＮポート識別子に対応する少なくとも２つの第２のＮポート識別子を割り当てる。ここで、同じ第１のＮポート識別子に対応する少なくとも２つの第２のＮポート識別子は異なり、同じ第１のＮポート識別子に対応する少なくとも２つの第２のＮポート識別子と、ファイバチャネルスイッチドファブリックに接続された少なくとも２つのＮポートとの間に、一対一対応（英文：bijection）の関係がある。
【００６６】
どのＮ＿ｐｏｒｔが同じＦＣ−ＳＷに接続されるかに関する情報は、ＮＰＶスイッチにおいて予め設定される。代替で、ＮＰＶスイッチは、自動発見方法で、どのＮ＿ｐｏｒｔが、第１のＲＳＣＮを受信するＮ＿ｐｏｒｔとして同じＦＣ−ＳＷに接続されるかを決定しても良い。
【００６７】
ＮＰＶスイッチは、１つのＮ＿ｐｏｒｔ  ＩＤを、ＦＣ−ＳＷに接続された少なくとも２つのＮ＿ｐｏｒｔの各々に割り当てる。Ｎ＿ｐｏｒｔ  ＩＤは、ＮＰＶスイッチのＮ＿ｐｏｒｔのＮ＿ｐｏｒｔ  ＩＤではなく、リモートノードのＮポートの及びＮＰＶスイッチのＮ＿ｐｏｒｔの仮想Ｎ＿ｐｏｒｔ  ＩＤである。これらのＮ＿ｐｏｒｔ  ＩＤの値は異なるが、それらは、本発明の本実施形態では纏めて第２のＮ＿ｐｏｒｔ  ＩＤとして表される。通常、任意の第２のＮ＿ｐｏｒｔ  ＩＤは、第１のＮ＿ｐｏｒｔ  ＩＤと異なる。しかしながら、１つの第２のＮ＿ｐｏｒｔ  ＩＤが第１のＮ＿ｐｏｒｔ  ＩＤと同じ可能性が排除されない。
【００６８】
１つの第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、ＦＣ−ＳＷに接続された少なくとも２つのＮ＿ｐｏｒｔとの間には一対一対応の関係がある。つまり、１つの第１のＮ＿ｐｏｒｔ  ＩＤと少なくとも２つのＮ＿ｐｏｒｔのうちの１つのＮ＿ｐｏｒｔが決定される状況では、第１のＮ＿ｐｏｒｔ  ＩＤ及びＮ＿ｐｏｒｔに対応する１つの及び唯一の第２のＮ＿ｐｏｒｔ  ＩＤが見付けられる。また、１つの第２のＮ＿ｐｏｒｔ  ＩＤが決定される状況では、第２のＮ＿ｐｏｒｔ  ＩＤに対応する１つの及び唯一のＮ＿ｐｏｒｔが見付けられる。ＮＰＶスイッチは、第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、ＦＣ−ＳＷに接続された少なくとも２つのＮ＿ｐｏｒｔとの間の対応を記録する。
【００６９】
ＮＰＶスイッチは、同じ第１のＮ＿ｐｏｒｔ  ＩＤを伝達しＮＰＶスイッチにより受信される第１のＲＳＣＮによってのみ、第２のＮ＿ｐｏｒｔ  ＩＤの割り当てを実行するようトリガされる。通常、ＮＰＶスイッチは、同じ第１のＮ＿ｐｏｒｔ  ＩＤを伝達する複数の第１のＲＳＣＮのトリガに基づいて、ＮＰＶスイッチにより割り当てられた第２のＮ＿ｐｏｒｔ  ＩＤと、ＦＣ−ＳＷに接続された少なくとも２つのＮ＿ｐｏｒｔとの間の対応を変更しない。
【００７０】
２０６：ノードポート仮想化スイッチは、ノードポート仮想化スイッチのＦポートを用いることにより、第２の登録状態変更通知を送信する。ここで、第２の登録状態変更通知は、少なくとも２つの第２のＮポート識別子のうちの１つを伝達する。
【００７１】
ＮＰＶスイッチは、第２のＲＳＣＮを用いることにより、リモートノードのＮ＿ｐｏｒｔ  ＩＤを、ＮＰＶスイッチに接続されるノード（例えば、図１のノード１１０）に送信する。ＮＰＶスイッチの異なるＮポートに登録されたノードがリモートノードと同時に通信できるように、ＮＰＶスイッチは、リモートノードを複数の異なるリモートノード、つまりＮ＿ｐｏｒｔ  ＩＤが異なる第２のＮ＿ｐｏｒｔ  ＩＤであるリモートノードとして仮想化する。ＮＰＶスイッチのＮ＿ｐｏｒｔでは、ＮＰＶスイッチは、第２のＲＳＣＮを用いることにより、及びＮＰＶスイッチにより記録される、第３のＮ＿ｐｏｒｔ  ＩＤとＮＰＶスイッチのＮ＿ｐｏｒｔとの間の対応に従って、第２のＮ＿ｐｏｒｔ  ＩＤを、Ｎ＿ｐｏｒｔに対応する第３のＮ＿ｐｏｒｔ  ＩＤに対応する全てのノードに割り当て、つまり、第２のＲＳＣＮを用いることにより、第２のＮ＿ｐｏｒｔ  ＩＤをＮ＿ｐｏｒｔに登録された全てのノードに送信する。例えば、第２のＲＳＣＮの宛先ＦＣ  ＩＤは、第３のＮ＿ｐｏｒｔ  ＩＤであり、第２のＲＳＣＮは、第２のＮ＿ｐｏｒｔ  ＩＤを伝達する。別の例では、トランスペアレントルータソリューションでは、第２のＲＳＣＮの宛先ＦＣ  ＩＤは、第３のＮ＿ｐｏｒｔ  ＩＤに対応する第４のＮ＿ｐｏｒｔ  ＩＤであり、第２のＲＳＣＮは第２のＮ＿ｐｏｒｔ  ＩＤを伝達する。通常、ＮＰＶスイッチにより送信される第２のＲＳＣＮの量は、Ｎ＿ｐｏｒｔについて登録されたノードの量と等しい。ＮＰＶスイッチは、ＦＣ−ＳＷに接続された少なくとも２つのＮポートのうちの各Ｎポートへ向けて、Ｎ＿ｐｏｒｔに対して登録された全てのノードへ第２のＲＳＣＮを積極的に送信しても良い。第２のＲＳＣＮの中で伝達される第２のＮ＿ｐｏｒｔ  ＩＤは、Ｎ＿ｐｏｒｔに対応する異なる第２のＮ＿ｐｏｒｔ  ＩＤである。ここで、第２のＲＳＣＮは、異なるＮポートのノードに送信される。代替で、ＮＰＶスイッチは、第１のＲＳＣＮを受信するＮポートへ向けて、Ｎ＿ｐｏｒｔに対して登録された全てのノードへ第２のＲＳＣＮを送信しても良い。つまり、第１のＲＳＣＮのトリガに基づいて、第２のＲＳＣＮを送信する。
【００７２】
第２のＮ＿ｐｏｒｔ  ＩＤが、リモートノードに、ＮＰＶスイッチの全てのＮ＿ｐｏｒｔについて割り当てられるので、これらのＮ＿ｐｏｒｔのうちのどのＮ＿ｐｏｒｔにＮＰＶスイッチに接続されたノードが登録されるかに係わらず、ノードは、リモートノードの及びＮ＿ｐｏｒｔに対応する第２のＮ＿ｐｏｒｔ  ＩＤを得ることができる。したがって、ＮＰＶスイッチに接続された任意のノードは、任意のリモートノードと通信でき、それにより通信効率が向上する。通信プロセスは、以下の通り記載される。
【００７３】
リモートノードと通信しているとき、ＮＰＶスイッチに接続されたノードは、ＦＣパケットをリモートノードへ送信する。ＮＰＶスイッチは、ＮＰＶスイッチのＦポートを用いることによりＦＣパケットを受信する。ここで、ＦＣパケットの宛先ＦＣ  ＩＤは第２のＮ＿ｐｏｒｔ  ＩＤである。ＮＰＶスイッチは、ＦＣパケットの宛先ＦＣ  ＩＤを、第２のＮ＿ｐｏｒｔ  ＩＤに対応する第１のＮ＿ｐｏｒｔ  ＩＤと置換する。１つの第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、ＦＣ−ＳＷに接続された少なくとも２つのＮ＿ｐｏｒｔとの間には一対一対応の関係があるので、ＮＰＶスイッチは、置換されたＦＣパケットを送信するために、第２のＮ＿ｐｏｒｔ  ＩＤに従って、第２のＮ＿ｐｏｒｔ  ＩＤに対応するユニークなＮ＿ｐｏｒｔを見付けることができる。トランスペアレントルータソリューションでは、ＦＣパケットの送信元ＦＣ  ＩＤは、第４のＮ＿ｐｏｒｔ  ＩＤである。トランスペアレントルータソリューションでは、さらに、ＮＰＶスイッチは、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応に従って、ＦＣパケットの送信元ＦＣ  ＩＤを第３のＮ＿ｐｏｒｔ  ＩＤで置換する。ＮＰＶスイッチは、第２のＮ＿ｐｏｒｔ  ＩＤに対応するＮ＿ｐｏｒｔを用いることにより、置換されたＦＣパケットを送信する。
【００７４】
ＮＰＶスイッチに接続されたノードと通信しているとき、リモートノードは、ＦＣパケットをＮＰＶスイッチに接続されたノードへ送信する。ＮＰＶスイッチは、ＦＣ−ＳＷに接続された少なくとも２つのＮポートのうちの１つのＮポートを用いることにより、ＦＣパケットを受信する。ここで、ＦＣパケットの送信元ＦＣ  ＩＤは第１のＮ＿ｐｏｒｔ  ＩＤである。ＮＰＶスイッチは、ＦＣパケットの送信元ＦＣ  ＩＤを、第１のＮ＿ｐｏｒｔ  ＩＤに対応する少なくとも２つの第２のＮ＿ｐｏｒｔ  ＩＤのうちの１つであり及びＦＣパケットを受信するＮポートに対応する第２のＮ＿ｐｏｒｔ  ＩＤで置換する。１つの第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、ＦＣ−ＳＷに接続された少なくとも２つのＮ＿ｐｏｒｔとの間には一対一対応の関係があるので、ＮＰＶスイッチは、第１のＮ＿ｐｏｒｔ  ＩＤ及びＦＣパケットを受信するＮポートに従って、第１のＮ＿ｐｏｒｔ  ＩＤに対応するユニークなダイ２のＮ＿ｐｏｒｔ  ＩＤを見付けることができる。ＦＣパケットの宛先ＦＣ  ＩＤは第３のＮ＿ｐｏｒｔ  ＩＤである。トランスペアレントルータソリューションでは、さらに、ＮＰＶスイッチは、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応に従って、ＦＣパケットの宛先ＦＣ  ＩＤを第４のＮ＿ｐｏｒｔ  ＩＤで置換する。ＮＰＶスイッチは、置換したＦＣパケットを送信する。具体的には、ＮＰＶスイッチは、Ｆ＿ｐｏｒｔを用いることにより、置換したＦＣパケットを送信する。
【００７５】
図１及び図３を参照すると、本発明の一実施形態は、ファイバチャネルにおいてノードポート仮想化を実施する方法を提供する。ここで、ノードポート仮想化を実施する装置は、ノードポート仮想化スイッチにより実装され、ノードポート仮想化スイッチは、少なくとも２つのＮポートを用いることによりファイバチャネルスイッチドファブリックに接続される。ＦＣ−ＳＷは、ＮＰＶスイッチによりアクセスされるスイッチドファブリックである。図３は、本発明の本実施形態によるファイバチャネル上のノードポート仮想化を実施する装置の構造図である。装置は、受信モジュール３０２と、割り当てモジュール３０４と、送信モジュール３０６と、を有する。
【００７６】
受信モジュール３０２は、少なくとも２つのＮポートのうちの１つのＮポートを用いることにより、第１の登録状態変更通知を受信するよう構成される。ここで、第１の登録状態変更通知は、第１のＮポート識別子を伝達する。
【００７７】
通常、各Ｎポートは、ＮＰＶスイッチの１つの物理ポートに対応している。
【００７８】
ＦＣプロトコルでは、ＲＳＣＮはＦＣスイッチドファブリックの通知であり、ＲＳＣＮは任意の主要な変化がイッチドファブリックで生じる状況でノードへ送信される通知である。ＲＳＣＮをトリガする幾つかのイベントは、スイッチドファブリックへのノードのジョイン又はそれからのリーブ、スイッチドファブリックへのスイッチのジョイン又はそれからのリーブ、及びスイッチの名称の変更、である。
【００７９】
第１のＮ＿ｐｏｒｔ  ＩＤは、リモートノード（例えば、図１のリモートノード１０８）のＮポート（例えば、図１のＮポート１２８）のＦＣ  ＩＤである。リモートノードがＦＣ−ＳＷ（例えば、図１のＦＣスイッチ１０２及び１０４が配置されるＦＣ−ＳＷ）にジョインするプロセスにおいて、ＦＣ−ＳＷの中のＦＣスイッチ（例えば、図１のＦＣスイッチ１０４）は、ＦＣ識別子をリモートノードのＮポートに割り当てる。ここで、ＦＣ識別子は第１のＮ＿ｐｏｒｔ  ＩＤである。ＦＣ−ＳＷの中のＦＣスイッチは、ＦＣスイッチのＦポート（例えば、図１のＦポート１１６）を用いることにより、第１のＮ＿ｐｏｒｔ  ＩＤを伝達するＲＳＣＮを送信するようトリガされる。本発明の本実施形態では、第１のＮ＿ｐｏｒｔ  ＩＤを伝達するＲＳＣＮは、第１のＲＳＣＮと表される。リモートノードのジョインに気付いた後に、ＦＣ−ＳＷの中の別のＦＣスイッチ（例えば、図１のＦＣスイッチ１０２）は、別のＦＣスイッチのＦポート（例えば、図１のＦポート１１４）を用いることにより、第１のＮ＿ｐｏｒｔ  ＩＤを伝達する第１のＲＳＣＮを送信する。ノードポート仮想化のための装置の受信モジュールは、少なくとも２つのＮポートのうちの１つのＮポートを用いることにより、第１のＲＳＣＮを受信する。ここで、装置は、ＮＰＶスイッチにより実装される。以下は、ＮＰＶスイッチがＮポート１２６を用いて第１のＲＳＣＮを受信する一例を用いることにより、本発明の本実施形態を具体的に記載する。
【００８０】
ノードポート仮想化のための装置は、第１の仮想モジュール、第２の仮想モジュール、又はそれらの組み合わせを更に有する。ここで、装置は、ＮＰＶスイッチにより実装される。受信モジュールが第１のＲＳＣＮを受信する前に、ＮＰＶスイッチに接続されたノードはＮＰＶスイッチによりＶＮ＿ｐｏｒｔとして仮想化され、処理は、第１の仮想モジュール、第２の仮想モジュール、又はそれらの組み合わせにより実行される。
【００８１】
第１の仮想モジュールは、ＮＰＶスイッチのＦポート（例えば、図１のＦポート１２０）を用いることにより、第１のＷＷＰＮを有する第１のＦＬＯＧＩ要求を受信し、ＦＣ−ＳＷに接続された少なくとも２つのＮポートのうちの１つのＮポート（例えば、図１のＮポート１２６）を用いることにより、第１のＷＷＰＮを有する第２のＦＤＩＳＣ要求を送信し、第２のＦＤＩＳＣ要求を送信するＮポートを用いることにより、第１のＷＷＰＮに対応する第３のＮ＿ｐｏｒｔ  ＩＤを有する第２のＦＤＩＳＣ応答を受信するよう構成される。
【００８２】
第２の仮想モジュールは、ＮＰＶスイッチのＦポート（例えば、図１のＦポート１２０）を用いることにより、第１のＷＷＰＮを有する第１のＦＤＩＳＣ要求を受信し、ＦＣ−ＳＷに接続された少なくとも２つのＮポートのうちの１つのＮポート（例えば、図１のＮポート１２６）を用いることにより、第１のＷＷＰＮを有する第２のＦＤＩＳＣ要求を送信し、第２のＦＤＩＳＣ要求を送信するＮポートを用いることにより、第１のＷＷＰＮに対応する第３のＮ＿ｐｏｒｔ  ＩＤを有する第２のＦＤＩＳＣ応答を受信するよう構成される。
【００８３】
ノ―ドポート仮想化のための装置は、第３のＮ＿ｐｏｒｔ  ＩＤと、第２のＦＤＩＳＣ応答を受信するＮ＿ｐｏｒｔとの間の対応を記録する。
【００８４】
第１のＷＷＰＮは、Ｎ＿ｐｏｒｔ（例えば、図１のＮポート１３０）の、又はノード（例えば、図１のノード１１０）の及びＮＰＶスイッチに接続されるＶＮ＿ｐｏｒｔの、ＷＷＰＮである。
【００８５】
第１の仮想モジュール、第２の仮想モジュール、又はそれらの組み合わせは、第２のＦＤＩＳＣ要求を送信するために、負荷分散ルール、ネットワークトポロジ、リンク状態、ＱＯＳポリシ、又はそれらの任意の組み合わせに従って、少なくとも２つのＮポートから１つのＮポートを選択しても良い。選択されたＮポートは、ノードが登録されるＮポートと呼ばれても良い。
【００８６】
選択されたＮポートに接続されたＦＣスイッチ（例えば、図１のＦＣスイッチ１０４）が第２のＦＤＩＳＣ要求を受信した後に、ＦＣスイッチは、対応するＮ＿ｐｏｒｔ  ＩＤ、つまり第３のＮ＿ｐｏｒｔ  ＩＤを、第２のＦＤＩＳＣ要求に含まれる第１のＷＷＰＮに割り当てる。ＦＣスイッチは、第３のＮ＿ｐｏｒｔ  ＩＤを含む第２のＦＤＩＳＣ応答をＮＰＶスイッチに返す。
【００８７】
第１の仮想モジュールは、第１のＦＬＯＧＩ応答をノードに返すよう更に構成される。第２の仮想モジュールは、第１のＦＤＩＳＣ応答をノードに返すよう更に構成される。
【００８８】
任意で、第１の仮想モジュールは、第３のＮ＿ｐｏｒｔ  ＩＤを有する第１のＦＬＯＧＩ応答を、ノードに返す。任意で、第２の仮想モジュールは、第３のＮ＿ｐｏｒｔ  ＩＤを有する第１のＦＤＩＳＣ応答を、ノードに返す。
【００８９】
任意で、第１の仮想モジュールは、第４のＮ＿ｐｏｒｔ  ＩＤを第１のＷＷＰＮに割り当て、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応を確立し、第４のＮ＿ｐｏｒｔ  ＩＤを含む第１のＦＬＯＧＩ応答をノードに返す。任意で、第２の仮想モジュールは、第４のＮ＿ｐｏｒｔ  ＩＤを第１のＷＷＰＮに割り当て、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応を確立し、第４のＮ＿ｐｏｒｔ  ＩＤを含む第１のＦＤＩＳＣ応答をノードに返す。ソリューションは、共通トランスペアレントルータソリューションである。ソリューションが使用される状況では、第１の仮想モジュール及び第２の仮想モジュールは、第４のＮ＿ｐｏｒｔ  ＩＤを第１のＷＷＰＮに割り当てるステップ、及び第４のＮ＿ｐｏｒｔ  ＩＤの第１のＦＬＯＧＩ応答又は第１のＦＤＩＳＣ応答を返すステップ、並びに第２のＦＤＩＳＣ要求を送信するステップを、同時に実行しても良い。第３のＮ＿ｐｏｒｔ  ＩＤが取得された後、ノードポート仮想化のための装置は、第３のＮ＿ｐｏｒｔ  ＩＤと、第２のＦＤＩＳＣ応答を受信するＮ＿ｐｏｒｔとの間の対応を記録する。さらに、ノードポート仮想化のための装置は、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応を記録する。
【００９０】
割り当てモジュール３０４は、ファイバチャネルスイッチドファブリックに接続された少なくとも２つのＮポートに、第１のＮポート識別子に対応する少なくとも２つの第２のＮポート識別子を割り当てる。ここで、同じ第１のＮポート識別子に対応する少なくとも２つの第２のＮポート識別子は異なり、同じ第１のＮポート識別子に対応する少なくとも２つの第２のＮポート識別子と、ファイバチャネルスイッチドファブリックに接続された少なくとも２つのＮポートとの間に、一対一対応の関係がある。
【００９１】
割り当てモジュール３０４は、どのＮ＿ｐｏｒｔが同じＦＣ−ＳＷに接続されるか及びＮＰＶスイッチにあるかに関する予め設定された情報を取得しても良い。代替で、割り当てモジュール３０４は、自動発見方法で、どのＮ＿ｐｏｒｔが、第１のＲＳＣＮを受信するＮ＿ｐｏｒｔとして同じＦＣ−ＳＷに接続されるかを決定しても良い。
【００９２】
割り当てモジュール３０４は、１つのＮ＿ｐｏｒｔ  ＩＤを、ＦＣ−ＳＷに接続された少なくとも２つのＮ＿ｐｏｒｔの各々に割り当てる。Ｎ＿ｐｏｒｔ  ＩＤは、ＮＰＶスイッチのＮ＿ｐｏｒｔのＮ＿ｐｏｒｔ  ＩＤではなく、リモートノードのＮポートの及びＮＰＶスイッチのＮ＿ｐｏｒｔの仮想Ｎ＿ｐｏｒｔ  ＩＤである。これらのＮ＿ｐｏｒｔ  ＩＤの値は異なるが、それらは、本発明の本実施形態では纏めて第２のＮ＿ｐｏｒｔ  ＩＤとして表される。通常、任意の第２のＮ＿ｐｏｒｔ  ＩＤは、第１のＮ＿ｐｏｒｔ  ＩＤと異なる。しかしながら、１つの第２のＮ＿ｐｏｒｔ  ＩＤが第１のＮ＿ｐｏｒｔ  ＩＤと同じ可能性が排除されない。
【００９３】
１つの第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、ＦＣ−ＳＷに接続された少なくとも２つのＮ＿ｐｏｒｔとの間には一対一対応の関係がある。つまり、１つの第１のＮ＿ｐｏｒｔ  ＩＤと少なくとも２つのＮ＿ｐｏｒｔのうちの１つのＮ＿ｐｏｒｔが決定される状況では、第１のＮ＿ｐｏｒｔ  ＩＤ及びＮ＿ｐｏｒｔに対応する１つの及び唯一の第２のＮ＿ｐｏｒｔ  ＩＤが見付けられる。また、１つの第２のＮ＿ｐｏｒｔ  ＩＤが決定される状況では、第２のＮ＿ｐｏｒｔ  ＩＤに対応する１つの及び唯一のＮ＿ｐｏｒｔが見付けられる。ＮＰＶスイッチは、第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、ＦＣ−ＳＷに接続された少なくとも２つのＮ＿ｐｏｒｔとの間の対応を記録する。
【００９４】
割り当てモジュール３０４は、同じ第１のＮ＿ｐｏｒｔ  ＩＤを伝達し及び割り当てモジュール３０４により受信される第１のＲＳＣＮによってのみ、第２のＮ＿ｐｏｒｔ  ＩＤの割り当てを実行するようトリガされる。通常、割り当てモジュール３０４は、同じ第１のＮ＿ｐｏｒｔ  ＩＤを伝達する複数の第１のＲＳＣＮのトリガに基づいて、割り当てモジュール３０４により割り当てられた第２のＮ＿ｐｏｒｔ  ＩＤと、ＦＣ−ＳＷに接続された少なくとも２つのＮ＿ｐｏｒｔとの間の対応を変更しない。
【００９５】
送信モジュール３０６は、ノードポート仮想化スイッチのＦポートを用いることにより、第２の登録状態変更通知を送信する。ここで、第２の登録状態変更通知は、少なくとも２つの第２のＮポート識別子のうちの１つを伝達する。
【００９６】
送信モジュール３０６は、第２のＲＳＣＮを用いることにより、リモートノードのＮ＿ｐｏｒｔ  ＩＤを、ＮＰＶスイッチに接続されるノード（例えば、図１のノード１１０）に送信する。ＮＰＶスイッチの異なるＮポートに登録されたノードがリモートノードと同時に通信できるように、ノードポート仮想化を実施する装置は、リモートノードを複数の異なるリモートノード、つまりＮ＿ｐｏｒｔ  ＩＤが異なる第２のＮ＿ｐｏｒｔ  ＩＤであるリモートノードとして仮想化する。ＮＰＶスイッチのＮ＿ｐｏｒｔでは、ノードポート仮想化を実施する装置は、第２のＲＳＣＮを用いることにより、及びＮＰＶスイッチにより記録される、第３のＮ＿ｐｏｒｔ  ＩＤとＮＰＶスイッチのＮ＿ｐｏｒｔとの間の対応に従って、第２のＮ＿ｐｏｒｔ  ＩＤを、Ｎ＿ｐｏｒｔに対応する第３のＮ＿ｐｏｒｔ  ＩＤに対応する全てのノードに割り当て、つまり、第２のＲＳＣＮを用いることにより、第２のＮ＿ｐｏｒｔ  ＩＤをＮ＿ｐｏｒｔに登録された全てのノードに送信する。例えば、第２のＲＳＣＮの宛先ＦＣ  ＩＤは、第３のＮ＿ｐｏｒｔ  ＩＤであり、第２のＲＳＣＮは、第２のＮ＿ｐｏｒｔ  ＩＤを伝達する。別の例では、トランスペアレントルータソリューションでは、第２のＲＳＣＮの宛先ＦＣ  ＩＤは、第３のＮ＿ｐｏｒｔ  ＩＤに対応する第４のＮ＿ｐｏｒｔ  ＩＤであり、第２のＲＳＣＮは第２のＮ＿ｐｏｒｔ  ＩＤを伝達する。通常、送信モジュール３０６により送信される第２のＲＳＣＮの量は、Ｎ＿ｐｏｒｔについて登録されたノードの量と等しい。送信モジュール３０６は、ＦＣ−ＳＷに接続された少なくとも２つのＮポートのうちの各Ｎポートについて、Ｎ＿ｐｏｒｔに対して登録された全てのノードへ第２のＲＳＣＮを積極的に送信しても良い。第２のＲＳＣＮの中で伝達される第２のＮ＿ｐｏｒｔ  ＩＤは、Ｎ＿ｐｏｒｔに対応する異なる第２のＮ＿ｐｏｒｔ  ＩＤである。ここで、第２のＲＳＣＮは、異なるＮポートのノードに送信される。代替で、送信モジュール３０６は、第１のＲＳＣＮを受信するＮポートへ向けて、Ｎ＿ｐｏｒｔに対して登録された全てのノードへ第２のＲＳＣＮを送信しても良い。つまり、第１のＲＳＣＮのトリガに基づいて、第２のＲＳＣＮを送信する。
【００９７】
第２のＮ＿ｐｏｒｔ  ＩＤが、リモートノードに、ＮＰＶスイッチの全てのＮ＿ｐｏｒｔについて割り当てられるので、これらのＮ＿ｐｏｒｔのうちのどのＮ＿ｐｏｒｔにＮＰＶスイッチに接続されたノードが登録されるかに係わらず、ノードは、リモートノードの及びＮ＿ｐｏｒｔに対応する第２のＮ＿ｐｏｒｔ  ＩＤを得ることができる。したがって、ＮＰＶスイッチに接続された任意のノードは、任意のリモートノードと通信でき、それにより通信効率が向上する。通信プロセスは、以下の通り記載される。
【００９８】
リモートノードと通信しているとき、ＮＰＶスイッチに接続されたノードは、ＦＣパケットをリモートノードへ送信する。受信モジュール３０２は、ＮＰＶスイッチのＦポートを用いることによりＦＣパケットを受信するよう更に構成される。ここで、ＦＣパケットの宛先ＦＣ  ＩＤは第２のＮ＿ｐｏｒｔ  ＩＤである。送信モジュール３０６は、ＦＣパケットの宛先ＦＣ  ＩＤを、第２のＮ＿ｐｏｒｔ  ＩＤに対応する第１のＮ＿ｐｏｒｔ  ＩＤで置換するよう更に構成される。１つの第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、ＦＣ−ＳＷに接続された少なくとも２つのＮ＿ｐｏｒｔとの間には一対一対応の関係があるので、送信モジュール３０６は、置換したＦＣパケットを送信するために、第２のＮ＿ｐｏｒｔ  ＩＤに従って、第２のＮ＿ｐｏｒｔ  ＩＤに対応するユニークなＮ＿ｐｏｒｔを見付けることができる。トランスペアレントルータソリューションでは、ＦＣパケットの送信元ＦＣ  ＩＤは、第４のＮ＿ｐｏｒｔ  ＩＤである。トランスペアレントルータソリューションでは、さらに、送信モジュール３０６は、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応に従って、ＦＣパケットの送信元ＦＣ  ＩＤを第３のＮ＿ｐｏｒｔ  ＩＤで置換する。送信モジュール３０６は、第２のＮ＿ｐｏｒｔ  ＩＤに対応するＮ＿ｐｏｒｔを用いることにより、置換したＦＣパケットを送信するよう更に構成される。
【００９９】
ＮＰＶスイッチに接続されたノードと通信しているとき、リモートノードは、ＦＣパケットをＮＰＶスイッチに接続されたノードへ送信する。受信モジュール３０２は、ＦＣ−ＳＷに接続された少なくとも２つのＮポートのうちの１つのＮポートを用いることにより、ＦＣパケットを受信する。ここで、ＦＣパケットの送信元ＦＣ  ＩＤは第１のＮ＿ｐｏｒｔ  ＩＤである。送信モジュール３０６は、ＦＣパケットの送信元ＦＣ  ＩＤを、第１のＮ＿ｐｏｒｔ  ＩＤに対応する少なくとも２つの第２のＮ＿ｐｏｒｔ  ＩＤのうちの１つであり及びＦＣパケットを受信するＮポートに対応する第２のＮ＿ｐｏｒｔ  ＩＤで置換するよう更に構成される。１つの第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、ＦＣ−ＳＷに接続された少なくとも２つのＮ＿ｐｏｒｔとの間には一対一対応の関係があるので、送信モジュール３０６は、第１のＮ＿ｐｏｒｔ  ＩＤ及びＦＣパケットを受信するＮポートに従って、第１のＮ＿ｐｏｒｔ  ＩＤに対応するユニークなダイ２のＮ＿ｐｏｒｔ  ＩＤを見付けることができる。ＦＣパケットの宛先ＦＣ  ＩＤは第３のＮ＿ｐｏｒｔ  ＩＤである。トランスペアレントルータソリューションでは、さらに、送信モジュール３０６は、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応に従って、ＦＣパケットの宛先ＦＣ  ＩＤを第４のＮ＿ｐｏｒｔ  ＩＤで置換するよう更に構成される。送信モジュール３０６は、置換したＦＣパケットを送信するよう更に構成される。具体的には、ＮＰＶスイッチは、Ｆ＿ｐｏｒｔを用いることにより、置換したＦＣパケットを送信する。
【０１００】
図１及び図４を参照すると、本発明の一実施形態は、ノードポート仮想化スイッチを提供する。ノードポート仮想化スイッチは、ＮＰＶモードで動作するファイバチャネルスイッチを表し、以下では略してＮＰＶスイッチと表す。図４は、本発明の本実施形態によるＮＰＶスイッチの構造図である。ＮＰＶスイッチは、少なくとも２つのＮポート４０２、Ｆポート４０４，プロセッサ４０６、及びメモリ４０８を有する。少なくとも２つのＮポート４０２は、ＦＣ−ＳＷに接続される。ＦＣ−ＳＷは、ＮＰＶスイッチによりアクセスされるスイッチドファブリックである。少なくとも２つのＮポート４０２は、光トランシーバ又は電気トランシーバにより物理的に実装されても良い。Ｆポート４０４は、光トランシーバ又は電気トランシーバにより物理的に実装されても良い。例えば、光トランシーバは、小さいフォームファクタのプラグ着脱可能な（英文：small  form−factor  pluggable；ＳＦＰ）トランシーバ（英文：transceiver）、拡張された小さいフォームファクタのプラグ着脱可能な（英文：enhanced  small  form−factor  pluggable；ＳＦＰ＋）トランシーバ、又は１０ギガビットの小さいフォームファクタのプラグ着脱可能な（英文：１０  Gigabit  small  form−factor  pluggable；ＸＦＰ）トランシーバであっても良い。プロセッサ４０６は、中央処理ユニット（英文：central  processing  unit；ＣＰＵ）であっても良い。メモリ４０８は、揮発性メモリ（英文：volatile  memory）、例えばランダムアクセスメモリ（英文：random−access  memory；ＲＡＭ）、又は不揮発性メモリ（英文：non−volatile  memory）、例えば読み出し専用メモリ（英文：read−only  memory；ＲＯＭ）、フラッシュメモリ（英文：flash  memory）、ハードディスク（英文：hard  disk  drive；ＨＤＤ）、又は固体ディスク（英文：solid−state  drive；ＳＳＤ）であっても良い。少なくとも２つのＮポート４０２、Ｆポート４０４、及びメモリ４０８は、全てプロセッサ４０６に接続される。図４の太線はバス（英文：bus）である。プロセッサ４０６は、メモリ４０８に格納されたプログラム命令に従って、図２に示した実施形態の中の幾つかの動作ステップを実行する。
【０１０１】
先ず、プロセッサ４０６は、少なくとも２つのＮポート４０２のうちの１つのＮポートを用いることにより、第１の登録状態変更通知を受信する。ここで、第１の登録状態変更通知は、第１のＮポート識別子を伝達する。
【０１０２】
ファイバチャネルプロトコルでは、ＲＳＣＮはＦＣスイッチドファブリックの通知であり、ＲＳＣＮは任意の主要な変化がイッチドファブリックで生じる状況でノードへ送信される通知である。ＲＳＣＮをトリガする幾つかのイベントは、スイッチドファブリックへのノードのジョイン又はそれからのリーブ、スイッチドファブリックへのスイッチのジョイン又はそれからのリーブ、及びスイッチの名称の変更、である。
【０１０３】
第１のＮ＿ｐｏｒｔ  ＩＤは、リモートノード（例えば、図１のリモートノード１０８）のＮポート（例えば、図１のＮポート１２８）のＦＣ  ＩＤである。リモートノードがＦＣ−ＳＷ（例えば、図１のＦＣスイッチ１０２及び１０４が配置されるＦＣ−ＳＷ）にジョインするプロセスにおいて、ＦＣ−ＳＷの中のＦＣスイッチ（例えば、図１のＦＣスイッチ１０４）は、ＦＣ識別子をリモートノードのＮポートに割り当てる。ここで、ＦＣ識別子は第１のＮ＿ｐｏｒｔ  ＩＤである。ＦＣ−ＳＷの中のＦＣスイッチは、ＦＣスイッチのＦポート４０４（例えば、図１のＦポート１１６）を用いることにより、第１のＮ＿ｐｏｒｔ  ＩＤを伝達するＲＳＣＮを送信するようトリガされる。本発明の本実施形態では、第１のＮ＿ｐｏｒｔ  ＩＤを伝達するＲＳＣＮは、第１のＲＳＣＮと表される。リモートノードのジョインに気付いた後に、ＦＣ−ＳＷの中の別のＦＣスイッチ（例えば、図１のＦＣスイッチ１０２）は、別のＦＣスイッチのＦポート４０４（例えば、図１のＦポート１１４）を用いることにより、第１のＮ＿ｐｏｒｔ  ＩＤを伝達する第１のＲＳＣＮを送信する。プロセッサ４０６は、少なくとも２つのＮポート４０２のうちの１つのＮポートを用いることにより、第１のＲＳＣＮを受信する。以下は、ＮＰＶスイッチがＮポート１２６を用いて第１のＲＳＣＮを受信する一例を用いることにより、本発明の本実施形態を具体的に記載する。
【０１０４】
第１のＲＳＣＮが受信される前に、ＮＰＶスイッチに接続されたノードは、ＮＰＶスイッチによりＶＮ＿ｐｏｒｔとして仮想化される。プロセスは以下の通りである。
【０１０５】
ステップ１：ＮＰＶスイッチのプロセッサ４０６は、ＮＰＶスイッチのＦポート４０４（例えば、図１のＦポート１２０）を用いることにより、第１のＦＬＯＧＩ要求を受信する。ここで、第１のＦＬＯＧＩ要求は、第１のＷＷＰＮを有する。或いは、ＮＰＶスイッチのプロセッサ４０６は、ＮＰＶスイッチのＦポート４０４（例えば、図１のＦポート１２０）を用いることにより、第１のＦＤＩＳＣを受信する。ここで、第１のＦＤＩＳＣ要求は、第１のＷＷＰＮを有する。
【０１０６】
第１のＷＷＰＮは、Ｎ＿ｐｏｒｔ（例えば、図１のＮポート１３０）の、又はノード（例えば、図１のノード１１０）の及びＮＰＶスイッチに接続されるＶＮ＿ｐｏｒｔの、ＷＷＰＮである。
【０１０７】
ステップ２：ＮＰＶスイッチのプロセッサ４０６は、ＦＣ−ＳＷに接続される少なくとも２つのＮポートのうちの１つのＮポート４０２（例えば、図１のＮポート１２６）を用いることにより、第２のＦＤＩＳＣ要求を送信する。ここで、第２のＦＤＩＳＣ要求は、第１のＷＷＰＮを有する。
【０１０８】
ＮＰＶスイッチのプロセッサ４０６は、負荷分散ルール、ネットワークトポロジ、リンク状態、ＱＯＳポリシ、又はそれらの任意の組合せに従って、第２のＦＤＩＳＣ要求を送信するために少なくとも２つのＮポート４０２から１つのＮポートを選択しても良い。選択されたＮポートは、ノードが登録されるＮポートと呼ばれても良い。
【０１０９】
選択されたＮポートに接続されたＦＣスイッチ（例えば、図１のＦＣスイッチ１０４）が第２のＦＤＩＳＣ要求を受信した後に、ＦＣスイッチは、対応するＮ＿ｐｏｒｔ  ＩＤ、つまり第３のＮ＿ｐｏｒｔ  ＩＤを、第２のＦＤＩＳＣ要求に含まれる第１のＷＷＰＮに割り当てる。ＦＣスイッチは、第３のＮ＿ｐｏｒｔ  ＩＤを含む第２のＦＤＩＳＣ応答をＮＰＶスイッチに返す。
【０１１０】
ステップ３：ＮＰＶスイッチのプロセッサ４０６は、第２のＦＤＩＳＣ要求を送信するＮポートを用いることにより、第２のＦＤＩＳＣ応答を受信する。ここで、第２のＦＤＩＳＣ応答は、第１のＷＷＰＮに対応する第３のＮ＿ｐｏｒｔ  ＩＤを有する。ＮＰＶスイッチのプロセッサ４０６は、第３のＮ＿ｐｏｒｔ  ＩＤと、第２のＦＤＩＳＣ応答を受信するＮ＿ｐｏｒｔとの間の対応を、メモリ４０８に記録する。
【０１１１】
ＮＰＶスイッチのプロセッサ４０６は、第１のＦＬＯＧＩ応答をノードに返す。或いは、ＮＰＶスイッチのプロセッサ４０６は、第１のＦＤＩＳＣ応答をノードに返す。第１のＦＬＯＧＩ要求が受信される状況では、プロセッサ４０６は、第１のＦＬＯＧＩ応答をノードに返す。第１のＦＬＯＧＩ要求が受信される状況では、プロセッサ４０６は、第１のＦＤＩＳＣ応答をノードに返す。
【０１１２】
任意で、ＮＰＶスイッチのプロセッサ４０６は、第３のＮ＿ｐｏｒｔ  ＩＤを有する第１のＦＬＯＧＩ応答、又は第３のＮ＿ｐｏｒｔ  ＩＤを有する第１のＦＤＩＳＣ応答を、ノードに返す。
【０１１３】
任意で、ＮＰＶスイッチのプロセッサ４０６は、第４のＮ＿ｐｏｒｔ  ＩＤを第１のＷＷＰＮに割り当て、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応を確立し、第４のＮ＿ｐｏｒｔ  ＩＤを含む第１のＦＬＯＧＩ応答又は第４のＮ＿ｐｏｒｔ  ＩＤを含む第１のＦＤＩＳＣ応答を、ノードに返す。ソリューションは、共通トランスペアレントルータソリューションである。ソリューションが使用される状況では、第４のＮ＿ｐｏｒｔ  ＩＤを第１のＷＷＰＮに割り当てるステップ、及び第４のＮ＿ｐｏｒｔ  ＩＤの第１のＦＬＯＧＩ応答又は第１のＦＤＩＳＣ応答を返すステップ、並びに第２のＦＤＩＳＣ要求を送信するステップは、プロセッサ４０６により同時に実行されても良い。第３のＮ＿ｐｏｒｔ  ＩＤが取得された後、ＮＰＶスイッチのプロセッサ４０６は、第３のＮ＿ｐｏｒｔ  ＩＤと、第２のＦＤＩＳＣ応答を受信するＮ＿ｐｏｒｔとの間の対応をメモリ４０８に記録する。さらに、ＮＰＶスイッチのプロセッサ４０６は、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応をメモリ４０８に記録する。
【０１１４】
プロセッサ４０６は、ファイバチャネルスイッチドファブリックに接続された少なくとも２つのＮポート４０２に、第１のＮポート識別子に対応する少なくとも２つの第２のＮポート識別子を割り当てる。ここで、同じ第１のＮポート識別子に対応する少なくとも２つの第２のＮポート識別子は異なり、同じ第１のＮポート識別子に対応する少なくとも２つの第２のＮポート識別子と、ファイバチャネルスイッチドファブリックに接続された少なくとも２つのＮポート４０２との間に、一対一対応の関係がある。
【０１１５】
どのＮ＿ｐｏｒｔが同じＦＣ−ＳＷに接続されるかに関する情報は、ＮＰＶスイッチのメモリ４０８の中で予め設定される。プロセッサ４０６は、メモリ４０８から情報を取得する。代替で、プロセッサ４０６は、自動発見方法で、どのＮ＿ｐｏｒｔが、第１のＲＳＣＮを受信するＮ＿ｐｏｒｔとして同じＦＣ−ＳＷに接続されるかを決定しても良い。
【０１１６】
プロセッサ４０６は、１つのＮ＿ｐｏｒｔ  ＩＤを、ＦＣ−ＳＷに接続された少なくとも２つのＮ＿ｐｏｒｔの各々に割り当てる。Ｎ＿ｐｏｒｔ  ＩＤは、ＮＰＶスイッチのＮ＿ｐｏｒｔのＮ＿ｐｏｒｔ  ＩＤではなく、リモートノードのＮポートの及びＮＰＶスイッチのＮ＿ｐｏｒｔの仮想Ｎ＿ｐｏｒｔ  ＩＤである。これらのＮ＿ｐｏｒｔ  ＩＤの値は異なるが、それらは、本発明の本実施形態では纏めて第２のＮ＿ｐｏｒｔ  ＩＤとして表される。通常、任意の第２のＮ＿ｐｏｒｔ  ＩＤは、第１のＮ＿ｐｏｒｔ  ＩＤと異なる。しかしながら、１つの第２のＮ＿ｐｏｒｔ  ＩＤが第１のＮ＿ｐｏｒｔ  ＩＤと同じ可能性が排除されない。
【０１１７】
１つの第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、ＦＣ−ＳＷに接続された少なくとも２つのＮ＿ｐｏｒｔとの間には一対一対応の関係がある。つまり、１つの第１のＮ＿ｐｏｒｔ  ＩＤと少なくとも２つのＮ＿ｐｏｒｔのうちの１つのＮ＿ｐｏｒｔが決定される状況では、第１のＮ＿ｐｏｒｔ  ＩＤ及びＮ＿ｐｏｒｔに対応する１つの及び唯一の第２のＮ＿ｐｏｒｔ  ＩＤが見付けられる。また、１つの第２のＮ＿ｐｏｒｔ  ＩＤが決定される状況では、第２のＮ＿ｐｏｒｔ  ＩＤに対応する１つの及び唯一のＮ＿ｐｏｒｔが見付けられる。プロセッサ４０６は、第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、ＦＣ−ＳＷに接続された少なくとも２つのＮ＿ｐｏｒｔとの間の対応をメモリ４０８に記録する。
【０１１８】
ＮＰＶスイッチのプロセッサ４０６は、同じ第１のＮ＿ｐｏｒｔ  ＩＤを伝達しプロセッサ４０６により受信される第１のＲＳＣＮによってのみ、第２のＮ＿ｐｏｒｔ  ＩＤの割り当てを実行するようトリガされる。通常、ＮＰＶスイッチのプロセッサ４０６は、同じ第１のＮ＿ｐｏｒｔ  ＩＤを伝達する複数の第１のＲＳＣＮのトリガに基づいて、プロセッサ４０６により割り当てられた第２のＮ＿ｐｏｒｔ  ＩＤと、ＦＣ−ＳＷに接続された少なくとも２つのＮ＿ｐｏｒｔとの間の対応を変更しない。
【０１１９】
最後に、プロセッサ４０６は、ノードポート仮想化スイッチのＦポート４０４を用いることにより、第２の登録状態変更通知を送信する。ここで、第２の登録状態変更通知は、少なくとも２つの第２のＮポート識別子のうちの１つを伝達する。
【０１２０】
プロセッサ４０６は、第２のＲＳＣＮを用いることにより、リモートノードのＮ＿ｐｏｒｔ  ＩＤを、ＮＰＶスイッチに接続されるノード（例えば、図１のノード１１０）に送信する。ＮＰＶスイッチの異なるＮポートに登録されたノードがリモートノードと同時に通信できるように、ＮＰＶスイッチは、リモートノードを複数の異なるリモートノード、つまりＮ＿ｐｏｒｔ  ＩＤが異なる第２のＮ＿ｐｏｒｔ  ＩＤであるリモートノードとして仮想化する。ＮＰＶスイッチのＮ＿ｐｏｒｔでは、プロセッサ４０６は、第２のＲＳＣＮを用いることにより、及びプロセッサ４０６によりメモリ４０８に記録される、第３のＮ＿ｐｏｒｔ  ＩＤとＮＰＶスイッチのＮ＿ｐｏｒｔとの間の対応に従って、第２のＮ＿ｐｏｒｔ  ＩＤを、Ｎ＿ｐｏｒｔに対応する第３のＮ＿ｐｏｒｔ  ＩＤに対応する全てのノードに割り当て、つまり、第２のＲＳＣＮを用いることにより、第２のＮ＿ｐｏｒｔ  ＩＤをＮ＿ｐｏｒｔに登録された全てのノードに送信する。例えば、第２のＲＳＣＮの宛先ＦＣ  ＩＤは、第３のＮ＿ｐｏｒｔ  ＩＤであり、第２のＲＳＣＮは、第２のＮ＿ｐｏｒｔ  ＩＤを伝達する。別の例では、トランスペアレントルータソリューションでは、第２のＲＳＣＮの宛先ＦＣ  ＩＤは、第３のＮ＿ｐｏｒｔ  ＩＤに対応する第４のＮ＿ｐｏｒｔ  ＩＤであり、第２のＲＳＣＮは第２のＮ＿ｐｏｒｔ  ＩＤを伝達する。通常、ＮＰＶスイッチにより送信される第２のＲＳＣＮの量は、Ｎ＿ｐｏｒｔについて登録されたノードの量と等しい。ＮＰＶスイッチのプロセッサ４０６は、ＦＣ−ＳＷに接続された少なくとも２つのＮポート４０２のうちの各Ｎポートについて、Ｎ＿ｐｏｒｔに対して登録された全てのノードへ第２のＲＳＣＮを積極的に送信しても良い。第２のＲＳＣＮの中で伝達される第２のＮ＿ｐｏｒｔ  ＩＤは、Ｎ＿ｐｏｒｔに対応する異なる第２のＮ＿ｐｏｒｔ  ＩＤである。ここで、第２のＲＳＣＮは、異なるＮポートのノードに送信される。代替で、ＮＰＶスイッチのプロセッサ４０６は、第１のＲＳＣＮを受信するＮポートへ向けて、Ｎ＿ｐｏｒｔに対して登録された全てのノードへ第２のＲＳＣＮを送信しても良い。つまり、第１のＲＳＣＮのトリガに基づいて、第２のＲＳＣＮを送信する。
【０１２１】
第２のＮ＿ｐｏｒｔ  ＩＤが、リモートノードに、ＮＰＶスイッチの全てのＮ＿ｐｏｒｔについて割り当てられるので、これらのＮ＿ｐｏｒｔのうちのどのＮ＿ｐｏｒｔにＮＰＶスイッチに接続されたノードが登録されるかに係わらず、ノードは、リモートノードの及びＮ＿ｐｏｒｔに対応する第２のＮ＿ｐｏｒｔ  ＩＤを得ることができる。したがって、ＮＰＶスイッチに接続された任意のノードは、任意のリモートノードと通信でき、それにより通信効率が向上する。
【０１２２】
ＮＰＶスイッチは、ＦＣパケットを転送するよう構成される転送部４１０（英文：forwarder）を更に有する。転送部は、具体的には、特定用途向け集積回路（英文：application−specific  integrated  circuit；ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（英文：field−programmable  gatearray；ＦＰＧＡ）、又はネットワークプロセッサ（英文：network  processor；ＮＰ）であっても良い。転送部４１０は、バスを用いることにより、少なくとも２つのＮポート４０２、Ｆポート４０４、及びメモリ４０８に接続される。
【０１２３】
リモートノードと通信しているとき、ＮＰＶスイッチに接続されたノードは、ＦＣパケットをリモートノードへ送信する。ＮＰＶスイッチの転送部４１０は、ＮＰＶスイッチのＦポート４０４を用いることによりＦＣパケットを受信する。ここで、ＦＣパケットの宛先ＦＣ  ＩＤは第２のＮ＿ｐｏｒｔ  ＩＤである。ＮＰＶスイッチの転送部４１０は、ＦＣパケットの宛先ＦＣ  ＩＤを、第２のＮ＿ｐｏｒｔ  ＩＤに対応する第１のＮ＿ｐｏｒｔ  ＩＤで置換する。１つの第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、ＦＣ−ＳＷに接続された少なくとも２つのＮ＿ｐｏｒｔとの間には一対一対応の関係があるので、ＮＰＶスイッチの転送部４１０は、置換したＦＣパケットを送信するために、第２のＮ＿ｐｏｒｔ  ＩＤに従って、第２のＮ＿ｐｏｒｔ  ＩＤに対応するユニークなＮ＿ｐｏｒｔを見付けることができる。トランスペアレントルータソリューションでは、ＦＣパケットの送信元ＦＣ  ＩＤは、第４のＮ＿ｐｏｒｔ  ＩＤである。トランスペアレントルータソリューションでは、さらに、ＮＰＶスイッチの転送部４１０は、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応に従って、ＦＣパケットの送信元ＦＣ  ＩＤを第３のＮ＿ｐｏｒｔ  ＩＤで置換する。ＮＰＶスイッチの転送部４１０は、第２のＮ＿ｐｏｒｔ  ＩＤに対応するＮ＿ｐｏｒｔを用いることにより、置換したＦＣパケットを送信する。
【０１２４】
ＮＰＶスイッチに接続されたノードと通信しているとき、リモートノードは、ＦＣパケットをＮＰＶスイッチに接続されたノードへ送信する。ＮＰＶスイッチの転送部４１０は、ＦＣ−ＳＷに接続された少なくとも２つのＮポート４０２のうちの１つのＮポートを用いることにより、ＦＣパケットを受信する。ここで、ＦＣパケットの送信元ＦＣ  ＩＤは第１のＮ＿ｐｏｒｔ  ＩＤである。ＮＰＶスイッチの転送部４１０は、ＦＣパケットの送信元ＦＣ  ＩＤを、第１のＮ＿ｐｏｒｔ  ＩＤに体オスルウ少なくとも２つの第２のＮ＿ｐｏｒｔ  ＩＤのうちの１つであり及びＦＣパケットを受信するＮポートに対応する第２のＮ＿ｐｏｒｔ  ＩＤで置換する。１つの第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、ＦＣ−ＳＷに接続された少なくとも２つのＮ＿ｐｏｒｔとの間には一対一対応の関係があるので、ＮＰＶスイッチの転送部４１０は、第１のＮ＿ｐｏｒｔ  ＩＤ及びＦＣパケットを受信するＮポートに従って、第１のＮ＿ｐｏｒｔ  ＩＤに対応するユニークなダイ２のＮ＿ｐｏｒｔ  ＩＤを見付けることができる。ＦＣパケットの宛先ＦＣ  ＩＤは第３のＮ＿ｐｏｒｔ  ＩＤである。トランスペアレントルータソリューションでは、さらに、ＮＰＶスイッチの転送部４１０は、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応に従って、ＦＣパケットの宛先ＦＣ  ＩＤを第４のＮ＿ｐｏｒｔ  ＩＤで置換する。ＮＰＶスイッチは、置換したＦＣパケットを送信する。具体的には、ＮＰＶスイッチは、Ｆ＿ｐｏｒｔを用いることにより、置換したＦＣパケットを送信する。
【０１２５】
ＦＣパケットを置換し及び転送する転送部４１０により使用される対応は、ＦＣパケットが受信された後に、転送部４１０によりメモリ４０８から取得されても良い。代替で、転送部４１０は、メモリ４０８から、ＦＣパケットを置換し及び転送するために必要な対応を周期的に取得して、該対応を転送部４１０の中のメモリに保存しても良い。或いは、対応が変化すると、プロセッサ４０６は、転送部４１０の中のメモリに、ＦＣパケットを置換し及び転送するために必要な対応を保存しても良い。対応を周期的に取得する方法及び対応が変化したときに対応を取得する方法は、共存しても良い。
【０１２６】
図１及び図５を参照すると、本発明の一実施形態は、ファイバチャネルにおいてノードポート仮想化を実施する別の方法を提供する。ここで、ノードポート仮想化スイッチは、少なくとも２つのＮポートを用いることによりファイバチャネルスイッチドファブリックに接続される。ＦＣ−ＳＷは、ＮＰＶスイッチによりアクセスされるスイッチドファブリックである。方法は、図２に示した実施形態により提供される方法に類似している。相違点は、第２のＮ＿ｐｏｒｔ  ＩＤを、ＦＣ−ＳＷに接続された全てのＮポートの各々に割り当てる代わりに、ＮＰＶスイッチは第２のＮ＿ｐｏｒｔ  ＩＤを第１のＲＳＣＮを受信する各Ｎポートに割り当てることである。図５は、本発明の本実施形態による方法のフローチャートである。方法は、以下を含む。
【０１２７】
５０２：ノードポート仮想化スイッチは、少なくとも２つのＮポートのうちの複数のＮポートを用いることにより、複数の第１の登録状態変更通知を受信する。ここで、複数の第１の登録状態変更通知は、同じ第１のＮポート識別子を伝達する。
【０１２８】
通常、各Ｎポートは、ＮＰＶスイッチの１つの物理ポートに対応している。ＮＰＶスイッチの物理ポートは、光トランシーバ又は電気トランシーバにより実装されても良い。
【０１２９】
ファイバチャネルプロトコルでは、ＲＳＣＮはＦＣスイッチドファブリックの通知であり、ＲＳＣＮは任意の主要な変化がイッチドファブリックで生じる状況でノードへ送信される通知である。ＲＳＣＮをトリガする幾つかのイベントは、スイッチドファブリックへのノードのジョイン又はそれからのリーブ、スイッチドファブリックへのスイッチのジョイン又はそれからのリーブ、及びスイッチの名称の変更、である。
【０１３０】
第１のＮ＿ｐｏｒｔ  ＩＤは、リモートノード（例えば、図１のリモートノード１０８）のＮポート（例えば、図１のＮポート１２８）のＦＣ  ＩＤである。リモートノードがＦＣ−ＳＷ（例えば、図１のＦＣスイッチ１０２及び１０４が配置されるＦＣ−ＳＷ）にジョインするプロセスにおいて、ＦＣ−ＳＷの中のＦＣスイッチ（例えば、図１のＦＣスイッチ１０４）は、ＦＣ識別子をリモートノードのＮポートに割り当てる。ここで、ＦＣ識別子は第１のＮ＿ｐｏｒｔ  ＩＤである。ＦＣ−ＳＷの中のＦＣスイッチは、ＦＣスイッチのＦポート（例えば、図１のＦポート１１６）を用いることにより、第１のＮ＿ｐｏｒｔ  ＩＤを伝達するＲＳＣＮを送信するようトリガされる。ＦＣスイッチは、複数のＲＳＣＮをＮＰＶスイッチへ送信しても良い。これらのＲＳＣＮにより伝達される第１のＮ＿ｐｏｒｔ  ＩＤは同じである。さらに、ＦＣスイッチは、ＦＣスイッチの複数のＦポートを用いることにより、複数のＲＳＣＮをＮＰＶスイッチへ送信しても良い。これらのＲＳＣＮにより伝達される第１のＮ＿ｐｏｒｔ  ＩＤは同じである。本発明の本実施形態では、第１のＮ＿ｐｏｒｔ  ＩＤを伝達するＲＳＣＮは、第１のＲＳＣＮと表される。リモートノードのジョインに気付いた後に、ＦＣ−ＳＷの中の別のＦＣスイッチ（例えば、図１のＦＣスイッチ１０２）は、別のＦＣスイッチのＦポート（例えば、図１のＦポート１１４）を用いることにより、第１のＮ＿ｐｏｒｔ  ＩＤを伝達する第１のＲＳＣＮを送信する。
【０１３１】
ＮＰＶスイッチは、少なくとも２つのＮポートのうちの複数のＮポートを用いることにより、第１のＲＳＣＮを受信する。ＮＰＶスイッチは、ＦＣ−ＳＷに接続された少なくとも２つのポートのうちのポートを用いることによってのみ、第１のＲＳＣＮを受信する。
【０１３２】
ステップ５０２の前に、ＮＰＶスイッチに接続されたノードは、ＮＰＶスイッチによりＶＮ＿ｐｏｒｔとして仮想化される。プロセスは以下の通りである。
【０１３３】
先ず、ＮＰＶスイッチは、ＮＰＶスイッチのＦポート（例えば、図１のＦポート１２０）を用いることにより、第１のＦＬＯＧＩ要求を受信する。ここで、第１のＦＬＯＧＩ要求は、第１のＷＷＰＮを有する。或いは、ＮＰＶスイッチは、ＮＰＶスイッチのＦポート（例えば、図１のＦポート１２０）を用いることにより、第１のＦＤＩＳＣ要求を受信する。ここで、第１のＦＤＩＳＣ要求は、第１のＷＷＰＮを有する。
【０１３４】
第１のＷＷＰＮは、Ｎ＿ｐｏｒｔ（例えば、図１のＮポート１３０）の、又はノード（例えば、図１のノード１１０）の及びＮＰＶスイッチに接続されるＶＮ＿ｐｏｒｔの、ＷＷＰＮである。
【０１３５】
次に、ＮＰＶスイッチは、ＦＣ−ＳＷに接続される少なくとも２つのＮポートのうちの１つのＮポート（例えば、図１のＮポート１２６）を用いることにより、第２のＦＤＩＳＣ要求を送信する。ここで、第２のＦＤＩＳＣ要求は、第１のＷＷＰＮを有する。
【０１３６】
ＮＰＶスイッチは、負荷分散ルール、ネットワークトポロジ、リンク状態、ＱＯＳポリシ、又はそれらの任意の組合せに従って、第２のＦＤＩＳＣ要求を送信するために少なくとも２つのＮポートから１つのＮポートを選択しても良い。選択されたＮポートは、ノードが登録されるＮポートと呼ばれても良い。
【０１３７】
選択されたＮポートに接続されたＦＣスイッチ（例えば、図１のＦＣスイッチ１０４）が第２のＦＤＩＳＣ要求を受信した後に、ＦＣスイッチは、対応するＮ＿ｐｏｒｔ  ＩＤ、つまり第３のＮ＿ｐｏｒｔ  ＩＤを、第２のＦＤＩＳＣ要求に含まれる第１のＷＷＰＮに割り当てる。ＦＣスイッチは、第３のＮ＿ｐｏｒｔ  ＩＤを含む第２のＦＤＩＳＣ応答をＮＰＶスイッチに返す。
【０１３８】
最後に、ＮＰＶスイッチは、第２のＦＤＩＳＣ要求を送信するＮポートを用いることにより、第２のＦＤＩＳＣ応答を受信する。ここで、第２のＦＤＩＳＣ応答は、第１のＷＷＰＮに対応する第３のＮ＿ｐｏｒｔ  ＩＤを有する。ＮＰＶスイッチは、第３のＮ＿ｐｏｒｔ  ＩＤと、第２のＦＤＩＳＣ応答を受信するＮ＿ｐｏｒｔとの間の対応を記録する。
【０１３９】
ＮＰＶスイッチは、第１のＦＬＯＧＩ応答をノードに返す。或いは、ＮＰＶスイッチは、第１のＦＤＩＳＣ応答をノードに返す。ＮＰＶスイッチが第１のＦＬＯＧＩ要求を受信する状況では、ＮＰＶスイッチは、第１のＦＬＯＧＩ応答をノードに返す。ＮＰＶスイッチが第１のＦＤＩＳＣ要求を受信する状況では、ＮＰＶスイッチは、第１のＦＤＩＳＣ応答をノードに返す。
【０１４０】
任意で、ＮＰＶスイッチは、第３のＮ＿ｐｏｒｔ  ＩＤを有する第１のＦＬＯＧＩ応答、又は第３のＮ＿ｐｏｒｔ  ＩＤを有する第１のＦＤＩＳＣ応答を、ノードに返す。
【０１４１】
任意で、ＮＰＶスイッチは、第４のＮ＿ｐｏｒｔ  ＩＤを第１のＷＷＰＮに割り当て、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応を確立し、第４のＮ＿ｐｏｒｔ  ＩＤを含む第１のＦＬＯＧＩ応答又は第４のＮ＿ｐｏｒｔ  ＩＤを含む第１のＦＤＩＳＣ応答を、ノードに返す。ソリューションは、共通トランスペアレントルータソリューションである。ソリューションが使用される状況では、第４のＮ＿ｐｏｒｔ  ＩＤを第１のＷＷＰＮに割り当てるステップ、及び第４のＮ＿ｐｏｒｔ  ＩＤの第１のＦＬＯＧＩ応答又は第１のＦＤＩＳＣ応答を返すステップ、並びに第２のＦＤＩＳＣ要求を送信するステップは、同時に実行されても良い。第３のＮ＿ｐｏｒｔ  ＩＤが取得された後、ＮＰＶスイッチは、第３のＮ＿ｐｏｒｔ  ＩＤと、第２のＦＤＩＳＣ応答を受信するＮ＿ｐｏｒｔとの間の対応を記録する。さらに、ＮＰＶスイッチは、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応を記録する。
【０１４２】
５０４：ノードポート仮想化スイッチは、複数の第１の登録状態変更通知を受信する複数のＮポートに、第１のＮポート識別子に対応する複数の第２のＮポート識別子を割り当てる。ここで、同じ第１のＮポート識別子に対応する複数の第２のＮポート識別子は異なり、同じ第１のＮポート識別子に対応する複数の第２のＮポート識別子と、複数の第１の登録状態変更通知を受信する複数のＮポートとの間に一対一対応の関係がある。
【０１４３】
ＮＰＶスイッチは、１つのＮ＿ｐｏｒｔ  ＩＤを、第１のＲＳＣＮを受信する複数のＮ＿ｐｏｒｔの各々に割り当てる。Ｎ＿ｐｏｒｔ  ＩＤは、ＮＰＶスイッチのＮ＿ｐｏｒｔのＮ＿ｐｏｒｔ  ＩＤではなく、リモートノードのＮポートの及びＮＰＶスイッチのＮ＿ｐｏｒｔの仮想Ｎ＿ｐｏｒｔ  ＩＤである。これらのＮ＿ｐｏｒｔ  ＩＤの値は異なるが、それらは、本発明の本実施形態では纏めて第２のＮ＿ｐｏｒｔ  ＩＤとして表される。通常、任意の第２のＮ＿ｐｏｒｔ  ＩＤは、第１のＮ＿ｐｏｒｔ  ＩＤと異なる。しかしながら、１つの第２のＮ＿ｐｏｒｔ  ＩＤが第１のＮ＿ｐｏｒｔ  ＩＤと同じ可能性が排除されない。
【０１４４】
１つの第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、第１のＲＳＣＮを受信する複数のＮ＿ｐｏｒｔとの間には一対一対応の関係がある。つまり、１つの第１のＮ＿ｐｏｒｔ  ＩＤと複数のＮ＿ｐｏｒｔのうちの１つのＮ＿ｐｏｒｔが決定される状況では、第１のＮ＿ｐｏｒｔ  ＩＤ及びＮ＿ｐｏｒｔに対応する１つの及び唯一の第２のＮ＿ｐｏｒｔ  ＩＤが見付けられる。また、１つの第２のＮ＿ｐｏｒｔ  ＩＤが決定される状況では、第２のＮ＿ｐｏｒｔ  ＩＤに対応する１つの及び唯一のＮ＿ｐｏｒｔが見付けられる。ＮＰＶスイッチは、第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、複数のＮ＿ｐｏｒｔとの間の対応を記録する。
【０１４５】
同じ第１のＮ＿ｐｏｒｔ  ＩＤを伝達し及びＮＰＶスイッチにより受信される複数の第１のＲＳＣＮは、同時に受信されなくても良く、ＮＰＶスイッチは、各々の第１のＲＳＣＮのトリガに基づき、第２のＮ＿ｐｏｒｔ  ＩＤを、第１のＲＳＣＮを受信するＮ＿ｐｏｒｔに割り当てる。ＮＰＶスイッチは、第１のＲＳＣＮを受信するＮポートに、ＮＰＶスイッチにより割り当てられ第１のＮ＿ｐｏｒｔ  ＩＤに対応する第２のＮ＿ｐｏｒｔ  ＩＤと異なる第２のＮ＿ｐｏｒｔを割り当てる。
【０１４６】
ＮＰＶスイッチの１つのＮ＿ｐｏｒｔは、複数のＲＳＣＮを受信しても良い。そして、ＮＰＶスイッチは、第２のＮ＿ｐｏｒｔ  ＩＤをＮ＿ｐｏｒｔに割り当てるために、同じ第１のＮ＿ｐｏｒｔ  ＩＤを伝達し及び同じＮ＿ｐｏｒｔを用いることによりＮＰＶスイッチにより受信される第１のＲＳＣＮによってのみトリガされる。通常、ＮＰＶスイッチは、同じ第１のＮ＿ｐｏｒｔ  ＩＤを伝達する及び同じＮ＿ｐｏｒｔを用いることにより受信される複数の第１のＲＳＣＮのトリガに基づき、ＮＰＶスイッチの１つのＮ＿ｐｏｒｔに割り当てられた第２のＮ＿ｐｏｒｔ  ＩＤを変更しない。
【０１４７】
５０６：ノードポート仮想化スイッチは、ノードポート仮想化スイッチのＦポートを用いることにより、第２の登録状態変更通知を送信する。ここで、第２の登録状態変更通知は、複数の第２のＮポート識別子のうちの１つを伝達する。
【０１４８】
ＮＰＶスイッチは、第２のＲＳＣＮを用いることにより、リモートノードのＮ＿ｐｏｒｔ  ＩＤを、ＮＰＶスイッチに接続されるノード（例えば、図１のノード１１０）に送信する。ＮＰＶスイッチの異なるＮポートに登録されたノードがリモートノードと同時に通信できるように、ＮＰＶスイッチは、リモートノードを複数の異なるリモートノード、つまりＮ＿ｐｏｒｔ  ＩＤが異なる第２のＮ＿ｐｏｒｔ  ＩＤであるリモートノードとして仮想化する。ＮＰＶスイッチのＮ＿ｐｏｒｔでは、ＮＰＶスイッチは、第２のＲＳＣＮを用いることにより、及びＮＰＶスイッチにより記録される、第３のＮ＿ｐｏｒｔ  ＩＤとＮＰＶスイッチのＮ＿ｐｏｒｔとの間の対応に従って、第２のＮ＿ｐｏｒｔ  ＩＤを、Ｎ＿ｐｏｒｔに対応する第３のＮ＿ｐｏｒｔ  ＩＤに対応する全てのノードに割り当て、つまり、第２のＲＳＣＮを用いることにより、第２のＮ＿ｐｏｒｔ  ＩＤをＮ＿ｐｏｒｔに登録された全てのノードに送信する。例えば、第２のＲＳＣＮの宛先ＦＣ  ＩＤは、第３のＮ＿ｐｏｒｔ  ＩＤであり、第２のＲＳＣＮは、第２のＮ＿ｐｏｒｔ  ＩＤを伝達する。別の例では、トランスペアレントルータソリューションでは、第２のＲＳＣＮの宛先ＦＣ  ＩＤは、第３のＮ＿ｐｏｒｔ  ＩＤに対応する第４のＮ＿ｐｏｒｔ  ＩＤであり、第２のＲＳＣＮは第２のＮ＿ｐｏｒｔ  ＩＤを伝達する。通常、ＮＰＶスイッチにより送信される第２のＲＳＣＮの量は、Ｎ＿ｐｏｒｔについて登録されたノードの量と等しい。ＮＰＶスイッチは、第１のＲＳＣＮを受信するＮポートへ向けて、Ｎ＿ｐｏｒｔに対して登録された全てのノードへ第２のＲＳＣＮを送信する。つまり、第１のＲＳＣＮのトリガに基づいて、第２のＲＳＣＮを送信する。
【０１４９】
第２のＮ＿ｐｏｒｔ  ＩＤが、リモートノードに、ＮＰＶスイッチの複数のＮ＿ｐｏｒｔについて割り当てられるので、これらのＮ＿ｐｏｒｔのうちのどのＮ＿ｐｏｒｔにＮＰＶスイッチに接続されたノードが登録されるかに係わらず、ノードは、リモートノードの及びＮ＿ｐｏｒｔに対応する第２のＮ＿ｐｏｒｔ  ＩＤを得ることができる。したがって、ＮＰＶスイッチに接続された任意のノードは、任意のリモートノードと通信でき、それにより通信効率が向上する。通信プロセスは、以下の通り記載される。
【０１５０】
リモートノードと通信しているとき、ＮＰＶスイッチに接続されたノードは、ＦＣパケットをリモートノードへ送信する。ＮＰＶスイッチは、ＮＰＶスイッチのＦポートを用いることによりＦＣパケットを受信する。ここで、ＦＣパケットの宛先ＦＣ  ＩＤは第２のＮ＿ｐｏｒｔ  ＩＤである。ＮＰＶスイッチは、ＦＣパケットの宛先ＦＣ  ＩＤを、第２のＮ＿ｐｏｒｔ  ＩＤに対応する第１のＮ＿ｐｏｒｔ  ＩＤで置換する。１つの第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、第１のＲＳＣＮを受信する複数のＮ＿ｐｏｒｔとの間には一対一対応の関係があるので、ＮＰＶスイッチは、置き換えられたＦＣパケットを送信するために、第２のＮ＿ｐｏｒｔ  ＩＤに従って、第２のＮ＿ｐｏｒｔ  ＩＤに対応するユニークなＮ＿ｐｏｒｔを見付けることができる。トランスペアレントルータソリューションでは、ＦＣパケットの送信元ＦＣ  ＩＤは、第４のＮ＿ｐｏｒｔ  ＩＤである。トランスペアレントルータソリューションでは、さらに、ＮＰＶスイッチは、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応に従って、ＦＣパケットの送信元ＦＣ  ＩＤを第３のＮ＿ｐｏｒｔ  ＩＤで置換する。ＮＰＶスイッチは、第２のＮ＿ｐｏｒｔ  ＩＤに対応するＮ＿ｐｏｒｔを用いることにより、置換したＦＣパケットを送信する。
【０１５１】
ＮＰＶスイッチに接続されたノードと通信しているとき、リモートノードは、ＦＣパケットをＮＰＶスイッチに接続されたノードへ送信する。ＮＰＶスイッチは、ＦＣ−ＳＷに接続された少なくとも２つのＮポートのうちの１つのＮポートを用いることにより、ＦＣパケットを受信する。ここで、ＦＣパケットの送信元ＦＣ  ＩＤは第１のＮ＿ｐｏｒｔ  ＩＤである。ＮＰＶスイッチは、ＦＣパケットの送信元ＦＣ  ＩＤを、第１のＮ＿ｐｏｒｔ  ＩＤに対応する複数の第２のＮ＿ｐｏｒｔ  ＩＤのうちの１つであり及びＦＣパケットを受信するＮポートに対応する第２のＮ＿ｐｏｒｔ  ＩＤで置換する。１つの第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、第１のＲＳＣＮを受信する複数のＮ＿ｐｏｒｔとの間には一対一対応の関係があるので、ＮＰＶスイッチは、第１のＮ＿ｐｏｒｔ  ＩＤ及びＦＣパケットを受信するＮポートに従って、第１のＮ＿ｐｏｒｔ  ＩＤに対応するユニークな第２のＮ＿ｐｏｒｔを見付けることができる。ＦＣパケットの宛先ＦＣ  ＩＤは第３のＮ＿ｐｏｒｔ  ＩＤである。トランスペアレントルータソリューションでは、さらに、ＮＰＶスイッチは、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応に従って、ＦＣパケットの宛先ＦＣ  ＩＤを第４のＮ＿ｐｏｒｔ  ＩＤで置換する。ＮＰＶスイッチは、置換したＦＣパケットを送信する。具体的には、ＮＰＶスイッチは、Ｆ＿ｐｏｒｔを用いることにより、置換したＦＣパケットを送信する。
【０１５２】
図１及び図６を参照すると、本発明の一実施形態は、ファイバチャネルにおいてノードポート仮想化を実施する方法を提供する。ここで、ノードポート仮想化を実施する装置は、ノードポート仮想化スイッチにより実装され、ノードポート仮想化スイッチは、少なくとも２つのＮポートを用いることによりファイバチャネルスイッチドファブリックに接続される。ＦＣ−ＳＷは、ＮＰＶスイッチによりアクセスされるスイッチドファブリックである。図６は、本発明の本実施形態によるファイバチャネル上のノードポート仮想化を実施する装置の構造図である。装置は、図３に示した実施形態により提供される装置に類似している。相違点は、第２のＮ＿ｐｏｒｔ  ＩＤを、ＦＣ−ＳＷに接続されたＮＰＶスイッチの全てのＮポートの各々に割り当てる代わりに、装置は第２のＮ＿ｐｏｒｔ  ＩＤを第１のＲＳＣＮを受信する各Ｎポートに割り当てることである。装置は、受信モジュール６０２と、割り当てモジュール６０４と、送信モジュール６０６と、を有する。
【０１５３】
受信モジュール６０２は、少なくとも２つのＮポートのうちの複数のＮポートを用いることにより、複数の第１の登録状態変更通知を受信するよう構成される。ここで、複数の第１の登録状態変更通知は、同じ第１のＮポート識別子を伝達する。
【０１５４】
通常、各Ｎポートは、ＮＰＶスイッチの１つの物理ポートに対応している。
【０１５５】
ＦＣプロトコルでは、ＲＳＣＮはＦＣスイッチドファブリックのものであり、ＲＳＣＮは任意の主要な変化がイッチドファブリックで生じる状況でノードへ送信される通知である。ＲＳＣＮをトリガする幾つかのイベントは、スイッチドファブリックへのノードのジョイン又はそれからのリーブ、スイッチドファブリックへのスイッチのジョイン又はそれからのリーブ、及びスイッチの名称の変更、である。
【０１５６】
第１のＮ＿ｐｏｒｔ  ＩＤは、リモートノード（例えば、図１のリモートノード１０８）のＮポート（例えば、図１のＮポート１２８）のＦＣ  ＩＤである。リモートノードがＦＣ−ＳＷ（例えば、図１のＦＣスイッチ１０２及び１０４が配置されるＦＣ−ＳＷ）にジョインするプロセスにおいて、ＦＣ−ＳＷの中のＦＣスイッチ（例えば、図１のＦＣスイッチ１０４）は、ＦＣ識別子をリモートノードのＮポートに割り当てる。ここで、ＦＣ識別子は第１のＮ＿ｐｏｒｔ  ＩＤである。ＦＣ−ＳＷの中のＦＣスイッチは、ＦＣスイッチのＦポート（例えば、図１のＦポート１１６）を用いることにより、第１のＮ＿ｐｏｒｔ  ＩＤを伝達するＲＳＣＮを送信するようトリガされる。ＦＣスイッチは、複数のＲＳＣＮをＮＰＶスイッチへ送信しても良い。これらのＲＳＣＮにより伝達される第１のＮ＿ｐｏｒｔ  ＩＤは同じである。さらに、ＦＣスイッチは、ＦＣスイッチの複数のＦポートを用いることにより、複数のＲＳＣＮをＮＰＶスイッチへ送信しても良い。これらのＲＳＣＮにより伝達される第１のＮ＿ｐｏｒｔ  ＩＤは同じである。本発明の本実施形態では、第１のＮ＿ｐｏｒｔ  ＩＤを伝達するＲＳＣＮは、第１のＲＳＣＮと表される。リモートノードのジョインに気付いた後に、ＦＣ−ＳＷの中の別のＦＣスイッチ（例えば、図１のＦＣスイッチ１０２）は、別のＦＣスイッチのＦポート（例えば、図１のＦポート１１４）を用いることにより、第１のＮ＿ｐｏｒｔ  ＩＤを伝達する第１のＲＳＣＮを送信する。
【０１５７】
ノードポート仮想化のための装置の受信モジュールは、少なくとも２つのＮポートのうちの複数のＮポートを用いることにより、第１のＲＳＣＮを受信する。ここで、装置は、ＮＰＶスイッチにより実装される。受信モジュールは、ＦＣ−ＳＷに接続された少なくとも２つのポートのうちのポートを用いることによってのみ、第１のＲＳＣＮを受信する。
【０１５８】
ノードポート仮想化のための装置は、第１の仮想モジュール、第２の仮想モジュール、又はそれらの組み合わせを更に有する。ここで、装置は、ＮＰＶスイッチにより実装される。受信モジュールが第１のＲＳＣＮを受信する前に、ＮＰＶスイッチに接続されたノードはＮＰＶスイッチによりＶＮ＿ｐｏｒｔとして仮想化され、処理は、第１の仮想モジュール、第２の仮想モジュール、又はそれらの組み合わせにより実行される。
【０１５９】
第１の仮想モジュールは、ＮＰＶスイッチのＦポート（例えば、図１のＦポート１２０）を用いることにより、第１のＷＷＰＮを有する第１のＦＬＯＧＩ要求を受信し、ＦＣ−ＳＷに接続された少なくとも２つのＮポートのうちの１つのＮポート（例えば、図１のＮポート１２６）を用いることにより、第１のＷＷＰＮを有する第２のＦＤＩＳＣ要求を送信し、第２のＦＤＩＳＣ要求を送信するＮポートを用いることにより、第１のＷＷＰＮに対応する第３のＮ＿ｐｏｒｔ  ＩＤを有する第２のＦＤＩＳＣ応答を受信するよう構成される。
【０１６０】
第２の仮想モジュールは、ＮＰＶスイッチのＦポート（例えば、図１のＦポート１２０）を用いることにより、第１のＷＷＰＮを有する第１のＦＤＩＳＣ要求を受信し、ＦＣ−ＳＷに接続された少なくとも２つのＮポートのうちの１つのＮポート（例えば、図１のＮポート１２６）を用いることにより、第１のＷＷＰＮを有する第２のＦＤＩＳＣ要求を送信し、第２のＦＤＩＳＣ要求を送信するＮポートを用いることにより、第１のＷＷＰＮに対応する第３のＮ＿ｐｏｒｔ  ＩＤを有する第２のＦＤＩＳＣ応答を受信するよう構成される。
【０１６１】
ノードポート仮想化のための装置は、第３のＮ＿ｐｏｒｔ  ＩＤと、第２のＦＤＩＳＣ応答を受信するＮ＿ｐｏｒｔとの間の対応を記録する。
【０１６２】
第１のＷＷＰＮは、Ｎ＿ｐｏｒｔ（例えば、図１のＮポート１３０）の、又はノード（例えば、図１のノード１１０）の及びＮＰＶスイッチに接続されるＶＮ＿ｐｏｒｔの、ＷＷＰＮである。
【０１６３】
第１の仮想モジュール、第２の仮想モジュール、又はそれらの組み合わせは、第２のＦＤＩＳＣ要求を送信するために、負荷分散ルール、ネットワークトポロジ、リンク状態、ＱＯＳポリシ、又はそれらの任意の組み合わせに従って、少なくとも２つのＮポートから１つのＮポートを選択しても良い。選択されたＮポートは、ノードが登録されるＮポートと呼ばれても良い。
【０１６４】
選択されたＮポートに接続されたＦＣスイッチ（例えば、図１のＦＣスイッチ１０４）が第２のＦＤＩＳＣ要求を受信した後に、ＦＣスイッチは、対応するＮ＿ｐｏｒｔ  ＩＤ、つまり第３のＮ＿ｐｏｒｔ  ＩＤを、第２のＦＤＩＳＣ要求に含まれる第１のＷＷＰＮに割り当てる。ＦＣスイッチは、第３のＮ＿ｐｏｒｔ  ＩＤを含む第２のＦＤＩＳＣ応答をＮＰＶスイッチに返す。
【０１６５】
第１の仮想モジュールは、第１のＦＬＯＧＩ応答をノードに返すよう更に構成される。第２の仮想モジュールは、第１のＦＬＯＧＩ応答をノードに返すよう更に構成される。
【０１６６】
任意で、第１の仮想モジュールは、第３のＮ＿ｐｏｒｔ  ＩＤを有する第１のＦＬＯＧＩ応答を、ノードに返す。任意で、第２の仮想モジュールは、第３のＮ＿ｐｏｒｔ  ＩＤを有する第１のＦＤＩＳＣ応答を、ノードに返す。
【０１６７】
任意で、第１の仮想モジュールは、第４のＮ＿ｐｏｒｔ  ＩＤを第１のＷＷＰＮに割り当て、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応を確立し、第４のＮ＿ｐｏｒｔ  ＩＤを含む第１のＦＬＯＧＩ応答をノードに返す。任意で、第２の仮想モジュールは、第４のＮ＿ｐｏｒｔ  ＩＤを第１のＷＷＰＮに割り当て、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応を確立し、第４のＮ＿ｐｏｒｔ  ＩＤを含む第１のＦＤＩＳＣ応答をノードに返す。ソリューションは、共通トランスペアレントルータソリューションである。ソリューションが使用される状況では、第１の仮想モジュール及び第２の仮想モジュールは、第４のＮ＿ｐｏｒｔ  ＩＤを第１のＷＷＰＮに割り当てるステップ、及び第４のＮ＿ｐｏｒｔ  ＩＤの第１のＦＬＯＧＩ応答又は第１のＦＤＩＳＣ応答を返すステップ、並びに第２のＦＤＩＳＣ要求を送信するステップを、同時に実行しても良い。第３のＮ＿ｐｏｒｔ  ＩＤが取得された後、ノードポート仮想化のための装置は、第３のＮ＿ｐｏｒｔ  ＩＤと、第２のＦＤＩＳＣ応答を受信するＮ＿ｐｏｒｔとの間の対応を記録する。さらに、ノードポート仮想化のための装置は、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応を記録する。
【０１６８】
割り当てモジュール６０４は、複数の第１の登録状態変更通知を受信する複数のＮポートに、第１のＮポート識別子に対応する複数の第２のＮポート識別子を割り当てるよう構成される。ここで、同じ第１のＮポート識別子に対応する複数の第２のＮポート識別子は異なり、同じ第１のＮポート識別子に対応する複数の第２のＮポート識別子と、複数の第１の登録状態変更通知を受信する複数のＮポートとの間に一対一対応の関係がある。
【０１６９】
割り当てモジュール６０４は、１つのＮ＿ｐｏｒｔ  ＩＤを、第１のＲＳＣＮを受信する複数のＮ＿ｐｏｒｔの各々に割り当てる。Ｎ＿ｐｏｒｔ  ＩＤは、ＮＰＶスイッチのＮ＿ｐｏｒｔのＮ＿ｐｏｒｔ  ＩＤではなく、リモートノードのＮポートの及びＮＰＶスイッチのＮ＿ｐｏｒｔの仮想Ｎ＿ｐｏｒｔ  ＩＤである。これらのＮ＿ｐｏｒｔ  ＩＤの値は異なるが、それらは、本発明の本実施形態では纏めて第２のＮ＿ｐｏｒｔ  ＩＤとして表される。通常、任意の第２のＮ＿ｐｏｒｔ  ＩＤは、第１のＮ＿ｐｏｒｔ  ＩＤと異なる。しかしながら、１つの第２のＮ＿ｐｏｒｔ  ＩＤが第１のＮ＿ｐｏｒｔ  ＩＤと同じ可能性が排除されない。
【０１７０】
１つの第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、第１のＲＳＣＮを受信する複数のＮ＿ｐｏｒｔとの間には一対一対応の関係がある。つまり、１つの第１のＮ＿ｐｏｒｔ  ＩＤと複数のＮ＿ｐｏｒｔのうちの１つのＮ＿ｐｏｒｔが決定される状況では、第１のＮ＿ｐｏｒｔ  ＩＤ及びＮ＿ｐｏｒｔに対応する１つの及び唯一の第２のＮ＿ｐｏｒｔ  ＩＤが見付けられる。また、１つの第２のＮ＿ｐｏｒｔ  ＩＤが決定される状況では、第２のＮ＿ｐｏｒｔ  ＩＤに対応する１つの及び唯一のＮ＿ｐｏｒｔが見付けられる。ＮＰＶスイッチは、第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、ＦＣ−ＳＷに接続された複数のＮ＿ｐｏｒｔとの間の対応を記録する。
【０１７１】
同じ第１のＮ＿ｐｏｒｔ  ＩＤを伝達し及び受信モジュール６０２により受信される複数の第１のＲＳＣＮは、同時に受信されなくても良く、割り当てモジュール６０４は、各々の第１のＲＳＣＮのトリガに基づき、第２のＮ＿ｐｏｒｔ  ＩＤを、第１のＲＳＣＮを受信するＮ＿ｐｏｒｔに割り当てる。割り当てモジュール６０４は、第１のＲＳＣＮを受信するＮポートに、割り当てモジュール６０４により割り当てられ第１のＮ＿ｐｏｒｔ  ＩＤに対応する第２のＮ＿ｐｏｒｔ  ＩＤと異なる第２のＮ＿ｐｏｒｔを割り当てる。
【０１７２】
受信モジュール６０２は、ＮＰＶスイッチの１つのＮ＿ｐｏｒｔを用いることにより、複数の第１のＲＳＣＮを受信しても良い。割り当てモジュール６０４は、同じ第１のＮ＿ｐｏｒｔ  ＩＤを伝達し及び同じＮ＿ｐｏｒｔを用いることにより受信モジュール６０２により受信される第１のＲＳＣＮによってのみ、第２のＮ＿ｐｏｒｔ  ＩＤをＮ＿ｐｏｒｔに割り当てるようトリガされる。通常、割り当てモジュール６０４は、同じ第１のＮ＿ｐｏｒｔ  ＩＤを伝達する及び同じＮ＿ｐｏｒｔを用いることにより受信モジュール６０２により受信される複数の第１のＲＳＣＮのトリガに基づき、ＮＰＶスイッチの１つのＮ＿ｐｏｒｔに割り当てられた第２のＮ＿ｐｏｒｔ  ＩＤを変更しない。
【０１７３】
送信モジュール６０６は、ノードポート仮想化スイッチのＦポートを用いることにより、第２の登録状態変更通知を送信する。ここで、第２の登録状態変更通知は、複数の第２のＮポート識別子のうちの１つを伝達する。
【０１７４】
送信モジュール６０６は、第２のＲＳＣＮを用いることにより、リモートノードのＮ＿ｐｏｒｔ  ＩＤを、ＮＰＶスイッチに接続されるノード（例えば、図１のノード１１０）に送信する。ＮＰＶスイッチの異なるＮポートに登録されたノードがリモートノードと同時に通信できるように、ノードポート仮想化を実施する装置は、リモートノードを複数の異なるリモートノード、つまりＮ＿ｐｏｒｔ  ＩＤが異なる第２のＮ＿ｐｏｒｔ  ＩＤであるリモートノードとして仮想化する。ＮＰＶスイッチのＮ＿ｐｏｒｔでは、ノードポート仮想化を実施する装置は、第２のＲＳＣＮを用いることにより、及びＮＰＶスイッチにより記録される、第３のＮ＿ｐｏｒｔ  ＩＤとＮＰＶスイッチのＮ＿ｐｏｒｔとの間の対応に従って、第２のＮ＿ｐｏｒｔ  ＩＤを、Ｎ＿ｐｏｒｔに対応する第３のＮ＿ｐｏｒｔ  ＩＤに対応する全てのノードに割り当て、つまり、第２のＲＳＣＮを用いることにより、第２のＮ＿ｐｏｒｔ  ＩＤをＮ＿ｐｏｒｔに登録された全てのノードに送信する。例えば、第２のＲＳＣＮの宛先ＦＣ  ＩＤは、第３のＮ＿ｐｏｒｔ  ＩＤであり、第２のＲＳＣＮは、第２のＮ＿ｐｏｒｔ  ＩＤを伝達する。別の例では、トランスペアレントルータソリューションでは、第２のＲＳＣＮの宛先ＦＣ  ＩＤは、第３のＮ＿ｐｏｒｔ  ＩＤに対応する第４のＮ＿ｐｏｒｔ  ＩＤであり、第２のＲＳＣＮは第２のＮ＿ｐｏｒｔ  ＩＤを伝達する。通常、送信モジュール６０６により送信される第２のＲＳＣＮの量は、Ｎ＿ｐｏｒｔについて登録されたノードの量と等しい。送信モジュール６０６は、第１のＲＳＣＮを受信するＮポートへ向けて、Ｎ＿ｐｏｒｔに対して登録された全てのノードへ第２のＲＳＣＮを送信する。つまり、第１のＲＳＣＮのトリガに基づいて、第２のＲＳＣＮを送信する。
【０１７５】
第２のＮ＿ｐｏｒｔ  ＩＤが、リモートノードに、ＮＰＶスイッチの複数のＮ＿ｐｏｒｔについて割り当てられるので、これらのＮ＿ｐｏｒｔのうちのどのＮ＿ｐｏｒｔにＮＰＶスイッチに接続されたノードが登録されるかに係わらず、ノードは、リモートノードの及びＮ＿ｐｏｒｔに対応する第２のＮ＿ｐｏｒｔ  ＩＤを得ることができる。したがって、ＮＰＶスイッチに接続された任意のノードは、任意のリモートノードと通信でき、それにより通信効率が向上する。通信プロセスは、以下の通り記載される。
【０１７６】
リモートノードと通信しているとき、ＮＰＶスイッチに接続されたノードは、ＦＣパケットをリモートノードへ送信する。受信モジュール６０２は、ＮＰＶスイッチのＦポートを用いることによりＦＣパケットを受信するよう更に構成される。ここで、ＦＣパケットの宛先ＦＣ  ＩＤは第２のＮ＿ｐｏｒｔ  ＩＤである。送信モジュール６０６は、ＦＣパケットの宛先ＦＣ  ＩＤを、第２のＮ＿ｐｏｒｔ  ＩＤに対応する第１のＮ＿ｐｏｒｔ  ＩＤで置換するよう更に構成される。１つの第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、第１のＲＳＣＮを受信する複数のＮ＿ｐｏｒｔとの間には一対一対応の関係があるので、送信モジュール６０６は、置換したＦＣパケットを送信するために、第２のＮ＿ｐｏｒｔ  ＩＤに従って、第２のＮ＿ｐｏｒｔ  ＩＤに対応するユニークなＮ＿ｐｏｒｔを見付けることができる。トランスペアレントルータソリューションでは、ＦＣパケットの送信元ＦＣ  ＩＤは、第４のＮ＿ｐｏｒｔ  ＩＤである。トランスペアレントルータソリューションでは、さらに、送信モジュール６０６は、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応に従って、ＦＣパケットの送信元ＦＣ  ＩＤを第３のＮ＿ｐｏｒｔ  ＩＤで置換する。送信モジュール６０６は、第２のＮ＿ｐｏｒｔ  ＩＤに対応するＮ＿ｐｏｒｔを用いることにより、置換したＦＣパケットを送信するよう更に構成される。
【０１７７】
ＮＰＶスイッチに接続されたノードと通信しているとき、リモートノードは、ＦＣパケットをＮＰＶスイッチに接続されたノードへ送信する。受信モジュール６０２は、ＦＣ−ＳＷに接続された少なくとも２つのＮポートのうちの１つのＮポートを用いることにより、ＦＣパケットを受信する。ここで、ＦＣパケットの送信元ＦＣ  ＩＤは第１のＮ＿ｐｏｒｔ  ＩＤである。送信モジュール６０６は、ＦＣパケットの送信元ＦＣ  ＩＤを、第１のＮ＿ｐｏｒｔ  ＩＤに対応する複数の第２のＮ＿ｐｏｒｔ  ＩＤのうちの１つであり及びＦＣパケットを受信するＮポートに対応する第２のＮ＿ｐｏｒｔ  ＩＤで置換するよう更に構成される。１つの第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、第１のＲＳＣＮを受信する複数のＮ＿ｐｏｒｔとの間には一対一対応の関係があるので、送信モジュール６０６は、第１のＮ＿ｐｏｒｔ  ＩＤ及びＦＣパケットを受信するＮポートに従って、第１のＮ＿ｐｏｒｔ  ＩＤに対応するユニークな第２のＮ＿ｐｏｒｔを見付けることができる。ＦＣパケットの宛先ＦＣ  ＩＤは第３のＮ＿ｐｏｒｔ  ＩＤである。トランスペアレントルータソリューションでは、さらに、送信モジュール６０６は、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応に従って、ＦＣパケットの宛先ＦＣ  ＩＤを第４のＮ＿ｐｏｒｔ  ＩＤで置換するよう更に構成される。送信モジュール６０６は、置換したＦＣパケットを送信するよう更に構成される。具体的には、ＮＰＶスイッチは、Ｆ＿ｐｏｒｔを用いることにより、置換したＦＣパケットを送信する。
【０１７８】
図１及び図７を参照すると、本発明の一実施形態は、ノードポート仮想化スイッチを提供する。ノードポート仮想化スイッチは、ＮＰＶモードで動作するファイバチャネルスイッチを表し、以下では略してＮＰＶスイッチと表す。図７は、本発明の本実施形態によるＮＰＶスイッチの構造図である。ＮＰＶスイッチは、少なくとも２つのＮポート７０２、Ｆポート７０４，プロセッサ７０６、及びメモリ７０８を有する。少なくとも２つのＮポート７０２は、ＦＣ−ＳＷに接続される。ＦＣ−ＳＷは、ＮＰＶスイッチによりアクセスされるスイッチドファブリックである。少なくとも２つのＮポート７０２は、光トランシーバ又は電気トランシーバにより物理的に実装されても良い。Ｆポート７０４は、光トランシーバ又は電気トランシーバにより物理的に実装されても良い。例えば、光トランシーバは、ＳＦＰトランシーバ、ＳＦＰ＋トランシーバ、又はＸＦＰトランシーバであっても良い。プロセッサ７０６はＣＰＵであっても良い。メモリ７０８は、揮発性メモリ、例えばＲＡＭ、又は不揮発性メモリ、例えばＲＯＭ、フラッシュメモリ、ハードディスク、又は固体ディスクであっても良い。少なくとも２つのＮポート７０２、Ｆポート７０４、及びメモリ７０８は、全てプロセッサ７０６に接続される。図７の太線はバスである。ＮＰＶスイッチは、図４に示した実施形態により提供されるＮＰＶスイッチと同じ物理構造を有する。相違点は、第２のＮ＿ｐｏｒｔ  ＩＤを、ＦＣ−ＳＷに接続された全てのＮポートの各々に割り当てる代わりに、ＮＰＶスイッチのプロセッサ７０６は第２のＮ＿ｐｏｒｔ  ＩＤを第１のＲＳＣＮを受信する各Ｎポートに割り当てることである。プロセッサ７０６は、メモリ７０８に格納されたプログラム命令に従って、図５に示した実施形態の中の幾つかの動作ステップを実行する。
【０１７９】
先ず、プロセッサ７０６は、少なくとも２つのＮポート７０２のうちの複数のＮポートを用いることにより、複数の第１の登録状態変更通知を受信する。ここで、複数の第１の登録状態変更通知は、同じ第１のＮポート識別子を伝達する。
【０１８０】
ファイバチャネルプロトコルでは、ＲＳＣＮはＦＣスイッチドファブリックの通知であり、ＲＳＣＮは任意の主要な変化がイッチドファブリックで生じる状況でノードへ送信される通知である。ＲＳＣＮをトリガする幾つかのイベントは、スイッチドファブリックへのノードのジョイン又はそれからのリーブ、スイッチドファブリックへのスイッチのジョイン又はそれからのリーブ、及びスイッチの名称の変更、である。
【０１８１】
第１のＮ＿ｐｏｒｔ  ＩＤは、リモートノード（例えば、図１のリモートノード１０８）のＮポート（例えば、図１のＮポート１２８）のＦＣ  ＩＤである。リモートノードがＦＣ−ＳＷ（例えば、図１のＦＣスイッチ１０２及び１０４が配置されるＦＣ−ＳＷ）にジョインするプロセスにおいて、ＦＣ−ＳＷの中のＦＣスイッチ（例えば、図１のＦＣスイッチ１０４）は、ＦＣ識別子をリモートノードのＮポートに割り当てる。ここで、ＦＣ識別子は第１のＮ＿ｐｏｒｔ  ＩＤである。ＦＣ−ＳＷの中のＦＣスイッチは、ＦＣスイッチのＦポート７０４（例えば、図１のＦポート１１６）を用いることにより、第１のＮ＿ｐｏｒｔ  ＩＤを伝達するＲＳＣＮを送信するようトリガされる。ＦＣスイッチは、複数のＲＳＣＮをＮＰＶスイッチへ送信しても良い。これらのＲＳＣＮにより伝達される第１のＮ＿ｐｏｒｔ  ＩＤは同じである。さらに、ＦＣスイッチは、ＦＣスイッチの複数のＦポートを用いることにより、複数のＲＳＣＮをＮＰＶスイッチへ送信しても良い。これらのＲＳＣＮにより伝達される第１のＮ＿ｐｏｒｔ  ＩＤは同じである。本発明の本実施形態では、第１のＮ＿ｐｏｒｔ  ＩＤを伝達するＲＳＣＮは、第１のＲＳＣＮと表される。リモートノードのジョインに気付いた後に、ＦＣ−ＳＷの中の別のＦＣスイッチ（例えば、図１のＦＣスイッチ１０２）は、別のＦＣスイッチのＦポート７０４（例えば、図１のＦポート１１４）を用いることにより、第１のＮ＿ｐｏｒｔ  ＩＤを伝達する第１のＲＳＣＮを送信する。
【０１８２】
ＮＰＶスイッチのプロセッサ７０６は、少なくとも２つのＮポート７０２のうちの複数のＮポートを用いることにより、第１のＲＳＣＮを受信する。ＮＰＶスイッチのプロセッサ７０６は、ＦＣ−ＳＷに接続された少なくとも２つのポートのうちのポートを用いることにより、第１のＲＳＣＮを受信する。
【０１８３】
第１のＲＳＣＮが受信される前に、ＮＰＶスイッチに接続されたノードは、ＮＰＶスイッチによりＶＮ＿ｐｏｒｔとして仮想化される。プロセスは以下の通りである。
【０１８４】
ステップ１：ＮＰＶスイッチのプロセッサ７０６は、ＮＰＶスイッチのＦポート７０４（例えば、図１のＦポート１２０）を用いることにより、第１のＦＬＯＧＩ要求を受信する。ここで、第１のＦＬＯＧＩ要求は、第１のＷＷＰＮを有する。或いは、ＮＰＶスイッチのプロセッサ７０６は、ＮＰＶスイッチのＦポート７０４（例えば、図１のＦポート１２０）を用いることにより、第１のＦＤＩＳＣを受信する。ここで、第１のＦＤＩＳＣ要求は、第１のＷＷＰＮを有する。
【０１８５】
第１のＷＷＰＮは、Ｎ＿ｐｏｒｔ（例えば、図１のＮポート１３０）の、又はノード（例えば、図１のノード１１０）の及びＮＰＶスイッチに接続されるＶＮ＿ｐｏｒｔの、ＷＷＰＮである。
【０１８６】
ステップ２：ＮＰＶスイッチのプロセッサ７０６は、ＦＣ−ＳＷに接続される少なくとも２つのＮポートのうちの１つのＮポート７０２（例えば、図１のＮポート１２６）を用いることにより、第２のＦＤＩＳＣ要求を送信する。ここで、第２のＦＤＩＳＣ要求は、第１のＷＷＰＮを有する。
【０１８７】
ＮＰＶスイッチのプロセッサ７０６は、負荷分散ルール、ネットワークトポロジ、リンク状態、ＱＯＳポリシ、又はそれらの任意の組合せに従って、第２のＦＤＩＳＣ要求を送信するために少なくとも２つのＮポート７０２から１つのＮポートを選択しても良い。選択されたＮポートは、ノードが登録されるＮポートと呼ばれても良い。
【０１８８】
選択されたＮポートに接続されたＦＣスイッチ（例えば、図１のＦＣスイッチ１０４）が第２のＦＤＩＳＣ要求を受信した後に、ＦＣスイッチは、対応するＮ＿ｐｏｒｔ  ＩＤ、つまり第３のＮ＿ｐｏｒｔ  ＩＤを、第２のＦＤＩＳＣ要求に含まれる第１のＷＷＰＮに割り当てる。ＦＣスイッチは、第３のＮ＿ｐｏｒｔ  ＩＤを含む第２のＦＤＩＳＣ応答をＮＰＶスイッチに返す。
【０１８９】
ステップ３：ＮＰＶスイッチのプロセッサ７０６は、第２のＦＤＩＳＣ要求を送信するＮポートを用いることにより、第２のＦＤＩＳＣ応答を受信する。ここで、第２のＦＤＩＳＣ応答は、第１のＷＷＰＮに対応する第３のＮ＿ｐｏｒｔ  ＩＤを有する。ＮＰＶスイッチのプロセッサ７０６は、第３のＮ＿ｐｏｒｔ  ＩＤと、第２のＦＤＩＳＣ応答を受信するＮ＿ｐｏｒｔとの間の対応を、メモリ７０８に記録する。
【０１９０】
ＮＰＶスイッチのプロセッサ７０６は、第１のＦＬＯＧＩ応答をノードに返す。或いは、ＮＰＶスイッチのプロセッサ７０６は、第１のＦＤＩＳＣ応答をノードに返す。第１のＦＬＯＧＩ要求が受信される状況では、プロセッサ７０６は、第１のＦＬＯＧＩ応答をノードに返す。第１のＦＬＯＧＩ要求が受信される状況では、プロセッサ７０６は、第１のＦＤＩＳＣ応答をノードに返す。
【０１９１】
任意で、ＮＰＶスイッチのプロセッサ７０６は、第３のＮ＿ｐｏｒｔ  ＩＤを有する第１のＦＬＯＧＩ応答、又は第３のＮ＿ｐｏｒｔ  ＩＤを有する第１のＦＤＩＳＣ応答を、ノードに返す。
【０１９２】
任意で、ＮＰＶスイッチのプロセッサ７０６は、第４のＮ＿ｐｏｒｔ  ＩＤを第１のＷＷＰＮに割り当て、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応を確立し、第４のＮ＿ｐｏｒｔ  ＩＤを含む第１のＦＬＯＧＩ応答又は第４のＮ＿ｐｏｒｔ  ＩＤを含む第１のＦＤＩＳＣ応答を、ノードに返す。ソリューションは、共通トランスペアレントルータソリューションである。ソリューションが使用される状況では、第４のＮ＿ｐｏｒｔ  ＩＤを第１のＷＷＰＮに割り当てるステップ、及び第４のＮ＿ｐｏｒｔ  ＩＤの第１のＦＬＯＧＩ応答又は第１のＦＤＩＳＣ応答を返すステップ、並びに第２のＦＤＩＳＣ要求を送信するステップは、プロセッサ７０６により同時に実行されても良い。第３のＮ＿ｐｏｒｔ  ＩＤが取得された後、ＮＰＶスイッチのプロセッサ７０６は、第３のＮ＿ｐｏｒｔ  ＩＤと、第２のＦＤＩＳＣ応答を受信するＮ＿ｐｏｒｔとの間の対応をメモリ７０８に記録する。さらに、ＮＰＶスイッチのプロセッサ７０６は、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応をメモリ７０８に記録する。
【０１９３】
次に、プロセッサ７０６は、複数の第１の登録状態変更通知を受信する複数のＮポートに、第１のＮポート識別子に対応する複数の第２のＮポート識別子を割り当てる。ここで、同じ第１のＮポート識別子に対応する複数の第２のＮポート識別子は異なり、同じ第１のＮポート識別子に対応する複数の第２のＮポート識別子と、複数の第１の登録状態変更通知を受信する複数のＮポートとの間に一対一対応の関係がある。
【０１９４】
プロセッサ７０６は、１つのＮ＿ｐｏｒｔ  ＩＤを、第１のＲＳＣＮを受信する複数のＮ＿ｐｏｒｔの各々に割り当てる。Ｎ＿ｐｏｒｔ  ＩＤは、ＮＰＶスイッチのＮ＿ｐｏｒｔのＮ＿ｐｏｒｔ  ＩＤではなく、リモートノードのＮポートの及びＮＰＶスイッチのＮ＿ｐｏｒｔの仮想Ｎ＿ｐｏｒｔ  ＩＤである。これらのＮ＿ｐｏｒｔ  ＩＤの値は異なるが、それらは、本発明の本実施形態では纏めて第２のＮ＿ｐｏｒｔ  ＩＤとして表される。通常、任意の第２のＮ＿ｐｏｒｔ  ＩＤは、第１のＮ＿ｐｏｒｔ  ＩＤと異なる。しかしながら、１つの第２のＮ＿ｐｏｒｔ  ＩＤが第１のＮ＿ｐｏｒｔ  ＩＤと同じ可能性が排除されない。
【０１９５】
１つの第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、第１のＲＳＣＮを受信する複数のＮ＿ｐｏｒｔとの間には一対一対応の関係がある。つまり、１つの第１のＮ＿ｐｏｒｔ  ＩＤと複数のＮ＿ｐｏｒｔのうちの１つのＮ＿ｐｏｒｔが決定される状況では、第１のＮ＿ｐｏｒｔ  ＩＤ及びＮ＿ｐｏｒｔに対応する１つの及び唯一の第２のＮ＿ｐｏｒｔ  ＩＤが見付けられる。また、１つの第２のＮ＿ｐｏｒｔ  ＩＤが決定される状況では、第２のＮ＿ｐｏｒｔ  ＩＤに対応する１つの及び唯一のＮ＿ｐｏｒｔが見付けられる。プロセッサ７０６は、第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、複数のＮ＿ｐｏｒｔとの間の対応をメモリ７０８に記録する。
【０１９６】
同じ第１のＮ＿ｐｏｒｔ  ＩＤを伝達し及びＮＰＶスイッチにより受信される複数の第１のＲＳＣＮは、同時に受信されなくても良く、ＮＰＶスイッチのプロセッサ７０６は、各々の第１のＲＳＣＮのトリガに基づき、第２のＮ＿ｐｏｒｔ  ＩＤを、第１のＲＳＣＮを受信するＮ＿ｐｏｒｔに割り当てる。ＮＰＶスイッチのプロセッサ７０６は、第１のＲＳＣＮを受信するＮポートに、プロセッサ７０６により割り当てられ第１のＮ＿ｐｏｒｔ  ＩＤに対応する第２のＮ＿ｐｏｒｔ  ＩＤと異なる第２のＮ＿ｐｏｒｔを割り当てる。
【０１９７】
ＮＰＶスイッチの１つのＮ＿ｐｏｒｔは、複数のＲＳＣＮを受信しても良い。そして、ＮＰＶスイッチのプロセッサ７０６は、第２のＮ＿ｐｏｒｔ  ＩＤをＮ＿ｐｏｒｔに割り当てるために、同じ第１のＮ＿ｐｏｒｔ  ＩＤを伝達し及び同じＮ＿ｐｏｒｔを用いることによりプロセッサ７０６により受信される第１のＲＳＣＮによってのみトリガされる。通常、ＮＰＶスイッチのプロセッサ７０６は、同じ第１のＮ＿ｐｏｒｔ  ＩＤを伝達する及び同じＮ＿ｐｏｒｔを用いることにより受信される複数の第１のＲＳＣＮのトリガに基づき、ＮＰＶスイッチの１つのＮ＿ｐｏｒｔに割り当てられた第２のＮ＿ｐｏｒｔ  ＩＤを変更しない。
【０１９８】
最後に、プロセッサ７０６は、ノードポート仮想化スイッチのＦポート７０４を用いることにより、第２の登録状態変更通知を送信する。ここで、第２の登録状態変更通知は、複数の第２のＮポート識別子のうちの１つを伝達する。
【０１９９】
プロセッサ７０６は、第２のＲＳＣＮを用いることにより、リモートノードのＮ＿ｐｏｒｔ  ＩＤを、ＮＰＶスイッチに接続されるノード（例えば、図１のノード１１０）に送信する。ＮＰＶスイッチの異なるＮポートに登録されたノードがリモートノードと同時に通信できるように、ＮＰＶスイッチは、リモートノードを複数の異なるリモートノード、つまりＮ＿ｐｏｒｔ  ＩＤが異なる第２のＮ＿ｐｏｒｔ  ＩＤであるリモートノードとして仮想化する。ＮＰＶスイッチのＮ＿ｐｏｒｔでは、プロセッサ７０６は、第２のＲＳＣＮを用いることにより、及びプロセッサ４０６によりメモリ７０８に記録される、第３のＮ＿ｐｏｒｔ  ＩＤとＮＰＶスイッチのＮ＿ｐｏｒｔとの間の対応に従って、第２のＮ＿ｐｏｒｔ  ＩＤを、Ｎ＿ｐｏｒｔに対応する第３のＮ＿ｐｏｒｔ  ＩＤに対応する全てのノードに割り当て、つまり、第２のＲＳＣＮを用いることにより、第２のＮ＿ｐｏｒｔ  ＩＤをＮ＿ｐｏｒｔに登録された全てのノードに送信する。例えば、第２のＲＳＣＮの宛先ＦＣ  ＩＤは、第３のＮ＿ｐｏｒｔ  ＩＤであり、第２のＲＳＣＮは、第２のＮ＿ｐｏｒｔ  ＩＤを伝達する。別の例では、トランスペアレントルータソリューションでは、第２のＲＳＣＮの宛先ＦＣ  ＩＤは、第３のＮ＿ｐｏｒｔ  ＩＤに対応する第４のＮ＿ｐｏｒｔ  ＩＤであり、第２のＲＳＣＮは第２のＮ＿ｐｏｒｔ  ＩＤを伝達する。通常、ＮＰＶスイッチにより送信される第２のＲＳＣＮの量は、Ｎ＿ｐｏｒｔについて登録されたノードの量と等しい。ＮＰＶスイッチのプロセッサ７０６は、第１のＲＳＣＮを受信するＮポートへ向けて、Ｎ＿ｐｏｒｔに対して登録された全てのノードへ第２のＲＳＣＮを送信する。つまり、第１のＲＳＣＮのトリガに基づいて、第２のＲＳＣＮを送信する。
【０２００】
第２のＮ＿ｐｏｒｔ  ＩＤが、リモートノードに、ＮＰＶスイッチの複数のＮ＿ｐｏｒｔについて割り当てられるので、これらのＮ＿ｐｏｒｔのうちのどのＮ＿ｐｏｒｔにＮＰＶスイッチに接続されたノードが登録されるかに係わらず、ノードは、リモートノードの及びＮ＿ｐｏｒｔに対応する第２のＮ＿ｐｏｒｔ  ＩＤを得ることができる。したがって、ＮＰＶスイッチに接続された任意のノードは、任意のリモートノードと通信でき、それにより通信効率が向上する。
【０２０１】
ＮＰＶスイッチは、ＦＣパケットを転送するよう構成される転送部７１０を更に有する。転送部は、具体的には、ＡＳＩＣ、ＦＰＧＡ、又はＮＰであっても良い。転送部７１０は、バスを用いることにより、少なくとも２つのＮポート７０２、Ｆポート７０４、及びメモリ７０８に接続される。
【０２０２】
リモートノードと通信しているとき、ＮＰＶスイッチに接続されたノードは、ＦＣパケットをリモートノードへ送信する。ＮＰＶスイッチの転送部７１０は、ＮＰＶスイッチのＦポート７０４を用いることによりＦＣパケットを受信する。ここで、ＦＣパケットの宛先ＦＣ  ＩＤは第２のＮ＿ｐｏｒｔ  ＩＤである。ＮＰＶスイッチの転送部７１０は、ＦＣパケットの宛先ＦＣ  ＩＤを、第２のＮ＿ｐｏｒｔ  ＩＤに対応する第１のＮ＿ｐｏｒｔ  ＩＤで置換する。１つの第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、第１のＲＳＣＮを受信する複数のＮ＿ｐｏｒｔとの間には一対一対応の関係があるので、ＮＰＶスイッチの転送部７１０は、置換したＦＣパケットを送信するために、第２のＮ＿ｐｏｒｔ  ＩＤに従って、第２のＮ＿ｐｏｒｔ  ＩＤに対応するユニークなＮ＿ｐｏｒｔを見付けることができる。トランスペアレントルータソリューションでは、ＦＣパケットの送信元ＦＣ  ＩＤは、第４のＮ＿ｐｏｒｔ  ＩＤである。トランスペアレントルータソリューションでは、さらに、ＮＰＶスイッチの転送部７１０は、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応に従って、ＦＣパケットの送信元ＦＣ  ＩＤを第３のＮ＿ｐｏｒｔ  ＩＤで置き換える。ＮＰＶスイッチの転送部７１０は、第２のＮ＿ｐｏｒｔ  ＩＤに対応するＮ＿ｐｏｒｔを用いることにより、置換したＦＣパケットを送信する。
【０２０３】
ＮＰＶスイッチに接続されたノードと通信しているとき、リモートノードは、ＦＣパケットをＮＰＶスイッチに接続されたノードへ送信する。ＮＰＶスイッチの転送部４１０は、ＦＣ−ＳＷに接続された少なくとも２つのＮポート７０２のうちの１つのＮポートを用いることにより、ＦＣパケットを受信する。ここで、ＦＣパケットの送信元ＦＣ  ＩＤは第１のＮ＿ｐｏｒｔ  ＩＤである。ＮＰＶスイッチの転送部４１０は、ＦＣパケットの送信元ＦＣ  ＩＤを、第１のＮ＿ｐｏｒｔ  ＩＤに対応する複数の第２のＮ＿ｐｏｒｔ  ＩＤのうちの１つであり及びＦＣパケットを受信するＮポートに対応する第２のＮ＿ｐｏｒｔ  ＩＤで置換する。１つの第１のＮ＿ｐｏｒｔ  ＩＤに対応する全ての第２のＮ＿ｐｏｒｔ  ＩＤと、第１のＲＳＣＮを受信する複数のＮ＿ｐｏｒｔとの間には一対一対応の関係があるので、ＮＰＶスイッチの転送部４１０は、第１のＮ＿ｐｏｒｔ  ＩＤ及びＦＣパケットを受信するＮポートに従って、第１のＮ＿ｐｏｒｔ  ＩＤに対応するユニークな第２のＮ＿ｐｏｒｔを見付けることができる。ＦＣパケットの宛先ＦＣ  ＩＤは第３のＮ＿ｐｏｒｔ  ＩＤである。トランスペアレントルータソリューションでは、さらに、ＮＰＶスイッチの転送部４１０は、第３のＮ＿ｐｏｒｔ  ＩＤと第４のＮ＿ｐｏｒｔ  ＩＤとの間の対応に従って、ＦＣパケットの宛先ＦＣ  ＩＤを第４のＮ＿ｐｏｒｔ  ＩＤで置換する。ＮＰＶスイッチは、置換したＦＣパケットを送信する。具体的には、ＮＰＶスイッチは、Ｆ＿ｐｏｒｔを用いることにより、置換したＦＣパケットを送信する。
【０２０４】
ＦＣパケットを置換し及び転送する転送部７１０により使用される対応は、ＦＣパケットが受信された後に、転送部７０８によりメモリ７１０から取得されても良い。代替で、転送部７１０は、メモリ７０８から、ＦＣパケットを置換し及び転送するために必要な対応を周期的に取得して、該対応を転送部７１０の中のメモリに保存しても良い。或いは、対応が変化すると、プロセッサ７０６は、転送部７１０の中のメモリに、ＦＣパケットを置換し及び転送するために必要な対応を保存しても良い。対応を周期的に取得する方法及び対応が変化したときに対応を取得する方法は、共存しても良い。
【０２０５】
図２乃至図４に示す実施形態により提供される技術的ソリューション及び図５乃至図７に示す実施形態により提供される技術的ソリューションは、全体的な発明概念に属する。両者は、１つの第１のＮ＿ｐｏｒｔ  ＩＤに応じて、複数の異なる第２のＮ＿ｐｏｒｔ  ＩＤを複数のＮポートに割り当てようとする。唯一の相違点は、第２のＮ＿ｐｏｒｔ  ＩＤを割り当てるトリガ条件にある。図２乃至図４に示す実施形態により提供技術的ソリューションでは、ＮＰＶスイッチは、同じ第１のＮ＿ｐｏｒｔ  ＩＤを伝達し及びＮＰＶスイッチにより受信される第１のＲＳＣＮにより、第２のＮ＿ｐｏｒｔ  ＩＤをＦＣ−ＳＷに接続される全てのＮ＿ｐｏｒｔに割り当てる動作を実行するよう、トリガされる。図５乃至図７に示す実施形態により提供される技術的ソリューションでは、ＮＰＶスイッチは、各第１のＲＳＣＮにより、第２のＮ＿ｐｏｒｔ  ＩＤを第１のＲＳＣＮを受信するＮ＿ｐｏｒｔに割り当てるよう、トリガされる。図２乃至図４に示す実施形態により提供される技術的ソリューションでは、第２のＮ＿ｐｏｒｔ  ＩＤの割り当ては、どの第２のＮ＿ｐｏｒｔ  ＩＤが第１のＮ＿ｐｏｒｔ  ＩＤに対応して割り当てられたかを学習する必要がなく、単純である。図５乃至図７に示す実施形態により提供される技術的ソリューションでは、ダイ２のＮ＿ｐｏｒｔ  ＩＤが割り当てられる必要のあるＮ＿ｐｏｒｔを取得するプロセスは、いずれも追加の自動発見方法で、どのＮ＿ｐｏｒｔがＦＣ−ＳＷに接続されるかに関する事前設定情報が必要なく、或いは、どのＮ＿ｐｏｒｔがＦＣ−ＳＷに接続されるかを決定する必要がない。
【０２０６】
当業者は、方法の実施形態のステップの全部又は一部が関連するハードウェアに指示するプログラムにより実装されても良いことを理解する。プログラムは、コンピュータ可読記憶媒体に格納されても良い。記憶媒体は、ランダムアクセスメモリ、読み出し専用メモリ、フラッシュメモリ、ハードディスク、固体ディスク、又は光ディスクであっても良い。
【０２０７】
上述の説明は、本発明の単なる例示的な実装方法であり、本発明の保護範囲を制限するものではない。本発明で開示された技術範囲内にある、当業者により直ちに考案される変形又は置換は、本発明の保護範囲に包含される。したがって、本発明の保護範囲は、特許請求の範囲に従う。
【図１】
0006047248.tif 000002
【図２】
0006047248.tif 000003
【図３】
0006047248.tif 000004
【図４】
0006047248.tif 000005
【図５】
0006047248.tif 000006
【図６】
0006047248.tif 000007
【図７】
0006047248.tif 000008