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

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

Info

Publication number
JP2016535904A
JP2016535904A JP2016537772A JP2016537772A JP2016535904A JP 2016535904 A JP2016535904 A JP 2016535904A JP 2016537772 A JP2016537772 A JP 2016537772A JP 2016537772 A JP2016537772 A JP 2016537772A JP 2016535904 A JP2016535904 A JP 2016535904A
Authority
JP
Japan
Prior art keywords
data service
node
data
network
service component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016537772A
Other languages
English (en)
Other versions
JP2016535904A5 (ja
JP6445015B2 (ja
Inventor
マクハーバクス,バディム
ヨンセン,ビョルン・ダグ
ブリーン,デイビッド
ムソー,リチャード・ピィ
Original Assignee
オラクル・インターナショナル・コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/467,896 external-priority patent/US9559990B2/en
Application filed by オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2016535904A publication Critical patent/JP2016535904A/ja
Publication of JP2016535904A5 publication Critical patent/JP2016535904A5/ja
Application granted granted Critical
Publication of JP6445015B2 publication Critical patent/JP6445015B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • H04L49/358Infiniband Switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

著作権表示:
この特許文献の開示の一部は、著作権保護の対象となる題材を含んでいる。著作権の所有者は、特許商標庁の包袋または記録に掲載されるように特許文献または特許情報開示を誰でも複製できることに対して異議はないが、その他の点ではすべての如何なる著作権をも保有する。
発明の分野:
本発明は、概して、コンピュータシステムに関し、特定的には、ミドルウェアおよびアプリケーションの実行のためのエンジニアド・システム、またはミドルウェアマシン環境に関する。
背景:
相互接続ネットワークは、次世代のスーパーコンピュータ、クラスタおよびデータセンタにおいて有益な役割を果たす。たとえば、インフィニバンド(IB:InfiniBand)技術が、クラウドコンピューティングファブリックのための基礎として広く展開されてきた。より大規模のクラウドコンピューティングアーキテクチャが導入されるのに応じて、従来のネットワークおよびストレージに関連付けられた性能および管理上の障害が重大な問題になった。
これは、発明の実施形態が対処するように意図された概略的な領域である。
概要:
この明細書中に記載されるシステムおよび方法は、ミドルウェアおよびアプリケーションの実行のためのエンジニアド・システムまたはミドルウェアマシン環境などのネットワーク環境においてデータサービスを提供することができる。当該システムは、ネットワーク環境におけるノード上にデータサービスコンポーネントを提供することができる。ネットワーク環境は、ネットワークファブリックを介して相互接続される複数のノードを含み得る。さらに、システムは、固有のパケット転送機構を用いて、ネットワークファブリック内のデータフローをノード上の上記データサービスコンポーネントに向けることができる。次いで、システムは、上記データサービスコンポーネントを用いて、ネットワークファブリックにおけるデータフロー内の1つ以上のデータパケットを処理することができる。加えて、上記データサービスコンポーネントはデータサービスを提供することができる。当該データサービスは、ソースおよび宛先のアプリケーションワークロードの両方に対してトランスペアレントであるソフトウェアファイアウォール(FWL:firewall)サービスまたはトラフィックルーティングサービスであり得る。
システムおよび方法は、ネットワーク環境においてデータサービスを提供することができる。サブネットアドミニストレータは、ソースノードから経路記録レゾリューション要求を受取ることができる、この場合、ソースノードは、経路記録レゾリューション要求を用いて宛先ノードのアドレスを獲得する。さらに、サブネットアドミニストレータは、ソースノードに中間ノードのアドレスを提供することができる。この場合、中間ノードはデータサービスを提供する。次いで、ソースノードは、中間ノードのアドレスに基づいて、データフロー内の1つ以上のデータパケットを中間ノードに送信することができる。
システムおよび方法は、ネットワーク環境においてデータサービスアドレスレゾリューションをサポートすることができる。中間ノードは、ソースノードから着信データパケットを受取ることができる。この場合、着信データパケットは宛先ノードを対象とし、この着信データパケットは、宛先ノードのためのグローバル識別子および中間ノードのためのローカル識別子を含む。さらに、中間ノードは、宛先ノードのためのグローバル識別子に基づいて、宛先ノードについてのローカルアドレス指定情報を獲得することができる。次いで、中間ノードは、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて宛先ノードに発信データパケットを送信することができる。
システムおよび方法は、ネットワーク環境においてデータサービスを提供することができる。ネットワーク環境はノードを含み得る。当該ノードは、データサービスを提供することができるデータサービスコンポーネントをサポートする。加えて、フィルタは、ノードに関連付けられたホストチャネルアダプタ(HCA:host channel adaptor)などのネットワーキングデバイス上に設けることができる。ネットワーキングデバイスは、フィルタを用いて、プロトコルを終了させることなくデータサービスコンポーネントを対象とする1つ以上のパケットを識別するように動作する。さらに、フィルタは、上記1つ以上のパケットをデータサービスコンポーネントに転送することができる。
発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためのデータサービス機器を提供する例を示す図である。 発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するための外部ネットワーク接続を用いる例を示す図である。 発明の実施形態に従った、ネットワーク環境においてバンプ・オン・ザ・ワイヤ(BoW:bump on the wire)モードのためにデータサービスを提供する例を示す図である。 発明の実施形態に従った、ネットワーク環境においてソフトウェアファイアウォール(FWL)を提供する例を示す図である。 発明の実施形態に従った、例示的なエンジニアド・システムの例を示す図である。 発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためにデータサービスを提供するための例示的なフローチャートである。 発明の実施形態に従った、ネットワーク環境におけるサブネットアドミニストレータ(SA:subnet administrator)の例を示すである。 発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するための制御フローをサポートする例を示す図である。 発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するためのデータフローをサポートする例を示す図である。 発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためのデータフローを制御するための例示的なフローチャートである。 発明の実施形態に従った、インフィニバンド(IB)アドレス指定を用いてネットワーク環境におけるデータサービスにアクセスするためのデータパケットフォーマットの例を示す図である。 発明の実施形態に従った、ネットワーク環境において中間ノード上のデータパケットを処理する例を示す図である。 発明の実施形態に従った、ネットワーク環境における接続管理をサポートする例を示す図である。 発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためのデータサービスアドレスレゾリューションをサポートするための例示的なフローチャートである。 発明の実施形態に従った、仮想環境においてデータサービスを提供するためのホストチャネルアダプタ(HCA:host channel adaptor)フィルタリングをサポートする例を示す図である。 発明の実施形態に従った、非仮想環境においてデータサービスを提供するためのホストチャネルアダプタ(HCA)フィルタリングをサポートする例を示す図である。 発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するためのHCAフィルタリングをサポートするための例示的なフローチャートである。
詳細な説明:
この明細書中に記載されるシステムおよび方法は、ミドルウェアおよびアプリケーションの実行のためのエンジニアド・システム(またはミドルウェアマシン環境)において1つ以上のデータサービスを提供することができる。
[固有のデータを処理するためのデータサービス]
発明の実施形態に従うと、(データサービス機器および/またはデータサービスサーバなどの)データサービスコンポーネントは、ネットワーク環境、たとえばミドルウェアおよびアプリケーション実行のためのエンジニアド・システム(またはミドルウェアマシン環境)においてさまざまなタイプのデータサービスを提供することができる。
図1は、発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためのデータサービス機器を提供する例を示す図である。図1に示されるように、複数のノード(たとえば、ノードA111〜D114)は、ネットワーク環境100において、たとえばインフィニバンド(IB:INFINIBAND)ファブリック101を介して、相互接続することができる。
さらに、ノードC113上に常駐するデータサービスコンポーネント110は、IBファブリック101上のデータフローのためにさまざまなデータサービスを提供することができる。たとえば、ノードA111とノードB112との間のデータフローは、固有のデータフローであってもよい。この固有のデータフローは、中間ノードC113上のデータサービスコンポーネント110によって提供されるデータサービスにアクセスするかまたは当該データサービスを消費することができる。このため、IBファブリック101における固有のデータは、IBファブリック101から出力されることなく処理することができる。
発明の実施形態に従うと、データサービスコンポーネント110は、ネットワーク環境100においてすべてのタイプのネットワークトラフィックを監視および検査するために使用することができるソフトウェアファイアウォール(FWL)サービスを提供することができる。加えて、データサービスコンポーネント110は、ネットワーク環境においてトラフィックルーティングを実行するためなどの他の目的のために用いることができる。
さらに、データサービスコンポーネント(または複数のデータサービスコンポーネント)の複数のインスタンスは、高可用性(HA:high availability)を提供して性能を向上させるために同じIBファブリック101にデプロイ(deploy)することができる。図1に示されるように、別のデータサービスコンポーネント120は、IBファブリック101上のノードD114上に常駐し得る。データサービスコンポーネント110およびデータサービスコンポーネント120はともに、同時にIBファブリック101上で実行することができる。
発明の実施形態に従うと、データサービスコンポーネントは、データサービスを提供することに特化され得るか、または、同じ物理マシンを他のアプリケーション仮想サーバと共有するように構成され得る。図1に示されるように、データサービスコンポーネント110をホストするノードC113は、アプリケーションサーバ130をホストしてもよい。このため、ノードC113は、さまざまなアプリケーションワークロードをサポートするために用いることができる。たとえば、ノードC113は、これらのアプリケーションワークロードを実行する仮想マシンをホストすることができる。他方で、データサービスコンポーネント120をホストするノードD114は、データサービスを提供することに特化され得る。
さらに、システムは、ネットワーク環境100におけるさまざまなトポロジーコンフィギュレーション(topological configurations)をサポートすることができる。たとえば、ノードC113は、他のノード間における通信をサポートするための中間ノードとしての役割に加えて、ソースノードおよび宛先ノードの両方としての役割を果たすことができる。このため、単一のノードC113は、ソースワークロード、宛先ワークロードおよびデータサービス機器ワークロードを含むさまざまなタイプのワークロードをサポートすることができる。
発明の実施形態に従うと、システムは、仮想環境における仮想機器(すなわちデータサービス機器)としての仮想マシン(VM:virtual machine)においてデータサービスコンポーネント110または120をデプロイすることができる。代替的には、システムは、非仮想環境においてデータサービスサーバとしてノード上にデータサービス機器110または120を物理的にデプロイすることができる。
さらに、IBファブリック101におけるトラフィックは、(たとえば、対象となるエンドポイントのレゾルブされたアドレスについての評価に基づいた)データ処理のために、選択的にデータサービスコンポーネント110または120に向けることができる。たとえば、データパケットは、固有のパケット転送機構のためのさまざまなルーティングアルゴリズムを用いて、ノードC113(またはノードD114)に向けることができる。また、IBファブリック101におけるトラフィックは、VMのレゾリューションに基づいて選択的にデータサービス機器に向けることができる。
図2は、発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するための外部ネットワーク接続を用いる例を示す図である。図2に示されるように、複数のノード、たとえばノードA211〜B212を、たとえばインフィニバンド(IB)ファブリック201を介して、ネットワーク環境200において相互接続することができる。
発明の実施形態に従うと、データサービスサーバ210は、外部ネットワーク202(たとえば、外部イーサネット(登録商標)ネットワーク)に設けることができる。このような場合、データフローは、IBファブリック201から出てから、外部ネットワーク202におけるデータサービスサーバ210によって処理され、その後IBファブリック201に戻される必要があるかもしれない。
さらに、システムは、外部ネットワーク202におけるデータサービスサーバ210をIBファブリック201に接続するためのさまざまな機構を用いることができる。図2に示されるように、データサービスサーバ210は、イーサネットスイッチ220を介してIBファブリック201に接続されてもよい。代替的には、データサービスサーバ210は、IBファブリック201上のノードB212へのイーサネットリンク230を介して、IBファブリック201に接続されてもよい。
図3は、発明の実施形態に従った、ネットワーク環境においてバンプ・オン・ザ・ワイヤ(BoW:bump on the wire)モードのためにデータサービスを提供する例を示す図である。図3に示されるように、ネットワーク環境300においてさまざまなデータサービス(たとえば、ファイアウォールサービス)を提供することができるデータサービスサーバ311は、中間ノード310上に常駐することができる。
発明の実施形態に従うと、中間ノード310は、通信する二者(またはエンドポイント)間、たとえば、ノードA301とノードB302との間、に物理的に配置することができる。このため、ノードA301とノードB302との間のデータフローは、中間ノード310上のデータサービスサーバ311を介して強制的に渡される可能性がある。
加えて、中間ノード310は別のアプリケーションサーバ312を含み得る。このような場合、システムは、データフローにおけるどのデータパケットがデータサービスサーバ311によって処理されなければならないかを判断するために、逆フィルタリングルールを用いることができる。
図4は、発明の実施形態に従った、ネットワーク環境においてソフトウェアファイアウォール(FWL)を提供する例を示す図である。図4に示されるように、複数のノード、たとえばノードA411〜D414は、ネットワーク環境400において、たとえばインフィニバンド(IB)ファブリック401を介して相互接続することができる。
さらに、複数のソフトウェアFWL機器は、高可用性(HA)を提供して性能を向上させるためにIBファブリック401にデプロイすることができる。たとえば、FWL410はノードC413上に常駐することができ、FWL420はノードD414上に常駐することができる。
図4に示されるように、IBファブリック401におけるノードA411とノードB412との間のトラフィックは、IBファブリック401から出力されることなく、検査のためにFWL410に向けることができる。FWL410は、ソースノードA411から受取られたデータパケットを宛先ノードB412に転送すべきかまたはデータパケットをドロップすべきかどうかを決定することができる。
発明の実施形態に従うと、FWL410は、IBファブリック401におけるさまざまなタイプのトラフィックを監視および検査することができる。たとえば、Oracle Exalogicエンジニアド・システムにおけるIBトラフィックは、インターネット・プロトコル・オーバー・インフィニバンド(IPoIB:internet protocol over INFINIBAND)トラフィックと、イーサネット・オーバー・インフィニバンド(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)トランスポートプロトコルおよび未加工トランスポートプロトコルなどのさまざまなトランスポートプロトコルに基づき得る。
図5は、発明の実施形態に従った、例示的なエンジニアド・システムの例を示す図である。図5に示されるように、例示的なエンジニアド・システム500は、複数のスイッチA501〜B502を用いて相互接続されるノードA511〜D514などの複数のノードを含み得る。
発明の実施形態に従うと、ファイアウォール(FWL)機器などのデータサービスコンポーネントは、高可用性(HA)をサポートしてエンジニアド・システム500の性能を向上させるために対でデプロイすることができる。
図5に示されるように、アプリケーションサーバを含むアプリケーションVM541はノードA511上にデプロイすることができ、別のアプリケーションサーバを含むアプリケーションVM542はノードB512上にデプロイすることができる。加えて、FWL機器を含むFWL VM543はノードC513上にデプロイすることができ、別のFWL機器を含むFWL VM544はノードD514上にデプロイすることができる。
さらに、ノードA511〜D514の各々は、1つ以上のホストチャネルアダプタ(HCA:host channel adaptor)を用いてネットワークに接続することができる。たとえば、ノードA511はHCA A521を用い、ノードB512はHCA B522を用い、ノードC513はHCA C523を用い、ノードD514はHCA D524を用いる。
図5に示されるように、HCA A521〜D524の各々は2つのポート(たとえば、ポート1およびポート2)を有し得る。ネットワーク環境500における高可用性(HA)をサポートするために、システムは、さまざまなスイッチA501およびB502を介してノードA511〜D514のためのさまざまなHCAポートを接続することができる。
発明の実施形態に従うと、同じノード上のさまざまなHCAポートは、各々のFWL HA対におけるさまざまなメンバに独立して割当てることができる。たとえば、IBサブネットにおけるサブネットアドミニストレータ(SA)は、FWL宛先ローカル識別子(DLID:destination local identifier)を割当てる際に、HAの対を認識することができる。
図5に示されるように、ノードA511〜D514上のポート1のすべてをスイッチA501に接続することができ、ノードA511〜D514上のポート2のすべてをスイッチB502に接続することができる。このため、スイッチのうちの1つの上、たとえばスイッチA501上で障害が発生しても、(ノードA511〜D514間における)エンジニアド・システム500におけるトラフィックは依然としてスイッチB502を介して送信することができ、ノードD514の上のファイアウォール(FWL)機器はトラフィックを検査するために用いることができる(加えて、このようなスキームは、限定されることなく、1ノード当たり複数のHCAの事例に一般化することができる)。
図6は、発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためにデータサービスを提供するための例示的なフローチャートである。図6に示されるように、ステップ601において、システムは、ネットワーク環境におけるノード上にデータサービスコンポーネントを提供することができる。この場合、ネットワーク環境は、ネットワークファブリックを介して相互接続された複数のノードを含む。次いで、ステップ602において、システムは、固有のパケット転送機構を用いて、ネットワークファブリック内のデータフローをノード上の上記データサービスコンポーネントに向けることができる。さらに、ステップ603において、システムは、上記データサービスコンポーネントを用いて、ネットワークファブリックにおけるデータフロー内の1つ以上のデータパケットを処理することができる。
[データフローの制御]
図7は、発明の実施形態に従った、ネットワーク環境におけるサブネットアドミニストレータ(SA)の例を示す。図7に示されるように、IBファブリック700は、サブネットアドミニストレータ(SA)701を含み得る。サブネットアドミニストレータ(SA)701は、IBファブリック700におけるさまざまなノード間の通信をサポートするために経路記録レゾリューション(PR:path record resolution)を提供することができる。たとえば、IBプロトコルにおける経路記録などの経路記録は、アドレス情報と、(P_Key、Q_Key、SL等々などの)IBヘッダにおけるさまざまなフィールドに関連する他の情報とを含み得る。
加えて、システムは、さまざまなポリシー720でSA701を構成するためのインターフェイス710を提供することができる。インターフェイス710は、コマンドラインインターフェイス(CLI:command line interface)および/またはアプリケーションプログラムインターフェイス(API:application programming interface)であってもよい。
発明の実施形態に従うと、ポリシー720は、宛先ノードに到着する前に、どのトラフィックをデータサービスノード(たとえばファイアウォール)を介して渡すべきであるかと、どのトラフィックを宛先ノードに直接転送することができるかと、を定義することができる。さらに、ポリシーは、ソースおよび宛先のグローバル識別子(GID:global identifier)に基づいて実現することができる。また、ポリシーは、アプリケーションレベルの差別化をもたらすサービスIDに基づいて実現することができる。加えて、ポリシーはIBパーティションに基づいて実現することができる。
たとえば、ユースケースがサポートし得るポリシーは、ミドルウェアマシンとクラスタデータベースマシンとの間のすべての通信がファイアウォールノードを通過することを必要とする。
加えて、ユースケースがサポートし得るポリシーは、特定のP_Keyに関連付けられている特定のIBパーティションを使用することを必要とする。たとえば、特定のIBパーティションは、すべてのアプリケーション層サーバとデータベースとの間におけるファイアウォール制御通信のためにのみ用いることができる。経路記録レゾリューション要求が特定のIBパーティションのコンテキスト内にある場合、SA701は、このポリシーを用いて、その経路上のすべてのパケットがファイアウォールを介してルーティングされるべきであることを示すことができる。
別のユースケースは、2つの独立したサブネットを含むBoWデプロイメントのためのポリシーをサポートし得る。SMは、単にファブリックトポロジーを調べるだけでは、2つの独立したサブネットにおけるソースと宛先との間の経路を発見することができないかもしれない。ポリシーを用いて、ソースと宛先との間の経路が特定のデータサービスコンポーネント内を通って延在することをSMに通知することができる。また、BoWデプロイメントが複数のIBパーティションを必要とする場合、各々のパーティションについてのP_Keyをポリシーで特定することができる。
図7に示されるように、SA701は、リクエスタ(たとえばソースノード)からPR要求711を受取ることができる。SA701は、ポリシー720に従って宛先ローカルアドレス、たとえば宛先ローカル識別子(DLID)、をレゾルブすることができる。次いで、SA701は、レゾルブされた宛先ローカルアドレスを含むPR応答712をリクエスタに送信し返すことができる。これにより、ソースノードは、レゾルブされたDLIDに基づいて宛先ノードにデータパケットを送信することができる。
代替的には、SA701は、データパケットを宛先ノードに転送する前に、ソースノードが、データサービスコンポーネント(たとえば、ソフトウェアファイアウォール)を備えたデータサービスノードなどの中間ノードにデータパケットを向けるべきであると判断してもよい。SA701は、宛先ノードのためのDLIDの代わりに、データサービスノードのためのDLIDをソースノードに提供することができる。加えて、SA701は、データサービスコンポーネントの複数のインスタンスがネットワーク環境700に存在する場合、どのデータサービスノードを用いなければならないかを判断することができる。
図8は、発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するための制御フローをサポートする例を示す図である。図8に示されるように、ネットワーク環境800は、1つ以上のスイッチ、たとえばスイッチ810、を用いて相互接続される複数のノード、たとえばノードA801〜D804、を含み得る。
スイッチ810を用いて、ネットワーク環境800におけるデータフローを方向付けることができる。スイッチ810は、サブネットアドミニストレータ(SA)820を含み得る。サブネットアドミニストレータ(SA)820は、さまざまなルールまたはポリシー、たとえばルール830、に基づいて経路記録レゾリューション動作を実行することができる。スイッチ810上の安全な環境において(または安全なノード上で)実行されるSA820は、アドレスリゾリューションタスクを実行するためのさまざまな論理を実現することができる。
発明の実施形態に従うと、システムは、SAポリシーに基づいて、IBサブネット内にあり得るかまたは複数のIBサブネット間にあり得るさまざまな経路を介して通信を確立するためにIBパケット内のグローバルルーティングヘッダ(GRH:global routing header)を利用することができる(GRHは、本来、さまざまなIBサブネット間における通信を確立するためのIB規格で定義されたものである)。
たとえば、SA820は、経路記録レゾリューション応答におけるフィールド(たとえば、HopLimitフィールド)を用いて、IBサブネット内における特定の経路を介して通信を確立するためにGRHが必要になるかもしれないことをホストソフトウェアスタックに対して示すことができる。
図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)を備えたローカルポートとに関連付けることができる。
加えて、ネットワーク環境800は、データサービスVM D814をホストすることができるデータサービスノードD 804を含み得る。データサービスVM814は、GID D824(たとえば、0×DDDD)とローカル識別子D834(たとえば、0×D)を備えたローカルポートとに関連付けることができる。加えて、データサービスノードD804は、データサービスVM814に加えて、1つ以上のアプリケーションVMをホストすることができる。
図8に示されるように、ネットワーク環境800におけるIBファブリック内において、(実線で示される)送信済みデータパケットを含むデータフローは、スイッチ810によって提供されるような標準的なLIDベースの転送特徴に基づき得る。加えて、(破線で示される)さまざまな制御情報を含む制御フローは、SA820によって提供されるようなアドレスリゾリューション特徴に基づき得る。
たとえば、一組の例示的なルール830は以下のテーブルにおいて定義することができる。
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とともに送信されるべきであることを定義する。
図8に示されるように、ノードA801は、スイッチ810上のSA820に対してPR要求841を送信することによって、ノードB802へのデータフローを開始することができる。サブネットアドミニストレータ820がノードA801からPR要求841を受取った後、SA820は、上述のテーブルにおける第1のルールに従ってPR要求841を処理し、ノードA801にPR応答842を送信することができる。PR応答842は、LID0×Dを用いて識別することができるローカルポートを有するデータサービスノードD804にデータパケットを向ける必要があることを示し得る。
次いで、ソースノードA801は、データサービスノードD804にデータフロー851を向けることができる。受取ったデータフロー851をデータサービスノードD804が処理した後、データサービスノードD804はSA820にPR要求843を送信することができる。SA820は、さらに、ノードB802の実アドレスを含むPR応答844を返送することができる。こうして、データサービスノードD804は、データフロー852を宛先ノードB802に向けることができる。代替的には、データサービスノードD804は、受取ったパケットをドロップすると決定してもよい。
また、図8に示されるように、SA820は、データフロー853をノードC803から、データサービスノードD804をバイパスするノードB802にまで直接方向付けることができる。この例においては、ノードC803は、最初に、PR要求845をSA820に送信することができる。次いで、SA820は、PR応答846でノードB802の実アドレスを返送することができる。
発明の実施形態に従うと、データサービスノードD804は、他の機構を用いて、宛先LIDへの宛先GIDのマッピングを行うことができるが、これに限定されない。たとえば、データフローおよび制御フローはともに、LID転送特徴に基づき得るか、または、データフローおよび制御フローはともに、サブネットアドミニストレータ(SA)820によって実施されるようなアドレス指定方式に基づき得る。
さらに、VMが複数のIBパーティションのメンバである場合、さまざまな転送ルールを、(たとえばさまざまなP_Keysに基づいて)さまざまなIBパーティションのために定義することができる。これにより、いくつかのIBパーティション上のトラフィックを宛先に直接ルーティングすることができ、他のIBパーティション上のトラフィックをデータサービス機器にルーティングしなければならないかもしれない。
図9は、発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するためのデータフローをサポートする例を示す図である。図9に示されるように、ネットワーク環境900におけるノードA901〜B902は中間ノード910を介して互いに通信することができる。
ホストチャネルアダプタ(HCA)921に関連付けられるノードA901は、アプリケーションサーバをホストするアプリケーション仮想マシン(VM)911を含む。さらに、ホストチャネルアダプタ(HCA)922に関連付けられるノードB902は、別のアプリケーションサーバをホストするアプリケーションVM912を含む。
加えて、ホストチャネルアダプタ(HCA)940に関連付けられる中間ノード910は、データサービスVM931およびアプリケーションVM932を含み得る(すなわち、データサービスVM931およびアプリケーションVM932は同じ物理マシンを共有する)。データサービスVM931はデータサービスコンポーネントをホストすることができ、アプリケーションVM932はアプリケーションサーバをホストすることができる。
ノードA901とノードB902との間の直通的通信を防止するために、システムは、中間ノード910をパーティションの完全なメンバとして許可しながらも、ノードA901およびノードB902の両方をIBファブリックにおけるパーティションの限られたメンバとして構成することができる。
図9に示されるように、ノードA901からのデータフローを、送信(Tx)待ち行列対(QP:queue pair)951を用いて、アプリケーションVM911によって開始することができる。さらに、SAから受取ったPR応答に基づき、ノードA901は、中間ノード910上の受信(Rx)待ち行列対(QP)954にデータパケットを送信することができる。これにより、中間ノード910上のデータサービスVM931は、Rx QP954を介してノードA901からデータパケットを受取ることができる。
次いで、データサービスVM931におけるデータサービスコンポーネントは着信データフローを処理することができる。たとえば、データサービスVM931は、着信データフローを調べることによってファイアウォールサービスを提供することができ、疑わしいデータパケットをドロップすることができる。加えて、データサービスVM931は、スニッフィング、性能監視およびロードバランシングなどの他のデータサービスを提供することができる。
データ処理を完了した後、データサービスVM931は、(たとえば、標準的なLIDベースの切換えに基づいて)Tx QP953からノードB902上のRx QP958に発信データパケットを送信することができる。これにより、アプリケーションVM912は、データフロー内のデータパケットを受取ることができる。
さらに、ノードB902の上のアプリケーションVM912は、中間ノード910を介して、ノードA901上のアプリケーションVM911にリターンパケットを送り返すことができる。図9に示されるように、リターンデータフローは、ノードB902上のTx QP957から開始することができ、中間ノード910上のRx QP954およびTx QP953を介して、ノードA901上のRx QP952で終了する。こうして、ノードA901上のアプリケーションVM911はノードB902からリターンパケットを受取ることができる。
加えて、中間ノード910上に位置するアプリケーションVM932は、データサービスVM931によって、(たとえばTx QP955を介して)他のノードに1つ以上のデータパケットを送信することができる。また、アプリケーションVM932は、(たとえば、Rx QP956を介して)他のノードから1つ以上のデータパケットを受取ることができる。さらに、アプリケーションVM932は、ポリシー構成に応じて、1つ以上のデータパケットを他のノードに送信し、および/または、他のノードから直接1つ以上のデータパケットを受信して、データサービス931をバイパスすることができる。
発明の実施形態に従うと、中間ノード910上のデータサービスVM931におけるデータフローの処理は、ソースノードA901および宛先ノードB902の両方に対してトランスペアレントであり得る(すなわち、ノードA901は、実際には、それがデータをノードB902に直接送信すると「考えてもよい」)。
さらに、データサービスVM931におけるデータサービスコンポーネント(たとえば、ソフトウェアファイアウォール)は、分散型仮想ソフトウェア機器であってもよい。ネットワーク環境900における他のノードは、中間ノード910と、データサービスVM931におけるデータサービス機器との存在を認識していない可能性がある。
図10は、発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためのデータフローを制御するための例示的なフローチャートである。図10に示されるように、ステップ1001において、サブネットアドミニストレータ(SA)は、ソースノードから経路記録レゾリューション要求を受取ることができる。この場合、ソースノードは、経路記録レゾリューション要求を用いて宛先ノードのアドレスを獲得する。次いで、ステップ1002において、SAは、中間ノードのアドレスをソースノードに提供することができる。この場合、中間ノードはデータサービスを提供する。さらに、ステップ1003において、ソースノードは、中間ノードのアドレスに基づいて中間ノードに1つ以上のデータパケットを送信することができる。
[データサービスアドレス指定]
図11は、発明の実施形態に従った、ネットワーク環境においてデータサービスにアクセスするためにインフィニバンド(IB)アドレス指定を用いるデータパケットフォーマットの例を示す図である。図11に示されるように、IBサブネット1100は、複数の物理的な(または仮想の)ノード1101〜1103およびサブネットアドミニストレータ(SA)1120を含み得る。ソースノード1101は、中間ノード1102を介して、宛先ノード1103にパケット(たとえば、IBパケット1110)を送信することができる。
IBパケット1110は、IBプロトコルに応じてペイロード1114およびさまざまなヘッダを含み得る。これらのヘッダは、グローバルルーティングヘッダ(GRH)1111、ローカルルーティングヘッダ(LRH:local routing header)1112および他のヘッダ1113を含み得る。加えて、IBパケット1110には、さまざまな巡回冗長検査(CRC:cyclic redundancy check)1115を適用することができる。
発明の実施形態に従うと、システムは、IBサブネット1100におけるデータサービスアドレス指定をサポートするために、GRH1111における宛先グローバル識別子(DGID)1121およびLRH1112における宛先ローカル識別子(DLID)1122を利用することができる。
たとえば、システムは、IBパケット1110におけるDLID1122を(宛先ノード1103のためのDLIDの代わりに)中間ノード1102のためのDLIDに設定することができる。IBサブネット1100内では、IBパケット1110は、SA1120によってレゾルブされるようにDLID1122に基づいて中間ノード1102にルーティングすることができる。これにより、IBパケット1110は、中間ノード1102上に提供されるデータサービスを用いて処理することができる。
さらに、システムは、GRH1111におけるDGID1121を用いて、宛先ノード1103についてのDLIDを示すことができる。これにより、中間ノード1102におけるデータサービスソフトウェアは、GRH1111におけるDGID1121情報に基づいて、宛先ノード1103についての真のDLIDをレゾルブする(または獲得する)ことができる。
発明の実施形態に従うと、中間ノード1102は、必要に応じて、追加のパケットヘッダ1113および/またはペイロード1114の変更を実行することができる。たとえば、ファブリックレベルアクセス制御は、ソースノード1101および宛先ノード1103が、関連するパーティションの限られたメンバとなるかまたは同じパーティションのメンバとはならないように設定することができる。このような場合、中間ノード1102は、変更済みのパケットを宛先ノード1103に転送する前に、IBパケット1110におけるP_Key値を変更する必要があるかもしれない。
図12は、発明の実施形態に従った、ネットワーク環境において中間ノード上のデータパケットを処理する例を示す図である。図12に示されるように、IBサブネット1200における中間ノード1210は、ソースノードから1つ以上のデータパケット(たとえば、着信IBパケット1201)を受取ることができる。
着信IBパケット1201は、他の区域1213に加えて、グローバルルーティングヘッダ(GRH)1211およびローカルルーティングヘッダ(LRH)1212を含んでもよい。たとえば、GRH1211は、宛先ノードについての宛先グローバル識別子(DGID)1231、たとえば0×BBBB、を含み得る。LRH1212は、中間ノード1210についての宛先ローカル識別子(DLID)1232、たとえば0×F、を含み得る。
さらに、中間ノード1210は、着信IBパケット1201を検査することができるファイアウォールサービスなどのデータサービスを提供することができる。データサービスを用いて着信IBパケット1201を処理した後、中間ノード1210は、(着信IBパケット1201におけるDGID1231に示されるように)宛先ノードに発信IBパケット1202を送信することができる。代替的には、中間ノード1210は、パケット1203をドロップすると決定してもよい。
図12に示されるように、発信IBパケット1202は、他の区域1223に加えて、GRH1221およびLRH1222を含み得る。GRH1221は、宛先ノードのためのDGID1241を含み得る。LRH1222は、宛先ノードのためのDLID1242を含み得る。
発明の実施形態に従うと、経路記録キャッシュ1220を用いて、宛先ノードのための真のDLIDをレゾルブすることができ、この真のDLIDを用いて、サブネット1200内の宛先ノードに発信IBパケット1202を向けることができる。
経路記録キャッシュ1220は、IBサブネット1200におけるさまざまなノード上に存在し得る。SAは、経路記録キャッシュ1220の挙動を連係させることができる。これにより、SAは、さまざまな要求のために中間ノード1210上のデータサービスアドレスまたは宛先ノード上の宛先アプリケーションアドレスを返送することができる。
加えて、経路記録キャッシュ1220はアドレスマッピングテーブルを利用することができる。以下は例示的なアドレスマッピングテーブルである。
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」のヘッダ情報を含むように発信パケットを更新することができる。
さらに、中間ノード1210は、受取られたパケット1201における基本トランスポートヘッダ(BTH:basic transport header)のフィールドであるP_Key値を処理する必要があるかもしれない。なぜなら、両方のエンドノードが、対応するパーティションの限られたメンバとして構成される可能性があるからである。たとえば、ソースノードによって送信されるパケットは、(最上位ビット(MSB:most significant bit)クリアとして構成される)限定されたP_Keyを有してもよい。中間ノード1210は、パケットを宛先ノードに送信する前に、この限られたP_Keyを(最上位ビット(MSB)セットとして構成される)完全なP_Keyに変更する必要があるかもしれない。
加えて、中間ノード1210は、QP数、Q_Key値などの他のトランスポートレベルアドレス情報のためにマッピングを提供することができる。たとえば、中間ノード1210は、(ソースQP数およびソースノードによって識別することができる)送信機ノードから1つ以上のデータパケットを受取るためにローカルなQP数を用いることができる。さらに、中間ノード1210は、ソースノードおよび宛先ノードがともに、(リモートエンドノードによって定義されるのではなく)中間ノード1210上のデータサービスによって定義されるものとしてトランスポートレベルアドレス情報を確実に識別することができるように、受取ったパケットを変更することができる。
これにより、中間ノード1210は、どのトランスポートレベルリソースがエンドノード間において露出されるかを制御することができる。また、中間ノード1210は、性能を最適化して、さまざまな対のエンドノード間におけるさまざまなデータフロー上にさまざまなサービス品質(QoS:qualify of service)を提供するために、ローカルハードウェアによって実現されるローカルQPを利用することができる。
図13は、発明の実施形態に従った、ネットワーク環境において接続管理をサポートする例を示す図である。図13に示されるように、IBサブネット1300におけるソースノード1301および宛先ノード1302は、中間ノード1310を介して互いに通信することができる。
たとえば、IBパケット1311は、ソースノード1301から中間ノード1310に転送することができる。着信IBパケット1311は、グローバルルーティングヘッダ(GRH)1317、ローカルルーティングヘッダ(LRH)1313および他のトランスポートレベルアドレス情報1315を含み得る。加えて、IBパケット1311には、可変巡回冗長検査(CRC)1321および不変巡回冗長検査(CRC)1323を適用することができる。
さらに、中間ノード1310はデータサービスを提供することができる。次いで、データサービスを用いて着信IBパケット1311を処理した後、中間ノード1310は、発信IBパケット1312を宛先ノード1302に転送することができる。IBパケット1312は、グローバルルーティングヘッダ(GRH)1318、ローカルルーティングヘッダ(LRH)1314および他のトランスポートレベルアドレス情報1316を含み得る。加えて、IBパケット1312には、可変巡回冗長検査(CRC)1322および不変巡回冗長検査(CRC)1324を適用することができる。
発明の実施形態に従うと、ソースノード1301と宛先ノード1302とは、パーティショニングおよび/または他のIBファブリックレベルアクセス制御技術を用いて分離することができる。
中間ノード1310は、ソースノード1301と宛先ノード1302との間のトラフィックをすべて観察することができる。中間ノード1310は、ソースノード1301と宛先ノード1302との間で交換された管理データグラム(MAD:management datagram)などの通信管理動作をすべて識別することができる。また、中間ノード1310は、アドレスリゾリューションプロトコル(ARP:address resolution protocol)動作などのさまざまなブロードキャスト/マルチキャストベースのアドレスリゾリューション動作を識別することができる。
発明の実施形態に従うと、中間ノード1310は、パケットタイプに応じて、観察された通信に基づいてさまざまな方法で、受取ったIBパケット1311を処理することができる。
たとえば、発信パケット1312は、LRH1314だけが変更されている以外は着信IBパケット1311と似ている。このような場合、システムは、単にパケット可変CRC1322を再演算するだけでよいかもしれない。他方で、発信パケット1312のための不変CRC1324は、着信IBパケット1311における不変CRC1322と同じままで残されていてもよい。このため、元の送信機(たとえば、ソースノード1301)によって生成される不変CRC1322は、最後の受信機(たとえば、宛先ノード1302)至るまでずっとデータパケットを保護することができる。中間ノード1310は、スイッチと同様にエンド・ツー・エンドのパケットインテグリティを保証することができる。
代替的には、中間ノード1310は、IBパケット1311におけるトランスポートレベルアドレス情報1315などの他のヘッダ情報を変更してもよく、場合によっては、IBパケット1311におけるIBパケットペイロードを変更してもよい。
たとえば、P_Keyまたは他のいずれかのトランスポートヘッダ情報1315が変更される場合、中間ノード1310は新しい不変CRC1324を生成する必要があるかもしれない。このような場合、システムは、完全に独立したパケットインテグリティの保護スキームを有することができ、このため、IBサブネット1300内におけるソースノード1301と宛先ノード1302との間において、もはや、エンド・ツー・エンド保護を提供しない可能性がある。
また、中間ノード1310は、P_Keyを考慮に入れるようにインクリメンタル不変CRC更新(incremental invariant CRC update)を実行することができる。P_Keyの値は、パケットにおいて直接変更されるかまたは(作業要求などの)制御インターフェイスを介して変更される。これにより、中間ノード1310は、IBペイロードのデータインテグリティ特徴を維持することができ、HCA1510は、2つのエンドポイント間における分離をサポートするためにIB P_Keyの変更を許可する。
発明の実施形態に従うと、システムは、中間ノード1310において新しい不変CRC1324を生成することによって生じる可能性のあるビットエラーのリスクを最小限にするために、関連するバッファおよびデータ経路を保護するための別個のビットエラー保護スキームを採用することができる。また、システムは、エンド・ツー・エンドのデータインテグリティを保護するために、付加的なチェックサムに基づいたさまざまなエンド・ツー・エンドプロトコルを利用することができる。
図14は、発明の実施形態に従った、ネットワーク環境において固有のデータを処理するためのデータサービスアドレスレゾリューションをサポートするための例示的なフローチャートである。図14に示されるように、ステップ1401において、中間ノードは、ソースノードから着信データパケットを受取ることができる。着信データパケットは、宛先ノードを対象としており、着信データパケットは、宛先ノードのためのグローバル識別子および中間ノードのためのローカル識別子を含む。次いで、ステップ1402において、中間ノードは、宛先ノードのためのグローバル識別子に基づいて宛先ノードについてのローカルアドレス指定情報を獲得することができる。さらに、ステップ1403において、中間ノードは、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、宛先ノードに発信データパケットを送信することができる。
[ホストチャネルアダプタ(HCA)フィルタリング]
図15は、発明の実施形態に従った、仮想環境においてデータサービスを提供するためのホストチャネルアダプタ(HCA)フィルタリングをサポートする例を示す図である。図15に示されるように、ネットワーク環境1500におけるデータサービスノード1501は、ネットワーク接続のために、ホストチャネルアダプタ(HCA)1510などのネットワーク接続素子を用いることができる。
データサービスノード1501は、アプリケーションサーバ1504を含むアプリケーションVM1502と、データサービスコンポーネント(たとえば、データサービス機器1505)を含むデータサービスVM1503とを含み得る。さらに、データサービスノード1501は混合データフローを受取ることができる。混合データフロートラフィックは、アプリケーションVM1502またはデータサービスVM1503を対象としてもよい。
図15に示されるように、データサービスノード1501は、待ち行列対(QP)1511〜1519に関連付けることができる。アプリケーションVM1502は、待ち行列対(QP)1511〜1513に関連付けることができ、データサービスVM1503は、受信(Rx)待ち行列対(QP)1514〜1516および送信(Tx)QP1517〜1519に関連付けることができる。
発明の実施形態に従うと、データサービスノード1501は、HCA1510を用いてフィルタ能力を提供することができる。また、HCA1510は、フィルタをプログラムするためにさまざまなインターフェイスを提供することができる。
たとえば、HCA1510は、LIDベースのフィルタリングを用いて仮想機器をサポートすることができる。この場合、標準プロトコル終端部分のためのHCAポートは、標準LID/LMCで構成することができ、ファイアウォールのためのHCAポートには1つ以上のさまざまなLIDを割当てることができる。代替的には、HCA1510は、逆論理を適用することができる。すなわち、標準的なLID範囲内に収まらない着信IBパケットはいずれもファイアウォールに向けられ得る。
図15に示されるように、HCA1510は、受信(Rx)フィルタ1508を含み得る。受信(Rx)フィルタ1508は、プロトコルを終了させることなく、データサービス機器1505を対象とするパケットを識別することができる。これにより、HCA1510は、アプリケーションサーバ1504を対象とするデータフロートラフィックから、データサービスコンポーネント1505を対象とするデータフロートラフィックを分離することができる。
たとえば、Rxフィルタ1508は、(たとえば、DLIDベースのフィルタリングを用いて)データサービスDLIDに基づいて混合データフロートラフィックを分離することができる。Rxフィルタ1508は、データサービスDLIDテーブル1509に関連付けることができる。以下は例示的なデータサービスDLIDテーブルである。
DLID=0×F
DLID=0×FF
着信パケットが一致するDLID(たとえば、0×Fまたは0×FF)を有する場合、Rxフィルタ1508は、QP1514〜1516を介して、データサービスVM1503上のデータサービスコンポーネント1505にパケットを向けることができる。HCA1510は、これらのパケットを未処理のパケットとして処理することができ、それらパケットが受取られる(すなわち、IBヘッダをすべて含む)ときにこれらの着信パケットを転送することができる。
他方では、着信パケットが一致するDLIDを有さない場合(すなわち0×Fおよび0×FF以外のDLIDを備えた)、Rxフィルタ1508は、アプリケーションVM1502上のアプリケーションサーバ1504に着信パケットを向けることができ、この動作はIBプロトコルエンジン1506を用いて、IBプロトコルに従ってIBパケットを処理することができる。
代替的には、Rxフィルタ1508は、着信パケットにおけるGRH内のDGID情報を用いて、パケットをどこに転送するかを判断することができる。着信パケットが一致するDGIDを有する場合、Rxフィルタ1508は、データサービスVM1503上のデータサービスコンポーネント1505にパケットを向けることができる。着信パケットが一致するDGIDを有さない場合、Rxフィルタ1508は、アプリケーションVM1502上のアプリケーションサーバ1504にパケットを向けることができ、この動作は、IBプロトコルエンジン1506を用いて、IBプロトコルに従ってIBパケットを処理することができる。
加えて、Rxフィルタ1508は、反転フィルタリング(またはリバースフィルタリング)に基づき得る。たとえば、反転フィルタリングは、バンプ・オン・ザ・ワイヤ(BOW)のユースケースにおいて(すなわち、データサービスノード1501が2つの通信ノードを分離する場合に)有益になり得る。
このような場合、HCA1510は、その標準ポートLID構成を用いて、アプリケーションVM1502を対象とするパケットを識別することができる。HCA1510は、IB標準定義に従ってこれらのパケットを処理することができる。さらに、HCA1510は、データサービスコンポーネント1505を対象として他のすべてのパケットを処理することができる。
発明の実施形態に従うと、HCA1510は、(たとえば、複数のスレッド1531〜1533を用いる)並列処理を可能にするために、Rx QP1514〜1516などの複数の待ち行列対(QP)にわたってトラフィックを分散させることができる。
たとえば、HCA1510は、複数の待ち行列対(QP)1514〜1516にわたってトラフィックを分散させることができる受信側スケーリング(RSS:receive side scaling)フィルタ1507を利用することができる。データサービスコンポーネント1505は、QP1514〜1516に到着するパケットを処理するためにさまざまなスレッド1531〜1533を割付けることができる。加えて、上記QP1514〜1516は、ノード上のオペレーティングシステムをバイパスするデータサービスコンポーネント1505に対して、直接、ハードウェアインターフェイスを露出させてもよい。
さらに、データ処理用のオーバーヘッドを最小限にするために、RSSフィルタ1507は、同じデータフローから受取られたさまざまなパケットを単一のデータサービススレッドに向けることができる。代替的には、HCA1510は、他のハッシュベースのフィルタまたは他のタイプのフィルタを用いて、複数の待ち行列対(QP)1514〜1516にわたってトラフィックを分散させて、並列処理を可能にすることができる。加えて、HCA1510は、コア類似性に従ってデータフローを方向付けることができ、データフロー内でパケットの順序を保持することができる。
次いで、データサービスコンポーネント1505、たとえばソフトウェアFWLサービスは、DLID情報を含むIBヘッダを変更する、ならびに/または、フィルタリングおよび監視の目的でパケットヘッダおよび/もしくはペイロードを検査するなどして、着信データパケットを処理することができる。
発明の実施形態に従うと、HCA1510は、ローモードパケットの転送をサポートすることができる。受信側では、HCA1510は、CRCを確認することができ、IBプロトコルを終了させることなく複数のアプリケーションレベルQPに(すべてのIBヘッダとともに)パケットをローフォーマットで転送することができ、RSS1507フィルタを用いて負荷を複数の受信待ち行列(RQ)に分散させることができる。送信側では、データサービスコンポーネント1505によって処理されたパケットは、たとえばQP1517〜1519を介して、ローフォーマットでHCA1510にサブミットすることができる。HCA1510は、CRCを生成することができ、アプリケーションが、複数のアプリケーションレベルQPからパケットを(すべてのIBヘッダとともに)ローフォーマットでポストすることを許可する。
発明の実施形態に従うと、HCA1510はルータ使用モデルをサポートすることができる。着信パケットにおけるDGIDがイングレスHCAポートのためのDGIDと一致する場合、パケットをIBプロトコルに従って処理することができる。着信パケットにおけるDGIDがイングレスHCAポートのためのいずれのDGIDとも一致しない場合、指定されたRx QPのセットのうちの1つにパケットを転送することができる、この場合、パケットは、宛先ノードへの転送前に、ホストノード1501上で実行されるソフトウェアによって検査する(任意には、変更する)ことができる。データパケットが転送されるべきであるとホストソフトウェアが判断すると、(場合によっては、IBヘッダが変更されている)パケット全体を、送信待ち行列を用いて送信することができる。送信待ち行列は、未処理のパケットをサポートすることができる。この場合、HCA1510のハードウェア(HW:hardware)は、パケットを送信しながら、可変巡回冗長検査(CRC)および不変巡回冗長検査(CRC)を任意に生成することができる。
発明の実施形態に従うと、HCA1510は、ソフトウェアスタックオーバーヘッドを許可せず、データをコピーする必要のない処理スレッドにパケットを直接送達することができる。さらに、HCA1510は、単にヘッダの必要な部分のみに接触してもよい。たとえば、HCA1510は、ヘッダ/データ分離(またはヒット)をサポートすることができる。付加的には、HCA1510は、複数のコアとともに効率的にスケールアウトするために、処理ごとのスレッド専用の複数の待ち行列を利用することができる。
付加的には、HCA1510は、巡回冗長検査(CRC)確認1521およびCRC生成1522のためにハードウェアの支援を行うことができる。また、HCA1510は、P_Keyを考慮に入れるように、インクリメンタル不変CRC更新を実行することができる。こP_Keyの値は、パケットにおいて直接変更されるか、または、(作業要求などの)制御インターフェイスを介して変更される。これにより、HCA1510は、IBペイロードのデータインテグリティ特徴を保持することができ、HCA1510は、2つのエンドポイント間の分離をサポートするためにIB P_Keyの変更を許可する。
図16は、発明の実施形態に従った、非仮想環境においてデータサービスを提供するためのホストチャネルアダプタ(HCA)フィルタリングをサポートする例を示す図である。図16に示されるように、ネットワーク環境1600におけるデータサービスノード1601は、ホストチャネルアダプタ(HCA)1610などネットワーク接続素子を用いてネットワーク接続できるようにする。
データサービスノード1601は、アプリケーションサーバ1604およびデータサービスコンポーネント(たとえば、データサービスサーバ1605)を含み得る。さらに、データサービスノード1601は混合データフローを受取り得る。混合データフロートラフィックは、アプリケーションサーバ1604またはデータサービスサーバ1605を対象としてもよい。
図16に示されるように、データサービスノード1601は、待ち行列対(QP)1611〜1619に関連付けることができる。アプリケーションサーバ1604は、待ち行列対(QP)1611〜1613に関連付けることができ、データサービスサーバ1605は、受信(Rx)待ち行列対(QP)1614〜1616および送信(Tx)QP1617〜1619に関連付けることができる。
発明の実施形態に従うと、データサービスノード1601は、HCA1610を用いて(図15に示されるような仮想環境と同様に)フィルタ能力を提供することができる。
図16に示されるように、HCA1610は受信(Rx)フィルタ1608を含み得る。受信(Rx)フィルタ1608は、プロトコルを終了させることなくデータサービスサーバ1605を対象とするパケットを識別することができる。これにより、HCA1610は、(IBプロトコルに従ってIBパケットを処理するためにIBプロトコルエンジン1606を用いる)アプリケーションサーバ1604を対象とするデータフロートラフィックから、データサービスサーバ1605を対象とするデータフロートラフィックを分離することができる。
発明の実施形態に従うと、HCA1610は、Rx QP1614〜1616などの複数の待ち行列対(QP)にわたってトラフィックを分散させることができ、これにより、(たとえば、複数のスレッド1631〜1633を用いて)並列処理を可能にし得る。たとえば、HCA1610は、複数の待ち行列対(QP)1614〜1616にわたってトラフィックを分解させることができる受信側スケーリング(RSS)フィルタ1607を利用することができる。データサービスサーバ1605は、QP1614〜1616上に到着するパケットを処理するためにさまざまなプロセス1631〜1633を割付けることができる。
発明の実施形態に従うと、HCA1610はローモードパケット転送をサポートすることができる。付加的には、HCA1610は、巡回冗長検査(CRC)確認1621およびCRC生成1622のためにハードウェア支援を行うことができる。
受信側では、HCA1610は、CRCを確認することができ、IBプロトコルを終了させることなく複数のアプリケーションレベルQPに(すべてのIBヘッダとともに)パケットをローフォーマットで転送することができ、RSSフィルタ1607を用いて複数の受信待ち行列(RQ)にまで負荷を分散させることができる。送信側では、データサービスコンポーネント1605によって処理されたパケットは、たとえば、QP1617〜1619を介して、ローフォーマットでHCA1610にサブミットすることができる。HCA1610は、CRCを生成することができ、アプリケーションが複数のアプリケーションレベルQPから(すべてのIBヘッダとともに)パケットをローフォーマットでポストすることを許可する。
図17は、発明の実施形態に従った、ネットワーク環境においてデータサービスを提供するためのHCAフィルタリングをサポートするための例示的なフローチャートである。図17に示されるように、ステップ1701において、システムは、ネットワーク環境におけるノードにネットワーキングデバイスを関連付けることができる。この場合、ノードには、データサービスを提供することができるデータサービスコンポーネントがデプロイされている。次いで、ステップ1702において、ネットワーキングデバイスは、プロトコルを終了させることなく、フィルタを用いて、データサービスコンポーネントを対象とする1つ以上のパケットを識別することができる。さらに、ステップ1703において、フィルタは、データサービスコンポーネントに上記1つ以上のパケットを転送することができる。
一実施形態に従うと、ネットワーク環境においてデータサービスを提供するための装置が提供される。装置は、ネットワークファブリックを介して相互接続される複数のノードを含むネットワーク環境においてノード上にデータサービスコンポーネントを提供するための手段と、固有のパケット転送機構を用いて、ネットワークファブリック内のデータフローをノード上の上記データサービスコンポーネントに向けるための手段と、上記データサービスコンポーネントを用いて、ネットワークファブリックにおけるデータフロー内の1つ以上のデータパケットを処理するための手段とを含む。
一実施形態に従うと、装置はさらに、上記データサービスコンポーネントが、1つ以上のアプリケーションサーバと物理マシンを共有すること、または、専用の物理マシン上に常駐することを可能にするための手段を含む。
一実施形態に従うと、装置はさらに、データサービス機器としての仮想マシンにおいて上記データサービスコンポーネントをデプロイするための手段、または、データサービスサーバとしての物理マシン上に上記データサービスコンポーネントを直接デプロイするための手段を含む。
一実施形態に従うと、装置はさらに、ネットワークファブリックがインフィニバンドネットワークプロトコルに基づくことを可能にするための手段を含む。
一実施形態に従うと、装置はさらに、外部ネットワークスイッチおよび外部ネットワークリンクのうちの1つを介して、外部ネットワークにおける1つ以上のデータサービスサーバをネットワークファブリックに接続するための手段を含む。
一実施形態に従うと、装置はさらに、ノードが、中間ノードとなることを可能にするための手段を含み、中間ノードは、複数の通信パーティ同士を物理的に分離すること、および、ネットワークパーティションを介して複数の通信パーティを分離することのうち少なくとも1つを実行する。
一実施形態に従うと、装置はさらに、ネットワーク環境におけるネットワークファブリック上において上記データサービスコンポーネントの複数のインスタンスを同時に実行するための手段を含む。
一実施形態に従うと、装置はさらに、上記データサービスコンポーネントの複数のインスタンスを対でデプロイするための手段を含む。
一実施形態に従うと、装置はさらに、上記データサービスコンポーネントが、さまざまなタイプのネットワークトラフィックを検査するように動作するソフトウェアファイアウォール(FWL)サービスを提供することを可能にするための手段を含む。
一実施形態に従うと、装置はさらに、上記データサービスコンポーネントがトラフィックルーティングサービスを提供することを可能にするための手段を含む。
ネットワーク環境においてデータサービスを提供するためのシステムであって、ネットワーク環境は、ネットワークファブリックを介して相互接続された複数のノードを含む。システムは、複数のノードのうち或るノード上にデータサービスコンポーネントを含む。上記データサービスコンポーネントは、固有のパケット転送機構を用いることによって、上記データサービスコンポーネントに向けられたデータフローをネットワークファブリックにおいて受取り、ネットワークファブリックにおけるデータフロー内の1つ以上のデータパケットを処理するように構成される。
一実施形態に従うと、ネットワークファブリックはインフィニバンドネットワークプロトコルに基づいている。
一実施形態に従うと、上記データサービスコンポーネントを含むノードは中間ノードであり、この中間ノードは、複数の通信パーティを物理的に分離すること、および、ネットワークパーティションを介して複数の通信パーティを分離することのうち、少なくとも1つを実行する。
一実施形態に従うと、上記データサービスコンポーネントはさらに、さまざまなタイプのネットワークトラフィックを検査するように動作するソフトウェアファイアウォール(FWL)サービスと、トラフィックルーティングサービスとのうち、少なくとも1つを提供するように構成される。
ネットワーク環境においてデータサービスを提供するためのシステムであって、ネットワーク環境は、ネットワークファブリックを介して相互接続された複数のノードを含む。システムは、複数のノードのうち1つのノード上にデータサービスサーバを含む。上記データサービスサーバは、固有のパケット転送機構を用いることによって、上記データサービスサーバに向けられたデータフローをネットワークファブリックにおいて受取り、ネットワークファブリックにおけるデータフロー内の1つ以上のデータパケットを処理するように構成される。
一実施形態に従うと、ネットワークファブリックは、インフィニバンドネットワークプロトコルに基づいている。
一実施形態に従うと、上記データサービスサーバは、外部ネットワークスイッチおよび外部ネットワークリンクのうちの1つを介して、ネットワークファブリックに接続される外部ネットワークにおけるデータサービスサーバである。
一実施形態に従うと、上記データサービスサーバを含むノードは中間ノードであり、この中間ノードは、複数の通信パーティを物理的に分離すること、および、ネットワークパーティションを介して複数の通信パーティを分離することのうち少なくとも1つを実行する。
一実施形態に従うと、上記データサービスサーバは、さまざまなタイプのネットワークトラフィックを検査するように動作するソフトウェアファイアウォール(FWL)サービスと、トラフィックルーティングサービスとのうち少なくとも1つを提供するように構成される。
一実施形態に従うと、ネットワーク環境においてデータサービスを提供するための方法が提供される。当該方法は、サブネットアドミニストレータを介して、ソースノードから経路記録レゾリューション要求を受取るステップを含み、ソースノードは、経路記録レゾリューション要求を用いて宛先ノードのアドレスを獲得する。上記方法はさらに、サブネットアドミニストレータを介して中間ノードのアドレスをソースノードに提供するステップを含み、中間ノードはデータサービスを提供する。上記方法はさらに、中間ノードのアドレスに基づいて、ソースノードを介して、データフロー内の1つ以上のデータパケットを中間ノードに送信するステップを含む。
一実施形態に従うと、提供される方法は、中間ノードを介してデータサービスを用いて上記1つ以上のデータパケットを処理するステップと、上記1つ以上のデータパケットの処理後、中間ノードを介して、宛先ノードに1つ以上の発信データパケットを送信するステップとを含む。
一実施形態に従うと、提供される方法は、ネットワーク環境がインフィニバンドプロトコルに基づくことを可能にするステップを含む。
一実施形態に従うと、提供される方法は、中間ノードを、データサービスを提供することに特化するステップを含む。
一実施形態に従うと、提供される方法は、サブネットアドミニストレータに関連付けられたインターフェイスを介してサブネットアドミニストレータのための1つ以上のポリシーを構成するステップと、サブネットアドミニストレータを介して1つ以上のポリシーを用いて、ソースノードのための1つ以上の宛先アドレスをレゾルブするステップとを含む。
一実施形態に従うと、提供される方法は、上記1つ以上のポリシーが、ソースおよび宛先のグローバル識別子(GID)、サービス識別子(ID)およびネットワークパーティションのうち少なくとも1つに基づくことを可能にするステップを含む。
一実施形態に従うと、提供される方法は、上記データサービスを提供するデータサービスコンポーネントを仮想機器としての仮想マシンにデプロイするステップを含む。
一実施形態に従うと、提供される方法は、データサービスコンポーネントによって提供される上記データサービスが、ソースノードおよび宛先ノードの両方に対してトランスペアレントであることを可能にするステップを含む。
一実施形態に従うと、提供される方法は、上記データサービスが、さまざまなタイプのネットワークトラフィックを検査するように動作するソフトウェアファイアウォール(FWL)サービスであることを可能にするステップを含む。
一実施形態に従うと、提供される方法は、上記データサービスがトラフィックルーティングを実行することを可能にするステップを含む。
一実施形態に従うと、ネットワーク環境においてデータサービスを提供するシステムが提供される。システムは、1つ以上のマイクロプロセッサと、ネットワーク環境における1つ以上のマイクロプロセッサ上で実行されるサブネットアドミニストレータとを含み、上記サブネットアドミニストレータは、ソースノードから経路記録レゾリューション要求を受取るように動作し、ソースノードは、経路記録レゾリューション要求を用いて、宛先ノードのアドレスを獲得する。上記サブネットアドミニストレータはさらに、データサービスを提供する中間ノードのアドレスをソースノードに提供し、中間ノードのアドレスに基づいて、ソースノードが、データフロー内の1つ以上のデータパケットを中間ノードに送信することを可能にするように動作する。
一実施形態に従うと、提供されるシステムにおいては、中間ノードは、データサービスを用いて上記1つ以上のデータパケットを処理するように動作し、中間ノードは、上記1つ以上のデータパケットの処理後、宛先ノードに1つ以上の発信データパケットを送信するように動作する。
一実施形態に従うと、提供されるシステムにおいては、ネットワーク環境はインフィニバンドプロトコルに基づいている。
一実施形態に従うと、提供されるシステムにおいては、中間ノードはデータサービスを提供することに特化されている。
一実施形態に従うと、提供されるシステムにおいては、サブネットアドミニストレータに関連付けられるインターフェイスは、サブネットアドミニストレータのための1つ以上のポリシーを構成するために用いられ、サブネットアドミニストレータは、1つ以上のポリシーを用いてソースノードについての1つ以上の宛先アドレスをレゾルブするように動作する。
一実施形態に従うと、提供されるシステムにおいては、上記1つ以上のポリシーは、ソースおよび宛先のグローバル識別子(GID)、サービス識別子(ID)およびネットワークパーティションのうち少なくとも1つに基づいている。
一実施形態に従うと、提供されるシステムにおいては、上記データサービスを提供するデータサービスコンポーネントは、仮想機器としての仮想マシンにおいてデプロイされる。
一実施形態に従うと、提供されるシステムにおいては、データサービスコンポーネントによって提供される上記データサービスは、ソースノードおよび宛先ノードの両方に対してトランスペアレントである。
一実施形態に従うと、提供されるシステムにおいては、上記データサービスコンポーネントは、さまざまなタイプのネットワークトラフィックを検査するように動作するソフトウェアファイアウォール(FWL)サービスと、トラフィックルーティングサービスとのうち少なくとも1つを提供するように動作する。
一実施形態に従うと、命令が格納された非一時的な機械読取り可能な記憶媒体が提供される。当該命令は、実行されると、サブネットアドミニストレータを介して、ソースノードから経路記録レゾリューション要求を受取るステップをシステムに実行させ、ソースノードは、経路記録レゾリューション要求を用いて宛先ノードのアドレスを獲得する。当該命令はさらに、実行されると、サブネットアドミニストレータを介して、データサービスを提供する中間ノードのアドレスをソースノードに提供するステップと、中間ノードのアドレスに基づいて、ソースノードを介して、データフロー内の1つ以上のデータパケットを中間ノードに送信するステップとを、システムに実行させる。
一実施形態に従うと、ネットワーク環境においてデータサービスを提供するための装置が提供される。装置は、サブネットアドミニストレータを介して、ソースノードから経路記録レゾリューション要求を受取るための手段を含み、ソースノードは、経路記録レゾリューション要求を用いて宛先ノードのアドレスを獲得し、装置はさらに、データサービスを提供する中間ノードのアドレスを、サブネットアドミニストレータを介して、ソースノードに提供するための手段と、中間ノードのアドレスに基づいて、ソースノードを介して、データフロー内の1つ以上のデータパケットを中間ノードに送信するための手段とを含む。
一実施形態に従うと、装置はさらに、中間ノードを介してデータサービスを用いて上記1つ以上のデータパケットを処理するための手段と、上記1つ以上のデータパケットの処理後、中間ノードを介して、1つ以上の発信データパケットを宛先ノードに送信するための手段とを含む。
一実施形態に従うと、装置はさらに、ネットワーク環境がインフィニバンドプロトコルに基づくことを可能にするための手段を含む。
一実施形態に従うと、装置はさらに、中間ノードを、データサービスを提供することに特化するための手段を含む。
一実施形態に従うと、装置はさらに、サブネットアドミニストレータに関連付けられるインターフェイスを介して、サブネットアドミニストレータのための1つ以上のポリシーを構成するための手段と、サブネットアドミニストレータを介して1つ以上のポリシーを用いて、ソースノードについての1つ以上の宛先アドレスをレゾルブするための手段とを含む。
一実施形態に従うと、装置はさらに、上記1つ以上のポリシーが、ソースおよび宛先のグローバル識別子(GID)、サービス識別子(ID)およびネットワークパーティションのうち少なくとも1つに基づくことを可能にするための手段を含む。
一実施形態に従うと、装置はさらに、上記データサービスを提供するデータサービスコンポーネントを仮想機器としての仮想マシンにデプロイするための手段を含む。
一実施形態に従うと、装置はさらに、データサービスコンポーネントによって提供される上記データサービスがソースノードおよび宛先ノードの両方に対してトランスペアレントであることを可能にするための手段を含む。
一実施形態に従うと、装置はさらに、上記データサービスが、さまざまなタイプのネットワークトラフィックを検査するように動作するソフトウェアファイアウォール(FWL)サービスであることを可能にするための手段を含む。
一実施形態に従うと、装置はさらに、上記データサービスがトラフィックルーティングを実行することを可能にするための手段を含む。
一実施形態に従うと、ネットワーク環境においてデータサービスを提供するシステムが提供される。当該システムは、サブネットアドミニストレータを含み、上記サブネットアドミニストレータは、ソースノードから経路記録レゾリューション要求を受取るように動作し、ソースノードは、経路記録レゾリューション要求を用いて宛先ノードのアドレスを獲得する。当該システムはさらに、データサービスを提供する中間ノードのアドレスをソースノードに提供し、中間ノードのアドレスに基づいて、ソースノードがデータフロー内の1つ以上のデータパケットを中間ノードに送信することを可能にするように動作する。
一実施形態に従うと、ネットワーク環境におけるデータサービスアドレスレゾリューションをサポートするための方法が提供される。当該方法は、中間ノードを介してソースノードから着信データパケットを受取るステップを含む。着信データパケットは宛先ノードを対象とし、着信データパケットは、宛先ノードのためのグローバル識別子と、中間ノードのためのローカル識別子とを含み、当該方法はさらに、宛先ノードのためのグローバル識別子に基づいて、中間ノードを介して、宛先ノードについてのローカルアドレス指定情報を獲得するステップと、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、中間ノードを介して、発信データパケットを宛先ノードに送信するステップとを含む。
一実施形態に従うと、提供される方法は、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、発信データパケットにおいて、宛先ノードのためのローカル識別子を含めるステップを含む。
一実施形態に従うと、提供される方法は、発信データパケットが、ローカル識別子だけが変更されている以外は着信データパケットに似ている場合、発信データパケットに関連付けられた可変巡回冗長検査(CRC)を更新するステップと、発信データパケットが変更済みのトランスポートレベル情報を含む場合、発信データパケットに関連付けられた不変巡回冗長検査(CRC)を更新するステップとを含む。
一実施形態に従うと、ネットワーク環境がインフィニバンドプロトコルに基づくことを可能にするステップを含む方法が提供される。
一実施形態に従うと、提供される方法は、経路記録レゾリューションキャッシュを用いて、着信データパケットの1つ以上のヘッダにおける1つ以上のフィールドによって識別される1つ以上のアドレスをレゾルブするステップを含む。
一実施形態に従うと、提供される方法は、中間ノードだけを介して互いと通信するようにソースノードおよび宛先ノードを構成するステップを含む。ソースノードおよび宛先ノードは、異なるパーティションに関連付けられること、同じパーティションの限られたメンバであること、および異なるサブネットにあること、のうち1つとなるように構成される。
一実施形態に従うと、提供される方法は、データサービスを提供する上記中間ノードを介して、データサービス機器をホストするステップを含む。
一実施形態に従うと、提供される方法は、上記データサービス機器がトラフィックルーティングを実行することを可能にするステップを含む。
一実施形態に従うと、提供される方法は、上記データサービス機器がソフトウェアファイアウォール(FWL)サービスを提供することを可能にするステップを含む。
一実施形態に従うと、提供される方法は、上記中間ノード上のソフトウェアFWLサービスを介して、別の着信データパケットをドロップするステップを含む。
一実施形態に従うと、ネットワーク環境におけるデータサービスアドレスレゾリューションをサポートするためのシステムが提供される。当該システムは、1つ以上のマイクロプロセッサと、ネットワーク環境において1つ以上のマイクロプロセッサ上で実行されるノードとを含む。上記ノードは、ソースノードから着信データパケットを受取るように動作し、着信データパケットは宛先ノードを対象とし、着信データパケットは、宛先ノードのためのグローバル識別子および中間ノードのためのローカル識別子を含み、上記ノードはさらに、宛先ノードのためのグローバル識別子に基づいて宛先ノードについてのローカルアドレス指定情報を獲得し、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて発信データパケットを宛先ノードに送信するように動作する。
一実施形態に従うと、提供されるシステムにおいては、発信データパケットは、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて宛先ノードのためのローカル識別子を含む。
一実施形態に従うと、提供されるシステムにおいては、上記ノードは、発信データパケットが、宛先ノードのためのローカル識別子だけが変更されている着信データパケットに似ている場合、発信データパケットに関連付けられた可変巡回冗長検査(CRC)を更新し、発信データパケットが変更済みのトランスポートレベル情報を含む場合、発信データパケットに関連付けられた不変巡回冗長検査(CRC)を更新するように動作する。
一実施形態に従うと、提供されるシステムにおいては、ネットワーク環境はインフィニバンドプロトコルに基づいている。
一実施形態に従うと、提供されるシステムにおいては、経路記録レゾリューションキャッシュは、着信データパケットの1つ以上のヘッダにおける1つ以上のフィールドによって識別される1つ以上のアドレスをレゾルブするように動作する。
一実施形態に従うと、提供されるシステムにおいては、ソースノードおよび宛先ノードは、中間ノードを介してのみ互いと通信するように構成され、ソースノードおよび宛先ノードは、異なるパーティションに関連付けられること、同じパーティションの限られたメンバであること、および異なるサブネットにあること、のうち1つとなるように構成される。
一実施形態に従うと、提供されるシステムにおいては、データサービスを提供する上記中間ノードがデータサービス機器をホストする。
一実施形態に従うと、提供されるシステムにおいては、上記データサービス機器はトラフィックルーティングを実行するように動作する。
一実施形態に従うと、提供されるシステムにおいては、上記データサービス機器は、ソフトウェアファイアウォール(FWL)サービスを提供するように動作する。
一実施形態に従うと、命令が格納された非一時的な機械読取り可能な記憶媒体が提供される。当該命令は、実行されると、中間ノードを介して、ソースノードから着信データパケットを受取るステップをシステムに実行させる。着信データパケットは宛先ノードを対象とし、着信データパケットは、宛先ノードのためのグローバル識別子および中間ノードのためのローカル識別子を含む。当該命令はさらに、実行されると、宛先ノードのためのグローバル識別子に基づいて、中間ノードを介して、宛先ノードについてのローカルアドレス指定情報を獲得するステップと、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、中間ノードを介して、宛先ノードに発信データパケットを送信するステップとをシステムに実行させる。
一実施形態に従うと、ネットワーク環境においてデータサービスアドレスレゾリューションをサポートするための装置が提供される。当該装置は、中間ノードを介して、ソースノードから着信データパケットを受取るための手段を含み、着信データパケットは宛先ノードを対象とし、着信データパケットは、宛先ノードのためのグローバル識別子および中間ノードのためのローカル識別子を含み、当該装置はさらに、宛先ノードのためのグローバル識別子に基づいて、中間ノードを介して、宛先ノードについてのローカルアドレス指定情報を取得するための手段と、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、中間ノードを介して、宛先ノードに発信データパケットを送信するための手段とを含む。
一実施形態に従うと、装置はさらに、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、発信データパケットにおいて宛先ノードのためのローカル識別子を含むための手段を含む。
一実施形態に従うと、装置はさらに、発信データパケットが、ローカル識別子だけが変更されている以外は着信データパケットに似ている場合、発信データパケットに関連付けられた可変巡回冗長検査(CRC)を更新するための手段と、発信データパケットが変更済みのトランスポートレベル情報を含む場合、発信データパケットに関連付けられた不変巡回冗長検査(CRC)を更新するための手段とを含む。
一実施形態に従うと、装置は、ネットワーク環境がインフィニバンドプロトコルに基づくことを可能にするための手段を含む。
一実施形態に従うと、装置はさらに、経路記録レゾリューションキャッシュを用いて、着信データパケットの1つ以上のヘッダにおける1つ以上のフィールドによって識別される1つ以上のアドレスをレゾルブするための手段を含む。
一実施形態に従うと、装置はさらに、中間ノードのみを介して互いと通信するようにソースノードおよび宛先ノードを構成するための手段を含む。ソースノードおよび宛先ノードは、異なるパーティションに関連付けられること、同じパーティションの限られたメンバであること、および異なるサブネットにあること、のうち1つとなるように構成される。
一実施形態に従うと、装置はさらに、データサービスを提供する上記中間ノードを介して、データサービス機器をホストするための手段を含む。
一実施形態に従うと、装置はさらに、上記データサービス機器がトラフィックルーティングを実行することを可能にするための手段を含む。
一実施形態に従うと、装置はさらに、上記データサービス機器がソフトウェアファイアウォール(FWL)サービスを提供することを可能にするための手段を含む。
一実施形態に従うと、装置はさらに、上記中間ノード上のソフトウェアFWLサービスを介して、別の着信データパケットをドロップするための手段を含む。
一実施形態に従うと、ネットワーク環境におけるデータサービスアドレスレゾリューションをサポートするためのシステムが提供される。当該システムは、ネットワーク環境においてノードを含み、上記ノードは、ソースノードから着信データパケットを受取るように動作し、着信データパケットは宛先ノードを対象とし、着信データパケットは、宛先ノードのためのグローバル識別子および中間ノードのためのローカル識別子を含み、上記ノードはさらに、宛先ノードのためのグローバル識別子に基づいて、宛先ノードについてのローカルアドレス指定情報を獲得し、宛先ノードについて獲得されたローカルアドレス指定情報に基づいて、宛先ノードに発信データパケットを送信するように動作する。
一実施形態に従うと、ネットワーク環境においてデータサービスを提供するためのシステムが提供される。当該システムは、1つの以上のマイクロプロセッサと、上記1つ以上のマイクロプロセッサ上において実行されるノードとを含み、ノードは、データサービスを提供するよう動作するデータサービスコンポーネントを含み、当該システムはさらに、ノードに関連付けられたネットワーキングデバイスを含み、当該ネットワーキングデバイスは、フィルタを用いて、プロトコルを終了させることなく、データサービスコンポーネントを対象とする1つ以上のパケットを識別し、データサービスコンポーネントに上記1つ以上のパケットを転送するように動作する。
一実施形態に従うと、提供されるシステムにおいては、上記データサービスコンポーネントは、仮想機器としての仮想マシンおよび専用ノードのうちの1つにおいてデプロイされる。
一実施形態に従うと、提供されるシステムにおいては、データサービスコンポーネントは、ファイアウォール(FWL)サービスおよびトラフィックルーティングサービスのうち少なくとも1つを提供する。
一実施形態に従うと、提供されるシステムにおいては、上記フィルタは、各々の上記パケットにおける宛先ローカル識別子(DLID)のフィルタリング、各々の上記パケットにおける宛先グローバル識別子(DGID)のフィルタリング、および反転フィルタリングのうち少なくとも1つに基づいている。
一実施形態に従うと、提供されるシステムにおいては、データサービスコンポーネントは上記1つ以上のパケットを処理するように動作し、ネットワーキングデバイスは、処理されたパケットを1つ以上の宛先ノードに送信するように動作する。
一実施形態に従うと、提供されるシステムにおいては、ノードは複数の待ち行列対(QP)に関連付けられ、1つ以上の上記QPはアプリケーションサーバに関連付けられ、1つ以上の上記QPはデータサービスコンポーネントに関連付けられる。
一実施形態に従うと、提供されるシステムにおいては、ネットワーキングデバイスは、アプリケーションサーバを対象とするトラフィックから、データサービスコンポーネントを対象とするトラフィックを分離するように動作する。
一実施形態に従うと、提供されるシステムにおいては、ネットワーク環境はインフィニバンドプロトコルに基づいており、ネットワーキングデバイスはホストチャネルアダプタ(HCA)である。
一実施形態に従うと、提供されるシステムにおいては、ネットワーキングデバイスは、1つ以上のパケット上において巡回冗長検査(CRC)確認およびCRC生成を実行するように動作し、ネットワーキングデバイスは、トランスポートヘッダが更新されたときに、エンド・ツー・エンドデータインテグリティを維持するために、不変CRCのためにインクリメンタルCRC更新を実行するように動作する。
一実施形態に従うと、提供されるシステムにおいては、ネットワーキングデバイスは、並列処理のために、データサービスコンポーネントを対象とするトラフィックを複数のQPにわたって分散させるように動作し、上記QPは、ノード上のオペレーティングシステムをバイパスするデータサービスコンポーネントに対してハードウェアインターフェイスを直接露出させるように動作する。
一実施形態に従うと、ネットワーク環境においてデータサービスを提供するための方法が提供される。当該方法は、ネットワーク環境においてネットワーキングデバイスをノードに関連付けるステップを含み、ノードには、データサービスを提供することができるデータサービスコンポーネントがデプロイされ、当該方法はさらに、ネットワーキングデバイスを介してフィルタを用いて、プロトコルを終了させることなく、データサービスコンポーネントを対象とする1つ以上のパケットを識別するステップと、データサービスコンポーネントに上記1つ以上のパケットを転送するステップとを含む。
一実施形態に従うと、提供される方法は、仮想機器としての仮想マシンおよび専用ノードのうちの1つにおいて上記データサービスコンポーネントをデプロイするステップを含む。
一実施形態に従うと、提供される方法は、データサービスコンポーネントが、ファイアウォール(FWL)サービスおよびトラフィックルーティングサービスのうち少なくとも1つを提供することを可能にするステップを含む。
一実施形態に従うと、提供される方法は、上記フィルタが、各々の上記パケットにおける宛先ローカル識別子(DLID)のフィルタリング、各々の上記パケットにおける宛先グローバル識別子(DGID)のフィルタリング、および反転フィルタリングのうち少なくとも1つに基づくことを可能にするステップを含む。
一実施形態に従うと、提供される方法は、データサービスコンポーネントが上記1つ以上のパケットを処理することを可能にするステップと、処理されたパケットを1つ以上の宛先ノードに送信するステップとを含む。
一実施形態に従うと、提供される方法は、ノードを複数の待ち行列対(QP)に関連付けるステップを含む。1つ以上の上記QPはアプリケーションサーバに関連付けられ、1つ以上の上記QPはデータサービスコンポーネントに関連付けられる。
一実施形態に従うと、提供される方法は、上記フィルタをネットワーキングデバイス上に提供するステップを含み、ネットワーキングデバイスは、アプリケーションサーバを対象とするトラフィックから、データサービスコンポーネントを対象とするトラフィックを分離するように動作する。
一実施形態に従うと、提供される方法は、ネットワーク環境がインフィニバンドプロトコルに基づくことを可能にするステップと、ネットワーキングデバイスがホストチャネルアダプタ(HCA)となることを可能にするステップとを含む。
一実施形態に従うと、提供される方法は、1つ以上のパケット上において巡回冗長検査(CRC)確認およびCRC生成を実行すること、トランスポートヘッダが更新されたときに、エンド・ツー・エンドのデータインテグリティを維持するために不変CRCのためにインクリメンタルCRC更新を実行すること、並列処理のためにデータサービスコンポーネントを対象とするトラフィックを複数のQPにわたって分散させること、および、1つ以上のQPが、ノード上のオペレーティングシステムをバイパスするデータサービスコンポーネントに対してハードウェアインターフェイスを直接露出させることを可能にすること、のうち少なくとも1つをネットワーキングデバイスが実行することを可能にする。
一実施形態に従うと、命令が格納された非一時的な機械読取り可能な記憶媒体が提供される。当該命令が実行されると、ネットワーク環境におけるノードにネットワーキングデバイスを関連付けるステップをシステムに実行させ、ノードには、データサービスを提供することができるデータサービスコンポーネントがデプロイされており、さらに、当該命令が実行されると、ネットワーキングデバイスを介してフィルタを用いて、プロトコルを終了させることなくデータサービスコンポーネントを対象とする1つ以上のパケットを識別するステップと、データサービスコンポーネントに上記1つ以上のパケットを転送するステップとをシステムに実行させる。
一実施形態に従うと、ネットワーク環境においてデータサービスを提供するためのシステムが提供される。当該システムは、データサービスを提供するように動作するデータサービスコンポーネントを含むノードと、ノードに関連付けられたネットワーキングデバイスとを含む。ネットワーキングデバイスは、フィルタを用いて、プロトコルを終了させることなく、データサービスコンポーネントを対象とする1つ以上のパケットを識別し、上記1つ以上のパケットをデータサービスコンポーネントに転送するように動作する。
一実施形態に従うと、ネットワーク環境においてデータサービスを提供するための装置が提供される。当該装置は、ネットワーク環境においてネットワーキングデバイスをノードに関連付けるための手段を含み、ノードには、データサービスを提供することができるデータサービスコンポーネントがデプロイされており、当該装置はさらに、ネットワーキングデバイスを介してフィルタを用いて、プロトコルを終了させることなく、データサービスコンポーネントを対象とする1つ以上のパケットを識別するための手段と、データサービスコンポーネントに上記1つ以上のパケットを転送するための手段とを含む。
一実施形態に従うと、装置はさらに、仮想機器としての仮想マシンおよび専用ノードのうちの1つにおいて上記データサービスコンポーネントをデプロイするための手段を含む。
一実施形態に従うと、装置はさらに、データサービスコンポーネントが、ファイアウォール(FWL)サービスおよびトラフィックルーティングサービスのうち少なくとも1つを提供することを可能にするための手段を含む。
一実施形態に従うと、装置はさらに、上記フィルタが、各々の上記パケットにおける宛先ローカル識別子(DLID)のフィルタリング、各々の上記パケットにおける宛先グローバル識別子(DGID)のフィルタリング、および反転フィルタリングのうち少なくとも1つに基づくことを可能にするための手段を含む。
一実施形態に従うと、装置はさらに、データサービスコンポーネントが上記1つ以上のパケットを処理することを可能にするための手段と、処理されたパケットを1つ以上の宛先ノードに送信するための手段とを含む。
一実施形態に従うと、装置はさらに、ノードを複数の待ち行列対(QP)に関連付けるための手段を含み、1つ以上の上記QPはアプリケーションサーバに関連付けられ、1つ以上の上記QPはデータサービスコンポーネントに関連付けられる。
一実施形態に従うと、装置はさらに、ネットワーキングデバイス上に上記フィルタを提供するための手段を含み、ネットワーキングデバイスは、アプリケーションサーバを対象とするトラフィックから、データサービスコンポーネントを対象とするトラフィックを分離するように動作する。
一実施形態に従うと、装置はさらに、ネットワーク環境がインフィニバンドプロトコルに基づくことを可能にするための手段と、ネットワーキングデバイスがホストチャネルアダプタ(HCA)になることを可能にするための手段とを含む。
一実施形態に従うと、装置はさらに、1つ以上のパケット上において巡回冗長検査(CRC)確認およびCRC生成を実行すること;トランスポートヘッダが更新されたときに、エンド・ツー・エンドのデータインテグリティを維持するように不変CRCのためにインクリメンタル不変CRC更新を実行すること;並列処理のために、データサービスコンポーネントを対象とするトラフィックを複数のQPにわたって分散させること;および、1つ以上のQPが、ノード上のオペレーティングシステムをバイパスするデータサービスコンポーネントに対して直接ハードウェアインターフェイスを露出させることを可能にすること;のうち少なくとも1つをネットワーキングデバイスが実行することを可能にするための手段を含む。
本発明の多くの特徴は、ハードウェア、ソフトウェア、ファームウェアもしくはこれらの組み合わせにおいて、ハードウェア、ソフトウェア、ファームウェアもしくはこれらの組み合わせを用いて、またはハードウェア、ソフトウェア、ファームウェアもしくはこれらの組み合わせの助けを借りて、実行することができる。結果として、本発明の特徴は(たとえば、1つ以上のプロセッサを含む)処理システムを用いて実現されてもよい。
本発明の特徴は、コンピュータプログラムプロダクトにおいて、コンピュータプログラムプロダクトを用いて、またはコンピュータプログラムプロダクトの助けを借りて実現することができる。このコンピュータプログラムプロダクトは、命令が格納された記憶媒体またはコンピュータ読取可能媒体であり、この明細書中に提示された特徴のうちいずれも実行するよう処理システムをプログラムするのに用いることができる。この記録媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、および光磁気ディスクを含む、任意の種類のディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気もしくは光カード、ナノシステム(分子メモリICを含む)、または、命令および/もしくはデータを格納するのに適した任意の種類の媒体もしくはデバイスを含み得るものの、これらに限定されない。
機械読取り可能媒体のうちいずれか1つに格納された本発明の特徴は、処理システムのハードウェアを制御するために、および、処理システムが、本発明の結果を利用する他の機構と対話することを可能にするために、ソフトウェアおよび/またはファームウェアに組込むことができる。このようなソフトウェアまたはファームウェアは、アプリケーションコード、デバイスドライバ、オペレーティングシステムおよび実行環境/コンテナを含み得るが、これらに限定されない。
発明の特徴はまた、たとえば、特定用途向け集積回路(ASIC:application specific integrated circuit)などのハードウェアコンポーネントを用いて、ハードウェアにおいて実現されてもよい。この明細書中に記載される機能を実行するようにハードウェア状態マシンを実現することは、当業者には明らかになるだろう。
加えて、本発明は、本開示の教示に従いプログラムされた、1つ以上のプロセッサ、メモリ、および/またはコンピュータ読取可能な記録媒体を含む、従来の汎用もしくは専用デジタルコンピュータ、コンピューティングデバイス、マシン、またはマイクロプロセッサを1つ以上用いて、適宜実装し得る。適切なソフトウェアコーディングは、熟練したプログラマが本開示の教示に基づいて容易に準備できるものである。これはソフトウェア技術における当業者には明らかであろう。
本発明のさまざまな実施形態を上述してきたが、これら実施形態が限定ではなく例示のために提示されてきたことが理解されるはずである。形態および詳細のさまざまな変更が、発明の精神および範囲から逸脱することなくこの明細書中において実施され得ることが当業者に明らかになるだろう。
本発明は、指定された機能の性能およびその関係を例示する機能構成要素を用いて上述されてきた。これらの機能構成要素の境界は、説明の便宜上、しばしば、この明細書中において任意に規定されてきた。指定された機能およびその関係が適切に実行される限り、代替的境界を規定することができる。このため、このような代替的境界はいずれも、発明の精神および範囲内にある。
本発明のこれまでの記載は例示および説明を目的として提供されている。すべてを網羅するまたは本発明を開示された形態そのものに限定することは意図されていない。本発明の幅および範囲は上述の具体的な実施形態のいずれによっても限定されるべきではない。当業者には数多くの変更および変形が明らかであろう。変更例および変形例は開示された特徴のいずれかの関連する組み合わせを含む。実施の形態は、本発明の原理およびその実際の応用を最もうまく説明することによって他の当業者がさまざまな実施の形態および意図している特定の用途に適したさまざまな変形を理解できるようにするために、選択され説明されている。発明の範囲は添付の特許請求の範囲およびそれらの同等例によって規定されるよう意図されている。

Claims (22)

  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つ以上のデータパケットを処理するステップとを、前記システムに実行させる、非一時的な機械読取り可能な記憶媒体。
JP2016537772A 2013-08-27 2014-08-26 ミドルウェアおよびアプリケーションの実行のためにエンジニアド・システムにおいてデータサービスを提供するためのシステムおよび方法 Active JP6445015B2 (ja)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201361870693P 2013-08-27 2013-08-27
US61/870,693 2013-08-27
US14/467,860 2014-08-25
US14/467,896 2014-08-25
US14/467,859 2014-08-25
US14/467,859 US9973425B2 (en) 2013-08-27 2014-08-25 System and method for providing a data service in an engineered system for middleware and application execution
US14/467,868 2014-08-25
US14/467,896 US9559990B2 (en) 2013-08-27 2014-08-25 System and method for supporting host channel adapter (HCA) filtering in an engineered system for middleware and application execution
US14/467,868 US9577928B2 (en) 2013-08-27 2014-08-25 System and method for supporting data service addressing in an engineered system for middleware and application execution
US14/467,860 US9843512B2 (en) 2013-08-27 2014-08-25 System and method for controlling a data flow in an engineered system for middleware and application execution
PCT/US2014/052723 WO2015031371A1 (en) 2013-08-27 2014-08-26 System and method for providing a data service in an engineered system for middleware and application execution

Publications (3)

Publication Number Publication Date
JP2016535904A true JP2016535904A (ja) 2016-11-17
JP2016535904A5 JP2016535904A5 (ja) 2017-09-14
JP6445015B2 JP6445015B2 (ja) 2018-12-26

Family

ID=52583205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016537772A Active JP6445015B2 (ja) 2013-08-27 2014-08-26 ミドルウェアおよびアプリケーションの実行のためにエンジニアド・システムにおいてデータサービスを提供するためのシステムおよび方法

Country Status (5)

Country Link
US (3) US9843512B2 (ja)
EP (1) EP3039833B1 (ja)
JP (1) JP6445015B2 (ja)
CN (1) CN105637822B (ja)
WO (1) WO2015031371A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10599365B2 (en) 2018-03-20 2020-03-24 Toshiba Memory Corporation Storage system

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012167268A1 (en) 2011-06-03 2012-12-06 Oracle International Corporation System and method for authenticating components in a network
US9397954B2 (en) 2012-03-26 2016-07-19 Oracle International Corporation System and method for supporting live migration of virtual machines in an infiniband network
US9843512B2 (en) 2013-08-27 2017-12-12 Oracle International Corporation System and method for controlling a data flow in an engineered system for middleware and application execution
US9723008B2 (en) * 2014-09-09 2017-08-01 Oracle International Corporation System and method for providing an integrated firewall for secure network communication in a multi-tenant environment
CN106301864B (zh) * 2015-06-11 2019-12-27 腾讯科技(深圳)有限公司 一种服务器系统扩容方法、装置及扩容处理设备
US10701104B2 (en) * 2015-08-18 2020-06-30 Acronis International Gmbh Agentless security of virtual machines using a network interface controller
US10033647B2 (en) * 2015-10-13 2018-07-24 Oracle International Corporation System and method for efficient network isolation and load balancing in a multi-tenant cluster environment
EP3160074B1 (en) * 2015-10-22 2021-03-17 Alcatel Lucent Method and apparatus for transmitting control messages in an optical transmission network
US10659340B2 (en) 2016-01-28 2020-05-19 Oracle International Corporation System and method for supporting VM migration between subnets in a high performance computing environment
US10355972B2 (en) 2016-01-28 2019-07-16 Oracle International Corporation System and method for supporting flexible P_Key mapping in a high performance computing environment
US10581711B2 (en) 2016-01-28 2020-03-03 Oracle International Corporation System and method for policing network traffic flows using a ternary content addressable memory in a high performance computing environment
US10348847B2 (en) 2016-01-28 2019-07-09 Oracle International Corporation System and method for supporting proxy based multicast forwarding in a high performance computing environment
US10333894B2 (en) * 2016-01-28 2019-06-25 Oracle International Corporation System and method for supporting flexible forwarding domain boundaries in a high performance computing environment
US10616118B2 (en) 2016-01-28 2020-04-07 Oracle International Corporation System and method for supporting aggressive credit waiting in a high performance computing environment
US10536334B2 (en) 2016-01-28 2020-01-14 Oracle International Corporation System and method for supporting subnet number aliasing in a high performance computing environment
US10348649B2 (en) 2016-01-28 2019-07-09 Oracle International Corporation System and method for supporting partitioned switch forwarding tables in a high performance computing environment
US10630816B2 (en) 2016-01-28 2020-04-21 Oracle International Corporation System and method for supporting shared multicast local identifiers (MILD) ranges in a high performance computing environment
US10666611B2 (en) 2016-01-28 2020-05-26 Oracle International Corporation System and method for supporting multiple concurrent SL to VL mappings in a high performance computing environment
EP3452909A1 (en) 2016-08-23 2019-03-13 Oracle International Corporation System and method for supporting fast hybrid reconfiguration in a high performance computing environment
US10530747B2 (en) * 2017-01-13 2020-01-07 Citrix Systems, Inc. Systems and methods to run user space network stack inside docker container while bypassing container Linux network stack
CN112398817B (zh) * 2018-01-23 2022-02-25 华为技术有限公司 数据发送的方法及设备
KR102350842B1 (ko) * 2018-02-11 2022-01-12 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 이동 통신 시스템, 방법 및 장치
US10728167B2 (en) * 2018-08-10 2020-07-28 Oracle International Corporation Interrupt distribution of a single flow across multiple processors
US11895087B2 (en) 2018-08-21 2024-02-06 International Business Machines Corporation Adjusting firewall parameters based on node characteristics
US10944769B2 (en) 2018-09-25 2021-03-09 Oracle International Corporation Intrusion detection on load balanced network traffic
CN109495404B (zh) * 2018-12-14 2021-03-26 北京金山云网络技术有限公司 一种报文处理方法、装置、交换机设备及存储介质
US11055196B1 (en) 2020-06-12 2021-07-06 Bank Of America Corporation System and method for optimizing technology stack architecture
US11934897B2 (en) * 2021-01-29 2024-03-19 Tenstorrent Inc. Application data flow graph execution using network-on-chip overlay
CN114567542B (zh) * 2022-02-16 2023-09-15 烽火通信科技股份有限公司 硬管道专线逐跳业务检测方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007502456A (ja) * 2003-08-14 2007-02-08 インターナショナル・ビジネス・マシーンズ・コーポレーション インフィニバンド分散型システム・エリア・ネットワークの中央管理のためのシステム、方法、およびコンピュータ・プログラム
WO2013009846A1 (en) * 2011-07-11 2013-01-17 Oracle International Corporation System and method for supporting at least one of subnet management packet (smp) firewall restrictions and traffic protection in a middleware machine environment
WO2013009850A1 (en) * 2011-07-11 2013-01-17 Oracle International Corporation System and method for using at least one of a multicast group and a packet process proxy to support a flooding mechanism in a middleware machine environment

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4304001A (en) 1980-01-24 1981-12-01 Forney Engineering Company Industrial control system with interconnected remotely located computer control units
US6914905B1 (en) * 2000-06-16 2005-07-05 Extreme Networks, Inc. Method and system for VLAN aggregation
US7447778B2 (en) 2002-05-06 2008-11-04 Qlogic, Corporation System and method for a shared I/O subsystem
US7516487B1 (en) 2003-05-21 2009-04-07 Foundry Networks, Inc. System and method for source IP anti-spoofing security
US7398394B1 (en) 2004-06-02 2008-07-08 Bjorn Dag Johnsen Method and apparatus for authenticating nodes in a communications network
US7443860B2 (en) 2004-06-08 2008-10-28 Sun Microsystems, Inc. Method and apparatus for source authentication in a communications network
US7509419B2 (en) 2005-01-13 2009-03-24 International Business Machines Corporation Method for providing remote access redirect capability in a channel adapter of a system area network
US8520512B2 (en) 2005-01-26 2013-08-27 Mcafee, Inc. Network appliance for customizable quarantining of a node on a network
JP4747118B2 (ja) * 2007-03-05 2011-08-17 富士通株式会社 ルータ、通信保証方法および通信保証プログラム
US8392981B2 (en) * 2007-05-09 2013-03-05 Microsoft Corporation Software firewall control
US9660829B2 (en) * 2007-06-04 2017-05-23 Avaya Inc. Secure VLANs
US8621573B2 (en) 2007-08-28 2013-12-31 Cisco Technology, Inc. Highly scalable application network appliances with virtualized services
US20090077268A1 (en) 2007-09-14 2009-03-19 International Business Machines Corporation Low Latency Multicast for Infiniband Host Channel Adapters
US7975033B2 (en) 2007-10-23 2011-07-05 Virtudatacenter Holdings, L.L.C. System and method for initializing and maintaining a series of virtual local area networks contained in a clustered computer system
US8331381B2 (en) 2007-12-04 2012-12-11 International Business Machines Corporation Providing visibility of Ethernet components to a subnet manager in a converged InfiniBand over Ethernet network
US7983265B1 (en) 2008-01-17 2011-07-19 Qlogic, Corporation Method and system for processing a network packet
US8739269B2 (en) 2008-08-07 2014-05-27 At&T Intellectual Property I, L.P. Method and apparatus for providing security in an intranet network
US8429650B2 (en) 2008-11-14 2013-04-23 Oracle International Corporation System and method of security management for a virtual environment
US8064443B2 (en) 2009-05-11 2011-11-22 Juniper Networks, Inc. Scalable routing policy construction using dynamic redefinition of routing preference value
US9244700B2 (en) 2010-05-09 2016-01-26 Citrix Systems, Inc. Methods and systems for delivering applications from a desktop operating system
US9148373B2 (en) * 2010-07-30 2015-09-29 Intellectual Discovery Co., Ltd. Network system
US9225639B2 (en) * 2011-01-31 2015-12-29 Intellectual Discovery Co., Ltd. Network system
US9130935B2 (en) 2011-05-05 2015-09-08 Good Technology Corporation System and method for providing access credentials
WO2012167268A1 (en) 2011-06-03 2012-12-06 Oracle International Corporation System and method for authenticating components in a network
US9935848B2 (en) 2011-06-03 2018-04-03 Oracle International Corporation System and method for supporting subnet manager (SM) level robust handling of unkown management key in an infiniband (IB) network
EP2719124B1 (en) 2011-06-07 2018-04-11 Hewlett-Packard Enterprise Development LP A scalable multi-tenant network architecture for virtualized datacenters
US8516241B2 (en) 2011-07-12 2013-08-20 Cisco Technology, Inc. Zone-based firewall policy model for a virtualized data center
US9288160B2 (en) * 2011-08-23 2016-03-15 Intel Corporation GID capable switching in an infiniband fabric
US8665723B2 (en) 2011-08-30 2014-03-04 International Business Machines Corporation Managing data on Infiniband (IB) networks
US8584215B2 (en) 2012-02-07 2013-11-12 Cisco Technology, Inc. System and method for securing distributed exporting models in a network environment
US9742693B2 (en) 2012-02-27 2017-08-22 Brocade Communications Systems, Inc. Dynamic service insertion in a fabric switch
US9047107B2 (en) 2012-02-29 2015-06-02 Red Hat, Inc. Applying a custom security type label to multi-tenant applications of a node in a platform-as-a-service environment
US8850514B2 (en) 2012-05-01 2014-09-30 Red Hat, Inc. Cartridges in a multi-tenant platforms-as-a-service (PaaS) system implemented in a cloud computing environment
US9871734B2 (en) 2012-05-28 2018-01-16 Mellanox Technologies, Ltd. Prioritized handling of incoming packets by a network interface controller
US9584605B2 (en) 2012-06-04 2017-02-28 Oracle International Corporation System and method for preventing denial of service (DOS) attack on subnet administrator (SA) access in an engineered system for middleware and application execution
US8893258B2 (en) 2012-06-11 2014-11-18 Cisco Technology, Inc. System and method for identity based authentication in a distributed virtual switch network environment
US9063928B2 (en) 2012-07-12 2015-06-23 International Business Machines Corporation Processing data packets from a receive queue in a remote direct memory access device
US9602430B2 (en) * 2012-08-21 2017-03-21 Brocade Communications Systems, Inc. Global VLANs for fabric switches
US8769274B2 (en) 2012-09-05 2014-07-01 International Business Machines Corporation Backup and restore in a secure appliance with integrity and confidentiality
US9385949B2 (en) 2012-12-20 2016-07-05 Mellanox Technologies Tlv Ltd. Routing controlled by subnet managers
US9331936B2 (en) * 2012-12-30 2016-05-03 Mellanox Technologies Ltd. Switch fabric support for overlay network features
US20140188996A1 (en) 2012-12-31 2014-07-03 Advanced Micro Devices, Inc. Raw fabric interface for server system with virtualized interfaces
US9130872B2 (en) * 2013-03-15 2015-09-08 Cisco Technology, Inc. Workload based service chain insertion in a network environment
US9306906B2 (en) 2013-03-25 2016-04-05 Salesforce.Com, Inc. Systems and methods for utilizing uni-directional inter-host communication in an air gap environment
US9660905B2 (en) 2013-04-12 2017-05-23 Futurewei Technologies, Inc. Service chain policy for distributed gateways in virtual overlay networks
US9426155B2 (en) 2013-04-18 2016-08-23 International Business Machines Corporation Extending infrastructure security to services in a cloud computing environment
US20140351423A1 (en) 2013-05-24 2014-11-27 Connectloud, Inc. Method and Apparatus for Dynamic Correlation of Large Cloud Firewall Fault Event Stream
US20140344436A1 (en) 2013-05-08 2014-11-20 Connectloud, Inc. Method and Apparatus to Securely Process Streams of Data of Storage Devices of Private Enterprise Clouds in Batch from the Public Cloud
US20140351920A1 (en) 2013-05-24 2014-11-27 Connectloud, Inc. Method and Apparatus for Dynamic Tunneling
US20140351923A1 (en) 2013-05-26 2014-11-27 Connectloud, Inc. Method and Apparatus for Remotely Manageable, Declaratively Configurable Data Stream Aggregator with Guaranteed Delivery for Private Cloud Compute Infrastructure
US20140351922A1 (en) 2013-05-26 2014-11-27 Connectloud, Inc. Method and Apparatus for Remotely Manageable, Declaratively Configurable Data Stream Aggregator with Guaranteed Delivery for Private Cloud Compute Infrastructure
US20150026332A1 (en) 2013-05-26 2015-01-22 Connectloud, Inc. Method and Apparatus to Securely Process Streams of Data of Network / Storage / Compute Devices of Private Enterprise Clouds in Real-time from the Public Cloud
US20140351921A1 (en) 2013-05-26 2014-11-27 Connectloud, Inc. Method and Apparatus for Remotely Manageable, Declaratively Configurable Data Stream Aggregator with Guaranteed Delivery for Private Cloud Compute Infrastructure
US9300690B2 (en) 2013-07-03 2016-03-29 Red Hat, Inc. Secure network labeling to control inter-process communications in a multi-tenant platform-as-a-service (PaaS) system
US20150067809A1 (en) 2013-08-27 2015-03-05 Connectloud, Inc. User identity authentication and single sign on for multitenant environment
US9843512B2 (en) 2013-08-27 2017-12-12 Oracle International Corporation System and method for controlling a data flow in an engineered system for middleware and application execution
US20150067789A1 (en) 2013-08-27 2015-03-05 Connectloud, Inc. Method and apparatus to provide a network software defined cloud with capacity to prevent tenant access to network control plane through software defined networks
US20150066759A1 (en) 2013-08-27 2015-03-05 Connectloud, Inc. METHOD AND APPARATUS FOR GAUGING NETWORK TRAFFIC FLOW FOR SOFTWARE DEFINED NETWORKS WITHIN A SOFTWARE DEFINED CLOUDd
US9397946B1 (en) 2013-11-05 2016-07-19 Cisco Technology, Inc. Forwarding to clusters of service nodes
US9942265B2 (en) 2014-01-06 2018-04-10 International Business Machines Corporation Preventing application-level denial-of-service in a multi-tenant system
US20150363219A1 (en) 2014-03-14 2015-12-17 Avni Networks Inc. Optimization to create a highly scalable virtual netork service/application using commodity hardware
US9553850B2 (en) 2014-06-30 2017-01-24 International Business Machines Corporation Multi-tenant secure separation of data in a cloud-based application
US9756135B2 (en) 2014-07-31 2017-09-05 Ca, Inc. Accessing network services from external networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007502456A (ja) * 2003-08-14 2007-02-08 インターナショナル・ビジネス・マシーンズ・コーポレーション インフィニバンド分散型システム・エリア・ネットワークの中央管理のためのシステム、方法、およびコンピュータ・プログラム
WO2013009846A1 (en) * 2011-07-11 2013-01-17 Oracle International Corporation System and method for supporting at least one of subnet management packet (smp) firewall restrictions and traffic protection in a middleware machine environment
WO2013009850A1 (en) * 2011-07-11 2013-01-17 Oracle International Corporation System and method for using at least one of a multicast group and a packet process proxy to support a flooding mechanism in a middleware machine environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10599365B2 (en) 2018-03-20 2020-03-24 Toshiba Memory Corporation Storage system

Also Published As

Publication number Publication date
US20150067020A1 (en) 2015-03-05
CN105637822A (zh) 2016-06-01
US9843512B2 (en) 2017-12-12
US20150063355A1 (en) 2015-03-05
US20150067191A1 (en) 2015-03-05
EP3039833B1 (en) 2019-07-10
US9973425B2 (en) 2018-05-15
US9577928B2 (en) 2017-02-21
CN105637822B (zh) 2019-06-11
WO2015031371A1 (en) 2015-03-05
EP3039833A1 (en) 2016-07-06
JP6445015B2 (ja) 2018-12-26

Similar Documents

Publication Publication Date Title
JP6445015B2 (ja) ミドルウェアおよびアプリケーションの実行のためにエンジニアド・システムにおいてデータサービスを提供するためのシステムおよび方法
JP7004405B2 (ja) 仮想ネットワークにおける分散型フロー状態p2p設定のためのシステムおよび方法
US10693784B1 (en) Fibre channel over ethernet (FCoE) link aggregation group (LAG) support in data center networks
US10534601B1 (en) In-service software upgrade of virtual router with reduced packet loss
US9215175B2 (en) Computer system including controller and plurality of switches and communication method in computer system
US9755959B2 (en) Dynamic service path creation
US9888055B2 (en) Firewall for a virtual network and related techniques
US9331936B2 (en) Switch fabric support for overlay network features
US7738457B2 (en) Method and system for virtual routing using containers
JP4898781B2 (ja) オペレーティング・システム・パーティションのためのネットワーク通信
JP5610247B2 (ja) ネットワークシステム、及びポリシー経路設定方法
US8903942B2 (en) Methods and apparatus for forwarding-state transport in a distributed control plane
US9559990B2 (en) System and method for supporting host channel adapter (HCA) filtering in an engineered system for middleware and application execution
JP2013514691A (ja) 複数のデータを処理するための方法および通信パケットをスイッチングするためのスイッチングデバイス
JP5861772B2 (ja) ネットワークアプライアンス冗長化システム、制御装置、ネットワークアプライアンス冗長化方法及びプログラム
US9491098B1 (en) Transparent network multipath utilization through encapsulation
Mosko Metis CCNx 1.0 Forwarder

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170807

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181023

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181128

R150 Certificate of patent or registration of utility model

Ref document number: 6445015

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250