Multipoint-to-Point Routing with QoS Guarantees Using Mobile Agents

10
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

Transcript of Multipoint-to-Point Routing with QoS Guarantees Using Mobile Agents

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

Fig. 1. QoS Provision at the NetworkLlayer

Routing

MPLS Diffserv

QoS

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-over-MPLS 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. 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)

Fig. 2. A Multipoint-to-point tree in a Diffserv over MPLS AS

IntermediateNodes

Autonomous System

Edge (ingress) nodes

Edge (egress)

node

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 re-defined, 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. 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.

Mobile Wave layer

Dynamic track layer

Knowledge network layer

Computer network layer

Figure 3. Layered Structure of Wave

@#a.F=0.RP(N~,F<N.N=F.N1=P.$.F+L)

Fig. 4. Sample WAVE program for finding a simple shortest path tree in a network

4. Multipoint-to-Point Routing Using Wave In this work, two implementation scenarios for mp2p routing have been considered under the WAVE platform: static and dynamic, which fulfil the assumptions and formulations made previously. Three possible types of QoS-provision are taken into account: the traditional best-effort, assured and premium services [6], [9]. The first two types are envisioned as service agreements offered by an Internet service provider in which a number of network resources are pre-configured and ready to honour users’ service requests. In this respect, mp2p trees could be pre-established and kept under a static configuration premise. In contrast, the premium service agreement would follow a different scheme, in which the Internet provider would commit network resources following an on-demand basis. In such case, mp2p trees can be put together as to obey a dynamic configuration premise. This means that mp2p trees can be dynamically reconfigured when users join or leave the mp2p tree connection to preserve network throughput, while also honouring the QoS agreement. The formulation of the algorithms is now explained. 4.1 Static Multipoint-to-Point Trees The routing algorithm presented here is divided into three parts: one for finding all possible shortest path trees from ingress to egress nodes subject to the QoS constraints, another for detecting possible merge nodes, and a last one for the final determination of the mp2p tree. As a preliminary step, a set of waves is launched into the AS to create a logical KN, which will be used by forthcoming agents to navigate and discover optimal paths. It is assumed that the nodes in the Diffserv network provide the agents with the necessary information in regards to the QoS availability for individual outgoing communication links. Therefore, a QoS-KN is set-up to represent a logical virtual network that supports specific QoS needs. In the first part of the algorithm the egress node creates a tunnel to insert agents (waves) at all other edge nodes in the network, and from there, each wave propagates individually to find the shortest path tree (SPT), all the way back to the egress node. It is assumed that each egress node has a list of all the other edge nodes in the AS. More than one SPT might be found during this process, as the original wave can actually clone itself, so that multiple copies can propagate in a parallel manner while asynchronously searching for SPTs. Two QoS metrics can be employed here: hop-count and, say, bandwidth (e.g. it could also be delay, or any other metric). Therefore, the waves navigate through a KN whose link values are based on the bandwidth metric. The discovery of the routes will only take place over the bandwidth-constraint KN. The waves follow a breadth-first evolving-spread search technique [16], providing a highly parallel and asynchronous solution. Each time an agent reaches a new node, it firstly checks to make sure no other agents from the same originating node have been already there, and then it marks the node to advertise its presence to other waves arriving afterwards. A variable, which contains the actual distance traversed so far by that wave, is also updated. If a wave encounters that another one with the same node of origin has been already there having traversed a shorter distance, the current wave dies. Otherwise the wave is clear to proceed, which causes it to clone itself with as many copies as QoS-compliant (outgoing) links for this KN

