專利名稱::基于端對端測量對網(wǎng)絡(luò)上數(shù)據(jù)流準(zhǔn)入的控制的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明一般涉及網(wǎng)絡(luò)通信技術(shù),尤其涉及用于控制數(shù)據(jù)流到網(wǎng)絡(luò)上的準(zhǔn)入的機(jī)制。
背景技術(shù):
:通過允許一臺計算機(jī)或設(shè)備(這里都稱為“計算系統(tǒng)”)在網(wǎng)絡(luò)上用電子數(shù)據(jù)與另一計算系統(tǒng)進(jìn)行通信,計算機(jī)網(wǎng)絡(luò)提高了傳遞和訪問信息的能力。當(dāng)在計算系統(tǒng)間傳遞電子數(shù)據(jù)時,電子消息通常會通過對電子數(shù)據(jù)執(zhí)行操作的協(xié)議棧。開放式系統(tǒng)互連(“0SI”)模型是用于實現(xiàn)協(xié)議棧的網(wǎng)絡(luò)框架的示例。OSI模型把用于傳遞電子數(shù)據(jù)的操作分成7個不同的“層”,每層都用于在數(shù)據(jù)傳輸進(jìn)程中執(zhí)行特定的操作。雖然協(xié)議??赡軐崿F(xiàn)每一層,然而許多協(xié)議棧僅僅實現(xiàn)用于在網(wǎng)絡(luò)間傳遞電子數(shù)據(jù)的選擇性的層。當(dāng)從計算系統(tǒng)發(fā)出電子數(shù)據(jù)時,電子數(shù)據(jù)從應(yīng)用層始發(fā),并且被向下傳遞到中間的較低層,然后轉(zhuǎn)遞到網(wǎng)絡(luò)上。當(dāng)從網(wǎng)絡(luò)接收到電子數(shù)據(jù)時,電子數(shù)據(jù)進(jìn)入物理層并且被向上傳遞至較高的中間層,然后最終在應(yīng)用層處被接收。最上層應(yīng)用層負(fù)責(zé)支持應(yīng)用程序和終端用戶進(jìn)程。大多數(shù)協(xié)議棧所結(jié)合的中間層是傳輸層,傳輸層的最小功能是把應(yīng)用數(shù)據(jù)多路復(fù)用到傳輸層分段內(nèi)用于傳遞至較低層,并且用于把傳輸層分段多路分解成應(yīng)用數(shù)據(jù)用于傳遞至應(yīng)用程序。用戶數(shù)據(jù)表協(xié)議(“UDP”)是在傳輸層處實現(xiàn)的協(xié)議示例,傳輸層稍微多用于多路復(fù)用/多路分解數(shù)據(jù),用于應(yīng)用程序和網(wǎng)絡(luò)間的兼容傳輸。傳輸層處實現(xiàn)的另一公共協(xié)議是傳輸控制協(xié)議(“TCP”),它是一面向連接的協(xié)議,也能向應(yīng)用層提供端對端的差錯恢復(fù)、重新排序和流程控制的特性。即使在適當(dāng)配置的網(wǎng)絡(luò)上,由于不利的網(wǎng)絡(luò)條件也會隨時發(fā)生網(wǎng)絡(luò)數(shù)據(jù)丟失,不利網(wǎng)絡(luò)條件比如硬件組件故障、軟件差錯、鏈路噪聲或干擾、網(wǎng)絡(luò)擁塞等等。在許多情況下,不利網(wǎng)絡(luò)條件的出現(xiàn)對希望在網(wǎng)絡(luò)上發(fā)送電子數(shù)據(jù)的用戶來說會是未知的。而且,即使用戶知道了不利網(wǎng)絡(luò)條件,糾正這些不利條件通常也不在用戶的控制范圍。因此,當(dāng)在網(wǎng)絡(luò)上傳輸電子數(shù)據(jù)時總是可能存在數(shù)據(jù)丟失。幸運(yùn)的是,TCP的特性可以補(bǔ)償并糾正從許多不利網(wǎng)絡(luò)條件產(chǎn)生的數(shù)據(jù)丟失。因而,當(dāng)期望可靠的數(shù)據(jù)傳輸時,TCP是極端有用的,比如當(dāng)傳輸帶有文本和圖形的Web頁面時。然而,為了實現(xiàn)TCP的特性,必須為每個TCP連接維持某些狀態(tài)信息,比如接收和發(fā)送緩沖區(qū)、擁塞控制參數(shù)以及順序和應(yīng)答數(shù)參數(shù)。狀態(tài)信息的維護(hù)消耗計算系統(tǒng)資源(如系統(tǒng)內(nèi)存),使這些資源對于也可能使用這些資源的用戶處理不可用。因此,當(dāng)可靠的數(shù)據(jù)傳輸并不關(guān)鍵時,應(yīng)用程序在網(wǎng)絡(luò)上發(fā)送電子數(shù)據(jù)時可以使用UDP來保存計算系統(tǒng)資源。5UDP尤其適用于在計算系統(tǒng)間把音頻和視頻數(shù)據(jù)(下文中成為“A/V數(shù)據(jù)”)作為穩(wěn)定且連續(xù)的流(通常被成為“流化”)而進(jìn)行傳輸。由于A/V數(shù)據(jù)的輸出一般包括刷新前面接收到的A/V數(shù)據(jù),因此從A/V數(shù)據(jù)流中丟失某些A/V數(shù)據(jù)(比如許多網(wǎng)絡(luò)中的固有數(shù)據(jù)丟失)并不關(guān)鍵。例如,當(dāng)未接收到視頻幀的視頻數(shù)據(jù)時,顯示屏?xí)@示瞬間閃爍,但在接收到更新后的視頻數(shù)據(jù)時被刷新。因而,UDP經(jīng)常用于在本地網(wǎng)絡(luò)(HomeNetwork)、局域網(wǎng)和廣域網(wǎng)中的計算系統(tǒng)間傳輸A/V數(shù)據(jù)流。不幸的是,UDP沒有用于擁塞控制的內(nèi)建機(jī)制。因此,利用UDP來發(fā)送A/V數(shù)據(jù)流的計算系統(tǒng)一般不能檢測出A/V數(shù)據(jù)流的傳輸何時由于網(wǎng)絡(luò)擁塞而降級。同樣,使用UDP來發(fā)送A/V數(shù)據(jù)流的計算系統(tǒng)一般不能檢測出A/V數(shù)據(jù)流何時造成使其他A/V數(shù)據(jù)流降級的網(wǎng)絡(luò)擁塞。因此,可能把一個A/V數(shù)據(jù)流發(fā)送到具有其他現(xiàn)有A/V數(shù)據(jù)流的網(wǎng)絡(luò)上,從而使所有A/V數(shù)據(jù)流的質(zhì)量降級。例如,當(dāng)10兆比特每秒(“Mbps”)的以太網(wǎng)集線器正在支持現(xiàn)有的6Mbps高清晰電視數(shù)據(jù)流、并且開始另一個6Mbps的高清晰電視數(shù)據(jù)流時,兩個數(shù)據(jù)流都會遭受高延遲、抖動和分組丟失。而且,由于UDP的傳輸速度僅受應(yīng)用程序產(chǎn)生數(shù)據(jù)以及資源性能(CPU、時鐘速率等)的限制,因此使許多A/V數(shù)據(jù)流在任何給定時間以高數(shù)據(jù)傳輸速率發(fā)送數(shù)據(jù)是不尋常的。雖然TCP具有擁塞控制機(jī)制,但是TCP擁塞控制機(jī)制并不很好地適用于實時應(yīng)用,比如發(fā)送A/V數(shù)據(jù)流的那些應(yīng)用。當(dāng)發(fā)送計算系統(tǒng)和接收機(jī)計算系統(tǒng)間的一個或多個數(shù)據(jù)鏈路變得過度擁塞時,TCP擁塞控制機(jī)制降低了數(shù)據(jù)傳輸速率。然而,數(shù)據(jù)傳輸速率的降低會使實時應(yīng)用顯著降級,這會容忍某些分組丟失,但要求最小的數(shù)據(jù)傳輸速率。此外,當(dāng)網(wǎng)絡(luò)變得擁塞時,一個A/V數(shù)據(jù)流可以獲得不成比例的帶寬量(通常被稱為“以太網(wǎng)俘獲效應(yīng)”)。因此,較新的A/V數(shù)據(jù)流可能從現(xiàn)有的A/V數(shù)據(jù)流“接管”帶寬。這會使現(xiàn)有A/V數(shù)據(jù)流的現(xiàn)有用戶不滿意。較新A/V數(shù)據(jù)流的始發(fā)用戶可能還沒有積極地希望使現(xiàn)有A/V數(shù)據(jù)流降級。然而,始發(fā)用戶無法確定網(wǎng)絡(luò)是否會在開始較新的A/V流之前支持兩個A/V流。而且,網(wǎng)絡(luò)管理員沒有任何機(jī)制能限制A/V數(shù)據(jù)流或者限制A/V數(shù)據(jù)流所消耗的網(wǎng)絡(luò)帶寬量。許多網(wǎng)絡(luò)固有地給A/V數(shù)據(jù)流比其他數(shù)據(jù)類型更高的優(yōu)先級,這是由于一般不能恢復(fù)從A/V數(shù)據(jù)流丟失的數(shù)據(jù)。因此,當(dāng)網(wǎng)絡(luò)鏈路上發(fā)生擁塞時,A/V數(shù)據(jù)流可以得到由于較高的優(yōu)先級而產(chǎn)生的帶寬。擁塞期間給A/V數(shù)據(jù)流的帶寬會降低對其他非流化數(shù)據(jù)可用的帶寬,引起非流化數(shù)據(jù)傳輸?shù)慕导?。例如,?dāng)沒有足夠的帶寬容量來適當(dāng)?shù)匕l(fā)送A/V數(shù)據(jù)流和Web頁面兩者時,A/V數(shù)據(jù)流的傳輸會延遲、或甚至阻止Web頁面的傳輸。因此,用于控制到網(wǎng)絡(luò)上的數(shù)據(jù)流傳輸?shù)南到y(tǒng)、方法和計算機(jī)程序產(chǎn)品會是有利的。
發(fā)明內(nèi)容本發(fā)明的原理克服了現(xiàn)有技術(shù)的上述問題,本發(fā)明解決了用于控制到網(wǎng)絡(luò)上的數(shù)據(jù)流輸入的方法、系統(tǒng)和計算機(jī)程序產(chǎn)品。發(fā)送計算系統(tǒng)是可以通過具有一條或多條數(shù)據(jù)鏈路的網(wǎng)絡(luò)數(shù)據(jù)路徑連接到接收計算系統(tǒng)的網(wǎng)絡(luò),所述一條或多條數(shù)據(jù)鏈路包括至少一條發(fā)送端數(shù)據(jù)鏈路和一條接收端數(shù)據(jù)鏈路。發(fā)送計算系統(tǒng)從一應(yīng)用程序接收所請求的應(yīng)用數(shù)據(jù)傳輸速率,所述應(yīng)用程序請求把應(yīng)用數(shù)據(jù)流從發(fā)送計算系統(tǒng)傳遞至接收計算系統(tǒng)。發(fā)送計算系統(tǒng)被動地檢測發(fā)送端數(shù)據(jù)負(fù)載。發(fā)送端數(shù)據(jù)負(fù)載是從可接受的發(fā)送端數(shù)據(jù)鏈路容量中減去的,例如10兆比特每秒(“Mbps”),以計算可用的發(fā)送端帶寬。當(dāng)可用的發(fā)送端帶寬大于所請求的應(yīng)用數(shù)據(jù)傳輸速率時,可用的發(fā)送端帶寬被視為足以接收應(yīng)用數(shù)據(jù)流。根據(jù)網(wǎng)絡(luò)配置,發(fā)送端計算機(jī)系統(tǒng)還向接收端計算機(jī)系統(tǒng)發(fā)送指令以計算可用的接收端帶寬。當(dāng)可用的接收端帶寬大于所請求的應(yīng)用數(shù)據(jù)傳輸速率時,可用的接收端帶寬被視為足以接收應(yīng)用數(shù)據(jù)流。根據(jù)需要響應(yīng)于可用的發(fā)送端帶寬,可用的接收端帶寬是足夠的,發(fā)送端計算機(jī)系統(tǒng)啟動更主動的測試。發(fā)送端計算機(jī)系統(tǒng)向接收計算機(jī)系統(tǒng)發(fā)出第一分組對數(shù)據(jù)分組,隨后發(fā)出第二分組對數(shù)據(jù)分組,兩者都是通過網(wǎng)絡(luò)數(shù)據(jù)路徑。接收計算機(jī)系統(tǒng)在第一接收時間接收第一分組對數(shù)據(jù),在第二接收時間接收第二分組對數(shù)據(jù)分組。至少根據(jù)第一接收時間和第二接收時間內(nèi)的差異來估計網(wǎng)絡(luò)數(shù)據(jù)路徑的瓶頸帶寬。當(dāng)瓶頸帶寬大于所請求的應(yīng)用數(shù)據(jù)傳輸速率時,可用的網(wǎng)絡(luò)數(shù)據(jù)路徑被視為足以接收應(yīng)用數(shù)據(jù)流。響應(yīng)于可用網(wǎng)絡(luò)數(shù)據(jù)路徑帶寬是足夠的,發(fā)送計算機(jī)系統(tǒng)啟動更主動的測試。發(fā)送計算機(jī)系統(tǒng)標(biāo)識參數(shù),用于配置數(shù)據(jù)分組列以所請求的應(yīng)用數(shù)據(jù)傳輸速率來模擬發(fā)出應(yīng)用數(shù)據(jù)流。發(fā)送計算機(jī)系統(tǒng)按照所標(biāo)識的參數(shù)臨時地發(fā)出數(shù)據(jù)分組列以模擬應(yīng)用數(shù)據(jù)流的發(fā)送。接收計算機(jī)系統(tǒng)至少接收分組列中的某些數(shù)據(jù)分組。接收計算機(jī)系統(tǒng)計算的是,數(shù)據(jù)分組列未造成網(wǎng)絡(luò)數(shù)據(jù)路徑轉(zhuǎn)變?yōu)閾砣麪顟B(tài)。在某些實施例中,發(fā)送計算機(jī)系統(tǒng)最初以所估計瓶頸帶寬的指定小部分(如一百分之一)把一列診斷數(shù)據(jù)分組發(fā)送到網(wǎng)絡(luò)數(shù)據(jù)路徑上。所估計瓶頸帶寬的指定小部分請求一診斷數(shù)據(jù)傳輸速率,該速率大大降低了在網(wǎng)絡(luò)數(shù)據(jù)路徑上引起擁塞的似然性。接收計算機(jī)系統(tǒng)至少接收某些診斷數(shù)據(jù)分組。從接收到的診斷數(shù)據(jù)分組中,接收計算機(jī)系統(tǒng)標(biāo)識了延遲的診斷數(shù)據(jù)分組(如,那些在指定時間閾值后接收到的診斷數(shù)據(jù)分組)的數(shù)目。然后,發(fā)送計算機(jī)系統(tǒng)臨時以所請求的應(yīng)用數(shù)據(jù)傳輸速率把一列目標(biāo)數(shù)據(jù)分組發(fā)送到網(wǎng)絡(luò)數(shù)據(jù)路徑上。臨時發(fā)送該列目標(biāo)數(shù)據(jù)分組以模擬應(yīng)用數(shù)據(jù)流的傳輸,其方式是大大降低了在網(wǎng)絡(luò)數(shù)據(jù)路徑上引起擁塞的似然性。接收計算機(jī)系統(tǒng)至少接收某些目標(biāo)數(shù)據(jù)分組。從接收到的目標(biāo)數(shù)據(jù)分組中,接收計算機(jī)系統(tǒng)標(biāo)識延遲的目標(biāo)數(shù)據(jù)分組(如,那些在指定時間閾值后接收到的目標(biāo)數(shù)據(jù)分組)的數(shù)目。接收計算機(jī)系統(tǒng)把延遲的目標(biāo)數(shù)據(jù)分組數(shù)目與延遲的診斷數(shù)據(jù)分組數(shù)目相比較。當(dāng)延遲的目標(biāo)分組數(shù)目在延遲的診斷數(shù)據(jù)分組數(shù)目的指定延遲分組閾值內(nèi)時,確定該應(yīng)用數(shù)據(jù)流不會造成網(wǎng)絡(luò)數(shù)據(jù)路徑上的擁塞。接收計算機(jī)系統(tǒng)把比較結(jié)果發(fā)送至發(fā)送計算機(jī)系統(tǒng)。因而,發(fā)送計算機(jī)系統(tǒng)把應(yīng)用數(shù)據(jù)流發(fā)送到網(wǎng)絡(luò)數(shù)據(jù)路徑上。下面的描述中將提出本發(fā)明的附加特性和優(yōu)點(diǎn),部分特性和優(yōu)點(diǎn)將從描述中明顯可見,或者可以通過實踐本發(fā)明而得知。本發(fā)明的特性和優(yōu)點(diǎn)可以通過在所附權(quán)利要求中特別指出的指令和組合來實現(xiàn)和獲得。從下面的描述和所附權(quán)利要求中,本發(fā)明的這些及其他特性將變得更為明顯,或者可以通過下面提出的本發(fā)明的實踐而得知。為了描述可以獲得本發(fā)明的上述及其他優(yōu)點(diǎn)和特性的方式,下面將參照特定實施例給出對上面簡述的發(fā)明更具體的描述,實施例是在附圖中說明了。這些附圖僅僅是發(fā)明的典型實施例,因此不應(yīng)被視為限制其范圍,本發(fā)明可以通過使用附圖來更具體地描述和說明,附圖中圖1說明了按照本發(fā)明原理的適當(dāng)工作環(huán)境。圖2說明了便于控制到網(wǎng)絡(luò)上的數(shù)據(jù)流準(zhǔn)入的網(wǎng)絡(luò)結(jié)構(gòu)示例。圖3A和3B說明了用于估計發(fā)送計算機(jī)系統(tǒng)可以向接收計算機(jī)系統(tǒng)傳遞應(yīng)用數(shù)據(jù)流而不使網(wǎng)絡(luò)數(shù)據(jù)路徑擁塞的方法的示例流程圖。圖4說明了用于根據(jù)所標(biāo)識的隊列延遲來估計網(wǎng)絡(luò)數(shù)據(jù)路徑擁塞的似然性的方法示例流程圖。圖5說明了在10兆比特每秒的以太網(wǎng)鏈路上隊列延遲相對所提供負(fù)載的示例圖。圖6A說明了接收到的數(shù)據(jù)分組百分比相對與接收延遲閾值的偏差的示例圖,指出數(shù)據(jù)流會使被探測網(wǎng)絡(luò)數(shù)據(jù)路徑擁塞的降低的似然性。圖6B說明了接收到的數(shù)據(jù)分組百分比相對與接收延遲閾值的偏差的示例圖,指出數(shù)據(jù)流會使被探測網(wǎng)絡(luò)數(shù)據(jù)路徑擁塞的增加的似然性。具體實施例方式本發(fā)明的原理提供了到網(wǎng)絡(luò)上的數(shù)據(jù)流準(zhǔn)入的控制。一系列測試中的適當(dāng)判決控制了數(shù)據(jù)流到網(wǎng)絡(luò)數(shù)據(jù)路徑上的準(zhǔn)入,所述一系列測試從較被動的測試轉(zhuǎn)變?yōu)檩^主動的測試。較被動的測試包括在網(wǎng)絡(luò)數(shù)據(jù)路徑的發(fā)送端數(shù)據(jù)鏈路處的混雜模式測量,根據(jù)需要也可以在網(wǎng)絡(luò)數(shù)據(jù)路徑的接收端數(shù)據(jù)鏈路處。當(dāng)發(fā)送端數(shù)據(jù)鏈路和/或接收端數(shù)據(jù)鏈路沒有足夠的可用帶寬來支持應(yīng)用數(shù)據(jù)流時,測試停止,且應(yīng)用數(shù)據(jù)流不被發(fā)送到網(wǎng)絡(luò)上。相反,當(dāng)發(fā)送到數(shù)據(jù)鏈路和接收端數(shù)據(jù)鏈路沒有足夠的可用帶寬來支持應(yīng)用數(shù)據(jù)流時,執(zhí)行較主動的測試,例如分組對測試和/或主動網(wǎng)絡(luò)探測。適當(dāng)時,執(zhí)行分組對測試來計算網(wǎng)絡(luò)數(shù)據(jù)路徑的瓶頸帶寬。當(dāng)瓶頸帶寬不足以支持應(yīng)用數(shù)據(jù)流時,測試停止,且應(yīng)用數(shù)據(jù)流不被發(fā)送到網(wǎng)絡(luò)上。另一方面當(dāng)瓶頸帶寬足以支持應(yīng)用數(shù)據(jù)流時,執(zhí)行較主動的測試,例如主動網(wǎng)絡(luò)探測。適當(dāng)時,主動地探測網(wǎng)絡(luò)數(shù)據(jù)路徑(如通過發(fā)送數(shù)據(jù)分組列)來標(biāo)識應(yīng)用數(shù)據(jù)流在網(wǎng)絡(luò)數(shù)據(jù)路徑上造成擁塞的似然性,如果應(yīng)用數(shù)據(jù)流曾被發(fā)送到網(wǎng)絡(luò)數(shù)據(jù)路徑上。當(dāng)標(biāo)識出造成擁塞的增加的似然性時,不把應(yīng)用數(shù)據(jù)流傳遞到網(wǎng)絡(luò)數(shù)據(jù)路徑上。另一方面當(dāng)標(biāo)識出造成擁塞的降低的似然性時,可以把應(yīng)用數(shù)據(jù)流傳遞到網(wǎng)絡(luò)數(shù)據(jù)路徑上。本發(fā)明范圍內(nèi)的實施例包括計算機(jī)可讀媒介,所述計算機(jī)可讀媒介上傳遞或者在其上存儲計算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)。這種計算機(jī)可讀媒介可以是任何可用的媒介,它可由通用或?qū)S糜嬎銠C(jī)系統(tǒng)來訪問。例如但非限制,這種計算機(jī)可讀媒介可以包括像RAM、ROM、EPROM、CD-ROM這樣的物理存儲媒介,或其他光盤存儲器、磁盤存儲器或其他磁性存儲設(shè)備,或者可用于傳遞或存儲期望的程序代碼裝置的任何其他媒介,所述期望程序代碼裝置的形式為計算機(jī)可執(zhí)行指令、計算機(jī)可讀指令或數(shù)據(jù)結(jié)果,它們可由通用或?qū)S糜嬎銠C(jī)系統(tǒng)所訪問。在該描述和所附權(quán)利要求中,“網(wǎng)絡(luò)”被定義為允許在計算機(jī)系統(tǒng)和/或模塊間傳輸電子數(shù)據(jù)的一條或多條數(shù)據(jù)鏈路。當(dāng)在網(wǎng)絡(luò)或另一通信連接(或硬線、或是硬線或無線的組合)上向計算機(jī)系統(tǒng)傳遞或提供信息時,連接被適當(dāng)?shù)匾暈橛嬎銠C(jī)可讀媒介。這樣,任何這樣的連接都被適當(dāng)?shù)胤Q為計算機(jī)可讀媒介。上述的組合也應(yīng)被包括在計算機(jī)可讀媒介的范圍內(nèi)。計算機(jī)可讀指令包括例如使通用計算機(jī)系統(tǒng)或?qū)S糜嬎銠C(jī)系統(tǒng)執(zhí)行某一功能或某組功能的指令和數(shù)據(jù)。計算機(jī)可執(zhí)行指令可以是例如像匯編語言這樣的二進(jìn)制、中間格式,或甚至是源代碼。在該描述和所附權(quán)利要求中,“計算機(jī)系統(tǒng)”被定義為一個或多個軟件模塊、一個或多個硬件模塊、或者它們的組合,它們一起工作以執(zhí)行對電子數(shù)據(jù)的操作。例如,計算機(jī)系統(tǒng)的定義包括個人電腦的硬件組件、以及軟件模塊、以及個人電腦的操作系統(tǒng)。模塊的物理布局并不重要。計算機(jī)系統(tǒng)可以包括通過網(wǎng)絡(luò)耦合的一個或多個計算機(jī)。同樣,計算機(jī)系統(tǒng)可以包括單個物理設(shè)備(比如移動電話或個人數(shù)字助理“PDA”),其中內(nèi)部模塊(比如存儲器和處理器)工作在一起以執(zhí)行對電子數(shù)據(jù)的操作。在該描述和所附權(quán)利要求中,“數(shù)據(jù)流”被定義為在穩(wěn)定和連續(xù)的流內(nèi)被傳輸?shù)臄?shù)據(jù),以使部分被傳輸?shù)臄?shù)據(jù)可以在它們被接收時被輸出(即使在數(shù)據(jù)流完成前被接收)。數(shù)據(jù)流可以是音頻和/或視頻數(shù)據(jù)流(如音頻/視頻“A/V”數(shù)據(jù)流),它從發(fā)送計算機(jī)系統(tǒng)被傳遞,用于在接收計算機(jī)系統(tǒng)處輸出。數(shù)據(jù)流可以是實況數(shù)據(jù)流,比如實況無線電或電視廣播數(shù)據(jù)的數(shù)據(jù)流。同樣,當(dāng)把發(fā)送計算機(jī)系統(tǒng)處存儲的文件傳遞至接收計算機(jī)系統(tǒng)時會產(chǎn)生數(shù)據(jù)流,比如當(dāng)選擇存儲的運(yùn)動圖像專家組(“MPEG”)文件時產(chǎn)生的數(shù)據(jù)流。在輸出數(shù)據(jù)后,包括在數(shù)據(jù)流內(nèi)的數(shù)據(jù)可以被保存在接收計算機(jī)系統(tǒng)處,或者不被保存。數(shù)據(jù)流可以用多種協(xié)議或協(xié)議的組合來傳輸,比如用戶數(shù)據(jù)報協(xié)議(“UDP”)、實時傳輸協(xié)議(“RTP”)以及實時流化協(xié)議(“RTSP”)。在該描述和所附權(quán)利要求中,“數(shù)據(jù)傳輸速率”被定義為數(shù)據(jù)被傳輸?shù)?或被傳遞到)網(wǎng)絡(luò)上、通過數(shù)據(jù)鏈路、或從數(shù)據(jù)鏈路被接收的速度。數(shù)據(jù)傳輸速率可以以多種不同的單位被測量,例如兆比特每秒(“Mbps”)或兆字節(jié)每秒(“MBps”)例如,應(yīng)用模塊202可以以2Mbps的數(shù)據(jù)傳輸速率把音頻數(shù)據(jù)流(經(jīng)過數(shù)據(jù)鏈路272和271)發(fā)送到計算機(jī)系統(tǒng)221。在把數(shù)據(jù)流發(fā)送到數(shù)據(jù)鏈路上之前,應(yīng)用模塊可以指出數(shù)據(jù)流到網(wǎng)絡(luò)探測模塊的所估計的峰值數(shù)據(jù)傳輸速率。在該描述和所附權(quán)利要求中,“數(shù)據(jù)集線器”被定義為一計算機(jī)系統(tǒng),它作為其他計算機(jī)系統(tǒng)的公共連接點(diǎn)(或有線或無線)而工作,并且通過把接收到的數(shù)據(jù)分組發(fā)出集線器的所有端口而在相連的計算機(jī)系統(tǒng)間傳輸電子數(shù)據(jù)。也就是,當(dāng)在數(shù)據(jù)集線器的一個端口處接收端數(shù)據(jù)分組時,數(shù)據(jù)集線器就把該分組復(fù)制到數(shù)據(jù)集線器的所有其他端口。結(jié)果,從與數(shù)據(jù)集線器相連的一條數(shù)據(jù)鏈路接收到的數(shù)據(jù)分組隨后被傳遞至與數(shù)據(jù)集線器相連的所有其他數(shù)據(jù)鏈路。例如,通過數(shù)據(jù)鏈路271在數(shù)據(jù)集線器250處接收到的數(shù)據(jù)分組會隨后被發(fā)送到數(shù)據(jù)鏈路271、272、273和277。在該描述和所附權(quán)利要求中,“數(shù)據(jù)轉(zhuǎn)換器”被定義為一計算機(jī)系統(tǒng),它作為其他計算機(jī)系統(tǒng)的公共連接點(diǎn)(或有線或無線)而工作,并且通過從對應(yīng)于數(shù)據(jù)分組內(nèi)包括的目標(biāo)地址的端口中發(fā)出接收到的數(shù)據(jù)分組而在相連的計算機(jī)系統(tǒng)間傳輸電子數(shù)據(jù)。也就是,當(dāng)在數(shù)據(jù)轉(zhuǎn)換器的一個端口處接收到的數(shù)據(jù)分組時,數(shù)據(jù)轉(zhuǎn)換器就讀取該數(shù)據(jù)分組的目標(biāo)地址(如因特網(wǎng)協(xié)議(“IP”)),并把該數(shù)據(jù)分組發(fā)送到對應(yīng)于目標(biāo)地址的端口。結(jié)果,從一條數(shù)據(jù)鏈路接收到的數(shù)據(jù)分組隨后被傳遞到與目標(biāo)地址相關(guān)的目標(biāo)計算機(jī)系統(tǒng)較近的數(shù)據(jù)鏈路。與目標(biāo)計算機(jī)系統(tǒng)較近的數(shù)據(jù)鏈路可以是連接到目標(biāo)計算機(jī)系統(tǒng)的數(shù)據(jù)鏈路。例如,數(shù)據(jù)轉(zhuǎn)換器255可以接收一數(shù)據(jù)分組,該數(shù)據(jù)分組具有對應(yīng)于計算機(jī)系統(tǒng)251的目標(biāo)地址。因而,數(shù)據(jù)轉(zhuǎn)換器255可以把該數(shù)據(jù)分組發(fā)送到數(shù)據(jù)鏈路279上。另一方面與目標(biāo)計算機(jī)系統(tǒng)較近的數(shù)據(jù)鏈路可以是發(fā)送計算機(jī)系統(tǒng)和目標(biāo)計算機(jī)系統(tǒng)之間的中間數(shù)據(jù)鏈路。例如,計算機(jī)系統(tǒng)211可以向與計算機(jī)系統(tǒng)241相關(guān)的目標(biāo)地址發(fā)送一數(shù)據(jù)分組。因而,數(shù)據(jù)集線器250把該數(shù)據(jù)分組重復(fù)到數(shù)據(jù)鏈路277(以及數(shù)據(jù)鏈路271、272和273)上。數(shù)據(jù)轉(zhuǎn)換器255可以從數(shù)據(jù)鏈路277接收數(shù)據(jù)分組,并且讀取數(shù)據(jù)分組的目標(biāo)地址。因而,數(shù)據(jù)轉(zhuǎn)換器255可以向數(shù)據(jù)鏈路278發(fā)送數(shù)據(jù)分組(在數(shù)據(jù)轉(zhuǎn)換器260可以從數(shù)據(jù)鏈路278接收數(shù)據(jù)分組并把數(shù)據(jù)分組發(fā)送到數(shù)據(jù)鏈路276之后)。本領(lǐng)域的技術(shù)人員會理解,本發(fā)明可以在具有許多類型的計算機(jī)系統(tǒng)配置的網(wǎng)絡(luò)計算環(huán)境中實現(xiàn),包括個人電腦、膝上型電腦、手提設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程的用戶電子設(shè)備、網(wǎng)絡(luò)PC、小型計算機(jī)、大型計算機(jī)、移動電話、PDA、尋呼機(jī)等等。本發(fā)明還可以在分布式系統(tǒng)環(huán)境中實現(xiàn),其中通過網(wǎng)絡(luò)相連的(或通過硬線數(shù)據(jù)鏈路、無線數(shù)據(jù)鏈路、或通過硬線和無線數(shù)據(jù)鏈路的組合)本地和遠(yuǎn)程計算機(jī)都執(zhí)行任務(wù)。在分布式系統(tǒng)環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程地存儲設(shè)備中。圖1和下列討論視圖提供對其中可實現(xiàn)本發(fā)明的適當(dāng)計算環(huán)境的簡要、通用的描述。盡管不需要,然而本發(fā)明會以計算機(jī)可執(zhí)行指令的一般上下文來描述,比如被計算機(jī)系統(tǒng)執(zhí)行的程序模塊。一般而言,程序模塊包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等,它們執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。計算機(jī)可執(zhí)行指令、相關(guān)數(shù)據(jù)結(jié)構(gòu)和程序模塊代表用于執(zhí)行這里公開方法行為的程序代碼裝置。參照圖1,用于實現(xiàn)本發(fā)明的示例性系統(tǒng)包括形式為計算機(jī)120的通用計算設(shè)備,包括處理單元121、系統(tǒng)存儲器122、及把包括系統(tǒng)存儲器122在內(nèi)的各種系統(tǒng)組件耦合至處理單元121的系統(tǒng)總線123。處理單元121可以執(zhí)行為實現(xiàn)計算機(jī)系統(tǒng)120的特征而被設(shè)計的計算機(jī)可執(zhí)行指令,所述特征包括本發(fā)明的特征。系統(tǒng)總線123可能是多種類型總線結(jié)構(gòu)的任一種,包括存儲器總線或存儲控制器、外圍設(shè)備總線、及使用任一多種總線結(jié)構(gòu)的本地總線。系統(tǒng)存儲器包括只讀存儲器(“ROM”)124和隨機(jī)存取存儲器(“RAM”)125?;据斎?輸出系統(tǒng)(“BIOS”)126可以被存儲在ROM124內(nèi),該系統(tǒng)126包含幫助在計算機(jī)系統(tǒng)120內(nèi)的元件間傳遞信息的基本例程。計算機(jī)系統(tǒng)120還可以包括磁性硬盤驅(qū)動器127,用于在磁性硬盤139間讀寫;磁盤驅(qū)動器128,用于在可移動磁盤129間讀寫;以及光盤驅(qū)動器130,用于在可移動光盤131間讀寫,可移動光盤131如⑶-ROM或其他光學(xué)媒介。磁性硬盤驅(qū)動器127、磁盤驅(qū)動器128和光盤驅(qū)動器130分別通過硬盤驅(qū)動器接口132、磁盤驅(qū)動器接口133和光盤驅(qū)動器接口134與系統(tǒng)總線123相連。驅(qū)動器及其相關(guān)的計算機(jī)可讀媒介為計算機(jī)系統(tǒng)120的計算機(jī)可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊以及其他數(shù)據(jù)提供非易失性的存儲。盡管這里所述的示例環(huán)境采用了磁性硬盤139、可移動磁盤129和可移動光盤131,然而也可以使用其他類型的計算機(jī)可讀媒介來存儲數(shù)據(jù),包括磁帶、閃存卡、數(shù)字化視頻光盤、貝努力(Bernoulli)盒帶、RAM、ROM等等。程序代碼裝置包括可被存儲在硬盤139、磁盤129、光盤131、ROM124或RAMI25上的一個或多個程序模塊,包括操作系統(tǒng)135、一個或多個應(yīng)用程序136、其他程序模塊137和程序數(shù)據(jù)138。用戶可以通過鍵盤140、指示設(shè)備142或其他輸入設(shè)備(未示出)把指令或信息輸入到計算機(jī)系統(tǒng)120中,其他輸入設(shè)備如麥克風(fēng)、游戲桿、掃描儀等等。這些及其他輸入設(shè)備可以通過與系統(tǒng)總線123耦合的輸入/輸出接口146而連接到處理單元121。輸入/輸出接口146邏輯地表示多種不同接口的任一種,比如串行端口接口、PS/2接口、并行端口接口、通用串行總線(“USB”)接口、或者電氣和電子工程師協(xié)會(“IEEE”)1394接口(即FireWire接口)、或者甚至可以邏輯地表示不同接口的組合。監(jiān)視器147或其他顯示設(shè)備也通過視頻接口148連接到系統(tǒng)總線123。揚(yáng)聲器169或其他音頻輸出設(shè)備也通過音頻接口149連接到系統(tǒng)總線123。其他外部輸出設(shè)備(未示出),比如打印機(jī),也可以連接到計算機(jī)系統(tǒng)120。計算機(jī)系統(tǒng)120可連接到網(wǎng)絡(luò),比如辦公室或企業(yè)計算機(jī)網(wǎng)絡(luò)、本地網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和/或因特網(wǎng)。計算機(jī)系統(tǒng)120可以在這種網(wǎng)絡(luò)上與外部源交換數(shù)據(jù),比如遠(yuǎn)程計算機(jī)系統(tǒng)、遠(yuǎn)程應(yīng)用程序和/或遠(yuǎn)程數(shù)據(jù)庫。計算機(jī)系統(tǒng)120包括網(wǎng)絡(luò)接口153,計算機(jī)系統(tǒng)120通過該接口從外部源接收數(shù)據(jù)以及/或者把數(shù)據(jù)發(fā)送到外部源。如圖1所示,網(wǎng)絡(luò)接口153便于通過數(shù)據(jù)鏈路151與遠(yuǎn)程計算機(jī)系統(tǒng)的數(shù)據(jù)交換。網(wǎng)絡(luò)接口153可以邏輯地表示一個或多個軟件和/或硬件模塊,比如網(wǎng)絡(luò)接口和相應(yīng)的網(wǎng)絡(luò)驅(qū)動器接口規(guī)范(“NDIS”)棧。數(shù)據(jù)鏈路151表示網(wǎng)絡(luò)的一部分(如以太網(wǎng)分段),遠(yuǎn)程計算機(jī)183表示網(wǎng)絡(luò)的一個節(jié)點(diǎn)。例如,遠(yuǎn)程計算機(jī)183可以是向計算機(jī)系統(tǒng)120發(fā)送數(shù)據(jù)流的發(fā)送計算機(jī)系統(tǒng)。另一方面遠(yuǎn)程計算機(jī)系統(tǒng)183可以是接收從計算機(jī)系統(tǒng)120發(fā)出的數(shù)據(jù)流的接收計算機(jī)系統(tǒng)。同樣,計算機(jī)系統(tǒng)120包括輸入/輸出接口146,計算機(jī)系統(tǒng)120通過該接口從外部源接收數(shù)據(jù)以及/或者向外部源發(fā)送數(shù)據(jù)。輸入/輸出接口146通過數(shù)據(jù)鏈路159耦合到調(diào)制解調(diào)器154(如標(biāo)準(zhǔn)調(diào)制解調(diào)器、電纜調(diào)制解調(diào)器或數(shù)字用戶線(“DSL”)調(diào)制解調(diào)器),計算機(jī)系統(tǒng)120通過數(shù)據(jù)鏈路159從外部源接收時間以及/或者向外部源發(fā)送數(shù)據(jù)。如圖1所示,輸入/輸出接口146和調(diào)制解調(diào)器154便于通過數(shù)據(jù)鏈路152與遠(yuǎn)程計算機(jī)系統(tǒng)193交換數(shù)據(jù)。數(shù)據(jù)鏈路152表示網(wǎng)絡(luò)的一部分,遠(yuǎn)程計算機(jī)系統(tǒng)193表示網(wǎng)絡(luò)的一個節(jié)點(diǎn)。例如,遠(yuǎn)程計算機(jī)系統(tǒng)193可以是向計算機(jī)系統(tǒng)120發(fā)送數(shù)據(jù)流的發(fā)送計算機(jī)系統(tǒng)。另一方面遠(yuǎn)程計算機(jī)系統(tǒng)193可以是接收從計算機(jī)系統(tǒng)120發(fā)出的數(shù)據(jù)流的接收計算機(jī)系統(tǒng)。盡管圖1表示出本發(fā)明的適當(dāng)工作環(huán)境,然而可以在能實現(xiàn)本發(fā)明的任何系統(tǒng)中采用本發(fā)明的原理,所述系統(tǒng)根據(jù)需要可作適當(dāng)修改。圖1所述的環(huán)境僅僅是說明性的,決不是表示其中可實現(xiàn)本發(fā)明原理的多種環(huán)境的一小部分。按照本發(fā)明,應(yīng)用模塊、網(wǎng)絡(luò)接口模塊和探測模塊以及相關(guān)的數(shù)據(jù)可以被存儲在與計算機(jī)系統(tǒng)120相關(guān)的任一計算機(jī)可讀媒介上,或從該媒介被訪問,所述相關(guān)數(shù)據(jù)包括數(shù)據(jù)分組、傳輸參數(shù)和數(shù)據(jù)流。例如,這種模塊的部分以及相關(guān)程序數(shù)據(jù)的部分可以被包括在操作系統(tǒng)135、應(yīng)用程序136、程序模塊137和/或程序數(shù)據(jù)138內(nèi),用于存儲在系統(tǒng)存儲器122中。當(dāng)如磁性硬盤139這樣的大容量存儲設(shè)備耦合到計算機(jī)系統(tǒng)120時,這些程序模塊和相關(guān)的程序數(shù)據(jù)也可以被存儲在大容量存儲設(shè)備中。在網(wǎng)絡(luò)化環(huán)境中,關(guān)于計算機(jī)系統(tǒng)120描述的程序模塊或其部分可以被存儲在遠(yuǎn)程存儲設(shè)備中,比如與遠(yuǎn)程計算機(jī)系統(tǒng)183和/或遠(yuǎn)程計算機(jī)系統(tǒng)193相關(guān)的系統(tǒng)存儲器和/或大容量存儲設(shè)備。這種模塊的執(zhí)行可以在前述的分布式環(huán)境中執(zhí)行。圖2說明了便于控制到網(wǎng)絡(luò)上的數(shù)據(jù)流準(zhǔn)入的網(wǎng)絡(luò)結(jié)構(gòu)200的示例。網(wǎng)絡(luò)結(jié)構(gòu)200內(nèi)包括計算機(jī)系統(tǒng)201、211、221、231、241和251。計算機(jī)系統(tǒng)201,211和221分別通過相應(yīng)的數(shù)據(jù)鏈路272、273和271連接到數(shù)據(jù)集線器250。計算機(jī)系統(tǒng)201、211和221包括相應(yīng)的網(wǎng)絡(luò)接口模塊203、213和223,分別用于發(fā)送電子數(shù)據(jù)和接收電子數(shù)據(jù)。數(shù)據(jù)集線器250通過數(shù)據(jù)鏈路277連接到數(shù)據(jù)轉(zhuǎn)換器255。同樣,計算機(jī)系統(tǒng)251通過數(shù)據(jù)鏈路279連接到數(shù)據(jù)轉(zhuǎn)換器255。計算機(jī)系統(tǒng)251包括用于發(fā)送電子數(shù)據(jù)和接收電子數(shù)據(jù)的網(wǎng)絡(luò)接口模塊253。數(shù)據(jù)轉(zhuǎn)換器255通過數(shù)據(jù)鏈路278連接到數(shù)據(jù)轉(zhuǎn)換器260。計算機(jī)系統(tǒng)231和241分別通過相應(yīng)的數(shù)據(jù)鏈路275和276連接到數(shù)據(jù)轉(zhuǎn)換器260。計算機(jī)系統(tǒng)231和241包括相應(yīng)的網(wǎng)絡(luò)接口模塊233和243,分別用于把電子數(shù)據(jù)發(fā)送到數(shù)據(jù)轉(zhuǎn)換器260和從數(shù)據(jù)轉(zhuǎn)換器260接收電子數(shù)據(jù)。數(shù)據(jù)流(如UDP數(shù)據(jù)流)可以在網(wǎng)絡(luò)結(jié)構(gòu)200內(nèi)的計算機(jī)系統(tǒng)間被傳遞,以及在網(wǎng)絡(luò)結(jié)構(gòu)200內(nèi)的計算機(jī)系統(tǒng)和網(wǎng)絡(luò)結(jié)構(gòu)200外的計算機(jī)系統(tǒng)(未示出)之間被傳遞。網(wǎng)絡(luò)結(jié)構(gòu)200內(nèi)的計算機(jī)系統(tǒng)可以由于一個計算機(jī)系統(tǒng)處的發(fā)送應(yīng)用程序請求把數(shù)據(jù)流傳輸?shù)搅硪挥嬎銠C(jī)系統(tǒng)處的相應(yīng)接收應(yīng)用程序而傳輸數(shù)據(jù)流。例如,應(yīng)用模塊212可以請求把應(yīng)用數(shù)據(jù)流傳遞到應(yīng)用模塊242。因而,網(wǎng)絡(luò)接口模塊213可以把一數(shù)據(jù)流發(fā)送到數(shù)據(jù)鏈路273上,所述數(shù)據(jù)流包含適當(dāng)?shù)膽?yīng)用數(shù)據(jù)并且具有對應(yīng)于計算機(jī)系統(tǒng)241的目標(biāo)地址(如IP地址)。網(wǎng)絡(luò)接口模塊243可以從數(shù)據(jù)鏈路276接收所發(fā)出的數(shù)據(jù)流,并且使所包含的應(yīng)用數(shù)據(jù)被傳遞至應(yīng)用242。非流化數(shù)據(jù)也可以在網(wǎng)絡(luò)接口200內(nèi)的計算機(jī)系統(tǒng)間被傳遞,以及在網(wǎng)絡(luò)結(jié)構(gòu)200內(nèi)的計算機(jī)系統(tǒng)和網(wǎng)絡(luò)結(jié)構(gòu)200外的計算機(jī)系統(tǒng)間被傳遞。例如,計算機(jī)系統(tǒng)251可以是以非流化方式把數(shù)據(jù)傳遞到其他計算機(jī)系統(tǒng)的服務(wù)器。當(dāng)另一計算機(jī)系統(tǒng)請求存儲在計算機(jī)系統(tǒng)251處的文件時,網(wǎng)絡(luò)接口模塊253可以通過發(fā)送數(shù)據(jù)分組而進(jìn)行應(yīng)答,所述數(shù)據(jù)分組包含所請求的文件并且具有請求計算機(jī)系統(tǒng)的目標(biāo)地址。例如,應(yīng)用模塊222可以是請求存儲在計算機(jī)系統(tǒng)251處存儲的Web頁面的Web瀏覽器。因而,計算機(jī)系統(tǒng)251可以通過把所請求的Web頁面發(fā)送到數(shù)據(jù)鏈路279上用于傳遞至計算機(jī)系統(tǒng)221而進(jìn)行應(yīng)答。通過向計算機(jī)系統(tǒng)221發(fā)送包括Web頁面的HTTP消息(如,作為一個或多個傳輸控制協(xié)議(“TCP”)分段),網(wǎng)絡(luò)接口模塊253可以便于所請求Web頁面的傳輸。網(wǎng)絡(luò)接口模塊223可以從數(shù)據(jù)鏈路271接收該Web頁面,并且把該Web頁面?zhèn)鬟f至應(yīng)用模塊222。因而,網(wǎng)絡(luò)結(jié)構(gòu)200內(nèi)的數(shù)據(jù)鏈路會經(jīng)受由于在數(shù)據(jù)鏈路間傳遞流化和非流化數(shù)據(jù)而產(chǎn)生的變化的數(shù)據(jù)負(fù)載。當(dāng)數(shù)據(jù)被發(fā)送到數(shù)據(jù)鏈路上時,消耗了某部分?jǐn)?shù)據(jù)鏈路的帶寬,從而減少了數(shù)據(jù)鏈路的可用帶寬。另一方面當(dāng)從數(shù)據(jù)鏈路刪除數(shù)據(jù)時(如在文件傳輸完成或數(shù)據(jù)流結(jié)束后),適當(dāng)某部分?jǐn)?shù)據(jù)鏈路的帶寬,從而增加了數(shù)據(jù)鏈路的可用帶寬。圖3A和3B說明了方法300的示例流程圖,該方法300用于估計發(fā)送計算機(jī)系統(tǒng)可以把應(yīng)用數(shù)據(jù)流傳遞至結(jié)束計算機(jī)系統(tǒng)而不使網(wǎng)絡(luò)數(shù)據(jù)路徑擁塞。方法300會參照網(wǎng)絡(luò)結(jié)構(gòu)200內(nèi)所述的計算機(jī)系統(tǒng)來描述。方法300包括接收所請求的應(yīng)用數(shù)據(jù)傳輸速率的行為(行為301)。行為301包括從一應(yīng)用接收所請求的應(yīng)用數(shù)據(jù)傳輸速率,所述應(yīng)用請求把應(yīng)用數(shù)據(jù)流從發(fā)送計算機(jī)系統(tǒng)傳遞至接收計算機(jī)系統(tǒng)。例如,探測模塊204可以接收應(yīng)用數(shù)據(jù)流的應(yīng)用數(shù)據(jù)傳輸速率,使得應(yīng)用模塊202正在請求從計算機(jī)系統(tǒng)201被傳遞至計算機(jī)系統(tǒng)221或計算機(jī)系統(tǒng)231。所請求的應(yīng)用數(shù)據(jù)傳輸速率可以是在數(shù)據(jù)流傳輸期間所使用的峰值數(shù)據(jù)傳輸速率。方法300包括用于執(zhí)行混雜模式測量的功能性面向結(jié)果的步驟(步驟312)。步驟312可以包括用于實現(xiàn)執(zhí)行混雜模式測量的結(jié)果的任何相應(yīng)行為。然而,在所述的圖3示例中,步驟312包括被動地檢測發(fā)送端數(shù)據(jù)負(fù)載的相應(yīng)行為(行為302)。行為302可以包括被動地檢測發(fā)送端數(shù)據(jù)鏈路上的發(fā)送端數(shù)據(jù)負(fù)載。發(fā)送端計算機(jī)系統(tǒng)可以是要發(fā)送數(shù)據(jù)流的發(fā)送計算機(jī)系統(tǒng)。例如,響應(yīng)于從應(yīng)用模塊202接收所請求的應(yīng)用數(shù)據(jù)速率,探測模塊204可以配置網(wǎng)絡(luò)接口模塊203來接收通過數(shù)據(jù)鏈路272傳輸?shù)乃袛?shù)據(jù)分組。至少根據(jù)接收數(shù)據(jù)分組的頻率以及所接收數(shù)據(jù)分組的大小,探測模塊204可以估計數(shù)據(jù)鏈路272上的數(shù)據(jù)負(fù)載。由于計算機(jī)系統(tǒng)201連接到數(shù)據(jù)集線器250,因此從數(shù)據(jù)鏈路271、272、273和277上發(fā)送的所有數(shù)據(jù)分組中計算出數(shù)據(jù)鏈路272上的數(shù)據(jù)負(fù)載。例如,計算機(jī)系統(tǒng)211可以以3Mbps向計算機(jī)系統(tǒng)211傳輸?shù)谝粩?shù)據(jù)流,并且以2Mbps向數(shù)據(jù)轉(zhuǎn)換器傳輸?shù)诙?shù)據(jù)流(如用于傳遞至計算機(jī)系統(tǒng)231)。因而,數(shù)據(jù)鏈路272上的數(shù)據(jù)負(fù)載至少會是5Mbps?;蛘?,發(fā)送端計算機(jī)系統(tǒng)可以是與發(fā)送計算機(jī)系統(tǒng)一起連到公共數(shù)據(jù)集線器的計算機(jī)系統(tǒng)。例如,當(dāng)計算機(jī)系統(tǒng)201(發(fā)送計算機(jī)系統(tǒng))要通過數(shù)據(jù)路徑291向計算機(jī)系統(tǒng)231發(fā)送一數(shù)據(jù)流時,探測模塊204可以向探測模塊224發(fā)送一指令,以被動地檢測發(fā)送端數(shù)據(jù)負(fù)載。因而,探測模塊224可以配置網(wǎng)絡(luò)接口模塊223來接收通過數(shù)據(jù)鏈路271傳輸?shù)乃袛?shù)據(jù)分組。由于數(shù)據(jù)集線器250從所有連接的數(shù)據(jù)鏈路向所有其他連接的數(shù)據(jù)鏈路(數(shù)據(jù)鏈路271、272、273和277)發(fā)送數(shù)據(jù)分組,因此數(shù)據(jù)鏈路271上的數(shù)據(jù)負(fù)載會類似于數(shù)據(jù)鏈路272上的數(shù)據(jù)負(fù)載。數(shù)據(jù)負(fù)載的被動檢測可以發(fā)生,而無須把任何數(shù)據(jù)分組發(fā)送到數(shù)據(jù)鏈路上。例如,探測模塊240可以檢測數(shù)據(jù)鏈路272上的數(shù)據(jù)負(fù)載,而不把任何數(shù)據(jù)分組發(fā)送到數(shù)據(jù)鏈路272上。因而,大大減少了數(shù)據(jù)鏈路272上數(shù)據(jù)負(fù)載的被動檢測會使通過數(shù)據(jù)集線器250傳遞的其他數(shù)據(jù)降級的機(jī)會。步驟312還包括計算發(fā)送端數(shù)據(jù)鏈路上的可用帶寬容量為足夠的相應(yīng)行為(行為303)。行為303可以包括根據(jù)所檢測的發(fā)送端數(shù)據(jù)負(fù)載計算發(fā)送端數(shù)據(jù)鏈路上的可用帶寬容量足以以所請求的應(yīng)用數(shù)據(jù)傳輸速率接收數(shù)據(jù)流。數(shù)據(jù)鏈路的可用帶寬容量可以按照公式1計算Available_Link_Bandwidth=[(Acceptab1e_Loading)·(Link_Capacity)]-Data_Link_Load公式1Acc印table_L0ading是可以按照網(wǎng)絡(luò)管理員或用戶的希望而選擇的值,用于表示數(shù)據(jù)流會消耗的可用帶寬百分比。當(dāng)希望允許數(shù)據(jù)流的降低的可用帶寬時,可以降低Acceptable^oading值。例如,當(dāng)希望為數(shù)據(jù)流使用30%的數(shù)據(jù)鏈路容量時,可以選擇值為“.3”的Acc印table_L0ading。另一方面當(dāng)希望允許數(shù)據(jù)流增加的可用帶寬時,可以增加Acc印table_L0ading值。例如,當(dāng)希望為數(shù)據(jù)流使用90%的數(shù)據(jù)鏈路容量時,可以把Acceptable_Loading值設(shè)為“.9”。當(dāng)希望為數(shù)據(jù)流利用數(shù)據(jù)鏈路的全部容量時,可以把Acceptable_Loading值設(shè)為“1”??梢赃x擇Acc印tablej^ading值為數(shù)據(jù)流使用盡可能多的數(shù)據(jù)鏈路容量,而不使數(shù)據(jù)鏈路變得擁塞。另一方面可以選擇Acc印table_L0ading值來保存某些數(shù)量的可用帶寬,用于非流化數(shù)據(jù)的傳輸。Link_Capacity是表示數(shù)據(jù)鏈路(如數(shù)據(jù)鏈路272)的額定數(shù)據(jù)容量(如單位為Mbps)的值。Link_CapaCity可以根據(jù)用于實現(xiàn)數(shù)據(jù)鏈路的技術(shù)而改變,比如,以太網(wǎng)(IEEE802.3標(biāo)準(zhǔn))或無線(IEEE802.11標(biāo)準(zhǔn))。而且,特定技術(shù)的實現(xiàn)會有不同的額定數(shù)據(jù)容量。以太網(wǎng)數(shù)據(jù)鏈路會有10Mbps、IOOMbps或1000Mbps(千兆比特)的額定數(shù)據(jù)容量。類似地,IEEE802.11數(shù)據(jù)鏈路會有l(wèi)lMbps、5.5Mbps,2Mbps或IMbps的額定數(shù)據(jù)容量。然而應(yīng)該理解,本發(fā)明不限于所述的網(wǎng)絡(luò)技術(shù)和額定數(shù)據(jù)容量。對于本領(lǐng)域技術(shù)人員顯而易見的是,在審閱了本說明后,除了所述的那些以外,在實踐本發(fā)明時可以使用多種網(wǎng)絡(luò)技術(shù)和額定數(shù)據(jù)容量。Data_Link_Load是表示數(shù)據(jù)鏈路上的數(shù)據(jù)負(fù)載的值,例如發(fā)送(或接收)端數(shù)據(jù)鏈路上被動檢測到的發(fā)送(接收)端數(shù)據(jù)負(fù)載。公式1的值可以按照公式1的算術(shù)運(yùn)算被組合以計算AVailable_Link_BandWidth值。也就是,從Acc印table_Loading值與Link_Capacity值的乘積中減去Data_LinkLoad值。例如,數(shù)據(jù)鏈路272可以有IOMbps的Link_Capacity以及2Mbps的Data_Link_Load值。而且,網(wǎng)絡(luò)結(jié)構(gòu)200的網(wǎng)絡(luò)管理員或用戶也許已經(jīng)為數(shù)據(jù)鏈路272選擇Acc印table_Loading值“7”。因此在該例中,數(shù)據(jù)鏈路272的Available_Link_Bandwidth值會等于[(7)·(IOMbps)]-2Mbps,即5Mbps。當(dāng)為發(fā)送端數(shù)據(jù)鏈路計算的AVailable_Link_BandWidth值小于所請求的應(yīng)用數(shù)據(jù)傳輸速率時,發(fā)送端數(shù)據(jù)鏈路被視為沒有足夠的可用帶寬容量支持所請求的應(yīng)用數(shù)據(jù)速率下的應(yīng)用數(shù)據(jù)流。參照剛才的例子,數(shù)據(jù)鏈路272不會被視為具有足夠的可用帶寬以任何大于5Mbps的數(shù)據(jù)速率來接收應(yīng)用數(shù)據(jù)流。允許數(shù)據(jù)以大于數(shù)據(jù)鏈路鏈路容量的總數(shù)據(jù)傳輸速率(即數(shù)據(jù)鏈路上所有數(shù)據(jù)負(fù)載的總和)被傳輸通過數(shù)據(jù)鏈路大大增加了在數(shù)據(jù)鏈路上造成擁塞的似然性。因而,當(dāng)數(shù)據(jù)鏈路沒有足夠的可用帶寬容量來支持所請求的應(yīng)用數(shù)據(jù)速率時,應(yīng)用數(shù)據(jù)流不被發(fā)送到數(shù)據(jù)鏈路上并且會終止測試。作為有利的結(jié)果,防止會增加擁塞數(shù)據(jù)鏈路似然性的數(shù)據(jù)流被發(fā)送到數(shù)據(jù)鏈路上。另一方面當(dāng)為發(fā)送端數(shù)據(jù)鏈路計算的AVailable_Link_BandWidth值大于(或等于)所請求的應(yīng)用數(shù)據(jù)傳輸速率時,發(fā)送端數(shù)據(jù)鏈路被視為具有足夠的可用帶寬容量來支持所請求的應(yīng)用數(shù)據(jù)速率下的應(yīng)用數(shù)據(jù)流。參照剛才的例子,數(shù)據(jù)鏈路272會被視為具有足夠的可用帶寬來支持小于或等于5Mbps的任何應(yīng)用數(shù)據(jù)速率下的應(yīng)用數(shù)據(jù)流。允許數(shù)據(jù)以小于或等于數(shù)據(jù)鏈路鏈路容量的總數(shù)據(jù)傳輸速率被傳輸通過數(shù)據(jù)鏈路大大降低了在數(shù)據(jù)鏈路上造成擁塞的似然性。因而,當(dāng)數(shù)據(jù)鏈路可以支持所請求的應(yīng)用數(shù)據(jù)速率時,可以執(zhí)行較主動的測試,比如分組對測試和/或主動網(wǎng)絡(luò)探測,來更準(zhǔn)確地確定應(yīng)用數(shù)據(jù)流在網(wǎng)絡(luò)數(shù)據(jù)路徑上造成擁塞的似然性。根據(jù)網(wǎng)絡(luò)配置,發(fā)送端計算機(jī)系統(tǒng)還可以向接收端計算機(jī)系統(tǒng)發(fā)送指令,以被動地檢測接收端數(shù)據(jù)負(fù)載(行為304)。發(fā)送端數(shù)據(jù)鏈路(如數(shù)據(jù)鏈路272)和接收端數(shù)據(jù)鏈路(如數(shù)據(jù)鏈路271)連接到相同的數(shù)據(jù)集線器(如數(shù)據(jù)集線器250)并且具有相同的Link_Capacity和Acc印table^oading值。因而,為發(fā)送端數(shù)據(jù)鏈路和接收端數(shù)據(jù)鏈路兩者計算Available_L0Cal_BandWidth會被視為是冗余的。因此在這些網(wǎng)絡(luò)配置中,發(fā)送計算機(jī)系統(tǒng)不會向接收端計算機(jī)系統(tǒng)發(fā)送指令。例如,當(dāng)應(yīng)用模塊202請求把數(shù)據(jù)流發(fā)送到應(yīng)用模塊222時,探測模塊204不會向探測模塊224發(fā)送指令。另一方面發(fā)送端數(shù)據(jù)鏈路(如數(shù)據(jù)鏈路272)和接收端數(shù)據(jù)鏈路(如數(shù)據(jù)鏈路271)處在由轉(zhuǎn)換器分開的網(wǎng)絡(luò)數(shù)據(jù)路徑(如數(shù)據(jù)路徑291)的端點(diǎn)處并且/或者具有不同的Link_CapaCity和/或具有不同的Acc印table_L0ading值。因而,為發(fā)送端數(shù)據(jù)鏈路和接收端數(shù)據(jù)鏈路兩者計算Available_L0Cal_BandWidth不會被視為是冗余的。因此在這些網(wǎng)絡(luò)配置中,發(fā)送計算機(jī)系統(tǒng)可以向接收端計算機(jī)系統(tǒng)發(fā)送指令。例如,當(dāng)應(yīng)用模塊202請求把數(shù)據(jù)流發(fā)送到應(yīng)用模塊232時,探測模塊204可以向探測模塊234發(fā)送指令。適當(dāng)時,方法300包括使接收計算機(jī)系統(tǒng)參與混雜模式測量的功能性面向結(jié)果的步驟(步驟324)。步驟324可以包括實現(xiàn)參與混雜模式測量的結(jié)果的任何相應(yīng)行為。然而,在圖3所述的示例中,步驟324包括接收端計算機(jī)系統(tǒng)被動地檢測接收端數(shù)據(jù)負(fù)載的相應(yīng)行為(行為314)。行為314可以包括被動地檢測接收端數(shù)據(jù)鏈路上的接收端數(shù)據(jù)負(fù)載。接收端計算機(jī)系統(tǒng)可以是要接收數(shù)據(jù)流的接收計算機(jī)系統(tǒng)。例如,當(dāng)計算機(jī)系統(tǒng)231要通過數(shù)據(jù)路徑291從計算機(jī)系統(tǒng)201接收數(shù)據(jù)流時,探測模塊232可以配置網(wǎng)絡(luò)接口模塊233來接收通過數(shù)據(jù)鏈路275傳輸?shù)乃袛?shù)據(jù)分組?;蛘?,接收端計算機(jī)系統(tǒng)可以是與接收計算機(jī)系統(tǒng)一起連到公共數(shù)據(jù)集線器的計算機(jī)系統(tǒng)。例如,當(dāng)計算機(jī)系統(tǒng)231(發(fā)送計算機(jī)系統(tǒng))要通過數(shù)據(jù)路徑291向計算機(jī)系統(tǒng)201(接收計算機(jī)系統(tǒng))發(fā)送數(shù)據(jù)流時,探測模塊234可以向探測模塊224發(fā)送一指令來被動地檢測接收端數(shù)據(jù)負(fù)載。因而,探測模塊224可以配置網(wǎng)絡(luò)接口模塊223來接收通過數(shù)據(jù)鏈路271傳輸?shù)乃袛?shù)據(jù)分組。由于數(shù)據(jù)集線器250把數(shù)據(jù)分組從所有相連的數(shù)據(jù)鏈路復(fù)制到所有其他相連的鏈路(數(shù)據(jù)鏈路271、272、273和277),因此271上的數(shù)據(jù)負(fù)載會類似于數(shù)據(jù)鏈路272上的數(shù)據(jù)負(fù)載。步驟324包括計算可用的接收端帶寬容量的相應(yīng)行為(行為315)。行為315可以包括接收端計算機(jī)系統(tǒng)根據(jù)所檢測的接收端數(shù)據(jù)負(fù)載來計算接收端數(shù)據(jù)鏈路上可用的帶寬容量。接收端計算機(jī)系統(tǒng)可以按照公式1來計算接收端數(shù)據(jù)負(fù)載。方法300包括向發(fā)送計算機(jī)系統(tǒng)指出可用的接收端帶寬容量的行為(行為316)。行為316可以包括接收端計算機(jī)系統(tǒng)向發(fā)送計算機(jī)系統(tǒng)指出接收端數(shù)據(jù)鏈路的可用帶寬。例如,當(dāng)計算機(jī)系統(tǒng)231要從計算機(jī)系統(tǒng)201接收數(shù)據(jù)流時,計算機(jī)系統(tǒng)231可以向計算機(jī)系統(tǒng)201指出數(shù)據(jù)鏈路275的可用帶寬容量。方法300包括發(fā)送端計算機(jī)系統(tǒng)接收一指示的行為,該指示指明接收端數(shù)據(jù)鏈路上的可用帶寬容量是足夠的(行為305)。行為305可以包括從接收端計算機(jī)系統(tǒng)接收對接收端數(shù)據(jù)鏈路上的可用帶寬容量的指示。當(dāng)為接收端數(shù)據(jù)鏈路計算的Available_Link_Bandwidth值(如按照公式1)小于所請求的應(yīng)用數(shù)據(jù)傳輸速率時,接收端數(shù)據(jù)鏈路被視為沒有足夠的可用帶寬容量指示所請求應(yīng)用數(shù)據(jù)速率下的應(yīng)用數(shù)據(jù)流。因而,適當(dāng)時,不發(fā)送應(yīng)用數(shù)據(jù)流并且終止測試。另一方面當(dāng)為接收端數(shù)據(jù)鏈路計算的Available_Link_Bandwidth值大于(或等于)所請求的應(yīng)用數(shù)據(jù)傳輸速率時,接收端數(shù)據(jù)鏈路被視為有足夠的可用帶寬容量指示所請求應(yīng)用數(shù)據(jù)速率下的應(yīng)用數(shù)據(jù)流。因而,適當(dāng)時,執(zhí)行較主動的測試,比如分組對測試和/或主動網(wǎng)絡(luò)探測,以更準(zhǔn)確地確定在網(wǎng)絡(luò)數(shù)據(jù)路徑上造成擁塞的應(yīng)用數(shù)據(jù)流的似然性。方法300包括用于啟動分組對測試的功能性面向結(jié)果的步驟(步驟313)。步驟313可以包括用于實現(xiàn)啟動分組對測試的結(jié)果的任何相應(yīng)的行為。然而,在圖3所述的示例中,步驟313包括發(fā)送第一分組對數(shù)據(jù)分組的相應(yīng)行為(行為306)。行為306可以包括發(fā)送端計算機(jī)系統(tǒng)把第一分組對數(shù)據(jù)分組發(fā)送到網(wǎng)絡(luò)數(shù)據(jù)路徑上,用于傳遞至接收端計算機(jī)系統(tǒng)。例如,計算機(jī)系統(tǒng)201啟動與計算機(jī)系統(tǒng)231的分組對測試。因而,計算機(jī)系統(tǒng)201可以把第一分組對數(shù)據(jù)分組發(fā)送到數(shù)據(jù)路徑291上,用于傳遞至計算機(jī)系統(tǒng)231。步驟313還包括隨后發(fā)送第二分組對數(shù)據(jù)分組的相應(yīng)行為(行為307)。行為307可以包括發(fā)送端計算機(jī)系統(tǒng)把相應(yīng)的第二分組對數(shù)據(jù)分組發(fā)送到網(wǎng)絡(luò)數(shù)據(jù)路徑上,用于傳遞至接收端計算機(jī)系統(tǒng)。第二分組對數(shù)據(jù)分組與第一分組對數(shù)據(jù)分組的大小類似,或甚至大小相同。傳輸時間間隔(如異步發(fā)送指令之間的時間間隔)會分開第一分組對數(shù)據(jù)分組和第二分組對數(shù)據(jù)分組的傳輸。傳輸時間間隔的值可以足夠小,以便大大增加分組對數(shù)據(jù)分組在網(wǎng)絡(luò)數(shù)據(jù)路徑的瓶頸處排隊的似然性?;蛘?,可以從中間發(fā)送計算機(jī)系統(tǒng)發(fā)出分組對數(shù)據(jù)分組。例如,發(fā)送端混雜模式測量的結(jié)果可以指示,發(fā)送端數(shù)據(jù)鏈路具有足夠的可用帶寬容量來支持應(yīng)用數(shù)據(jù)流。這樣,經(jīng)過發(fā)送端數(shù)據(jù)鏈路發(fā)送分組對數(shù)據(jù)分組可能是冗余的。例如,當(dāng)指明數(shù)據(jù)鏈路272(并因此數(shù)據(jù)鏈路277)具有足夠的可用容量帶寬來支持應(yīng)用數(shù)據(jù)流時,可以從數(shù)據(jù)轉(zhuǎn)換器255發(fā)出分組對數(shù)據(jù)分組。方法300包括使接收端計算機(jī)系統(tǒng)參與分組對測試的功能性面向結(jié)果的步驟(步驟325)。步驟325可以包括用于實現(xiàn)參與分組對測試的結(jié)果的相應(yīng)行為。然而,在圖3所述的示例中,步驟325包括接收第一分組對數(shù)據(jù)分組的相應(yīng)行為(步驟317)。步驟317可以包括接收端計算機(jī)系統(tǒng)在第一接收時間從網(wǎng)絡(luò)數(shù)據(jù)路徑接收第一分組對數(shù)據(jù)分組。步驟325還包括接收第二分組對數(shù)據(jù)分組的相應(yīng)行為(行為318)。行為318可以包括接收端計算機(jī)系統(tǒng)在第二接收時間從網(wǎng)絡(luò)數(shù)據(jù)路徑接收第二分組對數(shù)據(jù)分組?;蛘撸梢栽谥虚g接收計算機(jī)系統(tǒng)處接收分組對數(shù)據(jù)分組。例如,接收端混雜模式測量的結(jié)果可以指出接收端數(shù)據(jù)鏈路具有足夠的可用帶寬來接收應(yīng)用數(shù)據(jù)流。這樣,經(jīng)過接收端數(shù)據(jù)鏈路接收分組對數(shù)據(jù)分組會是冗余的。例如,當(dāng)指出數(shù)據(jù)鏈路275具有足夠的可用帶寬來接收應(yīng)用數(shù)據(jù)流時,可以在數(shù)據(jù)轉(zhuǎn)換器260處接收分組對數(shù)據(jù)分組。步驟325包括計算瓶頸鏈路的可用帶寬容量的相應(yīng)行為(行為319)。行為319可以包括至少根據(jù)第一接收時間和第二接收時間之間的差異,計算網(wǎng)絡(luò)數(shù)據(jù)路徑的瓶頸數(shù)據(jù)鏈路上可用的帶寬容量。盡管方法300中所述的發(fā)生在接收端,然而接收端或中間接收計算機(jī)系統(tǒng)可以向發(fā)送端或中間發(fā)送計算機(jī)系統(tǒng)發(fā)送瓶頸數(shù)據(jù)(包括第一和第二接收時間),后者根據(jù)接收到的瓶頸數(shù)據(jù)來計算瓶頸帶寬。網(wǎng)絡(luò)數(shù)據(jù)路徑的瓶頸帶寬可以通過公式2來估計B0ttleneCk_Bandwidth=Packet_Size/(Second_Recept_Time_First_Recept_Time)公式2Packet_Size是表示第一分組對數(shù)據(jù)分組和第二分組對數(shù)據(jù)分組的大小的值。當(dāng)?shù)谝环纸M對數(shù)據(jù)分組和第二分組對數(shù)據(jù)分組大小不同時,該值可以表示第一分組對數(shù)據(jù)分組的大小和第二分組對數(shù)據(jù)分組大小的平均。First_Rec^pt_Time是表示在接收端或中間接收計算機(jī)系統(tǒng)處接收到第一數(shù)據(jù)對數(shù)據(jù)分組的時間的值。類似地,Second_Recept_Time是表示在接收端或中間接收計算機(jī)系統(tǒng)處接收到第二數(shù)據(jù)對數(shù)據(jù)分組的時間的值。公式2的值可以按照公式2的算術(shù)運(yùn)算被組合以計算BottleneCk_BandWidth值。也就是,Packet_size值被除以First_Rec^pt_Time值與Second_Rec^pt_Time值之差。例如,計算機(jī)系統(tǒng)231可以在09:56:05.234(First_Recept_Time值)通過數(shù)據(jù)路徑291接收第一數(shù)據(jù)對分組數(shù)據(jù),其Packet_Size值為32768比特(4096字節(jié))。隨后,計算機(jī)系統(tǒng)231可以在095605.250(Second_Recept_Time值)通過數(shù)據(jù)路徑291接收第二數(shù)據(jù)對分組數(shù)據(jù),其Packet_Size值為32768比特。因此在該例中,所估計的Bottleneck_Bandwidth值會等于32768比特/(·250秒-·234秒),即約為2Mbps。發(fā)送端或中間發(fā)送計算機(jī)系統(tǒng)在恒定大小的、背對背數(shù)據(jù)分組(每個分組都隔開恒定的分組對傳輸時間間隔)的分組對的列內(nèi)包括第一和第二分組對數(shù)據(jù)分組,該分組對的列在網(wǎng)絡(luò)數(shù)據(jù)路徑上被發(fā)送到接收端或中間接收計算機(jī)系統(tǒng)。分組對列的傳輸可以用來實現(xiàn)多種不同分組對算法的任一種,比如僅有接收機(jī)的分組對(“R0PP”)算法、基于接收機(jī)的分組對(“RBPP”)算法、以及基于發(fā)送方的分組對(“SBPP”)算法,用于計算網(wǎng)絡(luò)數(shù)據(jù)路徑的瓶頸帶寬??梢詫崿F(xiàn)這些分組對算法(或任何其他分組對算法)的任一種來計算數(shù)據(jù)路徑291的瓶頸帶寬值。探測模塊,比如探測模塊204、224和/或234可以用適當(dāng)?shù)墓δ軄砼渲?,用于實現(xiàn)分組對算法??梢允褂梅纸M對濾波技術(shù),比如直方圖,來提高分組對算法的準(zhǔn)確性。在某些實施例中,中間發(fā)送計算機(jī)系統(tǒng)向中間接收計算機(jī)系統(tǒng)發(fā)送至少第一和第二分組對數(shù)據(jù)分組。例如,混雜模式測量的結(jié)果可以指出,發(fā)送端數(shù)據(jù)鏈路和接收端數(shù)據(jù)鏈路兩者都有足夠的可用帶寬容量來支持應(yīng)用數(shù)據(jù)流。這樣,在這些數(shù)據(jù)鏈路上發(fā)送和接收分組對數(shù)據(jù)分組會是冗余的。例如,當(dāng)指出數(shù)據(jù)鏈路271和數(shù)據(jù)鏈路276有足夠的可用帶寬容量來支持應(yīng)用數(shù)據(jù)流時,分組對數(shù)據(jù)分組可以從數(shù)據(jù)轉(zhuǎn)換器255被發(fā)送到數(shù)據(jù)轉(zhuǎn)換器260。因而,數(shù)據(jù)轉(zhuǎn)換器255或數(shù)據(jù)轉(zhuǎn)換器260可以計算數(shù)據(jù)鏈路278的瓶頸帶寬。方法300包括向發(fā)送計算機(jī)系統(tǒng)支持可用的瓶頸帶寬的行為(行為320)。行為320可以包括接收端或中間接收計算機(jī)系統(tǒng)向發(fā)送端或中間發(fā)送計算機(jī)系統(tǒng)支持可用的瓶頸帶寬容量。方法300包括接收一指示的行為,指明瓶頸數(shù)據(jù)鏈路上的可用帶寬容量是足夠的(行為308)。行為308可以包括發(fā)送端或中間發(fā)送計算機(jī)系統(tǒng)接收一指示,指明瓶頸數(shù)據(jù)鏈路的可用的帶寬容量足以支持所請求的應(yīng)用數(shù)據(jù)傳輸速率下的數(shù)據(jù)流。在某些實施例中,特定的瓶頸負(fù)載值(如.2,.7等)限制了數(shù)據(jù)流可以消耗的瓶頸帶寬容量??梢园凑站W(wǎng)絡(luò)管理員或用戶的需求來選擇特定的瓶頸負(fù)載值。當(dāng)希望允許數(shù)據(jù)流減少的瓶頸帶寬時,可以降低特定的瓶頸負(fù)載值。例如,為了允許數(shù)據(jù)流的20%的網(wǎng)絡(luò)數(shù)據(jù)路徑的瓶頸帶寬,Bottleneck_Bandwidth值可以與特定的瓶頸負(fù)載值“.2”相乘以計算Available_Bottleneck_Bandwidth值。另一方面當(dāng)希望允許數(shù)據(jù)流的增加的瓶頸帶寬時,可以增加特定的瓶頸負(fù)載值。例如,為了允許數(shù)據(jù)流的70%的網(wǎng)絡(luò)數(shù)據(jù)路徑的瓶頸帶寬,Bottleneck_Bandwidth值可以與特定的瓶頸負(fù)載值“.7”相乘以計算Available_B0ttleneck_Bandwidth值。當(dāng)希望允許數(shù)據(jù)流的全部網(wǎng)絡(luò)數(shù)據(jù)瓶頸帶寬時,可以把特定的瓶頸負(fù)載值設(shè)為“1”??梢赃x擇特定的瓶頸負(fù)載值來使用盡可能多的瓶頸帶寬,而不使網(wǎng)絡(luò)數(shù)據(jù)路徑變得擁塞。另一方面可以選擇17特定的瓶頸負(fù)載值來保存一定數(shù)量的瓶頸帶寬,用于非流化數(shù)據(jù)的傳輸。當(dāng)所計算的Bottleneck_Bandwidth值(或者適當(dāng)時所計算的Available_Bottleneck_Bandwidth值)小于所請求的應(yīng)用數(shù)據(jù)傳輸速率時,網(wǎng)絡(luò)數(shù)據(jù)路徑被視為沒有足夠的可用帶寬容量來支持所請求應(yīng)用數(shù)據(jù)傳輸速率下的應(yīng)用數(shù)據(jù)流。因而,應(yīng)用數(shù)據(jù)流不被發(fā)送到網(wǎng)絡(luò)數(shù)據(jù)路徑上,并且終止測試。作為有利的結(jié)果,防止具有擁塞網(wǎng)絡(luò)數(shù)據(jù)路徑的增加的似然性的數(shù)據(jù)流被發(fā)送到網(wǎng)絡(luò)數(shù)據(jù)路徑上。另一方面當(dāng)為網(wǎng)絡(luò)數(shù)據(jù)路徑計算的BottleneCk_Bandwidth值(或者適當(dāng)時所計算的Available_B0ttleneck_Bandwidth值)大于(或等于)所請求的應(yīng)用數(shù)據(jù)傳輸速率時,網(wǎng)絡(luò)數(shù)據(jù)路徑被視為有足夠的可用帶寬容量來支持所請求應(yīng)用數(shù)據(jù)傳輸速率下的應(yīng)用數(shù)據(jù)流。因而,可以執(zhí)行較主動的測試,比如主動網(wǎng)絡(luò)探測,以更準(zhǔn)確地確定應(yīng)用數(shù)據(jù)流在網(wǎng)絡(luò)數(shù)據(jù)路徑上造成擁塞的似然性。方法300包括用于主動探測網(wǎng)絡(luò)數(shù)據(jù)路徑的功能性面向結(jié)果的步驟(步驟314)。步驟314可以包括用于實現(xiàn)主動探測網(wǎng)絡(luò)數(shù)據(jù)路徑的結(jié)果的任何相應(yīng)行為。然而,在圖3所述的示例中,步驟314包括標(biāo)識傳輸參數(shù)來模擬應(yīng)用數(shù)據(jù)流的相應(yīng)行為(行為309)。行為309可以包括標(biāo)識傳輸參數(shù)的發(fā)送計算機(jī)系統(tǒng),用于配置數(shù)據(jù)分組的列,來模擬以所請求的應(yīng)用數(shù)據(jù)傳輸速率發(fā)送應(yīng)用數(shù)據(jù)流。例如,發(fā)送計算機(jī)系統(tǒng)可以標(biāo)識探測數(shù)據(jù)分組大小值、每列分組值、探測數(shù)據(jù)分組間隔值、以及探測列間隔值。探測數(shù)據(jù)分組大小值表示包括在探測數(shù)據(jù)分組列內(nèi)的探測數(shù)據(jù)分組的大小(如,以比特或字節(jié)為單位)。例如,4096的探測數(shù)據(jù)分組大小值會表示探測數(shù)據(jù)分組列內(nèi)包括的探測數(shù)據(jù)分組要具有4096比特或4096字節(jié)(32768比特)的大小。每列分組值表示要包括在一列探測數(shù)據(jù)分組內(nèi)的探測數(shù)據(jù)分組的數(shù)目。例如,每列分組值10會表示在一列探測數(shù)據(jù)分組內(nèi)要包括10個探測數(shù)據(jù)分組。探測數(shù)據(jù)分組間隔值表示一列探測數(shù)據(jù)分組內(nèi)的連續(xù)探測數(shù)據(jù)分組傳輸間的時間間隔(如,以毫秒為單位)。例如,探測數(shù)據(jù)分組間隔值1會表示一列探測數(shù)據(jù)分組內(nèi)的探測數(shù)據(jù)分組要每1毫秒被發(fā)送一次。探測列間隔值表示一系列探測數(shù)據(jù)分組列的連續(xù)列之間的時間間隔(如,以毫秒為單位)。例如,探測列間隔值90會表示探測數(shù)據(jù)分組的連續(xù)列要每90毫秒被發(fā)送一次。把探測數(shù)據(jù)分組的連續(xù)列隔開一個探測列間隔值會潛在地降低數(shù)據(jù)集線器和數(shù)據(jù)轉(zhuǎn)換器處的捕獲效應(yīng)(因為允許排隊的數(shù)據(jù)分組在最少的探測列間隔時間被傳遞)。這降低了使其他數(shù)據(jù)(或是數(shù)據(jù)流或是非流化數(shù)據(jù))降級的任何探測數(shù)據(jù)分組列被發(fā)送到網(wǎng)絡(luò)數(shù)據(jù)路徑上的似然性。步驟314包括按照所標(biāo)識的傳輸參數(shù)臨時發(fā)出一列分組的相應(yīng)行為(行為310)。行為310可以包括發(fā)送計算機(jī)系統(tǒng)按照所標(biāo)識的傳輸參數(shù)臨時發(fā)出一列探測數(shù)據(jù)分組,以模擬應(yīng)用數(shù)據(jù)流到網(wǎng)絡(luò)數(shù)據(jù)路徑上的傳輸。例如,探測模塊204可以臨時把一列探測數(shù)據(jù)分組發(fā)送到數(shù)據(jù)路徑291上,以模擬以所請求的應(yīng)用數(shù)據(jù)傳輸速率發(fā)送應(yīng)用數(shù)據(jù)流。方法300包括用于參與網(wǎng)絡(luò)數(shù)據(jù)路徑的主動探測的功能性面向結(jié)果的步驟(步驟326)。步驟326可以包括用于實現(xiàn)參與網(wǎng)絡(luò)數(shù)據(jù)路徑的主動探測的結(jié)果的任何相應(yīng)行為。然而,在圖3所述的示例中,步驟326包括從一列探測分組接收探測分組,模擬應(yīng)用數(shù)據(jù)傳輸速率下的應(yīng)用數(shù)據(jù)流的相應(yīng)行為(行為321)。行為321可以包括接收計算機(jī)系統(tǒng)至少接收發(fā)送計算機(jī)系統(tǒng)曾發(fā)送到網(wǎng)絡(luò)數(shù)據(jù)路徑上的一列探測數(shù)據(jù)分組內(nèi)的某些探測數(shù)據(jù)分組,以模擬所請求應(yīng)用數(shù)據(jù)傳輸速率下的應(yīng)用數(shù)據(jù)流。例如,探測模塊234可以從探測模塊204發(fā)出的一列探測數(shù)據(jù)分組接收探測數(shù)據(jù)分組。步驟326包括計算一列探測數(shù)據(jù)分組未造成網(wǎng)絡(luò)數(shù)據(jù)路徑擁塞的相應(yīng)行為(行為322)。行為322可以包括計算端計算機(jī)系統(tǒng)計算出該列探測數(shù)據(jù)分組未使網(wǎng)絡(luò)數(shù)據(jù)鏈路的任一數(shù)據(jù)鏈路轉(zhuǎn)變?yōu)閾砣麪顟B(tài)。例如,探測模塊234可以計算從探測模塊204接收到的一列探測分組未使數(shù)據(jù)路徑291的任何數(shù)據(jù)鏈路(即數(shù)據(jù)鏈路272、277、278和275)轉(zhuǎn)變?yōu)閾砣麪顟B(tài)。方法300包括向發(fā)送計算機(jī)系統(tǒng)支持該列探測分組未造成網(wǎng)絡(luò)數(shù)據(jù)路徑擁塞的行為(行為323)。行為323可以包括接收端計算機(jī)系統(tǒng)向發(fā)送端計算機(jī)系統(tǒng)指示探測數(shù)據(jù)分組列未造成網(wǎng)絡(luò)數(shù)據(jù)路徑的任何數(shù)據(jù)鏈路轉(zhuǎn)變?yōu)閾砣麪顟B(tài)。例如,探測模塊234可以向探測模塊204指示,數(shù)據(jù)路徑291上接收到的一列探測數(shù)據(jù)分組未使數(shù)據(jù)路徑291擁塞。方法300包括接收一指示的行為,該行為指明探測數(shù)據(jù)分組列未造成網(wǎng)絡(luò)數(shù)據(jù)路徑擁塞(行為311)。行為311可以包括發(fā)送端計算機(jī)系統(tǒng)從接收端計算機(jī)系統(tǒng)接收一指示,指明了探測數(shù)據(jù)分組列未造成網(wǎng)絡(luò)數(shù)據(jù)路徑的任何數(shù)據(jù)鏈路轉(zhuǎn)變成擁塞狀態(tài)。例如,探測模塊204可以從探測模塊234接收一指示,指明探測數(shù)據(jù)分組列未使數(shù)據(jù)路徑291擁塞。在某些實施例中,通過比較與變化的數(shù)據(jù)傳輸速率下發(fā)送的數(shù)據(jù)分組列相關(guān)的排隊延遲,確定了數(shù)據(jù)流使網(wǎng)絡(luò)數(shù)據(jù)路徑擁塞的似然性。圖4說明了用于根據(jù)所標(biāo)識的排隊延遲估計擁塞似然性的方法400的示例流程圖。圖5說明了在IOMbps以太網(wǎng)鏈路上,排隊延遲相對所提供的負(fù)載的示例圖500。圖6A說明了接收到的數(shù)據(jù)分組百分比相對與接收時間延遲閾值的偏差的示例圖600,指明了數(shù)據(jù)流會造成被探測的網(wǎng)絡(luò)數(shù)據(jù)路徑轉(zhuǎn)變?yōu)閾砣麪顟B(tài)的減少的似然性。圖6B說明了接收到的數(shù)據(jù)分組百分比相對與接收時間延遲閾值的偏差的示例圖650,指明了數(shù)據(jù)流會造成被探測的網(wǎng)絡(luò)數(shù)據(jù)路徑轉(zhuǎn)變?yōu)閾砣麪顟B(tài)的增加的似然性。方法400會參照網(wǎng)絡(luò)結(jié)構(gòu)200以及圖500、600和650中描述的計算機(jī)系統(tǒng)來進(jìn)行描述。在示例圖500中,排隊延遲在縱軸(“Y軸”)上表示,所提供的負(fù)載在橫軸(“X軸”)上表示。圖500說明了在特定的所提供的負(fù)載(如4Mbps)下,在鏈路容量為IOMbps的以太網(wǎng)鏈路上傳播的數(shù)據(jù)分組會遭受特定的排隊延遲(如小于2毫秒)。隨著所提供負(fù)載的增加,排隊延遲保持相對恒定,直到所提供的負(fù)載轉(zhuǎn)變到拐點(diǎn)區(qū)域501內(nèi)。然后在拐點(diǎn)區(qū)域501內(nèi)的某些所提供的負(fù)載處,排隊延遲開始顯著增加。例如,排隊延遲在所提供的負(fù)載為7Mbps(排隊延遲小于2毫秒)和9Mbps(排隊延遲約為10毫秒)之間增加了不止5倍。因此圖500說明了,即使當(dāng)所提供的負(fù)載低于鏈路容量時也會發(fā)生增加的排隊延遲。當(dāng)增加了排隊延遲時,數(shù)據(jù)分組在以太網(wǎng)鏈路上保持增加的時間段,可能使以太網(wǎng)鏈路轉(zhuǎn)變?yōu)閾砣麪顟B(tài)。因而,以太網(wǎng)鏈路不適用于數(shù)據(jù)流,即使所提供的負(fù)載低于鏈路容量。應(yīng)該理解,盡管圖5說明了IOMbps以太網(wǎng)鏈路上的排隊延遲相對所提供的負(fù)載,然而隨著所提供的負(fù)載增加,多種其他類型的數(shù)據(jù)鏈路,比如IOOMbps以太網(wǎng)鏈路和IEEE802.11鏈路,會遭受類似的排隊延遲的增加。參照圖4,方法400包括發(fā)送一列診斷數(shù)據(jù)分組的行為(行為401)。行為401可以包括發(fā)送計算機(jī)系統(tǒng)在瓶頸帶寬值(如由分組對測試所估計的)的特定小部分(如百分之一)把一列診斷分組發(fā)送到網(wǎng)絡(luò)數(shù)據(jù)路徑上。例如,探測模塊204可以在數(shù)據(jù)路徑291的瓶頸帶寬的一小部分(如一百分之一或五十分之一)把一列診斷數(shù)據(jù)分組發(fā)送到數(shù)據(jù)路徑291上。瓶頸帶寬的特定小部分表示了一個診斷數(shù)據(jù)速率,它顯著地降低了使網(wǎng)絡(luò)數(shù)據(jù)路徑擁塞或者使網(wǎng)絡(luò)數(shù)據(jù)路徑上發(fā)送的數(shù)據(jù)降級的似然性。例如,在瓶頸帶寬為5Mbps的網(wǎng)絡(luò)數(shù)據(jù)路徑上發(fā)送一列診斷數(shù)據(jù)分組時可以使用50千比特每秒(“Kbps”)的診斷數(shù)據(jù)速率。發(fā)送計算機(jī)系統(tǒng)可以在每個診斷數(shù)據(jù)分組內(nèi)包括一個時標(biāo),指示發(fā)送該診斷數(shù)據(jù)分組的時間。方法400包括至少接收某些診斷數(shù)據(jù)分組的行為(行為404)。行為404可以包括接收計算機(jī)系統(tǒng)至少接收某些診斷數(shù)據(jù)分組,這些診斷數(shù)據(jù)分組包括在從發(fā)送計算機(jī)系統(tǒng)被發(fā)送到接收計算機(jī)系統(tǒng)的一列診斷數(shù)據(jù)分組內(nèi)。例如,探測模塊234可以接收從探測模塊204發(fā)送的一列診斷數(shù)據(jù)分組內(nèi)的至少某些診斷數(shù)據(jù)分組。方法400包括從接收到的診斷數(shù)據(jù)分組中標(biāo)識被延遲的診斷數(shù)據(jù)分組的數(shù)目的行為(行為405)。例如,探測模塊可以從自探測模塊204接收到的診斷數(shù)據(jù)分組中標(biāo)識出被延遲的診斷數(shù)據(jù)分組。當(dāng)為數(shù)據(jù)分組計算的排隊延遲大于特定的接收時間延遲閾值時,數(shù)據(jù)分組被視為“被延遲的”。排隊延遲可以按照公式3計算QDi=Transit_Time_For_Packetj-Minimum_Tran_Time_Over_All_Received_Packets公式3Transit.Time.For.Packeti是表示特定的接收到的數(shù)據(jù)分組的通過(即在電線上)時間的值。TransitJim^Foi^Packeti等于接收到數(shù)據(jù)分組的時間減去發(fā)出數(shù)據(jù)分組的時間之差。當(dāng)接收到數(shù)據(jù)分組時,RTime_Pack是可用于表示接收時間的值。發(fā)出數(shù)據(jù)分組的時間可以從數(shù)據(jù)分組內(nèi)包括的時標(biāo)來標(biāo)識。當(dāng)接收到來自一列數(shù)據(jù)分組的數(shù)據(jù)分組時,標(biāo)識并適當(dāng)?shù)乇硎久總€接收到的數(shù)據(jù)分組的發(fā)送時間和接收時間。為每個接收到的數(shù)據(jù)分組計算通過時間Transit_Time_For_Packet,Minimum_Tran_Time_0νer_All_Received_Packets是表示所有計算的通過時間中最小通過時間的值。公式3內(nèi)的值可以按照公式3的算術(shù)運(yùn)算被組合以計算QDi值,該值表示特定數(shù)據(jù)分組的排隊延遲。減去Minimum_Tran_Time_Over_All_Received_Packets值使QDi值標(biāo)準(zhǔn)化,并且補(bǔ)償了發(fā)送和接收端計算機(jī)系統(tǒng)處時鐘值之差。因而,即使數(shù)據(jù)分組的通過時間由于時鐘的不準(zhǔn)確性而不準(zhǔn)確或是否定的,仍然可以使用公式3。表1說明了八個數(shù)據(jù)分組的可能的發(fā)送和接收時間(作為小時分鐘秒)的示例數(shù)據(jù)分組#發(fā)送計算機(jī)處的發(fā)送時間接收計算機(jī)處的接收時間視在通過時間112::10::01.00412::10::06.05700::05.053秒212::10::01·00612::10::06.05900::05.053秒312::10::01.00812::10::06.06000::05.052秒412::10::01·01012::10::06.06300::05.053秒512::10::01.01212::10::06.06800::05.056秒612::10::01.01412::10::06.06800::05·054秒712::10::01.01612:10::06·07000::05.054秒812:10:;01.01812:10::06·07300::05.055秒表1如表1所示,對于八個數(shù)據(jù)分組而言,數(shù)據(jù)分組3與Minimum_Tran_Time_Over_All_Received_Packets值5.052秒相關(guān)聯(lián)。通過時間的列被標(biāo)為“視在通過時間”,這是因為時鐘不準(zhǔn)確性使通過時間看上去與實際通過時間很不同。接收延遲閾值實際上可以是管理員或用戶適當(dāng)選擇的任何閾值。在某些實施例中,接收延遲閾值等于發(fā)送時間間隔(如在異步發(fā)送之間)。表1中,發(fā)送時間間隔為2毫秒。按照公式3,通過得到分組的視在通過時間減去5.052之差,可以計算每個數(shù)據(jù)分組的QDitl例如,分組7的QDi會是5.054秒-5.052秒,即2毫秒。分組7不會被視為被延遲的分組,因為2毫秒的QDi小于或等于2毫秒的發(fā)送時間間隔。相反,分組5的QDi會是4毫秒,并且會被視為被延遲的分組,因為4毫秒大于2毫秒。方法400包括至少接收某些目標(biāo)數(shù)據(jù)分組的行為(行為406)。行為406可以包括接收計算機(jī)系統(tǒng)至少接收某些數(shù)據(jù)分組,這些數(shù)據(jù)分組被包括在從發(fā)送計算機(jī)系統(tǒng)被發(fā)送到接收計算機(jī)系統(tǒng)的目標(biāo)數(shù)據(jù)分組列中。例如,探測模塊234可以接收從探測模塊204發(fā)送的一列目標(biāo)數(shù)據(jù)分組中的至少某些目標(biāo)數(shù)據(jù)分組。方法400包括從接收到的目標(biāo)數(shù)據(jù)分組中標(biāo)識出被延遲的目標(biāo)數(shù)據(jù)分組的行為(行為407)。例如,探測模塊234可以從自探測模塊204接收到的目標(biāo)數(shù)據(jù)分組中標(biāo)識出被延遲的目標(biāo)數(shù)據(jù)分組。探測模塊234可以按照公式3標(biāo)識出被延遲的目標(biāo)數(shù)據(jù)分組。方法400包括把被延遲的目標(biāo)數(shù)據(jù)分組數(shù)目與被延遲的診斷數(shù)據(jù)分組數(shù)目相比較的行為(行為408)。行為408可以包括接收計算機(jī)系統(tǒng)把被延遲的目標(biāo)數(shù)據(jù)分組數(shù)目與被延遲的診斷數(shù)據(jù)分組數(shù)目相比較以確定目標(biāo)數(shù)據(jù)分組列是否在網(wǎng)絡(luò)數(shù)據(jù)路徑上造成擁塞。例如,探測模塊234可以把從探測模塊204發(fā)送的多個被延遲的目標(biāo)數(shù)據(jù)分組與從探測模塊204發(fā)送的多個被延遲的診斷數(shù)據(jù)分組相比較。當(dāng)被延遲的目標(biāo)數(shù)據(jù)分組數(shù)目在被延遲的診斷數(shù)據(jù)分組數(shù)目的特定延遲分組閾值內(nèi)時,應(yīng)用數(shù)據(jù)流的傳遞會造成被探測網(wǎng)絡(luò)數(shù)據(jù)路徑轉(zhuǎn)變?yōu)閾砣麪顟B(tài)的似然性降低。延遲分組閾值可以是多個數(shù)據(jù)分組或是數(shù)據(jù)分組的百分比,并且可以變化以表示應(yīng)用數(shù)據(jù)流使網(wǎng)絡(luò)擁塞的較保守或較不保守的估計。例如,當(dāng)希望數(shù)據(jù)流不會造成網(wǎng)絡(luò)擁塞的較保守的估計時,可以設(shè)定較小的延遲分組閾值,比如3%。因而,為了一列目標(biāo)數(shù)據(jù)分組指示網(wǎng)絡(luò)數(shù)據(jù)路徑擁塞降低的似然性,在接收延遲閾值內(nèi)接收到的目標(biāo)數(shù)據(jù)分組數(shù)目只能比在接收延遲閾值內(nèi)接收到的診斷數(shù)據(jù)分組數(shù)目少3%。另一方面當(dāng)希望數(shù)據(jù)流不會造成網(wǎng)絡(luò)擁塞的較不保守的估計時,可以設(shè)定較大的延遲分組閾值,比如12%。因而,為了一列目標(biāo)數(shù)據(jù)分組指示網(wǎng)絡(luò)數(shù)據(jù)路徑擁塞降低的似然性,在接收延遲閾值內(nèi)接收到的目標(biāo)數(shù)據(jù)分組數(shù)目只能比在接收延遲閾值內(nèi)接收到的診斷數(shù)據(jù)分組數(shù)目少12%。參照圖6A,示例圖600說明了在被探測網(wǎng)絡(luò)數(shù)據(jù)路徑的延遲閾值601內(nèi)接收到的目標(biāo)數(shù)據(jù)分組和診斷數(shù)據(jù)分組的百分比。被延遲小于延遲閾值601的數(shù)據(jù)分組(診斷和目標(biāo)兩者)被視為具有可接受的延遲。另一方面被延遲大于接收時間閾值601的數(shù)據(jù)分組被視為具有不可接受的延遲。在示例圖600中,接收到的分組的百分比表示在縱軸(“Y軸”)上,與接收延遲閾值601的時間差表示在橫軸(“X軸”)上。示例圖600說明了以下步驟的結(jié)果主動地探測數(shù)據(jù)負(fù)載為4Mbps的網(wǎng)絡(luò)數(shù)據(jù)路徑(如數(shù)據(jù)路徑291)以確定所估計的數(shù)據(jù)傳輸速率為2Mbps的數(shù)據(jù)流是否會使網(wǎng)絡(luò)數(shù)據(jù)路徑轉(zhuǎn)變?yōu)閾砣麪顟B(tài)。診斷列的Y截距表示在接收延遲閾值601內(nèi)接收到的診斷數(shù)據(jù)分組的百分比。如圖所示,在可接受的延遲內(nèi)接收到約百分之九十的診斷數(shù)據(jù)分組。目標(biāo)列的Y截距表示在接收延遲閾值601內(nèi)接收到的目標(biāo)數(shù)據(jù)分組的百分比。如圖所示,在可接受的延遲內(nèi)接收到約百分之九十的目標(biāo)數(shù)據(jù)分組。由于在可接受的延遲內(nèi)接收到近似的目標(biāo)數(shù)據(jù)分組和診斷數(shù)據(jù)分組的百分比,因此目標(biāo)數(shù)據(jù)分組的百分比大概被視為在診斷數(shù)據(jù)分組百分比的延遲分組閾值內(nèi)。因此,示例圖600指明,應(yīng)用數(shù)據(jù)傳輸速率為2Mbps的數(shù)據(jù)流大概不會使被探測的網(wǎng)絡(luò)數(shù)據(jù)路徑擁塞。因而,可以允許把2Mbps數(shù)據(jù)流發(fā)送到被探測的網(wǎng)絡(luò)數(shù)據(jù)路徑上。當(dāng)被延遲的目標(biāo)數(shù)據(jù)分組數(shù)目不在被延遲的診斷數(shù)據(jù)分組數(shù)目的特定延遲分組閾值內(nèi)時,應(yīng)用數(shù)據(jù)流的傳遞使被探測的網(wǎng)絡(luò)數(shù)據(jù)路徑轉(zhuǎn)變?yōu)閾砣麪顟B(tài)的似然性增加。參照圖6B,示例圖650說明了從被探測的網(wǎng)絡(luò)數(shù)據(jù)路徑在接收延遲閾值601內(nèi)接收到的目標(biāo)數(shù)據(jù)分組和診斷數(shù)據(jù)分組的百分比。被延遲小于延遲閾值601的數(shù)據(jù)分組(診斷和目標(biāo)兩者)被視為具有可接受的延遲。另一方面被延遲大于接收時間閾值601的數(shù)據(jù)分組被視為具有不可接受的延遲。在示例圖650中,接收到的分組的百分比表示在縱軸(“Y軸”)上,與接收延遲閾值601的時間差表示在橫軸(“X軸”)上。示例圖650說明了以下步驟的結(jié)果主動地探測數(shù)據(jù)負(fù)載為4Mbps的網(wǎng)絡(luò)數(shù)據(jù)路徑(如數(shù)據(jù)路徑291)以確定所估計的數(shù)據(jù)傳輸速率為7Mbps的數(shù)據(jù)流是否會使網(wǎng)絡(luò)數(shù)據(jù)路徑轉(zhuǎn)變?yōu)閾砣麪顟B(tài)。診斷列的Y截距表示在接收延遲閾值601內(nèi)接收到的診斷數(shù)據(jù)分組的數(shù)目。如圖所示,在延遲閾值601內(nèi)接收到約百分之九十的診斷數(shù)據(jù)分組。目標(biāo)列的Y截距表示在延遲閾值601內(nèi)接收到的目標(biāo)數(shù)據(jù)分組的數(shù)目。如圖所示,在延遲閾值601內(nèi)接收到約百分之五十的目標(biāo)數(shù)據(jù)分組。由于在可接受的延遲內(nèi)接收到目標(biāo)數(shù)據(jù)分組百分比和診斷數(shù)據(jù)分組百分比顯著地不同,因此目標(biāo)數(shù)據(jù)分組的百分比大概不被視為在診斷數(shù)據(jù)分組百分比的延遲分組閾值內(nèi)。因此,示例圖650指明,應(yīng)用數(shù)據(jù)傳輸速率為7Mbps的數(shù)據(jù)流大概會使被探測的網(wǎng)絡(luò)數(shù)據(jù)路徑擁塞。因而,防止把使網(wǎng)絡(luò)數(shù)據(jù)路徑擁塞的似然性增加的數(shù)據(jù)流發(fā)送到網(wǎng)絡(luò)數(shù)據(jù)路徑上。根據(jù)網(wǎng)絡(luò)數(shù)據(jù)路徑(如數(shù)據(jù)鏈路為10Mbps、IOOMbps等)的配置,在可接受延遲內(nèi)(如在接收延遲閾值601之前)接收到的目標(biāo)數(shù)據(jù)分組的特定百分比,在獨(dú)立觀察時,可以不必要提供可靠的擁塞指示。例如,在IOMbps網(wǎng)絡(luò)數(shù)據(jù)鏈路上,在延遲閾值內(nèi)接收75%的目標(biāo)數(shù)據(jù)分組會被視為不指示擁塞的接收百分比。另一方面在IOOMbps的網(wǎng)絡(luò)數(shù)據(jù)鏈路上,在延遲閾值內(nèi)接收75%的目標(biāo)數(shù)據(jù)分組會被視為指示擁塞的接收百分比。然而,發(fā)送和/或接收端計算機(jī)系統(tǒng)也許不能在發(fā)送一列目標(biāo)數(shù)據(jù)分組之前得知網(wǎng)絡(luò)數(shù)據(jù)路徑的配置。例如,發(fā)送端和接收端計算機(jī)系統(tǒng)可以由一條或多條中間數(shù)據(jù)鏈路(包括瓶頸鏈路)分開。如前所述,可以在顯著降低使網(wǎng)絡(luò)數(shù)據(jù)路徑擁塞的似然性的數(shù)據(jù)速率下發(fā)送診斷分組列。因而,當(dāng)網(wǎng)絡(luò)數(shù)據(jù)路徑大概不擁塞時,可以使用一列診斷分組來標(biāo)識網(wǎng)絡(luò)數(shù)據(jù)路徑的被延遲分組的可接受閾值。而且,即使當(dāng)發(fā)送端和接收端計算機(jī)系統(tǒng)事先不知道網(wǎng)絡(luò)數(shù)據(jù)路徑的配置時也可以標(biāo)識被延遲分組的可接受閾值。結(jié)果,不需要發(fā)送端和接收端計算機(jī)系統(tǒng)在確定是否可以把數(shù)據(jù)流發(fā)送到網(wǎng)絡(luò)數(shù)據(jù)路徑上之前知道網(wǎng)絡(luò)數(shù)據(jù)路徑配置。而且,通過把被延遲的目標(biāo)數(shù)據(jù)分組的百分比與被延遲分組的可接受閾值相比較(與僅根據(jù)網(wǎng)絡(luò)數(shù)據(jù)路徑的配置作出判決相反),可以作出更可靠的判決。方法400包括發(fā)送比較結(jié)果的行為(行為409)。行為409可以包括接收計算機(jī)系統(tǒng)向發(fā)送計算機(jī)系統(tǒng)發(fā)送目標(biāo)數(shù)據(jù)分組與診斷數(shù)據(jù)分組的排隊延遲的比較結(jié)果。例如,探測模塊234可以向探測模塊234發(fā)送比較結(jié)果。方法400包括接收比較結(jié)果的行為(行為403)。行為403可以包括發(fā)送計算機(jī)系統(tǒng)從接收計算機(jī)系統(tǒng)接收目標(biāo)數(shù)據(jù)分組與診斷數(shù)據(jù)分組的排隊延遲的比較結(jié)果。例如,探測模塊204可以從探測模塊234接收比較結(jié)果。當(dāng)結(jié)果適當(dāng)時,應(yīng)用模塊202就以所請求的應(yīng)用數(shù)據(jù)速率把應(yīng)用數(shù)據(jù)流發(fā)送到應(yīng)用232。在某些實施例中,在發(fā)出一列診斷數(shù)據(jù)分組后,從發(fā)送計算機(jī)系統(tǒng)向接收計算機(jī)系統(tǒng)發(fā)送一列中間診斷數(shù)據(jù)分組。該列中間診斷數(shù)據(jù)分組以中間診斷數(shù)據(jù)速率被發(fā)送,所述中間診斷數(shù)據(jù)速率大于診斷數(shù)據(jù)速率但小于所請求的應(yīng)用數(shù)據(jù)速率。當(dāng)所請求的應(yīng)用數(shù)據(jù)速率與診斷數(shù)據(jù)速率相比較大時,在診斷數(shù)據(jù)速率和所請求的應(yīng)用數(shù)據(jù)速率之間的某一中間診斷數(shù)據(jù)速率處確定可能的擁塞是有利的。例如,網(wǎng)絡(luò)數(shù)據(jù)路徑的AvailablyBottleneck_Bandwidth值會使70Mbps。因而,可以選擇700Kbps的診斷數(shù)據(jù)速率。當(dāng)所請求的應(yīng)用數(shù)據(jù)傳輸速率為60Mbps時,在700Kbps和60Mbps之間的中間診斷數(shù)據(jù)速率處確定可能的擁塞是有利的,例如在20或30Mbps處。接收到的中間診斷數(shù)據(jù)分組的排隊延遲與接收到的診斷分組的排隊延遲相比較。當(dāng)被延遲的中間診斷數(shù)據(jù)分組的數(shù)目不在被延遲的診斷數(shù)據(jù)分組數(shù)目的特定延遲分組閾值內(nèi)時,以中間診斷數(shù)據(jù)速率傳遞數(shù)據(jù)流會使被探測的網(wǎng)絡(luò)數(shù)據(jù)路徑轉(zhuǎn)變?yōu)閾砣麪顟B(tài)的似然性增加。結(jié)果,較高所請求應(yīng)用數(shù)據(jù)速率下的數(shù)據(jù)流大概也會使被探測的網(wǎng)絡(luò)數(shù)據(jù)路徑轉(zhuǎn)變?yōu)閾砣麪顟B(tài)。因而,主動探測會終止,而不以所請求的應(yīng)用數(shù)據(jù)傳輸速率進(jìn)行主動探測。作為有利的結(jié)果,防止使被探測網(wǎng)絡(luò)數(shù)據(jù)路徑擁塞的似然性增加的數(shù)據(jù)被發(fā)送到被探測的網(wǎng)絡(luò)數(shù)據(jù)路徑上。另一方面,當(dāng)被延遲的中間診斷數(shù)據(jù)分組的數(shù)目在被延遲的診斷數(shù)據(jù)分組的特定延遲分組閾值內(nèi)時,以中間診斷數(shù)據(jù)速率傳遞數(shù)據(jù)流會使被探測的網(wǎng)絡(luò)數(shù)據(jù)路徑轉(zhuǎn)變?yōu)閾砣麪顟B(tài)的似然性減小。因而,主動探測會以所請求的應(yīng)用數(shù)據(jù)傳輸速率繼續(xù)??赡馨l(fā)送一系列數(shù)據(jù)分組(診斷、中間診斷或目標(biāo))列來主動地探測網(wǎng)絡(luò)數(shù)據(jù)路徑,以便提高關(guān)于潛在網(wǎng)絡(luò)路徑擁塞的判決可靠性。起初,發(fā)送一個序列的診斷分組列,以標(biāo)識與顯著降低擁塞網(wǎng)絡(luò)數(shù)據(jù)路徑的似然性的數(shù)據(jù)傳輸速率相關(guān)聯(lián)的排隊延遲。隨后,在適當(dāng)時,發(fā)送一個序列的中間診斷數(shù)據(jù)分組列,以標(biāo)識與中間診斷數(shù)據(jù)傳輸速率相關(guān)聯(lián)的排隊延遲。然后,發(fā)送一個序列的目標(biāo)數(shù)據(jù)分組列,以標(biāo)識與所請求的應(yīng)用數(shù)據(jù)傳輸速率相關(guān)聯(lián)的排隊延遲。序列內(nèi)的每個數(shù)據(jù)分組列都可以由一個探測列間隔來分開??梢赃x擇探測列間隔來減少被探測網(wǎng)絡(luò)數(shù)據(jù)路徑上的捕獲效應(yīng)。例如,以1毫秒探測數(shù)據(jù)分組間隔發(fā)送的10個數(shù)據(jù)分組的列(S卩,總發(fā)送時間為10毫秒)可以由90毫秒的探測列間隔分開。這樣,100毫秒的間隔分開了數(shù)據(jù)分組列的一個序列內(nèi)連續(xù)列的發(fā)送起始。這有效地把用于探測網(wǎng)絡(luò)數(shù)據(jù)路徑的負(fù)載降低到所請求的應(yīng)用數(shù)據(jù)速率的10%。網(wǎng)絡(luò)管理員或用戶可以按照期望的可靠性和效率在一個序列的列內(nèi)選擇列數(shù)目。當(dāng)期望較高的可靠性時,可以增加序列內(nèi)的列數(shù)目,從而為排隊延遲的計算提供了附加采樣。另一方面,當(dāng)期望較高的效率時,可以減少序列內(nèi)的列數(shù)目,從而減少用于完成對網(wǎng)絡(luò)數(shù)據(jù)路徑的探測的時間。在某些實施例中,探測模塊(如探測模塊204、224或234)在計算機(jī)系統(tǒng)處提供了一個用戶界面,使得網(wǎng)絡(luò)管理員或用戶可以為這里描述的參數(shù)選擇并且/或者輸入期望的值。用戶界面可能提供參數(shù)值列表,它們可以由網(wǎng)絡(luò)管理員或用戶用輸入設(shè)備來選擇。類似地用戶界面可能提供標(biāo)記的字段,其中網(wǎng)絡(luò)管理員或用戶可以用輸入設(shè)備輸入值。例如,網(wǎng)絡(luò)管理員或用戶可以通過用戶界面來選擇或輸入期望的Acc印table_L0ading值,用于使發(fā)送端和/或接收端數(shù)據(jù)鏈路以及期望的指定瓶頸負(fù)載限制對數(shù)據(jù)流可用的帶寬。同樣,網(wǎng)絡(luò)管理員或用戶可以選擇或輸入?yún)?shù),用于配置數(shù)據(jù)分組列和數(shù)據(jù)分組列的序列,用于主動地探測網(wǎng)絡(luò)數(shù)據(jù)路徑。本發(fā)明可以包含在其他特定形式中,而不背離其精神或基本特征。所述實施例要被視為僅僅是說明性的而不是限制性的。因此,本發(fā)明的范圍是由所附權(quán)利要求指出,而不是由上述描述指出。在權(quán)利要求的等價物的意義和范圍內(nèi)的所有變化都被包含在其范圍內(nèi)。權(quán)利要求一種用在發(fā)送計算機(jī)系統(tǒng)中的方法,所述發(fā)送計算機(jī)系統(tǒng)可以通過計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑與接收計算機(jī)系統(tǒng)進(jìn)行網(wǎng)絡(luò)相連,所述計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑至少包括發(fā)送端數(shù)據(jù)鏈路和接收端數(shù)據(jù)鏈路,所述計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑具有一瓶頸帶寬,所述瓶頸帶寬表示計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑的瓶頸鏈路的帶寬,所述方法主動地探測計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑,從而確定以所請求的數(shù)據(jù)傳輸速率把應(yīng)用數(shù)據(jù)流傳遞到計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑上是否會造成計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑內(nèi)包括的任何數(shù)據(jù)鏈路轉(zhuǎn)變?yōu)閾砣麪顟B(tài),所述方法包括發(fā)送計算機(jī)系統(tǒng)在瓶頸帶寬的特定小部分處把一列診斷數(shù)據(jù)分組發(fā)送到計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑上的行為,所述瓶頸帶寬的特定小部分表示一個診斷數(shù)據(jù)傳輸速率,該速率具有顯著降低了的使其他數(shù)據(jù)流降級的似然性;發(fā)送計算機(jī)系統(tǒng)以所請求的數(shù)據(jù)傳輸速率臨時把一列目標(biāo)數(shù)據(jù)分組發(fā)送到計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑上的行為,該行為能以一種方式來模擬應(yīng)用數(shù)據(jù)流的發(fā)送,所述方式具有降低了的使其他數(shù)據(jù)流降級的似然性;以及接收比較結(jié)果的行為,發(fā)送計算機(jī)系統(tǒng)從接收計算系統(tǒng)接收目標(biāo)數(shù)據(jù)分組與診斷數(shù)據(jù)分組的排隊延遲的比較結(jié)果,指示該列目標(biāo)數(shù)據(jù)分組是否在計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑內(nèi)包括的任何數(shù)據(jù)鏈路上造成擁塞。2.如權(quán)利要求1所述的方法,其特征在于,所述在瓶頸帶寬的特定小部分處把診斷數(shù)據(jù)分組列發(fā)送到計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑上的行為包括發(fā)送診斷數(shù)據(jù)分組列的行為,所述一列診斷數(shù)據(jù)分組列是一個序列的診斷數(shù)據(jù)分組列內(nèi)包括的多個診斷數(shù)據(jù)分組列之一,多個診斷數(shù)據(jù)分組列內(nèi)每一個診斷數(shù)據(jù)分組列的發(fā)送都由一個探測列間隔分開。3.如權(quán)利要求1所述的方法,其特征在于,所述以所請求的數(shù)據(jù)傳輸速率臨時把一列目標(biāo)數(shù)據(jù)分組發(fā)送到計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑上的行為包括發(fā)送一列目標(biāo)數(shù)據(jù)分組的行為,所述一列目標(biāo)數(shù)據(jù)分組是一個序列的目標(biāo)數(shù)據(jù)分組列內(nèi)包括的多個目標(biāo)數(shù)據(jù)分組列之一,多個目標(biāo)數(shù)據(jù)分組列內(nèi)每一個目標(biāo)數(shù)據(jù)分組列的發(fā)送都由一個探測列間隔分開。4.如權(quán)利要求1所述的方法,還包括在發(fā)送一列診斷數(shù)據(jù)分組的行為后,發(fā)送計算機(jī)系統(tǒng)從分組對測試計算出瓶頸帶寬的行為。5.如權(quán)利要求1所述的方法,還包括在發(fā)送一列診斷數(shù)據(jù)分組的行為后,發(fā)送計算機(jī)系統(tǒng)根據(jù)瓶頸帶寬和所請求的應(yīng)用數(shù)據(jù)傳輸速率,確定應(yīng)該以中間診斷數(shù)據(jù)速率把一列中間診斷數(shù)據(jù)分組發(fā)送到接收計算機(jī)系統(tǒng)的行為,所述中間診斷數(shù)據(jù)速率大于所述診斷數(shù)據(jù)速率且小于所請求的應(yīng)用數(shù)據(jù)傳輸速率。6.如權(quán)利要求1所述的方法,還包括在發(fā)送一列診斷數(shù)據(jù)分組的行為后,發(fā)送計算機(jī)系統(tǒng)以中間診斷數(shù)據(jù)速率向接收計算系統(tǒng)發(fā)送一列中間診斷數(shù)據(jù)分組的行為。7.如權(quán)利要求1所述的方法,還包括用戶從發(fā)送計算機(jī)系統(tǒng)處的用戶界面接收用于配置數(shù)據(jù)分組列的用戶選擇的傳輸參數(shù)的行為。8.—種用在接收計算機(jī)系統(tǒng)中的方法,所述接收計算機(jī)系統(tǒng)可以通過計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑與發(fā)送計算機(jī)系統(tǒng)進(jìn)行網(wǎng)絡(luò)相連計算機(jī)系統(tǒng),所述計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑至少包括發(fā)送端數(shù)據(jù)鏈路和接收端數(shù)據(jù)鏈路,所述計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑具有一瓶頸帶寬,所述瓶頸帶寬表示計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑的瓶頸鏈路的帶寬,所述方法主動地探測計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑以確定,以所請求的數(shù)據(jù)傳輸速率把應(yīng)用數(shù)據(jù)流傳遞到計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑上是否會造成包括在計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑內(nèi)的任何數(shù)據(jù)鏈路轉(zhuǎn)變?yōu)閾砣麪顟B(tài),所述方法包括接收計算機(jī)系統(tǒng)至少接收一列診斷數(shù)據(jù)分組內(nèi)包括的某些診斷數(shù)據(jù)分組的行為,這些診斷數(shù)據(jù)分組從發(fā)送計算機(jī)系統(tǒng)被發(fā)送到接收計算機(jī)系統(tǒng),所述診斷分組在瓶頸帶寬的小部分處被接收,以便顯著地降低使其他數(shù)據(jù)流降級的似然性;接收計算機(jī)系統(tǒng)從接收到的診斷分組中標(biāo)識出被延遲的診斷數(shù)據(jù)分組的數(shù)目的行為;接收計算機(jī)系統(tǒng)至少接收一列目標(biāo)數(shù)據(jù)分組內(nèi)包括的某些目標(biāo)數(shù)據(jù)分組的行為,這些目標(biāo)數(shù)據(jù)分組從發(fā)送計算機(jī)系統(tǒng)臨時被發(fā)送到接收計算機(jī)系統(tǒng),用于以降低使其他數(shù)據(jù)流降級的似然性的方式來模擬應(yīng)用數(shù)據(jù)流的發(fā)送;接收計算機(jī)系統(tǒng)從接收到的目標(biāo)數(shù)據(jù)分組中標(biāo)識出被延遲的目標(biāo)數(shù)據(jù)分組的數(shù)目的行為;以及接收計算機(jī)系統(tǒng)把被延遲的目標(biāo)數(shù)據(jù)分組數(shù)目與被延遲的診斷數(shù)據(jù)分組數(shù)目相比較,以確定目標(biāo)數(shù)據(jù)分組列是否在計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑的任何數(shù)據(jù)鏈路上造成擁塞的行為。9.如權(quán)利要求8所述的方法,其特征在于,所述接收被包括在從發(fā)送計算機(jī)系統(tǒng)被發(fā)送到接收計算機(jī)系統(tǒng)的一列診斷數(shù)據(jù)分組內(nèi)包括的至少某些診斷數(shù)據(jù)分組的行為包括接收從一列診斷數(shù)據(jù)分組來的診斷數(shù)據(jù)分組的行為,所述一列診斷數(shù)據(jù)分組是一個序列的診斷數(shù)據(jù)分組列內(nèi)包括的多個診斷數(shù)據(jù)分組列之一。10.如權(quán)利要求8所述的方法,其特征在于,所述從接收到的診斷數(shù)據(jù)分組中標(biāo)識出被延遲的診斷數(shù)據(jù)分組的數(shù)目的行為包括標(biāo)識出未在接收延遲閾值內(nèi)被接收的診斷數(shù)據(jù)分組的行為。11.如權(quán)利要求8所述的方法,其特征在于,所述接收被包括在從發(fā)送計算機(jī)系統(tǒng)臨時被發(fā)送到接收計算機(jī)系統(tǒng)的一列目標(biāo)數(shù)據(jù)分組內(nèi)包括的至少某些目標(biāo)數(shù)據(jù)分組的行為包括接收從一列目標(biāo)數(shù)據(jù)分組來的目標(biāo)數(shù)據(jù)分組的行為,所述一列目標(biāo)數(shù)據(jù)分組是一個序列的目標(biāo)數(shù)據(jù)分組列內(nèi)包括的多個目標(biāo)數(shù)據(jù)分組列之一。12.如權(quán)利要求8所述的方法,其特征在于,所述從接收到的目標(biāo)數(shù)據(jù)分組中標(biāo)識出被延遲的目標(biāo)數(shù)據(jù)分組的數(shù)目的行為包括標(biāo)識出未在接收延遲閾值內(nèi)被接收的目標(biāo)數(shù)據(jù)分組的行為。13.如權(quán)利要求8所述的方法,其特征在于,所述把被延遲的目標(biāo)數(shù)據(jù)分組數(shù)目與被延遲的診斷數(shù)據(jù)分組數(shù)目相比較的行為包括把在接收延遲內(nèi)接收到的目標(biāo)數(shù)據(jù)分組的百分比與在接收延遲內(nèi)接收到的診斷數(shù)據(jù)分組的百分比相比較的行為。14.如權(quán)利要求8所述的方法,還包括在至少接收一列診斷數(shù)據(jù)分組之后,接收計算機(jī)系統(tǒng)以中間診斷數(shù)據(jù)傳輸速率接收一列中間診斷數(shù)據(jù)分組中包括的至少某些中間診斷數(shù)據(jù)分組的行為,所述診斷數(shù)據(jù)分組從發(fā)送計算機(jī)系統(tǒng)被發(fā)送到接收計算機(jī)系統(tǒng),所述中間診斷數(shù)據(jù)傳輸速率大于瓶頸帶寬的小部分并且小于應(yīng)用數(shù)據(jù)流的應(yīng)用數(shù)據(jù)傳輸速率。15.一種計算機(jī)系統(tǒng),被配置成主動地探測計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑以確定是否把應(yīng)用數(shù)據(jù)流傳遞到計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑上會使網(wǎng)絡(luò)數(shù)據(jù)路徑轉(zhuǎn)變?yōu)閾砣麪顟B(tài),所述計算機(jī)系統(tǒng)包括用于在瓶頸帶寬的特定小部分處把一列診斷數(shù)據(jù)分組發(fā)送到計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑上的裝置,所述瓶頸帶寬的特定小部分表示一個診斷數(shù)據(jù)傳輸速率,該速率具有顯著降低了的使其他數(shù)據(jù)流降級的似然性;用于以所請求的數(shù)據(jù)傳輸速率把一列目標(biāo)數(shù)據(jù)分組臨時發(fā)送到計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑上,以便可以以一種方式來模擬應(yīng)用數(shù)據(jù)流的發(fā)送的裝置,所述方式具有降低了的使其他數(shù)據(jù)流降級的似然性;以及用于接收一比較結(jié)果的裝置,該結(jié)果指示該列目標(biāo)數(shù)據(jù)分組是否在計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑內(nèi)包括的任何數(shù)據(jù)鏈路上造成擁塞。16.一種計算機(jī)系統(tǒng),被配置成主動地探測計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑以確定把應(yīng)用數(shù)據(jù)流傳遞到計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑上是否會使網(wǎng)絡(luò)數(shù)據(jù)路徑轉(zhuǎn)變?yōu)閾砣麪顟B(tài),所述計算機(jī)系統(tǒng)包括用于接收在從發(fā)送計算機(jī)系統(tǒng)發(fā)送到接收計算機(jī)系統(tǒng)的一列診斷數(shù)據(jù)分組內(nèi)包括的至少某些診斷數(shù)據(jù)分組的裝置,所述診斷分組在瓶頸帶寬的小部分處被接收,以便顯著地降低使其他數(shù)據(jù)流降級的似然性;用于從接收到的診斷分組中標(biāo)識出被延遲的診斷數(shù)據(jù)分組的數(shù)目的裝置;用于接收在從發(fā)送計算機(jī)系統(tǒng)被臨時發(fā)送到接收計算機(jī)系統(tǒng)的一列目標(biāo)數(shù)據(jù)分組內(nèi)包括的至少某些目標(biāo)分組,以便以降低使其他數(shù)據(jù)流降級的似然性的方式來模擬應(yīng)用數(shù)據(jù)流的發(fā)送的裝置;用于從接收到的目標(biāo)數(shù)據(jù)分組中標(biāo)識出被延遲的目標(biāo)數(shù)據(jù)分組的數(shù)目的裝置;以及用于把被延遲的目標(biāo)數(shù)據(jù)分組數(shù)目與被延遲的診斷數(shù)據(jù)分組數(shù)目相比較以確定該列目標(biāo)數(shù)據(jù)分組是否在計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)路徑的任何數(shù)據(jù)鏈路上造成擁塞的裝置。全文摘要從較被動的測試到較主動的測試的一系列測試中的適當(dāng)判決控制了數(shù)據(jù)流到網(wǎng)絡(luò)數(shù)據(jù)路徑上的準(zhǔn)入。較被動的測試包括混雜模式和分組對測試。當(dāng)較被動測試的結(jié)果指明數(shù)據(jù)流使網(wǎng)絡(luò)數(shù)據(jù)路徑轉(zhuǎn)變?yōu)閾砣麪顟B(tài)的似然性降低時,可以主動地探測網(wǎng)絡(luò)數(shù)據(jù)路徑從而對擁塞的似然性作出更準(zhǔn)確的判決。以診斷數(shù)據(jù)傳輸速率發(fā)送一列診斷數(shù)據(jù)分組,顯著降低了造成擁塞的機(jī)會。以所請求的應(yīng)用傳輸數(shù)據(jù)速率發(fā)送一列目標(biāo)數(shù)據(jù)分組。在特定延遲閾值內(nèi)接收到的目標(biāo)數(shù)據(jù)分組數(shù)目與在延遲閾值內(nèi)接收到的診斷數(shù)據(jù)分組數(shù)目相比較。文檔編號H04L12/28GK101917304SQ20101025715公開日2010年12月15日申請日期2004年3月3日優(yōu)先權(quán)日2003年3月3日發(fā)明者A·基斯迪,A·杜比,C·休特馬申請人:微軟公司