欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于網(wǎng)絡(luò)場通信控制的方法和裝置的制作方法

文檔序號:6401974閱讀:183來源:國知局
專利名稱:用于網(wǎng)絡(luò)場通信控制的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)場(web farm)中的負載均衡。
背景技術(shù)
網(wǎng)絡(luò)場或聯(lián)合體現(xiàn)在變得非常流行。網(wǎng)絡(luò)場背后的關(guān)鍵概念是大量不同網(wǎng)站共享集中(pooled)資源這一觀念。具體地說,它們典型地共享公共前端調(diào)度器來執(zhí)行負載控制和分布客戶請求。它們還共享多個網(wǎng)站服務(wù)器;并且它們共享后端帶寬以將請求結(jié)果返回給客戶。硬件和軟件典型地由單個服務(wù)提供商或內(nèi)容主(content host)擁有、操作和維護。目前提供或計劃提供該服務(wù)的公司的例子包括AT&T、Exodus、Intel、IBM、Qwest、Verio和Worldcom。
網(wǎng)絡(luò)場的主要性能挑戰(zhàn)是有效地均衡服務(wù)器上的負載從而最小化在系統(tǒng)上實現(xiàn)的平均響應(yīng)時間。服務(wù)器的利用過度會導(dǎo)致客戶請求的過度延遲。另一方面,服務(wù)器的利用不足是浪費的。最小化平均響應(yīng)時間將具有最大化網(wǎng)絡(luò)場所能實現(xiàn)的吞吐量的雙重效應(yīng)。這意味著前端調(diào)度器中的負載控制過程可以變得更寬容而拒絕較少的請求。
網(wǎng)絡(luò)場的主要動機之一是由于集中資源而產(chǎn)生的效率。每個網(wǎng)站分配給由一個或多個服務(wù)器構(gòu)成的集合。然而,現(xiàn)有技術(shù)假設(shè)網(wǎng)站分配在服務(wù)器之間進行分區(qū)也就是,沒有服務(wù)器處理來自多個網(wǎng)站的通信。
創(chuàng)建包含多個服務(wù)器的集合背后的基本原理是可行性客戶請求在各個站點之間的分布將典型地是高度非均勻的。一些站點將很有可能比其他站點受歡迎得多,并且熱門網(wǎng)站的受歡迎度一般將大得足以將它分配給單個服務(wù)器將使該服務(wù)器過載。因此,為了實現(xiàn)可接受性能,將有必要將一些網(wǎng)站分配到多個服務(wù)器。
實現(xiàn)分區(qū)情況的負載均衡算法是公知的,但是該服務(wù)器分區(qū)導(dǎo)致較小的靈活性,并且因此導(dǎo)致不是最優(yōu)均衡的網(wǎng)站負載均衡。

發(fā)明內(nèi)容
公開了一種用于控制具有多個網(wǎng)站和服務(wù)器的網(wǎng)絡(luò)場的方法。該方法包括將從所述網(wǎng)站接收的客戶請求分類成多個類別,所述類別包括可共享客戶請求和不可共享客戶請求,以使所述服務(wù)器中的任一個都可以處理從不同所述網(wǎng)站接收的可共享客戶請求的方式傳送所述可共享客戶請求,以及將所述不可共享客戶請求從特定所述網(wǎng)站僅傳送到所述特定網(wǎng)站所被分配的特定服務(wù)器。
該方法的另一方面包括目標(biāo)過程(Goal procedure),所述目標(biāo)過程包括在給定所述網(wǎng)站到所述服務(wù)器的分配和當(dāng)前客戶請求負載的情況下,為每個所述客戶請求,從每個所述客戶請求所要分配的所述服務(wù)器中確定最優(yōu)服務(wù)器,從而最小化任何給定時刻的平均客戶響應(yīng)時間。
在該方法的另一方面,所述目標(biāo)過程通過在以下約束條件∑(xi,j+yi,j)∈{0,...,Lj},Σj=1Nxi,j=ci,]]>如果ai,j=0則xi,j=0,Σj=1Nyi,j=di,]]>以及如果bi,j=0則yi,j=0下最小化函數(shù)Σj=1NRj(Σi=1M(xi,j+yi,j))]]>來實現(xiàn),其中,M是網(wǎng)站數(shù),N是服務(wù)器數(shù),Rj是作為服務(wù)器j上的客戶到達速率的函數(shù)的預(yù)期響應(yīng)時間,xi,j是表示可能由服務(wù)器j處理的網(wǎng)站i的可共享請求的假設(shè)數(shù)的決策變量(decision variable),yi,j是表示可能由服務(wù)器j處理的網(wǎng)站i的不可共享請求的假設(shè)數(shù)的決策變量,Lj是服務(wù)器j的最大容許負載,ci是來自網(wǎng)站i的可共享客戶請求的當(dāng)前數(shù),di是來自網(wǎng)站i的不可共享請求的當(dāng)前數(shù),ai,j是表示來自網(wǎng)站i的可共享請求是否可以傳送到服務(wù)器j的索引(index),并且bi,j是表示來自網(wǎng)站i的不可共享請求是否可以傳送到服務(wù)器j的索引。
該方法的另一方面包括創(chuàng)建和維護一個有向圖,所述有向圖包括一個啞節(jié)點和多個服務(wù)器節(jié)點,每個所述服務(wù)器節(jié)點對應(yīng)于所述服務(wù)器之一,指定所述服務(wù)器節(jié)點中表達式Rj(Σi=1M(xi,j+yi,j+1))-Rj(Σi=1M(xi,j+yi,j))]]>最小的一個服務(wù)器節(jié)點為獲勝節(jié)點,以及選擇從所述啞節(jié)點到所述獲勝節(jié)點的最短有向路徑。
該方法的另一方面包括靜態(tài)過程,所述靜態(tài)過程包括將特定所述網(wǎng)站分配給特定所述服務(wù)器。
在該方法的另一方面,所述靜態(tài)過程根據(jù)對來自每個所述網(wǎng)站的可共享和不可共享客戶請求的預(yù)測需求,將所述網(wǎng)站分配給特定服務(wù)器。
該方法的另一方面包括動態(tài)過程,所述動態(tài)過程包括檢查下一個客戶請求,調(diào)用所述目標(biāo)過程從而確定哪個服務(wù)器是當(dāng)前處理所述下一個客戶請求的最優(yōu)服務(wù)器,并且將所述下一個客戶請求調(diào)度到所述最優(yōu)服務(wù)器。
該方法的另一方面包括將所述客戶請求接收到隊列中,并且其中,所述動態(tài)過程還包括監(jiān)視所述隊列中的所述客戶請求,監(jiān)視當(dāng)前正在由所述服務(wù)器處理的客戶請求,對于每個第j服務(wù)器通過設(shè)置R·j(z)=Rj(z+Σ(c··i,j+d··i,j))]]>來定義函數(shù) 對于每個第j服務(wù)器通過設(shè)置L·j=Lj-Σi=1M(c··i,j+d··i,j)]]>來定義修正容許負載限值 并且利用所述 函數(shù)和修正容許負載限值 來調(diào)用所述目標(biāo)過程,以在以下約束條件Σi=1M(x·i,j+y·i,j)∈{0,...,L·j},Σj=1Nx·i,j=c·i,]]>如果ai,j=0則x·i,j=0,Σj=1Ny·i,j=d·i,]]>以及如果bi,j=0則y·i,j=0]]>下最小化函數(shù)Σj=1NR·j(Σi=1M(x·i,j+y·i,j)),]]>其中, 是表示可能由服務(wù)器j處理的網(wǎng)站i的隊列中可共享請求的假設(shè)數(shù)的決策變量, 是表示可能由服務(wù)器j處理的網(wǎng)站i的不可共享請求的假設(shè)數(shù)的決策變量, 是來自網(wǎng)站i的隊列中可共享客戶請求的當(dāng)前數(shù),i是來自網(wǎng)站i的隊列中不可共享請求的當(dāng)前數(shù), 是當(dāng)前正在服務(wù)器之一中處理的來自網(wǎng)站i的可共享客戶請求的當(dāng)前數(shù),并且i是當(dāng)前正在服務(wù)器之一中處理的來自網(wǎng)站i的不可共享請求的當(dāng)前數(shù)。
公開了一種可由機器讀取的程序存儲裝置,它有形地實施一個可由機器執(zhí)行的指令程序以執(zhí)行用于控制具有多個網(wǎng)站和服務(wù)器的網(wǎng)絡(luò)場的方法步驟,所述方法步驟包括將從所述網(wǎng)站接收的客戶請求分類成多個類別,所述類別包括可共享客戶請求和不可共享客戶請求,以使所述服務(wù)器中的任一個都可以處理從不同所述網(wǎng)站接收的可共享客戶請求的方式傳送所述可共享客戶請求,以及將所述不可共享客戶請求從特定所述網(wǎng)站僅傳送到所述特定網(wǎng)站所被分配的特定服務(wù)器。
該裝置的另一方面包括目標(biāo)過程,所述目標(biāo)過程包括在給定所述網(wǎng)站到所述服務(wù)器的分配和當(dāng)前客戶請求負載的情況下,為每個所述客戶請求,從每個所述客戶請求所要分配的所述服務(wù)器中確定最優(yōu)服務(wù)器,從而最小化任何給定時刻的平均客戶響應(yīng)時間。
在該裝置的另一方面,所述目標(biāo)過程通過在以下約束條件∑(xi,j+yi,j)∈{0,...,Lj},Σj=1Nxi,j=ci,]]>如果ai,j=0則xi,j=0,Σj=1Nyi,j=di,]]>以及如果bi,j=0則yi,j=0下最小化函數(shù)Σj=1NRj(Σi=1M(xi,j+yi,j))]]>來實現(xiàn),其中,M是網(wǎng)站數(shù),N是服務(wù)器數(shù),Rj是作為服務(wù)器j上的客戶到達速率的函數(shù)的預(yù)期響應(yīng)時間,xi,j是表示可能由服務(wù)器j處理的網(wǎng)站i的可共享請求的假設(shè)數(shù)的決策變量,yi,j是表示可能由服務(wù)器j處理的網(wǎng)站i的不可共享請求的假設(shè)數(shù)的決策變量,Lj是服務(wù)器j的最大容許負載,ci是來自網(wǎng)站i的可共享客戶請求的當(dāng)前數(shù),di是來自網(wǎng)站i的不可共享請求的當(dāng)前數(shù),ai,j是表示來自網(wǎng)站i的可共享請求是否可以傳送到服務(wù)器j的索引,并且bi,j是表示來自網(wǎng)站i的不可共享請求是否可以傳送到服務(wù)器j的索引。
該裝置的另一方面包括創(chuàng)建和維護一個有向圖,所述有向圖包括一個啞節(jié)點和多個服務(wù)器節(jié)點,每個所述服務(wù)器節(jié)點對應(yīng)于所述服務(wù)器之一,指定所述服務(wù)器節(jié)點中表達式Rj(Σi=1M(xi,j+yi,j+1))-Rj(Σi=1M(xi,j+yi,j))]]>最小的一個服務(wù)器節(jié)點為獲勝節(jié)點,并且選擇從所述啞節(jié)點到所述獲勝節(jié)點的最短有向路徑。
該裝置的另一方面包括靜態(tài)過程,所述靜態(tài)過程包括將特定所述網(wǎng)站分配給特定所述服務(wù)器。
在該裝置的另一方面,所述靜態(tài)過程根據(jù)對來自每個所述網(wǎng)站的可共享和不可共享客戶請求的預(yù)測需求,將所述網(wǎng)站分配給特定服務(wù)器。
該裝置的另一方面包括動態(tài)過程,所述動態(tài)過程包括檢查下一個客戶請求,調(diào)用所述目標(biāo)過程從而確定哪個服務(wù)器是當(dāng)前處理所述下一個客戶請求的最優(yōu)服務(wù)器,并且將所述下一個客戶請求調(diào)度到所述最優(yōu)服務(wù)器。
該裝置的另一方面包括將所述客戶請求接收到隊列中,并且其中,所述動態(tài)過程還包括監(jiān)視所述隊列中的所述客戶請求,監(jiān)視當(dāng)前正在由所述服務(wù)器處理的客戶請求,對于每個第j服務(wù)器通過設(shè)置R·j(z)=Rj(z+Σ(c··i,j+d··i,j))]]>來定義函數(shù) 對于每個第j服務(wù)器通過設(shè)置L·j=Lj-Σi=1M(c··i,j+d··i,j)]]>來定義修正容許負載限值 并且利用所述 函數(shù)和修正容許負載限值 來調(diào)用所述目標(biāo)過程,以在以下約束條件Σi=1M(x·i,j+y·i,j)∈{0,...,L·j},Σj=1Nx·i,j=c·i,]]>如果ai,j=0則x·i,j=0,Σj=1Ny·i,j=d·i,]]>以及如果bi,j=0則y·i,j=0]]>下最小化函數(shù)Σj=1NR·j(Σi=1M(x·i,j+y·i,j)),]]>其中, 是表示可能由服務(wù)器j處理的網(wǎng)站i的隊列中可共享請求的假設(shè)數(shù)的決策變量, 是表示可能由服務(wù)器j處理的網(wǎng)站i的不可共享請求的假設(shè)數(shù)的決策變量, 是來自網(wǎng)站i的隊列中可共享客戶請求的當(dāng)前數(shù),i是來自網(wǎng)站i的隊列中不可共享請求的當(dāng)前數(shù), 是當(dāng)前正在服務(wù)器之一中處理的來自網(wǎng)站i的可共享客戶請求的當(dāng)前數(shù),并且i是當(dāng)前正在服務(wù)器之一中處理的來自網(wǎng)站i的不可共享請求的當(dāng)前數(shù)。
公開了一種網(wǎng)絡(luò)場,包括用于從客戶接收客戶請求的部件;用于處理所述客戶請求以產(chǎn)生響應(yīng)的部件;用于將所述響應(yīng)發(fā)送到所述客戶的部件;用于將所述客戶請求分類成可共享客戶請求和不可共享客戶請求的部件;包括用于執(zhí)行目標(biāo)過程、靜態(tài)過程和動態(tài)過程的部件的網(wǎng)絡(luò)調(diào)度器,所述目標(biāo)過程包括在給定所述網(wǎng)站到所述服務(wù)器的分配和當(dāng)前客戶請求負載的情況下,為每個所述客戶請求,從每個所述客戶請求所要分配的所述服務(wù)器中確定最優(yōu)服務(wù)器,從而最小化任何給定時刻的平均客戶響應(yīng)時間,其中所述共享客戶請求可以分配給任何所述服務(wù)器,并且其中所述不可共享客戶請求根據(jù)所述不可共享客戶請求所發(fā)起的哪個所述網(wǎng)站而僅可以分配給特定服務(wù)器,所述靜態(tài)過程包括將特定所述網(wǎng)站分配給特定所述服務(wù)器,并且所述動態(tài)過程包括檢查下一個客戶請求,調(diào)用所述目標(biāo)過程從而確定哪個服務(wù)器是當(dāng)前處理所述下一個客戶請求的最優(yōu)服務(wù)器,并且將所述下一個客戶請求調(diào)度到所述最優(yōu)服務(wù)器。