are available in the current node. This has no bond with a delay-constraint metric, since the distance being compared here is directly related to the hop-count on top of the bandwidth-KN; therefore, overridden records account for smaller hop-counts brought, not arrival-time delays. This procedure is repeated throughout the network until the wave reaches the egress node. The corresponding algorithm is shown in Figure 5.a. To complete the SPT procedure, a second set of waves is generated. Their task is also to propagate in a flooding-like fashion through the KN, individually recording the distance traversed. Upon reaching a node, the waves are only allowed to continue execution if the hop-count previously recorded from the origin node up to the node just reached is the same as the one currently assessed. The result is that not one but all SPTs between the ingress and the egress nodes are recorded. This same procedure is true for other waves generated from distinct ingress-egress nodes participating in the mp2p tree creation. One remarkable feature of this algorithm is that it prevents the creation of cycles, since waves returning to a node previously traversed will naturally bring a larger distance than that previously recorded, causing their dying. Therefore, no further actions are needed from the MPLS side to certify that no loops have occurred. The algorithm for this second SPT round is shown in Figure 5.b. In the second part of the procedure, a group of waves navigate through the path collected by the previous process. They set flags at the nodes traversed so that waves originating in other ingress nodes become aware of others having found paths containing mutual nodes in their routes. This collaboration scheme helps to actually determine all candidate nodes for stream merge in the final mp2p tree. Any intermediate node automatically becomes a data-merge candidate if visited more than once by waves coming from different ingress nodes during this part of the process.

Repeat{If destination reached,then stop

ElseClone Wave and jump to allQoS-compliant links

If first wave to reach node n,then record new origin nodeand distance

Elseif distance < previousrecorded distanceUpdate new distance forrespective origin

Else Wave dies}

a) First SPT round to mark possible routes

Repeat{Record node traversedIf destination reached,then stop

ElseClone Wave and jump to allQoS-compliant links

If distance == previousContinue navigationElse Wave dies

}

b) All SPTs Recorded

Fig. 5. Procedure for finding all possible SPTs between a source and a destination

In the third and final part of the mp2p creation process, waves are again generated to navigate through the SPTs previously found. These waves assign a weight to the SPT being traversed, depending on the number of candidate merge-nodes they find: the more candidate nodes a given SPT has, the more weight it earns. Upon reaching the egress node, the weight associated with its corresponding node of origin is recorded. Any subsequent wave reaching the destination node has to compare their weight to the one previously recorded. A wave carrying a higher weight overrides previous records (i.e. paths with lower weight). As a result, the egress node will contain the set of all combined SPTs with minimal hop-count from all other ingress nodes that meet the bandwidth constraint. Figure 6 graphically shows this mp2p process. Figure 6.a shows an example graph where mobile agents roam the network to find SPTs, while Figure 6.b shows the final routes chosen after SPTs with higher weight have been chosen. By having the explicit routes ready at the egress destination, this node can call upon a Label Distribution Protocol (LDP) and pass on the address of the nodes involved in individual paths to perform the actual set-up of the mp2p tree in the MPLS network in a down-stream fashion. The details of this procedure are out of the scope of this document 4.2 Dynamic Multipoint-to-Point Trees For the creation of dynamic paths, almost all of the previous steps from the static case are followed. The only difference is that, when a connection leaves or joins the mp2p tree, the final path can be reconfigured again to preserve network throughput (minimize resources), while maintaining the QoS guarantees. In the case of a new connection joining the tree, a group of agents is created to follow the first part of the process to determine the SPT for the new connection. After this, all ingress nodes repeat the

i3

e

i1

i2 n1

n2

n3 n4

e

i1

i2 n1

n2

n3 n4

a) Agents looking for SPTs in network b) Agents choose routes with nodes in common

Fig. 6. The mp2p Tree Computation

i3

in=Ingress Nodes e =Egress Nodes nj =Core Nodes

second and third procedures, which now includes the new connection. When a connection leaves, a set of waves is generated to delete records at the nodes involved in the SPTs that correspond to the old connection leaving the tree, and the second and third procedures of the routing process are followed again to readjust the tree. No additional steps are necessary. An actual snapshot of the WAVE simulation conducted is shown in Figure 7, which implements a network as the one presented in figure 2.

