TWI458296B - 監測傳輸中封包以最佳化網路之封包流量的系統及方法 - Google Patents

監測傳輸中封包以最佳化網路之封包流量的系統及方法 Download PDF

Info

Publication number
TWI458296B
TWI458296B TW100137280A TW100137280A TWI458296B TW I458296 B TWI458296 B TW I458296B TW 100137280 A TW100137280 A TW 100137280A TW 100137280 A TW100137280 A TW 100137280A TW I458296 B TWI458296 B TW I458296B
Authority
TW
Taiwan
Prior art keywords
network
node
networks
packet
individual
Prior art date
Application number
TW100137280A
Other languages
English (en)
Other versions
TW201230730A (en
Inventor
Daniel D Kan
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 TW201230730A publication Critical patent/TW201230730A/zh
Application granted granted Critical
Publication of TWI458296B publication Critical patent/TWI458296B/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
    • H04L47/12Avoiding congestion; Recovering from congestion
    • 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/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

監測傳輸中封包以最佳化網路之封包流量的系統及方法
相關申請案
本專利申請案係關聯於序號為12/320,823號(待審且於2010年8月5日依美國專利申請公告第20100195495號所公告)以及12/379,490號(待審且於2010年8月26日依美國專利申請公告第20100214922號所公告)的美國專利申請案,茲將該等案件各者依其整體而以參考方式併入本案。
技術領域
本揭系統及方法概略針對於一電腦網路或互連網路,尤其是「網際網路協定」式網路及互連網路,內之節點間的通訊和資料交換。示範性具體實施例特別是針對於多個電腦節點之間具有效率性及經濟性的資料傳輸。
互連網路為利用常見路由技術所連接之多個不同電腦網路的組集。「網際網路」即為此種互連網路的其一範例,其中在不同網路內之節點間的通訊是由一互連網接協定標準,「網際網路協定(IP)套集」,所促成。
該詞彙「網際網路(Internet)」(I為大寫)是指一種利用「網際網路協定套集」進行資料交換之全球性、可公開接取的互連封包切換式網路系統。
而並非「網際網路」(I為大寫),但確運用「網際網路協定套集」,的互連網路則可變換地稱為「網際網路」、「IP互連網路」、「私有網路」、「私有IP互連網路」或「私有IP網路」。換言之,「網際網路」實僅為IP式互連網路的其一範例,然該者因其全球性且可公開接取的本質而極為普遍。
即如IP網路中所眾知者,為令IP互連網路內之其一節點能夠將資料發送至該IP互連網路內的另一節點,必須將資料裹裝在一IP封包內。
圖1A為一依據先前技藝之電腦網路的區塊圖。即如圖1A中所示,節點1、節點2、節點3和節點4皆係連接至一電腦網路10。為在網路之間進行資料交換,可構成一互連網路。互連網路的構成是根據一些節點的用途而定,該等係經區分為互連該等網路的閘道器節點。這些互連節點可包含例如「路由器」。
圖1B圖為一依據先前技藝之互連網路的區塊圖。即如圖1B中所示,該互連網路20含有網路A、網路B、網路C及網路D。該等網路各者含有一以圓圈區分的特殊節點。在圖1B中,該等特殊節點,節點A、節點B、節點C及節點D,為路由器(然可為具有任何各種類型且互連兩個或更多網路的節點),並且在後文中將分別地標註為路由器A、路由器B、路由器C及路由器D。
在一範例裡,若網路C的節點C3將一封包發送至網路A的節點A1,則首先必須將該封包發送至網路C的路由器C。而路由器C又接著將該封包發送至網路B的路由器B。然後該封包自該路由器B發送至網路路由器A的路由器A,此者再將該封包遞交至網路A的節點A1。對於如何在多個網路之間將封包自一節點路由傳送至另一者的命名方式通常稱為節點之間的「路徑」。一條路徑上的各個構件可另異地稱為「中間節點」、「中介節點」,或僅簡略地稱為「跳點」。
節點與路由器之間的路徑可為按照動態或靜態方式所構成。像是「路由傳送資訊協定(RIP)」、「邊界閘道器協定(BGP)」以及「開放最短路徑優先(OSPF)」的通訊協定即為運用在IP互連網路中之動態性互連網路協定的範例。
圖1C係自「發送者」及「接收者」的觀點來說明互連網路。請求可透過一閘道器以自該發送者發送至該等接收者,而該閘道器即為前往該等接收者網路之其一者的進入點。該閘道器的展現形式可為例如一無線存取點。例如,圖1C的互連網路可為一公用網路100,即如圖1D中所進一步詳示者。
圖1D為該公用網路100的一般化區塊圖。該公用網路100中含有一或更多個電子裝置101。該等電子裝置101可透過無線區域網路(LAN) 102所連接。即如圖1D所示,可構成多個無線LAN,該等可為或無須重疊,使得能夠將一給定電子裝置連接至僅單一無線LAN或是連至多個無線LAN(或為其一部份)。該等電子裝置可為任何類型的電子裝置。電子裝置的範例包含公共設施節點,這些可包含公共設施計表或者可為連接至一公共設施計表。
公共設施計表是一種能夠測量一所計量值,通常為像是電力、水、天然氣等等之商品,的裝置。連接至公共設施計表的公共設施節點包含網路介面卡(NIC)以供在一網路上進行通訊,並且可含有一或更多RF收發器以供在一或更多無線LAN上進行通訊。其他的電子裝置範例包含各種通訊裝置,像是機頂盒(可用於有線電視或衛星電視傳遞)、家用設備(即如電冰箱、電暖器、燈具、烹飪設備等等)、電腦或計算裝置(即如遊戲機、儲存裝置、PC、伺服器等等)、電話或行動電話、電池儲存裝置、交通裝置、交通載具(例如:電動或油電混合車輛或是其他載具)、娛樂裝置(即如TV、DVD播放器、機頂盒、遊戲機等等),或是其他可在家庭、企業、道路或停車場或者其他位置發現到的裝置。在一些範例裡,該等電子裝置可運行如閘道器、中繼器,或是進行其他與互連裝置相關的功能。該無線LAN 102可為任何類型的無線網路,並且可使用任何頻率、通訊頻道或通訊協定。
在一些公用網路範例裡,該等LAN 102可為連接至一或更多存取點(AP) 103。一給定LAN可僅經連接至單個存取點,或者可為連接至兩個或更多的存取點。該等存取點103可為連接至一或更多廣域網路(WAN) 104。該等WAN 104可為連接至一或更多後台辦公室系統(BOS) 105。對一公共設施而言,該後台辦公室系統可處理各式各樣的企業或管理任務,這些包含測計資訊組集的參與作業、管理測計裝置、網路安全,或是公用網路中可能需要的其他功能。後台辦公室系統的範例包含帳務及會計系統、代理人伺服器、停機偵測系統(公用網路可能使用到)、資料儲存系統等等。
可為LAN或WAN或是兩者組合之通訊網路內的節點可在各種通訊層處利用一或更多協定以與其他節點進行通訊。例如,有些節點可利用IPv6進行通訊,一部分是利用IPv4進行通訊,而一些則能利用IPv4或IPv6兩者進行通訊。而有些節點則能藉由將IPv6封包裹裝在IPv4封包內以進行通訊。此外,有些節點能夠建立穿過一IPv6網路的IPv4隧徑。
壅塞控制在概念上可為描述如控制進入一給定網路之封包入方流量的速率,目標是將通訊節點之間的理想通量予以最大化而同時避免壅塞性崩潰。壅塞性崩潰是一種其中因壅塞之故而僅出現極微或甚全無可用通訊的狀況。
在像是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」乙文。
類似於前述「Routers Discard Packets」方法的方法並非端對端壅塞控制模型。由Sally Floyd及Van Jacobson所撰之「RED Gateway for Congestion Avoidance」說明一種在一路徑上之路由器及中介跳點可藉以拋除封包俾強化最大鏈結容量的方法。
類似於TCP壅塞避免,然為端對端者,的方法並不會將互連網路路徑的中介跳點考量如壅塞點。在TCP壅塞避免技術裡,對於是否應進行封包發送的決策是依據兩個相離端點之間的通訊成功率而定。
本揭示範性具體實施例可藉由依據網路條件以調適帶寬運用度,並且在一些範例裡包含傳輸延遲,藉以對於有限帶寬和動態網路來進行累集封包流量的最佳化。此項壅塞控制方法不同於其他的壅塞控制方法,該等提供端對端壅塞控制並且忽略對兩個網路之間及之內的累集行流進行控制。
茲揭示一種在一具有複數個網路之互連網路內的示範性壅塞控制方法。該方法包含將一請求封包發送至一第二網路內的節點;當該請求封包發送至該第二網路節點時,或者基於是否自該第二網路節點收到回應封包,調整一傳輸中封包計數器的數值;以及根據該傳輸中封包計數器的數值,和用於該第一網路節點之最大傳輸中封包指示的數值,來決定是否可發送另一請求封包。該最大傳輸中封包指示是依據表示往返時間的統計值所調整,此時間包含網路延宕和請求處理時間。此外,封包傳輸可為速率有限性,藉以控制在封包層級與位元組層級之其一或兩者處的傳輸速率。在位元組層級處的速率控制可為基於一或更多的請求和對請求之回應。
另一種示範性方法是針對於在具有複數個網路之互連網路的第一網路內進行壅塞控制。該方法包含將一第一請求自第一網路內之節點發送至第二網路內之節點;遞增用於該第二網路之該第一網路的傳輸中封包計數器;以及啟動該第一網路的計時器。該方法進一步包含,當自該第二網路收到回應封包或是超過該計時器的逾期時間時,遞減用於該第二網路之該第一網路的傳輸中封包計數器;以及根據該傳輸中封包計數器的數值和用於該第一網路之最大傳輸中封包指示的數值來決定是否能夠自該第一網路發送第二請求封包。該最大傳輸中封包指示可為依據表示往返時間的統計值所調整。此外,封包傳輸可為速率有限性,藉以控制在封包層級與位元組層級之其一或兩者處的傳輸速率。在位元組層級處的速率控制可為基於一或更多的請求和對請求之回應。
示範性電腦可讀取媒體係經編碼以用於執行複數個網路之互連網路內第一網路的壅塞控制之程式。該電腦可讀取媒體包含第一模組,此者可供將一請求封包發送至一第二網路內的節點;第二模組,此者可根據下列其一者以調整一傳輸中封包計數器的數值,即將該請求封包發送至該第二網路節點、自該第二網路節點收到一回應封包和一與該請求封包相關聯之計時器的逾期時間;以及第三模組,此者根據該傳輸中封包計數器的數值,和用於該第二網路之該第一網路之最大傳輸中封包指示的數值,以決定是否可發送另一請求封包。該最大傳輸中封包指示可為依據表示用於發送自該第一網路之請求封包的往返時間之統計值所調整。此外,封包傳輸可為速率有限性,藉以控制在封包層級與位元組層級之其一或兩者處的傳輸速率。在位元組層級處的速率控制可為基於一或更多的請求和對請求之回應。
一種示範性方法係針用於具有複數個網路之互連網路內的壅塞控制。該方法包含在該等複數個網路中的第一網路裡建立複數個封包佇列和傳輸中封包計數器,該等係個別地關聯於該等複數個網路中的其他網路。對於待自該第一網路內之一節點發送至該等其他網路其一給定者內之一節點的請求封包,該方法進一步包含以至少一請求封包載荷與該給定網路佇列相關聯的封包,其中該至少一請求封包係目的標定於該互連網路之給定其他網路內的一節點;將該至少一請求封包發送至該給定其他網路內的節點;當將該請求封包發送至該給定其他網路內的節點時,在一方向上調整與該給定其他網路相關聯之傳輸中封包計數器的數值,並且當自該給定網路內的節點收到一回應封包時,在另一方向上調整該傳輸中封包計數器;以及根據該傳輸中封包計數器的數值和用於該第一網路節點之最大傳輸中封包指示的數值,決定是否能夠將另一請求封包發送至該給定網路內的節點。該最大傳輸中封包指示可為依據表示用於發送自該第一網路之請求封包的往返時間之統計值,像是往返時間,所調整。此外,封包傳輸可為速率有限性,藉以控制在封包層級與位元組層級之其一或兩者處的傳輸速率。在位元組層級處的速率控制可為基於一或更多的請求和回應。
在一特點中,本發明為一封包排程器,此者可供顯著地改善自後端辦公室至該等公共設施節點(像是公共設施計表)的網路帶寬使用度,獲致更為快速的整體計表作業,像是計表資料讀取和韌體升級。所述發明可在具有變動性往返時間及存取點通量的動態無線網路內良好運作。本發明亦併入可調適的傳輸中封包(PIF)排程器,該者可依據所測得的往返時間按動態方式決定PIF限制。可藉由封包或位元組速率限制器以進一步強化該排程器,該者有助於將對該互連網路內之通訊造成負面效應的PIF排程器突峰特徵予以最小化。
在典型的網路環境裡,壅塞控制機制會嘗試減少流量壅塞;然而,傳統的壅塞控制演算法是拋除兩個網路之間和之內的累集行流。在傳統的TCP/IP網路中,壅塞控制機制確能良好運作;不過,在多個相互連接網路的系統裡就會出現問題,因為該等網路可能在該網路內任意數量的位置處為帶寬受限。
例如,網路的最佳化可能是依本地方式,亦即在兩個端點間,然非整體性地,亦即在該累集之內的兩個網路間,所達成。同時,端對端壅塞可能耗用大量的資源,原因是必須維護各個端對端組對的狀態。這在當其中例如一網路內的系統與其他網路內的大量節點(即如多達上百萬個節點)進行通訊時尤其顯著,並且要維護對於如此眾多端對端組對的狀態可能是不切實際。
現將說明可整體性地解決網路內之壅塞控制問題,而大致不同於像是TCP式壅塞控制機制之端對端方式,的各種示範性具體實施例。在本案說明中,圖1A-1C以及相對應敘述係提供作為背景。圖2A至5以及相對應敘述概略引述自相關的美國專利申請公告第20100195495號和第20100214922號(術語部份則略加更改)。圖6-7b以及相對應敘述則是更加特別地針對於具備選擇性速率限制器的調適性PIF排程器。
圖2A為根據一示範性具體實施例之互連網路的略圖。即如圖2A所示,一封包切換式互連網路200含有封包切換網路A到D。該等封包切換網路各者含有複數個非閘道器節點以及至少一個閘道器節點。該閘道器節點可為例如中繼器、存取點、路由器,或是其他用以互連兩個或更多網路的裝置。例如,網路A含有複數個非閘道器節點A1-AN及一閘道器AR,網路B含有複數個非閘道器節點B1-BN及一閘道器BR,網路C含有複數個非閘道器節點C1-CN及一閘道器CR,並且網路D含有複數個非閘道器節點D1-DN及一閘道器DR。在後文中,將按照示範性網路X及Y(未以圖示)以描述該互連網路200內之封包切換網路的共同特徵。
在一示範性具體實施例裡,一IP互連網路內的非閘道器節點可經組態設定以將封包發送至該互連網路200內的其他非閘道器節點。在後文中是將透過該互連網路以發送該等封包的節點稱為「發送節點」。而後文中將欲以經由該互連網路接收封包的節點稱為「接收節點」。特定而言,該示範性具體實施例是針對一項其中在一封包切換互連網路之給定封包切換網路內的發送節點將封包發送至位於相同互連網路內不同網路之接收節點的實例。
例如,網路A內的節點A2(發送節點)可為組態設定以將封包發送至多個接收節點,即網路B上的節點B1、節點B2、節點B3和節點B4;網路C上的節點C1、節點C2、節點C3和節點C4;以及網路D上節點D1、節點D2、節點D3和節點D4。
每當發送節點將一封包發送至一接收節點時,該發送節點可預期,在發送原始封包後,於同量時間之內會有一回應於該原始發送封包作為確認用途的封包,且通常確為如此。該確認封包可僅含有確認結果,或者可含有回應資料(此資料意味著確認)。源自於該發送節點的封包稱為請求封包,並且由該接收節點所發送的封包稱為回應封包。
對於任何互連網路來說,在一網路上之節點與任何其他網路內之一節點間的路徑可具有最大延宕(或許為可變性)以及資料適量速率。一示範性具體實施例提供一種用於端對端壅塞控制的方法,此法為,當決定是否應發送一封包時,利用該互連網路整體性的最大容量以作為主要考量。
在該網路X處,該互連網路之內的各個其他封包切換網路,像是網路Y(未以圖示),具有一相關聯的封包佇列。例如,QUEUE-Y標註一待予自網路X內之一節點發送至該網路Y內之接收節點的請求封包佇列。該封包佇列的實作可如圖2A所示。例如,網路A可包含QUEUE-B、QUEUE-C及QUEUE-D。同樣地,雖未圖示,網路B可含有QUEUE-A、QUEUE-C及QUEUE-D;網路C可含有QUEUE-A、QUEUE-B及QUEUE-D,並且網路D可含有QUEUE-A、QUEUE-B及QUEUE-C。
結束計時(Timeout)係與由一發送節點發送至一接收節點的各個請求封包相關聯。對於各個請求封包的結束計時數值無須為相同,並且實際上對於由該發送節點所發送的每個請求封包皆可為相異。該結束計時數值是代表,按秒所計(可為分數值),該發送節點在將該請求封包或該回應封包宣告為漏失前將會等待接收來自該接收節點之回應封包的最大時間。
最大可容允傳輸中封包(PIF)計數器可為在該互連網路內的其一網路處對於該互連網路200之內的各個其他網路所定義。例如,就以該網路X而言,可將對於網路Y的傳輸中封包限制標註為PIF-LIMIT-Y。對於該網路Y的限制PIF-LIMIT-Y可經指配以一大於0的初始整數值。此外,在該網路X處,對於各個PIF-LIMIT的初始值可對各個網路而有所差異。該PIF-LIMIT數值代表可發送至一給定網路之未經確認請求封包(亦即正在該網路X與該給定網路之任何接收節點間「傳輸中」)的最大數量。該傳輸中封包限制的示範性實作可如圖2A所示。例如,對於該網路A,PIF-LIMIT-B為關聯於網路Network B,PIF-LIMIT-C為關聯於網路Network C且PIF-LIMIT-D為關聯於網路Network D。
未經確認請求封包為該發送節點尚未收到針對於其之回應封包,或是尚未超過針對於其之逾期時間,的請求封包。該逾期時間可如下式所定義:
逾期時間=目前時間+結束計時。
複數個目前未經確認傳輸中封包計數器可為在該互連網路內的其一網路處對於該互連網路之內的各個其他網路所定義。就以示範性網路X而言,對於該網路Y的目前未經確認傳輸中封包計數器可標註為PIF-COUNTER-Y。該PIF-COUNTER數值可為具有初始值0的整數值。該PIF-COUNTER數值是表示既經發送至一給定網路之未經確認請求封包的目前數量。即如前文中所定義,未經確認請求封包為該發送節點尚未收到針對於其之回應封包,或是尚未超過針對於其之逾期時間,的請求封包。該目前未經確認傳輸中封包計數器的示範性實作可如圖2A所示。例如,對於網路A,PIF-COUNTER-B為關聯於網路Network B,PIF-COUNTER-C為關聯於網路Network C且PIF-COUNTER-D為關聯於網路Network D。
圖2B及2C為根據一示範性具體實施例之壅塞控制方法的流程圖。
即如圖2B所示,若滿足下列兩項條件,則網路X的發送節點可將一請求封包發送至一接收節點。首先,對於該網路X,與網路Y內之一接收節點相關聯的封包佇列QUEUE-Y必須為非空(S200)。其次,與該網路Y相關聯的PIF-COUNTER-Y數值必須小於亦與該網路Y相關聯的PIF-LIMIT-Y(S202)。若這兩項條件成立,則可自網路X內的QUEUE-Y移除一封包並予發送至網路Y內的該接收節點(S204)。令PIF-COUNTER-Y的數值遞增,並且將該所發送請求封包的逾期時間設定為逾期時間=目前時間+結束計時(步驟S206)。另一方面,若PIF-COUNTER-Y的數值等於PIF-LIMIT-Y,則網路X內的發送節點此時並無任何動作。
即如圖2C所示,若在網路X處自網路Y內的一接收節點收到一回應封包,則遞減該計數器PIF-COUNTER-Y(S208)。另一方面,若在網路X處並未自網路Y內的接收節點收到回應封包,則該發送節點決定是否超過該逾期時間(S208)。若既已超過對於經發送至網路Y內之接收節點的請求封包之逾期時間,則遞減該計數器PIF-COUNTER-Y(S210)。每當對於任何給定網路Y之限制PIF-LIMIT-Y的數值大於0,則對於網路X內的發送節點,針對網路Y內的一接收節點重複步驟S200。
在一替代性具體實施例裡,不以當將封包發送至接收節點時遞增計數器並且當自一接收節點收到一封包或既已超過該逾期時間時遞減計數器,而是該系統可經組態設定以當發送一封包時遞減計數器並且當收到一封包或既已超過該逾期時間時遞增計數器。
圖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各者。(例如,節點A1可為後台辦公室系統(BOS),像是如圖1D所示的BOS 105。)為將一封包區分於另一封包,可對經目的標定於該等節點各者的請求封包註記以標籤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的各者產生一佇列,其中若與一請求封包相關聯的目的地節點確為與該佇列相關聯之網路的成員,則該請求封包即為該佇列的成員。除此之外,可將對於該等佇列各者的傳輸中封包限制(PIF-LIMIT)變數設定為某一初始值,並且將對於該等佇列各者的未經確認傳輸中封包(PIF-COUNTER)變數設定為0。
在後文討論中,將在該互連網路300的實作情境下說明如圖2B及2C所示的壅塞控制方法。
若各個網路佇列為非空且對於各個佇列的PIF-LIMIT數值既經初始化,則節點A1可將一請求封包發送至該等節點B1-B4、C1-C4及D1-D4的任一者(S200)。
圖4A說明在完成S200後各個佇列的示範性狀態。即如圖4A所示,各個佇列係經載入有個別的請求封包,並且將對於各個佇列的PIF限制數值初始化為PIF-LIMIT-B=3、PIF-LIMIT-C=1、PIF-LIMIT-D=2。
若一佇列的PIF-COUNTER數值小於個別的PIF-LIMIT數值,則可自該佇列移除一請求封包並予發送至所指定的接收節點(S202、S204)。同時,將該PIF-COUNTER數值遞增一(S206)。另一方面,若該佇列的PIF-COUNTER數值並非小於該佇列的個別PIF-LIMIT數值,則程序返回至步驟S200以決定該佇列是否為非空。
可針對各個佇列重複進行步驟S200-S206,直到該PIF-COUNTER數值等於該PIF-LIMIT數值為止。
圖4B說明,在完成步驟S206後且當該PIF-COUNTER數值等於該PIF-LIMIT數值時,網路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
每當一網路的PIF-COUNTER數值小於該網路的PIF-LIMIT數值時,就會將與該網路相關聯之佇列的封包予以移除。當自該佇列移除時,該等封包即被發送至指定的接收節點,並且更新計數器PIF-COUNTER的數值以反映未經確認之封包的數量。當尚未自該接收節點收到回應或者尚未超過該封包的逾期時間時,此封包即屬未經確認。
現再度回到圖2C的壅塞控制方法,若超過對於一所發封包的逾期時間,則該封包係獲宣告為漏失。或另者,若確收到一個別回應封包,則封包通訊即屬成功(S208)。在任一情況下,都會將對於該網路之計數器PIF-COUNTER的數值遞減一(S210)。
例如,假使RP:C3係經宣告為成功或漏失,則會將PIFUNACKED-C的數值遞減一以使得PIF-COUNTER-C=0。
圖4C為反映,在完成步驟S208之後,網路A內各個佇列之示範性狀態的略圖。
即如圖4C所示,PIF-COUNTER-C=0,此值是小於PIF-LIMIT-C=1。故而會將QUEUE-C內的次一封包移除(RP:C1)並予發送至該接收節點C1。該PIF-COUNTER-C數值會遞減1,使得PIF-COUNTER-C=1。
圖4D為說明,在完成步驟S210之後,各個佇列之示範性狀態的略圖。即如圖4D所示,既已自QUEUE-C移除RP:C1並且PIF-COUNTER-C=1。
待予發送的請求封包集合並無須為固定。例如,在運行於發送節點上之應用程式的壽命過程中,若須將額外封包發送至另一節點,則可將該請求封包載入至與該適當網路相關聯的適當佇列內。
如圖2B及2C所示的演算法可為由位在發送節點處,或是該發送節點所歸屬的網路內之其他位置處,的處理器所執行,因此能夠按照逐一網路的方式進行壅塞控制。
圖4E說明,在完成(圖2D的)步驟S216而行經第一RATE-INTERVAL後,網路A之QUEUE-B、QUEUE-C及QUEUE-D佇列的示範性狀態。比較圖4A及4E,可觀察到封包既已自其等的個別封包佇列中移除,並且依據各個個別封包所相關聯的佇列和網路發送至一指定接收節點,即如後文所列:
-網路B,佇列B:RP:B4、RP:B3、RP:B2
-網路C,佇列C:RP:C3
-網路D、佇列D:RP:D4、RP:D1
在既已行經速率區間的秒數之後,重複進行(圖2D的)步驟S212-S216,直到各個佇列成空為止。每當與一網路相關聯的QUEUE為非空並且既已行經該速率區間之後,即可依據該QUEUE的RATE移除該QUEUE內的封包。當自該佇列移除時,該等封包即被發送至該指定接收節點。
在行經過另一速率區間之後,會再度地檢視各個佇列以決定待予處理之封包的數量。根據該檢視結果,會自QUEUE-B移除一(1)個封包,自QUEUE-C移除一(1)個封包,並且自QUEUE-D移除兩(2)個封包。QUEUE-B雖具有封包速率RATE-B=3,然由於該佇列內僅維持有一(1)個封包,因此僅能移除一個封包。自QUEUE-B、QUEUE-C和QUEUE-D所移除的封包會被發送至該等接收節點(圖2D的S216)。
圖4F說明,在經該第二速率區間完成圖2D的S216後,佇列QUEUE-B、QUEUE-C和QUEUE-D的示範性狀態。即如圖4F所示,在經過該第二速率區間之後,僅QUEUE-C維持有封包。因此將按封包速率RATE-C=1以在第三和第四速率區間重複進行(圖2D的)步驟S212-S216,直到QUEUE-C成空為止。
待予發送的請求封包集合並無須為靜態。例如,在運行於一發送節點上之應用程式的壽命過程中,若須將額外封包發送至另一節點,則可將該請求封包載入至與該適當網路相關聯的適當佇列內,並按如封包所傳送且續予自該佇列中移除。
圖2D所示之演算法可由位於一發送節點處的處理器,或是由與該發送節點所歸屬之網路相關聯的處理器(像是該發送節點所歸屬之網路的任何節點之處理器)執行,從而能夠依據各個接收網路以在該發送節點所歸屬的網路內進行壅塞控制。
該示範性具體實施例可在各種不同類型的通訊系統中實作。一種示範性範例即為公共設施監測及控制網路。圖5為根據一示範性具體實施例之公共設施監測及控制網路的略圖。該公共設施監測及控制網路可為依據圖3的示範性互連網路實作所組態設定。該示範性公共設施監測及控制網路可具有下列節點和網路定義:
-網路A可經指定為其中含有至少一個公共設施後台辦公室系統節點的廣域網路。換言之,該等節點A1-A4的一或更多者可為公共設施後台辦公室系統節點。
-路由器A可經指定為後端辦公室網路路由器。
-路由器B、路由器C及路由器D可經指定為無線存取點,並且在後文中分別地稱為存取點B、存取點C和存取點D,或是AP-B、AP-C及AP-D。
-網路B、網路C及網路D可經指定為無線格絡網路。
-在路由器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及2C所示之壅塞控制演算法,將查詢及命令發送至所連接的公共設施測計裝置並且將這些查詢及命令的結果發送至該互連網路內的其他節點。
本案發明人亦認知到,在一些範例裡,一傳輸中封包排程器的通量效能可能敏感於往返時間(RTT),此者表示對於自該第一網路節點所歸屬之網路發送至一第二給定網路之任何節點的請求封包之網路延宕與處理時間的統計值,並且該通量效能亦可為敏感於該所選PIF限制的數值。
例如,參照圖1D,該等請求可為透過一存取點(AP) 103以自該後台辦公室系統(BOS) 105發送至位於區域網路(LAN) 102之內的接收者101。該等鏈結105-103、103-101和101-101可為有限帶寬,並且該帶寬可因變化的鏈結條件而具有動態性。
可將一調適性PIF排程器佈署在該發送者的網路裡,像是在一BOS內,藉此獨立地控制該BOS與該等AP各者之間的累集流量行流,而如此又能控制各個AP與該等所連之接收者間的行流以供利用該AP進行通訊。該排程器根據一種調適性PIF演算法,這是基於例如未經確認傳輸中封包之數量的檢視結果以及與該給定閘道器相關聯的往返時間,按逐個閘道器之方式加速或減慢發送請求的速率。前往各個閘道器的流量可為藉由一速率限制器所進一步塑控,藉以減少突峰並設定一通量限制。
例如,若無調適性PIF演算法,假使該RTT很大,則該排程器可能會導致過度緩慢地發送封包(即如肇因於該等封包中含有一接收網路節點在提供回應之前需耗費時間以進行處理的命令,及/或由於前往該最終目的地網路節點的高跳點計數值)。此外,在一些範例裡,(具有例如20或甚至30的)靜態PIF限制可能不夠大而無法足以維持在非常耗時操作過程中或者在一具有高延宕的網路裡所出現之大RTT的高通量。提高該PIF限制能夠補償由大RTT所表示的低通量。
就以突峰而言,若無速率限制,則該PIF排程器可能允通突峰流量,而如此將會增高封包漏失的情況。而隨著PIF限制增加,流量可能變得更為暴衝。突峰可能自閘道器佇列溢出,增延該閘道器佇列內的查詢時間,並且可能會在PHY/MAC層中導致碰撞問題。PIF排程器可能會耗佔眾多或者所有的可獲用網路帶寬,使得其他應用程式只能用到微少或全無的網路帶寬。
一般說來,最好是固定速率限制器和調適性PIF排程器能夠共存以獲致最佳效能,即使是任一方法本身可提供令人滿意的作業。該等方法彼此互補,而且倘若這兩種機制並未解離則通常可將效能最佳化。即如前述,藉由調適性PIF排程器,速率限制可運作以當提高PIF限制時能夠減少突峰。固定速率限制在其中通量可能因多變網路條件而快速波動的動態性無線網路裡可能無法良好運作。因此,若過高地設定該固定速率限制,則當網路條件不良時可能會過度快速地發送封包而導致封包漏失問題。另一方面,假使過低地設定該速率限制,則當條件改善時網路使用率可能會過低。注意到TCP式動態壅塞控制演算法是仰賴於接收確認及/或缺少確認,藉以按照端對端的方式調整發送速率。在其中鏈結條件通常為良好然路由處理經常會改變及/或端點進入離出的動態網路裡,缺少確認可能並非網路條件的良好表示,從而在這種情況下TCP式壅塞演算法可能會過度地降緩封包發送速率。
圖6為說明一速率有限調適性PIF排程器之範例的架構圖。該排程器可為例如按一電腦所運作,其中含有處理器以供執行經儲存在非暫瞬性電腦可讀取媒體內的電腦程式指令。尤其,該電腦可藉由執行指令所組態設定以進行該調適性PIF排程器程序。該調適性PIF區塊602利用自一RTT估計回授區塊604所提供的資訊來調整PIF。可運用一速率限制器區塊605以限制該網路上的封包請求速率及/或回應流量。例如,可運用一或更多封包速率限制器區塊606、請求位元組速率限制器區塊608和回應位元組速率限制器區塊609以調變封包傳輸的速率。
可運用該封包速率限制器區塊606以強化封包速率限制,同時可利用該請求位元組速率限制器區塊608及/或回應位元組速率限制器區塊609以強化位元組速率限制。就以速率限制而言,在一些範例裡,僅由一位元組速率限制器可能無法避免封包速率超過一所欲速率,像是在小型請求及/或回應封包的情況下。此外,單以一封包速率限制器可能無法防止位元組速率超過一所欲速率,像是在大型請求及/或回應封包的情況下。因此,利用封包速率限制器或是一或更多位元組速率限制器雖皆為適當(而且事實上就算都不使用亦為完全恰當),然運用封包速率限制器和一或更多位元組速率限制器兩者可能較佳,藉以在更廣泛的封包大小條件範圍下能夠按可靠方式運作。
現將特別討論依據往返時間(RTT)以調適或調整PIF的概念。往返時間可視為是一種自發送網路之節點發送封包的時間與在一接收網路中一節點收到對該封包之回應的時間間之延宕的表示。再度地,PIF為未經確認傳輸中封包之數量的限制;TO為結束計時;並且TR為該互連網路的尖峰累集通量容量。
假設無限的閘道器緩衝器、無封包漏失並且對於所有位在一閘道器後方的節點為固定RTT,則有效封包通量(R)可如下式所決定:
根據該方程式,在該RTT窗口內,一PIF排程器不應容允發送超過PIF數量的封包。此外,該封包通量是由該互連網路TR的尖峰累集容量所限界。故而可自此方程式歸納出,只要RTTPIF/TR,即能達到該互連網路的可容允最大通量。換句話說,只要PIFRTT*TR,則在理論上可達到TR的最大通量。在一些範例裡,可將PIF選定為最小的可能數值:PIF=RTT*TR。選定該最小可能數值的理由是在於將較高PIF數值可能另為允通的流量突峰予以最小化。RTT可為針對各個封包所測得,並且可運用像是移動平均函數的平滑化函數來以決定RTT統計值。在一範例裡是利用經指數加權的移動平均函數。
因此可觀察到僅以該互連網路之尖峰容量的先驗知識或估算值即能動態地調整該最大PIF,藉此達到該互連網路可容允的最大通量,即使是當在任何特定時間處的互連網路容量並非先前已知時亦然。換句話說,自前述方程式,可觀察到只要PIFRTT*TR,即可達到最大通量TR,其中該TR為該互連網路的尖峰容量,並且通常為先前已知或者能夠可靠地估算出(或是在一些情況下可例如像是藉由實驗方式所初始地決定)。RTT可為依照動態方式所決定。
PIFRTT*TR的關係對於任何TR0的數值皆為成立。令TI標註該互連網路中在任何時刻皆可獲用的最大通量。TI總是小於或等於TR。在不失一般性的情況下,前述方程式中可將TR代換為TI。按前述方程式所選擇的PIF動態數值為PIF=RTT*TR。因TRTI,故而PIF=RTT*TRRTT*TI。所以經動態決定的PIF為足夠地大而可供獲得最大瞬時通量TI。
換言之,在一些範例裡,該調適性PIF決定作業僅需知曉該互連網路的尖峰容量就可按照該互連網路所足能處置般快速地發送封包,即使是並未將該互連網路在任何時刻處能夠處置者顯明地傳通至該PIF決定作業亦然。例如,在一互連網路裡,一典型存取點的尖峰容量可為每秒七個封包,然依據目前互連網路條件而定的實際容量則或許是在每秒一個封包至每秒七個封包之間變動。該PIF決定作業雖不知曉此實際容量,然確能調適而使得封包發送減緩或加速藉以匹配於該互連網路所能容允的實際容量。唯一需事先輸入至該調適性PIF決定作業者即為該尖峰容量。
即如前述,若未對封包傳輸的速率設置一些限制而由該PIF計數器所調節,則在一些情況下,封包傳輸可能會暴衝,使得即便是該互連網路整體按照該PIF計數器被視為能夠處置該流量,一些特定元件可能並無法處置該流量且因此可能導致封包漏失。除此之外,若該封包傳輸速率僅由該PIF所限,則封包傳輸可能會嘗試耗佔該互連網路的所有可獲用帶寬,同時其他應用程式所需要或要求的部份帶寬就無法獲用。所以在一些範例裡可能會將例如通量考量為下列三個數值的最小值:1)在一給定瞬時處該互連網路所能容允的最大通量;2)尖峰容量TR;以及3)由速率限制器所馭控的速率。
例如,該封包速率限制器606可利用眾知的符記桶法則,其中會按一固定速率將符記增置至一封包速率桶,並且當發送封包時就將符記自該封包速率桶移除。若在一封包已備妥以予發送的特定時間處該封包速率桶內並無足夠符記,則無法在該時點處發送該封包。根據符記桶演算法的其一範例,會以每l/r秒將一符記增置至桶內。桶中可裝持最多「b」個符記,而若當該桶為滿裝時一符記抵達,則會拋除該抵達符記。該等參數「r」和「b」以及其他參數為可組態設定,並且可基於觀察過往的互連網路行為按學習方式予組態設定;可為動態地組態設定藉以最佳化互連網路行為(像是最佳化封包傳輸速率而同時將封包漏失最小化);或者,可甚經組態設定以最佳化封包傳輸帶寬使用度以讓其他的應用程式能夠運用互連網路帶寬。
在一些範例裡,可運用該等請求位元組速率限制器區塊608和回應位元組速率限制器區塊609的其一或兩者。也就是說,除以封包為基礎進行傳輸調節之外,或另外,亦可或另替地以資料量值(通常是位元組)為基礎來進行傳輸調節。例如,該請求位元組速率限制器區塊608可運用一符記桶,藉以按位元組為基礎來調節經由一特定閘道器而來自於一來源網路之節點的請求之傳輸速率。該回應位元組速率限制器區塊609可運用一符記桶,藉以按位元組為基礎來調節送返至該來源節點之回應的傳輸速率。在許多通訊網路中,特別是無線網路尤甚,請求及回應共享該相同的實體通道並且可能彼此干擾。因此,控制回應速率對壅塞控制而言具有關鍵性。若僅將速率限制施用於請求而忽略回應,則在其中請求大小通常是小於回應大小的典型系統裡,速率限制器可能會過度快速地發送請求,導致大型回應泛濫而致生網路壅塞。在收到回應後可對回應大小加以測量,並且間接地運用所測得的回應大小以調節送返至該來源節點的回應傳輸而作為請求傳輸的調節作業。就某方面而言,這種調節作業雖為「在事實之後」,然據信在許多情況下已收回應之大小對於待予發送請求之回應的大小確具良好的相關性。這在當於彼此近密的時間鄰近處發送出相似類型的請求,並且預期到對於這些相似類型請求之回應的大小在大小上將會相當地雷同時,尤為如此。
在封包速率限制方面,當應傳送一封包時,即檢查該封包速率符記桶。若桶中並無可用符記,則此時無法傳送該封包。就以請求位元組速率限制來說,在對於各個位元組(或預定數量個位元組)的個別位元組速率符記桶中都必須有一符記才能發送該封包。這對於封包速率限制及請求位元組速率限制而言相當地直觀。對於回應位元組速率限制,在一範例裡會進行檢查,藉以確保實際回應速率不會超過一特定所欲回應速率,至少對於被視為合理時間量者而言為如此。所以,在一範例裡,只要回應速率符記的數量維持在一特定範圍內,這就表示該回應速率亦停留在一範圍內。若該回應速率符記的數量墜降至低於某一門檻值,則藉由收限新請求的發送來減緩該回應速率,直到該回應速率符記桶再度地裝填至一所欲位準為止。
在一範例裡,所欲回應位元組速率為每秒1000個位元組。在此情況下,每秒應將1000個回應位元組速率符記添增至該回應位元組速率桶。在本範例中,該等回應位元組速率符記的數量在任何時間處落降至低於0即不再發送請求,直到該等回應位元組速率符記的數量刷新至一可接受位準為止。在本範例裡,桶中所持有之回應位元組速率符記的最大數量為3000個。若無頂界,則在長時期的無作用之後回應位元組速率符記的數量可能變得非常大,如此會造成非所樂見的活動暴衝。在本範例裡,該等回應位元組速率符記的最小數量設定為-1000個。若未設定底限,則回應位元組速率符記的數量可能須耗費極長時間方得復原,使得在高度回應位元組速率的時段之後或許會過久時間無法發送封包。在本範例裡是以每秒1000個回應位元組速率符記增置於該回應位元組速率桶,該1000個回應位元組符記的緩衝可在高度回應位元組速率之後提供一秒的閑逸時段,此時不會發送進一步的請求封包以供該互連網路進行復原。
現將參照圖7a及7b的流程圖以彙整前述討論。參照圖7a及7b,圖7a說明「請求擷取」程序的範例。另一方面,圖7b說明非同步出現之「回應抵達」程序的範例。
圖7a程序開始於S702。在S704處,利用經估算的往返時間(RTT)數值706以計算該PIF限制,即:PIF=RTT*TR,其中TR為該網路的尖峰容量。
在S708處,將表示傳輸中封包之數量的實際「經使用PIF」計數器710比較於該所算得PIF限制。若該PIF計數器並非小於該PIF限制,則此時並無封包待予發送而且程序停止於S712處。然若該PIF計數器小於該PIF限制,則在圖7a範例中可對一封包進行一或更多速率限制器檢查以予傳送。
在S718、S718a、S718b及S718c內的速率限制器檢查是為決定一封包請求佇列716內的封包是否可予傳送。在S714處,該請求傳輸佇列716內的一請求會被「窺探」-亦即進行檢視,但未予移除以供傳輸。在S718處可進行各種速率限制器檢查。詳細而言,在S718a處,決定傳送該受窺探封包是否會侵犯封包速率限制限項。在S718b處,決定傳送該受窺探封包是否會侵犯請求位元組速率限制限項。最後,在S718c處,決定該回應位元組速率是否超過一所欲回應位元組速率。
在S720處,決定是否既已滿足所有的速率限制器條件。若是,則在S722處將該受窺探封包自該請求佇列716解離並予傳送,同時據以更新該經使用PIF計數器710。此外,該請求封包速率符記桶及該請求位元組速率符記桶(未以圖示)亦據此獲以更新。
現參照圖7b,此為該回應抵達程序的範例,而在S724處收到一回應。在S725處,該回應位元組速率符記桶獲得更新。在S726處,依照收到該回應的時間與發送相對應請求的稍早時間之間的差值以計算出該回應的往返時間(RTT)。在S728處,計算出RTT統計值(在圖7b裡為一經指數加權的平均值)。將該RTT統計值儲存至新的經估算RTT 706(圖7a)。
前述示範性系統及方法可提供多項佳於傳統壅塞控制及/或防止技術的優點。尤其,在另一方面,如本揭所述用以在一互連網路中監測傳輸中封包的示範性系統及方法實無須藉由閘道器所實作,而是可藉由非閘道器發送節點或者藉由該發送網路的一或更多其他節點所實作。此外,前述系統及方法是依據該互連網路的累集性容量,而非該互連網路之單一節點的獨離性容量,來作為將封包發送至一網路之決策的基礎。
即如前述,根據一些特定範例,可於具有可變往返時間之高度動態的環境下在一所欲門檻值處維持穩定通量。亦如前述,往返時間的變異性通常是歸因於請求類型以及該互連網路的其他條件。利用調適性壅塞控制,可根據互連網路條件而快速地調適封包傳輸速率為加速或減緩。在一些特點中,該封包傳輸可經組態設定以僅能用罄至該標定量的帶寬,像是藉由利用獨立的位元組及封包式帶寬「鈕把」。控制可為針對於入向及出向通量兩者。可達到並維持最佳化的互連網路通量,而無須關於該互連網路條件的先前知識。即使是當通量因變化性互連網路條件而改變時,該排程器仍能決定該互連網路在任何時點處所能處置的請求封包傳輸速率。可利用一回授系統以基於往返時間以及請求/回應大小的其一或兩者連續地控制通量。
本揭系統及方法可為透過經編碼、記錄或儲存在電腦可讀取媒體上的軟體程式碼所實作。可利用該電腦可讀取媒體以組態設定各個發送節點,此者係如前述般連接至一互連網路。熟諳本項技藝之人士將能瞭解該電腦可讀取媒體可包含光碟片、軟碟片、快閃記憶體、磁帶,或視需要任何可觸及的儲存裝置或媒體。
本揭所述之壅塞控制系統及方法可納入任意數量的網路及互連網路、任意數量的請求封包以及任意數量位於各個網路裡的節點。
雖既已參照於多項特定具體實施例以說明本發明,然本專利說明僅為本發明範例且不應予詮釋為限制本發明。例如,該等特定具體實施例可在廣泛各種設備中運作,即如像是一或更多電腦的電腦設備,各台電腦含有一或更多處理器以供執行電腦程式指令俾完成該等所述方法,或者部分地或整體地為硬體接線,藉以完成該等所述方法。該等電腦程式指令可儲存在一或更多電腦可讀取媒體內,像是磁性或光學碟片媒體、記憶體,或者任何其他可觸及的電腦可讀取媒體。此外,熟諳本項技藝之人士將能構思出各種修改及應用方式,而不致悖離如後載申請專利範圍中所定義的本發明真實精神與範疇。
1-4...節點
10...電腦網路
20...互連網路
100...公用網路
101...電子裝置或圖1D中的接收器
102‧‧‧無線區域網路(LAN)
103‧‧‧存取點(AP)
104‧‧‧廣域網路(WAN)
105‧‧‧後台辦公室系統(BOS)
200‧‧‧封包切換式互連網路
300‧‧‧互連網路
602-610‧‧‧功能性區塊
706‧‧‧經估算RTT
710‧‧‧經使用PIF計數器
716‧‧‧請求佇列
A~D‧‧‧網路
A1~AN‧‧‧節點
B1~BN‧‧‧節點
C1~CN‧‧‧節點
D1~DN‧‧‧節點
AP-B~AP-D‧‧‧存取點
AR,BR,CR,DR‧‧‧閘道器
S200~S216‧‧‧程序
S702~S722‧‧‧程序
後文中將參照於隨附圖式以詳細說明本發明的示範性具體實施例,其中:
圖1A為一傳統電腦網路的概略區塊圖;
圖1B為一傳統互連網路的區塊圖;
圖1C為自一「發送者」和多個「接收者」觀點說明一傳統互連網路的區塊圖;
圖1D為一公用網路的概略區塊圖;
圖2A為根據一示範性具體實施例之互連網路的略圖;
圖2B至2D為壅塞控制方法的流程圖;
圖3為根據一示範性具體實施例之互連網路的略圖;
圖4A-4F為根據示範性具體實施例在壅塞控制程序過程中之各個網路佇列的略圖;
圖5為一傳統公共設施監測及控制網路的略圖;
圖6為說明一速率有限調適性PIF排程器之範例的架構圖;
圖7a為說明一「請求擷取」程序範例的流程圖,並且
圖7b為說明一非同步出現之「回應抵達」程序範例的流程圖。
200...封包切換式互連網路
A1~AN...節點
B1~BN...節點
C1~CN...節點
D1~DN...節點
AR,BR,CR,DR...閘道器

