Specification, Mapping and Control for QoS ... - Semantic Scholar

5 downloads 719 Views 708KB Size Report
the application QoS parameters into a metric, called quality degree, (b) fuzzy ... degree function associates quality degree as the quality measure with different.
Real-Time Systems, 23, 143±174, 2002 # 2002 Kluwer Academic Publishers. Manufactured in The Netherlands.

Speci®cation, Mapping and Control for QoS Adaptation CRISTIAN KOLIVER University of Caxias do Sul, Caxias do Sul, Brazil

[email protected]

KLARA NAHRSTEDT University of Illinois at Urbana-Champaign, Urbana, USA

[email protected]

JEAN-MARIE FARINES Federal University of Santa Catarina, FlorianoÂpolis, Brazil

[email protected]

JONI DA SILVA FRAGA Federal University of Santa Catarina, FlorianoÂpolis, Brazil

[email protected]

SANDRA APARECIDA SANDRI National Spatial Research Institute, SaÄo Paulo, Brazil

[email protected]

Abstract. In this paper we describe a fuzzy-control approach for quality of service (QoS) adaptation, needed in distributed multimedia applications. QoS adaptation is necessary (a) due to sudden variations in network resource availability, especially in the case of Internet, and (b) due to multiple applications requiring shared resource such as bandwidth. To solve the problem of QoS adaptation, several sub-problems need to be considered: (1) mapping of user perception and different combinations of application QoS values onto a uniform quality metric, (2) estimation, control and adjustment of application QoS parameters in case of network and other resource congestion, and (3) enforcement algorithm which reacts according to adapted QoS parameters. Our approach is to solve the QoS adaptation using the integration of (a) quality degree function, which maps the application QoS parameters into a metric, called quality degree, (b) fuzzy controller, which controls, estimates and adjusts the application QoS parameters according to resource availability, and (c) ®lter algorithms, which are the services to enforce the adapted QoS parameters. The quality degree function associates quality degree as the quality measure with different combinations of application QoS values. This function is in¯uenced by the user's perception of quality. The fuzzy control takes the results of the quality degree function, estimates the new quality degree and its corresponding quality level, predicts the new application QoS parameters, and adjusts them. The results of the adapted QoS parameters are then used by the ®lter algorithms to enforce the changes, proposed by the fuzzy controller, by allocating bandwidth to the application according to its QoS parameter values. We have implemented and applied the quality degree function, the fuzzy controller, and the ®lter algorithms to the video distribution system (VDS). The results of VDS over the local area network show that (1) the target system improves user perceived QoS at the receivers, and (2) the bandwidth utilization increases signi®cantly when using our fuzzy-control approach for QoS adaptation. Keywords: multimedia, quality of service, quality degree, adaptation, fuzzy controller

1.

Introduction

Distributed multimedia systems are becoming strongly represented in our best-effort environments. However, in order to achieve user satisfaction with these systems, quality

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

144

KOLIVER ET AL.

of service (QoS) has to be considered. QoS is specially dif®cult of being achieved in the case of multimedia systems running in best-effort environments where no reservation exists in the underlying resource management. In these types of environments, QoS adaptation must be an integral part of the distributed multimedia system because we need to gracefully adjust the application if network or other resource congestion are experienced. To solve the problem of QoS adaptation, several sub-problems need to be considered: (1) mapping of user perception and different combinations of application QoS values onto a uniform quality metric, (2) estimation, control and adjustment of QoS parameters in case of network and other resource congestion, and (3) enforcement algorithm which reacts according to adapted QoS parameters. In the past, QoS adaptation was considered mostly at the network or transport level, where network speci®c QoS parameters were monitored and mapped, for example, using simple rules such as ``if loss rate 5 2% then bit rate / bit rate 6  '' with  being a scaling factor, to determine the current network load and decide the adaptation action. The adaptation action often is done by using dropping algorithms which discard some video frames in order to adjust the application bit rate. However, the problem is that the monitoring occurs only in coarser periodic intervals to avoid large bandwidth overhead, hence the estimated network QoS values and predicted network load are imprecise, and the corresponding QoS adaptation might result in incorrect adjustments. Therefore, speci®cation of network state in precise ranges or single values is not quite suitable for best-effort environments. Further problems with the previous work are: (1) missing mappings of various application QoS parameters onto a uniform quality metric for decision making, (2) missing systematic exploration of relations among application QoS parameters, fuzzy control and adaptation enforcement algorithms, and (3) missing complete control model for QoS adaptation. In this paper, we present our approach to solve the QoS adaptation using the integration of (a) quality degree function, which maps the application QoS parameters into a unifying metric, called quality degree, (b) fuzzy controller, which controls, estimates and adjusts the application QoS parameters according to resource availability, and (c) ®lter algorithms, which are the services to enforce the adapted QoS parameters. The quality degree function associates quality degree as the quality measure with different combinations of application QoS parameters values. The function is de®ned taking into account the user's perception of quality. The fuzzy control takes the results of the quality degree function, estimates the new quality degree and its corresponding quality level, predicts the new application QoS parameters values, and adjusts them. The results of the adapted QoS parameters are then used by the ®lter algorithms to enforce the changes, proposed by the fuzzy controller, by allocating bandwidth to the application according to its QoS values. The main features of the proposed QoS adaptation model are its generality, userawareness, and a simple control solving non-linear application behavior. The QoS adaptation model is general because (a) it does not assume any speci®c platform, protocol, nor operating system (note that we show this model for a general multimedia distributed systems as well as for a multimedia system based on the real-time

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

145

SPECIFICATION, MAPPING AND CONTROL FOR QoS ADAPTATION

control protocol (RTCP), (b) it does not assume any speci®c compression algorithms or speci®c QoS parameters, and (c) it can be used in best effort environments as well as in QoS-aware environments. The QoS adaptation model is user-aware because our model uses the quality degree function that maps the user's preferences, represented by various application QoS parameters, into a neutral, uni®ed metric, called quality degree. The quality degree then drives the fuzzy controller that estimates and derives new QoS parameters according to the current resources availability. The QoS adaptation model offers a simple control, based on fuzzy set theory, providing a solution for the non-linear application behavior. Resource availability in best-effort environments varies in non-linear fashion, hence the control algorithms, controlling and adapting schedulable units, must estimate as close as possible the non-linear behavior. Fuzzy control is a very good mathematical tool to satisfy the non-linearity control goal. The membership functions, simple rules, and the actuators contribute to representing the non-linear behavior and, as our results show, deliver the promising behavior. The paper is outlined as follows: we discuss existing work related to QoS adaptation issues in Section 2. In Section 3, we provide an overview of our QoS adaptation model. In Section 4, we de®ne concepts used in this paper and describe the quality degree function. Section 5 describes the main aspects related to fuzzy controller and Section 6 presents our QoS adaptation approach. In Section 7, we show how our model uses the presented control. Section 8 describes an implementation of our QoS adaptation approach. In Section 9, we present experimental results from the implemented QoS adaptation approach and we conclude in Section 10. 2.

Related Work

In this section, we present related work with respect to QoS adaptation approaches, stressing the differences and similarities between them and our approach. Many approaches propose QoS adaptation approaches to adapt the bit rate to the network load variation. Generally, they follow the classical system control approach, changing the value of frame rate or quantization factor, used by several compression algorithms, in order to reduce (or increase) the bit rate. In Lakshman et al. (1997) the video source responds to insuf®cient bandwidth via reduction of the sender' bit rate by modifying the quantization factor value. The QoS adaptation approach is based on using the available bit rate (ABR) service category of the asynchronous transfer mode (ATM) network. The degradation of video quality is bounded by requesting a minimum cell rate for the session. This approach does not make any further attempts to manage the quality degradation. In Duf®eld (1998), the authors present a QoS adaptation approach used in conjunction with explicit rate based control in the network. Again, the tar get-net work is the ABR/ ATM network. The feedback information is the end-to-end delay. This approach uses two algorithms. The ®rst one requests a dynamic estimate of the bandwidth, required in order to meet the delay constraint. The second one speci®es the quantization factor value to the encoder.

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

