CN111314022A - 一种基于强化学习和喷泉码的屏幕更新传输方法 - Google Patents
一种基于强化学习和喷泉码的屏幕更新传输方法 Download PDFInfo
- Publication number
- CN111314022A CN111314022A CN202010089703.1A CN202010089703A CN111314022A CN 111314022 A CN111314022 A CN 111314022A CN 202010089703 A CN202010089703 A CN 202010089703A CN 111314022 A CN111314022 A CN 111314022A
- Authority
- CN
- China
- Prior art keywords
- transmission
- packets
- packet loss
- packet
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0079—Formats for control data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/20—Arrangements for detecting or preventing errors in the information received using signal quality detector
- H04L1/203—Details of error rate determination, e.g. BER, FER or WER
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于强化学习和喷泉码的屏幕更新传输方法,采用强化学习算法SARSA控制屏幕更新的发送速率,以指定的传输目标而非固定规则进行发送行为决策,提升了传输方法对不同网络条件的适应能力;采用Gilbert‑Elliot模型对网络丢包行为进行建模,借助系统Raptor码和ARQ机制保证屏幕更新的可靠传输,并通过动态设置编码块大小和冗余包数量减少非必要重传次数,兼顾传输实时性。本发明方法实现了桌面即服务模式下屏幕更新的高效传输,能更好地满足用户对体验质量的要求。
Description
技术领域
本发明涉及云计算领域桌面即服务模式下端到端的可靠传输方法,具体是一种基于强化学习和喷泉码的屏幕更新传输方法。
背景技术
随着云计算和虚拟化技术的不断演进,云服务已渗透至日常生活的各个方面。作为云服务的重要分支,桌面即服务是一种新兴、经济的云服务模式,致力于满足用户远程访问个人桌面的需求。在该服务模式下,用户期望远程虚拟桌面能够保留本地桌面的完整功能并保证良好的使用体验。当用户与远程虚拟桌面交互时,屏幕更新作为用户感知执行结果的视觉载体,其在体验质量中扮演着重要角色。现有研究已从优化屏幕更新的传输形式、压缩方式和缓存策略等方面提升用户体验,但随着网络带宽资源的指数级增长以及骨干网络链路类型的多样化发展,现有的屏幕更新传输方法在传输效率和传输环境适应性方面暴露了诸多问题,制约了用户体验的进一步提升。
与侧重可靠性的文件传输或侧重实时性的多媒体数据传输不同,传输屏幕更新需要兼顾可靠性和及时性才能使执行结果在用户可接受的等待时间内完整呈现。目前,以TCP及其变种为主的端到端传输方法被广泛用于屏幕更新数据的可靠传输。但与早期的低速网络相比,当下高速网络中的丢包率和时延显著增加,而传统TCP在丢包或超时发生后会快速减小发送窗口,降低发送速率,导致带宽资源无法被合理利用;此外,TCP通过重传恢复丢失数据,在网络条件较差时频繁重传会产生高额的时间开销,不利于屏幕更新的及时交付。另一个常用的端到端传输方法UDP被少数桌面即服务解决方案所采用。与TCP相比,UDP提供尽力而为的传输服务,不会因为网络拥塞而对数据发送进行限制但也不保证数据的可靠交付,因此UDP适用于传输对实时性要求较高但对丢失容忍的多媒体数据。然而,UDP在带宽资源占用方面表现出较强的激进性,在实际应用中,UDP常与发送速率控制机制配合使用。
机器智能技术的发展对端到端数据传输方法产生了深远影响。通过指定传输目标和离线训练,Remy实现了传输效率的大幅提升。但Remy的离线训练过程运算量极大且其性能表现十分依赖于离线训练中的网络参数设置和流量模型选择。TCP-Drinc借助带有神经网络的强化学习方法优化TCP,进而获得了相对更高的吞吐率和更低的传输时延。但鉴于网络条件具有时变特征,用于发送速率控制的神经网络必须经过仔细的离线训练以防止模型在网络条件改变后失效。所以,Remy和TCP-Drinc必须通过大量的离线训练换取对不同传输环境的适应性但二者无法完全规避模型失效的风险。PCC Vivace根据传输目标使用在线学习的方式调整发送行为,但其中效能值的计算过程相对复杂且需要大量反馈信息才能完成,在恶劣网络条件下获取可用效能值的时间较长,进而会影响传输效率和用户体验。Q-TCP采用经典的强化学习算法Q-learning建立网络状态与发送行为之间的映射关系。由于Q-learning侧重于实时学习,该方法不需要任何先验知识或离线训练过程即可完成数据传输任务。但当网络带宽充足时,Q-TCP的发送行为过于保守且其并未在传输目标中考虑丢包率这一重要因素。RL-TCP将另一种有效的强化学习方法SARSA引入TCP NewReno,但TCPNewReno本身在丢包发生时会乘性减小发送窗口,使得该方法在高丢包率传输环境中无法达到理想的传输效率。
发明内容
本发明所要解决的技术问题是提供一种基于强化学习和喷泉码的屏幕更新传输方法(本发明方法简称为RLF),以满足桌面即服务模式下屏幕更新的高效传输,提高用户体验质量。
为解决上述技术问题,本发明采用的技术方案是:
一种基于强化学习和喷泉码的屏幕更新传输方法,包括以下步骤:
步骤1:在发送方,待传输的屏幕更新数据被分片并送至基于强化学习的发送速率控制模块;发送速率控制模块采用强化学习算法SARSA与传输环境进行交互,包括迭代网络状态感知、发送行为决策、行为奖励计算三个过程,实时学习不同网络状态对应的最优发送策略;发送速率控制模块根据习得的策略确定封装屏幕更新的源数据包递送至FEC(前向错误纠正)编码器的速率;
步骤2:FEC编码器采用系统Raptor码作为喷泉码的具体实现,将一个源数据包对应于喷泉码中的一个符号存入编码缓冲区;当编码缓冲区中源数据包的数量低于某一阈值时,直接传输源数据包至接收方;当源数据包的数量达到该阈值时,FEC编码器将源数据包组合成一个编码块并启动编码过程,此阈值即为编码块大小;FEC编码器中的块大小调整单元根据屏幕更新的生成速率和发送速率动态调整编码块大小;
步骤3:启动编码过程后,FEC编码器中的FEC冗余自适应单元根据复合丢包率和单向时延开销计算待生成的冗余包数量,其中,复合丢包率由传输丢包率和超时丢包率决定,单向时延开销由单向传播时延和传输时延决定;若由冗余包数量推算出的容忍丢包率不低于复合丢包率且传输编码块和附加冗余包的单向时延开销不超过用户可接受的最长等待时间,则逐一增加冗余包的生成数量;
步骤4:在接收方,采用Gilbert-Elliot模型对网络丢包行为进行建模,估计网络中的平均丢包率和平均突发丢包长度并反馈给发送方;若所有源数据包被正确接收,FEC解码器不启动解码过程并移除冗余包;若源数据包丢失且收到足够多的冗余包,FEC解码器将启动解码过程,通过喷泉码恢复丢失数据;若源数据包丢失但收到的冗余包数量不足,则接收方将失序的源数据包直接提交至传输层缓冲区,以触发重传恢复丢失数据;若接收到重传数据包,则直接将其放入传输层缓冲区;最后,源数据包在应用层完成重组,形成原始屏幕更新。
进一步地,在所述步骤1中,迭代网络状态感知所感知的网络状态由源数据包发送时间间隔的指数加权移动平均值、确认反馈到达时间间隔的指数加权移动平均值、最新往返时延与最小往返时延的比值、拥塞窗口大小和慢启动阈值五部分组成;发送行为对应拥塞避免阶段的拥塞窗口增量,其可选值为-1,0,+1和+2,单位为一个最大数据段长度;奖励由反映屏幕更新传输目标的效能函数确定,效能函数由以下公式表示:
Utility=Cumulative QoE=log(δ*thput)-β1log(last_RTT-RTTmin)+β2log(1-plr) (1)
其中,thput为吞吐率,δ为吞吐率的缩放因子,β1和β2是分别表示时延和丢包率在效能函数中所占权重的常数;last_RTT为最新往返时延的采样值,RTTmin为最小往返时延;plr为丢包率;奖励Reward由最新观测到的两个效能函数值之差ΔU确定:
进一步地,在所述步骤1中,所述强化学习算法SARSA采用以下公式实时学习和调整不同网络状态对应的发送策略:
Q(sn,an)=Q(sn,an)+α[rn+2+γQ(sn+1,an+1)-Q(sn,an)] (3)
其中,Q(sn,an)为时间步长tn开始时在网络状态为sn的条件下执行发送行为an的预期收益,每个时间步长等于一个往返时延;α为学习率;rn+2为时间步长tn+2开始时计算得到的奖励值;γ为折扣因子;sn+1为执行an后观测到的网络状态;an+1为根据sn+1所选择的发送行为。
进一步地,在所述步骤2中,块大小调整单元根据以下公式在屏幕更新传输过程中动态改变编码块大小:
Block Size=min(sz,BSmax,min(cwnd,rwnd)) (4)
其中,sz为确定编码块大小时可获得的源数据包个数,该参数在一定程度上反映了屏幕更新的生成速率;BSmax为编码块大小上限;cwnd和rwnd分别为拥塞窗口和接收窗口,二者中的最小值决定了屏幕更新的发送速率。
进一步地,在所述步骤3中,复合丢包率Pc由以下公式计算:
Pc=Pt+(1-Pt)*Pe (5)
其中,S是反映k′个数据包某种丢失情况的序列,令S={si,1≤i≤k′|si∈(s0,s1)},状态s0表示数据包被接收方正确接收,状态s1表示数据包丢失;L(S)表示序列S中丢失数据包的个数,P(s1)表示数据包被接收或丢失的概率,P(si+1|si)表示相邻的两个数据包被接收或丢失的条件概率;超时丢包率Pe反映了到达接收方的时间超过某一截止时间的数据包百分比,由以下公式估算:
T为截止时间,根据用户可接受的最长等待时间设定;TE为传输k′个数据包所花费的单向时延开销,由以下公式估算:
第一项表示单向传播时延,即最新往返时延采样值的一半;第二项为k′个数据包的传输时延,τ为FEC编码后的数据包长度,B为可用带宽;若Ptol≥Pc且TE≤T同时满足,则逐一增加冗余数据包的生成数量。
进一步地,在所述步骤4中,平均丢包率Pavg和平均突发丢包长度Lavg分别由以下公式计算:
其中,P(s1|s0)表示前一个数据包被接收而当前数据包丢失的条件概率,P(s1|s1)表示相邻的两个数据包均被丢失的条件概率且有P(s1)=Pavg,P(s0)=1-P(s1);最终冗余数据包的生成数量限定在[1,Lavg]之间。
与现有技术相比,本发明的有益效果是:
1)本发明以提升累积体验质量作为屏幕更新的传输目标,使用强化学习方法SARSA实时学习不同网络状态下各发送行为的合理程度,增强传输方法对时变网络条件的适应能力;2)通过合理匹配网络状态、发送行为和所得奖励之间的对应关系强化SARSA在存在延迟反馈的屏幕更新传输环境中的学习效果;3)同时使用喷泉码和ARQ机制保证屏幕更新的可靠传输,并动态调整编码块大小和冗余包生成数量,降低花费在非必要重传和丢失数据恢复上的时间开销以加快屏幕更新的传输速度。
附图说明
图1为本发明方法RLF的系统结构图。
图2为编码块大小设置过小或过大的示例图。
图3为多个用户共享单瓶颈链路的仿真拓扑图。
图4为100Mb/s瓶颈链路带宽、30ms瓶颈链路时延时,不同丢包率条件下四个用户的平均有效吞吐率图。
图5为100Mb/s瓶颈链路带宽、240ms瓶颈链路时延时,不同丢包率条件下四个用户的平均有效吞吐率图。
图6为异构场景下,RLF和TCP Cubic的有效吞吐率公平性图。
图7为时变网络条件下的平均显示质量图。
图8为时变网络条件下,丢包率最大值为0.1%时源数据包端到端时延的累积分布图。
图9为时变网络条件下,丢包率最大值为1%时源数据包端到端时延的累积分布图。
图10为时变网络条件下,丢包率最大值为10%时源数据包端到端时延的累积分布图。
图11为时变网络条件下的源数据包端到端时延抖动图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,本发明方法包括基于强化学习的发送速率控制模块和基于喷泉码的前向错误纠正模块,具体过程如下:
步骤1:在发送方,待传输的屏幕更新数据被分片并送至基于强化学习的发送速率控制模块。该模块保留TCP NewReno的慢启动机制,以便在屏幕更新传输开始或超时后快速利用带宽。当进入拥塞避免阶段,模块启用强化学习方法SARSA实时学习不同网络状态对应的最优发送策略。网络状态由源数据包发送时间间隔的指数加权移动平均值、确认反馈到达时间间隔的指数加权移动平均值、最新往返时延与最小往返时延的比值、拥塞窗口大小和慢启动阈值五部分组成,发送行为对应拥塞避免阶段的拥塞窗口增量,奖励由反映屏幕更新传输目标的效能函数确定。由于SARSA只能处理离散状态,我们在网络仿真器NS3中采集了大量的由前述五部分组成的网络状态并使用K均值算法将其划分为500个离散状态以利用欧氏距离建立新的网络状态和现有网络状态间的映射。
在屏幕更新的传输过程中,用户的体验质量与三种QoS参数紧密相关,即吞吐率、时延和丢包率。以时延为例,当在较低时延水平和较高时延水平处取相等的时延变化量Δd1和Δd2,对应的体验质量变化量分别为ΔQoE1和ΔQoE2,则应有|ΔQoE1|>|ΔQoE2|,因为在体验质量较高时QoS参数变化导致的体验质量下降更容易被感知。RLF采用对数函数刻画这一非线性关系并使用公式(1)作为效能函数,将累积体验质量定义为单个QoS参数对体验质量的影响的线性累加。在与传输环境交互时,网络状态感知、发送行为决策、行为奖励计算三个过程描述如下:每当接收到确认反馈,与网络状态有关的变量均会被更新。在时间步长tn起始,模块根据最新感知到的网络状态sn从行为集合{-1,0,+1,+2}中选择合适的拥塞窗口增量an并保持其在整个tn中不变。通过执行an观测到的效能值对应于在tn+1起始获取的Un+1,因为收集用于计算Un+1的信息的过程持续tn。鉴于奖励由最新观测到的两个效能函数值之差ΔU计算(参见公式(2)),在网络状态sn下执行发送行为an对应的奖励值仅能在时间步长tn+2起始获取到,记作rn+2。于是,RLF采用公式(3)完成实时学习任务并通过合理调整网络状态、发送行为和所得奖励之间的对应关系强化SARSA在存在延迟反馈的屏幕更新传输环境中的学习效果。最后,发送速率控制模块将以合适的速率把源数据包递送至FEC编码器;
步骤2:FEC编码器采用系统Raptor码作为喷泉码的具体实现,以保证编码前后源数据包的内容不变。一个源数据包被视为喷泉码中的一个符号并存储于编码缓冲区,当缓冲区中源数据包的数量低于某一阈值时,直接传输源数据包至接收方;当源数据包的数量达到该阈值时,编码器将源数据包组合成一个编码块并启动编码过程,此阈值即为编码块大小。由于发送速率控制模块会调节源数据包发送至FEC编码器的数量和速率,如图2所示,若编码块大小设置过小(例如为2)而屏幕更新的生成数量较多,则可能导致生成的冗余包数量过多进而降低有效吞吐率;若编码块大小设置过大(例如为7)而屏幕更新的生成数量较少,则可能导致丢失数据仅能通过重传恢复。为解决此问题,编码器中的块大小调整单元综合考虑屏幕更新的生成速率和发送速率两种因素利用公式(4)动态调整编码块大小。
步骤3:启动编码过程后,编码器中的FEC冗余自适应单元根据复合丢包率和单向时延开销计算待生成的冗余包数量。当编码块大小为k,编码后对应的总数据包数为k′,只要接收方收到k′个数据包中的任意k个即可解码恢复出k个源数据包。于是,解码成功的条件是这k′个数据包中最多容忍丢失k′-k个,故容忍丢包率为Ptol=(k′-k)/k′。复合丢包率Pc由传输丢包率Pt和超时丢包率Pe决定,参见计算公式(5)。传输丢包率Pt反映了k′个数据包的所有丢失情况,由公式(6)计算。其中S是反映k′个数据包某种丢失情况的序列,令S={si,1≤i≤k′|si∈(s0,s1)},状态s0表示数据包被接收方正确接收,状态s1表示数据包丢失;L(S)表示序列S中丢失数据包的个数,P(s1)表示数据包被接收或丢失的概率,P(si+1|si)表示相邻的两个数据包被接收或丢失的条件概率;超时丢包率Pe反映了到达接收方的时间超过某一截止时间的数据包百分比,由公式(7)估算。T为截止时间,可根据用户可接受的最长等待时间设定,在RLF中默认设置为0.4s;TE为传输k′个数据包所花费的单向时延开销,由公式(8)估算。第一项表示单向传播时延,即最新往返时延采样值的一半;第二项为k′个数据包的传输时延,τ为FEC编码后的数据包长度,B为可用带宽;若Ptol≥Pc且TE≤T同时满足,则逐一增加冗余数据包的生成数量。
步骤4:在接收方,采用Gilbert-Elliot模型对网络丢包行为进行建模,估计网络中的平均丢包率和平均突发丢包长度并反馈给发送方。平均丢包率Pavg和平均突发丢包长度Lavg分别由公式(9)和公式(10)计算。其中P(s1|s0)表示前一个数据包被接收而当前数据包丢失的条件概率,P(s1|s1)表示相邻的两个数据包均被丢失的条件概率且有P(s1)=Pavg,P(s0)=1-P(s1);最终冗余数据包的生成数量限定在[1,Lavg]之间。若所有源数据包被正确接收,FEC解码器不启动解码过程并移除冗余包;若源数据包丢失且收到足够多的冗余包,FEC解码器将启动解码过程,通过喷泉码恢复丢失数据;若源数据包丢失但收到的冗余包数量不足,则接收方将失序的源数据包直接提交至传输层缓冲区,以触发重传恢复丢失数据;若接收到重传数据包,则直接将其放入传输层缓冲区;最后,源数据包在应用层完成重组,形成原始屏幕更新。
RLF的性能评测在NS3中进行,仿真实验拓扑图如图3所示,共有K个发送方接收方对共享一条位于两个路由器之间的瓶颈链路,瓶颈链路的丢包率、时延和带宽默认设置为1%、60ms和100Mb/s。非瓶颈链路的时延和带宽设置为1ms和1Gb/s。为模拟屏幕更新的流量生成模型,我们从桌面即服务解决方案SPICE中通过播放一个720p的视频片段提取出一个数据包跟踪文件并在NS3中开发了新的应用模块,按照跟踪文件生成源数据包。单次仿真过程持续大约3分钟,性能评测分别在静态和时变网络条件下进行:
1)静态网络条件:瓶颈链路的参数设置不随时间变化,丢包率的考察范围为[0.01%,10%],瓶颈链路时延分别为30ms和240ms,每个路由器的缓冲区大小设置为瓶颈链路的带宽时延积;
2)时变网络条件:瓶颈链路的参数设置在屏幕更新的传输过程中不断变化,具体如表1所示,其中Ploss表示丢包率最大值。每个路由器的缓冲区大小设置为初始的瓶颈链路带宽时延积;
表1 时变网络条件参数设置
时间(s) | 丢包率 | 时延(ms) | 带宽(Mb/s) |
0-30 | P<sub>loss</sub>/6 | 30 | 200 |
30-60 | P<sub>loss</sub>/3 | 45 | 175 |
60-90 | P<sub>loss</sub>/2 | 60 | 150 |
90-120 | 2P<sub>loss</sub>/3 | 90 | 125 |
120-150 | 5P<sub>loss</sub>/6 | 120 | 100 |
150-180 | P<sub>loss</sub> | 180 | 75 |
基于强化学习的发送速率控制模块参数设置情况如下:两个指数加权移动平均值的权重均设置为0.125;δ设置为瓶颈链路带宽的倒数;β1和β2是公式(1)中分别表示时延和丢包率在效能函数中所占权重的常数,分别设置为0.01和0.1;α设置为t为仿真时间;γ设置为0.5。
图4和图5是在静态网络条件下获得的平均有效吞吐率,其中K=4且四条并发数据流均使用RLF传输屏幕更新。当瓶颈链路时延为30ms时,如图4所示,丢包率的增加仅降低了每条流的有效吞吐率而并未显著影响公平性。当瓶颈链路时延为240ms时,如图5所示,不同丢包率条件下每条流的有效吞吐率仍彼此接近。表2中使用Jain公平性指数量化了图4和图5中RLF的公平性表现,公平性指数越接近于1说明传输方法的公平性越好。由表2可得,低时延网络条件下所有的公平性指数均大于0.99。当丢包率和时延显著增加,所有的公平性指数仍大于0.95,说明同构场景下RLF的公平性表现是可观的。
表2 RLF的公平性指数
图6为异构场景下,RLF和TCP Cubic的有效吞吐率公平性图。TCP Cubic为Linux操作系统中默认启用的TCP版本,鉴于TCP Cubic的普及性及其使用的基于丢包的发送速率控制方法,我们着重考察TCP Cubic流的传输效率是否会被RLF流所影响。实验共分为两组,第一组的四条并发数据流中一半使用RLF传输屏幕更新,另一半使用TCP Cubic传输屏幕更新。Agx表示两条RLF流的平均有效吞吐率,Agy表示两条TCP Cubic流的平均有效吞吐率;第二组中的四条并发数据流均使用TCP Cubic传输屏幕更新,Agcubic表示四条TCP Cubic流的平均有效吞吐率。当丢包率为0.01%时,两种时延条件下均有Agx≈Agy,表明RLF流能与TCP Cubic流友好共存。而当丢包率逐渐增加,尽管在两种时延条件下Agx均大于Agy,但同时有Agy≈Agcubic,说明RLF能保证较好的公平性,TCP Cubic流传输效率的降低仅与其自身的性能问题有关而与RLF流的存在无关。
图7展示了时变网络条件下RLF、PCC Vivace、TCP BBR、Copa、TCP Cubic和TCPNewReno六种传输方法的平均显示质量,K设置为4。显示质量为受限网络条件下和理想网络条件下接收的屏幕更新数据量的比值,显示质量越高说明传输的可靠性越好。当Ploss为0.01%时,TCP Cubic的显示质量达到77.08%,超过基于学习的传输方法PCC Vivace的显示质量75.40%而仅次于RLF的显示质量78.08%,说明TCP Cubic适用于丢包率较低的有线网络但其不能在当下丢包率和时延更高的高速网络中继续保持优势。TCP NewReno的机制简洁但过于激进,导致其显示质量最低,因此基于TCP NewReno实现RLF可从优化当中获得最多收益。当Ploss超过0.01%,RLF始终能保持最高的显示质量,PCC Vivace的显示质量仅次于RLF,说明这两种基于传输目标而非固定规则改变发送行为的传输方法对时变网络条件的适应能力更好。
图8至图11展示了时变网络条件下RLF、PCC Vivace、TCP BBR、Copa、TCP Cubic和TCP NewReno六种传输方法的源数据包端到端时延和时延抖动,K设置为4。端到端时延和时延抖动指标强调屏幕更新传输的速度和稳定性,端到端时延越小,传输的实时性越好,屏幕更新的显示越流畅;端到端时延抖动越小,传输越稳定且用户的体验质量越好。图8至图10对应不同Ploss条件下源数据包端到端时延的累积分布。当Ploss为0.1%和1%时,只有RLF的累积分布曲线呈阶梯状,这与时变网络条件下时延阶段性变化的事实相符。当Ploss为10%时,RLF的累积分布曲线受高丢包率影响而变成弧状,但与其它传输方法相比RLF的传输性能仍然最高。图11展示了时变网络条件下源数据包端到端时延抖动的均值与标准差。当Ploss小于1%时,RLF的端到端时延抖动相对稳定;当Ploss超过1%时,RLF端到端时延抖动的统计值略有增加,但与其它传输方法相比变化幅度最小。综合显示质量与源数据包端到端时延和时延抖动的评测结果,可知RLF能在时变网络条件下同时保证屏幕更新传输的可靠性和及时性。
Claims (6)
1.一种基于强化学习和喷泉码的屏幕更新传输方法,其特征在于,包括以下步骤:
步骤1:在发送方,待传输的屏幕更新数据被分片并送至基于强化学习的发送速率控制模块;发送速率控制模块采用强化学习算法SARSA与传输环境进行交互,包括迭代网络状态感知、发送行为决策、行为奖励计算三个过程,实时学习不同网络状态对应的最优发送策略;发送速率控制模块根据习得的策略确定封装屏幕更新的源数据包递送至FEC编码器的速率;
步骤2:FEC编码器采用系统Raptor码作为喷泉码的具体实现,将一个源数据包对应于喷泉码中的一个符号存入编码缓冲区;当编码缓冲区中源数据包的数量低于某一阈值时,直接传输源数据包至接收方;当源数据包的数量达到该阈值时,FEC编码器将源数据包组合成一个编码块并启动编码过程,此阈值即为编码块大小;FEC编码器中的块大小调整单元根据屏幕更新的生成速率和发送速率动态调整编码块大小;
步骤3:启动编码过程后,FEC编码器中的FEC冗余自适应单元根据复合丢包率和单向时延开销计算待生成的冗余包数量,其中,复合丢包率由传输丢包率和超时丢包率决定,单向时延开销由单向传播时延和传输时延决定;若由冗余包数量推算出的容忍丢包率不低于复合丢包率且传输编码块和附加冗余包的单向时延开销不超过用户可接受的最长等待时间,则逐一增加冗余包的生成数量;
步骤4:在接收方,采用Gilbert-Elliot模型对网络丢包行为进行建模,估计网络中的平均丢包率和平均突发丢包长度并反馈给发送方;若所有源数据包被正确接收,FEC解码器不启动解码过程并移除冗余包;若源数据包丢失且收到足够多的冗余包,FEC解码器将启动解码过程,通过喷泉码恢复丢失数据;若源数据包丢失但收到的冗余包数量不足,则接收方将失序的源数据包直接提交至传输层缓冲区,以触发重传恢复丢失数据;若接收到重传数据包,则直接将其放入传输层缓冲区;最后,源数据包在应用层完成重组,形成原始屏幕更新。
2.根据权利要求1所述的一种基于强化学习和喷泉码的屏幕更新传输方法,其特征在于,在所述步骤1中,迭代网络状态感知所感知的网络状态由源数据包发送时间间隔的指数加权移动平均值、确认反馈到达时间间隔的指数加权移动平均值、最新往返时延与最小往返时延的比值、拥塞窗口大小和慢启动阈值五部分组成;发送行为对应拥塞避免阶段的拥塞窗口增量,其可选值为-1,0,+1和+2,单位为一个最大数据段长度;奖励由反映屏幕更新传输目标的效能函数确定,效能函数由以下公式表示:
Utility=Cumulative QoE=log(δ*thput)-β1log(last_RTT-RTTmin)+β2log(1-plr)
其中,thput为吞吐率,δ为吞吐率的缩放因子,β1和β2是分别表示时延和丢包率在效能函数中所占权重的常数;last_RTT为最新往返时延的采样值,RTTmin为最小往返时延;plr为丢包率;奖励Reward由最新观测到的两个效能函数值之差ΔU确定:
3.根据权利要求1所述的一种基于强化学习和喷泉码的屏幕更新传输方法,其特征在于,在所述步骤1中,所述强化学习算法SARSA采用以下公式实时学习和调整不同网络状态对应的发送策略:
Q(sn,an)=Q(sn,an)+α[rn+2+γQ(sn+1,an+1)-Q(sn,an)]
其中,Q(sn,an)为时间步长tn开始时在网络状态为sn的条件下执行发送行为an的预期收益,每个时间步长等于一个往返时延;α为学习率;rn+2为时间步长tn+2开始时计算得到的奖励值;γ为折扣因子;sn+1为执行an后观测到的网络状态;an+1为根据sn+1所选择的发送行为。
4.根据权利要求1所述的一种基于强化学习和喷泉码的屏幕更新传输方法,其特征在于,在所述步骤2中,块大小调整单元根据以下公式在屏幕更新传输过程中动态改变编码块大小:
Block Size=min(sz,BSmax,min(cwnd,rwnd))
其中,sz为确定编码块大小时可获得的源数据包个数,该参数在一定程度上反映了屏幕更新的生成速率;BSmax为编码块大小上限;cwnd和rwnd分别为拥塞窗口和接收窗口,二者中的最小值决定了屏幕更新的发送速率。
5.根据权利要求1所述的一种基于强化学习和喷泉码的屏幕更新传输方法,其特征在于,在所述步骤3中,复合丢包率Pc由以下公式计算:
Pc=Pt+(1-Pt)*Pe
其中,S是反映k′个数据包某种丢失情况的序列,令S={si,1≤i≤k′|si∈(s0,s1)},状态s0表示数据包被接收方正确接收,状态s1表示数据包丢失;L(S)表示序列S中丢失数据包的个数,P(s1)表示数据包被接收或丢失的概率,P(si+1|si)表示相邻的两个数据包被接收或丢失的条件概率;超时丢包率Pe反映了到达接收方的时间超过某一截止时间的数据包百分比,由以下公式估算:
T为截止时间,根据用户可接受的最长等待时间设定;TE为传输k′个数据包所花费的单向时延开销,由以下公式估算:
第一项表示单向传播时延,即最新往返时延采样值的一半;第二项为k′个数据包的传输时延,τ为FEC编码后的数据包长度,B为可用带宽;若Ptol≥Pc且TE≤T同时满足,则逐一增加冗余数据包的生成数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010089703.1A CN111314022B (zh) | 2020-02-12 | 2020-02-12 | 一种基于强化学习和喷泉码的屏幕更新传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010089703.1A CN111314022B (zh) | 2020-02-12 | 2020-02-12 | 一种基于强化学习和喷泉码的屏幕更新传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111314022A true CN111314022A (zh) | 2020-06-19 |
CN111314022B CN111314022B (zh) | 2021-04-06 |
Family
ID=71148995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010089703.1A Active CN111314022B (zh) | 2020-02-12 | 2020-02-12 | 一种基于强化学习和喷泉码的屏幕更新传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111314022B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112311690A (zh) * | 2020-09-25 | 2021-02-02 | 福建星网智慧科技有限公司 | 一种基于ai的拥塞控制算法、装置、设备和介质 |
CN113347114A (zh) * | 2021-06-03 | 2021-09-03 | 清华大学 | 面向截止时间感知的实时流媒体的传输控制方法及装置 |
CN113612580A (zh) * | 2021-08-03 | 2021-11-05 | 四川大学 | 基于喷泉码编码策略和冗余自适应的屏幕更新传输方法 |
CN114095437A (zh) * | 2021-11-18 | 2022-02-25 | 北京达佳互联信息技术有限公司 | 发送数据包的方法、装置、电子设备和存储介质 |
CN115242782A (zh) * | 2022-09-21 | 2022-10-25 | 之江实验室 | 一种超算中心间的大文件分片传输方法和传输架构 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120101942A (ko) * | 2011-03-07 | 2012-09-17 | 한국전자통신연구원 | 파운틴 코드 기반 비디오 스트리밍 시스템 및 그 방법 |
WO2016069159A1 (en) * | 2014-10-27 | 2016-05-06 | Qualcomm Incorporated | Fountain harq for reliable low latency communication |
CN105634671A (zh) * | 2015-12-23 | 2016-06-01 | 中国人民解放军军械工程学院 | 基于喷泉码和物理层网络编码的通信方法 |
CN108111434A (zh) * | 2017-12-14 | 2018-06-01 | 四川大学 | 一种基于可靠udp和喷泉码的航空自组网可靠传输方法 |
CN109639799A (zh) * | 2018-12-12 | 2019-04-16 | 北京锐安科技有限公司 | 异构云平台的处理方法及装置 |
CN109783328A (zh) * | 2017-11-13 | 2019-05-21 | 国网山东省电力公司烟台供电公司 | 一种基于过滤应用程序分块录制及播放用户操作屏幕的方法 |
-
2020
- 2020-02-12 CN CN202010089703.1A patent/CN111314022B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120101942A (ko) * | 2011-03-07 | 2012-09-17 | 한국전자통신연구원 | 파운틴 코드 기반 비디오 스트리밍 시스템 및 그 방법 |
WO2016069159A1 (en) * | 2014-10-27 | 2016-05-06 | Qualcomm Incorporated | Fountain harq for reliable low latency communication |
CN105634671A (zh) * | 2015-12-23 | 2016-06-01 | 中国人民解放军军械工程学院 | 基于喷泉码和物理层网络编码的通信方法 |
CN109783328A (zh) * | 2017-11-13 | 2019-05-21 | 国网山东省电力公司烟台供电公司 | 一种基于过滤应用程序分块录制及播放用户操作屏幕的方法 |
CN108111434A (zh) * | 2017-12-14 | 2018-06-01 | 四川大学 | 一种基于可靠udp和喷泉码的航空自组网可靠传输方法 |
CN109639799A (zh) * | 2018-12-12 | 2019-04-16 | 北京锐安科技有限公司 | 异构云平台的处理方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112311690A (zh) * | 2020-09-25 | 2021-02-02 | 福建星网智慧科技有限公司 | 一种基于ai的拥塞控制算法、装置、设备和介质 |
CN112311690B (zh) * | 2020-09-25 | 2022-12-06 | 福建星网智慧科技有限公司 | 一种基于ai的拥塞控制方法、装置、设备和介质 |
CN113347114A (zh) * | 2021-06-03 | 2021-09-03 | 清华大学 | 面向截止时间感知的实时流媒体的传输控制方法及装置 |
CN113612580A (zh) * | 2021-08-03 | 2021-11-05 | 四川大学 | 基于喷泉码编码策略和冗余自适应的屏幕更新传输方法 |
CN113612580B (zh) * | 2021-08-03 | 2022-05-17 | 四川大学 | 基于喷泉码编码策略和冗余自适应的屏幕更新传输方法 |
CN114095437A (zh) * | 2021-11-18 | 2022-02-25 | 北京达佳互联信息技术有限公司 | 发送数据包的方法、装置、电子设备和存储介质 |
CN114095437B (zh) * | 2021-11-18 | 2024-04-09 | 北京达佳互联信息技术有限公司 | 发送数据包的方法、装置、电子设备和存储介质 |
CN115242782A (zh) * | 2022-09-21 | 2022-10-25 | 之江实验室 | 一种超算中心间的大文件分片传输方法和传输架构 |
Also Published As
Publication number | Publication date |
---|---|
CN111314022B (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111314022B (zh) | 一种基于强化学习和喷泉码的屏幕更新传输方法 | |
CN111901642B (zh) | 基于强化学习的实时视频码率自适应调控方法与系统 | |
CN107171842B (zh) | 基于强化学习的多路径传输协议拥塞控制方法 | |
US10542064B2 (en) | Method, server side and system for computing bandwidth of network transmission of streaming media | |
CN1832483B (zh) | 通信系统中控制数据传输的方法和系统 | |
WO2012174763A1 (zh) | 一种基于tcp协议的自适应网络控制传输方法和系统 | |
CN110855400A (zh) | 基于纠错码的自适应丢包恢复方法、计算设备及存储介质 | |
CN107634908B (zh) | 一种数据传输的方法和设备 | |
CN102325274A (zh) | 一种自适应网络带宽的视频流传输控制方法 | |
CN102291226B (zh) | 基于tcp协议的自适应网络传输控制方法和系统 | |
CN111886875B (zh) | 一种通过网络传送媒体内容的方法及服务器 | |
CN113612580B (zh) | 基于喷泉码编码策略和冗余自适应的屏幕更新传输方法 | |
CN111786901B (zh) | 一种传输参数自适应调整方法及加速服务系统 | |
CN106789427A (zh) | 一种网络传输量计算方法 | |
CN114666831A (zh) | 一种基于流编码和带宽估计驱动的分组传输方法及其系统 | |
CN1402492A (zh) | 基于实时传输协议和传输控制协议的流媒体传输实现方法 | |
CN114401253B (zh) | 一种基于WebRTC的模拟网络中视频传输方法 | |
CN114389959B (zh) | 网络拥塞控制方法、装置、电子设备及存储介质 | |
GB2577610A (en) | Improved congestion response | |
CN101656807B (zh) | 一种网络电话发送端的语音控制方法及网络电话发送终端 | |
CN112822718B (zh) | 一种基于强化学习和流编码驱动的分组传输方法及系统 | |
CN113347114A (zh) | 面向截止时间感知的实时流媒体的传输控制方法及装置 | |
Zheng et al. | IRTS: An intelligent and reliable transmission scheme for screen updates delivery in DaaS | |
CN105227268B (zh) | 一种面向编码传输协议的编码块自适应调整方法 | |
CN110098893B (zh) | 面向IPv6的差分显式反馈传输控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |