| |
Mobile Agent-based Network Signaling for Resource Negotiations
Workshop on Resource Allocation Problems in Multimedia Systems, IEEE
Real-Time Systems Symposium, December 1996, Washington, DC.
- 1.0 - Introduction
- 2.0 - The Agent-based
Approach
- 3.0 - The Experimental
Platform
- 4.0 - Conclusion
- 5.0 - References
1.0 Introduction
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 the Internet.
Complex network service and resource configuration require 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 this 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 has taken 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 major outcome of TINA is an architecture in which control entities
do not require global knowledge of the network resources and traffic conditions.
TINA can protentially be extended to incorporate a logically distributed
negotiation 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 such negotiation in wide-area networks, and particularly
those that are continental or global in nature.
In particular, the message-passing mechanism will suffer from the latency
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 greater than the time it takes to transmit even a large message. 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, and hundreds of milliseconds on a global basis.
If a negotiation requires multiple synchronous transactions, the incurred
latency due to propagation and other delays may be intolerable, not to mention
the signaling traffic generated. This is particularly true in today's multimedia
services. For these services, multiple connection establishments and teardowns
is an integral part of the service, and it significantly increases the amount
of signaling required to conduct and control the service as well as user
sensitivity to establishment delay.
As a solution to this problem, we propose mobile and task-oriented (ie.
the goal of an agent is to complete a predetermined task [Rosenschein94])
software agents for network signaling.
2.0 The Agent-based Approach
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
a 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 trades fewer messages
against more information in each message. This tradeoff is beneficial in
a geographically large broadband transport network, where propagation delay
becomes far greater than the transmission delay. This aggregation unit can
be implemented using mobile agents.
There no consistent definition of an agent. For our purposes, an agent
is a software entity that represents its originator to achieve a predefined
goal. Agents can be either mobile (capable of migration from host to host)
or stationary, and may or may not incorporate artificial intelligence (AI)
techniques. Open Systems Interconnection (OSI) network management agents,
for example, are stationary agents that represent a managed object, permitting
control operations to be performed by a managing application [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 originator.
A mobile agent can perform a wide variety of tasks. For instance, it
may traverse several switch management facilities to collect traffic traces,
and, based on this information, issue the appropriate management controls.
The number of possibilities could be greatly extended by allowing multiple
mobile agents cooperatively carry out tasks. Negotiating resources during
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].
Mobile agents can be used as a replacement for message-based signaling
in network management services. A mobile agent's ability to perform multiple
remote operations can 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 take too long to perform under a message-based
systems. One such application is multiparty service negotiation.
In this project, we investigated agent-based signaling in the negotiation
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 investigated is the following: two or more end users
and one or more service providers are brought together to negotiate an the
optimal set of resources (in terms of cost-effectiveness) 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:
- Users determine what configurable services (audio, video, etc), are
desired.
- Based on these objectives, service providers calculate the optimum
allocation of impairments among themselves, based on the minimum cost for
the resources needed to support this call, subject to the end-to-end objectives
established in step 1.
- Users evaluate the choices presented by service providers, and complete
the call by accepting the satisfactory selections, or alternatively modify
their objectives should the overall cost or end-to-end performance not
be satisfactory.
3.0 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,
maximizing flexibility in using agents without worrying about the possibility
of a hostile agent damaging the local host. As an interpreted language,
Java is able to execute on multiple platforms, as is desirable in a network
environment. It is these characteristics of Java that we exploit to implement
the mobile-agent experimental platform.
We built an environment for these investigations, Java-To-Go, that is
a set of Java-based interface and class definitions implementing a distributed
cross-platform environment for task-oriented mobile agent experimentation.
Within "Java-To-Go", mobile agents are implemented as threads
and interagent exchanges. An agent 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:
- Capturing the agent's current state,
- Transfering the agent's implementation (in the form of a Java class)
and the captured state to the remote host,
- Instantiating a agent from that class and initializing it with the
captured state.
Based on "Java-To-Go", we have successfully simulated service
negotiation scenarios in which agents employ simplistic negotiation strategies.
Here, each participant in the negotiation is represented by an agent. Different
agents, while possessing a common interface to the negotiation process,
contain different algorithms and state representing the heterogeneous participants.
We experimented with the following negotiation participants:
- User agents contain the necessary controls 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) attributes.
- Switch agents represent a network's administrative managers during
the negotiation. These agents carry a simplified model of the QOS-to-resources
and a resource-to-cost mapping, which are used to derive the resources
and their attendant costs, for a given set of QOS and traffic parameters.
In our experimental signaling framework, a user is responsible for initiating
call establishment by transmitting 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 pass through each
of the intermediate service providers. Switch agents (one per switch per
call), instantiated by each provider along the proposed route of the call,
encapsulate a description of the resources the switch has allocated for
this connection. Along with the resource mappings mentioned above, the switch
agent traverses to a neutral mediator (called a "broker") for
the actual resource negotiations. Here, user agents collectively decide
on the end-to-end services, as well as the corresponding QOS and traffic
parameters. Once the criteria have been determined, they are 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 determined, each of the agents captures that information and returns
to their originator. The switch agents return to the switch and attempt
to refine the resources allocated for this connection. The user agents return
to the users and activate the appropriately configured applications.
Clearly, there are other configuration parameters amenable to negotiation
in this style. For example, a user may negotiate with agents representing
alternative routes and service providers to uncover the lowest-cost route.
Furthermore, complex negotiations permit the use of dynamic service-provider
pricing strategies, for example designed to maximize profit taking into
account current traffic conditions, other carriers' pricing schemes (perhaps
estimated from previous negotiations), and the customer's willingness to
pay.
4.0 Conclusion
While our experiments were considerably simpler than those required
in a full-blown network application, they did establish that signaling with
mobile agents reduce the latency incurred due to propagation delays and
reduce the recurring signaling traffic. Agents permit complex network management
functions to be performed in less time than a message-based system. 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 to represent it in in the negotiation, permits the agent
to congregate with other agents to negotiate for a satisfactory solution,
and receive the result of the negotiation.
This project has explored a small fraction of the considerable opportunities
for an agent-based signaling system. Among other enhancements, we are currently
investigating multiparty cost-oriented negotiations conducted with agents
that encapsulate game-theoretic strategies to provide greater negotiation
flexibility. In addition, we are 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 coexist within the same signaling system. Take TINA's service
architecture as an example. Here, agent-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 system employs the signaling
mechanism best for each task.
5.0 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.
Agent QoS negotiation - 12 SEP 1996
Generated with Harlequin
WebMaker
| |