Autonomy and Decentralization in Active Networks: A ... - CiteSeerX

1 downloads 9206 Views 114KB Size Report
In this paper, we will show that mobile agent technology is a good candidate for the ... The impact of the dynamic software download and of its execution inside the ... Lower network management overhead and computational load because of ...
Autonomy and Decentralization in Active Networks: A Case Study for Mobile Agents Ingo Busse, Stefan Covaci, André Leichsenring German National Research Center for Information Technology, Institute for Open Communication Systems (GMD FOKUS) Kaiserin-Augusta-Allee 31, 10589 Berlin, Germany http://www.fokus.gmd.de/ima

Abstract This paper discusses the applicability of mobile and intelligent agent technology for the development of active networks (AN). Agent technology has the potential to enhance the autonomy and decentralization of both deployment and execution solutions in an AN environment. The roles involved in an active network business scenario along with the actor specific requirements are shortly outlined. The main part of the paper introduces an agent-based active network architecture able to be built on top of existing programmable network nodes. The APIs offered by the proposed active node architecture are compared with the peer standardization efforts for open node interfaces. Two example applications demonstrate how ANs can improve the functionality of today’s networks, and how mobile agents enhance the robustness and performance of the AN solution

Key words: Active Network, Mobile Agent, Autonomy, Decentralization, Maintenance, Multimedia Multicast Filters

1 Introduction To accommodate the complex nature of the new supply chains, the versatility of higher level networked applications and the increasing number of users and user categories, all of these being characterized by heterogeneity and dynamically evolving requirements, a flexible and dynamically adaptable and extensible networking/communications infrastructure is needed. Most important in this context is the demand for rapid, dynamic and smooth creation/integration of new network services or service features, which is in contradiction with the slow standardization process that usually determines the network evolution. One category of emerging solutions in this context is called Active Networks (AN). Active Networks are composed of nodes that support dynamically programmed services adapting their operation or configuring their internal resources based on user-injected programs (users are network administrators or consumer applications). In this way, an active network is in the position to offer the operator and

consumers dynamic programming and customization facilities which network/communications services.

can be

used by

In this paper, we will show that mobile agent technology is a good candidate for the development of active networks because it offers the benefits of autonomy and decentralization to the users as well as to the developers of active network technology. The paper is structured as follows: Section 2 gives an overview about the roles in an active network business framework. Section 3 presents an active network architecture based on mobile agent technology and describes the open node interfaces. It outlines the expected benefits of this architecture for each of the roles involved. Section 4 presents application areas for active network technology. Section 5 summarizes the results and concludes the paper giving also an outlook to further work.

2 Active Network Functional Frameworks The impact of the dynamic software download and of its execution inside the nodes on the overall performance and flexibility of the AN solution calls for new functional frameworks. Thus, active networks have to consist of two major parts: a deployment framework and an execution framework. Whereas the deployment framework introduces a model of how services can be installed on demand, the execution framework describes how the injected components execute and co-operate in order to provide a safe, secure, robust and consistent network. Different from the traditional networking, the deployment and execution frameworks have to provide open network interfaces accessible also by other parties than the network administrators. AN technology has the potential to satisfy the needs of the various groups that exist in the market today. When considering the deployment and the execution frameworks, we can clearly distinguish between two roles: •

A network operator, is the party that manages the active network (represents the owner of the AN)



A customer, is the party that uses and controls the service of data transport over this network (is the owner of the active networking service)

Both parties have different requirements and responsibilities resulting from their roles in a business case. Customers want to have absolute control of the services that they (create and) use. That means customization of services via customer programmability (from a simple configuration to new protocol deployment), advanced security that they can control and modify, capability to deploy easily new technology they possess via injection of programs to the network, etc. This can be done for instance by active components which are installed on the AN nodes on demand in order to satisfy customer preferences / needs. AN is essentially a user-centric technology. The main advantages AN technology provides to customers are: • • •

