SlideShare a Scribd company logo
1 of 17
Autonomous Agents for QoS in High Speed System Area Networks
Juan Ram´on Acosta and Dimiter R. Avresky
{jcosta,avresky}@ece.neu.edu
Network Computing Lab
Northeastern University
357 Dana Research Center
Boston, MA 02115, U.S.A
Abstract Remember to add latter.
Keywords: autonomous agents, load balancing, static routing, equivalent path
1 Introduction
Video on demand, Voice Over IP and other real-time applications are increasing in popularity
and with them the need of reliable high-performance network computers. To face this challenge
corporations 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 to
handle increased loads.
The increasing number of users of the Internet have triggered a significant grow on the network
traffic causing computer networks to be push to their limit. Although computing capacity is
available, the network’s ability to carry large amounts of traffic in short time is severely reduced
as the load increases. The major challenge faced by service providers today, is their ability to
give customers the level of service they signed for, regartless of the system conditions. Quality of
Service (QoS) frameworks as mentioned in [1] have been developed to provide mechanisms that let a
service provider define metrics that permit differentiation and admission control to multiple classes
of service. QoS metrics are usually a combination of yield functions and policies that guarantee
resource allocation. Others have developed algorithms that use cluster load balancing to provide
system 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 develop
more sophisticated methodologies, for example: In active networking [3] and [4], packets are more
than 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. While
active networks focuses on mechanisms to move data across the network on a per packet basis, other
researchers have developed methodologies for network management and dynamic routing such as
those based on autonomous agents and the ”Social insects” paradigm, [5]. Hultman in [6], applied
active networking and social insects theories to implement dynamic routing. The algorithm uses an
inter-dependent collection of specialized agents that cooperate to provide high network connectivity
and dynamic routing.
A new alternative to achieve network traffic load balancing is proposed in this paper. The main
goal is to maximize the network throughput by distributing the traffic over the minimal equivalent
disjoint paths that exist between a source and destination pair. The algorithm uses autonomous
agents 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 the
minimal 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 autonomous
agents are and how can they be be used to achieve efficient routing. Also it presents, a brief
introduction to the chalenges faced in traffic load balancing. Section 5, describes in detail the new
algorithm that uses a combination of autonomous agents and minimal equivalent disjoint paths to
achieve traffic load balancing. In Section 6, explains in detail the reconfiguration algorithm used
to update the routing tables when a utilization deadline is passed. Section 7, shows the results of
a series of experiments ran with the new load balancing algorithm. The last section corresponds to
the Conclusions.
2 Technology Background
In 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 minimum
paths are considered as mediums to achieve network traffic load balance.
2.1 Agent Basics
The 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 issues
concerning agent technology.
Hyacinth Nwana in [9] makes a clear definition of agents based on the formalisms and theories
developed 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 Definition
Definition 2.1 Agent
An agent is a software and/or hardware component which is capable of acting exactingly in order
to accomplish tasks on behalf of its user. An agent has the following characteristics: it is able to
cooperate with other agents, learn from its environment and is autonomous.
Now, if the three characteristics ovelap each other, they create a spectrum defined by their
intersection, 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, but
do not cooperate or learn. Most agent based systems operate at the knowledge level and not at the
symbol level as standard computing applications do.
2
Figure 1: Agent Classes
The following is a compehensive list of agent types that are derived from the four basic classes
mentione 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 their
owners.
• 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 collating
information 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 the
other types.
• Heterogeneous Agent Systems, a systems contains more than one different agent in a
setup.
In addition to the three main agent characteristics described in Definition 2.1, Foner N. Leonard
in [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 by
each party.
3
• Risk and Trust. There has to be a balance between the fear (risk) the agent may do
something wrong and the trust that it will be all right. This decision needs to be made based
on 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 graceful
degradations in case of communication mismatch.
• Anthropomorphism. A program just because pretends to be anthropomorphic does not
make it an agent.
• Expectation, the agent has to meet the user expectations
Foner, considers that ”agents must have a social contract” with its user because as more human
interaction moves essentially into cyberspace-like realms and the boundaries between the humans
and 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 that
one expects to be applied to a human, in such way that the following questions will be legitimate to
ask about a software agent: ”is the agent behaving appropriately in its social context? is it causing
emotional 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 Carnegie
Mellon University) that connects to a Multiple User Dimention virtual reality space (MUD) and
can 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. During
a session in the MUD a user referred to the agent as a ”boring human fixated on hokey”. This
observation makes clear that true agents are capable of provoking discussions of sociological and
emotional nature.
2.1.2 Autonomous Agents
Definition 2.2 Autonoumous Agent
Smart agent that operates without direct intervention of a human and has control over its actions
and its internal state based on knowledge.
In order to represent autonomous agents it is required to apply a theoretical model based on
beliefs, 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 can
take based on desire, commitments, intentions(pro-attitudes). Therefore, if an agent is represented
by pro- and information attitudes then an agent will make choices and develop intentions based
on 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 formulation
and the semantic model are independent such that when a new expresion is formulated within the
framework 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 language
that contains symbols and terms that represent elements in another object language. Intentional
notions can then be represented by a meta-language predicate to which any axioms can be applied.
4
The most popular technique used to deal with the sematic representation of intentions is known
as possible worlds, which considers the agents’ beliefs, knowledge and goals to be a set of states
with 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 classical
propositional logic with two more new operators: 2 necessarly and ♦ possibly. The axioms for
knowledge and belief of this semantical representation are as follows:
Axiom Description
2φ ⇒ φ Knowledge, it says what is known is true. Distinguishes knowledge
from beliefs
2φ ⇒ ♦φ Beliefs are non-contradictory and can be written as
Kiφ ⇒ ¬Kiφ which means: If i knows φ then
i 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 know
This representation is succeptible to the omniscience problem which tells that an agent knows all
propositional 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 that
makes a distintion between explisit and implicit beliefs using situations. A situation is a fragment
of a world or a partial description of a world. Situations are different from possible worlds in that
they assign true, false, neither or both, such that to prevent omniscience an agent is assigned a
set of situations compatible with its beliefs. The agent then will believe φ if the thruth of φ is
supported 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. Communication
enables agents to coordinate their actions and behavior. The degree of coordination is the extent
to which agents avoid extraneous activity reducing resource contention, avoiding livelock and dead-
lock, and maintaining applicable safety conditions. Communication between agents is modeled as
a 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 Knowledge
Interchange Format (KIF) or the most recent, the DARPA Agent Markup Language (DAML) [14].
2.2 Mobile Agents
Definition 2.3 Mobile Agent
It is an agent that has the capability of migrate under its own control from one machine to an other
machine on the network.
5
Host BHost A
Communication
Infrastructure
Message Passing Message Passing
EnvironmentEnvironment
Agent Execution
Environment
Agent Execution
Environment
Environment
Client Application
Environment
Client Application
Figure 2: Mobile Agent Computing Model
A 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 stream
format and makes sure that the message is transmited is reliable and effciently. Last layer, the
agent execution environment. It makes akes possible the creation and operation of agents.
2.2.1 Agent Process Migration
Since agent components may be executed on machines that have different architectures the Agent
Execution Environment needs to provide a normalized computing environment for the agent such
that the underling architecture is hidden from it. To support heterogeinity often agents are written
using interpreted languages such (Tcl/Tk, Java,etc.) Interpreted languages have the advantage of
late binding and allow an agent to contain references to functions or classes not present on the
system where it is launched, but are available at the destination. Usually migration is triggered
when a certain condition is meet by the agent at some point of its execution. The process is started
by the agent itself and is as follows:
1. The current agent process is suspended at the execution environment
2. The process data, control block (stack, heap,etc) and code are bundled into a machine inde-
pendent message stream
3. The Message is transited to targeted host
4. 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 was
suspended
5. Execution continues at the next instruction.
The process described previously is known as strong mobility since it includes the process control
block in the message stream. The migration process where the control block is not serialized as
6
Host A
Running
Agent
Client
Application
Suspended
Agent
3
51
2 4
Host B
Ctrl Code Agent
Suspended
Application
Server
Agent
Running
Ctrl Code
Figure 3: Agent Process Migration
part of the message it is known as weak mobility. Weak mobility improves the overal execution
performance of the agent, since less is packaged and transmited over the network. However, it will
be necessary that the agent execution environment implements a more sofisticated algorithm to
bring the agent to the state it was before it migrated to the new location.
2.3 Autonomous Agents in Networking
Modern computer networks consists of many kinds of processors and communication channels all
interconnected with each other, but only very limited number of tools exists today to deal with
them. In response, the scientific community has developed new techniques that focuses in areas
such as network administration, traffic load balancing and efficient routing. For example, active
networking 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 and
dynamic routing as described in [6].
Minar in [15], describes an algorithm to map the topology of a network using mobile agents. The
agents 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 on
the same node. Finally when agents end exploring the network, the topology is mapped using the
collected data. The map is then used to define the routing policies used to forward packets out of
each node.
Agents have been used in adaptive routing. Gianini in [16], introduced a distributed adaptive
routing algorithm based on mobile agents that is capable of learning the routing tables of a computer
network using the ant colony metaphor. Autonomous agents, also have been used to achieve load
balancing. Heusse in [17], developed two new algorithms that estimates of the current traffic
conditions and link utilization by mixing agents with regular information packets to keep track of
the network conditions. The collected information is used to update the routing tables without
using any centralized controller and without knowing the network topology. The first algorithm uses
round trip agents to update the routing tables while backtracking to the source node. The second
7
algorithm uses forward agents that modify the routing tables directly as they move toward their
destination. Finally, asymmetric connections are dealt with using an efficient agent cooperation
schema.
2.4 Network Load Balancing
Network 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 achieve
a satisfactory distribution of traffic, it is required that each router be aware of the current link
utilization and be capable of adjusting its routing policies utilizing an algorithm that can minimize
the 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 routing
of their load and since routers can decide to some extent which path the packets will take, they
modeled the routing problem as a non cooperative game where the entities playing the game are
thought as the network users. Also it was established that if the strategies of the users are such
that no user finds it beneficial to deviate unilaterally their behavior, it is natural to believe that this
represents an equilibrium for the network. The study demonstrated that in networks with parallel
links between a source and destination there always exists a Nash Equilibrium Point (NEP) that
achieves a network wide optimum delay and yet it yields a delay for each user that it is not gather
than the unique stage game NEP, see [19]. In more general networks, where there are different
source-destination pairs, it was demonstrated that it is not possible to achieve the minimum total
delay because some users have to incur in higher delays. In this context the optimal delay represents
the maximum delay on the network that guarranties optimal throughput. Although, it is possible
to know an approximation of the delay based on the user’s traffic pattern and unwillingness to
share the communication links; the network requires to implement mechanisms that allows efficient
routing and distribution of flows across the nodes interconnects.
Load balancing is considered a flow optimization problem by Ahuja and et.al. in [20] where max-
imizing the number of packets transiting the network (throughput) when links have transmission
limitations (available bandwidth) is considered a NP-complete problem for which the existing
heuristics are very complex. Flow based routing uses delay as metric to determine how much
traffic 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 path
routing schema that renders an average delay statically optimized. The load then is balanced by
allowing 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 very
dynamic networks.
2.5 Network Failure Recovery
Component and link failures in high-speed computer networks can result in severe topology changes
and performance degradation that have a direct impact on the system and its users. Recovering
from this type of failures requires a mechanism that can quickly isolate the fault and also re-route
the traffic in order to maintain the throughput at an acceptable level and not generate routing
loops or create hotspots. The currently known methods for failure recovery can be classified as
static or dynamic. Static mechanisms for network failure recovery use redundant links to provide
alternative paths to which the network can switch over and frequentlyrequire that the network
8
topology is regular. Dynamic mechanisms involve reconfiguring the routing tables and the flow
control policies to route traffic arround the faulty network element. Modifying the routing tables
in real time brings with it the risk of introducing livelock and deadlock. Also, dynamicaly updating
the routing tables requires the router to have enough memory and CPU power in order to deal
with the complexity of the reconfiguration algorithm. However, with the continuos trend on the
reduction 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 agents
and context aware applications to help them do a better job assuring network reliability and better
quality of service.
Garijo,Cancer and S´anches in [21] for example describe a centralized Multiagent Cooperative
Network-Fault Management (CNFM) that uses ISO standard interfaces on each router to detect
and avoid faults on the network. In CNFM the agents are working as watch dogs of the network
monitoring 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 process
happend at the core CNFM instead of the router closer to the failure.
3 Proposed Router Architecture
The algorithms proposed on this paper uses autonomous agents to determine the saturation point
of each link, to estimate the delay per out-bound link and to dinamically compute the minimal
equivalent disjoint paths in presense saturation and to recover fom network device failures. Each
router on the network is assumed to have the architecture shown in Figure 4.
.
.
Arbitration
Decision
Routing
Crossbar
NxN
Tables
0
ii
Input Ports Output Ports
Node Manager
Traffic Analizer
Agent
Router
Agent
AgentRouting
N−1
0
N−1
Figure 4: Agent Based Router Architecture
The router accommodates a light weight agent community integrated by the following three
agents:
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 agent
9
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 to
determine the current link utilization and be able to identify hot spots. The agent uses the
flow-unaware statistical delay method described in [22] to determine delays without depending
on the dynamic information of the packet flow. This allows the agent to verify whether
the end-to-end delay bound in each minimal path satisfies a deadline requirement while the
bandwidth usage on each path is within a predefined limit, for more details refer to Section
5.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 the
inherent routing algorithm, the information exchange with its immediate peers running on
other routers and the desired throughput. At boot up, the router agent uses the algorithm
described 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 the
deadline requirement.
4. Explorer Agent. Mobile autonomous agent responsible of maping the nework topology and
link capacities between each pair of nodes and for bringing this information to the router
agent for it to compute its routing tables and minimum equivalent paths. In case of failure or
saturation the agent is responsible for executing the network recovery mechanism described
in section /refdetf ailures.
4 Building Routing Tables
During the network start up each router initiates an algorithm that determines the network topology
and either the maximum link capacity or the maximum delay between two adjacent nodes. At the
end of the algorithm the router agent has a complete mapping of the network with the metrics
mentioned before. The mapping is then used by the router agent to generate its routing tables and
determine 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 each
explorer 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.
Em
xj = Em
← xj
(c) Fianlly, Em
xi migrates to its neighborhg.
10
2. Each migrated Em
xi :
(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 on
reaching 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 sent
from its explorers and the explorers that arrived to the router. The network mapping
is built as a square incidence matrix where rows represent sources Si and columns
destinations Dj
M =






0 D1 D2 . . .
S1 m11 m12 . . .
S2 m21 m22 . . .
...
...
...
...






where to indicate connectivity between two nodes, the node manager assigns a value to
mi,j as follows:
mi,j =



ck > 0 if xi and xj are connected
0 if xi and xj are not connected
−1 if xi and xj are connected but there is a failure/congestion
The cost ck is either the time it took an explorer Em
xi to migrate or the maximum
available banwidth of link (xi, xj).
(b) From the map, the node manager determines which destination does not have a row
entry on the matrix and for each one of them it trigges the following procedure:
for each Di ∈ Mr
Determine the explorer Em
xi at neighbor from which Di is reachable
Send a request to Em
xi to obtain Di’s neighbors
Em
xi asks the local manager about Dis neighbor information
if local manager knows which are the neighborghs then
Em
xi learns who they are and the cost to reach them
Sends information back to its parent
else local manager will recursively apply this procedure
Add new entry for Di into map M
end-for-each
After exiting the procedure the router has mapped the entire network and then is ready
to proceed to generate the routing tables
(c) Generate routing tables using network mapping and DijktraEquivPaths(G, s)
11
Although the algorithm described before it is only focused on learning the network topology, it
also produces very useful information that is employed to determine link congestion and compute
alternative 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 node
manager to communicate information are averaged together to produce an initial threshold τ0
that 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 determine
newer minimum disjoint equivalent paths as result of a reconfiguration triggered by the traffic
analyzer
5 Autonomous Agents and Equivalent Paths
In this section we present a new algorithm to achieve network traffic load balancing. The main
goal is to maximize the network throughput by distributing the traffic over the minimal equivalent
disjoint paths that exist between each source and destination pair.
The algorithm proposes a new router architecture that uses autonomous agents to determine the
utilization and delay of each link. The link estate information is used to trigger the reconfiguration
of 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 Paths
Consider a network as an undirected graph G = (N, L) where N represents the sets of nodes and
L the set of links that interconnect the elements in N, see Figure 5
jix x
p k
p i
p j
Figure 5: Network with Equivalent Paths
Definition 5.1 Path
Let p(xi, xj) ⊆ L be a set of contiguous links that form a path between nodes xi and xj whose
length is given by the cardinality of the set, Lenght(p) = | p |.
Definition 5.2 Disjoint Paths
12
Let Pd(xi, xj) be the set of disjoint paths if and only if
Pd(xi
, xj
) = { pk(xi
k, xj
k) | pn(xi
n, xj
n) ∩ pm(xi
m, xj
m) = ∅ , n = m }
for all
k, n, m ∈ [ 1, | Pd(xi
, xj
) | ]
There are no links in common between any two paths in the set.
Definition 5.3 Equivalent Paths
Two paths, pn(xi
n, xj
n) and pm(xi
m, xj
m), are equivalent if and only if
1. They connect the same nodes: xi
n ≡ xi
m and xj
n ≡ xj
m
2. They have the same length: Lenght(pn) ≡ Lenght(pm)
If pn(xi
n, xj
n) and pm(xi
m, xj
m) are equivalent paths, then the set of nodes, Nn, reachable thru
pn(xi
n, xj
n) is identical to the set of nodes Nm reachable via pm(xi
m, xi
m). Considering reachability
and the path characteristics only, it is not possible to make a routing desition about wich equivalent
path to select to reach a particular destination, for this reason, it is necessary to use an additional
criteria. To resolve this ambiguity we will assign each link a cost ci that depending on the case it
could represent either: available bandwidth or link utilization or delay.
Definition 5.4 Disjoint Equivalent Paths
Following definitions 5.2 and 5.3, Pde(xi, xj) is the set of all equivalent paths connecting nodes xi
and xj such that
Pde(xi
, xj
) = { pk(xi
k, xj
k) | pn(xi
n, xj
n) ∩ pm(xi
m, xj
m) = ∅ , n = m }
for all
k, n, m ∈ [ 1, | Pde(xi
, xj
) | ]
All the paths in the set are equivalent and disjoint
5.2 Determining Minimal Equivalent Disjoint Paths
In order to determine minimal equivalent disjoint paths on the network, we used an algorithm that
combines 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 graph
G = (N, L, C), such that :
N = { x1 . . . xi }, The set of nodes on the network
L = { 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 lk
Let DijktraEquivPaths(G, s) be the routing algorithm that determines the minimal disjoint
equivalent paths between each pair of nodes xi and xj as described in [8] such that:
13
xx
x
x5
2
x
3
x
4 x
8
7
c
3
x1
1c
c
c
c
cc
c
6
2 cc8
c
10
c15
14
13c
5
4
7c
9
11
12
6c
Figure 6: Arbitrary Network
DijktraEquivPaths(G,s)
for each node xi ∈ N do
min path[xi] ← ∞
pred[xi] ← {}
node touch[xi] ← 0
5: min node ← ∅
last touch ← 0
touch ← 1
Q ← N
min path[s] ← ∅
10: while Q = ∅ do
xl ← ExtractLeastElementTouch(Q)
if min path[xl] min node or node touch[xl] > last touch then
touch ← touch + 1
min node ← min path[xl]
15: last touch ← node touch[xl]
for each node xk ∈ Neighborgh[xl] do
if min path[xk] min path[xl] ⊕ c(xk,xl) then
min path[xk] ← min path[xl] ⊕ c(xk,xl)
prred[xk] ← { xl }
20: node touch[xk] ← touch
else if min path[xk] = min path[xl] ⊕ c(xk,xl) and node touch[xk] = touch then
pred[xk] ← pred[xk] { xl }
The variable min path[xi] is called the estimated shortest path of node xi and stores
an estimate to the shortest path (path with the smallest cost) from s to xi. The function
ExtractLeastElementTouch(Q) extracts a node of least estimate from the nodes that belong to the
set Q. In case of a tie ExtractLeastElementTouch(Q) chooses the one with the oldest touch. The
touch of node xi is stored in the variable node touch[xl] and marks the time when the shortest
path estimate of xi was last updated. The current touch is kept in the variable touch which is
initialized to 1 and is incremented with a new extraction from Q, but only if the new node has a
different shortest path estimate or a different touch of the last from the las node withdrawn from
Q. Lines 9 to 11 are called the relaxation of link (xi, xj). The variable pred[xi] is known as
14
the predecessor of node xi. ∞ is a large but finite number used to intialize the distance of each
node starting at s, its value should be any number greather than
|C|
i=1 ci, the sum of all the costs
assigned to each link in G or max{ci} · |L| where max{ci} is the largest cost assigned to a link
and |L| is the number of links in the network.
5.3 Determining Congestion
TBD
5.4 Determining Failures
Natchev and Avresky in [23].
6 Reconfiguration Algorithm
TBD
7 Evaluation of Throughput
TBD
8 Conclusions
15
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 In
submission to IPDPS’02, 2001.
[3] David L. Tennenhouse, Jonathan M. Smith, W. David Sincoskie, David J. Wetherall, and
Gary 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 International
Workshop 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 for
Dynamic 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 computer
networks 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 routing
in 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 International
Conferenceon 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. PhD
thesis, University of Manchester, 1992.
[13] Hans Chalupsky, Tim Finin, Rich Fritzson, Don McKay, Stu Shapiro, and Gio Weiderhold. An
overview of kqml: A knowledge query and manipulation language. Technical report, KQML
Advisory 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 for
mapping networks. In Proceedings of the First Hungarian National Conference on Agent Based
Computation, 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 load
balancing in communication networks. Complex Systems, 1998.
16
[18] R. La and V. Anantharam. Optimal routing control: Game theoretic approach. In Proceedings
of 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-fault
management. In PAAM 96, Proceedings of the First International Conference and Exhibition
on 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 statistical
qos in a differentiated services network. In NCA’03, pages 0297–0304, 2003.
[23] Natcho Natchev and Dimitir R Avresky. Dynamic reconfiguration in computer clusters with
regular topologies in the presence of multiple node and link failures. IEEE TRANSACTIONS
ON COMPUTERS, 2004.
[24] Keith W. Ross Srinivas Rajagopal Martin Reisslein. Framework for guaranteeng statistical
qos. IEEE/ACM Transactions on Networking, 10(1):27–42, 2002.
[25] Kwindla Hultman Kramer, Nelson Minar, and Pattie Maes. Tutorial: Mobile software agents
for 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 in
multi-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 Systems
and Applications (ASA’99)/Third International Symposium on Mobile Agents (MA’99), Palm
Springs, CA, USA, 1999.
[28] H. Ku, G. Luderer, and B. Subbiah. An intelligent mobile agent framework for distributed
network management, 1997.
[29] A. Bieszczad, T. White, and B. Pagurek. Mobile agents for network management. IEEE
Communications 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 gather
information. In AAAI ’96 International Workshop on Intelligent Adaptive Agents, pages 107–
116, 1996.
17

More Related Content

What's hot

Explain Communication among agents in Artificial Intelligence
Explain Communication among agents in Artificial IntelligenceExplain Communication among agents in Artificial Intelligence
Explain Communication among agents in Artificial IntelligenceGurpreet singh
 
Introduction to agents and multi-agent systems
Introduction to agents and multi-agent systemsIntroduction to agents and multi-agent systems
Introduction to agents and multi-agent systemsAntonio Moreno
 
Using Communication to Reduce Locality in Multi-Robo
Using Communication to Reduce Locality in Multi-RoboUsing Communication to Reduce Locality in Multi-Robo
Using Communication to Reduce Locality in Multi-Roboderakberreyesa
 
Privacy preserving relative location based services for mobile users
Privacy preserving relative location based services for mobile usersPrivacy preserving relative location based services for mobile users
Privacy preserving relative location based services for mobile usersLeMeniz Infotech
 
A novel approach for trust management for peer peer
A novel approach for trust management for peer peerA novel approach for trust management for peer peer
A novel approach for trust management for peer peerSnehith
 
Following the user’s interests in mobile context aware recommender systems
Following the user’s interests in mobile context aware recommender systemsFollowing the user’s interests in mobile context aware recommender systems
Following the user’s interests in mobile context aware recommender systemsBouneffouf Djallel
 
A Survey of Privacy-Preserving Algorithms for Finding meeting point in Mobile...
A Survey of Privacy-Preserving Algorithms for Finding meeting point in Mobile...A Survey of Privacy-Preserving Algorithms for Finding meeting point in Mobile...
A Survey of Privacy-Preserving Algorithms for Finding meeting point in Mobile...IJERA Editor
 
LPM: A DISTRIBUTED ARCHITECTURE AND ALGORITHMS FOR LOCATION PRIVACY IN LBS
LPM: A DISTRIBUTED ARCHITECTURE AND ALGORITHMS FOR LOCATION PRIVACY IN LBSLPM: A DISTRIBUTED ARCHITECTURE AND ALGORITHMS FOR LOCATION PRIVACY IN LBS
LPM: A DISTRIBUTED ARCHITECTURE AND ALGORITHMS FOR LOCATION PRIVACY IN LBSIJNSA Journal
 
A Survey on Credit Based Scheme for Multihop Wireless Network
A Survey on Credit Based Scheme for Multihop Wireless NetworkA Survey on Credit Based Scheme for Multihop Wireless Network
A Survey on Credit Based Scheme for Multihop Wireless Networkijsrd.com
 
A framework for an Operating System-based Mobile Agent Interoperability
A framework for an Operating System-based Mobile Agent InteroperabilityA framework for an Operating System-based Mobile Agent Interoperability
A framework for an Operating System-based Mobile Agent InteroperabilityIOSR Journals
 
Irrational node detection in multihop cellular
Irrational node detection in multihop cellularIrrational node detection in multihop cellular
Irrational node detection in multihop cellulareSAT Publishing House
 
Irrational node detection in multihop cellular networks using accounting center
Irrational node detection in multihop cellular networks using accounting centerIrrational node detection in multihop cellular networks using accounting center
Irrational node detection in multihop cellular networks using accounting centereSAT Journals
 
Agent based frameworks for distributed association rule mining an analysis
Agent based frameworks for distributed association rule mining  an analysis  Agent based frameworks for distributed association rule mining  an analysis
Agent based frameworks for distributed association rule mining an analysis ijfcstjournal
 
Agency in Human-Smart Device Relationships: An Exploratory Study
Agency in Human-Smart Device Relationships: An Exploratory StudyAgency in Human-Smart Device Relationships: An Exploratory Study
Agency in Human-Smart Device Relationships: An Exploratory StudyFrancesco Lelli
 
Node selection in p2 p content sharing service in mobile cellular networks wi...
Node selection in p2 p content sharing service in mobile cellular networks wi...Node selection in p2 p content sharing service in mobile cellular networks wi...
Node selection in p2 p content sharing service in mobile cellular networks wi...Uvaraj Shan
 
Privacy preserving optimal meeting location determination on mobile devices
Privacy preserving optimal meeting location determination on mobile devicesPrivacy preserving optimal meeting location determination on mobile devices
Privacy preserving optimal meeting location determination on mobile devicesAdz91 Digital Ads Pvt Ltd
 
NLP-based personal learning assistant for school education
NLP-based personal learning assistant for school education NLP-based personal learning assistant for school education
NLP-based personal learning assistant for school education IJECEIAES
 
IEEE 2014 JAVA MOBILE COMPUTING PROJECTS Privacy preserving optimal meeting l...
IEEE 2014 JAVA MOBILE COMPUTING PROJECTS Privacy preserving optimal meeting l...IEEE 2014 JAVA MOBILE COMPUTING PROJECTS Privacy preserving optimal meeting l...
IEEE 2014 JAVA MOBILE COMPUTING PROJECTS Privacy preserving optimal meeting l...IEEEFINALYEARSTUDENTPROJECTS
 
Learning Process Interaction Aided by an Adapter Agent
Learning Process Interaction Aided by an Adapter AgentLearning Process Interaction Aided by an Adapter Agent
Learning Process Interaction Aided by an Adapter Agentpaperpublications3
 

What's hot (19)

Explain Communication among agents in Artificial Intelligence
Explain Communication among agents in Artificial IntelligenceExplain Communication among agents in Artificial Intelligence
Explain Communication among agents in Artificial Intelligence
 
Introduction to agents and multi-agent systems
Introduction to agents and multi-agent systemsIntroduction to agents and multi-agent systems
Introduction to agents and multi-agent systems
 
Using Communication to Reduce Locality in Multi-Robo
Using Communication to Reduce Locality in Multi-RoboUsing Communication to Reduce Locality in Multi-Robo
Using Communication to Reduce Locality in Multi-Robo
 
Privacy preserving relative location based services for mobile users
Privacy preserving relative location based services for mobile usersPrivacy preserving relative location based services for mobile users
Privacy preserving relative location based services for mobile users
 
A novel approach for trust management for peer peer
A novel approach for trust management for peer peerA novel approach for trust management for peer peer
A novel approach for trust management for peer peer
 
Following the user’s interests in mobile context aware recommender systems
Following the user’s interests in mobile context aware recommender systemsFollowing the user’s interests in mobile context aware recommender systems
Following the user’s interests in mobile context aware recommender systems
 
A Survey of Privacy-Preserving Algorithms for Finding meeting point in Mobile...
A Survey of Privacy-Preserving Algorithms for Finding meeting point in Mobile...A Survey of Privacy-Preserving Algorithms for Finding meeting point in Mobile...
A Survey of Privacy-Preserving Algorithms for Finding meeting point in Mobile...
 
LPM: A DISTRIBUTED ARCHITECTURE AND ALGORITHMS FOR LOCATION PRIVACY IN LBS
LPM: A DISTRIBUTED ARCHITECTURE AND ALGORITHMS FOR LOCATION PRIVACY IN LBSLPM: A DISTRIBUTED ARCHITECTURE AND ALGORITHMS FOR LOCATION PRIVACY IN LBS
LPM: A DISTRIBUTED ARCHITECTURE AND ALGORITHMS FOR LOCATION PRIVACY IN LBS
 
A Survey on Credit Based Scheme for Multihop Wireless Network
A Survey on Credit Based Scheme for Multihop Wireless NetworkA Survey on Credit Based Scheme for Multihop Wireless Network
A Survey on Credit Based Scheme for Multihop Wireless Network
 
A framework for an Operating System-based Mobile Agent Interoperability
A framework for an Operating System-based Mobile Agent InteroperabilityA framework for an Operating System-based Mobile Agent Interoperability
A framework for an Operating System-based Mobile Agent Interoperability
 
Irrational node detection in multihop cellular
Irrational node detection in multihop cellularIrrational node detection in multihop cellular
Irrational node detection in multihop cellular
 
Irrational node detection in multihop cellular networks using accounting center
Irrational node detection in multihop cellular networks using accounting centerIrrational node detection in multihop cellular networks using accounting center
Irrational node detection in multihop cellular networks using accounting center
 
Agent based frameworks for distributed association rule mining an analysis
Agent based frameworks for distributed association rule mining  an analysis  Agent based frameworks for distributed association rule mining  an analysis
Agent based frameworks for distributed association rule mining an analysis
 
Agency in Human-Smart Device Relationships: An Exploratory Study
Agency in Human-Smart Device Relationships: An Exploratory StudyAgency in Human-Smart Device Relationships: An Exploratory Study
Agency in Human-Smart Device Relationships: An Exploratory Study
 
Node selection in p2 p content sharing service in mobile cellular networks wi...
Node selection in p2 p content sharing service in mobile cellular networks wi...Node selection in p2 p content sharing service in mobile cellular networks wi...
Node selection in p2 p content sharing service in mobile cellular networks wi...
 
Privacy preserving optimal meeting location determination on mobile devices
Privacy preserving optimal meeting location determination on mobile devicesPrivacy preserving optimal meeting location determination on mobile devices
Privacy preserving optimal meeting location determination on mobile devices
 
NLP-based personal learning assistant for school education
NLP-based personal learning assistant for school education NLP-based personal learning assistant for school education
NLP-based personal learning assistant for school education
 
IEEE 2014 JAVA MOBILE COMPUTING PROJECTS Privacy preserving optimal meeting l...
IEEE 2014 JAVA MOBILE COMPUTING PROJECTS Privacy preserving optimal meeting l...IEEE 2014 JAVA MOBILE COMPUTING PROJECTS Privacy preserving optimal meeting l...
IEEE 2014 JAVA MOBILE COMPUTING PROJECTS Privacy preserving optimal meeting l...
 
Learning Process Interaction Aided by an Adapter Agent
Learning Process Interaction Aided by an Adapter AgentLearning Process Interaction Aided by an Adapter Agent
Learning Process Interaction Aided by an Adapter Agent
 

Similar to Agent basedqos

Unification Algorithm in Hefty Iterative Multi-tier Classifiers for Gigantic ...
Unification Algorithm in Hefty Iterative Multi-tier Classifiers for Gigantic ...Unification Algorithm in Hefty Iterative Multi-tier Classifiers for Gigantic ...
Unification Algorithm in Hefty Iterative Multi-tier Classifiers for Gigantic ...Editor IJAIEM
 
MULTI-AGENT BASED SMART METERING AND MONITORING OF POWER DISTRIBUTION SYSTEM:...
MULTI-AGENT BASED SMART METERING AND MONITORING OF POWER DISTRIBUTION SYSTEM:...MULTI-AGENT BASED SMART METERING AND MONITORING OF POWER DISTRIBUTION SYSTEM:...
MULTI-AGENT BASED SMART METERING AND MONITORING OF POWER DISTRIBUTION SYSTEM:...ijaia
 
journalism research
journalism researchjournalism research
journalism researchrikaseorika
 
journalism research
journalism researchjournalism research
journalism researchrikaseorika
 
Dynamic analysis of agent network in self organisation using service level ag...
Dynamic analysis of agent network in self organisation using service level ag...Dynamic analysis of agent network in self organisation using service level ag...
Dynamic analysis of agent network in self organisation using service level ag...inventionjournals
 
Web_based_content_management_system_using_crowdsourcing_technology
Web_based_content_management_system_using_crowdsourcing_technologyWeb_based_content_management_system_using_crowdsourcing_technology
Web_based_content_management_system_using_crowdsourcing_technologyChamil Chandrathilake
 
A New Way Of Distributed Or Cloud Computing
A New Way Of Distributed Or Cloud ComputingA New Way Of Distributed Or Cloud Computing
A New Way Of Distributed Or Cloud ComputingAshley Lovato
 
Selecting Trustworthy Clients in the Cloud
Selecting Trustworthy Clients in the CloudSelecting Trustworthy Clients in the Cloud
Selecting Trustworthy Clients in the Cloudijccsa
 
SELECTING TRUSTWORTHY CLIENTS IN THE CLOUD
SELECTING TRUSTWORTHY CLIENTS IN THE CLOUDSELECTING TRUSTWORTHY CLIENTS IN THE CLOUD
SELECTING TRUSTWORTHY CLIENTS IN THE CLOUDijccsa
 
Trust Based Content Distribution for Peer-ToPeer Overlay Networks
Trust Based Content Distribution for Peer-ToPeer Overlay NetworksTrust Based Content Distribution for Peer-ToPeer Overlay Networks
Trust Based Content Distribution for Peer-ToPeer Overlay NetworksIJNSA Journal
 
Trust management in p2 p systems
Trust management in p2 p systemsTrust management in p2 p systems
Trust management in p2 p systemseSAT Journals
 
DYNAMIC AND REALTIME MODELLING OF UBIQUITOUS INTERACTION
DYNAMIC AND REALTIME MODELLING OF UBIQUITOUS INTERACTIONDYNAMIC AND REALTIME MODELLING OF UBIQUITOUS INTERACTION
DYNAMIC AND REALTIME MODELLING OF UBIQUITOUS INTERACTIONcscpconf
 
SECURE CLOUD COMPUTING MECHANISM FOR ENHANCING: MTBAC
SECURE CLOUD COMPUTING MECHANISM FOR ENHANCING: MTBACSECURE CLOUD COMPUTING MECHANISM FOR ENHANCING: MTBAC
SECURE CLOUD COMPUTING MECHANISM FOR ENHANCING: MTBACijistjournal
 
Middleware.pptx
Middleware.pptxMiddleware.pptx
Middleware.pptxyudragispi
 
Node selection in p2 p content sharing service in mobile cellular networks wi...
Node selection in p2 p content sharing service in mobile cellular networks wi...Node selection in p2 p content sharing service in mobile cellular networks wi...
Node selection in p2 p content sharing service in mobile cellular networks wi...Uvaraj Shan
 
Node selection in p2 p content sharing service in mobile cellular networks wi...
Node selection in p2 p content sharing service in mobile cellular networks wi...Node selection in p2 p content sharing service in mobile cellular networks wi...
Node selection in p2 p content sharing service in mobile cellular networks wi...Uvaraj Shan
 
Towards trusted mobile ad hoc clouds
Towards trusted mobile ad hoc cloudsTowards trusted mobile ad hoc clouds
Towards trusted mobile ad hoc cloudsAhmed Hammam
 

Similar to Agent basedqos (20)

Unification Algorithm in Hefty Iterative Multi-tier Classifiers for Gigantic ...
Unification Algorithm in Hefty Iterative Multi-tier Classifiers for Gigantic ...Unification Algorithm in Hefty Iterative Multi-tier Classifiers for Gigantic ...
Unification Algorithm in Hefty Iterative Multi-tier Classifiers for Gigantic ...
 
MULTI-AGENT BASED SMART METERING AND MONITORING OF POWER DISTRIBUTION SYSTEM:...
MULTI-AGENT BASED SMART METERING AND MONITORING OF POWER DISTRIBUTION SYSTEM:...MULTI-AGENT BASED SMART METERING AND MONITORING OF POWER DISTRIBUTION SYSTEM:...
MULTI-AGENT BASED SMART METERING AND MONITORING OF POWER DISTRIBUTION SYSTEM:...
 
journalism research
journalism researchjournalism research
journalism research
 
journalism research
journalism researchjournalism research
journalism research
 
Dynamic analysis of agent network in self organisation using service level ag...
Dynamic analysis of agent network in self organisation using service level ag...Dynamic analysis of agent network in self organisation using service level ag...
Dynamic analysis of agent network in self organisation using service level ag...
 
Socially augmented software empowering software operation through social cont...
Socially augmented software empowering software operation through social cont...Socially augmented software empowering software operation through social cont...
Socially augmented software empowering software operation through social cont...
 
Web_based_content_management_system_using_crowdsourcing_technology
Web_based_content_management_system_using_crowdsourcing_technologyWeb_based_content_management_system_using_crowdsourcing_technology
Web_based_content_management_system_using_crowdsourcing_technology
 
Download
DownloadDownload
Download
 
A New Way Of Distributed Or Cloud Computing
A New Way Of Distributed Or Cloud ComputingA New Way Of Distributed Or Cloud Computing
A New Way Of Distributed Or Cloud Computing
 
Selecting Trustworthy Clients in the Cloud
Selecting Trustworthy Clients in the CloudSelecting Trustworthy Clients in the Cloud
Selecting Trustworthy Clients in the Cloud
 
SELECTING TRUSTWORTHY CLIENTS IN THE CLOUD
SELECTING TRUSTWORTHY CLIENTS IN THE CLOUDSELECTING TRUSTWORTHY CLIENTS IN THE CLOUD
SELECTING TRUSTWORTHY CLIENTS IN THE CLOUD
 
Trust Based Content Distribution for Peer-ToPeer Overlay Networks
Trust Based Content Distribution for Peer-ToPeer Overlay NetworksTrust Based Content Distribution for Peer-ToPeer Overlay Networks
Trust Based Content Distribution for Peer-ToPeer Overlay Networks
 
Trust management in p2 p systems
Trust management in p2 p systemsTrust management in p2 p systems
Trust management in p2 p systems
 
DYNAMIC AND REALTIME MODELLING OF UBIQUITOUS INTERACTION
DYNAMIC AND REALTIME MODELLING OF UBIQUITOUS INTERACTIONDYNAMIC AND REALTIME MODELLING OF UBIQUITOUS INTERACTION
DYNAMIC AND REALTIME MODELLING OF UBIQUITOUS INTERACTION
 
SECURE CLOUD COMPUTING MECHANISM FOR ENHANCING: MTBAC
SECURE CLOUD COMPUTING MECHANISM FOR ENHANCING: MTBACSECURE CLOUD COMPUTING MECHANISM FOR ENHANCING: MTBAC
SECURE CLOUD COMPUTING MECHANISM FOR ENHANCING: MTBAC
 
Middleware.pptx
Middleware.pptxMiddleware.pptx
Middleware.pptx
 
Metamodel for reputation based agents system – case study for electrical dist...
Metamodel for reputation based agents system – case study for electrical dist...Metamodel for reputation based agents system – case study for electrical dist...
Metamodel for reputation based agents system – case study for electrical dist...
 
Node selection in p2 p content sharing service in mobile cellular networks wi...
Node selection in p2 p content sharing service in mobile cellular networks wi...Node selection in p2 p content sharing service in mobile cellular networks wi...
Node selection in p2 p content sharing service in mobile cellular networks wi...
 
Node selection in p2 p content sharing service in mobile cellular networks wi...
Node selection in p2 p content sharing service in mobile cellular networks wi...Node selection in p2 p content sharing service in mobile cellular networks wi...
Node selection in p2 p content sharing service in mobile cellular networks wi...
 
Towards trusted mobile ad hoc clouds
Towards trusted mobile ad hoc cloudsTowards trusted mobile ad hoc clouds
Towards trusted mobile ad hoc clouds
 

Recently uploaded

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Recently uploaded (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

Agent basedqos

  • 1. Autonomous Agents for QoS in High Speed System Area Networks Juan Ram´on Acosta and Dimiter R. Avresky {jcosta,avresky}@ece.neu.edu Network Computing Lab Northeastern University 357 Dana Research Center Boston, MA 02115, U.S.A Abstract Remember to add latter. Keywords: autonomous agents, load balancing, static routing, equivalent path 1 Introduction Video on demand, Voice Over IP and other real-time applications are increasing in popularity and with them the need of reliable high-performance network computers. To face this challenge corporations 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 to handle increased loads. The increasing number of users of the Internet have triggered a significant grow on the network traffic causing computer networks to be push to their limit. Although computing capacity is available, the network’s ability to carry large amounts of traffic in short time is severely reduced as the load increases. The major challenge faced by service providers today, is their ability to give customers the level of service they signed for, regartless of the system conditions. Quality of Service (QoS) frameworks as mentioned in [1] have been developed to provide mechanisms that let a service provider define metrics that permit differentiation and admission control to multiple classes of service. QoS metrics are usually a combination of yield functions and policies that guarantee resource allocation. Others have developed algorithms that use cluster load balancing to provide system 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 develop more sophisticated methodologies, for example: In active networking [3] and [4], packets are more than 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. While active networks focuses on mechanisms to move data across the network on a per packet basis, other researchers have developed methodologies for network management and dynamic routing such as those based on autonomous agents and the ”Social insects” paradigm, [5]. Hultman in [6], applied active networking and social insects theories to implement dynamic routing. The algorithm uses an inter-dependent collection of specialized agents that cooperate to provide high network connectivity and dynamic routing. A new alternative to achieve network traffic load balancing is proposed in this paper. The main
  • 2. goal is to maximize the network throughput by distributing the traffic over the minimal equivalent disjoint paths that exist between a source and destination pair. The algorithm uses autonomous agents 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 the minimal 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 autonomous agents are and how can they be be used to achieve efficient routing. Also it presents, a brief introduction to the chalenges faced in traffic load balancing. Section 5, describes in detail the new algorithm that uses a combination of autonomous agents and minimal equivalent disjoint paths to achieve traffic load balancing. In Section 6, explains in detail the reconfiguration algorithm used to update the routing tables when a utilization deadline is passed. Section 7, shows the results of a series of experiments ran with the new load balancing algorithm. The last section corresponds to the Conclusions. 2 Technology Background In 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 minimum paths are considered as mediums to achieve network traffic load balance. 2.1 Agent Basics The 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 issues concerning agent technology. Hyacinth Nwana in [9] makes a clear definition of agents based on the formalisms and theories developed 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 Definition Definition 2.1 Agent An agent is a software and/or hardware component which is capable of acting exactingly in order to accomplish tasks on behalf of its user. An agent has the following characteristics: it is able to cooperate with other agents, learn from its environment and is autonomous. Now, if the three characteristics ovelap each other, they create a spectrum defined by their intersection, 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, but do not cooperate or learn. Most agent based systems operate at the knowledge level and not at the symbol level as standard computing applications do. 2
  • 3. Figure 1: Agent Classes The following is a compehensive list of agent types that are derived from the four basic classes mentione 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 their owners. • 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 collating information 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 the other types. • Heterogeneous Agent Systems, a systems contains more than one different agent in a setup. In addition to the three main agent characteristics described in Definition 2.1, Foner N. Leonard in [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 by each party. 3
  • 4. • Risk and Trust. There has to be a balance between the fear (risk) the agent may do something wrong and the trust that it will be all right. This decision needs to be made based on 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 graceful degradations in case of communication mismatch. • Anthropomorphism. A program just because pretends to be anthropomorphic does not make it an agent. • Expectation, the agent has to meet the user expectations Foner, considers that ”agents must have a social contract” with its user because as more human interaction moves essentially into cyberspace-like realms and the boundaries between the humans and 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 that one expects to be applied to a human, in such way that the following questions will be legitimate to ask about a software agent: ”is the agent behaving appropriately in its social context? is it causing emotional 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 Carnegie Mellon University) that connects to a Multiple User Dimention virtual reality space (MUD) and can 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. During a session in the MUD a user referred to the agent as a ”boring human fixated on hokey”. This observation makes clear that true agents are capable of provoking discussions of sociological and emotional nature. 2.1.2 Autonomous Agents Definition 2.2 Autonoumous Agent Smart agent that operates without direct intervention of a human and has control over its actions and its internal state based on knowledge. In order to represent autonomous agents it is required to apply a theoretical model based on beliefs, 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 can take based on desire, commitments, intentions(pro-attitudes). Therefore, if an agent is represented by pro- and information attitudes then an agent will make choices and develop intentions based on 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 formulation and the semantic model are independent such that when a new expresion is formulated within the framework 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 language that contains symbols and terms that represent elements in another object language. Intentional notions can then be represented by a meta-language predicate to which any axioms can be applied. 4
  • 5. The most popular technique used to deal with the sematic representation of intentions is known as possible worlds, which considers the agents’ beliefs, knowledge and goals to be a set of states with 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 classical propositional logic with two more new operators: 2 necessarly and ♦ possibly. The axioms for knowledge and belief of this semantical representation are as follows: Axiom Description 2φ ⇒ φ Knowledge, it says what is known is true. Distinguishes knowledge from beliefs 2φ ⇒ ♦φ Beliefs are non-contradictory and can be written as Kiφ ⇒ ¬Kiφ which means: If i knows φ then i 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 know This representation is succeptible to the omniscience problem which tells that an agent knows all propositional 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 that makes a distintion between explisit and implicit beliefs using situations. A situation is a fragment of a world or a partial description of a world. Situations are different from possible worlds in that they assign true, false, neither or both, such that to prevent omniscience an agent is assigned a set of situations compatible with its beliefs. The agent then will believe φ if the thruth of φ is supported 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. Communication enables agents to coordinate their actions and behavior. The degree of coordination is the extent to which agents avoid extraneous activity reducing resource contention, avoiding livelock and dead- lock, and maintaining applicable safety conditions. Communication between agents is modeled as a 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 Knowledge Interchange Format (KIF) or the most recent, the DARPA Agent Markup Language (DAML) [14]. 2.2 Mobile Agents Definition 2.3 Mobile Agent It is an agent that has the capability of migrate under its own control from one machine to an other machine on the network. 5
  • 6. Host BHost A Communication Infrastructure Message Passing Message Passing EnvironmentEnvironment Agent Execution Environment Agent Execution Environment Environment Client Application Environment Client Application Figure 2: Mobile Agent Computing Model A 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 stream format and makes sure that the message is transmited is reliable and effciently. Last layer, the agent execution environment. It makes akes possible the creation and operation of agents. 2.2.1 Agent Process Migration Since agent components may be executed on machines that have different architectures the Agent Execution Environment needs to provide a normalized computing environment for the agent such that the underling architecture is hidden from it. To support heterogeinity often agents are written using interpreted languages such (Tcl/Tk, Java,etc.) Interpreted languages have the advantage of late binding and allow an agent to contain references to functions or classes not present on the system where it is launched, but are available at the destination. Usually migration is triggered when a certain condition is meet by the agent at some point of its execution. The process is started by the agent itself and is as follows: 1. The current agent process is suspended at the execution environment 2. The process data, control block (stack, heap,etc) and code are bundled into a machine inde- pendent message stream 3. The Message is transited to targeted host 4. 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 was suspended 5. Execution continues at the next instruction. The process described previously is known as strong mobility since it includes the process control block in the message stream. The migration process where the control block is not serialized as 6
  • 7. Host A Running Agent Client Application Suspended Agent 3 51 2 4 Host B Ctrl Code Agent Suspended Application Server Agent Running Ctrl Code Figure 3: Agent Process Migration part of the message it is known as weak mobility. Weak mobility improves the overal execution performance of the agent, since less is packaged and transmited over the network. However, it will be necessary that the agent execution environment implements a more sofisticated algorithm to bring the agent to the state it was before it migrated to the new location. 2.3 Autonomous Agents in Networking Modern computer networks consists of many kinds of processors and communication channels all interconnected with each other, but only very limited number of tools exists today to deal with them. In response, the scientific community has developed new techniques that focuses in areas such as network administration, traffic load balancing and efficient routing. For example, active networking 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 and dynamic routing as described in [6]. Minar in [15], describes an algorithm to map the topology of a network using mobile agents. The agents 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 on the same node. Finally when agents end exploring the network, the topology is mapped using the collected data. The map is then used to define the routing policies used to forward packets out of each node. Agents have been used in adaptive routing. Gianini in [16], introduced a distributed adaptive routing algorithm based on mobile agents that is capable of learning the routing tables of a computer network using the ant colony metaphor. Autonomous agents, also have been used to achieve load balancing. Heusse in [17], developed two new algorithms that estimates of the current traffic conditions and link utilization by mixing agents with regular information packets to keep track of the network conditions. The collected information is used to update the routing tables without using any centralized controller and without knowing the network topology. The first algorithm uses round trip agents to update the routing tables while backtracking to the source node. The second 7
  • 8. algorithm uses forward agents that modify the routing tables directly as they move toward their destination. Finally, asymmetric connections are dealt with using an efficient agent cooperation schema. 2.4 Network Load Balancing Network 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 achieve a satisfactory distribution of traffic, it is required that each router be aware of the current link utilization and be capable of adjusting its routing policies utilizing an algorithm that can minimize the 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 routing of their load and since routers can decide to some extent which path the packets will take, they modeled the routing problem as a non cooperative game where the entities playing the game are thought as the network users. Also it was established that if the strategies of the users are such that no user finds it beneficial to deviate unilaterally their behavior, it is natural to believe that this represents an equilibrium for the network. The study demonstrated that in networks with parallel links between a source and destination there always exists a Nash Equilibrium Point (NEP) that achieves a network wide optimum delay and yet it yields a delay for each user that it is not gather than the unique stage game NEP, see [19]. In more general networks, where there are different source-destination pairs, it was demonstrated that it is not possible to achieve the minimum total delay because some users have to incur in higher delays. In this context the optimal delay represents the maximum delay on the network that guarranties optimal throughput. Although, it is possible to know an approximation of the delay based on the user’s traffic pattern and unwillingness to share the communication links; the network requires to implement mechanisms that allows efficient routing and distribution of flows across the nodes interconnects. Load balancing is considered a flow optimization problem by Ahuja and et.al. in [20] where max- imizing the number of packets transiting the network (throughput) when links have transmission limitations (available bandwidth) is considered a NP-complete problem for which the existing heuristics are very complex. Flow based routing uses delay as metric to determine how much traffic 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 path routing schema that renders an average delay statically optimized. The load then is balanced by allowing 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 very dynamic networks. 2.5 Network Failure Recovery Component and link failures in high-speed computer networks can result in severe topology changes and performance degradation that have a direct impact on the system and its users. Recovering from this type of failures requires a mechanism that can quickly isolate the fault and also re-route the traffic in order to maintain the throughput at an acceptable level and not generate routing loops or create hotspots. The currently known methods for failure recovery can be classified as static or dynamic. Static mechanisms for network failure recovery use redundant links to provide alternative paths to which the network can switch over and frequentlyrequire that the network 8
  • 9. topology is regular. Dynamic mechanisms involve reconfiguring the routing tables and the flow control policies to route traffic arround the faulty network element. Modifying the routing tables in real time brings with it the risk of introducing livelock and deadlock. Also, dynamicaly updating the routing tables requires the router to have enough memory and CPU power in order to deal with the complexity of the reconfiguration algorithm. However, with the continuos trend on the reduction 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 agents and context aware applications to help them do a better job assuring network reliability and better quality of service. Garijo,Cancer and S´anches in [21] for example describe a centralized Multiagent Cooperative Network-Fault Management (CNFM) that uses ISO standard interfaces on each router to detect and avoid faults on the network. In CNFM the agents are working as watch dogs of the network monitoring 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 process happend at the core CNFM instead of the router closer to the failure. 3 Proposed Router Architecture The algorithms proposed on this paper uses autonomous agents to determine the saturation point of each link, to estimate the delay per out-bound link and to dinamically compute the minimal equivalent disjoint paths in presense saturation and to recover fom network device failures. Each router on the network is assumed to have the architecture shown in Figure 4. . . Arbitration Decision Routing Crossbar NxN Tables 0 ii Input Ports Output Ports Node Manager Traffic Analizer Agent Router Agent AgentRouting N−1 0 N−1 Figure 4: Agent Based Router Architecture The router accommodates a light weight agent community integrated by the following three agents: 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 agent 9
  • 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 to determine the current link utilization and be able to identify hot spots. The agent uses the flow-unaware statistical delay method described in [22] to determine delays without depending on the dynamic information of the packet flow. This allows the agent to verify whether the end-to-end delay bound in each minimal path satisfies a deadline requirement while the bandwidth usage on each path is within a predefined limit, for more details refer to Section 5.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 the inherent routing algorithm, the information exchange with its immediate peers running on other routers and the desired throughput. At boot up, the router agent uses the algorithm described 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 the deadline requirement. 4. Explorer Agent. Mobile autonomous agent responsible of maping the nework topology and link capacities between each pair of nodes and for bringing this information to the router agent for it to compute its routing tables and minimum equivalent paths. In case of failure or saturation the agent is responsible for executing the network recovery mechanism described in section /refdetf ailures. 4 Building Routing Tables During the network start up each router initiates an algorithm that determines the network topology and either the maximum link capacity or the maximum delay between two adjacent nodes. At the end of the algorithm the router agent has a complete mapping of the network with the metrics mentioned before. The mapping is then used by the router agent to generate its routing tables and determine 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 each explorer 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. Em xj = Em ← xj (c) Fianlly, Em xi migrates to its neighborhg. 10
  • 11. 2. Each migrated Em xi : (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 on reaching 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 sent from its explorers and the explorers that arrived to the router. The network mapping is built as a square incidence matrix where rows represent sources Si and columns destinations Dj M =       0 D1 D2 . . . S1 m11 m12 . . . S2 m21 m22 . . . ... ... ... ...       where to indicate connectivity between two nodes, the node manager assigns a value to mi,j as follows: mi,j =    ck > 0 if xi and xj are connected 0 if xi and xj are not connected −1 if xi and xj are connected but there is a failure/congestion The cost ck is either the time it took an explorer Em xi to migrate or the maximum available banwidth of link (xi, xj). (b) From the map, the node manager determines which destination does not have a row entry on the matrix and for each one of them it trigges the following procedure: for each Di ∈ Mr Determine the explorer Em xi at neighbor from which Di is reachable Send a request to Em xi to obtain Di’s neighbors Em xi asks the local manager about Dis neighbor information if local manager knows which are the neighborghs then Em xi learns who they are and the cost to reach them Sends information back to its parent else local manager will recursively apply this procedure Add new entry for Di into map M end-for-each After exiting the procedure the router has mapped the entire network and then is ready to proceed to generate the routing tables (c) Generate routing tables using network mapping and DijktraEquivPaths(G, s) 11
  • 12. Although the algorithm described before it is only focused on learning the network topology, it also produces very useful information that is employed to determine link congestion and compute alternative 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 node manager to communicate information are averaged together to produce an initial threshold τ0 that 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 determine newer minimum disjoint equivalent paths as result of a reconfiguration triggered by the traffic analyzer 5 Autonomous Agents and Equivalent Paths In this section we present a new algorithm to achieve network traffic load balancing. The main goal is to maximize the network throughput by distributing the traffic over the minimal equivalent disjoint paths that exist between each source and destination pair. The algorithm proposes a new router architecture that uses autonomous agents to determine the utilization and delay of each link. The link estate information is used to trigger the reconfiguration of 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 Paths Consider a network as an undirected graph G = (N, L) where N represents the sets of nodes and L the set of links that interconnect the elements in N, see Figure 5 jix x p k p i p j Figure 5: Network with Equivalent Paths Definition 5.1 Path Let p(xi, xj) ⊆ L be a set of contiguous links that form a path between nodes xi and xj whose length is given by the cardinality of the set, Lenght(p) = | p |. Definition 5.2 Disjoint Paths 12
  • 13. Let Pd(xi, xj) be the set of disjoint paths if and only if Pd(xi , xj ) = { pk(xi k, xj k) | pn(xi n, xj n) ∩ pm(xi m, xj m) = ∅ , n = m } for all k, n, m ∈ [ 1, | Pd(xi , xj ) | ] There are no links in common between any two paths in the set. Definition 5.3 Equivalent Paths Two paths, pn(xi n, xj n) and pm(xi m, xj m), are equivalent if and only if 1. They connect the same nodes: xi n ≡ xi m and xj n ≡ xj m 2. They have the same length: Lenght(pn) ≡ Lenght(pm) If pn(xi n, xj n) and pm(xi m, xj m) are equivalent paths, then the set of nodes, Nn, reachable thru pn(xi n, xj n) is identical to the set of nodes Nm reachable via pm(xi m, xi m). Considering reachability and the path characteristics only, it is not possible to make a routing desition about wich equivalent path to select to reach a particular destination, for this reason, it is necessary to use an additional criteria. To resolve this ambiguity we will assign each link a cost ci that depending on the case it could represent either: available bandwidth or link utilization or delay. Definition 5.4 Disjoint Equivalent Paths Following definitions 5.2 and 5.3, Pde(xi, xj) is the set of all equivalent paths connecting nodes xi and xj such that Pde(xi , xj ) = { pk(xi k, xj k) | pn(xi n, xj n) ∩ pm(xi m, xj m) = ∅ , n = m } for all k, n, m ∈ [ 1, | Pde(xi , xj ) | ] All the paths in the set are equivalent and disjoint 5.2 Determining Minimal Equivalent Disjoint Paths In order to determine minimal equivalent disjoint paths on the network, we used an algorithm that combines 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 graph G = (N, L, C), such that : N = { x1 . . . xi }, The set of nodes on the network L = { 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 lk Let DijktraEquivPaths(G, s) be the routing algorithm that determines the minimal disjoint equivalent paths between each pair of nodes xi and xj as described in [8] such that: 13
  • 14. xx x x5 2 x 3 x 4 x 8 7 c 3 x1 1c c c c cc c 6 2 cc8 c 10 c15 14 13c 5 4 7c 9 11 12 6c Figure 6: Arbitrary Network DijktraEquivPaths(G,s) for each node xi ∈ N do min path[xi] ← ∞ pred[xi] ← {} node touch[xi] ← 0 5: min node ← ∅ last touch ← 0 touch ← 1 Q ← N min path[s] ← ∅ 10: while Q = ∅ do xl ← ExtractLeastElementTouch(Q) if min path[xl] min node or node touch[xl] > last touch then touch ← touch + 1 min node ← min path[xl] 15: last touch ← node touch[xl] for each node xk ∈ Neighborgh[xl] do if min path[xk] min path[xl] ⊕ c(xk,xl) then min path[xk] ← min path[xl] ⊕ c(xk,xl) prred[xk] ← { xl } 20: node touch[xk] ← touch else if min path[xk] = min path[xl] ⊕ c(xk,xl) and node touch[xk] = touch then pred[xk] ← pred[xk] { xl } The variable min path[xi] is called the estimated shortest path of node xi and stores an estimate to the shortest path (path with the smallest cost) from s to xi. The function ExtractLeastElementTouch(Q) extracts a node of least estimate from the nodes that belong to the set Q. In case of a tie ExtractLeastElementTouch(Q) chooses the one with the oldest touch. The touch of node xi is stored in the variable node touch[xl] and marks the time when the shortest path estimate of xi was last updated. The current touch is kept in the variable touch which is initialized to 1 and is incremented with a new extraction from Q, but only if the new node has a different shortest path estimate or a different touch of the last from the las node withdrawn from Q. Lines 9 to 11 are called the relaxation of link (xi, xj). The variable pred[xi] is known as 14
  • 15. the predecessor of node xi. ∞ is a large but finite number used to intialize the distance of each node starting at s, its value should be any number greather than |C| i=1 ci, the sum of all the costs assigned to each link in G or max{ci} · |L| where max{ci} is the largest cost assigned to a link and |L| is the number of links in the network. 5.3 Determining Congestion TBD 5.4 Determining Failures Natchev and Avresky in [23]. 6 Reconfiguration Algorithm TBD 7 Evaluation of Throughput TBD 8 Conclusions 15
  • 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 In submission to IPDPS’02, 2001. [3] David L. Tennenhouse, Jonathan M. Smith, W. David Sincoskie, David J. Wetherall, and Gary 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 International Workshop 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 for Dynamic 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 computer networks 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 routing in 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 International Conferenceon 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. PhD thesis, University of Manchester, 1992. [13] Hans Chalupsky, Tim Finin, Rich Fritzson, Don McKay, Stu Shapiro, and Gio Weiderhold. An overview of kqml: A knowledge query and manipulation language. Technical report, KQML Advisory 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 for mapping networks. In Proceedings of the First Hungarian National Conference on Agent Based Computation, 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 load balancing in communication networks. Complex Systems, 1998. 16
  • 17. [18] R. La and V. Anantharam. Optimal routing control: Game theoretic approach. In Proceedings of 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-fault management. In PAAM 96, Proceedings of the First International Conference and Exhibition on 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 statistical qos in a differentiated services network. In NCA’03, pages 0297–0304, 2003. [23] Natcho Natchev and Dimitir R Avresky. Dynamic reconfiguration in computer clusters with regular topologies in the presence of multiple node and link failures. IEEE TRANSACTIONS ON COMPUTERS, 2004. [24] Keith W. Ross Srinivas Rajagopal Martin Reisslein. Framework for guaranteeng statistical qos. IEEE/ACM Transactions on Networking, 10(1):27–42, 2002. [25] Kwindla Hultman Kramer, Nelson Minar, and Pattie Maes. Tutorial: Mobile software agents for 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 in multi-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 Systems and Applications (ASA’99)/Third International Symposium on Mobile Agents (MA’99), Palm Springs, CA, USA, 1999. [28] H. Ku, G. Luderer, and B. Subbiah. An intelligent mobile agent framework for distributed network management, 1997. [29] A. Bieszczad, T. White, and B. Pagurek. Mobile agents for network management. IEEE Communications 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 gather information. In AAAI ’96 International Workshop on Intelligent Adaptive Agents, pages 107– 116, 1996. 17