具有集成的服务器件的分布式机箱架构的制作方法

文档序号:7992792阅读:233来源:国知局
具有集成的服务器件的分布式机箱架构的制作方法
【专利摘要】本公开涉及具有集成的服务器件的分布式机箱架构。一种包括向外扩展的构架耦合器(SFC)盒子的分布式虚拟机箱。每个SFC盒子具有SFC构架端口和一个基于信元的交换构架,以用于在那个SFC盒子的SFC构架端口之间交换与分组关联的信元。分布式线路卡(DLC)包括交换DLC和一个器件DLC(A-DLC)。每个交换DLC有网络端口。每个交换DLC和A-DLC都具有DLC构架端口。每个交换DLC和A-DLC连接到每个SFC盒子。A-DLC为到达交换DLC的网络端口的分组提供上层服务。为了把分组转发到A-DLC,交换DLC把分组分成信元并且在SFC盒子之间分配信元。SFC盒子把信元转发到A-DLC,并且A-DLC根据信元重新组装分组并且向分组提供上层服务。
【专利说明】具有集成的服务器件的分布式机箱架构
【技术领域】
[0001]本发明一般涉及数据中心和数据处理。更特别地,本发明涉及把服务器件集成到具有分布式机箱架构的数据中心中。
【背景技术】
[0002]数据中心通常是提供支持企业和机构所需的因特网和内联网服务的集中式设施。典型的数据中心可以容纳各种类型的电子装备,诸如计算机、服务器(例如,电子邮件服务器、代理服务器,以及DNS服务器)、交换机、路由器、数据存储设备,以及其它相关联的部件。数据中心的基础设施,具体地,交换构架中的交换机的层,在对服务的支持中起到中心作用。此外,为了为由交换机和其它装备处理的业务流提供基于分组的服务,数据中心需要服务器件。

【发明内容】

[0003]一方面,本发明以一种服务器件为特征,该服务器件包括多个构架端口和具有与构架端口通信的构架接口的网络处理器。构架接口经每个构架端口接收信元。每个信元对应于经网络接收的分组的不同部分。网络处理器根据信元重新组装分组。处理器联合体通过服务端口连接到网络处理器,以便从其接收分组并且对分组执行上层服务。
[0004]另一方面,本发明以一种分布式虚拟机箱为特征,该分布式虚拟机箱包括多个向外扩展的构架耦合器(SFC)盒子。每个SFC盒子具有多个SFC构架端口和一个基于信元的交换构架,以用于在那个SFC盒子的SFC构架端口之间交换与分组关联的信元。多个分布式线路卡(DLC)包括多个交换DLC和至少一个器件DLC (A-DLC)。每个交换DLC具有多个网络端口。每个交换DLC以及A-DLC具有多个DLC构架端口,通过该DLC构架端口,交换DLC和A-DLC连接到每个SFC盒子。A-DLC配置成为到达交换DLC的网络端口的分组提供上层服务。
[0005]还在另一方面,本发明以一种方法为特征,该方法把上层联网服务集成到分布式虚拟机箱中。该方法包括把交换网络元件的网络端口与用于业务量的业务过滤器关联。分组在交换网络元件的网络端口被接收。响应于业务过滤器,确定分组要求由服务器件提供的上层服务。分组被分成信元。信元通过基于信元的交换构架被转发到服务器件。分组在服务器件根据信元重新组装。在服务器件对重新组装的分组执行上层服务。
【专利附图】

