detecting service provider alliances on the choreography enactment - - PowerPoint PPT Presentation

detecting service provider alliances on the choreography
SMART_READER_LITE
LIVE PREVIEW

detecting service provider alliances on the choreography enactment - - PowerPoint PPT Presentation

detecting service provider alliances on the choreography enactment pricing game Johanne Cohen Daniel Cordeiro Loubna Echabbi March 30, 2016 CNRS Universit Paris Sud, France Universidade de So Paulo, Brazil STRS Lab., INPT, Morocco


slide-1
SLIDE 1

detecting service provider alliances on the choreography enactment pricing game

Johanne Cohen Daniel Cordeiro Loubna Echabbi March 30, 2016

CNRS – Université Paris Sud, France Universidade de São Paulo, Brazil STRS Lab., INPT, Morocco

slide-2
SLIDE 2

service compositions

Orchestration Choreography

Daniel.Cordeiro@usp.br 1/16

slide-3
SLIDE 3

choreographies

Different services may need different providers to be executed

O

(1)

O

(2)

O

(3)

O

(4)

O

(5)

Daniel.Cordeiro@usp.br 2/16

slide-4
SLIDE 4

characteristics

  • An application is composed of several services
  • The enactment of a service composition is the assignment of

services to providers according to a given criteria (e.g., price)

  • It is easy for an organization to delegate the execution to any

provider:

  • no reason for a vendor not to subcontract resources from other

vendors

  • the choreography model enforces interoperability and loose

coupling

  • Collaborative platform composed of resources from different
  • rganizations

Daniel.Cordeiro@usp.br 3/16

slide-5
SLIDE 5

cost of collaboration

  • Suppose users pay a price proportional to the energy spent to

execute its jobs

  • Dynamic voltage and frequency scaling (DVFS)
  • Energy =

tP(s(t)) dt, with P(s(t)) = s(t)α, α > 1

O(1) O(2) 7 O(3) O(4) 6 6

1 1

7

p({1}) = 19α; p({2}) = 7α; p({3}) = p({4}) = 1α cost without cooperation = 19α + 7α + 1α + 1α

Daniel.Cordeiro@usp.br 4/16

slide-6
SLIDE 6

cost of collaboration

  • Suppose users pay a price proportional to the energy spent to

execute its jobs

  • Dynamic voltage and frequency scaling (DVFS)
  • Energy =

tP(s(t)) dt, with P(s(t)) = s(t)α, α > 1

O(1) O(2) 7 O(3) O(4) 6 6

1 1

7

cost(1) = 7α; cost(2) = 7α; cost(3) = cost(4) = 7α cost with cooperation = 4(7α) Profit of coalition: (19α + 7α + 2) − 4(7α) > 0

Daniel.Cordeiro@usp.br 4/16

slide-7
SLIDE 7

cost of collaboration

O(1) O(2) 7 O(3) O(4) 6 6

1 1

7

Costs for O(3) and O(4) increased from 1α to 7α Members should distribute the profit and offer some compensation for them to participate. v = cost without cooperation - cost with cooperation v({1, 2, 3, 4}) = (19α + 7α + 2) − 4 · 7α

Daniel.Cordeiro@usp.br 5/16

slide-8
SLIDE 8

cost of collaboration

O(1) O(2) 7 O(3) O(4) 6 6

1 1

7

Costs for O(3) and O(4) increased from 1α to 7α Members should distribute the profit and offer some compensation for them to participate. v = cost without cooperation - cost with cooperation v({1, 2, 3, 4}) = (19α + 7α + 2) − 4 · 7α

Daniel.Cordeiro@usp.br 5/16

slide-9
SLIDE 9

problem

Let C(k)

SH be the global cost of the cooperative schedule SH for

  • rganization O(k). The cooperative problem can then be stated as

follows: Find (x1, . . . , xN) such that C(k)

SH − xk ≤ p({k}) and ∑ i xi ≤ v([N])

∀k(1 ≤ k ≤ N), if such vector exists. The vector x represents the payment for each organization to have incentive to collaborate.

Daniel.Cordeiro@usp.br 6/16

slide-10
SLIDE 10

choreography enactment pricing game

  • The choreography enactment game models the cooperative

game played by organizations

  • Their main objective is to form alliances in order to schedule all

jobs belonging to them at the lowest cost

  • The alliance must be stable, i.e., no player or subset of players

have incentive to leave the alliance

Daniel.Cordeiro@usp.br 7/16

slide-11
SLIDE 11

cooperative game with transferable utility

Cooperative game

  • pair ([N], v) where [N] = {1, . . . , N} is a finite set of players
  • v : 2|N| → R is the characteristic function, a mapping a alliance

C ⊆ [N] to its payment v(C)

  • v(C) is the value that C could obtain if they choose to cooperate

v({1, 2, 3, 4}) = (19α + 7α + 2) − 4 · 7α v({2, 3, 4}) = (7α + 2) − 3 · 3α v({1, 3, 4}) = (19α + 2) − 3 · 7α v({3, 4}) = 0 v({2, 4}) = (7α + 1α) − 2 · 4α v({2, 3}) = (7α + 1α) − 2 · 4α

