專利名稱:對于多個(gè)客戶機(jī)管理流媒體帶寬的制作方法
對于多個(gè)客戶機(jī)管理流媒體帶寬相關(guān)申請本申請要求在2010年4月8日提交的美國臨時(shí)專利序列No. 61/321891作為優(yōu)先權(quán),在此加入它作為參考。
背景技術(shù):
在因特網(wǎng)上,視頻流是重要的應(yīng)用。可用的流、服務(wù)器和用戶的數(shù)量迅速增加,并且是帶寬的主要消費(fèi)者?!敖?jīng)典”流通過以很少的反饋從服務(wù)器向客戶機(jī)傳送流執(zhí)行原本形式的流。只有在給定的時(shí)間內(nèi)客戶機(jī)不接收數(shù)據(jù)時(shí),才提供反饋。如果在TCP協(xié)議上或者通過由客戶機(jī)重新發(fā)送對于流的請求發(fā)送流,那么可通過確認(rèn)(Ack)消息的使用或缺少完成反饋。在許多情況下,使用的協(xié)議是RTSP。具有“經(jīng)典”流的自適應(yīng)位率由于服務(wù)器和客戶機(jī)在它們之間不具有媒體的清楚的可見性,因此,實(shí)際上服務(wù)器不可能知道具有一個(gè)特定的位率的流是否可到達(dá)客戶機(jī)或者路徑上的帶寬阻塞是否會阻擋客戶機(jī)接收它。因此,服務(wù)器采用不同的自適應(yīng)的位率方法。在所有的情況下,服務(wù)器保持一些版本的流,每個(gè)以不同的位率被編碼。在一般的情況下,如果具有特定的位率的流的段沒有到達(dá)客戶機(jī),那么服務(wù)器會嘗試以較低的位率重新傳送流??赏ㄟ^降低空間分辨率、每秒的幀數(shù)或者簡單地向流施加更強(qiáng)的壓縮實(shí)現(xiàn)較低的位率。在客戶機(jī)接收所有的傳送的段的情況下,服務(wù)器可恢復(fù)到流的更高位率版本并且傳送它們。在這些情況下,決定使用哪些位率的設(shè)備是服務(wù)器。HTTP 流出于包括防火墻限制和不同的服務(wù)器和客戶機(jī)之間的兼容性的不同的原因,市場一般已恢復(fù)到HTTP流(或者在恢復(fù)的過程中)。當(dāng)執(zhí)行HTTP流時(shí),客戶機(jī)在HTTP上請求文件下載。在這種情況下,客戶機(jī)可能僅請求文件的多個(gè)部分或全部。如果客戶機(jī)希望的話,它可停止文件的下載并要求服務(wù)器下載不同的文件。總之,在最簡單的意義上,HTTP流包含從服務(wù)器向客戶機(jī)的文件下載。這種類型的流常被稱為進(jìn)行性下載(PD)。具有HTTP流的自適應(yīng)位率(ABR)具有HTTP流的自適應(yīng)位率是相對較新的技術(shù)。當(dāng)使用它時(shí),服務(wù)器首先保存視頻片段的幾個(gè)不同的版本。差異通常是位率差,但也會在版本之間存在分辨率或其它的差異。不同的版本被分割成具有幾秒的回放持續(xù)期的通常被稱為碎片或塊體(在申請中,這些詞語可被互換使用)的小的段。服務(wù)器向客戶機(jī)發(fā)送清單文件。清單文件通知客戶機(jī)哪些版本是可用的、碎片的持續(xù)期以及客戶機(jī)在什么地方可找到不同的碎片??蛻魴C(jī)然后要求服務(wù)器傳送流的特定的碎片。ABR HTTP流也可與實(shí)時(shí)流一起使用。在這種情況下,清單文件被持續(xù)更新并被發(fā)送到客戶機(jī)。在一些ABR情況下,各位率塊體被存儲為單個(gè)文件。在其它的情況下,各文件保持具有一個(gè)特定的位率的整個(gè)流,并且,不同的塊體僅是文件的不同的段。其它的實(shí)現(xiàn)可僅包含通過位率和塊體分段的一個(gè)文件。如在經(jīng)典流中那樣,客戶機(jī)和服務(wù)器不具有關(guān)于它們之間的媒體的任何信息。因此,這里還需要用于確定流的位率的機(jī)制。在這種情況下,是客戶機(jī)進(jìn)行決定。在客戶機(jī)中實(shí)現(xiàn)的算法決定從服務(wù)器請求哪個(gè)位率塊體。決定會受諸如可用的緩沖器空間、客戶機(jī)的處理能力和帶寬考慮的幾種因素影響,比如,如果先前請求的塊體沒有被接收(可能由于網(wǎng)絡(luò)阻塞)一下一次請求低位率碎片。偶爾地,客戶機(jī)可請求具有比最后的接收的塊體高的位率的塊體。問題不同的客戶機(jī)常常共享常稱為最后英里信道的相同的資源。例如,蜂窩/移動(dòng)裝置可在較新的系統(tǒng)內(nèi)共享相同的單元,或者在較舊的系統(tǒng)內(nèi)的單元內(nèi)共享相同的頻率。在電纜網(wǎng)絡(luò)中,客戶機(jī)可共享相同的QAM信道。所有網(wǎng)絡(luò)中的最后英里信道限于特定的帶寬。常常地,該帶寬可能不足以允許所有服務(wù)要求的所有位率被傳送到下游裝置。為了減少數(shù)據(jù)損失,需要帶寬的一些管理。但是,在流中,管理是不可用的。網(wǎng)絡(luò)操作員可使用的僅有的方法是對于不同的裝置或服務(wù)設(shè)定優(yōu)先權(quán)并對于裝置或服務(wù)限定帶寬。兩種方案均不好。當(dāng)設(shè)定優(yōu)先權(quán)時(shí),一個(gè)服務(wù)或裝置可消費(fèi)極大量的帶寬并使其它的客戶機(jī)完全得不到。限制位率提出其它的問題,諸如在管道上留下未使用的帶寬或者將極限設(shè)定為太低使得服務(wù)根本不能被傳輸或者以許多中斷被傳輸。網(wǎng)絡(luò)操作員不能有效地管理最后英里信道,原因是它不知道服務(wù)器與客戶機(jī)之間的事務(wù)。以下是這些低效率的兩個(gè)例子,但存在更多的例子。出于簡化的原因,在例子中,假定只有流對話占據(jù)最后英里信道管道。未使用的帶寬假定所有的帶寬被利用并且各裝置根據(jù)請求接收塊體?,F(xiàn)在假定一個(gè)裝置停止請求服務(wù)并且停機(jī)。對于該裝置分配的帶寬現(xiàn)在是空閑的,但其它的裝置不知道這一點(diǎn),因此它們均不以更高的位率請求塊體。作為結(jié)果,帶寬保持空閑和未使用,直到裝置請求更高的位率。這意味著裝置中的至少一些可以以更高的位率接收塊體并因此具有更好的質(zhì)量,但這沒有出現(xiàn)。假定所有的帶寬被利用并且所有的裝置根據(jù)請求接收塊體?,F(xiàn)在假定一個(gè)裝置嘗試以更高的位率接收塊體,原因是它不知道所有的帶寬均被利用。它以更高的位率請求塊體。服務(wù)器嘗試傳送請求的塊體?,F(xiàn)在,在最后英里信道上存在阻塞,并且數(shù)據(jù)將被舍棄。舍棄的數(shù)據(jù)可以是服務(wù)于裝置中的任一個(gè)的數(shù)據(jù)。在統(tǒng)計(jì)上,多于一個(gè)的裝置受到影響。這可包含啟動(dòng)高位率請求的裝置。受影響的裝置將不接收它們請求的塊體。所有這些裝置將在TCP層中經(jīng)受損失,并因此會發(fā)送重新發(fā)送的請求。由于數(shù)據(jù)請求在HTTP層中被執(zhí)行并且是以幾秒的持續(xù)期對于碎片進(jìn)行的,因此,對于碎片的持續(xù)期,不能通過TCP或HTTP層機(jī)制校正這種情況。事實(shí)上,許多的數(shù)據(jù)將被舍棄。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的各種實(shí)施例,提供一種用于控制流媒體流的方法,該方法可包括對于多個(gè)流媒體流分配或接收分配的位率,各流媒體流可包含多個(gè)塊體并要求在受到帶寬限制的最后英里信道上流動(dòng);從在用戶裝置上被托管的客戶機(jī)接收多個(gè)塊體請求,各塊體請求指示用于流動(dòng)屬于流媒體流的媒體塊體的請求位率;如果請求的位率不符合分配的位率,改變至少一個(gè)塊體請求以符合分配的位率,以提供至少一個(gè)新的塊體請求;和向要求向用戶裝置流動(dòng)流媒體流的流媒體機(jī)發(fā)送至少一個(gè)新的塊體請求。該方法可包括關(guān)于請求的位率通知與新的塊體請求相關(guān)的客戶機(jī)。該方法可包括從與新的塊體請求相關(guān)的客戶機(jī)隱藏請求的位率的變化。流媒體機(jī)可以不知道最后英里信道的階段。該方法可包括從客戶機(jī)接收確認(rèn)消息,該確認(rèn)消息指示媒體塊體的接收;和延遲確認(rèn)消息的傳送,其中,延遲響應(yīng)于與客戶機(jī)相關(guān)的分配的位率。該方法可包括從客戶機(jī)接收確認(rèn)消息,確認(rèn)消息指示媒體塊體的接收;確定是否延遲確認(rèn)消息的傳送;和基于確定延遲確認(rèn)請求的傳送,其中,延遲響應(yīng)于分配的位率。該方法可包括通過與最后英里信道耦合的系統(tǒng)向流媒體流中的每一個(gè)分配分配的位率。該方法可包括通過客戶機(jī)之間的協(xié)作向流媒體流分配分配的位率。該方法可包括通過利用系統(tǒng)上的客戶機(jī)代理向流媒體流分配分配的位率,客戶機(jī)代理代理客戶機(jī)。該方法可包括基于流媒體流的質(zhì)量水平分配分配的位率。該方法可包括不改變與第一類型的流媒體流相關(guān)的文件請求;如果塊體請求與第二類型的流媒體流相關(guān),并且,如果請求的位率不符合分配的位率,則改變塊體請求以符合分配的位率來提供新的塊體請求;和將不變的塊體請求和新的塊體請求發(fā)送到要求將流媒體流流動(dòng)到用戶裝置的至少一個(gè)流媒體機(jī)。第一類型的流媒體流是進(jìn)行性下載。第二類型的流媒體流是自適應(yīng)位率流。該方法可包括通過多個(gè)客戶機(jī)之間的協(xié)作向流媒體流分配分配的位率。該方法可包括通過利用在與最后英里信道耦合的系統(tǒng)上的客戶機(jī)代理向流媒體流分配分配的位率。該方法可包括對于不同類型的流媒體流執(zhí)行不同的位率控制策略。最后英里信道是有線信道。最后英里信道是無線信道。分配的位率的分配的位率是流媒體流的最大可允許位率的預(yù)定部分。分配的位率的分配的位率是流媒體流的最大可允許位率的百分比。該方法可包括向流媒體流分配分配的位率。該方法可包括接收對于流媒體流的分配的位率。根據(jù)本發(fā)明的各種實(shí)施例,提供一種系統(tǒng),該系統(tǒng)可包括被配置為從在用戶裝置上被托管的客戶機(jī)接收多個(gè)塊體請求的輸入接口,各塊體請求指示用于流動(dòng)屬于流媒體流的媒體塊體的請求的位率;可被配置為實(shí)現(xiàn)以下的操作的處理模塊對于多個(gè)流媒體流分配或接收分配的位率,各流媒體流可包含多個(gè)塊體并要求在受到帶寬限制的最后英里信道上流動(dòng);如果請求的位率不符合分配的位率,改變至少一個(gè)塊體請求以符合分配的位率,以提供至少一個(gè)新的塊體請求;和被配置為向要求向用戶裝置流動(dòng)流媒體流的流媒體機(jī)發(fā)送至少一個(gè)新的塊體請求的輸出接口。
處理模塊可被配置為關(guān)于請求的位率通知與新的塊體請求相關(guān)的客戶機(jī)。處理模塊可被配置為從與新的塊體請求相關(guān)的客戶機(jī)隱藏請求的位率的變化。流媒體機(jī)不知道最后英里信道的階段。輸入接口可被配置為從客戶機(jī)接收確認(rèn)消息,該確認(rèn)消息指示媒體塊體的接收;以及,其中,系統(tǒng)的輸出接口可被配置為延遲確認(rèn)消息的傳送,其中,延遲響應(yīng)于與客戶機(jī)相關(guān)的分配的位率。輸入接口可被配置為從客戶機(jī)接收確認(rèn)消息,確認(rèn)消息指示媒體塊體的接收;其中,處理模塊可被配置為確定是否延遲確認(rèn)消息的傳送;以及,系統(tǒng)的輸出接口可被配置為基于確定延遲確認(rèn)請求的傳送,其中,延遲響應(yīng)于分配的位率。處理模塊可被配置為通過與最后英里信道耦合的系統(tǒng)向流媒體流中的每一個(gè)分配分配的位率。處理模塊可被配置為通過客戶機(jī)之間的協(xié)作向流媒體流分配分配的位率。處理模塊可被配置為通過利用系統(tǒng)上的客戶機(jī)代理向流媒體流分配分配的位率,客戶機(jī)代理代理客戶機(jī)。處理模塊可被配置為基于流媒體流的質(zhì)量水平分配分配的位率。處理模塊可被配置為不改變與第一類型的流媒體流相關(guān)的文件請求;如果塊體請求與第二類型的流媒體流相關(guān),并且,如果請求的位率不符合分配的位率,則改變塊體請求以符合分配的位率來提供新的塊體請求;以及,其中,系統(tǒng)的輸出接口可被配置為將不變的塊體請求和新的塊體請求發(fā)送到可被要求將流媒體流流動(dòng)到用戶裝置的至少一個(gè)流媒體機(jī)。第一類型的流媒體流可以是進(jìn)行性下載。第二類型的流媒體流可以是自適應(yīng)位率流。處理模塊可被配置為通過多個(gè)客戶機(jī)之間的協(xié)作向流媒體流分配分配的位率。處理模塊可被配置為通過利用與最后英里信道耦合的系統(tǒng)上的客戶機(jī)代理向流媒體流分配分配的位率。處理模塊可被配置為對于不同類型的流媒體流執(zhí)行不同的位率控制策略。最后英里信道可以是有線信道。最后英里信道可以是無線信道分配的位率可以是流媒體流的最大可允許位率的預(yù)定部分。分配的位率可以是流媒體流的最大可允許位率的百分比。處理模塊可被配置為向流媒體流分配分配的位率。處理模塊可被配置為接收對于流媒體流的分配的位率。根據(jù)本發(fā)明的實(shí)施例,可以提供一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品可包括可存儲用于執(zhí)行以下的過程的指令的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)對于多個(gè)流媒體流分配或接收分配的位率,各流媒體流可包含多個(gè)塊體并要求在受到帶寬限制的最后英里信道上流動(dòng);從在用戶裝置上被托管的客戶機(jī)接收多個(gè)塊體請求,各塊體請求指示用于流動(dòng)屬于流媒體流的媒體塊體的請求位率;如果請求的位率不符合分配的位率,改變至少一個(gè)塊體請求以符合分配的位率,以提供至少一個(gè)新的塊體請求;和向可被要求向用戶裝置流動(dòng)流媒體流的流媒體機(jī)發(fā)送至少一個(gè)新的塊體請求。
非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)可存儲用于關(guān)于請求的位率通知可與新的塊體請求相關(guān)的客戶機(jī)的指令。非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)可存儲用于從可與新的塊體請求相關(guān)的客戶機(jī)隱藏請求的位率的變化的指令。流媒體機(jī)可以不知道最后英里信道的階段。非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)可存儲用于完成以下的操作的指令從客戶機(jī)接收確認(rèn)消息,該確認(rèn)消息可指示媒體塊體的接收;和延遲確認(rèn)消息的傳送,其中,延遲可響應(yīng)于與客戶機(jī)相關(guān)的分配的位率。非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)可存儲用于完成以下的操作的指令從客戶機(jī)接收確認(rèn)消息,確認(rèn)消息可指示媒體塊體的接收;確定是否延遲確認(rèn)消息的傳送;和基于確定延遲確認(rèn)請求的傳送,其中,延遲可響應(yīng)于分配的位率。非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)可存儲用于通過可與最后英里信道耦合的系統(tǒng)向流媒體流中的每一個(gè)分配分配的位率的指令。非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)可存儲用于通過客戶機(jī)之間的協(xié)作向流媒體流分配分配的位率的指令。非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)可存儲用于通過利用系統(tǒng)上的客戶機(jī)代理向流媒體流分配分配的位率的指令,客戶機(jī)代理代理客戶機(jī)。非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)可存儲用于基于流媒體流的質(zhì)量水平分配分配的位率的指令。非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)可存儲用于完成以下的操作的指令不改變與第一類型的流媒體流相關(guān)的文件請求;如果塊體請求與第二類型的流媒體流相關(guān),并且,如果請求的位率不符合分配的位率,則改變塊體請求以符合分配的位率來提供新的塊體請求;和將不變的塊體請求和新的塊體請求發(fā)送到可被要求將流媒體流流動(dòng)到用戶裝置的至少一個(gè)流媒體機(jī)。第一類型的流媒體流可以是進(jìn)行性下載。第二類型的流媒體流可以是自適應(yīng)位率流。非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)可存儲用于通過多個(gè)客戶機(jī)之間的協(xié)作向流媒體流分配分配的位率的指令。非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)可存儲用于通過利用可與最后英里信道耦合的系統(tǒng)上的客戶機(jī)代理向流媒體流分配分配的位率的指令。非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)可存儲用于對于不同類型的流媒體流執(zhí)行不同的位率控制策略的指令。最后英里信道可以是有線信道。最后英里信道可以是無線信道。非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)可存儲用于確定分配的位率的分配的位率為流媒體流的最大可允許位率的預(yù)定部分的指令。分配的位率的分配的位率為流媒體流的最大可允許位率的百分比。非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)可存儲用于向流媒體流分配分配的位率的指令。非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)可存儲用于接收對于流媒體流的分配的位率的指令。
根據(jù)本發(fā)明的實(shí)施例,可以提供一種方法,該方法可包括從與最后英里信道耦合的用戶裝置的客戶機(jī)接收塊體請求;檢查在最后英里信道上要求的所有通信量,檢查可包含評價(jià)滿足塊體請求所需要的位率;基于檢查分配帶寬;響應(yīng)于帶寬的分配產(chǎn)生新的塊體請求;和向流媒體服務(wù)器傳送新的塊體請求。分配可進(jìn)一步響應(yīng)于策略考慮。分配可進(jìn)一步響應(yīng)于視頻質(zhì)量、用戶優(yōu)先權(quán)、操作員優(yōu)先權(quán)、服務(wù)優(yōu)先權(quán)和帳單考慮中的至少一個(gè)。方法可包括協(xié)作地進(jìn)行位率決定。根據(jù)本發(fā)明的實(shí)施例,提供一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品可包括存儲用于完成以下的操作的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)從與最后英里信道耦合的用戶裝置的客戶機(jī)接收塊體請求;檢查在最后英里信道上要求的所有通信量,檢查可包含評價(jià)滿足塊體請求所需要的位率;基于檢查分配帶寬;響應(yīng)于帶寬的分配產(chǎn)生新的塊體請求;和向流媒體服務(wù)器傳送新的塊體請求。非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)可存儲用于分配可進(jìn)一步響應(yīng)于策略考慮的位率的指令。非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)可存儲用于分配可進(jìn)一步響應(yīng)于視頻質(zhì)量、用戶優(yōu)先權(quán)、操作員優(yōu)先權(quán)、服務(wù)優(yōu)先權(quán)和帳單考慮中的至少一個(gè)的位率的指令。非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)可存儲用于協(xié)作地進(jìn)行位率決定的指令。根據(jù)本發(fā)明的實(shí)施例,提供一種用于控制流媒體流的方法,該方法可包括對于流媒體流以及對于與流媒體流不同的附加的流分配或接收分配的位率,各流媒體流可包含多個(gè)塊體并且各媒體塊體包含多個(gè)媒體分組,其中,附加的流和流媒體流被要求在受到帶寬限制的最后英里信道上流動(dòng);接收在最后英里信道上被傳送或者要求在最后英里信道上被傳送的分組;確定各分組是否可以是流媒體分組、塊體請求、確認(rèn)消息或另一分組;如果分組是塊體請求,那么,確定是否改變由塊體請求請求的位率;選擇性地改變由塊體請求請求的位率以提供新的塊體請求,其中,選擇性地改變響應(yīng)于被分配給與塊體請求相關(guān)的流媒體流相關(guān)的分配的位率;和向被要求流動(dòng)與塊體請求相關(guān)的流媒體流的流媒體機(jī)傳送新的塊體請求;如果分組是流媒體分組,則向客戶機(jī)傳送流媒體分組并更新最后英里信道的狀態(tài);以及,如果分組是指示客戶機(jī)對于媒體分組的接收的確認(rèn)消息,那么,確定向流媒體機(jī)傳送確認(rèn)消息的定時(shí),確定是對于分配給可包含媒體分組的流媒體流的位率;和基于傳送的定時(shí)的確定向流媒體機(jī)傳送確認(rèn)消息。
在說明書的結(jié)束部分中,特別指出被視為本發(fā)明的主題并明確要求它們的權(quán)利。但是,通過結(jié)合附圖參照以下的詳細(xì)的描述,關(guān)于組織和操作的方法的本發(fā)明與它們的目標(biāo)、特征和優(yōu)點(diǎn)一起可以最好地被理解,其中,圖1示出根據(jù)本發(fā)明的實(shí)施例的系統(tǒng)及其環(huán)境;圖2示出根據(jù)本發(fā)明的實(shí)施例的系統(tǒng);圖3示出根據(jù)本發(fā)明的實(shí)施例的方法;圖4示出根據(jù)本發(fā)明的實(shí)施例的系統(tǒng);
圖5示出根據(jù)本發(fā)明的實(shí)施例的方法;圖6示出根據(jù)本發(fā)明的實(shí)施例的方法;可以理解,為了解釋的簡化和明晰化,圖中所示的要素未必按比例繪制。例如,為了明晰化,要素中的一些的尺寸可相對于其它的要素被夸大。并且,在適當(dāng)考慮的情況下,附圖標(biāo)記可在附圖中重復(fù)以表示相應(yīng)或類似的要素。
具體實(shí)施例方式在以下的詳細(xì)的描述中,為了提供本發(fā)明的徹底的理解,闡述大量的特定的細(xì)節(jié)。但是,本領(lǐng)域技術(shù)人員可以理解,可以在沒有這些特定的細(xì)節(jié)的情況下實(shí)施本發(fā)明。在其它的情況下,公知的方法、過程和部件沒有被詳細(xì)描述,以不混淆本發(fā)明。術(shù)語“塊體請求”是用于接收流媒體流的媒體塊體的請求。流媒體流是被配置為通過流媒體機(jī)流動(dòng)的媒體流。塊體請求可包含塊體標(biāo)識符和指示請求的塊體的希望的位率的位速率(位率)請求。請求的位率可以以明確的方式(例如一請求的位率的值可包含于塊體請求中)或者隱含地(例如一塊體標(biāo)識符可指向媒體塊體的某版本一已知的位率的)被定義。塊體請求可包含特定的段和特定的位率特有的URL。術(shù)語“媒體源”可意味著向系統(tǒng)或客戶機(jī)提供媒體塊體的實(shí)體。媒體源可從另一實(shí)體接收媒體塊體,可自身產(chǎn)生媒體塊體,可產(chǎn)生通過它們的位率相互不同的各種版本的媒體塊體,可從另一實(shí)體等接收各種版本的媒體塊體。媒體源可以是媒體服務(wù)器。能夠流動(dòng)一個(gè)或更多個(gè)流媒體流的媒體源被稱為流媒體機(jī)。術(shù)語“最后英里”可具有其常規(guī)的意思。例如,它可具有由www. wikipedia. org定義的意思“最后英里”或“最后公里”是傳輸從通信提供商到顧客的連接性的最后英里。因此,該短語常被電信和電纜電視業(yè)使用。該行程的實(shí)際距離可大大多于一英里,特別是在農(nóng)村地區(qū)。由于“展開”線和電纜是相當(dāng)大的物理任務(wù),因此,它一般被視為昂貴的挑戰(zhàn)。由于網(wǎng)絡(luò)到用戶的最后的英里對于發(fā)送數(shù)據(jù)(諸如上載)也是從用戶到世界的第一英里,因此,有時(shí)使用術(shù)語“第一英里”。根據(jù)本發(fā)明的實(shí)施例,提供系統(tǒng)。它被連接于因特網(wǎng)或任何廣域網(wǎng)絡(luò)(WAN)和最后英里信道之間。雖然它適用于其它類型的基礎(chǔ)結(jié)構(gòu),但是為了便于解釋,以下的描述提到最后英里信道。最后英里信道可包含鏈接、通信線或任意類型的帶寬限制資源。根據(jù)本發(fā)明的各種實(shí)施例,位率的分配可響應(yīng)于媒體流動(dòng)優(yōu)先權(quán)、客戶機(jī)優(yōu)先權(quán)、視頻質(zhì)量、服務(wù)優(yōu)先權(quán)、被分配給不同類型的流的優(yōu)先權(quán)、響應(yīng)于流的定時(shí)的策略和傳送類型(有線、無線)等中的至少一個(gè)參數(shù)。例如,較高優(yōu)先權(quán)的客戶機(jī)可被分配較大的位率。根據(jù)本發(fā)明的實(shí)施例,通過與最后英里信道耦合的系統(tǒng)執(zhí)行位率分配。注意,可通過多個(gè)系統(tǒng)執(zhí)行位率分配一以分布式、中央式或者甚至分層的方式。分層系統(tǒng)可包含被配置為在第一帶寬限制介質(zhì)上分配位率的頂級系統(tǒng),而最低級系統(tǒng)可被配置為在可從第一帶寬限制介質(zhì)接收內(nèi)容(直接或間接)的多個(gè)最后英里信道上確定位率分配。又一例子一分層系統(tǒng)可包含被配置為在最后英里信道上分配位率的頂級系統(tǒng),而最低級系統(tǒng)可被配置為在從最后英里信道饋送的信道上確定位率分配一諸如顧客提出網(wǎng)關(guān)等。圖1示出連接于WAN (諸如因特網(wǎng))、最后英里信道12和托管客戶機(jī)14的用戶裝置之間的系統(tǒng)11。
根據(jù)本發(fā)明的各種實(shí)施例,用戶裝置托管客戶機(jī)。客戶機(jī)以及另外或替代性的系統(tǒng)可參與帶寬限制資源的位率控制。注意,如例如本專利申請的背景部分解釋的那樣,最終用戶裝置和流媒體機(jī)可能不知道帶寬限制資源的狀態(tài),并因此可以以次最佳方式請求或分配位率。系統(tǒng)11可在帶寬限制資源之前駐留,或者另外可能能夠參與帶寬限制資源的位率控制。系統(tǒng)可以是路由器、集合器、開關(guān)、控制器或它們的組合。系統(tǒng)可包含硬件、軟件固件或它們的組合。根據(jù)本發(fā)明的實(shí)施例,通過客戶機(jī)執(zhí)行位率控制的至少一部分(例如,至少大多數(shù)),并且,可在系統(tǒng)上代理這些客戶機(jī)。因此,客戶機(jī)可協(xié)作以施加位率控制,特別是可施加主要基于不同的客戶機(jī)之間的信息交換的分布式媒體訪問控制方案??蛻魴C(jī)可向其它的客戶機(jī)發(fā)送塊體請求,并且一旦得到其它客戶機(jī)批準(zhǔn)一系統(tǒng)可將塊體請求轉(zhuǎn)送到流媒體機(jī)??蛻魴C(jī)可在考慮客戶機(jī)優(yōu)先權(quán)、請求優(yōu)先權(quán)、服務(wù)問題的質(zhì)量、得到準(zhǔn)許或謝絕的事先的塊體請求以及其它的因素的情況下協(xié)作??蛻魴C(jī)可通過存儲來自其它的客戶機(jī)的塊體請求(及其自身的塊體請求)至少獲得帶寬限制資源的狀態(tài)的部分觀察。系統(tǒng)還可提供諸如但不限于可用的位率和最大允許位率等的位率信息??蛻魴C(jī)可批準(zhǔn)、修改或拒絕塊體請求。修改可涉及請求的位率并且不涉及請求的塊體的身份。一旦完成位率決定(位率分配)一請求客戶機(jī)就可被通知并且根據(jù)位率決定一如果被批準(zhǔn),將其自身的請求發(fā)送到媒體服務(wù)器或者使得系統(tǒng)向媒體服務(wù)器發(fā)送這種塊體請求。因此,塊體可協(xié)作地進(jìn)行決定,并且通知允許發(fā)送塊體請求的塊體一對于各客戶機(jī)分配的允許的位率。作為響應(yīng)于,客戶機(jī)可產(chǎn)生對于客戶機(jī)已知并具有作為協(xié)作的結(jié)果分配的位率的塊體的塊體請求。根據(jù)本發(fā)明的另一實(shí)施例,系統(tǒng)進(jìn)行位率決定并且通知客戶機(jī)向客戶機(jī)分配哪些位率??蛻魴C(jī)一旦接收分配的位率就可因此定制其塊體請求。根據(jù)本發(fā)明的另一實(shí)施例,一些客戶機(jī)可進(jìn)行位率決定,而不允許其它的客戶機(jī)進(jìn)行這種決定??苫谥T如客戶機(jī)優(yōu)先權(quán)、對于客戶機(jī)保證的服務(wù)的質(zhì)量等的各種準(zhǔn)則確定哪些客戶機(jī)可進(jìn)行這種決定的選擇。選擇可以是固定的或者可隨時(shí)間改變。根據(jù)本發(fā)明的另一實(shí)施例,在不向客戶機(jī)通知這些決定特別是不關(guān)于分配給它們的請求的位率通知客戶機(jī)的情況下,通過系統(tǒng)進(jìn)行位率決定。例如,客戶機(jī)可向系統(tǒng)發(fā)送塊體請求以獲得塊體。這些塊體請求被系統(tǒng)接收。系統(tǒng)不僅僅“原樣”將這些塊體請求轉(zhuǎn)送到流媒體機(jī),而是可應(yīng)用位率管理控制并且向流媒體機(jī)發(fā)送更新的塊體請求。系統(tǒng)可分析位率限制資源上的通信量,并且基于位率限制資源的請求和狀態(tài),產(chǎn)生新的塊體請求和不變的一個(gè)或更多個(gè)塊體請求等。可通過修改或更新塊體請求或通過產(chǎn)生具有新的或修改的內(nèi)容的新的塊體請求產(chǎn)生新的塊體請求。
系統(tǒng)然后向流媒體機(jī)發(fā)送塊體請求。因此一新塊體請求作為原塊體請求用于視覺內(nèi)容(流的段)但可請求與處于原請求中的那些不同的位率版本。這些新的塊體請求被發(fā)送到媒體源,該媒體源又向客戶機(jī)提供需要的位率的媒體塊體一通過系統(tǒng)或者繞過系統(tǒng)。如果繞過系統(tǒng),那么系統(tǒng)應(yīng)知道帶寬限制資源上的傳送一它可監(jiān)視通信量,并且,另外,或者,替代性地,可關(guān)于傳送的通信量從流媒體機(jī)接收信息。在上述的實(shí)施例中的任一個(gè)中,在客戶機(jī)之間以及另外或替代性地在服務(wù)或流之間的位率分配可響應(yīng)于諸如(i)視頻質(zhì)量、(ii)用戶優(yōu)先權(quán)、(iii)操作員優(yōu)先權(quán)、(iv)服務(wù)(流)優(yōu)先權(quán)和(V)帳單考慮的參數(shù)。圖2示出根據(jù)本發(fā)明的實(shí)施例的系統(tǒng)40。系統(tǒng)40包括a.包含輸入接口和輸出接口的輸入輸出(I/O)模塊42。I/O模塊42可被配置為處理進(jìn)入和外出的包含上游的塊體請求和下游的塊體的通信量。b.帶寬計(jì)算器和決定進(jìn)行器(決定引擎)。模塊43可被配置為估計(jì)最后英里信道上的可用的帶寬,并關(guān)于可對于各客戶機(jī)分配的位率的量進(jìn)行決定。決定引擎可以是處理模塊,或者可由處理模塊托管。處理模塊可包含硬件部件。c.包含可相對于客戶機(jī)和流媒體機(jī)產(chǎn)生和分析相關(guān)的消息的分析器的數(shù)據(jù)模塊44。d.在系統(tǒng)40的模塊之間分配資源并控制定時(shí)和類似的事項(xiàng)的控制單元41。應(yīng)當(dāng)注意,其它的實(shí)現(xiàn)也是可能的,包括包含單獨(dú)地代表各客戶機(jī)的模塊、存儲器單元和許多其它的可能的實(shí)現(xiàn)。決定進(jìn)行可基于包含以下提到的一些的許多不同的方法。系統(tǒng)40駐留于最后英里信道12的網(wǎng)絡(luò)側(cè),并且對于來自最后英里信道12的所有要求具有可見性。因此,來自流媒體機(jī)的對于位率的組合的請求(包含塊體請求和數(shù)據(jù)傳送請求)可被計(jì)劃,使得媒體塊體和其它流的傳送不超過可用的位率。這解決位率浪費(fèi)的問題。另外,組合的請求可被計(jì)劃以盡可能多地填充最后英里信道。這解決未使用位率的問題??梢栽谥T如移動(dòng)提供器、HFC網(wǎng)絡(luò)、DSL網(wǎng)絡(luò)和任何其它類型的網(wǎng)絡(luò)的任何寬帶提供器的結(jié)構(gòu)內(nèi)實(shí)現(xiàn)系統(tǒng)。在所有的情況下,可在具有限制最后英里信道的位率的全部可見性的位置上從客戶機(jī)的上游實(shí)現(xiàn)系統(tǒng)40。另外,或者,作為替代方案,可以以分層的方式實(shí)現(xiàn)系統(tǒng)。例如,系統(tǒng)可以在住宅的網(wǎng)關(guān)(或DSLAM)中被實(shí)現(xiàn)以管理家庭內(nèi)的不同的客戶機(jī),并且也可在中央辦公室中被實(shí)現(xiàn)以在不同的家庭之間管理位率。應(yīng)當(dāng)提到,可通過管理所有的客戶機(jī)請求的一個(gè)單個(gè)過程或通過在自身之中進(jìn)行協(xié)商的分別代理一個(gè)客戶機(jī)的大量的過程實(shí)現(xiàn)協(xié)作決定。圖3示出根據(jù)本發(fā)明的實(shí)施例的方法50。方法50從客戶機(jī)接收塊體請求的階段51開始。這些塊體請求規(guī)定媒體流的特定的部分以及特定的位率。階段51之后是檢查在最后英里信道上要求的所有通信量的階段52。該檢查可包含評價(jià)滿足由客戶機(jī)進(jìn)行的請求所需要的位率。階段52之后是在不同的客戶機(jī)之間根據(jù)檢查結(jié)果和任選的策略考慮分配位率的階段53??紤]所有需要的限制(位率、成本等),分配應(yīng)盡可能地高效。位率的分配包含指示媒體流的哪個(gè)位率版本應(yīng)被提供給產(chǎn)生批準(zhǔn)的塊體請求的各客戶機(jī)。階段53之后是產(chǎn)生新的塊體請求的階段54??稍诳蛻魴C(jī)接收關(guān)于分配給它們的位率的通知之后由客戶機(jī)或由系統(tǒng)自身執(zhí)行實(shí)際的產(chǎn)生。應(yīng)當(dāng)注意,零個(gè)或更多個(gè)塊體請求可保持不變。階段54之后是向一個(gè)或更多個(gè)流媒體機(jī)傳送新的塊體請求和零個(gè)或更多個(gè)不變的塊體請求的階段55。階段55之后可以是將請求的塊體流動(dòng)到用戶裝置??赏ㄟ^向用戶裝置發(fā)送流媒體塊體的階段56反映這一點(diǎn)。用戶裝置可以是移動(dòng)裝置、機(jī)頂盒、計(jì)算機(jī)和家庭網(wǎng)關(guān)等。根據(jù)本發(fā)明的實(shí)施例,提供系統(tǒng)60。在圖4中示出該系統(tǒng)的實(shí)施例。系統(tǒng)接收諸如屬于媒體塊體(媒體流)的媒體分組和控制分組的信息分組??刂品纸M中的一些包含塊體請求。為了解釋的簡化,以下的描述參照媒體信息分組和塊體請求。系統(tǒng)60包含輸入接口 61、分析器62、流狀態(tài)數(shù)據(jù)庫64、位率請求數(shù)據(jù)庫65、分配數(shù)據(jù)庫69、決定引擎66和輸出接口 68。分析器62分析由輸入接口 60接收的進(jìn)入的分組。分組被分類為控制分組(諸如塊體請求)或數(shù)據(jù)分組(諸如媒體分組)。媒體分組或代表媒體分組的信息被用于更新流狀態(tài)數(shù)據(jù)庫64。諸如塊體請求的控制分組或代表控制分組的信息被用于更新位率請求數(shù)據(jù)庫65。數(shù)據(jù)庫64和65均提供最后英里信道的位率利用和塊體請求一完成的塊體請求和被拒絕或以其他方式?jīng)]有完成的塊體請求一的請求的位率的觀察。分配數(shù)據(jù)庫69存儲位率的分配。決定引擎66可評價(jià)所有的數(shù)據(jù)庫,并且應(yīng)用位率控制策略。它可例如產(chǎn)生包含比由客戶機(jī)請求的位率更少或更多的新的塊體請求等。根據(jù)本發(fā)明的另一實(shí)施例,決定引擎66重新分配位率,并且另一實(shí)體基于修改的位率分配修改塊體請求。決定引擎可以是處理模塊或者被處理模塊托管。根據(jù)本發(fā)明的實(shí)施例,流狀態(tài)數(shù)據(jù)庫64被用于跟蹤最后英里信道中的所有的流、跟蹤利用、識別諸如ABR流的連續(xù)的段的相關(guān)的流、識別保證決定引擎的通知的媒體流的狀態(tài)的明顯的變化。ABR流的連續(xù)的段可以是由同一客戶機(jī)發(fā)送的不同的塊體請求的主題。客戶機(jī)可甚至在客戶機(jī)接收一個(gè)或更多個(gè)事先請求的媒體塊體之前發(fā)送與一個(gè)或更多個(gè)媒體塊體有關(guān)的一個(gè)或更多個(gè)塊體請求。如果這些不同的塊體請求均被識別為與同一媒體流相關(guān),那么位率分配可在比較請求的位率與分配的位率時(shí)考慮這一點(diǎn)。當(dāng)履行諸如多于利用的位率的預(yù)定的變化、多于預(yù)定量的新請求的位率等的預(yù)定條件時(shí),決定引擎66可被激活。作為替代方案,每個(gè)塊體請求可被發(fā)送到?jīng)Q定引擎66。決定引擎66可分配流的位率,特別是對于媒體塊體。根據(jù)本發(fā)明的實(shí)施例,決定引擎66可在可用位率(ABR)流與進(jìn)行式下載(PD)流之間區(qū)分。它可將其自身的集合位率分配給這些類型的流媒體流中的每一個(gè),并且可對于兩者應(yīng)用相同的位率控制策略或者對于每一個(gè)應(yīng)用不同的位率控制策略。在各種流技術(shù)中,客戶機(jī)即使在開始觀察這些媒體塊體之前也具有媒體塊體。這樣,當(dāng)暫時(shí)防止客戶機(jī)接收媒體時(shí)或者當(dāng)由于各種原因另外限制對于客戶機(jī)的流動(dòng)時(shí),可防止媒體觀察問題。在客戶機(jī)決定不觀察這些媒體塊體的情況下,它們在最后英里信道上的傳送導(dǎo)致帶寬的浪費(fèi)。為了防止這種浪費(fèi),決定控制器可延遲從流媒體機(jī)的媒體分組的傳送??赏ㄟ^延遲從客戶機(jī)(向塊體流動(dòng)器)發(fā)送的指示這些分組的接收的確認(rèn)消息完成這一點(diǎn)??衫缭贏BR塊體上應(yīng)用該策略。根據(jù)本發(fā)明的各種實(shí)施例,決定引擎66可限制下載到客戶機(jī)的媒體塊體的量,使得,如果客戶機(jī)在觀察下載到其上面的所有的媒體塊體之前結(jié)束觀察媒體流一將浪費(fèi)很少的媒體塊體。限制可包含延遲對于流媒體機(jī)的確認(rèn)消息的傳送、延遲塊體請求的傳送等。圖5示出根據(jù)本發(fā)明的實(shí)施例的用于執(zhí)行位率分配的方法70。方法70從通過輸入接口接收分組的階段71開始。階段71之后是階段72。階段72包含通過分析器分析分組并確定分組是控制分組還是信息分組。信息分組可以是數(shù)據(jù)分組或媒體分組。如果分組是信息分組(INFO PACKET),那么階段72之后是階段73和74。如果分組是控制分組(CNTR),那么階段72之后是階段80。階段73包含將媒體分組流動(dòng)到用戶裝置(如果信息分組是媒體分組)并且將數(shù)據(jù)分組傳送到用戶(如果信息分組是數(shù)據(jù)分組)。注意,根據(jù)本發(fā)明的一些實(shí)施例,方法700僅尋址上游通信量,并且不參與下游的數(shù)據(jù)路徑,使得階段73可以不包含于方法700中。階段74包含更新流狀態(tài)數(shù)據(jù)庫。因此,流狀態(tài)數(shù)據(jù)庫可被更新以反映實(shí)際的位率利用。階段74之后可以是檢查是否應(yīng)關(guān)于當(dāng)前的流狀態(tài)更新決定引擎的階段75。如果答案是肯定的(UPDATE),那么階段74之后是階段76,否則(NO),階段74可跳到空閑狀態(tài)79。階段75的檢查可包含為了在太多更新(會消費(fèi)太多的計(jì)算資源或通信資源)和少于希望的更新(會導(dǎo)致位率的次最佳分配)之間提供折衷向該更新應(yīng)用預(yù)定的條件。例如,對于每個(gè)預(yù)定的周期、對請求或利用的位率的每個(gè)預(yù)定的變化量、當(dāng)添加新用戶時(shí)、當(dāng)添加新的流時(shí)、當(dāng)用戶離開時(shí)或者當(dāng)流終止時(shí),可更新決定引擎。階段76包含更新決定引擎。階段76之后是通過決定引擎響應(yīng)于(至少)更新確定如何響應(yīng)于更新并且響應(yīng)于更新的階段77。響應(yīng)可包含更新位率分配。階段80包含確定控制分組是塊體請求(CR)、確認(rèn)消息(Ack消息)還是另一控制分組(其它)。如果控制分組是確認(rèn)消息,那么階段80之后是階段81。如果控制分組是塊體請求,那么階段80之后是階段90。否則(另一控制分組),階段80之后是響應(yīng)其它的控制分組的階段100。階段81包含為了符合分配給流的位率檢查是否延遲對于流媒體機(jī)的確認(rèn)消息的傳送。如果分配的位率在確認(rèn)消息的連續(xù)傳送之間批準(zhǔn)一定的周期(或者一定范圍的周期),那么會需要延遲。如果答案是肯定的(DELAY),那么階段81之后是延遲確認(rèn)消息的傳送直到到達(dá)與分配的位率對應(yīng)的時(shí)間的階段83。確認(rèn)消息的連續(xù)傳送之間的周期可反映分配的位率。如果例如各確認(rèn)消息之后是X位的流并且位率的分配是每秒Y位,那么延遲可基本上等于X/Y秒。如果答案是否定的(NO DELAY),那么階段81之后是階段84。階段83之后是向數(shù)據(jù)源傳送確認(rèn)消息的階段84??赏ㄟ^可訪問決定引擎或者分配數(shù)據(jù)庫并且確定與確認(rèn)消息有關(guān)的流的分配的位率的協(xié)議操作器(諸如HTTP操作器)執(zhí)行階段81和83。階段90包含更新請求狀態(tài)數(shù)據(jù)庫并更新決定引擎。階段90之后是通過決定引擎響應(yīng)(至少)塊體請求和位率的分配決定是保持塊體請求不變還是改變它的階段91。如果確定更新塊體請求(NEW),那么階段91之后是階段92,否則(Unchanged),它之后是向流媒體機(jī)傳送塊體請求的階段94。確定可包含比較由塊體請求請求的位率和分配的位率。如果例如分配的位率匹配請求的位率,那么塊體請求可保持不變。如果在分配的位率與請求的位率(由塊體請求請求)之間存在不匹配,那么決定引擎可確定對于分配的位率采用請求的位率。注意,決定引擎可忽略小的(不明顯的)變化。階段92包含產(chǎn)生包含符合分配給流的位率的位率請求的新的塊體請求(例如,通過更新塊體請求)。階段92之后是向流媒體機(jī)傳送新的塊體請求的階段93。提供位率控制策略的非限制性的例子如下用于傳送視頻塊體(或所有類型)的最大允許集合位率被定義一 TBK。高優(yōu)先權(quán)用戶的最大允許位率(PUbk)可被定義。用于傳送BD媒體塊體和ABR媒體塊體的最大允許集合位率被定義一 I3Dbk和ABRbk。各類型的媒體的最大允許集合位率可以是TABRmax的一部分。例如,ABRbe可等于的TABRmax的80%。ABR清單文件包含用于流的所有可能的位率的描述。TABRmax是可用的流的可能的最大值的總和。在分配用于媒體塊體的位率之后,數(shù)據(jù)傳送的剩余位率(Dbk)可由下式計(jì)算Dbe = (Tbe-PUbe-PDbe-ABRbe) * 因子因子被用于保持一些低于阻塞的閾值。雖然不同的數(shù)據(jù)流可被分配不同的位率,但是,可向不同的數(shù)據(jù)流分配相同的位率。在后一種情況下,各數(shù)據(jù)流可被分配Fbk = (Dbk/數(shù)據(jù)流的數(shù)量)。根據(jù)本發(fā)明的實(shí)施例,當(dāng)出現(xiàn)以下的事件中的至少一個(gè)時(shí),可重新計(jì)算位率分配參數(shù)(位率,因子):a.新流b.流關(guān)閉c.接收條件的改變d.事件的預(yù)期(上交、分發(fā)等)下表示出位率控制方案的例子。表I和表2示出系統(tǒng)的初始狀態(tài)和不同的用戶的位率分配。表I
權(quán)利要求
1.一種用于控制流媒體流的方法,該方法包括 對于多個(gè)流媒體流分配或接收分配的位率,各流媒體流包含多個(gè)塊體并要求在受到帶寬限制的最后英里信道上流動(dòng); 從在用戶裝置上被托管的客戶機(jī)接收多個(gè)塊體請求,各塊體請求指示用于流動(dòng)屬于流媒體流的媒體塊體的請求位率; 如果請求的位率不符合分配的位率,改變至少一個(gè)塊體請求以符合分配的位率,以提供至少一個(gè)新的塊體請求;和 向要求向用戶裝置流動(dòng)流媒體流的流媒體機(jī)發(fā)送至少一個(gè)新的塊體請求。
2.根據(jù)權(quán)利要求1的方法,包括關(guān)于請求的位率通知與新的塊體請求相關(guān)的客戶機(jī)。
3.根據(jù)權(quán)利要求1的方法,包括從與新的塊體請求相關(guān)的客戶機(jī)隱藏請求的位率的變化。
4.根據(jù)權(quán)利要求1的方法,其中,流媒體機(jī)不知道最后英里信道的階段。
5.根據(jù)權(quán)利要求1的方法,包括 從客戶機(jī)接收確認(rèn)消息,該確認(rèn)消息指示媒體塊體的接收;和 延遲確認(rèn)消息的傳送,其中,延遲響應(yīng)于與客戶機(jī)相關(guān)的分配的位率。
6.根據(jù)權(quán)利要求1的方法,包括 從客戶機(jī)接收確認(rèn)消息,該確認(rèn)消息指示媒體塊體的接收; 確定是否延遲確認(rèn)消息的傳送;和 基于確定延遲確認(rèn)請求的傳送,其中,延遲響應(yīng)于分配的位率。
7.根據(jù)權(quán)利要求1的方法,包括通過與最后英里信道耦合的系統(tǒng)向流媒體流中的每一個(gè)分配分配的位率。
8.根據(jù)權(quán)利要求1的方法,包括通過客戶機(jī)之間的協(xié)作向流媒體流分配分配的位率。
9.根據(jù)權(quán)利要求1的方法,包括通過利用在與最后英里信道耦合的系統(tǒng)上被托管的客戶機(jī)代理向流媒體流分配分配的位率。
10.根據(jù)權(quán)利要求1的方法,包括基于流媒體流的質(zhì)量水平分配分配的位率。
11.根據(jù)權(quán)利要求1的方法,包括 不改變與第一類型的流媒體流相關(guān)的文件請求; 如果塊體請求與第二類型的流媒體流相關(guān),并且,如果請求的位率不符合分配的位率,則改變塊體請求以符合分配的位率來提供新的塊體請求;和 將不變的塊體請求和新的塊體請求發(fā)送到要求將流媒體流流動(dòng)到用戶裝置的至少一個(gè)流媒體機(jī)。
12.根據(jù)權(quán)利要求11的方法,其中,第一類型的流媒體流是進(jìn)行性下載。
13.根據(jù)權(quán)利要求11的方法,其中,第二類型的流媒體流是自適應(yīng)位率流。
14.根據(jù)權(quán)利要求1的方法,包括通過多個(gè)客戶機(jī)之間的協(xié)作向流媒體流分配分配的位率。
15.根據(jù)權(quán)利要求1的方法,包括通過利用在與最后英里信道耦合的系統(tǒng)上的客戶機(jī)代理向流媒體流分配分配的位率。
16.根據(jù)權(quán)利要求1的方法,包括對于不同類型的流媒體流執(zhí)行不同的位率控制策略。
17.根據(jù)權(quán)利要求1的方法,其中,最后英里信道是有線信道。
18.根據(jù)權(quán)利要求1的方法,其中,最后英里信道是無線信道。
19.根據(jù)權(quán)利要求1的方法,其中,分配的位率的分配的位率是流媒體流的最大可允許位率的預(yù)定部分。
20.根據(jù)權(quán)利要求1的方法,其中,分配的位率的分配的位率是流媒體流的最大可允許位率的80%。
21.根據(jù)權(quán)利要求1的方法,包括向流媒體流分配分配的位率。
22.根據(jù)權(quán)利要求1的方法,包括接收對于流媒體流的分配的位率。
23.根據(jù)權(quán)利要求1的方法,包括通過耦合于流媒體機(jī)與最后英里信道之間的系統(tǒng)執(zhí)行分配。
24.—種系統(tǒng),包括 被配置為從在用戶裝置上被托管的客戶機(jī)接收多個(gè)塊體請求的輸入接口,各塊體請求指示用于流動(dòng)屬于流媒體流的媒體塊體的請求的位率; 被配置為實(shí)現(xiàn)以下的操作的處理模塊 對于多個(gè)流媒體流分配或接收分配的位率,各流媒體流包含多個(gè)塊體并要求在受到帶寬限制的最后英里信道上流動(dòng); 如果請求的位率不符合分配的位率,改變至少一個(gè)塊體請求以符合分配的位率,以提供至少一個(gè)新的塊體請求;和 被配置為向要求向用戶裝置流動(dòng)流媒體流的流媒體機(jī)發(fā)送至少一個(gè)新的塊體請求的輸出接口。
25.根據(jù)權(quán)利要求24的系統(tǒng),其中,處理模塊被配置為關(guān)于請求的位率通知與新的塊體請求相關(guān)的客戶機(jī)。
26.根據(jù)權(quán)利要求24的系統(tǒng),其中,處理模塊被配置為從與新的塊體請求相關(guān)的客戶機(jī)隱藏請求的位率的變化。
27.根據(jù)權(quán)利要求24的系統(tǒng),其中,流媒體機(jī)不知道最后英里信道的階段。
28.根據(jù)權(quán)利要求24的系統(tǒng),其中,輸入接口被配置為從客戶機(jī)接收確認(rèn)消息,該確 認(rèn)消息指示媒體塊體的接收;以及其中,系統(tǒng)的輸出接口被配置為延遲確認(rèn)消息的傳送,其中,延遲響應(yīng)于與客戶機(jī)相關(guān)的分配的位率。
29.根據(jù)權(quán)利要求24的系統(tǒng),其中,輸入接口被配置為從客戶機(jī)接收確認(rèn)消息,確認(rèn)消息指示媒體塊體的接收;其中,處理模塊被配置為確定是否延遲確認(rèn)消息的傳送;以及其中,系統(tǒng)的輸出接口被配置為基于確定延遲確認(rèn)請求的傳送,其中,延遲響應(yīng)于分配的位率。
30.根據(jù)權(quán)利要求24的系統(tǒng),其中,處理模塊被配置為通過與最后英里信道耦合的系統(tǒng)向流媒體流中的每一個(gè)分配分配的位率。
31.根據(jù)權(quán)利要求24的系統(tǒng),其中,處理模塊被配置為通過客戶機(jī)之間的協(xié)作向流媒體流分配分配的位率。
32.根據(jù)權(quán)利要求24的系統(tǒng),其中,處理模塊被配置為通過利用被系統(tǒng)托管的客戶機(jī)代理向流媒體流分配分配的位率。
33.根據(jù)權(quán)利要求24的系統(tǒng),其中,處理模塊被配置為基于流媒體流的質(zhì)量水平分配分配的位率。
34.根據(jù)權(quán)利要求24的系統(tǒng),其中,處理模塊被配置為不改變與第一類型的流媒體流相關(guān)的文件請求;如果塊體請求與第二類型的流媒體流相關(guān),并且,如果請求的位率不符合分配的位率,則改變塊體請求以符合分配的位率來提供新的塊體請求;以及其中,系統(tǒng)的輸出接口被配置為將不變的塊體請求和新的塊體請求發(fā)送到要求將流媒體流流動(dòng)到用戶裝置的至少一個(gè)流媒體機(jī)。
35.根據(jù)權(quán)利要求34的系統(tǒng),其中,第一類型的流媒體流是進(jìn)行性下載。
36.根據(jù)權(quán)利要求34的系統(tǒng),其中,第二類型的流媒體流是自適應(yīng)位率流。
37.根據(jù)權(quán)利要求24的系統(tǒng),其中,處理模塊被配置為通過客戶機(jī)之間的協(xié)作向流媒體流分配分配的位率。
38.根據(jù)權(quán)利要求24的系統(tǒng),其中,處理模塊被配置為通過利用在與最后英里信道耦合的系統(tǒng)上的客戶機(jī)代理向流媒體流分配分配的位率。
39.根據(jù)權(quán)利要求24的系統(tǒng),其中,處理模塊被配置為對于不同類型的流媒體流執(zhí)行不同的位率控制策略。
40.根據(jù)權(quán)利要求24的系統(tǒng),其中,最后英里信道是有線信道。
41.根據(jù)權(quán)利要求24的系統(tǒng),其中,最后英里信道是無線信道
42.根據(jù)權(quán)利要求24的系統(tǒng),其中,分配的位率是流媒體流的最大可允許位率的預(yù)定部分。
43.根據(jù)權(quán)利要求24的系統(tǒng),其中,分配的位率是流媒體流的最大可允許位率的80%。
44.根據(jù)權(quán)利要求24的系統(tǒng),其中,處理模塊被配置為向流媒體流分配分配的位率。
45.根據(jù)權(quán)利要求24的系統(tǒng),其中,處理模塊被配置為接收對于流媒體流的分配的位率。
46.根據(jù)權(quán)利要求24的系統(tǒng),其中,系統(tǒng)耦合于流媒體機(jī)與最后英里信道之間。
47.一種計(jì)算機(jī)程序產(chǎn)品,包括存儲用于執(zhí)行以下的過程的指令的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì) 對于多個(gè)流媒體流分配或接收分配的位率,各流媒體流包含多個(gè)塊體并要求在受到帶寬限制的最后英里信道上流動(dòng); 從在用戶裝置上被托管的客戶機(jī)接收多個(gè)塊體請求,各塊體請求指示用于流動(dòng)屬于流媒體流的媒體塊體的請求位率; 如果請求的位率不符合分配的位率,改變至少一個(gè)塊體請求以符合分配的位率,以提供至少一個(gè)新的塊體請求;和 向要求向用戶裝置流動(dòng)流媒體流的流媒體機(jī)發(fā)送至少一個(gè)新的塊體請求。
48.根據(jù)權(quán)利要求47的計(jì)算機(jī)程序產(chǎn)品,其中,非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)存儲用于關(guān)于請求的位率通知與新的塊體請求相關(guān)的客戶機(jī)的指令。
49.根據(jù)權(quán)利要求47的計(jì)算機(jī)程序產(chǎn)品,其中,非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)存儲用于從與新的塊體請求相關(guān)的客戶機(jī)隱藏請求的位率的變化的指令。
50.根據(jù)權(quán)利要求47的計(jì)算機(jī)程序產(chǎn)品,其中,流媒體機(jī)不知道最后英里信道的階段。
51.根據(jù)權(quán)利要求47的計(jì)算機(jī)程序產(chǎn)品,其中,非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)存儲用于完成以下的操作的指令從客戶機(jī)接收確認(rèn)消息,該確認(rèn)消息指示媒體塊體的接收;和延遲確認(rèn)消息的傳送,其中,延遲響應(yīng)于與客戶機(jī)相關(guān)的分配的位率。
52.根據(jù)權(quán)利要求47的計(jì)算機(jī)程序產(chǎn)品,其中,非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)存儲用于完成以下的操作的指令從客戶機(jī)接收確認(rèn)消息,確認(rèn)消息指示媒體塊體的接收;確定是否延遲確認(rèn)消息的傳送;和基于確定延遲確認(rèn)請求的傳送,其中,延遲響應(yīng)于分配的位率。
53.根據(jù)權(quán)利要求47的計(jì)算機(jī)程序產(chǎn)品,其中,非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)存儲用于通過與最后英里信道耦合的系統(tǒng)向流媒體流中的每一個(gè)分配分配的位率的指令。
54.根據(jù)權(quán)利要求47的計(jì)算機(jī)程序產(chǎn)品,其中,非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)存儲用于通過客戶機(jī)之間的協(xié)作向流媒體流分配分配的位率的指令。
55.根據(jù)權(quán)利要求47的計(jì)算機(jī)程序產(chǎn)品,其中,非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)存儲用于通過利用由與最后英里信道耦合的系統(tǒng)托管的客戶機(jī)代理向流媒體流分配分配的位率的指令。
56.根據(jù)權(quán)利要求47的計(jì)算機(jī)程序產(chǎn)品,其中,非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)存儲用于基于流媒體流的質(zhì)量水平分配分配的位率的指令。
57.根據(jù)權(quán)利要求47的計(jì)算機(jī)程序產(chǎn)品,其中,非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)存儲用于完成以下的操作的指令 如果文件請求與第一類型的流媒體流相關(guān),則保持文件請求不變; 如果塊體請求與第二類型的流媒體流相關(guān),并且,如果請求的位率不符合分配的位率,則改變塊體請求以符合分配的位率來提供新的塊體請求;和 將不變的塊體請求和新的塊體請求發(fā)送到要求將流媒體流流動(dòng)到用戶裝置的至少一個(gè)流媒體機(jī)。
58.根據(jù)權(quán)利要求57的計(jì)算機(jī)程序產(chǎn)品,其中,第一類型的流媒體流是進(jìn)行性下載。
59.根據(jù)權(quán)利要求57的計(jì)算機(jī)程序產(chǎn)品,其中,第二類型的流媒體流是自適應(yīng)位率流。
60.根據(jù)權(quán)利要求47的計(jì)算機(jī)程序產(chǎn)品,其中,非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)存儲用于通過客戶機(jī)之間的協(xié)作向流媒體流分配分配的位率的指令。
61.根據(jù)權(quán)利要求47的計(jì)算機(jī)程序產(chǎn)品,其中,非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)存儲用于通過利用在與最后英里信道耦合的系統(tǒng)上的客戶機(jī)代理向流媒體流分配分配的位率的指令。
62.根據(jù)權(quán)利要求47的計(jì)算機(jī)程序產(chǎn)品,其中,非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)存儲用于對于不同類型的流媒體流執(zhí)行不同的位率控制策略的指令。
63.根據(jù)權(quán)利要求47的計(jì)算機(jī)程序產(chǎn)品,其中,最后英里信道是有線信道。
64.根據(jù)權(quán)利要求47的計(jì)算機(jī)程序產(chǎn)品,其中,最后英里信道是無線信道。
65.根據(jù)權(quán)利要求47的計(jì)算機(jī)程序產(chǎn)品,其中,非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)存儲用于確定分配的位率的分配的位率為流媒體流的最大可允許位率的預(yù)定部分的指令。
66.根據(jù)權(quán)利要求47的計(jì)算機(jī)程序產(chǎn)品,其中,分配的位率的分配的位率是流媒體流的最大可允許位率的80%。
67.根據(jù)權(quán)利要求47的計(jì)算機(jī)程序產(chǎn)品,其中,非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)存儲用于向流媒體流分配分配的位率的指令。
68.根據(jù)權(quán)利要求47的計(jì)算機(jī)程序產(chǎn)品,其中,非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)存儲用于接收對于流媒體流的分配的位率的指令。
69.—種方法,包括 從與最后英里信道耦合的用戶裝置的客戶機(jī)接收塊體請求;檢查在最后英里信道上要求的所有通信量,檢查包含 評價(jià)滿足塊體請求所需要的位率; 基于檢查分配帶寬; 響應(yīng)帶寬的分配,產(chǎn)生新的塊體請求;和 向流媒體服務(wù)器傳送新的塊體請求。
70.根據(jù)權(quán)利要求69的方法,其中,分配進(jìn)一步響應(yīng)策略考慮。
71.根據(jù)權(quán)利要求69的方法,其中,分配進(jìn)一步響應(yīng)視頻質(zhì)量、用戶優(yōu)先權(quán)、操作員優(yōu)先權(quán)、服務(wù)優(yōu)先權(quán)和帳單考慮中的至少一個(gè)。
72.根據(jù)權(quán)利要求69的方法,包括協(xié)作地進(jìn)行位率決定。
73.一種計(jì)算機(jī)程序產(chǎn)品,包括存儲用于完成以下的操作的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì) 從與最后英里信道耦合的用戶裝置的客戶機(jī)接收塊體請求; 檢查在最后英里信道上要求的所有通信量,檢查包含 評價(jià)滿足塊體請求所需要的位率; 基于檢查分配帶寬; 響應(yīng)帶寬的分配,產(chǎn)生新的塊體請求;和 向流媒體服務(wù)器傳送新的塊體請求。
74.根據(jù)權(quán)利要求73的計(jì)算機(jī)程序產(chǎn)品,其中,非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)存儲用于分配進(jìn)一步響應(yīng)策略考慮的位率的指令。
75.根據(jù)權(quán)利要求73的計(jì)算機(jī)程序產(chǎn)品,其中,非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)存儲用于分配進(jìn)一步響應(yīng)視頻質(zhì)量、用戶優(yōu)先權(quán)、操作員優(yōu)先權(quán)、服務(wù)優(yōu)先權(quán)和帳單考慮中的至少一個(gè)的位率的指令。
76.根據(jù)權(quán)利要求73的計(jì)算機(jī)程序產(chǎn)品,其中,非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)存儲用于協(xié)作地進(jìn)行位率決定的指令。
77.一種用于控制流媒體流的方法,該方法包括 對于流媒體流以及對于與流媒體流不同的附加的流分配或接收分配的位率,各流媒體流包含多個(gè)塊體并且各媒體塊體包含多個(gè)媒體分組,其中,附加的流和流媒體流被要求在受到帶寬限制的最后英里信道上流動(dòng); 接收在最后英里信道上被傳送或者要求在最后英里信道上被傳送的分組; 確定各分組是否是流媒體分組、塊體請求、確認(rèn)消息或另一分組; 如果分組是塊體請求,那么, 確定是否改變由塊體請求請求的位率; 選擇性地改變由塊體請求請求的位率以提供新的塊體請求,其中,選擇性地改變響應(yīng)被分配給與塊體請求相關(guān)的流媒體流相關(guān)的分配的位率;和 向要求流動(dòng)與塊體請求相關(guān)的流媒體流的流媒體機(jī)傳送新的塊體請求; 如果分組是流媒體分組,則向客戶機(jī)傳送流媒體分組并更新最后英里信道的狀態(tài);以及, 如果分組是指示客戶機(jī)對于媒體分組的接收的確認(rèn)消息,那么, 確定向流媒體機(jī)傳送確認(rèn)消息的定時(shí),確定是對于分配給包含媒體分組的流媒體流的位率;和 基于傳送的定時(shí)的確定向流媒體機(jī)傳送確認(rèn)消息。
全文摘要
提供方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。方法可包括對于多個(gè)流媒體流分配或接收分配的位率,各流媒體流包含多個(gè)塊體并要求在受到帶寬限制的最后英里信道上流動(dòng);從在用戶裝置上被托管的客戶機(jī)接收多個(gè)塊體請求,各塊體請求指示用于流動(dòng)屬于流媒體流的媒體塊體的請求位率;如果請求的位率不符合分配的位率,改變至少一個(gè)塊體請求以符合分配的位率,以提供至少一個(gè)新的塊體請求;和向要求向用戶裝置流動(dòng)流媒體流的流媒體機(jī)發(fā)送至少一個(gè)新的塊體請求。
文檔編號G06F15/16GK103069406SQ201180028056
公開日2013年4月24日 申請日期2011年4月7日 優(yōu)先權(quán)日2010年4月8日
發(fā)明者N·斯特拉斯曼, B·索都 申請人:瓦索那網(wǎng)絡(luò)公司