CN1419767A - 网络处理器利用断开/重连流队列调度输出的方法和系统 - Google Patents
网络处理器利用断开/重连流队列调度输出的方法和系统 Download PDFInfo
- Publication number
- CN1419767A CN1419767A CN01807134A CN01807134A CN1419767A CN 1419767 A CN1419767 A CN 1419767A CN 01807134 A CN01807134 A CN 01807134A CN 01807134 A CN01807134 A CN 01807134A CN 1419767 A CN1419767 A CN 1419767A
- Authority
- CN
- China
- Prior art keywords
- time
- formation
- calendar
- service
- information unit
- 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.)
- Granted
Links
Images
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/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
-
- 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
- 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
- H04L47/2408—Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/527—Quantum based scheduling, e.g. credit or deficit based scheduling or token bank
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
- H04L47/564—Attaching a deadline to packets, e.g. earliest due date first
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5629—Admission control
- H04L2012/5631—Resource management and allocation
- H04L2012/5636—Monitoring or policing, e.g. compliance with allocated rate, corrective actions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5649—Cell delay or jitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5651—Priority, marking, classes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5679—Arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5681—Buffer or queue management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Hardware Redundancy (AREA)
- Communication Control (AREA)
- Diaphragms For Electromechanical Transducers (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种从网络处理器向数据传输网络以优先次序移动信息单元的系统和方法,可适应数种不同的服务级。本发明包含一种根据储存的与信息单元的各种源相关联的优先级对来自网络处理单元的经过处理的信息单元(或帧)的出口进行调度的方法和系统。在优选实施例中的优先级包含低延迟服务、最小带宽、加权公正排队和防止用户长时间继续超过其服务级的系统。本发明包含多个具有不同服务速率的日历,允许用户选择其想要的服务速率。如客户选择高带宽服务,则用户将被纳入一个日历中而可以得到比用户选择低带宽更频繁的服务。
Description
技术领域
本发明涉及通信网络设备,如用来链接各种类型和能力的信息处理系统或计算机的设备,本发明还涉及在此种设备中用来进行数据处理的部件和方法。本发明包含一种经过改进的用来调度从连接到多个网络处理单元的流控制系统经MAC向数据传输网络的信息单元分配的系统和方法。更具体说,本发明涉及可处理正在处理可变大小的信息分组(信息包)或帧的多个用户的调度,为从流控制系统向数据传输网络提供的各帧确定排序而同时允许将多个不同的优先级赋予不同的用户。
背景技术
下面对本发明的描述系基于一个前提,即读者具有关于网络数据通信和在此种网络通信中有用的路由器及交换机的基本知识。特别是,本说明书的前提是熟悉国际标准化组织(ISO)的网络体系结构模型,该模型将网络运行分为层。基于ISO模型的典型体系结构的层1(有时称其为“L1”)是物理通路或物理介质,信号从此层向上通过层2(或“L2”)、层3(或“L3”)等等一直到层7,层7是应用程序层,应用程序驻留于与网络链接的计算机系统中。在此文件从头到尾,对这些层如L1、L2、L3的引用的意图是援引所述网络体系结构的相应层。本说明书也基于对于在网络通信中使用的称为分组(包)或帧的位串具有基本的了解。
从现今的网络运行观点出发,带宽考虑(或系统在单位时间内可处理的数据量)日益重要。通过网络的通信量正在增加,无论是纯粹的容量还是通信业务的种类都在增加。有一个时期,某些网络主要用于某一类型的通信业务,比如经电话网络的话音通信和经数据传输网络的数字数据的通信。当然,除了语音信号之外,电话网络也承载有限数量的“数据”(如主叫号和被叫号,用于路由选择和计费目的),但某些网络的主要用途,在一个时期,曾经一直主要是传输同类分组。
随着因特网(松散链接的计算机的公众网,有时称为万维网或“www.”)和在专用数据传输网络中存在的因特网的内部模拟(有时称为内部网)的日益普及,通信量出现显著增加。因特网和内部网涉及在远程地点之间传输大量信息以满足日益增长的对远程访问信息的需要和正在出现的应用。因特网已经对分散的地理区域中的大量用户开放了数量急剧增长的远程信息并开辟了多种新应用,如电子商务,结果导致网络负载的巨大增加。其他的应用,如电子邮件,文件传送和数据库访问进一步增加了网络的负载,某些网络早已经由于高水平的网络通信量而处于紧张状态。
当前语音和数据通信量也汇聚于网络。目前数据通过因特网(通过因特网协议或IP)传输是免费的,并且语音通信量通常是走费用最低的路径。IP语音通信(VoIP)和异步传输模式或ATM语音通信(VoATM)或帧中继语音通信(VoFR)等技术在目前的条件下是语音通信传输的费用较经济的替代途径。随着这些服务的移植,业界将会专注于如下的问题,如改变费用结构和关心在处理器之间传输信息的服务费用和服务质量之间的协调问题。
服务质量方面包括容量或带宽(在一段时间内能容纳多少信息)、响应时间(处理一个帧需要多长时间)和处理的灵活性(是否可响应不同的协议和帧配置,如不同的封装或帧标题方法)。使用资源的人会考虑服务质量以及服务费用,其折中方案取决于提供的条件。最好是允许向用户提供多种不同的优先级或调度算法,由用户决定他是否要求(从而支付相应的费用)保用带宽、尽力而为的服务(best effort),或是在高峰期享有尽力而为的服务的保用带宽。此外,最好是,分配带宽的系统具有一个这样的系统:可通过否决用户的超过其选择并付费的范围的容量而强制执行用户所选择的优先级和带宽。
某些现有的系统以多种方式处理来自一个处理系统的输出信息单元。有一种建议是使用保证一组队列之间公正性的循环调度程序。另一种是使用不同的优先级并且各有各的队列。在此种系统中,如果你具有绝对的优先级,其中最高优先级的工作第一个处理,而最低优先级的工作可能永远得不到服务。还有一种调度输出的方法涉及多个优先表。也有使用层次分组调度系统的。甚至还有使用不同调度技术的组合,在确定信息单元发送给数据传输网络的次序时使用几种不同的调度方法的系统。
其他一些系统使用一种循环形式的加权优先级技术,它服务于所有队列,对一些队列的服务频率比对其他队列更高,其基础是一种确定服务级的算法。即使是这种加权优先级系统也会向连续超过赋予用户的服务级的用户提供服务,即使在用户超过赋予它的服务级,也会-纵然不是经常-继续服务,这使系统难于执行服务级政策。
在判断服务哪一个客户时对分组或帧的大小的考虑为服务系统增加了一种公正性的量度,因为处理大帧的用户消耗更多的系统能力,因此应该比处理小帧的用户接受服务的机会少。某些现有的系统在分配资源时考虑传输的规模大小,而其他的系统则不然。某些通信系统使用统一的固定大小的分组,使得无须考虑分组的大小,但其他系统在分配资源时则不考虑分组的大小。
其他现有的系统的目的地是处理通用大小的信息单元,如在所谓的异步传输模式(或ATM)系统中,于是在判断当前或未来信息单元的优先级时不考虑信息单元的大小。具有加权(weight-driven)调度器的ATM系统是现有技术中用来调度ATM系统的输出的已知解决方案之一。
在任何此种系统中,最好是能够适应系统的约束,如给客户分配一定的保用带宽而不论帧的大小,同时提供一种机制来提供如下的附加功能:适应超过保用带宽的峰值输入而同时针对大而持续的超过系统参数的情况提供保护,并且仍然可以高效而公平合理地使用网络处理器的能力来向数据传输网络提供输出。
系统最好是具有最大的灵活性,可以按照要求允许各种类型和层次的服务。比如,某些用户要求最小带宽,其他用户要求最小带宽但要求容许成组传输,而另外一些用户可能关心可提供“尽力而为的服务(best effort)”的较经济的服务,不管带宽是不是最小。而对带宽和成组传输规模的任何限制都必须是可由调度系统强制进行的。如果一个调度系统可以在一个简单而有效但又可以适应可变分组长度和提供分配未用带宽的加权公正(weighted-fair)排队系统中实现这些特点中的任何或全部特点,那就很理想了,但是很不幸,在现有技术中不存在这样的系统。
另外,还希望当一个流队列断开和重连时,与其未曾断开和重连相比,它不会在队列中取得更好的优先级或更好的位置。
另外,在计算调度时,最好是可以使用一个简单有效的系统,以避免给定的流在受到服务之后与其在调度中的新位置的复杂计算相关的硬件费用。
这样,现有技术的用于处理向网络传输的数据分组的系统具有不良缺点和局限,影响了系统的通用性及其运行速度。
发明概述
本发明可克服现有技术系统的缺点和局限,提供简单但有效的方法来处理来自处理系统的信息单元或帧并将帧引向输出端口以分配到数据传输网络。本发明可特别应用于处理来自多个用户的可变长度分组并且对至少某些用户作出了服务级别承诺的系统。
本发明允许使用对本系统的不同用户作出的多种类型的服务级协议或承诺。就是说,可以向一个用户提供最小保用带宽,而同时其他用户可以享受共享带宽,在有限的短时间内允许峰值带宽,对一个用户可以提供最大成组传输级服务,所有这些都已经编程并且不会影响提供给其他用户的服务。
本发明的优点在于它容许有效的利用带宽资源并容许服务级承诺得到执行,而同时容许任何剩余的带宽得到有效而合理的使用。
本发明具有的另一优点是实施资源分配的同时可适应成组传输。就是说,用户可以在有限时间内以超过用户确定的带宽的成组传输速率传输一定的通信量,但是如果用户长时间这样做,就禁止该用户超过其正常带宽进行传输,直到用户为这种过分的使用付出补偿为止。这是通过各个用户的流队列的“储备”系统而完成的,该储备是在该用户未充分使用其带宽时建立的。
本发明容许不使用除法进行简单的计算来支持被服务的流的队列中的新位置的计算。
本发明的另外一个优点是在断开和再连时,给定的流不会由于其断开而达到更好的位置。
本发明利用时隙距离来调节帧的大小和队列权重,以容许更迅速而容易地计算出下一个位置。
本发明还维护使用成组传输的运行记分并计算和维护可使用的“储备”以容许在合理范围内使用成组传输,但对所述使用加以系统约束。
所述系统的另外一个优点是可提供一个下推栈,在其中为给定时隙或周期安排的最新服务请求被赋予优先权。这是基于如下假设:较后安排的用户必定具有较高的优先级,并且对该用户的服务的任何延迟与对具有较低优先级的用户的服务的类似延迟相比,会有更大的延迟百分比。使用这种后进先出(LIFO)的系统来执行时隙请求允许系统在过载时(即在预定时间它的工作多于其处理能力),将服务中察觉到的延迟占相继服务之间的正常间隔的百分比降至最小。
附图简述
在叙述了现有技术的某些限制和缺点及本发明的某些目的和优点之后,其他的目的和优点对于本领域技术人员而言,在阅读示出本发明的改进的路由系统和方法的附图的下述说明后就显而易见了。附图中:
图1为包含嵌入式处理器集合体的接口装置的框图,其中示出在本发明的实施中有用的一个下行入队系统和调度器。
图2为示于图1的类型的嵌入式处理器集合体的框图,其中示出了对理解本发明有用的一个下行入队系统(及其包含的调度器)。
图3示出根据本发明的优选实施例,用于在图2的调度器中调度可变长分组的一个系统。
图4示出根据本发明优选实施例,基于用在图3所示的调度系统中的日历的计时器。
图5示出了与图3-4的调度器相关的调度操作的流程图。
图6为示出图4的时段如何具有不同的时间分辨率的示意图。
图7示出在本发明中使用的最大成组传输规格。
图8-13是本发明的调度器的各种部件的流程图,包括用于计算下一放行时间(next green time)的图8和图9,用于计算和更新成组传输规模的“储备”的图10和图11,以及示出为避免从断开重连获益而对队列控制块设定时效的图12和图13。
图14示出根据本发明的一个优选实施例并且在本发明的调度器中有用的一个WGQ日历。
图15示出了与图3-4的调度器相关的调度操作逻辑的流程图。
具体实施方式
在下面对优选实施例的描述中,对本发明人目前已知的实现本发明的最佳实施方案将予以一定程度的详细描述。然而,此描述的目的是在一个特定实施例中对本发明的概念进行一般性的教导,而不是将本发明限制于在此实施例中示出的内容,这特别是因为相关技术人员将认识到利用这些附图示出和描述的具体结构和操作可以有多种变化和改变。
图1示出包含衬底10和多个集成于此衬底上的组件的接口装置芯片的框图。组件设置成为上行配置和下行配置,“上行”配置(有时也称为“入口(ingress)”)指那些与从数据传输网络入站到芯片的数据有关的部件(到达或进入芯片),而“下行”配置(有时也称为“出口(egress)”)指那些与以出站方式将数据从芯片向数据传输网络传输的部件(离开芯片或向下进入网络)。数据流按照上行和下行配置的相应设置流动;这样,在图1的系统中存在上行数据流和下行数据流。上行或入口配置元件包含一个入队出队调度上行逻辑(EDS-UP)16,多个多路复用上行MAC(PMM-UP)14,上行交换数据移动器(SDM-UP)18,交换接口(SIF)21,数据调整串行链路A(DASL-A)22和数据调整串行链路B(DASL-B)24。应当了解,本发明的优选实施例使用数据链路,也可以使用其他的系统来受益于本发明,特别是那些支持相对高的数据流和系统要求的系统,因为本发明不局限于那些特定的辅助装置,比如在所述优选实施例中使用的数据链路。
所示的在系统的下行(或出口)侧的部件包括数据链路DASL-A 26和DASL-B28,交换接口SIF30,交换数据移动器SDM-DM32,入队出队调度器EDS-DN34和用于出口的多个多路复用MAC即PMM-DN36。衬底10也包括多个内部静态随机存取存储器部件(S-RAM),一个通信量管理调度器(TRAFFIC MGT SCHEDULER,也称为出口调度器)40和一个嵌入式处理器集合体12。一个接口装置38由相应的DMU总线耦合到PMM14、36。接口装置38可以是用来连接到L1电路的任何合适的硬件设备,如以太网物理(ENET PHY)设备或异步传输模式成帧设备(ATM FRAMER),两者都是公知设备的例子,并且为此目的一般可以在市场上购得。接口装置的类型和大小是由本芯片及其系统所应用的网络介质确定的,至少是部分如此。多个外部动态随机存取存储器设备(D-RAMS)和一个S-RAM可由芯片使用。
虽然此处具体公开的是这样的网络,即在相关的交换机和路由装置外的一般数据流是通过导电体如安装于建筑物内的导线和缆线传递的,本发明预计其网络交换机及其部件也可以应用于无线环境中。比如,此处公开的介质访问控制(MAC)元件可由合适的射频器件,如由硅锗技术制造的器件,代替,这将导致将在此直接公开的器件连接到无线网络。在恰当使用这种技术的地方,射频元件可由合适技术领域的技术人员集成到此处公开的VLSI结构中。另外,射频或其他无线响应器件,如红外(IR)响应器件,可与此处公开的其他元件安装在一个刀片(blade)上以获得一个在无线网络设备中使用的交换设备。
箭头示出了在图1中示出的接口系统内的一般数据流。从以太网物理模块38经DMU总线在以太网MAC14处接收的数据帧或消息(有时也称为分组或信息单元)由EDS-UP设备16置于内部数据缓冲存储器16a中。帧可以标识为正常帧或引导帧(guided frame),然后与在多个处理器中进行的后续处理的方法和位置联系起来。在输入单元或帧由嵌入式处理器集合体中的多个处理器中的一个处理之后,完整信息单元被发送到交换机,以被发送给网络处理器的入口侧。一旦在网络处理器的入口侧接收到信息单元,就由嵌入式处理器集合体中的多个处理器中的一个对其进行处理,并且当出口处理结束时,通过由处理单元10以外的调度器40进行调度并通过PMM-DN多路复用MAC36和物理层38发送到数据传输网络。
图2为可应用本发明而受益的处理器系统100的框图。在此图2中,多个处理器单元110位于分配单元112和完成单元(completionunit)114之间。每个出口帧F(来自图中未示出的附加于本发明的数据处理系统的交换机)被接收并储存于一个下行数据存储器(或DNDS)116中,之后由分配单元112顺序移除而分配给多个处理单元110之一,根据分配单元112的决定,可有处理单元用来处理该帧。在分配单元112和多个处理单元110之间有硬件分类辅助装置118。由多个网络处理器110处理的帧进入完成单元120,此完成单元120经流控制系统与下行入队调度器(DN Enqueue)34连接。DN Enqueue34通过PMM DN MAC36、再经DMU数据总线到连接到物理层38(数据传输网络本身)。
图3的调度器40提供一个结构和操作方法,可允许根据在单个统一调度器系统中的最小带宽算法、峰值带宽算法、加权公正排队技术和最大成组传输规模调度技术,调度从网络处理单元到数据处理网络的帧传输。
使用基于时间的日历对具有最小带宽和尽力而为峰值速率要求的分组进行调度。如图3所示,用于此目的的有3个基于时间的日历:两个用于最小带宽,第三个用于将流队列限制到最大尽力而为峰值速率(峰值带宽整形,peak bandwidth shaping)。用于最小带宽的两个日历(LLS和NLS)容许在最小带宽QoS级内支持不同的服务级(即低等待时间与正常等待时间)。
在上述日历中,使用指针来表示流队列在日历内的位置。另外,指向存在于系统中的多个日历中的单个流队列可能有零个、一个或两个此种指针。一般情况下,日历内的指针不表示未初始化的或空的流队列。当在系统中的日历内存在一个指向流队列的指针时,此流队列可称为“在日历内”。
一个时段定义为一个调度器瞬间scheduler tick。在每个调度器瞬间期间,可服务一个带宽单元。在优选实施例中,此单元定义为“步”并且其单位是每字节的时间(即1/带宽)。
在通信系统中,每个流队列的最小带宽规格的范围跨数个数量级。就是说,某些用户(或实际上是用户的关联队列)将有高带宽,因为他们传输大量数据并为该带宽付费,而其他人选择了经济型服务以便在任何时候发送较少量的信息(带宽)。为了使专用于此目的硬件量最小,该优选实施例采用一种缩放技术(scaling technique),可允许使用较少的硬件而同时保持通信系统和服务级协议(SLA)所要求的范围和精确度。
在一优选实施例中,如图4所示,每个基于计时器的日历由4个“时段(epoch)”组成。每个时段包括512个时隙。每个时隙包含一个指向流队列的指针的LIFO栈。任何两个时隙间的距离是带宽的度量,其值取决于所述时段。在此优选实施例中,如图4所示,两个时段之间的缩放因子为16。在此优选实施例中,将调度器瞬间的时宽选为150ns,这样,在时段0内,1个时隙的距离表示一个在150ns内移动512个字节或约27Gb/s的带宽,而在时段3内,1个时隙的距离表示一个在0.614ms内移动512个字节或约6.67Mb/s的带宽。
每个时段的时隙数和在一种实施方式中使用的时段数是对硬件成本和设计复杂程度加以平衡的结果,其意图不是限制本发明的范围。对于本领域技术人员而言,显而易见,可以改变时段的各种组合、时段间的缩放因子和每个时段的时隙数而不会脱离本发明的精神。
Current Time(当前时间)是一个寄存器,用来保留当前调度器系统时间的值。每个个调度器瞬间此寄存器增1。在此优选实施例中,当前时间寄存器的范围选择为基于计时器的调度器的范围的4倍。这允许在将当前时间与流队列控制块中的时间戳域中的一个(即NextRedTime或NextGreenTime)进行比较时判断当前时间轮询(current time wrap)。
运行
图5示出本发明的调度器的工作流程图。使用当前指针来指示每个时段内的服务位置。在每个调度器瞬间期间,检查当前指针指示的时隙。如果发现此时隙是空的,则当前指针可前进到下一个非空时隙,或前进到与当前时间相对应的时隙。请注意,因为时隙之间的距离在时段之间不同,当前指针前进通过每个时段的速率不同,而同时“跟上”当前时间。如发现时隙非空,则寻找一个流队列候选时段。每个时段独立地判断是否找到流队列候选时段。如图4所示,在候选时段当中利用绝对优先级选择来选择流队列候选日历,其中编号最低的时段先选。如图4所示,选择顺序是:
1.时段0
2.时段1
3.时段2
4.时段3
当选中了一个流队列候选时段时,流队列指针从LIFO栈出队。如果在该出队动作之后当前指针指示的时隙被发现为非空,则当前指针保持不变。如果在该出队动作之后发现当前指针指示的时隙是空的,则当前指针可前进到下一个非空时隙,或前进到与当前时间相对应的时隙,或前进到这样的时隙:其中流队列服务动作移动了从该时隙出队的流队列。当前指针的移动经过这些可能的距离中的最短者。
图3所示的调度器系统的构成包括多个流210、基于时间的日历220、230、250、加权公正排队(weight fair queuing)(WFQ)日历240和目的地端口队列260。
流210是用来维护共享基于分配的公共系统特征即有关用户已选择并付费的服务级,的帧的顺序列表的控制结构。所述特征包括下述方面的服务质量(Quality of Service,QoS)要求:最小带宽,峰值带宽,尽力而为带宽和最大成组传输规模。除了为支持通信系统的QoS的目的而建立的流队列之外,优选实施例需要为下述目的而定义的流队列:废弃帧(即滤掉的通信量)以及从网络处理系统的出口到入口帧数据的轮询。
使用基于时间的日历220、230、250对具有最小带宽和尽力而为峰值速率要求的分组进行调度。如图3所示,用于此目的的有3个基于时间的日历:两个日历220、230用于最小带宽,而第三个日历250用于将流队列限制到最大尽力而为峰值速率(峰值带宽整形)。用于最小带宽的两个基于时间的日历220、230(一个确定为低等待时间服务或LLS的日历220和另一个确定为正常等待时间服务或NLS的日历230)用于最小带宽,并在最小带宽QoS级内支持不同的服务级(即低等待时间与正常等待时间)。
加权公正排队(WFQ)日历240用于尽力而为服务和尽力而为峰值服务(当与基于时间的日历220、230之一结合使用时)。另外,WFQ日历240支持容许在尽力而为服务QoS级内支持不同服务级的队列权重。在此优选实施例中,有40个这种WFQ日历,与被支持的介质端口(输出端口)数目相对应。选择40个这种端口是在硬件成本和设计复杂程度之间折中的结果,其意图不是限制本发明的范围。
在上述每一个日历中,都使用一个指针(流ID)表示日历内流队列的位置。这样,流0在日历220中具有一个流ID221,流1在日历230中具有一个流ID232,在WFQ240中具有流ID241,而流2047在日历230中具有一个流ID231,在日历250中具有流ID251,如图3中的箭头所示。另外,指向存在于系统中的多个日历中的单个流队列可能有零个、一个或两个此种指针。一般情况下,日历内的指针不表示未初始化的或空的流队列。当系统中的特定日历内存在一个指向一个流队列(或一个流ID)的指针时,此流队列可称为“在该特定日历内”。
目的地端口队列是用来维护具有公共端口目的地和优先级的帧的顺序列表的控制结构。在此优选实施例中,每个介质端口(或输出端口)设置2个优先级,以容许支持不同的服务级,即所谓的高优先级目的地端口队列和所谓的低优先级目的地端口队列。选用2个优先级是硬件成本和设计复杂程度之间折中的结果,其意图不是限制本发明的范围。另外,此优选实施例包括一个单独的轮询队列272和一个废弃端口队列270。
每个基于时间的日历220、230和250都包括多个时段,在图3中对每一个日历各示出4个时段,以互相重叠的矩形表示。图4示出了4个时段302、304、306和308,同时还一起示出了对这些时段的一种典型定时设置,其中第一时段302(标为时段0)的步长为所述调度器瞬间(在此例中为512字节/150纳秒),第二时段304的步长等于第一时段302的16倍,第三时段306与第二时段304的倍率相同,而第四时段308第三时段306的倍率相同。这样,第一时段302具有高的优先级(其被调度用于服务的频率为第二时段304的16倍),形成一个服务优先级的层次结构,相应地成本将会增加。当前指针(比如时段302的312)与每一个时段相关联以便提供一个指针指示队列中的处理当前正位于何处。因为通过时段进行处理的本系统是要使当前指针增1,所以处理方向在时段中是从低向高。在此图4中还示出了当前时间320和一个调度器瞬间330,后者驱动时钟320以及每个时段内的“步”。
优先级的选择是一种绝对优先级选择,这意味着,因为在任何时间间隔只有一个可以受到服务,所以具有最高优先级者将受到服务。如在每个时段中的当前指针都指向一个数据流,则最低的一个(时段0)将受到服务。如时段0不请求服务,则是时段1,时段2,依此类推。
图6示出图4的每个时段的位的时间分辨率。即它说明在当前时间储存器(一个23位计数器)中哪些位与每个时段相关联,关于这一点见下文。
图7示出一个用户的通信参数。Y轴上画出的是使用的带宽,X轴上是时间。用户可被分配由箭头350标出的持续带宽,并被允许拥有由箭头360标出的峰值成组传输带宽,其成组传输持续时间由成组传输的宽度370表示。作为使用峰值成组传输带宽的代价,应有一个由在时间段380期间没有带宽表示的延迟或全静时间,也可以利用称为MBS的“储备”来执行延迟或全静时间(quiet time),详细解释见下文。
当一个队列变空时,就以断开的形式将其从日历中去掉。当一个不在任何日历中的队列开始发送帧时,就在一个称为连接的过程(或者,对原来一直发送帧的队列的返回而言,称为重连(re-connection))中将其当作一个新队列。此断开和之后的重连过程可能造成的不良后果是可能允许此队列前进到队首,到达它以其每次服务后计算出的优先级在原位置继续所述过程时所在的位置的前方。
当前时间到基于时间的日历位置的转换
通过检查当前时间、时段间的缩放因子和用于每个时段的时隙数,可以将当前时间转换为基于定时器的日历中的位置。在此优选实施例中,缩放因子是16,并且在每个时段中有512个时隙,因此每个时段需要9个位来标识时段内的位置。如图6所示,位8至0用来定义时段0内的位置,位12至4用于时段1,位16至8用于时段2,位20至12用于时段3。
当添加流队列时在WFQ日历中的位置的确定
本发明提出使用加权公正队列,其中,最小带宽客户不需要的带宽可用来在尽力而为的基础上由用户共享,共享的根据是一个用来基于权重或优先级和帧长来确定队列中下一个服务的顺序的公式。
当一个分组入队到一个流队列中,并且该流队列添加到一个WFQ中时,在图3的WFQ日历240内的位置以下面方式之一确定:
1.在WFQ日历的当前指针指示的位置上添加。
2.在WFQ日历的当前指针指示的位置紧前方位置上添加。
3.利用该流队列的权重,QD,确定距当前指针指示的位置的距离。
在此优选实施例中,流队列的权重用来确定距当前指针指示的流队列的将来位置的距离。此距离的计算具有下面的形式:
时隙距离=Min((QD*S),1)
其中S是缩放因子,可取任何正整数的值。在此优选实施例中此缩放因子S为16。
当前时间到NextGreenTime的转换
NextGreenTime是时间戳域,由WFQ日历240用来提供峰值带宽整形(与峰值带宽整形日历结合)。将当前时间转换为NextGreenTime(在此优选实施例中为NxtGT.V,NxtGT.E)要求检查流队列控制块的峰值服务速率域。
在此优选实施例中,PSD.E的值用来确定从当前时间起用于NxtGT.V域的位,如下所示:
PSD.E 当前时间位
0 8至0
1 12至4
2 16至8
3 20至12
NxtGT.E设定为等于PSD.E的值。
在NextRedTime或NextGreenTime和当前时间之间的比较(比迟
检验(later than test))
在此优选实施例中,下面的步骤构成一种允许对流队列的控制块的时间戳和当前时间进行比较的方法。
1.从当前时间选择位以实行比较。此设置要求检查待比较的时间戳(NextRedTime或NextGreenTime)的“点E”域。
点E 当前时间位
0 8至0
1 12至4
2 16至8
3 20至12
2.判断“A”是否是比“B”晚,首先形成B的2的补码并将结果与A相加,忽略运算中的任何进位输出(carry out)。当结果为非零时,并且结果的最高有效位为0,则A晚于B,否则B晚于A。
将NextRedTime或NextGreenTime转换为基于时间的日历中的
位置
在流队列控制块中的时间戳域用作防止流队列违反其服务参数的方法的一部分。在此优选实施例中,“点E”域指示时段,“点V”域指示时段内距位置0的距离。
流违反峰值速率时的NextGreenTime计算(使用NextGreenTime
作为基础)
在此优选实施例中,流违反其峰值速率时NextGreenTime的计算是通过检查确定分组的字节长度、峰值服务速率和NextGreenTime的当前值的BCI确定的。在图8中,FL表示由BCI确定的帧的字节长度。过程框描述如下。
过程2是缩放因子(点E)对NextGreenTime和峰值服务速率相同时的时隙距离计算(Temp)。
过程4是峰值服务速率缩放因子大于NextGreenTime的缩放因子时的时隙距离计算(Temp)。
过程5是峰值服务速率缩放因子小于NextGreenTime的缩放因子时的时隙距离计算(Temp)。
过程7是时隙距离(Temp)大于当前缩放因子的容量(对本优选实施例,点V值不能超过511)时的NxtGT.V和NxtGT.E值的计算。
过程10是时隙距离(Temp)容许当前缩放因子减小时的NxtGT.V和NxtGT.E值的计算。这是有好处的,因为缩放因子越小,时基越精确。
过程11是时隙距离(Temp)不要求或容许当前缩放因子改变时的NxtGT.V值的计算。NxtGT.E值保持不变。
流不违反峰值速率时的NextGreenTime计算(使用当前时间作为
基础)
在此优选实施例中,流不违反其峰值速率时的NextGreenTime计算是通过检查示于图9的确定分组的字节长度、峰值服务速率和当前时间的BCI确定的。在图9中,FL表示由BCI确定的帧的字节长度。
过程21是时隙距离计算(Temp)。根据用于峰值服务速率的缩放因子,过程块23、25、27和29从当前时间寄存器中的位分配基时(BaseT)值。NextGreenTime将根据时隙距离、缩放因子和基时确定。
过程31是时隙距离(Temp)大于当前缩放因子的容量(对本优选实施例,点V值不能超过511)时的NxtGT.V和NxtGT.E值的计算。
过程34是时隙距离(Temp)容许当前缩放因子减小时的NxtGT.V和NxtGT.E值的计算。这是有好处的,因为缩放因子越小,时基越精确。
过程35是时隙距离(Temp)不要求或容许当前缩放因子改变时的NxtGT.V值和NxtGT.E值的计算。
MBS获得的“储备”的计算
在此优选实施例中,一个正在使用中(QinUse=1)的具有非零MaxBurst(最大成组传输)域的流队列当其为空时可获取权标。MBSCredit域在分组入队进入空流队列时更新。为了判断赚取的权标的数目,检查NextRedTime和当前时间,并示于图10。
根据NextRedTime使用的缩放因子,在过程框302、303、305和307中,从当前时间中选择位,以便生成用来确定流队列空了多长时间的定标时间(TimeA).
判断框308判断TimeA是否晚于由NextRedTime时间戳域指示的时间。为此目的,利用NextRedTime要求流队列在其下一次可能的调度时间之后保持为空。如果TimeA不晚于NextRedTime,则不采取进一步的行动。
判断框309处理时间轮询情形并允许在过程框311和310中计算流队列积累权标的时间长度(TimeT)。
过程框313、315和316是对MBSCredit.V进行的最后计算。判断框312和314判断TimeT是否由于用来定义MBS域的缩放因子而需要调节。
使用了的MBS“储备”的计算
MBSCredit的新值由MBSCredit的当前值、用来确定帧的长度的BCI和持续服务速率确定。使用持续速率是由于计算MBS值时所使用的方法(计算从方程中去掉了复杂的除法)。在此优选实施例中,MBSCredit可取负值。下面描述过程框。在图11中,FL表示由BCI确定的帧的字节长度。
过程框402,404和405确定长度为FL的帧使用的权标的数目。判断框402和403用来确定Temp是否由于用来定义MBSCredit域的缩放因子而需要调节。
过程框406利用使用的权标数目调节MBSCredit.V的值。
流队列控制块的过期
在流队列控制块中使用缩放因子可减少维护时间戳域所需要的硬件。为了精确地确定何时一个时间戳太旧而变得无关,需要一种方法来指出时间戳和剩余域(residue field)不再有效。图12和图13示出一种标记时间戳不再有效的流队列控制块的方法。
调度器系统添加了一个所有当前正在使用的(QinUse=1)流队列控制块的列表。本领域技术人员知道,可以有多种方法维护这样一种列表。
在此优选实施例中,时间戳域的点V域扩展了两位。这添加的两位是在时间戳域更新时取自当前时间指针。所使用的取自当前时间指针的位是通过点E域的值确定的,如图6所示,并如下表所示:
点E 使用的当前时间位
0 10至9
1 14至13
2 18至17
3 22至21
使用一个定时器来确定何时进行检查流队列控制块的过程。参考图12,此方法开始于检查“老化服务信号”。当这一点为真时,过程继续,从老化列表502中选择一个流队列控制块(QCB)。此过程在503继续,检查所选择的流队列控制块的QinUse域。
如果此流队列控制块未使用,过程返回501并等待下一个服务信号,否则过程继续,检查持续服务速率域504和QinRed域505。如流队列具有用于持续服务的规格(specification)并且流队列既不在LLS也不在NLS日历之中(RinRed=0),则在506确定为老化。对“TestAge”采取的动作如下述。
如流队列不具有持续服务速率规格,则在507检查峰值服务速率域。如未规定峰值服务速率,则在501过程继续并等待下一个服务信号。如规定了峰值服务速率,则检查流队列控制块,判断流队列是否在WFQ日历508中或在峰值带宽整形日历509中。如流队列在其中一个之中,则过程返回501,否则在510中确定为老化。对“TestAge”采取的动作如下述。
TestAge,示于图13,使用流队列控制块的时间戳域之一和当前时间作为输入。它将对于QinUse域的状态的更新返回给过程。在流程图5中,此结果应用于512和513来更新流队列控制块和从老化列表中取消此流队列控制块。
返回图13。TestAge过程使用缩放因子E来判断当前时间的哪些位用来判断时间戳域是否是太老而失掉使用性。过程框600至606实现这一任务。
在606和607继续,在点V域的高阶位(在上面定义和在图3中示出的MM位)和当前时间的选择位之间进行比较。在607和608中的检验判断与时间戳相关联的时段在最后更新以后是否受到过不止一次的轮询。如出现过一次以上的轮询,则此时间戳不再有用,就通过把QinUse位设为零的动作而将时间戳域标记为无效,否则QinUse位保持不变(框609,610)。
加权公正排队(WFQ)日历应用于所谓的“尽力而为”服务,并且,当与基于时间的日历结合时,用于所谓的“尽力而为峰值”服务。即尽力而为服务得不到保用带宽(其中每个单位时间提供x位带宽),而是要与其他用户竞争在满足保用带宽客户需求之后剩余的带宽。这是比保用带宽级别低的服务,通常便宜得多。所谓的“尽力而为峰值”服务提供一种对资源的超出用户定购的保用服务级的需求的过剩带宽的竞争性共享。于是,用户可以购买10Mbit/sec的服务,另外再购买5Mbit的尽力而为峰值,总的峰值服务达15Mbit的服务(后5Mbit服务只有可获得时才能使用,并且要与其他加权公正排队的用户进行公正竞争)。
另外,WFQ日历支持容许在尽力而为服务QoS级内支持不同服务级的队列权重。此处所使用的队列权重是一种根据用户的服务级分配给给定用户的相对优先权。队列权重涉及结合本系统所描述的加权公正排队系统中的服务之间的延迟量。在此优选实施例中,如图3所示,有40个这种WFQ日历,与支持的介质端口数目相对应。选用40个这种端口是综合考虑硬件成本和设计复杂程度的结果,其意图不是限制本发明的范围。
一个周期(或时钟间隔)定义为一个调度器瞬间;其大小为150或165纳秒,依访问的硬件的响应时间而定,但此周期可大可小,依设计参数和硬件能力而定。在调度器瞬间期间选择一个流队列进行服务。所描述的选择算法导致当所有具有最小带宽规格(持续服务速率)的流队列不要求服务(即由调度器管理的剩余带宽可由WFQ日历使用)时WFQ日历被选择。换言之,基于时间的队列220、230在每个时钟间隔期间都受到服务,如果它们受到调度并且有信息要传输的话;如不是,则WFQ日历240在时钟间隔期间受到服务。与网络处理器的总最小带宽可以管理的基于定时器的调度器不同,每个WFQ日历对一个目的地端口管理尽力而为带宽。WFQ日历或队列240的目的是在竞争流队列中间公正地共享该尽力而为带宽。这是通过计算被选择接受服务的流队列传输的字节数,并在日历内根据传输的字节数将流队列从其现在位置移动一个距离而完成的。就是说,流在一个调度器瞬间期间传输的字节数越多,则在下一次服务之前在日历中上得更远(其间的流越多,周期越长)。
在一个优选实施例中,如图14所示,一个WFQ日历240a的构成包括512个时隙。每个时隙包含一个指向流队列的指针的LIFO栈。在具体实施例中使用的时隙数是综合考虑硬件成本和设计复杂程度的结果,其意图不是限制本发明的范围。
再参考图14。当前时间是一个寄存器,用来维护当前调度器系统时间值。每个调度器瞬间此寄存器增1。在此优选实施例中,当前时间寄存器的范围选择为等于基于定时器的调度器的范围的4倍。这允许在将当前时间与流队列控制块中的时间戳域中的一个(即NextGreenTime)进行比较时判断当前时间轮询。
当前指针用来指示WFQ日历内的服务位置。与基于定时器的日历不同,当前指针与调度器系统时间无关。
运行
如图15所示,在每个调度器瞬间期间,首先检查每个目的地端口队列的状态。每个WFQ日历与一对端口相关联;这样,WFQ端口0与一个较高优先级端口0和一个较低优先级端口0相关联。如在线(line)262上目的地端口队列阈值已经被超过,则在该调度器瞬间期间WFQ日历不采取进一步的动作(此系统提供一种限制输出的反压形式,防止帧发送出去而系统不能处理)。如目的地端口队列阈值未超过,就检查当前指针指示的时隙。如发现时隙为空,则当前指针可前进到下一个非空时隙寻求一个候补流队列WFQ。如发现所有时隙为空,则当前指针保持不变并且没发现候补。如在此一个日历内发现时隙不为空,则存储于该时隙的流队列地址是这一端口的候补WFQ。40个WFQ日历中的每一个都类似的可以为其相关目的地端口队列找到一个候补。
检查目的地端口阈值的目的是控制从WFQ日历将分组分配给目的地端口队列的速率。由于目的地端口队列将以由附加的介质指定的速率流出,对超过阈值的目的地端口的状态的检查可提供一种能够保证目的地端口队列不会被以超过其介质的带宽的速率分配分组的机制。在此优选实施例中,阈值定义为字节的度量,并且该阈值应该设定为至少是最大传输单位(MTU),该单位是为了保证正确运行对介质定义的。
由于本发明的目的地是提供一种尽力而为带宽调度与最小带宽相结合,并且其中单个流队列既处于基于时间的日历内也处于WFQ日历内的方法,对于正常的工作而言上述机制是必需的。
最后的流队列的选择是在所有的日历(既包括基于时间的日历也包含WFQ日历)间进行。当选择流队列候补WFQ时,流队列指针从LIFO栈出队。如发现由当前指针指示的时隙在这一出队动作之后为非空(即至少其中还存在一个以上的项目),则当前指针不再进行修改。如发现由当前指针指示的时隙在这一出队动作之后为空,则当前指针将前进到下一个非空时隙。如发现所有时隙为空,则当前指针保持不变。
本领域技术人员知道,WFQ日历在分配给它的所有的流队列中共享可用带宽。另外,通过对流队列分配权重,可改变分配给每个流队列的带宽的相对比例。这是通过计算非空服务流队列置于的位置而完成的。与高权重因子相比较,对同一帧长度,一个低权重因子可对给定的帧长度提供更频繁的服务,这意味着关联流在“阶梯”上向上移动一个较短的距离就可获得下一个服务。与此类似,与具有同样权重因子提供较短帧的相比较,提供较长帧的流将沿着“阶梯”向上被移动一个较大的距离,这意味着具有较短帧的流将接受更频繁的服务,如果优先级和权重因子相同的话。
WFQ距离的计算
距离计算定义为流队列在日历中从它出队的位置移动的时隙的数目。在此优选实施例中,对WFQ日历的距离计算的形式为:
时隙距离=Max(Min((帧长)*QD*K),max_distance) …1)
其中时隙距离是整数,帧长以字节为单位,QD是在流队列控制块中指定的队列权重,max_distance定义为日历中的时隙数减1,而K是分配给目的地端口的缩放因子。K的指定系根据目的地端口的MTU、WFQ日历中的时隙数以及所要求的QD的范围。对该优选实施例,推荐下列K值:
MTU(字节) K
2048 1/64th
9216 1/256th
16384 1/1024th
不脱离本发明的精神可以选择其他的K值。
对于相关技术人员而言,在结合附图看过上面的优选实施例的描述后,本发明的多种改型是显而易见的。比如,根据帧的大小加权和储存的加权因子可以用其他的公式代替。日历内的时隙数目和每一端口的日历数目可以改变,以适应系统的体系结构。时段的数目及其每步的距离、当前时间寄存器的大小和调度器瞬间速率也都可以改变而不脱离本发明的精神。另外,不脱离本发明的精神可以对系统的实现和优先级系统进行多种改型,并且有各种算法可用来确定优先级。还有,可以只使用本发明的某些特征而不相应地利用其他特征。因此,对优选实施例的上述描述应视为对本发明的原理的纯粹示例性的描述而不是对本发明的限制。
Claims (7)
1.一种设备,其构成包括:
基于时间的日历,用来根据储存的关于多个源的信息,处理数据通信系统中从所述多个源向多个目的地传递的信息单元;
与时间无关的日历,用来根据储存的关于多个源的信息,处理数据通信系统中从所述多个源向多个目的地传递的其它信息单元;以及
定时器,用来周期地生成一个从所述日历中的一个向一个输出目的地移动单个信息单元的信号,所述单个信息单元是根据储存的规则进行选择的。
2.如权利要求1记载的设备,其中所述与时间无关的日历处理多个信息单元流,将每个流放入一个队列,并在对该流进行服务后将该流移动到队列中的不同位置,该设备还包括一个机构,用来判断一个流是否在所述基于时间的日历中具有一个位置,并用来防止曾经在该基于时间的日历中具有这样一个位置的流由于断开、重连而在该基于时间的日历中得到更有利的位置。
3.如权利要求1记载的设备,其中所述与时间无关的日历处理多个信息单元流,将每个流放入一个队列中,并提供一系列的等待移动的帧和加权因子及每个帧的大小,以及一个机构用来在一个帧被该与时间无关的日历移动之后根据所述加权因子和帧的大小计算相应的流的新位置。
4.一种方法,包括下列步骤:
当信息单元在数据通信系统中从多个源向多个目的地传递时,将数据流放入队列排队等待服务;
判断数据流是否在队列中曾经有过一个先前的位置;
如数据流在队列中曾经有过一个先前的位置,则判断将分配的新位置是否比先前的位置更有利;
如将分配的新位置比先前的位置更有利,就利用先前的位置处理此流;以及
如所述先前位置不再比将分配的新位置更有利,就利用新位置处理此流。
5.一种方法,包括下列步骤:
当信息单元在数据通信系统中从多个源向多个目的地传递时,将数据流放入队列排队等待服务;
接收关于待处理的每个信息单元的优先级信息;
根据与每个信息单元相关联的优先级信息将待处理的每个信息单元放入数个优先队列中的一个之中,一个队列是基于时间的,而另一个队列是与时间无关的;
根据存储的规则组为连续的每一个时钟周期选择一个队列进行处理;
根据一种算法为连续的每一个时钟周期从被选择队列中选择一个信息单元进行处理;以及
将所选择的信息单元向目的地传输。
6.如权利要求5记载的方法,其中,根据一种算法为连续的每一个时钟周期从被选择队列中选择一个信息单元进行处理的步骤还包括:从一个加权公正队列中进行选择,并根据信息单元的大小和所选择的单元的加权因子,计算在该加权公正队列中的新位置。
7.一种方法,包括下列步骤:
当信息单元在数据通信系统中从多个源向多个目的地传递时,将数据流放入队列排队等待服务;
根据储存的规则判断是否允许由一个数据流进行一次峰值成组传输传输,所述规则包含:
对数据流计算初始储备;
随着时间的流逝,当数据的流量低于对该数据流建立的阈值时则添加储备;
随着时间的流逝,当数据的流量超过所述阈值时则减少储备;
利用此储备值判断在给定的时间是否允许峰值成组传输传输。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/548,913 | 2000-04-13 | ||
US09/548,912 | 2000-04-13 | ||
US09/548,910 | 2000-04-13 | ||
US09/548,913 US7315901B1 (en) | 2000-04-13 | 2000-04-13 | Method and system for network processor scheduling outputs using disconnect/reconnect flow queues |
US09/548,912 US6952424B1 (en) | 2000-04-13 | 2000-04-13 | Method and system for network processor scheduling outputs using queueing |
US09/548,910 US6862292B1 (en) | 2000-04-13 | 2000-04-13 | Method and system for network processor scheduling outputs based on multiple calendars |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510004265XA Division CN1642143B (zh) | 2000-04-13 | 2001-03-26 | 基于信息单元的优先级信息对信息单元进行处理的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1419767A true CN1419767A (zh) | 2003-05-21 |
CN1226850C CN1226850C (zh) | 2005-11-09 |
Family
ID=27415543
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB018071341A Expired - Fee Related CN1226850C (zh) | 2000-04-13 | 2001-03-26 | 网络处理器利用断开/重连流队列调度输出的方法和系统 |
CN200510004265XA Expired - Fee Related CN1642143B (zh) | 2000-04-13 | 2001-03-26 | 基于信息单元的优先级信息对信息单元进行处理的方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510004265XA Expired - Fee Related CN1642143B (zh) | 2000-04-13 | 2001-03-26 | 基于信息单元的优先级信息对信息单元进行处理的方法 |
Country Status (13)
Country | Link |
---|---|
EP (1) | EP1273140B1 (zh) |
JP (1) | JP3784049B2 (zh) |
KR (1) | KR100463697B1 (zh) |
CN (2) | CN1226850C (zh) |
AT (1) | ATE384380T1 (zh) |
AU (1) | AU2001244309A1 (zh) |
CA (1) | CA2403193A1 (zh) |
DE (1) | DE60132437T2 (zh) |
HK (1) | HK1052263B (zh) |
IL (1) | IL152258A0 (zh) |
MX (1) | MXPA02010054A (zh) |
TW (1) | TWI222012B (zh) |
WO (1) | WO2001079992A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101146091B (zh) * | 2007-09-05 | 2010-09-08 | 中兴通讯股份有限公司 | 多通道数据输出方法及系统 |
CN101542988B (zh) * | 2007-02-15 | 2011-07-13 | 中兴通讯股份有限公司 | 一种定长分组交换流控信息传送的方法 |
CN107431668A (zh) * | 2015-03-23 | 2017-12-01 | 阿尔卡特朗讯公司 | 用于分组的排队和处理的方法、排队系统、网络元件及网络系统 |
CN116346739A (zh) * | 2023-03-31 | 2023-06-27 | 南京金阵微电子技术有限公司 | 多队列调度方法和系统、电路及芯片 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI222012B (en) * | 2000-04-13 | 2004-10-11 | Ibm | Method and system for network processor scheduling outputs using disconnect/reconnect flow queues |
EP1324553A3 (en) * | 2001-12-31 | 2006-03-22 | Alcatel Canada Inc. | Method and apparatus for scheduling and servicing events using a calendar structure |
EP1507368A1 (en) * | 2003-08-13 | 2005-02-16 | Alcatel | High speed pipeline architecture with high update rate of associated memories |
CN100588174C (zh) | 2004-04-26 | 2010-02-03 | 意大利电信股份公司 | 在同一个网络上调度同步和异步分组的方法和系统 |
US8948046B2 (en) | 2007-04-27 | 2015-02-03 | Aerohive Networks, Inc. | Routing method and system for a wireless network |
US8218502B1 (en) | 2008-05-14 | 2012-07-10 | Aerohive Networks | Predictive and nomadic roaming of wireless clients across different network subnets |
US9674892B1 (en) | 2008-11-04 | 2017-06-06 | Aerohive Networks, Inc. | Exclusive preshared key authentication |
US8483194B1 (en) | 2009-01-21 | 2013-07-09 | Aerohive Networks, Inc. | Airtime-based scheduling |
US7792131B1 (en) * | 2009-03-10 | 2010-09-07 | Cisco Technologies, Inc. | Queue sharing with fair rate guarantee |
US9900251B1 (en) | 2009-07-10 | 2018-02-20 | Aerohive Networks, Inc. | Bandwidth sentinel |
US11115857B2 (en) | 2009-07-10 | 2021-09-07 | Extreme Networks, Inc. | Bandwidth sentinel |
US9002277B2 (en) | 2010-09-07 | 2015-04-07 | Aerohive Networks, Inc. | Distributed channel selection for wireless networks |
US8594132B2 (en) * | 2011-05-17 | 2013-11-26 | Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. | Quality of service cognizant scheduler for femtocell base stations |
US10091065B1 (en) | 2011-10-31 | 2018-10-02 | Aerohive Networks, Inc. | Zero configuration networking on a subnetted network |
US8787375B2 (en) | 2012-06-14 | 2014-07-22 | Aerohive Networks, Inc. | Multicast to unicast conversion technique |
CN102970726B (zh) * | 2012-12-26 | 2016-01-06 | 迈普通信技术股份有限公司 | 链路选择方法及设备 |
US10389650B2 (en) | 2013-03-15 | 2019-08-20 | Aerohive Networks, Inc. | Building and maintaining a network |
US9413772B2 (en) | 2013-03-15 | 2016-08-09 | Aerohive Networks, Inc. | Managing rogue devices through a network backhaul |
CN103905329B (zh) * | 2014-03-31 | 2017-09-19 | 福建金钱猫电子科技有限公司 | 基于plc中综合业务数据流的传输系统及方法 |
KR102137651B1 (ko) * | 2019-06-10 | 2020-07-24 | 국방과학연구소 | 서비스 플로우 기반 패킷 스케줄링 장치 및 방법 |
CN113472684A (zh) * | 2020-03-31 | 2021-10-01 | 深圳市中兴微电子技术有限公司 | 一种流量调度方法和网络处理器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5926459A (en) * | 1996-06-27 | 1999-07-20 | Xerox Corporation | Rate shaping in per-flow queued routing mechanisms for available bit rate service |
US6389019B1 (en) * | 1998-03-18 | 2002-05-14 | Nec Usa, Inc. | Time-based scheduler architecture and method for ATM networks |
US6721325B1 (en) * | 1998-04-23 | 2004-04-13 | Alcatel Canada Inc. | Fair share scheduling of multiple service classes with prioritized shaping |
TWI222012B (en) * | 2000-04-13 | 2004-10-11 | Ibm | Method and system for network processor scheduling outputs using disconnect/reconnect flow queues |
-
2001
- 2001-03-20 TW TW090106410A patent/TWI222012B/zh not_active IP Right Cessation
- 2001-03-26 AU AU2001244309A patent/AU2001244309A1/en not_active Abandoned
- 2001-03-26 JP JP2001576592A patent/JP3784049B2/ja not_active Expired - Fee Related
- 2001-03-26 CA CA002403193A patent/CA2403193A1/en not_active Abandoned
- 2001-03-26 IL IL15225801A patent/IL152258A0/xx unknown
- 2001-03-26 WO PCT/GB2001/001337 patent/WO2001079992A2/en active IP Right Grant
- 2001-03-26 EP EP01917224A patent/EP1273140B1/en not_active Expired - Lifetime
- 2001-03-26 CN CNB018071341A patent/CN1226850C/zh not_active Expired - Fee Related
- 2001-03-26 CN CN200510004265XA patent/CN1642143B/zh not_active Expired - Fee Related
- 2001-03-26 DE DE60132437T patent/DE60132437T2/de not_active Expired - Lifetime
- 2001-03-26 AT AT01917224T patent/ATE384380T1/de not_active IP Right Cessation
- 2001-03-26 MX MXPA02010054A patent/MXPA02010054A/es active IP Right Grant
- 2001-03-26 KR KR10-2002-7013738A patent/KR100463697B1/ko not_active IP Right Cessation
-
2003
- 2003-06-20 HK HK03104440.5A patent/HK1052263B/zh not_active IP Right Cessation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101542988B (zh) * | 2007-02-15 | 2011-07-13 | 中兴通讯股份有限公司 | 一种定长分组交换流控信息传送的方法 |
CN101146091B (zh) * | 2007-09-05 | 2010-09-08 | 中兴通讯股份有限公司 | 多通道数据输出方法及系统 |
CN107431668A (zh) * | 2015-03-23 | 2017-12-01 | 阿尔卡特朗讯公司 | 用于分组的排队和处理的方法、排队系统、网络元件及网络系统 |
CN116346739A (zh) * | 2023-03-31 | 2023-06-27 | 南京金阵微电子技术有限公司 | 多队列调度方法和系统、电路及芯片 |
CN116346739B (zh) * | 2023-03-31 | 2023-12-05 | 南京金阵微电子技术有限公司 | 多队列调度方法和系统、电路及芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN1642143B (zh) | 2010-04-07 |
EP1273140B1 (en) | 2008-01-16 |
KR100463697B1 (ko) | 2004-12-29 |
JP2003531517A (ja) | 2003-10-21 |
DE60132437D1 (de) | 2008-03-06 |
WO2001079992A2 (en) | 2001-10-25 |
CA2403193A1 (en) | 2001-10-25 |
KR20020091202A (ko) | 2002-12-05 |
IL152258A0 (en) | 2003-05-29 |
EP1273140A2 (en) | 2003-01-08 |
WO2001079992A3 (en) | 2002-02-21 |
TWI222012B (en) | 2004-10-11 |
JP3784049B2 (ja) | 2006-06-07 |
AU2001244309A1 (en) | 2001-10-30 |
MXPA02010054A (es) | 2003-03-10 |
HK1052263A1 (en) | 2003-09-05 |
DE60132437T2 (de) | 2009-01-08 |
ATE384380T1 (de) | 2008-02-15 |
CN1642143A (zh) | 2005-07-20 |
CN1226850C (zh) | 2005-11-09 |
HK1052263B (zh) | 2006-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1226850C (zh) | 网络处理器利用断开/重连流队列调度输出的方法和系统 | |
US7123622B2 (en) | Method and system for network processor scheduling based on service levels | |
Chu et al. | A QoS architecture for the MAC protocol of IEEE 802.16 BWA system | |
CN1868181A (zh) | 通信网络中对于不同业务类别的灵活许可控制 | |
CN1551580A (zh) | 用于隐式区分网络中的服务质量的方法和设备 | |
CN1500337A (zh) | 用于改进队列的方法及设备 | |
CN1258900C (zh) | 路由设备 | |
JP5108104B2 (ja) | 通信ネットワークでの優先権のスケジュールおよび承認制御 | |
CN1649315A (zh) | 网络控制设备及其路径控制方法 | |
US7142513B2 (en) | Method and multi-queue packet scheduling system for managing network packet traffic with minimum performance guarantees and maximum service rate control | |
US6795870B1 (en) | Method and system for network processor scheduler | |
CN1547814A (zh) | 处理光网络中上行数据包的系统和方法 | |
EP1872540A2 (en) | Method and apparatus to facilitate real-time packet scheduling in a wireless communications system | |
CN1246771A (zh) | 蜂窝式系统中脉冲串级资源分配 | |
CN106341346A (zh) | 基于SDN的数据中心网络中一种保障QoS的路由算法 | |
CN1825831A (zh) | 数据包中继装置和通信频带控制方法 | |
CN1859195A (zh) | 一种带宽控制方法及系统 | |
CN1701319A (zh) | 数据网中基于边缘的按流的QoS接纳控制 | |
CN101048977A (zh) | 用于具有增强服务质量的无线通信的动态自适应 | |
US6952424B1 (en) | Method and system for network processor scheduling outputs using queueing | |
CN1320312A (zh) | 电信资源协商的方法和系统 | |
US6804249B1 (en) | Method and system for network processor scheduling based on calculation | |
CN101053208A (zh) | 宽带协议 | |
Taha et al. | Two-level scheduling scheme for integrated 4G-WLAN network | |
JP4272322B2 (ja) | 情報廃棄方法および情報廃棄装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20051109 Termination date: 20190326 |