首页> 中国专利> 一种基于业务感知的自适应令牌桶的标记方法

一种基于业务感知的自适应令牌桶的标记方法

摘要

一种基于业务感知的自适应令牌桶的标记方法,先由业务源端对多媒体业务流区分其中包括音频和视频的各种具体业务类型,以及对不同业务类型数据编码后产生的关键帧与非关键帧,并在网络层封装时进行预标记;当业务流到达DiffServ网络入口时,由入口边缘路由器根据预标记结果对不同类型的分组分别执行不同的标记过程:对关键分组,提高将其标记为绿色的概率,以增大其成功传输的概率;对普通分组,基于网络中反馈的丢包概率,在不改变单个业务流丢包率的情况下,使标记为红色的分组根据不同业务的lossProfile需求呈平均分布或集中分布。该方法能够保护关键分组顺利传输,并根据不同业务特性,有选择地标记普通分组,以排列普通分组的丢弃,提高业务的服务质量。

著录项

  • 公开/公告号CN101420461A

    专利类型发明专利

  • 公开/公告日2009-04-29

    原文格式PDF

  • 申请/专利权人 北京邮电大学;

    申请/专利号CN200810239299.0

  • 发明设计人 龚向阳;陈洁瑶;王文东;阙喜戎;

    申请日2008-12-08

  • 分类号H04L29/08(20060101);H04L12/56(20060101);H04L29/06(20060101);

  • 代理机构11018 北京德琦知识产权代理有限公司;

  • 代理人夏宪富

  • 地址 100876 北京市海淀区西土城路10号

  • 入库时间 2023-12-17 21:49:12

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-02-03

    未缴年费专利权终止 IPC(主分类):H04L29/08 授权公告日:20120523 终止日期:20141208 申请日:20081208

    专利权的终止

  • 2012-05-23

    授权

    授权

  • 2009-06-24

    实质审查的生效

    实质审查的生效

  • 2009-04-29

    公开

    公开

说明书

技术领域

本发明涉及一种基于业务感知的自适应令牌桶的标记方法,确切地说,涉及一种用于IP数据网的网络服务质量QoS(Quality of Service)中的区分服务DiffServ(Differentiated Service)模型中的自适应令牌桶的标记方法,属于网络互连通信技术领域。

背景技术

随着网络技术的飞速发展和网络业务的不断丰富,IP网络正在成为承载多种业务、服务于多类用户群体的公共信息传输平台。然而,传统互联网固有的无连接特性和尽力而为的服务原则,使得其无法向用户提供有效的服务质量QoS保障。因此,作为未来网络发展的需求之一,IP网络的QoS保障问题已成为目前急需解决的工程技术实实际问题。

当前,IP网络中QoS的实现主要采用DiffServ体系架构。在RFC 2475中对DiffServ架构作了明确定义,它是一种能够在互联网上实施的可扩展的服务分类的体系结构。在DiffServ架构中,边缘路由器可根据分组的包括时延、抖动或用户提出的其他需求的流量特性对其进行分类,并把有相似QoS需求的分组划分到同一转发等价类中。接着,边缘路由器对完成分类的分组根据其所属业务流的特点(如:承诺的信息传输速率、允许的突发度等)执行标记操作。标记的目的是对同一业务流中的各个分组区分不同的丢弃优先级。标记后的分组通常分为红、黄、绿三类,其中红色分组的丢弃优先级最高,黄色分组次之,绿色分组最低。分类和标记的结果用IP分组头中的区分服务代码点DSCP(Differential Services Code Point)字段进行标识。在转发过程中,每个支持DiffServ的路由器都会根据这个DSCP值把分组映射到称之为逐跳行为PHB(Per-Hop Behavior)的一类转发行为中,并在转发过程中区别对待之。DiffScrv网络的最大特征是将许多复杂的控制转移到网络边界来执行,而使内部的核心路由器只需对叠加以后的汇聚流进行处理,从而大大减少网络内部应该记录的不同状态,简化了网络内部节点的操作。

然而,正是由于DiffServ针对汇聚流执行转发操作的特点,使其对于每个单流,仅能提供粗粒度的QoS保证,因而会产生一些新的问题。例如:各个流之间的公平性问题,每个单流的QoS保证问题等等。

当前,对DiffServ的改进重点大多是在解决各个流之间的公平性问题,例如:传输控制协议TCP流和用户数据报协议UDP流之间的公平性,一个汇聚流内部的各个单流之间的公平性,以及各个汇聚流之间的公平性等等。但是,这样的改进通常只是对一个或若干个业务流产生影响,即在提高了一种业务的传输性能的同时,势必会降低其它业务的传输性能。此外,由于存在着公平性定义不明确的问题,也不一定能保证提高总体业务的QoS性能。

另一方面,出于复杂度的考虑,较之上述公平性方面的改进,目前针对每个单流QoS保证的改进则较为少见。然而,由于最终呈现给用户的业务是分离的单个业务流,因此,如何从用户角度出发,尽可能地提高单流QoS的方法就成为业内许多科技人员考虑和研究的焦点。其中,在多媒体业务领域,南卡罗来纳大学计算机科学系的Krishanu Seal和Suresh Singh通过对用户感知QoS的实验进行调研分析后,得出结论:不同业务流中被丢弃分组的分布,以及被丢弃分组的类型,都会对用户感知到的QoS产生重大影响。

下面,以视频和音频业务为例,进行具体说明:

