Fuzzy Control


To illustrate the membership functions, Table 9.1 identifies sample packet rates along with their degree of membership within the two functions.

 
Table 9.1: Example Degrees of Membership.

Packet Rate

m_low(x)

m_high(x)


10

1.0

0.0

85

0.75

0.0

90

0.5

0.0

95

0.25

0.0

100

0.0

0.0

105

0.0

0.25

110

0.0

0.5

115

0.0

0.75

180

0.0

1.0

So given these two membership functions, we can determine the degree of membership for a given rate of packet flow. However, how can this be used in terms of a control strategy for adjusting the packet flow to maintain a consistent quality of service? A very simple mechanism involves the degree of membership to be used as a coefficient to the gating algorithm.

Our gating function defines how many packets may pass during a given interval (for example one second). Each second, the number of packets that are permitted to pass is adjusted to maintain consistent utilization for the application. If the utilization is too high, we decrease the number of packets. Otherwise, if the utilization is too low, we increase it accordingly . The question is, how much to increase?

A simple mechanism is to use our degree of membership as the coefficient applied to the packet delta. Consider Equation 9.3.

(9.3)  

The variable rate is the current number of packets that are permitted to pass through in the given time period (one second). Constant pdelta is a tunable parameter that defines the maximum number of packets that can be added to or subtracted from the rate. The membership functions then provide the degree of membership that is used as a coefficient in the rate-tuning algorithm.

Let's look at a few examples using a pdelta of 10. While our rate will represent a non-integer value, we'll round up for the tuning algorithm.

Given a rate of 110, how will our algorithm adjust the rate for the gating mechanism? Using our Equation 9.3, we get:

  • rate = 110 + (0 * 10) - (0.5 * 10) = 105

On the next iteration, if the application continues to generate at the given rate of 105, we'll get:

  • rate = 105 + (0 * 10) - (0.25 * 10) = 102.5

This process continues until we reach our dead- band of 100 at which point no further rate changes are performed.

If our rate had been low, such as 80, Equation 9.3 would have adjusted as follows :

  • rate = 80 + (1 * 10)-(0 * 10) = 90

Therefore, using the degree of membership as a coefficient for rate-change results in a very simple control mechanism.




Visual Basic Developer
Visual Basic Developers Guide to ASP and IIS: Build Powerful Server-Side Web Applications with Visual Basic. (Visual Basic Developers Guides)
ISBN: 0782125573
EAN: 2147483647
Year: 1999
Pages: 175

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net