亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

保持服務(wù)器計(jì)算機(jī)的各處理器上的負(fù)載平衡的制作方法

文檔序號(hào):6411183閱讀:242來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):保持服務(wù)器計(jì)算機(jī)的各處理器上的負(fù)載平衡的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及可連接到網(wǎng)絡(luò)上的服務(wù)器計(jì)算機(jī),服務(wù)器計(jì)算機(jī)用來(lái)為一個(gè)或多個(gè)同樣連接到網(wǎng)絡(luò)上的客戶(hù)計(jì)算機(jī)提供服務(wù)。特別是本發(fā)明涉及具有多個(gè)處理器這種類(lèi)型的服務(wù)器計(jì)算機(jī),多個(gè)服務(wù)器被用來(lái)提供服務(wù);還涉及到平衡這些處理器上的負(fù)載的問(wèn)題,這些問(wèn)題是由客戶(hù)計(jì)算機(jī)上的請(qǐng)求產(chǎn)生的。
一般對(duì)于網(wǎng)絡(luò)來(lái)說(shuō),對(duì)高性能的服務(wù)器計(jì)算機(jī)的要求在不斷增加,特別是Internet網(wǎng)(國(guó)際互聯(lián)網(wǎng))。Internet是一個(gè)巨大的網(wǎng)絡(luò),由許多更小的網(wǎng)絡(luò)構(gòu)成,這些更小的網(wǎng)絡(luò)通過(guò)利用諸如網(wǎng)橋和網(wǎng)關(guān)之類(lèi)的裝置交互連接起來(lái)。理論上,任何連接到Internet網(wǎng)上的計(jì)算機(jī)都能與連接到Internet上的任何其它計(jì)算機(jī)交換信息。然而,由于計(jì)算機(jī)常包含敏感信息,所以許多計(jì)算機(jī)和網(wǎng)絡(luò)都具有安全方案,以在不同程度上限制計(jì)算機(jī)之間的信息交換。
由于Internet代表了一個(gè)功能非常強(qiáng)大的結(jié)構(gòu),通過(guò)這個(gè)結(jié)構(gòu)來(lái)傳播信息,所以許多服務(wù)已經(jīng)開(kāi)展起來(lái),利用Internet把信息從一個(gè)計(jì)算機(jī)傳送到另一個(gè)計(jì)算機(jī)。這些服務(wù)例子有FTP,News,Gopher,和WorldWide Web(萬(wàn)維網(wǎng),此后將用WWW表示)。
WWW是這些服務(wù)中較著名、擴(kuò)展最快的一個(gè)。由Internet支持的WWW可以組合一些諸如聲音,影像和文本之類(lèi)的技術(shù),且可用請(qǐng)求式的交互方式把它們呈現(xiàn)給連接在Internet上的任何客戶(hù)。實(shí)際上,WWW允許任何用戶(hù)用一臺(tái)配有合適軟件和硬件配置的計(jì)算機(jī)連接到Internet上,以檢索在Internet上任何地方都有效的任一超媒體文檔。超媒體文檔作為一個(gè)表征信息塊的文件被接收,文件中是一些對(duì)其它文檔(或信息塊)的超連接,例如,這些文檔(或信息塊)可以包含文本,聲音,圖像或影片。
當(dāng)收到超媒體文檔的計(jì)算機(jī)構(gòu)造出用于顯示給用戶(hù)的文檔時(shí),就可以使用這些超連接中的一部分,以便收到為完成顯示所必需的其它文件。例如,超連接可被用來(lái)訪問(wèn)圖像文件,圖像文件被顯示為文檔的一部分。一旦文檔被客戶(hù)計(jì)算機(jī)構(gòu)造并被顯示給用戶(hù),用戶(hù)可以有機(jī)會(huì)選擇超連接,例如,通過(guò)用鼠標(biāo)或其它輸入設(shè)備來(lái)選擇屏幕上的一個(gè)單詞或圖像,以便請(qǐng)求被那個(gè)超連接引用的文檔。
由于越來(lái)越多的人開(kāi)始使用諸如WWW之類(lèi)的Internet服務(wù),所以對(duì)服務(wù)器計(jì)算機(jī)的要求也增加了。為了適應(yīng)這些要求,并行計(jì)算機(jī)已經(jīng)開(kāi)始被用作服務(wù)器,這些計(jì)算機(jī)具有多個(gè)被用來(lái)提供服務(wù)的處理器。通過(guò)使用多個(gè)處理器,可以處理大量的服務(wù)器請(qǐng)求。這種并行計(jì)算機(jī)的一個(gè)例子是IBM RISC System/6000 SP機(jī)器(IBM和RISC System/6000是國(guó)際商業(yè)機(jī)器公司的注冊(cè)商標(biāo))。
然而,在使用這些并行服務(wù)器中出現(xiàn)的一個(gè)問(wèn)題是,如何平衡隨之而來(lái)的通過(guò)各處理器的客戶(hù)交通問(wèn)題,這些處理器在并行系統(tǒng)中合作,以便為文檔(如WWW中的Web網(wǎng)頁(yè))提供服務(wù)并運(yùn)行基于服務(wù)的應(yīng)用程序。在現(xiàn)有的負(fù)載平衡機(jī)制情況下,可能多次出現(xiàn)如下情況一個(gè)特定的處理器變成在一段時(shí)間內(nèi)大量交通的焦點(diǎn)。出現(xiàn)這種情況的術(shù)語(yǔ)是處理器被“烘烤”。在這種情況下,處理器被客戶(hù)的請(qǐng)求所淹沒(méi)并導(dǎo)致假停機(jī),需花費(fèi)幾分鐘時(shí)間才處理一個(gè)請(qǐng)求。
因而,本發(fā)明的目的在于提供一種機(jī)制以緩解各處理器的不平衡的負(fù)載,從而幫助避免這種烘烤效應(yīng)。
因此本發(fā)明提供了一種服務(wù)器計(jì)算機(jī),它可連接到網(wǎng)絡(luò),并具有多個(gè)處理器來(lái)為一個(gè)或多個(gè)連接到網(wǎng)絡(luò)上的客戶(hù)計(jì)算機(jī)提供服務(wù)。這種服務(wù)包括向客戶(hù)計(jì)算機(jī)提供信息塊,而處理器可以訪問(wèn)數(shù)據(jù)存儲(chǔ)器,在數(shù)據(jù)存儲(chǔ)器中存有信息塊的數(shù)據(jù)。服務(wù)器計(jì)算機(jī)包括塊檢索裝置,它被設(shè)置在所述的多個(gè)處理器中的每一個(gè)處理器上,并被用來(lái)響應(yīng)來(lái)自一個(gè)客戶(hù)計(jì)算機(jī)的對(duì)來(lái)自一個(gè)處理器的一個(gè)特殊信息塊的請(qǐng)求,從數(shù)據(jù)存儲(chǔ)器中檢索數(shù)據(jù),以便構(gòu)成一個(gè)表征被請(qǐng)求的信息塊的文件,該文件包括對(duì)可由客戶(hù)請(qǐng)求的隨后信息塊的引用;負(fù)載確定裝置,它用來(lái)為處理器定期確定活動(dòng)數(shù)據(jù),數(shù)據(jù)包括在被所有的服務(wù)器處理器所保持的負(fù)載分配記錄中;決策裝置,對(duì)于由塊檢索裝置構(gòu)成的文件中隨后信息塊的每次引用,決策裝置被用來(lái)根據(jù)負(fù)載分配記錄確定應(yīng)采用哪個(gè)處理器為客戶(hù)計(jì)算機(jī)提出的對(duì)這個(gè)隨后信息塊的請(qǐng)求提供服務(wù),由塊檢索裝置構(gòu)成的文件中包括這個(gè)處理器的地址;以及傳遞裝置,用來(lái)向客戶(hù)計(jì)算機(jī)傳送文件。
通過(guò)使用本發(fā)明的方法,文件內(nèi)容在傳送給客戶(hù)之前被動(dòng)態(tài)轉(zhuǎn)換,從而可包括處理器地址,從這些地址中任何隨后信息塊都可被檢索。至于決定采用哪個(gè)處理器為隨后信息塊請(qǐng)求提供服務(wù),取決于服務(wù)器處理器的負(fù)載分配記錄。采用這種方法,可更有效地實(shí)現(xiàn)處理器間的負(fù)載平衡,因而諸如一個(gè)特定的處理器的“烘烤”之類(lèi)的問(wèn)題可被緩解。
在最佳實(shí)施方式中,負(fù)載確定裝置被設(shè)置在所述的多個(gè)處理器中的每一個(gè)處理器上,以便為每個(gè)處理器確定活動(dòng)數(shù)據(jù)。此外,決策裝置也被優(yōu)先設(shè)置在所述的多個(gè)處理器中的每一個(gè)處理器上。然而,作為最佳實(shí)施方式的一種替換方案,一個(gè)或多個(gè)負(fù)載確定裝置,決策裝置和傳遞裝置可被設(shè)置在多個(gè)處理器中特殊的一個(gè)處理器上,或設(shè)置在專(zhuān)用于執(zhí)行這些單元功能的完全獨(dú)立的處理器上。因此,一個(gè)處理器可被專(zhuān)用于執(zhí)行決策裝置的功能,并且每個(gè)由塊檢索裝置構(gòu)成的文件可被決策裝置送到這個(gè)處理器上以便進(jìn)行處理。
在最佳實(shí)施方式中,當(dāng)構(gòu)成由文件表征的信息塊時(shí),如果多個(gè)隨后信息塊被客戶(hù)計(jì)算機(jī)請(qǐng)求,那么決策裝置被用來(lái)確定采用哪個(gè)特殊處理器將為多少個(gè)隨后信息塊的申請(qǐng)?zhí)峁┓?wù),以便使得被負(fù)載分配記錄表示的處理器上的負(fù)載越多,處理器將要提供給請(qǐng)求服務(wù)的隨后信息塊的數(shù)量越少。具有代表性的是,當(dāng)構(gòu)成信息塊時(shí),一個(gè)或多個(gè)隨后信息塊將會(huì)是被客戶(hù)計(jì)算機(jī)請(qǐng)求的圖像文件。
在最佳實(shí)施方式中,網(wǎng)絡(luò)是Internet網(wǎng),服務(wù)是萬(wàn)維網(wǎng)服務(wù),信息塊是Web網(wǎng)頁(yè)。然而,很顯然本發(fā)明可適用于任何網(wǎng)絡(luò)和服務(wù),其中,信息塊被提供給客戶(hù),信息塊包括對(duì)客戶(hù)可以請(qǐng)求的隨后信息塊的引用,并且將需要由服務(wù)器提供服務(wù)。
如果服務(wù)是萬(wàn)維網(wǎng)服務(wù),那么隨后信息塊的地址最好采用地址串的形式,隨后信息塊被決策裝置包括在文件中,地址串既包括一個(gè)對(duì)于這個(gè)信息塊的標(biāo)識(shí)符,又包括一個(gè)對(duì)于處理器的唯一的標(biāo)識(shí)符,這個(gè)處理器已經(jīng)被決策裝置確定,并且將為這個(gè)信息塊的請(qǐng)求提供服務(wù)。
從另一個(gè)方面來(lái)看,本發(fā)明提供了一種方法,可操縱連接到網(wǎng)絡(luò)上的服務(wù)器計(jì)算機(jī),并具有多個(gè)處理器被用來(lái)為一個(gè)或多個(gè)連接到網(wǎng)絡(luò)上的客戶(hù)計(jì)算機(jī)提供服務(wù),該服務(wù)包括向客戶(hù)計(jì)算機(jī)提供信息塊,處理器可以訪問(wèn)數(shù)據(jù)存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器中存有信息塊的數(shù)據(jù)。方法包括以下步驟(a)響應(yīng)來(lái)自客戶(hù)計(jì)算機(jī)的從一個(gè)處理器上提出的對(duì)特殊信息塊的請(qǐng)求,利用這個(gè)處理器從數(shù)據(jù)存儲(chǔ)器中檢索數(shù)據(jù),以便構(gòu)成表征被請(qǐng)求信息塊的文件,此文件包括對(duì)可被客戶(hù)請(qǐng)求的隨后信息塊的引用;(b)利用負(fù)載確定裝置為處理器定期確定活動(dòng)數(shù)據(jù),活動(dòng)數(shù)據(jù)包括在被所有的服務(wù)器處理器保持的負(fù)載分配記錄中;(c)對(duì)于在步驟(a)中被構(gòu)造的文件中一個(gè)隨后信息塊的每次引用,根據(jù)負(fù)載分配記錄確定應(yīng)當(dāng)采用哪個(gè)處理器為這個(gè)隨后信息塊提供由客戶(hù)計(jì)算機(jī)請(qǐng)求的服務(wù),并且在步驟(a)構(gòu)造的文件中包括此處理器的地址;(d)傳送文件到客戶(hù)計(jì)算機(jī)。
僅通過(guò)例子來(lái)進(jìn)一步描述本發(fā)明,參照如附圖所示的最佳實(shí)施方式,其中

