Computer Communications 29 (2006) 765–780 www.elsevier.com/locate/comcom
Optimized QoS priority routing for service tunability and overhead reduction using swarm based active network scheme Constandinos X. Mavromoustakis*, Helen D. Karatza Department of Informatics, Aristotle University of Thessaloniki, 54124 Thessaloniki, Greece Available online 29 August 2005
Abstract As technology is moving towards the pervasive computing environments with billions of users, devices, and services, the Quality of Service (QoS) becomes a necessity and an essential element for end-to-end real time applications. The concept of active network has been recently adopted in order to provide a framework in which executable code within data packets executes upon intermediate network nodes and to facilitate delay services in the network. This paper describes the combination of the active network concept with swarm based control method called Swarm-based Active Network scheme for optimized QoS priority routing. This hybrid scenario is using the bandwidth clustering approach in which packets are following the predetermined path allocated by swarm based packets (embedded swarms). This mechanism enables the adaptation of the system to new conditions, as well as additional information to be passed to neighboring nodes for which information is embodied in transmitted packets. The proposed swarm based scheme does not require message brokers to fulfill QoS demands issued by applications. Additionally, it computes efficiently the available resources that satisfy the QoS requirements of requests. Thorough examination is made for the performance and reliability of the Swarm based Active Network scheme for different traffic measures and for the corresponding QoS offered in terms of the end-to-end delay, available bandwidth and packet loss. This scheme offers a decentralized way to efficiently increase the overall network utilization, allowing scalability and efficient usage of network bandwidth. q 2005 Elsevier B.V. All rights reserved. Keywords: Active packets; Tunable QoS; Bandwidth clustering scheme; Embedded swarm-based agents; Network connectivity; Distributed path marking methods
1. Introduction Active routing has become one of the most attractive methods in wired and wireless communication networks. By combining various hybrid schemes of different active agentbased methods, it enhances the overall performance of the system offering end-to-end user reliability and integrity. The objective of the generic concept of active agent-based techniques is to achieve high resource utilization and to reduce user contention for network resources. As load is not uniformly distributed, network resources decrease in the form of efficiency, bandwidth, processing power and memory, leading network to an unpredictable behavior. It becomes evident that the mechanism used for load balancing and resource allocation has to avoid overloaded * Corresponding author. Tel.: C30 310997974; fax: C30 310996360. E-mail addresses:
[email protected] (C.X. Mavromoustakis),
[email protected] (H.D. Karatza).
0140-3664/$ - see front matter q 2005 Elsevier B.V. All rights reserved. doi:10.1016/j.comcom.2005.07.018
nodes such that transmission delays (latencies) are minimized, whereas alternative routes should be activated whenever load conditions are drastically changing. When network dimensions increase, traditional routing algorithms and resource allocation methods [1] do not scale well particularly in the presence of frequent traffic flow changes and the flow of prioritized packets. In topologically complicated networks, the lack of adaptability of routing and resource allocation algorithm could become disastrous for the offered Quality of Service (QoS). Routing and specifically resource allocation algorithms must have the ability to adapt in any network changes and cope in anytime network state changes (capacity of nodes and links, traffic within paths, load changes etc.). While there are often models and efficient algorithms facing allocation problems in deterministic systems (typically formulated as matching or flow optimization problems) solutions for the networks with stochastic components are not straightforward. Decentralized schemes [3,6,10] involve a number of controllers each of which is supervising a part of a network. This allows the central
766
C.X. Mavromoustakis, H.D. Karatza / Computer Communications 29 (2006) 765–780
control to be applied locally to a part of a network enabling all ‘local’ supervisors to cooperate deploying a decentralized exchange of information. Indeed many distributed systems are unreliable and subject to random failures of their components. Examples of such systems are power grids where the distribution ability of the network can be affected by demand overloads and other random events or various transportation/information networks subjected to congestions and intermittent failures. Thus, optimally designed systems have to offer end user reliability and integrity by enabling equal share of network resources. This work proposes, an active network technique, which combines a reactive and proactive behavior of message passing using the Split Agent-based Routing Technique (SART) [14,15]. SART method enables the reservation of the required bandwidth and adaptation of the system to new conditions. Embedded swarm based packets that are delay sensitive are marked as prioritized. In turn, agents recognize these packets as being a part of a packet. This hybrid method is called swarm-based message passing [15]. It provides a model for active and distributed network data flow organization and also continuous resource reservation on demand. SART technique is applied to an active network using smart/active swarm based packets and nodes. In turn, the bandwidth clustering mechanism is activated for priority routing—as will be discussed later—in order to assign a certain bandwidth. A thorough study and discrimination is made for the class of service offered at any time in the network as well as for the QoS issue (particularly for delay sensitive packets where a slotted window tangles). We have considered a number of metrics that are associated with network performance, active network’s bandwidth clustering mechanism and evaluation of the degree of distribution ability and equality in sharing the network resources. Furthermore, measures for handling multimedia streaming (MMs) are presented with the relative trade-offs, based on the reliability and QoS offered by the proposed scheme. The organization of the paper is as follows. In Section 2, a description of the basic principles of the swarm-based scheme and adaptive resource allocation method is made where split agent algorithm is presented. In Section 2, the active bandwidth clustering scheme is also presented, showing the adaptive characteristics in bandwidth reservation. Section 3 draws the simulation results and conclusions and suggestions for future research are summarized in Section 4.
2. Swarm based adaptive resource allocation 2.1. Previous work Agent-based approach was first introduced and standardized by Appleby and Steward’s mobile agent’s algorithm [3]. Further studies [4,6,10] have shown that an ant-like mobile agent algorithm could be applied to a network with
significant optimization of the QoS metrics of the network. In [10], Dorigo and Gambardella used the metaphor of trail laying by ants to certain combinatorial optimization problems [3,4]. Several agent-oriented approaches [4,6,10, 14] have recently been proposed that appeal to principles extracted from Swarm Intelligence (SI) and aspire to solve routing problems to wired and wireless communication networks. On the other hand, within these methods there are some trade-offs that have to be taken into account. These trade-offs deal with network overall performance, such as generated overhead in message passing for agents communication, network utilization, simplicity for the implementation, etc. Agent based network routing could be biologically inspired and based on insect colonies which exhibit a simple behavior for their communication and living. Real ants have similar behavior with agents. They are represented in the network as artificial agents that bias the network collecting useful information for the whole environment through their hormones called pheromones. In previous researches of our [14] a hybrid (proactive and reactive) agent behavior is developed in which ants are adapting their communicational behavior to network circumstances, simultaneously splitting themselves for passing information to neighbor nodes. In [15], the SART technique was used for path marking on demand and capacity reservation, and was shown that this method efficiently marks the path and reserves the capacity required for offering optimized QoS service metrics to end users. 2.2. Swarm-based method for adaptive communication and resource control 2.2.1. Swarm based adaptive control One of the major challenges of the service/resource allocation problem is to find algorithms that are reactive and deliver high quality solutions. In practice the responsiveness of an algorithm must be traded off against the quality of a solution. One issue parameter is which type of the control system will be used. Another issue parameter is the responsiveness. Hybrid swarm based method can be parameterized in both dimensions. Packet loss in today’s data networks is mainly due to congestion. The nature of the environment and the underlying infrastructure with the consolidated use of end-to-end paradigm have focused, the research on transport level as the proper place to address congestion issues. Sources usually react by reducing their flow. Indeed, this is a response to congestion, but it has the unavoidable side effect of reducing the throughput. Fig. 1 shows that the flow control method/scheme is closely related to routing schemes used in the network. From a source S to a destination D, the used routing scheme affects the underlying discrete flow control-for any given time t-which results fluctuation in throughput response of the system.
C.X. Mavromoustakis, H.D. Karatza / Computer Communications 29 (2006) 765–780
767
Prioritized Traffic
S Incoming load/data
Scheduler
Flow Control Method
Routing Schemes
Throughput
D
Rejected Traffic Handling Rejected Load Methods
Closely Related(delay,latency, variations in prioritization) Fig. 1. Relation between traffic-incoming load, routing schemes, flow control and throughput.
Agent based network routing could be biologically inspired and based on insect colonies which exhibit a simple behavior for their communication and living. Real ants have similar behavior with agents and are represented in the network, as artificial agents that bias the network collecting useful information for the whole environment through their hormones called pheromones. The explored pheromone quantity could be ‘compiled’ into a concept for network bandwidth or available resources for service placement. Pheromones could probably correspond to bandwidth in terms of capacity reservation. Fig. 2 shows this concept. Bandwidth adequacy is inversely proportional to j the capacity reservation of the link as pheromone is inversely proportional to the length of the path [15]. Pheromone values are continuously normalized to capacity corresponding values and registered to routing table. As depicted in [14] the generic ant-based routing scheme consists of three agent types: explorers, allocators and deallocators. Explorers exhibit the foraging behavior and follow trails of pheromones laid down by previous explorers (positive feedback). Allocator agents traverse the path determined by explorer agents and allocate the bandwidth on the links used in the path. When the path is no longer required, a deallocator traverses the path and deallocates the bandwidth (probabilities) used on the links. Fig. 3 shows the positive feedback1 mechanism that forms a continuous circle, so the shortest path is strongly marked. Ant-based algorithm generates mobile agents embodied in packets at regular intervals within the nodes of the network. These packets which agents are a part of, select a purely random destination and try in the next time step in the network to reach the destination by selecting the best path from their
source. Roughly speaking, ants bias the network at a steady state [4,6,14] achieving load balancing. This method appears to be quite attractive since it allows the parallel operation of ants’ packets activated in the network2. 2.2.2. Embedded swarm based packets for resource allocation 2.2.2.1. Active network approach. In an active network, packets are more than just passive data. They are programs executed by the nodes that are passing the packets along or embedded in packets that influence control decisions. Generally, active networks are programmable networks that perform computation on the user data that is passing through them. This facility allows packets to make on-thefly decisions about how to route themselves. Tennenhouse et al. [2] provides a survey of this work. Active networks are a novel approach to network architecture in which the different network components perform customized computations on the messages flowing through them. This approach is motivated by both lead user applications, which perform user-driven computation at nodes within the network, and the emergence of mobile code technologies that make dynamic network service innovation attainable [2]. Active network can be classified as discrete and embedded. In discrete network, programs and data are carried discretely (separately) and in embedded network control is carried within data. There are many advantages in active network approach like the advanced safety, which includes user identification, resource naming and access control, admission and policing, and explicit policies in
1
One of the four ingredients that self-organization is characterized of. The other three are: amplification of fluctuations-randomness, reliance on multiple interactions, negative feedback.
2 In previous researches packets are waiting until an algorithm or a heuristic finds a path.
768
C.X. Mavromoustakis, H.D. Karatza / Computer Communications 29 (2006) 765–780
Available Resources/ Path availability
enhanced pheromone explored
higher capacity reservation
Higher link Bandwidth
Resource Availability
significantly less pheromone explored
less capacity reservation
Insufficient Bandwidth
Poor Resources
Length of path in terms of delay, latency etc
Fig. 2. Pheromone–bandwidth relation and intermediate processes, which present link/path resource availability.
enforcement and accountability. Other advantages are many application specific services in which active networks provide the mechanism to realize the quality of service. Computational distributed systems such as communication systems are inherently dynamic due to their largescale and complexity. The concept ‘dynamic’ means the property of a frequently changing state of resource availability as well as the state of service requirements. An important challenge is the development of an active resource discovery and updating techniques that can handle sophisticated resource descriptions and scale to large numbers of resources. Current resource discovery approaches for offering optimized QoS have been designed primarily for small networks or for networks where dynamic updates are not common or frequent. Hence, they do not scale well when the number of resources grows, and updates are common. Some of the most popular service discovery systems are Jini from Sun Microsystems, SLP [5], INS (Intentional Naming System) [11], and SDS [9]. In those systems, services advertise their descriptions to resolvers-sometimes to intermediate nodes, which act as resource directories. In turn, resolvers allocate the dedicated streaming packets to a link where available resources are adequate to efficiently forward streams from a node to another. In this paper, an active network strategy is presented for optimized QoS provision and adaptive resource allocation based on embedded swarm agents. This research is using the SART technique for interaction and updating information between packets and nodes. Resource capacities are provided locally to where demands occur, avoiding crossnetwork traffic. This active technique is proved to be very adaptive and can rapidly respond to changes in the environment while significantly reduces the generated network overhead. 2.2.2.2. Swarm based active network. Traditional packet networks achieve interoperability by standardizing the syntax and semantics of packets. In contrary active packets and nodes can perform different computations reactively. The encapsulation abilities of such a network enable advanced mechanisms for end-to-end communication to scarce or sensitive resources. Traditional packet headers are replaced with control programs in order to make on the fly decisions.
In a network, using a typical decentralized routing and equal share resource allocation model, each node maintains a routing table indicating where the packet has to go in order to reach the final destination. Agents adjust the table entries continuously affecting the current network state. Thus, routing tables are represented with pheromone tables having the likelihood of each path to be followed by the artificial ant-packet. Pheromone tables contain the address of the destination based on the probabilities for each destination from a source in a bi-directional format. The swarm based system approach associates pheromone trails to features of the solutions of a combinatorial problem, which can be seen as a kind of adaptive memory of the previous solutions. In our implementation, each packet-agent launches in the network and influences the pheromone table [10,14] by increasing or reducing the entry for the proper destination using antipheromone [14]. The pheromone table at each node Ni with K(i)neighbors can be measured as: i Ri Z ½r1;m nK1;kðiÞ with
(1) nK1 destinations and k next nodes for Ni Artificial ants are biasing the network by generating at every simulation time step ant-packets destined to every node randomly. In the network, ants are walking according to probabilities assigned in pheromone tables and they are visiting one node at every time step. In this way, ants increase the entry in the pheromone table corresponding to the node from which they came from PZ
Pold C DP 1 C DP
(2)
where DP is the quantity of pheromone increased and Pold is the previous entry. The other entries in the table of this node Bandwidth reservation (pheromones are explored).
Agents (ants) are influenced to select the best path (pheromone). Fig. 3. Positive feedback mechanism for reinforcement of the agents.
C.X. Mavromoustakis, H.D. Karatza / Computer Communications 29 (2006) 765–780
769
Encapsulated Active code A1 Ph
RS info
Traffic specification (Tspec)
Flow specification (flow spec)
Reserve specification (Rspec)
Link Capacity
cache of data to allow local recoveries
TTL (node, path) PrtMM
Active Node
packet loss detection
Packet header
Ph. Table Scheduler Priority TTL packet Output Processing local NACK
active activecode code A2
Packet structure
Node structure
Fig. 4. Active swarm based packet’s and node’s structure.
are decreased accordingly following the formula: PZ
Pold 1 C DP
(3)
Previous values and updated entries of the pheromone table of node n should satisfy the following: X i rn;s Z 1 (7) pb Z i
Routing tables, contain a two-way pheromone table parameters (bi-directional links with different capacity), which are maintained in each node, and are expressed as t1nt t1it PikðiÞ and PnkðiÞ
(4)
where K(i) are the next nodes3 for Ni, n is one of the nK1 possible destinations and nt is the possible next node at a certain time step. All probabilities are thresholded [14] between 1/ (number_of_neighbours)2 and 0.75 in order to prevent the pheromone saturation state. The route, where intermediate nodes have large pheromone quantities, is selected as the best-chosen path. If the destination can be reached on a hop-by-hop look-up table method, the route is valid otherwise the packet is blocked [14] and lost. Routing table entries updates are measured according to the following i riK 1;s ðt C 1Þ Z
i riK 1;s ðtÞ C dr 1 C dr
(5)
where dr is the step size parameter and s is the source node. Similarly for all neighbors to i, rni ðtÞ is found that: i rn;s ðt C 1Þ Z
i rn;s ðtÞ ; n siK1 1 C dr
(6)
3 Nodes can be both endpoints (can be source and destinations) and switches (can perform routing functions).
In this way, smart data packets and ants have an interaction in the means that ants affect the routing tables while data packets influence the service rate of the traffic on nodes, which affects the ants with the delay mechanism. This agent-oriented approach encompasses the generic agent based concept, which enables agents to move around the network, gathering information about the topology of the system and the traffic at a discrete time. Self-configured active network is defined as the ability of a system to automatically organize its components while being in a working framework. Self-configuration occurs without the need of external help or control. This aspect is of particular interest for research since non-automatic management of systems is an essential cost factor and source of the majority of errors. Active swarm based packets are used in a network for internal communication and auto-configuration between packets and nodes. Roughly speaking, active packets are self-contained piece of software that has the properties of autonomy and interaction. Packets make on the fly decisions about how to route themselves and learn (gather information) from their passing-by environment. Fig. 4 shows the structure of swarm based packet’s and node’s structure. Active node’s structure consists of the following software elements: (i) Packet classifier, which determines the desired QoS class for each packet. (ii) An admission control, which determines whether the node has sufficient available resources to supply the required QoS.
770
C.X. Mavromoustakis, H.D. Karatza / Computer Communications 29 (2006) 765–780
In Fig. 5, a packet with embedded active swarms is traveling from a node S (source) to D (destination). Prioritization takes place while packet reaches D and informs node about final destination. Each node’s buffer automatically determines the prioritization of each packet and sorts packets with higher priority first. Additionally, active packets inform each node about the status of previously visited link in order to update the capacity values for the proper link. A brief communication description about active node and packet is shown in Fig. 6. The state diagram in Fig. 6 shows the actions taken place while packet approaches an intermediate node. Incoming packet informs node about previous node and current traffic on the link it came from. This information is accomplished indirectly since node recalculates available resources (capacity) with packet’s arrival. In turn node calculates, the remaining bandwidth in the node’s capacity allocation table, which varies depending on the incoming traffic. It has to be stated out that each link’s capacity is assigned in each node’s capacity/allocation table as transitory traffic. After the node updates its table it informs the packet about its status (active or inactive). In turn active packet then influences the pheromone table, which is highly related with the available bandwidth on the link accessed by packet. Node then checks for prioritization of packets in its buffer and sorts them with the highest priority first. Priority settings provide, a mechanism to forward packets to a next hop node based on the degree of prioritization. Finally, node informs packet about the path and next hop in the path, or if it is the last hop node it then forwards the packet to destination. Before leaving node, packet resets the pheromone values in order to reassign new pheromone quantity based on next link that will be visited. Active packet’s communication, on a continuous basis, enables adaptation of the system to new conditions. This method is not error prone and enables additional information to be passed to neighboring nodes embodied in
P t+1
Pt
t
en
Ag
Agent v S
D
Dbuffer Pn
Uplink and downlink connections
Prioritized Packets
P3 P2 P1
Fig. 5. Embedded swarm-based packets continuously visit next-hop nodes and update information.
(iii) A packet scheduler, which manages the various queues, to guarantee the required QoS. A packet consists of a ‘flow spec’ field and a ‘filter spec’ field as in the well known Resource reSerVation Protocol (RSVP) [12,16]. Packets ‘carry’ traffic spec and path information from a source to destination and reserve information during their journey to destination. The RS info field of the encapsulated active code is the main swarm based active field in the packet’s header. RS info field, in cooperation with other fields in both node and packet, can expose the determined quantity of pheromone for the selected source and destination. This pheromone quantity is based on the available end-to-end resources. The flow spec specifies the desired QoS for the packet (Fig. 4) The filter spec defines the set of data packets to receive the QoS defined by the flow spec. The entire service class in packet header (both A1 and active code A2) defines the desired QoS and beyond others, it describes the type of the data flow (priority degree of MM or does not care packets). [3-i] Path Unavailable due to link and/or node failure [2-i] Node sort the packets with highest priority first
[4] In form and d packet a bo estina tion ut path
[1] Incoming Node
Packet [2] Informing Packet about Node status
[3] Influence PT [5] When reached Ack proper/source node Fig. 6. State diagram for active packet-node’s communication.
C.X. Mavromoustakis, H.D. Karatza / Computer Communications 29 (2006) 765–780 Cluster A 6
4 3 7
5 1
Cluster B
6
10 8
9 2 Cluster C
Fig. 7. The general concept of clustering different levels of bandwidth.
transmitted packets. This communication between node and packet is opaque to other network layers. 2.2.2.3. Resource reservation mechanism using bandwidth clustering method. The concept of available bandwidth and equality in share of network resources has been of central importance throughout the history of packet networks in both practice and research. A major issue has been in the context of communication protocols, the efficient utilization of network resources and sufficient bandwidth reservation. Based on the class of service at any time in the network, nodes must be able to service packets (route to destination) at a limit below their capacity limitations. Particularly, for delay sensitive services (multimedia packet transmissions) the routing algorithm must guarantee that the claimed bandwidth reservation is ensured and the maximum delay for each packet transmission is less than the preset bounded end-to-end delay. The bandwidth clustering approach is based on the available bandwidth on each data link in the network. Due to the unpredictable incoming traffic measurements that occur at any time in the network, the capacity of each channel (bandwidth) is reduced progressively with an increased flow of packets. Thus, a mechanism for bandwidth reservation must be used in order to efficiently cooperate, with the routing protocol used and at the same time ensure the capacity reservation for each channel. Bandwidth clustering method is based on the idea of clustering nodes using different levels of bandwidth. As shown in the network of Fig. 7, three different clusters are constructed with different levels of bandwidth. This method takes place after the SART algorithm is applied to the network to bias the paths and overcome the transient state [14]. Fig. 7 shows the different levels of bandwidth allocated in 3 different clusters. Packets are in node 1 (source node) and are destined for node 9. Split agents have already measured the paths (using pheromones) and the remaining capacity, marking at the same time the overloaded paths. Overloaded paths are also clustered but the remaining capacity will mark the cluster as a lower bandwidth cluster.
771
From source node 1 to destination node 9 there are three marked paths each of which has different remaining capacity. The clustering idea is based on whether the remaining capacity could efficiently be reserved by different streams to better utilize the path. Roughly speaking, a large or small-scale network can have infinite clusters in order to have different levels of bandwidth marked. In our approach, the number of ‘virtual’ clusters is entirely based on the decisions of agents as will be described. The bandwidth clustering method enables, the manipulation of different paths that offer different levels of bandwidth based entirely on the information collected from swarm-based packets. Furthermore, the bandwidth clustering method is associated with a cooperative learning and active environment, producing a robust and decentralized way for adapting link’s changing capacities4 quickly. Fig. 8(i) shows the typical decision selections of a proper node i to destination D. In Fig. 8(i) node i has four different options for the D destination. Path options a and b on one hand are using different intermediate nodes (j and k, respectively) and different clusters leading to D destination (C1 and C2, respectively). On the other hand c and d are using a combination of clusters C1, C2, C3 using intermediate nodes l and m, respectively. Fig. 8(ii) shows a topology and the regions arising when clustering with respect to several levels of bandwidth. Having as source node A and a destination node D, agents have already marked the path and allocated the remaining capacity to paths. The same time a cluster is being constructed at each path having the available bandwidth of the channel with the lowest free remaining capacity (1). MaxðCA1D Þ Z BW
(8)
In (8), BW is the available bandwidth, which is determined by the lowest free remaining capacity in the path from A to D (bottleneck concept). Taking Fig. 8(ii) as an example, there are two clusters marked from the same source to destination. One intermediate node B is common for both clusters. Packet must decide whether it can follow cluster 1 (continuous line) or cluster 2. Agents adjust the table entries continuously affecting the current network state. Routing tables are represented with pheromone tables having the likelihood of each path to be followed by the artificial ant-packet as depicted in [14]. Pheromone tables contain the address of the destination based on the probabilities for each destination from a source in a bi-directional format. In our implementation, each packet-agent launches in the network and influences the pheromone table by increasing or reducing the entry for the proper destination using antipheromone [14]. This pheromone quantity corresponds 4 Every instance each link’s capacity varies depending on the traffic that traverses it.
772
C.X. Mavromoustakis, H.D. Karatza / Computer Communications 29 (2006) 765–780
C D, j, C1 a b i c d
D, l, C1C2
D, m, C1C3
B
D, k, C2
F D
A A->D,B,C1C2 E
(i)
(ii)
Fig. 8. (i) and (ii) A topology and the regions arising when clustering with respect to several levels of bandwidth. Color regions represent nodes connected by links with higher free bandwidth (solid lines). Dashed lines indicate more congested links.
to a bandwidth-capacity reservation as seen in Fig. 3 The pheromone table at each node Ni with K(i) neighbors can be measured using Eq. (1). Routing tables contain a two-way pheromone table parameters which are maintained in each node, and are expressed using (4). After split agents measure the path from a source to destination, the clustering bandwidth mechanism is activated for each node estimating each time step the differences in their links. In Fig. 8(i) and (ii), all nodes are informed and the clusters are constructed according to capacity reservation information spread by agents onto nodes. Thus a packet has to decide whether cluster 1 or 2 should be chosen for reaching destination. These decisions are made according to information of remaining bandwidth, which was obtained in the previous time step. In that step packets passed and updated the information as expressed in (5) and (6). In Fig. 9, a pseudocode for the main generic functions of swarm based active scheme is provided. Although routing is performed through the swarm based method, the bandwidth reservation method occurs simultaneously with routing decision. Bandwidth reservation method is based on the priority degree of each packet. Swarm based routing decisions affect the bandwidth clustering method, which in turn affects bandwidth reservation. To define the accurate resource allocation in terms of bandwidth the updated entries of the pheromone table of node n should satisfy the following: X i pb Z rn;s Z 1 Z full_BW (9) i
Then decision of which path should be followed can be measured as follows MaxðCAC11DC1 ÞO MaxðCAC21DC2 Þ
(10)
for which the ideal path ensuring packet transmission with adequate capacity is ðCAC11DC1 Þ. This clustering scheme will enable the reduction of lookup tables and generated
overhead, thereupon additional queries to neighbors are avoided. 2.2.2.4. Constructed clusters’ recreation frequency and triggering. A critical issue arises as to when or whether the clusters should remain unchanged, as well as the duration that each cluster handles (remains in active period). Each candidate path must satisfy some criteria in order to be constructed into a cluster. In split agent-based implementation [14], a pathrater agent is used that runs on each node’s structure. The pathrater agent informs the visiting ant-based agent about the spare buffer capacity of the node and maintains rating for each other node it knows that arises from routing table entries. After consecutive network flows it is shown that network is biased overcoming the transient state. Thus paths are marked [15] and ready for the creation of each cluster to host a bounded capacity. The creation criteria are entirely based on the decision making and path marking of split agents where the successfully marked path is chosen to be set as a cluster. Beyond the path marking shown in [15] we used cellular automata (CA) to overcome the pathlock [14]. For instance node NA, uses CA simply to exchange information with the neighboring nodes examining5 whether its neighbors have at least a single link leading to the proper destination (that has higher remaining capacity). If these links of NA’s neighbor are not empty NA remains ‘alive’ and the cluster is not destroyed. Otherwise the cluster is obliterated. The issue of when the path should change is critical and has to be taken into account. Triggering with real traffic (swarm based active packets) is an action in order to set different paths in combination with the co-operative agents and CA comparison in each node. Each time a packet is transmitted from a source to a destination, information regarding the cluster of which the packet itself is a part of, is 5
Examination is performed within routing tables.
C.X. Mavromoustakis, H.D. Karatza / Computer Communications 29 (2006) 765–780
773
Fig. 9. Pseudocode for the basic functions of the swarm based active scheme.
exchanged between the packet and the nodes. This mechanism occurs in a dynamic way (pheromones extraction) exchanging information about the available bandwidth at each time step. Each cluster has a threshold Scap, and provides an active environment with a proper QoS. Some thresholds for bandwidth should be chosen so that nodes could be dynamically clustered in areas called ‘blocking areas’. Every node in the path is grouped and belongs to the blocking area labeled with XMb/s, if at least one route with as much free bandwidth between nodes exists. Adaptivity to the different traffic flows, which results a significant variation in bandwidth is performed using SART. SART simply enables the wider/distributed view of path availability in order to host traffic based on bandwidth availability. It is undoubtedly true that if the threshold Scap,
where Scap!Link_available_BW, is overtaken, meaning that the cluster has reached or passed the overloaded value, then once again the cluster is obliterated and recreation procedure takes place, with agents’ contribution and their path marking. 2.2.3. Adaptive resource allocation with reliable traffic flows in constructed clusters When transmitting data traffic, high reliability is a parameter of main importance; thus extensive retransmission and rate control schemes may be used. On the other hand, when transmitting continuous media (on demand Multimedia streaming) the requirement of on time delivery must be balanced against that of transmission reliability. In our approach we tried to balance both concepts. A freshness
774
C.X. Mavromoustakis, H.D. Karatza / Computer Communications 29 (2006) 765–780
degree evaluation and the reliability of links are substantial metrics to ensure reliability for data traffic flow. Each node measures the number of links at the beginning of each time step t and the number of its broken links tTot (if any). It becomes evident that the rate of broken links is equal to: tTot/tb, where tb is the number of node’s broken links. One way to evaluate reliability is by using the following notation Ti $N t 1K Tot (11) tb where T is the time steps that have passed since the creation of the cluster(i), and N is the number of nodes in the cluster. According to (11) we have measured the total path reliability notation and the link survivability factor as follows
t Reliability Z 1K tb
hops Ti $NCP iK1 Rf
iZ1
; number of hopsO 1 (12)
where Rf is the link capacity refreshment factor and i is the number of links in the path. In this way, we know the reliability degree of each link where we can evaluate the total reliability by using Eq. (12) above. 2.3. Network generated overhead and quality of service (QoS) Many applications are sensitive to the effects of delay, delay variation (jitter) and packet loss. To afford better service to selected network traffic the need of bounding parameters like the throttle of transmitted tokens to users for bandwidth allocation, prioritization of individual connections and control in latency became a necessity. As the number of information factors increases, the communication overhead becomes prohibitive. As known, resource and bandwidth reservation generated overhead is the number of control packets that are sent relative to the data packets. There is a tradeoff between performance and functionality in static or dynamic topologies where additional information must be sent to a specified node or nodes in the network. In the described hybrid scenario using bandwidth clustering, packets are delivered from one node to another following the predetermined path allocated by agents. However, routing related transmissions can affect the overall performance of the system causing significant end-to-end delays and delay variations. The swarm-based scenario does not use specific control packets like other routing schemes since agents pursue the control by being a part of the packets (smart-active packets). Active networking provides a framework in which executable code within data packets executes upon intermediate network nodes. Therefore, embedded swarm agents map and control the traffic at any time during transmission in the network, and consequently overhead is potentially reduced. This scenario
provides an infrastructure that maintains state and enforces the development of predictive and scalable network models. Roughly speaking network generated overhead is the number of control packets that are sent relative to the data packets. The large number of control packets introduces more chances of packet collision, longer delay, and more packets dropped resulting in insufficient QoS. The above scheme with embedded swarms allows scalability, and efficient usage of network bandwidth. However, with proposed swarm based scheme no message brokers are needed to fulfill QoS demands issued by applications. Additionally, this active scheme computes efficiently the available resources that satisfy the QoS requirements of requests. As known accurate network state information is very expensive to maintain and monitor. By allowing, the local influence to occur by packets to each node, a global view of network resource availability is enabled to nodes, particularly if applied to asymmetric systems like Infostations [8,13]. Another issue that has to be taken into account for resource overhead reduction is that swarm based scheme enables each node to view its absolute neighbor(s), thereupon, additional queries to neighbors are avoided. It must be stated out that the inexistence of generated overhead is a result of the non-transmitted routing tables values or other information blocks to neighbors or to all nodes of the network. In other words, this scheme significantly reduces the cost of QoS prioritized routing. But in essence, it increases the efficiency with the no need for packet tunneling and the ‘useless’ need to process packets at layers other than the network layer.
3. Simulation results and discussion To demonstrate, the design methodologies discussed in this paper, we performed exhaustive simulations to a partially meshed 100-node network. Nodes capacity has been chosen to be relatively high on each node’s buffer (680 kb). Network’s performance is examined through a number of various metrics that characterize the efficiency of the proposed scheme. In the implementation–simulation of this work, we used our own libraries implemented in C programming language. We have modeled and simulated (based in C/Objective C programming language) the previously discussed scenario soundly based on our source code and our C libraries built. There is no specific underlying platform for this implementation since agents represent individually the packets entering the system, and being a part of them so-called active/smart packets. In the implementation of the bandwidth clustering scheme different traffic input streams have been tested [7].6 The evaluation took place for different 6 Streams included Light Traffic (CBR randomly selected w4 Kbits) and Heavy Traffic (4C or $Light Traffic)
C.X. Mavromoustakis, H.D. Karatza / Computer Communications 29 (2006) 765–780
775
0.08
Average delay(ms)
0.07 0.06 0.05 0.04 0.03 0.02 0.01 0 100
200
300
500
750
900
Injected packets Fig. 10. Average packet delay versus the number of injected packets in the network.
levels of prioritization (marked 1–5(highest)) and ‘don’t care packets’. The network traffic is modeled by generating constant bit rate (CBR) flows. Each source node transmits one 512-bytes (w4 Kbits-light traffic) packet. In the described scenario link capacity is 6 Mbps (bi-directional) each. Packet’s requests are routed only once using the saved values on nodes. In Fig. 10, the average packet delay with the number of injected packets in the network is illustrated. As the number of packets increases the average packet delay increases slightly. After consecutive simulations for this metric it has been shown that when the number of injected packets reaches 550–600, the average packet delay increases dramatically. This occurs due to capacity limitations that bind each node. Swarm based active scheme shows that in order to reject the incoming packet, data flow scheduler and flow specification fields are responsible to cache locally the packet to node (Fig. 4). This results in significant delay but negligible compared with the case of packet loss. Fig. 11 shows packet loss rate for different grade of prioritization of MM packets as well as for ‘don’t care’ packets. ‘Don’t care’ packets have the highest packet loss rate because no prioritization takes place using the swarm based active scheme. Prioritized packets in real time could be video streams where packet loss and delay could be disastrous for the offered QoS to end-users. From Fig. 11, we can discriminate that the packet loss rate for any of the MM 1–5 prioritized packets is relatively low compared with
that of ‘don’t care’ packets. Additionally the prioritized packets MM-4 and MM-5 are behaving almost the same for packets loss rate. In Fig. 12, the delay variations (or jitter) for different grade of prioritization of MM packets are shown. Once again the swarm based active scheme enables active prioritization of MM packets, which cause significant reduction in the jitter parameter. Jitter is almost the same for low prioritization MM packets (MM-1) and for high prioritization (MM-4, MM-5). Active swarm based scheme prove to be robust in delays where sensitive prioritized packets are scheduled to be transmitted in bounded end-toend delay. Fig. 13 shows the percentage of bandwidth utilization as the number of hops increases, for MM streams traffic flow versus non-prioritized packets. In Fig. 13, MM bursty traffic utilizes the available bandwidth reaching z91% of the total available. ‘Don’t care’ packets cannot utilize more than z67%. This is caused by the high prioritization of MM packets conflicting with ‘don’t care packets’. MM packets block ‘don’t care packets’ to reach their destination and balk them from utilizing any link. A crucial metric is whether the path could be re-created in order to overcome the pathlock. This concept is shown in Fig. 14. The degree of cluster recreation seems to be proportional to the number of nodes used in the network since the traffic measures remain the same. It is remarkable
0.045 Don't care packets MM1 packets MM2 packets MM3 packets MM4 packets MM5 packets
Packet Loss Rate (%)
0.04 0.035 0.03 0.025 0.02 0.015 0.01 0.005 0 1000
5000
12000
20000
32000
45000
Simulation Time (sec) Fig. 11. Packet loss rate for different grade of prioritization of MM packets and non-prioritized packets (don’t care).
776
C.X. Mavromoustakis, H.D. Karatza / Computer Communications 29 (2006) 765–780
Delay Variation-Jitter (ms)
0.35 MM1 packets MM3 packets MM5 packets
Don't care packets MM2 packets MM4 packets
0.3 0.25 0.2 0.15 0.1 0.05 0 1000
5000
12000
20000
32000
45000
Simulation Time (sec) Fig. 12. Delay variations (jitter) for different grade of prioritization of MM packets and non-prioritized packets (don’t care). 100
Bandwidth Utilization (%)
90 80 70 60 50 40 30 20 10
MM packets (randomly)
non-prioritized packets
High Traffic(50% MM packets)
0 0
2
5
11
7
17
25
Number of hops Fig. 13. Bandwidth utilization (%) for data traffic flow for multimedia streams versus non-prioritized packets for increased number of hops.
to state out that after exhaustive simulations the system behaved almost the same even if the topology of the network changes at each simulation run. In Fig. 15, we compared the routing overhead generated for three different schemes: the generic Ant-Colony-Based Routing Algorithm (ARA), generic Distance-Vector Protocol (DV) and Dynamic Source Routing (DSR). The large number of control packets introduced by other methods enables packet collisions and longer delays, which results in insufficient QoS. This method allows the local influence to occur by packets onto nodes where no message brokers are needed to fulfill QoS demands issued by applications. Active bandwidth clustering scheme proves its robustness particularly for the generated overhead. Significantly, less
routing overhead is generated in DSR and bandwidth clustering schemes, while the other methods generated doubtless higher overhead packets. Table 1 shows the percentage of available end-to-end resources during simulation. After approximately 17 h of simulation time of the modeled network, we took measures for end-to-end available resources when injecting MM and ‘don’t care’ packets. MM packets randomly injected are more likely to leave more ‘space’ for available resources. Mixed traffic (MM packets-‘don’t care’) is shown to reserve higher bandwidth particularly for 80%/20% traffic. End-toend resources are minimized when the bottleneck rule exists in any of the link in the path. As expected, non-prioritized packets enable more available resources than traffic 50 Node NW 100 Node NW 200 Node NW
Created Clusters
5000 4000 3000 2000 1000 0 0
500
1500
18000
26000
30000
35000
42000
Simulation Timesteps Fig. 14. Recreation frequency and path stultification during simulation period for different network dimensions.
Routing Overhead (packets)
C.X. Mavromoustakis, H.D. Karatza / Computer Communications 29 (2006) 765–780 20000 18000 16000 14000 12000 10000 8000 6000 4000 2000 0
777
ARA AODV DSR BW-Clustering
0
100
200
300
450
650
Pause-Delay Time (in Simulation time steps) Fig. 15. Comparison of different protocols for the generated routing overhead packets. Table 1 Percentage of available end-to-end resources during simulation Simulation time (s)
MM packets randomly injected
Non-prioritized packets
MM packets—‘don’t care’ at 80%/20%
MM packets—‘don’t care’ at 50%/50%
0 6100 18.400 23.400 27.300 46.749 61.199
22.3 25 38 39.6 37.7 33 32.6
43 51.6 56.8 51.3 46.9 44.7 44.7
19 22 20 14.7 14.7 14.3 14.7
26.7 28.6 26.2 26.1 26.2 26.1 26.1
containing MM streams. Available end-to-end resources are measured from a source to a destination with no retransmissions. Fig. 16 shows the bandwidth assignment delay versus the routed bandwidth percentage. For bandwidth assignment delay 2!10K6, MM traffic is almost bandwidth routed reaching z98% (mean). For values 3.45!10K6, for bandwidth assignment delay, delay sensitive packets are successfully transmitted at a mean of 63%. Fig. 17 shows the frequency reuse of SART-based created clusters for path marking, avoiding the pathlock. MM traffic with different prioritization is more likely to ‘select’ the cluster with higher bandwidth which enables successful transmissions. Fig. 18 shows the successful end-to-end transmitted MM packets versus the different levels of cluster triggering
frequency. Different levels of cluster triggering frequency are based on the percentage of changes in the pheromone table entries. Triggering occurs when there is a large change in values in the pheromone table entries. Pheromone table entries correspond to a proper cluster or clusters. As seen in Fig. 18, for 45% change in the pheromone table entries the successfully end-to-end transmitted packets are in low levels. However, when change in the pheromone table entries passes the 48% a significant increase can be discriminated. The peak for successful end-to-end transmitted MM packets is reached when the change has reached 74%. The threshold value of 75% as discussed in previous section can prevent the pheromone saturation state. Fig. 19 shows the average throughput response as a function of the available resource reservation rate. When all
100 MM packets (randomly)
Routed bandwidth (%) (delay sensitive packets)
90
Heavy Traffic
80 70 60 50 40 30 20 10 0 2*10E-6
2*10E-6
3,5*10E-6
3,75*10E-6
3,85*10E-6
3,5*10E-6
3,45*10E-6
Bandwidth Assignment Delay Fig. 16. Values for the bounded end-to-end delay versus the bandwidth routed by swarm based active packets.
C.X. Mavromoustakis, H.D. Karatza / Computer Communications 29 (2006) 765–780
Cluster reusablity frequency (max 1.0)
778
0.9 0.8 0.7 0.6 0.5 0.4 0.3
MM1 MM2 MM5
0.2 0.1
MM4 MM3
0 0
100
300
500
1500
6000
12000
18000
26000
30000
Simulation Time Fig. 17. Created clusters frequency reuse.
Multimedia(MM) packets(successful transmission)
9000 8000 7000 6000 5000 4000 3000 2000 1000 0 0.15
0.22
0.25
0.45
0.57
0.7
0.72
0.75
% Change in Pheromone Tableentries Fig. 18. Successful end-to-end transmitted MM packets versus the different levels of cluster triggering frequency based on the percentage changes in pheromone table entries.
available resources are reserved, the average throughput response reaches the 1.52 Mbps. On the other hand when the available resources are reserved in 15% the average throughput reaches 0.93 Mbps. Swarm based active packets are shown to behave better in terms of the average throughput response for high percentage of reserved available resources. Fig. 20 shows the service tunability for different priority degrees of MM packets. Each prioritized MM packet has different degree of prioritization to reach a destination.
However, MM-5 packets behave almost the same as MM-1 packets. This means that the swarm based active scheme enables localized prioritizations of packets to nodes. However, nodes are then responsible for scheduling and co-responsible with packets for flow control. Thus when packets are marked as prioritized, swarm based active method ‘distributes’ this prioritization along paths and influences other packets to follow the same path. This is why MM-5 packets behave almost the same as MM-1 packets, while a further examination could be implemented
1.8
Average Throughput Mbps
1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 15
20
25
45
65
78
85
Available Resource Reservation ratio(%) Fig. 19. Average throughput as a function of the available resource reservation rate.
100
C.X. Mavromoustakis, H.D. Karatza / Computer Communications 29 (2006) 765–780
779
Number of MM Streams (different capacity each)
1400 MM1 MM2 MM3 MM4 MM5
1200 1000 800 600 400 200 0 15
20
25
45
65
78
85
100
End-to-end successful transmission (%) Fig. 20. Service tunability for different priority degrees.
MM packets
6000 5000
Generic ARA DSR
4000
Active BWClti
3000 2000 1000 0 15
25
35
50
80
100
Successful end-to-end trasnmission after recover (%) Fig. 21. Recoverability for successful MM packets for different methods.
in our future research for large-scale networks where flow rerouting could take place on demand. In Fig. 21, the number of MM packets versus the corresponding percentage of successful MM transmitted packets is illustrated using different methods. The MM packets used are randomly injected in the network while due to network congestion some packets fail to reach destination. However, the active local caching method which takes place on each node recovers the ‘lost’ packets and reroutes them to destination. Three different methods are compared for which active bandwidth clustering scheme showed to be robust, enabling recovery to significantly higher number of packets. The recoverability characteristics of the swarm based active method are the major reasons for avoiding routing errors that occur in the network.
4. Conclusions and further research This work presents a novel method for active swarm based scheme for self-configuration suited for optimized QoS priority routing and the overhead reduction issue. Resources are allocated by using the bandwidth clustering method, which is associated with a cooperative learning environment producing a decentralized way capable of adapting quickly to changing capacities. This scheme is applied in a swarm based active network environment where active packets continuously communicate with active
nodes by using the SART. This mechanism enables the adaptation of the system to new conditions (bandwidth reservation/capacity allocation), as well as additional information to be passed to neighboring nodes for which information is embodied in transmitted packets. Paths are clustered with respect to different levels of bandwidth in order to enable capacity allocation and bandwidth reservation on demand, for any requested traffic. Additionally, this scheme showed that it offers path reliability and QoS data traffic flow while the same time significantly reduces the generated overhead in the network. The implementation of active swarm based scheme proved that pheromone table entries do not only represent the cost effective path but furthermore relative merits of link-node resources, and the reflection of delay sensitive packets (activeness of smart packets). Active bandwidth clustering scenario has shown that it can successfully perform optimized bandwidth utilization (avoiding saturated routing or pathlock) and based on the service provided, it successfully offers end-to-end reliability. Multiclass routing is more than simply putting together routing algorithms designed for individual traffic classes. Scalable interclass resource distribution is essential to achieving high network throughput. Thus, this research could be extended for network scalability examination using variants of hybrid-agent based schemes and applied to a Mobile Ad-hoc Network (MANET) where no infrastructure exists. Therefore, the next step in our research is the
780
C.X. Mavromoustakis, H.D. Karatza / Computer Communications 29 (2006) 765–780
implementation of a swarm-based algorithm applied to a broadband MANET with embedded swarms having special characteristics. These characteristics will position the special agent’s behavior. In turn agent’s actions could be specified by the ‘indexing’ of data packets. Thus embedded agents could be entirely responsible for adapting—on demand—the proper resource allocation to the type of service (i.e. voice, multimedia, secure applications for untrustworthy users). Furthermore, a scope of interest would be the exploration of different ways in the manipulation of the pheromone quantity. Of course of great interest will be the performance behavior and the overall throughput of the system that will be influenced by the above characteristics.
References [1] A. Chavez, A. Moukas, P. Maes, Challenger: A Multi-agent System for Distributed Resource Allocation Proceedings of the First International Conference on Autonomous Agents (1997), pp. 323–331. [2] D. Tennenhouse, J. Smith, W. Sincoskie, D. Wetherall, G. Minden, A survey of active network research, IEEE Communications Magazine 35 (1) (1997) 80–86. [3] S. Appleby, S. Stewart, Mobile software agents for control in telecommunications networks, BT Technology Journal 12 (1994) 104–113. [4] M. Dorigo, V. Maniezzo, A. Colorni, The ant system: optimization by a colony of cooperating agents, IEEE Transactions on Systems, Man, Cybernetics—Part B 26 (1) (1996) 29–41. [5] E. Guttman, C. Perkins, Service Location Protocol, Version2. RFC2608. http://www.ietf.org/rfc/rfc2608.txt (1999). [6] R. Schoonderwoerd, O. Holland, J. Bruten, L. Rothkrantz, Ant-based load balancing in telecommunications networks, Adaptive Behavior 5 (1997) 169–207.
[7] S. McCanne, S. Floyd, NS network simulator version 2.1b8, June 2001, http://www-mash.cs.berkeley.edu/ns/. [8] D.J. Goodman, J. Borras, N.B. Mandayam, R.D. Yates, INFOSTATIONS: a new system model for data and messaging services, Proceedings of IEEE Vehicular Technology Conference 2 (1997) 969–973. [9] S. Czerwinski, B. Zhao, T. Hodes, A. Joseph, R. Katz, An architecture for a secure service discovery service, International Conference on Mobile Computing and Networking Proceedings of the Fifth Annual ACM/IEEE International Conference on Mobile computing and Networking, Seattle, Washington, United States, 1999 pp. 24–35. [10] M. Dorigo, L.M. Gambardella, Ant colony system: a cooperative learning approach to the traveling salesman problem, IEEE Transactions on Evolutionary Computation 1 (1997) 53–66. [11] W. Adjie-Winoto, E. Schwartz, H. Balakrishnan, J. Lilley, The design and implementation of an Intentional Naming System (INS) Proceedings of the Seventeenth ACM Symposium on Operating Systems Principles, Charleston, South Carolina, United States 1999 pp. 186–201. [12] S. Roy, B. Lesieutre, G. Verghese, Resource Allocation in Networks: A Case Study of the Influence Model Proceedings of the Thirty-fifth Hawaii International Conference on System Sciences, 2002 pp. 220– 228. [13] A.L. Iacono, C. Rose, Infostations: A new perspective on wireless data networks, in Next Generation Wireless Networks, Defining Applications and Services for Next Generation, Kluwer, Dordrecht, 2000. [14] C.X. Mavromoustakis, H.D. Karatza, Split Agent-based Routing in Interconnected Networks (SART) International Journal of Communication Systems (IJCS), vol. 17, Wiley, New York, 2004. pp. 303–320. [15] C.X. Mavromoustakis, H.D. Karatza, An on Demand Path Marking and Capacity Reservation Method Using Split Agent Proceedings of Workshop on Challenges of Large Applications in Distributed Environments (CLADE), in conjunction with the thirteenth IEEE International Symposium on High-Performance Distributed Computing (HPDC-13), Honolulu, Hawaii, 2004 pp.128–138. [16] L. Zhang, S. Berson, S. Herzog, S. Jamin, Resource Reservation Setup Protocol, official charter maintained by the IETF, 1997-Resource ReSerVation Protocol-Version 1 Functional Specification. RfC: 2205.