Adaptation of the network to the customers demands Lower investment and higher reliability More freedom and creativity in devising their own communications solution

Network operators in contrast want to have control not only about the services and nodes involved in a certain session. They require complete control about the current state of all resources inside the network and the possibility to control the usage of these resources by customers. AN can introduce an easy-to-use and high performance service management that allows network operators to update node software in a comfortable manner. The new flexibility an operator offers to customers also result in new issues for security, monitoring, and admission control. A network operator benefits from offering an AN by: •

Accommodating more customer services

• •

Outsourcing the service management overhead to the customer Decreasing its dependence on equipment, middleware and solution providers

Additionally, a network operator can benefit from an AN infrastructure mainly by implementing and operating system and network management solutions using the AN deployment and execution frameworks. As such these solutions will offer: • • • •

Reduced software maintenance effort (e.g. for software updates) Introduction of new capability without service interruption Better resource allocation because resources are only used if required Lower network management overhead and computational load because of the decentralization and delegation of monitoring and control functionality

AN Technology will increase the capability that both roles offer/demand and in the same time will enhance the robustness (against functional, technological or requirements changes) and performance of such capability.

3 Agent Technology Support for Active Networking Since the early 90s, the mobile agent paradigm became a growing research area for software technology. Agent technology is showing a growing potential to satisfy the emerging requirements of the information and telecommunications markets and of their players. As such a number of research and standardization organizations (e.g. European Commission, EURESCOM, DARPA, OMG, FIPA, IETF, W3C) as well as commercial companies (e.g. IBM, ObjectSpace, IKV++) are engaged in producing and offering a considerable number of theoretical and practical agent-based solutions. Mobile Agents are autonomous software entities that act on behalf of a person or organization and that are able to change their physical location moving inside a network. An mobile agent based middleware provides mechanisms to migrate the agent’s code and execution state among different networked hosts and to execute there. Via the encapsulation of behavior definitions (i.e. the semantics of the agent itself) within the migrating agent, a mobile agent can support the delegation of large grain operations[Covaci98]. Traditional RPC APIs are only of static nature and as such not well adapted to the dynamic and changing environment. Additionally, the RPC design paradigm is based on a centralized operation scheme (around the client station) which requires concentration of the “co-operation knowledge” at the client side. The mobile agent technology in turn opens the way to a new, asynchronous decentralized system and applications design paradigm, as opposed to the traditional DOT client-server synchronous RPC approach. Implementation of migration-transparent services provide additional grounds for such designs by offering intrinsic support for higher autonomy and flexible decentralization, efficiency (load reduction and balancing) and robustness (fault recovery). Intelligence is another aspect of agent technology. For Intelligent Agents, the focus of concern are goal-orientation, social ability, learning capability / adaptability and personal / mental character. Intelligent agents are AI-based autonomous entities that co-operate with other entities to achieve the aggregated goal of the whole distributed system. Intelligent agents are capable of dealing with exceptional situations (flexibility / robustness), adapt to the environmental changes (learning based on interactions with the environment) and rationally (based on their personal character) co-operate with other agents in order to achieve their (adapted) goals. As shown above, the agent paradigm offers a powerful technology that has already been adopted by a considerable number of research projects. Why shouldn’t this technology be used for developing active networks ?

3.1

An Agent-based Active Network Architecture

An active network is built as an overlay of a legacy network. It consists of a number of active nodes1 connected to each other. Some of the legacy nodes may not be active. Such nodes are tunneled, i.e. all active network-related data are ignored and forwarded to an active node. In general, active components, i.e. mobile agents, can be inserted to an active network by end-user or network operators applications. Whereas user installed agents can adapt the network nodes in order to achieve the best utilization of the network for particular application-related data flow(s), administrator installed agents are able to manage network nodes considering all data flows. Thus, administrator agents can be installed in any active node (user agents instead are allowed to be installed only in nodes involved in their data flow) and do not have to be deleted after flow termination. These aspects have to be considered also when developing of an AN security facility.

Active Node

MA installed by a user’s application

Facilities Agent System

Traditionally Node

API

API

Router

Router

Active Node

Facilities

User A

Agent System API Router User B Router

API Agent System

Router

API Facilities

MA installed by the network administrator

Agent System

Active Node

Facilities Active Node Network Administrator

Figure 1: Deployment of active components

The technical realization of active component deployment by the network administrator is quite simple. Because the network operator’s host belongs to the active network layer, i.e. the distributed middleware necessary for the AN realization, an administrator application can directly and securely connect to any active node of the AN. The insertion of user agents in contrast is a little bit more complicated. The problem raises from the fact that user hosts are usually not part of the network operator’s domain and therefore should have no access to the active node configuration. How can this problem be solved ? A first solution would be that the user application has facilities that are developed with the active network in mind (active network-capable applications). These additional facilities have to provide the connectivity to the active network offering the possibility to be temporarily part of the operator’s AN domain. Technically this can be realized by spanning the distributed agent environment across the

1

In the following, we focus on IP routers as one example node technology.

network domain and the user host. Over such a bridge, mobile agents are able to migrate into the network.

Active Network Domain

User Application (Sender)

User Application (Receiver)

Network

Figure 2: Active components deployment - first approach Unfortunately, this solution requires an extension of the end-user applications which makes it complicated to integrate existing applications with AN technology. Alternatively to the development of AN-capable application, network edge nodes may provide techniques for node management considering the application data flows that arrive from outside hosts. This means, the AN domain provides dedicated entry points that are able to analyze the incoming stream and accordingly instanciate the appropriate active components that it installs in the AN nodes inside the operator’s domain.

Active Network Domain

User Application (Sender)

Edge Node

Edge Node

User Application (Receiver)

Network

Figure 3: Deployment of active components - second approach Thus, end-user applications can run without any changes. Another advantage of this approach is, that the network administrator keeps complete control of its network and no foreign code is injected by users. A disadvantage of this approach is that the applications can benefit from the AN only if there exist related active code templates in the edge routers, i.e. the entry active routers can only provide AN-capability for a fixed set of applications supported by the network administrator.

3.2

Active Node Architecture

The proposed architecture of an active node is depicted in figure 4. Each active node consists of the following components:



A programmable node (e.g. a programmable IP router), which provides an extended API for the dynamic programming/customization of its resources and services (like buffers, traps, forwarding map).



A dedicated Mobile Agent Platform, which provides a number of Execution Environments (EE) for the mobile agents that visit the active nodes and program their services. The platform will also “integrate” the active router API facilities and offer to the visiting mobile agents access to them via the MA agent system facilities.



A number of Mobile Agents that reside in the agent system and utilize the agent system facilities in order to access and program the services of the active router.

Component Execution Environment (EE)

EE

Active Node

Active Node API

Application Specific Active Components

EE

Active Node Facilities Configuration, Resource Management, Security, Wrappers, etc.

Intelligent Mobile Agent Platform

Programmable Node API

Programmable Node

- Routing Functionality MIB

Figure 4: Active Node Architecture

In a typical scenario, a MA can be either generated by the customer/consumer (application) of the network services or by the network operator. The active network will have a management station or some Customer Network Management (CNM) interfaces, which enable the operator or the customers to specify and create such MAs for programming the active nodes. A programmable node in this context distinguishes itself from the conventional switches/routers via its enhanced programmability. A careful requirement analysis will be needed, in order to identify the node programmability facilities that are needed to support the emerging, novel telecommunications market structure and applications. These facilities will be made accessible to the external entities via the extended node API. They provide network management done by mobile agents or conventional network management using SNMP. A Java-based Mobile Agent Platform is preferred because the Java programming language offers a widely-used, modern language with support for platform independence (an important factor ensuring portability within a heterogeneous switch or router environment), code mobility and security within an open network. The proposed active node architecture includes several interfaces each providing methods to manage the network node on several abstraction levels. The architecture is based on a programmable node providing a programmable API. The term “programmable” indicates that this API contains extension that allow a more sophisticated configuration capability than today’s network nodes. Several companies are still in a development and test phase of such hardware. Programmable network nodes

may contain support for QoS guarantees or for improved package forwarding using priorities and queues. As in traditional network management, the interface to control these mechanisms is only accessible for network administrators via SNMP, CMIP or vendor specific interfaces. The introduction of an active network node on top of the programmable node provides an evolution from static network nodes to dynamically ones. Unlike with traditional or programmable networks, a node can be dynamically configured according to the demands of a certain application under dependency of the current network state. This results from the idea to move customer management functionality to the node whenever this is required and adapt the network layer to the demands of the application layer. In contrast to the traditional layered OSI model, the different requirements of today’s applications call for a different handling of data flows (e.g. video, voice, data streams) also on the network layer. The active node provides an Active Node API that provides users with methods for adapting the network exactly to their applications. From a user’s view these changes are of temporal nature only and related to a certain application, i.e. the network becomes “active”.

3.3

Open Interfaces for Programmable and Active Networks

The active network research started mainly with DARPA’s initiative and has remained confined largely to the Internet community. A standardization effort mainly related to open APIs was established within the IEEE which formed the P1520 working group. Another approach of interest is the work of the Multiservice Switching Forum, a forum of ATM switch vendors defining open APIs for ensuring interoperability between components from different vendors.

3.3.1 IEEE P1520 The P1520 working group proposed a set of standard interfaces which aims at creating a distributed programmable interface to network abstractions that allows signaling service programming software to be realized in a distributed software environment. Via these interfaces and the proposed views of the network and hardware states they permit it will be possible to have different types of signaling protocols and offer access to all of them via a generic interface. This can serve as a bi-directional benefit. Network service developers and application vendors will have the ability to implement services not specified in standard signaling protocols and conduct quality of service negotiations with the network elements. On the other hand hardware developers will also benefit from the enhanced and dynamic control of hardware by being released from the effort of complex software development. The P1520 Reference Model in figure 5 illustrates the different proposed levels of a programmable node. We can clearly distinguish levels, entities at each level and interfaces between levels.

End User Applications V-Interface Value-Added Services Level

Algorithms for value-added communication services created by network operators, users, and third parties U-interface

Entities Algorithms for routing, connection management, admission control, etc.

Network Generic Services Level

L-interface

Virtual Network Devices (software representation) CCM-interface Physical Elements (hardware, namespace)

L E V E L S

Virtual Network Devices Level

PE Level

Figure 5: The P1520 Reference Model The four interfaces provide separation between end-user applications and value-added services, network service provider and the underlying network resources. The high level model described above can be mapped to existing network technologies. Currently three types of technologies have penetrated the market : ATM networks, circuit switched networks based on the SS7 protocol and networks of IP Routers/switches. ATM technology addresses mainly the backbone networks, IP technology is rapidly growing in a variety of types of networks from data to voice and even wireless, and SS7 dominates the telecommunication market and telephony applications. For IP routed/switched networks the main idea is to dissociate the maintenance of state information from the algorithms that manipulate state in a network. Since IP routers are designed to do fast routing without selective communication session control (as P1520 proposes) and the IP community believes that is impractical to maintain per-flow state in large networks one could wonder why the P1520 proposed interfaces are necessary as they seem to be not desired by router manufacturers and users. A closer examination however reveals the necessity of those interfaces. When comparing the proposed agent-based node architecture as shown in figure 4 with the P1520 reference model, the following conformance can be derived: the PE level and the Virtual Network Device Level are covered by the Programmable Node so that the L-interface equals the Programmable Node API. Consumer injected agents will mainly use the U- and V-interface possibly provided by other (pre-installed) agents.

3.3.2 Multiservice Switching Forum (MSF) The goal of the MSF is to define an architecture that provides a separation of control and user/data plane aspects and develop a framework which can be easily extended to support new user/data plane and control functions [MSF98]. Therefore, an agreement about a set of intra-switch interfaces should be reached. These open interfaces allow service providers to deploy Multiservice Switching Systems composed of equipment from several vendors. A Virtual Switch Interface (VSI) protocol is suggested for the control of switches. Using this protocol, multiple independent network controllers can control a single ATM switch. The VSI protocol allows each controller to add and delete connections, to automatically discover resources, and to collect billing statistics. Additionally, the VSI protocol supports distributed processing, QoS, hitless

resynchronization, and efficient flow control to implement high performance, high availability as well as multiservice switching.

3.4

Active Network Facilities Based on Mobile Agents

As depicted in figure 4, an active node consists of a number of Execution Environments (EE) each providing the deployment of mobile agent based active components and their execution frameworks. From inside an EE, an agent is able to get access to basic active node facilities and the programmable node API. Thus it is able to use either the basic programmable interface offered by the node or more sophisticated management facilities pre-installed by the active network administrator. Node facilities may also be implemented as (mobile) agents. This provides an easy control and update by network operators (see example below). Example facilities are: •

Resource Management Facility: provides the installation, deletion and updating of installed services and facilities. Additionally, it can support billing functionality and versioning of the node components.



Configuration Facility: can be used to configure the programmable node. It can either act autonomously in dependency of the current network traffic (e.g. adaptation of node’s loss rate), or can be called by user installed agents or can be called remotely by the network operator.



Security Facility: ensures the authentication of components granting access to node resources and provides AN specific access control enhancements. Beside the security facility, the active node architecture avoids interactions between agents by isolation of the EEs (sandbox concept). The sandbox concept, adapted from Java Applets, protects local resources, the network node and other mobile agents from miscellaneous agents and runtime errors. A particular sandbox defines, in cooperation with the security facility (security policy of the node owner), the particular security policy for an active component sent by a certain user.



Command wrappers: can hide vendor-specific node APIs by translating standard-conformant control instructions (e.g. SNMP) to underlying vendor-specific programmable node API calls.

3.5

Expected Benefits

Mobile agents technology may play an important role in the development of active networks. We believe, that the main characteristics of mobile agents, i.e. mobility and autonomy, provide functionality that enables networks to become more active and more powerful. The main areas where AN can benefit from agent technology are: •

The usage of mobile agent technology makes the development of an active network facility much easier. The usage of existing mobile agent middleware technology and their integration into existing networks avoids the need to develop new and proprietary transport mechanisms for the deployment of active components.



As outlined in section 2, network operators require control of their network, including the installed active components. Usually, agent systems provide facilities to monitor, log and control distributed objects within a domain from a centralized point. In an active network architecture, such facilities can support the development of comprehensive network management solutions.



The AN community can use the experiences made by agent technology developers and users. Especially research that addresses security issues in open, distributed object systems are important and may increase the speed of AN development.



Active components realized as mobile agents are able to autonomously decide where they have to be installed in order to achieve an optimal network service configuration. Moreover, agent-based components can adapt themselves to the changing network conditions (self managed deployment itinerary). Alternative active network approaches using “dumb” components, e.g. capsules only transporting code, are not able to provide such flexibility.



The installation of autonomous components inside the network enables the development of distributed applications. Autonomous agents residing on several network nodes can interact and cooperate for a common goal, i.e. for providing a particular service.

4 Example Scenarios As mentioned in section 2, active network technology will provide benefits for network operators as well as for end-users. In this section, we will describe applications for active networks and show how these extend the capabilities of operators and users. The first scenario focuses on the network operator role and shows how network management can be done inside an active network. Another key motivation for the development of active network technology is to improve widely-used internet techniques in order to fulfill the demands of the growing internet community. Also of interest is to break down already existing router software to separate parts in order to be able to replace components on the fly. Candidates for autonomous facilities are components responsible for Web caching, Web prefetching, multimedia filters, and converters. The latest is discussed in more detail in the second scenario.

4.1

Software Maintenance by the Network Operator

In today’s networks, the network operator is responsible for the configuration and maintenance of the network nodes’ software. Because a network usually consists of hosts of several vendors or hosts of the same vendor but running different software versions, this task becomes more and more complicated. The way this is done can be characterized as uncomfortable: the software is updated for each node via remote login while the service is interrupted. Newer technologies ,e.g. some ATM switches, partially offer the capability to update software in a pull manner, i.e. a new software version is downloaded after request. In an active node, the node software can also be realized as component. Opposed to customer-specific software, these components are already pre-installed in the node and not moveable during execution. Via an administrator API, the network operator can install an update such components during the inservice phase. In contrast to traditional nodes, the operator must not login to the node and vendorspecific APIs are hidden by the AN middleware. AN technology offers a method to delegate this task to a facility responsible to contact all nodes under the operator’s control and to send agents containing the new software to those nodes. Thus, the software update can be performed in exactly those nodes where it is required, i.e. the software is pushed to the nodes.

4.2

Multimedia Stream Filters

By nature, distributed multimedia applications require multi-peer communication support. Providing satisfactory end-to-end QoS (bandwidth, delay, jitter, and error rate) support within multicast groups for continuous media data services is a major research issue. While a common quality agreement for data capture, transfer and display between the user and the provider can potentially be negotiated and

maintained for peer-to-peer user communications, this task becomes overwhelming when considering peer-to-multi-peer connections. In current packet switched networks, the issues related to resource allocation are addressed by reservation protocols. Filtering is an alternative method that has been proposed for effectively controlling QoS in point-to-point and multicast connections [Hoffman93]. Traditionally, filters outlined so far apply flow control at relatively low levels within a network, e.g. on the IP or TCP level. This low level approach can not be performed with multimedia streams. The reason is that filtering of low level packets would corrupt media streams because the frames depend on each other. One way to tie together the use of filters to QoS control is to introduce high-level QoS filters. Depending on the current network state and QoS parameters, application specific filters can adapt the media data stream (in case of video: height and width of the image, color depth and compression factor) to ensure a delivery also in situations when the bandwidth decreases. To introduce the concept of application level multimedia filtering for active networks, we start from a point-to-point multimedia connection. Traditional QoS reservation mechanisms, make reservations at the network layer only. Thus, a QoS guarantee is only valid for a link between two nodes of the complete path. Considering a network bottleneck in the last router of the connection, a higher reservation request would reserve higher bandwidth between the source and the last router, but lower bandwidth between the last router and the sink. The overall guaranteed bandwidth is only the lowest one in the entire path, i.e. equal to the bandwidth guaranteed by the last link (see fig.6). The idea of active networks allows to place filters in those network nodes, i.e. routers, where they can perform application level data reduction in order to achieve best network utilization. In the described scenario, it would be useful to place a filter in the first network node, which filters the media stream between source and sink and reduces the bandwidth of the stream to a value that can be guaranteed by the complete connection. Thus, the traffic inside the network is reduced by the difference between the source’s send rate and the sink’s receive rate (see fig. 7). The saved bandwidth can now used by another connection. Moreover, the usage of application data specific filters provides the integrity of the media data stream, i.e. the filtering on an application level avoids the loss of stream information. In a MPEG video stream, for example, the B-frames can be dropped without corrupting the MPEG video stream.

0.7 Mbit/s

0.5 Mbit/s Router

Router

Router

Application sends: 1.1 Mb/s

Application able to receive: 0.7 Mb/s

Figure 6: Waste of bandwidth in existing networks and packet loss because of a bottleneck

Filter

Application sends: 1.1 Mb/s

0.5 Mbit/s Router

Router Application able to receive: 0.7 Mb/s

Figure 7: Reducing network traffic through application specific filtering This simple example can be extended when considering a multicast communication, e.g. a video conference. The concept of filtering in active networks offers the possibility to inject filters in the network routers in a way that an optimal reservation tree is built. In the case of the described scenario,

the first filter is placed in the router nearest to the source and reduces the bandwidth from 1.1 Mbit/s to a value that is equal to the highest bandwidth, a sink can receive. In our scenario, this optimal network configuration is shown in figure 8.

Filter

0.7 Mb/s Router

Router

Filter

Application A sends: 1.1 Mb/s

Application B able to receive: 0.7 Mb/s

0.5 Mb/s

Application C able to receive: 0.5 Mb/s

Figure 8: Optimized multicast tree Another disadvantage of resource reservation in traditional networks is the static behavior of the reservation tree. RSVP only supports the addition and deletion of sink applications but not the reallocation of resources after a sink is added/removed. The combination of active routers with the filter concept enables the reservation tree to adapt the network to the requirements of the sinks. Therefore, several cases have to be considered in our scenario. To demonstrate these cases, the scenario from figure 7 is used again: assume an established reservation between A and B with a bandwidth of 0.7 Mbit/s. First, a sink (consumer application C) added to the reservation tree is able to consume a lower bandwidth (e.g. 0.5 Mbit/s) than application B. In this simple case, a new filter has to be injected in that router where the path A-C is splitted from the existing path A to B. Thus, a configuration as shown in figure 8 is reached. Secondly, if the new consumer is now able to receive a higher bandwidth than application B, two scenarios are possible. If the new consumer supports a bandwidth that is greater than the one the sender is able to deliver, the installed filter has to be moved to a router that is located nearer to application B (see fig. 9). This provides the transmission of a full-quality data stream to the new consumer, but with the same reduced quality to the old sink.

0.7 Mb/s Router

Router

Filter

Application A sends: 1.1 Mb/s

Router Application B able to receive: 0.7 Mb/s

1.1 Mb/s

Application C able to receive: 1.5 Mb/s

Figure 9: Self-adapting multicast tree: moving a filter In case, the bandwidth that can be processed by the new sink is higher than that of application B but lower than the sending rate of application A, the installed filter has to be re-configured (for filtering

the bandwidth to the bandwidth value supported by sink C) and a new filter has to be installed. This later one is responsible to adapt the stream for consumer B (see fig. 10).

0.7 Filter Router Application A sends: 1.1 Mb/s

Ø 1.0 Mb/s

0.7 Mb/s Router

Filter

Router Application B able to receive: 0.7 Mb/s

Application C able to receive: 1.0 Mb/s

Figure 10: Self-adapting multicast-tree: reconfiguring a filter

Another advantage of filters in active networks is the possibility to use different filter types and/or combining filters. The size of an MPEG video stream can be reduced using the following filter types: selective filters - that drop specific frames (as described above), transforming filters - that transform a colored image to a gray-scaled imagek, etc.. Furthermore, more than one filter operations can be undertaken inside a network router, e.g. drop the B-frames and the colors of an MPEG video stream. The high number of consumers in real-life environments will call for a dynamic adaptive network that is able to inject the filters exactly in the required network nodes. As outlined in the scenarios above, filters have not only to be installed (figures 7 and 8). A support for a self-adapting behavior, e.g. moving filters from one network node to another (figure 9) or a reconfiguration (figure 10) , is also required. For these purposes, the active network concept combined with mobile agent technology seems to offer a good solution that supports a generic behavior of complex filtering mechanisms customizable to specific application data streams.

5 Conclusion Mobile agents seem to be well suited to active networks. They provide the required functionality, such as installation of components on the fly into a running system (service) as well as management capabilities, in a standardized manner. Combined with open interfaces they provide the flexibility which is required to allow network operators a fully automated service provisioning as well as to allow consumers to customize the network behavior according to their needs. Security issues are addressed by a framework which allows the network operator to specify a policy with fine grained access rules to the resources on the nodes. A centralized management console allows the network operator to manage and supervise the nodes according to it’s management policy, while consumers overtake the responsibility of service management according to their particular network service management policy. The outlined scenarios show two applications that can benefit from the autonomy and the decentralization provided by a mobile agent based AN. Management tasks like software maintenance by the network operator can be performed much easier. Multimedia streams can be adapted by a set of distributed filter components. Mobile agents are able to bring filter instances to the required active node. Moreover, the autonomous characteristic of agents enables filters to self-control their execution parameters and location in dependency of the current network and terminal state (throughput) and to decide about re-configurations of the reservation tree in order to achieve an optimal network traffic. Therefore, filter-agents have to interact with other filters or management components. In sophisticated

scenarios this may result is a creation of filter-chains, where several types of filtering (image resolution, color depth) are combined. Other AN research projects (SwitchWare/PLAN, ANTS, Netscript) mainly focus on the possibility to inject code for a certain application in the network. But after a component was installed, the network behaves statically because the components are not able to reconfigure themselves autonomously nor to interact inside the distributed environment. Such capabilities are supported by the use of mobile and intelligent agent technology. In our future work, we will validate the concepts introduced by this paper and built a prototypical AN framework on top of mobile agent technology. The implementation will be based on next-generation, programmable IP routers and demonstrate how AN concepts can fulfill the growing demands of the internet community. Furthermore, in order to exploit the full benefit of autonomy and decentralization the mobile intelligent agents offer, a new application design framework offering resource location semantics (as opposed to the current CORBA) will be addressed.

6 References [BIB99]

C. M. Adam, J.-F. Huard, A. A. Lazar, K.-S. Lim, M. Nandikesan, E. Shim, “Proposal for standization of ATM Binding Interface Base 2.1”, submitted to P1520, January 1999.

[Biswas98]

J. Biswas, J.-F. Huard, A. A. Lazar, K. Lim, S. Mahjoub, L.-F. Pau, M. Suzuki, S. Rostensson, W. Weiguo, S. Weinstein, “Application Programming Interfaces for Networks”, IEEE P1520 Draft White Paper, July 1998.

[Covaci98]

S. Covaci, T. Zhang, I. Busse, “Mobile Intelligent Agents for the Management of the Information Infrastructure”, Proceedings of the 31st Hawaii International Conference on Systems Sciences, January 1998

[GSMP98]

P. Newman, W. Edwards, R. Hinden, E. Hoffman, F. C. Liaw, T. and G. Minshall, “Ipsilon’s General Switch Management Protocol Specification Version 2.0”, RFC 2297, Internet Engineering Task Force, March 1998.

[Hoffman93]

D. Hoffman, M. Speer, G. Fernando, “Network Support for Dynamically Scaled Multimedia Data Streams”; Proceedings of the 4th International Workshop on Network and Operating System Support for Digital Audio and Video; Lancaster University; 1993.

[MSF98]

http://www.msforum.org

7 Acronyms AN

Active Network

AI

Artifical Intelligence

API

Application Programmer’s Interface

ATM

Asynchronous Transfer Mode

CORBA

Common Object Request Broker Architecture

DOT

Distributed Object Technology

DPE

Distributed Processing Environment

EE

Execution Environment

IEEE

Institute of Electrical & Electronic Engineers

IETF

Internet Engineering Task Force

IP

Internet Protocol

MASIF

Mobile Agent System Interoperability Facility

MIB

Management Information Base

MPEG

Motion Picture Expert Group

MSF

Multiservice Switching Forum

OMG

Object Management Group

PE

Physical Element

QoS

Quality of Service

RFC

Request for Comments

RPC

Remote Precedure Call

RSVP

Resource Reservation Protocol

SNMP

Simple Network Management Protocol

TMN

Telecommunications Management Network

Suggest Documents