Daniel.Cordeiro@usp.br 8/16

slide-12
SLIDE 12

cooperative game with transferable utility

Cooperative game

  • pair ([N], v) where [N] = {1, . . . , N} is a finite set of players
  • v : 2|N| → R is the characteristic function, a mapping a alliance

C ⊆ [N] to its payment v(C)

  • v(C) is the value that C could obtain if they choose to cooperate

v({1, 2, 3, 4}) = (19α + 7α + 2) − 4 · 7α v({2, 3, 4}) = (7α + 2) − 3 · 3α v({1, 3, 4}) = (19α + 2) − 3 · 7α v({3, 4}) = 0 v({2, 4}) = (7α + 1α) − 2 · 4α v({2, 3}) = (7α + 1α) − 2 · 4α

Daniel.Cordeiro@usp.br 8/16

slide-13
SLIDE 13

cooperative game with transferable utility

Cooperative game

  • pair ([N], v) where [N] = {1, . . . , N} is a finite set of players
  • v : 2|N| → R is the characteristic function, a mapping a alliance

C ⊆ [N] to its payment v(C)

  • v(C) is the value that C could obtain if they choose to cooperate

v({1, 2, 3, 4}) = (19α + 7α + 2) − 4 · 7α v({2, 3, 4}) = (7α + 2) − 3 · 3α v({1, 3, 4}) = (19α + 2) − 3 · 7α v({3, 4}) = 0 v({2, 4}) = (7α + 1α) − 2 · 4α v({2, 3}) = (7α + 1α) − 2 · 4α

Daniel.Cordeiro@usp.br 8/16

slide-14
SLIDE 14

finding the alliances

  • The problem is then to find where there is an alliance where no
  • ne can be excluded without decreasing the other player’s profit
  • In Game Theory, this is given by the notions of objections and

counter-objections

Daniel.Cordeiro@usp.br 9/16

slide-15
SLIDE 15
  • bjections and counter-objections

Objection A pair (P, y) is said to be objection of i against j if:

  • P is a subset of [N] such that i ∈ P and j /

∈ P and

  • if y is a vector in R[N] such that y(P) ≤ v(P), for each k ∈ P,

yk ≥ xk and yi > xi (agent i strictly benefits from y, and the other members of P do not do worse in y than in x). Counter-objection A pair (Q, z) is said to be a counter-objection to an objection (P, y) if:

  • Q is a subset of [N] such that j ∈ Q and i /

∈ Q and

  • if z is a vector in R[N] such that z(P) ≤ v(P), for each k ∈ Q \ P,

zk ≥ xk and, for each k ∈ Q ∩ P, zk ≥ yk (the members of Q which are also members of P get at least the value promised in the objection).

Daniel.Cordeiro@usp.br 10/16

slide-16
SLIDE 16
  • bjections and counter-objections

Objection A pair (P, y) is said to be objection of i against j if:

  • P is a subset of [N] such that i ∈ P and j /

∈ P and

  • if y is a vector in R[N] such that y(P) ≤ v(P), for each k ∈ P,

yk ≥ xk and yi > xi (agent i strictly benefits from y, and the other members of P do not do worse in y than in x). Counter-objection A pair (Q, z) is said to be a counter-objection to an objection (P, y) if:

  • Q is a subset of [N] such that j ∈ Q and i /

∈ Q and

  • if z is a vector in R[N] such that z(P) ≤ v(P), for each k ∈ Q \ P,

zk ≥ xk and, for each k ∈ Q ∩ P, zk ≥ yk (the members of Q which are also members of P get at least the value promised in the objection).

Daniel.Cordeiro@usp.br 10/16

slide-17
SLIDE 17

stability of the alliance

For organizations not changing the alliance’s profit, we can show that: Lemma 1. Let [N] be a set of organizations and v be the characteristic function (corresponding to the cost savings). Let x be a feasible stable

  • imputation. For each organization O(j) in [N] such that

v([N]) = v([N] \ {j}), we have xj = 0.

Daniel.Cordeiro@usp.br 11/16

slide-18
SLIDE 18

stability of the alliance

For organizations not changing the alliance’s profit, we can show that: Lemma 1. Let [N] be a set of organizations and v be the characteristic function (corresponding to the cost savings). Let x be a feasible stable

  • imputation. For each organization O(j) in [N] such that

v([N]) = v([N] \ {j}), we have xj = 0.

O(1) O(2) 7 O(3) O(4) 6 6

1 1

7 O(1) O(2) 7 O(3) O(4) 6 6

1 1

7 Daniel.Cordeiro@usp.br 11/16

slide-19
SLIDE 19

stability of the alliance

For organizations helping increase the alliance’s profit Lemma 2. Let [N] be a set of organizations and v be the characteristic function (corresponding to the cost savings). Let O(i) and O(j) be

  • rganizations such that v([N]) > v([N] \ {i}) and v([N]) > v([N] \ {j}).

