在交换全双工以太网络中进行数据包流控制的方法和系统的制作方法

文档序号:7627185阅读:143来源:国知局
专利名称:在交换全双工以太网络中进行数据包流控制的方法和系统的制作方法
技术领域
本发明总体上涉及计算机网络,尤其涉及用在分组交换网络中的链路带宽的改进。更具体地,本发明涉及用于选择性地调整分组交换网络中的暂停时间流控制的系统、方法、程序产品和数据结构。更具体地,本发明涉及可应用于符合IEEE 802.3x标准的全双工以太局域网(LAN)系统的暂停时间流控制技术。
背景技术
网络设备一般使用分层通信模型(layered communicationmodel),比如由国际标准化组织(ISO)开发的、用于提供对信息的结构化处理的开放式系统互联(OSI)模型。OSI分层模型可用于分离每一层的技术功能,从而有利于给定层的修改或者更新,而不会对相邻层的功能造成不利影响。
OSI模型定义了分层处理,这便利了与数据传输、节点间路由(inter-node routing)、启动、节点间通信链路的建立和维护、具有规定服务质量的数据传输等相关的灵活结构化的网络通信功能。根据已建立的OSI规范,最底层包括媒介存取控制(media access control(MAC))层和物理层。物理层将数据编码和解码为在传输介质比如电子或者光纤缆上传输的信号。物理层还包括接口连接器,接口连接器被配置为并用来自适应地在传输介质上通信。
在局域网(LAN)中控制底部的物理层和MAC层的网络流量的最主要的协议公知为以太网。以太网是基于分组的,对物理层定义了信号路径和信号方式协议(信令协议,signaling protocol),对OSI模型的MAC/数据链路层定义了分组格式和协议。以太网主要被标准化为IEEE 802.3标准。自1990年代到目前,以太网已经成为使用中最广泛的LAN技术,在很大程度上已经取代了所有其它的LAN标准比如令牌网、FDDI和ARCNET。
当超过给定网络链路的带宽时,以太网传输中就会发生拥堵,这导致传输错误、数据丢失和/或数据传输的严重延迟。传统的用来解决拥堵问题的流控制技术一般涉及在一个或者多个网络节点检测流量水平,战略性地配送控制信息包,以向潜在受影响的节点通知所检测到的拥堵状态,并根据底层的流控制算法延迟往来于指定节点的数据包传输。
以太网系统中的流控制可以在一种或者多种可能的技术中实现。例如,以太网适配器、交换器或者类似的接收设备中的特定端口所感受到的高流量可能导致与该端口相关的接收队列达到预定阈值“溢出”值。相反,在一段时间内在输入端口感受到的相对较低的流量状态可能导致相关的接收队列下降到预先规定的“欠载运行”阈值水平。传统的以太网流控制包括同时对付溢出和欠载运行状态的控制帧技术(control frame technique)。具体地,响应于检测到的溢出状态,主机设备驱动器或者其它接收设备一般指令远程传输设备暂停数据传输,以便在接收队列中累积的数据可以泄流到防止出现实际的溢出状态(也就是,由于输入队列的空间不够用而导致数据包丢失)的水平。在符合以太网/IEEE 802.3x的系统中,接收方以太网适配器发送一个“XOFF”暂停MAC控制帧到发送设备。该XOFF暂停帧包括一个暂停时间字段,该字段规定一个暂停时间值,在该暂停时间内,发送设备被指令中断向接收适配器的数据传输。如果接收适配器的数据包接收队列反映出溢出状态在规定的暂停时间值届满以前已充分缓解(例如接收队列降到预先规定的“欠载运行”阈值水平以下),则接收适配器可以通过发送一个第二MAC控制帧来提示恢复正常的全双工传输,该第二MAC控制帧具有值为0的暂停时间值。这样的具有0值暂停时间值、用于提示恢复全双工传输的暂停时间控制帧常常被称为“XON”帧。保守地设置暂停时间值导致浪费链路带宽。
传统的XOFF和XON以太网流控制的一个问题是缺乏对变化中的流量状态的适应性。具体地,传统的802.3x暂停时间值一般是由主机设备驱动器编程人员根据主机处理速度静态设置的。XOFF暂停时间值一般是被保守地设置为比最优值更高的值,因为必须优先防止在接收FIFO队列中出现溢出状态。
从前述可知需要有一种改进的以太网流控制技术,可以根据变化的流量条件协调地确定XOFF帧的暂停时间值和XON帧的发出。本发明就是要解决这个问题以及现有技术没有解决的其它需求。

