第三章 研究方法
3.1 問題分析
3.1.4 在某些條件下 AIAD 並不適用
國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
19
3.1.3 重傳次數限制
一 HARQ 封包傳送最大可以容忍的重傳次數為 7(不包含第一次傳送),如果仍然 失敗則會放棄。但某些即時性 QoS 等級的封包卻不一定,因為其延遲時間的容忍度較低,
不要重傳這麼多次。在 802.16j 中,由於加入 RS 作為傳送資料的中繼站,其延遲時間是 很可觀的,而在容忍度較低的 QoS 等級封包,勢必會造成封包傳送失敗的機率大增。因 此如何安排 pre-allocated slot 給 RS 是個重要的議題。
3.1.4 在某些條件下 AIAD 並不適用
在[4]中,作者以 AIAD 動態預先保留 slot 的方式,並在第一次發生錯誤的時候便開 始運作。但我們發現到,這樣 AIAD 的預先保留機制在特殊的狀況下會有問題。我們以 一條 link 為範例, X 代表封包傳送失敗,以 O 代表封包傳送成功。在傳送封包時若發 生 XXO 的時候,表示第一次傳送發生錯誤開始運作動態預先保留 slot,可是第二次也 傳送失敗,但因為有預留的 Slot 便開始第三次傳送然後成功。在以上這樣的情況是沒有 問題的,但我們發現當發生 XOX 時,會有很大的問題。第一次傳送失敗然後開始運作 機制,第二次傳送成功因此沒有使用預留的 slot,認定 slot 為多餘的便刪除,可是第三 次傳送發生失敗也沒有預留的 slot,再分配 slot 下去。我們可以發現因為 MR-BS 給予的 pre-allocated slot 的變動是在下一次 scheduling 時才產生。若發生上述狀況,這樣的動態 預先保留 slot 的方式是完全沒有作用的,也和 802.16j 原來的 HARQ 機制是相同的。換 句話說,同樣也會因為重傳而增加封包的延遲時間。如圖 3-1,當傳送發生錯誤時,我 們增加一個 pre-allocated slot;當傳送成功時,若有多餘的 pre-allocated slot 就減一個,
當下一次傳送又發生錯誤時就不會有 pre-allocated slot 幫忙重新傳送封包,所以我們發 現在這樣非連續錯誤的情況下,pre-allocated slot 完全沒有用到,,這樣就和 802.16j 標 準上的 HARQ 機制相同,在封包發生錯誤需重傳時都需要二倍的總 hop 數時間傳送,
非常沒有效率。
‧
allocated sl 到的 slot,可 下去給需要的 有太多的 pre 配演算法中並duling 時,
-3 是把 pre pre-allocated
allocated slo 會降低封包資 e-allocated s 並無說明,
若有多餘的 -allocated s d slot 分配 ot 使用,能夠 資料的傳輸
續錯誤的情
llocated sl
況下,為了充 allocated slo 用 到 , 此 時
-allocated sl
duling 前被
配傳送的封 配完各 link 上 根 據 優 先 順
的 schedulin slot。若就這 [4]的 pre-al 題。如圖 3 當作 pre-alloc
到 MS2 三條 ot 大部分都 傳送資料給三
新傳送的封 located slot 需 要 的 link 一定是沒有 餘的 slot 分 會造成 link located slot -2,在 BS cated slot。
條 link 上。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖 3-22:Empty S
圖 3-3:將
Slot 因為沒
將 pre-allocat
21
沒有用到,所
ted slot 平均
所以轉成 pr
均分給三條
re-allocated
條不同的 link
d slot 分配。
k 上。
。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
各種 更符
綜合以上的 種限制,也要 符合 802.16j
圖 3-4:僅 的問題分析 要思考如何 的運作模式
僅 4 個 alloc 析,我們需要 何安排 pre-a
式,可以大
22
cated slot 卻 要設計一方法 allocated slo 大量提升整體
卻需傳送資料 法,不但需 ot 才能減少 體系統的效
料給 3 個 M 需要考慮不同 少延遲時間
效率。
MS 。 同 QoS 等級
,讓 HARQ
級的需求和 Q 機制可以 和 以
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
23
3.2 研究方法
3.2.1 分配 pre-allocated slot 限制(total slot limit)
原本在 HARQ 封包傳送時,若有足夠的 pre-allocated slot 是可以無限制增加的。但 實際上,總 slot 數是有限制的,所以我們在發生封包傳送錯誤而需要增加 pre-allocated slot 時,必須要限制在總 slot 數之下才是合理的。而在有限的 slot 之下,必須要有效地安排 pre-allocated slot 才是最重要的問題。
因此每當 MR-BS 在安排增加各個 link 的時候,我們需要先判斷增加 pre-allocated slot 時,是否有在總 slot 數之下,若超過就不給 pre-allocated slot。
3.2.2 分配 pre-allocated slot 優先權控制(prioritze pre-allocated slot)
在 pre-allocated slot 的分配有可能會超過總 slot 的情況之下或者在 slot 不足的狀況 下,該如何分配 slot 給哪條 link 是一大問題。在我們的研究中發現,在 802.16j HARQ 無論在何處重傳資料封包在,都需要二倍的總 hop 數傳送時間,所以並無差異,如圖 3-5,
packet2 在 RS1 就發生錯誤,需要重傳,等到 MS 回傳 feedback 訊息給 MR-BS 後,packet2 再進行重傳。這樣的回傳以及重傳就需要六個 frame 的時間,等於二倍圖中三個 hop 數 的時間。
‧
ritize Link A
:a list reco
the P[link]
le (total If total P[link Else if ther P[link
ording the cu
in an incre -allocated s -allocated s k] = P[link]
re is enough k] = P[link]
論在何處重
討優先權的問 所傳遞的資
-BS 的 link
urrent numb
asing order slot exceeds slot exceed b ] – 1.
h bandwidth ] + 1.
ber of pre-a
r based on t s bandwidth bandwidth t
h then
需要二倍總
發現到雖然重 的 link 多,pr
的優先權。
allocated slo
the distance h or there is
enough ban
時間。
遲時間都相同 d slot 也需要 先權設定的
link
ndwidth) do
同,但是越 要比較多,
的演算法。
o
越
‧
使用 pre-allo allocated slo re-allocated 回原來的值。成的問題。
圖 3-6:
如圖 3-6 在 allocate slo 以直接重新傳
4 最大重傳 各個 Q
制(Count 整 pre-alloc
目的是要解 功而把多餘 d slot 的浪費 樣給予一個 p
ocated slot ot,而是扣 餘的 pre-allo
費及如同 80
Maximum 的封包,由於
25
時,我們在每 節的問題,
ocated slot 02.16j HAR ed slot,而若 刪除一個 pr
allocated slo
re-allocated 次傳輸失敗 me 的時間就
mission Tim 間的限制不同
個 pre-alloc
,也可防止 cated slot,並 止在非連續錯
延遲時間下降
重傳成功後 一個 pre-all 功傳送封包 located slot
。
‧
過 maximum 規定的時間
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
27
我們根據各個不同等級的 QoS 和其所規範的最大容忍時間限制,定義出我們的最大 重傳次數限制。
class
QoS
={UGS、rtPS、ertPS}MLQoS:the Maximum Latency for each class of QoS n:the number of hops between MR-BS and SS
Tf :the frame duration
RLQoS:the Retry count Limit for each class of QoS
f 2 QoS f QoS
n T⋅ + ⋅RL ⋅ ⋅n T ≤ ML
2
QoS f
QoS
f
DT n T
RL n T
≤ − ⋅
⋅ ⋅
封包傳送成功的時間需要n T⋅ f,傳送失敗需要重傳的時間是2⋅RLQoS⋅ ⋅n Tf,所以傳 送成功加上傳送失敗需要重傳的時間必須小於最大容忍時間限制。我們就可以算出最大 重傳次數限制。
3.2.5 最大 pre-allocated slot 分配個數(Maximum Slot)
在進行封包資料傳送時,對無即時性的封包給予 pre-allocated slot 的意義並不大,
因為這些無即時性的封包著重點在於是否成功送達目的,對於 delay time 要求並不高。
因此我們將 pre-allocated slot 的機制加入即時性的封包傳輸過程,如 UGS、ertPS、rtPS。
經過實驗發現,由於即時性封包有其參數限制,maximum latency,若在第一次傳送時,
封包發生錯誤後重傳並加入 pre-allocated slot 可以在封包又發生錯誤的狀況下及時重傳,
但往往在第二或者第三次重傳時雖然有 pre-allocated slot 的幫忙,卻會因為超過 maximum latency 而成為無效封包。因此若有即時性的封包在傳送時,在第一次傳送封
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
28
包時就應該有 pre-allocated slot 的幫忙。若沒有,極有可能會造成重傳時,封包的失效 率大增。至於需要給予幾個 pre-allocated slot 才足夠,我們需要一個明確的參考值。
Maximum Slot,是傳送即時性封包(UGS、rtPS、ertPS)時可給予的最大 pre-allocated slot 限制。我們根據 delay time 的計算和 maximum latency 的限制定義出何謂 Maximum Slot。對於 nrtPS 及 BE 等級的封包,因為沒有 maximum latency 因此也就沒有 Maximum Slot。
首先我們定義參數及變數
MSQoS:the Maximum Slot for each class of QoS class
QoS
={UGS、rtPS、ertPS}MLQoS:the Maximum Latency for each class of QoS
RD:the Delay of Retransmission (use pre-allocated slot to transmit) D:the Delay time for packet transmission form BS to MS
n:the number of hops between MR-BS and SS
j :the hop number
然後我們以 maximum latency 為限制,定義出 Maximum Slot
QoS QoS
DelayTime ≤ML
QoS first QoS
MS RD D ML
=> ⋅ + ≤
QoS first
QoS
ML D
MS RD
=> ≤ −
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
29
封包傳送成功,至少需要 2 倍的總 hop 數時間
2 f
D= n T⋅
在有 pre-allocates slot 情況下,傳送失敗重傳只需要 2 個 frame 時間 2 f
RD= T
因此我們可以算出每種不同 QoS 的 Maximum Slot,如表 3-1 2
2 2
QoS f QoS
QoS
f f
ML nT ML
MS n
T T
≤ − = −
UGS ertPS rtPS
MS
≤MS
≤MS
表 3-1:Maximum Slot of each QoS traffic。
QoS UGS ertPS rtPS
Maximum Slot
MSUGS MSertPS MSrtPS3.2.6 使用 pre-allocated slot 限制(Using Pre-allocated Slot Limit)
我們在有 pre-allocated slot 的狀態下,發現到可能封包在有 pre-allocated slot 的情形 之下,自行重傳多次,導致雖然在 retransmission times 的限制以下但仍然會超過封包的 最大容忍時間限制。這是因為 IEEE 802.16j 是多 hop 數的環境,封包傳輸發生失敗需要 經過多個 hop 時間進行,在 MR-BS 判別封包失敗要進行重傳前是否超過其 transmission times 的時候,可能早在 link 有 pre-allocated slot 的情形下,已自行重傳多次,造成雖然 不超過 transmission times 卻也早就成為無效的封包。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
30
而在即時性封包上,我們還另外增加更多的 pre-allocated slot,也就是 Maximum Slot。
因為 Maximum Slot 是可以在 maximum latency 內重傳 slot 數的最大限制。而 Maximum Slot 在 MR-BS scheduling 時會預先給予各個 link 包含 Maximum Slot 個數的 slot,這樣 很有可能雖然封包重傳還在 retransmission times limit 的限制內,卻因為使用到過多的 pre-allocated slot 造成 delay time 超過封包所能容忍的 maximum latency。因此我們需要 另外設限,也就是在使用 pre-allocated slot 的數量需要在 Maximum Slot 的限制之下。若 使用超過 Maximum Slot 的 pre-allocated slot,將表示這個傳送到達目的的封包就是無效 的。
所以我們除了 retransmission times limit 的限制外還需加上使用 pre-allocated slot 的 限制(using pre-allocated slot limit)。才不會造成雖然在 retransmission times limit 的限制 之下,卻早已超過 maximum latency 的限制。而 using pre-allocated slot limit 的值我們設 為 Maximum Slot 的大小,因為只要超過 Maximum Slot 就一定會超過封包的最大容忍時 間限制(maximum latency)。
using pre-allocated slot = Maximum Slot
3.3 系統架構
根據以上方法我們制定好 MR-BS 以及 RS 各別的工作,並以流程架構圖表示。圖 3-8 是 MR-BS 的運作架構,我們將該架構圖分三部份說明,第一部分是 MR-BS 一開始 的運作,第二部分是 MR-BS 處理 ACK 訊息,第三部分是 MR-BS 處理 NACK 訊息。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
及 N
如圖 3-9,
NACK 封包拆
首先 MR-B 拆開來處理
圖 3-8
圖 3-9
BS 在接受到 理。
31
8:MR-BS
9:MR-BS
到所有 AC
系統架構。
開始運作。
CK 及 NAC
。
。
K 的 feedbback 訊息後後,將 ACKK
‧
個 pre-alloc 以上動作。下一步將分
,若 feedba pre-allocate 0,我們就把 步驟。
所傳送出去 cated slot 在
分配的
pre-圖 3-10:
ack 訊息是 ed slot。若需
把該條 link
去的封包是否 在 link 上;
allocated sl
32
allocated slo
、ertPS 或 rt
配 Maximum 的 link 都做
‧
nsmission t 類別的封包limit,若超 limit,則增
們將 pre-allo 除 MS 端的
BS 端的 pre
些 pre-alloc
,若 MR-times limit,
。若是則再 超過則丟棄該 增加一個 pre
ocated slot 根 pre-allocate e-allocated
ated slot 配 e-allocated
33
根據 priori ed slot 直到
-allocated s 時性的封包 為 UGS、ert
過 using pr
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
34
3.3.1 基地台(Base Station)
我們根據上一節的架構圖及文字敘述,寫成虛擬碼並且實作在我們的程式上。
total