公平加权的网络拥塞避免的制作方法

文档序号:7710920阅读:151来源:国知局
专利名称:公平加权的网络拥塞避免的制作方法
技术领域
本发明总地涉及通信,并且更具体地涉及使用公平加权技术(fair weighted techniques)白勺网纟各拥塞避免(network congestion avoidance)。
背景技术
用于承载诸如数据、声音、视频等等的各种有效载荷的通信系统正变 得几乎无处不在。例如,已经布置了诸如公共交换电话网(PSTN)、蜂 窝电话网络和个人通信网络(PCS)之类的电信网络,以向很大一部分地 球人口提供服务。另外,诸如因特网、广域网(WAN)、城域网 (MAN)、局域网(LAN)和无线局域网(WALN)之类的数据网络在多 数城市区域中广泛可用。
这种通信网络的使用己经变得广泛,从而不仅带来了由通信网络承载 的有效载荷流量的巨大数量,而且带来了所承载的有效载荷流量的繁多种 类。例如,语音(数字或模拟的)、多媒体、文本和图像有效载荷通常都 由通信网络承载。
然而,这种通信网络的广泛使用经常引起网络拥塞时间段。具体而 言,在未经检査的情况下,特定网络上的有效载荷通信量可达到临界点, 其中网络流量受到不可接受的影响(例如,被延迟、削弱、阻塞等等), 通信会话或连接被丢弃,网络节点无法正常工作,等等。前述的网络流量 临界点在这里被称为网络拥塞,因此这里所使用的网络拥塞意指达到可由 网络参数、 一个或多个预先选择的阈值、网络协议、网络运营商、网络用 户等等定义的临界或预定义水平的拥塞。
已经尝试了各种用于避免网络拥塞的方案。这种方案中的网络拥塞避 免是通过在网络流量达到或者接近网络拥塞时丢弃通信会话分组来实现 的。这种网络拥塞避免方案通常是针对网络中的一个或多个节点来实现的,例如是在路由器、交换机、网关、月艮务器等等之内实现的。
例如,随机早期检测(random early detection, RED) RED可以通过 在联网设备的缓冲区容量被耗尽之前丢弃分组来防止在特定网络节点处可 能经历的网络拥塞。具体而言,根据RED算》去工作的网络设备监视平均 队列大小并且基于平均队列长度向每个分组指派分组丢弃概率(P)。指 派给分组的分组丢弃概率越高,该特定分组就越有可能将被丢弃。因此, 分组将根据由队列长度表示的网络流量水平而辛皮统计性地丢弃。向分组指 派分组丢弃概率的RED算法的操作在图1中图示出。如在图1中可见,如 果队列几乎为空(平均队列长度小于minThr),那么所有输入分组都被接 受(即,分组丢弃概率为零,P=0)。然而,随着平均队列长度增大,丢 弃输入分组的概率也增大。当队列为满(平均队列长度等于maxThr) 时,分组丢弃概率将会最大(即,分组丢弃概率是maxP, P=maxP,其中 maxP通常是1,这意味着分组将被丢弃)并且多数(如果不是所有的)输 入分组被丢弃。当平均队列长度介于下限阈值和上限阈值之间(即, minThr < avgQ < maxThr)时,分组丢弃概率将以平均队列长度和由这些 阈值确立的范围的函数的形式来指派(例如,P = maxP(avgQ - minThr) / (maxThr - minThr))。
尽管RED提供了某种程度的网络拥塞避免,但是RED的性能存在许 多缺点。例如,本发明人已经注意到仅基于平均队列长度丢弃分组并非总 是带来公平的带宽共享。就是说,所有连接所遭受的丢失率是相同的,因 为它们在任意特定时刻被各自指派相同的分组丢弃概率。这意味着当流量 水平接近网络拥塞时,通信会话或连接所占据的缓冲区愈大,从该连接丢 弃的分组就将越多。然而,这并非总是带来连接之间的公平带宽共享,这 是因为诸如传输控制协议(TCP)和用户数据手艮协议(UDP)之类的各种 连接协议的不同行为。TCP是自适应协议并且将通过减缓连接的分组传送 来对该连接所经历的分组丢失作出反应。然而,UDP不是自适应协议,因 而将不会对连接所经历的分组丢失作出反应。因此,如图2A禾n 2B所示 (其中UDP和TCP传送带宽的部分201和202通过RED算法的操作被分 别丢弃),TCP传送将响应于分组丢失而被减少。因此,虽然从这些连接中的每一个连接中丢弃相同比例的分组,但是由于TCP的自适应性质,
TCP传送的减少将会迅速发生,而UDP传送将不会被减少。这使得UDP 连接可以获得不公平份额的网络带宽。
另外,RED向所有通信平等地应用这些技术并且因此不适应服务质量 (QoS)或其他优先级通信方案。就是说,RED同等对待所有等级的服 务。因此,高优先级连接和低优先级连接都将经历相同的分组丢弃概率。 这种结果与实现QoS应用是不相符的。
加权随机早期检测(weighted random early detection, WRED)与RED 类似地可以通过丢弃分组来防止特定网络节点所可能经历的网络拥塞,但 是在作出分组丢弃判决时添加加权以适应QoS应用。具体而言,WRED将 RED算法的能力与基于优先级的特征相结合,以便为更高优先级的分组提 供优先的流量处理。当网络节点开始经历拥塞时,WRED可以抛弃与较低 优先级流量相关联的分组。虽然WRED也将抛弃与较高优先级流量相关联 的分组,但是与较低优先级分组中的分组相比,这种较高优先级流量分组 将被以更低概率(速率)抛弃,并且/或者在网络更加拥塞时被抛弃。因 此,WRED为不同等级的服务提供区分的性能特性。
前述的不同等级服务的区分性能在图3中图示出。在图3中,线301 和302表示2种不同等级服务(队列)的丢弃概率。具体而言,在图3的 实施例中,线301表示较低优先级连接(x)的丢弃概率,并且线302表 示较高优先级连接(y)的丢弃概率。在图示的实施例中,对于给定的平 均队列长度,较高优先级连接将总是比较低优先级连接经历更低的丢弃概 率。另外,因为"Qx—minTh"小于"Qy一minTh",因此来自较低优先级 连接的分组将在拥塞的更早阶段被丢弃。
虽然WRED为与较高优先级流量相关联的分组提供了有限的优先流量 处理,但是本发明人已经注意到WRED遭受上面讨论的RED的不公平带 宽共享问题。就是说,虽然将加权实现于不同等级的服务之间,但是仅基 于平均队列长度来丢弃分组仍然导致不同等级的服务之间和之内的不公平 带宽共享。
流随机早期检测(flow random early detection, FRED)与RED类似地可以通过丢弃分组来防止特定网络节点所可能经历的网络拥塞,但是分组
丢弃概率基于与流(即,使用TCP或UDP的连接)相关联的缓冲区使用 率。具体而言,FRED使用针对每个活动流的核算(per-active-flow accounting)来限制由依赖于流的缓冲区使用率的分组丢弃而引起的分组丢 失,以提高公平性。
如图4所示,FRED向分组丢弃判决的作出引入参数,以便为应当允 许每个流缓冲的分组的最小数目(minq)和最大数目(maxq)建立目标。 FRED为当前缓冲有任何分组的每个流维持对所缓冲分组的计数
(qBuf)。当特定流的qBuf小于minq时,分组丢弃概率为零(P=0), 结果是该流没有分组被丢弃。相应地,当特定流的qBuf大于maxq时,分 组丢弃概率为一 (P=l),结果是该流的所有分组都被丢弃。然而,当特 定流的qBuf处于minq和maxq之间时,与上面讨论的RED—样,基于平 均队列长度向该流的分组指派分组丢弃概率(P)。
FRED引入如下全局参数,该全局参数是对平均每流缓冲计数的估计 (avgqBuf) 。 FRED还引入如下参数,该参数对流超过maxq的次数进行 计数(strike) 。 FRED可以利用上述的avgqBuf来惩罚具有高strike值的 流。具体而言,不允许具有高strike值的流把多于avgqBuf的分组放入队 列,从而防止这些流具有多于普通流的分组。这允许了自适应流(例如 TCP)发送分组突发,但是防止了非自适应流(例如UDP)持续地独占缓 冲区空间。因此,使用这些参数,比起把多于avgqBuf的分组放入队列的 流来,更优待把少于avgqBuf的分组放入队列的流。
尽管如此,FRED的使用仍然存有缺陷。例如,如果流使用多于minq 的缓冲区并且平均队列大小(avgQ)大于minThr,那么FRED将以与 avgQ成比例的概率来丢弃分组。因此,在该操作区中,FRED可能展现与 在上面针对RED指出的带宽不公相同种类的带宽不公。FRED将对所有缓 冲有多于minq个分组的流施加相同的丢失率,而不管它们使用多少带 宽。与上面讨论的RED—样,FRED不支持QoS区分。
另外,FRED中的流的分组丢弃概率取决于该流所缓冲分组的数目。 虽然该方案起初看起来是更公平的带宽分配,但是本发明人已经发现这种缓冲区分配可以产生与真正公平的带宽分配非常不同的公平性。在使用可 变分组大小的情况下,分组大小越大,就将有越多带宽被使用。类似地, 在使用可变数据速率的情况下(例如,使用可变的调制技术),数据速率 越慢,就需要越多带宽来传送相同量的数据。因此,当分组大小和/或物理 传送数据速率不同时,分组缓冲区的公平分配并不意味着真正公平的带宽 分配。

