(57)【特許請求の範囲】
【請求項１】
ネットワークファブリックを介して相互接続される複数のノードを含むネットワーク環境においてデータサービスを提供するための方法であって、
前記ネットワーク環境のサブネットにおけるサブネットアドミニストレータを提供するステップと、
前記ネットワーク環境における中間ノード上にデータサービスコンポーネントを提供するステップと、
前記サブネットアドミニストレータが、前記サブネットにおけるソースノードから前記サブネットにおける宛先ノードにデータパケットを送信するための経路の要求を前記ソースノードから受取るステップと、
前記サブネットアドミニストレータが、前記経路の要求に対する応答を前記ソースノードに送信するステップと、
前記応答に従って、固有のパケット転送機構を用いて前記ソースノードから前記中間ノードに前記データパケットを送信し、前記ネットワークファブリックにおけるデータフローを前記中間ノード上の前記データサービスコンポーネントに向けるステップと、
前記中間ノードが、前記データサービスコンポーネントを用いて、前記データフローの１つ以上のデータパケットを処理するステップと、
前記固有のパケット転送機構を用いて、前記処理された１つ以上のデータパケットを前記中間ノードから前記宛先ノードに送信するステップとを含む、方法。
【請求項２】
前記データサービスコンポーネントが、
物理マシンを１つ以上のアプリケーションサーバと共有するステップ、または、
専用の物理マシン上に常駐するステップを、さらに含む、請求項１に記載の方法。
【請求項３】
データサービス機器としての仮想マシンにおいて前記データサービスコンポーネントをデプロイするステップ、または、
データサービスサーバとしての物理マシン上に前記データサービスコンポーネントを直接デプロイするステップを、さらに含む、請求項１または２に記載の方法。
【請求項４】
前記ネットワークファブリックは、インフィニバンドネットワークプロトコルに基づく、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
外部ネットワークスイッチおよび外部ネットワークリンクのうち１つを介して、外部ネットワークにおける１つ以上のデータサービスサーバを前記ネットワークファブリックに接続するステップをさらに含む、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記中間ノードは、複数の通信パーティを物理的に分離する、および／または、ネットワークパーティションを介して複数の通信パーティを分離する、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記ネットワーク環境における前記ネットワークファブリック上において前記データサービスコンポーネントの複数のインスタンスを同時に実行するステップをさらに含む、請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記データサービスコンポーネントの複数のインスタンスを対でデプロイするステップをさらに含む、請求項７に記載の方法。
【請求項９】
前記データサービスコンポーネントが、さまざまなタイプのネットワークトラフィックを検査するように動作するソフトウェアファイアウォール（ＦＷＬ）サービスを提供するステップをさらに含む、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
ルールを含むポリシーで前記サブネットアドミニストレータを構成するステップをさらに含み、前記ルールは、前記ソースノードから送られ前記宛先ノードを対象にする各データパケットは前記中間ノードを介して送信されるということを定義する、請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
プログラム命令を含むコンピュータプログラムであって、前記プログラム命令は、コンピュータシステムによって実行されると、前記コンピュータシステムに、請求項１〜１０のいずれか１項に記載の方法を実行させる、コンピュータプログラム。
【請求項１２】
ネットワークファブリックを介して相互接続される複数のノードを含むネットワーク環境においてデータサービスを提供するためのシステムであって、
１つ以上のマイクロプロセッサと、
前記ネットワーク環境のサブネットにおけるノード上の前記１つ以上のマイクロプロセッサ上において実行されるサブネットアドミニストレータと、
前記ネットワーク環境における中間ノード上の１つ以上のマイクロプロセッサ上において実行されるデータサービスコンポーネントとを備え、
前記サブネットアドミニストレータは、
前記サブネットにおけるソースノードから前記サブネットにおける宛先ノードにデータパケットを送信するための経路の要求を前記ソースノードから受取り、
前記経路の要求に対する応答を前記ソースノードに送信し、
前記応答に従って、前記ソースノードは、固有のパケット転送機構を用いて前記中間ノードに前記データパケットを送信し、前記ネットワークファブリックにおけるデータフローを前記中間ノード上の前記データサービスコンポーネントに向け、
前記中間ノードは、前記データサービスコンポーネントを用いて、前記データフロー内の１つ以上のデータパケットを処理し、前記固有のパケット転送機構を用いて前記処理された１つ以上のデータパケットを前記宛先ノードに送信する、システム。
【請求項１３】
前記データサービスコンポーネントは、
物理マシンを１つ以上のアプリケーションサーバと共有するように動作する、または、
専用の物理マシン上に常駐するように動作する、請求項１２に記載のシステム。
【請求項１４】
前記データサービスコンポーネントは、
データサービス機器としての仮想マシンにおいてデプロイされるか、または、
データサービスサーバとしての物理マシン上に直接デプロイされる、請求項１２または１３に記載のシステム。
【請求項１５】
ネットワークファブリックを介して相互接続される複数のノードを含むネットワーク環境においてデータサービスを提供するための命令を含むコンピュータプログラムであって、前記命令は実行されると、
前記ネットワーク環境のサブネットにおけるサブネットアドミニストレータを提供するステップと、
前記ネットワーク環境における中間ノード上にデータサービスコンポーネントを提供するステップと、
前記サブネットアドミニストレータが、前記サブネットにおけるソースノードから前記サブネットにおける宛先ノードにデータパケットを送信するための経路の要求を前記ソースノードから受取るステップと、
前記サブネットアドミニストレータが、前記経路の要求に対する応答を前記ソースノードに送信するステップと、
前記応答に従って、固有のパケット転送機構を用いて、前記ソースノードから前記中間ノードに前記データパケットを送信し、前記ネットワークファブリックにおけるデータフローを前記中間ノード上の前記データサービスコンポーネントに向けるステップと、
前記中間ノードが、前記データサービスコンポーネントを用いて、前記データフローの１つ以上のデータパケットを処理するステップと、
前記固有のパケット転送機構を用いて、前記処理された１つ以上のデータパケットを前記中間ノードから前記宛先ノードに送信するステップとを、システムに実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
著作権表示：
この特許文献の開示の一部は、著作権保護の対象となる題材を含んでいる。著作権の所有者は、特許商標庁の包袋または記録に掲載されるように特許文献または特許情報開示を誰でも複製できることに対して異議はないが、その他の点ではすべての如何なる著作権をも保有する。
【０００２】
発明の分野：
本発明は、概して、コンピュータシステムに関し、特定的には、ミドルウェアおよびアプリケーションの実行のためのエンジニアド・システム、またはミドルウェアマシン環境に関する。
【背景技術】
【０００３】
背景：
相互接続ネットワークは、次世代のスーパーコンピュータ、クラスタおよびデータセンタにおいて有益な役割を果たす。たとえば、インフィニバンド（ＩＢ：InfiniBand）技術が、クラウドコンピューティングファブリックのための基礎として広く展開されてきた。より大規模のクラウドコンピューティングアーキテクチャが導入されるのに応じて、従来のネットワークおよびストレージに関連付けられた性能および管理上の障害が重大な問題になった。
【０００４】
これは、発明の実施形態が対処するように意図された概略的な領域である。
【発明の概要】
【課題を解決するための手段】
【０００５】
概要：
この明細書中に記載されるシステムおよび方法は、ミドルウェアおよびアプリケーションの実行のためのエンジニアド・システムまたはミドルウェアマシン環境などのネットワーク環境においてデータサービスを提供することができる。当該システムは、ネットワーク環境におけるノード上にデータサービスコンポーネントを提供することができる。ネットワーク環境は、ネットワークファブリックを介して相互接続される複数のノードを含み得る。さらに、システムは、固有のパケット転送機構を用いて、ネットワークファブリック内のデータフローをノード上の上記データサービスコンポーネントに向けることができる。次いで、システムは、上記データサービスコンポーネントを用いて、ネットワークファブリックにおけるデータフロー内の１つ以上のデータパケットを処理することができる。加えて、上記データサービスコンポーネントはデータサービスを提供することができる。当該データサービスは、ソースおよび宛先のアプリケーションワークロードの両方に対してトランスペアレントであるソフトウェアファイアウォール（ＦＷＬ：firewall）サービスまたはトラフィックルーティングサービスであり得る。
【０００６】
システムおよび方法は、ネットワーク環境においてデータサービスを提供することができる。サブネットアドミニストレータは、ソースノードから経路記録レゾリューション要求を受取ることができる、この場合、ソースノードは、経路記録レゾリューション要求を用いて宛先ノードのアドレスを獲得する。さらに、サブネットアドミニストレータは、ソースノードに中間ノードのアドレスを提供することができる。この場合、中間ノードはデータサービスを提供する。次いで、ソースノードは、中間ノードのアドレスに基づいて、データフロー内の１つ以上のデータパケットを中間ノードに送信することができる。
【０００７】
システムおよび方法は、ネットワーク環境においてデータサービスアドレスレゾリューションをサポートすることができる。中間ノードは、ソースノードから着信データパケットを受取ることができる。この場合、着信データパケットは宛先ノードを対象とし、この着信データパケットは、宛先ノードのためのグローバル識別子および中間ノードのためのローカル識別子を含む。さらに、中間ノードは、宛先ノードのためのグローバル識別子に基づいて、宛先ノードについてのローカルアドレス指定情報を獲得することができる。次いで、中間ノードは、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて宛先ノードに発信データパケットを送信することができる。
【０００８】
システムおよび方法は、ネットワーク環境においてデータサービスを提供することができる。ネットワーク環境はノードを含み得る。当該ノードは、データサービスを提供することができるデータサービスコンポーネントをサポートする。加えて、フィルタは、ノードに関連付けられたホストチャネルアダプタ（ＨＣＡ：host channel adaptor）などのネットワーキングデバイス上に設けることができる。ネットワーキングデバイスは、フィルタを用いて、プロトコルを終了させることなくデータサービスコンポーネントを対象とする１つ以上のパケットを識別するように動作する。さらに、フィルタは、上記１つ以上のパケットをデータサービスコンポーネントに転送することができる。
【図面の簡単な説明】
【０００９】
【図１】発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためのデータサービス機器を提供する例を示す図である。
【図２】発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するための外部ネットワーク接続を用いる例を示す図である。
【図３】発明の実施形態に従った、ネットワーク環境においてバンプ・オン・ザ・ワイヤ（ＢｏＷ：bump on the wire）モードのためにデータサービスを提供する例を示す図である。
【図４】発明の実施形態に従った、ネットワーク環境においてソフトウェアファイアウォール（ＦＷＬ）を提供する例を示す図である。
【図５】発明の実施形態に従った、例示的なエンジニアド・システムの例を示す図である。
【図６】発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためにデータサービスを提供するための例示的なフローチャートである。
【図７】発明の実施形態に従った、ネットワーク環境におけるサブネットアドミニストレータ（ＳＡ：subnet administrator）の例を示すである。
【図８】発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するための制御フローをサポートする例を示す図である。
【図９】発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するためのデータフローをサポートする例を示す図である。
【図１０】発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためのデータフローを制御するための例示的なフローチャートである。
【図１１】発明の実施形態に従った、インフィニバンド（ＩＢ）アドレス指定を用いてネットワーク環境におけるデータサービスにアクセスするためのデータパケットフォーマットの例を示す図である。
【図１２】発明の実施形態に従った、ネットワーク環境において中間ノード上のデータパケットを処理する例を示す図である。
【図１３】発明の実施形態に従った、ネットワーク環境における接続管理をサポートする例を示す図である。
【図１４】発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためのデータサービスアドレスレゾリューションをサポートするための例示的なフローチャートである。
【図１５】発明の実施形態に従った、仮想環境においてデータサービスを提供するためのホストチャネルアダプタ（ＨＣＡ：host channel adaptor）フィルタリングをサポートする例を示す図である。
【図１６】発明の実施形態に従った、非仮想環境においてデータサービスを提供するためのホストチャネルアダプタ（ＨＣＡ）フィルタリングをサポートする例を示す図である。
【図１７】発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するためのＨＣＡフィルタリングをサポートするための例示的なフローチャートである。
【発明を実施するための形態】
【００１０】
詳細な説明：
この明細書中に記載されるシステムおよび方法は、ミドルウェアおよびアプリケーションの実行のためのエンジニアド・システム（またはミドルウェアマシン環境）において１つ以上のデータサービスを提供することができる。
【００１１】
［固有のデータを処理するためのデータサービス］
発明の実施形態に従うと、（データサービス機器および／またはデータサービスサーバなどの）データサービスコンポーネントは、ネットワーク環境、たとえばミドルウェアおよびアプリケーション実行のためのエンジニアド・システム（またはミドルウェアマシン環境）においてさまざまなタイプのデータサービスを提供することができる。
【００１２】
図１は、発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためのデータサービス機器を提供する例を示す図である。図１に示されるように、複数のノード（たとえば、ノードＡ１１１〜Ｄ１１４）は、ネットワーク環境１００において、たとえばインフィニバンド（ＩＢ：INFINIBAND）ファブリック１０１を介して、相互接続することができる。
【００１３】
さらに、ノードＣ１１３上に常駐するデータサービスコンポーネント１１０は、ＩＢファブリック１０１上のデータフローのためにさまざまなデータサービスを提供することができる。たとえば、ノードＡ１１１とノードＢ１１２との間のデータフローは、固有のデータフローであってもよい。この固有のデータフローは、中間ノードＣ１１３上のデータサービスコンポーネント１１０によって提供されるデータサービスにアクセスするかまたは当該データサービスを消費することができる。このため、ＩＢファブリック１０１における固有のデータは、ＩＢファブリック１０１から出力されることなく処理することができる。
【００１４】
発明の実施形態に従うと、データサービスコンポーネント１１０は、ネットワーク環境１００においてすべてのタイプのネットワークトラフィックを監視および検査するために使用することができるソフトウェアファイアウォール（ＦＷＬ）サービスを提供することができる。加えて、データサービスコンポーネント１１０は、ネットワーク環境においてトラフィックルーティングを実行するためなどの他の目的のために用いることができる。
【００１５】
さらに、データサービスコンポーネント（または複数のデータサービスコンポーネント）の複数のインスタンスは、高可用性（ＨＡ：high availability）を提供して性能を向上させるために同じＩＢファブリック１０１にデプロイ（deploy）することができる。図１に示されるように、別のデータサービスコンポーネント１２０は、ＩＢファブリック１０１上のノードＤ１１４上に常駐し得る。データサービスコンポーネント１１０およびデータサービスコンポーネント１２０はともに、同時にＩＢファブリック１０１上で実行することができる。
【００１６】
発明の実施形態に従うと、データサービスコンポーネントは、データサービスを提供することに特化され得るか、または、同じ物理マシンを他のアプリケーション仮想サーバと共有するように構成され得る。図１に示されるように、データサービスコンポーネント１１０をホストするノードＣ１１３は、アプリケーションサーバ１３０をホストしてもよい。このため、ノードＣ１１３は、さまざまなアプリケーションワークロードをサポートするために用いることができる。たとえば、ノードＣ１１３は、これらのアプリケーションワークロードを実行する仮想マシンをホストすることができる。他方で、データサービスコンポーネント１２０をホストするノードＤ１１４は、データサービスを提供することに特化され得る。
【００１７】
さらに、システムは、ネットワーク環境１００におけるさまざまなトポロジーコンフィギュレーション（topological configurations）をサポートすることができる。たとえば、ノードＣ１１３は、他のノード間における通信をサポートするための中間ノードとしての役割に加えて、ソースノードおよび宛先ノードの両方としての役割を果たすことができる。このため、単一のノードＣ１１３は、ソースワークロード、宛先ワークロードおよびデータサービス機器ワークロードを含むさまざまなタイプのワークロードをサポートすることができる。
【００１８】
発明の実施形態に従うと、システムは、仮想環境における仮想機器（すなわちデータサービス機器）としての仮想マシン（ＶＭ：virtual machine）においてデータサービスコンポーネント１１０または１２０をデプロイすることができる。代替的には、システムは、非仮想環境においてデータサービスサーバとしてノード上にデータサービス機器１１０または１２０を物理的にデプロイすることができる。
【００１９】
さらに、ＩＢファブリック１０１におけるトラフィックは、（たとえば、対象となるエンドポイントのレゾルブされたアドレスについての評価に基づいた）データ処理のために、選択的にデータサービスコンポーネント１１０または１２０に向けることができる。たとえば、データパケットは、固有のパケット転送機構のためのさまざまなルーティングアルゴリズムを用いて、ノードＣ１１３（またはノードＤ１１４）に向けることができる。また、ＩＢファブリック１０１におけるトラフィックは、ＶＭのレゾリューションに基づいて選択的にデータサービス機器に向けることができる。
【００２０】
図２は、発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するための外部ネットワーク接続を用いる例を示す図である。図２に示されるように、複数のノード、たとえばノードＡ２１１〜Ｂ２１２を、たとえばインフィニバンド（ＩＢ）ファブリック２０１を介して、ネットワーク環境２００において相互接続することができる。
【００２１】
発明の実施形態に従うと、データサービスサーバ２１０は、外部ネットワーク２０２（たとえば、外部イーサネット（登録商標）ネットワーク）に設けることができる。このような場合、データフローは、ＩＢファブリック２０１から出てから、外部ネットワーク２０２におけるデータサービスサーバ２１０によって処理され、その後ＩＢファブリック２０１に戻される必要があるかもしれない。
【００２２】
さらに、システムは、外部ネットワーク２０２におけるデータサービスサーバ２１０をＩＢファブリック２０１に接続するためのさまざまな機構を用いることができる。図２に示されるように、データサービスサーバ２１０は、イーサネットスイッチ２２０を介してＩＢファブリック２０１に接続されてもよい。代替的には、データサービスサーバ２１０は、ＩＢファブリック２０１上のノードＢ２１２へのイーサネットリンク２３０を介して、ＩＢファブリック２０１に接続されてもよい。
【００２３】
図３は、発明の実施形態に従った、ネットワーク環境においてバンプ・オン・ザ・ワイヤ（ＢｏＷ：bump on the wire）モードのためにデータサービスを提供する例を示す図である。図３に示されるように、ネットワーク環境３００においてさまざまなデータサービス（たとえば、ファイアウォールサービス）を提供することができるデータサービスサーバ３１１は、中間ノード３１０上に常駐することができる。
【００２４】
発明の実施形態に従うと、中間ノード３１０は、通信する二者（またはエンドポイント）間、たとえば、ノードＡ３０１とノードＢ３０２との間、に物理的に配置することができる。このため、ノードＡ３０１とノードＢ３０２との間のデータフローは、中間ノード３１０上のデータサービスサーバ３１１を介して強制的に渡される可能性がある。
【００２５】
加えて、中間ノード３１０は別のアプリケーションサーバ３１２を含み得る。このような場合、システムは、データフローにおけるどのデータパケットがデータサービスサーバ３１１によって処理されなければならないかを判断するために、逆フィルタリングルールを用いることができる。
【００２６】
図４は、発明の実施形態に従った、ネットワーク環境においてソフトウェアファイアウォール（ＦＷＬ）を提供する例を示す図である。図４に示されるように、複数のノード、たとえばノードＡ４１１〜Ｄ４１４は、ネットワーク環境４００において、たとえばインフィニバンド（ＩＢ）ファブリック４０１を介して相互接続することができる。
【００２７】
さらに、複数のソフトウェアＦＷＬ機器は、高可用性（ＨＡ）を提供して性能を向上させるためにＩＢファブリック４０１にデプロイすることができる。たとえば、ＦＷＬ４１０はノードＣ４１３上に常駐することができ、ＦＷＬ４２０はノードＤ４１４上に常駐することができる。
【００２８】
図４に示されるように、ＩＢファブリック４０１におけるノードＡ４１１とノードＢ４１２との間のトラフィックは、ＩＢファブリック４０１から出力されることなく、検査のためにＦＷＬ４１０に向けることができる。ＦＷＬ４１０は、ソースノードＡ４１１から受取られたデータパケットを宛先ノードＢ４１２に転送すべきかまたはデータパケットをドロップすべきかどうかを決定することができる。
【００２９】
発明の実施形態に従うと、ＦＷＬ４１０は、ＩＢファブリック４０１におけるさまざまなタイプのトラフィックを監視および検査することができる。たとえば、Ｏｒａｃｌｅ  Ｅｘａｌｏｇｉｃエンジニアド・システムにおけるＩＢトラフィックは、インターネット・プロトコル・オーバー・インフィニバンド（ＩＰｏＩＢ：internet protocol over INFINIBAND）トラフィックと、イーサネット・オーバー・インフィニバンド（ＥｏＩＢ：Ethernet over INFINIBAND）トラフィックと、プライベート・バーチャル・インターコネクト（ＰＶＩ：private virtual interconnect）トラフィックと、ソケット・ダイレクト・プロトコル（ＳＤＰ：sockets direct protocol）トラフィックと、ユーザ空間／リモートダイレクトメモリアクセス（ＲＤＭＡ：remote direct memory access）トラフィックとを含み得る。このようなトラフィックは、低信頼性データグラム（ＵＤ：unreliable datagram）トランスポートプロトコル、高信頼性接続（ＲＣ：reliable connection）トランスポートプロトコル、低信頼性接続（ＵＣ：unreliable connection）トランスポートプロトコル、高信頼性データグラム（ＲＤ：reliable datagram）トランスポートプロトコルおよび未加工トランスポートプロトコルなどのさまざまなトランスポートプロトコルに基づき得る。
【００３０】
図５は、発明の実施形態に従った、例示的なエンジニアド・システムの例を示す図である。図５に示されるように、例示的なエンジニアド・システム５００は、複数のスイッチＡ５０１〜Ｂ５０２を用いて相互接続されるノードＡ５１１〜Ｄ５１４などの複数のノードを含み得る。
【００３１】
発明の実施形態に従うと、ファイアウォール（ＦＷＬ）機器などのデータサービスコンポーネントは、高可用性（ＨＡ）をサポートしてエンジニアド・システム５００の性能を向上させるために対でデプロイすることができる。
【００３２】
図５に示されるように、アプリケーションサーバを含むアプリケーションＶＭ５４１はノードＡ５１１上にデプロイすることができ、別のアプリケーションサーバを含むアプリケーションＶＭ５４２はノードＢ５１２上にデプロイすることができる。加えて、ＦＷＬ機器を含むＦＷＬ  ＶＭ５４３はノードＣ５１３上にデプロイすることができ、別のＦＷＬ機器を含むＦＷＬ  ＶＭ５４４はノードＤ５１４上にデプロイすることができる。
【００３３】
さらに、ノードＡ５１１〜Ｄ５１４の各々は、１つ以上のホストチャネルアダプタ（ＨＣＡ：host channel adaptor）を用いてネットワークに接続することができる。たとえば、ノードＡ５１１はＨＣＡ  Ａ５２１を用い、ノードＢ５１２はＨＣＡ  Ｂ５２２を用い、ノードＣ５１３はＨＣＡ  Ｃ５２３を用い、ノードＤ５１４はＨＣＡ  Ｄ５２４を用いる。
【００３４】
図５に示されるように、ＨＣＡ  Ａ５２１〜Ｄ５２４の各々は２つのポート（たとえば、ポート１およびポート２）を有し得る。ネットワーク環境５００における高可用性（ＨＡ）をサポートするために、システムは、さまざまなスイッチＡ５０１およびＢ５０２を介してノードＡ５１１〜Ｄ５１４のためのさまざまなＨＣＡポートを接続することができる。
【００３５】
発明の実施形態に従うと、同じノード上のさまざまなＨＣＡポートは、各々のＦＷＬ  ＨＡ対におけるさまざまなメンバに独立して割当てることができる。たとえば、ＩＢサブネットにおけるサブネットアドミニストレータ（ＳＡ）は、ＦＷＬ宛先ローカル識別子（ＤＬＩＤ：destination local identifier）を割当てる際に、ＨＡの対を認識することができる。
【００３６】
図５に示されるように、ノードＡ５１１〜Ｄ５１４上のポート１のすべてをスイッチＡ５０１に接続することができ、ノードＡ５１１〜Ｄ５１４上のポート２のすべてをスイッチＢ５０２に接続することができる。このため、スイッチのうちの１つの上、たとえばスイッチＡ５０１上で障害が発生しても、（ノードＡ５１１〜Ｄ５１４間における）エンジニアド・システム５００におけるトラフィックは依然としてスイッチＢ５０２を介して送信することができ、ノードＤ５１４の上のファイアウォール（ＦＷＬ）機器はトラフィックを検査するために用いることができる（加えて、このようなスキームは、限定されることなく、１ノード当たり複数のＨＣＡの事例に一般化することができる）。
【００３７】
図６は、発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためにデータサービスを提供するための例示的なフローチャートである。図６に示されるように、ステップ６０１において、システムは、ネットワーク環境におけるノード上にデータサービスコンポーネントを提供することができる。この場合、ネットワーク環境は、ネットワークファブリックを介して相互接続された複数のノードを含む。次いで、ステップ６０２において、システムは、固有のパケット転送機構を用いて、ネットワークファブリック内のデータフローをノード上の上記データサービスコンポーネントに向けることができる。さらに、ステップ６０３において、システムは、上記データサービスコンポーネントを用いて、ネットワークファブリックにおけるデータフロー内の１つ以上のデータパケットを処理することができる。
【００３８】
［データフローの制御］
図７は、発明の実施形態に従った、ネットワーク環境におけるサブネットアドミニストレータ（ＳＡ）の例を示す。図７に示されるように、ＩＢファブリック７００は、サブネットアドミニストレータ（ＳＡ）７０１を含み得る。サブネットアドミニストレータ（ＳＡ）７０１は、ＩＢファブリック７００におけるさまざまなノード間の通信をサポートするために経路記録レゾリューション（ＰＲ：path record resolution）を提供することができる。たとえば、ＩＢプロトコルにおける経路記録などの経路記録は、アドレス情報と、（Ｐ＿Ｋｅｙ、Ｑ＿Ｋｅｙ、ＳＬ等々などの）ＩＢヘッダにおけるさまざまなフィールドに関連する他の情報とを含み得る。
【００３９】
加えて、システムは、さまざまなポリシー７２０でＳＡ７０１を構成するためのインターフェイス７１０を提供することができる。インターフェイス７１０は、コマンドラインインターフェイス（ＣＬＩ：command line interface）および／またはアプリケーションプログラムインターフェイス（ＡＰＩ：application programming interface）であってもよい。
【００４０】
発明の実施形態に従うと、ポリシー７２０は、宛先ノードに到着する前に、どのトラフィックをデータサービスノード（たとえばファイアウォール）を介して渡すべきであるかと、どのトラフィックを宛先ノードに直接転送することができるかと、を定義することができる。さらに、ポリシーは、ソースおよび宛先のグローバル識別子（ＧＩＤ：global identifier）に基づいて実現することができる。また、ポリシーは、アプリケーションレベルの差別化をもたらすサービスＩＤに基づいて実現することができる。加えて、ポリシーはＩＢパーティションに基づいて実現することができる。
【００４１】
たとえば、ユースケースがサポートし得るポリシーは、ミドルウェアマシンとクラスタデータベースマシンとの間のすべての通信がファイアウォールノードを通過することを必要とする。
【００４２】
加えて、ユースケースがサポートし得るポリシーは、特定のＰ＿Ｋｅｙに関連付けられている特定のＩＢパーティションを使用することを必要とする。たとえば、特定のＩＢパーティションは、すべてのアプリケーション層サーバとデータベースとの間におけるファイアウォール制御通信のためにのみ用いることができる。経路記録レゾリューション要求が特定のＩＢパーティションのコンテキスト内にある場合、ＳＡ７０１は、このポリシーを用いて、その経路上のすべてのパケットがファイアウォールを介してルーティングされるべきであることを示すことができる。
【００４３】
別のユースケースは、２つの独立したサブネットを含むＢｏＷデプロイメントのためのポリシーをサポートし得る。ＳＭは、単にファブリックトポロジーを調べるだけでは、２つの独立したサブネットにおけるソースと宛先との間の経路を発見することができないかもしれない。ポリシーを用いて、ソースと宛先との間の経路が特定のデータサービスコンポーネント内を通って延在することをＳＭに通知することができる。また、ＢｏＷデプロイメントが複数のＩＢパーティションを必要とする場合、各々のパーティションについてのＰ＿Ｋｅｙをポリシーで特定することができる。
【００４４】
図７に示されるように、ＳＡ７０１は、リクエスタ（たとえばソースノード）からＰＲ要求７１１を受取ることができる。ＳＡ７０１は、ポリシー７２０に従って宛先ローカルアドレス、たとえば宛先ローカル識別子（ＤＬＩＤ）、をレゾルブすることができる。次いで、ＳＡ７０１は、レゾルブされた宛先ローカルアドレスを含むＰＲ応答７１２をリクエスタに送信し返すことができる。これにより、ソースノードは、レゾルブされたＤＬＩＤに基づいて宛先ノードにデータパケットを送信することができる。
【００４５】
代替的には、ＳＡ７０１は、データパケットを宛先ノードに転送する前に、ソースノードが、データサービスコンポーネント（たとえば、ソフトウェアファイアウォール）を備えたデータサービスノードなどの中間ノードにデータパケットを向けるべきであると判断してもよい。ＳＡ７０１は、宛先ノードのためのＤＬＩＤの代わりに、データサービスノードのためのＤＬＩＤをソースノードに提供することができる。加えて、ＳＡ７０１は、データサービスコンポーネントの複数のインスタンスがネットワーク環境７００に存在する場合、どのデータサービスノードを用いなければならないかを判断することができる。
【００４６】
図８は、発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するための制御フローをサポートする例を示す図である。図８に示されるように、ネットワーク環境８００は、１つ以上のスイッチ、たとえばスイッチ８１０、を用いて相互接続される複数のノード、たとえばノードＡ８０１〜Ｄ８０４、を含み得る。
【００４７】
スイッチ８１０を用いて、ネットワーク環境８００におけるデータフローを方向付けることができる。スイッチ８１０は、サブネットアドミニストレータ（ＳＡ）８２０を含み得る。サブネットアドミニストレータ（ＳＡ）８２０は、さまざまなルールまたはポリシー、たとえばルール８３０、に基づいて経路記録レゾリューション動作を実行することができる。スイッチ８１０上の安全な環境において（または安全なノード上で）実行されるＳＡ８２０は、アドレスリゾリューションタスクを実行するためのさまざまな論理を実現することができる。
【００４８】
発明の実施形態に従うと、システムは、ＳＡポリシーに基づいて、ＩＢサブネット内にあり得るかまたは複数のＩＢサブネット間にあり得るさまざまな経路を介して通信を確立するためにＩＢパケット内のグローバルルーティングヘッダ（ＧＲＨ：global routing header）を利用することができる（ＧＲＨは、本来、さまざまなＩＢサブネット間における通信を確立するためのＩＢ規格で定義されたものである）。
【００４９】
たとえば、ＳＡ８２０は、経路記録レゾリューション応答におけるフィールド（たとえば、ＨｏｐＬｉｍｉｔフィールド）を用いて、ＩＢサブネット内における特定の経路を介して通信を確立するためにＧＲＨが必要になるかもしれないことをホストソフトウェアスタックに対して示すことができる。
【００５０】
図８に示されるように、ノードＡ８０１は、アプリケーションサーバを含むアプリケーションＶＭ  Ａ８１１をホストすることができる。アプリケーションＶＭ  Ａ８１１は、グローバル識別子（ＧＩＤ）８２１（たとえば、０×ＡＡＡＡ）とローカル識別子（ＬＩＤ）Ａ８３１（たとえば、０×Ａ）を備えたローカルポートとに関連付けることができる。さらに、ノードＢ８０２は、アプリケーションサーバを含むアプリケーションＶＭ  Ｂ８１２をホストすることができる。アプリケーションＶＭ  Ｂ８１２は、ＧＩＤ  Ｂ８２２（たとえば、０×ＢＢＢＢ）とＬＩＤ  Ｂ８３２（たとえば、０×Ｂ）を備えたローカルポートとに関連付けることができる。また、ノードＣ８０３は、アプリケーションサーバを含むアプリケーションＶＭ  Ｃ８１３をホストすることができる。アプリケーションＶＭ  Ｃ８１３は、ＧＩＤ  Ｃ８２３（たとえば、０×ＣＣＣＣ）とＬＩＤ  Ｃ８３３（たとえば、０×Ｃ）を備えたローカルポートとに関連付けることができる。
【００５１】
加えて、ネットワーク環境８００は、データサービスＶＭ  Ｄ８１４をホストすることができるデータサービスノードＤ  ８０４を含み得る。データサービスＶＭ８１４は、ＧＩＤ  Ｄ８２４（たとえば、０×ＤＤＤＤ）とローカル識別子Ｄ８３４（たとえば、０×Ｄ）を備えたローカルポートとに関連付けることができる。加えて、データサービスノードＤ８０４は、データサービスＶＭ８１４に加えて、１つ以上のアプリケーションＶＭをホストすることができる。
【００５２】
図８に示されるように、ネットワーク環境８００におけるＩＢファブリック内において、（実線で示される）送信済みデータパケットを含むデータフローは、スイッチ８１０によって提供されるような標準的なＬＩＤベースの転送特徴に基づき得る。加えて、（破線で示される）さまざまな制御情報を含む制御フローは、ＳＡ８２０によって提供されるようなアドレスリゾリューション特徴に基づき得る。
【００５３】
たとえば、一組の例示的なルール８３０は以下のテーブルにおいて定義することができる。
【００５４】
０×ＡＡＡＡ−０×ＢＢＢＢ−＞０×Ｄ
０×ＣＣＣＣ−０×ＢＢＢＢ−＞０×Ｂ
０×ＤＤＤＤ（０×ＡＡＡＡ）−０×ＢＢＢＢ−＞０×Ｂ
上述のテーブルに示されるように、第１のルールは、ＧＩＤ０×ＡＡＡＡを備えたＶＭから生じ、ＧＩＤ０×ＢＢＢＢを備えたＶＭを対象としているすべてパケットが、ＤＬＩＤ０×Ｄとともに送信されるべきであることを定義する。第２のルールは、ＧＩＤ０×ＣＣＣＣを備えたＶＭから生じ、ＧＩＤ０×ＢＢＢＢを備えたＶＭを対象としているすべてパケットが、ＤＬＩＤ０×Ｂとともに送信されるべきであることを定義する。第３のルールは、（０×ＡＡＡＡから生じ）ＧＩＤ０×ＤＤＤＤを備えたＶＭから送信され、ＧＩＤ０×ＢＢＢＢを備えたＶＭを対象としているすべてパケットが、ＤＬＩＤ０×Ｂとともに送信されるべきであることを定義する。
【００５５】
図８に示されるように、ノードＡ８０１は、スイッチ８１０上のＳＡ８２０に対してＰＲ要求８４１を送信することによって、ノードＢ８０２へのデータフローを開始することができる。サブネットアドミニストレータ８２０がノードＡ８０１からＰＲ要求８４１を受取った後、ＳＡ８２０は、上述のテーブルにおける第１のルールに従ってＰＲ要求８４１を処理し、ノードＡ８０１にＰＲ応答８４２を送信することができる。ＰＲ応答８４２は、ＬＩＤ０×Ｄを用いて識別することができるローカルポートを有するデータサービスノードＤ８０４にデータパケットを向ける必要があることを示し得る。
【００５６】
次いで、ソースノードＡ８０１は、データサービスノードＤ８０４にデータフロー８５１を向けることができる。受取ったデータフロー８５１をデータサービスノードＤ８０４が処理した後、データサービスノードＤ８０４はＳＡ８２０にＰＲ要求８４３を送信することができる。ＳＡ８２０は、さらに、ノードＢ８０２の実アドレスを含むＰＲ応答８４４を返送することができる。こうして、データサービスノードＤ８０４は、データフロー８５２を宛先ノードＢ８０２に向けることができる。代替的には、データサービスノードＤ８０４は、受取ったパケットをドロップすると決定してもよい。
【００５７】
また、図８に示されるように、ＳＡ８２０は、データフロー８５３をノードＣ８０３から、データサービスノードＤ８０４をバイパスするノードＢ８０２にまで直接方向付けることができる。この例においては、ノードＣ８０３は、最初に、ＰＲ要求８４５をＳＡ８２０に送信することができる。次いで、ＳＡ８２０は、ＰＲ応答８４６でノードＢ８０２の実アドレスを返送することができる。
【００５８】
発明の実施形態に従うと、データサービスノードＤ８０４は、他の機構を用いて、宛先ＬＩＤへの宛先ＧＩＤのマッピングを行うことができるが、これに限定されない。たとえば、データフローおよび制御フローはともに、ＬＩＤ転送特徴に基づき得るか、または、データフローおよび制御フローはともに、サブネットアドミニストレータ（ＳＡ）８２０によって実施されるようなアドレス指定方式に基づき得る。
【００５９】
さらに、ＶＭが複数のＩＢパーティションのメンバである場合、さまざまな転送ルールを、（たとえばさまざまなＰ＿Ｋｅｙｓに基づいて）さまざまなＩＢパーティションのために定義することができる。これにより、いくつかのＩＢパーティション上のトラフィックを宛先に直接ルーティングすることができ、他のＩＢパーティション上のトラフィックをデータサービス機器にルーティングしなければならないかもしれない。
【００６０】
図９は、発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するためのデータフローをサポートする例を示す図である。図９に示されるように、ネットワーク環境９００におけるノードＡ９０１〜Ｂ９０２は中間ノード９１０を介して互いに通信することができる。
【００６１】
ホストチャネルアダプタ（ＨＣＡ）９２１に関連付けられるノードＡ９０１は、アプリケーションサーバをホストするアプリケーション仮想マシン（ＶＭ）９１１を含む。さらに、ホストチャネルアダプタ（ＨＣＡ）９２２に関連付けられるノードＢ９０２は、別のアプリケーションサーバをホストするアプリケーションＶＭ９１２を含む。
【００６２】
加えて、ホストチャネルアダプタ（ＨＣＡ）９４０に関連付けられる中間ノード９１０は、データサービスＶＭ９３１およびアプリケーションＶＭ９３２を含み得る（すなわち、データサービスＶＭ９３１およびアプリケーションＶＭ９３２は同じ物理マシンを共有する）。データサービスＶＭ９３１はデータサービスコンポーネントをホストすることができ、アプリケーションＶＭ９３２はアプリケーションサーバをホストすることができる。
【００６３】
ノードＡ９０１とノードＢ９０２との間の直通的通信を防止するために、システムは、中間ノード９１０をパーティションの完全なメンバとして許可しながらも、ノードＡ９０１およびノードＢ９０２の両方をＩＢファブリックにおけるパーティションの限られたメンバとして構成することができる。
【００６４】
図９に示されるように、ノードＡ９０１からのデータフローを、送信（Ｔｘ）待ち行列対（ＱＰ：queue pair）９５１を用いて、アプリケーションＶＭ９１１によって開始することができる。さらに、ＳＡから受取ったＰＲ応答に基づき、ノードＡ９０１は、中間ノード９１０上の受信（Ｒｘ）待ち行列対（ＱＰ）９５４にデータパケットを送信することができる。これにより、中間ノード９１０上のデータサービスＶＭ９３１は、Ｒｘ  ＱＰ９５４を介してノードＡ９０１からデータパケットを受取ることができる。
【００６５】
次いで、データサービスＶＭ９３１におけるデータサービスコンポーネントは着信データフローを処理することができる。たとえば、データサービスＶＭ９３１は、着信データフローを調べることによってファイアウォールサービスを提供することができ、疑わしいデータパケットをドロップすることができる。加えて、データサービスＶＭ９３１は、スニッフィング、性能監視およびロードバランシングなどの他のデータサービスを提供することができる。
【００６６】
データ処理を完了した後、データサービスＶＭ９３１は、（たとえば、標準的なＬＩＤベースの切換えに基づいて）Ｔｘ  ＱＰ９５３からノードＢ９０２上のＲｘ  ＱＰ９５８に発信データパケットを送信することができる。これにより、アプリケーションＶＭ９１２は、データフロー内のデータパケットを受取ることができる。
【００６７】
さらに、ノードＢ９０２の上のアプリケーションＶＭ９１２は、中間ノード９１０を介して、ノードＡ９０１上のアプリケーションＶＭ９１１にリターンパケットを送り返すことができる。図９に示されるように、リターンデータフローは、ノードＢ９０２上のＴｘ  ＱＰ９５７から開始することができ、中間ノード９１０上のＲｘ  ＱＰ９５４およびＴｘ  ＱＰ９５３を介して、ノードＡ９０１上のＲｘ  ＱＰ９５２で終了する。こうして、ノードＡ９０１上のアプリケーションＶＭ９１１はノードＢ９０２からリターンパケットを受取ることができる。
【００６８】
加えて、中間ノード９１０上に位置するアプリケーションＶＭ９３２は、データサービスＶＭ９３１によって、（たとえばＴｘ  ＱＰ９５５を介して）他のノードに１つ以上のデータパケットを送信することができる。また、アプリケーションＶＭ９３２は、（たとえば、Ｒｘ  ＱＰ９５６を介して）他のノードから１つ以上のデータパケットを受取ることができる。さらに、アプリケーションＶＭ９３２は、ポリシー構成に応じて、１つ以上のデータパケットを他のノードに送信し、および／または、他のノードから直接１つ以上のデータパケットを受信して、データサービス９３１をバイパスすることができる。
【００６９】
発明の実施形態に従うと、中間ノード９１０上のデータサービスＶＭ９３１におけるデータフローの処理は、ソースノードＡ９０１および宛先ノードＢ９０２の両方に対してトランスペアレントであり得る（すなわち、ノードＡ９０１は、実際には、それがデータをノードＢ９０２に直接送信すると「考えてもよい」）。
【００７０】
さらに、データサービスＶＭ９３１におけるデータサービスコンポーネント（たとえば、ソフトウェアファイアウォール）は、分散型仮想ソフトウェア機器であってもよい。ネットワーク環境９００における他のノードは、中間ノード９１０と、データサービスＶＭ９３１におけるデータサービス機器との存在を認識していない可能性がある。
【００７１】
図１０は、発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためのデータフローを制御するための例示的なフローチャートである。図１０に示されるように、ステップ１００１において、サブネットアドミニストレータ（ＳＡ）は、ソースノードから経路記録レゾリューション要求を受取ることができる。この場合、ソースノードは、経路記録レゾリューション要求を用いて宛先ノードのアドレスを獲得する。次いで、ステップ１００２において、ＳＡは、中間ノードのアドレスをソースノードに提供することができる。この場合、中間ノードはデータサービスを提供する。さらに、ステップ１００３において、ソースノードは、中間ノードのアドレスに基づいて中間ノードに１つ以上のデータパケットを送信することができる。
【００７２】
［データサービスアドレス指定］
図１１は、発明の実施形態に従った、ネットワーク環境においてデータサービスにアクセスするためにインフィニバンド（ＩＢ）アドレス指定を用いるデータパケットフォーマットの例を示す図である。図１１に示されるように、ＩＢサブネット１１００は、複数の物理的な（または仮想の）ノード１１０１〜１１０３およびサブネットアドミニストレータ（ＳＡ）１１２０を含み得る。ソースノード１１０１は、中間ノード１１０２を介して、宛先ノード１１０３にパケット（たとえば、ＩＢパケット１１１０）を送信することができる。
【００７３】
ＩＢパケット１１１０は、ＩＢプロトコルに応じてペイロード１１１４およびさまざまなヘッダを含み得る。これらのヘッダは、グローバルルーティングヘッダ（ＧＲＨ）１１１１、ローカルルーティングヘッダ（ＬＲＨ：local routing header）１１１２および他のヘッダ１１１３を含み得る。加えて、ＩＢパケット１１１０には、さまざまな巡回冗長検査（ＣＲＣ：cyclic redundancy check）１１１５を適用することができる。
【００７４】
発明の実施形態に従うと、システムは、ＩＢサブネット１１００におけるデータサービスアドレス指定をサポートするために、ＧＲＨ１１１１における宛先グローバル識別子（ＤＧＩＤ）１１２１およびＬＲＨ１１１２における宛先ローカル識別子（ＤＬＩＤ）１１２２を利用することができる。
【００７５】
たとえば、システムは、ＩＢパケット１１１０におけるＤＬＩＤ１１２２を（宛先ノード１１０３のためのＤＬＩＤの代わりに）中間ノード１１０２のためのＤＬＩＤに設定することができる。ＩＢサブネット１１００内では、ＩＢパケット１１１０は、ＳＡ１１２０によってレゾルブされるようにＤＬＩＤ１１２２に基づいて中間ノード１１０２にルーティングすることができる。これにより、ＩＢパケット１１１０は、中間ノード１１０２上に提供されるデータサービスを用いて処理することができる。
【００７６】
さらに、システムは、ＧＲＨ１１１１におけるＤＧＩＤ１１２１を用いて、宛先ノード１１０３についてのＤＬＩＤを示すことができる。これにより、中間ノード１１０２におけるデータサービスソフトウェアは、ＧＲＨ１１１１におけるＤＧＩＤ１１２１情報に基づいて、宛先ノード１１０３についての真のＤＬＩＤをレゾルブする（または獲得する）ことができる。
【００７７】
発明の実施形態に従うと、中間ノード１１０２は、必要に応じて、追加のパケットヘッダ１１１３および／またはペイロード１１１４の変更を実行することができる。たとえば、ファブリックレベルアクセス制御は、ソースノード１１０１および宛先ノード１１０３が、関連するパーティションの限られたメンバとなるかまたは同じパーティションのメンバとはならないように設定することができる。このような場合、中間ノード１１０２は、変更済みのパケットを宛先ノード１１０３に転送する前に、ＩＢパケット１１１０におけるＰ＿Ｋｅｙ値を変更する必要があるかもしれない。
【００７８】
図１２は、発明の実施形態に従った、ネットワーク環境において中間ノード上のデータパケットを処理する例を示す図である。図１２に示されるように、ＩＢサブネット１２００における中間ノード１２１０は、ソースノードから１つ以上のデータパケット（たとえば、着信ＩＢパケット１２０１）を受取ることができる。
【００７９】
着信ＩＢパケット１２０１は、他の区域１２１３に加えて、グローバルルーティングヘッダ（ＧＲＨ）１２１１およびローカルルーティングヘッダ（ＬＲＨ）１２１２を含んでもよい。たとえば、ＧＲＨ１２１１は、宛先ノードについての宛先グローバル識別子（ＤＧＩＤ）１２３１、たとえば０×ＢＢＢＢ、を含み得る。ＬＲＨ１２１２は、中間ノード１２１０についての宛先ローカル識別子（ＤＬＩＤ）１２３２、たとえば０×Ｆ、を含み得る。
【００８０】
さらに、中間ノード１２１０は、着信ＩＢパケット１２０１を検査することができるファイアウォールサービスなどのデータサービスを提供することができる。データサービスを用いて着信ＩＢパケット１２０１を処理した後、中間ノード１２１０は、（着信ＩＢパケット１２０１におけるＤＧＩＤ１２３１に示されるように）宛先ノードに発信ＩＢパケット１２０２を送信することができる。代替的には、中間ノード１２１０は、パケット１２０３をドロップすると決定してもよい。
【００８１】
図１２に示されるように、発信ＩＢパケット１２０２は、他の区域１２２３に加えて、ＧＲＨ１２２１およびＬＲＨ１２２２を含み得る。ＧＲＨ１２２１は、宛先ノードのためのＤＧＩＤ１２４１を含み得る。ＬＲＨ１２２２は、宛先ノードのためのＤＬＩＤ１２４２を含み得る。
【００８２】
発明の実施形態に従うと、経路記録キャッシュ１２２０を用いて、宛先ノードのための真のＤＬＩＤをレゾルブすることができ、この真のＤＬＩＤを用いて、サブネット１２００内の宛先ノードに発信ＩＢパケット１２０２を向けることができる。
【００８３】
経路記録キャッシュ１２２０は、ＩＢサブネット１２００におけるさまざまなノード上に存在し得る。ＳＡは、経路記録キャッシュ１２２０の挙動を連係させることができる。これにより、ＳＡは、さまざまな要求のために中間ノード１２１０上のデータサービスアドレスまたは宛先ノード上の宛先アプリケーションアドレスを返送することができる。
【００８４】
加えて、経路記録キャッシュ１２２０はアドレスマッピングテーブルを利用することができる。以下は例示的なアドレスマッピングテーブルである。
【００８５】
ＤＧＩＤ＝０×ＢＢＢＢ−＞ＤＬＩＤ＝０×Ｂ
ＤＧＩＤ＝０×ＣＣＣＣ−＞ＤＬＩＤ＝０×Ｃ
ＤＧＩＤ＝０×ＡＡＡＡ−＞ＤＬＩＤ＝０×Ａ
図１２に示されるように、ＧＲＨ１２１１におけるＤＧＩＤ１２３１は、経路記録キャッシュ１２２０に基づいて真の宛先ＤＬＩＤ１２４２をレゾルブするためにデータサービスソフトウェアによって用いることができる。たとえば、着信パケット１２０１は、「ＤＧＩＤ＝０×ＢＢＢＢ」および「ＤＬＩＤ＝０×Ｆ」のヘッダ情報を含み得る。上述のアドレスマッピングテーブルにおける第１のルールを適用して、中間ノード１２１０は、「ＤＧＩＤ＝０×ＢＢＢＢ」および「ＤＬＩＤ＝０×Ｂ」のヘッダ情報を含むように発信パケットを更新することができる。
【００８６】
さらに、中間ノード１２１０は、受取られたパケット１２０１における基本トランスポートヘッダ（ＢＴＨ：basic transport header）のフィールドであるＰ＿Ｋｅｙ値を処理する必要があるかもしれない。なぜなら、両方のエンドノードが、対応するパーティションの限られたメンバとして構成される可能性があるからである。たとえば、ソースノードによって送信されるパケットは、（最上位ビット（ＭＳＢ：most significant bit）クリアとして構成される）限定されたＰ＿Ｋｅｙを有してもよい。中間ノード１２１０は、パケットを宛先ノードに送信する前に、この限られたＰ＿Ｋｅｙを（最上位ビット（ＭＳＢ）セットとして構成される）完全なＰ＿Ｋｅｙに変更する必要があるかもしれない。
【００８７】
加えて、中間ノード１２１０は、ＱＰ数、Ｑ＿Ｋｅｙ値などの他のトランスポートレベルアドレス情報のためにマッピングを提供することができる。たとえば、中間ノード１２１０は、（ソースＱＰ数およびソースノードによって識別することができる）送信機ノードから１つ以上のデータパケットを受取るためにローカルなＱＰ数を用いることができる。さらに、中間ノード１２１０は、ソースノードおよび宛先ノードがともに、（リモートエンドノードによって定義されるのではなく）中間ノード１２１０上のデータサービスによって定義されるものとしてトランスポートレベルアドレス情報を確実に識別することができるように、受取ったパケットを変更することができる。
【００８８】
これにより、中間ノード１２１０は、どのトランスポートレベルリソースがエンドノード間において露出されるかを制御することができる。また、中間ノード１２１０は、性能を最適化して、さまざまな対のエンドノード間におけるさまざまなデータフロー上にさまざまなサービス品質（ＱｏＳ：qualify of service）を提供するために、ローカルハードウェアによって実現されるローカルＱＰを利用することができる。
【００８９】
図１３は、発明の実施形態に従った、ネットワーク環境において接続管理をサポートする例を示す図である。図１３に示されるように、ＩＢサブネット１３００におけるソースノード１３０１および宛先ノード１３０２は、中間ノード１３１０を介して互いに通信することができる。
【００９０】
たとえば、ＩＢパケット１３１１は、ソースノード１３０１から中間ノード１３１０に転送することができる。着信ＩＢパケット１３１１は、グローバルルーティングヘッダ（ＧＲＨ）１３１７、ローカルルーティングヘッダ（ＬＲＨ）１３１３および他のトランスポートレベルアドレス情報１３１５を含み得る。加えて、ＩＢパケット１３１１には、可変巡回冗長検査（ＣＲＣ）１３２１および不変巡回冗長検査（ＣＲＣ）１３２３を適用することができる。
【００９１】
さらに、中間ノード１３１０はデータサービスを提供することができる。次いで、データサービスを用いて着信ＩＢパケット１３１１を処理した後、中間ノード１３１０は、発信ＩＢパケット１３１２を宛先ノード１３０２に転送することができる。ＩＢパケット１３１２は、グローバルルーティングヘッダ（ＧＲＨ）１３１８、ローカルルーティングヘッダ（ＬＲＨ）１３１４および他のトランスポートレベルアドレス情報１３１６を含み得る。加えて、ＩＢパケット１３１２には、可変巡回冗長検査（ＣＲＣ）１３２２および不変巡回冗長検査（ＣＲＣ）１３２４を適用することができる。
【００９２】
発明の実施形態に従うと、ソースノード１３０１と宛先ノード１３０２とは、パーティショニングおよび／または他のＩＢファブリックレベルアクセス制御技術を用いて分離することができる。
【００９３】
中間ノード１３１０は、ソースノード１３０１と宛先ノード１３０２との間のトラフィックをすべて観察することができる。中間ノード１３１０は、ソースノード１３０１と宛先ノード１３０２との間で交換された管理データグラム（ＭＡＤ：management datagram）などの通信管理動作をすべて識別することができる。また、中間ノード１３１０は、アドレスリゾリューションプロトコル（ＡＲＰ：address resolution protocol）動作などのさまざまなブロードキャスト／マルチキャストベースのアドレスリゾリューション動作を識別することができる。
【００９４】
発明の実施形態に従うと、中間ノード１３１０は、パケットタイプに応じて、観察された通信に基づいてさまざまな方法で、受取ったＩＢパケット１３１１を処理することができる。
【００９５】
たとえば、発信パケット１３１２は、ＬＲＨ１３１４だけが変更されている以外は着信ＩＢパケット１３１１と似ている。このような場合、システムは、単にパケット可変ＣＲＣ１３２２を再演算するだけでよいかもしれない。他方で、発信パケット１３１２のための不変ＣＲＣ１３２４は、着信ＩＢパケット１３１１における不変ＣＲＣ１３２２と同じままで残されていてもよい。このため、元の送信機（たとえば、ソースノード１３０１）によって生成される不変ＣＲＣ１３２２は、最後の受信機（たとえば、宛先ノード１３０２）至るまでずっとデータパケットを保護することができる。中間ノード１３１０は、スイッチと同様にエンド・ツー・エンドのパケットインテグリティを保証することができる。
【００９６】
代替的には、中間ノード１３１０は、ＩＢパケット１３１１におけるトランスポートレベルアドレス情報１３１５などの他のヘッダ情報を変更してもよく、場合によっては、ＩＢパケット１３１１におけるＩＢパケットペイロードを変更してもよい。
【００９７】
たとえば、Ｐ＿Ｋｅｙまたは他のいずれかのトランスポートヘッダ情報１３１５が変更される場合、中間ノード１３１０は新しい不変ＣＲＣ１３２４を生成する必要があるかもしれない。このような場合、システムは、完全に独立したパケットインテグリティの保護スキームを有することができ、このため、ＩＢサブネット１３００内におけるソースノード１３０１と宛先ノード１３０２との間において、もはや、エンド・ツー・エンド保護を提供しない可能性がある。
【００９８】
また、中間ノード１３１０は、Ｐ＿Ｋｅｙを考慮に入れるようにインクリメンタル不変ＣＲＣ更新（incremental invariant CRC update）を実行することができる。Ｐ＿Ｋｅｙの値は、パケットにおいて直接変更されるかまたは（作業要求などの）制御インターフェイスを介して変更される。これにより、中間ノード１３１０は、ＩＢペイロードのデータインテグリティ特徴を維持することができ、ＨＣＡ１５１０は、２つのエンドポイント間における分離をサポートするためにＩＢ  Ｐ＿Ｋｅｙの変更を許可する。
【００９９】
発明の実施形態に従うと、システムは、中間ノード１３１０において新しい不変ＣＲＣ１３２４を生成することによって生じる可能性のあるビットエラーのリスクを最小限にするために、関連するバッファおよびデータ経路を保護するための別個のビットエラー保護スキームを採用することができる。また、システムは、エンド・ツー・エンドのデータインテグリティを保護するために、付加的なチェックサムに基づいたさまざまなエンド・ツー・エンドプロトコルを利用することができる。
【０１００】
図１４は、発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためのデータサービスアドレスレゾリューションをサポートするための例示的なフローチャートである。図１４に示されるように、ステップ１４０１において、中間ノードは、ソースノードから着信データパケットを受取ることができる。着信データパケットは、宛先ノードを対象としており、着信データパケットは、宛先ノードのためのグローバル識別子および中間ノードのためのローカル識別子を含む。次いで、ステップ１４０２において、中間ノードは、宛先ノードのためのグローバル識別子に基づいて宛先ノードについてのローカルアドレス指定情報を獲得することができる。さらに、ステップ１４０３において、中間ノードは、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、宛先ノードに発信データパケットを送信することができる。
【０１０１】
［ホストチャネルアダプタ（ＨＣＡ）フィルタリング］
図１５は、発明の実施形態に従った、仮想環境においてデータサービスを提供するためのホストチャネルアダプタ（ＨＣＡ）フィルタリングをサポートする例を示す図である。図１５に示されるように、ネットワーク環境１５００におけるデータサービスノード１５０１は、ネットワーク接続のために、ホストチャネルアダプタ（ＨＣＡ）１５１０などのネットワーク接続素子を用いることができる。
【０１０２】
データサービスノード１５０１は、アプリケーションサーバ１５０４を含むアプリケーションＶＭ１５０２と、データサービスコンポーネント（たとえば、データサービス機器１５０５）を含むデータサービスＶＭ１５０３とを含み得る。さらに、データサービスノード１５０１は混合データフローを受取ることができる。混合データフロートラフィックは、アプリケーションＶＭ１５０２またはデータサービスＶＭ１５０３を対象としてもよい。
【０１０３】
図１５に示されるように、データサービスノード１５０１は、待ち行列対（ＱＰ）１５１１〜１５１９に関連付けることができる。アプリケーションＶＭ１５０２は、待ち行列対（ＱＰ）１５１１〜１５１３に関連付けることができ、データサービスＶＭ１５０３は、受信（Ｒｘ）待ち行列対（ＱＰ）１５１４〜１５１６および送信（Ｔｘ）ＱＰ１５１７〜１５１９に関連付けることができる。
【０１０４】
発明の実施形態に従うと、データサービスノード１５０１は、ＨＣＡ１５１０を用いてフィルタ能力を提供することができる。また、ＨＣＡ１５１０は、フィルタをプログラムするためにさまざまなインターフェイスを提供することができる。
【０１０５】
たとえば、ＨＣＡ１５１０は、ＬＩＤベースのフィルタリングを用いて仮想機器をサポートすることができる。この場合、標準プロトコル終端部分のためのＨＣＡポートは、標準ＬＩＤ／ＬＭＣで構成することができ、ファイアウォールのためのＨＣＡポートには１つ以上のさまざまなＬＩＤを割当てることができる。代替的には、ＨＣＡ１５１０は、逆論理を適用することができる。すなわち、標準的なＬＩＤ範囲内に収まらない着信ＩＢパケットはいずれもファイアウォールに向けられ得る。
【０１０６】
図１５に示されるように、ＨＣＡ１５１０は、受信（Ｒｘ）フィルタ１５０８を含み得る。受信（Ｒｘ）フィルタ１５０８は、プロトコルを終了させることなく、データサービス機器１５０５を対象とするパケットを識別することができる。これにより、ＨＣＡ１５１０は、アプリケーションサーバ１５０４を対象とするデータフロートラフィックから、データサービスコンポーネント１５０５を対象とするデータフロートラフィックを分離することができる。
【０１０７】
たとえば、Ｒｘフィルタ１５０８は、（たとえば、ＤＬＩＤベースのフィルタリングを用いて）データサービスＤＬＩＤに基づいて混合データフロートラフィックを分離することができる。Ｒｘフィルタ１５０８は、データサービスＤＬＩＤテーブル１５０９に関連付けることができる。以下は例示的なデータサービスＤＬＩＤテーブルである。
【０１０８】
ＤＬＩＤ＝０×Ｆ
ＤＬＩＤ＝０×ＦＦ
着信パケットが一致するＤＬＩＤ（たとえば、０×Ｆまたは０×ＦＦ）を有する場合、Ｒｘフィルタ１５０８は、ＱＰ１５１４〜１５１６を介して、データサービスＶＭ１５０３上のデータサービスコンポーネント１５０５にパケットを向けることができる。ＨＣＡ１５１０は、これらのパケットを未処理のパケットとして処理することができ、それらパケットが受取られる（すなわち、ＩＢヘッダをすべて含む）ときにこれらの着信パケットを転送することができる。
【０１０９】
他方では、着信パケットが一致するＤＬＩＤを有さない場合（すなわち０×Ｆおよび０×ＦＦ以外のＤＬＩＤを備えた）、Ｒｘフィルタ１５０８は、アプリケーションＶＭ１５０２上のアプリケーションサーバ１５０４に着信パケットを向けることができ、この動作はＩＢプロトコルエンジン１５０６を用いて、ＩＢプロトコルに従ってＩＢパケットを処理することができる。
【０１１０】
代替的には、Ｒｘフィルタ１５０８は、着信パケットにおけるＧＲＨ内のＤＧＩＤ情報を用いて、パケットをどこに転送するかを判断することができる。着信パケットが一致するＤＧＩＤを有する場合、Ｒｘフィルタ１５０８は、データサービスＶＭ１５０３上のデータサービスコンポーネント１５０５にパケットを向けることができる。着信パケットが一致するＤＧＩＤを有さない場合、Ｒｘフィルタ１５０８は、アプリケーションＶＭ１５０２上のアプリケーションサーバ１５０４にパケットを向けることができ、この動作は、ＩＢプロトコルエンジン１５０６を用いて、ＩＢプロトコルに従ってＩＢパケットを処理することができる。
【０１１１】
加えて、Ｒｘフィルタ１５０８は、反転フィルタリング（またはリバースフィルタリング）に基づき得る。たとえば、反転フィルタリングは、バンプ・オン・ザ・ワイヤ（ＢＯＷ）のユースケースにおいて（すなわち、データサービスノード１５０１が２つの通信ノードを分離する場合に）有益になり得る。
【０１１２】
このような場合、ＨＣＡ１５１０は、その標準ポートＬＩＤ構成を用いて、アプリケーションＶＭ１５０２を対象とするパケットを識別することができる。ＨＣＡ１５１０は、ＩＢ標準定義に従ってこれらのパケットを処理することができる。さらに、ＨＣＡ１５１０は、データサービスコンポーネント１５０５を対象として他のすべてのパケットを処理することができる。
【０１１３】
発明の実施形態に従うと、ＨＣＡ１５１０は、（たとえば、複数のスレッド１５３１〜１５３３を用いる）並列処理を可能にするために、Ｒｘ  ＱＰ１５１４〜１５１６などの複数の待ち行列対（ＱＰ）にわたってトラフィックを分散させることができる。
【０１１４】
たとえば、ＨＣＡ１５１０は、複数の待ち行列対（ＱＰ）１５１４〜１５１６にわたってトラフィックを分散させることができる受信側スケーリング（ＲＳＳ：receive side scaling）フィルタ１５０７を利用することができる。データサービスコンポーネント１５０５は、ＱＰ１５１４〜１５１６に到着するパケットを処理するためにさまざまなスレッド１５３１〜１５３３を割付けることができる。加えて、上記ＱＰ１５１４〜１５１６は、ノード上のオペレーティングシステムをバイパスするデータサービスコンポーネント１５０５に対して、直接、ハードウェアインターフェイスを露出させてもよい。
【０１１５】
さらに、データ処理用のオーバーヘッドを最小限にするために、ＲＳＳフィルタ１５０７は、同じデータフローから受取られたさまざまなパケットを単一のデータサービススレッドに向けることができる。代替的には、ＨＣＡ１５１０は、他のハッシュベースのフィルタまたは他のタイプのフィルタを用いて、複数の待ち行列対（ＱＰ）１５１４〜１５１６にわたってトラフィックを分散させて、並列処理を可能にすることができる。加えて、ＨＣＡ１５１０は、コア類似性に従ってデータフローを方向付けることができ、データフロー内でパケットの順序を保持することができる。
【０１１６】
次いで、データサービスコンポーネント１５０５、たとえばソフトウェアＦＷＬサービスは、ＤＬＩＤ情報を含むＩＢヘッダを変更する、ならびに／または、フィルタリングおよび監視の目的でパケットヘッダおよび／もしくはペイロードを検査するなどして、着信データパケットを処理することができる。
【０１１７】
発明の実施形態に従うと、ＨＣＡ１５１０は、ローモードパケットの転送をサポートすることができる。受信側では、ＨＣＡ１５１０は、ＣＲＣを確認することができ、ＩＢプロトコルを終了させることなく複数のアプリケーションレベルＱＰに（すべてのＩＢヘッダとともに）パケットをローフォーマットで転送することができ、ＲＳＳ１５０７フィルタを用いて負荷を複数の受信待ち行列（ＲＱ）に分散させることができる。送信側では、データサービスコンポーネント１５０５によって処理されたパケットは、たとえばＱＰ１５１７〜１５１９を介して、ローフォーマットでＨＣＡ１５１０にサブミットすることができる。ＨＣＡ１５１０は、ＣＲＣを生成することができ、アプリケーションが、複数のアプリケーションレベルＱＰからパケットを（すべてのＩＢヘッダとともに）ローフォーマットでポストすることを許可する。
【０１１８】
発明の実施形態に従うと、ＨＣＡ１５１０はルータ使用モデルをサポートすることができる。着信パケットにおけるＤＧＩＤがイングレスＨＣＡポートのためのＤＧＩＤと一致する場合、パケットをＩＢプロトコルに従って処理することができる。着信パケットにおけるＤＧＩＤがイングレスＨＣＡポートのためのいずれのＤＧＩＤとも一致しない場合、指定されたＲｘ  ＱＰのセットのうちの１つにパケットを転送することができる、この場合、パケットは、宛先ノードへの転送前に、ホストノード１５０１上で実行されるソフトウェアによって検査する（任意には、変更する）ことができる。データパケットが転送されるべきであるとホストソフトウェアが判断すると、（場合によっては、ＩＢヘッダが変更されている）パケット全体を、送信待ち行列を用いて送信することができる。送信待ち行列は、未処理のパケットをサポートすることができる。この場合、ＨＣＡ１５１０のハードウェア（ＨＷ：hardware）は、パケットを送信しながら、可変巡回冗長検査（ＣＲＣ）および不変巡回冗長検査（ＣＲＣ）を任意に生成することができる。
【０１１９】
発明の実施形態に従うと、ＨＣＡ１５１０は、ソフトウェアスタックオーバーヘッドを許可せず、データをコピーする必要のない処理スレッドにパケットを直接送達することができる。さらに、ＨＣＡ１５１０は、単にヘッダの必要な部分のみに接触してもよい。たとえば、ＨＣＡ１５１０は、ヘッダ／データ分離（またはヒット）をサポートすることができる。付加的には、ＨＣＡ１５１０は、複数のコアとともに効率的にスケールアウトするために、処理ごとのスレッド専用の複数の待ち行列を利用することができる。
【０１２０】
付加的には、ＨＣＡ１５１０は、巡回冗長検査（ＣＲＣ）確認１５２１およびＣＲＣ生成１５２２のためにハードウェアの支援を行うことができる。また、ＨＣＡ１５１０は、Ｐ＿Ｋｅｙを考慮に入れるように、インクリメンタル不変ＣＲＣ更新を実行することができる。こＰ＿Ｋｅｙの値は、パケットにおいて直接変更されるか、または、（作業要求などの）制御インターフェイスを介して変更される。これにより、ＨＣＡ１５１０は、ＩＢペイロードのデータインテグリティ特徴を保持することができ、ＨＣＡ１５１０は、２つのエンドポイント間の分離をサポートするためにＩＢ  Ｐ＿Ｋｅｙの変更を許可する。
【０１２１】
図１６は、発明の実施形態に従った、非仮想環境においてデータサービスを提供するためのホストチャネルアダプタ（ＨＣＡ）フィルタリングをサポートする例を示す図である。図１６に示されるように、ネットワーク環境１６００におけるデータサービスノード１６０１は、ホストチャネルアダプタ（ＨＣＡ）１６１０などネットワーク接続素子を用いてネットワーク接続できるようにする。
【０１２２】
データサービスノード１６０１は、アプリケーションサーバ１６０４およびデータサービスコンポーネント（たとえば、データサービスサーバ１６０５）を含み得る。さらに、データサービスノード１６０１は混合データフローを受取り得る。混合データフロートラフィックは、アプリケーションサーバ１６０４またはデータサービスサーバ１６０５を対象としてもよい。
【０１２３】
図１６に示されるように、データサービスノード１６０１は、待ち行列対（ＱＰ）１６１１〜１６１９に関連付けることができる。アプリケーションサーバ１６０４は、待ち行列対（ＱＰ）１６１１〜１６１３に関連付けることができ、データサービスサーバ１６０５は、受信（Ｒｘ）待ち行列対（ＱＰ）１６１４〜１６１６および送信（Ｔｘ）ＱＰ１６１７〜１６１９に関連付けることができる。
【０１２４】
発明の実施形態に従うと、データサービスノード１６０１は、ＨＣＡ１６１０を用いて（図１５に示されるような仮想環境と同様に）フィルタ能力を提供することができる。
【０１２５】
図１６に示されるように、ＨＣＡ１６１０は受信（Ｒｘ）フィルタ１６０８を含み得る。受信（Ｒｘ）フィルタ１６０８は、プロトコルを終了させることなくデータサービスサーバ１６０５を対象とするパケットを識別することができる。これにより、ＨＣＡ１６１０は、（ＩＢプロトコルに従ってＩＢパケットを処理するためにＩＢプロトコルエンジン１６０６を用いる）アプリケーションサーバ１６０４を対象とするデータフロートラフィックから、データサービスサーバ１６０５を対象とするデータフロートラフィックを分離することができる。
【０１２６】
発明の実施形態に従うと、ＨＣＡ１６１０は、Ｒｘ  ＱＰ１６１４〜１６１６などの複数の待ち行列対（ＱＰ）にわたってトラフィックを分散させることができ、これにより、（たとえば、複数のスレッド１６３１〜１６３３を用いて）並列処理を可能にし得る。たとえば、ＨＣＡ１６１０は、複数の待ち行列対（ＱＰ）１６１４〜１６１６にわたってトラフィックを分解させることができる受信側スケーリング（ＲＳＳ）フィルタ１６０７を利用することができる。データサービスサーバ１６０５は、ＱＰ１６１４〜１６１６上に到着するパケットを処理するためにさまざまなプロセス１６３１〜１６３３を割付けることができる。
【０１２７】
発明の実施形態に従うと、ＨＣＡ１６１０はローモードパケット転送をサポートすることができる。付加的には、ＨＣＡ１６１０は、巡回冗長検査（ＣＲＣ）確認１６２１およびＣＲＣ生成１６２２のためにハードウェア支援を行うことができる。
【０１２８】
受信側では、ＨＣＡ１６１０は、ＣＲＣを確認することができ、ＩＢプロトコルを終了させることなく複数のアプリケーションレベルＱＰに（すべてのＩＢヘッダとともに）パケットをローフォーマットで転送することができ、ＲＳＳフィルタ１６０７を用いて複数の受信待ち行列（ＲＱ）にまで負荷を分散させることができる。送信側では、データサービスコンポーネント１６０５によって処理されたパケットは、たとえば、ＱＰ１６１７〜１６１９を介して、ローフォーマットでＨＣＡ１６１０にサブミットすることができる。ＨＣＡ１６１０は、ＣＲＣを生成することができ、アプリケーションが複数のアプリケーションレベルＱＰから（すべてのＩＢヘッダとともに）パケットをローフォーマットでポストすることを許可する。
【０１２９】
図１７は、発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するためのＨＣＡフィルタリングをサポートするための例示的なフローチャートである。図１７に示されるように、ステップ１７０１において、システムは、ネットワーク環境におけるノードにネットワーキングデバイスを関連付けることができる。この場合、ノードには、データサービスを提供することができるデータサービスコンポーネントがデプロイされている。次いで、ステップ１７０２において、ネットワーキングデバイスは、プロトコルを終了させることなく、フィルタを用いて、データサービスコンポーネントを対象とする１つ以上のパケットを識別することができる。さらに、ステップ１７０３において、フィルタは、データサービスコンポーネントに上記１つ以上のパケットを転送することができる。
【０１３０】
一実施形態に従うと、ネットワーク環境においてデータサービスを提供するための装置が提供される。装置は、ネットワークファブリックを介して相互接続される複数のノードを含むネットワーク環境においてノード上にデータサービスコンポーネントを提供するための手段と、固有のパケット転送機構を用いて、ネットワークファブリック内のデータフローをノード上の上記データサービスコンポーネントに向けるための手段と、上記データサービスコンポーネントを用いて、ネットワークファブリックにおけるデータフロー内の１つ以上のデータパケットを処理するための手段とを含む。
【０１３１】
一実施形態に従うと、装置はさらに、上記データサービスコンポーネントが、１つ以上のアプリケーションサーバと物理マシンを共有すること、または、専用の物理マシン上に常駐することを可能にするための手段を含む。
【０１３２】
一実施形態に従うと、装置はさらに、データサービス機器としての仮想マシンにおいて上記データサービスコンポーネントをデプロイするための手段、または、データサービスサーバとしての物理マシン上に上記データサービスコンポーネントを直接デプロイするための手段を含む。
【０１３３】
一実施形態に従うと、装置はさらに、ネットワークファブリックがインフィニバンドネットワークプロトコルに基づくことを可能にするための手段を含む。
【０１３４】
一実施形態に従うと、装置はさらに、外部ネットワークスイッチおよび外部ネットワークリンクのうちの１つを介して、外部ネットワークにおける１つ以上のデータサービスサーバをネットワークファブリックに接続するための手段を含む。
【０１３５】
一実施形態に従うと、装置はさらに、ノードが、中間ノードとなることを可能にするための手段を含み、中間ノードは、複数の通信パーティ同士を物理的に分離すること、および、ネットワークパーティションを介して複数の通信パーティを分離することのうち少なくとも１つを実行する。
【０１３６】
一実施形態に従うと、装置はさらに、ネットワーク環境におけるネットワークファブリック上において上記データサービスコンポーネントの複数のインスタンスを同時に実行するための手段を含む。
【０１３７】
一実施形態に従うと、装置はさらに、上記データサービスコンポーネントの複数のインスタンスを対でデプロイするための手段を含む。
【０１３８】
一実施形態に従うと、装置はさらに、上記データサービスコンポーネントが、さまざまなタイプのネットワークトラフィックを検査するように動作するソフトウェアファイアウォール（ＦＷＬ）サービスを提供することを可能にするための手段を含む。
【０１３９】
一実施形態に従うと、装置はさらに、上記データサービスコンポーネントがトラフィックルーティングサービスを提供することを可能にするための手段を含む。
【０１４０】
ネットワーク環境においてデータサービスを提供するためのシステムであって、ネットワーク環境は、ネットワークファブリックを介して相互接続された複数のノードを含む。システムは、複数のノードのうち或るノード上にデータサービスコンポーネントを含む。上記データサービスコンポーネントは、固有のパケット転送機構を用いることによって、上記データサービスコンポーネントに向けられたデータフローをネットワークファブリックにおいて受取り、ネットワークファブリックにおけるデータフロー内の１つ以上のデータパケットを処理するように構成される。
【０１４１】
一実施形態に従うと、ネットワークファブリックはインフィニバンドネットワークプロトコルに基づいている。
【０１４２】
一実施形態に従うと、上記データサービスコンポーネントを含むノードは中間ノードであり、この中間ノードは、複数の通信パーティを物理的に分離すること、および、ネットワークパーティションを介して複数の通信パーティを分離することのうち、少なくとも１つを実行する。
【０１４３】
一実施形態に従うと、上記データサービスコンポーネントはさらに、さまざまなタイプのネットワークトラフィックを検査するように動作するソフトウェアファイアウォール（ＦＷＬ）サービスと、トラフィックルーティングサービスとのうち、少なくとも１つを提供するように構成される。
【０１４４】
ネットワーク環境においてデータサービスを提供するためのシステムであって、ネットワーク環境は、ネットワークファブリックを介して相互接続された複数のノードを含む。システムは、複数のノードのうち１つのノード上にデータサービスサーバを含む。上記データサービスサーバは、固有のパケット転送機構を用いることによって、上記データサービスサーバに向けられたデータフローをネットワークファブリックにおいて受取り、ネットワークファブリックにおけるデータフロー内の１つ以上のデータパケットを処理するように構成される。
【０１４５】
一実施形態に従うと、ネットワークファブリックは、インフィニバンドネットワークプロトコルに基づいている。
【０１４６】
一実施形態に従うと、上記データサービスサーバは、外部ネットワークスイッチおよび外部ネットワークリンクのうちの１つを介して、ネットワークファブリックに接続される外部ネットワークにおけるデータサービスサーバである。
【０１４７】
一実施形態に従うと、上記データサービスサーバを含むノードは中間ノードであり、この中間ノードは、複数の通信パーティを物理的に分離すること、および、ネットワークパーティションを介して複数の通信パーティを分離することのうち少なくとも１つを実行する。
【０１４８】
一実施形態に従うと、上記データサービスサーバは、さまざまなタイプのネットワークトラフィックを検査するように動作するソフトウェアファイアウォール（ＦＷＬ）サービスと、トラフィックルーティングサービスとのうち少なくとも１つを提供するように構成される。
【０１４９】
一実施形態に従うと、ネットワーク環境においてデータサービスを提供するための方法が提供される。当該方法は、サブネットアドミニストレータを介して、ソースノードから経路記録レゾリューション要求を受取るステップを含み、ソースノードは、経路記録レゾリューション要求を用いて宛先ノードのアドレスを獲得する。上記方法はさらに、サブネットアドミニストレータを介して中間ノードのアドレスをソースノードに提供するステップを含み、中間ノードはデータサービスを提供する。上記方法はさらに、中間ノードのアドレスに基づいて、ソースノードを介して、データフロー内の１つ以上のデータパケットを中間ノードに送信するステップを含む。
【０１５０】
一実施形態に従うと、提供される方法は、中間ノードを介してデータサービスを用いて上記１つ以上のデータパケットを処理するステップと、上記１つ以上のデータパケットの処理後、中間ノードを介して、宛先ノードに１つ以上の発信データパケットを送信するステップとを含む。
【０１５１】
一実施形態に従うと、提供される方法は、ネットワーク環境がインフィニバンドプロトコルに基づくことを可能にするステップを含む。
【０１５２】
一実施形態に従うと、提供される方法は、中間ノードを、データサービスを提供することに特化するステップを含む。
【０１５３】
一実施形態に従うと、提供される方法は、サブネットアドミニストレータに関連付けられたインターフェイスを介してサブネットアドミニストレータのための１つ以上のポリシーを構成するステップと、サブネットアドミニストレータを介して１つ以上のポリシーを用いて、ソースノードのための１つ以上の宛先アドレスをレゾルブするステップとを含む。
【０１５４】
一実施形態に従うと、提供される方法は、上記１つ以上のポリシーが、ソースおよび宛先のグローバル識別子（ＧＩＤ）、サービス識別子（ＩＤ）およびネットワークパーティションのうち少なくとも１つに基づくことを可能にするステップを含む。
【０１５５】
一実施形態に従うと、提供される方法は、上記データサービスを提供するデータサービスコンポーネントを仮想機器としての仮想マシンにデプロイするステップを含む。
【０１５６】
一実施形態に従うと、提供される方法は、データサービスコンポーネントによって提供される上記データサービスが、ソースノードおよび宛先ノードの両方に対してトランスペアレントであることを可能にするステップを含む。
【０１５７】
一実施形態に従うと、提供される方法は、上記データサービスが、さまざまなタイプのネットワークトラフィックを検査するように動作するソフトウェアファイアウォール（ＦＷＬ）サービスであることを可能にするステップを含む。
【０１５８】
一実施形態に従うと、提供される方法は、上記データサービスがトラフィックルーティングを実行することを可能にするステップを含む。
【０１５９】
一実施形態に従うと、ネットワーク環境においてデータサービスを提供するシステムが提供される。システムは、１つ以上のマイクロプロセッサと、ネットワーク環境における１つ以上のマイクロプロセッサ上で実行されるサブネットアドミニストレータとを含み、上記サブネットアドミニストレータは、ソースノードから経路記録レゾリューション要求を受取るように動作し、ソースノードは、経路記録レゾリューション要求を用いて、宛先ノードのアドレスを獲得する。上記サブネットアドミニストレータはさらに、データサービスを提供する中間ノードのアドレスをソースノードに提供し、中間ノードのアドレスに基づいて、ソースノードが、データフロー内の１つ以上のデータパケットを中間ノードに送信することを可能にするように動作する。
【０１６０】
一実施形態に従うと、提供されるシステムにおいては、中間ノードは、データサービスを用いて上記１つ以上のデータパケットを処理するように動作し、中間ノードは、上記１つ以上のデータパケットの処理後、宛先ノードに１つ以上の発信データパケットを送信するように動作する。
【０１６１】
一実施形態に従うと、提供されるシステムにおいては、ネットワーク環境はインフィニバンドプロトコルに基づいている。
【０１６２】
一実施形態に従うと、提供されるシステムにおいては、中間ノードはデータサービスを提供することに特化されている。
【０１６３】
一実施形態に従うと、提供されるシステムにおいては、サブネットアドミニストレータに関連付けられるインターフェイスは、サブネットアドミニストレータのための１つ以上のポリシーを構成するために用いられ、サブネットアドミニストレータは、１つ以上のポリシーを用いてソースノードについての１つ以上の宛先アドレスをレゾルブするように動作する。
【０１６４】
一実施形態に従うと、提供されるシステムにおいては、上記１つ以上のポリシーは、ソースおよび宛先のグローバル識別子（ＧＩＤ）、サービス識別子（ＩＤ）およびネットワークパーティションのうち少なくとも１つに基づいている。
【０１６５】
一実施形態に従うと、提供されるシステムにおいては、上記データサービスを提供するデータサービスコンポーネントは、仮想機器としての仮想マシンにおいてデプロイされる。
【０１６６】
一実施形態に従うと、提供されるシステムにおいては、データサービスコンポーネントによって提供される上記データサービスは、ソースノードおよび宛先ノードの両方に対してトランスペアレントである。
【０１６７】
一実施形態に従うと、提供されるシステムにおいては、上記データサービスコンポーネントは、さまざまなタイプのネットワークトラフィックを検査するように動作するソフトウェアファイアウォール（ＦＷＬ）サービスと、トラフィックルーティングサービスとのうち少なくとも１つを提供するように動作する。
【０１６８】
一実施形態に従うと、命令が格納された非一時的な機械読取り可能な記憶媒体が提供される。当該命令は、実行されると、サブネットアドミニストレータを介して、ソースノードから経路記録レゾリューション要求を受取るステップをシステムに実行させ、ソースノードは、経路記録レゾリューション要求を用いて宛先ノードのアドレスを獲得する。当該命令はさらに、実行されると、サブネットアドミニストレータを介して、データサービスを提供する中間ノードのアドレスをソースノードに提供するステップと、中間ノードのアドレスに基づいて、ソースノードを介して、データフロー内の１つ以上のデータパケットを中間ノードに送信するステップとを、システムに実行させる。
【０１６９】
一実施形態に従うと、ネットワーク環境においてデータサービスを提供するための装置が提供される。装置は、サブネットアドミニストレータを介して、ソースノードから経路記録レゾリューション要求を受取るための手段を含み、ソースノードは、経路記録レゾリューション要求を用いて宛先ノードのアドレスを獲得し、装置はさらに、データサービスを提供する中間ノードのアドレスを、サブネットアドミニストレータを介して、ソースノードに提供するための手段と、中間ノードのアドレスに基づいて、ソースノードを介して、データフロー内の１つ以上のデータパケットを中間ノードに送信するための手段とを含む。
【０１７０】
一実施形態に従うと、装置はさらに、中間ノードを介してデータサービスを用いて上記１つ以上のデータパケットを処理するための手段と、上記１つ以上のデータパケットの処理後、中間ノードを介して、１つ以上の発信データパケットを宛先ノードに送信するための手段とを含む。
【０１７１】
一実施形態に従うと、装置はさらに、ネットワーク環境がインフィニバンドプロトコルに基づくことを可能にするための手段を含む。
【０１７２】
一実施形態に従うと、装置はさらに、中間ノードを、データサービスを提供することに特化するための手段を含む。
【０１７３】
一実施形態に従うと、装置はさらに、サブネットアドミニストレータに関連付けられるインターフェイスを介して、サブネットアドミニストレータのための１つ以上のポリシーを構成するための手段と、サブネットアドミニストレータを介して１つ以上のポリシーを用いて、ソースノードについての１つ以上の宛先アドレスをレゾルブするための手段とを含む。
【０１７４】
一実施形態に従うと、装置はさらに、上記１つ以上のポリシーが、ソースおよび宛先のグローバル識別子（ＧＩＤ）、サービス識別子（ＩＤ）およびネットワークパーティションのうち少なくとも１つに基づくことを可能にするための手段を含む。
【０１７５】
一実施形態に従うと、装置はさらに、上記データサービスを提供するデータサービスコンポーネントを仮想機器としての仮想マシンにデプロイするための手段を含む。
【０１７６】
一実施形態に従うと、装置はさらに、データサービスコンポーネントによって提供される上記データサービスがソースノードおよび宛先ノードの両方に対してトランスペアレントであることを可能にするための手段を含む。
【０１７７】
一実施形態に従うと、装置はさらに、上記データサービスが、さまざまなタイプのネットワークトラフィックを検査するように動作するソフトウェアファイアウォール（ＦＷＬ）サービスであることを可能にするための手段を含む。
【０１７８】
一実施形態に従うと、装置はさらに、上記データサービスがトラフィックルーティングを実行することを可能にするための手段を含む。
【０１７９】
一実施形態に従うと、ネットワーク環境においてデータサービスを提供するシステムが提供される。当該システムは、サブネットアドミニストレータを含み、上記サブネットアドミニストレータは、ソースノードから経路記録レゾリューション要求を受取るように動作し、ソースノードは、経路記録レゾリューション要求を用いて宛先ノードのアドレスを獲得する。当該システムはさらに、データサービスを提供する中間ノードのアドレスをソースノードに提供し、中間ノードのアドレスに基づいて、ソースノードがデータフロー内の１つ以上のデータパケットを中間ノードに送信することを可能にするように動作する。
【０１８０】
一実施形態に従うと、ネットワーク環境におけるデータサービスアドレスレゾリューションをサポートするための方法が提供される。当該方法は、中間ノードを介してソースノードから着信データパケットを受取るステップを含む。着信データパケットは宛先ノードを対象とし、着信データパケットは、宛先ノードのためのグローバル識別子と、中間ノードのためのローカル識別子とを含み、当該方法はさらに、宛先ノードのためのグローバル識別子に基づいて、中間ノードを介して、宛先ノードについてのローカルアドレス指定情報を獲得するステップと、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、中間ノードを介して、発信データパケットを宛先ノードに送信するステップとを含む。
【０１８１】
一実施形態に従うと、提供される方法は、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、発信データパケットにおいて、宛先ノードのためのローカル識別子を含めるステップを含む。
【０１８２】
一実施形態に従うと、提供される方法は、発信データパケットが、ローカル識別子だけが変更されている以外は着信データパケットに似ている場合、発信データパケットに関連付けられた可変巡回冗長検査（ＣＲＣ）を更新するステップと、発信データパケットが変更済みのトランスポートレベル情報を含む場合、発信データパケットに関連付けられた不変巡回冗長検査（ＣＲＣ）を更新するステップとを含む。
【０１８３】
一実施形態に従うと、ネットワーク環境がインフィニバンドプロトコルに基づくことを可能にするステップを含む方法が提供される。
【０１８４】
一実施形態に従うと、提供される方法は、経路記録レゾリューションキャッシュを用いて、着信データパケットの１つ以上のヘッダにおける１つ以上のフィールドによって識別される１つ以上のアドレスをレゾルブするステップを含む。
【０１８５】
一実施形態に従うと、提供される方法は、中間ノードだけを介して互いと通信するようにソースノードおよび宛先ノードを構成するステップを含む。ソースノードおよび宛先ノードは、異なるパーティションに関連付けられること、同じパーティションの限られたメンバであること、および異なるサブネットにあること、のうち１つとなるように構成される。
【０１８６】
一実施形態に従うと、提供される方法は、データサービスを提供する上記中間ノードを介して、データサービス機器をホストするステップを含む。
【０１８７】
一実施形態に従うと、提供される方法は、上記データサービス機器がトラフィックルーティングを実行することを可能にするステップを含む。
【０１８８】
一実施形態に従うと、提供される方法は、上記データサービス機器がソフトウェアファイアウォール（ＦＷＬ）サービスを提供することを可能にするステップを含む。
【０１８９】
一実施形態に従うと、提供される方法は、上記中間ノード上のソフトウェアＦＷＬサービスを介して、別の着信データパケットをドロップするステップを含む。
【０１９０】
一実施形態に従うと、ネットワーク環境におけるデータサービスアドレスレゾリューションをサポートするためのシステムが提供される。当該システムは、１つ以上のマイクロプロセッサと、ネットワーク環境において１つ以上のマイクロプロセッサ上で実行されるノードとを含む。上記ノードは、ソースノードから着信データパケットを受取るように動作し、着信データパケットは宛先ノードを対象とし、着信データパケットは、宛先ノードのためのグローバル識別子および中間ノードのためのローカル識別子を含み、上記ノードはさらに、宛先ノードのためのグローバル識別子に基づいて宛先ノードについてのローカルアドレス指定情報を獲得し、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて発信データパケットを宛先ノードに送信するように動作する。
【０１９１】
一実施形態に従うと、提供されるシステムにおいては、発信データパケットは、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて宛先ノードのためのローカル識別子を含む。
【０１９２】
一実施形態に従うと、提供されるシステムにおいては、上記ノードは、発信データパケットが、宛先ノードのためのローカル識別子だけが変更されている着信データパケットに似ている場合、発信データパケットに関連付けられた可変巡回冗長検査（ＣＲＣ）を更新し、発信データパケットが変更済みのトランスポートレベル情報を含む場合、発信データパケットに関連付けられた不変巡回冗長検査（ＣＲＣ）を更新するように動作する。
【０１９３】
一実施形態に従うと、提供されるシステムにおいては、ネットワーク環境はインフィニバンドプロトコルに基づいている。
【０１９４】
一実施形態に従うと、提供されるシステムにおいては、経路記録レゾリューションキャッシュは、着信データパケットの１つ以上のヘッダにおける１つ以上のフィールドによって識別される１つ以上のアドレスをレゾルブするように動作する。
【０１９５】
一実施形態に従うと、提供されるシステムにおいては、ソースノードおよび宛先ノードは、中間ノードを介してのみ互いと通信するように構成され、ソースノードおよび宛先ノードは、異なるパーティションに関連付けられること、同じパーティションの限られたメンバであること、および異なるサブネットにあること、のうち１つとなるように構成される。
【０１９６】
一実施形態に従うと、提供されるシステムにおいては、データサービスを提供する上記中間ノードがデータサービス機器をホストする。
【０１９７】
一実施形態に従うと、提供されるシステムにおいては、上記データサービス機器はトラフィックルーティングを実行するように動作する。
【０１９８】
一実施形態に従うと、提供されるシステムにおいては、上記データサービス機器は、ソフトウェアファイアウォール（ＦＷＬ）サービスを提供するように動作する。
【０１９９】
一実施形態に従うと、命令が格納された非一時的な機械読取り可能な記憶媒体が提供される。当該命令は、実行されると、中間ノードを介して、ソースノードから着信データパケットを受取るステップをシステムに実行させる。着信データパケットは宛先ノードを対象とし、着信データパケットは、宛先ノードのためのグローバル識別子および中間ノードのためのローカル識別子を含む。当該命令はさらに、実行されると、宛先ノードのためのグローバル識別子に基づいて、中間ノードを介して、宛先ノードについてのローカルアドレス指定情報を獲得するステップと、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、中間ノードを介して、宛先ノードに発信データパケットを送信するステップとをシステムに実行させる。
【０２００】
一実施形態に従うと、ネットワーク環境においてデータサービスアドレスレゾリューションをサポートするための装置が提供される。当該装置は、中間ノードを介して、ソースノードから着信データパケットを受取るための手段を含み、着信データパケットは宛先ノードを対象とし、着信データパケットは、宛先ノードのためのグローバル識別子および中間ノードのためのローカル識別子を含み、当該装置はさらに、宛先ノードのためのグローバル識別子に基づいて、中間ノードを介して、宛先ノードについてのローカルアドレス指定情報を取得するための手段と、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、中間ノードを介して、宛先ノードに発信データパケットを送信するための手段とを含む。
【０２０１】
一実施形態に従うと、装置はさらに、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、発信データパケットにおいて宛先ノードのためのローカル識別子を含むための手段を含む。
【０２０２】
一実施形態に従うと、装置はさらに、発信データパケットが、ローカル識別子だけが変更されている以外は着信データパケットに似ている場合、発信データパケットに関連付けられた可変巡回冗長検査（ＣＲＣ）を更新するための手段と、発信データパケットが変更済みのトランスポートレベル情報を含む場合、発信データパケットに関連付けられた不変巡回冗長検査（ＣＲＣ）を更新するための手段とを含む。
【０２０３】
一実施形態に従うと、装置は、ネットワーク環境がインフィニバンドプロトコルに基づくことを可能にするための手段を含む。
【０２０４】
一実施形態に従うと、装置はさらに、経路記録レゾリューションキャッシュを用いて、着信データパケットの１つ以上のヘッダにおける１つ以上のフィールドによって識別される１つ以上のアドレスをレゾルブするための手段を含む。
【０２０５】
一実施形態に従うと、装置はさらに、中間ノードのみを介して互いと通信するようにソースノードおよび宛先ノードを構成するための手段を含む。ソースノードおよび宛先ノードは、異なるパーティションに関連付けられること、同じパーティションの限られたメンバであること、および異なるサブネットにあること、のうち１つとなるように構成される。
【０２０６】
一実施形態に従うと、装置はさらに、データサービスを提供する上記中間ノードを介して、データサービス機器をホストするための手段を含む。
【０２０７】
一実施形態に従うと、装置はさらに、上記データサービス機器がトラフィックルーティングを実行することを可能にするための手段を含む。
【０２０８】
一実施形態に従うと、装置はさらに、上記データサービス機器がソフトウェアファイアウォール（ＦＷＬ）サービスを提供することを可能にするための手段を含む。
【０２０９】
一実施形態に従うと、装置はさらに、上記中間ノード上のソフトウェアＦＷＬサービスを介して、別の着信データパケットをドロップするための手段を含む。
【０２１０】
一実施形態に従うと、ネットワーク環境におけるデータサービスアドレスレゾリューションをサポートするためのシステムが提供される。当該システムは、ネットワーク環境においてノードを含み、上記ノードは、ソースノードから着信データパケットを受取るように動作し、着信データパケットは宛先ノードを対象とし、着信データパケットは、宛先ノードのためのグローバル識別子および中間ノードのためのローカル識別子を含み、上記ノードはさらに、宛先ノードのためのグローバル識別子に基づいて、宛先ノードについてのローカルアドレス指定情報を獲得し、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、宛先ノードに発信データパケットを送信するように動作する。
【０２１１】
一実施形態に従うと、ネットワーク環境においてデータサービスを提供するためのシステムが提供される。当該システムは、１つの以上のマイクロプロセッサと、上記１つ以上のマイクロプロセッサ上において実行されるノードとを含み、ノードは、データサービスを提供するよう動作するデータサービスコンポーネントを含み、当該システムはさらに、ノードに関連付けられたネットワーキングデバイスを含み、当該ネットワーキングデバイスは、フィルタを用いて、プロトコルを終了させることなく、データサービスコンポーネントを対象とする１つ以上のパケットを識別し、データサービスコンポーネントに上記１つ以上のパケットを転送するように動作する。
【０２１２】
一実施形態に従うと、提供されるシステムにおいては、上記データサービスコンポーネントは、仮想機器としての仮想マシンおよび専用ノードのうちの１つにおいてデプロイされる。
【０２１３】
一実施形態に従うと、提供されるシステムにおいては、データサービスコンポーネントは、ファイアウォール（ＦＷＬ）サービスおよびトラフィックルーティングサービスのうち少なくとも１つを提供する。
【０２１４】
一実施形態に従うと、提供されるシステムにおいては、上記フィルタは、各々の上記パケットにおける宛先ローカル識別子（ＤＬＩＤ）のフィルタリング、各々の上記パケットにおける宛先グローバル識別子（ＤＧＩＤ）のフィルタリング、および反転フィルタリングのうち少なくとも１つに基づいている。
【０２１５】
一実施形態に従うと、提供されるシステムにおいては、データサービスコンポーネントは上記１つ以上のパケットを処理するように動作し、ネットワーキングデバイスは、処理されたパケットを１つ以上の宛先ノードに送信するように動作する。
【０２１６】
一実施形態に従うと、提供されるシステムにおいては、ノードは複数の待ち行列対（ＱＰ）に関連付けられ、１つ以上の上記ＱＰはアプリケーションサーバに関連付けられ、１つ以上の上記ＱＰはデータサービスコンポーネントに関連付けられる。
【０２１７】
一実施形態に従うと、提供されるシステムにおいては、ネットワーキングデバイスは、アプリケーションサーバを対象とするトラフィックから、データサービスコンポーネントを対象とするトラフィックを分離するように動作する。
【０２１８】
一実施形態に従うと、提供されるシステムにおいては、ネットワーク環境はインフィニバンドプロトコルに基づいており、ネットワーキングデバイスはホストチャネルアダプタ（ＨＣＡ）である。
【０２１９】
一実施形態に従うと、提供されるシステムにおいては、ネットワーキングデバイスは、１つ以上のパケット上において巡回冗長検査（ＣＲＣ）確認およびＣＲＣ生成を実行するように動作し、ネットワーキングデバイスは、トランスポートヘッダが更新されたときに、エンド・ツー・エンドデータインテグリティを維持するために、不変ＣＲＣのためにインクリメンタルＣＲＣ更新を実行するように動作する。
【０２２０】
一実施形態に従うと、提供されるシステムにおいては、ネットワーキングデバイスは、並列処理のために、データサービスコンポーネントを対象とするトラフィックを複数のＱＰにわたって分散させるように動作し、上記ＱＰは、ノード上のオペレーティングシステムをバイパスするデータサービスコンポーネントに対してハードウェアインターフェイスを直接露出させるように動作する。
【０２２１】
一実施形態に従うと、ネットワーク環境においてデータサービスを提供するための方法が提供される。当該方法は、ネットワーク環境においてネットワーキングデバイスをノードに関連付けるステップを含み、ノードには、データサービスを提供することができるデータサービスコンポーネントがデプロイされ、当該方法はさらに、ネットワーキングデバイスを介してフィルタを用いて、プロトコルを終了させることなく、データサービスコンポーネントを対象とする１つ以上のパケットを識別するステップと、データサービスコンポーネントに上記１つ以上のパケットを転送するステップとを含む。
【０２２２】
一実施形態に従うと、提供される方法は、仮想機器としての仮想マシンおよび専用ノードのうちの１つにおいて上記データサービスコンポーネントをデプロイするステップを含む。
【０２２３】
一実施形態に従うと、提供される方法は、データサービスコンポーネントが、ファイアウォール（ＦＷＬ）サービスおよびトラフィックルーティングサービスのうち少なくとも１つを提供することを可能にするステップを含む。
【０２２４】
一実施形態に従うと、提供される方法は、上記フィルタが、各々の上記パケットにおける宛先ローカル識別子（ＤＬＩＤ）のフィルタリング、各々の上記パケットにおける宛先グローバル識別子（ＤＧＩＤ）のフィルタリング、および反転フィルタリングのうち少なくとも１つに基づくことを可能にするステップを含む。
【０２２５】
一実施形態に従うと、提供される方法は、データサービスコンポーネントが上記１つ以上のパケットを処理することを可能にするステップと、処理されたパケットを１つ以上の宛先ノードに送信するステップとを含む。
【０２２６】
一実施形態に従うと、提供される方法は、ノードを複数の待ち行列対（ＱＰ）に関連付けるステップを含む。１つ以上の上記ＱＰはアプリケーションサーバに関連付けられ、１つ以上の上記ＱＰはデータサービスコンポーネントに関連付けられる。
【０２２７】
一実施形態に従うと、提供される方法は、上記フィルタをネットワーキングデバイス上に提供するステップを含み、ネットワーキングデバイスは、アプリケーションサーバを対象とするトラフィックから、データサービスコンポーネントを対象とするトラフィックを分離するように動作する。
【０２２８】
一実施形態に従うと、提供される方法は、ネットワーク環境がインフィニバンドプロトコルに基づくことを可能にするステップと、ネットワーキングデバイスがホストチャネルアダプタ（ＨＣＡ）となることを可能にするステップとを含む。
【０２２９】
一実施形態に従うと、提供される方法は、１つ以上のパケット上において巡回冗長検査（ＣＲＣ）確認およびＣＲＣ生成を実行すること、トランスポートヘッダが更新されたときに、エンド・ツー・エンドのデータインテグリティを維持するために不変ＣＲＣのためにインクリメンタルＣＲＣ更新を実行すること、並列処理のためにデータサービスコンポーネントを対象とするトラフィックを複数のＱＰにわたって分散させること、および、１つ以上のＱＰが、ノード上のオペレーティングシステムをバイパスするデータサービスコンポーネントに対してハードウェアインターフェイスを直接露出させることを可能にすること、のうち少なくとも１つをネットワーキングデバイスが実行することを可能にする。
【０２３０】
一実施形態に従うと、命令が格納された非一時的な機械読取り可能な記憶媒体が提供される。当該命令が実行されると、ネットワーク環境におけるノードにネットワーキングデバイスを関連付けるステップをシステムに実行させ、ノードには、データサービスを提供することができるデータサービスコンポーネントがデプロイされており、さらに、当該命令が実行されると、ネットワーキングデバイスを介してフィルタを用いて、プロトコルを終了させることなくデータサービスコンポーネントを対象とする１つ以上のパケットを識別するステップと、データサービスコンポーネントに上記１つ以上のパケットを転送するステップとをシステムに実行させる。
【０２３１】
一実施形態に従うと、ネットワーク環境においてデータサービスを提供するためのシステムが提供される。当該システムは、データサービスを提供するように動作するデータサービスコンポーネントを含むノードと、ノードに関連付けられたネットワーキングデバイスとを含む。ネットワーキングデバイスは、フィルタを用いて、プロトコルを終了させることなく、データサービスコンポーネントを対象とする１つ以上のパケットを識別し、上記１つ以上のパケットをデータサービスコンポーネントに転送するように動作する。
【０２３２】
一実施形態に従うと、ネットワーク環境においてデータサービスを提供するための装置が提供される。当該装置は、ネットワーク環境においてネットワーキングデバイスをノードに関連付けるための手段を含み、ノードには、データサービスを提供することができるデータサービスコンポーネントがデプロイされており、当該装置はさらに、ネットワーキングデバイスを介してフィルタを用いて、プロトコルを終了させることなく、データサービスコンポーネントを対象とする１つ以上のパケットを識別するための手段と、データサービスコンポーネントに上記１つ以上のパケットを転送するための手段とを含む。
【０２３３】
一実施形態に従うと、装置はさらに、仮想機器としての仮想マシンおよび専用ノードのうちの１つにおいて上記データサービスコンポーネントをデプロイするための手段を含む。
【０２３４】
一実施形態に従うと、装置はさらに、データサービスコンポーネントが、ファイアウォール（ＦＷＬ）サービスおよびトラフィックルーティングサービスのうち少なくとも１つを提供することを可能にするための手段を含む。
【０２３５】
一実施形態に従うと、装置はさらに、上記フィルタが、各々の上記パケットにおける宛先ローカル識別子（ＤＬＩＤ）のフィルタリング、各々の上記パケットにおける宛先グローバル識別子（ＤＧＩＤ）のフィルタリング、および反転フィルタリングのうち少なくとも１つに基づくことを可能にするための手段を含む。
【０２３６】
一実施形態に従うと、装置はさらに、データサービスコンポーネントが上記１つ以上のパケットを処理することを可能にするための手段と、処理されたパケットを１つ以上の宛先ノードに送信するための手段とを含む。
【０２３７】
一実施形態に従うと、装置はさらに、ノードを複数の待ち行列対（ＱＰ）に関連付けるための手段を含み、１つ以上の上記ＱＰはアプリケーションサーバに関連付けられ、１つ以上の上記ＱＰはデータサービスコンポーネントに関連付けられる。
【０２３８】
一実施形態に従うと、装置はさらに、ネットワーキングデバイス上に上記フィルタを提供するための手段を含み、ネットワーキングデバイスは、アプリケーションサーバを対象とするトラフィックから、データサービスコンポーネントを対象とするトラフィックを分離するように動作する。
【０２３９】
一実施形態に従うと、装置はさらに、ネットワーク環境がインフィニバンドプロトコルに基づくことを可能にするための手段と、ネットワーキングデバイスがホストチャネルアダプタ（ＨＣＡ）になることを可能にするための手段とを含む。
【０２４０】
一実施形態に従うと、装置はさらに、１つ以上のパケット上において巡回冗長検査（ＣＲＣ）確認およびＣＲＣ生成を実行すること；トランスポートヘッダが更新されたときに、エンド・ツー・エンドのデータインテグリティを維持するように不変ＣＲＣのためにインクリメンタル不変ＣＲＣ更新を実行すること；並列処理のために、データサービスコンポーネントを対象とするトラフィックを複数のＱＰにわたって分散させること；および、１つ以上のＱＰが、ノード上のオペレーティングシステムをバイパスするデータサービスコンポーネントに対して直接ハードウェアインターフェイスを露出させることを可能にすること；のうち少なくとも１つをネットワーキングデバイスが実行することを可能にするための手段を含む。
【０２４１】
本発明の多くの特徴は、ハードウェア、ソフトウェア、ファームウェアもしくはこれらの組み合わせにおいて、ハードウェア、ソフトウェア、ファームウェアもしくはこれらの組み合わせを用いて、またはハードウェア、ソフトウェア、ファームウェアもしくはこれらの組み合わせの助けを借りて、実行することができる。結果として、本発明の特徴は（たとえば、１つ以上のプロセッサを含む）処理システムを用いて実現されてもよい。
【０２４２】
本発明の特徴は、コンピュータプログラムプロダクトにおいて、コンピュータプログラムプロダクトを用いて、またはコンピュータプログラムプロダクトの助けを借りて実現することができる。このコンピュータプログラムプロダクトは、命令が格納された記憶媒体またはコンピュータ読取可能媒体であり、この明細書中に提示された特徴のうちいずれも実行するよう処理システムをプログラムするのに用いることができる。この記録媒体は、フロッピー（登録商標）ディスク、光ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、マイクロドライブ、および光磁気ディスクを含む、任意の種類のディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＤＲＡＭ、ＶＲＡＭ、フラッシュメモリデバイス、磁気もしくは光カード、ナノシステム（分子メモリＩＣを含む）、または、命令および／もしくはデータを格納するのに適した任意の種類の媒体もしくはデバイスを含み得るものの、これらに限定されない。
【０２４３】
機械読取り可能媒体のうちいずれか１つに格納された本発明の特徴は、処理システムのハードウェアを制御するために、および、処理システムが、本発明の結果を利用する他の機構と対話することを可能にするために、ソフトウェアおよび／またはファームウェアに組込むことができる。このようなソフトウェアまたはファームウェアは、アプリケーションコード、デバイスドライバ、オペレーティングシステムおよび実行環境／コンテナを含み得るが、これらに限定されない。
【０２４４】
発明の特徴はまた、たとえば、特定用途向け集積回路（ＡＳＩＣ：application specific integrated circuit）などのハードウェアコンポーネントを用いて、ハードウェアにおいて実現されてもよい。この明細書中に記載される機能を実行するようにハードウェア状態マシンを実現することは、当業者には明らかになるだろう。
【０２４５】
加えて、本発明は、本開示の教示に従いプログラムされた、１つ以上のプロセッサ、メモリ、および／またはコンピュータ読取可能な記録媒体を含む、従来の汎用もしくは専用デジタルコンピュータ、コンピューティングデバイス、マシン、またはマイクロプロセッサを１つ以上用いて、適宜実装し得る。適切なソフトウェアコーディングは、熟練したプログラマが本開示の教示に基づいて容易に準備できるものである。これはソフトウェア技術における当業者には明らかであろう。
【０２４６】
本発明のさまざまな実施形態を上述してきたが、これら実施形態が限定ではなく例示のために提示されてきたことが理解されるはずである。形態および詳細のさまざまな変更が、発明の精神および範囲から逸脱することなくこの明細書中において実施され得ることが当業者に明らかになるだろう。
【０２４７】
本発明は、指定された機能の性能およびその関係を例示する機能構成要素を用いて上述されてきた。これらの機能構成要素の境界は、説明の便宜上、しばしば、この明細書中において任意に規定されてきた。指定された機能およびその関係が適切に実行される限り、代替的境界を規定することができる。このため、このような代替的境界はいずれも、発明の精神および範囲内にある。
【０２４８】
本発明のこれまでの記載は例示および説明を目的として提供されている。すべてを網羅するまたは本発明を開示された形態そのものに限定することは意図されていない。本発明の幅および範囲は上述の具体的な実施形態のいずれによっても限定されるべきではない。当業者には数多くの変更および変形が明らかであろう。変更例および変形例は開示された特徴のいずれかの関連する組み合わせを含む。実施の形態は、本発明の原理およびその実際の応用を最もうまく説明することによって他の当業者がさまざまな実施の形態および意図している特定の用途に適したさまざまな変形を理解できるようにするために、選択され説明されている。発明の範囲は添付の特許請求の範囲およびそれらの同等例によって規定されるよう意図されている。
【図１】
0006445015.tif 000002
【図２】
0006445015.tif 000003
【図３】
0006445015.tif 000004
【図４】
0006445015.tif 000005
【図５】
0006445015.tif 000006
【図６】
0006445015.tif 000007
【図７】
0006445015.tif 000008
【図８】
0006445015.tif 000009
【図９】
0006445015.tif 000010
【図１０】
0006445015.tif 000011
【図１１】
0006445015.tif 000012
【図１２】
0006445015.tif 000013
【図１３】
0006445015.tif 000014
【図１４】
0006445015.tif 000015
【図１５】
0006445015.tif 000016
【図１６】
0006445015.tif 000017
【図１７】
0006445015.tif 000018