• Aucun résultat trouvé

Le cas d’un NSP fournisseur et d’un client

,

oùbreq est la bande passante minimum demandée par le client,dreqest le délai maximum demandé par le client et`reqle taux de perte maximum toléré par le client. Si le SLA qji satisfait ces contraintes de QoS, alors||qi|| ∈[0,1[. Un SLA qui satisfait exactement les paramètres de la requête aura une mesure de0. La fonction ||.|| tend vers 1 quand les paramètres de QoS du SLA dépassent largement les contraintes du client. Les SLA qui ne satisfont pas la requête du client ne sont pas considérés.

2.3.2.2 L’utilité d’un client en fonction d’un SLA

Nous avons opté pour l’utilité classique (QoS−prix) :

U(qji) =||qji|| −η p

j i

pmax

(2.1)

oùη est un paramètre fixé qui dépend du client, pji est le prix du SLA qji, etpmaxest le prix maximum que le client est prêt à payer. Le paramètre η pondère l’influence du prix sur la fonction d’utilité du client.

2.4 Le cas d’un NSP fournisseur et d’un client

Dans cette section, nous nous intéressons au cas de figure d’un NSP fournisseur (que l’on nommera NSP1) ayant le monopole pour répondre aux requêtes d’un client. Les SLA sont simplement notés qj

et leurs paramètres sont notés bj, dj et `j car il n’y a pas de confusion possible sur l’identité du NSP fournisseur.

2.4.1 L’ensemble d’états du NSP fournisseur

Nous nous proposons de définir formellement l’ensemble d’états du NSP1. Pour pouvoir offrir le SLA qui maximise son gain moyen, le NSP1a besoin d’une information complète sur sa capacité disponible actuelle ainsi que sa capacité disponible future. A chaque instant t, le NSP 1 connaît les SLA qu’il a provisionnés jusqu’àt. Les SLA provisionnés avantt−∆ sont déjà terminés, mais les SLA provisionnés entret−∆et tutilisent encore la capacité du NSP. Ces SLA permettent donc de savoir quelle capacité sera libérée à chaque instant de décision entret ett+ ∆.

Nous définissons donc l’état du NSP 1 à l’époque de décision t comme étant la liste ordonnée de SLA qui seront libérés entre les époques de décisiontet t+ ∆. En fait, le NSP doit seulement connaître leur bande passante. Plus formellement, l’état du NSP 1 à l’époque de décision t est un vecteur st = (b1, . . . ,b)oùbj est la bande passante du SLA qui sera libéré à l’époque de décisiont+j. La capacité utilisée du NSP à l’instanttest doncct=P

i=1bj.

Clairement, si la capacité totale du NSP1, notéecmax, n’est pas bornée, alors le nombre total d’états possibles est (|Q|+ 1). Cependant, puisque ∀t, ct ≤ cmax, les états s0 = (b01, . . . ,b0) qui satisfont

P

j=1bj > cmax ne sont pas valides, car pour atteindre ces états il faut utiliser une capacité supérieure à la capacité totale du NSP1. SoitS1 l’ensemble des états valides (ou atteignables) du NSP1. Alors

(|Q|+ 1)min(∆,K)≤ |S1| ≤(|Q|+ 1)min(∆,K0),

oùK=bcmax/max qj∈Q1

bjcet K0 =bcmax/ min qj∈Q1

Figure2.2 – Un diagramme montrant les différents états du NSP1.

Exemple. Cet exemple montre comment les états d’un NSP sont définis en fonction de l’ensemble de ses SLA. Soitcmax= 100Gbps la capacité maximum du NSP1. Et soit{q1,q2}son ensemble de SLA, tel queb1= 30Gbps= 30%.cmax et b2= 50Gbps= 50%.cmax. La durée des SLA est∆ = 2unités de temps. Le diagramme de la figure 2.2 montre les différents états possibles du NSP 1. Toute combinaison (et chevauchement) de SLA définit un état. Par exemple,s5= (b1,b2)est l’état où q1 sera libéré à l’instant de décisiont+ 1et q2 sera libéré à l’instantt+ 2. Dans cet exemple,|S1|= (|Q1|+ 1)= (2 + 1)2= 9. Tous les états sont valides.

