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