146

KOLIVER ET AL.

The above QoS adaptation approaches consider just one QoS dimension (quantization factor) for changing the bit rate. In our model, we consider several application QoS dimensions which will collectively in¯uence the change of the bit rate. Like our work, some other authors address the question of mapping between QoS parameters values and user's preferences. Fukuda et al. (1997) consider a mapping method between required bandwidth and the user's perceived video quality, which is quanti®ed by MOS (mean opinion score) evaluation. In Vogel et al. (1995), the authors propose a QoS adaptation approach designed for Internet multimedia applications. In this approach, a degradation path de®nes limits and priorities of degradation for image resolution, frame rate and compression algorithm. The path (a table whose records represent QoS levels) is built from user's preferences. The requested bit rate is associated with each QoS level. If the bit rate does not allow to keep the current QoS level ( packet loss rate exceeds 10%), then the QoS adaptation is triggered to choose the new current QoS level (the next one in the degradation path). The QoS adaptation uses the RTCP on top of the user datagram protocol (UDP). Like in Vogel et al. (1995), our QoS adaptation approach considers the possibility of changing dynamically the value of many QoS parameters in order to achieve a bit rate compatible with the network state. Furthermore, our quality degree function is similar to the degradation path, in terms of purpose and representation (table). However, while the degradation path has few QoS levels and it just de®nes a sequence of degradation, our quality degree function is an actual function, representing the relation between many QoS levels and a quality measure. Furthermore, we do not de®ne a priori a deterministic value to trigger the adaptation process (a fuzzy inference engine dynamically computes the value) and the new QoS level is not necessarily the next one in a table. Some frameworks propose functions relating QoS parameters to a gain. Krasic and Walpole (1999) describe one-dimensional function, called utility function, which maps a utility degree (in fact, a measure of quality) between 0 and 1 to a value of a QoS parameter based on user's preferences. In Hull et al. (1997), a QoS model accommodates different dimensions and measures of QoS. For QoS characterization, it is assumed that the application follows an architecture of task pipeline, where a task is characterized by input quality, output quality and utilized resources (bandwidth, CPU cycles, memory, etc.). The quality of input and output of every task is quanti®ed by QoS parameters values (e.g., size of the data unit to be processed/returned by the task). Every task is associated with a function, called reward function, that gives the achievable values of those output QoS parameters which are solely functions of the task's input quality and resource allocation. The reward function does not de®ne a comparison criterion for QoS levels. The work of Abdelzaher and Shin (1998) describes a model of communication for distributed multimedia applications, based on a contract between senders and receivers. QoS requirements are speci®ed by QoS levels represented by three QoS parameters of the system layer: period of tasks, size of buffer and size of the data unit that will be processed in each period. The contract speci®es a penalty if the lowest QoS level cannot be kept. Besides, it associates a reward for each QoS level. The QoS adaptation goal is to

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

147

SPECIFICATION, MAPPING AND CONTROL FOR QoS ADAPTATION

maximize rewards and processor usage rate. The control QoS parameter is the rate of missed deadlines. Our quality degree function is similar, but we use application layer QoS parameters instead of system layer QoS parameters. In addition, the goal of our approach is to maximize the offered quality. One of the few frameworks that contemplates the use of fuzzy set theory for QoS adaptation is found in Li and Nahrstedt (1999). As seen in Hull et al. (1997), a distributed multimedia application is seen as a task pipeline where each task is characterized by input quality, output quality and utilized resources. Every application task is accompanied by an observation task, an adaptation task and a state which indicates the status of the application. The observation task monitors the requested rate (state) of the application task, and in the case of low resource(s) availability, the adaptation task throttles the requested rate of the application task, hence decreasing the request of resources. The work proposes to use fuzzy set theory to translate throttled requested rate values into tuning actions. This adaptation model is very different from the model presented in this paper in terms of state variables and rules, but many of its theoretical aspects can be used further for helping us to construct a more formal model. 3.

Assumptions and End-to-End Control Model

Our QoS adaptation model is considered for 1 : N applications (one sender sends a stream to N receivers) but it can be extended to N : M ones. Each stream is characterized by a set of QoS application parameters …hr1 ; r2 ; . . . ; rn i† which will be mapped, using the quality degree function, into one uni®ed quality measure, called quality degree, in the range ‰0; 1Š. The quality degree function represents a quality mapping considering user's preferences, which are implicitly present in the set of application QoS parameters. Hence, each stream is assumed to be sent out with a quality degree of emission …Q^ oSe † and it arrives at the k-th receiver with a quality degree of reception …Q^ oSrk k ˆ 1; 2; . . . ; N† so that Q^ oSrk  Q^ oSe In the k-th receiver, after the decompression process, the stream is displayed with a quality degree of visualization …Q^ oSk †, so that Q^ oSvk  Q^ oSrk . Figure 1 provides an overview of the QoS adaptation model. Since the quality degree along the end-to-end path from sender to receivers might change due to the variability of resources availability (e.g., decrease of bandwidth due to network congestion), we need quality adaptation to adjust the QoS parameters and the quality degree for each stream. Our approach to QoS adaptation assumes a comprehensive QoS adaptation control at the sender side and monitors with feedback at the receivers side. The adaptation control at the senders side is based on a QoS adaptation model which integrates the quality degree function, the fuzzy controller and enforcement algorithms to execute the QoS adaptation. The kernel of QoS adaptation control is the fuzzy controller. The fuzzy controller gets the quality degree as the input. Another input to the fuzzy controller is the monitored Q^ oSvk which is delivered from the k-th receiver to the sender. The controller maps then the Q^ oSvk and the difference between Q^ oSe and Q^ oSvk , denoted by e, into fuzzy sets and performs the adaptation as follows.1 The fuzzi®cation interface computes the

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

148

KOLIVER ET AL.

Figure 1. QoS adaptation model.

compatibility between Q^ oSe and each fuzzy set Ap …p  1†, where Ap represents a possible behavior of Q^ oSe (e.g., bad, good), and the compatibility between e and each fuzzy set Bq …q  1†, where Bp represents a possible behavior of e (small, medium, . . .). The computation is done by using membership functions. The inference engine uses a rule base to determine the fuzzy set C of quality degrees. The defuzzi®cation interface computes the new quality degree of emission …Q^ oS0e † which is mapped to a new QoS level. Note that a QoS level is a combination of application QoS parameters values. The resulting modi®ed QoS parameters r01e ; r02e ; . . . ; r0ne are then fed into the actuators which invoke the control actions. Control actions can be done by ®ltering operations or changing parameters of the encoder used for the stream compression in the sender side. The overall QoS adaptation control ¯ow is shown in Figure 2. The following sections describe concepts used in this framework and detail each component of the QoS adaptation model. 4.

The Quality Degree Function

There are many frameworks in which QoS adaptation represents a control of the amount of data injected into the network. This amount of data is changed proportionally to some

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

149

Figure 2. QoS adaptation control ¯ow.

SPECIFICATION, MAPPING AND CONTROL FOR QoS ADAPTATION

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

150

KOLIVER ET AL.

monitored variable (rate of transport units losses, jitter, delay, rate of buffers occupation etc.). However, in many approaches like Sisalem and Schulzrinne (2000) and Busse et al. (1995), the adaptation is only addressed from the network point of view because the concern is on how to identify the network state and compute the new bit rate and not on how the new bit rate will be mapped to the application layer in terms of QoS parameters values. Nevertheless, different combinations of QoS parameters values can have similar requirements of bit rate representing completely distinct qualities. Therefore, it is necessary to establish a choice criterion which allows the QoS adaptation mechanism to select the (theoretically) best combination of QoS parameters values for a given network bit rate. In our approach, this selection is made using the quality degree function that will be described after initial de®nitions. The domain of values for a QoS parameter ri is a set Ori ˆ ‰rimin rimax Š

