(57)【要約】【課題】  ストレージエリアネットワーク内で送信するためにパケットまたはフレームをカプセル化する方法および装置を提供する。【解決手段】  ストレージエリアネットワーク内で使用される標準プロトコルと互換性のあるパケットまたはフレームが受信または生成される。このパケットまたはフレームはそれから、仮想ストレージエリアネットワーク識別子とともにカプセル化される。パケットまたはフレームは、ＴＴＬ値、ＭＰＬＳ情報、およびそのパケットまたはフレームによって運ばれるべきトラフィックのタイプのうちの少なくとも１つとともにさらにカプセル化されえる。例えば、パケットまたはフレームによって運ばれるべきトラフィックのタイプは、イーサネット、ファイバチャネル、およびインフィニバンドを含みえる。いったんカプセル化されると、カプセル化されたパケットまたはフレームは、ストレージエリアネットワーク上で送信される。例えば、カプセル化されたパケットまたはフレームは、ストレージエリアネットワーク内のインタースイッチリンクにわたってスイッチによって生成されえるとともに、送信されえる。
2005514862.tif 000002
【特許請求の範囲】
【請求項１】
ストレージエリアネットワーク内で使うためにネットワークデバイス上で実現される方法であって、
前記ストレージエリアネットワーク内で使用される標準プロトコルと互換性のあるパケットまたはフレームを受信または生成すること、
前記パケットまたはフレームを、仮想ストレージエリアネットワーク識別子およびＴＴＬ値およびＭＰＬＳ情報のうちの少なくとも１つを特定する情報とともにカプセル化すること、および
前記カプセル化されたパケットまたはフレームを送信すること
を含む方法。
【請求項２】
請求項１に記載の方法であって、前記ネットワークデバイスはスイッチであり、前記カプセル化されたパケットまたはフレームを送ることは、前記カプセル化されたパケットまたはフレームを前記ストレージエリアネットワーク内のインタースイッチリンク上で送信することを含む方法。
【請求項３】
請求項１に記載の方法であって、カプセル化することは、ヘッダを前記パケットまたはフレームにアペンドすることによって新しいパケットまたはフレームを作ることを含み、前記ヘッダは前記仮想ストレージエリアネットワーク識別子およびＴＴＬ値およびＭＰＬＳ情報のうちの少なくとも１つを特定する情報のためのフィールドを含む方法。
【請求項４】
請求項１に記載の方法であって、前記ＴＴＬ値は、前記カプセル化されたパケットまたはフレームが廃棄される前に移動されえる残りのホップの回数を特定する方法。
【請求項５】
請求項１に記載の方法であって、前記ＴＴＬ値は、残りの生存可能時間を特定する方法。
【請求項６】
請求項３に記載の方法であって、前記新しいパケットまたはフレームのためのエラーチェック値を計算すること、および前記エラーチェック値を前記新しいパケットまたはフレーム内に含めることをさらに含む方法。
【請求項７】
請求項３に記載の方法であって、前記ヘッダは、前記ＴＴＬ値のための第１フィールドおよび前記ＭＰＬＳ情報のための第２フィールドを含む方法。
【請求項８】
請求項３に記載の方法であって、前記ヘッダは、前記パケットまたはフレームによって運ばれるべきトラフィックのタイプを特定するフィールドをさらに備え、前記利用可能なタイプは、イーサネット、ファイバチャネル、およびインフィニバンドのうちの少なくとも１つを含む方法。
【請求項９】
請求項８に記載の方法であって、前記パケットまたはフレームによって運ばれるべき前記トラフィックのタイプは、前記パケットまたはフレームの前記標準プロトコルを特定する方法。
【請求項１０】
請求項８に記載の方法であって、前記ヘッダは、前記パケットまたはフレームによって運ばれるべきトラフィックのタイプを特定する前記フィールドのために４ビットを含む方法。
【請求項１１】
請求項３に記載の方法であって、前記ヘッダは、前記パケットまたはフレームについてのユーザプライオリティを特定するフィールドをさらに備える方法。
【請求項１２】
請求項１に記載の方法であって、前記標準プロトコルはファイバチャネルである方法。
【請求項１３】
請求項１に記載の方法であって、前記標準プロトコルはイーサネットである方法。
【請求項１４】
請求項１に記載の方法であって、前記標準プロトコルはインフィニバンドである方法。
【請求項１５】
請求項３に記載の方法であって、前記仮想ストレージエリアネットワーク識別子のための前記ヘッダフィールドは、予約された１２ビットを有する方法。
【請求項１６】
請求項３に記載の方法であって、前記ヘッダはＴＴＬフィールドを含み、前記フィールドは予約された８ビットを有する方法。
【請求項１７】
請求項３に記載の方法であって、前記ヘッダは１つ以上のＭＰＬＳラベルが存在するかを示す指示子フィールドを含む方法。
【請求項１８】
請求項３に記載の方法であって、前記ヘッダは、前記新しいパケットまたはフレーム内に存在するＭＰＬＳラベルの個数を示す指示子フィールドを含む方法。
【請求項１９】
請求項３に記載の方法であって、前記新しいパケットまたはフレームは、１つ以上のＭＰＬＳラベルを含み、前記ラベルのそれぞれは、前記ラベルがラベルスタック中の最後のラベルであるかを示す指示子を含む方法。
【請求項２０】
請求項１７に記載の方法であって、前記指示子フィールドは１ビットである方法。
【請求項２１】
請求項１に記載の方法であって、前記ヘッダは前記ヘッダのバージョンを示すバージョンフィールドをさらに含む方法。
【請求項２２】
その上にコンピュータで読み取り可能な、ストレージエリアネットワーク内のネットワークデバイス上で方法を実行する命令を記憶するコンピュータで読み取り可能な媒体であって、
前記ストレージエリアネットワーク内で使用される標準プロトコルと互換性のあるパケットまたはフレームを受信または生成する命令、
前記パケットまたはフレームを、仮想ストレージエリアネットワーク識別子およびＴＴＬ値およびＭＰＬＳ情報のうちの少なくとも１つを特定する情報とともにカプセル化する命令、および
前記カプセル化されたパケットまたはフレームを送信する命令
を含むコンピュータで読み取り可能な媒体。
【請求項２３】
請求項２２に記載のコンピュータで読み取り可能な媒体であって、前記ネットワークデバイスはスイッチであり、前記カプセル化されたパケットまたはフレームを送る命令は、前記カプセル化されたパケットまたはフレームを前記ストレージエリアネットワーク内のインタースイッチリンク上で送信する命令を含むコンピュータで読み取り可能な媒体。
【請求項２４】
請求項２２に記載のコンピュータで読み取り可能な媒体であって、カプセル化する命令は、ヘッダを前記パケットまたはフレームにアペンドすることによって新しいパケットまたはフレームを作る命令を含み、前記ヘッダは前記仮想ストレージエリアネットワーク識別子およびＴＴＬ値およびＭＰＬＳ情報のうちの少なくとも１つを特定する情報のためのフィールドを含むコンピュータで読み取り可能な媒体。
【請求項２５】
請求項２２に記載のコンピュータで読み取り可能な媒体であって、前記ＴＴＬ値は、前記カプセル化されたパケットまたはフレームが廃棄される前に移動されえる残りのホップの回数を特定するコンピュータで読み取り可能な媒体。
【請求項２６】
請求項２２に記載のコンピュータで読み取り可能な媒体であって、前記ＴＴＬ値は、残りの生存可能時間を特定するコンピュータで読み取り可能な媒体。
【請求項２７】
請求項２４に記載のコンピュータで読み取り可能な媒体であって、前記新しいパケットまたはフレームのためのエラーチェック値を計算する命令、および前記エラーチェック値を前記新しいパケットまたはフレーム内に含める命令をさらに含むコンピュータで読み取り可能な媒体。
【請求項２８】
請求項２４に記載のコンピュータで読み取り可能な媒体であって、前記ヘッダは、前記ＴＴＬ値のための第１フィールドおよび前記ＭＰＬＳ情報のための第２フィールドを含むコンピュータで読み取り可能な媒体。
【請求項２９】
請求項２４に記載の方法であって、前記ヘッダは、前記パケットまたはフレームによって運ばれるべきトラフィックのタイプを特定するフィールドをさらに備え、前記利用可能なタイプは、イーサネット、ファイバチャネル、およびインフィニバンドのうちの少なくとも１つを含むコンピュータで読み取り可能な媒体。
【請求項３０】
請求項２９に記載のコンピュータで読み取り可能な媒体であって、前記パケットまたはフレームによって運ばれるべき前記トラフィックのタイプは、前記パケットまたはフレームの前記標準プロトコルを特定するコンピュータで読み取り可能な媒体。
【請求項３１】
請求項２９に記載のコンピュータで読み取り可能な媒体であって、前記ヘッダは、前記パケットまたはフレームによって運ばれるべきトラフィックのタイプを特定する前記フィールドのために４ビットを含むコンピュータで読み取り可能な媒体。
【請求項３２】
請求項２４に記載のコンピュータで読み取り可能な媒体であって、前記ヘッダは、前記パケットまたはフレームについてのユーザプライオリティを特定するフィールドをさらに備えるコンピュータで読み取り可能な媒体。
【請求項３３】
請求項２２に記載のコンピュータで読み取り可能な媒体であって、前記標準プロトコルはファイバチャネルであるコンピュータで読み取り可能な媒体。
【請求項３４】
請求項２２に記載のコンピュータで読み取り可能な媒体であって、前記標準プロトコルはイーサネットであるコンピュータで読み取り可能な媒体。
【請求項３５】
請求項２２に記載のコンピュータで読み取り可能な媒体であって、前記標準プロトコルはインフィニバンドであるコンピュータで読み取り可能な媒体。
【請求項３６】
請求項２４に記載のコンピュータで読み取り可能な媒体であって、前記仮想ストレージエリアネットワーク識別子のための前記ヘッダフィールドは、予約された１２ビットを有するコンピュータで読み取り可能な媒体。
【請求項３７】
請求項２４に記載のコンピュータで読み取り可能な媒体であって、前記ヘッダはＴＴＬフィールドを含み、前記フィールドは予約された８ビットを有するコンピュータで読み取り可能な媒体。
【請求項３８】
請求項２４に記載のコンピュータで読み取り可能な媒体であって、前記ヘッダは１つ以上のＭＰＬＳラベルが存在するかを示す指示子フィールドを含むコンピュータで読み取り可能な媒体。
【請求項３９】
請求項２４に記載のコンピュータで読み取り可能な媒体であって、前記ヘッダは、前記新しいパケットまたはフレーム内に存在するＭＰＬＳラベルの個数を示す指示子フィールドを含むコンピュータで読み取り可能な媒体。
【請求項４０】
請求項２４に記載のコンピュータで読み取り可能な媒体であって、前記新しいパケットまたはフレームは、１つ以上のＭＰＬＳラベルを含み、前記ラベルのそれぞれは、前記ラベルがラベルスタック中の最後のラベルであるかを示す指示子を含むコンピュータで読み取り可能な媒体。
【請求項４１】
請求項３８に記載のコンピュータで読み取り可能な媒体であって、前記指示子フィールドは１ビットであるコンピュータで読み取り可能な媒体。
【請求項４２】
請求項２２に記載のコンピュータで読み取り可能な媒体であって、前記ヘッダは前記ヘッダが存在するかを示す指示子フィールドをさらに含むコンピュータで読み取り可能な媒体。
【請求項４３】
請求項２２に記載のコンピュータで読み取り可能な媒体であって、前記ヘッダは前記ヘッダのバージョンを示すバージョンフィールドをさらに含むコンピュータで読み取り可能な媒体。
【請求項４４】
ストレージエリアネットワーク内で用いられるネットワークデバイスであって、
前記ストレージエリアネットワーク内で使用される１つ以上の標準プロトコルと互換性のあるパケットまたはフレームを受信または生成するようそれぞれ構成された複数のポート、および
少なくとも１つの前記標準プロトコルのパケットまたはフレームを、仮想ストレージエリアネットワーク識別子およびＴＴＬ値およびＭＰＬＳ情報のうちの少なくとも１つを特定する情報を含むようにカプセル化し、前記結果として生じるカプセル化されたパケットまたはフレームを前記ストレージエリアネットワーク上で伝送するために提供するプロセッサおよび関連付けられた命令
を備えるネットワークデバイス。
【請求項４５】
ストレージエリアネットワーク内で用いられるネットワークデバイスであって、
前記ストレージエリアネットワーク内で使用される１つ以上の標準プロトコルと互換性のあるパケットまたはフレームを受信または生成する手段、
少なくとも１つの前記標準プロトコルのパケットまたはフレームを、仮想ストレージエリアネットワーク識別子およびＴＴＬ値およびＭＰＬＳ情報のうちの少なくとも１つを特定する情報を含むようにカプセル化する手段、および
前記結果として生じるカプセル化されたパケットまたはフレームを前記ストレージエリアネットワーク上で伝送するために提供する手段
を備えるネットワークデバイス。
【請求項４６】
ストレージエリアネットワーク内で用いられるスイッチであって、
前記ストレージエリアネットワーク内で使用される１つ以上の標準プロトコルと互換性のあるパケットまたはフレームを受信または生成するようそれぞれ構成された複数のポートであって、前記ポートのうちの少なくとも１つはストレージエリアネットワーク上の他のスイッチとのインタースイッチリンクをサポートする複数のポート、および
少なくとも１つの前記標準プロトコルのパケットまたはフレームを、仮想ストレージエリアネットワーク識別子およびＴＴＬ値およびＭＰＬＳ情報のうちの少なくとも１つを特定する情報を含むようにカプセル化し、前記結果として生じるカプセル化されたパケットまたはフレームを前記インタースイッチリンクをサポートする前記ポートから伝送するために提供するプロセッサおよび関連付けられた命令
を備えるスイッチ。
【請求項４７】
請求項４６に記載のスイッチであって、インタースイッチリンクをサポートする前記ポートは、ファイバチャネルパケットまたはフレームを提供するスイッチ。
【請求項４８】
請求項４６に記載のスイッチであって、インタースイッチリンクをサポートする前記ポートは、イーサネットパケットまたはフレームを提供するスイッチ。
【請求項４９】
請求項４６に記載のスイッチであって、インタースイッチリンクをサポートする前記ポートは、インフィニバンドパケットまたはフレームを提供するスイッチ。
【請求項５０】
請求項４６に記載のスイッチであって、それぞれが前記複数のポートのうちの少なくとも１つを提供する複数のラインカードをさらに備えるスイッチ。
【請求項５１】
請求項４６に記載のスイッチであって、前記プロセッサは、ヘッダを前記パケットまたはフレームに付加することによって新しいパケットまたはフレームを作ることで前記パケットまたはフレームをカプセル化することができ、前記ヘッダは、前記仮想ストレージエリアネットワーク識別子のためのフィールドおよび前記ＴＴＬ値および前記ＭＰＬＳ情報のうちの少なくとも１つを特定する情報を含むスイッチ。
【請求項５２】
請求項５１に記載のスイッチであって、前記プロセッサは、前記新しいパケットまたはフレームについてのエラーチェック値を計算し、前記エラーチェック値を前記新しいパケットまたはフレームに含ませるスイッチ。
【請求項５３】
請求項５１に記載のスイッチであって、前記ヘッダは、前記ＴＴＬ値のための第１フィールドおよび前記ＭＰＬＳ情報のための第２フィールドを含むスイッチ。
【請求項５４】
請求項５１に記載のスイッチであって、前記ヘッダは、前記パケットまたはフレームによって運ばれるべきトラフィックのタイプを特定するフィールドをさらに備え、前記利用可能なタイプは、イーサネット、ファイバチャネル、およびインフィニバンドのうちの少なくとも１つを含むスイッチ。
【請求項５５】
ストレージエリアネットワーク内で用いられるネットワークデバイス上で実現される方法であって、
前記ストレージエリアネットワーク内で使用される標準プロトコルと互換性のあるパケットまたはフレームを受信または生成すること、
前記パケットまたはフレームを、仮想ストレージエリアネットワーク識別子および前記パケットまたはフレームによって運ばれるべきトラフィックのタイプを特定する情報とともにカプセル化することであって、前記利用可能なタイプは、イーサネット、ファイバチャネル、およびインフィニバンドのうちの少なくとも１つを含むカプセル化すること、および
前記カプセル化されたパケットまたはフレームを送信すること
を含む方法。
【請求項５６】
請求項５５に記載の方法であって、前記ネットワークデバイスはスイッチであり、前記カプセル化されたパケットまたはフレームを送ることは、前記カプセル化されたパケットまたはフレームを前記ストレージエリアネットワーク内のインタースイッチリンク上で送信することを含む方法。
【請求項５７】
請求項５５に記載の方法であって、カプセル化することは、ヘッダを前記パケットまたはフレームに付加することによって新しいパケットまたはフレームを作ることを含み、前記ヘッダは、前記仮想ストレージエリアネットワーク識別子および前記パケットまたはフレームによって運ばれるべきトラフィックのタイプのためのフィールドを含む方法。
【請求項５８】
請求項５７に記載の方法であって、前記ヘッダは、前記ＴＴＬ値のための第１フィールドおよび前記ＭＰＬＳ情報のための第２フィールドを含む方法。
【請求項５９】
請求項５５に記載の方法であって、前記パケットまたはフレームによって運ばれるべきトラフィックのタイプは、前記パケットまたはフレームの前記標準プロトコルを特定する方法。
【請求項６０】
ストレージエリアネットワーク内で用いられるネットワークデバイス上で方法を実行するコンピュータで読み取り可能な命令を記憶するコンピュータで読み取り可能な媒体であって、
前記ストレージエリアネットワーク内で使用される標準プロトコルと互換性のあるパケットまたはフレームを受信または生成する命令、
前記パケットまたはフレームを、仮想ストレージエリアネットワーク識別子および前記パケットまたはフレームによって運ばれるべきトラフィックのタイプを特定する情報とともにカプセル化する命令であって、前記利用可能なタイプは、イーサネット、ファイバチャネル、およびインフィニバンドのうちの少なくとも１つを含むカプセル化する命令、および
前記カプセル化されたパケットまたはフレームを送信する命令
を含むコンピュータで読み取り可能な媒体。
【請求項６１】
請求項６０に記載のコンピュータで読み取り可能な媒体であって、前記ネットワークデバイスはスイッチであり、前記カプセル化されたパケットまたはフレームを送ることは、前記カプセル化されたパケットまたはフレームを前記ストレージエリアネットワーク内のインタースイッチリンク上で送信することを含むコンピュータで読み取り可能な媒体。
【請求項６２】
請求項６０に記載のコンピュータで読み取り可能な媒体であって、カプセル化する命令は、ヘッダを前記パケットまたはフレームに付加することによって新しいパケットまたはフレームを作る命令を含み、前記ヘッダは、前記仮想ストレージエリアネットワーク識別子および前記パケットまたはフレームによって運ばれるべきトラフィックのタイプのためのフィールドを含むコンピュータで読み取り可能な媒体。
【請求項６３】
請求項６２に記載のコンピュータで読み取り可能な媒体であって、前記ヘッダは、前記ＴＴＬ値のための第１フィールドおよび前記ＭＰＬＳ情報のための第２フィールドを含むコンピュータで読み取り可能な媒体。
【請求項６４】
請求項６０に記載のコンピュータで読み取り可能な媒体であって、前記パケットまたはフレームによって運ばれるべきトラフィックのタイプは、前記パケットまたはフレームの前記標準プロトコルを特定するコンピュータで読み取り可能な媒体。
【請求項６５】
ファイバチャネルネットワーク内で用いられるスイッチ上で実現される方法であって、
ファイバチャネルパケットまたはフレームを受信または生成すること、
前記ファイバチャネルパケットまたはフレームをＴＴＬ値とともにカプセル化すること、および
前記カプセル化されたパケットまたはフレームを前記ファイバチャネルネットワーク内のインタースイッチリンク上で送信すること
を含む方法。
【請求項６６】
ファイバチャネルネットワーク内で用いられるスイッチ上で方法を実行するコンピュータで読み取り可能な命令をその上に記憶するコンピュータで読み取り可能な媒体であって、
ファイバチャネルパケットまたはフレームを受信または生成する命令、
前記ファイバチャネルパケットまたはフレームをＴＴＬ値とともにカプセル化する命令、および
前記カプセル化されたパケットまたはフレームを前記ファイバチャネルネットワーク内のインタースイッチリンク上で送信する命令
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク技術に関する。より具体的には本発明は、ストレージエリアネットワーク内の送信のためにフレームをカプセル化する方法および装置に関する。
【背景技術】
【０００２】
コンピュータおよび他のデバイスをネットワーク内で相互接続するとき、「仮想ローカルエリアネットワーク」（ＶＬＡＮ）を作ることが望ましくなっており、ＶＬＡＮの中では、ＶＬＡＮに結合される全てのデバイスは、そのＶＬＡＮでユニバーサルにアドレスされる（ブロードキャスト、マルチキャスト、または他の手法によって）全てのフレームまたはパケットを受け取り、ＶＬＡＮの中では、ＶＬＡＮ上のデバイスによってユニバーサルにアドレスされる全てのフレームまたはパケットは、そのＶＬＡＮの外のデバイスには分配されない。ＶＬＡＮのアプローチは、単一の物理的インフラストラクチャが複数のユーザに利用可能にされなければならず、それぞれがそのデータが他のユーザからはプライベートの状態で維持されることを要求するとき、特に望ましい。さらにＶＬＡＮアプローチは、同じインフラストラクチャ上にあるが異なるＶＬＡＮに属するデバイスの故障から所定のＶＬＡＮ上のネットワークエンティティを保護する。
【０００３】
さまざまなＶＬＡＮトランスポートプロトコル技術が提案されてきており、この技術において受け入れられてきている。例えば現在よく使われるＶＬＡＮ技術は、ＬＡＮＥ（ＡＴＭのためのＬＡＮエミュレーション）、ＩＥＥＥ標準８０２．１０、およびインタースイッチリンク（ＩＳＬ）（例えばCisco Catalyst.TM. Inter-Switch Links）のようなさまざまな所有権が主張されるスキームを含む。
【０００４】
複数のＶＬＡＮが基礎となる物理的トポロジ上で単一のインタースイッチリンクを共有できるようにするために、インタースイッチリンク（ＩＳＬ）がCisco Systemsにおいて開発された。例えば、「Interswitch link mechanism for connecting high-performance network switches」と題されたEdsallらによる１９９８年４月２１日にCisco Systems, Inc.に発行された米国特許第５，７４２，６０４号を参照されたく、この特許は全ての目的のためにここで参照によって援用される。ＩＳＬは、ネットワーク内の異なるスイッチのポート間で、これらポートの間のＶＬＡＮ結合に基づいてパケットを伝送するためのカプセル化メカニズムを提供する。
【０００５】
ＩＳＬは単一の基礎となるネットワークトポロジ上で複数のＶＬＡＮをサポートするが、ある種の限界が見られている。これらの限界のいくつかは、最近のストレージエリアネットワーク（ＳＡＮ）上への容易な実現を妨げる。
【０００６】
近年、ストレージデバイスの容量は、ストレージへの要求に見合うほどは急速に増えていない。したがって与えられたサーバまたは他のホストは、複数の物理的に別個のストレージ手段（典型的にはディスク）にアクセスしなければならない。これらストレージの限界を解決するため、ストレージエリアネットワークが開発された。一般にストレージエリアネットワークは、異なるデータストレージデバイスおよび関連付けられたデータホストをユーザのより大きなネットワークのために相互接続する高速の特定目的ネットワークである。しかしストレージデバイスがネットワーク内のさまざまなネットワークデバイスおよび／またはエンティティによって使用されるために構成されえることをＳＡＮは可能にするが、データストレージの要求は、しばしば静的ではなく動的である。
【０００７】
ＳＡＮは、イーサネット（登録商標。以下同様。）またはファイバチャネルフレームのようなさまざまなタイプのネットワークトラフィックを用いえる。使われる技術にかかわらず現在のＳＡＮ技術は、単一のプロトコル（例えばファイバチャネル）が特定のＳＡＮ全体で用いられることを要求する。よって現在の技術は、異なるトランスポートプロトコルまたは技術が同時に共存する複数のＳＡＮシステムをサポートする要求に応えられない。ＩＳＬはもともとイーサネットパケットのカプセル化のために設計されたことに注意されたい。それは単一の物理的ネットワークインフラストラクチャ上での複数の異なるプロトコルをサポートしない。
【０００８】
イーサネットは、現在最も広くインストールされたＬＡＮ技術である。もっともひろくインストールされたイーサネットシステムは１０ＢＡＳＥ−Ｔシステムであり、これは１０Ｍｂｐｓまでの伝送速度を提供する。あるいは速いイーサネットシステムの１００ＢＡＳＥ−Ｔシステムは、１００メガビット毎秒までの伝送速度を提供し、一方、ギガビットイーサネットは１０００メガビット毎秒（つまり１０億ビット毎秒）までの伝送速度を提供する。
【０００９】
イーサネットは広く用いられるが、ファイバチャネルの利用は、高い帯域幅および低いレイテンシを要求するシステムにおいて増えている。より具体的にはファイバチャネルの標準のファミリー（アメリカ国家規格協会）によって開発された）は、ファイバチャネルインタフェースを有するパーソナルコンピュータ、ワークステーション、メインフレーム、スーパコンピュータ、ストレージデバイスおよびサーバのようなさまざまなハードウェアシステム間の大量のデータの転送のための高速通信インタフェースを定義する。ファイバチャネルは、コンピュータサーバを共有ストレージデバイスに接続し、ストレージコントローラおよびドライブを相互接続するのに特に適する。さらにファイバチャネルは、コンピュータデバイス間で１Ｇｂｐｓまでのデータ速度においてデータを転送することが可能であり、１０Ｇｂｐｓのデータ速度は、Fibre Channel Industry Associationによって提案されている。したがってファイバチャネルは、ＳＡＮにおいてデータを転送するのに広く用いられている技術である。しかし上述のように、ＩＳＬはファイバチャネル伝送のためには最適化されていなかった。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述を鑑み、もしＶＬＡＮの特性がＳＡＮのそれと融合されることによってさまざまなストレージデバイスが論理的にネットワーク内のさまざまなエンティティに割り当てられるようにできるならそれが望ましいだろう。さらにもし単一のスイッチメカニズムが同時に、ＳＡＮのようなネットワーク内の異なる伝送プロトコル（少なくともファイバチャネルを含む）をサポートできるなら有利だろう。
【課題を解決するための手段】
【００１１】
ストレージエリアネットワーク内で送信するためにパケットまたはフレームをカプセル化する方法および装置が開示される。より具体的には、開示されたカプセル化プロセスによれば、パケットまたはフレームは、仮想ストレージエリアネットワーク（ＶＳＡＮ）識別子とともにカプセル化される。このようなカプセル化されたパケットまたはフレームの生成および送信を通して、単一のＶＳＡＮの実現とともに複数の相互接続されたＶＳＡＮを含むネットワークが実現できる。
【００１２】
本発明のさまざまな実施形態によれば、カプセル化メカニズムが仮想ストレージエリアネットワーク（ＶＳＡＮ）内で実現される。ＶＳＡＮの概念を通じて、１つ以上のネットワークデバイス（例えばサーバ）および１つ以上のデータ記憶デバイスが、共通物理インフラストラクチャ内で規定される論理ネットワークとしてグループ化される。それぞれのＶＳＡＮは、ＶＳＡＮ識別子によってユニークに特定される。
【００１３】
本発明のある局面によれば、ストレージエリアネットワーク内で使用される標準プロトコルと互換性のあるパケットまたはフレームが受信または生成される。このパケットまたはフレームはそれから、ＶＳＡＮ識別子とともにカプセル化される。例えば新しいヘッダ（またはトレイラ）が標準プロトコルと互換性を持つパケットまたはフレームにアペンドされえる。いったんカプセル化されると、カプセル化されたパケットまたはフレームは、ストレージエリアネットワーク上で送信される。カプセル化されたパケットまたはフレームは、典型的には、複数のＶＳＡＮによって共有されたエンハンストインタースイッチリンクのようなリンク上で送られる。
【００１４】
ＶＳＡＮ識別子に加えて、カプセル化されたパケットまたはフレームは、さらなる情報を含みえる。より具体的には、ある実施形態によれば、パケットまたはフレームは、生存時間（ＴＴＬ）値および／またはマルチプロトコルラベルスイッチング（ＭＰＬＳ）情報のうちの少なくとも１つとともにカプセル化される。例えば、ＴＴＬ値は、カプセル化されたパケットまたはフレームが廃棄される前に移動されえる残りのホップの回数を特定するために用いられえる。ＴＴＬ値はまた、残りの生存時間を時間の単位（例えばミリ秒）で特定するために用いられえる。ＭＰＬＳは、ＩＰパケットおよびイーサネットフレームのようなパケットおよびフレームを転送するためにさまざまな技術で用いられるよくある転送メカニズムである。しかしＭＰＬＳは、ファイバチャネルフレームとともに用いるためには実現または提言されてこなかった。
【００１５】
他の実施形態によれば、フレームは、そのフレームによって運ばれるべきトラフィックのタイプとともにカプセル化される。例えば、フレームによって運ばれるべきトラフィックのタイプは、イーサネット、ファイバチャネル、およびインフィニバンドを含みえる。典型的には、この「タイプ」は、そのフレームを生成するために使用された標準プロトコルをいう。トラフィックタイプの特定を通じて、さまざまなトラフィックタイプを運ぶフレームがＶＳＡＮ内で送信されえる。さらにそれぞれが異なるトラフィックタイプをサポートできる複数のＶＳＡＮは、新しくアペンドされたヘッダ内のトラフィックタイプの識別を通じて相互接続されえる。
【００１６】
さまざまなネットワークデバイスが、標準プロトコル（例えばファイバチャネル）と互換性のあるフレームを生成するよう構成または適用されえる。同様に、さまざまなネットワークデバイスは、フレームを受け取り、フレームをカプセル化し、かつカプセル化されたフレームをＶＳＡＮを介して送信することができる。これらのネットワークデバイスは、以下に限定されないが、サーバ（例えばホスト）およびスイッチを含む。さらに上述の生成およびカプセル化プロセスのための機能は、ハードウェアとともにソフトウェアでも実現されえる。
【００１７】
本発明のさらに他の局面は、上述の方法および手法を実現するプログラム命令の全部または一部がその上に提供されるコンピュータで読み取り可能な媒体を含むコンピュータプログラム製造物に関する。本発明の方法のいずれも全体としてまたは一部として、そのような機械で読み取り可能な媒体上に提供されえるプログラム命令の形で表現されえる。さらに本発明は、ここで説明されたように生成および／または使用されるデータのさまざまな組み合わせおよび構成に関する。例えばここで説明されたフォーマットを持ち、適切な媒体上に提供されたカプセル化されたフレームは、本発明の一部である。
【００１８】
本発明のこれらおよび他の特徴は、以下の図面と併せて、より詳細に以下に本発明の詳細な説明の欄に説明される。
【発明を実施するための最良の形態】
【００１９】
以下の記載において、本発明の完全な理解を助けるために多くの特定の詳細が述べられる。しかし本発明はこれら特定の詳細の一部または全てがなくても実施できることが当業者には明らかだろう。あるいは本発明の趣旨を不必要にぼかさないために既知のプロセスステップは詳細には記載されていない。
【００２０】
上述のように、ストレージエリアネットワーク（ＳＡＮ）は、ユーザのより大きいネットワークのために異なるデータストレージデバイスを関連付けられたネットワークホスト（例えばデータサーバまたはエンドユーザのマシン）に相互接続するネットワークである。ＳＡＮは、システムの物理的構成によって規定される。言い換えれば、ＳＡＮ内のこれらのデバイスは物理的に相互接続されていなければならない。
【００２１】
本発明のさまざまな実施形態によれば、物理的なＳＡＮは、複数の仮想ストレージエリアネットワーク（ＶＳＡＮ）によって共有され、それぞれはＳＡＮの物理的インフラストラクチャの一部または全てを用いる。カプセル化メカニズムを用いることでＶＳＡＮを実現する。ＶＳＡＮの概念を通して、１つ以上のネットワークデバイス（例えばサーバ）および１つ以上のデータストレージデバイスは、共通の物理ネットワークインフラストラクチャ内で規定された論理ネットワークにグループ化される。これらデバイス間の通信は、ネットワークデバイスおよびデータストレージデバイスを共に１つ以上のスイッチを通して結合することによって実現されえる。ＶＳＡＮ内で用いられえる例示的なデータストレージデバイスは、以下に限定されないが、冗長アレイ相互接続されたディスク（ＲＡＩＤ）のようなさまざまな構成のストレージディスクを含む。
【００２２】
それぞれのＶＳＡＮは、ネットワーク内のデバイスのある特定の物理的構成ではなく、ＶＳＡＮ識別子によってユニークに特定される。例えばユニークな識別子は、１つ以上のストレージデバイスと共に１つ以上のネットワークデバイスに同時に関連付けられえる。一般にＶＳＡＮ識別子は、特定の物理的ネットワークデバイスまたはリンクを表現しない。
【００２３】
ＶＬＡＮインフラストラクチャ内では、個々のＶＬＡＮは、ＶＬＡＮ識別子の使用を通して区別される（例えばゼロから４０９４までの範囲内で）。本発明のさまざまな実施形態によれば、個別のＶＳＡＮは、上述のようにＶＳＡＮ識別子の使用を通してＶＳＡＮインフラストラクチャ内で区別される。例えばＶＬＡＮおよびＶＳＡＮ間のトラフィックを運ぶことができるトランクラインまたはルータを用いて、ＶＬＡＮおよびＶＳＡＮの両方を含む混合インフラストラクチャをサポートすることが望ましい。
【００２４】
ある実施形態によれば、ＶＬＡＮ識別子およびＶＳＡＮ識別子は、同じ数値空間を共有する。言い換えれば、任意の与えられた数値はＶＳＡＮ識別子またはＶＬＡＮ識別子でありえるが、同時にＶＳＡＮおよびＶＬＡＮを独立して識別するのには用いられえない。例えばある数値は、ＶＳＡＮ＃１およびＶＬＡＮ＃１の両方を同時には持ちえない。
【００２５】
他の実施形態によれば、ＶＬＡＮ識別子およびＶＳＡＮ識別子は独立した数値空間を有する。言い換えれば、任意の数値は、同時にＶＳＡＮおよびＶＬＡＮの両方についての識別子でありえるとともに、ＶＳＡＮ識別子またはＶＬＡＮ識別子のいずれかでありえる。数値はＶＳＡＮまたはＶＬＡＮのいずれかに対応しえるので、ネットワークのタイプ（例えばＶＳＡＮまたはＶＬＡＮ）も特定される。よってＶＳＡＮ＃１およびＶＬＡＮ＃１はともに同時に異なった独立した仮想ネットワークとして存在しえる。このタイプは、ＥＩＳＬヘッダ中の別個のフィールドでありえ、またはフレームタイプ（例えばトラフィックタイプ）中に組み込まれえ、これについては図４を参照して以下に詳述される。
【００２６】
図１は、例示的なストレージエリアネットワーク１０１を示す図であり、この中で本発明は実現されえる。図１に示されるように、データストレージデバイス１０２、１０４、１０６、１０８、１１０、および１１２は、ホスト（例えばサーバ）１１４、１１６、および１２８にいくつかのスイッチ１１８、１２０、および１２２を介して結合される。スイッチは、インタースイッチリンク１２４および１２６を介して互いに通信する。このパラグラフで記載される要素は、全体でＳＡＮ１０１の物理的インフラストラクチャをなす。ＳＡＮ１０１のストレージデバイス、スイッチ、およびホストは、ファイバチャネル（ＦＣ）、ファイバチャネルＩＰ（ＦＣＩＰ）、ＳＣＳＩ、ＳＣＳＩオーバーＩＰ、イーサネット、インフィニバンドなどの１つ以上の標準プロトコルを用いて通信する。これらプロトコルはここではトラフィックの「タイプ」と呼ばれることもある。
【００２７】
１つ以上のＶＳＡＮは、さまざまなネットワークデバイスを選択されたデータストレージデバイスとともに論理的にグルーピングすることを通して作られえる。例えば図１に示されるように、第１のＶＳＡＮであるＶＳＡＮ１は、サーバ１１４、１２８およびデータストレージデバイス１０２、１０６、１１０、および１１４からなり、一方、第２のＶＳＡＮであるＶＳＡＮ２は、サーバ１１６、１２８およびデータストレージデバイス１０４、１０８、および１１２からなる。ＶＳＡＮ１およびＶＳＡＮ２の両方はインタースイッチリンク１２４および１２６を共有することで通信することに注意されたい。例えばＶＳＡＮ１のホスト１１４およびＶＳＡＮ２のホスト１１６は、リンク１２６を用いてストレージデバイス１１０およびストレージデバイス１１２にそれぞれアクセスする。
【００２８】
インタースイッチリンク１２４および１２６を横切るネットワークトラフィックが関連付けられたＶＳＡＮ内のデバイスに適切にルーティングされる（かつ制限される）ことを確実にするために、トラフィックはＶＳＡＮ１トラフィックまたはＶＳＡＮ２トラフィックのいずれであるか特定可能でなければならない。これはさまざまな方法で実現されえる。本発明とともに用いられるある便利な方法は、データフレームをＶＳＡＮ識別子のようなものといっしょにカプセル化する。そうすることでスイッチ１１８、１２０、および１２２は、リンク１２４および１２６を渡るフレームを調べることによって、どのＶＳＡＮが関連しているかを決定でき、この情報に基づいて適切なスイッチング判断を行える。
【００２９】
本発明のさまざまな実施形態は、図２から図５を参照して後述されるようにパケットまたはフレームをカプセル化するのに適用されえる。パケットおよびフレーム間の区別は広くは受け入れられていない。しかしよく用いられる一つの区別は以下のように規定される。パケットは、インターネットまたは任意の他のパケットスイッチネットワーク上の送信元および宛先の間で転送されるデータの単位である。それぞれのパケットは別個に数が付され、宛先のインターネットアドレスを含む。対照的にフレームは、近接するネットワークデバイス間で送信されるデータである。フレーム内の情報またはデータは、より高いレベルのまたは異なるプロトコルで用いられるパケットまたは他のデータユニットを含みえる。
【００３０】
便宜上、後の記載は、データをＳＡＮ上で送信するのに用いられるカプセル化されたフレームを説明する。スイッチは、フレームに対して働き、ＶＳＡＮに関する情報を用いてスイッチング判断を行う。よって本発明のさまざまな実施形態によれば、ＶＳＡＮ内から発信するフレームは、そのＶＳＡＮに割り当てられた物理的リソース内に留まるよう制限される。よってより高いプロトコルレイヤ（例えばアプリケーションレイヤ７）において動作するゲートウェイは、そのようなパケットをあるＶＳＡＮから他のＶＳＡＮへ渡しえる。この制限を強制するためには、フレームは、フレームが属するＶＳＡＮを特定する構造（structure）とともにカプセル化されえる。いったんカプセル化されると、カプセル化されたフレームは、ネットワークノード群にわたって動かされ、特にストレージエリアネットワーク内のインタースイッチリンク群にわたって動かされる。よってこのカプセル化を通して単一のリンクは、複数のＶＳＡＮに関連付けられたフレームを伝送しえる。例示的なカプセル化されたパケットは、図３および図４を参照して以下にさらに記載される。
【００３１】
カプセル化されるフレームは、イーサネットまたはファイバチャネルのような標準プロトコルについて特定されたフレームフォーマットを有することに注意されたい。したがってそのようなフレームを生成するために従来から用いられるソフトウェアおよびハードウェアが本発明と共に採用されえる。さらなるハードウェアおよび／またはソフトウェアは、本発明による標準フレームをカプセル化するのに用いられる。当業者なら、以下に記載されるタイプのカプセル化を可能にするために必要なハードウェアおよびソフトウェアをどのように開発するかはわかるだろう。
【００３２】
本発明によれば、ストレージエリアネットワーク内で採用される標準プロトコルに互換性のあるフレームは、カプセル化が後で行われるノードにおいて得られる。フレームは、ホスト、スイッチ、またはストレージデバイスのようなネットワークデバイスによって生成される。典型的なシナリオでは、ホストマシンは、ファイバチャネルのような標準プロトコルによるフレームを生成し、そのフレームをスイッチに転送する。スイッチはそれから後述されるようなカプセル化プロセスを実行する。ある実施形態においては、ホストまたはストレージデバイスはそのものがここで記載されるカプセル化を実行しえる。
【００３３】
さらに他の実施形態において、スイッチは、データストリームを受信しえ、標準プロトコルにしたがってまずそれをフレームにし、それから結果として生じるフレームをカプセル化することによって本発明の新しいフレームを作りだす。結果として生じるカプセル化されたフレームは、先に参照によって援用された米国特許第５，７４２，６０４号で記載されたインタースイッチリンクプロトコルとの全体的な関係から、ここでは「拡張されたＩＳＬ」（ＥＩＳＬ）フレームとも呼ばれる。
【００３４】
さきほど説明されたように、カプセル化プロセスは、スイッチの内側とともに、スイッチの外側のネットワークデバイスによって（例えばホストによって）実行されえる。明らかではあるが、ＥＩＳＬカプセル化を実行するには、適切なネットワークデバイスが適切なソフトウェアおよび／またはハードウェアと共に構成されるべきである。もちろんストレージエリアネットワーク内の全てのネットワークデバイスがＥＩＳＬカプセル化ソフトウェア（またはハードウェア）と共に構成される必要はない。むしろ選択されたネットワークデバイスがＥＩＳＬカプセル化機能と共に構成されえ、またはその機能に適合されえる。同様にさまざまな実施形態において、このようなＥＩＳＬカプセル化機能は、さまざまなモードを通してイネーブルまたはディセーブルされえる。さらにネットワークデバイスの選択されたポートを、ＥＩＳＬカプセル化が実行できるＥＩＳＬ対応可能なポートとしてコンフィギュレーションすることが望ましいかもしれず、これは連続的にそうであっても、またはＥＩＳＬイネーブルされた状態にあるときのみそうであってもよい。
【００３５】
ストレージエリアネットワーク内で採用される標準プロトコル（例えばレイヤ２プロトコル）（すなわちデータをフレーム化するのに用いられるプロトコル）は必ずしもそうではないが典型的には、ネットワークによって運ばれる「トラフィックのタイプ」と同義である。後述されるように、トラフィックのタイプは、いくつかのカプセル化フォーマット内で規定される。トラフィックのタイプの例は典型的には、イーサネットおよびファイバチャネルのようなレイヤ２または対応するレイヤフォーマットである。
【００３６】
ＶＳＡＮ内で用いられえるトラフィックの他のタイプは、インフィニバンドアーキテクチャであり、これはサーバのための比較的最近の入力／出力（Ｉ／Ｏ）仕様である。より具体的には、サーバ間の接続、リモートストレージおよびネットワーキングは、インフィニバンドスイッチおよびリンクの中央の統合されたファブリックを通して全てのデバイスを結合することによって実現される。インフィニバンドアーキテクチャの正規の利点は、低いレイテンシ、より簡単で高速なデータ共有、およびビルトインのセキュリティおよびサービス品質である。インフィニバンドアーキテクチャは、リモートストレージおよびネットワーキングのためのＩ／Ｏとともに、サーバクラスタについて急速に発達している技術である。よってインフィニバンドアーキテクチャは、インターネットの急速な成長によって発生する要求、およびインターネット上でのデータおよび通信の融合（ボイス、データ、ビデオ、およびストレージ）に対応するのにうまく適する。インフィニバンドではデータは、全体としてメッセージを形成する１つ以上のパケットの中で送信される。例えばメッセージは、リモートダイレクトメモリアクセス（ＲＤＭＡ）リードまたはライト操作、チャネルセンドまたはレシーブメッセージ、トランザクションベースの操作（逆方向に（reversed）されえる）、またはマルチキャスト送信でありえる。
【００３７】
さらに他のタイプのトラフィックは、トークンリング、トークンバス、およびアロハのような衛星システムとコンパチブルなさまざまなプロトコルを含みえる。トラフィックのタイプは、ストレージエリアネットワーク内で用いられる技術によってサポートされなければならないことに注意するのも重要である。例えばホストおよび／またはスイッチ内で用いられる技術（例えばインタフェースポート回路）は、通信媒体とともに、カプセル化されたフレーム内で運ばれているトラフィックタイプをサポートしなければならない。
【００３８】
図２に示されるように、ストレージエリアネットワーク内で採用される標準プロトコルに互換性のあるフレームが得られる。例えばファイバチャネルフレーム２０２のようなフレームは、ヘッダ２０４、ペイロード２０６、および巡回冗長検査（ＣＲＣ）値２０８のようなエラーチェック情報を典型的には含む。巡回冗長検査は、通信リンク上で送信されたデータ内のエラーをチェックするために受信されたフレームをチェックする方法である。上述のように、フレーム２０２に関連付けられたＶＳＡＮを特定する必要がある。しかしファイバチャネルを支配する標準に従えば、ファイバチャネルフレーム２０２のヘッダ２０４は、定義されるべき追加フィールドを可能にするための不使用ビットを含まない。その結果、フレーム２０２への「拡張」２１０が必要となる。拡張２０２は、さまざまなフォーマットを想定しえる。重要なことは、ＶＳＡＮを特定する情報、および以下の１つ以上を特定する他の情報を少なくとも含まなければならないことであり、それらはトラフィックのタイプ、ＭＰＬＳ情報、および生存可能時間である。
【００３９】
さまざまな実施形態によれば、図３に示されるように、拡張されたＩＳＬ（ＥＩＳＬ）フォーマットを持つ新しいフレーム３０２は、オリジナルフレーム２０２から得られた情報から生成される。より具体的にはカプセル化は、新しいヘッダ（またはトレイラ）をオリジナルフレーム２０２にアペンドすることを含みえる。例えば示されるように、新しいフレーム３０２は、オリジナルフレームのヘッダ２０４およびペイロード２０６の両方を好ましくは含むペイロード３０３、および新しいＥＩＳＬヘッダ３０４を含む。さらにペイロード３０３は、オリジナルフレームのＣＲＣ２０８も含みえる。カプセル化は、オリジナルＣＲＣ値２０８を新しい（例えば追加の）または変更されたＣＲＣ値３０６に変更すること、または置き換えることを含みえる。より具体的には新しいフレームはオリジナルフレーム２０２より長いので、新しくアペンドされたＥＩＳＬヘッダ３０４およびその関連付けられた長さを含むフレーム３０２のより長い長さに対応するために、新しいＣＲＣ値３０６が生成され（例えば計算され）える。よってこの新しいＣＲＣ３０６は、オリジナルのＣＲＣ２０８を置換しえる。このように新しいフレームは、ＥＩＳＬヘッダを持つフレームをカプセル化することによって生成される。
【００４０】
さまざまな実施形態によれば、図３に示されるようなＥＩＳＬフレーム３０２は、フレームのスタート（ＳＯＦ）デリミタ３０８によって先行され、フレームのエンド（ＥＯＦ）デリミタ３１０によって終端される。これらデリミタは、ＥＩＳＬ対応ポートがＥＩＳＬフォーマットのフレームを受信し認識できるようにする。しかしもしＥＩＳＬ対応ポートがＥＩＳＬモードにないか、またはポートがＥＩＳＬ対応ではなく、ポートがＥＩＳＬフォーマットのフレームを受信するなら、そのポートはフレームを廃棄できる。
【００４１】
図４は、図３で示されるような全体的なＥＩＳＬフレームフォーマットを有するフレームの例示的なＥＩＳＬヘッダを示す図である。より具体的には上述のようにＥＩＳＬヘッダは、好ましくはＶＳＡＮを特定する。さらにカプセル化は、さらなる情報をカプセル化されたフレーム内に提供することを含む。以下に詳述されるようにＥＩＳＬヘッダは、ＥＩＳＬヘッダのさまざまなフィールド中にさらなる情報を供給しえる。より具体的にはＥＩＳＬ指示子フィールド４０２は、ＥＩＳＬヘッダの存在を示すために用いられえる。さらにＥＩＳＬバージョン指示子フィールド４０４は、フレームを作るのに用いられたＥＩＳＬのバージョンを示す。具体的な例では、ＥＩＳＬヘッダのＥＩＳＬバージョン指示子フィールド４０４は、少なくとも２ビットを含む。
【００４２】
ＥＩＳＬヘッダは、フレームタイプ４０６（すなわちトラフィックタイプ）を示すフィールドをさらに含む。フレームによって運ばれるべきトラフィックのタイプ（例えばペイロード）は、以下に限定されないがイーサネット、ファイバチャネル、およびインフィニバンドを含む上述のようなさまざまなトラフィックタイプを含みえる。ある実施形態においてフレームタイプフィールド４０６は、４ビットフィールドである。トラフィックタイプの特定を通して、さまざまなトラフィックタイプを運ぶＥＩＳＬフォーマットのフレームは、ＶＳＡＮ内で送信されえる。さらにそれぞれが異なるトラフィックタイプをサポートできる複数のＶＳＡＮは、新しくアペンドされたＥＩＳＬヘッダ内のトラフィックタイプの特定を通して相互接続されえる。
【００４３】
マルチプロトコルラベルスイッチング（ＭＰＬＳ）ラベルフィールド（例えば指示子）４０８は、ファイバチャネルおよびイーサネットフレームの両方についてよく用いられる転送メカニズムであるＭＰＬＳラベルスタックのようなＭＰＬＳ情報をＥＩＳＬヘッダが運んでいるかどうかを示す。例示的なＭＰＬＳラベルスタックは図５を参照して以下にさらに詳細に説明される。ある実施形態において、ＭＰＬＳラベルフィールド４０８は１ビットフィールドである。より具体的には、ＭＰＬＳラベルフィールド４０８は、ＭＰＬＳラベルがＥＩＳＬフレーム内に与えられているかどうかを示す。例えば指示子は、もしＥＩＳＬヘッダがＭＰＬＳラベルスタックを含むなら１にセットされえ、そうでないなら０にセットされえる。またＭＰＬＳラベルフィールド４０８は、４１６の中にあるラベルの数を示してもよい。
【００４４】
プライオリティフィールド４１０は、ＥＩＳＬフレームについてのユーザプライオリティを示しえる。ユーザプライオリティは、さまざまなタイプのプライオリティを表現しえる。一つの例として、ユーザプライオリティは、保証されたサービスレベルなしに、数値的順位のようなプライオリティを単に示すのに用いられる全般的なプライオリティでありえる。例えばより高い値は単により高いユーザプライオリティを表しえ、一方、より低い値はより低いプライオリティを表しえる。より高いプライオリティのユーザは、どれだけ全体の帯域幅が利用可能かに関わりなく、利用可能な帯域幅を最初に受け取る。このフィールドに用いられるビットの個数は、実現されるプライオリティレベル群または値の個数によって変わる。
【００４５】
他の例としては、ユーザプライオリティは、ＥＩＳＬフレームのペイロードのサービス品質（ＱｏＳ）を表示しえる。インターネットおよび他のネットワーク上では、ＱｏＳは、送信レート、エラーレート、および他の特性は測定され、改善され、かつある程度は予め保証されえるという概念である。ＱｏＳは、高帯域幅ビデオおよびマルチメディア情報の連続送信について特に重要である。この種のコンテンツを信頼性高く送信することは、通常の「最善の努力」によるプロトコルを用いる公衆ネットワークにおいては困難である。典型的にはプライオリティフィールドに必要とされるビットの個数は、単純な数値的プライオリティよりもサービス品質を規定するためにより大きい。ある実施形態においてプライオリティフィールド４１０は３ビットフィールドである。
【００４６】
上述のようにＥＩＳＬヘッダは、１つ以上のＶＳＡＮを特定するＶＳＡＮ識別子を含むよう適合されたＶＳＡＮ識別子フィールド４１２を最低でも含む。より具体的にはある実施形態によれば、ＶＳＡＮ識別子は、ＥＩＳＬフレームのペイロードに、よって、オリジナルフレーム（例えばファイバチャネルフレーム）のペイロードに関連付けられたＶＳＡＮを特定する。ある実施形態によれば、ＶＳＡＮ識別子フィールド４１２は１２ビットフィールドである。識別子のフォーマットは、ＶＬＡＮ識別子と同一または類似でありえ、またイーサネットのようなある種の標準プロトコルで採用されるアドレスに類似しえる。
【００４７】
あるストレージエリアネットワークにおいて、フレームがネットワーク内でループ状に回るようにするルーティングの問題とともにトポロジの問題が存在しえる。このようなループは帯域幅を不必要に消費する。この問題を解くには、フレームが廃棄される前に回りえる残りのホップの数を特定するＴＴＬ値を示すために生存時間（ＴＴＬ）フィールド４１４が用いられえる。より具体的には、ＴＴＬフィールド４１４のＴＴＬ値は、ＥＩＳＬヘッダを含むＥＩＳＬフレームを生成するネットワークデバイス（例えばスイッチ）によって初期化される。デフォールト値は、例えば１６にセットされえる。このＥＩＳＬフレームを受信する後続のネットワークデバイス（例えばスイッチ）はＴＴＬフィールド４１４のＴＴＬ値を１ずつ減らす。
【００４８】
ある実施形態によれば、１であるＴＴＬ値は、受信するネットワークデバイス（例えばスイッチ）に対してこのＥＩＳＬフレームが廃棄されなければならないことを示す。ＥＩＳＬフレームが廃棄されるとき、エラーメッセージがフレームの意図された受信者とともにフレームの送信者に送信されえる。同様に０であるＴＴＬ値は、ＴＴＬフィールド４１４が無視され、ＥＩＳＬフレームがスイッチによって転送されなければならないことを示しえる。ある実施形態によれば、ＴＴＬフィールド４１４は８ビットフィールドである。
【００４９】
上述のように、ＭＰＬＳ指示子４０８は、ＭＰＬＳラベルスタック４１６のようなＭＰＬＳ情報をＥＩＳＬヘッダが運んでいるかどうかを示すのに用いられえる。コネクションレスネットワークレイヤプロトコルのパケットはあるルータから次へと移動するので、それぞれのルータはそのパケットについて独立した転送判定を行う。すなわち、それぞれのルータはパケットのヘッダを分析し、それぞれのルータはネットワークレイヤルーティングアルゴリズムを走らせる。それぞれのルータは独立して、そのパケットのヘッダのその分析およびルーティングアルゴリズムを走らせた結果に基づいてそのパケットについての次のホップを選択する。
【００５０】
パケットヘッダは、単に次のホップを選ぶために必要なだけよりもかなり多くの情報を含む。次のホップを選ぶことはよって、２つの機能の構成として考えられる。第１の機能は、考えられるパケットのセット全体を「転送等価クラス（ＦＥＣ）」のセットに分割する。第２の機能は、それぞれのＦＥＣを次のホップにマッピングする。転送判定に関する限り、同じＦＥＣにマッピングされた異なるパケットは区別できない。特定のＦＥＣに属し、特定のノードから移動する全てのパケットは、同じパスを辿る（またはもしある種のマルチパスルーティングが用いられているなら、それら全ては、ＦＥＣに関連付けられたパス群のセットのうちの一つを辿る）。
【００５１】
従来のＩＰ転送において、特定のルータは、もしあるアドレスプリフィックスＸがそのルータのルーティングテーブル内に存在し、Ｘがそれぞれのパケットの宛先アドレスについての「最も長い一致（longest match）」であるなら、典型的には２つのパケットが同じＦＥＣにあると考える。このパケットがネットワークを移動するとき、それぞれのホップは今度はパケットを再び調べ、それをＦＥＣに割り当てる。ＭＰＬＳにおいて、特定のパケットを特定のＦＥＣに割り当てることは、そのパケットがネットワークに入るときに一度だけなされる。パケットが割り当てられているＦＥＣは、「ラベル」として知られる短い固定長値としてエンコードされる。
【００５２】
パケットがその次のホップに転送されるとき、ラベルはパケットとともに送られる。すなわちパケットはそれらが転送される前に「ラベルが付与」される。後続のホップにおいて、そのパケットのネットワークレイヤヘッダさらなる分析は存在しない。むしろラベルは、次のホップおよび新しいラベルを特定するテーブルへのインデックスとして用いられる。古いラベルは、新しいラベルと置き換えられ、パケットはその次のホップへと転送される。ＭＰＬＳ転送パラダイムにおいて、いったんパケットがＦＥＣに割り当てられると、さらなるヘッダ分析は後続のルータによってなされない。全ての転送はラベルによって行われる。これは従来のネットワークレイヤ転送に比べ多くの長所を持つ。例えばＭＰＬＳラベルを通して、従来のＩＰルーティングを回避（circumvent）できる。ＭＰＬＳ転送メカニズムおよびＭＰＬＳラベルスタックエンコーディングのさらなる詳細は、RFC 3031、Multiprotocol Label Switching Architecture、Rosen et al.、２００１年１月、およびRFC 3032、MPLS Label Stack Encoding、Rosen et al.、２００１年１月にそれぞれ開示され、これらは全ての目的のためにここで参照によって援用される。
【００５３】
図４のブロック４０８を参照して上述のように、指示子はＥＩＳＬフレームがラベルスタックを含むかを示すために用いられえる。ある実施形態によれば、ラベルスタックは最大４ラベルを含みえる。ラベルスタック内のそれぞれのラベルは同一のラベルフォーマットを有する。
【００５４】
図５は、本発明のある実施形態によって図４のＭＰＬＳラベルスタック内のそれぞれのラベルのために用いられえる例示的なＭＰＬＳラベルフォーマットを示す図である。ラベルフィールド５０２は、転送判断を行うのに用いられる対応するラベルの実際の値を運ぶ。ラベルが付けられたパケットが受信されるとき、スタックのトップにあるラベル値が参照される。対応するテーブル、ファイルまたはデータベースの中で参照が成功するとその結果、以下の情報が確認される。すなわちａ）そのパケットが転送されるべき次のホップ、およびｂ）転送前にラベルスタックに対して実行されるべき操作であり、この操作はトップラベルスタックエントリを他のものと置換すること、ラベルスタックからエントリをポップすること、またはトップラベルスタックエントリを置換し、それからラベルスタック上の１つ以上の追加エントリをプッシュすることでありえる。次のホップを知ることおよびラベルスタック操作に加えて、発信データリンクカプセル化、および場合によっては適切にそのパケットを転送するために必要とされる他の情報を知ることもできる。ある実施形態によれば、ラベルフィールド５０２は３２ビットフィールドである。
【００５５】
実験フィールド５０４は、実験的使用のために予約されえる。実験フィールド５０４は典型的には差別化サービスコードポイント（ＤＳＣＰ）をエンコードするために用いられ、これは品質サービスのためのメカニズムである。
【００５６】
さらに終端フィールド５０６が、このラベルがスタック中の最後のラベルであるかを示すためにラベル中に提供されえる。ある実施形態によれば、終端フィールドは、単一のビット指示子である。例えば、終端フィールド５０６は、その指示子が第１状態（例えば１）であるときにはラベルがラベルスタック中の最後のラベルであることを、その指示子が第２状態（例えば０）であるときにはラベルがラベルスタック中の最後のラベルではないことを示しえる。
【００５７】
このラベルはまたＴＴＬフィールド５０８を含みえる。ＴＴＬフィールド５０８は典型的には、ＩＰｖ４パケットに関連付けられたＴＴＬフィールドの意味規則、またはＩＰｖ６パケットに関連付けられたホップカウントの意味規則を提供するのに用いられる。
【００５８】
上述のようにカプセル化はさまざまなネットワークデバイスで実行されえる。図６は、本発明の実施形態が実現されえる例示的なネットワークデバイスを示す図である。示されたネットワークデバイスは、イーサネットおよびファイバチャネルフレームの両方をスイッチングできるハイブリッドスイッチである。さまざまなタイプ（例えばイーサネットおよびファイバチャネル）のフレームは単一のスイッチングメカニズムを介して伝送されることが好ましい。拡張されたＩＳＬ（ＥＩＳＬ）フレームフォーマットの使用を通して、異なるタイプのフレームは、異なるフレーム（またはトラフィック）タイプのためにスイッチまたはＩＳＬを専用に使うのではなく、同じスイッチまたはＩＳＬを用いて伝送されえる。
【００５９】
図６に示されるようにデータは、スイッチのポート６０２によって双方向コネクタ（不図示）を介して受信される。着信ポートに関連して、メディアアクセスコントロール（ＭＡＣ）ブロック６０４が提供され、これはイーサネットまたはファイバチャネルのようなさまざまなプロトコルのフレームが受信されるようにする。いったんフレームが上述のようにカプセル化されると、フレームは転送エンジン６０８によって受信され、このエンジンはフレームのさまざまなフィールドから送信元アドレスおよび宛先アドレスのような情報を得る。転送エンジン６０８はそれから転送テーブル（不図示）にアクセスすることによって送信元アドレスが特定された宛先アドレスにアクセス権を持つかどうかを決定する。転送エンジン６０８はまた、それを介してフレームを送るスイッチの適切なポートを決定し、そのフレームについての適切なルーティングタグを生成する。
【００６０】
いったんフレームが送信のために適切に形成されると、送信の前にフレームはバッファキューイングブロック６０６によって受け取られる。フレームを受け取られたままで送信するのではなく、一時的にフレームをバッファまたはキュー６０６に記憶するのが望ましいかもしれない。例えば、サービス品質に基づいて、異なるプライオリティレベルにそれぞれ対応するキュー群のセットのうちの１つに一時的にパケットを記憶するのが望ましいかもしれない。フレームはそれからスイッチファブリック６１０を介して適切なポートに送信される。それぞれの発信ポートはまた、それを介してフレームが送信されえるそれ自身のＭＡＣブロックおよび双方向コネクタを有する。
【００６１】
図６を参照して上述のネットワークデバイスはスイッチとして説明されているが、このネットワークデバイスは一例として示されるだけである。よってストレージエリアネットワーク内での送信のための上述のような機能を持つパケットまたはフレームを受信し、処理し、変更し、および／または生成するために、ルータのような他のネットワークデバイスがインプリメントされえる。さらに上述のネットワークデバイスは一例を示すだけであり、よって開示されたカプセル化機能を実行するためには他のタイプのネットワークデバイスがインプリメントされえる。
【００６２】
いったんＥＩＳＬフレームが生成されると、カプセル化されたフレームはスイッチによって、図１に示される相互接続されたスイッチ群のシーケンシャルな構成内で、送信元および宛先ポートのインタフェース回路を結合するよう構成されたインタースイッチリンク（ＩＳＬ）上で送信されえる。ＩＳＬリンクは、スイッチングバスまたは他の通信媒体の延長として機能できる任意のタイプのメディア（例えばツイステッドペアまたはファイバ）から構成されえる。さらにポートインタフェース回路は、カプセル化と共にデカプセル化回路も備えうる。ＩＳＬへのインタフェースは実質的にポートインタフェース回路を備えるので、図６に示されるスイッチのようなネットワークデバイスの任意の個数のポートはＥＩＳＬポートとして構成されることが可能である。すなわちＩＳＬポートインタフェース回路は、回路を含みえ、および／またはそうでなければ、開示されたＥＩＳＬカプセル化メカニズムによるパケットのカプセル化とともに、パケットのデカプセル化の機能を含むソフトウェアで構成されえる。
【００６３】
本発明の例示的な実施形態および応用例がここで示され説明されてきたが、多くの変化形および改変物が可能であり、これらも本発明の概念、範囲、および精神の中に入り、これらの変化形は、本願の精査により当業者には明らかになろう。例えば本発明は、特定のＥＩＳＬヘッダを用いて実現されているとして記載されている。しかし本発明は、このような実現例に限定されず、むしろこのようなヘッダ内に規定されるフィールドに関わらず同様に応用されえることが理解されよう。さらに本発明は、実現されるコンテキストおよびシステムに関わらず応用されえる。よって広く言えば、上述の動作は、ＳＡＮ内で用いられる必要はなく、任意のネットワーク内でプロトコル互換性を可能にするのに用いられえる。
【００６４】
さらに例示的なスイッチが説明されているが、上述の実施形態は、さまざまなネットワークデバイス（例えばサーバ）の中で実現されえ、それとともにさまざまな媒体内で実現されえる。例えば、上述の本発明を実現するための命令およびデータは、ディスクドライブ、ハードドライブ、フロッピー（登録商標）ディスク、サーバコンピュータ、またはリモートでネットワークが組まれたコンピュータ上に記憶されえる。したがって本実施形態は、例示的であって、限定的ではなく、本発明は、ここで与えられた詳細に限定されるべきではなく、添付の特許請求の範囲および均等物の中で改変されえる。
【図面の簡単な説明】
【００６５】
【図１】本発明が実現されえる、複数のＶＳＡＮを含む例示的ストレージエリアネットワークを示す図である。
【図２】本発明のある実施形態によるファイバチャネルのようなフレームへの「拡張」を示す図である。
【図３】本発明のある実施形態によるＥＩＳＬヘッダを含む拡張されたＩＳＬ（ＥＩＳＬ）フレームフォーマットを示す図である。
【図４】図３に示されるようなＥＩＳＬフレームフォーマットを有するフレームで送信されえる例示的ＥＩＳＬヘッダ（および関連付けられたＭＰＬＳラベルスタック）を示す図である。
【図５】本発明のある実施形態による図４のＭＰＬＳラベルスタック内のそれぞれのラベルのために用いられえる例示的ＭＰＬＳラベルフォーマットを示す図である。
【図６】本発明のある実施形態が実現されえる例示的ネットワークデバイスを示す図である。
【図１】
2005514862.tif 000003
【図２】
2005514862.tif 000004
【図３】
2005514862.tif 000005
【図４】
2005514862.tif 000006
【図５】
2005514862.tif 000007
【図６】
2005514862.tif 000008
【国際調査報告】
2005514862.tif 000009
2005514862.tif 000010
2005514862.tif 000011