專利名稱:在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的請求排程系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種應(yīng)用于互聯(lián)網(wǎng)服務(wù)的外部請求排程系統(tǒng)及其方法,特別是涉及一種位于網(wǎng)絡(luò)中繼點(diǎn)利用請求分類、回應(yīng)大小及窗式控制來進(jìn)行外部請求排程的系統(tǒng)及其方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)環(huán)境中各種應(yīng)用服務(wù)的蓬勃發(fā)展,使得應(yīng)用服務(wù)器的使用量已經(jīng)越來越大,再加上互聯(lián)網(wǎng)使用人口數(shù)量的與日俱增,目前幾乎所有的應(yīng)用服務(wù)器的負(fù)載量也越來越大。
事實(shí)上,當(dāng)應(yīng)用服務(wù)器的負(fù)載量過大時,就容易造成位于客戶終端的使用者等待服務(wù)的時間變長,嚴(yán)重的話還可能導(dǎo)致應(yīng)用服務(wù)器的服務(wù)完全癱瘓。因此,許多應(yīng)用服務(wù)器便希望能夠通過差別服務(wù)的方式,讓具有較高等級的使用者可以獲得到較多的應(yīng)用服務(wù)器吞吐量(Throughput),從而縮短這些使用者通過客戶終端發(fā)出外部請求后所需等待服務(wù)的時間,讓使用者可以獲得較好的服務(wù)品質(zhì),提高這些使用者的滿意度。
而目前與差別服務(wù)相關(guān)的現(xiàn)有技術(shù)內(nèi)容,多是直接在應(yīng)用服務(wù)器上進(jìn)行更改,通過修改其操作系統(tǒng)或者是另外提供排程程序的方式來實(shí)現(xiàn)對使用者的差別服務(wù),然而此種做法的缺點(diǎn)在于必須耗費(fèi)應(yīng)用服務(wù)器的資源來處理排程問題,并且與應(yīng)用服務(wù)器的相依性過大,反而容易造成應(yīng)用服務(wù)器穩(wěn)定性不足以及移植性不佳的問題。
其它現(xiàn)有技術(shù),如美國專利US006742016B1,其所提供的差別服務(wù)技術(shù)內(nèi)容為在應(yīng)用服務(wù)器上設(shè)置一個請求接收器(Acceptor),然后再利用其中的優(yōu)先權(quán)控制模塊(Priority Control Module Process)來控制外部請求傳送至應(yīng)用服務(wù)器上的順序,其中優(yōu)先權(quán)控制模塊會將所有來自客戶終端的外部請求分為兩個等級,其決定傳送順序的依據(jù)有兩個(1)較高等級的外部請求數(shù)量不小于事先定義好的傳送數(shù)量時,則傳送較高等級中與定義傳送數(shù)量相同的外部請求至應(yīng)用服務(wù)器;(2)較高等級的外部請求數(shù)量小于事先定義好的傳送數(shù)量時,則將較高等級與較低等級的外部請求混合傳送至應(yīng)用服務(wù)器,傳送的數(shù)量與定義傳送數(shù)量相同。此種做法,主要是將所有的外部請求依照優(yōu)先權(quán)的不同而分為兩大類,特別強(qiáng)調(diào)具有較高等級的外部請求所獲得應(yīng)用服務(wù)器處理的數(shù)量一定比具有較低等級的外部請求多,借此達(dá)到差別服務(wù)的目的。雖然此種做法可以保證不同等級的外部請求被處理的個數(shù)不同,但并不表示具有較高等級的使用者可以獲得較好的服務(wù)品質(zhì),其主要的原因在于每個外部請求對于應(yīng)用服務(wù)器所耗費(fèi)的資源并不相同,即每個外部請求的回應(yīng)大小均不同,因此處理較多較高等級的外部請求數(shù)量并不表示應(yīng)用服務(wù)器可以提供較多資源給這些較高等級的外部請求,所以擁有較高等級的使用者并不能夠享受到較佳的服務(wù)品質(zhì),也即使用者所感受到的服務(wù)等待時間并不一定能夠被縮短。
至于美國專利US006728748B1,則利用一臺路由伺服主機(jī)(Routing Host)來接收所有客戶終端所傳送來的外部請求,然后將這些外部請求作外部請求分類,再通過連接于路由主機(jī)與多臺應(yīng)用服務(wù)器之間的適應(yīng)性策略引擎(Adaptive Policy Engine)來與路由主機(jī)和各個應(yīng)用服務(wù)器中所設(shè)置的代理器進(jìn)行溝通,利用代理器所傳回的各種應(yīng)用服務(wù)器屬性信息,來決定哪種類別的外部請求該分配給哪臺應(yīng)用服務(wù)器處理。此種做法,則是采取利用應(yīng)用服務(wù)器叢集(Server Cluster)的方式來解決差別服務(wù)的問題,除了對應(yīng)用服務(wù)器作更改之外還必須花費(fèi)大量的服務(wù)器硬件成本才能夠?qū)崿F(xiàn)差別服務(wù)。
為了提供更好的差別服務(wù)品質(zhì),以及減少因?yàn)椴顒e服務(wù)所產(chǎn)生對應(yīng)用服務(wù)器在運(yùn)作上的影響,并且能夠增加差別服務(wù)機(jī)制在應(yīng)用上的兼容性,確實(shí)有必要對目前既有差別服務(wù)技術(shù)作改善,以早日實(shí)現(xiàn)互聯(lián)網(wǎng)環(huán)境中真正的差別服務(wù)機(jī)制。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種應(yīng)用于互聯(lián)網(wǎng)環(huán)境的外部請求排程系統(tǒng)及其方法,將排程機(jī)制完整實(shí)現(xiàn)于介于客戶終端以及應(yīng)用服務(wù)器之間的網(wǎng)絡(luò)中繼點(diǎn),因此可以在不更改客戶終端以及應(yīng)用服務(wù)器的前提之下,遵循既有的互聯(lián)網(wǎng)服務(wù)模式來實(shí)現(xiàn)真正的差別服務(wù)。
對于差別服務(wù)中最重要的外部請求分類機(jī)制,本發(fā)明除了采取依據(jù)外部請求所包含的網(wǎng)絡(luò)層內(nèi)容(如來源端位址、目的端位址、端口號及協(xié)議類型)來進(jìn)行外部請求分類之外,更具有依據(jù)外部請求所包含的應(yīng)用層內(nèi)容(標(biāo)頭信息及內(nèi)容)來進(jìn)行外部請求分類,可以增加差別服務(wù)的應(yīng)用層面,使差別服務(wù)應(yīng)用更多元化。
另外本發(fā)明更進(jìn)一步以權(quán)重值設(shè)定來提供不同應(yīng)用服務(wù)器服務(wù)資源的技術(shù)手段來作為不同等級的外部請求的差別服務(wù)方式,除了通過權(quán)重值與外部請求所對應(yīng)的回應(yīng)大小的控制來決定外部請求的處理順序之外,還可以通過權(quán)重值讓具有較高等級的使用者平均享有比較低等級的使用者高的應(yīng)用服務(wù)器資源,同時也縮短平均等待服務(wù)的時間,也即讓使用者實(shí)際獲得到較高的服務(wù)品質(zhì)。
為了避免大量的外部請求傳送對應(yīng)用服務(wù)器造成過大的處理負(fù)擔(dān),本發(fā)明還提出利用設(shè)定排程窗戶值的方式以窗式控制機(jī)制來控制已排程好的外部請求的傳送時間點(diǎn),所有已分類未傳送處理的外部請求,都將被暫存在隊列中等待允許傳送,如此將可以確保應(yīng)用服務(wù)器的運(yùn)作維持在最佳的狀態(tài),提高整體排程運(yùn)作的穩(wěn)定性。
本發(fā)明所揭露的在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程系統(tǒng),包含有用以探查應(yīng)用服務(wù)器中所有請求項(xiàng)目及其對應(yīng)回應(yīng)大小的探查器、負(fù)責(zé)記錄前述請求項(xiàng)目以及對應(yīng)回應(yīng)大小的請求/回應(yīng)表、用以對客戶終端所發(fā)出的外部請求進(jìn)行外部請求分類的分類器、負(fù)責(zé)儲存分類項(xiàng)目的服務(wù)品質(zhì)策略表、根據(jù)服務(wù)品質(zhì)策略表中分類項(xiàng)目來配置隊列并對應(yīng)儲存分類后的外部請求的隊列器,以及負(fù)責(zé)根據(jù)外部請求的回應(yīng)大小以循環(huán)方式來傳送各隊列中外部請求至應(yīng)用服務(wù)器的排程器。
本發(fā)明所揭露的在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程方法,包含有下列步驟探查應(yīng)用服務(wù)器中一個以上請求項(xiàng)目及其對應(yīng)的回應(yīng)大小,并記錄于請求/回應(yīng)表中;建立服務(wù)品質(zhì)策略表,開始接收來自各客戶終端一個以上外部請求進(jìn)行外部請求分類,并根據(jù)分類結(jié)果暫存各外部請求至對應(yīng)一個以上隊列;及設(shè)定各隊列的權(quán)重值,以及隊列指針及排程窗戶值,并根據(jù)各外部請求的回應(yīng)大小以循環(huán)方式開始進(jìn)行各隊列中各外部請求的傳送處理。
本發(fā)明的功效,在于可以在不更改客戶終端以及應(yīng)用服務(wù)器的前提之下,遵循既有的互聯(lián)網(wǎng)服務(wù)模式來實(shí)現(xiàn)真正的差別服務(wù)。
以下結(jié)合附圖和具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)描述,但不作為對本發(fā)明的限定。
圖11A為本發(fā)明在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程系統(tǒng)的系統(tǒng)架構(gòu)圖;圖1B為本發(fā)明在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程系統(tǒng)的服務(wù)品質(zhì)策略表原始碼示意圖;圖1C為本發(fā)明在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程系統(tǒng)的隊列器與排程器初始狀態(tài)示意圖;圖1D為本發(fā)明在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程系統(tǒng)的外部請求處理與排程窗戶值運(yùn)作示意圖;圖2A為本發(fā)明在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程方法的流程圖;及圖2B及圖2C為本發(fā)明在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程方法的細(xì)部流程圖。
其中,附圖標(biāo)記10客戶終端15互聯(lián)網(wǎng)20外部請求30外部請求排程系統(tǒng)31探查器32請求/回應(yīng)表33分類器34服務(wù)品質(zhì)策略表35隊列器351 第一隊列351A、351B、351C第一隊列的外部請求352 第二隊列352A、352B、352C第二隊列的外部請求
353第三隊列353A、353B、353C第三隊列的外部請求36 排程器361第一隊列計數(shù)器362第二隊列計數(shù)器363第三隊列計數(shù)器364隊列指針365排程窗戶值40 應(yīng)用服務(wù)器50 原始碼51 分類項(xiàng)目52 分類規(guī)則步驟100-探查一應(yīng)用服務(wù)器中一個以上請求項(xiàng)目及其對應(yīng)的回應(yīng)大小,并記錄于一請求/回應(yīng)表中步驟200-建立一服務(wù)品質(zhì)策略表,開始接收一個以上外部請求進(jìn)行一外部請求分類,并根據(jù)分類結(jié)果暫存各該外部請求至對應(yīng)一個以上隊列步驟300-設(shè)定各該隊列的一權(quán)重值,以及一隊列指針及一排程窗戶值,并根據(jù)各該外部請求的該回應(yīng)大小以循環(huán)方式開始進(jìn)行各該隊列中各該外部請求的傳送處理步驟301-設(shè)定該排程窗戶值,初始化該隊列指針使其指向最先該隊列,逐一掃瞄所有隊列,將有至少一個外部請求的隊列加入有效隊列列表步驟302-有效隊列列表中是否有至少一個隊列?步驟303-初始化該隊列指針使其指向有效隊列列表中最先該隊列,增加最先該隊列對應(yīng)的該權(quán)重值于最先該隊列的一計數(shù)器中步驟304-該隊列中仍有未處理的該外部請求?步驟305-將該隊列加入有效隊列列表,若已經(jīng)存在則不需重復(fù)加入步驟306-讀取該隊列中該外部請求,并判斷該外部請求所對應(yīng)的該回應(yīng)大小步驟307-該回應(yīng)大小≤該計數(shù)器?步驟308-該排程窗戶值=0?
步驟309-該計數(shù)器-該回應(yīng)大小,該排程窗戶值-1,并傳送該外部請求進(jìn)行處理步驟310-移動該隊列指針至下一隊列,并增加該隊列所對應(yīng)的該權(quán)重值至該隊列的計數(shù)器中步驟311-將該隊列從有效隊列列表移除步驟312-完成此回合所有隊列的排程?具體實(shí)施方式
本發(fā)明是一種應(yīng)用于互聯(lián)網(wǎng)15環(huán)境中,利用執(zhí)行于網(wǎng)絡(luò)中繼點(diǎn)上的計算機(jī)可執(zhí)行程序來提供差別服務(wù)品質(zhì)的外部請求排程系統(tǒng)30及其方法。
所謂的網(wǎng)絡(luò)中繼點(diǎn),是指介于一個以上客戶終端10與應(yīng)用服務(wù)器40之間的網(wǎng)絡(luò)節(jié)點(diǎn),如網(wǎng)關(guān)器、路由器、代理服務(wù)器及服務(wù)器負(fù)載平衡器等。任何客戶終端10所發(fā)出的外部請求20都必須要通過互聯(lián)網(wǎng)15,通過此網(wǎng)絡(luò)中繼點(diǎn)才能夠被順利傳送至應(yīng)用服務(wù)器40上,然后由應(yīng)用服務(wù)器40提供對應(yīng)的服務(wù)與回應(yīng)。
圖1A為本發(fā)明的外部請求排程系統(tǒng)30的系統(tǒng)架構(gòu)圖,由圖中可知,外部請求排程系統(tǒng)30包含有用以探查應(yīng)用服務(wù)器40中所有請求項(xiàng)目及其對應(yīng)回應(yīng)大小的探查器31、負(fù)責(zé)記錄前述請求項(xiàng)目以及對應(yīng)回應(yīng)大小的請求/回應(yīng)表32、用以對客戶終端10所發(fā)出的外部請求20進(jìn)行外部請求分類的分類器33、負(fù)責(zé)儲存分類項(xiàng)目51的服務(wù)品質(zhì)策略表34、根據(jù)服務(wù)品質(zhì)策略表中分類項(xiàng)目51來配置隊列并對應(yīng)儲存分類后的外部請求20的隊列器35,以及負(fù)責(zé)根據(jù)外部請求20的回應(yīng)大小以循環(huán)方式來傳送各隊列中外部請求20至應(yīng)用服務(wù)器40的排程器36等幾個部分。
圖1B為分類器33作為外部請求分類依據(jù)的服務(wù)品質(zhì)策略表34的原始碼50示意圖,原始碼50中包含有一個以上的分類項(xiàng)目51,分類項(xiàng)目51是外部請求分類的主要依據(jù),基本上可以依照外部請求20中所包含的網(wǎng)絡(luò)層內(nèi)容來訂定外部請求的分類規(guī)則52,如來源端位址、目的端位址、端口號及協(xié)議類型等,也可以利用外部請求20中所包含的應(yīng)用層內(nèi)容來進(jìn)行分類規(guī)則52的訂定,如標(biāo)頭信息及內(nèi)容等。雖然圖1B中原始碼是采取可延伸標(biāo)記程序語言(Extensible Markup Language;XML)來撰寫,但是本發(fā)明并未對此作任何限定,其它程序語言都可以作為可行的實(shí)施方案。
圖1C為隊列器35以及排程器36的初始狀態(tài)示意圖,將再進(jìn)一步進(jìn)行說明。
其中,隊列器35中配置有一個以上的隊列,隊列的數(shù)量是依照服務(wù)品質(zhì)策略表34中分類項(xiàng)目51而決定的,以圖1C為例,表示在服務(wù)品質(zhì)策略表34中將所有的外部請求20區(qū)分為三個不同的分類項(xiàng)目51,因此在隊列器35中會配置三個不同的隊列,即第一隊列351、第二隊列352及第三隊列353,用來儲存不同的外部請求20。
此外,在初始狀態(tài)下排程器36中包含有對應(yīng)于每個隊列的計數(shù)器(配置數(shù)量也與隊列相同),即第一隊列計數(shù)器361、第二隊列計數(shù)器362、第三隊列計數(shù)器363,在排程器36中會對每個計數(shù)器都設(shè)定有權(quán)重值,如第一隊列計數(shù)器361的權(quán)重值為600、第二隊列計數(shù)器362的權(quán)重值為300、第三隊列計數(shù)器363的權(quán)重值為100,此權(quán)重值主要是用來控制外部請求20所能夠取得的應(yīng)用服務(wù)器40服務(wù)資源比例,可以依照不同需求作調(diào)整設(shè)定。排程器36中還包含有用來控制各個隊列中外部請求20傳送處理的隊列指針364和排程窗戶值365,隊列指針364主要是依照Deficit Round Robin的演算方式來進(jìn)行循環(huán)移動,當(dāng)移動到隊列時,將進(jìn)行隊列中等待傳送的外部請求20的回應(yīng)大小(回應(yīng)大小可從請求/回應(yīng)表32中取得)與對應(yīng)隊列的計數(shù)器中權(quán)重值的比較,來決定是否可以傳送該外部請求20,而排程窗戶值365則是設(shè)定用來控制在同一時間內(nèi)可傳送給應(yīng)用服務(wù)器40的外部請求20數(shù)量,此設(shè)定值也可根據(jù)應(yīng)用服務(wù)器40的處理能力來進(jìn)行設(shè)定。
以下將通過圖2A來說明本發(fā)明外部請求排程方法的流程。首先,步驟100,利用探查器31探查應(yīng)用服務(wù)器40中一個以上請求項(xiàng)目及其對應(yīng)的回應(yīng)大小(是指應(yīng)用服務(wù)器40在執(zhí)行外部請求20所指定的請求項(xiàng)目時所需要傳送的實(shí)際字節(jié)數(shù)量大小),并記錄于請求/回應(yīng)表32中,探查方式是采取階層式方式進(jìn)行,由應(yīng)用服務(wù)器40中第一階層的請求項(xiàng)目開始探查其回應(yīng)大小,當(dāng)?shù)谝浑A層的探查結(jié)束后再根據(jù)第一階層中的其它鏈接關(guān)系繼續(xù)第二階層的請求項(xiàng)目探查,持續(xù)遞歸探查直到完成所有請求項(xiàng)目的回應(yīng)大小記錄后結(jié)束;接著,步驟200,通過事先建立的一份服務(wù)品質(zhì)策略表34,由分類器33開始接收來自各客戶終端10一個以上的外部請求20然后進(jìn)行外部請求分類,并根據(jù)分類結(jié)果暫存各外部請求20至對應(yīng)一個以上隊列,在服務(wù)品質(zhì)策略表34中包含有一個以上不同的分類項(xiàng)目51,用來對所有的外部請求20作分類,隊列配置的數(shù)量則依照服務(wù)品質(zhì)策略表34來決定;最后,步驟300,在排程器36的計數(shù)器中加上各隊列所對應(yīng)的權(quán)重值,并同時產(chǎn)生一個隊列指針364及設(shè)定一個排程窗戶值365,然后以循環(huán)方式根據(jù)外部請求20的回應(yīng)大小開始進(jìn)行各隊列中各外部請求20的傳送處理。
有關(guān)步驟300的細(xì)部流程,請參考圖2B,說明如下。首先,步驟301設(shè)定好排程窗戶值365,并同時進(jìn)行初始化將隊列指針364指向最前面的一個隊列,逐一掃瞄所有隊列,將有至少一個外部請求20的隊列加入有效隊列列表,排程器36只會排程在有效隊列列表中的所有隊列。接著,步驟302,判斷在有效隊列列表中是否有至少一個隊列存在,若是沒有,則代表在隊列器35中沒有任何外部請求存在,則排程器36不需要進(jìn)行排程,結(jié)束整個運(yùn)作方法(步驟300)的流程運(yùn)作。
若是有效隊列列表中存在有至少一個隊列,則步驟303,初始化該隊列指針364使其指向有效隊列列表中最先隊列,增加最先隊列對應(yīng)的權(quán)重值于最先隊列的一計數(shù)器中。接著步驟304,判斷該隊列中仍有未處理的該外部請求20,若該隊列中仍有未處理的該外部請求20,則步驟305,將該隊列加入有效隊列列表,若是該隊列已經(jīng)存在于有效隊列列表則不需重復(fù)加入;然后步驟306,開始讀取隊列指針364所指向的隊列中的外部請求20,并通過對請求/回應(yīng)表32的讀取來判斷此外部請求20所對應(yīng)的回應(yīng)大??;步驟307,當(dāng)回應(yīng)大小小于或等于計數(shù)器中的數(shù)值,步驟308,且排程窗戶值365不為0時,步驟309,則將計數(shù)器減去回應(yīng)大小,將排程窗戶值365減去1,然后傳送外部請求20給應(yīng)用服務(wù)器40去進(jìn)行處理。
步驟304,當(dāng)所指向的隊列中仍有未處理的外部請求20時,將重復(fù)上述該隊列指針364所指向的隊列中讀取外部請求20進(jìn)行排程的動作(即重復(fù)步驟305、步驟306、步驟307、步驟308及步驟309的流程)。步驟304,當(dāng)所指向的隊列中的外部請求全部處理完時,則將該隊列從有效隊列列表中移除,步驟312,然后判斷排程器36是否已經(jīng)完成此回合所有隊列的排程,若是,則重新回到步驟302繼續(xù)執(zhí)行。若是尚末完成此回答所有隊列的排程,步驟310,則移動該隊列指針364至下一隊列,并增加該隊列所對應(yīng)的權(quán)重值至該隊列的該計數(shù)器中,完成后再回到步驟304繼續(xù)執(zhí)行。另外,步驟307,當(dāng)該回應(yīng)的大小大于該計數(shù)器的數(shù)值時,也會造成步驟310,該隊列指針移動至次一隊列并增加該隊列所對應(yīng)的權(quán)重值至該隊列的該計數(shù)器中。
前面提到排程窗戶值365的作用在于控制同一時間內(nèi)可以傳送給應(yīng)用服務(wù)器40處理的外部請求20數(shù)量。因此,每當(dāng)步驟309傳送一個外部請求20時,排程窗戶值365會自動減去1,當(dāng)排程窗戶值365等于0的時候,所有的外部請求20都會被暫時保留在隊列中等待應(yīng)用服務(wù)器40的處理,此時便會進(jìn)入到圖2C的步驟A,步驟341,等待并判斷是否收到來自應(yīng)用服務(wù)器40的回應(yīng)。當(dāng)應(yīng)用服務(wù)器40處理完一個外部請求20時,會主動傳回一個對應(yīng)的回應(yīng)給外部請求排程系統(tǒng)30,步驟342,此時排程窗戶值365便會自動加上1,表示應(yīng)用服務(wù)器40可以繼續(xù)處理其它外部請求20,此時可以恢復(fù)對外部請求20的傳送處理,因此將再通過步驟B回到圖2B中的步驟308,繼續(xù)后續(xù)的運(yùn)作流程。
最后通過圖1C及圖1D來作實(shí)施例的說明。由圖1C中可知經(jīng)過探查、分類及初始化步驟后的隊列器35中配置有三個隊列(表示有效隊列列表中有三個隊列)即第一隊列351、第二隊列352及第三隊列353,每個隊列中均已經(jīng)儲存有各自的外部請求20,如第一隊列351的外部請求有351A、351B及351C(根據(jù)請求/回應(yīng)表32可得知,其回應(yīng)大小判別結(jié)果分別為300、200及150)、第二隊列352的外部請求有352A、352B及352C(其回應(yīng)大小判別結(jié)果分別為250、300及150)、第三隊列353的外部請求有353A、353B及353C(其回應(yīng)大小判別結(jié)果分別為200、150及250);而在排程器36中對應(yīng)于每個隊列所配置的計數(shù)器分別為第一隊列計數(shù)器361(其權(quán)重值大小設(shè)定為600)、第二隊列計數(shù)器362(其權(quán)重值大小設(shè)定為300)及第三隊列計數(shù)器363(其權(quán)重值大小設(shè)定為100),排程器36中還包含一個隊列指針364(在初始狀態(tài)時指向第一隊列351所屬的計數(shù)器),以及一個排程窗戶值365(設(shè)定為1)。
當(dāng)開始進(jìn)行外部請求排程處理時,由于隊列指針364指向第一隊列351所屬的第一隊列計數(shù)器361上,因此先在第一隊列計數(shù)器361中加入對應(yīng)的權(quán)重值600并開始進(jìn)行第一隊列351的外部請求20處理,此時將讀取第一隊列中的第一個外部請求351A,由于其回應(yīng)大小為300小于第一隊列計數(shù)器361中的數(shù)值600,且此時排程窗戶值365不為0,因此排程器36便將此外部請求20傳送給應(yīng)用服務(wù)器40處理,然后將第一隊列計數(shù)器361數(shù)值600減去所傳送的第一個外部請求351A的回應(yīng)大小300后成為300并同時將排程窗戶值減去1后變成0,接著繼續(xù)讀取第一隊列351中的第二個外部請求351B,此時雖然其回應(yīng)大小200小于第一隊列計數(shù)器361數(shù)值300,但是因?yàn)榕懦檀皯糁?65為0,因此將暫停傳送任何的外部請求20,并等待排程窗戶值365不為0。
當(dāng)應(yīng)用服務(wù)器40在接收到第一隊列351的第一個外部請求351A后便開始進(jìn)行處理,處理完畢后便傳回一個回應(yīng)給排程器36,再通過互聯(lián)網(wǎng)15傳回給客戶終端10,此時排程窗戶值365便可以增加1由0變成為1,當(dāng)排程器36發(fā)現(xiàn)排程窗戶值不為0時,則恢復(fù)傳送前述的第二個外部請求351B,然后將第一隊列計數(shù)器361數(shù)值300減去所傳送的第二個外部請求351B的回應(yīng)大小200后成為100并同時將排程窗戶值減去1后變成0。接著繼續(xù)讀取第三個外部請求351C,而此時因?yàn)榈谌齻€外部請求351C的回應(yīng)大小150超過第一隊列計數(shù)器361數(shù)值100,因此便將隊列指針364移至第二隊列352所屬的第二隊列計數(shù)器362,并增加對應(yīng)的權(quán)重值300至第二隊列計數(shù)器362中。
開始讀取第二隊列352中的第一個外部請求352A,此時雖然其回應(yīng)大小250小于第二隊列計數(shù)器362數(shù)值300,但是由于排程窗戶值365仍為0,因此暫停傳送第二隊列352中的第一個外部請求352A,直到應(yīng)用服務(wù)器40處理完畢前一個外部請求20后(即第一隊列351的第二個外部請求351B)傳出回應(yīng)給排程器36,再透過互聯(lián)網(wǎng)15傳回給客戶終端10,之后將排程窗戶值365增加1后才進(jìn)行后續(xù)的傳送處理。
在同樣的運(yùn)作模式下繼續(xù)進(jìn)行處理,當(dāng)隊列指針364停留在第三隊列353所屬的第三隊列計數(shù)器363上等待移動時,表示已經(jīng)完成一個循環(huán)的隊列處理,此時隊列指針364將依據(jù)余額累計式循環(huán)排程算法(Deficit Round Robin)模式重新被初始化設(shè)定到第一隊列計數(shù)器361上繼續(xù)進(jìn)行處理,此時同樣會在第一隊列計數(shù)器361中增加對應(yīng)的權(quán)重值600,因此新的第一隊列計數(shù)器361數(shù)值由原先的100變成700,繼續(xù)進(jìn)行對第一隊列351中的第三個外部請求351C的處理。
當(dāng)處理中的隊列沒有其它等待處理的外部請求20時,隊列指針364將會自動移至下一個隊列進(jìn)行處理。如此的運(yùn)作流程將持續(xù)到所有隊列中的所有外部請求20處理完畢為止。要注意的是,當(dāng)某一個隊列沒有任何外部請求20時,該隊列將會從有效隊列列表中移除,在有新的外部請求20進(jìn)入隊列后,該隊列才會被重新加入到有效隊列列表。隊列指針只會指向有效隊列列表中的隊列,而且加上權(quán)重值到隊列的計數(shù)器,沒有在有效隊列列表中的隊列將不會被進(jìn)行排程,當(dāng)然其計數(shù)器也不會被加上權(quán)重值。
圖1D為上述實(shí)施例的另一示意圖,由圖中可以確認(rèn)整個外部請求排程系統(tǒng)30對于所有外部請求20的處理順序邏輯,并且顯示當(dāng)排程器36每傳送出一個外部請求20給應(yīng)用服務(wù)器40時,便會使得排程窗戶值365減去1,而每當(dāng)應(yīng)用服務(wù)器40處理完一個外部請求時,便會使得排程窗戶值365增加1。
當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程系統(tǒng),為執(zhí)行于介在一個以上客戶終端與一應(yīng)用服務(wù)器之間的網(wǎng)絡(luò)中繼點(diǎn)上的計算機(jī)可執(zhí)行程序,其特征在于,包含有一探查器,用以探查該應(yīng)用服務(wù)器中一個以上請求項(xiàng)目及其對應(yīng)的響應(yīng)大小,并記錄于一請求/響應(yīng)表中;一分類器,用以建立一服務(wù)品質(zhì)策略表,并負(fù)責(zé)接收來自各該客戶終端一個以上外部請求進(jìn)行一外部請求分類;一隊列器,根據(jù)該服務(wù)品質(zhì)策略表配置一個以上隊列,用以根據(jù)分類結(jié)果暫存該外部請求;及一排程器,用以設(shè)定各該隊列對應(yīng)的一權(quán)重值,以及一隊列指針及一排程窗戶值,并根據(jù)各該外部請求的該響應(yīng)大小以循環(huán)方式開始進(jìn)行各該隊列中各該外部請求的傳送處理。
2.根據(jù)權(quán)利要求1所述的在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程系統(tǒng),其特征在于,該響應(yīng)大小是指執(zhí)行該外部請求所指定的該請求項(xiàng)目時應(yīng)用服務(wù)器所需要傳回的實(shí)際字節(jié)數(shù)量大小。
3.根據(jù)權(quán)利要求1所述的在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程系統(tǒng),其特征在于,該外部請求分類是指依照該外部請求的一網(wǎng)絡(luò)層內(nèi)容進(jìn)行分類。
4.根據(jù)權(quán)利要求1所述的在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程系統(tǒng),其特征在于,該外部請求分類是指依照該外部請求的一應(yīng)用層內(nèi)容進(jìn)行分類。
5.根據(jù)權(quán)利要求1所述的在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程系統(tǒng),其特征在于,該隊列指針是以余額累計式循環(huán)排程算法的方式進(jìn)行循環(huán)方式的移動。
6.根據(jù)權(quán)利要求1所述的在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程系統(tǒng),其特征在于,該排程窗戶值是用以控制在同一時間內(nèi)可傳送至應(yīng)用服務(wù)器的該外部請求數(shù)量。
7.根據(jù)權(quán)利要求1所述的在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程系統(tǒng),其特征在于,該排程器中還包含對應(yīng)于各該隊列的一個以上計數(shù)器,用以累加該隊列對應(yīng)的該權(quán)重值。
8.一種在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程方法,為應(yīng)用計算機(jī)可執(zhí)行程序執(zhí)行于介在一個以上客戶終端與一應(yīng)用服務(wù)器之間的網(wǎng)絡(luò)中繼點(diǎn)上,其特征在于,包含有下列步驟探查該應(yīng)用服務(wù)器中一個以上請求項(xiàng)目及其對應(yīng)的響應(yīng)大小,并記錄于一請求/響應(yīng)表中;建立一服務(wù)品質(zhì)策略表,開始接收來自各該客戶終端一個以上外部請求進(jìn)行一外部請求分類,并根據(jù)分類結(jié)果暫存各該外部請求至對應(yīng)一個以上隊列;及設(shè)定各該隊列的一權(quán)重值,以及一隊列指針及一排程窗戶值,并根據(jù)各該外部請求的該響應(yīng)大小以循環(huán)方式開始進(jìn)行各該隊列中各該外部請求的傳送處理。
9.根據(jù)權(quán)利要求8所述的在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程方法,其特征在于,該響應(yīng)大小是指執(zhí)行該外部請求所指定的該請求項(xiàng)目時應(yīng)用服務(wù)器所需要傳回的實(shí)際字節(jié)數(shù)量大小。
10.根據(jù)權(quán)利要求8所述的在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程方法,其特征在于,該外部請求分類是指依照該外部請求的一網(wǎng)絡(luò)層內(nèi)容進(jìn)行分類。
11.根據(jù)權(quán)利要求8所述的在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程方法,其特征在于,該外部請求分類是指依照該外部請求的一應(yīng)用層內(nèi)容進(jìn)行分類。
12.根據(jù)權(quán)利要求8所述的在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程方法,其特征在于,該隊列指針是以余額累積式循環(huán)排程算法的方式進(jìn)行循環(huán)方式的移動。
13.根據(jù)權(quán)利要求8所述的在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程方法,其特征在于,該排程窗戶值用以控制在同一時間內(nèi)可傳送至應(yīng)用服務(wù)器的該外部請求數(shù)量。
14.根據(jù)權(quán)利要求8所述的在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程方法,其特征在于,該設(shè)定各該隊列的該權(quán)重值,以及該隊列指針及該排程窗戶值,并根據(jù)該外部請求的該響應(yīng)大小以循環(huán)方式開始進(jìn)行各該隊列中各該外部請求的傳送處理的步驟,還包含下列步驟(a)設(shè)定該排程窗戶值,初始化該隊列指針使其指向最先該隊列,并增加該隊列對應(yīng)的該權(quán)重值于該隊列的一計數(shù)器中;(b)讀取該隊列中該外部請求,并判斷該外部請求所對應(yīng)的該響應(yīng)大??;(c)當(dāng)該響應(yīng)大小小于該計數(shù)器且該排程窗戶值不為0時,將該計數(shù)器減去該響應(yīng)大小,將該排程窗戶值減去1,然后傳送該外部請求至應(yīng)用服務(wù)器進(jìn)行處理;及(d)移動該隊列指針至下一隊列,并增加該隊列所對應(yīng)的該權(quán)重值至該隊列的該計數(shù)器中;其中在步驟(c)中,當(dāng)該隊列仍有未處理的該外部請求或該響應(yīng)大小不大于該計數(shù)器時,將持續(xù)重復(fù)執(zhí)行步驟(b)及步驟(c);在一個循環(huán)回合中尚未完成所有隊列的排程時,將持續(xù)重復(fù)執(zhí)行步驟(b)至步驟(d);當(dāng)完成該循環(huán)回合中所有隊列的排程后,將重新初始化該隊列指針使其指向最先的該隊列,并增加該隊列對應(yīng)的該權(quán)重值于該隊列的該計數(shù)器中,然后重新執(zhí)行步驟(b)至步驟(d)。
15.根據(jù)權(quán)利要求14所述的在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程方法,其特征在于,該設(shè)定該隊列的該權(quán)重值,以及該隊列指針及該排程窗戶值,并根據(jù)各該外部請求的該響應(yīng)大小以循環(huán)方式開始進(jìn)行各該隊列中各該外部請求的傳送處理的步驟,還包含當(dāng)接收到來自該應(yīng)用服務(wù)器處理完畢該外部請求的響應(yīng)時,將該排程窗戶值增加1的步驟。
全文摘要
本發(fā)明涉及一種在網(wǎng)絡(luò)中繼點(diǎn)上提供差別服務(wù)品質(zhì)的外部請求排程系統(tǒng),執(zhí)行于介在一個以上客戶終端與應(yīng)用服務(wù)器之間的網(wǎng)絡(luò)中繼點(diǎn)上的計算機(jī)可執(zhí)行程序,包含有探查器,用以探查該應(yīng)用服務(wù)器中一個以上請求項(xiàng)目及其對應(yīng)的響應(yīng)大小,并記錄于請求/響應(yīng)表中;分類器,用以建立服務(wù)品質(zhì)策略表,并負(fù)責(zé)接收來自各該客戶終端一個以上外部請求進(jìn)行外部請求分類;隊列器,根據(jù)該服務(wù)品質(zhì)策略表配置一個以上隊列,用以根據(jù)分類結(jié)果暫存該外部請求;及排程器,用以設(shè)定各該隊列對應(yīng)的權(quán)重值,以及隊列指針及排程窗戶值,并根據(jù)各該外部請求的該響應(yīng)大小以循環(huán)方式開始進(jìn)行各該隊列中各該外部請求的傳送處理。
文檔編號H04L29/02GK1842072SQ20051005961
公開日2006年10月4日 申請日期2005年3月29日 優(yōu)先權(quán)日2005年3月29日
發(fā)明者林盈達(dá), 溫碩彥, 田慶明, 賴源正, 李卓俊, 鄭博文 申請人:財團(tuán)法人工業(yè)技術(shù)研究院