在拥塞下采用基于业务负荷的缩放进行调度的制作方法

文档序号:7991534阅读:321来源:国知局
在拥塞下采用基于业务负荷的缩放进行调度的制作方法
【专利摘要】描述用于调度分组以降低分组数据网络中的拥塞的设备和技术。在本发明的一个实施例中,分组通过多个信道的每个来接收,并且存储在各信道的相应队列中。监测各队列的状态为空或者非空。当空队列变成非空时,则对相应信道将带宽分配值加入端口负荷值。当非空队列变空时,则从端口负荷值中减去相应信道的带宽分配。通过端口的业务速率则基于端口负荷值来缩放。
【专利说明】在拥塞下采用基于业务负荷的缩放进行调度
【技术领域】
[0001]本发明的实施例涉及调度计算机网络中的分组的领域;以及更具体来说,涉及使用信道业务负荷的测量来降低拥塞。
【背景技术】
[0002]当分组通信网络变为拥塞时,端口(其通过通信基础设施来提供分组)能够结束丢弃流中的一个或多个分组。这能够引起连接的接收端的差错。但是,在一些网络中,当丢弃单个分组时,可重新发送分组的整个块,以便从差错进行恢复。重新发送块中的所有分组以便恢复单个或几个被丢弃分组增加更多业务,并且能够使拥塞更坏。
同时,分组业务常常是突发的,因为对于短时间,分组将很快地到达端口,则没有分组或者只有几个分组将会到达。在许多情况下,这个突发模式通过典型用户行为来引起。例如,因特网浏览器可能选择查看网页,从而使服务器发送传递网页所需的所有分组。用户则在接收到网页之后对其进行查看,并且暂时没有进行请求。
为了利用这个典型业务模式,在一些端口调节业务,使得在忙周期期间,缓冲业务,并且以比所请求速率要慢的速率来发送分组。额外分组继续在通常静寂周期期间来发送,直到清空所有缓冲器。这种类型的调节要求在紧急或者高优先级的分组与不太紧急或者更低优先级的分组之间进行选择。它还要求调度器降低向端口施加分组的速率,以便防止任一个被丢弃。存在许多不同的调度方式,其设法确定哪些分组应当首先发送。
[0003]循环(RR)和加权循环(WRR)调度器基于指配给信道的权重来拣选分组。带宽共享按照权重来保持。基于分组进行判定。
RR调度用于在非拥塞和拥塞条件下保持信道之间的相对共享。但是,它不向信道指配固定速率。这允许任何订户使用多达可用的带宽。能够将权重指配给信道,以便给予信道不同等级的相对共享。
[0004]亏空循环(DRR)调度器基于固定时间间隔轮流运行。根据每轮中的一定数量的信用或计数来添加信道。信道的信用的当前数量与信道适合发送的字节或位数是相同的。调度器从具有足够信用以覆盖分组大小的信道来拣选分组。按照位或字节的单位而不是按照分组来测量业务,因此,DRR基于每秒位数来保持信道之间的公平带宽。相比之下,RR和WRR基于分组数量来保持信道之间的公平性。
[0005]对于基于信用的系统,信道随时间经过而重新装填有信用。这将循环行为从基于分组的调度改变成基于带宽的调度。这还给予服务提供商将订户带宽的上限定为固定量的能力。
[0006]广义过程共享(GPS)、加权公平排队(WFQ)、最坏情况公平加权公平排队(WF2Q)全部基于DRR,并且是基于位的算法。
[0007]基于保留的GCRA (通用信元速率算法)是由ATM论坛业务管理版本4.0所提供的ATM(异步传输模式)方案。这使用记分板来近似,以执行调度。由于在ATM中,所有分组均是固定大小信元,所以记分板上的信用单位能够退化成一位数。记分板使用一位来为信道保持发送信元的调度。通过这个基于硬件记分板的调度,实现WRR的效果。
[0008]记分板的问题在于,多个信道能够竞争单个时隙。GCRA描述基于整形/监管参数的单信道的速率。因此,它设法保持最大-最小公平性,也就是说,在拥塞下给予低需求信道(例如1.5M信道)优于高需求信道(例如6M信道)的优势。因此,在拥塞下,高付费客户接收与所有其它客户相同的带宽量。最大-最小公平性使比例公平性是不可能的。

【发明内容】

[0009]描述用于调度分组以降低分组数据网络中的拥塞的设备和技术。在本发明的一个实施例中,分组通过多个信道的每个来接收,并且存储在各信道的相应队列中。监测各队列的状态为空或者非空。当空队列变成非空时,则对相应信道将带宽分配值加入端口负荷值。当非空队列变空时,则从端口负荷值中减去相应信道的带宽分配。通过端口的业务速率则基于端口负荷值来缩放。
在本发明的另一个实施例中,网络元件具有:多个信道接口,用于接收分组;以及多个分组队列,分别耦合到各信道接口,以缓冲在信道接口所接收的分组。端口耦合到队列,以传送来自队列的所接收分组,以及缩放器监测各队列的状态为空或非空,当空队列变为非空时将相应信道的带宽分配加入端口负荷值,当非空队列变空时从端口负荷值中减去相应信道的带宽分配,并且基于端口负荷值来缩放通过端口的业务速率。
[0010]这种方式通过在每次分组到达时不计算缩放和负荷因子,对系统增加极少计算负担。它而是利用如下事实:基于IP的网络中的业务大多数是突发的。因此,队列趋向于通过若干分组保持空或者非空。
【专利附图】

