=Paper= {{Paper |id=None |storemode=property |title=Experiments with Protocols for Service Negotiation |pdfUrl=https://ceur-ws.org/Vol-752/25-31badicaetal.pdf |volume=Vol-752 |dblpUrl=https://dblp.org/rec/conf/asa/BadicaS11 }} ==Experiments with Protocols for Service Negotiation== https://ceur-ws.org/Vol-752/25-31badicaetal.pdf
PROCEEDINGS OF THE WORKSHOP ON APPLICATIONS OF SOFTWARE AGENTS
ISBN 978-86-7031-188-6, pp. 25 - 31, 2011




         Experiments with Protocols for Service Negotiation∗

                                   Costin Bădică and Mihnea Scafeş

                         University of Craiova, Software Engineering Department
                            Bvd.Decebal 107, Craiova, RO-200440, Romania
                         {badica costin scafes mihnea}@software.ucv.ro



              Abstract. In this paper we provide experimental results concerning the impact
              of the negotiation protocol onto the quality of the negotiation outcome as well
              as onto the communication complexity of interactions incurred during negotia-
              tions. We evaluate experimentally three negotiation protocols (Direct Task As-
              signment, Contract Net and Iterated Contract Net) with respect to two perfor-
              mance measures: negotiation outcome (i.e. utility) and communication complex-
              ity (i.e. number of messages transferred), by assigning different busy profiles to
              the contractors. We find that the Direct Task Assignment delivers the worst av-
              erage outcome, but at the same time it uses the lowest number of messages. The
              Contract Net and Iterated Contract Net deliver much higher utility on average, but
              the Iterated Contract Net obtains the highest outcome for some configurations at
              the cost of the highest number of messages.


     1       Introduction
     We have developed a conceptual framework for service negotiation that addresses pro-
     tocols, subjects and decision components in a collaboration system for helping human
     experts and population to deal with disasters (see the FP7 DIADEM project1 that targets
     crisis management in the context of chemical incidents in industrial and urban areas).
     Our framework supports generic one-to-many negotiations and it defines two roles:
     manager and contractor [4, 2]. The manager is the agent that requests a service and thus
     initiates the negotiation. The contractor is the agent that is able to provide the service
     requested by the manager. For a more complete review of the conceptual framework,
     please see [1]. A brief description of the design and implementation is given in [3].
          Currently we have configured our framework with three negotiation protocols that
     we have found useful in disaster and environment management problems. These pro-
     tocols are Direct Task Assignment (DTA), Contract Net (CNET) and Iterated Contract
     Net (ICNET)2 . For more information see [3].
          Negotiation participants playing either the manager or contractor roles use utility
     functions to quantify their preferences over proposals. In our framework the manager
         ∗
          Mihnea Scafeş was supported by IOSUD-AMPOSDRU contract 109/25.09.2008.
         1
          DIADEM Distributed information acquisition and decision making for environmental man-
     agement: http://www.ist-diadem.eu/.
        2
          CNET and ICNET are standardized by Foundation for Intelligent Physical Agents,
     see http://www.fipa.org/specs/fipa00029/ and http://www.fipa.org/specs/
     fipa00030/




                                                  25
PROCEEDINGS OF THE WORKSHOP ON APPLICATIONS OF SOFTWARE AGENTS, 2011




       uses a weighted additive utility function over the negotiation issues to evaluate propos-
       als and to select the service provider.


       2    Experiments

       Let us assume that a manager agent M is negotiating for contracting a service from a
       contractor agent that is member of a set of n contractors C1 , . . . , Cn . Each contractor Ci
       is characterized by her profile defined as a triple ([umin i , ui   ], ci , bi ). Each contractor Ci
                                                                       max

       can offer a utility value ui to the manager such that ui ∈ [umin   i , ui
                                                                                 max
                                                                                       ] ⊆ [0, 1]. ci ∈ [0, 1]
       is the probability that she will be able to satisfy the requirements set by the manager’s
                                              {                 }
       request. Ci has a busy profile bi = bi1 , bi2 , . . . bim , where m is the maximum number
       of iterations and bi j , 1 ≤ j ≤ m is the probability of the contractor Ci being busy
       during iteration j. We assume that always bim = 0, so that Ci will propose during the
       last negotiation iteration. The busy profiles are not taken into account when using the
       DTA and when using CNET, only the busy probability of the first iteration is taken into
       account. Busy profiles are mostly taken into account when using the ICNET protocol,
       which is based on multiple iterations. Depending on the utilized protocol the negotiation
       will incur a certain communication cost estimated as the number of messages exchanged
       between the manager and the contractor during the negotiation. Moreover the quality
       of the negotiation outcome will be estimated as the utility perceived by the manager for
       the contracted service.
            If the manager is utilizing the DTA negotiation protocol then she will randomly
       assign the task to one of the contractors. However, a contractor that does not meet the
       requirements will not be able to provide the service, so she will have to report failure. In
       this case the manager will randomly select another contractor and so on, until a suitable
       contractor is found (we assume this is always the case). Note however that this trial-
       and-error process performed by the manager affects the outcome of the negotiation by
       decrementing her perceived utility. More precisely, if the successful contractor Ci that
       could perform the task was selected in the k-th trial then the utility perceived by the
       manager will be ui × (1 − (k − 1)/n) rather than ui . Moreover, the communication cost
       associated to this negotiation interaction consists of 2 ∗ k message exchanges.
            If the manager is utilizing the CNET negotiation protocol then she will select the
       contractor Ci that provides her the highest utility ui from those contractors that met
       the requirements of the call for proposals and were not busy (i.e. they were able to
       bid). The communication cost consumed for a busy contractor consists of 2 message
       exchanges, while for a not busy contractor (it doesn’t matter if she could met or not the
       requirements, according to the CNET negotiation protocol [4] she either proposed or
       refused to bid) the communication cost consists of 3 message exchanges.
            If the manager is utilizing the ICNET protocol we assume that she will perform as
       many negotiation iterations as needed to select one contractor. We simplify the nego-
       tiation by assuming that contractors do not change their bids between iterations. This
       assumption is not as restrictive as it might look, because some contractors are busy and
       can bid only in a late iteration. Moreover, we also assume that a busy contractor that
       meets the requirements of the call for proposals will always find time to bid during a
       certain negotiation iteration. The communication cost for a busy contractor consists in 2




                                                     26
PROCEEDINGS OF THE WORKSHOP ON APPLICATIONS OF SOFTWARE AGENTS, 2011




       message exchanges, while for a non-busy contractor it consists of 3 message exchanges,
       for each iteration.
           In the simulation we considered one manager and 100 contractors.
           There are at most 3 negotiation iterations and we consider 3 busy profiles that we
       can assign to contractors:

        1. available during the first and the second iteration with equal probability. In this case,
           bi = {0.5, 0, 0 . This profile says that a contractor will be able to respond during the
           first or the second iteration, but no later than the second iteration. These contractors
           respond during the first stages of the negotiation.
        2. mostly busy during the first iteration, but available during the second iteration for
           sure. In this case, bi = {0.9, 0, 0 . This profile says that a contractor will be able
           to respond during the first iteration in few situations, but it will surely respond
           during the second iteration. These contractors respond during the middle stage of
           the negotiation.
        3. not available during the first iteration, but available during the second and third
           with equal probability. In this case, bi = {1, 0.5, 0 . Contractors having this profile
           do not respond during the first iteration, but they will respond during the second or
           the third iteration, no later than the third iteration. These contractors respond during
           the last stages of the negotiation.

            In the experiment, we assign the three busy profiles to contractors by following
       a certain configuration and for each configuration we run a bundle of 2000 negotia-
       tions. We vary the percentage of contractors that have been assigned the three busy
       profiles with a step of 5%. For example, we start from (0, 0, 100), meaning that all
       the contractors have been assigned the third busy profile and then we continue with
       (0, 5, 95), (0, 10, 90), . . . (100, 0, 0), in the final configuration all the contractors having
       been assigned the first busy profile.
            The values of the utilities ui are randomly selected for each negotiation instance
       assuming uniform distributions. For this experiment, we consider [umin         i , ui   ] = [0, 1].
                                                                                           max

       The status of the contractor (as satisfying or not satisfying the requirements of the man-
       ager) is randomly selected for each negotiation instance, according to the probability ci .
       We fixed the probability ci to 0.5 for all negotiations, for all configurations and for all
       contractors.
            We are interested in how each of the studied protocols performs in terms of outcome
       and message traffic for each configuration of contractors. We run the negotiations in the
       experiment for each negotiation protocol.
            Figure 1 shows the utility of the manager when using the DTA protocol. The scale
       labelled “first” shows the percentage of the contractors that can propose mostly during
       the first iterations of the negotiation, i.e. they have been assigned the first busy profile.
       The scale labelled “middle” shows the percentage of contractors that have been assigned
       the second busy profile. The percentage of the contractors that have been assigned the
       third profile is not shown in the figure, but it can be obtained by taking into account the
       fact that the sum of all the percentages is 100.
            The maximum utility for DTA is a little over 0.5, making this the most inefficient
       protocol in terms of utility. The status of being “busy” is not taken into account by the




                                                    27
PROCEEDINGS OF THE WORKSHOP ON APPLICATIONS OF SOFTWARE AGENTS, 2011




                                         Fig. 1. Utility for DTA




       manager when she is playing the DTA negotiation protocol, i.e. if she selects a certain
       contractor then the task will be assigned to her in any case. Nevertheless, if the assigned
       contractor cannot finalize the task successfully then she will report failure and conse-
       quently the manager will retry the operation of service contracting by assigning the task
       to another contractor. However, the utility is almost the same for all configurations, the
       average being around 0.5.




                                        Fig. 2. Messages for DTA




           Figure 2 shows the message statistics for the same protocol. In terms of messages,
       DTA performs very well, being the protocol with the lowest number of messages, out-
       performing the other protocols by far.




                                                28
PROCEEDINGS OF THE WORKSHOP ON APPLICATIONS OF SOFTWARE AGENTS, 2011




                                        Fig. 3. Utility for CNET




           Figure 3 shows the utility for CNET, which was expected to decrease as the number
       of contractors that propose during the first iteration decreases, because it receives less
       proposals and the probability to receive good proposals (i.e. of high utility) decreases.
       An interesting fact is that the utility decreases almost exponentially as the number of
       contractors that propose during the first iteration decreases.




                                       Fig. 4. Messages for CNET




           The message count increases linearly with the number of contractors that propose
       during the first iteration (Figure 4).
           For ICNET (Figure 5), the utility decreases almost as for CNET until a point where
       almost all contractors propose during iterations 2 & 3. Then it grows back to the initial
       maximum very fast.




                                               29
PROCEEDINGS OF THE WORKSHOP ON APPLICATIONS OF SOFTWARE AGENTS, 2011




                            Fig. 5. Utility for ICNET




                           Fig. 6. Messages for ICNET




                                    30
PROCEEDINGS OF THE WORKSHOP ON APPLICATIONS OF SOFTWARE AGENTS, 2011




           When most of the contractors propose during iterations 2 & 3, the message count
       grows exponentially to over 400 (see Figure 6. For the rest of the configurations, the
       message count varies almost the same as for CNET.
           As future work we plan to expand the experiments in at least two directions: (i) to
       consider more complex negotiation instances that take into account more negotiation
       iterations, as well as that contractors might change their bids and managers can change
       their strategy for accepting contractors’ bids during each iteration; (ii) to consider more
       complex workflows involving at least two interdependent negotiations such that the
       contracted service might also involve contracting of other required services.


       References
       1. Bădică, C., Scafeş, M.: Conceptual Framework for Design of Service Negotiation in Disaster
          Management Applications. In: Bai, Q., Fukuta, N. (eds.), Advances in Practical Multi-Agent
          Systems, Studies in Computational Intelligence 325, 359–375 Springer Verlag (2010)
       2. Paurobally, S., Tamma, V., and Wooldridge, M.: A Framework for Web service negotiation.
          ACM Transactions on Autonomous and Adaptive Systems 2(4), ACM Press (2007)
       3. Scafeş, M., Bădică, C., Pavlin, G., and Kamermans, M.: Design and Implementation of a
          Service Negotiation Framework for Collaborative Disaster Management Applications. Pro-
          ceedings of the 2nd International Conference on Intelligent Networking and Collaborative
          Systems INCOS’2010, 519–524 (2010)
       4. Smith, R.G.: The Contract Net Protocol: High-Level Communication and Control in a Dis-
          tributed Problem Solver. IEEE Transactions on Computers 29(12), 1104–1113 IEEE Com-
          puter Society (1980)
       5. Yang, J., Li, W.-L., and Hong, C.-Y.: An Improvement to CNCP in Large-Scale Muti-Agent
          System. Proccedings of the 3rd International Conference on Innovative Computing Informa-
          tion and Control ICICIC’08, 147 (2008)




                                                  31