(57)【特許請求の範囲】
【請求項１】
ミドルウェアマシン環境をサポートするためのシステムであって、
１つ以上のマイクロプロセッサを含む１つ以上のゲートウェイノードと、
前記１つ以上のゲートウェイノード上に存在する１つ以上のゲートウェイとを含み、前記１つ以上のゲートウェイは複数のホストサーバを有するサブネットに存在し、各ホストサーバは１つ以上の仮想ネットワークインターフェイスカード（ｖＮＩＣ）に関連付けられており、前記システムはさらに、
前記１つ以上のゲートウェイ上の複数の仮想ハブ（ｖＨＵＢ）を含み、各ｖＨＵＢは、１つ以上の前記ｖＮＩＣに関連付けられており、
前記１つ以上のゲートウェイは外部ネットワークに接続するよう適合されており、前記１つ以上のゲートウェイは、
マルチキャストパケットが前記ゲートウェイに関連付けられたｖＨＵＢ内のｖＮＩＣに由来するときに前記外部ネットワークおよび前記複数のホストサーバの両方に前記複数のｖＨＵＢを介して前記マルチキャストパケットを転送し、かつ前記マルチキャストパケットが前記ゲートウェイに関連付けられていないｖＨＵＢ内のｖＮＩＣに由来するときに、前記複数のホストサーバに前記複数のｖＨＵＢを介して前記マルチキャストパケットを転送し、これにより前記サブネットと前記外部ネットワークとの間でマルチキャストパケットトラフィックループを防止するよう動作する、システム。
【請求項２】
ミドルウェアマシン環境においてスケーラビリティを提供するための方法であって、
複数のホストサーバを有するサブネットにおいて１つ以上のゲートウェイを設けるステップを含み、前記１つ以上のゲートウェイは、１つ以上のマイクロプロセッサを含む１つ以上のゲートウェイノード上に存在し、各ホストサーバは１つ以上の仮想ネットワークインターフェイスカード（ｖＮＩＣ）に関連付けられており、前記方法はさらに、
複数の仮想ハブ（ｖＨＵＢ）を前記１つ以上のゲートウェイ上に設けるステップを含み、各ｖＨＵＢは１つ以上の前記ＶＮＩＣに関連付けられており、前記方法はさらに、
前記１つ以上のゲートウェイが外部ネットワークに接続されるのを可能にするステップと、
マルチキャストパケットが前記ゲートウェイに関連付けられたｖＨＵＢ内のｖＮＩＣに由来するときに前記外部ネットワークおよび前記複数のホストサーバの両方に前記複数のｖＨＵＢを介して前記マルチキャストパケットを転送するステップと、
前記マルチキャストパケットが前記ゲートウェイに関連付けられていないｖＨＵＢ内のｖＮＩＣに由来するときに、前記複数のホストサーバに前記複数のｖＨＵＢを介して前記マルチキャストパケットを転送するステップとを含み、これにより前記サブネットと前記外部ネットワークとの間のマルチキャストパケットトラフィックループを防止する、方法。
【請求項３】
プログラム可読命令を含むコンピュータプログラムであって、前記プログラム可読命令
は、１つ以上のコンピュータシステムにロードおよび実行されると、前記１つ以上のコンピュータシステムに請求項２に記載の方法を実行させる、コンピュータプログラム。
【請求項４】
コンピュータに、
複数のホストサーバを有するサブネットにおいて１つ以上のマイクロプロセッサ上で実行される１つ以上のゲートウェイを設けるステップを行わせ、各ホストサーバは１つ以上の仮想ネットワークインターフェイスカード（ｖＮＩＣ）に関連付けられており、さらに、
複数の仮想ハブ（ｖＨＵＢ）を前記１つ以上のゲートウェイ上に設けるステップを行わせ、各ｖＨＵＢは１つ以上の前記ＶＮＩＣに関連付けられており、さらに、
前記１つ以上のゲートウェイが外部ネットワークに接続されるのを可能にするステップと、
マルチキャストパケットが前記ゲートウェイに関連付けられたｖＨＵＢ内のｖＮＩＣに由来するときに前記外部ネットワークおよび前記複数のホストサーバの両方に前記複数のｖＨＵＢを介して前記マルチキャストパケットを転送するステップと、
前記マルチキャストパケットが前記ゲートウェイに関連付けられていないｖＨＵＢ内のｖＮＩＣに由来するときに、前記複数のホストサーバに前記複数のｖＨＵＢを介して前記マルチキャストパケットを転送するステップと、を行わせ、これにより前記サブネットと前記外部ネットワークとの間のマルチキャストパケットトラフィックループを防止するための、コンピュータプログラム。
【請求項５】
複数のホストサーバを有するサブネットを含むミドルウェアマシン環境におけるゲートウェイであって、各ホストサーバは１つ以上の仮想ネットワークインターフェイスカード（ｖＮＩＣ）に関連付けられ、前記ゲートウェイは、外部ネットワークに接続するよう適合されており、前記ゲートウェイは、
１つ以上の仮想ハブ（ｖＨＵＢ）を含み、各ｖＨＵＢは１つ以上の前記ＶＮＩＣに関連付けられ、前記ゲートウェイはさらに、
マルチキャストパケットが前記ゲートウェイに関連付けられたｖＨＵＢ内のｖＮＩＣに由来するときに前記外部ネットワークおよび前記複数のホストサーバの両方に前記１つ以上のｖＨＵＢを介して前記マルチキャストパケットを転送し、前記マルチキャストパケットが前記ゲートウェイに関連付けられていないｖＨＵＢ内のｖＮＩＣに由来するときに、前記複数のホストサーバに前記複数のｖＨＵＢを介して前記マルチキャストパケットを転送するよう構成される転送モジュールとを含み、これにより、前記サブネットと前記外部ネットワークとの間のマルチキャストパケットトラフィックループを防止するよう構成される、ゲートウェイ。
【請求項６】
請求項５に記載の１つのゲートウェイを含む、ネットワークスイッチ。
【請求項７】
請求項６に記載の１つ以上のネットワークスイッチを含む、ミドルウェアマシン環境をサポートするためのシステム。
【請求項８】
ミドルウェアマシン環境をサポートするためのシステムであって、
１つ以上のゲートウェイを含み、前記１つ以上のゲートウェイは複数のホストサーバを有するサブネットに存在し、各ホストサーバは１つ以上の仮想ネットワークインターフェイスカード（ｖＮＩＣ）に関連付けられており、前記システムはさらに、
前記１つ以上のゲートウェイ上の複数の仮想ハブ（ｖＨＵＢ）を含み、各ｖＨＵＢは、１つ以上の前記ｖＮＩＣに関連付けられており、
前記１つ以上のゲートウェイは外部ネットワークに接続するよう適合されており、前記１つ以上のゲートウェイは、
マルチキャストパケットが前記ゲートウェイに関連付けられたｖＨＵＢ内のｖＮＩＣに由来するときに前記外部ネットワークおよび前記複数のホストサーバの両方に前記複数のｖＨＵＢを介して前記マルチキャストパケットを転送し、かつ
前記マルチキャストパケットが前記ゲートウェイに関連付けられていないｖＨＵＢ内のｖＮＩＣに由来するときに、前記複数のホストサーバに前記複数のｖＨＵＢを介して前記マルチキャストパケットを転送し、これにより前記サブネットと前記外部ネットワークとの間でマルチキャストパケットトラフィックループを防止するよう動作する、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
著作権表示
この特許文書の開示の一部は、著作権の保護下にある内容を含む。著作権所有者は、特許商標庁の特許ファイルまたはレコードに現れるので、誰でも当該特許文書または特許開示を複製することについて異議はないが、そうでなければ如何なる場合でもすべての著作権を留保する。
【０００２】
発明の分野
本発明は一般的に、コンピュータシステムおよびミドルウェアのようなソフトウェアに関し、特定的にはミドルウェアマシン環境をサポートすることに関する。
【背景技術】
【０００３】
背景
インフィニバンド（ＩＢ）アーキテクチャは、１つ以上のコンピュータシステムのために、Ｉ／Ｏおよびプロセッサ間の通信をサポートする通信および管理インフラストラクチャである。ＩＢアーキテクチャシステムは、いくつかのプロセッサおよびいくつかのＩ／Ｏデバイスを有する小さなサーバから、何百ものプロセッサおよび何千ものＩ／Ｏデバイスを有する大規模並列インストレーションまでスケール変更できる。
【０００４】
当該ＩＢアーキテクチャは、保護された遠隔管理された環境において、高帯域かつ低レイテンシで、多くの装置が同時に通信することを可能にするスイッチド通信ファブリックを定義する。エンドノードは、多数のＩＢアーキテクチャポート上で通信し得るとともに、ＩＢアーキテクチャファブリックを通る多数のパスを用い得る。多数のＩＢアーキテクチャポートおよびネットワークを通るパスは、障害の許容およびデータ転送帯域幅の増加の両方のために設けられる。
【０００５】
これらは、本発明の実施例が対応することを意図する一般的な領域である。
【発明の概要】
【課題を解決するための手段】
【０００６】
概要
本願明細書において、１つ以上のゲートウェイノードを含むミドルウェアマシン環境をサポートするためのシステムおよび方法を記載する。１つ以上のゲートウェイノード上に存在する１つ以上のゲートウェイは、複数のホストサーバを有するサブネットに設けられる。各ホストサーバは、１つ以上の仮想ネットワークインターフェイスカード（ｖＮＩＣ）に関連付けられる。ミドルウェアマシン環境はさらに、１つ以上のゲートウェイ上の複数の仮想ハブ（ｖＨＵＢ）を含み、各ｖＨＵＢは、１つ以上の上記ｖＮＩＣに関連付けられる。ゲートウェイは、外部ネットワークに接続するよう適合され、マルチキャストパケットを外部ネットワークおよび複数のホストサーバの両方に複数のｖＨＵＢを介して転送し、かつサブネットと外部ネットワークとの間のマルチキャストパケットトラフィックループを防止するよう動作する。
【０００７】
１つの局面では、複数のホストサーバを有するサブネットを含むミドルウェアマシン環境におけるゲートウェイが提供される。各ホストサーバは１つ以上の仮想ネットワークインターフェイスカード（ｖＮＩＣ）に関連付けられ、ゲートウェイは、外部ネットワークに接続するよう適合され、ゲートウェイは、１つ以上の仮想ハブ（ｖＨＵＢ）を含み、各ｖＨＵＢは１つ以上の上記ＶＮＩＣに関連付けられ、ゲートウェイはさらに、外部ネットワークおよび複数のホストサーバの両方に１つ以上のｖＨＵＢを介してマルチキャストパケットを転送するよう構成される転送モジュールと、サブネットと外部ネットワークとの間のマルチキャストパケットトラフィックループを防止するよう構成される防止モジュールとを含む。
【０００８】
いくつかの実施例では、サブネットはインフィニバンド（ＩＢ）サブネットである。
いくつかの実施例では、ゲートウェイは複数のｖＨＵＢを含む。
【０００９】
いくつかの実施例では、同じｖＨＵＢに属するｖＮＩＣおよびホストサーバは、ゲートウェイを伴うことなく、互いに通信可能である。
【００１０】
いくつかの実施例では、異なるｖＨＵＢに属するｖＮＩＣおよびホストサーバは、外部ネットワークを通じて互いに通信可能である。
【００１１】
いくつかの実施例では、防止モジュールは、内部ｖＮＩＣまたはゲートウェイポートが同じ論理パケットの複数のバージョンを受け取ることを防止するようさらに構成されている。
【００１２】
いくつかの実施例では、転送モジュールは、プライベートｖＨＵＢを示すマルチキャストグループに１つ以上の入力マルチキャストパケットを転送するようさらに構成されている。
【００１３】
いくつかの実施例では、ゲートウェイは、送出マルチキャストパケットが、関連付けられるｖＨＵＢにおけるｖＮＩＣに由来するかどうか検出するよう構成される検出モジュールをさらに含む。
【００１４】
いくつかの実施例では、転送モジュールは、送出マルチキャストパケットが、関連付けられるｖＨＵＢにおけるｖＮＩＣに由来すると検出モジュールが検出すると、送出マルチキャストパケットのみを外部ネットワークに転送するようさらに構成されている。
【００１５】
いくつかの実施例では、ゲートウェイは、上記ｖＮＩＣに関連付けられる異なるソースＭＡＣアドレスを定義するようレンジレジスタの１つ以上のセットを用いるよう構成される定義モジュールをさらに含む。
【００１６】
いくつかの実施例では、ゲートウェイは、ソースメディアアクセス制御（ＭＡＣ）アドレスフィルタリングアプローチを用いて、異なるｖＨＵＢに属するｖＮＩＣ同士の間の通信を管理するよう構成される管理モジュールをさらに含む。
【００１７】
いくつかの実施例では、防止モジュールは、サブネットと外部ネットワークとの間のループにおいて、ネットワーク帯域幅資源を浪費するマルチキャストパケットを送ることを防止するとともに、内部ｖＮＩＣまたはゲートウェイポートが同じ論理マルチキャストパケットの複製バージョンを受け取らないことを確実にするようさらに構成されている。
【００１８】
いくつかの実施例では、防止モジュールは、外部ネットワークからのマルチキャストパケットをソースＭＡＣアドレスに基づきフィルタリングすることにより、複製マルチキャストパケットについてのネットワーク帯域幅の浪費を防止するようさらに構成されている。
【００１９】
別の局面では、本開示の１つの局面に従った１つのゲートウェイを含むネットワークスイッチが提供される。
【００２０】
いくつかの実施例では、ネットワークスイッチは、外部ネットワークに接続するよう用いられる１つ以上の外部ポートと、複数のホストサーバに接続するよう用いられる１つ以上の内部ポートとをさらに含む。
【００２１】
さらに別の局面では、本開示の別の局面に従った１つ以上のネットワークスイッチを含む、ミドルウェアマシン環境をサポートするためのシステムが提供される。
【００２２】
いくつかの実施例では、システムは、上記１つ以上のネットワークスイッチを通じて複数のホストサーバに接続する別個のストレージシステムをさらに含む。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施例に従った、ミドルウェアマシンのための例示的な構成の図を示す図である。
【図２】本発明の実施例に従った、ミドルウェアマシン環境の図を示す図である。
【図３】本発明の実施例に従った、イーサネット（登録商標）・オーバー・ＩＢ（ＥＯＩＢ）のｖＨＵＢのスケーラビリティを提供するミドルウェアマシン環境の図を示す図である。
【図４】本発明の実施例に従った、ミドルウェアマシン環境におけるＥＯＩＢのｖＨＵＢのスケーラビリティを提供するための例示的なフローチャートを示す図である。
【図５】本発明のいくつかの実施例に従った、ミドルウェアマシン環境におけるゲートウェイの機能ブロック図である。
【図６】本発明のいくつかの実施例に従った、ミドルウェアマシン環境におけるネットワークスイッチの機能ブロック図である。
【発明を実施するための形態】
【００２４】
詳細な説明
本願明細書において、ミドルウェアマシンまたは同様のプラットフォームを提供するためのシステムおよび方法を記載する。本発明の実施例に従うと、当該システムは、高性能ハードウェア（たとえば６４ビットプロセッサ技術、高性能な大きなメモリ、ならびに冗長なインフィニバンドおよびイーサネット（登録商標）ネットワーキング）と、ＷｅｂＬｏｇｉｃ  Ｓｕｉｔｅのようなアプリケーションサーバまたはミドルウェア環境との組合せを含み、これにより、迅速に備えられ得るとともにオンデマンドでスケール変更可能な大規模並列メモリグリッドを含む完全なＪａｖａ（登録商標）  ＥＥアプリケーションサーバコンプレックスを提供する。本発明の実施例に従うと、当該システムは、アプリケーションサーバグリッド、ストレージエリアネットワーク、およびインフィニバンド（ＩＢ）ネットワークを提供するフルラック、ハーフラック、もしくはクォーターラック、または他の構成として展開され得る。ミドルウェアマシンソフトウェアは、たとえばＷｅｂＬｏｇｉｃ  Ｓｅｒｖｅｒ、ＪＲｏｃｋｉｔまたはＨｏｔｓｐｏｔ  ＪＶＭ、Ｏｒａｃｌｅ  Ｌｉｎｕｘ（登録商標）またはＳｏｌａｒｉｓ、およびＯｒａｃｌｅ  ＶＭといった、アプリケーションサーバと、ミドルウェアと、他の機能性とを提供し得る。本発明の実施例に従うと、当該システムは、ＩＢネットワークを介して互いに通信する複数の計算ノードと、１つ以上のＩＢスイッチゲートウェイと、ストレージノードまたはユニットとを含み得る。ラック構成として実施される場合、当該ラックの未使用部分は、空のままとされるか、またはフィラー（filler）によって占有され得る。
【００２５】
本願明細書において「Ｓｕｎ  Ｏｒａｃｌｅ  Ｅｘａｌｏｇｉｃ」または「Ｅｘａｌｏｇｉｃ」と称される本発明の実施例に従うと、当該システムは、Ｏｒａｃｌｅ  Ｍｉｄｄｌｅｗａｒｅ  ＳＷ  ｓｕｉｔｅまたはＷｅｂｌｏｇｉｃといったミドルウェアまたはアプリケーションサーバソフトウェアをホスティングするための、展開が容易なソリューションである。本願明細書に記載されるように、実施例に従うと、当該システムは、１つ以上のサーバと、ストレージユニットと、ストレージネットワーキングのためのＩＢファブリックと、ミドルウェアアプリケーションをホストするために要求されるすべての他のコンポーネントとを含む「グリッド・イン・ア・ボックス（grid in a box）」である。たとえばＲｅａｌ  Ａｐｐｌｉｃａｔｉｏｎ  ＣｌｕｓｔｅｒｓおよびＥｘａｌｏｇｉｃ  ｏｐｅｎ  ｓｔｏｒａｇｅを用いて大規模並列グリッドアーキテクチャを活用することにより、すべてのタイプのミドルウェアアプリケーションのために有意な性能が与えられ得る。このシステムは、線形のＩ／Ｏスケーラビリティとともに向上した性能を与え、使用および管理が簡易であり、ミッションクリティカルな可用性および信頼性を与える。
【００２６】
図１は、本発明の実施例に従った、ミドルウェアマシンのための例示的な構成の図を示す図である。図１に示されるように、ミドルウェアマシン１００は、２８のサーバノードに接続する２つのゲートウェイネットワークスイッチまたはリーフネットワークスイッチ１０２および１０３を含む単一のラック構成を用いる。さらに、ミドルウェアマシンについては、異なる構成が存在し得る。たとえば、サーバノードの一部を含むハーフラック構成が存在し得るとともに、多数のサーバを含むマルチラック構成も存在し得る。
【００２７】
図１に示されるように、サーバノードは、ゲートウェイネットワークスイッチによって与えられるポートに接続し得る。図１に示されるように、各サーバマシンは、２つのゲートウェイネットワークスイッチ１０２および１０３への接続を別個に有し得る。たとえば、ゲートウェイネットワークスイッチ１０２は、サーバ１〜１４のポート１である１０６と、サーバ１５〜２８のポート２である１０７とに接続し、ゲートウェイネットワークスイッチ１０３は、サーバ１〜１４のポート２である１０８と、サーバ１５〜２８のポート１である１０９とに接続する。
【００２８】
本発明の実施例に従うと、各ゲートウェイネットワークスイッチは、異なるサーバと接続するのに用いられる複数の内部ポートを有し得るとともに、ゲートウェイネットワークスイッチは、既存のデータセンタサービスネットワークといった外部ネットワークと接続するのに用いられる外部ポートも有し得る。
【００２９】
本発明の実施例に従うと、当該ミドルウェアマシンは、ゲートウェイネットワークスイッチを通ってサーバに接続する別個のストレージシステム１１０を含み得る。さらに、当該ミドルウェアマシンは、２つのゲートウェイネットワークスイッチ１０２および１０３に接続するスパインネットワークスイッチ（spine network switch）１０１を含み得る。図１に示されるように、ストレージシステムからスパインネットワークスイッチへの２つのリンクが随意に存在し得る。
【００３０】
ＩＢファブリック／サブネット
本発明の実施例に従うと、ミドルウェアマシン環境におけるＩＢファブリック／サブネットは、ファット・ツリー・トポロジ（fat-tree topology）において相互接続される多数の物理的なホストまたはサーバ、スイッチインスタンス、およびゲートウェイインスタンスを含み得る。
【００３１】
図２は、本発明の実施例に従った、ミドルウェアマシン環境の図を示す図である。図２に示されるように、ミドルウェアマシン環境２００は、複数のエンドノードと接続するＩＢサブネットまたはファブリック２２０を含む。ＩＢサブネットは、各々が複数のネットワークスイッチ２０１〜２０４の１つに存在する複数のサブネットマネージャ２１１〜２１４を含む。これらのサブネットマネージャは、管理データグラム（Management Datagram；ＭＡＤ）／サブネット管理パケット（Subnet Management Packet；ＳＭＰ）に基づくプロトコルのような帯域内通信プロトコル２１０、またはインターネットプロトコル・オーバー・ＩＢ（Internet Protocol over IB；ＩＰｏＩＢ）のような他のプロトコルを用いて互いに通信し得る。
【００３２】
本発明の実施例に従うと、単一のＩＰサブネットは、同じＩＢファブリックにおいてスイッチ同士が確実に互いに通信すること（すなわちすべてのスイッチの間での完全な接続性）を可能にするＩＢファブリック上に構成され得る。このファブリックに基づくＩＰサブネットは、作動状態のリンクを有する少なくとも１つルートが任意の対のスイッチの間に存在する場合に、当該２つのスイッチ同士の間の接続性を提供し得る。リルーティングにより代替的なルートが存在する場合には、リンク障害からの回復が達成され得る。
【００３３】
これらのスイッチの管理イーサネット（登録商標）インターフェイスは、すべてのスイッチ同士の間にＩＰレベルの接続性を提供する単一のネットワークに接続され得る。各スイッチは、外部の管理イーサネット（登録商標）のためのＩＰアドレスと、ファブリックに基づくＩＰサブネットのためのＩＰアドレスとの２つの主なＩＰアドレスによって識別され得る。各スイッチは、両方のＩＰアドレスを用いて、すべての他のスイッチへの接続性を監視し得るとともに、通信のために、いずれかの使用可能なアドレスを用い得る。さらに、各スイッチは、ファブリック上において、各々の直接的に接続されたスイッチへのポイント・ツー・ポイントＩＰリンクを有し得る。したがって、少なくとも１つの付加的なＩＰアドレスが存在し得る。
【００３４】
ＩＰルーティングセットアップにより、ネットワークスイッチが、ファブリックＩＰサブネットと、外部の管理イーサネット（登録商標）ネットワークと、スイッチの対の間の１つ以上のファブリックレベルのポイント・ツー・ポイントＩＰリンクとの組合せを用いて、中間のスイッチを介して別のスイッチにトラフィックをルーティングすることが可能になる。ＩＰルーティングにより、ネットワークスイッチへの外部の管理アクセスが、ネットワークスイッチ上の外部のイーサネット（登録商標）ポートを介して、かつファブリック上の専用のルーティングサービスを通じて、ルーティングされることが可能になる。
【００３５】
ＩＢファブリックは、管理ネットワークへの管理イーサネット（登録商標）アクセスを有する複数のネットワークスイッチを含む。ファブリックにおけるスイッチ同士の間の帯域内の物理的な接続性が存在する。一例では、ＩＢファブリックが劣化しない場合には、スイッチの各対同士の間に１つ以上のホップの少なくとも１つの帯域内ルートが存在する。ＩＢファブリックのための管理ノードは、ネットワークスイッチと、ＩＢファブリックに接続される管理ホストとを含む。
【００３６】
サブネットマネージャは、そのプライベートＩＰアドレスのいずれかを介してアクセスされ得る。サブネットマネージャはさらに、サブネットマネージャがマスターサブネットマネージャとしての役割を担う際に、マスターサブネットマネージャのために構成されるフローティングＩＰアドレスを介してアクセス可能であり得、当該サブネットマネージャは、当該役割から明示的に解放される際には、構成解除される。外部の管理ネットワークと、ファブリックに基づく管理ＩＰネットワークとの両方のためにマスターＩＰアドレスが定義され得る。ポイント・ツー・ポイントＩＰリンクのために特別なマスターＩＰアドレスが定義される必要はない。
【００３７】
本発明の実施例に従うと、各物理的なホストは、バーチャルマシンに基づくゲストを用いて仮想化され得る。たとえばＣＰＵコアごとに１つのゲストといったように、物理的なホストごとに同時に複数のゲストが存在し得る。さらに、各物理的なホストは、デュアルポートが設けられた少なくとも１つのホストチャネルアダプタ（ＨＣＡ）を有し得る。当該ホストチャネルアダプタは、仮想化されるとともに、ゲスト同士の間で共有され得る。そのため、仮想化されたＨＣＡのファブリックビューは、ちょうど仮想化／共有されていないＨＣＡのような、デュアルポートが設けられた単一のＨＣＡである。
【００３８】
ＩＢファブリックは、ＩＢパーティションによって実現される資源ドメインの動的なセットへと分けられ得る。ＩＢファブリックにおける各物理的なホストおよび各ゲートウェイインスタンスは、複数のパーティションのメンバーであり得る。さらに、同じまたは異なる物理的なホスト上の複数のゲストが、同じまたは異なるパーティションのメンバーとなり得る。ＩＢファブリックのためのＩＢパーティションの数は、Ｐ＿キーのテーブルサイズによって制限されてもよい。
【００３９】
本発明の実施例に従うと、ゲストは、当該ゲストにおけるｖＮＩＣドライバから直接的にアクセスされる２つ以上のゲートウェイインスタンス上にて、仮想ネットワークインターフェイスカード（ｖＮＩＣｓ）のセットを開き得る。ゲストは、更新されたｖＮＩＣ関連付けを保持しつつまたは有しつつ、物理的なホスト同士の間を移行し得る。
【００４０】
本発明の実施例に従うと、スイッチは、任意の順番で始動し得、たとえばＩＢが特定された交渉プロトコルのような異なる交渉プロトコルに従って、マスターサブネットマネージャを動的に選択し得る。パーティショニングポリシーが特定されていない場合、デフォルトのパーティショニングイネーブルポリシーが用いられ得る。さらに、管理ノードパーティションおよびファブリックに基づく管理ＩＰサブネットは、任意の付加的なポリシー情報と独立して、かつ完全なファブリックポリシーをマスターサブネットマネージャが知っているかどうかから独立して、確立され得る。ファブリックレベル構成ポリシー情報がファブリックに基づくＩＰサブネットを用いて同期されるよう、サブネットマネージャは、デフォルトのパーティションポリシーを用いて最初に始動し得る。ファブリックレベルの同期が達成されると、ファブリックについて現在のパーティション構成が、マスターサブネットマネージャによってインストールされ得る。
【００４１】
イーサネット（登録商標）・オーバー・ＩＢ（Ethernet（登録商標） over IB；ＥＯＩＢ）のｖＨＵＢのスケーラビリティの提供
本発明の実施例に従うと、当該システムは、ＩＢファブリック上のメンバーホストポートの数と、外部のイーサネット（登録商標）ファブリック上の対応するＬ２サブネットに接続するゲートウェイポートの数との両方の点でスケール変更するイーサネット（登録商標）・オーバー・ＩＢ（ＥＯＩＢ）レベル２（Ｌ２）サブネットインプリメンテーションを提供し得る。
【００４２】
図３は、本発明の実施例に従った、ＥＯＩＢのｖＨＵＢのスケーラビリティを提供するミドルウェアマシン環境の図を示す図である。図３に示されるように、ミドルウェアマシン環境３００は、複数のホストサーバ３０４〜３０７と外部のローカルエリアネットワーク（ＬＡＮ）３０１とに接続され得るＩＢサブネット／ファブリック３２０を含む。ＩＢファブリックは、異なるｖＮＩＣ３２１〜３２８に関連付けられるいくつかのゲートウェイ３０２〜３０３を含む。各ゲートウェイインスタンスは、１つ以上のマイクロプロセッサを含むゲートウェイノード３０８〜３０９上に存在し得、ゲートウェイインスタンスにおけるコアゲートウェイ機能は、「データパス」動作を用いてハードウェアにおいて実現され得る。
【００４３】
本発明の実施例に従うと、当該システムにおけるゲートウェイは、異なるｖＨＵＢに関連付けられ得る。各ｖＨＵＢは、同じゲートウェイインスタンスに関連付けられるｖＮＩＣを含むＩＢファブリック側にて、論理レベル２リンクを定義する。同じｖＨＵＢに属するｖＮＩＣおよびホストは、関連付けられるゲートウェイインスタンスを伴うことなく互いに通信し得る。
【００４４】
図３に示されるような例では、ゲートウェイＡ上のｖＨＵＢ  Ｉ  ３１１は、ホストサーバＡ上のｖＮＩＣ  ａ  ３２１およびｖＮＩＣ  ｃ  ３２３と、ホストサーバＢ上のｖＮＩＣ  ｅ  ３２５に関連付けられる。したがって、ｖＮＩＣ  ａ、ｖＮＩＣ  ｃ、およびｖＮＩＣ  ｅは、関連付けられるゲートウェイＡを伴うことなく互いに通信し得る。さらに、図３に示されるように、ゲートウェイＡ上のｖＨＵＢ  ＩＩ  ３１２は、ホストサーバＡ上のｖＮＩＣ  ｂ  ３２２と、ホストサーバＣ上のｖＮＩＣ  ｆ  ３２６とに関連付けられる。ゲートウェイＢ上のｖＨＵＢ  ＩＩＩ  ３１３は、ホストサーバＢ上のｖＮＩＣ  ｄ  ３２４と、ホストサーバＤ上のｖＮＩＣ  ｇ  ３２７およびｖＮＩＣ  ｈ  ３２８とに関連付けられる。
【００４５】
本発明の実施例に従うと、いくつかのｖＨＵＢは、同じ論理イーサネット（登録商標）Ｌ２リンクおよび／または同じレベル３（Ｌ３）ＩＰサブネットを示し得る。図３に示されるような例では、ゲートウェイＡ３０２およびゲートウェイＢ３０３の両方は、同じ外部のＬＡＮ３０１に複数のゲートウェイポートを介して接続する。異なるｖＨＵＢ３１１〜３１３に属するさまざまなｖＮＩＣ３２１〜３２８は、外部のＬＡＮ３０１を通じて互いに接続および通信し得るか、または代替的にはＩＢファブリック上のホストによって実現されるルーティングロジックによって互いに接続および通信し得る。
【００４６】
本発明の実施例に従うと、別個のＩＰサブネット（ＩＰｏＩＢまたはＥｏＩＢ）が、ＩＢファブリック上のホスト同士の間およびホストと外部のＬＡＮとの間にて高帯域ＩＰトラフィックを扱うためにＩＢファブリック側に設けられ得る。ＩＢファブリック側のこの別個のＩＰサブネットは、ＩＢファブリック上のホスト同士の間のトラフィックについてゲートウェイ帯域幅を浪費することを回避し得る。さらに、複数のＩＰサブネットが望ましくない場合、内部ＩＢファブリック上にて、異なるｖＨＵＢに属するｖＮＩＣ同士の間の通信を許可することは有用であり得る。
【００４７】
図３に示されるような例では、複数のｖＨＵＢ３１１〜３１３がともに接続される場合、マルチキャストパケットが、ゲートウェイインスタンス３０２〜３０３を通って外部のＬＡＮ３０１と、ＩＢファブリックにおけるホストサーバ３０４〜３０７上のメンバーホストポートとの両方に転送され得る。たとえば、ＩＢファブリック３０２における第１のゲートウェイポートは、マルチキャストパケットを外部のＬＡＮ３０１に送り得、外部のＬＡＮ３０１は、当該マルチキャストパケットをＩＢファブリック３２０における第２のゲートウェイポートに送り返し得る。次いで、第２のゲートウェイポートは、ＩＢファブリック上にて、上記マルチキャストパケットを再び転送し得る。これにより、ＩＢファブリック３２０と外部ネットワーク３０１との間のトラフィックループが発生し得る。さらに、内部ｖＮＩＣ３２１〜３２８およびゲートウェイポートは、同じ論理パケットの複数のバージョンを受け取り得る。
【００４８】
外部ネットワークからＩＢファブリックへのトラフィックに関係するインバウンドのパケットループ問題を解決するために、ゲートウェイインスタンスは、入力されるマルチキャストパケットを、プライベートｖＨＵＢを示すＩＢマルチキャストグループに転送し得る。プライベートｖＨＵＢは、単一のゲートウェイメンバーを有するとともに、各ｖＮＩＣが単一のプライベートｖＨＵＢのメンバーとなることを可能にする。
【００４９】
ＩＢファブリックから外部ネットワークへのトラフィックに関係するアウトバウンドのパケットループ問題を解決するために、各ゲートウェイインスタンスは、ローカルのＩＢファブリックから受け取られるマルチキャストパケットがそのプライベートｖＨＵＢにおけるｖＮＩＣに由来するかどうかを検出し得る。ゲートウェイインスタンスは、当該マルチキャストパケットがそのプライベートｖＨＵＢにおけるｖＮＩＣに由来するものであれば、当該マルチキャストパケットを外部ネットワークに転送するよう進み得る。このような決定を行うのに、専用のハードウェアロジックが用いられ得る。一例では、この専用ハードウェアロジックは、ローカルのｖＮＩＣについての情報か、またはプライベートｖＨＵＢにおけるソース媒体アクセス制御（ＭＡＣ）アドレスについてのレンジレジスタの１つ以上のセットのいずれかを用い得る。
【００５０】
本発明の実施例に従うと、代替的なアプローチでは、異なるプライベートｖＨＵＢ同士の間を転送されるマルチキャストパケットは、内在するＩＢマルチキャストグループが常に単一のプライベートｖＨＵＢに限定されるように外部のＬＡＮを伴わなければならないということが要求され得る。同時に、ユニキャストトラフィックは、複数のｖＨＵＢに亘り得る。この代替的なアプローチは、インバウンドのループ問題を解決し得るとともに、さらにマルチキャストパケットの単一のバージョンのみがＩＢファブリックから外部のＬＡＮへと転送されることを確実にし得る。
【００５１】
本発明の実施例に従うと、異なるｖＨＵＢに属するｖＮＩＣの間の通信は、外部のイーサネット（登録商標）ＬＡＮを介する外部のゲートウェイポート同士の間の接続性に依存することなく、実現され得る。ユニキャストトラフィックの場合、ホストｖＮＩＣドライバは、宛先のＭＡＣ／ｖＮＩＣが関連付けられるＩＢファブリック上の宛先ポートに単一のパケットを明示的に送り得る。さらに、ホストｖＮＩＣドライバは、異なるｖＨＵＢに属する宛先ｖＮＩＣに単一のパケットを送り得る。マルチキャストトラフィックの場合、当該システムは、単一のゲートウェイインスタンスのみが、特定のマルチキャストパケットを特定のホストまたはｖＮＩＣから外部のＬＡＮに転送することを確実にし得る。さらに、同じ論理マルチキャストパケットを受け取る複数のゲートウェイインスタンスは、外部のＬＡＮからＩＢファブリック上の同じホストまたはｖＮＩＣへ同じ論理マルチキャストパケットを転送し得ない。
【００５２】
本発明の実施例に従うと、特別なグローバルなｖＨＵＢマルチキャストグループは、プライベートｖＨＵＢ同士の間のマルチキャスト転送について、外部のＬＡＮへの依存を回避し得、さらにマルチキャストパケットの単一のバージョンのみがＩＢファブリックから外部のＬＡＮへ転送されることを確実にし得る。この特別なグローバルなｖＨＵＢマルチキャストグループは、ＩＢファブリック上に、単一のゲートウェイインスタンスと、すべての関連するｖＮＩＣとだけを含み得る。このアプローチを用いると、システムは、ＩＢファブリックと外部のＬＡＮとの間においてトラフィックについてループが作られることを回避し得る。さらに、別のプライベートｖＨＵＢにおけるｖＮＩＣに由来するマルチキャストパケットの複数のコピーを受け取ることを回避するために、ＥｏＩＢドライバは、マルチキャストパケットのソースＭＡＣが、対応するグローバルのｖＨＵＢにおけるｖＮＩＣからの場合、そのプライベートｖＨＵＢにおけるゲートウェイから届いたマルチキャストパケットを破棄するロジックを含み得る。
【００５３】
このアプローチの制約は、グローバルのｖＨＵＢにおけるパケット転送と、外部のＬＡＮからパケットを受け取るさまざまなプライベートｖＨＵＢにおけるパケット転送との両方により、ＩＢファブリック上にてより多くの帯域幅が消費され得ることである。さらに、マルチキャストパケットを送ることについて、単一のイーグレスゲートウェイインスタンスのみの制限は、現在のイーグレスゲートウェイインスタンスの障害の後で外部のマルチキャスト送信能力を回復させるために、ボンディングおよび他のホストに基づくＩＰマルチパススキームがグローバルのｖＨＵＢの再構成に依存することが要求され得ることである。したがって、ＩＢファブリックから外部のＬＡＮへのマルチキャスト帯域幅は、単一のイーグレスゲートウェイインスタンスによっても限定され得る。
【００５４】
本発明の実施例に従うと、システムは、ソースＭＡＣアドレスフィルタリングアプローチを用いて、異なるｖＨＵＢに属するｖＮＩＣ同士の間の通信を管理し得る。図３に示されるような例では、ＩＢファブリック３２０における各ゲートウェイインスタンス３０２〜３０３は、外部のＬＡＮ３０１から受け取られたマルチキャストパケットのソースＭＡＣアドレスがローカルのＩＢファブリック３２０上の関連するｖＮＩＣ３２１〜３２８に属するかどうか検出し得る。
【００５５】
本発明の実施例に従うと、システムは、ローカルのＩＢファブリック上の関連するｖＮＩＣに属するソースＭＡＣアドレスを定義するレンジレジスタの１つ以上のセットを用い得、これによりＩＢファブリックと外部のＬＡＮとの間のループにおいて、ネットワーク帯域幅資源を浪費するマルチキャストパケットを送ることを防止するとともに、内部ｖＮＩＣまたはゲートウェイポートが同じ論理マルチキャストパケットの複製バージョンを受け取らないことを確実にする。
【００５６】
本発明の実施例に従うと、システムは、専用のマルチキャストグループを用いてマルチキャストパケットをＩＢファブリック上のｖＮＩＣに配信し得るが、如何なるゲートウェイインスタンスにも配信しない。マルチキャストパケットのただ１つのコピーがただ１つのゲートウェイ外部ポートを介して外部のＬＡＮに送られることを確実にするために、ｖＮＩＣドライバは、パケットを単一のゲートウェイ（たとえばローカルのｖＮＩＣが属するｖＨＵＢに関連付けられるもの）に送り得る。このマルチキャストパケットは次いで、外部のイーサネット（登録商標）ＬＡＮを介して他のゲートウェイ外部ポートによって受け取られ得、他のｖＨＵＢに属するｖＮＩＣに複製される。
【００５７】
受取りを行うｖＮＩＣドライバは、パケットにおけるソースＭＡＣは、同じ論理サブネットの一部であるＩＢファブリック上のｖＮＩＣに属すると判断し得る。次いで、ｖＮＩＣドライバは、当該パケットがＩＢファブリック上の上記専用のマルチキャストグループを介してすでに受け取られているかまたは受け取ることになるので、当該パケットを破棄し得る。他方、受け取られたマルチキャストパケットのソースアドレスが、外部のイーサネット（登録商標）ＬＡＮ（すなわちローカルのＩＢファブリック上のｖＮＩＣに対して外部）上のステーションに属すると判断された場合、マルチキャストパケットはそれに応じて、処理され得る。
【００５８】
本発明の実施例に従うと、マルチキャストパケットのコピーをフィルタリングするためのスキームにより、ＩＢファブリック上のグローバルのｖＨＵＢ内のマルチキャストパケットを転送するのに１つのグローバルのマルチキャストグループを用いることが可能になるとともに、さらに、送り手のＥｏＩＢドライバが、そのプライベートｖＨＵＢにおけるゲートウェイインスタンスによって、たとえばユニキャストを介して転送されるべき別のパケットのコピーを明示的に送ることを許可することを可能にする。このスキームにより、任意の数のゲートウェイインスタンスが、アウトバウンドのＭＣトラフィックのためのイーグレスポート（すなわち１つのプライベートｖＨＵＢにつき１つのアクティブなイーグレスゲートウェイ）として用いられることが可能になる。
【００５９】
本発明の実施例に従うと、ハイブリッドのＬ２リンクがＩＢファブリックにおいて用いられ得、その場合、ＩＰｏＩＢリンクに類似した単一のＩＢファブリックの内部ＥｏＩＢｖＨＵＢが、外部のトラフィックのためにのみ用いられる１つ以上のｖＨＵＢと組み合され得る。ソースアドレスに基づき外部のＬＡＮからのマルチキャストパケットをフィルタリングするゲートウェイの能力により、複製マルチキャストパケットについてのＩＢファブリック帯域幅の浪費が防止され得る。
【００６０】
本発明の実施例に従うと、ＩＰｏＩＢコネクテッドモード（Connected Mode；ＣＭ）がＥｏＩＢに基づくＩＰトラフィックよりも良好な帯域幅を提供する状況の場合、当該ＩＰｏＩＢ  ＣＭは、ＥｏＩＢとマージされ得、これにより、単一のＩＰサブネットが、ＩＢファブリック上の任意の数のノードと、外部のＬＡＮ上の任意の数のゲートウェイインスタンスおよびノードとに及ぶことを可能にする一方、それでも、如何なるエンドポイントの対同士の間でも、得られる限り最良な帯域幅を提供する。
【００６１】
図４は、実施例に従った、ミドルウェアマシン環境においてスケーラビリティを提供するための例示的なフローチャートを示す図である。図４に示されるように、ステップ４０１では、１つ以上のゲートウェイが複数のホストサーバを有するサブネットに設けられ得、ホストサーバの各々は、１つ以上の仮想ネットワークインターフェイスカード（ｖＮＩＣ）に関連付けられる。次いで、ステップ４０２では、複数の仮想ハブ（ｖＨＵＢ）が、１つ以上のゲートウェイ上に設けられ得、各ｖＨＵＢが１つ以上の上記ＶＮＩＣに関連付けられる。さらに、ステップ４０３では、１つ以上のゲートウェイが外部ネットワークに接続され得る。さらに、ステップ４０４では、上記１つ以上のゲートウェイは、マルチキャストパケットを外部ネットワークと複数のホストサーバとの両方に複数のｖＨＵＢを介して転送し得る。最後に、ステップ４０５では、上記１つ以上のゲートウェイは、サブネットと外部ネットワークとの間でマルチキャストパケットトラフィックループを防止し得る。
【００６２】
いくつかの実施例に従うと、図５は、上述したような本発明の原理に従って構成されるゲートウェイ５００の機能ブロック図を示す。図６は、上述したような本発明の原理に従って構成されるネットワークスイッチ６００の機能ブロック図を示す。ネットワークスイッチ６００は、図５に示されるようなゲートウェイ５００を含む。ゲートウェイおよびネットワークスイッチの機能ブロックは、本発明の原理を実施するために、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組合せによって実現され得る。当業者であれば、図５および図６に記載される機能ブロックは、上述したような本発明の原理を実現するために、組み合されてもよく、またはサブブロックへと分離されてもよいということが理解される。したがって、本願明細書における記載は、本願明細書において記載される機能ブロックの任意の可能な組合せ、分離、またはさらに他の定義をサポートし得る。
【００６３】
ゲートウェイ５００は、図３に示されるような複数のホストサーバを有するサブネットを含むミドルウェアマシン環境において動作する。各ホストサーバは、１つ以上の仮想ネットワークインターフェイスカード（ｖＮＩＣ）に関連付けられる。ゲートウェイ５００は、外部ネットワークに接続するよう適合される。
【００６４】
図５に示されるように、ゲートウェイ５００は、１つ以上の仮想ハブ（ｖＨＵＢ）５０２と、転送モジュール５０４と、防止モジュール５０６とを含み得る。
【００６５】
いくつかの実施例では、各ｖＨＵＢ５０２は１つ以上のＶＮＩＣに関連付けられる。転送モジュール５０４は、複数のｖＨＵＢ５０２を介して外部ネットワークと複数のホストサーバとの両方にマルチキャストパケットを転送するよう構成される。防止モジュール５０６は、サブネットと外部ネットワークとの間のマルチキャストパケットトラフィックループを防止するよう構成される。
【００６６】
いくつかの実施例では、サブネットは、インフィニバンド（ＩＢ）サブネットである。いくつかの実施例では、ゲートウェイ５００は複数のｖＨＵＢ５０２を含む。いくつかの実施例では、同じｖＨＵＢ５０４に属するｖＮＩＣおよびホストサーバは、関連付けられるゲートウェイインスタンスを伴うことなく互いに通信し得る。いくつかの実施例では、異なるｖＨＵＢ５０４に属するｖＮＩＣおよびホストサーバは、外部ネットワークを通じて互いに通信し得る。
【００６７】
いくつかの実施例では、防止モジュール５０６はさらに、内部ｖＮＩＣまたはゲートウェイポートが同じ論理パケットの複数のバージョンを受け取ることを防止するよう構成され得る。いくつかの実施例では、転送モジュール５０４は、プライベートｖＨＵＢ５０２を示すマルチキャストグループに１つ以上の入力マルチキャストパケットを転送するようさらに構成され得る。
【００６８】
いくつかの実施例では、代替的には、ゲートウェイ５００は、送出マルチキャストパケットが、関連付けられるｖＨＵＢ５０２におけるｖＮＩＣに由来するかどうかを検出するよう構成される検出モジュール５０８をさらに含み得る。送出マルチキャストパケットが、関連付けられるｖＨＵＢ５０２におけるｖＮＩＣに由来するということを検出モジュール５０８が検出すると、転送モジュール５０４は、送出マルチキャストパケットのみを外部ネットワークに転送するようさらに構成され得る。
【００６９】
いくつかの実施例では、ゲートウェイ５００は、ｖＮＩＣに関連付けられる異なるソースＭＡＣアドレスを定義するようレンジレジスタの１つ以上のセットを用いるよう構成される定義モジュール５１０をさらに含み得る。
【００７０】
いくつかの実施例では、ゲートウェイ５００は、ソースメディアアクセス制御（ＭＡＣ）アドレスフィルタリングアプローチを用いて、異なるｖＨＵＢ５０２に属するｖＮＩＣ同士の間の通信を管理するよう構成される管理モジュール５１２をさらに含み得る。防止モジュール５０６は、サブネットと外部ネットワークとの間のループにおいて、ネットワーク帯域幅資源を浪費するマルチキャストパケットを送ることを防止するとともに、内部ｖＮＩＣまたはゲートウェイポートが同じ論理マルチキャストパケットの複製バージョンを受け取らないことを確実にするようさらに構成され得る。
【００７１】
いくつかの実施例では、防止モジュール５０６は、ソースＭＡＣアドレスに基づき外部ネットワークからのマルチキャストパケットをフィルタリングすることにより複製マルチキャストパケットについてのネットワーク帯域幅の浪費を防止するようさらに構成され得る。
【００７２】
図６に示されるように、ネットワークスイッチ６００は、図５に示されるような１つのゲートウェイ５００を含み得る。いくつかの実施例では、ネットワークスイッチ６００は、１つ以上の外部ポート６０４と、１つ以上の内部ポート６０８とをさらに含み得る。外部ポート６０４は、外部ネットワークに接続するよう用いられる。内部ポート６０８は、ミドルウェアマシン環境における複数のホストサーバに接続するよう用いられる。
【００７３】
いくつかの実施例では、ミドルウェアマシン環境をサポートするためのシステムが設けられ、当該システムは、図６に示されるような１つ以上のネットワークスイッチ６００を含む。システムは、上記１つ以上のネットワークスイッチ６００を通じて複数のホストサーバに接続する別個のストレージシステムをさらに含み得る。
【００７４】
本発明は、１つ以上のプロセッサ、メモリ、および／または本開示の教示に従ってプログラムされたコンピュータ可読記憶媒体を含む１つ以上の従来の汎用または専用デジタルコンピュータ、コンピューティング装置、マシン、またはマイクロプロセッサを用いて簡便に実施され得る。ソフトウェア技術の当業者には明らかであるように、適切なソフトウェアコーディングは、熟練したプログラマによって本開示の教示に基づき容易に用意され得る。
【００７５】
いくつかの実施例では、本発明は、本発明の処理のいずれかを実行するようコンピュータをプログラムするのに用いられ得る命令を格納した記憶媒体またはコンピュータ可読媒体であるコンピュータプログラムプロダクトを含む。当該記憶媒体は、フロッピー（登録商標）ディスク、光ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、マイクロドライブ、および光磁気ディスクを含む任意のタイプのディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＤＲＡＭ、ＶＲＡＭ、フラッシュメモリ素子、磁気または光学カード、ナノシステム（分子メモリＩＣを含む）、または命令および／またはデータを格納するのに好適な任意のタイプの媒体もしくは装置を含み得るが、これらに限定されない。
【００７６】
本発明の上記の記載は、例示および説明目的で与えられている。網羅的であることまたは開示されたそのものの形態に本発明を限定することを意図したものではない。当業者にとっては、多くの修正例および変形例が明確であろう。上記の実施例は、本発明の原理およびその実際的な適用をもっともよく説明するために選択および記載されたものであり、これにより他の当業者が、特定の使用に好適なさまざまな修正例を考慮して、さまざまな実施例について本発明を理解するのが可能になる。本発明の範囲は、添付の特許請求の範囲およびそれらの均等物によって定義されることが意図される。
【図１】
0005885747.tif 000002
【図２】
0005885747.tif 000003
【図３】
0005885747.tif 000004
【図４】
0005885747.tif 000005
【図５】
0005885747.tif 000006
【図６】
0005885747.tif 000007