用于数据中心网络的拥塞管理的制作方法

文档序号:11890558阅读:247来源:国知局
用于数据中心网络的拥塞管理的制作方法与工艺
除非本文中另外指示,否则在这部分中所描述的材料对于申请中的权利要求不是现有技术,并且不因包括在这部分中而被承认为是现有技术。随着基于云的计算服务的出现,数据中心可能变成为与提供多种多样的应用和服务有关。在数据中心环境中的有效网络的建设对于数据中心提供商可能十分重要。拥塞通知和管理对于数据中心的有效网络的建设具有相关性。由于以太网的固有性能,例如低成本、无处不在的连接和易于管理,以太网可以是用于提供针对数据中心网络(DCN)的综合网络解决方案的主要网络协议。然而,以太网可能已经被初始地设计用于在局域网(LAN)解决方案中的尽力而为通信。因此,以太网对于DCN可能不是最佳的。概述本公开总体上描述与用于数据中心网络的拥塞管理系统有关的方法、装置、系统、设备、和/或计算机程序产品。根据一些实施例,描述了用来提供用于数据中心网络的拥塞管理系统的方法。示例方法可以包括:接收来自一个或多个拥塞检测器的数据中心网络的拥塞状态;接收来自终端主机的一个或多个业务流量监测器的流速信息;基于拥塞状态和流速信息,确定拥塞状态信息;基于拥塞状态信息和流速信息,识别作为所述终端主机的子集的、引起数据中心网络的网络拥塞的一个或多个拥塞源;以及向一个或多个拥塞源传送一个或多个拥塞消息以允许通过终端主机的拥塞反应协调器执行一个或多个动作以解决网络拥塞。根据其他实施例,描述了被配置为管理针对数据中心网络的拥塞的系统。示例系统可以包括通信地耦接到一个或多个拥塞检测器的拥塞控制器,该一个或多个拥塞检测器中的每一个通信地耦接到终端主机的一个或多个业务流量监测器和一个或多个拥塞反应协调器。拥塞控制器可以被配置为:接收数据中心网络的拥塞状态;接收来自终端主机的业务流量监测器的流速信息;基于拥塞状态和流速信息,确定拥塞状态信息;基于拥塞状态和流速信息,确定拥塞状态信息;基于拥塞状态信息和流速信息,识别作为所述终端主机的子集的、引起数据中心网络的网络拥塞的一个或多个拥塞源;以及向一个或多个拥塞源传送一个或多个拥塞消息以允许一个或多个拥塞反应协调器来执行一个或多个动作以解决网络拥塞。根据进一步的实施例,描述了具有存储在其上的用来提供用于数据中心网络的拥塞管理系统的计算机可读存储介质。响应于通过处理器的执行,该指令可以使得处理器执行与以上描述的动作相似的动作。上述概述仅仅是说明性的,并且并不意图以任何方式进行限制。除了以上所述的说明性的方面、实施例和特征,进一步的方面、实施例和特征将通过参考附图和下面的详细描述而变得明显。附图说明从结合附图进行的下文的描述和随附的权利要求中,本公开的前述和其他特征将变得更加充分地明显。应当理解,这些附图仅仅描绘了根据本公开的若干实施例,并且并不被认为限制它的范围,将通过附图的使用、利用附加特性和细节来描述本公开,在附图中:图1图示用于数据中心网络的拥塞管理系统的示例高级图;图2图示用于数据中心网络的拥塞管理系统的示例架构图;图3A和3B图示用于数据中心网络的拥塞管理系统的仿真的示例;图4图示可以被用于提供用于数据中心网络的拥塞管理系统的通用计算设备;图5是图示用来提供用于数据中心网络的拥塞管理系统的示例方法的流程图;以及图6图示用来提供用于数据中心网络的拥塞管理系统的示例计算机程序产品的框图。所有都根据本文所描述的至少一些实施例而被布置。具体实施方式在以下详细描述中,对附图进行参考,所述附图形成详细描述的一部分。除非上下文另外指示,否则在附图中,相似的符号标识相似的部件。在详细描述、附图和权利要求中描述的说明性实施例并不意味着是限制性的。在不脱离本文所出现的主题的精神或范围的前提下,可以利用其它实施例,以及可以做出其它改变。如本文一般地描述地并且如在附图中所图示的,本公开的方面可以以各种各样的不同配置被布置、替代、组合、分离和设计,所有这些都在本文中被明确地构想。本公开总体上尤其关注与数据中心网络拥塞管理有关的方法、装置、系统、设备和计算机程序产品。简单来说,总体上描述用来提供用于数据中心网络的拥塞管理系统的技术。根据一些示例,拥塞管理系统可以将对数据中心网络处的拥塞的管理从数据中心网络的交换机中分离。拥塞管理系统还可以包含被配置为检测潜在拥塞源的分布式检测机制。此外,拥塞的管理的分离可以允许数据中心网络包含具有有限业务管理能力的交换机。交换机可以监测本地拥塞状态并且向管理拥塞的中央拥塞控制器转发拥塞状态。拥塞管理系统还可以针对跨层拥塞管理方案进行部署。本文所使用的数据中心指的是通过物理服务器设施和在那些服务器设施中执行的虚拟机来向用户托管(host)服务和应用的实体。数据中心的用户,也被称为租户,可以是通过多个用户提供对于它们的服务的接入的组织。图1图示根据本文所描述的至少一些实施例而被布置的、用于数据中心网络的拥塞管理系统的示例高级图。如图100所示,数据中心102可以向客户端设备108或外部服务器109提供服务,比如应用、数据存储、数据处理、或相当的事务。数据中心102可以使用服务器104、设备106、物理或虚拟数据存储区、和类似的事物来向客户端设备108和外部服务器109提供服务。设备106可以包括防火墙、路由器、和类似的事物。由数据中心102针对数据中心的用户(例如,托管的应用或数据的所有者)所托管的应用或者存储的数据可以包括硬件和软件组件的架构。向用户提供的服务级别可以基于比如服务器处理能力、存储器容量、和网络连接带宽的多种服务参数来确定。数据中心102可以是基于云的服务提供商。基于云的服务提供商可以包括通过一个或多个网络连接以提供一个或多个服务的设备106、客户端设备108、和外部服务器109。基于云的服务提供商可以具有提供类似服务、但具有服务参数的差异性架构。服务参数的示例可以包括数据存储容量、处理能力、服务器延迟、以及基于基于云的服务提供商的架构可以类似的方面。数据中心102可以使用拥塞控制器来主动地管理其网络。拥塞控制器可以根据拥塞状态和流速信息来确定数据中心网络的拥塞状态信息。拥塞状态可以包括通过在设备106处对传入的网络数据包的采样、由数据中心网络的拥塞检测器来计算的一个或多个拥塞值。拥塞控制器可以接收来自利用设备106实施的拥塞检测器的拥塞状态。此外,流速信息可以包括在设备106中的一个或多个设备处的数据业务流量的一个或多个速率测量结果。拥塞控制器可以接收来自终端主机、比如客户端设备108和外部服务器109的业务流量监测器的流速信息。此外,终端主机可以包括连接至数据中心网络并且被允许与任何其他设备、比如客户端设备108和外部服务器109通信的任何设备。附加地,拥塞控制器可以基于拥塞状态信息和流速信息,识别作为终端主机的子集的、引起数据中心网络的网络拥塞的拥塞源。拥塞控制器然后可以向拥塞源发送拥塞消息以允许通过拥塞源的拥塞反应协调器来执行解决网络拥塞的动作。图2图示根据本文所描述的至少一些实施例布置的、用于数据中心网络的拥塞管理系统的示例架构图。如图200所示,拥塞管理系统可以包括用来管理数据中心处的网络拥塞的四个示例组件。该组件可以包括拥塞检测器206、拥塞控制器202、业务流量监测器、和拥塞反应协调器。拥塞检测器206可以实施在交换机(208、210)处以通过在交换机(208、210)处的队列监测来检测拥塞状态。队列监测可以包括对穿过交换机(208、210)的一个或多个交换机的基于队列的数据结构的网络数据包进行采样和测量。附加地,业务流量监测器和拥塞反应协调器可以实施在终端主机(212、214、216和218)中的每一个处。业务流量监测器可以估计从相关联的终端主机中传送的业务流量的发送速率。业务流量监测器可以向拥塞控制器202传送流速信息。拥塞控制器202可以接收来自拥塞检测器206的拥塞状态,以及来自业务流量监测器的流速信息。拥塞控制器202可以根据拥塞状态和流速信息来确定拥塞状态信息。拥塞状态信息的确定可以包括根据标准、比如一个或多个阈值(比如,与数据中心网络相关联的网络带宽)计算和评估拥塞状态和流速信息。附加地,塞控制器202可以基于拥塞状态信息拥,从引起网络拥塞的拥塞源的终端主机(212、214、216、和218)中识别拥塞源。可以基于可以评估终端主机(212、214、216、和218)的网络资源消耗的测量结果和计算结果来识别拥塞源。在示例场景中,终端主机(212、214、216、和218)中的消耗超过阈值的网络带宽的一个或多个终端主机可以被识别为拥塞源。此外,拥塞控制器202可以通过拥塞消息来给终端主机(212、214、216、和218)通知拥塞源和拥塞状态信息。与终端主机(212、214、216、和218)相关联的拥塞反应协调器可以基于拥塞消息而反应以解决网络拥塞。拥塞协调器可以降低与拥塞源相关联的业务流量的发送速率以解决网络拥塞。拥塞控制器202还可以将拥塞状态信息通过拥塞检测器206向基于云的服务提供商204中的其他数据中心网络拥塞管理实体进行转播。拥塞检测器206可以被部署在交换机(208、210)处以检测交换机(208、210)处的网络拥塞。在示例场景中,拥塞检测器206可以利用p(t)的采样概率在时间t处采样传入包。拥塞检测器可以计算拥塞值Fb(t)。采样概率可以被初始化为1%。采样概率可以在每个采样事件处的拥塞值Fb(t)的计算之后而被更新。值Qlen(t)和值Qlen(t-τ)可以分别地被确定为在时间t处的当前采样事件的和在时间t-τ处的最近采样事件的以比特为单位的即时队列长度,其中τ可以是在两个相邻采样事件之间的时间间隔。拥塞值Fb(t)可以包括即时队列偏移Qover(t)=Qlen(t)-Qeq的加权和,其中值Qeq可以是均衡队列长度,以及经过最近采样间隔的队列变化Qδ(t)=Qlen(t)-Qlen(t-τ),通过下式定义:Fb(t)=-(Qover(t)+w*Qδ(t))(1)其中w可以是非负常量,其示例针对拥塞值Fb(t)的基线实施方式可以是2。如果拥塞值Fb(t)可以是负值,那么可以向拥塞控制器202发送包括拥塞值Fb(t)的拥塞通知消息。拥塞值Fb(t)可以被确定为值Ψ(Fb(t))、采样包的来源、和拥塞链路的标识(其被表示为连接到该拥塞链路的两个终端节点的地址)。可选地,可以不生成拥塞通知消息。值Ψ(Fb(t))可以被用于通知拥塞控制器202网络拥塞的严重性。拥塞链路的标识可以被用于区分网络拥塞发生在何处。如果通过拥塞控制器202可能尚未收集关于拥塞链路的流量信息,则采样包的来源可以被识别为拥塞源。因为在终端主机(212、214、216、218)处收集的流速信息与通过与交换机(208、210)相关联的检测器206收集的拥塞状态相比,可能经历更长的时延,采样包的来源可以被识别为拥塞源。在每个采样事件处,采样概率p(t)可以根据如下的拥塞值Fb(t)而更新,p(t)=1+964ψ(Fb(t))(Fb(t)<0)1%(Fb(t)≥0)---(2)]]>业务流量监测器可以在时间间隔Ts秒期间针对源自相关联的终端主机的每个流量、对测量的业务量以字节为单位进行计数。业务流量检测器可以估计针对每个流量的传输速率。所估计的针对业务流量i的传输速率可以被确定为值Bi。所估计的传输速率可以每Ts毫秒(ms)根据下式而被更新:Bi=(1-β)Bi+βBi′(3)其中,值Bi′可以是在最后Ts间隔期间所估计的业务流量i的传输速率。值β∈(0,1)可以是所估计的传输速率Bi′相对先前估计Bi的权重。如果业务流量i、Bi的估计的传输速率可能大于速率阈值,那么业务流量i可以被假定为潜在拥塞源。流量监控器可以定期地估计针对源自相关联的终端主机的每个流量的传输速率。业务流量监控器可以更新包括所估计的传输速率和流量标识元组的潜在拥塞源的流速信息。流量标识元组可以包括表示到拥塞控制器202的业务流量的值对,例如拥塞源的源和目的地地址、以及拥塞源的源和目的地端口号。响应于接收流速信息和拥塞状态,拥塞控制器202可以基于由流量监测器收集的流速信息和由拥塞检测器206收集的拥塞状态来执行拥塞控制智能计算。拥塞控制器202可以根据流速信息和拥塞状态来确定拥塞状态信息。拥塞控制器202可以基于拥塞状态信息来识别拥塞源。此外,拥塞控制器202可以通过拥塞消息而通知拥塞源拥塞状态信息,拥塞消息通过多播传输而被发送。从与交换机(208、210)相关联的拥塞检测器206接收的拥塞状态可以包括值Ψ(Fb(t))。与交换机(208、210)中的一个交换机相关联的拥塞消息可以包括量化的拥塞信息值Ψ(Fb(t))、采样包的源、和拥塞链路1的识别。可以使用值Ψ(Fb(t))来获取在拥塞链路1上的拥塞源的流量信息,其可以被确定为集合T1。如果集合T1的流量信息可能是空的(例如:可能没有与链路1有关的拥塞源的流量信息被存储在拥塞控制器处),则拥塞控制器202可以继续进行量化的拥塞通知(QCN)计算的执行,其中可以向采样包的源传送具有值Ψ(Fb(t))的拥塞消息。备选地,公平QCN(FQCN)计算、比如基于每流量信息的拥塞控制计算,可以被用于拥塞控制。针对链路1上的每个流量i的公平份额可以被估计为:Mi=WiΣk∈TlWkΣk∈TlBk---(4)]]>其中Wi可以是针对业务流量i的权重系数,其可以通过业务类别、源地址、目的地地址、和类似事物来确定。Tl的集合可以包括跨越链路l的业务流量。参数k∈Tl可以代表集合Tl中的一个业务流量。业务流量i(它的所估计的传输速率Bl可以等于或大于它的所估计的公平份额Mi(Bi<Mi))可以被看作为低速率业务流量。备选地,业务流量i可以被分配给集合的高速率源。公平份额可以在集合TlH的高速率源之间被细粒度化为:MiF=WiΣk∈TlHWlΣk∈TlHBk---(5)]]>可以通过将所估计的传输速率Bi与公平份额相比较来识别拥塞源。业务流量i(它的所估计传输速率Bi可以等于或大于它的所估计的细粒度的公平份额可以被确定为过高速率流量。业务流量i可以被识别为拥塞源。多个过高速率流量可以形成过高速率流量的集合针对每个拥塞源i,在给拥塞源i的来源的拥塞通知消息中的量化拥塞反馈值可以被如下计算:ΨFb(i,t)=Bi/WiΣk∈TlBk/WkΨ(Fb(t))---(6)]]>拥塞反应协调器的操作与和在QCN计算处执行的等式5相关联的操作可能是同样的。基于包括在拥塞消息中的量化的拥塞反馈值,拥塞反应协调器可以通过传输速率的降低来调整相关联的业务源的传输速率。拥塞反应协调器还可以增加传输速率以恢复失去的带宽以及探测数据中心网络中的可用带宽。当拥塞消息被相关联的终端主机接收时,可以初始化通过拥塞反应协调器的速率降低。拥塞反应协调器可以基于拥塞消息减少传输速率以解决网络拥塞。当前发送速率可以被设置为目标速率RT(t),以及当前速率可以被按照因数减少,如下:其中Gd可以常量并且可以被配置为1/128的值。可以通过两个模块,字节计数器(BC)和速率增加计时器(RIT),执行通过拥塞反应协调器的速率增加。BC和RIT可以工作在两个阶段中,分别基于BC,SBC的状态和RIT,的状态的快速恢复(FR)和主动增加(AI)。如果SBC的值可以小于阈值ST(其中在拥塞反应协调器的基线方式中,ST可以被设置为值5),BC可以是处在FR阶段。备选地,BC可以是处在AI阶段。类似地,在FR或AI阶段中的RIT状态可以基于和ST的比较来确定。最初,BC和RIT两者可以是处在FR阶段中,以及SBC和可以被设置为0。如果BC可以是处在FR或AI阶段,那么SBC可以针对被传送的每个值BL或BL/2字节而分别增加1。值BL可以包括完成一个字节计数器循环而传送的字节的数量。RIT也可以功能上与BC相似。在FR阶段中,RIT可以针对每个Tms的持续时间而将SRIT增加1。然而,在AI阶段中,SRIT可以针对每个T/2ms的持续时间而增加1。当SBC或SRIT可以各自地增加时,BC和RIT两者可以唤起速率增加事件。当速率增加事件可能发生时,当前速率Ro(t)和目标速率RT(t)可以被如下更新:其中如果BC或RIT可能是处在AI阶段中,则值RAI可以是常量目标速率增量。如果BC和RIT两者都可能是处在AI阶段中,则值RHAI可以是常量目标速率增量。图3A和3B示出根据本文所描述的至少一些实施例布置的、用于数据中心网络的拥塞管理系统的仿真的示例。如图300所示,拥塞管理系统可以将拥塞控制智能从数据中心网络的交换机中去耦合。因此,拥塞管理系统可以简化拥塞控制计算、比如FQCN计算的实施和升级。拥塞管理系统也可以包含分布式拥塞源检测机制。此外,数据中心网络的交换机可以包括无状态交换机,其可以监测拥塞状态、向拥塞控制器302转发拥塞状态、以及消除存储每个流量信息的必要性。此外,拥塞管理系统可以包含有拥塞通知和控制计算,不受每个流量信息的影响。拥塞管理系统也可以针对跨层拥塞管理方案而被部署。可以通过使用网络仿真器2(NS2)来评估包含FQCN计算的拥塞管理系统的示例的性能。NS2可以包括基于离散事件的网络仿真器,其对各种网络仿真提供支持,比如在许多网络拓扑下的有线和无线网络上的TCP、路由协议、和多播协议。网络拓扑可以包括哑铃拓扑和停车场拓扑。哑铃拓扑可以包括通过如下路由从源向目的地传送网络流量的网络拓扑,该路由可以包括在连接源和目的地的两个交换机或路由器之间的链路。停车场拓扑可以包括通过如下路由从源向目的地传送网络流量的网络拓扑,该路由可以包括在连接源和目的地的多个交换机或路由器之间的一条或多条链路。可以在FQCN计算的评估中使用默认QCN配置。当交换机的链路容量是10Gbps时,评估可以包括w=2、Gd=1/128、T=15ms、ST=5、BL=150千字节(KB)、RAI=5Mbps和RHAI=50Mbps的值,而当交换机的链路容量是1Gbps时,RAI=0.5Mbps和RHAI=5Mbps。在示例场景中,拥塞管理系统的仿真可以使用哑铃拓扑,如图300所示,或者可以使用停车场拓扑。在哑铃拓扑和停车场拓扑中,链路可以连接交换机、源(304、312)和目的地(306、314)。源(304、312)和目的地(306、314)可以是终端主机。交换机可以具有10Gbps的链路容量和50μs往返时间(RTT)延迟。在每个拓扑中,拥塞控制器302可以被连接到交换机以确定拥塞状态信息和实施拥塞管理。在拥塞控制器302和交换机之间的链路可以具有1Gbps的链路容量和100μsRTT延迟。拥塞检测器可以被包含到交换机中的每一个中。业务流量监测器和拥塞反应协调器被附接到包括源(304、312)和目的地(306、314)的终端主机中的每一个。业务流量监测器可以每1ms更新流速。仿真可以包括在哑铃拓扑和停车场拓扑中进行静态积压业务流量实验。静态积压业务流量可以被用于验证包含在拥塞管理系统的FQCN计算是否可以在终端主机之间分配公平份额速率以及维护队列长度稳定性。恒定比特速率(CBR)业务流量可以被用于在仿真中仿真静态积压业务流量。可以使用150KB的交换机缓冲区以及可以将平衡队列长度Qeq设置为33KB。在哑铃拓扑中,四个静态积压业务流量可以被同时发起以穿过在与拥塞相关联的路由器R1308、和路由器R2310之间的单瓶颈链路。交换机服务速率可以分别在仿真时间的两秒和四秒处从10Gbps降低到1Gbps以及可以增加回到10Gbps。每个业务流量的业务流速和路由器R1308和路由器R2310之间的交换机队列长度可以在示图320中分别通过图形322和图形324来表示。在停车场拓扑中,可以从源i向目的地i(i∈[1,6])传送数据的六个静态积压业务流量可以以1秒的间隔依次地被发起。每个业务流量的业务流速以及路由器R1308和路由器R2310之间的、路由器R2310和路由器R3之间的、和路由器R3和路由器R4之间的交换机队列长度可以在示图320中分别通过图形326和图形328来表示。实验可以验证FQCN计算(其可以在拥塞管理系统中被实施)是否可以成功地将公平份额速率分配给积压业务流量中的每一个,同时维持队列长度稳定在最佳平衡队列长度,例如33KB。使用在拥塞控制器302和交换机之间的增加到0.1ms的RTT延迟,可以在哑铃拓扑和停车场拓扑中可以获得类似的结果。已经使用可以在其中实现用于数据中心网络的拥塞管理系统的特定的系统和处理描述了图1至3B中的示例。用于数据中心网络的拥塞管理系统的实施例不限于根据这些示例的系统和处理。图4图示根据本文所描述的至少一些实施例布置的、可以被用于提供用于数据中心网络的拥塞管理系统的通用计算设备。例如,计算设备400可以被用于提供与用于数据中心网络的拥塞管理系统有关的计算机程序产品。在示例基础配置402中,计算设备400可以包括一个或多个处理器404和系统存储器406。存储器总线408可以被用于处理器404和系统存储器406之间的通信。在图4中通过内部虚线内的那些部件图示基础配置402。取决于期望配置,处理器404可以是任何类型,包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)、或其任何组合。处理器404可以一个多级缓存,例如等级缓存存储器412、处理器核414、和寄存器416。示例处理器核414可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSP核)或其任何组合。示例存储器控制器418也可以与处理器404一起使用,或在一些实施方式中,存储器控制器418可以是处理器404的内部部分。取决于期望的配置,系统存储器406可以是任何类型,包括但不限于易失性存储器(例如RAM)、非易失性存储器(例如ROM、闪存等)或其任何组合。系统存储器406可以包括操作系统420、拥塞控制器422的数据和程序数据424。拥塞控制器422可以包括FQCN模块426。除了别的数据以外,程序数据424可以包括如本文所描述的拥塞状态、流速信息、和拥塞状态信息等。计算设备400可以具有附加特征或功能、和附加接口以促进基础配置402和任何期望的设备和接口之间的通信。例如,总线/接口控制器430可以被用于促进经由存储接口总线434而在基础配置402和一个或多个数据存储设备432之间的通信。数据存储设备432可以是是可移除存储设备436、一个或多个非可移除存储设备438、或其组合。仅举几例,可移除存储设备和非可移除存储设备的示例可以包括磁盘设备,例如软盘驱动器和硬盘驱动器(HDD);光盘驱动器,例如压缩盘(CD)驱动器、数字多功能盘(DVD)驱动器、固态驱动器(SSD)和磁带驱动器等。示例计算机存储介质可以包括以任何方法或技术实施的、用于信息的存储的易失性和非易失性、可移除和非可移除介质,该信息例如计算机可读指令、数据结构、程序模块或其他数据。系统存储器406、可移除存储设备436和非可移除存储设备438可以是计算机存储介质的示例。计算机存储介质可以包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)、固态驱动器或其他光学存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或可被用于存储期望信息和可以被计算设备400访问的任何其他介质。任何这样的计算机存储介质可以是计算设备400中的一部分。计算设备400也可以包括用于促进从各个接口设备(例如,一个或多个输出设备442、一个或多个外围接口444和一个或多个通信设备466)经由总线/接口控制器430到基础配置402通信的接口总线440。示例输出设备442中的一些可以包括图形处理单元448和音频处理单元450,其可以被配置为经由一个或多个A/V端口452而通信到各种外部设备(例如显示器或扬声器)。一个或多个示例外围接口444可以包括串行接口控制器454或并行接口控制器456,其可以被配置为经由一个或多个I/O端口458而与外部设备通信(例如输入设备(例如,键盘、鼠标、笔、音频输入设备、触摸输入设备等))或其他外围设备(例如,打印机、扫描仪等)通信。示例通信设备466可以包括网络控制器460,其可以被布置为促进经由一个或多个通信端口464而在网络通信链路上与一个或多个其他计算设备的通信。一个或多个其他计算设备462可以包括服务器、客户端装备、和可比较的设备。网络通信链路可以是通信介质的一个示例。通信介质可以被计算机可读指令、数据结构、程序模块、调制数据信号(例如载波或其他传输机制)中的其他数据实施,并且可以包括任何信息递送介质。“调制数据信号”可以是具有以编码信号中的信息的方式设置或改变的调制数据信号特征中的一个或多个特征的信号。举例来说,并且不限制,通信介质可以包括有线介质(例如有线网络或直接有线连接),和无线介质(例如声学的、射频(RF)、微波、红外(IR)和其他无线介质)。本文所使用的计算机可读介质可以包括存储介质和通信介质两者。计算设备400可以被实施为通用或专用服务器、主机、或相似的计算机的一部分,其包括上述功能中的任何功能。计算设备400也可以被实施为包括便携式计算机和非便携式计算机配置它们两者的个人计算机。示例实施例也可以包括用来提供用于数据中心网络的拥塞管理系统的方法。这些方法可以以包括本文所描述的结构的许多方式来实施。一个这样的方式可以是通过使用本公开中描述的类型的设备的机器操作。另一可选方式可以是执行方法的单个操作中的一个或多个,结合一个或多个人类操作员执行一些操作而其他操作可以通过机器来执行。在其他示例中,可以使人机交互自动化,比如通过可以被机器自动化的预先选择的标准。图5是图示根据本文所描述的至少一些实施例布置的、用来提供用于数据中心网络的拥塞管理系统的示例方法的流程图,拥塞管理系统可以通过拥塞控制器(202、和302)来实施,拥塞控制器可以是计算设备400的示例。示例方法可以被包括由块522、524、526、528、和530中的一个或多个图示的一个或多个操作、功能或动作,以及在一些实施例中,可以通过计算设备、比如图4中的计算设备400来执行。在块522-530中描述的操作也可以被作为计算机可执行指令而被存储在计算机可读介质中、比如计算设备510中的计算机可读介质520。用于提供用于数据中心网络的拥塞管理的示例过程可以以块522开始,“接收来自一个或多个拥塞检测器的数据中心网络的拥塞状态”,其中拥塞控制器202可以接收来自拥塞检测器的拥塞状态,其中拥塞检测器中的每一个与数据中心网络的交换机相关联。块522之后可以是块524,“接收来自终端主机的一个或多个业务流量监测器的流速信息”,其中拥塞控制器202可以接收来自业务流量监测器的流速信息,其中业务流量监测器中的每一个与终端主机相关联。块524之后可以是块526,“基于拥塞状态和流速信息来确定拥塞状态信息”,其中可以确定拥塞状态信息。块526之后可以是块528,“基于拥塞状态信息和流速信息,识别作为终端主机的子集的、引起数据中心网络的网络拥塞的一个或多个拥塞源”,其中可以识别一个或多个拥塞源。块528之后可以是块530,“向一个或多个拥塞源传送一个或多个拥塞消息以允许通过终端主机的拥塞反应协调器执行用来解决网络拥塞的一个或多个动作”,其中可以向一个或多个拥塞源发送拥塞消息。图6图示根据本文所描述的至少一些实施例布置的、用来提供用于数据中心网络的拥塞管理系统的示例计算机程序产品的框图。在一些示例中,如图6所示,计算机程序产品600可以包括信号承载介质602,其可以包括一个或多个这样的机器可读指令604,当被例如处理器执行时可以提供本文所描述的功能。例如,参考图4中的处理器404,如本文所描述,响应于通过介质602向处理器404递送指令604,拥塞控制器422和FCQN模块426可以进行图6中所示的一个或多个任务,以便提供用于数据中心网络的拥塞管理系统。这些指令中的一些可以包括例如:接收来自一个或多个拥塞检测器的数据中心网络的拥塞状态;接收来自终端主机的一个或多个业务流量监测器的流速信息;基于拥塞状态和流速信息,确定拥塞状态信息;基于拥塞状态信息和流速信息,识别作为终端主机的子集、引起数据中心网络的网络拥塞的一个或多个拥塞源;以及向一个或多个拥塞源传送一个或多个拥塞消息以允许通过终端主机的拥塞反应协调器执行用来解决网络拥塞的一个或多个动作。在一些实施方式中,如图6所示的信号承载介质602可以包含计算机可读介质606,比如但不限于硬盘驱动器、固态驱动器、压缩盘(CD)、数字多功能盘(DVD)、数字带、存储器等。在一些实施方式中,信号承载介质602可以包含可记录介质608,比如但不限于存储器、读/写(R/W)CD、R/WDVD等。在一些实施方式中,信号承载介质602可以包含通信介质610,比如但不限于数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路等)。例如,程序产品600可以通过RF信号承载介质而被传输到处理器404中的一个或多个模块,其中信号承载介质602可以通过无线通信介质610(例如,符合IEEE802.11标准的无线通信介质)传输。根据一些示例,可以描述在数据中心网络的拥塞控制器处执行的方法以便提供用于数据中心网络的拥塞管理。该方法可以包括接收来自一个或多个拥塞检测器的、数据中心网络的拥塞状态;接收来自终端主机的一个或多个业务流量监测器的流速信息;基于拥塞状态和流速信息,确定拥塞状态信息;基于拥塞状态信息和流速信息,识别作为终端主机的子集的、引起数据中心网络的网络拥塞的一个或多个拥塞源;以及向一个或多个拥塞源传送一个或多个拥塞消息以允许通过终端主机的拥塞反应协调器执行用来解决网络拥塞的一个或多个动作。根据其他示例,该方法还可以包括针对来自终端主机的传输中的每一个,通过对测量的业务量以比特为单位进行计数,来确定终端主机的流速信息。传输速率可以根据流速信息来估计。响应于确定终端主机中的一个或多个包括超过速率阈值的、传输速率中的一个或多个,终端主机的一个或多个可以被识别为一个或多个拥塞源。根据进一步示例,该方法还可以包括将一个或多个拥塞检测器放置在数据中心网络的一个或多个交换机处以允许一个或多个拥塞检测器通过基于队列的监测方案来检测拥塞状态。可以通过基于采样概率的来自终端主机的传输包的样本来确定终端主机中的两个之间的拥塞链路。可以根据样本来计算拥塞值。此外,响应于确定拥塞值是负值,拥塞链路可以被识别以及拥塞链路和终端主机中的该两个终端主机的地址可以作为拥塞状态信息而从一个或多个拥塞检测器向拥塞控制器传送。根据其他示例,该方法还可以包括:基于拥塞状态信息和流速信息来执行拥塞控制智能计算以确定网络拥塞;以及通过多播传输向一个或多个拥塞源发送一个或多个拥塞消息。可以针对在流速信息内描述的业务流量来估计公平份额值,以及根据业务流量与公平份额值的比较可以确定一个或多个拥塞源。可以通过由与一个或多个拥塞源相关联的拥塞反应协调器的子集,通过一个或多个拥塞源中的每一个的传输速率的减小来解决网络拥塞。此外,可以通过由终端主机中的一个或多个终端主机的拥塞反应协调器的子集,通过终端主机中的并非一个或多个拥塞源的一个或多个终端主机的传输速率的增大来解决网络拥塞,以恢复先前失去的带宽以及探测数据中心网络的可用带宽。根据一些示例,可以描述用来管理用于数据中心网络的网络拥塞的系统。该系统可以包括通信地耦接到一个或多个拥塞检测器的拥塞控制器,一个或多个拥塞检测器中的每一个通信地耦接到终端主机的一个或多个业务流量监测器和一个或多个拥塞反应协调器。拥塞控制器可以被配置为接收数据中心网络的拥塞状态;接收来自终端主机的业务流量监测器的流速信息;基于拥塞状态和流速信息,确定拥塞状态信息;基于拥塞状态信息和流速信息,识别作为终端主机的子集、引起数据中心网络的网络拥塞的一个或多个拥塞源;以及向一个或多个拥塞源传送一个或多个拥塞消息以允许通过一个或多个拥塞反应协调器执行用来解决网络拥塞的一个或多个动作。根据其他示例,一个或多个业务流量监测器还可以被配置为针对来自终端主机的传输中的每一个,对所测量的业务量以比特为单位进行技术,以便确定终端主机的流速信息。可以根据流速信息来估计传输速率,以及响应于确定终端主机中的一个或多个包括超过速率阈值的传输速率的一个或多个,终端主机中的一个或多个可以被识别为一个或多个拥塞源。根据进一步示例,一个或多个拥塞检测器还可以被配置为通过基于采样概率的、来自终端主机的传输包的样本,来确定终端主机中的两个之间的拥塞链路,并且根据样本来计算拥塞值。响应于确定拥塞值是负值,拥塞链路可以被识别以及拥塞链路和终端主机中的该两个终端主机的地址可以作为拥塞状态信息而向拥塞控制器传送。根据其他示例,拥塞控制器可以进一步被配置为估计流速信息内描述的针对业务流量的公平份额值;根据业务流量与公平份额值的比较来确定一个或多个拥塞源;以及通过多播传输向一个或多个拥塞源发送一个或多个拥塞消息。根据进一步示例,一个或多个拥塞反应协调器还可以被配置为通过由与一个或多个拥塞源相关联的拥塞反应协调器的子集,通过一个或多个拥塞源中的每一个的传输速率的减小来解决网络拥塞,以及通过由终端主机中的一个或多个终端主机的拥塞反应协调器的第二子集,通过终端主机中的并非一个或多个拥塞源的一个或多个终端主机的传输速率的增大来解决网络拥塞,以恢复先前失去的带宽以及探测数据中心网络的可用带宽。根据一些示例,可以描述具有存储在其上的用来提供用于数据中心网络的拥塞管理的指令的计算机可读非暂态性存储介质。响应于通过处理器的执行,该指令可以使处理器执行与上述描述的动作相似的动作。在系统的方面的硬件和软件实施方式之间有很小的区别;硬件或软件通常(但并不总是,因为在某些情况下,硬件和软件之间的选择可以变得重要)是表示成本vs.效率权衡的设计选择。存在各种媒介,通过该媒介可以影响本文所描述的过程和/或系统和/或其他技术(例如,硬件、软件、和/或固件),以及优选的媒介将会随着其中部署过程和/或系统和/或其他技术的情况而改变。例如,如果实施者确定速度和精确度是最重要的,那么实施者可以选择主要为硬件和/或软件的媒介;如果灵活性是最重要的,那么实施者可以选择主要为软件实施方式;或者,又一次备选地,实施者可以选择硬件、软件、和/或固件的组合。前面的详细说明已经通过框图、流程图和/或示例的使用阐述了设备和/或过程的各个实施例。在这些框图、流程图和/或示例包含一项或多项功能和/或操作的程度上,本领域技术人员将理解的是,可以通过各种各样的硬件、软件、固件或几乎其任意组合来单独地和/或统一地实现这些框图、流程图或示例内的每项功能和/或操作。在一个实施例中,本文所描述的主题的多个部分可经由专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其它集成形式来实现。然而,本领域技术人员将理解,在本文公开的实施例的一些方面可以整体地或部分地等同实现为集成电路、在一个或多个计算机上运行的一个或多个计算机程序(例如,在一个或多个计算机系统上运行的一个或多个程序)、在一个或多个处理器上运行的一个或多个程序(例如,在一个或多个微处理器上运行的一个或多个程序)、固件、或几乎其任何组合,并且根据本公开,设计电路和/或编写用于软件和/或固件的代码将在本领域技术人员的技能范围内。本公开不受在本申请中所描述的特定实施例的限制,这些特定实施例意在为各个方面的示例。对于本领域技术人员将明显的是,能够进行各种改进和变型,而不偏离其精神和范围。根据前面的说明,除了本文列举的那些之外,在本公开范围内的功能上等同的方法和装置对于本领域技术人员而言将是明显的。旨在使这些改进方案和变型落在随附权利要求书的范围内。本公开仅受随附权利要求书连同这些权利要求书所赋予权利的等同物的整个范围的限制。应当理解,本公开并不限制于当然可以改变的特定的方法、试剂、混合物成分或生物系统。还应理解,本文所使用的术语是为了描述特定实施例的目的,而不意在是限制性的。另外,本领域技术人员将理解,本文所描述的主题的机制能够作为程序产品以各种形式被分发,并且本文所描述的主题的说明性示例都适用,而不论实际上用于实施分布的特定类型的信号承载介质如何。信号承载介质的示例包括但不限于以下:可记录型介质,比如软盘、硬盘驱动器、压缩盘(CD)、数字多功能盘(DVD)、数字带、计算机存储器、固态驱动器等;以及传输型介质,比如数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路等)。本领域技术人员将理解,在本领域内常见的是以本文阐述的方式来描述设备和/或过程,此后利用工程实践将这些所描述的设备和/或过程集成到数据处理系统中。也即,本文所描述的设备和/或过程的至少一部分可以通过合理量的实验而被集成到数据处理系统中。本领域技术人员将理解,典型的数据处理系统通常包括如下中的一种或多种:系统单元壳体、视频显示设备、比如易失性和非易失性存储器的存储器、比如微处理器和数字信号处理器的处理器、比如操作系统的计算实体、驱动器、图形用户接口、和应用程序、比如触摸板或触摸屏的一个或多个交互设备、和/或包括反馈环和控制电动机的控制系统(例如,用于感应传动定位系统的位置和/或速度的反馈;用于移动和/或调整组件和/或数量的控制电动机)。系统可使用任何适合的商业上可用的组件来实现,比如在数据计算/通信和/或网络计算/通信系统中常见的那些组件。本文所描述的主题有时说明了包含在其它不同的组件内的不同组件或与其它不同的组件连接的不同组件。应当理解,这些所描绘的体系结构仅是示例性的,并且实际上可以实施实现相同功能的许多其它结构。在概念意义上,实现相同功能的任何组件的布置有效地“被关联”,使得实现期望的功能。因此,在此处被组合以实现特定功能的任何两个组件可视为彼此“关联”以使得实现期望功能,而不论结构或中间组件如何。同样,任意两个如此关联的组件还可视为彼此“可操作地连接”、或“可操作地耦合”以实现期望的功能,并且能够如此关联的任意两个组件还可视为彼此“能够可操作地耦合”以实现期望功能。可操作耦合的具体示例包括但不限于物理上连接和/或物理交互的部件和/或无线交互和/或无线交互的组件和/或逻辑上交互和/或能够逻辑上交互的组件。关于本文中基本上任何复数和/或单数术语的使用,本领域技术人员可以根据上下文和/或应用适当地从复数变换成单数和/或从单数变换成复数。为了清晰的目的,本文中明确地阐明了各种单数/复数置换。本领域技术人员将理解,一般地,本文所使用的术语,尤其是随附权利要求(例如,随附权利要求的主体)中所使用的术语,通常意在为“开放式”术语(例如,术语“包括”应当解释为“包括但不限于”,术语“具有”应解释为“至少具有”,术语“包含”应解释为“包含但不限于”,等等)。本领域技术人员还硬理解,如果意图表达引导性权利要求记述项的具体数量,该意图将明确地记述在权利要求中,并且在不存在这种记述的情况下,不存在这样的意图。例如,为辅助理解,下面的随附权利要求可能包含了引导性短语“至少一个”和“一个或多个”的使用以引导权利要求记述项。然而,这种短语的使用不应解释为暗指不定冠词“一”或“一个”引导权利要求记述项将包含该所引导的权利要求记述项的任何特定权利要求局限于仅包含一个该记述项的实施例,即使当同一权利要求包括了引导性短语“一个或多个”或“至少一个”以及比如不定冠词“一”或“一个”的(例如,“一”和/或“一个”应当解释为表示“至少一个”或“一个或多个”);这同样适用于对于用于引导权利要求记述项的定冠词的使用。另外,即使明确地记述了被引导的权利要求记述项的具体数量,本领域技术人员将理解到这些记述项应当解释为至少表示所记述的数量(例如,没有其它修饰语的裸记述“两个记述项”表示至少两个记述项或两个以上的记述项)。本领域技术人员将理解的是,为了任何以及全部的目的,比如在提供所撰写的说明书方面,本文所公开的全部范围也涵盖了任何和全部的可能的子范围及其子范围的组合。能够容易地认识到,任何所列范围都充分地描述了同一范围并且使同一范围分解成至少均等的两半、三份、四份、五份、十份等等。作为非限制示例,本文所论述的每个范围能够容易地分解成下三分之一、中三分之一和上三分之一,等等。本领域技术人员还将理解,比如“多达”、“至少”、“大于”、“小于”等所有的语言包括所记述的数量并且是指如上文所论述的随后能够分解成子范围的范围。最后,本领域技术人员将理解,范围包括每个独立的成员。例如,具有1-3个单元的组是指具有1个、2个或3个单元的组。类似地,具有1-5个单元的组是指具有1个、2个、3个、4个、或5个单元的组,等等。虽然本文已经公开了各个方面和实施例,但是其它的方面和实施例对于本领域技术人员而言将是明显的。本文所公开的各个方面和实施例是为了示例的目的而不意在限制,其中真正的范围和精神是通过随附的权利要求表示的。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1