TWI412249B - 調整封包率以最佳化網路中流量之系統及方法 - Google Patents

調整封包率以最佳化網路中流量之系統及方法 Download PDF

Info

Publication number
TWI412249B
TWI412249B TW099105140A TW99105140A TWI412249B TW I412249 B TWI412249 B TW I412249B TW 099105140 A TW099105140 A TW 099105140A TW 99105140 A TW99105140 A TW 99105140A TW I412249 B TWI412249 B TW I412249B
Authority
TW
Taiwan
Prior art keywords
packet
network
packets
queue
given network
Prior art date
Application number
TW099105140A
Other languages
English (en)
Other versions
TW201106658A (en
Inventor
Wilson Chuen Yew Yeung
Brian Matsuo
Sterling Hughes
Original Assignee
Silver Spring Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Silver Spring Networks Inc filed Critical Silver Spring Networks Inc
Publication of TW201106658A publication Critical patent/TW201106658A/zh
Application granted granted Critical
Publication of TWI412249B publication Critical patent/TWI412249B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • H04L47/115Identifying congestion using a dedicated packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes

Description

調整封包率以最佳化網路中流量之系統及方法
本發明所揭示之系統與方法一般有關於在一電腦網路或互聯網中、更特別是以網際網路協定為主之網路與互聯網中節點間之通訊與資料交換。本發明示範實施例特別是有關於在電腦節點間經濟且有效率之資料傳輸。
互聯網(internetwork)為使用一共同路由技術所連接不同電腦網路之集合。“網際網路”(Internet)為此種互聯網之一例,而在不同網路中節點間之通訊藉由一互聯網協定標準、即網際網路協定(IP)組而方便實施。
此適當名詞「網際網路」(Internet)(大寫)是指一互聯封包切換網路之全球性可公開存取系統,其使用網際網路協定(IP)組以交換資料。
此使用網際網路協定(IP)組但並非為「網際網路」之互聯網有時是各指「網際網路」、「IP互聯網」、「私用網際網路」「私用IP互聯網」、或「私用IP網路」。這即是說,雖然,「網際網路」由於其全球性與可公開存取性質而非常廣受歡迎,然而,其僅為此以網際網路協定為主互聯網之一例。
如同通常在IP網路中所知,為了在一IP互聯網中之一節點發出資料給在此IP互聯網中另一個節點,此資料必須包封於一IP封包中。
圖1A為根據習知技術之電腦網路之方塊圖。如同於圖1A中所示,節點1、節點2、節點3、以及節點4均連接至電腦網路10。為了在此等網路間產生資料交換,必須形成互聯網。此互聯網之形成取決於使用某些節點,其被區別為“路由器”。
圖1B為根據習知技術之互聯網之方塊圖。如同於圖1B中所示,此互聯網20包括:網路A、網路B、網路C以及網路D。各此等網路包括由圓圈所區別之特別節點。此等特別節點A、節點B、節點C、節點D為路由器,其在以下各稱為路由器A、路由器B、路由器C以及路由器D。
在一例中,如果網路C之節點C3發出封包給網路A之節點A1,則首先必須將此封包發出至網路C之路由器C,再由路由器C將此封包發出至網路B之路由器B。由此路由器B,將此封包發射至網路A之路由器A,此路由器A再將此封包發出至網路A之節點A1。此將封包由網路間之一節點路由至另一節點之名稱通常稱為節點間之“路徑”。一路徑為路由器之排序表列,以及此路徑之各元素各稱為“中間節點”、“中介節點、或僅稱為“中繼站”(hop)。
例如,節點C3至節點A1之路徑可以P=(C、B、A)表示,而路由器C、B、以及A均為在排序表列P中之中繼站或中間節點。
在節點與路由器間之路徑可以動態地或靜態地形成,而通訊協定,例如:路由資訊協定(RIP)、邊界閘道器協定(BGP)、以及最短路徑最先開啟(OSPF)協定為:此等動態互聯網協定之一例,而使用於IP互聯網中。
擁擠控制可以觀念地說明為:控制此進入給定網路中封包流量之速率,其目的為將在通訊節點間之理想流量最大化,而同時避免擁擠崩潰。擁擠崩潰為一種情形,其由於擁擠而產生很少或無法產生有用之通訊。
在一封包切換互聯網例如IP互聯網中,有兩種廣受歡迎方法,藉由此等方法可以達成擁擠控制:
1.路由器拋棄封包:在一互聯網中之路由器藉由將節點所發出之封包拋棄而實施擁擠控制,否則此等封包會造成兩個路由器間之最大封包或資料速率被超過。此種例子可以在由Sally Floyd與Van Jacobson所著論文「Random Early Detection(RED) Gateways for Congestion Avoidance」所說明之方法中發現。
2.非路由器節點實施終端-至-終端擁擠控制:節點可以使用擁擠避免演算法像是傳輸控制協定(TCP)擁擠避免,其在IP互聯網中兩個非路由器節點之間實施擁擠控制。此TCP擁擠避免可以具有多種變化形式包括:TCP Reno、TCP Tahoe,以及TCP Vegas之變化。此由Kevin Fall與Sally Floyd所著之論文「Simulation-based Comparisons of Tahoe,Reno and SACK TCP」其如同由Van Jacobson所著之論文「Congestion Avoidance and Control」,為有用之參考。
此類似於以上說明「路由器拋棄封包」方法之方法並非為一終端-至-終端擁擠控制模式。此由Sally Floyd與Van Jacobson所著之論文「RED Gateway for Congestion Avoidance」說明一種方法,藉由此方法,路徑之路由器與中間中繼站將封包拋棄以實施最大連接容量。
此類似於TCP擁擠避免之方法,其雖然是終端-至-終端,然而其並不將互聯網路徑之中間中繼站(路由器)視為擁擠點。在TCP擁擠避免技術中,此是否發出封包之決定是依據:在孤立中終端點之通訊成功率。
在此所說明之示範實施例藉由考慮中間節點所分別達成之成功與失敗率,而將網路上兩個終端點間之封包流量最佳化。此擁擠控制方法與其他擁擠控制方法不同,且在當決定是否發出封包時,其所提供終端-至-終端擁擠控制使用網路之路由器之最大容量作為主要考慮。
在此揭示一具有複數個網路之互聯網中擁擠控制之示範方法。此方法包括:建立在第一網路中用於封包佇列之封包速率值,此封包佇列與此互聯網之第二網路有關;當此所界定期間終止時,將數個封包從此封包佇列去除,此封包數目不大於此封包速率值;以及將此去除封包傳送至第二網路中之節點。
本發明之另一個示範方法是有關於:在一具有複數個網路之互聯網中擁擠控制。此方法包括:建立用於此互聯網中第一網路之重複發生速率期間;將封包速率值與第一網路之封包佇列相關,此封包佇列與此互聯網之第二網路有關;以及當經過了此重複發生速率期間時,將在封包佇列中之數個封包發出至第二網路,其中,此封包數目並不大於此封包速率值。
本發明之另一個示範方法是有關於:在一具有複數個網路之互聯網中之擁擠控制。此方法包括:在此複數個網路之第一網路之此等節點中,建立複數個封包佇列、封包計數器、以及封包速率值,其各與在複數個網路中之其他網路有關。對於此從在第一網路中一節點發出至其他網路給定之一中一節點之請求封包,此方法包括:建立用於第一網路之重複發生速率期間;將此與所給定網路佇列有關之封包載以至少一請求封包,其中,此至少一請求封包之目的地為此互聯網之給定網路中之一節點:以及當已經過了此重複發生速率期間之第一期間時,將數個封包發出至此互聯網之第二網路,其中此封包數目並不大於封包速率值。
以下參考所附圖式,以更詳細說明本發明之示範實施例。
圖2A為根據示範實施例之互聯網之概要圖。如同於圖2A中所示,此封包切換互聯網200包括:封包切換網路A至D。各此等封包切換網路包括:複數個非路由器節點,與至少一路由器節點。例如,網路A包括:複數個非路由器節點A1 -AN 與路由器AR ;網路B包括:複數個非路由器節點B 1 -BN 與路由器BR ;網路C包括:複數個非路由器節點C1 -CN 與路由器CR ;以及網路D包括:複數個非路由器節點D1 -DN 與路由器DR
在一示範實施例中,可以將在一IP互聯網中非路由器節點組態,而將封包發出至互聯網200中之其他非路由器節點。此在互聯網上發出此種封包之節點在以下稱為“發射節點”,而此用意為在互聯網上接收封包之節點在以下稱為“接收節點”。特定而言,此示範實施例提及一例,其中,在此封包切換互聯網之給定封包切換網路中之一發射節點發出封包至:相同互聯網中不同網路之接收節點。
例如,在網路A中節點A2(發射節點)可能想要發射封包至以下之接收節點:網路B上之節點B1、節點B2、節點B3、以及節點B4;網路C上之節點C1、節點C2、節點C3、以及節點C4;以及網路D上之節點D1、節點D2、節點D3、以及節點D4。
此通常為真實,當發射節點發出封包至接收節點時,此發射節點期望在發出原始封包之後某時間期間之內可以收到確認封包,以響應原來所發出之封包。此確認封包可以僅包括確認,或可以包含響應資料(其隱含確認)。此來自發射節點之封包稱為請求封包,以及此由接收節點所發出之封包稱為響應封包。
熟習此技術人員瞭解,對於任何互聯網,此由一網路至任何其他網路間之路徑具有最大(可能為可變)等候與資料流量率。一示範實施例提供一種用於終端-至-終端擁擠控制之方法,其在當決定是否發出封包時,使用此網路之路由器之最大容量作為主要考慮。
在以下互聯網之操作例中,此發射節點位於其中之網路一般稱為網路X,且此接收節點位於其中之網路一般稱為網路Y。
在網路X中各節點執行一網路通訊過程,其負責將由在此節點中實施應用所產生之封包傳送至此互聯網中之其他節點。此過程建立相關之封包隊列,而用於在此互聯網中各其他封包切換網路,例如網路Y(未圖示)。例如,佇列-Y(QUEUE-Y)代表請求封包之佇列,其由網路X中節點傳送至網路Y中之接收節點。在圖2A中顯示封包佇列之一實施方式。例如,網路A中節點AN 可以包括:QUEUE-B、QUEUE-C、以及QUEUE-D。在網路A中之各此等其他節點可以包括:此等佇列之相同集合。類似地,雖然並未顯示,在網路B中之各節點可以包括:QUEUE-A、QUEUE-C、以及QUEUE-D;在網路C中之各節點可以包括:QUEUE-A、QUEUE-B、以及QUEUE-D;以及在網路D中之各節點可以包括:QUEUE-A、QUEUE-B、以及QUEUE-C。
時間終止值Timeout與由發射節點傳送至接收節點之各請求封包有關。熟習本項技術者瞭解,此用於各請求封包之Timeout值並無須相同,且事實上對由發射節點所發出之每個請求封包可以不同。此Timeout值代表以秒(可能為分數)所表示之最大時間,此時間為此在發射節點中所執行過程在下列動作之前將會等候以從接收節點接收響應封包之時間:宣佈損失此請求封包或響應封包,以顯示傳輸失敗。
可以將一最大允許封包速率計數器分配給在互聯網中一網路之各封包佇列,而用於發出請求封包至互聯網200中之其他網路。例如,相對於網路X,一封包速率計數器RATE-Y可以與相對於網路Y之QUEUE-Y有關。對於網路Y此計數器RATE-Y可以被分配一大於0之最初整數值。此用於各RATE之值可以對於在網路X中之其他封包佇列而不同。此RATE值可以代表傳送至給定網路之請求封包之最大速率。此速率值可以表示為整數值或分數值。圖2A中顯示,在一時間期間此封包速率計數器之示範實施方式。
例如,對於網路A:RATE-B與網路B有關,RATE-C與網路C有關,以及RATE-D與網路D有關。
可以將請求封包傳送至另一網路之時間期間界定為RATE-INTERVAL。此RATE-INTERVAL為一重複發生時間期間,其重複一直至各封包佇列為空的為止。此RATE-INTERVAL值可以時間單位表示,而為一整數或分數。
藉由界定一最大允許封包速率RATE與一速率期間RATE-INTERVAL,此用於示範網路X之擁擠控制之演算法至少包括以下特徵:
1.此演算法每RATE-INTERVAL、例如一預先界定秒數執行一次;
2.如果當一時間期間結束時,在QUEUE-Y中剩餘封包之數目小於RATE-Y,則將在QUEUE-Y中所有封包移除,且傳送至其各接收節點;以及
3.如果當一時間期間結束時,在QUEUE-Y中剩餘封包之數目大於或等於RATE-Y,則將RATE-Y數目之封包移除,且傳送至用於該期間之其各接收節點。
圖2B為根據示範實施例之第一擁擠控制方法之流程圖。如同於圖2B中顯示,在此等於RATE-INTERVAL之時間期間結束時,在網路X中之發射節點檢查:此與網路Y中接收節點有關之封包佇列QUEUE-Y,以判斷其是否不為空(S200)。如果此QUEUE-Y不為空,則藉由一通訊過程將RATE-Y數目之封包從QUEUE-Y移除,且傳送至其各接收節點(S202)。如果此佇列為空,則此節點回至其他任務,且等候下一個時間期間之終止。
圖2C-2E為根據示範實施例之封包佇列狀態之概要圖。如同於圖2C中所顯示,對於整數值RATE-Y=2,將兩個封包從QUEUE-Y移除而用於在各速率期間傳輸。例如,如果QUEUE-Y載有3個封包,則經過第一速率期間,則將兩個封包從QUEUE-Y移除,且將其傳送至在網路Y中之目的地接收節點。因此,在第一速率期間之後,QUEUE-Y具有一剩餘封包。在經過第二速率期間之後,此在QUEUE-Y中之一剩餘封包被移除,且傳送至在網路Y中之接收節點。如同在此例中顯示,如果在QUEUE-Y中剩餘小於兩個封包,則當經過此期間,則將所有封包從QUEUE-Y移除。
在圖2D中,此封包速率為分數值RATE-Y=0.5。例如,此所想要傳輸速率為每兩秒一個封包。如果將速率期間設定為一秒,則所產生之有效封包速率為RATE-Y=0.5。
在理論上,以0.5封包/秒之封包速率,將此封包之一半從QUEUE-Y移除。然而,在實際上,因為封包以整數單位傳輸,僅有整個封包從佇列移除。因此,一直至下一個時間期間為止,一封包並未由QUEUE-Y移除。為達成此結果,當各速率期間經過時,此用於網路Y之封包計數器PKT-CNT-Y被遞增RATE-Y。然而,除非此計數器之值大於或等於一整數值(例如:1),則此等封包並不會從QUEUE-Y移除。在此點,此對應於整數值數目之封包被從此QUEQE-Y移除,且此封包計數器PKT-CNT-Y被遞減此被移除封包之數目。在以上例中,RATE-Y=0.5,而在經過第一速率期間之後,PKT-CNT-Y之值為0.5,且並無封包被從此佇列移除。在經過第二速率期間之後,計數器PKT-CNT-Y=1.0,而造成一個封包被從此QUEUE-Y移除而用於傳送。此計數器PKT-CNT-Y然後被遞減1而用於下一個時間期間。
在圖2E中所顯示另一例中,而此封包速率為分數值RATE-Y=0.7。在第一速率期間之後,此封包計數器被遞增0.7,以致於PKT-CNT-Y=0.7,且並無封包被從QUEUE-Y移除。在過了第二速率期間之後,此封包速率計數器被遞增0.7,以致於PKT-CNT-Y=1.4。自第二期間之後,一個封包被從QUEUE-Y移除,且此封包計數器被遞減1,以致於PKT-CNT-Y=0.4。在第三速率期間之後,此封包速率計數器被遞增0.7,以致於PKT-CNT-Y=1.1。在第三速率期間之後,一個封包被從QUEUE-Y移除,且此封包速率計數器被遞減1,以致於PKT-CNT-Y=0.1。此過程重複一直至所有封包被從此QUEUE-Y移除為止。此從網路X中QUEQE-Y所移除之各封包被傳送至網路Y中之接收節點(S204)。一旦此佇列為空的,則在此封包計數器中所存留任何剩餘值可以被重新設定為零。
在以上實施例中已經討論關於:從在網路X中之發射節點將請求封包以封包速率RATE傳送至在網路Y中之接收節點,而此封包速率為靜態的。在一替代實施例中,此在網路X之封包速率RATE可以根據從網路Y中節點所接收確認(即,響應封包)之成功或失敗而動態地調整。此封包速率可以根據成功/失敗率而調整。傳統上,擁擠控制參數是以點-對-點之基礎而調整,例如測量此等封包被成功地從一給定來源傳送至一給定目的地。相對的,此實施例之動態速率調整是相對於:多個目的地位址、例如在網路Y中所有接收節點而非單一目標位址而實施。
此成功/失敗率可以為根據以下之百分比值:所確認封包之總數/用於適當樣本之傳送至網路(例如:網路Y)之請求封包之總數。此樣本可以根據封包數目、例如傳送至網路Y之最後100個封包,或根據時間期間、例如在最後10秒內傳送至網路Y之所有封包。在一示範實施例中,此成功/失敗率可以為根據多個樣本之指數移動平均,而將更多權數給予較新之樣本資料。此成功/失敗率可以與相對臨界值比較以判斷是否:由於以目前RATE之成功傳輸而可以增加封包速率,或由於以目前RATE之過多次數失敗傳輸而應減少封包速率。例如,如果將此臨界值設定為90%,而在此期間此成功/失敗率大於90%,則在各期間之後,此封包速率計數器RATE-Y之值遞增一適當值(整數或分數);以及當此成功/失敗率下降至90%以下時,將此封包速率計數器RATE-Y之值遞減。
圖3為根據示範實施例之互聯網之概要圖。如同於圖3中所示,一互聯網300包括複數個網路,其稱為網路A、網路B、網路C、以及網路D。各網路由複數個節點所構成。
此等複數個節點與其對於各網路之成員可以界定為如下所示:
‧網路A包括節點A1、A2、A3、A4;
‧網路B包括節點B1、B2、B3、B4;
‧網路C包括節點C1、C2、C3、C4;以及
‧網路D包括節點D1、D2、D3、D4。
熟習本項技術者瞭解,此互聯網300可以具有任何數目之網路,且各網路可以具有所想要任何數目複數個節點。此網路數目與每個網路之節點數目可以藉由執行而改變。
在一根據互聯網300之示範實施例中,節點A1可以發出請求封包至各此等節點:B1、B2、B3、B4、C1、C2、C3、C4、D1、D2、D3、D4。為了將一封包與另一封包區別,此目的地為各此等節點之請求封包可以標籤RP:RECEIVING-NODE表示。例如,此目的地為接收節點B1之請求封包可以標示為RP:B1,以及此目的地為接收節點C2之請求封包可以標示為RP:C2等。
此等目的地為節點B1-B4、C1-C4、以及D1-D4之各此等請求封包可以列舉如下:RP:B1、RP:B2、RP:B3、RP:B4、RP:C1、RP:C2、RP:C3、RP:C4、RP:D1、RP:D2、RP:D3、以及RP:D4。
各請求封包具有一相關以秒表示之終止時間或時間終止值T。用於此等請求封包之時間終止值並無須均相同,且如同所欲可以對於各請求封包為獨特。
可以根據此等接收節點所對應之目的地網路,而將此等請求封包組織起來。這即是,對於網路A,可以對各此等網路B、C、以及D產生一佇列,而如果與此請求封包有關之節點為與此佇列有關網路之一成員,則此請求封包為此佇列之一成員。此外,可以將所允許最大封包速率(RATE)計數器變數設定為:用於各此等佇列之某最初值,可以將用於各此等佇列之確認封包(PACKET-ACK)計數器設定為0,以及可以將用於發出封包至接收節點之時間期間(RATE-INTERVAL)設定為:用於發射節點之網路之最初值。
在以下討論中,在互聯網300之執行上下文中說明此於圖2B中所顯示之擁擠控制方法。
如果各網路佇列QUEUE-B、QUEUE-C、以及QUEUE-D為非空,則節點A1可以將請求封包發出給任何此等節點B1-B4、C1-C4、以及D1-D4(S200)。界定此用於發出請求封包至接收節點之RATE-INTERVAL,且界定用於各佇列之封包速率(RATE)。
圖4A說明在完成S200之後各佇列之示範狀態。如同於圖4A中所示,各佇列載有各請求封包,且將用於各佇列之封包速率初設為RATE-B=3、RATE-C=1、以及RATE-D=2。
在經過一個RATE-INTERVAL之後,檢驗各佇列,而根據用於各佇列之各封包速率,以判斷欲處理封包之數目。在此例中,將3個封包從QUEUE-B移除、將1個封包從QUEUE-C移除、以及將2個封包從QUEUE-D移除,且發出至各接收節點(S202,S204)。
圖4B說明在經過第一RATE-INTERVAL之後而在完成步驟S204之後、網路A之佇列QUEUE-B、QUEUE-C、以及QUEUE-D之示範狀態。將圖4A與圖4B比較,熟習本項技術者瞭解,此等封包已從其各佇列移除,且根據以下所示與各封包有關之佇列與網路,將封包發出至所指定接收節點;
‧網路B,佇列B:RP:B4,RP:B3,RP-B2
‧網路C,佇列C:RP:C3
‧網路D,佇列D:RP:D4,RP:D1
在經過速率期間數目之秒後,可以重複步驟S200-S204,一直至各佇列為空為止。當此與網路有關之QUEUE不為空且經過此速率期間時,可以根據QUEUE之RATE將QUEUE中之封包移除。當從此佇列移除後,將此等封包發出至所指定之接收節點。
在經過另一個速率期間之後,再一次檢驗各佇列以判斷欲處理封包之數目。根據此檢驗,將1個封包從QUEUE-B移除、將1個封包從QUEUE-C移除、以及將2個封包從QUEUE-D移除(S202)。熟習本項技術者瞭解,雖然QUEUE-B具有封包速率RATE-B=3,因為在此佇列中僅剩餘1個封包,因此僅移除一個封包。此等從QUEUE-B、QUEUE-C、以及QUEUE-D所移除之封包被傳送至接收節點(S204)。
圖4C說明在經過第二速率期間之後而在完成步驟S204之後、佇列QUEUE-B、QUEUE-C、以及QUEUE-D之示範狀態。如同於圖4C中所示,在第二速率期間之後,僅QUEUE-C具有剩餘封包。因此,以封包速率RATE-C=1對於第三與第四速率期間重複步驟S200-S204,一直至QUEUE-C為空的為止。
熟習本項技術者瞭解,此等所發出請求封包之集合並無須為靜態。例如,如果在此發射節點上所執行應用之使用壽命期間,將額外封包發出至另一節點,則可將此請求封包載入與此適當網路有關之適當佇列中,且傳送此等封包而繼續從此佇列移除封包。
可以由在一發射節點之處理器執行在圖2B中所顯示之演算法,以致於此發射節點可以每個網路為基礎而實施擁擠控制。
此示範實施例可以各種不同型式通訊系統執行。一個說明例為一使用監視與控制網路。圖5為根據示範實施例之使用監視與控制網路。可以根據在圖3中示範互聯網之執行而將此使用監視與控制網路組態。此示範使用監視與控制網路可以具有以下節點與網路定義:
‧網路A可以被指定作為應用後勤部門網路;
‧路由器A可以被指定作為後勤部門虛擬私用網路(VPN)集中器;
‧路由器B、路由器C、以及路由器D可以被指定作為無線接達點,且
在以下各稱為接達點B、接達點C、以及接達點D,或各為AP-B、AP-C、以及AP-D;
‧網路B、網路C、以及網路D可以被指定作為無線網目網路;
‧在AP-A、AP-B、以及AP-C之間之互連結可以為廣域網路(WAN)連結,此WAN連結之性質可以為各種型式之一,其包括:乙太網路、編碼分割多項接達(CDMA)、通用封包無線電服務(GPRS)、最佳化演進資料(EVDO)、寬頻編碼分割多項接達(WCDMA)、或任何其他所想要之適當WAN連結;
‧各此等節點B1-B4、C1-C4、以及D1-D4可以被指定作為無線網目網路中之節點;
‧各此等節點B1-B4、C1-C4、以及D1-D4可以經由一序列線而連接至一使用量計量裝置。此使用量計量裝置可以被指定作為:住宅或商業與工業種類之電表、煤氣表、水表、或任何其他所想要之適當計量裝置;以及
各此等節點B1-B4、C1-C4、以及D1-D4之處理器可以經由軟體而組態,將詢問與指令發岀至所連接之使用量計量裝置,且根據在圖2B中所說明之擁擠控制演算法,將此等詢問之結果與指令傳送至在互聯網中之其他節點。
以上所說明示範系統與方法提供優於傳統擁擠控制及/或避免技術之數個優點。特別是,在此所說明用於監視在一網路中傳送中封包之示範系統與方法為一種端點-至-端點擁擠控制技術,其在當決定是否發出封包時,使用網路之路由器之最大容量為主要考慮。此外,此示範系統與方法藉由非路由器發射節點而實施。此外,上述系統與方法將發出封包至網路之決定根據:在一集中網路之路由器之容量,而非在孤立中網路單一節點之容量。
在此所說明之系統與方法可以藉由軟體碼而實施,此軟體碼可以被編碼、記錄、或儲存於電腦可讀取媒體上。可以使用此電腦可讀取媒體將各發射節點組態,而如同以上說明將其連接至互聯網。熟習本項技術者瞭解,此電腦可讀取媒體包括:光碟、軟碟、快閃記憶體、磁帶、或所想要之任何可觸知儲存裝置或媒體。
熟習本項技術者瞭解,在此所說明之擁擠控制系統與方法可以容納:任何數目網路與互聯網、任何數目請求封包、以及在各網路中任何數目節點。
雖然以上參考特定實施例以說明本發明,但此說明僅為本發明之代表,且此並不認為是限制本發明。對於熟習本項技術者而言,可以對本發明作各種修正與應用,而不會偏離由所附申請專利範圍所界定之本發明之真實精神與範圍。
1...節點1
2...節點2
3...節點3
4...節點4
A...網路A
B...網路B
C...網路C
D...網路D
A1-A4...節點A1-A4
B1-B4...節點B1-B4
C1-C4...節點C1-C4
D1-D4...節點D1-D4
10...電腦網路
200...互聯網
A1 -AN ...節點
B1 -BN ...節點
C1 -CN ...節點
D1 -DN ...節點
AR ...路由器
BR ...路由器
CR ...路由器
DR ...路由器
300...互聯網
AP-B...接達點B
AP-C...接達點C
AP-D...接達點D
圖1A為根據習知技術之電腦網路之方塊圖;
圖1B為根據習知技術之互聯網之方塊圖;
圖2A為根據本發明示範實施例之互聯網之概要圖;
圖2B為根據本發明示範實施例之第一擁擠控制方法之流程圖;
圖2C-2E為根據本發明示範實施例之封包佇列狀態之概要圖;
圖3為根據本發明示範實施例之互聯網之概要圖;
圖4A-4C為根據本發明示範實施例之在擁擠控制過程期間之各網路佇列之概要圖;以及
圖5為根據示範實施例之使用監視與控制網路之概要圖。
200...互聯網
A1 -AN ...節點
B1 -BN ...節點
C1 -CN ...節點
D1 -DN ...節點
AR ...路由器
BR ...路由器
CR ...路由器
DR ...路由器

Claims (20)

  1. 一種控制在複數個網路之互聯網中第一網路封包流之方法,其包括以下步驟:初設一重複發生時間期間;在該第一網路中建立複數個封包佇列,該複數個封包佇列之各個封包佇列係與該互聯網之相應的其它網路有關;為該等其它網路之各個網路建立相應的封包速率值;當經過該重複發生時間期間時,將數個封包從與該等其它網路之一個給定網路有關的封包佇列移除,該等封包之數目不大於與該等其它網路之給定網路有關的封包速率值;以及將所移除的封包發出至該等其它網路之給定網路中的至少一節點。
  2. 如申請專利範圍第1項之方法,其中該封包速率值為一分數值。
  3. 如申請專利範圍第1項之方法,其中該重複發生時間期間為一分數值。
  4. 如申請專利範圍第1項之方法,更包括:偵測在該給定網路上複數個節點所成功地接收之封包;根據在該給定網路上的複數個節點處所成功地接收之所偵測封包數目,以計算一比率;將該比率與一臨界值比較;以及 根據該比較以調整對於該給定網路之該封包速率值。
  5. 如申請專利範圍第1項之方法,其中當該封包佇列中之該等封包的數目小於該封包速率值時,將所有封包從該封包佇列移除。
  6. 如申請專利範圍第2項之方法,其中當該封包速率值為一分數值時,該方法包括以下步驟:建立對於該給定網路之一封包速率計數器;當經過該時間期間時,將該封包速率計數器遞增與該給定網路有關之封包速率值;當該封包速率計數器之值大於或等於1時,將一封包從與該給定網路有關之封包佇列中移除;以及當將該封包從該封包佇列移除時,將該封包速率計數器之值遞減1。
  7. 如申請專利範圍第1項之方法,其中在該第一網路中各個別節點執行步驟以控制封包流。
  8. 一種控制在具有複數個網路之一互聯網中擁擠之方法,其包括以下步驟:建立用於在該互聯網中一第一網路之重複發生期間;將在該第一網路中之複數個封包佇列與該互聯網之相應的其它網路相關,並且將一封包速率值與各個封包佇列相關;以及當經過該重複發生期間時,將在與該等其它網路之一個給定網路相關的封包佇列中之數個封包發出至該給定網路之一個或更多節點,其中該等封包之數目不大於對於該 給定網路之封包佇列的封包速率值。
  9. 如申請專利範圍第8項之方法,其中當在該封包佇列中之該等封包的數目小於該封包速率值時,將該封包佇列中之所有封包發出至該給定網路。
  10. 如申請專利範圍第8項之方法,其中將在該封包佇列中之數個封包發出至該給定網路之步驟包括:將該等封包從與該給定網路之有關封包佇列中移除,其中該等封包之數目不大於對於該給定網路之封包佇列的封包速率值。
  11. 如申請專利範圍第8項之方法,其中當該封包速率值為一分數值時,將該等數個封包發出至一給定網路之步驟包括:建立對於該給定網路之一封包速率計數器;當經過各速率期間時,將該封包速率計數器遞增與該給定網路相關之封包速率值;當該封包速率計數器之值大於或等於1時,將一封包從該封包佇列移除;以及當將該封包從該封包佇列移除時,將該封包速率計數器之值遞減1。
  12. 如申請專利範圍第8項之方法,更包括:在各重複發生速率期間,將該等數個封包從該封包佇列移除。
  13. 如申請專利範圍第8項之方法,其中 該調整該封包速率值之步驟包括:偵測在該給定網路中複數個節點所成功地接收之該等封包;根據在該給定網路中該等複數個節點被成功地接收之所偵測該等封包之數目,計算一比率;將該比率與一臨界值比較;以及根據該比較,調整對於該給定網路之該封包速率值。
  14. 一種控制在具有複數個網路之一互聯網中擁擠之方法,該等複數個網路中之各個網路具有複數個節點,該方法包括以下步驟:在該等複數個網路之第一網路之至少一個節點中,建立分別與該等複數個網路之其它網路相關的複數個封包佇列,並且建立對於該等其它網路之各個網路相應的封包速率值;建立用於該第一網路之重複發生期間;以及對於從該第一網路中之至少一個節點發出至該等其他網路之一給定網路中的一節點之請求封包:將與該給定網路有關之該封包佇列載以至少一封包,其中該至少一封包之目的地為該互聯網之該給定網路中之一節點;以及當經過該重複發生期間之第一期間時,將數個封包從該封包佇列中發出至該互聯網之該給定網路,其中,該等封包之數目不大於與該給定網路相關之封包速率值。
  15. 如申請專利範圍第14項之方法,更包括:在各時間期間,將與該給定網路相關之該等封包從該封包佇列中移除。
  16. 如申請專利範圍第15項之方法,更包括:偵測在該給定網路上複數個節點被成功地接收之封包;根據在該給定網路上該等複數個節點被成功地接收之所偵測該等封包之數目,計算一比率;將該比率與一臨界值比較;以及根據該比較,調整與該給定網路相關之該封包速率值。
  17. 如申請專利範圍第15項之方法,其中當該封包速率值為一分數值時、將該等數個封包發出至一給定網路之步驟包括:建立對於該給定網路之一封包速率計數器;將該封包速率計數器遞增與該給定網路相關的封包速率值;當該封包速率計數器之值大於或等於1時,將一封包從與該給定網路相關的封包佇列中移除;以及當將該封包從該封包佇列移除時,將該封包速率計數器之值遞減1。
  18. 如申請專利範圍第14項之方法,其中該等封包速率值之至少之一為一分數值。
  19. 如申請專利範圍第14項之方法,其中該重複發生時間期間為一分數值。
  20. 如申請專利範圍第14項之方法,其中當對於該給定網路的封包佇列中之該等封包的數目小於該封包速率值時,將該封包佇列中所有封包傳送至該給定網路。
TW099105140A 2009-02-24 2010-02-23 調整封包率以最佳化網路中流量之系統及方法 TWI412249B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/379,490 US8406133B2 (en) 2009-02-24 2009-02-24 System and method of regulating a packet rate to optimize traffic in a network

Publications (2)

Publication Number Publication Date
TW201106658A TW201106658A (en) 2011-02-16
TWI412249B true TWI412249B (zh) 2013-10-11

Family

ID=42168908

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099105140A TWI412249B (zh) 2009-02-24 2010-02-23 調整封包率以最佳化網路中流量之系統及方法

Country Status (4)

Country Link
US (1) US8406133B2 (zh)
AR (1) AR075591A1 (zh)
TW (1) TWI412249B (zh)
WO (1) WO2010098826A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI492574B (zh) * 2010-02-05 2015-07-11 Realtek Semiconductor Corp 一種通訊系統的遠端裝置狀態的偵測與傳輸控制的方法
KR101458245B1 (ko) * 2010-08-20 2014-11-07 한국전자통신연구원 무선 메쉬 네트워크에서 데이터 전송의 혼잡 상황을 통지/회피하는 방법 및 이를 위한 메쉬 노드
US8369216B2 (en) 2010-10-19 2013-02-05 Silver Spring Networks, Inc. System and method of monitoring packets in flight for optimizing packet traffic in a network
WO2012167807A1 (en) * 2011-06-10 2012-12-13 Nec Europe Ltd. A method for controlling congestion within a network structure and a network structure
US10292066B2 (en) * 2011-11-04 2019-05-14 Cisco Technology, Inc. System and method of modifying congestion control based on mobile system information

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060039287A1 (en) * 2004-08-23 2006-02-23 Nec Corporation Communication apparatus and data communication method
US7099273B2 (en) * 2001-04-12 2006-08-29 Bytemobile, Inc. Data transport acceleration and management within a network communication system
EP1720295A1 (en) * 2005-05-02 2006-11-08 Broadcom Corporation Dynamic sharing of a transaction queue
US7299277B1 (en) * 2002-01-10 2007-11-20 Network General Technology Media module apparatus and method for use in a network monitoring environment

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6570847B1 (en) * 1998-12-31 2003-05-27 At&T Corp. Method and system for network traffic rate control based on fractional tokens
US6308238B1 (en) * 1999-09-24 2001-10-23 Akamba Corporation System and method for managing connections between clients and a server with independent connection and data buffers
US20020042839A1 (en) * 2000-10-10 2002-04-11 Christopher Peiffer HTTP multiplexor/demultiplexor
US7209977B2 (en) * 2001-10-01 2007-04-24 International Business Machines Corporation Method and apparatus for content-aware web switching
US7418494B2 (en) * 2002-07-25 2008-08-26 Intellectual Ventures Holding 40 Llc Method and system for background replication of data objects
US7310682B2 (en) * 2004-01-08 2007-12-18 Lsi Corporation Systems and methods for improving network performance

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7099273B2 (en) * 2001-04-12 2006-08-29 Bytemobile, Inc. Data transport acceleration and management within a network communication system
US7299277B1 (en) * 2002-01-10 2007-11-20 Network General Technology Media module apparatus and method for use in a network monitoring environment
US20060039287A1 (en) * 2004-08-23 2006-02-23 Nec Corporation Communication apparatus and data communication method
EP1720295A1 (en) * 2005-05-02 2006-11-08 Broadcom Corporation Dynamic sharing of a transaction queue

Also Published As

Publication number Publication date
US20100214922A1 (en) 2010-08-26
TW201106658A (en) 2011-02-16
US8406133B2 (en) 2013-03-26
WO2010098826A1 (en) 2010-09-02
AR075591A1 (es) 2011-04-20

Similar Documents

Publication Publication Date Title
TWI408925B (zh) 監視傳輸中封包以供最佳化網路之封包流量的系統及方法
EP3278514B1 (en) Data transmission
US8605590B2 (en) Systems and methods of improving performance of transport protocols
US9894005B2 (en) Adaptive routing controlled by source node
TWI458296B (zh) 監測傳輸中封包以最佳化網路之封包流量的系統及方法
US20060039287A1 (en) Communication apparatus and data communication method
TWI412249B (zh) 調整封包率以最佳化網路中流量之系統及方法
JP2021516012A (ja) ネットワークにおけるフロー管理
WO2011102294A1 (ja) 高速通信システム及び高速通信方法
JP2005533449A (ja) 送信ウィンドウサイズの計算方法
CN112019395A (zh) 增强型双向主动测量协议
CN106330742A (zh) 一种流量控制的方法及网络控制器
JP2010130329A (ja) 通信装置および中継装置
Ayar et al. A transparent reordering robust TCP proxy to allow per-packet load balancing in core networks
Sreekumari et al. A simple and efficient approach for reducing TCP timeouts due to lack of duplicate acknowledgments in data center networks
US20160337222A1 (en) Reliable Network Probing Session
Reddy et al. Ant‐inspired level‐based congestion control for wireless mesh networks
JP2003318967A (ja) 帯域制御方法および輻輳制御方法ならびにネットワーク構成装置
Marbach et al. Active queue management and scheduling for wireless networks: The single-cell case
Hisch Performance evaluation of TCP flows
Johannessen Investigate reordering in linux tcp
JP2012134907A (ja) Tcp転送装置およびそのプログラム
Mahmood et al. OLWRED: Best Selected Strategy for Data Transmission in Heterogeneous Networks
JP4766703B2 (ja) エッジノードおよび帯域制御方法
Loureiro et al. Open box protocol (obp)