摘 要:針對(duì)瓶頸鏈路中視頻帶寬分配不均導(dǎo)致的用戶QoE不公平以及帶寬利用率低的問題,提出了一種基于聯(lián)邦深度強(qiáng)化學(xué)習(xí)的分布式視頻流公平調(diào)度策略。該策略能夠根據(jù)客戶端網(wǎng)絡(luò)狀態(tài)和視頻QoE等級(jí)動(dòng)態(tài)生成帶寬分配權(quán)重因子,服務(wù)器端的擁塞控制算法則根據(jù)帶寬分配權(quán)重因子為瓶頸鏈路中的每個(gè)視頻流分配帶寬,以保障瓶頸鏈路中視頻流的公平傳輸。每個(gè)視頻終端都運(yùn)行一個(gè)帶寬分配agent,且多個(gè)agent以聯(lián)邦學(xué)習(xí)的方式周期性地訓(xùn)練,以便代理模型能夠快速收斂。帶寬分配agent通過共識(shí)機(jī)制同步聯(lián)邦訓(xùn)練參數(shù),實(shí)現(xiàn)了在異步播放請(qǐng)求條件下帶寬分配agent模型參數(shù)的分布式聚合,并確保了agent模型參數(shù)的安全共享。實(shí)驗(yàn)結(jié)果表明,與最新方案相比,提出策略在QoE公平性和整體QoE效率方面分別提高了10%和7%,這表明提出策略在解決視頻流帶寬分配不均問題和提升用戶體驗(yàn)方面具有潛力和有效性。
關(guān)鍵詞:QoE公平性; 視頻質(zhì)量; 深度強(qiáng)化學(xué)習(xí); 聯(lián)邦學(xué)習(xí); 區(qū)塊鏈
中圖分類號(hào):TP393文獻(xiàn)標(biāo)志碼: A文章編號(hào):1001-3695(2024)04-028-1150-09
doi:10.19734/j.issn.1001-3695.2023.08.0371
Multi-video stream bandwidth allocation strategy based onfederated consensus mechanism
Zhang Chunyang Yang Zhigangb, Liu Yazhi Li Weia
Abstract: This paper proposed a distributed video streaming fair scheduling strategy based on federated deep reinforcement learning to address the issues of unfair user QoE and low bandwidth utilization caused by uneven video bandwidth allocation in bottleneck links. This strategy dynamically generated bandwidth allocation weights based on the client’s network status and the QoE level of each video stream. The congestion control algorithm at the server side allocated bandwidth to each video stream in the bottleneck link according to the computed weights, ensuring equitable transmission of video streams in the bottleneck link. Each video terminal operated a bandwidth allocation agent, and multiple agents train periodically using federated learning to facilitate rapid convergence of the agent models. The bandwidth allocation agents synchronized their training parameters through a consensus mechanism, enabling distributed aggregation of the agent model parameters while ensuring the security of parameter sharing. Experimental results demonstrate that the proposed strategy improves QoE fairness and overall QoE efficiency by 10% and 7%, respectively, compared to the latest solutions. This indicates that the proposed strategy has potential and effectiveness in addressing the uneven allocation of video stream bandwidth and improving user experience.
Key words:QoE fairness; video quality; deep reinforcement learning; federated learning; blockchain
0 引言
近年來,視頻流量在網(wǎng)絡(luò)流量中的份額逐漸增加,這也意味著多個(gè)視頻客戶端共享同一瓶頸鏈路的情況越來越普遍,例如家庭Wi-Fi網(wǎng)絡(luò)可能要同時(shí)為電視、手機(jī)和平板電腦提供視頻流服務(wù)。當(dāng)多個(gè)視頻流共處于同一瓶頸鏈路時(shí),不同視頻流之間可能會(huì)競(jìng)爭(zhēng)有限的帶寬資源造成視頻用戶間的用戶體驗(yàn)質(zhì)量(quality of experience,QoE)不均衡。因此,如何有效地分配合適的帶寬,以提供最佳的用戶體驗(yàn)質(zhì)量,是一個(gè)具有挑戰(zhàn)性的問題。
現(xiàn)有的視頻服務(wù)通常采用基于HTTP的動(dòng)態(tài)自適應(yīng)流(dynamic adaptive streaming over HTTP, DASH)[1]標(biāo)準(zhǔn)傳輸視頻。DASH的核心思想是將視頻內(nèi)容分割成多個(gè)小的視頻塊,并對(duì)每個(gè)視頻塊采用不同的比特率和質(zhì)量級(jí)別進(jìn)行編碼。同時(shí),客戶端上部署的自適應(yīng)比特率 (adaptive bitrate, ABR) 算法[2]會(huì)根據(jù)用戶的網(wǎng)絡(luò)條件和設(shè)備能力選擇最合適的視頻塊比特率級(jí)別。通過這種方式,客戶端能夠在視頻塊的邊界處無縫地切換視頻比特率,從而確保視頻播放的連續(xù)性和流暢性,以提供最佳的QoE[3,4]。
現(xiàn)有的ABR算法可以劃分為基于啟發(fā)式方法和基于學(xué)習(xí)方法兩類。其中啟發(fā)式方式主要包括基于吞吐量估計(jì)[5~7]和基于緩沖區(qū)[8~10]的策略。盡管相對(duì)于非自適應(yīng)視頻流,這些算法在提升用戶QoE方面取得了一定進(jìn)展,但由于缺乏完整的環(huán)境信息(如網(wǎng)絡(luò)延遲、丟包率、擁塞程度等),導(dǎo)致算法在面對(duì)動(dòng)態(tài)變化的網(wǎng)絡(luò)條件下難以適應(yīng)和調(diào)整。基于這一背景,Yin等人[11]將以上兩種啟發(fā)式的方式組合,提出了一種名為模型預(yù)測(cè)控制(model predictive control,MPC)的理論框架用于自適應(yīng)比特率調(diào)整,并將QoE公式化,以便根據(jù)未來幾個(gè)視頻塊的QoE總和來作出比特率調(diào)整的決策。這種方法能夠更好地平衡視頻質(zhì)量和網(wǎng)絡(luò)帶寬之間的關(guān)系,從而提供更好的用戶體驗(yàn)。針對(duì)現(xiàn)有的DASH視頻流和ABR算法僅適用于少數(shù)客戶端的情況,丁佳龍等人[12]提出了一種面向大規(guī)??蛻舳藞?chǎng)景的帶寬調(diào)度算法。該算法通過聚類技術(shù)有效地減小了調(diào)度規(guī)模,隨后結(jié)合了ABR算法,對(duì)已聚類的客戶端進(jìn)行比特率決策,從而提高了帶寬利用率,確保了總體QoE的最大化。但是,啟發(fā)式的ABR算法通常需要手動(dòng)設(shè)計(jì)一組規(guī)則或策略來指導(dǎo)比特率調(diào)整,這意味著算法的性能受限于設(shè)計(jì)者對(duì)系統(tǒng)的理解和經(jīng)驗(yàn),可能會(huì)導(dǎo)致算法在復(fù)雜的網(wǎng)絡(luò)環(huán)境中表現(xiàn)不佳。為了克服這些問題,大量研究采用強(qiáng)化學(xué)習(xí)(reinforcement learning,RL)與ABR算法結(jié)合的方式來改進(jìn)視頻流媒體傳輸中的比特率調(diào)整策略。相比于啟發(fā)式算法手動(dòng)調(diào)整模型參數(shù), 基于RL的算法通過代理與視頻傳輸環(huán)境不斷進(jìn)行交互的方式來改善比特率自適應(yīng)策略,因此在復(fù)雜的網(wǎng)絡(luò)環(huán)境中往往具有更好的性能。例如,Mao等人[13]提出了一種名為Pensieve的自適應(yīng)比特率算法,該算法采用深度強(qiáng)化學(xué)習(xí)來改進(jìn)視頻流媒體傳輸中的比特率選擇策略。通過使用asynchronous advantage actor-critic(A3C)算法進(jìn)行訓(xùn)練,Pensieve的深度神經(jīng)網(wǎng)絡(luò)能夠根據(jù)實(shí)時(shí)的網(wǎng)絡(luò)條件和視頻質(zhì)量反饋?zhàn)灾鞯剡x擇合適的比特率。通過這種方式,Pensieve能夠在不同的網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)更準(zhǔn)確和智能的比特率調(diào)整,從而提供更好的用戶體驗(yàn)。Gao等人[14]指出現(xiàn)有的ABR算法忽略了視頻的語(yǔ)義信息,然而視頻的語(yǔ)義信息對(duì)視頻內(nèi)容的信息量和趣味性具有重要影響,進(jìn)而直接影響用戶的QoE。為解決這一問題,提出了一種基于內(nèi)容興趣度(content of interest,CoI)的ABR算法。該算法通過引入深度學(xué)習(xí)方法來識(shí)別視頻的CoI,并將其作為智能體的輸入,結(jié)合DQN方法實(shí)現(xiàn)對(duì)ABR算法的優(yōu)化。為了解決路徑傳輸中吞吐量劇烈變化導(dǎo)致用戶體驗(yàn)下降的問題,張柏藝[15]提出了一種基于深度強(qiáng)化學(xué)習(xí)的視頻碼率自適應(yīng)控制方法。首先,通過對(duì)緩沖區(qū)模型的動(dòng)態(tài)變化進(jìn)行建模,獲得了視頻碼率的集合。然后,將視頻質(zhì)量、緩沖區(qū)占用長(zhǎng)度和重新緩沖事件設(shè)置為QoE的度量指標(biāo),并將其用作深度Q網(wǎng)絡(luò)算法的獎(jiǎng)勵(lì)函數(shù),以引導(dǎo)算法的優(yōu)化方向。葉進(jìn)等人[16]觀察到,基于強(qiáng)化學(xué)習(xí)生成ABR的方法雖然具有一定的優(yōu)點(diǎn),但通常需要預(yù)先設(shè)置獎(jiǎng)勵(lì)函數(shù),并且這些函數(shù)的設(shè)置往往缺乏實(shí)際依據(jù),因此可能導(dǎo)致用戶獲得與其期望不符的觀看體驗(yàn)。因此,他們提出了用戶QoE預(yù)測(cè)網(wǎng)絡(luò)(user QoE prediction network,UQPN)方法,通過監(jiān)督學(xué)習(xí)利用真實(shí)用戶數(shù)據(jù)來預(yù)測(cè)用戶的QoE。UQPN接受視頻流狀態(tài)作為輸入,并輸出當(dāng)前用戶的QoE預(yù)測(cè)分?jǐn)?shù),然后將這個(gè)分?jǐn)?shù)用作獎(jiǎng)勵(lì)信號(hào),從而避免了盲目建模獎(jiǎng)勵(lì)函數(shù)的問題。
當(dāng)多個(gè)客戶端共享同一瓶頸鏈路時(shí),僅通過ABR算法進(jìn)行帶寬的分配仍然存在一些問題。首先,每個(gè)客戶端根據(jù)自身的ABR算法獨(dú)立選擇比特率,可能導(dǎo)致某些客戶端優(yōu)先選擇較高的比特率級(jí)別,從而占用更多的帶寬資源,給其他客戶端帶來不公平的影響。其次,當(dāng)多個(gè)客戶端同時(shí)選擇較高的比特率級(jí)別時(shí),可能引發(fā)帶寬競(jìng)爭(zhēng)和擁塞問題,限制瓶頸鏈路的帶寬資源,進(jìn)而影響所有客戶的QoE。此外,由于ABR算法在多客戶端場(chǎng)景下缺乏全局協(xié)調(diào)和協(xié)作機(jī)制,各個(gè)客戶端無法充分共享信息,導(dǎo)致帶寬分配和負(fù)載不均衡的情況出現(xiàn)。為了解決上述問題,本文提出一種分布式的主動(dòng)帶寬分配策略,該策略可以在保證視頻用戶QoE和公平性的同時(shí)提高帶寬利用率。本文具體貢獻(xiàn)如下:
a)設(shè)計(jì)了一個(gè)基于多智能體強(qiáng)化學(xué)習(xí)的帶寬分配策略,該策略可以根據(jù)客戶端網(wǎng)絡(luò)狀態(tài)和視頻QoE等級(jí)動(dòng)態(tài)生成帶寬分配權(quán)重因子。部署在服務(wù)器上的擁塞控制算法基于帶寬分配權(quán)重因子為瓶頸鏈路中的每個(gè)視頻流分配帶寬。
b)為了促進(jìn)各個(gè)客戶端智能體之間的學(xué)習(xí)成果共享和策略經(jīng)驗(yàn)的融合,提出了一種基于聯(lián)邦共識(shí)機(jī)制[17]的分布式多智能體參數(shù)聚合方法。為了適應(yīng)視頻播放終端算力不足的情況,設(shè)計(jì)了一種基于信任值證明的共識(shí)算法,實(shí)現(xiàn)多智能體參數(shù)在低算力終端間的高效聚合。
1 相關(guān)工作
多項(xiàng)研究表明,在處理多客戶端視頻流時(shí),采用中心化的管理控制器進(jìn)行統(tǒng)一調(diào)度[18]可以顯著提升多客戶端視頻流的QoE。在這種情況下,穩(wěn)定性、公平性和高帶寬利用率是影響用戶QoE的主要因素。穩(wěn)定性是保證視頻流的連續(xù)和流暢播放,避免因網(wǎng)絡(luò)波動(dòng)或擁塞而導(dǎo)致的卡頓和中斷。公平性是指中心控制器能夠公平地分配可用帶寬資源給各個(gè)客戶端,避免出現(xiàn)某些客戶端占據(jù)過多帶寬資源而導(dǎo)致其他客戶端的QoE受損。高帶寬利用率則是指各個(gè)客戶端能夠合理地利用可用帶寬資源,最大化系統(tǒng)的整體性能和吞吐量。根據(jù)視頻流傳輸結(jié)構(gòu)的特點(diǎn),控制器可以部署在DASH客戶端或服務(wù)器上。
Nathan等人[19]提出了一種端到端的多用戶視頻流傳輸協(xié)議Minerv 該協(xié)議使用有關(guān)播放器狀態(tài)和視頻特性的信息來調(diào)整其擁塞控制行為,以優(yōu)化QoE公平性。具體來說,該協(xié)議首先推導(dǎo)出一種效用函數(shù),用以捕捉網(wǎng)絡(luò)帶寬與用戶體驗(yàn)質(zhì)量之間的關(guān)系,然后使用該效用函數(shù)調(diào)整傳輸層的擁塞控制協(xié)議參數(shù),從而為每個(gè)視頻流分配合理帶寬。然而該方案需要提前預(yù)測(cè)未來視頻塊的QoE,這需要耗費(fèi)大量的計(jì)算資源,從而導(dǎo)致協(xié)議的實(shí)時(shí)性下降。Jiang等人[20]認(rèn)為通過對(duì)客戶端中基于緩沖區(qū)的碼率適配算法和分段選擇算法進(jìn)行改進(jìn),可以提高整體視頻質(zhì)量,并減少緩沖事件的發(fā)生。然而,該算法的公平性概念僅局限于帶寬的公平分配,未考慮到QoE的公平,因此仍需要進(jìn)一步改進(jìn)。Yin等人[21]提出了一種基于MPC的非線性路由器輔助帶寬分配算法,將每個(gè)播放器視為一個(gè)閉環(huán)系統(tǒng),并使用跟蹤驅(qū)動(dòng)的模擬來評(píng)估該策略的性能。研究結(jié)果表明,這種策略在效率和公平性方面均優(yōu)于現(xiàn)有的穩(wěn)態(tài)解決方案。然而,這種方法要求路由器能夠獲取經(jīng)過該鏈路的所有視頻流的信息,這使得在大規(guī)模部署中變得非常困難。Huang等人[22]提出了 Comyco 算法,該算法采用模仿學(xué)習(xí)來學(xué)習(xí)策略網(wǎng)絡(luò),使其可以根據(jù)客戶端當(dāng)前網(wǎng)絡(luò)和設(shè)備條件,以及用戶的觀看體驗(yàn)要求,自適應(yīng)地選擇適當(dāng)?shù)囊曨l質(zhì)量進(jìn)行傳輸。Manfredi等人[23]認(rèn)為,雖然通過動(dòng)態(tài)選擇視頻比特率來匹配時(shí)變的網(wǎng)絡(luò)帶寬可以提高用戶個(gè)人感知質(zhì)量,然而這種控制架構(gòu)會(huì)最大化所有用戶集體感知的平均質(zhì)量,而不是資源的質(zhì)量公平分配,因此可能導(dǎo)致質(zhì)量較低的用戶放棄資源。為了解決這個(gè)問題,提出了一種比例公平資源分配策略來均衡視頻傳輸網(wǎng)絡(luò)中并發(fā)異構(gòu)用戶獲得的QoE。
另一種方案是服務(wù)器根據(jù)客戶端的狀態(tài)調(diào)整部分視頻流的發(fā)送速率,從而實(shí)現(xiàn)服務(wù)器上所有視頻流的可用帶寬的分配。例如,Altamimi等人[24]使用客戶端服務(wù)器協(xié)作的方式,通過指定每個(gè)客戶端能夠請(qǐng)求的視頻比特率上限來調(diào)整視頻用戶間帶寬的分配比例。但是,由于不能準(zhǔn)確定位擁塞地點(diǎn)和擁塞成員,這種方案會(huì)降低鏈路利用率。Spiteri等人[25]在服務(wù)器端引入了一種比特率整形器,當(dāng)網(wǎng)絡(luò)吞吐量在播放過程中增加時(shí),該整形器能夠快速響應(yīng)網(wǎng)絡(luò)事件,用高比特率段替換客戶端緩沖區(qū)中的低比特率段。然而這種方法需要對(duì)傳輸?shù)囊曨l文件進(jìn)行修改,而且會(huì)給服務(wù)器造成巨大開銷。Bentaleb等人[26]開發(fā)了一種名為Ahaggar的基于學(xué)習(xí)的方案,旨在為服務(wù)器端運(yùn)行的流媒體客戶端提供質(zhì)量感知的比特率指導(dǎo)。Ahaggar采用了元強(qiáng)化學(xué)習(xí)的方法,利用網(wǎng)絡(luò)條件、客戶端狀態(tài)、設(shè)備分辨率和流媒體內(nèi)容作為輸入特征,以執(zhí)行比特率指導(dǎo)。為了實(shí)現(xiàn)這一目標(biāo),Ahaggar使用了一種新的通用媒體客戶端/服務(wù)器數(shù)據(jù)協(xié)議,用于在服務(wù)器和客戶端之間交換必要的元數(shù)據(jù)。 Yuan等人[27]針對(duì)用戶的高移動(dòng)性引起的連接持續(xù)時(shí)間短和頻繁切換基站帶來的用戶QoE不公平問題,提出了一種端到端的解決方案——VSiM。首先利用每個(gè)客戶端收集移動(dòng)設(shè)備的移動(dòng)概況信息(如速度、位置和方向),以及與QoE相關(guān)的信息,然后將收集到的狀態(tài)信息分組、加密,并與HTTP 請(qǐng)求一起發(fā)送服務(wù)器。利用部署在服務(wù)器端的軌跡預(yù)測(cè)器解密客戶端發(fā)送的信息,并將其轉(zhuǎn)到帶寬分配模塊以進(jìn)行帶寬的分配。然而,該方法可能會(huì)由于軌跡預(yù)測(cè)器的不準(zhǔn)確而不能完全滿足每個(gè)用戶的QoE要求?;谏鲜鰡栴},本文主要設(shè)計(jì)目標(biāo)是:a)有效地結(jié)合真實(shí)環(huán)境中可能影響視頻流中客戶端QoE公平性的各種因素;b)在現(xiàn)實(shí)世界中易于部署和配置;c)在保證總QoE的同時(shí)最大限度地提高QoE公平性。
2 FBLB系統(tǒng)
本章介紹了所設(shè)計(jì)的FBLB系統(tǒng)的關(guān)鍵技術(shù),包括QoE建模、帶寬分配策略、權(quán)重因子預(yù)測(cè)模型以及聯(lián)邦聚合模型。
2.1 系統(tǒng)結(jié)構(gòu)
如圖1所示,F(xiàn)BLB系統(tǒng)由視頻服務(wù)器、視頻客戶端和區(qū)塊鏈模型三個(gè)模塊組成。
視頻客戶端模塊裝有DASH播放器、ABR算法、信息存儲(chǔ)器和帶寬分配權(quán)重因子預(yù)測(cè)模型。需要注意的是,帶寬分配權(quán)重因子預(yù)測(cè)模型是完全獨(dú)立于ABR算法和DASH播放器的,因此可以與任何ABR算法結(jié)合使用。在此系統(tǒng)中,采用了經(jīng)典的MPC作為基準(zhǔn)ABR算法。客戶端模塊負(fù)責(zé)向視頻服務(wù)器發(fā)送GET請(qǐng)求,并對(duì)下載的視頻文件進(jìn)行播放。在視頻播放期間,ABR控制器會(huì)根據(jù)DASH播放器的帶寬預(yù)測(cè)、緩沖區(qū)大小等參數(shù)進(jìn)行比特率決策,并將這些觀測(cè)值存儲(chǔ)到信息存儲(chǔ)器中。最后,帶寬分配權(quán)重因子預(yù)測(cè)模型通過信息存儲(chǔ)器中的觀測(cè)值進(jìn)行模型訓(xùn)練。
視頻服務(wù)器模塊是一個(gè)位于網(wǎng)絡(luò)上的DASH視頻服務(wù)器,負(fù)責(zé)視頻數(shù)據(jù)和視頻質(zhì)量分?jǐn)?shù)的儲(chǔ)存和分發(fā)。此外,視頻服務(wù)器還解析客戶端GET請(qǐng)求所附帶的信息,以便統(tǒng)計(jì)全局狀態(tài)參數(shù),對(duì)全局狀態(tài)參數(shù)的定義與描述,將在2.5節(jié)詳細(xì)闡述,并通過擁塞控制算法為每個(gè)視頻流分配與其帶寬分配權(quán)重成比例的可用帶寬。
區(qū)塊鏈模型主要負(fù)責(zé)聯(lián)邦共識(shí)算法的實(shí)施。具體來說區(qū)塊鏈模型會(huì)向每個(gè)視頻客戶端分發(fā)一個(gè)全局模型,在收到全局模型后,客戶端代理將通過在運(yùn)行過程中產(chǎn)生的本地?cái)?shù)據(jù)進(jìn)行模型訓(xùn)練。在經(jīng)過一段時(shí)間的訓(xùn)練后,會(huì)隨機(jī)選擇一定數(shù)量的客戶端數(shù)據(jù)上傳區(qū)塊鏈,并將這些參數(shù)存儲(chǔ)在區(qū)塊鏈節(jié)點(diǎn)上。這些數(shù)據(jù)會(huì)經(jīng)過加密簽名后打包成區(qū)塊,并通過節(jié)點(diǎn)之間的共識(shí)機(jī)制來確定出塊權(quán)。獲得出塊權(quán)的節(jié)點(diǎn)會(huì)將區(qū)塊廣播到整個(gè)網(wǎng)絡(luò),一旦通過認(rèn)證,該區(qū)塊就會(huì)被添加到區(qū)塊鏈中。接著,進(jìn)行模型參數(shù)聚合,并更新整體的模型。最后,更新后的模型會(huì)被下發(fā)給每個(gè)客戶端,啟動(dòng)新一輪的訓(xùn)練學(xué)習(xí)過程。對(duì)聯(lián)邦共識(shí)算法的定義和分析,將在2.6節(jié)詳細(xì)闡述。
2.2 QoE的定義
無論是多流并發(fā)技術(shù)還是ABR算法,其目的都是提高用戶QoE。本文將用戶QoE衡量指標(biāo)定義為視頻感知質(zhì)量、重新緩沖時(shí)間和視頻質(zhì)量平滑度。
其中:qi(ri[ki])表示觀看第ki塊可以獲得的感知質(zhì)量,為了評(píng)估每個(gè)視頻塊的感知質(zhì)量,本文使用了VMAF[28]指標(biāo)。該指標(biāo)可以根據(jù)視頻內(nèi)容來預(yù)測(cè)用戶的感知質(zhì)量,并且可以對(duì)不同視頻內(nèi)容造成的觀看質(zhì)量差異進(jìn)行區(qū)分。|qi(ri[ki])-qi(ri[ki-1])|表示相鄰塊之間的感知質(zhì)量變化,即視頻的平滑度。rei(ki)表示觀看第ki塊時(shí)的重新緩沖時(shí)間。α和β是視頻平滑度系數(shù)和重新緩沖時(shí)間的懲罰系數(shù)。
2.3 QoE公平性
由于每個(gè)視頻用戶的比特率決策變化都會(huì)對(duì)網(wǎng)絡(luò)和其他用戶的狀態(tài)產(chǎn)生影響,所以不僅要考慮瞬時(shí)用戶的QoE,還要考慮長(zhǎng)期的QoE公平性。本文使用Jain’s公平性系數(shù)與歷史折扣QoE來計(jì)算多個(gè)視頻流的長(zhǎng)期QoE公平性:
其中:QoEγ,hi表示第i個(gè)視頻流的QoE歷史折扣分?jǐn)?shù);γ表示QoE的折扣系數(shù);h表示需要計(jì)算最近h個(gè)塊的QoE分?jǐn)?shù),當(dāng)h=1時(shí)表示只計(jì)算當(dāng)前塊的公平性,h=∞表示計(jì)算所有塊的總體QoE公平性。
2.4 帶寬分配策略
本節(jié)介紹了基于擁塞控制的主動(dòng)帶寬分配策略,即通過為不同的視頻流分配不同的擁塞退避行為的方式達(dá)到控制帶寬分配的目的。該框架可以為瓶頸鏈路上的視頻流分配合理的帶寬,在提高用戶間QoE公平性的同時(shí)不占用鏈路上其他類型連接的公平帶寬份額;并且由于擁塞控制只在鏈路發(fā)生擁塞時(shí)產(chǎn)生作用,所以不會(huì)對(duì)其他正常傳輸?shù)囊曨l流產(chǎn)生任何不必要的干擾。圖2描述了基于擁塞控制的分布式主動(dòng)帶寬分配框架的基本流程。首先,客戶端向服務(wù)器發(fā)出對(duì)第i個(gè)視頻塊的GET請(qǐng)求,該請(qǐng)求的request header中附帶有第i塊的帶寬分配權(quán)重因子wi以及第i-1塊的QoE分?jǐn)?shù)QoEi-1。服務(wù)器接收請(qǐng)求并解析header附帶的信息wi、QoEi-1,并根據(jù)wi,QoEi-1生成全局狀態(tài)參數(shù)(QoE變異系數(shù)C和客戶端QoE級(jí)別L)。然后,服務(wù)器返回第i個(gè)視頻塊給客戶端,并在response header中附加全局狀態(tài)參數(shù)??蛻舳瞬シ乓曨l塊i并計(jì)算相應(yīng)的QoE分?jǐn)?shù)QoEi,ABR算法根據(jù)網(wǎng)絡(luò)和播放器的狀態(tài)預(yù)測(cè)下一個(gè)視頻塊的比特率等級(jí)bi+1,同時(shí)權(quán)重預(yù)測(cè)模塊根據(jù) 播放器狀態(tài),bi+1以及全局狀態(tài)參數(shù)預(yù)測(cè)下載第i+1塊期間的帶寬分配權(quán)重因子wi+1,隨后wi+1、QoE分?jǐn)?shù)QoEi和ABR算法預(yù)測(cè)的比特率決策bi+1一同通過GET請(qǐng)求發(fā)送給服務(wù)器,而服務(wù)器需要持續(xù)監(jiān)控每個(gè)客戶端信息,并根據(jù)客戶端預(yù)測(cè)的權(quán)重因子重新配置每個(gè)視頻流的擁塞控制參數(shù)以實(shí)現(xiàn)帶寬分配。
基于擁塞控制的主動(dòng)帶寬分配框架的有效性取決于是否能夠?yàn)槊總€(gè)視頻流分配與帶寬分配權(quán)重因子成比例的可用帶寬,并確保網(wǎng)絡(luò)鏈路利用率不下降。為了實(shí)現(xiàn)這一目標(biāo),可以采用現(xiàn)有的擁塞控制協(xié)議(TCP Reno、Cubic等)來實(shí)現(xiàn)與權(quán)重因子成比例的帶寬分配。本文選擇基于QUIC協(xié)議實(shí)現(xiàn)的Cubic作為底層的擁塞控制算法,以便于修改和調(diào)試擁塞控制行為。
Cubic在檢測(cè)到丟包后會(huì)減少發(fā)送窗口的大小,而減少的幅度與Cubic的乘性減因子β相關(guān),因此通過調(diào)整每個(gè)流對(duì)應(yīng)的乘性減因子βi即可為瓶頸鏈路中的視頻流分配可用帶寬的占比。其中Cubic的平均發(fā)送窗口大小AVG_C與乘性減因子β的關(guān)系可以用以下函數(shù)表示:
其中:p表示丟包率;RTT表示往返時(shí)延。
在帶寬分配過程中,當(dāng)鏈路的可用帶寬足以滿足所有客戶端的需求時(shí),擁塞控制算法根據(jù)各個(gè)客戶端的權(quán)重因子為每個(gè)客戶端分配所需的帶寬。然而,當(dāng)鏈路帶寬有限且無法滿足所有客戶端的總需求時(shí),帶寬將以各個(gè)客戶端權(quán)重因子的比例進(jìn)行公平分配。具體分配方式如式(5)所示。
其中:mtotal表示瓶頸鏈路中可用帶寬;wi表示每個(gè)客戶端的權(quán)重因子;wtotal表示所有客戶端的權(quán)重總和。這樣的帶寬分配策略旨在確保公平性,使每個(gè)客戶端根據(jù)其權(quán)重因子獲得適當(dāng)?shù)膸捹Y源。通過利用權(quán)重因子可以平衡不同客戶端的需求,并使系統(tǒng)資源得到有效利用,從而提高整體的性能和用戶體驗(yàn)。
2.5 權(quán)重因子預(yù)測(cè)模塊
權(quán)重因子預(yù)測(cè)模塊的主要任務(wù)是基于ABR算法傳遞的播放器狀態(tài)、網(wǎng)絡(luò)觀測(cè)值以及視頻服務(wù)器提供的全局參數(shù)(變異系數(shù)C和客戶端QoE級(jí)別L),預(yù)測(cè)下一視頻塊傳輸時(shí)的帶寬分配權(quán)重因子。該模塊從這些參數(shù)中提取帶寬預(yù)測(cè)、緩沖區(qū)水平、下一塊可選比特率、下一塊的視頻質(zhì)量、變異系數(shù)和客戶端QoE級(jí)別這六種參數(shù),并將其作為模型的輸入,以提高對(duì)下一個(gè)視頻塊傳輸時(shí)權(quán)重因子的準(zhǔn)確預(yù)測(cè)。模型采用A3C算法進(jìn)行訓(xùn)練和優(yōu)化。
QoE變異系數(shù)C和客戶端 QoE級(jí)別L的定義如下:
變異系數(shù)C和客戶端QoE級(jí)別L的作用是為神經(jīng)網(wǎng)絡(luò)輸入提供全局狀態(tài)特征,從而提高算法的預(yù)測(cè)準(zhǔn)確度和收斂速度,并幫助客戶端更好地了解系統(tǒng)的整體狀態(tài)。生成這兩個(gè)參數(shù)的過程僅在客戶端向服務(wù)器發(fā)送新的GET請(qǐng)求時(shí)發(fā)生,因此代理只需要承擔(dān)非常小的通信和計(jì)算成本,即可獲取當(dāng)前系統(tǒng)的整體狀態(tài)信息。σQoEγ,h和μQoEγ,h代表了當(dāng)前服務(wù)器所服務(wù)的所有視頻客戶端過去h個(gè)視頻塊的歷史折扣QoE值的標(biāo)準(zhǔn)差和均值。
a)狀態(tài)。觀察值Oi(QoEγ,hi,gi,fi,bi,Ti,Ci,Li),其中:QoEγ,hi表示代理播放過去h個(gè)視頻塊的歷史折扣QoE分?jǐn)?shù);gi表示下一個(gè)視頻塊的六種可選比特率的文件大小的集合;fi表示下一個(gè)視頻塊的六種可選比特率的視頻質(zhì)量分?jǐn)?shù)的集合;bi表示代理當(dāng)前的緩沖區(qū)水平;Ti表示代理當(dāng)前的帶寬估計(jì);Ci表示當(dāng)前的QoE變異系數(shù);Li表示代理當(dāng)前的客戶端QoE級(jí)別。
b)動(dòng)作。代理在時(shí)間步ti采取的動(dòng)作是視頻流在下載下一個(gè)視頻塊下載期間的帶寬分配權(quán)重因子wi∈[0.4,0.9],限制wi的取值范圍是為了避免退避因子過大或過小導(dǎo)致過度調(diào)整。
c)獎(jiǎng)勵(lì)。所有代理的共同目標(biāo)是最大化整體QoE和QoE公平性,因此將每個(gè)代理的獎(jiǎng)勵(lì)值Ri定義為自身歷史折扣QoE分?jǐn)?shù)和QoE公平性指標(biāo)的線性組合。
其中:γ表示折扣因子,用于衡量未來獎(jiǎng)勵(lì)的重要性,取值為0~1。當(dāng)γ接近1時(shí),未來獎(jiǎng)勵(lì)的衰減較小,表示更加重視長(zhǎng)期的累積獎(jiǎng)勵(lì);當(dāng)γ接近0時(shí),未來獎(jiǎng)勵(lì)的衰減較大,表示更加 重視即時(shí)獎(jiǎng)勵(lì)。本文參考Pensieve將其設(shè)為0.99。Aπθ(s,a)是優(yōu)勢(shì)函數(shù),衡量在當(dāng)前策略πθ下在狀態(tài)s選擇動(dòng)作a相對(duì)于平均水平的獎(jiǎng)勵(lì)差異。actor網(wǎng)絡(luò)的參數(shù)則按照如式(10)更新。
其中:α表示學(xué)習(xí)率,用于控制參數(shù)更新的步長(zhǎng);H(st)表示狀態(tài)st下的熵;θH(st)表示策略參數(shù)θ的梯度,用于衡量策略的不確定性或多樣性;β表示熵正則化系數(shù),熵正則化可以幫助策略保持一定的探索能力,避免過早陷入局部最優(yōu)解,以及增加策略的探索性。優(yōu)勢(shì)函數(shù)Aπθ(st,at)定義為
2.6 聯(lián)邦共識(shí)聚合模塊
每個(gè)視頻客戶端智能體P∈{p1,p2,…,pn}運(yùn)行在不同的網(wǎng)絡(luò)環(huán)境中。如圖3所示,在時(shí)刻ti,客戶端pi開始請(qǐng)求下載視頻塊ki,與此同時(shí)采取一個(gè)帶寬控制行為ak,并在ti+1時(shí)刻接收反饋。
由于每個(gè)客戶端在不同的時(shí)間節(jié)點(diǎn)點(diǎn)播視頻,各客戶端智能體都會(huì)在本地獨(dú)立訓(xùn)練自己的強(qiáng)化學(xué)習(xí)模型,不會(huì)與其他智能體交換任何數(shù)據(jù),每個(gè)智能體僅關(guān)注自己的目標(biāo)和獎(jiǎng)勵(lì)信號(hào),而沒有整體目標(biāo)的統(tǒng)一性。在缺乏參數(shù)交流的情況下,每個(gè)智能體傾向于最大化自己的個(gè)體回報(bào),而忽視整體系統(tǒng)的協(xié)同效益。為了解決這些問題,本文提出了一種基于區(qū)塊鏈聯(lián)邦學(xué)習(xí)(BlockFL)的策略,通過在區(qū)塊鏈上共享模型參數(shù),各個(gè)智能體可以更好地協(xié)同合作,而不僅僅關(guān)注個(gè)體回報(bào)。這種參數(shù)交流和共享促進(jìn)了經(jīng)驗(yàn)的傳遞,避免了個(gè)體化訓(xùn)練的局限性,并且由于每個(gè)智能體只上傳其本地模型的參數(shù)更新,所以也有助于保護(hù)數(shù)據(jù)的隱私和安全。
BlockFL策略具體步驟如下:a)每個(gè)本地強(qiáng)化學(xué)習(xí)代理更新其策略參數(shù)和價(jià)值參數(shù),并將其上傳到區(qū)塊鏈網(wǎng)絡(luò);b)區(qū)塊鏈網(wǎng)絡(luò)上的節(jié)點(diǎn)通過運(yùn)行共識(shí)機(jī)制選出主節(jié)點(diǎn),主節(jié)點(diǎn)將交易信息打包成區(qū)塊,關(guān)于區(qū)塊信息將在2.6.2節(jié)詳細(xì)闡述,并進(jìn)行廣播,其他節(jié)點(diǎn)對(duì)這些交易信息進(jìn)行驗(yàn)證,一旦驗(yàn)證通過,生成的區(qū)塊將被添加到區(qū)塊鏈中;c)區(qū)塊鏈網(wǎng)絡(luò)將聚合各個(gè)本地強(qiáng)化學(xué)習(xí)代理上傳的模型參數(shù),并將聚合后的全局模型參數(shù)下發(fā)給各個(gè)代理;d)每個(gè)代理使用新的全局模型參數(shù)進(jìn)行新一輪的訓(xùn)練。
2.6.1 模型更新
a)全局模型更新。由于分布式深度強(qiáng)化學(xué)習(xí)中的代理在訓(xùn)練數(shù)據(jù)量和計(jì)算資源方面存在差異,并且在同一時(shí)刻的本地模型訓(xùn)練狀態(tài)也不一致。顯然,在聯(lián)邦學(xué)習(xí)中,隨著時(shí)間的推移,本地模型的時(shí)效性逐漸降低,對(duì)全局模型效果的影響也相應(yīng)減弱。因此,在更新全局模型的過程中引入時(shí)間權(quán)重來降低不可靠本地模型的權(quán)重值。更新過程定義如下:
b)本地模型更新。在本文區(qū)塊鏈聯(lián)邦學(xué)習(xí)框架中,各個(gè)代理P=UNi=1pi首先獲取上一輪迭代生成的全局策略網(wǎng)絡(luò)參數(shù)θglobal和價(jià)值網(wǎng)絡(luò)參數(shù)vglobal,并將其作為本輪迭代的初始化本地模型參數(shù)。其整體流程如算法1所示。
2.6.2 共識(shí)算法
工作量證明(proof of work,PoW)共識(shí)算法要求節(jié)點(diǎn)進(jìn)行大量的計(jì)算操作,以解決一個(gè)數(shù)學(xué)難題來完成工作量證明。在這個(gè)過程中,節(jié)點(diǎn)根據(jù)人為預(yù)設(shè)的目標(biāo)難度值對(duì)候選區(qū)塊進(jìn)行哈希計(jì)算。通過將候選區(qū)塊的數(shù)據(jù)與一個(gè)隨機(jī)數(shù)(稱為nonce)結(jié)合,節(jié)點(diǎn)進(jìn)行哈希計(jì)算,并驗(yàn)證生成的哈希值是否滿足預(yù)設(shè)的難度值(例如小于目標(biāo)難度值)。為了找到滿足條件的哈希值,節(jié)點(diǎn)需要持續(xù)嘗試不同的隨機(jī)數(shù)。這種不斷的試錯(cuò)過程需要消耗 大量的計(jì)算時(shí)間和資源。權(quán)益證明(proof of stake,PoS)共識(shí)算法是一種根據(jù)驗(yàn)證者持有的加密貨幣數(shù)量確定權(quán)益份額的共識(shí)機(jī)制。在這種機(jī)制中,持有更多加密貨幣的驗(yàn)證者被認(rèn)為具有更高的權(quán)益。根據(jù)權(quán)益的比例,驗(yàn)證者被選中來創(chuàng)建新的區(qū)塊,并打包其中的交易信息。然而, PoS共識(shí)機(jī)制存在一個(gè)重要的弱點(diǎn),即貨幣依賴問題。攻擊者只需積累較多的加密貨幣,就能降低挖礦的難度,并更容易對(duì)系統(tǒng)發(fā)起攻擊。這意味著攻擊者可以通過掌握大量貨幣來控制網(wǎng)絡(luò),并可能采取惡意行為,從而降低系統(tǒng)的安全性?;谏鲜鰡栴},本文提出了基于信任值證明的共識(shí)機(jī)制(proof of trust,PoT)。
PoT算法借助參與聯(lián)邦學(xué)習(xí)中的每個(gè)客戶端的信任值實(shí)現(xiàn)節(jié)點(diǎn)間的共識(shí)機(jī)制,具體來說,參與聯(lián)邦學(xué)習(xí)的各個(gè)客戶端將本地模型數(shù)據(jù)和對(duì)應(yīng)的信任值上傳至區(qū)塊鏈節(jié)點(diǎn),并通過廣播的方式將本地模型數(shù)據(jù)傳遞給其他節(jié)點(diǎn)。隨后進(jìn)行共識(shí)驗(yàn)證。在每一輪訓(xùn)練中,具有最高信任值的節(jié)點(diǎn)被選為主節(jié)點(diǎn),獲得出塊權(quán),并生成新的區(qū)塊。其他節(jié)點(diǎn)對(duì)該主節(jié)點(diǎn)生成的區(qū)塊進(jìn)行驗(yàn)證,驗(yàn)證通過后將區(qū)塊寫入?yún)^(qū)塊鏈。PoT共識(shí)機(jī)制解決了PoW共識(shí)算法中資源消耗高、低吞吐量和延遲等問題,同時(shí)也解決了PoS共識(shí)算法安全度低的問題。這種機(jī)制更適用于聯(lián)邦學(xué)習(xí)場(chǎng)景。節(jié)點(diǎn)的信任值sti是根據(jù)本地模型與全局模型的相似度來評(píng)估的,具體的計(jì)算公式如下:
其中:θti表示代理pi本地更新的策略網(wǎng)絡(luò)參數(shù);θtglobal 表示當(dāng)前輪次的全局策略網(wǎng)絡(luò)參數(shù);α表示歷史系數(shù),用于平衡當(dāng)前信任值與歷史信任值的權(quán)重。 價(jià)值網(wǎng)絡(luò)更新過程與策略網(wǎng)絡(luò)參數(shù)同理。
a)主節(jié)點(diǎn)選擇。在每一輪訓(xùn)練中,參與聯(lián)邦學(xué)習(xí)的所有客戶端代理都將其訓(xùn)練的參數(shù)以及對(duì)應(yīng)的信任值上傳到區(qū)塊鏈節(jié)點(diǎn)。在本文中,節(jié)點(diǎn)的信任值被視為遴選主節(jié)點(diǎn)的依據(jù),其中信任值最高的節(jié)點(diǎn)被選做主節(jié)點(diǎn)(Nreader),負(fù)責(zé)完成區(qū)塊的打包工作。
b)打包區(qū)塊。主節(jié)點(diǎn)將本輪參與聯(lián)邦學(xué)習(xí)的各個(gè)客戶端代理訓(xùn)練產(chǎn)生的數(shù)據(jù)打包到候選區(qū)塊blockt中,該候選區(qū)塊由區(qū)塊頭和區(qū)塊體兩部分組成,即blockt={〈Ht-1,Ht〉,〈θi,Ti,sti〉}。區(qū)塊頭中包含前一區(qū)塊的哈希值Ht-1,和本區(qū)塊的哈希值Ht等字段,而區(qū)塊體則包含本地模型參數(shù)θi、訓(xùn)練時(shí)間Ti以及主節(jié)點(diǎn)信任值sti。主節(jié)點(diǎn)對(duì)打包好的區(qū)塊進(jìn)行數(shù)字簽名并廣播給其他節(jié)點(diǎn)nj,隨后進(jìn)入?yún)^(qū)塊驗(yàn)證階段。
c)區(qū)塊驗(yàn)證。主節(jié)點(diǎn)以外的其他參與節(jié)點(diǎn)nj要對(duì)該區(qū)塊blockt進(jìn)行共識(shí)驗(yàn)證,僅當(dāng)這些節(jié)點(diǎn)對(duì)廣播的區(qū)塊驗(yàn)證通過時(shí),才能確認(rèn)主節(jié)點(diǎn)發(fā)布的內(nèi)容的可信性。首先,要驗(yàn)證數(shù)字簽名和哈希值是否正確,以此確定節(jié)點(diǎn)的身份并且保證區(qū)塊的數(shù)據(jù)沒有被竄改或損壞。除此之外,還要根據(jù)自身存儲(chǔ)的本地?cái)?shù)據(jù)對(duì)主節(jié)點(diǎn)發(fā)布的本地模型參數(shù)θi、訓(xùn)練時(shí)間Ti以及主節(jié)點(diǎn)的信任值sti進(jìn)行驗(yàn)證,當(dāng)有2N/3個(gè)節(jié)點(diǎn)驗(yàn)證通過時(shí),該區(qū)塊被認(rèn)定為有效。驗(yàn)證過程如算法2所示。
d)區(qū)塊上鏈。通過其他節(jié)點(diǎn)的驗(yàn)證,主節(jié)點(diǎn)將驗(yàn)證合法的區(qū)塊blockt添加到區(qū)塊鏈上。接下來對(duì)本地模型參數(shù)進(jìn)行聚合,然后將得到的全局模型參數(shù)下發(fā)給各個(gè)客戶端代理,進(jìn)行新一輪的訓(xùn)練,具體流程如圖4所示。
算法2 區(qū)塊驗(yàn)證算法
輸入:待驗(yàn)證的區(qū)塊信息block。
輸出:區(qū)塊驗(yàn)證結(jié)果is_valid。
a)提取區(qū)塊頭信息block_header
b)提取區(qū)塊體信息block_body
c)從區(qū)塊頭信息中提取前一個(gè)區(qū)塊的哈希值previous_hash、當(dāng)前區(qū)塊的哈希值current_hash、主節(jié)點(diǎn)的數(shù)字簽名signature
d)從區(qū)塊體信息中提取本地訓(xùn)練模型參數(shù)model_params,訓(xùn)練時(shí)間training_time和信任值trust_value
e)驗(yàn)證前一個(gè)區(qū)塊的哈希值是否正確:
f)previous_block_hash=get_previous_block_hash()
g)if previous_hash= =previous_block_hash then
h) is_previous_hash_valid=true
i)else
j) is_previous_hash_valid=1
k)end if
l)驗(yàn)證區(qū)塊頭的哈希值和數(shù)字簽名是否正確:
m) is_hash_valid=verify_hash(current_hash,block_header)
n) is_signature_valid=verify_signature(signature,block_header)
o)驗(yàn)證區(qū)塊體的合法性:
p) is_body_valid=validate_block_body(model_params,training_time,trust_value)
q)如果所有驗(yàn)證都通過,則區(qū)塊是有效的:
r) if is_previous_hash_valid and is_hash_valid and is_signature_valid and is_body_valid then
s) is_valid=true
t)else
u) is_valid=1
v)end if
w)返回區(qū)塊驗(yàn)證結(jié)果is_valid
3 實(shí)施
為了實(shí)現(xiàn)模型的構(gòu)建,本文采用了Python中的PyTorch開源框架來實(shí)現(xiàn)深度強(qiáng)化學(xué)習(xí)算法。在dash.js實(shí)例中,多個(gè)代理被視為同一臺(tái)主機(jī)上不同端口的多個(gè)實(shí)例,并以子程序的形式運(yùn)行。具體的實(shí)驗(yàn)環(huán)境如表1所示。
a)客戶端。使用Google Chrome瀏覽器作為視頻客戶端, Chrome瀏覽器經(jīng)過配置后可與視頻服務(wù)器建立QUIC連接。同時(shí)還修改了dash.js,使得它能夠跟蹤視頻播放過程中 DRL算法的參數(shù)輸入以及客戶端與服務(wù)器之間的參數(shù)傳遞。另外,通過在每個(gè)Chrome瀏覽器上運(yùn)行一個(gè)dash.js實(shí)例來啟動(dòng)視頻流服務(wù),并利用MPC算法進(jìn)行比特率決策。
b)服務(wù)器。為便于修改網(wǎng)絡(luò)擁塞控制協(xié)議,采用QUIC協(xié)議的Nginx服務(wù)器作為網(wǎng)絡(luò)傳輸平臺(tái),將其部署到阿里云服務(wù)器上。通過對(duì)Nginx的相關(guān)模塊和quiche的底層擁塞控制代碼進(jìn)行改進(jìn),使視頻服務(wù)器能解析GET請(qǐng)求所附帶的帶寬分配權(quán)重,并以此為每個(gè)流的乘性減因子進(jìn)行更新。
c) 視頻數(shù)據(jù)集。鑒于不同視頻在內(nèi)容上的差異,本文選取了不同類型的視頻,包括科幻、動(dòng)漫、動(dòng)作等,并將其整合成視頻數(shù)據(jù)集。所有視頻均由H.264/MPEG-4編/解碼器以300、750、1 200、1 850、2 850、4 000 Kbps的比特率進(jìn)行轉(zhuǎn)碼并切片,視頻塊長(zhǎng)度為5 s。此外,對(duì)所有視頻塊VMAF分?jǐn)?shù)進(jìn)行計(jì)算并將其存放在服務(wù)器上,通過修改后的dash.js能夠在請(qǐng)求視頻塊時(shí)同步獲取該視頻塊的VMAF分?jǐn)?shù)。
d) 網(wǎng)絡(luò)追蹤數(shù)據(jù)集。為了模擬更加多樣的網(wǎng)絡(luò)條件,本文使用了FCC和3G/HSDPA的網(wǎng)絡(luò)跟蹤來模擬隨時(shí)間高度變化的網(wǎng)絡(luò)吞吐量。這些網(wǎng)絡(luò)追蹤數(shù)據(jù)用于調(diào)整瓶頸鏈路的可用帶寬容量,考慮到網(wǎng)絡(luò)的復(fù)雜性并且為了避免選擇比特率很簡(jiǎn)單的情況,即長(zhǎng)時(shí)間能夠選擇最高比特率或始終只能選擇最低比特率的情況,本文篩選了平均吞吐量小于8 Mbps并且最小吞吐量高于0.6 Mbps的網(wǎng)絡(luò)追蹤數(shù)據(jù)作為網(wǎng)絡(luò)追蹤數(shù)據(jù)集。
e)模型參數(shù)設(shè)置。為了訓(xùn)練DRL代理,需要將歷史QoE分?jǐn)?shù)、下一視頻塊的文件大小和視頻質(zhì)量分?jǐn)?shù)分別儲(chǔ)存在一個(gè)大小為6的數(shù)組中,這些數(shù)組經(jīng)過一個(gè)包含32個(gè)濾波器的一維卷積層進(jìn)行處理,卷積層的輸出結(jié)果通過一個(gè)連接層與其他四個(gè)觀察值進(jìn)行聚合。最后,通過一個(gè)由64個(gè)神經(jīng)元組成的隱藏層與最終的softmax激活函數(shù)進(jìn)行連接,其輸出結(jié)果用來描述不同的帶寬分配權(quán)重被選中的概率。值得注意的是,價(jià)值網(wǎng)絡(luò)采用與之相同的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
4 評(píng)估
本文旨在提升用戶之間的QoE公平性,并同時(shí)實(shí)現(xiàn)整體QoE效率的最大化。為此,提出了一種基于QoE公平性和整體QoE效率的度量方法。在多視頻用戶場(chǎng)景下,本文使用Jain’s 公平系數(shù)來衡量QoE的公平性,同時(shí)使用所有用戶的QoE均值來表示QoE的效率。為了驗(yàn)證所提算法的先進(jìn)性,與以下四種經(jīng)典算法進(jìn)行對(duì)比實(shí)驗(yàn)。
a)MPC[11]。經(jīng)典的啟發(fā)式算法,根據(jù)網(wǎng)絡(luò)吞吐量和緩沖區(qū)占用率相結(jié)合的方式預(yù)測(cè)未來的碼率,通過最大化未來幾個(gè)視頻塊的QoE的方式來進(jìn)行比特率決策。
b)Pensieve[13]。首次將深度強(qiáng)化學(xué)習(xí)算法與ABR算法結(jié)合。通過智能體與環(huán)境的自動(dòng)交互來訓(xùn)練QoE指標(biāo)參數(shù)。
c) Comyco[22]。通過模仿學(xué)習(xí)實(shí)現(xiàn)質(zhì)量感知的自適應(yīng)視頻流。
d)VSiM[27]。面向多個(gè)移動(dòng)客戶端的移動(dòng)視頻流量端到端QoE公平性方案
4.1 固定帶寬下的公平性調(diào)度策略
為了評(píng)估FBLB算法在提高QoE的公平性和整體QoE效率方面的優(yōu)勢(shì),首先進(jìn)行了固定帶寬條件下的公平性調(diào)度算法評(píng)估。通過對(duì)服務(wù)器下行帶寬進(jìn)行限速,分別模擬出瓶頸鏈路帶寬容量為1、2、4、6 Mbps的固定帶寬場(chǎng)景。具體而言,三種相同類型的視頻客戶端在同一時(shí)間開始播放從視頻數(shù)據(jù)集中隨機(jī)選擇的視頻,并在共享的瓶頸鏈路上競(jìng)爭(zhēng)。
圖5(a)(b)展示了FBLB算法在不同固定帶寬條件下QoE公平性和整體QoE效率與三種對(duì)比算法之間的比較結(jié)果。結(jié)果表明,F(xiàn)BLB算法在提高QoE公平性和整體QoE效率方面表現(xiàn)出更好的效果。FBLB算法的改進(jìn)幅度與瓶頸鏈路容量有關(guān),在低速網(wǎng)絡(luò)連接中,F(xiàn)BLB算法的改進(jìn)效果更顯著。例如,在鏈路容量為1 Mbps時(shí),F(xiàn)BLB算法的QoE公平性分別比MPC、Pensieve、Comyco、VSiM算法提高了10%、7%、3%、5%。隨著視頻碼率的提高,視頻內(nèi)容的差異對(duì)視頻質(zhì)量的影響逐步減小,因此在更高速的網(wǎng)絡(luò)連接中,用戶之間的QoE更加公平。此時(shí),F(xiàn)BLB算法的改進(jìn)效果會(huì)有所下降,例如在鏈路容量為6 Mbps時(shí),F(xiàn)BLB算法的QoE公平性相較于MPC、Pensieve、Comyco和VSiM算法分別提高了4%、3%、2%、2%。
為了探究FBLB如何實(shí)現(xiàn)更好的QoE公平性,本文收集了2 Mbps固定帶寬條件下,MPC和FBLB的發(fā)送速率以及QoE分?jǐn)?shù)。如圖6所示,盡管ABR算法可以為每個(gè)用戶公平分配帶寬,但由于視頻內(nèi)容的差異,具有相同可用帶寬的視頻用戶之間的QoE可能不公平。相比之下,F(xiàn)BLB能夠感知到用戶間QoE的差異,并動(dòng)態(tài)調(diào)整視頻流之間的帶寬分配,從而間接影響ABR算法的決策,最終提高視頻流之間的QoE公平性,如圖7所示。同時(shí),在時(shí)間t時(shí)刻,對(duì)三個(gè)客戶端用戶觀看視頻的感知質(zhì)量進(jìn)行了對(duì)比,如圖8所示,其中(a)展示了采用連接級(jí)的方式分配帶寬時(shí)每個(gè)用戶的感知質(zhì)量情況,而(b)則顯示了利用本文方法所實(shí)現(xiàn)的每個(gè)用戶的感知質(zhì)量情況。實(shí)驗(yàn)結(jié)果表明,采用連接級(jí)的方式分配帶寬可能導(dǎo)致客戶端之間的不公平。然而采用本文方法,盡管客戶端1和2的感知質(zhì)量略有下降,但三個(gè)客戶端的感知質(zhì)量變得更加均衡,使得三個(gè)客戶端都能夠獲得更公平的服務(wù)。
4.2 動(dòng)態(tài)帶寬下的公平性調(diào)度策略
為了評(píng)估FBLB算法在動(dòng)態(tài)網(wǎng)絡(luò)中的性能表現(xiàn),本文利用真實(shí)網(wǎng)絡(luò)的帶寬追蹤數(shù)據(jù)來模擬瓶頸鏈路的動(dòng)態(tài)變化,以盡可能提高實(shí)驗(yàn)過程中網(wǎng)絡(luò)狀態(tài)的多樣性。為了考慮到真實(shí)網(wǎng)絡(luò)中視頻流請(qǐng)求的隨機(jī)性,實(shí)驗(yàn)中參與的客戶端不是同時(shí)對(duì)視頻進(jìn)行請(qǐng)求,而是隨機(jī)地對(duì)視頻數(shù)據(jù)集中的視頻進(jìn)行點(diǎn)播。
如圖9(a)(b)所示,F(xiàn)BLB算法在QoE公平性方面相比MPC、Comyco和Pensieve、VSiM算法分別提升了12%、3%、9%和4%。這是因?yàn)镕BLB算法注重視頻流的長(zhǎng)期QoE公平性,在應(yīng)對(duì)高度動(dòng)態(tài)的網(wǎng)絡(luò)環(huán)境時(shí)具有優(yōu)勢(shì)。此外,F(xiàn)BLB的平均QoE也比其他四種算法有明顯的提高。
為了研究在不同時(shí)間點(diǎn)開啟視頻時(shí)FBLB算法如何保持較高的QoE公平性,本文收集了在固定帶寬條件下(6 Mbps)使用FBLB算法時(shí)的帶寬占用軌跡。具體步驟為:a)打開了兩個(gè)客戶端,以占滿瓶頸鏈路中的帶寬;b)開啟第三個(gè)客戶端。根據(jù)圖10,F(xiàn)BLB算法仍能夠感知到用戶QoE的變化,并相應(yīng)地調(diào)整視頻流之間的帶寬,以保持用戶之間的QoE公平性。FBLB算法之所以能夠自適應(yīng)調(diào)整帶寬,是因?yàn)楫?dāng)鏈路中的帶寬容量足夠充裕時(shí),擁塞控制算法會(huì)根據(jù)帶寬權(quán)重因子為每個(gè)視頻流分配相應(yīng)的帶寬。而當(dāng)鏈路帶寬容量不足時(shí),則根據(jù)每個(gè)視頻流的帶寬權(quán)重比例分配帶寬。通過這樣的調(diào)整,可以確保不同時(shí)間點(diǎn)開啟視頻的用戶都能獲得較高的QoE,并且各用戶之間能夠享受到公平的帶寬分配。
為了探究FBLB是如何提升整體QoE效率的,本文收集了每種方案在實(shí)驗(yàn)過程中的視頻質(zhì)量、重新緩沖時(shí)間和視頻平滑度。如圖11所示,通過分析得出:FBLB通過增加具有重新緩沖風(fēng)險(xiǎn)的客戶端的權(quán)重來快速建立緩沖區(qū),有效地降低了客戶端的重新緩沖時(shí)間,同時(shí)使視頻流之間利用共享的瓶頸鏈路建立起一個(gè)全局的緩沖池。而這帶來了另一個(gè)好處,即能夠讓同一瓶頸鏈路中的客戶端獲得更高的整體視頻質(zhì)量。在本文的設(shè)置中,由于每個(gè)客戶端所請(qǐng)求的第一個(gè)視頻塊始終以最低質(zhì)量獲取,當(dāng)視頻客戶端接收到系統(tǒng)反饋的本地以及全局參數(shù)后,即第二個(gè)視頻塊開始下載時(shí),帶寬分配權(quán)重的計(jì)算和更新功能才開始生效,所以緩沖事件是排除了由于啟動(dòng)導(dǎo)致的緩沖時(shí)間后的平均卡頓時(shí)間。
5 結(jié)束語(yǔ)
盡管視頻流量不斷增長(zhǎng),但在改善多用戶QoE公平性的可部署解決方案方面的研究相對(duì)較少。為此,本文提出了一種基于擁塞控制的主動(dòng)帶寬分配框架,該框架利用客戶端的播放器狀態(tài)和網(wǎng)絡(luò)觀測(cè)值以及服務(wù)器傳回的全局參數(shù)來分配帶寬,解決了帶寬分配不公平以及帶寬利用率低的問題,實(shí)現(xiàn)了QoE公平性。由于每個(gè)客戶端運(yùn)行在不同的網(wǎng)絡(luò)環(huán)境中,這些客戶端產(chǎn)生的數(shù)據(jù)并非獨(dú)立同分布,而且每個(gè)客戶端代理之間沒有任何信息共享。為了解決這些問題,本文提出了采用區(qū)塊鏈共識(shí)機(jī)制用于各個(gè)客戶端模型參數(shù)的聚合。為了驗(yàn)證提出的公平性帶寬分配算法的有效性,設(shè)計(jì)了一個(gè)能夠根據(jù)帶寬分配權(quán)重因子為每個(gè)視頻流分配帶寬的視頻點(diǎn)播系統(tǒng),并在阿里云上完成了部署。實(shí)驗(yàn)結(jié)果表明,本文方法QoE公平性分別比MPC、Pensieve、Comyco和VSiM算法提高了10%、7%、3%和5%。本文致力于解決同一條瓶頸鏈路中用戶QoE公平性的問題,但這項(xiàng)研究可推廣至多條鏈路之間,以探討多條鏈路之間的相互影響是否應(yīng)改變用戶的帶寬分配情況。因此,未來的研究將側(cè)重于多條瓶頸鏈路中帶寬的優(yōu)化,以更好地滿足不同用戶和應(yīng)用場(chǎng)景的需求,提高整體網(wǎng)絡(luò)性能和用戶體驗(yàn)。
參考文獻(xiàn):
[1]Stockhammer T. Dynamic adaptive streaming over HTTP: standards and design principles[C]//Proc of the 2nd Annual ACM Conference on Multimedia Systems. New York: ACM Press, 2011: 133-144.
[2]Bentaleb Taani B, Begen A C,et al.A survey on bitrate adaptation schemes for streaming media over HTTP[J].IEEE Communications Surveys amp; Tutorials , 2018, 21 (1): 562-585.
[3]Fouladi S, Emmons J, Orbay E,et al.Salsify: low-latency network video through tighter integration between a video codec and a transport protocol[C]//Proc of the 15th USENIX Symposium on Networked Systems Design and Implementation. 2018: 267-282.
[4]Akhtar Z, Nam Y S, Govindan R,et al.Oboe: auto-tuning video ABR algorithms to network conditions[C]//Proc of Conference of ACM Special Interest Group on Data Communication. New York: ACM Press, 2018: 44-58.
[5]Xie Xiufeng, Zhang Xinyu, Kumar S,et al.piStream: physical layer informed adaptive video streaming over LTE[C]//Proc of the 21st Annual International Conference on Mobile Computing and Net-working. New York: ACM Press, 2015: 413-425.
[6]Xiao Mengbai, Swaminathan V, Wei Sheng,et al.DASH2M: exploring HTTP/2 for Internet streaming to mobile devices[C]//Proc of the 24th ACM International Conference on Multimedia. New York: ACM Press, 2016: 22-31.
[7]Miller K,Al-Tamimi A K,Wolisz A. QoE-based low-delay live streaming using throughput predictions[J].ACM Trans on Multimedia Computing, Communications, and Applications , 2016, 13 (1): 1-24.
[8]Mueller C, Lederer S, Grandl R,et al.Oscillation compensating dynamic adaptive streaming over http[C]//Proc of IEEE International Conference on Multimedia and Expo. Piscataway,NJ:IEEE Press, 2015: 1-6.
[9]Yadav P K, Shafiei Wei T O. QUETRA: a queuing theory app-roach to DASH rate adaptation[C]//Proc of the 25th ACM International Conference on Multimedia. New York: ACM Press, 2017: 1130-1138.
[10]Spiteri K, Urgaonkar R, Sitaraman R K. BOLA: near-optimal bitrate adaptation for online videos[J].IEEE/ACM Trans on Net-working , 2020, 28 (4): 1698-1711.
[11]Yin Xiaoqi, Jindal Sekar V,et al.A control-theoretic approach for dynamic adaptive video streaming over HTTP[C]//Proc of ACM Conference on Special Interest Group on Data Communication. New York: ACM Press, 2015: 325-338.
[12]丁佳龍, 譚光. 大規(guī)??蛻舳艘曨l流帶寬調(diào)度[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用, 2022,31 (3): 294-301. (Ding Jialong, Tan Guang. Bandwidth scheduling of large-scale client video streams[J].Computer System amp; Applications , 2022,31 (3): 294-301.)
[13]Mao Hongzi, Netravali R, Alizadeh M. Neural adaptive video strea-ming with pensieve[C]//Proc of Conference of ACM Special Interest Group on Data Communication. New York: ACM Press, 2017: 197-210.
[14]Gao Guanyu, Dong Linsen, Zhang Huaizheng,et al.Content-aware personalised rate adaptation for adaptive streaming via deep video analysis[C]//Proc of IEEE International Conference on Communications. Piscataway, NJ: IEEE Press, 2019: 1-8.
[15]張柏藝. QoE驅(qū)動(dòng)的異構(gòu)無線網(wǎng)絡(luò)自適應(yīng)視頻傳輸控制算法設(shè)計(jì)與實(shí)現(xiàn)[D]. 南京: 南京郵電大學(xué), 2022. (Zhang Boyi. Design and implementation of adaptive video transmission control algorithm for heterogeneous wireless network driven by QoE[D]. Nanjing: Nanjing University of Posts and Telecommunications, 2022.)
[16]葉進(jìn), 肖慶宇, 陳梓晗, 等. 以用戶QoE預(yù)測(cè)值為獎(jiǎng)勵(lì)的視頻自適應(yīng)比特率算法[J]. 電子科技大學(xué)學(xué)報(bào), 202 50 (2): 236-242. (Ye Jin, Xiao Qingyu, Chen Zihan,et al.A video adaptive bitrate algorithm with user QoE predication as reward[J].Journal of University of Electronic Science and Technology of China , 202 50 (2): 236-242.)
[17]Jose J M, Panchami V. A survey on consensus algorithms in blockchain based on post quantum cryptosystems[C]//Proc of the 5th International Conference on Computational Intelligence and Networks. Piscataway, NJ: IEEE Press, 2022: 1-6.
[18]Seufert M, Egger S, Slanina M,et al.A survey on quality of experience of HTTP adaptive streaming[J].IEEE Communications Surveys amp; Tutorials , 2014, 17 (1): 469-492.
[19]Nathan V, Sivaraman V, Addanki R,et al.End-to-end transport for video QoE fairness[C]//Proc of ACM Special Interest Group on Data Communication. New York: ACM Press, 2019: 408-423.
[20]Jiang Junchen, Sekar V, Zhang Hui. Improving fairness, efficiency, and stability in http-based adaptive video streaming with festive[C]//Proc of the 8th International Conference on Emerging Networking Experiments and Technologies. New York: ACM Press, 2012: 97-108.
[21]Yin Xiaoqi, Bartulovi c 'M, Sekar V,et al.On the efficiency and fairness of multiplayer HTTP-based adaptive video streaming[C]//Proc of American Control Conference. Piscataway,NJ:IEEE Press, 2017: 4236-4241.
[22]Huang Tianchi, Zhou Chao, Zhang Ruixiao,et al.Comyco: quality-aware adaptive video streaming via imitation learning[C]//Proc of the 27th ACM International Conference on Multimedia. New York: ACM Press, 2019: 429-437.
[23]Manfredi G, De Cicco L, Mascolo S. Optimal QoE-Fair resource allocation in multipath video delivery network[J].IEEE Trans on Network and Service Management , 2022, 19 (3): 3487-3500.
[24]Altamimi S,Shirmohammadi S.Client-server cooperative and fair DASH video streaming[C]//Proc of the 29th ACM Workshop on Network and Operating Systems Support for Digital Audio and Video. New York: ACM Press, 2019: 1-6.
[25]Spiteri K, Sitaraman R, Sparacio D. From theory to practice: improving bitrate adaptation in the DASH reference player[J].ACM Trans on Multimedia Computing, Communications, and Applications , 2019, 15 (2S): 1-29.
[26]Bentaleb Lim M, Akcay M N,et al.Meta reinforcement learning for rate adaptation[C]//Proc of IEEE INFOCOM Conference on Computer Communications. Piscataway,NJ:IEEE Press, 2023: 1-10.
[27]Yuan Yali, Wang Weijun, Wang Yuhan,et al.VSiM: improving QoE fairness for video streaming in mobile environments[C]//Proc of IEEE INFOCOM Conference on Computer Communications. Pisca-taway, NJ: IEEE Press, 2022: 1309-1318.
[28]Li Zhi, Aaron Katsavounidis I,et al.Toward a practical perceptual video quality metric[J].The Netflix Tech Blog,2016, 6 (2): 2.
收稿日期:2023-08-18;修回日期:2023-10-11基金項(xiàng)目:河北省高等學(xué)??茖W(xué)技術(shù)研究資助項(xiàng)目(ZD2022102)
作者簡(jiǎn)介: 張春陽(yáng)(1997—),男(回族),河北滄州人,碩士,主要研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)、視頻流傳輸;楊志剛,男(通信作者),河北唐山人,副教授,碩導(dǎo),碩士,主要研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)、網(wǎng)絡(luò)化控制(yzg@ncst.edu.cn);劉亞志(1982—),男,河北唐山人,教授,碩導(dǎo),博士,主要研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)、視頻流傳輸、移動(dòng)邊緣計(jì)算;李偉(1979—),男,河北唐山人,高級(jí)實(shí)驗(yàn)師,碩導(dǎo),碩士,主要研究方向?yàn)榫W(wǎng)絡(luò)安全、機(jī)器學(xué)習(xí).