国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于對(duì)確認(rèn)進(jìn)行過濾的方法、系統(tǒng)和設(shè)備的制作方法

      文檔序號(hào):7654171閱讀:280來源:國(guó)知局
      專利名稱:用于對(duì)確認(rèn)進(jìn)行過濾的方法、系統(tǒng)和設(shè)備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明一般地涉及通信管理,并且更特別地,涉及一種用于過濾針對(duì)通信連接而接收的確認(rèn)的解決方案。
      背景技術(shù)
      隨著網(wǎng)絡(luò)接口速度的增加,用以在網(wǎng)絡(luò)接口上實(shí)現(xiàn)通信所需的處理量正在成為性能瓶頸。例如,傳輸控制協(xié)議(TCP)棧需要大量處理以實(shí)現(xiàn)TCP通信。為了解決TCP棧的處理需求,已經(jīng)提出了兩種方法。
      在第一種方法中,TCP處理從協(xié)議棧完全卸載到網(wǎng)絡(luò)接口卡(NIC)。在這種方法中,NIC能夠使用遠(yuǎn)程直接存儲(chǔ)器訪問(RDMA)來發(fā)送數(shù)據(jù),而不需要計(jì)算設(shè)備上的處理單元。這種方法需要在NIC上的固件和/或硬件中實(shí)現(xiàn)TCP棧,使得難以調(diào)試、維護(hù)、升級(jí)等。更進(jìn)一步,通信連接的兩端都必須支持RDMA以成功地進(jìn)行通信。
      在第二種方法中,TCP棧繼續(xù)在主處理器上執(zhí)行,而部分處理任務(wù)被卸載到NIC。例如,NIC可以執(zhí)行TCP校驗(yàn)和。更進(jìn)一步,當(dāng)發(fā)送數(shù)據(jù)時(shí),TCP棧可以使用TCP分段(segmentation)卸載(TSO)或“TCP大型發(fā)送”。在這種情況下,TCP棧為NIC提供大于能夠在單個(gè)分組中發(fā)送的數(shù)據(jù)分組的數(shù)據(jù)分組用于傳輸(例如64千字節(jié))。NIC將數(shù)據(jù)分割成多個(gè)所需大小的分組(例如1500字節(jié))用于傳輸。通過管理大型數(shù)據(jù)分組,減小了TCP棧的協(xié)議開銷。為了解決對(duì)接收數(shù)據(jù)的處理需求,只提出了有限的策略,諸如每TCP連接復(fù)用和排隊(duì)以及TCP/網(wǎng)際協(xié)議(IP)報(bào)頭分離,由此啟動(dòng)諸如操作系統(tǒng)旁路和零復(fù)制操作之類的功能。
      考慮到前述問題,需要克服現(xiàn)有技術(shù)中的一種或多種缺陷。

      發(fā)明內(nèi)容
      本發(fā)明提供了一種用于管理通信連接的解決方案,其中過濾一個(gè)或多個(gè)確認(rèn)。特別地,可以獲得用于轉(zhuǎn)發(fā)到遠(yuǎn)端設(shè)備的數(shù)據(jù),并且可以傳送該數(shù)據(jù)的至少一部分以便在遠(yuǎn)端設(shè)備上處理。隨后,接收對(duì)該至少一部分?jǐn)?shù)據(jù)的確認(rèn),并且確定是否要基于優(yōu)化配置來轉(zhuǎn)發(fā)該確認(rèn)。本發(fā)明可以包括若干檢查以確保正確轉(zhuǎn)發(fā)任意應(yīng)當(dāng)被轉(zhuǎn)發(fā)以便進(jìn)行進(jìn)一步處理的確認(rèn)。在一個(gè)實(shí)施例中,本發(fā)明在網(wǎng)絡(luò)適配器上實(shí)現(xiàn),并且使得該網(wǎng)絡(luò)適配器接收的對(duì)大型發(fā)送數(shù)據(jù)分組的大量確認(rèn)能夠被過濾并且不被提供給協(xié)議棧。
      本發(fā)明的第一個(gè)方面提供了一種管理通信連接的方法,該方法包括獲得用于轉(zhuǎn)發(fā)到遠(yuǎn)端設(shè)備的數(shù)據(jù);傳送該數(shù)據(jù)的至少一部分以便在該遠(yuǎn)端設(shè)備上處理;接收對(duì)該至少一部分?jǐn)?shù)據(jù)的確認(rèn);以及確定是否要基于優(yōu)化配置來轉(zhuǎn)發(fā)該確認(rèn)。
      本發(fā)明的第二個(gè)方面提供了一種用于管理通信連接的系統(tǒng),該系統(tǒng)包括用于獲得用于轉(zhuǎn)發(fā)到遠(yuǎn)端設(shè)備的數(shù)據(jù)的系統(tǒng);用于傳送該數(shù)據(jù)的至少一部分以便在該遠(yuǎn)端設(shè)備上處理的系統(tǒng);用于接收對(duì)該至少一部分?jǐn)?shù)據(jù)的確認(rèn)的系統(tǒng);以及用于確定是否要基于優(yōu)化配置來轉(zhuǎn)發(fā)該確認(rèn)的系統(tǒng)。
      本發(fā)明的第三個(gè)方面提供了存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序,當(dāng)其被執(zhí)行時(shí),使得計(jì)算機(jī)系統(tǒng)能夠管理通信連接,該計(jì)算機(jī)程序包括用于使得計(jì)算機(jī)系統(tǒng)能夠執(zhí)行以下操作的程序代碼獲得用于轉(zhuǎn)發(fā)到遠(yuǎn)端設(shè)備的數(shù)據(jù);傳送該數(shù)據(jù)的至少一部分以便在該遠(yuǎn)端設(shè)備上處理;接收對(duì)該至少一部分?jǐn)?shù)據(jù)的確認(rèn);以及確定是否要基于優(yōu)化配置來轉(zhuǎn)發(fā)該確認(rèn)。
      本發(fā)明的第四個(gè)方面提供了一種網(wǎng)絡(luò)適配器,包括用于獲得用于轉(zhuǎn)發(fā)到遠(yuǎn)端設(shè)備的數(shù)據(jù)的裝置;用于傳送該數(shù)據(jù)的至少一部分以便在該遠(yuǎn)端設(shè)備上處理的裝置;用于接收對(duì)該至少一部分?jǐn)?shù)據(jù)的確認(rèn)的裝置;以及用于確定是否要基于優(yōu)化配置來轉(zhuǎn)發(fā)該確認(rèn)的裝置。
      本發(fā)明的第五個(gè)方面提供了一種產(chǎn)生用于管理通信連接的系統(tǒng)的方法,該方法包括提供一種計(jì)算機(jī)系統(tǒng),該計(jì)算機(jī)系統(tǒng)可操作為獲得用于轉(zhuǎn)發(fā)到遠(yuǎn)端設(shè)備的數(shù)據(jù);傳送該數(shù)據(jù)的至少一部分以便在該遠(yuǎn)端設(shè)備上處理;接收對(duì)該至少一部分?jǐn)?shù)據(jù)的確認(rèn);以及確定是否要基于優(yōu)化配置來轉(zhuǎn)發(fā)該確認(rèn)。
      本發(fā)明的第六個(gè)方面提供了一種用于管理通信連接的業(yè)務(wù)方法,該業(yè)務(wù)方法包括管理執(zhí)行這里描述的處理的計(jì)算機(jī)系統(tǒng);以及基于該管理來接收付費(fèi)。
      本發(fā)明的示例性方面設(shè)計(jì)為解決這里描述的一個(gè)或多個(gè)問題和/或沒有討論的一個(gè)或多個(gè)其他問題。


      結(jié)合描述本發(fā)明的各種實(shí)施例的附圖,根據(jù)下面對(duì)本發(fā)明各方面的詳細(xì)描述,可以更容易地理解本發(fā)明的這些及其他特征,其中圖1示出了根據(jù)本發(fā)明實(shí)施例的用于管理通信連接的示例性環(huán)境。
      圖2示出了根據(jù)本發(fā)明實(shí)施例的用于傳送大型數(shù)據(jù)分組的示例性數(shù)據(jù)流程圖。
      圖3示出了根據(jù)本發(fā)明實(shí)施例的用于確定是否要轉(zhuǎn)發(fā)確認(rèn)用于由協(xié)議棧處理的示例性處理。
      注意,附圖不是按比例的。附圖僅用于描述本發(fā)明的典型方面,因此不應(yīng)當(dāng)被認(rèn)為是對(duì)本發(fā)明范圍的限制。在附圖中,同樣的編號(hào)表示附圖之間同樣的單元。
      具體實(shí)施例方式
      正如上面所表明的,本發(fā)明提供了一種用于管理通信連接的解決方案,其中過濾一個(gè)或多個(gè)確認(rèn)。特別地,可以獲得用于轉(zhuǎn)發(fā)到遠(yuǎn)端設(shè)備的數(shù)據(jù),并且可以傳送該數(shù)據(jù)的至少一部分以便在遠(yuǎn)端設(shè)備上處理。隨后,接收對(duì)該至少一部分?jǐn)?shù)據(jù)的確認(rèn),并且確定是否要基于優(yōu)化配置來轉(zhuǎn)發(fā)該確認(rèn)。本發(fā)明可以包括若干檢查以確保正確轉(zhuǎn)發(fā)任意應(yīng)當(dāng)被轉(zhuǎn)發(fā)以便進(jìn)行進(jìn)一步處理的確認(rèn)。在一個(gè)實(shí)施例中,本發(fā)明在網(wǎng)絡(luò)適配器上實(shí)現(xiàn),并且使得該網(wǎng)絡(luò)適配器接收的對(duì)大型發(fā)送數(shù)據(jù)分組的大量確認(rèn)能夠被過濾并且不被提供給協(xié)議棧。如這里所使用的,除非另有說明,否則術(shù)語“組”(set)的意思是一個(gè)或多個(gè)(也就是至少一個(gè))并且短語“任意解決方案”的意思是任意現(xiàn)在已知的或以后將開發(fā)的解決方案。
      轉(zhuǎn)到附圖,圖1示出了根據(jù)本發(fā)明實(shí)施例的用于管理通信連接的示例性環(huán)境10。在此,環(huán)境10包括計(jì)算機(jī)系統(tǒng)12,其可以執(zhí)行這里描述的處理以便管理通信連接。特別地,將計(jì)算機(jī)系統(tǒng)12示出為包括計(jì)算設(shè)備14,該計(jì)算設(shè)備包括協(xié)議棧30和網(wǎng)絡(luò)適配器24,其使得計(jì)算設(shè)備14可操作為通過執(zhí)行這里描述的處理來管理與遠(yuǎn)端設(shè)備18的通信連接。
      將計(jì)算設(shè)備14示出為包括處理器20、存儲(chǔ)器22A、網(wǎng)絡(luò)適配器24和總線26。此外,將計(jì)算設(shè)備14示出為與存儲(chǔ)設(shè)備22B通信。如本領(lǐng)域中所已知的,一般而言,處理器20執(zhí)行存儲(chǔ)在存儲(chǔ)器22A和/或存儲(chǔ)設(shè)備22B中的諸如協(xié)議棧30之類的程序代碼。當(dāng)執(zhí)行程序代碼時(shí),處理器20能夠?qū)Υ鎯?chǔ)器22A、存儲(chǔ)設(shè)備22B和/或網(wǎng)絡(luò)適配器24讀取和/或?qū)懭胫T如連接數(shù)據(jù)50之類的數(shù)據(jù)??偩€26在計(jì)算設(shè)備14中的每個(gè)組件之間提供了通信鏈路。盡管沒有示出,但應(yīng)當(dāng)理解,計(jì)算設(shè)備14可以包括能夠使用任意類型的通信鏈路在用戶16(例如個(gè)人)和/或遠(yuǎn)端設(shè)備18(例如另一個(gè)計(jì)算機(jī)系統(tǒng))與計(jì)算設(shè)備14之間進(jìn)行數(shù)據(jù)傳送的其他類型的I/O接口和/或I/O設(shè)備。
      在任意情況下,計(jì)算設(shè)備14可以包括能夠執(zhí)行在其上安裝的程序代碼的任意通用計(jì)算產(chǎn)品。但是,應(yīng)當(dāng)理解,計(jì)算設(shè)備14只是可以執(zhí)行這里描述的處理的各種可能的等同計(jì)算設(shè)備的代表。在此,在其他實(shí)施例中,協(xié)議棧30和網(wǎng)絡(luò)適配器24提供的功能可以通過計(jì)算產(chǎn)品來實(shí)現(xiàn),該計(jì)算產(chǎn)品包括通用和/或?qū)S糜布?或程序代碼的任意組合。在每個(gè)實(shí)施例中,可以分別使用標(biāo)準(zhǔn)程序設(shè)計(jì)和工程技術(shù)來創(chuàng)建程序代碼和硬件。
      類似地,計(jì)算機(jī)系統(tǒng)12只是對(duì)用于實(shí)現(xiàn)本發(fā)明的各種類型的計(jì)算機(jī)系統(tǒng)的例示。例如,在一個(gè)實(shí)施例中,計(jì)算機(jī)系統(tǒng)12包括兩個(gè)或更多的計(jì)算設(shè)備,其通過諸如網(wǎng)絡(luò)、共享存儲(chǔ)器等任意類型的通信鏈路進(jìn)行通信以執(zhí)行這里描述的處理。例如,這里描述的由網(wǎng)絡(luò)適配器24實(shí)現(xiàn)的功能中的一些或全部可以在與計(jì)算設(shè)備14分離地實(shí)現(xiàn)的設(shè)備中實(shí)現(xiàn)。此外,當(dāng)執(zhí)行這里描述的處理時(shí),計(jì)算機(jī)系統(tǒng)12中的一個(gè)或多個(gè)計(jì)算設(shè)備可以使用任意類型的通信鏈路與計(jì)算機(jī)系統(tǒng)12外部的一個(gè)或多個(gè)其他計(jì)算設(shè)備進(jìn)行通信。在任一情況下,通信鏈路可以包括各種類型的有線和/或無線鏈路的任意組合;可以包括一種或多種類型的網(wǎng)絡(luò)的任意組合;和/或利用各種類型的傳輸技術(shù)和協(xié)議的任意組合。
      正如這里所討論的,協(xié)議棧30和網(wǎng)絡(luò)適配器24使得計(jì)算機(jī)系統(tǒng)12能夠管理通信連接。在此,將協(xié)議棧30示出為包括發(fā)送模塊32、接收模塊34和優(yōu)化模塊36,而將網(wǎng)絡(luò)適配器24示出為包括配置模塊40、分段模塊42和過濾模塊44。這里進(jìn)一步討論這些模塊中的每個(gè)模塊的操作。但是,應(yīng)當(dāng)理解,圖1中示出的各個(gè)模塊中的一些可以獨(dú)立實(shí)現(xiàn)、組合、和/或存儲(chǔ)在一個(gè)或多個(gè)獨(dú)立計(jì)算設(shè)備的存儲(chǔ)器中,這些獨(dú)立計(jì)算設(shè)備包括在計(jì)算機(jī)系統(tǒng)12中。此外,應(yīng)當(dāng)理解,可以不實(shí)現(xiàn)這些模塊和/或功能中的一些,或者可以包括附加的模塊和/或功能作為計(jì)算機(jī)系統(tǒng)12的一部分。
      不管怎樣,本發(fā)明提供了一種用于管理通信連接的解決方案,其中網(wǎng)絡(luò)適配器24可以過濾一個(gè)或多個(gè)作為通信連接的一部分而接收的確認(rèn),而不是轉(zhuǎn)發(fā)所有確認(rèn)用于由協(xié)議棧30處理。一般而言,發(fā)送模塊32從發(fā)送應(yīng)用接收數(shù)據(jù),將這些數(shù)據(jù)分解成分組用于傳輸,將用于通信協(xié)議的數(shù)據(jù)添加到每個(gè)分組中,并將每個(gè)分組提供給網(wǎng)絡(luò)適配器24。網(wǎng)絡(luò)適配器24通過網(wǎng)絡(luò)發(fā)送分組用于由例如遠(yuǎn)端設(shè)備18之類的目的地設(shè)備處理。類似地,在從例如遠(yuǎn)端設(shè)備18接收分組時(shí),網(wǎng)絡(luò)適配器24提供該分組用于由協(xié)議棧30處理。接收模塊34移除并處理用于通信協(xié)議的數(shù)據(jù),能夠?qū)碜杂诙鄠€(gè)分組的數(shù)據(jù)進(jìn)行組合(如果需要的話),并將該數(shù)據(jù)轉(zhuǎn)發(fā)到目的地應(yīng)用用于處理。
      協(xié)議棧30和/或網(wǎng)絡(luò)適配器24可以同時(shí)管理用于多個(gè)應(yīng)用/遠(yuǎn)端設(shè)備18組合的通信連接。在此,協(xié)議棧30和/或網(wǎng)絡(luò)適配器24可以管理用于每個(gè)通信連接的連接數(shù)據(jù)50。連接數(shù)據(jù)50可以使用任意解決方案(例如一個(gè)或多個(gè)文件、數(shù)據(jù)庫(kù)中的記錄等等)來存儲(chǔ),并且可以包括針對(duì)相應(yīng)應(yīng)用的標(biāo)識(shí)符、窗口大小、尋址/路由信息、歷史信息等等。另外,連接數(shù)據(jù)50可以包括一個(gè)或多個(gè)隊(duì)列用于處理針對(duì)通信連接的消息(分組)。例如,連接數(shù)據(jù)50可以包括發(fā)送隊(duì)列,發(fā)送模塊32向其中添加要發(fā)送的消息并且網(wǎng)絡(luò)適配器24從其中移除并發(fā)送消息。類似地,連接數(shù)據(jù)50可以包括接收隊(duì)列,網(wǎng)絡(luò)適配器24向其中添加接收到的消息并且接收模塊34從其中移除并處理消息。
      此外,連接數(shù)據(jù)50可以包括關(guān)于一個(gè)或多個(gè)優(yōu)化配置的數(shù)據(jù)。在此,優(yōu)化模塊36可以管理存儲(chǔ)在連接數(shù)據(jù)50中的優(yōu)化配置數(shù)據(jù)。特別地,優(yōu)化模塊36可以獲得一個(gè)或多個(gè)期望的優(yōu)化設(shè)置,并且將這些優(yōu)化設(shè)置存儲(chǔ)為連接數(shù)據(jù)50中的優(yōu)化配置數(shù)據(jù)。優(yōu)化模塊36可以使用任意解決方案來獲得優(yōu)化設(shè)置。例如,優(yōu)化模塊36可以生成用戶界面用于顯示給用戶16,其使得用戶16能夠選擇一組期望的優(yōu)化設(shè)置。類似地,優(yōu)化模塊36可以定義應(yīng)用程序接口(API)等,其使得另一個(gè)應(yīng)用/系統(tǒng)能夠選擇一組期望的優(yōu)化設(shè)置。此外,優(yōu)化模塊36可以監(jiān)控通信連接上的通信并且可以基于該通信來動(dòng)態(tài)地調(diào)整相應(yīng)的優(yōu)化配置。在任意情況下,配置模塊40可以讀取連接數(shù)據(jù)50(例如優(yōu)化配置數(shù)據(jù))并基于連接數(shù)據(jù)50來調(diào)整網(wǎng)絡(luò)適配器24的操作。
      在此處所描述的示例性實(shí)施例中,協(xié)議棧30處理傳輸控制協(xié)議(TCP)消息,例如協(xié)議棧30包括TCP棧。在這種情況下,連接數(shù)據(jù)50可以包括分段卸載設(shè)置,用于指出協(xié)議棧30是否提供大型數(shù)據(jù)分組用于后續(xù)由網(wǎng)絡(luò)適配器24進(jìn)行分段和發(fā)送。盡管為進(jìn)行例示而主要參考分段卸載而描述了本發(fā)明,但應(yīng)當(dāng)理解,本發(fā)明可以獨(dú)立于分段卸載功能而實(shí)現(xiàn)和使用。在任意情況下,圖2示出了根據(jù)本發(fā)明實(shí)施例的用于傳送大型數(shù)據(jù)分組52的示例性數(shù)據(jù)流程圖。參考圖1和圖2,當(dāng)網(wǎng)絡(luò)適配器24針對(duì)協(xié)議棧30而執(zhí)行分段卸載時(shí),協(xié)議棧30將為網(wǎng)絡(luò)適配器24提供大型數(shù)據(jù)分組52。分段模塊42會(huì)將該大型數(shù)據(jù)分組52分割成大量較小的數(shù)據(jù)分組54A-54E,其中每個(gè)都符合對(duì)消息中所允許的字節(jié)數(shù)目的限制。網(wǎng)絡(luò)適配器24發(fā)送每個(gè)數(shù)據(jù)分組54A-54E用于在遠(yuǎn)端設(shè)備18上處理。
      網(wǎng)絡(luò)適配器24可以使用任意解決方案來發(fā)送數(shù)據(jù)分組54A-54E。例如,正如所示出的,網(wǎng)絡(luò)適配器24可以發(fā)送諸如數(shù)據(jù)分組54A之類的數(shù)據(jù)分組并在發(fā)送下一個(gè)數(shù)據(jù)分組54B之前等待接收作為對(duì)數(shù)據(jù)分組54A的響應(yīng)的確認(rèn)(ACK)56A。但是,應(yīng)當(dāng)理解,這個(gè)數(shù)據(jù)流程只是示例性的。在此,網(wǎng)絡(luò)適配器24可以順序地發(fā)送數(shù)據(jù)分組54A-54E,而不用等待接收任意相應(yīng)的確認(rèn)56A-56E。當(dāng)接收到確認(rèn)56A-56E時(shí),網(wǎng)絡(luò)適配器24可以處理確認(rèn)56A-56E并確定任意數(shù)據(jù)分組54A-54E是否需要重傳。另外,對(duì)于諸如TCP通信連接之類的一些通信協(xié)議,遠(yuǎn)端設(shè)備18可以不發(fā)送確認(rèn)56A-56E作為對(duì)每個(gè)數(shù)據(jù)分組54A-54E的響應(yīng)。例如,遠(yuǎn)端設(shè)備18可以每隔一個(gè)從網(wǎng)絡(luò)適配器24接收的數(shù)據(jù)分組54A-54E才發(fā)送一次確認(rèn)56A-56E。在此,網(wǎng)絡(luò)適配器24可以實(shí)現(xiàn)相應(yīng)的用于處理更少的確認(rèn)56A-56E的功能。
      不管怎樣,當(dāng)傳送針對(duì)單個(gè)大型數(shù)據(jù)分組52的數(shù)據(jù)分組54A-54E時(shí),網(wǎng)絡(luò)適配器24可以接收大量確認(rèn)56A-56E。在這種情況下,過濾模塊44可以基于包括在連接數(shù)據(jù)50中的優(yōu)化配置來確定是否要將確認(rèn)56A-56E轉(zhuǎn)發(fā)到協(xié)議棧30,而不是對(duì)每個(gè)確認(rèn)56A-56E都進(jìn)行轉(zhuǎn)發(fā)。特別地,連接數(shù)據(jù)50可以包括過濾設(shè)置,用于指出網(wǎng)絡(luò)適配器24是否應(yīng)當(dāng)丟棄(例如不轉(zhuǎn)發(fā)到協(xié)議棧30)任意針對(duì)通信連接而接收的確認(rèn)56A-56E。配置模塊40可以讀取連接數(shù)據(jù)50中的過濾設(shè)置并相應(yīng)地調(diào)整對(duì)確認(rèn)56A-56E的處理。
      當(dāng)針對(duì)通信連接而對(duì)確認(rèn)56A-56E進(jìn)行過濾時(shí),過濾模塊44可以確定是否要將確認(rèn)56A-56E轉(zhuǎn)發(fā)到協(xié)議棧30并相應(yīng)地處理確認(rèn)56A-56E。例如,過濾模塊44可以轉(zhuǎn)發(fā)確認(rèn)56A-56E用于由協(xié)議棧30處理,丟棄確認(rèn)56A-56E等等。圖3示出了根據(jù)本發(fā)明實(shí)施例的用于確定是否要轉(zhuǎn)發(fā)確認(rèn)56A-56E用于由協(xié)議棧30處理的示例性處理,其可以由過濾模塊44(圖1)實(shí)現(xiàn)。參考圖1和圖3,在處理P1中,過濾模塊44接收對(duì)以前由網(wǎng)絡(luò)適配器24發(fā)送的數(shù)據(jù)分組的確認(rèn)。在判決P2中,過濾模塊44確定是否應(yīng)當(dāng)過濾確認(rèn)。例如,過濾模塊44可以確定針對(duì)通信連接的確認(rèn)過濾是否為激活(例如通過檢查過濾設(shè)置)。如果不為激活,那么在處理P8中,過濾模塊44可以轉(zhuǎn)發(fā)確認(rèn)用于由協(xié)議棧30處理。
      應(yīng)當(dāng)理解,過濾模塊44還可以確定一個(gè)或多個(gè)其他優(yōu)化當(dāng)前是否對(duì)通信連接激活以確定是否應(yīng)當(dāng)在判定P2中過濾確認(rèn)。例如,過濾模塊44可以確定分段卸載是否為激活(例如通過檢查分段卸載設(shè)置)。當(dāng)不為激活時(shí),協(xié)議棧30可以期望接收所有確認(rèn)。另外,通信連接可以實(shí)現(xiàn)選擇性的確認(rèn),其中在數(shù)據(jù)分組丟失或接收時(shí)次序混亂時(shí),只有某些數(shù)據(jù)分組需要重傳。在這種情況下,協(xié)議棧30可能需要處理每個(gè)確認(rèn)以便確定是否有任意數(shù)據(jù)分組需要重傳。在任一情況下,過濾模塊44可以轉(zhuǎn)發(fā)所有確認(rèn)用于由協(xié)議棧30處理。但是,應(yīng)當(dāng)理解,這只是示例性的,并且即使在分段卸載非激活或沒有實(shí)現(xiàn)以及/或者實(shí)現(xiàn)了選擇性的確認(rèn)時(shí)過濾模塊44仍可以過濾確認(rèn)。
      如果可以過濾確認(rèn),則在判決P3中,過濾模塊44可以確定確認(rèn)是否包括由協(xié)議棧30處理所需的任意數(shù)據(jù)。例如,作為對(duì)由協(xié)議棧30產(chǎn)生的請(qǐng)求的響應(yīng),確認(rèn)可以包括所傳送的響應(yīng)數(shù)據(jù)用于由協(xié)議棧30處理。類似地,確認(rèn)可以包括一個(gè)或多個(gè)標(biāo)記(例如URG、PSH、RST、SYN、FIN)。此外,確認(rèn)可以包括通信連接上的數(shù)據(jù),諸如小于以前窗口大小的窗口大小。但是,在TCP通信中,這種情況很少并且不被推薦,因此可以被過濾模塊44忽略。在這些情況中的一種或多種情況下,過濾模塊44可以轉(zhuǎn)發(fā)包括用于由協(xié)議棧30處理的數(shù)據(jù)的確認(rèn)。
      假設(shè)確認(rèn)過濾為激活并且已經(jīng)接收到一個(gè)純確認(rèn)(例如不包括其他數(shù)據(jù)),那么過濾模塊44可以基于其以前的確認(rèn)處理來確定是否要轉(zhuǎn)發(fā)該確認(rèn)用于由協(xié)議棧30處理。例如,過濾模塊44可以基于以前轉(zhuǎn)發(fā)的確認(rèn)來確定是否要轉(zhuǎn)發(fā)確認(rèn)。特別地,發(fā)送單個(gè)大型數(shù)據(jù)分組52(圖2)可能需要大量數(shù)據(jù)分組54A-54E(圖2)。另外,遠(yuǎn)端設(shè)備18可能直到數(shù)據(jù)分組54A-54E被指定給的應(yīng)用程序已經(jīng)讀取一些或全部數(shù)據(jù)分組54A-54E后才發(fā)送確認(rèn)(例如,如在一些基于Unix的操作系統(tǒng)的TCP實(shí)現(xiàn)中)。結(jié)果,對(duì)于協(xié)議棧30,整個(gè)大型數(shù)據(jù)分組52的傳輸時(shí)間可能會(huì)超過超時(shí)周期,等等。
      在此,過濾模塊44可以周期性地將確認(rèn)轉(zhuǎn)發(fā)到協(xié)議棧30以確保協(xié)議棧30不會(huì)由于感知到與遠(yuǎn)端設(shè)備18無通信而開始重發(fā)分組。在一個(gè)實(shí)施例中,過濾模塊使用門限確認(rèn)數(shù)目(例如增量)以在轉(zhuǎn)發(fā)另一個(gè)確認(rèn)用于由協(xié)議棧30處理之前進(jìn)行過濾。在此,優(yōu)化模塊36可以將門限數(shù)目存儲(chǔ)在連接數(shù)據(jù)50中,過濾模塊44可以從其中獲得設(shè)置。作為選擇,過濾模塊44可以使用一個(gè)固定數(shù)目。在任一情況下,可以將門限數(shù)目設(shè)置為在轉(zhuǎn)發(fā)另一個(gè)確認(rèn)用于由協(xié)議棧30處理之前過濾五個(gè)到十個(gè)確認(rèn)。
      在任意情況下,作為處理P8的一部分,過濾模塊44可以存儲(chǔ)轉(zhuǎn)發(fā)到協(xié)議棧30的上一個(gè)確認(rèn)的確認(rèn)編號(hào)。在判決P4中,過濾模塊44可以將當(dāng)前確認(rèn)的確認(rèn)編號(hào)與所存儲(chǔ)的上一個(gè)轉(zhuǎn)發(fā)的確認(rèn)的確認(rèn)編號(hào)與門限數(shù)目(DELTA1)之和進(jìn)行比較。如果確認(rèn)編號(hào)大于或等于該和,那么過濾模塊44可以轉(zhuǎn)發(fā)該確認(rèn)用于由協(xié)議棧30處理。應(yīng)當(dāng)理解,這只是示例性的,并且過濾模塊44可以實(shí)現(xiàn)任意用于確定何時(shí)超過門限確認(rèn)數(shù)目的解決方案(例如計(jì)數(shù)器)。
      過濾模塊44還可以基于要傳送的數(shù)據(jù)分組的總數(shù)來確定是否要轉(zhuǎn)發(fā)確認(rèn)用于在遠(yuǎn)端設(shè)備18上處理。特別地,過濾模塊44應(yīng)當(dāng)轉(zhuǎn)發(fā)接收到的用于由協(xié)議棧30處理的上一個(gè)確認(rèn)56E(圖2)以確保協(xié)議棧30不會(huì)基于丟失的確認(rèn)56E而重傳數(shù)據(jù)。例如,當(dāng)處理TCP大型發(fā)送時(shí),分段模塊42可以存儲(chǔ)傳送大型數(shù)據(jù)分組52(圖2)所需的上一個(gè)數(shù)據(jù)分組54E(圖2)的序列號(hào)。
      在判決P5中,過濾模塊44可以確定當(dāng)前確認(rèn)是否在對(duì)具有比上一個(gè)數(shù)據(jù)分組的序列號(hào)小的序列號(hào)的數(shù)據(jù)分組進(jìn)行確認(rèn)。如果該確認(rèn)大于或等于上一個(gè)數(shù)據(jù)分組的序列號(hào),那么過濾模塊44可以轉(zhuǎn)發(fā)該確認(rèn)用于由處理P8中的協(xié)議棧處理。但是,對(duì)于一些協(xié)議,可能不會(huì)針對(duì)每個(gè)數(shù)據(jù)分組而接收確認(rèn)。例如,在TCP中,可能每隔一個(gè)數(shù)據(jù)分組才接收一次確認(rèn)。在這種情況下,過濾模塊44可以使用優(yōu)化模塊36可以存儲(chǔ)在連接數(shù)據(jù)50中的第二個(gè)門限數(shù)目(DELTA2)。特別地,過濾模塊44可以將第二門限數(shù)目與當(dāng)前確認(rèn)的序列號(hào)之和與上一個(gè)數(shù)據(jù)分組的序列號(hào)進(jìn)行比較,并轉(zhuǎn)發(fā)在上一個(gè)數(shù)據(jù)分組的門限數(shù)目?jī)?nèi)的確認(rèn)。在一個(gè)實(shí)施例中,第二門限數(shù)目在1和2的范圍內(nèi)。但是,應(yīng)當(dāng)理解,第二門限可以基于期望確認(rèn)的頻繁程度來選擇。例如,如果期望得到針對(duì)每個(gè)數(shù)據(jù)分組的確認(rèn),那么第二門限可以設(shè)置為零。
      過濾模塊44還可以基于以前的確認(rèn)來確定是否要轉(zhuǎn)發(fā)確認(rèn)。例如,在TCP中,遠(yuǎn)端設(shè)備17可以通過發(fā)送兩個(gè)連續(xù)的復(fù)制確認(rèn)來請(qǐng)求重傳和/或向協(xié)議棧30通報(bào)新窗口大小。在此,過濾模塊44可以將當(dāng)前確認(rèn)的序列號(hào)與以前的確認(rèn)的序列號(hào)進(jìn)行比較。如果兩個(gè)序列號(hào)不同,那么過濾模塊44可以在處理P7中丟棄確認(rèn)。丟棄確認(rèn)可以包括不轉(zhuǎn)發(fā)用于由協(xié)議棧處理的確認(rèn)。此外,丟棄可以包括從存儲(chǔ)器移除確認(rèn)、將確認(rèn)存儲(chǔ)一個(gè)指定的時(shí)間段/確認(rèn)數(shù)目、將確認(rèn)轉(zhuǎn)發(fā)到另一個(gè)系統(tǒng)等等。否則,在處理P9中,過濾模塊44可以轉(zhuǎn)發(fā)確認(rèn)的兩個(gè)副本用于由協(xié)議棧30處理。不管怎樣,當(dāng)過濾模塊44將以前的確認(rèn)的序列號(hào)與當(dāng)前確認(rèn)的序列號(hào)進(jìn)行比較時(shí),在處理P7-P9中的每個(gè)處理中,過濾模塊44可以存儲(chǔ)當(dāng)前確認(rèn)的序列號(hào)用于處理后續(xù)確認(rèn)。
      在處理P9中,協(xié)議棧30必須接收確認(rèn)的兩個(gè)副本以確保它被作為復(fù)制確認(rèn)而處理。但是,過濾模塊44可能已經(jīng)在處理P8中轉(zhuǎn)發(fā)了以前的確認(rèn)。在此,在處理P9中,過濾模塊44可以轉(zhuǎn)發(fā)確認(rèn)的第一副本用于由協(xié)議棧30處理,然后比較以前轉(zhuǎn)發(fā)的確認(rèn)的序列號(hào)以確定是否要發(fā)送確認(rèn)的第二副本。特別地,如果以前轉(zhuǎn)發(fā)的確認(rèn)的序列號(hào)等于當(dāng)前確認(rèn)的序列號(hào),那么不需要第二副本。否則,過濾模塊44可以轉(zhuǎn)發(fā)第二副本用于由協(xié)議棧30處理。
      正如這里所描述的,協(xié)議棧30可以動(dòng)態(tài)地管理針對(duì)通信連接的優(yōu)化配置。在此,協(xié)議棧30可以選擇針對(duì)通信連接啟用和/或禁用確認(rèn)過濾。例如,協(xié)議棧30可以針對(duì)新通信連接禁用確認(rèn)過濾(例如在TCP連接的慢啟動(dòng)階段期間)。另外,協(xié)議棧30可以針對(duì)擁塞(導(dǎo)致較長(zhǎng)的往返延遲)、具有不穩(wěn)定的往返延遲、需要大量重傳等的通信連接禁用確認(rèn)過濾。另外,協(xié)議棧30可以基于通信連接的一個(gè)或多個(gè)屬性來調(diào)整被過濾的確認(rèn)數(shù)目。例如,協(xié)議棧30可以針對(duì)具有相對(duì)穩(wěn)定但較長(zhǎng)的往返延遲的通信連接減少過濾的確認(rèn)數(shù)目。
      盡管在這里示出和描述為一種用于管理通信連接的方法和系統(tǒng),但應(yīng)當(dāng)理解,本發(fā)明還提供了各種替代性實(shí)施例。例如,在一個(gè)實(shí)施例中,本發(fā)明提供了一種存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序,當(dāng)其執(zhí)行時(shí),使得計(jì)算機(jī)系統(tǒng)能夠管理通信連接。在此,計(jì)算機(jī)可讀介質(zhì)包括實(shí)現(xiàn)這里描述的處理的程序代碼,諸如協(xié)議棧30(圖1)和/或網(wǎng)絡(luò)適配器24的一個(gè)或多個(gè)模塊40、42、44。應(yīng)當(dāng)理解,術(shù)語“計(jì)算機(jī)可讀介質(zhì)”包括程序代碼的一個(gè)或多個(gè)任意類型的有形介質(zhì)表示(例如物理實(shí)施例)。特別地,計(jì)算機(jī)可讀介質(zhì)可以包括如下程序代碼,這些程序代碼具體體現(xiàn)在一個(gè)或多個(gè)便攜式存儲(chǔ)產(chǎn)品上,在計(jì)算設(shè)備的一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)部分上,其中該數(shù)據(jù)存儲(chǔ)部分諸如存儲(chǔ)器22A(圖1)和/或存儲(chǔ)系統(tǒng)22B(圖1),作為通過網(wǎng)絡(luò)傳播的數(shù)據(jù)信號(hào)(例如在對(duì)計(jì)算機(jī)程序進(jìn)行有線/無線電子分發(fā)期間),在紙上(例如能夠掃描并轉(zhuǎn)換成電子數(shù)據(jù)),等等。
      在另一個(gè)實(shí)施例中,本發(fā)明提供了一種生成用于管理通信連接的系統(tǒng)的方法。在這種情況下,可以獲得(例如創(chuàng)建、維護(hù)、使其可用等)一個(gè)計(jì)算機(jī)系統(tǒng),諸如計(jì)算機(jī)系統(tǒng)12(圖1),并且可以獲得(例如創(chuàng)建、購(gòu)買、使用、修改等)用于執(zhí)行這里描述的處理的一個(gè)或多個(gè)程序/系統(tǒng)并將其部署到該計(jì)算機(jī)系統(tǒng)。在此,該部署可以包括下述一個(gè)或多個(gè)步驟(1)從計(jì)算機(jī)可讀介質(zhì)將程序代碼安裝在諸如計(jì)算設(shè)備14(圖1)之類的計(jì)算設(shè)備上;(2)為計(jì)算機(jī)系統(tǒng)添加一個(gè)或多個(gè)計(jì)算設(shè)備;以及(3)合并和/或修改計(jì)算機(jī)系統(tǒng)的一個(gè)或多個(gè)現(xiàn)有設(shè)備,使得計(jì)算機(jī)系統(tǒng)能夠執(zhí)行這里描述的處理。
      在另一個(gè)實(shí)施例中,本發(fā)明提供了一種在定制、廣告和/或收費(fèi)的基礎(chǔ)上執(zhí)行這里描述的處理的業(yè)務(wù)方法。也就是說,諸如集成解決方案提供商之類的服務(wù)提供商能夠管理通信連接,正如這里所描述的。在這種情況下,服務(wù)提供商可以管理(例如創(chuàng)建、維護(hù)、支持等)計(jì)算機(jī)系統(tǒng),諸如計(jì)算機(jī)系統(tǒng)12(圖1),該計(jì)算機(jī)系統(tǒng)為一個(gè)或多個(gè)客戶執(zhí)行這里所描述的處理。作為回報(bào),服務(wù)提供商可以接收來自于已簽訂定制和/或收費(fèi)協(xié)議的客戶的付費(fèi),可以接收來自于對(duì)一個(gè)或多個(gè)第三方發(fā)放廣告的銷售的付費(fèi)等。
      正如在這里所使用的,應(yīng)當(dāng)理解,術(shù)語“程序代碼”意思是用任意語言、代碼或符號(hào)表示的一組指令的任意表達(dá),其可使得具有信息處理能力的計(jì)算設(shè)備直接執(zhí)行或在對(duì)下述方式進(jìn)行任意組合之后執(zhí)行特定的功能(a)轉(zhuǎn)化成另一種語言、代碼或符號(hào);(b)以不同的材料形式再現(xiàn);和/或(c)解壓縮。在此,程序代碼可以具體體現(xiàn)為一種或多種類型的計(jì)算機(jī)程序中的一些或全部,諸如應(yīng)用/軟件程序,組件軟件/函數(shù)庫(kù),操作系統(tǒng),特定計(jì)算、存儲(chǔ)和/或I/O設(shè)備的基本I/O系統(tǒng)/驅(qū)動(dòng)程序,等等。
      已經(jīng)為了說明和描述的目的而提出了對(duì)本發(fā)明各個(gè)方面的前述描述。其并非旨在窮舉或?qū)⒈景l(fā)明限制為所公開的精確形式,顯然,很多修改和變更都是可能的。這些修改和變更對(duì)本領(lǐng)域的普通技術(shù)人員來說是很明顯的,并且包括在由所附權(quán)利要求限定的本發(fā)明的范圍之內(nèi)。
      權(quán)利要求
      1.一種管理通信連接的方法,所述方法包括獲得用于轉(zhuǎn)發(fā)到遠(yuǎn)端設(shè)備的數(shù)據(jù);傳送所述數(shù)據(jù)的至少一部分以便在所述遠(yuǎn)端設(shè)備上處理;接收對(duì)所述至少一部分?jǐn)?shù)據(jù)的確認(rèn);以及確定是否要基于優(yōu)化配置來轉(zhuǎn)發(fā)所述確認(rèn)。
      2.根據(jù)權(quán)利要求1所述的方法,所述優(yōu)化配置包括過濾設(shè)置,用于指出是否應(yīng)當(dāng)丟棄任意確認(rèn);以及分段卸載設(shè)置,用于指出協(xié)議棧是否提供大型數(shù)據(jù)分組。
      3.根據(jù)權(quán)利要求2所述的方法,進(jìn)一步包括當(dāng)出現(xiàn)以下至少一種情況時(shí)轉(zhuǎn)發(fā)所述確認(rèn)所述過濾設(shè)置非激活或所述分段卸載設(shè)置非激活。
      4.根據(jù)權(quán)利要求1所述的方法,所述確定進(jìn)一步基于所述確認(rèn),所述方法進(jìn)一步包括轉(zhuǎn)發(fā)包括需要由協(xié)議棧處理的數(shù)據(jù)的確認(rèn)。
      5.根據(jù)權(quán)利要求1所述的方法,所述確定進(jìn)一步基于所述確認(rèn)以及以前的確認(rèn),所述方法進(jìn)一步包括在所述確認(rèn)包括與所述以前的確認(rèn)的序列號(hào)相同的序列號(hào)時(shí)轉(zhuǎn)發(fā)所述確認(rèn)的至少一個(gè)副本。
      6.根據(jù)權(quán)利要求1所述的方法,所述確定進(jìn)一步基于以前轉(zhuǎn)發(fā)的確認(rèn),所述方法進(jìn)一步包括轉(zhuǎn)發(fā)作為在所述以前轉(zhuǎn)發(fā)的確認(rèn)后經(jīng)過門限數(shù)目的確認(rèn)之后的一個(gè)確認(rèn)。
      7.根據(jù)權(quán)利要求1所述的方法,所述確定進(jìn)一步基于用于傳送所述數(shù)據(jù)的分組總數(shù),所述方法進(jìn)一步包括轉(zhuǎn)發(fā)作為對(duì)在所述分組總數(shù)的門限數(shù)目之內(nèi)的分組的響應(yīng)而接收的確認(rèn)。
      8.一種用于管理通信連接的系統(tǒng),所述系統(tǒng)包括用于獲得用于轉(zhuǎn)發(fā)到遠(yuǎn)端設(shè)備的數(shù)據(jù)的系統(tǒng);用于傳送所述數(shù)據(jù)的至少一部分以便在所述遠(yuǎn)端設(shè)備上處理的系統(tǒng);用于接收對(duì)所述至少一部分?jǐn)?shù)據(jù)的確認(rèn)的系統(tǒng);以及用于確定是否要基于優(yōu)化配置來轉(zhuǎn)發(fā)所述確認(rèn)的系統(tǒng)。
      9.根據(jù)權(quán)利要求8所述的系統(tǒng),所述優(yōu)化配置包括過濾設(shè)置,用于指出是否應(yīng)當(dāng)丟棄任意確認(rèn);以及分段卸載設(shè)置,用于指出協(xié)議棧是否提供大型數(shù)據(jù)分組。
      10.根據(jù)權(quán)利要求8所述的系統(tǒng),進(jìn)一步包括用于轉(zhuǎn)發(fā)所述確認(rèn)的系統(tǒng)。
      11.根據(jù)權(quán)利要求8所述的系統(tǒng),進(jìn)一步包括協(xié)議棧,其中所述協(xié)議棧提供用于轉(zhuǎn)發(fā)到所述遠(yuǎn)端設(shè)備的數(shù)據(jù)。
      12.根據(jù)權(quán)利要求11所述的系統(tǒng),其中所述協(xié)議?;谒鐾ㄐ胚B接的至少一個(gè)屬性來動(dòng)態(tài)地管理所述優(yōu)化配置。
      13.根據(jù)權(quán)利要求11所述的系統(tǒng),所述協(xié)議棧包括傳輸控制協(xié)議(TCP)棧。
      14.一種網(wǎng)絡(luò)適配器,包括用于獲得用于轉(zhuǎn)發(fā)到遠(yuǎn)端設(shè)備的數(shù)據(jù)的裝置;用于傳送所述數(shù)據(jù)的至少一部分以便在所述遠(yuǎn)端設(shè)備上處理的裝置;用于接收對(duì)所述至少一部分?jǐn)?shù)據(jù)的確認(rèn)的裝置;以及用于確定是否要基于優(yōu)化配置來轉(zhuǎn)發(fā)所述確認(rèn)的裝置。
      15.根據(jù)權(quán)利要求14所述的網(wǎng)絡(luò)適配器,進(jìn)一步包括用于轉(zhuǎn)發(fā)所述確認(rèn)的裝置。
      16.根據(jù)權(quán)利要求14所述的網(wǎng)絡(luò)適配器,進(jìn)一步包括獲得所述優(yōu)化配置的裝置。
      全文摘要
      提供了一種用于管理通信連接的解決方案,其中過濾了一個(gè)或多個(gè)確認(rèn)。特別地,可以獲得用于轉(zhuǎn)發(fā)到遠(yuǎn)端設(shè)備的數(shù)據(jù),并且可以傳送該數(shù)據(jù)的至少一部分以便在遠(yuǎn)端設(shè)備上處理。隨后,接收對(duì)該至少一部分?jǐn)?shù)據(jù)的確認(rèn),并且確定是否要基于優(yōu)化配置來轉(zhuǎn)發(fā)該確認(rèn)。本發(fā)明可以包括若干檢查以確保正確轉(zhuǎn)發(fā)任意應(yīng)當(dāng)被轉(zhuǎn)發(fā)以便進(jìn)行進(jìn)一步處理的確認(rèn)。在一個(gè)實(shí)施例中,本發(fā)明在網(wǎng)絡(luò)適配器上實(shí)現(xiàn),并且使得該網(wǎng)絡(luò)適配器接收的對(duì)大型發(fā)送數(shù)據(jù)分組的大量確認(rèn)能夠被過濾并且不被提供給協(xié)議棧。
      文檔編號(hào)H04L29/06GK101090338SQ20071010913
      公開日2007年12月19日 申請(qǐng)日期2007年6月13日 優(yōu)先權(quán)日2006年6月14日
      發(fā)明者C·巴索, D·W·施米特, V·文卡特薩布拉 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1