以太网体系结构中基于优先级的流控制方法和装置的制作方法

文档序号:7735328阅读:397来源:国知局
专利名称:以太网体系结构中基于优先级的流控制方法和装置的制作方法
技术领域
本发明一般地涉及数据网络领域,更具体地,本发明涉及以太网体系结构内基于优先级的流控制的方法和装置。
背景技术
随着计算机技术的发展,网络在将计算机系统通信地耦合在一起以允许交换信息方面的应用也在发展。这种网络拓扑的一个例子是通常被称为以太网标准拓扑的带冲突检测的载波侦听多路访问(CSMA/CD)访问方法和物理层规范,其由电子电气工程师协会(IEEE)赞助开发并升级为标准802.3(2000年)。以太网标准(802.3x)的一个规定有助于两个网络设备之间的点对点流控制。
简单地说,流控制是一种这样的机制,该机制在网络设备的以太网接口的媒体访问控制器(MAC)内实现,用于管理两个全双工以太网设备(即工作站、集线器、交换机、路由器等)之间的数据流。根据802.3x的以太网流控制机制,已经达到接收缓冲区阈值(这种情况俗称过满(oversubscribed))的设备(或端口)发出控制消息,该控制消息命令发送设备暂停以太网流量的发送,直到收到进一步的通知(或暂停一段设定的时间)为止。一旦先前过满设备的接收缓冲区能够接收另外的内容,就可以发送另一个控制消息以恢复以太网流量的发送。在可替换的实现中使用了定时器,其中如果接收设备需要继续“关”(off)状态,则一旦定时器到时,就必须发出另一个控制消息以维持这个状态。在这个方面,以太网流控制规定被俗称为XON/XOFF(发送开/发送关)方案,其中,两个网络设备之间的整个以太网通信链路或者被允许,或者被禁止。
常常与802.3x的传统以太网流控制机制相关联的一种限制是,该机制不区分流量的类型或者流量的优先级。也就是说,在基本的XON/XOFF以太网接口内没有用于区别以太网流量的不同级别的规定,所述级别例如是由要求不同服务等级、服务质量等的应用程序产生的。结果,没有用于使时间敏感性网络内容(例如多媒体内容)比非时间敏感性内容(例如电子邮件内容)更优先的规定。到最近之前,IEEE 802.3x的传统以太网流控制规定足以支持一般数据网络的流量。但是今天,随着越来越多的应用程序需要来自网络资源的不间断的内容流,以太网体系结构中基于优先级的流控制的缺乏正成为一种不可忍受的限制。因此,急需一种新的流控制机制,它不会受到通常与传统的以太网流控制相关联的固有限制的阻碍。在接下来的讨论中就提供了这样一种解决方案。


