操作高速緩存器的方法以及對(duì)應(yīng)的高速緩存器的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明總體上涉及通過例如但不排他地HTTP(超文本傳輸協(xié)議)的自適應(yīng)流傳 輸技術(shù)領(lǐng)域,具體涉及對(duì)沿著客戶終端與遠(yuǎn)程服務(wù)器之間的傳輸路徑布置的高速緩存的操 作。
【背景技術(shù)】
[0002] 本節(jié)意在向讀者介紹相關(guān)技術(shù)的各個(gè)方面,這些方面可以與以下描述和/或要求 保護(hù)的本發(fā)明的各個(gè)方面相關(guān)。相信本討論有助于向讀者提供背景信息,以便于更好地理 解本發(fā)明的各個(gè)方面。因此,應(yīng)當(dāng)理解,這些陳述應(yīng)當(dāng)據(jù)此閱讀,而并非作為對(duì)現(xiàn)有技術(shù)的 認(rèn)可。
[0003] 通過HTTP的自適應(yīng)流傳輸(也稱作多比特率切換或HAS)正在迅速成為多媒體內(nèi) 容分發(fā)的主要技術(shù)。在已經(jīng)使用的HTTP自適應(yīng)流傳輸協(xié)議中,最著名的是來自Apple的 HTTP現(xiàn)場流傳輸(HLS),來自Microsoft的Silverlight平滑流傳輸(SSS),來自Adobe的 Adobe動(dòng)態(tài)流傳輸(ADS)、3GPP以及MPEG開發(fā)的通過HTTP的動(dòng)態(tài)自適應(yīng)流傳輸(DASH)(標(biāo) 準(zhǔn)化為 ISO/ffiC 23009-1 :2012)。
[0004] 當(dāng)客戶終端希望以自適應(yīng)流傳輸?shù)姆绞讲シ乓暵爟?nèi)容(或A/V內(nèi)容)時(shí),首先必 須得到描述如何能夠獲得該A/V內(nèi)容的文件。通常這通過從URL(統(tǒng)一資源定位符)得到 描述文件(所謂的清單(manifest))經(jīng)由HTTP協(xié)議來進(jìn)行,但是也能夠通過其它方式(例 如,廣播、電子郵件、SMS等)來實(shí)現(xiàn)。預(yù)先產(chǎn)生并由遠(yuǎn)程服務(wù)器傳送至客戶終端的清單基 本上(在比特率、分辨率和其它屬性方面)列舉了這種A/V內(nèi)容的可用表示(也稱作實(shí)例 或版本)。表示與給定質(zhì)量級(jí)別(比特率)相關(guān)聯(lián)。
[0005] 將每個(gè)表示的整體數(shù)據(jù)流劃分成等持續(xù)時(shí)間的分段(segment)(也稱作分塊 (chunk))(通過分離的URL可訪問),這些分段被配置為使得客戶終端可以在兩個(gè)分段之間 平滑地從一個(gè)質(zhì)量級(jí)別切換到另一個(gè)質(zhì)量級(jí)別。因此,視頻質(zhì)量可以在播放時(shí)變化,而幾乎 不會(huì)中斷(也稱作凍結(jié))。
[0006] 在客戶端側(cè),基于傳輸路徑的可用帶寬的測(cè)量來選擇分段。具體地,客戶終端通常 請(qǐng)求與符合所測(cè)量帶寬的比特率編碼相對(duì)應(yīng)且因此與符合所測(cè)量帶寬的質(zhì)量相對(duì)應(yīng)的分 段表示。
[0007] 當(dāng)高速緩存器沿著客戶終端與遠(yuǎn)程服務(wù)器之間的傳輸路徑時(shí),在以下情況下給定 分段的一個(gè)表示能夠已經(jīng)存儲(chǔ)在所述高速緩存器中:另一客戶先前已經(jīng)請(qǐng)求了具有相同表 示的相同分段,或者內(nèi)容傳遞網(wǎng)絡(luò)(CDN)已經(jīng)在高速緩存器中供應(yīng)了該分段。因此,與分段 來自遠(yuǎn)程服務(wù)器的情況相比,對(duì)針對(duì)所述給定分段的HTTP請(qǐng)求的響應(yīng)更快,并且可以避免 重復(fù)傳輸,有效地節(jié)省了網(wǎng)絡(luò)和服務(wù)器資源。
[0008] 然而,HTTP自適應(yīng)流傳輸看起來并非是高速緩存器友好型的(或者,至少與關(guān)于 實(shí)例H264-SVC的所謂分層基本切換(layered base switching)相比,高速緩存器友好性 要差)。確實(shí),如果第一客戶終端請(qǐng)求給定分段的表示R1,第二客戶終端(與所述第一客戶 終端共享傳輸路徑的一部分和高速緩存器)(按照較高質(zhì)量或較低質(zhì)量)請(qǐng)求所述給定分 段的表示R2,則高速緩存器并未命中,導(dǎo)致高速緩存器與服務(wù)器之間的網(wǎng)絡(luò)段上負(fù)載較高, 存在引起擁塞的風(fēng)險(xiǎn)。然后完全消除了高速緩存的優(yōu)點(diǎn),并且高速緩存器當(dāng)前不能改進(jìn)這 種情況。
[0009] 為了克服該缺陷,已知客戶終端可以發(fā)送針對(duì)包括第一(也稱作優(yōu)選)表示和一 個(gè)或若干備選表示在內(nèi)的給定分段的請(qǐng)求。當(dāng)這樣的請(qǐng)求到達(dá)HAS感知高速緩存器(HAS aware cache)(意味著所述高速緩存器符合諸如MPEG-DASH等HAS協(xié)議)時(shí),所述高速緩 存器在高速緩存了第一表示的情況下傳送第一表示,或者在未高速緩存第一表示的情況下 瀏覽備選表示。當(dāng)高速緩存了備選表示之一時(shí),高速緩存器向客戶終端發(fā)送所述備選表示。 當(dāng)前請(qǐng)求的第一和備選表示都未被高速緩存時(shí),向上游轉(zhuǎn)發(fā)請(qǐng)求。
[0010] 然而,存儲(chǔ)在高速緩存器中的表示由之前的請(qǐng)求來確定。如果第一客戶終端請(qǐng)求 具有表示R的分段,則請(qǐng)求相同分段并且指定表示R作為備選表示的后續(xù)客戶終端實(shí)際上 會(huì)接收表示R而不是對(duì)應(yīng)的請(qǐng)求的第一(或優(yōu)選的)表示。由于后續(xù)客戶端請(qǐng)求視為由高 速緩存器來處理,所以分段的其它表現(xiàn)不會(huì)加載到高速緩存器(除非在不允許R作為備選 表示的情況下一些客戶端終端請(qǐng)求不對(duì)第一表示進(jìn)行高速緩存)。如果表示R是低質(zhì)量表 示(例如因?yàn)殚_始請(qǐng)求給定分段的第一客戶終端本身經(jīng)歷了不良網(wǎng)絡(luò)條件,并且請(qǐng)求最低 質(zhì)量的表示),在資源和網(wǎng)絡(luò)狀況可以允許處理較高質(zhì)量時(shí),所有或大部分客戶終端可以播 放低質(zhì)量視頻。
[0011] 因此,請(qǐng)求給定的分段的第一客戶終端可以影響由高速緩存器向請(qǐng)求相同分段的 后續(xù)客戶終端提供的響應(yīng)(并且然后影響質(zhì)量)。因而,如果第一客戶終端很不幸地不代表 大部分客戶終端的需求,則在所述大部分終端將受到第一客戶終端的請(qǐng)求和行為的影響。
[0012] 本發(fā)明至少克服了上述缺點(diǎn)。
【發(fā)明內(nèi)容】
[0013] 本發(fā)明涉及用于操作在客戶終端與至少一個(gè)服務(wù)器之間布置的高速緩存器的方 法,所述高速緩存器被配置為從客戶終端接收針對(duì)多媒體內(nèi)容的分段的至少第一表示的請(qǐng) 求,所述多媒體內(nèi)容以多個(gè)表示可用,
[0014] 所述方法包括:
[0015] -在第一時(shí)間段內(nèi)從客戶終端接收針對(duì)給定分段的多個(gè)請(qǐng)求,每個(gè)請(qǐng)求指定所述 給定分段的一個(gè)第一表不和至少一個(gè)備選表不;
[0016] -從在第一時(shí)間段期間接收的請(qǐng)求的表示中確定所請(qǐng)求的至少一個(gè)主相關(guān)表示;
[0017] -從遠(yuǎn)程服務(wù)器請(qǐng)求給定分段的所述主相關(guān)表示。
[0018] 在符合本發(fā)明的實(shí)施例中,確定所請(qǐng)求的主相關(guān)表示的步驟包括:
[0019] -確定第一時(shí)間段期間接收的請(qǐng)求中指定的所述給定分段的每個(gè)表示的相關(guān)性分 數(shù);
[0020] -選擇具有最高相關(guān)性分?jǐn)?shù)的表示作為所述給定分段的主相關(guān)表示。
[0021] 具體地,與所述給定分段的所請(qǐng)求表示相關(guān)聯(lián)的相關(guān)性分?jǐn)?shù)可以對(duì)應(yīng)于所請(qǐng)求表 示在所述由高速緩存器接收的請(qǐng)求中被指定的次數(shù)。
[0022] 因此,由于本發(fā)明的實(shí)施例,高速緩存可以考慮到關(guān)于客戶端請(qǐng)求的統(tǒng)計(jì)數(shù)據(jù),以 便向最大數(shù)目的客戶終端提供例如多媒體內(nèi)容(例如A/V內(nèi)容)的總體更好質(zhì)量,而同時(shí) 保持從高速緩存器本身提供的內(nèi)容的高比例。
[0023] 在所述實(shí)施例的其它方面,接收的請(qǐng)求的每個(gè)表示具有優(yōu)先級(jí)別,表示被請(qǐng)求的 次數(shù)可以通過第一因子加權(quán),所述第一因子取決于所述表示的優(yōu)先級(jí)別。
[0024] 在所述實(shí)施例的另一方面,所述方法可以包括:
[0025] -確定是否存在并未請(qǐng)求主相關(guān)表示作為第一表示或作為備選表示的一個(gè)或多個(gè) 其余客戶終端;
[0026] -建立所述一個(gè)或多個(gè)其余客戶終端已經(jīng)請(qǐng)求的表示的列表;
[0027] -基于相關(guān)性的分?jǐn)?shù)來確定所建立列表的最輔助相關(guān)表示,并且向服務(wù)器請(qǐng)求所 述輔助相關(guān)表示。
[0028] 此外,所述方法還可以包括當(dāng)下一個(gè)分段的所述主相關(guān)表示沒有存儲(chǔ)在所述高速 緩存中時(shí),從遠(yuǎn)程服務(wù)器請(qǐng)求下一個(gè)分段的所述主相關(guān)表示。
[0029] 在所述實(shí)施例的另一個(gè)方面中,方法還可以包括:
[0030] -在第二時(shí)間段內(nèi)對(duì)向客戶終端發(fā)送已經(jīng)存儲(chǔ)在高速緩存器中的每個(gè)所請(qǐng)求表示 的次數(shù)進(jìn)行計(jì)數(shù),以獲得針對(duì)每個(gè)所請(qǐng)求表示的命中分?jǐn)?shù),作為第一表示發(fā)送給客戶終端 的所請(qǐng)求表示的計(jì)數(shù)方式不同于作為備選表示發(fā)送的所請(qǐng)求表示的計(jì)數(shù)方式;
[0031] -至少刪除具有最低命中分?jǐn)?shù)的所存儲(chǔ)表示。
[0032] 此外,第一時(shí)間段可以開始于給定時(shí)刻,并且當(dāng)高速緩存器已經(jīng)從客戶端接收到 預(yù)定義數(shù)目的請(qǐng)求時(shí)結(jié)束。
[0033] 本發(fā)明還涉及在客戶終端與至少一個(gè)服務(wù)器之間布置的高速緩存器,所述高速緩 存器被配置為從客戶終端接收針對(duì)多媒體內(nèi)容的分段的至少第一表示的請(qǐng)求,所述多媒體 內(nèi)容以多個(gè)表示可用。所述高速緩存器包括:<