<!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>
      <journal-title-group>
        <journal-title>AT</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>The Role of Argumentation on the Future Internet: Reaching agreements on Clouds?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Stella Heras</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fernando de la Prieta</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sara Rodr guez</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Javier Bajo</string-name>
          <email>jbajopeg@usal.es</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vicente Botti</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vicente Julian</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Departamento de Sistemas Informaticos y Computacion Universitat Politecnica de Valencia Camino de Vera</institution>
          <addr-line>s/n, 46022 Valencia</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Computer Science, University of Salamanca</institution>
          <addr-line>Plaza de la Merced s/n, 37008, Salamanca</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2012</year>
      </pub-date>
      <volume>15</volume>
      <fpage>15</fpage>
      <lpage>16</lpage>
      <abstract>
        <p>Recent research foresees the advent of a new discipline of agent-based cloud computing systems on the Future Internet, which would provide processing and memory resources for agents and intelligent cloud services at unprecedented scale. In this paper we discuss the role of argumentation on the next generation of agreement technologies in cloud computing environments and provide an example application.</p>
      </abstract>
      <kwd-group>
        <kwd>Cloud Computing</kwd>
        <kwd>Argumentation</kwd>
        <kwd>Multi-Agent Systems</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Recent developments on argumentation-based agreement models have provided
the necessary technology to allow agents to engage in argumentation dialogues
and harmonize beliefs, negotiate, collaboratively solve problems, etc [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
However, these models follow a client-server approach, where computing and storage
capacities depend on the static set of (possibly distributed) machines where
the system is deployed. Therefore, this approach raises critical shortcomings in
terms of performance, reliability, scalability or security. Fortunately, concurrent
research on the new area of cloud computing is putting an end on the
everlasting problem of limited availability of computing resources. Now, the cloud
computing paradigm has emerged as a key component of the Future Internet.
      </p>
      <p>
        Once we have client-server systems where agents are able to argue and reach
agreements, now is time to put the new developments of the Future Internet into
the picture. Recent research foresees the advent of a new discipline of agent-based
cloud computing systems on the Future Internet, which would provide processing
and memory resources for agents and intelligent cloud services at unprecedented
scale [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In this context, the infrastructure resources will be managed following
an elastic and intelligent way. In addition, conventional diagrams of the
Internet (and many computational models for reaching agreements) leave out the
most numerous and important routers of all - people [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Considering systems
of people and agents operating at a large scale o ers an enormous potential for
tackling complex applications and new business models. Therefore, on the next
generation of agreement technologies humans and agents should have the ability
of establishing a series of relationships, forming what might be called
humanagent societies, and reach agreements by using the unlimited computational
resources provided by cloud computing systems. As part of these technologies,
argumentation-based agreement models would enable agents to argue and meet
their individual or collective goals within a social structure.
      </p>
      <p>
        On the other side, an environment based on cloud computing must readjust
its resources taking into account the demand of its services. At the technological
level, the di culties have been overcome thanks to the use of virtualization of
hardware resources [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. However, how to assign the physical infrastructure among
the virtual machines is a current topic in some research elds [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In this sense,
there is a need for knowing what physical server hosts each virtual machine and
its level of resources (processor and memory). In order to make these decisions,
the hardware management components have a limited information based on the
observation of the environment and its own experience. Moreover, sometimes it
is necessary to readjust the hardware resources of several servers at the same
time. This raises the need for designing protocols that provide the individual
components of the cloud architecture with the ability of adapting itself and of
reaching agreements in order to deal with the changes in the service demand.
      </p>
      <p>Mutual contributions in agreement technologies and cloud computing can
advance research in both areas to the nal establishment of the Future
Internet. In this paper we introduce the potential role of argumentation on the next
generation of agreement technologies in cloud computing environments. Among
the potential applications of argumentation in this area, we focus here on the
concrete domain of resources re-distribution in cloud computing systems.
Section 2 develops our proposal. Then, Section 3 introduces related work and future
challenges and summarises the results of this work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Argumentation-based Approach for Resource re-Distribution in a Cloud System</title>
      <p>A current open issue in a cloud computing system is how to e ciently
redistribute resources among a variable set of virtual machines, considering the
demand for the services o ered by the system. In this section we propose an
argumentation-based approach to deal with the problem of resource re-distribution
during a peak service demand in a cloud computing platform. To illustrate our
proposal, we provide an example where a set of agents in charge of managing
virtual machines and physical resources in the platform engage in an
argumentation dialogue to reach an agreement about the best solution to make when a
service is failing due to an overload in the virtual machines that provide this
service. First, the platform and the argumentation framework used are presented.
Then, an example argumentation dialogue in this domain is provided.
2.1</p>
      <p>bCloud Architecture
bCloud is a platform based on the cloud computing paradigm. This platform
allows to o er services at the PaaS (Platform as a Service) and SaaS (Software
as a Service) levels. On the one hand, the SaaS services are o ered to the nal
users in terms of web applications. On the other hand, PaaS services are o ered
as web services. The IaaS (Infrastructure as a Service) layer is composed by
an physical environment which allows the abstraction of resources shaped as
virtual machines. The virtual and physical resources are managed dynamically.
To this end, a virtual organization of intelligent agents that monitor and manage
the platform resources is used. This organization implements an
argumentationbased agreement technology in order to achieve the distribution of resources
depending on the needs of the whole system.</p>
      <p>The system has a layered structure that covers the main parts of cloud
computing. Both PaaS and SaaS layers are deployed using an IaaS layer, which
provides a virtual hosting service with automatic scaling and functions for
balancing workload. The SaaS layer is composed of the management applications for
the environment (control of users, installed applications, etc.), and other more
general third party applications that use the services from the PaaS layer. At
this level, each user has a personalized virtual desktop from which he has access
to his applications in the cloud environment, and to a personally con gurable
area as well. The PaaS layer provides services through REST web services in an
API format. One of the more notable services among the APIs is the identi
cation of users and applications, a simple non-relational database service and a
le storage area that controls versions and simulates a directory structure.</p>
      <p>SaaS Layer. This layer hosts a wide set of cloud applications. All of them
make use of the services provides by the PaaS lower layer. bCloud as environment
o ers a set of native applications to manage the complete cloud environment:
virtual desktop, user control panel, and administration panel.</p>
      <p>PaaS Layer. The PaaS layer is oriented to o er services to the upper layer,
and it is supported by the lower IaaS layer. The components of this layer are: the
IdentityManager, which is the module of bCloud in charge of o ering
authentication services to clients and applications; the File Storage Service (FSS), which
provides an interface for a container of les, emulating a directory structure
in which the les are stored with a set of metadata, thus facilitating retrieval,
indexing, search, etc; and the Object Storage Service (OSS), which provides a
simple and exible schemaless data base service oriented towards documents.</p>
      <p>IaaS Layer. The objective of this layer is not to o er infrastructure service
as usual cloud platforms do. However, it has to o er this infrastructure service
to upper layers of bCloud (SaaS and PaaS). The key characteristic on a cloud
environment is that the hardware layer includes the physical infrastructure layer
and the virtual one (in terms of virtual machines). The virtual resources
(number and performance of the processors, memory, disk space, etc.) are shown as
Demand
Monitor</p>
      <p>VM
unlimited, but they are supported by a limited number of physical resources,
although the nal user has the view of unlimited resources.</p>
      <p>bCloud MAS. In bCloud, the elastic management of the available resources
has been done by a MAS based on Virtual Organizations (VO). In the bCloud
VO there is a set of agents that are especially involved in the adaptation of the
system resources in view of the changing demand of the o ered services. Figure 1
presents the di erent roles that bCloud agents can play. These are the following:
{ Demand Monitor: in charge of monitoring each demand service which is
o ered by bCloud (FSS, OSS, Applications of the SaaS layer, etc.). There is
one agent of this type per each kind of service. This agents will be able to
o er information about not only the instant demand, but also the historical
of the demand.
{ Resource Monitor: in charge of knowing the usage level of the virtual
resources of each virtual machine. There is one in each physical server.
{ Local Manager: in charge of allocating the resources of a single physical
machine among its virtual machines. There is one in each physical server.
{ Migration Manager: in charge of negotiating with their peers the sharing of
global resources in terms of 1) Migration of virtual machines between
physical servers; and 2) Creation/Destruction of physical resources (switch on
and o physical servers), as well as virtual resources (instantiating/stopping
virtual machines). There is one in each physical server.</p>
      <p>In this system, a peak in the demand of a speci c service can give rise to an
overload of one or more of the virtual machines that provide this service.
Therefore, the system has to re-distribute its virtual and physical resources to cope
with this problem. In this situation, several potential agreement processes can be
identi ed, let us call them intra-machine or inter-machine. On the one hand, at
the intra-machine level, the local manager could start an agreement process with
the migration manager to decide the best option among re-distributing physical
resources between existing virtual machines, instantiating new virtual machines
or switching on new physical resources (extra physical machines). On the other
hand, at the inter-machine level, if the outcome of the former process entails
the migration of a virtual machine or the switching on of a new physical server,
several migration managers could start an agreement process to decide which
machine(s) (already running or not) should host the migrated virtual machine
and with which distribution of resources. Summarizing, we can identify several
types of solutions as potential outcomes of the agreement processes established:
{ Basic Solution: consists of redistributing the physical resources of the
machine among its virtual machines
{ Halfway Solution: consist of instantiating a new virtual machine in the same
physical machine.
{ Complex Solution: consist of migrating a virtual machine to a new physical
machine that can host it (already running or not).</p>
      <p>Any of these solutions entails an underlaying negotiation process to allocate
virtual and physical resources among services to solve the overload problem.
However, it is not our aim in this work to discuss the best negotiation
mechanism to implement the solution itself, but to provide the agents of the system
with the ability of engaging in an argumentation dialogue to collaboratively
decide which would be the best solution to make before starting the negotiation.
Our hypothesis is that agents may make the most of their experience and help
each other to avoid complex negotiation processes that have a lower
probability of ending in a successful allocation of resources in view of similar previous
experiences. In this sense, our approach can be viewed as a model to guide the
negotiation process and maximise its success.
2.2</p>
      <sec id="sec-2-1">
        <title>Argumentation Framework</title>
        <p>
          In [1, Chapter 3] we presented a computational case-based argumentation
framework that agents can use to manage argumentation processes. In this work, we
apply this framework to model the argumentation dialogue among agents in the
bCloud platform. Concretely, let us propose a running example where several
migration managers try to reach an agreement about the best solution to apply
for the resource re-distribution problem during a service peak of demand. The
solution that an agent proposes de nes its position. We assume that a problem
can be characterised by a set of features that describe it. Also, in our example
domain, we assume that all agents are collaborative and all follow the common
objective of providing the best solution by making the most of their individual
experiences. An agent that proposes a position, let us say a proponent agent,
tries to persuade any potential opponent that has proposed a di erent position
to change its mind. Thus, the proponent engages in a two-party argumentation
process with the opponent, trying to justify its reasons to believe that its
solution is most suitable. This section summarises the main components of the
framework and illustrates them in this example. The full explanation about the
reasoning process that agents use to manage their positions and arguments is
out of the scope of this paper and can be found at [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. Our case-based
argumentation framework de nes two types of knowledge resources that the agents can
use to generate, select and evaluate arguments:
A case-base with domain-cases: that represent previous problems and their
solutions. Agents can use this knowledge resource to generate their positions
in a dialogue and arguments to support them as reusing the solutions applied
to previous similar problems. Therefore, the position of an agent represents
the solution that this agent proposes. Also, the acquisition of new
domaincases increases the knowledge of agents about the domain under discussion.
In our example, each migration manager has an individual domain-cases
case-base that can query to generate its positions.
        </p>
        <p>A case-base with argument-cases: that store previous argumentation
experiences and their nal outcome. Argument-cases have three main objectives:
they can be used by agents 1) to generate new arguments; 2) to select the best
position to put forward in view of past argumentation experiences; and 3) to
store the new argumentation knowledge gained in each agreement process,
improving the agents' argumentation skills. In our example, each migration
manager has an individual argument-cases case-base that can query to select
the most suitable argument in each step of the process.</p>
        <p>
          Arguments. In our proposal, arguments that agents interchange are tuples
of the form Arg = f ; v; &lt; S &gt;g, where is the conclusion of the argument,
v is the value that the agent wants to promote and &lt; S &gt; is a set of elements
that justify the argument (the support set). Therefore, we follow the approach
of value-based argumentation frameworks [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], which assume that arguments
promote values and those values are the reason that an agent may have to prefer
one type of argument to another. For instance, values in our example could
be considered as types of solutions. Then, an agent could prefer to promote
"ComplexSolutions" over "BasicSolutions", since it knows by experience that
the former type of solutions achieve more successful results in re-distributing
resources for an overload service.
        </p>
        <p>
          The support set S can consist of di erent elements, depending on the
argument purpose. On one hand, if the argument justi es a potential solution for a
problem, the support set is the set of features (premises ) that match the
problem to solve and other extra premises that do not appear in the description of
this problem but that have been also considered to draw the conclusion of the
argument and optionally, any knowledge resource used by the proponent to
generate the argument (domain-cases and argument-cases ). This type of argument
is called a support argument. On the other hand, if the argument attacks the
argument of an opponent, the support set can also include any of the allowed
attack elements of our framework. These are distinguishing premises or
counterexamples, as proposed in [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. A distinguishing premise is a premise that does
not appear in the description of the problem to solve and has di erent values
for two cases or a premise that appears in the problem description and does
not appear in one of the cases. A counter-example for a case is a previous case
        </p>
        <p>PROBLEM
Service
Demand</p>
        <p>VMs</p>
        <p>Resources
Resources Usage</p>
        <p>FSS</p>
        <p>SR
VM1, VM2
VM1R, VM2R
VM1RU, VM2RU</p>
        <p>POSM1</p>
        <p>Domain
Cases</p>
        <p>M1 Domain-Case - DC1</p>
        <p>PROBLEM
Service
Demand</p>
        <p>FSS</p>
        <p>SR1</p>
        <p>VMs VM1, VM2, VM3
Resources VM1, VM2, VM3
Resources VM1RVUM,3VRMU2RU,
Usage</p>
        <p>SOLUTION
Description Migrate to ServerN</p>
        <p>SoTlyuptieon ComplexSolution
(i.e. a domain-case or an argument-case), where the problem description of the
counter-example matches the current problem to solve and also subsumes the
problem description of the case, but proposing a di erent solution. This other
type of argument is called an attack argument.</p>
        <p>Domain-cases. The structure of domain-cases that an argumentation
system that implements our framework has depends on the application domain. As
example, Figure 2 presents a potential domain-case that the migration manager
M1 could retrieve to generate its recommended solution "Migrate to ServerN"
(since it has deemed it as similar enough to the current problem), which proposes
to migrate the most overloaded virtual machine to another server with more
available resources and promotes "ComplexSolution" type of solution. Note that
in this example we assume that domain-cases also store the type of solution that
they represent. The premise "VM3" would be a distinguishing premise between
the domain-case shown in Figure 2 and another domain-case, say DC2, that has
exactly the same problem description than DC1, but that stores di erent data
for this premise (a di erent set of virtual machines that provide the service).
Also, let us assume that the domain-case DC2, which has the same problem
description than DC1, proposes an alternative solution (e.g "Instantiate a new
VM") that promotes the type of solution "HalfWaySolution". Therefore, DC2
could be used to generate a counter-example attack to DC1 and vice-versa.</p>
        <p>Argument-cases. Argument-cases store the information about a previous
argument that an agent posed in certain step of a dialogue with other agents.
Their structure is generic and domain-independent. To illustrate the components
of an argument-case, let us show the following example. The migration manager
M1 has generated a support argument SA1 to persuade another migration
manager M2 to accept his position. The position of M1 (P OSM1) was generated by
using the domain-case DC1 and consist of a migration of the most overloaded
virtual machine to another physical sever, which promotes the same type of
solution than DC promotes, say "ComplexSolution". If p1 = f"Service" = F SSg,
p2 = f"Demand" = SR1g, p3 = f"V M s" = fV M 1; V M 2; V M 3gg, p4 =
Domain Context Premises = fp1, ...., p5g</p>
        <p>Proponent IRDol=e=MM1igration Manager</p>
        <p>ValPref = B&lt;HW&lt;C
PROBLEM Social Context Opponent IRVDaollP=er=eMf M2=igCr&lt;atBio&lt;nHMWanager</p>
        <p>Group IRVDaollP=er=eGf D=P-C</p>
        <p>Dependency Relation = Charity
Conclusion = "Migrate to ServerN"</p>
        <p>Value = C
SOLUTION Acceptability Status = Accepted</p>
        <p>Received Attacks CDoisutnintegruiEshxianmgpPlersem=isDesC=2 ;
JUSTIFICATION CDaGs1es = DC1
f"Resources" = fV M 1R; V M 2R; V M 3Rgg, and p5 = f"ResourcesU sage" =
fV M 1RU; V M 2RU; V M 3RU gg then SA1 = f"M igratetoServerN ", C, &lt; fp1,
p2, p3, p4, p5g, fDC1g, -, -, -, -, - &gt;g.</p>
        <p>Table 1 presents an example of an argument-case that stores the
information of the support argument SA1 in tour running example. In the table, "B"
stands for "BasicSolution", "HW" for "HalfWaySolution" and "C" for
"ComplexSolution". Argument-cases have the three possible types of components that
usual cases of CBR systems have: the description of the state of the world when
the case was stored (Problem); the solution of the case (Conclusion); and the
explanation of the process that gave rise to this conclusion (Justi cation).</p>
        <p>The problem description has a domain context that consists of the premises
that characterise the argument. In addition, if we want to store an argument and
use it to generate a persuasive argument in the future, the features that
characterise its social context must also be kept. The social context of the
argumentcase includes information about the proponent and the opponent of the argument
and about their group. Although we have this distinction between proponent and
opponent of an argument (and of its underlying defended or attacked position),
in our running example all agents are willing to collaborate and share the
common objective to propose the best solution for the overloaded service problem.</p>
        <p>
          Moreover, we also store the preferences (ValPref ) of each agent or group
over the set of values pre-de ned in the system. Finally, the dependency relation
between the proponent's and the opponent's roles is also stored. In this work, we
consider two types of dependency relations (inherited from [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]): Power, when an
agent has to accept a request from other agent because of some pre-de ned
domination relationship between them (a hierarchy de ned over roles, for instace);
and Charity, when an agent is willing to answer a request from other agent
without being obliged to do so. For instance, in the argument-case of Table 1
proponent and opponent play the same role (migration managers) and hence,
we have set a charity dependency relation between them. Also, both managers
belong to the same group DPC, which represents a "Data Processing Center"
where the bCloud platform is installed and does not impose any speci c value
preference order over its members.
        </p>
        <p>In the solution part, the conclusion of the case, the value promoted, and the
acceptability status of the argument at the end of the dialogue are stored. The last
feature shows if the argument was deemed acceptable, unacceptable or undecided
in view of the other arguments that were put forward in the agreement process.
Thus, the conclusion of the argument-case in Table 1 presents the solution
proposed by M1 to solve the service overload problem. In addition, the conclusion
part includes information about the possible attacks that the argument received
during the process. These attacks could represent the justi cation for an
argument to be deemed unacceptable or else reinforce the persuasive power of an
argument that, despite being attacked, was nally accepted.</p>
        <p>
          In the example shown in Table 1 we can see that the opponent, say migration
manager M2, attacked the argument represented by this argument-case with the
counter-example DC2. Therefore, M2 generated an attack argument AA2 with
this counter-example in the support set: AA2 = f"Instantiate a new VM", HW ,
&lt; fp1, p2, p3, p4, p5g, -, -, -, -, -, fDC2g &gt;g. However, as shown in Table 1,
M1 's support argument remained acceptable at the end of the dialogue (when
the argument-case that represents it was retained in the argument-cases
casebase). Attacked arguments remain acceptable if the proponent of the argument is
able to rebut the attack received, or if the opponent that put forward the attack
withdraws it. This feature is used in the argument management process of our
argumentation framework to represent the potentially high persuasive power of
current arguments that are similar to previous arguments that were attacked
and still remained acceptable at the end of the agreement process (see [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] for a
detailed explanation of this reasoning process).
        </p>
        <p>The justi cation part of an argument-case stores the information about the
knowledge resources that were used to generate the argument represented by the
argument-case (the set of domain-cases and argument-cases). In the example
of Table 1, the justi cation part of the argument-case includes the
domaincase DC1, that the migration manager M1 used to generate its position. In
addition, the justi cation of each argument-case has a dialogue-graph (or several)
associated, which represents the dialogue where the argument was put forward
(DG1 in Table 1). In this way, the sequence of arguments that were put forward
in a dialogue is represented, storing the complete conversation as a directed
graph that links argument-cases. This graph can be used later to improve the
e ciency of an argumentation dialogue, for instance, nishing a current dialogue
that is very similar to a previous one that proposed a solution that ended up in
an unsuccessful re-distribution of resources.
2.3</p>
      </sec>
      <sec id="sec-2-2">
        <title>Argumentation Dialogue</title>
        <p>
          The agents of the our framework use an argumentation protocol to manage
positions and arguments and perform the argumentation dialogue. The entire
protocol is de ned in [1, Chapter 4]. Here a simpli ed version of the protocol
proposed in [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] is instantiated to provide an example dialogue between a set of
migration agents presented with the problem of deciding the best solution to
re-distribute resources for the overloaded service. The protocol is represented by
a set of locutions that the agents use to argue with other agents, and an state
machine that de nes the allowed locutions that an agent can put forward in
each step of the argumentation dialogue (presented in Figure 3). The transitions
between states depend on the locutions that the agent can use in each step. The
set of locutions of our argumentation protocol are the following:
{ open dialogue(as; q): an agent as opens the argumentation dialogue, asking
other agents to collaborate to solve a problem q.
{ enter dialogue(as; q): an agent as engages in the argumentation dialogue to
solve the problem q.
{ withdraw dialogue(as; q): an agent as leaves the argumentation dialogue to
solve the problem q.
{ propose(as; p): an agent as puts forward the position p as its proposed
solution to solve the problem under discussion in the argumentation dialogue.
{ why(as; ar; ) (where can be a position p or an argument arg): an agent
as challenges the position p or the argument arg of an agent ar, asking it
for a support argument.
{ no commit(as; p): an agent as withdraws its position p as a solution for the
problem under discussion in the argumentation dialogue.
{ assert(as; ar; arg): an agent as sends to an agent ar an argument arg that
supports its position.
{ accept(as; ar; ) (where can be an argument arg or a position p): an agent
as accepts the argument arg or the position p of an agent ar.
{ attack(as; ar; arg): an agent as challenges the argument arg of an agent ar.
{ retract(as; ar; arg): an agent as informs an agent ar that it withdraws the
argument arg that it put forward in a previous step of the dialogue.
        </p>
        <p>
          In order to show how our argumentation framework can be applied to
manage the service overload problem, the data- ow for the argumentation dialogue
among several migration agents engaged in the agreement process is described
below. The process starts when a demand monitor agent noti es an overload in a
service that it manages. Then, the resource monitor agent in charge of the virtual
machines that o er this service sends the load information about the resources
associated to these virtual machines to the migration manager of the physical
machine that hosts them. For clarity reasons, we assume in this example that all
virtual machines that o er a service are hosted in the same physical machine.
However, in a real implementation, these virtual machines could be distributed
in several physical machines and in that case, several parallel argumentation
dialogues would be started by the migration manager of each physical machine.
Also, migration managers are connected among them and are able to check the
positions proposed by other migration managers.
1. The rst state is the initial state. At the beginning of the agreement
process, migration managers remain in this state waiting for an open dialogue
locution. Also, they will come back to this state when the agent that starts
the argumentation dialogue (say, the initiator agent) communicates that
the dialogue has nished. The open dialogue locution informs the
migration manager agent that receives it about the start of a new dialogue to
solve a re-distribution problem. Then, this agent will retrieve the cases of
its domain-cases case-base which features match the given problem
characterisation (e.g. the FSS overload presented in Figure 2) with a similarity
degree greater than a given threshold. Finally, if the agent has been able to
retrieve similar domain-cases and use their solutions to propose a solution
for the current problem, it will engage in the argumentation dialogue with
the locution enter dialogue and will go to the state 2. A migration manager
only engages in the dialogue if it has solutions to propose. For instance, on
our running example, M1 will engage in the dialogue, since it has been able
to retrieve DC1 as a similar case.
2. When a migration manager is in this state it has retrieved a list of similar
domain-cases to the current problem to propose a solution (position to
defend). If the agent has been able to generate several alternative solutions, it
will select the most suitable for its current context (following the reasoning
process presented in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]) and go to state 3 proposing this solution. Otherwise,
the agent will use the withdraw dialogue locution and will return to state 1.
In the example, M1 would propose the solution reused from DC1, "Migrate
to ServerN".
3. In this central state, the migration manager can try to attack other positions
or defend its position from the attacks of other agents. First, the agent checks
if there is any why request from other opponent agent that asks for justifying
its proposed solution. The agent that received the why locution will assert
a support argument to its opponent if it is able to do so and goes to state
4 in this case. In our example, M1 will assert SA1 when M2 ask it for a
justi cation of its proposed solution. Otherwise, if the migration manager
is not able to provide a support argument to defend its position it will go
to state 2 and try to propose another solution from its list of generated
positions. Alternatively, if the migration manager has not received any why
request, it will ask other migration manager (chosen randomly) that has
proposed a di erent position for an argument to justify it, using the why
locution. In that case, the agent will pass to state 6. Again, in our example
it would occur if M1 has not received any justi cation requests and asks M2
to justify its solution.
4. In this state, the migration manager that has put forward a support
argument for its position waits for an attack or an accept locution. After certain
time has passed and no locution is received, the agent will return to state 3.
In the case that an attack is received, the migration manager will try to
generate another attack to rebut the attack argument received. If the migration
manager is not able to counter-attack, it will retract its support argument
and go to state 3. Otherwise, it will go to state 5 to wait for another attack or
a retraction from the opponent. In our example, as presented in Table 1, M1
receives an attack from M2 that consists of the counter-example case DC2,
which proposes a di erent solution for the same problem characterisation.
5. In this state a proponent and an opponent migration managers are engaged in
an attack phase arguing about the position of the proponent. When possible,
every attack received will be replied with another attack and the proponent
agent will remain in this state. However, when the proponent cannot reply
an attack argument with another attack, it will have to retract its last attack
and go to state 4. Otherwise, if the proponent receives an accept locution, the
opponent migration manager accepts its last given attack. That implies going
back to state 4, where the opponent agent must accept the proponent support
argument and its position. As shown in Table 1, the justi cation argument
SA1 was accepted at the end of the dialogue, although being received an
attack with the counter-example DC2. This means that M1 was able to
rebut the attack and M2 wasn't able to counter-attack. For instance, if we
assume that VMs = fVM1g in DC2, it could happen if after the attack of
M2, M1 counter-attacks with a distinguishing premise on the VMs attribute
(since it does not subsume the exact value of this premise in the problem
reported, while this premise in the characterisation of DC1 does).
6. When a migration manager enters to this state it waits for an assert or a
no commit locution. Here, after a speci c time has passed and no locution
is received, the agent will return to state 3. Alternatively, if the proponent
migration manager receives an assert locution from an opponent and it is not
able to attack the support argument received with this locution, it will accept
the opponent position and go to state 3. However, if an attack argument can
be generated, it sends it to the opponent and goes to state 7. Otherwise, if a
no commit locution is received in this state the opponent agent retracts its
position and the proponent goes back to state 3. In our running example, M1
will wait in this state for a justi cation argument from M2, which will include
DC2 as supporting element and, if provided, will attack this argument with
the counter-example DC1 or the distinguishing premise VMs.
7. In this state, the migration manager that has sent an attack argument to an
opponent migration manager waits for a counter-attack or an accept locution
from it. The proponent will try to reply to any attack received for its
attacking arguments and remain in this state while it can generate new attacks.
If an accept locution is received the last attack argument of the proponent
migration manager has been accepted by the opponent, thus the opponent
support argument is defeated and the proponent will go to state 6 to wait
for another support argument from the opponent or a no commit locution.
Nevertheless, if an attack of the opponent cannot be replied, the agent has to
accept the opponent attack argument, retract its attack argument and go to
state 6. Then, the proponent must go to state 3 after accepting the opponent
position. In the example, after attacking M2, M1 will wait in this state for a
counter-attack. If we assume that M2 is not able to generate another attack
nor more justi cation arguments, M2 would retract its attack argument and
withdraw its position from the dialogue.
        </p>
        <p>The dialogue nishes when no new positions or arguments are proposed
after a certain time. Then, the initiator migration manager retrieves the active
positions of the participants and the most accepted position (if several remain
undefeated) is selected as the nal solution to propose. In case of draw, the nal
solution will be the most frequent position generated by the migration managers
during the argumentation dialogue. Finally, once a position is selected as the
outcome of the agreement process, the migration manager sends it to the local
manager of its physical machine and both would start the process to implement
it (with further negotiations if necessary). Also, at the end of the argumentation
dialogue, all agents update their domain-cases case-bases with the new
problem solved and their argument-cases case-bases with the information about the
arguments proposed, with the attacks received, the nal acceptability state, etc.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Discussion</title>
      <p>
        Cloud computing is a new model of business and technology services, which
allows the user to access a catalog of standardized services and meet the needs
of his business in a exible and adaptive way, paying only for the consumption
made [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Multi-agent systems are a technology paradigm where a set of
intelligent software agents interact to cope with complex problems in a distributed
fashion [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. In the literature, there are not many references of work that
combines both agents and cloud computing paradigms: in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] software agents gure
as a new cloud computing service which would represent clients in virtual
environments; [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] presents a complex cloud negotiation mechanism that supports
negotiation activities in interrelated markets; [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] proposes the integration of a
cloud on GRID architecture with a mobile agent platform that is able to
dynamically add and con gure services on the virtual clusters; and [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] presents
a service-oriented QOS-assured cloud computing architecture. These
contributions pave the way for an interesting new area of investigation on cloud-based
multi-agent systems. Recent research foresees the advent of a new discipline of
agent-based cloud computing systems on the Future Internet. This work
identies research opportunities from the Multi-Agent Systems (MAS) technology to
the cloud computing paradigm and vice-versa. Summarising, agents can provide
clouds with intelligent, exible, autonomous and proactive services and clouds
can provide agents with processing and memory resources at unprecedented scale
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Argumentation-based agreement technologies, as a pro cient research area
within MAS-based agreement models, should echo these opportunities and
contribute to the achievement of new challenges in agent-based cloud computing.
On the next generation of agreement technologies we envisage systems of humans
and agents with the ability of reaching agreements by using the unlimited
computational resources provided by cloud systems. This entails the development
of new algorithms, tools and models that enable the creation of open systems
where virtual agents and humans coexist and interact transparently into a fully
integrated agreement environment. Research on this area will provide answers
to questions like: What is necessary to know and design for software agents
and humans to interact in an agent-based cloud computing systems? and how
these interactions should be formalised and structured to obtain software
products that are e ective in such environments? Argumentation-based agreement
technologies can contribute to cope with these open issues.
      </p>
      <p>
        In the last years, the community of argumentation in MAS has advanced
research in many elds on the area of applying argumentation theory to harmonise
agents incoherent beliefs and model the interaction among a set of agents [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ],
but the application of argumentation approaches to cloud computing is a new
challenge. Research on argumentation in Grid computing3 can be viewed as
related work, in the sense that grid computing and cloud computing have many
similarities and a main di erence in the storage conception: the grid is well suited
for data-intensive storage while in cloud systems the amount of data stored can
be large or not, depending on the user needs. Thus, results from this research can
be studied and analysed as an starting point to foster work in
argumentationbased agreement technologies applied to cloud computing. In this paper, we
propose the application of argumentation as a suitable technology to model
loadbalancing services in cloud systems. Concretely, we have used an
argumentationbased approach to reach an agreement about the best solution to implement for
the re-distribution of resources when facing a peak service demand. In doing so,
we propose the rst (to the best of our knowledge) argumentation-based solution
for load-balancing services based on MAS cooperation (one of the open issues
identi ed in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]). Current work is being performed to implement and test this
system, in order to analyse the viability and advantages of this approach. Also,
the advantages that this approach contributes over direct resource allocation
algorithms must be analysed. However, our intuition is that both direct resource
allocation algorithms and argumentation-based techniques could be considered
as complementary. In our scenario, migration managers could use di erent
decision making policies (experience-based or any other kind of resource allocation
techniques) to propose the best solution to the resource re-distribution problem
3 http://www.argugrid.org/
and then, engage in an argumentation dialogue to decide which is the best
solution to apply. Further work in argumentation in cloud computing can elicit
more argumentation-based agreement models that enable agents to argue and
meet their goals within a society. Some application examples may be:
negotiating Service Level Agreements; providing a method to harmonise con icts that
arise in the adaption of the system to environmental changes; and enabling a
collaborative deliberation to nd the best alternative for service composition.
      </p>
      <p>Acknowledgements This work is supported by the Spanish government
grants [CONSOLIDER-INGENIO 2010 CSD2007-00022, TIN2008-04446, and
TIN2009-13839-C03-01] and by the GVA project [PROMETEO 2008/051].</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Heras</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Case-Based Argumentation Framework for Agent Societies</article-title>
          .
          <source>PhD thesis</source>
          , Universitat Politecnica de Valencia. http://hdl.handle.net/10251/12497 (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Talia</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Clouds meet agents: Toward intelligent cloud services</article-title>
          .
          <source>IEEE Internet Computing</source>
          <volume>16</volume>
          (
          <issue>2</issue>
          ) (
          <year>2012</year>
          )
          <volume>78</volume>
          {
          <fpage>81</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Ashton</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>That 'internet of things' thing</article-title>
          .
          <source>RFID Journal</source>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Barham</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , et. al.:
          <article-title>Xen and the art of virtualization</article-title>
          .
          <source>In: 9th ACM Symposium on Operating Systems Principles</source>
          , ACM Press (
          <year>2003</year>
          )
          <volume>164</volume>
          {
          <fpage>177</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , et. al.:
          <article-title>Scienti c cloud computing: Early de nition and experience</article-title>
          .
          <source>In: 10th IEEE Int. Conf. on High Performance Computing and Communications (HPCC-08)</source>
          , IEEE Press (
          <year>2008</year>
          )
          <volume>825</volume>
          {
          <fpage>830</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Heras</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jordan</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Botti</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Julian</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Argue to agree: a case-based argumentation approach</article-title>
          .
          <source>International Journal of Approximate Reasoning</source>
          (In Press)
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Bench-Capon</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sartor</surname>
          </string-name>
          , G.:
          <article-title>A model of legal reasoning with cases incorporating theories and values</article-title>
          .
          <source>Arti cial Intelligence</source>
          <volume>150</volume>
          (
          <issue>1-2</issue>
          ) (
          <year>2003</year>
          )
          <volume>97</volume>
          {
          <fpage>143</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Dignum</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weigand</surname>
          </string-name>
          , H.:
          <article-title>Communication and Deontic Logic</article-title>
          .
          <source>In: Information Systems Correctness and Reusability</source>
          , World Scienti c Pub. Co. (
          <year>1995</year>
          )
          <volume>242</volume>
          {
          <fpage>260</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Jordan</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , et. al.:
          <article-title>A customer support application using argumentation in multiagent systems</article-title>
          .
          <source>In: 14th Int. Conf. on Information Fusion</source>
          . (
          <year>2011</year>
          )
          <volume>772</volume>
          {
          <fpage>778</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. :
          <article-title>The future of cloud computing</article-title>
          .
          <source>Technical report, European Comission</source>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Wooldridge</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jennings</surname>
            ,
            <given-names>N.R.</given-names>
          </string-name>
          :
          <article-title>Intelligent agents: Theory and practice</article-title>
          .
          <source>The Knowledge Engineering Review</source>
          <volume>10</volume>
          (
          <issue>2</issue>
          ) (
          <year>1995</year>
          )
          <volume>115</volume>
          {
          <fpage>152</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Lopez-Rodriguez</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hernandez-Tejera</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Software agents as cloud computing services</article-title>
          .
          <source>In: 9th Int. Conf. on Practical Applications of Agents and Multiagent Systems. Volume 88 of Advances in Intelligent and Soft Computing</source>
          ., Springer (
          <year>2011</year>
          )
          <volume>271</volume>
          {
          <fpage>276</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Sim</surname>
            ,
            <given-names>K.M.</given-names>
          </string-name>
          :
          <article-title>Towards complex negotiation for cloud economy</article-title>
          .
          <source>In: 5th Int. Conf. on Advances in Grid and Pervasive Computing</source>
          . Volume
          <volume>6104</volume>
          of LNCS., Springer (
          <year>2010</year>
          )
          <volume>395</volume>
          {
          <fpage>406</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Aversa</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , et. al.:
          <article-title>Cloud agency: A mobile agent based cloud system</article-title>
          .
          <source>In: Int. Conf. on Complex, Intelligent and Software Intensive Systems</source>
          , IEEE Computer Society Press (
          <year>2010</year>
          )
          <volume>132</volume>
          {
          <fpage>137</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Cao</surname>
            ,
            <given-names>B.Q.</given-names>
          </string-name>
          , et. al.:
          <article-title>A service-oriented qos-assured and multi-agent cloud computing architecture</article-title>
          .
          <source>In: 1st Int. Conf. on Cloud Computing</source>
          . Volume
          <volume>5931</volume>
          of LNCS., Springer (
          <year>2009</year>
          )
          <volume>644</volume>
          {
          <fpage>649</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Rahwan</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simari</surname>
          </string-name>
          , G., eds.
          <source>: Argumentation in Arti cial Intelligence</source>
          . Springer (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>