i ˆ 1; 2; . . . ; n

…1†

(All considered sets Ori are ®nite sets.) A QoS level L is a multidimensional variable denoted by a n-tuple hr1 ; r2 ; . . . ; rn i representing a combination of values of the n QoS parameters. In our case, QoS levels refer just to the application layer QoS parameters. OQoSLevel is the domain of all QoS levels, i.e., it is the Cartesian product of the n domains Ori ; OQoSLevel ˆ Or1 6Or2 6    6Orn

…2†

The set OQoSLevel is represented in our QoS adaptation approach as a table, where records represent QoS levels like in Vogel et al. (1995). Therefore, the memory required by our QoS adaptation approach is proportional to the OQoSLevel cardinality …jOQoSLevel j†. In order to differentiate QoS levels in agreement with user's perception, we de®ne a quality metric, called quality degree …Q^ oS†, arbitrarily included in ‰0; 1Š domain. The value of Q^ oS is obtained using the quality degree function qos : OQoSLevel ?‰0; 1Š

…3†

which maps the set OQoSLevel of QoS levels into the ‰0; 1Š domain. For the QoS level Lj ˆ h r1 j ; r2 j ; . . . rn j i, we use the notation Q^ oSj to represent the application of the quality degree function in Lj , i.e., Q^ oSj ˆ qos…hr1 j ; r2 j ; . . . ; rn j i). Likewise, we use Q^ oSe , Q^ oSg k and Q^ oSk to de®ne instances of the quality degree function in relation to the stream emission, reception and visualization processes. Two important assumptions, related to the quality degree and used by our QoS adaptation approach, are 9Li ; Lj j…Li =Lj ) Q^ oSi ˆ Q^ oSj †

…4†

9Li ; Lj j…Q^ oSi > Q^ oSj ) Bps…Li †j††

…5†

and

where Bps…Lk † is the bit rate required by the QoS level Lk …k ˆ 1; 2; . . . ; jOQoSLevel j†. The assumption described by Equation (4) means two or more different QoS levels can have the same quality degree. This assumption is reasonable, because in some cases users are

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

151

SPECIFICATION, MAPPING AND CONTROL FOR QoS ADAPTATION

not usually capable of perceiving differences among QoS values inside some ranges. For example, most users do not perceive differences in the frame rate between 25 and 30 fps. The assumption of Equation (5) means the bandwidth requested by a QoS level Li is not necessarily greater than the bandwidth requested by a QoS level Lj just because the quality degree of Li is greater than the quality degree of Lj . This assumption comes from the fact that a QoS parameter can impact strongly on the quality without having high impact on the bit rate and vice versa. The properties described by Equations (4) and (5) allow for a smooth adaptation and, many times, for changes in the current bit rate without changing the quality. The quality degree function can be built using utility function (Krasic and Walpole, 1999) for each dimension of qos. The following equation de®nes the utility function for the QoS parameter ri : ri : Ori ° ‰0; 1Š

…6†

The utility functions can be built using the results of MOS's like in Ghinea and Thomas (1998). For building of qos function, let r1 ; r2 ; . . . rr , be the utility functions and let n or1 ; or2 ; . . . ; orn be the weights of the QoS parameters r1 ; r2 ; . . . ; rn of the application layer. The weights re¯ect the relative importance of ri in relation to the type of application2 and are such that Sniˆ 1 ori ˆ 1. For a QoS level Lj ˆ hr1j ; r2 j ; . . . ; rn j i; qos…hr1j ; r2 j ; . . . ; rn j i† ˆ min…vr1 …r1j †6or1 ; r2 …r2 j †6or2 ; . . . ; rn …rn j †6orn †

…7†

The above strategy for building the quality degree function never permits Q^ oSj ˆ 1. The upper quality degree can be Q^ oSj ˆ

1 n

…8†

if r1 …r1 j † ˆ r2 …r2 j † ˆ . . . rn …rnj † ˆ 1 and or1 ˆ or2 ˆ    ˆ orn † ˆ 1n. In order to keep the de®nition of the quality degree function given by Equation (3), the results obtained using the strategy of Equation (7) must be normalized into the range ‰0; 1Š. In our QoS framework, the function qos is used to compute the quality degree of emission …Q^ oSe † and the quality degrees of visualization …Q^ oSvk ; k ˆ 1; 2; . . . ; N†.

5.

Fuzzy Controller and Distributed Multimedia Systems

In this section, we provide an overview of fuzzy control theory inside our fuzzy controller.

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

152

KOLIVER ET AL.

