專利名稱:調(diào)節(jié)服務(wù)器群流入業(yè)務(wù)量的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及全球網(wǎng)絡(luò),特別涉及全球因特網(wǎng),和駐留在使用一組服務(wù)器的服務(wù)提供者上的各個(gè)屬主的因特網(wǎng)全球互連網(wǎng)(World Wide Web,WWW)網(wǎng)站,該組服務(wù)器設(shè)法滿足建立的服務(wù)級(jí)別。
背景技術(shù):
因特網(wǎng)是全球最大網(wǎng)絡(luò),并且對(duì)于學(xué)術(shù)機(jī)構(gòu)和很多小型、中型和大型企業(yè),以及個(gè)人用戶它已不可缺少。很多企業(yè)已開始將它們的應(yīng)用(商務(wù)和商業(yè))處理外交給服務(wù)提供者,而不是在它們自己的服務(wù)器上運(yùn)行和維護(hù)應(yīng)用軟件。這些服務(wù)提供者被稱作應(yīng)用服務(wù)提供者(Application Service Provider,ASP)。每個(gè)ASP安裝一組服務(wù)器(稱作服務(wù)器群),它們可以用來為各種客戶運(yùn)行很多不同的商務(wù)應(yīng)用。這些客戶(即,服務(wù)提供者的“客戶”,經(jīng)常稱作駐留客戶)對(duì)它們的應(yīng)用具有不同的“負(fù)載”要求。ASP必須確保它們的服務(wù)器群能處理它們駐留客戶應(yīng)用的各種負(fù)載要求。
當(dāng)企業(yè)將它們的商務(wù)應(yīng)用外交給服務(wù)提供者,它們典型地獲得從服務(wù)提供者接收對(duì)它們應(yīng)用的服務(wù)的保證。一旦服務(wù)提供者向客戶作出承諾,提供特定“級(jí)別”的服務(wù)(例如,服務(wù)級(jí)別約定(Service Level Agreement,SLA)),提供者必須向那個(gè)客戶保證那個(gè)級(jí)別的服務(wù)。通過檢查包目標(biāo)地址和傳輸控制協(xié)議(Transfer Control Protocol,TCP)端口號(hào),從服務(wù)提供者客戶到服務(wù)器群的流入業(yè)務(wù)量(例如,網(wǎng)際協(xié)議(Internet Protocol,IP)包)可以劃分為各種類別/類型。服務(wù)器群的應(yīng)用負(fù)載的一般SLA可以用一對(duì)TCP連接速率進(jìn)行表示對(duì)于第i個(gè)客戶的第j個(gè)應(yīng)用,最小TCP連接速率Nmin(i,j)和最大TCP連接速率Nmax(i,j)。最小(或min)TCP連接速率Nmin(i,j)是被保證的TCP連接速率,不管其他客戶應(yīng)用對(duì)服務(wù)器群的使用,第i個(gè)客戶的第j個(gè)應(yīng)用都要被該服務(wù)器群支持。換句話說,只要不超過Nmin(i,j),服務(wù)提供者就要保證服務(wù)器群接納與給定應(yīng)用和給定客戶相關(guān)的TCP連接請(qǐng)求。最大(或max)TCP連接速率Nmax(i,j)是如果可以獲得為處理第j個(gè)應(yīng)用分配的一些額外“可共享容量”,服務(wù)器群所支持的第i個(gè)客戶的第j個(gè)應(yīng)用的TCP連接速率上限??梢垣@得這種“可共享容量”是因?yàn)榉?wù)器群操作員為第j個(gè)應(yīng)用分配了一些“額外”容量,并且/或者由于一些客戶的第j個(gè)應(yīng)用當(dāng)前沒有使用它們所分配的最小TCP連接容量,因此可以使用一些“未使用的容量”。因此,Nmin(i,j)和Nmax(i,j)之間的范圍表示根據(jù)“全力”進(jìn)行支持的TCP連接,并且不一定保證在超出被保證的最小Nmin(i,j)的情況下接納客戶的TCP連接請(qǐng)求。通常,超出最小Nmin(i,j)時(shí)每個(gè)TCP連接的單位收費(fèi)大于低于Nmin(i,j)的每個(gè)TCP連接的單位收費(fèi)。對(duì)于不同的客戶,這種單位收費(fèi)可以不同。
一些商業(yè)產(chǎn)品(例如,Lucent/Xedia(www.xedia.com)的Access Point(AP)產(chǎn)品,和PhaseCom(www.speed-demon.com)的Speed-Class產(chǎn)品)可以用來“規(guī)劃”流入業(yè)務(wù)量(每秒流入服務(wù)器群的接納位),以滿足對(duì)每個(gè)客戶和每個(gè)客戶應(yīng)用的基于(最小,最大)帶寬使用的SLA。然而,不幸的是,流入服務(wù)器群的位流量不一定表示用TCP連接請(qǐng)求數(shù)表示的負(fù)載要求。美國專利申請(qǐng)序列號(hào)[律師事務(wù)表編號(hào)YO999-374]和09/543,207,一般與本發(fā)明放在一起,闡述通過調(diào)節(jié)服務(wù)器群的流入業(yè)務(wù)量滿足基于流出帶寬使用的SLA的系統(tǒng)和方法。然而,它們的系統(tǒng)不解決如何支持基于(Nmin(i,j),Nmax(i,j))TCP連接請(qǐng)求的SLA這一問題。
因此,所需的是根據(jù)TCP連接請(qǐng)求滿足服務(wù)器群的應(yīng)用負(fù)載SLA,而不是根據(jù)流入服務(wù)器群的位數(shù)滿足SLA的系統(tǒng)和方法。
發(fā)明內(nèi)容
本發(fā)明提供一種系統(tǒng)和方法,用于控制一組服務(wù)器如駐留各個(gè)屬主因特網(wǎng)全球互連網(wǎng)(WWW)網(wǎng)站的應(yīng)用服務(wù)提供者(ASP)的服務(wù)器群,接納應(yīng)用負(fù)載(TCP連接請(qǐng)求)的速率。本發(fā)明的系統(tǒng)和方法用來在如下環(huán)境中操作對(duì)于提供者所駐留并且客戶所使用的每個(gè)應(yīng)用類型,每個(gè)客戶具有基于負(fù)載的SLA。本發(fā)明的系統(tǒng)和方法通過支持對(duì)多個(gè)客戶和應(yīng)用的(最小、最大)TCP連接請(qǐng)求,實(shí)現(xiàn)本發(fā)明的這一方面。本發(fā)明的系統(tǒng)能夠具有用于最大化性能和操作靈活性的模塊設(shè)計(jì),同時(shí)還提供實(shí)時(shí)的負(fù)載處理,以最小化包處理延遲。
根據(jù)本發(fā)明的第一方面,該系統(tǒng)和方法保證,控制和傳遞客戶的基于TCP連接的負(fù)載SLA,該客戶的應(yīng)用駐留在一組服務(wù)器,例如服務(wù)器群上,由服務(wù)提供者進(jìn)行運(yùn)行。本發(fā)明的系統(tǒng)和方法需要使用負(fù)載調(diào)節(jié)器,它以如下方式運(yùn)行只調(diào)節(jié)新的TCP連接請(qǐng)求包,同時(shí)透明地傳遞其他IP包(例如,與現(xiàn)存TCP連接相關(guān)的包)。該調(diào)節(jié)器進(jìn)一步以如下方式運(yùn)行通過對(duì)請(qǐng)求應(yīng)用接納速率并且通過丟棄(或拒絕)請(qǐng)求來保證對(duì)客戶應(yīng)用的允諾服務(wù)級(jí)別,調(diào)節(jié)對(duì)每個(gè)客戶商務(wù)活動(dòng)應(yīng)用的輸入TCP連接請(qǐng)求流動(dòng),以保證先前對(duì)每個(gè)用戶(以它們各自的SLA為單位)允諾的服務(wù)級(jí)別。SLA最好采用(最小、最大)TCP連接請(qǐng)求速率的形式,其中,最小TCP連接請(qǐng)求速率表示接納TCP連接請(qǐng)求的被保證速率,而最大TCP連接請(qǐng)求表示,如果服務(wù)器群有未使用的資源可用來處理相關(guān)應(yīng)用,能夠接納TCP連接請(qǐng)求的速率上限。
根據(jù)本發(fā)明的優(yōu)選方面,每個(gè)輸入IP包放入一個(gè)公用緩沖區(qū),以作FIFO(first in first out,先入先出)處理。該系統(tǒng)從公用緩沖區(qū)提取一個(gè)包,確定該包所屬的相關(guān)客戶和應(yīng)用,然后使用支持和實(shí)施每個(gè)客戶應(yīng)用的基于(最小、最大)TCP連接請(qǐng)求負(fù)載的SLA的實(shí)時(shí)調(diào)節(jié)(或守門)算法處理新的TCP連接請(qǐng)求。調(diào)節(jié)算法在接納TCP連接請(qǐng)求,特別是超出最小SLA時(shí),可以尋找提高服務(wù)器群操作員收入的機(jī)會(huì)。
使用本發(fā)明所提供的系統(tǒng)和方法,基于(最小、最大)TCP連接請(qǐng)求負(fù)載的SLA被保證并傳遞到由ASP進(jìn)行服務(wù)的應(yīng)用。任何單個(gè)客戶的應(yīng)用負(fù)載被防止壟斷由ASP為所有客戶的那個(gè)應(yīng)用類型分配的全部應(yīng)用處理容量。按照如此方法,流入服務(wù)器群的全部負(fù)載得以最大化,并且負(fù)載的接納公平地提供給各個(gè)客戶。本發(fā)明的其他可能特點(diǎn)和好處包括能夠向多個(gè)不同應(yīng)用提供細(xì)化的服務(wù),并且提供防止任何懷有惡意的用戶試圖通過生成極端大量的TCP連接請(qǐng)求破壞客戶網(wǎng)站或服務(wù)器群的安全措施。本發(fā)明的方法和系統(tǒng)可以是“無狀態(tài)”(即,不跟蹤單個(gè)TCP連接)的,并且可以由外部裝置進(jìn)行控制,同時(shí)還能夠不接收任何周期控制信號(hào)就運(yùn)行。本發(fā)明的方法和系統(tǒng)還能允許要求比他們商定最小值更多的TCP連接的客戶對(duì)未使用TCP連接負(fù)載的“借用”和“非借用”。本發(fā)明的另一方面是能夠提供一種系統(tǒng),當(dāng)必須拒絕TCP連接請(qǐng)求時(shí),提供一個(gè)選擇,是簡單丟棄,還是返回一個(gè)TCP連接“復(fù)位”包到TCP發(fā)起者。
通過下面詳細(xì)描述,將更好地理解本發(fā)明的其他目的和優(yōu)點(diǎn)。
圖1示出本發(fā)明的系統(tǒng)環(huán)境和在其中操作用于控制和管理因特網(wǎng)服務(wù)器群流量的負(fù)載調(diào)節(jié)器;圖2示出圖1負(fù)載調(diào)節(jié)器的“守門人”中使用的實(shí)時(shí)算法;圖3示出在結(jié)合圖2實(shí)時(shí)“守門人”算法操作的“助手”中使用的算法;圖4示出可以用在“守門人”中代替圖2實(shí)時(shí)算法的基于目標(biāo)速率的算法;圖5示出在結(jié)合圖4基于目標(biāo)速率的“守門人”算法操作的“助手”中使用的算法。
具體實(shí)施例方式
圖1示意性示出本發(fā)明的系統(tǒng)環(huán)境10,其中通過因特網(wǎng)服務(wù)器群20的業(yè)務(wù)量可以用負(fù)載調(diào)節(jié)器12,稱作Web負(fù)載調(diào)節(jié)器或WWR進(jìn)行調(diào)節(jié)。在圖1中,表示所有客戶應(yīng)用的IP包(包括現(xiàn)存TCP連接和TCP連接請(qǐng)求)的流入業(yè)務(wù)量(web負(fù)載)14進(jìn)入WWR 12。WWR 12調(diào)節(jié)TCP連接請(qǐng)求包流,同時(shí)透明地傳遞(接納)其他IP包(例如,現(xiàn)存TCP連接的包和非TCP連接的包)。被接納的業(yè)務(wù)量(它還包括被接納的TCP連接請(qǐng)求包(使用下面描述的方式))通過高速LAN(high-speed LAN,HS-LAN)16發(fā)送到負(fù)載平衡器18。任何被拒絕的TCP連接請(qǐng)求包由WWR向?qū)?4進(jìn)行處理,它將該被拒絕的包發(fā)送到向外鏈路22。向外鏈路22還可以經(jīng)過HS-LAN 16或其它高速LAN。平衡器18可以是任何現(xiàn)存負(fù)載調(diào)度產(chǎn)品,如國際商業(yè)機(jī)器企業(yè)(www.ibm.com)的商業(yè)產(chǎn)品SecureWay Network Dispatcher,或者Cisco系統(tǒng)(www.cisco.com)的商業(yè)產(chǎn)品LocalDirector。平衡器18負(fù)責(zé)將所接收和接納的負(fù)載分派到服務(wù)器群20的很多服務(wù)器(S1、S2…Sn)。
WWR 12包括五個(gè)組成部分公用緩沖區(qū)28、守門人30、向?qū)?4、管理器36和助手38。流入業(yè)務(wù)量(web負(fù)載)14首先存儲(chǔ)在公用緩沖區(qū)28中,當(dāng)守門人30處理緩沖區(qū)28中的所接收TCP連接請(qǐng)求時(shí),該緩沖區(qū)的大小最好足夠大以吸收龐大的流入業(yè)務(wù)量14。守門人30根據(jù)客戶的SLA,作出決定,是接納還是拒絕(丟棄)所接收的特定客戶應(yīng)用的TCP連接請(qǐng)求。如果守門人30決定接納一個(gè)請(qǐng)求,該請(qǐng)求通過HS-LAN 16傳輸?shù)狡胶馄?8。如果守門人30決定拒絕一個(gè)請(qǐng)求,該請(qǐng)求轉(zhuǎn)交給處理被拒絕請(qǐng)求的向?qū)?4。向?qū)?4在處理被拒絕的TCP連接請(qǐng)求時(shí)有兩個(gè)選項(xiàng)。第一是簡單地丟棄請(qǐng)求,而第二是通過向外鏈路22將RST(reset,復(fù)位)代碼位為“ON(通)”的被拒絕TCP包返回到TCP連接發(fā)起者(沒有顯示)。
助手38通過計(jì)算守門人30能使用的“可共享”TCP連接量幫助守門人30。將計(jì)算“可共享”TCP連接的工作從守門人30轉(zhuǎn)交給助手38使守門人30更加高效并更具擴(kuò)展性。然而,消除助手38的需要,守門人30能夠計(jì)算“可共享”TCP連接量是可預(yù)見的。
如圖1所示,WWR 12最好能夠接收基于(最小、最大)TCP連接請(qǐng)求負(fù)載的SLA命令24,并且能夠提供負(fù)載統(tǒng)計(jì)數(shù)據(jù)26給適當(dāng)外部裝置40,以作處理和記帳。當(dāng)SLA命令24發(fā)生改變時(shí),管理器36通過接收SLA命令24為WWR12執(zhí)行這個(gè)功能,并且將所收集的負(fù)載統(tǒng)計(jì)數(shù)據(jù)26發(fā)送到外部處理和記帳裝置40。
下面表列出說明用在守門人30、向?qū)?4和助手38中的算法時(shí)用到的變量的定義。符號(hào) 描述Nlimit(j) 對(duì)于第j個(gè)應(yīng)用,服務(wù)器群20能接納的每秒TCP連接總數(shù)Nmin(i,j) 對(duì)于第i個(gè)客戶的第j個(gè)應(yīng)用,被保證的每秒TCP連接數(shù)Nmax(i,j) 超出Nmin(i,j)的全力支持的上限Nadmitted(i,j)對(duì)于第i個(gè)客戶的第j個(gè)應(yīng)用,服務(wù)器群20所接納的每秒TCP連接數(shù)Ntotal(j) 所有客戶i的Nadmitted(i,j)的和Nmin(j)所有客戶i的Nmin(i,j)的和Nexcess(j)服務(wù)器群的額外容量,Nexcess(j)=Nlimit(j)-Nmin(j)Nunused(j)“可借用”量;對(duì)于Nmin(i,j)>Nadmitted(i,j)的所有客戶i,[Nmin(i,j)-Nadmitted(i,j)]的和Nsharable(j) 能由超過Nmin(i,j)的客戶共享的TCP連接;Nsharable(j)=Nexcess(j)+Nunused(j)Ntarget(i,j) 對(duì)于(i,j),每秒TCP連接數(shù)的目標(biāo)速率注意如果守門人30保留TCP連接狀態(tài)信息,“每秒連接數(shù)”可以替換為“有效連接數(shù)”。
圖2示出適合用在守門人30中的實(shí)時(shí)算法。對(duì)在公用緩沖區(qū)28中接收的每個(gè)包執(zhí)行算法的步驟1到4。在步驟1,檢查時(shí)間間隔,稱作周期時(shí)間,查看它是否到期。如果沒有到期,算法繼續(xù)到步驟2;如果已到期,步驟1復(fù)位控制變量,周期計(jì)數(shù)器“C”增加1,從助手38獲得所有Nunused值(圖3所示的合適算法),所有Cadmitted增加Nadmitted,所有Crejected增加Nrejected,然后將所有Nadmitted和Nrejected復(fù)位為0,并且將所有Nsharable設(shè)置為Nexcess和Nunused的和。然后算法繼續(xù)到步驟2,使用FIFO處理從公用緩沖區(qū)28獲取一個(gè)包,并且檢查該包是否為TCP連接請(qǐng)求。這個(gè)檢查通過檢查SYN(同步)位是否為ON來完成。如果SYN位為OFF(關(guān))(表示該包不用于TCP連接請(qǐng)求,但是用于現(xiàn)存TCP連接),步驟2允許該包通過,并且算法返回到步驟1。然而,如果SYN位為ON(表示該包為用于新TCP連接的請(qǐng)求),執(zhí)行步驟3。
步驟3用來保證每個(gè)客戶應(yīng)用的最小服務(wù)級(jí)別約定Nmin。在步驟3,確定所接收包的索引(i,j),并且如果還存在允許接納的TCP連接數(shù)(Nadmitted(i,j))小于被保證的最小值(Nmin(i,j)),接納TCP連接請(qǐng)求。在步驟4,通過為所有客戶公平分配“可共享”資源(Nsharable),接納超出最小值直到最大值的TCP連接請(qǐng)求。只要Nsharable(j)大于0,步驟4就接納TCP連接請(qǐng)求。一旦由于所接納TCP連接請(qǐng)求(Nadmitted(i,j))超出最小值(Nmin(i,j)),Nsharable(j)減到0,所接收TCP連接請(qǐng)求就轉(zhuǎn)交給向?qū)?4,以作進(jìn)一步處理。
如上所述,圖3示出能結(jié)合圖2實(shí)時(shí)守門人算法使用的“助手”38的算法。當(dāng)操作模式為“不可借用”,表示客戶不允許使用另一客戶的未使用資源,助手算法返回Nunused(j)=0。當(dāng)操作模式為“可借用”,圖3的算法為每個(gè)應(yīng)用計(jì)算未使用資源Nunused(j)的總量,并且將所計(jì)算的數(shù)量返回到圖2守門人算法的步驟1。同樣地,WWR 12考慮需要比他們商定最小值更多的TCP連接的客戶對(duì)未使用TCP連接負(fù)載的“借用”和“不借用”。為了避免未使用資源Nunused(j)的過度使用,最好對(duì)每個(gè)應(yīng)用使用名為“Unused Permit Factor(j)”的常數(shù)乘法器。該乘法器的值在0和1之間。
向?qū)?4還采用能結(jié)合圖2實(shí)時(shí)守門人算法(和圖4所示的另一守門人算法,下面討論)使用的算法。如前所述,向?qū)?4負(fù)責(zé)決定如何處理被拒絕的TCP連接請(qǐng)求簡單地丟棄每個(gè)被拒絕的TCP連接請(qǐng)求(選項(xiàng)1)或者返回復(fù)位(RST)位為“ON”的包到TCP連接請(qǐng)求發(fā)起者(選項(xiàng)2)。由于選項(xiàng)2觸發(fā)TCP連接發(fā)起的立即關(guān)閉而沒有TCP連接超時(shí),因此選項(xiàng)2對(duì)終端用戶比較“友好”。
如上所述的方法是“實(shí)時(shí)”的,這是因?yàn)閷?duì)基于單位包接收的每個(gè)包作決定。本發(fā)明的WWR 12可以修改為使用“基于目標(biāo)速率”的算法,周期性(如每一秒)地計(jì)算接納TCP連接請(qǐng)求的速率。圖4示出能由守門人30使用代替圖2算法的基于目標(biāo)速率的守門人算法。圖4的步驟1,每當(dāng)周期時(shí)間到期,復(fù)位變量。該步驟的關(guān)鍵是從助手38獲得目標(biāo)速率Ntarget(i,j),其對(duì)應(yīng)基于目標(biāo)速率的算法如圖5所示(下面討論)。當(dāng)包的SYN位為OFF時(shí),步驟2簡單地接納所接收的包。對(duì)于每個(gè)應(yīng)用,只要所接納連接請(qǐng)求總數(shù)Nadmitted(j)不大于目標(biāo)速率Ntarget(j),圖4的步驟3接納TCP連接請(qǐng)求。否則,TCP連接請(qǐng)求轉(zhuǎn)交給向?qū)?4,以作進(jìn)一步的處理。
圖5所示的用于助手28的算法特定地用來結(jié)合圖4所示的基于目標(biāo)速率的守門人算法使用。圖5助手算法的功能是為所有(i,j)計(jì)算由圖4基于目標(biāo)速率的守門人算法使用的Ntarget(i,j)。步驟1快速檢查Ntarget(i,j)是否需要重新計(jì)算。只要沒有拒絕TCP連接請(qǐng)求并且沒有觀察到SLA違例,就跳過Ntarget(i,j)的重新計(jì)算(轉(zhuǎn)到停止)。助手算法的步驟2確保對(duì)于每個(gè)(i,j),每個(gè)Ntarget(i,j)不超過Nmax(i,j)。步驟3根據(jù)操作模式是“可借用”或“不可借用”,計(jì)算Nsharable(j)。然后步驟3按比例估量和分配Nsharable(j)給目標(biāo)速率Ntarget(i,j)要求多于Nmin(i,j)的那些(i,j)。對(duì)于Ntarget(i,j)小于或等于Nmin(i,j)的那些(i,j),它將Ntarget(i,j)復(fù)位為Nmax(i,j)(相當(dāng)于沒有節(jié)流)。最后,步驟4終止助手算法。
使用本發(fā)明,WWR 12用來對(duì)由一組服務(wù)器進(jìn)行服務(wù)的應(yīng)用,保證并傳遞基于(最小、最大)TCP連接請(qǐng)求負(fù)載的SLA,并且完成這項(xiàng)工作,而不接收任何周期控制信號(hào)且外部裝置40的干涉達(dá)到最小限度。WWR 12的一個(gè)重要特征是流入服務(wù)器群20的總負(fù)載得以最大化,而且負(fù)載的接納公平地提供給多個(gè)客戶。按照如此方法,任何單個(gè)客戶的應(yīng)用負(fù)載被防止壟斷由ASP為所有客戶的那個(gè)應(yīng)用類型分配的全部應(yīng)用處理容量。WWR 12通過對(duì)不同的應(yīng)用賦不同的優(yōu)先權(quán),對(duì)額外容量Nexcess(j)賦不同的值和對(duì)Unused_Permit_Factor(j)賦不同的值,還能夠向多個(gè)不同應(yīng)用提供細(xì)化的服務(wù)。WWR12檢查和調(diào)節(jié)流入業(yè)務(wù)量的方式提供另外一個(gè)好處,防止任何懷有惡意的用戶試圖通過生成極端大量的TCP連接請(qǐng)求破壞客戶網(wǎng)站或服務(wù)器群。另外,WWR 12有效地作為流入業(yè)務(wù)量的“線路”出現(xiàn),因?yàn)樗牟僮魇恰盁o狀態(tài)”(即,WWR 12不跟蹤單個(gè)TCP連接)的。
如上描述的WWR 12可以用硬件、軟件或兩者進(jìn)行實(shí)現(xiàn)。例如,WWR12可以通過操作計(jì)算機(jī)進(jìn)行實(shí)現(xiàn),如實(shí)施為數(shù)字?jǐn)?shù)據(jù)處理裝置,以執(zhí)行機(jī)器可讀指令序列。這些指令可以駐留在各種類型的可編程信號(hào)承載介質(zhì)中。因此,本發(fā)明的這個(gè)方面針對(duì)一個(gè)編程產(chǎn)品,包括明顯地實(shí)施一個(gè)可由數(shù)字?jǐn)?shù)據(jù)處理器執(zhí)行的機(jī)器可讀指令程序以執(zhí)行上述方法的信號(hào)承載介質(zhì)。因此,除了如上所述的硬件和過程環(huán)境之外,本發(fā)明提供一種計(jì)算機(jī)實(shí)現(xiàn)的方法,用于實(shí)施駐留在web服務(wù)器群上的多個(gè)客戶的基于TCP連接請(qǐng)求的SLA,如上所述。作為一個(gè)示例,通過執(zhí)行信號(hào)承載介質(zhì)中的機(jī)器可讀指令序列,該方法可以在特定硬件環(huán)境中進(jìn)行實(shí)現(xiàn)。
因此,雖然本發(fā)明是根據(jù)特定的實(shí)施例進(jìn)行描述的,但是對(duì)于本領(lǐng)域的技術(shù)人員很明顯,可以采用其他形式。因此,本發(fā)明的范圍僅由下面權(quán)利要求進(jìn)行限定。
權(quán)利要求
1.一種調(diào)節(jié)多個(gè)服務(wù)器對(duì)許多TCP連接請(qǐng)求的接納的方法,所述多個(gè)服務(wù)器支持多個(gè)應(yīng)用和多個(gè)客戶,每個(gè)客戶根據(jù)指定該客戶被保證的最小TCP連接速率的服務(wù)級(jí)別約定,具有駐留在多個(gè)服務(wù)器上的電子商務(wù)活動(dòng),該方法包括如下步驟將多個(gè)應(yīng)用的多個(gè)客戶的進(jìn)入負(fù)載接收到公用緩沖區(qū)中,所述進(jìn)入負(fù)載包括現(xiàn)存TCP連接和TCP連接請(qǐng)求的IP包;然后通過調(diào)節(jié)到多個(gè)服務(wù)器的TCP連接請(qǐng)求包的流動(dòng),對(duì)每個(gè)應(yīng)用和每個(gè)客戶,控制進(jìn)入負(fù)載從公用緩沖區(qū)到多個(gè)服務(wù)器的流動(dòng),以為每個(gè)客戶和每個(gè)應(yīng)用至少提供最小TCP連接速率。
2.如權(quán)利要求1所述的方法,其特征在于,所有進(jìn)入負(fù)載接收到公用緩沖區(qū)中,并且TCP連接請(qǐng)求包以先進(jìn)先出的方式進(jìn)行處理。
3.如權(quán)利要求1所述的方法,其特征在于,所述方法不直接控制來自多個(gè)服務(wù)器的流出業(yè)務(wù)量。
4.如權(quán)利要求1所述的方法,其特征在于,通過檢測IP包是否為TCP連接請(qǐng)求包,并且立即接納所有其它包,執(zhí)行所述控制步驟。
5.如權(quán)利要求4所述的方法,其特征在于,通過確定IP包的SYN位是ON或OFF,執(zhí)行所述檢測步驟。
6.如權(quán)利要求4所述的方法,其特征在于,如果一定滿足與TCP連接請(qǐng)求對(duì)應(yīng)的客戶的最小TCP連接速率,接納關(guān)于TCP連接請(qǐng)求的IP包。
7.如權(quán)利要求6所述的方法,其特征在于,如果這樣做不妨礙滿足其它多個(gè)客戶的最小TCP連接速率,也接納關(guān)于客戶之一的TCP連接請(qǐng)求的IP包。
8.如權(quán)利要求7所述的方法,進(jìn)一步包括如下步驟丟棄控制步驟期間不被接納的TCP連接請(qǐng)求包。
9.如權(quán)利要求7所述的方法,進(jìn)一步包括如下步驟返回控制步驟期間不被接納的TCP連接請(qǐng)求包,控制步驟期間不被接納的TCP連接請(qǐng)求包用復(fù)位代碼位ON返回。
10.如權(quán)利要求1所述的方法,進(jìn)一步包括如下步驟當(dāng)一個(gè)或多個(gè)客戶已超過一個(gè)或多個(gè)應(yīng)用的最小TCP連接速率,對(duì)一個(gè)或多個(gè)應(yīng)用計(jì)算是否能接納一個(gè)或多個(gè)客戶的TCP連接請(qǐng)求包。
11.如權(quán)利要求1所述的方法,進(jìn)一步包括如下步驟與外部裝置進(jìn)行通信,以接收對(duì)一個(gè)或多個(gè)服務(wù)級(jí)別約定的修改。
12.如權(quán)利要求1所述的方法,進(jìn)一步包括如下步驟與外部裝置進(jìn)行通信,以將所收集的統(tǒng)計(jì)數(shù)據(jù)發(fā)送到外部裝置。
13.如權(quán)利要求1所述的方法,其特征在于,使用實(shí)時(shí)接納/拒絕算法執(zhí)行所述控制步驟,其中,基于每包調(diào)節(jié)TCP連接請(qǐng)求包到多個(gè)服務(wù)器的流動(dòng)。
14.如權(quán)利要求1所述的方法,其特征在于,使用基于目標(biāo)速率的接納/拒絕算法執(zhí)行所述控制步驟,其中,基于每單位時(shí)間調(diào)節(jié)TCP連接請(qǐng)求包到多個(gè)服務(wù)器的流動(dòng)。
15.一種根據(jù)支持多個(gè)應(yīng)用和多個(gè)客戶的多個(gè)TCP連接請(qǐng)求控制和保證服務(wù)級(jí)別約定的方法,所述多個(gè)客戶具有駐留在多個(gè)服務(wù)器上的電子商務(wù)活動(dòng),每個(gè)客戶具有指定該客戶被保證的最小TCP連接速率的服務(wù)級(jí)別約定,該方法包括如下步驟將多個(gè)應(yīng)用的多個(gè)客戶的所有進(jìn)入負(fù)載接收到公用緩沖區(qū)中,進(jìn)入負(fù)載包括現(xiàn)存TCP連接和TCP連接請(qǐng)求的IP包;以先進(jìn)先出的方式從公用緩沖區(qū)取出TCP連接請(qǐng)求包;和通過調(diào)節(jié)TCP連接請(qǐng)求包到服務(wù)器群的流動(dòng),對(duì)每個(gè)應(yīng)用和每個(gè)客戶,控制IP包從公用緩沖區(qū)到服務(wù)器群的流動(dòng),以為每個(gè)客戶和每個(gè)應(yīng)用至少提供最小TCP連接速率,該控制步驟包括檢測IP包是TCP連接請(qǐng)求包,或現(xiàn)存TCP連接包;立即接納現(xiàn)存TCP連接的IP包;如果一定滿足與TCP連接請(qǐng)求對(duì)應(yīng)的客戶的最小TCP連接速率,接納TCP連接請(qǐng)求包;和如果這樣做不妨礙滿足其它多個(gè)客戶的最小TCP連接速率,接納客戶之一的TCP連接請(qǐng)求包。
16.如權(quán)利要求15所述的方法,其特征在于,所述方法不直接控制來自服務(wù)器群的流出量。
17.如權(quán)利要求15所述的方法,其特征在于,通過確定IP包的SYN位是ON或OFF,執(zhí)行所述檢測步驟。
18.如權(quán)利要求15所述的方法,進(jìn)一步包括如下步驟丟棄控制步驟期間不被接納的IP包。
19.如權(quán)利要求15所述的方法,進(jìn)一步包括如下步驟返回控制步驟期間不被接納的TCP連接請(qǐng)求包,控制步驟期間不被接納的IP包用復(fù)位代碼位ON返回。
20.如權(quán)利要求15所述的方法,進(jìn)一步包括如下步驟當(dāng)一個(gè)或多個(gè)客戶已超過一個(gè)或多個(gè)應(yīng)用的最小TCP連接速率,對(duì)一個(gè)或多個(gè)應(yīng)用計(jì)算是否能接納一個(gè)或多個(gè)客戶的TCP連接請(qǐng)求包。
21.如權(quán)利要求15所述的方法,進(jìn)一步包括如下步驟與外部裝置進(jìn)行通信,以接收對(duì)一個(gè)或多個(gè)服務(wù)級(jí)別約定的修改,并且將所收集的統(tǒng)計(jì)數(shù)據(jù)發(fā)送到外部裝置。
22.如權(quán)利要求15所述的方法,其特征在于,使用實(shí)時(shí)接納/拒絕算法執(zhí)行所述控制步驟,其中,基于每包調(diào)節(jié)TCP連接請(qǐng)求包到服務(wù)器群的流動(dòng)。
23.如權(quán)利要求15所述的方法,其特征在于,使用基于目標(biāo)速率的接納/拒絕算法執(zhí)行所述控制步驟,其中,基于每單位時(shí)間調(diào)節(jié)TCP連接請(qǐng)求包到服務(wù)器群的流動(dòng)。
24.一種調(diào)節(jié)多個(gè)服務(wù)器對(duì)許多TCP連接請(qǐng)求的接納的系統(tǒng),所述多個(gè)服務(wù)器支持多個(gè)應(yīng)用和多個(gè)客戶,每個(gè)客戶根據(jù)指定該客戶被保證的最小TCP連接速率的服務(wù)級(jí)別約定,具有駐留在多個(gè)服務(wù)器上的電子商務(wù)活動(dòng),該系統(tǒng)包括公用緩沖區(qū),用于接收多個(gè)應(yīng)用的多個(gè)客戶的進(jìn)入負(fù)載,所述進(jìn)入負(fù)載包括關(guān)于現(xiàn)存TCP連接和TCP連接請(qǐng)求的IP包;和控制裝置,用于通過調(diào)節(jié)TCP連接請(qǐng)求包到多個(gè)服務(wù)器的流動(dòng),對(duì)每個(gè)應(yīng)用和每個(gè)客戶,控制進(jìn)入負(fù)載從公用緩沖區(qū)到多個(gè)服務(wù)器的流動(dòng),以為每個(gè)客戶和每個(gè)應(yīng)用至少提供最小TCP連接速率。
25.如權(quán)利要求24所述的系統(tǒng),其特征在于,所述公用緩沖區(qū)配置為接收所有進(jìn)入負(fù)載,并且所述控制裝置配置為以先進(jìn)先出的方式處理TCP連接請(qǐng)求包。
26.如權(quán)利要求24所述的系統(tǒng),其特征在于,所述系統(tǒng)不配置為直接控制來自多個(gè)服務(wù)器的流出量。
27.如權(quán)利要求24所述的系統(tǒng),其特征在于,所述控制裝置配置為檢測所述IP包是現(xiàn)存TCP連接,還是TCP連接請(qǐng)求,并且立即接納現(xiàn)存TCP連接的IP包。
28.如權(quán)利要求27所述的系統(tǒng),其特征在于,所述控制裝置配置為確定IP包的SYN位是ON或OFF。
29.如權(quán)利要求24所述的系統(tǒng),其特征在于,所述控制裝置配置為,如果一定滿足與TCP連接請(qǐng)求對(duì)應(yīng)的客戶的最小TCP連接速率,接納TCP連接請(qǐng)求包。
30.如權(quán)利要求29所述的系統(tǒng),其特征在于,所述控制裝置配置為,如果這樣做不妨礙滿足其它多個(gè)客戶的最小TCP連接速率,接納客戶之一的TCP連接請(qǐng)求包。
31.如權(quán)利要求30所述的系統(tǒng),進(jìn)一步包括用于丟棄不被控制裝置接納的TCP連接請(qǐng)求包的裝置。
32.如權(quán)利要求30所述的系統(tǒng),進(jìn)一步包括用復(fù)位代碼位ON返回不被接納的TCP連接請(qǐng)求包的裝置。
33.如權(quán)利要求24所述的系統(tǒng),進(jìn)一步包括用于當(dāng)一個(gè)或多個(gè)客戶已超過一個(gè)或多個(gè)應(yīng)用的最小TCP連接速率,對(duì)一個(gè)或多個(gè)應(yīng)用計(jì)算是否能接納一個(gè)或多個(gè)客戶的TCP連接請(qǐng)求包的裝置。
34.如權(quán)利要求24所述的系統(tǒng),進(jìn)一步包括用于與外部裝置進(jìn)行通信,以接收對(duì)一個(gè)或多個(gè)服務(wù)級(jí)別約定的修改的裝置。
35.如權(quán)利要求24所述的系統(tǒng),進(jìn)一步包括用于與外部裝置進(jìn)行通信,以將所收集的統(tǒng)計(jì)數(shù)據(jù)發(fā)送到外部裝置的裝置。
36.如權(quán)利要求24所述的系統(tǒng),其特征在于,所述控制裝置使用實(shí)時(shí)接納/拒絕算法運(yùn)行,其中,基于每包調(diào)節(jié)TCP連接請(qǐng)求包到多個(gè)服務(wù)器的流動(dòng)。
37.如權(quán)利要求24所述的系統(tǒng),其特征在于,所述控制裝置使用基于目標(biāo)速率的接納/拒絕算法運(yùn)行,其中,基于每單位時(shí)間調(diào)節(jié)TCP連接請(qǐng)求包到多個(gè)服務(wù)器的流動(dòng)。
38.一種基于支持多個(gè)應(yīng)用和多個(gè)客戶的許多TCP連接請(qǐng)求控制和保證服務(wù)級(jí)別約定的系統(tǒng),所述多個(gè)客戶具有駐留在多個(gè)服務(wù)器上的電子商務(wù)活動(dòng),每個(gè)客戶具有指定該客戶被保證的最小TCP連接速率的服務(wù)級(jí)別約定,該系統(tǒng)包括公用緩沖區(qū),在其中接收多個(gè)應(yīng)用的多個(gè)客戶的進(jìn)入負(fù)載,進(jìn)入負(fù)載包括現(xiàn)存TCP連接和TCP連接請(qǐng)求的IP包;守門人,以先進(jìn)先出的方式從公用緩沖區(qū)取出IP包,并且通過調(diào)節(jié)IP包到服務(wù)器群的流動(dòng),對(duì)每個(gè)應(yīng)用和每個(gè)客戶,控制IP包從公用緩沖區(qū)到服務(wù)器群的流動(dòng),以為每個(gè)客戶和每個(gè)應(yīng)用至少提供最小TCP連接速率,所述守門人可以運(yùn)行檢測IP包是TCP連接請(qǐng)求包,還是現(xiàn)存TCP連接包,立即接納現(xiàn)存TCP連接的IP包,如果一定滿足與TCP連接請(qǐng)求對(duì)應(yīng)的客戶的最小TCP連接速率,接納TCP連接請(qǐng)求包,并且如果這樣做不妨礙滿足其它多個(gè)客戶的最小TCP連接速率,接納一個(gè)客戶的TCP連接請(qǐng)求包。
39.如權(quán)利要求38所述的系統(tǒng),其特征在于,所述系統(tǒng)不直接控制來自多個(gè)服務(wù)器的流出量。
40.如權(quán)利要求38所述的系統(tǒng),其特征在于,所述守門人配置為確定IP包的SYN位是ON或OFF。
41.如權(quán)利要求38所述的系統(tǒng),進(jìn)一步包括向?qū)аb置,用于丟棄不被守門人接納的TCP連接請(qǐng)求包。
42.如權(quán)利要求38所述的系統(tǒng),進(jìn)一步包括向?qū)аb置,用于用復(fù)位代碼位ON返回不被接納的TCP連接請(qǐng)求包。
43.如權(quán)利要求38所述的系統(tǒng),進(jìn)一步包括助手裝置,用于當(dāng)一個(gè)或多個(gè)客戶已超過一個(gè)或多個(gè)應(yīng)用的最小TCP連接速率,對(duì)一個(gè)或多個(gè)應(yīng)用計(jì)算是否能接納一個(gè)或多個(gè)客戶的TCP連接請(qǐng)求包。
44.如權(quán)利要求38所述的系統(tǒng),進(jìn)一步包括管理器裝置,用于與外部裝置進(jìn)行通信,以接收對(duì)一個(gè)或多個(gè)服務(wù)級(jí)別約定的修改,并且將所收集的統(tǒng)計(jì)數(shù)據(jù)發(fā)送到外部裝置。
45.如權(quán)利要求38所述的系統(tǒng),其特征在于,所述守門人使用實(shí)時(shí)接納/拒絕算法運(yùn)行,其中,基于每包調(diào)節(jié)TCP連接請(qǐng)求包到服務(wù)器群的流動(dòng)。
46.如權(quán)利要求38所述的系統(tǒng),其特征在于,所述守門人使用基于目標(biāo)速率的接納/拒絕算法運(yùn)行,其中,基于每單位時(shí)間調(diào)節(jié)TCP連接請(qǐng)求包到服務(wù)器群的流動(dòng)。
全文摘要
一種系統(tǒng)和方法,用于控制一組服務(wù)器,接納應(yīng)用負(fù)載(例如TCP連接請(qǐng)求)的速率。其在如下環(huán)境中操作:對(duì)于提供者所駐留并且客戶所使用的每個(gè)應(yīng)用類型,每個(gè)客戶具有基于負(fù)載的SLA。該系統(tǒng)和方法能支持對(duì)多個(gè)客戶和應(yīng)用的(最小、最大)TCP連接請(qǐng)求。通過使用負(fù)載調(diào)節(jié)器保證,控制和傳遞客戶的基于TCP連接的負(fù)載SLA,該客戶的應(yīng)用駐留在服務(wù)器群上,負(fù)載調(diào)節(jié)器如下運(yùn)行:只調(diào)節(jié)新的TCP連接請(qǐng)求包,同時(shí)為客戶透明地傳遞所接收的現(xiàn)存TCP連接包和其他請(qǐng)求包。該調(diào)節(jié)器還如下運(yùn)行:通過對(duì)請(qǐng)求應(yīng)用接納速率和通過丟棄(或拒絕)請(qǐng)求來保證對(duì)客戶應(yīng)用的允諾服務(wù)級(jí)別,調(diào)節(jié)對(duì)于每個(gè)客戶商務(wù)活動(dòng)應(yīng)用的輸入TCP連接請(qǐng)求的流動(dòng),以保證先前對(duì)每個(gè)客戶允諾的服務(wù)級(jí)別。
文檔編號(hào)H04L29/06GK1376987SQ02105058
公開日2002年10月30日 申請(qǐng)日期2002年2月11日 優(yōu)先權(quán)日2001年2月20日
發(fā)明者丸山清, 陳順成, 賈里爾·K·查爾, 讓·A·洛蘭, 米里亞姆·佐哈, 戴維·A·喬治 申請(qǐng)人:國際商業(yè)機(jī)器公司