参见图1,在被丢弃分组的分布方面,用户对于视频业务更倾向于接受分布式(Distributed)的丢弃方式,而对于音频业务更乐于接受突发式(Burst)的丢弃方式;图中,带有斜纹的窄长条形方块表示丢弃的分组,空白的窄长条形方块表示未丢弃的分组。因此,可以对视频业务和音频业务分别采取不同的丢弃方式,来提高用户感知到的QoS,为了能够描述不同的丢包分布方式,他们还建议了一个新的QoS需求参数:lossProfile。

而在被丢弃分组的类型方面,由于传输之前,应用层首先会对需要传输的数据进行压缩编码,这个过程会产生两种基本的帧类型:一种是携带有包括数据重组、同步等信息的关键帧,另一种是只携带普通数据的普通帧。如果在传输过程中丢失的是携带有包括数据重组、同步等信息的关键帧,将会导致大量业务数据无法重组,从而使得业务的QoS大大降低。因此,在多媒体业务的传输过程中,还应注意保护携带有关键帧的分组,使其能够顺利传输而不被丢弃。

为了解决上述需求,南卡罗来纳大学给出的方式是在业务终端主机的传输层上增加一个传输子层。该传输子层的工作是在应用数据产生时,根据网络的拥塞情况,以及应用业务的需求,先对应用数据执行选择性地丢弃后,再将数据递交给传输层执行进一步的封装和传输(参见图2所示)。但是,这种方式的实现必须要为每种应用业务设置一个丢弃函数,增大了实施的难度。此外,该方法在传输层之上执行丢弃操作,不能及时和很快地适应于网络情况的变化,会对业务的最终传输性能产生影响。

而对DiffServ网络处理数据流的过程进行考察后,人们发现边缘路由器对分组执行标记的目的是将同一业务流的各个分组分别划分为不同的丢弃优先级。可以说分组的标记结果直接关系到该分组以后在网络中被丢弃的概率,业务流中各个分组的标记分布也会影响最终业务分组的丢弃分布。因而,可以将上述需求的实施与DiffServ网络架构相联系,通过对现有标记方法的改进,一方面提高将携带关键帧的分组(称为关键分组)标记为绿色的概率,以提高其成功传输的概率;另一方面,对于携带普通帧的分组(称为普通分组),则通过调整这些标记为红色的普通分组在业务流中的分布状况,来影响业务流中最终被丢弃分组的分布。

现在,常见的DiffServ标记方法有两类:基于令牌桶的标记和基于预测速率的标记。其中,基于令牌桶的标记方法因其容易实施、执行效率高的优点,应用更为广泛。在RFC 2697中定义了一种较为常用的单速率三色标记方法srTCM(Single Rate Three Color Marker),其基本的实现方法简要说明如下:

(1)srTCM有三个基本的标记参数:承诺信息速率CIR(CommittedInformation Rate),承诺突发尺寸CBS(Committed Burst Size)和超额突发尺寸EBS(Excess Burst Size)。CIR的单位是Bytes/s,CBS及EBS的单位是Bytes。

(2)srTCM由两个令牌桶C和E组成,其令牌补充速率相同,都为CIR。C桶内存放绿色令牌,其容量为CBS;E桶内存放黄色令牌,其容量为EBS。开始时C桶和E桶中的令牌都是满的,即其令牌数分别为:TC=CBS,TE=EBS。

(3)srTCM的标记过程为:对于每个需要标记的分组,如果分组长度小于C桶中的令牌数TC,则将该分组标记为绿色,同时将C桶中的令牌数TC减去刚刚标记的分组长度;如果分组长度大于C桶中的令牌数TC、但小于E桶中的令牌数TE,则将该分组标记为黄色,同时将E桶中的令牌数TE减去刚刚标记的分组长度;如果分组长度同时大于C桶中的令牌数TC和E桶中的令牌数TE,则将该分组标记为红色。

4)srTCM的令牌补充过程为:每秒对令牌桶更新CIR次,每次更新时,如果TC小于CBS,则TC加1;如果TC大于CBS,再判断TE是否小于EBS,若是,则TE加1;否则,TC,TE都不增加。

经过多年的实施后,人们发现:上述srTCM令牌桶的标记方法还应该继续改进,以便能够更好地对大量业务实现QoS的支持,实现两个或更多协议层之间的优化和控制,以及相互间信息的交换,从而显著地改善网络系统性能。

可以对上述srTCM令牌桶的标记方法,从两个方面进行改进:提高将关键分组标记为绿色的概率和调整标记为红色的普通分组在业务流中分布。其中,在提高将关键分组标记为绿色的概率方面,采用跨层设计的思想较为合适。跨层设计是一种崭新的设计方法,其目的是通过跨层信息的交互来改善网络性能,例如:网络容量、能效和对大量业务的QoS的支持等。跨层设计方法能够实现两个或更多协议层之间的优化和控制,以及相互间信息的交换,从而达到显著地改善网络系统性能的目的。

发明内容

有鉴于此,本发明的目的是在srTCM标记方法的基础上,提供一种基于业务感知的自适应令牌桶标记方法,本发明能够针对应用层中不同多媒体业务流的编码方式,在保护关键分组顺利传输的同时,根据不同的业务特性,有选择地对普通分组进行标记,以对普通分组的丢弃进行排列,提高业务的服务质量。

为了达到上述目的,本发明提供了一种基于业务感知的自适应令牌桶的标记方法,其特征在于:先由业务源端对多媒体业务流区分其中包括音频和视频的各种多媒体业务数据的具体类型,以及对不同类型的多媒体业务进行编码后产生的关键帧与非关键帧,并在网络层封装时进行预标记处理;当业务流到达区分服务DiffServ网络入口时,由入口边缘路由器根据预标记结果对不同类型的分组分别执行不同的标记过程:对关键分组,提高将其标记为绿色的概率,以增大其成功传输的概率;对普通分组,基于网络中反馈的丢包概率,在不改变单个业务流丢包率的情况下,使标记为红色的分组根据不同业务的丢弃分组的突发度lossProfile需求呈平均分布或集中分布。

所述方法包括下列操作步骤:

(1)多媒体业务的源端主机采用跨层的设计方法,对需要传输的多媒体业务流分组进行预标记处理,以便根据预标记的结果能够标明和区分每个分组携带的多媒体业务是视频、音频或其它类型,以及所包含的是应用编码产生的关键帧还是非关键帧;

(2)当多媒体业务流到达区分服务DiffServ网络边缘时,入口边缘路由器先根据预标记的区分服务代码点DSCP值,以多媒体业务流中的各种不同类型的多媒体业务流为单位,将属于不同多媒体业务类型的分组区分出来,以便分别对其执行各自独立的标记过程;再根据预标记的DSCP值,将属于同一种多媒体业务类型的分组区分为关键分组和普通分组;

(3)入口边缘路由器采用改进的srTCM方法,对每种多媒体业务类型中的关键分组和普通分组采用不同的标记方法进行标记,以便提高将关键分组标记为绿色的概率;同时,根据出口边缘路由器反馈回来的业务流丢包率,对标记为红色的普通分组在业务流中的分布状况进行调整;

(4)每隔设定的时间间隔,入口边缘路由器还对每种多媒体业务类型中的令牌桶补充令牌;且该补充令牌操作在多媒体业务流的整个标记过程中是与步骤(2)和(3)同时并行执行的。

所述步骤(1)中,多媒体业务的源端主机执行的预标记过程进一步包括下列操作内容:

(11)对需要传输的多媒体应用数据进行分析,将该多媒体流中包含的包括视频、音频或其它类型的不同应用类型的数据区分出来,再将这些不同应用类型的数据进行压缩编码后产生的关键帧与非关键帧区分出来:每个多媒体流中的数据经过编码后产生的帧分为六类:视频关键帧、视频普通帧、音频关键帧、音频普通帧、其它关键帧和其它普通帧;

(12)在网络层对多媒体应用数据进行封装时,根据所封装的不同类型数据,分别对封装后的分组执行预标记处理;即采用IP分组包头DSCP域中预留给等级选择CS的逐跳行为PHB的标记值,根据分组携带的帧类型对每个分组进行预标记,预标记后的分组分为六类:视频关键分组、视频普通分组、音频关键分组、音频普通分组、其它关键分组、其它普通分组;其中DSCP的前两位标明所封装IP分组的多媒体业务流类型,第三位标明所封装的分组是否为关键帧,其它各位都为0。

所述预标记处理中,DSCP标明所封装分组的多媒体业务流类型的前两位分别为01是视频、10是音频,11是其它多媒体;第三位是1或0时,分别标明所封装的分组为关键帧或非关键帧,后者又称为普通帧;这样,不同的分组类型所对应的DSCP有效位的值设置如下:封装视频关键帧的视频关键分组是011000,封装音频关键帧的音频关键分组是101000,封装其它关键帧的其它关键分组是111000,上述三个分组被称为关键分组;下述三个分组被称为普通分组:封装视频非关键帧的视频普通分组是010000,封装音频非关键帧的音频普通分组是100000,封装其它非关键帧的其它普通分组是110000。

所述步骤(3)中,入口边缘路由器对关键分组进行标记的操作步骤进一步包括下述内容:

(31)在原srTCM方法各有一个C桶和E桶的基础上,将C桶扩展为两个:C1桶和C2桶;其中存放绿色令牌的C2桶和存放黄色令牌的E桶分别对应原方法的C桶和E桶,存放深绿色令牌的C1桶则专用于关键分组的标记;

(32)在服务等级规范SLS中,对每种多媒体业务类型作如下设置:分别设置C1桶和C2桶的承诺突发尺寸CBS1和CBS2的初始值、E桶的超额突发尺寸EBS、业务的承诺信息速率CIR、以及业务中关键分组与所有分组的比值R的初始值,然后根据多媒体业务流的变化,采用下述公式实时计算C1桶和C2桶的承诺突发尺寸:CBS1=f1(CIR,R),CBS2=f2(CIR,R);式中,比值R是根据每种业务流的到达情况进行实时统计获得的;

(33)开始标记时,C1桶、C2桶和E桶中存放的令牌都是满的;

(34)入口边缘路由器先对每个到达的关键分组分别执行深绿色、绿色、黄色和红色的四色标记操作过程,同时也对普通分组进行绿色、黄色和红色的标记操作,并根据出口边缘路由器反馈回来的业务流丢包率,调整标记为红色的普通分组在业务流中的分布状况;此时,为兼容现有的队列管理算法,在标记DSCP值时,将深绿色与绿色都映射到同一DSCP值;即根据RFC 2957建议,深绿色和绿色对应的DSCP值是XXX010,黄色对应的DSCP值是XXX100,红色对应的DSCP值是XXX110。

所述步骤(34)中,入口边缘路由器对每个到达的关键分组执行的标记操作的具体过程如下:

假设到达的关键分组长度为length1,C1桶、C2桶和E桶存有的令牌数分别为TC1、TC2和TE

(3401)先判断到达的关键分组length1是否小于C1桶中存有的令牌数TC1,如果是,则将该分组标记为深绿色,同时将C1桶和C2桶中的令牌数分别减去该关键分组length1长度,即TC1(j+1)=TC1(j)-length1,TC2(j+1)=TC2(j)-length1,下标括号内的j表示标记操作的顺序号;否则,执行后续操作;

(3402)判断该到达的关键分组length1是否小于C2桶中存有的令牌数TC2,如果是,则将该分组标记为绿色,同时将C2桶中的令牌数减去该关键分组length1长度,即TC2(j+1)=TC2(j)-length1;否则,执行后续操作;

(3403)判断该到达的关键分组length1是否小于E桶中存有的令牌数TE,如果是,则将该分组标记为黄色,同时将E桶中的令牌数减去该关键分组length1长度,即TE(j+1)=TE(j)-length;否则,将分组标记为红色。

所述步骤(34)中,入口边缘路由器对每个到达的普通分组执行标记操作时,采用由DiffServ网络的出口边缘路由器向入口边缘路由器反馈的方法,获取业务流在网络中的实时丢包率;该反馈方法是以每个类型的多媒体业务流为单位,采用下述公式计算其平均丢包概率P’:P(j+1)=αP(j)+(1-α)P,式中,P是入口边缘路由器收到的多媒体业务流实时丢包率,下标括号内的j表示标记操作的顺序号,系数α用于对丢包概率P’作平滑处理,避免红包标记分组的分布波动过大,其取值范围是:[0,1],α数值越大,表示P’的值受历史丢包率的影响越大;α越小,表示P’的值受实时丢包率的影响越大;

此时,还引入一个新参数:丢弃分组的突发度L,即lossProfile,用于表示每次连续标记为红色分组的个数,其取值为自然数:对于视频应用,L值为1;对于音频应用,L值为5;并在SLS中设置L的缺省值,用于其它应用类型。

所述步骤(34)中,入口边缘路由器对每个到达的普通分组执行的标记操作的具体过程如下:

假设到达的普通分组长度为length2,C2桶和E桶存有的令牌数分别为TC2和TE,在SLS中设置实际连续标记为绿色和黄色的分组总长为n’,要求连续标记为绿色和黄色的分组总长为n,实际连续标记为红色的分组总长为m’,要求连续标记为红色的分组总长为m;业务流平均分组长度为B,能够透支使用的E桶借贷令牌总数为N,再对上述参数进行初始化设置:n′=m′=0,n=BL(1P-1),m=BL;

(3411)先判断到达的普通分组length2是否小于C2桶中存有的令牌数TC2,如果是,则将该分组标记为绿色,同时将C2桶中的令牌数减去该普通分组length2长度,在实际连续标记为绿色和黄色的分组总长为n’中加上该分组的长度,以及设连续标记为红色分组的总长m’为0,即TC2(j+1)=TC2(j)-length2,n(j+1)=n(j)+length2,m(j+1)=0,式中,下标括号内的j表示标记操作的顺序号;否则,执行后续操作;

(3412)判断该到达的普通分组length2是否小于E桶中存有的令牌数TE,如果是,则再判断该分组是否满足n′<n成立的条件,如果满足条件,则将该分组标记为黄色,同时将E桶中存有的令牌数减去该普通分组length2长度,在实际连续标记为绿色和黄色的分组总长n’加上该分组length2的长度,以及设连续标记为红色分组的总长m’为0,即TE(j+1)=TE(j)-length2,n(j+1)=n(j)+length2,m(j+1)=0;如果不满足该条件,则执行令牌预留操作,即预留E桶中的令牌,并将该分组标记为红色,同时将实际连续标记为红色的分组总长m’加上该分组length2长度,以及设实际连续标记为绿色和黄色的分组总长n’为0,即m(j+1)=m(j)+length2,n′=0;否则,执行后续操作;

(3413)判断该到达的普通分组length2是否大于E桶中存有的令牌数TE,如果是,则再判断实际连续标记为红色的分组总长m’是否满足m′<m和TE-length2>-N成立的条件,如果满足条件,则执行令牌借贷操作,即借贷一部分令牌用于E桶,且总共借贷的令牌数不应超过N;并将该分组标记为黄色,同时将E桶中存有的令牌数减去该普通分组length2长度,在实际连续标记为绿色和黄色的分组总长n’加上该分组length2的长度,以及设连续标记为红色分组的总长m’为0,即TE(j+1)=TE(j)-length2,n(j+1)=n(j)+length2,m(j+1)=0;如果不满足该条件,则将该分组标记为红色,同时将实际连续标记为红色的分组总长m’加上该分组length2长度,以及设实际连续标记为绿色和黄色的分组总长n’为0,即m(j+1)=m(j)+length2,n′=0。

所述令牌预留是指尽管令牌桶中当前存有的令牌足够进行该级别的标记,但为使业务的标记分布与丢弃分组的突发度lossProfile需求一致,先将令牌预留一段时间,当令牌桶中存有的令牌数目达到设定数目后再使用的操作;