Fuzzy control is a control method based on fuzzy set theory by Zadeh (1965) and originated from the research of H. Mamdani in Mamdani and Baaklini (1975). Formally, a fuzzy set A of the domain or universe of discourse X is denned by a function mA : X ° ‰0; 1Š Such function mA Ðcalled membership functionÐassociates a compatibility degree with the concept expressed by A to each element x [ X: if mA …x† ˆ 1, x is completely compatible with A; if mA …x† ˆ 0, x is completely incompatible with A; if 05mA …x†51, x is partially compatible with A, with a degree mA …x†. Classical Set Theory can be seen as a subset of fuzzy set theory. While in fuzzy set theory the compatibility of an element in a domain X with a subset A can be expressed with membership degrees between 0 and 1 in classical set theory this comnatibility can be expressed just by a value in f0; 1g. In our work, the quality degree is expressed in the rules by fuzzy sets labeled as GOOD, FAIR, BAD etc. each of them de®ned by its respective membership function. For example, in a given application, for Q^ oS ˆ 0:7, we could have mGOOD …Q^ oSe † ˆ 0:8; mFAIR I…Q^ oSe † ˆ 0:2; mBAD …Q^ oSe † ˆ 0:0 According to Jantzen (1998), fuzzy logic can be described simply as computing with words rather than numbers and fuzzy control can be described simply as control with sentences rather than equations. The sentences are empirical rules in the format if hconditionsi; then hconclusioni. An example of a rule is if QoÃSe is EXCELLENT and e is MEDIUM then QoÃS 0 e is GOOD For this example, the fuzzy controller computes the new quality degree of emission …Q^ oS0e † depending on the measured error …e† and the quality degree of emission …Q^ oSe †.

5.1.

Justi®cation For the Fuzzy Control Approach

According to Skogestad and Postlethwait (1996), the objective of a control system is to make the output y to behave in a desired way by manipulating the plant input u. The regulator problem is to manipulate u to counteract the effect of a disturbance d. The servo problem is to manipulate u to keep the output close to a given reference input r. Thus, in both cases, it is desired the control error e ˆ y r to be small. In our case, the output y is Q^ oSvk , the disturbances are due to the network and receivers' processors loads and u is the set of application QoS parameters r1 ; r2 ; . . . ; rn . The reference r is Q^ oSe [ ‰Q^ oSmin ; Q^ oSmax Š, where Q^ oSmin is the minimum accepted quality degree and Q^ oSmax is the upper quality degree corresponding to the bandwidth availability. The algorithm for adjusting u based on the available information is the controller K. To arrive at a good design for K, it is necessary a priori information about the expected disturbances and references inputs, and of the plant model …Gu † and disturbance model

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

153

SPECIFICATION, MAPPING AND CONTROL FOR QoS ADAPTATION

…Gd †. There exist several frameworks which use linear models for the design of the controller k. A linear model of the system has the form y ˆ Gu ‡ Gd 6d

…9†

The major dif®culty in using a linear model for distributed multimedia system QoS control in best-effort environments is to model Gu and Gd . The plant, represented mainly by the network and end-systems, is extremely dynamic, non-linear and heterogeneous. Therefore, it becomes impossible to predict the disturbance behavior. Hence, the linear model is unsuitable for QoS adaptation in best-effort environments. The use of a fuzzy controller, on the other hand, seems to be highly suitable since they have been used successfully to control non-linear plants with high levels of perturbations (Correa, 1999). Stability concerns the controller's ability to make the system to converge or stay close to an equilibrium state. While it is straightforward to check for stability in linear controllers, in a fuzzy system this task can be very complex.

6.

QoS Adaptation Control Flow

This section describes our complete QoS adaptation control ¯ow based on classical fuzzy controllers such as the Mamdani's and Larsen's models. Table 1 shows the symbols used. As mentioned in Section 3, the QoS adaptation control ¯ow proposed in this work follows the direct control scheme, where the fuzzy controller is in the forward path at the feedback control system (see Figure 2). In time t of the multimedia application lifetime, the aggregated quality degree of visualization …Q^ oS † is compared with, the reference …Q^ oSe †, and if there is a deviation, the controller reacts according to the control strategy 0 to generate Q^ oS0e (represented by a new QoS level of emission Le ˆ hr01e ; r02e ; . . . ; r0ne i). The following describes the components of the control ¯ow.

6.1.

Monitor

The monitor, placed in the sender, is responsible for collecting periodically the feedback information Q^ oSvk …k ˆ 1; 2; . . . ; N† from the receivers. With Q^ oSvk , the monitor computes, in time t, the aggregated quality degree of visualization Q^ oSv according to a pre-de®ned policy (e.g., Q^ oSv can be the worst case, the result of the weighted mean and so on). In order to avoid consideration of short duration oscillations, the Q^ oSv value is computed using a low-pass ®lter like in Sisalem and Schulzrinne (2000): f

Q^ oSv ˆ …1

b†6Q^ oSv …tj † ‡ b6Q^ oSv …tj

1 †;

tj > tj

1

…10†

where b ˆ weight 0  b  1, Q^ oSv …tj 1 † ˆ aggregated quality degree of visualization in time tj 1 , Q^ oSv …tj † ˆ aggregated quality degree of visualization in time tj . The higher b, the lower the in¯uence of the current average quality degree of f visualization; b ˆ 0.5 makes Q^ oSv to be the arithmetic mean between Q^ oSv …tj 1 † and

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

154

KOLIVER ET AL.

Table 1. Symbol used. Symbol

Meaning

N ri Opi L QoS Q^ oS oQoSLevel Q^ oSe Q^ oSrk Q^ oSk Q^ oS

Number of receivers A QoS parameter i The domain of p, A QoS level …L ˆ hr1 ; r2 ; . . . ; rn i† Quality degree function Quality degree Set of all QoS levels Quality degree of emission Quality degree of reception of the receiver k Quality degree of visualization of the receiver k Aggregated quality degree of visualization Filtered aggregated quality degree of visualization Error …Q^ oSe Q^ oS fv † Value of the parameter ri sent Value of the parameter ri received at the receiver k Value of the parameter ri displayed at the receiver k Constant (0  b  1) Membership degree of x in the fuzzy set A Packet loss rate of the receiver k Filtered packet loss rate Aggregated packet loss rate Tolerance to losses …0  l  1†

Q^ oSfv e rie rir k riv k b mA …x† lossesk losses f losses l

Q^ oSv …tj †; a suitable value for b can be achieved from simulations and measurements, see Sisalem and Schulzrinne (2000). The monitor computes the error e by the following equation: e ˆ Q^ oSe

Q^ oSv

f

…11†

The quality degree of emission Q^ oSe is obtained by applying the function qos over the QoS parameters values generated by the multimedia application currently (i.e., over the current QoS level of emission of the stream). The quality degree of visualization Q^ oSvk is obtained by applying qos over the QoS parameters values displayed at the k-th receiver. Usually, there arefew QoS parameters whose values of emission …rie †, reception at the  k-th receiver rir and visualization riv might differ due to the system disturbances. k k The most common are frame rate and audio sample rate. Then, for frame rate …Fps†, Fpse  Fpsrk  Fpsvk .

6.2.

Fuzzi®cation Interface

The fuzzi®cation interface computes the compatibility degree for each value of a given input variable with the membership degrees of the fuzzy sets appearing in the rules for

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

155

SPECIFICATION, MAPPING AND CONTROL FOR QoS ADAPTATION

that variable. The goal here is to determine how well the condition of each rule matches with the speci®ed inputs instances: the error …e† and the current quality degree of emission …Q^ oSe †. In our approach, to maintain an association between fuzzy sets and the ®ve scales of subjective quality for multimedia applications, de®ned by the International Telecommunication Union (ITU), (1996), the universe of discourse of the quality degree (Q^ oS) is divided into ®ve fuzzy sets: EXCELLENT, GOOD, FAIR, POOR and BAD. The fuzzy set FAIR represents the limit of degradation. Thus, the fuzzy sets POOR and BAD are not considered for QoS adaptation once they contain quality degrees below the minimum accepted. The e domain is divided in three fuzzy sets: LARGE, MEDIUM and SMALL. During the fuzzi®cation process, the Q^ oSe and e values are mapped to membership degrees using the membership functions. Therefore, the fuzzi®cation generates six membership degrees: mFAIR …Q^ oSe †; mGOOD …Q^ oSe †; mEXCELLENT …Q^ oSe †; mSMALL …e†; mMEDIUM …e† and mLARGE …e†:

…12†

So far we have only used triangular membership functions shown in Figure 3 but other shapes could be considered, obtained by using, for example, the fuzzy c-means clustering method3 (Bezdek, 1981).

6.3.

Rule Base

In our work, we have used the rule base shown in Figure 4. Note that the last rule in Figure 4 is a logic combination of four rules.

6.4.

Inference Engine

The inference engine is responsible for the fuzzy output, the fuzzy set C de®ned on the universe of quality degrees. This output is reached through three steps: aggregation, activation and accumulation. The aggregation process is used for calculating the degree of ful®llment of the condition of each rule for the input values, i.e., the strength of each rule. In this step, the compatibility degrees obtained through the fuzzi®cation process are combined according to the fuzzy sets connectives present in the rule conditions. Suppose that the crisps values

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

156

KOLIVER ET AL.

Figure 3. Membership functions for quality degree and error.

for Q^ oSe and e are i1 and i2 , respectively. For the rule 0 of Figure 4, for instance, the aggregation will generate a value a0 ˆ mEXCELLENT …i1 †6mSMALL …i2 †

Figure 4. Rule base.

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

157

SPECIFICATION, MAPPING AND CONTROL FOR QoS ADAPTATION

for the rule 5, the aggregation will generate a value a5 ˆ …mGOOD …i1 †VmFAIR …i1 ††6…mMEDIUM …i2 †VmLARGE …i2 †† Here we have taken aVb ˆ max…a; b† and a 6 b ˆ min…a; b†. Other semantics to the operators V and 6 can be found in Dubois and Prade (1988). The activation of a rule is the deduction of its conclusion. This step in the inference engine uses a function I; given as: I…ai ; mBi …y†† ˆ min…ai ; mBi …y††Vy [ Bi

…13†

according to the Mandani's model, or as I…ai ; mBi …y†† ˆ ai 6mBi …y†Vy [ Bi

…14†

according to the Larsen's model, where Bi is the fuzzy set in the conclusion of the i-th rule. Both methods work well in general, although the multiplication results in the implication operator I generates a smoother control signal (Jantzen, 1998). The activation generates, for the i-th rule, a fuzzy set Ci of quality degrees. For the rule 0 of Figure 4, the activation will generate a fuzzy set C0 , where mC0 …y† ˆ I…a0 ; mEXCELLENT …y††;

Vy [ Q^ oS;

Here, Q^ oS denotes the set of the quality degrees of the elements of OQoSLevel . For the rule 5, the activation will generate a fuzzy set with the property: mC5 …y† ˆ I…a5 ; mFAIR …y††;

Vy [ Q^ oS

In the accumulation process, all activated conclusions are accumulated, using the max operator. In our inference engine, the accumulation will provide a fuzzy set C, where mC …y† ˆ max…mC0 …y†; mC1 …y†; . . . ; mC5 …y††

6.5.

Vy [ Q^ oS

…15†

Defuzzi®cation

In the defuzzi®cation step, the resulting fuzzy set C of quality degrees must be converted to a crisp value representing a quality degree (the new quality degree of emissionÐ Q^ oS0e ). For that, there are several defuzzi®cation methods. Two usual methods are the center of gravity method and the mean of maximal method. In the center of gravity method (COG) or centroid of area, the crisp output value Q^ oS0e is the center of gravity of the fuzzy set C: P m …y†6y 0 Vy [ Q^ oS …16† Q^ oSe ˆ PC mC …y† For the continuous case, the sums are replaced by integrals. This method is very common, but its computational complexity is relatively high.

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

158

KOLIVER ET AL.

In the mean of maximal method (MOM), the output Q^ oS0e is the value with the strongest possibility, i.e., maximal membership. If C has several elements with the same maximal membership degree, a usual practice is to take the mean of maximal. P fy j mC …y† ˆ max…mC …y††g 0 Vy [ Q^ oS …17† Q^ oSe ˆ m The numerator is the sum of the values of elements with the maximal membership degree, and the denominator m is the number (cardinality) of such elements. This method disregards the shape of the fuzzy set, but the computational complexity is relatively low. Due to the reduced number of rules of our fuzzy control, we have opted for using the COG method.

6.6.

QoS Level Mapping

In our approach, the new quality degree of emission …Q^ oS0e †, received from the defuzzi®cation process, must be converted into a new QoS level of emission …L0e †. This is done by a mapping interface that queries all QoS levels in the OQoSLevel set (represented as a table) whose quality degree is less or equal to Q^ oS0e , i.e., we get the subset O0QoSLevel ˆ fhr1 ; . . . ; rn i j O0QoSLevel  OQoSLevel 6QoS…hr1 ; . . . ; rn i†  Q^ oS0e g

…18†

The new QoS level of emission will be the QoS level L0e ˆ hr01e ; r02e ; . . . ; r0ne i;

L0e [ O0QoSLevel

…19†

which is the highest quality degree, needing least bandwidth among all entries in O0QoSLevel . We can use the assumptions of Equations (4) and (5) to discard many QoS levels in the table representing OQoSLeve1 . If there are two or more QoS levels with the same quality degree, we can hold in the table just that one which requests less bandwidth. If there are two QoS levels Li and LJ and Q^ oSi  Q^ oSj but Bps…Li †  Bps…Lj †, we hold in the table only Li. With this optimizations, after getting Q^ oS0e ; L0e will be the ®rst QoS level whose 0 quality degree is less or equal to Q^ oSe , assuming the table is sorted by quality degree in descendent order.

6.7.

Actuator

The output of QoS level mapping is the QoS level L0e , and it is propagated to the multimedia application by an entity, called actuator. The actuator assists the application in con®guring itself according to the QoS parameters values of L0e by invoking services such as ®ltering (Yeadon et al., 1996), as shown in Figure 5(a), and by dynamically changing the encoder parameters, as shown in Figure 5(b). The ®rst approach (®ltering) can be used to adapt stored data applications (as video on demand) and live data

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

159

SPECIFICATION, MAPPING AND CONTROL FOR QoS ADAPTATION

Figure 5. Ways for QoS parameters changing.

applications (as video-conference); the second approach (change of encoder parameters) is feasible just for live data applications.

7. Example of Applying the Fuzzy Control using an Existing Communication Protocol We will show in this section an example of applying our fuzzy control framework on an existing communication protocol, such as the real-time transport protocol (RTP). RTP is an end-to-end protocol, suitable for multimedia communication. Since it has no notion of a connection, it may operate over either connection-oriented or connectionless lower-layer protocols. RTP is typically implemented as part of the application (not in the operating system kernel) and consists of two parts, a data part and a control part. RTP data packets consist of a 12-byte header followed by the pay-load, e.g., a video frame or a sequence of audio samples. Some of the header information are: payload type, identifying the kind of payload contained in the packet (for example JPEG video or GSM audio); timestamp, describing the generation instant of the data contained in the packet; sequence number, which allows loss detection, and marker bit, which marks the end of an application transport unit (a frame, for example). The control part is represented by RTCP that supports the protocol functionality. A RTCP message consists of a number of ``stackable'' packets, each one with its own type code and length indication. RTCP packets are multicast periodically to the same multicast group of data packets. Thus, they can also indicate what session members are ``alive'', even in the absence of transmitting media data. The main functions of RTCP are provided by packages RR (receiver report), sent from receivers to senders, and SR (sender report), sent from senders to receivers. SR packets contain information useful for intermedia synchronization as well as cumulative counters for packets and bytes already sent which allow receivers to estimate the actual bit rate. RR packets contain information on the highest sequence number received, the number of packets lost, a measure of the interarrival jitter and timestamps needed to compute the round-trip delay between the sender and the receiver issuing the report.

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

160

KOLIVER ET AL.

Figure 6. Membership functions for the fuzzy sets UNLOADED, LOADED and CONGESTED.

In order to apply our fuzzy control framework to RTP/RTCP, we need to de®ne (1) meaningful fuzzy sets for the RTCP QoS parameters, such as the packet loss rate, (2) meaningful membership functions, and (3) an appropriate rule base. Our fuzzy sets will be UNLOADED, representing low packet loss rates; LOADED, representing medium packet loss rates; and CONGESTED, representing high packet loss rates (Busse et al., 1995). For membership functions, tue fuzzy controller can consider a simple trapezoidal membership functions as shown in Figure 6. The parameters of the membership functions lossesi and lossesu can be based on data about the human perception to packet loss in video conferencing applications (Cottrell et al., 2000) or on trial and error experiments. Since there already are some linear functions widely used for computing bit rate according to the network load (Sisalem, 1998; Sisalem and Schulzrinne, 2000; Busse et al., 1995), we can apply the Takagi-Sugeno's model of fuzzy controllers4 (Takagi and Sugeno, 1985) for building the rule base rather than the classical model seen in Section 6.3. Figure 7 shows the rule base. In this ®gure, losses is the aggregated packet loss rate, got using some policy like the weighted mean, the arithmetic mean or the worst case of lossesk …k ˆ 1; 2; . . . ; N†; Bps is the current bit rate of the application; Bps is the new bit rate, computed by the fuzzy controller; BpsR is the actual bit rate considering information added by the protocol stack, determined using SR packets; Bpsmin and Bpsmax are the minimum and maximum bit rate allowed;  is a multiplicative factor, between 0 and 1,

Figure 7. Rule base for the fuzzy controller.

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

161

SPECIFICATION, MAPPING AND CONTROL FOR QoS ADAPTATION

and Z is an additive factor, represented by a pre-®xed bit rate (both factors values are arbitrary set). The rules mean that if the quality degree of the packet loss rate is CONGESTED, then the bit rate will be decreased; if the quality degree of the packet loss rate is LOADED, then the bit rate will be kept; if the quality degree of the packet loss rate is UNLOADED, then the bit rate will be increased. After computing the new bit rate Bps0e , the mapping interface will seek in the table OQoSLevel the QoS level L0e with the highest quality degree and whose bit rate Bps…L0e † is less or equal to Bps0e . The actuator changes the application QoS parameters to the values of L0e . We have implemented the above fuzzy controller and the results (Koliver and Farines, 2001) show the fuzzy controller permits a much smoother adaptation than other approaches based on linear control. 8.

System Implementation

The proposed approach for QoS adaptation was implemented in order to provide acceptable quality for a video distribution system (VDS), which has been developed by Yeadon et al. (1996) originally to test the quantitative effects of different ®lters. 8.1.

Implementation Structure

The original VDS consists of a number of software components responsible for the transmitting (over UDP), ®ltering and displaying of MPEG-15 stored video steams. In order to simulate multicast, the VDS creates and sends to each client a replica of the video stream. We have extended the original implementation by integrating these components with the QoS control as follows. Each client (receiver) has a monitor that observes and sends to the fuzzy controller, at the server-side, the current quality degree of visualization. The controller computes the new quality degree of emission for each client and invokes the actuator to adjust the VDS QoS parameters accordingly. The adjustment is done by ®ltering. In this implementation, we used only two ®lters: the low-pass ®lter and the requantization ®lter. The low-pass ®lter removes high frequency DCT coef®cients of frames. The re-quantization ®lter lowers the bit-rate by post processing the video sequence and increasing the quantization factor. A more detailed description of these ®lters can be found in Yeadon et al. (1996). The overall system was implemented in C language; the utility and quality degree functions were built using Matlab#. Currently, the software runs only in UNIX-like operating systems. 8.2.

VDS QoS Parameters

In our implementation, we consider three application QoS parameters: frame rate …Fps†: DCT coef®cient …lp† and quantization factor …q†. The last two parameters are related to

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

162

KOLIVER ET AL.

the spatial resolution of the image; the last one is related to the temporal resolution of the image. The parameter domains are: OFps ˆ f0; 1; 2; . . . ; 29; 30g Olp ˆ f1; 2; 3; . . . ; 62; 63g Og ˆ f0; 1; 2; . . . ; 15; 16g For the quantization factor, q ˆ 0 represents the highest utility and q ˆ 16 the lowest one. The domains for spatial resolution (Olp and Oq ) were narrowed down due to (a) imperceptibility of many values differences, and (b) desire to reduce the cardinality of OQOSLevel . Hence, we considered in our experiments the following values: Olp ˆ f3; 6; 9; 12; 15; . . . ; 54; 57; 60; 63g Oq ˆ f0; 2; 4; 6; 8; 10; 12; 14; 16g The cardinality of OQOSLevel is then jOQoSLevel j ˆ jOFps j6jOlp j6jOq j ˆ 3162169 ˆ 5859

…20†

The utility functions, used to construct QoS and shown in Figure 8, are built using polynomial interpolation. The breakpoints are assigned intuitively and we did not consider weights for the parameters. Each QoS level L ˆ hFps; lp; qi is associated with the quality degree …Q^ oS† and the bit rate …Bps† needed to reach, the level. Then, a record in the table, representing OQosLevel , is the 5-tuple hFps; Ip; q; Q^ oS; Bpsi where Q^ oS is calculated by using the quality degree function qos, and Bps is measured empirically for the worst case (video streams containing just I frames).

8.3.

VDS Control Algorithm

For our implementation, considering the three QoS parameters mentioned in the former section (Fps, lp and q), the resulting control algorithm for the QoS adaptation can be simpli®ed as follows. The system creates a controller per client (stream) at the server-side and each t seconds, the k-th controller6 receives a feedback message from the k-th receiver …k ˆ 1; 2; . . . ; N†. The feedback message includes the frame rate of visualization at the kth receiver in the time t…Fpsvk …t††. The controller uses Fpsvk …t† to search in the table, representing the OQoSLevel set, the entry hFps; lp; q; Q^ oS; Bpsi where Fps ˆ Fpsvk …t†, lp ˆ lpek and q ˆ qek . The resulting query provides the controller with the quality degree Q^ oS, which corresponds to the quality degree of visualization in time t…Q^ oSvk …t††. The error e is computed according to Equation 11 …b ˆ 0:5†. The current quality degree of emission of the k-th replica of the stream …Q^ oSek …t†† and the error e are used by the inference engine to compute the new quality degree of emission of the k-th replica of the stream …Q^ oS0ek †, utilizing the rules shown in Figure 4, and the membership functions shown in Figure 3.

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

163

SPECIFICATION, MAPPING AND CONTROL FOR QoS ADAPTATION

Figure 8. Utility functions for frame rate, DCT coef®cient and quantization factor, used to build the quality degree function QoS.

Q^ oS0ek is mapped to the new QoS level of emission L0ek ˆ hFps0ek ; lp0ek ; q0ek ; Q^ oS0ek ; Bps0ek i. Using the adapted QoS parameters values, the actuator at the server invokes the low-pass and the re-quantization ®lters, in order to change the parameters lp and q respectively; Fpsek is always kept at 30 fps. Figure 9 shows a pseudo-code of the control algorithm considered in our implementation. For simplicity, we have omitted the subscript k in the variables.

9. 9.1.

Experimental Results and Evaluation Experimental Setup

The evaluation of the implemented QoS adaptation approach was done using two Pentium 600 Mhz machines (a server and a client) running over a 10 megabits Ethernet network. The video stream was a 30 fps MPEG-1, black and white, resolution of 352 6 288 pixels, with a bit rate above 1000 Kbps.

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

164

KOLIVER ET AL.

Figure 9. The control algorithm.

The experiments compare two scenarios: (1) VDS with fuzzy control, and (2) VDS with linear control. In both scenarios, we measured and compared the following metrics: received bit rate …Bpsr †, frame losses …losses†, displayed frame rate …Fpsv † and quality degree of visualization …Q^ oSv †.

9.2.

Linear Controller in VDS

We compare the fuzzy controller with a known approach for QoS adaptation, the linear controller, in the VDS testbed. The linear controller uses a common approach for QoS adaptation (Sisalem, 1998; Sisalem and Schulzrinne, 2000; and Busse et al., 1995): according to the losses (frame losses, in this case), the controller increases or decreases the bit rate based on linear functions. There is a dead zone where the bit rate is not changed. The ranges of increasing and decreasing bit rates are ‰0; lŠ and ‰l; 1Š, respectively. When the ®ltered losses losses f ˆ l, the bit rate is held. The factor l represents, in fact, a tolerance of losses. Its value varies depending on the current frame rate: the higher frame rate, the higher l value. The linear functions change the bit rate by changing the quantization factor of the video stream. We also use losses f to compute the new value of the quantization factor …lp0 †, when the bit rate must be decreased. For increasing the bit rate, we use a ®xed factor Z. There are two thresholds for lp. The upper one is lpmax ˆ 63; the lower one is lpmin ˆ 1. Figure 10 shows a pseudo-code of the linear control algorithm.

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

165

SPECIFICATION, MAPPING AND CONTROL FOR QoS ADAPTATION

Figure 10. The linear control algorithm.

The factor lmax was set 0.17 and the maximum frame rate was set Fpsmax ˆ 30 fps. Thus, when the current frame rate of emission is Fpse ˆ 30, the tolerance to losses l is 0.17; when Fpse ˆ 29, the tolerance, l is 0.16; when Fpse ˆ 28, l is 0.15; etc. When Fpse is below 17 fps, l is 0. The value of l was set 0.17 because this value does not change the bit rate when Fpse ˆ 30 and losses f ˆ 0:17 since most users do not perceive differences between 30 and 25 (Fpsv when losses f ˆ 0:17) fps. 9.3.

Performance

The performance curves in Figure 11 show the VDS bandwidth performance, controlled by the fuzzy and linear controllers, received by the client. According to these results, the fuzzy controller causes an under utilization of bandwidth during the non-congested network period …t5120†, and the linear controller keeps a much higher bit rate during the same period. This indicates the need of tuning some membership functions parameters (i.e., changing the fuzzy sets shapes). On the other hand, when the network is congested (overloaded by Netperf7), the fuzzy controller gets a higher bit rate than the linear controller, showing that the ®rst one identi®es the network state better than the second one when the network is in this state. The curves in Figure 12 present the VDS loss frame rate performance, controlled by the fuzzy and linear controllers. According to these results, during the overall VDS lifetime, the fuzzy controller keeps a much lower loss rate than the linear controller, avoiding bandwidth waste. The results in Figure 13 show the VDS frame rate of visualization performance, controlled by the fuzzy and linear controllers. According to these results, when the application is controlled by the fuzzy controller, the amplitude of the frame rate oscillations is much lower than the oscillations when the application is controlled by the linear controller, during all the VDS lifetime.8 Finally, Figure 14 compares the VDS performance, controlled by the fuzzy and linear controllers, with respect to the quality degree of visualization. According to these results,

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

166

KOLIVER ET AL.

Figure 11. Bit rate received by the client with the VDS controlled by the fuzzy controller and the linear controller.

the fuzzy controller keeps during the entire VDS lifetime Q^ oSv  0:5, but its performance is even better during the congested period. On the other hand, the linear controller causes high oscillations of Q^ oSv and, many times, permits that it reaches too low values. The above results show: (1) the fuzzy controller allows a better identi®cation of congestion than the linear controller; (2) the fuzzy controller allows to keep a higher and more stable quality than the linear controller; and (3) the use of more than a single QoS parameter for QoS adaptation, through the quality degree function, allows a better utilization of the network bandwidth. 9.4.

Evaluation

9.4.1.

Deployment of the Controller and Filters

The overall results show that the computational complexity of using fuzzy control for QoS adaptation is low as it includes very simple functions computations and a lookup in a rule base of reduced size. On the other hand, the overhead introduced by the ®ltering

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

167

SPECIFICATION, MAPPING AND CONTROL FOR QoS ADAPTATION

Figure 12. Loss frame rate during the VDS lifetime with fuzzy and linear control.

operations in the VDS server could induce considerable delay per stream. For example, Figure 15 shows clearly that, in the case of a 1 : 5 communication (one server, ®ve clients), the server's CPU load increases only brie¯y when the control is triggered, but increases signi®cantly during the application lifetime when the ®ltering operations (the actual adaptation) are triggered. Hence, it is crucial for a VDS designer to carefully consider the placement of the fuzzy controllers and their ®lters used for QoS adaptation. The deployment of the controller in the server-side is only suitable for a small numbers of clients over LAN's networks as our experiments show. For a large number of receivers and WAN's networks, one needs to consider (1) separation of controlling and ®ltering, by placing the ®lters on separated machines used as gateways or proxies, hence decreasing the load on the server-side; and (2) deployment of the ®lters and the controllers through the multicast tree. 9.4.2.

Number of QoS Levels

The QoS adaptation designer must also be careful when selecting the number of QoS levels. The cardinality of OQoSLevel , hence the corresponding size of the table, can reach 31 6 63 6 17 ˆ 33,201 records considering the application QoS parameters seen in

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

168

KOLIVER ET AL.

Figure 13. Frame rate of visualization at the client with the VDS controlled by the fuzzy controller and the linear controller.

Section 8.2. This number can increase dramatically if more QoS parameters are considered (e.g., color and parameters related to the sound, such as audio sample rate anu audio sample size). However, in multimedia applications usually many QoS levels can be discarded when they are bellow a minimum quality. In our implementation, all QoS levels with a quality degree less than a thresholdÐ0.5Ðcan be discarded. Figure 16 shows the histogram with the distribution of QoS levels in agreement with the quality degree. Approximately 80% of them would be not used by the fuzzy controller because they have Q^ oS. Figure 17 shows pictures with the maximum QoS level Lmax ˆ h30; 63; 0i with Q^ oSmax ˆ 1:0 and minimum QoS level Lmin ˆ h30; 9; 6i with Q^ oSmin ˆ 0:5 …L ˆ hFps; lp; qi† accepted by the controller. The worst quality is still acceptable in ordinary videoconference sessions, where small details of the image are not so important. For a subset of OQoSLevel whose elements are QoS levels with the same quality degree, we could also consider only that one which requests less bandwidth; the others would be discarded. In order to reduce the seeking time in the table representing OQoSLevel the sort key of the records must be the quality degree. If they are ordered in descendent order, then the

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

169

SPECIFICATION, MAPPING AND CONTROL FOR QoS ADAPTATION

Figure 14. Quality degree of visualization at the client with the YDS controlled by the fuzzy controller and the linear controller.

search must start in the record corresponding to Q^ oSe (the current quality degree of emission) to reach the QoS level corresponding to Q^ oS0e (the new quality degree of 0 emission). If Q^ oSe > Q^ oSe , then the search will be done from the record corresponding to Q^ oSe to the top of the table. If Q^ oS0e 5q^ oSe , then the search will be done from the record

Figure 15. CPU load variation (®ve receivers).

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

170

KOLIVER ET AL.

Figure 16. Distribution of QoS levels by quality degree.

corresponding to Q^ oSe to the base of the table. In the ranges, the search can be done using the quick sort algorithm.

9.4.3.

Impact of Filtering on Bandwidth

The use of ®ltering operations, for enforcing QoS adaptation, in¯uences the bit rate required by a continuous media stream. In order to evaluate the bandwidth going through different ®lters, we have collected 95,620 samples from two MPEG-1 streams (30 fps, 8 bits to represent color, resolution of 352 6 288 pixels and high motion).

Figure 17. Maximum (left) and minimum (right) QoS level.

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

171

SPECIFICATION, MAPPING AND CONTROL FOR QoS ADAPTATION

Figure 18. Effect of low-pass ®lter (left) and re-quantization ®lter (right) over the bit rate.

Figure 18 (left) shows the bandwidth (in Kbps) in relation to the DCT coef®cient …lp†. We have selected three different frame rates (10, 15 and 20 fps) and, via the low-pass ®lter, seven values for lp (9, 18, 27, 36, 45, 54 and 63). The results show that up to certain DGT transform coef®cients, when ®ltering these coef®cients, the required bandwidth increases. However, when lp ˆ 63, the bandwidth decreases. One possible reason is that, for this value, the similarities between near coef®cients (in the zigzag sequence of blocks) is reduced. Hence, the compression rate obtained after the run-length encoding is reduced. Figure 18 (right) shows the bandwidth (in Kbps) in relation to the quantization factor …q†. We have selected the same frame rates of the former experiment and, via the requantization ®lter, nine values for q (0, 2, 4, 6, 8, 10, 12, 14 and 16). This ®lter achieves a quite substantial reduction of the bit rate after q ˆ 2. Again, on possible reason on the increase of the bit rate when q changes from 0 to 2 is the reduction of the homogeneity of the near coef®cients, hence decrease in compression ratio. With regards to quality, requantization can produce some strange edge effects as the quantization is the most lossy process in the DCT-based compression algorithms.

10.

Conclusions

In this work, we have presented a QoS adaptation approach based on a fuzzy controller and assisted by a quality degree function. The quality degree function allows to map various application QoS parameters into a uniform metric, called quality degree, representing user's preferences. In our QoS adaptation approach, the quality degree is used as an input control information by the fuzzy controller to adapt the QoS parameters in case of network or other resource congestion. Our control strategy can be also easily augmented to use other control information provided by the network management, such as resource management (RM) cells in ATM networks (service class ABR) or the RTCP.

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

172

KOLIVER ET AL.

Another use of the quality degree could be for performance evaluation of different QoS adaptation approaches. Quality degree is a neutral metric and it might be more understandable to an end-user than QoS parameters such as packet loss rate, bit rate or miss rate of deadlines. Fuzzy controllers present a promising approach for QoS adaptation in best-effort distributed multimedia systems, especially due to the dif®culty of building mathematical models for such environments, non-linearity in the relationship among many QoS parameters and subjectivity in the analysis of the performance criterion of the system. The results, reached by our fuzzy controller, show correctness and validity of fuzzy control in distributed multimedia systems within best effort environments. Furthermore, the results also indicate that this control approach is a promising direction for N : M distributed multimedia applications and WANs, if careful design decisions about control and ®lter deployment, multicast and number of QoS levels are met. Some preliminary results about these issues can be found in Koliver (2001).

Acknowledgments This work was funded by the Brazilian funding agencies, CNPq and CAPES, the DARPA funding agency, under contract number F30602-97-2-0121, and by the National Sience Foundation funding agency, under contract number CCR-9988199 grant, both USA grants.

Notes 1. In fact, since there might be N quality degrees of visualization Q^ oSk , in order to compute e, it is necessary to map Q^ oSk into a single value, referred in our work as the aggregated quality degree of visualization …Q^ oS †. The function, used for this mapping, is based on some policy (for instance, the worst case such as the lower Q^ oSk ). 2. In an ordinary conference, for example, the QoS parameters weights related to sound should be greater than those ones related to image. 3. The fuzzy c-means clustering method allows to get clusters from a set of elements, where each cluster is a fuzzy set of elements. The membership degree of an element in a fuzzy cluster can be viewed as the similarity degree of the cluster's center to the element. 4. In the Takagi-Sugeno's model, the outputs of the rules are linear combinations or functions of the inputs. Actually, each rule can be seen as a linear controller and the fuzzy controller makes the interpolation between their results. 5. MPEG (Gall, 1991) is a family of video encoding algorithms. It compresses the image frames by splitting them into 8 6 8 blocks of pixels. A block can be one of three types: luminance, red chrominance, or blue chrominance. The algorithm includes the following steps: (1) discrete cosine transform (DCT), (2) quantization, and (3) run-length encoding. Since image blocks and prediction-error blocks have high spatial redundancy, MPEG algorithm transforms 8 6 8 blocks of pixels or 8 6 8 blocks of error terms from the spatial domain to the frequency domain with DCT in order to reduce this redundancy. The quantization step consists of normalizing each of the DCT coef®cients by dividing it with a prede®ned value (the quantization factor). Hence, in this step the data accuracy is reduced. The combination of DCT and quantization results in many of the frequency coemcients being zero, specially tue coef®cieints for high spatial frequencies. To take maximum advantage of this, the coef®cients

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

173

SPECIFICATION, MAPPING AND CONTROL FOR QoS ADAPTATION

are organized in a zigzag order to produce long runs of zero. The coef®cients are then converted to a series of run-amplitude pairs, each pair indicating a number of zero coef®cients and the amplitude of a non-zero coef®cient. These run-amplitude pairs are then coded with a variable-length code (Huffman Encoding), which uses shorter codes for commonly occurring pairs and longer codes for less common pairs. Some blocks of pixels need to be coded more accurately than others, for example, blocks with smooth intensity gradients need accurate coding to avoid visible block boundaries. To deal with this inequality between blocks, the MPEG algorithm allows the amount of quantization to be modi®ed for each macroblock of pixels (16 6 16 segment of pixels in a frame). 6. Due to the features of the VDS, each video stream requests a particular controller. 7. http://www.netperf.org 8. Both controllers keep Fpse ˆ 30 fps. However, Fpsv is lower than Fpse because of the losses introduced by the network disturbances. Due to the high processing power of the receiver end-system, practically there are no losses in the client, what means that Fpsv &Fpsr .

References Abdelzaher, T., and Shin, K. G. 1998. End-host architecture for QoS-adaptativc communication. In IEEE 4th Real-Time Technology and Applications Symposium. Denver, Colorado, USA. Bezdek, J. C. 1981. Pattern Recognition with Fuzzy Objective Function Algorithms. Plenum Press. Busse, I., Deffner, B., and Schulzrinne, H. 1995. Dynamic QoS of multimedia applications based on RTP. In 1st International Workshop on High Speed Networks and Open Distributed Platforms. St. Petersburg, Russia. Correa, C. 1999. The use of genetic controllers for fuzzy controller construction used by arti®cial satellite height control during the appointment phase. Master's thesis, National Spatial Research Institute, SaÄo JoseÁ dos Campos, Brazil. In Portuguese. Cottrell, L., Matthews, W., and Logg, C. 2000. Tutorial on internet monitoring and PingER at SLAC. Technical report, University of Stanford, USA. Dubois, D., and Prade, H. 1988. Representation and combination of uncertainty with belief functions and possibility measures. Computational Intelligence 4(3): 244±264. Fukuda, K., Wakamiya, N., Murata, M., and Miyahara, H. 1997. QoS mapping between user's preference and bandwidth control for video transport. In IFIP 5th International Workshop on Quality of Service (IWQoS'97). New York, USA, pp. 291±301. Gall, D. L. 1991. MPEG: A video compression standard for multimedia applications. Communication of the ACM, 34(4). Ghinea, G., and Thomas, J. 1998. QoS impact on user perception and understanding of multimedia video clips. In 6th ACM International Conference on Multimedia (Multimedia '98). Bristol, England, pp. 49±54. Hull, D., Shankar, A., Nahrstedt, K., and Liu, J. W. S. 1997. An end-to-end QoS model and management architecture. In IEEE Workshop on Middleware for Distributed Real-Time Systems and Services. San Francisco, USA, pp. 82±89. International Telecommunication Union. Recommendation ITU-T P.800. 1996. Methods for Subjective Determination of Transmission Quality. Jantzen, J. 1998. Design of fuzzy controllers. Technical Report TR 98-E-864, Technical University of Denmark, Lyngby, Denmark. Koliver, C. 2001. An Approach for QoS Adaptation Based on Fuzzy Control. PhD thesis, Federal University of Santa Catarina, FlorianoÂpolis, Brazil. In Portuguese. Koliver, C., and Farines, J.-M. 2001. A fuzzy controller for QoS adaptation. In XIX Brazilian Symposium on Computer Networks (SBRC'2001), FlorianoÂpolis, Brazil, pp. 33±49. In Portuguese. Krasic, C., and Walpole, J. 1999. QoS scalability for streamed media delivery. Technical Report CSE-99-011, Oregon Graduate Institute os Science and Technology, Oregon, USA. Lakshman, V., Misshra, P. P., and Ramakrishnan, K. K. 1997. Transporting compressed video over ATM networks with explicit rate feedback control. In IEEE INFOCOM'97, Kobe, Japan, pp. 38±47. Li, B., and Nahrstedt, K. 1999. A control-based middleware framework for quality of service adaptation. IEEE Journal on Selected Areas in Communications (JSAC) 17(9): 1632±1650.

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

174

KOLIVER ET AL.

Mamdani, E. H., and Baaklini, N. 1975. Prescriptive method for deriving control policy in a fuzzy logic controller. Eletronic Letters 11: 625±626. N.G. Duf®eld, K. R. A. R. 1998. SAVE: an algorithm for smoothed adaptive video over explicit rate networks. IEEE Transactions on Networking 6(6): 717±728. Sisalem, D. 1998. Fairness of adaptive multimedia applications. In IEEE International Conference on Communications (ICC'98), Atlanta, USA. Sisalem, D., and Schulzrinne, H. 2000. The Direct Adjustment Algorithm: a TCP-Friendly Adaptation Scheme. In 1st International Workshop Quality of Future Internet Services (QofIS'2000), Berlin, Germany. Skogestad, S., and Postlethwait, I. (1996). Multivariable Feedback Control: Analysis and Design. John Wiley and Sons. Takagi, T., and Sugeno, M. 1985. Fuzzy identi®cation of systems and its applications to modeling and control. IEEE Transactions on Systems, Man and Cybernetics 15(1): 116±132. Vogel, A., Kerherv, B., von Bochmann, G., and Gecsei, J. 1995. Distributed multimedia applications and quality of service: a survey. IEEE MultiMedia 2(2): 10±19. Yeadon, N., Garcia, F., Hutchinson, D., and Mauthe, A. 1996. Filters QoS support mechanisms for multipeer communications. IEEE Journal on Selected Areas in Communications (JSAC) 14(7): 1245±1262. Zadeh, L. A. 1965. Fuzzy sets. Information & Control (8): 338±353.

M10345 Kluwer Academic Publishers

Journal of Real Time Systems (TIME)

Tradespools Ltd., Frome, Somerset

Suggest Documents