図面 (/)

技術 ミドルウェアおよびアプリケーションの実行のためにエンジニアド・システムにおいてデータサービスを提供するためのシステムおよび方法

出願人 オラクル・インターナショナル・コーポレイション
発明者 マクハーバクス,バディムヨンセン,ビョルン・ダグブリーン,デイビッドムソー,リチャード・ピィ
出願日 2014年8月26日 (6年3ヶ月経過) 出願番号 2016-537772
公開日 2016年11月17日 (4年0ヶ月経過) 公開番号 2016-535904
状態 特許登録済
技術分野 広域データ交換 計算機・データ通信
主要キーワード 高信頼性接続 低信頼性 リターンパケット 仮想ソフトウェア データインテグリティ 仮想機器 標準ポート リモートエンド
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年11月17日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (18)

課題・解決手段

ステムおよび方法は、ネットワーク環境においてデータサービスを提供することができる。システムは、ネットワーク環境におけるノード上にデータサービスコンポーネントを提供することができる。ネットワーク環境は、ネットワークファブリックを介して相互接続される複数のノードを含む。さらに、システムは、固有パケット転送機構を用いて、ネットワークファブリックにおけるデータフローをノード上の上記データサービスコンポーネントに向けることができる。次いで、システムは、上記データサービスコンポーネント用いて、ネットワークファブリックにおけるデータフロー内の1つ以上のデータパケットを処理することができる。

概要

背景

背景
相互接続ネットワークは、次世代のスーパーコンピュータクラスタおよびデータセンタにおいて有益な役割を果たす。たとえば、インフィニバンド(IB:InfiniBand)技術が、クラウドコンピューティングファブリックのための基礎として広く展開されてきた。より大規模のクラウドコンピューティングアーキテクチャが導入されるのに応じて、従来のネットワークおよびストレージに関連付けられた性能および管理上の障害が重大な問題になった。

これは、発明の実施形態が対処するように意図された概略的な領域である。

概要

ステムおよび方法は、ネットワーク環境においてデータサービスを提供することができる。システムは、ネットワーク環境におけるノード上にデータサービスコンポーネントを提供することができる。ネットワーク環境は、ネットワークファブリックを介して相互接続される複数のノードを含む。さらに、システムは、固有パケット転送機構を用いて、ネットワークファブリックにおけるデータフローをノード上の上記データサービスコンポーネントに向けることができる。次いで、システムは、上記データサービスコンポーネント用いて、ネットワークファブリックにおけるデータフロー内の1つ以上のデータパケットを処理することができる。

目的

概要
この明細書中に記載されるシステムおよび方法は、ミドルウェアおよびアプリケーションの実行のためのエンジニアド・システムまたはミドルウェアマシン環境などのネットワーク環境においてデータサービスを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

ネットワーク環境においてデータサービスを提供するための方法であって、前記ネットワーク環境におけるノード上にデータサービスコンポーネントを提供するステップを含み、前記ネットワーク環境は、ネットワークファブリックを介して相互接続される複数のノードを含み、前記方法はさらに、固有パケット転送機構を用いて、前記ネットワークファブリックにおけるデータフローを前記ノード上の前記データサービスコンポーネントに向けるステップと、前記データサービスコンポーネントを用いて、前記ネットワークファブリックにおける前記データフロー内の1つ以上のデータパケットを処理するステップとを含む、方法。

請求項2

前記データサービスコンポーネントが、物理マシンを1つ以上のアプリケーションサーバ共有するステップ、または、専用の物理マシン上に常駐するステップを、さらに含む、請求項1に記載の方法。

請求項3

データサービス機器としての仮想マシンにおいて前記データサービスコンポーネントをデプロイするステップ、または、データサービスサーバとしての物理マシン上に前記データサービスコンポーネントを直接デプロイするステップを、さらに含む、請求項1または2に記載の方法。

請求項4

前記ネットワークファブリックは、インフィニバンドネットワークプロトコルに基づく、請求項1〜3のいずれか1項に記載の方法。

請求項5

外部ネットワークスイッチおよび外部ネットワークリンクのうち1つを介して、外部ネットワークにおける1つ以上のデータサービスサーバを前記ネットワークファブリックに接続するステップをさらに含む、請求項1〜4のいずれか1項に記載の方法。

請求項6

前記ノードは中間ノードであり、複数の通信パーティ物理的に分離する、および/または、ネットワークパーティションを介して複数の通信パーティを分離する、請求項1〜5のいずれか1項に記載の方法。

請求項7

前記ネットワーク環境における前記ネットワークファブリック上において前記データサービスコンポーネントの複数のインスタンスを同時に実行するステップをさらに含む、請求項1〜6のいずれか1項に記載の方法。

請求項8

前記データサービスコンポーネントの複数のインスタンスを対でデプロイするステップをさらに含む、請求項7に記載の方法。

請求項9

前記データサービスコンポーネントが、さまざまなタイプのネットワークトラフィック検査するように動作するソフトウェアファイアウォール(FWL)サービスを提供するするステップをさらに含む、請求項1〜8のいずれか1項に記載の方法。

請求項10

前記データサービスコンポーネントはトラフィックルーティングサービスを提供する、請求項9に記載の方法。

請求項11

プログラム命令機械読取り可能形式で含むコンピュータプログラムであって、前記プログラム命令は、コンピュータシステムによって実行されると、前記コンピュータシステムに、請求項1〜10のいずれか1項に記載の方法を実行させる、コンピュータプログラム。

請求項12

請求項11に記載のコンピュータプログラムが格納された非一時的な機械読取り可能な記憶媒体

請求項13

ネットワーク環境においてデータサービスを提供するためのシステムであって、1つ以上のマイクロプロセッサと、前記ネットワーク環境におけるノード上の1つ以上のマイクロプロセッサ上において実行されるデータサービスコンポーネントとを含み、前記ネットワーク環境は、ネットワークファブリックを介して相互接続される複数のノードを含み、前記データサービスコンポーネントは、固有のパケット転送機構を用いて、前記ネットワークファブリックにおけるデータフローを前記ノード上の前記データサービスコンポーネントに向け、前記データサービスコンポーネントを用いて、前記ネットワークファブリックにおける前記データフロー内の1つ以上のデータパケットを処理するように動作する、システム。

請求項14

前記データサービスコンポーネントは、物理マシンを1つ以上のアプリケーションサーバと共有するように動作する、または、専用の物理マシン上に常駐するように動作する、請求項13に記載のシステム。

請求項15

前記データサービスコンポーネントは、データサービス機器としての仮想マシンにおいてデプロイされるか、または、データサービスサーバとしての物理マシン上に直接デプロイされる、請求項13または14に記載のシステム。

請求項16

前記ネットワークファブリックはインフィニバンドネットワークプロトコルに基づいている、請求項1〜15のいずれか1項に記載のシステム。

請求項17

外部ネットワークにおける1つ以上のデータサービスサーバは、外部ネットワークスイッチおよび外部ネットワークリンクのうちの1つを介して前記ネットワークファブリックに接続される、請求項13〜16のいずれか1項に記載のシステム。

請求項18

前記ノードは中間ノードであり、複数の通信パーティを物理的に分離する、および/または、ネットワークパーティションを介して複数の通信パーティを分離する、請求項13から17のいずれかに記載のシステム。

請求項19

前記データサービスコンポーネントの複数のインスタンスは、前記ネットワーク環境における前記ネットワークファブリック上において同時に実行される、請求項13〜18のいずれか1項に記載のシステム。

請求項20

前記データサービスコンポーネントの複数のインスタンスが対でデプロイされる、請求項19に記載のシステム。

請求項21

前記データサービスコンポーネントは、さまざまなタイプのネットワークトラフィックを検査するように動作するソフトウェアファイアウォール(FWL)サービスと、トラフィックルーティングサービスとのうち少なくとも1つを提供するように動作する、請求項13〜20のいずれか1項に記載のシステム。

請求項22

データサービスを提供するための命令が格納された非一時的な機械読取り可能な記憶媒体であって、前記命令は実行されると、ネットワーク環境におけるノード上においてデータサービスコンポーネントを提供するステップをシステムに実行させ、前記ネットワーク環境は、ネットワークファブリックを介して相互接続される複数のノードを含み、前記命令は実行されると、さらに、固有のパケット転送機構を用いて、前記ネットワークファブリックにおけるデータフローを前記ノード上の前記データサービスコンポーネントに向けるステップと、前記データサービスコンポーネントを用いて、前記ネットワークファブリックにおける前記データフロー内の1つ以上のデータパケットを処理するステップとを、前記システムに実行させる、非一時的な機械読取り可能な記憶媒体。

技術分野

0001

著作権表示
この特許文献の開示の一部は、著作権保護の対象となる題材を含んでいる。著作権所有者は、特許商標包袋または記録に掲載されるように特許文献または特許情報開示を誰でも複製できることに対して異議はないが、その他の点ではすべての如何なる著作権をも保有する。

0002

発明の分野:
本発明は、概して、コンピュータシステムに関し、特定的には、ミドルウェアおよびアプリケーションの実行のためのエンジニアド・システム、またはミドルウェアマシン環境に関する。

背景技術

0003

背景
相互接続ネットワークは、次世代のスーパーコンピュータクラスタおよびデータセンタにおいて有益な役割を果たす。たとえば、インフィニバンド(IB:InfiniBand)技術が、クラウドコンピューティングファブリックのための基礎として広く展開されてきた。より大規模のクラウドコンピューティングアーキテクチャが導入されるのに応じて、従来のネットワークおよびストレージに関連付けられた性能および管理上の障害が重大な問題になった。

0004

これは、発明の実施形態が対処するように意図された概略的な領域である。

課題を解決するための手段

0005

概要
この明細書中に記載されるシステムおよび方法は、ミドルウェアおよびアプリケーションの実行のためのエンジニアド・システムまたはミドルウェアマシン環境などのネットワーク環境においてデータサービスを提供することができる。当該システムは、ネットワーク環境におけるノード上にデータサービスコンポーネントを提供することができる。ネットワーク環境は、ネットワークファブリックを介して相互接続される複数のノードを含み得る。さらに、システムは、固有パケット転送機構を用いて、ネットワークファブリック内のデータフローをノード上の上記データサービスコンポーネントに向けることができる。次いで、システムは、上記データサービスコンポーネントを用いて、ネットワークファブリックにおけるデータフロー内の1つ以上のデータパケットを処理することができる。加えて、上記データサービスコンポーネントはデータサービスを提供することができる。当該データサービスは、ソースおよび宛先のアプリケーションワークロードの両方に対してトランスペアレントであるソフトウェアファイアウォール(FWL:firewall)サービスまたはトラフィックルーティングサービスであり得る。

0006

システムおよび方法は、ネットワーク環境においてデータサービスを提供することができる。サブネットアドミニストレータは、ソースノードから経路記録レゾリューション要求を受取ることができる、この場合、ソースノードは、経路記録レゾリューション要求を用いて宛先ノードアドレスを獲得する。さらに、サブネットアドミニストレータは、ソースノードに中間ノードのアドレスを提供することができる。この場合、中間ノードはデータサービスを提供する。次いで、ソースノードは、中間ノードのアドレスに基づいて、データフロー内の1つ以上のデータパケットを中間ノードに送信することができる。

0007

システムおよび方法は、ネットワーク環境においてデータサービスアドレスレゾリューションをサポートすることができる。中間ノードは、ソースノードから着信データパケットを受取ることができる。この場合、着信データパケットは宛先ノードを対象とし、この着信データパケットは、宛先ノードのためのグローバル識別子および中間ノードのためのローカル識別子を含む。さらに、中間ノードは、宛先ノードのためのグローバル識別子に基づいて、宛先ノードについてのローカルアドレス指定情報を獲得することができる。次いで、中間ノードは、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて宛先ノードに発信データパケットを送信することができる。

0008

システムおよび方法は、ネットワーク環境においてデータサービスを提供することができる。ネットワーク環境はノードを含み得る。当該ノードは、データサービスを提供することができるデータサービスコンポーネントをサポートする。加えて、フィルタは、ノードに関連付けられたホストチャネルアダプタ(HCA:host channel adaptor)などのネットワーキングデバイス上に設けることができる。ネットワーキングデバイスは、フィルタを用いて、プロトコルを終了させることなくデータサービスコンポーネントを対象とする1つ以上のパケット識別するように動作する。さらに、フィルタは、上記1つ以上のパケットをデータサービスコンポーネントに転送することができる。

図面の簡単な説明

0009