Claims (26)

  1. 一種在具有一第一網路和複數個第二網路之互連網路中之壅塞控制的方法,該方法包含:對於該等複數個第二網路之各者建立個別的傳輸中封包計數器,並且對於該等複數個第二網路之各者建立個別的最大傳輸中封包指示;對於該等複數個第二網路之各者,當自該第一網路內的任何節點將一請求封包發送至該等複數個第二網路之一者內的任何節點時,調整用於該等複數個第二網路之該者的個別傳輸中封包計數器;對於在該等複數個第二網路中向其發送一請求封包之各者,根據自該等複數個第二網路之該者內的任何節點所收到之回應封包,調整該等複數個第二網路之該者的個別傳輸中封包計數器;根據處理用於該等複數個第二網路之該者的個別傳輸中封包計數器之數值以及用於該等複數個第二網路之該者的個別最大傳輸中封包指示之數值,決定是否可將一第二請求封包自該第一網路內的任何節點發送至該等複數個第二網路之一者內的複數個節點之任一者;以及對於該等複數個第二網路之各者,根據至少基於用於自該第一網路之任何節點發送至該等複數個第二網路之該者內的複數個節點任一者之請求封包的往返時間所計算之統計值,調整對於該等複數個第二網路之該者的個別最大傳輸中封包指示。
  2. 如申請專利範圍第1項所述之方法,其中:調整用於該等複數個第二網路之各者的個別最大傳輸中封包指示並非依據顯明表示下列項目之瞬時容量的資訊,即(i)該第一網路,(ii)該等複數個第二網路之該者,或(iii)將該第一網路互連至該等複數個第二網路之該者的閘道器。
  3. 如申請專利範圍第1項所述之方法,進一步包含:決定基於用於自該第一網路之任何節點發送至該等複數個第二網路之該者內的複數個節點之任一者的請求封包之往返時間所計算的統計值。
  4. 如申請專利範圍第1項所述之方法,進一步包含:藉由決定介於自該第一網路之一節點發送一請求封包與自該等複數個第二網路之該者內的複數個節點之任一者收到一相對應回應封包之間在時間上的差值,以決定用於自該第一網路之任何節點發送至該等複數個第二網路之該者內的複數個節點之任一者的請求封包之往返時間。
  5. 如申請專利範圍第1項所述之方法,進一步包含:決定基於用於自該第一網路之一節點發送請求封包的往返時間所計算之統計值包含決定用於自該第一網路之該節點發送的至少一部份請求封包之往返時間的加權平均值。
  6. 如申請專利範圍第5項所述之方法,其中:該加權平均值係指數加權平均值。
  7. 如申請專利範圍第1項所述之方法,其中:決定是否可將一第二請求封包自該第一網路內的任何 節點發送至該等複數個第二網路之一者內的任何節點係進一步依據處理至少一表示將資訊自該第一網路內的任何節點傳送至該等複數個第二網路之該者內的任何節點之個別速率的數值。
  8. 如申請專利範圍第7項所述之方法,其中:該至少一表示將資訊自該第一網路內的任何節點傳送至該等複數個第二網路之該者內的任何節點之個別速率的數值包含一用於自該第一網路內的任何節點發送至該等複數個第二網路之該者內的任何節點之請求封包的個別請求封包傳輸速率值。
  9. 如申請專利範圍第8項所述之方法,其中:該個別請求封包傳輸速率值係對應於在一用於該等複數個第二網路之該者的請求封包傳輸速率桶內之個別符記數量。
  10. 如申請專利範圍第7項所述之方法,其中:該至少一表示將資訊自該第一網路內的任何節點傳送至該等複數個第二網路之該者內的任何節點之個別速率的數值包含一用於自該第一網路內的任何節點發送至該等複數個第二網路之該者內的任何節點之請求封包的個別請求封包位元組傳輸速率值。
  11. 如申請專利範圍第10項所述之方法,其中:該個別請求封包位元組傳輸速率值係對應於在一用於由該第一網路之任何節點所收到自該等複數個第二網路之該者的任何節點的請求封包之請求封包位元組傳輸速率桶 內的符記數量。
  12. 如申請專利範圍第7項所述之方法,其中:該至少一表示將資訊自該第一網路內之任何節點傳送至該等複數個第二網路之該者內的任何節點之個別速率的數值包含一回應封包位元組傳輸速率值。
  13. 如申請專利範圍第12項所述之方法,其中:該個別回應封包位元組傳輸速率值係對應於在一用於由該第一網路之任何節點自該等複數個第二網路之該者的任何節點所收到的回應封包之回應封包位元組傳輸速率桶內的符記數量。
  14. 一種在具有一第一網路及複數個第二網路之互連網路內的節點,該節點係該第一網路內的一節點且經組態設定以:建立用於該等複數個第二網路之各者的個別傳輸中封包計數器,以及用於該等複數個第二網路之各者的個別最大傳輸中封包指示;當將一請求封包自該第一網路內的該節點發送至該等複數個第二網路之該者內的任何節點時,調整用於該等複數個第二網路之任一者的個別傳輸中封包計數器;依據一自該等複數個第二網路之該者內的任何節點所收到之回應封包以調整對其發送一請求封包之該等複數個第二網路中任一者的個別傳輸中封包計數器;根據處理用於該等複數個第二網路之該者的個別傳輸中封包計數器之數值以及用於該等複數個第二網路之該者 的個別最大傳輸中封包指示之數值,決定是否可將一第二請求封包自該第一網路內的該節點發送至該等複數個第二網路之一者內的複數個節點之任一者;以及根據一至少基於用於自該第一網路之該節點發送至該等複數個第二網路之該者內的複數個節點之任一者的請求封包之往返時間所計算的統計值,調整用於該等複數個第二網路之任一者的個別最大傳輸中封包指示。
  15. 如申請專利範圍第14項所述之節點,其中:調整用於該等複數個第二網路之一者的個別最大傳輸中封包指示並非依據顯明表示下列項目之瞬時容量的資訊,(i)該第一網路,(ii)該等複數個第二網路之該者,或(iii)將該第一網路互連至該等複數個第二網路之該者的閘道器。
  16. 如申請專利範圍第14項所述之節點,進一步經組態設定以:決定至少基於用於自該第一網路之該節點發送至該等複數個第二網路之該者內的複數個節點之任一者的請求封包之往返時間所計算的統計值。
  17. 如申請專利範圍第14項所述之節點,進一步經組態設定以:藉由決定介於自該第一網路之該節點發送一請求封包與自該等複數個第二網路之一者內的複數個節點之任一者收到一相對應回應封包之間在時間上的差值,以決定用於自該第一網路之該節點發送至該等複數個第二網路之該者 內的複數個節點任一者的請求封包之往返時間。
  18. 如申請專利範圍第14項所述之節點,其中:決定至少基於用於自該第一網路之一節點發送請求封包的往返時間所計算之統計值包含決定用於自該第一網路之該節點發送的至少一部份請求封包之往返時間的加權平均值。
  19. 如申請專利範圍第14項所述之節點,其中:該加權平均值係指數加權平均值。
  20. 如申請專利範圍第14項所述之節點,其中:決定是否可將一第二請求封包自該第一網路內的該節點發送至該等複數個第二網路之一者內的任何節點係進一步依據處理至少一表示將資訊自該第一網路內的該節點傳送至該等複數個第二網路之該者內的任何節點之個別速率的數值。
  21. 如申請專利範圍第20項所述之節點,其中:該至少一表示將資訊自該第一網路內的該節點傳送至該等複數個第二網路之該者內的任何節點之個別速率的數值包含一用於自該第一網路內的該節點發送至該等複數個第二網路之該者內的任何節點之請求封包的個別請求封包傳輸速率值。
  22. 如申請專利範圍第21項所述之節點,其中:該請求封包傳輸速率值係對應於一請求封包傳輸速率桶內之符記的數量。
  23. 如申請專利範圍第20項所述之節點,其中: 該至少一表示將資訊自該第一網路內的該節點傳送至該等複數個第二網路之該者內的任何節點之個別速率的數值包含一用於自該第一網路內的該節點發送至該等複數個第二網路之該者內的任何節點之請求封包的個別請求封包位元組傳輸速率值。
  24. 如申請專利範圍第23項所述之節點,其中:該個別請求封包位元組傳輸速率值係對應於在一用於由該第一網路之該節點自該等複數個第二網路之該者的任何節點所收到的請求封包之請求封包位元組傳輸速率桶內的符記數量。
  25. 如申請專利範圍第20項所述之節點,其中:該至少一表示將資訊自該第一網路內之該節點傳送至該等複數個第二網路之該者內的任何節點之個別速率的數值包含一回應封包位元組傳輸速率值。
  26. 如申請專利範圍第23項所述之節點,其中:該個別回應封包位元組傳輸速率值係對應於在一用於由該第一網路之任何節點自該等複數個第二網路之該者的任何節點所收到的回應封包之回應封包位元組傳輸速率桶內的符記數量。