圖1是根據(jù)本發(fā)明的最佳實(shí)施方式說(shuō)明的服務(wù)器的示意方塊圖;圖2是一個(gè)流程圖,說(shuō)明了在最佳實(shí)施方式中一收到客戶(hù)請(qǐng)求就由服務(wù)器的處理器立即執(zhí)行的處理過(guò)程;圖3說(shuō)明了負(fù)載分配記錄如何被用來(lái)確定將采用哪些處理器為隨后的信息塊請(qǐng)求提供服務(wù)。
在本發(fā)明的最佳實(shí)施方式中,將考慮在Internet網(wǎng)上提供的WWW服務(wù),并描述一種機(jī)制,此機(jī)制用來(lái)提供通過(guò)多個(gè)處理器的輔助負(fù)載平衡,多個(gè)處理器在并行Web服務(wù)器中協(xié)作。
首先回顧WWW結(jié)構(gòu),此結(jié)構(gòu)基于通用資源定位器(URL),可以被認(rèn)為在WWW上規(guī)定了一個(gè)特殊的頁(yè)或文件。URL既表示服務(wù)器機(jī)器,又表示在這個(gè)機(jī)器上的特殊的文件或頁(yè)。例如,一個(gè)連接可以是“http//www.ibm.com/example.html”?!癶ttp”表示正在使用萬(wàn)維網(wǎng),“www.ibm.com”是要請(qǐng)求該頁(yè)的網(wǎng)絡(luò)上的Web服務(wù)器的Internet名稱(chēng),“example.html”是希望收到的頁(yè)名。
客戶(hù)計(jì)算機(jī)利用一般被稱(chēng)作瀏覽器的軟件,來(lái)為用戶(hù)提供簡(jiǎn)單的GUI,并允許用戶(hù)通過(guò)WWW航行到不同的URL。有時(shí)用戶(hù)采用名稱(chēng)來(lái)規(guī)定一個(gè)特殊的URL,但通常用戶(hù)借助頁(yè)內(nèi)的引用從一個(gè)URL跳到另一個(gè)URL(所謂的“超連接”)。因而,頁(yè)上特殊的單詞或符號(hào)可與另一個(gè)URL相關(guān)聯(lián),所以,單詞或符號(hào)的選擇,例如在相關(guān)位置點(diǎn)按鼠標(biāo),可使客戶(hù)計(jì)算機(jī)從被選擇的URL上檢索頁(yè)和顯示頁(yè)。此新頁(yè)可被放置在與首頁(yè)完全不同的服務(wù)器上。映射到另一個(gè)URL上的一個(gè)單詞或符號(hào)有時(shí)稱(chēng)之為“熱鍵”(或者與熱鍵相類(lèi)似的單元)。僅在一頁(yè)就可能有許多熱鍵或超連接。
可以有許多頁(yè)或URL駐留在一個(gè)單獨(dú)的服務(wù)器上。如果客戶(hù)計(jì)算機(jī)上的一個(gè)用戶(hù)選擇了一個(gè)在特殊服務(wù)器計(jì)算機(jī)上的URL,那么服務(wù)器計(jì)算機(jī)對(duì)這個(gè)頁(yè)執(zhí)行一個(gè)特別的操作。在某些情況下,這可能導(dǎo)致服務(wù)器計(jì)算機(jī)啟動(dòng)一個(gè)應(yīng)用程序。但在大多數(shù)情況下,服務(wù)器計(jì)算機(jī)從存儲(chǔ)頁(yè)的數(shù)據(jù)庫(kù)中檢索此請(qǐng)求頁(yè),并且這會(huì)經(jīng)由Internet傳回到客戶(hù)計(jì)算機(jī)以顯示給用戶(hù)。
這些頁(yè)根據(jù)被稱(chēng)為HTML的標(biāo)準(zhǔn)格式格式化。一個(gè)典型的Web網(wǎng)頁(yè)包括某文本內(nèi)容,一些被嵌入的圖像(圖形),以及許多和其它頁(yè)的連接。如果觀看該網(wǎng)頁(yè)的人需要關(guān)于某主題的更多信息,則可點(diǎn)按所說(shuō)其它頁(yè)。圖像本身就是Web“網(wǎng)頁(yè)”,當(dāng)從服務(wù)器計(jì)算機(jī)上下裝網(wǎng)頁(yè)時(shí),Web瀏覽器就代表客戶(hù)自動(dòng)從服務(wù)器計(jì)算機(jī)上對(duì)該Web“網(wǎng)頁(yè)”提出請(qǐng)求。這些圖像在服務(wù)器上被典型地存儲(chǔ)為分散的圖形文件,例如,以標(biāo)準(zhǔn)的“.gif”或“jpeg”格式存儲(chǔ)。HTML文本包括對(duì)這些圖形文件的引用,這提請(qǐng)客戶(hù)也從服務(wù)器上檢索被規(guī)定的文件,從而允許客戶(hù)既可顯示HTML文本又可顯示相關(guān)聯(lián)的圖像。頁(yè)的隨后連接可以連到同一服務(wù)器上的其它頁(yè)上用來(lái)作為由來(lái)的基本頁(yè),或者可以連到Internet上的任何其它的Web服務(wù)器上。為了說(shuō)明本發(fā)明的最佳實(shí)施方式,對(duì)在相同的服務(wù)器上作為基本頁(yè)的圖形文件和隨后連接很感興趣。以下將這兩個(gè)項(xiàng)目都稱(chēng)作被引用的Web網(wǎng)頁(yè)。
有大量的商用Web瀏覽器軟件可用于客戶(hù)計(jì)算機(jī),例如,IBM公司的Web Explorer,NCSA的Mosaic。所有這些瀏覽器都支持HTML和其它的WWW標(biāo)準(zhǔn)格式,并能以這些格式正確地顯示文件或輸出文件。同樣,在不同URL間通行的機(jī)制也能被這些程序支持和執(zhí)行。關(guān)于萬(wàn)維網(wǎng)的進(jìn)一步信息可在由Andrew Ford著的“Spinning the Web”(International Thomson出版社,倫敦1995)和由John December與Neil Randall合著的“The World Wide Web Unleashed”(SAMS出版社,Indianapolis 1994)中找到。
在本發(fā)明的最佳實(shí)施方式中,采用與并行服務(wù)器相關(guān)聯(lián)的負(fù)載平衡技術(shù),使得若干服務(wù)器處理器共享同一個(gè)Internet名稱(chēng)。例如,參照?qǐng)D1,并行Web服務(wù)器10,www.ibm.com,可以由處理器20,30,40(例如被稱(chēng)作www1.ibm.com,www2.ibm.com和www3.ibm.com)來(lái)提供服務(wù)。負(fù)載平衡軟件為www.ibm.com安排一個(gè)請(qǐng)求,此請(qǐng)求被發(fā)送到多個(gè)處理器中的一個(gè)處理器上,此處理器構(gòu)成了并行Web服務(wù)器的一部分。一種適宜的負(fù)載平衡技術(shù)在已出版的歐洲專(zhuān)利申請(qǐng)EP-A-0,648,038中被討論,它描述了一種動(dòng)態(tài)負(fù)載平衡技術(shù),這種技術(shù)使并行服務(wù)器上的各處理器(或計(jì)算機(jī))的負(fù)載能夠保持平衡,服務(wù)器由各處理器構(gòu)成。當(dāng)客戶(hù)計(jì)算機(jī)50上的一個(gè)程序希望連接到并行服務(wù)器10中的一個(gè)處理器上時(shí),它和常稱(chēng)作名字服務(wù)器的數(shù)據(jù)處理系統(tǒng)60來(lái)通信,以便為所期望的服務(wù)器獲得網(wǎng)絡(luò)地址。根據(jù)在EP-A-0,648,038中描述的技術(shù),決策邏輯70被提供,用來(lái)定期分析在并行服務(wù)器10中的處理器或計(jì)算機(jī),并且基于某些可配置準(zhǔn)則來(lái)選擇其中的一個(gè)處理器??膳渲脺?zhǔn)則可以被選擇,以便在這些準(zhǔn)則被應(yīng)用時(shí),負(fù)載最輕的處理器被決策邏輯70選擇。而后,這個(gè)處理器的地址與存儲(chǔ)器80中的類(lèi)屬服務(wù)器名稱(chēng)相關(guān)聯(lián),所說(shuō)存儲(chǔ)器80可由名字服務(wù)器60利用。所以,每次一個(gè)客戶(hù)程序用類(lèi)屬服務(wù)器名稱(chēng)來(lái)請(qǐng)求一個(gè)機(jī)器地址,就可給出并行服務(wù)器10中的由決策邏輯70最近選定的處理器地址。因而,如果www.ibm.com是類(lèi)屬名,從客戶(hù)50到名字服務(wù)器60對(duì)于www.ibm.com的Internet地址的請(qǐng)求將會(huì)給客戶(hù)提供三個(gè)處理器20,30,40中的一個(gè)處理器的Internet地址。若想獲得本技術(shù)更多的細(xì)節(jié),請(qǐng)參閱EP-A-0,648,038。
按慣例,反向引用和基本頁(yè)相同的服務(wù)器(常被稱(chēng)作一個(gè)“Web網(wǎng)點(diǎn)”)的隨后連接有可能會(huì)引用和基本頁(yè)的名字相同的Internet名稱(chēng)。例如,在頁(yè)http//www.ibm.com/first page.html中,一個(gè)隨后的連接有可能是到http//www.ibm.com/second page.html。由于客戶(hù)計(jì)算機(jī)已經(jīng)為類(lèi)屬名www.ibm.com的Internet地址詢(xún)問(wèn)了名字服務(wù)器60,通常它將會(huì)再次用完全相同的網(wǎng)址。因而,隨后的請(qǐng)求將會(huì)指向和為原先的請(qǐng)求提供服務(wù)的相同的那個(gè)處理器。由于名字服務(wù)器60不再被咨詢(xún)以分辨類(lèi)屬名www.ibm.com,使用在名字服務(wù)器上的任何負(fù)載平衡技術(shù)將不再被利用。從而,為原先的請(qǐng)求提供服務(wù)的實(shí)際處理器可能會(huì)被對(duì)隨后連接的請(qǐng)求所淹沒(méi),這會(huì)導(dǎo)致前面提到的“烘烤”效應(yīng)。
客戶(hù)計(jì)算機(jī)可以被安排以便能為隨后的請(qǐng)求一直咨詢(xún)名字服務(wù)器60。然而,要想增加名字服務(wù)器的效率,名字服務(wù)器勢(shì)必會(huì)高速緩沖存儲(chǔ)新近的名字請(qǐng)求的一些細(xì)節(jié)。一般,客戶(hù)將不直接與名字服務(wù)器60通信。而它通常會(huì)與它的局部名字服務(wù)器通信,這會(huì)與一系列其它名字服務(wù)器通信,直至請(qǐng)求最終被傳送到名字服務(wù)器60,這就是對(duì)并行Web服務(wù)器10具有“管理權(quán)限”的名字服務(wù)器。而后,由名字服務(wù)器60分辨的Internet網(wǎng)址將通過(guò)所有這些名字服務(wù)器被傳送回去,每個(gè)名字服務(wù)器都可以選擇以高速緩沖存儲(chǔ)www.ibm.com已經(jīng)被分辨的特定的網(wǎng)址。因此,如果對(duì)客戶(hù)進(jìn)行安排,以便它每次需要與www.ibm.com通信時(shí),客戶(hù)計(jì)算機(jī)真的接觸一個(gè)名字服務(wù)器,還將會(huì)收到以前被名字服務(wù)器60分辨過(guò)的地址,因?yàn)槔缇植棵址?wù)器會(huì)判定它已經(jīng)知道這個(gè)名字的Internet網(wǎng)址,從而不需要進(jìn)一步傳送請(qǐng)求。因此,可以看到,名字服務(wù)器60上的負(fù)載平衡技術(shù),當(dāng)對(duì)客戶(hù)為獲得服務(wù)器地址進(jìn)行的第一個(gè)請(qǐng)求有用的時(shí)侯,對(duì)于任何對(duì)相同的類(lèi)屬服務(wù)器名的隨后連接是沒(méi)有用的。
為了克服這個(gè)問(wèn)題,本發(fā)明的最佳實(shí)施方式的并行Web服務(wù)器被提供一種能力,在網(wǎng)頁(yè)被提供服務(wù)時(shí)能夠修改服務(wù)器中的Web網(wǎng)頁(yè)內(nèi)容,并且利用這種能力來(lái)修改隨后連接所引用的處理器名字??紤]圖1實(shí)例,由于www1.ibm.com,www2.ibm.com和www3.ibm.com是在www.ibm.com并行Web服務(wù)器中的所有的服務(wù)器,按其它方式會(huì)引用www.ibm.com的隨后連接可以被改變,以引用一個(gè)特定的處理器,例如www1.ibm.com。這就迫使對(duì)隨后頁(yè)的請(qǐng)求轉(zhuǎn)到一個(gè)特殊的處理器上(這個(gè)特殊處理器在并行Web服務(wù)器中),并且顯然可以被用于所有被引用的Web網(wǎng)頁(yè)。不管這些網(wǎng)頁(yè)是要被嵌入在目前被顯示的網(wǎng)頁(yè)中的圖形圖像,還是連到用戶(hù)可以從被顯示的網(wǎng)頁(yè)中存取的不同Web網(wǎng)頁(yè)的隨后連接。
通過(guò)使用本發(fā)明的最佳實(shí)施方式的技術(shù)來(lái)規(guī)定明確的處理器名(如www1.ibm.com)以代替整個(gè)并行服務(wù)器(www.ibm.com)的類(lèi)屬名,可以對(duì)負(fù)載進(jìn)行一些控制,這些負(fù)載不久將會(huì)找到服務(wù)器的各個(gè)處理器。這種控制使得“烘烤”的可能性降低。
本發(fā)明的最佳實(shí)施方式系統(tǒng)現(xiàn)在將被參照?qǐng)D1詳細(xì)描述。在圖1中,顯示了被用來(lái)要求實(shí)施最佳實(shí)施方式的處理器30的各功能單元。提供WWW服務(wù)的服務(wù)器10的所有其它處理器20,40最好也包括同樣的功能單元,但為簡(jiǎn)單起見(jiàn)圖中省略了這些單元。作為最佳實(shí)施方式的一種選擇方案,除塊檢索裝置外的一個(gè)或多個(gè)功能單元可以被提供在多個(gè)處理器當(dāng)中的一個(gè)特殊的處理器上,或被提供在被專(zhuān)用于執(zhí)行那些單元功能的完全獨(dú)立的處理器上。因此,一個(gè)處理器可被專(zhuān)用于執(zhí)行決策裝置的功能,而被塊檢索裝置檢索過(guò)的每個(gè)Web網(wǎng)頁(yè)可被決策裝置送到這個(gè)處理器進(jìn)行處理。
咨詢(xún)過(guò)名字服務(wù)器60后,如果客戶(hù)計(jì)算機(jī)50被提供有處理器30的Internet網(wǎng)址,那么客戶(hù)計(jì)算機(jī)將會(huì)用它對(duì)網(wǎng)頁(yè)的請(qǐng)求直接與處理器30接觸。塊檢索裝置80將存取在存儲(chǔ)裝置120中的數(shù)據(jù),以便構(gòu)成一個(gè)文件,此文件表征一個(gè)由客戶(hù)50請(qǐng)求的Web網(wǎng)頁(yè)。對(duì)于在此文件中被引用過(guò)的任何Web網(wǎng)頁(yè),決策裝置90將被用來(lái)確定應(yīng)選擇哪個(gè)特定處理器來(lái)處理對(duì)此Web網(wǎng)頁(yè)的隨后的請(qǐng)求,并且此處理器(例如www1.ibm.com)的一個(gè)標(biāo)識(shí)符將被包括在文件中適當(dāng)?shù)奈恢蒙稀?br> 如下面將更詳細(xì)討論的那樣,當(dāng)確定哪個(gè)處理器將要處理一個(gè)隨后請(qǐng)求時(shí),決策裝置90引用負(fù)載分配記錄,所述負(fù)載分配記錄提供關(guān)于在服務(wù)器的所有處理器上的負(fù)載信息。負(fù)載確定裝置100被用來(lái)定期存取處理器30的活動(dòng)信息,并且提供包括在負(fù)載分配記錄中的那些信息。
一旦決策裝置已經(jīng)確定了哪些處理器將處理那些被引用過(guò)的Web網(wǎng)頁(yè),并且信息已被包括在由塊檢索裝置構(gòu)成的文件中,此文件被傳送到傳遞裝置110以便發(fā)送到客戶(hù)計(jì)算機(jī)50的瀏覽器130上。瀏覽器130然后將從文件中構(gòu)成Web網(wǎng)頁(yè)以呈獻(xiàn)給客戶(hù)計(jì)算機(jī)50上的用戶(hù),并且將把對(duì)被引用的Web網(wǎng)頁(yè)的請(qǐng)求直接發(fā)送到在文件中被標(biāo)識(shí)過(guò)的處理器上。
現(xiàn)在將要討論獲得負(fù)載分配記錄的方式。有關(guān)此服務(wù)器的各處理器忙碌程度的統(tǒng)計(jì)數(shù)字由并行Web服務(wù)器來(lái)搜集,然后可被整理以產(chǎn)生一個(gè)“負(fù)載分配記錄”。很顯然,這可用多種方式來(lái)完成。例如,每個(gè)處理器可包括一個(gè)定期確定此處理器忙碌程度的例行程序,然后發(fā)送此信息到包含在負(fù)載分配記錄中的某個(gè)中心位置。負(fù)載分配記錄可被保存在數(shù)據(jù)存儲(chǔ)裝置120中以便被每個(gè)處理器存取,或者可代之以保存在服務(wù)器中,作為可以被所有處理器存取的共享存儲(chǔ)器的一部分,這樣作的前提條件是服務(wù)器的結(jié)構(gòu)支持這樣的共享存儲(chǔ)器裝置。另一方面,一系列信息可通過(guò)通信網(wǎng)絡(luò)傳送到每個(gè)處理器,以便每個(gè)處理器定期估價(jià)它忙碌的程度,而后傳送此信息到并行Web服務(wù)器中的所有其它處理器上。然后,每個(gè)處理器把負(fù)載平衡記錄保存在它本身的局部存儲(chǔ)器中,并且無(wú)論何時(shí)當(dāng)它從其它處理器中一收到新的負(fù)載記錄就更新它。
然后,各處理器20,30,40的決策裝置90利用這個(gè)負(fù)載分配記錄來(lái)動(dòng)態(tài)修改隨后連接和圖像的Internet網(wǎng)名,這些網(wǎng)名在決策裝置隨后提供服務(wù)的Web網(wǎng)頁(yè)中被引用。負(fù)載分配記錄的分布在一個(gè)可由Web服務(wù)器管理員配置的頻率下被定期更新。進(jìn)行這種內(nèi)容修改的效果是,正在開(kāi)始變得忙碌的處理器將會(huì)相應(yīng)地具有較少的指向它的隨后請(qǐng)求,因而當(dāng)處理器被“烘烤”時(shí),可避開(kāi)嚴(yán)重的性能影響。當(dāng)處理器恢復(fù)原狀時(shí),它將會(huì)有較多的請(qǐng)求指向它,所以監(jiān)測(cè)和負(fù)載調(diào)諧循環(huán)將會(huì)繼續(xù)。
現(xiàn)在參照?qǐng)D2描述,當(dāng)收到客戶(hù)的請(qǐng)求時(shí),被根據(jù)本發(fā)明的最佳實(shí)施方式的處理器執(zhí)行的處理過(guò)程。在步驟200,處理器等待一個(gè)客戶(hù)請(qǐng)求。在步驟210,收到一個(gè)客戶(hù)計(jì)算機(jī)的瀏覽器上的請(qǐng)求205。然后,在步驟220,處理器確定哪個(gè)Web網(wǎng)頁(yè)已被請(qǐng)求,而后塊檢索裝置80從數(shù)據(jù)庫(kù)120中取出此頁(yè)并構(gòu)成一個(gè)文件(步驟230)。接下來(lái),在步驟240,對(duì)在這個(gè)文件內(nèi)的其它Web網(wǎng)頁(yè)的任何引用進(jìn)行標(biāo)識(shí),并且決策裝置90用最近的負(fù)載分配記錄270來(lái)為這些Web網(wǎng)頁(yè)中的每一個(gè)網(wǎng)頁(yè)確定哪個(gè)處理器將為這個(gè)Web網(wǎng)頁(yè)的請(qǐng)求提供服務(wù)。因此,如果Web網(wǎng)頁(yè)上的一個(gè)隨后頁(yè)被稱(chēng)作“second_page.html”,并且決策裝置確定處理器20將為這個(gè)請(qǐng)求提供服務(wù),那么文件中的這一引用將被改變?yōu)樽x“http//www1.ibm.com/second_page.html”。
一旦這些隨后超連接被決策裝置完成,那么在步驟250文件被送到客戶(hù)瀏覽器。接下來(lái),在最佳實(shí)施方式中,在步驟260,處理器被用來(lái)重新估價(jià)它忙碌的程度,在此估價(jià)的基礎(chǔ)上更新負(fù)載分配記錄。一旦這個(gè)工作被完成,處理器返回步驟200,等待客戶(hù)的下一個(gè)請(qǐng)求。
如前所述,在文件中被引用的隨后Web網(wǎng)頁(yè)可被分為兩種類(lèi)型。一種類(lèi)型可引用Web網(wǎng)頁(yè),在構(gòu)成當(dāng)前Web網(wǎng)頁(yè)期間瀏覽器將需要檢索這些網(wǎng)頁(yè)以顯示給用戶(hù)。例如,基本文件可以包括對(duì)于Web網(wǎng)頁(yè)的所有文本,但是對(duì)于將被顯示的任何圖像的數(shù)據(jù)一般將不被包括在內(nèi),但相反,對(duì)包括圖像的Web網(wǎng)頁(yè)的引用將被提供在返回到瀏覽器的文件中。瀏覽器將需要檢索這些Web網(wǎng)頁(yè)以便為用戶(hù)重新產(chǎn)生完整的Web網(wǎng)頁(yè)。
在文件中被引用的第二種類(lèi)型的Web網(wǎng)頁(yè)將是隨后連接,為了產(chǎn)生要顯示的初始Web網(wǎng)頁(yè),這些隨后連接不被瀏覽器請(qǐng)求。而這些隨后連接將是一些一旦Web網(wǎng)頁(yè)被顯示用戶(hù)可以選擇的網(wǎng)頁(yè)。用戶(hù)一般將能夠選擇屏幕上特殊的亮度顯著的單詞或圖像,這些單詞和圖像與其它Web網(wǎng)頁(yè)相關(guān)聯(lián)。在進(jìn)行這樣一種選擇時(shí),瀏覽器將從文件中檢索處理器的地址,這個(gè)處理器是為此網(wǎng)頁(yè)提供請(qǐng)求服務(wù)的,并且瀏覽器將直接與處理器聯(lián)系。
具體就上面識(shí)別過(guò)的第一種類(lèi)型的隨后Web網(wǎng)頁(yè)而論,圖3說(shuō)明了負(fù)載分配記錄如何被決策裝置90使用,以便在服務(wù)器的可用的處理器當(dāng)中分開(kāi)對(duì)第一種類(lèi)型的Web網(wǎng)頁(yè)的請(qǐng)求。由于第一種類(lèi)型的Web網(wǎng)頁(yè)幾乎被瀏覽器立即請(qǐng)求以便能構(gòu)造出完整的Web網(wǎng)頁(yè)顯示給用戶(hù),所以可以預(yù)言,在初始Web網(wǎng)頁(yè)被傳遞到瀏覽器之后,這些請(qǐng)求將會(huì)相當(dāng)快返回到服務(wù)器。
在圖3中,作為最大負(fù)載百分率的在每個(gè)處理器上的負(fù)載被每個(gè)處理器標(biāo)繪出。一般最大負(fù)載被確定為一個(gè)點(diǎn),在這個(gè)點(diǎn)上處理器不能提供一個(gè)可接收的響應(yīng)時(shí)間,這通常由服務(wù)器管理員來(lái)確定。很顯然還有估價(jià)負(fù)載的其它一些方法。從圖3中可看出處理器2負(fù)載最重,其次是處理器3,而處理器1負(fù)載最輕。例如,如果有9個(gè)第一種類(lèi)型的隨后Web網(wǎng)頁(yè),那么決策裝置可以用百分率負(fù)載圖為每個(gè)處理器確定這9個(gè)Web網(wǎng)頁(yè)中有幾個(gè)應(yīng)被每個(gè)處理器提供服務(wù)。
如圖3所示,每個(gè)處理器沒(méi)有被用到的負(fù)載已經(jīng)被分成尺寸相等的塊,以便產(chǎn)生總數(shù)為9的塊。保持通過(guò)處理器的負(fù)載平衡的適當(dāng)方法是分派給一個(gè)特定處理器一個(gè)任務(wù),這個(gè)任務(wù)是為多個(gè)Web網(wǎng)頁(yè)的隨后請(qǐng)求提供服務(wù),網(wǎng)頁(yè)的數(shù)目與塊的數(shù)目相等,塊的數(shù)目與這個(gè)處理器未被使用的負(fù)載相關(guān)聯(lián)。因此,在圖3所示的例子中,處理器1的地址將被5個(gè)Web網(wǎng)頁(yè)所引用,處理器2的地址將被一個(gè)Web網(wǎng)頁(yè)所引用,而處理器3的地址將被3個(gè)Web網(wǎng)頁(yè)所引用。
從以上描述中可明顯看出,根據(jù)本發(fā)明的最佳實(shí)施方式,當(dāng)網(wǎng)頁(yè)被提供服務(wù)時(shí),Web網(wǎng)頁(yè)的內(nèi)容被動(dòng)態(tài)改變,從而改變應(yīng)檢索出任何隨后連接的服務(wù)器處理器的Internet網(wǎng)名。處理器從一組可以存取相同Web內(nèi)容的處理器當(dāng)中選擇,而這種選擇建立在對(duì)那些服務(wù)器進(jìn)行相應(yīng)加載的基礎(chǔ)上。采用這種方法,可達(dá)到更有效的負(fù)載平衡,處理器“烘烤”的問(wèn)題在問(wèn)題變得嚴(yán)重前被避免了。
權(quán)利要求
1.一種服務(wù)器計(jì)算機(jī),可連接到一個(gè)網(wǎng)絡(luò)上,并具有多個(gè)處理器(20,30,40),用來(lái)為一個(gè)或多個(gè)被連接到網(wǎng)絡(luò)上的客戶(hù)計(jì)算機(jī)提供服務(wù),服務(wù)包括對(duì)客戶(hù)計(jì)算機(jī)(50)提供信息塊,處理器可以訪問(wèn)數(shù)據(jù)存儲(chǔ)器(120),數(shù)據(jù)存儲(chǔ)器中存有信息塊的數(shù)據(jù),該服務(wù)器計(jì)算機(jī)包括塊檢索裝置(80),被設(shè)置在所述的多個(gè)處理器中的每個(gè)處理器上,用于響應(yīng)來(lái)自于客戶(hù)計(jì)算機(jī)(50)的從處理器中提出的對(duì)特殊信息塊的請(qǐng)求,從數(shù)據(jù)存儲(chǔ)器(120)中檢索數(shù)據(jù)以便構(gòu)成一個(gè)表征被請(qǐng)求信息塊的文件,文件包括對(duì)可被客戶(hù)(50)請(qǐng)求的隨后信息塊的引用;負(fù)載確定裝置(100),用來(lái)為處理器定期確定活動(dòng)數(shù)據(jù),活動(dòng)數(shù)據(jù)包括在被服務(wù)器的所有處理器保持的負(fù)載分配記錄中;決策裝置(90),對(duì)由塊檢索裝置(80)構(gòu)成的文件中隨后信息塊的每次引用,決策裝置被用來(lái)根據(jù)負(fù)載分配記錄確定哪個(gè)處理器應(yīng)當(dāng)為來(lái)自客戶(hù)計(jì)算機(jī)(50)的對(duì)隨后信息塊的請(qǐng)求提供服務(wù),并且在一個(gè)由塊檢索裝置(80)構(gòu)成的文件中包括一個(gè)此處理器的地址;傳遞裝置(110),用于傳送文件到客戶(hù)計(jì)算機(jī)(50)。
2.根據(jù)權(quán)利要求1的服務(wù)器計(jì)算機(jī),其特征在于,負(fù)載確定裝置(100)被設(shè)置在所述的多個(gè)處理器中的每個(gè)處理器上來(lái)為每個(gè)處理器確定活動(dòng)數(shù)據(jù)。
3.根據(jù)權(quán)利要求1或權(quán)利要求2的服務(wù)器計(jì)算機(jī),其特征在于,決策裝置(90)被設(shè)置在所述的多個(gè)處理器中的每個(gè)處理器上。
4.根據(jù)任何上述權(quán)利要求的服務(wù)器計(jì)算機(jī),其特征在于,當(dāng)構(gòu)成由文件表征的信息塊時(shí),如果多個(gè)隨后信息塊將被客戶(hù)計(jì)算機(jī)(50)請(qǐng)求,那么決策裝置(90)被用來(lái)確定任何特定處理器將為多少個(gè)隨后信息塊的請(qǐng)求提供服務(wù),以便使得由負(fù)載分配記錄指示的處理器上的負(fù)載越多,處理器將要提供給請(qǐng)求服務(wù)的隨后信息塊的數(shù)量越少。
5.根據(jù)任何上述權(quán)利要求的服務(wù)器,其特征在于,當(dāng)構(gòu)成信息塊時(shí),一個(gè)或多個(gè)隨后信息塊是將要被客戶(hù)計(jì)算機(jī)(50)請(qǐng)求的圖像文件。
6.根據(jù)任何上述權(quán)利要求的服務(wù)器,其特征在于,網(wǎng)絡(luò)是Internet網(wǎng)。
7.根據(jù)權(quán)利要求6的服務(wù)器,其特征在于,服務(wù)是萬(wàn)維網(wǎng)服務(wù),信息塊是Web網(wǎng)頁(yè)。
8.根據(jù)權(quán)利要求7的服務(wù)器,其特征在于,隨后信息塊的地址被決策裝置(90)采用地址串的形式包含在文件中,地址串既包括一個(gè)此信息塊的標(biāo)識(shí)符又包括處理器的一個(gè)獨(dú)特的標(biāo)識(shí)符,此處理器已經(jīng)由決策裝置(90)確定,將為此信息塊的請(qǐng)求提供服務(wù)。
9.一種操作可連接到網(wǎng)絡(luò)上的服務(wù)器計(jì)算機(jī)的方法,所說(shuō)計(jì)算機(jī)具有多個(gè)處理器(20,30,40)被用來(lái)為一個(gè)或多個(gè)連接到網(wǎng)絡(luò)上的客戶(hù)計(jì)算機(jī)提供服務(wù),服務(wù)包括對(duì)客戶(hù)計(jì)算機(jī)(50)提供信息塊,處理器可以訪問(wèn)數(shù)據(jù)存儲(chǔ)器(120),數(shù)據(jù)存儲(chǔ)器中存有信息塊的數(shù)據(jù),方法包括以下步驟(a)響應(yīng)來(lái)自客戶(hù)計(jì)算機(jī)(50)的從處理器中提出的對(duì)特殊信息塊的請(qǐng)求,利用此處理器從數(shù)據(jù)存儲(chǔ)器(120)中檢索數(shù)據(jù),以便構(gòu)成表征被請(qǐng)求的信息塊的文件,此文件包括對(duì)可被客戶(hù)(50)請(qǐng)求的隨后信息塊的引用;(b)利用負(fù)載確定裝置(100)來(lái)為處理器定期確定活動(dòng)數(shù)據(jù),活動(dòng)數(shù)據(jù)包括在被所有的服務(wù)器處理器保持的負(fù)載分配記錄中;(c)對(duì)在步驟(a)中被構(gòu)造的文件中隨后信息塊的每次引用,根據(jù)負(fù)載分配記錄確定哪個(gè)處理器應(yīng)為客戶(hù)計(jì)算機(jī)(50)提出的對(duì)這個(gè)隨后信息塊的請(qǐng)求提供服務(wù),并且在步驟(a)構(gòu)造的文件中包括此處理器的地址;(d)傳送文件到客戶(hù)計(jì)算機(jī)(50)。
10.根據(jù)權(quán)利要求9的方法,其特征在于,所述的多個(gè)處理器中的每個(gè)處理器都包括一個(gè)負(fù)載確定裝置(100),用來(lái)執(zhí)行所述的步驟(b)。
11.根據(jù)權(quán)利要求9或權(quán)利要求10的方法,其特征在于,所述的多個(gè)處理器中的每個(gè)處理器都包括一個(gè)決策裝置(90),用來(lái)執(zhí)行所述的步驟(c)。
12.根據(jù)權(quán)利要求9至11中任一項(xiàng)的方法,其特征在于,當(dāng)構(gòu)成由文件表征的信息塊時(shí),如果多個(gè)隨后信息塊將被客戶(hù)計(jì)算機(jī)(50)請(qǐng)求,那么所述步驟(c)包括確定任何一個(gè)特殊處理器將為多少個(gè)隨后信息塊的請(qǐng)求提供服務(wù),以便由負(fù)載分配記錄指示的在處理器上的負(fù)載越多,處理器將要提供給請(qǐng)求服務(wù)的隨后信息塊的數(shù)量越少。
13.根據(jù)權(quán)利要求9至12中任一項(xiàng)的方法,其特征在于,隨后信息塊的地址采用地址串的形式包含在步驟(c)所述的文件中,地址串既包括一個(gè)此信息塊的標(biāo)識(shí)符又包括處理器的一個(gè)獨(dú)特的標(biāo)識(shí)符,此處理器在步驟(c)被確定為是將為此信息塊的請(qǐng)求提供服務(wù)的那個(gè)處理器。
全文摘要
一種可連接到網(wǎng)絡(luò)上的服務(wù)器計(jì)算機(jī),具有多個(gè)處理器(20,30,40),每個(gè)處理器具有塊檢索裝置(80),用來(lái)響應(yīng)來(lái)自客戶(hù)的對(duì)特殊信息塊的請(qǐng)求,檢索數(shù)據(jù),以便構(gòu)成一個(gè)表征被請(qǐng)求的信息塊的文件,負(fù)載確定裝置(100)為處理器定期確定活動(dòng)數(shù)據(jù),活動(dòng)數(shù)據(jù)包括所負(fù)載分配記錄中。決策裝置(90)確定哪個(gè)處理器應(yīng)提供服務(wù),由塊檢索裝置(80)構(gòu)成的文件中包括此處理器的地址。一旦決策裝置完成了這個(gè)處理過(guò)程,那么文件被送到客戶(hù)計(jì)算機(jī)(50)。
文檔編號(hào)G06F9/52GK1202971SQ9619860
公開(kāi)日1998年12月23日 申請(qǐng)日期1996年12月4日 優(yōu)先權(quán)日1996年1月26日
發(fā)明者安德魯·詹姆斯·斯坦福特-克拉克, 肖恩·詹姆斯·馬丁 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1