-------------------------------------------------- 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.