発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためのデータサービス機器を提供する例を示す図である。
発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するための外部ネットワーク接続を用いる例を示す図である。
発明の実施形態に従った、ネットワーク環境においてバンプオン・ザ・ワイヤ(BoW:bump on the wire)モードのためにデータサービスを提供する例を示す図である。
発明の実施形態に従った、ネットワーク環境においてソフトウェアファイアウォール(FWL)を提供する例を示す図である。
発明の実施形態に従った、例示的なエンジニアド・システムの例を示す図である。
発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためにデータサービスを提供するための例示的なフローチャートである。
発明の実施形態に従った、ネットワーク環境におけるサブネットアドミニストレータ(SA:subnet administrator)の例を示すである。
発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するための制御フローをサポートする例を示す図である。
発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するためのデータフローをサポートする例を示す図である。
発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためのデータフローを制御するための例示的なフローチャートである。
発明の実施形態に従った、インフィニバンド(IB)アドレス指定を用いてネットワーク環境におけるデータサービスにアクセスするためのデータパケットフォーマットの例を示す図である。
発明の実施形態に従った、ネットワーク環境において中間ノード上のデータパケットを処理する例を示す図である。
発明の実施形態に従った、ネットワーク環境における接続管理をサポートする例を示す図である。
発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためのデータサービスアドレスレゾリューションをサポートするための例示的なフローチャートである。
発明の実施形態に従った、仮想環境においてデータサービスを提供するためのホストチャネルアダプタ(HCA:host channel adaptor)フィルタリングをサポートする例を示す図である。
発明の実施形態に従った、非仮想環境においてデータサービスを提供するためのホストチャネルアダプタ(HCA)フィルタリングをサポートする例を示す図である。
発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するためのHCAフィルタリングをサポートするための例示的なフローチャートである。

実施例

0010

詳細な説明:
この明細書中に記載されるシステムおよび方法は、ミドルウェアおよびアプリケーションの実行のためのエンジニアド・システム(またはミドルウェアマシン環境)において1つ以上のデータサービスを提供することができる。

0011

[固有のデータを処理するためのデータサービス]
発明の実施形態に従うと、(データサービス機器および/またはデータサービスサーバなどの)データサービスコンポーネントは、ネットワーク環境、たとえばミドルウェアおよびアプリケーション実行のためのエンジニアド・システム(またはミドルウェアマシン環境)においてさまざまなタイプのデータサービスを提供することができる。

0012

図1は、発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためのデータサービス機器を提供する例を示す図である。図1に示されるように、複数のノード(たとえば、ノードA111〜D114)は、ネットワーク環境100において、たとえばインフィニバンド(IB:INFINIBAND)ファブリック101を介して、相互接続することができる。

0013

さらに、ノードC113上に常駐するデータサービスコンポーネント110は、IBファブリック101上のデータフローのためにさまざまなデータサービスを提供することができる。たとえば、ノードA111とノードB112との間のデータフローは、固有のデータフローであってもよい。この固有のデータフローは、中間ノードC113上のデータサービスコンポーネント110によって提供されるデータサービスにアクセスするかまたは当該データサービスを消費することができる。このため、IBファブリック101における固有のデータは、IBファブリック101から出力されることなく処理することができる。

0014

発明の実施形態に従うと、データサービスコンポーネント110は、ネットワーク環境100においてすべてのタイプのネットワークトラフィック監視および検査するために使用することができるソフトウェアファイアウォール(FWL)サービスを提供することができる。加えて、データサービスコンポーネント110は、ネットワーク環境においてトラフィックルーティングを実行するためなどの他の目的のために用いることができる。

0015

さらに、データサービスコンポーネント(または複数のデータサービスコンポーネント)の複数のインスタンスは、高可用性HA:high availability)を提供して性能を向上させるために同じIBファブリック101にデプロイ(deploy)することができる。図1に示されるように、別のデータサービスコンポーネント120は、IBファブリック101上のノードD114上に常駐し得る。データサービスコンポーネント110およびデータサービスコンポーネント120はともに、同時にIBファブリック101上で実行することができる。

0016

発明の実施形態に従うと、データサービスコンポーネントは、データサービスを提供することに特化され得るか、または、同じ物理マシンを他のアプリケーション仮想サーバ共有するように構成され得る。図1に示されるように、データサービスコンポーネント110をホストするノードC113は、アプリケーションサーバ130をホストしてもよい。このため、ノードC113は、さまざまなアプリケーションワークロードをサポートするために用いることができる。たとえば、ノードC113は、これらのアプリケーションワークロードを実行する仮想マシンをホストすることができる。他方で、データサービスコンポーネント120をホストするノードD114は、データサービスを提供することに特化され得る。

0017

さらに、システムは、ネットワーク環境100におけるさまざまなトポロジーコンフィギュレーション(topological configurations)をサポートすることができる。たとえば、ノードC113は、他のノード間における通信をサポートするための中間ノードとしての役割に加えて、ソースノードおよび宛先ノードの両方としての役割を果たすことができる。このため、単一のノードC113は、ソースワークロード、宛先ワークロードおよびデータサービス機器ワークロードを含むさまざまなタイプのワークロードをサポートすることができる。

0018

発明の実施形態に従うと、システムは、仮想環境における仮想機器(すなわちデータサービス機器)としての仮想マシン(VM:virtual machine)においてデータサービスコンポーネント110または120をデプロイすることができる。代替的には、システムは、非仮想環境においてデータサービスサーバとしてノード上にデータサービス機器110または120を物理的にデプロイすることができる。

0019

さらに、IBファブリック101におけるトラフィックは、(たとえば、対象となるエンドポイントのレゾルブされたアドレスについての評価に基づいた)データ処理のために、選択的にデータサービスコンポーネント110または120に向けることができる。たとえば、データパケットは、固有のパケット転送機構のためのさまざまなルーティングアルゴリズムを用いて、ノードC113(またはノードD114)に向けることができる。また、IBファブリック101におけるトラフィックは、VMのレゾリューションに基づいて選択的にデータサービス機器に向けることができる。

0020

図2は、発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するための外部ネットワーク接続を用いる例を示す図である。図2に示されるように、複数のノード、たとえばノードA211〜B212を、たとえばインフィニバンド(IB)ファブリック201を介して、ネットワーク環境200において相互接続することができる。

0021

発明の実施形態に従うと、データサービスサーバ210は、外部ネットワーク202(たとえば、外部イーサネット登録商標)ネットワーク)に設けることができる。このような場合、データフローは、IBファブリック201から出てから、外部ネットワーク202におけるデータサービスサーバ210によって処理され、その後IBファブリック201に戻される必要があるかもしれない。

0022

さらに、システムは、外部ネットワーク202におけるデータサービスサーバ210をIBファブリック201に接続するためのさまざまな機構を用いることができる。図2に示されるように、データサービスサーバ210は、イーサネットスイッチ220を介してIBファブリック201に接続されてもよい。代替的には、データサービスサーバ210は、IBファブリック201上のノードB212へのイーサネットリンク230を介して、IBファブリック201に接続されてもよい。

0023

図3は、発明の実施形態に従った、ネットワーク環境においてバンプ・オン・ザ・ワイヤ(BoW:bump on the wire)モードのためにデータサービスを提供する例を示す図である。図3に示されるように、ネットワーク環境300においてさまざまなデータサービス(たとえば、ファイアウォールサービス)を提供することができるデータサービスサーバ311は、中間ノード310上に常駐することができる。

0024

発明の実施形態に従うと、中間ノード310は、通信する二者(またはエンドポイント)間、たとえば、ノードA301とノードB302との間、に物理的に配置することができる。このため、ノードA301とノードB302との間のデータフローは、中間ノード310上のデータサービスサーバ311を介して強制的に渡される可能性がある。

0025

加えて、中間ノード310は別のアプリケーションサーバ312を含み得る。このような場合、システムは、データフローにおけるどのデータパケットがデータサービスサーバ311によって処理されなければならないかを判断するために、逆フィルタリングルールを用いることができる。

0026

図4は、発明の実施形態に従った、ネットワーク環境においてソフトウェアファイアウォール(FWL)を提供する例を示す図である。図4に示されるように、複数のノード、たとえばノードA411〜D414は、ネットワーク環境400において、たとえばインフィニバンド(IB)ファブリック401を介して相互接続することができる。

0027

さらに、複数のソフトウェアFWL機器は、高可用性(HA)を提供して性能を向上させるためにIBファブリック401にデプロイすることができる。たとえば、FWL410はノードC413上に常駐することができ、FWL420はノードD414上に常駐することができる。

0028

図4に示されるように、IBファブリック401におけるノードA411とノードB412との間のトラフィックは、IBファブリック401から出力されることなく、検査のためにFWL410に向けることができる。FWL410は、ソースノードA411から受取られたデータパケットを宛先ノードB412に転送すべきかまたはデータパケットをドロップすべきかどうかを決定することができる。

0029

発明の実施形態に従うと、FWL410は、IBファブリック401におけるさまざまなタイプのトラフィックを監視および検査することができる。たとえば、Oracle Exalogicエンジニアド・システムにおけるIBトラフィックは、インターネット・プロトコル・オーバー・インフィニバンド(IPoIB:internet protocol overINFINIBAND)トラフィックと、イーサネット・オーバー・インフィニバンド(EoIB:Ethernet over INFINIBAND)トラフィックと、プライベートバーチャルインターコネクトPVI:private virtual interconnect)トラフィックと、ソケット・ダイレクト・プロトコル(SDP:sockets direct protocol)トラフィックと、ユーザ空間リモートダイレクトメモリアクセス(RDMA:remote direct memory access)トラフィックとを含み得る。このようなトラフィックは、低信頼性データグラム(UD:unreliable datagram)トランスポートプロトコル高信頼性接続(RC:reliable connection)トランスポートプロトコル、低信頼性接続(UC:unreliable connection)トランスポートプロトコル、高信頼性データグラム(RD:reliable datagram)トランスポートプロトコルおよび未加工トランスポートプロトコルなどのさまざまなトランスポートプロトコルに基づき得る。

0030

図5は、発明の実施形態に従った、例示的なエンジニアド・システムの例を示す図である。図5に示されるように、例示的なエンジニアド・システム500は、複数のスイッチA501〜B502を用いて相互接続されるノードA511〜D514などの複数のノードを含み得る。

0031

発明の実施形態に従うと、ファイアウォール(FWL)機器などのデータサービスコンポーネントは、高可用性(HA)をサポートしてエンジニアド・システム500の性能を向上させるために対でデプロイすることができる。

0032

図5に示されるように、アプリケーションサーバを含むアプリケーションVM541はノードA511上にデプロイすることができ、別のアプリケーションサーバを含むアプリケーションVM542はノードB512上にデプロイすることができる。加えて、FWL機器を含むFWL VM543はノードC513上にデプロイすることができ、別のFWL機器を含むFWL VM544はノードD514上にデプロイすることができる。

0033

さらに、ノードA511〜D514の各々は、1つ以上のホストチャネルアダプタ(HCA:host channel adaptor)を用いてネットワークに接続することができる。たとえば、ノードA511はHCA A521を用い、ノードB512はHCA B522を用い、ノードC513はHCA C523を用い、ノードD514はHCA D524を用いる。

0034

図5に示されるように、HCA A521〜D524の各々は2つのポート(たとえば、ポート1およびポート2)を有し得る。ネットワーク環境500における高可用性(HA)をサポートするために、システムは、さまざまなスイッチA501およびB502を介してノードA511〜D514のためのさまざまなHCAポートを接続することができる。

0035

発明の実施形態に従うと、同じノード上のさまざまなHCAポートは、各々のFWLHA対におけるさまざまなメンバに独立して割当てることができる。たとえば、IBサブネットにおけるサブネットアドミニストレータ(SA)は、FWL宛先ローカル識別子(DLID:destination local identifier)を割当てる際に、HAの対を認識することができる。

0036

図5に示されるように、ノードA511〜D514上のポート1のすべてをスイッチA501に接続することができ、ノードA511〜D514上のポート2のすべてをスイッチB502に接続することができる。このため、スイッチのうちの1つの上、たとえばスイッチA501上で障害が発生しても、(ノードA511〜D514間における)エンジニアド・システム500におけるトラフィックは依然としてスイッチB502を介して送信することができ、ノードD514の上のファイアウォール(FWL)機器はトラフィックを検査するために用いることができる(加えて、このようなスキームは、限定されることなく、1ノード当たり複数のHCAの事例に一般化することができる)。

0037

