用于提供使带宽利用率最大化的动态q0s的系统和方法

文档序号:7805381阅读:579来源:国知局
用于提供使带宽利用率最大化的动态q0s的系统和方法
【专利摘要】一种被配置成实现QoS功能以使带宽利用率最优化的网络设备,该网络设备包括:被配置成存储高优先级吞吐量值和低优先级带宽值的存储器;向内部网络上的至少一个计算机系统并且从内部网络上的至少一个计算机系统传递包括多个数据分组的数据流的网络设备输入;以及向外部网络上的至少一个计算机系统并且从外部网络上的至少一个计算机系统传递包括多个数据分组的数据流的网络设备输出。该网络设备还包括被配置成执行存储在非易失性存储器中的步骤的计算机处理器,该步骤包括识别数据流中的高优先级数据分组以检测高优先级吞吐量值、设定低优先级带宽值以及周期性地调整低优先级带宽值。该QoS功能可以在不了解网络中的任何链路的实际带宽的情况下工作。
【专利说明】用于提供使带宽利用率最大化的动态QOS的系统和方法
[0001] 相关申请的交叉引用 [0002]无。

【技术领域】
[0003] 本发明总体上涉及实现对网络路由器中的高优先级业务的服务质量保障的领域, 更具体而言,涉及在不了解实际带宽的情况下使带宽利用率最大化的用于实现对高优先级 业务的服务质量保障的系统和方法。

【背景技术】
[0004] 服务质量(QoS)是已知的并且在本文中被称为QoS监管的功能,其被用于计算机 联网中以基于与数据流中的各个数据分组中的每个相关联的优先等级来保障数据流的一 定等级的性能。可以基于各种因素,例如对源发应用、设备或者用户的识别来分配优先等 级。例如,可以针对数据流中经识别的高优先级数据分组来保障所需的比特率、延迟、抖动、 分组丢弃概率和/或误码率。使用QoS功能是为了在网络容量可能会过载的情况下确保高 优先级应用的数据传送。示例包括要求固定的比特率并且对延迟敏感的实时流式传输多媒 体应用,例如通过IP的语音、在线游戏以及流式传输视频。QoS功能对于容量为有限资源的 网络,例如蜂窝数据通信网络,也是重要的。
[0005] 在计算机联网中,Q〇S功能通常被实现在网络路由器中。在路由器中,针对网络上 的每个业务类型来设定期望的服务等级。例如,通过允许视频流式传输具有比因特网业务 更高的Q〇S,在发送和/或接收视频数据时干扰会少得多,因为网络会特别为视频应用预留 相对大部分的带宽。
[0006] 传统上QoS功能需要了解可供使用的因特网带宽。如果带宽未知或者实际带宽不 同于在QoS功能中使用的带宽,则QoS功能将不能正常工作。例如,当在QoS功能中使用的 带宽高于实际可用的带宽时,QoS功能将不能用于具有业务控制例如传输控制协议(TCP) 的应用。反之,当在QoS功能中使用的带宽低于实际可用的带宽时,Q 0S功能将实际上阻止 应用使用所有可用的带宽,导致不必要的因特网业务减少。
[0007] QoS功能了解正确的现有带宽的需要可以给用户造成很多问题。例如,用户可能会 禁用QoS功能,因为他们不了解带宽并且不能适当地配置其路由器。进一步来讲,即使了解 理论带宽,但是实际带宽可以动态地变化。例如,可以通过由同一区域中的一组订户共享的 因特网连接来接收在电缆调制解调器处接收到的带宽,使路由器可用的实际带宽劣化。
[0008] 相应地,为了确定带宽,QoS功能通常包括查明并且连续地监控实际带宽的功能。 然而,带宽监控功能具有其自身的缺点。例如,带宽检测功能需要使带宽饱和以计算精确的 最大值。在检测操作期间,这种饱和必然会千扰正常的应用业务。如果频繁地进行检测,则 这种千扰为用户带来问题。如果检测进行得不够频繁,则实际带宽将偏离理论带宽的可能 性将增加,而QoS功能所基于的正是理论带宽。
[0009] 需要用于在网络设备中实现QoS功能而不必确定实际带宽的系统和方法。还需要 ----------:______2/10 页 被配置成麵于娜咖臟麵_供触^縣统和方法。


