CN105637822A - 在用于中间件和应用执行的工程系统中提供数据服务的系统和方法 - Google Patents

在用于中间件和应用执行的工程系统中提供数据服务的系统和方法 Download PDF

Info

Publication number
CN105637822A
CN105637822A CN201480047241.XA CN201480047241A CN105637822A CN 105637822 A CN105637822 A CN 105637822A CN 201480047241 A CN201480047241 A CN 201480047241A CN 105637822 A CN105637822 A CN 105637822A
Authority
CN
China
Prior art keywords
data
node
services
packet
network
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
CN201480047241.XA
Other languages
English (en)
Other versions
CN105637822B (zh
Inventor
V·玛赫瓦克斯
B·D·约翰森
D·布莱安
R·P·莫塞奥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corp
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 Oracle International Corp filed Critical Oracle International Corp
Publication of CN105637822A publication Critical patent/CN105637822A/zh
Application granted granted Critical
Publication of CN105637822B publication Critical patent/CN105637822B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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 And Data Communications (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)

Abstract

一种能够在网络环境中提供数据服务的系统和方法。所述系统能够在所述网络环境中的节点上提供数据服务部件,其中所述网络环境包括经网络结构相互连接的多个节点。此外,所述系统能够使用本机数据包转发机制来将所述网络结构中的数据流引导至在所述节点上的所述数据服务部件。随后,所述系统能够使用所述数据服务部件来处理所述网络结构中的所述数据流中的一个或多个数据包。

Description

在用于中间件和应用执行的工程系统中提供数据服务的系统和方法
版权声明
本专利文件的公开的一部分包含受版权保护的材料。版权人不反对任何人对专利文档或专利公开进行如出现在专利和商标局的专利文件或记录中那样的传真复制,但在其它情况下保留其它所有版权。
技术领域
本发明总体上涉及计算机系统,更具体地涉及用于中间件和应用执行或中间件机器环境的工程系统。
背景技术
互联网络在下一代超级计算机、集群和数据中心中起着有益的作用。例如,InfiniBand(IB)技术作为云计算结构的基础已见有增多的部署。随着较大的云计算架构的引入,与传统网络和存储相关联的性能和管理瓶颈已经成为一个显著的问题。
这是本发明的实施方式旨在解决的大体领域。
发明内容
本文描述的是能够在网络环境中提供数据服务的方法和系统,所述网络环境诸如用于中间件和应用执行或中间件机器环境的工程系统。所述系统能够在所述网络环境中的节点上提供数据服务部件。所述网络环境可以包括多个经网络结构互联的节点。此外,所述系统能够使用本机数据包转发机制将所述网络结构中的数据流引导至所述节点上的所述数据服务部件。然后,所述系统能够使用所述数据服务部件来处理所述网络结构中的所述数据流中的一个或多个数据包。此外,所述数据服务部件能够提供所述数据服务,其可以是软件防火墙(FWL)服务或业务路由服务,其对源和目的地的应用工作负载都是透明的。
一种系统和方法能够在网络环境中提供数据服务。子网管理器能够从源节点接收路径记录解析请求,其中所述源节点使用所述路径记录解析请求来获取目的地节点的地址。此外,所述子网管理器能够向所述源节点提供中间节点的地址,其中所述中间节点提供所述数据服务。随后,所述源节点能够基于所述中间节点的地址,向所述中间节点发送数据流中的一个或多个数据包。
一种系统和方法能够在网络环境中支持数据服务地址解析。中间节点能够从源节点接收输入数据包,其中所述输入数据包以目的地节点为目标,并且其中所述输入数据包包括用于所述目的地节点的全局标识符和用于所述中间节点的本地标识符。此外,所述中间节点能够基于用于所述目的地节点的全局标识符,获取用于所述目的地节点的本地寻址信息。然后,所述中间节点能够基于所获取的用于所述目的地节点的本地寻址信息,向所述目的地节点发送输出数据包。
一种系统和方法能够在网络环境中提供数据服务。所述网络环境可以包括节点,其支持能够提供数据服务的数据服务部件。此外,可以在网络设备上提供过滤器,所述网络设备例如是与所述节点相关联的主机通道适配器(HCA)。所述网络设备操作为使用过滤器来识别一个或多个以所述数据服务部件为目标而无协议终止的数据包。此外,所述过滤器能够转发所述一个或多个数据包至所述数据服务部件。
附图说明
图1示出了根据本发明实施方式的在网络环境中提供用于处理本机数据的数据服务装置的示意图。
图2示出了根据本发明实施方式的使用外部网络连接用以在网络环境中提供数据服务的示意图。
图3示出了根据本发明实施方式的在网络环境中提供用于嵌入连线(bumponthewire,BoW)模式的数据服务的示意图。
图4示出了根据本发明实施方式的在网络环境中提供软件防火墙(FWL)的示意图。
图5示出了根据本发明实施方式的示例性工程系统的示意图。
图6例示了根据本发明实施方式的在网络环境中提供用于处理本机数据的数据服务的示例性流程图。
图7示出了根据本发明实施方式的网络环境中的子网管理器(SA)的示意图。
图8示出了根据本发明实施方式的支持用于在网络环境中提供数据服务的控制流的示意图。
图9示出了根据本发明实施方式的支持用于在网络环境中提供数据服务的数据流的示意图。
图10例示了根据本发明实施方式的在网络环境中控制用于处理本机数据的数据流的示例性流程图。
图11示出了根据本发明实施方式的在网络环境中使用InfiniBand(IB)寻址来访问数据服务的数据包格式的示意图。
图12示出了根据本发明实施方式的在网络环境中的中间节点上处理数据包的示意图。
图13示出了根据本发明实施方式的支持在网络环境中的连接管理的示意图。
图14例示了根据本发明实施方式的在网络环境中支持用于处理本机数据的数据服务地址解析的示例性流程图。
图15示出了根据本发明实施方式的支持用于在虚拟环境中提供数据服务的主机通道适配器(HCA)过滤的示意图。
图16示出了根据本发明实施方式的支持用于在非虚拟环境中提供数据服务的主机通道适配器(HCA)过滤的示意图。
图17例示了根据本发明实施方式的支持用于在网络环境中提供数据服务的HCA过滤的示例性流程图。
具体实施方式
本文描述的是能够在用于中间件和应用执行(或中间件机器环境)的工程系统中提供一个或多个数据服务的系统和方法。
用于处理本机数据的数据服务
根据本发明实施方式,数据服务部件(诸如数据服务装置和/或数据服务服务器)能够在网络环境中提供各种类型的数据服务,所述网络环境例如是用于中间件和应用执行(或中间件机器环境)的工程系统。
图1示出了根据本发明实施方式的在网络环境中提供用于处理本机数据的数据服务装置的示意图。如图1所示,多个节点,例如节点A111至D114,能够在网络环境100中例如经INFINIBAND(IB)结构101相互连接。
此外,位于节点C113上的数据服务部件110能够在IB结构101上提供各种用于数据流的数据服务。例如,节点A111和节点B112之间的数据流可以是本机数据流。本机数据流可以访问或消费由位于中间节点C113上的数据服务部件110提供的数据服务。从而,可以处理IB结构101中的本机数据而无需离开IB结构101。
根据本发明实施方式,数据服务部件110能够提供软件防火墙(FWL)服务,其可以用来在网络环境100中监视和检查所有类型的网络业务。此外,数据服务部件110可以用于其它目的,例如在网络环境中执行业务路由。
此外,可以在同一IB结构101中部署数据服务部件的多个实例(或多个数据服务部件),用以提供高可用性(HA)并提高性能。如图1所示,另一个数据服务部件120可以位于IB结构101上的节点D114上。数据服务部件110和数据服务部件120二者可以同时在IB结构101上运行。
根据本发明实施方式,数据服务部件或者可以专用于提供数据服务,或者可以配置成与其他应用虚拟服务器共享同一物理机。如图1所示,宿存(host)数据服务部件110的节点C113可以宿存应用服务器130。这样,节点C113可以用来支持不同的应用工作负载。例如,节点C113可以宿存运行这些应用工作负载的虚拟机。另一方面,宿存数据服务部件120的节点D114可以专用于提供数据服务。
此外,系统可以在网络环境100中支持不同的拓扑结构。例如,节点C113除了作为用于支持其它节点之间通信的中间节点外,还可以即充当源节点又充当目的地节点。因此,单个节点C113可以支持不同类型的工作负载,包括源工作负载、目的地工作负载以及数据服务装置工作负载。
根据本发明实施方式,系统可以在虚拟机(VM)中部署数据服务部件110或120作为虚拟环境中的虚拟装置(即数据服务装置)。另选地,系统可以在节点上物理部署数据服务装置110或120作为非虚拟环境中的数据服务服务器。
此外,可以选择性地将IB结构101中的业务引导至数据服务部件110或120用于进行数据处理(例如,基于对目标端点解析地址的评估)。例如,可以使用用于本机数据包转发机制的不同路由算法引导数据包至节点C113(或节点D114)。此外,可以基于VM的解析(resolution)选择性地引导IB结构101中的业务至数据服务装置。
图2示出了根据本发明实施方式的采用外部网络连接用以在网络环境中提供数据服务的示意图。如图2所示,多个节点,如节点A211至B212,可以在网络环境200中例如经INFINIBAND(IB)结构201互相连接。
根据本发明实施方式,可以在外部网络202(例如,外部以太网络)中提供数据服务服务器210。在这种情况下,数据流在被外部网络202中的数据服务服务器210处理而后返回至IB结构201之前,可能需要离开IB结构201。
此外,系统可以使用不同的机制用来将外部网络202中的数据服务服务器210连接至IB结构201。如图2所示,数据服务服务器210可以经以太网交换机220连接至IB结构201。另选地,数据服务服务器210可以经以太网链路230连接至IB结构201上的节点B212而连接至IB结构201。
图3示出了根据本发明实施方式的在网络环境中提供用于嵌入连线模式(BoW)的数据服务的示意图。如图3所示,能够在网络环境300中提供各种数据服务(例如防火墙服务)的数据服务服务器311,可以位于中间节点310上。
根据本发明实施方式,中间节点310可以物理地位于通信双方(或端点)之间,例如位于节点A301和节点B302之间。这样,节点A301和节点B302之间的数据流可能被迫通过中间节点310上的数据服务服务器311。
此外,中间节点310可以包括另一个应用服务器312。在这种情况下,系统可以使用反向过滤规则,用于确定数据流中的哪些数据包应该由数据服务服务器311来处理。
图4示出了根据本发明实施方式的在网络环境中提供软件防火墙(FWL)的示意图。如图4所示,多个节点,例如节点A411至D414,可以在网络环境400中例如经INFINIBAND(IB)结构401相互连接。
此外,可以在IB结构401中部署多个软件FWL装置,用以提供高可用性(HA)并提高性能。例如,FWL410可以位于节点C413上,而FWL420可以位于节点D414上。
如图4所示,可以将IB结构401中节点A411和节点B412之间的业务引导至FWL410进行检查,而无须离开IB结构401。FWL410可以确定是将从源节点A411接收到的数据包转发至目的地节点B412,还是丢弃数据包。
根据本发明实施方式,FWL410可以监视和检查IB结构401中各种类型的业务。例如,在OracleExalogic工程系统中的IB业务可以包括IFINIBAND上的互联网协议(IPoIB)业务、IFINIBAND上的以太网(EoIB)业务、专用虚拟互联(PVI)业务、套接字(socket)直接协议(SDP)业务以及用户空间/远程直接存储器存取(RDMA)业务。此类业务可以基于各种传输协议,例如不可靠数据报(UD)传输协议、可靠连接(RC)传输协议、不可靠连接(UC)传输协议、可靠数据报(RD)传输协议以及原始传输协议。
图5示出了根据本发明实施方式的示例性工程系统的示意图。如图5所示,示例性工程系统500可以包括多个节点,例如节点A511至D514,这多个节点使用多个交换机A501至B502相互连接。
根据本发明实施方式,可以成对部署数据服务部件(例如,防火墙(FWL)装置),用以在工程系统500中支持高可用性(HA)和提高性能。
如图5所示,可以在节点A511上部署包含应用服务器的应用VM541,以及可以在节点B512上部署包含另一应用服务器的应用VM542。此外,可以在节点C513上部署包含FWL装置的FWLVM543,以及可以在节点D514上部署包含另一FWL装置的FWLVM544。
此外,节点A511至D514中的每一个都可以使用一个或多个主机通道适配器(HCA)用以连接至网络。例如,节点A511使用HCAA521,节点B512使用HCAB522,节点C513使用HCAC523以及节点D514使用HCAD524。
如图5所示,HCAA521至HCAD524中的每一个都可以具备两个端口(例如,端口1和端口2)。为了在网络环境500中支持高可用性(HA),系统可以经不同的交换机A501至B502,连接不同的用于节点A511至D514的HCA端口。
根据本发明实施方式,同一节点上的不同HCA端口可以独立地指派给每个FWLHA对中的不同成员。例如,在IB子网中的子网管理器(SA)在指派FWL目的地本地标识符(DLID)时,可以知道HA对。
如图5所示,节点A511至D514上的所有的端口1可以连接至交换机A501,而节点A511至D514上的所有的端口2可以连接至交换机B502。这样,当交换机之一(例如,在交换机A501上)出现故障时,依然能够通过交换机B502传送工程系统500中(在节点A至D511至514之间)的业务,并且节点D514上的防火墙(FWL)装置可以用来检查业务。(此外,这种方案能够无限制地推广到每个节点多个HCA的情形。)
图6例示了根据本发明实施方式的在网络环境中提供用于处理本机数据的数据服务的示例性流程图。如图6所示,在步骤601处,系统可以在网络环境中的节点上提供数据服务部件,其中网络环境包括多个经网络结构相互连接的节点。随后,在步骤602处,系统可以使用本机数据包转发机制来将网络结构中的数据流引导至节点上的所述数据服务部件。此外,在步骤603处,系统可以使用所述数据服务部件来处理网络结构中的数据流中的一个或多个数据包。
控制数据流
图7示出了根据本发明实施方式的网络环境中的子网管理器(SA)的示意图。如图7所示,IB结构700可以包括子网管理器(SA)701,其可以提供用于支持IB结构700的各节点之间通信的路径记录解析(PR)。例如,路径记录,诸如按照IB协议的路径记录,可以包括地址信息和与IB报头中的不同字段相关的其它信息(诸如P_Key,Q_Key,SL等)。
此外,系统可以提供用于使用不同的策略720配置SA701的接口710。接口710可以是命令行接口(CLI)和/或应用程序接口(API)。
根据本发明实施方式,策略720可以定义哪些业务可以在到达目的地节点之前通过数据服务节点(例如,防火墙),以及哪些业务可以直接转发至目的地节点。此外,可以基于源和目的地全局标识符(GID)实施策略。而且,可以基于提供应用级划分的服务ID实施策略。此外,可以基于IB分区实施策略。
例如,用例可以支持如下策略:要求中间件机器和集群数据库机器之间的所有通信必须经过防火墙节点。
此外,用例可以支持如下策略:要求使用与特定P_Key相关联的特定IB分区。例如,特定IB分区可以单独地用于防火墙控制的所有应用层服务器和数据库之间的通信。如果路径记录解析请求在特定IB分区的范围内,则SA701可以使用该策略,来指示该路径上的所有数据包应该通过防火墙进行路由。
另一个用例可以支持用于涉及两个独立子网的BoW部署的策略。SM通过简单地检查结构拓扑,可能不会发现在两个独立子网的源和目的地之间的路径。使用该策略,SM可以得知源和目的地之间存在通过特定的数据服务部件的路径。而且,当BoW部署涉及多个IB分区时,可以按照该策略规定用于每个分区的P_Key。
如图7所示,SA701可以从请求器(例如源节点)接收PR请求711。根据策略720,SA701可以解析目的地本地地址,例如,目的地本地标识符(DLID)。随后,SA701可以发送包含经解析的目的地本地地址的PR响应712返回至请求器。如此,源节点可以基于经解析的DLID,向目的地节点发送数据包。
另选地,SA701可以确定源节点应该在将数据包转发至目的地节点之前,将数据包引导至中间节点,例如,具备数据服务部件(例如软件防火墙)的数据服务节点。SA701可以向源节点提供用于数据服务节点的DLID,而不是用于目的地节点的DLID。此外,在数据服务部件的多个实例存在于网络环境700中时,SA701可以确定应该使用哪个数据服务节点。
图8示出了根据本发明实施方式的支持用于在网络环境中提供数据服务的控制流的示意图。如图8所示,网络环境800可以包括多个节点,例如节点A801至D804,其使用一个或多个交换机(例如交换机810)相互连接。
交换机810可以用来引导网络环境800中的数据流。交换机810包括子网管理器(SA)820,其能够基于不同的规则或策略(例如,规则830)执行路径记录解析操作。在交换机810上(或在安全节点上)的安全环境中运行的SA820能够实施多种用于执行地址解析任务的逻辑。
根据本发明实施方式,基于SA策略,系统可以利用IB数据包中的全局路由报头(GRH),用以通过在IB子网内或多个IB子网之间的不同路径建立通信。(GRH初始定义在IB规范中,用于在不同IB子网之中建立通信。)
例如,SA820可以使用在路径记录解析响应中的字段(例如,跳限制域(HopLimit)字段),来向主机软件栈指示:可能需要GRH用来在IB子网内通过特定路径建立通信。
如图8所示,节点A801可以宿存包含应用服务器的应用VMA811。应用VMA811可以与全局标识符(GID)A821(例如,0xAAAA)和具备本地标识符(LID)A831(例如,0xA)的本地端口相关联。此外,节点B802可以宿存包含应用服务器的应用VMB812。应用VMB812可以与GIDB822(例如,0xBBBB)和具备LIDB832(例如,0xB)的本地端口相关联。此外,节点C803可以宿存包含应用服务器的应用VMC813。应用VMC813可以与GIDC823(例如,0xCCCC)和具备LIDC833(例如,0xC)的本地端口相关联。
此外,网络环境800可以包括数据服务节点D804,其可以宿存数据服务VMD814。数据服务VM814可以与GIDD824(例如,0xDDDD)和具备本地标识符D834(例如,0xD)的本地端口相关联。此外,数据服务节点D804除了数据服务VM814之外,还可以宿存一个或多个应用VM。
如图8所示,在网络环境800中的IB结构内,包括经传送的数据包的数据流(如实线所示)可以基于如由交换机810提供的标准的基于LID转发特征。此外,包括各种控制信息(如虚线所示)的控制流,可以基于如由SA820提供的地址解析特征。
例如,一组示例性规则830可以如下表来定义:
OxAAAA-OxBBBB->OxD
OxCCCC-OxBBBB->OxB
OxDDDD(OxAAAA)-OxBBBB->OxB
如上表所示,第一规则定义,所有从具备GID0xAAAA的VM发源并以具备GID0xBBBB的VM为目标的数据包,都应该用DLID0xD来传送。第二规则定义,所有从具备GID0xCCCC的VM发源并以具备GID0xBBBB的VM为目标的数据包,都应该用DLID0xB来传送。第三规则定义,所有从具备GID0xDDDD的VM发送(从0xAAAA发源)并以具备GID0xBBBB的VM为目标的数据包,都应该用DLID0xB来传送。
如图8所示,节点A801可以通过向交换机810上的SA820发送PR请求841,来启动到节点B802的数据流。在子网管理器820从节点A801接收到PR请求841之后,SA820能够根据上表中的第一规则处理PR请求841,并发送PR响应842至节点A801。PR响应842可以指示数据包需要被引导至数据服务节点D804,该数据服务节点具备能使用LID0xD识别的本地端口。
随后,源节点A801可以引导数据流851至数据服务节点D804。在数据服务节点D804处理完所接收到的数据流851之后,数据服务节点D804可以发送PR请求843至SA820。SA820可以继而返回包含节点B802的真实地址的PR响应844。这样,数据服务节点D804能够引导数据流852至目的地节点B802。另选地,数据服务节点D804可以决定丢弃接收到的数据包。
还如图8所示,SA820可以引导数据流853绕过数据服务节点D804,直接从节点C803到达节点B802。在这个例子中,节点C803可以首先发送PR请求845至SA820。随后,SA820可以在PR响应846中返回节点B802的真实地址。
根据本发明实施方式,数据服务节点D804可以使用其它机制来无限制地获取目的地GID到目的地LID的映射。例如,数据流和控制流二者都可以基于LID转发特征,或者数据流和控制流二者都可以基于如由子网管理器(SA)820强制执行的寻址方案。
此外,当VM是多个IB分区中的一员时,可以针对不同IB分区定义不同的转发规则(例如,基于不同的P_Key)。这样,某些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之间的直接通信,系统可以将节点A901和节点B902二者配置为IB结构中一个分区的受限成员,同时允许中间节点910成为该分区的完全成员。
如图9所示,来自节点A901的数据流可以由应用VM911使用发送(Tx)队列对(QP)951来启动。此外,基于从SA接收到的PR响应,节点A901可以发送数据包至中间节点910上的接收(Rx)队列对(QP)954。这样,中间节点910上的数据服务VM931可以经RxQP954接收来自节点A901的数据包。
随后,数据服务VM931中的数据服务部件可以处理输入数据流。例如,数据服务VM931可以通过检查输入数据流提供防火墙服务,并能够丢弃有问题的数据包。此外,数据服务VM931可以提供其它数据服务,例如嗅探(sniffing)、执行监视、以及负载平衡。
在完成数据处理之后,数据服务VM931可以从TxQP953发送输出数据包至节点B902上的RxQP958(例如,基于标准的基于LID交换(switching))。这样,应用VM912可以接收数据流中的数据包。
此外,节点B902上的应用VM912可以经中间节点910,发送返回数据包回到节点A901上的应用VM911。如图9所示,返回数据流可以开始于节点B902上的TxQP957,经中间节点910上的RxQP954和TxQP953,并结束于节点A901上的RxQP952。这样,节点A901上的应用VM911可以从节点B902接收返回数据包。
此外,位于中间节点910上的应用VM932,可以通过数据服务VM931,发送一个或多个数据包至其它节点(例如,经TxQP955)。另外,应用VM932可以从其它节点接收一个或多个数据包(例如,经RxQP956)。此外,取决于策略配置,应用VM932可以绕开数据服务931,而直接发送一个或多个数据包至其它节点以及/或者从其它节点直接接收一个或多个数据包。
根据本发明实施方式,在中间节点910上的数据服务VM931处对数据流的处理,可以对源节点A901和目的地节点B902都是透明的(即,节点A901可能实际上“认为”其直接发送数据至节点B902)。
此外,数据服务VM931中的数据服务部件(例如,软件防火墙)可以是分布式虚拟化的软件装置。网络环境900中的其它节点可能不知道中间节点910和数据服务VM931中数据服务装置的存在。
图10例示了根据本发明实施方式的在网络环境中控制用于处理本机数据的数据流的示例性流程图。如图10所示,在步骤1001处,子网管理器(SA)可以从源节点接收路径记录解析请求,其中源节点使用路径记录解析请求来获取目的地节点的地址。随后,在步骤1002处,SA可以向源节点提供中间节点的地址,其中中间节点提供数据服务。此外,在步骤1003处,源节点可以基于中间节点的地址,向中间节点发送一个或多个数据包。
数据服务寻址
图11示出了根据本发明实施方式的在网络环境中使用无限带宽InfiniBand(IB)寻址来访问数据服务的数据包格式的示意图。如图11所示,IB子网1100可以包括多个物理的(或虚拟的)节点1101至1103和子网管理器(SA)1120。源节点1101可以经中间节点1102,发送数据包(例如,IB数据包1110)至目的地节点1103。
IB数据包1110根据IB协议,可以包括有效负载1114和多种报头。这些报头可以包括全局路由报头(GRH)1111、本地路由报头(LRH)1112以及其它报头1113。此外,IB数据包1110可以配备有各种循环冗余校验(CRC)1115。
根据本发明实施方式,该系统能够利用GRH1111中的目的地全局标识符(DGID)1121,和LRH1112中的目的地本地标识符(DLID)1122,用于在IB子网1100中支持数据服务寻址。
例如,系统能够将IB数据包1110中的DLID1122设置为用于中间节点1102的DLID(而不是用于目的地节点1103的DLID)。在IB子网1100内,可以基于由SA1120解析的DLID1122,将IB数据包1110路由至中间节点1102。这样,可以使用在中间节点1102上提供的数据服务来处理IB数据包1110。
此外,系统可以使用GRH1111中的DGID1121来指示用于目的地节点1103的DLID。这样,中间节点1102中的数据服务软件能够基于GRH1111中的DGID1121信息,解析(或获取)用于目的地节点1103的真实DLID。
根据本发明实施方式,中间节点1102在必要的时候可以执行附加的数据包报头1113和/或有效负载1114的修改。例如,可以用如下方式建立结构级访问控制:源节点1101和目的地节点1103要么是相关分区的受限成员,要么不是同一分区的成员。在这种情况下,中间节点1102可能需要改变IB数据包1110中P_Key的值,然后将经修改的数据包转发至目的地节点1103。
图12示出了根据本发明实施方式的在网络环境中的中间节点上处理数据包的示意图。如图12中所示,IB子网1200中的中间节点1210可以从源节点接收一个或多个数据包(例如,输入的IB数据包1201)。
输入的IB数据包1201可以包括全局路由报头(GRH)1211和本地路由报头(LRH)1212,以及其它部分1213。例如,GRH1211可以包含目的地全局标识符(DGID)1231,例如,0xBBBB,用于目的地节点,并且LRH1212可以包含目的地本地标识符(DLID)1232,例如0xF,用于中间节点1210。
此外,中间节点1210可以提供数据服务,例如可以检查输入IB数据包1201的防火墙服务。在使用数据服务处理输入IB数据包1201之后,中间节点1210可以发送输出的IB数据包1202至目的地节点(如在输入IB数据包1201中的DGID1231所示)。另选地,中间节点1210可以决定丢弃数据包1203。
如图12所示,输出的IB数据包1202可以包括GRH1221和LRH1222,以及其它部分1223。GRH1221可以包含用于目的地节点的DGID1241,并且LRH1222可以包含用于目的地节点的DLID1242。
根据本发明实施方式,路径记录缓存1220可以用来解析用于目的地节点的真实DLID,其可以用来在子网1200内将输出IB数据包1202引导至目的地节点。
路径记录缓存1220可以存在于IB子网1200中的各节点上,并且SA可以协调路径记录缓存1220的行为。这样,SA能够针对不同请求,返回中间节点1210上的数据服务地址或目的地节点上的目的地应用地址。
此外,路径记录缓存1220可以利用地址映射表。以下是示例性的地址映射表。
DGID=OxBBBB->DLID=OxB
DGID=OxCCCC->DLID=OxC
DGID=OxAAAA->DLID=OxA
如图12所示,GRH1211中的DGID1231可以由数据服务软件用来基于路径记录缓存1220而解析真实目的地DLID1242。例如,输入数据包1201可以包含“DGID=0xBBBB”和“DLID=0xF”的报头信息。应用以上地址映射表中的第一规则,中间节点1210可以更新输出数据包以包含“DGID=0xBBBB”和“DLID=0xB”的报头信息。
此外,中间节点1210可能需要操纵P_Key的值,其在所接收的数据包1201中是基础传输报头(BTH)的字段,因为两个端点节点都可以配置成对应分区的受限成员。例如,由源节点发送的数据包可以具备受限的P_Key(其配置成最高有效位(MSB)清零)。在发送数据包至目的地节点之前,中间节点1210可能需要将该受限P_Key修改为完全P_Key(其配置成最高有效位(MSB)置位)。
此外,中间节点1210可以提供用于其它传输级地址信息(诸如QP数、Q_Key值,等等)的映射。例如,中间节点1210可以使用本地QP数,用于从发送者节点(其可以通过源QP数和源节点来识别)接收一个或多个数据包。而且,中间节点1210可以修改接收到的数据包,来确保源节点和目的地节点二者都能够识别如中间节点1210上的数据服务定义(而不是如由远程端节点所定义)的传输级地址信息。
因此,中间节点1210可以控制在端点节点之间暴露哪些传输级资源。而且,为了针对不同对端点节点之间的各种数据流优化性能和提供不同服务质量(QoS),中间节点1210可以利用由本地硬件实施的本地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。
根据本发明实施方式,可以使用分区和/或其它IB结构级访问控制技术,实施源节点1301和目的地节点1302的隔离。
中间节点1310能够观察在源节点1301和目的地节点1302之间的所有业务。中间节点1310可以识别所有的通信管理操作,例如在源节点1301和目的地节点1302之间交换的管理数据报(MAD)。此外,中间节点1310可以基于地址解析操作(例如,地址解析协议(ARP)操作),识别各种广播/多播。
根据本发明实施方式,取决于数据包类型,中间节点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可以执行递增不变量CRC更新以考虑到P_Key,P_Key的值在数据包中被直接修改或经控制接口(诸如WorkRequest)被修改。这样,中间节点1310可以保持IB有效负载的数据完整性,以及HCA1510允许对IBP_Key进行修改用以支持两个端点间的隔离。
根据本发明实施方式,为了尽量减少在中间节点1310处可能由新的不变量CRC1324的生成而被引入的误码的风险,系统可以使用用于保护所涉及的缓冲器和数据路径的单独误码保护方案。此外,为了保护端到端的数据完整性,系统可以利用各种端到端的基于附加校验和的协议。
图14例示了根据本发明实施方式的在网络环境中支持用于处理本机数据的数据服务地址解析的示例性流程图。如图14所示,在步骤1401处,中间节点可以从源节点接收输入数据包,其中输入数据包以目的地节点为目标,以及其中输入数据包包括用于目的地节点的全局标识符和用于中间节点的本地标识符。随后,在步骤1402处,中间节点可以基于用于目的地节点的全局标识符,获取用于目的地节点的本地寻址信息。此外,在步骤1403处,中间节点可以基于所获取的用于目的地节点的本地寻址信息,向目的地节点发送输出数据包。
主机通道适配器(HCA)过滤
图15示出了根据本发明实施方式的支持用于在虚拟环境中提供数据服务的主机通道适配器(HCA)过滤的示意图。如图15所示,网络环境1500中的数据服务节点1501可以使用网络连接设备,例如主机通道适配器(HCA)1510,进行网络连接。
数据服务节点1501可以包括应用VM1502和数据服务VM1503,应用VM1502包括应用服务器1504,数据服务VM1503包括数据服务部件(例如,数据服务装置1505)。而且,数据服务节点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端口可以指派有一个或多个不同的LID。另选地,HCA1510可以应用逆逻辑,即,任何未落在标准LID范围下的输入IB数据包可以被引导至防火墙。
如图15所示,HCA1510可以包括接收(Rx)过滤器1508,该过滤器可以识别以数据服务装置1505为目标的数据包而无协议终止。这样,HCA1510可以将以数据服务部件1505为目标的数据流业务与以应用服务器1504为目标的数据流业务区分开。
例如,Rx过滤器1508可以基于数据服务DLID(例如,使用基于DLID的过滤)划分混合数据流业务。Rx过滤器1508可以与数据服务DLID表1509相关联。以下是示例性数据服务DLID表。
DLID=OxF
DLID=OxFF
当输入数据包具备匹配的DLID(例如,0xF或0xFF)时,Rx过滤器1508可以经QP1514至1516将数据包引导至数据服务VM1503上的数据服务部件1505。HCA1510可以视这些数据包为原始数据包,并能够在当它们被接收时转发这些输入数据包(即,包括所有IB报头)。
另一方面,如果输入数据包不具备匹配的DLID(即,具备不是0xF或0xFF的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分开两个通信节点时)可能是有益的。
在这种情况下,HCA1510可以使用它的标准端口LID配置去识别以应用VM1502为目标的数据包。HCA1510可以根据IB标准定义处理这些数据包。此外,HCA1510可以将所有其它数据包都视为以数据服务部件1505为目标。
根据本发明实施方式,HCA1510可以跨多个队列对(QP)(诸如RxQP1514至1516)扩展业务,以允许并行处理(例如,使用多个线程1531至1533)。
例如,HCA1510可以利用接收方缩放(scaling)(RSS)过滤器1507,其可以跨多个队列对(QP)1514至1516扩展业务。数据服务部件1505可以分配不同的线程1531至1533,用于处理抵达QP1514至1516的数据包。此外,所述QP1514至1516可以绕过节点上的操作系统,而向数据服务部件1505直接展露硬件接口。
此外,为了最小化用于数据处理的开销,RSS过滤器1507可以将从同一数据流接收到的不同数据包引导至单个数据服务线程。另选地,HCA1510可以使用其它基于散列的过滤器或其它类型的过滤器,用于跨多个队列对(QP)1514至1516扩展业务以允许并行处理。此外,HCA1510可以根据核心亲和力(coreaffinity)引导数据流,并能够保持数据包在数据流内的排序。
随后,数据服务部件1505(例如,软件FWL服务)可以处理输入数据包,例如出于过滤和监视目的,修改包括DLID信息的IB报头以及/或者检查数据包报头和/或有效负载。
根据本发明实施方式,HCA1510可以支持原始模式数据包转发。在接收方,HCA1510可以验证CRC,可以用原始格式(具备所有IB报头)转发数据包至多个应用层QP而无IB协议终止,并可以使用RSS过滤器1507来扩展负载至多个接收队列(RQ)。在发送方,由数据服务部件1505处理的数据包可以用原始格式例如经QP1517至1519提交至HCA1510。HCA1510可以生成CRC,并允许应用从多个应用级QP以原始格式(具备所有IB报头)投递(post)数据包。
根据本发明实施方式,HCA1510可以支持路由器使用模式。如果在输入数据包中的DGID匹配用于入口HCA端口的DGID,那么可以根据IB协议处理数据包。如果在输入数据包中的DGID与用于入口HCA端口的任何DGID都不匹配,那么可以转发数据包至RxQP的指定组之一,在此可以在将数据包转发至目的地节点之前由运行在主机节点1501上的软件来检查(以及可选地修改)该数据包。当主机软件确定数据包应该被转发时,可以使用发送队列发送整个数据包(潜在具备经修改的IB报头)。发送队列可以支持原始数据包,在此HCA1510硬件(HW)可以在发送数据包时选择性地产生变量循环冗余校验(CRC)和不变量循环冗余校验(CRC)。
根据本发明实施方式,HCA1510不允许任何软件堆栈开销,并且可以将数据包直接交付至处理线程而无需备份数据。此外,HCA1510可能仅触及报头的必需部分。例如,HCA1510可以支持报头/数据分离(或命中(hit))。此外,HCA1510可以利用多个每处理线程专用队列,用以用多核高效地向外扩展。
此外,HCA1510可以提供用于循环冗余校验(CRC)验证1521和CRC生成1522的硬件辅助。另外,HCA1510可以执行递增不变量CRC更新以考虑到P_Key,P_Key的值在数据包中被直接修改或经控制接口(诸如WorkRequest)被修改。这样,HCA1510可以保持IB有效负载的数据完整性特性,而且HCA1510允许对IBP_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可以使用用于提供过滤器性能(以类似于图15所示虚拟环境的方式)的HCA1610。
如图16所示,HCA1610可以包括接收(Rx)过滤器1608,该过滤器可以识别以数据服务装置1605为目标的数据包而无协议终止。这样,HCA1610可以将以数据服务服务器1605为目标的数据流业务与以应用服务器1604(其使用IB协议引擎1606根据IB协议来处理IB数据包)为目标的数据流业务区分开。
根据本发明实施方式,HCA1610可以跨多个队列对(QP)(诸如RxQP1614至1616)扩展业务,以允许并行处理(例如,使用多个线程1631至1633)。例如,HCA1610可以利用接收方缩放(RSS)过滤器1607,其可以跨多个队列对(QP)1614至1616扩展业务。数据服务服务器1605可以分配不同的处理1631至1633,用以处理抵达QP1614至1616的数据包。
根据本发明实施方式,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处,联网设备可以使用过滤器来识别一个或多个以数据服务部件为目标的数据包而无协议终止。此外,在步骤1703处,过滤器能够转发所述一个或多个数据包至数据服务部件。
根据一种实施方式,提供了一种用于在网络环境中提供数据服务的设备,该设备包括:用于在所述网络环境的节点上提供数据服务部件的装置,其中所述网络环境包括经网络结构相互连接的多个节点;用于使用本机数据包转发机制将所述网络结构中的数据流引导至所述节点上的所述数据服务部件的装置;以及用于使用所述数据服务部件来处理所述网络结构中的所述数据流中一个或多个数据包的装置。
根据一种实施方式,所述设备还包括:用于允许所述数据服务部件与一个或多个应用服务器共享物理机或驻留在专用物理机上的装置。
根据一种实施方式,所述设备还包括:用于将所述数据服务部件部署在虚拟机中作为数据服务装置的装置,或者用于将所述数据服务部件直接部署在物理机上作为数据服务服务器的装置。
根据一种实施方式,所述设备还包括:用于允许所述网络结构是基于Infiniband网络协议的装置。
根据一种实施方式,所述设备还包括:用于经外部网络交换机和外部网络链路中的一个,将外部网络中的一个或多个数据服务服务器连接至所述网络结构的装置。
根据一种实施方式,所述设备还包括:用于允许所述节点成为中间节点的装置,所述中间节点物理地隔离多个通信方和/或经网络分区隔离多个通信方。
根据一种实施方式,所述设备还包括:用于在所述网络环境中的所述网络结构上同时运行所述数据服务部件的多个实例的装置。
根据一种实施方式,所述设备还包括:用于成对部署所述数据服务部件的多个实例的装置。
根据一种实施方式,所述设备还包括:用于允许所述数据服务部件提供操作为检查不同类型网络业务的软件防火墙(FWL)服务的装置。
根据一种实施方式,所述设备还包括:用于允许所述数据服务部件提供业务路由服务的装置。
一种用于在网络环境中提供数据服务的系统,其中所述网络环境包括经网络结构相互连接的多个节点,所述系统包括在所述多个节点中的一个节点上的数据服务部件,所述数据服务部件配置成:接收所述网络结构中的数据流,所述数据流通过使用本机数据包转发机制被引导至所述数据服务部件;以及,处理所述网络结构中的所述数据流中的一个或多个数据包。
根据一种实施方式,所述网络结构是基于Infiniband网络协议的。
根据一种实施方式,所述包括所述数据服务部件的节点是中间节点,该中间节点物理地隔离多个通信方和/或经网络分区隔离多个通信方。
根据一种实施方式,所述数据服务部件还配置成提供以下至少之一:操作为检查不同类型的网络业务的软件防火墙(FWL)服务;和业务路由服务。
一种用于在网络环境中提供数据服务的系统,其中所述网络环境包括经网络结构相互连接的多个节点,所述系统包括在所述多个节点中的一个节点上的数据服务服务器,所述数据服务服务器配置成接收通过使用本机数据包转发机制被引导至所述数据服务服务器的所述网络结构中的数据流,并处理所述网络结构中的所述数据流中的一个或多个数据包。
根据一种实施方式,所述网络结构是基于Infiniband网络协议的。
根据一种实施方式,所述数据服务服务器是外部网络中的数据服务服务器,所述数据服务服务器经外部网络交换机和外部网络链路中的一个连接至所述网络结构。
根据一种实施方式,所述包括所述数据服务服务器的节点是中间节点,该中间节点物理地隔离多个通信方和/或经网络分区隔离多个通信方。
根据一种实施方式,所述数据服务服务器配置成提供以下至少之一:操作为检查不同类型的网络业务的软件防火墙(FWL)服务;以及业务路由服务。
根据一种实施方式,提供了一种用于在网络环境中提供数据服务的方法,该方法包括:经子网管理器,从源节点接收路径记录解析请求,其中所述源节点使用所述路径记录解析请求来获取目的地节点的地址;经所述子网管理器,向所述源节点提供中间节点的地址,其中所述中间节点提供所述数据服务;以及,经所述源节点,基于所述中间节点的地址,向所述中间节点发送数据流中一个或多个数据包。
根据一种实施方式,提供了一种方法,该方法包括:经所述中间节点,使用所述数据服务来处理所述一个或多个数据包;以及,经所述中间节点,在处理所述一个或多数据包之后,向所述目的地节点发送一个或多个输出数据包。
根据一种实施方式,提供了一种方法,包括允许所述网络环境是基于Infiniband协议的。
根据一种实施方式,提供了一种方法,包括专用所述中间节点来提供数据服务。
根据一种实施方式,提供了一种方法,包括:经与所述子网管理器相关联的接口,配置用于所述子网管理器的一个或多个策略;以及,经所述子网管理器,使用一个或多个策略来解析用于所述源节点的一个或多个目的地地址。
根据一种实施方式,提供了一种方法,包括允许所述一个或多个策略至少基于源和目的地全局标识符(GID)、服务标识符(ID)和网络分区中的一个。
根据一种实施方式,提供了一种方法,包括在虚拟机中部署提供所述数据服务的数据服务部件作为虚拟装置。
根据一种实施方式,提供了一种方法,包括允许由所述数据服务部件提供的所述数据服务对所述源节点和所述目的地节点都是透明的。
根据一种实施方式,提供了一种方法,包括允许所述数据服务成为操作为检查不同类型的网路业务的软件防火墙(FWL)服务。
根据一种实施方式,提供了一种方法,包括允许所述数据服务来执行业务路由。
根据一种实施方式,提供了一种在网络环境中提供数据服务的系统,该系统包括:一个或多个微处理器;在所述网络环境中运行于一个或多个微处理器上的子网管理器,其中所述子网管理器操作为从源节点接收路径记录解析请求,其中所述源节点使用所述路径记录解析请求来获取目的地节点的地址;向所述源节点提供中间节点的地址,其中所述中间节点提供所述数据服务;以及允许所述源节点基于所述中间节点的地址,发送数据流中的一个或多个数据包至所述中间节点。
根据一种实施方式,提供了一种系统,其中所述中间节点操作为使用所述数据服务来处理所述一个或多个数据包,并且所述中间节点操作为在处理所述一个或多个数据包之后,发送一个或多个输出数据包至所述目的地节点。
根据一种实施方式,提供了一种系统,其中所述网络环境是基于Infiniband协议的。
根据一种实施方式,提供了一种系统,其中所述中间节点专用于提供数据服务。
根据一种实施方式,提供了一种系统,其中与所述子网管理器相关联的接口用来配置用于所述子网管理器的一个或多个策略,并且所述子网管理器操作为使用一个或多个策略来解析用于所述源节点的一个或多个目的地地址。
根据一种实施方式,提供了一种系统,其中所述一个或多个策略基于以下至少之一:源和目的地全局标识符(GID)、服务标识符(ID)、以及网络分区。
根据一种实施方式,提供了一种系统,其中提供所述数据服务的数据服务部件部署在虚拟机中作为虚拟装置。
根据一种实施方式,提供了一种系统,其中由所述数据服务部件提供的所述数据服务对所述源节点和所述目的地节点都是透明的。
根据一种实施方式,提供了一种系统,其中所述数据服务部件操作为提供以下至少之一:操作为检查不同类型的网络业务的软件防火墙(FWL)服务;和业务路由服务。
根据一种实施方式,提供了一种具备存储其上的指令的非暂态机器可读存储介质,所述指令在被执行时使得系统执行以下步骤,包括:经子网管理器从源节点接收路径记录解析请求,其中所述源节点使用所述路径记录解析请求来获取目的地节点的地址;经所述子网管理器,向所述源节点提供中间节点的地址,其中所述中间节点提供数据服务;以及经所述源节点,基于所述中间节点的地址,向所述中间节点发送数据流中一个或多个数据包。
根据一种实施方式,提供了一种用于在网络环境中提供数据服务的设备,该设备包括:用于经子网管理器,从源节点接收路径记录解析请求的装置,其中所述源节点使用所述路径记录解析请求来获取目的地节点的地址;用于经所述子网管理器,向所述源节点提供中间节点的地址的装置,其中所述中间节点提供所述数据服务;以及用于经所述源节点,基于所述中间节点的地址向所述中间节点发送数据流中一个或多个数据包的装置。
根据一种实施方式,所述设备还包括:用于经所述中间节点,使用所述数据服务来处理所述一个或多个数据包的装置;以及,用于经所述中间节点在处理所述一个或多个数据包之后发送一个或多个输出数据包至所述目的地节点的装置。
根据一种实施方式,所述设备还包括:用于允许所述网络环境是基于Infiniband协议的装置。
根据一种实施方式,所述设备还包括:用于专用所述中间节点来提供数据服务的装置。
根据一种实施方式,所述设备还包括:用于经与所述子网管理器相关联的接口,配置用于所述子网管理器的一个或多个策略的装置;以及,用于经所述子网管理器,使用一个或多个策略来解析用于所述源节点的一个或多个目的地地址的装置。
根据一种实施方式,所述设备还包括:用于允许所述一个或多个策略是基于源和目的地全局标识符(GID)、服务标识符(ID)和网络分区中的至少一个的装置。
根据一种实施方式,所述设备还包括:用于将提供所述数据服务的数据服务部件部署在虚拟机中作为虚拟装置的装置。
根据一种实施方式,所述设备还包括:用于允许由所述数据服务部件提供的所述数据服务对所述源节点和目的地节点都是透明的装置。
根据一种实施方式,所述设备还包括:用于允许所述数据服务成为操作为检查不同类型的网络业务的软件防火墙(FWL)服务的装置。
根据一种实施方式,所述设备还包括:用于允许所述数据服务来执行业务路由的装置。
根据一种实施方式,提供了一种用于在网络环境中提供数据服务的系统,该系统包括子网管理器,其中所述子网管理器操作为:从源节点接收路径记录解析请求,其中所述源节点使用所述路径记录解析请求来获取目的地节点的地址;向所述源节点提供中间节点的地址,其中所述中间节点提供所述数据服务;以及允许所述源节点基于所述中间节点的地址,向所述中间节点发送数据流中的一个或多个数据包。
根据一种实施方式,提供了一种用于支持网络环境中的数据服务地址解析的方法,该方法包括:经中间节点,从源节点接收输入数据包,其中所述输入数据包以目的地节点为目标,并且其中所述输入数据包包括用于所述目的地节点的全局标识符和用于所述中间节点的本地标识符;经所述中间节点,基于用于所述目的地节点的全局标识符,获取用于所述目的地节点的本地寻址信息;以及经所述中间节点,基于所获得的用于所述目的地节点的本地寻址信息向目的地节点发送输出数据包。
根据一种实施方式,提供了一种方法,包括:基于所获取的用于所述目的地节点的本地寻址信息,在所述输出数据包中包含用于所述目的地节点的本地标识符。
根据一种实施方式,提供了一种方法,包括:如果所述输出数据包类似于所述输入数据包,仅所述本地标识符被修改,则更新与所述输出数据包相关联的变量循环冗余校验(CRC);以及,如果所述输出数据包包括经修改的传输级信息,则更新与所述输出数据包相关联的不变量循环冗余校验(CRC)。
根据一种实施方式,提供了一种方法,包括:允许所述网络环境基于Infiniband协议。
根据一种实施方式,提供了一种方法,包括:使用路径记录解析缓存,来解析由所述输入数据包的一个或多个报头中的一个或多个字段识别的一个或多个地址。
根据一种实施方式,提供了一种方法,包括:将所述源节点和所述目的地节点配置为仅通过所述中间节点彼此通信,其中所述源节点和所述目的地节点配置成以下情况之一:与不同分区相关联,同一分区的受限成员,以及处于不同的子网中。
根据一种实施方式,提供了一种方法,包括:经所述中间节点,宿存提供数据服务的数据服务装置。
根据一种实施方式,提供了一种方法,包括:允许所述数据服务装置来执行业务路由。
根据一种实施方式,提供了一种方法,包括:允许所述数据服务装置来提供软件防火墙(FWL)服务。
根据一种实施方式,提供了一种方法,包括:经所述中间节点上的所述软件FWL服务,丢弃另一个输入数据包。
根据一种实施方式,提供了一种用于支持网络环境中的数据服务地址解析的系统,该系统包括:一个或多个微处理器;所述网络环境中运行在一个或多个微处理器上的节点,其中所述节点操作为:从源节点接收输入数据包,其中所述输入数据包以目的地节点为目标,以及其中所述输入数据包包括用于所述目的地节点的全局标识符和用于所述中间节点的本地标识符;基于用于所述目的地节点的全局标识符,获取用于所述目的地节点的本地寻址信息;以及,基于所获取的用于所述目的地节点的本地寻址信息,向所述目的地节点发送输出数据包。
根据一种实施方式,提供了一种系统,其中所述输出数据包基于所获取的用于所述目的地节点的本地寻址信息,包含用于所述目的地节点的本地标识符。
根据一种实施方式,提供了一种系统,其中所述节点操作为:如果所述输出数据包类似于所述输入数据包,仅用于所述目的地节点的所述本地标识符被修改,则更新与所述输出数据包相关联的变量循环冗余校验(CRC);以及,如果所述输出数据包包括经修改的传输级信息,则更新与所述输出数据包相关联的不变量循环冗余校验(CRC)。
根据一种实施方式,提供了一种系统,其中所述网络环境是基于Infiniband协议的。
根据一种实施方式,提供了一种系统,其中路径记录解析缓存操作为解析由所述输入数据包的一个或多个报头中的一个或多个字段识别的一个或多个地址。
根据一种实施方式,提供了一种系统,其中所述源节点和所述目的地节点配置成仅通过所述中间节点彼此通信,其中所述源节点和所述目的地节点配置成以下情况之一:与不同分区相关联,同一分区的受限成员,以及处于不同的子网中。
根据一种实施方式,提供了一种系统,其中所述中间节点宿存提供数据服务的数据服务装置。
根据一种实施方式,提供了一种系统,其中所述数据服务装置操作为执行业务路由。
根据一种实施方式,提供了一种系统,其中所述数据服务装置操作为提供软件防火墙(FWL)服务。
根据一种实施方式,提供了一种指令存储在其上的非暂态机器可读存储介质,所述指令在被执行时使得系统执行以下步骤,包括:经中间节点从源节点接收输入数据包,其中所述输入数据包以目的地节点为目标,并且其中所述输入数据包包括用于所述目的地节点的全局标识符和用于所述中间节点的本地标识符;经所述中间节点,基于用于所述目的地节点的全局标识符,获取用于所述目的地节点的本地寻址信息;以及经所述中间节点,基于所获取的用于所述目的地节点的本地寻址信息,向所述目的地节点发送输出数据包。
根据一种实施方式,提供了一种用于支持网络环境中的数据服务地址解析的设备,该设备包括:用于经中间节点从源节点接收输入数据包的装置,其中所述输入数据包以目的地节点为目标,并且其中所述输入数据包包含用于所述目的地节点的全局标识符和用于所述中间节点的本地标识符;用于经所述中间节点,基于用于所述目的地节点的全局标识符获取用于所述目的地节点的本地寻址信息的装置;以及用于经所述中间节点,基于所获取的用于所述目的地节点的本地寻址信息向所述目的地节点发送输出数据包的装置。
根据一种实施方式,所述设备还包括:用于基于所获取的用于所述目的地节点的本地寻址信息,在所述输出数据包中包含用于所述目的地节点的本地标识符的装置。
根据一种实施方式,所述设备还包括:用于如果所述输出数据包类似于所述输入数据包且仅所述本地标识符被修改,则更新与所述输出数据包相关联的变量循环冗余校验(CRC)的装置;以及用于如果所述输出数据包包括经修改的传输级信息,则更新与所述输出数据包相关联的不变量循环冗余校验(CRC)的装置。
根据一种实施方式,所述设备还包括:用于允许所述网络环境是基于Inifiniband协议的装置。
根据一种实施方式,所述设备还包括:用于使用路径记录解析缓存来解析由所述输入数据包的一个或多个报头中的一个或多个字段来识别的一个或多个地址的装置。
根据一种实施方式,所述设备还包括:用于将所述源节点和所述目的地节点配置为仅通过所述中间节点彼此通信的装置,其中所述源节点和所述目的地节点配置成以下情况之一:与不同分区相关联,同一分区的受限成员,以及处于不同的子网中。
根据一种实施方式,所述设备还包括:用于经所述中间节点宿存提供数据服务的数据服务装置的装置。
根据一种实施方式,所述设备还包括:用于允许所述数据服务装置来执行业务路由的装置。
根据一种实施方式,所述设备还包括:用于允许所述数据服务装置来提供软件防火墙(FWL)服务的装置。
根据一种实施方式,所述设备还包括:用于经所述中间节点上的所述软件FWL服务丢弃另一个输入数据包的装置。
根据一种实施方式,提供了一种用于支持网络环境中的数据服务地址解析的系统,该系统包括所述网络环境中的节点,其中所述节点操作为从源节点接收输入数据包,其中所述输入数据包以目的地节点为目标,并且其中所述输入数据包包括用于所述目的地节点的全局标识符和用于中间节点的本地标识符;基于用于所述目的地节点的所述全局标识符,获取用于所述目的地节点的本地寻址信息;以及基于所获取的用于所述目的地节点的本地寻址信息,向所述目的地节点发送输出数据包。
根据一种实施方式,提供了一种用于在网络环境中提供数据服务的系统,该系统包括:一个或多个微处理器;运行在所述一个或多个微处理器上的节点,其中所述节点包括操作为提供所述数据服务的数据服务部件;以及与所述节点相关联的联网设备,该联网设备操作为使用过滤器来识别以所述数据服务部件为目标的一个或多个数据包而无协议终止;以及转发所述一个或多个数据包至所述数据服务部件。
根据一种实施方式,提供了一种系统,其中所述数据服务部件部署为以下情况之一:部署在虚拟机中作为虚拟装置;和部署在专用节点中。
根据一种实施方式,提供了一种系统,其中所述数据服务部件提供防火墙(FWL)服务和业务路由服务中的至少一个。
根据一种实施方式,提供了一种系统,其中所述过滤器是基于以下至少之一:过滤每个所述数据包中的目的地本地标识符(DLID);过滤每个所述数据包中的目的地全局标识符(DGID);以及逆向过滤。
根据一种实施方式,提供了一种系统,其中所述数据服务部件操作为处理所述一个或多个数据包,以及所述联网设备操作为发送经处理的数据包至一个或多个目的地节点。
根据一种实施方式,提供了一种系统,其中所述节点与多个队列对(QP)相关联,其中一个或多个所述QP与应用服务器相关联,以及一个或多个所述QP与所述数据服务部件相关联。
根据一种实施方式,提供了一种系统,其中所述联网设备操作为将以所述数据服务部件为目标的业务与以所述应用服务器为目标的业务区分开。
根据一种实施方式,提供了一种系统,其中所述网络环境是基于Infiniband协议的,并且所述联网设备是主机通道适配器(HCA)。
根据一种实施方式,提供了一种系统,其中所述联网设备操作为对一个或多个数据包执行循环冗余校验(CRC)验证和CRC生成,以及其中所述联网设备操作为,在传输报头被更新时,执行用于不变量CRC的递增CRC更新,以保持端到端的数据完整性。
根据一种实施方式,提供了一种系统,其中所述联网设备操作为跨多个QP扩展以所述数据服务部件为目标的业务以进行并行处理,以及其中所述QP操作为绕过所述节点上的操作系统,向所述数据服务部件直接展露硬件接口。
根据一种实施方式,提供了一种用于在网络环境中提供数据服务的方法,该方法包括:将联网设备与所述网络环境中的节点相关联,其中所述节点被部署为具有能够提供所述数据服务的数据服务部件;经所述联网设备,使用过滤器来识别以所述数据服务部件为目标的一个或多个数据包而无协议终止;以及转发所述一个或多个数据包至所述数据服务部件。
根据一种实施方式,提供了一种方法,包括:将所述数据服务部件部署为以下情况之一:部署在虚拟机中作为虚拟装置;和部署在专用节点中。
根据一种实施方式,提供了一种方法,包括:允许所述数据服务部件提供防火墙(FWL)服务和业务路由服务中的至少一个。
根据一种实施方式,提供了一种方法,包括:允许所述过滤器是基于以下至少之一:过滤每个所述数据包中的目的地本地标识符(DLID);过滤每个所述数据包中的目的地全局标识符(DGID);以及逆向过滤。
根据一种实施方式,提供了一种方法,包括:允许所述数据服务部件来处理所述一个或多个数据包;以及发送经处理的数据包至一个或多个目的地节点。
根据一种实施方式,提供了一种方法,包括:将所述节点与多个队列对(QP)相关联,其中一个或多个所述QP与所述应用服务器相关联,以及一个或多个所述QP与所述数据服务部件相关联。
根据一种实施方式,提供了一种方法,包括:在联网设备上提供所述过滤器,其中所述联网设备操作为将以所述数据服务部件为目标的业务与以所述应用服务器为目标的业务区分开。
根据一种实施方式,提供了一种方法,包括:允许所述网络环境是基于Infiniband协议的;以及允许所述联网设备成为主机通道适配器(HCA)。
根据一种实施方式,提供了一种方法,包括允许所述联网设备执行以下至少之一:对所述一个或多个数据包,执行循环冗余校验(CRC)验证和CRC生成;当传输报头被更新时,执行用于不变量CRC的递增CRC更新来保持端到端的数据完整性;跨多个QP扩展以所述数据服务部件为目标的业务以进行并行处理;以及允许一个或多个QP绕过所述节点上的操作系统,向所述数据服务部件直接展露硬件接口。
根据一种实施方式,提供了一种其上存储有指令的非暂态机器可读存储介质,所述指令在被执行时使得系统执行以下步骤,包括:将联网设备与所述网络环境中的节点相关联,其中所述节点被部署有能够提供数据服务的数据服务部件;经所述联网设备,使用过滤器来识别以所述数据服务部件为目标的一个或多个数据包而无协议终止;以及转发所述一个或多个数据包至所述数据服务部件。
根据一种实施方式,提供了一种用于在网络环境中提供数据服务的系统,该系统包括:节点,其中所述节点包括操作为提供所述数据服务的数据服务部件;以及与所述节点相关联的联网设备,该联网设备操作为使用过滤器来识别以所述数据服务部件为目标的一个或多个数据包而无协议终止,并转发所述一个或多个数据包至所述数据服务部件。
根据一种实施方式,提供了一种用于在网络环境中提供数据服务的设备,该设备包括:用于将联网设备与所述网络环境中的节点相关联的装置,其中所述节点被部署有能够提供所述数据服务的数据服务部件;用于经所述联网设备使用过滤器来识别以所述数据服务部件为目标的一个或多个数据包而无协议终止的装置;以及用于转发所述一个或多个数据包至所述数据服务部件的装置。
根据一种实施方式,所述设备还包括用于将所述数据服务部件部署在以下之一的装置:部署在虚拟机中作为虚拟装置;和部署在专用节点中。
根据一种实施方式,所述设备还包括:用于允许所述数据服务部件提供防火墙(FWL)服务和业务路由服务中的至少一个的装置。
根据一种实施方式,所述设备还包括:用于允许所述过滤器是基于以下至少之一的装置:过滤每个所述数据包中的目的地本地标识符(DLID);过滤每个所述数据包中的目的地全局标识符(DGID);以及逆向过滤。
根据一种实施方式,所述设备还包括:用于允许所述数据服务部件来处理所述一个或多个数据包的装置;以及用于发送经处理的数据包至一个或多个目的地节点的装置。
根据一种实施方式,所述设备还包括:用于将所述节点与多个队列对(QP)相关联的装置,其中一个或多个所述QP与所述应用服务器相关联,并且一个或多个所述QP与所述数据服务部件相关联。
根据一种实施方式,所述设备还包括:用于在联网设备上提供所述过滤器的装置,其中所述联网设备操作为将以所述数据服务部件为目标的业务与以所述应用服务器为目标的业务区分开。
根据一种实施方式,所述设备还包括:用于允许所述网络环境是基于Infiniband协议的装置;以及,用于允许所述联网设备成为主机通道适配器(HCA)的装置。
根据一种实施方式,所述设备还包括:用于允许所述联网设备执行以下至少之一的装置:对一个或多个数据包,执行循环冗余校验(CRC)验证和CRC生成;当传输报头被更新时,执行用于不变量CRC的递增CRC更新,来保持端到端的数据完整性;跨多个QP扩展以所述数据服务部件为目标的业务以进行并行处理;以及允许一个或多个QP绕过所述节点上的操作系统,向所述数据服务部件直接展露硬件接口。
本发明的许多特征可以使用或者借助于硬件、软件、固件或其组合而被执行。因此,本发明的特征可以使用处理系统(例如,包括一个或多个处理器)来实施。
本发明的特征可以使用或借助于计算机程序产品而被实施,计算机程序产品是其上/其中存储有指令的存储介质或计算机可读介质,指令可以用来编程处理系统以执行任何本文所呈现的特征。存储介质可以包括,但不限于,任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微驱动,以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAMs、闪存设备、磁或光卡、纳米系统(包括分子存储器IC),或任何类型的适用于存储指令和/或数据的介质或设备。
存储在任一机器可读介质上,本发明的特征可以并入到用于控制处理系统的硬件以及用于使得处理系统能够利用本发明的结果与其它机构交互的软件和/或固件。例如软件或固件可以包括,但不限于,应用代码、设备驱动、操作系统和执行环境/容器。
本发明的特征还可以实施于硬件使用,例如,诸如专用集成电路(ASIC)的硬件部件。实施硬件状态机来执行本文中所描述的功能,对本领域技术人员将是显而易见的。
此外,本发明可以使用一个或多个以下内容方便地实施:常规通用或专用数字计算机、计算设备、机器、或微处理器,包括根据本公开教义编程的一个或多个处理器、存储器和/或计算机可读存储介质。可以很容易地由熟练程序员基于本公开的教义准备适当的软件编码,这对于软件领域技术人员是显而易见的。
虽然以上描述了本发明的多种实施方式,但应当理解的是它们以示例的方式被示出,并不意味着限制。对本领域技术人员来说,能够做出形式和细节的各种改动而不背离本发明的精神和范围是显而易见的。
以上借助功能构建模块描述了本发明,例示了特定功能和其中关系的性能。本文为了描述的方便常随意定义了这些功能构建模块的边界。可以定义另选边界,只要能适当地执行指定功能及其关系即可。任何此类另选边界因此落入本发明的范围和精神内。
本发明的前述描述是为了例示和描述的目的而提供的。其并非旨在穷尽或将本发明限制到所公开的精确形式。本发明的广度和范围不应该由任何上述示例性实施方式所限制。对本领域的技术从业者来说,许多修改和变动将是显而易见。所述修改和变动包括所公开的特征的任何相关组合。实施方式以最能解释本发明的原理及其实际应用来选择和描述,从而使本领域技术人员能够理解本发明的各种实施方式,以及适合预期的特定用途的各种修改。本发明的范围旨在由以下权利要求书及其等同来定义。

Claims (22)

1.一种用于在网络环境中提供数据服务的方法,该方法包括:
在所述网络环境中的节点上提供数据服务部件,其中所述网络环境包括经网络结构相互连接的多个节点;
使用本机数据包转发机制,将所述网络结构中的数据流引导至所述节点上的所述数据服务部件;以及
使用所述数据服务部件,来处理所述网络结构中的所述数据流中的一个或多个数据包。
2.如权利要求1所述的方法,还包括:
所述数据服务部件:
与一个或多个应用服务器共享物理机,或者
驻留在专用物理机上。
3.如权利要求1或2所述的方法,还包括:
将所述数据服务部件部署在虚拟机中作为数据服务装置,或者
将所述数据服务部件直接部署在物理机上作为数据服务服务器。
4.如前述任一权利要求所述的方法,其中所述网络结构是基于Infiniband网络协议的。
5.如前述任一权利要求所述的方法,还包括:
经外部网络交换机和外部网络链路中的一个,将外部网络中的一个或多个数据服务服务器连接至所述网络结构。
6.如前述任一权利要求所述的方法,其中,所述节点是中间节点,该中间节点物理地隔离多个通信方以及/或者经网络分区隔离多个通信方。
7.如前述任一权利要求所述的方法,还包括:
在所述网络环境中的所述网络结构上,同时运行所述数据服务部件的多个实例。
8.如权利要求7所述的方法,还包括:
成对部署所述数据服务部件的多个实例。
9.如前述任一权利要求所述的方法,还包括:
所述数据服务部件提供操作为检查不同类型的网络业务的软件防火墙FWL服务。
10.如权利要求9所述的方法,其中所述数据服务部件提供业务路由服务。
11.一种计算机程序,包括机器可读形式的程序指令,该程序指令在由计算机系统执行时使得所述计算机系统执行前述任一权利要求所述的方法。
12.一种其上存储有权利要求11所述的计算机程序的非暂态机器可读存储介质。
13.一种用于在网络环境中提供数据服务的系统,该系统包括:
一个或多个微处理器;
数据服务部件,该数据服务部件运行于所述网络环境中的节点上的一个或多个微处理器上,其中所述网络环境包括经网络结构相互连接的多个节点,以及
其中所述数据服务部件操作为:
使用本机数据包转发机制,将所述网络结构中的数据流引导至所述节点上的所述数据服务部件;以及
使用所述数据服务部件,来处理所述网络结构中的所述数据流中的一个或多个数据包。
14.如权利要求13所述的系统,其中:
所述数据服务部件操作为:
与一个或多个应用服务器共享物理机,或者
驻留在专用物理机上。
15.如权利要求13或14所述的系统,其中:
所述数据服务部件:
被部署在虚拟机中作为数据服务装置,或者
被直接部署在物理机上作为数据服务服务器。
16.如权利要求13至15中任一项所述的系统,其中:
所述网络结构是基于Infiniband网络协议的。
17.如权利要求13至16中任一项所述的系统,其中:
外部网络中的一个或多个数据服务服务器经外部网络交换机和外部网络链路中的一个而连接至所述网络结构。
18.如权利要求13至17中任一项所述的系统,其中:
所述节点是中间节点,该中间节点:
物理地隔离多个通信方,以及/或者
经网络分区隔离多个通信方。
19.如权利要求13至18中任一项所述的系统,其中:
所述数据服务部件的多个实例同时运行在所述网络环境中的所述网络结构上。
20.如权利要求19所述的系统,其中:
所述数据服务部件的多个实例是成对部署的。
21.如权利要求13至20中任一项所述的系统,其中:
所述数据服务部件操作为提供以下至少之一:
操作为检查不同类型的网络业务的软件防火墙FWL服务,以及
业务路由服务。
22.一种其上存储有用于提供数据服务的指令的非暂态机器可读存储介质,所述指令在被执行时使得系统执行以下步骤,包括:
在网络环境中的节点上提供数据服务部件,其中所述网络环境包括经网络结构相互连接的多个节点;
使用本机数据包转发机制,将所述网络结构中的数据流引导至所述节点上的所述数据服务部件;以及
使用所述数据服务部件,来处理所述网络结构中的所述数据流中的一个或多个数据包。
CN201480047241.XA 2013-08-27 2014-08-26 用于提供数据服务的系统、设备和方法 Active CN105637822B (zh)

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,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,859 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,896 2014-08-25
US14/467,860 2014-08-25
US14/467,868 2014-08-25
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
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
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 (2)

Publication Number Publication Date
CN105637822A true CN105637822A (zh) 2016-06-01
CN105637822B CN105637822B (zh) 2019-06-11

Family

ID=52583205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480047241.XA Active CN105637822B (zh) 2013-08-27 2014-08-26 用于提供数据服务的系统、设备和方法

Country Status (5)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112398817A (zh) * 2018-01-23 2021-02-23 华为技术有限公司 数据发送的方法及设备
CN114567542A (zh) * 2022-02-16 2022-05-31 烽火通信科技股份有限公司 硬管道专线逐跳业务检测方法、装置、设备及存储介质

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9930018B2 (en) 2011-06-03 2018-03-27 Oracle International Corporation System and method for providing source ID spoof protection in an infiniband (IB) network
US9450885B2 (en) 2012-03-26 2016-09-20 Oracle International Corporation System and method for supporting live migration of virtual machines in a virtualization 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
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
US10187310B2 (en) * 2015-10-13 2019-01-22 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
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
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
US10374926B2 (en) 2016-01-28 2019-08-06 Oracle International Corporation System and method for monitoring logical network traffic flows using a ternary content addressable memory 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
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
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
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
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
US10057119B2 (en) 2016-08-23 2018-08-21 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
JP7073509B2 (ja) * 2018-02-11 2022-05-23 オッポ広東移動通信有限公司 移動体通信システム、方法及び装置
JP2019164713A (ja) 2018-03-20 2019-09-26 東芝メモリ株式会社 ストレージシステム及びデータ転送方法
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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7983265B1 (en) * 2008-01-17 2011-07-19 Qlogic, Corporation Method and system for processing a network packet
US20130019302A1 (en) * 2011-07-11 2013-01-17 Oracle International Corporation System and method for supporting subnet management packet (smp) firewall restrictions in a middleware machine environment
US20130051232A1 (en) * 2011-08-30 2013-02-28 International Business Machines Corporation Managing data on infiniband (ib) networks

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
US7421488B2 (en) * 2003-08-14 2008-09-02 International Business Machines Corporation System, method, and computer program product for centralized management of an infiniband distributed system area network
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
US8295306B2 (en) 2007-08-28 2012-10-23 Cisco Technologies, Inc. Layer-4 transparent secure transport protocol for end-to-end application protection
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
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
CN103339988B (zh) * 2011-01-31 2017-05-31 英迪股份有限公司 网络系统
US9130935B2 (en) 2011-05-05 2015-09-08 Good Technology Corporation System and method for providing access credentials
US8713649B2 (en) 2011-06-03 2014-04-29 Oracle International Corporation System and method for providing restrictions on the location of peer subnet manager (SM) instances in an infiniband (IB) network
US9930018B2 (en) 2011-06-03 2018-03-27 Oracle International Corporation System and method for providing source ID spoof protection 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
EP2732604B1 (en) * 2011-07-11 2016-01-06 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
US8516241B2 (en) 2011-07-12 2013-08-20 Cisco Technology, Inc. Zone-based firewall policy model for a virtualized data center
WO2013028175A1 (en) 2011-08-23 2013-02-28 Intel Corporation Gid capable switching in an infiniband fabric
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
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
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
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
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
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
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
US7983265B1 (en) * 2008-01-17 2011-07-19 Qlogic, Corporation Method and system for processing a network packet
US20130019302A1 (en) * 2011-07-11 2013-01-17 Oracle International Corporation System and method for supporting subnet management packet (smp) firewall restrictions in a middleware machine environment
US20130051232A1 (en) * 2011-08-30 2013-02-28 International Business Machines Corporation Managing data on infiniband (ib) networks

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112398817A (zh) * 2018-01-23 2021-02-23 华为技术有限公司 数据发送的方法及设备
CN112398817B (zh) * 2018-01-23 2022-02-25 华为技术有限公司 数据发送的方法及设备
CN114567542A (zh) * 2022-02-16 2022-05-31 烽火通信科技股份有限公司 硬管道专线逐跳业务检测方法、装置、设备及存储介质

Also Published As

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

Similar Documents

Publication Publication Date Title
CN105637822A (zh) 在用于中间件和应用执行的工程系统中提供数据服务的系统和方法
JP7004405B2 (ja) 仮想ネットワークにおける分散型フロー状態p2p設定のためのシステムおよび方法
US10122629B2 (en) Systems and methods for externalizing network functions via packet trunking
EP3143733B1 (en) Virtual flow network in a cloud environment
US7738457B2 (en) Method and system for virtual routing using containers
US11706196B1 (en) Anti-spoofing techniques for overlay networks
US7889748B1 (en) Mapping a port on a packet switch appliance
US20110299537A1 (en) Method and system of scaling a cloud computing network
US20140280775A1 (en) Network Stack and Related Techniques
US9559990B2 (en) System and method for supporting host channel adapter (HCA) filtering in an engineered system for middleware and application execution
CN112165432B (zh) 一种实现OpenStack虚拟机与外部通信的方法
US10305700B2 (en) Systems and methods for designating packets for customized data processing in port-extended architectures
US10250399B1 (en) Multicast routing
De Graaff Segment routing in container networks
GB2610850A (en) Method and device
CN118802515A (zh) 用于自动配置工业网络的网络参与者之间的多播转发的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant