An Extended Protocol for Multiple-Issue Concurrent Negotiation Jiangbo Dang

An Extended Protocol for Multiple-Issue Concurrent Negotiation
Jiangbo Dang and Michael N. Huhns
University of South Carolina
Columbia, SC 29208 USA
{dangj,Huhns}@sc.edu
Abstract
Negotiation is a technique for reaching mutually beneficial
agreement among agents via communication. A concurrent
negotiation problem occurs when an agent needs to negotiate with multiple agents to reach agreement. In this paper, we present a protocol to support many-to-many bilateral
multiple-issue negotiation in a competitive environment. The
protocol is presented in the context of service-oriented negotiation, where one or more self-interested parties can provide services to one or more other parties. By extending existing negotiation protocols, our described protocol enables
both service requestors and service providers to manage several negotiation processes in parallel. Moreover, this protocol
mitigates the situation where most known one-to-many negotiations are biased in favor of one participating agent, and
allow the negotiation participants to make durable commitments to reduce the decommitment situation. We conclude
by discussing additional issues related to concurrent multipleissue negotiation.
Introduction
In supply chains, e-commerce, and Web services, the participants negotiate contracts and enter into binding agreements with each other by agreeing on functional and quality
metrics of the services they request and provide. Negotiation is a process by which agents communicate and compromise to reach agreement on matters of mutual interest,
while maximizing their individual utilities. To meet the requirements of service requestors, multiple issues that might
be functional or nonfunctional need to be taken into account.
Many researchers have investigated multiple-issue negotiation. Fatima et al. (Fatima, Wooldridge, & Jennings 2004)
presented an optimal agenda and procedure for two-issue negotiation. (Dang, Shrotri, & Huhns 2005) described a coalition deal for multiple-issue negotiation that balances computation cost and negotiation benefit.
Researchers are interested in concurrent negotiation because (1) it is both time efficient and robust when an agent
needs to negotiate with multiple other agents to make a good
deal, and (2) it is essential when an agent requests a service involving multiple agents, as in a supply-chain problem. Most research has focused on one-to-many negotiac 2005, American Association for Artificial IntelliCopyright gence (www.aaai.org). All rights reserved.
tion. (Rahwan, Kowalczyk, & Pham 2002) attempt to maximize a service requestor’s utility by coordinating concurrent
negotiations to exploit the corresponding service providers.
Some (Nguyen & Jennings 2004b) provide a commitment
model to enable an agent to break its commitments when it
receives a better offer in comparison with those for which
the agent is already committed.
In a service-oriented multiagent environment, it is very
likely there are multiple service requestors and providers negotiating simultaneously. We consider a competitive environment and assume the agents are self-interested and know
only their own negotiation preferences. Based on the twophase commit protocol (Gray 1978) from database transaction theory and the extended CNP protocol (S. Aknine &
Shakun 2004), we present a negotiation protocol to support
many-to-many multiple-issue negotiation.
This paper advances the state of the art in the following
ways. First, most existing protocols for concurrent negotiation do not deal with issues such as negotiation consistency
and decommitment risk, which arise in many-to-many negotiation. Second, most protocols do not deal with a competitive scenario where many issues are involved and the
opponent’s preferences are unknown. In contrast, our new
protocol (1) enables both service requestors and providers
to engage in several negotiation processes concurrently; (2)
avoids the bias towards one participating agent in one-tomany negotiation; (3) improves negotiation efficiency and
robustness; (4) reduces the number of decommitment situations for both participating agents; and (5) provides agents
the possibility to adopt a hierarchal strategy for concurrent
multiple-issue negotiation: an upper coordination level and
a lower individual negotiation level.
Presented in the context of service-oriented negotiation,
the remainder of the paper is organized as follows. Section
2 discusses related work. Section 3 describes the negotiation protocol and Section 4 details the algorithms. Section
5 analyzes the property of the proposed protocol theoretically. Section 6 discusses further issues related to concurrent
multiple-issue negotiation and Section 7 concludes.
Related Work
Negotiation for services involves a sequence of information
exchanges among parties to establish a formal agreement
among them, whereby one or more parties will provide ser-
AAAI-05 / 65
vices to one or more other parties. Therefore, concurrent
negotiation is necessary for a service-oriented domain.
The issue of concurrent negotiation is dealt with in (Rahwan, Kowalczyk, & Pham 2002; Nguyen & Jennings 2004a;
2004b). By considering negotiation as a distributed constraint satisfaction problem, the framework of (Rahwan,
Kowalczyk, & Pham 2002) supports one-to-many negotiation by coordinating a number of concurrent one-to-one
negotiations and allows several possible negotiation strategies for a coordinator. However, many-to-many negotiation
is not equivalent to multiple one-to-many negotiation, and
issues arising in many-to-many negotiation, such as consistency, coordination, and decommitment risk, are too difficult
to be handled by existing protocols.
Nguyen et al. (Nguyen & Jennings 2004a; 2004b) present
a heuristic model for coordinating concurrent negotiation
and an integrated commitment model that enable agents to
reason about when to commit or decommit. In their model,
a coordinator on behalf of the buyer manages several negotiation threads, one for each individual seller. The buyer
first selects its strategy for the threads based on its beliefs,
then classifies the sellers according to their behaviors during the encounter and consequently adapts the right negotiation strategy based on their classification. Once a thread
reaches a deal with a particular seller, the deal is a onesided commitment binding on the corresponding seller and
can only be dropped after the buyer finalizes all its negotiation threads. It is obviously biased in favor of the buyer,
since a commitment should be a bilateral relationship used
to bind two participating agents. To mitigate this problem,
they allow the seller to decommit by adopting a commitment
model, and then both buyer and seller can renege on the previous deal by paying the decommitment penalty. This model
is still biased in favor of the buyer, since any sellers who
have already reached a deal have to wait until all negotiation
threads end. Also, incorporating seller decommitment into
their model has no advantage, because in one-to-many negotiation there are no other buyers for a seller, so it has no
incentive to decommit and will never do so rationally. On the
other hand, breaking commitments is always a hard decision
to make, because usually more issues beyond a decommitment penalty need to be considered, such as reputation and
user feedback.
Sandholm and Lesser (Sandholm & Lesser 1995) discuss automated negotiation among bounded rational selfinterested agents in the context of a task allocation domain,
and present a protocol to support leveled commitment by introducing the counterproposal into CNP.
Zhang et al. (Zhang, Lesser, & Abdallah 2004) present a
negotiation mechanism for task allocation in a cooperative
system. By two-dimensional binary search, agents compromise between their own proposal and their opponent’s
current proposal to generate new proposals alternately and
reach an agreement if the marginal gain is more than the
marginal cost. In (Zhang, Lesser, & Podorozhny 2003), they
describe an approach to deal with multilinked negotiation
in the context of a task allocation domain. A partial-order
scheduler is used to oreder the issues in each task and the
relationships among them with their flexibilities and depen-
Table 1: Negotiation Messages
Proposal
Counterproposal
Formal-Proposal
Pre-Accept
Pre-Reject
Accept
Reject
A requestor initiates the negotiation
by proposing an offer for a service
An agent counterproposes a new proposal
in response to the previous proposal
An agent formalizes its pre-accepted
proposal
An agent temporarily accepts a proposal
An agent temporarily rejects a proposal
An agent accepts a proposal
An agent rejects a proposal
dencies. There is no mutual influence among negotiation
threads in their model. Since the protocol does not support
concurrent negotiation, it is difficult for a contractee to coordinate among multiple subtasks.
In (S. Aknine & Shakun 2004), an extended version of the
Contract Net Protocol is presented to support concurrent negotiation processes for a task contractor (service provider).
It is efficient and failure tolerant compared to CNP. However, the protocol does not allow counterproposals, which
is very important in negotiations involving time constraints,
especially when multiple issues are involved.
Negotiation Protocol
To illustrate our protocol, we present a motivating GetStockQuote scenario. We assume all agents are self-interested and
have their own preferences about the services they need. A
service requestor a1 might arrange to get a stock quote from
a service provider. In this scenario, a1 locates two providers
b1 and b2 that meet its functionality requirements and starts
two negotiation processes, one for each provider, to find the
one that provides better service with lower cost. For the situation in which b1 has already been in a negotiation with
another potential service requestor a2 , b1 will negotiate with
a1 and a2 at the same time to find a requestor that provides
a better offer. Most existing protocols cannot handle this situation properly. In some protocols, for example if b1 is one
of the providers that are negotiating with a1 concurrently, b1
has to wait until all a1 ’s negotiation threads end. Even if
b1 reaches an agreement with a1 earlier, it can be accepted
or possibly rejected by a1 only after a1 finishes all its negotiation threads. Therefore, current protocols bind b1 to a
one-sided commitment and make b1 lose time and the potential chance of reaching a contract with other agents. This
is biased in favor of a1 , but still causes a1 the trouble of
a likely decommitment to the previously agreed proposals,
and leads to the loss of utility (decommitment penalty) and
reputation that would harm an agent interested in long-term
cooperation and gains.
By considering the two-phase commit protocol and the
extended CNP protocol, we introduce two phases of accept
and reject into the alternating offers protocol (Osborne &
Rubinstein 1994) to support concurrent multiple-issue negotiation. During a negotiation session, an agent can use
a number of messages when communicating with its opponent. The negotiation acts are briefly defined in Table 1 and
illustrated in a simplified version of our GetStockQuote sce-
AAAI-05 / 66
Provider b2
Requestor a1
Provider b1
Requestor a2
Requestor
formalizes
Proposal
Counter-Proposal
Pre-Accept
Formal-Proposal
Accept
Proposal
Counter-Proposal
Pre-Reject
Pre-Reject
Reject
Provider
pre-rejects
Requestor accepts
12
1
Success
Requestor
pre-rejects
Requestor proposes
10
Provider
formalizes
Provider counter-proposes
Counter-Proposal
Proposal
Provider accepts
6
4
Counter-Proposal
2
Provider
pre-accepts
3
Counter-Proposal
Pre-accept
Requestor
counter-proposes
Accept
7
.
5
Provider
rejects
8
13
Provider
counter-proposes
Requestor
rejects
Failure
Figure 1: A Concurrent Negotiation Sequence Diagram
nario in Figure 1.
In multiple-issue negotiation, different agents have different preferences over the negotiation issues. Their preferences are usually represented in the form of their utility
functions with issues as variables. By adopting the alternating offer protocol, an agent makes an offer that gives it the
highest utility at the beginning of the negotiation, and then
incrementally concedes by offering its opponent a proposal
that gives it lower utility as the negotiation progresses.
Let a and b represent the negotiating agents and I a set
of n negotiation issues, where I = {I1 , . . . , In }. Given
Ob→a,t representing an offer from b to a at time round t, we
define agent a’s utility as Ua (Ob→a,t ). Agent b’s utility is
defined analogously.
Definition 1: In a negotiation where agent a negotiates
with a set of agents B = {b1 , . . . , bn } concurrently, agent
bi ’s offer Obi →a,t is better than agent bj ’s offer Obj →a,t iff
Ua (Obi →a,t ) > Ua (Obj →a,t )
Definition 2: In a negotiation where agent a negotiates
with a set of agents B = {b1 , . . . , bn } concurrently, agent
bi ’s offer is acceptable to agent a at time round t if (1)
Ua (Obi →a,t ) ≥ Ua (Oa→bi ,t+1 ) and (2) Ua (Obi →a,t ) =
argmax U (Obj →a,t ) for bj ∈ B.
As shown in Figure 1, a requestor agent a1 locates two
provider agents b1 and b2 , then initiates two negotiation
threads simultaneously by sending them its proposal. After evaluating the received proposal, b2 sends its counterproposal to a1 . b1 is in a negotiation with another requestor
agent a2 when it receives a1 ’s proposal. b1 also sends its
counterproposal to a1 , since b1 has not reached any agreement with a2 yet. After evaluating it, a1 finds that b2 ’s counterproposal is acceptable and pre-accepts b2 ’s counter proposal. a1 will pre-reject other counterproposals at the same
time. b1 receives the pre-reject from a1 and the pre-accept
message from a2 , so b1 sends the formal-proposal to a2 and
pre-rejects all other requestors. While the pre-accepted b2
sends a1 its formal-proposal, other pre-rejected agents send
their counterproposals to a1 . a1 accepts b2 and rejects all
other providers, if b2 ’s formal-proposal is still acceptable.
Analogously, a2 sends the accept message to b1 and the reject message to other providers.
Two-phase commitment of (Pre-Accept and Accept) and
the corresponding two-phase rejection (Pre-Reject and Reject) are necessary to deal with concurrent encounters. With
this protocol, the concurrent negotiation process has two
9
Requestor
pre-rejects
Requestor
pre-accepts
Provider
pre-accepts
Formal-Proposal
Requestor
pre-accepts
Requestor counter-proposes
Provider
pre-rejects
11
.
Figure 2: Finite State Machine for Concurrent Negotiation
phases. In phase one, service agents exchange counterproposals after service requestors initiate the negotiations.
Once an agent receives an acceptable proposal, the agent
announces that the negotiation phase two begins by sending
pre-accept to the agent who sent the acceptable proposal and
sending pre-reject to the rest of the negotiating opponents.
In phase two, the negotiation enters a process similar to a
last-round first-price auction. The pre-accepted agent sends
back its formal proposal while other pre-rejected agents send
their counterproposals for their final tries. If the former proposal is still acceptable, it will be accepted formally and
other offers will be rejected to end the negotiation.
Figure 2 depicts a Finite State Machine model that describes the concurrent negotiation protocol for services. The
left part shows the situation in which the service provider
starts the pre-accept or pre-reject phases. The right part
shows the situation in which the service requestor starts the
pre-accept or pre-reject phases. The service requestor agent
starts from state 1 by sending an initial proposal to the service provider agent (state 2). The provider agent evaluates
it (state 2) and if this proposal is acceptable, the provider
agent pre-accepts it (state 4); otherwise, the agent counterproposes (state 3). Two agents send counterproposals back
and forth before they find an acceptable offer (states 2 and
3). A provider agent may pre-reject a proposal if it has preaccepted another agent or has been pre-accepted by another
agent (state 5). The pre-accepted requestor sends its formal
proposal to the provider (state 6). If this formal proposal is
acceptable, it is accepted by the provider (state 12); otherwise, this proposal is pre-rejected (state 5) and the requestor
can send an improved counterproposal (state 7), which could
be pre-accepted by the provider (state 4) or rejected finally
(state 13). The right part of Figure 2 depicts how the service
requestor pre-accepts or pre-rejects its peer analogously.
Negotiation Algorithm
In this section, we describe in detail the negotiation algorithms of a service requestor and provider during a negotiation process. The whole negotiation process has two
phases: (1) The proposal exchange phase in which both
sides exchange proposals/counterproposals until one agent
sends Pre-Accept/Pre-Reject to the other; (2) The proposal
formalization phase in which an agent sends its formal proposal if it is pre-accepted or the counterproposal otherwise.
AAAI-05 / 67
Service Requestor i
[None] / Send Proposal
[Recv Counter-proposal] / None
Wait
[Recv Pre-accept]
/ None
Pre-Accepted
[Recv Pre-reject]
/ None
WaitForRespToPreAccept
WaitForRespToPreReject
[Recv Formal-proposal] / None
[Recv Counter-proposal] / None
[None] / Send
[None] /Send Pre-reject
Counter-Proposal
[None] /Send Pre-accept
WaitForResp
ToCounterProposal
WaitForResp
ToFormalProposal
[None] / Send Pre-reject
[None] / Send Pre-accept
Pre-Rejected
[Recv Pre-accept]
/ None
[None] / Send
Formal-Proposal
Evaluate
CounterProposal1
[None] / Send Counter-Proposal
[Recv Pre-reject]
/ None
Evaluate
FormalProposal
Evaluate
CounterProposal2
[Recv Reject]
/ None
[Recv Accept]
/ None
[None] /
Send Accept
[None] / Send
Reject
Accept
Reject
.
Figure 3: Finite-State Machine for a Service Requestor
Wait
Service Provider i
[Recv Proposal] / None
[None] / Send Proposal
[Recv Counter-proposal] / None
WaitForRespToCounterProposal1
[Recv Pre-accept]
/ None
Evaluate
[None] / Send Counter-Proposal
[Recv Pre-reject]
/ None
Pre-Rejected
[Recv Pre-accept]
/ None
[None] / Send
Formal-Proposal
[Recv Pre-reject]
/ None
WaitForResp
ToFormalProposal
[Recv Accept]
/ None
Theoretical Analysis
[None] / Send Pre-reject
[None] / Send Pre-accept
Pre-Accepted
2+
a pre-rejects bi , fa←b
denotes that a is pre-accepted by bi ,
i
2−
and fa←bi denotes that a is pre-rejected by bi . These flags
are exclusive, i.e., only one can be true at a time. Once one
flag is true, others are set to false by default. We assume that
the message delivery time is negligible compared to the time
interval of each negotiation round. Messages are sorted and
processed in the order of their appearances in Algorithm 1
and the return messages are sent at the end of each round.
The detailed algorithm for agent a at time t < td , where td
is its negotiation deadline, is defined in Algorithm 1.
Since we assume that the agents are self-interested, it is
possible for an agent to propose a very good offer in phase
one in order to scare off its competition and then send a
lower formal proposal later. Although it likely is beaten
by other agents’ counterproposals, we enforce a negotiation
strategy to further avoid this situation. Any formal proposals
worse than their pre-accepted proposals will be definitively
rejected. The best offer from the received counterproposals
will be pre-accepted as a replacement in this case.
WaitForRespToPreAccept
WaitForRespToPreReject
[Recv Formal-proposal] / None
[Recv Counter-proposal] / None
[None] / Send
[None] /Send Pre-reject
Counter-Proposal
[None] /Send Pre-accept
WaitForResp
ToCounterProposal2
Evaluate
FormalProposal
Evaluate
CounterProposal2
[Recv Reject]
/ None
[None] /
Send Accept
Accept
[None] / Send
Reject
Reject
.
Figure 4: Finite-State Machine for a Service Provider
For a service requestor, there are three evaluation functions in Figure 3: EvaluateCounterProposal1, EvaluateCounterProposal2, and EvaluateFormalProposal. EvaluateCounterProposal1 deals with all counterproposals in
phase one. It evaluates the counterproposals from the service
providers and sends Pre-Accept, Pre-Reject, or a counterproposal regarding the evaluation result. EvalutionCounterProposal2 evaluates all counterproposals in phase two. It sends
Pre-accept to the sender if its proposal is acceptable, otherwise it sends Reject. EvaluateFormalProposal evaluates the
formal-proposal from the pre-accepted agent, it sends Accept to the sender if the formal proposal is acceptable, and it
sends Pre-Reject otherwise.
For a service provider there are also three evaluation
functions: Evaluate, EvaluateCounterProposal2, and EvaluateFormalProposal. Evaluate deals with all proposals and
counterproposals that appear in phase one. It sends the messages of Pre-Accept, Pre-Reject, or counterproposals regarding the evaluation result. EvalutionCounterProposal2 and
EvaluateFormalProposal are defined the same as in the service requestor’s model.
Given an agent a and its opponent set B = {b1 , . . . , bn },
we define a set of five flags to indicate the negotiation sta1
tus between a and bi . Let fa↔b
denote negotiation phase
i
2+
2−
one, fa→bi denotes that a pre-accepts bi , fa→b
denotes that
i
In this section we analyze the properties of the protocol, particularly the termination property, and prove that our negotiation process will end after a finite number of steps. Based
on the state-transition diagram, we describe the following
properties of our concurrent negotiation protocol.
Property 1: Given an agent a and its opponent agent set
B, the concurrent negotiation protocol guarantees that agent
a can only start negotiation phase two if phase one has been
completed for all agents in B.
Proof: Negotiation phase two starts when a finds an acceptable offer. (1) Since an agent cannot reach a Pre-Reject
state until one of its peer agents is in a Pre-Accept state,
and it cannot reach a Reject state until one of its peers is in
an Accept state, it lets the rejected/pre-rejected agents know
there is at least one competitor that provides better offer than
they do. This is enforced by the negotiation algorithm. (2)
An agent cannot send its formal proposal until all its peer
agents have received a Pre-Reject message in order to give
the pre-rejected peers the chance of sending their counterproposals to the opponent. There are two paths leading the
requestor to the formal-proposal state (1-2-4-6, 1-2-5-7-4-6)
in Figure 2. A requestor a needs to be pre-accepted (state
4) to reach the formal-proposal state (state 6). Therefore,
all other requestors have received the Pre-Reject before a
reaches its formal-proposal state, since the provider sends a
Pre-Accept and other requestors Pre-Reject simultaneously.
It can be proved for the provider analogously.
Property 1 deals with a concurrent encounter and confirms
consistency during the negotiation. Now we consider the
termination property of the protocol.
Property 2: Given a set of service requestors A and a
set of service providers B, a negotiation process engaged by
the agents from A and B using our concurrent protocol ends
after a finite number of steps.
Proof: From Figure 2, we can see that three loops can occur during the negotiation process: (1) A loop on states 2 and
3, i.e., the requestor and the provider keep exchanging coun-
AAAI-05 / 68
Notations:
O is a proposal/counterproposal, Õ is a formal
proposal, P A is Pre-Accept, P R is Pre-Reject, A is
Accept, R is Reject;
Initialization;
1
set fa↔b
= true for all bi ∈ B
i
if agent a is a requestor then
sends Oa→bi ,t0 to all bi ∈ B
Negotiation;
while t < td do
Wait for Message Mbi →a , bi ∈ B
switch current flag indicator between a and bi do
2+
case fa←b
= true
i
if Mbi →a = Abi →a then negotiation succeeds;
else if Mbi →a = P Rbi →a then sends Oa→bi ,
2−
set fa←b
= true;
i
break;
2−
case fa←b
= true
i
if Mbi →a = Rbi →a then negotiation fails;
else if Mbi →a = P Abi →a then sends Õa→bi ,
2+
= true;
set fa←b
i
break;
2+
= true
case fa→b
i
if Mbi →a = Õbi →a then
if Õbi →a is acceptable then sends Aa→bi to
bi , Ra→bj to all bj ∈ B, j 6= i;
else sends P Ra→bi ; sends P Aa→bk if bk ’s
offer is acceptable; sends Ra→bj to all
bj ∈ B, j 6= i, k; set
2+
2−
= true,fa→b
= true;
fa→b
i
k
break;
2−
= true
case fa→b
i
if Mbi →a = Obi →a then
if Obi →a is acceptable then sends P Aa→bi ,
sends P Ra→bk , if bk ’s offer is formal-offer;
send Ra→bj to all bj ∈ B, j 6= i, k; set
2−
2+
fa→b
= true, fa→b
= true;
i
k
else sends Ra→bi
break;
1
case fa↔b
= true
i
if Mbi →a = Obi →a then
if Obi →a is acceptable then sends P Aa→bi to
bi sends P Ra→bj to all bj ∈ B, j 6= i; set
2+
2−
fa→b
= true, set fa→b
= true for all
i
j
bj ∈ B, j 6= i;
else sends Oa→bi
else if Mbi →a = P Rbi →a then
2−
= true
sends Oa→bi , set fa←b
i
else if Mbi →a = P Abi →a then
sends Õa→bi ; sends P Ra→bj to all
2+
bj ∈ B, j 6= i; set fa←b
= true; set
i
2−
fa→bj = true for all bj ∈ B, j 6= i
end
end
end
Algorithm 1: Negotiation Algorithm
terproposals; (2) A loop on states 5, 7, 4, and 6, i.e., the requestor gets stuck counterproposing and being pre-accepted,
and then being pre-rejected at the formal-proposal state; (3)
A loop on state 8, 11 , 9 , and 10, where the provider gets
stuck in the analogous situation as the requestor in (2). To
prove that the protocol will end in a finite number of steps,
we must prove that there is no infinite sequence of loops on
the above three loops.
(1) In loop 2-3, agents keep exchanging counterproposals by the alternating offering protocol, in which an agent
makes an offer that gives it the highest utility at the beginning of the negotiation, and then incrementally concedes by
offering its opponent a proposal that gives it lower utility
as the negotiation progresses. Agents have to concede to
offer deals that are more likely to be accepted by their opponents, if they prefer reaching an agreement to the conflict
deal. These principles apply to all concurrent negotiation
threads. Many existing mechanisms can guarantee agents
will keep making progress during the negotiation. With a
predefined minimum hop ǫ, one agent will eventually preaccept the counterproposal from its opponent and exit from
the loop (1) or time out. Also, an agent can be kicked out of
the loop (1) when its opponent pre-accepts one of its peers
from another negotiation threads.
(2) In loop 5-7-4-6, the pre-rejected requestor sends its
new counterproposal to the provider and is pre-accepted;
however, its formal proposal is then pre-rejected and the requestor has to send a new counterproposal again. This situation happens when there are existing requestors that keep
competing with each other. Let us assume a service provider
b negotiates concurrently with a set of n service requestors:
a pre-accepted requestor a0 and a set A′ = {A−a0 } of n−1
pre-rejected requestors. After the provider receives the formal proposal from a0 and the counterproposals from A′ . Let
ai be the one with the best offer from A′ . By comparing the
offers from a0 and ai , we have:
(a) If Ub (Oai →b ) ≤ Ub (Oa0 →b ), a0 will be accepted and
reach state 12 and all requestors from A′ will end with rejections and reach state 13. The negotiation ends.
(b) If Ub (Oai →b ) > Ub (Oa0 →b ), requestor a0 will be prerejected and reach state 5, requestor ai will be pre-accepted
and enter state 4, and all other agents are rejected and out
of the loop. There are only ai and a0 left. The negotiation
ends if one of them can overbid the other in two consecutive
rounds. An infinite loop occurs when ai and a0 keep overbidding each other alternately by a tiny amount. It can be
prevented by defining a minimum increment ǫ or enforcing
time constraints on the protocol. Since both sides would be
better off if they can reach a contract earlier, the provider
should consider the time factor for proposals received in
phase two. For example, before comparing two proposals,
a time discount function δ(t) < 1 (e.g., a normalized function whose value decreases exponentially with the time) can
be applied to the counterproposal that needs to evolve two
more states to be a formal-proposal. Therefore, the counterproposal needs to overbid the formal proposal more and
more to overrule it as the protocol proceeds, and negotiation
will end in a finite number of steps.
AAAI-05 / 69
Concurrent Negotiation Issues
Our protocol specifies the actions that can be followed by
each side to negotiate a contract. This negotiation protocol
is more flexible than the extended CNP protocol, because
agents can exchange counterproposals. The protocol itself
does not guarantee the negotiation will end with a contract.
Both participating agents need to adopt a certain negotiation
strategy to keep the process going.
With this protocol, the concurrent negotiation process can
be performed at two levels: the upper level deals with coordination among multiple negotiation processes when an
agent tries to minimize the possibility of conflicts among
different negotiation threads, and the lower level deals with
the execution of the individual negotiation processes.
A negotiation agent consists of two main components: a
coordinator and a number of negotiation threads. The coordinator is responsible for coordinating all the threads and
solving the conflicts among them. The negotiation threads
deal directly with the various opponents and are responsible
for deciding what counterproposals to send and what proposal to pre-accept. In each round, the threads report their
status to the coordinator, and the coordinator will update the
status of the other threads and use the progress in one thread
to alter the behavior of the agent in the other threads.
Since the computation cost becomes crucial when more
negotiation threads and issues are involved, some strategy
such as a coalition deal can be adopted by the individual
negotiation threads to make the negotiation more efficient.
A coalition deal can also mitigate the message congestion
problem by reducing the computation cost and distributing
messages among a number of negotiation threads.
We believe that commitment is a symmetric relationship
among the participants in a negotiation. Our protocol allows
the negotiation participants to make durable commitments
to reduce the likelihood of a decommitment situation. Algorithm 1 shows that our protocol is neutral to both service requestors and service providers. Therefore, our protocol can
eliminate the decommitment situations arising in one-sided
commitment.
In negotiation phase two, a service agent hosts a procedure that is similar to a last-round first-price auction. Since
it is the final try for those pre-rejected agents to stay in
the negotiation, it makes truth-telling about the reserve offer the dominant strategy for agents whose counterproposals
are close to their reserve offers. At this time, they do not
want to lose by providing an offer worse than the reserve
offer and they do not want to win the negotiation with negative gains by providing an offer better than the reserve offer. Therefore, this protocol makes the negotiation more efficient. This truth revealing property will be further explored
and exploited in the future.
Conclusion
This paper investigates concurrent negotiation in a competitive environment by proposing a negotiation protocol
to support many-to-many negotiation among self-interested
agents. First, we introduce the many-to-many negotiation
problem by a motivating example. Second, we define the
protocol’s communication acts and describe the negotiation
protocol. Third, we illustrate the negotiation algorithms, analyze the properties of the protocol, and in particular prove
the termination property of the protocol. Finally, we discuss
some issues related to concurrent multiple-issue negotiation.
There are several possible directions for future work.
First, we will further investigate the effect of this protocol to
an agent’s negotiation strategy and develop a sophisticated
commitment model. Second, we can extend this protocol
to support negotiation for a composed service with different service agents under constraints such as QoS and dependency issues among agents.
References
Dang, J.; Shrotri, D.; and Huhns, M. N. 2005. Distributed
coordination of an agent society based on obligations and
commitments to negotiated agreements. In Scerri, P., ed.,
Challenges in the Coordination of Large-Scale Multiagent
Systems. Springer Verlag.
Fatima, S. S.; Wooldridge, M.; and Jennings, N. 2004.
Optimal negotiation of multiple issues in incomplete information settings. In Proc. Third International Joint Conference on Autonomous Agents and MultiAgent Systems (AAMAS’04), 1080–1089. New York,USA: ACM.
Gray, J. 1978. Notes on data base operating systems.
In Bayer, R.; Graham, R. M.; and Seegmuller, G., eds.,
Operating Systems, An Advanced Course. Springer-Verlag:
London, UK. 393–481.
Nguyen, T. D., and Jennings, N. 2004a. Coordinating multiple concurrent negotiations. In Proc. Third International
Joint Conference on Autonomous Agents and MultiAgent
Systems (AAMAS’04), 1064–1071. New York,USA: ACM.
Nguyen, T. D., and Jennings, N. R. 2004b. Reasoning
about commitments in multiple concurrent negotiations. In
Proc. of the 6th International Conference on E-Commerce.
Osborne, M. J., and Rubinstein, A. 1994. A Course in
Game Theory. The MIT Press.
Rahwan, I.; Kowalczyk, R.; and Pham, H. H. 2002. Intelligent agents for automated one-to-many e-commerce negotiation. In CRPITS ’02: Proc. of the twenty-fifth Australasian conference on Computer science, 197–204.
S. Aknine, S. P., and Shakun, M. F. 2004. An extended
multi-agent negotiation protocol. International Journal on
Autonomous Agents and Multi-agent Systems.
Sandholm, T., and Lesser, V. 1995. Issues in automated negotiation and electronic commerce: Extending the contract
net framework. In Proc. of the First International Conference on Multi-Agent Systems (ICMAS’95), 328–335.
Zhang, X.; Lesser, V.; and Abdallah, S. 2004. Efficient
Management of Multi-Linked Negotiation Based on a Formalized Model. Autonomous Agents and Multi-Agent Systems.
Zhang, X.; Lesser, V.; and Podorozhny, R. 2003. MultiDimensional, MultiStep Negotiation for Task Allocation in
a Cooperative System. Autonomous Agents and MultiAgent
Systems.
AAAI-05 / 70