【附图说明】
[0006]本发明的以上及进一步的优点可以通过参考以下描述结合附图来更好地理解,其中在各个图中相同的标号都指示相同的结构和特征。附图不一定是按比例的,而重点是放在说明本发明的原理上。
[0007]图1是包括数据中心、服务器和管理站的网络的实施例。
[0008]图2是该数据中心的实施例的图,该数据中心具有与多个分布式线路卡(DLC)盒子通信的、基于信元的中心主交换机。
[0009]图3是实现为分布式虚拟机箱的数据中心的实施例的图,其中中心主交换机具有多个向外扩展的构架耦合器(SFC)盒子,每个SFC盒子与多个DLC盒子中的每一个通信。
[0010]图4A和图4B是用于在分布式虚拟机箱中集成层4至层7联网服务的过程的流程图。
[0011]图5是具有两个网络处理器的交换DLC盒子的实施例的功能框图。
[0012]图6是包括一个或多个处理器联合体的服务器件DLC(A-DLC)盒子的实施例的功能框图。
【具体实施方式】
[0013]本文所述的数据中心使用分布式机箱架构,其中中心向外扩展的构架耦合器(SFC)在星形拓扑结构中连接到多个分布式线路卡(DLC)。这些SFC和DLC —起构成充当跨所有网络端口具有恒定等待时间(latency)的大型信元-交换域的分布式虚拟机箱。这种分布式机箱架构使得网络端口的数量能够扩展到数万。
[0014]对于这种大型网络域,要求各种类型的服务器件提供层4至层7服务(例如,OSI模型把层4至层7分别定义为传输、会话、表示和应用层)。如本文所使用的,层4至层7服务优选地被称为上层服务,而层4以下的服务优选地被称为下层服务。上层服务的例子包括,但不限于,防火墙服务、入侵防御/入侵检测(IPS/IDS)服务、服务器负载平衡(SLB)以及应用交付中心(ADC)服务。如本文所描述的,服务器件盒子无缝地集成到分布式虚拟机箱中,器件变成数据中心恒定等待时间的信元-交换中枢的完整部分,担任向所有网络端口提供基于分组的服务的作用。
[0015]图1示出了包括经网络8与管理站4和服务器6通信的数据中心10的网络环境2的实施例。网络8的实施例包括,但不限于,局域网(LAN)、城域网(MAN),以及广域网(WAN),诸如因特网或万维网。数据中心10通常是容纳各种计算机、路由器、交换器,以及支持企业和机构操作不可或缺的应用和数据的其它关联装备的设施。这种装备包括与在本文被称为分布式线路卡(DLC) 14的网络元件通信的基于信元的主交换机11,其中一个或多个DLC是器件DLC(A-DLC),如以下更详细描述的。该设施可以在单个地点体现或者在多个地点之间分布。
[0016]管理站4可以经各种连接中的一种,诸如标准的电话线、数字订购线路(DSL)、异步DSL、LAN或WAN链路(例如,Tl、T3)、宽带连接(帧中继、ATM)及无线连接(例如,802.11 (a)、802.11(b)、802.11(g)、802.11 (η)),直接(点到点)或间接地连接到数据中心10的DLC14。利用网络协议,诸如Telnet,管理站4可以访问网络元件的命令行接口(CLI)。一般地,服务器6是向数据中心10提供一种或多种服务的计算机(或者计算机组),其例子包括,但不限于,电子邮件服务器、代理服务器、DNS服务器以及运行分布式虚拟机箱的控制平面的控制服务器。
[0017]图2示出了具有分布式机箱架构的数据中心10的实施例,其中基于信元的主交换机11与多个DLC14通信。基于信元的主交换机11和DLC14 —起构成分布式虚拟机箱并且对应于单个信元-交换域。虽然图2只示出了四个DLC14,但是信元-交换域中DLC的数量可以在数百和数千之间变化。DLC14属于指定的集群。每个集群有一个主(或控制器)DLC、一个或多个备用或后备DLC,以及一个或多个跟随DLC。数据中心10可以具有多于一个集群,但是每个DLC只能是一个集群的成员。
[0018]在数据中心10中,功能性发生在三个平面上:管理平面、控制平面和数据平面。集群的管理,诸如配置管理、运行时配置管理、信息的表示(示出和显示)、图形生成以及处理SNMP请求,发生在管理平面上。控制平面与涉及网络信令和控制的那些功能关联。数据平面管理数据流。
[0019]在数据中心10中,管理平面和,可选地,控制平面的功能性是集中式的(即,管理平面功能性在主DLC实现,而控制平面主要在服务器6实现)并且数据平面的功能性在DLC14之间分布。通过管理站4,数据中心的管理员与主DLC通信,以便从单个位置管理具有可以设想到的数千DLC的集群。为了支持整个DLC集群的控制平面功能性,服务器6配置成具有足够的处理能力(例如,具有多个处理器内核)。
[0020]图3示出了数据中心10的实施例,其中基于信元的主要交换机11包括与多个DLC机箱或盒子14-1、14-2、14-N(总体上称为14)通信的多个向外扩展的构架耦合器(SFC)机箱或盒子12-1、12-M(总体上称为12)。这个示例实施例有四个SFC盒子(M = 4)和N个DLC盒子。
[0021]每个SFC盒子12包括与N个构架端口 18通信的一个或多个基于信元的构架元件(FE) 16,在每个SFC盒子12中有至少和分布式虚拟机箱中DLC盒子14的数量一样多的构架端口 18。SFC盒子的每个构架元件16基于信元头中的目的地信息在所述SFC盒子的构架端口 18之间交换信元。
[0022]DLC盒子14包括交换DLC和一个或多个器件DLC (A-DLC)。通过担任提供经过数据中心10的业务流所需的上层服务的作用,一个或多个A-DLC集成到数据中心10的数据平面中。在图3的例子中,DLC盒子14-N是器件DLC,而其它DLC是交换DLC。上层服务的例子包括,但不限于,防火墙服务、入侵保护服务、入侵检测服务以及虚拟专用网络(VPN)服务。
[0023]每个交换和器件DLC盒子14具有多个网络端口 20和多个构架端口 22。交换DLC的网络端口 20与网络8通信。在一种实施例中,每个交换DLC14有40个网络端口 20,每个网络端口 20配置成作为IOGbps的以太网端口 ;这些DLC的总带宽是400Gbps。
[0024]优选地,交换和器件DLC的每个构架端口 22包括120Gbps的CXP接口。在一种实施例中,CXP接口有十二条道(lane) (12x),每条道提供IOGbps的信道。120Gbpsl2x CXP接口的一个示例规范可以在由InfiniBand?行业协会发布的“Supplement to InfiniBand?Architecture Specification Volume2Releasel.2.1 (对 InfiniBand? 架构规范第 2 卷版本1.2.1的补充)”中找到。12-道CXP的这种实施例被称为标准InfiniBand (IB) CXP。在另一种实施例中,CXP接口有10条道(IOx),用于支持10-道应用,诸如100千兆位的以太网。这种10-道CXP的实施例被称为以太网CXP。
[0025]每个交换DLC盒子14还包括多个网络处理器(即,网络交换元件)24_1、24_2 (总体上称为24)。一般地,网络处理器为分组处理进行优化。每个网络处理器24与每个构架端口 22并且与网络端口 20的一个子集通信(例如,每个网络处理器24可以交换从在40个网络端口中20上接收到的分组业务得出的信元)。网络处理器24的一个示例实现是BCM88650,由位于加州欧文(Irvine)的Broadcom生产的一种20-端口、IOGbE的交换机设备。
[0026]器件DLC盒子14-N包括与处理器联合体28通信的网络处理器24,该处理器联合体28由多核网络分组处理器(NPP)和用于分组处理的内置加速度(APP)组成。NPP可以,例如,利用Cavium Network的Octeon多核处理器或LSI Logic的Tarari多核处理器或NetLogic/RMI的XLR多核处理器来实现。网络处理器24经连接到NPP28的一个或多个网络端口 20把分组转发到NPP28。
[0027]器件DLC盒子14-N可以在网络处理器24的其它网络端口上包括多个处理器联合体28 (附加的处理器联合体28以虚线示出)。在这种情况下,每个单独的处理器联合体28提供相同或不同类型的服务(例如,一个处理器联合体可以提供防火墙、另一个处理器联合体可以提供IPS/IDS,还有另一个处理器联合体可以提供不同的器件服务,诸如服务器负载平衡(SLB))。因为这些处理器联合体中每一个都连接到网络处理器24的不同网络端口或网络端口集合,所以,为了所要求的具体服务,交换DLC可以把它们的分组转发到那些网络端口。
[0028]在这种实施例中,分布式虚拟机箱10具有全网状配置:每个交换和器件DLC14与SFC12中每一个通信;更具体地,给定DLC14的每个构架端口 22经通信链路26与SFC12中不同的一个的构架端口 18电通信。作为代表性的一个例子,把A-DLC14-N称为DLC14,A-DLC14-N的A-DLC构架端口 22-1与SFC12-1的构架端口 18-N通信,A-DLC构架端口 22-2与SFC12-2的构架端口 18-N通信,A-DLC构架端口 22_3与SFC12-3的构架端口 18-N通信,以及A-DLC构架端口 22-4与SFC12-4的构架端口 18-N通信。通过在这种全网状配置中连接,交换DLC、器件DLC和SFC构成分布式虚拟机箱,其中交换DLC和A-DLC充当线路卡。分布式虚拟机箱是模块化的;即,交换DLC和器件DLC可以一次一个地添加到分布式虚拟机箱或者从中除去,就像线路卡被添加到机箱或从中除去一样。
[0029]每个DLC构架端口 22和SFC构架端口 18之间的通信链路26可以是有线连接。互连变体包括直接附连电缆(DAC)或光缆。DAC提供五至七米的电缆长度;而光缆在数据中心中提供高达100米的连接性(标准的光连接性可以超过10km)。作为替代,通信链路26可以是直接物理连接(即,DLC构架端口 22的电连接器直接物理地连接到SFC构架端口 18的电连接器)。
[0030]具有四个SFC盒子12的图3的全网状配置是全线速配置,即,用于从给定DLC向SFC传送信元的总带宽(即,480Gbps)大于到达网络端口 20上给定DLC的分组的总带宽(即,400Gbps)。这种全线速配置贯穿整个交换域实现了 2.5μ s的恒定等待时间(2.5μ s等待时间中的2.0μ s归因于在交换芯片的分组入口和出口,而0.5μ s归因于在SFC的构架元件的交换等待时间)。
[0031]全网状配置还可以被修改,以便为DLC14支持各种超负荷的排列(oversubscription permutations)。例如,代替具有四个SFC,中心交换构架12可以只有两个SFC12-1、12-2,其中每个DLC14只使用两个构架端口 22用于与SFC通信,一个构架端口 22用于每个SFC12。例如,这种超负荷的排列让在其网络侧的每个DLC在其两个120Gbps构架端口 22上具有总入口 400Gbps带宽(40、IOGbps的以太网端口 )和总出口 240Gbps信元-交换带宽,以用于与两个SFC通信。也可以实践其它超负荷的排列。
[0032]图4A和图4B示出了用于在图3的分布式虚拟机箱中集成层4至层7联网服务的过程50的实施例。在步骤52,控制平面(例如,在服务器6)变得察觉到分布式虚拟机箱中A-DLC14-N的存在并且把其服务端口识别为Pn。可以通过使用交换机发现协议使该控制平面自动地或者通过管理配置手动地察觉到Α-DLC。为了说明,考虑到达DLC14-1的分组属于业务流f,并且要求由A-DLC14-N提供的服务。业务流f是由各种参数特征化的,包括该业务流所属的源MAC地址(smac)、目的地MAC地址(dmac)、源IP地址(sip)、目的地IP地址(dip)、协议或以太网类型(proto)、源端口(sport)、目的地端口(dport)和虚拟LAN(VIan)。
[0033]为了接收所要求的服务,业务流f的分组需要发送到A-DLC14-N。利用诸如“forward_to_new_port (Pn) ”的相关联的动作,控制平面在交换DLC14的所有交换网络端口 20上安装(步骤54)用于业务流f的、基于流的过滤器。在具有把网络处理器24连接到A-DLC14-N的处理器联合体28的多个网络(即,服务)端口 20的实施例中,控制平面可以管理业务过滤器,以便跨网络(即,服务)端口 20实现负载平衡。负载平衡可以确保A-DLC14-N不变成分布式虚拟机箱上的拥塞点。
[0034]此外,服务端口的数量通常对应于A-DLC14-N所具有的用于分组处理的带宽量。因而,控制平面可以把服务端口的总数关联到要检查的流的总数。依据服务端口的数量Pu,控制平面接受流配置。作为替代,控制平面可以为A-DLC14-N建议带宽需求。
[0035]属于业务流f的分组到达(步骤56)交换DLC14-1的网络端口 20。响应于所安装的业务过滤器,与这个网络端口 20通信的网络处理器24确定(步骤58)分组属于业务流f并且要重定向到A-DLC14-N,以便获得所要求的服务。网络处理器24把预分类的头添加到分组并且把每个分组分区(步骤60)成信元,向每个信元添加信元头(用于信元的排序)。(每个服务端口映射到交换DLC的芯片上的输出业务管理器端口(otm-port)。每个otm-port具有关于所有交换DLC的VOQ (虚拟输出队列)。在信元头中规定这个otm-port。)然后,网络处理器24通过构架端口 22把信元发送(步骤62)到每个SFC12,向不同的SFC12发送不同的信元。
[0036]例如,考虑长度为1600位的进入的分组。交换DLC14-1的网络处理器24向该分组添加固定长度(例如,160位)的预分类的头。然后,网络处理器24把具有预分类的头的分组分成多个确定尺寸(例如,256字节、128字节、64字节)的信元。然后,网络处理器24向四个SFC12中的每一个发送不同的信元,有效地实现了信元跨SFC12的负载平衡。
[0037]接收到信元的每个SFC12的基于信元的交换构架元件16检查那个信元的头、确定其目的地为A-DLC14-N,并且通过那个SFC的适当的构架端口 18中的一个把该信元发送(步骤64)到A-DLC14-N。A-DLC14-N在其构架端口 22上接收属于业务流f的分组的这些信元。A-DLC的网络处理器24根据这些信元重新组装(步骤66)业务流f的每个分组,并且经服务端口 Pn (即,分配给服务端口 Pn的网络端口 20)把每个重新组装的分组转发(步骤68)到处理器联合体28。处理器联合体28向每个分组提供(步骤70)服务。
[0038]依据所提供的服务的结果,基于所匹配的动作,分组或者被转发(步骤72)到实际的目的地或者被丢弃(步骤74)。当把分组向前发送到实际的目的地时,处理器联合体28经服务端口 Pn把分组发送(步骤76)回网络处理器24。在这个过程中,网络处理器24不知道该分组的源MAC地址或源IP地址。然后,网络处理器24把分组分区(步骤78)成信元,并且通过构架端口 22把信元发送(步骤80)到每个SFC12,向不同的SFC12发送不同的信元,以用于随后交付到实际的目的地DLC。
[0039]实际的目的地DLC14接收(步骤82)与从SFC得到服务的分组相关的所有信元,重新组装分组(即,除去添加的头、组合信元),并且通过其网络端口 20中合适的一个发送(步骤84)重新构造的分组。继续前面四个信元的例子,考虑每个SFC确定实际的目的地DLC是DLC14-2。每个SFC12通过其构架端口 18-2把其信元发送到DLC14-2。DLC14-2根据四个接收到的信元重新组装分组(添加的分组头提供次序)并且把该分组发送出合适的网络端口 20。信元中预分类的头信息确定合适的网络端口。
[0040]图5示出了每个交换DLC的实施例的图,其中交换DLC具有通过PHY接口 30与网络处理器24-1、24-2通信的网络端口 20。在一种实施例中,PHY接口 30包括用于每个网络端口 20的XFI电接口(10千兆位小形式因子的可插拔模块(XFP))。每个网络处理器24有构架接口(I/F) 32并且经存储器通道36与缓冲存储器34通信。在一种实施例中,缓冲存储器34是利用DDR3SDRAM(双数据率同步动态随机存取存储器)设备实现的。
[0041]每个网络处理器24的构架接口 32包括优选地提供24个通道38的串行器/解串器(SerDes),该SerDes未示出。SerDes包括用于在每个方向在串行和并行接口之间转换数据的一对功能块。在一种实施例中,每个SerDes通道38以10.3Gbps的带宽操作;24个通道的总带宽近似为240Gbps (或者,当采用两个构架接口时是480Gbps)。在另一种实施例中,每个SerDes通道以25Gbps的带宽操作。24个SerDes通道38分成四个集合,每个集合六个通道。
[0042]DLC14还包括分别与DLC14的四个(例如,标准的IB CXP)构架端口 22_1、22_2、22-3、22-4通信的?册40-1、40-2、40-3、40-4(总体上称为40)。PHY40中的每一个还与来自两个网络处理器24-1、24-2中每一个的一组六个SerDes通道38通信(因而,PHY40中每一个都支持12个SerDes通道38)。
[0043]图6示出了器件DLC14-N的实施例的图,该器件DLC14-N包括具有构架接口(I/F)32的网络处理器24。构架接口 32包括优选地提供24个通道38的串行器/解串器(SerDes),该SerDes未示出。每个SerDes通道38以10.3Gbps的带宽操作。24个通道的总带宽近似为240Gbps。在另一种实施例中,每个SerDes通道以25Gbps的带宽操作。24个SerDes通道38分成四个集合,每个集合六个通道。
[0044]器件DLC14-N还包括经存储器通道36与网络处理器24通信的缓冲存储器34 (例如,DDR3SDRAM)。A-DLC14-N还包括分别与DLC14-N的四个(例如,标准的IB CXP)构架端口 22-1、22-2、22-3、22-4 通信的 ΡΗΥ40-1、40-2、40-3、40_4(总体上称为 40)。PHY40 中的每一个还与来自网络处理器24的一组六个SerDes通道38通信(因而,PHY40中每一个都支持6个SerDes通道38)。
[0045]此外,网络处理器24通过网络处理器芯片24的网络端口 20与一个或多个处理器联合体28通信。
[0046]如本领域技术人员将认识到的,本发明的各方面可以实现为系统、方法和计算机程序产品。因此,本发明的各方面可以体现为完全的硬件、完全的软件(包括,但不限于,固件、程序代码、驻留软件、微代码),或者硬件和软件的结合。所有这种实施例在本文中一般都称为电路、模块或系统。此外,本发明的各方面还可以是体现在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。[0047]可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0048]计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0049]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于——无线、有线、光纤电缆、射频(RF)等等,或者上述的任意合适组合。
[0050]可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++和Visual C++等,还包括常规的过程式程序设计语目一诸如C和Pascal语目或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0051]程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。任何这种远程计算机都可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如,利用因特网服务提供商来通过因特网连接)。
[0052]本发明的各方面是参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图的。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0053]也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
[0054]也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
[0055]附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0056]所述本发明的各方面可以在利用半导体制造工艺制造的一个或多个集成电路(IC)芯片中实现。IC芯片的制造者可以按原始晶片形式(单个晶片上有多个未包装的芯片),作为裸管芯,或者按包装好的形式分发它们。当以包装好的形式时,IC芯片安装在单芯片包装中,例如,具有固定到到母板或其它更高级载体的塑料载体,或者安装在多芯片包装中,例如,具有表面和/或掩埋的互连的陶瓷载体。然后,IC芯片与其它芯片、分立的电路元件,和/或其它信号处理设备集成,作为中间产品,诸如IC芯片,或者终端产品的一部分。终端产品可以是包括IC芯片的任何产品,从电子游戏系统和其它低端应用到具有显示器、输入设备和中央处理器的高级计算机产品。
[0057]在不背离本发明范围与主旨的情况下,许多修改和变化都将对本领域普通技术人员显而易见。实施例的选择和描述是为了最好地解释本发明的原理及其实践应用,并使本领域其它普通技术人员能够理解本发明具有适于预期特定使用的各种修改的各种实施例。
[0058]本文所使用的术语仅仅是为了描述特定的实施例而不是要作为本发明的限制。所本文所使用的,除非上下文明确地另外指出,否则单数形式“一个”和“所述”意于也包括复数形式。还应当理解,当在本说明书使用时,术语“包括”规定所述特征、整数、步骤、操作、元素和/或部件的存在,但是并不排除一个或多个其它特征、整数、步骤、操作、元素、部件和/或其组的存在或添加。
[0059]以下权利要求中所有方式或步骤加功能元素的对应结构、材料、动作及等价物都是要包括用于结合具体所述的其它所述元素执行所述功能的任何结构、材料或行为。已经为了说明和描述给出了本发明的描述,但这不是详尽的或者要把本发明限定到所公开的形式。
[0060]虽然本发明已经参考具体的优选实施例示出并进行了描述,但是本领域技术人员应当理解,在不背离如由以下权利要求定义的本发明主旨与范围的情况下,可以对形式和细节进行各种变化。
【权利要求】
1.一种服务器件,包括: 多个构架端口; 网络处理器,具有与构架端口通信的构架接口,该构架接口经每个构架端口接收信元,每个信元对应于经网络接收的分组的不同部分,该网络处理器根据信元重新组装分组;以及 处理器联合体,通过服务端口连接到网络处理器,以便从其接收分组并且对分组执行上层服务。
2.如权利要求1所述的服务器件,其中处理器联合体配置为响应于所执行服务的结果而丢弃分组。
3.如权利要求1所述的服务器件,其中处理器联合体配置为响应于所执行服务的结果而经服务端口把分组返回到网络处理器,以用于转发到该分组的实际目的地。
4.如权利要求3所述的服务器件,其中构架接口为每个构架端口提供多个SerDes(串行器/解串器)通道,并且网络处理器把返回的分组分成多个信元并且跨构架接口的SerDes通道分配信元,以用于跨构架端口进行分配。
5.如权利要求1所述的服务器件,其中由处理器联合体执行的服务包括深度分组检查。
6.如权利要求1所述的服务器件,其中网络处理器的构架接口为每个构架端口提供多个SerDes通道,并且每个构架端口包括具有经其传送和接收信元的给定数量道的可插拔接口,每个可插拔接口的每条道映射`到网络处理器的构架接口的SerDes通道中的一个。
7.如权利要求6所述的服务器件,其中可插拔接口是CXP接口。
8.如权利要求7所述的服务器件,其中道的给定数量是十二。
9.如权利要求7所述的服务器件,其中道的给定数量是十。
10.如权利要求1所述的服务器件,其中网络处理器通过多个服务端口与处理器联合体通信。
11.一种分布式虚拟机箱,包括: 多个向外扩展的构架耦合器(SFC)盒子,每个SFC盒子具有多个SFC构架端口和一个基于信元的交换构架,以用于在所述SFC盒子的SFC构架端口之间交换与分组关联的信元;以及 多个分布式线路卡(DLC),包括多个交换DLC和至少一个器件DLC(A-DLC),每个交换DLC具有多个网络端口,每个交换DLC和A-DLC具有多个DLC构架端口,通过所述DLC构架端口,交换DLC和A-DLC连接到每个SFC盒子,A-DLC配置成为到达交换DLC的网络端口的分组提供上层服务。
12.如权利要求11所述的分布式虚拟机箱,还包括运行用于分布式虚拟机箱的控制平面的计算机系统,该计算机系统把给定交换DLC的每个网络端口与用于要求A-DLC所提供的上层服务的业务流的业务过滤器关联,业务过滤器与使得属于该业务流并且到达给定DLC的网络端口中的一个的分组转发到A-DLC的动作关联,其中给定DLC通过把分组分成信元并且在多个SFC盒子之间分配分组的信元来转发分组,以用于随后转发到A-DLC。
13.如权利要求12所述的分布式虚拟机箱,其中A-DLC包括: 网络处理器,具有与A-DLC的DLC构架端口通信的构架接口,该构架接口经A-DLC的每个DLC构架端口接收分组的信元中的一个,每个信元对应于分组的不同部分,该网络处理器根据信元重新组装分组;以及 处理器联合体,通过服务端口连接到网络处理器,以便从其接收分组并且对分组执行上层服务。
14.如权利要求12所述的分布式虚拟机箱,其中网络处理器通过多个服务端口与处理器联合体通信,并且控制平面操作成跨服务端口负载平衡发送到处理器联合体的分组。
15.如权利要求14所述的分布式虚拟机箱,其中处理器联合体配置为响应于所执行上层服务的结果而丢弃分组。
16.如权利要求14所述的分布式虚拟机箱,其中处理器联合体配置为响应于所执行上层服务的结果而经服务端口把分组返回到网络处理器,以用于转发到该分组的实际目的地。
17.如权利要求16所述的分布式虚拟机箱,其中网络处理器的构架接口为A-DLC的每个DLC构架端口提供多个SerDes (串行器/解串器)通道,并且网络处理器把返回的分组分成多个信元并且跨构架接口的SerDes通道分配信元,以用于跨A-DLC的DLC构架端口进行分配。
18.如权利要求14所述的分布式虚拟机箱,其中由处理器联合体执行的上层服务包括深度分组检查。
19.如权利要求11所述的分布式虚拟机箱,其中每个交换DLC和A-DLC的每个DLC构架端口通过CXP电缆连接到每个SFC盒子的SFC构架端口中的一个。
20.一种把上层联网服务集成到分布式虚拟机箱中的方法,该方法包括: 把交换网络元件的网络端口与用于业务流的业务过滤器关联; 在交换网络元件的网络端口接收分组; 响应于业务过滤器,确定分组要求由服务器件提供的上层服务; 把分组分成信元; 通过基于信元的交换构架把信元转发到服务器件; 在服务器件根据信元重新组装分组;以及 在服务器件对重新组装的分组执行上层服务。
21.如权利要求20所述的方法,还包括由服务器件响应于执行服务的结果而通过把分组分成信元并且经网络把信元转发到原始目的地网络元件来把分组朝着原始目的地网络元件转发。
22.如权利要求21所述的方法,还包括由原始目的地网络元件把信元重新组装成分组。
23.如权利要求21所述的方法,还包括响应于执行该服务的结果而由服务器件丢弃分组。
24.如权利要求20所述的方法,其中由服务器件执行的服务是由服务器件的处理器联合体执行的,并且其中处理器联合体通过多个服务端口与服务器件的网络处理器通信,并且进一步包括跨服务端口负载平衡发送到服务器件的分组。
25.如权利要求20所述的方法,其中服务器件包括通过一个或多个服务端口与处理器联合体通信的网络处理器,该网络处理器把分组转发到处理器联合体以便接收服务并且在服务之后从处理器联合体接收分组,而不需要获知由处理器联合体发回的分组的源IP地址或源MAC地址。
26.—种包括程序代码的计算机程序,当所述程序在计算机上执行时,适于执行如权利要求20至25中 任何一项所述的方法步骤。
【文档编号】H04L12/943GK103891224SQ201280052465
【公开日】2014年6月25日 申请日期:2012年6月15日 优先权日:2011年10月26日
【发明者】A·P·坎贝尔, K·G·坎博, D-R·刘, V·A·潘迪 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1