1
Programmable Agents for Flexible QoS Management in IP Networks Hermann De Meer , Aurelio La Corte , Antonio Pulia to , Orazio Tomarchio (1)
(2)
Dept of Electrical Engineering Center for Telecommunications Research Columbia University, New York, USA Istituto di Informatica e Telecomunicazioni, University of Catania, Italy Dipartimento di Matematica, University of Messina, Italy (1)
(2)
(3)
(3)
Correspondence address :
prof. Antonio Pulia to Dipartimento di Matematica Salita Sperone, Contrada Papardo 98166 Messina - Italy Phone: +39 090 393229 { fax: +39 095 338280 e-mail:
[email protected]
(2)
2
Abstract Network programmabillity seems to be a promising solution to network management and QoS control. Software mobile-agents technology is boosting the evolution toward application level control of network functionalities. Code may be deployed in the network dynamically and on-demand for the bene t of applications or application classes. Agents support a dynamic distribution of control and management functions across networks, thus increasing exibility and eciency. We propose to use mobile-agent technology to overcome some of the problems inherent in current Internet technology. We focus our attention to QoS monitoring, being locally signi cant in network sub-domains, and realize a QoS management strategy in response to variations of user, customer of application requirements and of the network state. We describe our experience and the results obtained from our test-bed, where software agents are instantiated, executed, migrated and suspended in order to implement exible QoS management in IP networks.
Keywords Software Agents, RSVP, Quality of Service, Underreservation, Adaptation, Customer Policies
I. Introduction
Saltzer, Reed and Clark have coined the famous \end-to-end" arguments in system design in 1984, which shaped the Internet signi cantly as we see it nowadays [26]. The arguments were based on the observation that functions placed at low levels of the network may be redundant and the cost may therefore not be suciently compensated by their value. As a result, network control and management were separated from application level control functions. One of the more prominent reasons to challenge this legacy wisdom is inherent in multimedia networking, where quality-of-service (QoS) requirements of applications have to be exibly met by networks in real time. Revisiting their original arguments, Reed, Saltzer and Clark point out that the driving force was in fact the need for exibility which led to the stated, well-accepted design principles of monolithic systems and networks [25]. But with the possible advent of programmable networks, the whole picture might change. Network programmability, as the ultimate form of exibility, might in fact open up the real possibility \to defer design choices upward in the layering, closer to the application, and later in time, even though the resulting functions may actually take place deep inside the network" [25]. It is therefore no contradiction to the end-to-end argument, rather to the contrary, if code is deployed in the network dynamically and on-demand for the bene t of
3
applications or application classes, as long as this would not compromise usability, performance and security of the network and its services as a whole. While network programmability is attracting increasing attention, its state of development is still at its infancy [16], [23], [9]. Meanwhile, pragmatic approaches have been suggested to use JAVA as an, albeit inecient, vehicle for rapid prototyping of network protocols and software agent systems. Based on a system independent application platform, code can be dynamically downloaded and can actually roam the network in order to perform network functions on behalf of customers, users or applications. This approach has the advantage of gaining experience in customizing network functionalities on the y as long as programmability has not become true on a broader scale. While computational eciency is of less concern under these circumstances, management, control and transport can be customized on demand in a smaller time scale. The existing approaches reach from ne grain in-band capsules, which replace IP packets and contain code and data, to router and switch extensions that are "plugged in" on demand on a somewhat coarser time scale, or any combination in between [23]. The motivation for using mobile agents in support of network transport, management, or control is to perform dedicated processing on behalf of customers inside the network at particular links or in particular regions of node clusters which may not implement the required algorithms and services. In this paper we present a strategy for exible QoS management in IP networks based on the use of mobile agents. The main part of the paper is initiated in Section II by a short review of the QoS problem in the Internet and a motivation for the introduction of programmability in networking, in general, and software agents, in particular. In Section III, the adopted reference architecture is described, our software-agent concept is introduced in more detail, and the coordination and communication mechanisms among agents are illustrated. Section IV presents the algorithm for implementing the resource reservation strategies within RSVP signaling. Section V introduces a heuristic approach to determine gures of merit for bandwidth allocation. Section VI shows the experimental results obtained by measurement in our network testbed based on our Mobile Agent Platform. Section VII comments about fairness of the proposed reservation algorithm with regards to the best-eort trac. Section VIII, nally, presents the conclusions and points out to future work and possible extensions.
4
II. QoS in the Internet and Programmability of Networks
QoS is related to multimedia applications and is characterized by quantitative measures, expressing subjective and objective criteria in terms of user satisfaction. User satisfaction by and large depends on the timeliness by which continuous media like audio and video data are presented in a distributed setting, exposing the data to transport and processing of various kind []. There are no dedicated resources provided in traditional internetworking data communication environments which are largely packet switched, allowing for highly exible and ecient data transport. The degree of resource sharing and multiplexing implies best-eort quality with respect to a timely delivery of service, meaning that there is no timeliness guarantee. Highly utilized networking and processing resources, which is desirable from a service provider's point of view, may result in temporary delay increases, relative throughput decreases or signi cant delay variations, all deteriorating QoS in a substantial way. Generally, two types of counter measures can be taken: provisioning of dedicated resources or adaptation of applications. There has been a long and painful struggle in the Internet community towards the royal way of resource reservation since the early nineties. Initial optimism was embodied in the ATM technology, implementing early QoS-architecture models and allowing for resource reservations and QoS guarantees to a large extend. Nevertheless, serious scalabilty and exibility concerns were soon raised, resulting in a somewhat lower enthusiams. While the IETF standardization body responded by rolling back to the IP networking layer, the ow-based (state-aware) resource reservation concept was pertained in the resulting intserv model [5]. Consequently, while part of the exibility problem appeared to be solved in the face of heterogeneous networking, scalability was not. More recently, the IETF community added another perspective to their spectrum of measures for QoS support in the Internet, namely, the provisioning of dierentiated service classes [27], thereby giving up on explicit resource reservations. Since the resulting diserv model does not rely on any ow-based state representation inside the core network, the approached solution appears to be better scalable than the earlier proposals [3], [4]. Still, concerns remain about the scalability and complexity of the remaining signaling procedure involved, in particular, in the face of the limited QoS predictability of the resulting services. While some of the cost factors have become more clearly visible, the bene t of service dierentiation for QoS support is still more or less a matter of belief. Reviewing the historical process in providing QoS support across the Internet, some observa-
5
tions can be made. It is becoming increasingly clear that ow-based reservation schemes such as RSVP/intserv, or ATM for that matter, do not scale well in core networks. On the other hand, it is questionable if QoS can be provided within a stateless approach. As a result, one may wonder if there is a single solution to all of the challenging questions at all. Wouldn't it be rather desirable to leave the decision of how much state to implement and what state to implement to the customer? Following that vision, each customer could implement its own policy, trading cost with service quality according to its own preferences and capacities. But to that end, network service must be open, exible and con gurable. Our vision is to provide such customized services in parallel upon demand. For example, some customers, who may represent larger organizations such as companies or universities or subsidiaries thereo, may wish to rely on guaranteed services provided by the intserv model (and are willing to pay for all implied resources), or may be satis ed with diserv model, accepting occational quality disturbances, or may even prefer to implement a type of service of its own that has not been standardized at all. A framework for architecting network resources based on programmable networks has been suggested earlier, applying the paradigm of spawning network [10], [9], [8]. We follow a similar perspective, but use our agent-based platform MAP [24] instead for rapid prototyping of network services, thus allowing for a faster time scale of service deployment. A major incentive for an agent-based approach is that policies can be implemented dynamically, allowing for a resource-state-based admission and reservation strategy. Agents are used to discover about resources available inside the network and claim resources on behalf of customers according to some (later de ned) \ gures of merit". Figures of merit capture trade-os between bandwidth claimed and loss risk incurred due to high utilization. Loss, although not being a monetary quantity, can be seen as a cost measure for claiming resources at a particular state of the network. Dierent customers may follow dierent gures of merit so that a negotiation becomes possible. Implicitly, of course, this concept is based on the assumption of customers' varying willingness to pay for resources under dierent circumstances. The willingness may vary from customer to customer but also with time from a single customer's perspective, resulting in a non-homogeneous approach. Another advantage of agents is their capability to trigger adaptation of applications inside the network on behalf of customers. This allows for an immediate response to resource shortages, diminishes the amount of useless data transported, and reduces signaling overhead. The agents
6
perform adaptation along the lines of gures of merit mentioned earlier, thus allowing again the incorporation of customer policies and preferences. This concept is combined with underreservation of resources (which is going to be explained later in more detail), allowing for a minimum quality of service (which is related to customer requirements) to be guaranteed. Adaption is performed based on sharing of excess (bandwidth) resources. Resources are usually claimed on a much coarser scale than ow-based resource reservations would do. Therefore, we are inclined to talk about virtual links and virtual networks that are customized on behalf of customers. Granularity of time and space for resource reservation through agents are performed on a much coarser scale than with ows. Flow adaptation is performed relative to a virtual network claimed by a particular customer. Mobile agents [18], [20], [19] provide the highest possible degree of exibility and can carry application speci c knowledge into the network at locations where it is needed. This philosophy is similar as the one recently expressed in the active networks community within the SwitchWare project at UPen [2], where active extensions or software \plug-ins" are complemented by active messages for a full scale programmability of networks. But we do not investigate programmability on the level of lower operation system APIs, but rather think in terms of programmable network APIs, which are provided by an underlying network programming environment. Similarly as in the DARWIN project [11], we also leverage the complete Internet protocol stack and build on top of it. Note that this does not preclude changes of the underlying architecture, being triggered by other projects from the programmable networking communities [9]. In the rest of the paper, we focus on de nition and implementation of basic mechanisms, allowing agents to interact with the available reservation protocol. RSVP [6], [30] is used for signaling of reservation, measurement-based admission control or QoS adaptation control. We also limit our studies to experiments involving controlled load service classes [29] rather than guaranteed services [28]. Controlled load services require more attention due to their loose de nition and are also closer to service classes that are propelled within the diserv framework. III. A Mobile-Agents Environment
QoS management through the use of mobile agents is being currently investigated by dierent researchers dealing with distributed systems programming, monitoring and management [12], [7]. We have already applied such technology in similar scenarios [15], [14]. We have also developed a fully programmable environment, named MAP (Mobile Agent Platform) [24], that allows the
7
development and the management of mobile agents. It has been fully created using the Java language, and provides all the mechanisms needed for creating, running, suspending, waking up, deactivating and activating the agents, and allows them to communicate and migrate through the network, in order to run the task assigned to them. MAP is suitable for the creation of distributed applications as it provides security mechanisms based on the use of asymmetric keys for authentication and access control and moreover it is compliant to the MASIF standard [13], [22]. Customer user
Customer
user
Edge router
user
Edge router
VL
R
VL
R
VL R
R
Core Network Customer Edge router
Fig. 1. Agents on a server
Generally speaking, in order to take advantage of agent technology for QoS improvements, the approach we propose is based on the use of a set of specialized agents which dynamically decide the amount of resources to be assigned to each virtual link and use the RSVP signaling mechanisms for allocating the requested bandwidth. The reference scenario, as depicted in gure 1, assumes a set of customers each constituted of users wishing to exchange data. A customer can be a company, a university campus, a public or private entity which groups various users. Each customer accesses the core network through an edge router, which represents the access point (for ingress and egress trac) to the external world. The core network is made of a set of routers which allow to establish virtual links (VLs) among dierent customers. A VL groups physical connections between users belonging to dierent customers. A set of VLs constitutes what is nowadays referenced as a virtual programmable network. An edge router may receive a request for VL creation from the customer which, according to
8
the behavior of the users it is hosting, may decide to set up a new VL with a remote customer. Conversely, a request for setting up a new VL may arrive to an edge router from the core network. To better specify the role of the edge routers, we refer to Figure 2, which shows the software module to be executed on them: we assume router A as the originator of a request for VL creation and router B as the receiver of the request. The following agents will be involved on the edge router A: coordinator: it receives the opening requests of a new VL from the customer. For each request, it creates a clconnect agent, that manages the request itself. clconnect: it is the manager of the VL. As soon as it is created, it sends a message of opening request to the remote edge router (B) and waits for the arrival of the collector agent. On the router B the following agents are executed: coordinator: as soon as it receives a 'request for VL creation' a new connector agent is created in charge of managing the VL. connector: for each VL there is an associated connector which contains the identi er of the VL and the identi er (unique) of the agent associated with the same VL but executing on the remote edge router (A). collector: it is periodically created from the connector with the task of traveling through all the routers between the two edge routers (A and B) to collect useful informations on the state of the network. Customer
coordinator
VL VL VL
B
request of VL creation
request of VL creation
connector
collector
clconnect
Core Network
connector
collector
connector
collector
coordinator
collector
network status
A RSVP
RSVP
Fig. 2. Agents on edge routers
Finally, in each router along the VL in the core network there are two agents with the task to collect some statistics about the conditions of the network (Figure 3). These two agents are: rsvpstat: it collects the information about the bandwidth reserved through RSVP, and gives it to the collector agent each time it requires.
9
ipstat: it collects the information about the total bandwidth occupied on the output ports of the router, and provides it to the collector agent each time it requires. Edge router
Edge router Router collector
rsvpstat
Router collector
ipstat
rsvpstat
collector
ipstat
Core network
Fig. 3. Agents present in each router
To better clarify the whole process of setting up a VL and in order to specify the way the agents coordinate each other, in the following we illustrate the steps to be followed, referring to gures 2 and 3. Once the coordinator agent of the edge router A has received the message for setting up a new VL, it creates a new clconnect agent and runs it. This clconnect agent sends a message to the coordinator agent present in the edge router B, which sends the data contained in the message to a new connector agent just created. The connector discovers the path between the edge routers A and B, and sends the list of crossed routers to a new collector agent just created. Once the collector receives the list, it migrates towards the rst router in the core network, where it requires the local rsvpstat agent for the information about the bandwidth reserved by RSVP, requires the local agent ipstat (see Figure 3) for the information concerning the total bandwidth occupied, and calculates the free bandwidth that could still be assigned. The collector agent also stores the identi ers of all the edge routers with VLs sharing the same output interface of the VL being established 1 . Once all the necessary data have been collected, the collector migrates towards the following router, on which it repeats the same operations previously described. This way the collector collects the information about the state of all the routers in the core network along the path beween the edge routers A and B. When the collector reaches the edge router A, it passes all the collected information to the The VLs crossing the router but using a dierent output interface than the one used by the connection served by the collector do not take bandwidth away to it, and may therefore be ignored. 1
10
clconnect agent (see Figure 2), which is responsible for applying the customer policy for resource reservation. Each customer may adopt its own policy, by delegating to the agents in the network the role of applying and enforcing it. These policies do not need to be xed in advance, but can be customized and changed on demand, thanks to the agent framework that brings them deep inside the network. The following section describes a particular policy that we have implemented for our testbed. The idea behind the algorithm is that, according to the conditions of the network, a VL can be fully-reserved or under-reserved, that is all the resources it needs (according to what is speci ed in [29]) or a percentage of these resources are reserved, respectively. With regard to updating the parameters concerning the reservation according to the changes in the network, we need to outline how the migration of the collector agent from the edge router B to the edge router A does not take place only once, but is periodically executed. Besides, for avoiding problems of inconsistency, the collector agents are programmed to kill their execution if an open (but not reserved) VL already exists in a router to which they migrate. This way, we avoid to collect potentially unreliable informations as a consequence that the existing VL is still being set up and the data related to the status are being modi ed. IV. Algorithm for Resources Reservation
The algorithm executed by the clconnect agent in order to implement the reservation policy consists of two distinct phases, as shown in Figure 4. In the rst phase (for example according to what has been xed in [6], or according to the quality a customer wishes to assure to its users) the clconnect agent rstly tries to reserve all the bandwidth originally required by the application. If there are not enough resources available, it veri es if an under-reservation can be executed according to some gures of merit which will depend on the network parameters (speed, latency, technologies) and also on some other parameters such as the willing to pay for a user to obtain a high and guaranteed QoS. More speci cally, the idea is to check the feasibility of providing an amount of reserved bandwidth lower than the one originally needed, as long as the performance (e.g. average loss ratio) is maintained within admissible values. If the resources of the network are still not sucient for meeting the request of the underreserved connection, the second phase of the algorithm is started. The clconnect agent requires the clconnect agents managing other VL to give up a part of the resources used. This requires a strong coordination action with the clconnect agents managing the VL already established. In fact, the clconnect agent builds (according to the information communicated by the collector
11
Phase 1 Yes
Start
Is it possible to execute a full reservation? No
Yes
Is it possible to execute an under-reservation?
The VL is accepted
No
Is it possible to collect the necessary bandwidth from some of the VLs crossing the routers? Yes Coordination with other agents to reduce the bandwidth assigned to existing VLs
Phase 2
No
The VL creation is refused
Fig. 4. Under-reservation algorithm
agent) a list of the routers that do not have the resources needed for creating the VL. Each router of this list is then associated to a record which stores all the reserved VL that cross the router itself. For each router of the list, the clconnect agent sends a resource request message to the clconnect agents related with the reserved VL crossing the router, asking to reduce the amount of bandwidth used. If it succeeds in collecting the necessary bandwidth, the router is removed from the list and the same procedure is repeated on the subsequent router, if any. If the list is empty, it indicates that the agent has already obtained all the necessary resources, and may create the under-reserved VL. Conversely, if even a single router on the path has no VL to which the clconnect could require resources, or the sum of those given up by the other agents is not sucient, the VL creation is refused and the QoS required by the customer has to be renegotiated.
12
V. Figure of merit for under-reservation
According to the previous discussion, a way to determine the amount of reduction in bandwidth reservation has to be identi ed. The proposed approach is mainly heuristic as it aims to identify a relation between the loss ratio and the bandwidth allocated to a VL. A gure of merit which expresses the relation between allocated bandwidth and average packet delay, although theoretically important, has not a practical utility for two main reasons: a) it is extremely dicult to obtain a precise measure of the delay between two end points due to clocks synchronization; b) as we are not dealing with guaranteed services [28], there is not a feasible way to impose a delay constraint to a VL, but reservation has to be carried out in terms of allocated bandwidth. In this section we describe the experimental trials we have carried out and the gure of merit we have evaluated and used in executing the algorithm described in the previous section. We de ne as the under-reservation factor fur the percentage of assigned resources with respect to the total amount of resources required by a VL. So, fur = 100% means that no under-reservation is performed and the VL is seen as a reserved connection according to what is speci ed in [29], whereas fur = 0% means that VL is seen as a best-eort connection. Figure 5 shows our experimental environment. The edge routers of customer A and B are represented in our testbed by two hosts TX and RX. These edge routers are connected through a core network represented in our experimental network by the two routers R1 and R2 which are connected among them by a 10 Mbit/s dedicated link. In the performed experiments we used the RSVP protocol to signal resources reservation. The hosts used in our testbed network are SUN workstations with the Solaris 2.5.1 operating system, in which the RSVP protocol for Sun hosts [21] has been installed. R1 and R2 are equipped with two network interface card and are con gured as RSVP-enabled routers. The TX and RX node emulate the aggregate trac that is generated by a customer: therefore, since the testbed is a real network, in the following description of the experiments we will use the term connection to denote the previously de ned Virtual Link. The implementation of the RSVP protocol for Sun hosts used allows exploiting some of the main functionalities of the protocol, even if it is only able to support Best Eort and Controlled Load services. The mechanism used to provide link sharing between the accepted trac types is the Class Based Queuing (CBQ) mechanism [17]. It consists of a Classi er, an Estimator and a Packet Scheduler which, according to the reference RSVP architecture [6], [30], classi es
13
Customer A
TX Edge router
RX R1
Edge router
R2 Router
Customer B
Router
Core network
Fig. 5. Network architecture used for experimental evaluation of the under-reservation mechanism.
the incoming packets into pre-de nited classes, estimates bandwidth usage of each class and selects the next class to send a packet, respectively. Moreover, the Packet Scheduler supports a borrowing mechanism de ned by the Integrated Service Working Group for the Controlled Load services [29]. By means of this mechanism, a connection should have the availability of extra bandwidth from other trac classes when it is unused, that must be immediately returned to the owner category, if it is needed. The subdivision of network bandwidth on the dierent classes, that is the partition of the link between routers among classes is set by the network administrator during the RSVP device con guration, according to the estimated trac that will load the device. In the performed experiments, the 10 Mbit/s of bandwidth supplied by the link connecting the two edge-routers is subdivided as follows: 35% (3.5 Mbit) for reserved connections; 35% (3.5 Mbit) for the best-eort trac and the one that can be lent to reserved connections; 30% (3 Mbit) for the best-eort trac that cannot be lent to reserved connections. According to what described in [6], this repartition cannot be dynamically modi ed; in fact, changing it would cause the dropping of connections and their reactivation. For generating information streams sent from the TX workstation to the RX workstation we used the Mgen v3.1 tool [1], which allows generating trac with speci c statistical features, de ning the parameters needed for RSVP and performing measurements about throughput, percentage of loss ratio and end-to-end delay. In order to relate the loss ratio to the amount of under-reserved bandwidth and apply the reservation policy described in Section IV, we performed several experiments during which the TX workstation sends to the RX workstation a certain number of UDP information streams,
14
each with exponentially distributed departing times. In the core routers R1 and R2, a reserved connection (that is a VL) is assigned to each information stream (which forms the aggregate of the trac provided by a customer). The parameters of the trac related to each connection have been varied, so that the reserved connections in any case fully occupy the bandwidth assigned in the routers (3.5 Mbit/s). In particular, the number of reserved connections has been varied between 2 and 7, the emission rate of reserved connection between 10 and 100 frame/sec, the number of packets/frame between 1 and 10, and the UDP packet payload size has been set 512 or 1024 bytes. Routers have been also loaded with best eort trac, which is the sum of two contributions: the rst one has an interarrival time with exponential probability distribution, while the second has a constant interarrival time. In both cases, the UDP packet payload size has been set to 512 bytes. By varying the number of packets/sec of each contribution, the best-eort load has been varied between 0% and 50% of the dedicated link capacity (10 Mbit/s).
Fig. 6. Average loss ratio versus under-reservation factor by varying the BE trac load (L)
By measuring the loss ratio during several experiments and averaging the obtained results, we have depicted the graph of Figure 6, where the average loss ratio versus under-reservation factor by varying the best eort load is shown. Even if the performances depend on the distribution of the load supplied by reserved connections, such graph can give an indication about the minimum under-reservation factor acceptable as a function of the total load: it can therefore be used as the gure of merit according to which the reservation algorithm is executed. The various experiments carried out have allowed verifying how a certain level of quality of service (in terms of average loss probability) can be maintained even without reserving all the
15
resources required by a virtual link. The increase in the amount of reserved VL that can be accepted becomes an increase in pro ts for a network manager who wants to make users pay for the use of the reserved bandwidth. VI. Experimental results on QoS management policy
In order to verify the eectiveness of the proposed QoS management strategy, we have set up an experimental trial where software agents implement the algorithm described in Section IV. The network architecture used is again the one shown in Figure 5. The core routers are loaded by reserved connections (that are VL), each of which derives from a constant bit rate trac source which emits a frame of 10 1-Kbyte packets every 100 ms, and best eort trac, which constitutes the so-called additional load. The bandwidth supplied by the link between the two core routers is again divided as described in the previous section, that is into 35% (3.5 Mbit) for reserved connections, 35% (3.5 Mbit) for the best-eort trac that can be inherited by the reserved connections, and 30% (3 Mbit) for the best-eort trac that cannot be inherited by the reserved connections. Three sets of experiments have been carried out. The rst with the aim to show how the system behaves when a new VL is required and the overall reserved bandwidth is already allocated but the total load is low. The second experiment introduces an extra load in the network due to the presence of VL that load the network with best eort trac. The third experiment checks how the system behaves when more stringent QoS requirements are imposed. Test 1: By using the agents, we have made 4 connections, each of which required a value of loss ratio not higher than 5%. The additional load has been set to 5% of the total bandwidth. Since the load oered by the four reserved connections is 3.3 Mbit/s, which is less than the value foreseen for this kind of connections (3.5 Mbit/s), they have been completely reserved by the agent system. Then we have created (always with the agents) another connection with the same requests in terms of maximum loss ratio. Even if the additional load is very low, the system could create neither a completely reserved connection nor a single under-reserved connection (in this case, in fact, the under-reservation factor should be 25%, which, according to the graph in Figure 6, provides a loss ratio higher than 5%). The second phase of the under-reservation algorithm (see Figure 4) has to be activated, by requiring resources to the agents of the other connections. In this case the under-reservation factor is calculated by using the curve in Figure 6. In particular, the variation in the reservation
16
Connection 1 Connection 2 Connection 3 Connection 4 Connection 5
Reservation (a) Reservation (b) 100 Kbyte/s 57.3 Kbyte/s 100 Kbyte/s 92.1 Kbyte/s 100 Kbyte/s 100 Kbyte/s 100 Kbyte/s 100 Kbyte/s non-reserved 57.3 Kbyte/s TABLE I
Test 1: values of reservation of the 4 connections (a) before adding the fifth connection and (b) after adding the fifth connection (%) Connection 1 0.4059 Connection 2 0.3119 Connection 3 0.2327 Connection 5 0.3684 TABLE II P
loss
Test 1: percentage of packet loss ratio (P ) for connections 1-2-3-5 loss
assigned to the 5 connections is shown in Table I, from which we may notice that only the rst two connections have lent part of the bandwidth assigned to them to the new incoming connection (connection 5). This is due to the fact that the algorithm tries to minimize the number of connections which it interact with, for varying their assigned resources, thus reducing the signaling overhead. This way only a few connections are envolved by this process, but they get a maximum resource under-reservation according the Figure 6. By measuring average end-to-end packet delay and loss ratio of each connection, we noted that the reserved connections are only slightly aected by the decrease of the reservation, that is carried out with the creation of the new connection (see, for example, Table II, where the percentage of packet loss ratio is shown for the rst three connections and for the added connection). This obviously, is due to the fact that the total load of the network is low. Test 2: In this test we have re-examined the same scenario used in the previous case by
17
increasing the additional load to the network. It is represented by two components: one that generates 200 pkts/s of 512 bytes with exponential distribution of interarrival times, and another one that generates 200 pkts/s of 512 bytes with uniform distribution. The total load represents 20% of the total bandwidth supplied by the links (10 Mbit). Even in this case we use 4 connections that require 5% as a maximum admissible value of loss ratio, to which we will add a fth one with the same features. As in the previous case, the system reduces, according to the graph in Figure 6, the bandwidth reserved for the rst two connections, in order to create the fth one (Table III). By observing the progress of the end-to-end delay (Figure 7), we notice how the connections that reduce the reservation value have a period of settlement and then become stable, but their performances of course degrade in comparison with the condition of full reservation. However, the quality of service (in terms of required packet loss ratio) is maintained (see Table IV). Connection 1 Connection 2 Connection 3 Connection 4 Connection 5
Reservation (a) Reservation (b) 100 Kbyte/s 57.3 Kbyte/s 100 Kbyte/s 92.1 Kbyte/s 100 Kbyte/s 100 Kbyte/s 100 Kbyte/s 100 Kbyte/s non-reserved 57.3 Kbyte/s TABLE III
Test 2: values of reservation for the 4 connections (a) before adding the fifth one and (b) after adding the fifth connection (additional load 20% of the total bandwidth)
P
loss
Connection 1 Connection 2 Connection 3 Connection 5 TABLE IV
(%)
3 4 2.4 3.6
Test 2: percentage of packet loss ratio (P ) for connections 1-2-3-5 loss
300
300
250
250 Delay (ms) Ritardo (ms)
Delay (ms) Ritardo (ms)
18
200 150 100 50 0 0
0.5
1 (a)
1.5
100
0 0
2
0.5
4
x 10
1 (b)
1.5
1 (d)
1.5
2 4
x 10
300
Ritardo Delay(ms) (ms)
Ritardo Delay(ms) (ms)
150
50
300
200
100
0 0
200
0.5
1 (c)
1.5
2 4
x 10
200
100
0 0
0.5
2 4
x 10
Fig. 7. Test 2: progress of the delay for the connections (a) 1 (b) 2 (c) 3 (d) 5 (added)
Test 3: In this test the network is loaded as in Test 1, but reserved connections require a loss ratio not higher than 2%. In this case, from the graph in Figure 6, the under-reservation factor must be higher than 64.5%. Table V shows the value of reservation for all the connections after the under-reservataion algorithm of Figure 4 has been applied.
Even in this case, the progress of the end-to-end delay suered by the rst two connections after lenting their bandwidth (Figure 8) crosses a transient interval, and then settles. The quality of service required for the various connections (loss ratio not higher than to 2%) is still maintained, as shown in Table VI. In conclusion, by using mobile agents, we have created a system that allows the dynamic introduction of new QoS management services. Agents dinamically decide the amount of resources to be assigned to each virtual link using the RSVP signaling mechanisms for allocating the reserved bandwidth. But since we are focusing on virtual link, granularity of time and space for resource reservation is on a much coarse scale than with a ow based approach. In the experiments shown, performance is not of primary interest. Besides, performances greatly depend on the
19
Connection 1 Connection 2 Connection 3 Connection 4 Connection 5
Reservation (a) Reservation (b) 100 Kbyte/s 64.5 Kbyte/s 100 Kbyte/s 77.8 Kbyte/s 100 Kbyte/s 100 Kbyte/s 100 Kbyte/s 100 Kbyte/s non-reserved 64.5 Kbyte/s TABLE V
Test 3: values of reservation for the 4 connections (a) before adding the fifth one, and (b) after adding the fifth connection P
loss
Connection 1 Connection 2 Connection 3 Connection 5 TABLE VI
(%)
2 2 1.2 1.2
Test 3: percentage of packet loss ratio (P ) for connections 1-2-3-5 loss
implementation using software tools for emulating the hardware functionalities of routers. But we think we need to outline some points arising from the tests carried out. Only three agents are needed for managing a VL: two stationary ones on the edge routers, and a third mobile one in the network. For each new VL, these three agents are always created, and their task is to manage all of the aspects concerning the quality of the VL. The tests carried out on the agent system have con rmed that such system (with the architecture seen in Figure 5) carries out its task adequately, in particular with regard to the collection of the informations about the state of the network and the application of the algorithm of underreservation. The average values reported by the collector agent with regard to the bandwidth used in the routers are always close to the values of trac actually generated. According to the conditions of the network and the gures of merit of Fig. 6, the system can deduct which value of reservation must be applied to each virtual link. Besides, the exchange of messages between the agents for lending the resources
200
150
150
100 50 0 0
Ritardo Delay(ms) (ms)
Ritardo (ms) Delay (ms)
200
0.5
1 (a)
1.5
100 50 0 0
2
200
200
150
150
100 50 0 0
0.5
1 (c)
0.5
4
x 10
Ritardo (ms) Delay (ms)
Ritardo (ms) Delay (ms)
20
1.5
2 4
x 10
1 (b)
1.5
1 (d)
1.5
2 4
x 10
100 50 0 0
0.5
2 4
x 10
Fig. 8. Test 3: progress of the delay for connections (a) 1 (b) 2 (c) 3 (d) 5 (added)
results to be functional and eective. VII. Impact of the proposed reservation strategy on best-effort traffic
Previous tests have shown how, by using software agents a customer policy such as underreservation can be applied in a network. Let us note that, by using our agent approach, the policy for resource reservation may be based not only on the availability of resources (as it happens in RSVP), but also on other network informations of interest for the customer such as congestion, low utilization of some links, and so on. If addition of resources is not possible or not wanted or too expensive, alternative adaptation strategies could be considered. Using the heuristic results presented in the gure of merit of Fig. 6, our agent approach can also be used to incorporate customer policies for application adaptation inside the network. The adaptation triggered by agents enhances the fairness of the reservation scheme with regard to the best eort trac. When the trac oered by the reserved VL increases, and the performance of the VLs which oer best eort trac are excessively degraded, agents are used to adapt reserved trac: a portion of data streams should be discarded (by dropping enhancement layers in the case of a layered coding scheme) or the emission rate of the users of a customer should be decreased.
21
To this aim, we considered the same communication scenario of the previous tests (see Figure 5), but the borrowing mechanism has been disabled and the bandwith in the core routers R1 and R2 has been subdivided in a dierent manner: 3.5 Mbit out of 10 have been assigned to the reserved connections, while the remaining 6.5 Mbit/s have been used for the transmission of best-eort trac. The two routers have been loaded with two data streams (a reserved and a not-reserved one), which consist of exponential trac with packets size equal to 1024 bytes and with a variable average rate shown in Figure 9, where the bold line in the graph of reserved connection indicates that the decrease in the emission rate is driven by our agent-based system, which interacts with the Mgen tool. 7
Reserved stream Best-effort stream 6
Mbit/s
5
4
3
2
1
0
0
1
2
3
4 minutes
5
6
7
8
Fig. 9. Time progress of the average load oered by the two data streams
In the test, the average end-to-end delay, the average loss ratio and the average rate of the packets received by the RX node during observation windows of 1 second have been measured (see Figure 10). As long as the reserved trac is fully contained in the 3.5 Mbit assigned to it, the performances of the best-eort trac are not in uenced by the presence of reserved trac. Conversely, when the reserved trac increases, the portion of it that cannot be included in the 3.5 Mbit is managed
22
as best-eort trac and, obviously, contributes to increase its loss ratio. During the rst 2 minutes of transmission the average delay and loss probability of both streams remain low, while the graph of the average rate of received packets re ects the time progress of the trac oered by both streams. average pk−rate
average delay 25
800
0.6
(ms)
24.8
600
0.5
24.6
0.4 400 0.3
24.4
24
0.2
200
24.2
0.1 0
200 (a)
400
0
0
200 (b)
400
0
0
200
400
600
(c)
average pk−rate
average delay 25
800
average loss 0.7 0.6
24.8
(ms)
average loss 0.7
600
0.5
24.6
0.4 400 0.3
24.4
24
0.2
200
24.2
0.1 0
200 (d)
400
0
0
200 (e)
400
0
0
200
400
600
(f)
Fig. 10. Average end-to-end delay, average loss probability and average rate of received packets by the RX node during observation windows of 1 second for reserved stream (a),(b),(c), and best-eort stream (d),(e),(f)
After 2 minutes the best-eort trac increases till it reaches 4.5 Mbit/sec: as long as the reserved trac remains constant, the average delay of both streams slightly increases, while the loss ratio remains low. The average rate of the received packets still re ects the real progress of the oered trac, even if with a wider uctuation in comparison with the previous 2 minutes. Four minutes after the beginning of the transmission, the reserved trac increases up to 5
23
Mbit/sec, and this causes a considerable worsening in the performances concerning both streams. The average delay increases considerably, as well as the amount of lost packets. Consequently, the packet rate measured at the destination node does not re ect the time progress of the trac sent by the source. At this point, when the performance of best eort trac are considered excessively degraded, an adaptation mechanism starts by activating an agent that (in our case) interacts with Mgen tool adjusting its frame rate, by progressively reducing, during a time interval of 1 minute, the average emission rate of the reserved connection from 5 Mbit/s to 3.5 Mbit/s. By means of this reduction, packet loss ratio of best-eort trac is reduced and a certain level of fairness is assured. The experiment shows how, by using this agent-based approach, the adaptation policy is established by the customer (or user), but its activation depends on dynamic information that agents monitor inside the network. On the other side some application-level informations (how to adapt, enhancement layers to drop, etc) which are needed at network level and that are dicult to preliminarily know during the setup of a VL, are embodied by agents which transport this \knowledge" in the edge routers. Thus, the exibility of the agent approach is the fact that we do not need to "hardwire" in the network any prede ned solution: dierent strategies can be applied on demand. VIII. Conclusions
Software agents allow for dynamic customization of QoS management functions and a high degree of exibility that is increasingly required in heterogeneous networks where a high variability of application requirements must be met. In this paper a framework for QoS management based on mobile agents has been presented and implemented. Using this agent based approach we have shown how customer policies can be implemented dynamically, allowing dierent reservation strategy. Agents operate inside the network on behalf of customers according to some gures of merit which express the trade-o between bandwidth requested and loss risk incurred. As a particular policy we have introduced the underreservation concept, which assures a minimum quality of service, relying on the sharing of extra resources. Agents have been also used for triggering adaptation of applications inside the network. For a proof of concept, a testbed consisting of ordinary Unix workstations, emulating (via software) the operation of routers, was developed. Several experiments have been carried out on this testbed, in order to validate our previous ideas. Performance was not an issue under
24
these circumstances. The results obtained are promising, and demonstrate the feasibility of QoS management complemented by software agents.
Acknowledgment This work has been partially funded by the Italian Ministero dell' Uni-
versita e della Ricerca Scienti ca e Tecnologica (MURST) in the framework of the MOSAICO project (Design Methodologies and Tools of High Performance Systems for Distributed Applications). References [1] B. Adamson and S. Gallavan. MGEN tool. http://manimac.itd.nrl.navy.mil/MGEN, 1997. [2] D.S. Alexander, W.A. Arbaugh, A.D. Keromytis, and J.M. Smith. The SwitchWare Active Network Architecture. IEEE Network, 12(3):29{36, May/June 1998. [3] Y. Bernet, R. Yavatkar, P. Ford, F. Baker, L. Shang, K. Nichols, and M. Speer. A Framework for Use of RSVP with Di-serv Networks. Internet Draft, draft-ietf-diserv-rsvp-01.txt, November 1998. [4] Y. Bernet, R. Yavatkar, P. Ford, F. Baker, and L. Zhang. A Framework for End-to-End QoS Combining RSVP/Intserv and Dierentiated Services. Internet Draft. draft-bernet-intdi-00.txt, March 1998. [5] R. Braden, D. Clark, and S. Shenker. Integrated Service in the Internet Architecture: an Overview. RFC 1633, June 1994. [6] R. Braden, L. Zhang, S. Berson, and S. Herzogand S. Jamin. Resource ReSerVation Protocol (RSVP) { version 1 Functional Speci cation. RFC 2205, September 1997. [7] M. Breugst and T. Magedanz. Mobile Agents - Enabling Technology for Active Intelligent Network Implementation. IEEE Network, pages 53{60, May/June 1998. [8] A.T. Campbell, M.E. Kounavis, D.A. Villela, J. Vicente, H.G. De Meer, K. Miki, and K.S. Kalaichelvan. Spawning Networks. IEEE Network, pages 16{29, July/August 1999. [9] A.T. Campbell, H.G. De Meer, M.E. Kounavis, K. Miki, J. Vicente, and D. Villela. A Survey of Programmable Networks. ACM Computer Communication Review, 29(2):7{23, April 1999. [10] A.T. Campbell, H.G. De Meer, M.E. Kounavis, K. Miki, J. Vicente, and D.A. Villela. The Genesis Kernel: A Virtual Network Operating System for Spawning Network Architectures . In 2nd IEEE Int. Conf. on Open Architectures and Network Programming, OPENARCH99, New York, March 26{27 1999. [11] P. Chandra, A. Fisher, C. Kosak, T.S. Eugene Ng, P. Steenkiste, E. Takahashi, and H. Zhang. Darwin: Resource Management for Value-Added Customizable Network Service. In Sixth IEEE International Conference on Network Protocols (ICNP'98), Austin, October 1998. [12] D.M. Chess. Mobile Agents: Are they a Good Idea. IBM Technical Report RC19887, October 1994.
25
[13] Crystaliz, General Magic, GMD Fokus, and IBM. Mobile Agent System Interoperability Facility. Joint submission to OMG. OMG TC Document ORBOS/97-10-05, also available through ftp://ftp.omg.org/pub/docs/orbos/97-10-05.pdf, November 1997. [14] H. de Meer, A. Pulia to, J.P. Richter, and O. Tomarchio. Tunnel Agents for Enhanced Internet QoS. IEEE Concurrency, 6(2):30{39, April-June 1998. [15] H. de Meer, A. Pulia to, and O. Tomarchio. Management of QoS with Software Agents. Cybernetics and Systems: An International Journal, 27(5), 1998. [16] D. Tennenhouse et al. A Survey of Active Networks Research. IEEE Communication Magazine, 35(1):80{85, January 1997. [17] S. Floyd and V. Jacobson. Link-sharing and Resource Management Models for Packet Networks. IEEE/ACM Transactions on Networking, 4(4):365{386, August 1995. [18] M.R. Genesereth and S.P. Ketchpel. Software agents. Communications of the ACM, 37(7):48{53, July 1994. [19] K. Rothermel and R.Popescu-Zeletin Eds.,. Mobile Agents. Lecture Notes in Comp. Science, LNCS1219, 1997. [20] T. Magedanz, K. Rothermel, and S. Krause. Intelligent Agents: An Emerging Technology for Next Generation Telecommunications? In Proceedings of INFOCOM'96, San Francisco, CA, USA, March 1996. [21] Sun MicroSystem. RSVP { ReSerVation Protocol Release ver. 0.4.11. Porting for Sun Workstation of ISI RSVP ver. 4.1a6, http://www.isi.edu/rsvp, 1998. [22] D. Milojicic, M. Breugst, S. Covaci, and al. MASIF: the OMG Mobile Agent System Interoperability Facility. In Second International Workshop on Mobile Agents, (MA'98), Stuttgart (Germany), September 1998. [23] IEEE Network. Special Issue on Programmable Networks. 12(3), May/June 1998. [24] A. Pulia to, O. Tomarchio, and L. Vita. MAP: Design and Implementation of a Mobile Agent Platform. Journal of System Architecture, 1999. to be published. [25] D.P. Reed, J.H. Saltzer, and D.D. Clark. Commentaries on `Active Networking and End-to-End Arguments'. IEEE Network, 12(3):66{71, May/June 1998. [26] J.H. Saltzer, D.P. Reed, and D.D. Clark. End-to-End Arguments in System Design. ACM Transaction of Computer System, 2(4):277{288, November 1984. [27] S.Blake, D. Black, M. Carlson, E. Davies, Z. Wang, and W. Weiss. An Architecture for Dierentiated Services. RFC 2475, December 1998. [28] S. Shenker, C. Patridge, and R. Guerin. Speci cation of Guaranteed Quality of Service. RFC 2212, September 1997. [29] J. Wroclawski. Speci cation Controlled-Load Network Element Service. RFC 2211, September 1997. [30] L. Zhang, S. Deering, D. Estrin, S. Shenker, and D. Zappala. RSVP: A New Resource Reservation Protocol. IEEE Network, 7(5), September 1993.