Multipoint-to-Point Routing With QoS Guarantees Using Mobile Agents Sergio GONZALEZ-VALENZUELA 1 *, Victor C. M. LEUNG 1, and Son T. VUONG 2 1
Department of Electrical And Computer Engineering The University of British Columbia 2356 Main Mall, Vancouver, B.C. Canada V6T 1Z4 E-mail: {sergiog, vleung}@ece.ubc.ca 2
Department of Computer Science The University of British Columbia 2366 Main Mall, Vancouver, B.C. Canada V6T 1Z4 E-mail:
[email protected]
Abstract. To overcome the shortcomings of existing IP networks and to facilitate the overall quality-of-service (QoS) provisioning in the near-future networks, new technologies such as Multi-Protocol Label Switching (MPLS) and Differentiated Services (Diffserv) have been proposed for support of differentiation of classes of services and guarantee of QoS. Diffserv and MPLS, however, require improved capabilities from the current routing algorithms. In this paper, we investigate such an improvement by developing algorithms for determining the optimal multipoint-to-point (mp2p) routes through the use of mobile software agents. We present an mp2p routing scheme using a mobile intelligent agent system, called WAVE. The agents work in a highly distributed and parallel manner, cooperating to determine optimal routes in an mp2p connection scenario. This work aims at closing the gap between the theoretical routing research based on mobile agents, and practical routing requirements for real world networks that are likely to be deployed during the forthcoming years. Keywords: Mobile Agents, Routing, QoS, MPLS, Differentiated Services, Multipoint-to-Point.
1. Introduction Despite the rapid advances in networking, it is surprising to observe that routing has not grown in parallel when compared to the growth of other networking technologies. A number of extensions and patches have been proposed for current routing schemes in order to keep up with the arising needs in data networks [1], [2]. * This work supported in part by Conacyt México
It would be reasonable to predict that future requirements in networks will impose greater demands on the performance of the routing protocols, as well as a higher computing burden on network nodes, making the complexity of the routing computations intractable [4]. To better understand the problems that current routing schemes will have to cope with, it is imperative to determine possible ways in which new technologies are likely to be configured to obtain the best performance from their mutual interaction. A conceptual model showing some possible supporting elements to achieve QoS at the network layer in the near future is shown in Figure 1. Routing
QoS MPLS
Diffserv
Fig. 1. QoS Provision at the NetworkLlayer
This document offers an alternative approach to address routing issues by means of mobile agents’ technology. Such approach is presented in the following manner: section 2 presents both the fundamental network-layer concepts of QoS control for the next-generation Internet, and a brief discussion in support of previous proposals on Diffserv over MPLS. In section 3, a short review of the mobile agents’ paradigm is presented, with an emphasis on a novel powerful mobile intelligent system, called WAVE. Section 4 proposes an mp2p routing scheme for use with MPLS and Diffserv by describing a routing algorithm based in WAVE. Finally, Section 5 provides some concluding remarks and offers suggestions for future work.
2. QoS Provision In The Future Internet Firstly, this investigation focuses on determining a plausible evolution scenario of the Internet backbone. Although recent proposals have been made on the use of novel mobile agents’ technology to support QoS, other technologies and standards are also being developed for deployment for a full QoS-capable environment in the near future. Therefore, instead of proposing an entire QoS architecture, our research takes a proactive approach by considering technologies that already in an advanced state of research and development for support of QoS-control at the network layer, and applies a powerful mobile agents’ system to investigate the issue of routing. Both Diffserv and MPLS technologies are widely accepted as viable solutions for the next-generation Internet. MPLS [3] emerges as a natural evolution from the labelswapping paradigm, providing data-manageability improvement that goes beyond of those previously offered by technologies such as ATM and Frame Relay. MPLS provides the ease to link together different protocols between layers 2 and 3 in the OSI model. Furthermore, it efficiently supports complex networking tasks, such as: explicit routing, traffic engineering and VPN design [3], [5], [7]. Although the overall
operational mechanism of MPLS is a complex one, the basic idea behind this new technology is fairly straightforward. In MPLS, data packets are labelled and switched throughout the network according to a predefined agreement between network nodes [3], [7]. A key enhancement of MPLS relies in its ability to perform an organized management of data flows by strategically assigning labels to each flow. It is this systematic procedure the one that facilitates the implementation of the networking tasks previously mentioned. Specific sets of data streams can be strategically assigned with labels in an attempt to group them into Forwarding Equivalence Classes (FECs) [3], according to predetermined forwarding premises (e.g. scheduling precedence, destination, source, etc). Moreover, FECs can be further grouped until a desired level aggregation is achieved. When done appropriately, this scheme provides scalability support for technologies dealing with QoS-control at the network layer. Such is the case of Diffserv [8], which has been most favoured as a viable QoS-mechanism to implement due to its superior scalability features [6], [9], [10]. Proposals have been made where MPLS can be used as a way to organize and transport data flows that share similar scheduling precedence. The aggregated-flow scheme of Diffserv not only reduces the flow state overhead, but also enhances the performance of MPLS by reducing the number of labels to be managed [9], [11]. All the above reasons support the initiative taken to presume that a QoS-control scheme based on Diffserv-overMPLS has a good chance of being realized, assuming that the nodes in the network are hardware-capable of performing data aggregation by means of current ATM technology through either Virtual Circuit or Virtual Path merge. It is this data-aggregation notion the one behind the concept of Multipoint-to-Point type-of connections, which are aimed at defining a tree-like path to be used as a manner to establish a shared route among a number of edge nodes in an autonomous system (AS). Thus, the objective of grouping such connections is to achieve an efficient method to better manage incoming data streams that share common characteristics. An example of this scenario is shown in Figure 2. Edge (ingress) nodes Autonomous System
Edge (egress) node
Intermediate Nodes Fig. 2. A Multipoint-to-point tree in a Diffserv over MPLS AS
An arbitrary number of these trees might be created by proper label assigning under an MPLS environment, according to the QoS characteristics and destination of data. The mp2p scheme greatly resembles its counterpart: the Point-to-Multipoint (p2mp)
type-of connection, also known as multicast tree. However, in a multicasting connection all the end peers are involved in a common session. In this case, both the data transferred and the generating entity is identical for all destinations. This may not be the case for the mp2p scenario, where the entities forwarding data to a common root node in the tree are not necessarily participating in a common session of data transfer, and the egress node may only represent a shared instance of the individual paths. The actual route followed by each connection may in fact later diverge from a given mp2p path previously traversed. It should be noticed that, although the routing/forwarding processes have been decoupled with introduction of MPLS, it is the forwarding element that was redefined, yet it still relies in the use of an external routing protocol indicating what the appropriate hop sequence will be for a proper label assignment to the packets being forwarded [3]. The question now rises as to how can the current routing mechanisms be used to find an optimal solution for the configuration of the mp2p tree. To enable efficient set-up of mp2p trees, the MPLS technology relies on the support of a routing protocol that is capable of finding explicit (strict or loose) routes before a Label Switched Path (LSP) is either established or modified. The computation of such explicit routes may become extremely complex and computationally costly by using the current protocols [12], [14]. Because no data-aggregation considerations were taken into account during the design of the current Internet infrastructure, no efficient support is readily available towards the establishing of mp2p routes.
3. The Mobile Agent Paradigm A number of independent research efforts have been pursued so far in the field of mobile agents for telecommunications applications, with results that seem promising for future implementation [4], [15]. Mobile agents are pieces of software code, whose objective is to perform custom computation tasks in behalf of the user. Mobile agents have been efficiently deployed in cooperative routing schemes, where each agent performs a specific task in order to obtain partial results, which are in turn shared with other agents to achieve the general routing goal [20], [21], [22]. Wave Technology. Although initially conceived several years ago, it was until recently that the WAVE platform was actually recognized as a true emerging technology, capable of addressing a number of issues inherent to open distributed systems [16], [17]. WAVE is described as a set of defined strings representing operations, functions or data able to propagate across a communications network. Tasks such as: optimization, modelling, topology analysis, data control and management can be efficiently and asynchronously addressed by the WAVE platform in a highly parallel and distributed manner. Classical centralized data-computation is based in the sequential execution of fetched instructions, which operate over blocks of data loaded in a memory device. Such data usually stands as an abstract representation of the state of a real-world system. As part of the mobile agents’ paradigm, WAVE integrates a number of features that overcome the limitation of the centralized schemes. The WAVE code strings, or just waves, may start its algorithmic execution at any node in the network and propagate in a controlled virus-like fashion,
conquering space as their code execution evolves in time [16]. During this navigation process, the “conquered” network nodes become part of a knowledge network (KN) that behaves as a true intelligent entity distributed in space. These features make WAVE a viable tool for use in telecommunications applications, specially routing. The fact that the WAVE technology was chosen over other platforms obeys to the fact that it was indeed designed for utilization in environments with specific requirements such as those of the communication networks. Other languages have been widely used as platforms for mobile agents’ design. Java has been observed to be the most widely used platform for the implementation of mobile agents, which is oftentimes the language of choice for Internet applications. Different behaviours of a node and various simulation scenarios can be easily simulated by means of WAVE programs, which are very compact, typically 20 to 50 times shorter than equivalent programs written in C/C++ or Java. In [18], differences and similarities were presented between both WAVE and Java platforms, and even a combination of both was foreseen as a plausible manner of achieving a robust joint platform for mobile agents. Figure 3, borrowed form [16], shows the layering structure of the WAVE automata, while figure 4 shows a sample WAVE program that finds a simple shortest path tree in a network. Mobile Wave layer Dynamic track layer Knowledge network layer Computer network layer
Figure 3. Layered Structure of Wave The controlled spreading and information sharing of waves can be used to create a logical network on top of the actual communications’ network. This logical network provides a virtual system of propagation of waves created for specific purposes. Waves manage information by means of two types of variables: nodal and frontal variables. Nodal variables are local to a given node in the knowledge network, and are shared and accessible by other waves. On the other hand, frontal variables travel along with the waves to carry information required to perform computations, and are exclusive to the wave carrying it. These variables may hold raw abstract data or even ‘passive’ code, which may be activated to become lively WAVE code with a specific purpose. WAVE also provides environmental variables for further enhancing the processing capacity of the whole system. @#a.F=0.RP(N~,F