【附图说明】
[0011]通过参照用于示出本发明的实施例的以下描述和附图,可以最透彻地了解本发明。附图包括:
图1是按照本发明的一个实施例的分组调度器的简化框图;
图2是按照本发明的一个实施例、确定缩放因子的逻辑的简化框图;
图3是按照本发明的一个实施例、确定缩放因子的过程流程图;
图4是按照本发明的第二实施例的分组调度器的简化框图;
图5是按照本发明的第三实施例的分组调度器的简化框图;
图6是按照本发明的第三实施例、确定多个缩放因子的过程流程图;
图7是适合于实现本发明的所述实施例的调度器的任一个或多个的线路卡的框图;以

图8是按照本发明的实施例、能够携带图7的线路卡的网络元件的框图。
【具体实施方式】
[0012]在以下描述中,提出了诸如逻辑实现、操作码、指定操作数的部件、资源划分/共享/重复实现、系统组件的类型和相互关系以及逻辑划分/集成选择之类的许多具体细节,以便提供对本发明的更透彻了解。然而,本领域的技术人员将会理解,即使没有这类具体细节,也可实施本发明。在其它情况下,没有详细示出控制结构、门级电路和完整软件指令序列,以免影响对本发明的理解。通过所包含的描述,本领域的技术人员将能够实现适当的功能性而无需过分实验。
[0013]说明书中提到“ 一个实施例”、“实施例”、“示例实施例”等表示所述的实施例可包括特定特征、结构或特性,但可能不一定每一个实施例都包括该特定特征、结构或特性。此夕卜,这类词语不一定指同一个实施例。此外,在结合实施例来描述特定特征、结构或特性时,无论是否明确描述,均认为结合其它实施例来实现这种特征、结构或特性是在本领域的技术人员的知识范围之内的。
[0014]在以下描述和权利要求书中,可使用术语“耦合”和“连接”及其派生。应当理解,这些术语并不是要作为彼此的同义词。“耦合”用于表示彼此可以有或者可以没有直接物理或电接触的两个或更多元件相互配合或交互。“连接”用于表示相互耦合的两个或更多元件之间的通信的建立。
[0015]端口和信道:在网络服务系统中,数据采取分组的形式来传递。物理传输载体称作端口。例如,在边缘路由器中,能够存在连接到上游路由器的100M以太网端口,而另外两个IOM以太网端口能够用于连接到两个订户。端口能够分为信道。作为一个示例,上游100M以太网端口可分为2个信道,每个下游订户一个。这是典型情况,其中多个订户共享端口的带宽。端口和信道在本文中用于表示较高和较低等级的业务处理。
[0016]拥塞:在路由器中,业务从一些入口(入局)端口到达,并且将被路由到其它出口(出局)端口。当来自多个入局信道的业务被路由到同一出口端口时,聚合业务可能超过出口端口带宽。当那种情况发生时,端口被拥塞。在拥塞下,在路由器中丢弃一些分组。
[0017]排队、调度和整形:路由器中存在业务操控元件。队列用于缓冲入局分组,并且执行分组的逻辑丢弃。在本文的示例中,对于本论述,每个信道存在一个队列。调度器用于确定分组将从哪个信道队列发送给出局端口。在考虑一个业务携带单元(信道或端口)时,在调度器将粗略入局业务模式整形为平滑出局业务的意义上,它又称作整形器。“平滑”表示业务符合服务等级协议的某个预定义集合。例如,1.5M订户信道上的信道整形器将业务整形为平滑1.5M分组流。或者100M以太网端口上的端口整形器将把来自多个信道的聚合出局业务整形到端口速率。排队、调度和整形在本文中用于一般表示用于操控业务的技术。
[0018]公平性:公平性是测量关于调度器如何执行以对每个单独信道给予带宽的公平共享的目标。对于具有不同带宽分配的信道,公平表示按照所指配信道带宽配置的带宽的比例共享。
[0019]按照本发明的实施例,简单即时业务负荷算法将负荷结果施加到调度器,以便使用极少硬件和软件资源来实现比例公平性。端口的即时配置业务负荷等级能够以最小计算成本来计算。
[0020]按照本发明的实施例,将业务负荷等级应用于调度过程,以实现公平性。在调度器计算信用或ATM信元间隔时,负荷等级用于在端口被堵塞时缩小信用或者放大信元间隔。这避免不同指配带宽的信道的不成比例退化。
[0021]通过将信道动态向回缩放业务负荷超过端口带宽的相同量,调度器有效地避免业务拥塞。这防止调度器设法调度比端口在拥塞下能够适应的业务要多的业务。
[0022]调度系统能够使用实时测量(本文中称作端口负荷)来改进。它在没有业务流动时能够初始化为O或者另外某个值。许多分组路由选择和调度系统的初始条件在于,任何队列中不存在分组。在本描述中,端口负荷是端口的拥塞的测量,因此将其初始化为零。
[0023]在初始化之后,端口负荷能够由下式定乂:
端 口负荷=Σ i=1_N Sbwi * Acti等式(I)
等式I假定N个信道在端口上配置,并且分别具有所分配或者整形的带宽分配Sbwi,表示为端口速率的百分比。Acti是第i信道活动指示符,其在信道队列为空时为O,否则为I。
[0024]为了实时地执行上述计算,能够向队列准入算法添加逻辑,使得当分组到达时,如果队列为空并且这时随到达分组而不再为空,则将信道带宽Abwi加入端口负荷。另一方面,当分组离开时,如果队列然后变空,则从端口负荷中减去信道带宽Abwi。
[0025]如本文所使用的测量端口负荷反映端口上的实时负荷等级。每当它大于I时,调度器将处于设法挤入通过端口的、比端口能够支持的业务要多的业务的条件下。这种方式利用如下事实:基于IP的网络中的业务大多数是突发的。分组趋向于以突发(其将相应队列暂时保持为非空)到达。给定这个突发业务性质,不一定需要计算和改变每个分组的端口负荷。计算每个分组的缩放和负荷因子对系统引入大计算负担。
[0026]例如,如果存在各为25%端口带宽的8个信道,则当所有8个信道在其队列中有分组等待被发送时,端口负荷等级将为200%或2。如果端口以200%来加载,则为了防止拥塞,调度器调整成将信道业务速率向回缩放到二分之一(端口负荷值)。
[0027]—些调度器使用修改亏空循环(MDRR)方式进行调度。即时业务负荷算法能够作为负荷结果来应用于MDRR调度器和整形器,以便改进这种调度器的拥塞行为。在具有基于MDRR的调度器的一些系统中,在各循环事件发生时对队列增加或者减去信用。信用能够使用如下端口负荷值来修改:
在将信用加入队列时:
如果端口负荷>1,则添加定量/端口负荷,否则添加定量。
[0028]当整形出去的业务时:
如果端口负荷>1,则使用transmit_rate(传送_速率)/端口负荷,否则使用transmit—rate ο定量是周期地添加到队列的原始信用。Transmit_rate是原始信道整形速率。
[0029]端口负荷的这种使用仅立即缩小整形器速率,它没有中断与原始整形器关联的任何原始服务合同。与其它更高级技术相比,对MDRR技术的这种改变应当具有小实现成本。增加的操作能够仅以两个增加计算来实现。I)当分组到达队列或者从队列离开时,仅当队列空虚性(emptiness)发生变化时,才更新全局端口负荷。2)当调度分组时,仅当端口负荷>1时,才将信用或速率与端口负荷相乘。
[0030]图1示出使用上述端口负荷值对其添加了调度的简化调度器配置的实施例。图1具有一组入局信道10。信道可与不同用户、不同企业、不同会话或者来自任何用户的不同通信需求关联。在一个实施例中,各信道对应于永久虚拟电路。各信道耦合到队列11,其中缓冲来自信道的分组,直到它们能够通过端口 13来路由。各队列耦合到每个相应队列与端口之间的调度器12。调度器基于端口的容量和任何其它预期因子(包括分配给特定信道的速度、各信道的服务质量(QoS)、队列中的分组类型和其它因子)来缩放业务。
[0031]记分板13耦合在调度器12与端口 14之间。记分板用作异步传输模式(ATM)分组调度器。如果分组不是ATM分组,则记分板仍然可用于系统中,或者可使用另一个备选方案。记分板调度机制可用于任何固定大小分组通信系统,而不是ATM特定的。记分板上的位置或时隙能够映射到端口的固定出口时间间隔时,记分板是特别有用的。对于固定大小分组,如果对那个完整时间间隔来发送数据,则能够全面利用端口。
各队列11中的活动由缩放器15 (其耦合到各调度器12,以便基于队列中的活动来缩放业务的调度)来监测。在这个图中,缩放器保持端口负荷。进入和离开缩放器的线条示出计算和传播通路。
[0032]图2是图1的缩放器的一部分的更详细简图。图2的简图表示上述等式I的操作。多个活动监测器20耦合到对应整形带宽(Bwi)寄存器21。在这个实施例中,对各队列存在一个活动监测器。活动监测器20确定队列从为空改变为非空的时间以及队列从非空改变为空的时间。在空到非空的第一种情况下,与队列关联的活动监测器生成正一值。在非空到空的第二种情况下,活动监测器生成负一值。 将所生成的值施加到对应整形带宽寄存器21。在所示实施例中,对于各活动监测器并且相应地对于各队列存在一个整形带宽寄存器。各整形带宽寄存器存储与队列对应的信道的带宽分配(例如25%)。在将所生成的值施加到带宽寄存器时,将它与带宽寄存器相结合,并且将结果施加到端口负荷寄存器22。这使端口负荷增加或者减少对应整形带宽因子的量。然后应用修改端口负荷值,以改写缩放因子寄存器23。可执行附加操作,以修改或者适配缩放因子用于特定自适应。
[0033]在图1的实施例中,把来自缩放器15的缩放因子寄存器22的缩放因子施加到各信道的调度器。这减缓将分组施加到记分板,并且降低或者消除端口 14上的拥塞。
[0034]在这个实施例中,即时业务负荷方式用于ATM分组。如前面所述的全局变量“端口负荷”用于跟踪端口业务负荷等级。虽然本文的许多示例适用于ATM技术,但是技术也可适用于其它调度系统。ATM分组可称作信元,以及术语“信元”可用于表示其它类型的分组、特别是固定速率分组以及可变大小分组的固定大小部分。
在一些ATM处理器中,信元使用信元间间隔(ICI)来调度。ICI能够用于表示记分板上的信元之间的间隔。换言之,在将新信元放置于记分板上时,ICI表示新信元应当离开下一个最接近信元多少记分板时隙。信元的间距则控制将信元馈送到端口的定时。在这个实施例中,不是缩放信用,端口负荷能够用于缩放ICI。
[0035]下列逻辑示出能够添加到调度器/整形器(其使用记分板上的ICI)的逻辑的实施例。
在从记分板去除信元时(这对应于向端口发出):
如果端口负荷>1,则使用Modified_ICI (修改_ICI)来放置下一个信元,否则使用
ICI。
Modif ied_ICI=ICI* 端口 负荷
在这个实施例中,整形带宽能够是如上所述的Sbwi或者另外某个值。在一个实施例中,能够使用平均带宽。如本文所使用的这个值对应于分配或整形百分比带宽,其在配置时间是已知的。能够使用其它测量,这取决于用户、客户或者服务提供商的期望和需要。
图3是用于上述过程的过程流程图。图3中,在31,将分组接收到一个或多个分组队列中,供通过中传输。虽然在分组的上下文中提供描述,但是数据能够采取多种其它形式的任一种到达,并且本文的技术适用于任何形式的数据,该数据能够在队列中缓冲并且调度。在32,活动监测器确定队列是否从具有一些缓冲数据转为空。在33,活动监测器确定队列是否从为空转为非空。如果队列转为空,则在34,从端口负荷值中减去某个因子、在这个实施例中为整形带宽因子。如果队列转为非空,则在35,将整形带宽加入端口负荷值。在36,端口负荷值用于缩放业务。
类似技术也能够适用于具有两个优先级的调度业务。能够实现多种不同设计,包括高优先级和低优先级速率的速率缩放分级结构。速率缩放分级结构能够使用图4所示系统来建立。在这里,来自较高优先级的未使用带宽向下传播到较低优先级。缩放器将聚合信道带宽放大到未使用低优先级带宽,同时保持两个优先级之间的严格优先顺序。端口负荷全局变量方式的使用固有地应用时间延迟求平均,其帮助确保稳定性。
[0036]将参照其它简图的示范实施例来描述这个及其它流程图的操作。但是应当理解,流程图的操作能够通过除了参照这些其它简图所述实施例之外的本发明的实施例来执行,并且参照这些其它简图所述的本发明的实施例能够执行与参照流程图所述操作不同的操作。
[0037]通过使用两个全局业务负荷变量(每个优先级一个),间接地得到二优先级调度效果。更多全局业务变量能够用于将该技术扩大到调度更多优先级。本文所述的全局业务变量与通常在调度器中实现的优先级调度(其中直接评估分组或队列,以拣选要发送哪一个信道)相比,实现更为简单。
[0038]在图4的实施例中,存在用于调度系统中的两个变量portload_high (端口负荷_高)和portloacLlow (端口负荷_低)。它们在没有业务流动时能够初始化为O。如同图1中一样,各信道的分配带宽表示为端口带宽的百分比。跟踪队列空虚性,并且队列知道它属于哪一个优先级。图1具有多个入局信道40-1至40-4,各耦合到相应队列41-1至41-4(各耦合到相应调度器42-1至42-4)。 第一两个调度器42-1和42-2耦合到低优先级记分板42-1。第二两个调度器42_3和42-4耦合到高优先级记分板43-2。记分板将分组(在这种情况下称作信元)馈送到端口44,即来自系统的出口。第一两个调度器对应于低优先级队列,而第二两个调度器对应于高优先级队列。更多得多队列能够耦合到记分板的每个。本描述的实施例仅以四个信道来呈现,以便简化附图并且易于理解。
[0039]调度器由缩放器来控制。高优先级调度器由高优先级缩放器45-1(其使用portload_high变量)来控制。低优先级调度器由低优先级缩放器45_2 (其使用portload_low变量)来控制。两个全局业务变量portload_high和portload_low能够根据特定实现来适配和修改,以适合不同类型的缩放器。缩放因子能够直接应用于信用、ICI因子或者按照其它方式,这取决于调度器。
在本发明的一个实施例中,记分板使用ICI的两个修改来控制。修改ICI高是被按照高端口负荷因子缩放的ICI。修改ICI低是被按照高和低端口负荷因子之和缩放的ICI。在系统的初始条件下,任何队列中不存在分组。因此,portload_high=0并且portload_low=0。这些值采用如下逻辑来修改:
当分组到达并且高优先级队列为空时:
将信道带宽Sbwi加入portload_high。
[0040]当分组离开并且高优先级队列变空时:
从portload_high中减去信道带宽Sbw^[0041]当分组到达并且低优先级队列为空时:
将信道带宽Sbwi加入portload_low。
[0042]当分组离开并且低优先级队列变空时:
从portload_low中减去信道带宽Sbw^
[0043]在从高优先级记分板去除信元时(因为将它向端口 44发出):
如果portload_high>l,则使用Modified_ICI_high (修改_ICI_高)来放置下一个信元,否则使用ICI。
[0044]在从低优先级记分板去除信元时:
如果 portload_high+portload_low>l,则使用 Modified_ICI_low (修改 _101_低)来放置下一个信元,否则使用ICI。
[0045]如上所述,Modified_ICI_high=ICI* (portlaod_high)
Modified_ICI_low=ICI*(portlaod_high+portload_low)
高优先级缩放器portload_high能够如图3所示仅依靠高优先级队列来得出。低优先级端口负荷缩放器(portload_high+portload_low)能够按照至少两种不同方式之一来得出:
在第一方式中,每当portload_high因高优先级队列变为空或者非空而改变时,对portload_low加入或减去与对portload_high加入或减去相同的量。这引起portload_low=portload_high + portload_low。
[0046]在第二种方式中,运行后台过程并且使用独立变量portload_low_actual (端口负荷_低_实际)。后台过程周期地设置portload_low_actual = portload_high +portload_low0 然后使用 Modified_ICI = ICI*portload_low_actual 代替 Modif ied_ICI=ICI*(portload_high + portload_low)。这种方式引入位滞后,其可引起暂时端口拥塞,但是它应当随着后台过程运行而迅速稳定。这些方式和其它方式的任一种能够通过软件来执行。借助于专用或者专门构建的硬件,能够减轻软件负担。.图5示出使用对上述技术的进一步变化的另一个备选调度器。图5中,存在多个(在这个实施例中为四个)入局信道50-1至50-4,各耦合到相应队列51-1至51-4(各耦合到相应调度器52-1至52-4)。
第一两个调度器52-1和52-2耦合到低优先级记分板52-1。第二两个调度器52_3和52-4耦合到高优先级记分板53-2。记分板将分组馈送到端口 54。第一两个调度器对应于低优先级队列,而第二两个调度器对应于高优先级队列。更多得多队列能够耦合到记分板的每个。与图4的实施例相对照,仅存在耦合到所有调度器的一个缩放器55。图5再次将记分板示为ATM调度器。记分板能够适用于其它分组,特别是固定大小分组或者可变大小分组的固定大小部分。相应地,调度的结构也适应用于其它调度和整形系统。该结构还可修改成在无需记分板的情况下进行操作。
[0047]另外,虽然图4和图5示出用于优先级调度的两个记分板,因为所述技术已经覆盖缩放因子计算中的优先级,但是备选地可使用单个记分板。
图5的实施例允许如单个缩放器和连接队列所表示的单组来保持多个优先级。一个缩放器控制其全部优先级的聚合业务。这能够与图4的基于优先级的分级结构结合用于形成更复杂的带宽共享系统。优先级调度结果能够在没有图4的调度器优先级机制的情况下实现。
[0048]图6是过程流程图,示出能够如何采用使用两个端口负荷值、即portload_low和portload_high的多个优先级来实现速率缩放。流程图具体示出如图4中实现的过程。在60-1,将分组接收到一个或多个分组队列中,供通过端口传输。如同所有所述实施例中一样,数据能够采取多种其它形式的任一种到达,并且本文的技术适用于任何形式的数据,其能够在队列中缓冲并且调度。在61-1,活动监测器确定队列是否从具有一些缓冲数据转为空。在62-1,活动监测器确定队列是否从为空转为非空。这些队列可以是全部队列或者只是低优先级队列。
如果队列转为空,则在63-1,从低端口负荷值中减去某个因子、在这个实施例中为整形带宽因子。如果队列转为非空,则在64-1,将整形带宽加入低端口负荷值。在65-1,将缩放因子计算为低端口负荷值和高端口负荷值之和。在66-1,缩放因子用于缩放低优先级业务。如前面所述,这可通过根据特定调度系统缩放速率、信用、ICI值或者任何其它业务速率值进行。
[0049]在大约同时,并行过程对高优先级队列进行操作。在60-2,将分组接收到高优先级分组队列中,供通过端口传输。在61-2,活动监测器确定队列是否从具有一些缓冲数据转为空。在62-2,活动监测器确定队列是否从为空转为非空。这些队列可以是全部队列或者只是闻优先级队列。
如果队列转为空,则在63-2,从高端口负荷值中减去整形带宽因子。如果队列转为非空,则在64-2,将整形带宽加入高端口负荷值。在65-2,将缩放因子确定为高端口负荷值,以及在66-2,缩放因子用于缩放高优先级业务。
对于复杂调度,能够考虑组效果。再一次,虽然本发明的以下实施例在ATM的上下文中提供,但是它可适配成适合其它种类的业务。首先,将从各组的任一个所选取的信道的组限制到使用小于端口带宽的30%的总量。所有信道组将成比例地向回缩放,而与其优先级无关。但是,高优先级组中的信道将放置到高优先级记分板上。这给予它以较低延迟被路由到端口的更好时机。通常,较低优先级记分板在以后来调度,并且那些记分板上的分组遭受更大延迟。
[0050]全局地,将端口负荷变量添加到调度系统。代替如同先前实施例中那样的零值,它在没有业务流动时初始化为70%。各信道的分配带宽ABwi表示为端口带宽的百分比。系统的初始条件在于,任何队列中不存在分组。端口负荷=0.7。因此,当真实信道所添加的聚合负荷超过30%时,端口负荷将超过1,并且所有信道将向回缩放。
[0051 ] 添加到队列的逻辑与前面所述实施例的逻辑相似。跟踪队列空虚性。
[0052]当分组到达并且队列为空时:
将信道带宽加入端口负荷。
[0053]当分组离开并且队列变空时:
从端口负荷中减去信道带宽。
[0054]添加到调度器/整形器的逻辑能够如前面具有一个优先级是相同的,以及这个逻辑用于得到分级调度效果。信道的交叉优先级编组能够用于限制某些种类的信道跨所有订户所使用的带宽。
[0055]分级调度常常用于实现复杂业务管理目标。在这种情形下,端口等级调度器从几个子端口调度器获取业务。单独配置每个调度器。通过在不同调度器应用不同参数,业务共享目标能够在信道组之间实现。
[0056]分级调度的一些优点是直观简单性和顺应性。直观简单性在于,所有调度器能够按照相同方式进行。对于顺应性,所有调度器能够将业务整形成符合相关业务合同。业务将能够经过各种业务监管点。作为顺应性示例,考虑运营商A提供隧道传递服务,以及客户使用隧道来连接到运营商B。在这个示例中,到运营商A的连接将由端口调度器来整形,以及隧道内部的连接由子端口调度器来整形。当端口调度器和子端口调度器均正确配置时,由客户所发送的业务将符合运营商A的监管器和运营商B的监管器。
[0057]但是,直观简单性引起硬件复杂度,因为分组在其发出的途中经过多个调度器/整形器。能够通过考虑单个端口调度器和两个子端口调度器的示例,来看到这点。端口将具有例如100M带宽。将为每个子端口组指配例如80M带宽。来自两个子端口的业务可能堵塞端口。在拥塞下,如果两组均匀地共享带宽,则减轻业务。
[0058]为了提供这些有益效果,在一个实施例中,增加新全局变量portload_top (端口负荷_顶)。它在没有业务流动时初始化为O。另外,增加两个新变量groupload_l (组负荷_1)和groupload_2 (组负荷_2),每信道组一个。这三个变量能够用于负荷跟踪。增加portscale_l (端口缩放_1)和portscale_2 (端口缩放_2),以跟踪从端口到组的负荷缩放反馈,以及增加groupscale_l (组缩放_1)和groupscale_2 (组缩放_2),以将实际向回缩放因子施加到各组中的信道。
[0059]添加到队列的逻辑与以上所述相同。如上所述,系统的初始条件在于,任何队列中不存在分组,并且跟踪队列空虚性。对于新变量,使用下列逻辑。
当分组到达并且队列为空时:
将信道带宽Sbwi分别加入groupload_l或groupload_2。
[0060]当分组离开并且队列变空时:
分别从groupload_l或groupload_2减去信道带宽Sbwic
[0061]附加逻辑使用至少两个备选方案之一把来自组的负荷向上传播到端口:
当 groupload_l 或 groupload_2 发生变化时:
通过直接计算 portload_top = groupload_l + groupload_2,来更新 portload_top。
[0062]或者使用后台过程进行计算。
[0063]端口负荷结果也向下传播(使用直接计算或者后台过程):
如果 portload_top>l:
T§i B portscale_l = portload_top 和 portscale_2 = portload_top,否则,设置portscale_l = I和 portscale_2 = I。
[0064]如果 groupload_l/Abw_group_l>l:
设置 groupscale_l = (groupload_l/Abw_group_l)*portscale_l,否则,设置groupscale_l = portscale_l。
[0065]其中Abw_group_i (i=l或2)是组i业务的%,并且在这个实施例中均等于0.8。注意,在这里,groupscale_l和portscale_l始终为I或者以上,因此,在调度器过程中,不存在关于这些值是否小于I的评估。
[0066]对groupscale_2和portscale_2进行相同的缩放因子计算。 然后将业务负荷缩放因子groupscale_l和groupscale_2施加到调度器。
添加到调度器/整形器的逻辑与上述实施例相似,除了将信道分别向回缩放groupscale_l 或 groupscale_2 倍。也不需要检查是否 groupscale_l>l。
[0067]本发明的这个实施例允许分级调度效果使用具有端口负荷值的业务负荷技术来实现。这个技术使用比直接分级调度要少的资源。因此,分级调度能够用于形成带宽共享组。这能够取代对于在更高等级调度器监管业务顺应性的需要,这是因为当向回缩放信道调度器时,信道业务始终是顺应的。
图7示出适合于实现上述本发明的实施例的任一个或多个的调度和缩放的线路卡70的示例。图7的线路卡包括两个物理层接口 71-1、71-2,其采取前端线路接口芯片(标记为PHYO和PHYl)的形式。PHY芯片为上述信道和端口提供接口。PHY芯片通过例如ATM的通用测试和操作物理接口(UTOPIA)总线(其提供物理层(PHY)与ATM中的上层之间的第I层数据通路接口 )来耦合到ATM分段和重组(SAR)装置72。SAR通过另一个UTOPIA总线耦合到分组处理器、例如入口分组处理ASIC(专用集成电路)(IPPA) 73,以便缓冲、调度和缩放入局分组,以及还耦合到分组处理器、例如出口分组处理ASIC (EPPA) 74,以便缓冲和调度通过端口的出局业务。
IPPA和EPPA通过结构接口(fabric interface)、例如分组网格ASIC 75与到其它线路卡的网格或底板耦合。另一方面,SAR 72通过外设部件互连(PCI)总线耦合到控制和配置处理器76。这个处理器通过控制接口耦合到外部处理器、例如底架上的外部交叉连接路由处理器78。
[0068]图7所示的架构特别适合于ATM,以及本发明的实施例可适用于其它类型的系统架构和其它协议。在图7的实施例中,分组能够通过PHY接口 71或者通过到其它线路卡的PMA 75以及然后通过其它线路卡的PHY接口来路由。PHY接口在不同线路卡上可以是不同的,其中包括以太网。上述端口可以在PHY接口上或者在结构或底板接口上。上述逻辑操作可在IPPA、EPPA和处理器中来执行,并且在本地处理器中本地控制或者由远程处理器来控制,这取决于特定实现。
[0069]图8是示出能够携带图7的线路卡连同其它线路卡以及互连它们的网格的网络元件80的框图。图7的ATM卡表示为图8中的线路卡。在本发明的一个实施例中,底架86耦合到一组N个线路卡82A-N和处理卡84A-B。附加和其它类型的装置(未示出)可耦合至IJ底架86。业务整形算法可以是线路卡82A-N和/或处理卡84A-B的一部分,备选实施例可具有备选卡布置(具有一个或多个端口和转发引擎的组合线路和处理卡、每线路卡一个处理卡、每线路卡多个处理卡等)。网络元件80包括线路卡82A-N,以转发分组。
[0070]业务整形模块的这个实现作为示例但决不是作为限制而示出。因此,具有其它体系结构配置的网络元件可结合本发明的实施例。可结合本发明的实施例的其它网络元件的示例可具有多个转发卡,或者具有结合转发和控制的功能性的单个线路卡。此外,具有跨业务卡分布的转发功能性的网络元件可结合本发明的实施例。
[0071]不同网络元件中包含的业务整形模块卡(其采取线路卡82A-N和处理器卡84A-B的形式)包括存储器、处理器和/或专用集成电路(ASIC)。这种存储器包括机器可读介质,其上存储了体现本文所述方法的任一个或全部的指令集合(即软件)。软件可完全或者至少部分常驻这个存储器和/或处理器和/或ASIC中。对于本说明来说,术语“机器可读介质”将被理解为包括任何机制,其以机器(例如计算机)可读的形式来提供(即,存储和/或传送)信息。例如,非暂时机器可读存储介质包括:只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪速存储器装置;而暂时机器可读通信介质包括电、光、声或者其它形式的传播信号(例如载波、红外信号、数字信号等)。
[0072]如本文所述,指令可表示诸如配置成执行某些操作或具有预定功能性的专用集成电路(ASIC)之类的硬件的特定配置或者非暂时计算机可读介质中包含的存储器中存储的软件指令。因此,附图所示的技术能够使用在一个或多个电子装置(例如终端站、网络元件)上存储和运行的代码及数据来实现。这类电子装置使用诸如非暂时计算机可读存储介质(例如磁盘、光盘、随机存取存储器、只读存储器、闪速存储器装置、相变存储器)和暂时计算机可读通信介质(例如电、光、声或其它形式的传播信号一如载波、红外信号、数字信号)之类的计算机可读介质来存储和传递(内部地和/或通过网络与其它电子装置进行通信)代码和数据。另外,这类电子装置通常包括一组一个或多个处理器,该处理器耦合到诸如一个或多个存储装置(非暂时机器可读存储介质)、用户输入/输出装置(例如键盘、触摸屏和/或显示器)和网络连接之类的一个或多个其它组件。该组处理器和其它组件的耦合通常通过一个或多个总线和桥接器(又称作总线控制器)进行。因此,给定电子装置的存储装置通常存储代码和/或数据,供那个电子装置的该组一个或多个处理器上执行。当然,本发明的实施例的一个或多个部分可使用软件、固件和/或硬件的不同组合来实现。
本文所使用的“网络元件”(例如路由器、交换机、桥接器)是包括硬件和软件的一件组网设备,其在通信上互连网络上的其它设备(例如其它网络元件、终端站)。一些网络元件是“多服务网络元件”,其提供对多个连网功能(例如路由选择、桥接、交换、第2层聚合、会话边界控制、服务质量和/或订户管理)的支持,和/或提供对多个应用服务(例如数据、语音和视频)的支持。订户终端站(例如服务器、工作站、膝上型计算机、上网本、掌上装置、移动电话、智能电话、多媒体电话、基于因特网协议的语音(VOIP)电话、用户设备、终端、便携媒体播放器、GPS单元、游戏系统、机顶盒)访问通过因特网所提供的内容/服务和/或覆盖于因特网上(例如通过因特网隧道传递)的虚拟专用网络(VPN)上提供的内容/服务。内容和/或服务通常由属于服务或内容提供商的一个或多个终端站(例如服务器终端站)或者参与对等服务的终端站来提供,并且可包括例如公开网页(例如免费内容、商店前端、搜索服务)、私人网页(例如提供电子邮件服务的用户名/密码访问网页)和/或基于VPN的公司网络。通常,订户终端站(例如通过与接入网(有线或无线)耦合的客户驻地设备)耦合到边缘网络元件,边缘网络元件(例如通过一个或多个核心网络元件)耦合到与其它终端站(例如服务器终端站)耦合的其它边缘网络元件。
网络元件通常分为控制平面和数据平面(有时称作转发平面或媒体平面)。在网络元件是路由器(或者实现路由选择功能性)的情况下,控制平面通常确定如何路由数据(例如分组)(例如,数据的下一跳和该数据的出局端口),而数据平面负责转发那个数据。例如,控制平面通常包括与其它网络元件进行通信以便交换路由并且基于一个或多个路由选择测量来选择那些路由的一个或多个路由选择协议(例如边界网关协议(BGP)、一个或多个内部网关协议(IGP)(例如开放式最短路径优先(OSPF)、路由选择信息协议(RIP)、中间系统到中间系统协议(IS-1S))、标记分布协议(LDP)、资源保存协议(RSVP))。
虽然按照若干实施例描述了本发明,但是本领域的技术人员将会知道,本发明并不局限于所述实施例,而是可在所附权利要求书的精神和范围之内,经过修改和变更来实施。因此,本描述被看作是说明性而不是限制性的。
【权利要求】
1.一种在网络元件中实现的、缩放从信道到端口的运输中的分组的分组业务速率的方法,所述分组来自多个信道以供通过所述网络元件的同一端口从所述网络元件的传输,所述方法包括下列步骤: 通过所述多个信道的每个接收分组,并且将所接收分组存储在各信道的相应队列中; 监测各队列的状态为空或者非空; 当空队列变成非空时,则将所述相应信道的带宽分配加入端口负荷值; 当非空队列变空时,则从所述端口负荷值中减去所述相应信道的带宽分配; 基于所述端口负荷值来缩放到所述端口的所述信道的业务速率。
2.如权利要求1所述的方法,其中,缩放所述业务速率包括在对所述端口负荷值进行添加或减去时改变所述缩放。
3.如权利要求1所述的方法,其中,各信道的带宽分配对应于允许所述相应信道使用的所述最大端口业务速率的百分比。
4.如权利要求3所述的方法,其中,缩放所述业务速率包括在所述端口负荷值大于所述最大端口业务速率时降低到所述端口的所述信道的所述业务速率。
5.如权利要求3所述的方法,其中,缩放所述业务速率包括仅当所述端口负荷值大于100%时,才缩放所述业务速率。
6.如权利要求1所述的方法,其中,缩放所述业务速率包括将信用添加到与队列对应的记录,其中调度器基于所 述相应队列的信用来对通过所述端口的各队列的业务进行整形。
7.如权利要求6所述的方法,其中,添加信用包括根据所述端口负荷值来缩放信元间间隔。
8.如权利要求1所述的方法,还包括将所述多个信道的第一部分指配给第一低优先级组,并且将所述多个信道的第二部分指配给第二高优先级组,以及其中,添加和减去带宽分配包括:如果所述相应队列对应于所述第一部分中的信道,则对第一低端口负荷值添加和减去带宽分配,而如果所述相应队列对应于所述第二部分中的信道,则对第二高端口负荷值添加和减去带宽分配。
9.如权利要求8所述的方法,其中,缩放所述业务速率包括仅当所述低端口负荷值和所述高端口负荷值之和超过100%时,才缩放所述业务速率。
10.如权利要求8所述的方法,其中,添加和减去还包括也当所述相应队列对应于所述第二部分中的信道时,对所述第一低端口负荷值添加和减去带宽分配。
11.如权利要求8所述的方法,其中,缩放所述业务包括基于所述高端口负荷值来缩放所述高优先级业务,以及基于所述高端口负荷值和所述低端口负荷值之和来缩放所述低优先级业务。
12.一种用于通过端口来发送从多个信道所接收的分组中的网络元件,所述网络元件包括: 多个信道接口,用于接收分组; 多个分组队列,分别耦合到各信道接口,以缓冲在所述信道接口所接收的分组; 端口,耦合到所述队列,以传送来自所述队列的所接收分组;以及 缩放器,用于监测各队列的状态为空或者非空,当空队列变成非空时将相应信道的带宽分配加入端口负荷值,当非空队列变空时从所述端口负荷值中减去所述相应信道的带宽分配,以及基于所述端口负荷值来缩放到所述端口的所述信道的业务速率。
13.如权利要求12所述的网络元件,其中,所述缩放器在对所述端口负荷值进行添加或减去时改变所述缩放。
14.如权利要求12所述的网络元件,其中,各信道的带宽分配对应于允许所述相应信道使用的所述最大端口业务速率的百分比。
15.如权利要求12所述的网络元件,其中,各信道的带宽分配对应于业务合同中提供的平均带宽。
16.如权利要求12所述的网络元件,其中,将所述多个信道的第一部分指配给第一低优先级组,并且将所述多个信道的第二部分指配给第二高优先级组,以及其中,所述缩放器包括:第一低优先级缩放器,用于在所述相应队列对应于所述第一部分中的信道时,对第一低端口负荷值添加和减去带宽分配;以及第二高优先级缩放器,用于在所述相应队列对应于所述第二部分中的信道时,对第二高端口负荷值添加和减去带宽分配。
17.如权利要求16所述的网络元件,其中,所述第一缩放器仅当所述低端口负荷值和所述高端口负荷值之和超过1 00%时,才缩放所述低优先级业务。
【文档编号】H04L12/815GK103718522SQ201280039412
【公开日】2014年4月9日 申请日期:2012年7月26日 优先权日:2011年8月12日
【发明者】M.陈, D.殷, B.麦基维奇 申请人:瑞典爱立信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1