--------------------------------------------------
Agent-based Network Signaling for Negotiations
Weiyi Li, David G. Messerschmitt
Extended Abstract
1. Introduction
In order to achieve differentiated QoS among network users, there is
need for the active configuration of QoS. Such capabilities are integral
to modern broadband networks such as ATM, and are under active study in
framework such as the Internet. Complex network service and resource
configuration requires an enhanced control infrastructure, and
associated pricing mechanisms, as a part of session establishment. These
control functions act on network elements and are specified by the
service consumers through two sets of parameters (the quality of
service, QOS, specifications and the traffic characterization).
A representative research effort in establishing control infrastructure
for telecommunication networks is the Telecommunications Information
Networking Architecture (TINA), led by the TINA-Consortium. TINA builds
on the established standards for distributing computing and
telecommunications, providing an open architecture for service
development and management and network management services. To achieve
this, it took a component-based approach: all services are constructed
as an integration of service components, each of which can be further
decomposed into software computational objects. In taking this approach,
existing components may be easily reused and extended. In addition, all
computational objects are integrated together through TINA's homogeneous
distributed operating system, in a client-server computational model
through remote-object-method invocation [Dupuy95].
One of the major results from TINA's efforts is an architecture in which
control entities are able to avoid global knowledge of the network
resources and traffic conditions. TINA can be protentially extended in
which a logically distributed negotiation is conducted among network
elements as part of establishment, taking into account pricing
strategies and traffic conditions. However, TINA's client-server model
of communication, which employs a RPC-based message-passing mechanism,
may not be suitable for control operations in wide-area networks,
in particularly those networks that span across the continent.
The message-passing mechanism suffers a serious problem in wide-area
networks: the latency due to message propagation from one host to
another can be quite significant, and in today's broadband networks,
much more than the time it takes to transmit a large packet. Even at the
speed-of-light, and ignoring all intermediate switching and processing
delays, a control message will require almost 30ms to travel round-trip
across the United States. This is a fundamental bottleneck: since the
speed-of-light is constant, you cannot decrease a message's propagation
latency. Therefore, if an operation requires multiple transactions, such
as resource and cost negotiations during call establishment, the
incurred latency for the operation would be intolerable. In addition,
requiring multiple messages to implement an operation has an undesired
effect of generating unnecessary amounts of signaling traffic,
especially in today's fast-expanding networks.
As a possible solution for this problem, we present the notion of
employing mobile and task-oriented (ie. the goal of an agent is to
complete a predetermined task [Rosenschein94]) software agents for
network signaling.
2. The Agent-based Approach
We believe that message-based transactions are not suited for all
control applications, particularly those that are latency limited (ie.
the application requires a response from the previous request before the
next request can be issued) [McDysan95]. For such applications, a
signaling mechanism is needed in which an unit of transaction is an
aggregation of related control functions together with a managing entity
which permits the unit to be physically transferred to a remote location
to participate in control operations. Compared to the transfer of a
simple message, the aggregated unit requires larger amount of
information to be transferred. This works well in a broadband transport
mechanism, where propagation delay is far greater than the transmission
delay. This aggregation unit can be implemented using mobile agents.
There does not seemed to be an agreement on the definition of an agent.
For this project, an agent is a software entity that represents its
initiator to achieve a predefined goal. Agents can be either mobile,
where the agents are capable of migrate from host to host, or
stationary, and may or may not incorporate artificial intelligence. Open
Systems Interconnection (OSI) network management agents, for example,
are stationary agents. Such an agent represents a managed object,
permitting control operations to be performed by a manageing
application. These agents remain stationary over the duration of its
operation [Black95]. A mobile agent, on the other hand, is able to
migrate to multiple hosts in a predetermined sequence. Furthermore, a
mobile agent can perform different sets of control operations for each
host it visits asynchronously from its sender.
A mobile agent can be constructed to perform a wide variety of tasks.
For instance, such an agent may be sent to several switch management
facilities to collect traffic traces, and based on this information, the
same agent can issue the appropriate management controls. However, the
number of possibilities would be greatly extended by employing multiple
mobile agents to carry out tasks in a cooperative fashion. Negotiating
resources for a call establishment, for example, is a possible
application for a multi-agent system. This is known as Cooperative
Problem Solving in distributed artificial intelligence [Rosenschein94].
Clearly, mobile agents can be used as a replacement for message-based
signalings in network management services. A mobile agent's ability to
perform multiple remote operations will be used to reduce the amount of
signaling traffic and, as a consequence, signaling latency. Furthermore,
agent-based signaling can be employed to implement complex network
management applications, requiring multiple signaling transactions, that
would normally be too slow to perform under a message-based systems. One
such application is the multiparty service negotiation.
In this project, we investigate the use of agent-based signaling in
negotiations of cost and resource for call establishment. In particular,
we consider the use of mobile, task-oriented agents as the signaling
mechanism for latency limited control applications.
The scenario we are interested in is the follow: two or more terminal
users and one or more service providers are brought together to
negotiate for the optimal set of services (in terms of
cost-effectiveness) that are needed to support the call. For example,
suppose two users want to establish a video conference call through
multiple service providers, and each user has several video encoding
methods at their disposal. The negotiation would be conducted, with each
party represented by an agent, in the following order:
1. Users need to determine what services, from the set of codecs common
to both, are desired.
2. Based on the above criteria, service providers calculate the optimum
resource allocation among themselves, which is usually the minimum
cost for the resources needed to support this call.
3. Users evaluate the choices presented by service providers, and
completes the call by accepting the satisfactory selections.
3. The Experimental Platform
In this project, agents and their environment are implemented with a
secure, distributive, and interpreted language, the Java Programming
Language from Sun Microsystems [Arnold96]. Java provides a secure
execution environment, enabling maximize flexibility in using agents
without worrying about the possibility of a hostile agent destroying the
local host. Being an interpreted language, Java is able to execute the
same set of codes on multiple platforms. It is this characteristics of
Java that we used to implement the mobile-agent experimental platform.
The environment we used for our investigations of a mobile agent-based
signaling is named "Java-To-Go". This is a set of Java-based interface
and class definitions that implements a distributed cross-platform
environment for task-oriented mobile agent experimentation. Within
"Java-To-Go", mobile agents are implemented as threads and conducted
interagent exchanges. An agent which is comprised of two components: the
Java code that defines the agent's behavior, and the set of attributes
that identifies the current state of the agent. A mobile agent migrates
to another host by:
1. Save the agent's current state,
2. Transfer the agent's implementation (in the form of a Java class) and
the saved states to the remote host,
3. Initialize the class with the previously saved hosts.
Based on "Java-To-Go", we have successfully simulated service
negotiation scenarios in which agents employ simplistic negotiation
strategies. Here, an agent is used to represent each participants in the
negotiation. Different agents, however, contain different information.
Basically, our project divided the agent-based signaling to have the
following participants:
- User agents, first of all, contain the necessary controls that are
needed to negotiate with other user agents. Their goal is to determine
which of the services should be included in the call establishment. The
user agents specify the desired level of services through two sets of
parameters: the traffic parameters and the quality of service (QOS).
- Switch agents represent a network's administrative managers during the
negotiation process. These agents carry a simplified model of the
QOS-to-resources and a resource-to-cost mapping, which are used to
derive the amount of resources, and how much it costs, for a given set
of input QOS and traffic parameters.
In our experimental signaling framework, an user is responsible for
initiate the call establishment process by sending off an user agent to
its destination. The agent will place requests for resources to be
allocated for this call at each of the intermediate service providers.
Since a call may be supported by one or more service providers, the user
agent would itinerate through each of the intermediate service
providers. As a result, switch agents (at one per switch per call) are
generated along the proposed route of the call. These agents contains the
resources the switch has allocated for this connection. Along with the
resource mappings mentioned a bit before, the switch agent traverses to
a neutrally hosted area, the "broker" to prepare for negotiation.
The "broker", a neutral mediator, is where all the negotiations take
place. Here, user agents decide on what end-to-end services the users
would agree upon, and the corresponding QOS and traffic parameters. Once
the criteria have been determined, it is used as a guide by the switch
agents in an attempt to iteratively optimize the resource initially
allocated at the switch. When the optimum resource allocation has been
calculated, the result is configured into each of the agents, and the
agents are returned to the point of their origin. The switch agents
returned to the switch and attempt to refine the resources allocated for
this connection. The user agents returned to the users and activates the
proper telecommunication applications.
4. Conclusion
Signaling with mobile agents did indeed reduce the latency that incurred
with traffic propagation and reduces the amount of recurring signaling
traffic. It permited complex network management applications to be
performed in shorter times than that of a message-based system. For
this, we have successfully demonstrated the utility of a multi-agent
system for network negotiations. In a single transaction, each
participant is able to issue a single agent that represented itself in
the negotiation, permit the agent to congregate with other agents to
negotiate for a solution that it considered satisfactory, and obtain the
result of the negotiation.
This project only has explored a fraction of the vast potential that
existed within the agent-based signaling system. Among other
enhancements, we are current investigating multiparty cost-oriented
negotiations that are conducted with agents that are programmed with
game-theoretic strategies to provide greater negotiation flexibility.
In addition, we are also identifing the set of basic functionalities
needed to minimize the overhead for conducting agent-based negotiations.
Our approach to network signaling should be viewed as an augmentative
mechanism to the network signaling system. Indeed, both agent and
message-based transactions can be made to coexist within the same
signaling system. Take TINA's service architecture as an example. Here,
agents-based signaling can be used in high-level management services
(between administrative entities among networks) while message-based
signaling is used to provide control functions within a local
subnetwork. In this fashion, the signaling architecture employs the
signaling system that is best for the task.
5. References
[Arnold96] K. Arnold and J. Gosling, The Java Programming
Language, Addison-Wesley, 1996.
[Black95] U. Black, Network Management Standards, 2nd ed., McGraw-Hill
Inc., 1995
[Chang94] W.-T. Chang, W. Li, D.G. Messerschmitt, and N. Chang, "Rapid
Deployment of CPE-based Telecommunication Services", Proceedings of
GLOBECOM'94, vol. 2, pp 876-880, San Francsico, CA, USA, Nov 28-Dec
2, 1994.
[Dupuy95] F. Dupuy, G.C. Nilsson, and Y. Inoue, "The TINA Consortium:
Towards Networking Telecommunications Information Services",
Proceedings of ISS'95, 1995.
[McDysan95] D.E. McDysan, D.L. Spohn, ATM: Theory and
Applications, McGraw-Hill Inc., 1995
[Messerschmitt96a] D.G. Messerschmitt, "The Convergence of
Communications and Computing: WHat are the Implications Today?",
Proceedings of the IEEE, August 1996.
[Messerschmitt96b] D.G. Messerschmitt, "The Future of Computer
Telecommunications Integration", IEEE Communications Magazine,
vol. 34, no. 4, pp. 66-69, April 1996.
[Rosenschein94] J.S. Rosenschein and G. Zlotkin, Rules of
Encounter, MIT Press, 1994.