Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Modelling a Multi-Queue Node Behaviour with a Fuzzy Predictor Edgard Jamhour, Manoel Penna (PUC-PR , Brasil {jamhour, penna}@ppgia.pucpr.br) Ricardo Nabhen, Guy Pujole (Paris VI , France rcnabhen@ppgia.pucpr.br) Abstract: Capacity planning on IP-based networks is a difficult task. Ideally, in order to estimate the maximum amount of traffic that can be aggregated into the network, without violating QoS requirements such as end-to-end delay and packet loss, it is necessary to determine the queue length distribution of the network nodes under different traffic conditions. When per-flow guarantees are required (e.g., VoIP traffic), it is also necessary to determine the impact of the queue behaviour on the performance of individual flows. Analytical models for queue length distribution are available only for very simple traffic patterns. This paper proposes a generic method for building a fuzzy predictor for modelling the behaviour of a DiffServ node with multiple queues. The method combines non-linear programming (NLP) and simulation to build a fuzzy predictor capable of determining the performance of a DiffServ node subjected to both: per-flow and aggregated performance guarantees. This approach does not require deriving an analytical model, and can be applied to any type of traffic. In this paper, we employ the fuzzy approach to model the behaviour of a multi-queue node where (aggregated on-off) VoIP traffic and (self-similar) data traffic compete for the network resources. Keywords: VoIP, self similar traffic, network capacity planning, admission control, non-linear programming, simulation Categories: H.3.1, H.3.2, H.3.3, H.3.7, H.5.1 1 Introduction The DiffServ QoS metodology [1] defines that traffic can be classified into distinct aggregated classes, according to its performance requirements. For example, VoIP traffic can be assigned to a class designed to provide low delay and data traffic can be assigned to a class designed to provide low packet loss. A DiffServ node can deal with those distinct performance requirements by employing multiple queues. In order to determine the maximum amount of traffic that can be admitted into a DiffServ domain, it is necessary to determine the relationship between the traffic load and the queue length distribution of the DiffServ nodes. This relationship is strongly dependent on the incoming traffic profile and the queuing discipline adopted by the DiffServ node. Because of the incertitude on the traffic nature, characterize a model for the queue length distribution is a difficult task.
  2. 2. QoS methodologies that support resource reservation, such as IntServ and MPLS [ ] permits to establish paths by selecting links with available resources, thus ensuring that the bandwidth is always available for a particular flow. However, a question still stands for those methodologies: Given a certain traffic profile, how much reservation is necessary in order to meet the QoS requirements? Additionally, the IETF has defined strategies for combining MPLS and DiffServ methodologies [ ]. In these scenarios, a LSP (Label Switched Path) can be shared by distinct traffic classes or two or more LSPs with distinct QoS requirements can follow identical paths. At the node level, these distinct requirements are satisfied by employing distinct queues. Thus, for both scenarios: a pure DiffServ metodology or a combined DiffServ/MPLS methodology, it is necessary to determine the maximum amount of traffic that can be assigned to each queue without violating the QoS requirements. A model of the performance behaviour of a multi-queue node, i.e. a model capable of establishing the relationship between the traffic load at each queue and the resulting QoS performances, can help to answer this question. Analytical models for queue length distribution are available only for very simple traffic profiles. In most cases, these models apply only to the performance of the aggregated traffic. As pointed by some authors, under certain conditions, the delay, jitter and packet loss level experienced by individual flows can significantly diverge with respect to the performance of the aggregated traffic [4-5]. Consequently, even when the aggregated traffic is properly dimensioned, the individual flows may not satisfy QoS requirements such as delay and packet loss. Providing per-flow guarantees poses additional difficulties because it is also necessary to take into account the fluctuations of the flows lifecycles in order to determine the impact of the queue behaviour on the performance of the individual flows. Because it is very hard to develop an analytical model for this sort of problem, we propose a generic method for building a fuzzy predictor for modelling the behaviour of a DiffServ node with multiple queues. The proposed method combines non-linear programming (NLP) and simulation to build a fuzzy predictor capable of determining the performance of a DiffServ node subjected to both: per-flow and aggregated performance guarantees. This approach does not require deriving an analytical model, and can be applied to any type of traffic. In this paper, we employ the fuzzy approach to model the behaviour of a DiffServ node where (aggregated on-off) VoIP traffic and (self-similar) data traffic compete for the network resources. The self-similar data traffic is constrained by a leaky bucket, and the resulting traffic is classified into two distinct queues (for example, AF1 and BE). The VoIP traffic is assigned to the EF queue. Based on the load levels of VoIP and self-similar traffic, the fuzzy logic predicts the delay bounds of the VoIP flows and the drop level of the aggregated AF traffic within a continuous range of load conditions. The remaining of this paper is organized as follows. Section 2 reviews some works related to queue modelling and fuzzy logic. Section 3 presents the rationale that motivates the development of our work and describes the self-similar and VoIP traffic profiles assumed for this work. Section 4 describes the fuzzy predictor. Section 5 presents the optimization method used for finding the optimum fuzzy predictor parameters. Section 6 presents and discusses some numerical results. Finally, section 7 concludes this work and points to future developments.
  3. 3. 2 Related Works and Discussion An important step in the capacity planning of IP networks is to determine the maximum amount of traffic that can be delivered to a node without leading to an excessive buffer overflow. In many publications, this problem is referred to as “admission control”. The admission control strategies are usually classified into two large groups: PBAC (parameter-based admission control) and MBAC (measured- based admission control). The PBAC strategies define how much traffic can be accepted by a node or network by assuming a theoretical traffic profile. The MBAC approaches estimates the real amount of traffic already accepted in the network by employing measurement techniques and employ a theoretical model only for estimating the impact of admitting more traffic. A single-link analysis of several statistical algorithms that follows the PBAC approach is provided by Knightly and Shroff in [6]. Also, surveys comparing the performance of both, PBAC and MBAC algorithms have been presented in [2-3]. The fuzzy predictor proposed in this paper can be considered a PBAC method. However, it differs from the previous works because it is capable of supporting per- flow guarantees. The works discussed on surveys [2-3,6] assume that satisfying the QoS requirements for the aggregated traffic is sufficient to satisfy the QoS requirements for the individual flows. Some works have shown, however, that the end-to-end delay and the packet loss level of individual flows can substantially fluctuate around the average aggregate performance. A study presented by Siripongwutikorn and Banerjee [4] evaluated the per flow delay performance with respect to the traffic aggregates. The authors consider a scenario with a single node, where heterogeneous flows are aggregated into a single class. Distinct queuing disciplines have been considered, such as FIFO, static priority, waiting time priority and weighed fair queuing. The authors observed, by simulation, that the traffic heterogeneity, the load condition and the scheduling discipline affect the per-flow delay performance. Notably, the simulation results indicate that it may not be able to achieve delay guarantees for some individual flows based solely on the class delay guarantees when the flows are heterogeneous in a high load condition. The work presented by Xu and Guerin [5] explored the differences that can exist between individual and aggregate loss guarantees in an environment that enforces guarantees only at the aggregate level. The work develops analytical models that enable to estimate the individual loss probabilities in such conditions. A bufferless single hop scenario with distinct traffic sources have been considered: ON-OFF, constant bit rate periodic and real traffic video sources. The authors points that in order to avoid significant deviations across individual and aggregate loss probabilities, one should avoid multiplexing flows with significantly different rates into aggregates with a small number of sources. They also observed that the per-flow deviation decreases with the number of aggregated sources. The number of sources required to reduce the deviation across flows is significantly higher when the ON- OFF sources have rather different peak and mean rate. The fuzzy predictor described in this paper can deal with both: per-flow and aggregated traffic guarantees. The works presented in [4-5] have addressed the per- flow problem, but have not proposed a model. Instead, they have employed some specific simulation scenarios and evaluated the deviation between the per-flow and
  4. 4. the aggregate traffic behaviors. To employ fuzzy logic in scenarios where analytical models are not available is a common practice. Among the several proposals found on the literature, we have select two works in order to illustrate our discussion. Liang and Karnik proposed a connection admission control (CAC) method for ATM networks based on fuzzy logic. They proposed CAC was capable of handling two types of traffic: real-time (VoIP and video) and non real-time. The input variables for the fuzzy systems are the total average rate of real-time and non-real time traffic. The output variable represents the confidence of accepting a new call. In this case, the membership functions and the fuzzy rules mapping the input and output variables were obtained by using the knowledge of human experts. This approach can be considered a pure PBAC. Ren and Ramamurthy also develop an admission control policy for ATM networks. The fuzzy controller was responsible to combine two estimates of the equivalent bandwidth already consumed in the ATM switch: a model based estimated (computed from the traffic descriptors supplied by the users) and a measured-based estimated (computed by measuring the real traffic through the switch). The equivalent bandwidth computation assumes a target cell loss rate. The model based was supposed to overestimated the required bandwidth and the measured-based estimative was supposed to underestimated the required bandwidth. The real estimate employed by the admission policy was weighed average between the two estimates. New connections could be admitted while the real estimated equivalent bandwidth doesn’t exceed the link capacity. The fuzzy logic operates as a closed loop controller that dynamically defines the weight of each estimate in order to minimize the error on the cell loss target rate. This approach can be considered a MBAC, or more precisely, a hybrid approach between PBAC and MBAC. The fuzzy predictor proposed in this paper is useful to design a PBAC. However, differently from the work proposed by Liang and Karnik, our fuzzy logic is trained by using an optimization process, instead of the knowledge of human experts. Whilst the performance of the traffic admitted using the human knowledge approach was quite subjective, our fuzzy logic can predict delay and drop performances with a predefined confidence interval. The weakness of our approach is that our fuzzy predictor must be trained to specific types of traffic and queue scheduling algorithms. The MBAC approach proposed by Ren and Ramamurthy is slightly more generic, because it can adjust the traffic estimates using real time measurements. However, it is not totally generic, as the authors assume the traffic being regulated by a dual leaky bucket. Whilst the MBAC approach targets the performance of the aggregated traffic, our approach can lead with both: aggregated and per-flow guarantees. 3 Problem Characterization In order to illustrate and evaluate the method proposed in this paper, we have considered a sample scenario where (aggregated on-off) VoIP traffic and (self- similar) data traffic compete for the network resources. We assume the VoIP traffic is controlled by an admission control algorithm which limits the number of simultaneous active VoIP flows. We consider homogeneous VoIP flows aggregated into a single EF class. The self-similar data traffic is not controlled by the AC
  5. 5. algorithm. Instead, it is submitted to a leaky bucket classifier, which determines which packets will receive an assured forwarded (AF) treatment (i.e., packets within the limits of an accorded service rate) and which packets will be treated as best effort (BE). The scheduling discipline is a priority queuing mechanism with three non- preemptive finite size queues: EF, AF and BE. In this scheme, a queue is served only when the higher priority queues have no packets waiting to be served. Given the number of VoIP flows and the leaky bucket parameters, the fuzzy logic strategy must predict the bounds of the statistical performance of both: individual VoIP flows and aggregated AF traffic. No prediction is required for the BE traffic. The performance of the VoIP traffic is expressed in terms of the maximum delay experienced by a percentile of per-flow packets. The performance of the AF traffic is expressed in terms of the drop rate of the AF traffic. The fuzzy logic defines the contribution of a single network node to the overall traffic performance. Considering a MPLS scenario, the prediction of multiple nodes must be combined in order to achieve an end-to-end performance. The fuzzy logic is not an AC algorithm, but its output can be employed to build an on-line AC strategy or an off-line traffic engineering strategy for networks that combines MPLS and DiffServ methodologies, for the scenarios described in []. In the case of on-line AC strategy, the fuzzy predictor could be embedded into the network nodes in order to help in the decision making of signalization protocols such as RSVP-TE. With this scenario application in mind, we have defined the fuzzy logic to be as simple as possible, to minimize real-time calculations. 3.1 VoIP Traffic Modeling As discussed in section 3, the per-flow problem is not extensively addressed in the literature. Also, most attempts of deriving a mathematical model for the per-flow behavior assume that the life-cycle of all VoIP flows is identical, i.e., all flows start in the beginning of the evaluation and terminates simultaneously. In real world, however, the life cycle of VoIP flows is variable. This variability can be modeled by assuming two additional parameters: TBF (time between flows) and AFD (average flow duration) [8]. In our study, both, AFD and TBF represent the average value of exponentially distributed random variables. Our work shows that the effect of considering flows with distinct life cycles introduces significant deviations among the individual flows percentile performance, requiring a “per flow” tuning of the AC method in order to respect the QoS requirements. In order to train our fuzzy predictor we have simulated a network node submitted to a VoIP offered load. The offered load is computed in terms of an estimation of the blocking probability, by using the Erlang-B functions. In this case, the equivalent number of VoIP lines for a given link capacity is “virtually” defined by the AC method, which imposes a limit to the number of simultaneously active VoIP connections. We have trained the fuzzy controller with a high blocking probability (90%), because it corresponds to a worst case scenario. The offered load is determined by adjusting the TBF parameter. The AFD parameter depends on the average user behavior. We have assumed the value of 210s for the AFD parameter in all scenarios. Each VoIP connection was modeled as an ON-OFF source. As in many
  6. 6. VoIP modeling works (see [11], for example), we have assumed that both ON-OFF intervals are exponentially distributed. The exponential averages were defined as 0.4s for the ON period an 0.6s for the OFF period. The total packet size was 200 bytes, already included the payload and the protocol headers. During the ON period, the arrival interval between packets is 20 ms, which represents a peak rate of 80 kbps and an average rate of 32 Kbps for each individual flow. 3.2 Self-Similar Traffic Modeling The data traffic used to train the fuzzy predictor follows the self-similar model presented by Norros, the Fractional Brownian Motion [9]. According to this model, the accumulated aggregate arrival process is represented as follows: At = m t + a m Z t , t ∈ ( − ∞, ∞ ) (1) Where Zt is a normalized fractional Browniam motion (fBm), m is the mean input rate, a is a variance coefficient and H is the Hurst parameter of Zt. In this work, we have adopted a = 275 kbit.sec and H = 0.76, as used by Norros in the sample simulation presented in the same seminal paper. The discussion of the values of these parameters is out of the scope of this work. The value of the m parameter is adjusted according to the target average occupation rate of the link capacity. In this case, the variable arrival pattern is generated by the noise represented by the a mZt component. For each ∆t window we compute the arrival process and generate a packet series A∆t assuming a MTU size (1500 bytes) and a minimum packet size of 46 bytes. The variable Zt was implemented using the Hosking Method [10]. The packet series is then submitted to a leaky bucket metering scheme, controlled by two parameters: the bucket size and the transmit rate. The A∆t packets within the bucket limits are tagged as AF PHB, and the non-conforming A∆t packets (i.e., packets that could not be inserted into the bucket) are tagged as BE. In this paper, we have adopted ∆t = 10 ms. 3.3 Per-Flow Variability Example Figure 1 shows the results of a simulation that illustrates how the individual flows performance can diverge with respect to the aggregate performance. In this scenario a load of connections has been offered to an AC algorithm that imposes a limit of 60 simultaneously active VoIP flows. This number of flows was chosen intentionally high in order to illustrate how difficult it is to predict the behavior of individual flows by taken into account only the aggregated traffic behavior. We have limited the VoIP (EF) queue size to 50ms, i.e., packets that exceed the 50ms delay are dropped. The AF queue size was limited to 250ms. The simulation presented in Fig 1 has considered a link capacity of 2 Mbps. The m parameter in
  7. 7. equation (1) was adjusted to represent 50% of the link capacity. The leaky bucket used to classify the data packets was set to a size of 2 MTUs and a transmit rate of 50% of the link capacity. Figure 1. Per-flow variability illustration The continuous line in the superior part of figure indicates that, approximately, 99% of the aggregated VoIP packets have satisfied the delay bounds (i.e., they were not dropped). However, the “per-flow” percentile of packets that satisfied the delay bounds has significantly diverged with respect to the aggregate performance (each cross in the figure represents the performance of an individual flow plotted at the instant when the flow terminates). In this scenario, the drop level experienced by the AF class was about 56% (not shown in this figure). It is clear that in order to design an AC algorithm it is necessary to take simultaneously into account both, the per-flow VoIP and the AF traffic requirements. Because in our scenario the AF traffic is limited by a leaky bucket, it is possible to find conservative estimates for its bandwidth requirements (see [12], for example). For the VoIP traffic, however, finding an analytical estimate is a hard task, as most of the proposals found in the literature target the aggregate performance (see [6], for a survey). We conclude that, when per-flow guarantees are required, even the simple scenario depicted in this section is too hard to be analytically treated. That motivates the proposal in this paper of designing a fuzzy predictor using an optimization approach.
  8. 8. 4 The Fuzzy Predictor The fuzzy approach is based on the idea of fuzzy sets. Given a universe of discourse X, where x ∈ X, a fuzzy set V can be expressed as V = {(x, µv(x))}. This notation implies that a fuzzy set V contains the element x with a degree of membership expressed by the function µv(x). In the classical set theory, a membership function would output only two acceptable values: 0 (the element does not belong to the set) or 1 (the element belongs to the set). Differently from the classical set theory, a fuzzy set accepts intermediates values between [0, 1]. A universe of discourse can be mapped to one or more partially overlapped fuzzy sets. Usually, fuzzy sets are named by adopting “linguistic variables” that permits to intuitively describe their meaning. For example, the fuzzy sets “low” (VL = {(x, µvl(x))}, “average” (VA = {(x, µva(x))} and “high” (VH = {(x, µvh(x))} could be used to describe the universe of discourse of a variable x, representing the number of active VoIP flows. The names “low”, “average” and “high” correspond to the linguistic variables. The functions µvl(x), µva(x) and µvh(x) determine the degree of membership to the corresponding fuzzy sets. Because the fuzzy sets may be overlapped, a given crisp value (e.g., x=50) can belong to more than one fuzzy sets at the same time, with distinct membership values (e.g., µvl(x)=0.7, µva(x)=0.3 and µvh(x)=0.1). In a fuzzy system, both the input and output variables can be mapped to fuzzy sets. For example, fuzzy sets could be defined to map the universe of discourse of the variable d, representing the maximum per-flow delay experienced by the VoIP traffic. The fuzzy logic is composed by a set of if-then rules that maps the input to the output fuzzy sets. An example of fuzzy rule is “IF the number of VoIP flows is low THEN the per-flow delay is low”. FUZZY PREDICTOR LOGIC for VoIP delay INPUT MEMBERSHIP OUTPUT MEMBERSHIP crisp inputs FUNCTIONS FUNCTIONS crisp output EF Load RULES DEFUZZIFIER EF per-flow FUZZIFIER delay AF Load INFERENCE input fuzzy output fuzzy membership values membership values FUZZY PREDICTOR LOGIC for AF drop INPUT MEMBERSHIP OUTPUT MEMBERSHIP crisp inputs FUNCTIONS FUNCTIONS crisp output EF Load RULES AF aggregated DEFUZZIFIER drop FUZZIFIER AF Load INFERENCE input fuzzy output fuzzy membership values membership values Figure 2. Fuzzy Predictor Components The fuzzy approach can be used to design a logic procedure that interfere (i.e., a fuzzy controller) or not (i.e., a fuzzy predictor) on the system behavior. In this paper, we explore the fuzzy approach to design a fuzzy predictor for modeling the
  9. 9. performance of multi-queue network nodes. Figure 2 shows an overview of our fuzzy predictor components. As illustrated in the figure, the predictor receives the input variables representing the EF (e.g., VoIP) and AF (e.g., leaky bucket constrained self- similar) traffic loads, and outputs the prediction on the per-flow delay of the EF class and the aggregated drop of the AF class. Because the behavior of the VoIP and AF are quite dissimilar with respect to the input variables, we have opted for using an independent fuzzy logic subsystem to each output. To output a result, the predictor performs three main steps: fuzzification, inference and deffuzification. The fuzzification is the process of computing the membership values from the crisp inputs. The inference is the process of determining the membership values of the output variables. Finally, the defuzzification is the process of transforming the fuzzy output into crisp values. 4.1 Membership Functions Each fuzzy logic subsytems illustrated in Figure 2 require the design of the membership functions for the two input variables (EF and AF load) and the output variable (VoIP per-flow delay or AF aggregated drop). Several choises are required in order to define these membership functions. Because the focus of this paper is to present a method for optimizing the membership functions, we have keept our choises as simple as possible. 4.1.1 VoIP per-flow delay sybsystem Figure 3 illustrates the fuzzy sets for the input variables corresponding to the VoIP per-flow delay prediction subsystem. In the figure, the variable x corresponds to the EF load and the variable y corresponds to the AF load. The EF load is expressed in terms of the maximum number of simultaneously active VoIP flows. The AF load is expressed as a percentage of the link capacity. As show in the figure, the EF load is mapped to four fuzzy sets: Low, Average, High and Very High. The letters A, B and C correspond to fixed points, i.e., points defined by previous knownlege about the problem. The fixed points A and C define the limits the x variable can assume. A logical choice for the A variable is zero. The choice of the point C depends on the link capacity. The method adopted for computing C is discussed in the case study presented in the section 6. The B point was arbitrarily placed between A and C. The letters x1 to x6 are input variables to an optimization problem, which will define their values in order to approach the actual delay behavior experienced by the VoIP packets. The AF load is mapped to three fuzzy sets: Low, Average and High. Similarly, the fixed points A’ and C’ define the limits the y variable can assume. In this case, the choice for these points is straight forward: A’ is zero and C’ is 100%. Again, B’ is placed between A’ and C’. In this case there are only two variables to be optimized: y1 and y2. This choice is justified because the AF traffic is served by a queue with less priority than the EF traffic (i.e., a strict priority scheduling). Therefore, the inpact of
  10. 10. the AF load on the delay experience by the EF traffic is small, and can be easily captured by a simple membeship function. The impact of the EF load, by the other hand, grows expoentially. Hence, more fuzzy sets are required to capture the delay behavior when the EF traffic load increases. µv (x) Low Average High Very High µvl (x) µva (x) µvh (x) µvv (x) 1 EF Load x A B C x1 x2 x3 x4 x5 x6 x7 µa(y) Low Average High µ al(y) µal(y) µal(y) 1 AF Load y A’ B’ C’ y1 y2 Figure 3. Input membership functions for VoIP per-flow delay The fuzzy rules corresponding to the VoIP subsystem are represented in table 1. The table defines 12 rules. Each rule in the table is read as follows: IF EF load (x) is Low AND AF loads (y) is Low THEN the fuzzy output is oll. The symbols oxy correspond to the fuzzy ouput variables. Because the membership function of the input variables are flexible enough to map the queue behavior of the network node, we have defined that the membership function for all output variables are singletons. Table 1. Input membership functions for VoIP per-flow delay x y Low Average High Low oll ola olh Average oal oaa oah High ohl oha ohh Very High ovl ova ovh Given a pair of input variables (x, y), the inference process consists in computing how much each of the 12 rules in table 1 is true. d ( x, y ) = ∑ mu oij ( x, y ) ∗ dij para i = 1 3, j = 1,  ,3 ∑ mu oij ( x, y)
  11. 11. 3) Regra Fuzzy As regras Fuzzy são do seguinte formato: Regra 1: Se x (Número de Fluxos VoIP admitidos) for LOW e y (% do enlace ocupado por tráfego AF) for LOW então o Percentil-99 do Delay VoIP Perflow é d11 e o descarte do AF é a11 Regra 2: Se x (Número de Fluxos VoIP admitidos) for AVERAGE e y (% do enlace ocupado por tráfego AF) for LOW então o Percentil-99 do Delay VoIP Perflow é d21 e o descarte do AF é a21. .... Regra 9: Se x (Número de Fluxos VoIP admitidos) for High e y (% do enlace ocupado por tráfego AF) for High então o Percentil-99 do Delay VoIP Perflow é d33 e o descarte de AF é d33. x y Low Average High Low a11, d11 a12, d12 a13, d13 Average a21, d21 a22, d22 a23, d23 High a31, d31 a32, d32 a33, d33 TABELA 1: Regras Fuzzy 4) Defuzificação: • Método do Centro de Gravidade o Para um dado valor de x e y, determina o valor de o: • Algoritmo: o Calcular o Membership de Cada Regra:  muo11 (x,y) = min(muVL(x), muAL(y))  muo12 (x,y) = min(muVL(x), muAA(y))  muo13 (x,y) = min(muVL(x), muAH(y))  muo21 (x,y) = min(muVA(x), muAL(y))  muo22 (x,y) = min(muVA(x), muAA(y))  muo23 (x,y) = min(muVA(x), muAH(y))  muo31 (x,y) = min(muVH(x), muAL(y))  muo32 (x,y) = min(muVH(x), muAA(y))  muo33 (x,y) = min(muVH(x), muAH(y)) o Desfuzificar pelo método do centróide: d ( x, y ) = ∑ mu oij ( x, y ) ∗ dij para i = 13, j = 1, ,3  ∑ mu oij ( x, y)
  12. 12. a ( x, y ) = ∑ mu oij ( x, y ) ∗ aij para i = 1 3, j = 1,  ,3  ∑ mu oij ( x, y) 5 Optimization Method Suppose x ∈ ℜn as a vector formed by the variables that one desires to optimize. An optimization problem can be defined in terms of a cost function fc(x): ℜn→ℜ. For each element x belonging to the solution set, fc(x) represents the “level of rejection” of the corresponding solution. In order to be valid a solution x must be feasible, i.e., it must satisfy a set of constraints related to the nature of the problem being solved. Let X be the space of feasible solutions that satisfy the problem constraints. Then, the optimization problem consists in finding the element x=x*∈ X that minimizes the fc(x) function. Mathematically, it can be expressed as follows: x * ∈ X and f c (x * ) ≤ f c (x), ∀ x ∈ X (8) The optimization method adopted in our work is called “The Flexible Polyhedron (FP) Method” [4, 5]. It is a “search method” for solving non-linear programming problems without constraints. The motivation for choosing the FP method is that it does not require mathematical derivations of the cost function, which enables to combine this method with computational simulations in order to solve problems related to complex network scenarios. The main idea of the FP method is to determine the search direction based on the best solutions found in the previous iterations. A geometric figure called polyhedron is formed by a set of vertices, where each vertex correspond to a solution x. The number of vertices is equivalent to the number of the variables of the optimization problem plus one. During each interaction a new solution is computed, and the worst vertex replaced. Considering a successive set of iterations, the tendency is the polyhedron to adjust itself around the optimum solution and reduce its dimension (distance among the vertices) until a convergence criterion is achieved. The FP method can generate infeasible solutions during the search process, raising a difficulty for treating constrained optimization problems. This drawback can be contoured by making the cost function to strongly penalize infeasible solutions. 5.1 FP Algorithm Describing multimedia data is a very time consuming process. Therefore the automatic extraction of any information on the content is highly desirable. These information can be directly used for the description or can facilitate the manual annotation. For There are some variations of the FP algorithm according to the problem being addressed, especially in order reduce the risk of convergence toward a minimum local. We have adopted a modified version of the FP method that rebuilds the polyhedron around the solution found in the previous convergence. The modified FP method is defined as follows:
  13. 13. 1. Given an initial solution x1, initializes the polyhedron vertices as linearly independent vectors as follows: [ x 2 = x1 + d1+ d 2 d 3−  d n − − ] T + [d ] − T x 3 = x1 d 2 d 3−  d n + 1 −  x n +1 [ = x1 + d1− d 2 d 3−  d n − + ] T The coefficients d i+ and d i− represent, respectively, a large and a small distance with respect to the elements of the initial vector x1. The choice of these parameters relates + to the initial search space. In this work we have employed d i = x1,i and d i− = − x1,i 2 ⋅ . 2. Compute the cost function fc(x) for each vertex, ordering and labeling the vertices according to its cost function as follows: f c (x1 ) ≤ f c (x 2 ) ≤  ≤ f c (x n +1 ) 3. Compute the centroid excluding the worst vertex as follows: 1 n  x= ∑ x i − x n +1  n − 1  i =1  4. Compute xr using the reflection operation: x r = x c − α (x n +1 − x) , where α represents the reflection search step. If f c (x1 ) ≤ f c (x r ) < f c (x n ) , replace xn+1 by xr and go to step 10. If f c (x r ) < f c (x1 ) , go to step 5. If f c (x n ) ≤ f c (x r ) < f c (x n +1 ) , go to step 6. Otherwise, if f c (x r ) ≥ f c (x n +1 ) , go to step 7. 5. Compute xe using the expansion operation: x e = x − β (x − x r ) , where β represents the expansion search step. If f c (x e ) < f c (x r ) , replace xn+1 by xe and go to step 10. Otherwise, accept xr as a new solution and go to step 8. 6. Compute xc using the outside contraction operation: x c = x − γ ( x − x r ) , where γ represents the contraction search step. If f c (x c ) ≤ f c (x r ) , replace xn+1 by xc and go to step 10. Otherwise, go to step 8. 7. Compute xc using the inside contraction operation: x c = x − γ ( x − x n +1 ) , where γ represents the contraction search step. If f c (x c ) < f c (x n +1 ) , replace xn+1 by xc and go to step 10. Otherwise, go to step 8. 8. Perform a shrink step by recalculating all vertices excluding the best vertex as follow: x i = x1 − σ (x1 − x i ), for i = 2, , n + 1 , where σ represents the shrink step. 9. Test the condition for rebuilding the polyhedron: n ∑ x i − x1 ≤ ε1 i =1 If the condition is not satisfied, returns to step 2. Otherwise, go to step 10. 10. If x1old has not being initialized yet, set x1old=x1 and returns to step 1. Otherwise, test the convergence criterion:
  14. 14. x1old − x1 ≤ ε 2 If the condition is satisfied, terminates the algorithm and outputs x1 as a result. Otherwise, set x1old=x1 and returns to step 1. In our simulations we have selected the typical values of α=1, β=2, γ=0.5 and σ=0.5. The parameters ε1 and ε2 were both selected as 0.01. 5.2 Simulation In order to employ the FP algorithm to tuning the AC parameters, the following points must be defined: the cost function, the variables being optimized and the constraints defining “admissible solutions”, i.e., the admissible limits for the variables being optimized. In order to determine the cost function it is necessary to define the per-flow VoIP and the AF traffic requirements. Because this work considers a single node AC, these requirements are expressed in terms of the delay and the packet loss caused by the node. The per-flow VoIP requirement is expressed as the percentile of packets that can exceed a delay bound or be dropped in a single flow. For example, a QoS requirement (97th , 50ms) defines that a maximum delay of 50ms must be observed by 97% of the packets of each individual flow, i.e., only 3% of the packets can violate the QoS requirements by exceeding the 50ms limit or being dropped. The AF traffic requirement is imposed in terms of the overall packet-loss ratio. We have limited the AF queue to a size corresponding to the maximum admissible delay assigned to the AF packets (i.e, the single node delay contribution), so all packets that exceed this delay bound are dropped. The main idea of the cost function is to induce the optimization process to find a solution for the admission controller that maximizes the number of flows served without violating the QoS requirements of both, VoIP and the AF data traffic.  Considering an evaluation period, let Fa , Fa , Fa and Fv be, respectively, the absolute number of accepted flows, the average number of active flows, the estimated maximum number of active flows and the absolute number of admitted flows that violate the QoS requirements. We also define AFd as the percentage AF packets dropped with respect to the total number of packets marked as AF. The cost function can, then, be represented as:  F   F  f c (x) = 1 − a  + φ v  + [φ AFd ] (3)  Fa   Fa  The x vector represents the AC variables that must be optimized. Because we have assumed a simple PBAC controller, in this case, the variable is the maximum  number of simultaneously active flows. The Fa term is not required to be precise, as it works only as a normalization factor. It can be computed using the techniques suggested by [15]. The second component introduces a penalization for violating the QoS requirements. The ϕ [undimensional] factor defines the “penalty” for admitting a violated flow. The third term defines a penalization for dropping the AF traffic. The
  15. 15. penalization weight is controlled by the φ [undimensional] factor. Both ϕ and φ are inputs to the optimization process and depend on the service provider business policy. Extremely high occupation rates that induce too many VoIP or AF violations will be penalized by the cost function. Therefore, no special treatment is required for avoiding unfeasible solutions. begin FP algorithm convergence 99% C.I. of fc (x) new X vector (AC parameters) fc(x) evaluation Simulator N evaluations with dinstinct seeds delay and packet loss information Fig 3. Optimization Flow Figure 3 illustrates the complete optimization flow, where a simulator and the FP method are combined. The simulator is activated for computing the cost function of each new vertex of the polyhedron. In order to reduce the seed influence, N simulations with distinct seeds are computed for each new vertex generated by the FP method. During a simulation, the AC parameters are tested against a variable load scenario that follows a “peaked call arrival pattern” shared with the self-similar data traffic, as described in section 3. In this paper we have employed N=10. The cost function (fc) is computed for each seed, and a 99% confidence interval for the fc average is determined by assuming a t-distribution. The cost assigned to a PBAC solution corresponds to the worst bound in this interval (i.e., the highest cost function). The AC parameters obtained using the optimization approach are valid for a specific scenario defined by the link capacity, the per-flow delay/packet-loss bound, the leaky bucket parameters, the per-flow VoIP percentile performance and the “ϕ” and “φ” parameters. Initially, the simulations were performed using the NS-2 [16]. However, the NS-2 was not scalable enough for supporting the most complex simulation scenarios (usually, hundreds of simulations are required before the FP convergence). Therefore, a simulator oriented to discrete events based on the actor/message paradigm [17] was implemented using the C language. In this case, the network elements, the VoIP entities and the self-similar source were implemented as actors by using threads, and the packets were implemented as messages exchanged between the actors. For the simpler scenarios, the results of the C simulator have been compared against the NS-2, leading to identical results. 6 Evaluation and Results In this section, we have evaluated our approach by optimizing the PBAC method for distinct link capacities and distinct leaky bucket parameters. In all scenarios, the VoIP offered load followed the template defined in Figure 1, but the conditions of the data traffic were modified by adjusting the leaky bucket parameters: service rate and
  16. 16. bucket size. Figures 4 to 6 have considered a scenario that imposed a per-flow delay bound of 50ms for the 97th percentile of the VoIP packets and a delay bound of 250ms for the aggregate of AF packets. The performance parameters were adjusted respectively to φ = ϕ = 10. This represents a strong penalization for violating VoIP or AF guarantees. As a consequence, in all scenarios, there was no violation of VoIP flows or AF traffic. Therefore, this information was omitted in the figures. Both, the self-similar and the VoIP traffic can significantly vary according to the seed values. To avoid misinterpretation, the results presented in this section correspond to the average of 30 simulations with distinct seeds, presented with a 99% confidence interval. Evaluating the approach with so many distinct seeds assures that the simulated results achieved by the controller will be robust enough to be reproduced in the real world. The left side of Figure 4 illustrates the effect of the link capacity on the share of bandwidth occupied by the AF and the VoIP traffic. The right side of the figure illustrates the effect of the link capacity on the BE traffic drop rate and the average number of active flows per Mbps. One observes in the figure that the number of VoIP flows per Mbps increases with the link capacity. As a result, the share of the link bandwidth occupied by the VoIP traffic also increases with the link capacity. This effect is justified because a longer VoIP queue can be tolerated in terms of packets when a fixed maximum delay is imposed to a node with higher service rate. This effect is also observed for the AF traffic. Also, note the smoothing effect obtained by aggregating more VoIP flows, as observed by the reduced dispersion around the active VoIP flows average. Delay Very Low Average High Very Loss Low High Very Low D1L1 D2L1 D3L1 Low D2L1 High Very High Table 1: Delay and Packet Loss Level Characterization Rate Very Low High Very Size Low High Very Small R1S1 R2S1 R4S1 R5S1 Small R1S2 R2S2 R4S2 R5S1 Large X R5S1 Very Large X X R5S1 Table 2: Leaky Bucket Constrained Self-Similar Traffic Characterization DL 11 21 31 41 51 12 22 32 43 52 RS 11 21
  17. 17. 31 41 51 12 5 10 15 20 22 32 42 52 Table 3: Per-link VoIP Admission Control Level Figure 5 illustrates the effect of modifying the leaky bucket rate (expressed as a % of the link capacity). In this scenario, the link capacity was fixed in 8 Mbps. Note that increasing the leaky bucket rate increases the offered load of AF packets. One observes that the higher priority VoIP traffic is limited by the PBAC controller in order to accommodate the additional AF traffic. In all evaluations, the average bandwidth of the self-similar traffic (i.e., offered load before marking) was fixed in 50% of the link capacity (m parameter). However, increasing the bucket rate above 50% still affects the traffic, due the fBm variation. Figure 6 illustrates the effect of modifying the leaky bucket size. Again, in this scenario, the link capacity was fixed in 8 Mbps. Note, in Figure 4, that the share of bandwidth occupied by the AF traffic was always less than 50% (the leaky bucket rate). This is the effect of the small bucket size adopted in this scenario (only 2 MTU). Increasing the bucket size enable to accommodate the self-similar traffic variation, increasing the AF traffic rate. Consequently, the AF traffic shaped by the leaky bucket is not as well-behaved as the traffic in Fig. 4. In this case, the PBAC had to reduce the number of VoIP flows per Mbps accordingly. The procedure of extending MPEG-7 is well described according to the suggestion of how to integrate Dublin Core with MPEG-7 [Hunter, 00]. Each type we introduced extends the “objectType” type, which is defined in MPEG-7. 7 Conclusions This paper has presented an optimization method that helps the design of DiffServ AC algorithms capable of providing per-flow delay/packet-loss guarantees. The approach was illustrated considering a scenario where a node link was shared by distinct types of traffic: VoIP and self-similar traffic marked by a leaky bucket algorithm. A typical DiffServ node capable of scheduling only large classes of traffic (i.e., flow-unaware) was studied. Because most results obtained in the literature target only the performance of aggregated traffic, there is no accurate analytical model capable of treating a per-flow scenario with this type of scheduler. The method described in this paper was capable of achieving the required performance results in all scenarios, including distinct link capacities and variations on the level of self-similar packets marked as assured forwarding. The drawback of
  18. 18. this method, however, is that the results obtained to a PBAC are valid only to a specific link capacity and specific leaky bucket parameters. The controller, however, is robust with respect to the offered load variation. 8 Future Work Future publications will explore the method described in this paper for optimizing MBAC algorithms and designing AC controllers for multi-hop scenarios. References 1. S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W. Weiss. Architecture for differentiated service. IETF RFC 2475, December 1998. 2. L. Breslau, S. Jamin, S. Shenker. Comments on the performance of measurement-based admission control algorithms. INFOCOM 2000, 3:1233 – 1242, Mars 2000. 3. A.W. Moore, An implementation-based comparison of Measurement-Based Admission control algorithms. Journal of High Speed Networks, 13: 87-102, 2004. 4. P. Siripongwutikorn, S. Banerjee. Per-flow delay performance in traffic aggregates. Proceedings of IEEE Globecom 2002, 3:2634- 2638, November 2002. 5. Y. Xu, R. Guerin. Individual qos versus aggregate qos: A loss performance study, IEEE/ACM Transactions on Networking, 13:370–383, 2005. 6. E.W. Knightly, N.B. Shroff. Admission control for Statistical QoS: Theory and Practice. IEEE Network, 13:20-29, March/April 1999. 7. S. Spitler, D. C. Lee. Optimization of Call Admission Control for a statistical multiplexer allocating link bandwidth. IEEE Transactions on Automatic Control, vol. 48, no. 10, Oct. 2003, pp. 1830–1836. 8. Cisco Systems. Traffic Analysis for Voice over IP. Cisco Document Server, Setember 2002. 9. I. Norros. On the use of fractional Brownian motion in the theory of connectionless networks. IEEE Journal on Selected Areas in Communications, 13(6):953--962, August 1995. 10. J.R.M. Hosking. Modeling persistence in hydrological time series using fractional brownian differencing, Water Resources Research, 20:1898—1908, 1984. 11. C. Boutremans, G. Iannaccone, C. Diot. Impact of link failures on VoIP performance. Proceedings of 12th NOSSDAV workshop (ACMPress), 63-71, May 2002. 12. Y. Jiang, Q. Yao. Impact of FIFO aggregation on delay performance of a differentiated services network. ICOIN 2003, LNCS 2662, 948-957, 2003. 13. J.A. Nelder, R. Mead. A Simplex Method for Function Minimization. Comput. J., 7:308-313, 1965. 14. J.C. Lagarias, J.A. Reeds, M.H. Wright, P.E. Wright. Convergence Properties of the Nelder-Mead simplex method in low dimensions. SIAM. J. Optim., 9(1):112-147, 1998. 15. R. Guérin, H. Ahmadi, M. Naghshineh. Equivalent capacity and its application to bandwidth allocation in high-speed networks. IEEE Journal on Selected Areas in Communications, 9(7):968–981, September 1991. 16. NS-2. The ns-2 simulator. Available at: http://www.isi.edu/nsnam/ns/. 17. G. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. Doctoral Dissertation. MIT Press. Available at: http://hdl.handle.net/1721.1/6952 18. P. Siripongwutikorn, S. Banerjee, and D. Tipper, “Adaptive Bandwidth Control for Efficient Aggregate QoS Provisioning,” Proc. IEEE GLOBECOM’02, Taipei, Taiwan, Nov. 2002.
  19. 19. 19. Q. Ren, G. Ramamurthy, A Real-Time Dynamic Connection Admission Controller Based On Traffic Modeling, Measurement, and Fuzzy Logic Control, IEEE Journal on Selected Areas in Communications, Vol. 18, No. 2, Feb. 2000. [Abdel-Mottaleb, 00] M. Abdel-Mottaleb, et al, MPEG-7: A Content Description Standard Beyond Compression, February 2000. [Achmed, 99] M. Ahmed, A. Karmouch, S. Abu-Hakima, Key Frame Extraction and Indexing for Multimedia Databases, Vision Interface 1999, Trois-Rivières, Canada, 19-21 May [Chakrabarti, 99] K. Chakrabarti, S. Mehrotra, The Hybrid Tree: An Index Structure for High Dimensional Feature Spaces, In Proc. Int. Conf. on Data Engineering, February 1999, 440-447 http://citeseer.nj.nec.com/chakrabarti99hybrid.html [Cocoon, 02] Cocoon XML publishing framework, 2002, http://xml.apache.org/cocoon/ [Hunter, 00] Hunter, Jane, Proposal for the Integration of DublinCore and MPEG-7, October 2000 [IBM, 02] IBM: “VideoAnnEx – The IBM video annotation tool”, July 2002, http://www.alphaworks.ibm.com/tech/videoannex [Informedia, 02] Informedia digital video library, Carnegie Mellon University, July 2002, http://www.informedia.cs.cmu.edu/ [MRML, 02] MRML: “Multimedia retrieval markup language”, GNU image finding tool, http://www.mrml.net/ [MPEG, 01] MPEG Consortium, ISO/IEC 15938: Information Technology - Multimedia Content Description Interface, 23.10.2001 [Nack, 99] F. Nack, A. Lindsay, Everything You Want to Know About MPEG-7: Part 1 and 2, IEEE Multimedia, 6(3) and 6(4), Juli-December 1999, 65-77 [Oracle, 02] Oracle 9i Database, 2002, http://www.oracle.com/ [Ricoh, 02] Ricoh: “Ricoh MovieTool Home”, June 2002, http://www.ricoh.co.jp/src/multimedia/MovieTool/ [Tamino, 02] Tamino XML database, http://www.softwareag.com/tamino/ [Tomcat, 02] Apache Tomcat, official reference implementation for the Java Servlet and JavaServer Pages technologies, 2002, http://jakarta.apache.org/tomcat/ [VIPER, 02] VIPER server: “Visual Information Processing for Enhanced Retrieval”, http://viper.unige.ch/ [W3C, 02] W3C – World Wide Web Consortium; Link: http://www.w3.org/ [Xindice, 02] Xindice XML Database, 2002, http://www.dbxml.org/ [XPath, 99] XML Path Language, Version 1.0, November 1999, http://www.w3.org/TR/xpath [RFC3564]- Le Faucheur F. et al, Requirements for Support of Differentiated Services-aware MPLS Traffic Engineering - RFC 3564