吕 翊,朱 博,吴大鹏
(1.重庆邮电大学 通信与信息工程学院,重庆 400065;2.重庆高校市级光通信与网络重点实验室,重庆 400065;3.泛在感知与互联重庆市重点实验室,重庆 400065)
随着用户对视频业务的需求不断增加,视频业务在未来消耗的网络资源将达到75%。为了保证视频业务的高带宽及良好的时延敏感特性,网络必须拥有更加优秀的承载能力[1-2]。光纤无线(Fiber-Wireless,FiWi)接入网络是一种结合光网络与无线接入方式的新型融合网络,其后端的无源光网络(Passive Optical Network,PON)具有大容量、高带宽的优势,能够保证视频业务的高效传输,而前端无线网状网络(Wireless Mesh Network,WMN)的灵活性可以为用户提供可移动性的连接[3]。
研究表明,采用单路径传输视频数据容易导致网络中出现瓶颈链路,进而产生网络拥塞;同时用户的移动性和无线信道的随机性(例如多径衰落和阴影效应)会导致链路传输能力具有时变特性,使得FiWi接入网络难以提供令用户满意的体验质量[4]。因此,为保证用户的视频传输需求和网络在传输过程中的负载均衡,在视频的多路径传输中普遍应用可扩展视频编码(Scalable Video Coding,SVC)技术[5]。可扩展视频编码技术将视频内容编码成多个层:以低比特率承载最重要信息的基础层和一个或多个增强层,接收的视频层数越多,相应的视频质量越好[6]。FiWi网络两端的结构不同,传输能力也存在较大的差异,后端无源光网络虽然可以为日益增长的带宽需求提供良好的物理条件,但不能进行大范围的铺设;前端无线网状网具有自组织、自愈的特性,能够提供较大的通信范围,有效地弥补了光网络的缺点,但是前端网络的带宽资源有限,容易出现负载不均衡的问题[7]。对于数据量较大的视频业务,前端无线网状网中的单路径传输会增加节点队列长度和传输时延,进而产生不必要的丢包,影响用户体验质量(Quality of Experience,QoE)和网络负载均衡的性能[8]。文献[9]将数据包丢失率、干扰和网关负载结合,形成新的路由度量,提出了一种新的路由和网关选择方案,但未考虑带宽利用率的度量,容易使网络局部负载不均衡。文献[10]提出一种视频传输的延迟响应拥塞控制算法,当往返延迟信号超过阈值时,通过降低发送速率缓解缓冲区的拥塞,避免数据的丢失,但缺乏对多路径负载均衡的考虑。文献[11]在多路径传输中提出一种面向用户体验质量的速率分配方案,通过松弛函数将速率分配问题转化为无约束优化问题,并采用模式搜索方法得到最优解,但视频传输没有对路径进行合理选择。文献[12]利用核心网中云服务器的存储能力和计算能力收集网络的状态,获得视频的多路径传输策略,并联合带宽、延迟和差分延迟的约束处理视频的多路径传输,然而其低延迟仅能满足网络的服务质量(Quality of Service,QoS)需求,而忽略了用户体验质量需求。以上解决方案主要采用了多路径传输机制,一定程度地均衡了网络的负载。但是,上述方案只是单一地考虑网络服务质量或者用户端的体验质量,存在一定的局限性。
笔者在FiWi网络架构下提出了一种负载均衡的视频多路径传输机制(Video Multipath Transmission mechanism with Load Balancing,VMTLB)。首先将网关利用率、链路剩余带宽和链路带宽利用率作为衡量网关和路径可靠性的因素,并利用路径可靠性改进分裂多径路由(Split Multipath Routing,SMR)协议,找出满足条件的路径;其次计算视频在无线侧的延迟和路径差分延迟阈值并作为用户体验的质量约束条件;最后采用多级惩罚函数的粒子群优化算法,在用户体验质量约束内为不同的视频质量层选择合适的路径。
在无线网状网中,多接口网关节点成为业务的交汇点与转发点,随着视频业务的急剧增长,网关节点的拥塞概率增大,进而将导致整个无线网络性能急剧下降。通信网络的快速发展也使得网关存在多样化,其接口数量、容量及处理速度的不一致,使得量化网关的标准存在差异性,因此网关节点的合理选择已成为避免网络性能下降的有效手段之一。传统的网关负载均衡的目的主要是均衡网关接收的数据量,接收数据量的增加会对低容量网关产生较大的影响。笔者将网关利用率UG作为衡量其提供负载能力的指标:
(1)
其中,IG为网关G的接口数量,Lx、dx、mx分别表示网关G的单个接口可用容量、处理速度和最大容量。视频数据接入无线网状网时应该选择高可靠性的网关节点,即选择最大的UG。
1.2.1 瓶颈链路剩余带宽
在无线网状网中,如果链路的剩余带宽很小,表明该链路的负载较大,容易出现链路拥塞和丢包的情况,甚至负载继续增大至一定数值时,链路的吞吐量会下降为零,造成“死锁”现象,以致链路无法工作。为避免出现“死锁”现象,在视频传输前,应考虑传输路径中瓶颈链路的剩余带宽。文中将路径k的瓶颈链路剩余带宽记为ek=min{ek1,ek2,…,ekn},其中ekz表示路径k中第z条链路的剩余带宽。
1.2.2 链路带宽利用率
笔者将链路带宽利用率作为负载均衡的主要影响因素。链路带宽利用率Ukz的计算式为
Ukz=(pkz+dkz)/bkz,
(2)
其中,pkz和dkz表示单位时间内路径k中第z条链路的上行流量和下行流量,bkz表示路径k中链路z的总带宽。
无线网状网具有移动自组织网络和无线局域网的优势,因此无线网状网仍然可以使用基于移动自组织网络的传统路由协议[13]。笔者针对多路径中负载不完全均衡的问题,在移动自组织网络的分裂多径路由协议基础上进行改进,考虑路径带宽利用率以及最小路径带宽因素。针对一条路径中,其链路的带宽利用率可能存在较大差异,网络容易出现局部负载不均衡,对此给定阈值δ,使得路径的链路带宽利用率具有稳定的范围-δ≤max(U)-min(U)≤δ,其中max(U)与min(U)分别表示路径所含链路的最大带宽利用率与最小带宽利用率。如图1所示的5字节报文是笔者设计的带宽利用率路由(Bandwidth Utilization Rate Routing,BURR)报文。图1中,Source-ID为源节点的ID;Path-ID为用于标识链路所属路径的编号;MAX-LBU为用于标识路径目前最大的链路带宽利用率;MIN-LBU为指明路径目前最小的链路带宽利用率;MIN-BW表示当前路径的最小带宽。
图1 带宽利用率路由报文
图2 最大不相交路径选取模型
最大不相交路径选取的步骤如图2所示,具体说明如下:
(1) 计算网关负载的可靠性(见式(1))并选择可靠性最大的网关。
(2) 将选择的网关视为源节点S,源节点S广播路由请求(Route REQuest,RREQ)报文给Ay(y=1,2,3)路由器,路由器接收到请求后分别计算S、Ay的链路带宽利用率以及链路剩余带宽,并设置Path-ID编号。
(3) 接收到请求信息的路由器沿原路径发送BURR报文给S。
(4) 中间节点接收到非副本的RREQ时,它附加其节点ID并重新广播报文(除去已接收RREQ的节点),如Ay将其路由器的ID添加进RREQ报文继续广播至By。
(5) 路由器接收到请求后分别计算AyBy(y=1,2,3)的链路带宽利用率以及链路剩余带宽。
(6) 分别计算AyBy的链路带宽利用率与路径的max(U)、min(U)的差值δdmax、δdmin是否满足阈值δ。若都小于阈值δ,便选择最小max(δdmax,δdmin)所在的链路;若存在差值相等的情况,则选择剩余链路带宽最大的链路(如A1B1,A2B2,A3B3),并将其路由器ID赋予Path-ID字段内,其余链路被标识为失效链路(如A2B1,A3B2);若大于阈值δ,则将AyBy标识为失效链路。
(7) 当链路带宽利用率大于报文字段的MAX-LBU时,将其值赋予MAX-LBU字段;当链路带宽利用率小于报文字段的MIN-LBU时,将其值赋予MIN-LBU字段。
(8) 路由器沿原路径发送BURR报文给S,重复(4),直至找到目的节点D。
在多路径的视频分发策略中,为了避免视频播放过程中发生中断以及等待播放延迟过长的情况,选取用户在无线侧的路径差分延迟阈值和容忍延迟阈值作为用户体验质量约束,并将其作为网络负载均衡的约束条件。
(3)
(4)
多路径传输存在路径差分延迟D,即多条路径中最大延迟与最小延迟的差值。为保证视频传输业务不中断,对路径差分延迟设置阈值Dd。当接收端缓冲区数据量低于播放门限σ时,视频会中断播放并进入重缓冲状态,直到数据缓存到视频播放条件后重新播放。所以阈值Dd主要由用户设备的存储能力和视频播放界限决定:
Dd=T[(C-σ)/An]。
(5)
An表示终端正在播放图片组的数据量,并且必须接收一个完整的图片组才能播放,先到达缓存区的质量层会等待其余质量层到达,假设视频以缓存区最大容量C通过An的速率消耗,当缓存区容量消耗至播放门限σ,而同一图片组的视频层未到达缓冲区时,视频便会出现“卡顿”现象。为满足用户的播放体验,多路径传输需满足路径差分延迟小于阈值Dd,即D≤Dd。
视频传输的基本目标是及时交付视频,避免用户的流失,因此视频传输延迟需满足在用户容忍延迟阈值Tth内。视频传输的端到端延迟包括光纤传输延迟和编解码的缓冲延迟、无线路径延迟。
2.2.1 光纤传输延迟
视频在光纤传输的延迟tfiber可表示为
(6)
其中,Ccloud表示光线路终端与服务器之间链路的剩余传输容量,并假定其传输容量与无源光网络相同。
2.2.2 编解码缓冲延迟
未压缩的视频首先以特定的帧速率进入编码器,压缩后的图片组退出视频编码器,并进入编码器出口缓冲区。相似地,在解码器侧,压缩图片组离开解码器入口缓冲器并进行解码处理。文中将tencode和tdecode作为视频编码器和视频解码器的缓冲延迟,并且缓冲延迟是恒定的,将编码和解码的处理延迟忽略不计,编解码的缓冲延迟tbu可表示为
tbu=tencode+tdecode。
(7)
2.2.3 无线路径延迟
(8)
其中,Nk和Zk分别表示路径k的路由器数量和链路数量。视频在传输过程中受到延迟阈值Tth的限制,由于光纤传输延迟和编解码缓冲延迟是稳定可靠的,因此无线侧传输的延迟阈值twire-th可表示为
twire-th=Tth-tfiber-tbu。
(9)
多路径传输广泛应用于无线网络,以实现负载均衡和拥塞控制,然而能否找到多个可以满足视频流带宽要求的高可靠性路径,并在可用路径之间分发视频流进行多路径传输,是多路径传输面临的主要挑战。笔者利用粒子群优化算法在网络资源有限的情况下为视频流中的质量层选择合适的路径,使得路径间的负载均衡度L最小,以达到最优状态。其目标函数和约束条件可表示为:
(10)
D-Dd≤0,
(11)
twire-twire-th≤0,
(12)
(13)
(14)
其中,Ukz表示路径k中第z条链路的带宽利用率;ηkz表示在路径k中链路z的权重比值,是由路径k所有链路的带宽利用率比值决定的。粒子群算法中用粒子表示可用方案,粒子适应度用该粒子当前位置对应的目标函数值表示,粒子的速度则表示算法的搜索步长,决定算法的最终优化性能。每次迭代过程中,将粒子个体pbl与粒子群gbl的最优解代入下式,进行粒子位置xbl和速度vbl的更新,即
vbl=ωvbl+c1r(pbl-xbl)+c2r(gbl-xbl),
(15)
xjl=xjl+vjl,
(16)
其中,c1和c2为学习因子,主要反映粒子对自身最优值和全局最优值的学习能力;ω为权重系数;r为[0,1]内的随机数。视频流共有Mn个质量层,每个粒子的当前位置Xb=(xb1,xb2,…,xbMn)表示一种路径分配方案,其中xbm表示第m层数据所选路径;Pb=(pb1,pb2,…,pbMn)表示第b个粒子当前搜索的最优位置;G=(g1,g2,…,gMn)表示整个粒子群搜索到的最优位置。文中将路径的负载均衡度作为目标函数,但是目标函数受约束条件限制,直接使用负载均衡度作为适应度函数,会产生许多粒子适应度高但不满足约束条件的情况,因此文中加入约束条件构成惩罚函数f(x)。但是粒子群算法存在以下两个问题:①惩罚值过高时,目标函数容易收敛在局部值,惩罚值过低时难以找到最优解;②目标值与惩罚值的差异较大,难以区分可行解与非可行解。因此,设计了动态变化的多级惩罚函数F(x),多级惩罚函数定义如下:
F(x)=g(i)G(x)。
(17)
为缓解动态变化的多级惩罚函数导致复杂度过高,造成收敛速度较低的现象,需在惩罚函数中选定合适的惩罚因子。若惩罚因子过大,则容易造成算法较早收敛于局部最小值;若惩罚因子过小,则不但造成所解值不是最优目标值,还会使得收敛速度过小。因此,将多级惩罚函数的惩罚因子g(i)设置为i1/2,i表示算法的迭代次数。由于幂函数的内在性质,惩罚因子随着迭代次数增加而增大,使得在最后阶段仍有较好的收敛速度,保证算法的全局搜索能力。G(x)表示约束条件构成的函数:
(18)
p(x)=max{0,f(x)},
(19)
其中,s表示约束函数的数量,γ(p(x))表示单个惩罚函数的级数。当p(x)<1时,惩罚函数的级数为1;当p(x)≥1时,级数为2。
文中将目标函数Lnew和惩罚函数Fnew(x)定义如下:
Lnew=(L-Lmin)/(Lmax-Lmin),
(20)
Fnew(x)=(Fmax(x)-F(x))/Fmax(x),
(21)
其中,Lmax,Lmin表示负载均衡度的最大值和最小值,Fmax(x)表示个体违反约束条件的最大值。Lnew越小,其负载均衡度越好;相似地,Fnew(x)越小,约束满足越高。因此适应度函数可以为
V=Lnew+Fnew(x)。
(22)
视频流分发策略步骤如下:
(1) 基于分裂多径路由改进协议选择符合条件的多条路径。
(2) 初始化,包括种群规模,惯性权重ω,加速因子τ1、τ2,粒子个数Y,粒子维度J,最大迭代次数I。
(3) 根据粒子个数和粒子维度生成初始种群。
(4) 判断迭代次数是否满足条件,如果满足条件则开始计算粒子适应度函数(见式(22)),更新粒子序列,计算种群个体极值与全局极值(P,G),更新粒子速度和位置以及粒子适应度(见式(15)、(16)、(22))。
(5) 如果经过i次迭代后粒子的全局适应度Vb(Gm)变化幅度小于设置的阈值ψ,则适应度函数达到最优值,迭代结束,否则重复步骤(4)。
采用NS2仿真平台对文中所提机制进行验证,选取文献[15]提出的吞吐能力感知负载分发(Goodput-Aware Load Distribution,GALTON)、文献[16]提出的增强延迟控制负载分发(Enhanced-Delay Controlled Load Distribution,E-DCLD)和文献[17]提出的延迟-能量-质量感知多路径(Delay-Energy-Quality Aware Multipath,DEQAM)算法作为对比算法。网络拓扑包括1个光线路终端,4个光网络单元-基站,4个网关,64个路由器。在粒子群算法中,设置种群规模为20,迭代次数为40,惯性权重ω为0.8,加速因子τ1、τ2为2。
为避免视频传输延迟过长以及视频播放发生中断所造成用户放弃播放视频的现象,将传输延迟和差分延迟作为用户满意度的影响参数。在用户观看视频时,相比传输延迟,中断会给用户带来更大的影响,因此将用户满意度设置为η=ρ1[1-(Twire/Twire-th)]+ρ2[1-(D/Dd)],并设ρ1=0.4,ρ2=0.6。图3反映了用户满意度与网络负载的关系:网络负载较小时,用户传输延迟和路径差分延迟较低,用户满意度较为平稳;当负载达到20 Mb/s时,排队将超出阈值,造成数据重传,传输延迟与差分延迟迅速增大,用户满意度下降较快;网络负载增至35 Mb/s时,由于数据丢失,网关将调整各路径的发送速率,缓解差分延迟过度增加的现象,用户满意度下降幅度逐渐减小。笔者提出的VMTLB算法充分考虑无线侧的延迟和路径差分延迟,从而可以更加合理地分配带宽资源,减少传输延迟与差分延迟,提升视频传输的有效性。而另外3种算法在多路径选取模型中,忽略了差分延迟过大将导致缓冲区数据帧丢失的情况,其差分延迟将随着网络负载增大而快速增加,最终使得用户满意度的下降幅度高于所提算法。仿真结果表明,相比另外3种算法,笔者提出的算法提高了约6.2%的用户满意度。
图4反映了视频播放中断概率与网络负载之间的关系。网络负载较低时,路径剩余带宽较大,中断概率随负载增加呈上升趋势,4种算法的中断概率相差不大。当网络负载达到20 Mb/s时,随着网络负载的继续增大,剩余带宽紧缺,导致排队延迟增加,路径间的差分延迟变大,从而使中断概率上升幅度较大。VMTLB算法上升幅度和整体中断概率均低于3种对比算法,因为该算法在选择路径组合时,充分考虑了用户设备缓存区的差分延迟阈值,从而避免了缓存区上溢,有效降低了视频播放的中断概率。
在多路径传输过程中,可用路径数量直接影响视频的传输与接收性能。图5反映了不同路径数量下的端到端延迟,针对固定的视频数据,可用路径数量的增加,能够有效缓解在视频传输过程中因缓冲区排队而使延迟增加的现象。路径越多,可用带宽越充足,排队引起的延迟受路径数量的影响越小,因此延迟下降梯度逐渐减小。VMTLB算法的延迟略高于其余对比算法,但其延迟仍在用户可接受范围内。延迟略高的原因主要在于该算法是在用户容忍的无线侧延迟和差分延迟内,在满足路径间负载均衡差异最小的前提下对视频分发传输,充分考虑到了网络的负载均衡和用户的体验质量。
路径间的负载差异度设置为Ld=[(L/K)-min(B)]/min(B),图6描述了路径负载差异度与可用路径数量的关系,当路径数量为1时,不存在路径负载差异;路径数量增至两条时,增加的路径可以显著分担数据传输任务,但由于两条路径的可用容量不一致,差异度变化明显。随着可用路径数量的不断增加,每条路径实际传输的数据量不断减小,各路径之间的负载差异度逐渐减少,并趋于平稳状态,但由于路径带宽利用率和路径可用带宽的差异,差异度趋于一个固定的非零值。VMTLB算法的路径负载差异度优于其他对比算法,主要是该算法的多路径选取模型考虑了单条路径的链路带宽利用率差异较大的问题,设定阈值使得路径的链路带宽利用率具有稳定的范围,避免网络出现局部负载差异过大的现象,并且设定延迟阈值来保证视频数据合理分配给传输路径,有效降低了路径间的负载差异度。
图3 用户满意度对比
图4 中断概率对比
图5 端到端延迟对比
图7显示了平均端到端延迟与业务数量之间的关系。随着业务数量的增加,业务的平均端到端延迟也逐渐增加。业务数量低于4时,延迟增长相对较平缓,原因主要在于当业务数量较低时,路径可用带宽充足,业务量增长对延迟的影响较低,4种算法在业务数量较低时的延迟相差不大。随着业务量的增长,延迟上升趋势愈加明显,但VMTLB算法的延迟逐渐低于其余3种算法,因为在业务数量较大时,该算法能够充分考虑传输路径中各链路的带宽利用率,有效避免了利用率差值较大从而使瓶颈链路排队延迟大幅增加的现象。不仅如此,在无线侧传输中,该算法也考虑了差分延迟及容忍延迟因素,能够选择适应度最优的路径,所以在面对较大业务量时,所提算法的性能更佳。
图8反映了不同算法获得的路径负载差异度与迭代次数之间的关系。由图8可看出,不同算法在初始时刻的收敛速度较高,使得负载差异度迅速下降。但随着迭代次数的增加,对比算法的收敛速度逐渐降低,得到的路径负载差异度也慢慢趋于稳定值;而笔者所提算法收敛速度的下降幅度变化较小,当迭代20次左右便得到稳定的路径负载差异度,其迭代次数低于其他算法的迭代次数;这主要原因是视频分发采用的粒子群优化算法本身具有收敛速度快的性质,并且设置的动态变化惩罚因子避免了多级惩罚函数粒子群优化算法在后期造成收敛速度慢的状况,可以较快地获得最优解。
图6 路径负载差异度对比
图7 平均端到端延迟对比
图8 路径负载差异度对比
为充分利用网络资源,提升网络负载均衡性能,在FiWi网络架构下,笔者提出一种负载均衡的视频多路径传输机制。首先确定路径可靠性能因素,并改进分裂多径路由协议,获得满足条件的路径;其次计算用户在无线侧容忍的延迟和路径差分延迟并作为限制条件;最后采用多级惩罚函数的粒子群优化算法分发视频以提升网络的负载均衡。仿真结果表明,所提机制不仅可以保证用户在容忍延迟内有效接收视频,还能够有效提升网络的负载均衡性能。