專利名稱:用于傳輸控制協(xié)議接合的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及客戶端-服務(wù)器系統(tǒng)。更具體來講,本發(fā)明提供了一種用于把代理的(proxied)網(wǎng)絡(luò)請求與后續(xù)請求的調(diào)回相接合(splice)的方法、系統(tǒng)和計算機程序產(chǎn)品。
背景技術(shù):
代理是客戶端和內(nèi)容服務(wù)器之間的媒介。它提供諸如對請求的基于規(guī)則的路由以及安全保護和高速緩存之類的特征。對于典型的代理操作中所固有的、在從內(nèi)核到用戶以及再次從用戶到內(nèi)核之間的環(huán)境切換和緩存復(fù)制而言,傳輸控制協(xié)議(TCP)接合(splicing)的發(fā)展通過減少資源利用而提高了代理的性能。
在其當(dāng)前的形式中,為了把入站(inbound)和出站(outbound)的套接字(socket)相互關(guān)聯(lián),只進行一次TCP接合調(diào)用。這樣做允許資源的有效利用。然而,這種方法的主要缺陷在于一旦接合方法被調(diào)用,就會失去控制。目前,代理完全釋放套接字控制,由此喪失了對后續(xù)請求做出路由判斷的能力。這限制了與隧道業(yè)務(wù)的接合的使用,其中一旦建立了連接,服務(wù)器端點就無法改變。當(dāng)任何一個連接被關(guān)閉時,接合都會自動被破壞。
大的響應(yīng)和超文本傳輸協(xié)議(HTTP)1.1持續(xù)(keep-alive)請求通常由代理來處理。原始TCP接合機制沒有考慮到這些HTTP連接的持久性本性以及在HTTP 1.1連接上向不同的內(nèi)容服務(wù)器路由請求的可能性。隨著新的流傳送介質(zhì)和編組(teaming)應(yīng)用的出現(xiàn),看到來自內(nèi)容服務(wù)器的長使用期限的響應(yīng)也更加普遍。雖然TCP接合就資源利用而言可以增加性能并且優(yōu)化響應(yīng)時間,但是它實際上因短暫的連接而會使代理性能惡化。
發(fā)明內(nèi)容
總體上講,本發(fā)明提供了一種用于使代理的網(wǎng)絡(luò)請求與后續(xù)請求的調(diào)回相接合的方法、系統(tǒng)和計算機程序產(chǎn)品。
本發(fā)明提供了一種異步傳輸控制協(xié)議(TCP)接合機制,用于把TCP接合的范圍從任何一個套接字連接的使用期限改變?yōu)榻?jīng)由所述接合傳送的數(shù)據(jù)量。這樣做通常提供了如下的優(yōu)勢,即通過代理把接合應(yīng)用于常規(guī)的HTTP業(yè)務(wù)。本發(fā)明通過在規(guī)定的數(shù)據(jù)量或者超時值(曾經(jīng)第一次出現(xiàn))內(nèi)的入站和出站的套接字連接之間建立接合來修改TCP接合機制。當(dāng)終止接合時,生成包含接合狀態(tài)的完成事件,并且通知代理。所述代理由此重新獲得對客戶端套接字的控制,并且可以在所述套接字上服務(wù)于后續(xù)請求。這樣做例如往往允許代理重新路由后續(xù)請求以便更加有效地使用可用的內(nèi)容服務(wù)器。
本發(fā)明的第一方面致力于一種用于傳輸控制協(xié)議(TCP)接合的方法,包括由代理啟動第一和第二套接字連接之間的TCP接合以便服務(wù)于一請求;并且響應(yīng)于與所述TCP接合相關(guān)聯(lián)的完成事件,向代理返回對第一和第二套接字連接的控制。
本發(fā)明的第二方面致力于一種用于傳輸控制協(xié)議(TCP)接合的方法,包括啟動TCP接合以便服務(wù)于一請求;并且基于要通過所述TCP接合傳送的數(shù)據(jù)量來設(shè)置TCP接合的使用期限。
本發(fā)明的第三方面致力于一種用于傳輸控制協(xié)議(TCP)接合的系統(tǒng),包括用于由代理啟動第一和第二套接字連接之間的TCP接合以便服務(wù)于一請求的系統(tǒng);以及用于響應(yīng)與所述TCP接合相關(guān)聯(lián)的完成事件來向代理返回對第一和第二套接字連接的控制的系統(tǒng)。
本發(fā)明的第四方面致力于一種用于傳輸控制協(xié)議(TCP)接合的存儲在計算機可讀介質(zhì)上的程序產(chǎn)品,所述計算機可讀介質(zhì)包括用于執(zhí)行如下步驟的程序代碼由代理啟動第一和第二套接字連接之間的TCP接合以便服務(wù)于一請求;并且響應(yīng)于與所述TCP接合相關(guān)聯(lián)的完成事件來向代理返回對第一和第二套接字連接的控制。
本發(fā)明的第五方面致力于一種采用用于傳輸控制協(xié)議(TCP)接合的應(yīng)用的方法,包括提供一種計算機基礎(chǔ)設(shè)施,所述計算機基礎(chǔ)設(shè)施可操作用于由代理啟動第一和第二套接字連接之間的TCP接合以便服務(wù)于一請求;并且響應(yīng)于與所述TCP接合相關(guān)聯(lián)的完成事件來向代理返回對第一和第二套接字連接的控制。
本發(fā)明的第六方面致力于一種包含在傳播信號中的用于傳輸控制協(xié)議(TCP)接合的計算機軟件,所述計算機軟件包括使計算機系統(tǒng)執(zhí)行如下功能的指令,所述功能包括由代理啟動第一和第二套接字連接之間的TCP接合以便服務(wù)于一請求;并且響應(yīng)于與所述TCP接合相關(guān)聯(lián)的完成事件來向代理返回對第一和第二套接字連接的控制。
根據(jù)以下結(jié)合附圖對本發(fā)明各個方面的詳細(xì)描述,將使本發(fā)明的這些以及其它特征更加易于理解,其中圖1描述了典型代理方案中的數(shù)據(jù)流,其中代理使用TCP接合把數(shù)據(jù)從內(nèi)容服務(wù)器發(fā)送到客戶端。
圖2描述了依照本發(fā)明實施例修改后的圖1中的代理方案,其中提供了異步輸入/輸出(I/O)機制以便響應(yīng)于完成事件的出現(xiàn)而向代理返回控制。
圖3描述了依照本發(fā)明實施例的流程圖。
圖4描述了用于實現(xiàn)本發(fā)明的計算機系統(tǒng)。
所述附圖僅僅是示意性的表示,而不打算描繪本發(fā)明的特定參數(shù)。附圖只意在描述本發(fā)明的典型實施例,并且因此不應(yīng)該認(rèn)為是限制本發(fā)明的范圍。在附圖中,相似的數(shù)字表示相似的元件。
具體實施例方式
如上所述,本發(fā)明提供了一種異步傳輸控制協(xié)議(TCP)接合機制,用于把TCP接合的范圍從任何一個套接字連接的使用期限改變?yōu)榻?jīng)由所述接合傳送的數(shù)據(jù)量。這樣做通常提供了如下的優(yōu)勢,即通過代理把接合應(yīng)用于常規(guī)的HTTP業(yè)務(wù)。本發(fā)明通過在規(guī)定的數(shù)據(jù)量或者超時值(曾經(jīng)第一次出現(xiàn))內(nèi)在入站和出站的套接字連接之間建立接合來修改TCP接合機制。當(dāng)終止接合時,生成包含接合狀態(tài)的完成事件,并且通知代理。所述代理由此重新獲得對客戶端套接字的控制,并且可以在所述套接字上服務(wù)于后續(xù)請求。這樣做例如往往允許代理重新路由后續(xù)請求以便更加有效地使用可用的內(nèi)容服務(wù)器。
在圖1中舉例說明了典型代理方案10中的數(shù)據(jù)流,在該方案中代理12響應(yīng)于客戶端請求18把數(shù)據(jù)從多個內(nèi)容服務(wù)器16的其中一個發(fā)送給客戶端14(對于把數(shù)據(jù)從客戶端14傳送到內(nèi)容服務(wù)器16而言,可以存在類似的方案)。如所屬技術(shù)領(lǐng)域已知的那樣,當(dāng)建立TCP接合20時,數(shù)據(jù)從內(nèi)容服務(wù)器16通過套接字連接(例如s0、s1)經(jīng)由代理12的網(wǎng)絡(luò)/傳輸層空間22傳遞至客戶端14。
本發(fā)明提供了如圖2所示的經(jīng)修改的代理方案30。特別是,本發(fā)明提供了異步輸入/輸入(I/O)機制32,用于響應(yīng)于完成事件34的出現(xiàn)而向代理12返回控制。完成事件34例如可以包括(A)在建立接合20期間規(guī)定的超時值期滿。如果接合20沒有在預(yù)定時間段(例如,10分鐘)內(nèi)完成,則假設(shè)接合20將不會完成并且代理12需要采取校正動作。
(B)已經(jīng)通過接合的套接字傳送了規(guī)定量的數(shù)據(jù)。
(C)發(fā)生異常(例如,在接合20中所涉及的兩個套接字之一上發(fā)生套接字故障)。
下面將描述通過本發(fā)明實施例提供的數(shù)據(jù)流的說明性示例。
(1)客戶端14向代理12發(fā)送HTTP GET請求(例如,GET/webconf/keepmeupdatedrooma)。
(2)代理12接收來自于客戶端14的GET請求,確定(例如,基于已建立的規(guī)則)GET請求是否處于長使用期的響應(yīng)類別中,并且確定哪一個內(nèi)容服務(wù)器16應(yīng)該服務(wù)于所述請求。套接字連接s0從客戶端14接受入站的請求。
(3)代理12向適當(dāng)?shù)膬?nèi)容服務(wù)器16和所創(chuàng)建的套接字連接s1發(fā)出請求。代理12接收來自內(nèi)容服務(wù)器16的關(guān)于待傳送數(shù)據(jù)量(例如,750兆字節(jié))的響應(yīng)。基于待傳送的數(shù)據(jù)量(和/或其它已建立的規(guī)則),代理12確定此請求是用于接合的候選。
(4)TCP接合20由代理12來調(diào)用splice(ioCompletionPort,size,timeout,s0,s1,ioCompletionKey),其中ioCompletionPort表示由所有接合使用的完成端口,size(大小)表示待寫數(shù)據(jù)量(例如,以字節(jié)表示),timeout(超時)表示任何一個套接字連接超時之前的閑置量(例如,以秒、分鐘等表示),s0和s1分別表示客戶端14和代理12、以及代理12和內(nèi)容服務(wù)器16之間的套接字連接,并且completion key(完成密鑰)表示用于跟蹤TCP接合20的唯一值。
(5)把數(shù)據(jù)從內(nèi)容服務(wù)器16經(jīng)由TCP接合20發(fā)送到客戶端14。
(6)當(dāng)完成數(shù)據(jù)傳送時,拆除TCP接合20,并且生成完成事件,所述完成事件通過GetQueuedCompletionStatus系統(tǒng)調(diào)用由代理12接收。所述代理12匹配完成密鑰并且記錄傳送的數(shù)據(jù)量。
(7)代理12現(xiàn)在準(zhǔn)備好在客戶端套接字連接s0上服務(wù)于下一請求,其經(jīng)由通常的連接管理機制來進行。
上述方法允許代理12記錄事件和利用TCP接合。另外,代理12可以重新使用同一客戶端套接字連接s0,而不需要強制客戶端14開始新的請求。
以下參考圖3中描述的流程圖40以及圖2中描述的已修改的代理方案30來提供對上述處理的更加詳細(xì)的描述。如圖所示,流程圖40包括由代理12的不同級別執(zhí)行/提供的步驟,所述不同級別包括接收方線程、工作方線程和內(nèi)核/OS。假設(shè)閱讀者相當(dāng)于本領(lǐng)域中的普通技術(shù)人員而已經(jīng)理解了代理。因此,此處沒有提供對代理操作的詳細(xì)說明。
在步驟S1,響應(yīng)于客戶端請求18,接受來自客戶端14的套接字連接s0。在步驟S2,在已經(jīng)處理了套接字連接s0并且代理12了解到該請求意欲何為(例如,HTTP GET請求)之后,代理12確定(例如,使用映射規(guī)則確定)哪一個內(nèi)容服務(wù)器16應(yīng)該服務(wù)于所述請求。在步驟S3,代理12打開與適當(dāng)?shù)膬?nèi)容服務(wù)器16的套接字連接s1,并且確定待傳送的數(shù)據(jù)量。
在步驟S4,確定TCP接合請求的候選資格。此操作例如可以基于當(dāng)從內(nèi)容服務(wù)器請求數(shù)據(jù)時確定的特性(例如,s1上的HTTP響應(yīng)所確定的待傳送數(shù)據(jù)量),或者可以基于檢測到由用戶指定的預(yù)定模式(例如,諸如始終基于入站的統(tǒng)一資源標(biāo)識符(URI)模式來強制接合)。還可以使用特定用戶或者應(yīng)用的服務(wù)質(zhì)量來確定TCP接合的候選資格。如果所述請求不是TCP接合的候選,那么流程進行到步驟S5,其中所述請求由代理12依照正常方式來處理。然而,如果從客戶端14接收的請求是TCP接合的候選,則在步驟S6,TCP接合20由代理12依照如下方式調(diào)用splice(ioCompletionPort,size,timeout,s0,s1,ioCompletionKey),其中ioCompletionPort表示由所有接合使用的完成端口,size(大小)表示待寫數(shù)據(jù)量(例如,以字節(jié)表示),timeout(超時)表示任何一個套接字連接超時之前的閑置量(例如,以秒、分鐘等表示),s0和s1分別表示客戶端14和代理12、以及代理12和內(nèi)容服務(wù)器16之間的套接字連接,并且completion key(完成密鑰)表示用于跟蹤TCP接合20的唯一值。然后把對于TCP接合20的職責(zé)傳給內(nèi)核/OS級別。
在步驟S7,所述TCP接合20與所有其它未決TCP接合20一起置于接合隊列36中。在步驟S8,所述內(nèi)核/OS接管在與TCP接合20相關(guān)聯(lián)的套接字連接s0和s1之間傳送數(shù)據(jù)的處理。接合隊列36中的TCP接合20可以按照預(yù)先確定的順序(例如,基于接收順序、大小等)來處理,或者依照并行方式來處理。同時,工作方線程44自由地處理其它處理過程。
一旦內(nèi)核/OS已經(jīng)結(jié)束傳送TCP接合20(即,在接合隊列36中排隊的任何TCP接合20)中的所有數(shù)據(jù)(步驟S9),或者當(dāng)出現(xiàn)錯誤(例如,超時)時,拆除TCP接合20,并且生成完成事件34(步驟S10),并且通過GetQueuedCompletionStatus系統(tǒng)調(diào)用GetQueuedCompletionStatus(ioCompletionPort,completion key,s0,s1),由可用的工作方線程接收完成事件。為此,所述完成端口與完成密鑰一起被“調(diào)回”。如果在TCP接合20期間發(fā)生錯誤(步驟S11),那么流程進行到步驟S12,其中記錄所述錯誤和對應(yīng)于TCP接合20的完成密鑰,和/或執(zhí)行錯誤恢復(fù)。如果在TCP接合20期間沒有發(fā)生錯誤(步驟S11),則流程進行到步驟S13,其中記錄對應(yīng)于TCP接合20的完成密鑰,并且生成統(tǒng)計信息。在步驟S14,確定是否應(yīng)當(dāng)有具有與同一或不同內(nèi)容服務(wù)器16的已有套接字連接的另一TCP接合20。如果是的話,則可以重發(fā)TCP接合,或者可以建立新的TCP接合20(這樣做往往需要另一splice(ioCompletionPort,size,timeout,s0,s1,ioCompletionKey)調(diào)用)。在TCP接合20期間,這樣做往往在數(shù)據(jù)傳送期間再次卸載工作方線程。如果不是的話,則可以分派工作方線程進行其它工作(步驟S5)。
圖4中舉例說明了依照本發(fā)明實施例的用于將代理的網(wǎng)絡(luò)請求與后續(xù)請求調(diào)回相接合的代理服務(wù)器100。如圖所示,代理服務(wù)器100通常包括處理部件102、存儲器104、總線106、輸入/輸出(I/O)接口108、外部設(shè)備/資源110和存儲部件112。處理部件102可以包括單個處理部件,或者可以分布在處于一個或多個位置中的一個或多個處理部件上。存儲器104可以包括任何已知類型的數(shù)據(jù)存儲和/或傳輸介質(zhì),包括磁介質(zhì)、光學(xué)介質(zhì)、隨機存取存儲器(RAM)、只讀存儲器(ROM)等。此外,類似于處理部件102,存儲器104可以駐留在單個物理位置上,包括一種或多種類型的數(shù)據(jù)存儲設(shè)備,或者以各種形式分布在多個物理系統(tǒng)上。
I/O接口108可以包括用于往返于外部源交換信息的任何系統(tǒng)。外部設(shè)備/資源110可以包括任何已知類型的外部設(shè)備,包括揚聲器、CRT、LED屏幕、手持設(shè)備、鍵盤、鼠標(biāo)、語音識別系統(tǒng)、語言出站系統(tǒng)、打印機、監(jiān)視器/顯示器(例如,顯示器112)、傳真機、尋呼機等。
總線106在代理服務(wù)器100中的每個組件之間提供通信鏈路,并且還可以包括任何已知類型的傳輸鏈路,其中包括電氣、光學(xué)、無線鏈路等。另外,雖然未示出,但是還可以把諸如高速緩沖存儲器、通信系統(tǒng)、系統(tǒng)軟件等的額外組件并入代理服務(wù)器100中。
實踐本發(fā)明時使用的數(shù)據(jù)可以本地存儲在代理服務(wù)器100中,例如存儲在存儲部件114中,和/或可以經(jīng)由網(wǎng)絡(luò)116提供給代理服務(wù)器100。在本發(fā)明中,存儲部件114可以是能夠為數(shù)據(jù)和信息提供存儲的任何系統(tǒng)。照此,存儲部件114可以駐留在單個物理位置上,包括一種或多種類型的數(shù)據(jù)存儲設(shè)備,或者可以以各種形式分布在多個物理系統(tǒng)上。在另一個實施例中,存儲部件114可以例如分布在局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)或者存儲區(qū)域網(wǎng)絡(luò)(SAN)(未示出)上。
網(wǎng)絡(luò)116意在表示任何類型的網(wǎng)絡(luò),經(jīng)由所述網(wǎng)絡(luò)可以傳輸數(shù)據(jù)。例如,網(wǎng)絡(luò)116可以包括互聯(lián)網(wǎng)、廣域網(wǎng)(WAN)、局域網(wǎng)(LAN)、虛擬專用網(wǎng)絡(luò)(VPN)、WiFi網(wǎng)絡(luò)或者其它類型的網(wǎng)絡(luò)。為此,可以經(jīng)由直接硬線連接的連接或者經(jīng)由客戶端-服務(wù)器(或者服務(wù)器-服務(wù)器)環(huán)境中的可尋址連接來進行通信,其中可尋址連接可利用有線和/或無線傳輸方法的任何組合。在后一種情況下,服務(wù)器和客戶端可以利用慣用的網(wǎng)絡(luò)連接性,諸如令牌環(huán)網(wǎng)、以太網(wǎng)、WiFi或者其它慣用的通信標(biāo)準(zhǔn)。所述客戶端經(jīng)由互聯(lián)網(wǎng)與服務(wù)器通信的情況下,可以通過慣用的基于TCP/IP套接字的協(xié)議來提供連接性。在這種情況下,客戶端往往利用互聯(lián)網(wǎng)服務(wù)供應(yīng)商來建立與服務(wù)器的連接性??梢园岩粋€或多個客戶端118和內(nèi)容服務(wù)器120經(jīng)由網(wǎng)絡(luò)116連接至代理服務(wù)器100。每一客戶端裝置118和內(nèi)容服務(wù)器120可以包括類似于上文就代理服務(wù)器100所述的那些組件的組件。
作為計算機程序產(chǎn)品在存儲器104中示出的是用于執(zhí)行代理操作的代理應(yīng)用122。代理應(yīng)用122包括依照本發(fā)明實施例的接合系統(tǒng)124,其用于把代理的網(wǎng)絡(luò)請求與調(diào)回相接合。接合系統(tǒng)124包括接合調(diào)用系統(tǒng)126,其用于調(diào)用TCP接合splice(ioCompletionPort,size,timeout,s0,s1,ioCompletionKey);并且還包括完成事件系統(tǒng)128,其用于生成完成事件,所述完成事件經(jīng)由GetQueuedCompletionStatus系統(tǒng)調(diào)用來檢測。代理應(yīng)用122還包括用于執(zhí)行上文就本發(fā)明描述的其它各種處理的系統(tǒng)(未示出)。
應(yīng)該理解的是,本發(fā)明的教義是作為基于預(yù)訂或者付費的商業(yè)方法而提供的。例如,代理服務(wù)器100可以由服務(wù)供應(yīng)商來創(chuàng)建、維護、支持和/或采用,所述服務(wù)供應(yīng)商為顧客提供此處所述的功能。也就是說,服務(wù)供應(yīng)商可用于提供如上所述的傳輸控制協(xié)議(TCP)接合。
還應(yīng)該理解的是,本發(fā)明可以依照硬件、軟件、傳播信號或者是它們的任意組合來實現(xiàn)。任何類型的計算機/服務(wù)器系統(tǒng)——或者適合于執(zhí)行此處所述的方法的其它設(shè)備——都是適合的。硬件和軟件的典型組合可以是具有計算機程序的通用計算機系統(tǒng),當(dāng)載入并且執(zhí)行所述計算機程序時,計算機系統(tǒng)可執(zhí)行此處所述的各種方法。作為選擇,還可以利用包含用于執(zhí)行本發(fā)明的一個或多個功能任務(wù)的專用硬件的專用計算機。本發(fā)明還可以被嵌入計算機程序產(chǎn)品或者傳播信號中,其包括能夠?qū)崿F(xiàn)此處所述的方法的所有相應(yīng)特征,并且當(dāng)將其載入計算機系統(tǒng)時,能夠執(zhí)行這些方法。在當(dāng)前上下文中的計算機程序、傳播信號、軟件程序、程序或者軟件是指任何以下述一組指令的任何語言、代碼或符號形式的表示,所述指令用于使具有信息處理能力的系統(tǒng)直接或者在進行如下步驟之一或者全部后執(zhí)行特定的功能,所述步驟包括(a)轉(zhuǎn)換為另一種語言、代碼或符號;和/或(b)依照不同材料形式再現(xiàn)。
為了舉例說明和描述的目的已經(jīng)給出了對本發(fā)明優(yōu)選實施例的上述描述。它并不意味著是窮舉的或者把本發(fā)明限制為所公開的具體形式,并且顯然,許多修改和變化都是可能的。意圖將對于所屬技術(shù)領(lǐng)域的專業(yè)人員來說顯而易見的這種修改和變化包括在本發(fā)明的范圍內(nèi),本發(fā)明的范圍由所附權(quán)利要求書來限定。
權(quán)利要求
1.一種用于傳輸控制協(xié)議——TCP接合的方法,包括由代理啟動在第一和第二套接字連接之間的TCP接合以便服務(wù)于一請求;并且響應(yīng)于與所述TCP接合相關(guān)聯(lián)的完成事件來向代理返回對第一和第二套接字連接的控制。
2.如權(quán)利要求1所述的方法,還包括在TCP接合期間,響應(yīng)于在第一和第二套接字連接之間傳送規(guī)定量的數(shù)據(jù)而生成完成事件。
3.如權(quán)利要求1所述的方法,還包括在TCP接合期間,響應(yīng)于超時值期滿而生成完成事件。
4.如權(quán)利要求1所述的方法,還包括在TCP接合期間,響應(yīng)于異常的出現(xiàn)而生成完成事件。
5.如權(quán)利要求1所述的方法,其中在重新獲得控制之后,所述代理可以在第一和第二套接字連接中的至少一個上服務(wù)于后續(xù)請求。
6.如權(quán)利要求1所述的方法,還包括把完成端口與由代理啟動的TCP接合相關(guān)聯(lián)。
7.如權(quán)利要求6所述的方法,還包括監(jiān)控所述完成端口以便確定與所述TCP接合相關(guān)聯(lián)的完成事件是否已經(jīng)生成。
8.如權(quán)利要求6所述的方法,其中把同一完成端口與所述代理啟動的所有TCP接合相關(guān)聯(lián)。
9.如權(quán)利要求1所述的方法,還包括把唯一的完成密鑰與由代理啟動的每一TCP接合相關(guān)聯(lián)。
10.如權(quán)利要求9所述的方法,還包括把所述TCP接合與代理啟動的所有其它未決TCP接合一起置于接合隊列中。
11.如權(quán)利要求10所述的方法,還包括當(dāng)完成接合隊列中的任何TCP接合時,生成完成事件;并且使用其相關(guān)聯(lián)的完成密鑰來識別已完成的TCP接合。
12.采用用于傳輸控制協(xié)議——TCP接合的應(yīng)用,包括提供計算機基礎(chǔ)設(shè)施,所述計算機基礎(chǔ)設(shè)施可操作用于執(zhí)行如權(quán)利要求1所述的方法。
13.包含在傳播信號中的用于傳輸控制協(xié)議——TCP接合的計算機軟件,所述計算機軟件包括使計算機系統(tǒng)執(zhí)行如權(quán)利要求1所述的方法的指令。
14.一種用于傳輸控制協(xié)議——TCP接合的方法,包括啟動TCP接合以便服務(wù)于一請求;并且基于將要通過所述TCP接合傳送的數(shù)據(jù)量來設(shè)置TCP接合的使用期限。
15.如權(quán)利要求14所述的方法,還包括基于超時值來設(shè)置TCP接合的使用期限。
16.如權(quán)利要求14所述的方法,還包括當(dāng)TCP接合的使用期限期滿時,向啟動所述TCP接合的代理返回對與所述TCP接合相關(guān)聯(lián)的套接字連接的控制。
17.如權(quán)利要求16所述的方法,還包括由所述代理在至少一個套接字連接上服務(wù)于后續(xù)請求。
18.一種用于傳輸控制協(xié)議——TCP接合的系統(tǒng),包括用于由代理啟動在第一和第二套接字連接之間的TCP接合以便服務(wù)于一請求的系統(tǒng);以及用于響應(yīng)于與TCP接合相關(guān)聯(lián)的完成事件來向代理返回對第一和第二套接字連接的控制的系統(tǒng)。
19.如權(quán)利要求18所述的系統(tǒng),還包括用于在TCP接合期間、響應(yīng)于在第一和第二套接字連接之間傳送規(guī)定量的數(shù)據(jù)而生成完成事件的系統(tǒng)。
20.如權(quán)利要求18所述的系統(tǒng),還包括用于在TCP接合期間、響應(yīng)于超時值的期滿而生成完成事件的系統(tǒng)。
21.如權(quán)利要求18所述的系統(tǒng),還包括用于在TCP接合期間、響應(yīng)于異常的出現(xiàn)而生成完成事件的系統(tǒng)。
22.如權(quán)利要求18所述的系統(tǒng),其中在重新獲得控制之后,所述代理可以在第一和第二套接字連接中的至少一個上服務(wù)于后續(xù)請求。
23.如權(quán)利要求18所述的系統(tǒng),還包括用于把完成端口與由代理啟動的TCP接合相關(guān)聯(lián)的系統(tǒng)。
24.如權(quán)利要求23所述的系統(tǒng),還包括用于監(jiān)控所述完成端口以便確定與所述TCP接合相關(guān)聯(lián)的完成事件是否已經(jīng)生成的系統(tǒng)。
25.如權(quán)利要求23所述的系統(tǒng),其中,同一完成端口與所述代理啟動的所有TCP接合相關(guān)聯(lián)。
26.如權(quán)利要求18所述的系統(tǒng),還包括用于把唯一的完成密鑰與由代理啟動的每一TCP接合相關(guān)聯(lián)的系統(tǒng)。
27.如權(quán)利要求26所述的系統(tǒng),還包括把所述TCP接合與代理啟動的所有其它未決TCP接合一起置于接合隊列中。
28.如權(quán)利要求27所述的系統(tǒng),還包括用于當(dāng)完成接合隊列中的任何TCP接合時、生成完成事件的系統(tǒng);以及用于使用其相關(guān)聯(lián)的完成密鑰來識別已完成的TCP接合的系統(tǒng)。
29.一種存儲在計算機可讀介質(zhì)上的用于傳輸控制協(xié)議——TCP接合的程序產(chǎn)品,所述計算機可讀介質(zhì)包括用于執(zhí)行如下步驟的程序代碼由代理啟動在第一和第二套接字連接之間的TCP接合以便服務(wù)于一請求;并且響應(yīng)于與所述TCP接合相關(guān)聯(lián)的完成事件來向代理返回對第一和第二套接字連接的控制。
全文摘要
本發(fā)明提供了一種用于使代理的網(wǎng)絡(luò)請求與后續(xù)請求的調(diào)回相接合的方法、系統(tǒng)和計算機程序產(chǎn)品。所述方法包括由代理啟動第一和第二套接字連接之間的傳輸控制協(xié)議(TCP)接合以便服務(wù)于一請求;并且響應(yīng)于與所述TCP接合相關(guān)聯(lián)的完成事件,向代理返回對第一和第二套接字連接的控制。
文檔編號H04L29/06GK1829228SQ20061000886
公開日2006年9月6日 申請日期2006年2月23日 優(yōu)先權(quán)日2005年2月24日
發(fā)明者馬德胡·K·切圖帕拉姆比爾, 雅克布·L·邁克利, 溫卡特·溫卡特蘇布拉, 王穎 申請人:國際商業(yè)機器公司