所述令牌借贷是指令牌桶中当前存有的令牌数目不够时,为使业务的标记分布与lossProfile需求一致而先透支设定数目的令牌的操作,其中透支的令牌必须在下一次令牌到来之前尽快归还;

所述令牌预留和令牌借贷的操作都只用于黄色分组,即预留和借贷的令牌都位于E桶,以保证各个多媒体业务流之间的公平性和不影响业务的QoS属性。

所述步骤(4)进一步包括下列操作内容;

(41)因C1桶的令牌补充过程与C2桶和E桶的令牌补充过程是分别采用不同的令牌补充速率而同时进行的,故先确定不同令牌桶的令牌补充速率:

假设多媒体业务流中每个类型的多媒体业务流中关键分组的到达速率为R0,承诺信息速率为CIR,则该多媒体业务流的C1桶的令牌补充速率R1为变量R0和CIR的函数:R1=g(R0,CIR),C2桶和E桶的令牌补充速率为R2:R2=CIR;

(42)每隔秒,判断C1桶中的令牌数TC1是否小于其承诺突发尺寸CBS1,如果是,则补充C1桶中的令牌,即TC1(j+1)=TC1(j)+1;否则,不予补充;

(43)每隔秒,判断E桶中的令牌数的超额诺突发尺寸TE是否小于零,如果是,则补充E桶中的令牌,即TE(j+1)=TE(j)+1;否则,再判断C2桶中的令牌数TC2是否小于其承诺突发尺寸CBS2,如果是,则补充C2桶中的令牌,即TC2(j+1)=TC2(j)+1;否则,再判断E桶中的令牌数TE是否小于其超额突发尺寸EBS,如果是,则补充E桶中的令牌,即TE(j+1)=TE(j)+1;否则,不予补充。

本发明是一种基于业务感知的自适应令牌桶的标记方法,该方法从两个方面对现有srTCM令牌桶的标记方法进行了改进:提高将关键分组标记为绿色的概率和调整标记为红色的普通分组在业务流中分布。其中,在提高将关键分组标记为绿色的概率方面,采用崭新的跨层设计的方法,以便通过跨层信息的交互来改善网络性能,例如:网络容量、能效和对大量业务的QoS的支持等。跨层设计方法还能够实现两个或更多协议层之间的优化和控制,以及相互间信息的交换,从而显著地改善网络系统性能。

本发明通过对不同类型的分组执行不同的标记过程,使得关键分组提高了其被标记为绿色的概率,从而增大其成功传输的概率,有利于提高相关多媒体应用在目的端成功重组的概率;对于普通分组能根据网络中反馈的丢包概率,在不改变单个业务流丢包率的前提下,使标记为红色的分组根据不同业务(如:音频、视频等)的lossProfile需求呈平均分布或集中分布。由于分组的标记结果能够直接影响到分组在网络中的丢弃概率,因而,本发明对红色分组在业务流中进行的分布调整可看作是对被丢弃的分组在业务流中分布的调整。

由于本发明方法对标记的改进是在多媒体业务流内部进行的,因此,业务流内部数据包标记的变化不会影响到其它业务流的传输,也不会对其它业务流的性能产生影响。此外,本发明没有限定多媒体业务的具体编码方式,只需要对不同编码方式产生的帧类型进行区分,因而可以适用现有及未来可能出现的不同多媒体应用类型及其编码方式,具有良好的可扩展性及适应性。

附图说明

图1是两种不同多媒体业务类型的IP分组数据包丢弃方式的示意图。

图2是南卡罗来纳大学在业务终端主机的传输层上增加一个传输子层的实施方法示意图。

图3是本发明方法使用的三个令牌桶示意图。

图4是本发明基于业务感知的自适应令牌桶标记方法操作步骤流程图。

图5是本发明方法对关键分组的标记过程示意图。

图6是本发明方法对普通分组的标记过程示意图。

图7是本发明方法中的令牌补充过程示意图。

图8是本发明仿真实施例在DiffServ网络系统中的实施位置示意图。

图9是本发明仿真实施例中场景一采用两种方法对传输后的多媒体业务流得到的psnr0和psnr1值进行比较的示意图。

图10是本发明仿真实施例中场景二采用两种方法对传输后的多媒体业务流0(flow_id=0)得到的psnr0和psnr1值进行比较的示意图。

图11是本发明仿真实施例中场景二采用两种方法对传输后的多媒体业务流1(flow_id=1)得到的psnr1值的示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。

本发明是一种基于业务感知的自适应令牌桶的标记方法:先由业务源端对多媒体业务流区分其中所包含的多媒体业务的具体类型,如视频、音频等,和对不同类型的多媒体业务进行编码后产生的关键帧与非关键帧,并在网络层封装时进行预标记处理;接着,当业务流到达区分服务DiffServ网络入口时,由入口边缘路由器根据预标记结果对不同类型的分组分别执行不同的标记过程:对关键分组,提高将其标记为绿色的概率,以增大其成功传输的概率;对普通分组,基于网络中反馈的丢包概率,在不改变单个业务流丢包率的情况下,使标记为红色的分组根据不同业务的丢弃分组的突发度lossProfile需求呈平均分布或集中分布。

下面参见图3,详细介绍本发明方法的操作步骤:

步骤1、多媒体业务的源端主机采用跨层的设计方法,对需要传输的多媒体业务流分组进行预标记处理,以便根据预标记的结果能够标明和区分每个分组携带的多媒体业务是视频、音频或其它类型,以及所包含的是应用编码产生的关键帧还是非关键帧。

