專利名稱:針對延遲下載服務(wù)的基于閾值歸一化速率最早傳送最先(nredf)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及通信系統(tǒng),更具體地,涉及內(nèi)容傳送和分發(fā)網(wǎng) 絡(luò)及其組成部分,例如內(nèi)容服務(wù)器等等。
背景技術(shù):
在內(nèi)容傳送系統(tǒng)中,內(nèi)容服務(wù)器可以經(jīng)由分布式通信網(wǎng)絡(luò)(如互 聯(lián)網(wǎng))將不同類型的內(nèi)容(例如文件、流視頻等)分發(fā)給不同客戶端。 典型地,通過每個(gè)用戶將針對具體內(nèi)容的請求發(fā)送至內(nèi)容服務(wù)器,來 開始該過程。在接收到每個(gè)請求時(shí),內(nèi)容服務(wù)器經(jīng)由分布式通信網(wǎng)絡(luò), 對請求的內(nèi)容至請求客戶端的傳送進(jìn)行調(diào)度。
經(jīng)由分布式通信網(wǎng)絡(luò)對對請求的內(nèi)容至請求客戶端的傳送進(jìn)行 調(diào)度的一種方法是"歸一化速率最早傳送最先"(NREDF)方法(有時(shí) 還簡稱為"NRED")。在該方法中,內(nèi)容服務(wù)器使用在內(nèi)容服務(wù)器與每 個(gè)請求客戶端之間的估計(jì)的"最短路徑",計(jì)算用于傳送具體內(nèi)容的歸 一化速率。"最短路徑"是通過分布式通信網(wǎng)絡(luò)的路徑,將所請求內(nèi)容 的最早傳送時(shí)間提供給請求客戶端。作為該過程的一部分,內(nèi)容服務(wù) 器可以在網(wǎng)絡(luò)中識(shí)別出其它服務(wù)器,這些服務(wù)器能夠獲得(source) 要傳送的請求內(nèi)容。然后內(nèi)容服務(wù)器對所有接收的客戶端請求進(jìn)行調(diào) 度,這是按照它們所關(guān)聯(lián)的計(jì)算的歸一化速率的降序來進(jìn)行的。這樣, 在具有較低的計(jì)算的歸一化速率的請求客戶端之前,對具有較高的計(jì) 算的歸一化速率的請求客戶端進(jìn)行調(diào)度,以進(jìn)行傳送。然而,新的客 戶端請求可能繼續(xù)到達(dá),甚至在內(nèi)容傳送服務(wù)器剛剛完成對先前接收 的(或舊的)客戶端請求的調(diào)度之后。這樣,隨著新客戶端請求的到 達(dá),將那些未完成的舊客戶端請求與任何新客戶端請求一起進(jìn)行調(diào)度, 以使內(nèi)容服務(wù)器能夠服務(wù)的請求的數(shù)目最大化。
然而,隨著客戶端請求速率的提高,內(nèi)容服務(wù)器開始花費(fèi)越來越多的時(shí)間,僅僅為了計(jì)算歸一化速率以及重新調(diào)度舊請求,而不是實(shí)
際傳送內(nèi)容。該行為對服務(wù)于大量客戶端的NREDF方法的可擴(kuò)展性造
成了危害。
發(fā)明內(nèi)容
人們注意到,使用歸一化速率最早傳送最先(NREDF)調(diào)度器的 內(nèi)容服務(wù)器沒有隨著客戶端請求速率的提高而很好地?cái)U(kuò)展(scale), 這是因?yàn)樵谠试S新請求時(shí),重新調(diào)度舊請求的計(jì)算開銷也增加了。因 此,根據(jù)本發(fā)明的原理,使用歸一化速率最早傳送最先(NREDF)調(diào) 度器的內(nèi)容服務(wù)器將重新調(diào)度的舊請求的數(shù)目限制為閾值。
在本發(fā)明的示例實(shí)施例中,內(nèi)容傳送系統(tǒng)包括服務(wù)于多個(gè)客戶端 請求的至少一個(gè)內(nèi)容服務(wù)器。內(nèi)容服務(wù)器使用基于閾值歸一化速率最 早傳送最先(TB-NREDF)調(diào)度器。TB-NREDF調(diào)度器對重新調(diào)度請 求的數(shù)目施加閾值或限制。因此,內(nèi)容服務(wù)器能夠限制重新調(diào)度開銷, 這還允許內(nèi)容服務(wù)器在可擴(kuò)展性與系統(tǒng)性能之間進(jìn)行權(quán)衡。
在本發(fā)明的另一示例實(shí)施例中,基于閾值歸一化速率最早傳送最 先(TB-NREDF)方法定義了回顧(look-back)閾值r,回顧閾值r表
示要重新調(diào)度的舊請求的最大數(shù)目。例如,令W^表示包括時(shí)間^處的 任何未完成的舊客戶端請求和在時(shí)間 處到達(dá)的任何新客戶端請求在 內(nèi)的請求集合。令2是W(^中請求的總數(shù),并且尺表示/ ^中舊請求的 總數(shù)。TB-NREDF方法至多對r個(gè)舊請求進(jìn)行重新調(diào)度,其中『<〖<
g。因此,對剩余《-r個(gè)舊請求的調(diào)度不改變。
圖l-6示出了使用歸一化速率最早傳送最先調(diào)度過程的現(xiàn)有技術(shù) 內(nèi)容傳送系統(tǒng);
圖7示出了根據(jù)本發(fā)明原理的內(nèi)容傳送系統(tǒng)的示例方框圖8示出了體現(xiàn)本發(fā)明原理的內(nèi)容服務(wù)器的示例方框圖。
圖9示出了根據(jù)本發(fā)明原理的示例調(diào)度集合;
圖10示出了根據(jù)本發(fā)明原理的用于內(nèi)容服務(wù)器中的示例流程圖;以及
圖11-13示出了根據(jù)本發(fā)明原理的用于內(nèi)容服務(wù)器中的另一示例
實(shí)施例。
具體實(shí)施例方式
除了本發(fā)明構(gòu)思以外,圖中所示的元件是公知的并且將不對其作 詳細(xì)描述。此外,假設(shè)熟悉網(wǎng)絡(luò)(以及其中使用的協(xié)議)并且這里不 對其作詳細(xì)描述。例如,除了本發(fā)明構(gòu)思以外,假設(shè)熟悉網(wǎng)際協(xié)議(IP)、
實(shí)時(shí)傳送協(xié)議(RTP)、以及傳輸控制協(xié)議(TCP)。同樣地,除了本 發(fā)明構(gòu)思以外,假設(shè)熟悉諸如服務(wù)器、邊緣節(jié)點(diǎn)以及客戶端之類的網(wǎng) 絡(luò)部件。類似地,除了本發(fā)明構(gòu)思以外,用于產(chǎn)生比特流的格式化和 編碼方法,例如運(yùn)動(dòng)圖像專家組(MPEG)-2系統(tǒng)標(biāo)準(zhǔn)(ISO/IEC 13818-1) 以及H.264: International Telecommunication Union, "Recommendation ITU-T H.264: Advanced Video Coding for Generic Audiovisual Services,"/7T/-r, 2003,是公知的,并且不在這里描述。這樣,應(yīng)該注 意,以下僅描述并且在圖中示出了與現(xiàn)有服務(wù)器/客戶端系統(tǒng)不同的那 部分的本發(fā)明構(gòu)思。還應(yīng)該注意,可以使用(同樣這里未作描述的) 傳統(tǒng)編程技術(shù)來實(shí)現(xiàn)本發(fā)明構(gòu)思。最后,圖上同樣的數(shù)字表示同樣的 元件。
在描述本發(fā)明構(gòu)思之前,首先提供對歸一化速率最早傳送最先 (NREDF)調(diào)度過程的簡要描述。在這方面,圖1中示出了使用NREDF 調(diào)度過程的內(nèi)容傳送系統(tǒng)。內(nèi)容傳送系統(tǒng)包括內(nèi)容服務(wù)器20、通信 網(wǎng)絡(luò)10以及一個(gè)或更多個(gè)客戶端(如客戶端50-l和50-2表示的)。內(nèi)容 服務(wù)器20、客戶端50-l和客戶端50-2代表基于存儲(chǔ)程序控制的 (stored-program-control-based)處理器平臺(tái)。例如,客戶端50-l可以 是基于微處理器的臺(tái)式個(gè)人計(jì)算機(jī),客戶端50-2可以是蜂窩電話,而 內(nèi)容服務(wù)器20是基于多處理器的(高性能)服務(wù)器。示例而言,通信 網(wǎng)絡(luò)10代表互聯(lián)網(wǎng),包括如本領(lǐng)域公知的交換(switched)和非交換 (non-switched)設(shè)施,并且包括例如路由器、邊緣節(jié)點(diǎn)設(shè)備等(全部 未在圖l中示出)。在該示例中,如從圖l中能夠觀察到的,將內(nèi)容服務(wù)器20表示為位于互聯(lián)網(wǎng)上某處,并具有關(guān)聯(lián)的網(wǎng)際協(xié)議(IP)地址。
此外,如圖1所示,通信網(wǎng)絡(luò)10還可以包括內(nèi)容傳送網(wǎng)絡(luò)(CDN) 15。 如本領(lǐng)域公知的,CDN是覆蓋(overlay)網(wǎng)絡(luò)(公共的或?qū)S玫?, 被設(shè)計(jì)為將內(nèi)容從內(nèi)容服務(wù)器(提供商)安全傳送至客戶端,同時(shí)降 低成本并且提高客戶端(終端用戶)速度。這樣,CDN中的其它服務(wù) 器也可能能夠在內(nèi)容服務(wù)器20的控制下獲得(source)請求的內(nèi)容。 該內(nèi)容的格式可以是靜態(tài)內(nèi)容(例如網(wǎng)站(website)內(nèi)容、文件)或 動(dòng)態(tài)內(nèi)容(也就是快速改變的內(nèi)容)禾口/或流音頻/視頻(streaming audio/video)。在圖l的情況下,客戶端50-l和50-2將針對內(nèi)容的請求發(fā) 送至內(nèi)容服務(wù)器20。響應(yīng)于這些請求,內(nèi)容服務(wù)器20使用NREDF調(diào)度 過程對傳送進(jìn)行調(diào)度,并且經(jīng)由通過通信網(wǎng)路的路徑將請求的內(nèi)容傳 送或發(fā)送至相應(yīng)的客戶端。例如,經(jīng)由示例路徑ll (在該示例中還穿 越CDN15)將客戶端50-l請求的內(nèi)容(例如文件)提供給客戶端50-l。 路徑11表示將請求的內(nèi)容傳達(dá)給客戶端50-1所通過的、通信網(wǎng)絡(luò)10的 任何設(shè)施和設(shè)備。
現(xiàn)在轉(zhuǎn)向圖2,示出了內(nèi)容服務(wù)器20的高層方框圖。內(nèi)容服務(wù)器 20經(jīng)由將內(nèi)容服務(wù)器20耦合到互聯(lián)網(wǎng)10的連接19,接收客戶端請求59。 內(nèi)容服務(wù)器20包括NREDF調(diào)度器60,所述NREDF調(diào)度器60對接收的 客戶端請求59進(jìn)行處理,并且產(chǎn)生調(diào)度集合5Y^70,用于將請求的內(nèi)容 提供給請求客戶端。圖3和4示出了表示內(nèi)容服務(wù)器20使用的NREDF調(diào) 度過程的示例流程圖。對于NREDF調(diào)度過程,使用以下定義
w= 是網(wǎng)絡(luò)節(jié)點(diǎn)集合,包括一個(gè)內(nèi)容服務(wù)器0'=0人J
個(gè)邊緣服務(wù)器0'=A..., p以及t/個(gè)客戶端o'= /+ ,...,/+C/=^;
c,W-是第j個(gè)節(jié)點(diǎn)處的高速緩存(caching)容量,是時(shí)變函數(shù); -是在時(shí)間/、第j個(gè)節(jié)點(diǎn)處的高速緩存(cache)狀態(tài)集合,也 就是高速緩存內(nèi)容的列表;
丄=「。,W,力力e -是網(wǎng)絡(luò)鏈接集合,其中0^2;是從節(jié)點(diǎn)力至節(jié) 點(diǎn)》的鏈接;
6"乂"-是","的鏈接容量,是時(shí)變函數(shù);
6(^'力-是在時(shí)間f處a"的鏈接狀態(tài),是傳輸內(nèi)容的列表-,/^^=f ,『/…0 -是請求集合,表示到時(shí)間^ = ^為止由客戶端 向內(nèi)容服務(wù)器發(fā)出的所有請求,其中
= 《,《,、)-是由內(nèi)容ID、應(yīng)到時(shí)間(due time)以及請 求客戶端ID表示的請求,以及
m《-是具有內(nèi)容大小lm,l和實(shí)時(shí)流速率llm』的內(nèi)容ID, ^-是請求 的應(yīng)到時(shí)間,以及
^-是產(chǎn)生請求的客戶端的客戶端ID,根據(jù)該客戶端ID 能夠識(shí)別地理位置; ^^,=/^0、,》人仏,力)e Lj -是針對請求集合7 (^)的調(diào)度集合,其
中
~()'/,力卩-是針對要在()'/,》卩上傳輸?shù)恼埱?的調(diào)度(開始)時(shí)
間,將其初始化為值0;以及
是針對要在0、力j上傳輸?shù)恼埱?的調(diào)度(結(jié)束)時(shí)
間;如果以速率llm川來傳輸請求的內(nèi)容,則e 。,y2」=s96^2」+ |m-Wll ll;以及
請求 的歸一化速率V W,其中
v*q(t)=|mq|/(dq-t)。 (1)
在圖3的步驟205中,針對請求集合i (^)中在時(shí)間&處的每個(gè)客戶 端請求,內(nèi)容服務(wù)器20根據(jù)以上方程(1),計(jì)算歸一化速率。在步驟 210中,內(nèi)容服務(wù)器20按照客戶端請求的、計(jì)算的歸一化速率的降序, 對客戶端請求進(jìn)行排序,以提供排序的客戶端請求列表。在步驟215 中,內(nèi)容服務(wù)器20根據(jù)在排序的客戶端請求列表中所示的順序,對內(nèi) 容進(jìn)行調(diào)度,以進(jìn)行傳送?,F(xiàn)在參考圖4,示出了步驟215的更詳細(xì)的 流程圖。根據(jù)在圖3的步驟210確定的排序的客戶端請求列表,對請求 集合W^中的每個(gè)請求 執(zhí)行圖4的步驟255至275。因此,根據(jù)先前產(chǎn) 生的調(diào)度矢量/^0'力,'x=0,..,,g-仏進(jìn)行針對具體請求 ,6U」 f W的調(diào)度。具體地,在圖4的步驟255,內(nèi)容服務(wù)器20從排序的客戶 端請求列表中選擇要調(diào)度的下一個(gè)請求 = g,《,iV。在步驟260, 內(nèi)容服務(wù)器20對可用于獲得(source)請求 所請求的內(nèi)容的服務(wù)器集合&加以識(shí)別,其中所述服務(wù)器集合包括至少一個(gè)服務(wù)器,例如內(nèi)容 服務(wù)器20。(內(nèi)容服務(wù)器識(shí)別可用于獲得請求 所請求的內(nèi)容的服務(wù) 器集合的能力是本領(lǐng)域公知的,這里不作描述)。在該服務(wù)器集合//, 中,每個(gè)服務(wù)器z'具有mgd^似(針對請求 的內(nèi)容附9的源),其中f產(chǎn) mGx/^"力,; <^ (服務(wù)器/上的高速緩存上次更新的最后時(shí)間(last time))。在步驟265,內(nèi)容服務(wù)器20找到最短路徑,該最短路徑提供請 求的內(nèi)容m,至目的地^的最早傳送時(shí)間。例如,內(nèi)容服務(wù)器20使用多 源(multi-source)最短路徑算法(例如本領(lǐng)域公知的Dijkstra的算法), 找到從任何服務(wù)器/e/^至^的最短路徑。在步驟270中,如本領(lǐng)域公知 的,通過對鏈接容量和高速緩存容量加以約束,內(nèi)容服務(wù)器找到調(diào)度 ^",從(/;A^丄j,并分別更新所選路徑上的鏈接和服務(wù)器的高速緩存 ^kf,(U /dV7。(應(yīng)該注意,如果max/^0'力,0'力e1/> ^,則該調(diào)度嘗 試未能找到針對i f^的調(diào)度集合,該過程中途失敗(abort)。)最后, 在步驟275中,檢驗(yàn)是否已處理了所有請求,即,是否q二Q。如果還存 在要調(diào)度的請求,也就是《<2,則遞增q的值,也就是?=《+7,并且 針對排序的客戶端請求列表中的下一請求,執(zhí)行返回步驟255。然而, 如果已調(diào)度了所有請求,則該執(zhí)行結(jié)束。
作為對請求集合i^^中的請求進(jìn)行調(diào)度的結(jié)果,內(nèi)容服務(wù)器20創(chuàng) 建調(diào)度集合,以傳送請求的內(nèi)容。圖5中示出了在時(shí)間^處針對Q個(gè)請 求的調(diào)度集合81的示例表示。內(nèi)容服務(wù)器20根據(jù)調(diào)度集合81前進(jìn)到傳 送內(nèi)容,其中,如指示降序方向的箭頭84所表示的,根據(jù)計(jì)算的歸一 化速率,區(qū)分各個(gè)請求的優(yōu)先順序(prioritize)。
然而,在時(shí)間^之后,新客戶端請求可能在時(shí)間^到達(dá)。此外,在 該時(shí)間",內(nèi)容服務(wù)器20可能己經(jīng)完成了對先前請求的內(nèi)容中的一些 的傳送,但是剩余的客戶端請求仍然是待處理的,也就是"舊的"。對 于一個(gè)或更多個(gè)新請求,它們中的一些可能具有比舊請求中的一些更 早的應(yīng)到時(shí)間或更大的請求文件大小。由此,可能是以下情況在時(shí) 間"新請求中的一個(gè)或更多個(gè)的歸一化速率可能比舊請求中的一些 大。為了使內(nèi)容服務(wù)器20能夠服務(wù)的請求的數(shù)目最大,使用以上描述 的NREDF過程,將《個(gè)舊請求與時(shí)間f的任何新請求一起進(jìn)行調(diào)度。從而,確定了在時(shí)間f的新請求集合i^入重復(fù)在圖3和4中示出的過程, 以產(chǎn)生用于內(nèi)容傳送的新調(diào)度集合83。這在圖6中示出,其中已調(diào)度了 一個(gè)或更多個(gè)新請求82,并且在新調(diào)度集合83中仍然有尺個(gè)舊請求待 處理。僅出于示例目的,在圖6中以虛線形式示出了對先前調(diào)度的客戶 端請求的傳送,這是因?yàn)橐呀?jīng)從新調(diào)度集合83中丟棄了這些先前調(diào)度 的客戶端請求。
不幸的是,隨著客戶端請求速率的提高,內(nèi)容服務(wù)器20開始花費(fèi) 越來越多的時(shí)間來只是計(jì)算歸一化速率以及重新調(diào)度舊請求,而不是 實(shí)際地傳送內(nèi)容。從而允許新請求所需要的計(jì)算時(shí)間成比例地提高了。 該行為對服務(wù)于大量客戶端的NREDF方法的可擴(kuò)展性造成危害。因 此,根據(jù)本發(fā)明的原理,使用歸一化速率最早傳送最先(NREDF)調(diào) 度器的內(nèi)容服務(wù)器將重新調(diào)度的舊請求的數(shù)目限制至閾值。
現(xiàn)在參考圖7,示出了根據(jù)本發(fā)明原理的示例內(nèi)容傳送系統(tǒng)。內(nèi) 容傳送系統(tǒng)包括內(nèi)容服務(wù)器300、通信網(wǎng)絡(luò)310、以及一個(gè)或更多個(gè) 客戶端(如用客戶端50-l和50-2表示的)。內(nèi)容服務(wù)器300、客戶端50-l 和50-2代表基于存儲(chǔ)程序控制的處理器平臺(tái)。例如,客戶端50-l可以 是基于微處理器的臺(tái)式個(gè)人計(jì)算機(jī),客戶端50-2可以是蜂窩電話;而 內(nèi)容服務(wù)器300是基于多處理器的(高性能)服務(wù)器。例如,通信網(wǎng)絡(luò) 310代表互聯(lián)網(wǎng),包括如本領(lǐng)域公知的交換和非交換設(shè)施,并且包括例 如路由器、邊緣節(jié)點(diǎn)設(shè)備等(全部未在圖7中示出)。在該示例中,如 能夠從圖7觀察到的,將內(nèi)容服務(wù)器300表示為位于互聯(lián)網(wǎng)上某處,具 有關(guān)聯(lián)的網(wǎng)際協(xié)議(IP)地址(未示出)。此外,如圖7所示,通信網(wǎng) 絡(luò)310還可以包括內(nèi)容傳送網(wǎng)絡(luò)(CDN) 315。除了本發(fā)明構(gòu)思以外, 如本領(lǐng)域公知的,CDN是覆蓋(overlay)網(wǎng)絡(luò)(公共的或?qū)S玫?, 被設(shè)計(jì)為將內(nèi)容從內(nèi)容服務(wù)器(提供商)安全傳送至客戶端,同時(shí)降 低成本并且提高客戶端(終端用戶)速度。這樣,CDN中的其它服務(wù) 器也可能能夠在內(nèi)容服務(wù)器20的控制下獲得(source)請求的內(nèi)容。 該內(nèi)容的格式可以是靜態(tài)內(nèi)容(例如網(wǎng)站內(nèi)容、文件)或動(dòng)態(tài)內(nèi)容(也 就是快速改變的內(nèi)容)和/或流音頻/視頻(streaming audio/video)。在 圖7的情況下,客戶端50-l和50-2將針對內(nèi)容的請求發(fā)送至內(nèi)容服務(wù)器20。根據(jù)本發(fā)明原理,響應(yīng)于這些請求,內(nèi)容服務(wù)器20使用基于閾值
歸一化速率最早傳送最先(TB-NREDF)調(diào)度器對傳送進(jìn)行調(diào)度。 TB-NREDF調(diào)度器對重新調(diào)度請求的數(shù)目施加閾值或限制。因此,內(nèi) 容服務(wù)器能夠限制重新調(diào)度開銷,這還允許內(nèi)容服務(wù)器在可擴(kuò)展性與 系統(tǒng)性能之間進(jìn)行權(quán)衡。根據(jù)TB-NREDF調(diào)度過程,內(nèi)容服務(wù)器20使 請求的內(nèi)容經(jīng)由通過通信網(wǎng)路的路徑被傳送至相應(yīng)的客戶端。例如, 經(jīng)由示例路徑311 (在該示例中還穿越CDN15)將客戶端50-l請求的內(nèi) 容(例如文件)提供給客戶端50-l。路徑311表示將請求的內(nèi)容傳達(dá)給 客戶端50-l所通過的、通信網(wǎng)絡(luò)10的任何設(shè)施和設(shè)備。
圖8中示出了根據(jù)本發(fā)明原理的內(nèi)容服務(wù)器300的高層方框圖。例 如,內(nèi)容服務(wù)器是如圖8中虛線框形式示出的處理器390和存儲(chǔ)器395
所表示的基于軟件的處理器。在該情況下,將計(jì)算機(jī)程序或軟件存儲(chǔ) 在存儲(chǔ)器395中以供處理器390執(zhí)行。處理器390代表一個(gè)或更多個(gè)存儲(chǔ) 程序控制處理器,并且不必專用于TB-NREDF調(diào)度器功能,例如處理 器390還可以控制內(nèi)容存儲(chǔ)器300的其它功能。存儲(chǔ)器395代表任何存儲(chǔ) 設(shè)備,例如隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)等;可以 是處理器390內(nèi)部和/或外部的;以及如果必要的話是易失性和/或非易 失性的。內(nèi)容服務(wù)器300經(jīng)由將內(nèi)容服務(wù)器320耦合到互聯(lián)網(wǎng)3IO的連接 319,接收客戶端請求59。根據(jù)本發(fā)明的原理,內(nèi)容服務(wù)器300包括 TB-NREDF調(diào)度器360,所述TB-NREDF調(diào)度器360對接收的客戶端請 求59進(jìn)行處理并且產(chǎn)生調(diào)度集合S^370,以將請求的內(nèi)容提供給請求 客戶端。
最初,在時(shí)間^,內(nèi)容服務(wù)器300根據(jù)以上圖3和4的流程圖中描述 的NREDF過程,對請求進(jìn)行調(diào)度,以進(jìn)行傳送。然而, 一旦已調(diào)度了 初始的請求集合,則根據(jù)本發(fā)明的原理,內(nèi)容服務(wù)器300對重新調(diào)度請 求的數(shù)目加以限制。例如,在時(shí)間" 一個(gè)或更多個(gè)新請求82已到達(dá), 并且尺個(gè)舊請求仍然待傳送?;陂撝禋w一化速率最早傳送最先 (TB-NREDF)過程定義了回顧閾值r,所述回顧閾值r表示要重新調(diào) 度的舊請求的最大數(shù)目。這樣,TB-NREDF方法最多調(diào)度r個(gè)舊請求,
其中r〈 /c。因此,針對剩余的尺-r個(gè)舊請求的調(diào)度不改變。這在圖9中針對時(shí)間/處的調(diào)度集合381示出,其中/〉&。根據(jù)具體系統(tǒng),可以
經(jīng)驗(yàn)地確定r的具體值。
圖10中示出了根據(jù)本發(fā)明原理的TB-NREDF過程的示例流程圖。 在步驟405中,TB-NREDF調(diào)度器360確定在時(shí)間 處的所有舊請求的總
數(shù)《是否超過閾值r。如果所有舊請求的總數(shù)沒有超過閾值r,則在步
驟410中,TB-NREDF調(diào)度器360對時(shí)間f處的所有新請求(也就是尚未 調(diào)度的那些客戶端請求)進(jìn)行調(diào)度,并且對所有舊請求的總數(shù)《進(jìn)行
重新調(diào)度。然而,如果時(shí)間 處的所有舊請求的總數(shù)《超過了閾值r,
則在步驟415中,TB-NREDF調(diào)度器360對時(shí)間t處的所有新請求進(jìn)行調(diào)
度,并且對舊請求中的r個(gè)進(jìn)行重新調(diào)度。從而不對舊請求中的《-r個(gè)
進(jìn)行重新調(diào)度。
圖ll、 12和13中示出了根據(jù)本發(fā)明原理的另一示例實(shí)施例。同樣,
假設(shè)在時(shí)間",調(diào)度初始的請求集合i rw以進(jìn)行傳送,這得到相關(guān)聯(lián)
的調(diào)度集合。在隨后的時(shí)間f,仍然剩余^個(gè)舊請求,并且一個(gè)或更多
個(gè)新請求己經(jīng)到達(dá)。請求集合/ ^中請求的總數(shù)等于2,其中2等于新 請求加上《個(gè)舊請求的數(shù)目。在該示例中,內(nèi)容服務(wù)器300使用2個(gè)附
加參數(shù)r,。。k-baek和STATE,。。k-baek。參數(shù)r,。。k-baek定義為在調(diào)度集合中代表
邊界的請求,其中超過該邊界將重新調(diào)度舊請求,S卩,該請求在這里 被稱作回顧請求。將回顧請求以下的請求定義為不可重新調(diào)度(m^ "《/ze^/flWe)請求;同時(shí)將回顧請求以上的請求定義為可重新調(diào)度 ("《/ze^/aWe)請求。在新請求到達(dá)時(shí),與所述新請求一起重新調(diào) 度可重新調(diào)度請求;而不可重新調(diào)度請求的調(diào)度是固定的,并且將不 會(huì)對這些不可重新調(diào)度請求再進(jìn)行重新調(diào)度。參數(shù)r,。。k.^k的空值意味 著尚未設(shè)置回顧請求;而該參數(shù)的非空值表示已經(jīng)設(shè)置了回顧請求。 相比之下,將參數(shù)STATE,。。k.bd定義為關(guān)聯(lián)的回顧系統(tǒng)狀態(tài)。具體地, 參數(shù)STATE, 。。k.^k包含在執(zhí)行了 r,。。k-bd之后的鏈接和邊緣服務(wù)器的狀 態(tài)。因此,STATE滅—back = "Cj}, {Cj}, {b(i, j)}, {B(i,j)}}(之前定義的)。 現(xiàn)在轉(zhuǎn)向圖ll,該圖示出了時(shí)間t處的調(diào)度集合383。如從圖ll能
夠觀察到的,將請求之一指定為r,。。k.baek,所述r,。。k^ek描述了在不重新
調(diào)度的那些請求與要重新調(diào)度的那些舊請求之間的邊界86。在圖12中示出了根據(jù)本發(fā)明原理的TB-NREDF過程的另一示例流程圖。在步驟 505中,TB-NREDF調(diào)度器360將任何新請求標(biāo)記為可重新調(diào)度請求。 在步驟510中,TB-NREDF調(diào)度器360構(gòu)建包括所有可重新調(diào)度請求在 內(nèi)的請求集合W^。在步驟515中,TB-NREDF調(diào)度器360確定r,。。k.back
的當(dāng)前值。如果參數(shù)n。。k-badc的值為空,則這意味著尚未設(shè)置回顧請求。 在這種情況下,TB-NREDF過程回復(fù)到普通NREDF。在步驟530中, TB-NREDF調(diào)度器360對時(shí)間f處的所有新請求進(jìn)行調(diào)度(也就是尚未 調(diào)度的那些客戶端請求),并且對所有舊請求的總數(shù)《進(jìn)行重新調(diào)度。 然而,如果參數(shù)r,。。k^ek的值為非空,則在步驟520中,TB-NREDF調(diào)度 器360確定是否已傳送了指定的回顧請求,g卩,是否完成了對指定的回 顧請求的服務(wù)。如果已經(jīng)傳送了指定的回顧請求,則在步驟530中對所 有新請求進(jìn)行調(diào)度,并且對所有舊請求進(jìn)行重新調(diào)度。應(yīng)該注意,因
為已經(jīng)完成了指定的回顧請求,所以未完成的舊請求的數(shù)目將小于r。
另一方面,如果在步驟520中,TB-NREDF調(diào)度器360確定尚未完成指 定的回顧請求,則TB-NREDF調(diào)度器360對請求集合進(jìn)行處理。具體地, 在步驟525中,為了從請求n。。k—baek開始,TB-NREDF調(diào)度器360設(shè)置 STATE,。。k—back,作為當(dāng)前系統(tǒng)狀態(tài);并且在步驟530中,TB-NREDF調(diào) 度器360對時(shí)間f處的所有新請求進(jìn)行調(diào)度,并且對舊請求中的r個(gè)進(jìn)行
重新調(diào)度。從而,沒有重新調(diào)度舊請求中的尺-r個(gè)。
作為圖12流程圖的另一示例,在圖13中示出了偽碼。從圖13偽碼 的步驟13、 14和15能夠觀察到,如果請求的總數(shù)g (新請求加上舊請 求)大于閾值r,并且當(dāng)前請求值q小于或等于(Q-T),則在步驟14中指 定作為回顧請求的請求,并且在步驟15中存儲(chǔ)相應(yīng)的狀態(tài)。
如以上描述的,內(nèi)容服務(wù)器限制(bound)重新調(diào)度請求的數(shù)目, 從而提供了為更高客戶端請求速率進(jìn)行服務(wù)的能力。這是在使用 TB-NREDF過程的內(nèi)容服務(wù)器的情況下,在以上描述中示出的。在該 示例中,與圖l-6所示的使用無邊界(unbound) NREDF過程的內(nèi)容服 務(wù)器相比,使用TB-NREDF過程的內(nèi)容服務(wù)器提供了為更高客戶端請 求速率進(jìn)行服務(wù)的能力。然而,應(yīng)該注意,因?yàn)榭梢圆粚w一化速率 比新請求小的一些舊請求進(jìn)行重新調(diào)度,所以相比NREDF過程,TB-NREDF過程可以通過允許更少的請求,降低了系統(tǒng)性能。無論如 何,TB-NREDF使能內(nèi)容服務(wù)器能夠?qū)χ匦抡{(diào)度開銷加以限制,從而 允許內(nèi)容服務(wù)器對可擴(kuò)展性與系統(tǒng)性能進(jìn)行權(quán)衡。
鑒于以上描述,前述內(nèi)容僅示出了本發(fā)明的原理,將認(rèn)識(shí)到,本 領(lǐng)域技術(shù)人員將能夠設(shè)計(jì)出許多可選的配置,這些配置盡管這里未作 明確描述,但是體現(xiàn)了本發(fā)明的原理并且在本發(fā)明的精神和范圍之內(nèi)。 例如,盡管在分離的功能元件的情況下進(jìn)行闡釋了,但是可以在一個(gè) 或更多個(gè)集成電路(IC)中體現(xiàn)這些功能元件。類似地,盡管作為分 離的元件示出,然而可以在存儲(chǔ)程序控制的處理器(例如數(shù)字信號處 理器)中實(shí)現(xiàn)元件中的任何元件或全部元件,該存儲(chǔ)程序控制的處理 器(例如數(shù)字信號處理器)執(zhí)行相關(guān)軟件,例如與圖IO、 12和13等中 示出的步驟中的一個(gè)或更多個(gè)相對應(yīng)的。此外,本發(fā)明原理可用于其 它類型的通信系統(tǒng),例如衛(wèi)星、無線保真(Wireless-Fidelity) (Wi-Fi)、 蜂窩、藍(lán)牙等、及其組合。例如,分布式通信網(wǎng)絡(luò)可以包括有線和無 線連接。事實(shí)上,本發(fā)明構(gòu)思還可用于固定或移動(dòng)的內(nèi)容服務(wù)器。因 此將理解,在不脫離權(quán)利要求所定義的本發(fā)明精神和范圍的情況下, 可以對示例性實(shí)施例進(jìn)行許多修改以及可以設(shè)計(jì)其它配置。
權(quán)利要求
1、一種在提供服務(wù)中使用的方法,該方法包括接收針對所述服務(wù)的至少一個(gè)新請求;以及為進(jìn)行傳送,對所述至少一個(gè)新請求和任何舊請求進(jìn)行調(diào)度,以使重新調(diào)度的舊請求的數(shù)目被限制為閾值。
2、 根據(jù)權(quán)利要求l的方法,其中,調(diào)度步驟包括 為進(jìn)行傳送,對所述至少一個(gè)新請求進(jìn)行調(diào)度; 確定舊請求的數(shù)目《;以及如果舊請求的數(shù)目大于閾值,則至多對閾值數(shù)目的舊請求進(jìn)行重 新調(diào)度,以進(jìn)行傳送。
3、 根據(jù)權(quán)利要求l的方法,其中,所述至少一個(gè)新請求和任何舊 請求構(gòu)成請求集合,并且調(diào)度步驟包括確定是否在請求集合中設(shè)置了回顧請求-, 如果尚未設(shè)置回顧請求,則確定調(diào)度集合,以便對所有舊請求進(jìn) 行重新調(diào)度-,如果設(shè)置了回顧請求并且尚未傳送該回顧請求,則至多對閾值數(shù) 目的舊請求進(jìn)行重新調(diào)度,以進(jìn)行傳送。
4、 根據(jù)權(quán)利要求l的方法,其中,調(diào)度步驟執(zhí)行基于閾值的基于 閾值歸一化速率最早傳送最先(TB-NREDF)。
5、 根據(jù)權(quán)利要求l的方法,其中,所述服務(wù)傳送內(nèi)容。
6、 根據(jù)權(quán)利要求5的方法,其中,所述內(nèi)容是文件。
7、 根據(jù)權(quán)利要求5的方法,其中,所述內(nèi)容是流視頻。
8、 一種在將服務(wù)提供給請求客戶端的過程中使用的設(shè)備,該設(shè) 備包括處理器,所述處理器通過對針對服務(wù)的至少一個(gè)新請求進(jìn)行調(diào) 度,并為進(jìn)行傳送,對任何舊請求進(jìn)行重新調(diào)度,以使重新調(diào)度的舊 請求的數(shù)目被限制為閾值,來將用于傳送服務(wù)的調(diào)度集合提供給請求 客戶端;以及存儲(chǔ)器,用于存儲(chǔ)所提供的調(diào)度集合。
9、 根據(jù)權(quán)利要求8的設(shè)備,其中,所述處理器(a)對所述至少 一個(gè)新請求進(jìn)行調(diào)度,以進(jìn)行傳送;(b)確定舊請求的數(shù)目尺;以及(C)如果舊請求的數(shù)目大于閾值,至多對閾值數(shù)目的舊請求進(jìn)行重新 調(diào)度,以進(jìn)行傳送。
10、 根據(jù)權(quán)利要求8的設(shè)備,其中,所述至少一個(gè)新請求和任何 舊請求構(gòu)成請求集合,所述處理器(a)確定是否在請求集合中設(shè)置了回顧請求;(b) 如果尚未設(shè)置回顧請求,則確定調(diào)度集合,以便對所有舊請求進(jìn)行重 新調(diào)度;以及(c)如果設(shè)置了回顧請求并且尚未傳送該回顧請求,則至多對閾值數(shù)目的舊請求進(jìn)行重新調(diào)度,以進(jìn)行傳送。
11、 根據(jù)權(quán)利要求8的設(shè)備,其中,處理器執(zhí)行基于閾值的基于 閾值歸一化速率最早傳送最先(TB-NREDF)。
12、 根據(jù)權(quán)利要求8的設(shè)備,其中,所述服務(wù)傳送內(nèi)容。
13、 根據(jù)權(quán)利要求12的設(shè)備,其中,所述內(nèi)容是文件。
14、 根據(jù)權(quán)利要求12的設(shè)備,其中,所述內(nèi)容是流視頻。
15、 一種計(jì)算機(jī)可讀介質(zhì),具有針對基于處理器的系統(tǒng)的計(jì)算機(jī) 可執(zhí)行指令,當(dāng)執(zhí)行該計(jì)算機(jī)可執(zhí)行指令時(shí),所述基于處理器的系統(tǒng) 響應(yīng)于針對一個(gè)或多個(gè)服務(wù)的請求,執(zhí)行對傳送進(jìn)行調(diào)度的方法,該 方法包括接收針對所述服務(wù)的至少一個(gè)新請求;以及 為進(jìn)行傳送,對所述至少一個(gè)新請求和任何舊請求進(jìn)行調(diào)度,以 使重新調(diào)度的舊請求的數(shù)目被限制為閾值。
16、 根據(jù)權(quán)利要求15的計(jì)算機(jī)可讀介質(zhì),其中,調(diào)度步驟包括為進(jìn)行傳送,對所述至少一個(gè)新請求進(jìn)行調(diào)度; 確定舊請求的數(shù)目^;以及如果舊請求的數(shù)目大于閾值,則至多對閾值數(shù)目的舊請求進(jìn)行重 新調(diào)度,以進(jìn)行傳送。
17、 根據(jù)權(quán)利要求15的計(jì)算機(jī)可讀介質(zhì),其中,所述至少一個(gè)新 請求和任何舊請求構(gòu)成請求集合,并且調(diào)度步驟包括確定是否在請求集合中設(shè)置了回顧請求;如果尚未設(shè)置回顧請求,則確定調(diào)度集合,以便對所有舊請求進(jìn)行重新調(diào)度;如果設(shè)置了回顧請求并且尚未傳送該回顧請求,則至多對閾值數(shù) 目的舊請求進(jìn)行重新調(diào)度,以進(jìn)行傳送。
18、 根據(jù)權(quán)利要求15的計(jì)算機(jī)可讀介質(zhì),其中,調(diào)度步驟執(zhí)行基 于閾值的基于閾值歸一化速率最早傳送最先(TB-NREDF)。
19、 根據(jù)權(quán)利要求15的計(jì)算機(jī)可讀介質(zhì),其中,所述一個(gè)或更多 個(gè)服務(wù)傳送內(nèi)容。
20、 根據(jù)權(quán)利要求19的計(jì)算機(jī)可讀介質(zhì),其中,所述內(nèi)容是文件。
21、 根據(jù)權(quán)利要求19的計(jì)算機(jī)可讀介質(zhì),其中,所述內(nèi)容是流視頻。
全文摘要
一種內(nèi)容傳送系統(tǒng),包括服務(wù)于多個(gè)客戶端請求的至少一個(gè)內(nèi)容服務(wù)器。內(nèi)容服務(wù)器使用基于閾值歸一化速率最早傳送最先(TB-NREDF)調(diào)度器。TB-NREDF調(diào)度器對重新調(diào)度請求的數(shù)目施加閾值或限制。
文檔編號H04L29/06GK101432730SQ200680054477
公開日2009年5月13日 申請日期2006年5月5日 優(yōu)先權(quán)日2006年5月5日
發(fā)明者庫馬爾·拉馬斯瓦米, 鈞 李, 楊 郭 申請人:湯姆森許可貿(mào)易公司