发明内容
这里公开了用于控制进入链路合作设备比如以太网适配器的数据包流的方法、系统和计算机程序产品。在一种实施例中,监视适配器接收队列或者缓冲器的占用率水平,以检测接收队列溢出或者欠载运行状态或者事件。检测到的溢出或者欠载运行状态或事件被用作调整暂停时间流控制帧内的暂停时间值的标准。从该链路合作设备将该暂停时间流控制帧发送到对应的远程链路合作设备,以根据调整后的暂停时间值暂停数据包传输。
阅读下面的详细说明会更加清楚本发明的上述以及其它目的、特征和优点。


在所附的权利要求中给出了据信为本发明的特征的新颖特征。但是,本发明本身及其优选的使用方式,以及其其它的目的和优点,要结合下面的附图阅读对所图解的实施例的详细说明才能有最佳的理解。附图中图1的高级框解了根据本发明实现暂停时间控制调整特征的举例的网络设备;图2的框解了由图1所示的网络设备生成和发送的举例的MAC暂停帧;
图3的高级流程解了根据本发明的一个实施例,在避免溢出期间执行的步骤;图4的高级流程解了根据本发明的一个实施例,在避免欠载运行期间执行的步骤;图5的高级流程解了根据本发明的一个实施例,在接收FIFO欠载运行XOFF调整期间执行的步骤。
具体实施例方式
本发明总体上是一种用于调整暂停帧控制数据以改善带宽利用率、防止在分组交换网络中在链路合作设备之间出现数据丢失的方法、系统和计算机程序产品。这里所用的“链路合作设备”概括地指网络终端站,比如工作站或者计算机,或者中间节点比如交换设备,它们观测和应用暂停时间流控制技术比如在IEEE 802.3x以太网标准中描述的技术。应当注意,附图中明确描述的实施例具体地涉及具有以太网适配器配置的计算机主机系统,但是本发明不局限于此,而是可以在其它的链路合作设备比如以太网交换设备中实现。
本发明允许对被编码在给定暂停时间流控制信息包(这里统称为XOFF帧)中的暂停时间值进行动态调整。根据所检测到的溢出或者欠载运行状态和/或趋势所反映的当前和最近的过去的流量状态,暂停时间值,或者可以被称为TXOFF值,可以增加、减少或者不变。最好检测网络适配器或者应用暂停类型的流控制的其它以太网链路合作设备比如交换设备中的接收队列的相对占用率水平,作为检测到的溢出和欠载运行状态。
在一种实施方式中,本发明是一种以太网兼容方法和系统,其中,用监视电路和/或程序模块来跟踪流控制事件,比如溢出和欠载运行事件,并相应设置或者重置TXOFF值。具体地,响应于检测到的溢出事件,将TXOFF值增加一个或者多个暂停时间单位,从而,响应于输入适配器数据流量的增加,向上动态调整暂停时间长度。本发明还提供了降低TXOFF的机制。也就是提供了欠载运行XOFF调整功能,包括用于检测和响应欠载运行状态的监视电路和/或程序模块,在欠载运行状态下,网络适配器接收队列下降到规定的非零阈值或者以下。响应于检测到的适配器接收队列中的欠载运行状态,所述欠载运行XOFF调整功能判断在该欠载运行状态之前是否是溢出状态,如果是,则抑制TXOFF值的降低。如果当前检测到的欠载运行状态之前(紧邻的之前,或者在规定的时间间隔内)没有溢出事件,则进一步判断检测到的欠载运行事件的次数是否超过规定的阈值,如果是,则使TXOFF值下降。
现在参看附图。在所有附图中,相同的附图标记表示相似或者对应的部件。尤其见图1,其中图示了一个高级框图,图解了根据本发明实现动态可调的暂停时间流控制的举例的网络设备102,以防止暂时的数据包丢失状态,同时最大化可用的链路带宽。在以太网全双工传输中使用的传统的暂停时间流控制技术一般使用预先规定的暂停时间值(常常被编程到主机设备驱动器(驱动程序))中,该预先规定的暂停时间值被用作从接收站发出的每一个流控制帧的暂停时间参数。相反,网络设备102包括根据数据包接收缓冲器占用率所反映的网络流量状态来动态地调整暂停时间控制参数的功能,以使流量控制调整及时地对网络流量的瞬变进行最优化的跟踪。通过允许向上调整暂停时间值以解决溢出事件,并提供相应的向下调节暂停时间的机制,并使这种机制保持优先避免溢出并保证免于受到急剧的中间流量瞬变,本发明只需发送更少的暂停控制帧或者发送比传统的系统规定更短的暂停时间长度的暂停帧,来将带宽利用率和数据吞吐率最大化。
在图示的实施例中,网络设备102是终端站类型的“链路合作设备”,其可以是实施暂停时间流控制(比如用于全双工以太网的802.3x标准规定的控制)的任何网络终端站(例如工作站、计算机等)。在一个优选实施例中,网络设备102符合一种或者多种以太网/IEEE802.3x标准。本发明可应用于提供每秒兆比特(Mbps)和每秒吉比特(Gbps)级的传输速率的以太网标准。当用没有屏蔽的双绞线(UTP)电缆作为传输介质时,这些网络一般分别被称为10BASE-T,100BASE-T和1000BASE-T(或者吉比特以太网)网络。网络设备102所生成的暂停帧(比如参照图2所描述的暂停帧200)可以符合这些标准中的任何一个,或者其它使用暂停帧的现有的或者未来的通信标准。
网络设备102通信耦接到局域网(LAN)105,在该局域网上还耦接了至少一个其它的网络设备,被标为节点B 106。传输介质耦合设备102和106可以包括同轴电缆、无屏蔽或者有屏蔽的双绞线电缆或者光缆。或者,设备102和106可以通过作为LAN 105的一部分的无线接口通信。
进一步如图1所示,网络设备102包括以太网适配器单元108,其可以被包含在网络接口卡(NIC)中。以太网适配器108包括以太网媒介存取控制(MAC)单元118,后者通信耦接到物理层处理单元PHY 120。PHY单元120可以是标准集成电路(IC)芯片,后者具有与LAN 105所使用的传输介质类型的接口所需的专用电路。物理传输介质可以包括光纤、无屏蔽的双绞线(UTP)、有屏蔽的双绞线(STP)等。MAC单元118调度和控制数据,包括暂停帧向PHY单元120的存取。PHY单元120内的电路将数据编码和解码为在LAN 105上传输的信号,并进一步包括到LAN传输介质的物理连接器(未明确图示)。所图解的功能可以位于NIC上或者以一个或者多个集成电路的形式存在的主电路板上。另外,所图解的构成网络设备102的部件或者模块中的一个或者多个可以实现为软件、固件和/或硬件的任意组合。
以太网适配器108还包括主机接口模块112,其连接主机总线113和MAC单元118之间的主机通信。例如,假设主机总线113是外围设备互连(PCI)总线,则主机接口112就是PCI总线接口。
暂停时间控制帧的生成及其向LAN 105的传输是由设备驱动器(驱动程序)110在检测到规定的流控制“事件”时触发的。在现有技术中知道,可以通过从发源于各种源的流控制允许信号(中断信号)(enable signal)来探测流控制事件。这样的流控制允许信号可以由多种模块或者任务中的任何一个确立,这些模块或者任务中的某些模块或任务指示网络的拥堵状态。虽然图1中没有明确图示,但是这些模块可以包括例如配置模块、存储器索引模块、镜像定时器模块等。处理器中断、多任务处理以及过量网络广播是可能需要传输暂停时间控制帧的流控制条件的例子。
本发明的暂停时间调整技术特征主要是监视和检测与接收方输入缓冲器占用率相关联的流控制事件。继续参见图1,适配器108还包括一对用于缓冲存储在MAC单元118和主机接口112之间传递的数据包/帧数据的存储器。具体地,MAC单元118包括相关联的发送和接收随机存取存储器(RAM)缓冲器114和116,分别用于缓冲存储发送到适配器108以及从适配器108发出的包数据。监视器功能,比如可以由设备驱动器(驱动程序)110和/或主机接口112执行的监视器功能,监视接收缓冲器116的占用状态,以判断某种流控制条件是否保持有效。
图2是图1的网络设备102以以太网MAC控制帧200的形式传输的暂停时间流控制帧(或者称为流控制信息包或者流控制帧)的举例的各种帧字段的示意图。MAC暂停帧200基本上符合以太网802.3x标准,一般包括报头(前同步码)字段202、目的地址字段204、源地址字段206、类型字段208、操作码字段210、暂停时间字段212以及循环冗余校验(CRC)字段214。本发明的发明构思的核心,是暂停时间字段212包含可调的值,该值规定一个时间段,在该时间段上,发送节点比如节点B 106被请求暂停向接收节点传输数据。
报头(前同步码)字段202包含的数据向远程节点指出正在发送一个帧,报头字段202并可以包括用于同步功能的“帧开始”数据。报头字段202之后是目的地址字段204和源地址字段206,它们分别指示远程设备和主机设备的网络地址。
类型字段208将MAC暂停帧200标识为MAC控制帧而不是数据帧。操作码字段210进一步将该MAC控制帧表示为“暂停”帧。
如前所述,暂停时间字段212规定暂停从远程节点到发送MAC暂停帧200的链路合作设备的传输的定时器值。与当前的以太网规范一致,暂停时间值的量度可以以“暂停量子时间”(暂停单位时间,pausequanta)为单位,该暂停量子时间为总共512个位时间(比特时间,数元时间,bit time)。例如,如果暂停时间字段212指定了250,则接收MAC暂停帧200的远程节点的响应是暂停数据包的传输共128,000位时间(250×512)。暂停时间值的举例的范围可以是0到65535个暂停量子时间。这样,网络设备102可以用一个MAC暂停帧200请求停止传输33,553,920位时间(对于吉比特以太网来说为33.554ms)。
最后,MAC暂停帧200还包括CRC字段214,其一般是一个由网络设备102生成的比特串值,由接收方远程节点与一个重新计算的版本进行比较以验证传输的完整性。
当某个站比如远程节点B 106接收到具有暂停时间字段212和相关的暂停操作码的MAC控制帧时,其被要求停止传输一段时间,该段时间等于暂停时间字段212中规定的暂停时间参数。这样,如果网络设备102如接收缓冲器RAM 116中检测到的溢出状态所反映的那样处于拥堵状态,则可以生成一个控制帧,比如MAC控制帧200,并将其发送出去以指令所述终端站停止向设备102发送数据。
图3是一个高级流程图,其图解了根据本发明的一个实施例在避免溢出期间执行的步骤。如图所示,过程始于步骤302和304,在初始化并开始全双工通信之后,用对TXOFF预先规定的缺省值用于链路合作设备比如网络设备102发送的MAC暂停帧(也就是XOFF帧)。接下来,如步骤306所示,监视接收FIFO缓冲器(或者等效的用于存储输入包数据的输入存储设备)以检测溢出流状态。这里所用的“溢出状态”如802.3x以太网流控制的目前的实现方式中所知的,并不一定是指接收缓冲器中没有任何进一步的空间。相反,可以使用访问寄存器(reference register)(比如可以部署在适配器内的访问寄存器)来检测溢出状态,所述访问寄存器指示接收缓冲器内的占用率何时达到或者超过规定的低于100%的一个阈值(例如85%、92%等)。
如果检测到溢出状态,暂停时间控制模块122就将当前TXOFF值增加一个或者多个如在步骤308所描述的时间单位或者事务单位(transactional unit)。在一种优选实施方式中,网络设备102包括使用802.3x暂停时间流控制的以太网适配器108,其中将TXOFF值增加一个或者多个暂停量子单位。在另一种实施方式中,可以用事务项目(transactional term)来表示暂停值,指示远程站停止数据包的进一步传输,直到其接收到一个或者多个XON包为止。在这种情况下,在步骤308所示的向上的调整可以包括规定一个更高的事务阈值条件,比如在重新开始数据包传输之前等待,直到接收到两个XON帧。图3中所图示的避免溢出过程的结束是生成XOFF包并将其发送给远程站(步骤310)。该过程在步骤306以对接收FIFO溢出的监视而重新开始。
现在看图4,其中图示了一个高级流程图,其中图解了根据本发明的一个实施例,在避免欠载运行时执行的步骤。如图4所示,该过程开始于在图3所示的全双工传输过程中对接收FIFO的监视。具体地,如步骤402所示,从设备驱动器(驱动程序)110部署的或者从以太网适配器108内部部署的暂停时间控制模块122监视接收FIFO占用率水平,不仅检测如参照图3所描述的溢出,还检测欠载运行状态。类似于参照图3所说明的溢出的定义,“欠载运行”最好被表征/定义为排队问题的前兆。具体地,在步骤402检测到的接收FIFO缓冲器/队列中的欠载运行状态最好不是指接收FIFO零占用率的状态。相反,可以使用访问寄存器(reference register)(比如可以部署在适配器内的访问寄存器)来检测欠载运行状态,所述访问寄存器指示接收缓冲器内的占用率何时达到或者低于规定的大于0%的一个阈值(例如15%、8%等)。
如果检测到欠载运行状态,就根据802.3x流控制规范发送暂停时间值设为0的MAC暂停帧(也就是XON帧)(步骤404)。另外,如步骤406所示,响应检测到的欠载运行状态,根据欠载运行XOFF调整算法,比如在下面结合图5所说明的算法,设置要被编码到未来的XOFF帧中的暂停时间值(也就是TXOFF值)。TXoFF值的设置/调整最好由从设备驱动器(驱动程序)110或者从以太网适配器108部署的暂停时间控制模块122执行。进一步如图4所示,在TXOFF调整步骤的校正之后,继续进行接收FIFO的监视。
看图5,其中图示了根据本发明的一个实施例,在接收FIFO欠载运行XOFF调整期间执行的步骤的高级流程图。该过程如图所示始于步骤502和504,在全双工以太网传输过程中检测到了接收FIFO的欠载运行状态。前进到步骤506,适配器生成并发送XON包以提示远程站开始或者重新开始数据包传输。接下来,如步骤508所示,暂停时间控制模块122判断在步骤504检测到的接收FIFO欠载运行状态是否紧挨着在前检测到的接收FIFO溢出状态或者在前检测到的接收FIFO溢出状态隔得近。可以用不同的标准来表征所述“在前”条件。在一种实施例中,例如,如果溢出发生在随后的欠载运行的发生时间之前的规定时间段内,则说该溢出时间是在检测到的欠载运行之前。在另一种实施方式中,就MAC流控制帧时序而言判断溢出事件是否在欠载运行之前。也就是,溢出是否在随后检测到的欠载运行之前的条件是中间是否已经检测到了需要生成MAC流控制帧的流控制状态。
如步骤510所示,响应于所遇到的在前溢出状态,对于下一个XOFF帧传输,维持当前的TXOFF值。但是,如果当前检测到的欠载运行前面没有检测到溢出状态,则进一步判断在规定的时间段上检测到的欠载运行事件的频率是否达到或者超过规定的阈值水平(步骤512)。如果没有超过,如步骤510所示,则对于下一个XOFF帧传输维持当前TXOFF值。如果步骤512所示的查询产生的判断是当前检测到的欠载运行状态被包括在在规定的时间段上检测到的使得欠载运行频率超过规定阈值的这样一组欠载运行事件中,则如步骤514所示,当前的TXOFF值被减少一个或者多个规定的递减单位。
上面对本发明的描述是在与个人计算机相结合的操作系统上运行的应用程序这样的总体环境下进行的。本领域的普通技术人员会认识到,本发明也可以与其它程序模块相结合实现。一般,程序模块包括例程、程序、部件、数据结构等,它们执行特定的任务或者实现特定的抽象数据类型。另外,本领域的普通技术人员理解,本发明可以用其它计算机系统配置实施,包括手持设备、多处理器系统、基于微处理器的或者可编程的消费电子产品、微型计算机、大型计算机等等。
上面结合优选实施例具体图示和描述了本发明,本领域的普通技术人员理解,在不脱离本发明的实质范围的前提下可以进行形式和细节方面的各种变化。这些替代的实施方式都落在本发明的范围之内。
权利要求
1.一种控制进入链路合作设备的数据包业务流的方法,包括检测链路合作设备中接收队列的占用率水平;根据所检测到的接收队列占用率水平设置流控制帧内的暂停时间值;以及从该链路合作设备将所述流控制帧发送到对应的远程链路合作设备。
2.如权利要求1所述的方法,其中,所述链路合作设备是以太网适配器或者网络交换机。
3.如权利要求1所述的方法,其中,所述检测链路合作设备中接收队列的占用率水平的步骤之前有将暂停时间值设定为缺省值的步骤。
4.如权利要求1所述的方法,所述检测链路合作设备中的接收队列的占用率水平的步骤包括检测接收队列溢出状态。
5.如权利要求4所述的方法,所述检测接收队列溢出状态的步骤包括检测所述接收队列的占用率水平是否超过低于100%占用率水平的预定水平。
6.如权利要求4所述的方法,根据所检测到的接收队列占用率水平来设置流控制帧内的暂停时间值的步骤包括将所述暂停时间值增加一个或者多个规定的暂停时间增量。
7.如权利要求1所述的方法,所述检测链路合作设备中的接收队列的占用率水平的步骤包括检测接收队列欠载运行状态。
8.如权利要求7所述的方法,所述检测接收队列欠载运行状态的步骤包括检测所述接收队列的占用率水平是否低于高于0%占用率水平的预定水平。
9.如权利要求7所述的方法,还包括响应于检测到的接收队列欠载运行状态,从所述链路合作设备发送XON流控制信息包。
10.如权利要求7所述的方法,根据所检测到的接收队列占用率水平来设置流控制帧内的暂停时间值的步骤包括根据欠载运行规定的XOFF调整条件设置暂停时间值。
11.如权利要求10所述的方法,根据欠载运行规定的XOFF调整条件设置暂停时间值的步骤包括根据在接收队列中最后检测到的欠载运行状态之前是否是溢出状态来设置所述暂停时间值。
12.如权利要求11所述的方法,还包括如果在接收队列中最后检测到的欠载运行状态之前是溢出状态,则维持所述流控制帧中的当前暂停时间值。
13.如权利要求11所述的方法,还包括如果在接收队列中最后检测到的欠载运行状态之前不是溢出状态,则判断在接收队列中检测到的欠载运行频率是否超过规定的阈值。
14.如权利要求13所述的方法,还包括如果在接收队列中检测到的欠载运行频率超过了规定的阈值,则将所述暂停时间值减少一个或者多个规定的暂停时间增量。
15.一种计算机程序产品,用于控制进入链路合作设备的数据包业务流,该计算机程序产品包括用于执行下述方法的计算机可执行的指令,该方法包括检测链路合作设备中接收队列的占用率水平;根据所检测到的接收队列占用率水平设置流控制帧内的暂停时间值;以及从该链路合作设备将所述流控制帧发送到对应的远程链路合作设备。
16.如权利要求15所述的计算机程序产品,其中,所述检测链路合作设备中接收队列的占用率水平的步骤之前有将暂停时间值设定为缺省值的步骤。
17.如权利要求15所述的计算机程序产品,所述检测链路合作设备中的接收队列的占用率水平的步骤包括检测接收队列溢出状态。
18.如权利要求17所述的计算机程序产品,所述检测接收队列溢出状态的步骤包括检测所述接收队列的占用率水平是否超过低于100%占用率水平的预定水平。
19.如权利要求17所述的计算机程序产品,根据所检测到的接收队列占用率水平来设置流控制帧内的暂停时间值的步骤包括将所述暂停时间值增加一个或者多个规定的暂停时间增量。
20.如权利要求15所述的计算机程序产品,所述检测链路合作设备中的接收队列的占用率水平的步骤包括检测接收队列欠载运行状态。
21.如权利要求20所述的计算机程序产品,所述检测接收队列欠载运行状态的步骤包括检测所述接收队列的占用率水平是否低于高于0%占用率水平的预定水平。
22.如权利要求20所述的计算机程序产品,还包括响应于检测到的接收队列欠载运行状态,从所述链路合作设备发送XON流控制信息包。
23.如权利要求20所述的计算机程序产品,根据所检测到的接收队列占用率水平来设置流控制帧内的暂停时间值的步骤包括根据欠载运行规定的XOFF调整条件设置暂停时间值。
24.如权利要求23所述的计算机程序产品,根据欠载运行规定的XOFF调整条件设置暂停时间值的步骤包括根据在接收队列中最后检测到的欠载运行状态之前是否是溢出状态来设置所述暂停时间值。
25.如权利要求24所述的计算机程序产品,还包括如果在接收队列中最后检测到的欠载运行状态之前是溢出状态,则维持所述流控制帧中的当前暂停时间值。
26.如权利要求24所述的计算机程序产品,还包括如果在接收队列中最后检测到的欠载运行状态之前不是溢出状态,则判断在接收队列中检测到的欠载运行频率是否超过规定的阈值。
27.如权利要求26所述的计算机程序产品,还包括如果在接收队列中检测到的欠载运行频率超过了规定的阈值,则将所述暂停时间值减少一个或者多个规定的暂停时间增量。
28.一种控制进入链路合作设备的数据包业务流的系统,包括检测链路合作设备中接收队列的占用率水平的装置;根据所检测到的接收队列占用率水平设置流控制帧内的暂停时间值的装置;以及从该链路合作设备将所述流控制帧发送到对应的远程链路合作设备的装置。
29.如权利要求28所述的系统,其中,所述链路合作设备是以太网适配器或者网络交换机。
30.如权利要求28所述的系统,其中,所述检测链路合作设备中接收队列的占用率水平的装置包括检测接收队列溢出状态的装置。
31.如权利要求30所述的系统,所述检测接收队列溢出状态的装置包括检测所述接收队列的占用率水平是否超过低于100%占用率水平的预定水平的装置。
32.如权利要求31所述的系统,根据所检测到的接收队列占用率水平来设置流控制帧内的暂停时间值的装置包括将所述暂停时间值增加一个或者多个规定的暂停时间增量的装置。
33.如权利要求28所述的系统,所述检测链路合作设备中的接收队列的占用率水平的装置包括检测接收队列欠载运行状态的装置。
34.如权利要求33所述的系统,所述检测接收队列欠载运行状态的装置包括检测所述接收队列的占用率水平是否低于高于0%占用率水平的预定水平的装置。
35.如权利要求33所述的系统,还包括响应于检测到的接收队列欠载运行状态,从所述链路合作设备发送XON流控制信息包的装置。
36.如权利要求33所述的系统,根据所检测到的接收队列占用率水平来设置流控制帧内的暂停时间值的装置包括根据欠载运行规定的XOFF调整条件设置暂停时间值的装置。
37.如权利要求36所述的系统,根据欠载运行规定的XOFF调整条件设置暂停时间值的装置包括根据在接收队列中最后检测到的欠载运行状态之前是否是溢出状态来设置所述暂停时间值的装置。
38.如权利要求37所述的系统,还包括如果在接收队列中最后检测到的欠载运行状态之前是溢出状态,则维持所述流控制帧中的当前暂停时间值的装置。
39.如权利要求37所述的系统,还包括如果在接收队列中最后检测到的欠载运行状态之前不是溢出状态,则判断在接收队列中检测到的欠载运行频率是否超过规定的阈值的装置。
40.如权利要求39所述的系统,还包括如果在接收队列中检测到的欠载运行频率超过了规定的阈值,则将所述暂停时间值减少一个或者多个规定的暂停时间增量的装置。
全文摘要
本申请涉及在交换全双工以太网络中进行数据包流控制的方法和系统。具体地公开了用于控制进入链路合作设备比如以太网适配器的数据包业务流的方法、系统和计算机程序产品。在一种实施例中,监视适配器接收队列或者缓冲器的占用率水平,以检测接收队列溢出或者欠载运行状态或者事件。检测到的溢出或者欠载运行状态或事件被用作调整暂停时间流控制帧内的暂停时间值的标准。从该链路合作设备将该暂停时间流控制帧发送到对应的远程链路合作设备,以根据调整后的暂停时间值暂停数据包传输。
文档编号H04L12/56GK1787487SQ200510119460
公开日2006年6月14日 申请日期2005年11月10日 优先权日2004年12月7日
发明者詹姆斯·布莱恩·康宁汉姆 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1