Mobile Agent-based Network Signaling for Resource Negotiations


Weiyi Li

David G. Messerschmitt

Department of Electrical Engineering and Computer Sciences

University of California at Berkeley

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:

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:

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:

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