專(zhuān)利名稱(chēng):使用至少部分不相關(guān)的網(wǎng)絡(luò)事件協(xié)調(diào)網(wǎng)絡(luò)包傳輸?shù)闹谱鞣椒?br>
技術(shù)領(lǐng)域:
本發(fā)明涉及通訊技術(shù),更特別地涉及使用由至少部分不相關(guān)的網(wǎng)絡(luò)事件產(chǎn)生的軟定時(shí)器協(xié)調(diào)網(wǎng)絡(luò)包的傳輸機(jī)制。
背景技術(shù):
計(jì)算技術(shù)改變了我們工作和娛樂(lè)的方式。現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和架構(gòu)使不同的應(yīng)用和用戶(hù)能夠使用立即可用的計(jì)算系統(tǒng)甚至在很遠(yuǎn)的距離上相對(duì)塊地電子地交換數(shù)據(jù)。例如,這樣的計(jì)算系統(tǒng)可以包括桌面計(jì)算機(jī)、膝上型計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、數(shù)字電話(huà),等等。
目前,計(jì)算系統(tǒng)互連到如此程度以至于一個(gè)計(jì)算系統(tǒng)實(shí)際上能夠和分布在全球的成百萬(wàn)的其他計(jì)算系統(tǒng)中的任何一個(gè)通訊。由于我們能夠更方便地通訊,這非常有用。在其最普通的形式中,計(jì)算系統(tǒng)之間的通訊包括電子消息的構(gòu)成。電子消息然后被分解為更小的片段。這些片段和任何適當(dāng)?shù)念^信息被成為“包”。
從發(fā)送計(jì)算系統(tǒng)將電子消息的各種包傳輸?shù)浇邮沼?jì)算系統(tǒng)。為了正確地為這些包確定路徑,有多個(gè)中間計(jì)算系統(tǒng)邏輯上位于發(fā)送計(jì)算系統(tǒng)和接收計(jì)算系統(tǒng)之間。通常,這樣的中間計(jì)算系統(tǒng)接收并為來(lái)自大量不同計(jì)算系統(tǒng)的包傳輸確定路徑。
為了得到接收來(lái)自不同計(jì)算系統(tǒng)的包傳輸?shù)奶幚硭璧母呖缮炜s性,中間計(jì)算系統(tǒng)可以有在其中放置包直到中間系統(tǒng)可以正確地處理該包的隊(duì)列。隊(duì)列的大小通常足以用來(lái)處理包接收速率的一些波動(dòng)。如果有很短的時(shí)間內(nèi)包接收快于中間系統(tǒng)能夠?qū)λ鼈冞M(jìn)行的處理,那么隊(duì)列將更加滿(mǎn)。換句話(huà)說(shuō),如果以快于接收的速率處理包,隊(duì)列將更加空。
在適當(dāng)?shù)闹虚g計(jì)算系統(tǒng)中,中間計(jì)算系統(tǒng)至少能夠以接收包的平均速率處理進(jìn)來(lái)的請(qǐng)求。相應(yīng)地,隊(duì)列趨向于為空而非為滿(mǎn)。這是因?yàn)槿绻撽?duì)列為滿(mǎn),那么包可以被丟棄,從而破壞了隊(duì)列的目的。
即使在設(shè)計(jì)為以比平均包接收速率更高的速率進(jìn)行處理的適當(dāng)中間計(jì)算系統(tǒng)中,在包突發(fā)到達(dá)的特定情況,隊(duì)列也會(huì)變得過(guò)滿(mǎn)。這會(huì)發(fā)生在一些面向反饋的傳輸協(xié)議中,在其中發(fā)送計(jì)算系統(tǒng)突發(fā)地發(fā)送一個(gè)或多個(gè)包,然后在突發(fā)地發(fā)送出更多包之前等待來(lái)自接收計(jì)算系統(tǒng)的確認(rèn)。包突發(fā)地到達(dá)的現(xiàn)象的強(qiáng)度在此通常稱(chēng)為“突發(fā)性”。在全球因特網(wǎng)中限制突發(fā)性是很重要的。為了在傳輸控制協(xié)議(TCP)中實(shí)現(xiàn)這一目的,該協(xié)議通常用于如因特網(wǎng)這樣的網(wǎng)絡(luò)上的數(shù)據(jù)傳輸,發(fā)送計(jì)算系統(tǒng)通常突發(fā)地發(fā)送兩個(gè)包,然后在突發(fā)地發(fā)送兩個(gè)更多的包之前等待來(lái)自接收系統(tǒng)的確認(rèn)消息。然而,這是高成本的限制突發(fā)性的方法,因?yàn)橛山邮照甙l(fā)送的每個(gè)確認(rèn)包消耗每個(gè)中間計(jì)算系統(tǒng)及發(fā)送系統(tǒng)上的資源雖然在中間計(jì)算系統(tǒng)中限制突發(fā)性很重要,減少由接收計(jì)算系統(tǒng)發(fā)出的包的數(shù)量也是有利的。
讓接收者在發(fā)出確認(rèn)包之前等待多于兩個(gè)包有實(shí)際操作上的困難(它對(duì)短的消息增加了響應(yīng)時(shí)間)。
稱(chēng)為發(fā)送者適度確認(rèn)的非常規(guī)的技術(shù)允許發(fā)送者動(dòng)態(tài)地指示接收者應(yīng)確認(rèn)哪些包。這些方法都在那個(gè)特殊的連接上增加了包的突發(fā)性。
一種減少包傳輸?shù)耐话l(fā)性的方法是協(xié)調(diào)發(fā)包的時(shí)間選擇以使得在發(fā)送一個(gè)包和發(fā)送下一個(gè)包之間有足夠的時(shí)間從而穩(wěn)定包傳輸速率。時(shí)間選擇問(wèn)題通常由以操作系統(tǒng)中的軟件實(shí)現(xiàn)的定時(shí)器來(lái)控制。這樣的定時(shí)器通常工作在10毫秒左右的尺度。在支持一吉比特每秒(Gbps)傳輸速率的快速網(wǎng)絡(luò)中,這樣的時(shí)間選擇完全沒(méi)有足夠的粒度來(lái)協(xié)調(diào)包。即使在將來(lái),如果有更快的定時(shí)器,網(wǎng)絡(luò)傳輸速率也會(huì)上升。相應(yīng)地,基于定時(shí)器來(lái)協(xié)調(diào)包傳輸通常被認(rèn)為是不可行的。
相應(yīng)地,協(xié)調(diào)包傳輸?shù)臋C(jī)制將是有利的,即便操作系統(tǒng)定時(shí)器不支持足夠細(xì)的時(shí)鐘增量來(lái)支持這樣的協(xié)調(diào)。
發(fā)明內(nèi)容
上述對(duì)已有技術(shù)的問(wèn)題由本發(fā)明的原理來(lái)克服,本發(fā)明集中于當(dāng)從發(fā)送計(jì)算系統(tǒng)通過(guò)一個(gè)或多個(gè)中間計(jì)算系統(tǒng)傳輸網(wǎng)絡(luò)包到接收計(jì)算系統(tǒng)時(shí)協(xié)調(diào)網(wǎng)絡(luò)包的機(jī)制。如果突發(fā)地傳輸網(wǎng)絡(luò)包,那么中間計(jì)算系統(tǒng)內(nèi)的隊(duì)列會(huì)溢出。相應(yīng)地,協(xié)調(diào)電子消息的傳輸減少了任何中間計(jì)算系統(tǒng)溢出并從而丟棄網(wǎng)絡(luò)包的機(jī)會(huì)。
為了正確地協(xié)調(diào)網(wǎng)絡(luò)包,發(fā)送計(jì)算系統(tǒng)監(jiān)控至少部分不相關(guān)的網(wǎng)絡(luò)事件以獲得主要基于不相關(guān)的網(wǎng)絡(luò)事件調(diào)度傳輸?shù)亩〞r(shí)器。這些部分不相關(guān)的網(wǎng)絡(luò)事件可以包括,例如,在更多或甚至所有由發(fā)送計(jì)算系統(tǒng)維護(hù)的連接上接收確認(rèn)消息、發(fā)送包及接收包。由于潛在地使用甚至所有網(wǎng)絡(luò)連接,事件比在特定連接上發(fā)送包更少地相關(guān)。獲得的定時(shí)器然后被用于協(xié)調(diào)在特定連接上發(fā)送出的包。
隨著時(shí)間過(guò)去,監(jiān)控的網(wǎng)絡(luò)事件的發(fā)生速率會(huì)改變??梢酝ㄟ^(guò)更改定時(shí)器,或甚至調(diào)整發(fā)生速率自身來(lái)對(duì)其補(bǔ)償。例如,如果網(wǎng)絡(luò)事件為反饋事件,如接收傳輸控制協(xié)議(TCP)確認(rèn)消息,那么發(fā)送計(jì)算系統(tǒng)可以通過(guò)指示接收者它將更改它在發(fā)送出確認(rèn)包之前應(yīng)接收的包的數(shù)量粗略地調(diào)整發(fā)生速率。通常,在任何給定的連接上,接收者在接收兩個(gè)來(lái)自發(fā)送者的包之后立即發(fā)送出確認(rèn)包。然而,根據(jù)本發(fā)明的原理,可以根據(jù)需要調(diào)整每個(gè)確認(rèn)消息發(fā)送的TCP包的數(shù)量以獲得特殊的確認(rèn)消息速率。
本發(fā)明的附加特性和優(yōu)點(diǎn)將在下面的說(shuō)明中得以闡明,且部分地通過(guò)說(shuō)明變得明顯,或可以通過(guò)本發(fā)明的實(shí)踐得到。本發(fā)明的特性和優(yōu)點(diǎn)可以通過(guò)在后附的權(quán)利要求中指出的工具及組合的方法實(shí)現(xiàn)和獲得。本發(fā)明的這些和其他特性將通過(guò)下面的說(shuō)明和后附的權(quán)利要求變得更加明了,或可以通過(guò)此后闡述的本發(fā)明的實(shí)踐得到。
為了說(shuō)明獲取本發(fā)明的上述和其他優(yōu)點(diǎn)及特性的方式,上面對(duì)本發(fā)明進(jìn)行了簡(jiǎn)要說(shuō)明,更特殊的說(shuō)明將通過(guò)引用在附圖中展示的特定實(shí)施例來(lái)呈現(xiàn)。應(yīng)理解這些附圖僅說(shuō)明本發(fā)明的特殊實(shí)施例且不能因此被視為對(duì)其范圍的限制,將通過(guò)使用附圖更加詳細(xì)和確切地說(shuō)明和解釋本發(fā)明,其中圖1展示適合于本發(fā)明原理的操作環(huán)境;圖2展示在其中發(fā)送計(jì)算系統(tǒng)通過(guò)一個(gè)或多個(gè)中間計(jì)算系統(tǒng)發(fā)送網(wǎng)絡(luò)包到接收計(jì)算系統(tǒng)的網(wǎng)絡(luò)環(huán)境;圖3展示根據(jù)本發(fā)明的原理協(xié)調(diào)網(wǎng)絡(luò)包的方法的流程圖;及圖4根據(jù)本發(fā)明的原理示意性地展示發(fā)送計(jì)算系統(tǒng)。
具體實(shí)施例方式
發(fā)送計(jì)算系統(tǒng)將在特定連接上發(fā)送多個(gè)網(wǎng)絡(luò)包到接收計(jì)算系統(tǒng)。發(fā)送計(jì)算系統(tǒng)監(jiān)控至少部分不相關(guān)的網(wǎng)絡(luò)事件以獲得基于不相關(guān)的網(wǎng)絡(luò)事件調(diào)度傳輸?shù)亩〞r(shí)器。至少部分不相關(guān)的網(wǎng)絡(luò)事件可以為,例如,在更多或甚至所有由發(fā)送計(jì)算系統(tǒng)維護(hù)的連接上接收確認(rèn)消息、發(fā)送包及接收包。由于潛在地使用甚至所有網(wǎng)絡(luò)連接,事件比在特定連接上發(fā)送包更少地相關(guān)。獲得的定時(shí)器然后被用于協(xié)調(diào)在特定連接上發(fā)送出的包。為了維護(hù)對(duì)獲得的定時(shí)器的粒度的控制,網(wǎng)絡(luò)事件的速率可以通過(guò)定期地指示接收者它需要發(fā)送確認(rèn)包以響應(yīng)發(fā)送者傳輸?shù)臄?shù)據(jù)包的頻繁程度來(lái)調(diào)整。
本發(fā)明范圍內(nèi)的實(shí)施例包括攜帶或包含存儲(chǔ)于其上的計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)的計(jì)算機(jī)可讀媒體。這樣的計(jì)算機(jī)可讀媒體可以為任何可以由通用或?qū)S糜?jì)算機(jī)訪(fǎng)問(wèn)的可用媒體。作為例子,而非限制,這樣的計(jì)算機(jī)可讀媒體可以包括物理計(jì)算機(jī)可讀媒體如RAM、ROM、EEPROM、CD-ROM或其他光盤(pán)存儲(chǔ)、磁盤(pán)存儲(chǔ)或其他磁存儲(chǔ)裝置,或可以用來(lái)攜帶或存儲(chǔ)計(jì)算機(jī)可讀指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼方法且可以由通用或?qū)S糜?jì)算機(jī)訪(fǎng)問(wèn)的任何其他媒體。
當(dāng)在網(wǎng)絡(luò)或其他通訊連接(有線(xiàn)的、無(wú)線(xiàn)的,或有線(xiàn)無(wú)線(xiàn)的組合)上傳輸或提供信息到計(jì)算機(jī)時(shí),計(jì)算機(jī)正確地視該連接為計(jì)算機(jī)可讀媒體。因此,任何這樣的連接正確地被稱(chēng)為計(jì)算機(jī)可讀媒體。上述的組合也應(yīng)包括在計(jì)算機(jī)可讀媒體的范圍內(nèi)。計(jì)算機(jī)可執(zhí)行指令包括,例如,使通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī),或?qū)S锰幚碓O(shè)備執(zhí)行特定功能或功能組的任何指令和數(shù)據(jù)。計(jì)算機(jī)可執(zhí)行指令可以為,例如,二進(jìn)制、中間格式指令如匯編語(yǔ)音,或甚至源代碼。
圖1和下面的說(shuō)明旨在提供對(duì)在其中可以實(shí)現(xiàn)本發(fā)明的適合的計(jì)算環(huán)境的簡(jiǎn)短的總體說(shuō)明。雖然不是必須的,本發(fā)明在計(jì)算機(jī)可執(zhí)行指令的通用的語(yǔ)境中說(shuō)明,如由網(wǎng)絡(luò)環(huán)境中的計(jì)算機(jī)執(zhí)行的程序模塊。通常,程序模塊包括執(zhí)行特殊任務(wù)或?qū)崿F(xiàn)特殊抽象數(shù)據(jù)類(lèi)型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。計(jì)算機(jī)可執(zhí)行指令、關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)及程序模塊表示用于執(zhí)行在此揭示的方法步驟的程序代碼方法的例子。這樣的計(jì)算機(jī)可執(zhí)行指令的特殊序列表示用于實(shí)現(xiàn)在這些步驟中說(shuō)明的功能的對(duì)應(yīng)動(dòng)作的例子。
熟悉技術(shù)的人應(yīng)理解本發(fā)明可以實(shí)現(xiàn)在有包括個(gè)人計(jì)算機(jī)、手持設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)或可編程消費(fèi)者電子產(chǎn)品、網(wǎng)絡(luò)PC、小型機(jī)、大型機(jī)及其類(lèi)似的多種類(lèi)型的計(jì)算機(jī)系統(tǒng)配置的網(wǎng)絡(luò)計(jì)算環(huán)境中。本發(fā)明也可以實(shí)現(xiàn)在任務(wù)由通過(guò)通訊網(wǎng)絡(luò)連接(有線(xiàn)連接、無(wú)線(xiàn)連接或兩者的組合)的遠(yuǎn)程處理設(shè)備執(zhí)行的的分布式計(jì)算環(huán)境中。在一個(gè)分布式計(jì)算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備。
引用圖1,實(shí)現(xiàn)本發(fā)明的典型系統(tǒng)包括形式為包括處理單元121、系統(tǒng)存儲(chǔ)器122及連接包括系統(tǒng)存儲(chǔ)器122到處理單元121的各種系統(tǒng)組件的系統(tǒng)總線(xiàn)123的常規(guī)計(jì)算機(jī)120的通用計(jì)算設(shè)備。系統(tǒng)總線(xiàn)121可以為幾種類(lèi)型的總線(xiàn)結(jié)構(gòu)中的任何一種,包括一個(gè)存儲(chǔ)器總線(xiàn)或存儲(chǔ)器控制器、外圍設(shè)備總線(xiàn),及使用多種總線(xiàn)結(jié)構(gòu)中的任何一種的本地總線(xiàn)。系統(tǒng)存儲(chǔ)器包括只讀存儲(chǔ)器(ROM)124和隨機(jī)存取存儲(chǔ)器(RAM)125。包含基本的例程來(lái)幫助在計(jì)算機(jī)120的元件之間傳輸信息,如在啟動(dòng)過(guò)程中的基本輸入/輸出系統(tǒng)(BIOS)126一般存儲(chǔ)在ROM124中。
計(jì)算機(jī)120也可以包括用于讀寫(xiě)磁硬盤(pán)139的磁硬盤(pán)驅(qū)動(dòng)器124、用于讀寫(xiě)可移動(dòng)磁盤(pán)129的磁盤(pán)驅(qū)動(dòng)器128,及用于讀寫(xiě)如CD-ROM或其他光媒體這樣的可移動(dòng)光盤(pán)131的光盤(pán)驅(qū)動(dòng)器130。磁硬盤(pán)驅(qū)動(dòng)器127、磁盤(pán)驅(qū)動(dòng)器128及光盤(pán)驅(qū)動(dòng)器130通過(guò)硬盤(pán)驅(qū)動(dòng)器接口132、磁盤(pán)驅(qū)動(dòng)器接口133及光盤(pán)驅(qū)動(dòng)器接口134各自連接到系統(tǒng)總線(xiàn)123。驅(qū)動(dòng)器和它們關(guān)聯(lián)的計(jì)算機(jī)可讀媒體提供計(jì)算機(jī)120的計(jì)算機(jī)可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其他數(shù)據(jù)的非易失存儲(chǔ)。雖然在此所述的典型環(huán)境使用磁硬盤(pán)139、可移動(dòng)磁盤(pán)129和可移動(dòng)光盤(pán)131,可以使用其他類(lèi)型的用于存儲(chǔ)數(shù)據(jù)的計(jì)算機(jī)可讀媒體,包括盒式磁帶、閃存卡、數(shù)字視頻盤(pán)、貝努利盒式磁帶、RAM、ROM及其類(lèi)似。
程序代碼方法包括可以存儲(chǔ)在硬盤(pán)139、磁盤(pán)129、光盤(pán)131、ROM124或RAM125中的一個(gè)或多個(gè)程序模塊,包括操作系統(tǒng)135、一個(gè)或多個(gè)應(yīng)用程序136、其他程序模塊134,及程序數(shù)據(jù)138。用戶(hù)可以通過(guò)鍵盤(pán)140、定點(diǎn)設(shè)備142,或其他輸入設(shè)備(未標(biāo)出),如麥克風(fēng)、操縱桿、游戲墊、衛(wèi)星天線(xiàn)、掃描儀,或其類(lèi)似輸入命令和信息到計(jì)算機(jī)120中。這些和其他輸入設(shè)備通常通過(guò)連接到系統(tǒng)總線(xiàn)123的串行口接口146連接到處理器121。替換地,可以通過(guò)其他接口連接輸入設(shè)備,如并行口、游戲端口或通用串行總線(xiàn)(USB)。顯示器147或其他顯示設(shè)備也通過(guò)接口,如視頻適配器148連接到系統(tǒng)總線(xiàn)123。除顯示器外,個(gè)人計(jì)算機(jī)通常包括其他外圍輸出設(shè)備(未標(biāo)出),如揚(yáng)聲器和打印機(jī)。
計(jì)算機(jī)120可以工作在使用到一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),如遠(yuǎn)程計(jì)算機(jī)149a和149b的邏輯連接的連網(wǎng)環(huán)境中。遠(yuǎn)程計(jì)算機(jī)149a和149b的每個(gè)都可以為另外的個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其他普通的網(wǎng)絡(luò)節(jié)點(diǎn),且通常包括很多或所有上面對(duì)計(jì)算機(jī)120進(jìn)行說(shuō)明的元件,雖然在圖1中只展示了存儲(chǔ)器存儲(chǔ)設(shè)備150a和150b及和它們關(guān)聯(lián)的應(yīng)用程序136a和136b。圖1中所示的邏輯連接包括在此作為例子而非限制展示的局域網(wǎng)(LAN)151和廣域網(wǎng)(WAN)152。這樣的連網(wǎng)環(huán)境在辦公室范圍或企業(yè)范圍的計(jì)算機(jī)網(wǎng)絡(luò)、企業(yè)內(nèi)部互聯(lián)網(wǎng)和因特網(wǎng)中是很常見(jiàn)的。
當(dāng)用在LAN連網(wǎng)環(huán)境中時(shí),計(jì)算機(jī)120通過(guò)網(wǎng)絡(luò)接口或適配器153連接到本地網(wǎng)絡(luò)151。當(dāng)用作WAN連網(wǎng)環(huán)境中時(shí),計(jì)算機(jī)120可以包括調(diào)制解調(diào)器154、無(wú)線(xiàn)連接,或其他用于在廣域網(wǎng)152,如因特網(wǎng)上建立通訊的方法。調(diào)制解調(diào)器154,內(nèi)置的或外置的,通過(guò)串行口接口146連接到系統(tǒng)總線(xiàn)123。在連網(wǎng)的環(huán)境中,對(duì)計(jì)算機(jī)120說(shuō)明的程序模塊,或其部分,可以存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備。應(yīng)理解所示的網(wǎng)絡(luò)連接為典型的且可以使用在廣域網(wǎng)152上建立通訊的其他方法。
雖然圖1展示了可以實(shí)現(xiàn)本發(fā)明的原理的計(jì)算系統(tǒng)的例子,任何計(jì)算系統(tǒng)都可以實(shí)現(xiàn)本發(fā)明的特性。在說(shuō)明及權(quán)利要求中,“計(jì)算系統(tǒng)”廣義地定義為任何硬件組件或能夠使用軟件執(zhí)行一個(gè)或多個(gè)功能的組件。計(jì)算系統(tǒng)的例子包括桌面計(jì)算機(jī)、膝上型計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、電話(huà),或任何其他有處理能力的系統(tǒng)或設(shè)備。
圖2展示的計(jì)算機(jī)網(wǎng)絡(luò)200包括通過(guò)網(wǎng)絡(luò)220發(fā)送多個(gè)網(wǎng)絡(luò)包211(如,網(wǎng)絡(luò)包211A到211J)到接收計(jì)算系統(tǒng)230的發(fā)送計(jì)算系統(tǒng)210。發(fā)送計(jì)算系統(tǒng)210和接收計(jì)算系統(tǒng)230每個(gè)都可以為客戶(hù)機(jī)或服務(wù)器計(jì)算系統(tǒng)且,雖然不是必須的,可以如上述對(duì)圖1的計(jì)算機(jī)120那樣構(gòu)建。
網(wǎng)絡(luò)220包括多個(gè)中間計(jì)算系統(tǒng)221,包括在潛在地很多其他計(jì)算系統(tǒng)之中的計(jì)算系統(tǒng)221A、221B、221C,如省略號(hào)221D所示。網(wǎng)絡(luò)220可以為,例如,因特網(wǎng)。當(dāng)傳輸每個(gè)網(wǎng)絡(luò)包時(shí),網(wǎng)絡(luò)包在到達(dá)接收計(jì)算系統(tǒng)230之前將通過(guò)一個(gè)或多個(gè)中間計(jì)算系統(tǒng)進(jìn)行路由。
通常,快速連續(xù)地在稱(chēng)為“突發(fā)(burst)”的團(tuán)簇(cluster)中發(fā)送兩個(gè)網(wǎng)絡(luò)包211到網(wǎng)絡(luò)220中。突發(fā)尺寸可以由協(xié)議增加為大于兩個(gè)包的值以減少由發(fā)送者接收的確認(rèn)的數(shù)量。以此方式傳輸會(huì)導(dǎo)致路由包的中間計(jì)算系統(tǒng)中的隊(duì)列溢出,導(dǎo)致網(wǎng)絡(luò)包在傳輸中被丟棄。如果中間計(jì)算系統(tǒng)是路由路徑中的瓶頸的話(huà),尤其會(huì)出現(xiàn)這樣的情況。
圖3展示協(xié)調(diào)包傳輸以降低丟失任何網(wǎng)絡(luò)包的機(jī)會(huì)的方法300。當(dāng)主要如下述發(fā)送包211到接收計(jì)算系統(tǒng)230時(shí),方法300可以由在圖2中展示的發(fā)送計(jì)算系統(tǒng)210執(zhí)行。然而,當(dāng)發(fā)送包到其他接收計(jì)算系統(tǒng)時(shí),發(fā)送計(jì)算系統(tǒng)210也可以執(zhí)行方法300。另外,接收計(jì)算系統(tǒng)230也可以作為向外發(fā)送網(wǎng)絡(luò)包的發(fā)送計(jì)算系統(tǒng)。相應(yīng)地,接收計(jì)算系統(tǒng)230可以執(zhí)行方法300。
圖4為示意圖,展示當(dāng)根據(jù)本發(fā)明的原理協(xié)調(diào)包傳輸時(shí)使用的發(fā)送計(jì)算系統(tǒng)210的主要組件。相應(yīng)地,將引用圖4的組件對(duì)圖3的方法進(jìn)行說(shuō)明。
方法300首先監(jiān)控和網(wǎng)絡(luò)傳輸至少部分不相關(guān)的網(wǎng)絡(luò)事件(動(dòng)作301)。引用圖4,發(fā)送計(jì)算系統(tǒng)維護(hù)多個(gè)獨(dú)立的連接401。連接為通過(guò)其發(fā)送和/或從另一計(jì)算系統(tǒng)接收信息的邏輯機(jī)制。在此情況,連接管理器400由多個(gè)開(kāi)放連接,包括連接401A、401B及401C到401N。在此例子中,連接管理器400使用連接401A發(fā)送包到接收計(jì)算系統(tǒng)230,如用條紋標(biāo)出的連接401A所示。
如上所述,監(jiān)控的事件和在連接401A上發(fā)生的包傳輸事件至少部分不相關(guān)。除發(fā)生在連接401A上的類(lèi)似事件之外或代替它們,監(jiān)控發(fā)生在一個(gè)或多個(gè)或甚至所有其他連接401B到401N上的網(wǎng)絡(luò)事件可以促進(jìn)這種相關(guān)性的缺乏。這樣的事件可以包括包發(fā)送或接收事件,及包反饋事件。監(jiān)控模塊403連接到連接管理器400以使得部分不相關(guān)的網(wǎng)絡(luò)事件可以被監(jiān)控。
例如,反饋事件模塊404可以監(jiān)控反饋事件,如接收到確認(rèn)消息以響應(yīng)發(fā)送的包。傳輸控制協(xié)議(TCP),例如,余留了這樣的確認(rèn)消息用于返回以響應(yīng)TCP包的接收。流控制傳輸協(xié)議(SCTP)可以類(lèi)似地使用這樣的確認(rèn)消息。另外,雖然用戶(hù)數(shù)據(jù)報(bào)協(xié)議(UDP)廣泛被認(rèn)為是面向推動(dòng)的,稱(chēng)為T(mén)CP友好速率控制(TFRC)的協(xié)議可以在協(xié)議棧中置于UDP上層來(lái)支持返回確認(rèn)消息以響應(yīng)UDP包的接收。另外,返回確認(rèn)消息的另一網(wǎng)絡(luò)傳輸協(xié)議在一起指定、一起待批準(zhǔn)的2001年6月19日提交、標(biāo)題為“在共同滑動(dòng)窗口中傳輸可靠和不可靠數(shù)據(jù)的連網(wǎng)系統(tǒng)和方法”的美國(guó)專(zhuān)利申請(qǐng)序列號(hào)09/884,634中更加詳細(xì)地說(shuō)明,在此完整包含作為引用。在該申請(qǐng)中說(shuō)明的網(wǎng)絡(luò)傳輸協(xié)議將在此稱(chēng)為“DirectPlay”。
反饋事件遠(yuǎn)不是唯一類(lèi)型的可以監(jiān)控的部分不相關(guān)的網(wǎng)絡(luò)事件。發(fā)送的包模塊405可以監(jiān)控包發(fā)送事件。接收的包模塊406可以監(jiān)控包接收事件。也可以包括其他模塊以監(jiān)控其他類(lèi)型的至少部分不相關(guān)的網(wǎng)絡(luò)事件,如豎省略號(hào)407所示。在圖4中也展示了軟定時(shí)器402且它可以按下述進(jìn)行工作。雖然連接管理器400、軟定時(shí)器402、監(jiān)控模塊403及其包含的模塊404到407為清楚起見(jiàn)是作為獨(dú)立的模塊說(shuō)明的,這些模塊也可以根據(jù)需要合并為更少或更集成的模塊而仍然保持在本發(fā)明原理的范圍之內(nèi)。
任何部分不相關(guān)的網(wǎng)絡(luò)事件對(duì)本發(fā)明的目的都將是足夠的。然而,為展示起見(jiàn),且并不作為限制,方法300將使用常見(jiàn)的例子,在其中至少部分不相關(guān)的網(wǎng)絡(luò)事件是形式為在所有連接401上接收以響應(yīng)從發(fā)送計(jì)算系統(tǒng)210發(fā)送的TCP包被它們相應(yīng)的目的地接收的TCP確認(rèn)事件的反饋事件。
然后發(fā)送計(jì)算系統(tǒng)210執(zhí)行功能性的、面向結(jié)果的用于主要基于至少部分不相關(guān)的網(wǎng)絡(luò)事件協(xié)調(diào)包傳輸?shù)牟襟E(步驟310)。該功能性、面向結(jié)果的步驟可以包括用于實(shí)現(xiàn)上述協(xié)調(diào)的任何對(duì)應(yīng)的動(dòng)作。然而,在圖3所示的例子中,步驟310包括對(duì)應(yīng)的動(dòng)作311和312。
特別地,步驟310首選包括構(gòu)成主要基于監(jiān)控的網(wǎng)絡(luò)事件的定時(shí)器的對(duì)應(yīng)動(dòng)作(動(dòng)作311)。定時(shí)器“主要”基于監(jiān)控的網(wǎng)絡(luò)事件,是因?yàn)橐部梢栽趶闹蝎@得定時(shí)器的不相關(guān)的事件共享池中使用一些不相關(guān)的非網(wǎng)絡(luò)事件。然而,由于不相關(guān)的事件多數(shù)或“主要”為網(wǎng)絡(luò)事件,不相關(guān)事件的速率可以容易地按下面的進(jìn)一步說(shuō)明進(jìn)行控制。然后,步驟310包括使用構(gòu)成的定時(shí)器協(xié)調(diào)多個(gè)包以其在特殊的連接上從發(fā)送計(jì)算系統(tǒng)傳輸?shù)浇邮沼?jì)算系統(tǒng)的速率的對(duì)應(yīng)動(dòng)作(動(dòng)作312)。
構(gòu)成主要基于監(jiān)控的事件的定時(shí)器的精確的機(jī)制對(duì)本發(fā)明并不重要。有多種構(gòu)成技術(shù)可以使用,現(xiàn)在對(duì)其中一些進(jìn)行說(shuō)明,僅用于說(shuō)明目的,而非限制。
在一個(gè)例子中,處理器的周期計(jì)數(shù)器和監(jiān)控的網(wǎng)絡(luò)事件一起被用來(lái)獲得軟定時(shí)器。處理器如INTEL x86系列處理器,維護(hù)每個(gè)周期遞增的內(nèi)部計(jì)數(shù)器。這個(gè)計(jì)數(shù)器可以由運(yùn)行在該處理器上的程序查詢(xún),且是準(zhǔn)確地測(cè)量經(jīng)過(guò)的時(shí)間的方法。每一次在連接上的包需要被發(fā)送時(shí),程序通過(guò)調(diào)度在特殊的時(shí)間點(diǎn)上發(fā)送出包來(lái)協(xié)調(diào)包。一些包可以立即被發(fā)送,且余下的包將排隊(duì)等待在特定的將來(lái)時(shí)間點(diǎn)被發(fā)送。對(duì)這些在將來(lái)發(fā)送的包的每一個(gè),程序計(jì)算當(dāng)特定的包需要被發(fā)送時(shí)周期計(jì)數(shù)器的值。包被放置到有關(guān)聯(lián)的周期計(jì)數(shù)器值的隊(duì)列中。對(duì)每個(gè)接下來(lái)的監(jiān)控的網(wǎng)絡(luò)事件,定時(shí)器檢查在該點(diǎn)上周期計(jì)數(shù)器的值,且如果它在包預(yù)定發(fā)送時(shí)大于周期計(jì)數(shù)器的值,則發(fā)送該包。
如果處理器頻率如通常的服務(wù)器那樣保持恒定,此定時(shí)器構(gòu)成方法能很好地工作。然而,在其他設(shè)備如膝上型電腦中,處理器頻率可能隨負(fù)載而改變。在該情況,定時(shí)器可以確定發(fā)生在最近檢測(cè)到的網(wǎng)絡(luò)事件中連續(xù)的監(jiān)控的事件之間的時(shí)間的最大量。如,假定發(fā)生在連續(xù)的確認(rèn)消息(如,在最后1000個(gè)確認(rèn)消息中)之間的時(shí)間的最大量為2.5微秒?,F(xiàn)假設(shè)為了正確地協(xié)調(diào)包發(fā)送,每次包發(fā)送應(yīng)近似地由10微秒劃分。構(gòu)成的定時(shí)器可以?xún)H在自從上次包發(fā)送在同一連接上已檢測(cè)到4個(gè)網(wǎng)絡(luò)事件時(shí),促使包發(fā)送。
為了補(bǔ)償2.5微秒表示最大的監(jiān)控的事件時(shí)間,而非平均的監(jiān)控的事件時(shí)間的事實(shí),發(fā)生在每個(gè)包之間的所需的監(jiān)控的事件數(shù)可以乘上一個(gè)安全因子。例如,如果安全因子為1.5,那么該定時(shí)器僅在自從在同一連接上的上次包傳輸后6個(gè)監(jiān)控的網(wǎng)絡(luò)事件已檢測(cè)到之后,促使包發(fā)送。由于計(jì)算監(jiān)控的網(wǎng)絡(luò)事件之間的最大時(shí)間而非計(jì)算監(jiān)控的網(wǎng)絡(luò)事件之間的平均時(shí)間相對(duì)算法要簡(jiǎn)單,最大值可能是所希望的。
監(jiān)控的事件發(fā)生的速率并不是恒定的,且隨著時(shí)間潛在地變化很大。例如,假定監(jiān)控的網(wǎng)絡(luò)事件為在所有的連接401上接收的TCP確認(rèn)消息。在繁忙的網(wǎng)絡(luò)流量時(shí)間,可能以約為每2.5微秒一個(gè)消息的平均速率接收TCP確認(rèn)消息?,F(xiàn)假設(shè)網(wǎng)絡(luò)流量從那以后已下降以使得僅有一個(gè)TCP確認(rèn)消息每5.0微秒。對(duì)此沒(méi)有任何補(bǔ)償,在包傳輸協(xié)調(diào)將會(huì)減緩。
相應(yīng)地,在確定監(jiān)控的網(wǎng)絡(luò)事件發(fā)生的速率自從構(gòu)成定時(shí)器后已改變之后(動(dòng)作313),方法可以通過(guò)執(zhí)行作為選項(xiàng)A展示的動(dòng)作314和/或作為選項(xiàng)B展示的動(dòng)作315之一或兩者的組合可選地補(bǔ)償在包傳輸協(xié)調(diào)速率中任何即將進(jìn)行的改變。
特別地,可以調(diào)整構(gòu)成的定時(shí)器以反映監(jiān)控的網(wǎng)絡(luò)事件的改變的速率(動(dòng)作314)。例如,如果網(wǎng)絡(luò)事件速率由于減少的網(wǎng)絡(luò)流量減半,那么無(wú)論何時(shí)發(fā)生監(jiān)控的事件時(shí),定時(shí)器可以增加兩倍原來(lái)的量。替換地,也許應(yīng)發(fā)生在連續(xù)的在單個(gè)連接上的包傳輸之間的監(jiān)控的事件的數(shù)量可以減半。
替換地或另外,可以調(diào)整監(jiān)控的網(wǎng)絡(luò)事件發(fā)生的速率以至少對(duì)監(jiān)控的網(wǎng)絡(luò)事件的改變的速率進(jìn)行部分補(bǔ)償(動(dòng)作315)。例如,假設(shè)監(jiān)控的網(wǎng)絡(luò)事件為T(mén)CP確認(rèn)消息且實(shí)現(xiàn)在其中對(duì)每4個(gè)發(fā)送的TCP包返回確認(rèn)消息的非常規(guī)方法。在該情況,如果由于減少的網(wǎng)絡(luò)流量TCP確認(rèn)消息速率減半,發(fā)送計(jì)算系統(tǒng)可以通過(guò)對(duì)每?jī)蓚€(gè)發(fā)送的TCP包返回TCP確認(rèn)消息來(lái)進(jìn)行調(diào)整。這會(huì)再次提高TCP確認(rèn)消息速率到約為它的初始值,即使TCP包傳輸?shù)乃俾蕼p半。
通常,TCP允許能夠?qū)γ績(jī)蓚€(gè)發(fā)送的TCP包返回一個(gè)TCP確認(rèn)。然而,存在非常規(guī)機(jī)制,在其中通過(guò)僅標(biāo)記那些會(huì)導(dǎo)致TCP確認(rèn)消息返回的TCP包,將每個(gè)確認(rèn)消息對(duì)發(fā)送的TCP包的百分比可以降低為低于每?jī)蓚€(gè)確認(rèn)消息一個(gè)TCP包,甚至在穩(wěn)定狀態(tài)。這樣的非常規(guī)機(jī)制在一起指定的、一起待批準(zhǔn)的2000年4月13日提交的標(biāo)題為“控制通訊包的確認(rèn)速率的方法和系統(tǒng)”的美國(guó)專(zhuān)利申請(qǐng)序列號(hào)09/548,712中更詳細(xì)地說(shuō)明,完整包含在此作為引用。類(lèi)似技術(shù)可以用來(lái)改變每個(gè)UDP包或每個(gè)DirectPlay包發(fā)送的確認(rèn)消息數(shù)量。
在這樣的監(jiān)控的事件的發(fā)生之間的時(shí)間通常比操作系統(tǒng)內(nèi)的定時(shí)器的當(dāng)前粒度短很多。例如,在很多常規(guī)操作系統(tǒng)中的定時(shí)器可以配置為不執(zhí)行快于每一毫秒或每十毫秒的連續(xù)動(dòng)作。換句話(huà)說(shuō),連續(xù)監(jiān)控的網(wǎng)絡(luò)事件可以發(fā)生在微秒,或甚至納秒的級(jí)別上。相應(yīng)地,根據(jù)本發(fā)明構(gòu)成的定時(shí)器能夠在連續(xù)動(dòng)作的時(shí)間選擇上提供細(xì)粒度的控制,即使需要選擇時(shí)間使那些連續(xù)動(dòng)作彼此之間發(fā)生在微秒,或甚至納秒的間隔上。這樣的連續(xù)動(dòng)作不一定為網(wǎng)絡(luò)包的傳輸,而是可以包括其他連續(xù)動(dòng)作,例如在系統(tǒng)總線(xiàn)上發(fā)送數(shù)據(jù)。
可以用其他具體形式實(shí)現(xiàn)本發(fā)明而不偏離其精神或本質(zhì)特征。所述實(shí)施例在所有方面應(yīng)被視為僅為說(shuō)明性且非限制性的。本發(fā)明的范圍,因此,由后附的權(quán)利要求而非上述說(shuō)明表明。在權(quán)利要求的等價(jià)意義和范圍內(nèi)的所有改變應(yīng)被視為在其范圍之內(nèi)。
權(quán)利要求
1.在包括發(fā)送計(jì)算系統(tǒng)和接收計(jì)算系統(tǒng)的計(jì)算機(jī)網(wǎng)絡(luò)中,發(fā)送計(jì)算系統(tǒng)能夠傳輸網(wǎng)絡(luò)包到接收計(jì)算系統(tǒng),發(fā)送計(jì)算系統(tǒng)協(xié)調(diào)連續(xù)動(dòng)作的一種方法,其特征在于,所述方法包括下述由發(fā)送計(jì)算系統(tǒng)執(zhí)行的監(jiān)控和特殊連接上的包傳輸至少部分不相關(guān)的網(wǎng)絡(luò)事件的動(dòng)作;構(gòu)成主要基于監(jiān)控的網(wǎng)絡(luò)事件的定時(shí)器的動(dòng)作;及使用構(gòu)成的定時(shí)器協(xié)調(diào)連續(xù)動(dòng)作的動(dòng)作。
2.如權(quán)利要求1所述的方法,其特征在于,所述連續(xù)動(dòng)作為網(wǎng)絡(luò)包的傳輸。
3.如權(quán)利要求1所述的方法,其特征在于,所述連續(xù)動(dòng)作為系統(tǒng)總線(xiàn)上的數(shù)據(jù)通訊。
4.在包括發(fā)送計(jì)算系統(tǒng)和接收計(jì)算系統(tǒng)的計(jì)算機(jī)網(wǎng)絡(luò)中,發(fā)送計(jì)算系統(tǒng)能夠傳輸網(wǎng)絡(luò)包到接收計(jì)算系統(tǒng),發(fā)送計(jì)算系統(tǒng)協(xié)調(diào)多個(gè)包的傳輸以減少在傳輸中丟失任何網(wǎng)絡(luò)包的機(jī)會(huì)的一種方法,其特征在于,所述包括下述由發(fā)送計(jì)算系統(tǒng)執(zhí)行的監(jiān)控和特殊連接上的包傳輸至少部分不相關(guān)的網(wǎng)絡(luò)事件的動(dòng)作;構(gòu)成主要基于監(jiān)控的網(wǎng)絡(luò)事件的定時(shí)器的動(dòng)作;及使用構(gòu)成的定時(shí)器協(xié)調(diào)多個(gè)包在特殊連接上從發(fā)送計(jì)算系統(tǒng)傳輸?shù)浇邮沼?jì)算系統(tǒng)的速率。
5.如權(quán)利要求4所述的方法,其特征在于,所述監(jiān)控和特殊連接上的包傳輸至少部分不相關(guān)的網(wǎng)絡(luò)事件的動(dòng)作包括下述在除所述特殊連接外的一個(gè)或多個(gè)連接上監(jiān)控網(wǎng)絡(luò)事件的動(dòng)作。
6.如權(quán)利要求5所述的方法,其特征在于,所述監(jiān)控和特殊連接上的包傳輸至少部分不相關(guān)的網(wǎng)絡(luò)事件的動(dòng)作進(jìn)一步包括也在所述特殊的連接上監(jiān)控網(wǎng)絡(luò)事件的動(dòng)作。
7.如權(quán)利要求4所述的方法,其特征在于,所述監(jiān)控和特殊連接上的包傳輸至少部分不相關(guān)的網(wǎng)絡(luò)事件的動(dòng)作包括下述在由發(fā)送計(jì)算系統(tǒng)支持的所有連接上監(jiān)控網(wǎng)絡(luò)事件的動(dòng)作。
8.如權(quán)利要求4所述的方法,其特征在于,所述監(jiān)控和特殊連接上的包傳輸至少部分不相關(guān)的網(wǎng)絡(luò)事件的動(dòng)作包括下述監(jiān)控表示在多個(gè)連接上傳輸?shù)陌驯唤邮盏降拇_認(rèn)的反饋事件的動(dòng)作。
9.如權(quán)利要求4所述的方法,其特征在于,所述監(jiān)控和特殊連接上的包傳輸至少部分不相關(guān)的網(wǎng)絡(luò)事件的動(dòng)作包括下述監(jiān)控在多個(gè)連接上發(fā)送的包的動(dòng)作。
10.如權(quán)利要求4所述的方法,其特征在于,所述監(jiān)控和特殊連接上的包傳輸至少部分不相關(guān)的網(wǎng)絡(luò)事件的動(dòng)作包括下述監(jiān)控在多個(gè)連接上接收的包的動(dòng)作。
11.如權(quán)利要求4所述的方法,其特征在于,所述監(jiān)控和特殊連接上的包傳輸至少部分不相關(guān)的網(wǎng)絡(luò)事件的動(dòng)作包括下述監(jiān)控表示在多個(gè)連接上傳輸?shù)腡CP包已被接收到的確認(rèn)的反饋事件的動(dòng)作。
12.如權(quán)利要求4所述的方法,其特征在于,進(jìn)一步包括下述確定監(jiān)控的網(wǎng)絡(luò)事件發(fā)生的速率自從構(gòu)成定時(shí)器以后已改變的動(dòng)作。
13.如權(quán)利要求12所述的方法,其特征在于,進(jìn)一步包括下述調(diào)整定時(shí)器以反映監(jiān)控的網(wǎng)絡(luò)事件已改變的速率的動(dòng)作。
14.如權(quán)利要求12所述的方法,其特征在于,進(jìn)一步包括下述調(diào)整監(jiān)控的網(wǎng)絡(luò)事件發(fā)生的速率以至少部分補(bǔ)償監(jiān)控的網(wǎng)絡(luò)事件改變的速率的動(dòng)作。
15.如權(quán)利要求14所述的方法,其特征在于,所述監(jiān)控的網(wǎng)絡(luò)事件包括表示一個(gè)或多個(gè)包已被收到的確認(rèn)的反饋事件,及所述調(diào)整監(jiān)控的網(wǎng)絡(luò)事件發(fā)生的速率的動(dòng)作包括下述改變?cè)诙鄠€(gè)連接上由反饋事件確認(rèn)的包的數(shù)量動(dòng)作。
16.如權(quán)利要求15所述的方法,其特征在于,所述包為T(mén)CP包及所述反饋事件為T(mén)CP確認(rèn)消息。
17.如權(quán)利要求15所述的方法,其特征在于,所述包為UDP包及所述反饋事件為T(mén)FRC確認(rèn)消息。
18.如權(quán)利要求15所述的方法,其特征在于,所述包為DirectPlay包。
19.如權(quán)利要求15所述的方法,其特征在于,所述包為SCTP包及所述反饋事件為SCTP確認(rèn)消息。
20.如權(quán)利要求4所述的方法,其特征在于,所述構(gòu)成基于監(jiān)控的網(wǎng)絡(luò)事件的定時(shí)器的動(dòng)作包括僅基于監(jiān)控的網(wǎng)絡(luò)事件的發(fā)生改變由定時(shí)器表示的時(shí)間的動(dòng)作。
21.如權(quán)利要求4所述的方法,其特征在于,所述構(gòu)成主要基于監(jiān)控的網(wǎng)絡(luò)事件的定時(shí)器的動(dòng)作包括確定在所述特殊連接上發(fā)送連續(xù)的包之間應(yīng)發(fā)生多少監(jiān)控的網(wǎng)絡(luò)事件的動(dòng)作,所述使用構(gòu)成的定時(shí)器進(jìn)行協(xié)調(diào)的動(dòng)作包括發(fā)送連續(xù)的包以使得在每個(gè)連續(xù)的包傳輸之間發(fā)生確定數(shù)量的監(jiān)控的網(wǎng)絡(luò)事件的動(dòng)作。
22.如權(quán)利要求4所述的方法,其特征在于,所述構(gòu)成主要基于監(jiān)控的網(wǎng)絡(luò)事件的定時(shí)器的動(dòng)作包括每次發(fā)生監(jiān)控的網(wǎng)絡(luò)事件時(shí)遞增定時(shí)器值的動(dòng)作,所述使用構(gòu)成的定時(shí)器進(jìn)行協(xié)調(diào)的動(dòng)作包括下述標(biāo)識(shí)為了發(fā)送包應(yīng)被超過(guò)的定時(shí)器值的動(dòng)作;及一旦實(shí)際的定時(shí)器值超過(guò)應(yīng)被超過(guò)的定時(shí)器值就發(fā)送包的動(dòng)作。
23.如權(quán)利要求4所述的方法,其特征在于,所述定時(shí)器值主要基于處理器周期值,所述發(fā)送包的動(dòng)作包括下述檢測(cè)監(jiān)控的網(wǎng)絡(luò)事件的動(dòng)作;檢查當(dāng)前的處理器周期值以響應(yīng)檢測(cè)監(jiān)控的網(wǎng)絡(luò)事件的動(dòng)作;及如果當(dāng)前的處理器周期值大于定時(shí)器值則發(fā)送包的動(dòng)作。
24.一種計(jì)算機(jī)程序產(chǎn)品,用于包括發(fā)送計(jì)算系統(tǒng)和接收計(jì)算系統(tǒng)的計(jì)算機(jī)網(wǎng)絡(luò)中,發(fā)送計(jì)算系統(tǒng)能夠傳輸網(wǎng)絡(luò)包到接收計(jì)算系統(tǒng),所述計(jì)算機(jī)程序產(chǎn)品用于實(shí)現(xiàn)發(fā)送計(jì)算系統(tǒng)協(xié)調(diào)多個(gè)包的傳輸?shù)姆椒ǎ涮卣髟谟?,所述?jì)算機(jī)產(chǎn)品包括一個(gè)或多個(gè)計(jì)算機(jī)可讀媒體,在其上有下述由發(fā)送計(jì)算系統(tǒng)執(zhí)行的用于監(jiān)控和在特殊的連接上包的傳輸至少部分不相關(guān)的網(wǎng)絡(luò)事件的計(jì)算機(jī)可執(zhí)行指令;用于構(gòu)成主要基于監(jiān)控的網(wǎng)絡(luò)事件的定時(shí)器的計(jì)算機(jī)可執(zhí)行指令;及用于使用構(gòu)成的定時(shí)器協(xié)調(diào)在所述特殊連接上從發(fā)送計(jì)算系統(tǒng)傳輸多個(gè)包到接收計(jì)算系統(tǒng)的速率的計(jì)算機(jī)可執(zhí)行指令。
25.如權(quán)利要求24所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述一個(gè)或多個(gè)計(jì)算機(jī)可讀媒體為物理存儲(chǔ)媒體。
26.在包括發(fā)送計(jì)算系統(tǒng)和接收計(jì)算系統(tǒng)的計(jì)算機(jī)網(wǎng)絡(luò)中,發(fā)送計(jì)算系統(tǒng)能夠傳輸網(wǎng)絡(luò)包到接收計(jì)算系統(tǒng),發(fā)送計(jì)算系統(tǒng)協(xié)調(diào)多個(gè)包的傳輸以減少在傳輸中丟失任何網(wǎng)絡(luò)包的機(jī)會(huì)的一種方法,其特征在于,所述包括下述由發(fā)送計(jì)算系統(tǒng)執(zhí)行的監(jiān)控和在特殊連接上的包的傳輸至少部分不相關(guān)的網(wǎng)絡(luò)事件的動(dòng)作;及用于主要基于至少部分不相關(guān)的網(wǎng)絡(luò)事件協(xié)調(diào)包的傳輸?shù)牟襟E。
27.如權(quán)利要求26所述的方法,其特征在于,所述用于主要基于至少部分不相關(guān)的網(wǎng)絡(luò)事件協(xié)調(diào)包的傳輸?shù)牟襟E包括下述構(gòu)成主要基于監(jiān)控的網(wǎng)絡(luò)事件的定時(shí)器的動(dòng)作;及使用構(gòu)成的定時(shí)器協(xié)調(diào)在所述特殊連接上從發(fā)送計(jì)算系統(tǒng)傳輸多個(gè)包到接收計(jì)算系統(tǒng)的速率的動(dòng)作。
全文摘要
發(fā)送計(jì)算系統(tǒng)通過(guò)特定網(wǎng)絡(luò)連接發(fā)送多個(gè)網(wǎng)絡(luò)包到接收計(jì)算系統(tǒng)。發(fā)送計(jì)算系統(tǒng)監(jiān)控至少部分不相關(guān)的網(wǎng)絡(luò)事件以獲得當(dāng)使用TCP發(fā)送包時(shí)基于不相關(guān)的網(wǎng)絡(luò)事件,如反饋事件(如,確認(rèn)消息),來(lái)調(diào)度傳輸?shù)能浂〞r(shí)器。由于潛在地使用所有網(wǎng)絡(luò)連接,來(lái)自通過(guò)特定連接發(fā)送包的事件更少相關(guān)。然后獲得的定時(shí)器被用于在特定的連接上協(xié)調(diào)發(fā)送出的包??梢杂谜{(diào)整所監(jiān)控的不相關(guān)的網(wǎng)絡(luò)事件發(fā)生頻率的方式標(biāo)記發(fā)送出的包。
文檔編號(hào)H04L12/56GK1520114SQ20041000330
公開(kāi)日2004年8月11日 申請(qǐng)日期2004年1月19日 優(yōu)先權(quán)日2003年1月24日
發(fā)明者B·S·塞西, B S 塞西 申請(qǐng)人:微軟公司