Autonomous Agents for QoS in High Speed System Area NetworksJuan Ram´on Acosta and Dimiter R. Avresky{jcosta,avresky}@ece....
goal is to maximize the network throughput by distributing the traffic over the minimal equivalentdisjoint paths that exist ...
Figure 1: Agent ClassesThe following is a compehensive list of agent types that are derived from the four basic classesmen...
• Risk and Trust. There has to be a balance between the fear (risk) the agent may dosomething wrong and the trust that it ...
The most popular technique used to deal with the sematic representation of intentions is knownas possible worlds, which co...
Host BHost ACommunicationInfrastructureMessage Passing Message PassingEnvironmentEnvironmentAgent ExecutionEnvironmentAgen...
Host ARunningAgentClientApplicationSuspendedAgent3512 4Host BCtrl Code AgentSuspendedApplicationServerAgentRunningCtrl Cod...
algorithm uses forward agents that modify the routing tables directly as they move toward theirdestination. Finally, asymm...
topology is regular. Dynamic mechanisms involve reconfiguring the routing tables and the flowcontrol policies to route traffic...
when interactions with other neighboring routers is required during the network configuration,failure and congestion avoida...
2. Each migrated Emxi :(a) Learns the cost ci involved on reaching the neighborgh.(b) It shares ci with the local node man...
Although the algorithm described before it is only focused on learning the network topology, italso produces very useful i...
Let Pd(xi, xj) be the set of disjoint paths if and only ifPd(xi, xj) = { pk(xik, xjk) | pn(xin, xjn) ∩ pm(xim, xjm) = ∅ , ...
xxxx52x3x4 x87c3x11ccccccc62 cc8c10c151413c547c911126cFigure 6: Arbitrary NetworkDijktraEquivPaths(G,s)for each node xi ∈ ...
the predecessor of node xi. ∞ is a large but finite number used to intialize the distance of eachnode starting at s, its va...
References[1] Kai Shen Hong. A flexible qos framework for cluster-based network services.[2] K. Shen, T. Yang, and L. Chu. ...
[18] R. La and V. Anantharam. Optimal routing control: Game theoretic approach. In Proceedingsof the CDC Conference., 1997...
Upcoming SlideShare
Loading in …5

Agent basedqos


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Agent basedqos

  1. 1. Autonomous Agents for QoS in High Speed System Area NetworksJuan Ram´on Acosta and Dimiter R. Avresky{jcosta,avresky}@ece.neu.eduNetwork Computing LabNortheastern University357 Dana Research CenterBoston, MA 02115, U.S.AAbstract Remember to add latter.Keywords: autonomous agents, load balancing, static routing, equivalent path1 IntroductionVideo on demand, Voice Over IP and other real-time applications are increasing in popularityand with them the need of reliable high-performance network computers. To face this challengecorporations are creating high-performance systems using low cost components of the shelf (COTS)such that network computers built this way, can be easily reconfigured to scale up and be able tohandle increased loads.The increasing number of users of the Internet have triggered a significant grow on the networktraffic causing computer networks to be push to their limit. Although computing capacity isavailable, the network’s ability to carry large amounts of traffic in short time is severely reducedas the load increases. The major challenge faced by service providers today, is their ability togive customers the level of service they signed for, regartless of the system conditions. Quality ofService (QoS) frameworks as mentioned in [1] have been developed to provide mechanisms that let aservice provider define metrics that permit differentiation and admission control to multiple classesof service. QoS metrics are usually a combination of yield functions and policies that guaranteeresource allocation. Others have developed algorithms that use cluster load balancing to providesystem support for fine-grane network services, as described in [2].The need for newer and better alternatives to provide higher QoS have lead researchers to developmore sophisticated methodologies, for example: In active networking [3] and [4], packets are morethan passive data; they are programs that execute at the intermediate nodes along the routing path.This allows packets to make more efficient decisions dynamically on how to route themselves. Whileactive networks focuses on mechanisms to move data across the network on a per packet basis, otherresearchers have developed methodologies for network management and dynamic routing such asthose based on autonomous agents and the ”Social insects” paradigm, [5]. Hultman in [6], appliedactive networking and social insects theories to implement dynamic routing. The algorithm uses aninter-dependent collection of specialized agents that cooperate to provide high network connectivityand dynamic routing.A new alternative to achieve network traffic load balancing is proposed in this paper. The main
  2. 2. goal is to maximize the network throughput by distributing the traffic over the minimal equivalentdisjoint paths that exist between a source and destination pair. The algorithm uses autonomousagents running at each router on the network to determine the utilization and delay of each link.This information is then used to trigger the reconfiguration of the routing tables such that all theminimal equivalent disjoint paths are used to carry traffic, see [7, 8].The paper is organized in five sections as follows: Section 2, presents an overview what autonomousagents are and how can they be be used to achieve efficient routing. Also it presents, a briefintroduction to the chalenges faced in traffic load balancing. Section 5, describes in detail the newalgorithm that uses a combination of autonomous agents and minimal equivalent disjoint paths toachieve traffic load balancing. In Section 6, explains in detail the reconfiguration algorithm usedto update the routing tables when a utilization deadline is passed. Section 7, shows the results ofa series of experiments ran with the new load balancing algorithm. The last section corresponds tothe Conclusions.2 Technology BackgroundIn this section, we review work that have been published on the context of agent technology, effi-cient network routing, traffic control and QoS where autonomous agents and equivalent minimumpaths are considered as mediums to achieve network traffic load balance.2.1 Agent BasicsThe term agent has been used to refer to software components that can be deployed into a dis-tributed environment. This generalization obscures the real attributes, benefits and open issuesconcerning agent technology.Hyacinth Nwana in [9] makes a clear definition of agents based on the formalisms and theoriesdeveloped by the Distributed Artificial Intelligence (DAI) and Parallel Artificial Intelligence (PAI)communities. Also, he presents a comprehensive agent taxonomy based on macro issues such as:interaction and communication among agents, the distribution and decomposition of tasks, coordi-nation and cooperation, architectures and languages.2.1.1 Formal DefinitionDefinition 2.1 AgentAn agent is a software and/or hardware component which is capable of acting exactingly in orderto accomplish tasks on behalf of its user. An agent has the following characteristics: it is able tocooperate with other agents, learn from its environment and is autonomous.Now, if the three characteristics ovelap each other, they create a spectrum defined by theirintersection, see Figure 1. In the spectrum are found four classes of agents: collaborative agents,collaborative learning agents, interface agents, and truly smart agents. Anything outside the spec-trum is not an agent, for example, expert systems and distributed modules are autonomous, butdo not cooperate or learn. Most agent based systems operate at the knowledge level and not at thesymbol level as standard computing applications do.2
  3. 3. Figure 1: Agent ClassesThe following is a compehensive list of agent types that are derived from the four basic classesmentione before:• Collaborative Agents, whose general characteristics are autonomy, social ability, respon-siveness and pro-activeness.• Interface Agents, emphasis autonomy and learning in order to perform tasks for theirowners.• Mobile Agents, computational processes capable of roaming the network gathering infor-mation on behalf of their owner coming back ”home”.• Information/Internet Agents, perform the role of managing, manipulating or collatinginformation from many distributed sources.• Reactive Agents, they respond to stimulus generated by the state of their environment,manage complex patterns that emerge from this behavior.• Hybrid Agent Architectures, agents are constructed combining one or more of any of theother types.• Heterogeneous Agent Systems, a systems contains more than one different agent in asetup.In addition to the three main agent characteristics described in Definition 2.1, Foner N. Leonardin [10] defines the sociology characteristic, which refers to the following concepts in conjunction:• Discourse. For all the tasks it is necessary that the user and the agent have two-way feedback.This then results on a contract where it is specified what will be done and is expected byeach party.3
  4. 4. • Risk and Trust. There has to be a balance between the fear (risk) the agent may dosomething wrong and the trust that it will be all right. This decision needs to be made basedon how much we trust the agent and how much it will cost us a mistake.• Graceful Degradation. The agent needs to be fault-resilient or at least exhibit gracefuldegradations in case of communication mismatch.• Anthropomorphism. A program just because pretends to be anthropomorphic does notmake it an agent.• Expectation, the agent has to meet the user expectationsFoner, considers that ”agents must have a social contract” with its user because as more humaninteraction moves essentially into cyberspace-like realms and the boundaries between the humansand the machine becomes wider and wider, it is necessary to put programs under more scrutiny,because it will be the time when our programs may be subjected to the same behavioral analysis thatone expects to be applied to a human, in such way that the following questions will be legitimate toask about a software agent: ”is the agent behaving appropriately in its social context? is it causingemotional distress to those that interact with it? is it a good citizen?An example in [10] shows an agent (built by Michael Loren at the Center of Translation at CarnegieMellon University) that connects to a Multiple User Dimention virtual reality space (MUD) andcan be seen as an other player with its own personality, abilities and establishes conversations.The need for scrutiny mentioned earlier can be understood with the following example. Duringa session in the MUD a user referred to the agent as a ”boring human fixated on hokey”. Thisobservation makes clear that true agents are capable of provoking discussions of sociological andemotional nature.2.1.2 Autonomous AgentsDefinition 2.2 Autonoumous AgentSmart agent that operates without direct intervention of a human and has control over its actionsand its internal state based on knowledge.In order to represent autonomous agents it is required to apply a theoretical model based onbeliefs, knowledge and wanting. The model, as explained in [11], is based on attitudes that descibe:the information an agent has about its environment(information attitudes) and the actions it cantake based on desire, commitments, intentions(pro-attitudes). Therefore, if an agent is representedby pro- and information attitudes then an agent will make choices and develop intentions basedon the information it learns, from this stand point autonopmous agents are then intentional systems.To denote intentional notions it is necessary to use a framework were the language formulationand the semantic model are independent such that when a new expresion is formulated within theframework to represent an intention, the new expresion preserves the original meaning.A language formulation commonly used is known as meta-language which is a first-order languagethat contains symbols and terms that represent elements in another object language. Intentionalnotions can then be represented by a meta-language predicate to which any axioms can be applied.4
  5. 5. The most popular technique used to deal with the sematic representation of intentions is knownas possible worlds, which considers the agents’ beliefs, knowledge and goals to be a set of stateswith an accessibility relation holding between them. The states are also known as epistemic alter-natives. Possible worlds have an associated correspondance theory that is very close to classicalpropositional logic with two more new operators: 2 necessarly and ♦ possibly. The axioms forknowledge and belief of this semantical representation are as follows:Axiom Description2φ ⇒ φ Knowledge, it says what is known is true. Distinguishes knowledgefrom beliefs2φ ⇒ ♦φ Beliefs are non-contradictory and can be written asKiφ ⇒ ¬Kiφ which means: If i knows φ theni does not knows ¬φ2φ ⇒ 22φ Positive introspection, an agent knows what it knows.♦φ ⇒ 2♦φ Negative introspection, the agent is aware of what it does not knowThis representation is succeptible to the omniscience problem which tells that an agent knows allpropositional tautologies ( knowledge is closed under logical consequence), that equivalent propo-sitions are identical beliefs and that if an agent is inconsistent then it believes everything.Avoiding omniscience is the focus of variuos scientists and some have proposed a technique thatmakes a distintion between explisit and implicit beliefs using situations. A situation is a fragmentof a world or a partial description of a world. Situations are different from possible worlds in thatthey assign true, false, neither or both, such that to prevent omniscience an agent is assigned aset of situations compatible with its beliefs. The agent then will believe φ if the thruth of φ issupported by every situation with the agent beliefs. For more information refer to [12]Agents communicate in order to achieve succesfully all the tasks given to them. Communicationenables agents to coordinate their actions and behavior. The degree of coordination is the extentto which agents avoid extraneous activity reducing resource contention, avoiding livelock and dead-lock, and maintaining applicable safety conditions. Communication between agents is modeled asa point to point exchange of messages whose content is a construction of a well defined language,for example: the Knowledge Query and Manipulation Language (KQML) [13] , the KnowledgeInterchange Format (KIF) or the most recent, the DARPA Agent Markup Language (DAML) [14].2.2 Mobile AgentsDefinition 2.3 Mobile AgentIt is an agent that has the capability of migrate under its own control from one machine to an othermachine on the network.5
  6. 6. Host BHost ACommunicationInfrastructureMessage Passing Message PassingEnvironmentEnvironmentAgent ExecutionEnvironmentAgent ExecutionEnvironmentEnvironmentClient ApplicationEnvironmentClient ApplicationFigure 2: Mobile Agent Computing ModelA typical mobile agent computing environment is shown in Figure 2, it consists of three layers:First, the communications layer, it allows the transmition of messages from one computer to an-other. Second, message passing layer, it allows an agent to be transformed into a message streamformat and makes sure that the message is transmited is reliable and effciently. Last layer, theagent execution environment. It makes akes possible the creation and operation of agents.2.2.1 Agent Process MigrationSince agent components may be executed on machines that have different architectures the AgentExecution Environment needs to provide a normalized computing environment for the agent suchthat the underling architecture is hidden from it. To support heterogeinity often agents are writtenusing interpreted languages such (Tcl/Tk, Java,etc.) Interpreted languages have the advantage oflate binding and allow an agent to contain references to functions or classes not present on thesystem where it is launched, but are available at the destination. Usually migration is triggeredwhen a certain condition is meet by the agent at some point of its execution. The process is startedby the agent itself and is as follows:1. The current agent process is suspended at the execution environment2. The process data, control block (stack, heap,etc) and code are bundled into a machine inde-pendent message stream3. The Message is transited to targeted host4. At the remote host, the received message is processed by the remote agent execution environ-ment that then spawns a new process and restore the attributes of the agent before it wassuspended5. Execution continues at the next instruction.The process described previously is known as strong mobility since it includes the process controlblock in the message stream. The migration process where the control block is not serialized as6
  7. 7. Host ARunningAgentClientApplicationSuspendedAgent3512 4Host BCtrl Code AgentSuspendedApplicationServerAgentRunningCtrl CodeFigure 3: Agent Process Migrationpart of the message it is known as weak mobility. Weak mobility improves the overal executionperformance of the agent, since less is packaged and transmited over the network. However, it willbe necessary that the agent execution environment implements a more sofisticated algorithm tobring the agent to the state it was before it migrated to the new location.2.3 Autonomous Agents in NetworkingModern computer networks consists of many kinds of processors and communication channels allinterconnected with each other, but only very limited number of tools exists today to deal withthem. In response, the scientific community has developed new techniques that focuses in areassuch as network administration, traffic load balancing and efficient routing. For example, activenetworking and social insects theories have being combined to manage networks using an inter-dependent collection of specialized agents that cooperate to provide high network connectivity anddynamic routing as described in [6].Minar in [15], describes an algorithm to map the topology of a network using mobile agents. Theagents map the system by traveling around the network and learning about connectivity first hand.In addition, agents learn more about the network by cooperating with other agents they meet onthe same node. Finally when agents end exploring the network, the topology is mapped using thecollected data. The map is then used to define the routing policies used to forward packets out ofeach node.Agents have been used in adaptive routing. Gianini in [16], introduced a distributed adaptiverouting algorithm based on mobile agents that is capable of learning the routing tables of a computernetwork using the ant colony metaphor. Autonomous agents, also have been used to achieve loadbalancing. Heusse in [17], developed two new algorithms that estimates of the current trafficconditions and link utilization by mixing agents with regular information packets to keep track ofthe network conditions. The collected information is used to update the routing tables withoutusing any centralized controller and without knowing the network topology. The first algorithm usesround trip agents to update the routing tables while backtracking to the source node. The second7
  8. 8. algorithm uses forward agents that modify the routing tables directly as they move toward theirdestination. Finally, asymmetric connections are dealt with using an efficient agent cooperationschema.2.4 Network Load BalancingNetwork load balancing consists on distributing traffic thruought the links such that their utiliza-tion is maximized and the throughput of the network maintained optimal. In order to achievea satisfactory distribution of traffic, it is required that each router be aware of the current linkutilization and be capable of adjusting its routing policies utilizing an algorithm that can minimizethe utilization of each node without causing saturation in others.Richard J. La and Venkat Anantharam in [18] consider that computer networks are shared by self-ish users that are only interested on optimizing their own performance by controlling the routingof their load and since routers can decide to some extent which path the packets will take, theymodeled the routing problem as a non cooperative game where the entities playing the game arethought as the network users. Also it was established that if the strategies of the users are suchthat no user finds it beneficial to deviate unilaterally their behavior, it is natural to believe that thisrepresents an equilibrium for the network. The study demonstrated that in networks with parallellinks between a source and destination there always exists a Nash Equilibrium Point (NEP) thatachieves a network wide optimum delay and yet it yields a delay for each user that it is not gatherthan the unique stage game NEP, see [19]. In more general networks, where there are differentsource-destination pairs, it was demonstrated that it is not possible to achieve the minimum totaldelay because some users have to incur in higher delays. In this context the optimal delay representsthe maximum delay on the network that guarranties optimal throughput. Although, it is possibleto know an approximation of the delay based on the user’s traffic pattern and unwillingness toshare the communication links; the network requires to implement mechanisms that allows efficientrouting and distribution of flows across the nodes interconnects.Load balancing is considered a flow optimization problem by Ahuja and in [20] where max-imizing the number of packets transiting the network (throughput) when links have transmissionlimitations (available bandwidth) is considered a NP-complete problem for which the existingheuristics are very complex. Flow based routing uses delay as metric to determine how muchtraffic can be send across a link and how much traffic can be consumed by a destination node.The mean link delay, in general, is computed for different flows using a deterministic single pathrouting schema that renders an average delay statically optimized. The load then is balanced byallowing non-deterministic routing along a small number of best routes, for example minimal equiv-alent paths. Although these routing algorithms achieve good results they are still limited in verydynamic networks.2.5 Network Failure RecoveryComponent and link failures in high-speed computer networks can result in severe topology changesand performance degradation that have a direct impact on the system and its users. Recoveringfrom this type of failures requires a mechanism that can quickly isolate the fault and also re-routethe traffic in order to maintain the throughput at an acceptable level and not generate routingloops or create hotspots. The currently known methods for failure recovery can be classified asstatic or dynamic. Static mechanisms for network failure recovery use redundant links to providealternative paths to which the network can switch over and frequentlyrequire that the network8
  9. 9. topology is regular. Dynamic mechanisms involve reconfiguring the routing tables and the flowcontrol policies to route traffic arround the faulty network element. Modifying the routing tablesin real time brings with it the risk of introducing livelock and deadlock. Also, dynamicaly updatingthe routing tables requires the router to have enough memory and CPU power in order to dealwith the complexity of the reconfiguration algorithm. However, with the continuos trend on thereduction in costs of memory and CPU cycles it is more afordable to have smarter and more soft-sticated router architectures that could take advantage of technologies such as intelligent agentsand context aware applications to help them do a better job assuring network reliability and betterquality of service.Garijo,Cancer and S´anches in [21] for example describe a centralized Multiagent CooperativeNetwork-Fault Management (CNFM) that uses ISO standard interfaces on each router to detectand avoid faults on the network. In CNFM the agents are working as watch dogs of the networkmonitoring each element and generate event into CNFM engine for fault detection and recognition.This process limits the hability of the network to recover quickly because of all the recovery processhappend at the core CNFM instead of the router closer to the failure.3 Proposed Router ArchitectureThe algorithms proposed on this paper uses autonomous agents to determine the saturation pointof each link, to estimate the delay per out-bound link and to dinamically compute the minimalequivalent disjoint paths in presense saturation and to recover fom network device failures. Eachrouter on the network is assumed to have the architecture shown in Figure 4...ArbitrationDecisionRoutingCrossbarNxNTables0iiInput Ports Output PortsNode ManagerTraffic AnalizerAgentRouterAgentAgentRoutingN−10N−1Figure 4: Agent Based Router ArchitectureThe router accommodates a light weight agent community integrated by the following threeagents:1. Node Manager Agent. This agent oversees the traffic analyzer, router, and explorer agents.It provides an interface to network administration tools and acts as proxy of the router agent9
  10. 10. when interactions with other neighboring routers is required during the network configuration,failure and congestion avoidance.2. Traffic Analyzer Agent. Responsible for watching the router’s output ports and queues todetermine the current link utilization and be able to identify hot spots. The agent uses theflow-unaware statistical delay method described in [22] to determine delays without dependingon the dynamic information of the packet flow. This allows the agent to verify whetherthe end-to-end delay bound in each minimal path satisfies a deadline requirement while thebandwidth usage on each path is within a predefined limit, for more details refer to Section5.3.3. Router Agent. In charge of modifying the routing tables and applying the arbitration poli-cies given for the current traffic deadline. The router’s agent behavior is determined by theinherent routing algorithm, the information exchange with its immediate peers running onother routers and the desired throughput. At boot up, the router agent uses the algorithmdescribed in section 5.2 to determine the equivalent paths for each source/destination pair.The agent adjusts the routing tables to include the equivalent paths during arbitration when-ever the traffic analyzer fires a signal indicating that the the delay bound does not meet thedeadline requirement.4. Explorer Agent. Mobile autonomous agent responsible of maping the nework topology andlink capacities between each pair of nodes and for bringing this information to the routeragent for it to compute its routing tables and minimum equivalent paths. In case of failure orsaturation the agent is responsible for executing the network recovery mechanism describedin section /refdetf ailures.4 Building Routing TablesDuring the network start up each router initiates an algorithm that determines the network topologyand either the maximum link capacity or the maximum delay between two adjacent nodes. At theend of the algorithm the router agent has a complete mapping of the network with the metricsmentioned before. The mapping is then used by the router agent to generate its routing tables anddetermine the minimum equivalent paths from it to all other nodes.The exploration algorithm can be described formally as follows:1. In parallel at each router xi:The node manager agent creates as many explorer agents as there are neigborghs. Then eachexplorer Em :(a) Learns who are the neighbors and the output ports that connect the router to them.Em← {xj, xk, . . .}(b) It is assigned a neighborgh to visit.Emxj = Em← xj(c) Fianlly, Emxi migrates to its neighborhg.10
  11. 11. 2. Each migrated Emxi :(a) Learns the cost ci involved on reaching the neighborgh.(b) It shares ci with the local node manager.(c) Learns from the local node manager who are the neighbors and the cost involved onreaching them.(d) Sends back learned information to its parent.3. In Parallel at each router xi:(a) The node manager creates a map of the network topology using the information sentfrom its explorers and the explorers that arrived to the router. The network mappingis built as a square incidence matrix where rows represent sources Si and columnsdestinations DjM =0 D1 D2 . . .S1 m11 m12 . . .S2 m21 m22 . . .............where to indicate connectivity between two nodes, the node manager assigns a value tomi,j as follows:mi,j =ck > 0 if xi and xj are connected0 if xi and xj are not connected−1 if xi and xj are connected but there is a failure/congestionThe cost ck is either the time it took an explorer Emxi to migrate or the maximumavailable banwidth of link (xi, xj).(b) From the map, the node manager determines which destination does not have a rowentry on the matrix and for each one of them it trigges the following procedure:for each Di ∈ MrDetermine the explorer Emxi at neighbor from which Di is reachableSend a request to Emxi to obtain Di’s neighborsEmxi asks the local manager about Dis neighbor informationif local manager knows which are the neighborghs thenEmxi learns who they are and the cost to reach themSends information back to its parentelse local manager will recursively apply this procedureAdd new entry for Di into map Mend-for-eachAfter exiting the procedure the router has mapped the entire network and then is readyto proceed to generate the routing tables(c) Generate routing tables using network mapping and DijktraEquivPaths(G, s)11
  12. 12. Although the algorithm described before it is only focused on learning the network topology, italso produces very useful information that is employed to determine link congestion and computealternative minimum equivalent paths in case a reconfiguration of the routing tables is required.The cost ci of reaching a neighbor and the sum of all costs incurred by an explorer and its nodemanager to communicate information are averaged together to produce an initial threshold τ0that is used by the traffic analyser agent to set and determine QoS deadlines per output port.The network mapping is kept by the node manager and reused by the router agent to determinenewer minimum disjoint equivalent paths as result of a reconfiguration triggered by the trafficanalyzer5 Autonomous Agents and Equivalent PathsIn this section we present a new algorithm to achieve network traffic load balancing. The maingoal is to maximize the network throughput by distributing the traffic over the minimal equivalentdisjoint paths that exist between each source and destination pair.The algorithm proposes a new router architecture that uses autonomous agents to determine theutilization and delay of each link. The link estate information is used to trigger the reconfigurationof the routing tables such that all the minimal equivalent disjoint paths are used to carry traffic,and to dinamically determine the disjoint equivalent paths in case of failures or saturation.5.1 Equivalent PathsConsider a network as an undirected graph G = (N, L) where N represents the sets of nodes andL the set of links that interconnect the elements in N, see Figure 5jix xp kp ip jFigure 5: Network with Equivalent PathsDefinition 5.1 PathLet p(xi, xj) ⊆ L be a set of contiguous links that form a path between nodes xi and xj whoselength is given by the cardinality of the set, Lenght(p) = | p |.Definition 5.2 Disjoint Paths12
  13. 13. Let Pd(xi, xj) be the set of disjoint paths if and only ifPd(xi, xj) = { pk(xik, xjk) | pn(xin, xjn) ∩ pm(xim, xjm) = ∅ , n = m }for allk, n, m ∈ [ 1, | Pd(xi, xj) | ]There are no links in common between any two paths in the set.Definition 5.3 Equivalent PathsTwo paths, pn(xin, xjn) and pm(xim, xjm), are equivalent if and only if1. They connect the same nodes: xin ≡ xim and xjn ≡ xjm2. They have the same length: Lenght(pn) ≡ Lenght(pm)If pn(xin, xjn) and pm(xim, xjm) are equivalent paths, then the set of nodes, Nn, reachable thrupn(xin, xjn) is identical to the set of nodes Nm reachable via pm(xim, xim). Considering reachabilityand the path characteristics only, it is not possible to make a routing desition about wich equivalentpath to select to reach a particular destination, for this reason, it is necessary to use an additionalcriteria. To resolve this ambiguity we will assign each link a cost ci that depending on the case itcould represent either: available bandwidth or link utilization or delay.Definition 5.4 Disjoint Equivalent PathsFollowing definitions 5.2 and 5.3, Pde(xi, xj) is the set of all equivalent paths connecting nodes xiand xj such thatPde(xi, xj) = { pk(xik, xjk) | pn(xin, xjn) ∩ pm(xim, xjm) = ∅ , n = m }for allk, n, m ∈ [ 1, | Pde(xi, xj) | ]All the paths in the set are equivalent and disjoint5.2 Determining Minimal Equivalent Disjoint PathsIn order to determine minimal equivalent disjoint paths on the network, we used an algorithm thatcombines the modified Dijktra algorithm and selection of equivalent paths as follows:In Figure 6, it is defined a network with an arbitrary topology as a weighted undirected graphG = (N, L, C), such that :N = { x1 . . . xi }, The set of nodes on the networkL = { l1 . . . li }, The set of links that connect a pair of nodes, lk = (xi, xj)C = { c1 . . . ci }, The set of costs associated with each link lkLet DijktraEquivPaths(G, s) be the routing algorithm that determines the minimal disjointequivalent paths between each pair of nodes xi and xj as described in [8] such that:13
  14. 14. xxxx52x3x4 x87c3x11ccccccc62 cc8c10c151413c547c911126cFigure 6: Arbitrary NetworkDijktraEquivPaths(G,s)for each node xi ∈ N domin path[xi] ← ∞pred[xi] ← {}node touch[xi] ← 05: min node ← ∅last touch ← 0touch ← 1Q ← Nmin path[s] ← ∅10: while Q = ∅ doxl ← ExtractLeastElementTouch(Q)if min path[xl] min node or node touch[xl] > last touch thentouch ← touch + 1min node ← min path[xl]15: last touch ← node touch[xl]for each node xk ∈ Neighborgh[xl] doif min path[xk] min path[xl] ⊕ c(xk,xl) thenmin path[xk] ← min path[xl] ⊕ c(xk,xl)prred[xk] ← { xl }20: node touch[xk] ← touchelse if min path[xk] = min path[xl] ⊕ c(xk,xl) and node touch[xk] = touch thenpred[xk] ← pred[xk] { xl }The variable min path[xi] is called the estimated shortest path of node xi and storesan estimate to the shortest path (path with the smallest cost) from s to xi. The functionExtractLeastElementTouch(Q) extracts a node of least estimate from the nodes that belong to theset Q. In case of a tie ExtractLeastElementTouch(Q) chooses the one with the oldest touch. Thetouch of node xi is stored in the variable node touch[xl] and marks the time when the shortestpath estimate of xi was last updated. The current touch is kept in the variable touch which isinitialized to 1 and is incremented with a new extraction from Q, but only if the new node has adifferent shortest path estimate or a different touch of the last from the las node withdrawn fromQ. Lines 9 to 11 are called the relaxation of link (xi, xj). The variable pred[xi] is known as14
  15. 15. the predecessor of node xi. ∞ is a large but finite number used to intialize the distance of eachnode starting at s, its value should be any number greather than|C|i=1 ci, the sum of all the costsassigned to each link in G or max{ci} · |L| where max{ci} is the largest cost assigned to a linkand |L| is the number of links in the network.5.3 Determining CongestionTBD5.4 Determining FailuresNatchev and Avresky in [23].6 Reconfiguration AlgorithmTBD7 Evaluation of ThroughputTBD8 Conclusions15
  16. 16. References[1] Kai Shen Hong. A flexible qos framework for cluster-based network services.[2] K. Shen, T. Yang, and L. Chu. Cluster load balancing for fine-grain network services. In Insubmission to IPDPS’02, 2001.[3] David L. Tennenhouse, Jonathan M. Smith, W. David Sincoskie, David J. Wetherall, andGary J. Minden. A survey of active network research. IEEE Communications Magazine,35(1):80–86, 1997.[4] Y. Yemini and S. daSilva. Towards programmable networks. In IFIP/IEEE InternationalWorkshop on Distributed Systems: Operations and Management, 1996.[5] Ruud Schoonderwoerd, Owen E. Holland, Janet L. Bruten, and Leon J. M. Rothkrantz. Ant-based load balancing in telecommunications networks. Adaptive Behavior, 5(2):169–207, 1996.[6] Nelson Minar, Kwindla Hultman Kramer, and Pattie Maes. Cooperating Mobile Agents forDynamic Network Routing, chapter 12. Springer-Verlag, 1999. ISBN: 3-540-65578-6.[7] V. Shurbanov D. Avresky and N. Natchev. Optimal utilization of equivalent paths in computernetworks with static routing. In NCA’01, pages 0133–0144, 2001.[8] Jo˜ao Lu´is Sobrinho. Algebra and algorithms for qos path computation and hop-by-hop routingin the internet. IEEE/ACM Transactions on Networking, 10(4):541–550, 2002.[9] Hyacinth S. Nwana. Software agents: An overview. Knowledge Engineering Review, 11(3):205–244, October/November 1995.[10] ˜N.˜Leonard Foner. Entretaining agents: A sociological case study. In The First InternationalConferenceon Autonomous Agents, 1997.[11] Michael J. Wooldridge and Nicholas R. Jennings. Intelligent agents: Theory and practice.Knowledge Engineering Review, 10(2):115–152, June 1995.[12] Michael J. Wooldridge. The Logical Modeling of Computational Multi-Agent Systems. PhDthesis, University of Manchester, 1992.[13] Hans Chalupsky, Tim Finin, Rich Fritzson, Don McKay, Stu Shapiro, and Gio Weiderhold. Anoverview of kqml: A knowledge query and manipulation language. Technical report, KQMLAdvisory Group, April 1992.[14] James Hendler and Deborah L. McGuinness. The darpa agent markup language. IEEE Intel-ligent Systems Trends and Controversies, 2000.[15] Nelson Minar, Kwindla Hultman Kramer, and Pattie Maes. Cooperating mobile agents formapping networks. In Proceedings of the First Hungarian National Conference on Agent BasedComputation, 1999.[16] Gianini Di Caro and Marco Dorigo. Mobile agents for adaptive routing.[17] M. Heusse, S. Gu’erin, D. Snyers, and P. Kuntz. Adaptive agent-driven routing and loadbalancing in communication networks. Complex Systems, 1998.16
  17. 17. [18] R. La and V. Anantharam. Optimal routing control: Game theoretic approach. In Proceedingsof the CDC Conference., 1997.[19] P. Dubey. Inefficiency of nash equlibria. In Mathematics of Operation Research, volume 11,pages 1–8, 1986.[20] R.K. Ahuja Magnanti T.L. and J.B Orlin. Network Flows: Theory, Algorithms and Applica-tions. Prentice Hall,Inc, 1993.[21] M. Garijo, A. Cancer, and J. Sanchez. A multi-agent system for cooperative network-faultmanagement. In PAAM 96, Proceedings of the First International Conference and Exhibitionon the Practical Applications of Intelligent Agents and Multi-agent Technology, pages 279 –294, 1996.[22] Riccardo Bettati Shegquan Wang, Dong Xuan and Wei Zhao. A study of providing statisticalqos in a differentiated services network. In NCA’03, pages 0297–0304, 2003.[23] Natcho Natchev and Dimitir R Avresky. Dynamic reconfiguration in computer clusters withregular topologies in the presence of multiple node and link failures. IEEE TRANSACTIONSON COMPUTERS, 2004.[24] Keith W. Ross Srinivas Rajagopal Martin Reisslein. Framework for guaranteeng statisticalqos. IEEE/ACM Transactions on Networking, 10(1):27–42, 2002.[25] Kwindla Hultman Kramer, Nelson Minar, and Pattie Maes. Tutorial: Mobile software agentsfor dynamic routing. Mobile Computing and Communications Review, 3(2):12–16, 1999.[26] Andrea Schaerf, Yoav Shoham, and Moshe Tennenholtz. Adaptive load balancing: A study inmulti-agent learning. Journal of Artificial Intelligence Research, 2:475–500, 1995.[27] Nelson Minar, Matthew Gray, Oliver Roup, Raffi Krikorian, and Pattie Maes. Hive: Dis-tributed agents for networking things. In 1st International Symposium on Agent Systemsand Applications (ASA’99)/Third International Symposium on Mobile Agents (MA’99), PalmSprings, CA, USA, 1999.[28] H. Ku, G. Luderer, and B. Subbiah. An intelligent mobile agent framework for distributednetwork management, 1997.[29] A. Bieszczad, T. White, and B. Pagurek. Mobile agents for network management. IEEECommunications Surveys, 1998.[30] Eugene Hung and Joseph Pasquale. Agent usage patterns: Bridging the conceptual gap be-tween agent-based applications and middleware.[31] Daniela Rus, Robert Gray, and David Kotz. Autonomous and adaptive agents that gatherinformation. In AAAI ’96 International Workshop on Intelligent Adaptive Agents, pages 107–116, 1996.17