図6は、発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためにデータサービスを提供するための例示的なフローチャートである。図6に示されるように、ステップ601において、システムは、ネットワーク環境におけるノード上にデータサービスコンポーネントを提供することができる。この場合、ネットワーク環境は、ネットワークファブリックを介して相互接続された複数のノードを含む。次いで、ステップ602において、システムは、固有のパケット転送機構を用いて、ネットワークファブリック内のデータフローをノード上の上記データサービスコンポーネントに向けることができる。さらに、ステップ603において、システムは、上記データサービスコンポーネントを用いて、ネットワークファブリックにおけるデータフロー内の1つ以上のデータパケットを処理することができる。

0038

[データフローの制御]
図7は、発明の実施形態に従った、ネットワーク環境におけるサブネットアドミニストレータ(SA)の例を示す。図7に示されるように、IBファブリック700は、サブネットアドミニストレータ(SA)701を含み得る。サブネットアドミニストレータ(SA)701は、IBファブリック700におけるさまざまなノード間の通信をサポートするために経路記録レゾリューション(PR:path record resolution)を提供することができる。たとえば、IBプロトコルにおける経路記録などの経路記録は、アドレス情報と、(P_Key、Q_Key、SL等々などの)IBヘッダにおけるさまざまなフィールドに関連する他の情報とを含み得る。

0039

加えて、システムは、さまざまなポリシー720でSA701を構成するためのインターフェイス710を提供することができる。インターフェイス710は、コマンドラインインターフェイス(CLI:command line interface)および/またはアプリケーションプログラムインターフェイスAPI:application programming interface)であってもよい。

0040

発明の実施形態に従うと、ポリシー720は、宛先ノードに到着する前に、どのトラフィックをデータサービスノード(たとえばファイアウォール)を介して渡すべきであるかと、どのトラフィックを宛先ノードに直接転送することができるかと、を定義することができる。さらに、ポリシーは、ソースおよび宛先のグローバル識別子(GID:global identifier)に基づいて実現することができる。また、ポリシーは、アプリケーションレベル差別化をもたらすサービスIDに基づいて実現することができる。加えて、ポリシーはIBパーティションに基づいて実現することができる。

0041

たとえば、ユースケースがサポートし得るポリシーは、ミドルウェアマシンとクラスタデータベースマシンとの間のすべての通信がファイアウォールノードを通過することを必要とする。

0042

加えて、ユースケースがサポートし得るポリシーは、特定のP_Keyに関連付けられている特定のIBパーティションを使用することを必要とする。たとえば、特定のIBパーティションは、すべてのアプリケーション層サーバデータベースとの間におけるファイアウォール制御通信のためにのみ用いることができる。経路記録レゾリューション要求が特定のIBパーティションのコンテキスト内にある場合、SA701は、このポリシーを用いて、その経路上のすべてのパケットがファイアウォールを介してルーティングされるべきであることを示すことができる。

0043

別のユースケースは、2つの独立したサブネットを含むBoWデプロイメントのためのポリシーをサポートし得る。SMは、単にファブリックトポロジーを調べるだけでは、2つの独立したサブネットにおけるソースと宛先との間の経路を発見することができないかもしれない。ポリシーを用いて、ソースと宛先との間の経路が特定のデータサービスコンポーネント内を通って延在することをSMに通知することができる。また、BoWデプロイメントが複数のIBパーティションを必要とする場合、各々のパーティションについてのP_Keyをポリシーで特定することができる。

0044

図7に示されるように、SA701は、リクエスタ(たとえばソースノード)からPR要求711を受取ることができる。SA701は、ポリシー720に従って宛先ローカルアドレス、たとえば宛先ローカル識別子(DLID)、をレゾルブすることができる。次いで、SA701は、レゾルブされた宛先ローカルアドレスを含むPR応答712をリクエスタに送信し返すことができる。これにより、ソースノードは、レゾルブされたDLIDに基づいて宛先ノードにデータパケットを送信することができる。

0045

代替的には、SA701は、データパケットを宛先ノードに転送する前に、ソースノードが、データサービスコンポーネント(たとえば、ソフトウェアファイアウォール)を備えたデータサービスノードなどの中間ノードにデータパケットを向けるべきであると判断してもよい。SA701は、宛先ノードのためのDLIDの代わりに、データサービスノードのためのDLIDをソースノードに提供することができる。加えて、SA701は、データサービスコンポーネントの複数のインスタンスがネットワーク環境700に存在する場合、どのデータサービスノードを用いなければならないかを判断することができる。

0046

図8は、発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するための制御フローをサポートする例を示す図である。図8に示されるように、ネットワーク環境800は、1つ以上のスイッチ、たとえばスイッチ810、を用いて相互接続される複数のノード、たとえばノードA801〜D804、を含み得る。

0047

スイッチ810を用いて、ネットワーク環境800におけるデータフローを方向付けることができる。スイッチ810は、サブネットアドミニストレータ(SA)820を含み得る。サブネットアドミニストレータ(SA)820は、さまざまなルールまたはポリシー、たとえばルール830、に基づいて経路記録レゾリューション動作を実行することができる。スイッチ810上の安全な環境において(または安全なノード上で)実行されるSA820は、アドレスリゾリューションタスクを実行するためのさまざまな論理を実現することができる。

0048

発明の実施形態に従うと、システムは、SAポリシーに基づいて、IBサブネット内にあり得るかまたは複数のIBサブネット間にあり得るさまざまな経路を介して通信を確立するためにIBパケット内のグローバルルーティングヘッダ(GRH:global routing header)を利用することができる(GRHは、本来、さまざまなIBサブネット間における通信を確立するためのIB規格で定義されたものである)。

0049

たとえば、SA820は、経路記録レゾリューション応答におけるフィールド(たとえば、HopLimitフィールド)を用いて、IBサブネット内における特定の経路を介して通信を確立するためにGRHが必要になるかもしれないことをホストソフトウェアスタックに対して示すことができる。

0050

図8に示されるように、ノードA801は、アプリケーションサーバを含むアプリケーションVM A811をホストすることができる。アプリケーションVM A811は、グローバル識別子(GID)821(たとえば、0×AAAA)とローカル識別子(LID)A831(たとえば、0×A)を備えたローカルポートとに関連付けることができる。さらに、ノードB802は、アプリケーションサーバを含むアプリケーションVM B812をホストすることができる。アプリケーションVM B812は、GID B822(たとえば、0×BBBB)とLID B832(たとえば、0×B)を備えたローカルポートとに関連付けることができる。また、ノードC803は、アプリケーションサーバを含むアプリケーションVM C813をホストすることができる。アプリケーションVM C813は、GID C823(たとえば、0×CCCC)とLID C833(たとえば、0×C)を備えたローカルポートとに関連付けることができる。

0051

加えて、ネットワーク環境800は、データサービスVM D814をホストすることができるデータサービスノードD 804を含み得る。データサービスVM814は、GID D824(たとえば、0×DDDD)とローカル識別子D834(たとえば、0×D)を備えたローカルポートとに関連付けることができる。加えて、データサービスノードD804は、データサービスVM814に加えて、1つ以上のアプリケーションVMをホストすることができる。

0052

図8に示されるように、ネットワーク環境800におけるIBファブリック内において、(実線で示される)送信済みデータパケットを含むデータフローは、スイッチ810によって提供されるような標準的なLIDベースの転送特徴に基づき得る。加えて、(破線で示される)さまざまな制御情報を含む制御フローは、SA820によって提供されるようなアドレスリゾリューション特徴に基づき得る。

0053

たとえば、一組の例示的なルール830は以下のテーブルにおいて定義することができる。

0054

0×AAAA−0×BBBB−>0×D
0×CCCC−0×BBBB−>0×B
0×DDDD(0×AAAA)−0×BBBB−>0×B
上述のテーブルに示されるように、第1のルールは、GID0×AAAAを備えたVMから生じ、GID0×BBBBを備えたVMを対象としているすべてパケットが、DLID0×Dとともに送信されるべきであることを定義する。第2のルールは、GID0×CCCCを備えたVMから生じ、GID0×BBBBを備えたVMを対象としているすべてパケットが、DLID0×Bとともに送信されるべきであることを定義する。第3のルールは、(0×AAAAから生じ)GID0×DDDDを備えたVMから送信され、GID0×BBBBを備えたVMを対象としているすべてパケットが、DLID0×Bとともに送信されるべきであることを定義する。

0055

図8に示されるように、ノードA801は、スイッチ810上のSA820に対してPR要求841を送信することによって、ノードB802へのデータフローを開始することができる。サブネットアドミニストレータ820がノードA801からPR要求841を受取った後、SA820は、上述のテーブルにおける第1のルールに従ってPR要求841を処理し、ノードA801にPR応答842を送信することができる。PR応答842は、LID0×Dを用いて識別することができるローカルポートを有するデータサービスノードD804にデータパケットを向ける必要があることを示し得る。

0056

次いで、ソースノードA801は、データサービスノードD804にデータフロー851を向けることができる。受取ったデータフロー851をデータサービスノードD804が処理した後、データサービスノードD804はSA820にPR要求843を送信することができる。SA820は、さらに、ノードB802の実アドレスを含むPR応答844を返送することができる。こうして、データサービスノードD804は、データフロー852を宛先ノードB802に向けることができる。代替的には、データサービスノードD804は、受取ったパケットをドロップすると決定してもよい。

0057

また、図8に示されるように、SA820は、データフロー853をノードC803から、データサービスノードD804をバイパスするノードB802にまで直接方向付けることができる。この例においては、ノードC803は、最初に、PR要求845をSA820に送信することができる。次いで、SA820は、PR応答846でノードB802の実アドレスを返送することができる。

0058

発明の実施形態に従うと、データサービスノードD804は、他の機構を用いて、宛先LIDへの宛先GIDのマッピングを行うことができるが、これに限定されない。たとえば、データフローおよび制御フローはともに、LID転送特徴に基づき得るか、または、データフローおよび制御フローはともに、サブネットアドミニストレータ(SA)820によって実施されるようなアドレス指定方式に基づき得る。

0059

さらに、VMが複数のIBパーティションのメンバである場合、さまざまな転送ルールを、(たとえばさまざまなP_Keysに基づいて)さまざまなIBパーティションのために定義することができる。これにより、いくつかのIBパーティション上のトラフィックを宛先に直接ルーティングすることができ、他のIBパーティション上のトラフィックをデータサービス機器にルーティングしなければならないかもしれない。

0060

図9は、発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するためのデータフローをサポートする例を示す図である。図9に示されるように、ネットワーク環境900におけるノードA901〜B902は中間ノード910を介して互いに通信することができる。

0061

ホストチャネルアダプタ(HCA)921に関連付けられるノードA901は、アプリケーションサーバをホストするアプリケーション仮想マシン(VM)911を含む。さらに、ホストチャネルアダプタ(HCA)922に関連付けられるノードB902は、別のアプリケーションサーバをホストするアプリケーションVM912を含む。

0062

加えて、ホストチャネルアダプタ(HCA)940に関連付けられる中間ノード910は、データサービスVM931およびアプリケーションVM932を含み得る(すなわち、データサービスVM931およびアプリケーションVM932は同じ物理マシンを共有する)。データサービスVM931はデータサービスコンポーネントをホストすることができ、アプリケーションVM932はアプリケーションサーバをホストすることができる。

0063

ノードA901とノードB902との間の直通的通信を防止するために、システムは、中間ノード910をパーティションの完全なメンバとして許可しながらも、ノードA901およびノードB902の両方をIBファブリックにおけるパーティションの限られたメンバとして構成することができる。

0064

図9に示されるように、ノードA901からのデータフローを、送信(Tx)待ち行列対(QP:queue pair)951を用いて、アプリケーションVM911によって開始することができる。さらに、SAから受取ったPR応答に基づき、ノードA901は、中間ノード910上の受信(Rx)待ち行列対(QP)954にデータパケットを送信することができる。これにより、中間ノード910上のデータサービスVM931は、Rx QP954を介してノードA901からデータパケットを受取ることができる。

0065

次いで、データサービスVM931におけるデータサービスコンポーネントは着信データフローを処理することができる。たとえば、データサービスVM931は、着信データフローを調べることによってファイアウォールサービスを提供することができ、疑わしいデータパケットをドロップすることができる。加えて、データサービスVM931は、スニッフィング性能監視およびロードバランシングなどの他のデータサービスを提供することができる。

0066

データ処理を完了した後、データサービスVM931は、(たとえば、標準的なLIDベースの切換えに基づいて)Tx QP953からノードB902上のRx QP958に発信データパケットを送信することができる。これにより、アプリケーションVM912は、データフロー内のデータパケットを受取ることができる。

0067

さらに、ノードB902の上のアプリケーションVM912は、中間ノード910を介して、ノードA901上のアプリケーションVM911にリターンパケット送り返すことができる。図9に示されるように、リターンデータフローは、ノードB902上のTx QP957から開始することができ、中間ノード910上のRx QP954およびTx QP953を介して、ノードA901上のRx QP952で終了する。こうして、ノードA901上のアプリケーションVM911はノードB902からリターンパケットを受取ることができる。

