User Oriented Quality of Service Framework for WiMAX

IEEE 802.16 (WiMAX) provides differentiated Quality of Service (QoS) (IEEE 802.16 2004) (IEEE 802.16e 2005) (Vaughan-Nichols 2004). This is achieved by having five different types of service classes. Each of these service classes caters to specific type of data. Unsolicited Grant Services (UGS) supports real time data streams that generate fixed size packets at periodic intervals. For example Voice over IP without silence suppression, T1/E1. Extended Real Time Polling Services (eRTPS) is designed to support real-time service flows that generate variable sized data packets on periodic basis, like VoIP with silence suppression. Real Time Polling Services (RTPS) supports real time data streams that generate variable size packets on periodic basis. For example Multimedia formats like an MPEG video. Non Real Time Polling Services (nRTPS) supports delay tolerant data streams generating variable size data packets, like FTP. Best Effort(BE) supports data streams which do not require any service level. Ex Web browsing, Email etc.

gets queued, the device needs to request for bandwidth so that the data packets can be transmitted. Classically, the widely used bandwidth allocation algorithms have followed contention based logic. The device contends for the wireless medium. If no other device is contending for the bandwidth then the device transmits the data. Algorithms like ALOHA, Slotted ALOHA, CSMA, CSMA-CD use contention based bandwidth allocation.  uses contention based bandwidth allocation mechanism called CSMA-CA.
WiMAX supports demand based bandwidth allocation mechanism. Each Mobile Station (MS) is allocated small amount of bandwidth that is used by the MS to request for additional bandwidth. Based on the availability of bandwidth and the type of service requesting for bandwidth, the Base Station (BS) allocates bandwidth. MS requests bandwidth on a per service class basis and the BS allocates bandwidth on a per-SS basis. Various types of contention based bandwidth request/allocation mechanisms have been proposed in WiMAX. Aggregate bandwidth request mechanism is proposed in (Tao & Gani, 2009). Instead of sending separate bandwidth request for each service class, a single request is sent. Service class bandwidth allocation is proposed in (Wee & Lee, 2009). Delay intolerant service classes are provided bandwidth on priority. Subsequently delay tolerant service classes are allocated bandwidth. Adaptive bandwidth request scheme is proposed in . Contention free bandwidth request opportunities are provided within the contention based request opportunities for some SS. Predictive bandwidth allocation algorithm is proposed in (Peng et. al, 2007). Based on the current arrival pattern, bandwidth is requested beforehand for future packets. Channel aware bandwidth allocation algorithm is proposed in (Lin et. al, 2008). Another form of adaptive bandwidth allocation algorithm is proposed in (Chiang et. al, 2007). The TDD frame is dynamically adjusted based on the amount of uplink and downlink data. In (Park, 2009) bandwidth request algorithm is proposed that takes both the current size of the queue and the deadline assigned to each packet. CDMA bandwidth request code based bandwidth allocation mechanism is proposed in (Lee et. al, 2010). The CDMA bandwidth request code is chosen randomly, but in (Lee et. al, 2010) the bandwidth request code is intelligently chosen so that the code itself indicates the amount of bandwidth needed by the MS. This reduces the number of control message transactions between the MS and SS. In (Rong et al, 2007) two algorithms are proposed namely adaptive power allocation (APA) and call admission control (CAC). The two algorithms work in tandem to allocate bandwidth to the MS.
All the algorithms proposed above are service class based bandwidth request/allocation algorithms. MS shall send bandwidth request for all its service classes. Bandwidth is then allocated based on the service class. All UGS service classes from different users are allocated bandwidth first then the RTPS service flows are allocated bandwidth followed by eRTPS. Next, the delay tolerant service class nRTPS is allocated bandwidth. Finally BE service class is allocated bandwidth. This method of bandwidth allocation treats all MS alike. If there are 10 MS in the network and if all of them are generating BE traffic then all the BE service classes are allocated bandwidth on a first come first serve basis. Of these 10 users, there may be some users who may wish to pay more if their BE traffic is treated on priority. So, users can be segregated into different groups and bandwidth can be allotted to the users based on the group to which they belong to. In this section we shall explore three user based bandwidth allocation algorithms. Fig. 1 shows service class based bandwidth allocation mechanism.

Differentiated Bandwidth Allocation Mechanism (DBAM)
There shall be three different categories of users/MS as listed in Table 1.

