(57)【要約】ノードを接続するインターコネクトファブリック（１１０）を管理するための方法とシステム。ネットワークマネージャ（１１５）は、ソースノード（１０５）がデータを宛先ノードに送信するためのルーティングデバイス（たとえば、インターコネクトファブリックモジュール、スイッチ、またはルータ）のインターコネクトファブリックまたはネットワークを管理する。ネットワークマネージャ（１１５）は、ソースノードからデータを宛先ノードに送信する登録要求を受け取り、それぞれのソースノードから宛先ノードへの経路を確立するようにネットワークのルーティングデバイスを構成し、仮想アドレスをそれぞれのソースノードに供給する。仮想アドレスにより、ソースノードから宛先ノードへの経路が識別される。ソースノードでは、仮想アドレスとともにデータをネットワークのルーティングデバイスに供給することにより宛先ノードにデータを送信する。データおよび仮想アドレスを受信した後、経路内の各ルーティングデバイスのソース側ポートは、その仮想アドレスを使用して、データおよび仮想アドレスを送信する際に使用する宛先側ポートを識別する。
2004537881.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークマネージャにおけるネットワークのトポロジを識別する方法であって、前記ネットワークには複数のルーティングデバイスが含まれ、各ルーティングデバイスはポートを備えるものであり、前記方法は、
前記ルーティングデバイスの前記ポートのうちどのポートが他のポートに接続されているかを示す指示を前記ルーティングデバイスのそれぞれから取り出し、さらに、
ルーティングデバイス毎に、
他のポートに接続されている前記ルーティングデバイスの各ポートについて、前記ルーティングデバイスに、前記ポートを通じて他方のポートに転送するクエリメッセージを送信し、
前記ルーティングデバイスから、他方のポートの前記ルーティングデバイスと前記識別されたルーティングデバイス内の他方のポートを識別する他方のポートからの応答を受け取ることを特徴とする方法。
【請求項２】
前記ネットワークの前記トポロジを指示する各ルーティングデバイスおよびポートから接続先であるデバイスおよびポートへのマッピングを生成することを含むことを特徴とする請求項１に記載の方法。
【請求項３】
ルーティングデバイスがスイッチであることを特徴とする請求項１に記載の方法。
【請求項４】
ルーティングデバイスがインターコネクトファブリックモジュールであることを特徴とする請求項１に記載の方法。
【請求項５】
前記ルーティングデバイスは仮想アドレスを使用してフレームの経路を選択することを特徴とする請求項１に記載の方法。
【請求項６】
ネットワークマネージャにより前記トポロジの前記識別が実行されることを特徴とする請求項１に記載の方法。
【請求項７】
前記ネットワークマネージャは前記ルーティングデバイスに分散されることを特徴とする請求項６に記載の方法。
【請求項８】
前記クエリメッセージは帯域外通信を介して送信されることを特徴とする請求項１に記載の方法。
【請求項９】
前記クエリメッセージは帯域内通信を介して送信されることを特徴とする請求項１に記載の方法。
【請求項１０】
前記ネットワークの前記ルーティングデバイスは受信した応答を介して識別されることを特徴とする請求項１に記載の方法。
【請求項１１】
ルーティングデバイスが識別されたときに、前記ルーティングデバイスの前記ポートのうちどれが他のポートに接続されているかを示す指示を取り出すことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記ルーティングデバイスの前記ポートのうちどれが他のポートに接続されているかを示す指示の前記取り出しは、前記ルーティングデバイスに要求を送信することを含むことを特徴とする請求項１に記載の方法。
【請求項１３】
前記ルーティングデバイスのどのポートが他のポートに接続されているかを示す指示の前記取り出しは、前記ルーティングデバイスからメッセージを受信することを含むことを特徴とする請求項１に記載の方法。
【請求項１４】
各ルーティングデバイスはそのポートのうちどれが他のポートに接続されているかを判別し、前記ルーティングデバイスの前記ポートのうちどれが他のポートに接続されているかを示す指示の前記取り出しは、前記判別された情報をネットワークマネージャに送信することを含むことを特徴とする請求項１に記載の方法。
【請求項１５】
ネットワークのトポロジを識別するためのネットワークマネージャであって、前記ネットワークには複数のルーティングデバイスが含まれ、各ルーティングデバイスはポートを備え、
前記ルーティングデバイスの前記ポートのうちどのポートが他のポートに接続されているかを示す指示を取り出すコンポーネントと、
前記ルーティングデバイスに、他のポートに接続済みとして示されている各ポートを通じて他方のポートに転送されるクエリメッセージを送信し、前記ルーティングデバイスから、他方のデバイスおよび他方のポートを識別する他方のポートからの応答を受信するコンポーネントとを備えることを特徴とするネットワークマネージャ。
【請求項１６】
前記ネットワークの前記トポロジを指示する各ルーティングデバイスおよびポートから接続先であるデバイスおよびポートへのマッピングを生成するコンポーネントを備えることを特徴とする請求項１５に記載のネットワークマネージャ。
【請求項１７】
ルーティングデバイスがスイッチであることを特徴とする請求項１５に記載のネットワークマネージャ。
【請求項１８】
ルーティングデバイスがインターコネクトファブリックモジュールであることを特徴とする請求項１５に記載のネットワークマネージャ。
【請求項１９】
前記ルーティングデバイスは仮想アドレスを使用してメッセージの経路を選択することを特徴とする請求項１５に記載のネットワークマネージャ。
【請求項２０】
各ルーティングデバイスを仮想アドレスに対するルーティングデータを使用して構成するコンポーネントを備えることを特徴とする請求項１９に記載のネットワークマネージャ。
【請求項２１】
データの各フレームで宛先仮想アドレスを識別することを特徴とする請求項２０に記載のネットワークマネージャ。
【請求項２２】
前記クエリメッセージは帯域外通信を介して送信されることを特徴とする請求項１５に記載のネットワークマネージャ。
【請求項２３】
前記クエリメッセージは帯域内通信を介して送信されることを特徴とする請求項１５に記載のネットワークマネージャ。
【請求項２４】
前記ネットワークの前記ルーティングデバイスは受信した応答を介して識別されることを特徴とする請求項１５に記載のネットワークマネージャ。
【請求項２５】
前記ルーティングデバイスの前記ポートのうちどれが他のポートに接続されているかを示す指示を取り出す前記コンポーネントは、前記ルーティングデバイスが識別されたときにそのことを示す指示を取り出すことを特徴とする請求項２４に記載のネットワークマネージャ。
【請求項２６】
指示を取り出す前記コンポーネントはルーティングデバイスに要求を送信することを特徴とする請求項２５に記載のネットワークマネージャ。
【請求項２７】
前記ルーティングデバイスのどのポートが他のポートに接続されているかを示す指示を取り出す前記コンポーネントは、前記ルーティングデバイスからメッセージを受信することを含むことを特徴とする請求項１５に記載のネットワークマネージャ。
【請求項２８】
各ルーティングデバイスはそのポートのうちどれが他のポートに接続されているかを判別し、前記ルーティングデバイスの前記ポートのうちどれが他のポートに接続されているかを示す指示の前記取り出しは、前記ルーティングデバイスから前記判別結果を受信することを含むことを特徴とする請求項１５に記載のネットワークマネージャ。
【請求項２９】
ネットワークのトポロジを識別する方法であって、前記ネットワークは複数のスイッチを備え、各スイッチはポートを備え、スイッチの各ポートは他のポートに接続されているか、または他のポートに接続されていないかのいずれかであり、前記方法は、
各スイッチの制御の下で、前記スイッチの各ポートが接続先ポートに接続されているかどうかを判別し、
ネットワークマネージャの制御の下で、
スイッチ毎に、
前記スイッチの前記ポートのうち、どのポートが接続先ポートに接続されているかを示す指示を取り出し、
接続先ポートに接続されているポート毎に、
前記ポートを通じてクエリメッセージを接続先ポートに送信し、
前記接続先ポートから、前記接続先デバイスおよび接続先ポートを識別する応答を受信することを含み、
各スイッチおよびポートからその接続先デバイスおよび接続先ポートへのマッピングが前記ネットワークの前記トポロジを示すことを特徴とする方法。
【請求項３０】
前記ネットワークマネージャの処理が前記スイッチに分散されることを特徴とする請求項２９に記載の方法。
【請求項３１】
前記クエリメッセージは帯域外通信を介して送信されることを特徴とする請求項２９に記載の方法。
【請求項３２】
前記接続先クエリメッセージの前記送信は前記ネットワークの帯域内通信を介して送信されることを特徴とする請求項２９に記載の方法。
【請求項３３】
前記ネットワークマネージャは、前記受信した応答を介して前記ネットワークのスイッチを識別することを特徴とする請求項３２に記載の方法。
【請求項３４】
スイッチが識別されたときに、前記ネットワークマネージャは、前記スイッチの前記ポートのうちどれが接続先ポートに接続されているかを示す指示の前記取り出しを実行することを特徴とする請求項３３に記載の方法。
【請求項３５】
前記接続先デバイスがノードであることを特徴とする請求項２９に記載の方法。
【請求項３６】
前記接続先デバイスがスイッチであることを特徴とする請求項２９に記載の方法。
【請求項３７】
ネットワークのトポロジを識別するためのネットワークマネージャであって、前記ネットワークには複数のルーティングデバイスが含まれ、各ルーティングデバイスはポートを備えており、
前記ルーティングデバイスの前記ポートのうちどのポートが他のポートに接続されているかを示す指示を取り出すための手段と、
他のポートに接続されていると示され、他方のポートを識別する応答を他方のポートから受信する各ポートを通じてクエリメッセージを他方のポートに送信する手段とを備えることを特徴とするネットワークマネージャ。
【請求項３８】
前記ネットワークの前記トポロジを指示する各ポートから接続先ポートへのマッピングを生成するコンポーネントを備えることを特徴とする請求項３７に記載のネットワークマネージャ。
【請求項３９】
ルーティングデバイスがスイッチであることを特徴とする請求項３７に記載のネットワークマネージャ。
【請求項４０】
ルーティングデバイスがインターコネクトファブリックモジュールであることを特徴とする請求項３７に記載のネットワークマネージャ。
【請求項４１】
前記ルーティングデバイスは仮想アドレスを使用してメッセージの経路を選択することを特徴とする請求項３７に記載のネットワークマネージャ。
【請求項４２】
コンピュータシステムにおけるソースノードと宛先ノードとの間の経路を再構成する方法であって、
前記ソースノードと前記宛先ノードとの間に、仮想アドレスが設定されている第１の経路を確立し、
前記仮想アドレスを前記ソースノードに送り、前記確立された経路を経由して前記ソースノードから前記宛先ノードにデータを送信する際に前記仮想アドレスを使用し、
前記仮想アドレスを前記ソースノードに供給した後、前記ソースノードと前記宛先ノードとの間に第２の経路を確立し、前記ソースノードが前記供給された仮想アドレスを使用してデータを送信するときに、前期第１の経路ではなく前記第２の経路を経由してデータが送信されるようにすることを含むことを特徴とする方法。
【請求項４３】
前記第２の経路の前記確立は、前記ソースノードに対して透過的に実行されることを特徴とする請求項４２に記載の方法。
【請求項４４】
前記経路は、スイッチのネットワークを通じて確立されることを特徴とする請求項４２に記載の方法。
【請求項４５】
前記経路は、ポートを備えるスイッチを通じて確立され、経路の前記確立は、各スイッチのソース側ポートおよび宛先側ポートを識別することを含むことを特徴とする請求項４２に記載の方法。
【請求項４６】
前記経路の前記確立は、前記経路内のスイッチの各ソース側ポートに前記仮想アドレスを供給することを含むことを特徴とする請求項４５に記載の方法。
【請求項４７】
ソース側ポートの前記仮想アドレスを使用して、前記ソース側ポートを前記スイッチの前記宛先側ポートにマッピングすることを特徴とする請求項４６に記載の方法。
【請求項４８】
データを前記ソースノードから前記宛先ノードに送信するための仮想アドレスを識別することを含み、前記識別された仮想アドレスが前記ソースノードに供給されることを特徴とする請求項４２に記載の方法。
【請求項４９】
前記識別された仮想アドレスは、前記スイッチのソース側ポートで現在使用していないことを特徴とする請求項４８に記載の方法。
【請求項５０】
各スイッチの各ポートは、仮想アドレスを前記スイッチの他のポートにマッピングするための仮想アドレステーブルを備えることを特徴とする請求項４８に記載の方法。
【請求項５１】
スイッチのポートでデータが受信されると、前記データの前記仮想アドレスを使用して、他のポートの指示が取り出され、前記データが他方のポート通じて前記スイッチから送信されることを特徴とする請求項４２に記載の方法。
【請求項５２】
前記ソースノードから前記宛先ノードへの経路の前記確立は、ソース側ポートおよび前記経路内の各スイッチの宛先側ポートを識別することを含むことを特徴とする請求項４２に記載の方法。
【請求項５３】
前記データがファイバーチャネルフレームであることを特徴とする請求項４２に記載の方法。
【請求項５４】
前記スイッチは、ファイバーチャネル互換であることを特徴とする請求項４２に記載の方法。
【請求項５５】
前記スイッチは、インターコネクトファブリックモジュールであることを特徴とする請求項４２に記載の方法。
【請求項５６】
ソースノードと宛先ノードとの間の経路を再構成するコンピュータシステムであって、
前記ソースノードと第１の宛先ノードとの間に第１の経路を確立するコンポーネントであって、前記経路は仮想アドレスを持ち、前記第１の経路は仮想アドレスにより識別され、前記ソースノードが前記仮想アドレスを使用してデータを送信するときに、前記データは前記第１の経路を経由して送信されるコンポーネントと、
前記第１の経路を確立した後、前記ソースノードと第２の宛先ノードとの間に第２の経路を確立するコンポーネントであって、前記第２の経路は仮想アドレスにより識別され、前記ソースノードが前記第２の経路が確立された後に前記供給された仮想アドレスを使用してデータを送信するときに、前記データは前記第２の経路を経由して送信されるコンポーネントとを備えることを特徴とするコンピュータシステム。
【請求項５７】
前記仮想アドレスをソースノードに供給し、前記第２の経路が確立される前に前記第１の経路を経由して、また前記第２の経路が確立された後で前記第２の経路を経由してデータを送信する際に前記仮想アドレスを使用するコンポーネントを備えることを特徴とする請求項５６に記載のコンピュータシステム。
【請求項５８】
前記第２の経路の前記確立は、前記ソースノードに対して透過的に実行されることを特徴とする請求項５６に記載のコンピュータシステム。
【請求項５９】
前記経路は、スイッチのネットワークを通じて確立されることを特徴とする請求項５６に記載のコンピュータシステム。
【請求項６０】
前記経路は、ポートを備えるスイッチを通じて確立され、経路の前記確立は、ソース側ポートおよび前記経路内の各スイッチの宛先側ポートを識別することを含むことを特徴とする請求項５６に記載のコンピュータシステム。
【請求項６１】
前記仮想アドレスは、ソース側ポートにより使用され、前記ソース側ポートを前記スイッチの前記宛先側ポートにマッピングすることを特徴とする請求項６０に記載のコンピュータシステム。
【請求項６２】
データを前記ソースノードから前記宛先ノードに送信するための仮想アドレスを識別し、前記識別された仮想アドレスが前記ソースノードに供給されるコンポーネントを備えることを特徴とする請求項５６に記載のコンピュータシステム。
【請求項６３】
前記識別された仮想アドレスは、前記スイッチのソース側ポートで現在使用していないことを特徴とする請求項６２に記載のコンピュータシステム。
【請求項６４】
各スイッチの各ポートは、仮想アドレスを前記スイッチの他のポートにマッピングするための仮想アドレステーブルを備えることを特徴とする請求項６２に記載のコンピュータシステム。
【請求項６５】
スイッチのポートでデータが受信されると、前記データの前記仮想アドレスを使用して、他のポートの指示が取り出され、前記データが他方のポートを通じて前記スイッチから送信されることを特徴とする請求項５６に記載のコンピュータシステム。
【請求項６６】
前記データがファイバーチャネルフレームであることを特徴とする請求項５６に記載のコンピュータシステム。
【請求項６７】
前記データがＩｎｆｉｎｉＢａｎｄフレームであることを特徴とする請求項５６に記載のコンピュータシステム。
【請求項６８】
前記第１の宛先ノードと前記第２の宛先ノードとが異なるノードであることを特徴とする請求項５６に記載のコンピュータシステム。
【請求項６９】
前記第１の宛先ノードと前記第２の宛先ノードとが同じノードであることを特徴とする請求項５６に記載のコンピュータシステム。
【請求項７０】
ソースノードと宛先ノードとの間の経路を再構成するコンピュータシステムであって、
前記ソースノードと前記宛先ノードとの間に、仮想アドレスが設定されている第１の経路を確立する手段と、
前記ソースノードと前記宛先ノードとの間に第２の経路を確立し、前記仮想アドレスを使用して送信されるデータが、前記第２の経路が確立される前に第１の経路を経由して、また前記第２の経路が確立された後で第２の経路を経由して経路選択されるようにする手段とを含むことを特徴とするコンピュータシステム。
【請求項７１】
前記仮想アドレスを前記ソースノードに供給して前記宛先ノードへのデータの送信に使用できるようにする手段を備えることを特徴とする請求項７０に記載のコンピュータシステム。
【請求項７２】
前記第２の経路の前記確立は、前記ソースノードに対して透過的に実行されることを特徴とする請求項７０に記載のコンピュータシステム。
【請求項７３】
前記経路は、スイッチのネットワークを通じて確立されることを特徴とする請求項７０に記載のコンピュータシステム。
【請求項７４】
前記経路は、ポートを備えるスイッチを通じて確立され、経路の確立を行う前記手段は、ソース側ポートおよび前記経路内の各スイッチの宛先側ポートを識別することを含むことを特徴とする請求項７３に記載のコンピュータシステム。
【請求項７５】
前記仮想アドレスは、ソース側ポートにより使用され、前記ソース側ポートを前記スイッチの前記宛先側ポートにマッピングすることを特徴とする請求項７４に記載のコンピュータシステム。
【請求項７６】
前記スイッチは、インターコネクトファブリックモジュールであることを特徴とする請求項７３に記載のコンピュータシステム。
【請求項７７】
データを前記ソースノードから前記宛先ノードに送信するための仮想アドレスを識別する手段と、前記仮想アドレスを前記ソースノードに供給する手段を備えることを特徴とする請求項７０に記載のコンピュータシステム。
【請求項７８】
前記識別された仮想アドレスは、前記経路のスイッチのソース側ポートで現在使用していないことを特徴とする請求項７７に記載のコンピュータシステム。
【請求項７９】
各スイッチの各ポートは、仮想アドレスを前記スイッチの他のポートにマッピングするための仮想アドレステーブルを備えることを特徴とする請求項７７に記載のコンピュータシステム。
【請求項８０】
前記経路はポート付きのスイッチを備え、スイッチのポートでデータが受信されると、前記データの前記仮想アドレスを使用して、他のポートの指示が取り出され、前記データが他方のポートを通じて前記スイッチから送信されることを特徴とする請求項７０に記載のコンピュータシステム。
【請求項８１】
前記データがファイバーチャネルフレームであることを特徴とする請求項７０に記載のコンピュータシステム。
【請求項８２】
前記データがＩｎｆｉｎｉＢａｎｄフレームであることを特徴とする請求項７０に記載のコンピュータシステム。
【請求項８３】
コンピュータシステムにおけるソースノードと宛先ノードとの間の経路を確立する方法であって、
前記ソースノードと前記宛先ノードとの間の経路を形成しソース側ポートと宛先側ポートとを備えるスイッチのポートを識別し、
データを前記ソースノードから前記宛先ノードに送信するための仮想アドレスを識別して、前記仮想アドレスが前記ソース側ポートにより現在使用されていないようにし、
スイッチの前記宛先側ポートを介して前記識別された仮想アドレスに送信されるデータを交換するように前記ソース側ポートのそれぞれを設定することを含むことを特徴とする方法。
【請求項８４】
データを前記宛先ノードから前記ソースノードに送信するための仮想アドレスを識別して、前記仮想アドレスが前記宛先側ポートにより現在使用されていないようにし、
スイッチの前記ソース側ポートを介して前記識別された仮想アドレスに送信されたデータを交換するように前記宛先側ポートのそれぞれを設定することを含むことを特徴とする請求項８３に記載の方法。
【請求項８５】
各スイッチの各ポートは、仮想アドレスを前記スイッチの他のポートにマッピングするための仮想アドレステーブルを備えることを特徴とする請求項８３に記載の方法。
【請求項８６】
スイッチのポートでデータが受信されると、前記データの前記仮想アドレスを使用して、他のポートの指示が取り出され、前記データが他方のポートを通じて前記スイッチから送信されることを特徴とする請求項８３に記載の方法。
【請求項８７】
各経路についてスイッチのポートを識別することにより前記ソースノードと複数の宛先ノードのそれぞれとの間に経路を確立することを特徴とする請求項８３に記載の方法。
【請求項８８】
前記データがファイバーチャネルフレームであることを特徴とする請求項８３に記載の方法。
【請求項８９】
前記スイッチは、ファイバーチャネル互換であることを特徴とする請求項８３に記載の方法。
【請求項９０】
前記スイッチは、インターコネクトファブリックモジュールであることを特徴とする請求項８３に記載の方法。
【請求項９１】
スイッチのポートが前記ポートに対して設定されていない仮想アドレスを持つデータを受信した場合に、前記ポートは前記データを転送しないことを特徴とする請求項８３に記載の方法。
【請求項９２】
ルーティングデバイスのネットワークを通じてソースノードと宛先ノードとの間の経路を確立する方法であって、
前記ソースノードと前記宛先ノードとの間の経路を形成しソース側ポートと宛先側ポートとを備えるルーティングデバイスのポートを識別し、
前記ソースノードから前記宛先ノードにデータを送信するための仮想アドレスを識別し、
前記識別されたソース側ポートのそれぞれを設定してそのルーティングデバイスの前記識別された宛先側ポートを介して前記識別された仮想アドレスに送信されたデータの経路を選択することを含むことを特徴とする方法。
【請求項９３】
前記宛先ノードから前記ソースノードにデータを送信するための仮想アドレスを識別し、
前記識別された宛先側ポートのそれぞれを設定してそのルーティングデバイスの前記識別されたソース側ポートを介して前記識別された仮想アドレスに送信されたデータの経路を選択することを含むことを特徴とする請求項９２に記載の方法。
【請求項９４】
ルーティングデバイスがスイッチであることを特徴とする請求項９２に記載の方法。
【請求項９５】
各ルーティングデバイスは、仮想アドレスを前記ルーティングデバイスの他のポートにマッピングするための仮想アドレステーブルを備えることを特徴とする請求項９２に記載の方法。
【請求項９６】
ルーティングデバイスのポートでデータが受信されると、前記データの前記仮想アドレスを使用して、他のポートの指示が取り出され、前記データが他方のポートを通じて前記ルーティングデバイスから送信されることを特徴とする請求項９２に記載の方法。
【請求項９７】
各経路についてルーティングデバイスのポートを識別することにより前記ソースノードと複数の宛先ノードのそれぞれとの間に経路に確立することを特徴とする請求項９２に記載の方法。
【請求項９８】
前記データがファイバーチャネルフレームであることを特徴とする請求項９２に記載の方法。
【請求項９９】
前記データがＩｎｆｉｎｉＢａｎｄフレームであることを特徴とする請求項９２に記載の方法。
【請求項１００】
前記ルーティングデバイスは、インターコネクトファブリックモジュールであることを特徴とする請求項９２に記載の方法。
【請求項１０１】
ルーティングデバイスが前記ルーティングデバイスに対して設定されていない仮想アドレスを持つデータを受信した場合に、前記ルーティングデバイスは前記データを転送しないことを特徴とする請求項９２に記載の方法。
【請求項１０２】
前記識別された仮想アドレスは、前記識別されたソース側ポートで現在使用していないことを特徴とする請求項９２に記載の方法。
【請求項１０３】
前記識別された仮想アドレスは、前記経路の一部が前記同じ宛先ノードにデータを送信する２つのソースノードにより共有されている場合に、識別されたソース側ポートにより現在使用されることを特徴とする請求項９２に記載の方法。
【請求項１０４】
前記識別された仮想アドレスを前記ソースノードに供給して前記宛先ノードへのデータの送信に使用できるようにすることを含むことを特徴とする請求項９２に記載の方法。
【請求項１０５】
スイッチのネットワークを通じてソースノードと宛先ノードとの間の経路を確立するネットワークマネージャであって、
前記ソースノードと前記宛先ノードとの間の経路を形成するスイッチを識別するコンポーネントと、
前記識別されたスイッチを通じて前記ソースノードから前記宛先ノードにデータを送信するための仮想アドレスを識別するコンポーネントと、
前記ソースノードから前記宛先ノードへの前記識別されたスイッチを介して前記識別された仮想アドレスに送信されたデータの経路が選択されるように前記識別されたスイッチのそれぞれを構成するコンポーネントとを備えることを特徴とするネットワークマネージャ。
【請求項１０６】
前記宛先ノードから前記ソースノードにデータを送信するための仮想アドレスを識別するコンポーネントと、
前記宛先ノードから前記ソースノードへの前記識別されたスイッチを介して前記識別された仮想アドレスに送信されたデータの経路が選択されるように前記識別されたスイッチのそれぞれを構成するコンポーネントとを備えることを特徴とする請求項１０５に記載のネットワークマネージャ。
【請求項１０７】
前記宛先ノードと前記ソースノードとの間の経路を形成するスイッチを識別するコンポーネントを備えることを特徴とする請求項１０５に記載のネットワークマネージャ。
【請求項１０８】
前記ソースノードから前記宛先ノードへの前記経路は、前記宛先ノードから前記ソースノードヘの前記経路内にない１つのポートを含むことを特徴とする請求項１０７に記載のネットワークマネージャ。
【請求項１０９】
前記ソースノードから前記宛先ノードへの前記経路は、前記宛先ノードから前記ソースノードヘの前記経路と異なることを特徴とする請求項１０７に記載のネットワークマネージャ。
【請求項１１０】
各スイッチは、仮想アドレスを前記スイッチの他のポートへマッピングする機能があるポートを備えることを特徴とする請求項１０５に記載のネットワークマネージャ。
【請求項１１１】
スイッチのポートでデータが受信されるときに、前記識別された仮想アドレスを使用して、データの送信に使用されるスイッチの他のポートの指示を取り出すことを特徴とする請求項１０５に記載のネットワークマネージャ。
【請求項１１２】
各経路についてスイッチのポートを識別することにより前記ソースノードと複数の宛先ノードのそれぞれとの間に経路を確立することを特徴とする請求項１０５に記載のネットワークマネージャ。
【請求項１１３】
前記データがファイバーチャネルフレームであることを特徴とする請求項１０５に記載のネットワークマネージャ。
【請求項１１４】
前記データがＩｎｆｉｎｉＢａｎｄフレームであることを特徴とする請求項１０５に記載のネットワークマネージャ。
【請求項１１５】
前記スイッチは、インターコネクトファブリックモジュールであることを特徴とする請求項１０５に記載のネットワークマネージャ。
【請求項１１６】
スイッチのポートが前記ポートに対して設定されていない仮想アドレスを持つデータを受信した場合に、前記ポートは前記データを転送しないことを特徴とする請求項１０５に記載のネットワークマネージャ。
【請求項１１７】
各スイッチはソース側ポートを備え、前記識別された仮想アドレスは前記ソース側ポートで現在使用していないことを特徴とする請求項１０５に記載のネットワークマネージャ。
【請求項１１８】
各スイッチはソース側ポートを持ち、前記識別された仮想アドレスは、前記経路の一部が前記同じ宛先ノードにデータを送信する２つのソースノードにより共有されている場合に、識別されたソース側ポートにより現在使用されていることを特徴とする請求項１０５に記載のネットワークマネージャ。
【請求項１１９】
ルーティングデバイスのネットワークを通じてソースノードと宛先ノードとの間の経路を確立するネットワークマネージャであって、
前記ソースノードと前記宛先ノードとの間の経路を形成するルーティングデバイスのポートを識別する手段であって、前記経路の各ルーティングデバイスが識別されたソース側ポートと識別された宛先側ポートを備える手段と、
前記ソースノードから前記宛先ノードにデータを送信するための仮想アドレスを識別する手段とを備え、
前記ルーティングデバイスの前記識別された宛先側ポートを介して前記識別された仮想アドレスに送信されたデータの経路が選択されるように前記識別されたソース側ポートのそれぞれを設定することを特徴とするネットワークマネージャ。
【請求項１２０】
前記宛先ノードから前記ソースノードにデータを送信するために仮想アドレスを識別する手段と、
前記ルーティングデバイスの前記識別されたソース側ポートを介して前記識別された仮想アドレスに送信されたデータの経路が選択されるように前記識別された宛先側ポートのそれぞれを設定する手段とを備えることを特徴とする請求項１１９に記載のネットワークマネージャ。
【請求項１２１】
ルーティングデバイスがスイッチであることを特徴とする請求項１１９に記載のネットワークマネージャ。
【請求項１２２】
各ルーティングデバイスの各ポートは、仮想アドレスを前記ルーティングデバイスの他のポートにマッピングするための手段を備えることを特徴とする請求項１１９に記載のネットワークマネージャ。
【請求項１２３】
ルーティングデバイスのポートでデータが受信されると、前記識別された仮想アドレスを使用して、他のポートの指示を取り出し、前記データを他方のポートを通じて前記ルーティングデバイスから送信する手段を備えることを特徴とする請求項１１９に記載のネットワークマネージャ。
【請求項１２４】
各経路についてルーティングデバイスのポートを識別することにより前記ソースノードと複数の宛先ノードのそれぞれとの間に経路を確立する手段を備えることを特徴とする請求項１１９に記載のネットワークマネージャ。
【請求項１２５】
前記データがファイバーチャネルフレームであることを特徴とする請求項１１９に記載のネットワークマネージャ。
【請求項１２６】
前記データがＩｎｆｉｎｉＢａｎｄフレームであることを特徴とする請求項１１９に記載のネットワークマネージャ。
【請求項１２７】
スイッチにおけるフレームをネットワークマネージャに送信する方法であって、
宛先仮想アドレスを持つフレームを受信し、
前記フレームを受信した後、
前記フレームの前記宛先仮想アドレスが予約されているかどうかを判別し、
前記フレームの前記宛先仮想アドレスが予約されている場合に、
前記フレームの他の仮想アドレスが前記スイッチの一部にマッピングされているかどうかを判別し、
前記フレームの他方の仮想アドレスが前記スイッチのポートにマッピングされている場合に、前記マッピング先ポートを介して前記フレームを送信し、
前記フレームの他方の仮想アドレスが前記スイッチのポートにマッピングされない場合に、前記フレームを前記ネットワークマネージャに送信することを特徴とする方法。
【請求項１２８】
前記宛先仮想アドレスおよび他方の仮想アドレスが前記フレームのヘッダ内に格納されることを特徴とする請求項１２７に記載の方法。
【請求項１２９】
前記フレームの他の仮想アドレスがスイッチのポートにマッピングされているかどうかの前記判別に、仮想アドレスをポートにマッピングする機能のチェックが含まれることを特徴とする請求項１２７に記載の方法。
【請求項１３０】
前記スイッチの各ポートはそれ専用のマッピングを持つことを特徴とする請求項１２９に記載の方法。
【請求項１３１】
マッピング先ポートを経由するフレームの前記送信により、前記フレームがネットワークマネージャに送信されることを特徴とする請求項１２７に記載の方法。
【請求項１３２】
前記マッピング先ポートにより帯域内通信を介して前記フレームが送信されることを特徴とする請求項１２７に記載の方法。
【請求項１３３】
前記ネットワークマネージャは、帯域外通信を介して前記フレームを送信することを特徴とする請求項１２７に記載の方法。
【請求項１３４】
前記ネットワークマネージャはスイッチに接続されているデバイスに分散され、前記ネットワークマネージャは帯域外通信を介して前記フレームを前記スイッチに接続されているデバイスに送信することを特徴とする請求項１２７に記載の方法。
【請求項１３５】
前記ネットワークマネージャは中央集中型であり、前記フレームは帯域内通信を介して前記ネットワークマネージャに送信されることを特徴とする請求項１２７に記載の方法。
【請求項１３６】
ルーティングデバイスにおけるフレームをネットワークマネージャに送信する方法であって、
仮想アドレスを持つフレームを受信し、
前記フレームの前記仮想アドレスが予約されているかどうかを判別し、
前記フレームの前記仮想アドレスが予約されている場合に、前記フレームを前記ネットワークマネージャに供給し、
前記フレームの前記仮想アドレスが予約されていない場合に、仮想アドレスからポートへのマッピングに基づいて前記ルーティングデバイスのポートを介して前記フレームを送信することを特徴とする方法。
【請求項１３７】
前記ネットワークマネージャへの前記フレームの前記供給は、
前記フレームの他の仮想アドレスが前記ルーティングデバイスの一部にマッピングされているかどうかを判別し、
前記フレームの他方の仮想アドレスが前記ルーティングデバイスのポートにマッピングされている場合に、前記マッピング先ポートを介して前記フレームを送信し、
前記フレームの他方の仮想アドレスが前記スイッチのポートにマッピングされない場合に、前記フレームを前記ネットワークマネージャに直接送信することを含むことを特徴とする請求項１３６に記載の方法。
【請求項１３８】
前記仮想アドレスおよび他方の仮想アドレスが前記フレームのヘッダ内に格納されることを特徴とする請求項１３７に記載の方法。
【請求項１３９】
前記フレームの他の仮想アドレスがルーティングデバイスのポートにマッピングされているかどうかの前記判別に、仮想アドレスをポートにマッピングする機能のチェックが含まれることを特徴とする請求項１３７に記載の方法。
【請求項１４０】
前記ルーティングデバイスの各ポートはそれ専用のマッピングを持つことを特徴とする請求項１３９に記載の方法。
【請求項１４１】
ルーティングデバイスがスイッチであることを特徴とする請求項１３６に記載の方法。
【請求項１４２】
前記ネットワークマネージャへの前記フレームの前記供給により、帯域外通信を介して前記フレームを送信することを特徴とする請求項１３６に記載の方法。
【請求項１４３】
前記ネットワークマネージャはルーティングデバイスに接続されているデバイスに分散され、前記ネットワークマネージャへの前記フレームの前記供給により、帯域外通信を介して前記フレームを前記ルーティングデバイスに接続されているデバイスに送信することを特徴とする請求項１３６に記載の方法。
【請求項１４４】
データをネットワークマネージャに送信するためのルーティングデバイスであって、
仮想アドレスを持つデータを受信するコンポーネントと、
前記データの前記仮想アドレスが予約されている場合に、前記データを前記ネットワークマネージャに供給し、前記仮想アドレスが予約されていない場合に、仮想アドレスからポートへのマッピングに基づいて前記ルーティングデバイスのポートを介して前記データを送信するコンポーネントとを備えることを特徴とするルーティングデバイス。
【請求項１４５】
前記ネットワークマネージャへの前記データの前記供給は、
前記データの他方の仮想アドレスが前記ルーティングデバイスのポートにマッピングされる場合に、マッピング先ポートを介してデータを送信し、他方の仮想アドレスが前記ルーティングデバイスのポートにマッピングされない場合に、前記フレームをネットワークマネージャに直接送信するコンポーネントとを備えることを特徴とする請求項１４４に記載のルーティングデバイス。
【請求項１４６】
前記仮想アドレスおよび他方の仮想アドレスが前記データのヘッダ内に格納されることを特徴とする請求項１４５に記載のルーティングデバイス。
【請求項１４７】
前記ルーティングデバイスの各ポートはそれ専用のマッピングを持つことを特徴とする請求項１４６に記載のルーティングデバイス。
【請求項１４８】
前記ルーティングデバイスがスイッチであることを特徴とする請求項１４４に記載のルーティングデバイス。
【請求項１４９】
前記ネットワークマネージャへの前記データの前記供給により、帯域外通信を介して前記データを送信することを特徴とする請求項１４４に記載のルーティングデバイス。
【請求項１５０】
前記ネットワークマネージャはルーティングデバイスに接続されているデバイスに分散され、前記ネットワークマネージャへの前記データの前記供給により、帯域外通信を介して前記データを前記ルーティングデバイスに接続されているデバイスに送信することを特徴とする請求項１４４に記載のルーティングデバイス。
【請求項１５１】
データをネットワークマネージャに送信するためのスイッチであって、
仮想アドレスを持つデータを受信する手段と、
前記データの前記仮想アドレスが予約されている場合に、前記データを前記ネットワークマネージャに供給し、前記データの前記仮想アドレスが予約されていない場合に、仮想アドレスからポートへのマッピングに基づいて前記ルーティングデバイスのポートを介して前記データを送信する手段とを備えることを特徴とするスイッチ。
【請求項１５２】
前記ネットワークマネージャへの前記データの前記供給は、
前記データの前記仮想アドレスが前記スイッチのポートにマッピングされる場合に、マッピング先ポートを介して前記データを送信し、前記データの他方の仮想アドレスが前記スイッチのポートにマッピングされない場合に、前記データをネットワークマネージャに直接送信する手段を備えることを特徴とする請求項１５１に記載のスイッチ。
【請求項１５３】
前記仮想アドレスおよび他方の仮想アドレスが前記データのヘッダ内に格納されることを特徴とする請求項１５１に記載のスイッチ。
【請求項１５４】
前記スイッチの各ポートはそれ専用のマッピングを持つことを特徴とする請求項１５３に記載のスイッチ。
【請求項１５５】
前記ネットワークマネージャへの前記データの前記供給により、帯域外通信を介して前記データを送信することを特徴とする請求項１５４に記載のスイッチ。
【請求項１５６】
前記ネットワークマネージャはスイッチに接続されているデバイスに分散され、前記ネットワークマネージャへの前記データの前記供給により、帯域外通信を介して前記データを前記スイッチに接続されているデバイスに送信することを特徴とする請求項１５１に記載のスイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
説明されている技術は、インターコネクトファブリック（ｉｎｔｅｒｃｏｎｎｅｃｔ  ｆａｂｒｉｃ）のルーティングデバイス（ｒｏｕｔｉｎｇ  ｄｅｖｉｃｅｓ）のためのネットワークマネージャに関するものである。
【背景技術】
【０００２】
インターネットは、世界中の企業および消費者にとって重要な商用および通信プラットフォームとして登場した。インターネットユーザの劇的な増大は、インターネットによるデータの開発、処理、および配布を可能にする強力な新しいツールおよび機器の機能向上とあいまって、インターネットベースのアプリケーションの普及をもたらした。これらのアプリケーションとして、電子商取引、電子メール、電子ファイル転送、およびオンライン対話型のアプリケーションがある。インターネットのユーザ数、そしてその利用が増えるにつれ、インターネットトラフィックの複雑さおよび量も増えている。ＵＵＮｅｔによれば、インターネットトラフィックは１００日毎に２倍になるということである。このようなトラフィックおよびそのビジネスの潜在力のゆえに、インターネットを中心とするビジネスを構築し、インターネットによって提供される事業に不可欠なビジネスアプリケーションの開発を行う企業が増えてきている。
【０００３】
サービスを顧客に提供する電子商取引アプリケーションをサポートする既存の企業データネットワーク（「ＥＤＮ」）は、付加パフォーマンスおよび付加サービスの提供が求められ負担がかかっている。サービスに対する顧客側の要求が増え、市場の競争が激しくなったことで、アドホックなＥＤＮの複雑さが増した。手頃で高性能なＥＤＮソリューションでは、広範なスケーラビリティ、非常に高い可用性、管理のしやすさが要求される。これらの属性は、要求に合わせて既存のソリューションを成長させていくときに、大幅に損なわれるか、または完全に失われる。
【０００４】
ＥＤＮの現在のアーキテクチャは、通常、１）Ｗｅｂおよびデータベースサーバ用のローカルエリアネットワーク（ＬＡＮ）、２）アプリケーションサーバー用の計算ネットワーク、および３）ストレージエリアネットワーク（ｓｔｏｒａｇｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）（ＳＡＮ）の３つのサブネットワークを含む。これらのサブネットワークに接続される処理およびストレージ要素は、エッジスイッチと一般に呼ばれているブリッジングデバイスを通じて、ワイドエリアネットワーク（ＷＡＮ）または都市規模ネットワーク（ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ）（ＭＡＮ）にアクセスすることができる。これらのサブネットワークのそれぞれでは通常、異なるプロトコル、およびネットワークインターフェースアダプタ、ネットワークスイッチ、ネットワークオペレーティングシステム、および管理アプリケーションを含む関連するハードウェアおよびソフトウェアの集まりを使用する。ＥＤＮを通した通信では、プロトコル変換および解釈のためリソースを処理するサーバーが積極的に関与する必要があるサブネットワーク間のブリッジングを必要とする。
【０００５】
ＥＤＮの現行のアーキテクチャには多数の欠点がある。これらの欠点は、主に多層アーキテクチャがバラバラであり複雑であるため生じる。まず、異なる通信プロトコル、インターフェースなどを使用する異種システムを組み込むことは非常に難しい。第２に、それぞれのサブネットワークは別々に管理され、ネットワーク全体を大局的に捕らえて管理するのではないため、総合的パフォーマンスが損なわれる。第３に、３つの異種のネットワークハードウェアおよびソフトウェアを保守するコストが高くつく可能性がある。第４に、このような異機種システムを使用するアーキテクチャを拡張することは困難である。現在のバラバラの多層アーキテクチャの持つ多くの短所を緩和するＥＤＮのアーキテクチャを実現することが望ましい。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ノードを接続するインターコネクトファブリックを管理するための方法とシステムを提示する。
【課題を解決するための手段】
【０００７】
一実施形態では、ネットワークマネージャは、ソースノード（ｓｏｕｒｃｅ  ｎｏｄｅｓ）がデータを宛先ノード（ｄｅｓｔｉｎａｔｉｏｎ  ｎｏｄｅｓ）に送信するためのルーティングデバイス（たとえば、インターコネクトファブリックモジュール、スイッチ、またはルータ）のインターコネクトファブリックまたはネットワークを管理する。ネットワークマネージャは、ソースノードからデータを宛先ノードに送信する登録要求を受け取り、それぞれのソースノードから宛先ノードへの経路を確立するようにネットワークのルーティングデバイスを構成し、仮想アドレスをそれぞれのソースノードに供給する。仮想アドレスにより、ソースノードから宛先ノードへの経路が識別される。ソースノードでは、仮想アドレスとともにデータをネットワークのルーティングデバイスに供給することにより宛先ノードにデータを送信する。データおよび仮想アドレスを受信した後、経路内の各ルーティングデバイスのソース側ポートは、その仮想アドレスを使用して、データおよび仮想アドレスを送信する際に使用する宛先側ポートを識別する。ネットワークマネージャは、経路内のルーティングデバイス毎にソース側ポートから宛先側ポートへのマッピングを設定することによりルーティングデバイスを構成する。ルーティングデバイスでは、ソース側ポートを介してデータを受信し、宛先側ポートを介してデータを送信する。
【０００８】
一実施形態では、ネットワークマネージャは中央集中型であるか、または分散型である。中央集中型ネットワークマネージャは、インターコネクトファブリックに接続されている１つのノードに置くことができる。中央集中型ネットワークマネージャは、帯域内通信または帯域外通信を使用してルーティングデバイスに構成情報を供給することができる。帯域内通信は、ルーティングデバイスのポートを接続する通信リンクの使用を意味する。帯域外通信は、ルーティングデバイスをネットワークマネージャに接続するための専用通信リンクの使用を意味する。中央集中型ネットワークマネージャは、別法として、ルーティングデバイス内に配置することもできる。それぞれのルーティングデバイスは、ネットワークマネージャとなることができる。初期化の後、ルーティングデバイスは調整を行い、ネットワークマネージャとして機能するルーティングデバイスを選択することができる。それとは対照的に、分散型ネットワークマネージャは、ルーティングデバイスに直接接続されているさまざまなマネージャデバイスでその機能を実行することができる。各マネージャデバイスでのネットワークマネージャは、直接の接続先であるルーティングデバイスを制御することができる。さらに、各マネージャデバイスのところのネットワークマネージャは、帯域内または帯域外通信を介して他のマネージャでネットワークマネージャと通信を行うことができる。一実施形態では、分散型ネットワークマネージャはさまざまなマネージャデバイスで異なる機能を実行することができる。
【０００９】
一実施形態では、ネットワークマネージャはソースノードから宛先ノードへのネットワークを通る経路を指定する。これらの経路は、ネットワークマネージャが起動したときに最初に識別されるか、またはネットワークトポロジ（たとえば、ネットワークのルーティングデバイスおよびその相互接続）が変更されると（たとえば、故障の結果）識別されるか、または登録要求がソースノードから届いたときに動的に識別される。当業者であれば、経路を識別するこのような手法をさまざまに組み合わせて使用できることを理解するであろう。たとえば、ネットワークマネージャは登録時に経路を動的に識別できるが、ネットワークのトポロジが変化したときに経路を再識別することができる。これらの手法のうちどれを使用しようと、ネットワークマネージャは通常、経路を識別するためネットワークのトポロジを認識する必要がある。
【００１０】
一実施形態では、ネットワークマネージャは、初期化時にネットワークのトポロジを動的に発見する。ネットワークマネージャは、複数の異なる方法でトポロジを発見することができる。ネットワークマネージャに対して、ネットワークのルーティングデバイスを識別する構成情報を供給することができる。ネットワークマネージャでは、この構成情報を使用して、そのポートのうちどれを他のデバイスに接続するかを問い合わせるメッセージをそれぞれのルーティングデバイスに送信する。その後、ネットワークマネージャは、それぞれの接続ポートを介して、接続先デバイスにそれ自体およびそのポートの識別を要求するクエリメッセージを送信することができる。これらのクエリメッセージへの応答から、ネットワークマネージャはルーティングデバイス間の接続（つまり、通信リンク）を識別し、したがってネットワークのトポロジを識別する。別法として、クエリメッセージをそれぞれの接続先ポートに送信するのではなく、初期化後ルーティングデバイスが接続先デバイスに対してその識別情報を送るように要求することができる。その後、ルーティングデバイスは接続先ポートの識別情報をネットワークマネージャに送る。構成情報と接続先ポートの識別情報とで、ネットワークトポロジが記述される。
【００１１】
他の実施形態では、ネットワークマネージャ、直接の接続先であるルーティングデバイスのポートを通じてクエリメッセージを送信することによりルーティングデバイスの識別情報を動的に発見することができる。その後、ネットワークマネージャは、クエリに応答する各ルーティングデバイスを認識する。ネットワークマネージャはさらに、それぞれの応答ルーティングデバイスのポートを通じてクエリメッセージを送信する。あるいは、ネットワークマネージャは、直接の接続先であるルーティングデバイスに１つのクエリメッセージを送信することができ、そのルーティングデバイスは、そのポートのそれぞれを介して、直接の接続先であるルーティングデバイスにクエリメッセージを転送することができる。クエリメッセージを受信した後、各ポートでは、その識別および直接の接続先であるポートの識別とともにネットワークマネージャにメッセージを送信する。
【００１２】
一実施形態では、それぞれのルーティングデバイスは初期化時に、そのポートのうち他のデバイス（たとえば、ノードまたは他のルーティングデバイス）に接続されているポートを動的に発見することができる。ルーティングデバイスの各ポートは、通信リンクの特性（たとえば、受信リンク上の電圧）を感知するか、または要求を送信し、その通信リンクを介して応答を受信して（または受信せずに）デバイスが接続されているかどうかを識別することができる。ネットワークマネージャは、各ルーティングデバイスに対してポーリングを実行し、ルーティングデバイスのどのポートが他のデバイスに接続されているかが示されていないか調べることができる。その後、ネットワークマネージャは、接続先であるポートを識別するクエリメッセージを各接続先ポートに送信する。
【００１３】
一実施形態では、ネットワークマネージャは、経路に沿ってルーティングデバイスのポートを構成することによりルーティングデバイスのネットワークを通じて経路を確立する。ネットワークマネージャは、従来の経路識別手法を使用して、ソースノードから宛先ノードヘの経路を識別することができる。たとえば、ネットワークマネージャは、最短経路アルゴリズムを使用して通信リンク数が最小となる経路を識別したり、実際のまたは予想されるネットワークトラフィックを考慮した輻輳ベースのアルゴリズムを使用して経路を識別することができる。その後、ネットワークマネージャは、識別された経路の仮想アドレス（つまり、宛先仮想アドレス）を識別する。仮想アドレスは、宛先ノードに送信されるデータとともに、ソースノードによって送信される。データおよび仮想アドレスは、ヘッダおよびペイロードを持つフレーム（たとえば、ファイバーチャネルまたはＩｎｆｉｎｉＢａｎｄ）に格納できる。ヘッダには、仮想アドレスが格納され、ペイロードには、データが格納される。次に、ネットワークマネージャは、識別された仮想アドレスに送信されたフレームを経路内の次の通信リンクに接続されているルーティングデバイスの宛先側ポートに転送するように各ルーティングデバイスの各ソース側ポートを経路に沿って構成する。構成情報は、仮想アドレスを宛先側ポートにマッピングするポートのラベルテーブル（後述）に格納することができる。ソース側ポートは、識別された仮想アドレスを持つフレームを受信すると、その構成情報に従って宛先側ポートを通じてフレームを転送する。
【００１４】
一実施形態では、ネットワークマネージャは、経路に沿ってソース側ポートで現在使用していない仮想アドレスを識別する。したがって、ソース側ポートは、識別された仮想アドレスによりアドレス指定されたフレームを受信したときに、ルーティングデバイスのポートが宛先側ポートであるため曖昧性はない。しかし、２つの異なるソースノードから同じ宛先ノードへの経路に共通の下位経路が存在する可能性がある。たとえば、一方のソースノードからの経路は、通信リンクＡ、Ｘ、Ｙ、およびＺを通り、他のソースノードからの経路は、通信リンクＢ、Ｘ、Ｙ、およびＺを通る。このような場合、ネットワークマネージャは、両方の経路に対して同じ仮想アドレスを使用し、すでに構成されている経路の終端部分を共有することができる。
【００１５】
一実施形態では、ネットワークマネージャはさらに、宛先ノードとソースノードとの間の経路を確立することもできる。ネットワークマネージャは、新しい経路を指定するか、またはソースノードと宛先ノードとの間で識別されたのと同じ経路を使用することができる（ただし、反対方向）。その後、ネットワークマネージャは、仮想アドレス（つまり、ソース仮想アドレス）を識別し、ソースノードから宛先ノードへの経路を構成した場合と似た方法で経路に沿ってポートを構成する。ソースノードはフレームを送ると必ず、ソース仮想アドレスをフレームに含める。宛先ノードは、フレームを受信すると必ず、ソース仮想アドレスにアドレス指定されたフレームを送信することによりソースノードに応答することができる。
【００１６】
一実施形態では、ネットワークマネージャは、ソースノードと宛先ノードとの間の新しい経路を識別し、構成する必要がある場合がある。たとえば、ネットワークマネージャは、輻輳が生じているため既存の経路に沿ってサービスの必要な品質を確保できないと判断するか、あるいは既存の経路に沿って不具合を検出する。ネットワークマネージャは、同じ仮想アドレスを使用して新しい経路を構成することができる。ネットワークマネージャは、それぞれの仮想アドレスを１回だけ使用する場合に、その新しい経路に対して同じ仮想アドレスを使用することができる。しかし、同じ仮想アドレスを使用して異なる経路を識別する場合には、新しい経路の構成が同じ仮想アドレスを使用する別の経路の構成と衝突することがありえる。同じ仮想アドレスを使用できる場合、ネットワークマネージャは、ソースノードに対して透過的な方法で経路を変更することができる。特に、ネットワークマネージャは、経路内の変更をソースノードに通知する必要はない。また、複数の宛先ノードが同じ機能を備えている場合、ネットワークマネージャは、異なる宛先ノードにデータが送信されるように経路を動的に変更することによりノードの負荷分散を実行できる。これらの仮想アドレスを使用すると、経路のソースおよび宛先の仮想アドレスを変更せずに変更を加えることができる。
【００１７】
一実施形態では、ネットワークマネージャはデバイス（たとえば、ルーティングデバイスまたはノード）からネットワークマネージャへフレームを送信するために１つまたは複数の仮想アドレスを予約することができる。たとえば、このようなフレームには、ソースノードからの登録を含めることができる。ネットワークマネージャが分散型の場合、ルーティングデバイスは、予約されている仮想アドレスを持つフレームを受信すると受信したことを検出し、フレームを直接、接続されているマネージャデバイスに転送し、ネットワークマネージャによる処理に任せることができる。自由度を高めるために、送り先がネットワークマネージャであるフレームに、予約済み仮想アドレスと他の仮想アドレスの組み合わせを含めることができる。ルーティングデバイスでは、このようなフレームを検出すると、帯域内通信を使用して他の仮想アドレスに向けられたフレームを転送するように構成されているかどうかを判別する。もし構成されていれば、ルーティングデバイスは、他の仮想アドレスにより識別されている宛先側ポートを通じてそのフレームを転送する。ルーティングデバイスが他の仮想アドレスに対して構成されていない場合、ルーティングデバイスは帯域外通信を介してフレームをネットワークマネージャに送信する。たとえば、ルーティングデバイスはフレームを、直接接続されたマネージャデバイスに送信することができる。このようにして、ネットワークマネージャは、ネットワークマネージャの特定の機能またはサービスを提供する特定のマネージャデバイスに特定のフレームが転送されるようにネットワークを構成することができる。
【００１８】
一実施形態では、ルーティングデバイスは、高速スイッチング機能を備えるインターコネクトファブリックモジュール（「ＩＦＭ」）である。インターコネクトファブリックモジュールは、通信ポートを相互接続し、相互接続されたポートを通じてデータを送信できるように動的に構成することが可能である。複数のインターコネクトファブリックモジュールを接続して、インターコネクトファブリックを形成し、そのインターコネクトファブリックを通じてノード（たとえば、コンピュータシステム）を相互接続することができる。一実施形態では、データは、ファイバーチャネル規格により定義されているフレームなどのフレームとして、インターコネクトファブリックを通じて送信される。ファイバーチャネルは、ＡＮＳＩ  Ｔ１１  ＦＣ−ＰＨ、ＦＣ−ＰＨ−２、ＦＣ−ＰＨ−３、ＦＣ−ＰＩ、およびＦＣ−ＦＳ業界標準文書で定義されており、参照により組み込まれている。ただし、当業者であれば、説明した手法は、ファイバーチャネル以外の通信規格とともに使用できることを理解するであろう。特に、説明した手法は、ＩｎｆｉｎｉＢａｎｄ規格で使用できるが、これについては、非特許文献１で説明されており、参照により組み込まれている。インターコネクトファブリックモジュールを使用すると、エンタプライズデータネットワーク（「ＥＤＮ」）のデバイスに必要なものなどの複数の種類の情報を利用する相互接続デバイスに特に好適なインターコネクトファブリックを構築することができる。
【００１９】
一実施形態では、仮想アドレスは、ドメインアドレスを含む「仮想識別子」（たとえば、ソースまたは宛先識別子）の一部である。フレームの宛先識別子は、仮想識別子に設定することができる。インターコネクトファブリックモジュールで受け取ったフレームの宛先識別子を使用して、フレームを転送する。それぞれのインターコネクトファブリックモジュールに、ドメインアドレスが割り当てられる。同じドメインアドレスが割り当てられたインターコネクトファブリックモジュールは、同じドメイン内に置かれる。インターコネクトファブリックモジュールでは、ドメインアドレスを使用してドメイン間のフレームの転送を行う。ネットワークマネージャは、ドメイン間経路でインターコネクトファブリックモジュールを構成することができる。インターコネクトファブリックモジュールがそのドメインアドレスと一致する宛先ドメインアドレスを持つフレームを受信すると、フレームはその宛先ドメインに到着している。その後、インターコネクトファブリックモジュールは、フレームがその宛先ドメインにすでに到着しているため宛先仮想アドレスに従ってフレームを転送する。しかし、ドメインアドレスが一致しない場合、フレームはその宛先ドメインに到着していない。インターコネクトファブリックモジュールは、ドメイン間経路を使用してフレームを転送する。インターコネクトファブリックモジュールの各ポートは、ドメインアドレステーブル（ネットワークマネージャによって構成される）を備え、このテーブルにより、ドメインアドレスを宛先ポートにマッピングし、この宛先ポートを通じて、そのドメインアドレスを持つフレームが転送される。したがって、インターコネクトファブリックモジュールは、フレームの転送時に仮想アドレスおよびドメインアドレスを選択的に使用することができる。
【００２０】
一実施形態では、インターコネクトファブリックモジュールは、クロスポイントスイッチを使用してソースポートと宛先ポートの接続を切り換える。クロスポイントスイッチに備えられているスイッチポートの数がインターコネクトファブリックモジュールのポート数よりも多い場合、ネットワークマネージャの管理機能用に追加のスイッチポートを使用することができる。インターコネクトファブリックモジュールは、ネットワークマネージャの管理サービス用に予約されている仮想アドレスを宛先とするフレームを受信すると、ソースポートをマネージャデバイスに接続されている追加のスイッチポートに接続する。ソースポートからフレームが送信されると、マネージャデバイスのネットワークマネージャはフレームを受信して、管理機能に従ってそのフレームを処理する。このようにして管理フレームは、ノードからインターコネクトファブリックモジュールにより最初に受信されたときにネットワークマネージャに直接転送することができる。
【００２１】
いくつかの実施形態では、各ノード上の１つまたは複数の仮想識別子（「ＶＩ」）ネットワークインターフェースコントローラ（「ＮＩＣ」）機能（たとえば、ネットワークインターフェース毎に１つのＶＩ  ＮＩＣ）により、データを通信する際に仮想識別子を使用するのが簡単になる。ノード上のＶＩ  ＮＩＣがノード上で実行中のアプリケーションなどから１つまたは複数のリモートノードに対するデータ通信が発生したという標識を受信すると、ＶＩ  ＮＩＣは、宛先ノードに割り当てたり直接関連付けたりすることなくネットワークを経由して適切なリモート宛先ノードへのデータ通信の経路を指定するために使用できる適切な送信機仮想識別子を識別する。このようなデータ通信には、データの一時的コネクションレス型送信（ｔｒａｎｓｉｔｏｒｙ  ｃｏｎｎｅｃｔｉｏｎｌｅｓｓ  ｔｒａｎｓｍｉｔｔａｌｓ）（たとえば、ソースから宛先への一方向送信）と複数の異なるデータの送信が可能な非一時的接続（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｎｎｅｃｔｉｏｎｓ）（たとえば、接続開始側ソースと接続宛先がデータをやり取りできる継続的専用接続）の両方を含めることができる。
【００２２】
ＶＩ  ＮＩＣは、さまざまな方法でデータ通信の経路選択を行うための適切な送信仮想識別子を識別することができる。いくつかの実施形態では、ＶＩ  ＮＩＣは、一部または全部の発信データ通信をそのネットワークのネットワークマネージャに登録し、ネットワークマネージャからその通信に使用する適切な送信仮想識別子を受信する。しかし、指示されたデータ通信がすでに登録されているデータ通信（たとえば、同じ宛先への同じ送信方式による既存の接続または以前の通信）に対応している場合、ＶＩ  ＮＩＣはそうする代わりに、いくつかの実施形態では、指示されたデータ通信の追加登録を実行せずに、以前に受信した送信仮想識別子をそのデータ通信に使用することも可能である。データ通信を実行する方法は、ネットワークによってサポートされている送信特性により異なり、特定のサービスクラス（「ＣＯＳ」）または送信優先度などの要因が含まれることがある。
【００２３】
いくつかの実施形態では、ソースによって指示されたデータ通信により双方向通信（たとえば、宛先のうちの１つまたは複数からの応答）が行われると、ＶＩ  ＮＩＣはさらに、宛先のうちの１つまたは複数をソースに戻す経路を選択するために使用できる応答仮想識別子も識別する。ＶＩＣ  ＮＩＣがデータ通信をネットワークマネージャに登録した場合には、この応答仮想識別子は、ネットワークマネージャから受け取ることができる。この応答識別子を識別した後、ＶＩ  ＮＩＣはその識別子を、応答仮想識別子を使用して経路が選択された受信済みデータ通信を処理する方法を示す情報に関連付ける。いくつかの実施形態では、このような受信されたデータ通信を処理する場合、データ通信を実行中アプリケーションプログラム、ストレージ上にあるファイル、またはノードの一部であるデバイスなどの宛先ノードに関連付けられている１つまたは複数のリソースに転送する。たとえば、ソースノード上のソースアプリケーションが双方向通信を指示している場合、そのソースノードのＶＩ  ＮＩＣは、応答仮想識別子をそのソースアプリケーションに関連付けて、受信された応答をそのソースアプリケーションに転送できるようにする（その後、これは、受信された通信の宛先アプリケーションとなる）。
【００２４】
わかりやすくするため、以下では、ファイバーチャネルまたはＩｎｆｉｎｉＢａｎｄネットワークの一部として、かつ／またはＥＤＮアーキテクチャの一部としてＶＩ  ＮＩＣが使用されるいくつかの実施形態について説明する。しかし、当業者であれば、本発明の手法は、さまざまな他の状況で、他の種類のネットワークとともに使用することができ、また本発明は、ファイバーチャネルまたはＩｎｆｉｎｉＢａｎｄネットワーク内でまたはＥＤＮアーキテクチャとともに使用することに限定されないことを理解するであろう。
【発明を実施するための最良の形態】
【００２５】
図１は、仮想識別子を使用して相互通信しているファイバーチャネルファブリックベースの相互接続ネットワークのさまざまなノードを示しているネットワーク図である。この実施例では、高速スイッチング機能を備える複数のインターコネクトファブリックモジュール（「ＩＦＭ」）１１０を中間ルーティングデバイスとして使用してインターコネクトファブリックを形成しており、複数のノード１０５、ネットワークマネージャ１１５、およびマルチプロトコルエッジスイッチ（Ｍｕｌｔｉ−Ｐｒｏｔｏｃｏｌ  Ｅｄｇｅ  Ｓｗｉｔｃｈ）（「ＭＰＥＸ」）１２０がファブリックに接続されている。ノードはそれぞれ、データの通信および受信時に仮想識別子を使用する少なくとも１つのＶＩ  ＮＩＣが設定される。ＭＰＥＸは、ファイバーチャネルまたはＩｎｆｉｎｉＢａｎｄネットワークをＥｔｈｅｒｎｅｔ（登録商標）ベースのネットワークなどの外部ネットワークに接続する場合に使用され、同様に少なくとも１つのＶＩ  ＮＩＣを含む。データは、ファイバーチャネルまたはＩｎｆｉｎｉＢａｎｄ規格により定義されているフレームなどのフレームを使用して、インターコネクトファブリックを通じて送信される。
【００２６】
トポロジの発見
上述のように、ネットワークマネージャは、さまざま異なる手法を使用してネットワークのトポロジを動的に発見することができる。後述の実施形態では、それぞれのインターコネクトファブリックモジュールが、他のデバイスにどのポートが接続されているかを識別する。ネットワークマネージャは、この情報を使用し、接続先デバイスを識別するために他のデバイスに接続されている各ポートを通じてメッセージを送信する。図２は一実施形態のインターコネクトファブリックモジュールのコンポーネントの発見処理を示す流れ図である。インターネットファブリックモジュールの各ポートは、他のスイッチまたはノードなど、他のデバイスのポートに接続されているかどうかを識別する。その後、インターコネクトファブリックモジュールは、ネットワークマネージャに、発見プロセスを補助する他のポートにどのポートが接続されているかを示す情報を供給する。ブロック２０１〜２０４で、このコンポーネントは、各ポートが現在他のポートに接続されているかどうかを判別する。ブロック２０１で、コンポーネントは次のポートを選択する。判断ブロック２０２で、すべてのポートがすでに選択されている場合、コンポーネントは完了するが、選択されていない場合は、コンポーネントはブロック２０３に進む。判断ブロック２０３で、このコンポーネントは、選択されたポートが他のポートに接続されているかどうかを判別する。この決定は、通信リンクのさまざまな電圧レベルに基づく。接続がある場合、コンポーネントは、ブロック２０４に進み、ない場合、コンポーネントはブロック２０１にループし、インターコネクトファブリックモジュールの次のポートを選択する。ブロック２０４で、コンポーネントは、選択されているポートを他のポートに接続されているものとして記憶し、ブロック２０１にループして、インターコネクトファブリックモジュールの次のポートを選択する。
【００２７】
図３は、一実施形態のネットワークマネージャの発見処理を示す流れ図である。ネットワークマネージャは、まず、インターコネクトファブリックモジュールのどのポートが他のデバイスに接続されているかを示す情報を取り出す。ネットワークマネージャはさらに、指示されたポートのそれぞれを通じてクエリメッセージを接続先ポートに送信する。接続先ポートは、クエリメッセージを受信すると、インターコネクトファブリックモジュールの識別とそのポート番号で応答する。このようにして、ネットワークマネージャは、インターコネクトファブリックのトポロジを発見することができる。ブロック３０１〜３０３で、ネットワークマネージャは、インターコネクトファブリックモジュールのどのポートが他のポートに接続されているかを示す情報を取り出す。ブロック３０１で、ネットワークマネージャは、まだ選択されていなかった次のインターコネクトファブリックモジュールを選択する。判断ブロック３０２で、すべてのインターコネクトファブリックモジュールがすでに選択されている場合、ネットワークマネージャはブロック３０４に進むが、選択されていない場合は、ブロック３０３に進む。ブロック３０３で、ネットワークマネージャは、選択されたインターコネクトファブリックモジュールのどのポートが他のポートに接続されているかを示す情報を取り出す。ネットワークマネージャは、帯域内通信または帯域外通信を使用してメッセージを送信することができる。その後、ネットワークマネージャは、ブロック３０１にループし、次のインターコネクトファブリックモジュールを選択する。ブロック３０４〜３１０で、ネットワークマネージャは、各接続先ポートの素性を調べる。ブロック３０４で、ネットワークマネージャは、次のインターコネクトファブリックモジュールを選択する。判断ブロック３０４で、すべてのインターコネクトファブリックモジュールがすでに選択されている場合、ネットワークマネージャはその発見プロセスを完了するが、選択されていない場合、ブロック３０６に進む。ブロック３０６〜３１０で、ネットワークマネージャはループに入り、他のポートに接続されている選択されたインターコネクトファブリックモジュールの各ポートを通じて送信する動作を繰り返す。ブロック３０６で、ネットワークマネージャは、他のポートに接続されている選択されたインターコネクトファブリックモジュールの次のポートを選択する。判断ブロック３０７で、すべてのこのようなポートがすでに選択されている場合、ネットワークマネージャはブロック３０４にループし、次のインターコネクトファブリックモジュールを選択するが、選択されていない場合、ネットワークマネージャはブロック３０８に進む。ブロック３０８で、ネットワークマネージャは、選択されたインターコネクトファブリックモジュールの選択されたポートを通じてクエリメッセージを送信する。ブロック３０９で、ネットワークマネージャは、選択されたインターコネクトファブリックモジュールの選択されたポートの接続先ポートの識別を受信する。この識別には、インターコネクトファブリックモジュールの指示と接続先ポートのポート番号を含めることができる。ブロック３１０で、ネットワークマネージャは、選択されたインターコネクトファブリックモジュールの選択されたポートと接続先インターコネクトファブリックモジュールの接続先ポートとの間のマッピングを格納する。これらのマッピングにより、ネットワークのトポロジを定義する。ネットワークマネージャは、ブロック３０６にループし、他のデバイスに接続されている選択されたインターコネクトファブリックモジュールの次のポートを選択する。
【００２８】
上述のネットワークマネージャの発見の処理では、ネットワークマネージャは最初に、インターコネクトファブリックのすべてのインターコネクトファブリックモジュールを認識するものと仮定している。当業者であれば、ネットワークマネージャが発見プロセス実行時に追加インターコネクトファブリックモジュールを認識できることを理解するであろう。たとえば、ネットワークマネージャが中央集中型の場合、最初に、インターコネクトファブリックに接続されているポートを通じてクエリメッセージを送受信する。受信側ポートは、インターコネクトファブリックモジュールの識別とそのポート番号で応答する。その後、ネットワークマネージャは、どのポートが他のポートに接続されているかの指示を与えるインターコネクトファブリックモジュールを識別することを要求することができる。ネットワークマネージャはさらに、指示されたポートのそれぞれを通じてクエリメッセージを接続先ポートに送信することができる。その後、接続先ポートは、接続先インターコネクトファブリックモジュールおよび接続先ポートの識別で応答する。このプロセスは、ネットワークマネージャにより推移的に繰り返され、インターコネクトファブリックを構成するすべてのインターコネクトファブリックモジュールを識別できる。
【００２９】
経路の確立
図４は、一実施形態のネットワークマネージャによる経路確定のプロセスを示す流れ図である。経路は、通常、ノードがネットワークマネージャに登録されると確立される。ネットワークマネージャの経路確立コンポーネントは、ソースノードおよび宛先ノードの識別を受信し、その後、ソースノードから宛先ノードヘ、および宛先ノードからソースノードへのインターコネクトファブリックモジュールのポートの経路を識別することができる。このコンポーネントは次に、経路に対する仮想アドレスを識別し、識別された経路にそってインターコネクトファブリックモジュールのポートのラベルテーブルを初期化する。ポートのラベルテーブルには、仮想アドレスからその仮想アドレスに送信されるフレームの転送に使用する宛先側ポートへのマッピングが含まれる。ブロック４０１で、コンポーネントは経路を識別する。一実施形態では、ソースノードから宛先ノードへの経路および宛先ノードからソースノードヘの経路では、同じインターコネクトファブリックモジュールの同じポートを使用する。つまり、これらの経路は、同じ通信リンクを使用するということである。別法として、一方の方向の経路が他方の経路と異なる場合がある。当業者であれば、経路を識別するさまざまなよく知られている手法を使用できることを理解するであろう。ブロック４０２で、コンポーネントは、仮想アドレス識別コンポーネントを呼び出して、経路の指示および通信を宛先ノード（たとえば、宛先仮想アドレス）に送るときにソースノードにより仮想アドレスが使用されるという指示を受け渡す。呼び出されたコンポーネントは、経路のソース側ポートのどれもが現在使用していない仮想アドレスを識別することができる。その経路のソース側ポートは、ソースノードによって送信されるデータを受信するポートであり、その経路の宛先側ポートは、宛先ノードに向かう途中のデータの送信に使用されるポートである。ブロック４０３で、コンポーネントは、仮想アドレス識別コンポーネントを呼び出して、経路の指示および宛先ノードにより仮想アドレスが使用される（たとえば、ソース仮想アドレス）という指示を受け渡す。ブロック４０４で、コンポーネントは、宛先仮想アドレスで経路のソース側ポートのラベルテーブルを初期化するコンポーネントを呼び出す。呼び出されたコンポーネントは、ポートがそのラベルテーブルを更新しソース仮想アドレスをインターネットファブリックモジュールの宛先側ポートにマッピングすることを指示する命令を経路の各ソース側ポートに送信する。ブロック４０５で、コンポーネントは、ソース仮想アドレスで経路の宛先側ポートのラベルテーブルを初期化するコンポーネントを呼び出す。これでこのコンポーネントは完了する。
【００３０】
図５は、一実施形態のネットワークマネージャの仮想アドレス識別コンポーネントの処理を示す流れ図である。この実施形態では、仮想アドレス識別コンポーネントに対し、ソースノードまたは宛先ノードの仮想アドレスを識別すべきかどうかの指示とともに経路の指示が送られる。コンポーネントは、経路に沿ってすべてのポートを調べ、経路に沿ってポートで現在使用していない仮想アドレスを識別する。別法として、コンポーネントは、順序に基づいて仮想アドレスを識別することができる。つまり、コンポーネントは、最後に識別された仮想アドレスを追跡し、その仮想アドレスをインクリメントして、次の仮想アドレスを識別することができる。この方法のため、各仮想アドレスは一意である。ブロック５０１〜５０５で、コンポーネントはループに入り、次の仮想アドレスを選択し、そのアドレスが使用可能かどうかを判別する動作を繰り返す。仮想アドレスは、そのポートがすでにその仮想アドレスを使用している場合には経路に沿ってポートから利用できないことがある。ブロック５０１で、コンポーネントは次の仮想アドレスを選択する。判断ブロック５０２で、すべての仮想アドレスがすでに選択されている場合、コンポーネントは、仮想アドレスを識別できなかったことを示し、選択されていない場合、コンポーネントはブロック５０３に進む。ブロック５０３〜５０５で、コンポーネントは、経路に沿って各ポートを選択し、そのポートが選択された仮想アドレスをすでに使用しているかどうかを判別する動作を繰り返す。ブロック５０３で、コンポーネントは経路の次のインターコネクトファブリックモジュールおよびポートを選択する。判断ブロック５０４で、経路のすべてのインターコネクトファブリックモジュールおよびポートがすでに選択されている場合、コンポーネントは、選択された仮想アドレスを識別された仮想アドレスとして使用してから完了するが、選択されていない場合、コンポーネントはブロック５０５に進む。判断ブロック５０５で、選択された仮想アドレスが選択されたインターコネクトファブリックモジュールと選択されたポートで使用可能な場合、コンポーネントはブロック５０３にループして、経路に沿って次のポートを選択するが、使用可能でない場合、コンポーネントはブロック５０１にループして、次の仮想アドレスを選択する。
【００３１】
図６は、一実施形態のネットワークマネージャのラベルテーブル初期化コンポーネントの処理を示す流れ図である。ラベルテーブル初期化コンポーネントは、識別された仮想アドレスから経路に沿ったそのインターコネクトファブリックモジュールの他のポートへのマッピングを追加することを指示するコマンドを経路に沿って各ポートに送る。コンポーネントは、経路の指示で、仮想アドレスおよび仮想アドレスがソース仮想アドレスであるか宛先仮想アドレスであるかの指示を受け渡す。ブロック６０１で、コンポーネントは、ソースまたは宛先仮想アドレスが渡されたかどうかに基づいて経路の内の次のインターコネクトファブリックモジュールおよびポートを選択する。判断ブロック６０２で、経路に沿ったすべてのインターコネクトファブリックモジュールがすでに選択されている場合、コンポーネントは完了するが、選択されていない場合は、コンポーネントはブロック６０３に進む。ブロック６０３で、コンポーネントは、仮想アドレスから経路の他のポートへのマッピングをラベルテーブルに追加することを指示する選択されるメッセージをインターコネクトファブリックモジュールのポートに送信する。コンポーネントはブロック６０１へループし、経路内の次のインターコネクトファブリックモジュールおよびポートを選択する。
【００３２】
予約アドレス指定
一実施形態では、ＩＦＭのクロスポイントスイッチは、ＩＦＭのポートの数よりも多い出力を持つことができる。たとえば、クロスポイントスイッチには、３４本の入力および出力があるが、ＩＦＭには３２個のポートしかない。ＩＦＭでは、クロスポイントスイッチのこれらの追加ポートを使用して、ネームサーバーまたは他の管理サービスに送られるフレームなどの上位層プロトコルフレームの経路を選択することができる。一実施形態では、クロスポイントスイッチの追加出力ポートをＩＦＭのマネージャデバイスに接続することができる。インターコネクトファブリックモジュールには、上位層プロトコルポートを指定する「予約」アドレスのリストを含めることができる。ＩＦＭ側で、フレームのアドレスが予約アドレスのうちの１つと一致すると判断すると、そのフレームの上位層プロトコルポートへの経路を選択することができる。上位層プロトコルポートへの経路選択では、特許文献１で説明しているように非上位層プロトコルポートへの経路選択に使用されるのと同じアービトレーションメカニズムを使用できる。別法として、クロスポイントスイッチに上位層プロトコルポート用の付加出力がない場合、出力は、宛先識別子のアドレスが予約されているかどうかに応じて、通信ポートと上位層プロトコルポートとの間で選択に切り替えることができる。
【００３３】
図７は、一実施形態の分散ネットワークのマネージャを示すブロック図である。この実施形態では、ネットワークマネージャは、インターコネクトファブリックモジュールに直接接続されている一連のマネージャデバイスとして実装することができる。分散型ネットワークマネージャは、インターコネクトファブリックの帯域内通信を使用するか、またはインターコネクトファブリックとは独立している帯域外通信を使用して互いに通信することができる。インターコネクトファブリックモジュールのクロスポイントスイッチは、分散型ネットワークマネージャ用にポートを予約しておくことができる。インターコネクトファブリックモジュールは、予約されているポートのうちの１つを指定するデータを受信すると、予約されたポートを通じてそのデータを分散型ネットワークマネージャに転送する。
【００３４】
図８は、一実施形態において予約アドレスを処理するインターコネクトファブリックモジュールのコンポーネントの処理を示す流れ図である。このコンポーネントは、帯域内通信または帯域外通信のいずれかを介してフレームをネットワークマネージャに転送する。帯域内通信を使用することにより、適切なインターコネクトファブリックモジュールへのフレームの経路を選択し、帯域外通信を使用してフレームをネットワークマネージャに送信することができる。判断ブロック８０１で、受信されたフレームの仮想アドレスが予約アドレスの場合、コンポーネントはブロック８０２に進み、そうでない場合、コンポーネントは完了する。判断ブロック８０２で、フレーム内の仮想アドレスパラメータがラベルテーブル内にある場合、フレームは、帯域内通信を使用して転送され、コンポーネントはブロック８０４に進むが、そうでない場合、フレームは、帯域外通信を使用してＩＦＭのマネージャデバイスのところのネットワークマネージャに直接転送され、コンポーネントはブロック８０３に進む。ブロック８０３で、コンポーネントはフレームを管理ポートに転送し、完了する。ブロック８０４で、コンポーネントは、ラベルテーブルのポートマップに基づきフレームを転送し、そして完了する。
【００３５】
当業者であれば、技術のさまざまな実施形態について説明したが、本発明の精神と範囲を逸脱することなくさまざまな修正を加えられることを理解するであろう。したがって、本発明は付属の請求項で規定されている場合を除き限定されない。
【図面の簡単な説明】
【００３６】
【図１】仮想識別子（ｖｉｒｔｕａｌ  ｉｄｅｎｔｉｆｉｅｒｓ）を使用して相互通信しているファイバーチャネルファブリック（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  ｆａｂｒｉｃ）ベースの相互接続ネットワークのさまざまなノードを示しているネットワーク図である。
【図２】一実施形態のインターコネクトファブリックモジュールのコンポーネントの発見処理を示す流れ図である。
【図３】一実施形態のネットワークマネージャの発見処理を示す流れ図である。
【図４】一実施形態のネットワークマネージャによる経路確定のプロセスを示す流れ図である。
【図５】一実施形態のネットワークマネージャの仮想アドレス識別コンポーネントの処理を示す流れ図である。
【図６】一実施形態のネットワークマネージャのラベルテーブル初期化コンポーネントの処理を示す流れ図である。
【図７】一実施形態の分散ネットワークのマネージャを示すブロック図である。
【図８】一実施形態において予約アドレスを処理するインターコネクトファブリックモジュールのコンポーネントの処理を示す流れ図である。
【図１】
2004537881.tif 000003
【図２】
2004537881.tif 000004
【図３】
2004537881.tif 000005
【図４】
2004537881.tif 000006
【図５】
2004537881.tif 000007
【図６】
2004537881.tif 000008
【図７】
2004537881.tif 000009
【図８】
2004537881.tif 000010
【国際公開パンフレット】
2004537881.tif 000011
2004537881.tif 000012
2004537881.tif 000013
2004537881.tif 000014
2004537881.tif 000015
2004537881.tif 000016
2004537881.tif 000017
2004537881.tif 000018
2004537881.tif 000019
2004537881.tif 000020
2004537881.tif 000021
2004537881.tif 000022
2004537881.tif 000023
2004537881.tif 000024
2004537881.tif 000025
2004537881.tif 000026
2004537881.tif 000027
2004537881.tif 000028
2004537881.tif 000029
2004537881.tif 000030
2004537881.tif 000031
2004537881.tif 000032
2004537881.tif 000033
2004537881.tif 000034
2004537881.tif 000035
2004537881.tif 000036
2004537881.tif 000037
2004537881.tif 000038
2004537881.tif 000039
2004537881.tif 000040
2004537881.tif 000041
2004537881.tif 000042
2004537881.tif 000043
2004537881.tif 000044
2004537881.tif 000045
2004537881.tif 000046
2004537881.tif 000047
2004537881.tif 000048
2004537881.tif 000049
2004537881.tif 000050
2004537881.tif 000051
2004537881.tif 000052
2004537881.tif 000053
2004537881.tif 000054
2004537881.tif 000055
2004537881.tif 000056
【国際公開パンフレット（コレクトバージョン）】
2004537881.tif 000057
2004537881.tif 000058
【国際調査報告】
2004537881.tif 000059