基于单次CLR的分层组播机制在虚拟课堂中的应用
来源:用户上传
作者: 沈渊 洪亮 何成芊
摘要:在虚拟课堂目前的开发中,广泛采用了分层组播技术解决多媒体数据的传输问题。分层组播技术是异构网络中传输多媒体实时数据的一个重要解决方案。文章分析了现有分层组播拥塞控制的优缺点,引入单次CLR分层组播机制,合理设置速率下降值和CLR选择条件。该算法简单易行,不会造成过多的网络反馈负担,能够保证虚拟课堂分层组播网络的稳定性。
关键词:分层组播;单次CLR;异构网络;虚拟课堂
中图分类号:TP393
文献标志码:A
文章编号:1006-8228(2011)12-48-02
0 引言
网络技术的应用和快速发展已经使人们可以通过网络进行随时随地的学习。虚拟课堂就是在计算机网络和多媒体等技术的支持下所构建的一个虚拟的教学环境,它模拟真实的教室,让教学活动顺利自然地在虚拟的环境中实现。
虚拟课堂的网络传输的设计目标是使学习者能够实时、流畅地看到多媒体学习指导信息,允许多个学习者同时自由、方便地加入或者退出虚拟课堂。虚拟课堂的用户是处在异构网络环境下的,这就对信息的数据发送速率选择带来了很大的困难。如果以较低接入速度为标准发送组播数据,那么接入速度大的用户就会浪费大量的带宽资源,不能获得理想的接收效果;相反,如果以较高接入速度为标准发送组播数据,接入速度较低的用户就无法实现视频信息的流畅播放。为解决这个问题,虚拟课堂用分层组播的方式来满足异构网络环境下学习者的不同需求。
SMCC是一种半适应性动态分层机制,它介于固定分层和动态分层之间,不对整个组进行大规模的速率调整,而是把调整范围限定在各层之内。这种技术的关键在于各层能够从反馈者中选出代表,根据代表的速率来调节层发送速率。本文在SMCC的基础上,优化CLR(the current limitingreceiver)的动态选择机制,合理分配使用网络带宽,较好地实现了对虚拟课堂网络组播拥塞的响应和控制,并保持了虚拟课堂分层组播的稳定性。
1 分层组播原理与算法
1.1 分层组播原理
组播避免了网络使用的冗余,主要用于点到多点、多点到多点的数据传输。组播是依托IP协议完成的,数据包在数据传递树的分叉处被强制复制,而不是由信源端节点多次重复发送数据拷贝。
分层组播的基本原理是,信源端将数据分为多个层,不同层次的数据使用不同的组播组传输。接收端通过出入不同层次对应的组播组来实现拥塞控制。如果各层编码之间的关系是相互独立的,则称为“联播”方案;如果各层之间的关系是累积式的,则称为“累积式分层组播”方案。因为累积式分层方案中各层之间不包含重复的信息,可以更有效地利用网络带宽资源,所以是目前多种新型分层组播技术的基础。
1.2 分层组播算法
原始的信源端使用一个累积式的分层编码器,它把原始数据流分为可累加的若干层Ci(i=1,2,…n),其中C1为基础层,另有n-1个加强层。基础层能保证信号的最低质量要求,而Ci+1层为己有的C1,C2,……Ci提供增强信号,同时申请若干个组播组地址Zi(i=1,2,…n),发送数据流时,用一个组播组地址配套传输一个数据层,即Ci―Zi(i=1,2,…n)。接受端利用组播的加入机制选择接收适合的数据层。加入不同的组播组可获得不同的接收速率。基础层数据最为重要,从基础层到最高加强层,数据的重要性逐层降低,相应地传输优先级也从低层到高层依次降低。当网络发生拥塞时,优先过滤掉当前分层组播中最低优先级的最高层数据,从而保护高优先级低层重要数据。假定Bi表示从基础层到第i层的总的累积发送速率,Rx表示第x层的发送速率,则接受端获得的接收速率.具体设计时首先要考虑两个重要参数,―个是编码层数n,它决定了―个组播系统所要维护的组播组的个数;另一个是每层的发送速率Rx,它决定了层速率调整的粒度。总的累积发送速率所覆盖的范围由n和Rx共同决定。
2 SMCC的进步和存在的问题
2.1 SMCC的进步
SMCC(Smooth Multirate Mulficast Congestion Control)采用分层的方式组播数据,每层都独立使用单速率组播算法TFMCC来实现拥塞控制,这是一种多个协议相结合的做法。SMCC将TFMCC应用到每层的速率调节中,接收端依据条件反馈期望速率,信源端选择各层中速率最低的接收端充当本层的层代表CLR,并按照层代表的速率重新调整确定本层发送速率。每层的实际发送速率不再是固定不变的,而是适应成员速率的变化,在层内进行重新合理调节。SMCC机制非常简单且易操作执行,它让层内速率最低者成为CLR,信源端根据各层的CLR的反馈信息来调节各层的发送速率,确保完成数据传输。
2.2 SMCC存在的问题
在实际应用中,SMCC的不足往往就源于CLR的上述选择机制,因为CLR往往是随着自身网络环境的变化而不断变化的。假如由于网络状况的变化,充当CLR的期望速率突然下降,其结果必然是带动层速率急剧下降,层内所有高速的接收者的实际接收速率也必然随之急剧下降,这种做法显然有很大的不足。
当某层其他接收端的网络出现了拥塞或者新的接收端加入该层,该层的CLR就有可能被取代。当第i层的某接收端计算所得的速率小于第i层实际发送速率并且大于i-1层最大发送速率时,该接收端就会给发送端反馈信息。发送端得此反馈信息后,经选择机制选择确认新的CLR,并调整发送速率达到新的CLR的速率并与其保持一致。这种算法保证了CLR在本层的最低速率代表,使组播正常工作,但结果是CLR的频繁更涣且不具有代表性,甚至还经常出现被弃CLR反复当选又反复陂弃的情况,最终导致接受速率发生震荡,平滑率下降,反馈包数量增大,容易出现反馈爆炸问题。当某层中CLR要离开组播组时,向发送端发出离开信息,发送端接到该信息后,重新在该层的接收端中选出新的CLR。选择新CLR时,同样会出现重新选择了原先被弃CLR,而被弃CLR往往是本层中接收速率变化较多的接收端,这将给此层传输速率的稳定性带来负面影响。
3 单次CLR的选择机制
3.1 合理设置速率差阈值挂起CLR
在SMCC机制下,在充当CLR的接收端期望速率突然下降时,其结果必然是带动层速率急剧下降,层内高速的接收者的实际接收速率也必然随之急剧下降。为避免这种由于CLR意外急剧下降而造成对全层用户的影响,我们通过对CLR设置速率差下降阈值来控制。若i层CLR与当前层发送速率Ri的速率差超过先前设置的阈值,就会被挂起。i层发送速率将不再随此CLR变化,暂按挂起发生前的发送速率执行。随即按照CLR选择机制选择合适的接收端作为本层CLR,取代当前CLR成为新的CLR。阈值的合理设置至关重要,既要保证及时挂起不合格CLR,又不可过于敏感,造成频繁遴选。
3.2 挂起CLR无权当选新CLR
为防止旧CLR因为速率下降超过阈值被剥夺CLR资格后,在新一轮CLR选择过程中与其他接收端竞争,我们规定旧CLR被剥夺资格后不得参与竞争。如果没有这个限制机制,旧CLR因为速率下降超过阈值而被剥夺CLR资格后又未被退出本层,此时合适的预备新CLR还没来得及把发送速率上拉,旧CLR自然就有可能再次当选。挂起CLR再次当选很有可能引发新一轮的CLR挂起、重选的过程,则其挂起机制没有起到合理地重新选择CLR的功效。如果当某层CLR由于各种原因离开原组加入到其它组接收新结构的层数据,基于同样的原因也设置其放弃CLR的竞争。本文认为挂起让它CLR无权当选新CLR直至虚拟课堂本次组播结束的机制,可较好地保证组播网络的稳定性,非常有必要。
3.3 单次CLR机制在虚拟课堂应用的适应性分析
虚拟课堂的众多接收端有着异构特征,同时又有着其他分层组播网络所不具备的特点。首先,虚拟课堂的组播具有很强的时效性,其组播数据流一般不会持续太长时间。这让单次CLR机制弊端(如持续挂起数量较多)的影响只持续较短的时间,虚拟课堂下一轮组播依然有着广泛CLR选择余地。其次,虚拟课堂的接收端在接收组播数据过程中有着相对较好的设备稳定性。虽然虚拟课堂的用户其网络状态不可避免存在差异且受公共网络的影响带宽会出现跳变,但大多数接收端一般会保持稳定,这使单次CLR机制出现弊端的概率会大幅降低。再次,目前为解决网络时延抖动的问题,在虚拟课堂接收端一般会设置一个缓冲区,对多媒体组播数据进行缓存、同步的处理。接收端多媒体数据接收线程把接收到的数据存放在缓冲区中,接收端视频回放线程周期性地从缓冲区中取出视频数据进行回放。根据缓冲设置情况调整阈值参数设置,可以让单次CLR选择机制在虚拟课堂中的应用更具合理性。
4 结束语
为了尽可能避免由于CLR意外急剧下降而造成对全层用户的影响,本文引入挂起CLR无权当选新CLR的方法,排除了挂起再次当选从而引发新一轮挂起与重选的漏洞,保证了组播网络的稳定性。在各层的CLR确定上我们沿用了本层最低速率当选的规则,算法简单,不会造成过多的网络反馈负担,可以保证虚拟课堂用户的正常学习。这种方法也有着缺陷,比如,当层内高速率成员较多时,多数成员的要求得不到很好的层内满足。这些问题是后面的工作需要完善的地方。我们相信如果引入更合适的分层模型和CLR优选方案,分层组播将会有更好的应用前景,在虚拟课堂中的应用也将更加完善。
转载注明来源:https://www.xzbu.com/8/view-44805.htm