專利名稱:在計算機網(wǎng)絡(luò)的子管道中控制流量的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機網(wǎng)絡(luò),尤其涉及為計算機網(wǎng)絡(luò)提供分類服務(wù)和較好控制的方法和系統(tǒng)。
背景技術(shù):
由于各種網(wǎng)絡(luò)應(yīng)用(如,那些涉及因特網(wǎng)的網(wǎng)絡(luò)應(yīng)用)的使用日益增長,計算機網(wǎng)絡(luò)正在引起人們越來越大的興趣。圖1描述了通常的網(wǎng)絡(luò)10和30通過因特網(wǎng)1相連。網(wǎng)絡(luò)10和30分別包括主機11、12、17、18、21、22和32、34。每個網(wǎng)絡(luò)10和20還分別包括交換機14、16、19和36,并且還可能分別包括一個或多個服務(wù)器,如服務(wù)器15、20、24和38。另外,每個網(wǎng)絡(luò)10和30還可能分別包括一個或多個網(wǎng)關(guān)10和35,以連接因特網(wǎng)1。圖中未示出的路由器和網(wǎng)絡(luò)10和30的其他部分,也可能通過網(wǎng)絡(luò)10和30控制通信量,并且通常被認為自然由交換機14、16、19和36,以及網(wǎng)絡(luò)10和30描述。另外,因特網(wǎng)1包括它自己的交換機和網(wǎng)絡(luò),圖中也未明確示出。
交換機,如交換機14或36和因特網(wǎng)1中與諸如交換機14或16相連的交換機(未示出)分別被認為在網(wǎng)絡(luò)10、30或因特網(wǎng)1的邊緣。這是因為這些交換機直接向?qū)嶓w發(fā)送通信量和/或直接從實體接收通信量,而不是直接在網(wǎng)絡(luò)10、30或因特網(wǎng)1的控制下。例如,一個網(wǎng)絡(luò)管理員或網(wǎng)絡(luò)10的其他用戶可以為網(wǎng)絡(luò)10的使用和執(zhí)行控制參數(shù)設(shè)置。然而,一個典型的網(wǎng)絡(luò)管理員并不控制因特網(wǎng)1,也不可以控制網(wǎng)絡(luò)30。交換機14直接與網(wǎng)關(guān)13相連,以提供對因特網(wǎng)1的訪問。而交換機16和19卻不是這樣,因此交換機13被認為在網(wǎng)絡(luò)10的邊緣。類似地,因特網(wǎng)1的一個交換機(未示出)也與網(wǎng)關(guān)13對接。一個網(wǎng)絡(luò)管理員或其他用戶可以控制因特網(wǎng)1的一些或全部運行,但卻控制不了網(wǎng)絡(luò)10的相應(yīng)部分。這樣一個交換機將被認為在因特網(wǎng)的邊緣。
圖2描述了能夠在計算機網(wǎng)絡(luò)中使用的交換機40的高級框圖。這樣,交換機40可以在因特網(wǎng)1中使用,和為交換機14、16、19和36使用。交換機40包括一個與刀形開關(guān)47、48和49相連的交換機構(gòu)41。每一個刀形開關(guān)47、48和49通常是一個電路板并包括至少一個與端口44相連的網(wǎng)絡(luò)處理器42。這樣,端口44可與交換機所在的網(wǎng)絡(luò)中的主機或其它部件相連。刀形開關(guān)47、48和49可提供進入交換機構(gòu)41的通信量并接收來自交換機構(gòu)41的通信量。因此,與刀形開關(guān)47,48或49中任一個相連接的任何部件均可與連接在另一個刀形開關(guān)47、48或49的另一個部件通信,或與和自身相連的所述刀形開關(guān)相連接的另一部件通信。
圖3A描述了交換機40的另一簡化的框圖,該圖闡明了網(wǎng)絡(luò)處理器51和55執(zhí)行的一些功能。交換機40連接與端口A52連接的部件和與端口B76連接的部件。交換機40執(zhí)行各種功能,包括進入交換機40的數(shù)據(jù)分組的分類,傳輸通過交換機40的數(shù)據(jù)分組和重裝數(shù)據(jù)分組。這些功能分別由分類器58、交換機構(gòu)64和重裝器70提供。分類器58將進入的分組分類并分割每個分組為適宜長度的片段,該片段稱為信元。交換機構(gòu)64是一個連接距陣,信元被通過它按照各自的路徑傳輸通過交換機40。重裝器70重裝信元為正確的分組。分組可被提供給適當(dāng)?shù)亩丝贐76,并輸出到目的主機。分類器54可以是網(wǎng)絡(luò)處理器51的一部分,同時重裝器70可以是另一個網(wǎng)絡(luò)處理器55的一部分。上述的網(wǎng)絡(luò)處理器51和55分別執(zhí)行從端口B76輸出并向端口A52輸入通信量的功能。而且,網(wǎng)絡(luò)處理器51和55也分別執(zhí)行從端口B76輸出通信量和輸入到端口A52的功能。因此,每一個網(wǎng)絡(luò)處理器51和55能執(zhí)行分類和重裝的功能。
由于在傳輸通信量通過交換機40時的瓶頸,可以要求數(shù)據(jù)分組先等待分類、傳輸和重裝功能的執(zhí)行。結(jié)果是,產(chǎn)生隊列56、62、68和74。與隊列56、62、68和74相連的是排隊機構(gòu)54、60、66和72。排隊機構(gòu)54、60、66和72把分組或信元放置到相應(yīng)的隊列56、62、68和74中并提供一個通知發(fā)送回產(chǎn)生分組的主機。
盡管隊列56、62、68和74被獨立描述,但技術(shù)中的通常技巧將很容易認識到隊列56、62、68和74中的一些或全部可以是同一物理存儲器資源的一部分。圖3B描述了這樣一個交換機40’。交換機40’的許多部件與交換機40的部件是類似的。這些部件也因此有類似標識。例如,在交換機40’中的端口A52’對應(yīng)與交換機40中的端口A52。在交換機40’中,隊列54和隊列62共享一個單獨的存儲器資源59。類似地,隊列68和隊列74是另一個單獨的存儲器資源71的一部分。這樣,在交換機40’中,隊列56、62、68和74是從存儲器資源59和71劃分的邏輯隊列。
目前,大多數(shù)常規(guī)交換機40處理通過網(wǎng)絡(luò)的通信流量,在網(wǎng)絡(luò)中交換機的使用是相同的。然而,有一種為客戶提供不同服務(wù)的趨勢,如基于客戶為服務(wù)所支付的費用。一些客戶可能希望多花費用以確保較快速的響應(yīng)或確保即使因擁塞造成其他客戶的通信量下降時他的通信量也能被傳送。因此,已經(jīng)開發(fā)了分類服務(wù)(differentiatedservices)的概念。分類服務(wù)能提供不同的服務(wù)級別,或為不同的客戶提供不同的通過網(wǎng)絡(luò)的通信流量。
DiffServ是一個為提供分類服務(wù)而制定的因特網(wǎng)網(wǎng)絡(luò)工程部(IETF)標準(參見IETF RFC 2475和相關(guān)的RFCs)。DiffServ基于行為聚集流。一個行為聚集流可視為從一個網(wǎng)絡(luò)邊緣到另外一個網(wǎng)絡(luò)邊緣的管道。在每一個行為聚集流中,可能有單獨主機間的數(shù)百個會話。然而,DiffServ對行為聚集流中的會話無關(guān)。相反,DiffServ關(guān)心的是行為聚集流之間帶寬的分配。根據(jù)DiffServ,額外的帶寬在行為聚集流之間公平地分配。而且,DiffServ提供標準來測量提供給每一個行為聚集流的服務(wù)級別,這在下面討論。
提供不同服務(wù)級別的一個通常機制是利用權(quán)重和隊列級別的組合,以提供不同服務(wù)級別,例如,San Jose,California的Cisco SystemsInc.提供的產(chǎn)品。圖4描繪了這樣一個通常的方法80。隊列級別閾值和權(quán)重通過步驟82設(shè)置。典型的情況是,在步驟82中通過網(wǎng)絡(luò)管理員調(diào)整或“調(diào)節(jié)”來設(shè)置隊列級別閾值。通過某一隊列、交換機40或網(wǎng)絡(luò)處理器42可以為不同的管道或流量設(shè)置權(quán)重。因此,權(quán)重典型的是為不同的行為聚集流設(shè)置。通過步驟84,典型的情況下在一個時間周期的末端觀察隊列級別。通過步驟86,然后,基于隊列級別與隊列級別閾值的比較結(jié)果和權(quán)重改變管道流。具有較高權(quán)重的管道流在步驟86中經(jīng)歷巨大變化。管道流確定提供給一個隊列,如隊列56的通信量,通過相應(yīng)的排隊機構(gòu),如排隊機構(gòu)54通過管道被傳送到隊列56中。通過步驟88,通信量就這樣基于流量被傳送到隊列或被丟棄。通過步驟90,網(wǎng)絡(luò)管理員然后確定當(dāng)前的服務(wù)級別是否理想。如果理想,網(wǎng)絡(luò)管理員就完成了擁塞避免。然而,如果沒有獲得理想的服務(wù)級別,那么,通過步驟82隊列級別閾值、權(quán)重可能都要重新設(shè)置并重復(fù)方法80。與常規(guī)方法80相關(guān)的信息可以在http//www.cisco.com/univercd/cc/td/doc/product/software/ios120/12cqcr/qosc/qcpart2/qcconman.htm中找到。
盡管常規(guī)方法80能發(fā)揮作用,但技術(shù)中的通常技巧將很容易認識到通過網(wǎng)絡(luò)確定改變隊列級別閾值將對某管道的影響是困難的。因此,網(wǎng)絡(luò)管理員使用方法80在為不同的客戶或管道(行為聚集流)在一個計算機網(wǎng)絡(luò)中達到理想的流量速率前,不得不做大量的試驗。
而且,方法80間接操作典型用于測量服務(wù)質(zhì)量的參數(shù)。隊列級別不是一個典型的用于服務(wù)的測量標準。典型的是,例如在DiffServ中(參見IETF RFC 2475和相關(guān)的RFCs),服務(wù)級別通過四個參數(shù)測量丟棄率、帶寬、等待時間和抖動。丟棄率是指在通信量通過交換機時被丟棄的百分比。行為聚集流帶寬是對通過交換機并到達目的地的行為聚集流的通信總量的測量。等待時間是通過網(wǎng)絡(luò)發(fā)送通信量中出現(xiàn)的延遲。抖動是等待時間隨時間的改變。隊列級別不被認為是一個服務(wù)質(zhì)量的直接測量。因此,方法80并不直接提出針對服務(wù)質(zhì)量的任何標準。因此,對網(wǎng)絡(luò)管理員來說,利用方法80提供不同的服務(wù)級別也更加困難。另外,方法80為行為聚集流進行流量控制。方法80并不能在一個比這更好的級別上控制通信量。
其他常規(guī)的控制通信量的方法為利用流量、最小流量速率、權(quán)重、優(yōu)先級、閾值和一個指示額外帶寬或傳輸通信量能力存在的信號來控制流量。然而,常規(guī)的方法是基于直覺,且表面看來有說服力,但沒有實際上的基于控制理論的依據(jù)支持。這種常規(guī)方法控制通信量通過交換機是否是一個穩(wěn)定的機制還不清楚。因此,這種常規(guī)方法不能夠充分控制通信量通過交換機40。
另外,另一個IETF建議是適用集成服務(wù)的IntServ。在IntServ中,網(wǎng)絡(luò)中每個流量總是被控制。因此,IntServ建議控制網(wǎng)絡(luò)的每一個行為聚集流或管道中的每一個單獨的流量。結(jié)果是,IntServ可被用來提供分類服務(wù)。然而,快速地在全部時間控制所有的流量是不切實際的。尤其是,隨著網(wǎng)絡(luò)和通過網(wǎng)絡(luò)的通信量的增長,在網(wǎng)絡(luò)中流量數(shù)也快速增長。對于大多數(shù)的網(wǎng)絡(luò),在全部時間控制網(wǎng)絡(luò)中的每一個流量將耗費巨大的資源,且很難完成。因此,IntServ也不能充分控制通過網(wǎng)絡(luò)的通信量。
因此,所需的是為提供更好的分類服務(wù)和在一個較好水平上控制流量的系統(tǒng)和方法。本方法專注于這樣一種需要。
發(fā)明內(nèi)容
本發(fā)明提供了控制在計算機網(wǎng)絡(luò)中的多個子管道的方法和系統(tǒng)。計算機網(wǎng)絡(luò)包括至少一個交換機。多個子管道利用交換機通過網(wǎng)絡(luò)傳輸通信量。該方法和系統(tǒng)包括允許為多個子管道的每一個設(shè)置最小流量和確定管道是否存在擁塞。該方法和系統(tǒng)還包括只有當(dāng)存在擁塞時控制多個子管道的子管道中的流量控制。該流量控制在多個子管道的子管道流量小于最小流量的情況下,子管道的流量可線性提高。該流量控制在流量大于最小流量的情況下,多個子管道的子管道流量可指數(shù)性降低。使得通過交換機的通信量穩(wěn)定。
按照這里公開的系統(tǒng)和方法,當(dāng)考慮分類服務(wù)時,本發(fā)明以一個較好水平提供一種穩(wěn)定、可行的機制以控制通過一個網(wǎng)絡(luò)的通信量。另外,本發(fā)明可被用來在網(wǎng)絡(luò)邊緣控制通過網(wǎng)絡(luò)的通信量,因此,允許在網(wǎng)絡(luò)內(nèi)部消除冗余控制。
本發(fā)明的優(yōu)選實施例將參照下圖描述圖1是根據(jù)現(xiàn)有技術(shù)的計算機網(wǎng)絡(luò)的結(jié)構(gòu)圖;圖2是根據(jù)現(xiàn)有技術(shù)的交換機的高級結(jié)構(gòu)圖;圖3A是根據(jù)現(xiàn)有技術(shù)的交換機的簡化結(jié)構(gòu)圖;圖3B是根據(jù)現(xiàn)有技術(shù)的另一個交換機的簡化結(jié)構(gòu)圖;圖4是描述根據(jù)現(xiàn)有技術(shù)通過交換機提供不同級別服務(wù)的常規(guī)方法的流程圖;圖5是描述本發(fā)明可被使用的網(wǎng)絡(luò)圖;圖6是描述為控制通信量并在子管道中提供不同級別服務(wù),依照本發(fā)明方法的高級流程圖;圖7A和7B描述了為控制通信量并在子管道中提供不同級別服務(wù),依照本發(fā)明方法的更為詳細的流程圖;圖8是描述為確定管道中是否存在擁塞,依照本發(fā)明方法的首選現(xiàn)在參照圖5可獲得依照本發(fā)明的方法和系統(tǒng)的更詳細的闡述,該圖描繪了本發(fā)明可被使用的優(yōu)選實施例網(wǎng)絡(luò)10’和30’以及因特網(wǎng)1。網(wǎng)絡(luò)10’和30’以及因特網(wǎng)1’基本上與圖1中的網(wǎng)絡(luò)10和30以及因特網(wǎng)1相同。然而,也示出了控制點25、26、27和37??刂泣c25、26、27和37最好是與交換機14’、16’、19’和36’連接的普通用途計算機??刂泣c25、26、27和37最好執(zhí)行與矩陣和在檢測過濾規(guī)則中使用的位選擇相關(guān)的功能,這在下面討論。交換機14’、16’、19’和36’最好包括軟件管理決策樹(圖5中未示出),這在下面討論,并使用決策樹確定一個關(guān)鍵字是否匹配一個或多個過濾規(guī)則。另外,交換機14’、16’、19’和36’最好與圖2、3A和3B中描述的交換機40和40’一樣。盡管網(wǎng)絡(luò)10’、30’和因特網(wǎng)1’優(yōu)先使用,但網(wǎng)絡(luò)10和30以及因特網(wǎng)1也可結(jié)合本發(fā)明使用。
現(xiàn)在參照圖6可獲得依照本發(fā)明的方法和系統(tǒng)的更詳細的闡述,該圖描繪了依照本發(fā)明方法100的實施例。方法100最好使用美國專利申請?zhí)朜o.09/384,691,1999年8月27日申請,標題為“NETWORKPROCESSING COMPLEX AND METHODS”中公開的設(shè)備完成,該申請轉(zhuǎn)讓給本申請的受讓人。
可通過圖2、3A和3B中所示的交換機40或40’使用方法100。因此,方法100可在具有多刀形開關(guān)47、48、49和在每個刀形開關(guān)具有多端口的交換機中執(zhí)行。為清楚起見,方法100將結(jié)合圖3A中描述的隊列74和排隊機構(gòu)72加以解釋。然而,可通過其它隊列,如隊列56、62、68、56’、62’、68’和74’,使用方法100。也可通過其它排隊機構(gòu),如排隊機構(gòu)54、60、66、54’、60’、66’和72’,使用方法100。在優(yōu)選實施例中,方法100在多隊列是相同存儲器資源一部分的系統(tǒng)中使用。然而,方法100也可在每個隊列具有獨立存儲器資源的另一個系統(tǒng)中使用。方法100最好在位于網(wǎng)絡(luò)邊緣的交換機中使用,如圖1和5中描述的交換機14或14’。另外,方法100最好僅使用于位于網(wǎng)絡(luò)邊緣的交換機中,而不在網(wǎng)絡(luò)內(nèi)部的交換機中使用。另外,盡管方法100最好用于控制到達隊列的子管道并使用排隊機構(gòu)執(zhí)行,但并不阻止該方法被交換機的其它部分使用。
方法100用于在網(wǎng)絡(luò)中為子管道控制流量。每個子管道是管道的一部分。管道也通過網(wǎng)絡(luò)流動。因此,特定網(wǎng)絡(luò)的管道可以被認為在網(wǎng)絡(luò)邊緣終止。最好,每個管道都是一個行為聚集流。一個子管道是管道中流量的組合。因此,子管道也可以被認為在網(wǎng)絡(luò)邊緣終止。換句話說,管道和子管道定義在網(wǎng)絡(luò)內(nèi)。一個子管道可能包括一個單一流或包括管道中流量的組合。方法100還最好僅在網(wǎng)絡(luò)邊緣的交換機中使用,在所述網(wǎng)絡(luò)邊緣處子管道和管道終止。然而,方法100也可使用在網(wǎng)絡(luò)內(nèi)部的交換機中。
參照圖3A和6,通過步驟102,可設(shè)置提供通信量到交換機40的特定管道的子管道的最小流量。在步驟102中設(shè)置的最小流量最好是保證提供給子管道的最小流量。因此,在步驟102中設(shè)置的最小流量對應(yīng)于子管道總是被允許消耗的帶寬總量。因此,最小流量最好這樣設(shè)置,如果每個子管道傳送的流量等于最小流量時,管道將不擁塞并且通信量將以理想的參數(shù)傳播通過交換機和網(wǎng)絡(luò)。當(dāng)通過子管道的通信量比較小時,子管道可傳送小于最小流量的通信量。子管道也可以被允許傳送比最小流量多的通信量。也是在優(yōu)選實施例中,可以設(shè)置最大可能流量,可能用于拒絕服務(wù)攻擊。在優(yōu)選實施例中,為進入某一隊列的子管道設(shè)置最小流量,如隊列74。另外,每個子管道最好以某一給定速率,Ii(t),向隊列74提供通信量,這里,i代表第i個子管道。依賴不同的因素,一些通信量可能被丟棄而不是進入隊列。第i個子管道的傳輸片斷,Ti(t),是來自傳送到隊列74’的第i子管道的通信量的片斷。因此,第i個子管道的瞬時流量是fi(t)=Ii(t)*Ti(t)。
通過步驟104,確定其子管道受控的管道是否擁塞。某一管道可基于多種因素被確定為擁塞。這些因素典型地基于流過管道的分組或通信量來估計。注意,這里使用的分組是指各種類型的數(shù)據(jù)分組,包括但不僅限于以太網(wǎng)分組(通常稱幀),ATM分組(通常稱信元)和IP分組(通常稱分組)。確定管道中是否擁塞的一些因素包括某一分組從發(fā)送者到達接收者以及接收者發(fā)回確認所花費的時間、同步分組的數(shù)目、往返時間(RTF)和顯式擁塞通知(ECN),這些因素可以為分組提供,下面參照圖8-11討論。返回參照圖6,一般說來,當(dāng)管道傳送足夠大的通信量,以致于以一個如網(wǎng)絡(luò)管理員的用戶認為不能接受的比率延遲或丟棄分組時,管道可以被認為擁塞。
如果確定擁塞不存在,通過步驟108,子管道中的流量不被控制。因此,當(dāng)管道的執(zhí)行被認為可以接受時,交換機40并不需要擴充資源以控制子管道中的流量。然而,如果確定擁塞存在,那么通過步驟106,子管道中的流量被控制特定的時間,T。子管道控制的特定時間T典型是用于更新傳輸片斷的時間增量Dt的許多倍(也許是一千或一百萬倍)。這樣,在T期間,如果擁塞信號當(dāng)前指示擁塞,那么,只要擁塞持續(xù)且流量保持在保證最小速率之上,那些在其保證最小速率之上的子管道中的流量就呈指數(shù)性減少。另外,注意T和Ti的區(qū)別,T是指子管道中控制流量的時間間隔,Ti是指為某一子管道的傳輸片斷。在優(yōu)選實施例中,步驟106包括指數(shù)性降低流量大于相應(yīng)在步驟102中設(shè)置的最小流量的子管道中的流量。因此,子管道的流量與子管道流量值成比例降低。也在優(yōu)選實施例中,步驟106可包括使其流量小于或等于相應(yīng)最小流量的子管道流量保持不變,至少是在開始時。然而,在時間間隔T期間,如果擁塞不被即刻指示,那么那些在其最大速率之下的子管道的流量被允許線性提高。特別地,當(dāng)子管道繼續(xù)被控制時,那些其流量在設(shè)定的最小值之下的子管道保持不變或允許線性提高,那些如果在其最大流量(如果設(shè)置的話)之上的子管道將被迫降低,和那些其流量位于最小和最大值之間的子管道被允許線性提高或被迫指數(shù)性降低。在步驟106繼續(xù)控制流量時,尤為如此。因為流量被指數(shù)性降低或被線性提高,子管道的流量以一個穩(wěn)定的方式被控制。步驟106最好包括為被控的子管道設(shè)置傳輸片斷。也在步驟106中,使用傳輸片斷控制進入隊列子管道的分組數(shù)目。
因此,方法100僅在管道擁塞時控制子管道中的流量。結(jié)果是,方法100在擁塞不存在時不會不必要地消耗資源,因此,通信量理想地流過網(wǎng)絡(luò)。而且,因為方法100可線性提高和指數(shù)性降低子管道中的流量,通過子管道的流量控制將是穩(wěn)定的。方法100也最好僅在網(wǎng)絡(luò)邊緣執(zhí)行,比如在圖5中描繪的網(wǎng)絡(luò)10’的交換機14’中。然而,管道和子管道因此流過整個網(wǎng)絡(luò)10’。因此,在網(wǎng)絡(luò)邊緣,圖6的方法100通過控制子管道控制網(wǎng)絡(luò)的整個管道的擁塞。方法100不必在網(wǎng)絡(luò)中的其它點執(zhí)行。因此,在計算上昂貴和不必要的子管道冗余控制可以被避免。然而,即使當(dāng)其它機構(gòu)在網(wǎng)絡(luò)中心和/或邊緣執(zhí)行時,方法100也可結(jié)合這種其它機構(gòu)使用,以在網(wǎng)絡(luò)中控制通信量。
圖7A和7B描繪了根據(jù)本發(fā)明用于在子管道中控制流量的方法110的一個實施例更為詳細的流程圖。方法110最好在為被控的子管道設(shè)置最小流量后開始。
方法110將在為某一管道的子管道控制流量的上下文里加以描述。然而,本領(lǐng)域技術(shù)人員將很容易認識到方法110可擴充為與多管道一同使用。另外,方法110類似于方法100,并因此可使用相同的設(shè)備執(zhí)行。設(shè)置子管道的最小流量后,通過步驟112基于子管道的最小和最大(如果設(shè)置)流量為每個子管道計算常量。對每一個子管道i,在步驟112中計算常量Ci和常量Di。常量Ci用于為子管道i線性提高流量,這在下面討論。類似地,常量Di用于為子管道i指數(shù)性降低流量,這在下面討論。在優(yōu)選實施例中,常量Ci和Di都是基于最小流量。在另一個實施例中,可以為不同的子管道提供權(quán)重。在這種情況下,常量Ci和Di也可基于提供的權(quán)重計算。
一旦常量確定,通過步驟114,通信量允許通過子管道流向隊列74。通過步驟116,然后確定管道是否擁塞。在優(yōu)選實施例中,步驟116通過使用每個被監(jiān)視管道的管道擁塞級別(PCL)信號執(zhí)行。管道的PCL位于0和1之間。PCL越接近1,管道越擁塞。因此,0和1之間的閾值可被設(shè)置為擁塞閾值。步驟116將確定管道的PCL。如果管道的PCL小于或等于這個閾值,步驟116將指示擁塞不存在。如果PCL大于這個閾值,那么步驟116將確定擁塞在管道中存在。如果沒有擁塞,那么,通過步驟134確定時間段是否結(jié)束,在該時間段中可能希望執(zhí)行控制。因此,如果沒有擁塞,那么子管道流量可以不被控制。
如果在步驟116中確定擁塞存在,那么通過步驟118和132控制子管道中的流量。如果不是已經(jīng)可用,通過步驟118,為以前的時間段確定隊列級別,一個瞬時額外帶寬信號B,用二進制值0或1表示,和額外帶寬值E,用0和1之間的數(shù)值表示。在優(yōu)選實施例中,在步驟118也使以前的時間段的子管道流量可用。換句話說,在步驟118確定在方法110中更新系統(tǒng)所必須的數(shù)量。在優(yōu)選實施例中,步驟118通常是不必要的,因為上面提及的數(shù)量在以前的時間段使用方法110確定。隊列級別是子管道正在流向其中的隊列的級別。隊列級別可定義為最大隊列級別的片斷。例如,隊列級別可以是圖3A的隊列74的滿級別的一部分。返回參照圖7A和7B,在優(yōu)選實施例中,被確定的隊列級別是整個存儲器資源的級別。然而,阻止不了為邏輯隊列或子隊列確定隊列級別。在下面討論瞬時額外帶寬信號,B,用二進制值0或1表示,和額外帶寬值,E,用0和1之間的數(shù)值表示。
通過步驟120確定是否存在額外帶寬。在一個實施例中,只有當(dāng)如隊列74的隊列級別是0或低于一個小值或正在降低時,確定額外帶寬存在。然而,確定是否存在額外帶寬最好依賴于往返時間或其它參數(shù)、或在這種測量中的變化的單一確定。如下描述,這些其它參數(shù)也可用于測量擁塞。因此,在優(yōu)選實施例中,可認為使用了擁塞的兩個定義。擁塞的第一個定義,在步驟116中,被用來觸發(fā)子管道的流量控制。擁塞的第二個定義可用在步驟120中,以確定額外帶寬是否存在。在步驟120中使用的擁塞的第二個定義可以不同于擁塞的第一個定義。例如,在步驟120中擁塞的第二個定義,在流量速率低于步驟116中使用的第一個擁塞定義時,可認為擁塞存在。另外,額外帶寬的定義,和擁塞的第二個定義,可隨時間間隔T而改變。例如,在時間間隔T的早期,額外帶寬的定義可能包括擁塞測量,以確保子管道中的流量將被控制以減少擁塞。在時間間隔T的晚期,額外帶寬定義可能改變以排除擁塞,為被認為存在的擁塞提高所需流量和/或僅依賴于其它參數(shù),比如隊列級別。特別地,隊列級別和最大緩沖區(qū)容量(稱為凈空間)的區(qū)別可用于定義擁塞。然而,阻止不了用于確定額外帶寬是否存在的另一個標準的使用。一般說來,瞬時額外帶寬信號指示在以前的時間段額外資源是否存在于交換機40,或整個管道中,以處理額外的通信量。如果額外帶寬不存在,那么瞬時額外帶寬信號,B,通過步驟122設(shè)置為0。信號B被稱為瞬時的,是因為它基于隊列級別、往返時間、或其它參數(shù)的單一測量或在這種測量中的變化的單一確定。這樣,因為額外帶寬的定義可依賴于擁塞,所以,瞬時額外帶寬信號,B,也可依賴于用于確定額外帶寬是否存在的擁塞。通過步驟124,額外帶寬值,E,指數(shù)性提高到1(例如,如果沒有擁塞)或降低到0(例如,如果有擁塞)。在優(yōu)選實施例中,額外帶寬值是瞬時額外帶寬信號的指數(shù)性加權(quán)平均值。因此,額外帶寬值提供在以前的時間段上可獲得的資源的度量。另外,因為額外帶寬值,E,依賴于瞬時額外帶寬信號,B,所以,額外帶寬值,E,也可依賴于擁塞的存在,如用于確定是否存在額外帶寬那樣。
如果在步驟120中確定額外帶寬存在,那么,通過步驟126,瞬時額外帶寬值被設(shè)置為1。通過步驟128,額外帶寬值被設(shè)置為瞬時額外帶寬信號的指數(shù)性加權(quán)平均值。在優(yōu)選實施例中,額外帶寬值是第一個常量乘以以前的額外帶寬值,再加上第二個常量乘以瞬時額外帶寬值。在步驟122和124或步驟126和128中設(shè)置的瞬時額外帶寬信號,B,和額外帶寬值,E,的值將最好使用于下一個時間段,以為子管道更新流量控制。
在優(yōu)選實施例中,通過步驟130,與步驟120到128并行地為每個子管道i設(shè)置傳輸片斷。然而,在另一個實施例中,可以與瞬時額外帶寬信號,B,和額外帶寬值,E串行地更新傳輸片斷。如果管道流量在最大級別以上,那么,最好通過設(shè)置傳輸片斷為31/32乘以以前的傳輸片斷來指數(shù)性降低流量。如果管道流量不在最大級別以上,那么,傳輸片斷如下改變。如果以前的瞬時額外帶寬信號,B,是1(額外帶寬可獲得),那么,步驟130將基于以前的傳輸片斷、常量Ci、和額外帶寬值為每一個子管道i設(shè)置傳輸片斷。最好,在步驟130中為以前存在的額外帶寬設(shè)置的傳輸片斷是Ti(t+Dt)=Ti(t)+Ci*E(t)Dt其中Dt=時間段的長度(自傳輸片斷上次被計算以后的時間)最好,設(shè)置流量單元以使Dt和最大可能隊列級別,Qmax,為1。因此,如果額外帶寬存在,子管道的傳輸片斷可線性提高。而且,只要額外帶寬繼續(xù)存在,傳輸片斷就可以繼續(xù)線性提高。然而,注意在優(yōu)選實施例中,當(dāng)子管道首次被控制時(當(dāng)?shù)谝淮未_定管道中擁塞存在),通常將沒有額外帶寬。因此,子管道流量將不提高。因此,在步驟116中做出的控制子管道的決定是基于管道中擁塞開始的一個定義。子管道控制實施時間間隔T,該時間間隔T通常是時間段的時間增量Dt的許多倍。最初,在T期間,子管道流量很可能被迫降低,以響應(yīng)上面通?;诠艿罁砣诙€定義的機制。擁塞第二個定義,至少在時間間隔T的早期用于確定是否存在額外帶寬。然而,在時間間隔T中,可能存在子管道流量速率實際提高的時刻。在經(jīng)過一些時間段后,接近時間間隔T末端時尤其如此。因此,擁塞的一個定義可用于開始子管道中的流量控制。擁塞的第二個定義在定義額外帶寬中被使用,以允許瞬時額外帶寬信號,B,是0或1,從而允許子管道中的流量在時間間隔T期間即可提高又可降低。
如果在以前的時間段(B是0)額外帶寬不存在并且子管道傳送比它最小流量大的通信量,那么,在步驟130中子管道i的傳輸片斷Ti(t+Dt)基于子管道以前的傳輸片斷Ti(t)、Di,和以前的子管道流量fi(t),被設(shè)置。若B=0且子管道傳送比它最小流量大的流量,則傳輸片斷最好通過下式獲得Ti(t+Dt)=Ti(t)-Di*fi(t)另外,當(dāng)B=0時,若子管道傳送它的最小流量或更少的流量,則傳輸片斷最好通過下式獲得Ti(t+Dt)=Ti(t)因此,在步驟130中設(shè)置的傳輸片斷確保,只要額外帶寬繼續(xù)不存在,傳送大于它們最小流量的子管道的傳輸片斷,和這些子管道的流量就呈指數(shù)性降低。常量Ci和Di最好基于最小流量值。另外,在優(yōu)選實施例中,當(dāng)控制第一次施加時,由于管道中的擁塞,額外帶寬將不存在。因此,超過它們最小流量的子管道的流量將通過使用傳輸片斷被指數(shù)性降低。沒有超過它們最小流量的子管道的流量將在額外帶寬不存在時保持不變。由于子管道最小值的設(shè)置最好是,如果每個子管道傳送等于最小流量的流量,擁塞將不存在,所以擁塞因此得到控制。從而,若擁塞存在,至少有一個子管道傳送比它最小流量大的流量。因此,指數(shù)性減少這些子管道的流量可糾正擁塞。如上討論,當(dāng)額外帶寬可得到時,所有子管道的流量可線性提高。因此,擁塞可被控制且子管道的流量以一種穩(wěn)定的方式調(diào)節(jié)。
使用在步驟130中計算的傳輸片斷,通過步驟132,經(jīng)過交換機40的分組在時間段期間被傳輸或丟棄。分組最好通過不允許分組進入某一隊列,如隊列74,被丟棄。在優(yōu)選實施例中,分組的丟棄不僅基于其流經(jīng)管道的傳輸片斷,而且基于每個分組的優(yōu)先級。在另一個實施例中,分組被隨機丟棄。另外,可使用丟棄片斷,而不使用傳輸片斷。子管道丟棄片斷是1減去傳輸片斷。這樣,丟棄片斷指示,為使某一子管道獲得理想的傳輸片斷,或通信流量,應(yīng)該被丟棄的分組片斷。
通過步驟134,確定時間段是否完成。如果沒有完成,通過步驟132,基于同樣的傳輸片斷繼續(xù)傳輸通信量。如果時間段已經(jīng)完成,那么,重復(fù)從步驟116開始的方法。然而,在一個實施例中,當(dāng)方法110重復(fù)時,步驟116(確定擁塞是否存在)可跳過某一時間周期或多個時間段。跳過步驟116允許子管道中的流量控制在擁塞不再存在之后,繼續(xù)某一時間量。換句話說,跳過步驟116允許被設(shè)置用來控制子管道中流量的時間,T,截止。在這樣一個實施例中,允許高度控制子管道,并且允許提高子管道中的流量以確保額外帶寬的分配。
方法110執(zhí)行的時間段長度,Dt,最好在方法110開始之前被設(shè)置。然而,在另一個實施例中,時間段的長度可能改變。另外,時間段的時間標度最好相對長些,或許是1到10毫秒或更長。應(yīng)該設(shè)置時間段長度,以說明管道和子管道末端之間的延遲。這是因為在方法100中子管道的控制,根據(jù)是否存在擁塞和可否得到額外帶寬,在時間段末端可以改變。為確保在一個時間段執(zhí)行的控制有機會清除管道中的擁塞和能夠給方法100或110提供正確的反饋,分組應(yīng)該有充足的時間到達目的地并提供關(guān)于是否已經(jīng)到達目的地的通知(如果有的話)。換句話說,時間段的長度應(yīng)該足夠長,以允許傳輸片斷中的改變生效并向系統(tǒng)提供關(guān)于傳輸片斷的影響的信息。
因為方法110線性提高流量和指數(shù)性降低流量,所以方法110類似于方法100且提供許多相同的好處。因此,方法110可確保通過子管道的通信量能自動、漸進地達到穩(wěn)定性。而且,每個管道流量的提高和降低將依賴于管道的最小流量和管道以前的流量。因此,不同管道可以有不同的流量級別,或服務(wù)。結(jié)果是,方法110可產(chǎn)生穩(wěn)定的行為,公平分配額外帶寬并提供分類服務(wù)。然而,注意,盡管方法110公平分配額外帶寬,但控制通過子管道的流量和管道中的擁塞時可以不考慮公平分配資源。為了為不同子管道或客戶提供不同的服務(wù)級別,所有網(wǎng)絡(luò)管理員或其他用戶都應(yīng)該做的是,依賴于某一客戶想要的服務(wù)水平,為客戶設(shè)置不同的最小流量,如果需要的話,還有最大流量。因此,方法110可通過想要為不同客戶或不同媒體提供不同服務(wù)級別的因特網(wǎng)服務(wù)提供商在多種應(yīng)用中使用,如使用DiffServ的網(wǎng)絡(luò)。
另外,方法100和110可以僅在使用方法100或110控制的網(wǎng)絡(luò)邊緣使用。例如,對網(wǎng)絡(luò)10’,方法100和110可以僅在交換機14’,也就是管道的入口中執(zhí)行。因此,計算上相對昂貴的子管道流量控制,不必要在整個網(wǎng)絡(luò)10’中執(zhí)行。然而,網(wǎng)絡(luò)10’中的管道和子管道通常通過整個網(wǎng)絡(luò)10’定義。因此,通過控制僅在邊緣的子管道流量,可確保整個網(wǎng)絡(luò)10’的相應(yīng)管道不擁塞。從而,不用執(zhí)行冗余計算和整個網(wǎng)絡(luò)的子管道控制就能控制擁塞。然而,其它控制方法(最好更簡單)也可在網(wǎng)絡(luò)的相同交換機和其它交換機中結(jié)合方法100和110一起使用。例如,在共同待審并且轉(zhuǎn)讓給本申請的受讓人的PCT專利申請?zhí)朜o.GB00/04410,標題為“在計算機網(wǎng)絡(luò)中控制分組傳輸?shù)姆椒ê拖到y(tǒng)”中描述了一種控制流量的方法。在上面提及的共同待審申請中描述的在管道中控制流量的方法可與本發(fā)明一起使用。因此,至少可提供兩個控制級別,子管道的較好級別,和子管道的一般級別。
可使用多種機制確定在圖6、7A和7B中分別描述的方法100和110的步驟104和116中是否存在擁塞。圖8-11描述了用這種方法確定某一管道中是否存在擁塞的實施例。然而,在圖8-11中描述的方法可用于多個管道,可被組合使用,且可使用其它方法(未示出)。另外,圖8-11描述的方法可用于擁塞的第二個定義,該定義可用于方法110的步驟120中,以確定額外帶寬是否存在。
圖8描述了為確定擁塞是否存在的方法140的一個實施例。方法140利用ECN。ECN在IETF建議RFC2481中描述,該建議適用如TCP的協(xié)議。在ECN中,分組中兩個未使用位被用來指示擁塞。支持ECN且分組從中經(jīng)過的交換機設(shè)置首位。分組從中經(jīng)過的支持ECN的交換機設(shè)置第二位,前提是支持ECN的交換機擁塞。因此,位組合指示分組流經(jīng)其中的子管道的至少一個交換機是否擁塞。這些位典型在分組從源到目的地流動時設(shè)置。當(dāng)接收方(目的地)發(fā)回一個確認時,保存這兩個位的合成,并提供給源(發(fā)送者)。因此,由這兩位代表的ECN可被用來確定管道是否擁塞。
特別地,通過步驟142,確定ECN指示經(jīng)過擁塞交換機的分組數(shù)的度量。在一個實施例中,步驟142包括確定流經(jīng)ECN指示經(jīng)過一個擁塞交換機的管道的分組片斷。如上討論,該片斷可被用作PCL。然后通過步驟144確定擁塞是否存在(如為ECN定義的那樣)。在一個實施例中,步驟144包括確定ECN指示經(jīng)過一個擁塞交換機的分組片斷是否大于某個閾值。然而,一些其它的使用ECN的擁塞統(tǒng)計度量可被使用。如果確定沒有超過閾值,那么,通過步驟146,管道將被定義為不擁塞。如果確定超過閾值,那么,通過步驟148,管道將被定義為擁塞。因此,使用方法140可確定管道是否擁塞。
圖9描述了用于確定管道是否擁塞的方法150的另一個實施例。方法150利用同步(SYN)分組。在TCP中,SYN分組可指示兩個部件,如主機之間會話的開始。當(dāng)會話分組沒有到達目的地時,例如由于擁塞分組被丟棄,部件之間將開始一個新的會話。從而,發(fā)出一個新的SYN分組。由于SYN分組可用于度量會話開始和重新開始的次數(shù),所以它們可被用于在管道中度量擁塞。
通過步驟152,確定管道中SYN分組數(shù)目的度量。在一個實施例中,步驟152包括確定SYN分組與流經(jīng)管道分組的全部分組數(shù)目的片斷。該片斷可被設(shè)置為上面討論的PCL。通過步驟154,然后確定為SYN分組定義的擁塞是否存在。在一個實施例中,步驟154包括確定SYN分組與分組全部數(shù)目的比值是否大于某個閾值。然而,一些其它使用SYN分組的擁塞統(tǒng)計度量可被使用。如果確定沒有超過閾值,那么,通過步驟156,管道將被定義為不擁塞。如果確定超過閾值,那么,通過步驟158,管道將被定義為擁塞。因此,使用方法150可確定管道是否擁塞。
圖10描述了用于確定管道是否擁塞的方法160的另一個實施例。方法160利用分組在源(發(fā)送者)和目的地(接收者)間傳送并且將已收到分組的通知返回源的往返時間(RTT)。當(dāng)一個會話的分組沒有到達目的地時,例如由于擁塞而被丟棄,或當(dāng)分組花費較長時間到達目的地時,RTT將較長。較長的RTT指示管道中較多的擁塞。因此,RTT的長度可用于度量管道中的擁塞。另外,可以使用從發(fā)送者到接收者的時間,而不是RTT。
通過步驟162,可確定管道中分組RTT的一些統(tǒng)計度量。在一個實施例中,步驟162可包括確定其RTT長于某個平均值的分組的片斷。然而,也可使用其它RTT統(tǒng)計度量。如上討論,RTT統(tǒng)計度量可用于確定PCL。通過步驟164,例如通過確定RTT度量是否在閾值之上,確定為RTT定義的擁塞是否存在。如果確定RTT度量指示管道不擁塞,則通過步驟166,管道被定義為不擁塞。如果確定RTT度量指示管道擁塞,則通過步驟168,管道被定義為擁塞。因此,使用方法160可確定管道是否擁塞。
圖11描述了方法170的一個實施例,其中ECN、SYN分組和RTT被結(jié)合使用以確定管道是否擁塞。通過步驟172,確定ECN指示經(jīng)過擁塞交換機的分組數(shù)目的度量。在一個實施例中,步驟172包括確定ECN指示經(jīng)過擁塞交換機的分組的片斷。通過步驟174,確定管道中SYN分組數(shù)目的度量。在一個實施例中,步驟174包括確定SYN分組與流經(jīng)管道分組的全部數(shù)目的片斷。通過步驟176,確定一些管道中分組的RTT的統(tǒng)計度量。通過步驟178,組合ECN、SYN分組和RTT的度量,以提供擁塞的度量,如PCL。通過步驟180,最好通過確定PCL是否超過閾值,來確定是否存在擁塞。如果確定PCL指示管道不擁塞,那么通過步驟182,定義管道不擁塞。如果確定PCL指示管道擁塞,那么通過步驟184,定義管道擁塞。因此,使用方法170可確定管道是否擁塞。
因此,可使用多種方法確定管道是否擁塞。如果管道擁塞,則控制管道內(nèi)子管道的流量。否則,在子管道級別不控制流量。子管道的流量通過指數(shù)性降低流量和,在一些情況下,線性提高流量而得到控制。因此,僅當(dāng)由于擁塞存在,網(wǎng)絡(luò)運行不理想的時候,才消耗資源在子管道級別精細地控制流量。而且,擁塞也可用于決定怎樣精細地調(diào)整子管道流量,例如通過用于確定額外帶寬是否存在的擁塞的第二個定義。另外,可為不同子管道,因此還有不同管道,提供不同的服務(wù)級別。而且,僅在網(wǎng)絡(luò)邊緣提供控制級別。從而,使子管道中流量的冗余控制變得不必要。然而,也可以使用網(wǎng)絡(luò)中控制流量的其它方法。
公開了為控制網(wǎng)絡(luò)的子管道中的流量的方法和系統(tǒng)。根據(jù)本發(fā)明寫的軟件保存在計算機可讀的一些介質(zhì)中,如存儲器、CD-ROM或通過網(wǎng)絡(luò)傳輸且由處理器執(zhí)行的介質(zhì)。
權(quán)利要求
1.一種方法,用于控制包括至少一個交換機的計算機網(wǎng)絡(luò)的管道中的多個子管道,多個子管道利用交換機通過網(wǎng)絡(luò)傳輸通信量,該方法包括以下步驟(a)允許為多個子管道的每一個設(shè)置最小流量(102);(b)確定管道是否存在擁塞(104,116);(c)如果擁塞存在,控制多個子管道中一個子管道的流量(106,132)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于控制步驟(c)還包括以下步驟(c1)如果子管道的流量小于最小流量,則使子管道的流量線性提高(106)或保持不變;和(c2)如果子管道的流量大于最小流量,則指數(shù)性降低(106)子管道的流量。
3.根據(jù)權(quán)利要求1所述的方法,包括如下步驟(b1)確定是否存在額外帶寬(120);并且,流量控制(c)還包括以下步驟(c1)如果子管道流量小于子管道的最小流量且額外帶寬存在,則線性提高(130)子管道的流量;和(c2)如果子管道流量大于子管道的最小流量且額外帶寬不存在,則指數(shù)性降低(130)子管道的流量。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于交換機還包括具有隊列的處理器,多個子管道使用隊列通過交換機傳輸通信量,其中帶寬確定步驟(b1)基于確定隊列額外帶寬是否存在來確定額外帶寬是否存在。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于額外帶寬確定步驟(b1)基于確定第二種類型擁塞是否存在來確定額外帶寬是否存在。
6.根據(jù)權(quán)利要求3到5中任一個所述的方法,其特征在于額外帶寬確定步驟(b1)還包括以下步驟(b1i)將額外帶寬值(128)設(shè)置為以前額外帶寬值的指數(shù)性加權(quán)平均值。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于多個子管道中子管道的流量是提供的速率乘以傳輸片斷且其中線性提高步驟(c1)將子管道傳輸片斷設(shè)置(130)為以前的傳輸片斷加上第一個參量,第一個參量是第一個常量乘以額外帶寬值,和指數(shù)性降低步驟(c2)將子管道傳輸片斷設(shè)置為以前的傳輸片斷減去第二個參量,第二個參量是以前的流量乘以第二個常量。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于第一個常量和第二個常量依賴管道的最小流量。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于第一個常量是權(quán)重乘以第三個參量,第三個參量是隊列服務(wù)速率加上管道最小流量減去多個子管道中每個的最小流量的總和。
10.權(quán)利要求2到9所述的任一方法還包括以下步驟(a1)允許為多個子管道的每一個設(shè)置最大流量;并且,控制步驟(c)還包括以下步驟(c3)如果子管道流量大于最大流量,則降低(106、130)子管道流量。
11.前面任一個權(quán)利要求所述的方法,其特征在于為多個子管道的每一個執(zhí)行控制步驟(c)。
12.前面任一個權(quán)利要求所述的方法,其特征在于網(wǎng)絡(luò)還包括邊緣,且其中交換機位于網(wǎng)絡(luò)邊緣。
13.前面任一個權(quán)利要求所述的方法還包括以下步驟(d)在預(yù)先確定的時間周期后重復(fù)擁塞確定步驟(b)和在整個預(yù)先確定的時間周期中重復(fù)控制步驟(c)。
14.前面任一個權(quán)利要求所述的方法,其特征在于通過交換機的通信量包括多個分組,并且其中擁塞確定步驟(b)基于用于多個分組中每一個的第一部分的顯式擁塞通知(ECN)(140)確定擁塞是否存在。
15.根據(jù)權(quán)利要求1到13中任一個所述的方法,其特征在于通過交換機的通信量包括多個分組,并且其中擁塞確定步驟(b)基于多個分組(150)的一部分確定擁塞是否存在,多個分組的該部分包括多個同步分組。
16.根據(jù)權(quán)利要求1到13中任一個所述的方法,其特征在于通過交換機的通信量包括多個分組,多個分組中的每一個由發(fā)送者發(fā)出并由接收者接收,并且其中擁塞確定步驟(b)基于多個分組中每一個在發(fā)送者和接收者之間的往返時間,確定擁塞是否存在(160)。
17.根據(jù)權(quán)利要求1到13中任一個所述的方法,其特征在于通過交換機的通信量包括多個分組,多個分組中每一個的第一部分由發(fā)送者發(fā)出并由接收者接收,并且其中擁塞確定步驟(b)基于用于多個分組的每一個的第二部分的顯式擁塞通知(ECN)、多個分組中每一個的第一部分在發(fā)送者和接收者之間的往返時間、多個分組的第三部分來確定擁塞是否存在,其中多個分組的第三部分包括多個同步分組(170)。
18.前面任一個權(quán)利要求所述的方法,其特征在于通過從子管道隨機丟棄分組,來降低多個管道的子管道中流量。
19.根據(jù)權(quán)利要求1到17中任一個所述的方法,其特征在于通過基于分組的優(yōu)先級丟棄分組,來降低子管道中的流量。
20.一種計算機可讀介質(zhì),包含控制計算機網(wǎng)絡(luò)的管道中多個子管道的程序,該計算機網(wǎng)絡(luò)包括至少一個交換機,多個子管道利用交換機通過網(wǎng)絡(luò)傳輸通信量,程序包括執(zhí)行如權(quán)利要求1到19中所述方法的指令。
21.一種控制在計算機網(wǎng)絡(luò)中管道的多個子管道的系統(tǒng),該計算機網(wǎng)絡(luò)包括由多個子管道交疊的交換機,該系統(tǒng)包含在通過交換機傳輸通信量時被多個子管道使用的隊列;和排隊機構(gòu),與隊列相連,使用由用戶為多個子管道的每一個設(shè)置的最小流量,來控制通過交換機的通信量,該排隊機構(gòu)為管道確定擁塞是否存在,并僅當(dāng)擁塞存在時控制多個子管道中一個子管道的流量,使得如果多個子管道中子管道的流量小于最小流量,則子管道流量可以被線性提高,如果多個子管道中子管道的流量大于最小流量時,則該流量可以被指數(shù)性降低,使得通過交換機的通信量穩(wěn)定。
22.根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于排隊機構(gòu)還確定額外帶寬是否存在和基于額外帶寬是否存在,為多個子管道的每一個提高或降低流量。
23.根據(jù)權(quán)利要求22所述的系統(tǒng),其特征在于排隊機構(gòu)通過確定第二種類型擁塞是否存在,來確定額外帶寬是否存在,如果第二種類型擁塞存在,則指示額外帶寬存在,否則,指示額外帶寬不存在。
24.根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于通過變換機的通信量包括多個分組,并且其中排隊機構(gòu)基于用于多個分組中每一個的第一部分的顯式擁塞通知(ECN),確定擁塞是否存在。
25.根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于通過交換機的通信量包括多個分組,并且其中排隊機構(gòu)基于多個分組的一部分確定擁塞是否存在,多個分組的該部分包括多個同步分組。
26.根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于通過交換機的通信量包括多個分組,多個分組的每一個由發(fā)送者發(fā)出并由接收者接收,并且其中排隊機構(gòu)基于多個分組的每一個在發(fā)送者和接收者之間的往返時間確定擁塞是否存在。
27.根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于通過交換機的通信量包括多個分組,多個分組中每一個的第一部分由發(fā)送者發(fā)出并由接收者接收,并且其中排隊機構(gòu)基于用于多個分組的每一個的第二部分的顯式擁塞通知(ECN)、多個分組中每一個的第一部分在發(fā)送者和接收者之間的往返時間和多個分組的第三部分確定擁塞是否存在,多個分組的第三部分包括多個同步分組。
28.根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于交換機包括對應(yīng)于多個刀形開關(guān)的多個處理器,多個處理器的每一個具有多個端口,并且其中隊列用于多個處理器中的處理器。
29.根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于網(wǎng)絡(luò)包括邊緣,并且交換機位于網(wǎng)絡(luò)邊緣。
30.在計算機網(wǎng)絡(luò)中與交換機一起使用的處理器,該處理器和多個端口和交換機構(gòu)相連,該處理器包含從計算機網(wǎng)絡(luò)的管道中的多個子管道接受通信量的隊列;和用于控制來自多個子管道中子管道的流量、與隊列相連的排隊機構(gòu),該排隊機構(gòu)為管道確定擁塞是否存在,并且僅當(dāng)擁塞存在時,控制多個子管道的子管道流量,從而使如果多個子管道的子管道流量小于最小流量,則子管道流量可以被線性提高,和如果多個子管道的子管道流量大于最小流量,則子管道流量可以被指數(shù)性降低,使得通過交換機的通信量穩(wěn)定。
31.一種交換機,用于包括多個主機的計算機網(wǎng)絡(luò),該交換機包含多個處理器,每個處理器與多個端口相連,多個端口與多個主機的一部分相連,每個處理器包括隊列和排隊機構(gòu),隊列從計算機網(wǎng)絡(luò)的管道中的多個子管道接受通信量,多個子管道與多個端口的一部分相連,所述端口與第一個處理器相連和多個端口的一部分與第二個處理器相連,排隊機構(gòu)與隊列相連,排隊機構(gòu)確定擁塞是否存在,并且僅當(dāng)擁塞存在時控制多個子管道的子管道流量,從而使如果多個子管道的子管道流量小于最小流量,則子管道流量可以被線性提高,和如果多個子管道的子管道流量大于最小流量,則子管道流量可以被指數(shù)性降低,使得通過交換機的通信量穩(wěn)定。與多個處理器相連的一個交換機構(gòu)。
32.根據(jù)權(quán)利要求31所述的交換機,其特征在于網(wǎng)絡(luò)包括邊緣,并且交換機位于網(wǎng)絡(luò)邊緣。
全文摘要
本發(fā)明公開了控制在計算機網(wǎng)絡(luò)中的多個子管道的方法和系統(tǒng)。計算機網(wǎng)絡(luò)至少包括一個交換機。多個子管道利用交換機通過網(wǎng)絡(luò)傳輸通信量。該方法和系統(tǒng)包括允許為多個子管道的每一個設(shè)置最小流量和確定管道是否存在擁塞。該方法和系統(tǒng)還包括僅當(dāng)擁塞存在時,控制多個子管道的子管道中流量。一旦確定擁塞存在,設(shè)置用于控制子管道的時間將被設(shè)置得充分長于為控制子管道中流量的單獨降低或提高所需的時間??刂圃摿髁?,使得如果多個子管道的子管道流量小于最小流量,則子管道的流量可被線性提高。該流量控制也可使如果流量大于最小流量,則多個子管道的子管道流量被指數(shù)性降低。在決定是否提高或降低子管道中流量時,可使用擁塞的第二個定義。使得通過交換機的通信量穩(wěn)定。
文檔編號H04L12/54GK1406424SQ0180585
公開日2003年3月26日 申請日期2001年3月30日 優(yōu)先權(quán)日2000年3月31日
發(fā)明者布拉赫馬南德·庫馬爾·高爾迪, 黃東明, 克拉克·德布斯·杰弗里斯, 邁克爾·斯蒂芬·西格爾, 卡迪克·蘇迪普 申請人:國際商業(yè)機器公司