TW100137280A 2010-10-19 2011-10-14 監測傳輸中封包以最佳化網路之封包流量的系統及方法 TWI458296B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/907,047 US8369216B2 (en) 2010-10-19 2010-10-19 System and method of monitoring packets in flight for optimizing packet traffic in a network

Publications (2)

Publication Number Publication Date
TW201230730A TW201230730A (en) 2012-07-16
TWI458296B true TWI458296B (zh) 2014-10-21

Family

ID=45934073

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100137280A TWI458296B (zh) 2010-10-19 2011-10-14 監測傳輸中封包以最佳化網路之封包流量的系統及方法

Country Status (3)

Country Link
US (1) US8369216B2 (zh)
TW (1) TWI458296B (zh)
WO (1) WO2012054250A2 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5785320B2 (ja) * 2012-03-09 2015-09-30 東京電力株式会社 通信システム及びその輻輳回避方法、並びにこの通信システムを用いた検針システム
US9549016B2 (en) 2014-08-18 2017-01-17 Cisco Technology, Inc. Congestion control for media flows
US9654483B1 (en) * 2014-12-23 2017-05-16 Amazon Technologies, Inc. Network communication rate limiter
US10944669B1 (en) 2018-02-09 2021-03-09 GoTenna, Inc. System and method for efficient network-wide broadcast in a multi-hop wireless network using packet echos
US10986027B1 (en) * 2018-03-27 2021-04-20 Akamai Technologies, Inc. Efficient congestion control in a tunneled network
US10764198B2 (en) * 2018-07-06 2020-09-01 Marvell Asia Pte, Ltd. Method to limit packet fetching with uncertain packet sizes to control line rate
EP3831021A1 (en) 2018-07-27 2021-06-09 Gotenna Inc. VINEtm ZERO-CONTROL ROUTING USING DATA PACKET INSPECTION FOR WIRELESS MESH NETWORKS
WO2021012291A1 (en) * 2019-07-25 2021-01-28 Huawei Technologies Co., Ltd. Device and method for exporting telemetry data
CN111601177B (zh) * 2020-04-13 2021-03-23 北京创享苑科技文化有限公司 一种基于数据包往返时延分布的在线连续检验方法
US11910225B2 (en) 2020-12-18 2024-02-20 Samsung Electronics Co., Ltd. Adaptive adjustment for target wake time duration configuration
US11750522B2 (en) * 2021-04-19 2023-09-05 Avago Technologies International Sales Pte. Limited System and method for reducing congestion in a network
CN114236358B (zh) * 2021-12-20 2023-09-01 卡斯柯信号有限公司 一种聚合错峰调度的io板卡维护故障诊断方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080225705A1 (en) * 2007-03-12 2008-09-18 Janarthanan Bhagatram Y Monitoring, Controlling, And Preventing Traffic Congestion Between Processors
US20100172348A1 (en) * 2009-01-07 2010-07-08 Shinichiro Saito Network relay apparatus and packet distribution method
US20100195495A1 (en) * 2009-02-05 2010-08-05 Silver Spring Networks System and method of monitoring packets in flight for optimizing packet traffic in a network
US20100214922A1 (en) * 2009-02-24 2010-08-26 Silver Spring Networks, Inc. System and method of regulating a packet rate to optimize traffic in a network

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781801A (en) * 1995-12-20 1998-07-14 Emc Corporation Method and apparatus for receive buffer management in multi-sender communication systems
US20040015591A1 (en) * 2002-07-18 2004-01-22 Wang Frank Xiao-Dong Collective TCP control for improved wireless network performance

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080225705A1 (en) * 2007-03-12 2008-09-18 Janarthanan Bhagatram Y Monitoring, Controlling, And Preventing Traffic Congestion Between Processors
US20100172348A1 (en) * 2009-01-07 2010-07-08 Shinichiro Saito Network relay apparatus and packet distribution method
US20100195495A1 (en) * 2009-02-05 2010-08-05 Silver Spring Networks System and method of monitoring packets in flight for optimizing packet traffic in a network
US20100214922A1 (en) * 2009-02-24 2010-08-26 Silver Spring Networks, Inc. System and method of regulating a packet rate to optimize traffic in a network