0068

加えて、中間ノード910上に位置するアプリケーションVM932は、データサービスVM931によって、(たとえばTx QP955を介して)他のノードに1つ以上のデータパケットを送信することができる。また、アプリケーションVM932は、(たとえば、Rx QP956を介して)他のノードから1つ以上のデータパケットを受取ることができる。さらに、アプリケーションVM932は、ポリシー構成に応じて、1つ以上のデータパケットを他のノードに送信し、および/または、他のノードから直接1つ以上のデータパケットを受信して、データサービス931をバイパスすることができる。

0069

発明の実施形態に従うと、中間ノード910上のデータサービスVM931におけるデータフローの処理は、ソースノードA901および宛先ノードB902の両方に対してトランスペアレントであり得る(すなわち、ノードA901は、実際には、それがデータをノードB902に直接送信すると「考えてもよい」)。

0070

さらに、データサービスVM931におけるデータサービスコンポーネント(たとえば、ソフトウェアファイアウォール)は、分散型仮想ソフトウェア機器であってもよい。ネットワーク環境900における他のノードは、中間ノード910と、データサービスVM931におけるデータサービス機器との存在を認識していない可能性がある。

0071

図10は、発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためのデータフローを制御するための例示的なフローチャートである。図10に示されるように、ステップ1001において、サブネットアドミニストレータ(SA)は、ソースノードから経路記録レゾリューション要求を受取ることができる。この場合、ソースノードは、経路記録レゾリューション要求を用いて宛先ノードのアドレスを獲得する。次いで、ステップ1002において、SAは、中間ノードのアドレスをソースノードに提供することができる。この場合、中間ノードはデータサービスを提供する。さらに、ステップ1003において、ソースノードは、中間ノードのアドレスに基づいて中間ノードに1つ以上のデータパケットを送信することができる。

0072

[データサービスアドレス指定]
図11は、発明の実施形態に従った、ネットワーク環境においてデータサービスにアクセスするためにインフィニバンド(IB)アドレス指定を用いるデータパケットフォーマットの例を示す図である。図11に示されるように、IBサブネット1100は、複数の物理的な(または仮想の)ノード1101〜1103およびサブネットアドミニストレータ(SA)1120を含み得る。ソースノード1101は、中間ノード1102を介して、宛先ノード1103にパケット(たとえば、IBパケット1110)を送信することができる。

0073

IBパケット1110は、IBプロトコルに応じてペイロード1114およびさまざまなヘッダを含み得る。これらのヘッダは、グローバルルーティングヘッダ(GRH)1111、ローカルルーティングヘッダ(LRH:local routing header)1112および他のヘッダ1113を含み得る。加えて、IBパケット1110には、さまざまな巡回冗長検査CRC:cyclic redundancy check)1115を適用することができる。

0074

発明の実施形態に従うと、システムは、IBサブネット1100におけるデータサービスアドレス指定をサポートするために、GRH1111における宛先グローバル識別子(DGID)1121およびLRH1112における宛先ローカル識別子(DLID)1122を利用することができる。

0075

たとえば、システムは、IBパケット1110におけるDLID1122を(宛先ノード1103のためのDLIDの代わりに)中間ノード1102のためのDLIDに設定することができる。IBサブネット1100内では、IBパケット1110は、SA1120によってレゾルブされるようにDLID1122に基づいて中間ノード1102にルーティングすることができる。これにより、IBパケット1110は、中間ノード1102上に提供されるデータサービスを用いて処理することができる。

0076

さらに、システムは、GRH1111におけるDGID1121を用いて、宛先ノード1103についてのDLIDを示すことができる。これにより、中間ノード1102におけるデータサービスソフトウェアは、GRH1111におけるDGID1121情報に基づいて、宛先ノード1103についての真のDLIDをレゾルブする(または獲得する)ことができる。

0077

発明の実施形態に従うと、中間ノード1102は、必要に応じて、追加のパケットヘッダ1113および/またはペイロード1114の変更を実行することができる。たとえば、ファブリックレベルアクセス制御は、ソースノード1101および宛先ノード1103が、関連するパーティションの限られたメンバとなるかまたは同じパーティションのメンバとはならないように設定することができる。このような場合、中間ノード1102は、変更済みのパケットを宛先ノード1103に転送する前に、IBパケット1110におけるP_Key値を変更する必要があるかもしれない。

0078

図12は、発明の実施形態に従った、ネットワーク環境において中間ノード上のデータパケットを処理する例を示す図である。図12に示されるように、IBサブネット1200における中間ノード1210は、ソースノードから1つ以上のデータパケット(たとえば、着信IBパケット1201)を受取ることができる。

0079

着信IBパケット1201は、他の区域1213に加えて、グローバルルーティングヘッダ(GRH)1211およびローカルルーティングヘッダ(LRH)1212を含んでもよい。たとえば、GRH1211は、宛先ノードについての宛先グローバル識別子(DGID)1231、たとえば0×BBBB、を含み得る。LRH1212は、中間ノード1210についての宛先ローカル識別子(DLID)1232、たとえば0×F、を含み得る。

0080

さらに、中間ノード1210は、着信IBパケット1201を検査することができるファイアウォールサービスなどのデータサービスを提供することができる。データサービスを用いて着信IBパケット1201を処理した後、中間ノード1210は、(着信IBパケット1201におけるDGID1231に示されるように)宛先ノードに発信IBパケット1202を送信することができる。代替的には、中間ノード1210は、パケット1203をドロップすると決定してもよい。

0081

図12に示されるように、発信IBパケット1202は、他の区域1223に加えて、GRH1221およびLRH1222を含み得る。GRH1221は、宛先ノードのためのDGID1241を含み得る。LRH1222は、宛先ノードのためのDLID1242を含み得る。

0082

発明の実施形態に従うと、経路記録キャッシュ1220を用いて、宛先ノードのための真のDLIDをレゾルブすることができ、この真のDLIDを用いて、サブネット1200内の宛先ノードに発信IBパケット1202を向けることができる。

0083

経路記録キャッシュ1220は、IBサブネット1200におけるさまざまなノード上に存在し得る。SAは、経路記録キャッシュ1220の挙動連係させることができる。これにより、SAは、さまざまな要求のために中間ノード1210上のデータサービスアドレスまたは宛先ノード上の宛先アプリケーションアドレスを返送することができる。

0084

加えて、経路記録キャッシュ1220はアドレスマッピングテーブルを利用することができる。以下は例示的なアドレスマッピングテーブルである。

0085

DGID=0×BBBB−>DLID=0×B
DGID=0×CCCC−>DLID=0×C
DGID=0×AAAA−>DLID=0×A
図12に示されるように、GRH1211におけるDGID1231は、経路記録キャッシュ1220に基づいて真の宛先DLID1242をレゾルブするためにデータサービスソフトウェアによって用いることができる。たとえば、着信パケット1201は、「DGID=0×BBBB」および「DLID=0×F」のヘッダ情報を含み得る。上述のアドレスマッピングテーブルにおける第1のルールを適用して、中間ノード1210は、「DGID=0×BBBB」および「DLID=0×B」のヘッダ情報を含むように発信パケット更新することができる。

0086

さらに、中間ノード1210は、受取られたパケット1201における基本トランスポートヘッダ(BTH:basictransport header)のフィールドであるP_Key値を処理する必要があるかもしれない。なぜなら、両方のエンドノードが、対応するパーティションの限られたメンバとして構成される可能性があるからである。たとえば、ソースノードによって送信されるパケットは、(最上位ビット(MSB:most significant bit)クリアとして構成される)限定されたP_Keyを有してもよい。中間ノード1210は、パケットを宛先ノードに送信する前に、この限られたP_Keyを(最上位ビット(MSB)セットとして構成される)完全なP_Keyに変更する必要があるかもしれない。

0087

加えて、中間ノード1210は、QP数、Q_Key値などの他のトランスポートレベルアドレス情報のためにマッピングを提供することができる。たとえば、中間ノード1210は、(ソースQP数およびソースノードによって識別することができる)送信機ノードから1つ以上のデータパケットを受取るためにローカルなQP数を用いることができる。さらに、中間ノード1210は、ソースノードおよび宛先ノードがともに、(リモートエンドノードによって定義されるのではなく)中間ノード1210上のデータサービスによって定義されるものとしてトランスポートレベルアドレス情報を確実に識別することができるように、受取ったパケットを変更することができる。

0088

これにより、中間ノード1210は、どのトランスポートレベルリソースがエンドノード間において露出されるかを制御することができる。また、中間ノード1210は、性能を最適化して、さまざまな対のエンドノード間におけるさまざまなデータフロー上にさまざまなサービス品質(QoS:qualify of service)を提供するために、ローカルハードウェアによって実現されるローカルQPを利用することができる。

0089

図13は、発明の実施形態に従った、ネットワーク環境において接続管理をサポートする例を示す図である。図13に示されるように、IBサブネット1300におけるソースノード1301および宛先ノード1302は、中間ノード1310を介して互いに通信することができる。

0090

たとえば、IBパケット1311は、ソースノード1301から中間ノード1310に転送することができる。着信IBパケット1311は、グローバルルーティングヘッダ(GRH)1317、ローカルルーティングヘッダ(LRH)1313および他のトランスポートレベルアドレス情報1315を含み得る。加えて、IBパケット1311には、可変巡回冗長検査(CRC)1321および不変巡回冗長検査(CRC)1323を適用することができる。

0091

さらに、中間ノード1310はデータサービスを提供することができる。次いで、データサービスを用いて着信IBパケット1311を処理した後、中間ノード1310は、発信IBパケット1312を宛先ノード1302に転送することができる。IBパケット1312は、グローバルルーティングヘッダ(GRH)1318、ローカルルーティングヘッダ(LRH)1314および他のトランスポートレベルアドレス情報1316を含み得る。加えて、IBパケット1312には、可変巡回冗長検査(CRC)1322および不変巡回冗長検査(CRC)1324を適用することができる。

0092

発明の実施形態に従うと、ソースノード1301と宛先ノード1302とは、パーティショニングおよび/または他のIBファブリックレベルアクセス制御技術を用いて分離することができる。

0093

中間ノード1310は、ソースノード1301と宛先ノード1302との間のトラフィックをすべて観察することができる。中間ノード1310は、ソースノード1301と宛先ノード1302との間で交換された管理データグラム(MAD:management datagram)などの通信管理動作をすべて識別することができる。また、中間ノード1310は、アドレスリゾリューションプロトコル(ARP:address resolution protocol)動作などのさまざまなブロードキャストマルチキャストベースのアドレスリゾリューション動作を識別することができる。

0094

発明の実施形態に従うと、中間ノード1310は、パケットタイプに応じて、観察された通信に基づいてさまざまな方法で、受取ったIBパケット1311を処理することができる。

0095

たとえば、発信パケット1312は、LRH1314だけが変更されている以外は着信IBパケット1311と似ている。このような場合、システムは、単にパケット可変CRC1322を再演算するだけでよいかもしれない。他方で、発信パケット1312のための不変CRC1324は、着信IBパケット1311における不変CRC1322と同じままで残されていてもよい。このため、元の送信機(たとえば、ソースノード1301)によって生成される不変CRC1322は、最後の受信機(たとえば、宛先ノード1302)至るまでずっとデータパケットを保護することができる。中間ノード1310は、スイッチと同様にエンド・ツー・エンドのパケットインテグリティ保証することができる。

0096

代替的には、中間ノード1310は、IBパケット1311におけるトランスポートレベルアドレス情報1315などの他のヘッダ情報を変更してもよく、場合によっては、IBパケット1311におけるIBパケットペイロードを変更してもよい。

0097

たとえば、P_Keyまたは他のいずれかのトランスポートヘッダ情報1315が変更される場合、中間ノード1310は新しい不変CRC1324を生成する必要があるかもしれない。このような場合、システムは、完全に独立したパケットインテグリティの保護スキームを有することができ、このため、IBサブネット1300内におけるソースノード1301と宛先ノード1302との間において、もはや、エンド・ツー・エンド保護を提供しない可能性がある。

0098

また、中間ノード1310は、P_Keyを考慮に入れるようにインクリメンタル不変CRC更新(incremental invariant CRC update)を実行することができる。P_Keyの値は、パケットにおいて直接変更されるかまたは(作業要求などの)制御インターフェイスを介して変更される。これにより、中間ノード1310は、IBペイロードのデータインテグリティ特徴を維持することができ、HCA1510は、2つのエンドポイント間における分離をサポートするためにIB P_Keyの変更を許可する。