【发明内容】
个头施方式,描述了被配置成錄宽未知的情况下实现QoS功能 优先吐旦^低优= 该网络设备包括:存储器,该存储器被配置成存储高 部网络并且被配置成向内部网络上的至少-个计算麵以及=内焉以== 计算机系统包括多个贿分_雜流;以涵綱錄 接到被配置成向外部网络上的至少-个计算机系雪以 士的至少「个雜机,统传递傭多个数据分组_据流。_络设备可以进-步被配 直成包括1+前L处理器,该1 惰机处理器被隨成执行存储細如麟失性存储器中的步 骤。所H骤可以包括识别数据流中的高优先级数据分组、监控高优先级吞吐量值、设定低 优先级^宽值,以及周期性地调整低优先级带宽值。该周期性的调整可以包括增加或者减 少低市览值、确定临时修改对数据流中经识别的高优先级数据分组的影响以及基于确定的 影响来修改低带宽值。
[0011]在一个实施方式中,网络设备是路由器、网关设备以及交换机中的一个或更多个 设备。
[0012]在另一实施方式中,识别数据流中的高优先级数据分组的操作步骤是针对从外部 网络接收的数据流中的数据分组而进行的和/或识别高优先级数据分组被识别为视频流 式传输数据分组。
[0013]在另一实施方式中,周期性的调整还包括确定总数据分组吞吐量相对恒定和/或 识别高优先级数据分组的量相对恒定。
[0014]在又一实施方式中,基于存储在存储器中的状态图来决定增加或者减少低带宽 值。该状态图至少包括表示如下状态的状态:其中低带宽值保持恒定的平衡状态、其中低带 宽值减少的丢弃状态、其中低带宽值增加的拾取状态以及其中总带宽正在变化或者未知的 模糊状态。
[0015]根据本发明的另一实施方式,描述了可以在非暂态计算机可读介质中实施的、用 于在带宽未知的网络设备中实现QoS功能以使带宽利用率最优化的计算机实现的方法。该 方法包括监控包括多个数据分组的数据流,识别数据流中的高优先级数据分组以检测高优 先级吞吐量值,设定低优先级带宽值,以及周期性地调整低优先级带宽值。周期性的调整包 括临时增加或者减少低带宽值,确定修改对数据流中经识别的高优先级数据分组的影响以 及基于确定的影响来修改低带宽值。
[0016]根据本发明的又一实施方式,描述了被配置成在带宽未知的情况下实现QoS功能 以使带宽利用率最优化的网络设备。该网络设备包括被配置成存储高优先级吞吐量值和低 优先级带宽值的存储器。该网络设备还包括计算机处理器,该计算机处理器被配置成执行 可以存储在非易失性存储器中的一系列步骤,该一系列步骤包括识别数据流中的高优先级 数据分组以检测高优先级吞吐量值,设定低优先级带宽值,以及周期性地调整低优先级带 宽值。周期性的调整可以包括增加或者减少低带宽值,确定临时修改对数据流中经识别的 高优先级数据分组的影响以及基于确定的影响来修改低带宽值。
[0017]在阅读下面的【具体实施方式】、权利要求以及其中相同的附图标记用于指代相同的 特征的附图时,本发明的其他特征和优点对于本领域技术人员会变得明显。

【专利附图】

【附图说明】
[0018]附图中不出了本发明的优选的示例性实施方式,在附图通篇中相同的附图标记表 示相同的部件,其中:
[0019]图1不意性地示出了根据示例性实施方式的用于传递信息的联网环境,该网络环 境包括被配置成通过网络设备提供内部网络和外部网络之间的QOS功能的网络设备;
[0020]图2更详细地示出了所示的图1的网络设备的实施方式; '
[0021]图3是根据不例性实施方式的、用于配置网络设备以提供Q〇s功能而不必确定用 于下行链路的实际带宽的方法的流程图;以及
[0022]图4是示出了根据示例性实施方式的、用于在不确定实际带宽的情况下提供Q〇s 功能的状态和状态转换的状态图。
[0023]在详细说明本发明的实施方式之前,应该理解的是,本发明不限于将其应用于在 以下描述中阐述或在附图中示出的部件的构造和布置的细节。本发明还能够具有其他实 施方式并且可以以不同的方式来实践或实现。此外,应该理解的是,在本文中所使用的 措词和术语是出于描述的目的而不应被视为是限制性的。"包括 (including)"和"包括 (comprising) "及其变型的使用意在涵盖下文所列出的项和其等价物以及附加项和其等价 物。