Also Published As

Publication number Publication date
TW201230730A (en) 2012-07-16
WO2012054250A3 (en) 2012-06-14
US8369216B2 (en) 2013-02-05
US20120092993A1 (en) 2012-04-19
WO2012054250A2 (en) 2012-04-26

Similar Documents

Publication Publication Date Title
TWI458296B (zh) 監測傳輸中封包以最佳化網路之封包流量的系統及方法
Chen et al. TCP performance over mobile ad hoc networks
US7961613B2 (en) System and method of monitoring packets in flight for optimizing packet traffic in a network
Feng et al. Modified RED gateways under bursty traffic
US8406133B2 (en) System and method of regulating a packet rate to optimize traffic in a network
WO2017132987A1 (zh) 识别可靠传输协议的数据传输中的丢包类型的方法及系统
Pu et al. Enhancements on router-assisted congestion control for wireless networks
Subramani et al. Improving congestion control performance and fairness in multihop ad hoc network
Altahir et al. Performance evaluation of TCP congestion control mechanisms using NS-2
Xu et al. Balancing throughput and fairness for TCP flows in multihop ad-hoc networks
Ababs et al. A dual-buffer based congestion control algorithm for wireless multimedia sensor networks
Cheng et al. An adaptive bandwidth estimation mechanism for SCTP over wireless networks
Mishra et al. Effective impact of ECN with RED to control heavy congestion
Liu et al. Delivering faster congestion feedback with the mark-front strategy
Wang et al. C3P: a cooperant congestion control protocol in high bandwidth-delay product networks
Nabeshima et al. Performance improvement of active queue management with per-flow scheduling
Ding et al. Incorporating tcp acknowledgements in mac layer in ieee 802.11 multihop ad hoc networks
Bai et al. Enhancing TCP throughput over lossy links using ECN-capable RED gateways
Wang et al. An SSCOP-based link layer protocol for wireless LANs
Francis et al. Enhancing TCP congestion control for improved performance in wireless networks
Mangai Survey on Different Types of Congestion Control Algorithms
Chellaprabha Loss Differentiated DCCP-TCP-Like in Wireless Sensor Network
Peng et al. Enhancing fairness and throughput of TCP in heterogeneous wireless networks
Mankin et al. RFC1254: gateway congestion control survey
Loureiro et al. Open box protocol (obp)

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent