<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Self-organized Multi-agent System for Service Management in the Next Generation Networks</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mario Kusek</string-name>
          <email>mario.kusek@fer.hr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gordan Jezic</string-name>
          <email>gordan.jezic@fer.hr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Zagreb, Faculty of Electrical Engineering and Computing, Department of Telecommunications</institution>
          ,
          <addr-line>Unska 3, HR-10000 Zagreb</addr-line>
          ,
          <country country="HR">Croatia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2011</year>
      </pub-date>
      <fpage>18</fpage>
      <lpage>24</lpage>
      <abstract>
        <p>PROCEEDINGS OF THE WORKSHOP ON APPLICATIONS OF SOFTWARE AGENTS ISBN 978-86-7031-188-6, pp. 18 - 24, 2011</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>1 Extended Abstract
Next Generation Networks (NGN) aim to offer a wide variety of advanced
telecommunications and multimedia services. Introduction of these services will be enabled
mainly by two factors: increased bandwidth in the access network and convergence of
different legacy networks towards a universal all-IP core network. The offer of large
number of services in the NGN environment will arise the need for service
provisioning and management procedures.</p>
      <p>
        Service management on emerging telecommunication systems that are distributed
over a wide area is a hard task because it is not easy or even possible to perform final
testing on a remote target system, as well as on system in operation [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1-3</xref>
        ]. Experiences
show that it is possible for new software running on a target system to give a result
different from the one obtained on test system [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The reasons are mostly the
structural and/or functional differences between both systems. Therefore, only
implementation and testing on the actual target system can give the answer whether the new
software solves the problem (i.e., error, new operational circumstances, enhancement, and
maintainability improvement) or not. Service management and software configuration
operations in distributed systems become very demanding tasks as the number of
computers and/or geographical distances between them grow. The situation gets worse
with an increase in the complexity of the network and the number of nodes.
      </p>
      <p>This paper describes a method for service provisioning in an environment with a
large number of distributed network servers and different versions of services placed
across them. We have developed the agent based system called Remote Maintenance
Shell (RMS) capable for remote control and management of services. To be specific,
we present solutions for getting the service to the right place, starting it, and providing
maintenance (upgrading with new versions). We have defined possible service
distribution strategies for execution of operations and in this paper we consider applying of
self-organized agents as a possible solution for this problem.</p>
    </sec>
    <sec id="sec-2">
      <title>1.1 RMS System</title>
      <p>
        RMS represents a protected environment for service control, manage and
maintenance based on mobile agents [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. It includes the following remote operations that
support service maintenance: delivering service to a remote system, remote
installation/un-installation, program starting/stopping, tracing and trace data collection,
maintaining several versions of service, selective or parallel execution of two versions, and
version replacement [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>The main advantages of RMS over similar tools for remote installations are the
following:
•</p>
      <p>It provides the possibility to test and trace the software on the actual target
system where it must be deployed, which is the only way to make sure that
the software will work properly when put online;
• It provides selective and parallel software execution modes, which are
particularly suitable for introducing new software or upgrading the existing
one without stopping the system.</p>
      <p>MA-RMS (Multi-Agent RMS) is the upgraded version of RMS, which is based on
a multi-agent system paradigm. In RMS tasks have to be assigned one-by-one by the
human administrator, and they are performed by individual agents. MA-RMS makes it
possible for the human administrator to assign only the desired end-state of software
environment on one or several remote locations, which is then automatically processed
by the MA-RMS system. Input by the human administrator is analyzed and
decomposed into a set of operations, which are then distributed to multiple mobile agents to
perform them. Those agents migrate to their respective locations, and continue to
communicate and coordinate in order to accomplish the given goals. This approach
makes it significantly easier to perform service provisioning in large distributed
systems, since it allows automatic replication of the desired configuration across a large
number of servers instead of many individual installations.</p>
      <p>The position of the MA-RMS in a network node of the distributed system is shown
in Fig. 1. The main role of the MA-RMS system is to provide the requirements for
service management in the distributed system and handle several versions of services
(verX) on multiple network nodes simultaneously, without suspending or influencing
normal services operation. MA-RMS system uses an agent platform as a base for
agent creation and management, and adopts all security mechanisms, as well as other
basic features from the agent platform.</p>
      <p>In the environment with a large number of network nodes and different kinds and
versions of the heterogeneous services placed on the network nodes, MA-RMS system
is capable to remotely control and manage the service. Mobile agents are the carriers
of all operations. They offer several important advantages that make them especially
suitable for implementation in the distributed systems, as agents can be employed to
perform tasks as a team.</p>
      <p>
        The limitations of this approach can be found in the fact that agent platform must
be installed and always started on all network nodes in the system. This will
additionally increase the load on the node, which can lead to some stability issues (particularly
on the nodes which are already running at or very near their projected capacity).
Moreover, Java Virtual Machine must be run on all of the nodes supporting
MARMS.
MA-RMS is based on three principles [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], as follows:
• Design for remote maintenance: An application should be designed
according to specific rules in order to fit the requirements for remote
maintenance;
• Low resource implementation: Only MA-RMS parts needed for a specific
maintenance job are activated, all other remain inactive in order to save
the system resources for regular operation;
• Agent-supported maintenance session: Software agents support all remote
operations requested by a maintenance session and guided by user.
      </p>
    </sec>
    <sec id="sec-3">
      <title>1.2 RMS Architecture</title>
      <p>
        RMS is a distributed system comprising two main components: RMS Console and
RMS Maintenance Environment (RMS ME). RMS Console is the client part of the
RMS, which offers a GUI through which the administrator performs management
actions on the remote systems. RMS Maintenance Environment is the server part of
RMS, which must be preinstalled on the remote systems in order for them to be
managed by RMS. RMS is implemented in Java, so it can be installed on any operating
system with Java Virtual Machine installed. It should be noted that, although RMS can
be used for client-side software management, it is designed primarily for the use on
servers. All operations in RMS are executed by mobile agents. A mobile software
agent is a program that represents its user in the network. The most important
characteristic of mobile agents is their ability to migrate autonomously between the network
nodes. RMS uses JADE as the underlying agent system [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Once the administrator
defines the operations to be performed at the remote system(s), they are assigned to
one or several mobile agents, which then migrate to the remote system(s) and perform
the operations at the actual target system.
      </p>
      <p>Mobile agents are used because they offered several important advantages that
made them especially suitable for implementation of a centralized system for remote
software management, such as RMS. Namely, the use of mobile agents produces the
following benefits in RMS.</p>
      <p>• Completely decentralised operation execution – only operations assignment
is centralized in the management station, while the actual execution of the
operations takes place at the target remote system(s).
• Increased parallelism – agents can do their jobs in parallel, since they are
completely autonomous after they are sent into the network and they don't
have to be controlled by the management station.
• Increased asynchrony – once the administrator defines the desired operations
and the agents are sent into the network, it is no longer necessary to maintain
a permanent connection with the remote systems.
• Reduced sensibility to network latency – since the agents migrate to the
remote system, none of the interactions during software maintenance are made
over the network. Instead, they are carried out locally at the remote system.
• Fexible configuration of remote testing procedures – since the testing is
performed by a mobile agent, it is possible to dynamically reconfigure that agent
and thus adapt the testing procedure without changing the RMS Maintenance
Environment itself.</p>
    </sec>
    <sec id="sec-4">
      <title>1.3 RMS Features</title>
      <p>RMS features can be roughly divided in two main categories: basic and advanced.
What separates them is the amount and type of additional work that has to be done for
the software to be managed with RMS using these features.</p>
      <p>Basic features are those related to deployment, maintenance and execution control
(software migration, installation, starting, stopping and basic version handling). They
include the mechanisms for bringing the software to the targeted remote systems,
configuring it properly on each of them, starting and stopping it. Basic version
handling offers the possibility to stop the old version and replace it with the newer one. It
is possible to maintain several versions of the same software and switch between them,
but only one can be active at any given time (in the normal execution mode).</p>
      <p>Advanced features are tracing, testing and advanced version handling. As
mentioned before, tracing and testing are performed on the actual target system. Besides
normal execution mode, in which only one version is active, RMS also provides
parallel and selective execution modes.</p>
    </sec>
    <sec id="sec-5">
      <title>1.4 Agent Distribution Strategy</title>
      <p>
        When deploying services at a large number of remote locations using software
agents, two parameters significantly affect the deployment time. The first one is the
number of agents in the team. Increasing number of agents produce bigger load in the
network. The second parameter affecting deployment time defines which service
should be assigned to which agent. The two parameters are defined by service
distribution strategies [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. We have currently defined the following service distribution
strategies:
      </p>
      <p>R1: a single agent executes all services on all nodes;
2. R2: an agent executes a single service on only one node;
3. R3: an agent executes all services on only one node;
4. R4: an agent executes a specific service on all nodes;
5. R5: an agent executes a specific service only once on all nodes;
6. R6: services are assigned to the agents in order to exploit maximal
parallelism in service execution. Mutually independent services are assigned to
different agents, in order to execute them simultaneously on nodes with parallel
execution supported;
7. R7: a hybrid solution combining R4 and R3. An agent is responsible for a
specific service on all nodes; all other agents execute all other services, each
on a different node;
8. R8: a hybrid solution combining R5 and R3 (specialization of R7 in the way</p>
      <p>R5 is specialization of R4).</p>
      <p>
        For example the R3 service distribution strategy distributes all the services, which
have to be executed, on one node to one agent. This strategy has proven to be the best
strategy when executing services in networks where the network bandwidth is large
compared to the size of the components each service is made of. In order to perform
fast analysis on different network topologies we developed a MAN Simulator [
        <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
        ].
      </p>
      <p>
        Current service distribution strategies used by the MA-RMS are only optimal for
some network topologies with certain network parameters, such as the R3 strategy
mentioned before. The current service distribution selector first analyzes the network
topology and network conditions. It then selects the service distribution strategy,
which will most likely yield best solution according to the analysis. The problem with
real networks is that their conditions change and are never ideal [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
1.5
      </p>
    </sec>
    <sec id="sec-6">
      <title>Genetic algorithm for optimizing service distributions</title>
      <p>The genetic algorithm is used by researchers to solve a variety of search and
optimization problems. All of these problems have one thing common, exact algorithms
cannot find an optimal solution in a reasonable time. Genetic algorithms do not always
yield the optimal solution due to randomness in implemented operators. However, it
guarantees that it will find a suboptimal solution in a reasonable time. This is
satisfactory for us since an exact algorithm will take too long to find a solution. In [chapter]
we have designed genetic algorithm for optimizing service distribution to software
agents. We have compared results with different strategies and different network link
bandwidth.</p>
      <p>
        From the previous experiments [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] we know that the R3 distribution strategy
always performs the best in scenarios where the time needed to migrate all service
components is significantly smaller then time needed to deploy these services. However,
when the link speed was reduced the genetic algorithm was able to generate a better
distribution then the R3 strategy.
      </p>
      <p>In scenarios with the bottleneck in the network the genetic algorithm produced the
best results. The reason for this is because the time needed to migrate service
components was comparable to the time needed to execute them. In such cases, the genetic
algorithm was able to produce distributions in which the first agent had more services
assigned to it then the second agents.</p>
      <p>The same applies in situation where there are dependencies between different
services. Most distributions generate a solution in which agents have to wait for other
agents due to long migration times. The genetic algorithm is capable of optimizing the
order agents deploy each service increase of parallelism in service execution and
avoiding the waiting times.</p>
      <p>In this experiment we have proved that the genetic algorithm can give better results
then the other strategies but we have not calculate the time for executing the genetic
algorithm into account. The second disadvantage of genetic algorithm and defined
strategies is that in planning process the planning agent needs to have all relevant data
from the network and when the condition in the network changes dynamically the
agents does not adapt. That is the reason why we consider using self-organizing
agents.</p>
    </sec>
    <sec id="sec-7">
      <title>1.6 Self-organizing agents</title>
      <p>
        There is no unique definition of self-organization but there is list of properties that
usually include [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]:
• System appears to have spontaneous order.
• The overall state of such system is an emergent property.
• Interconnected components are organized in productive way based on local
information.
• Complex system can self-organize.
• The process of self-organization is near the “edge of chaos”.
      </p>
      <p>By some scientists the evolution is combination of natural selection (e.g. in
evolutionary algorithms) and self-organization. The self-organized agents use local data to
make its decisions. The main idea is to have agents that are committed to the goal and
each agent itself chooses specific actions. The user gives list of operations to all
agents in the team. Each agent then decides (e.g. random) to which operation will
execute. After that agents goes to the node where action must be executed and checks
if the action is executed or not. If action is not executed then it executes. If the action
is already executed then the agent chooses another operation from the set of
operations that should be executed on the same local network. If that operation is also
executed then it tries to execute another operation on the same local network. If all
operations on that local network are executed then the agent chooses operation on another
network. The job is finished when all agents find that all operations are finished.</p>
      <p>This is not optimal solution because all agents have to go to each node from the
initial list. We will have to investigate some mechanisms to reduce number of nodes that
each agent visits. One solution is to have blackboard on each node and when one
agent enters the node it checks the blackboard and updates its list of executed
operations and updates the blackboard. Then it chooses the next operation for execution.</p>
      <p>The second solution is threshold value. If the chosen operation is already executed
then the agent updates its threshold value and if the threshold value is over boundary
then it aborts execution of operations in that local network. There could be also the
threshold for local networks as well. If agent aborts its execution it informs user agent
upon its findings and if all agents are aborted and all jobs are not executed then the
user agent can choose different strategy for remaining jobs.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Pigosky</surname>
          </string-name>
          , T.M,
          <string-name>
            <surname>Practical Software</surname>
            <given-names>Maintenance</given-names>
          </string-name>
          , Wiley, New York (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>IEEE</given-names>
            <surname>Std</surname>
          </string-name>
          .
          <volume>1219</volume>
          :
          <article-title>Standard for Software Maintenance</article-title>
          , Los Alamitos, CA, IEEE Computer Society Press (
          <year>1993</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Canfora</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cimitile</surname>
            ,
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Software</surname>
            <given-names>Maintenace</given-names>
          </string-name>
          ,
          <article-title>Chapter 2 of Handbook of Software Engineering and Knowledge Engineering</article-title>
          , Volume
          <volume>1</volume>
          ,
          <source>World Scientific Publishing Company, 1st edition</source>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Lovrek</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Mikac</surname>
          </string-name>
          ,
          <article-title>"Collaboration between academia and industry: Telecommunications and informatics at the University of Zagreb"</article-title>
          ,
          <source>Computer communications. 26</source>
          ,
          <issue>5</issue>
          ; pp.
          <fpage>451</fpage>
          -
          <lpage>459</lpage>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Jezic</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kusek</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Ljubi</surname>
          </string-name>
          ,
          <article-title>"Mobile Agent Based Distributed Web Management"</article-title>
          ,
          <source>Proc. 4th Int. Conference on Knowledge-Based Intelligent Engineering Systems &amp; Allied Technologies</source>
          , Vol.
          <volume>2</volume>
          , pp.
          <fpage>679</fpage>
          -
          <lpage>682</lpage>
          ,
          <string-name>
            <surname>Brighton</surname>
          </string-name>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Jezic</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kusek</surname>
          </string-name>
          , I. Ljubi,
          <string-name>
            <given-names>K.</given-names>
            <surname>Jurasovic</surname>
          </string-name>
          ,
          <article-title>Mobile Agent-Based System for DistributedSoftware Maintenance</article-title>
          ,
          <string-name>
            <given-names>L.C.</given-names>
            <surname>Jain</surname>
          </string-name>
          , N.T. Nguyen (Eds.):
          <source>Knowl. Proc. &amp; Dec. Mak. in Agent-Based Sys., SCI 170</source>
          , pp.
          <fpage>43</fpage>
          -
          <lpage>69</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Java</given-names>
            <surname>Agent DEvelopment Framework - JADE</surname>
          </string-name>
          , http://jade.tilab.com/
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Lovrek</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Caric</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Huljenic</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Remote Maintenance Shell: Software Operations using Mobile Agents</article-title>
          .
          <source>In: ICT</source>
          <year>2002</year>
          , International Conference on Telecommunications, Beijing (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kusek</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Jurasovic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Lovrek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Sinkovic</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Jezic, Performance Models for Multiagent Systems</article-title>
          and Mobile Agent Network,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hãkansson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Hartung</surname>
          </string-name>
          , N.T. Nguyen (Eds.):
          <article-title>Chapter 1 of Agent And Multi-Agent Technology For Internet And Enterprise Systems: Studies in Computational Intelligence (</article-title>
          <year>2010</year>
          ), Vol.
          <volume>289</volume>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>24</lpage>
          , Springer
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Xuan</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Lesser</surname>
          </string-name>
          <article-title>: Multi-Agent Policies: From Centralized Ones to Decentralized Ones</article-title>
          .
          <source>Proceedings of the 1st International Joint Conference on Autonomous Agents and Multiagent Systems Part</source>
          <volume>3</volume>
          (
          <year>2002</year>
          ), pp.
          <fpage>1098</fpage>
          -
          <lpage>1105</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Koriem</surname>
            ,
            <given-names>S.M.</given-names>
          </string-name>
          :
          <article-title>Development, analysis and evaluation of performance models for mobile multi-agent networks</article-title>
          .
          <source>Comput. J</source>
          .
          <volume>49</volume>
          (
          <issue>6</issue>
          ) (
          <year>2006</year>
          ) pp.
          <fpage>685</fpage>
          -
          <lpage>709</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Kennedy</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>R. C.</given-names>
            <surname>Eberhart</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Shi: Swarm Intelligence</surname>
          </string-name>
          , Morgan Kaufmann,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>