Journal of Systems Architecture 99 (2019) 101632
Contents lists available at ScienceDirect
Journal of Systems Architecture journal homepage: www.elsevier.com/locate/sysarc
Automated negotiation for ensuring composite service requirements in cloud computing Bahador Shojaiemehr a, Amir Masoud Rahmani a,∗, Nooruldeen Nasih Qader b,c a
Department of Computer Engineering, Science and Research Branch, Islamic Azad University, Tehran, Iran Computer Science, University of Human Development, Sulaimanyah, Iraq c Computer Science Department, University of Sulaimani, Iraq b
a r t i c l e Keywords: Cloud computing Automated negotiation Composite services Negotiation strategy Negotiation agent Cloud services
i n f o
a b s t r a c t Cloud consumers need services that, in addition to meeting their business requirements, provide them with a certain level of quality of service (QoS). On the other hand, cloud providers desire to sale services corresponding to their preferences. In this situation, cloud computing service negotiation (CCSN) can be used to establish an agreement among trading parties with conflicting preferences. The CCSN allows consumer and provider negotiate together automatically on negotiable issues that are important for both trading parties. It aims to provide maximum utility for the parties in possible shortest time. In this paper, we propose a CCSN which provides simple or composite services to consumers. We introduce strategies that negotiators can choose from. We carry out some simulations to compare the performance of the strategies. Analysis of the results of simulations shows that our recommended strategy is more efficient in terms of negotiator’s utility and the number of rounds spent on negotiation to reach an agreement than the others. The contributions of the proposed CCSN can be summarized as follows: (1) design and simulation of a new negotiation strategy which aims to maximize utility for both trading parties and increase the speed in reaching an agreement, (2) proposing a process for aggregating the results of negotiations on simple task requirements to ensure end-to-end composite service requirements.
1. Introduction A cloud is a large computing infrastructure exposing resources and applications via the public or private network. Information technology service consumers desire to use cloud services due to it provides secure access to high-quality, on-demand, and affordable services which can fulfill their business requirements. Hence, many researchers have paid attention to cloud service life cycle. According to Joshi et al. [1] a cloud service life cycle consists of service requirements, service discovery, service negotiation, service composition, and service consumption. The service requirements define functional, technical, and budgetary requirements. Functional requirements including tasks that must be provided. Technical requirements including resources and applications. Budgetary requirements including service cost. The service discovery is responsible for discovering services which can fulfill consumer’s functional, technical, and budgetary requirements. Negotiation could occur between a consumer and each service provider who was identified in the service discovery to reach an agreement on all of the service issues that are important from both the trading parties’ point of view. These issues specify utility of consumers/providers gained through buying/selling services.
∗
For example, if availability to be important from a consumer’s point of view and he/she agrees with a provider on high service availability, the consumer achieves high utility from this issue. Automated negotiation systems (ANSs) allow consumers and providers negotiate each other to reach a mutual agreement on some issues without human interference into the negotiation process. In this approach, negotiating agents are assigned to trading parties. These software agents negotiate together. They may either agree or disagree on the negotiation issues. The purpose of a negotiator is to provide maximum utility for its owner. In this paper, cloud computing service negotiation (CCSN) studies refer to works that proposed an ANS specifically used to cloud computing. Sim [2], Son and Sim [3], Zheng et al. [4], Chen et al. [5], Ranaldo and Zimeo [6], and Rajavel and Thangarathanam [7] proposed CCSNs on simple services. Service composition is responsible for combining multiple services from multiple providers and delivering a single virtualized service to consumers. Composition phase is used to deliver a value-added service through combining multiple simple services when there is not any simple service which can be matched with consumers’ functional requirements. Liu et al. [8], Zhou and Mao [9], Kofler et al. [10], and Gutierrez-Garcia and Sim [11] did studies on selection of services
Corresponding author. E-mail addresses:
[email protected] (B. Shojaiemehr),
[email protected] (A.M. Rahmani),
[email protected] (N.N. Qader).
https://doi.org/10.1016/j.sysarc.2019.08.005 Received 25 February 2019; Received in revised form 7 August 2019; Accepted 13 August 2019 Available online 14 August 2019 1383-7621/© 2019 Elsevier B.V. All rights reserved.
B. Shojaiemehr, A.M. Rahmani and N.N. Qader
that are semantically matched with formal descriptions of simple tasks into a composite service. Jula et al. [12], and Vakili and Navimipour [13] provided systematic literature reviews for cloud computing service composition problem. Souri et al. [14] comprehensively categorized and examined techniques on formal verification of the service composition. Asghari et al. [15] studied service composition approaches in internet of things. With the increasing tendency to use composite cloud services, there is a need for designing ANSs capable of fulfilling requirements of consumers of these services. When a composite service fulfills consumer’s functional requirement, there should be an ANS that supports negotiation over the simple services into the composition and aggregates the results of negotiations for ensuring end-to-end consumer’s requirements. The motivation of this research arises from existing weaknesses of current CCSNs. The weaknesses which are addressed by this research can be summarized as follows: 1) Selection of appropriate and optimal simple services and combining them to provide composite complex services is one of the important problems in service composition [12]. There are studies that pay attention to provide negotiation over the composite services. They proposed architecture of composite service negotiation system, but they did not detail the negotiation process of the systems. We will discuss these works in Section 3. A CCSN that can fulfill composite services needs two main parts: a negotiation part that supports negotiating with simple service providers to select the best services for each task in the composition and an aggregation part that interacts with consumers and manages the negotiation activities. This part is responsible for fulfilling endto-end consumer’s requirements. We will detail the aggregation and negotiation parts of our proposed CCSN in Sections 4.2 and 4.3, respectively. 2) Negotiators either terminate the negotiation through accepting/rejecting the opponent’s proposal or continue the negotiation through generating a new proposal. We will introduce factors that affect proposal generation process. They are called proposal generation factors. We will present new methods for each factor. These methods could be followed by a negotiator step by step to compose our proposal generation process. We will indicate that using these methods to apply the factors provides a high-performance ANS. We will also indicate applying each factor by its method impacts on enhancing the performance of the system. None of the previous studies used all of these factors in generating proposals and making a decision about continuing or termination the negotiation. The contributions of the proposed CCSN can be summarized as follows: (1) design and simulation of a new negotiation strategy which considers all factors affecting the decision-making process to maximize utility for both trading parties and increase the speed in reaching an agreement, (2) proposing a process for aggregating the results of negotiations on simple task requirements to ensure end-to-end composite service requirements. The remainder of this paper is organized as: Section 2 describes ANS process, concepts, and specifications. Section 3 studies related works, classifies the works and gives advantages/disadvantages of them. Section 4 gives a general view of our CCSN and describes the CCSN components. Then, the section respectively details the coordination and negotiation layers of the system. Section 5 describes proposal generation tasks that a negotiator performs them to make a new proposal. In Section 6, we express our expectations about how each proposal generation factor can improve the CCSN performance. The simulations and analysis of their results are presented in Section 7. 2. ANS description The aim of this section is to understand the ANS processes and specifications. This section will help readers better follow the proposed CCSN.
Journal of Systems Architecture 99 (2019) 101632
The CCSN components are same as those of an ANS. The difference is only on issues which the negotiation is established over them. QoS issues play an important role in selecting services in the cloud and other distributed computing environments. Hence, one of the main purposes of a CCSN is to satisfy consumers’ QoS requirements. Other negotiable issues may depend on the type of the service. For example, time-slots in which resources are reserved could be a negotiable issue in infrastructure as a service (IaaS). The IaaS in cloud computing provides computational resources. When one of the parties forces only a single value for a negotiable issue, they cannot negotiate on this issue. In this case, if two parties do not agree on this value, the negotiation will be failed. The negotiable issues can be divided into cost type and benefit type. If the issue is benefit-type, a higher value is better for the negotiator while the lower value is better for cost type issue. For example, the price of a service is a cost-type issue for a negotiator that belongs to a consumer because the higher price has more cost for him/her. We will give a general view of the negotiation process in an ANS in Section 2.1. Afterward, we will present some definitions in Section 2.2. Formal definitions are required to understand the functionalities and activities of the system.
2.1. ANS process In an ANS, software agents are assigned to negotiation parties. The agents have usually conflicting goals. They negotiate together to satisfy their goals. The ANS is widely used to provide service/goods in different environments such as e-commerce, grid computing, web services, and cloud computing. Fig. 1 shows a general view of activities of service/goods provider negotiating agent (PNA) during the negotiation process. Below steps describe these activities. A consumer negotiating agent (CNA) has a similar process, except it does not check whether the current round is first round or not. 1) PNA gets weights and acceptable values for each negotiable issue from its provider. These are required for the next activities. The weight of an issue is a measure of the importance of the issue from provider’s point of view. Acceptable values of an issue specify values that are negotiable from both the consumer and provider’s point of view. 2) PNA generates a proposal based on provider’s requirements in the first round. It obtains these requirements from the acceptable values. 3) PNA takes the following steps in each round except first round: 3.4 PNA receives a message from the opponent. It extracts opponent’s proposal from the message. 3.5 PNA evaluates how much the opponent’s proposal can satisfy the provider. 3.6 PNA uses evaluation results to make a decision. It can either terminate the negotiation by sending an accept/reject message to the opponent or continue the negotiation by generating a new proposal and sending it to the opponent. For this purpose, it is essential that ANS defines two groups of constraints: satisfaction constraints and failing constraints. The PNA checks satisfaction constraints. If one or more constraints are met, the PNA accepts the opponent’s proposal and sends an accept message to the opponent. Otherwise, the PNA checks failing constraints. Similarly, if one or more failing constraints are met, the PNA rejects the opponent’s proposal and sends a reject message to the opponent. If any failing constraints are not met, the PNA continues the negotiation. It generates a new proposal and sends it to the opponent. The proposal generation is one of the main tasks in designing the ANS. We will detail the decision-making process and proposal generation procedures of proposed CCSN in Sections 4 and 5, respectively.
B. Shojaiemehr, A.M. Rahmani and N.N. Qader
Journal of Systems Architecture 99 (2019) 101632
Fig. 1. Activities of a PNA.
Table 1 Notations used to describe ANS concepts. Notation
Definition
Notation
Definition
𝑟𝑒𝑞𝑖𝑃 𝐴 reqPA 𝑎𝑙𝑤𝑃𝑖 𝐴 𝑁𝑉𝑖𝑃 𝐴,𝑂𝑃
Requirement of participant PA for issue i Requirement of participant PA for each negotiation issue Allowable value of participant PA for issue i Negotiable values of participant PA and its opponent OP for issue i
𝐴𝑉𝑖𝑃 𝐴 𝑈 𝑃 𝐴 (𝑃𝑖𝑂𝑃 ) 𝑊𝑖𝑃 𝐴 UPA (POP )
Acceptable values of participant PA for issue i Utility that participant PA obtains by opponent OP’s proposal for issue i Weight of the issue i from the PA’s perspective Utility that participant PA obtains by opponent OP’s proposal
2.2. ANS concepts In this section, we provide a definition of several concepts used in this paper. These definitions give readers clear descriptions that prevent misunderstanding of proposed CCSN. We will use these concepts to describe details of our work. Table 1 defines notations used to describe this section and proposed CCSN. Definition 1 (Requirements). The requirements are values that a negotiating participant specifies them for the negotiable issues before the negotiation phase. In other words, the requirement for each issue includes the value that the participant needs to meet. Requirements of participant PA are shown as below. ⟨ ⟩ 𝑟𝑒𝑞 𝑃 𝐴 = 𝑟𝑒𝑞1𝑃 𝐴 , 𝑟𝑒𝑞2𝑃 𝐴 , … , 𝑟𝑒𝑞𝑛𝑃 𝐴 (1) where 𝑟𝑒𝑞𝑖𝑃 𝐴 represents the requirement of the participant PA for the issue i. Definition 2 (Acceptable values). Acceptable values of participant PA for issue i is a range of values denoted as follows: {[ ] 𝑟𝑒𝑞𝑖𝑃 𝐴 , 𝑎𝑙𝑤𝑃𝑖 𝐴 , if issue i is cost type for participant PA 𝑃𝐴 𝐴𝑉𝑖 = [ ] 𝑎𝑙𝑤𝑃𝑖 𝐴 , 𝑟𝑒𝑞𝑖𝑃 𝐴 , if issue i is benef it type for participant PA (2) where 𝑎𝑙𝑤𝑃𝑖 𝐴 denotes allowable value of participant PA for issue i. It is maximum acceptable value for a cost type issue or minimum acceptable value for a benefit type issue that shows how much concession the participant allows for the issue. Definition 3 (Negotiable values). Negotiable values of participant PA and its opponent OP for issue i is denoted by 𝑁𝑉𝑖𝑃 𝐴,𝑂𝑃 and it is obtained by intersection of the 𝐴𝑉𝑖𝑃 𝐴 and 𝐴𝑉𝑖𝑂𝑃 . A cost type issue for PA is a benefit type issue for OP, and vice versa. Definition 4 (Utility function). Utility function computes utility achieved by a participant PA from a proposal P. Negotiators first com-
pute a utility based on opponent’s proposal for each negotiable issue. If the issue is benefit-type, the utility is defined by normalization function. The normalization function is used to map a value that belongs to an arbitrary range of values on a scale between 0 and 1. Let 𝑃𝑖𝑂𝑃 be opponent’s proposal for benefit type issue i. The utility of it can be computed by Eq. (3): ( ) 𝑈 𝑃 𝐴 𝑃𝑖𝑂𝑃 =
𝑃𝑖𝑂𝑃 − 𝑎𝑙𝑤𝑃𝑖 𝐴
𝑟𝑒𝑞𝑖𝑃 𝐴 − 𝑎𝑙𝑤𝑃𝑖 𝐴
(3)
For cost type issues, if the proposal is closer to the minimum of the acceptable values, utilization of the participant is more. The proposal is normalized and then the difference between 1 and the normalized value of the proposal is computed. The utility of 𝑃𝑖𝑂𝑃 when issue i is a cost type issue can be computed by following equation: 𝑃 𝑂𝑃 − 𝑟𝑒𝑞𝑖𝑃 𝐴 𝑎𝑙𝑤𝑃𝑖 𝐴 − 𝑃𝑖𝑂𝑃 ( ) 𝑈 𝑃 𝐴 𝑃𝑖𝑂𝑃 = 1 − 𝑖 𝑃 𝐴 = 𝑃 𝐴 𝑎𝑙𝑤𝑖 − 𝑟𝑒𝑞𝑖 𝑎𝑙𝑤𝑃𝑖 𝐴 − 𝑟𝑒𝑞𝑖𝑃 𝐴
(4)
The total utility achieved by the opponent’s proposal can be computed by the following equation: 𝑛 ( ) ∑ ( 𝑃𝐴 ( )) 𝑈 𝑃 𝐴 𝑃 𝑂𝑃 = 𝑊𝑖 × 𝑈 𝑃 𝐴 𝑃𝑖𝑂𝑃
(5)
𝑖=1
where 𝑊𝑖𝑃 𝐴 is weight of the issue i from the PA’s perspective which expresses measure of the importance of the issue and n denotes the number of issues. Definition 5 (Simple/composite task and simple/composite service). A consumer has a task that wants to fulfill by one or more appropriate providers. If the task can be fulfilled by a single provider, it is a simple task. Otherwise, it is a composite task. Simple service denotes a service exposed by a provider which can fulfill a simple task. Composite service is created by coordinating among multiple simple services to fulfill a composite task.
B. Shojaiemehr, A.M. Rahmani and N.N. Qader
Definition 6 (Execution path). An execution path specifies a sequence of executions of simple tasks [𝑡1 , 𝑡2 , … , 𝑡𝑛 ], such that t1 is the initial task, tn is the final task, and for every task ti , the task to be executed sequentially after executing 𝑡𝑖−1 . Each composite task has one or more execution paths that should be executed according to one of them. Definition 7 (Execution plan). A set of pairs {⟨𝑡1 , 𝑠1 ⟩, ⟨𝑡2 , 𝑠2 ⟩, … , ⟨𝑡𝑛 , 𝑠𝑛 ⟩} such that si is a simple service that fulfills task ti . Since a simple task could be fulfilled by multiple simple services, every execution path may has multiple execution plans. An optimal execution plan is one that provides more utility than the others for both trading parties. 3. Related works In this section, we study earlier CCSN works and discuss advantages and defects of them in order to understand CCSN challenges and problems. Our earlier work [16] reviewed and discussed the state of the art in terms of CCSN strategies and CCSN performance metrics. Some of the researches surveyed in [16] are studied in this section. This section also indicates how the works have enhanced the performance of CCSNs. As mentioned earlier, the contributions of this work are in two parts: CCSN strategy and composite service negotiation. Accordingly, we first discuss important researches on CCSN strategies. Reviewed researches can show the state of the art in term of CCSN strategy. Secondly, researches that focused on composite service negotiation will be reviewed. The reviews show the state of the art in term of composite service negotiation. Finally, the research novelties in terms of CCSN strategy and composite service negotiation are expressed. Before the advent of cloud computing, ANS researches had been applied to grid computing. Sim and Shi [17], and Adabi et al. [18] proposed frameworks for grid resource negotiation. The CCSNs can be divided into three categories based on type of services that those provide as follows: (1) infrastructure as a service (IaaS) provision in which computational resources are reserved, (2) platform as a service (PaaS) provision in which runtime environments and APIs are supplied to develop cloud applications, and (3) software as a service (SaaS) provision in which software services are delivered remotely to consumers. Multi-round CCSNs can be divided into three categories by considering negotiation strategy. A CCSN category indicates what approach negotiators use to generate a new proposal. The categories are concession, tradeoff, and mixed. Hence, we will describe each category and study valuable researches related to the categories in rest of this section. Research progress was made through the design of new strategies that could provide higher performance. First CCSNs were designed by concession strategies in which a negotiator concedes its utility to provide more utility for its opponent. Amount of concession for each negotiable issue played a key role in the performance of these works. Each concession strategy uses either single or multiple factors to determine the amount of concession. Song and Zhang [19] proposed a CCSN for cloud resource reservation. They considered three factors to make concession: (1) pressure of deadline: Negotiators made more concession when the deadline approaches. (2) Cost of resources: Price of service depends on cost per resource unit. (3) The demand/supply ratio of the resources. Their work supports many-to-many negotiation that allows decommitment process. When more than one agreement was reached, a negotiator is able to cancel the agreed proposals that have lower utility. The negotiation strategy tried to make two sets of agreements. If one of the agreements was decommited, another agreement can satisfy the participant. Their CCSN supports negotiation only on the price of service and QoS issues were ignored by the work. Also, their work allows negotiation only on resources that belong to a single market. An infrastructure service could be composed of multiple resources from different markets. Sim [20] proposed a CCSN to reserve resources over multiple markets. He designed a multilateral CCSN in which brokers were responsible for accepting requests from many consumers and negotiating in multiple markets with multiple groups of providers based on the consumers’ requirements. The negotiation strategy of the research
Journal of Systems Architecture 99 (2019) 101632
considered the deadline, market competition, and utility differences between two parties to determine the amount of concession. Two parties can negotiate only on price. In tradeoff approaches, negotiators concede undesired issues but propose more favorable values for important ones such that utility of new proposal to be equal to the previous proposal. The tradeoff algorithms firstly were introduced in QoS negotiation system for web services by Yan et al. [21]. Their algorithm is to seek a point which has a same utility with the previous proposal and also is most similar to the best proposal of the opponent. Zheng et al. [22] proposed a tradeoff algorithm for Cloud service negotiation strategy. They applied degree of tradeoff that indicates how much the utility must be increased/decreased for important/unimportant issues. The degree was randomly generated. Their proposed CCSN supports only negotiation on two issues. In other words, the work has a design limitation that does not allow the acceptance more than two issues to negotiate over them. They indicated when the importance of issues has a significant gap with that of its opponent, their tradeoff approach provides more utility for the parties than concessional ones. Mixed strategies apply concession and tradeoff approaches sequentially to generate a new proposal. Yan et al. [21] introduced two algorithms for the negotiation strategy. One for concession and another for tradeoff. New proposal was generated by using the concession and/or tradeoff. Mixed strategy was applied in a round when both the concession and tradeoff were used to generate proposal. Two major drawbacks of their work are outlined as follows: (1) concession approach uses pre-configured fixed deduction to concede the utility. In this paper, we will indicate that amount of concession depends on several factors that should be considered, (2) best-offer is one of the proposals offered by providers with highest total utility. The tradeoff algorithm is to seek a point which has shortest distance to the best-offer on utility space and has the same total utility with the proposal offered by the negotiator in previous round. The point shows the negotiator’s new proposal. The reason for choosing it, is that it is most similar proposal to the best-offer among the proposals with a same utility and has higher chance that to be accepted by the provider. This approach makes a tradeoff with a provider who offers the best-offer. Proposal generated by the approach may provide less utility than the previous proposal for other providers. In our work, an independent negotiation is established for each pair of consumer and provider. Each negotiator make decision based on results of negotiations. Son and Sim [3] proposed a mixed strategy on time-slots and price to reserve resources in the IaaS. Consumers could input multiple time-slots that they desire to reserve resources. Their CCSN defined time-slot utility function for both consumers and providers. Remaining time to the deadline is the only factor that was used to determine amount of concession. They introduced a tradeoff algorithm to generate multiple proposals which provide the same utility for the negotiator. The negotiator offered a burst mode proposal consisting of all of these proposals to its opponent. The burst mode proposal gives more options to the opponent to choose from. They considered QoS issues in their next work [23]. They also introduced another tradeoff algorithm to enhance performance of the negotiation. However, the concession-making was still based only on the remaining time to the deadline. Najjar et al. [24] proposed a mixed strategy for SaaS negotiation. They adopted the burst mode tradeoff algorithm developed by Son and Sim [3,23]. They proposed a more effective concession algorithm than these works that considered two factors for concession-making process. A price-based concession factor was used to determine the price of software based on the price of required remote resources for deploying the software. Opponent’s behavior was another factor used to generate more attractive proposal for the opponent. Zheng et al. [4] proposed a CCSN in which negotiators randomly select one of the concession and tradeoff algorithms to generate new proposal. Since negotiators are not able to determine which strategy is more effective by considering the conditions under which the negotiations are held, they cannot efficiently generate a new proposal. The effective
B. Shojaiemehr, A.M. Rahmani and N.N. Qader
factors to generate new proposal are the degree of tradeoff/concession statically specified before the beginning of the negotiation, and the number of rounds the negotiation is held. Other factors such as the opponent’s behavior and market conditions were ignored by the work. Najjar et al. [25] proposed an adaptive multi-issue negotiation and coordination mechanism allowing provider to achieve a targeted service acceptability rate while accommodating variable workload of cloud ecosystem and budget constraints. Their research novelty is important because of composite negotiation of a provider agent to achieve an acceptable outcome by reaching as much agreements as possible instead of trying to reach one atomic agreement with one of its opponents. Shojaiemehr and Rafsanjani [26] proposed a multilateral ANS for goods/service negotiation in the e-commerce. They used a mediator that recommended an optimal proposal to both the trading parties by considering requirements and preferences of them. They designed fuzzy inference systems (FISs) that made a tradeoff between two parties. There have been few researches on ANS that focused on composite service negotiation. A composite service can be defined in different ways. Some ANS researches paid attention to various composite service forms. In [27], a composite service can be considered as a set of multiple distinct objects. A buyer agent negotiates with multiple providers over some objects. Each object has several issues and single provider. Yan et al. [21] proposed a framework in which some agents are responsible for negotiating with simple web service providers to ensure end-to-end QoS of a composite service. Despite strong framework, they did not describe how the framework establishes negotiations and coordinates among them to ensure QoS required by consumers. Siebenhaar et al. [28] proposed a CCSN that supports each cloud service type. Furthermore, it could provide a composite service consisting of a higher layer service and required lower layer services. For example, a software service and required resources to deploy it can be negotiated with their providers. However, the framework is not able to concurrently negotiate with providers that expose services with the same type. Hence, it did not support composite SaaS/IaaS. Richter et al. [29] proposed an endto-end QoS negotiation for service level agreement (SLA) establishment for composite services. Since a composite service consumer provides the preferences for the composite service only, they proposed a decomposition algorithm to determine the preferences for each of the atomic services in the composition. They used random absolute tit-for-tat negotiation tactic introduced by Faratin et al. [30] for negotiating agents. The weaknesses of their work can be discussed from two aspects: (1) in their work, determining the preferences for each of the atomic services requires an initial weight distribution over the services. They used the first offer of each service provider to obtain the weights. They also explained that initial weights can be obtained by other sources such as domain knowledge or outcomes of past negotiations, but they did not mention how the atomic service preferences can be computed by these sources. Providers’ first offer cannot reflect the QoS of atomic services. Instead, the QoS boundaries for atomic services can be evaluated by prior executions of the services. We will describe how the preferences for simple tasks can be computed by using execution history in Section 4.2.2. (2) Random absolute tit-for-tat tactic applies time and opponent’s behavior factors to determine amount of concession. There are other factors such as negotiator-related factors and market competition that play role on the negotiation performance. We will show the effect of these factors in Sections 7.1 and 7.2. Rajavel and Thangarathinam [31] introduced an automated dynamic SLA negotiation framework, which used thirdparty broker agents for managing composite service negotiation among consumers and providers. They proposed a novel negotiation strategy to reduce the negotiation time and minimize the communication overhead. Our earlier work [32] proposed a CCSN which supported composite services. Composition could be done by sequential, parallel, and conditional executions of services. The work also developed a novel negotiation strategy for generating proposals. This work will address three issues that were not paid attention in the earlier work: (1) proposed negotiation strategy considers novel methods for preferences of negotia-
Journal of Systems Architecture 99 (2019) 101632
tors, obtained utility of negotiators from proposal of their opponents, market competition, and opponent’s behavior. Our simulation results show that proposed strategy enhances the performance of CCSN. It uses burst-mode proposal in order to increase the speed of reaching an agreement. (2) This work will describe pre-conditions that should be met to start a negotiation. Rejecting and accepting constraints of a proposal will be explained formally. Decision-making procedure of a negotiator will be described. (3) An aggregation process to ensure end-to-end consumer’s requirements for a composite service will be presented. All scenarios that may be occurred to aggregate the negotiation results will be discussed. We will propose a CCSN that efficiently uses proposal generation factors to fulfill composite services according to consumers’ end-to-end requirements. In this paper, we will consider four negotiable issues including price, task completion time, reliability, and availability to describe the details of the CCSN and analyze it. The CCSN has not any limitation in accepting more negotiable issues. If consumers and providers use a same method to measure and evaluate an issue, the issue can be negotiated among trading parties. 4. Proposed CCSN In this section, details of the proposed CCSN are described. CCSN components and their interactions are described in Section 4.1. Section 4.2 explains coordination functionalities to ensure requirements of composite services. Then, details of the negotiation process are given in Section 4.3. Each negotiator uses this process in order to negotiate with providers of a simple task in the composition. For the benefit of readers the authors summarize in Table 2 the key notations used to describe proposed CCSN and proposal generation process. 4.1. CCSN components In this section, we present a two-layer multi-agent system in which negotiating agents and other components interact with each other to do composite service negotiation tasks. Each task belongs to either negotiation layer or coordination layer. The tasks related to the negotiation process are carried out in the negotiation layer. The tasks related to make coordination among the negotiators or control the negotiator activities are carried out in the coordination layer. Fig. 2 shows the proposed CCSN architecture and interactions among its components. The coordination layer is responsible for preparing to start concurrent one-to-many negotiations. It also sends a response to the consumer agent (CA) after the negotiations. If an agreement is reachable, it sends a SLA otherwise, it generates a proposal based on the best proposal of the opponents for each simple task in the execution path of the composite task. In other words, the coordinator determines an execution plan that provides most utility for the CA with respect to other execution plans and generates a proposal based on the selected execution plan. The consumer can either accept or reject it. The tasks for each component are briefly described below. • CA: the CA receives consumer’s requirements and preferences by a user interface and after verifying these inputs, sends them to the SLA generator. • Directory Facilitator (DF): it is responsible for creating, searching, updating, and deleting services from the service repository. Agents that want to use a certain service, ask for the DF services that are functionally matched with a formal description of their functional requirements. The DF returns contact information of the provider agent (PA) and service address for each matched service. If the DF finds a composite task that is matched, it must return PAs and addresses of the matched services for each simple task in the execution path of the composite task. The service selection mechanism is out of the scope of this research. Several works such as those by Zheng et al. [33], Sundareswaran
B. Shojaiemehr, A.M. Rahmani and N.N. Qader
Journal of Systems Architecture 99 (2019) 101632
Table 2 Notations used to describe proposed CCSN and proposal generation. Notation
Definition
Notation
Definition
Σ 𝑞𝐶𝑆 Π 𝑞𝐶𝑆
Coni Pi, t 𝑁 𝑃𝑖,𝑡+1
Consequent of rule i of FIS Generated proposal for issue i at round t Generated normal proposal for issue i at round t + 1
𝐹 𝐼𝑆 _𝑜𝑢𝑡𝑝𝑢𝑡𝑖,𝑡+1
Output of FIS for issue i at round t + 1
𝑟𝑒𝑞𝑡𝑖
Quality of an issue that can be calculated by sum function Quality of an issue that can be calculated by product function Average of agreed qualities for recent executions of simple task ti in an execution path Average of agreed qualities for recent executions of composite task t Consumer’s requirement for task ti in an execution path
PS(Pt )
reqt
Consumer’s requirement for composite task t
simi (Pt )
A set of proposals in which each proposal is obtained by one or more substitutions of Pi,t+1 instead of Pi, t A proposal into the PS(Pt ) such that utility of negotiator from this proposal is ith closest to the utility of the negotiator from Pt with respect to other proposals of the PS(Pt ) Market position of consumer negotiating agent CNA for issue i Time degree of a negotiation that can be continued until nth round Level set of function UPA corresponding to the obtained utility by remaining time method (ut) A proposal which it’s utility is inside the utility space. It has the same utility with the obtained utility by remaining time method and shortest distance to the utility achieved from opponent’s proposal.
𝑥𝑡𝑖
𝑥̄ 𝑡
𝑀𝑃𝑖𝐶𝑁𝐴 UPA (PPA, i ) PA
op
U (P ) Fi
Utility obtained by negotiator PA from the ith proposal in the PA’s burst proposal Utility obtained by negotiator PA from opponent OP’s proposal Firing strength of rule i of FIS
𝜆n Lut (UPA ) Ṕ
Fig. 2. Our proposed CCSN architecture and interactions among its components.
et al. [34], Quinton et al. [35], Chang et al. [36], and Parhi et al. [37] focused on selecting services that fulfill consumer’s functional needs. • Aggregator: this agent prepares essential requirements to start concurrent one-to-many negotiations for a composite task. For this purpose, it must determine an initial proposal for each simple task in the execution path on basis of the consumer’s requirements and the history of the execution of services that fulfill the task. After the negotiations, the agent specifies whether an agreement is reachable or not based on the results of the negotiations and consumer’s requirements. It sends the result of the negotiations, which can be an agreement or disagreement, to the SLA generator. Additionally, it sends a proposal to the SLA generator. If an agreement is reached, the proposal is agreed proposal that satisfies the consumer’s requirements otherwise, it is the best proposal that provides highest utility for the consumer based on the results of the negotiations. • SLA generator: When the SLA generator receives a request for executing a task from a CA, it sends a message to the DF to search services that fulfill the task. If the task is simple, the repository returns addresses of the related PNAs otherwise, if the task is composite, it should return a list of addresses of the related PNAs for each simple task in the execution path. If an agreement is
reached after the negotiations, this component generates an SLA and sends it to the CA otherwise, it sends proposal received from the aggregator to the CA. • CNA/PNA: Aggregator creates a CNA for each simple task in the execution path. Each CNA gets contact information of the PNAs which perform its task from the aggregator and negotiates with them in a one-to-many negotiation process. 4.2. Coordination layer Distributed systems need technologies that can ensure that the related services remain coordinated [38]. This section describes functions of the coordination layer. Coordination processes can be divided into two phases: preparation phase and aggregation phase. The preparation phase includes of a group of functions that should be performed to start the concurrent one-to-many negotiations in which each CNA negotiates with single or multiple PNAs to choose the best service that fulfills a task in the execution path. The preparation functions are mentioned as follows: (1) extracting the execution path of the composite service, (2) identifying the service providers for each simple task in execution path, (3) determining initial proposal for each simple task on basis of the consumer’s requirements and execution history of the services that fulfill the task, (4) creating CNA for each task to negotiate with PNAs
B. Shojaiemehr, A.M. Rahmani and N.N. Qader
Journal of Systems Architecture 99 (2019) 101632
that perform the task. The main works in the aggregation phase include of a set of interactions between the aggregator and CNAs to coordinate among them in order to establish contracts with PNAs that reach an agreement or notification of the impossibility of reaching an agreement to the PNAs by considering all results of the concurrent negotiations. A three-phase process including of preparation, negotiation, and aggregation is visually represented in our earlier work [32]. The earlier work also shows how the system components interact each other in order to provide negotiation over a composite service. We will detail preparation and aggregation functions in the rest of this section. 4.2.1. Identifying simple tasks and their providers As mentioned earlier, service repository includes the required information about all of the registered services. Simple and composite services should be registered in the repository. If a service that wants to be registered is a composite service, the execution path of the service should be created and registered in the repository. The name of the service, a formal description of the task that the service fulfills it, and contact information of the PNAs are other information that should be registered for both simple and composite service types. As mentioned earlier, the SLA generator retrieves this information from the DF. 4.2.2. Determining initial proposal for a simple task in a composition Consumers express their requirements for the negotiable issues. When consumers want a composite task, these requirements are expressed for a composition of multiple simple tasks. Hence, it is essential that requirements for each simple task in execution path to be determined by a certain method to start the negotiations. In this section, we introduce simple methods to determine these requirements. The initial proposal for a CNA in the negotiation phase is generated based on determined requirements for a simple task that was assigned to the CNA. In this paper, we assume that a composite service execution is a sequence of executions of multiple simple services. The requirements for each simple task in an execution path can be calculated by some aggregation functions. Zeng et al. [39] used aggregation functions to calculate composite web service QoS measures. They explained different aggregation functions for computing of execution price, execution duration, reputation, successful execution rate, and availability of a composite service. Web services are a realization of service-oriented architecture (SOA). The SOA is a software architectural style that uses services as the main building component [40]. Before introducing the methods, we should express how quality for a composite service can be calculated based on the qualities of simple services in an execution plan. It is essential that an aggregation function to be explained for each negotiable issue. Aggregation functions for objectives of this study are sum and product functions. The sum function is sum of the qualities of simple services in the execution plan. Qualities Σ and can be of some issues for composite services are denoted by 𝑞𝐶𝑆 calculated by sum function as follows: Σ 𝑞𝐶𝑆 =
𝑛 ∑ 𝑖=1
𝑞𝑖
(6)
where qi is quality of the executing of ti by si and n is the number of simple services in the execution plan. Similarly, the product function is product of the qualities of simple services in the execution plan. QualiΠ and can ties of some issues for a composite service are denoted by 𝑞𝐶𝑆 be calculated by product function as follows: Π 𝑞𝐶𝑆 =
𝑛 ∏ 𝑖=1
𝑞𝑖
(7)
The negotiable issues considered by this study are price, response time, availability, and reliability. Price of a composite service is the sum of the prices paid for simple services in the execution plan and can be calculated by Eq. (6). The availability of a service is the probability that the service is accessible during a certain period of time. The availability of an execution plan is given by the product of availabilities of the
simple services in the execution plan. Therefore, the availability of a composite service can be calculated by Eq. (7). The response time is the delay between the moment when a request is sent and the moment when the results are received. In order to simplify, we ignore communication delays caused by sending a request and receiving a response. We assume that the response time is the interval between receiving the request to the completion of the process of the request. We consider the service reliability as the probability that there is no failure over the certain number of service executions. We can use the Eqs. (6) and (7) to calculate response time and reliability of a composite service, respectively. In the following, we will explain how the aggregator determines initial proposals of the CNAs. The aggregator retrieves an average of qualities that were agreed to fulfill each simple task from the service execution history. It determines the requirements for each simple task by considering the history of task executions and consumer’s requirements that are expressed for the required composite task. Let average of agreed qualities for recent executions of composite task t be 𝑥̄ 𝑡 and requirement of the task be reqt . If reqt is equal to sum of the requirements of simple tasks in the execution path, we can use the following equation to calculate the 𝑥̄ 𝑡 : 𝑥̄ 𝑡 =
𝑛 ∑ 𝑖=1
𝑥𝑡𝑖
(8)
where 𝑥𝑡𝑖 is average of agreed qualities for recent executions of simple task ti and n is the number of simple tasks in the execution path. The consumer’s requirement for ti is a fraction of the requirement of the task t, which is estimated as follows: 𝑟𝑒𝑞𝑡 𝑟𝑒𝑞𝑡𝑖 = ∗ 𝑥𝑡𝑖 (9) 𝑥̄ 𝑡 if reqt is equal to product of the requirements of simple tasks in the execution path, the average of agreed qualities for recent executions of task t can be calculated by the following equation: 𝑥̄ 𝑡 =
𝑛 ∏ 𝑖=1
𝑥𝑡𝑖
(10)
in this situation, the consumer’s requirement for ti can be estimated by the following equation: √ 𝑟𝑒𝑞𝑡 𝑟𝑒𝑞𝑡𝑖 = 𝑛 ∗ 𝑥𝑡𝑖 (11) 𝑥̄ 𝑡 Eqs. (9) and (11) calculate requirements that should be negotiated for each simple task in a composition. After calculating the requirements for a simple task, the aggregator generates a proposal based on these requirements and gives it to a CNA that is responsible for the task. Then, the CNA can start a concurrent one-to-many negotiation with the PNAs that fulfill the task to satisfy the requirements. For example, if composite task CT is composed of three simple tasks (t1 , t2 , t3 ) and average of agreed price of the tasks are 15$, 20$, and 25$, respectively and consumer’s requirement for the price is 40$, then requirement of the price for the tasks t1 , t2 , and t3 are calculated by the Eq. (9) as 10, 13.3333, and 16.6666, respectively. 4.2.3. Aggregation process In this section, we describe our proposed aggregation process between the aggregator and CNAs. After preparation and negotiation phases, the aggregation phase is followed by the aggregator to establish an SLA for the consumer. We show all scenarios that may be happened after the negotiation phase. There are four possible states that may be occurred in interactions between the aggregator and CNAs. These states are described below. 1) Successful negotiation and commit agreement: Fig. 3(a) shows this state. The PNA in this figure is the one that the CNA has agreed with. The CNA contacts with PNA and sends a call-forproposal (CFP) for it. CNA reaches an agreement with the PNA. It sends agreed qualities to the aggregator. It is possible that two
B. Shojaiemehr, A.M. Rahmani and N.N. Qader
Journal of Systems Architecture 99 (2019) 101632
Fig. 3. Interactions between the aggregator and a CNA.
different situations to occur: (1) all of the CNAs reach an agreement (2) there are one or more CNAs that do not reach an agreement. In Situation 1, aggregator commits the agreement (CA) without evaluating the negotiation results of other CNAs. In Situation 2, the decision depends on whether the obtained proposal from the negotiation results can satisfy the consumer’s requirements or not. Aggregator uses the Eqs. (6) and (7) to obtain this proposal. As shown in the figure, the aggregator after receiving qualities from all of the CNAs sends a CA message to all of them. Then, the CNA generates an SLA and sends it to the PNA. Aggregator also generates an SLA for consumer based on the agreed qualities. 2) Successful negotiation and cancel agreement: According to Fig. 3(b), the aggregator receives agreed qualities from the CNA but, it cannot generate a proposal to satisfy the consumer’s endto-end requirements by considering results of other negotiations. In this situation, the aggregator sends a message to the CNA to cancel the agreement. 3) Unsuccessful negotiation and establish an agreement: Fig. 3(c) shows this state, PNA in this figure is the one that provides the best proposal after the concurrent negotiations. The CNA does not reach an agreement in negotiations with PNAs. It sends the best proposal of the PNAs to the aggregator. Consumer’s requirements can be satisfied based on the negotiation results of the CNAs. Hence, the aggregator sends a message to the CNA to reach an agreement (RA) based on the best proposal of the PNAs. 4) Unsuccessful negotiation and commit disagreement: Similar to the previous state, CNA does not reach an agreement in negotiations with PNAs. The aggregator cannot satisfy the consumer’s requirements based on the results of the negotiations and it commits the disagreement (CD) of the CNA. This situation is shown in Fig. 3(d).
4.3. Negotiation layer This section describes functionalities of the negotiation layer. After the preparation phase described in the previous section, the negotiation phase begins, in which negotiations are conducted to meet consumer’s end-to-end requirements. Our negotiation process proposes an architecture with concurrent one-to-many negotiations. Each CNA negotiates with multiple PNAs in a one-to-many negotiation process to satisfy requirements calculated in the preparation phase for a simple task in the execution path. Each CNA begins bilateral and multi-round negotiation over multi-issue with one or more PNAs. If CNA and one of the PNAs reach an agreement, the negotiations have a successful result from CNA’s point of view.
4.3.1. Pre-negotiation process Before starting the negotiation phase, pre-negotiation phase should be performed to ensure the trading parties have the necessary preconditions for negotiation. The steps in this phase are explained in below. 1- The CNA asks the PNA to send its required proposal by sending a call-for-proposal (CFP) message to the PNA. 2- The PNA sends its acceptable values to the CNA. Requirements of the PNA can be extracted from the acceptable values. We defined the acceptable values and the requirements in Section 2.2. The extracted requirements are the same as initial proposal of the PNA. 3- The CNA can accept/reject the proposal as shown in Fig. 4(a) or continue the process by sending its requirements. 4- The PNA can decide to start the negotiation as shown in Fig. 4(b) or reject the proposal as shown in Fig. 4(c).
B. Shojaiemehr, A.M. Rahmani and N.N. Qader
Journal of Systems Architecture 99 (2019) 101632
Fig. 4. Various scenarios of pre-negotiation phase.
4.3.2. Accept and reject constraints in pre-negotiation phase Negotiators should check accept and reject constraints to make a decision on accepting the opponent’s proposal, rejecting it or beginning of the negotiation. The accept constraint of a CNA is shown in below. ∃𝑃 𝑁 𝐴𝑙 ∈ 𝑃 𝑁𝐴𝑠; { 𝑃 𝑁 𝐴𝑙 𝑟𝑒𝑞𝑖𝐶𝑁𝐴 ≥ 𝑟𝑒𝑞𝑖 , If issue i is cost type for CNA ∀𝑖 ∈ 𝑖𝑠𝑠𝑢𝑒𝑠 (12) 𝑃 𝑁 𝐴𝑙 𝐶𝑁𝐴 𝑟𝑒𝑞𝑖 ≤ 𝑟𝑒𝑞𝑖 , If issue i is benef it type for CNA where PNAs is a set of opponents of the CNA. When the CNA obtains 𝑃 𝑁 𝐴𝑙 equal or greater utility from 𝑟𝑒𝑞𝑖 than 𝑟𝑒𝑞𝑖𝐶𝑁𝐴 for each negotiable 𝑃 𝑁 𝐴 𝑙 issue i, it accepts the 𝑟𝑒𝑞 . For example, price is a cost type issue for 𝐶𝑁𝐴 , it CNAs. If proposed price by a PNA to be equal or less than 𝑟𝑒𝑞𝑝𝑟𝑖𝑐𝑒 𝐶𝑁𝐴 for the CNA. If there provides equal or greater utility than the 𝑟𝑒𝑞𝑝𝑟𝑖𝑐𝑒 are more than one PNA which satisfy the accept constraint, the CNA will accept the PNA with the highest utility. If accept constraint is not satisfied, the CNA checks reject constraint individually for each PNA l as follows: { 𝑃 𝑁 𝐴𝑙 𝑎𝑙𝑤𝐶𝑁𝐴 < 𝑟𝑒𝑞𝑖 , If issue i is cost type for CNA 𝑖 ∃𝑖 ∈ 𝑖𝑠𝑠𝑢𝑒𝑠 𝑃 𝑁 𝐴𝑙 𝐶𝑁𝐴 𝑎𝑙𝑤𝑖 > 𝑟𝑒𝑞𝑖 , If issue i is benef it type for CNA (13) A CNA decides to begin negotiation with PNAl when there is not any 𝑃 𝑁 𝐴𝑙 PNA that accept constraint to be satisfied for it and 𝑟𝑒𝑞𝑖 ∈ 𝐴𝑉𝑖𝐶𝑁𝐴 , for each issue i. If the CNA decides to continue, its opponent should agree to begin the negotiation. Hence, the PNA evaluates reqCNA . It has two options to choose from: (1) reject the negotiation, (2) begin the negotiation. The reject constraint for the PNA is similar to the CNA. 4.3.3. Negotiation process Fig. 5 describes decision-making procedure of a negotiator PA by pseudocode for each round. Two constraints are reasons for rejecting a proposal: (1) negotiation timeout, (2) if there be at least one proposal that visits accept constraint, other proposals should be rejected. The negotiator checks timeout in line 3. If the timeout does not occur, the negotiator generates a burst proposal (BP) before checking the accept constraint. A BP consists of multiple proposals which a negotiator generates and sends it to an opponent in a round of the negotiation. The BP was firstly proposed by Son and Sim [3] to enhance the negotiation speed and utility. They adopted a tradeoff algorithm to generate a BP. A negotiator generated different proposals with a same utility and put them to a BP. Our BP generation process is different from their process. We will describe how the BP is generated in Section 5.2. A negotiator chooses a proposal among the proposals in the opponent’s BP that provides most utility in line 11. This proposal is opponent’s proposal from negotiator’s point of view. The accept constraint is checked for each opponent in line 12. It is given by: ( ( )) 𝑈 𝑃 𝐴 (𝑃 𝑜𝑝 ) ≥ min 𝑈 𝑃 𝐴 𝑃 𝑃 𝐴,𝑖 (14) 1≤𝑖≤𝑘
where UPA (Pop ) denotes utility obtained by negotiator PA from proposal of the opponent, UPA (PPA, i ) denotes utility obtained by negotiator PA from the ith proposal in the BP, and k denotes size of the BP. If there are several opponents that their proposals visit accept constraint, the negotiator chooses one that provides highest utility. The opponent with the
best utility is specified in line 16 and the negotiator sends an ACCEPT message for it. Proposals of the other opponents are rejected according to lines 18–20. If the accept and reject constraints are not met, the negotiator continues their negotiations by sending BPi for each opponent i. 5. Proposal generation In this section, we mention the proposal generation factors. We also express how does effect each factor on proposal generation process. Factors which affect the proposal generation are extracted by studying earlier works. We systematically reviewed these works in [16]. As shown in Fig. 6, we divide these factors into two categories: (1) negotiator-related factors, (2) environment-related factors. The negotiator-related factors include preferences and utilities. The preferences are the importance of the issues that specifies how much the issues are important from negotiator’s perspective. The utilities include the obtained utility of the negotiator from the proposal of the opponent for each negotiable issue. We will describe the impact of these factors in Section 5.1. We will express how a BP is generated based on the negotiator-related factors in Section 5.2. The environment-related factors include remaining time, market competition, and opponent’s behavior. We will describe the impact of these factors in Section 5.3. Opponent’s behavior causes tradeoff in our proposed CCSN while other factors cause concession. Therefore, we can divide the factors into two categories by considering how a factor affects the proposal generation: (1) concession factors, (2) tradeoff factors. 5.1. Impact of negotiator-related factors on proposal generation We use issue tradeoffs concept defined by Faratin et al. [41] to investigate the impact of negotiator-related factors. In a multi-issue ANS, multiple issues can traded-off against one another. For example, accepting a longer response time in order to pay a lower price. The tradeoff should be performed according to the participants’ preferences. Cheng et al. [42] presented an ANS in the e-commerce which applied fuzzy inference systems (FISs) to make a tradeoff between buyer and supplier preferences. In our proposed CCSN, A negotiator needs two data items for each issue to apply the negotiator-related factors on proposal generation: the participant’s preference and utility obtained from opponent’s proposal. We design a simple FIS to determine how much concession is suitable by considering the preference and utility. The FIS makes a tradeoff between preferences and obtained utilities of negotiating parties to determine the amount of concession. On the other hand, our method considers preferences of the party such that new proposal provides more concession on less important issues while it significantly does not loss the utility of more important issues. The linguistic variables used by the rules are weight (W) and utility (U). Each of them has three linguistic values: low, medium, and high. The membership functions of the linguistic values for the weight and utility are illustrated in Fig. 7(a) and (b), respectively. In Fig. 7(a), n denotes the number of issues. The type of the FIS is first-order Sugeno [43]. The consequents of the fuzzy rules in the FIS are a first-order polynomial crisp function of inputs. Therefore, each rule has a crisp output. A Sugeno FIS avoids the time-consuming process of defuzzification in FISs which have fuzzy consequents in their rules. Fuzzy rules are shown in Table 3 for both the cost and benefit
B. Shojaiemehr, A.M. Rahmani and N.N. Qader
Journal of Systems Architecture 99 (2019) 101632
Fig. 5. Decision-making procedure for each round.
Fig. 6. Proposal generation factors in proposed system. Fig. 7. Membership functions for antecedents of the FIS.
B. Shojaiemehr, A.M. Rahmani and N.N. Qader
Journal of Systems Architecture 99 (2019) 101632
Fig. 8. An example of a benefit type issue in which a negotiator has two opponents.
Table 3 Rules of the FIS.
equation:
Rule no
W
U
Consequent (cost type)
Consequent (benefit type)
1 2 3 4 5 6 7 8 9
WL WL WL WM WM WM WH WH WH
UL UM UH UL UM UH UL UM UH
𝐶1 𝑀(𝑊 ) + 𝐶́ 1 𝑈 𝐶1 𝑀(𝑊 ) + 𝐶́ 2 𝑈 𝐶1 𝑀(𝑊 ) + 𝐶́ 3 𝑈 𝐶2 𝑀(𝑊 ) + 𝐶́ 1 𝑈 𝐶2 𝑀(𝑊 ) + 𝐶́ 2 𝑈 𝐶2 𝑀(𝑊 ) + 𝐶́ 3 𝑈 𝐶3 𝑀(𝑊 ) + 𝐶́ 1 𝑈 𝐶3 𝑀(𝑊 ) + 𝐶́ 2 𝑈 𝐶3 𝑀(𝑊 ) + 𝐶́ 3 𝑈
𝐶3 𝑀(𝑊 ) + 𝐶́ 3 𝑈 𝐶3 𝑀(𝑊 ) + 𝐶́ 2 𝑈 𝐶3 𝑀(𝑊 ) + 𝐶́ 1 𝑈 𝐶2 𝑀(𝑊 ) + 𝐶́ 3 𝑈 𝐶2 𝑀(𝑊 ) + 𝐶́ 2 𝑈 𝐶2 𝑀(𝑊 ) + 𝐶́ 1 𝑈 𝐶1 𝑀(𝑊 ) + 𝐶́ 3 𝑈 𝐶1 𝑀(𝑊 ) + 𝐶́ 2 𝑈 𝐶1 𝑀(𝑊 ) + 𝐶́ 1 𝑈
Table 4 Constants that should be used to concede more and concede less.
Less concession More concession
Benefit-type
Cost-type
Smallest constant Largest constant
Largest constant Smallest constant
types. We use discrete function M(w) shown in Eq. (15) to modify the weight. This function calculates importance of an issue by considering a number of issues. For example, if the number of issues is 4 and the weight of an issue is 0.25, then M (0.25) = 0.5. In this case, the weight of the issue is normal with respect to the number of issues. { 𝑛∗𝑤 , w < 2∕n 2 M (w ) = (15) 1 , w ≥ 2∕n The strategy for impacting the preference factor on proposal generation can be summarized as: if the issue is important from negotiator’s perspective, amount of concession should be less and concession for issues which are unimportant can be more. The strategy for impacting the utility factor is that if obtained utility from opponent’s proposal is high, this proposal comes close to the latest proposal of the negotiator. Hence, it is possible that a proposal with lower concession can be agreed by the opponent. We present an example to better understand this argument. The requirement of a negotiator for a benefit type issue, current proposal of the negotiator (cp), and proposals of its two opponents (op1, op2) are shown over the real numbers axis in Fig. 8. Obtained utility from op1 is high and obtained utility from op2 is low. A proposal with lower concession may be agreed by opponent 1 while, the negotiator needs a more concession for opponent 2 because there is a considerable gap between their proposals. We use constant coefficients in order to apply less concession, moderate concession, and more concession in the rules. The constants C1 < C2 < C3 and 𝐶́ 1 < 𝐶́ 2 < 𝐶́ 3 are considered for the preference factor and utility factor, respectively. Table 4 shows that what constant should be used to concede more and concede less for both types of benefit and cost. For example, this table shows that if the type of issue is benefit and there is a need to concede less, we should use smaller constant. If the concession is normal, we use the constants C2 and 𝐶́ 2 , respectively. The consequent of each fuzzy rule can be determined by Table 4. For example, if the weight of the issue is high, we should concede less. If the issue is benefit type, we should use smallest constant (using C1 ). The T-norm of the firing strength of each rule is an algebraic product. For example, the firing strength of rule 1 is computed as 𝜇𝑊𝐿 (𝑤) × 𝜇𝑈𝐿 (𝑢) where, 𝜇𝑊𝐿 and 𝜇𝑈𝐿 are membership functions for WL and UL , respectively. The FIS output is obtained according to [44] by following
𝐹 𝐼𝑆 _𝑜𝑢𝑡𝑝𝑢𝑡 =
∑𝑛
𝑖=1 𝐹𝑖 𝐶𝑜𝑛𝑖 ∑𝑛 𝑖=1 𝐹𝑖
(16)
where Fi denotes firing strength of rule i, Coni denotes consequent of the rule, and n denotes the number of rules. In addition to FIS_output, two other parameters are used to determine proposal in next round: 1- Normal proposal (NP): NP is obtained by normal concession. The normal concession is the amount that negotiator should concede for each round equally to other rounds such that the generated proposal in last round reaches to the alw. The NP in round t + 1 is computed by the following equation for either the cost type or benefit type issue i: 𝑁 𝑃𝑖,𝑡+1 = 𝑃𝑖,𝑡 +
𝑎𝑙𝑤𝑖 − 𝑃𝑖,𝑡 𝑛−𝑡
=
(𝑛 − 𝑡 − 1)𝑃𝑖,𝑡 + 𝑎𝑙𝑤𝑖 𝑛−𝑡
(17)
where n denotes the negotiation deadline. 2- Concession rate (CR): CR is initialized before the negotiation to adjust concession rate for each round. If CR = 1, the concession is normal. The negotiator can increase or decrease the concession k times of normal concession by initializing CR = k. The proposal of a negotiator in round t + 1 is computed based on the above descriptions by the following equation for a cost type issue i: ( ) 𝑃𝑖,𝑡+1 = 𝑃𝑖,𝑡 + 𝐶𝑅 × 𝑁 𝑃𝑖,𝑡+1 − 𝑃𝑖,𝑡 × 𝐹 𝐼𝑆 _𝑜𝑢𝑡𝑝𝑢𝑡𝑖,𝑡+1 . (18) If the type of issue i is benefit, we use the following equation to compute the new proposal: ( ) 𝑃𝑖,𝑡+1 = 𝑃𝑖,𝑡 − 𝐶𝑅 × 𝑃𝑖,𝑡 − 𝑁 𝑃𝑖,𝑡+1 × 𝐹 𝐼𝑆 _𝑜𝑢𝑡𝑝𝑢𝑡𝑖,𝑡+1 . (19) The negotiator should use the Eqs. (18) and (19) to compute a new proposal for each negotiable issue. 5.2. BP generation After computing new proposals for each issue, the negotiator is able to obtain proposals that should be sent as the burst to its opponent. Before describing how a negotiator generates a BP, we should define two notions: PS(Pt ): the PS(Pt ) is a set of proposals in which each proposal is obtained by one or more substitutions of 𝑃𝑖,𝑡+1 instead of Pi, t . Therefore, 𝑛 𝑛 𝑛 number of proposals in the PS(Pt ) is equal to ( ) + ( ) + … + ( ) = 2𝑛 − 1 2 𝑛 1. The PS(Pt ) consists of proposals that the negotiator choose from to proposal generation. ith most similar proposal to Pt (simi (Pt )): The simi (Pt ) is a proposal into the PS(Pt ) such that utility of the negotiator from this proposal is ith closest to the utility of the negotiator from Pt with respect to other proposals of the PS(Pt ). If there are multiple proposals which have a same utility, these proposals are randomly selected to be placed in a sequence of most similar proposals to the Pt . Let 𝐵 𝑃𝑡+1 be burst proposal of the negotiator in t + 1th round that consists of m proposals. Before applying the environment-related factors, the 𝐵 𝑃𝑡+1 can be denoted as < sim1 (Pt ), sim2 (Pt ),…, simm (Pt ) > . Some proposals in the 𝐵 𝑃𝑡+1 can be removed from the sent proposals due to existence of other proposals which provide more satisfaction for the opponent. For example, assume that there are 4 negotiable issues and number of proposals which the negotiator decides to send to its opponent is 10. In this case, the negotiator should send sim1 (Pt ),
B. Shojaiemehr, A.M. Rahmani and N.N. Qader
Journal of Systems Architecture 99 (2019) 101632
sim2 (Pt ),…, sim10 (Pt ) to the opponent. Assume that sim1 (Pt ) is obtained by substituting 𝑃1,𝑡+1 instead of P1, t into the Pt and sim2 (Pt ) is obtained by substituting 𝑃2,𝑡+1 instead of P2, t into the Pt and sim7 (Pt ) is obtained by substituting sim1 (Pt ) and sim2 (Pt ) instead of P1, t and P2, t , respectively. So, sim7 (Pt ) provides more satisfaction than both the sim1 (Pt ) and sim2 (Pt ) for the opponent. Therefore, the negotiator does not need to send sim1 (Pt ) and sim2 (Pt ) to the opponent, because these proposals are not definitely selected by the opponent. 5.3. Impact of environment-related factors on proposal generation In this section, we study the impact of market competition, remaining time, and opponent’s behavior on proposal generation. The contribution of this section is to introduce novel methods to apply these factors to proposal generation. We described how a BP is generated by using negotiator-related factors in the previous section. After generating a BP by these factors, the market competition, remaining time, and opponent’s behavior factors respectively impact on the BP. Firstly, we describe our market competition method in Section 5.3.1. Then, we describe our remaining time method in Section 5.3.2. Finally, we describe our opponent’s behavior method in Section 5.3.3. 5.3.1. Market competition In this section, we present a new market competition method from CNA’s view. The market competition from a PNA’s view has the same procedure. Market competition is expressed by service demand/supply ratio in earlier works [2,20,45–47]. The demand/supply ratio only shows a number of options that a negotiator can choose from. It does not say how much the options are attractive for the negotiator. Hence, it is not suitable to determine whether the market is attractive or not. Our market competition method specifies a maximum concession for all concurrent negotiations of the CNA with its opponents by determining how much the market is attractive or unattractive. When the negotiator has not any information from its competitors and their proposals, it can only determine its market position through opponents’ proposals. The market position (MP) of a CNA can be measured by the average of PNAs’ proposals for each issue i: 𝑀𝑃𝑖𝐶𝑁𝐴 = avg 𝑃𝑖𝑘 𝑘
(20)
Where k denotes opponents of the CNA. If the market position is close to 𝑟𝑒𝑞𝑖𝐶𝑁𝐴 for each issue i, the market is attractive for the CNA. In this situation, the CNA can concede less. When the requirements and preferences of the CNA and one of the opponents are close to each other, the CNA achieves somewhat its expected utility and the generated proposal for this opponent has a little concession. Our method is based on idea that less concessions for opponents with attractive proposals prevent more concessions for other opponents. We investigate two market competition policies in rest of this section: conservative policy and moderate policy. Assume that a CNA can send at most m proposals in a BP. The CNA with conservative policy chooses one of the negotiations in which simm (Pt ) has least concession than other negotiations. This negotiation is most favorable from the CNA’s point of view with respect to others. The maximum concession provided by the CNA in all of the negotiations should be equal to amount of concession of the CNA in most favorable negotiation that can be calculated by 𝑈 𝐶𝑁𝐴 (𝑃𝑡 ) − 𝑈 𝐶𝑁𝐴 (𝑠𝑖𝑚𝑚 (𝑃𝑡 )). The maximum concession for a CNA with moderate policy is equal to average of concessions of m-th most similar proposals for all of the negotiations. It can be calculated by 𝑈 𝐶𝑁𝐴 (𝑃𝑡 ) − 𝑈 𝐶𝑁𝐴 (avg𝑘 𝑠𝑖𝑚𝑘𝑚 (𝑃𝑡 )). We will compare the conservative policy and moderate policy and discuss which one can provide more performance in Section 7.2. We will also perform a simulation to verify the accuracy of our statements and explain the simulation results in that section. 5.3.2. Remaining time In this section, the impact of remaining time on proposal generation is investigated. Our remaining time method makes similar effect with
Table 5 An example for calculating amount of concession by remaining time method. t+1
𝜆𝑡+1
𝑐 𝑜𝑛𝑐 𝑒𝑠𝑠𝑖𝑜𝑛𝑡+1
1 2 3 4 5 6 7 8
1/6 1/2 1 5/3 5/2 7/2 14/3 6
20 × 1/6 = 10/3 20 × 1/2 = 10 20 × 1 = 20 20 × 5/3 = 100/3 20 × 5/2 = 50 20 × 7/2 = 70 20 × 14/3 = 280/3 20 × 6 = 120
time factor introduced by Son and Sim [3]. After applying the market competition strategy on the BP generation, our CCSN applies remaining time strategy on the BP. The remaining time method has a conservative policy. A negotiator, which applies the method, concedes little in initial rounds. When time of the negotiation to be closer to the negotiation timeout, the negotiator provides more concession to increase the chance of reaching an agreement. The negotiator can apply the remaining time by setting a parameter called time degree before starting the process. The time degree specifies how much concession is determined by the negotiator in last round. It also specifies how much the negotiator is conservative for conceding its utility. The time degree should be set greater than 1. Let 𝜆n be the time degree where, n is number of rounds that the negotiation can be continued. The negotiator concedes 𝜆𝑡+1 times of obtained concession before the impact of remaining time in round t + 1. The amount of concession for each siml (Pt ) in this round is calculated by 𝜆𝑡+1 × (𝑈 𝐶𝑁𝐴 (𝑃𝑡 ) − 𝑈 𝐶𝑁𝐴 (𝑠𝑖𝑚𝑙 (𝑃𝑡 ))). We set 𝜆1 = 𝜆1 for 𝑛
the first round. We can use the following equation to obtain the 𝜆𝑡+1 : 𝜆𝑡+1 = 𝜆𝑡 + (𝑡 + 1) × Δ𝜆
(21)
We set n = t + 1 and give an equation by considering (21) as follows: ( 𝜆𝑛 = 𝜆1 +
) 𝑛 × (𝑛 + 1) − 1 × Δ𝜆 2
Based on (22), Δ𝜆 can be computed by following equation: ) ( 2 × 𝜆𝑛 − 𝜆1 𝑛 Δ𝜆 = 𝑛2 + 𝑛 − 2
(22)
(23)
For example, assume that a negotiation is followed by using parameters: n = 8, 𝜆𝑛 = 6, and (𝑈 𝐶𝑁𝐴 (𝑃𝑡 ) − 𝑈 𝐶𝑁𝐴 (𝑠𝑖𝑚𝑙 (𝑃𝑡 ))) = 20. Table 5 shows how much the negotiator should concede if the next round is each of 1,2,…,8. As shown in the table, if current round to be closer to the timeout, the negotiator will provide more concession. If 𝜆n is equal to 1, the remaining time factor is ignored because for each round t, 𝜆t is equal to 1. 5.3.3. Opponent’s behavior Our proposed CCSN applies a tradeoff algorithm to consider opponent’s behavior factor. Our method is based on the concept of fuzzy similarity [30]. Based on the fuzzy similarity, a proposal that has more similarity with the opponent’s proposal can provide higher chance that to be accepted by the opponent. The tradeoff algorithm is executed for each obtained utility in the previous step. As mentioned earlier, total utility for a proposal is computed by weighted average of the partial utilities obtained for the issues. A cube in k dimension space can display total utility space for a negotiation over k issues. Fig. 9 shows the total utility space of a negotiator for a negotiation over 3 issues. Negotiator’s utility for each proposal can be displayed by a point inside or outside of the utility space. Opponent’s behavior method finds a point 𝑃́ which has the same utility with the obtained utility by remaining time method and it has shortest distance to the utility achieved from opponent’s proposal. In order to solve problem of finding such a proposal for participant PA
B. Shojaiemehr, A.M. Rahmani and N.N. Qader
Journal of Systems Architecture 99 (2019) 101632
negotiator achieves by generated proposal for each issue. We compute a proposal based on these utilities that satisfies (24) and (25). For this purpose, our method maps the utility into the acceptable values of the PA for each issue i by following equation: ( ) 𝑃𝑖 = 𝑢𝑖 × 𝑟𝑒𝑞𝑖 − 𝑎𝑙𝑤𝑖 + 𝑎𝑙𝑤𝑖 (26) For example, if acceptable values for the price be [20$, 30$], then 𝑃𝑝𝑟𝑖𝑐𝑒 = 0.42 × (30 − 20) + 20 = 24.2. 6. Discussion
Fig. 9. Total utility space for a negotiator.
and its opponent OP, we should take into account constraints (24) and (25): ∀ 𝑖𝑠𝑠𝑢𝑒 𝑖, 0 ≤ 𝑃́𝑖 ≤ 1 𝑃́ =
( 𝑃𝐴 argmin 𝑈 (𝑥 ) − 𝑥∈𝐿𝑢𝑡 (𝑈 𝑃 𝐴 )
(24) ( )) 𝑈 𝑃 𝐴 𝑃 𝑂𝑃
(25)
Constraint (24) guarantees that 𝑃́𝑖 lies inside the utility space. In Constraint (25), Lut (UPA ) is level set of the UPA corresponding to the obtained utility by remaining time method (ut). The level set is a set of the form 𝐿𝑢𝑡 (𝑈 𝑃 𝐴 ) = {(𝑥1 , 𝑥2 , … , 𝑥𝑛 )|𝑈 𝑃 𝐴 (𝑥1 , 𝑥2 , … , 𝑥𝑛 ) = 𝑢𝑡}. Constraint (25) specifies a point which its total utility is equal to ut such that the point has shortest distance to UPA (POP ). In order to describe the opponent’s behavior method to solve the problem, we consider a negotiation scenario with three negotiable issues as shown in Fig. 9. We want to obtain a proposal which solves the problem. To describe how a negotiator obtains a proposal by considering opponent’s behavior, assume that point P shown in the figure denotes utility of the opponent’s proposal. Plane 𝐴́ in the figure denotes level set of 𝑈 𝑃 𝐴 = 𝑢𝑃1 𝐴 × 𝑤𝑃1 𝐴 + 𝑢𝑃2 𝐴 × 𝑤𝑃2 𝐴 + 𝑢𝑃3 𝐴 × 𝑤𝑃3 𝐴 corresponding to the ut. We should find point 𝑃́ such that this point satisfies (24) and (25). We map the P on the plane 𝐴́ . Two states may be occurred: (1) the mapped point lies inside the utility space, (2) the mapped point lies outside the utility space. We describe each state by an example in below: In state (1), the mapped point is 𝑃́ and our problem is solved. Assume that 𝑤𝑃1 𝐴 = 0.2, 𝑤𝑃2 𝐴 = 0.4, 𝑤𝑃3 𝐴 = 0.4, P = (0.2, 0.2, 0.2), and ut = 0.7. Equation 𝑢𝑃1 𝐴 × 0.2 + 𝑢𝑃2 𝐴 × 0.4 + 𝑢𝑃3 𝐴 × 0.4 = 0.7 denotes level set for the PA’s utility function corresponding to 0.7. We map the point P on the level set. The mapped point can be specified by (0.2 + 0.2 × 𝑥, 0.2 + 0.4 × 𝑥, 0.2 + 0.4 × 𝑥) such that x is computed by substituting this point into the level set equation. The coordinate of the point is ( 43 , 34 , 34 ). Since the point lies inside the utility space, our 90 45 45 problem is solved. In state (2), the mapped point should be mapped on closest intersection of the level set and the utility space to it. Obtained point solves the problem because it is closest point on the level set to the opponent’s proposal P that lies inside of the utility space. Assume that 𝑤𝑃1 𝐴 = 0.1, 𝑤𝑃2 𝐴 = 0.3, 𝑤𝑃3 𝐴 = 0.6, P = (0.2, 0.2, 0.2), and ut = 0.9. The 81 151 128 coordinate of the mapped point is ( 230 , 230 , 115 ). This point lies outside the utility space. The closest intersection of the level set and the utility space to the point can be specified by substituting 𝑢𝑃3 𝐴 = 1 in the level set equation as 𝑢𝑃1 𝐴 × 0.1 + 𝑢𝑃2 𝐴 × 0.3 = 0.3. Our method maps the point on this line. The coordinate of the mapped point is (0.42, 0.8599, 1) and our problem is solved. The obtained point specifies how much utility the
In this section, we discuss the effect of each proposal generation factor on performance measures of the proposed CCSN. We express our expectations about how each factor can improve the performance measures. We check whether our expectations can be fulfilled or not in Section 7. The name of strategies studied in the rest of paper specifies what proposal generation factors are applied in the strategy. Our Proposed strategy is called BNMTO which uses burst-mode (B) and considers negotiator-related factors (N), market competition (M), remaining time (T), and opponent’s behavior (O). The performance measures which are considered by this paper includes of average joint utility and negotiation speed. The average joint utility is utility from the view of both the consumer and the provider. The Negotiation speed specifies how many rounds are needed by the negotiation process to reach an agreement. Impact of each factor is discussed by removing the factor from the BNMTO strategy and comparing expected performance of new strategy with the BNMTO. 6.1. Impact of negotiator-related factors Assume that negotiators are designed with a strategy which does not consider preferences and utilities. In this situation, a negotiator cannot able to evaluate opponent’s behavior because opponents are not able to generate proposal based on their preferences. Hence, if negotiators are aware that their opponents do not apply their preferences to generate proposals, they should not consider opponent’s behavior. The negotiator strategy applies only market competition and remaining time methods mentioned in Sections 5.3.1 and 5.3.2, respectively. This strategy is called BMT. It makes a BP in which each proposal is generated based on NPi described in Section 5.1 instead of Pi . Then, market competition and remaining time are applied to the BP according to Sections 5.3.1 and 5.3.2, respectively. The remaining time method obtains a utility (UTP ) for each proposal P in the BP. Then, a utility is computed for each issue i on the basis that 𝑈 𝑇𝑃𝑖 =
( ) 𝑈 𝑃𝑖 𝑈 (𝑃 )
× 𝑈 𝑇𝑃
𝑤𝑖 ×𝑈 (𝑃𝑖 ) 𝑈 (𝑃 )
be equal to
𝑤𝑖 ×𝑈 𝑇𝑃𝑖 𝑈 𝑇𝑃
:
(27)
The BMT strategy generates a proposal for each issue i by mapping 𝑈 𝑇𝑃𝑖 into AVi according to (26). Negotiators with BMT strategy cannot determine concession based on their preferences. Hence, we expect that the BMT provides less utility than the BNMTO for the negotiator at the same time. On the other hand, negotiators cannot provide attractive proposals for their opponents because they are not able to consider opponent’s behavior. The BMT provides lower utility than the BNMTO for opponents at the same time. Therefore, we expect that the BNMTO provides higher joint utility than the BMT at the same time. We also expect that the negotiation speed in the BNMTO to be higher than the BMT because the BNMTO generates more attractive proposals for opponents that have more chance for acceptance. 6.2. Impact of market competition Negotiators with BNMTO strategy have not any knowledge about their competitors. They sense the market only through evaluating received BPs from their opponents. The BNMTO applies either conservative or moderate policy to determine the maximum amount of
B. Shojaiemehr, A.M. Rahmani and N.N. Qader
concession for all of the concurrent negotiations. As mentioned in Section 5.3.1, market competition method impacts on the proposal generation by considering how much opponents’ proposals are attractive from negotiator’s point of view. The conservative and moderate policies in our CCSN prevent further concession for unattractive proposals. Whatever the market is more favorable, the prevention will become more visible. We compare these policies by simulation results in Section 7.2. BNTO is a strategy that does not consider the market competition. If negotiators use the BNTO, they may provide more concession for multiple opponents while they provide less concession for other opponents. Negotiators with BNMTO consider all of the opponents’ proposals to concede to an opponent. They are more cautious in conceding. Therefore, the BNMTO may provide more utility than the BNTO at the same time. When a negotiator receives attractive proposals from one or more opponents, the BNMTO tries to preserve the utility in negotiating with opponents that sent less attractive proposals. Since the BNTO makes more concession for these opponents, a negotiator that uses the BNTO may reach an agreement with one of them. Hence, we expect that BNMTO makes agreements with higher joint utility than the BNTO in a favorable market. On the other hand, the BNMTO decreases the speed due to the lower concession. If the market is favorable and reaching an agreement with higher utility has higher priority than the negotiation speed, the negotiators should consider the market competition. 6.3. Impact of remaining time We compare the BNMTO with a strategy that does not consider the time. This strategy is called BNMO. It uses the utility of proposals obtained after applying negotiator and market factors instead of utility obtained by time. The amount of concession depends on how many rounds have been spent. The BNMTO provides less concession than the BNMO in initial rounds while it provides more concession in next rounds. Therefore, if the market is favorable, we expect that the agreements are reached before the middle round. In the BNMTO, we expect higher utility for proposer that gives agreed proposal because it attempts to preserve its utility during the first and mediation rounds but, the time degree reduces opponent’s utility. If the market is unfavorable, since the negotiations are continued until after middle round, the BNMTO with suitable time degree can enhance opponents’ utilities with respect to BNMO. The time degree should not be chosen in such a way as to reduce significantly the proposer’s utility. We design and perform a simulation to compare joint utility achieved by the BNMTO and BNMO in favorable and unfavorable markets. We will describe this simulation in Section 7.3. 6.4. Impact of opponent’s behavior As mentioned earlier, we use a tradeoff algorithm to consider opponent’s behavior. The algorithm enhances opponent’s utility without reducing the proposer’s utility. Hence, we expect the BNMTO enhances joint utility and speed with respect to BNMT, which does not consider opponent’s behavior. The BNMT applies negotiator, market competition, and remaining time factors. Then, it generates a proposal for each utility obtained by remaining time factor similar to that used by BMT. We will describe simulations to investigate the impact of opponent’s behavior in Section 7.4. 7. Simulation results In the previous section, we explained how each of the proposal generation factors can play a role in enhancing the performance of a CCSN. In this section, we examine the performance of our CCSN to investigate whether our expectations mentioned in the previous section are met or not. There are four issues which the simulated negotiations are
Journal of Systems Architecture 99 (2019) 101632
established over them: price, response time, reliability, and availability. We use the Matlab version 9.3.0 (R2017b) to simulate BNMTO that is our recommended strategy. We also simulated BMT, BNTO, BNMO, and BNMT strategies in order to examine our CCSN. In addition to time, preferences, and opponent’s behavior that were considered in our earlier work [32], proposed strategy considers market competition and utility to generate new proposal. Our simulation results show that each proposal generation factor is effective in enhancing the performance, so BNMTO provides higher performance than TPO that was introduced in [32]. Requirements and preferences of negotiators are required dataset. We implement a module to generate the dataset and use the module once to generate it. In order to consider the similarity of real consumers’ and providers’ preferences with generated preferences, this module uses two rules to generate preferences. The first rule expresses that the price is a more important issue than the others from point of view of 70% of consumers and providers. The second rule expresses that the response time is a more important issue than the availability and the reliability from point of view of 70% of consumers and providers. The generated dataset are common among all of the simulations. In the rest of this section, we describe simulations and simulation results to evaluate the impact of each proposal generation factor on the performance metrics. 7.1. Evaluation of negotiator-related method In this section, we want to examine whether our negotiator-related method can improve the performance of the CCSN or not. To do this, it is essential that we design and perform some simulations to evaluate the impact of the negotiator-related method on the performance of the BNMTO strategy. As mentioned in Section 6.1, we need to compare the performance of the BMT and the BNMTO. A simulation was implemented to evaluate the performance of the BMT in different market competitions. Other simulations evaluate the performance of the BNMTO with different CRs in different market competitions. The CR and other settings are given in Table 6. PNAs per CNA in the table indicates how many PNAs a CNA concurrently negotiates with. Each simulation performs 3000 one-to-many negotiations so that a CNA concurrently negotiates with multiple PNAs in each of them. We establish 500 negotiations for each PNAs per CNA mentioned in Table 6 in order to evaluate the strategies in both the favorable and unfavorable markets. The joint utility of agreement and speed are recorded for each negotiation. The results of the simulations are shown in Table 7. According to these results, average joint utility and average speed for each simulation are shown in Figs. 10 and 11, respectively. If negotiators use the BMT, the average joint utility of agreements is 0.7969. The highest average joint utility among the BNMTOs is 0.8028 that belongs to BNMTO (CR = 2). Therefore, the BNMTO (CR = 2) provides 0.74% higher joint utility than the BMT. On the other hand, the BMT needs an average of 6.6804 rounds to reach an agreement while the BNMTO (CR = 2) needs an average of 3.4632 rounds. The BNMTO (CR = 2) provides 92.9% higher speed than the BMT. Fig. 11 shows average speed by the difference between the deadline and the average of rounds to reach an agreement. Let Xi → j be agreed proposal that negotiator i proposes to its opponent j when the negotiators use the BNMTO (CR = 2) and Yi → j be proposal in the same round when the negotiators use the BMT. Fig. 12 compares two
Table 6 Initial parameters for simulations. parameter
Settings
Number of CNAs PNAs per CNA Number of issues Deadline CR (concession rate) Market policy TD (time degree)
3000 2,4,6,8,10 4 10 2 Moderate 5
B. Shojaiemehr, A.M. Rahmani and N.N. Qader
Journal of Systems Architecture 99 (2019) 101632
Table 7 Simulation results to evaluate the negotiation-related method. Negotiation strategy BMT BNMTO(CR = 2) BNMTO(CR = 2.5) BNMTO(CR = 3)
Average joint utility 2 PNAs
4 PNAs
6 PNAs
8 PNAs
10 PNAs
0.7614 0.7714 0.7707 0.7705
0.7870 0.7985 0.7941 0.7916
0.7991 0.8080 0.8038 0.8021
0.8149 0.8141 0.8107 0.8097
0.8223 0.8218 0.8177 0.8130
Average speed 3.3400 6.5760 6.9117 7.1627
Fig. 13. Average joint utility in different market competitions. Fig. 10. Average joint utility in different market competitions.
average joint utilities that Xs and Ys provide in different market competitions. As shown in the figure, the BNMTO can generate proposals that provide higher average joint utility than the BMT at the same time. The figure also shows that the difference of the joint utilities provided by BNMTO and BMT at the same time to be more when the market to be more unfavorable. Therefore, when the negotiators have fewer options to choose from, the performance of the BNMTO in providing joint the utility with respect to the BMT is higher than when they have more options. 7.2. Evaluation of market competition method
Fig. 11. Average speed achieved by different strategies.
In this section, we analyze the market impact on a proposed strategy based on the results of three simulations. Each simulation is responsible for establishing 3000 concurrent one-to-many negotiations in which negotiators use the same strategy. The initial parameters are similar to those given in Table 6 for each simulation. Similar to simulations carried out in the previous section, 500 negotiations are considered for each market competitions shown in Table 6 in each simulation. We assume that the negotiators ignore market factor in the first simulation. They use the BNTO strategy. In second and third simulations, the negotiators use the BNMTO with conservative market policy (BNMTO-CMP) and the BNMTO with moderate market policy (BNMTO-MMP), respectively. The results of the simulations are shown in Table 8. Figs. 13 and 14 are obtained from the table. Fig. 13 shows average joint utility achieved
Table 8 Simulation results to evaluate the market competition method. Negotiation strategy
Fig. 12. Average joint utility achieved by BMT and BNMTO at the same time.
BNTO BNMTO-CMP BNMTO-MMP
Average joint utility 2 PNAs
4 PNAs
6 PNAs
8 PNAs
10 PNAs
0.7676 0.7699 0.7703
0.7908 0.7935 0.7963
0.8035 0.8063 0.8085
0.8096 0.8141 0.8165
0.8145 0.8197 0.82220
Average speed 6.5493 5.9587 6.2313
B. Shojaiemehr, A.M. Rahmani and N.N. Qader
Journal of Systems Architecture 99 (2019) 101632
Table 9 Simulation results to evaluate the remaining time method in favorable and a bit unfavorable markets. Negotiation strategy BNMO BNMTO(TD = 4) BNMTO(TD = 5) BNMTO(TD = 6)
Average joint utility
Average speed
Favorable market
A bit unfavorable market
Favorable market
A bit unfavorable market
0.8102 0.8055 0.8023 0.7990
0.4887 0.4757 0.4887 0.4867
5.5040 5.0520 5.2220 5.3840
4.0000 4.0000 4.4368 4.7630
Fig. 15. Average joint utility in a favorable market. Fig. 14. Average speed achieved by different strategies.
from the negotiations for each simulation in different market competitions. From these results, two observations are drawn: (1) BNMTOMMP achieves 0.35% higher average joint utility than BNTO and 0.05% higher average joint utility than BNMTO-CMP. Therefore, simulation results meet our expectation about higher utility provision of the BNMTO with respect to the BNTO. (2) The more favorable the market, the BNMTO-MMP achieves higher joint utility than the BNTO. The reason for achieving higher utility is that there are attractive proposals in a favorable market that cause reach an agreement in the beginning of the negotiation. In this situation, proposals with lower concessions prevent unnecessary loss of the utilities. Fig. 14 shows average speed for each simulation. The BNTO achieved 5.1% higher speed than BNMTO-MMP and 9.91% higher speed than BNMTO-CMP. 70.27% of negotiations in BNMTO-MMP were agreed at the same time with BNTO. Other negotiations need one more round to reach an agreement. We conclude that the BNMTO-MMP provides the higher joint utility with a bit lower speed than the BNTO. When the market is more favorable, the higher joint utility of the BNMTO-MMP is more visible.
7.3. Evaluation of remaining time method In this section, we evaluate the impact of remaining time factor on the performance of the BNMTO. For this purpose, we design and perform nine simulations. The simulations are described and simulation results are shown and then evaluated. Each simulation considers 500 CNAs. Each CNA has 10 PNAs. The rest of the parameters are similar to the Table 6. The first group of simulations investigates the performance of the BNMO and BNMTO in a favorable market. When the negotiators use the BNMO, 80% of the negotiations reach an agreement before the middle round. We record the results of this simulation. So, we carry out other simulations by applying BNMTO (TD = 4), BNMTO (TD = 5), and BNMTO (TD = 6) and record the simulation results. These results are shown in Table 9. Fig. 15 shows average joint utility for each strategy. The BNMO provides higher joint utility than the BNMTO in a favorable market. Fig. 16 shows average speed for each strategy. The BNMO achieves a higher speed than the BNMTO.
Fig. 16. Average speed in a favorable market.
Therefore, when the market is favorable and negotiators have attractive options to choose from, they should use the BNMO strategy. In the second group of simulations, we make an unfavorable market by using proposal generator module. To make it, we use the BNMO for many negotiations. After negotiations, we choose 500 negotiations among them in which negotiators reach an agreement in the sixth round. They compose a group of negotiators in a market that is a bit unfavorable. We carry out other simulations by using BNMTO (TD = 4), BNMTO (TD = 5), and BNMTO (TD = 6) on these negotiators. The simulation results are shown in Table 9, Figs. 17, and 18. Fig. 17 shows average joint utility for each strategy. The BNMTO (TD = 5) achieves the same average joint utility with the BNMO. Table 9 shows that the average speed in the BNMTO (TD = 5) is 10.92% higher than the BNMO. Hence, the BNMTO (TD = 5) provides higher performance than the BNMO. The third group of simulations investigates the performance of the BNMTO in a more unfavorable market. We set deadline equal to 12 for these simulations. We consider two sets of negotiators. Each set includes of 100 CNAs which use the BNMO. The negotiations in the first set reach an agreement in seventh round while the negotiators in the second set reach an agreement in the eighth round. The second set refers to a market that is more unfavorable than the first set. We carry out other simulations by using BNMTO (TD = 4), BNMTO (TD = 5), and BNMTO
B. Shojaiemehr, A.M. Rahmani and N.N. Qader
Journal of Systems Architecture 99 (2019) 101632
Fig. 17. Average joint utility in a market that is a bit unfavorable.
Fig. 20. Average joint utility in a market that is more unfavorable.
the BNMTO (TD = 4) achieves 1.32% higher joint utility than the BNMO with a higher speed. In this situation, the negotiators should use the BNMTO (TD = 4). We note the following points based on the simulation results:
Fig. 18. Average speed in a market that is a bit unfavorable.
• The BNMTO with a suitable TD can provide more performance than the BNMO in an unfavorable market. Before starting negotiations, CCSN could use sample negotiations to determine suitable TDs in different market competitions. For example, if the deadline is equal to 10 and the market is a bit unfavorable, the negotiator should use TD = 5 based on results shown in Fig. 17. Negotiators need a mapping table to map the market competition to a suitable TD. The table can be created by using the results of the sample negotiations. In the simplest way, negotiators can use their utilities achieved from initial opponents’ proposals to estimate the market competition. The full study of this topic is beyond the scope of this research. • When the market is a bit unfavorable, the BNMTO achieves the same joint utility with the BNMO with a higher speed. When the market is more unfavorable, the BNMTO achieves higher joint utility than the BNMO with a higher speed. Therefore, the BNMTO obtains more performance in more unfavorable markets with respect to the BNMO. 7.4. Evaluation of opponent’s behavior method
Fig. 19. Average joint utility in a market that is less unfavorable.
(TD = 6) on two negotiator sets. The average joint utility achieved for the first and second sets are shown in Table 10. When the market is less unfavorable as shown in Fig. 19, the BNMTO (TD = 6) achieves average joint utility approximately equal to the BNMO with a higher speed. Hence, negotiators need to use the BNMTO (TD = 6) to obtain higher performance. When the market is more unfavorable as shown in Fig. 20,
Table 10 Average joint utility to evaluate the remaining time method in less unfavorable and more unfavorable markets. Negotiation strategy BNMO BNMTO(TD = 4) BNMTO(TD = 5) BNMTO(TD = 6)
Average joint utility Less unfavorable market
More unfavorable market
0.4864 0.4767 0.4827 0.4854
0.4927 0.4992 0.4906 0.4729
This section evaluates the impact of our opponent’s behavior method on the performance of proposed CCSN. For this purpose, we compare the performance of the BNMTO with BNMT. A simulation is performed in which 3000 CNA-to-PNAs negotiations are provided in different market competitions. The initial parameters are set in accordance with Table 6. 500 negotiations are conducted under each market competition mentioned in the table. Negotiators use the BNMT in the first simulation. After terminating the negotiations, we compute average joint utility and average speed equal to 0.7766 and 5.6613, respectively. We repeat the simulation with the same parameters for the BNMTO. The average joint utility and average speed are computed to be 0.8071 and 6.7473, respectively. Therefore, the BNMTO provides 19.28% higher speed and 3.93% higher joint utility with respect to BNMT. 8. Conclusion and future works In this paper, we propose a mixed strategy ANS for trading services in cloud computing. Mixed approaches can provide higher performance than concession and tradeoff approaches. The main contribution of this paper is to propose a negotiation framework for ensuring end-to-end composite service requirements which use novel methods for negotiatorrelated factors, market competition, and opponent’s behavior to maximize utilities of negotiating parties in possible shortest time. Our simulation results show that each of these factors is effective in enhanc-
B. Shojaiemehr, A.M. Rahmani and N.N. Qader
ing the performance. To the best of our knowledge, earlier strategies worked only based on one or two of the factors. Our recommended strategy is called BNMTO. There are some parameters that should be initialized properly before starting the negotiation to maximize the performance. The results show that when the market is unfavorable, negotiators should use the BNMTO strategy otherwise, the remaining time should be ignored and they should use the BNMO. We assume that a composite service execution is a sequence of executions of multiple simple services but, there may be structures except the sequential in executing a composite service. For example, it is possible that the next service for execution is selected based on results obtained by executing current service. In future work, we will aim to propose a CCSN that supports all of these execution structures. Declaration of Competing Interest None. Supplementary material Supplementary material associated with this article can be found, in the online version, at doi:10.1016/j.sysarc.2019.08.005. References [1] K. Joshi, T. Finin, Y. Yesha, Integrated lifecycle of IT services in a cloud environment, in: Proceedings of The Third International Conference on the Virtual Computing Initiative (ICVCI 2009), Research Triangle Park, NC, 2009. [2] K.M. Sim, Agent-based cloud computing, IEEE Trans. Serv. Comput. 5 (2012) 564–577. [3] S. Son, K.M. Sim, A price-and-time-slot-negotiation mechanism for cloud service reservations, IEEE Trans. Syst. Man Cybern. Part B 42 (2012) 713–728. [4] X. Zheng, P. Martin, K. Brohman, L. Da Xu, Cloud service negotiation in internet of things environment: a mixed approach, IEEE Trans. Ind. Inform. 10 (2014) 1506–1515. [5] J.-H. Chen, F. Abedin, K.-M. Chao, N. Godwin, Y. Li, C.-F. Tsai, A hybrid model for cloud providers and consumers to agree on QoS of cloud services, Future Gener. Comput. Syst. 50 (2015) 38–48. [6] N. Ranaldo, E. Zimeo, Capacity-driven utility model for service level agreement negotiation of cloud services, Future Gener. Comput. Syst. 55 (2016) 186–199. [7] R. Rajavel, M. Thangarathanam, Adaptive probabilistic behavioural learning system for the effective behavioural decision in cloud trading negotiation market, Future Gener. Comput. Syst. 58 (2016) 29–41. [8] S. Liu, G. Xiong, H. Zhao, X. Dong, J. Yao, Service composition execution optimization based on state transition matrix for cloud computing, in: 10th IEEE World Congress on Intelligent Control and Automation (WCICA), 2012, pp. 4126–4131. [9] X. Zhou, F. Mao, A semantics web service composition approach based on cloud computing, in: Fourth IEEE International Conference on Computational and Information Sciences (ICCIS), 2012, pp. 807–810. [10] K. Kofler, I. ul Haq, E. Schikuta, User-centric, heuristic optimization of service composition in clouds, in: Springer European Conference on Parallel Processing, 2010, pp. 405–417. [11] J.O. Gutierrez-Garcia, K.M. Sim, Agent-based cloud service composition, Appl. Intell. 38 (2013) 436–464. [12] A. Jula, E. Sundararajan, Z. Othman, Cloud computing service composition: a systematic literature review, Expert Syst. Appl. 41 (2014) 3809–3824. [13] A. Vakili, N.J. Navimipour, Comprehensive and systematic review of the service composition mechanisms in the cloud environments, J. Netw. Comput. Appl. 81 (2017) 24–36. [14] A. Souri, A.M. Rahmani, N. Jafari Navimipour, Formal verification approaches in the web service composition: a comprehensive analysis of the current challenges for future research, Int. J. Commun. Syst. 31 (2018) 1–27. [15] P. Asghari, A.M. Rahmani, H.H.S. Javadi, Service composition approaches in IoT: a systematic review, J. Netw. Comput. Appl. 120 (2018) 61–77. [16] B. Shojaiemehr, A.M. Rahmani, N.N. Qader, Cloud computing service negotiation: a systematic review, Comput. Stand. Interfaces 55 (2018) 196–206. [17] K.M. Sim, B. Shi, Concurrent negotiation and coordination for grid resource coallocation, IEEE Trans. Syst. Man Cybern. Part B 40 (2010) 753–766. [18] S. Adabi, A. Movaghar, A.M. Rahmani, H. Beigy, H. Dastmalchy-Tabrizi, A new fuzzy negotiation protocol for grid resource allocation, J. Netw. Comput. Appl. 37 (2014) 89–126. [19] Q. Song, H. Zhang, Research on multi-lateral multi-issue negotiation based on hybrid genetic algorithm in e-commerce, in: 2nd IEEE International Conference on Information and Financial Engineering (ICIFE), 2010, pp. 706–709. [20] K.M. Sim, Towards complex negotiation for cloud economy, in: Springer International Conference on Grid and Pervasive Computing, 2010, pp. 395–406. [21] J. Yan, R. Kowalczyk, J. Lin, M.B. Chhetri, S.K. Goh, J. Zhang, Autonomous service level agreement negotiation for service composition provision, Future Gener. Comput. Syst. 23 (2007) 748–759.
Journal of Systems Architecture 99 (2019) 101632 [22] X. Zheng, P. Martin, K. Brohman, Cloud service negotiation: concession vs. tradeoff approaches, in: 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), 2012, pp. 515–522. [23] S. Son, K.M. Sim, Adaptive and similarity-based tradeoff algorithms in a price– timeslot-QoS negotiation system to establish cloud SLAs, Inf. Syst. Front. 17 (2015) 565–589. [24] A. Najjar, X. Serpaggi, C. Gravier, O. Boissier, Multi-agent negotiation for user-centric elasticity management in the cloud, in: 6th IEEE/ACM International Conference on Utility and Cloud Computing, 2013, pp. 357–362. [25] A. Najjar, O. Boissier, G. Picard, Elastic & load-spike proof one-to-many negotiation to improve the service acceptability of an open SAAS provider, in: Springer International Conference on Autonomous Agents and Multiagent Systems, 2017, pp. 1–20. [26] B. Shojaiemehr, M.K. Rafsanjani, A supplier offer modification approach based on fuzzy systems for automated negotiation in e-commerce, Inf. Syst. Front. 20 (2018) 143–160. [27] K. Mansour, R. Kowalczyk, in: On Dynamic Negotiation Strategy for Concurrent Negotiation Over Distinct Objects, Novel Insights in Agent-Based Complex Automated Negotiation, Springer, 2014, pp. 109–124. [28] M. Siebenhaar, U. Lampe, D. Schuller, R. Steinmetz, Concurrent negotiations in cloud-based systems, in: Springer International Workshop on Grid Economics and Business Models, 2011, pp. 17–31. [29] J. Richter, M. Baruwal Chhetri, R. Kowalczyk, Q. Bao Vo, Establishing composite SLAs through concurrent QoS negotiation with surplus redistribution, Concurr. Comput.: Pract. Exp. 24 (2012) 938–955. [30] P. Faratin, C. Sierra, N.R. Jennings, Negotiation decision functions for autonomous agents, Rob. Auton. Syst. 24 (1998) 159–182. [31] R. Rajavel, M. Thangarathinam, A negotiation framework for the cloud management system using similarity and gale shapely stable matching approach, KSII Trans. Internet Inf. Syst. 9 (2015) 2050–2077. [32] B. Shojaiemehr, A.M. Rahmani, N.N. Qader, A three-phase process for SLA negotiation of composite cloud services, Comput. Standards Interfaces 64 (2019) 85–95. [33] Z. Zheng, X. Wu, Y. Zhang, M.R. Lyu, J. Wang, QoS ranking prediction for cloud services, IEEE Trans. Parallel Distrib. Syst. 24 (2013) 1213–1222. [34] S. Sundareswaran, A. Squicciarini, D. Lin, A brokerage-based approach for cloud service selection, cloud computing (cloud), in: 5th IEEE International Conference on Cloud Computing (cloud), 2012, pp. 558–565. [35] C. Quinton, D. Romero, L. Duchien, Automated selection and configuration of cloud environments using software product lines principles, in: 7th IEEE International Conference on Cloud Computing, 2014, pp. 144–151. [36] C.-W. Chang, P. Liu, J.-J. Wu, Probability-based cloud storage providers selection algorithms with maximum availability, in: 41st IEEE International Conference on Parallel Processing, 2012, pp. 199–208. [37] M. Parhi, B.K. Pattanayak, M.R. Patra, An automated semantically enabled fuzzy based SLA in cloud computing environment using multi-agent system, in: Springer International Conference on Swarm, Evolutionary, and Memetic Computing, 2014, pp. 432–444. [38] M. Garcia-Valls, A. Dubey, V. Botti, Introducing the new paradigm of social dispersed computing: applications, technologies and challenges, J. Syst. Architect. 91 (2018) 83–102. [39] L. Zeng, B. Benatallah, A.H. Ngu, M. Dumas, J. Kalagnanam, H. Chang, QoS-aware middleware for web services composition, IEEE Trans. Softw. Eng. 30 (2004) 311–327. [40] C.M. Sosa-Reyna, E. Tello-Leal, D. Lara-Alabazares, Methodology for the model– driven development of service oriented IoT applications, J. Syst. Architect. 90 (2018) 15–22. [41] P. Faratin, C. Sierra, N.R. Jennings, Using similarity criteria to make issue trade-offs in automated negotiations, Artif. Intell. 142 (2002) 205–237. [42] C.-B. Cheng, C.-C.H. Chan, K.-C. Lin, Intelligent agents for e-marketplace: negotiation with issue trade-offs by fuzzy inference systems, Decis Support Syst 42 (2006) 626–638. [43] M. Sugeno, Industrial Applications of Fuzzy Control, Elsevier Science Inc, 1985. [44] T. Takagi, M. Sugeno, Fuzzy identification of systems and its applications to modeling and control, IEEE Trans. Syst. Man Cybern. (1985) 116–132. [45] K.M. Sim, Equilibria, prudent compromises, and the" waiting" game, IEEE Trans. Syst. Man Cybern. Part B 35 (2005) 712–724. [46] K.M. Sim, C.Y. Choi, Agents that react to changing market situations, IEEE Trans. Syst. Man Cybern. Part B 33 (2003) 188–201. [47] L. Wu, S.K. Garg, R. Buyya, C. Chen, S. Versteeg, Automated SLA negotiation framework for cloud computing, in: 13th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), 2013, pp. 235–244. Bahador Shojaiemehr received the B.Sc. and the M.Sc. in software engineering from the Islamic Azad University, Iran, His primary research interests include agent based software architectures for distributed systems, Grid and Cloud computing. He is a leading expert in e-commerce and e-banking and he has contributed in many projects of these areas in Iran. He is currently working toward the Ph.D. degree in computer engineering- software systems specializing in multi-issue negotiation from the Islamic Azad University, Science and Research Branch, Tehran, Iran.
B. Shojaiemehr, A.M. Rahmani and N.N. Qader Amir Masoud Rahmani received his B.S. in computer engineering from Amir Kabir University, Tehran, in 1996, the M.S. in computer engineering from Sharif University of technology, Tehran, in 1998 and the Ph.D. degree in computer engineering from IAU University, Tehran, in 2005. He is professor in the Department of Computer Engineering at the IAU University. He is the author/co-author of more than 200 publications in technical journals and conferences. He served on the program committees of several national and international conferences. His research interests are in the areas of distributed systems, ad hoc and sensor wireless networks, scheduling algorithms and evolutionary computing.
Journal of Systems Architecture 99 (2019) 101632 Nooruldeen Nasih Qader received Computer Science Ph.D. from University of Sulaimani, Iraq. He is currently working as Dean of College of Science and Technology in University of Human Development, Sulaymaniyah, Kurdistan Region of Iraq. He is senior member of IEEE. He has got international grants of MARHABA Erasmus Mundus lot 3 project 20140653 and MENA Scholarship Program. MENA was set up by the Netherlands Ministry of Development Cooperation for EGovernment at Maastricht School of Management. He has 22 years of teaching and 12 years of research experience. His research areas are Information Security, Database, Cloud computing, Big data, and Data Mining.