Design and implementation of a flexible traffic controller for ATM connections

In ATM networks, the congestion control paradigm is built on two basic principles. The first states that the adequacy of a service delivered to a particular user should not depend on the detailed behaviour of other users. The second is that network should provide enough feedback to users to effectively utilize the available resources. Traffic management is concerned with controlling the source behaviours to ensure they get their desired Quality of Service (QoS). It includes the Connection Acceptance Control (CAC) and the Usage Parameter Control (UPC). In order to avoid data loss at the UPC, we propose to implement a traffic controller at the source edge. With its two components, — a traffic regulator and a connection scheduler-, this controller shapes the input traffic so that it becomes amenable to the policing mechanisms. The purpose of locally controlling a source is the improvement of the TCP performance over ATM networks. We argue that the policing mechanism used in the regulation component should be less stringent than the Generic Cell Rate Algorithm (GCRA) proposed by the ITU. The control method proposed in this paper is more flexible and is suitable for providing performance guarantees in high speed networks. Moreover, a quantitative means of defining a packet-to-cell parameters conversion is discussed. Its purpose is to ensure the efficiency of the control mechanism when implemented at the packet level. We present the results obtained by the implementation of this controller in a multi-tasks environment. We show how we can obtain reasonable bandwidth utilization while remaining conform to the traffic contract limitations. Finally, we present how this method achieves simplicity of implementation as well as flexibility in the allocation of bandwidth to different connections.