发明内容
本发明涉及提供了实现使用成本函数的公平方案的网络拥塞避免的系 统和方法。根据本发明的实施例,确定用于分组丢弃和/或链路控制(例 如,准入控制、重新准入控制、会话终止控制,等等)判决的传送"成 本"。例如,传送成本可以根据传送数据分组所需的带宽占用时间的量、 传送数据速率、分组大小、频谱能量的量(例如,与发送相关联的发送功 率和/或与信号接收相关联的接收信号强度)等等中的一种或多种来确定。 根据本发明的实施例利用这种传送成本来实现网络拥塞避免,以提供对网
络通信的公平的、基于成本(costbased)的分配。
本发明的实施例可以计算与特定流或连接相关联的当前流成本以及与 队列或者缓冲区相关联的平均流成本(例如,特定服务等级的平均流成 本)。特定分组的分组丢弃概率然后优选地被确定为当前流成本和平均流 成本的函数。除此之外或者作为替代,特定通信会话、连接、流等等的链 路丢弃概率可以被确定为当前流成本和平均流成本的函数。类似地,特定 通信会话、连接、流等等的链路发起概率可以根据本发明实施例的成本函 数来确定。与现有技术的利用基于缓冲区(buffer based)的判定可实现的 相比,这种基于成本的技术提供了对诸如带宽和/或频谱能量之类的网络通 信资源的更加真正公平的分配。
除了前述的基于成本的分组丢弃概率计算之外或者作为其替代,本发 明的实施例还可以实现基于缓冲区的分组丢弃概率计算。例如,在使用模 式导致所有流或连接都具有非常接近平均流成本的当前流成本的情况下, 可以使用基于缓冲区的分组丢弃概率计算,以避免公平分配否则将导致网络拥塞的情况。
根据本发明实施例实现的基于成本的分组丢弃概率计算和基于缓冲区
的分组丢弃概率计算可以适应QoS应用。例如,在根据本发明实施例的操
作中,优选地,联系服务等级来指派不同的分组丢弃概率。
以上已经相当宽泛地概述了本发明的特征和技术优点,以便以下对本 发明的详细描述可以得到更好的理解。此后将描述构成本发明权利要求主 题的本发明的其他特征和优点。本领域技术人员应当明白,所公开的概念 和具体实施例可以容易地用作修改或设计用于实现本发明的相同目的的其 他结构的基础。本领域技术人员还应当认识到,这种等同构造不脱离在所 附权利要求中阐述的本发明的精神和范围。当联系附图考虑时,根据以下 描述将更好地理解被认为是本发明的特点的新颖特征的组织和操作方法以 及其他目的和优点。然而,应当明白,每个附图只是为了例示和描述目的 而提供的,并非意图作为对本发明的范围的限定。