Remarque. L’exemple précédent, tout comme certains exemples qui suivent, n’est évidemment pas réaliste. Le but de cet exemple est d’illustrer l’approche et les méthodes utilisées dans ce chapitre plutôt que de fournir des données réalistes. Dans un cas réel, les SLA ont une granularité beaucoup plus fine (principalement moins de5%de la capacité totale d’un NSP) et une durée bien plus longue. Un exemple réaliste ne conviendrait pas pour expliquer la méthode utilisée car le nombre d’états serait trop grand et ne pourrait pas être représenté convenablement. Les simulations seront effectuées sur des cas plus réalistes.

2.4.2 Maximiser le gain moyen du NSP

Dans cette section, nous cherchons à calculer la stratégie optimale à long terme du NSP1, c’est-à-dire la séquence de SLA à offrir à chaque instanttpour maximiser l’espérance de son gain moyen. Pour cela, nous allons modéliser l’ensemble de ses états et les transitions entre ces états comme étant une matrice

(max,+). Nous présenterons d’abord brièvement les algèbres et matrices (max,+), puis nous verrons comment ces outils modélisent l’ensemble d’états du NSP. Enfin, un calcul du cycle de poids maximum dans ce modèle nous permettra de dériver la stratégie optimale du NSP1.

2.4.2.1 Algèbres et matrices (max,+)

Considérons le semi-anneau Rmax def= (R∪ {−∞},max,+). Suivant la notation standard dans les ouvrages sur le sujet (notamment [19]) pour chaque a,b,aiR∪ {−∞}, nous noterons −∞ par le caractèreε,max(a,b)para⊕b,maxiai parL

iai,a+b para⊗b etP

iai parN

iai.

Soit A = (Aij)1in,1jn une matrice carrée avec des éléments dans Rmax. Nous redéfinissons le carré de la matriceA, notéA2=A⊗A, comme suit :

(A2)ij=

n

M

l=1

Ail⊗Alj (2.2) Et lam-ième puissance deAcomme suit :

(Am)ij =

n

M

l=1

Pour plus de détails sur les algèbres et les matrices (max,+), le lecteur intéressé peut consulter l’ouvrage de référence de Baccelliet al. [19].

2.4.2.2 L’ensemble des transitions entre états du NSP

La transition d’un état st vers un état st+1 se fait en libérant le SLA provisionné à l’instant t−∆

(s’il existe) et en provisionnant le SLA offert à l’instant t (s’il existe aussi). Cette transition est valuée par l’espérance de gain du NSP1, c’est-à-direvt+1·(1−f(ρt+1)). Ainsi, nous définissons la fonction de transition T : S · S →R parT(st,st+1) =vt+1·(1−f(ρt+1)). L’ensemble des états validesS associé à l’ensemble des transitions T peut être vu comme un graphe pondéré oùS est l’ensemble des nœuds et il y a un arc de poids wde si ∈ S vers sj ∈ S si et seulement siT(si,sj) =w. Ce graphe peut être représenté par sa matrice d’incidence pondéréeA= (Ai,j)1i≤|S|,1j≤|S| où :

Aij =

T(sj,si) s’il y a une transition desj verssi

ε sinon (2.4)

Remarque. Il est à noter queAij est le poids de la transition desj verssi. Ceci est dû au fait que les équations matricielles dansRmaxsont traditionnellement écrites en utilisant des vecteurs colonnes.

La matrice A est une matrice (max,+). Le but du NSP 1 est de trouver un cycle s1,s2, . . . si dans le graphe des états qui maximise l’espérance du gain moyen. Ce problème correspond au problème bien connu du cycle à moyenne maximum15.

2.4.2.3 Le cycle de poids moyen maximum

Selon le théorème spectral des matrices(max,+)[19], l’espérance maximum du gain moyen peut-être obtenue par la formule :

E(vmax) = max

i=1..|S|

max

k=1..|S|(Ai)kk

i (2.5)