0099

発明の実施形態に従うと、システムは、中間ノード1310において新しい不変CRC1324を生成することによって生じる可能性のあるビットエラーリスクを最小限にするために、関連するバッファおよびデータ経路を保護するための別個のビットエラー保護スキームを採用することができる。また、システムは、エンド・ツー・エンドのデータインテグリティを保護するために、付加的なチェックサムに基づいたさまざまなエンド・ツー・エンドプロトコルを利用することができる。

0100

図14は、発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためのデータサービスアドレスレゾリューションをサポートするための例示的なフローチャートである。図14に示されるように、ステップ1401において、中間ノードは、ソースノードから着信データパケットを受取ることができる。着信データパケットは、宛先ノードを対象としており、着信データパケットは、宛先ノードのためのグローバル識別子および中間ノードのためのローカル識別子を含む。次いで、ステップ1402において、中間ノードは、宛先ノードのためのグローバル識別子に基づいて宛先ノードについてのローカルアドレス指定情報を獲得することができる。さらに、ステップ1403において、中間ノードは、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、宛先ノードに発信データパケットを送信することができる。

0101

[ホストチャネルアダプタ(HCA)フィルタリング]
図15は、発明の実施形態に従った、仮想環境においてデータサービスを提供するためのホストチャネルアダプタ(HCA)フィルタリングをサポートする例を示す図である。図15に示されるように、ネットワーク環境1500におけるデータサービスノード1501は、ネットワーク接続のために、ホストチャネルアダプタ(HCA)1510などのネットワーク接続素子を用いることができる。

0102

データサービスノード1501は、アプリケーションサーバ1504を含むアプリケーションVM1502と、データサービスコンポーネント(たとえば、データサービス機器1505)を含むデータサービスVM1503とを含み得る。さらに、データサービスノード1501は混合データフローを受取ることができる。混合データフロートラフィックは、アプリケーションVM1502またはデータサービスVM1503を対象としてもよい。

0103

図15に示されるように、データサービスノード1501は、待ち行列対(QP)1511〜1519に関連付けることができる。アプリケーションVM1502は、待ち行列対(QP)1511〜1513に関連付けることができ、データサービスVM1503は、受信(Rx)待ち行列対(QP)1514〜1516および送信(Tx)QP1517〜1519に関連付けることができる。

0104

発明の実施形態に従うと、データサービスノード1501は、HCA1510を用いてフィルタ能力を提供することができる。また、HCA1510は、フィルタをプログラムするためにさまざまなインターフェイスを提供することができる。

0105

たとえば、HCA1510は、LIDベースのフィルタリングを用いて仮想機器をサポートすることができる。この場合、標準プロトコル終端部分のためのHCAポートは、標準LID/LMCで構成することができ、ファイアウォールのためのHCAポートには1つ以上のさまざまなLIDを割当てることができる。代替的には、HCA1510は、逆論理を適用することができる。すなわち、標準的なLID範囲内に収まらない着信IBパケットはいずれもファイアウォールに向けられ得る。

0106

図15に示されるように、HCA1510は、受信(Rx)フィルタ1508を含み得る。受信(Rx)フィルタ1508は、プロトコルを終了させることなく、データサービス機器1505を対象とするパケットを識別することができる。これにより、HCA1510は、アプリケーションサーバ1504を対象とするデータフロートラフィックから、データサービスコンポーネント1505を対象とするデータフロートラフィックを分離することができる。

0107

たとえば、Rxフィルタ1508は、(たとえば、DLIDベースのフィルタリングを用いて)データサービスDLIDに基づいて混合データフロートラフィックを分離することができる。Rxフィルタ1508は、データサービスDLIDテーブル1509に関連付けることができる。以下は例示的なデータサービスDLIDテーブルである。

0108

DLID=0×F
DLID=0×FF
着信パケットが一致するDLID(たとえば、0×Fまたは0×FF)を有する場合、Rxフィルタ1508は、QP1514〜1516を介して、データサービスVM1503上のデータサービスコンポーネント1505にパケットを向けることができる。HCA1510は、これらのパケットを未処理のパケットとして処理することができ、それらパケットが受取られる(すなわち、IBヘッダをすべて含む)ときにこれらの着信パケットを転送することができる。

0109

他方では、着信パケットが一致するDLIDを有さない場合(すなわち0×Fおよび0×FF以外のDLIDを備えた)、Rxフィルタ1508は、アプリケーションVM1502上のアプリケーションサーバ1504に着信パケットを向けることができ、この動作はIBプロトコルエンジン1506を用いて、IBプロトコルに従ってIBパケットを処理することができる。

0110

代替的には、Rxフィルタ1508は、着信パケットにおけるGRH内のDGID情報を用いて、パケットをどこに転送するかを判断することができる。着信パケットが一致するDGIDを有する場合、Rxフィルタ1508は、データサービスVM1503上のデータサービスコンポーネント1505にパケットを向けることができる。着信パケットが一致するDGIDを有さない場合、Rxフィルタ1508は、アプリケーションVM1502上のアプリケーションサーバ1504にパケットを向けることができ、この動作は、IBプロトコルエンジン1506を用いて、IBプロトコルに従ってIBパケットを処理することができる。

0111

加えて、Rxフィルタ1508は、反転フィルタリング(またはリバースフィルタリング)に基づき得る。たとえば、反転フィルタリングは、バンプ・オン・ザ・ワイヤ(BOW)のユースケースにおいて(すなわち、データサービスノード1501が2つの通信ノードを分離する場合に)有益になり得る。

0112

このような場合、HCA1510は、その標準ポートLID構成を用いて、アプリケーションVM1502を対象とするパケットを識別することができる。HCA1510は、IB標準定義に従ってこれらのパケットを処理することができる。さらに、HCA1510は、データサービスコンポーネント1505を対象として他のすべてのパケットを処理することができる。

0113

発明の実施形態に従うと、HCA1510は、(たとえば、複数のスレッド1531〜1533を用いる)並列処理を可能にするために、Rx QP1514〜1516などの複数の待ち行列対(QP)にわたってトラフィックを分散させることができる。

0114

たとえば、HCA1510は、複数の待ち行列対(QP)1514〜1516にわたってトラフィックを分散させることができる受信側スケーリングRSS:receive side scaling)フィルタ1507を利用することができる。データサービスコンポーネント1505は、QP1514〜1516に到着するパケットを処理するためにさまざまなスレッド1531〜1533を割付けることができる。加えて、上記QP1514〜1516は、ノード上のオペレーティングシステムをバイパスするデータサービスコンポーネント1505に対して、直接、ハードウェアインターフェイスを露出させてもよい。

0115

さらに、データ処理用オーバーヘッドを最小限にするために、RSSフィルタ1507は、同じデータフローから受取られたさまざまなパケットを単一のデータサービススレッドに向けることができる。代替的には、HCA1510は、他のハッシュベースのフィルタまたは他のタイプのフィルタを用いて、複数の待ち行列対(QP)1514〜1516にわたってトラフィックを分散させて、並列処理を可能にすることができる。加えて、HCA1510は、コア類似性に従ってデータフローを方向付けることができ、データフロー内でパケットの順序を保持することができる。

0116

次いで、データサービスコンポーネント1505、たとえばソフトウェアFWLサービスは、DLID情報を含むIBヘッダを変更する、ならびに/または、フィルタリングおよび監視の目的でパケットヘッダおよび/もしくはペイロードを検査するなどして、着信データパケットを処理することができる。

0117

発明の実施形態に従うと、HCA1510は、ローモードパケットの転送をサポートすることができる。受信側では、HCA1510は、CRCを確認することができ、IBプロトコルを終了させることなく複数のアプリケーションレベルQPに(すべてのIBヘッダとともに)パケットをローフォーマットで転送することができ、RSS1507フィルタを用いて負荷を複数の受信待ち行列RQ)に分散させることができる。送信側では、データサービスコンポーネント1505によって処理されたパケットは、たとえばQP1517〜1519を介して、ローフォーマットでHCA1510にサブミットすることができる。HCA1510は、CRCを生成することができ、アプリケーションが、複数のアプリケーションレベルQPからパケットを(すべてのIBヘッダとともに)ローフォーマットでポストすることを許可する。

0118

発明の実施形態に従うと、HCA1510はルータ使用モデルをサポートすることができる。着信パケットにおけるDGIDがイングレスHCAポートのためのDGIDと一致する場合、パケットをIBプロトコルに従って処理することができる。着信パケットにおけるDGIDがイングレスHCAポートのためのいずれのDGIDとも一致しない場合、指定されたRx QPのセットのうちの1つにパケットを転送することができる、この場合、パケットは、宛先ノードへの転送前に、ホストノード1501上で実行されるソフトウェアによって検査する(任意には、変更する)ことができる。データパケットが転送されるべきであるとホストソフトウェアが判断すると、(場合によっては、IBヘッダが変更されている)パケット全体を、送信待ち行列を用いて送信することができる。送信待ち行列は、未処理のパケットをサポートすることができる。この場合、HCA1510のハードウェア(HW:hardware)は、パケットを送信しながら、可変巡回冗長検査(CRC)および不変巡回冗長検査(CRC)を任意に生成することができる。

0119

発明の実施形態に従うと、HCA1510は、ソフトウェアスタックオーバーヘッドを許可せず、データをコピーする必要のない処理スレッドにパケットを直接送達することができる。さらに、HCA1510は、単にヘッダの必要な部分のみに接触してもよい。たとえば、HCA1510は、ヘッダ/データ分離(またはヒット)をサポートすることができる。付加的には、HCA1510は、複数のコアとともに効率的にスケールアウトするために、処理ごとのスレッド専用の複数の待ち行列を利用することができる。

0120

付加的には、HCA1510は、巡回冗長検査(CRC)確認1521およびCRC生成1522のためにハードウェアの支援を行うことができる。また、HCA1510は、P_Keyを考慮に入れるように、インクリメンタル不変CRC更新を実行することができる。こP_Keyの値は、パケットにおいて直接変更されるか、または、(作業要求などの)制御インターフェイスを介して変更される。これにより、HCA1510は、IBペイロードのデータインテグリティ特徴を保持することができ、HCA1510は、2つのエンドポイント間の分離をサポートするためにIB P_Keyの変更を許可する。

0121

図16は、発明の実施形態に従った、非仮想環境においてデータサービスを提供するためのホストチャネルアダプタ(HCA)フィルタリングをサポートする例を示す図である。図16に示されるように、ネットワーク環境1600におけるデータサービスノード1601は、ホストチャネルアダプタ(HCA)1610などネットワーク接続素子を用いてネットワーク接続できるようにする。

0122

データサービスノード1601は、アプリケーションサーバ1604およびデータサービスコンポーネント(たとえば、データサービスサーバ1605)を含み得る。さらに、データサービスノード1601は混合データフローを受取り得る。混合データフロートラフィックは、アプリケーションサーバ1604またはデータサービスサーバ1605を対象としてもよい。

0123

図16に示されるように、データサービスノード1601は、待ち行列対(QP)1611〜1619に関連付けることができる。アプリケーションサーバ1604は、待ち行列対(QP)1611〜1613に関連付けることができ、データサービスサーバ1605は、受信(Rx)待ち行列対(QP)1614〜1616および送信(Tx)QP1617〜1619に関連付けることができる。

0124

発明の実施形態に従うと、データサービスノード1601は、HCA1610を用いて(図15に示されるような仮想環境と同様に)フィルタ能力を提供することができる。

0125

図16に示されるように、HCA1610は受信(Rx)フィルタ1608を含み得る。受信(Rx)フィルタ1608は、プロトコルを終了させることなくデータサービスサーバ1605を対象とするパケットを識別することができる。これにより、HCA1610は、(IBプロトコルに従ってIBパケットを処理するためにIBプロトコルエンジン1606を用いる)アプリケーションサーバ1604を対象とするデータフロートラフィックから、データサービスサーバ1605を対象とするデータフロートラフィックを分離することができる。

0126

発明の実施形態に従うと、HCA1610は、Rx QP1614〜1616などの複数の待ち行列対(QP)にわたってトラフィックを分散させることができ、これにより、(たとえば、複数のスレッド1631〜1633を用いて)並列処理を可能にし得る。たとえば、HCA1610は、複数の待ち行列対(QP)1614〜1616にわたってトラフィックを分解させることができる受信側スケーリング(RSS)フィルタ1607を利用することができる。データサービスサーバ1605は、QP1614〜1616上に到着するパケットを処理するためにさまざまなプロセス1631〜1633を割付けることができる。

0127

