CN101729386A - 一种基于令牌调度的流量控制方法及装置 - Google Patents
一种基于令牌调度的流量控制方法及装置 Download PDFInfo
- Publication number
- CN101729386A CN101729386A CN200810217250A CN200810217250A CN101729386A CN 101729386 A CN101729386 A CN 101729386A CN 200810217250 A CN200810217250 A CN 200810217250A CN 200810217250 A CN200810217250 A CN 200810217250A CN 101729386 A CN101729386 A CN 101729386A
- Authority
- CN
- China
- Prior art keywords
- token
- manager
- flow rate
- data
- indication information
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种基于令牌调度的流量控制方法,包括输出流量管理器根据通告的队列状态信息分配完令牌后,还有可供分配的令牌且未收到新的状态信息时,所述输出流量管理器向输入流量管理器发送剩余带宽可用的指示信息;所述输入流量管理器根据所述剩余带宽可用的指示信息发送队列状态指示信息,所述队列状态指示信息用以所述输出流量管理器确定下次周期性队列状态信息通告前所述输入流量管理器能够发送的数据量;所述输出流量管理器根据所述确定的数据量分配令牌给所述输入流量管理器;所述输入流量管理器根据分配的令牌发送所述状态信息通告之后到来的数据。本发明实施例可充分利用剩余带宽,提高交换***带宽的利用率。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种基于令牌调度的流量控制方法及装置。
背景技术
路由器是通信网络中的重要设备之一,随着通信网络业务量的增加,路由器的转发能力和规模剧增。目前,电信级核心路由器、企业高端路由器等大型路由设备主要由线路接口物理层芯片、网络处理器、流量管理器、交换结构四种芯片组成,其中流量管理器完成业务数据缓存、流量整形、拥塞避免等功能,交换结构完成将数据从输入端口路由到输出端口的操作。多个流量管理器和多个交换结构以一定的拓扑结构和内部协议连接就构成路由器内部的交换网。交换网的技术是路由器的核心技术之一,采用不同的配置时,交换网的规模可以实现从几十Gbit/s到几十Tbit/s。交换网的交换能力很大程度上决定着路由器或交换机设备的整机性能,如吞吐量、交换时延、抖动、分组丢失率等。
交换网为多个输入数据流提供缓存和链路带宽等共享资源以降低独占资源的成本并提高扩展性,但是多个输入数据流为竞争共享资源会形成冲突。对于共享的资源需要调度和流控机制协调各个输入流,使交换网尽可能满足其如时延、抖动、丢失等不同的服务需求,并充分利用交换网的各种资源。
基于令牌的调度方式是交换网络的数据进行流量控制的一种方法。令牌由目的端产生,用来反映其接收数据的能力。令牌产生后传递给数据发送源端,数据发送源端把令牌解析成可以向交换网发送的数据量,严格按照令牌赋予的发送分组的权利向交换结构发送数据。
请参考图1,描述了现有技术令牌调度的时序图,路由器的交换网由多个输入流量管理器(Ingress Traffic Manager,ITM)、交换结构及多个输出流量管理器(Egress Traffic Manager,ETM)组成。
每个ITM可以管理一个或多个输入端口,每个ETM亦可管理一个或多个输入端口。为描述方便,在本实施例中取每ITM或ETM均对应一个端口的情况。ITM在t1时刻向ETM通告自身队列的状态信息,并在一个周期(T)后的t8时刻进行下一次的状态信息通告(各个ITM发送状态信息的起始时间可能不同,其发送周期为T)。ETM在t2时刻检查队列状态信息并开始发送令牌,然而,在所有ITM的去往同一个目的ETM的数据总速率小于ETM所管理的输出端口总带宽的情况下,ETM可能在将所有已收到的状态信息通告中报告了的数据全部调度完毕后,由于所有ITM的下一次通告时间都尚未到来,而没有收到新的状态信息通告,故不再向任何一个ITM提供令牌,ETM的输出调度器把此时从令牌发生器得到的令牌丢弃。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
在一个状态信息通告的周期内(t1到t8),当某一时刻t5时收到最后的令牌后,便不会再收到令牌,即不能再发送数据。而由于下一次通告的时间未到,该ITM也不会向ETM发送新的状态信息通告,从而处于等待状态,并在t5到t8之间形成未发送数据的时间间隔。但此时,ETM所管理的输出端口是有剩余带宽的,却并没有收到任何一个ITM发送的数据,因此这些带宽便就被浪费掉了。
发明内容
本发明实施例提供一种基于令牌调度的流量控制方法及装置,可充分利用剩余带宽,提高交换***带宽的利用率。
本发明实施例提供一种基于令牌调度的流量控制方法,包括:
输出流量管理器根据通告的队列状态信息分配完令牌后,还有可供分配的令牌且未收到新的状态信息时,所述输出流量管理器向输入流量管理器发送剩余带宽可用的指示信息;
所述输入流量管理器根据所述剩余带宽可用的指示信息发送队列状态指示信息,所述队列状态指示信息用以所述输出流量管理器确定下次周期性队列状态信息通告前所述输入流量管理器能够发送的数据量;
所述输出流量管理器根据所述确定的数据量分配令牌给所述输入流量管理器;
所述输入流量管理器根据分配的令牌发送所述状态信息通告之后到来的数据。
本发明实施例还提供一种基于令牌调度的流量控制装置,包括:至少一个输入流量管理器及至少一个输出流量管理器,
所述输出流量管理器,用于根据所述输入流量管理器通告的队列状态信息分配完令牌后,当还有可供分配的令牌且未收到新的状态信息时,向所述输入流量管理器发送剩余带宽可用的指示信息;
所述输入流量管理器,用于根据所述剩余带宽可用的指示信息发送队列状态指示信息,所述队列状态指示信息用以所述输出流量管理器确定下次周期性队列状态信息通告前所述输入流量管理器能够发送的数据量;
所述输出流量管理器根据确定的数据量分配令牌给所述输入流量管理器,所述输入流量管理器根据分配的令牌发送状态信息通告之后到来的数据。
本发明实施例在输出流量管理器根据队列状态信息分配完令牌后,若还有剩余的令牌可供分配,则发送所述剩余带宽可用的指示信息给输入流量管理器,所述输出流量管理器根据输入流量管理器发送的队列状态指示信息确定下次周期性队列状态信息通告前所述输入流量管理器能够发送的数据量,从而根据确定的能够发送的数据量将剩余的令牌分配给所述输入流量管理器,使剩余带宽可以充分利用,提高了交换***带宽的利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术令牌调度的时序图;
图2是本发明实施例一基于令牌调度的流量控制方法的流程示意图;
图3是本发明实施例二基于令牌调度的流量控制方法的流程示意图;
图4是本发明实施例基于令牌调度的流量控制的时序图;
图5是本发明实施例基于令牌调度的流量控制的输入队列示意图;
图6是本发明实施例基于令牌调度的流量控制的输入流量管理器的输时序关系图和输出流量管理器的状态信息表;
图7是本发明实施例基于令牌调度的流量控制装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施方式,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
本发明实施例可应用在通信网络中具有数据路由或转发能力的设备中,下面以路由器为例进行说明。路由器的交换网包括至少一个输入流量管理器(Ingress Traffic Manager,ITM)、交换结构及至少一个输出流量管理器30(Egress Traffic Manager,ETM)。每个ITM可以管理一个或多个输入端口,每个ETM亦可管理一个或多个输出端口。所述输入端口和所述输出端口通过交换结构连接。所述为描述方便,在本发明实施例中取每ITM或ETM均对应一个端口的情况。
请参考图2,为本发明实施例一基于令牌调度的流量控制方法的流程示意图,其步骤包括:
步骤S40:输出流量管理器根据通告的队列状态信息分配完令牌后,还有可供分配的令牌且未收到新的状态信息时,所述输出流量管理器向输入流量管理器发送剩余带宽可用的指示信息。
步骤S42:所述输入流量管理器根据所述剩余带宽可用的指示信息发送队列状态指示信息,所述队列状态指示信息用以所述输出流量管理器确定下次周期性队列状态信息通告前所述输入流量管理器能够发送的数据量。
步骤S44:所述输出流量管理器根据确定的数据量分配令牌给输入流量管理器。
步骤S46:所述输入流量管理器根据分配的令牌发送状态信息通告之后到来的数据。
所述输入流量管理器管理一个或多个输入端口,所述输出流量管理器管理一个或多个输出端口,所述输入端口和所述输出端口通过交换结构连接,所述输入流量管理器的队列状态信息和状态指示信息及所述输出流量管理器的令牌可通过所述交换结构传送。
本发明实施例在输出流量管理器根据队列状态信息分配完令牌后,若还有剩余的令牌可供分配,则发送所述剩余带宽可用的指示信息给输入流量管理器,所述输出流量管理器根据输入流量管理器发送的队列状态指示信息确定下次周期性队列状态信息通告前所述输入流量管理器能够发送的数据量,从而根据确定的能够发送的数据量将剩余的令牌分配给所述输入流量管理器,使剩余带宽可以充分利用,提高了交换***带宽的利用率。
请参考图3,为本发明实施例二基于令牌调度的流量控制方法的流程示意图,
步骤S50:输入流量管理器向输出流量管理器通告队列状态信息。
每个ITM的队列管理器周期性向各ETM的输出调度器发出队列状态信息。
步骤S51:所述输出流量管理器根据所述队列状态信息向所述输入流量管理器分配令牌以指示其发送存储在队列中的数据。
ETM中的输出调度器根据从ITM传递的输入队列状态信息进行调度,每个输出调度器以授予令牌的方式向所有竞争输出端口带宽的输入队列分配带宽。令牌先由令牌发生器以的速率产生,一旦一个令牌被分配到了输出调度器,它将会被分派给竞争这个端口带宽的若干数据流中的其中一个。每个令牌都被赋予发送一定数目的字节到输出端ETM的权利。所述输出调度器将其从令牌发生器获得的令牌,经过调度算法确定令牌的分配方式后,分别通过交换结构送往ITM。
在收到ETM的输出调度器返回的令牌之后,ITM的队列管理器将所述令牌对应长度的数据从队列中移出并向交换结构转发。ITM为它的每个队列维持了一个单独的令牌计数器。当收到一个此队列的令牌时,这个计数器就以一定比例增加。如果这个队列不空的话(即使有一个数据在里面等待)而且令牌计数器是非负的,那么ITM就把队头的数据送出。令牌计数器然后按发出数据的流量比例自减。
步骤S52:判断根据所述队列状态信息向所述输入流量管器分配的令牌是否发送完毕,若判断结果为是,则执行步骤S53;若判断结果为否,则执行步骤S54。
步骤S53:判断所述输出流量管理器是否还有剩余的令牌且未收到新的队列状态信息,若判断结果为是,则执行步骤S54;若判断结果为否,则可以继续执行步骤52或者结束流程。
若判断结果为是时,表示此时虽然未收到所述输入流量管器发送的状态信息,但是所述输出流量管理器所管理的输出端口还有剩余带宽。
步骤S54:所述输出流量管理器向所述输入流量管理器发送剩余带宽可用的指示信息。
若步骤S53判断得出ETM所管理的输出端口还有剩余带宽,则所述输出流量管理器可通过所述剩余带宽可用的指示信息告知所述输入流量管理器此时还有剩余带宽。
步骤S55:所述输入流量管理器根据所述剩余带宽可用的指示信息发送队列状态指示信息。
所述送队列状态指示信息用以所述输出流量管理器确定下次周期性队列状态信息通告前所述输入流量管理器能够发送的数据量,其确定方法有多种,本发明实施例以步骤S50通告所述队列状态信息时(t1)与步骤S55收到所述队列状态指示信息时(t7)这段时间内的数据到达速率来确定下次周期性队列状态信息通告前所述输入流量管理器能够发送的数据量为例进行说明。
所述队列状态指示信息包括该ITM中以目标ETM为目的端的数据流所对应的输入队列当前的状态(t1至t7这段时间内到达的数据长度L2)和通告所述队列状态信息时与收到所述队列状态指示信息时这段时间内的数据到达速率(t1至t7这段时间内数据到达速率),所述数据到达速率可根据所述数据长度L2与t7至t1的时间差值获得,例如L2/(t7-t1)。
步骤S56:所述输出流量管理器根据所述队列状态指示信息确定下次周期性队列状态信息通告前所述输入流量管理器能够发送的数据量,并根据确定的数据量分配令牌。
所述输出流量管理器可根据所述队列状态指示信息中的输入队列当前的状态获得t1至t7这段时间内到达的数据长度L2,根据t1至t7这段时间内数据到达速率预测t7至下次周期性队列状态信息通告(t11)时间内将到来的数据长度(L3)。在预测时,本发明实施例假设在t7到t11的时间内数据到达每个输入端的速率均等于t1到t7时间内数据到达该输入端的速率,L3可根据t1至t7这段时间内数据到达速率和t11至t7的时间差值获得,例如L3=[L2/(t7-t1)]x(t11-t7),也可在t1至t7这段时间内数据到达速率和t11至t7的时间差值基础上加权以更准确预测。由此,根据L2和预测的L3所述输出流量管理器可度确定下次周期性队列状态信息通告前所述输入流量管理器能够发送的数据量,根据确定的能够发送的数据量分配令牌。
步骤S57:所述输入流量管理器根据分配的令牌发送状态信息通告之后到来的数据。
本发明实施例在输出流量管理器根据队列状态信息分配完令牌后,若还有剩余的令牌可供分配,则发送所述剩余带宽可用的指示信息给输入流量管理器,所述输出流量管理器根据输入流量管理器发送的队列状态指示信息确定下次周期性队列状态信息通告前所述输入流量管理器能够发送的数据量,从而根据确定的能够发送的数据量将剩余的令牌分配给所述输入流量管理器,使剩余带宽可以充分利用,提高了交换***带宽的利用率;另外输入流量管理器在通告队列状态信息后若有新的数据到达,可以根据分配的剩余的令牌将此新到达的数据发送出去,减少了排队延迟;进一步的,如果下次通告队列状态信息后有突发的数据流量,可以避免突发流量出现前的小流量状态中丢弃可用的剩余令牌,提高了***在处理突发流量时所承受的压力,从而达到了提高***抗突发能力的目的。
请参考图4,为本发明实施例基于令牌调度的流量控制的时序图,其具体时序关系如下:
1)在t1时刻,ITM开始周期性向ETM通告自身输入队列的状态信息,其周期为T。
2)收到所述状态信息后,ETM在t2时刻经过调度器的调度后,开始发送令牌。
3)收到令牌后ITM发送存储在其输入队列中的数据,直至t5时收到最后的令牌,把其对应的最后的数据发送。
4)在t6时刻,当ETM根据所有ITM的状态信息通告分配完令牌后,发现还有剩余令牌可以分配,却没有收到新的状态信息通告,则向所有ITM发送剩余带宽可用的指示信息。
5)t7时刻ITM向ETM发送一个状态指示信息,用于ETM确定该ITM在下一次周期性状态信息通告(t11)前所能够发送的数据总量。
6)t8时刻,ETM根据所述状态指示信息确定ITM能够发送的数据量,并开始分配令牌。
7)ITM根据令牌发送在t1时刻后之到来的数据。
8)t11时刻发送周期性状态信息通告。
请结合参考图5,为本发明实施例基于令牌调度的流量控制的输入队列示意图,t1时发送的状态信息是t1时的输入队列状态信息,对应长度设为L1。在t1和t7之间可能会有后续到达的数据,设长度为L2,在t7到t11的时间内到来的数据长度为L3。可见,由t1时刻发送的状态信息通告所告知的是长度为L1的数据队列,之后在t1到t7的时间内,该输入队列收到的数据总长度为L2,t7时刻当收到剩余带宽可用的指示消息后,L1已经全部被分配了令牌,并且已经或者接近发送完毕。而t11时刻则是将要进行下一次的状态信息通告的时间。
根据本发明实施例中所提出的方法,ITM在t7时刻向ETM发送的状态指示应包括两方面的信息:1、该ITM中以目标ETM为目的端的数据流所对应的输入队列当前的状态,即L2的长度。2、该输入队列在t1到t7时间内接收待发数据的到达速率,即而ETM将根据这个数据到达速率预测在t7到t11的时间内将到来的数据长度,即预测L3的长度。在预测时,本方案假设在t7到t11的时间内数据到达每个输入端的速率均等于t1到t7时间内数据到达该输入端的速率,即预测这样的预测方法可以保证一定的公平性:收到L2长的ITM在t7到t11时间内能够发送的数据多,收到L2短的ITM能发送的数据少,而L2=0的ITM将不被允许发送数据。另外,为保证控制信息的传送不会消耗过多的传输资源,本发明实施例规定两次状态指示间的时间间隔不能小于一个周期性状态信息通告的通告周期。
ETM维护一个状态信息表以记录ITM通告的状态信息。ETM除了根据收到的周期性状态信息通告更新自己的状态信息表之外,也要根据ETM在收到剩余带宽可用指示后反馈的状态指示信息更新自己的状态信息表。
所述包括状态信息表包括两个表项,一个是实际状态表项,另一个是预测状态表项。所述状态指示信息中的当前状态部分被ETM用于直接更新状态信息表中的实际状态表项,即根据所述队列状态指示信息中的当前的状态确定的数据长度更新所述实际状态表项;所述状态指示信息中数据到达速率则用于预测在以后的时间里ITM的输入队列中所新收到的待发数据长度,预测的具体方法为:该预测状态表项的初始值为零,ETM在收到状态指示后,除根据状态指示信息中的当前状态部分更新实际状态表项外,同时开始按照状态指示信息中记录的数据到达速率从零开始逐渐增加预测状态表项所记录的数据长度,即根据所述队列状态指示信息中的数据到达速率预测的数据长度更新所述预测状态表项。
正常情况下,当ETM有令牌时,查看状态信息表,依然根据现有的分配方式对令牌进行分配。而在状态信息表中所有实际状态表项所记录的待发数据均已被授予令牌后,若令牌发生器再产生令牌,则这些令牌将根据各预测状态表项中数据长度预测值的大小,按照指定的调度算法被分配给对应的ITM。ETM持续依据预测的输入队列状态向每个ITM分配令牌直到收到任一ITM发送下一个周期性状态信息通告为止。在收到周期性状态信息通告后,ETM更新该ITM对应的实际状态表项中的记录,将其对应的预测状态表项的值置零,删除预测速度的记录,并停止按照预测速度改写此ITM对应的预测状态表项的值。另外,ETM同时停止按照预测值向其它ITM分配令牌,并恢复根据实际的状态信息进行令牌的授予。
图6(a)是本发明实施例基于令牌调度的流量控制的各个输入流量管理器的输时序关系图,有三个ITM发送数据到一个ETM,三个ITM分别在6(a)中所示的t1,t1’,t1”时刻进行了一次周期性的状态信息通告,而下次周期性通告的时间分别为t11,t11’,t11”。在t7时刻各个ITM收到来自ETM的剩余带宽可用指示信息,并向ETM反馈了状态指示信息。ETM接收状态指示信息后,修改图6(b)中的状态信息表,然后进行如下操作:首先ETM根据状态信息表中的实际状态表项分配令牌,当实际状态表项中所指示的数据均被授予令牌后,开始根据预测状态表项的记录分配令牌。而在t11’时刻,ITM2发送了周期性状态信息通告,ETM收到此通告后便将其对应的预测状态表项值置零,同时停止继续按照预测状态表项分配令牌,而转为按照实际状态表项分配。t11时刻,ITM1也发送了周期性的状态信息通告,收到此通告后,ETM同样将其对应的预测状态表项值置零。故在t_a时刻,ETM在按照实际状态表项的记录分配令牌,ITM1和ITM2所对应的实际状态表项中记录着尚未被授予令牌的数据的长度,而预测状态表项的值为0。ITM3由于还没进行周期性状态信息通告,所以实际状态表项的值为0,而预测状态表项的值大于0且在按照通告的预测速率逐渐增长。但由于此时ETM在按照实际状态表项的记录分配令牌,所以没有令牌被授予给ITM3的这些预测的数据。
请参考图7,为本发明实施例基于令牌调度的流量控制装置的结构示意图,本发明实施例应用在通信网络中具有数据路由或转发能力的设备中,例如路由器、交换机等,本发明实施例以路由器为例进行说明。所述路由器包括至少一个输入流量管理器(Ingress Traffic Manager,ITM)100及至少一个输出流量管理器(Egress Traffic Manager,ETM)200,所述ITM 100与所述ETM 200之间通过交换结构150连接。每个ITM 100可以管理所述基于令牌调度的流量控制装置的一个或多个输入端口,每个ETM 200亦可管理所述基于令牌调度的流量控制装置的一个或多个输出端口,所述输入端口和所述输出端口通过所述交换结构连接。
所述ITM 100包括输入队列120及队列管理器140,所述ETM 200包括令牌发生器220、输出调度器240及状态信息表260。所述交换结构150可以由多个交换单元组成的,也可以多平面等其它方式组成。
在交换网结构中,每个输入端口到每个输出端口都存在一个数据流。该数据流的特征属性包括它的输入端口、输出端口和服务属性。每个流在ITM100中都对应一个其独有的输入队列120,即若交换网结构有n个输出端口,且每个ITM只管理一个输入端口,则每个ITM 10中存在n个输入队列120。所述ITM 100的队列管理器140用于通过所述交换结构150周期性地向所述ETM 200的输出调度器240发送所述输入队列120的队列状态信息,所述队列状态信息存储在所述状态信息表260中。
所述ETM 200中的输出调度器240根据从所述ITM 100传递的输入队列状态信息进行调度,所述输出调度器240以授予令牌的方式向所有竞争输出端口带宽的输入队列120分配带宽。令牌由所述令牌发生器220以的速率产生,若一个令牌被分配到了所述输出调度器240,它将会被分派给竞争这个端口带宽的输入队列120。每个令牌都被赋予发送一定数目的字节到输出端口的ETM 200的权利。所述输出调度器240将其从令牌发生器220获得的令牌,经过调度算法确定令牌的分配方式后,将各个令牌通过所述交换结构150分别送往ITM 100,以此将输出端口带宽分配给所有竞争该端口输出带宽的输入队列120,将数据从输入队列120中“拉”出。
在收到所述ETM 200的输出调度器240返回的令牌之后,所述ITM 100的队列管理器140将对应长度的数据从输入端口的输入队列120中移出并通过所述交换结构150向所述ETM 200转发。所述ITM 100为输入队列120维持了一个单独的令牌计数器(图未示出)。当收到一个此输入队列的令牌时,这个计数器就以一定比例增加。如果这个输入队列不空的话(即使有一个数据在里面等待)而且令牌计数器是非负的,那么ITM 100就把队头的数据送出,令牌计数器然后按发出数据的流量比例自减。
在本实施例中,所述ETM 200的输出调度器240在接收所述ITM 100的队列管理器140发送的输入队列的状态信息通告,根据通告的队列状态信息将所述令牌发生器220产生的令牌分配,当还有可供分配的令牌且未收到新的状态信息时,通过所述交换结构150向所述ITM 100的队列管理器140发送剩余带宽可用的指示信息。
所述ITM 100的队列管理器140根据所述剩余带宽可用的指示信息通过所述交换结构150发送队列状态指示信息至所述输出调度器240,所述队列状态指示信息用以所述ETM 200的输出调度器240确定下次周期性队列状态信息通告前所述ITM 100能够发送的数据量。
所述送队列状态指示信息用以所述ETM 200确定下次周期性队列状态信息通告前所述ITM 100能够发送的数据量,其确定方法有多种,本发明实施例以通告所述队列状态信息时(t1)与收到所述队列状态指示信息时(t7)这段时间内的数据到达速率来确定下次周期性队列状态信息通告前所述输入流量管理器能够发送的数据量为例进行说明。
所述队列状态指示信息包括所述ITM 100中以所述ETM 200为目的端的数据流所对应的输入队列120当前的状态(t1至t7这段时间内到达的数据长度L2)和通告所述队列状态信息时与收到所述队列状态指示信息时这段时间内的数据到达速率(t1至t7这段时间内数据到达速率),所述数据到达速率可根据所述数据长度L2与t7至t1的时间差值获得,例如L2/(t7-t1)。
所述ETM 200可根据所述队列状态指示信息中的输入队列当前的状态获得t1至t7这段时间内到达的数据长度L2,根据t1至t7这段时间内数据到达速率预测t7至下次周期性队列状态信息通告(t11)时间内将到来的数据长度(L3)。在预测时,本发明实施例假设在t 7到t11的时间内数据到达每个输入端的速率均等于t1到t7时间内数据到达该输入端的速率,L3可根据t1至t7这段时间内数据到达速率和t11至t7的时间差值获得,例如L3=[L2/(t7-t1)]x(t11-t7),也可在t1至t7这段时间内数据到达速率和t11至t7的时间差值基础上加权以更准确预测。由此,根据L2和预测的L3所述输出流量管理器200可度确定下次周期性队列状态信息通告前所述输入流量管理器200能够发送的数据量,根据确定的能够发送的数据量分配令牌。
所述ETM 200的输出调度器240根据确定的数据量通过所述交换结构150分配令牌给所述输入流量管理器100的队列管理器140,所述队列管理器140根据分配的令牌通过所述交换结构150发送状态信息通告之后到来的数据。
所述ETM 200的输出调度器240根据确定的数据量分配令牌给所述输入流量管理器100的队列管理器140时,可根据所述ETM 200的状态信息表260的内容分配令牌。所述包括状态信息表260包括两个表项,一个是实际状态表项,另一个是预测状态表项。所述输出调度器240在收到所述状态指示信息后,根据所述队列状态指示信息中的当前的状态确定的数据长度更新所述实际状态表项(即t1至t7这段时间内到达的数据长度L2),并按照状态指示信息中的数据到达速率从零开始逐渐增加预测状态表项所记录的数据长度(即t7至t11时间内将到来的数据长度L3),即根据所述队列状态指示信息中的数据到达速率预测的数据长度更新所述预测状态表项。
在根据确定的数据量分配令牌给所述输入流量管理器100的队列管理器140时,在所述状态信息表260中所有实际状态表项所记录的待发数据均已被授予令牌后,若所述令牌发生器220再产生令牌,则这些令牌将根据所述状态信息表260中各预测状态表项中数据长度预测值的大小,按照指定的调度算法被分配给对应的ITM 100。
所述ITM 100的队列管理器140根据分配的令牌通过所述交换结构150发送状态信息通告之后到来的数据。
本发明实施例在所述ETM 200根据队列状态信息分配完令牌后,若还有剩余的令牌可供分配,则发送所述剩余带宽可用的指示信息给所述ITM100,所述ETM 200根据ITM 100发送的队列状态指示信息确定下次周期性队列状态信息通告前所述ITM 100能够发送的数据量,从而根据确定的能够发送的数据量将剩余的令牌分配给所述ITM 100,使剩余带宽可以充分利用,提高了交换***带宽的利用率;另外所述ITM 100在通告队列状态信息后若有新的数据到达,可以根据分配的剩余的令牌将此新到达的数据发送出去,减少了排队延迟;进一步的,如果下次通告队列状态信息后有突发的数据流量,可以避免突发流量出现前的小流量状态中丢弃可用的剩余令牌,提高了***在处理突发流量时所承受的压力,从而达到了提高***抗突发能力的目的。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述程序可以存储于一计算机可读取存储介质中,所述存储介质为ROM/RAM、磁碟、光盘等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (14)
1.一种基于令牌调度的流量控制方法,包括:
输出流量管理器根据通告的队列状态信息分配完令牌后,还有可供分配的令牌且未收到新的状态信息时,所述输出流量管理器向输入流量管理器发送剩余带宽可用的指示信息;
所述输入流量管理器根据所述剩余带宽可用的指示信息发送队列状态指示信息,所述队列状态指示信息用以所述输出流量管理器确定下次周期性队列状态信息通告前所述输入流量管理器能够发送的数据量;
所述输出流量管理器根据所述确定的数据量分配令牌给所述输入流量管理器;
所述输入流量管理器根据分配的令牌发送所述状态信息通告之后到来的数据。
2.如权利要求1所述的方法,其特征在于:所述队列状态指示信息包括所述输入流量管理器以所述输出流量管理器为目的端的数据流所对应的输入队列当前的状态及通告所述队列状态信息时与收到所述队列状态指示信息时这段时间内的数据到达速率,所述输入队列当前的状态用以确定通告所述队列状态信息时与收到所述队列状态指示信息时这段时间内的到达的数据长度,所述数据到达速率用于预测收到所述队列状态指示信息时与下次周期性状态信息通告这段时间到达的数据长度。
3.如权利要求2所述的方法,其特征在于:所述输出流量管理器包括状态信息表,所述状态信息表包括实际状态表项和预测状态表项,根据所述队列状态指示信息中的当前的状态确定的数据长度更新所述实际状态表项,根据所述队列状态指示信息中的数据到达速率预测的数据长度更新所述预测状态表项。
4.如权利要求3所述的方法,其特征在于:所述输出流量管理器根据所述确定的数据量分配令牌给所述输入流量管理器包括:
根据所述状态信息表的实际状态表项分配令牌给所述输入流量管理器,若所述实际状态表项记录的待发数据已分配令牌后,还有令牌产生,根据所述预测状态表项中的数据长度分配令牌给所述输入流量管理器。
5.如权利要求1所述的方法,其特征在于:所述输入流量管理器管理一个或多个输入端口,所述输出流量管理器管理一个或多个输出端口,所述输入端口和所述输出端口通过交换结构连接。
6.如权利要求5所述的方法,其特征在于:所述输入流量管理器的队列状态信息和状态指示信息及所述输出流量管理器的令牌通过所述交换结构传送。
7.一种基于令牌调度的流量控制装置,包括:至少一个输入流量管理器及至少一个输出流量管理器,
所述输出流量管理器,用于根据所述输入流量管理器通告的队列状态信息分配完令牌后,当还有可供分配的令牌且未收到新的状态信息时,向所述输入流量管理器发送剩余带宽可用的指示信息;
所述输入流量管理器,用于根据所述剩余带宽可用的指示信息发送队列状态指示信息,所述队列状态指示信息用以所述输出流量管理器确定下次周期性队列状态信息通告前所述输入流量管理器能够发送的数据量;
所述输出流量管理器根据确定的数据量分配令牌给所述输入流量管理器,所述输入流量管理器根据分配的令牌发送状态信息通告之后到来的数据。
8.如权利要求7所述的装置,其特征在于:所述输入流量管理器包括输入队列及队列管理器,所述队列管理器用以周期性地向所述输出流量管理器发送所述输入队列的队列状态信息。
9.如权利要求8所述的装置,其特征在于:所述输出流量管理器包括令牌发生器及输出调度器,所述令牌发生器用于以一定速率产生令牌,所述输出调度器根据所述输入队列的队列状态信息分配所述令牌给所述输入队列。
10.如权利要求9所述的装置,其特征在于:所述输出调度器根据通告的队列状态信息将所述令牌发生器产生的令牌分配,当还有可供分配的令牌且未收到新的状态信息时,向所述输入流量管理器的队列管理器发送所述剩余带宽可用的指示信息。
11.如权利要求10所述的装置,其特征在于:所述输入流量管理器的队列管理器根据所述剩余带宽可用的指示信息发送队列状态指示信息,所述队列状态指示信息用以所述输出流量管理器的输出调度器确定下次周期性队列状态信息通告前所述输入流量管理器能够发送的数据量。
12.如权利要求11所述的装置,其特征在于:所述队列状态指示信息包括所述输入流量管理器以所述输出流量管理器为目的端的数据流所对应的输入队列当前的状态及通告所述队列状态信息时与收到所述队列状态指示信息时这段时间内的数据到达速率,所述输出流量管理器还包括状态信息表,所述状态信息表包括实际状态表项和预测状态表项,根据所述队列状态指示信息中的当前的状态确定的数据长度更新所述实际状态表项,根据所述队列状态指示信息中的数据到达速率预测的数据长度更新所述预测状态表项。
13.如权利要求12所述的装置,其特征在于:所述输出流量管理器根据所述状态信息表的实际状态表项分配令牌给所述输入流量管理器,若所述实际状态表项记录的待发数据已分配令牌后,还有令牌产生,根据所述预测状态表项中的数据长度分配令牌给所述输入流量管理器。
14.如权利要求7所述的装置,其特征在于:还包括交换结构,所述输入流量管理器管理一个或多个输入端口,所述输出流量管理器管理一个或多个输出端口,所述输入端口和所述输出端口通过所述交换结构连接,所述输入流量管理器的队列状态信息和状态指示信息及所述输出流量管理器的令牌通过所述交换结构传送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102172505A CN101729386B (zh) | 2008-11-03 | 2008-11-03 | 一种基于令牌调度的流量控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102172505A CN101729386B (zh) | 2008-11-03 | 2008-11-03 | 一种基于令牌调度的流量控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101729386A true CN101729386A (zh) | 2010-06-09 |
CN101729386B CN101729386B (zh) | 2012-07-25 |
Family
ID=42449635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102172505A Active CN101729386B (zh) | 2008-11-03 | 2008-11-03 | 一种基于令牌调度的流量控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101729386B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102340442A (zh) * | 2010-07-21 | 2012-02-01 | 杭州华三通信技术有限公司 | 调整接口接收队列长度的方法及装置 |
CN102546411A (zh) * | 2011-12-31 | 2012-07-04 | 华为数字技术有限公司 | 一种转发流量的方法和装置 |
CN102611605A (zh) * | 2011-01-20 | 2012-07-25 | 华为技术有限公司 | 一种数据交换网的调度方法、装置和*** |
CN103379038A (zh) * | 2012-04-12 | 2013-10-30 | 中兴通讯股份有限公司 | 一种流量调度的装置及方法 |
CN104734989A (zh) * | 2013-12-23 | 2015-06-24 | 腾讯数码(天津)有限公司 | 基于令牌桶的数据传输流量调度方法及其*** |
CN107005467A (zh) * | 2014-12-24 | 2017-08-01 | 英特尔公司 | 用于在交换机中路由数据的装置和方法 |
CN107276909A (zh) * | 2016-04-07 | 2017-10-20 | 深圳市中兴微电子技术有限公司 | 端口流量管理方法及装置 |
CN112202684A (zh) * | 2020-09-10 | 2021-01-08 | 苏州浪潮智能科技有限公司 | 一种限速队列提交训练任务的方法和装置 |
CN112737970A (zh) * | 2019-10-28 | 2021-04-30 | 华为技术有限公司 | 一种数据传输方法及相关设备 |
CN115118671A (zh) * | 2022-05-30 | 2022-09-27 | 中国信息通信研究院 | 用于令牌环调度的方法及装置、电子设备、存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9986581B2 (en) * | 2015-05-14 | 2018-05-29 | Qualcomm Incorporated | Multi-user multiple-input-multiple-output scheduling |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1206526A (zh) * | 1995-12-28 | 1999-01-27 | 德纳克公司 | 管理网络资源的方法和设备 |
US6683853B1 (en) * | 1999-12-01 | 2004-01-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Dynamic upgrade of quality of service in a packet switched network |
CN101272345B (zh) * | 2008-04-29 | 2010-08-25 | 杭州华三通信技术有限公司 | 一种流量控制的方法、***和装置 |
-
2008
- 2008-11-03 CN CN2008102172505A patent/CN101729386B/zh active Active
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102340442B (zh) * | 2010-07-21 | 2015-07-22 | 杭州华三通信技术有限公司 | 调整接口接收队列长度的方法及装置 |
CN102340442A (zh) * | 2010-07-21 | 2012-02-01 | 杭州华三通信技术有限公司 | 调整接口接收队列长度的方法及装置 |
CN102611605A (zh) * | 2011-01-20 | 2012-07-25 | 华为技术有限公司 | 一种数据交换网的调度方法、装置和*** |
CN102611605B (zh) * | 2011-01-20 | 2015-02-25 | 华为技术有限公司 | 一种数据交换网的调度方法、装置和*** |
CN102546411A (zh) * | 2011-12-31 | 2012-07-04 | 华为数字技术有限公司 | 一种转发流量的方法和装置 |
CN102546411B (zh) * | 2011-12-31 | 2014-08-13 | 北京华为数字技术有限公司 | 一种转发流量的方法和装置 |
CN103379038B (zh) * | 2012-04-12 | 2018-08-03 | 南京中兴新软件有限责任公司 | 一种流量调度的装置及方法 |
CN103379038A (zh) * | 2012-04-12 | 2013-10-30 | 中兴通讯股份有限公司 | 一种流量调度的装置及方法 |
US10263906B2 (en) | 2012-04-12 | 2019-04-16 | Zte Corporation | Flow scheduling device and method |
CN104734989B (zh) * | 2013-12-23 | 2018-09-14 | 腾讯数码(天津)有限公司 | 基于令牌桶的数据传输流量调度方法及其*** |
CN104734989A (zh) * | 2013-12-23 | 2015-06-24 | 腾讯数码(天津)有限公司 | 基于令牌桶的数据传输流量调度方法及其*** |
CN107005467A (zh) * | 2014-12-24 | 2017-08-01 | 英特尔公司 | 用于在交换机中路由数据的装置和方法 |
CN107005467B (zh) * | 2014-12-24 | 2021-03-26 | 英特尔公司 | 用于在交换机中路由数据的装置和方法 |
CN107276909A (zh) * | 2016-04-07 | 2017-10-20 | 深圳市中兴微电子技术有限公司 | 端口流量管理方法及装置 |
CN112737970A (zh) * | 2019-10-28 | 2021-04-30 | 华为技术有限公司 | 一种数据传输方法及相关设备 |
CN112202684A (zh) * | 2020-09-10 | 2021-01-08 | 苏州浪潮智能科技有限公司 | 一种限速队列提交训练任务的方法和装置 |
WO2022052659A1 (zh) * | 2020-09-10 | 2022-03-17 | 苏州浪潮智能科技有限公司 | 一种限速队列提交训练任务的方法和装置 |
CN112202684B (zh) * | 2020-09-10 | 2022-05-13 | 苏州浪潮智能科技有限公司 | 一种限速队列提交训练任务的方法和装置 |
CN115118671A (zh) * | 2022-05-30 | 2022-09-27 | 中国信息通信研究院 | 用于令牌环调度的方法及装置、电子设备、存储介质 |
CN115118671B (zh) * | 2022-05-30 | 2024-01-26 | 中国信息通信研究院 | 用于令牌环调度的方法及装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101729386B (zh) | 2012-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101729386B (zh) | 一种基于令牌调度的流量控制方法及装置 | |
CN107959636B (zh) | Bgp消息的发送方法及装置 | |
US7352765B2 (en) | Packet switching fabric having a segmented ring with token based resource control protocol and output queuing control | |
CN102369688B (zh) | 资源动态调整方法和调度设备 | |
JP3415628B2 (ja) | 効率的な出力―要求パケット交換機および方法 | |
US7653069B2 (en) | Two stage queue arbitration | |
CN101199168B (zh) | 监控通信链路的队列的方法、设备和*** | |
JP3178470B2 (ja) | データフロー制御スイッチ及びそのスケジューリング方法 | |
JP2014187421A (ja) | 通信装置及びパケットスケジューリング方法 | |
EP2378721B1 (en) | Bandwidth allocation method and routing apparatus | |
CN1989738A (zh) | 最低保证调度速率的传播 | |
US20080063004A1 (en) | Buffer allocation method for multi-class traffic with dynamic spare buffering | |
US6345040B1 (en) | Scalable scheduled cell switch and method for switching | |
JPH10313324A (ja) | 通信ネットワークにおけるパケットの配送装置とその方法 | |
US20060245423A1 (en) | Method for dynamically computing a switching schedule | |
CN103379038A (zh) | 一种流量调度的装置及方法 | |
CN101651615A (zh) | 报文调度方法和装置 | |
JP2017063388A (ja) | 帯域制御装置及び帯域制御システム | |
CN102118314A (zh) | 流量管理的方法和管理装置 | |
US20060050639A1 (en) | Credit-based method and apparatus for controlling data communications | |
CN113645147A (zh) | 一种流量整形器的令牌更新***及方法 | |
CN100421420C (zh) | 一种调度纵横式交换矩阵中变长数据包队列的方法 | |
US8879578B2 (en) | Reducing store and forward delay in distributed systems | |
US20100205612A1 (en) | Method and apparatus for processing protocol messages for multiple protocol instances | |
Pappu et al. | Distributed queueing in scalable high performance routers |
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 |