该步骤1中,源端主机执行的预标记过程进一步包括下列操作内容:

(11)对需要传输的多媒体应用数据进行分析,将该多媒体流中包含的包括视频、音频或其它类型的不同应用类型的数据区分出来,再将这些不同应用类型的数据进行压缩编码后产生的关键帧与非关键帧区分出来:每个多媒体流中的数据经过编码后产生的帧分为六类:视频关键帧、视频普通帧、音频关键帧、音频普通帧、其它关键帧和其它普通帧;

(12)在网络层对多媒体应用数据进行封装时,根据所封装的不同类型数据,分别对封装后的分组执行预标记处理;即采用IP分组包头DSCP域中预留给等级选择CS(class selector)的逐跳行为PHB(Per Hop Behavior)的标记值,对每个分组进行预标记;其中DSCP的前两位标明所封装IP分组的多媒体业务流类型(01为视频,10为音频,11为其它),第三位标明所封装的分组是否为关键帧(1为关键帧,0为非关键帧),其它各位都为0。这样,对于不同的分组,DSCP有效位的值分配如下:

步骤2、当多媒体业务流到达区分服务DiffServ网络边缘时,入口边缘路由器先根据预标记的区分服务代码点DSCP值,以多媒体业务流中的各种不同类型的多媒体业务流为单位,将属于不同多媒体业务类型的分组区分出来,以便分别对其执行各自独立的标记过程;再根据预标记的DSCP值,将属于同一种多媒体业务类型的分组区分为关键分组和普通分组;根据该分组所携带的帧类型,预标记后的分组分为六类:视频关键分组、视频普通分组、音频关键分组、音频普通分组、其它关键分组、其它普通分组。

步骤3、入口边缘路由器采用改进的srTCM方法,对每种多媒体业务类型中的关键分组和普通分组采用不同的标记方法进行标记,以便提高将关键分组标记为绿色的概率;同时,根据出口边缘路由器反馈回来的业务流丢包率,对标记为红色的普通分组在业务流中的分布状况进行调整;

该步骤3中,入口边缘路由器对关键分组进行标记的操作包括下述内容:

(31)在原srTCM方法各有一个C桶和E桶的基础上,将C桶扩展为两个:C1桶和C2桶;其中存放绿色令牌的C2桶和存放黄色令牌的E桶分别对应原方法的C桶和E桶,存放深绿色令牌的C1桶则专用于关键分组的标记;

(32)在服务等级规范SLS(Service Level Specification)中,对每种多媒体业务类型作如下设置:分别设置C1桶和C2桶的承诺突发尺寸CBS1和CBS2的初始值、E桶的超额突发尺寸EBS、业务的承诺信息速率CIR、以及业务中关键分组与所有分组的比值R的初始值,然后根据多媒体业务流的变化,采用下述公式实时计算C1桶和C2桶的承诺突发尺寸:CBS1=f1(CIR,R),CBS2=f2(CIR,R);式中,比值R是根据每种业务流的到达情况进行实时统计获得的;

(33)开始标记时,C1桶、C2桶和E桶中存放的令牌都是满的;

(34)入口边缘路由器先对每个到达的关键分组分别执行深绿色、绿色、黄色和红色的四色标记操作过程,同时也对普通分组进行绿色、黄色和红色的标记操作,并根据出口边缘路由器反馈回来的业务流丢包率,调整标记为红色的普通分组在业务流中的分布状况;此时,为兼容现有的队列管理算法,在标记DSCP值时,将深绿色与绿色都映射到同一DSCP值;即根据RFC 2957建议,深绿色和绿色对应的DSCP值是XXX010,黄色对应的DSCP值是XXX100,红色对应的DSCP值是XXX110。

参见图4,介绍该步骤(34)中入口边缘路由器对每个到达的关键分组的标记操作的具体内容如下:

假设到达的关键分组长度为length1,C1桶、C2桶和E桶存有的令牌数分别为TC1、TC2、TE

(3401)先判断到达的关键分组length1是否小于C1桶中存有的令牌数TC1,如果是,则将该分组标记为深绿色,同时将C1桶和C2桶中的令牌数分别减去该关键分组length1长度,即TC1(j+1)=TC1(j)-length1,TC2(j+1)=TC2(j)-length1,下标括号内的j表示标记操作的顺序号;否则,执行后续操作;

(3402)判断该到达的关键分组length1是否小于C2桶中存有的令牌数TC2,如果是,则将该分组标记为绿色,同时将C2桶中的令牌数减去该关键分组length1长度,即TC2(j+1)=TC2(j)-length1;否则,执行后续操作;

(3403)判断该到达的关键分组length1是否小于E桶中存有的令牌数TE,如果是,则将该分组标记为黄色,同时将E桶中的令牌数减去该关键分组length1长度,即TE(j+1)=TE(j)-length;否则,将分组标记为红色。

由上述可知,采用本发明方法后,当关键分组没有明显的突发行为时,基本上能够保证将其标记为绿色,即提高了其在网络中成功传输的机率。

