QoS Provisioning Mechanisms in GPRS Networks
Ana Cristina Barreiras Kochem, Eliane Lcia Bodanese Programa de Ps-Graduao em Engenharia Eltrica e Informtica Industrial Centro Federal de Educao Tecnolgica do Paran Av. Sete de Setembro, 3165. Curitiba PR. 80.230-901. Brazil. {cristina, bodanese}@[Link] Abstract This paper presents three different mechanisms to provide Quality of Service (QoS) to General Packet Radio Service (GPRS) users. These mechanisms include a Call Admission Control (CAC), a Radio Resource Reservation and Scheduling in the radio interface. Video, voice and data integration are expected by mobile users. However, these media have different QoS requirements in terms of bandwidth and delay limits. The management of the scarce shared frequency spectrum is a challenge for cellular operators mainly in congestion situations. In this perspective, we propose the implementation of mechanisms in different elements of the GPRS network to provide a differentiated treatment to a media set (video, data and voice). 1. Introduction GPRS was defined by the European Telecommunications Standard Institute (ETSI) as a packet switched oriented service over Global System for Mobile Communications (GSM) networks [1]. Its main goal is to increase the physical resource utilization. Two new elements were added to the existing GSM architecture in order to provide an end-to-end packet transfer: a Serving GPRS Support Node (SGSN) responsible for the delivery of data packets to/from mobile users within its service area and a Gateway GPRS Support Node (GGSN) that provides internetworking with other Packet Data Networks (PDNs) such as Internet, Intranet and X.25 networks. The GPRS elements in the radio interface includes the Mobile Station (MS), the Base Transceiver Station (BTS), and the Base Station Controller (BSC). The BTS and BSC together compose the Base Station Subsystem (BSS). In order to offer QoS for GPRS subscribers, ETSI has specified four QoS classes [2]: (1) Service precedence class (priority of a service: high, normal or low); (2) Delay class (end-to-end transfer time between two entities), (3) Reliability class (loss probability, duplication, out of sequence and corrupted packets); (4) Throughput class (peak throughput in octets per second and mean throughput in octets per hour of transferred GPRS packets). Table 1 describes the QoS requirements of an application set commonly accepted from an end-user viewpoint [3]. Application Audio Streaming E-mail File Transfer (FTP) Telnet Video One-way Voice Messaging Table 1. QoS requirements for different applications Data Rate (kbit/s) End-to-end One-Way Delay 5-128 < 10s Best effort < 384 < 10s <1 < 250 ms 20-384 < 10s 4-13 < 1s Delay Variation < 2s < 2s < 1 ms
When a MS is going to establish a connection with a GPRS network, it tries to negotiate a QoS profile indicating the desired attributes of the QoS classes (described above). The negotiated profile is stored in a Packet Data Protocol (PDP) context along with a PDP address allocated to the MS (IP or X.25 address), a PDP type (IPv4, IPv6, X.25), and the address of a GGSN that serves as an access point to an external PDN [1]. Once the QoS profile is negotiated, the GPRS network must provide the required resources to the MS. Researches have focused on QoS management in GPRS. In [4], the authors examined the capacity improvement and the performance gain through QoS management in GPRS. In [5,6] scheduling disciplines applied in a GPRS network were evaluated. However, they did not consider the use of mechanisms to meet the QoS requirements imposed by video, data and voice applications. In [7] it is proposed a two phase QoS control in GPRS to achieve the performance requirements specified in a service subscription contract. The first phase includes the CAC and the resource reservation and the second phase applies scheduling and policing of packets in the BSS to regulate the traffic and to ensure the required QoS during a packet transfer. In the next sections are described the proposed CAC, the radio resource reservation and the scheduling mechanisms, the simulation model and results, the conclusions and the future work.
2. CAC and Radio Resource Reservation In GPRS, the CAC is performed by the SGSN and GGSN elements during the QoS profile negotiation. The radio resources are reserved by the BSS during a Temporary Block Flow (TBF) establishment [4]. An MS tries to establish a TBF when it has a packet to send/receive by requesting one or more channel(s) to the BSS. When a MS requests a new connection or a handoff, by activating a PDP context, it provides its service precedence class and its mean throughput class, both defined in the QoS profile being negotiated with the network. Then, the CAC is performed to determine whether to accept or reject the incoming connection. In our work we have adapted an algorithm for high-speed networks [8] and applied it on GPRS nodes to perform the CAC and the resource reservation based on local information (from the cell where the MS originates the connection request) and remote information (from neighboring cells). The resulting adapted algorithm is shown in Figure 1. IF (High OR Normal Priority) THEN Reservation() /* Performed every time a MS request a new connection or moves to a new cell */ IF (new connection) THEN IF (mean_throughput available bandwidth Try to reserve radio resource(s) in all neighboring in current cell) THEN cells of the cell where the MS requests a connection Reservation() IF (successful reservation OR handoff request) ELSE /* There is not enough bandwidth */ THEN Reject new connection Accept connection IF (handoff) THEN Establish TBF between the MS and the BSS to IF (mean throughput available or reserved allocate the requested resources in current cell bandwidth in current cell) THEN ELSE /* could not reserve resources for new Reservation() connection request */ ELSE /* There is not enough bandwidth */ Reject new connection Reject handoff request ELSE /* Low Priority */ IF (available bandwidth in cell > 0) THEN Accept connection Establish TBF to allocate the minimum {requested, available resources in cell} ELSE /* no resources available */ Reject connection (b) (a) Figure 1. Pseudo Code of Call Admission Control (a) and Radio Resource Reservation (b) To determine the amount of radio resources to be reserved in neighboring cells, we assume the GPRS network can predict the movement pattern of each MS so that, as proposed in [8], a larger amount of bandwidth (the largest bandwidth requested by high or normal priority connection admitted) can be reserved in a cell x with a higher probability (px) of receiving a handoff request from the MS. In the remaining neighboring cells, assuming a handoff probability of (1-px), the algorithm reserves the largest bandwidth requested * (1 - px). The packet transfer can occur after the MS has established a TBF with the BSS and the required radio resources have been allocated. When a packet arrives in the BSS, it is transmitted in the radio interface following a queue scheduling discipline. 3. Scheduling in the Radio Interface The scheduler decides which packets must be served based on the negotiated QoS profile. The Deficit Round Robin (DRR) and the DRR+ scheduling disciplines concepts [9] were applied in the Medium Access Control (MAC) layer of a GPRS network to transmit the packets into the physical layer. We have modified these scheduling disciplines to be consistent with the GPRS funcionality and to supply the QoS requirements of an application set. This modification was called MDRR+ (Modified DRR+) and its function is described below. There is one queue dedicated to each media flow. The packets that arrives in the BSS are distributed into the queues according to their flow identification number (Fid). The service precedence class (priority) of each flow is used by the scheduler, to determine which flow has to be served first. Some array variables are initialized for each flow: (1) Quantum[Fid]: defines the portion of the bandwidth to be allocated to each flow (calculated by the mean throughput class value and converted to bits per second); (2) Priority[Fid]: determines the service precedence class of each flow; (3) DeficitCounter[Fid]: specifies the
maximum number of bytes that each queue can transmit when it is visited by the scheduler. This variable is initialized with the Quantum[Fid] value and, each second, it is reloaded in order to compesate the queues whose packets could not be transmitted during a scheduler service cycle; (4) QuantumTime[Fid]: a timer that indicates when the DeficitCounter[Fid] must be reloaded with the quantum value; (5) InactiveTime[Fid]: a timer used to indicate when a flow is inactive for more than one second; (6) NslotsAloc[Fid]: indicates the number of slots that each flow can allocate (calculated by dividing the Quantum[Fid] by the data bit rate of the slots). The timers QuantumTime[Fid] and InactiveTime[Fid] are initialized with 0. The value of their timeout is 217 to indicate the number of Time Division Multiple Access (TDMA) frames (0.004616s) the scheduler has to scan to complete one second. These timers are added to the default DRR scheduling discipline to limit the data rate per second of each active flow. Initially, the algorithm tries to allocate NSlotsAloc[Fid] time slots to each flow. Next, the function Enqueue() is performed. This function places the new packets that arrive in the BSS into a queue dedicated exclusively to one flow (Fid). The function Dequeue() visits each service precedence class looking for flows within it. Then, the algorithm verifies if the queue has packets to send. If the queue is not empty, the InactiveTime[Fid] is set to zero. If the the timer QuantumTime[Fid] has expired, the DeficitCounter[Fid] is incremented by Quantum[Fid]. If the flow was inactive, DeficitCounter[Fid] is set with the value of the quantum. Then, the packets of the flow are transmitted as long as their size do not exceed the DeficitCounter[Fid] and if there is some slot allocated to the flow. When a packet is sent, the variable DeficitCounter[Fid] is reduced by the number of bytes in the packet. If the size of the packet exceeds DeficitCounter[Fid] or when the queue is empty, the scheduler will visit the next queue. If there is no time slot available and the flow could not allocate its NSlotsAloc[FID], a variable called stop was added to control the priority of the flows using the available time slots. 4. Simulation Model To simulate our GPRS network, we have used the Network Simulator (NS) [10] and we have modified the code contributed in [11] to make possible more than one MS to transmit its packets per frame TDMA. Also, as we carry applications with greater data rate than 21.4 kbit/s, we have modified the MAC layer to support a multislot operation, i.e., one MS can use up to eight PDCHs per frame TDMA for individual packet transfers. The simulated GPRS network is composed of one GGSN, one SGSN, one BSC, one BTS and six MSs. Since the bandwitdh across the radio interface represents the system bottleneck, we have chosen a bandwidth of 100 Mbps between the fixed nodes (GGSN-SGSN and SGSN-BSC). Six PDCHs are available for GPRS downlink traffic. Each time slot has a data rate of 21.4 Kbit/s (Channel Coding Scheme CS-4 is used) [1]. So, the cell has a maximum bandwidth capacity of 128.4 kbit/s, which will be shared by all MSs within it. All MSs belong to multislot class 8 (4 time slots can be used for downlink transfer and 1 time slot for uplink). Six traffic sources were chosen to represent the diversity of media (voice, video and data). Their parameters are listed in Table 2. Table 2. Parameters of the traffic sources
Service Negotiated Average Connection Mean Class Mean Inter-arrival Holding Time Data Rate Application Time (s) Precedence Throughput (min max) (kbit/s) (Priority) Class Audio Streaming 2 (normal) 17 (22 kbit/s) 90 seconds (75s165s) 20 (CBR) 0,08 (constant) E-mail 3 (low) 15 (4,4 kbit/s) 25 seconds (22s47s) 4 1 (exponential) FTP 3 (low) 17 (22 kbit/s) 45 seconds (25s 70s) < 110 Telnet 1 (high) 13 (1,11 kbit/s) 1 minute (20s 80s) 0,512 1 (exponential) Video One-way [12] 2 (normal) 19 (111 kbit/s) 3 minutes (10s190s) 64 0,04 (25 frames per second) Voice Messaging 1 (high) 16 (11,1 kbit/s) 2 minutes (50s170s) 10,7 (CBR) 0,02308 (constant)
5. Simulation Results The results in this section compare the performance of a GPRS network using the CAC and MDRR+ mechanisms and a conventional GPRS network using the First In First Out (FIFO) scheduling discipline. The simulation results are given in Table 3. Although the FTP application tries to negotiate a mean throughput class of 111 kbit/s during the CAC, according to Table 2, at 25 seconds of the simulation the FTP is admitted with a mean throughput of 22 kbit/s. This have happened because FTP applications have low priority and when its connection is requested there was only one time slot available in the cell, the others were allocated to previous admitted applications (4 time slots for video and 1 time slot shared by telnet and e-mail applications). As shown in Table 3, the network with the FIFO
scheduling allows the FTP to get a higher bandwidth rate than the negotiated one during its transmission of packets. On the other hand, the MDRR+ discipline limits the throughput of each application according to its negotiated QoS profile, not allowing misbehaved flows to affect real time applications. Comparing the results in Table 3 with the QoS requirements described in Table 1, it can be demonstrated the FIFO scheduler has not met the delay requirements for voice messaging and telnet applications. For example, using FIFO, the maximum delay variation of the voice messaging service is greater than 1ms (0,41544s) and the maximum end-to-end packet delay for telnet services is much greater than 250ms (1,393830s). However, our proposed mechanisms have guaranteed the QoS requirements of the different media (voice, video and data) from the user point of view. Table 3. Simulation Results
Packets received by MS Application MDRR+ FIFO Audio Streaming 1126 1126 E-mail 38 42 FTP 235 693 Telnet 61 62 Video One-way 1305 1305 Voice Messaging 5201 5201 Minimum - Maximum throughput (kbit/s) MDRR+ FIFO 19.200 - 20.800 19.520 - 20.480 4.000 - 4.000 4.000 - 20.000 18.400 - 20.800 40.000 - 84.000 512 - 2.048 512 - 8.192 51.024 - 81.848 39.432 - 83.913 10.713 - 10.763 6.200 - 14.384 Maximum end-toend packet delay (s) MDRR+ FIFO 0,21464 0,38701 5,954661 1,440183 4,208082 1,919670 0,050078 1,393830 0,329245 8,804382 0,01772 1,109951 Maximum delay variation (s) MDRR+ FIFO 0,053864 0,06078 1,874630 1,118404 0,246330 0,096900 0,018693 0,889596 0,160291 0,342070 0,00018 0,41544
6. Conclusions The use of CAC and a scheduler implementing MDRR+ discipline was a diferentiated factor for improving the quality of the offered services in a GPRS network as shown by simulation results. Applying CAC, connections are only admitted when the network is capable of providing the negotiated resources. The main function of MDRR+ discipline is to give a fair bandwidth distribution among the active applications in a cell. The next steps in our work will be to present the effects of the resource reservation mechanism in the GPRS network. New performance paremeters will be investigated, for example, the connection admission rate and the blocking rate for new and handoff connections. 7. References [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] R. J. Bates, GPRS General Packet Radio Service, McGraw-Hill, USA, 2002. Digital cellular telecommunications system (Phase 2+); General Packet Radio Service (GPRS); Service description, Stage 2, 3GPP TS 03.60, v. 7.7.0, Release 1998. Universal Mobile Telecommunications System (UMTS); Services & service capabilities, ETSI TS 122 105 (2002-06), 3GPP TS 22.105, v. 5.2.0, Release 5. P. Stuckmann and F. Muller, Quality of Service Management in GPRS Networks, Proc. IEEE International Conference on Networking, Colmar, France, Jul. 2001, pp. 276-285. J. Sau and C. Scholefield, Scheduling and Quality of Service in the General Packet Radio Service, Proc. IEEE International Conference on Universal Personal Communications, Florence, Italy, Vol.2, Oct. 1998, pp. 1067-1071. Q. Pang, A. Bigloo, V. C. M. Leung et al., Service Scheduling for General Packet Radio Service Classes, Proc. IEEE Wireless Communications and Networking Conference, New Orleans, USA, Vol. 3, Sept. 1999, pp. 1229-1233. S. Tsao, Quality of Service Control over GPRS Data Network, Proc. IEEE 52nd Vehicular Technology Conference, Boston, USA, Vol.3, Sept. 2000, pp. 1001-1007. C. Oliveira, J. B. Kim, and T. Suda, Quality-of-Service Guarantee in High-Speed Multimedia Wireless Networks, Proc. IEEE International Conference on Communications, Dallas, USA, Vol.2, Jun. 1996, pp. 728-734. M. Shreedhar and G. Varghese, Efficient Fair Queuing using Deficit Round Robin, Proc. ACM SIGCOMM95, Cambridge, USA, Vol. 25, No. 4, Oct. 1995, pp. 231-242. The Network Simulator ns-2: Documentation, The VINT Project, UC Berkeley, Apr. 2002, [Link] (current Apr., 2002). R. Jain, GPRS Simulations using ns-Network Simulator, masters thesis, Indian Institute of Technology Bombai, Dept. Electrical Engineering, India, 2001. F. H. P. Fitzek, M. Reisslein, MPEG-4 and H.263 Video Traces for Network Performance Evaluation, IEEE Network, Vol. 15, No. 6, Nov.-Dec. 2001, pp. 40-54.