Modeling of Congestion and Traffic Control Techniques in ATM Networks

: In this Paper, Computer – based Simulation models for effective Congestion control and Traffic management in Asynchronous Transfer Mode (ATM) network have been developed providing a basis for monitoring ATM networks performance for traffic and congestion control purposes ,providing a system with a reduce short -term congestion in ATM networks


Introduction
Congestion is seen as a serious "situation in Communication Networks because too many packets are present in a part of the subnet, performance degrades. Congestion in a network may occur when the load on the network (i.e. the number of packets sent to the network) is greater than the capacity of the network (i.e. the number of packets a network can handle)" [1].Therefore in an actual sense, Congestion occurs when resource demands exceed the capacity. As users come and go, so do the packets they send. "During a session, each host may transmit one or more packet flows to the other host a flow is commonly considered to be a series of closely spaced packets in one direction between a specific pair of hosts" [2] The main aim of this paper is to develop an effective congestion Control and traffic management model in ATM Networks.

Related Works
"ATM congestion can be defined as a state of network elements in which the network is not able to guarantee the negotiated Network Performance objectives for the already established connections Congestion can be caused by unpredictable statistical fluctuations of traffic flows Since an ATM network supports a large number of bursty traffic sources, statistical multiplexing can be used to gain bandwidth efficiency, allowing more traffic sources to share the bandwidth. But if a large number of traffic sources become active simultaneously, severe network congestion can result" [15].
"In ATM networks, such circuits are called virtual circuits (VCs) The connections allow the network to guarantee the quality of service by limiting the number of VCs. Typically, a user declares key service requirements at the time of connection set up, declares the traffic parameters and may agree to control these parameters dynamically as demanded by the network Asynchronous Transfer Mode (ATM) networks fulfill high-rate transmissions and heterogeneous requirements with very high rates and different types of services" [3].
"On the other hand, they are less predictable networks These "types of traffic patterns imposed on ATM networks, as well as the transmission characteristics of those networks, differ markedly from those of other switching networks. One reason is due to the applications that may generate very different traffic patterns and they require different network services. Another reason for this is that trusted statistics from traffic characteristics and connection establishment patterns are not given" [4]. "ATM networks also guarantee the engaged Quality of Service(QoS), so when a connection is accepted, the network must fulfill all the agreements reached with the user. In effect, the network and the subscriber inter into a traffic contract. But due to the statistical multiplexing of the traffic, an inherent feature of ATM, it is possible to have congestion even though all connections carry out their contracts" [5].
"On the one hand, networks need to serve all user requests for data transmission, which are often unpredictable and bursty with regard to transmission starting time, rate, and size.
On the other hand, any physical resource in the network has a finite capacity, and must be managed for sharing among different transmissions" [4].

Mathematically Speaking
"Network protocols which use aggressive retransmissions to compensate for packet loss tend to keep systems in a state of network congestion, even after the initial load has been reduced to a level which would not normally have induced network congestion. The stable state with low throughput is known as congestive collapse " [6][17].

Congestion Control
"Congestion control mechanisms are however divided into two categories: one category prevents the congestion from happening (Preventive congestion control) and the other category removes congestion after it has taken place' [1] (Reactive congestion control).

Traffic Management
"Monitoring ATM networks performance for traffic and congestion control purposes leads to difficulty because there are some parameters whose values must be tuned. These parameters are not only based on users' traffic descriptors but on the different traffic control policies implemented" [4].
In ATM network, traffic policing is located at the access point to the User Network Interface (UNI). What traffic policing does is to check the validity of VPI and VCI (Virtual Channel Identifier) values and monitor the cells arriving at the network and determines whether it violates any parameters. In ATM network, two most popular methods exist to control the peak rate, mean rate and different load States. These are the Leaky Bucket method and Window Method otherwise referred to as the Usage parameter Control (UPC) according to Uyles Black (1995). The UPC detects any nonconforming sources and the necessary actions it takes are as follows: i. To dropping violating cell ii. To delay violating cells in queue iii. To mark violating cells and treat them accordingly iv. To control traffic by informing the source to take action when violation occurs. "One of the earliest documents that mention the term 'congestion collapse' is by John Nagle; here, it is described as a stable condition of degraded performance that stems from unnecessary packet retransmissions. Nowadays, it is, however, more common to refer to 'congestion collapse' when a condition occurs where increasing sender rates reduces the total throughput of a network" . [7]"The existence of such a condition was already acknowledged in [8] which even uses the word 'collapse' once to describe the behaviour of a throughput curve" [19]. "Therefore, even if a network adopts a strategy of congestion avoidance, congestion recovery schemes would still be required to retain throughput in the case of abrupt changes in a network that may cause congestion" [15].
"Congestion control mechanisms are divided into two categories, namely: Open Loop and Closed Loop. In this open loop, policies are used to prevent the congestion before it happens. Congestio control is handled either by the source or by the destination while in the closed loop the congestion is removed after it happens" [10]

Traffic Modeling
A key element in simulating or analyzing communication networks is traffic modeling. "Traffic models reflect our best knowledge of traffic behavior" [11]. "Traffic is easier to characterize at sources than within the network because flows of traffic mix together randomly within the network. When flows contend for limited bandwidth and buffer space, their interactions can be complex to model" [12][13][14].
In order to obtain a successful performance evaluation, a clear understanding of the following is crucial: (i) The selection of a suitable random traffic model and (ii) The pattern or nature of the traffic in the target system.

Simulated Design of a Congestion and Traffic Management Model
The Design Stages involved in the work include: (i) Developing a dynamic Fluid Flow Model: This has the ability to capture the essential dynamics of the system. (ii) Designing of inflow to the switch: This is helps in regulating the flow of traffic at the source (consumer/user end) into the ATM network (iii) Designing of a simple non-linear congestion controller: This model attempts to keep a queue buffer length close to a reference value without knowledge or measurement of the flow in for both available (best effort) and guaranteed sources. (iv) Design of the queuing state model in the buffer of our ATM design.(v) Designing of Linear Controller Model Subsystem: For the implementation of congestion control by an Integrated dynamic congestion controller (IDCC).

Congestion Control in an ATM Network
The block diagram of the congestion control in an ATM Network is represented in Figure 1. ATM Switch: This "accepts the incoming cell from an ATM source or another ATM switch. It then reads and updates the cell-header information and switches the cell to an output interface toward its destination. The basic operation of an ATM switch is easy: The cell is received across a link on a known VCI (Virtual channel identifier) or VPI (Virtual path identifier) value" [19]. For a dynamic fluid flow model of ABR "traffic through the buffer of an ATM switch and assuming the link has a First-In-First-Out (FIFO) service discipline, the following standard assumptions are made: packets arrive according to a Poisson process, packet transmission time is proportional to packet length, and that the packets are exponentially distributed with mean length 1" [16]. The queue state model is given in (1) For several numbers of switches (1) can further be extended to (2).
Where C i(t) = bandwidth (capacity, cell service rate)allocated to the ABR traffic at node i i(t) = state of the queue (i.e. ensemble average of number of cells in the queue) at node i, ABR (t) = arrival rate due to ABR traffic ɣ i ABR (t) = ABR traffic entering node i, arriving from the previous node, delayed by a deterministic amount τi 1 due to the transmission propagation and is further represented in Equation (3) Where I ABR (t) is the ensemble average of the number of cell places in the buffer occupied by ABR traffic.