5. Conclusions We have seen how the WAVE technology could be used to efficiently compute multipoint-to-point trees in a highly distributed and parallel manner. Neither complex nor expensive combinatorial-like computations are ever performed. The agents created using WAVE can be programmed to search only paths that meet the QoS requirements of the connections involved. On the other hand, since WAVE is still a fairly new paradigm, it takes time to understand its rich semantics and the various high-level functional abstractions. However, once one becomes familiar with the new paradigm and language, the reward is significant. Performance evaluation is being conducted to determine the characteristics of the data traffic generated during the execution of the route discovery algorithm. Within the Diffserv-over-MPLS scheme, WAVE could conceivably be used to find and establish static mp2p trees according to the service level agreement previously mentioned, thereby creating predetermined traffic pathways for data transfer. Alternatively, dynamic routing could also be performed to honour requests for QoS-sensitive connections should no class-of-service/MPLS-label-binding be available at the time of the service request. WAVE is an efficient and flexible system for distributed simulation as well as global cooperative distributed processing. The Active Agent Research Group of the Internet Computing Laboratory of UBC is experimenting with a WAVE research prototype [17], [18] as well as working on the development an improved secure version with visualization tools [19], [13].

Fig. 7. Creation of a Fixed mp2p Tree

References 1. Apostolopoulos, G. et. al. “QoS Routing Mechanisms and OSPF Extensions”. RFC2676,

August 1999. 2. Moy, J. “Multicast extensions to OSPF”. IETF Network Routing WG, RFC1584, March

1994. 3. Rosen, E. et al. “Multiprotocol Label Switching Architecture”. IETF MPLS WG,

RFC3031, January 2001. 4. Lange, Danny and Oshima, Mitsuru. “Seven Good Reasons for Mobile Agents”.

Communications of the ACM, March 1999. 5. Awduche, D. et al. “Requirements for Traffic Engineering Over MPLS”, RFC2702,

September 1999. 6. Xipen Xiao and Lionel M. Ni. “Internet QoS: A Big Picture”. IEEE Network,

March/April 1999. 7. Armitage G. “MPLS: The Magic Behind the Myths”, IEEE Communications Magazine,

January 2000. 8. Blake, S. et. al. “An Architecture for Differentiated Services”. IETF-Network Transport

WG, RFC2475, December 1998. 9. Andrikopoulos, I. and Pavlou, G. “Supporting Differentiated Services in MPLS

Networks”. In Proceedings of 7th International Workshop on Quality of Service (IWQOS'99), London, May 1999.

10. Stallings, W. “Data and Computer Communications”. Prentice Hall, 6th Edition, January 2000.

11. Le Faucheur, F. et. al. “MPLS Support of Differentiated Services”. Internet draft, draft-ietf-mpls-diff-ext-07.txt, work in progress, IETF. August 2000.

12. Jamoussi, Bilel et al. “Constraint-Based LSP Setup Using LDP”. Draft-ietf-mpls-cr-ldp-04. internet draft, work in progress, January 2001.

13. Vuong, S. and Chu, N. , “Visualizations of the Logical Network and Agent Propagation in a Mobile Intelligent Agent System” submitted to CIC’2001 – The 2nd International Conference on Communications in Computing.

14. Crawley, E. et. al. “A Framework for QoS-based Routing in the Internet”. IETF Network WG, RFC2386, August 1998.

15. Magedanz, T. and Karmouch, A. “Mobile Software Agents for Telecommunication Applications”. Computer Communications 23 (2000), 705-707, Elsevier Science.

16. Sapaty, P. “Mobile Processing in Distributed and Open Environments”. John Wiley and Sons, 2000.

17. Sapaty, P. and Borst, P. “Wave: Mobile Intelligence in Open Networks”. Eta-COM ’96, Portland, Oregon.

18. Vuong S. and Ivanov, I. “Mobile Intelligent Agent Systems: Wave Vs. Java”. IEEE Computer Society, March 1996.

19. Vuong, S. and Fu, P. “A Security Architecture for a Mobile Intelligent Agent System” submitted to CIC’2001 – The 2nd International Conference on Internet Computing.

20. G. Di Caro and M. Dorigo. “Mobile agents for adaptive routing”. In Proceedings of the 31st International Conference on System Sciences (HICSS-31), volume 7, pages 74--83. IEEE Computer Society Press, 1998.

21. Minar, N. et al. “Cooperating Mobile Agents For Mapping Networks”. MIT Media Group. In Proceedings of First Hungarian National Conference on Agent Based Computing, May 1998.

22. Minar, N. et al. “Cooperating Mobile Agents for Dynamic Network Routing”. Software Agents for Future Communications Systems, Springer-Verlag, 1999.