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
service compositions Orchestration Choreography Daniel.Cordeiro@usp.br 1/16
choreographies Different services may need different providers to be executed Daniel.Cordeiro@usp.br 2/16 O O (1) (2) O O (3) (5) O (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 organizations Daniel.Cordeiro@usp.br 3/16
cost of collaboration • Suppose users pay a price proportional to the energy spent to Daniel.Cordeiro@usp.br 4/16 • Energy = execute its jobs • Dynamic voltage and frequency scaling (DVFS) ∫ t P ( s ( t )) d t , with P ( s ( t )) = s ( t ) α , α > 1 O (1) O (2) O (3) O (4) 6 6 7 7 1 1 p ( { 1 } ) = 19 α ; p ( { 2 } ) = 7 α ; p ( { 3 } ) = p ( { 4 } ) = 1 α cost without cooperation = 19 α + 7 α + 1 α + 1 α
cost of collaboration • Suppose users pay a price proportional to the energy spent to Daniel.Cordeiro@usp.br 4/16 • Energy = execute its jobs • Dynamic voltage and frequency scaling (DVFS) ∫ t P ( s ( t )) d t , with P ( s ( t )) = s ( t ) α , α > 1 O (1) O (2) O (3) O (4) 6 6 7 7 1 1 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
cost of collaboration Members should distribute the profit and offer some compensation Daniel.Cordeiro@usp.br v = cost without cooperation - cost with cooperation for them to participate. 5/16 O (1) O (2) O (3) O (4) 6 6 7 7 1 1 Costs for O ( 3 ) and O ( 4 ) increased from 1 α to 7 α v ( { 1 , 2 , 3 , 4 } ) = ( 19 α + 7 α + 2 ) − 4 · 7 α
cost of collaboration Members should distribute the profit and offer some compensation Daniel.Cordeiro@usp.br v = cost without cooperation - cost with cooperation for them to participate. 5/16 O (1) O (2) O (3) O (4) 6 6 7 7 1 1 Costs for O ( 3 ) and O ( 4 ) increased from 1 α to 7 α v ( { 1 , 2 , 3 , 4 } ) = ( 19 α + 7 α + 2 ) − 4 · 7 α
problem follows: incentive to collaborate. Daniel.Cordeiro@usp.br 6/16 Let C ( k ) SH be the global cost of the cooperative schedule SH for organization O ( k ) . The cooperative problem can then be stated as Find ( x 1 , . . . , x N ) such that C ( k ) SH − x k ≤ p ( { k } ) and ∑ i x i ≤ v ([ N ]) ∀ k ( 1 ≤ k ≤ N ) , if such vector exists. The vector x represents the payment for each organization to have
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
cooperative game with transferable utility Cooperative game Daniel.Cordeiro@usp.br 8/16 • 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 α
cooperative game with transferable utility Cooperative game Daniel.Cordeiro@usp.br 8/16 • 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 α
cooperative game with transferable utility Cooperative game Daniel.Cordeiro@usp.br 8/16 • 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 α
finding the alliances • The problem is then to find where there is an alliance where no one can be excluded without decreasing the other player’s profit counter-objections Daniel.Cordeiro@usp.br 9/16 • In Game Theory, this is given by the notions of objections and
objections and counter-objections Counter-objection Daniel.Cordeiro@usp.br the objection). Objection 10/16 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 , y k ≥ x k and y i > x i (agent i strictly benefits from y , and the other members of P do not do worse in y than in x ). 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 , z k ≥ x k and, for each k ∈ Q ∩ P , z k ≥ y k (the members of Q which are also members of P get at least the value promised in
objections and counter-objections Counter-objection Daniel.Cordeiro@usp.br the objection). Objection 10/16 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 , y k ≥ x k and y i > x i (agent i strictly benefits from y , and the other members of P do not do worse in y than in x ). 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 , z k ≥ x k and, for each k ∈ Q ∩ P , z k ≥ y k (the members of Q which are also members of P get at least the value promised in
stability of the alliance For organizations not changing the alliance’s profit, we can show that: Lemma 1. (corresponding to the cost savings). Let x be a feasible stable Daniel.Cordeiro@usp.br 11/16 Let [ N ] be a set of organizations and v be the characteristic function imputation. For each organization O ( j ) in [ N ] such that v ([ N ]) = v ([ N ] \ { j } ) , we have x j = 0 .
stability of the alliance (corresponding to the cost savings). Let x be a feasible stable Daniel.Cordeiro@usp.br For organizations not changing the alliance’s profit, we can show 11/16 Lemma 1. that: Let [ N ] be a set of organizations and v be the characteristic function imputation. For each organization O ( j ) in [ N ] such that v ([ N ]) = v ([ N ] \ { j } ) , we have x j = 0 . O (1) O (2) O (3) O (4) O (1) O (2) O (3) O (4) 6 6 6 6 7 7 7 7 1 1 1 1
i j y k i j z k stability of the alliance Daniel.Cordeiro@usp.br x i x j v v z j N k v Counter-objection y i N For organizations helping increase the alliance’s profit k v Objection Intuition Lemma 2. 12/16 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 organizations 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 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: x j − x i ≤ p ( { j } ) − p ( { i } ) − cost ( − i ) + cost ( − j )
stability of the alliance Intuition Daniel.Cordeiro@usp.br Counter-objection For organizations helping increase the alliance’s profit Objection sufficient condition is: Lemma 2. 12/16 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 x j − x i ≤ p ( { j } ) − p ( { i } ) − cost ( − i ) + cost ( − j ) v ( O ) = ∑ k ∈ [ N ] \{ i , j } y k + y i v ( Q ) = ∑ k ∈ [ N ] \{ i , j } z k + z j v ( Q ) − v ( O ) ≥ x j − x i
Recommend
More recommend