首页> 中国专利> 使用生成树和网络交换元件资源在网络中路由信息流的方法、装置及系统

使用生成树和网络交换元件资源在网络中路由信息流的方法、装置及系统

摘要

用于基于生成树和网络交换元件资源在网络中路由信息流的方法、装置及系统。一个或多个控制器用于通过使用从链路路径成本导出的生成树向网络交换元件(NSE)指派信息流。NSE生成有关它们用来促成信息流的资源的被发送到控制器的状态信息。状态信息用于导出链路成本,链路成本然后用于产生生成树,其支持在NSE之间进行路由而不存在任何路径回路。信息流被指派给NSE,从而使得用于这些流的路由路径使用生成树中的链路。在进行中的操作期间动态地计算链路成本和生成树,从而能实现响应于数据面事件和对信息流量的改变而重新配置网络路由和流指派。

著录项

  • 公开/公告号CN104335535A

    专利类型发明专利

  • 公开/公告日2015-02-04

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN201380027723.4

  • 发明设计人 I·盖斯帕拉基司;

    申请日2013-06-06

  • 分类号H04L12/705(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人张欣

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 04:06:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-02-02

    授权

    授权

  • 2015-03-11

    实质审查的生效 IPC(主分类):H04L12/705 申请日:20130606

    实质审查的生效

  • 2015-02-04

    公开

    公开

说明书

相关申请的交叉引用

本申请包含与在2012年5月10日提交的标题为“基于资源可用性的 网络路由(NETWORK ROUTING BASED ON RESOURCE  AVAILABILITY)”的PCT申请序列号PCT/US2012/037329中公开的主题 有关的主题,具有相同的发明人和受让人。

技术领域

发明领域总体上涉及计算机网络,并且更具体地但不排他地涉及用于 基于生成树(spanning tree)和网络交换元件资源在网络中路由信息流的技 术。

背景技术

计算机网络在当今社会非常普遍。通过使用一个或多个计算机网络促 成日常活动(诸如进行电话通话、浏览互联网、处理基于计算机的购买订 单、对朋友进行推特、观看视频、以及发布状态更新)。 而且,预计计算机网络的未来使用将显著地增加,因为更多的工作和社交 活动将涉及使用基于云的服务。

最广泛使用的计算机网络,互联网,实际上是在没有中央控制设施的 情况下互连的独立更小分组交换网络的大容量集合。缺少中央控制设施使 得网络交换元件(NSE,例如交换机、路由器、网桥等等)使用嵌入式控 制逻辑和路由表执行动态的分组交换路由操作成为必需。为了促成这一点, 已经开发了各种通信协议,通常基于OSI(开放系统互连)模型,并且NSE 被配置成用于实现这些协议。OSI定义了包括三个介质层和四个主机层的 七层模型。介质层包括物理层(第一层)、数据链路层(第二层)、以及 网络层(第三层),而主机层包括传输层(第四层)、会话层(第五层)、 表达层(第六层)、以及应用层(第七层)。介质层功能由NSE促成,而 主机层功能通常由在主机计算机上运行的软件实现。由于其固有的网络层 功能,NSE通常被称为第三层交换机。在第三层网络架构下,控制面和数 据面都由NSE实现。

最近,不同于在第三层网络中使用的动态地确定的逐跳(hop-to-hop) 分组路由,已经更多地强调网络信息流的使用。尽管某些基于流的路由智 能性已经被添加到更复杂的NSE,网络流的实现通常通过使用中央控制器 或用于控制由NSE实现的路由操作的分布式控制器集合促成。因此,在这 种网络架构下,控制面操作由中央控制器或分布式控制器实现,而数据面 操作则由NSE实现。

附图简要说明

当结合附图时,前述方面和本发明的许多伴随优势将变得更加容易认 识到,正如通过参照以下详细说明更好地理解到的那样,其中,贯穿各种 视图,类似的参考标号指代类似的部件,除非另外指明。

图1是根据本公开的至少一个实施例的包括网络的系统的示意图,该 网络包括包含通过链路互连的节点的多个网络交换元件以及被配置成用于 向NSE指派信息流的控制器;

图1a示出图1的网络的简化视图,示出了NSE和链路。

图1b、图1c和图1d示出与图1和图1a的网络相对应的三个示例性生 成树。

图2示出根据本公开的至少一个实施例的被配置成用于基于生成树和 资源可用性的网络路由的示例系统;

图3是示出根据本公开的至少一个实施例的被配置成用于在控制器中 实现的示例性模块集合的框图;

图4是示出根据本公开的至少一个实施例的被配置成用于在NSE可用 来操作的设备中实现的示例性模块集合的框图;

图5示出根据本公开的至少一个实施例的包括控制器和网络交换元件 的信息流指派的示例;

图6示出根据本公开的至少一个实施例的网络交换元件中的处理器的 不符合控制信息的操作的示例;

图7示出根据本公开的至少一个实施例的重新指派信息流从而使得网 络交换中的处理器的操作符合控制信息的示例;

图8示出根据本公开的至少一个实施例的禁用网络交换元件中的不活 跃处理器的示例;以及

图9示出包括通过网桥节点耦合的多个以太网段的网络,所述网桥节 点用于示出使用生成树协议标准导出生成树。

图9a-9d示出使用生成树协议为图9的网络导出生成树的序列;

图9e和图9f示出由图9的网络中的某些链路的链路成本改变导致的 生成树改变;

图10示出根据一个实施例的组合式报文流以及流程图,示出了由控制 器和NSE实现的操作和逻辑,用于促成流指派、重新指派、以及针对采用 基于生成树的路由的网络的相关操作;

图11a和图11b示出用于存储从用于计算链路成本的状态信息导出的 参数的表格的示例,其中,图11a中的表格对应于图9a的第一链路配置, 此配置中,每条链路具有成本‘1’,并且图11b中的表格示出与图9e中 示出的链路成本配置相对应的链路的链路成本的改变;

图12示出采用两个控制器的NSE节点网络;

图13是采用片上网络的示例性片上系统的示意框图;

图14a是多个服务器刀片安装在其中的示例性刀片服务器机箱的前等 距视图;

图14b是图14a的刀片服务器机箱的后等距视图;

图14c是与图14a和图14b相对应的多个机架式刀片服务器机箱安装 在其中的示例性刀片服务器机架的等距前视图;以及

图15示出根据一个实施例的典型服务器刀片的组件的细节。

实施例的描述

在此描述了用于基于生成树和网络交换元件资源在网络中路由信息流 的方法、装置及系统的实施例。在以下说明中,列出了许多特定细节以便 提供本发明实施例的透彻理解。然而,本领域普通技术人员将认识到可在 没有这些特定细节中的一项或多项的情况下或者在具有其他方法、组件、 材料等等的情况下实践本发明。在其他情况下,未详细地示出或描述公知 的结构、材料、或操作以便避免混淆本发明的方面。

贯穿本说明书对“一个实施例”或“实施例”的引用是指在此结合该 实施例所述的特定特征、结构或特性包括在本发明的至少一个实施例中。 因此,贯穿本说明书,短语“在一个实施例中”或“在实施例中”在各种 地方的出现并非必须全部指代相同的实施例。而且,特定特征、结构或特 性可在一个或多个实施例中以任意适当的方式组合。

在此所提及的“网络”可总体上包括任何分组交换网络,诸如例如在 IEEE 802.3标准中列出的以太网。实施例可进一步采用被设计成用于与现 有网络设备中已经存在的特征进行交互从而控制分组交换网络中的信息路 由的基于软件的交换系统。可使用相关联的物理层和接口通过或者有线或 者光学的物理链路实现在此示出和描述的各种网络链路。

如在OpenFlow交换规范版本1.2(2011年12月)中列出的OpenFlow 是被开发以便在分组交换网络(诸如以太网)上操作的基于软件的交换系 统的示例。OpenFlow可使用网络设备共有的、并非制造商特定的特征(例 如,内部流表)以便以基本上正常操作速度提供受控交换。具体而言, OpenFlow提供了用于控制各商业以太网交换机或类似的网络设备的信息 路由行为的安全接口,而不管设备制造商是谁。在此的实施例的讨论中对 OpenFlow的任何引用仅是为了说明和解释的目的,并且不旨在将各实施例 限制为仅使用OpenFlow的实现方式。相反,可通过被配置成用于在网络中 提供流控制的任何基于软件和/或硬件的解决方案实现各实施例。例如,如 在此所公开的,各实施例将可容易地适用于具有高数据吞吐量的任何互连 通信系统。

图1示出包括网络100的示例性系统,在此描述的实施例的方面可在 该网络100中实现。网络100包括九个NSE 102,它们还被用相应的节点 编号(1-9)加标号并且被称为“NSE节点”或简称“节点”,为了方便, 在此对NSE节点编号的引用也是对与节点编号相对应的NSE 102的引用。 各种NSE节点通过网络链路104互连,其中,用由破折号分离的两个数字 对每条网络链路加标号,其中这些数字对通过链路通信耦合的NSE节点进 行标识。例如,用1-2对NSE节点1和2之间的网络链路加标号。此外, 每个NSE节点1-9通过被加标号为CN的对应的安全通道链路107被通信 地链路到控制器106,其中,N对应于节点编号。

总体上,诸如由桌上计算机108、一体式计算机110和112、膝上计算 机114、以及平板计算机116所示出的各种类型的计算设备可被通信地耦合 到NSE节点。可耦合到NSE节点的其他计算设备包括但不限于移动通信设 备(诸如基于安卓操作系统(OS)、苹果黑莓塞班微软Windows掌上OS等等的智能电话)、移动计算设备(诸 如Samsung GalaxyKindle等等)、超极本计算机、上 网本计算机以及笔记本计算机。此外,诸如由数据库服务器118所示出的 各种类型的服务器可被通信地耦合到NSE节点。其他类型的服务器包括但 不限于网络服务器、应用服务器、微软Windows服务器、Linux服务器、 证书服务器、代理服务器、活动目录服务器、文件服务器、打印服务器、 FTP服务器、以及电子邮件服务器。总体上,给定的计算设备可被通信地 直接(例如通过以太网链路)或间接地通过通信地耦合到NSE节点的设备 (例如通过到耦合到NSE节点的接入点等等的无线链路)耦合到NSE节点。 NSE节点还可耦合到各种类型的网关、网桥、交换机、以及路由器(未示 出)。

图2示出根据一个实施例的NSE 102的抽象描绘。如所示,NSE 102 包括管理端口200、一个或多个处理器202、以及网络端口204和206。当 部署NSE 102时,管理端口200通信地通过安全通道链路107耦合到控制 器106。这使得控制器106能够为在处理器202上运行的一个或多个软件组 件210提供针对NSE 102的控制信息208以及从软件组件210接收针对NSE 102的状态信息。在一个实施例中,NSE 102包括被配置成用于与控制器 102交互的基于软件的交换机。在某些实施例中,可在各种类型的设备上实 现在此描述的针对NSE的基于软件的交换机功能,所述各种类型的设备包 括专用于支持分组交换网络上的通信的设备,诸如网络交换机、路由器、 网关或其他类似的网络特定设备。

在利用Openflow的情况下,OF-CONFIG协议可用于将物理设备中的 Openflow相关资源(例如,处理器202以及端口204和206)与基于软件 的交换机(诸如例如NSE 102)相关联。OF-CONFIG不确定将如何在设备 中指派资源,而是使设备资源关联并且允许基于软件的交换机(例如NSE 102)控制将如何利用资源。端口204和端口206可以是NSE 102中的应用 专用或进程专用的可寻址位置,信息流212(例如,至少一个数字数据传输 单元,诸如数据包、帧等等)可从该位置发起或者可替代地信息流212可 被递送到该位置上。处理器202总体上表示可用于执行被配置成用于处理 信息流212的软件210的一个或多个处理资源(例如中央处理单元、处理 器内核等等)。总体上,处理信息流212可包括传送信息流,此传送信息 流作为输入在网络端口204和206之一处被接收,并且通过这些网络端口 中的另一个处被输出。为了说明性目的,在图2中示出了双头箭头,但是 将理解的是网络端口204和206的描绘对应于逻辑端口而不是这种端口在 NSE上的物理位置。

管理端口200可被配置成用于允许控制器106与NSE 102通信。诸如 在采用OpenFlow的情况下,管理端口200可包括安全通道107,控制器106 和NSE 102可通过该安全通道107通信。安全通道107可总体上包括为控 制/管理目的实现的私人专用通道(诸如管理通道)或可通过其发送控制和 状态信息的网络链路。在一个实施例中,管理端口200可物理地包括网络 端口204和206的其中之一,该一个端口可被逻辑地映射到被配置成用于 控制/管理报文发送的预定义的HTTP/HTTPS端口(诸如HTTPA管理端口 443)或者映射到被配置成用于实现加密协议(诸如SSL)和/或使用VPN (虚拟专用网)协议的端口。尽管在图1中被描绘为控制器106和NSE之 间的直接链路,各种安全通道107链路可耦合到被配置成用于路由和转发 控制/管理报文的各种交换和路由资源(未示出)。

在一个实施例中,NSE 102可通过管理端口200向控制器传输状态信 息212,并且可进一步通过管理端口200从控制器106接收控制信息108。 状态信息212可包括但不限于处理器202的能力信息和/或使用信息。例如, 处理器202的能力信息可包括但不限于处理器总数、处理器类型(例如制 造商、型号、类别、技术等等)、处理器速度、最大吞吐量(例如带宽) 等等。使用信息可包括但不限于与处理器202和/或网络端口204/206相对 应的当前统计数据,诸如例如处理器202的使用百分比、每处理器202和/ 或网络端口204/206的每秒帧数(fps)、每处理器202或网络端口204/206 的掉落帧数等等。控制信息208可包括但不限于处理器202的许可操作状 况,诸如例如处理器202的许可使用水平百分比(包括最大使用水平和/或 最小使用水平)、处理器202的最大/最小fps等等。最小许可使用水平可 提示未充分利用的处理器202的信息流重新指派和去激活,这可降低能耗 并允许去激活的处理器202释放用于其他任务(例如,在由NSE 102所控 制的设备不是专用网络设备的情况下)。处理器202的最大许可使用水平 可导致更好的每处理器性能以及因此改善的总体性能和服务质量。

图3示出根据一个实施例的控制器106’的模块框图。总体上,控制 器106’可包括被配置成用于实现在此描述的控制器相关功能的方面的硬件 和软件组件。在图2中以模块描绘这些硬件和软件组件,其各自可通过一 个或多个硬件和/或软件组件实现。模块包括系统模块300,该系统模块包 括处理模块302、存储器模块304、功率模块306、通信接口模块308、以 及用户接口模块310、通信模块、和NSE控制模块314。

系统模块300可被配置成用于执行与控制器106'的操作相关联的各种 功能。例如,处理模块302可包括被配置为分离的组件的一个或多个处理 器,或者可替代地,可包括在集成组件中(例如,在片上系统(SOC)配 置中)实现的一个或多个处理内核。示例处理器可包括但不限于从英特尔公司可获得的基于x86的微处理器(包括奔腾、志强、安腾、赛扬、凌动、 内核i系列产品族内的那些)、各种基于ARM的架构处理器、以及诸如IBM、 摩托罗拉、德州仪器、三星、NEC、惠普、太阳微系统/甲骨文和高通等公 司所制造的处理器所采用的其他处理器架构。处理模块302可被配置成用 于在控制器106'中执行指令。指令可包括程序代码,该程序代码被配置成 用于致使处理模块302执行与读取数据、写入数据、处理数据、制定数据、 转换数据、变换数据等等相关的操作。信息(例如,指令、数据等等)可 被存储在存储器模块304中。存储器模块304可总体上包括固定或可移除 格式的随机存取存储器(RAM)、只读存储器(ROM)和/或可重写存储设 备。RAM可包括被配置成用于在控制器106'的操作期间保持信息的存储器, 诸如例如静态RAM(SRAM)或动态RAM(DRAM)。ROM可包括诸如 bios存储器的被配置成用于为控制器106’提供指令的的存储器,诸如电可 编程ROM、(EPROM)、闪存等的可编程存储器。其他固定和/或可移除 可重写存储设备可包括:磁存储器,诸如软盘、硬盘驱动器等等;电子存 储器,诸如固态闪存(例如,eMMC等等)、可移除存储器卡或棒(例如, uSD、USB等等);光学存储器,诸如基于致密盘的ROM(CD-ROM)等 等。

功率模块306被配置成用于向控制器106'上的各硬件组件(包括处理 器、存储器、以及各种外围组件,诸如通信接口)提供功率输入。功率模 块306可包括内部(例如,电池)和/或外部(例如,壁式插座)电源以及 相关联的功率调节电路,诸如变换器、DC-DC转换器、二极管等等。

通信接口模块308可被配置成用于处理通信模块312的数据分组路由 和各种控制功能,其可包括用于进行有线和/或无线通信的各种资源。有线 通信可包括诸如例如通用串行总线(USB,例如USB2或USB3)、雷电 (Thunderbolt)、火线、以太网等介质。无线通信可包括例如近场无线介 质(例如射频(RF)、红外(IR)等等)、短距离无线介质(例如蓝牙、 无线局域网(WLAN)等等)以及长距离无线介质(例如蜂窝、卫星等等)。

用户接口模块310可总体上包括被配置成用于使能用户与控制器106' 交互的电路和/或软件,包括可适用的输入输出机制。例如,输入机制可包 括键盘、指针设备、基于触摸的输入设备、开关、按钮、旋钮、麦克风等 等中的一个或多个。输出机制总体上包括促成视觉和/或音频信息的任何设 备,包括各种类型的显示器、指示器和扬声器。

在一个实施例中,NSE控制模块314可被配置成用于至少与通信模块 312交互。交互可包括NSE控制模块314被配置成用于通过通信模块312 接收状态信息、基于状态信息确定控制信息、以及致使控制模块312向NSE 102传输控制信息。总体上,NSE控制模块314可响应于相关联的事件(例 如响应于从NSE 102接收到状态信息)和/或使用计划表(例如,NSE控制 模块314可致使通信模块312周期性地向NSE 102传输对状态信息的请求) 执行这些动作。

可通过各种类型的计算设备(包括固定设备(诸如桌上计算机、独立 或机架服务器、刀片服务器)以及移动设备(诸如膝上计算机、笔记本计 算机、上网本计算机、超极本计算机、平板计算机、移动电话、PDA等等)) 实现控制器106’所提供的功能。因此,针对控制器106’描绘的各种模块 的配置将总体上取决于用于实现控制器的设备的具体类型。

图4示出可被实现以促成在此公开的NSE功能的方面的设备400的模 块框图。如所示,设备400可包括与在图3和以上讨论的控制器106’中示 出的那些类似的模块(共享相同的参考标号)。此外,接口模块310被描 绘为可选的并且提供NSE模块402以替代NSE控制模块314。如果例如设 备400E被实现为专用联网设备(诸如交换机、路由器、网桥、网关等等) (或作为其一部分),用户接口模块314可以是可选的(或基本的)。总 体上,NSE模块402可被配置成用于与设备400中的处理模块302和通信 模块312中的至少一个交互。例如,NSE模块402可用于通过通信模块212 向控制器312传输状态信息并且可通过通信模块312从控制器106接收控 制信息。NSE模块302还可被配置成用于与处理模块302进行交互用于各 种操作,诸如控制处理模块302中的处理器/内核如何处理端口之间的信息 流。

图5示出通过控制器106为NSE 102'指派信息流的示例。在所示出的 实施例中,NSE 102'包括八个网络端口A-H,它们还被标记为端口204A-D (对应于图2的端口204)和端口206E-H(对应于图2的端口206)。NSE 102'还包括四个处理器202A-D,它们还被标记为并且在此被称为CPU 0、 CPU 1、CPU 2和CPU 3,其对应于图2中的处理器202。尽管被描绘为CPU, 可通过多核处理器(例如SoC)中的处理内核促成相应的功能。此外,CPU 0-3可表示与在NSE 102'的底层物理硬件上运行的一个或多个虚拟机相关 联的虚拟处理资源。

处理器202A可加载NSE操作系统(OS),其将处理器202A配置成 用于例如从处理器202B-D接收状态信息212、通过管理端口200向控制器 106提供状态信息212、通过管理端口200从控制器106接收控制信息208 以及基于控制信息208将处理器202B-D指派为处理NSE 102'中的端口 204A-D和端口206E-H之间的信息流(诸如通过信息流500A所描绘的)。 例如,处理器202A可向控制器106提供状态信息212,指示NSE 102'具有 三个可用处理器(例如处理器202B-D)、处理器类型(例如基于x8的微 处理器中的处理内核)、可用处理器的当前处理负载等。控制器106可在 确定控制信息208时使用状态信息212。例如,控制器106可指令NSE 102' (通过由处理器202A接收并处理的相应的控制信息212):处理器202B-D 的使用水平百分比限于最小5%和最大80%。当向处理器202B-D指派信息 流时,在处理器202A上运行的软件(诸如NSE OS)可使用控制信息,从 而使得这些处理器各自在规定的使用水平内操作。

在图5中示出的示例中,处理器202A指派处理器202B处理网络端口 204A和206G之间的第一信息流500A。处理第一信息流500A致使处理器 202B具有45%的使用水平,这符合控制信息208中的示例最小和最大百分 比使用水平。处理器202C和202D是不活跃的(例如使用水平为0%)并 且因此已经被去激活,如这些处理器被灰色显示所指示的。结果是,所有 活跃处理器(例如,图5中的处理器202B)是合规的(in compliance),并且 处理器202A不需要重新指派信息流118。

图6通过在NSE 102'的端口204B和206F之间引入第二信息流500B 而进一步推进图5中示出的示例。第二信息流500B可至少初始地被指派给 处理器202B(例如因为其正在活跃地处理器第一信息流500A)。处理器 202A然后可得知(例如基于从处理器202B接收的状态信息212)处理器 202B的操作不符合控制信息208中列出的80%的最大使用水平,因为处理 器202B的百分比使用水平已经上升到85%。为了使得处理器202B的操作 符合控制信息208,在图7中,处理器202A可激活处理器202C并且然后 可向处理器202C指派第二信息流500B。重新指派的结果是,处理器202B 的百分比使用水平可降落回45%并且处理器202C的百分比使用水平可上 升到45%,由此允许处理器202B和202C符合控制信息208。

在图8中,第一信息流500A停止(例如由于完成、截止等等)。在一 个实施例中,如果处理器202B仍在活跃地处理其他信息流,但是处理器 202B的百分比使用水平低于控制信息208中列出的最小值(例如<5%), 则处理器202A可将其他信息流重新指派到具有容量的另一个活跃的处理 器(诸如例如处理器202C)。一旦处理器202B变得完全不活跃,处理器 202A可去激活处理器202B以便例如节省能量、释放处理器202A来执行 其他任务等等。尽管未在图5至图8中示出,以下情况可发生:一个或多 个处理器202B-D的操作不符合控制信息208,但是处理器202B-D中没有 一个处理器具有可用于抵消处理负载的任何可用处理容量。在一个实施例 中,这种情况可致使处理器提醒(alert)控制器106(例如通过管理端口200)。 控制器106然后可尝试将信息流指引离开NSE 102'(例如指引到另一个 NSE),以便降低NSE 102'的处理负载,这可允许处理器202A重新指派一 个或多个信息流并且使处理器202B-D的操作合规。

使用流控制交换机的生成树路由

在一个实施例中,生成树协议(STP)的方面用于促成将信息指派给 NSE及其资源。STP是确保任何网桥以太局域网(LAN)的无回路(loop-free) 拓扑。STP的初始的常规用途是,其被实现来在并行地确保所有LAN或网 段保持通过网络中的任何节点可访问的同时防止网桥回路(loop)。STP 还允许网络设计包括备用(冗余)链路以便如果活跃链路失效则提供自动 备份,而不存在网桥回路问题或者不需要手动使能/禁用这些备份链路。在 IEEE标准802.1D-2004中定义了STP的标准实现方式。在此出于清晰和简 明的目的展现了该标准实现方式的所选方面。

为了将STP的操作可视化,网络拓扑被描绘为图形,其节点是使用在 每个连接处具有相应的接口(即,端口)的网络链路耦合到LAN网段的网 桥。在图9中描绘了网络900的示例性图形和相应的网络拓扑。网络900 包括通过被标记为2-7、9-11和14的网桥和在这些网段和网桥之间耦合的 相应的网络链路而互连的、被标记为A-J的多个网段。为了方便和清晰的 目的,每个网络链路被标记为N-A,其中N是网桥编号并且A是网段。例 如,耦合网桥3与网段A、B、C和D通信的网络链路被分别标记为3-A、 3-B、3-C和3-D。另外,针对以下讨论的网桥ID仅仅是每个网桥节点的节 点编号,并且术语“网桥”和“节点”可在以下说明书中可互换地使用。 而且,尽管在标准STP术语下被称为网桥,网桥可总体上表示NSE。在某 些实施例中,NSE被配置成类似于在此描述的NSE 102和/或NSE 102’。

除各网段和网络链路以外,节点2-7、9-11和14各自通过相应的安全 通道链路107以类似于在图1中示出的以及以上描述的方式类似的方式通 信地耦合到控制器106。如之前所述,每条链路107被标记为CN,其中, N对应于节点编号。

在常规的STP算法下,为了在保持访问所有LAN网段的同时切断LAN 中的回路,网桥总体地(collectively)计算生成树。可使用在IEEE标准 802.1D-2004中定义的以下规则和操作确定网桥使用生成树协议计算的生 成树。在此的实施例实现通过其计算类似的生成树的增强方法,而不是通 过网桥/节点实现此举,通过控制器106单独地,或结合通过网桥/及节点执 行的操作,来执行生成树的计算。

用于计算生成树的第一操作是选择生成树的根网桥。在标准STP方法 下,生成树的根网桥是具有最小(最低)网桥ID的网桥。每个网桥具有唯 一标识符(ID)和可配置优先级编号;网桥ID包含这两个编号,其中,优 先级编号用于确定最小的网桥ID,并且唯一ID在两个或更多个网桥共享 同一优先级编号的情况下用于打破平局。例如,为了比较两个网桥ID,首 先比较优先级。如果两个网桥具有相等的优先级,则比较保证是唯一的 MAC地址(并且因此其被用作唯一ID),其中,更低的MAC地址打破平 局。由于每个网桥的优先级是可配置的,网络管理员可通过将网桥设置为 具有比所有其他网桥更低的优先级编号而将该网桥选择为根网桥。由于控 制器106用于计算生成树,其可用于选择根网桥而不是使用常规的方法。 在这种情况下,节点2-7、9-11和14中任一者可被选择为根网桥。然而, 针对本示例,根网桥(即,根节点)将被选择为节点2。

在标准STP方法下,每个网桥节点沿着其每条链路向其邻居节点发出 你好(hello)报文,从而使能邻居节点交换配置信息。在STP下,hello报 文(message)包括被称为网桥协议数据单元(BPDU)的特殊数据帧,其用于 交换有关网桥ID和根路径成本的信息。网桥发送BPDU帧,使用端口本身 的唯一MAC地址作为源地址,使用STP多播地址01:80:C2:00:00:00的目 的地址。总体上,在若干个周期期间交换BPDU帧以便确定网络拓扑、标 识根网桥、以及计算根路径成本。BPDU帧包含包括根网桥ID、根路径成 本以及发送节点的网桥ID的五元组(tuple)。根网桥ID是与发送网桥节 点认为其是当前报文交换周期的正确根网桥的节点的ID相对应的网桥节点 ID,其在此被称为候选根网桥,因为在此阶段所有网桥并不知道正确的根 网桥。根路径成本是沿着从发送者到候选根网桥的路径发送报文的预计成 本。针对在图9a至图9c中示出的以下示例,从给定网桥节点到邻居节点 的遍历的成本是‘1’,而用于遍历链路或跨过网桥的成本是‘0’。如以 下所描述的,在基于STP的NSE信息流指派方案下,每次链路遍历的成本 被确定为从每个节点(即,NSE)所生成的状态信息确定的加权函数。链 路、网桥和网段的成本除被指派以外,可例如通过在网络操作期间测量链 路流量和相关参数动态地确定。

与常规的STP方法相比,可在不使用BPDU hello报文的情况下实现在 此的实施例。例如,由于控制器106知道网络拓扑、能够定义根网桥(节 点)、并且或者基于NSE状态信息(例如状态信息212)确定链路成本或 者接收NSE所计算的链路路径成本,控制器能够访问计算生成树所必需的 所有信息。因此,使用类似于标准STP算法的方法计算生成树,但是无需 使用BPDU hello报文用于网络拓扑发现和根路径成本。

过程的下一阶段是确定每个网桥的根端口(RP)。给定网桥的RP对 应于网桥上的端口,可采用最小成本路径(LCP)通过此端口向根网桥发 送信息流。在标准STP方法下,通过网桥自身确定LCP和RP。然而,在 控制器方法下,LCP和RP可由控制器106确定。

参照图9a和图9b,按以下确定根端口的标识。如图9a所示,链路遍 历成本‘1’已经被指派给每条链路(如由具有圆圈‘1’的双头箭头所描 绘的),其中为了说明的目的,与跨每个网段相关联的成本被设置为‘0’ (未示出)。(在此的附图中,通过网络链路和节点圆圈之间的接点描绘 网桥端口。)通过将使用最低成本路径路由方法(选择自给定端口的路由, 从而使得获得最低成本路径)而被遍历以到达根网桥的链路和网段的成本 加在一起来确定给定网桥端口的LCP。各种网桥和端口的LCP的结果在图 9b中被示出为具有圆圈编号的箭头,指示与箭头自其指向外的端口相对应 的LCP。例如,对于网桥4,使用连接到链路4-G的端口的LCP是4,使 用连接到链路4-C的端口的LCP是10,以及使用连接到链路4-D的端口的 LCP是10。由于根端口是LCP通过其被路由的端口,位于网桥4节点圆圈 和链路4-G之间的接点处的端口被标记为‘RP’。以类似的方式确定其他 网桥的RP并且在图9b中相应地对其进行标记。

对网段执行类似的操作,在这种操作下确定从每个网段到根网桥的最 低成本路径。对于给定的网段,链接到该网段的网桥确定哪一个网桥具有 到根网桥的最低成本路径。网段在其处以最低成本路径连接到网桥的网桥 端口然后被称为指定端口(DP)。在图9c中描绘了从网段开始的每个路由 的DP和根路径成本。

在此时,标识网桥的RP和DP。根据某些采用STP的实施例,既不是 根端口也不是指定端口的网桥端口变成禁用候选项,从而使得不通过这种 端口路由信息流。通过具有根路径成本编号的、带有以斜线穿过的圆圈的 箭头在图9c中标识这些端口,其中,该箭头指向作为禁用候选项(candidate  for disabling)的端口。图9c中的用于链路的虚线描绘耦合到被考虑禁用的 端口的链路。注意,在本简单示例中(其中所有链路成本为‘1’),某些 情况下,,存在到根网桥节点2的最低成本路径平局。在平局的情况下, 来自给定节点或网段的平局的两条链路之一已经被选定。

在图9d中示出所得生成树900D。值得注意的是,若干条链路已经被 从图9a中示出的完整路由树移除,包括链路3-A、3-C、9-A、9-B、10-F 和14-J。正如开发STP的原始动机那样,在生成树900D中不存在路径回 路。

根据某些实施例的进一步的方法,如果适用的话,在正在进行的 (ongoing)操作期间至少部分地基于NSE所生成的状态信息动态地计算并 配置包括流受控的NSE的节点网络的生成树。鉴于生成树的变化,重新指 派和/或以其他方式致使重新路由信息流,从而使得作为去激活候选项(基 于经更新的生成树配置)的端口不被使用。此外,在给定的生成树配置下 被去激活或者以其他方式未用于流的端口,当其对应于经更新的生成树中 的根端口或指定端口时,可被重新激活用于重新指派现有的流和/或新的流 指派。

图10示出根据一个实施例的组合式报文(message)流以及流程图, 示出了由控制器和NSE实现的操作和逻辑,用于促成针对采用基于生成树 的路由的网络的流指派、重新指派、以及相关操作。在图10中,在图示的 左侧描绘的操作由具有类似于控制器106和106’的配置和功能性的控制器 1006执行。在图10中,在图示的右侧描绘的操作由具有类似于NSE 102 和102’的配置和功能性的NSE 1002执行。在各实施例中,可以用正在进 行的(ongoing)、通常异步的方式执行由控制器和NSE执行的某些操作, 同时在控制器和NSE之间协调其他操作。此外,类似于针对NSE 1002描 绘的那些操作的操作正在由网络中的其他NSE执行。

在正在进行的操作中,可由耦合到网络节点的各设备,诸如在图1中 示出的计算设备(例如桌上计算机、服务器、膝上计算机、笔记本计算机、 移动设备等等)向网络引入各数据面流量1000。响应于数据面流量1000 并且考虑到NSE 1002和其他NSE所生成的状态信息,控制器1006向NSE 1002发送包括流指派1004的控制信息208,如框1008中所描绘的。与流 指派1004相对应的信息由适用的NSE(将通过其配置相应的信息流)接收, 并且NSE配置其资源以便支持该信息流,如框1010中所示出的。

如上所讨论的,在OpenFlow下,NSE可被配置成用于以独立于控制 器的方式为经指派的信息流分配资源。结果是,在正在进行的操作期间, NSE 102将接收各种流指派1004,包括标识有待添加的新流和有待丢弃的 现有流的流指派信息。总体上,对每个新流的资源的初始分配将由NSE鉴 于现有资源分配和适用的标准(诸如处理器使用百分比)确定。这可导致 资源分配的足以授权生成经更新的状态信息212并将其发送到控制器106 的变化,如决策框1012和框1014所描绘的。

除基于流指派1004重新配置资源以外,可基于数据面驱动的(dataplane  driven)事件1016重新配置资源。例如,当给定的流指派可将流量从输入 网络端口A路由到输出网络端口B时,流指派不指定将如何处理信息流的 流量负荷的变化。如果流增加得足够多,可添加附加的处理和存储器缓冲 器资源以便处理增加的流量。类似地,如果观察到信息流的工作负荷显著 地降低,可基于各种标准重新指派分配给该工作负荷的处理器。例如,在 强调降低功率的实施例中,指派给信息流的处理器的工作负荷可降低到阈 值以下,同时另一个活跃处理器具有将被重新指派以便处理该信息流的足 够的未使用的使用水平。相应地,在重新分配了处理器资源之后,初始地 处理该信息流的处理器可被关闭以便在降低功率状态或睡眠状态下操作。

总体上,各种流指派1004和数据面驱动的事件1016的结果将导致各 种资源变化,该资源变化如果足够显著的话(如由对应于决策框1012的逻 辑所确定的)将致使重新生成经更新的状态信息212并将其发送到控制器 1006。除从NSE 1002接收状态信息212之外,其他NSE将生成类似的状 态信息并将其发送到控制器1006。总体上,生成和发送状态信息212在性 质上可以是异步的,其中,当发送状态信息更新时,相应的状态信息更新 由控制器1006接收。在某些实施例中,可周期性地使用预定义的时间表等 等发送状态信息。

如所示,状态信息212由框1008和1018中的每一个接收。状态信息 可由框1008用于确定流指派。例如,在某些实施例中,控制器1006维护 信息流的全局视图以及充分的状态信息,以便至少在某种程度上确定分配 给流的NSE资源。此外,框1008中的逻辑可维护在框1020中计算的生成 树路由信息,如以下所述。在某些实现方式中,可能令人希望的是指派新 流,从而使得现有的生成树被设计为不会响应于NSE资源分配的变化导致 重新配置来支持新流。相应地,可在框1008中根据NSE状态信息结合生 成树路由信息确定新流。在其他实现方式中,生成树路由信息的使用可不 由框1008实现。

框1018用于(重新)计算链路成本,这些链路成本可由框1020用于 计算生成树。在某些实施例中,根据加权资源相关的参数导出链路成本, 这些参数的相应参数值或者是通过状态信息212接收的,或者是从状态信 息212中导出的。例如,在图11a和图11b中描绘了示例性链路成本参数, 其中对于网络900中的每条链路存在一行参数。这些参数通过对应的列标 题列出并且包括与处理器、流、每秒帧数、丢帧率、带宽%(例如,使用 水平或余量)和端口相关的参数。该列表仅仅是示例性的并且不是限制性 的,因为可基于未示出的其他参数确定链路成本。每个参数乘以加权因子, 如由加权因子W1-W6所描绘的。可出于各种目的调整加权因子,诸如QoS 考虑因素(例如丢包最小化)、功率考虑因素、可靠性考虑因素等等。

除图11a和图11b中示出的方案之外,可通过其他技术确定链路成本。 例如,在一个实施例中,可存在针对给定链路的的多个链路成本计算,诸 如为遍历给定链路的每个流计算的成本,这些多个链路成本计算被平均以 便导出链路成本。可采用更简单的方案,诸如基于链路使用水平和/或链路 带宽余量的成本。

处理器相关的信息的示例可包括诸如处理器、处理器内核、或虚拟处 理器的数量、聚合处理能力、单独和/或聚合处理器使用水平等参数。与流 有关的参数的示例可包括正在通过链路路由的流的数量、正在由通过该链 路连接的一个或两个节点所处理的流的数量、由通过链路路由的流所消耗 的总带宽等等。与每秒帧数和丢包率相关的参数可再次适用于链路本身和/ 或与通过该链路连接的节点的FPS和丢包率有关。与带宽%相关的参数可 包括所消耗的链路带宽%或可用带宽余量。与端口相关的参数可包括支持 节点之间的物理和逻辑链路的端口数量(诸如在采用冗余链路的情况下)、 耦合这些节点的NSE上的端口数量、未使用端口数量等等。

在框1020中计算网络的生成树。取决于实现方式,可响应于经更新的 链路成本信息、周期性地使用时间表、或者两者的组合执行生成树的重新 计算。在具有类似于网络900的配置的网络中,以上述方式确定生成树。 还可为其他网络配置(诸如网络100)确定生成树,如以下所述。

在决策框1022中,确定生成树的配置是否已经从其先前配置改变。如 果没有,决策框1022的答案是否,并且逻辑环回到框1018。如果生成树配 置已经改变,逻辑流向框1024,在该框中,可基于新的生成树配置重新指 派流并且更新端口状态。然后可作为控制信息208和/或流指派1004的一部 分提供经重新指派的流和端口状态。

参照图9a-f和图11a和图11b,网络900的生成树的动态重新配置按 以下继续。在一个实施例中,网络(诸如网络900)中的每条链路的初始成 本被设置为预先确定的值,诸如1、10、100等等。所选定的预先确定的值 可通常对应于使用基于默认NSE配置或一组默认NSE配置和相关联加权因 子的参数的链路成本计算。为了方便和说明的目的,在此的示例中使用简 单的整数,注意:实际实现方式将通常涉及更大和/或更变化的链路成本值。 如上所述,为网络900中的每条链路使用链路成本‘1’(如图11a中的链 路成本表中所示)得到图9d中示出的生成树。

在正在进行的操作期间,来自NSE的状态信息将响应于新的信息流、 现有流的完成、以及各种数据面驱动的事件而改变。NSE状态信息的改变 将进而导致控制器所计算的链路成本的改变。例如,如图11b的链路成本 表和针对图9e中的网络900E描绘的黑体链路成本所示,已经对链路3-B、 3-C、5-H、6-E、6-H、9-A和11-A做出了链路成本改变。这导致图9f中示 出的生成树900F。如前所述,生成树不包括任何回路,并且由从每个节点到 根节点(即,节点2)的最低链路成本路由路径组成。

取决于具体网络链路配置和当前链路成本,所得链路成本变化可能会 或可能不会导致生成树变化。而且,如上所述,可有利的是降低计算生成 树的频率(或者以其他方式延迟应用经更新的生成树配置),从而使得网 络配置和相关联的NSE资源不如此快地变化而导致附加开销和/或降低的 网络性能结果。

生成树方法的实现方式可被扩展到除在图9和图9a-9f中示出的那些之 外其他类型的网络配置。例如,使用类似的最低路径成本路由条件,可为 基于节点的网络(诸如网络100)确定生成树。在图1a-1d中示出应用到网 络100的进一步的示例。图1a示出类似于网络100的包括节点1-9和连接 这些节点的所有链路的网络100a。图1b示出在其下不使用链路3-6、3-7、 和6-7的第一生成树100b。图1c示出在其下不使用链路1-3、2-4、和6-7 的第二生成树100c。图1d示出在其下不使用链路3-4、3-6、和6-7的第三 生成树100d。

除使用单个控制器(诸如上述控制器106和106’)之外,可采用一 组两个或更多个分布式控制器。例如,图12示出包括通过相关联的链路104 互连的18个NSE节点103(标记为1-18)的网络1200。与信息流有关的 控制面(control plane)方面由两个控制器106-1和106-2促成。如所示, 控制器106-1和106-2各自通过安全链路107与一组对应的NSE节点102 通信,其中,每组NSE节点表示控制域。例如,控制器106-1的控制域包 括节点1-9,而控制器106-2的控制域包括节点10-18。在一个实施例中, 一组分布式控制器中的控制器通信链接,诸如由控制器通信信道1202所描 绘的。这使得控制器能够以协调的方式指派并管理信息流,诸如针对在控 制域之间路由信息流的情况。

在某些实施例中,可实现主-从控制器方法,其中,一组分布式控制器 中的控制器之一作为主控制器操作,而其他控制器作为从控制器操作。总 体上,主控制器和从控制器当管理其自身域内的信息流时可以用自主的方 式操作,但是主控制器负责协调跨与域交点相对应的NSE的控制域的信息 流的指派。例如,网络1200的域交会点(crossing point)包括NSE节点5 和10、4和15、以及9和15之间的链路。

总体上,这些域交会节点的信息流的指派将由控制器针对每个节点在 其内的域实现;然而,这些控制器之间将存在协调,从而使得正确地配置 信息流。同时,给定域内的信息流的路由可由该域的控制器控制。例如, 节点1和18之间的信息流将导致两个域(即,控制器106-1和106-2各自 的域)内的路由。相应地,控制器将协调将使用哪条跨域链路。然而,每 个控制器可负责在其对应的域内的信息流的NSE流指派。

除计算机网络(诸如以太网)之外,可为可被配置成用于采用流控制 其的其他系统和装置实现实施例的各方面。例如,通过为板级互连的通信 系统(其中互连组件高速交换数据)所采用的互连来路由信息流可被配置 成用于实现与本公开一致的流控制技术。在此的原理和技术还可应用于采 用各处理和数据资源之间的数据的基于网络的路由的片上系统(SoC)。

例如,图13示出系统1300,其包括采用使用基于网络的路由方案的 片上网络(NoC)1304的SoC 1302。NoC 1304包括2D网格互连结构,该 结构具有邻近每个纵横交点的路由器1306并且包括多条互连链路1308。这 些路由器还被编号为1-16并且被配置成用于被实现为NSE节点。多个IP (知识产权)模块1310耦合到对应的路由器1306,形成了IP模块的2D 阵列。尽管在图13中展示了16个IP模块,这仅仅是说明性的,因为IP 模块的数量可从更少的IP模块数量到更多的数量变化,诸如但不限于8个、 24个、32个、48个、64个等等,以及在这些数字之间的数量。

每个IP模块包括代理1312和网络接口1314。这些IP模块展示了SoC 中常用的各种类型的IP模块,诸如处理器内核、硬件加速器(例如,视频 解码器、图形、成像等等)、存储器相关的组件(例如,存储器控制器)、 以及I/O接口(例如,PCIe、QPI等等)。在所示出的实施例中,一对存储 器控制器1316和1318被描绘为耦合到对应的存储器模块1320和1322(被 描绘为DIMM(双列直插存储器模块))并且耦合到NoC 1304中的对应的 路由器。还描绘了结构(fabric)管理器1324,其以类似于在此描述的控制 器的方式操作。如本领域普通技术人员将认识到的,实际上SoC将包括附 加组件,未示出这些附加组件以便不混淆图13中所展示的NoC方面。

除了用于促成各操作的逻辑之外,每个网络接口1314将包括配给 (provision)用于与应用互连结构进行接口连接。例如,互连结构可包括 串行多通道互连结构,诸如英特尔的快速通道互连(QPI)或英特尔的 KEIZER技术互连(KTI)、开放内核协议互连、其他类型的标准或专用 互连、以及未来的互连技术和协议。此外,NoC的配置可包括其他类型的 互连结构配置,诸如但不限于环形(torus)和3D网格互连(例如,可在具有 在3D阵列中配置的IP模块的未来三维SoC中采用的互连结构)。

在各实施例中,状态信息可由路由器1306、网络接口1314、或代理 1312生成。不是采用处理资源(诸如处理器),每个路由器1306包括用于 促成网络交换操作的嵌入式逻辑。相应地,路由器1306、网络接口1314、 或代理1312生成的状态信息的量和类型将不同于图11a和图11b中示出的 那些。然而,如在此为其他实施例展现的那样,类似的原理可用于管理NoC 1304中的信息流。

示例性实现环境和刀片服务器架构

根据某些实施例,预想到在此的控制器、NSE和信息流路由的方法可 在数据中心和/或服务器集群(server farm)环境中实现。通常,在数据中 心和服务器集群中使用的服务器包括阵列化服务器配置,诸如基于机架的 服务器或刀片服务器。这些服务器通过各种网络配置通信互连,诸如将多 组服务器分区到LAN中,采用LAN之间的适当的切换和路由设施以便形 成专用内联网。例如,云托管设施可通常采用具有许多服务器的大型数据 中心。为了可靠性的目的,服务器的数个部分用于数据复制,从而使得如 果给定服务器故障,仍有至少一个服务器具有数据的实例(通常,将存在 多个备份实例)。此外,某些云服务器采用地理数据复制,其中,跨数据 中心地在分离的地理位置复制数据,从而使得如果到数据中心之一的通信 损坏,可通过另一个数据中心促成云服务。

作为概览,在图14a-c和图15中示出典型的刀片服务器组件和系统。 在典型配置下,机架式机箱1400用于提供多个服务器刀片(即,刀片)1402 的功率和通信功能,这些刀片服务器各自占据相应的槽道。(注意:无需 占据机箱内的所有槽道。)进而,一个或多个机箱1400可安装在图14c中 示出的刀片服务器机架1403中。每个刀片在安装时通过一个或多个配合连 接器耦合到接口板(即,背板或中间板)。通常,接口板将包括向刀片提 供功率和通信信号的多个对应的配合连接器。在当前实践下,许多接口板 提供“热交换”功能,即,通过适当的功率和数据信号缓冲,可在工作中 添加或移除(“热交换”)刀片,而无需拆卸整个机箱。

图14a和图14b中示出典型的中间板接口板配置。接口板1404的背侧 耦合到一个或多个电源1406。经常,电源是冗余的和可热交换的,耦合到 适当的功率板和调节电路以便使得能够在电源故障的情况下进行连续操 作。在可选配置中,电源阵列可用于向整个刀片机架供电,其中,不存在 电源-机箱的一一对应关系。多个冷却风扇1408用于将空气抽吸通过机箱 以便冷却服务器刀片。

所有刀片服务器都所需的重要特征是与其他IT基础设施进行外部通信 的能力。这通常是通过一个或多个网络连接卡1410促成的,这些连接卡各 自耦合到接口板1404。通常,网络连接卡可包括包含多个网络端口连接(例 如RJ-45端口)的物理接口、或者可包括被设计成用于直接连接到网络设 备(诸如网络交换机、集线器、或路由器)的高密度连接器。

刀片服务器通常提供用于管理各个刀片的操作的某种类型的管理接 口。这可通常由内建的网络或通信信道促成。例如,用于促成“专用”或 “管理”网络以及适当切换的一条或多条总线可嵌入到接口板中,或者可 通过密切耦合的网络缆线和网络实现专用网络。可选地,切换和其他管理 功能可由耦合到接口板的背侧或前侧的管理交换机卡1412提供。作为再一 个选项,管理或配置服务器可用于管理刀片活动,其中,通过标准计算机 联网基础设施(例如以太网)处理通信。

参照图15,示出示例性刀片1500的进一步的细节。如上所述,每个 刀片包括被配置成用于执行服务器型功能的分离的计算平台(即,是“卡 上服务器”)。相应地,每个刀片包括常规服务器常见的组件,包括提供 用于耦合适当的集成电路的内部布线(即,总线)的主印刷电路板(主板) 1501以及安装到主板上的其他组件。这些组件包括耦合到系统存储器1504 (例如某种形式的随机存取存储器(RAM)、高速缓存存储器1506(例如 SDRAM)、以及固件存储设备1508(例如闪存))上的一个或多个处理器。 “公共”NIC(网络接口控制器)芯片1510被提供用于支持常规网络通信 功能,诸如支持刀片和外部网络基础设施之间的通信。其他被示出的组件 包括状态LED(发光二极管)1512、耦合到一组RJ-45控制台端口1514(出 于简单的目的仅示出其中一个)的一个或多个NIC 1513、以及接口板连接 器1516。附加组件包括各种无源组件(即,电阻器、电容器)、功率调节 组件、以及外围设备连接器。

总体上,每个刀片1500还可提供板上存储。这通常是通过一个或多个 内建的盘控制器和一个或多个盘驱动器1518耦合到其上的相应的连接器促 成。例如,典型的盘控制器包括SATA控制器、SCSI控制器等等。作为选 项,可在相同或分离的机架中与刀片分离地容纳盘驱动器,诸如,对于用 于存储大量数据的网络附接存储(NAS)电器或后端存储子系统可以是这 种情况。

NIC 1513包括用于促成相应的联网操作(诸如对于物理层(L1)和数 据链路层操作(L2)的支持)的电路和逻辑。通常,上层操作由将由在处 理器1502上运行的操作系统托管的操作系统网络堆栈促成。然而,在某些 实施例中,NIC可通过嵌入式逻辑等等采用其自身的网络堆栈。

在典型的数据中心布局中,网络交换元件包括安装于机架的设备,例 如,其将会占据1U、2U或4U插槽,或可通过一个或多个服务器刀片实现。 可选地,可使用一个或多个刀片服务器实现网络交换元件。

总体上,可通过软件、硬件(通过例如嵌入式逻辑)、或二者的组合 实现信息流管理和生成树确定协议的各方面。例如,网络元件可包括运行 基于软件的网络堆栈的处理器,以及通过用于执行在此描述的操作的各方 面的软件而实现的相关联的逻辑。可选地,可通过NIC、大规模网络接口 等等中的嵌入式逻辑实现类似的逻辑。

尽管已经参照具体实现方式描述了某些实施例,其他实现方式根据某 些实施例是可能的。此外,在附图中示出和/或在此描述的元件或其他特征 的安排和/或顺序无需以所示出和描述的特定方式安排。许多其他安排根据 某些实施例是可能的。

在附图中示出的每个系统中,在某些情况下,元件可各自具有相同的 参考标号或不同的参考标号,以便提示所表示的元件可不同和/或类似。然 而,元件可足够灵活以便具有不同的实现方式并且与在此示出或描述的某 些或所有系统一起工作。在附图中示出的各个元件可相同或不同。将哪一 个称为第一元件以及将哪一个称为第二元件是任意的。

在说明书和权利要求书中,可使用术语“耦合”和“连接”及其衍生 项。应当理解的是这些术语不旨在作为彼此的同义词。而是,在具体实施 例中,“连接”可用于指示两个或更多个元件与彼此直接物理或电接触。 “耦合”可意指两个或更多个元件直接物理或电接触。然而,“耦合”还 可意指两个或更多个元件并不彼此直接接触但是仍彼此协作或交互。

算法在此并且通常被认为是导致所希望的结果的动作或操作的自洽序 列。这些动作或操作包括物理量的物理操纵。通常,尽管不必需,这些量 采取能够被存储、传输、组合、比较、以及以其他方式操纵的电信号或磁 信号的形式。已经证明方便的是,有时主要出于常见用途的原因,将这些 信号称为位、值、元素、符号、字符、项目、编号等等。然而,应当理解 的是所有这些和类似的术语应与适当的物理量相关联并且仅仅是适用于那 些量的方便标记。

实施例是本发明的实现方式或示例。本说明书中对“实施例”、“一 个实施例”、“某些实施例”、或“其他实施例”的引用是指在此结合该 实施例所述的特定特征、结构或特性包括在本发明的至少某些实施例中, 但无需包括在所有实施例中。各种出现的“实施例”、“一个实施例”或 “某些实施例”未必全部都指代相同的实施例。

不是所有在此描述和示出的组件、特征、结构、特性等等需要被包括 在一个或多个特定实施例中。如果说明书陈述说,例如,组件、特征、结 构、或特性“可”、“可能”、“能够”或“可以”被包括,则并不要求 包括该特定特征、结构、或特性。如果说明书或权利要求书提到“一”或 “一个”元件,这不意味着仅存在一个这种元件。如果说明书或权利要求 书提到“附加”元件,这不排除存在多于一个这种附加元件。

如上所述,可通过相应的软件和/或固件组件和应用(诸如在服务器上 运行的软件或在由网络元件上的嵌入式处理器执行的固件)促成在此的实 施例的各个方面。因此,本发明的实施例可用作或支持在某种形式的处理 核(诸如计算机的CPU、多核处理器的一个或多个核)上执行的软件程序、 软件模块、固件、和/或分布式软件、在处理器或核上运行的或者以其他方 式在机器可读介质上或内实现或达成的虚拟机。机器可读介质包括用于存 储或传输采取机器(例如,计算机)可读形式的信息的任何机构。例如, 机器可读介质可包括只读存储器(ROM);随机存取存储器(RAM);磁 盘存储介质;光学存储介质;闪存设备等等。

本发明的所示出实施例的以上描述,包括在摘要中所描述的内容,不 旨在是排他性的或者将本发明限制为所公开的精确形式。尽管在此为了示 意性的目的描述了本发明的特定实施例和示例,在本发明的范围内,各种 等效修改是可能的,正如本领域普通技术人员将认识到的那样。

可根据以上详细描述对本发明做出这些修改。在随附的权利要求中所 使用的条款不应被解释为将本发明限制成在说明书和附图中所公开的特定 实施例。而是,本发明的范围应该完全由随附的权利要求书确定,应当根 据权利要求解释的既成的原则对其进行解释。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号