User Category Priority Value Description
High-Priority User/MS/SS 1 Users who will receive higher priority for their traffic within each of the WiMAX service class. High-Priority users could be those users who are ready to pay more to enjoy higher QoS.
Low-Priority User/MS/SS 2 Users who will receive lower priority for their traffic for each of the WiMAX service class. Low-Priority users could be those users who wish to pay less and settle for lower quality of service. Regular User/MS/SS 0 Users who fall in-between High-Priority and Low-Priority users. From the algorithm in fig.2, we see that when the BS receives bandwidth requests for BE traffic from High-Prioirty, Regular and Low-Priority users, BS shall allocate bandwidth first to the high-priority user then the regular user and finally to the low-priority user (Kumar et al. 2011a). When the MS initiates the ranging process, it sends the Ranging Request (RNG-REQ). Upon receiving the ranging request, BS shall query the AAA server to obtain the priority value associated with the user. BS shall store the priority value for the user in its local cache.

Implementation of BDAM
Subsequently, when the MS makes bandwidth request for any of its service flows, BS shall check the priority of the MS. Based on the priority value, bandwidth shall be allotted to the service flow. Table 3 lists the notations used for analytical modeling.

Symbol Description ertps_pri_bw_req(p)
Bandwidth needs of pth ertPS service flow of priority SS.

ertps_reg_bw_req(p)
Bandwidth needs of pth ertPS service flow of regular SS.

ertps_npr_bw_req(p)
Bandwidth needs of pth ertPS service flow of low-priority SS ertps_pri_bw_allot(p) Bandwidth allotted to the pth ertPS service flow of priority SS.
Once bandwidth is allotted to a high-priority eRTPS service flow, the leftover bandwidth is calculated as per eqn 2.
Once we are through with the regular eRTPS service flows, bandwidth is allotted to the lowpriority eRTPS service flows as per eqn. 5.
After allotting bandwidth to the jth low-priority eRTPS service flow, leftover bandwidth is calculated as per eqn. 6 At this point bandwidth has been allotted to all the eRTPS connections. The above method of bandwidth allocation is repeated for RTPS, nRTPS and BE. This ensures that for each service flow, bandwidth is allotted to high-priority users first followed by regular users and finally the low-priority users.

Simulation results
In order to evaluate DBAM, simulations were carried out on NS-2. Light WiMAX module (LWX) ) was used to simulate the WiMAX environment in NS-2. Strict priority bandwidth allocation algorithm of LWX was modified to accommodate DBAM algorithm. Simulations were carried out with the parameters from table 4.

Parameter Value
Uplink data rate 10 Mbps OFDMA Frame Duration 5 ms OFDMA symbol time 100.94 μs eRTPS data arrival rate 1 Mbps Table 4. Simulation parameters for DBAM.
Simulation network was setup such that at any point in time, 33% of the SS are priority SS, next 33% are regular SS and the final 1/3rd are low-priority SS. Each SS generates only eRTPS traffic. Uplink data is generated at the rate of 1Mbps. Downlink ftp traffic was also added. Downlink data is generated at the rate of 1Mbps.
Simulation results for throughput are shown in Fig. 4. When the number of MS is 9 each MS has sufficient bandwidth to transmit its data. But, when the number of SS is more than 9, there isn't sufficient bandwidth to support all SS. DBAM provides bandwidth to high-priroity SS first then regular SS and the leftover bandwidth is shared by low-priority SS. When the number of SS crosses 13, bandwidth for regular SS keeps reducing. Theoretical Results are shown in Figure 5. By introducing DBAM we can provide graded quality of service to the users. This is a winwin situation for both users and operators. The users win because their data gets prioritized and hence they get a better quality of service. The service providers stand to gain because they get higher revenue for the same amount of data being transmitted. Its just that the order of bandwidth allocation is modified.

Enhanced Differentiated Bandwidth Allocation Mechanism (eDBAM)
In case of DBAM, the order of bandwidth allocation follows the below sequence: High-priority RTPS > Regular priority RTPS > Low-priority RTPS > High-priority nRTPS > Regular priority nRTPS > Low-priority nRTPS > High-priority BE > Regular priority BE > Low-priority BE Basically DBAM ensured that the order of service class is maintained and within the service class we can have graded users. However there is scope for further optimization. We can have seven different ways in which the bandwidth can be allotted. Table 5 and Table 6 list the seven different ways in which bandwidth can be allotted. Each column in the table represents a unique way of bandwidth allotment. The order of allotment is from top to bottom (Kumar et. al, 2011b). In eDBAM (for example Method 2), low priority service class of high priority user (ex: Low-Priority BE) can be allocated bandwidth ahead of high-priority service class of regular/low-priority user (Regular/Low priority nRTPS). This out of turn allocation of bandwidth improves the throughput for even low priority service class (BE) for highpriority users.

