行政院國家科學委員會專題研究計畫 成果報告
車用行動生活之車載資通訊服務平台--子計畫三:適用車 輛隨意網路之高效能傳輸層協定(2/2)
研究成果報告(完整版)
計 畫 類 別 : 整合型
計 畫 編 號 : NSC 99-2219-E-011-003-
執 行 期 間 : 99 年 08 月 01 日至 100 年 10 月 31 日 執 行 單 位 : 國立臺灣科技大學資訊管理系
計 畫 主 持 人 : 賴源正
計畫參與人員: 碩士班研究生-兼任助理人員:翁卉娟 碩士班研究生-兼任助理人員:孫楚涵 碩士班研究生-兼任助理人員:曾彥 碩士班研究生-兼任助理人員:李竣穎 碩士班研究生-兼任助理人員:陳泓桔 博士班研究生-兼任助理人員:蕭令彥 博士班研究生-兼任助理人員:陳彥宏
報 告 附 件 : 出席國際會議研究心得報告及發表論文
公 開 資 訊 : 本計畫涉及專利或其他智慧財產權,2 年後可公開查詢
中 華 民 國 100 年 12 月 01 日
中 文 摘 要 : 許多研究學者針對正交分頻多工存取技術(Orthogonal Frequency Division Multiple Access, OFDMA)提出各式下 載突衝(Downlink Burst)建置演算法,然而這些演算法未考 慮 IEEE 802.16 標準所規範的下載突衝建置規則與相關特 性。為了提高 802.16 網路之吞吐值(throughput),本報告提 出最佳角落導向演算法(Best Corner Oriented, BCO)。BCO 為了最大化吞吐值,除了考慮下載突衝建置規則之外,也進 一步處理以下三個突衝建置議題。首先,BCO 將突衝擺放至 二維頻寬地區的角落(Corner)讓未使用的頻寬資源集中在一 個完整區塊以避免外部碎片(external fragmentation)發 生;另外,BCO 縮小突衝面積以減少內部碎片(internal fragmentation);最後,BCO 衡量每個角落的頻道品質,並 把突衝放置在擁有最好頻道品質的角落以使用較好的調變技 術來提高傳輸速度。根據模擬結果,在大量的網路流量情況 下,BCO 提供的吞吐值分別可達到過去演算法的 2 至 9 倍。
中文關鍵詞: IEEE 802.16, WiMAX, 突衝建置, 頻寬排程
英 文 摘 要 : Several burst construction algorithms for Orthogonal Frequency Division Multiple Access (OFDMA) were proposed. However, these algorithms did not meet the downlink burst characteristics specified in the IEEE 802.16 standard. This paper therefore proposes the Best Corner Oriented algorithm (BCO). BCO not only complies with downlink burst characteristics, but also considers the three issues to obtain high
throughput, as follows: BCO maintains all free slots as a continuous area by constructing each burst in the corner of the available bandwidth area for minimizing external fragmentation; BCO shrinks the burst area to minimize internal fragmentation, if the requested bandwidth has been satisfied; and for exploring the continuous subchannels with good
channel quality, BCO ensures that the burst adopts an optimal modulation coding scheme by selecting the excellent corner that can generate the maximal
throughput. The simulation results indicate that BCO achieves 2~9 times the throughput achieved by the previous algorithms under a heavy load.
英文關鍵詞: burst construction; downlink; IEEE 802.16; OFDMA
中文摘要
許多研究學者針對正交分頻多工存取技術(Orthogonal Frequency Division Multiple Access, OFDMA)提出各式下載突衝(Downlink Burst)建置演算法,然而這 些演算法未考慮 IEEE 802.16 標準所規範的下載突衝建置規則與相關特性。為了 提高 802.16 網路之吞吐值(throughput),本報告提出最佳角落導向演算法(Best Corner Oriented, BCO)。BCO 為了最大化吞吐值,除了考慮下載突衝建置規則之 外,也進一步處理以下三個突衝建置議題。首先,BCO 將突衝擺放至二維頻寬 地區的角落(Corner)讓未使用的頻寬資源集中在一個完整區塊以避免外部碎片 (external fragmentation)發生;另外,BCO 縮小突衝面積以減少內部碎片(internal fragmentation);最後,BCO 衡量每個角落的頻道品質,並把突衝放置在擁有最 好頻道品質的角落以使用較好的調變技術來提高傳輸速度。根據模擬結果,在大 量的網路流量情況下,BCO 提供的吞吐值分別可達到過去演算法的 2 至 9 倍。
執行本研究計畫時,我們發現不同的資料鏈結層設計會顯著影響車輛隨意 網路之傳輸層協定的吞吐值,且改善傳輸層協定無法顯著提昇車輛隨意網路之吞 吐值。因此本研究計畫透過改善 IEEE 802.16 資料鏈結層的頻寬分配方式來提昇 車輛隨意網路的吞吐值,研究成果已被國際期刊 EURASIP Journal on Wireless Communications and Networking (SCI Expanded, IF=0.815)接受,如下所示:
l Yuan-Cheng Lai and Yen-Hung Chen, “Two-Dimensional Downlink Burst Construction in IEEE 802.16 Networks,” EURASIP Journal on Wireless Communications and Networking, vol. 2011, no. 173, Nov. 2011, DOI:
10.1186/1687-1499-2011-173.
關鍵詞: IEEE 802.16, WiMAX, 突衝建置, 頻寬排程
ABSTRACT
Abstract—Several burst construction algorithms for Orthogonal Frequency Division Multiple Access (OFDMA) were proposed. However, these algorithms did not meet the downlink burst characteristics specified in the IEEE 802.16 standard.
This paper therefore proposes the Best Corner Oriented algorithm (BCO). BCO not only complies with downlink burst characteristics, but also considers the three issues to obtain high throughput, as follows: BCO maintains all free slots as a continuous area by constructing each burst in the corner of the available bandwidth area for minimizing external fragmentation; BCO shrinks the burst area to minimize internal fragmentation, if the requested bandwidth has been satisfied; and for exploring the continuous subchannels with good channel quality, BCO ensures that the burst adopts an optimal modulation coding scheme by selecting the excellent corner that can generate the maximal throughput. The simulation results indicate that BCO achieves 2~9 times the throughput achieved by the previous algorithms under a heavy load.
Keywords: burst construction; downlink; IEEE 802.16; OFDMA.
1. Instruction
Because IEEE 802.16 uses the technique of Orthogonal Frequency Division Multiple Access (OFDMA), the bandwidth resources are represented by a two-dimensional area of slots, in which the two dimensions are time in units of symbols and frequency in units of subchannels [1]. Therefore, the bandwidth allocation in IEEE 802.16 must consider the construction of a two-dimensional bandwidth area, called a burst, assigned to a connection.
The subchannel diversity should be considered when constructing bursts.
Subchannel diversity means that a connection uses a different modulation coding scheme (MCS) on various subchannels because the connection encounters various channel qualities on various subchannels [2]. Therefore, for each connection, each burst must be constructed in its corresponding best-quality subchannels, that is, the subchannels on which the connection receives the optimal channel quality to maximize bandwidth usage. Several algorithms for the IEEE 802.16 burst construction problem were proposed to obtain the higher throughput. A number of researchers regarded this problem as a Maximum Matching problem and attempted to determine the optimal matches between bursts and subchannels [3, 4, 5, 6, 7, 8].
The IEEE 802.16 standard defines a number of specifications to alleviate the overhead of management messages and to concentrate the transmission power on specific subchannels for battery-powered devices, as follows: (1) the burst must be a continuous bandwidth area, (2) the shapes of the bursts used in downlink and uplink transmission should be rectangular and multi-rectangular, respectively, and (3) one burst should use only one MCS based on the worst signal-to-noise ratio (SNR) among the assigned subchannels [1, 9].
The previous researches that focused on the Maximum Matching problem violated the specifications in IEEE 802.16 standard, and are thus unpractical.
Therefore, a number of researchers regarded the burst construction problem as a variant of the Bin Packing problem. So-In designed the enhanced One Column Striping with non-increasing Area first mapping algorithm (eOCSA), which constructs each burst from bottom right to top left of the available bandwidth area [10]. Wang developed the Weighted Less Flexibility First algorithm (WLFF), which constructs each burst on the best edge selected in the free bandwidth area1 [11]. The best edge is the edge on which a constructed burst generates the minimal variance of the sub-blocks in the free bandwidth area. Thus, constructing the burst on this best edge provides the most flexibility for the following burst construction. eOCSA and WLFF conform to the specification (1) and (2); however, they completely neglect subchannel diversity and the specification (3).
A number of issues must be addressed to conform to the specifications and
1 Free bandwidth and available bandwidth are interchangeable in this paper.
maximize the throughput. First, external fragmentation may occur because the burst must be a continuous bandwidth area, which means that the total available slots are sufficient to satisfy a burst, however, the lack of contiguity may prevent their use by this burst. Thus, the external fragmentation should be avoided. Second, because of the rectangular shape of a downlink burst or improper slot allocation, internal fragmentation may occur, which results from a burst with capacity exceeding the requested bandwidth. The internal fragmentation must be minimized because the unused slots internal to a burst are wasted. Third, because one burst must use one MCS based on the worst SNR among the assigned subchannels, it must be constructed in its corresponding optimal block, that is, a block in which a number of continuous subchannels have good SNRs.
Therefore, this paper proposes a one downlink burst construction algorithm, called the Best Corner Oriented algorithm (BCO), to maximize the throughput. BCO not only conforms to the constraints in IEEE 802.16 standards, but also considers these issues. To avoid external fragmentation, BCO constructs each burst in a corner of the free bandwidth area to ensure that all free slots are within a continuous area. A corner is the intersection of the horizontal edge and left-hand vertical edge of the free bandwidth area. To minimize internal fragmentation, BCO shrinks the area of the burst if the requested bandwidth is satisfied to enable unused slots internal to this burst to be used by other bursts. BCO evaluates the channel quality in each corner to explore an optimal block, and subsequently constructs the optimal burst in the corner in which the burst can provide the largest throughput.
This paper is organized as follows: Section 2 presents a discussion of the literature on the IEEE 802.16 network, the burst construction in downlink transmission, and related works. In Section 3, the problem statement of the downlink burst construction is formally introduced, and the issues to solve this problem are presented. Section 4 provides a description of the proposed BCO algorithm in detail.
In Section 5, the superior performance of BCO in comparison with eOCSA and WLFF is demonstrated by simulation. Finally, conclusions and future works are offered in Section 6.
2. Background
2.1. IEEE 802.16 Network
The IEEE 802.16 network consists of a base station (BS) and a number of subscriber stations (SSs). The BS provides connectivity, radio resource management, and control of SS, which supports the connectivity with the BS.
The two layers in the IEEE 802.16 protocol stack are the physical layer, which transfers raw data, and the MAC layer, which supports the physical layer by ensuring that the radio resources are used efficiently. The three duplex modes in the physical
layer with OFDMA are Time Division Duplex (TDD), Frequency Division Duplex (FDD), and Half-duplex Frequency Division Duplex (H-FDD). The TDD is the most attractive duplex mode because of its flexibility. Additionally, the modulation method, that is quadrature phase shift keying (QPSK), 16 quadrature amplitude modulation (16QAM), or 64 quadrature amplitude modulation (64QAM), and the associated coding rate for data transmission are selected according to the channel quality, that is, signal-to-noise ratio (SNR).
An IEEE 802.16 frame for downlink and uplink transmissions is divided into downlink (DL) and uplink (UL) subframes in the time domain of the TDD mode (the right part of Fig. 1). A burst is an allocated bandwidth assigned to one dedicated connection of one SS and is formed by slots. A slot is the minimal bandwidth allocation unit, and consists of one subchannel and one to three symbols. A subchannel is the smallest allocation unit in the frequency domain, and a symbol is the smallest allocation unit in the time domain. A number of other fields in a frame provide specific functions. For example, Preamble synchronizes each SS, DL/UL-MAP describes the position and measure of each downlink/uplink burst, and FCH (frame control header) specifies DL subframe prefix and the length of DL-MAP message.
In the IEEE 802.16, the SS must acquire bandwidth from the BS before transmitting or receiving data. On downlink, the BS broadcasts to all SSs, and each SS picks up its destined packets. On uplink, SSs must inform the BS of the bandwidth they require for data transmission by sending a bandwidth request (BWR). Upon receiving the BWRs, the BS allocates the bursts in an uplink subframe to each SS, and subsequently broadcasts this information through UL-MAP. After receiving UL-MAP, each SS uses the allocated burst to transmit its data.
Preamble FCHDL-MAP UL-MAP
subchannel logical number
Figure 1. Bandwidth allocation in IEEE 802.16 network
Figure 1 demonstrates that, for efficient bandwidth use, the BS must consider several factors, including the power saving policy, QoS (Quality of Services) requirements, channel quality variation, DL/UL bandwidth ratio, and burst structure.
Bandwidth allocation is generally performed in two phases, flow scheduling and burst construction, because it is difficult to consider all of these factors in a single step [9].
The objective of flow scheduling is to estimate the appropriate number of slots to assign to each connection and to subsequently schedule these connections according to their QoS requirements, power saving policy, DL/UL bandwidth ratio, and other related factors. Several algorithms for flow scheduling were evaluated in the literature (for example, [12]). In burst construction, however, the burst for each connection must be constructed according to the number of the allocated slots, the burst structure, channel quality variation, and computational complexity. This study considered the burst construction in the downlink transmission, that is, downlink burst construction.
2.2. Burst Construction in Downlink Transmission
The downlink burst structure specified by the IEEE 802.16 standard is based on the downlink-partial usage of subchannels (DL-PUSC) method [1], in which the burst uses partial subchannels in the OFDMA frequency range. The downlink bursts have three distinct requirements. First, the burst must be a continuous area to minimize DL-MAP overhead because DL-MAP is transmitted at the lowest data rate for robustness (for example, QPSK modulation) and to ensure that all SSs can decode their embedded contents even under poor channel conditions. Second, the shape of the downlink burst is a rectangle to allow a more flexible construction, although the uplink burst must be constructed with a multi-rectangular shape for reducing power consumption of SSs [9]. Third, the SS has various levels of SNR on various subchannels because of the variable noises on each subchannel. To minimize the overhead and the complexity of MAC control messages, each burst uses only one MCS based on the worst SNR of all assigned subchannels.
subchannel logical number MCS (bytes/slot) for this Connection
Figure 2. An example of constructing a downlink burst
Fig. 2 shows an example of the construction of a downlink burst for a connection with fifteen slots allocated by the flow scheduler. For simplicity, the SNR of each subchannel is transformed into its corresponding MCS (bytes/slot). A downlink burst can be presented as a rectangle with a height-width pair (h,w) placed on a starting slot (y,x), which is represented by a row-column manner, for example, [(y,x),(h,w)]=[(0,0),(3,5)], as shown in Fig. 2. The MCS used by this burst is 9 bytes/slot, which is the worst MCS of its occupied subchannels, that is, subchannel 0 to subchannel 2.
2.3. Related Works
Because the construction of bursts that can provide the optimal throughput is a NP-hard problem [9], several algorithms were proposed to raise throughput and were classified as the Max Matching solutions and Bin Packing solutions. The objective of Max Matching solutions for burst construction is to assign bursts to their best-quality subchannels. Therefore, the researchers [3, 4, 5, 6, 7, 8] transformed this problem into a Max Matching problem and attempted to determine the optimal matches between bursts and subchannels to maximize the throughput. Sheu utilized the Hungary algorithm, which is a commonly used combinatorial optimization algorithm for the assignment problem with m connections and m subchannels [3]. His approach first forms a subchannel assignment matrix in which each row represents one connection and each column represents one subchannel. The entry in the matrix indicates the channel condition with regard to a connection, for example, SNR. The Hungary algorithm is subsequently applied to determine the optimal connection-subchannel match. Chen proposed the Dynamic Frequency Selection approach (DFS), in which each connection selects its subchannel according to the probability distribution, where the selection probability is determined by channel quality [4]. Toufik presented a
Max-Min Allocation (MMA) policy, which first constructs a matching graph (from subchannels to connections) and subsequently iteratively removes the edge with minimal weight from the matching graph until a perfect match is obtained [5]. If two or more connections select the same subchannel, the probability of selecting this subchannel decreases. All connections subsequently repeat the selection based on the modified probabilities. This process continues until each subchannel is only chosen by one connection or until the maximal number of iterations is reached. A number of studies applied greedy methods to allocate the best subchannel to the connection with the highest transmission rate [6, 7, 8]. However, as shown in Table 1, these studies assumed that a subchannel is occupied by only one burst. They also assumed that the subchannels assigned to one burst are disjointed and can independently use different MCSs. Thus, these burst construction solutions make unreasonable assumptions and do not comply with the IEEE 802.16 specifications.
Burst construction can be regarded as a process of placing items of variable heights, widths, and values into a two-dimensional area to maximize the total value of all items in the area. Thus, the burst construction problem can be regarded as a variant of the Bin Packing problem, the objective of which is to determine the optimal shape and position of each burst in the bandwidth area for maximizing the overall throughput of all constructed bursts. However, the traditional studies in Operational Research are not applicable for the burst construction because they focus on packing objects with fixed shapes and values [13, 14, 15]. Thus, a number of algorithms were proposed [10, 11, 16, 17, 18, 19, 20, 21]. The eOCSA algorithm proposed by So-In [10] constructs the first burst in the bottom right-hand corner of the available bandwidth area, and subsequently constructs another burst if the available bandwidth area above the previous burst is sufficient. Otherwise, eOCSA subsequently constructs the burst on the left-hand edge of the previous burst. The approaches [16, 17, 18] were designed in a method similar to eOCSA, but with minor modifications. Cicconetti further evaluated the internal fragmentation of the burst constructed in different directions, that is, vertical direction or horizontal direction, and subsequently selected the direction that experienced less fragmentation to construct the burst [19]. Eshanta also proposed two approaches [20]. One method constructs bursts with the fixed width in a vertical direction and the other constructs bursts with the fixed height in a horizontal direction.
The Weighted Less Flexibility First algorithm (WLFF) [11] constructs the burst on the best edge in the free bandwidth area. The best edge is the edge on which a burst is constructed, and generates the minimal variance of the sub-blocks in the free bandwidth area. Thus, constructing the burst on this best edge provides the most flexibility for the following burst construction. The Greedy Scheduling Algorithm (GSA) [21] was designed in a manner similar to WLFF. However, none of the Bin Packing solutions considers subchannel diversity.
Table 1 shows the summary of these methods. The complexity refers to the time complexity consumed by the burst construction algorithm. The required bandwidth implies that the algorithm not only considers the allocated slots, but also considers the requested bandwidth during burst construction. This is because the bandwidth provided by the allocated slots may exceed the required bandwidth of the connection when the burst is constructed on good-quality subchannels. Therefore, these unused slots can be further utilized by the other bursts if the algorithm extra considers the requested bandwidth.
Table 1. Comparisons among related works.
L: num. of connnections, M: num. of subchannels, i: maximum num. of repetition Year
2007 2006 2004 2005 2003 2003 2009 2010 2007 2007 2010 2011 2008 2010
Complexity Subchannel
Diversity Requested
Bandwidth Shape of DL Burst Solution
Yes
No No
Hungary Algorithm
DFS Max-Min Allocation
O(M4)
O(M3)
Yes
No No
O( )Li
No No Yes
Greedy O(LM) No No Yes
Greedy O(LM) No No Yes
Greedy
O(LM) Yes No Yes
Sequentially construct bursts from one side to
another
No
No Yes
No Yes No
No Yes No
Yes Yes No
O(L2)
No Yes No
O(L2) No Yes No
O(L2)
WLFF O(L2) No Yes No
GSA O(L2) No Yes No
Author Sheu, et al. [3]
Chen, et al. [4]
Toufik, et al. [5]
Najeh, et al. [6]
Kivanc, et al. [7]
Ergen, et al. [8]
So-In, et al. [10]
Sarigiannidis, et al. [16]
Erta, et al. [17]
Ohseki, et al. [18]
Cicconetti, et al. [19]
Eshanta, et al. [20]
Wang, et al. [11]
Zubow, et al. [21]
O(LM)
O(L2) O(LM)
3. Problem Statement
This section first defines a number of used notations and formally states the problem of the two-dimensional downlink burst construction.
3.1 Notations
A two-phase bandwidth allocation is used, as described in subsection 2.1. Let
C be the set of all downlink connections, and let L be the number of all downlink
allconnections, that is,
L
=C
all . In addition, letC represent the i-th connection after
i flow scheduling.A and
iW denote the number of slots allocated by the flow
i scheduler and the requested bandwidth forC , respectively. Although the flow
i scheduler estimatesA according to the requested bandwidth
iW , it also considers
i several other factors when performing this estimation. Thus, the throughput provided byA may be lower than
iW because the flow scheduler does not allocate sufficient
i slots in the current downlink subframe. Conversely, the throughput provided byA
i may exceedW because the burst allocator constructs the burst in an excellent block.
iA two-dimensional matrix R represents the used MCSs on different subchannels for each connection in order to investigate the effects of subchannel diversity, where
( , )
R i j specifies the MCS used by C on the j-th subchannel. A downlink subframe
i is composed of M×N
slots, where M is the number of subchannels and N is the number of slots within one subchannel.A downlink burst can be represented as a rectangle with a height-width pair placed on a starting slot; that is, a downlink burst B=[( , ), ( , )]
y x h w , where ( , ) y x
and ( , )h w represent the starting slot and the height-width pair, respectively. Let B
i be the downlink burst constructed forC . In addition, let
iNOS and
iMCS denote
i the number of occupied slots and the MCS adopted byB , respectively.
iTh is the
i throughput achieved by connectionC , and its value is min(
iNOS
i×MCS
i,W
i), whereNOS
i×MCS
i is the bandwidth that can be supported byB . When the value
i ofNOS
i×MCS
i exceeds the requested bandwidthW , connection
iC only requires
iW to transmit its data; therefore, the effective throughput is
iW . All used notations
i are listed in Table 2.Table 2. Used notations
Notation Definition
C
all The set of all downlink connections.L
The number of all downlink connections, i.e.,L
=C
allC
i The i-th connection after the flow scheduling phase.W
i The requested bandwidth forC , in terms of bytes.
iA
i The number of allocated slots forC in the flow
ischeduling phase.
M
The number of subchannels in a downlink subframe.N
The number of slots within one subchannel.R
The MCS matrix for different connections on different subchannels, where
R i j specifies the
( , ) MCS used byC on the j-th subchannel.
iB
i The constructed downlink burst forC .
iNOS
i The number of occupied slots byB .
iMCS
i The MCS adopted byB .
iTh
i Throughput achieved byC
i 3.2 Problem and Issues.Problem statement: Given a downlink subframe of M×
N
slots, the set ofC (all
allC ,
iW , and
iA ), and the MCS matrix R, construct all
iB to maximize the overall
i throughput0 1
i i L
Th
≤ ≤ −
∑
.Inefficient bandwidth usage must be eliminated to solve this problem. The following issues must be carefully considered when designing a downlink burst construction algorithm.
1. External Fragmentation. A downlink burst with a rectangular shape may cause external fragmentation. External fragmentation refers to the division of available slots into small pieces that cannot meet burst requirements. Fig. 3(a) shows an example of a connection
C with
1A =12 slots. The burst
1B
1 cannot be constructed because the free bandwidth was divided into pieces that were too small to accommodateB , although the total free bandwidth
1 was sufficient forA .
12. Internal Fragmentation. The number of occupied slots,
NOS , must equal
i the allocated number of slots,A , for any connection
iC . However, the
i throughput provided byA may exceed
iW when the burst
iB is
i constructed in an optimal block and thus, has an excellentMCS . This
i causes internal fragmentation, which means that only some slots within a burst are used to transmit data, and the remaining are wasted. Fig. 3(b) shows an example of internal fragmentation in thatC only uses 10 slots to
1 transmit data, and the remaining 2 slots are wasted.3. Optimal Block Exploration. The SS experiences various levels of SNR on different subchannels resulting from variable noises on each subchannel. The burst must be constructed in its corresponding optimal block, that is, a block in which a number of continuous subchannels have excellent SNRs, and thus, it can use a satisfactory MCS. Thus, if the burst constructer constructs each burst on its corresponding inferior-quality subchannels and uses a low MCS;
the bandwidth is inefficiently used. An example of optimal block exploration shown in Fig. 3(c), in which the throughput of
C is low when
1B is
1 constructed in an inferior block (that is, subchannels 1, 2, and 3), whereas the throughput is high whenB is constructed in an optimal block (that is,
1 subchannels 5 and 6).0 1 2 3 4 5 6 time slot number
subchannel number 1
2 3 4 5 6 7
7 0
MCS for B1(bytes/slot) 24
9 12 27 27 27 6 24
Occupied Bandwidth B
1(a) External fragmentation
subchannel number MCS for B1(bytes/slot)
(b) Internal fragmentation
subchannel number MCS for B1(bytes/slot)
1 1
27 bytes/slot, 270 bytes
MCS Th
=
=
1 1
9 bytes/slot, 108 bytes MCS
Th
=
=
(c) Optimal block exploration
Figure 3. Examples of issues by constructing B1 with A1=12 slots and W1=270 bytes
4. Best Corner Oriented Algorithm (BCO)
BCO not only complies with the downlink burst structure specified in IEEE 802.16 standards, but also considers the issues discussed in subsection 3.2. To avoid external fragmentation, BCO maintains all free slots as a continuous area by constructing each burst in the corner. To minimize internal fragmentation, BCO expands the burst by one slot height in steps. At any step, if the throughput of the constructed burst exceeds the requested bandwidth, the burst is large enough and is not further expanded, even when the number of occupied slots is smaller than the number of allocated slots, that is,
NOS
i <A
i. To explore an optimal block, BCO constructs a virtual burst in various corners, and subsequently selects the best corner in which the burst provides the largest throughput.4.1. Definition of Corners
BCO avoids external fragmentation by constructing a burst starting from the corner and limiting it by the bounded width and height. The corner, bounded width, and bounded height are formally defined as follows: given the available bandwidth area before constructing the i-th burst, the edge set, Ei, surrounding this area in a counterclockwise order is defined by
E
i ={H V
i0, i0,H V
i1, i1,L,H V
ij, ij,L,H V
iJ, iJ},where
H and
ijV are the j-th horizontal edge and vertical edge, respectively. The
ij corner,CR is defined as an available slot, which is the intersection of
ijH and
ij left-hand vertical edgeV of
ikH . The corresponding bounded width and height are
ij defined asH and
ijV
ik , whereH and
ijV
ik denote the lengths ofH and
ijk
V , respectively. Therefore, constructing a burst in the corner indicates that one of the
ivertices of the burst lies in
CR , and the width and height of this burst are restricted
ij byH and
ijV
ik , respectively. Fig. 4(a) demonstrates that three corners are located on slot(0,4), slot(3,0) and slot(7,0) at constructing the i-th burst, and their corresponding (height, width) pairs are (3,4), (5,4), and (5,8), respectively. Fig. 4(b) presents an example of constructing burst Bi in theCR .
1isubchannel number
0
Hi
0
Vi
1
Hi
1
Vi
2
Hi 0
CR
i1
CRi
2
CRi
2
Vi
(a) An example for explaining
CR ,
ijH and
ijV
ik0 1 2 3 4 5 6 time slot number
subchannel number 1
2 3 4 5 6 7
7 0
Occupied Bandwidth
1
Vi
1
Hi 1
CRi
B
i(b) Construct the burst
B in
iCR with 8 slots
i1 Figure 4. An example of constructing a burst in the corner.Lemma: Provided with a downlink subframe of M×
N
slots and number of connections, L, the available bandwidth area is continuous if each downlink burst is constructed in the corner.Proof: Mathematical induction is applied to prove the claim. For L=1, which indicates that only one burst is required to be constructed, the free slots are maintained as a continuous area after this burst is constructed in
CR and limited by
0j0
H and
jV .
0kSuppose that all free slots are maintained as a continuous area when L=s. When
L=s+1, the (s+1)-th burst is constructed in one of the corners (that is, CR
sj+1) and limited by the correspondingH
sj+1 andV
sk+1 . Constructing burst inCR
sj+1 maintains this burst adjacent to other constructed bursts. In addition, limiting the burst byH
sj+1 prevents the horizontal division of the continuous free bandwidth area.Conversely, constructing burst in
CR
sj+1 and limiting it byV
sk+1 prevent the vertical division of the continuous free bandwidth area. Consequently, the free slots, afterconstructing the (s+1)-th bursts, are not divided and are, therefore, maintained as a continuous area. Thus, by the mathematical induction, the available bandwidth area is always a continuous area.
4.2. Burst Construction
BCO minimizes the internal fragmentation by exploring the optimal height-width pair of the burst constructed in the selected
CR . The optimal height-width pair
ij indicates that the burst with this pair provides the optimal throughput or the smallest area. To obtain the optimal height-width pair, BCO repeatedly constructs a temporary burst, Btmp, with a possible height-width pair and calculates the throughput that this burst can provide. The steps are listed as follows:Initialization: h=1 // set initial height
Step 1: Determine the width w for h by considering Ai, Wi, and the width |
H |.
ij Step 2:B
tmp=[( , ), ( , )]y x h w
, where ( , )y x
=CR
ij. In addition, calculate thethroughput of Btmp.
Step 3: Record the optimal burst
B
tmpbest with the optimal height-width pair obtained thus far.Step 4:
h=h+1;
If
h
≤V
ik , go to step 1.When the loop ends,
B
tmpbest provides the optimal throughput among all Btmp virtually constructed inCR .
ijIn Step 1, Ai and
W were used to calculate the width when the height was given,
i to alleviate internal fragmentation. BCO first calculated the width w1, where (w
1×h
) was equal to the allocated slots Ai. BCO calculated the width w2 that the throughput provided by the burst (w
2×h
) to satisfy the requested bandwidthW . Subsequently,
i BCO used the minimum of w1, w2, and |H | as the width. This is because if w
ij 2 is the minimum, constructing a burst with a larger width w1 will exceed the requested bandwidth, resulting in internal fragmentation. In addition, |H |, as the minimum,
ij indicates that the available bandwidth area located in this corner with the height h isinsufficient to accommodate a burst with Ai slots. Therefore, the burst should be shrunk by using |
H | as its width. The exact calculations of w
ij 1 and w2 are described in the next subsection.Furthermore, examining each possible height of a burst can avoid the phenomenon of throughput anomaly. The throughput anomaly indicates that a burst with a large height may anomaly cause lower throughput than a burst with a small height when the burst with a large height uses an inferior MCS. Figure 5 shows an example in which the throughput provided by the burst B(h=3), referring to the burst with height 3, is considerably lower than that provided by the burst B(h=2) because
B(h=3) used an inferior MCS, although B(h=3) is larger than B(h=2). In this case, a
burst with a small height that provides large throughput should be constructed to avoid slot waste.subchannel number MCS (bytes/slot)
24 bytes/slot, 384 bytes
MCS Th
=
=
(a) Construct B(h=2)
subchannel number MCS (bytes/slot)
9 bytes/slot, 216 bytes
MCS
Th
=
=
(b) Construct B(h=3)
Figure 5. An example of throughput anomaly
4.3. Pseudo Code of the BCO Algorithm
Fig. 6 shows the pseudo code of BCO. To construct burst
B for each
i connectionC , BCO first uses the FindCorner function to obtain CRList, which
i contains the corners from the available bandwidth area. The FindCorner function returns the CRList by examining the horizontal edges and the vertical edges of the available bandwidth area. BCO subsequently explores the optimal corner by virtually constructing the burst in each corner to address the optimal block exploration (line 6~13). That is, BCO repeatedly invokes the ConstructBurst function to virtually construct a burstB in the corner
ijCR . BCO subsequently compares
ijB with
ijbest
B
i to determine which is superior, that is, which has higher throughput or which occupies the fewer slots under the same obtained throughput. IfB is superior, BCO
ij setsB
ibest toB . After virtually constructing all
ijB and obtaining the best burst
ijbest
B
i , BCO constructsB as
iB
ibest.The ConstructBurst function searches for the optimal height-width pair of the burst constructed in the chosen corner to minimize the internal fragmentation. Initially, the ConstructBurst function records (
h
max,w
max) as the bounded height-width pair (line 18). The ConstructBurst function subsequently examines each possible height-width pair in line 20~27 and returns the burst with the optimal height-width pair. In addition, when determining the width of the Btmp for each height h,w is
1 calculated by 1A
iw h
= , where denotes the floor function, to ensure that the (
w
1×h
) slots do not exceed the allocated slots (that is,A ). Conversely,
iw is
2 calculated by 2FindMCS( , , )
W
iw i j h h
= × , where denotes the ceil function, to ensure that the burst with (
w
2×h
) satisfies the requested bandwidth requirement (that is,W ). The Function FindMCS( , , )
ii j h calculates the MCS used by the burst
located in the corner j with the height h.BCO evaluates the burst constructed in each corner by the NOSCal, MCSCal, and ThCal functions. The NOSCal( )
B calculates the number of occupied slots for a
burst B, and MCSCal( , )i B and ThCal( , ) i B calculate the used MCS and achieved
throughput of a constructed burst B for Ci, respectively. According to the definitions, for a specific burst, B=[( , ),( , )]y x h w , where ( , ) y x is the location of the starting slot
and ( , )h w is the height-width pair, NOSCal( ) B and MCSCal( , ) i B return h w
×and min 1 ( , )
x p x h
R i p
≤ ≤ + − , respectively, and ThCal( , )
i B
returnsmin(NOSCal( ) MCSCal( , ),
B
×i B W
i).BCO applies a saving variable to efficiently use the unused allocated slots of each burst to improve throughput. This is because the flow scheduler usually allocates the total number of slots of the downlink subframe to each connection, indicating that the sum of all allocated slots equals the total number of slots in the downlink subframe. In this case, even when satisfying the requested bandwidth by fewer slots to avoid internal fragmentation, the saved slots are still not utilized. Therefore, BCO uses saving to record the number of total saved slots to allow subsequent bursts to use the saved slots conserved from the previous bursts. As shown in line 12, the unused slots after constructing
B , that is,
iA
i−NOSCal(B
i), are added to the parameter,saving. Subsequently, the latter connection C
i+1 hasA
i+1+saving
slots to construct1
B
i+ , as shown in line 21. Therefore, each burst not only uses its own allocated slots, but also applies the additional saving slots to fulfill its required bandwidth. The use of this parameter prevents two unfavorable phenomena, as follows: the waste of unused slots internal to the bursts constructed on optimal subchannels and the bandwidth dissatisfaction of connections whose bursts are constructed on inferior subchannels.Thus, this approach enhances the total throughput.