based on a traffic scheduling mechanism on the application level for .... tions which are able to react to changes in the network condition, proactive applica-.
An Approach for QoS Scheduling on the Application Level for Wireless Networks Dang-Hai Hoang1 , Dietrich Reschke Technical University of Ilmenau, D-98693 Ilmenau, Germany {Hoang, Reschke}@prakinf.tu-ilmenau.de
Abstract. In this paper, we propose an architecture for Quality of Service (QoS) control with a proxy server for multimedia applications in heterogeneous communication environments of wired and wireless networks. The concept is based on a traffic scheduling mechanism on the application level for supporting various mobile user traffic streams. The proxy server is located in the base station and is responsible for user profile management and QoS adjustment. Via an application user interface, the user can click on a quality button to send an user feedback to express the actual required QoS. The concept is furthermore characterized by the gathering of queue lengths of packet flows and the calculating of the loss probability for QoS monitoring in the proxy server.
1 Introduction Quality of Service (QoS) is an important factor in the service capability of the networks. QoS management is a topic of considerable amount of research over several years. The issue of QoS guarantees is no doubtable one of the great challenges in multimedia communication networks; not only in fixed networks including internet, but also in wireless networks. Until now, most of the works have been in the developments of individual network components such as end-systems, transport and network protocols, protocols and functions in the management plane, etc. Some of works proposed general frameworks for QoS management, but most of them require changing of whole protocol structure. Summaries of QoS architectures can be found in [1][2]. Well-known are the QoS concepts related to layer three of the OSI reference model such as IntServ, DiffServ and above layer such as MPLS (Multiprotocol Label Switching). QoS concepts on lower layers are specially proposed for Local Area Networks (LANs) which are based on OSI layer two. Examples are Subnet Bandwidth Manager (SBM) for shared and switched 802 LANs such as Ethernet (also FDDI, Token Ring, etc.). Other layer 2 technology has been QoS enabled such as ATM (Asynchronous Transfer Mode). A lot of QoS architectures for end-systems were also proposed. Such architectures were shortly described in [1]. It was argued that there are commonalities exist between QoS control and strategies found in end-system and network. This seems to be at the first 1
with a George-Forster Research Fellowship of Alexander-von-Humboldt Foundation.
glance, but there are different goals in designing control mechanisms between the intermediate system (routers, switches) and the end-system. The extent, to that the network-level QoS mechanisms can be applicable in the end-system (or vice versa) is still an open issue. Naturally, the proposed concepts for fixed networks can be also applied with careful consideration for wireless networks. However, it is critical in wireless networks, where the wireless links are more error prone than the wired parts. On the other hand, there is a discrepancy in performance between desktop computers and handheld terminals of various types. The changes in network and technology have caused an increase of heterogenities in distributed multimedia systems. Moreover, in mobile and wireless systems the quality of service of connections may change rapidly over time. Due to the varying transmission characteristics of the wireless links, the providing of QoS guarantee in wireless networks and heterogeneous environment is rather limited calling new directions of research in QoS treatment over wireless network environments. There is a need for mechanisms to compensate the performance gap, that means also the gap of quality of service which perpetually remains between different types of end-systems. The consideration of the user preferences will be also an indispensable necessity in future networks In this paper, we present a framework for the design of such mechanisms which address the following three questions: where is the suitable location of QoS control? How can the gap of QoS be compensated ? How can the QoS be monitored and adjusted? To answer these question, we propose a proxy server located in the base station. The proxy server receives the data stream sending from a fixed host, transforms and forwards the data packets to the mobile terminal according to the user profile and current available link bandwidth. The transmission of data packets occurs at the application level using a scheduling algorithm and a reference time slot system. The QoS is dynamically adjusted regarding the link bandwidth measured by the proxy server. At any time, the customer can send a user feedback to the proxy server for expressing his/her preferred QoS. We focus in this paper on QoS management of video streams, since it is the most critical component in the multimedia applications The rest of paper is organized as follows. In section 2, we describe the background of this research and review related works. In Section 3, the proposed QoS management architecture is presented. Section 4 presents the experiment with the concept. Finally, Section 5 concludes this paper.
2 Background and Related Works Many efforts have been done on constructing QoS architectures to support end-to-end QoS management. Most of these are predicated on the availability of guaranteed services and concentrated on the implementation of QoS mechanisms in networks and end-systems as well as their coordination in order to provide QoS support to the application [3]. However, multimedia applications have fluctuating needs on network resources which may also vary in heterogeneous environment. An overview of future wireless internet access architectures is slightly given in [4]. The paper discussed the
cornerstones of wireless internet access including proxy structures. Proxy structures enable the distribution of internet protocol operation between both the end-system and the network. Examples are WAP (Wireless Application Protocol), Snoop (a protocol booster) and ReSoA (Remote Socket Architecture). All these approaches take into account that the wireless links should be treated in a special manner. In contrast to the main QoS issues in wired networks, the QoS degradation in wireless networks is not only due to the congestion, but also caused by possible high BER of the radio channels, fading and interference between channels etc. Thus, the usual retransmission for recovering lost packets is not suitable and not efficient any longer. The Forward Error Correction (FEC) has disadvantage of complex overheads. New solutions are necessary. To date, there are efforts made in improvements of radio link technologies, new and efficient compression techniques or improvements of the protocol stacks, etc.[5][6]. The future networks are likely to remain heterogeneous due to the increasing changes in network technology. Not a single technology can cover all aspects of communication applications. The coexist of various technologies and equipment devices restrain the overall QoS support for all user. A customer with desktop-type receiver certainly would accept other QoS perceptually than a customer with a handheld receiver. This gap of QoS should be compensated by a suitable QoS mechanism which should be flexible to adapt to wireless links and user preferences. Recently, many QoS aware applications have been developed which are capable of adapting to their environment. Recalled, from the network’ point of view, the QoS guarantee is the ability of the networks to fulfill the different request of the applications of customers. If the networks cannot satisfy the request of the users due to resources lacking, the applications are to adapt to this situation. Adaptive applications could adapt their operation to deal also with variations in QoS characteristics of networks. As an example is the play-out buffer adaptation [3]. The other possibility is the QoS on-demand approach [3][7][8] in which the user can actively react to achieve as a better QoS as possible. In this case, there is a need for controlling the user feedback and for monitoring QoS. Some QoS controlled applications were developed which enable the user to take control the QoS. In [8], Bechler et.al. distinguish three types of applications: common, adaptive and proactive applications. Unlike adaptive applications which are able to react to changes in the network condition, proactive applications actively affect the scheduling of resources. However, all these approaches either concentrated on the QoS manager in end-systems or did not consider the interactions between the applications and their behaviour. In our approach, we suggest using a proxy server in the base station to compensate the gap between the different requirements of mobile terminals. Our approach differs from the proxy proposed in [7] in the fact that we suggest an active proxy structure. Active means that we use a traffic scheduling at the application level to manage the data streams sending to mobile terminals. Why is a traffic scheduling necessary? The reason is that we can give different priorities to the data streams sharing the same resource (buffer, bandwidth) in the base station. In case of lack of link bandwidth, it is necessary to decide how to drop data packets to ensure the QoS for certain connections. In addition, we developed a graphical user interface that allows user to send the feedback signal to express the desired quality of connection.
3 QoS Management Concept on the Application Level Figure 1 shows the principle of the proposed architecture in the context of wireless multimedia communication. The QoS proxy server takes the role of the QoS manager and the resource manager at the application level. In addition, it manages the user profiles. These components are described later in this section.
control MT
QoS Proxy Server
Mobile Terminal
MT Mobile Terminal
Fixed Server Base station Network Interface
Internet Fixed Host
Base Station Fig. 1. QoS management architecture
As we discussed before, a mobile computer is more resource poor than a stationary computer and the properties of wireless networks are different from wired networks. Let us consider a situation where the fixed host sends too much multicast data to the mobile terminals when the link bandwidth of wireless network becomes low. In this case, the application typically should reduce the data rate sending to the mobile terminals, thus the QoS of all receivers will be affected. In a such a heterogeneous environment, the proxy server filters the data from the Internet and sends them to the mobile terminals according to their performance, QoS requirements and bandwidth allocation. We believe that this proxy structure is also advantageous for charging and billing purposes. 3.1 The Basic Concept The proxy server consists of three functions: the QoS management, the resource management and user profile management. The proxy server receives and stores the user preference sending from the mobile terminal. Receiving data streams from the Internet, the QoS manager filters packets, converts data and sends the transcoded data to the receiver. The filter function was already mentioned in [7] and some other works (QoS-A pointed in [1]). If the bandwidth of the wireless link becomes low, the QoS manager adapts the data streams to the actual bandwidth condition (e.g. discards unimportant packets, converts video to monochrome, etc.). The resource manager is responsible for monitoring the actual link bandwidth and allocating bandwidth to different data streams using a scheduling algorithm. The connections are given differ-
ent weights according to the QoS requirements. For scheduling a queue system is used. A reference time slot system helps to define the priorities of the connections. At the application-level, it is advantageous for the transcoding function. In addition, the concept may not depend on the underlying network system. A simple concept model is shown in figure 2 for a video transmission application. The receiver is a mobile terminal and the sender may be an another mobile terminal or a host in the wired network. For a video call, the call processing is as follows. The sender sends a connection setup message to the call manager of the wireless network. We suppose the call signaling was done by the wireless network and a connection is setting up. Now, the receiver has to send a short message containing his preference and his user profile is stored in the proxy server. This information are codec, frame rate, display size, color depth. These are the application-level QoS parameters. The proxy server set up a queue for the connection with a corresponding weight, i.e. the connection is allocated a bandwidth regarding to the weight. The sender application then admits a video stream to the respective queue in the base station. This data stream is then transcoded according to the user profile, i.e. the required QoS of the receiver and is sent to the receiver terminal. Pushing data packets into queues, the proxy server marks the data packets with respect to important and unimportant video frames. For determining the service order of the data packets, a bandwidth scheduler is proposed. We suggest to use an adaptive bandwidth scheduler proposed in [9], which is able to adjust the weights of connections. A reference time slot system is proposed regarding the actual order of packets that will be transmitted on the physical link. Video Camera Sender
Receiver Receiver application
Sender application
QoS Server Queues
Network Interface
Video stream
Network Interface
Base station Network Interface Wireless Link
Base Station
Network
Fig. 2. The concept model for video transmission application
During the connection, the proxy server monitors the actual link bandwidth condition and adjusts QoS. The bandwidth is measured by the received data packets per time. The receiver has then to count the packets and sends it to the resource manager. If the link bandwidth is very scarce, or when the receiver is not reachable, the proxy server discards unimportant frames or even all video frames and sends only audio during the critical time. By gathering the queue lengths, a predication of QoS can be made. An increase of the queue length means the connection is worse treated or much data packets sending from the sender. In any case, there exists the risk of packet loss accompanying a QoS
reduction. Two decisions can be made. Either the customer sends an user feed back to request a better QoS, or the proxy server adjusts the QoS itself with current bandwidth condition. An user interface is developed which allows the user to express his preference, i.e. the quality he/she wants to pay for, by clicking on a button on the display window. Upon his clicking, a user feedback signal is sent to the proxy server. The proxy server then varies the weight of his connection queue, thus he can receive more bandwidth in compare to other connections. In following, we describe the components developed in the concept including the graphical user interface, the user profile, the user feedback and the QoS scheduler. The concept demonstration for video transmission was written in C and TCL/TK. 3.2. User Interface The simple user interface is depicted in figure 3, consisting of a video display area and three main buttons. By clicking on the call button, the label is then changed to stop. The destination address is need to enter, either the IP address or the name of the target computer. The other button is designed for setting user preference. The user preference is selected at the call setup, it is also possible to send the preference to the proxy server during the call. The Quality button (minus or plus, i.e. worse or better QoS) is for user feedback.
Fig. 3. Graphical User Interface
Fig. 4. Window for set user profile
The other button are for setting the video device such as port of the video card or setting the X-Window for test without a video camera. On the other side, the application receives the transcoded video stream from the base station, decodes it and plays out the video stream on the display area. 3.3. User Profile The user profile contains information about the technical characteristics of user's mobile terminal. This information includes the display size, the color depth, etc. Furthermore, it includes the receiving preference of the customer, for example the desired codec, image size, brightness, contrast and the maximum bandwidth. Clicking on the user profile button, the customer then set the desired parameter expressing the preferred application-level QoS. These parameters are then sent to the
proxy server and stored in a user profile. Figure 4 shows the current defined parameters. Up to now, there have been various video data compression techniques defined by the standard organization. Thereunder are MPEG-1, MPEG-2 of Motion Picture Experts Group, H.261, H.263 of ITU (International Telecommunication Union). Other technique for still image compression is JPEG (Joint Photographic Experts Group). However, we use in the concept demonstration only three examples to consider the possibility of the proposed concept. Parameters affecting the video playout are brightness, contrast, frame size and color depth. The user can specify these parameters using a simply click on the setting window or the slider bar. The frame size or resolution corresponds to the number of pixels in one frame. We assume to set one of three values: small (160x120), medium (320x240) and large (640x320). The brightness and contrast are preset to 60 and can be varied from 0 to 100. These parameters can be observed on the display of receiving window together with other information such as actual frame rate, actual received bandwidth, loss rate, etc. The maximum frame rate is 30, what is a typical limit for a video transmission. 3.4. User Feedback The user feedback is performed via a simple interface with two buttons: plus and minus button on quality. By clicking on one of these buttons, the user sends a special message indicating USER_FEEDBACK to the proxy server. This express the desired quality of service of the customer. One way to do this is to send a single parameter indicating the desired quality, for example an utility value. The proxy server has then to map this value to the network parameter such as bandwidth, delay, loss etc. An algorithm is necessary to translate the application-level QoS parameters into the network QoS parameters. The mapping can be done by a translation function or a table. However, we did not just developed the mapping function in the system. Instead of that, we use currently a simple way, in which we suggest that, the user will send the feedback message with an explicit wish on quality, e.g. bandwidth, image size, etc. We are investing on the development of a quality function to generally express the quality desired by the user. The quality function should express the utility of the user and is a function of the bandwidth, the efficiency of the transmission protocol and the error rate. This is the topic of next works. 3.5. QoS Scheduling and Monitoring As mentioned above, the proxy server has three functions. The functions of QoS management and resource management are related closely together and form together with the queue system a QoS scheduling system. According to QoS requirements of the user, the proxy server set up the weight for the customer's connection. The proxy server receives periodically the information about the link bandwidth measured by the receiver and adjusts the quality of connection to the actual link condition. In case of lack of bandwidth, the proxy server will decrease the frame rate,
discard unimportant frames, decrease the color depth, or even discard all video frames, thus only voice is transmitted in this worse case. For this purpose, the video packets are marked as important and unimportant packets with an indicator in the packet header. The information about actual bandwidth is calculated based on the actual received packets in the receiver and is sent to the proxy server using a special message indicating BANDWIDTH_INFO. QoS Proxy Server Xi (t) Queue length i
incoming PDUs
Decision
... Queue System outgoing PDUs
PDU Protocol Data Unit
Fig. 5. The concept model for video transmission application
Figure 5 shows the principle model for QoS scheduling in the proxy server. As shown in the figure, the proxy server manages a queue system. Each queue is for one connection. Incoming packets from different flows arrive in the queue system. The queue lengths are gathered and the packet loss probability is calculated. Base on this probability and the feedback from the receiver, the proxy server monitors the QoS of packet flows and adjusts QoS to the actual link condition and the QoS requirements from the user. A separate queue is for each down link connection. We consider a reference time slot system according to 16 time slots of a W-CDMA frame (as described in the UMTS standards). In the packet mode, the base station has to select a packet from a connection during each down link time slot. By giving different weights on queues, we can determine the order of packet from different connections. Upon user feedback, the weight of the desired connection is changed. The decision process has then to select the packets from queues according to their weights, thus a virtual time slot order is realized. The incoming packets are marked according to important or unimportant frames, as we mentioned above. For each queue, the scheduler maintains two parameters, namely the start tag ST and the finishing tag FT. The scheduling algorithm is defined as follows [9]: = max (TAk , FT ) i i− Lk FT = ST + i+ i g i (t )
ST i
where i is the index of the queue i, TA is the arrival time of the packet k in the queue i, g(t) is the allocated bandwidth for the queue i (weight of the connection), Lk is the packet size in bytes (including packet header, in fact it is the PDU size).
Whenever a packet arrives into a queue, the start tag and finishing tag are calculated in the scheduler. The decision is made based on the finishing tags, i.e. the packet with smallest finishing tag will be pushed at first to the layer below. By this way, the order of packets is determined. If the packet is first pushed into the lower layer, intuitively it will be also first served by the lower layer and will have preference before other packets by transmission into the wireless link. Without this virtual reference time slot system, the packets will be intuitive pushed into the below layer and served in the FIFO manner (First In First Out).Upon user feedback signal, g(t) is adjusted and the finishing tag of corresponding queue is updated. The relation between the bandwidth allocation and the queue length can be described by the following equation [9]: Ci(t) = B * (1 + Xi(t) ), where B is a constant, Xi is the queue length of a queue i, Ci is the allocated bandwidth to the queue i. The probability of packet loss P is equal P (X = Xm), where Xm is maximal queue length of a queue. That is the probability, by which the maximum queue length is exceeded. An increase of this probability means that the more packets in the queue. That is, either the sender is sending more packets or the link bandwidth becomes lower. It is the task of the proxy server to discard unimportant video packets or to adjust the weight of queue, i.e. to increase the bandwidth for the connection to keep up the desired quality.
4. Experiment Results
Fig. 6. Frame rate evolution regarding to weight
We have experimented using a laboratory testbed consisting of three computers: a video sender, a video receiver and the proxy server. Each computer is a Sun machine connected to each other over the Local Area Network. One key issue is the weight adjustment. The result of first experiment is shown in Fig. 6. The weight was increased by step of 2 at times t=20s, t=40s, t=60s and decreased at t=100s, t=120s according to the clicks on plus/minus QoS-buttons, respectively. The adjustment step is an implementation issue and depends on the available bandwidth. The frame rate, i.e. the QoS is better by increasing weight. At times of change, the frame rate is shortly low due to the updating in the system.
5. Conclusion In the paper, we have discussed the issues of providing QoS in wireless communication networks. We proposed an architecture for Quality of Service (QoS) control with a proxy server for multimedia applications in heterogeneous environments of wired and wireless networks. The concept is characterized by a QoS scheduling mechanism on the application level. The proxy server is located in the base station and is responsible for user profile management and QoS adjustment. We developed a graphical user interface that allows user to send the feedback signal to express the desired quality of connection. The concept is furthermore characterized by the gathering of queue lengths of packet flows and the calculating of the loss probability for QoS monitoring. The QoS is dynamically adjusted corresponding the link bandwidth measured by the proxy server. We intend to investigate in future works on the mapping of application-level QoS into network QoS using an utility function. Furthermore, we intend to extend the concept by integration of the utility function, the QoS-scheduling, the loss probability and the QoS adjustment.
References 1. C.Aurrecoechea, A.T.Campbell, L.Hauw, “A Survey of QoS Architectures“, Multimedia Systems, 6.98, 1998. 2. QoSForum.com, Stardust.com, White Paper, “QoS Protocols and Architectures“, 8.-99. 3. V.Witana, M.Fry, M.Antoniades, “A Software Framework for Application Level QoS Management“, IEEE , 3.1999. 4. A.Wolisz, C.Hoene, B.Rathke, M.Schlaeger, “Proxies, Active Networks, Re-Configurable Terminals: The Cornerstones of Future Wireless Internet “, IST Mobile Communications Summit, October, 2000, Ireland. 5. ETSI TR 122 960, V3.0.1(2000-01: “Universal Mobile Telecommunications System (UMTS); Mobile Multimedia Services including Mobile Intranet and Internet Services“, (3G TR 22.960 version 3.0.1 Release 1999). 6. ETSI TS 123 107, V3.2.0 (2000-03): “Universal Mobile Telecommunications System (UMTS); QoS Concept and Architecture“ (3G TS 23.107 version 3.2.0 Release 1999). 7. Yamazaki, J.Matsuda, “Adaptive QoS Management for Multimedia Applications in Heterogeneous Environments: A Case Study with Video QoS Mediations“, IEICE Trans. Commun., Vol. E82-B. No.11, Nov. 1999. 8. M.Bechler, H.Ritter, J.H.Schiller, “Quality of Service in Mobile and Wireless Networks: The Need for Proactive and Adaptive Applications“, 33rd Annual IEEE, HICSS, 2000. 9. D-H.Hoang, D.Reschke, “An Adaptive Priority Approach to Bandwidth Scheduling in High Speed Networks to the Support of Multimedia Applications”, IFMIP 2000, June 2000, Hawaii.