通过示例的方式而不是通过限制的方式对本发明进行了图示说明,在附图中相同的标号指相似的元件,其中图1是示例性数据网络的方框图,所示数据网络并入了根据本发明教导的创新的流控制机制;图2是根据本发明的一个示例性实现,用创新的流控制代理增强的示例性网络接口的方框图;图3是示例性接收缓冲区的图示说明,所示接收缓冲区适合于按照本发明的基于优先级的流控制机制使用;图4是示例性发送缓冲区的图示说明,所示发送缓冲区适合于按照本发明的基于优先级的流控制机制使用;图5是根据本发明一个方面的流控制管理数据结构的图示说明,所述数据结构用在例如交换机中,以管理具有一个或多个被通信地耦合的网络元件的点对点通信链路的某些方面;图6是根据本发明的一个方面,包括流控制优先级字段的示例性以太网控制消息的图示说明;图7是根据本发明的一个方面来实现流控制的示例性方法的流程图;图8是根据本发明的一个方面,抑制以太网流量的一个子集的示例性方法的流程图;以及图9是根据本发明一个可替换实施例,包含多个可执行指令的示例性存储介质的方框图,当所述指令被执行时,使得访问机器实现增强网络接口的一个或多个方面。
具体实施例方式
本发明一般地涉及以太网体系结构中基于优先级的流控制的方法和装置。在这个方面,引入了包含流控制代理的增强型网络接口(enhancednetwork interface,ENI)。根据一个示例性实现,流控制代理被集成在ENI的媒体访问控制器(MAC)中,以有助于基于优先级的流控制。
根据本发明的一个方面,流控制代理监视ENI的接收能力,并有选择地产生指示一个优先级别的控制消息,ENI能够接收高于或低于该优先级别的以太网流量。控制消息被发送给被通信地耦合的设备,以有效地抑制想要从接收控制消息的设备送到ENI的以太网流量的至少一个子集的发送。在这个方面,流控制代理有效地区分以太网流量的优先级,并且如果需要,会根据识别出的主网络接口(例如ENI)的接收能力来有选择地抑制这种流量的仅仅一个子集。
根据本发明的另一个方面,增强网络接口将具有不同优先级别的内容接收到发送缓冲区中。ENI的媒体访问控制器(MAC)识别所接收内容的目的地,以及如果有的话,还识别与识别出的目的地相关联的流控制优先级,并至少部分地基于相关联的流控制优先级别,有选择地只转发为给定网络设备而指定的内容的允许子集。在这个方面,增强网络接口有助于多个优先级的数据跨越以太网链路,动态地在这些优先级的仅一个子集上实行流控制。本领域的技术人员应该理解,如果具有了对以太网流量的一个子集(例如,仅较低优先级的流量)实行流控制的能力,则通过在拥塞期间只允许高优先级的数据通过链路,就可以有效地增强感知到的以太网性能。
在整个本说明书中,提到“一个实施例”或“实施例”是指结合实施例描述的特定的特征、结构或特性被包含在本发明的至少一个实施例中。因此,在整个本说明书中多个地方出现的短语“在一个实施例中”或“在实施例中”不一定都指同一个实施例。此外,这些特定的特征、结构或特性可以在一个或多个实施例中以适当的方式组合在一起。
示例性点对点以太网通信链路本领域的技术人员可以理解,以太网拓扑内的通信是基于每个通信链路而被管理的。因此,当讨论以太网拓扑内的流控制时,一般会理解为在两个以太网允许的网络设备之间的流控制,所述网络设备例如是工作站、集线器、交换机、路由器等。参照图1说明了这种网络拓扑的一个例子。
图1图示了根据本发明的教导,耦合两个网络设备的示例性以太网通信链路的方框图。更具体地说,根据第一实施例100,计算设备/网络元件102通过以太网通信链路106被耦合到另一个计算设备/网络元件104上。根据本发明的示例性实现,计算设备/网络元件102和104中的每一个都被描述为包含上面介绍过的增强网络接口120。根据本发明的教导,集成在网络设备102、104中的每一个内的增强网络接口(ENI)120在这两个设备之间有效地建立了点对点以太网通信链路,该通信链路具有此前未实现的流量优先排序(例如,基于服务等级、服务类型、服务质量等)能力,这将在后面进行更充分的展开说明。
这里所使用的每一个计算设备/网络元件意在代表本领域中公知的很多种以太网元件,例如,台式计算平台、笔记本计算平台、手持设备(例如个人数字助理)、移动通信设备或者许多具有以太网网络资源的网络管理设备(集线器、交换机、路由器等)中的任何一种。但是对于将在后面进行更充分描述的增强网络接口(ENI)的集成来说,每一个计算设备/网络元件都意在代表当前已经在本领域中公知的这些传统设备——为了实现本发明的教导,除了ENI之外不需要其它特殊的能力。因此,不需要进一步描述主设备102、104的体系结构细节。
如上面已经介绍并将在后面进行更充分的展开说明的那样,ENI 120被赋予了先进的流控制能力,以有效地建立并独立地管理以太网通信链路106内不同优先级的以太网流量。根据本发明的一个方面,ENI 120监视与不同内容优先级别相关联的多个缓冲区中每一个缓冲区的接收能力,并产生指示一个优先级别的控制消息,ENI有容量来接收高于或低于该优先级别的内容。根据一个实现,所述优先级别指示一个级别,ENI 120的接收缓冲区可以接收高于该级别的内容。在这样的实现中,处于和/或低于与所指定的优先级别相关联的缓冲区的一个或多个缓冲区已经达到了容量阈值。
根据本发明的另一个方面,ENI 120对指示流控制优先级别的控制消息的接收做出响应。在这个方面,ENI 120至少部分地基于从远程网络元件接收到的控制消息来监视发送缓冲区中的内容,并将所选内容从发送缓冲区转发到远程网络实体。
虽然在图1中没有具体指示,但是应该理解,增强网络接口(ENI)120可以与传统以太网接口兼容,以实现在前面提到的IEEE 802.3x中列举的传统流控制规定,在本文中通过引用而包含了其公开文本以用于全部目的。即,如果点对点以太网通信链路的两个网络元件都配备了创新的ENI120,就可以在通信链路106上建立基于优先级的流控制。或者,如果两个网络元件中的一个配备了ENI 120,而点对点以太网通信链路的另一个元件设有传统的网络接口,则ENI 120将参与802.3x中所定义的传统流控制机制。
具有基于优先级的流控制的示例性网络接口图2图示了包含本发明教导的示例性增强网络接口(ENI)的方框图。根据图2所图示的示例性实施例,ENI 120被描述为包含主机系统接口202、一个或多个输入/输出缓冲区204、媒体访问控制器206、编码器/译码器组208、连接单元接口210以及一个或多个物理介质接口212,它们中的每一个按图示方式耦合。根据本发明的教导,ENI 120被描述为包含创新性的流控制代理214,以有助于与远程网络接口之间的基于优先级的流控制,所述远程网络接口也被类似地赋予了基于优先级的流控制特征。在图2的图示示例性实现中,流控制代理214被集成在一个(或多个)媒体访问控制器206内。根据这种实现,流控制代理214可以在由MAC执行的软件或固件内容中实施,以实现这里描述的基于优先级的流控制特征。但是,本领域的技术人员应该理解,流控制代理214可以被实施为网络接口的独立元件,例如,可以是专用集成电路(ASIC)、专用微控制器等。在这个方面,流控制代理214的可替换实现被预期为处于所要求保护的发明的精神和范围之内。
这里所使用的主机系统接口202提供了与主处理系统之间的通信链路。在某些实现中,主机系统接口202提供了对例如下述应用程序的通信接口,所述应用程序在主计算系统上执行并有益地利用了ENI 120的网络通信资源。如将在后面更充分地讨论的那样,根据这种示例性实现(例如,作为计算系统的网络接口卡(NIC)),来自这种主应用程序的内容通过主机系统接口202被接收,并被缓冲存储在I/O缓冲区204的一个或多个发送缓冲区中。
这里所使用的I/O缓冲区204意在代表本领域中公知的很多种存储系统中的任何一种。根据一个实现,I/O缓冲区204包括发送数据结构或队列,以及接收数据结构。根据一个示例性实现,MAC 206维护和管理许多接收队列,其中每一个队列都与特定的内容优先级别相关联。这样,如将在后面更充分地讨论的那样,MAC 206的流控制代理214在做出基于优先级的流控制决定时监视这种接收队列的接收容量。本领域的技术人员应该理解,I/O缓冲区204可以由许多不同类型的物理存储器/存储设备中的任何设备组成。
这里所使用的编码器/译码器208、AUI 210和PMI 212中的每一个都意在代表一般网络接口的这种元件。即,这种元件208到212除了其与一般的MAC 206以及特定的流控制代理214之间的关系之外,它们意在代表本领域中公知的很多种这样的设备中的任何设备,因此,在这里不需要进一步的描述。
如上面所介绍的,媒体访问控制器(MAC)206控制网络接口内的信息流。根据图2的图示示例性实现,MAC 206被描述为包含创新性的流控制代理214。如将在后面更充分地讨论的那样,流控制代理214有选择地实现两个网络设备之间点对点以太网通信链路内基于优先级的流控制。在这个方面,流控制代理214检测与内容相关联的优先级别,并按照从被耦合的设备接收到的控制消息中识别出的优先级别,有选择地仅将内容的一个子集转发给该被耦合的设备。这里所使用的优先级别,可以由产生内容的应用程序来支配(例如,如果是从主应用程序接收到的话),或者嵌入到内容的管理部分(头部(header)/尾部(footer))内。根据一个实现,流控制代理214对例如从被耦合的网络元件接收到的内容的管理信息进行检查,检查的内容是指示优先级别的服务等级(CoS)、服务类型(ToS)和/或服务质量(QoS)表示中的一个或多个,并将这种接收到的内容存储在与其识别出的优先级别相当的缓冲区中。
此外,流控制代理214监视网络接口的接收缓冲区的容量,并有选择地产生并发出控制消息,以抑制从被耦合设备的内容发送。如将在后面更充分地展开说明的那样,流控制代理214监视I/O缓冲区的接收缓冲区,以识别与一个或多个内容优先级别相关联的缓冲区中每一个的接收能力。一旦一个缓冲区已经达到了特定的阈值,流控制代理214就产生指示优先级别的控制消息,高于该优先级别的内容仍可以被接收。具有优先级别信息的控制消息的发送导致被适当地配备的接收网络接口对所具有的优先级别低于控制消息中所指示的优先级别的流量进行抑制。根据一个实现,接收控制消息的网络设备暂停所具有的优先级别低于控制消息中所指示的优先级别的流量的发送,直到随后接收到修改/去除对该特定优先级别的保持的控制消息。如上面所说明的,在可替换实现中可以使用定时器,其中,与在其它情况下被中断的优先级别相关联的通信可以在一段特定的时间(该段特定的时间是预定的,或者是在接收到的控制消息内所指示的)之后重新开始。在这个方面,流控制代理214有效地实现了基于优先级的流控制机制,提高了感知到的以太网容量和能力。
示例性数据结构现在参照图3,给出了示例性存储器系统300的至少一个子集的图示说明。根据图3的图示示例,存储器系统300被描述为包含多个接收缓冲队列302、304和306。根据本发明的一个示例性实现,流控制代理214有效地使用缓冲区302、304、306中的每一个作为接收缓冲区,以从远程网络设备接收内容。根据本发明的教导,每一个缓冲区都与具有不同优先级别的内容相关联,例如优先级别1内容、优先级别2内容,直到优先级别N内容(其中,N指示接口或通信协议所支持的优先级别的数量)。如上面所介绍的,缓冲队列302、304和306中的每一个可以由许多存储器设备组成。或者,不同缓冲区中的每一个可以只占用一个存储器设备的不同空间。此外,虽然被图示为基本上同样大小,但是本领域的技术人员应该了解,在某些实现中,使一个级别的流量优先于另一个级别的流量可能是有利的。可以实现这种情况的一种方式是,为较高的优先级别提供更多的存储器和更高的阈值,而为较低的优先级别分配较少的存储器和/或较低的缓冲阈值。
如将在后面更充分地展开说明的,缓冲队列302、304和306中的每一个都用阈值线308标记。这里所使用的流控制代理214监视缓冲区302、304和306中每一个内的内容(例如310、312等),并且在这种内容达到和/或超过阈值308时,流控制代理214产生控制消息,该控制消息指示与已经达到阈值308的缓冲区相关联的优先级别。然后,实现本发明教导的接收网络设备将中断下述内容的发送,所述内容所具有的优先级别处于或低于接收到的控制消息中所指示的优先级别。
图4提供了适合于根据本发明的教导使用的发送队列400的图示说明。根据图4的图示示例性实现,发送队列400被描述为包含多个条目402,其中每个条目都与内容的数据报(或流)相关联。根据一个示例性实现,条目402中的每一个代表具有类似优先级别的多个内容。应该理解,发送和接收队列的数量不需要相同。在一个示例性实现中,流控制代理214可以实现许多发送队列,以有助于接收网络元件所允许的精确的流控制;而只实现两个接收缓冲区——一个用于高优先级的流量,另一个用于低优先级的流量。即,发送队列和接收队列的数量是彼此独立的。
如将在后面更充分地展开说明的,如果流控制代理214接收了指示优先级别为四(4)的控制消息,则与处于或低于优先级别四(4)的优先级别相关联的条目404中的内容的发送将被中断,而与高于四(4)的优先级别——即优先级别五(5)及更高——相关联的条目406中的内容的发送可以继续。
图5是适合于根据本发明的教导使用的示例性管理数据结构500的图示说明。更具体地,图5图示说明了由网络接口使用的示例性管理数据结构500,该网络接口用多个设备,即在多个点对点以太网通信链路上,实现了基于优先级的流控制。如图所示,示例性管理数据结构500至少包括目的地标识字段502、流控制优先级字段504和与活动(active)点对点通信链路的数量相关联的许多条目506。本领域的技术人员应该理解,这种数据结构500也可以在单个流控制代理214支持多个通信端口(即,用多达相同数量的活动点对点通信链路)的网络元件(集线器、交换机、路由器等)中实现。应该理解,在这种网络设备的每一个端口都具有专用流控制代理214的情况下(例如在专用MAC 216内),可以不需要这种数据结构。
这里所使用的目的地标识字段被用于唯一地识别通信链路和/或通过该通信链路耦合的远程网络元件。在这个方面,它可以是硬编码的端口值,用网络元件标识来动态更新,等等。流控制优先级字段504被用于存储与特定通信链路相关联的当前流控制优先级别。如图所示,条目506中的某些条目指示流控制优先级别。根据本发明的一个示例性实现,如描述过的那样,流控制代理214与依赖于传统Xon/Xoff流控制方案的传统网络接口是兼容的。
参照图6,图示说明了示例性的控制消息数据结构。根据图6的图示示例,控制消息数据报600被描述为包括管理部分602,管理部分602包括下列字段的至少一个子集数据报源信息字段604、目的地信息字段606、类型/长度字段608和流控制优先级别字段610。这里所使用的管理信息602可以包含在数据报的头部、尾部或其它子集中。
源信息字段604指示数据报的源,而目的地信息指示数据报的最终目的地。类型/长度字段608指示数据报是控制消息类型,并提供关于数据报大小的表示。根据本发明的教导,优先级别字段610指示基于每个链路实现的流控制优先级规定。根据某些实现,控制消息600是基于每个链路有效的,在这个方面,流控制优先级别610仅指示该链路的流控制规定。可以想到可替换的实施例,其中,在通信地将内容源102和内容目的地104相耦合的多个点对点链路上使用优先级别信息。本领域的技术人员应该理解,根据本发明的基于优先级的流控制的一个或多个实现,控制消息600可以被用于允许给定优先级别的通信、禁止给定优先级别的通信和/或恢复给定优先级别通信的禁止(即,当使用定时器机制来自动允许先前被禁止的优先级别时)。
示例性操作和实现上面已经介绍了本发明的操作环境和体系结构方面的元件,现在将注意力转向图7和图8,其中,更详细地给出了基于优先级的流控制机制的示例性实现。为了便于说明而不是限制,在适当的时候将继续参照图1到图6来展开说明图7和图8的方法。但是应该理解,图7和图8的教导也可以在可替换的网络体系结构/配置中实现,而不会脱离本发明的精神和范围。
图7是根据本发明的一个方面,实现流控制的示例性方法的流程图。根据图7的图示示例性实现,方法700从方框702开始,即识别网络接口的接收容量/能力。根据本发明的教导,流控制代理214扫描多个接收缓冲区302、304和306中的每一个,以判断缓冲区中的内容是否已经达到/超过了阈值308,如方框704所示。如上面所介绍的,缓冲区302、304、306中的每一个都与不同的内容优先级别相关联。
在方框704中,如果缓冲区负载没有超过阈值308,则网络接口允许从远程网络设备继续接收内容,同时流控制代理214继续监视与每一个优先级别相关联的接收容量,直到达到了一个缓冲区中的阈值。
如果达到了缓冲区的阈值,则过程继续到方框708,在这里,流控制代理214识别过满的优先级别。在这个方面,流控制代理214识别接收缓冲区302、304、306中的哪一个已经达到了阈值308,并产生指示优先级别610的控制消息600,高于或低于优先级别610是过满的,如在方框710中所示。根据一个实现,优先级别指示下述级别,流控制代理214将中断处于或低于所述级别的发送。在可替换的实现中,控制消息600的字段610中所指示的流控制优先级别可以指示一个内容优先级别,高于该级别是过满的,中断处于或高于控制消息600中所指示的级别的内容的发送。
在方框712中,流控制代理214将控制消息600发出到其它网络设备。更具体地说,流控制代理214将所产生的指示流控制优先级别610的控制消息600发送到通过点对点以太网通信链路被耦合的网络元件。根据一个示例性实现,一旦控制消息600已被发出,流控制代理214就监视与所产生的控制消息600中指示的优先级别相关联的缓冲区的容量,并在与该优先级别相关联的缓冲区变得可用(即,下降到低于阈值308)时发出修改了的控制命令,如在方框714中所示。然后过程继续到方框706。
转到图8,给出了根据本发明的一个方面,抑制以太网流量的一个子集的示例性方法的流程图。根据图8的图示示例性实现,过程从方框802开始,其中,网络接口从通过点对点以太网通信链路(例如106)被耦合的远程网络元件接收控制消息600。根据一个示例性实现,控制消息600被路由到接收网络接口的媒体访问控制器206。根据本发明的教导,在网络接口内实现的流控制代理214判断控制消息600是否包括流控制优先级信息,如方框804所示。
如果流控制代理214在接收到的控制消息600中没有识别到优先级别字段610,则过程继续到方框806,在这里,如果必要,流控制代理214按照802.3x的传统以太网流控制机制来抑制发送缓冲区400内的所有内容在点对点链路上的发送。
但是,如果流控制代理214在接收到的控制消息600中识别到优先级别610,则流控制代理214按照本发明的基于优先级的流控制特征,抑制发送缓冲区400内全部内容的适当子集的发送,如方框808所示。如上面所描述的,如果流控制代理214接收到包含优先级别字段610的控制消息600——该优先级别字段610设有优先级别四(4)及更低是过满的表示,则流控制代理214只授权由MAC 206继续发送缓冲区400的内容406,该内容代表了所具有的优先级别高于过满的优先级别的那些内容。
可替换的实施例图9是包含多个可执行指令的示例性存储介质的方框图,这些指令被执行时,会使访问的机器实现本发明创新的基于优先级的流控制机制的一个或多个方面。在这个方面,根据本发明的可替换实施例,存储介质900包括用于实现具有基于优先级的流控制特征的增强网络接口120的内容。本发明的可升级的网络接口200。
在上面的描述中,为了说明的目的,已经给出了大量的特定细节以提供对本发明的完整理解。但是,本发明可以不用这些特定细节中的某些而实现,这对于本领域的技术人员来说是很清楚的。在其它情况下,以方框图的形式示出了公知的结构和设备。
本发明包括多个步骤。本发明的步骤可以通过诸如在图1到图5中示出的硬件组件来实现,或者可以被包含在机器可执行指令中,这些指令可以被用于使编程有这些指令的通用或专用处理器或者逻辑电路执行所述步骤。或者,可以由硬件和软件的组合来执行这些步骤。此外,虽然已经在网络接口设备的上下文中描述了本发明,但是本领域的技术人员应该了解,这种功能可以包含在诸如集成在计算设备内的大量可替换实施例的任何一个中,并且可以容易地适用于无线以太网实现以及这里所描述的有线环境。
本发明可以被提供为计算机程序产品,其可以包括机器可读介质,该介质在其上存储有指令,该指令可以被用于对计算机(或其它电子设备)进行编程以执行根据本发明的过程。机器可读介质可以包括但不限于软盘、光盘、CD-ROM,以及磁光盘、ROM、RAM、EPROM、EEPROM、磁卡或光卡、闪存或其它类型的适合于存储电子指令的介质/机器可读介质。此外,本发明还可以作为计算机程序产品被下载,其中,可以通过通信链路(例如调制解调器或网络连接),以包含在载波或其它传播介质中的数据信号的方式,将所述程序从远程计算机传送到发请求的计算机。
许多方法都是以它们最基本的形式描述的,但是,可以从任何一种方法中添加或删除步骤,并且可以从所描述的任何消息中添加或去除信息,而不脱离本发明的基本范围。例如,在一个实施例中,使用了利用不同阈值设置点的单个接收缓冲区,其会有效地区分优先权流控制的不同级别。作为一个例子,如果该单个队列的50%是满的,则发出值为4(中途点(half way point),即高和低流量)的流控制消息;如果75%是满的,则发送值为2的消息,等等。本领域的技术人员应很清楚,可以做出很多进一步的修改和改装。所提供的具体实施例不是用来限制本发明,而是用来说明本发明。本发明的范围并非要由上面提供的特定示例来确定,而是仅由所附权利要求来确定。
权利要求
1.一种方法,包括识别网络设备的与以太网流量的一个或多个优先级别相关联的接收能力;以及产生包括流控制优先级别的控制消息,所述流控制优先级别指示识别出的优先级别,所述网络设备有能力接收高于或低于该优先级别的以太网流量。
2.根据权利要求1所述的方法,还包括将所产生的控制消息发送到被通信地耦合的网络设备,其中,一接收到所产生的控制消息,所述被通信地耦合的网络设备就根据接收到的控制消息而中断以太网流量的一个子集。
3.根据权利要求1所述的方法,其中,识别包括确定多个缓冲区中每一个的可用缓冲容量,所述多个缓冲区与同等数量的多个以太网优先级别相关联。
4.根据权利要求3所述的方法,其中,与特定以太网优先级别相关联的可用缓冲容量指示所述缓冲区接收该优先级别额外的以太网流量的能力。
5.根据权利要求3所述的方法,其中,每一个优先级别的缓冲区由一个或多个存储器设备组成。
6.根据权利要求3所述的方法,其中,与所述优先级别中的每一个相关联的缓冲区是在公共物理缓冲区内实现的虚拟缓冲区。
7.根据权利要求3所述的方法,其中,所产生的控制消息包括对优先级别的指示,接收缓冲区有可用容量用于接收比所述优先级别高的相关联优先级别的以太网流量。
8.根据权利要求7所述的方法,其中,接收网络设备在下述以太网流量的发送中启动暂停,该以太网流量所具有的优先级别低于接收到的控制消息中所表示的优先级别。
9.根据权利要求1所述的方法,其中,产生控制消息包括产生包括优先级字段的以太网控制分组,所述优先级字段指示所述流控制优先级别。
10.根据权利要求9所述的方法,其中,所述优先级字段被包括在所述以太网控制分组的头部部分中。
11.根据权利要求1所述的方法,还包括接收以太网流量;识别与接收到的以太网流量的每一个分组相关联的优先级别;以及至少部分地基于识别出的与所述以太网分组相关联的优先级别,将每一个接收到的分组转发到接收缓冲区。
12.根据权利要求11所述的方法,还包括监视与以太网流量的每一个优先级别相关联的缓冲区的接收能力;以及如果必要,根据识别出的与一个或多个优先级别相关联的接收能力,发出控制消息以抑制以太网流量的至少一个子集的发送。
13.根据权利要求12所述的方法,其中,抑制以太网流量的一个子集的发送包括将以太网流量的所述子集的发送暂时中断,中断一段设定的时间和/或直到接收到指示对以太网流量的所述子集的发送可以重新开始的另一个控制消息为止。
14.一种方法,包括从网络设备接收指示流控制优先级别的控制消息;以及抑制将以太网流量的一个子集向所述网络设备的发送,所述子集所具有的优先级别高于或低于接收到的控制消息中所指示的优先级别。
15.根据权利要求14所述的方法,其中,所述流控制优先级别指示与以太网流量的一个子集相关联的优先级别,高于该优先级别时发出网络设备具有接收能力。
16.根据权利要求14所述的方法,其中,所述控制消息是以太网控制消息。
17.根据权利要求16所述的方法,还包括分析接收到的以太网控制消息的头部,以识别流控制优先级别。
18.根据权利要求14所述的方法,其中,抑制发送包括中断对以太网流量的一个子集的发送,该子集所具有的优先级别低于接收到的控制消息中所指示的流控制优先级别,直到随后接收到指示发出网络设备能够接收以太网流量的所述子集的控制消息为止。
19.根据权利要求14所述的方法,还包括从主机网络设备接收内容,用于向通过以太网被通信地耦合的另一个网络设备发送;以及至少部分地基于这种内容的源,给接收到的内容指定优先级别。
20.根据权利要求14所述的方法,还包括从在主机网络设备上执行的一个或多个源应用程序接收内容,所述内容用与其源应用程序相关联的优先级别来标记;以及至少部分地基于所述内容的优先级别以及接收到的抑制对这种以太网流量的一个子集的发送的控制消息,有选择地将接收到的内容发送给通过以太网被通信地耦合的另一个网络设备。
21.一种网络接口,包括多个接收缓冲区,所述接收缓冲区中的每一个与以太网流量的特定优先级别相关联;以及控制逻辑,该控制逻辑被耦合到所述接收缓冲区,以识别所述接收缓冲区中每一个的接收能力,并有选择地产生包括流控制优先级别的控制消息,该流控制优先级别指示识别出的优先级别,所述网络接口有能力接收高于或低于该优先级别的以太网流量。
22.根据权利要求21所述的网络接口,还包括发送缓冲区,该发送缓冲区响应于主机网络设备和所述控制逻辑,从在所述主机网络设备上执行的一个或多个应用程序接收内容,以通过以太网向其它网络设备发送,接收到的内容包括对优先级别的指示。
23.根据权利要求22所述的网络接口,其中,接收到的内容中所述对优先级别的指示由其源应用程序确定。
24.根据权利要求22所述的网络接口,其中,所述控制逻辑从其它网络接口接收控制消息,其中,所述控制消息的至少一个子集包括流控制优先级别,该流控制优先级别指示不能接收所具有的优先级别低于所指示的流控制优先级别的以太网流量。
25.根据权利要求24所述的网络接口,其中,所述控制逻辑中断所具有的优先级别低于所指示的流控制优先级别的以太网流量从所述发送缓冲区向已发出所述控制消息的网络设备的发送。
26.根据权利要求21所述的网络接口,其中,所述控制逻辑是媒体访问控制器。
27.根据权利要求26所述的网络接口,所述媒体访问控制器包括用于仅在以太网流量的一个子集上实现流控制的增强型流控制能力。
28.一种机器可访问介质,包括内容,当该内容被访问机器执行时,使得该机器实现具有增强型的以太网流控制能力的网络接口,用于有选择地仅抑制以太网流量的一个子集。
29.根据权利要求28所述的机器可访问介质,其中,所述网络接口识别网络设备的与以太网流量的一个或多个优先级别相关联的接收能力,并有选择地产生包括流控制优先级别的控制消息,所述流控制优先级别指示识别出的优先级别,所述网络设备有能力接收高于或低于该优先级别的以太网流量。
30.根据权利要求28所述的机器可访问介质,其中,所述网络接口从主机网络设备接收内容,接收到的内容指示与其源应用程序相关联的优先级别,并且其中,所述网络接口至少部分地基于从通过以太网被通信地耦合的另一个网络设备接收到的、指示了流控制优先级信息的控制消息,抑制将接收到的内容向所述另一个网络设备的发送。
全文摘要
本发明一般地描述了以太网体系结构中基于优先级的流控制的方法和装置。根据本发明的一个方面,提出了一种方法,该方法包括识别网络设备的与以太网流量的一个或多个优先级别相关联的接收能力,以及产生包括流控制优先级别的控制消息,所述流控制优先级别指示识别出的优先级别,所述网络设备有能力接收高于或低于识别出的优先级别的以太网流量。
文档编号H04L12/56GK1633786SQ02813258
公开日2005年6月29日 申请日期2002年12月26日 优先权日2002年1月3日
发明者马克·T·福伊尔施特雷特尔, 布拉德利·J·布思 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1