L’intuition derrière cette formule est très simple : l’élément(Ai)kk est le poids maximum d’un cycle de longueur i partant du nœudsk et revenant à celui-ci (ce qui est équivalent à dire que c’est le cycle de poids maximum de longueuri qui passe par l’état sk). Il suffit de calculer toutes les puissances Ai et chercher à chaque fois la plus grande valeur.

La formule (2.5) suggère un algorithme naïf de calcul de E(vmax) en O(|S|4). En effet, il suffit de calculerAi =A⊗Ai−1 pour toutes les valeurs dei= 2. . .|S| (ce qui prendO(|S|2)opérations), et de chercher l’élément le plus grand dans chaque matriceAi (ce qui prend égalementO(|S|2)).

Il est possible de diminuer cette complexité en utilisant une caractérisation du cycle de poids moyen maximum due à Karp [64].

Théorème 1 (Karp [64]). Soitsj un état quelconque tel que j∈ {1, . . . ,|S|}. Alors : E(vmax) = max

i=1..|S| min

k=0..|S|−1

(A|S|)ij−(Ak)ij

|S| −k

Cette formule permet de déduire un algorithme de calcul de cycle de poids moyen maximum en

O(|S|3).

Exemple. Cette exemple montre le graphe correspondant aux états et transitions du NSP ainsi que le cycle de poids moyen qui maximise l’espérance de gain du NSP. Considérons le NSP1ayant les mêmes paramètres que dans l’exemple précédent. Son ensemble de stratégies (et de SLA) est donc{q1,q2}. Soit la fonction d’échecf(ρ) =ρ, ρ∈[0,1](la fonction d’échec est linéaire par rapport à la charge). Et soit le prix par unité pu = 1 unité monétaire par Gbps. La figure 2.3 montre l’ensemble des états et des transitions associés au NSP1. Les transitions sont valuées par l’espérance de gain du NSP en atteignant l’état d’arrivée. Le cycle de poids moyen maximum ests3,s4,s3. . . L’espérance de gain moyen maximum est de25et le taux de capacité utilisée optimal estρopt = 50%.

Figure 2.3 – Le graphe d’états et de transitions associé au NSP1. Chaquebj est une bande passante

de SLA. Le cycle en rouge est le cycle de poids moyen maximum.

2.4.3 Une autre approche pour le calcul de la stratégie optimale du NSP

Supposons que le NSP 1 peut fixer sa capacité utilisée moyenne ρ˜ = ˜c/cmax (où c˜est la capacité utilisée moyenne) à n’importe quelle valeur dans[0,1]. Et supposons qu’il connaît la valeur de la fonction d’échecf( ˜ρ)pour chaqueρ˜∈[0,1]. Le gain du NSP1dépend de la bande passante des SLA provisionnés :

v=pu·cmax·ρ˜

Le gain moyen par unité de temps est donné parv(1−f( ˜ρ)). Le but du NSP1est de calculer la capacité utilisée optimale, qui est donnée parρopt= arg maxρ˜[0,1]v(1−f( ˜ρ)).

Si le NSP 1 connaît les valeurs de f( ˜ρ) et v pour chaque ρ˜∈ [0,1], alors il est facile de calculer la capacité utilisée moyenne optimale, c’est-à-dire qui maximise l’espérance du gain moyen. Cette approche est utile uniquement dans le cas où les SLA (et leur bande passante) ont une granularité fine, ce qui permet d’approximer finementρopt par(P

t=1ct)/∆ .

Exemple. Soient, comme dans l’exemple précédent, la capacité maximum du NSP1cmax= 100Gbps, le prix unitépu= 1u.m. et la fonction d’échecf( ˜ρ) = ˜ρ. Le gain moyen maximumE(vmax)est obtenu en maximisant la fonctionv(1−f(ρ)). La valeur maximum est obtenue quandρ= 0.5. L’espérance du gain moyen maximum estE(vmax) = 25u.m. et la capacité utilisée moyenne optimale estρopt = 50%. Cette valeur correspond exactement au cycle de poids moyen maximum obtenu dans l’exemple précédent.

Documents relatifs