As mentioned in the previous chapter, for the internal context, the negoBusiness can use the business provider’s goals and the output of the negotiation with the IaaS provider’s agent (negoIaaS). In our scenario, we assume that a business provider may have one of the following goals: (i) maximize the number of users accepted, with minimum profit (goal1); or (ii) maxi- mize the number of users accepted, and maximize the profit (goal2). Since we assume that the
Algorithm 1 Pseudo-code to calculate best-to-propose offer(s)
Require: The generated sub-list(s), the user request (D
r, B
r, RS
r)
Ensure: The best-to-propose offer in each sub-list stored in the list bestT oP ropose
1:
if subList
1is not empty then
2:
select of f er
jfrom subList
1with min f Budget
3:bestT oP ropose
1= of f er
j4:
if subList
2is not empty then
5:
select of f er
jfrom subList
2with min f T ime
6:bestT oP ropose
2= of f er
j7:
if subList
3is not empty then
8:
bestT oP ropose
3= closestToRequest(subList
3, (D
r, B
r, RS
r))
9:return bestT oP ropose
10:
11:
Function closestToRequest(subList
i, (D
r, B
r, RS
r))
12:EstW
D= getEstimatedW eightDealine(D
r, B
r, RS
r)
13:EstW
B= 1− EstW
D14:
for each of f er
p∈ subList
ido
15:
DistanceT oRequest
p= EstW
D(D
r− D
op/D
r) + EstW
B∗ (B
r− B
op/B
r)
16:choose of f er
phaving minimum DistanceT oRequest
p17:
bestT oP ropose
i=of f er
p 18:return bestT oP ropose
iresource provisioning is on-demand (i.e no negotiation), so the negoBusiness gets information about the price of the VMs and their characteristics from the VM provisioner (and not from the negoBusiness consumer role as mentioned in the previous chapter).
4.1.1
The negoBusiness’s offer evaluation strategy
The request evaluation is different from the evaluation done by the admission control manager. It is based on the ”best-to-propose” offers calculated before starting negotiation. In fact, to check if a received request can be scheduled, the negotiation manager compares the request to each of the bestT oP roposei offer where 1≤ i ≤ 3.
If there is at least one offer bestT oP roposeithat satisfies the condition Dop≤ Drand Bop≤ Br, then the negotiation manager accepts the negoU ser request else the negotiation continues by generating counter-offers.
4.1.2
The negoBusiness’s offer generation strategy
The offer generation strategy will depend on the the evaluation of the user’s preferences. The negoBusiness can guess if the user prefers to emphasize deadline over budget or budget over deadline. Indeed, it is intuitive that a request of high urgency occurs for a high budget with a
Chapter 4. Bilateral negotiation
75
very tight deadline i.e wdeadline> wbudget. In contrast, a request of low urgency occurs for a low budget with a very relaxed deadline i.e wbudget > wdeadline [89]. In most cases, the user does not disclose the weights and keeps secret his or her preferences [22], hence the provider cannot know the exact values.
By evaluating the user’s preference, the negoBusiness comes closer to meeting the negoU ser’s initial offer, and so the negoBusiness increases the chance of the negoU ser accepting the pro- posal. If the request is urgent, the consumer preferences on deadline will be greater than the budget, and the consumer may concede on the budget in order to obtain an earlier deadline. However if the request is not urgent, the consumer will want to have a minimum cost, and so the consumer may concede on the deadline in order to obtain a lower budget. The agent N egoBusiness can use one of the following strategies for counter-offer generation depending on the business provider’s goal:
1. pure scheduling-based strategy:
In order to maximize the number of accepted requests and to increase the chance of a request being accepted, the provider begins by sending the best-to-propose offer from the sub-list corresponding to the assumed preference of the user. The generation of a counter-offer then comes from one of the other sub-lists. For example, if the request is urgent and the three sub-lists are not empty, the provider proposes bestT oP ropose1 at the first round, the bestT opropose2 at the second round and the bestT oP ropose3 at the third round. Otherwise, if the request is not urgent, the provider starts by sending the bestT oP ropose2, then the bestT oP rpose1 and finally the bestT oP rpose3. Using this strategy, the negotiation rounds are maximum equal to three (the number of sub-lists). 2. time-dependent and scheduling-based strategy:
While keeping one of the best-to-propose offer as reserved offer, the provider can choose an appropriate negotiation tactic from tactic database to generate the values of the negotiable issues. Given the importance of time factor, The negoBusiness can use a time-dependent concession tactic with scheduling-based strategy to generate counter-offers. In our case, That strategy is used when there is a bestT oP ropose offer with extra budget (the subList2 is not empty). The negotiation manager keeps the bestT oP ropose2 as reserved offer and uses the following time-dependent concession function [18] to generate the budget values denoted by budgetV al:
budgetV al = min + (1− α(t)) ∗ (max − min); (IV.7)
where min and max denote respectively the reserved budget value (Bopfrom bestT oP ropose2) and the maximum budget value (equal to the initial requested budget). Different functions had been proposed for the calculation of α(t) such as polynomial and exponential [18]. We
had chosen the polynomial function for its simplicity:
α(t) = k + (1− k) ∗ (min(t, tmax)/t)1/β (IV.8)
where k denotes the initial concession, t and tmaxdenote the current number of rounds and the maximum number of rounds respectively. The β value denotes the convexity degree (i.e concession behavior).
The negoBusiness concedes on the issue of budget until reaching the reserved budget (i.e budget leading to the minimum expected profit). By doing so, the provider can avoid disclosing in the first round the budget leading to its minimum expected profit. For the deadline value, the negotiation manager sends at each round Dopfrom the bestT oP ropose2.
The first strategy is used when the business provider wants to obtain the maximum number of clients with the minimum profit (goal1), whereas the second strategy is used when the business provider’s primary objective is to maximize profit (goal2).