TWI664861B - 多點跳躍網路的緩衝器尺寸調整 - Google Patents
多點跳躍網路的緩衝器尺寸調整 Download PDFInfo
- Publication number
- TWI664861B TWI664861B TW104102817A TW104102817A TWI664861B TW I664861 B TWI664861 B TW I664861B TW 104102817 A TW104102817 A TW 104102817A TW 104102817 A TW104102817 A TW 104102817A TW I664861 B TWI664861 B TW I664861B
- Authority
- TW
- Taiwan
- Prior art keywords
- queue
- network
- buffer
- nodes
- link
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
無線網路節點可包括無線網路天線、與無線網路天線通訊之處理器、以及含有電腦可執行碼之非暫存電腦可讀取媒體。處理器可組態成用以計算初始緩衝器大小。處理器可組態成基於當下網路負載,將初始緩衝器大小調整至當下緩衝器大小。
Description
本申請案主張2014年1月28日所申請美國專利申請案第14/166,262號的優先權,該美國專利申請案為2011年9月6日所申請美國非臨時性專利申請案第13/226,100號之部分繼續申請案,該部分繼續申請案主張2011年3月20日所申請美國臨時專利申請案第61/454,536號的優先權,其完整內容係以引用方式具體合併於本文中而無免責聲明。
本發明係關於網路,並且更尤指網路中繞送數據時之數據緩衝處理。
無線網目網路(wireless mesh network,簡稱WMN)是一種特設(ad hoc)無線網路,其將多點跳躍無線通訊用於在網目路由器之間提供或改善連線能力。網目路由器可為行動式或靜置式。用戶端裝置可使用有線或無線技術連線至其較佳的網目路由器。接著跨越網目,將用戶端訊務(traffic)由網目路由器繞送至網目路由器,以到達網目裡的另一裝置。或者,用戶端訊務係繞送至可經由閘道網
目路由器接取之外接裝置,該閘道網目路由器在WMN與外部網路之間橋接訊務。用戶端裝置可在網路裡的不同網目路由器之間漫遊,如此,可進行其移動性管理作為WMN框架的一部分。
共享無線通道的廣播本質限制了這組可並行傳輸的無線節點。一介於各種無線技術之間的區分器係屬於媒體存取控制(medium access control,簡稱MAC)協定,其控制並且協調共享無線頻譜之存取。分散式無線節點常使用一種具有碰撞避免(CSMA/CA)MAC協定之載波感測多存取。IEEE 802.11系列之標準為實施CSMA/CA的普遍方式。支援這些標準的Wi-Fi無線電已變成可在免執照頻帶裡全域操作的商品。IEEE 802.11標準還支援可用於裝設WMN的特設通訊功能。IEEE 802.11s標準底下的修訂版引進了在網路第二層用於多點跳躍轉發的網目功能。
緩衝器(buffer)是一種用於資訊位元之暫存空間。封包交換式網路實施緩衝器以容納暫態訊務叢發。緩衝器可避免封包遺失。緩衝器尺寸調整是個重要的網路組態參數:緩衝不足的網路導致封包遺失頻繁且後續網路資源使用率不足,而緩衝過度之網路則導致佇列延遲增大。
傳輸控制協定/網際網路協定(TCP/IP)通訊係用於大量網路應用,例如檔案傳輸。TCP以可靠、按次序的方式傳遞數據。TCP利用應答(acknowledgment,簡稱ACK)配合再傳輸而可靠傳遞封包。TCP中提供滑動窗機制用於流量控制及擁塞控制。網路容量資訊可藉由調整其滑
動窗(稱為擁塞窗)的大小予以測定。TCP實施加法遞增、乘法遞減(additive increase,multiplicative decrease,簡稱AIMD)機制,回應網路回授,調整其擁塞窗的大小。因此,TCP起封閉式迴路回授系統的作用。TCP擁塞控制演算法取決於緊密的控制迴路,也就是說,網路中沒有實質的佇列延遲。
用戶資料元協定(UDP)通訊正逐漸用於透過可靠傳遞重視及時數據傳遞的應用。這些包括諸如IP語音(VoIP)、遊戲、以及即時視訊廣播等延遲敏感應用。該些應用通常填補數據在透過網路傳輸期間延遲、遺失、或損毀時的時隙。因此,由於佇列延遲對應用層感知的服務品質(QoS)有影響,最小化佇列延遲是UDP訊務重要的效能衡量標準。
數據流(data flow)或數據串(data stream)是兩個主機之間的一連串數據包(例如:TCP訊段或UDP封包)。IP網路中的訊流可由多元組關鍵碼識別。一種習用的訊流定義使用5元組關鍵碼,包括訊號源IP位址、目的IP位址、協定(例如:TCP、UDP、ICMP)、訊源埠、以及目的埠。訊流可沿著介於訊號源與目的地之間的路徑遍歷多條鏈路(可能具有異質鏈路功能)。此訊流的端對端速率受限於鏈路沿著這條路徑的最小可用容量。該條鏈路變成這訊流的瓶頸。
隨著記憶體晶片價格降低,系統架構可能趨向過度提供路由緩衝器。然而,這不一定能改善網路效
能。一般而言,IP網路期望最小化緩衝處理及佇列延遲。這對於即時訊流不僅顯而易知,也適用於流通量優先性高於延遲(例如:利用TCP進行大量檔案傳輸)的情節。TCP的AIMD速率控制演算法係設計成填補任何緩衝器,並且引動偶然的封包遺失,以便提供回授給發送器。大網路緩衝器在擁塞資訊可傳達到TCP訊源之前,先使延遲增加。這可具有許多衍生狀況:首先,其可能影響TCP訊串的穩定度特性,其次,其可能衝擊其它與這訊串共享緩衝器之訊流(即時及TCP兩者)的延遲特性。
有線網路裡使用的習用緩衝器尺寸調整法,是將瓶頸鏈路緩衝器大小調整成大於網路的頻寬延遲乘積(bandwidth delay product,簡稱BDP),使得BC×RTT,其中B為瓶頸鏈路緩衝器,C為瓶頸鏈路容量,並且RTT為穿過瓶頸的有效往返傳播延遲。BDP表示訊號源與目的地之間路徑的最大載流容量。由於有線網路中的佇列僅於瓶頸鏈路組建,緩衝器尺寸調整在有線網路中其它位置的重要性極小。
無線領域在理解緩衝器大小對網路效能影響方面,帶來許多新的挑戰。在有線網路中,研究緩衝器尺寸調整通常是在瓶頸鏈路完全利用的情況下進行。然而,無線鏈路只是個抽象概念,係用於通訊實體與其鄰近體之間共享的頻譜,同一時間僅一個鄰近體可成功傳輸。緩衝器與一組分散節點可能的關聯方式還不清楚,有些節點中繼轉發訊務給網路中的其它節點。再者,此共享頻譜
的容量並非已知的常數,而是因來自其它無線節點的偶發雜訊及干擾而隨時間改變。最後,對於普及的CSMA/CA網路,各傳輸跳躍的封包服務間時間因MAC的隨機排程而改變。在設計無線網路緩衝器尺寸調整協定時,應該考慮此MAC行為。
在一態樣中,無線網路節點可包括無線網路天線、與無線網路天線通訊之處理器、以及含有電腦可執行碼之非暫存電腦可讀取媒體。處理器可組態成用以計算初始緩衝器大小。處理器可組態成基於當下網路負載,將初始緩衝器大小調整至當下緩衝器大小。
在某些具體實施例中,無線網路節點可測定頻寬延遲乘積。頻寬延遲乘積可基於有效往返延遲。初始緩衝器大小可大於或等於瓶頸鏈路容量之已定頻寬延遲乘積。
在其它具體實施例中,無線網路節點可具有傳輸率。單一協定數據單元傳輸之初始緩衝器大小可為該傳輸率與往返延遲的乘法乘積。處理器可進一步組態成用以測定佇列排空時間(drain time)。處理器可進一步組態成用以計算預定義最大佇列排空時間及預定義最小佇列排空時間。處理器可進一步組態成用以重新調整當下緩衝器大小。該重新調整可基於測定佇列排空時間超過該最大佇列排空時間及預定義最小佇列排空時間定義之範圍。當佇列排空時間超過範圍至少兩個連續週期時,處理器可進一
步組態成用以重新調整當下緩衝器大小。
在另一態樣中,管理無線佇列的方法可基於單一協定數據單元傳輸之往返延遲及傳輸率,計算初始緩衝器大小。本方法可包括基於當下網路負載,將初始緩衝器大小調整至當下緩衝器大小。
在某些具體實施例中,初始緩衝器大小可大於或等於瓶頸鏈路容量之已定頻寬延遲乘積。本方法可進一步包括測定佇列排空時間。本方法可進一步包括計算預定義最大佇列排空時間及預定義最小佇列排空時間。本方法可基於測定佇列排空時間大於最大佇列排空時間、或小於預定義最小佇列排空時間至少兩個連續週期,重新調整當下緩衝器大小。
在另一態樣中,用於管理無線佇列的方法可包括設定最大可接受佇列延遲極限、計算初始佇列大小Q initial 、以及計算當下佇列大小Q。初始佇列大小Q initial 可基於當下傳輸率R、以及單一協定數據單元傳輸ARTT之往返延遲。初始佇列大小可符合以下關係:Q initial =R*ARTT。
在某些具體實施例中,本方法可進一步包括週期性計算通道裡基於該當下佇列大小中總位元數B的佇列排空時間T drain 、以及該通道不忙碌的時間百分率F。佇列排空時間可符合以下關係:。本方法可進一步包括基於該網路是否膨脹來調整Q。
在一態樣中,一種方法可包括識別無線網
目網路中的一組瓶頸節點。本方法還可包括計算這組瓶頸節點之累積緩衝器大小。本方法可進一步包括在這組瓶頸節點之間分配這個累積緩衝器大小。
在一具體實施例中,電腦程式產品包括非暫存電腦可讀取媒體,其具有用以在無線網目網路裡識別一組瓶頸節點之符碼(code)。媒體亦包括用以計算累積緩衝器大小的符碼。媒體進一步包括用以在這組瓶頸節點之間分配累積緩衝器大小之符碼。
在一具體實施例中,系統在無線網目網路裡包括複數個節點,這複數個節點各具有緩衝器及處理器。系統還包括耦合該複數個節點之複數個通訊鏈路,各通訊鏈路皆耦合該複數個節點中的兩個節點,其中這複數個通訊鏈路之至少兩個共享資源。系統進一步包括干擾域(interference domain),其包含共享資源之這複數個通訊鏈路之至少兩個,該干擾域已定義累積緩衝器。這複數個節點至少一者之處理器係組態成用以計算累積緩衝器的大小。處理器亦組態成用以在對應於干擾域中至少兩個通訊鏈路之複數個節點之間分配累積緩衝器大小。
在另一具體實施例中,本方法包括在無線網路中提供複數個與至少一無線網路標準相容的節點。這複數個節點各有具備初始指定大小之緩衝器。本方法還包括主動測量至少一鏈路特性及網路負載。本方法進一步包括基於該已測鏈路特性及網路負載,以可調適方式調整各節點的緩衝器大小。
在另一具體實施例中,非暫存電腦可讀取媒體具有用以識別無線網路裡,與至少一無線網路標準相容之複數個節點。媒體還包括用以主動測量至少一鏈路特性及網路負載之符碼。媒體進一步包括基於該已測鏈路特性及網路負載,用於以可調適方式調整各節點緩衝器大小之符碼。
在另一具體實施例中,系統包括無線網路中複數個與至少一無線網路標準相容的節點。這複數個節點各有具備初始指定大小之緩衝器以及處理器。這複數個節點至少一者之處理器係組態成用以主動測量至少一鏈路特性及網路負載,並且係組態成基於已測鏈路特性及網路負載,用於以可調適方式調整各節點緩衝器大小。用語「耦合」係定義為連接,但不一定是直接連接,也不一定是以機械方式連接。
用語「一(a,an)」係定義為一或多者,除非本揭露另有明確要求。
用語「包含」(及其單數及分詞形等任一形式)、「具有」(及其單數及分詞形等任一形式)、「包括」(及其單數及分詞形等任一形式)以及「含有」(及其單數及分詞形等任一形式)為開放式連結動詞。因此,「包含」、「具有」、「包括」或「含有」一或多個步驟或元件的方法或裝置具備那一或多個步驟或元件,但不限於僅具備那一或多個元件。同樣地,「包含」、「具有」、「包括」或「含有」一或多個特徵之方法的步驟或裝置的元件具備那一或多個特
徵,但不限於僅具備那一或多個特徵。再者,以特定方式組態之裝置或結構係至少以該方式組態,但也可用未列出的方式組態。
其它特徵及相關優點在搭配附圖,參照以下特定具體實施例的詳細描述後,將變得明顯。
其它態樣、具體實施例、以及特徵經由以下描述、圖式、以及申請專利範圍的說明將為明顯。
100‧‧‧方法
102、104、106、108、110‧‧‧程序塊
200‧‧‧網路
202a、202b、202c、202d、202e、202f、202g、202h‧‧‧節點
204‧‧‧閘道
206‧‧‧外部網路
302a、302b、302c、302d、302e、302f‧‧‧緩衝器
4020、4021、4022、4023、402i‧‧‧狀態
P0、P1,0、p 1,+ 、p of ‧‧‧機率
500‧‧‧系統
502‧‧‧伺服器
504‧‧‧儲存控制器
506‧‧‧數據儲存裝置
508‧‧‧網路
510‧‧‧使用者介面裝置
600‧‧‧電腦系統
602‧‧‧中央處理單元
604‧‧‧系統匯流排
606‧‧‧唯讀記憶體
608‧‧‧RAM
610‧‧‧I/O配接器
612‧‧‧儲存裝置
614‧‧‧通訊配接器
616‧‧‧使用者介面配接器
618‧‧‧指向裝置
620‧‧‧鍵盤
622‧‧‧顯示配接器
624‧‧‧顯示裝置
以下圖式形成本說明書之一部分,並且係包括進來用以進一步論證本發明的特定態樣。藉由參照這些圖式之一或多者,配合本文對特定具體實施例的詳細描述,可更加理解本發明。
第1圖係根據本揭露之一具體實施例,說明指定累積緩衝器之方法的流程圖。
第2圖係根據本揭露之一具體實施例之干擾域的說明。
第3圖係根據本揭露之一具體實施例,說明無線網目網路之方塊圖,該無線網目網路附有針對干擾域中節點所設定的累積緩衝器。
第4圖係根據本揭露之一具體實施例,說明網目節點佇列佔用狀態變遷的狀態圖。
第5圖係根據本揭露之一具體實施例,說明組態成用以儲存資料庫、資料表、及/或記錄之數據管理系統的方塊圖。
第6圖係根據本揭露之一具體實施例,說明電腦系統的方塊圖。
第7圖繪示TCP擁塞窗、RTT、以及外出佇列使用率,在附6.5Mb/s鏈路速率之802.11n無線測試台中附有一次跳躍TCP訊流。緩衝器大小對應於普通版Linux內核。
第8圖繪示大量檔案傳輸同時鏈路速率及佇列大小都在改變下的平均A-MPDU長度。
第9圖繪示A-MPDU傳輸時的802.11n MAC負擔。
第10圖針對5次檔案傳輸繪示回應佇列佔用變化之佇列大小調適。
第11圖繪示一例示性WQM具體實施例中各項並行訊流之平均佇列大小。
第12圖繪示2次跳躍下回應網路負載變化之例示性WQM佇列大小變化。
下面描述根據本發明較佳具體實施例之系統及方法的詳細說明。
除此之外,如所屬技術領域中具有通常知識者將了解的是,本發明之具體實施例還可體現成:方法、器具、系統、或電腦程式產品。具體實施例從而可採用的形式有:硬體具體實施例、軟體具體實施例、或結合軟體與硬體之具體實施例。本發明可採用的形式有:包括電腦可用指令之電腦程式產品,該電腦可用指令係於一或多個電腦可讀取媒體上體現。某些用語,例如換能器及收發器、
或傳送器、感測器、以及微感測器等,可具有重疊意義,並且描述重疊或均等技術或產品,並且因此可互換使用。此類用語的用意在於叫用其特定意義及其一般意義、以及任何重疊或均等意義、技術或產品。
各項特徵及有利細節係引用非限制具體實施例更加完整解釋,該非限制具體實施例係於附圖中說明並且在底下描述中詳述。眾所周知的起始材料、處理技術、組件、以及設備其描述係予以省略,以免非必要地混淆本發明的細節。然而,應理解的是,詳細描述及特定實施例儘管指示本發明之具體實施例,係僅作為說明提供,而非作為限制。經由本揭露,本發明基本概念之精神及/或範疇內的各項取代、改進、新添、及/或重新配置對所屬技術領域中具有通常知識者將變得明顯。
緩衝器尺寸調整機制可改善網路數據流的流通量,並且最小化佇列延遲。有線網路關注的是緩衝器沿著瓶頸鏈路的尺寸調整,與之相較,無線網目網路之緩衝器尺寸調整機制可調整一組瓶頸節點(其限制多點跳躍訊流的端對端速率)「累積」緩衝器的大小。瓶頸節點可為一組共享共用頻譜之節點,使得共用頻譜限制端對端數據率。由任何瓶頸節點進行的封包傳輸可在傳輸期間完全利用瓶頸頻譜資源。
恰好緩衝足以保持瓶頸頻譜之封包,容許以高端對端速率操作訊流,並且沿著無線網目網路中的鏈路最小化佇列延遲。共享瓶頸頻譜之鄰近節點的集體緩衝
器係稱為累積緩衝器。根據一具體實施例,累積緩衝器大小可設定為經過瓶頸節點至目的地之路徑的頻寬延遲乘積(BDP)。為考慮無線通道中之偶發干擾、以及附碰撞避免(CSMA/CA)MAC之載波感測多重存取的隨機排程,本發明之一具體實施例可單純運算並且實施BDP的上界。累積緩衝器大小一旦已定,便可在這組構成瓶頸之節點間分配緩衝器。這樣的分配可用多種方式完成,包括(例如)在節點之間均等分配。在另一實施例中,可透過使用成本函數分配緩衝器,該成本函數基於封包已遍歷跳躍數(number of hops already traversed by the packet),降低封包丟棄的機率。此一技術對丟棄封包賦予較高成本,該丟棄封包已消耗較大部分的網路資源。
測量研究已顯露數據網路中顯著的過度緩衝現象。大緩衝器雖然可藉由(例如)限制封包丟棄而潛在增加流通量,但大佇列卻會導致高潛時(latency)。這種緩衝膨脹現象請參見:J.Gettys and K.Nichols,“Bufferbloat:dark buffers in the internet,”Commun.ACM,vol.55,no.1,pp.57-65,Jan.2012,其完整內容係以引用方式併入,產生的延遲高達數秒等級。隨著記憶體價格下降以及愈多愈好的觀念,大型緩衝器導致的效能退化可在許多網路連結裝置觀察到,包括終端用戶設備(如:DSL)、纜線路由器或無線存取點(access point,簡稱AP)。
解決無線裝置(如:AP)裡的緩衝膨脹會是個重大的挑戰。例如,無線鏈路容量並非固定。無線裝置可
基於例如傳送器與接收器之間距離及通道底雜訊等數個變數,將速率控制演算法用於選取其傳輸率。例如,IEEE 802.11n的鏈路速率可由6.5Mb/s改變至600Mb/s。由於鏈路速率的變化超過兩個數量級,使用固定緩衝器大小會顯著降低網路效能。舉另一實施例來說,無線可屬於共享媒體,無線鏈路排程因而不具獨立性。因此,一節點的無線通道共享會取決於鄰域中同樣爭搶通道存取的其它無線節點。於是,可用的鏈路容量通常遠小於實體鏈路速率。這也會影響網路中需要的緩衝量。由於(例如)封包在到達其目的地之前,可能必須重傳,有時要重傳數次,因此,無線封包傳輸的服務間速率會改變。
無線標準中例如802.11n標準裡的訊框聚集(aggregation)等新的增強功能,會使無線網路中最佳佇列大小選擇問題更加複雜。大型緩衝器會導致數秒等級的長端對端延遲。本文描述並且說明的是稱為WQM之實用、適應、並且輕型的佇列管理方案。佇列大小可基於(例如)網路負載及通道條件選擇。相較於預設的Linux設定,WQM可用大約10%的流通量降低成本,降低端對端潛時至少5至6倍。WQM還可藉由(例如)限制單一訊流使緩衝器飽和的能力,改善網路公平性。
第7圖凸顯大型緩衝器可對網路效能造成的影響。大型檔案已在兩個經由6.5Mb/s無線鏈路連線之802.11n無線主機之間傳輸。這種低鏈路速率可用於仿真附高干擾的環境。第7圖顯示使用預設1000個封包Linux緩
衝器大小之發送器的TCP擁塞窗、往返時間(RTT)、以及外出緩衝器佔用。利用此一大型緩衝器進行的單一檔案傳輸,會導致長佇列延遲,RTT值超過2秒。
802.11n標準規格引進用以改善網路效能的MAC層訊框聚集。無線節點可使用聚集式MAC協定數據單元聚集(Aggregate MAC Protocol Data Unit aggregation,簡稱A-MPDU),傳輸高達64個MPDU或子訊框。聚集邏輯或排程器係開放讓廠商去實施。持續傳輸容量上限的A-MPDU可最大化流通量,但節點若是必須從更高層等待匯集64個MPDU,則會增加延遲。相比之下,某些Linux實作發送與緩衝器當下可用一樣多的訊框,導致附可變訊框大小的A-MPDU。這種訊框大小可變性會為基於當下傳輸率準確估計佇列排空帶來新的挑戰。802.11n中例如通道集束及MIMO訊串等其它增強功能,可容許802.11n無線電在高達600Mb/s之鏈路速率下操作。因此,最高與最低可能速率之間有巨大的佇列排空時間變化。例如,假設有單一發送器及接收器,兩者皆組態成具有1000個封包之習用緩衝器大小,600Mb/s鏈路要淨空緩衝器僅需要20ms。然而,6.5Mb/s鏈路的緩衝器排空時間高兩個數量級。
IEEE 802.11n及802.11ac標準包括數個增強功能,包括訊框聚集。支援的聚集有兩種類型:A-MPDU及A-MSDU。前者單純意指數個IP封包是在為其每一者指定MAC標頭之後,以背對背的方式發送。另一方面來說,後者透過主機軟體側的支援,將多個IP封包封成一個MAC
訊框。值得注意的是,A-MPDU可聚集數個A-MSDU。這兩種聚集方法間的重要差異在於是否支援QoS訊務類別。A-MPDU子訊框可屬於各項訊務類別。或者,A-MSDU裡的所有子訊框都必須屬於同一訊務類別。由於Linux無線驅動程式還沒有實施A-MSDU聚集,本文的具體實施例是為了方便起見而針對A-MPDU聚集加以描述。802.11n中A-MPDU聚集的容量上限為64KB,其中802.11ac能夠發送1MB大的聚集。因此,固定使用極小的緩衝器會不可行。802.11n與802.11ac中聚集間的另一主要差異在於,即使發送器僅有單一訊框待發送,後者仍總是以聚集發送訊框。為了要理解緩衝器尺寸調整與A-MPDU長度間的關係,可固定傳輸率,並且可監測兩個節點間大型檔案傳輸的A-MPDU長度,而佇列大小會在每次執行後改變。第8圖顯示的是,較高的傳輸率及較大的緩衝器可容許發送器發送較長的A-AMDU。還顯示的是,任一802.11n裝置都不會總是發送最大的A-MPDU大小。
儘管本文某些已揭示的實施例描述的是透過無線網目網路(WMN)(例如:特設802.11網路)發送叢發性與即時訊務,所述具體實施例仍可應用於其它多點跳躍無線網路技術,包括其它載波感測多元存取/具碰撞偵測(CSMA/CA)無線電平台與技術。
為了應對某些挑戰,網路已設計並實施無線佇列管理(WQM)。WQM可在「良好」與「不良」之間進行識別及區別。良好的緩衝器可視為需用以吸收叢發性訊
務的緩衝器,而不良的緩衝器僅促成網路潛時,並未顯著改善流通量。WQM可兼具實用性及可漸進部署性。其可將現存數據訊務當作網路測量探測使用,並且無需蒙受任何附加負擔。為考慮通道可變性,WQM可基於(例如)當下傳輸率,週期性重新計算用以排空緩衝器所需的時間。其接著可調整緩衝器大小以維持網路服務品質(QoS)之保證,視需要縮減佇列延遲,同時容許足以使可用網路容量飽和的緩衝器。WQM還可合併MAC行為(例如:A-MPDU訊框聚集),(例如)用以準確估計佇列排空時間。WQM可跨平台及作業系統實施。在一較佳具體實施例中,WQM可在Linux環境裡實施,而且相較於例如各種Linux發行版等某些作業系統中使用的典型佇列大小,端對端延遲可降低高達至少6倍,但網路通量中僅出現少許丟棄。WQM由於封包到達佇列時無需牽涉時間戳記,因此更具有實用性。在決定最佳佇列大小有關事宜時,還可考慮MAC層行為。
WQM可劃分成初始階段及調整階段。於初始階段,WQM可選取起始緩衝器大小。這個大小可基於頻寬延遲乘積(BDP)的變化予以計算。緩衝器大小可大於或等於瓶頸鏈路容量與鏈路上有效往返延遲的乘積。然而,這項規則初始是為了有線網路而設計,而且由於未考慮A-MPDU訊框聚集,因此不能直接用在802.11n型的網路。明顯可看出的是,單一訊框的傳輸時間,從而還有RTT,會小於單一A-MPDU。因此,初始佇列延遲的計算可為:Q initial =R * ARTT (1)
其中,Q initial 是初始佇列大小,R是當前詩人(Minstrel)傳輸率,並且ARTT是單一A-MPDU傳輸的往返延遲,如第9圖所示。本文下面描述一種用於計算ARTT的技術。
WQM的調整相位可繼指定初始緩衝器大小而來。在這個階段,緩衝器大小可調成與當下網路負載匹配。佇列延遲在每個給定時間期的計算係使用下式:
其中T drain 是佇列排空時間,B是以位元為單位的佇列待完成量,並且F是通道空閒可供發送器傳輸的時間百分率。將佇列排空時間除以通道空閒時間估計值以考慮封包可變服務間速率,其為任一無線網路的屬性。例如,若有三個站台同時爭搶通道存取,其各將大致能發送大約33%的時間。因此,相較於僅單一節點傳輸的情況,排空佇列的時間大約高出3倍。若要同步WQM與速率控制演算法,可使用同一詩人(Minstrel)遊覽區間,其為100ms。100s之周期可足以收集有意義的樣本,而不會浪費太多CPU週期。這個區間還可足以快速回應通道條件變化。
排空佇列的時間T drain 若超出預定義最大極限限制兩個連續周期,則這會是個緩衝器已膨脹的指示。於是,減少緩衝器大小以限制緩衝量,從而限制佇列延遲。另一方面來說,若T drain 低於此極限兩個連續周期,則可增加佇列大小。在採取校正處置前先觀察網路統計量兩個連續週期,可有助於考慮暫時叢發性訊務。校正處置只有在
當下佇列大小處於可容許範圍內的情況下才進行,亦即Q max >Q>Q min 。這些佇列大小極限係於下文進一步論述並描述。
虛擬碼(pseudo code)可用於描述方法。在一例示性具體實施例中,WQM可採用方法形式,並且可包括:
1 設定最大可接受佇列延遲極限
2 基於當下傳輸率R及單一A-MPDU傳輸ARTT之往返延遲,計算初始Q initial :
3 Q initial =R * ARTT
4 對於每個周期秒進行
5 基於佇列B中的總位元數、以及通道不忙碌的時間百分率F,計算佇列排空時間T drain
6
7 基於網路是否膨脹之判斷來調整佇列大小Q
8 若T drain >極限且Q>Q min ,則
9 若alarm high 為ON,則
10 減少佇列大小Q
11 否則
12 將alarm high 設為ON且alarm low 為OFF
13 否則,若T drain <極限且Q<Qmax,則
14 若alarm low 為ON,則
15 增加佇列大小Q
16 否則
17 將alarm low 設為ON且alarm high 為OFF
曾用以解決緩衝器尺寸調整問題的嘗試並不夠。例如,可利用一種能在單一跳躍無線網路中以可調適方式調諧AP緩衝器之技術A*。A*可使用最大可接受佇列延遲與封包平均服務率之間的比率尋找最佳緩衝器大小。此類緩衝器大小可藉由監測緩衝器佔用加以進一步調諧。請參閱:T.Li,D.Leith,and D.Malone,“Buffer sizing for 802.11-based networks,”IEEE/ACM Transactions on Networking,vol.19,no.1,pp.156-169,Feb.2011,其完整內容係以引用方式併入。A*技術的限制在於無法輕鬆地擴充用於支援多點跳躍情節,亦即其一般僅可處理AP緩衝器。此外,為了要計算封包服務時間,A*將時間戳記附加至每一個進入佇列的封包,時間戳記是個會影響整體網路效能的負擔。A*技術尚未用實際的802.11n裝置評估效能,因而還不清楚會如何對某些例如訊框聚集等增強功能反應。
分散式鄰域緩衝器(distributed neighborhood buffer,簡稱DNB)是一種可在無線網目網路(WMN)中針對緩衝器尺寸調整問題處理的技術。請參閱:K.Jamshaid,B.Shihada,L.Xia,and P.Levis,“Buffer sizing in 802.11 wireless mesh networks,”in Mobile Adhoc and Sensor Systems(MASS),2011 IEEE 8th International Conference on,Oct.2011,pp.272-281,其完整內容係以引用方式併入。在這種技術中,接著可基於目標為使可用頻譜資源飽和的
特定成本函數,在一組競爭節點間,計算並分配網路寬緩衝器大小。WMN節點中集體調整尺寸之緩衝器會在大部分網目節點導致緩衝器小到變為1到3個封包。然而,這種作法會有限制。首先,其不適用於變更鏈路容量;反而,其假設鏈路速率固定,並從而計算緩衝器大小。其次,如此小的緩衝器會與802.11n訊框聚集不相容。最後,DNB一般是為與單一TCP訊流搭配使用而最佳化。因此,不保證多訊流情節的效能。
近來,Jiang等人專注於胞狀網路裡的緩衝膨脹,請參閱:K.L.Haiqing Jiang,Yaogong Wang and I.Rhee,“Tackling bufferbloat in 3G/4G mobile networks,”Dept.of Computer Science,North Carolina State University,Raleigh,NC,USA,Tech.Rep.TR-2012-6,March 2012,其完整內容係以引用方式併入。動態接收窗調整(DRWA)可聚焦於胞狀網路裡的緩衝膨脹。DRWA可改進TCP堆疊而不是直接處理緩衝器大小。DRWA會藉由調諧TCP接收窗的大小來限制網路內的緩衝量。這種方案(例如)由於部署的TCP基地大而會有實務限制。
各種其它技術可用(或多或少成功)於解決無線網路緩衝器尺寸調整的問題。可調整數個AP參數來符合各種應用QoS,並且確保訊流等級公平性。其中一種參數(例如)可為佇列大小。請參閱:M.Thottan and M.C.Weigle,“Impact of 802.11e EDCA on mixed TCP-based applications,”in Proceedings of the 2nd annual international workshop on Wireless internet,ser.WICON’06,2006。Bruno等人提出於AP具有用以改善單一跳躍無線網路中公平性的大型緩衝器,請參閱R.Bruno,M.Conti,and E.Gregori,“Analytical modeling of TCP clients in Wi-Fi hot spot networks,”in Proc.of the IFIP Networking’04,May 2004,pp.626-637,其完整內容係以引用方式併入。於AP具有大型緩衝器,可藉由(例如)增大TCP ACK佇列延遲以限制上游無線訊源的速率,潛在改善單一跳躍無線網路裡的公平性。然而,這會負面影響各種TCP動態特性,例如穩定性。另一方案可包括在分散式鄰域佇列的大小超出特定閾值時,以或然率概念丟棄封包。對於行動特設網路,將中繼節點上的佇列大小降到僅一個封包,能緩和多點跳躍網路中低流通量的問題。請參閱:O.Dousse,“Revising buffering in CSMA/CA wireless multihop net-works,”in Proc.of the IEEE SECON’07,Jun.2007,其完整內容係以引用方式併入。這對於具有數十個子訊框A-MPDU大小的802.11n網路不可行。
WQM中的設計原理可包括基於已測統計量進行最小假定並做出決定。這些統計量之一可為當下傳輸率。WQM之一種實作可利用現成的速率控制管理器,例如Minstrel for Linux Wireless,在標準Linux發行版內核裡是預設的速率控制演算法。詩人(Minstrel)仰仗主動測量以選取合適的鏈路速率。詩人(Minstrel)的基本想法是藉由每100ms以固定速率發送封包來搜尋最佳速率,並且基於封
包傳輸成功率來決定要用那一個。可將傳輸的數據量除以一待播送封包單次試傳的時間來計算成功率。這可接著乘以成功傳輸的機率,該機率是成功發送之封包在給定遊覽中所有發送之封包的百分比。
第1圖說明的是一種用於對無線網目網路節點指定緩衝器大小的方法100。方法100始於程序塊102,其識別無線網目網路中的一組瓶頸節點。無線媒體係一共享資源,其限制這組可並行使用的無線鏈路。根據一具體實施例,鏈路可藉由測定干擾域加以限制。鏈路l i 的干擾域可定義為一組與鏈路l i 爭搶的所有鏈路
可使用被動或主動式測量技術,產生說明各個無線鏈路間這些關係的干擾圖。被動式測量可在網路處於高負載下使用。主動式測量技術可在網路處於低負載下使用。主動式測量可包括在測試節點之間交換探測封包。干擾之鏈路在並行傳輸下,於其各自的封包接收率中呈現出丟棄。根據一具體實施例,兩次跳躍干擾模型可用於建立網路模型並且識別干擾之鏈路。兩條鏈路若在同一通道上操作則有可能干擾,並且一鏈路之一端點是在另一鏈路一端點的傳輸範圍內。兩次跳躍模型近似啟用發送要求/清除發送(RTS/CTS)的802.11網路中的干擾回避。
第2圖係根據本揭露之一具體實施例之干擾域的說明。網路200包括節點202a-h。網路200係透過閘道204耦合至外部網路206。鏈路l1將閘道204耦合至節點202a。鏈路l2將節點202a耦合至節點202b。鏈路l3
將節點202b耦合至節點202c。鏈路l4將節點202c耦合至節點202d。鏈路l5將節點202d耦合至節點202e。鏈路l6將節點202e耦合至節點202f。鏈路l7將節點202f耦合至節點202g。鏈路l8將節點202g耦合至節點202h。鏈路l3之干擾域210包括鏈路l1、l2、l4、l5、以及l6。干擾域210表示共享無線頻譜的鏈路,並且係定位成使得一鏈路上的傳輸干擾另一鏈路的傳輸。例如,在干擾域210中,鏈路l2上節點202a至節點202b之傳輸、以及鏈路l4上節點202c與節點202d間的傳輸是在相同頻譜上操作。此外,僅針對鏈路l2的傳輸是在節點202d與202c導致的偵測極限內,使得鏈路l2上的傳輸干擾鏈路l4上的傳輸。
干擾域210的使用率可為干擾域210中所有鏈路l1-l6全部傳輸次數的總和。該總和可根據本揭露之一具體實施例如下文描述以數學方式表示。若R(m,n)為鄰近節點(m,n)間的鏈路速率,並且r(m,n)為這條鏈路在鄰近節點(m,n)間承載的訊務,以及r i 為訊流f i 之端對端速率,則r (m,n)=Σ i :f i traverses(m,n)r i 。
若I={I 1 ,I 2 ,...I j }是網路200中j個干擾域的集合,並且忽略實體與MAC層標頭,則
亦即,就網路中的所有干擾域而言,一干擾域的使用率(定義為成分鏈路全部傳輸次數的總和)無法
超出1。
干擾域210在頻譜已完全利用時可能變飽和。一數據流在所有其它使用已飽和干擾域的訊流間若具有最大速率,則該已飽和干擾域可為該數據流之瓶頸。多點跳躍數據流可為一或多個干擾域之一部分。數據流之端對端速率接著可由指定其最低速率之干擾域所約束。
請往回參照第1圖,於程序塊104計算累積緩衝器大小。累積緩衝器可組態成完全利用瓶頸干擾域中的頻譜資源,用以降低對多點跳躍數據串端對端速率的限制條件。根據一具體實施例,瓶頸干擾域210中的節點202a-f若總是有待發送封包,頻譜資源使用率便可改善。節點202a-f中任一者導致的封包傳輸皆可在傳輸期間,完全利用干擾域210中節點202a-f共享的可用頻譜資源。因此,只要對節點202a-f每一者都有指定緩衝器大小,各節點都可列入考慮。
累積緩衝器大小可為所有成分節點緩衝空間的總和。累積緩衝器使用率可為成分節點之聚集待完成量。累積緩衝器封包到達率可為個別節點到達率的總和。第3圖係根據本揭露之一具體實施例,說明無線網目網路之方塊圖,該無線網目網路附有針對干擾域中節點所設定的累積緩衝器。然而,這個累積緩衝器由於佇列分散且CSMA/CA排程隨機而未呈現先進先出(FIFO)特性。可在瓶頸干擾域210中節點202a-f的緩衝器303a-303f裡分配累積緩衝器。
根據一具體實施例,瓶頸頻譜的使用率可藉由隨意設定瓶頸累積緩衝器,大到使得其將在佇列中具有用以使瓶頸飽和的足夠封包而增強,即便訊務源受阻,試著從網路擁塞徵兆(例如:封包遺失)復原亦然。然而,這個緩衝器若大於網路支援的速率,則緩衝器可能增加佇列延遲而未增大端對流動率。瓶頸若緩衝不足,其頻譜資源便可能不會總是完全遭到利用。
多點跳躍無線數據串可透過具有最大速率為λ封包/秒的網路來傳輸。經過瓶頸干擾域的單向傳播延遲可為d秒。在不擁塞的網路中,傳播延遲可沿著多點跳躍無線鏈路藉由傳輸延遲(有少許或沒有佇列延遲)來制限。經過瓶頸的往返時間可為RTT=2d。
根據一具體實施例,網目網路可具有跨網路鏈路傳輸之即時訊務訊串。瓶頸干擾域與給定成對的訊號源目的地其即時訊務訊串的平均到達率若是μ封包/秒,這個瓶頸可在λ封包/秒的最大速率下支援訊務。瓶頸干擾域累積緩衝器大小的運算可為:B λ d。所屬技術領域中具有通常知識者將體會的是,描述中是單純為了易於解釋才使用封包而不是位元或位元組。
若μ λ,則緩衝器大小B可在訊務消耗干擾域的頻譜資源時,藉由丟棄過剩訊務,降低佇列延遲。在一時段內,這些封包丟棄可在訊源節點引動更高層決定降低速率。例如,VoIP用戶端可從高位元率編解碼器切換至低位元率編解碼器以配合網路設定。
若μ λ,由B λ d運算出的累積緩衝器便可在干擾域中實施,用以在網路實施例如CSMA/CA等隨機排程協定時,改善干擾域中的容量使用率。
根據另一具體實施例,網目網路可具有例如待完成量TCP訊串等叢發性訊務訊串,係跨網路之鏈路傳輸。訊串若是處於AIMD擁塞回避階段,TCP窗大小可在經受遺失之前先達到Wmax封包之值。因此,發送器可將窗大小減半到Wmax/2個封包。由於窗大小限制變遷時未應答封包數,因此發送器在開始重傳之前平均等待一時間區間。在這段時間內,分散式緩衝器B用B/λ秒進行排空。訊號源可在緩衝器完全排空之前開始重傳,用以增加瓶頸頻譜的使用率,使得或。當TCP訊源開始重傳時,訊號源產生率可等於或高於λ而提供完全的瓶頸容量使用率。因此,或。因此,B λ×RTT。
在多點跳躍無線網路中,λ可能受限於瓶頸干擾域。λ及RTT的值可部分基於網路拓樸及無線通道特性。根據一具體實施例,這些值可週期性測量並且記錄。根據另一具體實施例,近似法策略可用於測定λ及RTT,用以在測量及記錄值時降低負擔。例如,可估計λ及RTT的上界。可使用這些值的上界,調整大於瞬態精確BDP之
分散式緩衝器B的大小。這可有助於考慮無線通道之時變容量、以及非確定性的802.11分散協調式功能(DCF)排程。所產生的較大緩衝器針對較高的通道使用率與佇列延遲達成平衡。
請往回參照第1圖,於程序塊106,在瓶頸節點間分配累積緩衝器。一旦累積緩衝器大小B已運算,便可在瓶頸碰撞域210中的這組節點202a-f間分配累積緩衝器。根據一具體實施例,B可在節點202a-f之間均等分割。可輕易實施均等分割緩衝器。根據另一具體實施例,可根據成本函數在節點202a-f之間分散累積緩衝器。例如,一成本函數可考慮的是,較靠近訊號源的佇列丟棄比目的地附近的佇列丟棄消耗更少的網路資源。
第4圖係根據本揭露之一具體實施例,說明網目節點佇列佔用狀態變遷的狀態圖。節點ni可具有b i 個封包的佇列容量(對應於其分配的緩衝器)。π k 可表示節點佇列大小為k的穩態機率,其中0 k b i 。特別的是,π 0 及π bi 可分別表示緩衝器淨空或全滿的機率。節點傳輸一封包的機率可為p 0 ,並且變遷至一狀態佇列的封包少了一個。中繼節點以p 1,+ 之機率從其路由樹中的上層接收封包,並且接著局部佇列封包以供傳輸至下一次跳躍。變遷機率p 1,0 在當下佇列大小為零時,是封包接收的特例。最後,機率p of 表示因緩衝器溢位導致的封包丟棄。
一節點可始於在該節點無封包緩衝的狀態4020。該節點有某種機率p 1,0 可能前進到狀態4021,即節點
在緩衝器淨空時接收供中繼轉發用之封包的機率。該節點有某種機率p 0 可返回狀態4020,即傳輸成功的機率。該節點可從狀態4021前進至4022,或更一般的說法是402i,具有某種機率p 1,+ ,即該節點接收封包供中繼轉發用,接著予以佇列供傳輸用。該節點若是處於狀態402i,則該節點留在402i直到封包有某種機率p 0 成功傳輸為止。此外,由於緩衝器全滿,因此有某種機率p of 使得該節點接收封包並且留在狀態402i。
緩衝器在一於狀態402i接收封包時,於一節點溢位。因此,p of =π bi ×p 1,+ 。已由這個封包消耗之網路資源所導致與這個丟棄相關的成本,可隨著n i 的跳躍距離沿著路從路由路徑起增加。例如,愈靠近訊號源丟棄的封包相較於愈靠近目的地丟棄的封包,浪費的網路資源愈少。節點n i 若排序成使得其表示的跳躍距離從訊號源起遞增,i={1,2,...,M}的索引i(其中M是干擾域中的節點數)可實施為簡單的成本函數,用以表示n i 處與封包丟棄相關的偏差。
根據一具體實施例,累積緩衝器可根據以下限制條件分配:
這個成本函數可利用分析方法、或使用一些常用於解答方程組之套裝軟體中之任一者求解。在一實施例中,此分析可在個別網目路由器產生小型緩衝器。
藉由在各節點中提供組態成用以測定節點緩衝器大小之處理器,可遍及無線網目網路200之緩衝器302a-f分配累積緩衝器大小。根據一具體實施例,各節點202a-f中的處理器可計算累積緩衝器大小應賦予節點的部分。節點接著將其本身的緩衝器組態成具有對應的大小。根據另一具體實施例,干擾域210中節點202a-f之一的處理器可運算節點202a-f每一者的緩衝器大小,並且傳送緩衝器大小指定值至其它節點每一者。其它節點每一者之處理器其緩衝器大小接著會根據透過網路200接收的指令予以組態。
請往回參照第1圖,於程序塊108監測網目網路的變化。例如,監測網路可包括檢測瓶頸容量的變化。瓶頸的累積緩衝器大小及每一者節點的後續緩衝器大小係基於瓶頸干擾域特性,包括瓶頸容量及延遲。這些特性可隨時間變化。例如,802.11特設網路可基於傳輸功率控制、通道雜訊、及/或來自其它網路節點的干擾,將適應性鏈路速率用於增加或減少無線鏈路容量。可隨著時間監測這些特性。若檢測到變化,可運算瓶頸干擾域210的新累積緩衝器,可接著將其用於指定緩衝空間予個別節點202a-f。
於程序塊110,若檢測到網路中的變化,則方法100返回程序塊102,並且重複程序塊102、104、106、
108、以及110。若在程序塊110沒檢測到變化,則方法100返回程序塊108監測網路,直到有檢測到變化為止。
在一具體實施例中,放鬆佇列大小Q的上下界限,可預定最大容許佇列延遲極限。為了尋找佇列大小的上界Qmax,可考慮有發送器傳輸單一TCP訊串至接收器的802.11n網路。假設最大可能傳輸率為λ個封包/s。訊串若是處於TCP擁塞回避階段,TCP擁塞窗可成長,直到其在出現封包遺失的情況下達到W max 為止。於是,發送器將其TCP擁塞窗減半。因此,於再次進入傳輸階段之前,其等待。佇列Q排空時間為:Q/λ s。理想情節可以是發送器恰好在緩衝器淨空之前傳輸,用以確保有鏈路有完全受到利用,亦即或
還有,為了維持鏈路充分使用,發送器TCP傳輸率(即:cwnd/ARTT)應該為至少λ。因此,或
由方程式(3)及(4),得到
按照方程式(5),最大佇列大小Q max 等於頻
寬延遲乘積,使用的是最大可能傳輸率及對應的封包往返時間。ARTT可表示傳輸延遲,如在無線網路傳播延遲中一般,並且可忽略。
第9圖顯示透過802.11n網路單一A-MPDU傳輸的MAC負擔。TCP訊段傳輸時間T d-DATA 及TCP ACK傳輸時間T d-ACK 的計算可各別按照方程式6及7。
T d-DATA =T BO +T DIFS +2.T PHY +T SIFS +T BACK +K.(T MAC +T DATA ) (6)
所用802.11n網路的系統參數係列示於表1中。T BO 為發現通道忙碌時的後移間隔。基於MAC競爭窗及訊槽時寬(slot duration)T slot ,平均後移時間之計算可為:T BO =CW x T slot /2。最短訊框間時距為T SIFS ,並且分散式訊框間時距為T DIFS 。T DATA 及T MAC 分別是聚集訊框及MAC標頭傳輸時間。單一A-MPDU可含有K個TCP訊段,潛在與64kB或全部64個訊段孰小者一般大,各有其本身的MAC標頭。因此,每個A-MPDU都新增K x(T DATA +T MAC )之傳輸期間。TCP ACK傳輸時間為T TCP-ACK ,而T BACK 則是用以傳輸MAC級訊塊ACK訊框的時間。使用的若是有TCP延遲之應答,則應答的訊框只有K=2個。T PHY 為PHY前文及標頭的傳輸期間。TCP訊流若是遍歷M多點跳躍,則ARTT的計算可如下:
發送器若是以最高可能T x 速率(IEEE 802.11n的600Mb/s)傳輸,則需要最大佇列大小,而且,所有訊框都是以最大A-MPDU長度(即:K=64個子訊框)發送。透過單一跳躍傳輸附最大長度之A-MPDU及其訊塊ACK(按照第9圖所示的交換)的延遲在600Mb/s鏈路速率下約為1.9ms。根據方程式5,佇列大小Qmax的上界在單一跳躍網路上應該為95個封包,在兩次跳躍網路上應該為190個封包,依此類推。就下界而言,最小佇列大小Q min 應該等於鏈路速率容許的最大A-MPDU長度。這是因為允許佇列大小比單一A-MPDU中子訊框數還小,會導致發送較短的聚集,從而負面影響網路通量。
可運算容許之佇列延遲極限上寬鬆的下界。使用訊框聚集之802.11n網路,其最大可容許A-MPDU大小隨著鏈路速率而變。考慮附高干擾之無線通道,其中速率控制演算法選擇要以最低可能數據率傳輸(就802.11n無線電而言為6.5Mb/s)。按照ath9k聚集實作邏輯,A-MPDU聚集在以6.5Mb/s傳輸時遭到停用。於是,極限應大於或等於一訊框在最低可能速率下的傳輸時間。按照方程式6及7,極限應大於或等於2.5ms。在一具體實施例中,極限為(=)2.5ms可容許潛時顯著降低,同時保留整體網路通量。
在一例示性具體實施例中,可使用Linux工作環境實施WQM。可用複數個電腦實施一(非限制)具體實施例。電腦可配有無線網路硬體,例如TP-Link WDN4800(Atheros AR9380),其為附450Mb/s最大鏈路速率之雙頻帶(2.4/5GHz)、3訊串MIMO 802.11n無線網路卡。可選擇其
它種已用或未用之無線電頻帶用來實作,例如,5GHz U-NII(非正式國家資訊基礎建設)無線電頻帶能用於回避對特定校園(campus)生產網路造成干擾ρ節點可間隔特定距離而置,例如間隔10m。在一例示性具體實施例中,可補綴(patch)附web10g補丁之標準3.9.10 Linux內核,(例如)用以監測各項TCP統計量。速率控制可利用標準驅動程式,例如附詩人(Minstrel)之ath9k驅動程式。可使用TCP Cubic,這是普通版Linux上預設的TCP版本。可將netperf(Netperf,http://www.netperf.org/netperf/)用於模擬大型檔案傳輸。由於TCP標頭可新增附加的20位元組,TCP時間戳記可新增10位元組,IPv4標頭可新增20位元組,並且墊塞部分可新增2位元組,因此可產生附1448位元組訊段之TCP訊串,總最大訊段大小(MSS)為1500位元組。
在一例示性具體實施例中,WQM實作可使用一種佇列大小回應測量線性成長的保守作法。演算法若有需要,可將佇列大小降低(例如)一半,用以確保網路潛時受到約束。多條訊流的平均訊流通量及延遲結果係列示於表II內。單一訊流的WQM相較於1000個封包之緩衝器,可降低大約五倍(即:5倍)的網路潛時,成本近似流通量降低13%。WQM隨著訊流數增加可維持低往返延遲,而預設緩衝器大小則導致高潛時。這可歸因於訊流間的不公平性。表III列出預設方案及WQM兩者的Jain的公平性指標(Jain’s Fairness Index,簡稱JFI)值。可清楚看出,大型緩衝器會導致嚴重的不公平性,因為一或多條訊流快速填
滿該些緩衝器,其它緩衝器則空置(starving)。WQM可藉由將佇列大小限制為實際所需值而避免那些訊流的這種行為。
第10圖顯示5條訊流之WQM佇列大小變化。由圖清楚看出,需用以維持高通量的佇列大小比Linux預設值低很多。還顯示的是,由於網路負載會變化,所需的緩衝器從而應該跟著改變,因此將緩衝器大小固定成靜態低值是不可行的。
802.11n標準規格要求與802.11a/b/g裝置維持回溯相容性。在這種情況下,802.11n裝置不使用訊框聚集。為了要測試這種情節,已在停用A-MPDU聚集的同時重複先前的結果。表IV列出每條訊流通量及RTT的平均值。相較於預設附1000個訊框佇列大小的例子,WQM的潛時降低可達到六倍(即:6倍),但仍具有類似的流通量。第11圖針對網路中的各種訊流數,顯示A-MPDU已停用之佇列大小與A-MPDU已啟用之佇列大小兩者之比率。如預期,對於所有情節,A-MPDU已啟用之平均佇列大小可比其停用時還大。這一般是因為A-MPDU可容許發送器使用較高速率發送。因此,WQM在其即將更快速排空時,可容許佇列變更大。802.11n網路即使未行綠地部署,亦即網路不是只由802.11n裝置組成,WQM仍可控制網路潛時。
多點跳躍無線網路中也已評估各種WQM具體實施例的效能。例如,表V顯示透過兩次跳躍網路的結果,亦即封包在到達其目的地之前先佇列兩次。如上所述,
單一A-MPDU的傳輸時間在本例中將是兩倍之多,因此,最大可容許佇列大小也將是兩倍。在最壞情況下,各種訊流數的WQM降低的RTT可達五倍(即:5倍),成本為流通量降低10%。
第12圖顯示WQM於訊號源及中繼轉發佇列兩者所指定的平均佇列長度。隨著競爭訊流數增加,訊號源的平均佇列大小也增加,用以試著容納所需附加頻寬。由於競爭訊流在其發現通道忙碌時隨機後移,因此中繼轉發處的平均佇列大小降低。
第5圖針對合併一網路(例如以上具體實施例中所述的無線網目網路)之資訊系統,說明系統500之一具體實施例。系統500可包括伺服器502、數據儲存裝置506、網路508、以及使用者介面裝置510。伺服器502可為專屬伺服器或雲端運算系統裡的一個伺服器。在進一步具體實施例中,系統500可包括儲存控制器504、或儲存伺服器,係組態成用以管理數據儲存裝置506、與伺服器502或其它與網路508通訊之組件間的數據通訊。在替代具體實施例中,儲存控制器504可耦合至網路508。
在一具體實施例中,使用者介面裝置510係廣泛關於且用意在於含括適當的基於處理器之裝置,例如桌上型電腦、膝上型電腦、個人數位助理器(PDA)或桌台型電腦(table computer)、智慧型手機或其它能存取網路508之行動通訊裝置或組織器裝置。在進一步具體實施例中,使用者介面裝置510可透過無線網目網路,存取網際
網路或其它廣域網路(WAN)或區域網路(LAN),用以存取伺服器502託管的網頁應用程式或網頁服務,並且提供用於該使用者能夠進入或接收資訊的使用者介面。
網路508可促進伺服器502與使用者介面裝置510間的通訊。網路508可包括任何類型的通訊網路,包括(但不限於)多點跳躍無線網目網路、個人電腦間(PC-to-PC)直接連線、區域網路(LAN)、廣域網路(WAN)、數據機間連線、網際網路、以上的組合、或任何其它網路連結技術中目前已知或隨即開發的通訊網路,其允許兩個或更多個電腦互相通訊。
第6圖說明根據伺服器502及/或使用者介面裝置510特定具體實施例調適的電腦系統600。中央處理單元(CPU)602係耦合至系統匯流排604。CPU 602可為通用CPU或微處理器、圖形處理單元(GPU)、及/或微控器。只要CPU 602(無論是直接或間接)支援如本文所述的模組及操作,本具體實施例便不受限於CPU 602之架構。CPU 602可根據本具體實施例執行各種邏輯指令。
電腦系統600還可包括隨機存取記憶體(RAM)608,其可為SRAM、DRAM、SDRAM、或類似者。電腦系統600可利用RAM 608儲存例如資料庫、資料表、及/或記錄等軟體應用程式所使用的各種資料結構。電腦系統600還可包括唯讀記憶體(ROM)606,其可為PROM、EPROM、EEPROM、光學儲存器、或類似者。ROM可儲存用於啟動電腦系統600之組態資訊。RAM 608及ROM 606保留使用
者及系統數據。
電腦系統600還可包括輸入/輸出(I/O)配接器610、通訊配接器614、使用者介面配接器616、以及顯示配接器622。I/O配接器610及/或使用者介面配接器616在一定具體實施例中,可讓使用者與電腦系統600互動。在進一步具體實施例中,顯示配接器622可顯示與例如監測或觸控螢幕等顯示裝置624上,與軟體或基於網頁之應用程式相關的圖形使用者介面。
I/O配接器610可將例如硬碟機、光碟(CD)驅動機、軟式磁碟機、以及磁帶驅動機等一或多者之一或多個儲存裝置612連接至電腦系統600。通訊配接器614可調適成用以將電腦系統600耦合至網路408,其可為LAN、WAN、及/或網際網路之一或多者。通訊配接器614可調適成用以將電腦系統600耦合至儲存裝置612。使用者介面配接器616將例如鍵盤620、指向裝置618、及/或觸控螢幕(圖未示)等使用者輸入裝置耦合至電腦系統600。顯示配接器622可由CPU 602驅動用以控制顯示裝置624上的顯示。
本揭露的應用不侷限於電腦系統600之架構。反而,提供的電腦系統600是當作一種運算裝置之實施例,其可調適成用以進行伺服器502及/或使用者介面裝置510的功能。例如,任何適當的基於處理器之裝置皆可加以利用,包括(非限制)個人資料助理器(PDA)、平板電腦、智慧型手機、電腦遊戲主控台、以及多處理器伺服器。
此外,本揭露之系統及方法可在特殊應用積體電路(ASIC)、超大型積體(VLSI)電路、或其它電路系統上實施。事實上,根據所述具體實施例,所屬技術領域中具有通常知識者可利用任意數能夠執行邏輯運算之適當結構。
上述功能若是在韌體及/或軟體裡實施,便可在電腦可讀取媒體上儲存成一或多條指令或符碼。實施例包括以資料結構編碼之非暫存電腦可讀取媒體、以及以電腦程式編碼之電腦可讀取媒體。電腦可讀取媒體包括實體電腦儲存媒體。儲存媒體可為任何能由電腦存取的可用媒體。藉由實施例,而且不是限制,此類電腦可讀取媒體可包含RAM、ROM、EEPROM、CD-ROM或其它光磁碟儲存器、磁碟儲存器或其它磁性儲存裝置、或任何其它媒體,其可用於儲存形式為指令或資料結構的所欲程式碼,並且其可藉由電腦存取;如本文使用之磁碟(disk)及碟片(disc)包括光碟(CD)、雷射影碟、光碟片、多樣化數位光碟(DVD)、軟磁碟及藍光光碟,其中磁碟常以磁性方式重現數據,而碟片則利用雷射以光學方式重現數據。以上的組合也應包括於電腦可讀取媒體的範疇內。
除了電腦可讀取媒體的儲存外,還可在通訊設備中所包括的傳輸媒體上提供指令及/或數據作為信號。例如,通訊設備可包括收發器,其具有表示指令及數據的信號。指令及數據係組態成用以使一或多個處理器實施申請專利範圍中概括的功能。
第1及4圖中的示意流程圖的圖解一般是提
出作為邏輯流程圖的圖解。如此,繪示的順序及標記的步驟表示本方法的一具體實施例。可對所述方法之一或多個步驟、或其部分,設想功能、邏輯、或功效均等之其它步驟及方法。此外,運用的格式及符號係經提供用以解釋本方法之邏輯步驟,並且係經理解不限制本方法之範疇。流程圖之圖解中雖然可運用各種箭頭型式及線條型式,要理解其未限制對應方法之範疇。某些箭頭或其它連接記號的確僅可用於指示本方法的邏輯流程。例如,一箭頭可指示等待或監測繪示之方法之列舉之步驟間未規定期間的周期。此外,特定方法出現的順序可或可不嚴格遵守所示對應步驟的順序。
本文所揭示及主張的所有方法,鑑於本揭露,無需過度實驗,便可實行及執行。本發明的器具及方法雖然已依據較佳具體實施例描述,所屬技術領域中具有通常知識者將顯而易知的是,可將變例應用於本方法,並且在本文所述方法的步驟中或步驟序列中應用,但不脫離本發明的概念、精神及範疇。此外,可製作所揭示器具的改進例,並且本文所述組件可予以排除或取代,但仍會達到相同或類似的結果。所有此種對所屬技術領域中具有通常知識者顯而易知的類似替代例及改進例,都視為落於如所附申請專利範圍界定之本發明之精神、範疇、以及概念內。
上述各項技術、方法、以及系統都可使用基於電腦之系統及方法部分或完整實施。此外,基於電腦
之系統及方法可用於擴充或增強上述功能、提升功能可進行之速度、以及提供附加特徵及態樣作為本文件它處所述的一部分或另外的部分。下面介紹的是依據上述技術之各種基於電腦之系統、方法及實作。
在一實作中,通用型電腦可具有內或外記憶體,用於儲存數據及程式,例如作業系統(例如:DOS、Windows 2000TM、Windows XPTM、Windows NTTM、OS/2、iOS、UNIX或Linux)以及一或多個應用程式。應用程式的實施例包括實施本文所述技術之電腦程式、能夠產生文件或其它電子內容之創作應用程式(例如:文字處理程式、資料庫程式、試算表程式、模擬程式、工程程式、或圖學程式);能夠與其它電腦使用者通訊、存取各種電腦資源、以及檢視、建立、另或鍵控電子內容之之用戶端應用程式(例如:網際網路服務提供者(ISP)用戶端、電子郵件客戶端、傳送即時訊息(IM)用戶端)、以及能夠轉列標準網際網路內容及其它根據以下標準協定製作格式之內容的瀏覽器應用程式(例如:Microsoft的Internet Explorer或Google Chrome):超文字傳輸通訊協定(HTTP)、HTTP安全(Secure)、或安全超文件傳送協定。
應用程式之一或多者可在通用型電腦的內或外儲存器上安裝。或者,在另一實作中,應用程式可外儲於外接至通用型電腦之一或多個裝置內或藉由該(些)裝置進行。
通用型電腦包括用於回應命令執行指令之
中央處理單元(CPU)、以及用於發送並接收數據之通訊裝置。通訊裝置之一實施例為數據機。其它實施例包括收發器、通信卡、衛星碟型天線、天線、網路配接器、網路介面卡、行動上網裝置、或某些其它能夠經由有線或無線數據路徑透過通訊鏈路傳輸及接收數據的機制。
通用型電腦可包括能與各種周邊裝置有線或無線連接之輸入輸出介面。周邊裝置之實施例包括(但不限於)滑鼠、行動電話、個人數位助理器(PDA)、智慧型手機、平板電腦、鍵盤、附有或未附觸控式螢幕輸入之顯示監視器、以及視聽輸入裝置。在另一實作中,周邊裝置本身可包括通用型電腦的功能。例如,行動電話或PDA可包括運算及網路連結功能,並且藉由存取傳遞網路並與其它電腦系統通訊,起通用型電腦的作用。傳遞網路的實施例包括網際網路、全球資訊網、WAN、LAN、類比或數位有線及無線電話網路(例如:公用交換電話網路(PSTN)、整合式服務數位網路(ISDN)、或數位用戶線路(xDSL))、無線電、電視、電纜、或衛星系統、以及其它用於載送數據的傳遞機制。通訊鏈路可包括能透過一或多個傳遞網路通訊之通訊路徑。
在一實作中,基於處理器之系統(例如:通用型電腦)可包括主記憶體,較佳為隨機存取記憶體(RAM),並且還可包括輔助記憶體。輔助記憶體可包括(例如)硬式磁碟機或卸除式儲存機,表示軟式磁碟機、磁帶驅動機、光碟驅動機(藍光、DVD、光碟機)、磁帶、紙帶、
孔卡、單機型隨機存取記憶磁碟、固體狀態驅動機、或快閃記憶體裝置(包括記憶卡、USB姆指碟、固態硬碟等)。卸除式儲存機讀取自或寫入至卸除式儲存媒體。卸除式儲存媒體可包括軟磁碟、磁帶、光碟(藍光光碟、DVD、CD)、記憶卡(CompactFlash卡、SD記憶卡、記憶條)、紙資料儲存器(孔卡、打孔帶)等,可將其移離用於進行讀取及寫入操作的儲存機。如將了解的是,卸除式儲存媒體可包括電腦軟體或數據。
在替代具體實施例中,輔助記憶體可包括其它用於容許電腦程式或其它指令載入電腦系統的類似手段。此類手段可包括(例如)卸除式儲存單位及介面。其實施例可包括程式匣、及匣介面(例如:可在視訊遊戲裝置裡找到)、卸除式記憶體晶片(例如:EPROM或PROM)及相關插座、以及其它卸除式儲存單位及介面,其容許軟體及數據由卸除式儲存單位傳送至電腦系統。
在一具體實施例中,電腦系統還可包括通訊介面,其容許軟體及數據在電腦系統與外接裝置間傳輸。通訊介面之實施例可包括數據機、網路介面(例如乙太網路卡)、通訊埠、以及PCMCIA插槽及卡。經由通訊介面傳輸之軟體及數據形式為信號,其可為電子、電磁、光學或其它能夠藉由通訊介面接收之信號。這些信號是經由能夠載送信號的通道提供至通訊介面,並且可使用無線媒體、導線或纜線、光纖或其它通訊媒體實施。通道的某些實施例可包括電話線、行動電話鏈路、射頻鏈路、網路介
面、以及其它適當的通信通道。
在本文件中,用語「電腦程式媒體」及「電腦可用媒體」一般是用於指涉例如以下之媒體:卸除式儲存裝置、能夠在磁碟機裡安裝的磁碟、以及通道上的信號。這些電腦程式產品提供軟體或程式指令至電腦系統。
電腦程式(亦稱為電腦控制邏輯)係儲存於主記憶器或輔助記憶體內。電腦程式也可經由通訊介面接收。此類電腦程式在執行時,能使電腦系統進行如本文所述的特徵。特別的是,電腦程式在執行時,能使處理器進行所述技術。此類電腦程式從而表示電腦系統的控制器。
在元件是用軟體實施的具體實施例中,軟體可儲存於電腦程式產品內、或經由電腦程式產品傳輸,並且使用(例如)卸除式儲存機、硬碟機或通訊介面載入電腦系統。控制邏輯(軟體)在藉由處理器執行時,使處理器進行本文所述技術的功能。
在另一具體實施例中,元件主要是在硬體裡實施,使用的是(例如)如PAL(可程式化陣列邏輯)裝置等硬體組件、特殊應用積體電路(ASIC)、或其它適當的硬體組件。為了進行本文所述功能而實施硬體狀態機,對所屬技術領域中具有通常知識者將是明顯的。在又另一具體實施例中,元件是使用硬體與軟體兩者的組合植入。
在另一具體實施例中,基於電腦之方法可經由網頁存取或透過全球資訊網實施本文所述本方法。網頁從而是藉由環球資源定位器(URL)識別。該URL指示伺
服器及伺服器上的特定檔案或分頁。在本具體實施例中,設想的是,用戶端電腦系統與瀏覽器互動以選取特定URL,其轉而使瀏覽器對該URL發送要求、或將分頁發送至該URL中識別的伺服器。伺服器典型藉由擷取要求的分頁,並且將該分頁之數據傳回提出要求之用戶端電腦系統,來回應要求(用戶端/伺服器的互動典型是依據超文件傳送協定或HTTP進行)。選取的分頁接著是在用戶端的顯示幕上顯示給使用者看。用戶端接著可使含有電腦程式之伺服器啟動應用程式,用以(例如)根據所述技術進行分析。在另一實作中,伺服器可下載應用程式在用戶端執行,用以根據所述技術進行分析。
以下參考文獻在本文係以引用方式完整併入。
J. Gettys and K. Nichols, “Bufferbloat:dark buffers in the internet,” Commun. ACM, vol. 55, no. 1, pp. 57-65, Jan. 2012。
T. Li, D. Leith, and D. Malone, “Buffer sizing for 802.11-based networks,” IEEE/ACM Transactions on Networking, vol. 19, no. 1, pp. 156 -169, Feb. 2011。
K. Jamshaid, B. Shihada, L. Xia, and P. Levis, “Buffer sizing in 802.11 wireless mesh networks,” in Mobile Adhoc and Sensor Systems (MASS), 2011 IEEE 8th International Conference on, Oct. 2011, pp. 272 -281。
K. L. Haiqing Jiang, Yaogong Wang and I.
Rhee, “Tackling bufferbloat in 3G/4G mobile networks,” Dept. of Computer Science, North Carolina State University, Raleigh, NC, USA, Tech. Rep. TR-2012-6, March 2012。
M. Thottan and M. C. Weigle, “Impact of 802.11e EDCA on mixed TCP-based applications,” in Proceedings of the 2nd annual interna- tional workshop on Wireless internet, ser. WICON’06, 2006。
R. Bruno, M. Conti, and E. Gregori, “Analytical modeling of TCP clients in Wi-Fi hot spot networks,” in Proc. of the IFIP Networking’04, May 2004, pp. 626-637。
K. Xu, M. Gerla, L. Qi, and Y. Shu, “Enhancing TCP fairness in ad hoc wireless networks using neighborhood RED,” in Proc. of the ACM MobiCom’03, Sep. 2003, pp. 16-28。
O. Dousse, “Revising buffering in CSMA/CA wireless multihop net- works,” in Proc. of the IEEE SECON’07, Jun. 2007。
D. Smithies and F. Fietkau, Minstrel Rate Control Algorithm。[線上]。可得自:wireless.kernel.org/en/developers/Documentation/mac80211/RateControl/minstrel
IEEE LAN/MAN Standards Committee, IEEE 802.11 Wireless LAN medium access control (MAC) and physical layer (PHY) specifications, IEEE, 2012。
C. Villamizar and C. Song, “High performance TCP in ANSNET,” SIGCOMM Comput. Commun. Rev., vol. 24, no. 5, pp. 45-60, Oct. 1994。
其它具體實施例屬於以下申請專利範圍的範疇內。
Claims (18)
- 一種無線網路節點,其包含:無線網路天線;與該無線網路天線通訊的處理器;以及含有電腦可執行碼之非暫存電腦可讀取媒體,命令該處理器:計算初始緩衝器大小;基於當下網路負載將該初始緩衝器大小調整至當下緩衝器大小,其中,該無線網路節點具有傳輸率,並且其中,單一協定數據單元傳輸之該初始緩衝器大小是該傳輸率與往返延遲的乘法乘積;測定佇列排空時間,並且用以計算預定義最大佇列排空時間及預定義最小佇列排空時間;以及基於測定該佇列排空時間超過該最大佇列排空時間、以及該預定義最小佇列排空時間至少兩個連續週期,重新調整該當下緩衝器大小。
- 一種管理無線佇列的方法,其包含:基於單一協定數據單元傳輸之往返延遲及傳輸率,計算初始緩衝器大小;以及基於當下網路負載,將該初始緩衝器大小調整至當下緩衝器大小。
- 如申請專利範圍第2項所述之方法,其中,該初始緩衝器大小大於或等於瓶頸鏈路容量之已定頻寬延遲乘積。
- 如申請專利範圍第2項所述之方法,其更包含:測定佇列排空時間;以及計算預定義最大佇列排空時間及預定義最小佇列排空時間。
- 如申請專利範圍第4項所述之方法,其更包含:基於測定該佇列排空時間大於該最大佇列排空時間、或小於該預定義最小佇列排空時間至少兩個連續週期,重新調整該當下緩衝器大小。
- 一種用於在網路中管理無線佇列的方法,其包含:設定最大可接受佇列延遲極限;計算初始佇列大小Q initial ,其中,Q initial 係基於當下傳輸率R、以及單一協定數據單元傳輸之往返延遲ARTT,並且其中,Q initial =R * ARTT;以及計算當下佇列大小Q。
- 如申請專利範圍第6項所述之方法,其更包含:週期性計算通道裡基於該當下佇列大小中總位元數B的佇列排空時間T drain 、以及該通道不忙碌的時間百分率F,並且其中,。
- 如申請專利範圍第7項所述之方法,其更包含:基於該網路是否膨脹來調整Q。
- 一種用於資料緩衝之方法,其包含:在無線網路中提供複數個與至少一無線網路標準相容的節點,該複數個節點各具有緩衝器,該緩衝器具有初始指定大小;主動測量至少一鏈路特性及網路負載;基於該已測至少一鏈路特性及網路負載,以可調適方式調整各節點的緩衝器大小;計算兩個節點之間的佇列延遲;當該佇列延遲超出預定義最大極限兩個連續預定義時間週期時,減小該緩衝器大小;以及計算最小容許佇列延遲,其中,該佇列延遲大於或等於一訊框在最低速率下的傳輸時間。
- 如申請專利範圍第9項所述之方法,其更包含:基於當下傳輸率,週期性重新計算排空各節點緩衝器所需的時間,其中,該當下傳輸率係該已測至少一鏈路特性的一者。
- 如申請專利範圍第9項所述之方法,其更包含基於該已測至少一鏈路特性,在兩個節點之間選取最佳鏈路速率。
- 如申請專利範圍第11項所述之方法,其更包含以特定時間區間,藉由用固定速率發送至少兩個封包,選取該最佳鏈路速率。
- 如申請專利範圍第12項所述之方法,其中,該最佳鏈路速率的計算是將傳輸的數據量除以一封包之單次試傳(single try)。
- 如申請專利範圍第9項所述之方法,其中,該無線網路標準為IEEE 802.11n。
- 如申請專利範圍第9項所述之方法,其中,該無線網路標準為IEEE 802.11ac。
- 如申請專利範圍第9項所述之方法,其更包含當該佇列延遲低於預定義最大極限兩個連續預定義時間週期時,增大該緩衝器大小。
- 如申請專利範圍第9項所述之方法,其更包含依照最大封包傳輸率及對應之封包往返時間的乘積,計算最大緩衝器大小。
- 一種用於資料緩衝之系統,其包含:無線網路中複數個與至少一無線網路標準相容的節點,該複數個節點各具有緩衝器,該緩衝器具有初始指定大小及處理器;耦合該複數個節點之複數個通訊鏈路,各通訊鏈路皆耦合該複數個節點中的兩個節點;其中,該複數個節點之至少一者的處理器係組態成:用以主動測量至少一鏈路特性及網路負載;基於該已測至少一鏈路特性及網路負載,用於以可調適方式調整各節點的緩衝器大小;基於當下傳輸率,週期性重新計算排空各節點緩衝器所需之時間,其中,該當下傳輸率係該已測至少一鏈路特性的一者;基於該已測至少一鏈路特性,在兩個節點之間選取最佳鏈路速率;計算兩個節點之間的佇列延遲;以及計算最小容許佇列延遲,其中,該佇列延遲大於或等於一訊框在最低速率下的傳輸時間。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/166,262 | 2014-01-28 | ||
US14/166,262 US9276832B2 (en) | 2011-03-20 | 2014-01-28 | Buffer sizing for multi-hop networks |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201536071A TW201536071A (zh) | 2015-09-16 |
TWI664861B true TWI664861B (zh) | 2019-07-01 |
Family
ID=53189093
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104102817A TWI664861B (zh) | 2014-01-28 | 2015-01-28 | 多點跳躍網路的緩衝器尺寸調整 |
TW108114339A TW201929569A (zh) | 2014-01-28 | 2015-01-28 | 多點跳躍網路的緩衝器尺寸調整 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108114339A TW201929569A (zh) | 2014-01-28 | 2015-01-28 | 多點跳躍網路的緩衝器尺寸調整 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3100420B1 (zh) |
CA (1) | CA2945702A1 (zh) |
TW (2) | TWI664861B (zh) |
WO (1) | WO2015114466A2 (zh) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10361585B2 (en) | 2014-01-27 | 2019-07-23 | Ivani, LLC | Systems and methods to allow for a smart device |
US9474042B1 (en) | 2015-09-16 | 2016-10-18 | Ivani, LLC | Detecting location within a network |
US10665284B2 (en) | 2015-09-16 | 2020-05-26 | Ivani, LLC | Detecting location within a network |
US10455357B2 (en) | 2015-09-16 | 2019-10-22 | Ivani, LLC | Detecting location within a network |
US10382893B1 (en) | 2015-09-16 | 2019-08-13 | Ivani, LLC | Building system control utilizing building occupancy |
US11350238B2 (en) | 2015-09-16 | 2022-05-31 | Ivani, LLC | Systems and methods for detecting the presence of a user at a computer |
US11533584B2 (en) | 2015-09-16 | 2022-12-20 | Ivani, LLC | Blockchain systems and methods for confirming presence |
US10321270B2 (en) | 2015-09-16 | 2019-06-11 | Ivani, LLC | Reverse-beacon indoor positioning system using existing detection fields |
US10129853B2 (en) * | 2016-06-08 | 2018-11-13 | Cognitive Systems Corp. | Operating a motion detection channel in a wireless communication network |
US9989622B1 (en) | 2017-03-16 | 2018-06-05 | Cognitive Systems Corp. | Controlling radio states for motion detection |
US10111228B2 (en) | 2017-03-16 | 2018-10-23 | Cognitive Systems Corp. | Selecting wireless communication channels based on signal quality metrics |
US9927519B1 (en) | 2017-03-16 | 2018-03-27 | Cognitive Systems Corp. | Categorizing motion detected using wireless signals |
US9743294B1 (en) | 2017-03-16 | 2017-08-22 | Cognitive Systems Corp. | Storing modem parameters for motion detection |
US10056129B1 (en) | 2017-08-10 | 2018-08-21 | Micron Technology, Inc. | Cell bottom node reset in a memory array |
US10051414B1 (en) | 2017-08-30 | 2018-08-14 | Cognitive Systems Corp. | Detecting motion based on decompositions of channel response variations |
KR102450514B1 (ko) * | 2017-09-19 | 2022-10-05 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법 및 그것을 포함하는 저장 장치의 동작 방법 |
US10109167B1 (en) | 2017-10-20 | 2018-10-23 | Cognitive Systems Corp. | Motion localization in a wireless mesh network based on motion indicator values |
US10228439B1 (en) | 2017-10-31 | 2019-03-12 | Cognitive Systems Corp. | Motion detection based on filtered statistical parameters of wireless signals |
US10048350B1 (en) | 2017-10-31 | 2018-08-14 | Cognitive Systems Corp. | Motion detection based on groupings of statistical parameters of wireless signals |
US9933517B1 (en) | 2017-11-03 | 2018-04-03 | Cognitive Systems Corp. | Time-alignment of motion detection signals using buffers |
US10605908B2 (en) | 2017-11-15 | 2020-03-31 | Cognitive Systems Corp. | Motion detection based on beamforming dynamic information from wireless standard client devices |
US10109168B1 (en) | 2017-11-16 | 2018-10-23 | Cognitive Systems Corp. | Motion localization based on channel response characteristics |
US10852411B2 (en) | 2017-12-06 | 2020-12-01 | Cognitive Systems Corp. | Motion detection and localization based on bi-directional channel sounding |
US10264405B1 (en) | 2017-12-06 | 2019-04-16 | Cognitive Systems Corp. | Motion detection in mesh networks |
US10108903B1 (en) | 2017-12-08 | 2018-10-23 | Cognitive Systems Corp. | Motion detection based on machine learning of wireless signal properties |
US10393866B1 (en) | 2018-03-26 | 2019-08-27 | Cognitive Systems Corp. | Detecting presence based on wireless signal analysis |
US10318890B1 (en) | 2018-05-23 | 2019-06-11 | Cognitive Systems Corp. | Training data for a motion detection system using data from a sensor device |
US11579703B2 (en) | 2018-06-18 | 2023-02-14 | Cognitive Systems Corp. | Recognizing gestures based on wireless signals |
CN112913273B (zh) * | 2018-11-14 | 2023-03-31 | 中兴通讯股份有限公司 | 用于确定用于非陆地网络的通信参数的系统和方法 |
US11403543B2 (en) | 2018-12-03 | 2022-08-02 | Cognitive Systems Corp. | Determining a location of motion detected from wireless signals |
US10506384B1 (en) | 2018-12-03 | 2019-12-10 | Cognitive Systems Corp. | Determining a location of motion detected from wireless signals based on prior probability |
US10565860B1 (en) | 2019-03-21 | 2020-02-18 | Cognitive Systems Corp. | Offline tuning system for detecting new motion zones in a motion detection system |
US10849006B1 (en) | 2019-04-30 | 2020-11-24 | Cognitive Systems Corp. | Controlling measurement rates in wireless sensing systems |
US10459074B1 (en) | 2019-04-30 | 2019-10-29 | Cognitive Systems Corp. | Determining a location of motion detected from wireless signals based on wireless link counting |
US10600314B1 (en) | 2019-04-30 | 2020-03-24 | Cognitive Systems Corp. | Modifying sensitivity settings in a motion detection system |
US10567914B1 (en) | 2019-04-30 | 2020-02-18 | Cognitive Systems Corp. | Initializing probability vectors for determining a location of motion detected from wireless signals |
US10460581B1 (en) | 2019-05-15 | 2019-10-29 | Cognitive Systems Corp. | Determining a confidence for a motion zone identified as a location of motion for motion detected by wireless signals |
US10404387B1 (en) | 2019-05-15 | 2019-09-03 | Cognitive Systems Corp. | Determining motion zones in a space traversed by wireless signals |
US10743143B1 (en) | 2019-05-15 | 2020-08-11 | Cognitive Systems Corp. | Determining a motion zone for a location of motion detected by wireless signals |
US11012361B2 (en) | 2019-08-29 | 2021-05-18 | Hughes Network Systems, Llc | Managing transmission control protocol (TCP) traffic |
US11044578B2 (en) | 2019-09-30 | 2021-06-22 | Cognitive Systems Corp. | Detecting a location of motion using wireless signals that propagate along two or more paths of a wireless communication channel |
CN114599991A (zh) | 2019-10-31 | 2022-06-07 | 认知系统公司 | 引发来自无线通信装置的mimo传输 |
US11570712B2 (en) | 2019-10-31 | 2023-01-31 | Cognitive Systems Corp. | Varying a rate of eliciting MIMO transmissions from wireless communication devices |
EP4052065A4 (en) | 2019-10-31 | 2022-12-07 | Cognitive Systems Corp. | USING MIMO TRAINING AREAS FOR MOTION DETECTION |
US12019143B2 (en) | 2020-03-03 | 2024-06-25 | Cognitive Systems Corp. | Using high-efficiency PHY frames for motion detection |
US10928503B1 (en) | 2020-03-03 | 2021-02-23 | Cognitive Systems Corp. | Using over-the-air signals for passive motion detection |
US11304254B2 (en) | 2020-08-31 | 2022-04-12 | Cognitive Systems Corp. | Controlling motion topology in a standardized wireless communication network |
US11070399B1 (en) | 2020-11-30 | 2021-07-20 | Cognitive Systems Corp. | Filtering channel responses for motion detection |
CN112689314B (zh) * | 2020-12-22 | 2021-09-14 | 哈尔滨学院 | 基于内存分配的多跳无线传感器网络数据路径优化方法 |
CN115914106B (zh) * | 2022-11-04 | 2023-09-19 | 合肥登登立科技有限公司 | 一种用于网络流量转发的自适应缓冲方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030152083A1 (en) * | 2002-02-01 | 2003-08-14 | Nami Nagata | Packet transfer scheduling device and packet transfer scheduling method |
US6988144B1 (en) * | 1999-11-18 | 2006-01-17 | International Business Machines Corporation | Packet scheduling system and method for multimedia data |
US20070116024A1 (en) * | 2003-11-14 | 2007-05-24 | Junfeng Zhang | Packet scheduling method for wireless communication system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8055787B2 (en) * | 2004-09-10 | 2011-11-08 | Invensys Systems, Inc. | System and method for managing industrial process control data streams over network links |
BRPI0517561B1 (pt) * | 2004-11-11 | 2018-11-13 | Koninl Philips Electronics Nv | método e aparelho de multiplexação para multiplexar pacotes de dados |
JP4890610B2 (ja) * | 2006-05-05 | 2012-03-07 | トムソン ライセンシング | 遅延ダウンロード・サービスのためのスレショルド・ベース・ノーマライズド・レート・アーリエスト・デリバリ・ファースト(nredf) |
US8345691B2 (en) * | 2008-05-15 | 2013-01-01 | Cellco Partnership | Scheduling with quality of service support in wireless system |
MY178763A (en) * | 2011-09-29 | 2020-10-20 | Mimos Berhad | A method of allocating quality of service based on quality of transmission |
-
2015
- 2015-01-27 EP EP15723295.0A patent/EP3100420B1/en not_active Not-in-force
- 2015-01-27 WO PCT/IB2015/000608 patent/WO2015114466A2/en active Application Filing
- 2015-01-27 CA CA2945702A patent/CA2945702A1/en not_active Abandoned
- 2015-01-28 TW TW104102817A patent/TWI664861B/zh active
- 2015-01-28 TW TW108114339A patent/TW201929569A/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6988144B1 (en) * | 1999-11-18 | 2006-01-17 | International Business Machines Corporation | Packet scheduling system and method for multimedia data |
US20030152083A1 (en) * | 2002-02-01 | 2003-08-14 | Nami Nagata | Packet transfer scheduling device and packet transfer scheduling method |
US20070116024A1 (en) * | 2003-11-14 | 2007-05-24 | Junfeng Zhang | Packet scheduling method for wireless communication system |
Also Published As
Publication number | Publication date |
---|---|
TW201536071A (zh) | 2015-09-16 |
CA2945702A1 (en) | 2015-08-06 |
TW201929569A (zh) | 2019-07-16 |
EP3100420B1 (en) | 2018-06-20 |
EP3100420A2 (en) | 2016-12-07 |
WO2015114466A3 (en) | 2015-11-26 |
WO2015114466A2 (en) | 2015-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI664861B (zh) | 多點跳躍網路的緩衝器尺寸調整 | |
US9276832B2 (en) | Buffer sizing for multi-hop networks | |
US8638686B2 (en) | Buffer sizing for multi-hop networks | |
Kliazovich et al. | Cross-layer congestion control in ad hoc wireless networks | |
US10594596B2 (en) | Data transmission | |
Høiland-Jørgensen et al. | Ending the Anomaly: Achieving Low Latency and Airtime Fairness in {WiFi} | |
TW200828922A (en) | Communication apparatus and communication method | |
JP2013535131A (ja) | 複数の異なるネットワークを介したデータの伝送 | |
Jamshaid et al. | Buffer sizing in 802.11 wireless mesh networks | |
Ho et al. | Harnessing the high bandwidth of multiradio multichannel 802.11 n mesh networks | |
Wu et al. | TCP fairness issues in IEEE 802.11 wireless LANs | |
Zhou et al. | Performance enhancement of multipath TCP with cooperative relays in a collaborative community | |
Jamshaid et al. | Deflating link buffers in a wireless mesh network | |
Polishchuk et al. | Improving TCP-friendliness and Fairness for mHIP | |
KR101708977B1 (ko) | 무선랜의 패킷 처리장치 및 그 방법 | |
Mbarushimana et al. | A cross-layer TCP enhancement in QoS-aware mobile ad hoc networks | |
Showail et al. | Battling latency in modern wireless networks | |
Park et al. | Provisioning qos for wifi-enabled portable devices in home networks | |
Yaakob et al. | Distributed collision control with the integration of packet size for congestion control in wireless sensor networks | |
Nguyen et al. | Performance of multi-channel IEEE 802.11 WLANs with bidirectional flow control | |
Li | Improving performance for CSMA/CA based wireless networks | |
MOLLAEI et al. | Statistical analysis of different traffic types effect on qos of wireless ad hoc networks | |
Showail | Towards optimal buffer size in Wi-Fi networks | |
Bagde et al. | Survey of Performance based transmission control protocol in MANET | |
Kliazovich et al. | Cross-layer congestion control in multi-hop wireless local area networks |