Traffic and congestion control is a major issue in ATM networks. One o
f the basic problems faced in the design of efficient traffic and cong
estion control schemes is related to the wide variety of services with
different traffic characteristics and quality of service (QoS) requir
ements supported by ATM networks. In this article, the authors propose
a new way of organizing the control system so that complexity is easi
er to manage. The multi-agent system approach, which provides the use
of adaptative and intelligent agents, is investigated. This is a power
ful way to introduce a degree of intelligence into an otherwise purely
algorithmic approach. The authors show, through the two congestion co
ntrol schemes proposed, how to take advantage of using intelligent age
nts to increase the efficiency of the control scheme. First, TRAC (thr
eshold based algorithm for control) is proposed, which is based on the
use of fixed thresholds which enables the anticipation of congestion.
This mechanism is compared with the well-known push-out algorithm and
it is shown that the authors' proposal improves performance. Also dis
cussed is the necessity of taking into account the dynamicness of the
network and investigating the multi-agent system approach. In TRAC, ad
aptative agents with learning capabilities are used to tune the values
of the thresholds according to the status of the system. However, in
this scheme, when congestion occurs, the actions we perform are indepe
ndent of the nature of the traffic. Subsequently, we propose PATRAC (p
redictive agents in a threshold based algorithm for control) in which
different actions are achieved according to the QoS requirements and t
o the prediction of traffic made by the agents. Specifically, re-routi
ng is performed when congestion is heavy or is expected to be heavy an
d the traffic is cell loss sensitive. This re-routing has to deflect t
he traffic away from the congestion point. in this scheme, we propose
a cooperative and predictive control scheme provided by a multi-agent
system that is built in to each node.