專利名稱:針對內(nèi)容傳遞網(wǎng)絡(luò)的集中式調(diào)度器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種提供延遲下載服務(wù)的內(nèi)容傳遞網(wǎng)絡(luò)(CDN)。更具體 地,本發(fā)明涉及一種針對內(nèi)容傳遞網(wǎng)絡(luò)的集中式調(diào)度器。
背景技術(shù):
現(xiàn)有技術(shù)描述了一種調(diào)度算法,針對供延遲下載服務(wù)之用的單個內(nèi)容 服務(wù)器和單個高速緩存服務(wù)器。通常將內(nèi)容傳遞網(wǎng)絡(luò)(content deliverynetwork, CDN)技術(shù)用于可以在對于請求時間有延遲的稍后時間里呈現(xiàn) 所請求內(nèi)容的服務(wù)。數(shù)字電影租賃服務(wù)是典型的這種服務(wù)。CDN技術(shù)包括兩個關(guān)鍵組成(1)分配資源以將內(nèi)容分發(fā)給邊緣服 務(wù)器,以及(2)對請求進行重定向(請求路由(request-routing))以將內(nèi) 容從邊緣服務(wù)器分發(fā)給客戶端。在傳統(tǒng)的CDN網(wǎng)絡(luò)中,僅在內(nèi)容可在邊 緣服務(wù)器處獲得的情況下,才進行對邊緣服務(wù)器的請求路由。發(fā)明內(nèi)容本發(fā)明描述了一種針對具有高速緩存/邊緣服務(wù)器的內(nèi)容傳遞網(wǎng)絡(luò)的 集中式調(diào)度器,從而(1)通過選擇分發(fā)路徑來實現(xiàn)服務(wù)量負載平衡,以 及(2)通過在集中式控制器處選擇分發(fā)調(diào)度來實現(xiàn)服務(wù)量負載平滑。在本發(fā)明的CDN中,即使在內(nèi)容在邊緣服務(wù)器處還不可獲得的情況 下,也可以進行對邊緣服務(wù)器的請求路由。能夠?qū)⑺埱蟮膬?nèi)容傳遞給客 戶端的這種選擇服務(wù)器路徑的能力是本發(fā)明的針對CDN的請求路由功 能。即本發(fā)明的CDN的集中式調(diào)度器識別CDN中的路徑,其中經(jīng)由所述 路徑、使用本發(fā)明的集中式調(diào)度器、通過請求調(diào)度來將所請求的內(nèi)容分發(fā)。本發(fā)明描述了一種用于執(zhí)行對內(nèi)容傳遞的集中式調(diào)度的方法,所述方 法包括執(zhí)行準許進入控制;定位作為內(nèi)容源的服務(wù)器;確定內(nèi)容傳遞調(diào) 度;以及對內(nèi)容傳遞調(diào)度重新排序。本發(fā)明還描述了一種對是否執(zhí)行準許進入控制的方法,所述方法包括基于已部分服務(wù)的已提交內(nèi)容請求和新 到達的內(nèi)容請求,對請求隊列重新排序;以及確定新到達的內(nèi)容請求是否 準許進入請求隊列。
本發(fā)明針對延遲下載服務(wù)的CDN系統(tǒng)的調(diào)度問題,并提出了一種用 于解決請求路由問題的啟發(fā)式方法,所述方法使用(1)歸一化速率 (normalizedrate)排序以及(2)順序路徑選擇。
圖1是示出了本發(fā)明要解決的問題的內(nèi)容傳遞網(wǎng)絡(luò)示意圖。 圖2是示出了本發(fā)明的歸一化速率最早傳遞(normalized rate earliest delivery, NRED)方法的流程圖。
具體實施例方式
用于優(yōu)化準許進入并建立傳遞調(diào)度的本發(fā)明方法是基于集中式方法 的。本發(fā)明的CDN支持延遲下載服務(wù),所述延遲下載服務(wù)可被概括為圖 1中示出的問題,圖1是示出了本發(fā)明要解決的問題的內(nèi)容傳遞網(wǎng)絡(luò)示意圖。
圖1示出了覆蓋有CDN的互聯(lián)網(wǎng),所述CDN具有內(nèi)容服務(wù)器、多個 客戶端/用戶",、以及由用戶/客戶端從中接收內(nèi)容的多個邊緣服務(wù)器。內(nèi) 容服務(wù)器接收用于在未來的某個時間通過內(nèi)容服務(wù)器將內(nèi)容路由(請求路 由/^QJ)到客戶端的請求。邊緣服務(wù)器可能還不具有可用的所請求內(nèi)容。 集中式調(diào)度器(駐留在內(nèi)容服務(wù)器中)必須找到/確定調(diào)度集合^W,以便 在所請求的傳遞時間之時或之前,所請求的內(nèi)容對于請求該內(nèi)容的客戶端 是可用的。集中式調(diào)度器必須考慮到其他待處理(pending)的內(nèi)容請求, 并且考慮到鏈路狀態(tài)、鏈路容量V^^力、高速緩存狀態(tài)C/" 和高速緩存容量c,W。
根據(jù)本發(fā)明執(zhí)行集中式調(diào)度所使用的參數(shù)如下 A^/^,戶0,...,^-網(wǎng)絡(luò)節(jié)點集合,包括內(nèi)容服務(wù)器0'=0)、 /個邊緣服務(wù)器 () =/,...力禾口 ^/個客戶端0'=/+//+U=j9。在每個節(jié)點處有高速緩存,C,伯-高速緩存容量,在高速緩存的大小固定的情況下為。 G州-時刻f的高速緩存狀態(tài)集合,-高速緩存內(nèi)容的列表。巧6:iv;-網(wǎng)絡(luò)鏈路集合,其中&,v是從節(jié)點 到節(jié)點",.的 鏈路,鏈路容量可以是隨時間變化的。6(T "j力-鏈路容量,在鏈路容量恒定的情況下為6^,~。B(r",,";^^-在時刻吖",,^的鏈路狀態(tài)-發(fā)送內(nèi)容的列表。CDN網(wǎng)絡(luò)被定義為由具有高速緩存和鏈路的節(jié)點集合組成的[iV, K(^-f ,g^…0-請求集合,表示在時刻f-"由客戶端向內(nèi)容服務(wù)器發(fā)出的所有請求。 = 9, ^, ^ -由內(nèi)容ID、預(yù)期時間(due time)和請求客戶端ID表 示的請求。 —具有內(nèi)容大小1^1且實時流速率(streaming rate)為||w9||的內(nèi)容ID。 ^-請求 的預(yù)期時間 -發(fā)出請求的客戶端的客戶端ID,根據(jù)該客戶段ID可以識別地理 位置。邵oJ—s一i,^j,,夯(^,WeW-針對請求集合^^的調(diào)度集合,s/ W -針對要在鏈路link ^,^上以流速率llm』傳送的請求 的調(diào) 度(開始)時間。本發(fā)明要解決的優(yōu)化問題是在給定請求集合的情況下必須確定調(diào)度 集合。任何時刻只要新的請求到達,就必須確定調(diào)度集合,這允許將所請 求的內(nèi)容最快地分發(fā)。該問題可定義如下給定在時刻^ = &的網(wǎng)絡(luò)[7V, fc/狄^(T",^力刀、請求集合AfV以及高 速緩存「QV, ^/…"和鏈路/5(T",,"^a f^,^J6:i:7的初始條件,找到調(diào)度集合鄰一 =^ ^/ 以使用于所有鏈路上的所有請求的最晚
(latest)調(diào)度時間最小化,艮P: 最小化[Max(s/fl乂,"J; f>iy^f£<6f及^))] (1)
受到以下約束-
(1) 預(yù)期時間約束
^ S廳W"力""()7/,"J e丄7針對所有
(2) 任何時刻e^的高速緩存約束, IC湖=二一wryW《c,似zW…/ 其中l(wèi) l是針對請求 的內(nèi)容的大小,以及
(3) 任何時刻^^的鏈路容量約束,
/(Y"》""^ = X1,—一」,"jy〉。 /g" - s/"》"J」一gP - e/"》"J川I《6(T"力"W」
其中g(shù)A7是階躍函數(shù)。侖0時,g/x_/ = /,其他情況下^/^ = 0,且e/ "^ = @,^) + |附9|/|—川是下載針對請求 的內(nèi)容的結(jié)束時間。假定在一個連 續(xù)的時隙中以流速率傳遞內(nèi)容。
雖然本發(fā)明的目的是盡可能早地為整個請求集合提供服務(wù),即,對于 給定的請求集合盡可能早地給出調(diào)度時間,但有多種調(diào)度可以滿足這諧約 束,所述多種調(diào)度包括使用不同的路徑以及按不同的次序為請求提供服 務(wù)。路徑選擇的復(fù)雜度為O02j,其中p是內(nèi)容服務(wù)器與客戶端之間路徑 的平均個數(shù)。提供服務(wù)/選擇次序的復(fù)雜度在極端情況下高達CY2Z,。
本發(fā)明的集中式調(diào)度器包括使用以下定義/規(guī)則的啟發(fā)式方法
1)請求排序
按預(yù)定次序?qū)φ埱筮M行排隊。例如,可以按到達次序?qū)φ埱笈判颍蘅?先到先服務(wù)(FIFO)次序或預(yù)期時間(DT)次序。優(yōu)選實施例是如下所 述的歸一化速率(NR)次序
將在時刻H十對請求 的歸一化速率定義為lm^/T《-^其中所述歸一 化速率表示在預(yù)期時間《之前傳遞針對請求 的內(nèi)容而所需的速率。例 如,如果請求是對于大小為4GB的內(nèi)容的,并且預(yù)期時間是晚上8點, 當前時間是下午四點,則針對該請求的歸一化速率是4GB/4小時 =2.2Mbps,即從下午4點開始、在晚上8點之前完成傳遞內(nèi)容而所需的速 率。如果CDN按時刻^&時歸一化速率的次序為請求集合Z^oJ提供服務(wù),則可以使請求超過預(yù)期時間的概率降至最小。選擇次序的復(fù)雜度變?yōu)?br>
cYg;,這已大大降低。
2)順序路徑選擇
雖然按次序?qū)φ埱筮M行排隊,但如果必須結(jié)合地確定針對請求的路徑 選擇,則復(fù)雜度依然很高,即為00勺??梢酝ㄟ^使用備選目的來大大地 簡化該問題,該備選目的是按給定的排隊次序一個接一個地尋找針對每個
請求的最小調(diào)度時間,即,針對在/ f^中的每個請求 的最小調(diào)度時間。 艮P,本發(fā)明的集中式調(diào)度器尋找
最小化[Max(s/"yi/t),' ("y,wJfZ^/ (2)
基于先前得到的調(diào)度矢量 ,^),1=0,...,《力,針對每個請求 確定 最優(yōu)調(diào)度集合^/ ,"A ^,^)fW。由于每個請求基于先前條件尋找該請求 自身的最佳調(diào)度,所以可以與未來請求無關(guān)地、針對每個請求作出調(diào)度決 定。復(fù)雜度變?yōu)镺(^0。
順序地處理請求,盡可能早地作出每個請求的調(diào)度。按照歸一化次序, 順序地處理請求,盡可能早地作出調(diào)度。這里將該方法表示為歸一化速率 最早傳遞(NRED)方法,可以描述如下
1. 以歸一化速率,將請求集合/ f^排列為隊列,仍然由/ f^表示。 令高速緩存和鏈路的初始條件分別為fC^QA z'=/..."、 /B(T"力"AW,
2. (『0到g是時刻/接收的請求的總數(shù)。
3. 對于請求 =《,",通過以下過程找到提供將內(nèi)容/^傳遞到 ^的最小調(diào)度時間(方程(2))的最短路徑
4. 從服務(wù)器集合&開始,其中每個服務(wù)器 f 具有內(nèi)容^ e: GC其中"是在處理 之前服務(wù)器 上的高速緩存得以更新的最后時 間。
5. 使用多源最短路徑算法(例如Dijkstm算法),找到從任何服務(wù)器 f A到 的最短路徑。
6. 找到調(diào)度/5/"力"^ ^.,^^丄j并分別更新最短路徑上的服務(wù)器的高 速緩存fG.r^+Ae^和鏈路/B(T "^ ^+", W eZ^,應(yīng)用對鏈路容量和高速緩存容量的約束。7. 如果max/^/"》"A "^€:丄7>4,則該方法無法找到針對A(V的 調(diào)度集合;該方法失敗,得到對請求集合i^oi中的最晚內(nèi)容請求到達的拒 絕。8. 繼續(xù)至下一請求,步驟2??梢岳缛缦露x對最短路徑的度量1) 最小調(diào)度時間給出針對請求的最小調(diào)度時間的路徑。該度量是 針對方程(2)的。2) 最小跳數(shù)(number of hops):給網(wǎng)絡(luò)帶來最小負載的路徑。該度量 可能不會給出針對每一個單獨請求的最佳調(diào)度時間,但該度量應(yīng)當給出較 好的整體結(jié)果,更佳適合方程(1)。圖2是示出了本發(fā)明的歸一化速率最早傳遞(NRED)方法的流程圖。 在205,按歸一化次序放置請求隊列。歸一化次序構(gòu)成了初始條件。在210, 從請求隊列中按次序取出單個請求。在215,對具有所請求內(nèi)容的服務(wù)器 集合i/進行定位。服務(wù)器集合包括先前己為針對所請求內(nèi)容的請求提供過 服務(wù)的每個服務(wù)器 ,并且所述每個服務(wù)器的內(nèi)容還未被其他內(nèi)容替換。 然后在220確定從服務(wù)器集合//中的任何服務(wù)器 到用戶/客戶端^的最 短路徑(經(jīng)由邊緣服務(wù)器)。最短路徑的成本是跳數(shù)或最早調(diào)度時間。在 225,確定針對最短路徑上的所有鏈路和服務(wù)器的調(diào)度、高速緩存狀態(tài)和 高速緩存容量。調(diào)度還必須滿足鏈路容量和鏈路狀態(tài)。對于給定的CDN拓撲、以及已部分服務(wù)的內(nèi)容請求和新的內(nèi)容請求 的集合,基于已部分服務(wù)的已提交(committed)請求和新到達的請求,對 請求隊列重新排序。該過程被稱作準許進入控制。如果可能(資源允許), 則準許進入新的內(nèi)容請求。具體地,集中式服務(wù)器確定是否準許進入新的 內(nèi)容請求。本發(fā)明的集中式調(diào)度器確定是否可以發(fā)展出在不丟棄已準許進 入的請求的情況下滿足新的內(nèi)容請求的調(diào)度。通過對從歸一化請求隊列中 取出的已部分服務(wù)的已提交請求以及最新請求的服務(wù)進行仿真,來作出所 述確定。如果沒有發(fā)展出這種調(diào)度,則拒絕新的內(nèi)容請求,并將新的內(nèi)容請求從請求隊列中移除。本發(fā)明的集中式服務(wù)器將命令發(fā)送到邊緣服務(wù)器和客戶端/用戶,以根 據(jù)為滿足已準許進入的最新內(nèi)容請求而發(fā)展出的調(diào)度,來調(diào)用下載處理。在備選實施例中,只要內(nèi)容的每個剝離的(striped)單元被定義為內(nèi) 容的單個單元,本發(fā)明的方法就還可使用剝離處理??梢允褂枚鄠€請求來 發(fā)出針對剝離內(nèi)容的請求,對于每個剝離單元各有一個請求,且每個請求 都可選地具有某個在先評級(pro-rated)的預(yù)期時間。雖然這增大了該方 法的總體復(fù)雜度,但這也會得到更快速傳遞的內(nèi)容單元,并且可能并行傳 遞。本發(fā)明的方法(NRED)從而在時間上和空間上平滑了內(nèi)容分發(fā)網(wǎng)絡(luò) 上的負載,并由此按時傳遞更多被請求的內(nèi)容。由于內(nèi)容請求通常是突發(fā) 性的(通常在高峰時間到來且來自熱點),所以在沒有調(diào)度的情況下,內(nèi) 容分發(fā)網(wǎng)絡(luò)可能在某些時段過載,而在其他時段不被使用。需要理解,可以以硬件、軟件、固件、專用處理器或它們的組合等多 種形式實現(xiàn)本發(fā)明。優(yōu)選地,將本發(fā)明實現(xiàn)為硬件和軟件的組合。此外, 優(yōu)選地將軟件實現(xiàn)為在程序存儲設(shè)備上以有形形式具體實現(xiàn)的應(yīng)用程序。 可以將該應(yīng)用程序上載到包括任何合適結(jié)構(gòu)的機器并由所述機器執(zhí)行所 述應(yīng)用程序。優(yōu)選地,在具有硬件的計算機平臺上實現(xiàn)所述機器,其中所 述硬件是例如一個或更多個中央處理器(CPU)、隨機存取存儲器(RAM) 以及輸入/輸出(I/O)接口。計算機平臺還包括操作系統(tǒng)和微指令代碼。 此處描述的多種處理和功能可以是通過操作系統(tǒng)執(zhí)行的微指令代碼的一 部分或者應(yīng)用程序的一部分(或它們的組合)。另外,多種其他外圍設(shè)備, 諸如附加數(shù)據(jù)存儲設(shè)備和打印設(shè)備之類,可以連接到計算機平臺。還要理解,由于優(yōu)選地以軟件實現(xiàn)了附圖中示出的組成系統(tǒng)的組件和 方法步驟中的一些,所以系統(tǒng)組件(或處理步驟)之間的實際連接可以根 據(jù)對本發(fā)明進行編程的方式而有所不同。給出了此處的教義,本領(lǐng)域普通 技術(shù)人員能夠設(shè)想到本發(fā)明的這些以及相似的實施方式或配置。
權(quán)利要求
1.一種對準許進入請求隊列進行控制的方法,所述方法包括基于已部分服務(wù)的已提交內(nèi)容請求和新到達的內(nèi)容請求,對所述請求隊列重新排序;以及確定所述新到達的內(nèi)容請求是否準許進入所述請求隊列。
2. 根據(jù)權(quán)利要求1所述的方法,其中所述確定步驟還包括對所述 已部分服務(wù)的已提交內(nèi)容請求和所述新到達的內(nèi)容請求的服務(wù)進行仿真。
3. 根據(jù)權(quán)利要求2所述的方法,其中所述新到達的內(nèi)容請求是從重 新排序后的請求隊列中取出的下一順序的請求。
4. 一種對通過內(nèi)容傳遞網(wǎng)絡(luò)的內(nèi)容傳遞進行集中式調(diào)度的方法,所 述方法包括執(zhí)行準許進入控制; 對作為內(nèi)容源的服務(wù)器進行定位; 確定內(nèi)容傳遞調(diào)度;以及 對所述內(nèi)容傳遞調(diào)度重新排序。
5. 根據(jù)權(quán)利要求4所述的方法,還包括執(zhí)行重新排序后的內(nèi)容傳 遞調(diào)度。
6. 根據(jù)權(quán)利要求4所述的方法,其中所述重新排序步驟還包括對 所述內(nèi)容傳遞調(diào)度進行優(yōu)化。
7. 根據(jù)權(quán)利要求6所述的方法,還包括針對為了傳遞而被調(diào)度的每個內(nèi)容單元,計算歸一化速率;以及 基于計算出的歸一化速率,對所述內(nèi)容傳遞調(diào)度重新排序。
8. 根據(jù)權(quán)利要求7所述的方法,其中所述歸一化速率中每一個是由 所述內(nèi)容單元的大小除以內(nèi)容傳遞預(yù)期時間減去當前時間的差而得到的。
9. 根據(jù)權(quán)利要求4所述的方法,其中所述確定步驟還包括針對所述 內(nèi)容傳遞網(wǎng)絡(luò)的順序路徑選擇。
10. 根據(jù)權(quán)利要求9所述的方法,其中順序路徑選擇是通過按歸一化 次序,順序地將針對每個內(nèi)容請求的調(diào)度時間最小化,來選擇從內(nèi)容服務(wù) 器到請求所述內(nèi)容的客戶端的路徑。
11.根據(jù)權(quán)利要求4所述的方法,其中通過針對請求隊列中的每個內(nèi) 容請求,順序地確定從內(nèi)容服務(wù)器到請求所述內(nèi)容的客戶端的路徑中的最 小跳數(shù),來確定所述內(nèi)容傳遞調(diào)度。
全文摘要
本發(fā)明描述了一種用于執(zhí)行對內(nèi)容傳遞的集中式調(diào)度的方法,所述方法包括執(zhí)行準許進入控制;定位作為內(nèi)容源的服務(wù)器;確定內(nèi)容傳遞調(diào)度;以及對內(nèi)容傳遞調(diào)度重新排序。本發(fā)明還描述了一種對執(zhí)行準許進入進行控制的方法,所述方法包括基于已部分服務(wù)的已提交內(nèi)容請求和新到達的內(nèi)容請求,對請求隊列重新排序;以及確定新到達的內(nèi)容請求是否準許進入請求隊列。
文檔編號H04L12/24GK101406025SQ200680054037
公開日2009年4月8日 申請日期2006年3月28日 優(yōu)先權(quán)日2006年3月28日
發(fā)明者庫馬爾·拉馬斯瓦米, 斯尼吉哈·維爾馬, 鈞 李 申請人:湯姆森許可貿(mào)易公司