该步骤(34)中,入口边缘路由器对每个到达的普通分组执行标记操作时,要参考业务流在网络中的实时丢包率,即采用由DiffServ网络的出口边缘路由器向入口边缘路由器反馈的方法,获取业务流在网络中的实时丢包率。该反馈方法是以每个类型的多媒体业务流(如:音频流、视频流等)为单位,采用下述公式计算其平均丢包概率P’作为最终标记依据:P(j+1)=αP(j)+(1-α)P,式中,P是入口边缘路由器收到的多媒体业务流实时丢包率,下标括号内的j表示标记操作的顺序号,系数α用于对丢包概率P’作平滑处理,避免红包标记分组的分布波动过大,其取值范围是:[0,1],α数值越大,表示P’的值受历史丢包率的影响越大;α越小,表示P’的值受实时丢包率的影响越大。

此时,还引入一个新参数:丢弃分组的突发度L,即lossProfile用于表示每次连续标记为红色分组的个数,其取值为自然数:对于视频应用,L值为1;对于音频应用,L值为5;并在SLS中设置L的缺省值,用于其它应用类型。

参见图5,介绍该步骤(34)中入口边缘路由器对每个到达的普通分组执行的标记操作的具体内容:

对于每个到达的普通分组,入口边缘路由器执行改进后的三色标记(绿色、黄色、红色)过程。参照RFC 2957的建议,绿色对应DSCP值XXX010,黄色对应DSCP值XXX100,红色对应DSCP值XXX110。

假设到达的普通分组长度为length2,C2桶和E桶存有的令牌数分别为TC2和TE,在SLS中设置实际连续标记为绿色和黄色的分组总长为n’,要求连续标记为绿色和黄色的分组总长为n,实际连续标记为红色的分组总长为m’,要求连续标记为红色的分组总长为m;业务流平均分组长度为B,能够透支使用的E桶借贷令牌总数为N,再对上述参数进行初始化设置:n′=m′=0,n=BL(1P-1),m=BL;

(3411)先判断到达的普通分组length2是否小于C2桶中存有的令牌数TC2,如果是,则将该分组标记为绿色,同时将C2桶中的令牌数减去该普通分组length2长度,在实际连续标记为绿色和黄色的分组总长为n’中加上该分组的长度,以及设连续标记为红色分组的总长m’为0,即TC2(j+1)=TC2(j)-length2,n(j+1)=n(j)+length2,m(j+1)=0,式中,下标括号内的j表示标记操作的顺序号;否则,执行后续操作;

(3412)判断该到达的普通分组length2是否小于E桶中存有的令牌数TE,如果是,则再判断该分组是否满足n′<n成立的条件,如果满足条件,则将该分组标记为黄色,同时将E桶中存有的令牌数减去该普通分组length2长度,在实际连续标记为绿色和黄色的分组总长n’加上该分组length2的长度,以及设连续标记为红色分组的总长m’为0,即TE(j+1)=TE(j)-length2,n(j+1)=n(j)+length2,m(j+1)=0;如果不满足该条件,则执行令牌预留操作,即预留E桶中的令牌,并将该分组标记为红色,同时将实际连续标记为红色的分组总长m’加上该分组length2长度,以及设实际连续标记为绿色和黄色的分组总长n’为0,即m(j+1)=m(j)+length2,n′=0;否则,执行后续操作;

(3413)判断该到达的普通分组length2是否大于E桶中存有的令牌数TE,如果是,则再判断实际连续标记为红色的分组总长m’是否满足m′<m和TE-length2>-N成立的条件,如果满足条件,则执行令牌借贷操作,即借贷一部分令牌用于E桶,且总共借贷的令牌数不应超过N;并将该分组标记为黄色,同时将E桶中存有的令牌数减去该普通分组length2长度,在实际连续标记为绿色和黄色的分组总长n’加上该分组length2的长度,以及设连续标记为红色分组的总长m’为0,即TE(j+1)=TE(j)-length2,n(j+1)=n(j)+length2,m(j+1)=0;如果不满足该条件,则将该分组标记为红色,同时将实际连续标记为红色的分组总长m’加上该分组length2长度,以及设实际连续标记为绿色和黄色的分组总长n’为0,即m(j+1)=m(j)+length2,n′=0。

上述令牌预留是指尽管令牌桶中当前存有的令牌足够进行该级别的标记,但为使业务的标记分布与丢弃分组的突发度lossProfile需求一致,先将令牌预留一段时间,当令牌桶中存有的令牌数目达到设定数目后再使用的操作。

令牌借贷是指令牌桶中当前存有的令牌数目不够时,为使业务的标记分布与lossProfile需求一致而先透支设定数目的令牌的操作,其中透支的令牌必须在下一次令牌到来之前尽快归还。

由于绿色和黄色分组的作用分别是保证业务流的承诺速率(CIR)和保证业务流之间的公平性,为了不影响业务的基本QoS属性,本发明的令牌预留和令牌借贷的操作都只用于黄色分组,即预留和借贷的令牌都位于E桶,以保证各个多媒体业务流之间的公平性。

因此,本发明方法能够在不改变业务流丢包率的基础上,根据多媒体业务的lossProfile需求的不同,调整标记为红色的分组在业务流中的分布,改善业务的QoS。

步骤4、每隔设定的时间间隔,入口边缘路由器还对每种多媒体业务类型中的令牌桶补充令牌;需要说明的是:该补充令牌操作在多媒体业务流的整个标记过程中是与步骤(2)和(3)同时并行执行的。

该步骤4进一步包括下列操作内容;

(41)因C1桶的令牌补充过程与C2桶和E桶的令牌补充过程是分别采用不同的令牌补充速率而同时进行的,故先确定不同令牌桶的令牌补充速率:

