基于網(wǎng)絡(luò)的自適應(yīng)速率限制的制作方法
【技術(shù)領(lǐng)域】
[0001]本公開涉及網(wǎng)絡(luò)通信,并且更具體地,涉及速率限制。
【背景技術(shù)】
[0002]自適應(yīng)比特率流式傳輸(streaming)是在通過計(jì)算機(jī)網(wǎng)絡(luò)向一個(gè)或多個(gè)客戶端流式傳輸多媒體中使用的技術(shù),例如該技術(shù)可以根據(jù)傳輸協(xié)議(例如,超文本傳輸協(xié)議(HTTP))來提供。自適應(yīng)流式傳輸一般是通過根據(jù)相應(yīng)客戶端的帶寬和能力來調(diào)整視頻流的速率而進(jìn)行操作的??蛻舳丝梢愿鶕?jù)可用的資源在具有不同編碼比特率的流式傳輸之間進(jìn)行相應(yīng)地切換。當(dāng)多個(gè)自適應(yīng)流式傳輸客戶端在瓶頸鏈路處互相競爭帶寬時(shí),每個(gè)客戶端可能很難估計(jì)自己的帶寬份額。由于在一個(gè)或多個(gè)客戶端處差的自適應(yīng)決定,這可能導(dǎo)致可令用戶分心的不穩(wěn)定性和/或頻繁的比特流改變。
【附圖說明】
[0003]圖1示出了自適應(yīng)速率限制系統(tǒng)的示例。
[0004]圖2示出了自適應(yīng)速率限制系統(tǒng)的另一示例。
[0005]圖3示出了將自適應(yīng)速率限制流量與高速數(shù)據(jù)流量相組合的系統(tǒng)的示例。
[0006]圖4示出了被配置為實(shí)現(xiàn)自適應(yīng)速率限制的網(wǎng)絡(luò)系統(tǒng)的示例。
[0007]圖5示出了用于執(zhí)行自適應(yīng)速率限制的方法的示例。
【具體實(shí)施方式】
[0008]挺述
[0009]本公開總體涉及網(wǎng)絡(luò)通信,并且更具體地,涉及基于網(wǎng)絡(luò)的自適應(yīng)速率限制。
[0010]作為示例,方法可以包括將權(quán)重分配至多個(gè)自適應(yīng)流式傳輸媒體會(huì)話中的給定流式傳輸會(huì)話,該多個(gè)自適應(yīng)流式傳輸會(huì)話被提供給饋入瓶頸鏈路的網(wǎng)絡(luò)節(jié)點(diǎn)。給定流式傳輸會(huì)話的速率限制可以基于所分配的權(quán)重和用于通過瓶頸鏈路向多個(gè)自適應(yīng)流式傳輸媒體會(huì)話提供流式傳輸媒體流量的有效目標(biāo)帶寬來計(jì)算。給定流式傳輸會(huì)話的下游速率可以被根據(jù)所計(jì)算的速率限制來調(diào)整。
[0011]作為另一示例,裝置可以包括會(huì)話速率限制計(jì)算器和速率限制器。會(huì)話速率限制計(jì)算器可以被配置為基于給定會(huì)話的狀態(tài)信息和下游瓶頸鏈路的狀態(tài)信息來計(jì)算多個(gè)活躍流式傳輸媒體會(huì)話中的給定會(huì)話的會(huì)話速率限制,其中該裝置將多個(gè)活躍流式傳輸媒體會(huì)話饋入該下游瓶頸鏈路。速率限制器可以被配置為基于所計(jì)算的會(huì)話速率限制來控制給定會(huì)話的下游流量,并且針對(duì)給定會(huì)話提供相應(yīng)的經(jīng)速率限制的下游流量。
[0012]作為又一示例,系統(tǒng)可以包括存儲(chǔ)器,該存儲(chǔ)器存儲(chǔ)會(huì)話數(shù)據(jù)和瓶頸數(shù)據(jù)。會(huì)話數(shù)據(jù)可以包括多個(gè)自適應(yīng)流式傳輸媒體會(huì)話中的每一個(gè)的狀態(tài)信息,瓶頸數(shù)據(jù)包括瓶頸鏈路的控制參數(shù)和狀態(tài)信息,其中多個(gè)自適應(yīng)流式傳輸媒體會(huì)話被通過該瓶頸鏈路向下游提供??刂葡到y(tǒng)可以包括會(huì)話速率限制計(jì)算器,該會(huì)話速率限制計(jì)算器被配置為計(jì)算多個(gè)自適應(yīng)流式傳輸媒體會(huì)話中的給定會(huì)話的會(huì)話速率限制,該會(huì)話速率限制基于瓶頸鏈路的控制參數(shù)和狀態(tài)信息而變化。會(huì)話速率限制器可以被配置為控制給定會(huì)話的比特率,該給定會(huì)話是通過瓶頸鏈路基于會(huì)話速率限制以提供給定會(huì)話的相應(yīng)經(jīng)速率限制的下游流量來向下游提供的。相比于被用來更新瓶頸鏈路的控制參數(shù)和狀態(tài)信息中的至少一個(gè)的時(shí)間尺度,對(duì)給定會(huì)話的比特率的控制可在不同時(shí)間尺度上執(zhí)行。
[0013]示例實(shí)施例
[0014]圖1描繪了可以實(shí)現(xiàn)網(wǎng)絡(luò)流量(例如,通過網(wǎng)絡(luò)被傳輸并且饋入這樣的網(wǎng)絡(luò)中的瓶頸鏈路的網(wǎng)絡(luò)流量)的速率限制的系統(tǒng)10的示例。如本文中所使用的,因此,瓶頸鏈路指網(wǎng)絡(luò)中的點(diǎn)或位置,一個(gè)或多個(gè)數(shù)據(jù)流通過該點(diǎn)或位置進(jìn)行傳遞用于向一個(gè)或多個(gè)客戶端通信流式傳輸媒體。一旦客戶端都升檔至足夠高的比特率,瓶頸鏈路上流動(dòng)的下游流量可足以驅(qū)使瓶頸鏈路進(jìn)入擁塞。
[0015]作為示例,因此,基于網(wǎng)絡(luò)的自適應(yīng)速率限制可以在網(wǎng)絡(luò)節(jié)點(diǎn)(例如,路由器或交換機(jī))12上實(shí)現(xiàn),該網(wǎng)絡(luò)節(jié)點(diǎn)12充當(dāng)承載下游方向(例如,從網(wǎng)絡(luò)到客戶端)中的許多自適應(yīng)流式傳輸會(huì)話的流量的瓶頸鏈路的入口。多個(gè)數(shù)據(jù)流的流量在本文中也被稱為會(huì)話。節(jié)點(diǎn)12被配置為提供一個(gè)或多個(gè)這樣的會(huì)話的經(jīng)速率限制的相應(yīng)下游流量。此外,如本文中所使用的,給定會(huì)話可以對(duì)應(yīng)于一個(gè)或多個(gè)協(xié)議連接,例如根據(jù)傳輸控制協(xié)議(TCP)。作為進(jìn)一步的示例,本文所公開的示例中的每一個(gè)可以對(duì)應(yīng)于超文本傳輸協(xié)議(HTTP)通信協(xié)議,例如本文所公開的示例中的每一個(gè)針對(duì)流式傳輸媒體可以通過TCP來通信(例如,根據(jù)HTTP/TCP來通信)。在另一示例中,每個(gè)會(huì)話的請(qǐng)求和響應(yīng)可以根據(jù)SPDY協(xié)議來通信(例如,根據(jù)HTTP/sroY/TCP來通信)。在又一示例中,快速UDP互聯(lián)網(wǎng)連接(QUIC)可以被用作用于傳輸會(huì)話的傳輸層網(wǎng)絡(luò)協(xié)議(例如,根據(jù)HTTP/SroY/QUIC來通信)。也可以利用其他協(xié)議。在一些示例中,會(huì)話可以包括用于從內(nèi)容傳送網(wǎng)絡(luò)向一個(gè)或多個(gè)相應(yīng)的下游客戶端傳送流式傳輸視頻的HTTP自適應(yīng)流式傳輸(HAS)會(huì)話。
[0016]如本文所公開的,系統(tǒng)10通過調(diào)整每個(gè)活躍會(huì)話的每會(huì)話比特率限制來實(shí)現(xiàn)基于每個(gè)會(huì)話的自適應(yīng)速率限制,從而促進(jìn)并且使得自適應(yīng)會(huì)話客戶端能夠做出穩(wěn)定的速率選擇并且提升整體用戶體驗(yàn)。如本文所使用的,速率限制可以包括流量監(jiān)管、流量整形(shaping)、或它們的組合。監(jiān)管和整形可以被應(yīng)用至任意網(wǎng)絡(luò)協(xié)議。
[0017]在圖1的示例中,系統(tǒng)10包括流量監(jiān)測器14,該流量監(jiān)測器14被配置為監(jiān)測網(wǎng)絡(luò)流量并且接收相關(guān)參數(shù)。流量監(jiān)測器14可以提供網(wǎng)絡(luò)的軟件配置信息,例如包括瓶頸鏈路狀態(tài)信息16以及每會(huì)話狀態(tài)信息18。例如,瓶頸鏈路狀態(tài)信息16可以包括指示由節(jié)點(diǎn)12在下游方向上驅(qū)使的瓶頸鏈路的目標(biāo)帶寬的值。瓶頸鏈路狀態(tài)信息16還可以包括活躍的下游會(huì)話的聚合權(quán)重值的指示。因此,瓶頸鏈路狀態(tài)信息16可以包括關(guān)于瓶頸鏈路的狀態(tài)的信息以及與網(wǎng)絡(luò)流量相關(guān)聯(lián)的聚合信息(包括關(guān)于相應(yīng)會(huì)話的聚合信息)。
[0018]會(huì)話狀態(tài)信息18可以針對(duì)多個(gè)會(huì)話中的每一個(gè)會(huì)話被提供。這可以包括活躍會(huì)話以及非活躍會(huì)話。在其他示例中,非活躍會(huì)話的數(shù)據(jù)可以被移除。作為示例,對(duì)于每個(gè)會(huì)話,會(huì)話狀態(tài)信息18可以包括會(huì)話標(biāo)識(shí)符、分配至?xí)挼臋?quán)重值、以及其他相關(guān)會(huì)話信息(例如,指示會(huì)話是活躍或非活躍的狀態(tài)值、對(duì)應(yīng)于會(huì)話的通過下游瓶頸鏈路發(fā)送的最后分組的時(shí)間戳)。
[0019]如本文所公開的,瓶頸鏈路狀態(tài)信息和會(huì)話狀態(tài)信息可以由流量監(jiān)測器基于監(jiān)測通過這樣的鏈路的流量來提供。除了流量監(jiān)測器14的活躍網(wǎng)絡(luò)流量監(jiān)測功能,流量監(jiān)測器可以包括控制器(未示出),該控制器被配置為接收軟件配置參數(shù),例如包括目標(biāo)帶寬和分配至相應(yīng)會(huì)話的權(quán)重值的指示。因此,流量監(jiān)測器14可以包括一個(gè)或多個(gè)計(jì)算器,該一個(gè)或多個(gè)計(jì)算器基于它接收到的配置信息來計(jì)算其他流量相關(guān)的參數(shù)。例如,由于每個(gè)會(huì)話的狀態(tài)信息18可以包括相應(yīng)的會(huì)話權(quán)重值,因此瓶頸鏈路狀態(tài)信息16中的總權(quán)重值可以從被分配給多個(gè)活躍會(huì)話中的每一個(gè)活躍會(huì)話的單獨(dú)狀態(tài)信息中得出。流量監(jiān)測器14還可以做出會(huì)話是否是活躍的確定。
[0020]會(huì)話速率限制計(jì)算器20被配置為基于瓶頸鏈路狀態(tài)信息16和給定會(huì)話的會(huì)話狀態(tài)信息18來計(jì)算多個(gè)活躍流式傳輸媒體會(huì)話中的給定會(huì)話的會(huì)話速率限制。會(huì)話速率限制器22被配置為基于由計(jì)算器20計(jì)算的速率限制來提供經(jīng)速率限制的下游會(huì)話流量??梢愿鶕?jù)不同速率限制技術(shù)來實(shí)現(xiàn)會(huì)話速率限制器22,例如速率限制技術(shù)可以包括流量監(jiān)管、流量整形、或整形功能和監(jiān)管功能的組合。如本文所公開的,取決于用于針對(duì)多個(gè)活躍流式傳輸媒體會(huì)話中的每一個(gè)實(shí)現(xiàn)相應(yīng)的速率限制的會(huì)話數(shù)量,可以分別存在任意數(shù)量的速率會(huì)話計(jì)算器20和會(huì)話速率限制器22。每個(gè)會(huì)話的經(jīng)速率限制的下游流量可以被聚合并且被提供至用于通過瓶頸鏈路進(jìn)行發(fā)送的傳輸隊(duì)列。應(yīng)當(dāng)理解和明白的是,速率限制系統(tǒng)10可以在給定節(jié)點(diǎn)12之內(nèi)被實(shí)現(xiàn)為硬件、存儲(chǔ)在非暫態(tài)計(jì)算機(jī)可讀介質(zhì)中的可執(zhí)行指令、或硬件與可執(zhí)行指令的組合。自適應(yīng)速率限制方法因此可以減輕失速(stall)、提升視頻質(zhì)量、并且提升流式傳輸視頻媒體的穩(wěn)定性。
[0021]圖2描繪了可以在通過通信網(wǎng)絡(luò)的瓶頸鏈路來饋入數(shù)據(jù)的節(jié)點(diǎn)處被實(shí)現(xiàn)的速率限制系統(tǒng)50的示例。速率限制系統(tǒng)50被配置為根據(jù)給定傳輸協(xié)議來接收下游會(huì)話流量,并且向用于饋入多個(gè)下游客戶端的瓶頸鏈路提供相應(yīng)的經(jīng)速率限制的下游流量。速率限制系統(tǒng)50當(dāng)被應(yīng)用于對(duì)如下下游流量進(jìn)行速率限制時(shí)具有特別效用,所述下游流量被提供至多個(gè)HTTP自適應(yīng)流式傳輸(HAS)客戶端作為相應(yīng)流式傳輸媒體會(huì)話。在這樣的示例中,HAS客戶端可以通過針對(duì)所請(qǐng)求的流式傳輸媒體在不同編碼方式之間切換來競爭可用帶寬。如本文所公開的,自適應(yīng)速率限制系統(tǒng)50可以基于與每個(gè)活躍流式傳輸會(huì)話相關(guān)聯(lián)的狀態(tài)信息和與瓶頸鏈路52相關(guān)聯(lián)的狀態(tài)信息,來動(dòng)態(tài)地計(jì)算各個(gè)流式傳輸會(huì)話的速率限制。系統(tǒng)50可以轉(zhuǎn)而根據(jù)所計(jì)算的各個(gè)相應(yīng)會(huì)話的速率限制來調(diào)整各個(gè)相應(yīng)活躍流式傳輸會(huì)話的下游比特率。
[0022]在圖2的示例中,系統(tǒng)50包括控制系統(tǒng)54,該控制系統(tǒng)54被配置為控制在調(diào)整速率限制中利用的速率限制參數(shù)。系統(tǒng)50還可以包括存儲(chǔ)器56,該存儲(chǔ)器56可以存儲(chǔ)多個(gè)會(huì)話60中的每一個(gè)會(huì)話的會(huì)話數(shù)據(jù)58(在會(huì)話I到會(huì)話N處所指示的,其中N是正整數(shù))。控制系統(tǒng)54可以執(zhí)行相應(yīng)的功能(例如,計(jì)算器和控制回路),該相應(yīng)的功能可以被利用來更新各個(gè)相應(yīng)會(huì)話60的會(huì)話數(shù)據(jù)??刂葡到y(tǒng)54還可以包括被配置為確定瓶頸數(shù)據(jù)62的功能和方法。
[0023]各個(gè)相應(yīng)會(huì)話的會(huì)話數(shù)據(jù)可以包括與各個(gè)相應(yīng)會(huì)話的標(biāo)識(shí)和操作相關(guān)聯(lián)的參數(shù)。例如,這樣的會(huì)話數(shù)據(jù)可以包括會(huì)話標(biāo)識(shí)符(ID)、會(huì)話權(quán)重值、會(huì)話速率限制r[i](其中i表示給定會(huì)話)、以及可以在實(shí)現(xiàn)系統(tǒng)50的速率限制中被利用的其他會(huì)話狀態(tài)信息??刂葡到y(tǒng)54可以被實(shí)現(xiàn)為包括一個(gè)或多個(gè)處理核心、算術(shù)邏輯單元、或可以訪問和執(zhí)行相應(yīng)指令(例如,從存儲(chǔ)器)從而控