圖1示出網(wǎng)絡(luò)場,其中包括網(wǎng)絡(luò)調(diào)度器和多個服務(wù)器。
圖2示出從啞節(jié)點到獲勝節(jié)點的路徑,目標(biāo)過程的一部分。
圖3是目標(biāo)過程的流程圖。
圖3b是目標(biāo)過程的初始化步驟的流程圖。
圖3c是目標(biāo)過程的路徑簿記(bookkeeping)步驟的流程圖。
圖3d是目標(biāo)過程的圖簿記步驟的流程圖。
圖4是動態(tài)過程的流程圖。
圖5是說明動態(tài)過程的例子中的網(wǎng)站符號的匯集表(glossary)。
圖6示出相同例子中動態(tài)過程的有向圖。
圖7示出相同例子中靜態(tài)過程的無向圖。
圖8示出靜態(tài)過程中的鄰域擴展試探法(neighborhood escapeheuristic)。
圖9示出靜態(tài)過程的流程圖。
具體實施例方式
本發(fā)明通過允許多個站點的服務(wù)器分配之間的重疊來提供一種對網(wǎng)絡(luò)場中的負載均衡問題的解決方案,并且以適合于各種站點擁有者的實用方式這樣做。可以使用本發(fā)明的內(nèi)容來代替公開于共同轉(zhuǎn)讓的共同未決的美國專利申請09/374,539,申請日期為1999年8月16日,律師事務(wù)所號為12793(YO999-307),發(fā)明名稱為“METHOD ANDAPPARATUS FOR LOAD BALANCING OF WEB CLUSTERFARMS(用于網(wǎng)絡(luò)集群場的負載均衡的方法和裝置)”,現(xiàn)在為美國專利6374297的負載均衡系統(tǒng)。
重疊網(wǎng)站集背后的基本原理是靈活性網(wǎng)絡(luò)場必須能夠同時處理來自很多不同站點的客戶請求,并且該客戶需求典型地是突發(fā)性的。該突發(fā)性由于變化的網(wǎng)站受歡迎度和客戶牽涉(custom mix)而可以按星期、天和小時看到。有證據(jù)表示它也以小得多的原子時間單位如分鐘甚至是秒發(fā)生。在此的要點是平均網(wǎng)站訪問速率不足以捕獲客戶行為的變化性。一個網(wǎng)站的通信可能大幅漲落,并且一個網(wǎng)站可能較忙,同時另一個網(wǎng)站則不那么忙。希望是可以使處理若干站點的服務(wù)器改變這些網(wǎng)站之間的工作負載均衡以對這些動態(tài)通信作出反應(yīng)。注意,分區(qū)設(shè)計不允許該反應(yīng)能力。
本發(fā)明有效地集中服務(wù)器資源,并且采用用于前端調(diào)度器的智能方法,從而均衡這些服務(wù)器上的負載。本發(fā)明可推廣至足以假設(shè)每個網(wǎng)站分配給由一個或多個服務(wù)器構(gòu)成的集合,而且這些集合可以重疊。這意味著如果需要,給定服務(wù)器可以處理來自多個站點的客戶請求。較不期望的替代方案是在各個站點之間對服務(wù)器進行分區(qū),從而使每個服務(wù)器僅處理來自一個網(wǎng)站的請求。雖然效果差些,本發(fā)明也將工作于該較不優(yōu)選的特殊情況。
然而,在網(wǎng)絡(luò)場的情況下重疊服務(wù)器集不是沒有問題。雖然適當(dāng)高級服務(wù)器容納適度數(shù)目的網(wǎng)站從技術(shù)的角度是合理的,但是從政策角度可能不十分合理。例如,即使服務(wù)器在多個站點之間進行過邏輯分區(qū),電子商務(wù)貿(mào)易商也可能反對與其他貿(mào)易商共享處理交易請求的服務(wù)器。貿(mào)易商的反對將典型地基于保密的理由。幸運的是,該貿(mào)易商對于共享用于瀏覽請求的服務(wù)器較不敏感。為了使負載均衡過程是實用的并且因此是可實現(xiàn)的,它必須有效地處理該問題。如果必要,這可以通過將每個網(wǎng)站的工作負載分成兩個類別來實現(xiàn),其中一個類別是不可共享的,并且另一個是可共享的。這假定公共請求(由瀏覽者激發(fā))可以與來自其他站點的請求共享服務(wù)器。它們也可以與來自相同網(wǎng)站的私有請求(由交易激發(fā))共享服務(wù)器。這一關(guān)鍵細化向本發(fā)明提供即使在重疊分配的政策性變化問題的情況下也很好地執(zhí)行的所需靈活性。
雖然本發(fā)明在此是按照兩個級別的客戶通信來描述的,但是本領(lǐng)域的技術(shù)人員應(yīng)該明白,本發(fā)明可推廣至具有可變網(wǎng)站到服務(wù)器限制的分級結(jié)構(gòu)的通信。
注意,雖然公共和私有類別分別由瀏覽和交易請求來激發(fā),但是這些術(shù)語實際上是由是否能夠共享來定義的。例如,對于接受邏輯分區(qū)概念的電子商務(wù)站點,交易請求將算作公共通信的一部分,因此根本將不存在任何私有通信。在另一個極端,即使對于瀏覽者也拒絕允許任何服務(wù)器共享的電子商務(wù)站點將把瀏覽請求算作私有通信的一部分,并且根本將不存在任何公共通信。當(dāng)然,可能存在對于其瀏覽和交易術(shù)語沒有任何字面意義的非商務(wù)網(wǎng)站。為簡單起見,通信將根據(jù)可共享性分成公共或私有類別。
本發(fā)明利用重疊網(wǎng)站分配的可能性以非常有效地均衡網(wǎng)絡(luò)場負載。該問題自然地分解成兩個子問題,并且對每個子問題的求解都利用相同的基本優(yōu)化方法以設(shè)置適當(dāng)?shù)哪繕?biāo)。因此,對于本發(fā)明,存在三個主要組件,它們將分別稱作目標(biāo)過程、靜態(tài)過程和動態(tài)過程。
目標(biāo)過程是關(guān)鍵公共過程。它使用設(shè)計成在給定站點對服務(wù)器的分配和當(dāng)前客戶請求負載的情況下最小化任何給定時刻的平均客戶響應(yīng)時間的優(yōu)化方法。該方法是由Tantawi等人提出的用于求解所謂的離散類約束可分離凸資源分配問題的方法的略微特殊情況,參見“Optimalallocation of multiple class resources in computer systems(計算機系統(tǒng)中多類資源的最優(yōu)分配)”,ACM Sigmetrics Conference(1988年5月),pp.253-260。從而該方法將確定最優(yōu)負載均衡目標(biāo)。具體地說,輸出是要由每個適當(dāng)服務(wù)器處理的每個網(wǎng)站的公共和私有類別的客戶請求的最優(yōu)數(shù)目,并且因此通過求和是每服務(wù)器的所有客戶請求的最優(yōu)數(shù)目。該問題將需要相對頻繁地進行求解。幸運的是,該求解方法較快(并且在性質(zhì)上是增量的)。它可以處理異構(gòu)服務(wù)器,這是重要的,因為隨著時間的過去一些老的較慢服務(wù)器將不可避免地被新的較快服務(wù)器代替。目標(biāo)過程是下面動態(tài)過程和靜態(tài)過程組件的組成部分。
考慮公共和私有請求的要求,靜態(tài)過程創(chuàng)建良好、有希望幾乎最優(yōu)的站點到服務(wù)器的分配。并且,該過程完成得越好,則目標(biāo)過程中的平均響應(yīng)時間就會越好。靜態(tài)過程組件在執(zhí)行中迭代性地調(diào)用目標(biāo)過程。該方法可以在初始或增量模式下運行。當(dāng)配置新的網(wǎng)絡(luò)場時,初始模式是適當(dāng)?shù)?。增量模式考慮限制分配變化數(shù)的約束,因此對于維護高質(zhì)量的網(wǎng)站到服務(wù)器分配是實用的。采用例如在R.Garfinkel等人的“Integer Programming(整數(shù)規(guī)劃)”,John Wiley and Sons,New York,NY(1972)中公開的鄰域擴展試探法。增量模式意味著周期性地運行,可能是大約每星期運行一次。重新配置網(wǎng)站到服務(wù)器分配顯然不是瑣細的任務(wù)。準(zhǔn)確的頻率將依賴于網(wǎng)站需求預(yù)測的變化性和進行新分配的成本。
動態(tài)過程根據(jù)靜態(tài)過程組件的輸出和波動的網(wǎng)站客戶需求來在網(wǎng)絡(luò)調(diào)度器中執(zhí)行實時網(wǎng)絡(luò)服務(wù)器路由選擇。它根據(jù)目標(biāo)過程來求解受限子問題以計算該理想化路由選擇。它不轉(zhuǎn)移先前調(diào)度過的請求的分配,這可能改善性能,但是將導(dǎo)致高得驚人的開銷。
參照圖1,示出具有三個站點12和九個服務(wù)器13的假設(shè)網(wǎng)絡(luò)場10的例子。網(wǎng)絡(luò)調(diào)度器14將三個站點12的客戶請求傳送到適當(dāng)?shù)姆?wù)器。第一網(wǎng)站12a包括兩個服務(wù)器(1和2),并且與具有五個服務(wù)器(2到6)的第二網(wǎng)站12b重疊,并且第二網(wǎng)站12b又與具有四個服務(wù)器(6到9)的第三網(wǎng)站12c重疊??蛻粽埱蟮慕Y(jié)果通過管道回送給客戶,然后客戶可以發(fā)出另外的請求。
給定圖1的說明性例子,現(xiàn)在詳細描述本發(fā)明的三個主要組件將是有用的。
目標(biāo)過程(目標(biāo))組件首先定義一些符號標(biāo)記將是有用的。設(shè)M表示網(wǎng)站的數(shù)目,為方便起見將總是以i索引。設(shè)N表示服務(wù)器的數(shù)目,以j索引。設(shè){0,1}M×N矩陣A=(ai,j)表示將網(wǎng)站i的公共請求分配給服務(wù)器j的潛在可能性。換句話說,如果網(wǎng)站i的可共享請求可以由服務(wù)器j處理,則ai,j=1,否則ai,j=0。類似地,設(shè){0,1}M×N矩陣B=(bi,j)表示將網(wǎng)站i的私有請求分配給服務(wù)器j的潛在可能性。換句話說,如果網(wǎng)站i的不可共享請求可以由服務(wù)器j處理,則bi,j=1,否則bi,j=0。實際上我們將假設(shè)處理網(wǎng)站i的私有請求的服務(wù)器j也可以處理該網(wǎng)站的公共請求。因此,如果bi,j=1,則ai,j=1。
與每個服務(wù)器j相關(guān)聯(lián)的是作為客戶到達速率的函數(shù)測量預(yù)期響應(yīng)時間的函數(shù)Rj。該功能將依賴于服務(wù)時間分布,而服務(wù)時間分布又將依賴于處理器速度。函數(shù)Rj一般將具有遞增特性和凸特性。對于在有關(guān)到達速率模式和服務(wù)時間的特定簡化假設(shè)下計算或估算Rj,存在如Lavenberg提出的經(jīng)典隊列方法,參見“Computer PerformanceModeling Handbook(計算機性能建模手冊)”,Academic Press,New York,NY(1983),在此將其全文引作參考,但是一般而言,該函數(shù)可能需要通過模擬試驗或監(jiān)視來估計。
根據(jù)該函數(shù),可以假設(shè)在服務(wù)器j上將存在最大容許負載Lj,其中,超過該閾值將導(dǎo)致Rj的值過大。當(dāng)然,如果設(shè)置Lj=∞,則該最大負載約束將太松。假設(shè)在給定時刻對于網(wǎng)站i當(dāng)前存在ci個公共請求和di個私有請求。將這些請求進一步分解成服務(wù)器j上的網(wǎng)站i的ci,j個公共請求和di,j個私有請求。因此,ci=Σj=1Nci,j,]]>并且每當(dāng)ai,j=0時,ci,j=0(不能從網(wǎng)站未被分配的服務(wù)器處理該網(wǎng)站的公共請求)。類似地,每當(dāng)bi,j=0時,di,j=0。設(shè)C=Σi=1Mci]]>表示當(dāng)前公共請求的總數(shù),并且類似地,D=Σi=1Mdi]]>表示當(dāng)前私有請求的總數(shù)。
在給定當(dāng)前負載和網(wǎng)站到服務(wù)器分配的情況下,當(dāng)在以下約束條件下最小化目標(biāo)函數(shù)Σj=1NRj(Σi=1M(xi,j+yi,j))---(1)]]>時,服務(wù)器負載可以被認為是最優(yōu)均衡的,其中這些約束條件為∑(xi,j+yi,j)∈{0,...,Lj}, (2)Σj=1Nxi,j=ci,---(3)]]>如果ai,j=0則xi,j=0,(4)Σj=1Nyi,j=di,---(5)]]>以及如果bi,j=0則yi,j=0,(6)在此,xi,j是表示可能由服務(wù)器j處理的網(wǎng)站i的公共請求的假設(shè)數(shù)的決策變量。類似地,yi,j是表示可能由服務(wù)器j處理的網(wǎng)站i的私有請求的假設(shè)數(shù)的決策變量。目標(biāo)函數(shù)測量各個服務(wù)器上的預(yù)期響應(yīng)時間之和,它與平均響應(yīng)時間相差一個倍數(shù)常數(shù)。從優(yōu)化問題的角度而言,該常數(shù)是無關(guān)的。約束條件(2)限制服務(wù)器i上的容許負載。約束條件(3)確保網(wǎng)站i公共請求的總數(shù)等于當(dāng)前這些請求的實際數(shù)。約束條件(4)確保對于公共請求考慮網(wǎng)站到服務(wù)器分配。約束條件(5)到(6)是私有請求的對應(yīng)要求。如果在最優(yōu)解中Xj=Σi=1Mxi,j]]>并且Yj=Σi=1Myi,j,]]>則注意Xj+Yj表示服務(wù)器j上的期望負載。我們最終的目標(biāo)將是確保最優(yōu)負載Xj+Yj和實際負載Σi=1M(cij+dij)]]>對于每個服務(wù)器j總是相互接近。
上述優(yōu)化問題是所謂的離散類約束可分離凸資源分配問題的特殊情況。這些類對應(yīng)于各個站點的公共和私有請求。該問題由于約束條件(2)是離散的,由于約束條件(3)和(5)而是資源分配問題,并且由于約束條件(4)和(6)而類約束的??煞蛛x性術(shù)語是指目標(biāo)函數(shù)的性質(zhì),并且凸特性術(shù)語是顯然的。如Tantawi等人所述,離散類約束資源分配問題可以使用圖論優(yōu)化過程來準(zhǔn)確且高效地求解。
參照圖3,示出目標(biāo)過程的優(yōu)選實施例的流程圖。假設(shè)存在可行解,過程共進行C+D步。創(chuàng)建例如圖2中的有向圖,并且在整個過程期間都將維護它。圖的節(jié)點是服務(wù)器1,...,N以及標(biāo)注為“節(jié)點0”的啞節(jié)點。對于每個i,設(shè)置ai,0=1和bi,0=1,以及L0=0。我們將創(chuàng)建和修改部分可行解{xi,j|i=1,...M,j=0,...,N}∪{yi,j|i=1,...,M,j=0,...,N}。最初,在圖3中的步驟100和105,對于每個i設(shè)置該部分可行解,以使得對于所有j=1,...,N,xi,0=ci,Yi,0=di,并且xi,j=Y(jié)i,j=0,因此,所有資源都駐留在啞節(jié)點上。在步驟110初始化有向圖,并且在任何步驟,如果存在至少一個網(wǎng)站i1滿足ai1,j1=ai1,j2=1,---(7)]]>xi1,j1>0,---(8)]]>Σi=1M(xi,j+yi,j)<Lj2,---(9)]]>或者,可替換地,存在至少一個網(wǎng)站i1滿足bi1,j1=bi1,j2=1,---(10)]]>yi1,j1>0,---(11)]]>
以及條件(9),則有向圖具有從節(jié)點j1∈{0,...,N)到節(jié)點j2∈{0,...,N)的有向弧。條件(7)表示節(jié)點j1和j2可以處理網(wǎng)站i1的公共請求。條件(8)表示網(wǎng)站i1的公共請求已分配給節(jié)點j1。條件(9)表示該請求可以轉(zhuǎn)移給節(jié)點j2,而不超過那個節(jié)點上的負載限制。條件(10)、(11)和(9)是私有請求的對應(yīng)要求。注意,可以存在以節(jié)點0為起點的有向弧,但是不存在以節(jié)點0為終點的有向弧。從而接收節(jié)點將總是真實服務(wù)器,而不是啞節(jié)點。
該方法的一般步驟在對于其存在從0到j(luò)的有向路徑的所有節(jié)點j∈{1,...,N)中查找第一差值Rj(Σi=1M(xi,j+yi,j+1))-Rj(Σi=1Mxi,j+yi,j)---(12)]]>最小的獲勝節(jié)點。此所謂的第一差值是連續(xù)函數(shù)的導(dǎo)數(shù)的離散模擬。第一差值是由于Rj的凸特性而對于每個i在j中是非遞減的。如果不存在該節(jié)點,則過程以不可行解終止。否則,選擇從0到獲勝節(jié)點的最短有向路徑。針對該路徑中的每個有向弧(j1,j2),對于適當(dāng)?shù)木W(wǎng)站i1, 的值減1,并且 的值增1(由于公共請求的增減或者私有請求的減增)。在所有有向弧上執(zhí)行該步驟具有從啞節(jié)點刪除一個單位的負載,并且將一個單位的負載加到獲勝節(jié)點的效應(yīng)。對于中間節(jié)點的負載沒有有效效應(yīng)(net effect)。因此,啞節(jié)點用作資源的集結(jié)區(qū)域(staging area),在每個步驟,將其中之一釋放到服務(wù)器節(jié)點中。然后對有向圖執(zhí)行簿記,這可能修改一些有向弧以及潛在斷連的某些節(jié)點,并且重復(fù)該步驟。在(C+D)個步驟之后,過程以對原始離散類約束資源分配問題的最優(yōu)解終止。可行性由于有向圖中各弧上的條件而得到保證。
更具體地參照圖3,目標(biāo)過程的優(yōu)選實施例在步驟100通過對于所有站點i和服務(wù)器j將變量xi,j和yi,j設(shè)為0來開始。該過程在執(zhí)行中將增大和減小這些變量。在步驟105,將啞節(jié)點初始化為節(jié)點0。所有資源初始都放在這里,從而,設(shè)置xi,0=ci以及yi,0=di。在步驟110,根據(jù)方程(7)-(11)初始化連接N+1個節(jié)點的有向圖,下面將參照圖3b對此進行更詳細的描述。可以從此確定將存在從啞節(jié)點0到如下節(jié)點j的有向弧,其中對于節(jié)點j,存在至少一個具有ai,j=1或bi,j=1的網(wǎng)站i。在過程的執(zhí)行中,將修改該圖。在步驟115,設(shè)置k=1。該變量將在分配資源的時候?qū)Y源單位進行計數(shù)。在步驟120,將m初始化為無窮大,并且將j初始化為1。在步驟125,判定是否存在從0到節(jié)點j的有向路徑。如果存在,則在步驟130,對于該服務(wù)器j估算方程(12),并且將它與m比較。如果小,則在步驟135設(shè)置j*=j(luò),并且將m設(shè)為方程(12)的值。這是m的當(dāng)前最小值。然后,進入步驟140。如果在步驟125沒有任何路徑,或者如果步驟130中的方程(12)估算為m或更大,則也進入步驟140。步驟140增大j。在步驟145,檢查j是否為N或更小。如果是,則返回到步驟125。否則,進入步驟150,其中,將m與無窮大進行比較。如果m不小于無窮大,則不存在從啞節(jié)點到任何節(jié)點的路徑,因此不存在任何對該問題的可行解。從而,過程在步驟155停止。否則,進入步驟160并且查找最短該路徑。在步驟165,對該路徑執(zhí)行簿記,增大和減小xi,j和yi,j的適當(dāng)值。在這樣做當(dāng)中,一個單位的資源將從啞節(jié)點刪除,并且一個單元的資源將加到服務(wù)器j*,下面將參照圖3c對此進行更詳細的描述。然后,在步驟170,對有向圖執(zhí)行簿記,再次確保滿足方程(7)-(11)。在該過程中可能增加一些有向弧,并且可能刪除一些有向弧,下面將參照圖3d對此進行更詳細的描述。在步驟175,增大k。在步驟180,測試k以查看它是否為C+D或更小。如果否,則在步驟185過程以最終解xi,j和yi,j完成,否則返回到步驟120以繼續(xù)過程。
參照圖2,示出類約束資源分配過程的有向圖中的路徑。注意,在此沒有示出該圖的所有節(jié)點和有向弧。負載正在從啞“節(jié)點0”20轉(zhuǎn)移到獲勝(服務(wù)器)節(jié)點,即其第一差值最小的連接到節(jié)點0的節(jié)點。所示的有向路徑旨在是最短有向路徑。有向弧編號為1至5。在本圖中,某網(wǎng)站的一個新(公共或私有)請求通過有向弧1分配,但是向其分配該請求的第一(服務(wù)器)節(jié)點21不改變其活動級別。實際上,起始四個服務(wù)器節(jié)點21到24都沒有不同的活動級別。第五、獲勝服務(wù)器節(jié)點25增加一個單位的活動,而啞節(jié)點20減少一個單位的活動。
參照圖3b,示出與圖3的步驟110相對應(yīng)的初始化過程。在步驟400,初始化j=1,然后在步驟405,測試以查看Lj是否大于0。如果是,則在步驟410將i初始化為1,并且在步驟415測試以查看aj是否大于0。如果是,則在步驟420測試以查看xi0是否大于0。如果是,在步驟425創(chuàng)建從啞節(jié)點0到j(luò)的有向弧,并且進入步驟430。如果步驟415或步驟420失敗,則進入步驟435,其中測試以查看以查看bj是否大于0。如果是,則在步驟440測試以查看yi0是否大于0。如果是,則如前所述,流程進入步驟425。如果步驟435或步驟440失敗,則控制流至步驟430,其中,增大j。在步驟445,測試以查看j是否小于或等于N。如果否,則控制循環(huán)回到步驟405,否則在步驟450退出。
參照圖3c,示出圖3的步驟165的路徑簿記過程的流程圖。在該流程圖中,假設(shè)最短路徑具有k個有向弧,并且標(biāo)注為從j0=0到j(luò)1到j(luò)2等等到j(luò)k=j(luò)。在步驟500,初始化j=0,并且在步驟505,初始化i=1。在步驟510,檢查以查看是否aij=ai(j+1)=1。如果是,則在步驟515檢查xij是否大于0。如果是,則在步驟520減小xij并且增大xi(j+1)。如果步驟510或515中的任一測試失敗,則進入步驟525,其中,類似地檢查以查看是否bij=bi(j+1)=1。如果是,則在步驟530檢查yij是否大于0。如果是,則在步驟535減小yij,并且增大yi(j+1)。如果步驟525或530中的任一測試失敗,則進入步驟540,其中,增大i并且返回到步驟510(我們知道一個服務(wù)器i將最終通過具有約束條件的該測試)?,F(xiàn)在在步驟520或步驟535之后,進入步驟545,其中,增大j。在步驟550,測試以查看j是否小于k。如果是,則返回到步驟505。如果否,則過程在步驟555退出。
參照圖3d,示出了圖3的步驟170的圖簿記過程的流程圖。在步驟600開始,將j1初始化成1。在步驟605,將j2初始化成1。在步驟610,測試以查看關(guān)于Lj2的條件(9)是否為真。如果否,過程在612退出,否則在步驟615初始化i=1,然后在步驟620測試以查看是否aj1=aj2=1。如果是,則在步驟625測試以查看是否xij1大于0。如果是,則在步驟630創(chuàng)建從節(jié)點j1到節(jié)點j2的有向弧,并且進入步驟635,其中,增大j2。如果步驟620或步驟625失敗,則進入步驟640,其中測試以查看是否bj1=bj2=1。如果是,則在步驟645測試以查看是否yij2大于0。如果是,則如前所述進入步驟630。如果步驟640或步驟645失敗,則進入步驟635。在步驟650,測試以查看j2是否小于或等于N。如果是,在步驟655增大j1,并且進入步驟660,其中,測試以查看j1是否小于或等于N。如果否,則在步驟665退出。如果步驟650中的測試失敗,則進入步驟670,檢查是否j1=j(luò)2。如果j1=j(luò)2,則返回到步驟635;否則返回到步驟610。如果步驟660中的測試失敗,則進入步驟675,其中,還檢查是否j1=j(luò)2。如果j1=j(luò)2,則返回到步驟655;否則返回到步驟605。
動態(tài)過程(動態(tài))參照圖4,現(xiàn)在描述負載均衡過程的動態(tài)過程組件。該方法假設(shè)(靜態(tài)過程組件)站點到服務(wù)器分配是已知事物。這相當(dāng)于確定矩陣A和B。然后它監(jiān)視服務(wù)器上的準(zhǔn)確或近似負載以及新客戶請求到達網(wǎng)絡(luò)調(diào)度器。動態(tài)過程組件的工作是對這些排隊請求在網(wǎng)絡(luò)調(diào)度器中進行路由決策,將它們分配給適當(dāng)?shù)姆?wù)器。在這樣做當(dāng)中,它試圖在可能的程度內(nèi)實現(xiàn)由目標(biāo)過程支配的最優(yōu)平均響應(yīng)時間和服務(wù)器負載級別。實際上,它對在網(wǎng)絡(luò)調(diào)度器中排對的通信調(diào)用目標(biāo)過程以作出其決策。路由決策可以通過準(zhǔn)確或概率策略來實現(xiàn)。一旦請求由靜態(tài)過程組件分配給服務(wù)器,就將在那些服務(wù)器上滿足它們。換句話說,在優(yōu)選實施例中,網(wǎng)絡(luò)調(diào)度器的決策被認為是最終的,并且服務(wù)器本身上的請求不能根據(jù)負載來重定向。
定義一些元符號標(biāo)記將是有用的。在任何給定時間,一些負載將在網(wǎng)絡(luò)調(diào)度器中排隊,并且一些負載將已經(jīng)調(diào)度到服務(wù)器。我們希望區(qū)分這兩種負載以及總體負載。當(dāng)引用與調(diào)度器中的負載有關(guān)的變量時,將使用單點,并且當(dāng)引用與服務(wù)器中的負載有關(guān)的變量時,將使用雙點。如果不采用任何點,則變量將表示組合調(diào)度器和服務(wù)器負載。
該方法監(jiān)視服務(wù)器j上的網(wǎng)站i的已調(diào)度公共請求的當(dāng)前數(shù)目 和已調(diào)度私有請求的數(shù)目i,j。動態(tài)過程組件不對服務(wù)器上的請求完成直接作出反應(yīng),但是它確實適當(dāng)?shù)販p小 和i,j的值。如果不能容易地獲得該數(shù)據(jù),則可以對它進行估算。同時,新請求在網(wǎng)絡(luò)調(diào)度器中到達并且排隊等候。設(shè) 表示自從最后執(zhí)行動態(tài)過程組件以來網(wǎng)站i的新公共請求的數(shù)目。類似地,設(shè)i表示自從最后執(zhí)行動態(tài)過程組件以來網(wǎng)站i的新私有請求的數(shù)目。通過合計,設(shè)C·=Σi=1Mc·i]]>和D·=Σi=1Md·i]]>分別表示調(diào)度器中的排隊公共和私有請求的總數(shù)。
動態(tài)過程組件可以設(shè)計成在固定時間間隔之后、隊列中的項數(shù) 達到某固定批量閾值之后或者以可能是兩個標(biāo)準(zhǔn)的某組合喚醒和執(zhí)行。
對在網(wǎng)絡(luò)調(diào)度器中排隊的請求應(yīng)用目標(biāo)過程,同時不管先前已調(diào)度的請求。為此,必須需要一些簿記。具體而言,對于每個服務(wù)器j,通過設(shè)置R·j(z)=Rj(z+Σ(c··i,j+d··i,j))---(13)]]>來定義新的凹增函數(shù) 該函數(shù)簡單地變動原始函數(shù)以考慮服務(wù)器中不能干擾的負載量。由于相同原因,還通過設(shè)置L·j=Lj-Σi=1M(c··i,j+d··i,j)---(14)]]>來定義修正容許負載限值 通過這些手續(xù),調(diào)度 個排隊請求的最優(yōu)方式通過求解下面受限目標(biāo)過程組件問題來確定在以下約束條件下最小化Σj=1NR·j(Σi=1M(x·i,j+y·i,j))---(15)]]>這些約束條件為Σi=1M(x·i,j+y·i,j)∈{0,...,L·j},---(16)]]>Σj=1Nx·i,j=c·i,---(17)]]>如果ai,j=0則x·i,j=0,---(18)]]>Σj=1Ny·i,j=d·i,---(19)]]>以及如果bi,j=0則y·i,j=0,---(20)]]>這對應(yīng)于圖4的步驟200。即使在最優(yōu)解中,服務(wù)器j上的總負載Σi=1M(x·i,j+y·i,j+c·i,j+d·i,j)]]>在總體上是次優(yōu)的。然而,在不能在服務(wù)器之間轉(zhuǎn)移先前已分配的負載的附加約束條件下,它是最優(yōu)的。
而且,注意,在每當(dāng)新請求到達網(wǎng)絡(luò)調(diào)度器時喚醒該方法從而對于某網(wǎng)站i1,c·i1,j=1]]>或者d·i1,j=1]]>的特殊情況下,該過程簡直是貪婪的。換句話說,如果c·i1,j=1,]]>從而要分配網(wǎng)站i1的新公共請求,則選擇其第一差值Rj(Σi=1M(c··i,j+d··i,j+1))-Rj(Σi=1M(c··i,j+d··i,j))---(21)]]>最小的滿足ai1,j=1]]>且Σi=1M(c··i,j+d··i,j)<Lj]]>的那個服務(wù)器j。話說,如果d·i1,j=1,]]>從而要增加網(wǎng)站i1的新私有請求,則選擇由表達式(21)給出的其第一差值最小的滿足bi1,j=1]]>和負載限制約束條件的那個服務(wù)器j。
動態(tài)過程可以由圖5和6所示的例子闡述。考慮駐留8個站點的15服務(wù)器配置。有5個服務(wù)器被分配處理公共網(wǎng)站通信。我們將這些服務(wù)器稱作群集服務(wù)器,因為每個這樣的服務(wù)器都具有處理來自多個站點的通信的能力。還有10個服務(wù)器被分配處理私有網(wǎng)站通信。因此我們將這些服務(wù)器稱作分區(qū)服務(wù)器。每個這樣的服務(wù)器可以處理公共和私有通信,但是這些通信僅來自單個網(wǎng)站??紤]圖5,它是本例的網(wǎng)站符號匯集表。每個符號具有唯一于網(wǎng)站的形狀。例如,circularlogic.com以圓圈表示?;曳柋硎竟餐ㄐ哦诜柋硎舅接型ㄐ?。相關(guān)群集和分區(qū)服務(wù)器基數(shù)(cardinalities)也被表示。分別存在分配矩陣A和B的行總和 和 例如,circularlogic.com分配有3個群集服務(wù)器和2個分區(qū)服務(wù)器。
所有這些更詳細地見于圖6。內(nèi)圈包含5個群集服務(wù)器C1到C5,并且外圈包含10個分區(qū)服務(wù)器P1到P10。例如,注意,circularlogic.com分配給群集服務(wù)器C1、C2和C5。在服務(wù)器C1上,該網(wǎng)站的公共通信必須與hexnut.com和eggcentric.com的公共通信共享該服務(wù)器。類似地,circularlogic.com分配給分區(qū)服務(wù)器P1和P2。這兩個服務(wù)器中的每一個均處理公共和私有通信,但是這些通信僅對應(yīng)于該網(wǎng)站。
實際上,圖6傳達更多信息。它示出由目標(biāo)過程使用的種類的略加修改的有向圖?;叵雸D2,該圖示出了在求解類約束資源分配問題中在特定時刻從啞節(jié)點到服務(wù)器節(jié)點的最短路徑。作為對比,圖6示出有向圖H,該圖在一個例外的情況下示出該時刻的所有有向弧和節(jié)點(例外是消除了啞節(jié)點和以其為起點的有向弧)。
從而H如下定義節(jié)點對應(yīng)于服務(wù)器。對于不同服務(wù)器節(jié)點的每個對j1和j2,假如存在滿足條件(7)到(9)或者條件(10)、(11)和(9)的至少一個網(wǎng)站i1,則存在從j1和j2的有向弧。
在圖6中,不是所有有向弧都出現(xiàn)在兩個方向上,因為它們可能不能滿足所有相關(guān)約束條件。例如,不存在從P3到P4的有向弧,顯然地這是因為在P3上不存在任何負載,公共負載(條件8)或私有負載(條件11)。不存在從C3到P7的有向弧,顯然地這是因為P7以全部容量工作(條件9)。在C1與P3之間的任一方向上都不存在弧,顯然地這是因為P3上沒有公共負載(條件8)并且C1以全部容量工作。在P1與C4之間的任一方向上都不存在弧,這是因為既不滿足條件(7)又不滿足條件(10)。
再次,有向弧的存在表示減小服務(wù)器上的負載、在不超過負載容量的情況下增大另一個服務(wù)器上的負載,并且使其他服務(wù)器上的負載不受影響的潛在可能性。從啞節(jié)點到服務(wù)器節(jié)點之一的有向路徑允許將一單位的負載從集結(jié)節(jié)點(staging node)轉(zhuǎn)移到那個服務(wù)器節(jié)點,而使所有其他服務(wù)器節(jié)點不受影響。在該轉(zhuǎn)移之后,圖H可以通過簿記方法來修改以考慮約束條件(8)、(9)和(11)的當(dāng)前狀態(tài)。(約束條件(7)和(10)的狀態(tài)保持不變)。
在圖6中可以看到三種不同類型的有向弧。表示公共或私有負載從一個分區(qū)服務(wù)器到另一個分區(qū)服務(wù)器的潛在轉(zhuǎn)移的一種類型可以在P1與P2之間看到。表示公共負載從分區(qū)服務(wù)器到群集服務(wù)器或者相反的潛在轉(zhuǎn)移的第二類型可以在P1與C1之間看到。表示公共負載從一個群集服務(wù)器到另一個群集服務(wù)器的潛在轉(zhuǎn)移的第三類型可以在C1與C2之間看到。
應(yīng)該理解,按照具有盡可能多的有向弧,圖H越密,則目標(biāo)過程越有可能可以實現(xiàn)產(chǎn)生較低響應(yīng)時間的良好質(zhì)量結(jié)果。這是下一步描述的靜態(tài)過程組件的目標(biāo)。
動態(tài)過程的詳細實施例在圖4的流程圖中示出??刂屏鞒桃圆襟E200開始,采用目標(biāo)過程來對于每個網(wǎng)站i和服務(wù)器j求解最優(yōu)目標(biāo) 和 。在步驟205,設(shè)置k=1。在步驟210,對于每個網(wǎng)站i和服務(wù)器j,將 和 初始化為0。這些變量將對相對于目標(biāo)的調(diào)度器進度進行計數(shù)。在步驟215,確定什么網(wǎng)站對應(yīng)于隊列中的請求k。步驟220判定請求是公共的還是私有的。對于這兩種可能性的每一種,存在對等的流程,并且我們集中于公共請求情況。這開始于步驟225,其中,設(shè)置j=1以及M為負無窮大。將試圖如下查找在目標(biāo)和所實現(xiàn)值之間具有最大差值的服務(wù)器在步驟230,判斷M是否小于 如果是,在步驟235設(shè)置j*=j(luò)以及M=x·i,j-X·i,j,]]>并且進入步驟240。如果步驟230中的測試失敗,則也分支至步驟240。在步驟240,增大j。在步驟245,判斷j是否小于或等于N。如果是,則返回到步驟230。如果否,則在步驟250得到獲勝服務(wù)器j*,增大 并且將請求k調(diào)度到服務(wù)器j*。然后進入步驟255,其中,增大k。在步驟260,測試k是否小于或等于 如果是,則返回到步驟210以調(diào)度下一請求。如果否,則由于清空了請求隊列而停止。如果步驟220判定請求是私有請求,則進入步驟270到295。這些步驟除了處理私有請求而不是公共請求之外,完全類似于步驟225到250。最終,控制流程再次返回到步驟220。
靜態(tài)過程組件參照圖7至9,現(xiàn)在描述將站點分配給服務(wù)器的靜態(tài)過程組件。目標(biāo)是優(yōu)化目標(biāo)過程的可實現(xiàn)性能,并且因此優(yōu)化動態(tài)過程組件的可實現(xiàn)性能。靜態(tài)過程組件的關(guān)鍵輸入將是每個網(wǎng)站的公共和私有請求的平均需求預(yù)測以及容許網(wǎng)站到服務(wù)器分配的任何約束條件。靜態(tài)過程組件的輸出將簡單地是兩個{0,1}分配矩陣A=(ai,j)和B=(bi,j)。
還假設(shè)網(wǎng)站到服務(wù)器分配的約束條件是已知事物。這些約束條件可能與服務(wù)器本身的物理容量、實現(xiàn)可接受高緩存命中率的目標(biāo)、服務(wù)器上的操作系統(tǒng)、某些站點可能協(xié)商過的固定服務(wù)器分配等等有關(guān)。這些約束條件可能相當(dāng)復(fù)雜或相當(dāng)基本。例如,緩存約束條件可能根據(jù)分析命中率模型、網(wǎng)站數(shù)據(jù)的局部性和緩存大小而可能相對復(fù)雜。它將具有確保較小數(shù)目的站點分配給每個服務(wù)器的效果。另一方面,操作系統(tǒng)約束條件可能簡單地是哪些站點不適于某些服務(wù)器的列表。要點是靜態(tài)過程組件在性質(zhì)上是試探性的(heuristic),并且可以簡單地通過在考慮任何分配變化之前檢查約束條件來處理它們。
靜態(tài)過程組件具有兩種可能模式。初始模式(圖9)用來從零開始配置新系統(tǒng),在這種模式下,尚未有節(jié)點分配給服務(wù)器。增量模式則周期性地用來根據(jù)修正網(wǎng)站需求預(yù)測來調(diào)整現(xiàn)有網(wǎng)站到服務(wù)器分配。為了確保這些調(diào)整的實現(xiàn)是實用的,考慮限制所允許的容許網(wǎng)站到服務(wù)器分配變化數(shù)的約束條件??梢钥闯觯瑑煞N模式都將采用本質(zhì)上相同的方法。在初始模式下,可能必須采用響應(yīng)時間函數(shù)的分析模型,而在增量模式下,作為代替可能使用更準(zhǔn)確的測量響應(yīng)時間。這大概將更好地捕獲緩存和其他真實世界現(xiàn)象的效應(yīng)。
增量靜態(tài)過程組件不應(yīng)執(zhí)行得太頻繁,因為進行分配變化存在較高的成本。每星期大約一次可能是合理的。準(zhǔn)確的頻率將依賴于該成本與在給定更新網(wǎng)站預(yù)測的情況下性能改進的潛在可能性之間的相對折衷。大概,靜態(tài)過程的運行可以通過檢測某種負載失衡條件來觸發(fā)。
兩個模式下的主要目標(biāo)都是實現(xiàn)如下定義的無向圖G的高連接性節(jié)點對應(yīng)于服務(wù)器。對于不同節(jié)點的每個對j1和j2,假如存在對于其ai1,j1=ai1,j2=1]]>的至少一個網(wǎng)站i1,或者對于其bi1,j1=bi1,j2=1]]>的至少一個網(wǎng)站i1,則在j1與j2之間存在一條弧。這些條件相似于有向圖H的定義中的條件(7)和(10)。由于在任何均衡良好的網(wǎng)絡(luò)場中一般都將滿足條件(8)、(9)和(11),因此認為G用作H的有效替代物。還注意,條件(7)和(10)在本質(zhì)上是靜態(tài)的,而條件(8)、(9)和(11)在本質(zhì)上是動態(tài)的。這是為什么G更適于靜態(tài)過程組件的原因。
圖7示出上述例子的圖G。注意該圖類似于圖6所示的有向圖H。然而,在服務(wù)器C1與P3之間,在圖7中存在一條弧,而圖6在任何方向上都沒有對等的有向弧。并且圖6中的若干其他有向弧如從服務(wù)器P4到P3的有向弧沒有相反方向的有向弧與之匹配。注意,在圖7中,兩個群集服務(wù)器之間的弧以實線表示,兩個分區(qū)服務(wù)器之間的弧以點虛線表示,而群集服務(wù)器與分區(qū)服務(wù)器之間的弧以短劃虛線表示。
將要試圖優(yōu)化的目標(biāo)函數(shù)是在本發(fā)明中視作黑盒的目標(biāo)過程組件本身的目標(biāo)函數(shù)。在此的基本原理是該量度標(biāo)準(zhǔn)即有效平均響應(yīng)時間顯然比其他兩個圖論替代物(直徑或平均距離)更直接適合,并且在計算上也沒有顯著更高的計算成本。
所采用的元標(biāo)記法是代字號(~)將引用靜態(tài)過程問題公式表述。
將通過如下創(chuàng)建將要描述(在某種意義上是優(yōu)選的)站點到服務(wù)器分配的空間的新矩陣 來進行A~=(a~i,j)]]>將再次為大小M×N的{0,1}矩陣。在每個網(wǎng)站都存在公共和私有通信的典型條件下,將以下面方式將 轉(zhuǎn)換成 和 ai,j=a~i,j---(22)]]> 這作出以下隱式假設(shè)對于其行總和Σi=1Ma~i,j=1]]>的任何服務(wù)器j是具有一個網(wǎng)站的公共和私有通信的分區(qū)服務(wù)器,并且所有其他服務(wù)器是具有多個公共網(wǎng)站通信的服務(wù)器。注意,不是分配矩陣A和B的所有可能對都能被認為是從某矩陣 轉(zhuǎn)換出的。然而,不能從某矩陣 轉(zhuǎn)換出的矩陣A和B對是較不可取的。靜態(tài)過程組件將不選擇它們。
必須進行微小的調(diào)整來處理特殊情況。如果對于網(wǎng)站i只存在私有通信,則將要求每當(dāng)a~i,j=1]]>時,對于i′≠i,a~i′,j=0.]]>這使得j是網(wǎng)站i的分區(qū)服務(wù)器。設(shè)置ai,j=0和bi,j=1。如果對于網(wǎng)站i只存在公共通信,則即使Σi=1Ma~i,j=1,]]>分配給那個網(wǎng)站的任何服務(wù)器j也都可以正式認為是公開的。從而設(shè)置ai,j=a~i,j]]>和bi,j=0。
還將需要修改每個服務(wù)器j的響應(yīng)時間函數(shù)Rj,從而處理那個服務(wù)器上的負載超過其負載限值Lj的情況。該不可行性至少在靜態(tài)過程組件過程的早期階段可能發(fā)生,并且需要通過以大的目標(biāo)函數(shù)成本強制可行性來處理它們。從而考慮非常大的數(shù)Q,并且設(shè)對于k≤Lj,R~j(k)=Rj(k),]]>但是R~j(Lj+1)=R~j(Lj)+Q,]]>R~j(Lj+2)=R~j(Lj+1)+2Q]]>等等。對于k>0,一般遞歸式定義R~j(Lj+k)=R~j(Lj+k-1)+kQ---(24)]]>注意, 保持凸特性和遞增特性。還將最大容許負載重新定義為L~j=∞.]]>對于網(wǎng)站i,設(shè) 和 分別表示預(yù)測公共和私有負載。將基于對于每個網(wǎng)站都存在公共和私有通信的情況來闡述,但是在其他情況下,本領(lǐng)域的技術(shù)人員可以很快地確定適當(dāng)?shù)男薷摹?br> 在不損失一般性的情況下,假設(shè)站點按照增大的預(yù)測總負載 來重索引。還將假設(shè)服務(wù)器按照增高的性能來重索引。例如,這可以通過它們的原始最大容許負載Lj來確定。
初始分配方法的第一步驟是在可能的程度內(nèi)順序匹配站點與服務(wù)器??赡艽嬖趶哪承┓?wù)器限制某些站點的可行性約束條件,并且必須考慮這些約束條件。從而,如圖9的步驟305到335所示依次從網(wǎng)站i=1到M循環(huán),在步驟325,設(shè)置a~i,j1=1,]]>其中,j是可行但當(dāng)前未分配服務(wù)器的索引,并且在初始化時,對于所有其他j,設(shè)置a~i,j=0.]]>有可能但大概又不太可能的是,對于所有站點都將不存在可能的可行分配。這可能由于約束條件而發(fā)生,并且它可能由于M>N而發(fā)生。在這種情況下,初始分配方法已失敗。否則,此刻存在M個分區(qū)服務(wù)器,并且其余N-M個服務(wù)器空閑。
評估該初始解的目標(biāo)函數(shù),該函數(shù)恰好為Σi=1MR~j1(c~i+d~i)---(25)]]>初始解現(xiàn)在將通過實現(xiàn)所謂的鄰域擴展試探法來修改。該試探法采用度量Δ來測量兩個可能的站點到服務(wù)器分配之間的距離,馬上將對此進行描述。簡要地,鄰域擴展試探法是試圖避免陷入局部極小值同時實現(xiàn)較低計算成本的迭代改進過程。假定可行解搜索空間中目前的預(yù)定義度量Δ以及如上所述的現(xiàn)有初始可行解,該方法分階段進行。在每個階段的開頭,存在可以在該階段內(nèi)修改的所謂當(dāng)前解。在第一階段的開頭,當(dāng)前解是初始解。每個階段連續(xù)搜索當(dāng)前解周圍距離1、2等的鄰域(當(dāng)前解周圍距離k的鄰域是與當(dāng)前解的距離小于或等于k的所有可行分配集。當(dāng)前解周圍距離k的環(huán)是與當(dāng)前解的距離等于k的所有可行分配集,它是距離k的鄰域減去距離k-1的鄰域)。如果在當(dāng)前解周圍距離1的鄰域內(nèi)可以發(fā)現(xiàn)目標(biāo)函數(shù)改進,則該試探法選擇最佳該改進,將它重新標(biāo)注為當(dāng)前解,并且通過開始下一階段來迭代過程。如果在距離1的鄰域內(nèi)不能發(fā)現(xiàn)改進,則該試探法改為考慮距離2的環(huán)。再次存在兩種可能性如果在此存在改進,則選擇最佳該改進作為當(dāng)前解,并且過程開始下一階段。如果否,則過程考慮距離3的環(huán)等等,直到固定距離限值,比方說K。如果在第K環(huán)內(nèi)仍未發(fā)現(xiàn)任何目標(biāo)函數(shù)改進,則該過程以等于當(dāng)前解的最終解終止。各環(huán)的檢查發(fā)生于圖9的步驟360、380和385。在步驟370,檢查改進。
圖8示出該過程。初始階段開頭的當(dāng)前解位于第一鄰域集即距離1的中心400。該試探法順序搜索第一鄰域和隨后環(huán),直到發(fā)現(xiàn)改進。在本圖中,改進僅發(fā)生于第K環(huán)即距離K。然后,該試探法將當(dāng)前解重新設(shè)置為在由新中心410表示的在該搜索中所發(fā)現(xiàn)的最佳改進,并且開始第二階段。本圖示出該解的鄰域。此時在第三環(huán)內(nèi)發(fā)現(xiàn)改進。此時開始第三階段,但是在本圖中未示出。如果在第一階段第k環(huán)都不能產(chǎn)生改進,則初始解將為最終解。
現(xiàn)在定義距離量度Δ。設(shè)A~1=(a~i,j1)]]>和A~2=(a~i,j2)]]>是兩個該分配,并且定義Δ(A~1,A~2)=Σi=1MΣj=1N|a~i,j1-a~i,j2|---(26)]]>在此的意圖是簡單的如果例如通過將單個網(wǎng)站加到服務(wù)器之一或者從中將其減去來將分配 修改成新分配 則獲得Δ(A~1,A~2)=1.]]>將網(wǎng)站從舊服務(wù)器移到新服務(wù)器(先前未分配有該網(wǎng)站)在圖8中具有距離2。從服務(wù)器減去網(wǎng)站同時將不同網(wǎng)站加到那個服務(wù)器也具有距離2。交換不同服務(wù)器上的不同站點具有距離4等等。
對于給定解 及其轉(zhuǎn)換分配矩陣 和 則改進測試涉及求解在以下約束條件下最小化
Σj=1NR~j(Σi=1M(x~i,j+y~i,j))---(27)]]>的目標(biāo)過程組件問題,其中這些約束條件為Σj=1Nx~i,j=c~i---(28)]]>如果ai,j=0則x~i,j=0---(29)]]>Σj=1Ny~i,j=d~i---(30)]]>以及如果bi,j=0則y~i,j=0---(31)]]>當(dāng)然,涉及L~j=∞]]>的約束條件是無意義的。但是在給定超過限值Lj的負載的成本的情況下,將預(yù)期在鄰域擴展試探法中在非常少的階段之后獲得對于每個服務(wù)器j滿足Σi=1M(x~i,j+y~i,j)∈{0,...,Lj}---(32)]]>的解。從而從所有角度都可行的分配應(yīng)該可以迅速地實現(xiàn)。實際上,該過程的前幾個階段將典型地將高量站點分配給當(dāng)前未用的服務(wù)器,然后該方法將開始將分區(qū)服務(wù)器變成群集服務(wù)器,典型地首先改變較高性能服務(wù)器的狀態(tài)。
增量過程將周期性地運行,可能是每星期一次,以在存在變化預(yù)測等的情況下保持良好的網(wǎng)站到服務(wù)器分配。幸運的是,它使用實質(zhì)上相同的方法。
當(dāng)然,初始解是來自最后一次靜態(tài)過程組件運行的當(dāng)前解,并且通過上述鄰域擴展法來修改它。僅有的改變是采用如果初始解和當(dāng)前解之間的距離超過某用戶定義的閾值T則停止的附加停止標(biāo)準(zhǔn)。這樣的原因是實現(xiàn)分配改變實在是昂貴的,并且不希望輕率地允許靜態(tài)過程組件運行的連續(xù)實例之間的不同解。
參照圖9,示出靜態(tài)過程的詳細實施例。在步驟300開始,將網(wǎng)站i初始化為1。在步驟305,將服務(wù)器j初始化為1。在步驟310,判定服務(wù)器j是否適于網(wǎng)站i。如果是,則進入步驟320,其中,判定服務(wù)器j是否是當(dāng)前未分配的。如果它是當(dāng)前未分配的,則在步驟325分配它,并且在步驟330增大網(wǎng)站i。在步驟335,判定i是否小于或等于站點的總數(shù)M。如果是,則返回到步驟305。如果步驟310或320中的測試失敗,則進入步驟340,其中,增大服務(wù)器j。在步驟345,判定j是否小于或等于服務(wù)器的總數(shù)N。如果是,則返回到步驟310。如果否,則在步驟350以非可行解停止?,F(xiàn)在返回到在步驟335站點已被用盡的情況,進入步驟355,開始該過程的鄰域擴展組件。估計由方程(25)給出的該解的值R。在步驟360,設(shè)置k=1。在步驟365,搜索第k環(huán)以估計最佳可能解Rk。在步驟370,與最佳當(dāng)前解R進行比較來評估Rk。如果新值更好,則在步驟375使其為最佳解,并且返回到步驟360。如果新值不更好,則在步驟380增大k。在步驟385,判定所有環(huán)k是否已被用盡。如果它們尚未用盡,則返回到步驟365。否則在步驟390以最終分配解停止。
本發(fā)明可以容易地配置成例如通過在可由能夠執(zhí)行指令的機器如計算機讀取的存儲介質(zhì)上有形地實施指令程序來自動化。
還應(yīng)該理解,術(shù)語“網(wǎng)站”無需將本發(fā)明限定于在萬維網(wǎng)上與超文本標(biāo)記語言(HTML)文檔一起使用,而是應(yīng)解釋為包括能夠接收客戶請求、輸出結(jié)果并且與例如局域網(wǎng)等上的服務(wù)器通信的任何用戶網(wǎng)絡(luò)接口。
應(yīng)該理解,除非明確表示,否則在此所公開的所有物理量不應(yīng)解釋為準(zhǔn)確地等于所公開的量,而是大約等于所公開的量。此外,僅僅缺少諸如“大約”等的限定詞不應(yīng)解釋為明確表示任何這樣公開的物理量是準(zhǔn)確量,而不管是否對于在此公開的任何其他物理量使用了這樣的限定詞。
權(quán)利要求
1.一種用于控制具有多個網(wǎng)站和服務(wù)器的網(wǎng)絡(luò)場的方法,所述方法包括將由所述網(wǎng)站接收的客戶請求分類成多個類別,所述類別包括可共享客戶請求和不可共享客戶請求;以使所述服務(wù)器中的任一個都可以處理從所述網(wǎng)站中的不同網(wǎng)站接收的可共享客戶請求的方式傳送所述可共享客戶請求;以及將所述不可共享客戶請求從所述網(wǎng)站中的特定網(wǎng)站僅傳送到所述特定網(wǎng)站所被分配的特定服務(wù)器。
2.如權(quán)利要求1所述的方法,還包括目標(biāo)過程,所述目標(biāo)過程包括在給定所述網(wǎng)站到所述服務(wù)器的分配和當(dāng)前客戶請求負載的情況下,為每個所述客戶請求,從每個所述客戶請求所要分配的所述服務(wù)器中確定最優(yōu)服務(wù)器,從而最小化任何給定時刻的平均客戶響應(yīng)時間。
3.如權(quán)利要求2所述的方法,其中,所述目標(biāo)過程通過在以下約束條件下Σ(xi,j+yi,j)∈{0,...,Lj},]]>Σj=1Nxi,j=ci,]]>如果ai,j=0則xi,j=0,Σj=1Nyi,j=di,]]>以及如果bi,j=0則yi,j=0最小化函數(shù)Σj=1NRj(Σi=1M(xi,j+yi,j))]]>來實現(xiàn),其中,M是網(wǎng)站數(shù),N是服務(wù)器數(shù),Rj是作為服務(wù)器j上的客戶到達速率的函數(shù)的預(yù)期響應(yīng)時間,xi,j是表示可能由服務(wù)器j處理的網(wǎng)站i的可共享請求的假設(shè)數(shù)的決策變量,yi,j是表示可能由服務(wù)器j處理的網(wǎng)站i的不可共享請求的假設(shè)數(shù)的決策變量,Li是服務(wù)器j的最大容許負載,ci是來自網(wǎng)站i的可共享客戶請求的當(dāng)前數(shù),di是來自網(wǎng)站i的不可共享請求的當(dāng)前數(shù),ai,j是表示來自網(wǎng)站i的可共享請求是否可以傳送到服務(wù)器j的索引,并且bi,j是表示來自網(wǎng)站i的不可共享請求是否可以傳送到服務(wù)器j的索引。
4.如權(quán)利要求3所述的方法,還包括創(chuàng)建和維護一個有向圖,所述有向圖包括一個啞節(jié)點和多個服務(wù)器節(jié)點,每個所述服務(wù)器節(jié)點對應(yīng)于所述服務(wù)器之一;指定所述服務(wù)器節(jié)點中表達式Rj(Σi=1M(xi,j+yi,j+1))-Rj(Σi=1M(xi,j+yi,j))]]>最小的一個服務(wù)器節(jié)點為獲勝節(jié)點;以及選擇從所述啞節(jié)點到所述獲勝節(jié)點的最短有向路徑。
5.如任一前面權(quán)利要求所述的方法,還包括靜態(tài)過程,所述靜態(tài)過程包括將所述網(wǎng)站中的特定網(wǎng)站分配給特定所述服務(wù)器以便處理不可共享客戶請求。
6.如權(quán)利要求5所述的方法,其中,所述靜態(tài)過程根據(jù)對來自每個所述網(wǎng)站的可共享和不可共享客戶請求的預(yù)測需求,將所述網(wǎng)站分配給特定服務(wù)器。
7.如權(quán)利要求2至4中的任一項所述的方法,還包括動態(tài)過程,所述動態(tài)過程包括檢查下一個客戶請求;調(diào)用所述目標(biāo)過程從而確定哪個服務(wù)器是當(dāng)前處理所述下一個客戶請求的最優(yōu)服務(wù)器;以及將所述下一個客戶請求調(diào)度到所述最優(yōu)服務(wù)器。
8.如權(quán)利要求7所述的方法,還包括將所述客戶請求接收到隊列中;并且其中,所述動態(tài)過程還包括監(jiān)視所述隊列中的所述客戶請求;監(jiān)視當(dāng)前正在由所述服務(wù)器處理的客戶請求;對于每個第j服務(wù)器通過設(shè)置R·j(z)=Rj(z+Σ(c··i,j+d··i,j))]]>來定義函數(shù)R·j(z);]]>對于每個第j服務(wù)器通過設(shè)置L·j=Lj-Σi=1M(c··i,j+d··i,j)]]>來定義修正容許負載限值 以及利用所述 函數(shù)和修正容許負載限值 來調(diào)用所述目標(biāo)過程,以在以下約束條件下Σi=1M(x·i,j+y·i,j)∈{0,...,L·j},]]>Σj=1Nx·i,j=c·i,]]>如果ai,j=0則x·i,j=0,]]>Σj=1Ny·i,j=d·i,]]>以及如果bi,j=0則y·i,j=0]]>最小化函數(shù)Σj=1NR·j(Σi=1M(x·i,j+y·i,j)),]]>其中, 是表示可能由服務(wù)器j處理的網(wǎng)站i的隊列中可共享請求的假設(shè)數(shù)的決策變量, 是表示可能由服務(wù)器j處理的網(wǎng)站i的不可共享請求的假設(shè)數(shù)的決策變量, 是來自網(wǎng)站i的隊列中可共享客戶請求的當(dāng)前數(shù), 是來自網(wǎng)站i的隊列中不可共享請求的當(dāng)前數(shù), 是當(dāng)前正在服務(wù)器之一中處理的來自網(wǎng)站i的可共享客戶請求的當(dāng)前數(shù),并且 是當(dāng)前正在服務(wù)器之一中處理的來自網(wǎng)站i的不可共享請求的當(dāng)前數(shù)。
9.一種計算機程序,包括可由計算機執(zhí)行的指令以執(zhí)行如權(quán)利要求1至8中的任一項所述的方法。
10.一種網(wǎng)絡(luò)場,具有多個網(wǎng)站和服務(wù)器,并且還包括用于從客戶接收客戶請求的部件;用于處理所述客戶請求以產(chǎn)生響應(yīng)的部件;用于將所述響應(yīng)發(fā)送到所述客戶的部件;用于將所述客戶請求分類成可共享客戶請求和不可共享客戶請求的部件;用于以使所述服務(wù)器中的任一個都可以處理從所述網(wǎng)站中的不同網(wǎng)站接收的可共享客戶請求的方式傳送所述可共享客戶請求的部件;以及用于將所述不可共享客戶請求從所述網(wǎng)站中的特定網(wǎng)站僅傳送到所述特定網(wǎng)站所被分配的特定服務(wù)器的部件。
11.如權(quán)利要求10所述的網(wǎng)絡(luò)場,還包括網(wǎng)絡(luò)調(diào)度器,包括用于執(zhí)行目標(biāo)過程、靜態(tài)過程和動態(tài)過程的部件;所述目標(biāo)過程包括在給定所述網(wǎng)站到所述服務(wù)器的分配和當(dāng)前客戶請求負載的情況下,為每個所述客戶請求,從每個所述客戶請求所要分配的所述服務(wù)器中確定最優(yōu)服務(wù)器,從而最小化任何給定時刻的平均客戶響應(yīng)時間,其中所述共享客戶請求可以分配給任何所述服務(wù)器,并且其中所述不可共享客戶請求根據(jù)所述不可共享客戶請求所發(fā)起的哪個所述網(wǎng)站而僅可以分配給特定服務(wù)器;所述靜態(tài)過程包括將特定所述網(wǎng)站分配給特定所述服務(wù)器;并且所述動態(tài)過程包括檢查下一個客戶請求;調(diào)用所述目標(biāo)過程從而確定哪個服務(wù)器是當(dāng)前處理所述下一個客戶請求的最優(yōu)服務(wù)器;以及將所述下一個客戶請求調(diào)度到所述最優(yōu)服務(wù)器。
全文摘要
公開了一種用于控制具有多個網(wǎng)站和服務(wù)器的網(wǎng)絡(luò)場的方法,該方法包括將從所述網(wǎng)站接收的客戶請求分類成多個類別,所述類別包括可共享客戶請求和不可共享客戶請求;以使所述服務(wù)器中的任一個都可以處理從不同所述網(wǎng)站接收的可共享客戶請求的方式傳送所述可共享客戶請求;以及將所述不可共享客戶請求從特定所述網(wǎng)站僅傳送到所述特定網(wǎng)站所被分配的特定服務(wù)器。
文檔編號G06F13/00GK1706165SQ03801496
公開日2005年12月7日 申請日期2003年1月17日 優(yōu)先權(quán)日2002年1月24日
發(fā)明者喬爾·沃爾夫, 菲利普·于 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
江油市| 全椒县| 花莲县| 特克斯县| 中江县| 兴海县| 长春市| 石门县| 旺苍县| 来凤县| 泸水县| 合川市| 乐业县| 钟祥市| 安图县| 闻喜县| 桑日县| 永登县| 慈利县| 衡东县| 赞皇县| 北安市| 芜湖市| 平邑县| 永平县| 若尔盖县| 宜阳县| 柳州市| 西峡县| 尤溪县| 财经| 湛江市| 扎赉特旗| 琼海市| 屏南县| 句容市| 麻城市| 鹤岗市| 新邵县| 昔阳县| 大庆市|