Implementation
Implementation of eDBAM is similar to DBAM. The AAA server shall maintain a mapping of MAC address to the priority value associated with the MAC address. When a MS sends RNG-REQ to BS, BS shall obtain the priority value associated with the MS and allocated bandwidth based on one of the seven methods proposed for eDBAM. BS does not switch between the seven different methods of eDBAM. Each BS shall implement one of the seven methods and stick to that method throughout its operation.

Analytical modeling
Throughput modeling follows similar patterns as that of DBAM. Only the order of bandwidth allocation shall change. Delay modeling is explained in this section. The notations used for delay modeling are given in Table 7.

Symbol Description
Mean arrival rate Mean service rate ρ Service utilization L Mean number of packets of a service flow for a particular SS in the system.

W
Mean end-to-end delay for secure packets of a particular service flow for a particular SS.
We know that, Service Utilization = Mean arrival rate / Mean service rate. i.e.
For BE traffic (exponential distribution), mean number of packets for a service flow for a particular-SS is given in (9) 1 L     Queuing delay for a service flow for a particular SS is given in (10) For RTPS and nRTPS we assume constant arrival pattern. So mean number of packets for a service flow for a particular SS is given in (11) ( Hence the queuing delay for packets that have constant arrival pattern is:

Simulation of eDBAM
Simulation was carried out using NS 2.29. LWX was used to simulate wimax on top of ns2. Simulations were carried out for method-2 for eDBAM. Simulation parameters used, are given in Table- Simulation setup was done such that at any given time the network consists of 1/3rd Highpriority SS, 1/3rd Regular-SS and 1/3rd low-priority SS. Each SS is assumed to have RTPS, nRTPS and BE traffic. Downlink ftp traffic at 1 Mbps was introduced.

Throughput results
Simulation was done to compare the throughput for High-Priority, Regular and Low-Priority BE traffic. Fig. 6 shows the simulation results. A comparison with theoretical results is also provided.   From fig. 6 we see that as the number of SS in the network increases, the throughput form Low-priority BE drops. Subsequently the throughput reduces for regular BE and finally the throughput for High-priority BE. Since method-2 prioritized high-priority BE ahead of Regular nRTPS and Low-priority nRTPS, simulations were carried out for the service flow. Results of simulation are shown in Fig.7. www.intechopen.com

Delay results
Simulations were carried out to find the delay incurred by the service flows. Fig. 8 shows the delay for High-Priority BE, Regular BE and Low-Priority BE.  www.intechopen.com

Wireless Communications and Networks -Recent Advances 416
Packet delay was measured for High-Priority BE, Regular nRTPS and Low-Priority nRTPS.
Results of simulation are shown in Fig. 9. From Fig. 8 and Fig. 9 we see that using eBBAM, packets from high-priority SS are subjected to lesser delay compared to regular and low-priority SS.

DBAM v/s eDBAM
Simulations were done to compare the throughput and delay for DBAM and eDBAM. Fig.  10 shows the throughput comparision for DBAM and eDBAM. We consider method-2 for eDBAM.
From Fig. 10 we observe that the throughput for DBAM drops down much before eDBAM. This is because in case of eDBAM, high-priority BE is allotted bandwidth ahead of regular nRTPS and low-priority nRTPS. Figure 11 shows the simuation results for delay. Again eDBAM fairs better than DBAM.

Delay (in msec)
High Priority BE eDBAM High Priority BE DBAM Fig. 11. Delay results for eDBAM and DBAM for High Priority BE.

Network Aware Differentiated Bandwidth Allocation Mechanism (nDBAM)
Though eDBAM improves the throughput, the algorithm is indifferent to the current network conditions. Especially, if eDBAM method-1 is implemented, it could result in delays for regular and low-priority RTPS. Users might face jitter when they are viewing videos. This might not be desirable. nDBAM takes care of current network conditions before allocating bandwidth to the different service flows. The steps for nDBAM algorithm as given below.
Step 1. Users shall be allotted bandwidth as per one of the selected Seven methods of eDBAM. BS keeps monitoring the network condition. BS could poll the SS to know their current queue length and the average queuing delays faced for each service flow. BS and SS can use the ranging mechanism to pass the information between them.
Step 2. If the average queuing delay exceeds the QoS limits for the service class then the BS shall fallback from eDBAM to DBAM bandwidth allocation mechanism Step 3. BS checks with the SS if the average queuing delay has reduced. If yes then BS sticks to DBAM. If the average queuing delay is still high them BS falls back to First-come-first-serve (FCFS) method of bandwidth allocation.
Step 4. BS keeps monitoring the queuing delay. If the delay reduces and stays within acceptable limits then BS moves back to eDBAM algorithm

Implementation
BS does ranging at periodically with the SS. Ranging process is generally done to adjust the power levels and the clock skews. During the ranging process, BS can also request for the current queue state for the different service flows. As a part of ranging response (RNG-RSP) The SS can send the queue state to BS. The information is generally sent as a TLV (Type-Length-Value) header. A new header will be required to send the queue state information. Table 9 lists an example for the TLV.

Type
Length Value Scope Unused TLV type (ex: 105) 1 Average Queue delay for Service flow RNG-RSP Table 9. TLV header used to send Queue state.
BS receives the RNG-RSP from all the SS for each of their service class. BS then checks if the queuing delay is within the QoS limits for the service class. If not then it means that the eDBAM algorithm is introducing delay for regular and low-priority users. So, BS shifts from eDBAM to DBAM.

User based packet classification algorithm
We know that WiMAX supports 5 different types of service classes i.e. UGS, RTPS, eRTPS, nRTPS, BE. When a user generates data (ex: video packets) they are classified and placed into one of the 5 queues at SS (ex: Video packets are classified as RTPS packets and placed in the RTPS queue). As the user keeps generating data packets, these are classified and placed in one of the queues.
This method of classification is application specific. i.e. if the user keeps generating video packets they are always classified as RTPS packets and placed in RTPS queue and if the user generates web browsing/email packets they are generally classified as BE packets and places in BE queue. Packet classification is not user specific. i.e. there may be some users who are ready to pay more if their browsing packets are treated as high priority packets i.e. the browsing packets generated by such users are treated as RTPS packets instead of BE packets and placed in RTPS queue.
There may be some users who may wish to pay less and still enjoy broadband facility. For such users we may want to downgrade even their high priority packets like RTPS packets and treat them as low priority BE packets. A third set of users may fall in-between the highpriority and low-priority users.
There shall be 8 different ways of classifying the packets as given in RTPS packets will be blocked. This priority level can be set to a certain set of users so that these users can be blocked from transmitting RTPS packets like MPEG videos. 7 111 RTPS and nRTPS packets will be blocked. This priority can be set to very low priority users. Table 10. Eight different ways of packet classification.

Implementation
When the MS enters the network, it sends the RNG-REQ to BS. On receiving the range request, BS shall check the priority value associated with the SS. This priority value is passed to the SS in the RNG-RSP. On receiving the priority value the SS shall classify the packets as per table 10.

Simulation
Simulations were carried out to observe the improvement in throughput by implementing user based packet classification. Priority 3 scenario of table 11 was simulated. The simulation network consists of one priority MS whose packets are prioritized as per Priority 3. Other MS are regular users whose packets are prioritized as per priority 1.  Table 11. Simulation Parameters. Figure 12 shows the simulation results for BE traffic when the priority MS and regular MS generate both RTPS and BE packets. For priority MS, the BE packets are classified as RTPS packets. Fig. 12. BE data (in Kbps) transmitted by priority-SS compared to regular-SS.
From Fig. 12 we see that, when the number of MS in the network are less than 8, both Priority MS and non-priority MS are able to transmit all their data. When the number of MS in the network goes beyond 8, there isn't enough bandwidth to support the BE traffic for non-priority users. So the average throughput for non-priority user drops. Since priority MS request bandwidth for their BE traffic as RTPS traffic, priority MS continue to receive bandwidth. Beyond 12 SS there isn't enough bandwidth to support elevation of BE traffic as RTPS traffic. So throughput for even priority-MS drops down. Fig. 13 shows the simulation results when the network consists of only BE traffic. Fig. 13. BE data transmitted by priority-MS and regular-MS when only BE packets are present in the network.
In Fig. 13 we see that priority MS enjoy constant throughput of 70Kbps where as the throughput for non-priority MS keeps decreasing as the number of MS increases. This happens because BE traffic for priority MS is treated as RTPS traffic. So bandwidth is allotted to priority MS. The leftover bandwidth is shared by non-priority MS. So, by implementing priority based packet classification we can provide graded QoS to the users.

User based Call Admission Control (CAC) algorithm
Call admission control (CAC) plays a very important role in the IEEE 802.16 based wireless network. WiMAX networks aim to ensure that the QoS requirements for each service class are met. In order to provide QoS, the network should have a robust CAC algorithm.
When an SS/MS wants to establish a connection for a particular service class, it sends a DSA (Dynamic Service Addition) request to BS. This DSA request also contains the QoS parameters for the service class. Upon receiving the DSA request the BS decides to accept or reject the connection. If BS accepts the connection then it has to support the QoS needs of that connection.
When a BS decides to accept a connection, various factors need to be considered. For example the minimum and maximum data rates on the connection, the delay and jitter parameters for the connection etc. There can be other criteria like fairness, revenue per connection that can also play a role while admitting a connection.

422
Many CAC algorithms have been proposed both for wired and wireless medium. Because of the unique characteristics of wireless medium, many of the CAC algorithms of wired world cannot be applied to the wireless networks. Researches have proposed some CAC algorithms for WiMAX. In (Chen et. al, 2005)  represents the data rate for the i th connection which belongs to s service class. In (Chandra & Sahoo, 2007) a QoS aware CAC is proposed. BS contains CAC queues for each service class. So there shall be 5 CAC queues (one each for UGS, RTPS, eRTPS, nRTPS and BE). When an SS makes a CAC request for a particular connection, the BS shall queue the request in one of queues based on the QoS requirements for the Class. BS then goes through each of the queues and accepts the connections. (Chandra & Sahoo, 2007) also provides criteria for call admission for each of the service class. In (Shu'aibu et. al, 2010) (Shu'aibu et. al, 2011 a partition based CAC algorithm is proposed. The total bandwidth is divided into many partitions like constant bit rate partition (CBR), variable bit rate partition (VBR) and Handover partition (HO) etc. CAC is applied to each of these partitions. CAC algorithms proposed above, are all service class based algorithms. In this section we shall look at user based CAC algorithm. The algorithm is based on (Chandra & Sahoo, 2007).  Because of lack of space, the control flow of eRTPS service class cannot be shown. However the logic for classifying the DSA request for eRTPS would be similar to UGS.

User based CAC algorithm
Once DSA requests are classified into the respective queues, BS goes through the DSA requests in each queue to admit the connection. High Level view of Admission control algorithm is given in Fig 16

Simulation results
Silulations were carried out to evaluate the performance of user based admission control algorithm. Simulation Parameters are given in Table- Simulations were carried out to find the acceptance ratio for the connection requests for priority users and non-priority users. Acceptance ratio is defined as the ratio between the number of connections accepted to the total number of connections requested. Fig. 17 shows the simulation results for acceptance ratio when the network contains only RTPS connections.  From Fig. 17 we can see that till the connection arrival rate is 10 connections/sec, there is enough capacity to accept both priority and non-priority connections. But beyond that the network cannot support the connection. So it starts to reject the connection. Since connection requests from priority users are processed first, the acceptance ratio for priority users would be higher compared to non-priority users.  Simulations were also carried out to check the performance of user based admission control algorithm when BS receives connection requests for all the types of service classes i.e UGS, RTPS, nRTPS, eRTPS and BE. Fig 19. illustrates the simulation results for this scenario. From the simulation results it is clear that implementing user based admission control improves the connection acceptance ratio for priority users, there by improving the broadband experience for this section of users.

Drawback of user admission control
If, at any point in time, the network receives many connection requests from priority users then there is a chance that the non-priority users might see higher rejections of their connections. This can be tackled at the operator level. Based on the capacity of the network, a network service provider can limit the number of priority users that he can support. So when signing a new user, the operator can decide whether he wishes to provide the user the privilege of being a priority user.

Conclusion
In this chapter a comprehensive user based framework is proposed across various modules in WiMAX. Though operator can provide graded services by having different data rates at different price points, it does not give the flexibility that user based framework provides. Using the user based framework, graded services can be managed at the MAC layer and users can be up-graded/down-graded dynamically.