Integrated Dynamic Congestion Controller
The controller used in the work is the IDCC (Integrated Dynamic Congestion Controller) as shown in Figure 2. Input: The controller input is usually a control signal denoted by (4).
Where, C max = maximum rate at which packets is transmitted C p(t) = control signal determined by the congestion controller.
Linearization factor (P i(x) ): This helps to simplify our design procedure and reduce the model to a linear one as shown in (5 (6) Where K= K c * Kc _bar (6) Kc = x/(x +1) Integration IC: This circuitry is responsible for producing outputs that are integral of its input at the current time step. The following equation represents the output of the block y as a function of its input u and an initial condition y 0 , where y and u are vector functions of the current simulation time t.
The selected control strategy for the switch is developed using (2) as follows: Let Then from Equation (3.2), we have: The control input is given by (10) A, δ > 0 and Ǩ >= ABR (t) are design constants.
Ẋ_bar (t) =-ρ δ x -ρ k o + 1 ABR Where k o = 1 ABR Ǩ = k + k o and k d = P r [δ x _ bar ] For this research work, the following Lyapunov's function for analysis was proposed The time derivative of V from (10) and (11) is (13) Equation (13) can also be write as, Examining the properties of V dot we have V dot = 0 for _bar = 0, and V dot < 0 for _bar ≠ 0 From Lyapunov theory and additional arguments it can be deduced that _bar is bounded and _bar (t) → 0 as t → ∞ .With the above choice of C we can confidentially state that the maximum possible value C max of C satisfies Where α and k _ bar are design constants which provide some flexibility in meeting possible constraints.

Algorithm for Computing Process in a Congestion Controller
From (2), we have that the control strategy of our IDCC controller is given by, The control input described in (3) is given by,

Computation Process of the Controller
This process is shown in Figure 3. The process of setting the reference value for an available traffic is elucidated in Fig 4 below. Where, sim-time = simulation time Xt = total queue length Xs = Reading at start time ɣ = ABR traffic entering a switching node

Setting Reference Value for Abr Traffic
DESTINATION: This serves as the final end point for the traffic that transverses the links and ATM switches of an ATM network.

Modeling of Dynamic Fluid Flow Model and Non-Linear Congestion Controller
The Matlab model of congestion control in ATM network is better understood by representing a dynamic fluid flow model on Matlab/simulink as shown in Figure 5 developed in this work.

Dynamic Fluid Flow Model
This model is made up of the source(s), a flow controlled subsystem, transmission delay, a switch and non-linear controller subsystem and the destination.

Poisson Integer Generator
The Poisson Integer Generator block models the ABR traffic that transverses through the ATM network.it generates random integers using a Poisson distribution.
where; λ = positive number known as the Poisson parameter, exp = base of the natural logarithm.

Non-Linear Congestion Controller
The model as designed in this work is seen in Figure 6. The flow control subsystem helps in regulating the flow of traffic at the source (consumer/user end) into the ATM network. ABR traffic passes through point 1 to Add1 and also through the limiter to Add2.The output of the two Add blocks were passed to the switches. The switches looks at the output of the Add block to determine if it's going to pass the third or the first input. The output of the switch 1 and switch 2 are being fed into another set of Add block, the Add3 and Add4 block. The Add3 block subtracts the output of Add5 block from the output of switch2. The Add4 block sums the output of Add5 block and switch1 block. The output of the Add3 block is passed into the integrator block that outputs the integral of its input at the current time step .This output is being fed back into the Add5 block to be added to the ABR traffic from the Poisson integer generator. Now, the output of the Add4 which forms the controlled ABR traffic is now passed to the ATM switch subsystem.

Transmission Delay
This deals with delay in transmission link between the ABR traffic source generator(consumer) and ATM switch. The Unit Delay block delays controlled ABR traffic by sample period of -1 seconds. The delay block is used to model transmission delay and it is Equivalent to the z -1 discrete-time operator. The block accepts the ABR traffic input and generates one output. If the input is a vector, all of its elements are delayed by the same sample period.
The value of ABR traffic due to delay is stated in (2).

Switch and Non-Linear Controller Subsystem
This subsystem model and its derivative are given in (1) (8) (9) & (14).  This subsystem is divided into: i. ATM Switch subsystem ii. IDCC (Integrated dynamic congestion controller) subsystem iii. Out flow from buffer subsystem.

ATM Switch Subsystem
The model for this ATM switch is given in (1). The ATM switch subsystem as seen in Fig 3.9, is made up of various systems/ blocks that work together, according to Equation(1), inorder to achieve its switching function. The Cserver (finite buffer) is the bandwidth (capacity, cell service rate) allocated to the ABR traffic at the ATM switch and x buff is the maximum possible queue size for the ABR traffic. The relationship between C max , α , buff , ref , k_ bar is given and defined in (14).

IDCC (Integrated Dynamic Congestion Controller) Subsystem
The IDCC controller is based on the algorithm shown in Equation (4) below.
It is made up of five (5) input namely: ẍ, x ref , α , δ and ǩ and one output (C) that is fed back into the ATM switch.
a. ẍ (represented by X_bar in Fig 3.10) is given by the difference between X and X ref as stated in (8). b. X ref is a constant set by the designer or network operator for adjusting the ATM switch queue state. c. α, δ and ǩ (represented by alpha, delta and K_bar in Figure 9) are the design constants for the non-linear controller.
The part of (10) is represented by the MATLAB function in Figure 8 and ρ represented by a MATLAB function Ro in Figure 9. This MATLAB model in Figure 10 represents the outflow of the ATM switch to the next node which can be either a destination or another ATM switch.  Parameters adopted for this simulation are stated in Table  1, 2, 3 and 4.   Figure 11. Display of packets and Cell placement for calculation purpose. In this research work we evaluate the performance properties of the proposed strategy using a 1-node network model, The xmt_ws source is a Poisson distribution source modelled as shown in Figure 4, with a lambda ( ) of 10. The sample "period between packets is 0.0005 seconds. The ATM switch has a finite output buffer ( ) of 128 cell places with a reference point( ref ) set to 0.2 cell places. "The controller design variable α is selected equal to 10000, and the ISS Filter period (for calculating new Service Rate) is set at 112040 cell times"[16] [18].

Results and Discussion
Both model in (1); and "MATLAB simulation consider the same input representing a bursty on-off source, shown in Figures 11&12 (MATLAB output). The active and idle periods of the connection are shown in part (a), the packet activity in part (b), and the cell activity in part (c) of Figure  11. The idle period has a geometric distribution with the mean value chosen to adjust the network load. During each active period a number of packets are generated with a geometric distribution and mean number of packets N" [16].
The time evolution of the queue state from MATLAB simulation is presented in Figure 12. From Figure 12, we can observe that there is a reasonable agreement between the proposed model and the required one as described in (1) .
The simulations of the simple model shown in Figure 4. together with the controller in Figure 8 using MATLAB demonstrate the "validity of the model and robustness of the proposed controller with respect to model uncertainties and noise effects" [16].

IDCC (Integrated Dynamic Congestion Controller):
We test a variety of cases in order to allow us to evaluate the responsiveness and robustness of our control design. The results generated when the reference point is set to 0.2, 0.3 and 0.4 are represented below in Table 1, 2 and 3 respectively. For example at t = 0.10 sec the ABR queue is 0.3660 cells. At t=0.50 we want ABR queue to be dropped down to 0.4318 cells. This means that we can either increase the switch service rate available for ABR traffic or regulate at the ABR sources to send less traffic. Also notice that in Table .2 and 3, there was a drop a the same time. Things get more complicated when real-time services get more demanding. This means that the ABR sources must again drop its sending rate. At t=0.5 ABR sources have more bandwidth represented by C (t) in Table 1, 2 and 3. It shows that the controller adapts very quickly to the set reference point. Also a graph of C(t) ( which is the bandwidth (capacity, cell service rate) allocated to the ABR traffic at the switch) and X(t)(which is the state of the queue (i.e. ensemble average of number of cells in the queue) at reference point of 0.2,0.3 and 0.4 against the MATLAB simulation time.

Conclusion
A number of simulations were carried out using a computer -based approach and the system was evaluated. The poisson generator model was useful in, reproducing the phenomena in Fig 4.3 of ABR (Available Bit Rate) traffic. A number of network models were developed and results were obtained for the modelled systems.
The proposed scheme for congestion control uses the IDCC approach. A specific challenging formulation for managing traffic, passing through the output port of the switch is represented. IDCC is developed from non-linear control theory using a fluid flow model. This fluid flow model represents the dynamical system behavior, taking advantage of the packet flow conservation considerations and by matching the queue behavior at equi-state. In this way analytical performance limits can be abstracted, for a robust controlled network behaviour. We focused on ABR traffic service (which is a type of real time service). A supplementing study can be carried out to further represent other traffic services and also assess the performance of the system.