560 likes | 708 Views
具換手程序考量之移動式 WiMAX 網路系統的服務品質機制設計. Presenter: Yi-Wei Sun Date: 2009/05/13 . Outline. 802.16e MAC Common Part Sublayer 簡介 Call Admission Control Mechanism Bandwidth Allocation Mechanism Scheduling Mechanism Handoff 簡介 Handoff 流程與設計 Simulation Conclusion and Futures Works Reference.
E N D
具換手程序考量之移動式WiMAX網路系統的服務品質機制設計具換手程序考量之移動式WiMAX網路系統的服務品質機制設計 Presenter: Yi-Wei Sun Date: 2009/05/13
Outline • 802.16e MAC Common Part Sublayer簡介 • Call Admission Control Mechanism • Bandwidth Allocation Mechanism • Scheduling Mechanism • Handoff 簡介 • Handoff流程與設計 • Simulation • Conclusion and Futures Works • Reference
802.16e MAC Common Part Sublayer • Qosmechanisms • Call Admission Control • Bandwidth Allocation • Scheduling • Mobility management
Call Admission Control Symbol Assign • From WiMAX Forum™ Mobile System Profile Release 1.0 Approved Specification P.18
Call Admission Control Symbol Assign (cont.) Symbol Radio: 26 : 21 比例:DL要小於0.8UL要小於1 Modu & rate Bytes/DLFrame Bytes/ULFrame QPSK 1/2 1620 1470 QPSK 3/4 2430 2205 16QAM 1/2 3240 2940 16QAM 3/4 4860 4410 64QAM 1/2 4860 4410 64QAM 2/3 6480 5880 64QAM 3/4 7290 6615
Symbol轉Byte • 1個symbol 裡面有 30個subchannels • 1個slot = 48個subcarriers • 橫跨2個symbols 裡的各1個 subchannel合為1個slot • 假設若DLsubframe為26個symbols • 扣掉7symbols作為MAP之用 剩下 26– 7 = 19 symbols • 所以Dlsubframe 有floor(19個symbols / 2 ) * 30個subchannels=270 個slots • 換算成subcarriers為 270個slots * 48個subcarriers=12960個subcarriers • QPSK 表示 1個subcarrier 帶 2 bits • 16QAM 表示 1個subcarrier 帶 4 bits • 64QAM 表示 1個subcarrier 帶 6 bits • 若調變為QPSK 1/2 rate則 • DLsubframe = 12960 *2 (bites/subcarriers) * ( 1 / 2 )個bits • 換算成bytes為12960 *2*1 / 2 / 8 = 1620 bytes/DLframe
Symbol轉Byte 1個slot
Call Admission Control Grant Assign (cont.) • UGS : Max traffic rate = 64kbps = 8 byte / 1ms = 40 byte / 1frame(5ms) • ertPS : Max traffic rate = 64kbps = 8 byte / 1ms = 40 byte / 1frame(5ms) • rtPS : Average rate = (64kbps + 32kbps) /2= 6 byte / 1ms = 30 byte / 1frame • nrtPS : Minimum reserve rate = ((64kbps + 32kbps) /2 + 32kbps)/2 = 5 byte / 1ms = 25 byte / 1frame(5ms) • BE : Average rate /2= ((64kbps + 32kbps) /2 )/2 = 3 byte / 1ms = 15 byte / 1frame(5ms)
Call Admission Control Example1 • 假設現在來了一個UGS connection , MS的modulation rate:16QAM 3/4 • Max data rate:64000bps • Min data rate:64000 bps • 預期的Grant:Max data rate=64000 bps • 查看比例是否可以允許這連線 • 若是DOWNLINK • BW: (grant data rate/1000/8) * 一個frame的時間 • BW=(64000/1000/8) * 5= 40/ 5ms的頻寬 • 試算比例 • 0/1620+0/2430+0/3240+40/4860+0/4860+0/6480+0/7290 = 0.00823045… < 0.8 • 所以這個connection可被允許 • 而被Grant的大小為 64000/8 = 8000 Bps=8/1ms = 40 /5ms
Call Admission Control Example2 • 若又來了一個BE connection , MS的modulation rate:QPSK 3/4 • Max data rate:64000bps • Min data rate:32000 bps • 預期的Grant:Max data rate=24000 bps(平均的一半) • 查看比例是否可以允許這連線 • 若是DOWNLINK • BW: (grant data rate/1000/8) * 一個frame的時間 • BW=(24000/1000/8) * 5= 15/ 5ms的頻寬 • 試算比例 • 0/1620+15/2430+0/3240+40/4860+0/4860+0/6480+0/7290 = 0.01440328 < 0.8 • 所以這個connection可被允許 • 而被Grant的大小為 24000/8 = 3000 Bps=3/1ms = 15 /5ms • 若是比利大於0.8 則此連線會被拒絕
Bandwidth allocationMechanism • 問題:沒有 Packet fragmentation 機制 • Ex: 以UGS為例 頻寬:64kbps = 8 byte / 1 ms = 40 byte / 1frame(5ms) • 若是來了一個大小為41byte以上的封包,就100%送不出去 • 解決:一次以多個frame為單位來分配 • Ex: 一樣以UGS為例 假設有封包大小為 160byte的封包 • 就分配 40byte * 4frame = 160byte 的頻寬 • 這樣就算沒有 Packet fragmentation 機制,過大的封包也是可以送出去 • Bandwidth allocation 簡易流程 連線頻寬>可用頻寬 第二階段A 第一階段 第二階段B 連線頻寬<可用頻寬
Bandwidth allocationMechanism 加水 • 方法: • 可以比喻成有儲值上限的銀行 • 類似 leaky bucket scheme 做法 上限 漏水
Bandwidth allocation第一階段 • 先行瀏覽過所有的連線(不分型態) • 定義:BWALLOC_FRAME_NUM 表示頻寬分配是以幾個frame為單位作分配 • 定義:This Frame Grant 表是在單前frame實際的給予的頻寬量 • 定義:Grant量 表示當初做CAC時所給予的頻寬量 • 額外要求: 需要知道最大Packet Size • Note: 瓶子最大上限量為 BWALLOC_FRAME_NUM * Grant量 • 觀看 • 每條連線的Admission 時的Grant 量 • Grant 量: 如UGS 為 64Kbps = 40 / 1frame(5 ms) • 決定要分配的frame數 ex: BWALLOC_FRAME_NUM=4frame • 與連線現有的Buffer量 • Buffer量:connection中Buffer的packet數 * packet size • 在以上兩值中取最小值當作 This Frame Grant
Bandwidth allocation第一階段(cont.) • 定義:accumulate 代表所累積的頻寬量 • 查看This Frame Grant 是否小於最大Packet Size • 若是 • This Frame Grant存在 accumulate裡 並把This Frame Grant 歸0 • 在第一階段結束後 • 會檢查是否累積的量夠送數個packet • 若是 • 就將其分配出去
Bandwidth allocation第一階段(cont.) • 先將所有的連線的This Frame Grant依DL/UL 的比例去試算 • 如DL的比例為0.8UL的比例為1 • 若是試算後大於DLor UL比例 則平均分配 • 表示DLor UL 沒有剩餘頻寬,進行第二階段A • 若是試算後小於DL or UL比例 則 • 表示DL or UL 有剩餘頻寬,記下剩餘頻寬比例,並進行第二階段B
Bandwidth allocation第二階段A 連線頻寬>可用頻寬 • 分配順序為 UGS-> ertPS -> rtPS -> nrtPS -> BE • 依照比例去分配 • 最大Down Link允許頻寬比例 :0.8 • 最大Up Link允許頻寬比例 :1 • 以UGS為例 • 亂數任選一條連線 依照 This Frame Grant給予頻寬 • 試算給予頻寬後是否大於允許頻寬比例 • 若是大於允許頻寬比例 則 This Frame Grant=0 表示不給予頻寬 • 若是不大於允許頻寬比例 以允許頻寬比例 減去 剛剛的試算比例 • 繼續上序兩步驟直到跑完所有連線 • ertPS , rtPS , nrtPS ,BE 步驟均與UGS 相同 • 不同點只有 最大Down Link允許頻寬比例 與 最大Up Link允許頻寬比例 會逐次遞減
Bandwidth allocation第二階段B 連線頻寬<可用頻寬 • 分配順序為 UGS-> ertPS -> rtPS -> nrtPS -> BE • 依照剩餘比例去分配 • Down Link剩餘比例 =Down Link允許頻寬比例 :0.8– 所有DL連線This Frame Grant試算比例 • Up Link剩餘比例 =Up Link允許頻寬比例 :1-所有UL連線This Frame Grant試算比例 • 以UGS為例 • 亂數任選一條頻寬不夠(This Frame Grant < Buffer量)的連線 • 再次給予Buffer量 -This Frame Grant 的頻寬 • 試算給予頻寬後是否大於剩餘比例 • 若是大於剩餘比例則 This Frame Grant=0 表示不給予頻寬 • 若是不大於剩餘比例以剩餘比例減去 剛剛的試算比例 • 繼續上序兩步驟直到跑完所有連線 • ertPS , rtPS , nrtPS ,BE 步驟均與UGS 相同 • 不同點只有 Down Link剩餘比例與 Up Link剩餘比例會逐次遞減
Bandwidth allocation第一階段問題 • 問題:以下面例子為例 • 假設有4條UGS • 每條UGS都正有一個160byte的packet來臨 • 經過第一階段頻寬分配後 • 4條UGS皆不夠頻寬去送 • 則將4條UGS的頻寬都各自存起來 • 但是 在經過第二階段頻寬分配後 • 會將四條UGS個沒用到的頻寬 • 湊齊 給其中一條UGS用(每條沒用40byte 共有160byte 夠送一個packet) • 這種情況 表示這連線像其他連線借用頻寬 • 若不進行歸還 勢必會造成不公平的現象
Bandwidth allocation第一階段問題(cont.) 加水 • 解法: • 修改leaky bucket scheme • 成為一個有負容量的水桶 上限 漏水 下限
Bandwidth allocation第一階段問題(cont.) • 做法: • 在第二階段時 • 判斷出有借取頻寬的現象 • 將accumulate 減去這frame借來的量 • 若此連線accumulate值 • 已經超過下限(BWALLOC_FRAME_NUM * Grant量) • 只給予到達下限為止的量 • 防止無止境預借
Scheduling • 沿用楊啟鋒學長的設計 • 排程順序 UGS-> ertPS -> rtPS -> nrtPS -> BE
何謂Handoff • 為了讓通話者得到更好的通話品質, • 所以無線通訊系統將正在進行中的通話連線, • 轉移到不同的基地台 • 或更改通話連線所使用的頻道, • 以較佳的基地台 • 或是頻道來對使用者提供服務。 • 而一般手機使用者並不會察覺通話有任何的中斷 • 這就是Handoff(訊號換手)。
發生Handoff情況 Serving BS Target BS B A MS Mobile Station
四種Handoff的方法 • General Handoff (General HO) • Network Assisted Handoff (Network Assisted HO) • Macro – Diversity Handoff (MDHO) • Fast BS Switch (FBSS) • 其中MDHO and FBSS • 選擇製作 • 可以達到無縫換手
四種handoff的方法 (cont.) • 四種換手方法都要經過 • 1. Cell reselection • 2. HO decision and initiation • 3. Ranging • 4. Network Re-entry • 5. Releasing context of MS • 不過實作的方法不同,所以有不同的 • handoff delay • Packet loss rate • Implement complexity
General handoff由MS初始 • MS也可以藉由得到臨近BS的訊號強度 • 來與Serving BS作比較 • 當MS決定要換手時 • 會送出MOB_MSHO_REQ給Serving BS • 其中包含MS所推薦的臨近BSs的訊號強度 • Serving BS會送出HO_pre-notification給臨近BSs • 且得到所有的HO_pre-notification_response • Serving BS藉由臨近BS的回應與訊號強度 • 來決定Target BS • 之後Serving BS會送出MOB_BSHO_RSP給MS • 其中包含Serving BS決定的Target BS
General handoff • 再來Serving BS會送出HO_Confirm給Target BS • 代表Serving BS與MS雙方都同意這Target BS • MS會送出MOB_HO_IND • 來進一步同意這Target BS的決定 • 且告知Serving BS此MS已可以開始換手動作了 • 當Serving BS收到MOB_HO_IND後 • 會release這MS • 代表停止所有對這MS的通訊動作
General handoff(cont.) • 當作完所有 • Ranging • Network Re-entry • Target BS會通知Serving BS(原先的)換手成功 • 則Serving BS會將在換手過程中buffer住的data • 全部forward給Target BS
General Handoff由MS初始流程 臨近 BS1 臨近 BS2 MS Serving BS 沒有實作 Neighbors Scanning MOB_MSHO_REQ HO_pre-notification HO_pre-notification _response HO_pre-notification HO_pre-notification_response MOB_BSHO_RSP
General Handoff由MS初始流程 (cont.) 臨近 BS1 臨近 BS2 MS Serving BS HO_Confirm MOB_HO_IND Release resource of MS RNG_REQ RNG_RSP Complete Network Re-entry
Modulation rate 偵測公式 • SNR小於19 • Modulation rate : QPSK 1/2 • SNR大於等於19 且 SNR小於19.5 • Modulation rate : QPSK 3/4 • SNR大於等於19.5 且 SNR小於24.5 • Modulation rate : 16QAM1/2 • SNR大於等於24.5 且 SNR小於25 • Modulation rate : 16QAM1/2 • SNR大於等於25 且 SNR小於28 • Modulation rate : 64QAM1/2 • SNR大於等於28 且 SNR小於31 • Modulation rate : 64QAM 2/3 • SNR大於等於31 • Modulation rate : 64QAM 3/4
Modulation rate 偵測公式(程式碼) intGetCodeRate(double snr){ intcode_rate; if(snr<19) code_rate = QPSK 1/2 ; else if((snr>=19) && (snr<19.5) ) code_rate = QPSK 3/4 ; else if((snr>=19.5) && (snr<24.5) ) code_rate = 16QAM 1/2 ; else if((snr>=24.5) && (snr<25) ) code_rate = 16QAM 3/4 ; else if((snr>=25) && (snr<28) ) code_rate = 64QAM 1/2 ; else if((snr>=28) && (snr<31) ) code_rate = 64QAM 2/3 ; else if(snr>=31 ) code_rate = 64QAM 3/4 ; return code_rate; }
SNR 偵測 • 製作RandomWayPoint 依照BS的傳輸半徑 與BS跟MS之間的距離 求出SNR • 公式為:SNR=k - 20log10 d • k 為常數 , d 為BS與MS的直線距離 • 假設: • BS傳輸半徑為1000m • MS與BS距離為500 • k = (log10 1000) * 20 + 19( 最低SNR)=79 • SNR=79–20*2.69897…=79-54=25 • Modulation Rate : 64QAM 1/2
Modulation Rate 分布 • BS半徑:1000m • K : 79
Modulation Rate 分布(不同K值) 所占範圍(m)
換手條件 • SNR1<SNRCST • SNR2>SNR1+Δ • SNRCST :換手的訊號強度臨界值 • Δ : 遲滯值 • 目前設計 • SNRCST :25Δ :10 • 當Handoff reject時 • 等待時間:10個 frame = 50 ms
Connection Generate • λ : 每ms來 λ 條連線 μ: 每ms結束 μ 條連線 • Connection arrival time: Exponential Expectation(λ)+上次同型態連線的arrival time • Connection duration time: Exponential Expectation(μ) • Connectiondirection: ½ 的機率UPLINK,½ 的機率DOWNLINK • EX: 若有一連線 λ:0.001μ:0.0001 上次來的時間為 第30ms時 • Exponential Expectation(0.001)=1000ms 表示 這條連線下次來的時間為第 30+1000=1030ms時 • Exponential Expectation(0.0001)=10000ms 表示這條連線生存時間長度為10000ms • 則表示在 1030+10000=11030 時 連線結束 • 這條連線有 ½ 的機率為UPLINK, ½ 的機率為DOWNLINK • 在同一時間, UGS 與 ertPS 只會有其中一條連線產生 機率各 ½ • 連線產生的時機如下 產生UGS或ertPS連線 產生UGS或ertPS連線 Exponential Expectation(μ):連線生存時間 Exponential Expectation(μ):連線生存時間 Exponential Expectation(λ):連線產生時間間隔
Packet Generate • 假設Packet Size: 4 Byte • EX: 假設每種型態設定如右 • 則各型態在1ms時所占的頻寬 • UGS:8 byte/1ms • ertPS : 8 byte / 1ms • rtPS : 6 byte / 1ms • nrtPS : 5 byte /1ms • BE : 3 byte /1ms • Packetarrivaltime: (Packet arrival rate: 表示每ms來Packet arrival rate個packet) • UGS , ertPS , rtPS : 每20ms 來一次packet • nrtPS , BE : 每Exponential Expectation(Packet arrival rate)來一次 • Packet 一次來的數量 • UGS: 8 *20 = 160 / 4 = 40個 • rtPS:Geometric Expectation(Average Packet Rate * 20ms) = Geometric Expectation(6 byte * 20ms) • P = 1/ 6*20 = 1/120 • nrtPS:Geometric Expectation(Average Packet Rate* Exponential Expectation(Packet arrival rate)) • Exponential Expectation(Packet arrival rate)=Exponential Expectation(0.05)=20ms • P = 1/ 6 byte * 20ms=1/120 • BE: Geometric Expectation (Average Packet Rate * Exponential Expectation(Packet arrival rate)) • Exponential Expectation(Packet arrival rate)=Exponential Expectation(0.05)=20ms • P = 1/ 6 byte * 20ms=1/120
Packet Generate(for ertPS) • Packet Size: 4 Byte • EX: 假設ertPS型態設定如下 • 則ertps在1ms時所占的頻寬 • ertPS : 8 / 1ms • Packetarrivaltime: • ertPS : 每20ms 來一次packet • Packet 一次來的數量 • ertPS: 8 *20 = 160 / 4 = 40個 • Packet來的機率計算如下 • Connection duration time: Exponential Expectation(μ)=Exponential Expectation(0.0001)=10000ms • 假設連線過程中平均需經過 20 次ON , OFF 週期 (ON:有packet來 OFF:silence time) • 則每次週期平均為 10000ms / 20 = 500 ms • ON 與 OFF 的比例為 1:1.5 • 則平均每週期中 ON所占的時間為:200ms OFF所占的時間為:300ms 200:300 = 1:1.5 • 若在ON狀態時 有 1/10 的機率 變為 OFF • 若在OFF狀態時 有 1/15 的機率 變為 ON • 詳細如上圖 1/10 9/10 14/15 ON OFF 1/15
模擬環境(無Handoff) (1750,1750) 3500 3500
模擬環境(有Handoff) (1000,1000) 1500 750 3500 250 500 250 (2300,1750) 750 1500 (1000,2500) 3500
Simulation Case1non-Handoff • BS數量:1MS數量:任意 • Modulation: 可移動式 但沒有Handoff • 模擬時間:3600sec • 每1秒 MS進行一次移動 • PacketGenerate: • Packet Size: 160 Byte