为了更加彻底地理解本发明,现在结合附图参考以下描述,在附图

图1图示出根据现有技术用于向分组指派分组丢弃概率的随机早期检 测(RED)算法的操作;
图2A和2B图示出由图1的现有技术RED算法的操作而引起的不公 平带宽使用;
图3图示出根据现有技术用于向分组指派分组丢弃概率的加权随机早 期检测(WRED)算法的操作;
图4图示出根据现有技术用于向分组指派分组丢弃概率的流随机早期 检测(FRED)算法的操作;
图5示出根据本发明一个实施例的适用于提供公平加权随机早期检测 (FWRED)的通信系统;
图6示出根据本发明一个实施例的实现FWRED网络拥塞避免的系统 的高层功能框图;并且图7示出根据本发明一个实施例的用于提供图6的丢弃测试的操作的 流程图。
具体实施例方式
注意图5,其示出了根据本发明一个实施例而适应性改变的通信系 统。具体而言,图示实施例的通信系统500包括有助于网络节点520和 530之间的通信的网络510。网络510可以包括因特网、内联网、外联 网、局域网(LAN)、城域网(MAN)、广域网(WAN)、卫星通信 网、线缆传送网、公共交换电话网(PSTN)等等以及其组合。网络510所 提供的通信链路可以包括有线链路、无线链路、光学链路等等。图示实施 例的网络510包括网络节点511-513,例如可以包括交换机、路由器、网 关、服务器、终端等等,从而有助于网络通信并且/或者提供了信息的传 输。这种网络节点优选是具有中央处理单元(CPU)、存储器和指令集 的、适用于或可适用于提供这里所描述的操作的基于处理器的系统。当 然,除了前述网络节点之外的或者替代前述网络节点的网络节点可被包括 在网络510中或者与网络510通信。
尽管将参考包括诸如服务器和终端之类的端接设备的网络节点520和 530来讨论在这里描述的实施例,但是网络节点520和530可以包括各种 配置,例如交换机、路由器、网关、服务器、终端等等。与上面描述的网 络节点511-513 —样,网络节点520和530优选是具有中央处理单元 (CPU)、存储器和指令集的基于处理器的系统。
本发明的实施例实现了公平加权随机早期检测(FWRED)网络拥塞 避免方案。优选实施例的FWRED网络拥塞避免方案是在诸如网络节点 511-513、 520和/或530之类的一个或多个网络节点中实现的或者是由这一 个或多个网络节点实现的。例如,前述网络节点中的一个或多个可以实现 可在其CPU上操作的计算机可执行代码形式的指令集,以便在网络节点处 提供FWRED网络拥塞避免。
在整个通信系统500的多个节点处实现这种FWRED网络拥塞避免有 助于强健的部署,其中在整个系统中避免了网络拥塞。例如,在网络节点512处实现FWRED网络拥塞避免可以使源自网络节点520的"不公平" 通信对网络节点511、 513和530的影响最小化。与此配合,在网络节点 513处实现FWRED网络拥塞避免可以使源自网络节点530的"不公平" 通信对网络节点511、 512和520的影响最小化。在FWRED网络拥塞避免 的多个实例被实现于通信系统中的情况下,应当认识到由此使用的各种参 数和变量可以针对每个这种具体实例进行适应性修改以适应其独特属性, 例如网络接口的带宽、可用数据速率等等。
本发明的实施例利用传送"成本"判定来实现FWRED。这种传送成 本可以根据传送数据分组所需的带宽占用时间(air time)的量、传送数据 速率、分组大小、频谱能量的量(例如,与发送相关联的发送功率和/或与 信号接收相关联的接收信号强度)等等中的一种或多种来判定或估计,以 提供对网络通信资源的公平分配。应当认识到,前述判定可以通过对所要 传送的分组的分析(例如判定其长度、内容、结构或其他特性)来作出, 并且/或者通过对通信系统操作的分析(例如判定信道质量、可能要利用或 过去利用的数据速率、可能要利用或者过去利用的发送电平、可能要经历 或者过去经历的接收信号强度)来作出。
在FWRED被实现为提供除了针对分组作出的成本判定之外的或者替 代该成本判定的链路控制的情况下,本发明的实施例可以根据传送流所需 带宽占用时间量、传送数据速率、流大小、频谱能量的量(例如,与发送 相关联的发送功率和/或与信号接收相关联的接收信号强度)等等中的一种 或多种来判定或估计传送成本,以提供对网络通信资源的公平分配。这种 判定可以利用历史信息(例如,与会话相关联的一个或多个终端所进行的 历史通信、与通信类型有关的历史信息、与通信内容有关的历史信息等 等)、统计数据(例如,加权平均值、移动平均值、瞬时利用率等等)、 预测信息(例如,基于特定终端的历史信息、基于通信类型、基于通信内 容等等)来作出。
可以利用链路控制,以便利用根据本发明实施例的成本判定来提供准 入控制和/或会话终止。例如,特定通信会话、连接、流等等的链路丢弃概 率可以被确定为当前流成本和平均流成本的函数。类似地,可以根据本发明实施例的成本函数来确定特定通信会话、连接、流等等的链路发起概 率。在根据本发明实施例为了拥塞控制而丢弃链路的情况下,该链路可被 指派时间段、连接概率等等,用于控制在通信网络中重新建立链路(或许 利用与丢弃判定相关联的同一个网络节点)。在操作中,这种链路控制不 仅可以带来拥塞避免/减轻,而且可以提供负载均衡,例如通过经由其他网 络节点(例如服务于更少流量的接入点)重新建立被丢弃的链路。
另外,根据本发明实施例实现的FWRED采用一种技术来处理优先级
排队,使得每个优先级队列拥有一组不同的特定于队列的参数。根据本发
明实施例,通过适当地配置特定于队列的参数,可以为QoS应用实现分优 先级的分组丢弃和/或链路控制行为。
为了帮助理解本发明的概念,下面在描述优选实施例时将使用各种术 语、参数和变量。为了更容易地传达所描述的概念,将明确地提供若干这 种术语在以下上下文中欲表达的含义。类似地,将明确地提供对若干这种 参数和变量的描述。
在描述以下实施例时使用的术语"流"(flow)指代两个网络设备之 间的数据串流(data stream)。例如,流可以包括在利用诸如TCP、 UDP 等等之类的网络协议的通信会话期间在两个网络节点之间传送的数据分组 的串流。术语"活动流"(active flow)指的是有要传送的数据的流,例 如在网络节点的队列中缓冲的数据分组。
在描述以下实施例时使用的术语"成本"指的是传送成本,例如可以 包括传送数据分组的成本。例如,在使用自适应数据速率的通信系统中, 成本可以是传送分组所需的传送媒体时间。在使用可变分组大小的通信系 统中,成本可以是分组大小。在干扰受限的通信系统(例如,使用码分多 址(CDMA)协议的无线系统)中,成本可以是与数据分组的传送相关联 的发送功率或者频谱能量。根据本发明的实施例,这里所使用的成本可以 从多种参数得出,例如传送媒体时间和数据分组大小的组合。
针对下面描述的实施例使用的特定于队列的参数包括Qi—minTh、 Qi—maxTh和Qi—maxP。这里所使用的Qi—minTh参数为队列i的分组丢弃 和/或链路控制提供了最小阈值。这里所使用的Qi—maxTh参数提供了最大阈值,由此最大分组丢弃和/或链路丢弃概率被指派给队列i的分组并且/或 者链路控制概率被指派给队列i的会话、连接或者流。这里所使用的
Qi一maxP参数提供了将被分配给队列i的分组的最大分组和/或链路丢弃概 率和/或将被分配给队列i的会话、连接或者流的最大链路丢弃概率(例 如,0《Qi一maxP《1)。在前述的每一个中,与队列i相关联的优先级 越高或者服务等级越高,则丢弃的最小阈值(例如Qi一minTh参数)和指 派最大丢弃概率的阈值(例如Qi—maxTh参数)越高并且将指派的最大丢 弃概率(例如Qi—maxP参数)越低。
针对下面描述的实施例使用的特定于队列的变量包括 Qi—avgFlowCost 、 Qi—flowNum 、 Qi—avgQ和Qi—curQ 。这里所使用的 Qi—avgFlowCost变量提供了在队列i中的所有活动流当中的平均成本。这 里所使用的Qi—flowNum变量提供了队列i中的活动流的当前数目。这里 所使用的Qi一avgQ变量提供了队列i的平均队列长度。这里所使用的 Qi—curQ变量提供了队列i的当前队列长度。
针对下面描述的实施例使用的特定于流的变量包括Fn_fl0wC0st。这 里所使用的Fr^flowCost变量提供了流n的成本。
前述变量在实施例的FWRED算法中用于计算丢弃概率。当与前述参 数结合使用时,可以实现提供了基于成本的公平性的强健网络拥塞避免方 案,下文将对此进行描述。
注意图6,其示出根据一个实施例的FWRED网络拥塞避免的操作的 高层功能框图。具体而言,示出了用于将输入分组映射到适当队列(队列 映射601)、将每个队列的分组映射到其各自的流(流映射602)、分组 丢弃概率判定和实现分组丢弃(丢弃测试603)以及使未被丢弃的分组在 适当队列中排队(入队到目标QO的功能块。这些功能块可实现于一个或 多个网络节点中。例如,队列映射601、流映射602、丢弃测试603和入 队到目标Qi 604可以在任何或所有网络节点511-513、 520和530中实现 为计算机可执行代码。
在根据优选实施例的操作中,当输入分组到达时,其将被队列映射 601指派到特定的优先级队列(Qi)。例如,分组头部信息可以将具有特定服务等级的分组标识为具有特定优先级别、与具有有保证QoS的流(例
如,在网络节点520和530之间)相关联,等等。利用前述信息,图示实 施例的队列映射601优选地将输入分组指派给适当队列(Qi)。
另外,通过图示实施例的流映射602,以特定的流(无论是新流还是 正在进行中的流)来标识分组。例如,可以通过流映射602利用以特定流 来标识分组的流标识信息(Fn)来标记每个输入分组。这种流映射可以基 于诸如源互联网协议(IP)地址、目的地IP地址、目的地端口等等之类的 信息。除此之外或者作为替代,流映射可以基于用户标识信息,例如在 WiFi (IEEE802.il)系统中使用的关联标识。
利用所指派队列(Qi)和与分组相关联的特定流(Fn)的参数和变 量,优选实施例的丢弃测试603可以确定分组丢弃概率并且实现分组丢 弃。就是说,将基于Qi (输入分组将被递送到的队列)的特定于队列的参 数和变量以及Fn (输入分组所属的流)的特定于流的变量通过丢弃测试 603作出关于丢弃分组的判定。根据本发明的实施例,只有当分组未被丢 弃测试603丢弃时,该分组才被传递到指派给它的队列,以等待在通信系 统500内进行传送/重新传送。
未被丢弃测试603丢弃的分组开始入队到图示实施例的目标Qi 604, 其中分组将被入队到目标队列Qi。队列将可以保存分组,以便进而通过主 机网络节点放置于一个或多个适当的网络链路上。
注意图7,其示出根据优选实施例的与丢弃测试603确定分组丢弃概 率和实现分组丢弃有关的操作的细节。在以下讨论中,描述丢弃测试203 根据优选实施例的与数据分组有关的操作。应当认识到,优选地,针对主 机网络节点所要传送的每个数据分组重复这种操作。因此,数据分组可以 与不同的流和队列相关联。每个这种操作因而可以使用与当时正在处理的 数据分组所关联于的特定流和/或队列相适合的参数和变量。根据本发明的 实施例,分组丢弃可针对一个或多个队列实现(或许利用适合于各个队列 的参数和变量),并且可不对一个或多个其他队列实现。
在块701处,与流(Fn)传送相关联的成本(Fn—flowCost)被确定。 例如,可以根据传送与流相关联的当前未传送分组所需的总成本来计算流成本Fn—flowCost。根据实施例,根据队列Qi中的流Fn的所有分组和流 Fn的输入分组来计算Fn一flowCost。
在块702处,与指派给流(Fn)的队列(Qi)相关联的平均成本 (Qi—avgFlowCost)被确定。例如,可以根据将指派给队列Qi的每个活动 流的流成本(Fn—flowCost)之和除以指派给该队列的活动流的数目来计算 平均队列成本Qi—avgFlowCost。该关系在下式中示出
Qi一avgFlowCost = i;「 Fn一flowCost / Qi_flowNum (1)
其中n等于l至N。
在块703处,与指派给流(Fn)的队列(Qi)相关联的平均队列长度 (Qi—avgQ)被确定。例如,可以根据对先前平均队列长度和当前平均队 列长度的加权值求和来计算队列Qi的平均队列长度Qi一avgQ。这种计算在 下式中示出
Qi_avgQ = (l-w)Qi_avg + (w)Qi_curQ (2)
其中w是平均加权因数。根据本发明的优选实施例,平均加权因数w被选 择为小到(例如0.05)足以提供长平均。
本发明的实施例利用分组丢弃概率计算来实现网络拥塞避免。除此之 外或者作为替代,实施例实现最小和/或最大阈值以提供针对特定使用模式 的公平性。
例如,在平均队列长度小于预定最小阈值队列长度的情况下(这指示 "未充分利用"的队列或者暗示不太可能对网络拥塞起很大作用的使用模 式),队列丢弃概率可被设为零或者其他较小值以防止从这些流丢弃分组 或者使从这些流丢弃分组的情况少到最低限度。因此,图示实施例的块 704判定队列i的平均队列长度(Qi一avgQ)是否小于最小阈值队列长度 (Qi_minTh)。如果队列i的平均队列长度(Qi—avgQ)小于最小阈值队 列长度(Qi—minTh),那么处理进行到块705。在块705处,图示实施例 的分组丢弃概率(P)被设置为零(P=0)。然而,如果平均队列长度 (Qi—avgQ)不小于最小阈值队列长度(Qi一minTh),那么处理进行到块 706。
类似地,在平均队列长度大于预定最大阈值队列长度的情况下(这指示"过度利用"的队列或者暗示很有可能对网络拥塞起很大作用的使用模 式),队列丢弃概率可被设为一或者其他较大值以保证从这些流丢弃分组 或者使从这些流丢弃分组的情况多到最高限度。因此,图示实施例的块
706判定队列i的平均队列长度(Qi一avgQ)是否大于最大阈值队列长度 (Qi—maxTh)。如果队列i的平均队列长度(Qi一avgQ)大于最大阈值队 列长度(Qi一maxTh),那么处理进行到块707。在块707处,图示实施例 的分组丢弃概率(P)被设置为该队列的最大分组丢弃概率 (P=Qi—maxP)。然而,如果平均队列长度(Qi—avgQ)不大于最大阈值 队列长度(Qi一maxTh),那么处理进行到块708。
在块708处,数据分组的分组丢弃概率(P)被确定。例如,如果队 列i的平均队列长度(Qi_avgQ)处于前述的最小和最大队列长度阈值之 间,那么分组丢弃概率(P)可以和与流n相关联的成本(Fn一flowCost) 成线性比例,以逐渐地惩罚与高成本相关联的流。另外,本发明的实施例 适用于提供针对如下使用模式的网络拥塞避免,其中与流n相关联的成本 (Fn—flowCost)较小(因而带来较低的分组丢弃概率,其中分组丢弃概率 与成本成线性比例)并且平均队列长度(Qi一avgQ)较大(例如,在网络 拥塞点处或者在其附近)。因此,根据本发明的实施例,当与流n相关联 的成本(Fn—flowCost)较小并且平均队列长度(Qi一avgQ)较大时,分组 丢弃概率(P)可以改为与平均队列长度(Qi—avgQ)成线性比例。
可用于实现块708中的前述概念的分组丢弃概率判定是利用以下计算 来提供的。
Pa = Qi—maxP (Fn., flcnvCost - Qi—avgFlowCost) / Qi一avgFkwCost (3') Pb = Qi—腿xP(Qi—avgQ — Qi一minTh) / (Qi—maxTh - Qi一rahiTh) (4)
如果MAX(Pa, Pb) < Qij加xP 则P = MAX(Pa, Pb)否则P = Qi—maxP (5)
在前述计算中,Pa提供惩罚所具有的成本大于平均成本的流的分组丢弃概 率,而Pb提供随平均队列长度而增大的分组丢弃概率。利用式(3)-(5)选择的最终分组丢弃概率(P)是Pa和Pb中的最大值,除非该值大 于Qi_maxP,在该值大于Qi_maxP的情况下,选择Qi—maxP的值。因此,Pb提供了用于在平均队列长度较长时保护缓冲区资源的分组丢弃概 率。就是说,Pb可用于防范Pb极小(所有流具有接近于或者低于平均成 本的成本)并且平均队列长度较长的情况。
在块709处,关于是丢弃输入分组还是将输入分组传递到指派给它的
队列作出判定。根据实施例,将基于为特定数据分组确定的分组丢弃概率
(P)来作出分组丢弃判决。例如,在分组丢弃概率被设置为零(P=0)的 情况下,分组将不会被丢弃而是将会被传递给所指派的队列。在分组丢弃 概率被设置为一 (P=l)的情况下,例如,分组将会被丢弃并且因而将不 会被传递给所指派的队列。在分组丢弃概率处于零和一之间(0 < P < 1) 的情况下,分组例如可以经过概率引擎(probabilistic engine),以便根据 所指派的分组丢弃概率(P)来作出丢弃分组与否的分组丢弃判决。这种 概率引擎可以利用随机数生成器和以分组丢弃概率(P)划分的天平,使
得落在分组丢弃概率天平一侧的随机数引起"丢弃"判定,而落在分组丢 弃概率天平另一侧的随机数引起"不丢弃"判定。
如果判定分组将被丢弃,那么处理进行到块710,在块710中分组被 丢弃。然而,如果判定分组将不会被丢弃,那么处理进行到块711,在块 711中分组被放入所指派的队列(Qi)中,以等待在通信系统中进行传送 或者进一步传送。
优选地,针对主机网络节点接收到的或者将要发送的每个数据分组来 执行前述处理。然而,应当认识到,所使用的具体参数(例如最小和最大 队列长度阈值和平均加权因数)可以是特定队列所特有的,例如以便适应 QoS应用或其他基于优先级的操作。
尽管参考用于提供拥塞避免的分组丢弃而讨论了前述示例性实施例, 但是应当认识到,这种实施例可以很容易被适应性地修改,以便提供除了 分组丢弃之外的或者替代分组丢弃的准入控制和/或会话终止。例如,可以 实现软度量方法,其中随平均队列长度而增大的丢弃概率(例如,式 (4)的Pb)被用作链路将被丢弃的概率(Plink—drop)。根据这种实施 例,可以利用前面所述来实现预防性的链路丢弃,以避免拥塞。例如,链 路丢弃概率可被如下所述地确定。PI ink—drop = {0,如果Qi—avgQ < Qi——minTh (6) Qi腦maxP(Qi—avgQ-Qi—minTh)/(Qi—maxTh-Qi—mirfl.h),
如果Qi—minTh < Qi_avgQ < Qi—maxTh (7)
Qi阿maxP.如果Qi一avgQ〉Qi—maxTh (8)
利用上面的式(6) - (8),如果队列i的平均队列长度小于对队列i的链 路控制的最小阈值,那么特定链路(链路"i")被丢弃的概率是0,如果 队列i的平均队列长度大于对队列i的链路控制的最小阈值并且小于对队 列i的链路控制的最大阈值,那么特定链路(链路"i")被丢弃的概率是 队列i的平均队列长度和最大链路丢弃概率的函数,如果队列i的平均队 列长度大于对队列i的链路控制的最大阈值,那么特定链路(链路"i") 被丢弃的概率是最大链路丢弃概率。基于每条链路的相对流成本的概率函 数例如可被用于选择要丢弃哪条链路。根据一个实施例,链路被选择的概 率如下
Plink—select= Z Fn—flowCost/ Z Fn—flowCost (9)
— 所有属于链路n的流— 所有属于队列i的流 —
在根据前述示例的操作中,当基于Plink—drop将链路判定为将被丢弃时, 将基于Plink一select的概率分布来选择将被丢弃的具体链路。在丢弃链路之 后,优选地,丢弃与被丢弃链路相关联的所有分组并且可以重新计算平均 队列长度和流成本以防止其他不必要的链路丢弃(例如,在未考虑到由于 已丢弃链路而引起资源利用率减小的情况下丢弃另外的链路)。
作为根据本发明构思实现链路丢弃的另一示例,特定通信会话、连 接、流等等的链路丢弃概率可被确定为当前流成本和平均流成本的函数, 如下面所述。
PHnk—drop = { 0.如果Qi—avgQ < Qi—Drop—Threshold (10)
1,如果Qi—avgQ > Qi—Drop JThreshold (11)
通过使用前述的链路丢弃式(式(10)和(11)),当平均队列链路达到 预定阈值时链路可被选择为将被丢弃,以减轻流量拥塞。成本函数(例 如,链路的总流成本=Fn—flowCost之和)可用于选择将被丢弃的具体链 路。因此,当链路丢弃概率引起链路将被丢弃的判定时,具有最高成本的 链路将被丢弃。在根据优选实施例的操作中,在链路被丢弃之后,与所丢 弃链路相关联的所有分组被相应地丢弃。在丢弃链路之后优选地重新计算平均队列长度和流成本,以防止其他不必要的链路丢弃。
在前述示例中,通过为不同的队列选择不同的阈值,可以适应具有不同优先级的不同队列。例如,队列优先级越高,所选择的链路丢弃阈值就越低,反之亦然。
虽然已经详细描述了本发明及其优点,但是应当明白,在不脱离所附权利要求所限定的本发明的精神和范围的情况下,可以对此作出各种修改、替换和变更。另外,本申请的范围并不意图限于在说明书中描述的处理、机器、制品、物质组成、装置、方法和步骤的具体实施例。如本领域普通技术人员从本发明公开将会容易认识到的,根据本发明可以使用当前存在的或后来将开发的与在此描述的相应实施例执行基本相同功能或实现基本相同结果的处理、机器、制品、物质组成、装置、方法或步骤。因此,所附权利要求意图将这种处理、机器、制品、物质组成、装置、方法或步骤包括在其范围内。
权利要求
1.一种方法,包括确定与数据分组的传送相关联的成本;以及利用所确定的成本实现网络拥塞避免方案。
2. 如权利要求1所述的方法,其中,所述确定所述成本的步骤包括确定与所述数据分组所关联于的流相关联的流成本;以及确定与指派给所述数据分组的队列相关联的平均流成本。
3. 如权利要求1所述的方法,其中,所述确定所述成本的步骤包括估计与所述数据分组的传送相关联的带宽占用时间的量。
4. 如权利要求1所述的方法,其中,所述确定所述成本的步骤包括确定与所述数据分组的传送相关联的传送数据速率。
5. 如权利要求1所述的方法,其中,所述确定所述成本的步骤包括确定所述数据分组的大小。
6. 如权利要求1所述的方法,其中,所述确定所述成本的步骤包括估计与所述数据分组的发送相关联的频谱能量的量。
7. 如权利要求1所述的方法,其中,所述确定所述成本的步骤包括估计与所述数据分组的接收相关联的频谱能量的量。
8. 如权利要求1所述的方法,其中,所述成本包括与所述数据分组的传送相关联的成本和与和所述数据分组属于相同流的排队数据分组相关联的成本。
9. 如权利要求1所述的方法,其中,所述实现所述网络拥塞避免方案的步骤包括向所述数据分组指派作为所述成本的函数的分组丢弃概率。
10. 如权利要求1所述的方法,其中,所述实现所述网络拥塞避免方案的步骤包括向与所述数据分组相关联的通信链路指派作为所述成本的函数的丢弃概率。
11. 如权利要求10所述的方法,其中,所述实现所述网络拥塞避免方案的步骤包括向所述通信链路指派链路重建度量。
12. 如权利要求1所述的方法,其中,所述实现所述网络拥塞避免方案的步骤包括为所述数据分组确定作为所述成本的函数的第一分组丢弃概率,所述第一分组丢弃概率是基于成本的分组丢弃概率;以及为所述数据分组确定作为指派给所述数据分组的队列的队列长度的函数的第二分组丢弃概率,所述第二分组丢弃概率是基于缓冲区的分组丢弃概率。
13. 如权利要求12所述的方法,其中,所述实现所述网络拥塞避免方案的步骤还包括将所述基于成本的分组丢弃概率和所述基于缓冲区的分组丢弃概率之一指派为所述数据分组的分组丢弃概率;以及基于所指派的分组丢弃概率来判定是否要丢弃所述数据分组。
14. 如权利要求13所述的方法,其中,所述将所述基于成本的分组丢弃概率和所述基于缓冲区的分组丢弃概率之一指派为所述分组丢弃概率的步骤包括将所述基于成本的分组丢弃概率和所述基于缓冲区的分组丢弃概率中较大的那个指派为所述数据分组的所述分组丢弃概率。
15. 如权利要求13所述的方法,其中,所述将所述基于成本的分组丢弃概率和所述基于缓冲区的分组丢弃概率之一指派为所述分组丢弃概率的步骤包括利用所述基于成本的分组丢弃概率和所述基于缓冲区的分组丢弃概率中的每一个的加权平均,将所述基于成本的分组丢弃概率和所述基于缓冲区的分组丢弃概率之一指派为所述分组丢弃概率。
16. 如权利要求12所述的方法,其中,所述实现所述网络拥塞避免方案的步骤还包括如果所述基于成本的分组丢弃概率和所述基于缓冲区的分组丢弃概率中较大的那个小于预定的最大分组丢弃概率,那么将所述基于成本的分组丢弃概率和所述基于缓冲区的分组丢弃概率中较大的那个指派为所述数据分组的分组丢弃概率;如果所述基于成本的分组丢弃概率和所述基于缓冲区的分组丢弃概率中较大的那个不小于所述预定的最大分组丢弃概率,那么将所述预定的最大分组丢弃概率指派为所述数据分组的分组丢弃概率;以及基于所指派的分组丢弃概率来判定是否要丢弃所述数据分组。
17. 如权利要求16所述的方法,其中,所述实现所述网络拥塞避免方案的步骤还包括如果指派给所述数据分组的队列的平均队列长度小于最小队列长度阈值,那么将预定的最小分组丢弃概率指派为所述数据分组的分组丢弃概率;以及如果指派给所述数据分组的所述队列的平均队列长度大于最大队列长度阈值,那么将所述预定的最大分组丢弃概率指派为所述数据分组的分组丢弃概率。
18. 如权利要求1所述的方法,其中,所述实现所述网络拥塞避免方案的步骤包括基于所确定的成本和与指派给所述数据分组的队列相关联的总网络流量,判定是否要丢弃所述数据分组。
19. 一种系统,包括在用于确定与数据分组的传送相关联的成本的指令集的控制下操作并且利用所确定的成本来实现网络拥塞避免方案的网络节点;以及指派给所述数据分组的队列,所述队列根据所述网络拥塞避免方案使所述数据分组入队。
20. 如权利要求19所述的系统,其中,所述指令集将所述网络节点的操作定义为利用对与所述数据分组所关联于的流相关联的流成本的确定和对与指派给所述数据分组的队列相关联的平均流成本的确定来确定所述成本。
21. 如权利要求19所述的系统,其中,所述指令集将所述网络节点的操作定义为利用对针对所述数据分组的、作为所述成本的函数的第一分组丢弃概率的确定以及对针对所述数据分组的、作为指派给所述数据分组的队列的队列长度的函数的第二分组丢弃概率的确定,利用将基于成本的分组丢弃概率和基于缓冲区的分组丢弃概率之一指派为所述数据分组的分组丢弃概率的指派,并且利用基于所指派的分组丢弃概率的分组丢弃判定,来实现所述网络拥塞避免方案,其中所述第一分组丢弃概率是所述基于成本的分组丢弃概率,并且所述第二分组丢弃概率是所述基于缓冲区的分组丢弃概率。
22. 如权利要求19所述的系统,其中,所述网络节点是从由交换机、路由器和网关组成的组中选出的。
23. —种具有存储在计算机可读介质上的计算机可执行代码的计算机程序产品,所述计算机程序产品包括用于接收数据分组的代码;用于确定与所述数据分组所关联于的流相关联的流成本的代码;用于确定与指派给所述数据分组的队列相关联的平均流成本的代码;用于向所述数据分组指派作为所述流成本和所述平均流成本的函数的分组丢弃概率的代码;以及用于基于所指派的分组丢弃概率来丢弃所述数据分组或者将所述数据分组传递到所述队列的代码。
24. 如权利要求23所述的计算机程序产品,其中,所述用于指派所述分组丢弃概率的代码包括用于为所述数据分组确定作为所述成本的函数的第一分组丢弃概率的代码,所述第一分组丢弃概率是基于成本的分组丢弃概率;以及用于为所述数据分组确定作为指派给所述数据分组的队列的队列长度的函数的第二分组丢弃概率的代码,所述第二分组丢弃概率是基于缓冲区的分组丢弃概率。
25. 如权利要求24所述的计算机程序产品,其中,所述用于指派所述分组丢弃概率的代码还包括用于将所述基于成本的分组丢弃概率和所述基于缓冲区的分组丢弃概率之一指派为所述数据分组的分组丢弃概率的代码。
26. 如权利要求24所述的计算机程序产品,其中,所述用于指派所述分组丢弃概率的代码还包括用于在所述基于成本的分组丢弃概率和所述基于缓冲区的分组丢弃概率中的一个小于预定的最大分组丢弃概率的情况下将所述基于成本的分组丢弃概率和所述基于缓冲区的分组丢弃概率中的所述一个指派为所述数据分组的所述分组丢弃概率的代码;以及用于在所述基于成本的分组丢弃概率和所述基于缓冲区的分组丢弃概率中的所述一个不小于所述预定的最大分组丢弃概率的情况下将所述预定的最大分组丢弃概率指派为所述数据分组的所述分组丢弃概率的代码。
27. 如权利要求23所述的计算机程序产品,其中,所述用于指派所述分组丢弃概率的代码包括用于在所述队列的平均队列长度小于最小队列长度阈值的情况下将预定的最小分组丢弃概率指派为所述数据分组的分组丢弃概率的代码;以及用于在所述队列的平均队列长度大于最大队列长度阈值的情况下将预定的最大分组丢弃概率指派为所述数据分组的分组丢弃概率的代码。
28. —种方法,包括确定与特定流相关联的流成本;确定与指派给所述特定流的队列相关联的平均流成本;利用所确定成本来实现网络拥塞避免方案。
29. 如权利要求28所述的方法,其中,所述确定所述流成本的步骤包括确定与所述流的数据分组的传送相关联的成本。
30. 如权利要求29所述的方法,其中,所述实现所述网络拥塞避免方案的步骤包括向所述数据分组指派作为所述所确定成本的函数的分组丢弃概率。
31. 如权利要求30所述的方法,其中,所述实现所述网络拥塞避免方案的步骤还包括为所述数据分组确定作为所述所确定成本的函数的第一分组丢弃概率;以及为所述数据分组确定作为指派给所述数据分组的队列的队列长度的函数的第二分组丢弃概率,其中所述第一分组丢弃概率和所述第二分组丢弃概率之一被指派给所述数据分组作为所述分组丢弃概率。
32. 如权利要求28所述的方法,其中,所述确定所述流成本的步骤包括确定所述特定流的传送的历史成本。
33. 如权利要求28所述的方法,其中,所述确定所述流成本的步骤包括确定所述特定流的传送的预测成本。
34. 如权利要求28所述的方法,其中,所述实现所述网络拥塞避免方案的步骤包括向与所述流相关联的通信链路指派作为所述成本的函数的丢弃概率。
35. 如权利要求34所述的方法,其中,所述实现所述网络拥塞避免方案的步骤还包括为所述流确定作为所述所确定成本的函数的第一丢弃概率;以及为所述流确定作为指派给所述数据分组的队列的队列长度的函数的第二丢弃概率,其中所述第一丢弃概率和所述第二丢弃概率之一被指派给所述流作为所述丢弃概率。
36. 如权利要求34所述的方法,其中,所述实现所述网络拥塞避免方案的步骤包括向所述通信链路指派链路重建度量。
全文摘要
本发明公开了公平加权的网络拥塞避免。提供了实现使用成本函数的公平方案的网络拥塞避免的系统和方法被示出。用于网络拥塞避免分组丢弃判决的传送成本可以根据传送数据分组所需的带宽占用时间的量、传送数据速率、分组大小、频谱能量的量或者与发送相关联的发送功率等等来确定。特定分组的分组丢弃概率优选地被确定为当前流成本和平均流成本的函数,以提供对网络通信资源的公平分配。实施例还实现基于缓冲区的分组丢弃概率计算以提供强健的网络拥塞避免技术。根据实施例实现的基于成本的分组丢弃概率计算和基于缓冲区的分组丢弃概率计算可以适应服务质量应用。
文档编号H04L12/56GK101640639SQ20091016122
公开日2010年2月3日 申请日期2009年7月24日 优先权日2008年7月30日
发明者张志峯, 梁恒正, 飚 黄 申请人:快美思科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1