発明の実施形態に従うと、HCA1610はローモードパケット転送をサポートすることができる。付加的には、HCA1610は、巡回冗長検査(CRC)確認1621およびCRC生成1622のためにハードウェア支援を行うことができる。

0128

受信側では、HCA1610は、CRCを確認することができ、IBプロトコルを終了させることなく複数のアプリケーションレベルQPに(すべてのIBヘッダとともに)パケットをローフォーマットで転送することができ、RSSフィルタ1607を用いて複数の受信待ち行列(RQ)にまで負荷を分散させることができる。送信側では、データサービスコンポーネント1605によって処理されたパケットは、たとえば、QP1617〜1619を介して、ローフォーマットでHCA1610にサブミットすることができる。HCA1610は、CRCを生成することができ、アプリケーションが複数のアプリケーションレベルQPから(すべてのIBヘッダとともに)パケットをローフォーマットでポストすることを許可する。

0129

図17は、発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するためのHCAフィルタリングをサポートするための例示的なフローチャートである。図17に示されるように、ステップ1701において、システムは、ネットワーク環境におけるノードにネットワーキングデバイスを関連付けることができる。この場合、ノードには、データサービスを提供することができるデータサービスコンポーネントがデプロイされている。次いで、ステップ1702において、ネットワーキングデバイスは、プロトコルを終了させることなく、フィルタを用いて、データサービスコンポーネントを対象とする1つ以上のパケットを識別することができる。さらに、ステップ1703において、フィルタは、データサービスコンポーネントに上記1つ以上のパケットを転送することができる。

0130

一実施形態に従うと、ネットワーク環境においてデータサービスを提供するための装置が提供される。装置は、ネットワークファブリックを介して相互接続される複数のノードを含むネットワーク環境においてノード上にデータサービスコンポーネントを提供するための手段と、固有のパケット転送機構を用いて、ネットワークファブリック内のデータフローをノード上の上記データサービスコンポーネントに向けるための手段と、上記データサービスコンポーネントを用いて、ネットワークファブリックにおけるデータフロー内の1つ以上のデータパケットを処理するための手段とを含む。

0131

一実施形態に従うと、装置はさらに、上記データサービスコンポーネントが、1つ以上のアプリケーションサーバと物理マシンを共有すること、または、専用の物理マシン上に常駐することを可能にするための手段を含む。

0132

一実施形態に従うと、装置はさらに、データサービス機器としての仮想マシンにおいて上記データサービスコンポーネントをデプロイするための手段、または、データサービスサーバとしての物理マシン上に上記データサービスコンポーネントを直接デプロイするための手段を含む。

0133

一実施形態に従うと、装置はさらに、ネットワークファブリックがインフィニバンドネットワークプロトコルに基づくことを可能にするための手段を含む。

0134

一実施形態に従うと、装置はさらに、外部ネットワークスイッチおよび外部ネットワークリンクのうちの1つを介して、外部ネットワークにおける1つ以上のデータサービスサーバをネットワークファブリックに接続するための手段を含む。

0135

一実施形態に従うと、装置はさらに、ノードが、中間ノードとなることを可能にするための手段を含み、中間ノードは、複数の通信パーティ同士を物理的に分離すること、および、ネットワークパーティションを介して複数の通信パーティを分離することのうち少なくとも1つを実行する。

0136

一実施形態に従うと、装置はさらに、ネットワーク環境におけるネットワークファブリック上において上記データサービスコンポーネントの複数のインスタンスを同時に実行するための手段を含む。

0137

一実施形態に従うと、装置はさらに、上記データサービスコンポーネントの複数のインスタンスを対でデプロイするための手段を含む。

0138

一実施形態に従うと、装置はさらに、上記データサービスコンポーネントが、さまざまなタイプのネットワークトラフィックを検査するように動作するソフトウェアファイアウォール(FWL)サービスを提供することを可能にするための手段を含む。

0139

一実施形態に従うと、装置はさらに、上記データサービスコンポーネントがトラフィックルーティングサービスを提供することを可能にするための手段を含む。

0140

ネットワーク環境においてデータサービスを提供するためのシステムであって、ネットワーク環境は、ネットワークファブリックを介して相互接続された複数のノードを含む。システムは、複数のノードのうち或るノード上にデータサービスコンポーネントを含む。上記データサービスコンポーネントは、固有のパケット転送機構を用いることによって、上記データサービスコンポーネントに向けられたデータフローをネットワークファブリックにおいて受取り、ネットワークファブリックにおけるデータフロー内の1つ以上のデータパケットを処理するように構成される。

0141

一実施形態に従うと、ネットワークファブリックはインフィニバンドネットワークプロトコルに基づいている。

0142

一実施形態に従うと、上記データサービスコンポーネントを含むノードは中間ノードであり、この中間ノードは、複数の通信パーティを物理的に分離すること、および、ネットワークパーティションを介して複数の通信パーティを分離することのうち、少なくとも1つを実行する。

0143

一実施形態に従うと、上記データサービスコンポーネントはさらに、さまざまなタイプのネットワークトラフィックを検査するように動作するソフトウェアファイアウォール(FWL)サービスと、トラフィックルーティングサービスとのうち、少なくとも1つを提供するように構成される。

0144

ネットワーク環境においてデータサービスを提供するためのシステムであって、ネットワーク環境は、ネットワークファブリックを介して相互接続された複数のノードを含む。システムは、複数のノードのうち1つのノード上にデータサービスサーバを含む。上記データサービスサーバは、固有のパケット転送機構を用いることによって、上記データサービスサーバに向けられたデータフローをネットワークファブリックにおいて受取り、ネットワークファブリックにおけるデータフロー内の1つ以上のデータパケットを処理するように構成される。

0145

一実施形態に従うと、ネットワークファブリックは、インフィニバンドネットワークプロトコルに基づいている。

0146

一実施形態に従うと、上記データサービスサーバは、外部ネットワークスイッチおよび外部ネットワークリンクのうちの1つを介して、ネットワークファブリックに接続される外部ネットワークにおけるデータサービスサーバである。

0147

一実施形態に従うと、上記データサービスサーバを含むノードは中間ノードであり、この中間ノードは、複数の通信パーティを物理的に分離すること、および、ネットワークパーティションを介して複数の通信パーティを分離することのうち少なくとも1つを実行する。

0148

一実施形態に従うと、上記データサービスサーバは、さまざまなタイプのネットワークトラフィックを検査するように動作するソフトウェアファイアウォール(FWL)サービスと、トラフィックルーティングサービスとのうち少なくとも1つを提供するように構成される。

0149

一実施形態に従うと、ネットワーク環境においてデータサービスを提供するための方法が提供される。当該方法は、サブネットアドミニストレータを介して、ソースノードから経路記録レゾリューション要求を受取るステップを含み、ソースノードは、経路記録レゾリューション要求を用いて宛先ノードのアドレスを獲得する。上記方法はさらに、サブネットアドミニストレータを介して中間ノードのアドレスをソースノードに提供するステップを含み、中間ノードはデータサービスを提供する。上記方法はさらに、中間ノードのアドレスに基づいて、ソースノードを介して、データフロー内の1つ以上のデータパケットを中間ノードに送信するステップを含む。

0150

一実施形態に従うと、提供される方法は、中間ノードを介してデータサービスを用いて上記1つ以上のデータパケットを処理するステップと、上記1つ以上のデータパケットの処理後、中間ノードを介して、宛先ノードに1つ以上の発信データパケットを送信するステップとを含む。

0151

一実施形態に従うと、提供される方法は、ネットワーク環境がインフィニバンドプロトコルに基づくことを可能にするステップを含む。

0152

一実施形態に従うと、提供される方法は、中間ノードを、データサービスを提供することに特化するステップを含む。

0153

一実施形態に従うと、提供される方法は、サブネットアドミニストレータに関連付けられたインターフェイスを介してサブネットアドミニストレータのための1つ以上のポリシーを構成するステップと、サブネットアドミニストレータを介して1つ以上のポリシーを用いて、ソースノードのための1つ以上の宛先アドレスをレゾルブするステップとを含む。

0154

一実施形態に従うと、提供される方法は、上記1つ以上のポリシーが、ソースおよび宛先のグローバル識別子(GID)、サービス識別子(ID)およびネットワークパーティションのうち少なくとも1つに基づくことを可能にするステップを含む。

0155

一実施形態に従うと、提供される方法は、上記データサービスを提供するデータサービスコンポーネントを仮想機器としての仮想マシンにデプロイするステップを含む。

0156

一実施形態に従うと、提供される方法は、データサービスコンポーネントによって提供される上記データサービスが、ソースノードおよび宛先ノードの両方に対してトランスペアレントであることを可能にするステップを含む。

0157

一実施形態に従うと、提供される方法は、上記データサービスが、さまざまなタイプのネットワークトラフィックを検査するように動作するソフトウェアファイアウォール(FWL)サービスであることを可能にするステップを含む。

0158

一実施形態に従うと、提供される方法は、上記データサービスがトラフィックルーティングを実行することを可能にするステップを含む。

0159

一実施形態に従うと、ネットワーク環境においてデータサービスを提供するシステムが提供される。システムは、1つ以上のマイクロプロセッサと、ネットワーク環境における1つ以上のマイクロプロセッサ上で実行されるサブネットアドミニストレータとを含み、上記サブネットアドミニストレータは、ソースノードから経路記録レゾリューション要求を受取るように動作し、ソースノードは、経路記録レゾリューション要求を用いて、宛先ノードのアドレスを獲得する。上記サブネットアドミニストレータはさらに、データサービスを提供する中間ノードのアドレスをソースノードに提供し、中間ノードのアドレスに基づいて、ソースノードが、データフロー内の1つ以上のデータパケットを中間ノードに送信することを可能にするように動作する。

0160

一実施形態に従うと、提供されるシステムにおいては、中間ノードは、データサービスを用いて上記1つ以上のデータパケットを処理するように動作し、中間ノードは、上記1つ以上のデータパケットの処理後、宛先ノードに1つ以上の発信データパケットを送信するように動作する。

0161

一実施形態に従うと、提供されるシステムにおいては、ネットワーク環境はインフィニバンドプロトコルに基づいている。

0162

一実施形態に従うと、提供されるシステムにおいては、中間ノードはデータサービスを提供することに特化されている。

0163

一実施形態に従うと、提供されるシステムにおいては、サブネットアドミニストレータに関連付けられるインターフェイスは、サブネットアドミニストレータのための1つ以上のポリシーを構成するために用いられ、サブネットアドミニストレータは、1つ以上のポリシーを用いてソースノードについての1つ以上の宛先アドレスをレゾルブするように動作する。

0164

一実施形態に従うと、提供されるシステムにおいては、上記1つ以上のポリシーは、ソースおよび宛先のグローバル識別子(GID)、サービス識別子(ID)およびネットワークパーティションのうち少なくとも1つに基づいている。

0165

一実施形態に従うと、提供されるシステムにおいては、上記データサービスを提供するデータサービスコンポーネントは、仮想機器としての仮想マシンにおいてデプロイされる。

0166

一実施形態に従うと、提供されるシステムにおいては、データサービスコンポーネントによって提供される上記データサービスは、ソースノードおよび宛先ノードの両方に対してトランスペアレントである。

0167

一実施形態に従うと、提供されるシステムにおいては、上記データサービスコンポーネントは、さまざまなタイプのネットワークトラフィックを検査するように動作するソフトウェアファイアウォール(FWL)サービスと、トラフィックルーティングサービスとのうち少なくとも1つを提供するように動作する。

0168

一実施形態に従うと、命令が格納された非一時的な機械読取り可能記憶媒体が提供される。当該命令は、実行されると、サブネットアドミニストレータを介して、ソースノードから経路記録レゾリューション要求を受取るステップをシステムに実行させ、ソースノードは、経路記録レゾリューション要求を用いて宛先ノードのアドレスを獲得する。当該命令はさらに、実行されると、サブネットアドミニストレータを介して、データサービスを提供する中間ノードのアドレスをソースノードに提供するステップと、中間ノードのアドレスに基づいて、ソースノードを介して、データフロー内の1つ以上のデータパケットを中間ノードに送信するステップとを、システムに実行させる。

0169

一実施形態に従うと、ネットワーク環境においてデータサービスを提供するための装置が提供される。装置は、サブネットアドミニストレータを介して、ソースノードから経路記録レゾリューション要求を受取るための手段を含み、ソースノードは、経路記録レゾリューション要求を用いて宛先ノードのアドレスを獲得し、装置はさらに、データサービスを提供する中間ノードのアドレスを、サブネットアドミニストレータを介して、ソースノードに提供するための手段と、中間ノードのアドレスに基づいて、ソースノードを介して、データフロー内の1つ以上のデータパケットを中間ノードに送信するための手段とを含む。

