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