這篇paper,是在探討如何於傳輸的過程中,讓Network可以自己調整Link Rate 和Contention Window,以達到較好的傳輸效率,以EARC(Enhanced Adaptation of Link Rate and Window)字面上來看,就是強化ARC Protocol,修正這個Protocol裡 的一些缺失,讓整體的throughput可以得到提升。
首先來討論之前的一些rate-adaptive schemes:
(1) rate-adaptive schemes:
open-loop and closed-loop approaches:
一般在 rate-adaptive schemes,有兩類方式open-loop以及 closed-loop:
Open-loop:只依靠ACK訊息,來做相對應的調整。
a. Auto-rate Fallback (ARF)
它是以收到ACK的資訊來做為調整rate的依據,在Sender成功連續收到10次的ACK,Sender
就會調高send rate,而在兩次傳輸的失敗後,sender就會調降send
rate。雖然這個方法實作上很簡單,但是卻無法在stable 或是 fluctuated 的Network達到好的效果,在穩定的狀態下,rate 會被不斷的提高,而在SINR無法容忍下,就會造成不必要的collision,而在fluctuated的狀態下,因為環境變動太快速,會造成rate的調整無法做及時的回應。
b. Adaptive Thresholds (AT)
AT是用來修正ARF的缺失,它會測量link-layer的狀態,來設計一個Adaptive Threshold,這個值會在contending station增加時,抑制send
rate的下降,而在contending station減少時,抑制send rate的提升。這樣的設計對於ARF來說,有效的改善了a部分說討論到的缺失。
Closed-loop: 結合其他訊息(EX:SINR,collision)來做相對應調整。
a. ARF with COLLIE (AC)
AC也是用來修正ARF的缺失,它會對link-layer的狀態做診斷,分析封包遺失的原因,如果是weak signal的話,Sender就會降低send
rate,而如果是link-layer collisions,Sender就會增加它的contention
window。主要弊端在於它需要額外的診斷資訊加至每一個封包,因此造成了較大的overhead。
b. Receiver-based Auto-rate (RBAR)
RBAR是根據receiver所估測到的channel
quality來調整data rate,由RTS/CTS
handshaking mechanism來告知sender。利用RTS取得RSSI的資訊,選擇適當
的data rate,再利用CTS告知sender做相對的調整。
c. Adaptation of Link Rate and Contention Window (ARC)
結合了Contention Window,利用Cal´i’s approximation methods,找出optCW,假設發生傳輸失敗(成功),如果CW>optCW(CW<optCW)就減少(增加)CW,否則減少(增加)data rate。不過因為在open-loop nature,必須在歷經幾次失敗後,才可到達穩定的狀態,而且它只能在symmetric networking,才有好的效果。
(2) EARC: Enhanced
Adaptation of Link Rate and Contention
EARC是屬於closed-loop approach,主要針對ARC的一些弱點作修正,(1)不能及時的調整出適當的data rate,(2)以及 在asymmetric下無法達到好的效果。(1)Rate Selection Reference
這邊Rate的選擇是使用rate
selection reference (RSR) table(圖一),在每一個接收端的energy level都設定一個合適的data rate,此篇作者通過各種實驗的佐證下,證實這些設定確實時最合適的。相對於ARC,這個方式可以更快找到合適的Rate。
圖一
(2) Erx,Etx, Ediff
為了考量到asymmetric,這篇paper定義了Erx and Etx,Erx代表接收端的energy level,而Etx代表在傳送端的energy level,如果兩者不相同代表network屬asymmetric。
EARC CW Flag是加在header上,如果=0,EARC CW Flag設為0,告訴Sender CW不用做調整,否,則EARC CW Flag設為1,告訴Sender依圖二的方式來調整CW。至於b1b2b3,可以由以下兩式決定:
以及
綜合以上,如果Sender發現Receiver在不同的energy level,sender就先保留CW的調整,先做data rate的調整,將send rate調整至Erx level下的rate,如果兩邊的Erx、Etx在相同energy level,再依Ediff對CW做相對應的調整。
(2) simulation
a. Symmetric Environment
Result(1)
Symmetric Environment
在200*200 nodes的Symmetric
Environment模擬結果下,如圖(Symmetric Environment),可以發現EARC有最好的Throughput(如圖Result(1)),其次是ARC,而最差的是只利用BEB機制的Protocol。EARC以及ARC,都是聯合CW和Data rate的調整找出最合適的狀態,由結果可以發現這樣的做法確實可以達到好的Throughput。而因為是在Symmetric Environment的環境下,所以EARC和ARC的Throughput差異不大。
b. Asymmetric Environment
Asymmetric Environment
Result(2)
在Asymmetric Environment下,就可以發現ARC的弱點-無法在Asymmetric Environment有好的傳輸效率,因為這個Protocol本身就沒有考慮Asymmetric的情況,只由sender端來決定調整的內容。以上的結果,我可以發現有結合CW的adjustment,可以有效穩定rate的變動,如果medium congestion level 可以由CW的adjustment來降低,我們就不需要去調整rate,反過來,如果medium可以忍受更多inteference,我們就可以縮小CW,製造更傳輸的機會。
沒有留言:
張貼留言