(57)【特許請求の範囲】
【請求項１】
コンピュータにより実行され、ファイバ・チャネル・オーバ・イーサネット・ネットワークにおいて、スイッチ障害を検出し、スイッチ・フェイルオーバを管理する方法であって、
前記ファイバ・チャネル・オーバ・イーサネット・ネットワーク内の複数のファイバ・チャネル・オーバ・イーサネット・スイッチ間でイーサネット接続を確立するステップであって、前記複数のファイバ・チャネル・オーバ・イーサネット・スイッチはさらに、前記イーサネット接続を使用して中継イーサネット・スイッチに接続され、前記中継イーサネット・スイッチは、前記複数のファイバ・チャネル・オーバ・イーサネット・スイッチとは別であり、複数のエンド・ポートも、前記中継イーサネット・スイッチに接続され、前記複数のファイバ・チャネル・オーバ・イーサネット・スイッチおよび前記複数のエンド・ポートの間で直接接続は回避される、前記ステップと、
前記複数のファイバ・チャネル・オーバ・イーサネット・スイッチのうちの第２のスイッチにより、前記複数のファイバ・チャネル・オーバ・イーサネット・スイッチのうちの第１のスイッチにおける障害を検出するステップであって、前記第１のスイッチは、前記複数のエンド・ポートのうちの第１のエンド・ポートと関連している、前記ステップと、
前記第２のスイッチにより、前記中継イーサネット・スイッチを使用して、前記複数のエンド・ポートと前記第１のスイッチ以外の前記複数のファイバ・チャネル・オーバ・イーサネット・スイッチに障害通知を送るステップであって、前記障害通知は、前記第１のエンド・ポートが、前記複数のファイバ・チャネル・オーバ・イーサネット・スイッチのうち、機能している別のファイバ・チャネル・スイッチを発見し直す必要があることを少なくとも示し、前記障害通知は、前記第１のスイッチの識別情報をさらに含む、前記ステップと、
前記第１のエンド・ポートと、前記機能している別のファイバ・チャネル・スイッチとの間で、ファブリック・ログイン・エクスチェンジを交換するステップと、
を含む、前記方法。
【請求項２】
前記障害通知は、拡張リンク・サービス（ＥＬＳ）コマンド、既存の登録状態変化通知（ＲＳＣＮ）サービスのオーバーロード、およびファイバ・チャネル・オーバ・イーサネット初期化プロトコル（ＦＩＰ）フレームから成るグループから選択される、請求項１に記載の方法。
【請求項３】
前記複数のファイバ・チャネル・オーバ・イーサネット・スイッチ間で、リンク・キープ・アライブ・メッセージが交換され、前記障害を検出するステップは、
前記機能している別のファイバ・チャネル・スイッチにおいてリンク・キープ・アライブ・メッセージが受信されないことを検出するステップ
を含む、請求項１又は２に記載の方法。
【請求項４】
前記複数のファイバ・チャネル・オーバ・イーサネット・スイッチおよび前記複数のエンド・ポートの間でマルチキャスト・プロトコルが使用され、前記マルチキャスト・プロトコルは、ポート識別情報割り当てと、アクセス可能性情報の同期とを維持する、請求項１乃至３のいずれかに記載の方法。
【請求項５】
前記複数のエンド・ポートは、ファイバ・チャネル・オーバ・イーサネット・エンド・ポートである、請求項１乃至４のいずれかに記載の方法。
【請求項６】
前記障害通知は、前記機能している他のファイバ・チャネル・スイッチを指定する、請求項１乃至５のいずれかに記載の方法。
【請求項７】
ファイバ・チャネル・オーバ・イーサネット・ネットワークにおいてスイッチ障害を管理するシステムであって、
拡張リンク・サービス・コマンドを送信するよう動作可能な第１のスイッチおよび第２のスイッチであって、前記第１のスイッチと、前記第２のスイッチとの間にイーサネット接続が確立される、前記第１のスイッチおよび前記第２のスイッチと、
前記第１のスイッチおよび前記第２のスイッチに同時に接続可能な中継イーサネット・スイッチング・デバイスと、
第１のポートおよび第２のポートであって、前記第１のポートは、前記中継イーサネット・スイッチング・デバイスを経て、前記第１のスイッチに関連してリンクされ、前記第２のポートは、前記中継イーサネット・スイッチング・デバイスを経て、前記第２のスイッチに関連してリンクされ、前記第１のスイッチおよび前記第２のスイッチは、前記中継イーサネット・スイッチング・デバイスを経て、リンク・キープ・アライブ・メッセージ・トラフィックを使用して相互通信し、前記第２のスイッチにより前記第１のスイッチにおける障害を検出することに応答して、前記第２のスイッチにより拡張リンク・サービス・コマンドが、前記第１のポートへのルーティングのために、前記中継イーサネット・スイッチング・デバイスに送信され、前記拡張リンク・サービス・コマンドは、前記第２のスイッチとの関連付けのためにファブリック・ログインを発行せよとの、前記第１のポートに対する命令を含み、故障通知が前記第１のポートおよび前記第２のポートへ送られる、前記第１のポートおよび前記第２のポートと、
を含む、前記システム。
【請求項８】
前記第１のポートおよび前記第２のポートは、ファイバ・チャネル・オーバ・イーサネット・ポートである、請求項７に記載のシステム。
【請求項９】
前記第１のスイッチおよび前記第２のスイッチは、ファイバ・チャネル・オーバ・イーサネット・スイッチである、請求項７又は８に記載のシステム。
【請求項１０】
コンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行されると、請求項１〜６のいずれかに記載の前記ステップすべてを前記コンピュータに実行させるように構成される、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的にデータ処理システムに関し、特に、ファイバ・チャネル・オーバ・イーサネット・スイッチの障害に備えて冗長スイッチを構成する方法およびシステムに関する。
【背景技術】
【０００２】
ファイバ・チャネル（ＦＣ：Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）は、コンピュータ、デバイス、およびストレージ・システムを接続する高速プロトコルである。ファイバ・チャネル・ベースのアーキテクチャは、コンピュータと、ストレージ・システムとの間に専用パスを提供するシームレスなプロトコルを提供する。情報に関する米国標準規格（ＡＮＳＩ：Ａｍｅｒｉｃａｎ  Ｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｉｎｆｏｒｍａｔｉｏｎ）作業部会は、いくつかのデバイスをギガビット速度で相互接続するＩ／Ｏチャネルを定義するファイバ・チャネル標準を作成した。ファイバ・チャネルの背景にある意図は、高スループット、低レイテンシで、信頼性がありスケーラブルなデータ送信システムを作成することであった。ファイバ・チャネル技術は、この技術がいくつかの利点を有することから、大規模および小規模の諸企業により好まれてきた。例えば、ファイバ・チャネル技術は、過去のイーサネット（Ｒ）ベースのストレージ相互接続ソリューションでは匹敵し得なかった速度で動作できる。さらに、ファイバ・チャネル技術は、専用ポイント・ツー・ポイント、共有ループ、およびスケールド・スイッチド（ｓｃａｌｅｄ  ｓｗｉｔｃｈｅｄ）トポロジを含む複数のトポロジをサポートし、所望のアプリケーション要件を満たす。ファイバ・チャネル技術はさらに、異種ストレージおよびＩＰネットワークに接続するために必要なケーブルの数およびネットワーク・インターフェース・カードの数を削減するネットワークを提供する。
【０００３】
ファイバ・チャネル・ネットワークは、ファブリックとも呼ばれ、ハブ、スイッチ、ディレクタ、および変換デバイス（ホスト・バス・アダプタ、ルータ、およびゲートウェイなど）などの相互接続された複数のデバイスの物理レイヤを含む。変換デバイスは、ファイバ・チャネル・プロトコルと、ＳＣＳＩ、ＦＣＰ、ＦＩＣＯＮ（ＩＢＭ社の登録商標）、イーサネット、ＡＴＭ、およびＳＯＮＥＴなどの上位レイヤ・プロトコルとの間の中間段階である。ファブリックのいずれか一方の端にあるデバイスが、ファームウェアを使用してネットワーク中にデータを記憶および分配する。データは、ファイバ・チャネル・ネットワーク中を、ファイバ・チャネル・セグメントを介して搬送される。セグメントは、２つ以上のノード間で確立される通信のチャネルである。ファイバ・チャネル・セグメントは、一貫した高速度で、１つのポイントから別のポイントへデータを搬送できる。障害が検出されると、第２のセットの冗長スイッチがさらにファブリックに統合されることが可能である。冗長スイッチは、送信されたデータ・フレームの損失およびアプリケーション・ダウンタイムを最小限に抑えるよう機能する。
【０００４】
ファイバ・チャネル・オーバ・イーサネットは、比較的新しいプロトコル仕様であり、イーサネット・ネットワーク上にファイバ・チャネルをネイティブにマップする。このプロトコルの実装には、ネイティブのファイバ・チャネル・フレームを、イーサネット・フレームにカプセル化することが必要である。このイーサネット・プロトコルの拡張はさらに、ファイバ・チャネル・アドレスの代わりにＭＡＣアドレスを利用することを可能にし、ファイバ・チャネル・アドレスは、イーサネット・ペイロードに完全なまま残る。結果として、イーサネットがファイバ・チャネルの物理インターフェースとなり、ファイバ・チャネルがトランスポート・プロトコルとなる。フレームは、ファイバ・チャネル・オーバ・イーサネット・ファブリックを介して宛先ポートへルーティングされる。ファブリックは、ファイバ・チャネル・フレーム・ヘッダに組み込まれているアドレスにフレームをルーティングする。ルーティングは、ファイバ・チャネル・アドレスおよびＭＡＣアドレスの両方を使用して実行される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来型のファイバ・チャネル・ネットワークでは、ポートは１つのみのスイッチに関連付けられ、接続されている。ポートが接続されているスイッチが障害を起こすと、この障害は、即座にポートにより検出可能であるが、ポートもうネットワークにアクセスできない。ファイバ・チャネル・オーバ・イーサネット・ネットワークでは、ポートは中継イーサネット・スイッチ（ｉｎｔｅｒｍｅｄｉａｒｙ  Ｅｔｈｅｒｎｅｔ  ｓｗｉｔｃｈ）に接続され得る。このイーサネット・スイッチ・デバイスは、多数の冗長な、ファイバ・チャネルを認識するイーサネット（ＦＣｏＥ：Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ）スイッチへのポートのアクセス可能性を促進する。しかし、この構成では、ポートがリンク・ダウン・イベントを受信しないことから、ポートの関連するファイバ・チャネル・オーバ・イーサネット・スイッチの障害をポートが即座に検出することはできない。
【課題を解決するための手段】
【０００６】
ファイバ・チャネル・オーバ・イーサネット・ネットワークにおいてスイッチ・フェイルオーバ（ｓｗｉｔｃｈ  ｆａｉｌｏｖｅｒ）を管理する方法が提供される。ファイバ・チャネル・オーバ・イーサネットの複数のファイバ・チャネル・オーバ・イーサネット（ＦＣｏＥ）スイッチ間で、イーサネット接続が確立される。複数のＦＣｏＥスイッチはさらに、イーサネット接続を介して中継イーサネット・スイッチに接続される。中継イーサネット・スイッチは、複数のＦＣｏＥスイッチとは別である。複数のエンド・ポートも、中継イーサネット・スイッチに接続される。複数のＦＣｏＥスイッチおよび複数のエンド・ポートの間で直接接続は回避される。ポートＩＤ割り当ておよびアクセス可能性情報が、プロトコルを介してスイッチ間で交換され、このプロトコルは、マルチキャスト・プロトコルまたはユニキャスト・ハンドシェイクとすることができる。次に、複数のＦＣｏＥスイッチのうちの第１のスイッチにおける障害が検出される。第１のスイッチは、複数のエンド・ポートのうちの第１のエンド・ポートに関連する。続いて、第２のスイッチによって、中継イーサネット・スイッチを使用して、障害通知（ｆａｉｌｕｒｅ  ｎｏｔｉｆｉｃａｔｉｏｎ）が第１のエンド・ポートに送られる。障害通知は、通知内のソース識別情報（ｓｏｕｒｃｅ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）により、第２のスイッチをログインに利用可能なスイッチとして特定する、第２のスイッチ宛先を指定してもよいと考えられるが、これは必須ではなく、障害通知は、第１のスイッチにおける障害も示す。例示の実施形態では、ＲＳＣＮ（Ｒｅｇｉｓｔｅｒｅｄ  Ｓｔａｔｅ  Ｃｈａｎｇｅ  Ｎｏｔｉｆｉｃａｔｉｏｎ：登録状態変化通知）ペイロードが、「影響を受けるポート」として通知されるエンド・ポートのポート識別子を含むことができるであろう。例示の実施形態では、拡張リンク・サービス・コマンド（ＥＬＳ：ｅｘｔｅｎｄｅｄ  ｌｉｎｋ  ｓｅｒｖｉｃｅ）が、エンド・ポートが、ファイバ・チャネル・オーバ・イーサネット・スイッチを発見し直し、エンド・ポートのファブリック・ログインを、エンド・ポートがまだ連絡をとることができる別のファイバ・チャネル・オーバ・イーサネット・スイッチと再確立する必要があると、エンド・ポートに通知する。したがって、中継イーサネット・スイッチを使用して、第１のエンド・ポートと、第２のスイッチとの間のファブリック・ログイン・エクスチェンジ（ｆａｂｒｉｃ  ｌｏｇｉｎ  ｅｘｃｈａｎｇｅ）が促進される。
【０００７】
以下、本発明について、下記の図面に示されている本発明の好適な実施形態を参照して、単なる例として記載する。
【図面の簡単な説明】
【０００８】
【図１】例示の実施形態が実装され得る従来技術のデータ処理システムのブロック図である。
【図２】例示の実施形態が実装され得る従来技術のファイバ・チャネル・ネットワークのブロック図である。
【図３】例示の実施形態による、ファイバ・チャネル・オーバ・イーサネット・ネットワークのブロック図である。
【図４】例示の実施形態による、中継冗長スイッチにフェイルオーバするファイバ・チャネル・オーバ・イーサネット・スイッチの動作を示すフローチャートである。
【図５】例示の実施形態による、ファイバ・チャネル・オーバ・イーサネット・ネットワークにおけるスイッチ・フェイルオーバを管理する方法を示すフローチャートである。
【発明を実施するための形態】
【０００９】
当業者であれば当然のことであるが、本発明は、システム、方法またはコンピュータ・プログラム製品として具現化され得る。したがって、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、または本願明細書においてすべて一般に「回路」、「モジュール」または「システム」と呼ばれ得る、ソフトウェアおよびハードウェアの側面を兼ね備えた実施形態の形態をとり得る。さらに、本発明は、任意の有形の表現媒体に具現化されたコンピュータ使用可能プログラム・コードを有する該媒体において具現化されたコンピュータ・プログラム製品の形態をとり得る。
【００１０】
１つ以上のコンピュータ使用可能またはコンピュータ可読媒体（単数または複数）の任意の組み合わせが利用され得る。コンピュータ使用可能またはコンピュータ可読媒体は、例えば、次に限定はされないが、電子、磁気、光学、電磁気、赤外線、または半導体システム、装置、デバイス、または伝播媒体とすることもできる。コンピュータ可読媒体のより具体的な例（包括的でないリスト）は、１つ以上のワイヤを有する電気的接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、消去可能プログラム可能読み取り専用メモリ（ＥＰＲＯＭ（ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）もしくはフラッシュ・メモリ）、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ（ＣＤＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、光学式ストレージ・デバイス、インターネットもしくはイントラネットをサポートする送信媒体などの送信媒体、または磁気ストレージ・デバイスを含むであろう。なお、プログラムは、例えば紙または他の媒体の光学式走査により電子的に獲得され、続いて必要に応じコンパイル、解釈、または適切な方法により別の形で処理され、続いてコンピュータ・メモリに記憶されることが可能なため、コンピュータ使用可能またはコンピュータ可読媒体は、プログラムが印刷される紙または別の適切な媒体とすることさえもできる。この文書の文脈では、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置またはデバイスによって、またはそれに関連して使用されるプログラムを含むこと、記憶すること、伝達すること、伝播させること、または搬送することができる任意の媒体とするとよい。コンピュータ使用可能媒体は、ベースバンドに、または搬送波の一部として伝播データ信号により具現化されたコンピュータ使用可能プログラム・コードを備える伝播データ信号を含み得る。コンピュータ使用可能プログラム・コードは、次に限定はされないが、無線、有線、光ファイバ・ケーブル、ＲＦなどを含む、任意の適切な媒体を使用して送信されるとよい。
【００１１】
本発明の動作を実行するコンピュータ・プログラム・コードは、Ｊａｖａ（Ｒ）、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋または同様のものなどのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語もしくは同様のプログラミング言語などの従来の手続きプログラミング言語を含む、１つ以上のプログラミング言語の任意の組み合わせで書かれればよい。プログラム・コードは、スタンド・アロン・ソフトウェア・パッケージとして、完全にユーザのコンピュータ上で実行されること、部分的にユーザのコンピュータ上で実行されること、部分的にユーザのコンピュータ上で、かつ部分的にリモート・コンピュータ上で実行されること、または完全にリモート・コンピュータもしくはサーバ上で実行されることもできる。後者のシナリオでは、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）もしくは広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）を含む任意のタイプのネットワークによってリモート・コンピュータがユーザのコンピュータに接続されても、または、外部コンピュータに接続されてもよい（例えば、インターネット・サービス・プロバイダを使用してインターネットによって）。
【００１２】
本発明は、本発明の実施形態による方法、装置（システム）およびコンピュータ・プログラム製品のフローチャート図またはブロック図、あるいはその両方を参照して、以下に記載される。当然のことながら、フローチャート図またはブロック図、あるいはその両方の各ブロック、およびフローチャート図またはブロック図、あるいはその両方の複数ブロックの組み合わせは、コンピュータ・プログラム命令により実装されることが可能である。
【００１３】
当該コンピュータ・プログラム命令が、マシンを生じるよう、汎用コンピュータ、専用コンピュータ、またはその他のプログラム可能データ処理装置のプロセッサに提供されて、この命令が、コンピュータまたはその他のプログラム可能データ処理装置のプロセッサにより実行されて、フローチャートまたはブロック図あるいはその両方のブロックまたは複数ブロックにおいて指定された機能／動作を実装する手段を作り出すようにすることもできる。特定の形で機能するようコンピュータまたはその他のプログラム可能データ処理装置に指示することができる当該コンピュータ・プログラム命令はさらに、コンピュータ可読媒体に記憶されて、コンピュータ可読媒体に記憶されたこの命令が、フローチャートまたはブロック図あるいはその両方のブロックもしくは複数ブロックにおいて指定された機能／動作を実装する命令手段を含む製品を生じるようにすることもできる。
【００１４】
コンピュータ・プログラム命令はさらに、コンピュータまたはその他のプログラム可能データ処理装置にロードされて、コンピュータまたはその他のプログラム可能装置上で一連の動作ステップが実行されるようにしてコンピュータに実装されるプロセスを生じさせ、コンピュータまたはその他のプログラム可能装置上で実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックもしくは複数ブロックにおいて指定された機能／動作を実装するためのプロセスを提供するようにすることもできる。
【００１５】
例示の実施形態は、ファイバ・チャネル・オーバ・イーサネット・ネットワークにおいてスイッチ・フェイルオーバを管理するよう、スイッチング・システムおよびコンピュータに実装される方法を提供する。ファイバ・チャネル・オーバ・イーサネット・ネットワーク内の複数のファイバ・チャネル・オーバ・イーサネット（ＦＣｏＥ）スイッチ間で、イーサネット接続が確立される。複数のＦＣｏＥスイッチはさらに、イーサネット接続を介して中継イーサネット・スイッチに接続される。中継イーサネット・スイッチは、複数のＦＣｏＥスイッチとは別である。複数のエンド・ポートも、中継イーサネット・スイッチに接続される。複数のＦＣｏＥスイッチおよび複数のエンド・ポートの間で直接接続は回避される。ポートＩＤ割り当ておよびアクセス可能性情報が、プロトコルを介してスイッチ間で交換され、このプロトコルは、マルチキャスト・プロトコルまたはユニキャスト・ハンドシェイクとすることができる。次に、複数のＦＣｏＥスイッチのうちの第１のスイッチにおける障害が検出される。第１のスイッチは、複数のエンド・ポートのうちの第１のエンド・ポートに関連する。続いて、第２のスイッチによって、中継イーサネット・スイッチを使用して、障害通知が第１のエンド・ポートに送られる。障害通知は、通知内のソース識別情報により、第２のスイッチをログインに利用可能なスイッチとして特定する、第２のスイッチ宛先を指定してもよいと考えられ、障害通知は、第１のスイッチにおける障害も示す。例示の実施形態では、ＲＳＣＮペイロードが、「影響を受けるポート」として通知されるエンド・ポートのポート識別子を含むことが可能である。例示の実施形態では、拡張リンク・サービス・コマンド（ＥＬＳ）が、エンド・ポートが、ファイバ・チャネル・オーバ・イーサネット・スイッチを発見し直し、エンド・ポートのファブリック・ログインを、エンド・ポートがまだ連絡をとることができる別のファイバ・チャネル・オーバ・イーサネット・スイッチと再確立する必要があると、エンド・ポートに通知する。したがって、中継イーサネット・スイッチを使用して、第１のエンド・ポートと、第２のスイッチとの間のファブリック・ログイン・エクスチェンジが促進される。
【００１６】
プロトコルが、複数のＦＣｏＥスイッチ間で、ポート識別情報割り当て（ｐｏｒｔ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ａｓｓｉｇｎｍｅｎｔ）と、アクセス可能性情報の同期とを維持する。このプロトコルは、マルチキャスト・プロトコル、ユニキャスト・プロトコル、またはその他何らかのプロトコルとすることができる。
【００１７】
冗長スイッチ「Ｂ」が、プライマリ・スイッチ「Ａ」が障害を起こしたことをキープ・アライブ・プロトコルにより検出すると、続いて冗長スイッチ「Ｂ」は、「Ａ」に接続されていたポートへ、そのポートが直ちに「Ｂ」にログオンするべきであるという登録状態変化通知（ＲＳＣＮ）または拡張リンク・サービス（ＥＬＳ）を送る。結果として、障害の検出および補償の両方が行われる。
【００１８】
以下、図面、特に図１〜３を参照する。例示の実施形態が実装され得るデータ処理およびネットワーク環境の具体例としての図が提供されている。当然のことながら、図１〜３は具体例でしかなく、種々の実施形態が実装され得る環境に関していかなる制限を主張することも暗示することも目的としていない。示されている環境に対し多数の変更が加えられ得る。
【００１９】
図１は、本発明によるデータ処理システムのいずれかを実装するために使用されるデータ処理システムのブロック図である。データ処理システム１００は、システム・バス１０６に接続された複数のプロセッサ１０２および１０４を含む対称型マルチプロセッサ（ＳＭＰ：ｓｙｍｍｅｔｒｉｃ  ｍｕｌｔｉｐｒｏｃｅｓｓｏｒ）システムであってもよい。あるいは、シングル・プロセッサ・システムが採用されてもよい。示されている例では、プロセッサ１０４は、サービス・プロセッサである。メモリ・コントローラ／キャッシュ１０８も、システム・バス１０６に接続されており、ローカル・メモリ１０９へのインターフェースを提供する。Ｉ／Ｏバス・ブリッジ１１０は、システム・バス１０６に接続され、Ｉ／Ｏバス１１２へのインターフェースを提供する。メモリ・コントローラ／キャッシュ１０８およびＩ／Ｏバス・ブリッジ１１０は、示されているように統合されてもよい。
【００２０】
Ｉ／Ｏバス１１２に接続されているペリフェラル・コンポーネント・インターコネクト（ＰＣＩ：Ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ）バス・ブリッジ１１４は、ＰＣＩローカル・バス１１６へのインターフェースを提供する。モデム１１８など、いくつかのＩ／Ｏアダプタが、ＰＣＩバス１１６に接続され得る。典型的なＰＣＩバス実装は、４つのＰＣＩ拡張スロットまたはアドイン・コネクタをサポートする。他のコンポーネントへの通信リンクは、モデム１１８およびファイバ・チャネル・ホスト・バス・アダプタ１２０を介して提供され得る。ホスト・バス・アダプタ（ＨＢＡ：Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）１２０は、データ処理システム１００が、ファイバ・チャネル・リンク１８０を介してファブリックからメッセージの送受信を行えるようにする。
【００２１】
さらなるＰＣＩバス・ブリッジ１２２および１２４が、さらなるＰＣＩバス１２６および１２８のインターフェースを提供し、そこからさらなるモデムまたはネットワーク・アダプタがサポートされ得る。このように、データ処理システム１００は、複数のネットワーク・コンピュータへの接続を可能にする。
【００２２】
メモリ・マップド・グラフィックス・アダプタ１３０およびハード・ディスク１３２も、示されているように、直接または間接的にＩ／Ｏバス１１２に接続され得る。本発明の例示の実施形態は、許可されたＮポート／Ｆポート・ペアを定義することにより許可された接続を定義するために、ＳＡＮアドミニストレータによる単純なテーブルの生成を必要とすることもある。
【００２３】
本発明の例示の実施形態は、例えば、ＦＣスイッチ動作環境、またはストレージ・サブシステム・ポート・インターフェース・マイクロコード、あるいはその両方により実装されるとよい。例示の実施形態は、特定のハードウェア、ソフトウェア、またはオペレーティング・システムに依存するが、ＩＥＥＥ標準を実装する容易に利用可能な技術を使用する、異種のホスト、スイッチ、およびストレージ・サブシステムから成るＳＡＮにおいて容易に展開可能である。本発明の例示の実施形態は、既存のＩＥＥＥファイバ・チャネル標準の中で機能する。
【００２４】
図２は、例示の実施形態が実装され得る従来技術のファイバ・チャネル・ネットワークのブロック図である。具体的には、図２は、いくつかのファイバ・チャネル・オーバ・イーサネット（ＦＣｏＥ）スイッチを含む従来のファイバ・チャネル・ファブリック２００のブロック図である。図２の例は、ＦＣｏＥスイッチ２０６、２０８、２１０および２１２、ならびにファイバ・チャネル・ポート２０２、２０４および２１４を示す。
【００２５】
この構成では、各ファイバ・チャネル・ポートは、１つのみのスイッチに接続されることが可能である。例えば、スイッチ２０６は、エンド・ポート２０２に接続されており、スイッチ２０８は、エンド・ポート２０４に接続されている。この実施形態では、ＦＣｏＥスイッチのうちの１つで障害が発生すると、障害が起こったスイッチに連結されているエンド・ポートはアクセス不可能となる。示されている例では、ファイバ・チャネル・スイッチ２０８が障害を起こすと、スイッチの障害は、エンド・ポート２０４により即座に検出可能である。しかし、エンド・ポート２０４には、ネットワークと通信を行う他の手段がない。
【００２６】
図３は、例示の実施形態による、ファイバ・チャネル・オーバ・イーサネット・ネットワークのブロック図である。エンド・ポートが１つのみのスイッチに接続される従来型のファイバ・チャネル・ネットワークの場合とは異なり、図３のファイバ・チャネル・オーバ・イーサネット・ネットワークでは、エンド・ポートが、中継イーサネット・スイッチ・デバイスとしての機能を果たすイーサネット・スイッチ・デバイス３０６に接続されている。したがって、エンド・ポート３０２および３０４は、イーサネット・スイッチ・デバイス（ＥＮＥＴスイッチ）３０６に接続されている。イーサネット・スイッチ・デバイス３０６は、イーサネット・ファブリック３０８の一部であり、イーサネット・ファブリック３０８はさらに、ＦＣスイッチ３１０、ＦＣスイッチ３１２、ＦＣスイッチ３１４、およびＦＣスイッチ３１６を含み、ＦＣポート３１８などの他のポートもイーサネット・ファブリック３０８に接続されることが可能である。
【００２７】
イーサネット・スイッチ・デバイス３０６は、ロスレス・イーサネット媒体アクセス制御（ＭＡＣ：Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）をサポートするイーサネット・ポートを介して通信を促進する。この構成は、スイッチ３１０および３１２など、多数の冗長な、ファイバ・チャネルを認識するイーサネット・スイッチへのアクセス可能性を提供する。エンド・ポート３０２および３０４が、イーサネット・スイッチ・デバイス３０６などのスイッチを発見する。エンド・ポート３０２および３０４はさらに、ポート−スイッチ・ペアをインスタンス化するために、ファブリック・ログイン・エクスチェンジを開始する。この図に示されているように、エンド・ポート３０４は、スイッチ３１０と関連し／ペアを組み、エンド・ポート３０２は、スイッチ３１２と関連する／ペアを組んでいる。
【００２８】
前述の通り、イーサネット・スイッチ・デバイス３０６は、中継冗長スイッチ・メカニズムとしても動作する。スイッチ３１０における障害が検出されると、エンド・ポート３０４は、スイッチ３１２を介するエンド・ポート３０４への物理的パスがまだ存在していても、アクセス不可能となる。このパスは、イーサネット・スイッチ・デバイス３０６により維持される。この構成では、エンド・ポート３０４はここで、スイッチ３１０にて発生している障害を検出することができる。
【００２９】
スイッチ３１０が障害を起こすと、スイッチ３１２が障害を検出することができる。スイッチ３１２は、障害通知を使用して、スイッチ３１０に関連するすべてのポートに障害を通知する。障害通知は、拡張リンク・サービス（ＥＬＳ）コマンドを使用して、既存の登録状態変化通知（ＲＳＣＮ）サービスをオーバーロード（ｏｖｅｒｌｏａｄ）することによって、またはファイバ・チャネル・オーバ・イーサネット初期化プロトコル（ＦＩＰ：Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ  Ｉｎｉｔｉａｌｉｚａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）フレームを使用して実装可能である。ＲＳＣＮは、関連ホストにファブリックの変化を伝達するファイバ・チャネル・サービスである。この例では、エンド・ポート３０４が、スイッチ３１０で発生している障害について通知される。エンド・ポート３０４が通知を受信すると、エンド・ポート３０４は、スイッチ３１２と関連付けられるようファブリック・ログイン（ＦＬＯＧＩ：ｆａｂｒｉｃ  ｌｏｇｉｎ）を再発行する。
【００３０】
本質的に、中継イーサネット・スイッチ３０６は、一連のエンド・ポートと、一連のＦＣｏＥスイッチとの間の中継としての機能を果たす。したがって、スイッチが障害を起こすと、その結果、他のすべてのスイッチおよびすべてのエンド・ポートが障害について通知されることが可能である。結果として、スイッチおよびエンド・ポートの全体的なシステムが、迅速にスイッチ障害の補償を行うことができる。この利点は、大幅に追加される望ましくないネットワーク・トラフィックを使用することなく達成される。
【００３１】
図４は、例示の実施形態による、中継冗長スイッチにフェイルオーバするファイバ・チャネル・オーバ・イーサネット・スイッチの動作を示すフローチャートである。図４に示されているプロセスは、図３に示されている具体例としての構成など、中継イーサネット・スイッチを使用するファイバ・チャネル・オーバ・イーサネット構成において実装可能である。
【００３２】
プロセスは、ファイバ・チャネル・オーバ・イーサネット（ＦＣｏＥ）スイッチと、関連するポートとの間で、イーサネット接続が確立されるときに開始する（ステップ４００）。この接続は、一例では、図３に示されている中継イーサネット・スイッチ３０６などの中継イーサネット・スイッチを用いて実現されることが可能である。
【００３３】
その後、第１のスイッチにおける障害の発生が、第２のスイッチにより検出される（ステップ４０２）。第１のスイッチは、ファブリック・ログインで第１のエンド・ポートと関連している。具体例としての例示の実施形態では、第１のスイッチに対するリンク・キープ・アライブ・メッセージ・リクエスト（ｌｉｎｋ  ｋｅｅｐ  ａｌｉｖｅ  ｍｅｓｓａｇｅ  ｒｅｑｕｅｓｔ）に応答して、第２のスイッチにより応答が受信されないときに、障害が発生していることが分かる。障害は、関連するポート自体によってなど、他の方法によっても検出可能である。
【００３４】
障害が検出されると、登録状態変化通知（ＲＳＣＮ）または拡張リンク・サービス（ＥＬＳ）コマンドなどの障害通報が、イーサネット・スイッチング・デバイス（Ｅｔｈｅｒｎｅｔ  ｓｗｉｔｃｈｉｎｇ  ｄｅｖｉｃｅ）を使用して第１のエンド・ポートに送られる（ステップ４０４）。障害通報は、第２のスイッチ宛先と、障害を起こしているファイバ・チャネル・オーバ・イーサネット・スイッチとを特定するとよいであろう。障害通報は、第１のエンド・ポートにより受信される。障害通報が受信された後、イーサネット・スイッチ・デバイスは、第１のエンド・ポートからファブリック・ログイン・エクスチェンジ（ＦＬＯＧＩ）を受信する。例示の実施形態では、第１のポートが、ＦＬＯＧＩを再発行し、第２のイーサネット・スイッチング・デバイスとの関連付けを行う（ステップ４０６）。拡張リンク・サービス（ＥＬＳ）コマンドは、通常、どのスイッチを使用するかを示さない。したがって、ＥＬＳコマンドが受信された後、エンド・ポートは、ファイバ・チャネル・オーバ・イーサネット・スイッチ発見を再実行し、新たな連絡可能なファイバ・チャネル・オーバ・イーサネット・スイッチを選び、ＦＬＯＧＩを開始する。その後、プロセスが終了する。
【００３５】
図５は、例示の実施形態による、ファイバ・チャネル・オーバ・イーサネット・ネットワークにおけるスイッチ・フェイルオーバを管理する方法を示すフローチャートである。図５に示されているプロセスは、図３に示されている具体例としての構成においてなど、中継イーサネット・スイッチを使用するファイバ・チャネル・オーバ・イーサネット構成において実装可能である。
【００３６】
プロセスは、ファイバ・チャネル・オーバ・イーサネット・ネットワーク内の複数のＦＣｏＥスイッチ間でイーサネット接続が確立されるときに開始し、この複数のＦＣｏＥスイッチはさらに、イーサネット接続を介して中継イーサネット・スイッチに接続され、中継イーサネット・スイッチは、この複数のＦＣｏＥスイッチとは別であり、複数のエンド・ポートも中継イーサネット・スイッチに接続され、複数のＦＣｏＥスイッチおよび複数のエンド・ポートの間で直接接続は回避される（ステップ５００）。複数のＦＣｏＥスイッチのうちの第１のスイッチにおける障害が検出され、第１のスイッチは、複数のエンド・ポートのうちの第１のエンド・ポートに関連する（ステップ５０２）。障害は、第２のスイッチが、第１のスイッチからリンク・キープ・アライブ・メッセージを受信しないとき、または他の何らかの方法によって検出可能である。
【００３７】
続いて、障害通知が、中継イーサネット・スイッチを使用して第１のエンド・ポートに送られ、障害通知は、第２のスイッチ宛先を指定してもよいであろう（ステップ５０４）。障害通知は、拡張リンク・サービス（ＥＬＳ）コマンドを使用して、既存の登録状態変化通知（ＲＳＣＮ）サービスをオーバーロードすることによって、またはファイバ・チャネル・オーバ・イーサネット初期化プロトコル（ＦＩＰ）フレームを使用して実装可能である。次に、ファブリック・ログイン・エクスチェンジが、第１のエンド・ポートから第２のスイッチに送られ（ステップ５０６）、プロセスはその後終了する。
【００３８】
例示の実施形態では、複数のＦＣｏＥスイッチ間でリンク・キープ・アライブ・メッセージが交換される。この場合、障害の検出は、第２のスイッチによりリンク・キープ・アライブ・メッセージが受信されないことを検出することを含む。障害は、関連するポート自体によって、または他の手段によって検出されることが可能であろう。さらに別の例示の実施形態では、複数のエンド・ポートは、ファイバ・チャネル・エンド・ポートである。
【００３９】
別の例示の実施形態では、複数のＦＣｏＥスイッチ間でマルチキャスト・プロトコルが使用され、マルチキャスト・プロトコルが、ポート識別情報割り当てと、アクセス可能性情報の同期とを維持する。この場合、ポート識別情報割り当ておよびアクセス可能性情報は、冗長スイッチ間でマルチキャスト・プロトコルを介して交換される。冗長スイッチ「Ｂ」が、プライマリ・スイッチ「Ａ」が障害を起こしたことをキープ・アライブ・プロトコルにより検出すると、続いて冗長スイッチ「Ｂ」は、「Ａ」に接続されていたポートへ、そのポートが直ちに「Ｂ」にログオンするべきであるという障害通知（登録状態変化通知（ＲＳＣＮ）または拡張リンク・サービス（ＥＬＳ）など）を送る。結果として、障害の検出および補償の両方が行われる。
【００４０】
別の例示の実施形態は、ファイバ・チャネル・オーバ・イーサネット・ネットワークにおけるスイッチ障害を管理するシステムを提供する。システムは、第１のスイッチおよび第２のスイッチを含む。第１のスイッチおよび第２のスイッチは、拡張リンク・サービス・コマンドを送信するよう動作可能であり、第１のスイッチと第２のスイッチとの間でイーサネット接続が確立される。中継イーサネット・スイッチング・デバイスは、第１のスイッチおよび第２のスイッチに同時に接続される。システムはさらに、第１のポートおよび第２のポートを含む。第１のポートは、中継イーサネット・スイッチング・デバイスを介して第１のスイッチに関連してリンクされている。第２のポートは、中継イーサネット・スイッチング・デバイスを介して第２のスイッチに関連してリンクされている。第１のスイッチおよび第２のスイッチは、中継イーサネット・スイッチング・デバイスを介して、リンク・キープ・アライブ・メッセージ・トラフィックを使用して相互通信する。第１のスイッチにおける障害を検出すると、第２のスイッチによって、拡張リンク・サービス・コマンドが、第１のポートへルーティングされるよう中継イーサネット・スイッチング・デバイスに送信される。拡張リンク・サービス・コマンドは、ファブリック・ログインを発行するよう第１のポートに命令し、さらに、第２のスイッチとの関連付けを行うよう第１のポートに命令する。
【００４１】
別の例示の実施形態では、第１のポートおよび第２のポートは、ファイバ・チャネル・オーバ・イーサネット・ポートである。さらに別の例示の実施形態では、第１のスイッチおよび第２のスイッチは、ファイバ・チャネル・オーバ・イーサネット・スイッチである。
【００４２】
各図面のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の考えられる実装のアーキテクチャ、機能性および動作を示す。この関連で、フローチャートまたはブロック図内の各ブロックは、指定された論理機能（単数または複数）を実装する１つ以上の実行可能命令を含むモジュール、セグメント、またはコードの一部を表すこともできる。なお、さらに、いくつかの代わりの実装では、ブロック内に示されている機能が、図面に示されているのとは異なる順序で生じてもよい。例えば、関連する機能性次第で、連続して示されている２つのブロックが実際には事実上同時に実行されてもよく、または、各ブロックが時々逆順で実行されてもよい。なお、さらに、ブロック図またはフローチャート図、あるいはその両方の各ブロック、およびブロック図またはフローチャート図、あるいはその両方の複数ブロックの組み合わせは、規定の機能または動作を実行する専用ハードウェア・ベース・システム、または専用ハードウェアおよびコンピュータ命令の組み合わせにより実装することができる。
【００４３】
本願明細書で使用される専門用語は、特定の実施形態を説明するためのものでしかなく、本発明の限定となることは目的としていない。本願明細書で使用される、単数形「ａ」「ａｎ」および「ｔｈｅ」は、文脈によりそうでないことが明確に示されていない限り、複数形も含むものとする。さらに、当然のことながら、「含む」または「含んでいる」、あるいはその両方の用語は、本明細書で使用されるとき、記載された機能、整数、ステップ、動作、構成要素、またはコンポーネント、あるいはそのいずれかの組み合わせの存在を指定するが、１つ以上の他の機能、整数、ステップ、動作、構成要素、コンポーネント、またはそのグループ、あるいはそのいずれかの組み合わせの存在または追加を除外するものではない。
【００４４】
以下の特許請求の範囲のミーンズまたはステップ・プラス・ファンクション構成要素すべての対応する構造、材料、動作、および等価物は、明確に請求されている他の請求される構成要素とともに機能を実行する任意の構造、材料、または動作を含むものとする。本発明の記載は、例示および説明のために提示されたものであるが、包括的であることも、開示された形態の発明に限定することも目的としていない。当業者には、本発明の範囲および意図から逸脱することのない、多数の変更および変形が明らかであろう。実施形態は、本発明の原理および実際の応用を最もよく説明して、他の当業者が、意図される特定の用途に適する様々な変更を用いた様々な実施形態を得るために本発明を理解できるように選ばれ、記載された。
【００４５】
本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはハードウェアおよびソフトウェア両方の構成要素を含む実施形態の形態をとることができる。好適な実施形態では、本発明はソフトウェアにおいて実装され、これは、限定はされないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含む。
【００４６】
さらに、本発明は、コンピュータ使用可能またはコンピュータ可読媒体からアクセス可能なコンピュータ・プログラム製品の形態をとり、コンピュータまたは任意の命令実行システムにより、またはそれに関連して使用されるプログラム・コードを提供することができる。本記載では、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置またはデバイスによって、またはそれに関連して使用されるプログラムを含むこと、記憶すること、伝達すること、伝播させること、または搬送することができる任意の有形の装置とすることができる。
【００４７】
媒体は、電子、磁気、光学、電磁気、赤外線、または半導体システム、（もしくは装置もしくはデバイス）、または伝播媒体とすることができる。コンピュータ可読媒体の例には、半導体または固体メモリ、磁気テープ、リムーバブル・コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）読み取り専用メモリ（ＲＯＭ）、剛体磁気ディスク、および光ディスクが含まれる。光ディスクの現在の例には、コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク読み取り／書き込み（ＣＤ−Ｒ／Ｗ：ｃｏｍｐａｃｔ  ｄｉｓｋ−ｒｅａｄ／ｗｒｉｔｅ）、およびＤＶＤが含まれる。
【００４８】
プログラム・コードの記憶または実行、あるいはその両方に適したデータ処理システムは、システム・バスを介してメモリ要素に直接または間接的に結合された少なくとも１つのプロセッサを含む。メモリ要素は、プログラム・コードを実際に実行する間に用いられるローカル・メモリ、大容量ストレージ、および、実行中にコードが大容量ストレージから読み出されなければならない回数を減らすために少なくとも一部のプログラム・コードの一時的なストレージとなるキャッシュ・メモリを含むことができる。
【００４９】
入出力、すなわちＩ／Ｏ（ｉｎｐｕｔ／ｏｕｔｐｕｔ）デバイス（限定はされないが、キーボード、ディスプレイ、ポインティング・デバイスなどを含む）は、直接、または介在するＩ／Ｏコントローラを介してシステムに結合されることが可能である。
【００５０】
ネットワーク・アダプタもシステムに結合されて、データ処理システムが、他のデータ処理システムまたはリモート・プリンタまたはストレージ・デバイスに、介在するプライベートまたはパブリック・ネットワークを介して結合された状態となることを可能にしてもよい。モデム、ケーブル・モデム、およびイーサネット・カードが、現在利用可能なタイプのネットワーク・アダプタのごく一部である。
【００５１】
本発明の記載は、例証および説明のために提示されたものであり、包括的であることも、開示された形態の発明に限定することも目的としていない。当業者には、多数の変更および変形が明らかであろう。実施形態は、本発明の原理、実際の応用を最もよく説明して、他の当業者が、意図される特定の用途に適する様々な変更を用いた様々な実施形態を得るために本発明を理解できるように選ばれ、記載された。
【要約】【課題】ファイバ・チャネル・オーバ・イーサネット・ネットワークにおけるスイッチ障害を検出し、スイッチ・フェイルオーバを管理する方法を提供する。
【解決手段】複数のファイバ・チャネル・オーバ・イーサネット・スイッチが、イーサネット接続を介して、中継イーサネット・スイッチに接続され、さらに相互に接続される。中継イーサネット・スイッチは、この複数のファイバ・チャネル・オーバ・イーサネット・スイッチとは別である。複数のエンド・ポートも、中継イーサネット・スイッチに接続されている。複数のファイバ・チャネル・オーバ・イーサネット・スイッチのうちの第１のスイッチにおける障害が検出される。第１のスイッチは、複数のエンド・ポートのうちの第１のエンド・ポートに関連する。中継イーサネット・スイッチを使用して、障害通知が第１のエンド・ポートに送られる。障害通知は、第２のスイッチ宛先および第１のスイッチの識別情報を指定するとよいであろう。ファブリック・ログインが、第１のエンド・ポートと、第２のスイッチとの間で交換される。
【選択図】図４【図１】
0004838400.tif 000002
【図２】
0004838400.tif 000003
【図３】
0004838400.tif 000004
【図４】
0004838400.tif 000005
【図５】
0004838400.tif 000006