0170

一実施形態に従うと、装置はさらに、中間ノードを介してデータサービスを用いて上記1つ以上のデータパケットを処理するための手段と、上記1つ以上のデータパケットの処理後、中間ノードを介して、1つ以上の発信データパケットを宛先ノードに送信するための手段とを含む。

0171

一実施形態に従うと、装置はさらに、ネットワーク環境がインフィニバンドプロトコルに基づくことを可能にするための手段を含む。

0172

一実施形態に従うと、装置はさらに、中間ノードを、データサービスを提供することに特化するための手段を含む。

0173

一実施形態に従うと、装置はさらに、サブネットアドミニストレータに関連付けられるインターフェイスを介して、サブネットアドミニストレータのための1つ以上のポリシーを構成するための手段と、サブネットアドミニストレータを介して1つ以上のポリシーを用いて、ソースノードについての1つ以上の宛先アドレスをレゾルブするための手段とを含む。

0174

一実施形態に従うと、装置はさらに、上記1つ以上のポリシーが、ソースおよび宛先のグローバル識別子(GID)、サービス識別子(ID)およびネットワークパーティションのうち少なくとも1つに基づくことを可能にするための手段を含む。

0175

一実施形態に従うと、装置はさらに、上記データサービスを提供するデータサービスコンポーネントを仮想機器としての仮想マシンにデプロイするための手段を含む。

0176

一実施形態に従うと、装置はさらに、データサービスコンポーネントによって提供される上記データサービスがソースノードおよび宛先ノードの両方に対してトランスペアレントであることを可能にするための手段を含む。

0177

一実施形態に従うと、装置はさらに、上記データサービスが、さまざまなタイプのネットワークトラフィックを検査するように動作するソフトウェアファイアウォール(FWL)サービスであることを可能にするための手段を含む。

0178

一実施形態に従うと、装置はさらに、上記データサービスがトラフィックルーティングを実行することを可能にするための手段を含む。

0179

一実施形態に従うと、ネットワーク環境においてデータサービスを提供するシステムが提供される。当該システムは、サブネットアドミニストレータを含み、上記サブネットアドミニストレータは、ソースノードから経路記録レゾリューション要求を受取るように動作し、ソースノードは、経路記録レゾリューション要求を用いて宛先ノードのアドレスを獲得する。当該システムはさらに、データサービスを提供する中間ノードのアドレスをソースノードに提供し、中間ノードのアドレスに基づいて、ソースノードがデータフロー内の1つ以上のデータパケットを中間ノードに送信することを可能にするように動作する。

0180

一実施形態に従うと、ネットワーク環境におけるデータサービスアドレスレゾリューションをサポートするための方法が提供される。当該方法は、中間ノードを介してソースノードから着信データパケットを受取るステップを含む。着信データパケットは宛先ノードを対象とし、着信データパケットは、宛先ノードのためのグローバル識別子と、中間ノードのためのローカル識別子とを含み、当該方法はさらに、宛先ノードのためのグローバル識別子に基づいて、中間ノードを介して、宛先ノードについてのローカルアドレス指定情報を獲得するステップと、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、中間ノードを介して、発信データパケットを宛先ノードに送信するステップとを含む。

0181

一実施形態に従うと、提供される方法は、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、発信データパケットにおいて、宛先ノードのためのローカル識別子を含めるステップを含む。

0182

一実施形態に従うと、提供される方法は、発信データパケットが、ローカル識別子だけが変更されている以外は着信データパケットに似ている場合、発信データパケットに関連付けられた可変巡回冗長検査(CRC)を更新するステップと、発信データパケットが変更済みのトランスポートレベル情報を含む場合、発信データパケットに関連付けられた不変巡回冗長検査(CRC)を更新するステップとを含む。

0183

一実施形態に従うと、ネットワーク環境がインフィニバンドプロトコルに基づくことを可能にするステップを含む方法が提供される。

0184

一実施形態に従うと、提供される方法は、経路記録レゾリューションキャッシュを用いて、着信データパケットの1つ以上のヘッダにおける1つ以上のフィールドによって識別される1つ以上のアドレスをレゾルブするステップを含む。

0185

一実施形態に従うと、提供される方法は、中間ノードだけを介して互いと通信するようにソースノードおよび宛先ノードを構成するステップを含む。ソースノードおよび宛先ノードは、異なるパーティションに関連付けられること、同じパーティションの限られたメンバであること、および異なるサブネットにあること、のうち1つとなるように構成される。

0186

一実施形態に従うと、提供される方法は、データサービスを提供する上記中間ノードを介して、データサービス機器をホストするステップを含む。

0187

一実施形態に従うと、提供される方法は、上記データサービス機器がトラフィックルーティングを実行することを可能にするステップを含む。

0188

一実施形態に従うと、提供される方法は、上記データサービス機器がソフトウェアファイアウォール(FWL)サービスを提供することを可能にするステップを含む。

0189

一実施形態に従うと、提供される方法は、上記中間ノード上のソフトウェアFWLサービスを介して、別の着信データパケットをドロップするステップを含む。

0190

一実施形態に従うと、ネットワーク環境におけるデータサービスアドレスレゾリューションをサポートするためのシステムが提供される。当該システムは、1つ以上のマイクロプロセッサと、ネットワーク環境において1つ以上のマイクロプロセッサ上で実行されるノードとを含む。上記ノードは、ソースノードから着信データパケットを受取るように動作し、着信データパケットは宛先ノードを対象とし、着信データパケットは、宛先ノードのためのグローバル識別子および中間ノードのためのローカル識別子を含み、上記ノードはさらに、宛先ノードのためのグローバル識別子に基づいて宛先ノードについてのローカルアドレス指定情報を獲得し、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて発信データパケットを宛先ノードに送信するように動作する。

0191

一実施形態に従うと、提供されるシステムにおいては、発信データパケットは、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて宛先ノードのためのローカル識別子を含む。

0192

一実施形態に従うと、提供されるシステムにおいては、上記ノードは、発信データパケットが、宛先ノードのためのローカル識別子だけが変更されている着信データパケットに似ている場合、発信データパケットに関連付けられた可変巡回冗長検査(CRC)を更新し、発信データパケットが変更済みのトランスポートレベル情報を含む場合、発信データパケットに関連付けられた不変巡回冗長検査(CRC)を更新するように動作する。

0193

一実施形態に従うと、提供されるシステムにおいては、ネットワーク環境はインフィニバンドプロトコルに基づいている。

0194

一実施形態に従うと、提供されるシステムにおいては、経路記録レゾリューションキャッシュは、着信データパケットの1つ以上のヘッダにおける1つ以上のフィールドによって識別される1つ以上のアドレスをレゾルブするように動作する。

0195

一実施形態に従うと、提供されるシステムにおいては、ソースノードおよび宛先ノードは、中間ノードを介してのみ互いと通信するように構成され、ソースノードおよび宛先ノードは、異なるパーティションに関連付けられること、同じパーティションの限られたメンバであること、および異なるサブネットにあること、のうち1つとなるように構成される。

0196

一実施形態に従うと、提供されるシステムにおいては、データサービスを提供する上記中間ノードがデータサービス機器をホストする。

0197

一実施形態に従うと、提供されるシステムにおいては、上記データサービス機器はトラフィックルーティングを実行するように動作する。

0198

一実施形態に従うと、提供されるシステムにおいては、上記データサービス機器は、ソフトウェアファイアウォール(FWL)サービスを提供するように動作する。

0199

一実施形態に従うと、命令が格納された非一時的な機械読取り可能な記憶媒体が提供される。当該命令は、実行されると、中間ノードを介して、ソースノードから着信データパケットを受取るステップをシステムに実行させる。着信データパケットは宛先ノードを対象とし、着信データパケットは、宛先ノードのためのグローバル識別子および中間ノードのためのローカル識別子を含む。当該命令はさらに、実行されると、宛先ノードのためのグローバル識別子に基づいて、中間ノードを介して、宛先ノードについてのローカルアドレス指定情報を獲得するステップと、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、中間ノードを介して、宛先ノードに発信データパケットを送信するステップとをシステムに実行させる。

0200

一実施形態に従うと、ネットワーク環境においてデータサービスアドレスレゾリューションをサポートするための装置が提供される。当該装置は、中間ノードを介して、ソースノードから着信データパケットを受取るための手段を含み、着信データパケットは宛先ノードを対象とし、着信データパケットは、宛先ノードのためのグローバル識別子および中間ノードのためのローカル識別子を含み、当該装置はさらに、宛先ノードのためのグローバル識別子に基づいて、中間ノードを介して、宛先ノードについてのローカルアドレス指定情報を取得するための手段と、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、中間ノードを介して、宛先ノードに発信データパケットを送信するための手段とを含む。

0201

一実施形態に従うと、装置はさらに、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、発信データパケットにおいて宛先ノードのためのローカル識別子を含むための手段を含む。

0202

一実施形態に従うと、装置はさらに、発信データパケットが、ローカル識別子だけが変更されている以外は着信データパケットに似ている場合、発信データパケットに関連付けられた可変巡回冗長検査(CRC)を更新するための手段と、発信データパケットが変更済みのトランスポートレベル情報を含む場合、発信データパケットに関連付けられた不変巡回冗長検査(CRC)を更新するための手段とを含む。

0203

一実施形態に従うと、装置は、ネットワーク環境がインフィニバンドプロトコルに基づくことを可能にするための手段を含む。

0204

一実施形態に従うと、装置はさらに、経路記録レゾリューションキャッシュを用いて、着信データパケットの1つ以上のヘッダにおける1つ以上のフィールドによって識別される1つ以上のアドレスをレゾルブするための手段を含む。

0205

一実施形態に従うと、装置はさらに、中間ノードのみを介して互いと通信するようにソースノードおよび宛先ノードを構成するための手段を含む。ソースノードおよび宛先ノードは、異なるパーティションに関連付けられること、同じパーティションの限られたメンバであること、および異なるサブネットにあること、のうち1つとなるように構成される。

0206

一実施形態に従うと、装置はさらに、データサービスを提供する上記中間ノードを介して、データサービス機器をホストするための手段を含む。

0207

一実施形態に従うと、装置はさらに、上記データサービス機器がトラフィックルーティングを実行することを可能にするための手段を含む。

0208

一実施形態に従うと、装置はさらに、上記データサービス機器がソフトウェアファイアウォール(FWL)サービスを提供することを可能にするための手段を含む。

0209

一実施形態に従うと、装置はさらに、上記中間ノード上のソフトウェアFWLサービスを介して、別の着信データパケットをドロップするための手段を含む。

0210

一実施形態に従うと、ネットワーク環境におけるデータサービスアドレスレゾリューションをサポートするためのシステムが提供される。当該システムは、ネットワーク環境においてノードを含み、上記ノードは、ソースノードから着信データパケットを受取るように動作し、着信データパケットは宛先ノードを対象とし、着信データパケットは、宛先ノードのためのグローバル識別子および中間ノードのためのローカル識別子を含み、上記ノードはさらに、宛先ノードのためのグローバル識別子に基づいて、宛先ノードについてのローカルアドレス指定情報を獲得し、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、宛先ノードに発信データパケットを送信するように動作する。

0211

一実施形態に従うと、ネットワーク環境においてデータサービスを提供するためのシステムが提供される。当該システムは、1つの以上のマイクロプロセッサと、上記1つ以上のマイクロプロセッサ上において実行されるノードとを含み、ノードは、データサービスを提供するよう動作するデータサービスコンポーネントを含み、当該システムはさらに、ノードに関連付けられたネットワーキングデバイスを含み、当該ネットワーキングデバイスは、フィルタを用いて、プロトコルを終了させることなく、データサービスコンポーネントを対象とする1つ以上のパケットを識別し、データサービスコンポーネントに上記1つ以上のパケットを転送するように動作する。

0212

一実施形態に従うと、提供されるシステムにおいては、上記データサービスコンポーネントは、仮想機器としての仮想マシンおよび専用ノードのうちの1つにおいてデプロイされる。

0213

一実施形態に従うと、提供されるシステムにおいては、データサービスコンポーネントは、ファイアウォール(FWL)サービスおよびトラフィックルーティングサービスのうち少なくとも1つを提供する。

0214

一実施形態に従うと、提供されるシステムにおいては、上記フィルタは、各々の上記パケットにおける宛先ローカル識別子(DLID)のフィルタリング、各々の上記パケットにおける宛先グローバル識別子(DGID)のフィルタリング、および反転フィルタリングのうち少なくとも1つに基づいている。

0215