假设多媒体业务流中每个类型的多媒体业务流(如:音频流、视频流等)中关键分组的到达速率为R0,承诺信息速率为CIR,则该多媒体业务流的C1桶的令牌补充速率R1为变量R0和CIR的函数:R1=g(R0,CIR),C2桶和E桶的令牌补充速率R2为:R2=CIR;

(42)每隔秒,判断C1桶中的令牌数TC1是否小于其承诺突发尺寸CBS1,如果是,则补充C1桶中的令牌,即TC1(j+1)=TC1(j)+1;否则,不予补充;

(43)每隔秒,判断E桶中的令牌数TE是否小于零,如果是,则补充E桶中的令牌,即TE(j+1)=TE(j)+1;否则,再判断C2桶中的令牌数TC2是否小于其承诺突发尺寸CBS2,如果是,则补充C2桶中的令牌,即TC2(j+1)=TC2(j)+1;否则,再判断E桶中的令牌数TE是否小于其超额突发尺寸EBS,如果是,则补充E桶中的令牌,即TE(j+1)=TE(j)+1;否则,不予补充。

本发明已经进行了仿真实施试验,下面简单介绍之:

仿真试验的平台是NS-2,其网络拓扑架构如图7所示,其中S1、S2、S3是三台多媒体业务的源端主机,设置每段链路容量为10Mb,时延是1ms。

仿真过程说明如下:

(1)修改NS2下的DiffServ模块,在其中添加按照本发明方法进行改进后的标记方法。

(2)将原始多媒体文件example.yuv进行编码后,生成需要传输的数据(应用层),并保存在文件example.dat中。同时,将传输数据中每一帧的相关信息(如:帧类型、帧长度等)都保存在另一个文件example.txt中。

example.txt的部分内容简介如下(如下表所示):其中,第一列为帧的序号,第二列为帧的发送时间,第三列为帧长(单位:bytes),第四列为帧的类型(1表示视频关键帧、2表示视频非关键帧、3表示音频关键帧、4表示音频非关键帧、5表示其它关键帧、6表示其它非关键帧)。

61  1.466667  1009 1

62  1.466667  977 1

63  1.466667  974 1

64  1.466667  250 1

65  1.533333  735 2

66  1.600000  640 2

67  1.666667  1011 2

68  1.666667  577 2

69  1.733333  521 2

70  1.800000  293 2

71  1.866667  1011 2

72  1.866667  387 2

(3)在NS2环境下,将保存在example.dat中的数据依照example.txt中的说明在IP层进行封装,并根据不同的帧类型对分组进行预标记。

(4)将生成的多媒体业务流在NS2中进行传输,传输使用的DiffServ网络拓扑如图7所示,同时,在传输过程中引入背景业务流作为干扰。

在DiffServ网络中,该步骤分别采用原有的srTCM标记方法和经本发明改进后的方法对生成的多媒体业务流进行两次传输,以便观察本发明的改进效果。

(5)业务流传输完成后,在目的端收集传输成功的分组。对于传输过程中采用原有的srTCM标记方法得到的分组,进行解封装后,将应用数据存入文件result0.dat中。对于传输过程中采用本发明方法得到的分组,进行解封装后,将应用数据存入另一文件result1.dat中

(6)分别对result0.dat和result1.dat中的数据进行解码,得到经过传输后的多媒体文件result0.yuv和result1.yuv。

(7)将传输后获得的文件(result0.yuv和result1.yuv)分别与原始文件(example.yuv)进行比较,并计算峰值信噪比PSNR(Peak Signal to Noise Ratio)值,分别记为psnr0和psnr1。其中,PSNR为衡量视频质量的指标,PSNR值越高,表示视频的质量越好。

(8)将psnr0和psnr1进行比较,如果psnr1大于psnr0,则说明本发明方法的改进有效。

仿真的场景一是传输一个多媒体业务流(flow_id=0),此时引入两个背景业务流,具体的业务流信息如下表:

 

flow_idsourcedestinationrate类型0S1D280kbits/s多媒体流1S2D5Mbits/s背景流2S3D5Mbits/s背景流

多媒体业务流(flow_id=0)经传输后,得到的psnr0和psnr1的值比较如图8所示。由该图可见,对于场景一中的多媒体业务流的传输,使用本发明经过改进后的标记方法的总体效果要明显优于现有的srTCM标记方法。

仿真的场景二是传输两个多媒体业务流(flow_id=0,flow_id=1),此时引入一个背景业务流,具体的业务流信息如下表:

 

flow_idsourcedestinationrate类型0S1D280kbits/s多媒体流1S2D280kbits/s多媒体流2S3D9Mbits/s背景流

多媒体业务流0(flow_id=0)经传输后,得到的psnr0和psnr1的值比较如图9所示。由该图可见,对于场景二中的多媒体业务流0的传输,使用本发明经过改进后的标记方法的总体效果要明显优于现有的srTCM标记方法。

对于多媒体业务流1(flow_id=1)的传输,使用现有的srTCM标记方法时,由于丢失过多的关键分组,导致在目的端收到的分组因为缺乏关键帧而无法重组。使用本发明方法,由于保护了关键分组的传输,在目的端可以将收到的分组进行重组,重组后得到的多媒体文件与原始多媒体文件进行比较后计算得到的psnr1的值如图10所示。因此,对于场景二中的多媒体业务流1的传输,使用本发明方法的总体效果要大大优于现有的srTCM标记方法。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号