專利名稱:動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的領(lǐng)域涉及數(shù)據(jù)處理,尤其涉及用于動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源的方法、系統(tǒng)和產(chǎn)品。
背景技術(shù):
現(xiàn)有的數(shù)據(jù)通信環(huán)境不能動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源,以適應(yīng)當(dāng)前服務(wù)器負(fù)載條件的改變。面向連接的數(shù)據(jù)通信服務(wù)器實(shí)現(xiàn)一偵聽或連接積壓隊(duì)列(backlog queue)最大大小,以管理數(shù)據(jù)通信連接。最大大小通常是硬編碼的限制。例如,在AIX中,最大連接積壓隊(duì)列大小是1024。該最大限制與實(shí)際的當(dāng)前服務(wù)器負(fù)載沒(méi)有關(guān)系。面向連接的端口可在啟動(dòng)時(shí)設(shè)置小于該系統(tǒng)最大值的隊(duì)列大小,但是該隊(duì)列大小除非重新啟動(dòng)端口不能改變。一旦具有該最大值的隊(duì)列被連接請(qǐng)求填滿,隨后的連接請(qǐng)求在它們到達(dá)時(shí)將被丟棄,從而導(dǎo)致來(lái)自請(qǐng)求連接的客戶機(jī)的再傳輸。大多數(shù)客戶機(jī)系統(tǒng)將在再傳輸連接請(qǐng)求之前等待大約幾秒時(shí)間,從而導(dǎo)致用戶可覺察的延遲。此外,該再傳輸增加了網(wǎng)絡(luò)堵塞并可引起服務(wù)器過(guò)載。
對(duì)于限制連接的最大積壓隊(duì)列大小的可選替換是具有一可調(diào)最大值??烧{(diào)最大值仍然有缺陷??烧{(diào)最大連接積壓隊(duì)列大小是強(qiáng)加在系統(tǒng)中的所有端口上的全系統(tǒng)范圍的限制。如果該參數(shù)被設(shè)定為大值,則在系統(tǒng)上提供的網(wǎng)絡(luò)服務(wù)的數(shù)量增長(zhǎng)時(shí)將耗盡系統(tǒng)資源。盡管可以基于系統(tǒng)資源初始地設(shè)置端口的初始積壓隊(duì)列大小,但是它不能動(dòng)態(tài)地適應(yīng)改變的服務(wù)器負(fù)載條件。例如,在系統(tǒng)具有輕負(fù)載且資源容易獲得的情況下,特定的端口可能不能處理到達(dá)的連接,因?yàn)樽畲蠓e壓大小限制了隊(duì)列大小。另一方面,系統(tǒng)可能具有重負(fù)載,在這種情況下,大常數(shù)積壓值可能使系統(tǒng)耗盡其資源。
發(fā)明內(nèi)容
本發(fā)明提供了用于動(dòng)態(tài)提供服務(wù)器資源的方法、系統(tǒng)和產(chǎn)品,所述動(dòng)態(tài)提供是基于當(dāng)前數(shù)據(jù)通信負(fù)載條件和其他所監(jiān)視的連接性能參數(shù),從而服務(wù)器可以動(dòng)態(tài)改變連接積壓隊(duì)列大小而不影響端口運(yùn)行且不需用戶介入。更具體地說(shuō),本發(fā)明提供了用于動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源的方法、系統(tǒng)和產(chǎn)品,其包括檢測(cè)在數(shù)據(jù)通信協(xié)議中運(yùn)行的數(shù)據(jù)通信端口的連接性能參數(shù),所述數(shù)據(jù)通信端口具有連接積壓隊(duì)列,所述連接積壓隊(duì)列具有連接積壓隊(duì)列大??;以及根據(jù)監(jiān)視的連接性能參數(shù)改變連接積壓隊(duì)列大小而不中斷數(shù)據(jù)通信端口的運(yùn)行且不需用戶介入。在本發(fā)明的典型實(shí)施例中,監(jiān)視連接性能參數(shù)的步驟包括接收連接請(qǐng)求并確定連接積壓隊(duì)列是否已滿,并且根據(jù)所監(jiān)視的連接性能參數(shù)改變連接積壓隊(duì)列大小的步驟包括增加連接積壓隊(duì)列大小。
在本發(fā)明的典型實(shí)施例中,監(jiān)視連接性能參數(shù)的步驟包括監(jiān)視連接積壓隊(duì)列負(fù)載,以及改變連接積壓隊(duì)列大小的步驟包括根據(jù)連接積壓隊(duì)列負(fù)載改變積壓隊(duì)列大小。在許多實(shí)施例中,監(jiān)視連接性能參數(shù)的步驟包括計(jì)算用于連接握手的一部分的平均往返時(shí)間并計(jì)算連接請(qǐng)求之間的平均到達(dá)間隔,以及改變連接積壓隊(duì)列大小的步驟包括如果平均到達(dá)間隔小于平均往返時(shí)間則增加連接積壓隊(duì)列大小,并且如果平均到達(dá)間隔大于平均往返時(shí)間則減小連接積壓隊(duì)列大小。
在本發(fā)明的典型實(shí)施例中,監(jiān)視連接性能參數(shù)的步驟包括計(jì)算連接積壓隊(duì)列的帶寬延遲乘積(bandwidth delay product)并比較帶寬延遲乘積和隊(duì)列大??;以及改變連接積壓隊(duì)列大小的步驟包括如果連接積壓隊(duì)列大小小于帶寬延遲乘積,則將積壓隊(duì)列大小改變到至少為帶寬延遲乘積。在本發(fā)明的許多實(shí)施例中,監(jiān)視連接性能參數(shù)的步驟包括測(cè)量接受處理時(shí)間,以及改變連接積壓隊(duì)列大小的步驟包括根據(jù)接受處理時(shí)間改變積壓隊(duì)列大小。在一些實(shí)施例中,監(jiān)視連接性能參數(shù)的步驟包括計(jì)算平均接受處理時(shí)間并計(jì)算連接積壓隊(duì)列的平均連接請(qǐng)求到達(dá)間隔,以及改變連接積壓隊(duì)列大小的步驟包括如果接受處理時(shí)間大于連接請(qǐng)求到達(dá)間隔,則增加連接積壓隊(duì)列大小。
通過(guò)以下對(duì)附圖所示的本發(fā)明示例性實(shí)施例的更具體的描述,本發(fā)明的上述和其他目標(biāo)、特征和優(yōu)點(diǎn)將會(huì)清楚起來(lái),在附圖中,相同的標(biāo)號(hào)一般代表本發(fā)明各示例性實(shí)施例的相似部件。
圖1示出了在其中可實(shí)現(xiàn)本發(fā)明的各種實(shí)施例的數(shù)據(jù)處理系統(tǒng)的體系結(jié)構(gòu)。
圖2示出了用于在通過(guò)網(wǎng)絡(luò)連接的兩個(gè)設(shè)備之間的數(shù)據(jù)通信的示例性協(xié)議棧的框圖。
圖3示出了自動(dòng)計(jì)算機(jī)器的框圖,在該機(jī)器中可根據(jù)本發(fā)明的實(shí)施例動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源。
圖4示出了用于動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源的示例性方法的流程圖。
圖5示出了動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源的另一個(gè)示例性方法的流程圖。
圖6示出了動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源的再一個(gè)示例性方法的流程圖。
圖7示出了動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源的再一個(gè)示例性方法的流程圖。
圖8示出了說(shuō)明TCP連接握手以建立客戶機(jī)和服務(wù)器之間的連接的調(diào)用序列圖。
圖9示出了動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源的另一個(gè)示例性方法的流程圖。
圖10示出了動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源的再一個(gè)示例性方法的流程圖。
具體實(shí)施例方式 導(dǎo)言 在本說(shuō)明書中,本發(fā)明在很大程度上是根據(jù)用于動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源的方法來(lái)描述的。然而,本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到任何這樣的計(jì)算機(jī)系統(tǒng)也很好地落入了本發(fā)明的范圍,該計(jì)算機(jī)系統(tǒng)包括用于根據(jù)所公開的方法運(yùn)行的適合的編程裝置。適合的編程裝置包括用于指示計(jì)算機(jī)執(zhí)行本發(fā)明的方法步驟的任何裝置,包括例如由連接到計(jì)算機(jī)存儲(chǔ)器的處理單元和算術(shù)邏輯電路構(gòu)成的系統(tǒng),該系統(tǒng)具有在計(jì)算機(jī)存儲(chǔ)器中存儲(chǔ)的能力,該計(jì)算機(jī)存儲(chǔ)器包括這樣的電子電路,該電子電路被設(shè)置成存儲(chǔ)數(shù)據(jù)和程序指令,即將由處理單元執(zhí)行的本發(fā)明的方法步驟。
本發(fā)明也可以體現(xiàn)在如磁盤或其他記錄介質(zhì)的計(jì)算機(jī)程序產(chǎn)品中,以便與任何適合的數(shù)據(jù)處理系統(tǒng)一起使用??赏ㄟ^(guò)使用任何用于機(jī)器可讀信息的記錄介質(zhì),包括磁介質(zhì)、光介質(zhì)或者其他適合的介質(zhì),來(lái)實(shí)現(xiàn)計(jì)算機(jī)程序產(chǎn)品的實(shí)施例。本領(lǐng)域的技術(shù)人員將立即認(rèn)識(shí)到任何具有合適編程裝置的計(jì)算機(jī)系統(tǒng)都能夠執(zhí)行體現(xiàn)在程序產(chǎn)品中的根據(jù)本發(fā)明的方法步驟。本領(lǐng)域的技術(shù)人員將立即認(rèn)識(shí)到盡管本說(shuō)明書中描述的大多數(shù)示例性實(shí)施例面對(duì)在計(jì)算機(jī)硬件上安裝和運(yùn)行的軟件,但是實(shí)現(xiàn)為固件或硬件的其他可選實(shí)施例也很好地落入了本發(fā)明的范圍內(nèi)。
動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源 現(xiàn)在參考
用于動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源的示例性方法、系統(tǒng)和產(chǎn)品,從圖1開始。圖1示出了在其中可實(shí)現(xiàn)本發(fā)明的各種實(shí)施例的數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)圖。圖1的數(shù)據(jù)處理系統(tǒng)包括多個(gè)通過(guò)網(wǎng)絡(luò)101連接的用于數(shù)據(jù)通信的計(jì)算機(jī)。網(wǎng)絡(luò)101可以是用于數(shù)據(jù)通信的任何網(wǎng)絡(luò),例如本領(lǐng)域的技術(shù)人員公知的局域網(wǎng)(“LAN”)、廣域網(wǎng)(“WAN”)、內(nèi)聯(lián)網(wǎng)、互聯(lián)網(wǎng)、因特網(wǎng)、web、萬(wàn)維網(wǎng)本身、藍(lán)牙微局域網(wǎng)(BluetoothmicroLan)、無(wú)線網(wǎng)等。這些網(wǎng)絡(luò)是介質(zhì),用來(lái)提供在整個(gè)數(shù)據(jù)處理系統(tǒng)中連接在一起的各種設(shè)備和計(jì)算機(jī)之間的數(shù)據(jù)通信連接。
在圖1的例子中,將幾個(gè)示例性裝置連接到網(wǎng)絡(luò)101,所述示例性裝置包括PDA 112、個(gè)人計(jì)算機(jī)104、移動(dòng)電話110、膝上型計(jì)算機(jī)126。通過(guò)無(wú)線鏈路116將啟用網(wǎng)絡(luò)的移動(dòng)電話110連接到網(wǎng)絡(luò)101,并通過(guò)無(wú)線鏈路114將PDA 112連接到網(wǎng)絡(luò)101。在圖1的實(shí)例中,通過(guò)有線連接122將個(gè)人計(jì)算機(jī)104連接到網(wǎng)絡(luò)101,并且膝上型計(jì)算機(jī)126通過(guò)無(wú)線鏈路118連接。服務(wù)器106通過(guò)有線連接123連接。
圖1所示構(gòu)成該體系結(jié)構(gòu)的服務(wù)器和其他設(shè)備的布置是為了說(shuō)明,而不是限制。如本領(lǐng)域的技術(shù)人員所知道的,根據(jù)本發(fā)明的各種實(shí)施例有用的數(shù)據(jù)處理系統(tǒng)可包括圖1中未示出的附加的服務(wù)器、路由器、其他設(shè)備和對(duì)等體系結(jié)構(gòu)。這種數(shù)據(jù)處理系統(tǒng)中的網(wǎng)絡(luò)可以支持許多數(shù)據(jù)通信協(xié)議,例如TCP/IP、HTTP、WAP、HDTP和本領(lǐng)域的技術(shù)人員所知道的其他協(xié)議。本發(fā)明的各種實(shí)施例可以在除圖1所示的那些之外的各種硬件平臺(tái)上實(shí)現(xiàn)。
通常在運(yùn)行時(shí),服務(wù)器106通過(guò)監(jiān)視在數(shù)據(jù)通信協(xié)議中運(yùn)行的數(shù)據(jù)通信端口的連接性能參數(shù),來(lái)動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源,其中數(shù)據(jù)通信端口具有連接積壓隊(duì)列124,連接積壓隊(duì)列124具有連接積壓隊(duì)列大小。服務(wù)器106接收來(lái)自客戶機(jī)的連接請(qǐng)求,并且確認(rèn)每個(gè)連接請(qǐng)求然后將其置于連接積壓隊(duì)列,直到在服務(wù)器和請(qǐng)求客戶機(jī)之間建立起連接并且該連接被服務(wù)器上的應(yīng)用接受。在TCP中,連接請(qǐng)求以SYN消息的形式到達(dá),該SYN消息作為套接字被記錄在SYN-RECD隊(duì)列中,并且當(dāng)從請(qǐng)求主機(jī)接收到相應(yīng)的ACK時(shí)被移動(dòng)到“接受”隊(duì)列。在本說(shuō)明書中,SYN-RECD隊(duì)列和“接受”隊(duì)列一起被稱為連接積壓隊(duì)列。
連接隊(duì)列大小是可以在連接積壓隊(duì)列中存儲(chǔ)的連接請(qǐng)求的最大數(shù)目。連接積壓隊(duì)列還具有負(fù)載特性。連接積壓隊(duì)列負(fù)載是當(dāng)前在隊(duì)列中等待處理的連接請(qǐng)求的數(shù)目。在圖1的例子中,示出了連接積壓隊(duì)列大小為10個(gè)連接請(qǐng)求,并示出了連接積壓隊(duì)列負(fù)載為3個(gè)連接請(qǐng)求,從而在連接積壓隊(duì)列124中留下用于7個(gè)更多請(qǐng)求的空間。如下面更詳細(xì)描述的,服務(wù)器106還在運(yùn)行時(shí)通過(guò)根據(jù)所監(jiān)視的連接性能參數(shù)來(lái)改變連接積壓隊(duì)列大小而不中斷數(shù)據(jù)通信端口的運(yùn)行且不需要用戶介入,來(lái)動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源。
參考圖2來(lái)說(shuō)明數(shù)據(jù)通信協(xié)議的運(yùn)行。圖2示出了用于在通過(guò)網(wǎng)絡(luò)連接的兩個(gè)設(shè)備之間的數(shù)據(jù)通信的示例性協(xié)議棧的框圖。圖2的示例性協(xié)議棧基于標(biāo)準(zhǔn)開放系統(tǒng)互連(“OSI”)參考模型。圖2的示例性協(xié)議棧包括堆棧在一些層中的若干協(xié)議。圖2的示例性協(xié)議棧從底部的物理層208開始,該物理層通過(guò)設(shè)備之間的鏈路傳送非結(jié)構(gòu)化位流。物理層連接可以實(shí)現(xiàn)為例如通過(guò)調(diào)制解調(diào)器的有線連接或通過(guò)無(wú)線通信適配器的無(wú)線連接。圖2的示例性棧包括鏈路層206,該鏈路層傳送一段信息通過(guò)單個(gè)鏈路。鏈路層將物理層的位組織成包,并控制在共享鏈路上的哪一個(gè)設(shè)備得到每個(gè)包。以太網(wǎng)協(xié)議是鏈路層協(xié)議的例子。以太網(wǎng)地址是唯一分配到鏈接的設(shè)備上的48位鏈路層地址。通過(guò)鏈路層協(xié)議鏈接的一組設(shè)備通常稱為L(zhǎng)AN。
圖2的棧包括網(wǎng)絡(luò)層204,該網(wǎng)絡(luò)層計(jì)算通過(guò)鏈路和包交換機(jī)的互聯(lián)網(wǎng)狀結(jié)構(gòu)的路徑,并通過(guò)多個(gè)鏈路將包從源發(fā)送到目的地。在網(wǎng)絡(luò)層中運(yùn)行的包交換機(jī)通常稱為“路由器”。圖2的棧包括傳輸層203,該傳輸層通過(guò)在包中放置序列號(hào),在目的地保持包直到全部到達(dá),以及再傳輸丟失的包,來(lái)支持通過(guò)網(wǎng)絡(luò)的一對(duì)設(shè)備之間的可靠的面向連接的通信流。圖2的棧還包括應(yīng)用層202,使用網(wǎng)絡(luò)的應(yīng)用程序駐留在該層中。這種應(yīng)用程序的例子包括在客戶機(jī)端的web瀏覽器和電子郵件客戶端以及在服務(wù)器端的web服務(wù)器和電子郵件服務(wù)器。
在這種棧模型中的數(shù)據(jù)通信212被視為在設(shè)備之間,即該實(shí)例中的客戶機(jī)108和服務(wù)器106之間逐層發(fā)生,在客戶機(jī)上安裝有如瀏覽器或電子郵件客戶端的數(shù)據(jù)通信應(yīng)用,該數(shù)據(jù)通信應(yīng)用請(qǐng)求在傳輸層中的服務(wù)器106的數(shù)據(jù)通信連接。在物理層中的設(shè)備之間的數(shù)據(jù)通信被視為只在物理層中的發(fā)生,在鏈路層中的通信被認(rèn)為只在鏈路層中在設(shè)備之間水平發(fā)生,等等。
在棧中的協(xié)議中間的垂直通信被視為通過(guò)為該目的而提供的應(yīng)用編程接口(“API”)210來(lái)發(fā)生。例如作為應(yīng)用層中的應(yīng)用程序而運(yùn)行的瀏覽器將它的通信視為直接來(lái)自和去往網(wǎng)絡(luò)另一端的另一個(gè)設(shè)備上它的對(duì)應(yīng)web服務(wù)器。瀏覽器通過(guò)對(duì)套接字API的調(diào)用來(lái)執(zhí)行它的數(shù)據(jù)通信,套接字API轉(zhuǎn)而可能運(yùn)行例如傳輸層中的傳輸控制協(xié)議(“TCP”)客戶端。TCP客戶端將消息分解為包,為每個(gè)包提供一個(gè)包括序列號(hào)的傳輸層報(bào)頭,并通過(guò)對(duì)網(wǎng)絡(luò)層的API調(diào)用將每個(gè)包傳送到另一個(gè)設(shè)備上的它的對(duì)應(yīng)物。網(wǎng)絡(luò)層可實(shí)現(xiàn)例如公知的網(wǎng)際協(xié)議(“IP”),該協(xié)議為每個(gè)包提供一個(gè)IP報(bào)頭并為每個(gè)包選擇通過(guò)網(wǎng)絡(luò)的通信路徑,并通過(guò)向下調(diào)用到通常實(shí)現(xiàn)為用于如網(wǎng)絡(luò)接口卡或“NIC”的數(shù)據(jù)通信卡的驅(qū)動(dòng)API的鏈路層API,來(lái)將每個(gè)包傳輸?shù)搅硪粋€(gè)設(shè)備上的它的對(duì)應(yīng)物。當(dāng)接收數(shù)據(jù)通信時(shí),反過(guò)來(lái)執(zhí)行該過(guò)程。每層剝除它的報(bào)頭并將接收的包向上傳送通過(guò)協(xié)議棧。鏈路層以上的向上傳送通常需要操作系統(tǒng)上下文切換。
大多數(shù)面向連接的數(shù)據(jù)通信是在傳輸層中實(shí)現(xiàn)的,通常是通過(guò)使用傳輸控制協(xié)議或TCP。此外,本說(shuō)明書中的幾個(gè)例子是根據(jù)TCP說(shuō)明的。然而,應(yīng)該注意,根據(jù)本發(fā)明的實(shí)施例實(shí)現(xiàn)數(shù)據(jù)通信連接并不以任何方式限于TCP??梢允褂闷渌麉f(xié)議來(lái)實(shí)現(xiàn)傳輸層中的連接,并可以在支持面向連接的通信的任何數(shù)據(jù)通信層和任何數(shù)據(jù)通信協(xié)議中根據(jù)本發(fā)明的實(shí)施例進(jìn)行面向連接的數(shù)據(jù)通信。
在圖2的實(shí)例中,可請(qǐng)求連接的設(shè)備稱為“客戶機(jī)”,而可接受連接請(qǐng)求的設(shè)備稱為“服務(wù)器”。在圖1的例子中,服務(wù)器106被示為服務(wù)器,而其他設(shè)備,如膝上型計(jì)算機(jī)126、PDA 112、個(gè)人計(jì)算機(jī)104和移動(dòng)電話110為客戶機(jī)。在TCP的通常術(shù)語(yǔ)中,設(shè)備稱為“主機(jī)”,客戶機(jī)稱為“外部主機(jī)”,而服務(wù)器稱為“本地主機(jī)”。然而,所有這些設(shè)備都是計(jì)算機(jī),即某種自動(dòng)計(jì)算的機(jī)器。為了進(jìn)一步說(shuō)明,圖3示出了包括計(jì)算機(jī)134的自動(dòng)計(jì)算的機(jī)器的框圖,在該機(jī)器中可根據(jù)本發(fā)明的實(shí)施例動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源。圖3的計(jì)算機(jī)134包括至少一個(gè)計(jì)算機(jī)處理器156或“CPU”以及隨機(jī)存取存儲(chǔ)器168(“RAM”)。在RAM 168中存儲(chǔ)有應(yīng)用程序152。應(yīng)用程序特別地包括可請(qǐng)求或接受數(shù)據(jù)通信連接的應(yīng)用程序,包括瀏覽器、電子郵件客戶端、web服務(wù)器和電子郵件服務(wù)器。在RAM 168中還存儲(chǔ)有操作系統(tǒng)154。根據(jù)本發(fā)明的實(shí)施例在計(jì)算機(jī)中有用的操作系統(tǒng)包括Unix、Linux、Mircrosoft NTTM以及本領(lǐng)域的技術(shù)人員知道的許多其他操作系統(tǒng)。TCP和其他面向連接的數(shù)據(jù)通信客戶端和服務(wù)通常在操作系統(tǒng)中得到支持。特別地,本發(fā)明的功能性步驟通常是通過(guò)主要在操作系統(tǒng)中實(shí)現(xiàn)的計(jì)算機(jī)程序指令來(lái)實(shí)現(xiàn)的。
圖3的計(jì)算機(jī)134包括通過(guò)系統(tǒng)總線160連接到處理器156和計(jì)算機(jī)的其他部件的計(jì)算機(jī)存儲(chǔ)器166。計(jì)算機(jī)存儲(chǔ)器166可實(shí)現(xiàn)為硬盤驅(qū)動(dòng)器170、光盤驅(qū)動(dòng)器172、電可擦除可編程只讀存儲(chǔ)器空間(所謂的“EEPROM”或“閃速”存儲(chǔ)器)174、RAM驅(qū)動(dòng)器(未示出)、或本領(lǐng)域的技術(shù)人員知道的任何其他類型的計(jì)算機(jī)存儲(chǔ)器。
圖3的示例性計(jì)算機(jī)134包括通信適配器167,用于實(shí)現(xiàn)用于數(shù)據(jù)通信184的連接,該連接包括通過(guò)網(wǎng)絡(luò)到其他計(jì)算機(jī)182如主機(jī)、服務(wù)器和客戶機(jī)的連接。通信適配器實(shí)現(xiàn)用于數(shù)據(jù)通信的連接的硬件級(jí),通過(guò)該硬件級(jí)本地設(shè)備和遠(yuǎn)程設(shè)備或服務(wù)器相互之間通過(guò)網(wǎng)絡(luò)直接發(fā)送數(shù)據(jù)通信。通信適配器的例子包括用于有線撥號(hào)連接的調(diào)制解調(diào)器、用于有線LAN連接的以太網(wǎng)(IEEE 802.3)適配器、以及用于無(wú)線LAN連接的802.11b適配器。
圖3的示例性計(jì)算機(jī)包括一個(gè)或多個(gè)輸入/輸出接口適配器178。計(jì)算機(jī)中的輸入/輸出接口適配器通過(guò)例如軟件驅(qū)動(dòng)程序和計(jì)算機(jī)硬件來(lái)實(shí)現(xiàn)面向用戶的輸入/輸出,用于控制到例如計(jì)算機(jī)顯示屏的顯示設(shè)備180的輸出,以及來(lái)自例如鍵盤和鼠標(biāo)的用戶輸入設(shè)備181的用戶輸入。
為了進(jìn)一步說(shuō)明,圖4示出了用于動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源的示例性方法的流程圖,該方法包括監(jiān)測(cè)502在數(shù)據(jù)通信協(xié)議203中運(yùn)行的數(shù)據(jù)通信端口506的連接性能參數(shù)504,其中該數(shù)據(jù)通信端口具有連接積壓隊(duì)列124,該連接積壓隊(duì)列具有連接積壓隊(duì)列大小。連接性能參數(shù)是在建立數(shù)據(jù)通信連接中的系統(tǒng)性能的任何度量。連接性能參數(shù)的例子包括往返時(shí)間、帶寬延遲乘積、連接請(qǐng)求到達(dá)間隔(請(qǐng)求速率的倒數(shù))、接受處理時(shí)間、以及連接積壓隊(duì)列負(fù)載。
數(shù)據(jù)通信端口由實(shí)現(xiàn)有連接的數(shù)據(jù)通信的數(shù)據(jù)通信程序使用。每個(gè)端口分配有識(shí)別端口號(hào)。每個(gè)服務(wù)器具有識(shí)別網(wǎng)絡(luò)地址。端口號(hào)和網(wǎng)絡(luò)地址的結(jié)合唯一地識(shí)別在網(wǎng)絡(luò)空間(cyberspace)中任何位置的數(shù)據(jù)通信進(jìn)程。與網(wǎng)絡(luò)地址結(jié)合的端口號(hào)是套接字的基本數(shù)據(jù)補(bǔ)足物(complement)。具有客戶機(jī)和服務(wù)器的網(wǎng)絡(luò)地址和端口號(hào)這兩者的套接字稱為“連接”。在圖4的實(shí)例中,端口在傳輸層中運(yùn)行,但這只是為了說(shuō)明,而不是為了限制。事實(shí)上,這種端口可以在任何支持用于數(shù)據(jù)通信的連接的協(xié)議層中運(yùn)行。
圖4的方法還包括根據(jù)所監(jiān)視的連接性能參數(shù)504改變508連接積壓隊(duì)列大小,而不中斷數(shù)據(jù)通信端口506的運(yùn)行且不需用戶介入。根據(jù)所監(jiān)視的連接性能參數(shù)改變連接積壓隊(duì)列大小而不中斷數(shù)據(jù)通信端口的運(yùn)行且不需用戶介入的能力,有利地提供了用于動(dòng)態(tài)、隨要求地提供計(jì)算機(jī)系統(tǒng)上的資源的機(jī)制。盡管圖4的系統(tǒng)示出了只具有一個(gè)端口,本領(lǐng)域的技術(shù)人員將理解許多這樣的系統(tǒng)支持多個(gè)這樣的端口。圖4的方法還提供了使用每端口的積壓大小而不強(qiáng)制使用全系統(tǒng)范圍的積壓大小的靈活性,因?yàn)橐恍┒丝诳赡鼙绕渌丝谑褂玫酶?。服?wù)器106可通過(guò)動(dòng)態(tài)增加對(duì)該端口的積壓限制,來(lái)動(dòng)態(tài)提供資源,特別是計(jì)算機(jī)存儲(chǔ)器,這使它可以優(yōu)雅地管理過(guò)載條件,并減少丟棄的連接,同時(shí)保持對(duì)系統(tǒng)資源的注意。
圖5示出了用于動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源的另一個(gè)示例性方法的流程圖,在該方法中監(jiān)視連接性能參數(shù)的步驟包括接收602連接請(qǐng)求604并確定606連接積壓隊(duì)列124是否已滿。如果連接請(qǐng)求積壓隊(duì)列未滿619,則以通常的方式將到達(dá)的連接請(qǐng)求置于連接積壓隊(duì)列。在TCP中,如上述,通過(guò)創(chuàng)建套接字并將該套接字置于用于一端口的連接積壓隊(duì)列,來(lái)進(jìn)行連接請(qǐng)求的入隊(duì)。
在圖5的方法中,根據(jù)所監(jiān)視的連接性能參數(shù)改變連接積壓隊(duì)列大小的步驟包括增加610連接積壓隊(duì)列大小。如果連接請(qǐng)求積壓隊(duì)列已滿614,則處理繼續(xù)確定608是否能夠增加連接請(qǐng)求積壓隊(duì)列大小。通過(guò)比較連接積壓隊(duì)列的當(dāng)前大小和限定在系統(tǒng)上允許的最大隊(duì)列大小的系統(tǒng)參數(shù)609,來(lái)執(zhí)行該確定過(guò)程608,并且該確定過(guò)程比較在系統(tǒng)中運(yùn)行的所有端口的所有連接積壓隊(duì)列的總大小和限定用于連接請(qǐng)求積壓隊(duì)列的最大存儲(chǔ)器分配量的系統(tǒng)參數(shù)612。
如果在用于所有隊(duì)列的限制內(nèi)可以獲得存儲(chǔ)器并且當(dāng)前隊(duì)列的當(dāng)前大小小于系統(tǒng)最大值,那么該過(guò)程確定它可以616增加連接積壓隊(duì)列的大小并執(zhí)行它610。然后將連接請(qǐng)求入隊(duì)611以等待連接和接受。注意在現(xiàn)有技術(shù)中,一旦確定連接請(qǐng)求積壓隊(duì)列已滿614,將丟棄連接請(qǐng)求。在圖5的方法中,只有當(dāng)確定618根據(jù)系統(tǒng)限制不可能增加隊(duì)列大小時(shí),才丟棄615連接請(qǐng)求。
圖6示出了用于動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源的再一個(gè)示例性方法的流程圖,在該方法中監(jiān)視連接性能參數(shù)的步驟包括監(jiān)視702連接積壓隊(duì)列負(fù)載704??赏ㄟ^(guò)使一進(jìn)程或線程周期性地計(jì)數(shù)連接積壓隊(duì)列中的連接請(qǐng)求的數(shù)量,來(lái)進(jìn)行對(duì)連接積壓隊(duì)列負(fù)載704的監(jiān)視702??梢詫⒃撚?jì)數(shù)與用于該計(jì)數(shù)的時(shí)間戳一起存儲(chǔ)在表中,從而創(chuàng)建一負(fù)載簡(jiǎn)檔。從該簡(jiǎn)檔可以計(jì)算負(fù)載平均值和運(yùn)行平均值。系統(tǒng)可以被設(shè)置為具有負(fù)載閾值710、714,用于確定是否增加或減小連接積壓隊(duì)列大小。系統(tǒng)可以被設(shè)置為具有用于確定如何根據(jù)負(fù)載增加或減小連接積壓隊(duì)列大小的規(guī)則712。
在圖6的方法中,改變連接積壓隊(duì)列大小的步驟包括根據(jù)連接積壓隊(duì)列負(fù)載704來(lái)改變積壓隊(duì)列大小。在圖6的方法中,如果隊(duì)列負(fù)載704的度量大于一增加閾值710,則增加720連接積壓隊(duì)列大小。如果隊(duì)列負(fù)載704的度量小于一減小閾值714,則減小722連接積壓隊(duì)列大小。圖6的方法還可以根據(jù)連接隊(duì)列調(diào)整規(guī)則712運(yùn)行。連接隊(duì)列調(diào)整規(guī)則的一個(gè)例子是 ·規(guī)則1如果隊(duì)列大小比平均負(fù)載大或小超過(guò)10%,則將隊(duì)列大小改變到平均負(fù)載的125%。
考慮這樣的實(shí)例,其中連接積壓隊(duì)列具有50個(gè)連接請(qǐng)求的隊(duì)列大小和48個(gè)連接請(qǐng)求的運(yùn)行平均負(fù)載。該隊(duì)列偶爾會(huì)填滿并丟棄連接請(qǐng)求。根據(jù)上述規(guī)則1運(yùn)行,圖6的方法將隊(duì)列大小增加到60,因此降低了丟棄連接請(qǐng)求的風(fēng)險(xiǎn)。在具有50的隊(duì)列大小和10的運(yùn)行平均負(fù)載的實(shí)例中,根據(jù)規(guī)則1運(yùn)行的圖6的方法將隊(duì)列大小減小到13,釋放存儲(chǔ)器以便由其他進(jìn)程使用,從而提高了計(jì)算機(jī)資源分配的效率。
圖7示出了用于動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源的再一個(gè)示例性方法的流程圖,在該方法中監(jiān)視連接性能參數(shù)的步驟包括計(jì)算806用于連接握手的一部分的平均往返時(shí)間,并計(jì)算808連接請(qǐng)求之間的平均到達(dá)間隔。在該例子中,通過(guò)監(jiān)視802往返時(shí)間,測(cè)量它們,并將它們存儲(chǔ)在通過(guò)其計(jì)算運(yùn)行平均值的簡(jiǎn)檔中,來(lái)進(jìn)行對(duì)平均往返時(shí)間的計(jì)算。在該例子中,通過(guò)監(jiān)視804請(qǐng)求到達(dá)時(shí)間,并將它們存儲(chǔ)在通過(guò)其計(jì)算運(yùn)行平均值的簡(jiǎn)檔中,來(lái)進(jìn)行對(duì)連接請(qǐng)求之間的平均到達(dá)間隔的計(jì)算。在圖7的方法中,通過(guò)如果平均到達(dá)間隔小于平均往返時(shí)間則增加812連接積壓隊(duì)列大小,并且如果平均到達(dá)間隔大于平均往返時(shí)間則減小814連接積壓隊(duì)列大小,來(lái)進(jìn)行對(duì)連接積壓隊(duì)列大小的改變。
參考圖8進(jìn)一步說(shuō)明往返時(shí)間。圖8示出了說(shuō)明TCP連接握手910以建立客戶機(jī)108和服務(wù)器106之間的連接的調(diào)用序列圖。使用TCP是為了說(shuō)明簡(jiǎn)便,但是本發(fā)明并不限于使用TCP??梢允褂弥С置嫦蜻B接的數(shù)據(jù)通信的任何協(xié)議。在TCP中,服務(wù)器106接收到的連接請(qǐng)求是TCP SYN消息902,這樣稱謂是因?yàn)橥ㄟ^(guò)在TCP消息報(bào)頭中設(shè)置SYN(“同步”)標(biāo)志來(lái)將其標(biāo)識(shí)為連接請(qǐng)求。
當(dāng)接收到SYN消息時(shí),在服務(wù)器操作系統(tǒng)中的TCP服務(wù)將SYN-ACK消息904傳輸回客戶機(jī)108,在消息報(bào)頭中的SYN標(biāo)志表示要求客戶機(jī)繼續(xù)建立連接的請(qǐng)求,而ACK確認(rèn)接收到客戶機(jī)的SYN 902。然后服務(wù)器中的TCP服務(wù)創(chuàng)建套接字以保持連接數(shù)據(jù),即客戶機(jī)端和服務(wù)器端數(shù)據(jù)通信應(yīng)用的網(wǎng)絡(luò)地址和端口號(hào),并將套接字置于連接積壓隊(duì)列。套接字在連接積壓隊(duì)列中等待直到收到來(lái)自客戶機(jī)的返回ACK 906,且服務(wù)器端中的端口接受該連接。
建立連接所需的消息的序列是“連接握手”。消息902、904、906的SYN/SYN-ACK/ACK序列是連接握手910的例子。在TCP服務(wù)發(fā)送SYN-ACK 904和接收到客戶機(jī)的ACK 906之間的時(shí)間間隔908是用于連接握手的一部分的往返時(shí)間。
圖9示出了用于動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源的另一個(gè)示例性方法的流程圖。在圖9的方法中,監(jiān)視連接性能參數(shù)的步驟包括計(jì)算930連接積壓隊(duì)列124的帶寬延遲乘積932,并比較934帶寬延遲乘積932和隊(duì)列大小。帶寬延遲乘積的帶寬部分是該網(wǎng)絡(luò)數(shù)據(jù)通信端口的數(shù)據(jù)通信速度的度量??梢詮囊阎木W(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)測(cè)量、計(jì)算或配置帶寬。在已知拓?fù)浣Y(jié)構(gòu)的網(wǎng)絡(luò)中,例如,其中在全速率T1線上實(shí)現(xiàn)數(shù)據(jù)通信,帶寬是1.544Mbps或193,000字節(jié)/秒。帶寬延遲乘積的延遲部分取為往返時(shí)間的一半。在具有T1線的示例性網(wǎng)絡(luò)中,對(duì)于其連接積壓隊(duì)列以100毫秒的平均往返時(shí)間運(yùn)行的端口,延遲是50毫秒,即0.05秒。對(duì)于該連接隊(duì)列,帶寬延遲乘積是193,000×0.05字節(jié)=9650字節(jié)。如果用于該端口的數(shù)據(jù)通信協(xié)議中的每個(gè)數(shù)據(jù)通信包的大小是1千字節(jié),那么10個(gè)連接請(qǐng)求可填入該信道,并且容納可填入該信道的所有連接請(qǐng)求所需的連接積壓隊(duì)列大小是10。當(dāng)然,表示連接積壓隊(duì)列中的連接請(qǐng)求的數(shù)據(jù)結(jié)構(gòu)的大小不太可能與數(shù)據(jù)通信包的大小一樣。
在圖9的方法中,改變連接積壓隊(duì)列大小的步驟包括如果連接積壓隊(duì)列大小小于帶寬延遲乘積938,則將積壓隊(duì)列大小改變946到至少為帶寬延遲乘積932。如果連接積壓隊(duì)列大小小于帶寬延遲乘積938,則將積壓隊(duì)列大小改變946到至少為帶寬延遲乘積932,這有利地降低了丟棄連接請(qǐng)求的風(fēng)險(xiǎn),因?yàn)檫B接積壓隊(duì)列原則上足夠大以包含可填入其端口偵聽的數(shù)據(jù)通信信道的所有數(shù)據(jù)。
在圖9的方法中,如果連接積壓隊(duì)列大小小于帶寬延遲乘積938,則根據(jù)所監(jiān)視的連接性能參數(shù)改變連接積壓隊(duì)列大小的處理繼續(xù)確定935是否可增加連接請(qǐng)求積壓隊(duì)列大小。該確定過(guò)程935通過(guò)比較連接積壓隊(duì)列的當(dāng)前大小和限定在系統(tǒng)上允許的最大隊(duì)列大小的系統(tǒng)參數(shù)609來(lái)進(jìn)行,并且該確定過(guò)程比較用于在系統(tǒng)中運(yùn)行的所有端口的所有連接積壓隊(duì)列的總大小和限定用于連接請(qǐng)求積壓隊(duì)列的最大存儲(chǔ)器分配量的系統(tǒng)參數(shù)612。如果在用于所有隊(duì)列的限制內(nèi)可以獲得存儲(chǔ)器并且當(dāng)前隊(duì)列的當(dāng)前大小小于系統(tǒng)最大值,則該過(guò)程確定它可以944增加連接積壓隊(duì)列的大小并執(zhí)行它946。
圖10示出了用于動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源的再一個(gè)示例性方法的流程圖,在該方法中通過(guò)測(cè)量950接受處理時(shí)間并監(jiān)視804連接請(qǐng)求到達(dá)時(shí)間來(lái)進(jìn)行對(duì)連接性能參數(shù)的監(jiān)視。在圖10的方法中,通過(guò)根據(jù)接受處理時(shí)間和連接請(qǐng)求到達(dá)時(shí)間改變958積壓隊(duì)列大小,來(lái)進(jìn)行對(duì)連接積壓隊(duì)列大小的改變。更具體地說(shuō),在圖10的方法中,通過(guò)計(jì)算952平均接受處理時(shí)間并計(jì)算連接積壓隊(duì)列124的平均連接請(qǐng)求到達(dá)間隔808,來(lái)進(jìn)行對(duì)連接性能參數(shù)的監(jiān)視。在圖10的方法中,改變連接積壓隊(duì)列大小的步驟包括如果接受處理時(shí)間大于連接請(qǐng)求到達(dá)間隔,則增加958連接積壓隊(duì)列大小。
連接請(qǐng)求到達(dá)間隔是連接請(qǐng)求速率的倒數(shù),該速率是連接請(qǐng)求到達(dá)并被置于連接積壓隊(duì)列的速率。連接積壓隊(duì)列的平均負(fù)載取決于服務(wù)器和客戶機(jī)之間的平均往返時(shí)間,并也取決于連接請(qǐng)求速率,因?yàn)檫B接請(qǐng)求在隊(duì)列中停留的時(shí)間等于往返延遲加上接受處理時(shí)間。長(zhǎng)的往返延遲和高的請(qǐng)求速率增加了連接積壓隊(duì)列的長(zhǎng)度。連接積壓隊(duì)列負(fù)載也取決于服務(wù)器進(jìn)程多快地調(diào)用accept(),即它為請(qǐng)求服務(wù)的速率。如果服務(wù)器在它的最大容量下運(yùn)行,則它不能足夠快地調(diào)用accept()以跟上連接請(qǐng)求速率,并且隊(duì)列負(fù)載增加。
下面是一示例性服務(wù)器進(jìn)程的偽代碼實(shí)例,該服務(wù)器進(jìn)程打開端口上的套接字并接受來(lái)自連接積壓隊(duì)列的連接 int listenSocket,connectSocket; int QUEUE_SIZE=5; if((listenSocket=socket(...))<0) err_sys(“socket error”); if(bind(listenSocket,...)<0) err_sys(“bind error”); if(listen(listenSocket,QUEUE_SIZE)<0) err_sys(“l(fā)isten error”); for(;;){ connectSocket=accept(connectSocket,...);/*blocks*/ if(connectSocket<0)<!-- SIPO <DP n="13"> --><dp n="d13"/> err_sys(“accept error”); if(fork()==0){ /***child processing***/ close(listenSocket); doit(connectSocket); exit(0); } close(connectSocket); } 當(dāng)接收到并接受連接請(qǐng)求時(shí),進(jìn)程派生,子進(jìn)程為該連接服務(wù),而父進(jìn)程等待另一個(gè)連接請(qǐng)求。由accept()返回的connectSocket描述符是指一完整的TCP關(guān)聯(lián)、一“連接”、一包含用于該連接的客戶機(jī)和服務(wù)器兩者的完整的網(wǎng)絡(luò)地址和端口號(hào)的數(shù)據(jù)結(jié)構(gòu)。另一方面,傳遞給accept()的listenSocket自變量只具有服務(wù)器進(jìn)程的網(wǎng)絡(luò)地址和端口號(hào)。此時(shí)客戶機(jī)網(wǎng)絡(luò)地址和客戶機(jī)端口號(hào)未知,并且直到accept()返回都是這樣。這允許初始的進(jìn)程即父進(jìn)程使用listenSocket來(lái)accept()另一個(gè)連接而不必建立另一個(gè)套接字描述符。該服務(wù)器,如大多數(shù)面向連接的服務(wù)器一樣,是并發(fā)處理器,因此作為accept()系統(tǒng)調(diào)用的一部分自動(dòng)建立新的套接字(‘connectSocket’)。在TCP系統(tǒng)中,connectSocket通常是表示連接積壓隊(duì)列上的下一個(gè)連接請(qǐng)求的套接字。這樣,系統(tǒng)繼續(xù)使用相同的套接字,用于該端口(‘listenSocket’)上的所有偵聽,而使用來(lái)自連接積壓隊(duì)列的套接字,作為連接以用于服務(wù)器處理。
接受處理時(shí)間是調(diào)用accept()之間的時(shí)間間隔。如果在連接積壓隊(duì)列上沒(méi)有就緒的連接的套接字,accept()阻塞并等待一個(gè)連接的套接字。因此,如果fork()和close()處理很快,接受處理速率就是請(qǐng)求速率。然而,fork()和close()是CPU限制的系統(tǒng)調(diào)用。如果fork()和close()進(jìn)程足夠慢以將接受處理速率減小到請(qǐng)求速率以下,連接積壓隊(duì)列負(fù)載將增加。因此圖10的方法有利地包括比較954接受處理時(shí)間和到達(dá)間隔(請(qǐng)求速率的倒數(shù))。如果接受處理時(shí)間大于956到達(dá)間隔,則圖10的方法包括增加958連接積壓隊(duì)列大小。
通過(guò)上述說(shuō)明應(yīng)理解只要不脫離本發(fā)明的真正精神,可以對(duì)本發(fā)明的各種實(shí)施例進(jìn)行修改和改變。本說(shuō)明書的說(shuō)明只是為了說(shuō)明目的而不應(yīng)在限制的意義上被理解。本發(fā)明的范圍只由下述權(quán)利要求的語(yǔ)言來(lái)限制。
權(quán)利要求
1.一種動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源的方法,該方法包括
監(jiān)視在數(shù)據(jù)通信協(xié)議中運(yùn)行的數(shù)據(jù)通信端口的連接性能參數(shù),所述數(shù)據(jù)通信端口具有連接積壓隊(duì)列,所述連接積壓隊(duì)列具有連接積壓隊(duì)列大小;以及
根據(jù)所監(jiān)視的連接性能參數(shù)改變連接積壓隊(duì)列大小,而不中斷數(shù)據(jù)通信端口的運(yùn)行且不需用戶介入。
2.根據(jù)權(quán)利要求1的方法,其中
監(jiān)視連接性能參數(shù)的所述步驟還包括接收連接請(qǐng)求并確定連接積壓隊(duì)列已滿;以及
根據(jù)所監(jiān)視的連接性能參數(shù)改變連接積壓隊(duì)列大小的所述步驟還包括增加連接積壓隊(duì)列大小。
3.根據(jù)權(quán)利要求1的方法,其中
監(jiān)視連接性能參數(shù)的所述步驟還包括監(jiān)視連接積壓隊(duì)列負(fù)載;以及
改變連接積壓隊(duì)列大小的所述步驟還包括根據(jù)所述連接積壓隊(duì)列負(fù)載改變所述積壓隊(duì)列大小。
4.根據(jù)權(quán)利要求1的方法,其中
監(jiān)視連接性能參數(shù)的所述步驟還包括計(jì)算用于連接握手的一部分的平均往返時(shí)間并計(jì)算連接請(qǐng)求之間的平均到達(dá)間隔;以及
改變連接積壓隊(duì)列大小的所述步驟還包括如果所述平均到達(dá)間隔小于所述平均往返時(shí)間則增加所述連接積壓隊(duì)列大小,并且如果所述平均到達(dá)間隔大于所述平均往返時(shí)間則減小所述連接積壓隊(duì)列大小。
5.根據(jù)權(quán)利要求1的方法,其中
監(jiān)視連接性能參數(shù)的所述步驟還包括計(jì)算連接積壓隊(duì)列的帶寬延遲乘積并比較所述帶寬延遲乘積和所述隊(duì)列大??;以及
改變連接積壓隊(duì)列大小的所述步驟還包括如果所述連接積壓隊(duì)列大小小于所述帶寬延遲乘積,則將所述積壓隊(duì)列大小改變到至少為所述帶寬延遲乘積。
6.根據(jù)權(quán)利要求1的方法,其中
監(jiān)視連接性能參數(shù)的所述步驟還包括測(cè)量接受處理時(shí)間;以及
改變連接積壓隊(duì)列大小的所述步驟還包括根據(jù)所述接受處理時(shí)間改變所述積壓隊(duì)列大小。
7.根據(jù)權(quán)利要求1的方法,其中
監(jiān)視連接性能參數(shù)的所述步驟還包括計(jì)算平均接受處理時(shí)間并計(jì)算連接積壓隊(duì)列的平均連接請(qǐng)求到達(dá)間隔;以及
改變連接積壓隊(duì)列大小的所述步驟還包括如果所述接受處理時(shí)間大于所述連接請(qǐng)求到達(dá)間隔,則增加所述連接積壓隊(duì)列大小。
8.一種用于動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源的系統(tǒng),該系統(tǒng)包括
用于監(jiān)視在數(shù)據(jù)通信協(xié)議中運(yùn)行的數(shù)據(jù)通信端口的連接性能參數(shù)的裝置,所述數(shù)據(jù)通信端口具有連接積壓隊(duì)列,所述連接積壓隊(duì)列具有連接積壓隊(duì)列大??;以及
用于根據(jù)所監(jiān)視的連接性能參數(shù)改變連接積壓隊(duì)列大小而不中斷數(shù)據(jù)通信端口的運(yùn)行且不需用戶介入的裝置。
9.根據(jù)權(quán)利要求8的系統(tǒng),其中
用于監(jiān)視連接性能參數(shù)的所述裝置還包括用于接收連接請(qǐng)求的裝置和用于確定連接積壓隊(duì)列已滿的裝置;以及
用于根據(jù)所監(jiān)視的連接性能參數(shù)改變連接積壓隊(duì)列大小的所述裝置還包括用于增加連接積壓隊(duì)列大小的裝置。
10.根據(jù)權(quán)利要求8的系統(tǒng),其中
用于監(jiān)視連接性能參數(shù)的所述裝置還包括用于監(jiān)視連接積壓隊(duì)列負(fù)載的裝置;以及
用于改變連接積壓隊(duì)列大小的所述裝置還包括用于根據(jù)所述連接積壓隊(duì)列負(fù)載改變所述積壓隊(duì)列大小的裝置。
11.根據(jù)權(quán)利要求8的系統(tǒng),其中
用于監(jiān)視連接性能參數(shù)的所述裝置還包括用于計(jì)算用于連接握手的一部分的平均往返時(shí)間的裝置和用于計(jì)算連接請(qǐng)求之間的平均到達(dá)間隔的裝置;以及
用于改變連接積壓隊(duì)列大小的所述裝置還包括用于增加所述連接積壓隊(duì)列大小的裝置,和用于減小所述連接積壓隊(duì)列大小的裝置。
12.根據(jù)權(quán)利要求8的系統(tǒng),其中
用于監(jiān)視連接性能參數(shù)的所述裝置還包括用于計(jì)算連接積壓隊(duì)列的帶寬延遲乘積的裝置和用于比較所述帶寬延遲乘積和所述隊(duì)列大小的裝置;以及
用于改變連接積壓隊(duì)列大小的所述裝置還包括用于將所述積壓隊(duì)列大小改變到至少為所述帶寬延遲乘積的裝置。
13.根據(jù)權(quán)利要求8的系統(tǒng),其中
用于監(jiān)視連接性能參數(shù)的所述裝置還包括用于測(cè)量接受處理時(shí)間的裝置;以及
用于改變連接積壓隊(duì)列大小的所述裝置還包括用于根據(jù)所述接受處理時(shí)間改變所述積壓隊(duì)列大小的裝置。
14.根據(jù)權(quán)利要求8的系統(tǒng),其中
用于監(jiān)視連接性能參數(shù)的所述裝置還包括用于計(jì)算平均接受處理時(shí)間的裝置和用于計(jì)算連接積壓隊(duì)列的平均連接請(qǐng)求到達(dá)間隔的裝置;以及
用于改變連接積壓隊(duì)列大小的所述裝置還包括用于增加所述連接積壓隊(duì)列大小的裝置。
15.一種用于動(dòng)態(tài)提供計(jì)算機(jī)產(chǎn)品資源的計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括
記錄介質(zhì);
在所述記錄介質(zhì)上記錄的用于監(jiān)視在數(shù)據(jù)通信協(xié)議中運(yùn)行的數(shù)據(jù)通信端口的連接性能參數(shù)的裝置,所述數(shù)據(jù)通信端口具有連接積壓隊(duì)列,所述連接積壓隊(duì)列具有連接積壓隊(duì)列大??;以及
在所述記錄介質(zhì)上記錄的用于根據(jù)所監(jiān)視的連接性能參數(shù)改變連接積壓隊(duì)列大小而不中斷數(shù)據(jù)通信端口的運(yùn)行且不需用戶介入的裝置。
16.根據(jù)權(quán)利要求15的計(jì)算機(jī)程序產(chǎn)品,其中
在所述記錄介質(zhì)上記錄的用于監(jiān)視連接性能參數(shù)的所述裝置還包括在所述記錄介質(zhì)上記錄的用于接收連接請(qǐng)求的裝置和在所述記錄介質(zhì)上記錄的用于確定連接積壓隊(duì)列已滿的裝置;以及
在所述記錄介質(zhì)上記錄的用于根據(jù)所監(jiān)視的連接性能參數(shù)改變連接積壓隊(duì)列大小的所述裝置還包括在所述記錄介質(zhì)上記錄的用于增加連接積壓隊(duì)列大小的裝置。
17.根據(jù)權(quán)利要求15的計(jì)算機(jī)程序產(chǎn)品,其中
在所述記錄介質(zhì)上記錄的用于監(jiān)視連接性能參數(shù)的所述裝置還包括在所述記錄介質(zhì)上記錄的用于監(jiān)視連接積壓隊(duì)列負(fù)載的裝置;以及
在所述記錄介質(zhì)上記錄的用于改變連接積壓隊(duì)列大小的所述裝置還包括在所述記錄介質(zhì)上記錄的用于根據(jù)所述連接積壓隊(duì)列負(fù)載改變所述積壓隊(duì)列大小的裝置。
18.根據(jù)權(quán)利要求15的計(jì)算機(jī)程序產(chǎn)品,其中
在所述記錄介質(zhì)上記錄的用于監(jiān)視連接性能參數(shù)的所述裝置還包括
在所述記錄介質(zhì)上記錄的用于計(jì)算用于連接握手的一部分的平均往返時(shí)間的裝置;和
在所述記錄介質(zhì)上記錄的用于計(jì)算連接請(qǐng)求之間的平均到達(dá)間隔的裝置;以及
在所述記錄介質(zhì)上記錄的用于改變連接積壓隊(duì)列大小的所述裝置還包括
在所述記錄介質(zhì)上記錄的用于增加所述連接積壓隊(duì)列大小的裝置;和
在所述記錄介質(zhì)上記錄的用于減小所述連接積壓隊(duì)列大小的裝置。
19.根據(jù)權(quán)利要求15的計(jì)算機(jī)程序產(chǎn)品,其中
在所述記錄介質(zhì)上記錄的用于監(jiān)視連接性能參數(shù)的所述裝置還包括在所述記錄介質(zhì)上記錄的用于計(jì)算連接積壓隊(duì)列的帶寬延遲乘積的裝置,和在所述記錄介質(zhì)上記錄的用于比較所述帶寬延遲乘積和所述隊(duì)列大小的裝置;以及
在所述記錄介質(zhì)上記錄的用于改變連接積壓隊(duì)列大小的所述裝置還包括在所述記錄介質(zhì)上記錄的用于將所述積壓隊(duì)列大小改變到至少為所述帶寬延遲乘積的裝置。
20.根據(jù)權(quán)利要求15的計(jì)算機(jī)程序產(chǎn)品,其中
在所述記錄介質(zhì)上記錄的用于監(jiān)視連接性能參數(shù)的所述裝置還包括在所述記錄介質(zhì)上記錄的用于測(cè)量接受處理時(shí)間的裝置;以及
在所述記錄介質(zhì)上記錄的用于改變連接積壓隊(duì)列大小的所述裝置還包括在所述記錄介質(zhì)上記錄的用于根據(jù)所述接受處理時(shí)間改變所述積壓隊(duì)列大小的裝置。
21.根據(jù)權(quán)利要求15的計(jì)算機(jī)程序產(chǎn)品,其中
在所述記錄介質(zhì)上記錄的用于監(jiān)視連接性能參數(shù)的所述裝置還包括在所述記錄介質(zhì)上記錄的用于計(jì)算平均接受處理時(shí)間的裝置,和在所述記錄介質(zhì)上記錄的用于計(jì)算連接積壓隊(duì)列的平均連接請(qǐng)求到達(dá)間隔的裝置;以及
在所述記錄介質(zhì)上記錄的用于改變連接積壓隊(duì)列大小的所述裝置還包括在所述記錄介質(zhì)上記錄的用于增加所述連接積壓隊(duì)列大小的裝置。
全文摘要
本發(fā)明公開了用于動(dòng)態(tài)提供服務(wù)器資源的方法、系統(tǒng)和產(chǎn)品。更具體地說(shuō),本發(fā)明公開了這樣的用于動(dòng)態(tài)提供計(jì)算機(jī)系統(tǒng)資源的方法、系統(tǒng)和產(chǎn)品,其包括監(jiān)視在數(shù)據(jù)通信協(xié)議中運(yùn)行的數(shù)據(jù)通信端口的連接性能參數(shù),所述數(shù)據(jù)通信端口具有連接積壓隊(duì)列,所述連接積壓隊(duì)列具有連接積壓隊(duì)列大??;以及根據(jù)所監(jiān)視的連接性能參數(shù)改變連接積壓隊(duì)列大小而不中斷數(shù)據(jù)通信端口的運(yùn)行且不需用戶介入。在本發(fā)明的典型實(shí)施例中,監(jiān)視連接性能參數(shù)的步驟包括接收連接請(qǐng)求并確定連接積壓隊(duì)列已滿,并且根據(jù)所監(jiān)視的連接性能參數(shù)改變連接積壓隊(duì)列大小的步驟包括增加連接積壓隊(duì)列大小。
文檔編號(hào)H04L12/56GK1674485SQ20051005577
公開日2005年9月28日 申請(qǐng)日期2005年3月21日 優(yōu)先權(quán)日2004年3月25日
發(fā)明者D·N·班納吉, K·V·M·巴拉塔克, V·瓦拉巴內(nèi)尼, V·文卡塔蘇布拉 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司