一実施形態に従うと、提供されるシステムにおいては、データサービスコンポーネントは上記1つ以上のパケットを処理するように動作し、ネットワーキングデバイスは、処理されたパケットを1つ以上の宛先ノードに送信するように動作する。

0216

一実施形態に従うと、提供されるシステムにおいては、ノードは複数の待ち行列対(QP)に関連付けられ、1つ以上の上記QPはアプリケーションサーバに関連付けられ、1つ以上の上記QPはデータサービスコンポーネントに関連付けられる。

0217

一実施形態に従うと、提供されるシステムにおいては、ネットワーキングデバイスは、アプリケーションサーバを対象とするトラフィックから、データサービスコンポーネントを対象とするトラフィックを分離するように動作する。

0218

一実施形態に従うと、提供されるシステムにおいては、ネットワーク環境はインフィニバンドプロトコルに基づいており、ネットワーキングデバイスはホストチャネルアダプタ(HCA)である。

0219

一実施形態に従うと、提供されるシステムにおいては、ネットワーキングデバイスは、1つ以上のパケット上において巡回冗長検査(CRC)確認およびCRC生成を実行するように動作し、ネットワーキングデバイスは、トランスポートヘッダが更新されたときに、エンド・ツー・エンドデータインテグリティを維持するために、不変CRCのためにインクリメンタルCRC更新を実行するように動作する。

0220

一実施形態に従うと、提供されるシステムにおいては、ネットワーキングデバイスは、並列処理のために、データサービスコンポーネントを対象とするトラフィックを複数のQPにわたって分散させるように動作し、上記QPは、ノード上のオペレーティングシステムをバイパスするデータサービスコンポーネントに対してハードウェアインターフェイスを直接露出させるように動作する。

0221

一実施形態に従うと、ネットワーク環境においてデータサービスを提供するための方法が提供される。当該方法は、ネットワーク環境においてネットワーキングデバイスをノードに関連付けるステップを含み、ノードには、データサービスを提供することができるデータサービスコンポーネントがデプロイされ、当該方法はさらに、ネットワーキングデバイスを介してフィルタを用いて、プロトコルを終了させることなく、データサービスコンポーネントを対象とする1つ以上のパケットを識別するステップと、データサービスコンポーネントに上記1つ以上のパケットを転送するステップとを含む。

0222

一実施形態に従うと、提供される方法は、仮想機器としての仮想マシンおよび専用ノードのうちの1つにおいて上記データサービスコンポーネントをデプロイするステップを含む。

0223

一実施形態に従うと、提供される方法は、データサービスコンポーネントが、ファイアウォール(FWL)サービスおよびトラフィックルーティングサービスのうち少なくとも1つを提供することを可能にするステップを含む。

0224

一実施形態に従うと、提供される方法は、上記フィルタが、各々の上記パケットにおける宛先ローカル識別子(DLID)のフィルタリング、各々の上記パケットにおける宛先グローバル識別子(DGID)のフィルタリング、および反転フィルタリングのうち少なくとも1つに基づくことを可能にするステップを含む。

0225

一実施形態に従うと、提供される方法は、データサービスコンポーネントが上記1つ以上のパケットを処理することを可能にするステップと、処理されたパケットを1つ以上の宛先ノードに送信するステップとを含む。

0226

一実施形態に従うと、提供される方法は、ノードを複数の待ち行列対(QP)に関連付けるステップを含む。1つ以上の上記QPはアプリケーションサーバに関連付けられ、1つ以上の上記QPはデータサービスコンポーネントに関連付けられる。

0227

一実施形態に従うと、提供される方法は、上記フィルタをネットワーキングデバイス上に提供するステップを含み、ネットワーキングデバイスは、アプリケーションサーバを対象とするトラフィックから、データサービスコンポーネントを対象とするトラフィックを分離するように動作する。

0228

一実施形態に従うと、提供される方法は、ネットワーク環境がインフィニバンドプロトコルに基づくことを可能にするステップと、ネットワーキングデバイスがホストチャネルアダプタ(HCA)となることを可能にするステップとを含む。

0229

一実施形態に従うと、提供される方法は、1つ以上のパケット上において巡回冗長検査(CRC)確認およびCRC生成を実行すること、トランスポートヘッダが更新されたときに、エンド・ツー・エンドのデータインテグリティを維持するために不変CRCのためにインクリメンタルCRC更新を実行すること、並列処理のためにデータサービスコンポーネントを対象とするトラフィックを複数のQPにわたって分散させること、および、1つ以上のQPが、ノード上のオペレーティングシステムをバイパスするデータサービスコンポーネントに対してハードウェアインターフェイスを直接露出させることを可能にすること、のうち少なくとも1つをネットワーキングデバイスが実行することを可能にする。

0230

一実施形態に従うと、命令が格納された非一時的な機械読取り可能な記憶媒体が提供される。当該命令が実行されると、ネットワーク環境におけるノードにネットワーキングデバイスを関連付けるステップをシステムに実行させ、ノードには、データサービスを提供することができるデータサービスコンポーネントがデプロイされており、さらに、当該命令が実行されると、ネットワーキングデバイスを介してフィルタを用いて、プロトコルを終了させることなくデータサービスコンポーネントを対象とする1つ以上のパケットを識別するステップと、データサービスコンポーネントに上記1つ以上のパケットを転送するステップとをシステムに実行させる。

0231

一実施形態に従うと、ネットワーク環境においてデータサービスを提供するためのシステムが提供される。当該システムは、データサービスを提供するように動作するデータサービスコンポーネントを含むノードと、ノードに関連付けられたネットワーキングデバイスとを含む。ネットワーキングデバイスは、フィルタを用いて、プロトコルを終了させることなく、データサービスコンポーネントを対象とする1つ以上のパケットを識別し、上記1つ以上のパケットをデータサービスコンポーネントに転送するように動作する。

0232

一実施形態に従うと、ネットワーク環境においてデータサービスを提供するための装置が提供される。当該装置は、ネットワーク環境においてネットワーキングデバイスをノードに関連付けるための手段を含み、ノードには、データサービスを提供することができるデータサービスコンポーネントがデプロイされており、当該装置はさらに、ネットワーキングデバイスを介してフィルタを用いて、プロトコルを終了させることなく、データサービスコンポーネントを対象とする1つ以上のパケットを識別するための手段と、データサービスコンポーネントに上記1つ以上のパケットを転送するための手段とを含む。

0233

一実施形態に従うと、装置はさらに、仮想機器としての仮想マシンおよび専用ノードのうちの1つにおいて上記データサービスコンポーネントをデプロイするための手段を含む。

0234

一実施形態に従うと、装置はさらに、データサービスコンポーネントが、ファイアウォール(FWL)サービスおよびトラフィックルーティングサービスのうち少なくとも1つを提供することを可能にするための手段を含む。

0235

一実施形態に従うと、装置はさらに、上記フィルタが、各々の上記パケットにおける宛先ローカル識別子(DLID)のフィルタリング、各々の上記パケットにおける宛先グローバル識別子(DGID)のフィルタリング、および反転フィルタリングのうち少なくとも1つに基づくことを可能にするための手段を含む。

0236

一実施形態に従うと、装置はさらに、データサービスコンポーネントが上記1つ以上のパケットを処理することを可能にするための手段と、処理されたパケットを1つ以上の宛先ノードに送信するための手段とを含む。

0237

一実施形態に従うと、装置はさらに、ノードを複数の待ち行列対(QP)に関連付けるための手段を含み、1つ以上の上記QPはアプリケーションサーバに関連付けられ、1つ以上の上記QPはデータサービスコンポーネントに関連付けられる。

0238

一実施形態に従うと、装置はさらに、ネットワーキングデバイス上に上記フィルタを提供するための手段を含み、ネットワーキングデバイスは、アプリケーションサーバを対象とするトラフィックから、データサービスコンポーネントを対象とするトラフィックを分離するように動作する。

0239

一実施形態に従うと、装置はさらに、ネットワーク環境がインフィニバンドプロトコルに基づくことを可能にするための手段と、ネットワーキングデバイスがホストチャネルアダプタ(HCA)になることを可能にするための手段とを含む。

0240

一実施形態に従うと、装置はさらに、1つ以上のパケット上において巡回冗長検査(CRC)確認およびCRC生成を実行すること;トランスポートヘッダが更新されたときに、エンド・ツー・エンドのデータインテグリティを維持するように不変CRCのためにインクリメンタル不変CRC更新を実行すること;並列処理のために、データサービスコンポーネントを対象とするトラフィックを複数のQPにわたって分散させること;および、1つ以上のQPが、ノード上のオペレーティングシステムをバイパスするデータサービスコンポーネントに対して直接ハードウェアインターフェイスを露出させることを可能にすること;のうち少なくとも1つをネットワーキングデバイスが実行することを可能にするための手段を含む。

0241

本発明の多くの特徴は、ハードウェア、ソフトウェア、ファームウェアもしくはこれらの組み合わせにおいて、ハードウェア、ソフトウェア、ファームウェアもしくはこれらの組み合わせを用いて、またはハードウェア、ソフトウェア、ファームウェアもしくはこれらの組み合わせの助けを借りて、実行することができる。結果として、本発明の特徴は(たとえば、1つ以上のプロセッサを含む)処理システムを用いて実現されてもよい。

0242

本発明の特徴は、コンピュータプログラムプロダクトにおいて、コンピュータプログラムプロダクトを用いて、またはコンピュータプログラムプロダクトの助けを借りて実現することができる。このコンピュータプログラムプロダクトは、命令が格納された記憶媒体またはコンピュータ読取可能媒体であり、この明細書中に提示された特徴のうちいずれも実行するよう処理システムをプログラムするのに用いることができる。この記録媒体は、フロッピー(登録商標)ディスク光ディスク、DVD、CD−ROMマイクロドライブ、および光磁気ディスクを含む、任意の種類のディスク、ROM、RAM、EPROM、EEPROM、DRAMVRAMフラッシュメモリデバイス磁気もしくは光カードナノシステム分子メモリICを含む)、または、命令および/もしくはデータを格納するのに適した任意の種類の媒体もしくはデバイスを含み得るものの、これらに限定されない。

0243

機械読取り可能媒体のうちいずれか1つに格納された本発明の特徴は、処理システムのハードウェアを制御するために、および、処理システムが、本発明の結果を利用する他の機構と対話することを可能にするために、ソフトウェアおよび/またはファームウェアに組込むことができる。このようなソフトウェアまたはファームウェアは、アプリケーションコードデバイスドライバ、オペレーティングシステムおよび実行環境コンテナを含み得るが、これらに限定されない。

0244

発明の特徴はまた、たとえば、特定用途向け集積回路ASIC:application specific integrated circuit)などのハードウェアコンポーネントを用いて、ハードウェアにおいて実現されてもよい。この明細書中に記載される機能を実行するようにハードウェア状態マシンを実現することは、当業者には明らかになるだろう。

0245

加えて、本発明は、本開示の教示に従いプログラムされた、1つ以上のプロセッサ、メモリ、および/またはコンピュータ読取可能な記録媒体を含む、従来の汎用もしくは専用デジタルコンピュータコンピューティングデバイス、マシン、またはマイクロプロセッサを1つ以上用いて、適宜実装し得る。適切なソフトウェアコーディングは、熟練したプログラマが本開示の教示に基づいて容易に準備できるものである。これはソフトウェア技術における当業者には明らかであろう。

0246

本発明のさまざまな実施形態を上述してきたが、これら実施形態が限定ではなく例示のために提示されてきたことが理解されるはずである。形態および詳細のさまざまな変更が、発明の精神および範囲から逸脱することなくこの明細書中において実施され得ることが当業者に明らかになるだろう。

0247

本発明は、指定された機能の性能およびその関係を例示する機能構成要素を用いて上述されてきた。これらの機能構成要素の境界は、説明の便宜上、しばしば、この明細書中において任意に規定されてきた。指定された機能およびその関係が適切に実行される限り、代替的境界を規定することができる。このため、このような代替的境界はいずれも、発明の精神および範囲内にある。

0248

本発明のこれまでの記載は例示および説明を目的として提供されている。すべてを網羅するまたは本発明を開示された形態そのものに限定することは意図されていない。本発明の幅および範囲は上述の具体的な実施形態のいずれによっても限定されるべきではない。当業者には数多くの変更および変形が明らかであろう。変更例および変形例は開示された特徴のいずれかの関連する組み合わせを含む。実施の形態は、本発明の原理およびその実際の応用を最もうまく説明することによって他の当業者がさまざまな実施の形態および意図している特定の用途に適したさまざまな変形を理解できるようにするために、選択され説明されている。発明の範囲は添付の特許請求の範囲およびそれらの同等例によって規定されるよう意図されている。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