CN102487358B - 用于与交换机结构相关的流控制的方法和装置 - Google Patents
用于与交换机结构相关的流控制的方法和装置 Download PDFInfo
- Publication number
- CN102487358B CN102487358B CN201110272723.3A CN201110272723A CN102487358B CN 102487358 B CN102487358 B CN 102487358B CN 201110272723 A CN201110272723 A CN 201110272723A CN 102487358 B CN102487358 B CN 102487358B
- Authority
- CN
- China
- Prior art keywords
- flow control
- packet
- module
- output queue
- edge device
- 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
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
- H04L49/505—Corrective measures
- H04L49/506—Backpressure
-
- 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/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
-
- 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/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1515—Non-blocking multistage, e.g. Clos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种用于与交换机结构相关的流控制的方法和装置。在某些实施例中,装置包括流控制模块,其被设置为,当多级交换机的一级的输出队列的可用容量跨过第一阈值时,则以第一速率接收来自该输出队列的第一数据包。该流控制模块被设置为,当该多级交换机的该级的输出队列的可用容量跨过第二阈值时,则以第二速率接收来自该输出队列的第二数据包。该流控制模块被设置为向该多级交换机的边缘设备发送流控制信号,第一数据包或第二数据包由此边缘设备进入该多级交换机。
Description
技术领域
本发明总体上涉及流控制,并且,特别地,涉及与多级交换机结构相关的流控制。
背景技术
举例来说,从发送器经由物理链路(例如,以太网链接)到接收器的数据传输可能因被设置为接收该数据的队列的拥塞而中断。在有些情况下,由于缓冲区溢出,该中断可能引起行开端(HOL)阻塞和/或导致至少部分数据的损失。已知的流控制协议,例如以太网暂停协议(电机及电子工程师协会(IEEE)802.3x)和优先级暂停协议(IEEE802.1Qbb),在某些应用中可用于减少缓冲区溢出,而且,量化拥塞通告(QCN)协议(IEEE802.1Qau)可用于在具有相对稳定数据流的多跳网络内管理数据拥塞。然而,已知的这些流控制协议,并不能充分解决与多级队列相关的拥塞问题,和/或,并不能充分处理逐跳网络链接内的拥塞的急剧发作,比如,由数据突发所引起的拥塞的急剧发作。
发明内容
因此,需要用于与逐跳网络链接相关的模块间的数据流控制的方法和装置。
在某些实施例中,一种装置包括流控制模块,该流控制模块被设置为,当多级交换机的一级的输出队列的可用容量跨过(cross)第一阈值时,则以第一速率接收来自该输出队列的第一数据包。该流控制模块被设置为,当该多级交换机的该级的输出队列的可用容量跨过第二阈值时,则以第二速率接收来自该输出队列的第二数据包。该流控制模块被设置为向该多级交换机的边缘设备发送流控制信号,而第一数据包或第二数据包由所述边缘设备进入该多级交换机。
附图说明
图1是根据本发明实施例的交换机结构系统的系统框图。
图2是根据本发明另一实施例的交换机结构的示意图。
图3是根据本发明另一实施例的交换机结构系统的部分示意图。
图4是根据本发明另一实施例的输出队列的示意图。
图5是根据本发明另一实施例的数据包的示意图。
图6是根据本发明另一实施例的流控制包的示意图。
图7是根据本发明另一实施例的交换机结构系统的系统框图。
图8是根据本发明另一实施例的交换机结构内模块的示意图。
图9是根据本发明的另一实施例的流控制信号的发送方法的流程图。
具体实施方式
在某些实施例中,一种装置包括流控制模块,该流控制模块被设置为,当多级交换机的一级的输出队列的可用容量跨过第一阈值时,则以第一速率接收来自该输出队列的第一数据包。该流控制模块被设置为,当该多级交换机的该级的输出队列的可用容量跨过第二阈值时,则以第二速率接收来自该输出队列的第二数据包。该流控制模块被设置为向该多级交换机的边缘设备发送流控制信号,第一数据包或第二数据包由所述边缘设备进入该多级交换机。
在某些实施例中,第一阈值比第二阈值低。更特别地,在第一阈值处的输出队列的可用容量要比在第二阈值处的输出队列的可用容量大。相应地,由于输出队列存储了更大数量的数据包且输出队列的可用容量下降了,流控制模块接收更多的数据包。这导致流控制模块向边缘设备发送更大数量的流控制包。统计学上,在输出队列处导致拥塞的源自一个或多个边缘设备的数据流将得到调节。一旦流得到调节,在输出队列处的拥塞就可能减小,从而增大了输出队列的可用容量。
在某些实施例中,一种装置包括分布式交换机结构的第一交换机模块。该第一交换机模块被设置为,从该分布式交换机结构的一组第二交换机模块接收多个数据包,并将该多个数据包存储在输出队列中。该第一交换机模块被设置为,如果输出队列的可用容量跨过阈值,则向带外流控制模块发送该输出队列中的数据包,这样,该带外流控制模块向与该数据包相关的源边缘设备发送流控制信号。
在某些实施例中,所述流控制模块是带外的,因为它并不是在通过该分布式交换机结构的数据包的普通数据流内(例如,在该交换机结构的数据平面的外)。相应地,该流控制模块的运行并不中断和/或减缓通过该交换机结构的数据包的普通数据流。此外,这允许该流控制模块,经由该交换机结构的数据平面的外的低延时的数据通路,向源边缘设备发送流控制包。
在某些实施例中,非暂时性的处理器可读介质存储表示某些指令的代码,该指令使得处理器接收多级交换机的一级的输出队列的可用容量的指示符。该代码表示某些指令,该指令使得处理器发送输出队列中的数据包请求,前提是该输出队列的可用容量的指示符满足条件。该代码还表示某些指令,该指令使得处理器使用第一流控制协议向数据包的源边缘设备发送流控制信号,这样,该源边缘设备使用第二流控制协议向源外围处理设备发送流控制信号。
这里所使用的名词“物理跳”可包括两个模块和/或设备间的物理链路。举例来说,第一模块与第二模块操作性耦合的数据通路可被称为物理跳。或者说,物理跳可以在物理上链接第一模块与第二模块。
这里所使用的名词“单物理跳”可包括系统内的两个模块间的直接物理连接。或者说,单物理跳可以包括链接,两个模块经由该链接而耦合,没有中间模块。相应地,举例来说,如果第一模块经由单物理跳与第二模块耦合,则该第一模块可向该第二模块直接发送数据包,而不是通过中间模块发送这些数据包。
这里所使用的名词“单物理跳”可包括一个物理跳和/或一组物理跳,其在与第一协议相关的网络拓扑结构内为单跳。或者说,根据与第一协议相关的拓扑结构,第一模块和/或设备与第二模块和/或设备经由该物理跳和/或该组物理跳而操作性耦合,其间,不存在中间节点。经由单逻辑跳而连接到第二模块和/或设备的第一模块和/或设备可向该第二模块和/或设备发送数据包,这要使用与该第一协议和第二模块和/或设备相关的目的地址,但不考虑该第一设备与第二设备间的物理跳的数目。在某些实施例中,举例来说,第二协议可使用该第一协议的目的地址在该单物理跳上,将数据包和/或数据单元从该第一模块和/或设备路由到第二模块和/或设备。或者说,当第一模块和/或设备经由第一协议的单逻辑跳向第二模块和/或设备传送数据时,该第一模块和/或设备对待该单逻辑跳就像它正在直接向该第二模块和/或设备发送数据一样。
在某些实施例中,交换机结构可起到部分的单逻辑跳的作用(例如,单大范围综合L2/L3交换机)。在物理上,交换机结构的多个部分可以分布在例如许多机架(chassis)和/或由多物理跳所互联的模块。在某些实施例中,举例来说,该交换机结构的一个处理级可被包括在第一机架,而该交换机结构的另一个处理级可被包括在第二机架。在逻辑上,这两个处理级都可起到部分的单综合交换机的作用(例如,根据第一协议在相同的逻辑跳内),但包括各对处理级之间的独立的单物理跳。或者说,物理跳可在表示与协议相关的单逻辑跳的交换机结构的内操作地耦合各级,其中,所述协议被用于在该交换机结构外对数据进行路由。此外,与用于在该单逻辑跳外对数据进行路由的协议相关的包分类和转送不必出现在单逻辑跳内的各级。在某些实施例中,举例来说,在一个模块和/或设备经由该单逻辑跳向另一个模块和/或设备发送该数据包之前,可出现与第一协议(例如,以太网)相关的包分类和转送。
举例来说,这里所使用的交换机结构内的模块可以是在交换机结构的一级的内定义一个或多个交换机的操作性耦合的电气元件的任意集合和/或组合。在某些实施例中,举例来说,模块可包括存储器、处理器、电迹线(electricaltrace)、光连接器和/或诸如此类的东西。
本说明书中所使用的单数形式“一”、“一个”或“该”包括复数形式,除非上下文有明确说明。因此,举例来说,名词“一个交换机结构”是用来表示单个交换机结构或多个交换机结构的组合。
名词“第一级”、“第二级”等等是指交换机结构内的部分、模块或节点。在某些情况下,这些名词是指给定交换机结构内的特定级。举例来说,三级Clos网包括从入口到出口的三个连续的级;这样的交换机结构具有三个级,这些级可被称为“第一级”(第一级关于从入口到出口的方向)到“第三级”(第三和最后一级关于从入口到出口的方向)。举例来说,图2示出了给定交换机结构内的特定级。然而,在其它情况下,名词“第一级”、“第二级”等等是指该交换机结构内的任意级,并对应于给定级的讨论次序。举例来说,“第一级”可指所讨论的第一级,并可对应于该交换机结构内的任意级(例如,三级Clos网内的第三级),而“第二级”可指该交换机结构内的其余级(例如,三级Clos网内的第二级)。因此,可以理解的是,特定的语境将表明名词“第一级”、“第二级”等等是指交换机结构内的特定序数级,或者,还是指该交换机结构的任意的特定级。
图1示出了根据本发明实施例的交换机结构系统100的示意图。交换机结构系统100包括交换机结构102和多个边缘设备182、184和186。交换机结构系统100与多个外围处理设备114、124和134有效地相互耦合。如同这里所进一步详细描述的那样,外围处理设备114、124和134可以是,举例来说,计算节点、服务节点、路由器和存储节点。在某些实施例中,举例来说,外围处理设备114、124和134包括服务器、存储设备、网关、工作站和/或诸如此类的东西。
使用任何适当的连接,例如,举例来说,光学连接(例如,光缆和光连接器)、电连接(例如,电缆和电连接器)和/或诸如此类的东西,外围处理设备114、124和134可与交换机结构系统100的边缘设备182、184和186操作性耦合。这样,外围处理设备114、124和134被设置为经由边缘设备182、184和186向交换机结构系统100发送数据(例如,数据包和数据单元等)。在某些实施例中,外围处理设备114、124和134与边缘设备182、184和186之间的各个连接是直接链接。这样的链接可被称为是单物理跳链接。在其它的实施例中,经由中间模块,该外围处理设备可与该边缘设备操作性耦合。这样的连接可称为是多物理跳链接。
各边缘设备182、184和186可以是任何被设置为将外围处理设备114、124和134操作地耦合至交换机结构102的设备。在某些实施例中,举例来说,边缘设备182、184和186可以是接入交换机、输入/输出模块、架顶式设备和/或诸如此类的东西。在结构上,边缘设备182、184和186可起到源边缘设备和目的边缘设备这两个作用。相应地,边缘设备182、184和186可向交换机结构102发送并从其接收数据(例如,数据包和/或数据单元的数据流),也可向所连接的外围处理设备114、124和134发送并从其接收数据。
在某些实施例中,边缘设备182、184和186可以是硬件模块和软件模块(在硬件中执行)的组合。在某些实施例中,举例来说,各边缘设备182、184和186可包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP)和/或诸如此类的东西。
边缘设备182、184和186可被设置为准备进入交换机结构102的数据包(例如,以太网包)。举例来说,边缘设备182、184和186可被设置为,在向交换机结构102发送数据包之前,转送、分类和/或修改该数据包的包封装(例如,修改、增加及/或移除头部分、脚注部分和/或该数据包内所包括的任何其它标识符)。与包分类有关的其它详细描述请见美国专利申请:申请号No.12/242,168,题目为“MethodsandApparatusRelatedtoPacketClassificationAssociatedwithaMulti-StageSwitch”(2008年9月30日申请)以及申请号No.12/242,172,题目为“MethodsandApparatusforPacketClassificationBasedonPolicyVectors”(2008年9月30日申请),上述两个专利文献通过引用合并于此。
各边缘设备182、184和186被设置为经由交换机结构102与其他边缘设备182、184和186通信。特别地,交换机结构102被设置为,提供边缘设备182、184和186之间任意点对任意点的相对低延迟的连接性。举例来说,交换机结构102可被设置为在边缘设备182、184和186之间传输(例如,输送)数据。在某些实施例中,交换机结构102最少可有几百个或数千个端口(例如,出口端口和/或入口端口),通过这些端口,边缘设备182、184和186可以传输和/或接收数据。
边缘设备182、184和186可包括一个或多个网络接口设备(例如,40Gb(千兆比特)以太网接口和100Gb以太网接口等等),通过这些网络接口设备,边缘设备182、184和186可向交换机结构102发送并从其接收信号。经由与边缘设备182、184和186操作性耦合的电链路、光链路和/或无线链路,信号可被发送至交换机结构102和/或从其接收。在某些实施例中,边缘设备182、184和186可被设置为,以一个或多个协议(例如,以太网协议、多协议标签交换机(MPLS)协议、光纤信道协议、以太网光纤信道协议、无线带宽相关协议及基于数据单元协议等)为基础,向交换机结构102发送和/或从其接收信号。
如同这里所进一步详细描述的那样,在某些实施例中,边缘设备182、184和186可被设置为向外围处理设备114、124和134发送流控制信号。举例来说,当边缘设备182从交换机结构102内的模块收到流控制信号时,该边缘设备182可向一个或多个外围处理设备114发送流控制信号。类似地,在边缘设备184处,当队列和/或缓冲区的可用容量跨过(例如,小于)阈值时,边缘设备182可向一个或多个外围处理设备114发送流控制信号。
在某些实施例中,边缘设备182、184和186与外围处理设备114、124和134之间的这种流控制信号可以基于任何适当的协议。举例来说,该流控制信号可以基于已知的标准流控制协议,例如,以太网暂停协议(电机及电子工程师协会(IEEE)802.3x)、优先级暂停协议(IEEE802.1Qbb)、量化拥塞通告(QCN)协议(IEEE802.1Qau)、量子流控制协议(QFC)以及任何适当的协议。在其他实施例中,边缘设备182、184、186和外围处理设备114、124、134之间的流控制信号可基于任何适当的协议。
交换机结构102可以是任何将边缘设备182、184和186与其他边缘设备182、184和186操作性耦合的适当交换机结构。在某些实施例中,举例来说,交换机结构102可以是具有多级交换机模块(例如,集成以太网交换机)的Clos网络(例如,无阻塞Clos网络、狭义无阻塞Clos网络和Benes网络)。在某些实施例中,举例来说,交换机结构102可类似于这里所进一步详细描述的图2中所示的三级交换机结构200。在其它实施例中,图1中所示的交换机结构102可包括任意多个级。在这样的实施例中,举例来说,交换机结构102可包括5级、7级或9级。举例来说,所述交换机结构102可以是与共同未决美国专利申请(申请号No.12/495,337题目为“MethodsandApparatusRelatedtoAny-to-AnyConnectivityWithinaDataCenter”(2009年6月30日申请))中所述的数据中心的核心部分相类似的数据中心的核心部分的一部分,上述专利通过引用合并于此。
在某些实施例中,交换机结构102可以是(例如,可用作)单综合交换机(例如,单大范围综合L2/L3交换机)。换句话说,交换机结构102可被设置为如同单逻辑实体(例如,单逻辑网络元素)那样工作。或者说,交换机结构102可以是单逻辑跳的一部分,所述单逻辑跳在第一边缘设备182、184和186与第二边缘设备182、184和186之间(例如,伴随着边缘设备182、184和186与交换机结构102之间的数据通路)。交换机结构102可被设置为连接外围处理设备114、124和134(例如,便于外围处理设备114、124和134间的通信)。在某些实施例中,交换机结构102可被设置为经由接口设备(未示出)而通信,其中,该接口设备被设置为以至少10Gb/s的速率来传输数据。在某些实施例中,交换机结构102可被设置为经由接口设备(例如,光纤信道接口设备)而通信,其中,该接口设备被设置为以某一速率来传输数据,举例来说,2Gb/s、4Gb/s、8Gb/s、10Gb/s、40Gb/s、100Gb/s和/或更快的链接速度。
虽然交换机结构102在逻辑上可以是集中式的,但是,举例来说,出于可靠性,交换机结构102的实现可以是高分布式的。举例来说,在物理上,交换机结构102的多个部分可以分布在许多机架上。在某些实施例中,举例来说,交换机结构102的一个处理级可被包括在第一机架,该交换机结构102的另一个处理级可被包括在第二机架。在逻辑上,这两个处理级都可起到部分的单综合交换机的作用(例如,在相同的逻辑跳内),但具有各对处理级之间的独立的单物理跳。这里描述与交换机结构102的体系相关的更多细节。
在使用中,经由交换机结构系统100,数据包(例如,以太网包)可在外围处理设备114、124和134之间发送。举例来说,经由通路196,数据包可以从第一外围处理设备124′向第二外围处理设备134′发送。经由链接192,该第一外围处理设备124′可向边缘设备184发送数据包。该边缘设备184可因此准备数据包以进入交换机结构102。一旦完成准备,则该边缘设备184经由链接193向交换机结构102发送数据包。交换机结构102内的交换机模块可将数据包路由通过交换机结构102。经由链接194,该数据包通过端口198被发送到边缘设备186。因此,该边缘设备186可使用第一协议经由链接195向第二外围处理设备134′发送数据包。
图2是根据本发明实施例的交换机结构200的示意图。交换机结构200可包括单逻辑跳内的多物理跳。交换机结构200是三级的无阻塞Clos网络,包括第一级240、第二级242和第三级244。第一级240包括模块212。第一级240的各模块212是电子器件和电路的集合。在某些实施例中,举例来说,各模块是专用集成电路(ASIC)。在其它实施例中,多模块载于单ASIC或单芯片封装之上。在又一些其他实施例中,各模块是分立的电气元件的集合。
在某些实施例中,第一级240的各模块212是交换机(例如,包交换机、帧交换机、集成以太网交换机和/或数据单元交换机)。该交换机被设置为,当数据(例如,数据包和数据单元等等)流过交换机结构200时,对该数据进行重定向。在某些实施例中,举例来说,各交换机包括多输入端口,该多输入端口在存储缓冲区上与写接口操作性耦合(图2中未示出)。类似地,一组输出端口在存储缓冲区上与读接口操作性耦合。在某些实施例中,该存储缓冲区可以是使用芯片上静态随机存取存储器(SRAM)而实现的共享存储缓冲区,其为所有每一时间周期(例如,一个或多个时钟周期)写入一个输入数据单元(例如,一部分数据包)或所有数据包的输入端口和所有每一时间周期读取一个输出数据单元或数据包的所有输出端口提供充分的带宽。各交换机的运行类似于可在随后的各时间周期被重新设置的交叉交换机。
第一级240的各模块212包括一组输入端口260,该组输入端口260被设置为当数据(例如,信号、包的单元和数据包等等)进入交换机结构200时接收该数据。在此实施例中,第一级240的各模块212包括相同数目的输入端口260。
类似于第一级240,交换机结构200的第二级242包括模块214。在结构上,第二级242的模块214与第一级240的模块212类似。通过数据通路220,第二级242的各模块214与第一级240的各模块212操作性耦合。在第一级240的给定模块212与第二级242的给定模块214之间的各数据通路220被设置为,便于数据从第一级240的模块212向第二级242的模块214传送。
可用任意一种设置为便于数据从第一级240的模块212向第二级242的模块214传送的方式,来构造在第一级240的模块212与第二级242的模块214之间的数据通路220。在某些实施例中,举例来说,数据通路220是模块间的光连接器。在其它实施例中,数据通路在中面(midplane)内。这样的中面与美国专利申请(申请号No.12/345,500题目为“SystemArchitectureforaScalableandDistributedMulti-StageSwitchFabric”(2008年12月29日申请))中所述的中面相类似,上述专利通过引用合并于此。这样的中面(midplane)可用于将第二级的各模块与第一级的各模块相连。在又一些实施例中,两个或更多模块载于单芯片封装之内,并且,数据通路是电迹线。
在某些实施例中,交换机结构200是无阻塞Clos网络。因此,交换机结构200的第二级242的模块214的数目基于第一级240的各模块212的输入端口260的数目变动。在可重新排列的无阻塞Clos网络(例如,Benes网络)内,第二级242的模块214的数目大于或等于第一级240的各模块212的输入端口260的数目。因此,如果n是第一级240的各模块212的输入端口260的数目,m是第二级242的模块214的数目,则m≥n。在某些实施例中,举例来说,第一级的各模块有5个输入端口。因此,第二级最少有5个模块。通过数据通路,第一级的所有5个模块与第二级的所有5个模块操作性耦合。换句话说,第一级的各模块可向第二级任何模块发送数据。
交换机结构200的第三级244包括模块216。在结构上,第三级244的模块216与第一级240的模块212类似。典型地,第三级244的模块216的数目与第一级240的模块212的数目相等。第三级244的各模块216包括输出端口262,该输出端口262被设置为允许数据离开交换机结构200。第三级244的各模块216包括相同数目的输出端口262。此外,典型地,第三级244的各模块216的输出端口262的数目与第一级240的各模块212的输入端口260的数目相等。相应地,在这样的实施例中,交换机结构200的输入端口的数目可与交换机结构200的输出端口的数目一样。
通过数据通路224,第三级244的各模块216与第二级242的各模块214相连。在第二级242的模块214与第三级244的模块216之间的数据通路224可被设置为,便于数据从第二级242的模块214向第三级244的模块216传送。
可用任意一种设置为便于数据从第二级242的模块214向第三级244的模块216传送的方式,来构造在第二级242的模块214与第三级244的模块216之间的数据通路224。在某些实施例中,举例来说,数据通路224是模块间的光连接器。在其它实施例中,数据通路在中面内。这样的中面可用于将第二级的各模块与第三级的各模块相连。在又一些其他实施例中,两个或更多模块载于单芯片封装之内,并且,数据通路是电迹线。
在某些实施例中,如果交换机结构200内的模块212、214和216是堵塞的(例如,在模块212、214和216处,缓冲区的可用容量跨过了阈值),则与堵塞的模块212、214和216操作性耦合的流控制模块(图2中未示出)可以向一个或多个源边缘设备(例如,边缘设备182、184和186)发送流控制信号。更特别地,与堵塞的模块212、214和216操作性耦合的该流控制模块,可对堵塞的模块212、214和216的缓冲区内的一个或多个数据包进行采样(例如,进行接收)。该流控制模块可分析数据包,以确定该数据包发送自哪个边缘设备,并向该边缘设备发送流控制信号。在接收自流控制模块的流控制信号的基础上,边缘设备可向数据包所源于的外围处理设备(例如,外围处理设备114、124和134)发送流控制信号(例如,IEEE802.3x以太网暂停协议、IEEE802.1Qbb优先级暂停协议、IEEE802.1QauQCN协议和/或诸如此类的协议)。在流控制信号的基础上,该外围处理设备可以中止向边缘设备传送数据包。
举例来说,图3示出了交换机结构系统300的一部分。所示出的部分交换机结构系统300包括交换机320、与该交换机320操作性耦合的流控制模块330以及多个源设备310、311、312和313。源设备310、311、312和313可以与参照图1所描述和示出的边缘设备182、184和186相类似。因而,如同这里所进一步详细描述的那样,源设备310、311、312和313与交换机320操作性耦合,并被设置为向交换机320发送数据包。
交换机320可以与参照图2所描述和示出的交换机结构200的模块212、214和216相类似。因而,交换机320可以是与交换机结构200相类似的交换机结构的一部分。虽然图3中未示出,但交换机320还可以包括一个或多个输出口,这些输出口与其它交换机模块和/或目的设备操作性耦合。因而,交换机320可将数据包从源设备310、311、312和313路由到目的设备(图3中未示出)。
交换机320还包括输出队列350,该输出队列350被设置为,在向其它交换机模块和/或目的设备(图3中未示出)发送接收自源设备310、311、312和313的数据包之前,对该数据包进行缓存。图4详细示出了输出队列350。如图4所示,输出队列350可存储那些等待经由交换机320的输出端口而发送的数据包(例如,DP1-DP114)。输出队列350可以是任何适当的输出队列。在某些实施例中,举例来说,输出队列350如同先入先出(FIFO)缓冲区那样工作。在这样的实施例中,经由输出端口,数据包按照从源设备310、311、312和313的接收顺序而发送。在其它实施例中,数据包可被分派优先级,这样,具有高优先级的数据包移到队列350的前部。在又一些其他实施例中,队列350可被构造和/或分成基多个于优先级的队列。
流控制模块330与交换机320操作性耦合,并被设置为监视输出队列350的可用容量。在某些实施例中,举例来说,交换机320可周期性地(例如,每0.1秒)向流控制模块330发送表示输出队列350的可用容量的指示符。在其它实施例中,流控制模块330可周期性地向交换机320请求该指示符。如同这里所进一步详细描述的那样,以该指示符为基础,流控制模块330可确定是否应向源设备310、311、312和313发送流控制信号。更特别地,流控制模块330可确定输出队列350的可用容量是否已经跨过和/或低于一个或多个阈值(例如,图3中所示的T1、T2和T3)。如同这里所进一步详细描述的那样,流控制模块330可因此向一个或多个源设备310、311、312和313发送流控制信号。
流控制模块330可以是任何适当的硬件模块和/或软件模块(在硬件中执行),这些模块被设置为监视输出队列350的可用容量和/或被设置为定义和发送流控制信号。在某些实施例中,举例来说,流控制模块330可包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP)和/或诸如此类的东西。
在使用中,源设备310、311、312和313可向交换机320发送数据包。这样的数据包可类似于图5中所示的数据包400。因而,数据包400可包括有效载荷414、源标识符410和目的标识符412。源标识符410可以是发送数据包400的源设备310、311、312和313的标识符。举例来说,如果源设备310向交换机320发送数据包400,则源标识符410可以是源设备310的标识符。类似地,目的标识符412可以是包要送达的目的设备的标识符。在某些实施例中,源标识符410和/或目的标识符412可以是因特网协议(IP)地址、媒体存取控制(MAC)地址、光纤信道标识符(FCID)和/或任何其它适当的标识符。
当交换机320从一个或多个源设备310、311、312和313接收数据包时,交换机320将数据包存储在输出队列350中。类似地,当输出端口变得可用时,交换机320将数据包从输出队列350中移除,并经由该输出端口发送该数据包。如果,交换机320以大于它经由输出端口发送数据包的速率,从源设备310、311、312和313接收数据包,则将大量的数据包随着时间被存储在输出队列350中,并且,输出队列350的可用容量将减小。
在某些实施例中,如果输出队列350的可用容量降到第一阈值T1以下但仍大于第二阈值T2,则流控制模块330可以以第一速率对来自输出队列350的数据包进行采样。更特别地,如果输出队列350的可用容量降到该第一阈值T1以下但仍大于该第二阈值T2,则流控制模块330向交换机320发送信号,以请求存储在输出队列350中的数据包。当输出队列350的可用容量保持在该第一阈值T1以下而大于该第二阈值T2时,可周期性地(例如,每0.1秒)以第一速率发送这样的信号。响应于从流控制模块330接收这样的信号,交换机320可从输出队列350向流控制模块330发送数据包(例如,图5中所示的数据包400)。相应地,当输出队列350的可用容量低于该第一阈值T1而大于该第二阈值T2时,交换机320可以以第一速率向流控制模块330发送数据包。在某些实施例中,基于交换机320接收到请求的时间,交换机320可选择发送至流控制模块330的数据包。举例来说,交换机320可发送其在接收到该请求之后由其所接收到的下一数据包。或者说,交换机320可发送其在从流控制模块330接收信号之后立即由其接收到的数据包。在其它实施例中,基于上次保存在队列350中的数据包、保存在队列350中最久的数据包,和/或使用任何其它适当的方法或算法,交换机320可随机地选择数据包。
类似地,如果输出队列350的可用容量降到第二阈值T2或第三阈值T3以下,则流控制模块330可以停止以第一速率对来自输出队列350的数据包进行采样,而开始以第二速率或第三速率对来自输出队列350的数据包分别进行采样。更特别地,当输出队列350的可用容量低于该第二阈值T2而大于该第三阈值T3时,交换机320可以以第二速率向流控制模块330发送数据包。类似地,当输出队列350的可用容量低于该第三阈值T3时,交换机可以以第三速率向流控制模块330发送数据包。在某些实施例中,第二速率大于第一速率,而第三速率大于第二速率和第一速率。在这样的实施例中,当输出队列350的可用容量下降时,发送给流控制模块330的数据包的数目会增加。
流控制模块330所接收的数据包可用于定义发送给源设备310、311、312和313的流控制包。更特别地,流控制模块330可对接收的数据包进行分析,以确定该数据包接收自哪个源设备310、311、312和313。举例来说,如果数据包400(图5中所示)是在流控制模块330处接收的,则流控制模块330可为源标识符410分析数据包400。
使用源标识符410,流控制模块330可定义发送给由源标识符410所标识的源设备310、311、312和313的流控制包。相应地,流控制模块330接收到的数据包400越多(例如,当输出队列350中的拥塞增加且输出队列350的可用容量下降时),则发送的流控制包就越多。如同这里所进一步详细描述的那样,这提高了流控制模块330所接收的一个或多个数据包将包括向交换机320发送最大数目数据包的源设备310、311、312和313的源标识符的概率。相应地,这提高了这样的源设备将接收到被设置为调节来自该源设备的数据流的流控制信号的概率。
图6是流控制包500的示意图。流控制包500包括源标识符510、目的标识符520、优先级标识符530和严重性标识符(severityidentifier)540。流控制包500的源标识符510可以是与交换机320相关的标识符。因而,源标识符510标识出现拥塞的交换机(即,交换机320)。流控制包500的目的标识符520可以是流控制模块所接收的数据包400的源标识符410。或者说,因为流控制包500将发送到发送数据包400的源设备310、311、312和313,所以,数据包400的源标识符410被用作流控制包500的目的标识符520。
流控制包500的优先级标识符530表明该流控制包500在交换机结构系统300中的优先级。在某些实施例中,举例来说,流控制包500的优先级标识符530为“高”。在这样的实施例中,数据包400的优先级标识符可为“低”。相应地,在数据包之前,流控制包通过交换机结构系统300而发送(即,当交换机结构系统300内的模块确定下次要发送输出队列内的哪一个包时,流控制包比数据包优先)。在其它实施例中,优先级标识符530的值可基于任何其它的参量,例如,举例来说,数据包500的严重性标识符540、数据包400的源标识符410、数据包400的目的标识符412和/或诸如此类。
流控制包的严重性标识符540可表明交换机320处的拥塞的严重性。在某些实施例中,举例来说,如果输出队列350的可用容量小于第一阈值T1而大于第二阈值T2,则严重性标识符540可为第一值(例如,“低”)。类似地,如果输出队列350的可用容量小于第二阈值T2而大于第三阈值,或者,如果输出队列350的可用容量小于第三阈值,则严重性标识符540可为第二值(例如,“中”)或第三值(例如,“高”)。
在某些实施例中,经由带外控制平面连接(图3中未示出),流控制模块330向由数据包400的源标识符410所标识的源设备310、311、312和313发送流控制包500。或者说,在某些实施例中,经由一连接,流控制模块330向源设备310、311、312和313发送流控制包500,其中,该连接不同于发送数据包400至交换机320所通过的那个连接(和/或在不同的连接平面的内)。使用这样的带外连接,可减少源设备310、311、312和313从流控制模块330接收流控制包500所花费的时间。举例来说,这样的连接可用于流控制信号,和/或其它控制平面和/或管理平面信号。因而,流控制模块330与源设备310、311、312和313之间的带外连接可以是低延时连接。
在其它实施例中,经由数据平面连接,流控制模块330向由数据包400的源标识符410所标识的源设备310、311、312和313发送流控制包500。或者说,在这样的实施例中,经由一连接,流控制模块330向源设备310、311、312和313发送流控制包500,其中,该连接与发送数据包400至交换机320所通过的那个连接相同(和/或在相同的连接平面的内)。使用优先级标识符530,在交换机结构系统300的数据平面内,可给予流控制信号500优于数据信号的优先级。相应地,在这样的实施例中,与在流控制模块330和源设备310、311、312和313之间发送流控制信号500相关的延时可小于与在源设备310、311、312和313和交换机320之间发送数据包400相关的延时。
源设备310、311、312和313接收流控制包500,并根据严重性标识符540采取适当的行动。在某些实施例中,举例来说,源设备310、311、312和313可标识出数据包源于与该源设备310、311、312和313相耦合的哪个外围处理设备(图3中未示出)(例如,使用流控制包500的源标识符510和/或图6中未示出的流控制包的其它部分),并向该外围处理设备发送流控制消息。在其它实施例中,响应于接收流控制包,源设备310、311、312和313可发送流控制消息至与其耦合的任意一个外围处理设备、源设备310、311、312和313从其接收到最大数目数据包的那个外围处理设备和/或与源设备310、311、312和313相耦合的任何其它外围处理设备。在某些实施例中,这样的流控制消息可以是标准流控制消息,例如,举例来说,IEEE802.3x以太网暂停、IEEE802.1Qbb优先级暂停、IEEE802.1QauQCN、QFC和/或诸如此类。外围处理设备可被设置为,作为接收到流控制消息结果,减少和/或中止向源设备310、311、312和313发送数据包。
在某些实施例中,源设备310、311、312和313可被设置为,在接收流控制包500的基础上,中止和/或减少向交换机320发送数据包。在其它实施例中,源设备310、311、312和313可被设置为,伴随着中止和/或减少该源设备310、311、312和313发送给交换机320的数据包,向外围处理设备发送流控制消息。这种外围处理设备所发送的和/或源设备310、311、312和313所发送的数据包的中止和/或减少,会导致交换机320处只接收到较少的数据包,并因此导致输出队列350中可用容量增加。
在某些实施例中,这种源设备310、311、312和313所发送的和/或一个或多个与该源设备310、311、312和313相耦合的外围处理设备所发送的数据包的减少和/或中止,可以持续一段时间。举例来说,从接收流控制信号算起,再经过预定长的时间之后,源设备310、311、312和313和/或一个或多个与该源设备310、311、312和313相耦合的外围处理设备可以以正常速率重新开始发送数据包。在其它实施例中,这种源设备310、311、312和313所发送的和/或一个或多个与该源设备310、311、312和313相耦合的外围处理设备所发送的数据包的减少和/或中止,可以持续到从流控制模块330接收重新开始消息。在这样的实施例中,在输出队列350的可用容量上升到高于阈值T1、T2和/或T3中的一个或多个之后,流控制模块330可定义重新开始信号并向源设备310、311、312和313发送该重新开始信号。
图7是根据本发明另一实施例的交换机结构系统600的示意图。交换机结构系统600包括交换机结构630、与该交换机结构630操作性耦合的多个边缘设备650以及与该边缘设备650操作性耦合的多个外围处理设备670。如同这里所进一步详细描述的那样,第一外围处理设备670(例如,S1)被设置为,经由第一边缘设备650(例如,E1)、交换机结构630和第二边缘设备650(例如,E3),向第二外围处理设备670(例如,S5)发送数据包。
在结构和功能上,交换机结构630可类似于交换机结构200(参照图2所描述和示出的)。相应地,交换机结构包括与交换机结构630的第一级632相关的模块F1-FN、与交换机结构630的第二级634相关的模块G1-GN以及与交换机结构630的第三级636相关的模块H1-HN。经由数据通路,与第一级632相关的各模块F1-FN同与第二级634相关的模块G1-GN操作性耦合。类似地,与第三级636相关的各模块H1-HN同与第二级634相关的模块G1-GN操作性耦合。可用任意一种设置为便于数据传送的方式,来构造与第一级632相关的模块F1-FN同与第二级634相关的模块G1-GN之间的数据通路,和/或与第二级634相关的模块G1-GN同与第三级636相关的模块H1-HN之间的数据通路。在某些实施例中,举例来说,数据通路包括光连接器、光纤和/或模块间的电连接器。在某些实施例中,数据通路在中面或背面(backplane)内。
图8示出了交换机结构630内的模块G2。虽然所示出的模块G2与交换机结构630的第二级634相关(例如,参见图7),但是,在结构和功能上,与第一级632相关的模块和与第三级636相关的模块可类似于图8中所示的模块G2。模块G2包括多输入端口760、多输出端口770、多输出队列720以及包处理器750。此外,流控制模块730与模块G2操作性耦合。
输入端口760可以是任何适于从与交换机结构630的第一级632相关的模块F1-FN接收数据包的端口。相应地,经由与第一级632相关的模块F1-FN和模块G2之间的数据通路(参照图7),输入端口760可以将该模块G2和该模块F1-FN操作性耦合。类似地,输出端口770可以是任何适于向与交换机结构630的第三级636相关的模块H1-HN发送数据包的端口。相应地,经由与第三级相关的模块H1-HN和模块G2之间的数据通路,输出端口770可以将该模块G2和该模块H1-HN操作性耦合。
在某些实施例中,模块G2包括用于各输出端口770的输出队列720。相应地,如同这里所进一步详细描述的那样,包处理器750可以把将要在给定的输出端口770上发送的数据包存储在它各自的输出队列720中。因而,输出队列720可被设置为,对在模块G2处经由输入端口760而接收的数据包进行缓存。输出队列720可以是任何适当的输出队列。在某些实施例中,举例来说,输出队列720如同先入先出(FIFO)缓冲区那样工作。在这样的实施例中,经由输出端口770,数据包以从包处理器750的接收顺序而发送。在其它实施例中,数据包可被分派优先级,这样,具有高优先级的那些数据包移到输出队列720的前部。在又一些其他实施例中,输出队列720可被构造和/或分成多个基于优先级的队列。
在某些实施例中,输出队列720可以是使用芯片上静态随机存取存储器(SRAM)而实现的共享存储缓冲区的一部分(图8中未示出),其为每一输入端口760每一时间周期(例如,一个或多个时钟周期)写入一个输入数据单元(例如,一部分数据包)或数据包的包处理器750和所有每一时间周期读取一个输出数据单元或数据包的输出端口770提供充分的带宽。共享存储缓冲区可被分区,以包括输出队列720。在某些实施例中,各输出端口770与输出队列720相关。因而,经由输出端口770而发送的数据包被存储和/或缓存在与该输出端口770相关的输出队列720中。
在某些实施例中,输出队列720的大小可以是动态和/或可变的。因而,基于在经由输出端口770而发送的数据包的数目,可以扩展或压缩与该输出端口770相关的输出队列720。举例来说,如果,在第一时间,与O队列1相关的输出端口770具有的缓存的要发送的数据包和/或数据单元的数目,大于与O队列2相关的输出端口770具有的数据包和/或数据单元的数目,则O队列1的大小可以大于O队列2的大小。类似地,如果,在第二时间,与O队列2相关的输出端口770具有的缓存的要发送的数据包和/或数据单元的数目,大于与O队列1相关的输出端口770的数据包和/或数据单元的数目,则O队列2的大小可以大于O队列1的大小。相应地,可基于各种输出队列720的需要和/或要求,动态地分配共享存储缓冲器。
在某些实施例中,各输出队列720可有最大尺寸。这确保了单输出队列720不会以损害另一个也使用共享存储器的输出队列720为代价,而使用该共享存储器大的或不公平的部分。在某些实施例中,当队列720超过它的最大尺寸时,可向流控制模块发送数据包,如同这里所进一步详细描述的那样。在某些实施例中,各输出队列720还可以有最小尺寸。这样的最小尺寸保证各输出队列720可以至少总是处理少量的数据包。
包处理器750可以是任何适当的处理器,其中,该适当的处理器应被设置为从输入端口760接收和/或读取数据包、处理该数据包和/或路由该数据包,以及发送和/或存储该数据包至输出队列720。举例来说,包处理器750可以接收经由输入端口760而接收数据包,其中,该输入端口760将模块G2同与第一级632相关的模块F1-FN操作性耦合。这样的数据包可包括源ID和目的ID,且可类似于图5的数据包400。此外,在某些实施例中,举例来说,数据包可至少包括一部分IP五元组。在这样的实施例中,举例来说,头可包括目的MAC地址、目的IP地址、源MAC地址、源IP地址和/或传输协议。在其它实施例中,头可包括任何其它的与数据包相关的标识信息,例如,举例来说,优先级指示符。
包处理器750可使用头内的信息,以将数据包分派到与数据通路相关的输出队列720,其中,该数据通路把模块G2同与第三级636相关的模块H1-HN操作性耦合。举例来说,基于输出队列720的可用容量、基于散列函数的结果、基于查找表、基于来自中央控制器(图7和图8中未示出)的指示,和/或使用任何其它的方法,包处理器750可随机地分派数据包到输出队列720。这样的散列函数和/或查找表可使用输入作为头值,例如,举例来说,目的MAC地址、目的IP地址、源MAC地址、源IP地址、优先级指示符、传输协议和/或任何其它适当的值。在某些实施例中,举例来说,查找表和/或散列函数可将各输出队列720同一定范围的IP和/或MAC地址关联在一起。
在结构和功能上,流控制模块730可类似于参照图3所描述和示出的流控制模块330。因而,流控制模块730可以是任何适当的硬件模块和/或软件模块(在硬件中执行),这些模块被设置为监视输出队列720的可用容量。在某些实施例中,举例来说,流控制模块730可包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP)和/或诸如此类的东西。在某些实施例中,流控制模块730可包括处理器和存储由该处理器执行的程序代码的存储器。
类似于流控制模块330(图3),流控制模块730可监视输出队列720,并且,如果可用容量降到阈值之下,则向输出队列请求数据包。如同这里所进一步详细描述的那样,响应于数据包的接收,流控制模块730可定义和发送流控制包至发送数据包的那个边缘设备650。在某些实施例中,且如上所述,当输出队列720的可用容量下降时,流控制模块730可以以较高的速率从模块G2请求数据包。相应地,当存储在输出队列720的数据包的数目增加且输出队列720的可用容量下降时,流控制模块730可以定义和发送更多的流控制包。
在某些实施例中,流控制模块730分别地监视各输出队列720。相应地,举例来说,如果输出队列O队列1的可用容量降至阈值以下,则流控制模块730将从O队列1接收数据包,而不是从另一个输出队列720。在这样的例子中,流控制包将被发送至正向模块G2发送数据包的边缘设备650,而该数据包正被放置和/或存储在O队列1中。类似地,举另一个例来说,如果输出队列O队列2的可用容量降至阈值以下,则流控制模块730将从O队列2接收数据包,而不是从另一个输出队列720。在这样的例子中,流控制包将被发送至正向模块G2发送数据包的边缘设备650,而该数据包正被放置和/或存储在O队列2中。这允许各流控制包为输出队列720所特有,而不影响边缘设备650发送数据包至其他各具有大于阈值的可用容量的输出队列720。
在其它实施例中,流控制模块730在总体上监视输出队列720。举例来说,如果输出队列720是单共享存储器缓冲区的一部分,则流控制模块730可监视该单共享存储器缓冲区的可用容量。如果该单共享存储器缓冲区的可用容量降低到阈值以下,则流控制模块730可向该共享存储器缓冲区请求数据包。在某些实施例中,数据包可选自随机输出队列720、存储最大数目数据包的输出队列和/或诸如此类的队列。
在某些实施例中,流控制模块730可包括存储器(未示出)和/或与其相耦合,所述存储器包含向与第一级632相关的模块F1-FN发送流控制信号的历史。这样的历史可包括该流控制信号的发送时间、中止时间周期和/或任何其它与该流控制信号相关的信息。通过减少和/或除去多余的流控制信号,历史的保存可减少在模块间发送的流控制信号的数目。举例来说,如果流控制模块730将流控制信号发送至与第一级632相关的模块F1-FN,则该历史可保证流控制模块730不会在特定的时间周期内向该与第一级632相关的模块F1-FN发送多余和/或重复的流控制信号。举例来说,流控制模块730可被设置为,每10秒钟只向与第一级632相关的特定的模块F1-FN发送单流控制信号。
回到图7,举例来说,外围处理设备670可以是计算节点、服务节点、路由器和存储节点,如同这里所进一步详细描述的那样。在某些实施例中,举例来说,外围处理设备670包括服务器、存储设备、网关、工作站和/或诸如此类的东西。使用任何适当的连接,例如,举例来说,光学连接(例如,光缆和光连接器)、电连接(例如,电缆和电连接器)和/或诸如此类的东西,外围处理设备670可与边缘设备650操作性耦合。因而,外围处理设备670被设置为向边缘设备650发送数据(例如,数据包和数据单元等)。
边缘设备650可以是任何被设置为将外围处理设备670与交换机结构630操作性耦合的设备。在某些实施例中,举例来说,边缘设备650可以是接入交换机、输入/输出模块、架顶式设备和/或诸如此类的东西。仅仅作为图例,边缘设备E1和E2在示图中被显示为源边缘设备,而边缘设备E3在示图中被显示为目的边缘设备。在结构上,边缘设备650(包括E1、E2和E3)可起到源边缘设备和目的边缘设备这两个作用。相应地,边缘设备650可向交换机结构630发送数据,以及从交换机结构630接收数据。
虽然图7中所示的边缘设备E1是同与第一级632相关的模块F1操作性耦合的,但是,边缘设备E1也可同任意数目的与第一级632相关的模块相耦合。此外,虽然图7中所示的边缘设备E1是同单交换机结构630操作性耦合的,但是,边缘设备E1也可同任意数目的与交换机结构630类似的交换机结构相耦合。在某些实施例中,举例来说,边缘设备E1可同与交换机结构630的第一级相关的模块F1和与第二交换机结构(图7中未示出)的第一级相关的模块都相耦合。在这样的实施例中,边缘设备E1可以向模块F1发送数据,也可以向与第二交换机结构的第一级相关的模块发送数据。
在某些实施例中,边缘设备650可被设置为准备数据包,以进入交换机结构630。举例来说,边缘设备650可被设置为,在向交换机结构630发送数据包之前,转送、分类和/或修改该数据包的包封装。在某些实施例中,举例来说,边缘设备650向数据包添加源标识符(例如,源MAC地址和IP地址等)、目的标识符(例如,源MAC地址和IP地址等)和/或任何其它信息。这样的信息可用于将数据包路由通过交换机结构630。
在某些实施例中,边缘设备650可被设置为向外围处理设备670发送流控制信号。举例来说,当边缘设备E1从交换机结构630(例如,流控制模块730)内的流控制模块接收流控制信号的时候,该边缘设备E1可以向一个或多个外围处理设备S1和S2发送流控制信号。类似地,在边缘设备E1处,当队列和/或缓冲区的可用容量跨过(例如,小于)阈值时,边缘设备E1可向一个或多个外围处理设备S1和S2发送流控制信号。
在某些实施例中,边缘设备650与外围处理设备670之间的这种流控制信号可以基于任何适当的协议,其中,所述协议不同于交换机结构630内的模块与边缘设备650之间所使用的流控制协议。举例来说,该流控制信号可以基于已知的标准流控制协议,例如,以太网暂停协议(电机及电子工程师协会(IEEE)802.3x)、优先级暂停协议(IEEE802.1Qbb)、量化拥塞通告(QCN)协议(IEEE802.1Qau)、量子流控制协议(QFC)以及诸如此类的协议。在其它实施例中,边缘设备650与外围处理设备670之间的这种流控制信号可以基于任何其它适当的协议,其中,所述协议包括交换机结构630内的模块与边缘设备650之间所使用的协议。
在使用中,举例来说,外围处理设备S1可被设置为向另一个外围处理设备S5发送数据包。举例来说,图7示出向外围处理设备S5发送数据包的外围处理设备S1。任何经由边缘设备650与交换机结构630操作性耦合的外围处理设备670都可将数据包发送至任何其它经由边缘设备650与交换机结构630耦合的外围处理设备670。
外围处理设备S1可向边缘设备E1发送数据包。在某些实施例中,数据包可包括有效载荷和头。有效载荷可包括发送至外围处理设备S5的数据。头可包括标识信息。在某些实施例中,举例来说,头可至少包括与源和目的外围处理设备670相关的一部分IP五元组。在这样的实施例中,举例来说,头可包括目的外围处理设备MAC地址、目的外围处理设备因特网协议(IP)地址、源外围处理设备MAC地址、源外围处理设备IP地址和/或传输协议标识符。在本例中,目的外围处理设备MAC地址和目的外围处理设备IP地址可与外围处理设备S5相关,而源外围处理设备MAC地址和源外围处理设备IP地址可与外围处理设备S1相关。在某些实施例中,边缘设备E1还可以添加源边缘设备标识符(例如,与E1相关的MAC和/或IP地址)和目的边缘设备标识符(例如,与E3相关的MAC和/或IP地址)。这样的信息可以与将数据包路由通过交换机结构630的查找表相结合使用,所述查找表被示于并且描述于下列专利文献:美国专利申请(申请号No.12/607,162题目为“MethodsandApparatusRelatedt0aDistributedSwitchFabric”(2009年11月18日申请)),上述专利通过引用合并于此。把这样的源和目的特定信息以及将数据包路由通过交换机结构630的查找表相结合使用,可保证源自特定的源并将被发送至特定目的的各数据包将经由相同通路(例如,通过与交换机结构630的各级相关的相同模块)通过交换机结构630而发送。或者说,保持数据包通过交换机结构630从第一边缘设备650发送到第二边缘设备650的顺序。
使用数据包的头的内所包含的信息,边缘设备E1可以决定向哪个模块F1-FN发送该数据包。在某些实施例中,举例来说,边缘设备E1可使用散列函数来决定向哪个模块F1-FN发送该数据包,所述散列函数使用目的外围处理设备MAC地址、目的外围处理设备IP地址、源外围处理设备MAC地址、源外围处理设备IP地址、目的边缘设备标识符、源边缘标识符和/或传输协议标识符作为输入。
在与第一级632相关的模块F1接收数据包之后,模块F1决定向与第二级634相关的模块G2发送数据包。在某些实施例中,举例来说,模块F1可使用散列函数,所述散列函数使用目的标识符和/或源标识符作为输入。基于该散列函数的输入,模块F1可以将数据包转送至与第二级634相关的模块G2。类似地,模块G2可以将数据包转送至与第三级636相关的模块H2。使用目的边缘设备标识符,模块H2可以将数据包转送至目的边缘设备E3。使用目的外围处理设备标识符,边缘设备E3可因此将数据包转送至目的外围处理设备S5。
如以上所讨论的那样,如果拥塞出现在交换机结构630内的模块F1-FN、G1-GN和H1-HN处,则模块F1-FN、G1-GN和H1-HN可以将数据包从该模块处的拥塞队列发送至流控制模块。流控制模块可以定义和发送流控制信号至边缘设备E1(或基于数据包的源的另一边缘设备)。在某些实施例中,边缘设备E1可因此发送流控制信号至外围处理设备S1和/或外围处理设备S2。相应地,在一时间周期内和/或在从流控制模块接收重新开始信号之前,源设备S1和/或S2和/或边缘设备E1可以减少和/或中止向交换机结构630发送数据包。这减少了拥塞队列处所接收的数据包的数目,从而减少了拥塞并增加了该队列处的可用容量。
图9是根据本发明的另一实施例的流控制信号的发送方法800的流程图。方法800包括,在802处,接收多级交换机的一级的输出队列的可用容量的指示符。这样的指示符可由与该多级交换机的该级的模块相关的流控制模块接收。
在804处,如果输出队列的可用容量的指示符满足条件,则发送输出队列内数据包请求。该多级交换机的该级的该模块可以选择发送至流控制模块的数据包。在某些实施例中,基于该多级交换机的该级的模块接收请求的时间、基于上次保存在队列中的数据包、基于保存在队列中最久的数据包,和/或使用任何其它适当的方法或算法,该多级交换机的该级的模块可随机地选择数据包。
在806处,从该多级交换机的该级接收数据包,并且,在808处,分析该数据包,以标识该数据包的源边缘设备的标识符。这样的标识符可被包括在该数据包的头部内。
在810处,使用第一流控制协议向该数据包的源边缘设备发送流控制信号,这样,该源边缘设备使用第二流控制协议向源外围处理设备发送流控制信号。可在该多级交换机内使用该第一流控制协议,而该第二流控制协议可用于向与该多级交换机操作性耦合的设备(例如,外围处理设备)发送流控制信号。举例来说,第一流控制协议可用于在交换机结构的内模块与边缘设备之间发送流控制信号,而第二流控制协议可用于在边缘设备与外围处理设备之间发送流控制信号。在某些实施例中,该第二流控制协议可以是标准流控制协议,例如,举例来说,以太网暂停协议IEEE802.3x、优先级暂停协议IEEE802.1Qbb、QCN协议IEEE802.1Qau、QFC协议和/或诸如此类的协议。
虽然上面描述了各种实施例,但是应当理解为它们仅作为举例而非限制。上述方法中说明某些情况以某顺序发生,但这些情况的顺序可以改变。此外,如果可能,某些情况可以在并行进程中同时进行,或者如上所述依次进行。
虽然,如上所显示和描述的那样,流控制模块监视输出队列的可用容量,但是,在其它实施例中,交换机模块(例如,交换机320)监视输出队列的可用容量,并且当该输出队列的可用容量小于阈值时,该交换机模块自动地将数据包发送至流控制模块。基于接收的数据包,该流控制模块可以定义和发送流控制信号至边缘设备。
虽然,如上所显示和描述的那样,从交换机结构内的模块的输出队列发送数据包至流控制模块,但是,在其它实施例中,发送数据包的复本至流控制模块。在这样的实施例中,原数据包保留在将经由输出端口而被发送的输出队列中,而该数据包的复本被用于定义将被发送至源边缘设备的流控制包。
虽然,如上所显示和描述的是三级的交换机结构,但是,在其它实施例中,交换机结构可包括任意多级。在某些实施例中,举例来说,所述交换机结构可以是五级交换机结构,与下列专利文献中显示和描述的交换机结构类似:共同未决美国专利申请(申请号No.12/345,500题目为“SystemArchitectureforaScalableandDistributedMulti-StageSwitchFabric”(2008年12月29日申请));以及共同未决美国专利申请(申请号No.12/345,502题目为“MethodsandApparatusRelatedtoaModularSwitchArchitecture”(2008年12月29日申请)),上述专利通过引用合并于此。
在某些实施例中,所述流控制系统和/或方法可以与边缘流控制回路、优先级流控制回路和/或链接流控制回路一起使用,这些与下列专利文献中显示和描述的边缘流控制回路、优先级流控制回路和/或链接流控制回路的类似:共同未决美国专利申请(申请号No.12/242,224题目为“MethodsandApparatusforFlowControlAssociatedwithMulti-StagedQueues”(2008年9月30日申请));共同未决美国专利申请(申请号No.12/242,230题目为“MethodsandApparatusforFlow-ControllableMulti-StagedQueues”(2008年9月30日申请));以及共同未决美国专利申请(申请号No.12/558,118题目为“MethodsandApparatusforDefiningaFlowControlSignalRelatedtoaTransmitQueue”(2009年9月11日申请)),上述专利通过引用合并于此。.
虽然,如上所显示和描述的那样,通过交换机结构(例如,图2中的交换机结构200)路由、交换和/或转送数据包,但是,在某些实施例中,边缘设备被设置为将数据包划分为一个或多个数据单元。在这样的实施例中,数据单元包括头(例如,有目的边缘设备标识符和源边缘设备标识符),类似于这里关于数据包的描述,可通过交换机结构来路由、交换和/或转送该数据单元。目的边缘设备可接收并重新集合该数据单元,以定义数据包。该数据包可因此被发送至目的外围处理设备。在某些实施例中,这样的数据单元并不采用通过交换机结构的共同通路。举例来说,某些从数据包定义的数据单元可通过与交换机结构的第二级相关的第一模块,而其它从相同数据包定义的数据单元可通过与交换机结构的第二级相关的第二模块。此外,在某些实施例中,数据单元具有相等的长度和/或大小。
以上所显示和描述的实施例是指多个外围处理设备,包括计算节点、存储节点、服务节点和路由器。在某些实施例中,一个或多个计算节点可以是通用计算引擎,其包括,举例来说,处理器、存储器和/或一个或多个网络接口设备(例如,网络接口卡(NIC))。在某些实施例中,计算节点内的处理器可属于一个或多个高速缓存一致性范畴的一部分。在某些实施例中,计算节点可以是主设备、服务器和/或等等。在某些实施例中,一个或多个计算节点可具有虚拟资源,这样,任何计算节点(或其一部分)都可被任何与交换机结构操作性耦合的其它计算节点(或其一部分)所代替。
在某些实施例中,一个或多个存储节点可以是某些设备,其包括,举例来说,处理器、存储器、本地连接的磁盘存储器和/或一个或多个网络接口设备。在某些实施例中,存储节点可具有专门的模块(例如,硬件模块和/或软件模块),举例来说,这些模块被设置为使一个或多个计算节点能够经由交换机结构从一个或多个存储器节点读取数据和/或写数据到一个或多个存储器节点。在某些实施例中,一个或多个存储节点可具有虚拟资源,这样,任何存储节点(或其一部分)都可被任何与交换机结构操作性耦合的其它存储节点(或其一部分)所代替。
在某些实施例中,一个或多个服务节点可以是开放系统互连(OSI)中的第4层到第7层的设备,其包括,举例来说,处理器(例如,网络处理器)、存储器和/或一个或多个网络接口设备(例如10Gb以太网设备)。在某些实施例中,服务节点可包括硬件和/或软件,其被设置为执行计算相对较重的网络载荷。在某些实施例中,服务节点可被设置为以相对有效的方式(例如,比可在例如计算节点110处执行的更有效的方式)来对每一封包基础(packetbasis)进行计算。计算可包括,举例来说,有状态防火墙计算、入侵检测与防御(IDP)计算、可扩展标记语言(XML)加速计算、传输控制协议(TCP)终止计算和/或应用层负载平衡计算。在某些实施例中,一个或多个服务节点可具有虚拟资源,这样,任何服务节点(或其一部分)都可被任何与交换机结构操作性耦合的其它服务节点(或其一部分)所代替。
在某些实施例中,一个或多个路由器可以是网络设备,其被设置为至少连接一部分交换机结构系统(例如,数据中心)至另一网络(例如,国际互联网络)。在某些实施例中,举例来说,路由器可启动与交换机结构系统相关的组件(例如,外围处理设备、部分交换机结构)间的通信。举例来说,可以基于第3层路由协议定义通信。在某些实施例中,一个或多个路由器可具有一个或多个网络接口设备(例如,10Gb以太网设备),通过这些网络接口设备,路由器可以发送信号至和/或接收信号自,举例来说,交换机结构和/或其它外围处理设备。
这里所描述的某些实施例涉及具有非易失性计算机可读介质(也可被认为是非易失性处理器可读介质)的计算机存储产品,该介质上具有指令或计算机代码,用于执行多种计算机实现的操作。计算机可读介质(或处理器可读介质)不包括易失性的传播信号本身(例如,在传输介质上载有信息的传播电磁波,该传输介质如空间或电缆),在这个意义上,计算机可读介质(或处理器可读介质)是非易失性的。介质和计算机代码(也可被称为代码),其可能是出于特定目的而设计和构造的。计算机可读介质的例子包括,但不仅限于:磁存储介质,比如硬盘、软盘和磁带;光存储介质,比如光盘/数字视频光盘(CD/DVD)、只读光盘(CD-ROMs)和全息照相设备;磁光存储介质,例如,光盘;载波信号处理模块;以及那些被特别配置为存储和执行程序代码的硬件设备,例如,专用集成电路(ASICs)、可编程逻辑器件(PLD)、只读存储器(ROM)和随机存取存储器(RAM)设备。
计算机代码的例子包括,但不仅限于,微码或微指令、机器指令(例如,由编译器产生的机器指令)、用于产生网络服务的代码和包含由计算机使用解释器而执行的上层指令的文件。举例来说,可使用Java、C++或其它编程语言(例如,面向对象的程序设计语言)和开发工具来实现实施例。计算机代码的其他例子包括,但不仅限于,控制信号、加密代码和压缩码。
虽然上面描述了各种实施例,但是应当理解为它们仅作为举例而非限制,并且形式和细节可进行各种变化。这里所述的装置和/或方法的任何部分可以进行任意合并,除非相互间不能合并。这里所述的实施例可以包括所述不同实施例的功能、组件和/或特征的各种组合和/或次组合。
Claims (13)
1.一种用于流控制的装置,包括流控制模块,该流控制模块包括:
被设置用于当多级交换机的一级的输出队列的可用容量跨过第一阈值时,则以第一采样速率接收来自该输出队列的多个第一采样数据包的装置;
被设置用于当该多级交换机的该级的输出队列的可用容量跨过第二阈值时,则以第二采样速率从该输出队列接收多个第二采样数据包的装置;以及
被设置用于向该多级交换机的边缘设备发送流控制信号的装置,所述多个第一采样数据包或多个第二采样数据包由所述边缘设备进入该多级交换机。
2.如权利要求1所述的装置,其中,该流控制模块与多级交换机的数据流是分开的。
3.如权利要求1所述的装置,其中,该流控制模块进一步包括被设置用于当输出队列的可用容量跨过第一阈值时,则以第一采样速率随机接收所述多个第一采样数据包的装置。
4.如权利要求1所述的装置,其中,该流控制模块进一步包括被设置用于周期性地监视输出队列的可用容量的装置。
5.如权利要求1所述的装置,其中,该流控制模块进一步包括被设置用于使用第一流控制协议,向边缘设备发送流控制信号的装置,这样,该边缘设备使用第二流控制协议,向所述多个第一采样数据包或多个第二采样数据包所源于的外围处理设备发送流控制信号。
6.如权利要求1所述的装置,其中,第一阈值处的输出队列的可用容量大于第二阈值处的可用容量,第二采样速率大于第一采样速率。
7.如权利要求1所述的装置,其中,多级交换机是Clos网络。
8.一种用于流控制的方法,该方法包括:
当多级交换机的一级的输出队列的可用容量跨过第一阈值时,则以第一采样速率接收来自该输出队列的多个第一采样数据包;
当该多级交换机的该级的输出队列的可用容量跨过第二阈值时,则以第二采样速率从该输出队列接收多个第二采样数据包;和
向该多级交换机的边缘设备发送流控制信号,所述多个第一采样数据包或多个第二采样数据包由所述边缘设备进入该多级交换机。
9.如权利要求8所述的方法,其中,当输出队列的可用容量跨过第一阈值时,则以第一采样速率随机接收所述多个第一采样数据包。
10.如权利要求8所述的方法,其中,多级交换机是Clos网络。
11.如权利要求8所述的方法,进一步包括周期性地监视输出队列的可用容量。
12.如权利要求8所述的方法,进一步包括使用第一流控制协议,向边缘设备发送流控制信号,这样,该边缘设备使用第二流控制协议,向所述多个第一采样数据包或多个第二采样数据包所源于的外围处理设备发送流控制信号。
13.如权利要求8所述的方法,其中所述第一阈值处的输出队列的可用容量大于第二阈值处的可用容量,第二采样速率大于第一采样速率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510688928.8A CN105323185B (zh) | 2010-12-01 | 2011-09-15 | 用于与交换机结构相关的流控制的方法和装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/957,472 US9660940B2 (en) | 2010-12-01 | 2010-12-01 | Methods and apparatus for flow control associated with a switch fabric |
US12/957,472 | 2010-12-01 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510688928.8A Division CN105323185B (zh) | 2010-12-01 | 2011-09-15 | 用于与交换机结构相关的流控制的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102487358A CN102487358A (zh) | 2012-06-06 |
CN102487358B true CN102487358B (zh) | 2015-11-25 |
Family
ID=45092208
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510688928.8A Active CN105323185B (zh) | 2010-12-01 | 2011-09-15 | 用于与交换机结构相关的流控制的方法和装置 |
CN201110272723.3A Active CN102487358B (zh) | 2010-12-01 | 2011-09-15 | 用于与交换机结构相关的流控制的方法和装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510688928.8A Active CN105323185B (zh) | 2010-12-01 | 2011-09-15 | 用于与交换机结构相关的流控制的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (3) | US9660940B2 (zh) |
EP (3) | EP3297234B1 (zh) |
CN (2) | CN105323185B (zh) |
Families Citing this family (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8260917B1 (en) * | 2004-11-24 | 2012-09-04 | At&T Mobility Ii, Llc | Service manager for adaptive load shedding |
US8154996B2 (en) | 2008-09-11 | 2012-04-10 | Juniper Networks, Inc. | Methods and apparatus for flow control associated with multi-staged queues |
US8213308B2 (en) | 2008-09-11 | 2012-07-03 | Juniper Networks, Inc. | Methods and apparatus for defining a flow control signal related to a transmit queue |
US8325749B2 (en) | 2008-12-24 | 2012-12-04 | Juniper Networks, Inc. | Methods and apparatus for transmission of groups of cells via a switch fabric |
US8254255B2 (en) | 2008-12-29 | 2012-08-28 | Juniper Networks, Inc. | Flow-control in a switch fabric |
US9264321B2 (en) | 2009-12-23 | 2016-02-16 | Juniper Networks, Inc. | Methods and apparatus for tracking data flow based on flow state values |
US9065773B2 (en) | 2010-06-22 | 2015-06-23 | Juniper Networks, Inc. | Methods and apparatus for virtual channel flow control associated with a switch fabric |
US9660940B2 (en) | 2010-12-01 | 2017-05-23 | Juniper Networks, Inc. | Methods and apparatus for flow control associated with a switch fabric |
US9032089B2 (en) | 2011-03-09 | 2015-05-12 | Juniper Networks, Inc. | Methods and apparatus for path selection within a network based on flow duration |
US8811183B1 (en) | 2011-10-04 | 2014-08-19 | Juniper Networks, Inc. | Methods and apparatus for multi-path flow control within a multi-stage switch fabric |
US8825910B2 (en) * | 2012-04-06 | 2014-09-02 | International Business Machines Corporation | Pass-through converged network adaptor (CNA) using existing ethernet switching device |
US9614777B2 (en) | 2012-08-21 | 2017-04-04 | Hewlett Packard Enterprise Development Lp | Flow control in a network |
US9014005B2 (en) * | 2013-01-14 | 2015-04-21 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Low-latency lossless switch fabric for use in a data center |
US9286047B1 (en) | 2013-02-13 | 2016-03-15 | Cisco Technology, Inc. | Deployment and upgrade of network devices in a network environment |
US9401857B2 (en) | 2013-03-15 | 2016-07-26 | International Business Machines Corporation | Coherent load monitoring of physical and virtual networks with synchronous status acquisition |
US9219689B2 (en) | 2013-03-15 | 2015-12-22 | International Business Machines Corporation | Source-driven switch probing with feedback request |
US9253096B2 (en) * | 2013-03-15 | 2016-02-02 | International Business Machines Corporation | Bypassing congestion points in a converged enhanced ethernet fabric |
US9954781B2 (en) * | 2013-03-15 | 2018-04-24 | International Business Machines Corporation | Adaptive setting of the quantized congestion notification equilibrium setpoint in converged enhanced Ethernet networks |
WO2015031590A2 (en) * | 2013-08-30 | 2015-03-05 | Corning Incorporated | Light-weight, high stiffness glass laminate structure |
US8891376B1 (en) * | 2013-10-07 | 2014-11-18 | International Business Machines Corporation | Quantized Congestion Notification—defense mode choice extension for the alternate priority of congestion points |
WO2015070393A1 (en) * | 2013-11-13 | 2015-05-21 | Qualcomm Incorporated | Method and apparatus for qcn-like cross-chip function in multi-stage ethernet switching |
US9807009B2 (en) * | 2014-06-19 | 2017-10-31 | Google Inc. | System and method for providing congestion notification in layer 3 networks |
CN105991471B (zh) * | 2015-02-16 | 2019-08-09 | 新华三技术有限公司 | 网络设备的流控方法和流控装置以及网络设备 |
US9866427B2 (en) | 2015-02-16 | 2018-01-09 | Juniper Networks, Inc. | Multi-stage switch fabric fault detection and handling |
US10374904B2 (en) | 2015-05-15 | 2019-08-06 | Cisco Technology, Inc. | Diagnostic network visualization |
US9800497B2 (en) | 2015-05-27 | 2017-10-24 | Cisco Technology, Inc. | Operations, administration and management (OAM) in overlay data center environments |
US10033766B2 (en) | 2015-06-05 | 2018-07-24 | Cisco Technology, Inc. | Policy-driven compliance |
US10536357B2 (en) | 2015-06-05 | 2020-01-14 | Cisco Technology, Inc. | Late data detection in data center |
US9967158B2 (en) | 2015-06-05 | 2018-05-08 | Cisco Technology, Inc. | Interactive hierarchical network chord diagram for application dependency mapping |
US10089099B2 (en) | 2015-06-05 | 2018-10-02 | Cisco Technology, Inc. | Automatic software upgrade |
US10142353B2 (en) | 2015-06-05 | 2018-11-27 | Cisco Technology, Inc. | System for monitoring and managing datacenters |
CN105100970A (zh) * | 2015-08-04 | 2015-11-25 | 深圳市厚石网络科技有限公司 | 解决突发数据传输的方法及光纤收发器 |
US10541947B2 (en) | 2016-05-18 | 2020-01-21 | Marvell Israel (M.I.S.L.) Ltd. | Egress flow mirroring in a network device |
US10171357B2 (en) | 2016-05-27 | 2019-01-01 | Cisco Technology, Inc. | Techniques for managing software defined networking controller in-band communications in a data center network |
US10931629B2 (en) | 2016-05-27 | 2021-02-23 | Cisco Technology, Inc. | Techniques for managing software defined networking controller in-band communications in a data center network |
US10289438B2 (en) | 2016-06-16 | 2019-05-14 | Cisco Technology, Inc. | Techniques for coordination of application components deployed on distributed virtual machines |
US10708183B2 (en) | 2016-07-21 | 2020-07-07 | Cisco Technology, Inc. | System and method of providing segment routing as a service |
US10972388B2 (en) | 2016-11-22 | 2021-04-06 | Cisco Technology, Inc. | Federated microburst detection |
US10708152B2 (en) | 2017-03-23 | 2020-07-07 | Cisco Technology, Inc. | Predicting application and network performance |
US10523512B2 (en) | 2017-03-24 | 2019-12-31 | Cisco Technology, Inc. | Network agent for generating platform specific network policies |
US10594560B2 (en) | 2017-03-27 | 2020-03-17 | Cisco Technology, Inc. | Intent driven network policy platform |
US10250446B2 (en) | 2017-03-27 | 2019-04-02 | Cisco Technology, Inc. | Distributed policy store |
US10764141B2 (en) | 2017-03-27 | 2020-09-01 | Cisco Technology, Inc. | Network agent for reporting to a network policy system |
US10873794B2 (en) | 2017-03-28 | 2020-12-22 | Cisco Technology, Inc. | Flowlet resolution for application performance monitoring and management |
US10680887B2 (en) | 2017-07-21 | 2020-06-09 | Cisco Technology, Inc. | Remote device status audit and recovery |
US10554501B2 (en) | 2017-10-23 | 2020-02-04 | Cisco Technology, Inc. | Network migration assistant |
US10523541B2 (en) | 2017-10-25 | 2019-12-31 | Cisco Technology, Inc. | Federated network and application data analytics platform |
US10594542B2 (en) | 2017-10-27 | 2020-03-17 | Cisco Technology, Inc. | System and method for network root cause analysis |
US11233821B2 (en) | 2018-01-04 | 2022-01-25 | Cisco Technology, Inc. | Network intrusion counter-intelligence |
US11146505B2 (en) * | 2018-01-11 | 2021-10-12 | Intel Corporation | Low latency compact Clos network controller |
US11765046B1 (en) | 2018-01-11 | 2023-09-19 | Cisco Technology, Inc. | Endpoint cluster assignment and query generation |
US10999149B2 (en) | 2018-01-25 | 2021-05-04 | Cisco Technology, Inc. | Automatic configuration discovery based on traffic flow data |
US10873593B2 (en) | 2018-01-25 | 2020-12-22 | Cisco Technology, Inc. | Mechanism for identifying differences between network snapshots |
US10574575B2 (en) | 2018-01-25 | 2020-02-25 | Cisco Technology, Inc. | Network flow stitching using middle box flow stitching |
US10798015B2 (en) | 2018-01-25 | 2020-10-06 | Cisco Technology, Inc. | Discovery of middleboxes using traffic flow stitching |
US10826803B2 (en) | 2018-01-25 | 2020-11-03 | Cisco Technology, Inc. | Mechanism for facilitating efficient policy updates |
US10917438B2 (en) | 2018-01-25 | 2021-02-09 | Cisco Technology, Inc. | Secure publishing for policy updates |
US11128700B2 (en) | 2018-01-26 | 2021-09-21 | Cisco Technology, Inc. | Load balancing configuration based on traffic flow telemetry |
US10938751B2 (en) * | 2018-04-18 | 2021-03-02 | Hewlett Packard Enterprise Development Lp | Hierarchical switching devices |
US10757038B2 (en) | 2018-07-06 | 2020-08-25 | Hewlett Packard Enterprise Development Lp | Reservation-based switching devices |
US10592240B1 (en) * | 2018-10-15 | 2020-03-17 | Mellanox Technologies Tlv Ltd. | Scalable random arbiter |
US11855913B2 (en) | 2018-10-31 | 2023-12-26 | Hewlett Packard Enterprise Development Lp | Hierarchical switching device with deadlockable storage and storage partitions |
US10951527B2 (en) | 2018-12-28 | 2021-03-16 | Juniper Networks, Inc. | Switch fabric packet flow reordering |
CN109787910B (zh) * | 2019-03-01 | 2021-01-15 | 烽火通信科技股份有限公司 | 一种流量管理方法、系统及织状网络处理器 |
CN111865741B (zh) * | 2019-04-24 | 2022-03-01 | 瑞昱半导体股份有限公司 | 数据传输方法及数据传输系统 |
CN115580586A (zh) * | 2022-11-25 | 2023-01-06 | 成都成电光信科技股份有限公司 | 一种基于片上系统的fc交换机输出队列的构建方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1868180A (zh) * | 2003-10-14 | 2006-11-22 | 泰勒比斯股份公司 | 在分组交换电信中用于控制拥塞管理和调度传输链路容量的方法和设备 |
CN101199168A (zh) * | 2005-04-20 | 2008-06-11 | 英特尔公司 | 监控通信链路的队列 |
Family Cites Families (144)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MX9306994A (es) * | 1992-12-15 | 1994-06-30 | Ericsson Telefon Ab L M | Sistema de control de flujo para interruptores de paquete. |
US5457687A (en) | 1993-09-02 | 1995-10-10 | Network Equipment Technologies, Inc. | Method and apparatus for backward explicit congestion notification (BECN) in an ATM network |
JPH07147592A (ja) * | 1993-11-24 | 1995-06-06 | Fujitsu Ltd | 輻輳制御方法、この方法を用いたターミナルアダプタ及びこのターミナルアダプタを有する通信システム |
US5521913A (en) | 1994-09-12 | 1996-05-28 | Amber Wave Systems, Inc. | Distributed processing ethernet switch with adaptive cut-through switching |
WO1997004546A1 (en) | 1995-07-19 | 1997-02-06 | Fujitsu Network Communications, Inc. | Method and apparatus for reducing information loss in a communications network |
US5991295A (en) | 1995-10-10 | 1999-11-23 | Madge Networks Limited | Digital switch |
GB9618137D0 (en) | 1996-08-30 | 1996-10-09 | Sgs Thomson Microelectronics | Improvements in or relating to an ATM switch |
US6049546A (en) | 1996-10-15 | 2000-04-11 | At&T Corporation | System and method for performing switching in multipoint-to-multipoint multicasting |
US5987028A (en) | 1997-05-12 | 1999-11-16 | Industrial Technology Research Insitute | Multiple channel ATM switch |
US6370145B1 (en) | 1997-08-22 | 2002-04-09 | Avici Systems | Internet switch router |
US6324165B1 (en) | 1997-09-05 | 2001-11-27 | Nec Usa, Inc. | Large capacity, multiclass core ATM switch architecture |
US6073089A (en) | 1997-10-22 | 2000-06-06 | Baker; Michelle | Systems and methods for adaptive profiling, fault detection, and alert generation in a changing environment which is measurable by at least two different measures of state |
US6512747B1 (en) | 1998-03-05 | 2003-01-28 | Nippon Telegraph And Telephone Corporation | ATM transmission system |
JP3650262B2 (ja) | 1998-03-20 | 2005-05-18 | 富士通株式会社 | セルの転送レート制御装置およびその方法 |
US6570850B1 (en) | 1998-04-23 | 2003-05-27 | Giganet, Inc. | System and method for regulating message flow in a digital data network |
US6618357B1 (en) | 1998-11-05 | 2003-09-09 | International Business Machines Corporation | Queue management for networks employing pause time based flow control |
US7046631B1 (en) | 1999-01-22 | 2006-05-16 | Alcatel Canada Inc. | Method and apparatus for provisioning traffic dedicated cores in a connection oriented network |
KR100312363B1 (ko) * | 1999-06-18 | 2001-11-03 | 가네코 히사시 | 데이터 흐름 제어 스위치 및 그 스케줄링방법 |
US6621828B1 (en) | 1999-12-01 | 2003-09-16 | Cisco Technology, Inc. | Fused switch core and method for a telecommunications node |
US7027457B1 (en) | 1999-12-03 | 2006-04-11 | Agere Systems Inc. | Method and apparatus for providing differentiated Quality-of-Service guarantees in scalable packet switches |
US7324442B1 (en) | 2000-02-28 | 2008-01-29 | The Board Of Trustees Of The Leland Stanford Junior University | Active queue management toward fair bandwidth allocation |
EP1133110B1 (en) | 2000-03-06 | 2006-06-21 | International Business Machines Corporation | Switching device and method |
DE60120807T2 (de) | 2000-03-06 | 2006-12-28 | International Business Machines Corp. | Schaltvorrichtung und Verfahren |
GB0005899D0 (en) | 2000-03-10 | 2000-05-03 | British Telecomm | Packet switching |
US6944173B1 (en) | 2000-03-27 | 2005-09-13 | Hewlett-Packard Development Company, L.P. | Method and system for transmitting data between a receiver and a transmitter |
GB2361139B (en) | 2000-04-04 | 2003-07-09 | 3Com Corp | Flow control system for ethernet network devices |
US6657962B1 (en) | 2000-04-10 | 2003-12-02 | International Business Machines Corporation | Method and system for managing congestion in a network |
US6574195B2 (en) | 2000-04-19 | 2003-06-03 | Caspian Networks, Inc. | Micro-flow management |
US7269666B1 (en) | 2000-06-30 | 2007-09-11 | Intel Corporation | Memory utilization in a network interface |
FI114749B (fi) | 2000-09-11 | 2004-12-15 | Nokia Corp | Poikkeamien ilmaisujärjestelmä ja menetelmä sen opettamiseksi |
US6665495B1 (en) | 2000-10-27 | 2003-12-16 | Yotta Networks, Inc. | Non-blocking, scalable optical router architecture and method for routing optical traffic |
CN100426780C (zh) | 2000-11-07 | 2008-10-15 | 英特尔公司 | 基于交换的网络处理器 |
US7173931B2 (en) | 2000-11-20 | 2007-02-06 | Hung-Hsiang Jonathan Chao | Scheduling the dispatch of cells in multistage switches |
US7180857B2 (en) * | 2000-11-24 | 2007-02-20 | Matsushita Electric Industrial Co., Ltd | Apparatus and method for flow control |
US7420969B2 (en) | 2000-11-29 | 2008-09-02 | Rmi Corporation | Network switch with a parallel shared memory |
AU2002230541B2 (en) | 2000-11-30 | 2007-08-23 | Cisco Technology, Inc. | Flow-based detection of network intrusions |
US6973032B1 (en) | 2000-12-04 | 2005-12-06 | Cisco Technology, Inc. | Selective backpressure control for multistage switches |
JP3526269B2 (ja) | 2000-12-11 | 2004-05-10 | 株式会社東芝 | ネットワーク間中継装置及び該中継装置における転送スケジューリング方法 |
US7161906B2 (en) | 2000-12-15 | 2007-01-09 | Agere Systems Inc. | Three-stage switch fabric with input device features |
US20020118692A1 (en) | 2001-01-04 | 2002-08-29 | Oberman Stuart F. | Ensuring proper packet ordering in a cut-through and early-forwarding network switch |
US7075934B2 (en) | 2001-01-10 | 2006-07-11 | Lucent Technologies Inc. | Method and apparatus for hierarchical bandwidth distribution in a packet network |
US20020167950A1 (en) | 2001-01-12 | 2002-11-14 | Zarlink Semiconductor V.N. Inc. | Fast data path protocol for network switching |
US6856622B1 (en) | 2001-02-20 | 2005-02-15 | Pmc-Sierra, Inc. | Multicast cell scheduling protocol |
US7536455B2 (en) * | 2001-03-18 | 2009-05-19 | At&T Corp. | Optimal combination of sampled measurements |
US7068657B2 (en) | 2001-04-24 | 2006-06-27 | Alcatel | Facilitating inverse multiplexing over asynchronous transfer mode via communication links having disparate data transmission rates |
US8228797B1 (en) | 2001-05-31 | 2012-07-24 | Fujitsu Limited | System and method for providing optimum bandwidth utilization |
US7277429B2 (en) | 2001-06-01 | 2007-10-02 | 4198638 Canada Inc. | Cell-based switch fabric with distributed scheduling |
US6980520B1 (en) | 2001-06-11 | 2005-12-27 | Advanced Micro Devices, Inc. | Method and apparatus for performing source-based flow control across multiple network devices |
US20030005145A1 (en) | 2001-06-12 | 2003-01-02 | Qosient Llc | Network service assurance with comparison of flow activity captured outside of a service network with flow activity captured in or at an interface of a service network |
US7624444B2 (en) | 2001-06-13 | 2009-11-24 | Mcafee, Inc. | Method and apparatus for detecting intrusions on a computer system |
US7042842B2 (en) | 2001-06-13 | 2006-05-09 | Computer Network Technology Corporation | Fiber channel switch |
US7167480B1 (en) | 2001-06-21 | 2007-01-23 | Lighthouse Capital Partners Iv, Lp | Multi-service data transport architecture |
US7440448B1 (en) | 2001-07-02 | 2008-10-21 | Haw-Minn Lu | Systems and methods for upgradeable scalable switching |
US20040001433A1 (en) | 2001-07-18 | 2004-01-01 | Gram Charles Andrew | Interactive control of network devices |
US7047303B2 (en) | 2001-07-26 | 2006-05-16 | International Business Machines Corporation | Apparatus and method for using a network processor to guard against a “denial-of-service” attack on a server or server cluster |
US20030026267A1 (en) | 2001-07-31 | 2003-02-06 | Oberman Stuart F. | Virtual channels in a network switch |
US7283556B2 (en) | 2001-07-31 | 2007-10-16 | Nishan Systems, Inc. | Method and system for managing time division multiplexing (TDM) timeslots in a network switch |
US7027404B2 (en) | 2001-08-20 | 2006-04-11 | Samsung Electronics Co., Ltd. | Mechanism for cell routing in a multi-stage fabric with input queuing |
US7151744B2 (en) | 2001-09-21 | 2006-12-19 | Slt Logic Llc | Multi-service queuing method and apparatus that provides exhaustive arbitration, load balancing, and support for rapid port failover |
CA2358038A1 (en) | 2001-09-27 | 2003-03-27 | Alcatel Canada Inc. | System and method for selection of redundant control path links in a multi-shelf network element |
US7475426B2 (en) | 2001-11-30 | 2009-01-06 | Lancope, Inc. | Flow-based detection of network intrusions |
US7512980B2 (en) | 2001-11-30 | 2009-03-31 | Lancope, Inc. | Packet sampling flow-based detection of network intrusions |
US7221652B1 (en) | 2001-12-14 | 2007-05-22 | Applied Micro Circuits Corporation | System and method for tolerating data link faults in communications with a switch fabric |
US7085846B2 (en) | 2001-12-31 | 2006-08-01 | Maxxan Systems, Incorporated | Buffer to buffer credit flow control for computer network |
US20030126280A1 (en) * | 2001-12-31 | 2003-07-03 | Maxxan Systems, Inc. | XON/XOFF flow control for computer network |
US6977932B1 (en) | 2002-01-16 | 2005-12-20 | Caspian Networks, Inc. | System and method for network tunneling utilizing micro-flow state information |
US7424744B1 (en) | 2002-03-05 | 2008-09-09 | Mcafee, Inc. | Signature based network intrusion detection system and method |
US7876681B2 (en) | 2002-05-24 | 2011-01-25 | Verizon Business Global Llc | Systems and methods for controlling network-bound traffic |
US7180862B2 (en) | 2002-07-18 | 2007-02-20 | Intel Corporation | Apparatus and method for virtual output queue feedback |
US6986161B2 (en) | 2002-08-12 | 2006-01-10 | Harris Corporation | Mobile ad-hoc network with intrusion detection features and related methods |
KR100663586B1 (ko) | 2002-08-28 | 2007-01-02 | 삼성전자주식회사 | 헤더 압축에 의한 패킷 데이터의 송신 방법 및 장치 |
US7327680B1 (en) | 2002-11-05 | 2008-02-05 | Cisco Technology, Inc. | Methods and apparatus for network congestion control |
US7372813B1 (en) | 2002-11-26 | 2008-05-13 | Extreme Networks | Virtual load balancing across a network link |
US7539199B2 (en) | 2003-02-21 | 2009-05-26 | Gireesh Shrimali | Switch fabric scheduling with fairness and priority consideration |
US7150044B2 (en) | 2003-03-10 | 2006-12-12 | Mci, Llc | Secure self-organizing and self-provisioning anomalous event detection systems |
US7430175B2 (en) | 2003-07-21 | 2008-09-30 | Qlogic, Corporation | Method and system for managing traffic in fibre channel systems |
US20050036502A1 (en) | 2003-07-23 | 2005-02-17 | International Business Machines Corporation | System and method for handling multicast traffic in a shared buffer switch core collapsing ingress VOQ's |
EP1668928A1 (en) | 2003-09-29 | 2006-06-14 | BRITISH TELECOMMUNICATIONS public limited company | Matching process |
US20080028096A1 (en) | 2003-10-21 | 2008-01-31 | Henderson Alex E | Transporting fibre channel over ethernet |
US20050108444A1 (en) * | 2003-11-19 | 2005-05-19 | Flauaus Gary R. | Method of detecting and monitoring fabric congestion |
US9270643B2 (en) | 2003-11-21 | 2016-02-23 | Intel Corporation | State-transition based network intrusion detection |
US20050138238A1 (en) | 2003-12-22 | 2005-06-23 | James Tierney | Flow control interface |
US8819265B2 (en) | 2003-12-22 | 2014-08-26 | Rockstar Consortium Us Lp | Managing flow control buffer |
US7543052B1 (en) | 2003-12-22 | 2009-06-02 | Packeteer, Inc. | Automatic network traffic discovery and classification mechanism including dynamic discovery thresholds |
JP2007526706A (ja) | 2004-03-05 | 2007-09-13 | ザイラテックス・テクノロジー・リミテッド | ネットワークにおける輻輳管理方法、シグナリングプロトコル、スイッチ、エンドステーション、及びネットワーク |
US7499402B2 (en) | 2004-04-13 | 2009-03-03 | Radioframe Networks, Inc. | Network delay control |
EP1589716A1 (en) | 2004-04-20 | 2005-10-26 | Ecole Polytechnique Fédérale de Lausanne (EPFL) | Method of detecting anomalous behaviour in a computer network |
US20050249214A1 (en) | 2004-05-07 | 2005-11-10 | Tao Peng | System and process for managing network traffic |
JP2006005437A (ja) | 2004-06-15 | 2006-01-05 | Fujitsu Ltd | トラフィック分散制御装置 |
US7457245B2 (en) | 2004-09-07 | 2008-11-25 | Intel Corporation | Directional and priority based flow control mechanism between nodes |
US7606158B2 (en) | 2004-09-24 | 2009-10-20 | Cisco Technology, Inc. | Hierarchical flow control for router ATM interfaces |
US7564869B2 (en) | 2004-10-22 | 2009-07-21 | Cisco Technology, Inc. | Fibre channel over ethernet |
US7859996B2 (en) * | 2004-10-29 | 2010-12-28 | Broadcom Corporation | Intelligent congestion feedback apparatus and method |
US20060092833A1 (en) | 2004-11-02 | 2006-05-04 | Bemmel Jeroen V | Congestion control for improved management of service level agreements in switched networks |
US7733770B2 (en) | 2004-11-15 | 2010-06-08 | Intel Corporation | Congestion control in a network |
US7540025B2 (en) | 2004-11-18 | 2009-05-26 | Cisco Technology, Inc. | Mitigating network attacks using automatic signature generation |
US7436773B2 (en) | 2004-12-07 | 2008-10-14 | International Business Machines Corporation | Packet flow control in switched full duplex ethernet networks |
KR100622670B1 (ko) | 2004-12-07 | 2006-09-19 | 한국전자통신연구원 | 알려지지 않은 네트워크 공격에 대한 실시간 공격 패턴 검출 시스템 및 그 방법 |
KR100689430B1 (ko) | 2004-12-16 | 2007-03-08 | 삼성전자주식회사 | 디지털 홈 서비스에서 하이브리드 모니터링을 통한 동적서비스 품질 매핑 장치 및 방법 |
US20060272018A1 (en) | 2005-05-27 | 2006-11-30 | Mci, Inc. | Method and apparatus for detecting denial of service attacks |
US7719982B2 (en) | 2005-08-31 | 2010-05-18 | Intel Corporation | Switching device utilizing flow-control management |
US9467462B2 (en) | 2005-09-15 | 2016-10-11 | Hewlett Packard Enterprise Development Lp | Traffic anomaly analysis for the detection of aberrant network code |
US7908357B2 (en) | 2005-09-21 | 2011-03-15 | Battelle Memorial Institute | Methods and systems for detecting abnormal digital traffic |
US7930752B2 (en) | 2005-11-18 | 2011-04-19 | Nexthink S.A. | Method for the detection and visualization of anomalous behaviors in a computer network |
US20070150949A1 (en) | 2005-12-28 | 2007-06-28 | At&T Corp. | Anomaly detection methods for a computer network |
US8397284B2 (en) | 2006-01-17 | 2013-03-12 | University Of Maryland | Detection of distributed denial of service attacks in autonomous system domains |
US9426092B2 (en) | 2006-02-03 | 2016-08-23 | Level 3 Communications Llc | System and method for switching traffic through a network |
US8613088B2 (en) | 2006-02-03 | 2013-12-17 | Cisco Technology, Inc. | Methods and systems to detect an evasion attack |
US7643418B1 (en) | 2006-03-24 | 2010-01-05 | Packeteer, Inc. | Aggregate rate control using PID |
US9621375B2 (en) * | 2006-09-12 | 2017-04-11 | Ciena Corporation | Smart Ethernet edge networking system |
US7817558B2 (en) | 2006-05-19 | 2010-10-19 | Cisco Technology, Inc. | Flow based flow control in an ethernet switch backplane |
US7701849B1 (en) | 2006-06-23 | 2010-04-20 | Juniper Networks, Inc. | Flow-based queuing of network traffic |
US8050559B2 (en) | 2006-08-21 | 2011-11-01 | Juniper Networks, Inc. | Multi-chassis router with multiplexed optical interconnects |
US8161475B2 (en) | 2006-09-29 | 2012-04-17 | Microsoft Corporation | Automatic load and balancing for virtual machines to meet resource requirements |
US8264957B1 (en) * | 2006-09-29 | 2012-09-11 | Cisco Technology, Inc. | Control of preemption-based beat-down effect |
US7746778B2 (en) * | 2006-12-12 | 2010-06-29 | Intel Corporation | Resource based data rate control |
EP1936880A1 (en) * | 2006-12-18 | 2008-06-25 | British Telecommunications Public Limited Company | Method and system for congestion marking |
KR20090099519A (ko) | 2006-12-19 | 2009-09-22 | 인터내셔널 비지네스 머신즈 코포레이션 | 네트워크 흐름을 분석하기 위한 장치 및 방법 |
US8520517B2 (en) | 2007-02-21 | 2013-08-27 | Broadcom Corporation | Switch fabric end-to-end congestion avoidance mechanism |
US7916718B2 (en) * | 2007-04-19 | 2011-03-29 | Fulcrum Microsystems, Inc. | Flow and congestion control in switch architectures for multi-hop, memory efficient fabrics |
EP1986391A1 (en) | 2007-04-23 | 2008-10-29 | Mitsubishi Electric Corporation | Detecting anomalies in signalling flows |
US7715316B2 (en) * | 2007-05-11 | 2010-05-11 | Verizon Services Organization Inc. | Method and apparatus for improving performance in a network using a virtual queue and a switched poisson process traffic model |
US8649370B2 (en) | 2007-05-17 | 2014-02-11 | Ciena Corporation | Systems and methods for programming connections through a multi-stage switch fabric with blocking recovery, background rebalancing, and rollback |
US8331387B2 (en) | 2007-06-22 | 2012-12-11 | Broadcom Corporation | Data switching flow control with virtual output queuing |
US20090077663A1 (en) | 2007-09-17 | 2009-03-19 | Alcatel Lucent | Score-based intrusion prevention system |
EP2040420A1 (en) | 2007-09-20 | 2009-03-25 | Lucent Technologies Inc. | Method and device for shaping a stream of frames of user traffic, as well as computer network |
US20090300209A1 (en) | 2008-06-03 | 2009-12-03 | Uri Elzur | Method and system for path based network congestion management |
US8154996B2 (en) | 2008-09-11 | 2012-04-10 | Juniper Networks, Inc. | Methods and apparatus for flow control associated with multi-staged queues |
US8213308B2 (en) | 2008-09-11 | 2012-07-03 | Juniper Networks, Inc. | Methods and apparatus for defining a flow control signal related to a transmit queue |
US8325749B2 (en) | 2008-12-24 | 2012-12-04 | Juniper Networks, Inc. | Methods and apparatus for transmission of groups of cells via a switch fabric |
US9166927B2 (en) * | 2008-10-21 | 2015-10-20 | Broadcom Corporation | Network switch fabric dispersion |
US8228929B2 (en) | 2008-10-24 | 2012-07-24 | Juniper Networks, Inc. | Flow consistent dynamic load balancing |
US8254255B2 (en) | 2008-12-29 | 2012-08-28 | Juniper Networks, Inc. | Flow-control in a switch fabric |
US8160072B1 (en) | 2009-12-11 | 2012-04-17 | Brocade Communications Systems, Inc. | Method and system for facilitating QoS zoning in a network |
US9264321B2 (en) | 2009-12-23 | 2016-02-16 | Juniper Networks, Inc. | Methods and apparatus for tracking data flow based on flow state values |
US9054996B2 (en) * | 2009-12-24 | 2015-06-09 | Juniper Networks, Inc. | Dynamic prioritized fair share scheduling scheme in over-subscribed port scenario |
US9602439B2 (en) | 2010-04-30 | 2017-03-21 | Juniper Networks, Inc. | Methods and apparatus for flow control associated with a switch fabric |
US8861366B1 (en) * | 2010-06-21 | 2014-10-14 | Arris Enterprises, Inc. | Multi-level flow control |
US9065773B2 (en) | 2010-06-22 | 2015-06-23 | Juniper Networks, Inc. | Methods and apparatus for virtual channel flow control associated with a switch fabric |
US8553710B1 (en) | 2010-08-18 | 2013-10-08 | Juniper Networks, Inc. | Fibre channel credit-based link flow control overlay onto fibre channel over ethernet |
US8724628B1 (en) | 2010-11-23 | 2014-05-13 | Juniper Networks, Inc. | Methods and apparatus for destination based hybrid load balancing within a switch fabric |
US8717893B2 (en) * | 2010-11-29 | 2014-05-06 | Verizon Patent And Licensing Inc. | Network stabilizer |
US9660940B2 (en) | 2010-12-01 | 2017-05-23 | Juniper Networks, Inc. | Methods and apparatus for flow control associated with a switch fabric |
US9032089B2 (en) | 2011-03-09 | 2015-05-12 | Juniper Networks, Inc. | Methods and apparatus for path selection within a network based on flow duration |
-
2010
- 2010-12-01 US US12/957,472 patent/US9660940B2/en active Active
-
2011
- 2011-09-15 CN CN201510688928.8A patent/CN105323185B/zh active Active
- 2011-09-15 CN CN201110272723.3A patent/CN102487358B/zh active Active
- 2011-11-10 EP EP17196024.8A patent/EP3297234B1/en active Active
- 2011-11-10 EP EP19191351.6A patent/EP3591914B1/en active Active
- 2011-11-10 EP EP11188568.7A patent/EP2461529B1/en active Active
-
2017
- 2017-05-22 US US15/601,519 patent/US10616143B2/en active Active
-
2020
- 2020-02-26 US US16/801,931 patent/US11711319B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1868180A (zh) * | 2003-10-14 | 2006-11-22 | 泰勒比斯股份公司 | 在分组交换电信中用于控制拥塞管理和调度传输链路容量的方法和设备 |
CN101199168A (zh) * | 2005-04-20 | 2008-06-11 | 英特尔公司 | 监控通信链路的队列 |
Also Published As
Publication number | Publication date |
---|---|
CN105323185A (zh) | 2016-02-10 |
EP2461529A2 (en) | 2012-06-06 |
EP2461529B1 (en) | 2018-01-10 |
US20200195587A1 (en) | 2020-06-18 |
CN105323185B (zh) | 2019-06-07 |
EP3297234B1 (en) | 2019-08-14 |
US20170257328A1 (en) | 2017-09-07 |
EP3591914B1 (en) | 2021-05-12 |
US9660940B2 (en) | 2017-05-23 |
EP3297234A1 (en) | 2018-03-21 |
CN102487358A (zh) | 2012-06-06 |
US20120140626A1 (en) | 2012-06-07 |
EP3591914A1 (en) | 2020-01-08 |
EP2461529A3 (en) | 2012-07-18 |
US10616143B2 (en) | 2020-04-07 |
US11711319B2 (en) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102487358B (zh) | 用于与交换机结构相关的流控制的方法和装置 | |
US11398991B1 (en) | Methods and apparatus for flow control associated with a switch fabric | |
US11451491B2 (en) | Methods and apparatus related to virtualization of data center resources | |
US9705827B2 (en) | Methods and apparatus for virtual channel flow control associated with a switch fabric | |
CN102571553B (zh) | 多跳分布控制面和单跳数据面交换结构系统的方法和装置 | |
US9356885B2 (en) | Methods and apparatus related to a distributed switch fabric | |
US9426085B1 (en) | Methods and apparatus for multi-path flow control within a multi-stage switch fabric | |
US8755396B2 (en) | Methods and apparatus related to flow control within a data center switch fabric | |
US8335213B2 (en) | Methods and apparatus related to low latency within a data center | |
US20100061394A1 (en) | Methods and apparatus related to any-to-any connectivity within a data center | |
US20100061367A1 (en) | Methods and apparatus related to lossless operation within a data center | |
US9172645B1 (en) | Methods and apparatus for destination based hybrid load balancing within a switch fabric | |
EP2164209A1 (en) | Systems, methods, and apparatus for a data centre | |
EP1501247A1 (en) | Software configurable cluster-based router using stock personal computers as cluster nodes | |
US7197051B1 (en) | System and method for efficient packetization of ATM cells transmitted over a packet network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: American California Applicant after: Juniper Networks, Inc. Address before: American California Applicant before: Jungle network |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: NETSCREEN TECHNOLOGIES INC. TO: JUNIPER NETWORKS INC. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |