CN104320350B - 用于提供基于信用的流控制的方法及系统 - Google Patents
用于提供基于信用的流控制的方法及系统 Download PDFInfo
- Publication number
- CN104320350B CN104320350B CN201410150381.1A CN201410150381A CN104320350B CN 104320350 B CN104320350 B CN 104320350B CN 201410150381 A CN201410150381 A CN 201410150381A CN 104320350 B CN104320350 B CN 104320350B
- Authority
- CN
- China
- Prior art keywords
- stream
- credit
- business stream
- packets
- packet
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/39—Credit based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
Abstract
本公开涉及用于提供基于信用的流控制的方法及系统。在一种实施例中,一种系统包括适于接收具有多个分组的业务流的启动器端口以及硬件处理器和与该处理器集成和/或可以由该处理器执行的逻辑块,该逻辑块适于基于与业务流相关的至少一个标准把业务流归类为一个业务类,该业务类选自多个业务类,还适于把业务流的一个或多个分组发送到由业务流的所述一个或多个分组指定的目标端口,直到分配给目标端口的流信用的量不足以给附加的分组服务。在更多的实施例中描述了用于提供基于信用的流控制的其它系统、方法及计算机程序产品。
Description
技术领域
本发明涉及数据中心管理和文件系统,并且尤其,本发明涉及利用流控制信用在无损以太网中指定优先级。
背景技术
目前可用的无损以太网网络不允许基于信用的流控制,在基于信用的流控制中,业务流的优先级是基于可用的信用量来确定的。相反,传统的无损以太网网络,尤其是其中所使用的交换机,在问题或难题出现并且分组不可以传输的时候简单地丢弃该分组,并且在有些情况下,稍后重新发送被丢弃的分组。这种方法在分组不可传输的时候给网络增加了附加的等待时间,并且,即使在无损以太网网络中,也可以导致有些分组永久性丢失。
以太网变得越来越流行。有些传统的交换式构架网络可以使用基于信用的流控制,诸如InfiniBand和其它网络协议,但是这些基于信用的流控制系统既不适用也不能在以太网网络中使用或者利用现有的以太网框架格式和协议。
发明内容
在一种实施例中,一种系统包括适于接收具有多个分组的业务流的启动器端口以及硬件处理器和与该处理器集成和/或可以由该处理器执行的逻辑块,该逻辑块适于基于与业务流相关的至少一个标准把业务流归类为一个业务类,该业务类选自多个业务类,还适于把业务流的一个或多个分组发送到由业务流的所述一个或多个分组指定的目标端口,直到分配给目标端口的流信用的量不足以给附加的分组服务。
根据另一种实施例,用于提供基于信用的流控制的计算机程序产品包括其中包含程序代码的计算机可读存储介质,该程序代码可以被处理器读取/执行,以便利用处理器接收具有多个分组的业务流、基于与业务流相关的至少一个标准把业务流归类为一个业务类,该业务类选自多个业务类,并且把业务流的一个或多个分组发送到由业务流的所述一个或多个分组指定的目标端口,直到分配给目标端口的流信用的量不足以给附加的分组服务。
在另一种实施例中,用于提供基于信用的流控制的方法包括接收具有多个分组的业务流、基于与业务流相关的至少一个标准把业务流归类为一个业务类,该业务类选自多个业务类,并且把业务流的一个或多个分组发送到由业务流的所述一个或多个分组指定的目标端口,直到分配给目标端口的流信用的量不足以给附加的分组服务。
本发明的其它方面与实施例将从以下具体描述变得清楚,当结合附图考虑时,以下具体描述通过例子说明了本发明的原理。
附图说明
图1根据一种实施例说明了网络体系架构。
图2根据一种实施例示出了可以与图1的服务器和/或客户端关联的代表性硬件环境。
图3是根据一种实施例的虚拟化数据中心的简化图。
图4根据一种实施例示出了服务器。
图5根据一种实施例示出了网络。
图6示出了根据一种实施例的方法的流程图。
具体实施方式
以下描述是为了说明本发明的通用原理而不意于限定本文所要求保护的发明性概念。另外,本文所述的特定特征可以结合其它所述特征在各种可能的组合与置换中的每一种中使用。
除非在本文中另外专门定义,否则所有术语都要赋予其最广泛可能的解释,包括从本说明书暗示的含义以及本领域技术人员所理解的和/或在词典、论文等中定义的含义。
还必须指出,如在本说明书和所附权利要求中所使用的,除非另外规定,否则单数形式“一个”和“所述”包括复数的所指对象。还应当理解,当在本说明书使用时,术语“包括”规定所述特征、整数、步骤、操作、元素和/或部件的存在,但是并不排除一个或多个其它特征、整数、步骤、操作、元素、部件和/或其组的存在或添加。
以下描述公开了用于在无损以太网网络中实现基于信用的流控制的系统、方法及计算机程序产品的几种优选实施例。特别地,基于信用的流控制机制允许把以太网协议和现有的或新的InfiniBand、远程直接存储器访问(RDMA)等协议融合到单个、公共的链路类型中,例如经汇融合以太网的RDMA(RoCE)和/或关于无损以太网的互联网广域RDMA协议(iWARP)方法。
在一种通用的实施例中,一种系统包括适于接收具有多个分组的业务流的启动器端口以及硬件处理器和与该处理器集成和/或可以由该处理器执行的逻辑块,该逻辑块适于基于与业务流相关的至少一个标准把业务流归类为一个业务类,该业务类选自多个业务类,还适于把业务流的一个或多个分组发送到由业务流的所述一个或多个分组指定的目标端口,直到分配给目标端口的流信用的量不足以给附加的分组服务。
根据另一种通用的实施例,用于提供基于信用的流控制的计算机程序产品包括其中包含程序代码的计算机可读存储介质,该程序代码可以被处理器读取/执行,以便利用处理器接收具有多个分组的业务流、基于与业务流相关的至少一个标准把业务流归类为一个业务类,该业务类选自多个业务类,并且把业务流的一个或多个分组发送到由业务流的所述一个或多个分组指定的目标端口,直到分配给目标端口的流信用的量不足以给附加的分组服务。
在另一种通用的实施例中,用于提供基于信用的流控制的方法包括接收具有多个分组的业务流、基于与业务流相关的至少一个标准把业务流归类为一个业务类,该业务类选自多个业务类,并且把业务流的一个或多个分组发送到由业务流的所述一个或多个分组指定的目标端口,直到分配给目标端口的流信用的量不足以给附加的分组服务。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“逻辑块”、“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置、处理器或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分、具有一条或多条电线的电连接、光纤等传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括传统的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置或者其它设备上,使得一系列操作步骤在计算机、其它可编程装置或者其它设备上执行,以产生一种计算机实现的过程,使得在所述计算机或者其它可编程装置上执行的指令提供用于实现在所述流程图和/或框图中的一个或多个方框中所指定的功能/动作的过程。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
图1根据一种实施例说明了网络体系架构100。如图1中所示,提供了多个远程网络102,包括第一远程网络104和第二远程网络106。网关101可以耦合在远程网络102和近端网络108之间。在所给出的网络体系架构100的背景下,网络104、106每个都可以采取包括但不限于LAN、诸如互联网的WAN、公共交换电话网络(PSTN)、内部电话网等的任何形式。
在使用中,网关101充当从远程网络102到近端网络108的入口。因此,网关101可以充当能够指引到达网关101的给定数据分组的路由器,以及为给定分组提供进出网关101的实际路径的交换机。
另外还包括的是耦合到近端网络108并且可以经网关101从远程网络102访问的至少一个数据服务器114。应当指出,数据服务器114可以包括任何类型的计算设备/群件。耦合到每个数据服务器114的是多个用户设备116。这种用户设备116可以包括台式计算机、膝上型计算机、手持式计算机、打印机或者任何其它类型的逻辑块。应当指出,在一种实施例中,用户设备111还可以直接耦合到任何网络。
一个外围设备120或者一系列外围设备120,例如,传真机、打印机、联网的和/或本地的存储单元或系统等,可以耦合到网络104、106、108中的一个或多个。应当指出,数据库和/或附加的组件可以与耦合到网络104、106、108的任何类型的网络元件一起使用或者集成到其中。在本描述的背景下,网络元件可以指网络的任何组件。
根据有些方法,本文所描述的方法和系统可以利用虚拟系统和/或模拟一个或多个其它系统的系统和/或在其上实现,诸如模拟IBM z/OS环境的UNIX系统、虚拟托管MICROSOFT WINDOWS环境的UNIX系统、模拟IBM z/OS环境的MICROSOFT WINDOWS系统等。在有些实施例中,这种虚拟化和/或模拟可以通过VMWARE软件的使用来增强。
在更多的方法中,一个或多个网络104、106、108可以代表统称为“云”的系统的集群。在云计算中,共享资源,诸如处理能力、外围设备、软件、数据、服务器等,以按需关系提供给云中的任何系统,由此允许服务跨许多计算系统的访问和分布。云计算通常涉及云中所运行的系统之间的互联网连接,但是连接系统的其它技术也可以使用。
根据一种实施例,图2示出了与图1的用户设备116和/或服务器114关联的代表性硬件环境。这个图说明了具有经系统总线212互连的诸如微处理器的中央处理单元210以及多个其它单元的工作站的典型硬件配置。
图2中所示的工作站包括随机存取存储器(RAM)214、只读存储器(ROM)216、用于把诸如盘存储单元220的外围设备连接到总线212的I/O适配器218、用于把键盘224、鼠标226、扬声器228、麦克风232和/或诸如触摸屏和数码相机(未示出)的其它用户接口设备连接到总线212的用户接口适配器222、用于把工作站连接到通信网络235(例如,数据处理网络)的通信适配器234以及用于把总线212连接到显示设备238的显示器适配器236。
工作站可以在其上驻留操作系统,诸如Microsoft操作系统(OS)、MAC OS、UNIX OS等。应当认识到,优选实施例还可以在除所提到的那些之外的平台和操作系统上实现。优选实施例可以用JAVA、XML、C和/或C++语言或者其它编程语言编写,以及面向对象的编程方法。可以使用越来越多地用于开发复杂应用的面向对象的编程(OOP)。
现在参考图3,根据一种实施例示出了覆盖网络300的概念图。覆盖网络可以利用任何覆盖技术、标准或协议,诸如虚拟可扩展局域网(VXLAN)、分布式覆盖虚拟以太网(DOVE)、利用通用路由封装的网络虚拟化(NVGRE),等等。
为了虚拟化网络服务,除简单地在设备之间提供构架通信路径(连接性)之外,可以在分组移动通过网关314的时候对分组服务,这种服务为在非虚拟网络312和虚拟网络A304及虚拟网络B306之间移动的分组提供路由和转发。一个或多个虚拟网络304、306在物理的(实际的)网络基础设施302中存在。如本领域技术人员将知道的,网络基础设施302可以包括通常与网络基础设施关联和/或在其中使用的任何组件、硬件、软件和/或功能性,包括,但不限于,交换机、连接器、电线、电路、电缆、服务器、主机、存储介质、操作系统、应用、端口、I/O等。这种网络基础设施302支持至少一个非虚拟网络312,这可以是传统网络。
每个虚拟网络304、306可以使用任意数量的虚拟机(VM)308、310。在一种实施例中,虚拟网络A304包括一个或多个VM308,而虚拟网络B306包括一个或多个VM310。如图3中所示,VM308、310不被虚拟网络304、306共享,而是在任何给定的时间都只专门包括在仅一个虚拟网络304、306中。
根据一种实施例,覆盖网络300可以包括利用一个或多个分布式线路卡(DLC)互连的一个或多个单元交换域可伸缩架构组件(SFC)。
通过具有“扁平交换机”体系架构,多个VM可以跨体系架构容易且有效地移动数据。一般来说,让VM跨层-3(L3)域、在一个子网到另一个子网、互联网协议(IP)子网到IP子网之间等移动是非常困难的。但是,如果该体系架构在非常大的层-2(L2)域中类似于一个大的扁平交换机,则有助于VM尝试跨体系架构移动数据。
参考图4,示出了根据一种实施例的服务器400。如所示出的,服务器400包括提供并管理虚拟交换机(vSwitch)404的虚拟化平台402。
根据一种实施例,覆盖功能性可以向服务器400提供。为了实现这个功能,虚拟化平台402可以与多个分立的软件引擎交互,诸如隧道管理器406、ARP和转发信息库(FIB)管理器408、用于提供互联网协议多播(IPMC)支持的引擎410、分组封装与解封装引擎412,以及本领域中已知的任何其它覆盖增强软件引擎。在另一种实施例中,这些模块或软件引擎可以在NIC416或者经NIC416连接到服务器400的覆盖网关上展现(enact)。
虚拟化平台402还为任意数量的VM414,在图4中示为VM(0)、VM(1)、VM(2)、…、VM(n),提供支持。VM414可以布置在一个或多个虚拟网络中(每个虚拟网络都可以具有不同的虚拟网络标识符(VNID),诸如VNID1、VNID2、VNID3等)。示例性虚拟网络中VM414的数量与布置不是要对可能的配置进行限制,因为附图仅仅是示出了VM414和虚拟网络的示例性布置。
在图5中,根据一种实施例示出了网络500。如所示出的,具有当代NIC416的服务器400和具有覆盖网关(GW)NIC508的服务器506可以在同一个网络500中使用。根据一种实施例,一个或多个以太网交换机510可以包括在网络500中,而且可以提供互连到和/或让所有设备、交换机510、虚拟交换机,以及网络500中的任何其它设备可访问的一个网关交换机502。网关交换机502可以用于互连服务器400、506和以太网交换机510,或者服务器400、506和以太网交换机510可以彼此直接连接。每个以太网交换机510和网关交换机502都包括用于连接到其的多个端口504。在其它实施例中,当代NIC416可以经可以提供某种覆盖功能性的虚拟化平台(VP)402通信。此外,网络500可以包括适于根据每个个别端口的优先级把流信用分配给网络500中所有端口的信用管理器512。
根据一种实施例,根据各个以太网业务优先级级别,业务控制信用可以用于确定来自流的哪个分组要在交换环境中处理。根据一种实现,流信用可以在特定网络中的端点进入端口和端点离开端口之间交换,而不在其间的任何中间交换机上交换。换句话说,可以使用跨网络架构的端到端信用交换。在各种实施例中,中间交换机可能不会以任何有意义的途径意识到这种信用交换,它们可以简单地传递任何必要的信息,以实现信用交换过程,或者它们可以更完全地包含在信用交换中。
启动器(源)系统或设备以及接收器(目标)系统或设备具有可用于为以太网流管理和处理“付费”的预定信用分配。每个以太网流都包括多个分组,并且为了清晰,所提供的描述将参考一个或多个分组(a packet or packets),但是本文所述的概念、系统、方法及设备可以对整个流或者一个或多个分组使用,如本领域技术人员在阅读本描述之后将理解的。
目标通知启动器它有多少流信用可用于支付一个或多个分组的服务,并且启动器适于只发送已经在流信用中已为其付费的多个分组,直到这些分配的流信用用光并且不能支付更多的处理。在这种背景下,服务可以包括为了把分组从启动器发送到目标而对分组执行的任何操作,诸如切换操作、安全操作、状态检查、完整性检查、重新路由操作,等等。
在请求要对分组和/或流执行的服务之前,启动器保留这个交易所需的信用量。然后,在执行服务的时候,交换流信用。在目标向启动器发回指示成功传输的确认时,对于分组的成功传输,流信用在启动器上重新开始。可以有多个启动器与单个目标通信,但是每个启动器需要具有为所请求服务保留的必需流信用,否则服务就不能执行。
根据一种实施例,信用管理器把流信用分配给具有向分组提供服务的可用带宽的端口。根据有些方法,这个信用管理器可以是在服务器或某个其它系统上执行的集中式的系统、设备或软件。在其它方法中,信用管理器可以是分布式的,具有在需要的时候交换关于流信用交换和使用的信息的能力,用于在桥接两个或更多个分布式信用管理器的网络的部分之间的无缝交互。
例如,当使用集中式信用管理器时,启动器端口可以请求流信用,用于把(具有给定大小的)分组发送到(由该分组指定的)期望的目标端口。如果目标端口具有可用的流信用,则它向启动器端口提供所需的流信用量并且分组从启动器端口发送到目标端口,用于为其服务。如果目标端口没有可用于给分组服务的足量的流信用,则启动器端口不发送分组。为此,最终启动器端口会变得被未发送的分组拥塞,并且因为这种拥塞,启动器端口会丢弃未发送的分组(如目前所做的),对向启动器端口提供分组的数据源施加背压,或者执行这两种动作的组合。
集中式的信用管理器驻留在位于网络的数据路径中的构架交换机(或者某种其它合适的设备、系统或软件应用)上,并且可以被网络中的每个物理交换机和虚拟交换机访问。
在一种实施例中,集中式的信用管理器可以位于网关交换机中(该网关交换机已经满意对所有虚拟的和物理的其它交换机的访问)。网络管理员可以控制信用管理器(分布式的或集中式的)、启用用于信用分配的策略、限制某些端口,和/或使某些端口能够以全线速运行(一直都有最大吞吐量)。
此外,带宽切片可以在一个或多个端口上提供,使得,如果一条较高数据率的链路被几条较低数据率的链路共享,则每条较低数据率的链路可以独立地从目标端口请求流信用。这种方法需要建立流信用对或者队列空间对,在启动器端口和目标端口上可用。这种实施例有可能增加硬件中为网络接口卡(NIC)适配器和交换机提供的存储量,并且在结合InfiniBand和RDMA类型网络使用时还为流管理提供显著的好处。
在一种实施例中,可以利用数据平面以太网分组执行流信用交换。换句话说,数据平面以太网分组(具有可以被启动器和目标端口识别的标准的或修改后的帧格式)可以在端口之间交换,以便在把分组发送到目标端口以便为其服务之前确定足够流信用的存在。在一种备选实施例中,数据中心桥接(DCB)加密控制协议(ECP)可以用于交换流信用,但是这消耗网络上的更多分组和带宽。
在传统的系统中,延长距离的链路会遭受缓冲区信用饥饿,因为它们具有更长的等待时间并且有效地“存储”在网络中飞行的分组。由于更长的链路等待时间,启动器端口可能需要空闲下来等待来自目标端口的响应以重新开始其信用。在一种实施例中,为了解决这个问题,根据一种实施例,长距离链路可以被识别并向信用管理器指示,而且信用管理器可以自动地应用等待时间策略,该策略给这些识别出的长距离链路更多的信用,以补偿延长的距离。在一种备选实施例中,信用管理器被告知信道延长设备,诸如波分多路复用器(WDM)及本领域中已知的其它此类设备,而且这些设备可以具有用于这种长距离链路的特殊信用分配。
在有些实施例中,单独的数据缓冲区可以为长距离交换机端口或WDM设备提供,以便在接收到信用之前存储数据帧,使得,如果在分组仍然在途中的时候链路发生故障,则能够恢复。作为替代,假设虽然成功传输的分组的确认还没有到来但是即将到来,可以提供投机的信用,这允许启动器端口在没有足够流信用的情况下发送数据分组。如果已知链路是可靠的,则这种方法使数据能够在长距离链路持续地流化,而无需暂停,让流信用从目标端口分配回启动器端口。
在另一种实施例中,可以提供更复杂一些的架构网络,其中进入的分组在进入的交换机端口归类,然后交换机从信用管理器请求用于分组的特殊业务类的流信用。换句话说,交换机可以具有用于关于一个业务类的一个特殊优先级的信用,但是分组可以根据不同的业务类(具有不同的优先级)来归类。交换机在进入的分组的业务类中可能不具有足够的流信用把分组发送到目标端口。在这种情形的一个例子中,假设进入的分组被归类为业务类三,并且交换机具有用于业务类四的流信用,但是对于业务类三没有流信用或者流信用不足。在一种实现中,交换机在获得足够的业务类三流信用之前将不能够发送分组。在一种进一步复杂化架构网络的备选实现中,可以支持流信用优先级重映射,其中交换机和信用管理器能够用一种类型的流信用换取另外一种。继续以上的例子,在这种情形下,交换机可以请求用其可用的业务类四流信用换取一定数量的业务类三流信用,以便发送分组。在一种方法中,流信用可以按一对一的基础交换。在另一种方法中,依赖于所交换的流信用所代表的优先级级别的不同,业务类的优先级可以用于确定每个业务类之间不均衡的交易量。以这种方式,有可能通过从不同的业务类重新分配可用的流信用来发送分组。
在一种这样的实施例中,一种系统可以包括适于接收具有多个分组的业务流的启动器端口以及硬件处理器和与该处理器集成和/或可以由该处理器执行的逻辑块。该逻辑块适于基于与业务流相关的至少一个标准把业务流归类为一个业务类,该业务类选自多个业务类,并且把业务流的一个或多个分组发送到由业务流的所述一个或多个分组指定的目标端口,直到分配给目标端口的流信用的量不足以给附加的分组服务。
此外,在各种实施例中,该逻辑块可以进一步适于在把业务流的一个或多个分组发送到目标端口之前确定给业务流的所述一个或多个分组服务的必需的流信用的量。在另一种方法中,该逻辑块可以进一步适于,在发送业务流的一个或多个分组之前:向由所述一个或多个分组指定的目标端口发送第一通知,该第一通知指示给业务流的所述一个或多个分组服务的必需的流信用的量,以及从目标端口接收第二通知,该第二通知指示目标端口上可用于给业务流的所述一个或多个分组服务的流信用的量。
在另一种进一步的实施例中,该逻辑块可以进一步适于,在发送业务流的一个或多个分组之前:当目标端口具有可用于给业务流的所述一个或多个分组服务的必需的流信用的量时,在目标端口上保留在给业务流的所述一个或多个分组服务时要与启动器端口交换的必需的流信用的量。
在一种方法中,第一和第二通知可以经数据平面以太网分组或者本领域中已知的某种其它合适的技术交换。
根据另一种实施例,关于业务流的至少一个标准选自以下构成的组:业务流的优先级、业务流的至少一个分组的VLAN标识符,以及业务流的一个或多个分组的大小,等等。
此外,在有些实施例中,网关交换机可以包括所述处理器,该网关交换机可以被网络中的所有物理交换机和虚拟交换机访问。
在另一种实施例中,指示一个或多个分组的业务类的标识符可以根据VLAN标识符存储在所述一个或多个分组的头部的三位VLAN标记部分中。
在一种实现中,系统可以包括信用管理器,该信用管理器适于根据每个个别端口的优先级把流信用分配给网络中的所有端口。根据另一种实施例,除其它可能的技术之外,启动器和目标端口之间延长的距离经以下至少一个来解决:增加信用管理器分配给目标端口的、要用于与其间具有延长的距离的启动器端口交换的流信用的量,以及在接收到先前发送的分组的成功传输之前以投机的方式允许启动器端口发送附加的分组。
根据一种方法,该逻辑块可以进一步适于从信用管理器请求对应于业务流的一个或多个分组的业务类的流信用。此外,在有些方法中,该逻辑块可以进一步适于请求信用管理器把对应于第一业务类的流信用重新映射到对应于第二业务类的流信用。
根据一种实施例,软件定义的覆盖网络可以具有用于把带宽指定给帧优先级的公共管理框架。这种软件定义的覆盖网络可以实现为对任何覆盖网络协议的扩展,诸如分布式覆盖虚拟以太网(DOVE)、VXLAN、NVGRE,等等,而且可以与来自任何供应商的现有虚拟化平台一起使用,诸如VMWare的ESX、IBM的PowerVM、KVM、Microsoft的Hyper-V、Xen等。结果产生的虚拟化平台虚拟交换机(vSwitch)允许把数据组织成优先级组(也称为“业务类”),每个类都被指定一个优先级组标识(ID),诸如数字、字母数字串等。优先级分组是由交换机业务管理器创建的并且存储在其中。此外,在有些方法中,优先级分组不需要特殊的帧格式,以便被能够实现业务优先级处理的设备识别。
在一种实施例中,可以使用与已经包括在分组头部中的VLAN标记大小相符的八个优先级(保留3位用于VLAN标记,23=8个可能的优先级组),例如,以每个虚拟端口为基础,为每个虚拟端口实现。这使得有可能根据优先级分组把可用链路带宽的不同片段分配给不同的业务类。交换机物理层上的一些带宽可以利用其它方法分配,而剩余的可用带宽可以根据本文所公开的实施例独立地管理。
根据一种方法,来自不同业务类的业务可以提供规定的或期望的数据率,通常是10Gbit/s,但是任何数据率都可以按每个交换机、每个端口或者每个业务类为基础来使用。假定对VM调度的处理器硬件支持是可用的(诸如从由Intel、IBM功率处理器所使用的CPU等),带宽分配限额可以利用大约±1%的精度来实现。
根据另一种实施例,全链路带宽的一些片段可以为较低优先级的业务保留并且只可以被较低优先级的业务类使用,以便确保链路的全部带宽不被较高优先级的业务类独占。
与只可以分配带宽的物理交换机相反,在vSwitch中,以太网带宽分配和计算或处理功率分配都可以提供。当vSwitch接收到分组时,它识别最高优先级的分组并且通过根据业务优先级分配其处理资源来对分组的接收作出响应。相反,利用ETS的物理交换机分配物理资源,诸如缓冲区空间和执行级别,但不分配处理资源。
vSwitch不具有这些资源,而是完全在由服务器托管的虚拟化平台中的软件中实现。相反,vSwitch通过把最高优先级的分组处理指定给用于处理器线程执行的较高优先级任务来实现优先级处理,同时调度器相应地分配可用的处理器循环。因而,两个级别的资源分配被管理,一个级别是对网络带宽管理的,而其它资源是为vSwitch处理器带宽管理的。
另一种实施例允许识别较高优先级分组的能力。这些分组由托管vSwitch的服务器的NIC驱动器识别。然后,NIC驱动器通知中间虚拟化平台内核较高的分组优先级,然后该内核进而通知vSwitch。
此外,在有些方法中,事先计算优先级分组的个数并且把网络和处理器带宽指定给这些优先级分组。例如,优先级指定在较高数据率的NIC(100Gbit/s或更多)上与较低数据率的NIC上可以不同,该较低数据率的NIC共享不同类型的较低带宽业务,或者用于诸如经以太网的光纤信道(FCoE)存储和/或经融合以太网(RoCE)集群的远程直接存储器访问(RDMA)的应用。当较高优先级的分组到达vSwitch时,虚拟化平台内核调度器更经常地选择与那个分组关联的过程,并且因此具有可用于较高优先级任务执行的足够的处理器带宽。
现在参考图6,根据一种实施例示出了用于基于信用的流控制方法600的流程图。除其它之外,在各种实施例中,方法600可以根据本发明在图1-5中所绘出的任一环境中执行。当然,如本领域技术人员在阅读本说明书之后将理解的,比图6中具体描述的更多或更少的操作可以包括在方法600中。
方法600的每个步骤都可以由操作环境的任何合适组件执行。例如,在一种实施例中,方法600可以部分地或完全地由服务器托管的vSwitch、服务器、信用管理器、交换机业务控制器、处理器(诸如CPU、ASIC、FPGA等)、NIC、虚拟化平台等,或者网络系统的任何其它合适的设备或组件,执行。
如图6中所示,方法600可以用操作602启动,在那里接收包括多个分组的业务流,诸如通过使用交换机的启动器端口,物理的或者虚拟的。任何数量的分组可以包括在业务流中,而且每个分组可以具有头部、有效载荷以及本领域中已知的其它标准帧格式特征。
在操作604中,基于与业务流相关的至少一个标准,诸如业务流的大小、业务流的优先级、业务流的类型等,业务流被归类为一个业务类。该业务类选自多个业务类。在一种实施例中,有八个业务类可用于从中选择,每个类指示业务流和/或其中一个或多个分组的一个优先级。
在操作606中,业务流的一个或多个分组发送到由业务流的所述一个或多个分组指定的目标端口,直到分配给该目标端口的流信用的量不足以给附加的分组服务。以这种方式,带宽分配可以跨各个端口在网络中以公平的方式被平衡和/或控制。
在操作608中,在把业务流的一个或多个分组发送到目标端口之前,确定给业务流的所述一个或多个分组服务的必需的流信用的量。以这种方式,目标端口能够保留必需的流信来接收并为一个或多个分组服务。
在操作610中,第一通知可以发送到由一个或多个分组指定的目标端口,该第一通知指示给业务流的给一个或多个分组服务的必需的流信用的量。以这种方式,目标端口被告知给所述一个或多个分组服务的必需的流信用的量。
在操作612中,第二通知可以从目标端口接收,该第二通知指示目标端口上可用于给业务流的一个或多个分组服务的流信用的量。以这种方式,启动器端口被通知目标端口是否能够给业务流的所述一个或多个分组服务,并且可以确定是把所述一个或多个分组发送到目标端口、丢弃所述一个或多个分组,还是对分组的源施加压力来减慢其接收速率。
在操作614中,当目标端口具有可用于给业务流的一个或多个分组服务的必需的流信用的量时,在目标端口上可以保留在给业务流的所述一个或多个分组服务时要与启动器端口交换的必需的流信用的量。根据一种实施例,第一通知和第二通知可以经数据平面以太网分组交换。
在另一种实施例中,与业务流相关的至少一个标准可以选自以下构成的组:业务流的优先级、业务流的至少一个分组的VLAN标识符、业务流的一个或多个分组的大小,等等。
根据另一种方法,网关交换机可以执行所述方法,该网关交换机可以被网络中的所有物理交换机和虚拟交换机访问。此外,在一种方法中,指示一个或多个分组的业务类的标识符可以根据VLAN标识符存储在所述一个或多个分组的头部的三位VLAN标记部分中。此外,在有些方法中,利用信用管理器,流信用可以根据每个个别端口的优先级分配给网络中的所有端口。
为了解决启动器和目标端口之间延长的距离,使用以下技术中的至少一种:1)信用管理器分配给目标端口的、要用于与其间具有延长的距离的启动器端口交换的流信用的量增加,使得有更多的流信用可用于在目标和启动器端口之间交换;以及2)在接收到先前发送分组的成功传输的指示之前,以投机的方式允许启动器端口发送附加的分组,由此允许附加分组发送,在其它情况下这种发送将由于端口之间的距离而被延迟。
在另一种实施例中,方法600还可以包括从信用管理器请求对应于业务流的一个或多个分组的业务类的流信用并且请求信用管理器把对应于第一业务类的流信用重新映射到对应于第二业务类的流信用。以这种方式,当确定其将减轻网络中的拥塞或者以别的方式有助于分组发送与带宽分配时,信用管理器被允许以个体为基础重新映射流信用。
附图中的流程图和框图说明了根据本发明各种实施例的系统、方法及计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、区段或者代码的一部分,所述模块、区段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。还应当指出,在有些备用的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,根据所包含的功能,两个示为连续的方框实际上可以基本并行地执行,或者它们有时也可以按相反的顺序执行。还应当指出,框图和/或流程图中的每个方框以及框图和/或流程图中方框的组合可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
很清楚,以上系统和/或方法的各种特征可以按任何方式组合,而从以上给出的描述产生多种组合。
还将认识到,本发明的实施例可以按代表消费者部署成按需服务的服务的形式来提供。
虽然上面已经描述了各种实施例,但是应当理解,它们的给出仅仅是作为例子,而不是限制。因而,优选实施例的广度和范围不应当受以上描述的任何示例性实施例限制,而是应当只能根据以下权利要求及其等价物来定义。
Claims (17)
1.一种用于提供基于信用的流控制的系统,包括:
启动器端口,适于接收包括多个分组的业务流;以及
硬件处理器和与该处理器集成和/或可以由该处理器执行的逻辑块,该逻辑块适于:
基于与业务流相关的至少一个标准把业务流归类为一个业务类,该业务类选自多个业务类;
请求信用管理器把对应于第一业务类的流信用重新映射到对应于第二业务类的流信用;以及
把业务流的一个或多个分组发送到由业务流的所述一个或多个分组指定的目标端口,直到分配给目标端口的流信用的量不足以给附加的分组服务。
2.如权利要求1所述的系统,其中逻辑块还适于在把业务流的一个或多个分组发送到目标端口之前确定给业务流的所述一个或多个分组服务的必需的流信用的量。
3.如权利要求2所述的系统,其中逻辑块还适于,在发送业务流的一个或多个分组之前:
向由所述一个或多个分组指定的目标端口发送第一通知,该第一通知指示给业务流的所述一个或多个分组服务的必需的流信用的量;以及
从目标端口接收第二通知,该第二通知指示目标端口上可用于给业务流的所述一个或多个分组服务的流信用的量。
4.如权利要求3所述的系统,其中逻辑块还适于,在发送业务流的一个或多个分组之前:
当目标端口具有可用于给业务流的所述一个或多个分组服务的必需的流信用的量时,在目标端口上保留在给业务流的所述一个或多个分组服务时要与启动器端口交换的必需的流信用的量。
5.如权利要求3所述的系统,其中第一和第二通知经数据平面以太网分组交换。
6.如权利要求1所述的系统,其中关于业务流的至少一个标准选自以下构成的组:业务流的优先级、业务流的至少一个分组的虚拟局域网标识符、以及业务流的所述一个或多个分组的大小。
7.如权利要求1所述的系统,其中网关交换机包括所述处理器,该网关交换机可以被网络中的所有物理交换机和虚拟交换机访问。
8.如权利要求1所述的系统,其中指示所述一个或多个分组的业务类的标识符根据虚拟局域网标识符存储在所述一个或多个分组的头部的三位虚拟局域网标记部分中。
9.如权利要求1所述的系统,还包括信用管理器,该信用管理器适于根据每个个别端口的优先级把流信用分配给网络中的所有端口。
10.如权利要求9所述的系统,其中启动器和目标端口之间延长的距离是经以下至少一个来解决的:
增加信用管理器分配给目标端口的、要用于与其间具有延长的距离的启动器端口交换的流信用的量;以及
在接收到先前发送的分组的成功传输的指示之前以投机的方式允许启动器端口发送附加的分组。
11.如权利要求1所述的系统,其中逻辑块还适于从信用管理器请求对应于业务流的所述一个或多个分组的业务类的流信用。
12.一种用于提供基于信用的流控制的方法,该方法包括:
接收包括多个分组的业务流;
基于与业务流相关的至少一个标准把业务流归类为一个业务类,该业务类选自多个业务类;
请求信用管理器把对应于第一业务类的流信用重新映射到对应于第二业务类的流信用;以及
把业务流的一个或多个分组发送到由业务流的所述一个或多个分组指定的目标端口,直到分配给目标端口的流信用的量不足以给附加的分组服务。
13.如权利要求12所述的方法,还包括:
在把业务流的一个或多个分组发送到目标端口之前确定给业务流的所述一个或多个分组服务的必需的流信用的量;
向由所述一个或多个分组指定的目标端口发送第一通知,该第一通知指示给业务流的所述一个或多个分组服务的必需的流信用的量;
从目标端口接收第二通知,该第二通知指示目标端口上可用于给业务流的所述一个或多个分组服务的流信用的量;以及
当目标端口具有可用于给业务流的所述一个或多个分组服务的必需的流信用的量时,在目标端口上保留在给业务流的所述一个或多个分组服务时要与启动器端口交换的必需的流信用的量,
其中第一通知和第二通知是经数据平面以太网分组交换的。
14.如权利要求12所述的方法,其中关于业务流的至少一个标准选自以下构成的组:业务流的优先级、业务流的至少一个分组的虚拟局域网标识符、以及业务流的一个或多个分组的大小,
其中网关交换机执行该方法,该网关交换机可以被网络中的所有物理交换机和虚拟交换机访问;
其中指示所述一个或多个分组的业务类的标识符根据虚拟局域网标识符存储在所述一个或多个分组的头部的三位虚拟局域网标记部分中,以及
其中,利用信用管理器,根据每个个别端口的优先级把流信用分配给网络中的所有端口。
15.如权利要求13所述的方法,其中启动器和目标端口之间延长的距离是经以下至少一个来解决的:
增加信用管理器分配给目标端口的、要用于与其间具有延长的距离的启动器端口交换的流信用的量;以及
在接收到先前发送的分组的成功传输的指示之前以投机的方式允许启动器端口发送附加的分组。
16.如权利要求12所述的方法,还包括:
从信用管理器请求对应于业务流的所述一个或多个分组的业务类的流信用。
17.一种用于提供基于信用的流控制的系统,该系统包括配置为执行如权利要求12-16所述的任何一个方法的所有步骤的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/863,287 | 2013-04-15 | ||
US13/863,287 US9160678B2 (en) | 2013-04-15 | 2013-04-15 | Flow control credits for priority in lossless ethernet |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104320350A CN104320350A (zh) | 2015-01-28 |
CN104320350B true CN104320350B (zh) | 2017-05-31 |
Family
ID=51686720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410150381.1A Active CN104320350B (zh) | 2013-04-15 | 2014-04-15 | 用于提供基于信用的流控制的方法及系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9160678B2 (zh) |
CN (1) | CN104320350B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9160678B2 (en) | 2013-04-15 | 2015-10-13 | International Business Machines Corporation | Flow control credits for priority in lossless ethernet |
US9634944B2 (en) * | 2013-10-24 | 2017-04-25 | Dell Products, Lp | Multi-level iSCSI QoS for target differentiated data in DCB networks |
US8832321B1 (en) * | 2014-02-12 | 2014-09-09 | tw telecom holdings, inc. | External injection of cloud based network functions into network services |
US9742881B2 (en) * | 2014-06-30 | 2017-08-22 | Nicira, Inc. | Network virtualization using just-in-time distributed capability for classification encoding |
US10284485B2 (en) * | 2014-07-08 | 2019-05-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Communication nodes, methods therein, computer programs and a computer-readable storage medium |
US9747249B2 (en) * | 2014-12-29 | 2017-08-29 | Nicira, Inc. | Methods and systems to achieve multi-tenancy in RDMA over converged Ethernet |
EP3097671B1 (en) * | 2015-02-18 | 2021-05-19 | Intel Corporation | Traffic class arbitration based on priority and bandwidth allocation |
US9571408B2 (en) * | 2015-03-04 | 2017-02-14 | Oracle International Corporation | Dynamic flow control using credit sharing |
US9559968B2 (en) * | 2015-03-23 | 2017-01-31 | Cisco Technology, Inc. | Technique for achieving low latency in data center network environments |
WO2016175846A1 (en) * | 2015-04-30 | 2016-11-03 | Hewlett Packard Enterprise Development Lp | Extracting data from network communications |
US10033666B2 (en) * | 2016-06-28 | 2018-07-24 | Intel Corporation | Techniques for virtual Ethernet switching of a multi-node fabric |
CN106341343B (zh) * | 2016-09-14 | 2019-06-18 | 晶赞广告(上海)有限公司 | 一种自动服务降级系统及方法 |
US9847949B1 (en) | 2017-03-17 | 2017-12-19 | Hewlett Packard Enterprise Development Lp | Arbitrating data packets |
US11403137B2 (en) * | 2018-10-10 | 2022-08-02 | Intel Corporation | Method and apparatus for secure data center bridging in a multi-tenant system |
US11349761B2 (en) | 2019-03-08 | 2022-05-31 | Hewlett Packard Enterprise Development Lp | Cost effective congestion isolation for lossless ethernet |
WO2020242474A1 (en) | 2019-05-30 | 2020-12-03 | Hewlett Packard Enterprise Development Lp | Routing nvme-over-fabric packets |
US11777804B2 (en) | 2019-06-11 | 2023-10-03 | Hewlett Packard Enterprise Development Lp | Automatic system provisioning for NVME-over-fabric storage |
CN114788243B (zh) * | 2019-12-31 | 2023-08-22 | 华为技术有限公司 | 调度报文的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1851652A (zh) * | 2006-05-23 | 2006-10-25 | 浙江大学 | 嵌入式sram操作系统进程优先级轮转调度的实现方法 |
CN101040471A (zh) * | 2004-10-22 | 2007-09-19 | 思科技术公司 | 数据中心的以太网扩展 |
CN101399770A (zh) * | 2007-09-27 | 2009-04-01 | 国际商业机器公司 | 在数据中心以太网中的流量控制管理方法、系统和设备 |
US8392571B2 (en) * | 2010-04-30 | 2013-03-05 | Hewlett-Packard Development Company, L.P. | Method and system for allocating bandwidth |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0853405A3 (en) | 1997-01-06 | 1998-09-16 | Digital Equipment Corporation | Ethernet network with credit based flow control |
US6347337B1 (en) | 1999-01-08 | 2002-02-12 | Intel Corporation | Credit based flow control scheme over virtual interface architecture for system area networks |
WO2001080033A2 (en) | 2000-04-17 | 2001-10-25 | Circadence Corporation | System and method for implementing application -independent functionality within a network infrastructure |
US7170905B1 (en) * | 2000-08-10 | 2007-01-30 | Verizon Communications Inc. | Vertical services integration enabled content distribution mechanisms |
US7190667B2 (en) * | 2001-04-26 | 2007-03-13 | Intel Corporation | Link level packet flow control mechanism |
US7042842B2 (en) | 2001-06-13 | 2006-05-09 | Computer Network Technology Corporation | Fiber channel switch |
WO2003019391A2 (en) * | 2001-08-24 | 2003-03-06 | Intel Corporation | A general input/output architecture protocol and related methods to manage data integrity |
US7652988B2 (en) * | 2002-06-04 | 2010-01-26 | Alcatel-Lucent Usa Inc. | Hardware-based rate control for bursty traffic |
US7233570B2 (en) * | 2002-07-19 | 2007-06-19 | International Business Machines Corporation | Long distance repeater for digital information |
US7391728B2 (en) | 2003-12-30 | 2008-06-24 | Cisco Technology, Inc. | Apparatus and method for improved Fibre Channel oversubscription over transport |
US7969971B2 (en) * | 2004-10-22 | 2011-06-28 | Cisco Technology, Inc. | Ethernet extension for the data center |
US7525978B1 (en) * | 2005-04-15 | 2009-04-28 | Altera Corporation | Method and apparatus for scheduling in a packet buffering network |
US8391354B2 (en) | 2007-05-14 | 2013-03-05 | Broadcom Corporation | Method and system for transforming uncompressed video traffic to network-aware ethernet traffic with A/V bridging capabilities and A/V bridging extensions |
EP2211502A1 (en) | 2009-01-22 | 2010-07-28 | IBBT vzw | Management system and method for configuring a network for transferring media data |
US8184648B2 (en) * | 2009-06-18 | 2012-05-22 | Rockstar Bidco, LP | Method and apparatus for implementing control of multiple physically dual homed devices |
US8532098B2 (en) * | 2009-11-30 | 2013-09-10 | Nvidia Corporation | System and method for virtual channel communication |
GB201103665D0 (en) | 2011-03-04 | 2011-04-13 | Univ Cardiff | Correlative microscopy |
US8745264B1 (en) * | 2011-03-31 | 2014-06-03 | Amazon Technologies, Inc. | Random next iteration for data update management |
JP5593517B2 (ja) * | 2011-07-15 | 2014-09-24 | 株式会社日立製作所 | ネットワーク装置及び送信フレームの制御方法 |
US9143557B2 (en) * | 2012-06-27 | 2015-09-22 | Juniper Networks, Inc. | Feedback loop for service engineered paths |
US20140237156A1 (en) * | 2012-10-25 | 2014-08-21 | Plx Technology, Inc. | Multi-path id routing in a pcie express fabric environment |
US9049115B2 (en) * | 2012-12-13 | 2015-06-02 | Cisco Technology, Inc. | Enabling virtual workloads using overlay technologies to interoperate with physical network services |
US9025451B2 (en) * | 2013-01-22 | 2015-05-05 | Emulex Corporation | Positive feedback ethernet link flow control for promoting lossless ethernet |
US9160678B2 (en) | 2013-04-15 | 2015-10-13 | International Business Machines Corporation | Flow control credits for priority in lossless ethernet |
-
2013
- 2013-04-15 US US13/863,287 patent/US9160678B2/en active Active
-
2014
- 2014-04-15 CN CN201410150381.1A patent/CN104320350B/zh active Active
-
2015
- 2015-09-04 US US14/846,690 patent/US9686203B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101040471A (zh) * | 2004-10-22 | 2007-09-19 | 思科技术公司 | 数据中心的以太网扩展 |
CN1851652A (zh) * | 2006-05-23 | 2006-10-25 | 浙江大学 | 嵌入式sram操作系统进程优先级轮转调度的实现方法 |
CN101399770A (zh) * | 2007-09-27 | 2009-04-01 | 国际商业机器公司 | 在数据中心以太网中的流量控制管理方法、系统和设备 |
US8392571B2 (en) * | 2010-04-30 | 2013-03-05 | Hewlett-Packard Development Company, L.P. | Method and system for allocating bandwidth |
Also Published As
Publication number | Publication date |
---|---|
CN104320350A (zh) | 2015-01-28 |
US20140307555A1 (en) | 2014-10-16 |
US9686203B2 (en) | 2017-06-20 |
US20150381510A1 (en) | 2015-12-31 |
US9160678B2 (en) | 2015-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104320350B (zh) | 用于提供基于信用的流控制的方法及系统 | |
US10700979B2 (en) | Load balancing for a virtual networking system | |
US11678093B2 (en) | Networking hardware and software and data center topologies leveraging same | |
CN104104620B (zh) | 用于按优先级进行业务流处理的方法和系统 | |
US9112801B2 (en) | Quantized congestion notification in a virtual networking system | |
US10986041B2 (en) | Method and apparatus for virtual network functions and packet forwarding | |
US9602307B2 (en) | Tagging virtual overlay packets in a virtual networking system | |
CN107278362B (zh) | 云计算系统中报文处理的方法、主机和系统 | |
CN102334112B (zh) | 用于虚拟机网络的方法和系统 | |
US8964600B2 (en) | Methods of forming virtual network overlays | |
US20140056152A1 (en) | Port mirroring in distributed switching systems | |
CN104012057B (zh) | 用于网络光纤信道网络的灵活且可扩缩的增强的传输选择方法 | |
JP2018125837A (ja) | ドメイン間のシームレスサービス機能チェーン | |
US11095716B2 (en) | Data replication for a virtual networking system | |
CN103238301A (zh) | 用于在路由器处管理话务的技术 | |
CN105978817B (zh) | 用于传输数据的方法、存储器和网络适配器 | |
US20160315879A1 (en) | Virtual node having separate control and data planes | |
CN110389711A (zh) | 帮助端点设备实现sr-iov功能的方法、设备和计算机程序产品 | |
CN108881065A (zh) | 基于流的速率限制 | |
Briain et al. | Elastic everything—What of the developing world? | |
Fera et al. | A survey on foundation for future generation internet through network virtualization | |
CN116724546A (zh) | 用于融合以太网上的RDMA(RoCE)云规模多租赁 | |
CN116686277A (zh) | 用于可扩展多租户rdma流量的基于类的排队 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211206 Address after: USA New York Patentee after: Qindarui Co. Address before: USA New York Patentee before: International Business Machines Corp. |
|
TR01 | Transfer of patent right |