Let O = [N] \ {j} be a subset of organizations. Let (O, y) be an

  • bjection of O(i) against O(j). In order to have a counter-objection to

(Q, z), with Q = [N] \ {i} of O(j) against O(i), a sufficient condition is: xj − xi ≤ p({j}) − p({i}) − cost(−i) + cost(−j) Intuition Objection v

k N i j yk

yi Counter-objection v

k N i j zk

zj v v xj xi

Daniel.Cordeiro@usp.br 12/16

slide-20
SLIDE 20

stability of the alliance

For organizations helping increase the alliance’s profit Lemma 2. Let (O, y) be an objection of O(i) against O(j). In order to have a counter-objection to (Q, z), with Q = [N] \ {i} of O(j) against O(i), a sufficient condition is: xj − xi ≤ p({j}) − p({i}) − cost(−i) + cost(−j) Intuition Objection v(O) = ∑

k∈[N]\{i,j} yk + yi

Counter-objection v(Q) = ∑

k∈[N]\{i,j} zk + zj

v(Q) − v(O) ≥ xj − xi

Daniel.Cordeiro@usp.br 12/16

slide-21
SLIDE 21

characterization of the stability

Theorem 3. Let [N] be a set of organizations and v be the characteristic function (corresponding to the cost savings). Let A be a subset of

  • rganizations {j ∈ [N] : v([N]) > v([N] \ {j})}. There exists a unique

stable imputation x if it fulfills all the three following conditions:

  • 1. ∀j ∈ [N] \ A, xj = 0
  • 2. ∀j ∈ A, xj = cost(−j) + p({j}) −

1 |A| ·

( cost(A) + ∑

k∈A cost(−k))

  • 3. ∀j ∈ A, cost(−j) + p({j}) ≥

1 |A| ·

( cost(A) + ∑

k∈A cost(−k)) Daniel.Cordeiro@usp.br 13/16

slide-22
SLIDE 22

price vs. costs on stable imputations

Corollary 4 (a lower bound for non-empty bargaining sets). Let [N] be a set of organizations and v be the characteristic function (corresponding to the cost savings). Let A be a subset of

  • rganizations {j ∈ [N] : v([N]) > v([N] \ {j})}. There exists a unique

stable imputation x if p(A) ≥ cost(A). Corollary 5. Let [N] be a set of organizations with their sets of jobs. If all

  • rganizations have as objective function (∑

J CJ) or (∑ J EJ), then

Algorithm 1 determines in polynomial time whether [N] can form an alliance and, if possible, returns the imputation vector.

Daniel.Cordeiro@usp.br 14/16

slide-23
SLIDE 23

price vs. costs on stable imputations

Corollary 4 (a lower bound for non-empty bargaining sets). Let [N] be a set of organizations and v be the characteristic function (corresponding to the cost savings). Let A be a subset of

  • rganizations {j ∈ [N] : v([N]) > v([N] \ {j})}. There exists a unique

stable imputation x if p(A) ≥ cost(A). Corollary 5. Let [N] be a set of organizations with their sets of jobs. If all

  • rganizations have as objective function (∑

J CJ) or (∑ J EJ), then

Algorithm 1 determines in polynomial time whether [N] can form an alliance and, if possible, returns the imputation vector.

Daniel.Cordeiro@usp.br 14/16

slide-24
SLIDE 24

alliance detection algorithm

Input: [N] of organizations, function v (cost savings), and cost(.). Output: (Whether there is a alliance or not and the imputation vector)

1 Compute the lowest cost schedule SH 2 forall organizations O(k) ∈ [N] do 3

Compute the lowest cost local schedule ( cost(k)

local = p({k})

)

4

Compute the lowest cost schedule using all resources except O(k)’s (cost(−k))

5 Compute the lowest cost schedule using all the resources and its cost (cost([N])) 6 forall organization O(k) ∈ [N] do 7

Compute p([N] \ {k}) ( = ∑

j∈[N],j̸=k p({j})

)

8

Compute v([N] \ {k}) ( = p([N] \ {k}) − cost(−k))

9 Compute A = {j ∈ [N] | v([N]) > v([N] \ {j})}, p(A), cost(A) and

k∈A

cost(−k)

10 if p(A) < cost(A) then 11

return (alliance=false, imputation=∅)

12 forall organization O(k) ∈ A do 13

compute xk according to Property (2) of the Theorem;

14 return (alliance=true, imputation=x)

slide-25
SLIDE 25

final remarks

  • We found the basic conditions needed for (stable) alliances for

problems that can be optimally solved in polynomial time

  • Can we adapt this technique for other objectives like makespan?

A recent work by Azar et al. (ACM Economics and Computation 2015) may be the solution

  • The bargaining set of this game suggests a relation of this

problem with truthful mechanisms from algorithmic mechanism design

Daniel.Cordeiro@usp.br 16/16