用于在通信网络中优先化并调度数据包的检测系统和方法

文档序号:7990977阅读:320来源:国知局
用于在通信网络中优先化并调度数据包的检测系统和方法
【专利摘要】系统和方法提供一种参数化调度系统,所述参数化调度系统并入终端用户应用认知且可与包括来自异构应用的数据流的调度组一起使用。在多个协议级上分析数据包以检测与传递所述数据包相关的特征。所述数据包被过滤,使得有效地执行检测所述特征。所述检测的特征可用于调度所述数据包的传输。所述检测的特征可用以动态改变调度参数。所述动态调度参数可响应于循环的网络模式、一次性事件、应用特征、协议特征、设备特征、服务等级协议或其组合而最大化用户体验质量(QoE)。调度参数也可将“持续时间忽视”和“近因效应”的概念并入终端用户对视频质量的感知,以在拥塞期间管理视频流量。
【专利说明】用于在通信网络中优先化并调度数据包的检测系统和方法
[0001]发明背景
[0002]本发明一般涉及通信系统领域且涉及用于在通信网络中优先化并调度数据包的检测系统和方法。
[0003]在例如互联网协议(IP)网络的通信网络中,每个节点和子网对于可在任何给定时间有效传输的数据量都有限制。在有线网络中,这通常是设备容量的函数。例如,千兆以太网(Gigabit Ethernet)链接可传输不超过十亿位元流量每秒。在无线网络中,容量由使用的信道带宽、传输技术和通信协议来限制。无线网络还由分配到服务区的频谱量和发送和接收系统之间的信号的质量约束。因为这些方面可以是动态的,所以无线系统的容量可随时间变化。
[0004]另外,每个节点对于处理可执行都有限制。增加可用处理可能很昂贵或者可能需要使节点停止使用。另外,节点可能具有许多不同的竞争可用处理的功能。即使当足够的处理容量可用时,它的使用也带来例如功率消耗方面的成本。
发明概要
[0005]提供用于提供并入终端用户应用认知的参数化(或基于权重的)调度系统,和它们的有效实施方式的系统和方法。本文公开的系统和方法可包括具有包括来自异构应用的数据流的调度组的通信系统。一些实施方案使用包检查以供终端用户应用对数据流量进行分类。可基于应用类别、具体应用、个别数据流或其一些组合来创建调度组内的个别数据队列。实施方案使用应用信息结合应用因子(AF)来修改调度器参数(例如,权重、信用或借记),从而区别处理分配到调度组的数据流。在实施方案中,提供一种用于通过使用动态AF设置来调整不同用户应用的相对重要性以响应于循环的网络模式、一次性事件、应用特征或任何它们的组合来最大化用户体验质量(QoE )的方法。
[0006]在实施方案中,提供一种用于通过动态管理调度权重来最大化视频应用的用户QoE的方法。该方法将“持续时间忽视”和“近因效应”的概念并入终端用户对视频质量(即,视频QoE)的感知,以便在拥塞期间优化管理视频流量。
[0007]在实施方案中,提供一种用于在无线通信系统中调度数据包的传输的基于权重的调度系统。所述系统包括分类和排队模块、权重计算模块和调度器模块。分类和排队模块被配置来接收包括来自多个异构数据流的数据包的输入流量。所述分类和排队模块也被配置来分析每个数据包并基于所述数据包的属性将所述数据包分配到调度组。所述分类和排队模块还被配置来输出一个或多个数据队列和与所述一个或多个数据队列中的每一个中的所述数据包相关的分类信息。所述权重计算模块被配置来接收来自所述分类和排队模块的所述分类信息并计算所述一个或多个数据队列中的每一个的权重并输出所述计算的权重。所述调度器模块被配置来接收来自所述分类和排队模块的一个或多个数据队列并接收来自权重计算模块的计算的权重。所述调度器模块还被配置来基于计算的权重从一个或多个数据队列选择数据包并将选定的数据包插入输出队列来通过物理通信层传输。
[0008]在实施方案中,提供一种用于在通信网络中优先化并调度数据包的方法。所述方法包括接收多个数据包;对多个数据包进行分类;将多个数据包分离成多个调度组;将多个数据包分离成多个数据队列;确定权重以与数据队列中的每一个相关联。所述权重至少部分由与所述数据包相关的应用类型来确定。所述方法还包括基于与数据队列相关的权重来从多个数据队列选择数据包;基于与数据队列中的每一个相关的权重来将选定的数据包插入输出数据队列;和通过物理通信层传输来自输出数据队列的多个数据包以通过网络通信介质传输。
[0009]在实施方案中,提供一种用于操作通信设备以调度数据包的传输的方法。所述方法包括:接收来自通信网络的数据包;对所述数据包进行分类;基于所述分类将所述数据包分离成调度组,所述调度组中的每一个与至少一个数据队列相关;将所述数据包中的每一个插入与所述对应的调度组相关的所述数据队列中的一个;确定与所述数据包相关的应用;确定所述数据队列的权重,所述权重至少部分基于与所述对应的数据队列中的所述数据包相关的所述应用;考虑到所述权重,将所述数据包从所述数据队列调度到输出队列;和将所述数据包从所述输出队列传输到所述通信网络。
[0010]在实施方案中,提供一种用于调度数据包的传输的通信设备。所述通信设备包括:分类和排队模块,其被配置来接收数据包的,所述分类和排队模块还被配置来分析所述数据包的属性,并基于所述属性将所述数据包分配到调度组,所述分类和排队模块还被配置来输出数据队列中的所述数据包,其中所述调度组中的每一个与所述数据队列中的至少一个相关,所述分类和排队模块还被配置来确定与所述数据包相关的应用,并输出关于所述应用的信息;权重计算模块,其被配置来利用来自所述分类和排队模块的所述应用信息来计算并输出指示所述数据队列的相对优先级的权重;和调度器模块,其被配置来以考虑到来自所述权重计算模块的所述权重的顺序从所述数据队列选择数据包并将所述选定的数据包插入输出队列来通过物理通信层传输。
[0011]在实施方案中,提供一种用于操作通信设备以调度数据包的传输的方法。所述方法包括:接收来自通信网络的数据包;确定与所述数据包相关的应用;将所述数据包中的每一个插入多个数据队列中的一个;确定所述数据队列的调度器参数,所述调度器参数包括基于与所述对应的数据队列中的所述数据包相关的所述应用的因子;考虑到所述调度器参数,将所述数据包从所述数据队列调度到输出队列;和将所述数据包从所述输出队列传输到所述通信网络。
[0012]在实施方案中,提供一种用于调度数据包的传输的通信设备。所述通信设备包括:分类和排队模块,其被配置来接收数据包并输出数据队列中的所述数据包,所述分类和排队模块包括被配置来分析所述数据包的属性、确定与所述数据包相关的应用并输出关于所述应用的信息的包检查模块;调度器参数计算模块,其被配置来计算并输出指示所述数据队列的相对优先级的调度器参数,所述调度器参数包括基于来自所述包检查模块的所述应用信息的因子;和调度器模块,其被配置来以考虑到来自所述调度器参数计算模块的所述调度器参数的顺序从所述数据队列选择数据包并将所述选定的数据包插入输出队列来通过物理通信层传输。
[0013]在实施方案中,提供一种用于操作通信设备以调度数据包的传输的方法。所述方法包括接收来自通信网络的数据包;监控接收的数据包中含有的一个或多个连接以检测所述连接的特征;将所述数据包中的每一个插入多个数据队列中的一个;确定所述数据队列的调度器参数,所述调度器参数包括基于与所述对应的数据队列中的所述数据包相关的所述检测的特征的因子;考虑到所述调度器参数,将所述数据包从所述数据队列调度以进行传输;和基于所述调度来传输所述数据包。
[0014]在实施方案中,提供一种通信设备。所述通信设备包括被配置来接收数据包、分析所述接收的数据包,并考虑到调度器参数调度所述接收的数据包以从所述通信设备传输的参数化调度模块,所述参数化调度模块包括包检查模块,所述包检查模块包括:被配置来确定应进一步检查所述接收的数据包中的哪一个的流量监控模块;被配置来检测关于用于传输所述数据包的连接的信息的连接检测模块;被配置来检测关于与所述数据包相关的流、会话和应用的信息的流和会话检测模块;和被配置来存储所述检测的信息的状态模块。
[0015]本发明的其它特征和优势将从以举例的方式示出本发明的方面的以下描述显而易见。
[0016]附图简述
[0017]本发明的结构和操作上的细节可部分通过研究附图来收集,在附图中相同的元件符号表不相同的部件,且其中:
[0018]图1是根据实施方案可实施本文公开的系统和方法的无线通信网络的框图;
[0019]图2是根据实施方案可实施本文公开的系统和方法的另一无线通信网络的框图;
[0020]图3是根据实施方案的站的功能框图;
[0021]图4是根据实施方案不出协议层的图表;
[0022]图5是根据实施方案示出可用以实施调度技术的参数化调度模块的框图;
[0023]图6是根据实施方案示出排队系统中异构输入流量和个别队列之间的关系的框图;
[0024]图7是根据实施方案使用参数化调度技术来使将通过网络介质传输的数据包排队的方法的流程图;
[0025]图8是根据实施方案示出无线通信系统的框图;
[0026]图9是根据实施方案示出用于增强型分类/排队模块中的增强型包检查模块的框图;
[0027]图10是根据实施方案示出用于增强型分类/排队模块中的增强型包检查模块的框图;
[0028]图11是示出可用于本文公开的各种技术中的应用类别和具体应用之间的映射的实例的表;
[0029]图12是根据实施方案示出封装在TCP/IP帧内的RTSP包的实例的图表;
[0030]图13是根据实施方案的包检查模块的功能框图;
[0031]图14是根据实施方案示出包括RTP标头和RTP有效载荷的RTP包的实例的图表,所述RTP有效载荷含有H.264视频数据;
[0032]图15是根据实施方案示出具有填充的八位字节的RTP包的实例的图表;
[0033]图16是根据实施方案示出每应用类别每具体应用基础上的示例性应用因子分配的表;
[0034]图17是根据实施方案示出增强型权重因子计算的表;
[0035]图18是示出可用于本文公开的增强型权重因子或信用计算中的系数的管理的时序图;
[0036]图19是根据实施方案的计算系数的方法的流程图;
[0037]图20是根据实施方案示出由具有增强型数据包分类和排队的参数化调度系统进行的流量整形的图表;
[0038]图21是根据实施方案的包检查模块的功能框图;
[0039]图22是根据实施方案用于检测连接初始化的过程的流程图;
[0040]图23是根据实施方案用于监控连接的过程的流程图;和
[0041]图24是不出不例性视频下载的比特率与时间的关系的图表。
【具体实施方式】
[0042]提供用于提供并入终端用户应用认知的参数化调度系统的系统和方法。本文公开的系统和方法可与含有来自异构应用的数据流的调度组一起使用。一些实施方案使用数据包检查以供终端用户应用对数据流量进行分类。可基于应用类别、具体应用、个别数据流或其一些组合来创建调度组内的个别数据队列。实施方案使用应用信息结合应用因子(AF)来修改调度器参数,从而区别处理分配到调度组的数据流。在实施方案中,提供一种用于通过使用动态AF设置来调整不同用户应用的相对重要性以响应于循环的网络模式、一次性事件或两者来最大化用户QoE的方法。在实施方案中,提供一种用于通过动态管理调度参数来最大化视频应用的用户QoE的方法。所述方法将“持续时间忽视”和“近因效应”的概念并入终端用户对视频质量(即,视频QoE)的感知,以便在拥塞期间优化管理视频流量。
[0043]本文公开的系统和方法可应用于各种容量有限的通信系统,包括但不限于有线技术和无线技术。例如,本文公开的系统和方法可用于蜂窝2G、3G、4G(包括长期演进(“LTE”),LTE高级,WiMax), WiF1、超移动宽带(“UMB”)、电缆调制解调器和其它有线技术或无线技术。虽然本文用以描述具体实施方案的用语和术语可应用于特定技术或标准,但是本文描述系统和方法并不限于这些具体标准。
[0044]某本部署
[0045]图1是根据实施方案可实施本文公开的系统和方法的无线通信网络的框图。图1示出包括宏蜂窝、微微蜂窝和企业毫微微蜂窝的通信系统的典型基本部署。在典型部署中,宏蜂窝可在一个或许多个频道上传输并接收,所述频道与小型(SFF)基站(包括微微蜂窝和企业或住宅毫微微蜂窝)使用的一个或许多个频道分开。在其它实施方案中,宏蜂窝基站和SFF基站可共享相同的频道。地理因素和信道可用性的各种组合可产生各种可影响通信系统的吞吐量的干扰情形。
[0046]图1示出典型的微微蜂窝和企业毫微微蜂窝在通信网络100中的部署的实例。宏基站110通过回程连接170连接到核心网络102。在实施方案中,回程连接170是双向链路,或两个单向链路。从网络102到宏基站110的方向被称为下游方向或下行方向。从宏基站110到核心网络102的方向被称为上游方向或上行方向。订户站150 (I)和150 (4)可通过宏基站110连接到核心网络102。在实施方案中,订户站150和宏基站110之间的无线链路190是双向点对多点链路。从宏基站110到订户站150的无线链路190的方向被称为下行方向或下游方向。从订户站150到宏基站110的无线链路190的方向被称为上行方向或上游方向。订户站有时被称为用户设备(UE)、用户、用户设备、手持机或终端机。在图I示出的网络配置中,办公楼120 (I)造成覆盖阴影104。经由回程连接170连接到核心网络102的微微站130可在覆盖阴影104中提供对订户站150 (2)和150 (5)的覆盖。订户站150 (2)和150 (5)可通过与订户站150 (I)和150 (4)与宏基站110之间的无线链路190相同或类似的链路连接到微微站130。
[0047]在办公楼120 (2),企业毫微微蜂窝140向订户站150 (3)和150 (6)提供室内覆盖。企业毫微微蜂窝140可通过利用企业网关103提供的宽带连接160经由ISP网络101连接到核心网络102。
[0048]图2是根据实施方案实施本文公开的系统和方法的另一无线通信网络的框图。图2示出通信网络200中的典型基本部署,包括部署在住宅环境中的宏蜂窝和住宅毫微微蜂窝。宏蜂窝基站110通过回程连接170连接到核心网络102。订户站150 (I)和150 (4)可通过宏基站110连接到网络。在住宅220内,住宅毫微微蜂窝240可向订户站150 (7)和150 (8)提供家中覆盖。住宅毫微微蜂窝240可通过利用缆线调制解调器或DSL调制解调器203提供的宽带连接260经由ISP网络101连接到核心网络102。订户站150 (7)和150 (8)可通过与订户站150 (I)和150 (4)与宏基站110之间的无线链路190类似的链路连接到住宅毫微微蜂窝260。
[0049]有线形式和无线形式的数据网络(例如,IP)均对特定连接或用户具有最小储备容量,且因此需求可能超出容量。这种拥塞效应可能发生在有线网络和无线网络上。
[0050]在拥塞期间,网络设备必须确定允许哪些包在网络上行进,S卩,哪些流量被转发、延迟或丢弃。在简单的例子中,数据包被添加到固定长度的队列,且在容量允许时被发送到网络。在网络拥塞期间,固定长度的队列可填充容量。当队列已充满时到达的数据包通常被丢弃,直到队列被排出足够的数据以允许排队更多数据包。所述先进先出(FIFO)方法具有公平对待所有数据包的缺点,而不管用户、应用或紧急性。这是不期望的响应,因为它忽略了每个数据流可能基于产生流量的应用(例如,语音、视频、电子邮件、互联网浏览等)而具有独特的数据包传送要求。由于包延迟和/或丢弃,所以不同的应用以不同方式降级且降级了不同的严重程度。因此,FIFO方法被认为不能管理流量以最大化通常被称为体验质量(QoE)的终端用户的体验。
[0051]作为响应,已开发出技术来分类数据包并处理具有不同的重要性级的数据流且/或管理区别的服务等级。数据流可以是来自单个用户应用的相关数据包的流,例如,YouTube视频的视频包或视频Skype会话的视频包部分。
[0052]图3是站277的功能框图。在一些实施方案中,站277是无线或有线访问节点,例如,基站、LTE eNB (演进节点B,其也常被称为eNodeB)、UE、终端设备、网络交换机、网络路由器、网关、订户站或其它网络节点(例如,图1和图2中示出的宏基站110、微微站130、企业毫微微蜂窝140、企业网关103、住宅毫微微蜂窝240、电缆调制解调器或DSL调制解调器203,或订户站150)。站277包括通信地耦合到传输接收模块(收发机)279和存储模块283的处理器模块281。传输接收模块279被配置来传输并接收与其它设备的通信。在一个实施方案中,以无线的方式传输和接收所述通信。在这样的实施方案中,站277通常包括用于传输和接收无线电信号的一个或多个天线。在另一实施方案中,通过线缆传输和接收所述通信。在许多实施方案中,除了传输接收模块279之外,站277还经由另一通信信道来传输并接收通信。例如,通过基站中的传输接收模块279接收的通信可在处理之后在回程连接上传输。类似地,从回程连接接收的通信可通过传输接收模块279传输。
[0053]处理器模块281被配置来处理由站277接收并传输的通信。存储模块283被配置来存储数据供处理器模块281使用。在一些实施方案中,存储模块283也被配置来存储用于实现本文关于站277描述的功能的计算机可读指令。在一个实施方案中,存储模块283包括非临时性机器可读介质。为了解释的目的,站277或例如基站、订户站和毫微微蜂窝的它的实施方案被描述为具有某些功能。应理解,在一些实施方案中,这个功能由处理器模块281结合存储模块283和传输接收模块279来实现。
[0054]图4示出了可用于描述通过网络的数据流的示例性协议层1400。网络使用协议层来从一层提供的功能抽象出另一层的功能。这可允许可更便携地将应用用于不同的网络。应用程序1410是软件或实施方案如视频Skype的具体应用的其它过程。在例如图1和2中描述的网络中,数据包流的初始化和随后的终止可由特定网络应用或服务触发。关于终端用户应用或服务的使用的数据包流可被称为会话。会话的实例包括使用来自膝上型计算机的Skype应用的互联网语音协议(VoIP)呼叫,使用在基于Android的移动电话上运行的YouTube应用的流媒体视频回放,或使用在启用IP多媒体子系统(IMS)的长期演进(LTE)移动网络上运行的苹果的iChat应用的双向(2-way)视频通话。会话层1420是存在视频Skype呼叫的实际例子或会话的层。
[0055]网络中许多不同的节点(例如,应用服务器、代理服务器、例如网络交换机或路由器的传输设备、存储设备、例如智能电话、平板计算机,或膝上型计算机的终端用户设备)可发起或参与会话。节点可同时主持一个或多个会话。所述同时会话可彼此独立(例如,同时使用Facebook和电子邮件的用户)或彼此相关(例如,产生两个视频串流会话的浏览会话)。会话可在两个节点之间建立。或者,会话可被视为例如通过使用组播和广播协议的一个节点与许多节点之间的关系。
[0056]会话可用各种准则来表征或分类。一个准则是由用户发起并负责启动会话的具体应用(例如,应用程序或软件1410)。具体应用的实例包括YouTube应用(app)、Chrome互联网浏览器和Skype语音通话程序。另一准则是描述特定会话提供的整体功能的应用类别。示例性应用类别包括流式视频、语音呼叫、互联网浏览、电子邮件和游戏。
[0057]流层1430是存在组成会话的个别数据流的层。会话可包括使用相同或可能不同的下层连接的一个或多个独立数据流。例如,单个VoIP电话呼叫会话可包括两个数据流。一个数据流可使用UDP连接来提供双向语音流量(其可为有效载荷或数据平面包)。例如当使用会话初始化协议(SIP)时,第二数据流可使用一个或多个TCP连接来处理呼叫建立/拆除(其可为信令或控制平面包)。在另一实例中,对于视频Skype通话,可能存在载送SIP信令、开始、停止或控制会话的一个流;使用实时传输(RTP)协议来载送语音包的第二流;和使用RTP协议来载送视频包的第三流。
[0058]连接层1440是通过逻辑链路层1450提供的某个逻辑链路传输流层1430数据的层。连接层1440协议不是特定于应用也不是特定于物理介质。连接可指的是用以传输会话数据和消息的下层协议且可以指的是用以建立(发起)或删除(终止)连接的数据包、消息和交易组。例如,可经由使用IP地址和端口号的组合的互联网协议(IP)网络的两个节点之间的传输控制协议(TCP)来建立面向连接的套接字。一旦被建立,该TCP连接可用以传输数据包,例如,超文本传输协议(HTTP)串流视频会话的数据包。作为TCP连接的替代,可建立数据报套接字来使用用户数据报协议(UDP )传输流量。
[0059]在视频Skype实例中,在连接层1440,SIP信令流1432是通过由源IP地址和目的地IP地址和TCP端口识别的TCP/IP连接来传输的,而语音流1434和视频流1436各自是通过由源IP地址和目的地IP地址和m)P套接字识别的UDP/IP连接来传输的。虽然udp协议被认为是无连接的,但是也使用术语“连接”来描述确保流的数据包从数据源传输到数据宿的UDP机制是很方便的。
[0060]逻辑链路层1450是存在从上述层抽象出实际物理介质和其传输机制的逻辑链路的层。例如,在LTE系统中,视频Skype会话的多个连接(每个连接均载送流)被载送在LTE数据无线电载体(DRB)(例如,通过图1的无线链路190)内。在数据遍历图1的回程链路170期间,DRB可以是从数据包网关到eNodeB的隧道的延续。
[0061]件能要求
[0062]一种在不同数据流之间分配重要性并优化资源分配的方法是通过使用期望的性能要求。例如,性能要求可包括期望的数据包吞吐量,和容忍延迟和抖动。可基于数据或支持应用的类型来分配这样的性能要求。例如,互联网语音协议(VoIP)电话呼叫可被分配有适于通过IP网络基于数据包的传输语音的以下性能要求:吞吐量=32千比特每秒(kbps)、最大延迟=100毫秒(ms),且最大抖动=10ms。相反,载送视频的数据流可能需要实质上更大的吞吐量,但可允许以下稍宽松的延迟和抖动性能:吞吐量=2兆每秒(Mbps)、最大延迟=300ms、最大抖动=60ms。
[0063]位于网络节点处的调度算法可使用这些性能要求来进行数据包转发决定以试图最好地满足每个流的要求。流的性能要求的总和通常被描述为服务的质量或QoS、流的要求。
_4] 优先级
[0065]另一种分配重要性的方法是通过在不同数据流之间使用相对优先级。例如,例如IEEE 802.1p和IETF RFC 2474 Diffserv的标准定义了 IP帧标头内载送所述优先级信息的比特。该信息可被网络节点的调度算法用以进行转发决定,与IEEE 802.1le无线标准的情况相同。数据包或数据流的附加特征也可映射到优先级值,并传递到调度算法。例如,标准802.16e允许将例如IP源/目的地址或TCP/UDP端口号的特征映射到相对流优先级,同时也考虑到例如吞吐量、延迟和抖动的性能要求。
[0066]调度鉬
[0067]在一些系统中,数据流可被分配到由调度方法、成员数据流、调度要求或或其一些组合的一个或多个共同特征定义的离散数量的调度组。
[0068]例如,调度组可由将在成员数据流上使用的调度算法定义(例如,调度组#1可使用比例公平算法(proportional fair algorithm),而调度组#2使用加权循环算法(weighted round-robin algorithm))。
[0069]或者,调度组可于对类似应用(例如,语音、视频或后台数据)的数据流进行分组。例如,Cisco定义了六个组来区别语音、视频、传信、后台和其它数据流。所述应用的区别可与应用到每个调度组的唯一调度算法组合。
[0070]在另一实例中,第三代合作伙伴计划(3GPP)已建立了称为QoS类识别符(QCI)的构造以供长期演进(LTE)标准使用。QCI系统具有由性能要求、调度器优先级和用户应用的组合定义的9个调度组。例如,QCI index=l引用的调度组由以下特征定义:
[0071](I)性能要求:延迟=IOOms、丢包率=10_2、保证比特率
[0072](2)优先级:2
[0073](3)应用:交谈语音
[0074]术语‘服务类别’(或CoS)有时用作调度组的同义词。
[0075]基于权重的调度系统
[0076]在上文描述的系统中,一个或多个数据流可被分配有重要性和期望的性能等级。该信息可用以将数据包从每个数据流分配到调度组和数据队列。调度算法也可使用该信息来确定在有线系统和无线系统中优先处理哪些队列(且因此哪些数据流和数据包)。
[0077]在一些调度算法中,通过使用调度权重将每个队列的重要性和期望的服务等级传达到调度。例如,加权循环(WRR)和加权公平排队(WFQ)调度方法都使用权重来在数据队列之间调整服务。在一些调度算法中,通过使用信用和借记将每个队列的重要性和期望的服务等级传达到调度。例如,按比例公平调度(PFS)方法可使用信用和借记来在数据队列之间调整服务。一些算法使用权重并将它们转为将在调度轮期间提供的数据包或字节数量形式的信用。
[0078]在WRR中,在每个调度轮中服务所有非空队列,其中每个队列提供的数据包的数量与队列的权重成正比。权重可衍生自各种输入,例如购买服务的相对等级(例如,金、银或铜服务)、最小保证比特率(GBR)或最大允许的比特率。在一个实例中,三个队列可具有待处理的数据。队列1、2和3的队列权重分别是1、3和6。如果在每一轮期间将提供20个数据包,那么队列1、2和3将分别被给予20个数据包预算的10%、30%和60%或2、6和12个数据包的信用。本领域技术人员应认识到,也可应用其它权重且权重、信用和率的概念可互换。
[0079]WFQ算法类似于WRR,因为建立并提供了加权数据队列以试图在数据流上提供公平的等级。与WRR相反,WFQ通过查看提供的字节数量而不是数据包的数量来提供队列。WFQ在数据包可被分为若干片或段的系统中运作良好,例如在WiMAX系统中。在三个队列具有待处理的数据且队列1、2和3的队列权重分别是1、3和6的实例中,权重将转为在所述调度轮期间可用带宽的10%、30%和60%的信用。
[0080]PFS算法通常使用例如GBR或最大允许率的率的函数以直接计算每个队列每调度轮接收的信用。例如,如果服务被允许有每秒768千字节的速率,且每秒100调度轮,那么服务的队列将接收信用为每调度器轮7680字节。调度轮期间实际分配到队列的量从队列的积累信用借记而来。信用可一轮一轮地被调整或积累以试图平衡多个队列的性能要求。例如,被分配的资源小于它的最小GBR规格的第一队列可能具有有效地使其权重相对于被分配的容量实质上高于其GBR的第二队列增加的积累信用(通常高达某一允许的上限),从而有效地使第二队列积累负信用或借记。
[0081]图5是根据实施方案示出用以实施上述各种参数化调度技术和下文描述的增强型参数化调度技术的参数化调度模块300的框图。图5示出的参数化调度系统可实施以使用一个或多个调度组。在一个实施方案中,关于图5的特征描述的功能由图3的处理器模块281来实施。
[0082]输入流量305可包括一组异构的个别数据流,每个个别数据流都具有独特的用户、会话、逻辑连接、性能要求、优先级或进入调度系统的策略。分类和排队模块310被配置来评估每个数据包的相对重要性和分配的性能要求并将数据包分配到调度组和数据队列。根据实施方案,分类和排队模块310被配置来使用例如802.1p或Diffserv的上述方法中的一个来评估每个数据包的相对重要性和分配的性能要求。
[0083]根据实施方案,实施参数化调度系统300以使用一个或多个调度组,且每个调度组可具有与所述调度组相关的一个或多个数据队列。根据实施方案,每个调度组可包括不同数量的队列,且每个调度组可使用不同的方法来将数据包分组为队列或其组合。下文提供对输入流量、调度组和数据队列之间的映射的详细描述。
[0084]根据实施方案,分类和排队模块310输出一个或多个数据队列315和分类信息330,分类信息330被接收为调度器参数计算模块335的输入。短语“输出一个或多个数据队列”旨在包括填充数据队列而不需要实际传输或传递队列。根据实施方案,分类信息330可包括分类结果、数据包大小、数据包数量和/或当前队列利用率信息。调度器参数计算模块335被配置来在每个队列基础上计算新的调度器参数(例如,权重和/或每调度器轮信用)。调度器参数计算模块335可被配置来基于各种输入来计算新的参数,所述输入包括分类信息330、可选运营商策略和服务等级协议(SLA)信息350和可选调度反馈信息345 (例如,从调度器模块320接收到的流历史或资源利用率)。然后,调度器参数计算模块335可将调度器参数340输出到一个或多个调度器模块320。
[0085]调度器模块320接收由分类和排队模块310输出的调度器参数340和数据队列315 (或访问所述数据队列)。可用各种方式来实施本文描述的数据队列。例如,它们可能含有实际数据(例如,数据包)或者只是数据(数据包)的指针或识别符。调度器模块320使用更新的调度器参数340来例如使用上述方法(例如PFS、WRR或WFQ)中的一个以确定将数据包(或数据包的片段)从数据队列315转发到输出队列325的顺序。在实施方案中,输出队列325实施为指向数据队列315的指针。输出队列325中的流量被出队且馈送到物理通信层(或‘PHY’),以在无线介质或有线介质上传输。
[0086]图6是示出基于权重的排队系统中异构输入流量与个别队列之间的关系的框图。图6更详细地示出了图5示出的分类和排队模块310的操作。
[0087]异构输入流量305被输入包检查模块410,包检查模块410表征每个数据包以如上所述评估性能要求和优先级。基于所述信息,每个数据包被分配有三个调度组420、425和430中的一个。虽然图6示出的实施方案只包括三个调度组,但是其它实施方案可包括更多或更少数量的调度组。然后,所述数据包可被分配到与调度组中一个相关的数据队列(491、492、493、494或495)。数据包可基于性能要求、优先级、附加用户特定策略/SLA设置、独特的逻辑连接或其一些组合被分配到与调度组相关的具体数据队列。在一个实施方案中,分类和排队模块310分析沿例如从客户端向服务器和从服务器向客户端的两个方向流动的数据包,且使用来自沿一个方向流动的数据包的信息以分类沿另一方向流动的数据包。然后,包检查模块410除了异构输入流量305以外还可接收来自第二方向的输入流量,或者可接收来自表征沿第二方向传递的数据包的另一检查模块的信息。
[0088]在一个实例中,LTE eNB被配置来将每个QCI分配到个别调度组(例如,具有QCI=9的数据包可被分配到一个调度组而具有QCI=S的数据包被分配到不同的调度组)。另外,可基于用户ID、载体ID、SLA或其一些组合将具有QCI=9的数据包分配到个别队列。例如,每个LTE UE可具有默认载体和一个或多个专用载体。在QCI=9的调度组中,来自默认载体的数据包可被分配到一个队列,而来自专用载体的数据包可被分配到不同的队列。
[0089]图7是根据实施方案使用参数化调度技术来排队将通过网络介质发送的数据包的方法的流程图。可使用图5、6、9和10中示出的系统来实施图7示出的方法。根据实施方案,图7示出的方法是根据实施方案使用上文所述的各种参数化调度技术和下文所述的增强型参数化调度技术来实施的。
[0090]方法始于接收将被调度以通过网络介质发送的输入流量(步骤1205)。根据实施方案,网络介质可为有线介质或无线介质。根据实施方案,输入流量是上文描述的输入流量305。输入流量可包括一组异构的个别数据流,每个个别数据流都与用户、会话、逻辑链路、连接、性能要求、优先级或策略相关。根据实施方案,分类和排队模块310可执行步骤1205。根据实施方案,包检查模块410可执行该评估步骤。
[0091]然后,可将输入流量分类(步骤1210)。根据实施方案,分类和排队模块310可执行步骤1210。在该分类步骤中,输入流量被评估以确定每个数据包的相对重要性并确定每个数据包是否都分配了性能要求。例如,在LTE网络中,数据包网关可将数据包分配到具体的逻辑链路或载体。这是通过将相同的隧道ID分配到相同的逻辑链路(逻辑信道)的数据包来指示的。当建立逻辑载体时,隧道ID被映射到LTE调度组(B卩,QCI)。这又暗示了与调度组相关的某些性能要求。隧道ID可被检测且用以确定性能要求和调度组并将数据包分配到队列。类似地,在WiMAX中,服务流ID可用于类似目的。根据实施方案,包检查模块410可执行所述评估步骤。所述信息然后可被分类和排队模块310用以确定数据包应添加哪些调度组。
[0092]输入流量然后可被分离成多个调度组(步骤1215)。分类和排队模块310可使用来自分类步骤的信息来确定应将每个数据包添加到的调度组。根据实施方案,分类和排队模块310的包检查模块410可执行该步骤。根据实施方案,使用例如802.1p或Diffserv的上述方法中的一个来评估每个数据包的相对重要性和分配的性能要求。
[0093]然后,可将包括输入流量的数据包插入与调度组相关的一个或多个数据队列(步骤1220)。根据实施方案,分类和排队模块310的包检查模块410可执行所述步骤。
[0094]然后可计算数据队列中的每一个的调度器参数(步骤1225)。根据实施方案,由调度器参数计算模块335来实施该步骤。基于在步骤1210中创建的分类信息来计算数据队列中的每一个的调度器参数。分类信息330可包括分类结果、连接识别符(例如,源IP地址和目的地IP地址、TCP端口、UDP套接字)、逻辑链路识别符(例如,LTE中的隧道ID或载体ID、WiMAX中的服务流ID或连接ID)、数据包大小、数据包数量和/或当前队列利用率信息。调度器参数的计算也可考虑到其它输入,所述输入包括可选运营商策略和服务等级协议(SLA)信息和可选调度反馈信息。
[0095]一旦已经将数据包添加到队列,数据包可基于与所述队列相关的调度器参数(例如,权重和信用)选自队列中的每一个,且被插入输出队列(步骤1230)。输出队列中的数据包然后可被出队且馈送到物理通信层(或‘PHY’),以在无线介质或有线介质上传输(步骤1235)。根据实施方案,调度器模块320可实施所述方法的步骤1230和1235。
[0096]一些系统中的缺点
[0097]在WRR、WFQ、PFS或其它基于权重或信用的算法中,一些系统将数据包分配到队列并基于优先级、性能要求、调度组或其一些组合来计算调度器参数。在这些方法中有许多缺点。
[0098]例如,考虑到性能要求的调度器的配置通常很复杂,从而要求网络运营商具有相当的知识和技巧,且调度器可能无法充分地实施以将数据流与不同的应用区分。这导致在单个队列或调度组中高重要性数据流和低重要性数据流的不当分组。例如,考虑IEEE802.16网络。如参看图4描述地区别个别流有时是不可能或不实际的,在所述情况下可使用下层信息。例如,可仅使用网络的网关IP地址(即,IP “源地址”)来识别上行链路(UL)数据流(或服务流)。在所述情况下,WiMAX UL调度器策略及参数同等处理路由器“后方”的所有数据流(而不考虑应用或性能要求)。
[0099]基于优先级的权重或信用计算系统有许多潜在的缺点。用以分配优先级的系统可能并未意识到用户应用,且在一些情况下无法正确区分正传输到特定用户或传自具体用户传输的多个数据流。优先级分配是静态的,且无法被调整以考虑变化的网络条件。优先级信息可能会归因于网络设备的错误配置而丢失,或者甚至归因于网络运营商策略而被剥离。可用优先级的数量可能是有限的,例如IEEE 802.1p标准只允许8个等级。另外,当数据包通过通信系统传输时,可能会归因于从一个标准到另一标准的转译差异而产生不匹配。
[0100]图8是根据实施方案示出无线通信系统的框图。在图8示出的系统中,数据源510(例如VoIP电话,流媒体视频服务器、流媒体音乐服务器、文件服务器或P2P应用的其它设备)经由通信链路515连接到互联网520。在互联网520内,存在一个或多个被配置为将流量导向适当数据包目的地的网络路由器525。在该实例中,互联网流量被沿着链路530载送到移动网络535。流量通过网关540传递到链路545上并进入无线电访问网络(RAN) 550。RAN 550的输出通常为链接到用户终端560 (例如,手机)的无线、射频连接555。
[0101]图8示出的实例中可存在两个不同优先级系统之间的差异。例如,VoIP电话通常被配置来使用IEEE 802.1p或IETF RFC 2474(“difTserv”)数据包标记优先化系统来用升高的优先级标记数据包,所述优先级指示某一期望处理的等级。例如,在RFC 2474中,此类优先级落入三种类别中的一个:默认类、确保类和快速类。在后两种类别中,存在关于期望的相关性能要求的子类别。是VoIP电话的数据源510产生的数据包因此将在具有所述优先级标记的通信链路515和530上行进。当数据包到达移动网络网关540时,这些优先级需要被转入在移动网络内建立的优先化系统。例如,在LTE网络中,可执行到QCI的映射。该转译可能会产生问题。例如,可能完全忽略diffserv信息。或者diffserv信息可用以分配不适于进行语音服务的QCI等级。另外,diffserv信息可用以分配细粒度比diffserv等级小的QCI等级,因此向VoIP数据包分配与来自许多其它应用的数据包相同的QCI等级。
[0102]一些系统已致力于组合优先权及性能要求的概念,以便向调度系统提供附加信息。。例如,在802.16中,流(或“服务”)的重要性由优先级值(基于数据包标记,例如802.1p)和性能要求的组合定义。虽然例如802.16的组合系统可向调度器提供一组更丰富的信息,但是上文所描述的缺点仍存在。
[0103]单独使用调度组或结合上述技术使用调度组具有许多关于终端用户QoE的缺点。例如,调度组的可用数量在一些系统中受限制,这可防止必要的细粒度控制来将最佳的QoE传递到每个用户。另外,一些系统通常使用“尽力”调度组来描述具有最低重要性的那些队列。数据流可落入这样的组,因为它们确实不重要,但也因为当需要较高的重要性时,未通过上述方法将所述流正确分类(有意地或无意地)。
[0104]所述问题的实例是出现‘过多’语音和视频服务或应用。所述服务提供使用网络运营商的可见性和/或控制外的服务器和服务的容量。例如运营商提供的语音或视频的来自运营商拥有或认可的来源的数据流可被区别到不同的服务流、载体(逻辑链路),或在到达例如基站的无线访问节点之前的连接。所述区别常映射到调度组和队列中的区别。然而,来自其它来源的服务和所得数据流都可被捆绑在一起到默认、常尽力的逻辑链路或载体。例如,Skype和Netflix分别是两个支持语音和视频的基于互联网的服务或应用。来自所述应用的数据流可由无线运营商(例如Verizon或AT&T)提供的数据服务载送,对于所述无线运营商,所述数据流可显示为非优先化数据而不是被识别为语音或视频。因此,当通过无线网络传输时,所述应用产生的数据包可在‘尽力’的基础上处理,而不给它们超过例如网页浏览、电子邮件或社交网络更新的典型尽力服务的优先级。
[0105]一些系统实施对调度权重或信用的动态调整。例如,为了达到例如保证比特率(GBR)或最大延迟的性能要求,调度权重可向上调整,或者当特定数据流的实际、调度吞吐量降至接近保证最低限度时,可积累它的调度信用。然而,权重或信用的所述调整未考虑到QoE对终端用户的影响。在之前的实例中,增加权重或积累信用来达到GBR限制可导致QoE没有明显改良,但大量降低具有低权重每调度轮信用或积累信用(或借记)的竞争队列的 QoE。
[0106]因此,需要一种系统和方法来改良区别对待来自分组到相同调度组的异构应用的数据包流,如对于“尽力”调度组常见的情况。另外,需要将提供到参数化调度的信息扩展超过优先级和性能要求以通过网络最大化用户QoE。
[0107]增强型分类技术
[0108]如上所述,通信系统可使用分类和排队方法来基于性能要求、优先级和逻辑连接区别数据流。
[0109]为了在一些系统中解决上述缺点,可增强图5的分类和排队模块310以提供增强型分类和排队模块310'(图9和图10)。根据实施方案,在图5示出的参数化调度系统300(其可包括增强型分类和排队模块310')中示出的功能可在单个无线网络节点或有线网络节点中实施,所述单个无线或有线网络节点例如基站、LTE eNB、UE、终端设备、网络交换机、网络路由器、网关或其它网络节点(例如,图1和图2中示出的宏基站110、微微站130、企业毫微微蜂窝140、企业网关103、住宅毫微微蜂窝240和电缆调制解调器或DSL调制解调器203)。在其它实施方案中,图5示出的功能可分布在多个网络节点上。例如,在LTE网络中,增强型数据包检查可在EPC数据包网关或其它核心网关设备中执行,而排队、调度器参数计算模块335和调度器模块320位于eNB基站中。其它功能分区也同样可能。增强型分类和排队模块310'可分析每个数据包的应用类别和/或具体应用并进一步区别由传统分类和排队方法组合在一起的数据包流。关于流或会话的应用类别或具体应用的信息可通过分类信息330传递到调度器参数计算模块335。增强型分类可在传统分类之后执行为如图10示出的单独的步骤,或者可并入如图9示出的传统分类步骤,从而提供更详细的分类供在调度组内使用。
[0110]除非特别说明,否则图9的元件如相对于图6描述地操作。然而,增强型包检查模块410'执行本文描述的增强型数据包检查技术。如图9示出,在一些实施方案中,增强型包检查模块410'产生附加数据队列491'、495'和495"。
[0111]除非特别说明,否则图10的元件如相对于图6描述地操作。除了包检查模块410,还提供增强型包检查模块41(V。在一个实施方案中,增强型包检查模块41(V在已被分类为不同调度组的数据包上操作。虽然示出为分开的模块,但是应理解,包检查模块410和增强型包检查模块410,可实施为单个模块。如图示出,在一些实施方案中,增强型包检查模块410'产生附加数据队列491'、495'和495"。
[0112]根据实施方案,可在增强型分类和排队模块310'的增强型包检查模块410'中实施本文公开的增强型分类步骤。例如,双向视频会议、单向视频流、在线游戏和语音是一些不同应用类别的实例。具体应用指的是用以产生在源和目的地之间行进的数据流的实际软件。一些实例包括:YouTube、Netflix、Skype和iChat。每个应用类别可具有许多具体应用。图11提供的表示出了应用类别被映射到具体应用的一些实例。
[0113]根据实施方案,增强型分类和排队模块310'可检查IP源地址和目的地址以确定数据流的应用类别和具体应用。使用IP源地址和目的地址,增强型分类和排队模块310'可执行反向域名系统(DNS)查找或互联网WHOIS查询以建立域名和/或采购或接收基于互联网的流量的登记的受让人。域名和/或登记的受让人信息然后可用以基于域或受让人的目的先验知识来建立数据流的应用类别和具体应用。应用类别和具体应用信息一旦得出就可存储供重复使用。例如,如果一个以上的用户设备访问Netflix,那么增强型分类和排队模块310'可被配置来缓存所述信息,使得增强型分类和排队模块310'将不需要确定同一用户设备或另一用户设备通过网络对Netflix的后续访问的应用类别和具体应用。
[0114]例如,如果具有特定IP地址的流量产生包括名称‘Youtube’的反向DNS查找或WHOIS查询,那么所述流量流可被认为是使用Youtube服务(具体应用)的单向视频流(应用类别)。根据实施方案,可维持域名或受让人和应用类别和具体应用之间的综合映射。在实施方案中,所述映射被定期更新以保证映射保持最新。
[0115]根据另一实施方案,增强型分类和排队模块310'被配置来检查与各种通信协议相关的数据包的标头、有效载荷字段或两者,并将其中含有的值映射到应用类别或具体应用。例如,根据实施方案,增强型分类和排队模块310'被配置来检查含有在HTTP标头中的Host字段。Host字段通常含有域或受让人信息,如以上实施方案中所描述,所述域或受让人信息用以将所述流映射到特定应用类别或具体应用。例如,HTTP标头字段“vll.1scache4.c.youtube, com”可由分类器检查并映射到应用类别=视频流、具体应用=Youtube0
[0116]根据另一实施方案,增强型分类和排队模块310'被配置来检查超文本传输协议(HTTP)数据包内的‘内容类型’字段。基于多用途互联网邮件扩展(MME)格式中指定为由互联网工程任务组(IETF)定义的定义,内容类型字段包括有关有效载荷的类型的信息。例如,以下MIME格式将指示单播或广播视频数据包流:视频/mp4、视频/quicktime、视频/x-ms-wm。在实施方案中,增强型分类和排队模块310/被配置来将HTTP包映射到视频流应用类别(如果增强型分类和排队模块310'检测到HTTP包内的这些MME类型中的任何类型)。
[0117]在另一实施方案中,增强型分类和排队模块310'被配置来检查先于数据流发送的协议。例如,增强型分类和排队模块310'可被配置来基于用以设置或建立数据流的协议来识别应用类别或具体应用,而并非使用用以传输数据流的协议来识别这个信息。也就是说,增强型分类和排队模块310'可通过分析控制数据包流而不是与连接层1440相关的信息来识别应用类别或具体应用。根据实施方案,先于数据流发送的协议用以识别关于应用类别、具体应用和特征的信息,所述应用类型、具体应用及特征允许启动后立即能够识别传输数据量的连接。
[0118]例如,在实施方案中,增强型分类和排队模块310'被配置来检查可用以建立多媒体流会话的实时流协议(RTSP)包。RTSP包被囊封于TCP/IP帧内且载送于IP网络上,如图12中的基于以太网系统示出。
[0119]RTSP (H.Schulzrinne 等人所著的 IETF RFC 2326, Real Time StreamingProtocol (RTSP))建立并控制多媒体流会话,其中客户端与服务器交换消息。从客户端发送到服务器的RTSP消息是请求消息。请求消息的第一行是请求线。请求线是由以下3个元素形成:(I)方法;(2) Request-URI ;和(3) RTSP-Version (RTSP-版本)。
[0120]RTSP 定义了包括 OPTIONS、DESCRIBE、ANNOUNCE、SETUP、PLAY、PAUSE、TEARD0WN、GET_PARAMETER、SET_PARAMETER、REDIRECT 和 RECORD 的方法。下文是使用方法 DESCRIBE的客户端(“C”)与服务器(“S”)之间的消息交换的实例。来自服务器的响应消息具有消息主体,其与具有空白线的响应消息标头相分离。
[0121]
【权利要求】
1.一种用于在无线通信系统中调度数据包的传输的基于权重的调度系统,所述系统包括: 分类和排队模块,其被被配置来接收包括来自多个异构数据流的数据的输入流量,所述分类和排队模块被配置来分析每个数据包并基于所述数据包的属性将所述数据包分配到调度组并基于所述数据包的应用类别或具体应用将所述数据包分配到所述调度组的数据队列,所述分类和排队模块还被配置来输出一个或多个数据队列和与所述一个或多个数据队列中的每一个中的所述数据包相关的分类信息; 权重计算模块,其被配置来接收来自所述分类和排队模块的所述分类信息并计算所述一个或多个数据队列中的每一个的权重并输出所述计算的权重;和 调度器模块,其被配置来以考虑到所述计算的权重的顺序从所述一个或多个数据队列选择数据包并将所述选定的数据包插入输出队列来通过物理通信层传输。
2.如权利要求1所述的系统,其中所述权重计算模块还被配置来接收运营商策略和服务等级协议(SLA)信息并使所述计算的权重至少部分基于所述运营商策略和SLA信息。
3.如权利要求1所述的系统,其中所述权重计算模块还被配置来接收来自所述权重计算模块的调度器反馈信息,且其中所述权重计算模块还被配置来使所述计算的权重至少部分基于所述调度器反馈信息。
4.如权利要求1所述的系统,其中所述分类和排队模块被配置来检查所述数据包的互联网协议(IP)源地址和目的地址中的至少一个,以便确定与所述数据包相关的应用类别或具体应用。
5.如权利要求4所述的系统,其中所述分类和排队模块被配置来查询网络域信息源来收集关于所述IP源地址和IP目的地址中的所述至少一个的信息。
6.如权利要求5所述的系统,其中所述分类和排队模块被配置来执行反向域名系统(DNS)查找来收集关于所述IP源地址和IP目的地址中的所述至少一个的信息。
7.如权利要求5所述的系统,其中所述分类和排队模块被配置来执行WHOIS查询来收集关于所述IP源地址和IP目的地址中的所述至少一个的信息。
8.如权利要求4所述的系统,其中所述分类和排队模块被配置来缓存关于所述IP源地址和IP目的地址中的所述至少一个的所述收集的信息并使用所述缓存的信息来识别与所述IP源地址和IP目的地址中的所述至少一个相关的所述应用类别或所述具体应用。
9.如权利要求8所述的系统,其中所述分类和排队模块被配置来维持IP源地址和目的地址映射到应用类别和/或具体应用的相关性。
10.如权利要求9所述的系统,其中所述分类和排队模块被配置来检查数据包的标头和有效载荷字段中的至少一个来识别与所述数据包相关的IP源地址和目的地址,并将所述IP源地址和目的地址映射到与所述数据包相关的应用类别或具体应用。
11.如权利要求9所述的系统,其中所述分类和排队模块被配置来检查与每个数据包相关的内容类型字段来识别所述数据包的有效载荷的类型,并将有效载荷的所述类型映射到与所述数据包相关的应用类别或具体应用。
12.如权利要求11所述的系统,其中每个数据包根据所述HTTP、MIME,RTP或RTSP标准来配置。
13.如权利要求1所述的系统,其中所述分类和排队模块被配置来检查在数据流前面发送的协议并基于所述协议使应用类别和具体应用与所述数据流相关。
14.如权利要求1所述的系统,其中所述分类信息包括所述一个或多个数据队列中数据包的所述应用类别或具体应用。
15.如权利要求1所述的系统,其中所述权重计算模块还被配置来获得默认运营商策略和服务等级协议(SLA)信息并使所述计算的权重至少部分基于所述运营商策略和SLA信肩、O
16.一种用于在通信网络中优先化并调度数据包的方法,所述方法包括: 接收多个数据包; 对所述多个数据包进行分类; 考虑到所述分类,将所述多个数据包分离成多个调度组; 考虑到应用类型或具体应用,将所述多个调度组中的至少一个内的所述多个数据包分离成多个队列; 确定权重以与所述调度组中的至少一个内的所述队列中的每一个相关联,所述权重至少部分由与所述数据包相关的应用类型来确定;和 基于与所述队列相关的所述权重来从所述多个队列选择数据包; 基于与所述队列中的每一个相关的所述权重来将所述选定的数据包插入输出数据队列;和 通过物理通信层传输所述多个数据包以通过网络通信介质传输。
17.如权利要求16所述的方法,其还包括: 使应用因子与多个用户应用中的每一个相关,其中每个应用因子包括与网络应用相关的值,所述网络应用用以指示所述用户应用中的每一个的相对重要性,每个用户应用的所述相对重要性用以确定将与关于所述用户应用的数据包相关的相对权重。
18.如权利要求17所述的方法,其中可动态调整与所述用户应用中的至少一个相关的所述应用因子。
19.如权利要求18所述的方法,其中经常性地动态调整与所述用户应用中的所述至少一个相关的所述应用因子。
20.如权利要求18所述的方法,其中响应于一次性网络事件来动态调整与所述用户应用中的所述至少一个相关的所述应用因子。
21.如权利要求17所述的方法,其中确定权重以与所述数据队列中的每一个相关联还包括计算至少部分基于与所述数据队列中包括的所述数据包相关的所述应用因子的所述数据队列的增强型权重。
22.如权利要求16所述的方法,其中确定权重包括:将与特定数据队列相关的权重从第一级降低到低于所述第一级的第二级达第一时间段。
23.如权利要求22所述的方法,其中响应于检测丢弃的数据包而执行降低所述权重。
24.如权利要求22所述的方法,其中响应于当前或预期拥塞程度而执行降低所述权重。
25.如权利要求22所述的方法,其中所述第一时间段是固定的时间量。
26.如权利要求22所述的方法,其中所述第一时间段对应于降低所述权重和当超出帧丢弃率阈值之间的时间量。
27.如权利要求22所述的方法,其还包括: 在所述第一时间段之后,将所述权重从所述第二级提高到高于所述第一级的第三级达第二时间段;和 在所述第二时间段之后,将所述权重从所述第三级降低到所述第一级。
28.一种用于操作通信设备以调度数据包的传输的方法,所述方法包括: 接收来自通信网络的数据包; 对所述数据包进行分类; 基于所述分类将所述数据包分离成调度组,所述调度组中的每一个与至少一个数据队列相关; 将所述数据包中的每一个插入与所述对应的调度组相关的所述数据队列中的一个; 确定与所述数据包相关的应用; 确定所述数据队列的权重,所述权重至少部分基于与所述对应的数据队列中的所述数据包相关的所述应用; 考虑到所述权重,将所述数据包从所述数据队列调度到输出队列;和 将所述数据包从所述输出队列传输到所述通信网络。
29.如权利要求28所述的方法,其中所述应用包括应用类别和具体应用。
30.如权利要求28所述的方法,其中所述数据包中的一些在数据流中,且其中确定与所述数据流中所述数据包的所述接收的数`据包相关的应用包括:分析在所述数据流中所述数据包之前接收的数据包。
31.如权利要求30所述的方法,其中分析在所述数据流中所述数据包之前接收的数据包包括确定选自由以下组成的群的至少一个特征:统一资源识别符、视频时间范围、视频编解码器类型、视频帧率和视频帧大小。
32.如权利要求28所述的方法,其中根据所述实时协议(RTP)对所述数据包中的一些进行格式化,且其中确定与所述接收的数据包相关的应用包括分析所述数据包中指示RTP包的初始字节的样式。
33.如权利要求32所述的方法,其中确定与具有指示RTP包的初始字节的数据包的所述接收的数据包相关的应用还包括:分析RTP标头中的字段以确定RTP流的类型。
34.如权利要求33所述的方法,其中RTP流的所述类型包括视频流,且其中确定与确定为在RTP视频流中的数据包的所述接收的数据包相关的应用还包括:分析RTP标头中的字段以确定与所述RTP视频流相关的视频编解码器的特征。
35.如权利要求28所述的方法,其中所述数据包中的一些在数据流中,且其中确定与所述数据流中所述数据包的所述接收的数据包相关的应用包括:收集关于所述数据流中的所述数据包的统计数据。
36.如权利要求28所述的方法,其中所述数据包中的一些在数据流中,且其中确定所述数据队列的权重包括:动态调整与所述数据流中所述数据包相关的所述数据队列中的一个的所述权重。
37.如权利要求36所述的方法,其中动态调整与所述数据流中所述数据包相关的所述数据队列中的一个的所述权重包括:基于所述数据流中接收的所述数据包中的数据量进行调整。
38.如权利要求36所述的方法,其中动态调整与所述数据流中所述数据包相关的所述数据队列中的一个的所述权重包括:基于作为类似数据流中的总带宽的百分比的所述数据流的所述带宽进行调整。
39.如权利要求28所述的方法,其中确定所述数据队列的权重包括:考虑到选自由以下组成的群的至少一个应用特征来确定所述权重中的至少一个:视频帧大小、视频帧率、视频数据速率、视频时长和视频编解码器类型。
40.如权利要求28所述的方法,其还包括检测所述通信网络中的拥塞,且其中确定所述数据队列的权重包括:响应于拥塞的检测而动态地降低与高带宽应用相关的所述权重中的至少一个。
41.如权利要求28所述的方法,其中确定所述数据队列的权重包括:考虑到与对应于所述权重中的所述至少一个的数据队列中的一个中的数据包相关的运营商和用户之间的协议,确定所述权重中的至少一个。
42.如权利要求28所述的方法,其中确定所述数据队列的权重包括:考虑到是对应于所述权重中的所述至少一个的数据队列中的一个中的数据包的目的地的客户端设备的特征,确定所述权重中的至少一个。
43.如权利要求28所述的方法,其中所述数据包中的一些与虚拟网络运营商相关,且其中确定所述数据队列的权重包括:考虑到所述对应的数据队列中的数据包是否与所述虚拟网络运营商相关,确定所述权重中的至少一个。
44.如权利要求28所述的方法,其中所述数据队列中的至少一个包括与不同应用相关的数据包,且其中与所述数据队列中的所述至少一个相关的所述权重基于所述不同应用中的一个。
45.一种用于调度数据包的 传输的通信设备,所述通信设备包括: 分类和排队模块,其被配置来接收数据包、分析所述数据包的属性、基于所述属性将所述数据包分配到调度组、输出数据队列中的所述数据包、确定与所述数据包相关的应用,并输出关于所述应用的信息,其中所述调度组中的每一个与所述数据队列中的至少一个相关; 权重计算模块,其被配置来利用来自所述分类和排队模块的所述应用信息来计算并输出指示所述数据队列的相对优先级的权重;和 调度器模块,其被配置来以考虑到来自所述权重计算模块的所述权重的顺序从所述数据队列选择数据包并将所述选定的数据包插入输出队列来通过物理通信层传输。
46.如权利要求45所述的通信设备,其中所述分类和排队模块包括被配置来分析所述数据包的属性并确定与所述数据包相关的应用的包检查模块。
47.如权利要求46所述的通信设备,其中所述包检查模块包括被配置来分析所述数据包以检测所述数据包是否与用以确定与所述数据包相关的应用的实时协议(RTP)流相关的实时协议(RTP)流检测模块。
48.如权利要求48所述的通信设备,其中所述包检查模块还包括被配置来分析与RTP流相关的所述数据包以检测所述数据包是否与用以确定与所述数据包相关的应用的RTP视频流相关的RTP视频流检测模块。
49.如权利要求48所述的通信设备,其中所述RTP视频流检测模块还被配置来收集关于与RTP流相关的数据包的统计数据,所述RTP流用以确定所述数据包是否与RTP视频流相关。
50.一种用于操作通信设备以调度数据包的传输的方法,所述方法包括: 接收来自通信网络的数据包; 确定与所述数据包相关的应用; 将所述数据包中的每一个插入多个数据队列中的一个; 确定所述数据队列的调度器参数,所述调度器参数包括基于与所述对应的数据队列中的所述数据包相关的所述应用的因子; 考虑到所述调度器参数,将所述数据包从所述数据队列调度到输出队列;和 将所述数据包从所述输出队列传输到所述通信网络。
51.如权利要求50所述的方法,其中所述调度器参数还包括基于所述数据队列的特征的附加因子。
52.如权利要求51所述的方法,其中基于所述数据队列的特征的所述附加因子包括基于与所述对应的数据队列中的所述数据包相关的所述应用的所述因子的乘法因子。
53.如权利要求51所述的方法,其中基于所述数据队列的特征的所述附加因子包括基于与所述对应的数据队列中的所述数据包相关的所述应用的所述因子的加法因子。
54.如权利要求51所述的方法,其中所述数据队列的所述特征包括所述数据队列的深度。`
55.如权利要求51所述的方法,其中所述数据队列的所述特征包括所述数据队列的丢弃率。
56.如权利要求51所述的方法,其中所述数据队列的所述特征包括所述数据队列的延迟。
57.如权利要求51所述的方法,其中所述数据队列的所述特征包括所述数据队列的出口率。
58.如权利要求50所述的方法,其还包括确定与所述应用中的一个相关的数据包的比特率,且其中所述调度器参数还包括与所述应用中的所述一个相关的数据队列中的所述一个的出口率,所述出口率相比于与所述应用中的所述一个相关的所述数据包的所述比特率。
59.如权利要求50所述的方法,其中所述调度器参数还包括基于用于传递所述数据包的通信链路的特征的附加因子。
60.如权利要求59所述的方法,其中用于传递所述数据包的所述通信链路的所述特征包括信号质量。
61.如权利要求59所述的方法,其中所述应用中的一个包括视频流,且所述方法还包括传输关于所述通信链路的所述特征的信息,所述通信链路用于将所述数据包传递到第二通信设备以供所述第二通信设备用来选择所述视频流的片段。
62.如权利要求50所述的方法,其中所述调度器参数还包括基于用于传递所述数据包的协议的附加因子。
63.如权利要求50所述的方法,其还包括将关于所述应用的信息传输到第二通信设备以用于调度来自所述第二通信设备的数据包的传输。
64.如权利要求51所述的方法,其还包括将关于所述附加因子的信息传输到第二通信设备以用于调度来自所述第二通信设备的数据包的传输。
65.如权利要求51所述的方法,其还包括检测所述接收的数据包中的流量样式,且其中所述调度器参数还基于所述检测的流量样式。
66.如权利要求65所述的方法,其中确定所述调度器参数以增加从所述输出队列传输到所述通信网络的所述数据包之间的空闲时间。
67.一种用于调度数据包的传输的通信设备,所述通信设备包括: 分类和排队模块,其被配置来接收数据包并输出数据队列中的所述数据包,所述分类和排队模块包括被配置来分析所述数据包的属性、确定与所述数据包相关的应用,并输出关于所述应用的信息的包检查模块; 调度器参数计算模块,其被配置来计算并输出指示所述数据队列的相对优先级的调度器参数,所述调度器参数包括基于来自所述包检查模块的所述应用信息的因子;和 调度器模块,其被配置来以考虑到来自所述调度器参数计算模块的所述调度器参数的顺序从所述数据队列选择数据包并将所述选定的数据包插入输出队列来通过物理通信层传输。
68.如权利要求67所述的通信设备,其中所述调度器参数还包括基于所述数据队列特征的附加因子。
69.如权利要求68所述的通信设备,其中所述数据队列的所述特征包括所述数据队列的深度。
70.如权利要求68所述的通信设备,其中所述数据队列的所述特征包括所述数据队列的丢弃率。
71.如权利要求68所述的通信设备,其中所述数据队列的所述特征包括所述数据队列的延迟。
72.如权利要求68所述的通信设备,其中所述数据队列的所述特征包括所述数据队列的出口率。
73.如权利要求67所述的通信设备,其中所述调度器参数还包括基于所述物理通信层的特征的附加因子。
74.如权利要求67所述的通信设备,其中所述调度器参数还包括基于用于传递所述数据包的协议的附加因子。
75.一种用于操作通信设备以调度数据包的传输的方法,所述方法包括: 接收来自通信网络的数据包; 监控与所述接收到的数据包相关的一个或多个连接以检测所述连接的特征; 将所述数据包中的每一个插入多个数据队列中的一个; 确定所述数据队列的调度器参数,所述调度器参数包括基于与所述对应的数据队列中的所述数据包相关的所述检测的特征的因子; 考虑到所述调度器参数,将所述数据包从所述数据队列调度以进行传输;和 基于所述调度来传输所述数据包。
76.如权利要求75所述的方法,其中监控一个或多个连接包括间歇性地分析所述数据包。
77.如权利要求75所述的方法,其中监控一个或多个连接包括分析所述数据包的比特率。
78.如权利要求75所述的方法,其中监控一个或多个连接包括在用于传递所述数据包的多个协议级上分析所述数据包。
79.如权利要求78所述的方法,其还包括在所述协议级的第一个上分析所述数据包以过滤出将在所述协议级的第二个上分析所述数据包中的哪一个。
80.如权利要求79所述的方法,其中所述检测的特征包括应用。
81.如权利要求79所述的方法,其中过滤所述数据包包括基于传输的方向来过滤。
82.如权利要求79所述的方法,其中过滤所述数据包包括基于互联网协议地址来过滤。
83.如权利要求79所述的方法,其中过滤所述数据包包括基于传输层端口来过滤。
84.如权利要求79所述的方法,其中过滤所述数据包包括基于与所述数据包相关的用户来过滤。
85.如权利要求79所述的方法,其中过滤所述数据包包括基于所述数据包的大小来过滤。
86.如权利要求79所述的方法,其中过滤所述数据包包括基于所述数据包的到达时间来过滤。
87.如权利要求86所述的方法,其中所述到达时间相对于所述对应的连接的其它数据包的到达时间。
88.如权利要求79所述的方法,其中过滤所述数据包包括基于计算资源的可用性来过滤。
89.如权利要求79所述的方法,其中过滤所述数据包包括基于服务类别来过滤。
90.一种通信设备,其包括: 参数化调度模块,其被配置来接收数据包、分析所述接收的数据包以及考虑到调度器参数调度所述接收的数据包以从所述通信设备传输,所述参数化调度模块包括包检查模块,所述包检查模块包括: 流量监控模块,其被配置来确定应进一步检查所述接收的数据包中的哪一个; 连接检测模块,其被配置来检测关于用于传输所述数据包的连接的信息; 流和会话检测模块,其被配置来检测关于与所述数据包相关的流、会话和应用的信息;和 状态模块,其被配置来存储所述检测的信息。
91.如权利要求90所述的通信设备,其中所述流量监控模块还被配置来间歇性地监控所述接收的数据包。
92.如权利要求90所述的通信设备,其中所述流量监控模块还被配置来监控以分析所述数据包的比特率。
93.如权利要求90所述的通信设备,其中所述流量监控模块、所述连接检测模块和所述流和会话检测模块在用以传递所述数据包的多个协议级上操作。
94.如权利要求93所述的通信设备,其中所述流量监控模块还被配置来在所述协议级的第一个上分析所述数据包,以过滤出所述连接检测模块和所述流和会话检测模块将分析所述数据包中的哪一个。
95.如权利要求93所述的通信设备,其中关于应用的所述检测的信息包括应用类别和具体应用。
96.如权利要求93所述的通信设备,其中流量监控模块还被配置来过滤所述数据包,包括基于传输的方向来过滤。
97.如权利要求93所述的通信设备,其中流量监控模块还被配置来过滤所述数据包,包括基于互联网协议地址来过滤。
98.如权利要求93所述的通信设备,其中流量监控模块还被配置来过滤所述数据包,包括基于传输层端口来过滤。
99.如权利要求93所述的通信设备,其中流量监控模块还被配置来过滤所述数据包,包括基于与所述数据包相关的用户来过滤。
100.如权利要求93所述的通信设备,其中流量监控模块还被配置来过滤所述数据包,包括基于所述数据包的大小来过滤。
101.如权利要求93所述的通信设备,其中流量监控模块还被配置来过滤所述数据包,包括基于所述数据包的到达时间来过滤。
102.如权利要求10 1所述的通信设备,其中所述到达时间相对于所述对应的连接的其它数据包的到达时间。
103.如权利要求93所述的通信设备,其中流量监控模块还被配置来过滤所述数据包,包括基于计算资源的可用性来过滤。
104.如权利要求93所述的通信设备,其中流量监控模块还被配置来过滤所述数据包,包括基于服务类别来过滤。
【文档编号】H04L29/06GK103650440SQ201280033901
【公开日】2014年3月19日 申请日期:2012年6月22日 优先权日:2011年6月22日
【发明者】D·吉奥, K·L·斯坦伍德, G·M·奇纳桑比, H·徐, A·厄尔阿拉巴韦, Y·鲍 申请人:赛格纳斯广播公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1