【具体实施方式】
[0024] 现在参考图1,示出了根据示例性实施方式的、用于通过网络设备120在内部网络 110和外部网络130之间传递信息的联网环境100。向外部网络130和内部网络n〇并且 从外部网络130和内部网络110传输的信息是使用在本文中被总称为数据流的多个数据分 组来传输的。自外部网络130向内部网络110的数据流被称为"下行链路数据流",自内部 网络110向外部网络130的数据流被称为"上行链路数据流"。
[0025]内部网络110可以是被配置成在例如家庭、学校、办公楼等内部通过彼此相对接 近的多个设备和应用提供信息通信的局域网。内部网络110包括在例如台式计算机、膝 上型计算机、平板电脑等的个人计算设备II 2、智能电话114、游戏设备116以及流媒体播 放器118上运行的应用。个人计算设备II2上的应用可以包括例如web浏览应用、视频 播放器应用、电话应用、视频电话应用等的高优先级应用或者例如文件下载器的低优先级 应用。应该理解的是,虽然图1示出了具体的设备和应用,但是这些具体的设备和应用仅 仅是作为示例而被提供的。内部网络110可以可选地包括与网络设备1 2〇通信的单个设 备。这些或其他设备中的任何设备或者所有设备可以存在于给定的内部网络中。内部网络 110还可以包括一个或更多个附加的网络通信设备以提供网络上的设备之间的相互通信 (intercommunication)以及与网络设备120的通信。
[0026]内部网络110可以包括实现被具体配置成发送和接收高优先级数据分组的高优 先级应用的一个或更多个设备。高优先级应用可以是依赖于及时发送和/或接收对时间敏 感的数据的能力的任何应用。示例可以包括在数据传输中的任何中断和/或延迟都将对应 用的用户具有高可视性的情况下恒定地实时发送和接收视频图像和音频数据的视频电话 应用。如果数据被延迟,则被发送和接收的图像必将被延迟、被以更低分辨率显示等。相应 地,使用高优先级应用传输的大多数数据分组将使用每个数据分组的报头中的标志或者任 何其他识别方法来具体地将每个分组识别为高优先级数据分组。
[0027] 内部网络110还可以包括被具体配置成发送和接收低优先级数据分组的一个或 更多个低优先级应用。低优先级应用可以是不依赖于及时发送和/或接收对时间敏感的数 据的能力和/或不依赖于提供高质量用户体验的数据定时的任何应用。示例可以包括利 用、显示并且允许用户操纵下载的数据的应用。通常,这种类型的应用不会要求及时的数据 的恒定发送和接收和/或不会依赖于在与用户的交互中的这种传输的定时。相应地,使用 低优先级应用传输的大多数数据分组会使用每个数据分组的报头中的标志或者任何其他 识别方法来具体地将每个分组识别为低优先级数据分组。
[0028] 内部网络110还可以仅包括高优先级指定应用,使得将没有被特别指定为高优先 级应用的所有其他应用被视为低优先级应用。内部网络110还可以包括具有本文中描述的 功能的附加层的优先级,其被调整使得基于它们的相对优先级值来向数据分组提供带宽分 配。
[0029] 因此,对于示例性实施方式,内部网络110上的应用可以利用流量控制来加速带 宽分配。在本文中描述的QoS功能可以应用在不了解将会通过有限的带宽接收到多少高优 先级数据和多少低优先级数据的下行链路(进入)方向上。无论接收到的数据分组的优先 级是什么,在于在该过去的时间内,带宽如何被高优先级业务使用与带宽如何被被低优先 级业务使用的对比。当业务比可用的带宽更多时,可以通过丢弃某些低优先级数据来使带 宽的利用率最大化。通过流量控制,低优先级应用会注意到这种分组丢弃,并且对远端作出 某些隐式或者显式响应,发送方(针对低优先级数据)会减慢其发送数据的速度。这种减 慢将会减少用于低优先级数据的带宽使用而为高优先级数据留出更多空间。
[0030] 向内部网络110上的设备的通信、来自内部网络110上的设备的通信以及内部网 络110上的设备之间的通信是由网络设备120提供的。设备112至设备118与网络设备 120之间的链路可以是例如以太网的有线网络或者例如Wi-Fi的无线网络。设备112至设 备118还可以被配置成用于相互通信,例如使用蓝牙通信协议和/或通过使用内部网络地 址的网络应用120。
[0031] 网络设备120可以是被配置成管理内部网络110与外部网络130之间的数据流量 的任何设备。网络设备可以例如包括路由器、交换机或者网关中的一个设备或者多于一个 设备的组合。在本文中描述的与网络设备相关联的功能可以使用一个或更多个设备来实 现。例如,网络设备120可以被配置成包括与网络交换机通信的路由器,其中的任何设备都 可以被配置成执行本文中描述的某些或者所有的功能。网络设备120还可以使用彼此通信 的多个网络设备例如与网关路由器通信的无线接入点来实现。
[0032]网络设备12〇被配置成在两个计算机网络之间传送数据分组。数据分组可以包括 在设备之间传送的任何类型的捆绑的数据。在网络设备丨2〇是路由器的情况下,当从内部 网络110或者外部网络130接收到数据分组时,网络设备(路由器) 12〇读取分组中的地址 信息以确定其最终目的地。在分组交换网络中,"路由器,,是在一个或更多个输入接口上接 收分组并且在多个输出接口中的一个输出接口上输出这些分组以在网络内从源设备向目 的地设备移动这些分组的设备。每个分组包括指示内部网络110或者外部网络130中的目 的地设备的报头信息。路由器包括将输出接口与关于目的地设备例如设备112至设备118 中的一个或更多个设备的信息相关联的路由信息。路由器120还可以对分组进行其他操 作,例如根据其路由协议重写分组的报头,或者将分组从第一路由协议到第二路由协议重 新封装。路由器还可以被配置成监控被传输的信息,例如检测与每个数据分组相关联的优 先级。
[0033] 网络设备120可以是作为内部网络110与外部网络130之间的专用通信信道的网 关设备。相应地,可以使用网络设备120来查看向内部网络11〇或者从内部网络110提供 的、包括分组优先级信息的所有的数据分组。如在下文中参照图2详细描述的那样,网络设 备120被进一步配置成实现服务质量的应用,该应用被配置成利于被标志为具有更高优先 级值的数据分组的传送。
[0034] 外部网络130可以是覆盖广阔区域的广域通讯网络,例如因特网。可以使用有线 或者无线连接将外部网络130连接到网络设备120。例如,路由器网络设备120可以被连接 到高带宽连接例如电缆调制解调器、数字订户线路(DSL)调制解调器或者综合服务数字网 络(ISDN)连接以通过外部网络130来与系统一起发送和接收数据。
[0035] 外部网络130允许与包括例如外部网站132、外部计算系统134以及媒体服务器 136的多个外部系统中的一个或更多个外部系统通信。可以使用由设备112至设备118中 的任何设备提供并且由网络设备120使用的因特网协议地址来使得这些系统和应用可访 问,以确定从内部网络110向外部网络130和/或从外部网络130向内部网络110传送的 数据的目的地。
[0036] 在操作中,网络设备120被配置成接收来自被传送到内部网络110上的系统的下 行链路数据流。如在下文中参照图2详细描述的那样,基于数据流中的数据分组的报头信 息中包括的或者通过任何其他方法识别到的优先级信息,数据分组被尽快传送到系统(针 对高优先级分组)或者基于来自通过网络设备120中的处理器实现的QoS功能的输入而被 传送(针对低优先级数据分组)。
[0037] 现在参考图2,更详细地示出了根据示例性实施方式的网络设备120。虽然图2中 示出的网络设备120包括示例性配置中的具体部件,但是重要的是认识到网络设备120可 以包括更多、更少和/或不同配置的部件,以实现本文中描述的功能。
[0038] 可以使用包括处理单元、系统存储器以及将包括系统存储器的各种系统部件连接 到处理单元的系统总线的硬件来实现网络设备120的功能部件(未示出)。系统总线可以 是使用各种总线架构中的任何总线架构的、包括存储器总线或者存储器控制器、外围总线 以及本地总线的若干个类型的总线结构中的任何一种类型。此外,可以使用硬件和/或软 件来实现所描述的部件。
[0039] 处理单元可以是被配置成实现在本文中描述的功能的任何类型的计算机处理器, 该功能包括在没有确定用于下行链路带宽的实际带宽的情况下用于配置网络设备以提供 Q〇S功能的步骤。处理器可以包括单个处理器或者执行分布式计算功能的多个处理器。
[0040] 该系统存储器包括易失性和/或非易失性存储器如只读存储器(ROM)和随机存取 存储器(RAM)的形式的计算机存储介质。包含在诸如起动操作或联网操作期间帮助在网络 设备120内的元件之间传递信息的基本例程的基本输入/输出系统(BIOS)通常存储在ROM 中。虽然通常存储在ROM中,但是存储器可以包括装置外存储器驻留应用,例如基于应用的 云计算。RAM通常包含该处理单元立即可访问和/或该处理单元当前正在操作的数据和/ 或程序模块。装置120还可以包括其他可移除/非可移除、易失性/非易失性计算机存储 介质,诸如闪存。
[0041] 尽管网络设备120可以是各种设备中的任何设备,但是出于清楚起见,在本文中 将参照如图2所示的路由器类型网络设备对网络设备120进一步进行描述。路由器120包 括分组路由器输入202、分析器204、高优先级分组传输206、低优先级分组传输208、Q〇S监 管系统210、QoS状态机212、分组路由器输出214以及数据吞吐量检测器216。虽然在图 2中将网络设备120示出为包括呈现为分立部件的多个功能实施方式,但是应该理解的是, 可以使用相同的功能部件来实现一个或更多个功能实施方式。例如,高优先级分组传输206 和低优先级分组传输208可以是基于每个分组的报头中的信息来不同地对待数据分组的 单个路由程序。
[0042] 分组路由器输入202是从外部网络130接收数据分组的输入端口。路由器输入 202可以是以太网端口、无线接收器或者从网络130接收网络信息的另一设备。
[0043] 分析器204是被配置成确定从分组路由器输入202接收的分组是否包括分组报头 中的直接或者间接优先级信息的软件部件。优先级信息可以包括优先级排名、1位的标志 (针对高优先级分组设定成"开启(on)")或者任何其他直接或者间接优先级指示方法。在 分析器204确定接收到的分组不包含上述任何信息的情况下,分析器204可以被配置成缺 省地将数据分组视为低优先级或者髙优先级。分析器204还可以被配置成基于数据分组报 头中包括的其他信息例如源应用类型或者目的地应用类型来分配优先级值。例如,分析器 204可以被配置成将被指定用于电话应用的所有分组视为高优先级分组而无论这些分组是 否已经被如此指定。
[0044] 基于优先级确定,分析器204被配置成将高优先级分组路由到高优先级分组传输 206而将所有其他分组路由到低优先级分组传输208。虽然只示出了两个分组传输,但是在 替选实施方式中网络设备120可以被配置成包括针对各种优先等级的传输。在这种系统 中,基于相对优先级来分配带宽优先级。
[0045] 高优先级分组传输206可以是在网络设备120的存储器中实现的分组队列以及被 配置成确定何时从队列移除分组并且将该分组提供给分组路由器输出214的分组队列管 理系统。虽然在本文中示出并描述了分组队列,但是本领域普通技术人员将认识到,可以使 用各种不同的方法/数据结构来实现该功能。高优先级分组传输206被配置成尽快将从分 析器204接收的分组提供给分组路由器输出214。通常,从分析器204接收并且被指定成 高优先级的数据分组被立刻提供给输出214。然而,基于特定环境,例如在高优先级数据吞 吐量的等级大于可用总带宽的情况下,即使高优先级数据分组也可能需要被排在队列中, 可用总带宽可以通过例如检测丢弃的分组、分组路由器输出214拒绝分组等各种方式来确 定。然而,网络设备120可以被配置成基于通过低优先级分组传输208传输的数据分组而 使得高优先级分组传输206不受限制。
[0046] 低优先级分组传输208也可以是在网络设备120的存储器中实现的分组队列以及 被配置成确定何时从队列移除分组并且将该分组提供给分组路由器输出214的分组队列 管理系统。低优先级分组传输208被配置成基于来自QoS监管系统210的指令将从分析器 204接收的分组提供给分组路由器输出214, QoS监管系统210对从数据吞吐量检测器216 接收的带宽利用率信息进行分析,如在下文中参照图3更详细地描述的那样。低优先级带 宽值可以是被允许用于低优先级业务的最大带宽。相应地,网络设备120被配置成使得QoS 监管系统210仅用于对在低优先级分组传输208上传输分组的可用的带宽进行限制。
[0047] Q〇S监管系统210软件和/或硬件被配置成确定低优先级带宽值并且向低优先级 分组传输208给出指令。QoS状态机212可以周期性地调整低优先级带宽值。替选地,可以 基于来自数据吞吐量检测器216的检测到的高优先级吞吐量的特定变化,由Q〇S机调整低 优先级带宽值。下面参照图3和图4对QoS监管系统210和QoS状态机212的操作进行更 详细的描述。
[0048] 分组路由器输出214是向内部网络110传送数据分组的输出端口。路由器输出 214可以是以太网端口、无线传输器或者用于向内部网络110传送网络信息的另一设备。 [0049] 数据吞吐量检测器216被配置成通过监控通过分组路由器输入202传递分组的速 率来计算高优先级吞吐量值和低优先级吞吐量值二者。可以通过监控从分析器204向高优 先级分组传输206传送的分组的总数量来连续地更新高优先级吞吐量值。替选地,可以通 过指定具体时间窗口例如一(1)秒,并且监控在该时间窗口期间传送的高优先级分组的数 量/大小来周期性地生成高优先级吞吐量值。类似地,通过监控传送的低优先级分组的数 量来生成检测到的低优先级吞吐量值。数据吞吐量检测器216还被配置成通过对检测到的 高带宽值和检测到的低带宽值求和来生成总的利用带宽值。总的利用带宽值可以小于可以 是未知的总的可用带宽。
[0050] QoS监管系统210被配置成使高优先级业务尽可能多地通过。QoS监管系统210 还被配置成使对高优先级业务可以使用的带宽的任何限制最小化,并且仅限制低优先级业 务。QoS监管系统210和QoS状态机212从数据吞吐量检测器216接收输入以监控高优先 级吞吐量值的任何变化,并且基于高优先级吞吐量值来改变低优先级带宽值。现在还参考 图3,示出了图示根据示例性实施方式的、用于在总带宽未知的情况下提供动态QoS以使带 宽利用率最大化的方法的流程图300。虽然流程图300包括按限定的顺序执行的多个步骤, 但是可以使用更多、更少和/或不同顺序的步骤来执行本文中描述的功能。
[0051] 在第一步骤302中,QoS状态机212生成初始低优先级带宽值。初始低优先级带 宽值可以以多种方式中的任何方式来获得。例如,可以基于从数据吞吐量检测器216间接 接收到的检测到的低优先级吞吐量值来生成,可以是基于通常检测到的高优先级吞吐量值 而被配置的缺省的低优先级带宽值,可以在最初时被设定成等于零,可以在最初时被设定 成理论最大带宽,或者可以基于用户设定来确定。
[0052] 在步骤304中,将低优先级带宽值作为输入提供给QoS监管系统210。在步骤306 中,基于接收的低优先级带宽值和来自数据吞吐量检测器216的带宽使用,QoS监管系统 210相应地向低优先级分组传输208给出指令以限制低优先级数据吞吐量,限制在给定量 的时间内从低优先级分组传输208释放的低优先级数据分组的数量,以满足总带宽等于或 者小于低优先级带宽值。指令可以简单地限制低优先级业务量等于或者小于由QoS状态机 212生成的低优先级带宽值简单。
[0053] 在步骤308中,QoS监管系统210将从数据吞吐量检测器216接收更新的高优先级 数据吞吐量值和更新的低优先级数据吞吐量值。检测到的吞吐量值被作为输入提供给QoS 状态机212。如下文参照图4所描述的那样,在步骤310中QoS状态机212基于带宽利用率 修改低优先级带宽值。
[0054] 继步骤310之后,执行类似于步骤304的步骤312,使得更新的低优先级带宽值被 提供给QoS监管系统210。随后,在步骤314中,QoS监管系统指令低优先级传输208相应 地调整低优先级业务量。
[0055] 在步骤316中,QoS状态机212基于在步骤310中对低优先级带宽值的修改来监 控高优先级数据吞吐量值。如果高优先级数据吞吐量值保持不变,则在步骤318中,经修改 的低优先级带宽值将作为低优先级带宽值被存储在状态机212的存储器中。如果高优先级 数据吞吐量值受到不利影响,则在步骤320中,经修改的低优先级带宽值将会被恢复成步 骤310的修改之前使用的低优先级带宽值。
[0056] QoS状态机212可以被配置成包括确定操作(未示出),其中确定在步骤310中的 修改的实现之前总吞吐量值是否稳定。如果存在表明总带宽可能已经显著减少的指示,则 状态机212可以被配置成移除低优先级业务的带宽限制以找到没有任何约束的最大吞吐 量值并且利用该值作为总带宽的假设。可能不会经常执行该步骤,因为事实上总下行链路 带宽不会经常显著地波动。具体而言,虽然总带宽可能随时间波动,但是总体上会稍后稳定 化,并且然后在一段时间内保持稳定。总带宽的变化可以由内部网络110上正在使用的应 用和/或系统的变化而导致。
[0057] 现在参考图4,示出了根据示例性实施方式的、由QoS状态机212结合一个或更多 个附加的输入用于确定是否修改低优先级带宽值的状态的状态图400。状态图400的目的 是通过根据接收的输入来控制低优先级带宽值以预留高优先级业务的传输所需的带宽。因 此,状态图400不限制高优先级业务可以使用的带宽。相反,只对低优先级业务进行限制。 对QoS状态机212的输入至少包括来自数据吞吐量检测器216的检测到的高优先级吞吐量 值和检测到的低优先级吞吐量值。
[0058] 状态图400包括四种状态以及这四种状态之间的转换,使得状态机212总是在这 四种状态之一中操作。现在将对这些状态中的每种状态进行描述。
[0059] 在大多数时间,QoS状态机212停留在平衡状态410。当高优先级吞吐量值没有 根据当前低优先级带宽值减少时,状态机212停留在平衡状态410。在转换412,在没有总 带宽减少的指示时,基于检测到的高优先级吞吐量值的减少,QoS状态机212将退出平衡状 态410并且转换成拾取状态420。转换412可以取决于检测到的高优先级吞吐量值的减少 的速率的稳定性,即,高优先级吞吐量值不仅已经减少,而且已经在一段时间例如5秒内保 持在减少的值。该时间段仅作为示例而被提供,因为应该理解,可以使用任何时间段。QoS 状态机212被配置成周期性地实现转换414。可以使用周期性的转换实现来确保高优先级 吞吐量值的最大化。具体而言,如果高优先级业务在一段时间例如5秒内保持等于或者高 于吞吐量值(与当状态机进入平衡状态410时的高优先级吞吐量值相比),则QoS状态机 212将会转换成丢弃状态430以确定降低低优先级数据分组的低优先级带宽值是否允许额 外的高优先级吞吐量利用率。
[0060] 拾取状态420是状态机212进入以增加低优先级带宽值的状态。拾取状态420的 目的是确定可用的总带宽是否将允许低优先级业务增加而不会对高优先级吞吐量值造成 不利影响。相应地,在进入拾取状态420时,QoS状态机212将以小增量例如当前高优先级 吞吐量值的10 %来增加低优先级带宽值,直到检测到高优先级吞吐量值的不利变化为止。 在转换422, QoS状态机212被配置成基于检测到的对高优先级吞吐量值的不利影响而退出 拾取状态420并且进入平衡状态410。
[0061] 丢弃状态430是QoS状态机212进入以减少低优先级带宽值的状态。丢弃状态430 的目的是使高优先级吞吐量值最大化。相应地,在进入丢弃状态430时,QoS状态机212将 以小减量来减少低优先级带宽值并且监控高优先级吞吐量值以识别任何增加。如果高优先 级吞吐量增加,则将进一步减少低优先级带宽值。如果高优先级吞吐量没有增加,则Q〇S监 管系统210被配置成退出丢弃状态430并且在转换432中进入平衡状态410。
[0062] QoS状态机212可以被配置成,在进入丢弃状态430时,并且在第一次减少低优先 级带宽值之后,如果高优先级吞吐量值没有增加,则Q〇S状态机212将基于低优先级带宽值 的降低并不会导致高优先级吞吐量值的增加的确定结果,立即退出丢弃状态430并且在转 换434中直接进入拾取状态420。
[0063] 模糊状态440可以在高/低优先级吞吐量值未知和/或总带宽未知的情况下被 QoS状态机212用作初始状态。QoS状态机212还可以被配置成基于由数据吞吐量检测器 216检测到的总可用带宽减少的确定结果而进入模糊状态440。QoS状态机212被配置成当 总带宽被稳定化时,退出模糊状态440并且在转换442中进入平衡状态410。
[0064] 有益地,包括QoS状态机212的网络设备120可以被配置成在总可用带宽未知的 情况下使带宽利用率最优化。传统QoS监管基于对因特网带宽是限制因素的认定而着重于 因特网带宽。然而,当涉及无线连接(例如Wi-Fi)时,限制因素可能出现在无线连接内。在 这种情况下,只着重于因特网带宽的QoS实现将不能适当地发挥作用。在本文中描述的QoS 监管功能不需要了解实际可用的带宽并且没有将因特网带宽考虑为唯一的限制因素。因 此,在本文中描述的功能使用户配置的需要被最小化并且当端对端带宽变化时更为适用。
[0065] 尽管在本文中将QoS状态机212描述并且示出为通过网络设备例如路由器来实 现,但是本领域普通技术人员应该认识到QoS功能可以在网络110内的任何计算设备上实 现。
[0066] 本文所使用的特定术语仅出于引用目的,因此无意成为限制。例如,如"网络设备" 等词语是指在计算机网络中接收并且重新传送信息分组的任何系统。
[0067] 对"处理器"的引用可以理解成包括能够在单机和/或分布式环境中进行通信并 且因此能够被配置成经由有线或无线通信与其他处理器进行通信的一个或更多个控制器 或处理器,其中这样的一个或更多个处理器可以被配置成对能够作为相似或不同的设备的 一个或更多个处理器控制的设备进行操作。此外,除非另外指出,否则对存储器的引用可以 包括能够位于处理器控制的设备内或位于处理器控制的设备外并且可以通过有线或无线 网络来访问的一个或更多个处理器可读的和可访问的存储元件和/或部件。应当理解,计 算机程序可以包括组成程序,并且多个程序可以实现为单个或多个程序。
[0068] 在所附权利要求中阐述了本发明的各种特征。应该理解的是,本发明不限于将其 应用于本文中所阐述的部件的构造和布置的细节。本发明能够具有其他实施方式并且能够 以各种方式来实践或实现。前述的变型及修改在本发明的范围内。还应该理解的是,本文 所公开的和限定的本发明扩展至所提及的或者根据文本和/或附图而明显的各个特征中 的两个或更多个特征的所有替选组合。所有这些不同的组合构成本发明的各种替选方面。 本文所描述的实施方式说明了用于实践本发明的已知的最佳模式并且将使得本领域其他 技术人员能够利用本发明。
【权利要求】
1· 一种网络设备,所述网络设备被配置成在带宽未知的情况下实现服务质量Q〇s功能 以使带宽利用率最优化,所述网络设备包括: 网络设备输入,所述网络设备输入至少间接地连接到内部网络并且被配置成向所述内 部网络上的至少一个计算机系统以及从所述内部网络上的至少一个计算机系统传递包括 多个数据分组的数据流; 网络设备输出,所述网络设备输出至少间接地连接到外部网络并且被配置成向所述外 部网络上的至少一个计算机系统以及从所述外部网络上的至少一个计算机系统传递包括 所述多个数据分组的所述数据流;以及 计算机处理器,所述计算机处理器被配置成执行存储在非易失性存储器中的步骤,一 系列的所述步骤包括 将低优先级带宽值设定成初始值, 识别所述数据流中的高优先级数据分组以检测高优先级吞吐量值, 设定所述低优先级带宽值,以及 周期性地调整所述低优先级带宽值,包括 增加或者减少所述低带宽值, 确定修改对所述高优先级吞吐量值的影响,以及 基于所确定的影响来修改所述低带宽值。
2. 根据权利要求1所述的设备,其中,所述网络设备是路由器、网关设备、接入点以及 交换机中的至少之一。
3. 根据权利要求1所述的设备,其中,识别所述数据流中的高优先级数据分组的步骤 是针对从所述外部网络接收到的所述数据流中的数据分组而执行的。
4. 根据权利要求3所述的设备,其中,所述高优先级数据分组被识别为视频流式传输 数据分组。
5. 根据权利要求1所述的设备,其中,所述计算机处理器另外被配置成执行确定总数 据分组吞吐量相对恒定的步骤。
6. 根据权利要求5所述的设备,其中,识别所述数据流中的高优先级数据分组的步骤 还包括识别高优先级数据分组的量相对恒定。
7. 根据权利要求1所述的设备,其中,所述计算机处理器被配置成基于存储在所述存 储器中的状态图来决定增加还是减少所述低带宽值。
8. 根据权利要求7所述的设备,其中,所述状态图至少包括表示如下状态的状态:其中 所述低带宽值保持恒定的平衡状态、其中所述低带宽值减少的丢弃状态、其中所述低带宽 值增加的拾取状态以及其中总数据分组吞吐量正在变化或者未知的模糊状态。
9. 一种用于在带宽未知的情况下实现服务质量QoS功能以使网络设备中的带宽利用 率最优化的、在非暂态计算机可读介质中实施的计算机实现的方法,所述方法包括: 监控包括多个数据分组的数据流; 识别所述数据流中的高优先级数据分组以检测高优先级吞吐量值; 设定低优先级带宽值;以及 调整所述低优先级带宽值,包括 增加或者减少所述低带宽值, 确定临时修改对所述数据流中经识别的高优先级数据分组的影响;以及 基于所确定的影响来修改所述低带宽值。
10. 根据权利要求9所述的方法,其中,识别所述数据流中的高优先级数据分组的操作 步骤是针对从外部网络接收到的所述数据流中的数据分组而执行的。
11. 根据权利要求10所述的方法,其中,识别高优先级数据分组的操作被识别为视频 流式传输数据分组。
12. 根据权利要求9所述的方法,还包括在调整所述低优先级带宽值之前确定总数据 分组吞吐量相对恒定。
13. 根据权利要求12所述的方法,其中,识别所述数据流中的高优先级数据分组的操 作还包括识别高优先级数据分组的量相对恒定。
14. 根据权利要求9所述的方法,其中,基于存储在所述存储器中的状态图来确定增加 或者减少所述低带宽值的决定。
15. 根据权利要求14所述的方法,其中,所述状态图至少包括表示如下状态的状态:其 中所述低带宽值保持恒定的平衡状态、其中所述低带宽值减少的丢弃状态、其中所述低带 宽值增加的拾取状态以及其中总数据分组吞吐量正在变化或者未知的模糊状态。
16. -种被配置成在带宽未知的情况下实现服务质量QoS监管功能以使带宽利用率最 优化的计算机实现的设备,所述设备包括: 存储器,所述存储器被配置成存储高优先级吞吐量值和低优先级带宽值;以及 计算机处理器,所述计算机处理器被配置成执行存储在非易失性存储器中的一系列步 骤,所述一系列步骤包括 识别所述数据流中的高优先级数据分组以检测所述高优先级吞吐量值, 设定所述低优先级带宽值,以及 周期性地调整所述低优先级带宽值,包括 增加或者减少所述低带宽值, 确定临时修改对所述数据流中经识别的高优先级数据分组的影响;以及 基于所确定的影响来修改所述低带宽值。
17. 根据权利要求16所述的设备,其中,识别所述数据流中的高优先级数据分组的步 骤是针对从所述外部网络接收到的所述数据流中的数据分组而执行的。
18. 根据权利要求17所述的设备,其中,所述高优先级数据分组被识别为视频流式传 输数据分组。
19. 根据权利要求16所述的设备,其中,所述计算机处理器另外被配置成确定总数据 分组吞吐量相对恒定。
20. 根据权利要求19所述的设备,其中,识别所述数据流中的高优先级数据分组的步 骤还包括识别高优先级数据分组的量相对恒定。
21. 根据权利要求16所述的设备,其中,所述计算机处理器被配置成基于存储在所述 存储器中的状态图来决定增加还是减少所述低带宽值。
22. 根据权利要求21所述的设备,其中,所述状态图至少包括表示如下状态的状态:其 中所述低带宽值保持恒定的平衡状态、其中所述低带宽值减少的丢弃状态、其中所述低带 宽值增加的拾取状态以及其中总数据分组吞吐量正在变化或者未知的模糊状态。
【文档编号】H04L12/927GK104219174SQ201410244389
【公开日】2014年12月17日 申请日期:2014年6月4日 优先权日:2013年6月4日
【发明者】程冰 申请人:网件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1