Qualité de service d`un centre de service de messagerie GSM

Transcription

Qualité de service d`un centre de service de messagerie GSM
UNIVERSITE LIBANAISE
UNIVERSITE SAINT-JOSEPH
(Faculté de Génie)
(Faculté d'Ingénierie)
Sous l'égide de l'Agence Universitaire de la Francophonie
AUF
Diplôme d'Etudes Approfondies
Réseaux de télécommunications
Qualité de service d'un centre de service de
messagerie GSM (SMSC)
Par
Youssef Haddad
Encadré par : M. George Yazbek et Dr. Samir Tohmé
Soutenance le 22 décembre 2004 devant le jury composé de
MM.
Samir Tohmé
Mohamad Zoaeter
Wajdi Najem
Imad Mougharbel
Nicolas Rouhana
Mahmoud Doughan
Maroun Chamoun
Président
Membre
Membre
Membre
Membre
Membre
Membre
2
Remerciements
Je souhaite exprimer mes vifs remerciements à Dr. Samir Tohmé et M. George
Yazbek pour l’honneur qu’ils m’ont fait d’être rapporteurs de cette mémoire et ce en
dépit de leurs nombreuses responsabilités et occupations.
Je suis profondément reconnaissant envers Dr. Chafic Mokbel pour les nombreuses
discussions et précieux conseils prodigués, pour tout ce qu’il m’a appris et pour son
optimisme sans mesure qui devenait contagieux quand l’on avait le plus besoin. Qu’il
trouve ici le témoignage de ma profonde et sincère gratitude.
Une grande partie de mes travaux n’aurait jamais été possible sans le soutien
matériel et intellectuel des membres de Jinny Software Ltd. et de l’équipe SMSC. Je tiens
de ce fait à remercier Mona Rouphael et Fahed Kozah ayant collaboré par leurs travaux
à la réalisation de cette mémoire.
Je suis redevable à Irène Jabbour et Elias Nahra pour leurs nombreux conseils et les
corrections apportées au manuscrit. Je remercie tout particulièrement Denise Haddad
pour avoir relu l’intégralité de cette mémoire en vue des corrections du français.
Je tiens finalement à remercier vivement toutes les personnes qui de près ou de loin
ont contribué au bon déroulement de cette mémoire. Qu’ils trouvent ici l’expression de
ma profonde gratitude.
3
Table des matières
Liste des figures...............................................................................6
Liste des tableaux ...........................................................................8
Sommaire...........................................................................................9
Chapitre 1
11
Introduction générale .................................................................................. 11
1. Le SMS................................................................................................. 11
2. Le succès exponentiel des SMS........................................................... 11
3. Saturation d’un centre de SMS........................................................... 12
4. Planification de la capacité ................................................................. 13
4.1
4.2
4.3
Par mesures directes ............................................................................ 13
Par modélisations et simulations......................................................... 14
Outils de simulation ............................................................................. 14
4.3.1
Chapitre 2
QNAP ..................................................................................................14
16
Centre de service de messagerie – SMSC................................................. 16
1. Les SMS ............................................................................................... 16
2. Le SMSC .............................................................................................. 17
2.1
2.2
2.3
2.4
2.5
Définition .............................................................................................. 17
Architecture .......................................................................................... 17
Le logiciel.............................................................................................. 18
Les interfaces........................................................................................ 18
2.4.1
2.4.2
2.4.3
L’interface de l’unité de signalisation (SIU)........................................18
Le système OAM .................................................................................19
Le système de facturation ...................................................................19
2.5.1
2.5.2
2.5.3
Le récepteur ........................................................................................19
L’émetteur ...........................................................................................20
Les files d’attente du ESME................................................................20
Entité Externe des Messages courts « ESME » ................................... 19
3. Gestion de messages............................................................................ 21
3.1
3.2
Les messages MO ................................................................................. 21
Les messages MT.................................................................................. 22
5.1
5.2
5.3
MO – MT............................................................................................... 24
MO – MO-ack........................................................................................ 26
MT – MT-ack ........................................................................................ 26
4. Suivi et acquittement .......................................................................... 23
5. Les transactions .................................................................................. 23
4
6. Mécanisme de contrôle du surcharge ................................................. 27
6.1
6.2
6.3
Anti-spamming ..................................................................................... 27
Régulation de la sortie.......................................................................... 27
La protection de l’entrée....................................................................... 27
Chapitre 3
28
La théorie de la file d’attente ..................................................................... 28
1. Définition des concepts........................................................................ 28
2. Généralités sur la file d’attente .......................................................... 30
3. Les modèles de files d’attente ............................................................. 32
3.1
3.2
Classification des modèles de files d’attente........................................ 32
Quelques exemples de modèles de files d’attente ................................ 34
4. Performances d’un système d’attente................................................. 34
Chapitre 4
35
Evaluation de performance d'un SMSC ................................................... 35
1. Introduction ......................................................................................... 35
2. Les files d’attente ................................................................................ 36
3. L’environnement du test en charge .................................................... 38
3.1
3.2
L’architecture du test en charge .......................................................... 38
Les outils du test en charge ................................................................. 39
4. Modélisation et mesure ....................................................................... 39
4.1
4.2
4.3
Premier choix........................................................................................ 39
4.1.1
4.1.2
4.1.3
4.1.4
MO – MO-ack ......................................................................................39
MO – MT .............................................................................................41
MT – MT-ack.......................................................................................45
Conclusion ...........................................................................................46
Second choix ......................................................................................... 47
4.2.1
4.2.2
4.2.3
4.2.4
MO – MO-ack ......................................................................................49
MO – MT .............................................................................................52
MT – MT-ack.......................................................................................57
Conclusion ...........................................................................................60
L’influence du processeur..................................................................... 60
Chapitre 5
64
Conclusions et perspectives........................................................................ 64
Annexe A..........................................................................................67
Références bibliographiques .....................................................70
Glossaire et notation ....................................................................72
5
Liste des figures
Figure 1 - Le contexte du SMSC ................................................................................... 18
Figure 2 - Le récepteur ESME....................................................................................... 20
Figure 3 – L’émetteur ESME ........................................................................................ 20
Figure 4 - Message du MO vers le SMSC...................................................................... 22
Figure 5 - Message du SMSC vers MT.......................................................................... 23
Figure 6 - MO MT livraison réussie avec la première tentative...................................... 25
Figure 7 - Schéma général d'un système d'attente. ......................................................... 31
Figure 8 - Stations en série dans un système d’attente.................................................... 31
Figure 9 - Stations en série dans un système d’attente.................................................... 32
Figure 10 - Schéma fonctionnel du test en charge.......................................................... 38
Figure 11 - Modélisation du MO – MO-ack (1er choix).................................................. 40
Figure 12 - Courbe des valeurs par mesures directes du temps de séjour pour MO – MOack (1er choix)............................................................................................ 41
Figure 13 - Courbe des valeurs théoriques du temps de séjour pour MO – MO-ack (1er
choix). ........................................................................................................ 41
Figure 14 - Modélisation du MO – MT (1er choix)........................................................ 42
Figure 15 - Courbe des valeurs par mesures directes du temps de séjour pour MO – MT
(1er choix). ................................................................................................. 43
Figure 16 - Courbe des valeurs théoriques du temps de séjour pour MO – MT (1er choix).
................................................................................................................... 43
Figure 17 - Courbe des valeurs par mesures directes de la probabilité de blocage (1er
choix). ........................................................................................................ 44
Figure 18 - Courbe des valeurs théoriques de la probabilité de blocage (1er choix)........ 44
Figure 19 - Modélisation de MT - MT-ack (1er choix). .................................................. 45
Figure 20 - Courbe des valeurs par mesures directes du temps de séjour pour MT – MTack (1er choix)............................................................................................ 46
Figure 21 - Courbe des valeurs théoriques du temps de séjour pour MT – MT-ack (1er
choix). ........................................................................................................ 46
Figure 22 - Modélisation du SMSC ............................................................................... 48
Figure 23 - Modélisation de MO - MO-ack (2nd choix).................................................. 49
Figure 24 - Courbe des valeurs par mesures directes du temps de séjour dans la file
d’attente « A » (2nd Choix).......................................................................... 50
Figure 25 - Courbe des valeurs théoriques du temps de séjour dans la file d’attente « A »
(2nd Choix).................................................................................................. 51
Figure 26 - Courbe des valeurs par mesures directes du temps de séjour dans la file
d’attente « B » (2nd Choix). ......................................................................... 51
Figure 27 - Courbe des valeurs théoriques du temps de séjour dans la file d’attente « B »
(2nd Choix).................................................................................................. 52
Figure 28 - Modélisation de MO – MT (2nd choix). ....................................................... 53
6
Figure 29 - Courbe des valeurs par mesures directes du temps de séjour dans la file
d’attente « C » (2nd Choix). ......................................................................... 54
Figure 30 - Courbe des valeurs théoriques du temps de séjour dans la file d’attente « C »
(2nd Choix).................................................................................................. 54
Figure 31 - Courbe des valeurs par mesures directes du temps de séjour dans la file
d’attente « D » (2nd Choix).......................................................................... 55
Figure 32 - Courbe des valeurs théoriques du temps de séjour dans la file d’attente « D »
(2nd Choix).................................................................................................. 55
Figure 33 - Courbe des valeurs par mesures directes de la probabilité de blocage (2nd
choix). ........................................................................................................ 56
Figure 34 - Courbe des valeurs théoriques de la probabilité de blocage (2nd choix). ....... 57
Figure 35 - Modélisation de MT – MT-ack (2nd choix). ................................................. 57
Figure 36 - Courbe des valeurs par mesures directes du temps de séjour dans la file
d’attente « E » (2nd Choix). ......................................................................... 58
Figure 37 - Courbe des valeurs théoriques du temps de séjour dans la file d’attente « E »
(2nd Choix).................................................................................................. 59
Figure 38 - Courbe des valeurs par mesures directes du temps de séjour dans la file
d’attente « F » (2nd Choix). ......................................................................... 59
Figure 39 - Courbe des valeurs théoriques du temps de séjour dans la file d’attente « F »
(2nd Choix).................................................................................................. 60
Figure 40 - Temps de séjour de la file "A" pour un taux d'entrées de 400 msg/s............. 61
Figure 41 - Temps de séjour de la file "B" pour un taux d'entrées de 400 msg/s............. 61
Figure 42 - Temps de séjour des file "C+D" pour un taux d'entrées de 400 msg/s .......... 61
Figure 43 -Modélisation de MO - MO-ack avec CPU.................................................... 62
7
Liste des tableaux
Tableau 1 - Valeurs des temps de séjour pour MO – MO-ack (1er choix). ...................... 40
Tableau 2 - Valeurs des temps de séjour pour MO – MT (1er choix). ............................ 42
Tableau 3 - Valeurs de la probabilité de blocage (1er choix).......................................... 43
Tableau 4 - Valeurs des temps de séjour pour MT – MT-ack (1er choix). ...................... 45
Tableau 5 - Valeurs des temps de séjour pour MO – MO-ack (2nd choix)....................... 49
Tableau 6 - Valeurs des temps de séjour pour MO – MT (2nd choix).............................. 53
Tableau 7 - Valeurs de la probabilité de blocage (2nd choix). ......................................... 56
Tableau 8 - Valeurs des temps de séjour pour MT – MT-ack (2nd choix). ...................... 58
8
Sommaire
Le SMS (ou Short Message Service) prend aujourd’hui un ascendant significatif
en terme d’utilisation. Il est utilisé si le correspondant ne peut pas parler, pour envoyer
une information stockée, pour dire des sujets intimes qui passent mieux qu’au téléphone,
pour ne pas déranger les correspondants ou pour limiter la facture en fin de mois mais
surtout on utilise le SMS pour voter (i.e. Miss Lebanon, Star Academy…) et pour
envoyer des vœux au nouvel an.
Le trafic de type vote ou "bonne année" met une pression énorme sur un centre de
service. En effet le trafic entrant se multiplie par 5 parfois par rapport au trafic normal. Il
est important pour un opérateur d'utiliser la capacité maximale du système et de rejeter le
trafic supplémentaire.
Dans la majorité des cas de surcharge, le délai de traitement augmente avec la charge, les
téléphones retransmettent, ceci cause une charge supplémentaire et produit un effet
d'avalanche. Le système bloque et ne transmet aucun message.
Il est donc nécessaire de bien dimensionner les systèmes pour assurer une bonne qualité
de service et des revenus maximums.
Comme ces événements sont assez rares (une dizaine de fois par année), il faut revenir à
la simulation pour bien comprendre le fonctionnement et valider le paramétrage.
Un SMSC est un système très complexe composé de plusieurs processus, files d’attente et
mémoires tampons de taille limitée.
L’objectif de ce projet est de modéliser un SMSC dans différentes situations pour
pouvoir dimensionner les différentes files de façon à avoir un taux de rejet et un délai
minimaux.
L’introduction de ce document décrit l’évolution rapide des messages SMS, la
saturation des centraux de messagerie GSM lors d’évènement comme un 31 décembre ou
une finale de coupe de monde et l’importance de l’évaluation de performance du système
par mesures directes ou par modélisation et simulation ou par les deux ensembles comme
on va le voir dans les chapitres suivants.
Chapitre deux décrit l’aspect architectural d’un centre de service de messagerie GSM,
tel qu’il a été standardisé par 3GPP. Ce chapitre est essentiel pour ceux qui veulent bien
comprendre cette étude. Il commence par définir le SMS techniquement, puis il décrit le
SMSC avec tous ces composants et tous ses interfaces. Il explique l’importance des
acquittements MO-ack et MT-ack. Puis il entre plus en détails pour décrire les différentes
transactions que subissent chaque SMS lors de son arrivée au SMSC jusqu’à son départ
vers le destinataire. Enfin il termine par décrire les différents mécanismes pour éviter les
surcharges.
9
Chapitre trois introduit la théorie des files d’attente et définit les différents concepts y
utilisés. Il introduit par la suite les différents modèles des files d’attente avec
l’importance de chacune d’elles en donnant quelques exemples. Et enfin, il finit par citer
les différents paramètres qui influent sur la performance d’un système d’attente.
Chapitre quatre explique le phénomène de la modélisation, la simulation et
l’évaluation de la performance du SMSC. Il décrit les différentes considérations
théoriques sur les files d’attente utilisées dans notre modélisation. Il introduit ensuite
l’environnement du test en charge : l’architecture du test et les outils utilisés. Ensuite, il
commence par décrire les différents types de modèles utilisés pour choisir enfin le
modèle qui donne une image plus réelle du système. Ce chapitre va aussi présenter les
différentes valeurs obtenues par mesures directes pour valider les modèles choisis. Enfin,
il affiche l’influence du microprocesseur (CPU) sur le temps de séjour des messages dans
le système.
Pour terminer, le chapitre cinq présente la conclusion et les perspectives de ce travail.
Il discute les résultats de la modélisation obtenus dans le chapitre précédent. Il analyse les
possibles modifications qui peuvent rendre le centre de service des messages GSM plus
performant.
10
Chapitre 1
Introduction générale
1.
Le SMS
Les SMS ont pris le pas sur d'autres moyens de communication, et offrent aux clients plus
de liberté et d'instantanéité. Les SMS sont aujourd'hui majoritairement utilisés dans les
circonstances où l'écrit est le mieux adapté en particulier lorsque l'on a besoin de
transmettre un message à une personne sans vouloir la déranger (réunion, heure
tardive…) ou bien lorsque son environnement immédiat ne permet pas une conversation
téléphonique dans de bonnes conditions (bus, train, lieux bruyants). Mais de plus en plus
les SMS sont aussi utilisés pour partager des émotions et permettre l'attention
sympathique, le témoignage d'affection : souhaiter bon anniversaire, adresser ses
félicitations…[20]
2.
Le succès exponentiel des SMS
Le SMS a été lancé en 1992 et est rapidement devenu jusqu'à ce jour, le service d'envoi
de données sans fil qui a connu le plus grand succès. Un chiffre permet de réaliser
l’engouement pour ce type de minis messages : le 31 décembre 2000, au moment du
passage au XXI siècle, ce sont près de 7 millions de SMS qui ont été envoyés en France
pour se souhaiter une bonne année! Ce sont 15 milliards de messages qui ont été transmis
pour le seul mois de décembre 2000 dans le monde, dont 7 milliards en Europe.
11
Chapitre 1 - Introduction générale
D’autre part, Pour fêter la nouvelle année, les clients Orange ont massivement choisi
d'envoyer leurs vœux par SMS : avec 42,5 millions de SMS échangés sur son réseau le
1er janvier 2004 (dont 10,7 millions entre minuit et 1h du matin), le trafic a augmenté de
30% par rapport à 2003 . Envoyer ses vœux par SMS, c'est répondre à son désir
d'instantanéité pour signifier un message chaleureux à son proche entourage.[21]
En 2003, les clients Orange auront échangé 11 millions de SMS en moyenne par jour. Le
nombre de SMS par mois par client a très fortement progressé entre 2001 et 2003, passant
de 11 SMS en décembre 2001 à 19 SMS en décembre 2003.[21]
Les SMS transitent sur le réseau de téléphonie cellulaire par un canal séparé dit de
"signalisation" (d’où la limitation à 160 caractères). Ce canal séparé n’empêche
malheureusement pas un phénomène de saturation (bien connu des utilisateurs de
téléphones portables) lors d’évènements comme un 31 décembre ou une finale de coupe
du monde...
3.
Saturation d’un centre de SMS
Aujourd'hui un centre de SMS peut recevoir des millions de messages par jour et peut
devenir surchargé à cause de la cadence des arrivées qui excède la capacité du
serveur.[5]
Un SMSC est muni d’un régulateur de trafic qui définit la capacité du serveur. Cette
capacité est choisie lors des tests en charge sur le système pour ne pas dépasser une
charge maximale. Une fois, on dépasse la capacité du SMSC, ce dernier doit
normalement rejeter le trafic supplémentaire et traiter les autres SMS.
Dans la majorité des cas de surcharge, le délai de traitement augmente avec la charge, les
téléphones retransmettent deux et plusieurs fois le même message, ceci cause une charge
supplémentaire et produit un effet d'avalanche. Le système bloque et ne transmet aucun
message.
Pour faire face à ceci, le contrôle de surcharge peut être employé pour que quelques SMS
soient acceptés par le SMSC et l’excès soit rejeté. De cette façon le SMSC peut réaliser
des temps raisonnables de service pour les messages admis. Le contrôle de surcharge est
un grand domaine de recherche et dépend de la performance du modèle du SMSC
surchargé.
Il est donc nécessaire de bien dimensionner et évaluer la performance du système pour
assurer une bonne qualité de service et des revenus maximums.
En effet, ce genre de travail permet, par exemple :
− D’assurer un bonne qualité de service en diminuant le temps de traitement pour
chaque message.
12
Chapitre 1 - Introduction générale
− D’anticiper et de corriger des éventuels problèmes de performance du centre de
SMS.
− D’optimiser les ressources du SMSC au fur et à mesure que les caractéristiques du
trafic des utilisateurs changent.
− D’évaluer notre système en calculant le nombre maximale de SMS que peut
supporter le SMSC.
4.
Planification de la capacité
La planification de la capacité est l’activité de prédire quand le système deviendra saturé
et du moyen pour retarder cette saturation. La prédiction doit tenir compte de l’évolution
de la charge et des niveaux de services souhaités.
La prédiction joue un rôle central dans la planification de la capacité. La planification
repose donc sur des outils de prédiction : l’analyse analytique et la simulation. Quand le
point de saturation est prédit, l’analyste doit répondre aux questions typiques suivantes :
− Pourquoi atteint-on la saturation ?
− Quelles ressources retardent la transaction (goulot d’étranglement) ?
− Comment peut-on empêcher ou retarder l’apparition de ces goulots
d’étranglement ?
Afin de planifier la capacité du système, et d’évaluer sa performance, il faut soit prendre
des mesures directes soit le modéliser et puis faire la simulation.
4.1
Par mesures directes
Les mesures directes de performances peuvent être obtenus à partir des tests en charge
sur un SMSC. Cette technique consiste à utiliser des simulateurs de clients qui envoient
un nombre configurable de SMS simultanément à un SMSC et prendre les mesures
convenables comme le temps de séjour du message dans le système et le nombre de
messages dans les files d’attente.
Les mesures directes conforment la base des autres techniques d’évaluation des
performances car elles fournissent les données avec lesquelles les modèles du système
peuvent être conçus et validés. C’est la seule technique qui peut offrir « l’image réelle »
de l’état d’un système réel en tenant compte de toutes les caractéristiques de celui-ci. Elle
est très utilisée dans une gestion préventive : elle permet, par exemple, d’estimer avec
précision la qualité de service offerte par le SMSC.
Néanmoins, cette méthode a plusieurs inconvénients. D’une part, le trafic de SMS entrant
est extrêmement variable et imprévisible. Par conséquent, les échantillons du trafic
13
Chapitre 1 - Introduction générale
obtenus à un moment donné ne permettent pas toujours de prévoir le comportement du
SMSC dans d’autres conditions.
4.2
Par modélisations et simulations
La modélisation de performance est une partie importante du secteur de recherche des
centres de service de messagerie GSM. Sans un modèle correct d'un SMSC il est difficile
de prévoir le fonctionnement du programme. Un vrai modèle est la base de la
planification de capacité d’un SMSC où des modèles sont employés pour prévoir la
performance du système avec différentes configurations.[6]
Donc la modélisation consiste à représenter le système par un réseau de files d’attente qui
peut être résolu analytiquement en utilisant les formules de Jackson ou par simulation.
Par exemple, une queue et un serveur dans le SMSC peuvent être représenté par une file
d’attente avec une certaine discipline de service (cf. chapitre 3). On suppose typiquement
que le temps entre l’arrivée de messages suit une loi de distribution définie par un
ensemble de paramètres. La théorie des files d’attente permet d’obtenir des mesures de
performance telles que la moyenne du temps de service, la probabilité de blocage et
l’occupation moyenne de la file d’attente comme des fonctions simples de ces paramètres
des lois, ainsi que sur les mécanismes dans les files.
L’avantage principal de ces techniques est qu’elles sont très efficaces, surtout lorsque la
solution analytique existe. En plus, elles permettent d’explorer un modèle de SMSC que
l’on contrôle parfaitement. Ceci entraîne en général une meilleure connaissance de la
dynamique du système.
Malheureusement, la complexité d’un centre de service de messagerie GSM rend la
modélisation impossible sans faire beaucoup de suppositions simplificatrices qui peuvent
compromettre la qualité des résultats.
Une fois le modèle est choisi validé, on peut commencer par la simulation pour évaluer le
système, valider le paramétrage choisi et assurer, ainsi, une bonne qualité de service et
des revenus maximales.
4.3
Outils de simulation
Il y a une très grande variété d’outils de simulation spécialisés dans l’analyse des files
d’attente. QNAP sera celui utilisé dans cette recherche.
4.3.1
QNAP
(Queueing Network Analysis Package) [9] est un langage de description et un outil
d’analyse de réseaux de files d’attente. Il est issu de la recherche menée à l’INRIA dans
les années 70 et 80, principalement, et maintenant il est distribué et maintenu par la
société Simulog. Le système à évaluer est modélisé par un réseau de stations. Une station
14
Chapitre 1 - Introduction générale
est composée d’une file d’attente, d’un ou de multiples serveurs attachés à cette file,
d’une discipline de service et d’un mécanisme de routage.
QNAP dispose de plusieurs modules de résolution pour analyser le réseau de files
d’attente. Un nombre limité de configurations simples peut être résolu analytiquement par
des solveurs exacts ou approchés (e.g., des algorithmes de convolution-théorème BCMP,
analyse MVA (Mean Value Analysis), approches heuristiques, …). Pour des
configurations plus complexes, il possède un solveur Markovien. Si cela ne suffit pas, par
exemple, à cause d’une explosion d’états du système, QNAP analyse le réseau au travers
d’une simulation à événements discrets.[6]
15
Chapitre 2
Centre de service de messagerie – SMSC
1.
Les SMS
Le message court ou le SMS, se compose de 160 caractères alphanumériques si on utilise
l'alphabet latin, de 140 caractères binaires si on utilise des données binaires et de 70
caractères pour les langues non-Latines comme l'arabe ou chinois.
Dans les réseaux GSM, les messages courts sont envoyés à travers le réseau sur des
canaux de signalisation. L'utilisation de ces canaux élimine l'utilisation des ressources
limitées de voix.[1]
Les messages courts fournissent des moyens à bon marché, pour l'opérateur et
l'utilisateur, pour communiquer avec d'autres abonnés mobiles et pour envoyer des
informations aux abonnés. L'utilisateur juste écrit le message sur le mobile et l'envoie.
Durant ces dernières années, le service de message court en GSM a évolué d'être un
service utilisé comme notification dans les messageries audio, à un service passionnant de
messagerie textuelle et WAP.
Le nombre de messages courts envoyés sur les réseaux GSM dans le monde entier a
dépassé le 1 milliard par mois. Cette augmentation rapide de transmission des messages
SMS a stupéfié les opérateurs de réseau. La plupart de ces opérateurs ont découvert que
leur infrastructure existante ne peut pas manipuler ce taux énormes de trafic du SMS.
16
Chapitre 2 - Introduction générale Centre de service de messagerie – SMSC
2.
2.1
Le SMSC
Définition
Le SMSC est le « bureau de poste » qui sert le trafic SMS sur le réseau GSM. Il
fonctionne comme une plateforme d'enregistrement et de transfert (store and forward
platform). Il reçoit les messages venant des utilisateurs, les analyse et les garde
localement, et les fournit à leur destination d’une façon sécurisée.
Le SMSC utilise le protocole GSM pour communiquer avec les MSCs et les HLRs dans
le réseau mobile. Typiquement, le SMSC offre une variété de protocoles d’interfaces qui
permettent aux entités non-mobiles d’envoyer des messages aux mobiles. Ceux-ci
incluent les protocoles du courrier électronique et d'Internet tels que le SMTP et le HTTP
pour les interfaces E-mail et Web. Ils fournissent également des protocoles des
entités/applications externes des messages courts comme le « Short Message Peer-toPeer » (SMPP) et le « External Machine Interface » (EMI) pour l'interfaçage et
l'interaction.
Le SMSC supporte aussi différents types de messages qui augmentent l'utilisation des
services des messages courts, comme les « Smart Messaging » et « Enhanced Messaging
Service » qui permettent aux utilisateurs d'échanger l’une des messages suivants :[1]
− Des sonneries (Ringing Tones).
− Des messages d'image (Picture Messages).
− Des logos d'opérateur (operator logo).
− Des icônes identifiant la ligne appelante (Calling Line Identifications icons).
− Des mélodies.
− Des sons (sounds).
− Des animations.
− ...
2.2
Architecture
Le SMSC peut être relié à différentes entités externes [2]. Il est relié au réseau mobile à
travers l’interface de l’unité de signalisation (Signaling Interface Unit – SIU) où est
implémenté le GMSC. Il peut utiliser trois types de protocoles pour se connecter à l’entité
externe des messages courts (External Short Messaging Entity – ESME):
− « Short Message Peer to Peer » (SMPP).
− « External Machine Interface » (EMI)
− SEMA ou « Open Interface Specifications » (OIS)
Ils peuvent utiliser soit le protocole TCP/IP soit le protocole X25 comme porteur.
Le SMSC se relie également aux systèmes suivants [12]:
− Système de facturation.
− Systèmes d’opération, d’administration et de maintenance (OAM).
− Système prépayé.
17
Chapitre 2 - Introduction générale Centre de service de messagerie – SMSC
ESME
ESME
SMPP sur
TCP/IP ou X25
Réseau Mobile
SIU
Syst. OAM
ESME
EMI sur
TCP/IP ou X25
G
M
S
C
SEMA sur
TCP/IP ou X25
SMSC
Syst. De fact.
Syst prépayé
Figure 1 - Le contexte du SMSC
2.3
Le logiciel
Le logiciel du SMSC est constitué :[1]
− D’un Système d’Opération. Il peut être Solaris ou Linux.
− D’une base de données spécifique avec son serveur. Elle peut être de type
Informix ou MySQL.
− De l’application SMSC.
Le logiciel du SIU est constitué :
− D’un système d’Opération.
− D’un GSM ou IS-41 MAP et le logiciel du protocole SS7.
2.4
2.4.1
Les interfaces
L’interface de l’unité de signalisation (SIU)
Le SMSC communique avec le reste du réseau mobile en utilisant le protocole GSM ou
IS-41 « Mobile Application Part » (MAP) à travers le SS7. Il peut communiquer
directement avec les centres de commutation mobile (MSC) et le « Home Location
18
Chapitre 2 - Introduction générale Centre de service de messagerie – SMSC
Register » (HLR) afin d'envoyer et de recevoir les messages courts aux appareils mobiles.
Il peut également communiquer avec ces éléments par le « Signaling Transfer Points »
(STP).
2.4.2
Le système OAM
Il est formé d’un certain nombre d’interfaces qui fonctionnent le système d'opération,
d'administration, et de maintenance (OAM). Elles permettent à un opérateur de lancer,
configurer, et surveiller le SMSC en service dans un réseau réel.
2.4.3
Le système de facturation
Le SMSC fournit une interface de facturation qui aide l'opérateur à charger ses abonnés
pour l'utilisation du service de message court.
2.5
Entité Externe des Messages courts « ESME »
Les interfaces ESME permettent à des applications externes non-mobiles de se connecter
avec le SMSC. Les opérateurs et les fournisseurs de service utilisent les connections de
l’entité externe des messages courts pour fournir aux abonnés mobiles une variété de
services, tels qu'envoyer des mises à jour de nouvelles, des e-mails de notification, des
logos, des sonneries, etc.… Actuellement, le SMSC peut supporter trois types
d'interfaces :
− « Short Message Peer to Peer » (SMPP).
− « External Machine Interface » (EMI) / « Universal Computer Protocol » (UCP).
− « Open Interface Standard » (OIS).
Chaque interface utilise un émetteur pour transmettre des messages à et un récepteur pour
recevoir des messages du SMSC. Tous les deux peuvent être sur la même connexion
(transceiver) ou chacun utilise une connexion différente (émetteur et/ou récepteur).[2]
2.5.1
Le récepteur
Le récepteur manipule tout le trafic des messages venant du SMSC vers le ESME.
L'administrateur de SMSC définit une adresse virtuelle de centre de service, et/ou une
gamme des adresses qui identifient le ESME. Le SMSC route tous les messages reçus
MO selon l'adresse indiquée vers le ESME convenable.
Le SMSC route les messages et les notifications ayant le ESME comme destination, vers
client ESME approprié à travers la base de données, comme représenté sur la figure cidessous :
19
Chapitre 2 - Introduction générale Centre de service de messagerie – SMSC
SMSC DB
Serveur récepteur
ESME
SMSC
Notification des
Messages Normales
Client ESME
ESME
JQ
Figure 2 - Le récepteur ESME
2.5.2
L’émetteur
Le serveur émetteur ESME reçoit tous les messages à diffuser du client ESME et les
envoie au SMSC, comme le montre la figue 3.
SMSC
SMSC DB
Serveur émetteur
ESME
Envoie du
message
Client ESME
Queue
du
SMSC
Figure 3 – L’émetteur ESME
2.5.3
Les files d’attente du ESME
Le SMSC peut supporter 2 méthodes pour faire passer les messages au récepteur ESME
[2] :
A. La base de données
Cette méthode assure qu'aucun message n'est perdu en cas de problèmes : les messages
sont stockés dans la base de donnéess pour être délivrés au récepteur ESME
correspondant. Ceci est convenable dans le cas des applications à bas trafic.
20
Chapitre 2 - Introduction générale Centre de service de messagerie – SMSC
B. Les Files d’attente
Cette méthode s’est avérée utile pour des applications en temps réel (comme les
applications vote), où un nombre énorme de messages devraient être manipulés dans une
période très courte. Elle est rapide et elle allège le système de la charge inutile sur la base
de donnéess.
3.
Gestion de messages
Ce document définit un message GSM en tant qu'un des événements suivants :
− Message court d’origine mobile, envoyé vers le SMSC.
− Message court, envoyé par le SMSC, vers un destinataire mobile.
Il existe plusieurs autres types de messages GSM, mais seulement les 2 types précédents
seront expliqués et détaillés pour être modélisés après.
3.1
Les messages MO
Le mobile d’origine écrit le SMS et l’envoie vers le mobile destinataire. Le GMSC reçoit
le message envoyé et le transmet au SMSC. Celui-ci enregistre le SMS dans sa base de
données pour l’envoyer après au mobile destinataire. Un acquittement sera créé pour
informer le mobile d’origine que le message est reçu par le SMSC. Si le MO ne reçoit
l’acquittement avant six secondes, le mobile affiche une erreur de transmission par
défaut.
21
Chapitre 2 - Introduction générale Centre de service de messagerie – SMSC
MO
GMSC
SMSC
SMSC
Envoie nouveau SM
Envoie nouveau SM
Stocke le nouveau SM
ACK
ACK
Figure 4 - Message du MO vers le SMSC
3.2
Les messages MT
Le SMSC, ayant stocké le message reçu dans sa base de données, commence l’opération
de transmission vers le destinataire. L’émetteur envoie le message vers le GMSC, qui, à
son tour, l’envoie vers le mobile destinataire à travers les canaux de signalisation. Alors
le mobile récepteur envoie un acquittement vers le SMSC pour confirmer qu’il a bien
reçu le message. Ayant reçu l’acquittement, le SMSC efface le message de sa base de
données pour laisser la place aux autres SMS.
22
Chapitre 2 - Introduction générale Centre de service de messagerie – SMSC
SMSC
Storage
SMSC
GMSC
MS
Nouveau SM
Livrer le nouveau SM
Stocke le nouveau SM
ACK
ACK
Mise à jour de l’état du SM
Figure 5 - Message du SMSC vers MT
4.
Suivi et acquittement
Il est possible de demander à être informé de la remise correcte ou de la non-remise d’un
SMS par un mécanisme d’acquittements.
Le réseau peut ainsi délivrer des acquittements permettant de suivre le cheminement du
SMS expédié :
− Acquittement de réception par le réseau : message en transit.
− Acquittement de remise au destinataire : message reçu par le mobile destinataire.
− Avis d’erreur lorsque le SMS n’a pu être transmis au destinataire lors d’un essai
du réseau : message en erreur, sera réexpédié.
− Avis de non remise définitif à la fin du cycle de tentatives d’expédition ou à
l’expiration de la durée de vie du SMS : message non remis.
5.
Les transactions
Le SMSC contient plusieurs processus et des dizaines de files d’attente qui entrent en jeu
lors de transmission de chaque message. Figure 6 illustre l’acheminement du message dès
son départ du mobile jusqu'à son arrivée au destinataire. Lors de son départ vers le mobile
destinataire, le message subit l’une des transactions suivantes :
− MO – MT
23
Chapitre 2 - Introduction générale Centre de service de messagerie – SMSC
− MO – MO-ack
− MT – MT-ack
5.1
MO – MT
Le message envoyé du MO vers MT subit consécutivement les actions suivantes :
1. Le mobile envoie le message court vers le GMSC.
2. Le GMSC capte le message et l’envoie vers le SMSC.
3. Le « SMSC RX Process » reçoit le SM et le stocke dans la première file d’attente
« RX MO Queue ».
4. Le message attend son tour dans la queue des messages reçus. La discipline de
service de cette file d’attente est FIFO, c'est-à-dire les messages accèdent au
service dans l’ordre de leurs arrivées.
5. Le « SMSC RX MO Process » lit le SM de sa queue, l’analyse et le remis dans
une deuxième file d’attente « Messages Queue »
6. Il attend son tour de nouveau dans cette dernière file où la discipline est toujours
FIFO.
7. Le processus principal « SMSC Main Process » lit le SM, le décompose de
nouveau pour le mettre après dans une dernière file d’attente « TX Queue ».
8. Stocké dans la dernière file d’attente, le message subit une attente finale dans la
queue d’émetteur.
9. L’émetteur prend le message de sa queue et l’envoie vers le GMSC. L’émetteur
est muni d’un régulateur configurable de trafic qui peut régler le nombre des
messages envoyés vers le GMSC.
10. Ce dernier utilise les canaux de signalisation de nouveau pour délivrer le message
au destinataire.
Durant tout son trajet, le SMS subit 3 attentes consécutives dans 3 types de files d’attente
dans le SMSC :
1. « RX MO Queue »
2. « Messages Queue »
3. « TX Queue »
L’analyse de ces files d’attente sera le sujet du quatrième chapitre de ce document.
24
Chapitre 2 - Introduction générale Centre de service de messagerie – SMSC
SMSC
PLMN
2
MO
Mobile
Originated
12
SMSC RX
Process
13
RX MT
Queue
14
SMSC RX
MT Process
4
SMSC RX
MO Process
5
Messages
Queue
1
3
7’
MO-ack
RX MO
Queue
GMSC
5’
6
MO Ack
MO Ack
Queue
MT
Mobile
Terminated
SMSC Main
Process
10
11
MT-ack
7
6’
9
SMSC TX
Process
8
TX
Queue
Figure 6 - MO MT livraison réussie avec la première tentative
25
Chapitre 2 - Introduction générale Centre de service de messagerie – SMSC
5.2
MO – MO-ack
Comme déjà expliqué, le mobile d’origine doit obligatoirement recevoir un acquittement
de son message durant un temps bien déterminé pour ne pas afficher une erreur de
transmission. Les actions suivantes seront concernées par ce type de transaction.
1. Le mobile envoie le message court vers le GMSC.
2. Le GMSC capte le message et l’envoie vers le SMSC.
3. Le « SMSC RX Process » reçoit le SM et le stocke dans la première file d’attente
« RX MO Queue ».
4. Le message attend son tour dans la queue des messages reçus. La discipline de
service de cette file d’attente est FIFO, c'est-à-dire les messages accèdent au
service dans l’ordre de leurs arrivées.
5. Le « SMSC RX MO Process » lit le SM de sa queue, l’analyse et le remet dans
une deuxième file d’attente spécifique pour les acquittements« MO Ack Queue »
6. L’acquittement attend son tour dans cette dernière file où la discipline est toujours
FIFO.
7. L’émetteur prend le message de sa queue et l’envoie vers le GMSC. Il n’y a
aucune contrainte sur le taux d’acquittements envoyés par l’émetteur puisque ce
genre de message a une grande priorité sur d’autres types de messages. Mais la
capacité des liens sera prise en considération dans ce cas là. Un simple calcul
nous donne le taux maximal que peut supporter l’émetteur.
8. Le GMSC, à son tour, l’envoie vers le mobile d’origine.
Dans ce cas, le message passe par 2 files d’attente :
1. « RX MO Queue »
2. « MO Ack Queue »
5.3
MT – MT-ack
Le SMSC doit recevoir un acquittement de la part du mobile destinataire pour pouvoir
effacer le message de sa base de données et laisser par suite de la place pour d’autres
messages. Les actions suivantes seront le sujet ce type de messages.
1. Ayant reçu le message, le destinataire crée l’acquittement MT-ack et l’envoie vers
le GMSC.
2. Le GMSC capte le message et l’envoie vers le SMSC.
3. Le « SMSC RX Process » reçoit le SM et le stocke dans la seule file d’attente
pour ce type de message « RX MT Queue ».
4. L’acquittement attend son tour dans cette file où la discipline de service est FIFO.
5. Et Finalement, le « SMSC RX MT Process » le prend, le vérifie et efface le SMS
correspondant de sa base de données.
L’acquittement MT-ack passe par une seule file d’attente qui est la « RX MT Queue ».
26
Chapitre 2 - Introduction générale Centre de service de messagerie – SMSC
L’analyse de ce type de message est très important afin d’améliorer la performance du
SMSC, car le SMS ne sera jamais effacé de la base de données avant la réception du MTack. Par suite le système ne peut pas le remplacer par un nouveau message.
6.
6.1
Mécanisme de contrôle du surcharge
Anti-spamming
Pour diminuer la charge du trafic, le SMSC est muni d’un système « anti-spammning ».
Ce système connu dans le monde des courriers électroniques, limite le nombre des
messages envoyés à un seul destinataire et bloque ainsi tous les messages qui excèdent
cette limite.
6.2
Régulation de la sortie
Le SMSC est muni d’un régulateur de sortie qui empêche de surcharger les liens de
signalisation. Cette régulation dépend du type de message envoyé : les acquittements
auront une priorité sur d’autres types de messages.
6.3
La protection de l’entrée
S'il y a un trafic de MO que le SMSC ne peut pas manipuler, les messages sont stockés
dans une file d’attente jusqu'à une certaine limite. Quand la file d'attente se remplit, les
messages supplémentaires entrants sont rejetés. Ceci assure que le SMSC fonctionne à sa
capacité maximale.
27
Chapitre 3
La théorie de la file d’attente
Comme on peut le constater, la file d’attente est aussi vieille que le monde. Toutefois,
c’est seulement au début du XXe siècle, précisément en 1909, que le premier écrit
scientifique sur la question a été publié. Aujourd’hui, la théorie s’est sérieusement
développée au point où elle occupe une place importante dans la recherche
opérationnelle, les systèmes de gestion optimale des entreprises, comme le prouvent notre
recherche sur la modélisation d’un centre de service de messagerie GSM.[11]
1.
Définition des concepts
La théorie de la file d’attente utilise un jargon dont il convient de préciser le contenu des
concepts [11] :
− Unité : C’est une personne ou un groupe de personnes, un objet ou un groupe
d'objets, qui se présente dans le système d’attente pour bénéficier de service; en
ce sens, l'unité est indivisible. Dans le cas présent, il s’agit de chaque SMS
envoyé par le client par son mobile vers un autre client.
− Arrivée : Chaque entrée d'une unité dans le système d'attente est appelée arrivée.
− Inter arrivée : C’est l’intervalle de temps qui sépare deux arrivées successives.
28
Chapitre 3 - La théorie de la file d’attente
− Station : C'est la personne ou le dispositif qui, dans le système, prête service au
bénéfice des unités. Il peut en avoir plusieurs. Ici, c’est chaque processus dans le
SMSC.
− File d'attente : La file d'attente peut être définie comme l'ensemble constitué par
les unités dans l'ordre d'arrivée, qui attendent d'être servies par une ou plusieurs
stations. Elle exclue la (les) unité(s) en cours de service. Il peut en exister
plusieurs dans un système d’attente.
− Service : C'est l'ensemble des opérations qui concourent à la satisfaction d'un
besoin exprimé par une unité.
− Système d'attente : C'est l’ensemble formé par les files d’attente, les unités en
cours de service, la (les) station(s) de service, ainsi que les unités quittant après
avoir bénéficié du service.
− Temps d’attente (temps d’attente dans le système) : Le temps d’attente d’une unité
dans un système d’attente est le temps total écoulé entre l’entrée de l’unité dans le
système et le début du service à son profit.
− Temps moyen d’attente : C’est la moyenne des temps d’attente observés.
− Temps de service : C’est la durée du service dont bénéficie une unité dans le
système. En d’autres termes, c’est le temps écoulé entre le début du service
effectif à son profit et la fin du service.
− Temps moyen de service : C’est la moyenne des temps de services observés.
− Intensité du trafic, ou taux d’occupation des stations : C’est un chiffre compris
entre 0 et 1 indiquant la proportion du temps d’utilisation des stations. Il peut
aussi être exprimé en pourcentage. C’est la fraction espérée de temps d’ouverture
pendant lequel les stations sont occupées.
− Etat du système : c’est le nombre de clients dans le système. Il comprend aussi les
unités en cours de service.
− Longueur de la file d’attente : C’est le nombre d’unités dans le système en attente
de bénéficier du service. Il ne comprend pas les unités en cours de service.
− Taux moyen de service : c’est le nombre moyen de services enregistré dans le
système par unité de temps.
− Taux moyen des arrivées : C’est le nombre moyen d’arrivées enregistrées par
unité de temps dans le système.
29
Chapitre 3 - La théorie de la file d’attente
− Discipline d’attente (ou discipline de la file d’attente) : « ensemble des relations
d’ordre ou priorités qui interviennent dans la file d’attente ».
− Capacité du système : C’est le nombre moyen de service que le système peut
offrir.
2.
Généralités sur la file d’attente
Pour qu’il y ait une file d’attente, il faut qu’il existe des besoins exprimés dans un centre
dédié à les satisfaire ; de plus, il faut que la durée moyenne de service soit supérieure à la
moyenne des inter-arrivées.
Le schéma général d’un système d’attente (Figure 7) comprend :
− Un centre de service, point où arrivent les unités pour bénéficier du service, et
d’où elles partent après le service.
− Des unités se présentant pour bénéficier du service.
− Une ou plusieurs stations pour prêter service des unités : les stations peuvent être
en parallèle ou en série. Lorsqu’elles sont en série, elles sont les unes à la suite
des autres et contribuent chacune au service au bénéfice des unités (Figure 8) ;
une unité passe donc par chacune des stations de la série avant de quitter le
système. Lorsqu’elles sont en parallèle, elles offrent les mêmes services. Par
conséquent, une unité qui se présente à n’importe quelle station bénéficie du
service désiré et n’a plus besoin de se présenter à une autre station (Figure 9). Un
système de file d’attente peut être mixte, c’est à dire composé à la fois de stations
en série et de stations en parallèle.
− Une ou plusieurs files d’attente.
30
Chapitre 3 - La théorie de la file d’attente
entrée
entrée
entrée
File d’attente
Station
.
.
.
.
.
.
File d’attente
sortie
Station
Centre de service
Figure 7 - Schéma général d'un système d'attente.
…
entrée
sortie
File d’attente
Station 1
Station 2
Station n
Figure 8 - Stations en série dans un système d’attente.
31
Chapitre 3 - La théorie de la file d’attente
Station 1
Station 2
entrée
File d’attente
.
.
.
sortie
Station n
Figure 9 - Stations en série dans un système d’attente.
3.
Les modèles de files d’attente
Deux éléments principaux entrent en ligne de compte dans la détermination d’un modèle
de file d’attente : la nature de la distribution statistique des arrivées et celle des durées de
service. Etant donné que ces deux éléments sont cernés à partir des lois de probabilité qui
les caractérisent, les modèles de file d’attente sont dits « probabilistes ».
3.1
Classification des modèles de files d’attente
Les spécialistes de la théorie de la file d’attente ont étudié plusieurs systèmes qu’ils ont
répartis en modèles en se basant sur les lois de probabilité décrivant les arrivées et les
services.
En vue de faciliter la communication et l’échange d’information entre chercheurs,David
Kendall introduisit, en 1953, un système de notation des différents modèles de file
d’attente. Un modèle de file d’attente est complètement décrit lorsqu’on en connaît les
cinq éléments suivants [11] :
− La loi de probabilité des arrivées.
− La loi de probabilité des services.
− Le nombre de stations de service.
32
Chapitre 3 - La théorie de la file d’attente
− Le nombre de places disponibles dans le système, c’est à dire, le nombre maximal
d’unités pouvant simultanément se trouver dans le centre de service.
− la discipline de la file.
Suivant la notation de Kendall, un modèle de file d’attente se présente sous la forme
générique abrégée A/B/C/D/E ; les lettres A, B, C, D et E caractérisent respectivement les
cinq éléments cités plus haut. Elles peuvent avoir les valeurs ou significations suivantes :
− A : Loi de probabilité des arrivées. Elle peut avoir plusieurs valeurs dépendant de
la nature de la loi de probabilité des arrivées :
o M : Les inter-arrivées suivent la loi exponentielle (ou les arrivées suivent
la loi de Poisson).
o D : Les inter-arrivées sont constantes.
o Ek : Les inter-arrivées suivent la loi de Erlang d’ordre k.
o Hk : Les inter-arrivées suivent la loi hyper exponentielle de paramètre k.
o G : Les arrivées suivent une loi de probabilité générale (c’est à dire autres
que celles indiquées plus haut).
− B : Loi de probabilité des services. Elle peut avoir plusieurs valeurs dépendant de
la nature de la loi de probabilité des services :
o M : les durées de service suivent la loi exponentielle.
o D : Les services ont une durée constante.
o Ek : Les durées de service suivent la loi de Erlang d’ordre k.
o Hk : Les durées de service suivent la loi hyper exponentielle de paramètre
k.
o G : Les durées de service suivent une loi de probabilité générale (c'est-àdire autres que celles indiquées plus haut) dont on connaît la moyenne et
l’écart type.
− C et D sont des valeurs numériques indiquant respectivement le nombre de
serveurs et le nombre de places disponibles dans le système. Par défaut, c’est à
dire en l’absence de précision, D est supposé infini.
− E est la discipline de la file d’attente, c’est à dire le principe d’accès au service.
Les cas possibles sont :
o Les unités accèdent au service dans l’ordre de leurs arrivées au centre de
service : c’est le principe du Premier venu, premier servi, en anglais First
come, first served ou encore First in, first out (FIFO).
o Les unités accèdent au service dans l’ordre inverse d’arrivée : le dernier
venu accède au service en première position. C’est le principe du Dernier
venu, premier servi, en anglais Last come, first served ou encore Last In,
first out (LIFO).
o Aléatoire : en anglais Service in random order (SIRO).
o Durée de service la plus courte.
o Autre.
33
Chapitre 3 - La théorie de la file d’attente
Par défaut, la discipline de service est FIFO.
3.2
Quelques exemples de modèles de files d’attente
Ci-dessous quelques exemples de modèles de files d’attente suivant la notation de
Kendall que nous explicitons.
− M/M/8 : Les arrivées suivent la loi de Poisson, les durées de service la loi
exponentielle ; le système compte 8 serveurs. Le nombre de places disponibles est
infini; la discipline de la file est FIFO.
− M/G/5/-/SIRO : Les arrivées suivent la loi de Poisson, les durées de service une
loi générale. Le système compte 5 serveurs. Le nombre de places disponibles est
infini. La discipline de la file est SIRO.
− G/E5/2/100 : Les arrivées suivent une loi générale ; les durées de services suivent
la loi de Erlang de paramètre 5. Il existe 2 serveurs. Le nombre de places
disponibles dans le système est 100, et la discipline de la file est FIFO.
− G/G/8 : Les arrivées suivent une loi générale, les durées de services une loi
générale. Il existe 8 serveurs. Le nombre de places disponibles dans le système est
infini, et la discipline de la file est FIFO.
4.
Performances d’un système d’attente
Une fois le modèle d’une file d’attente connu, il est possible d’évaluer la performance du
système par le calcul des indicateurs suivants :
− La probabilité que le système soit libre, c’est-à-dire, la probabilité qu’aucune
unité ne soit dans le système.
− Le temps moyen qu’une unité passe dans le système.
− La probabilité qu’il y ait un certain nombre d’unités dans le système.
− La probabilité qu’une unité entrante attende pour le service.
− Le nombre moyen d’unités dans le système.
− Le nombre moyen d’unités dans la file d’attente.
− Le temps moyen qu’une unité passe dans la file d’attente.
− Le taux d’occupation des stations de service (ou taux de trafic ou intensité du
trafic).
− La capacité du système.
− Le nombre moyen de stations occupées (ou inoccupées).
− La probabilité qu’une unité attende pendant un certain temps avant de bénéficier
du service.
− …..
34
Chapitre 4
Evaluation de performance d'un SMSC
1.
Introduction
Depuis quelques années, le SMS connait une croissance étonnante. L’augmentation du
nombre d’utilisateurs et l’accroissement conséquent du trafic du SMSC, la demande de
nouveaux services et l’apparition d’une compétition accrue entre les différents
fournisseur de service GSM, ont stimulé le développement de nouvelles technologies et
le déploiement de centraux de SMS avec de haute capacité.
La conception efficace des SMSC ne peut pas être accomplie sans une bonne
connaissance de leurs performances.
Afin d’évaluer la performance de notre SMSC, il faut modéliser le système par une file
ou une chaîne de files d’attente et prendre des mesures directes pour valider les modèles
choisis.
Selon le niveau de détail désiré, les mesures directes peuvent être une option très
coûteuse. En effet, l’analyse d’un centre de SMS dans les conditions d’opération exige
l’utilisation des moniteurs de trafic et des compteurs de SMS, et par suite un
développement qui peut prendre beaucoup de temps selon les détails de mesures
souhaités. Par exemple, le trafic de type « MO – MO-ack » peut être modélisé par une
seule file d’attente, et par suite, une seule mesure directe à la sortie du système sera
suffisante. Mais pour avoir une image réelle du système, chaque processus et chaque
queue qui entrent en jeu dans la création et l’acheminement de ce type de message
35
Chapitre 4 - Evaluation de performance d'un SMSC
doivent être représentés par une file d’attente avec une certaine discipline de service. Ceci
augmente le nombre des mesures requis et par suite un développement pénible.
Afin de bien modéliser le système tout en minimisant le coût des mesures directes, on a
commencé par un modèle simple où on a modélisé chaque type de message par une seule
file d’attente, pour le compliquer après jusqu'à arriver à une représentation quasi réelle du
SMSC.
2.
Les files d’attente
Pour modéliser et analyser le comportement d’un système complexe (comme le SMSC),
un seul système de file d’attente est insuffisant. Dans la suite on va modéliser le système
par plusieurs files d’attente où chacune d’elles représente un ou plusieurs processus dans
le SMSC. Mais avant, nous ferons quelques considérations théoriques.
Nous admettrons dans la suite que les hypothèses suivantes sur les services et les arrivées
au SMSC sont vérifiées :
− La probabilité que n SMS arrivent pendant un intervalle de temps ne dépend pas
de l’instant initial. Par exemple, si 10 messages arrivent au SMSC entre 10h et
11h, nous considérons que 10 messages peuvent encore arriver au SMSC dans
n’importe quelle tranche d’une heure de la période d’utilisation du SMSC.
− Deux arrivées ne se produisent jamais en même instant : quelques secondes ou
fractions de secondes les séparent.
− Les arrivées sont indépendantes. Les inter-arrivées des SMS suivent la loi
exponentielle (ou les arrivées suivent la loi de Poisson).
− L’influence d’un seul travail sur la performance du système est négligeable.
− Les durées de services sont indépendantes et suivent la loi exponentielle.
− L’accès au service se fait suivant le principe FIFO.
Dans cette chaîne des files d’attente, chaque processus avec sa queue se comporte comme
une file d’attente indépendante de type M/M/1/K. Ainsi les mesures de performance (i.e.
trafic offert ρi et le temps de séjour dans la file d’attente Ti) d’un processus i, sont
données en appliquant les expressions du M/M/1/K sur le processus correspondant.
Les paramètres suivants seront associés à chaque file d’attente :
− Le taux d’arrivée (λ) : le taux moyen des arrivées des SMS.
36
Chapitre 4 - Evaluation de performance d'un SMSC
− Le temps de service (Ts) : le temps moyen utilisé pour traiter un nouveau SMS.
− Le temps d’attente (Tq) : la quantité moyenne de temps où un SMS reste dans la
file d'attente.
− Le temps de réponse du système (T) : T = Ts + Tq
1
, donc le système de files
Ts
d’attente est dit stable. Et par suite, tout message qui entre dans la file d’attente sera traité
1
et la taille de la queue sera limitée. D’autre part, si (λ) est plus grand que , alors le
Ts
système est dit instable, et la taille de la queue augmente sans limite.
Si le taux d’arrivée (λ) est plus petit que le taux de service
Ainsi :
1. λ <
1
donc le système est stable
Ts
Ou
2. λ >
1
donc le système est instable.
Ts
Le facteur de charge de la file avec un seul service est donné par l’équation suivante :
ρi =
λi
µi
Où ρ < 1 est la condition de stabilité, et l’intensité de service µ =
(Equation 1)
1
Ts
Le temps de service de chaque file d’attente est donné par :
1
µi
Ti =
(Equation 2)
1− ρ
Finalement pour étudier la taille de la queue pour chaque file d’attente, on utilise le
théorème de Little. Le Théorème de Little détermine pour chaque système stable, le
nombre des SMS dans la queue.
N = λ*T
(Equation 3)
37
Chapitre 4 - Evaluation de performance d'un SMSC
3.
3.1
L’environnement du test en charge
L’architecture du test en charge
Le SMSC utilisé est conforme avec 3GPP 23-040 R99. Il peut performer au maximum 50
messages par seconde. Avec ce débit, on peut facilement aboutir à un fonctionnement en
charge. Le SMSC écrit dans une base de donnéess de type INFORMIX. Il peut aussi
écrire des informations utiles pour cette expérience, dans une mémoire partagée (shared
memory). Ces informations peuvent être lues et enregistrées dans des fichiers de type csv
avec un logiciel « jstat ».
Le SMSC est installé sur une machine « Sun Fire V120 » fabriquée par « SUN
microsystem » munie d’une mémoire de capacité 1024 Mo. Le logiciel est le « SunOS »
version 5.8.
Un GMSC conforme avec 3GPP 29.022 R99, est installé sur une autre machine avec le
simulateur de l’unité de signalisation (Signaling Unit). Ce dernier a été conçu et
développé pour simuler les différentes transactions qui auront lieu entre le client et le
SMSC.
Le GMSC est installé sur un « Pentium 4 » INTEL muni d’un microprocesseur 1.8 GHz
et une mémoire de 512 Mo. Le logiciel est un « Red Hat Linux » version 2.4.18. Il peut
supporter au maximum 1000 dialogues simultanés. C'est-à-dire si le nombre de SMS
envoyé en même temps dépasse ce nombre, l’excès sera rejeté.
Par conséquence, le schéma fonctionnel du test en charge deviendrait comme illustré cidessous :
MO
MO-ack
SMSC DB
SIU
GMSC
MT
MT-ack
SMSC
Figure 10 - Schéma fonctionnel du test en charge
38
Chapitre 4 - Evaluation de performance d'un SMSC
3.2
Les outils du test en charge
Ces outils ont été conçus et développés afin de simuler les transactions qui auront lieu
entre l’utilisateur et le SMSC.
Il s’agit d’un logiciel qui envoie un nombre configurable de SMS (MO) ayant des
adresses différentes MSISDN, reçoit et valide l’acquittement envoyé par le SMSC (MOack), reçoit le SMS (MT) et envoie un acquittement au SMSC (MT-ack).
Une commande peut facilement régler le débit de SMS envoyé lors de nos expériences.
4.
Modélisation et mesure
L’objectif principal de cette section est de souligner l’importance de disposer de modèles
appropriés pour représenter le système à évaluer. En représentant le système, nous
utilisons des modèles bien connus sans réfléchir sur les répercussions que les
simplifications implicites dans ces modèles peuvent avoir sur les résultats de
l’expérience.
L’évaluation des performances d’un SMSC nécessite, entre autre, la modélisation
adéquate des processus dont il est composé. Très souvent, un tel processus est modélisé
par une file ou une chaîne de files d’attente. On a commencé par un premier choix où on
a modélisé chaque transaction par une seule file. Puis on a recours, dans un second choix,
à un modèle plus complexe pour offrir une image plus réelle du système. Et enfin, un
dernier modèle a été introduit pour mettre en valeurs l’influence du microprocesseur sur
la performance du système.
4.1
Premier choix
Le SMSC, comme déjà expliqué, est un système très complexe formé de plusieurs queues
avec leurs processus correspondants. Une seule file d’attente ne suffit pas pour modéliser
un tel système. Mais avec trois files d’attente, le modèle sera plus réel :
− Une file d’attente pour modéliser les transactions MO – MO-ack.
− Une autre modélisant les transactions MO – MT.
− Et enfin une dernière pour modéliser les transactions MT – MT.ack.
4.1.1
MO – MO-ack
Les messages de type MO-ack ont des privilèges sur d’autres messages. En effet ils
doivent être délivrés avec une très grande priorité. Donc théoriquement il ne faut pas
avoir de limitation sur le serveur de transmission d’acquittement.
Cependant, comme il y a de limitation sur les capacités des liens, donc le taux de service
C (bit / s )
du serveur sera en moyenne égale à µ =
, où C est la capacité des liens en bits
8* L
par seconde et L la taille du paquet contenant un certain nombre de MO envoyés vers le
39
Chapitre 4 - Evaluation de performance d'un SMSC
GMSC. Dans nos mesures, on a fixé C à 400 000 bits/s et L à 16 bytes d’où μ = 3125
msg/s. C’est impossible de fonctionner le SMSC avec un tel taux d’entrées.
La taille de la queue étant limitée à 2048 messages, on a modélisé cette transaction par
une file d’attente de type M/M/1/K avec K = 2048.
Tableau 1 - Valeurs des temps de séjour pour MO – MO-ack (1er choix).
λ (msg/s)
10
20
30
40
50
60
70
80
90
100
Mesures directes (ms)
121
116
99
93
95
105
91
99
103
103
Valeurs théoriques (ms)
32
32
32
32
32
32
32
32
32
32
M/M/1/K
MO - MO-ack
SMSC
MO-ack
K = 2048msg, μ = 3125 msg/s
Figure 11 - Modélisation du MO – MO-ack (1er choix).
40
Chapitre 4 - Evaluation de performance d'un SMSC
140
120
Temps de séjour (ms)
100
80
60
40
20
0
0
20
40
60
80
100
120
Taux d'entrée (msg/s)
Figure 12 - Courbe des valeurs par mesures directes du temps de séjour pour MO – MOack (1er choix).
35
30
Temps de séjour (ms)
25
20
15
10
5
0
0
20
40
60
80
100
120
Taux d'entrée (msg/s)
Figure 13 - Courbe des valeurs théoriques du temps de séjour pour MO – MO-ack (1er
choix).
4.1.2
MO – MT
Le serveur de transmission des messages MT est muni d’un régulateur pour envoyer au
maximum 50 messages par seconde. Il peut faire 1000 dialogues simultanément. Ces
valeurs peuvent être modifiées dans le fichier de configuration. Par conséquence, on a
choisi la file d’attente de type M/M/1/K pour modéliser les transactions de type MO –
MT, avec μ = 50msg/s et K = 1000 msg.
La probabilité de blocage sera calculée et mesurée par la suite pour déterminer la quantité
des SMS rejetés quand la file est pleine.
41
Chapitre 4 - Evaluation de performance d'un SMSC
M/M/1/K
MO - MT
SMSC
MT
K = 1000msg, μ = 50 msg/s
Figure 14 - Modélisation du MO – MT (1er choix).
Tableau 2 - Valeurs des temps de séjour pour MO – MT (1er choix).
λ (msg/s)
10
20
30
40
50
60
70
80
90
100
Mesures directes (ms)
48
56
72
128
20508
49914
49520
49497
49945
49735
Valeurs théoriques (ms)
25
33
50
100
10000
20000
20000
20000
20000
20000
42
Chapitre 4 - Evaluation de performance d'un SMSC
60000
50000
Temps de séjour (ms)
40000
30000
20000
10000
0
0
20
40
60
80
100
120
Taux d'entrée (msg/s)
Figure 15 - Courbe des valeurs par mesures directes du temps de séjour pour MO – MT
(1er choix).
25000
Temps de séjour (ms)
20000
15000
10000
5000
0
0
20
40
60
80
100
120
Taux d'entrée (msg/s)
Figure 16 - Courbe des valeurs théoriques du temps de séjour pour MO – MT (1er choix).
Tableau 3 - Valeurs de la probabilité de blocage (1er choix).
λ (ms/s)
10
20
30
40
50
Mesures directes
Valeurs théoriques
0
0
0
0
0.022
0
0
0
0
0
43
Chapitre 4 - Evaluation de performance d'un SMSC
60
70
80
90
100
0.181
0.302
0.386
0.455
0.509
0.167
0.286
0.375
0.444
0.500
0.6
0.5
Probabilité de blocage
0.4
0.3
0.2
0.1
0
0
20
40
60
80
100
120
Taux d'entrée (msg/s)
Figure 17 - Courbe des valeurs par mesures directes de la probabilité de blocage (1er
choix).
0.600
0.500
Probabilité de blocage
0.400
0.300
0.200
0.100
0.000
0
20
40
60
80
100
120
Taux d'entré (msg/s)
Figure 18 - Courbe des valeurs théoriques de la probabilité de blocage (1er choix).
44
Chapitre 4 - Evaluation de performance d'un SMSC
4.1.3
MT – MT-ack
Théoriquement le temps que le SMS de type MT-ack prend pour arriver au SMSC doit
être constant et égale à 12 secondes puisque on simule le GSM network. Mais après les
tests, on eu des valeurs totalement différentes, qui commencent par 12 secondes
jusqu’arriver à 41 secondes pour un taux d’entrées variant entre 10 et 100 messages par
seconde.
M/M/1/K
Délai (12 sec)
MT – MT-ack
SMSC
MT
Figure 19 - Modélisation de MT - MT-ack (1er choix).
Tableau 4 - Valeurs des temps de séjour pour MT – MT-ack (1er choix).
λ (msg/s)
10
20
30
40
50
60
70
80
90
100
Mesures directes (ms)
12291
12300
12344
12329
27189
41655
41599
41681
41691
41618
Valeurs théoriques (ms)
12000
12000
12000
12000
12000
12000
12000
12000
12000
12000
45
Chapitre 4 - Evaluation de performance d'un SMSC
45000
40000
35000
temps de séjour (ms)
30000
25000
20000
15000
10000
5000
0
0
20
40
60
80
100
120
Taux d'entrée (msg/s)
Figure 20 - Courbe des valeurs par mesures directes du temps de séjour pour MT – MT-ack
(1er choix).
14000
12000
Temps de séjour (ms)
10000
8000
6000
4000
2000
0
0
20
40
60
80
100
120
Taux d'entrée (msg/s)
Figure 21 - Courbe des valeurs théoriques du temps de séjour pour MT – MT-ack (1er
choix).
4.1.4
Conclusion
La simplification est très importante dans la modélisation et la simulation des systèmes
très compliqués comme le SMSC. En effet, toute modélisation correcte et acceptable doit
commencer par des modèles simplifiés.
D’après les résultats précédents on peut conclure :
− Le modèle choisi pour les transactions MO – MO-ack est proche de la réalité,
mais il faut qu’en même le diviser en plusieurs files d’attente.
46
Chapitre 4 - Evaluation de performance d'un SMSC
− L’allure des résultats des mesures directes dans le cas MO – MT, montre
l’existence de deux files d’attente de type M/M/1/K. Ce qu’il faut prendre en
considération dans le second choix.
− La probabilité de blocage est bien sûre valide.
− Et enfin le schéma des valeurs du temps de séjour dans le cas MT – MT-ack
montre l’existence de deux files d’attente en série ; une de type M/M/1/K et une
autre qui ajoute un certain retard de 12 secondes sur le temps de séjour.
4.2
Second choix
Comme on a eu quelques différences entre les mesures directes et les valeurs théoriques,
on était obligé d’entrer plus en détail. C'est-à-dire chaque type de transaction sera
modélisé par deux ou plusieurs files d’attente en série ou en parallèle.
Dans cette partie, on va remplacer chaque processus avec sa queue du SMSC par une file
d’attente de type bien défini comme le montre la Figure 22. Ceci nécessite un
développement sur le SMSC pour pouvoir prendre des mesures plus détaillées.
D’autre part, pour pouvoir prendre des valeurs théoriques et comparer les résultats, nous
avons utilisé le QNAP et nous avons développé une commande en langage C qui prend
les paramètres de la file M/M/1/K comme entrée, et donne le temps de service et d’autres
valeurs utiles en sortie (voir annexe A).
Les messages de type MO arrivant au SMSC en -1- (voir Figure 22) attendent dans la file
A. Un générateur d’acquittements reçoit les MO, génère d’une part les acquittements
correspondants MO-ack pour les envoyer en -2- vers la file B ; et d’autre part envoie en 3- les messages MO vers la file C. Cette dernière, ayant une capacité maximale de 1000
messages, bloque l’excès et transmet les autres en -4- vers la file D qui envoie chaque
message vers le client correspondant en -5-. Les mobiles génèrent des acquittements MTack et les envoient vers les SMSC en -6- à travers la file d’attente F pour arriver
finalement vers la file E qui efface le message de la base de donnéess en -7-.
Donc le SMSC est, dans ce cas, divisé en 6 files d’attente, chacune représente une queue
avec le processus correspondant :
A. « RX MO Queue » + « SMSC RX MO Process »
B. « MO Ack Queue » + « SMSC TX Process »
C. « Messages Queue » + « SMSC Main Process »
D. « TX Queue » + « SMSC TX Process »
E. « RX MT Queue » + « SMSC RX MT Process »
F. « GMSC + network GSM Queues »
47
Chapitre 4 - Evaluation de performance d'un SMSC
File d’attente F
MT
GMSC +
GSM net
M/M/1/K
File d’attente E
MT-ack
6
RX-MT
SMSC
RX-MT
7
File d’attente C
3
message
SMSC
MAIN
File d’attente D
4
TX
MT
5
SMSC
TX
File d’attente A
MO
1
MO
SMSC MT
RX-MO
Générateur d’ack
File d’attente B
2
MO-ack
SMSC
TX
MO-ack
Figure 22 - Modélisation du SMSC
48
Chapitre 4 - Evaluation de performance d'un SMSC
4.2.1
MO – MO-ack
Durant tout son trajet, les messages de type MO – MO-ack subissent 2 attentes
consécutives dans 2 types de files d’attente dans le SMSC :
1. « RX MO Queue »
2. « MO Ack Queue »
La 1ère file d’attente « A » est modélisée par une file pur délai, puisque le SMS subit ici
une attente (sleep) de 40 ms. L’autre file d’attente « B » est de type M/M/1/K ; avec
K=2048 message et μ = 3125 messages par seconde comme déjà calculé dans le 1er
choix.
Dans ce 2nd choix, le test sera fait pour des taux d’entrées variant entre 5 msg/s jusqu'à
100 msg/s avec un saut de 5 msg/s.
File d’attente A
Délai 40ms
MO
MO
File d’attente B
M/M/1/K
SMSC
RX-MO
MO-ack
SMSC
TX
MO-ack
K = 2048, μ = 3125 msg/s
Figure 23 - Modélisation de MO - MO-ack (2nd choix).
Tableau 5 - Valeurs des temps de séjour pour MO – MO-ack (2nd choix).
λ (msg/s)
5
10
15
20
25
30
35
40
45
50
55
File d’attente A
File d’attente B
Mesures directes Valeurs théoriques Mesures directes Valeurs théoriques
(ms)
(ms)
(ms)
(ms)
47
40
20
32
62
40
21
32
64
40
20
32
64
40
20
32
59
40
20
32
58
40
19
32
57
40
18
32
57
40
17
32
55
40
16
32
57
40
15
32
60
40
15
32
49
Chapitre 4 - Evaluation de performance d'un SMSC
61
61
62
66
64
68
72
66
70
60
65
70
75
80
85
90
95
100
40
40
40
40
40
40
40
40
40
15
16
15
16
15
16
15
15
14
32
32
32
32
32
32
32
32
32
File d'attente A
80
70
Temps de séjour (ms)
60
50
40
30
20
10
0
0
20
40
60
80
100
120
Taux d'entrée (msg/s)
Figure 24 - Courbe des valeurs par mesures directes du temps de séjour dans la file
d’attente « A » (2nd Choix).
50
Chapitre 4 - Evaluation de performance d'un SMSC
File d'attente A
45
40
Temps de séjour (ms)
35
30
25
20
15
10
5
0
0
20
40
60
80
100
120
Taux d'entrée (msg/s)
Figure 25 - Courbe des valeurs théoriques du temps de séjour dans la file d’attente « A »
(2nd Choix).
File d'attente B
25
Temps de séjour (ms)
20
15
10
5
0
0
20
40
60
80
100
120
Taux d'entrée (msg/s)
Figure 26 - Courbe des valeurs par mesures directes du temps de séjour dans la file
d’attente « B » (2nd Choix).
51
Chapitre 4 - Evaluation de performance d'un SMSC
File d'attente B
35
30
Temps de séjour (ms)
25
20
15
10
5
0
0
20
40
60
80
100
120
Taux d'entrée (msg/s)
Figure 27 - Courbe des valeurs théoriques du temps de séjour dans la file d’attente « B »
(2nd Choix).
4.2.2
MO – MT
De même, les messages de type MO – MT, vont subir 3 attentes consécutives tout au long
de leur séjour dans le SMSC. En effet, les SMS passent par 3 types de files d’attente
consécutives :
1. « RX MO Queue »
2. « Messages Queue »
3. « TX Queue »
La 1ère file d’attente « A » sera un pur délai comme déjà mentionné dans le paragraphe
précédent. Les queues « C » et « D » seront modélisées par des files d’attente de types
M/M/1/KC et M/M/1/KD consécutivement, avec KC = 1000 messages puisque le SMSC
est configuré pour supporter 1000 dialogues consécutifs, et KD = 1500 messages. Les
deux serveurs des deux dernières files font 50 messages par seconde à l’équilibre à cause
du régulateur de la sortie du SMSC. La Figure 28 illustre le modèle choisi pour chaque
file.
La probabilité de blocage sera mesurée et calculée par la suite pour des valeurs de taux
d’entrées variant entre 5 et 100 messages par seconde.
52
Chapitre 4 - Evaluation de performance d'un SMSC
File d’attente A
Délai 40 ms
MO
MO
SMSC
RX-MO
File d’attente C
M/M/1/K
message
File d’attente D
M/M/1/K
SMSC
MAIN
K = 1000, μ = 50 msg/s
TX
SMSC
TX
K = 1500, μ = 50 msg/s
Figure 28 - Modélisation de MO – MT (2nd choix).
Tableau 6 - Valeurs des temps de séjour pour MO – MT (2nd choix).
λ (msg/s)
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
95
100
File d’attente C
File d’attente D
Mesures directes Valeurs théoriques Mesures directes Valeurs théoriques
(ms)
(ms)
(ms)
(ms)
47
22
20
22
62
25
21
25
64
28
20
28
64
33
20
33
59
40
20
40
58
50
19
50
57
66
18
66
57
100
17
100
55
200
16
200
57
10010
15
15010
60
19800
15
29800
61
19900
15
29900
61
19930
16
29930
62
19950
15
29950
66
19960
16
29960
64
19970
15
29970
68
19970
16
29970
72
19980
15
29980
66
19980
15
29980
70
19980
14
29980
53
MT
Chapitre 4 - Evaluation de performance d'un SMSC
File d'attente C
25000
Temps de servise (ms)
20000
15000
10000
5000
0
0
20
40
60
80
100
120
Taux d'entrer (msg/s)
Figure 29 - Courbe des valeurs par mesures directes du temps de séjour dans la file
d’attente « C » (2nd Choix).
25000
Temps de séjour (ms)
20000
15000
10000
5000
0
0
20
40
60
80
100
120
Taux d'entrée (msg/s)
Figure 30 - Courbe des valeurs théoriques du temps de séjour dans la file d’attente « C »
(2nd Choix).
54
Chapitre 4 - Evaluation de performance d'un SMSC
File d'attente D
35000
30000
Temps de service (ms)
25000
20000
15000
10000
5000
0
0
20
40
60
80
100
120
Taux d'entrer (msg/s)
Figure 31 - Courbe des valeurs par mesures directes du temps de séjour dans la file
d’attente « D » (2nd Choix).
35000
30000
Temps de séjours (ms)
25000
20000
15000
10000
5000
0
0
20
40
60
80
100
120
Taux d'entrée (msg/s)
Figure 32 - Courbe des valeurs théoriques du temps de séjour dans la file d’attente « D »
(2nd Choix).
55
Chapitre 4 - Evaluation de performance d'un SMSC
Tableau 7 - Valeurs de la probabilité de blocage (2nd choix).
λ (msg/s)
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
95
100
Mesures directes
Valeurs théoriques
0
0
0
0
0
0
0
0
0
0
0.106
0.176
0.247
0.298
0.347
0.389
0.423
0.454
0.483
0.509
0
0
0
0
0
0
0
0
0
0
0.091
0.167
0.231
0.286
0.333
0.375
0.412
0.444
0.474
0.500
La probabilité de blocage
1
probabilité de blocage
1
0
0
0
0
0
0
20
40
60
80
100
120
Taux d'entrer (msg/s)
Figure 33 - Courbe des valeurs par mesures directes de la probabilité de blocage (2nd
choix).
56
Chapitre 4 - Evaluation de performance d'un SMSC
1
1
Probabilité de blocage
0
0
0
0
0
0
20
40
60
80
100
120
Taux d'entrée (msg/s)
Figure 34 - Courbe des valeurs théoriques de la probabilité de blocage (2nd choix).
4.2.3
MT – MT-ack
Le simulateur de l’unité de signalisation utilisé subit les messages d’un délai constant de
12 secondes. Et le récepteur du SMSC, stocke les acquittements reçus des mobiles
destinataires dans une file d’attente unique où ils attendent un temps constant de 40 ms.
File d’attente F
Délai 12s
MT
GMSC +
GSM net
File d’attente E
Délai 40ms
RX-MT
SMSC
RX-MT
MT-ack
Figure 35 - Modélisation de MT – MT-ack (2nd choix).
57
Chapitre 4 - Evaluation de performance d'un SMSC
Tableau 8 - Valeurs des temps de séjour pour MT – MT-ack (2nd choix).
s
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
95
100
File d’attente E
File d’attente F
Mesures directes Valeurs théoriques Mesures directes Valeurs théoriques
(ms)
(ms)
(ms)
(ms)
49
40
12429
12000
44
40
12147
12000
58
40
12381
12000
49
40
12122
12000
40
12280
12000
54
54
40
12171
12000
52
40
12156
12000
51
40
12223
12000
54
40
11702
12000
40
11878
12000
44
54
40
12602
12000
54
40
11876
12000
53
40
12102
12000
53
40
11765
12000
53
40
12821
12000
49
40
11396
12000
48
40
12651
12000
51
40
11871
12000
49
40
12252
12000
50
40
12793
12000
File d'attente E
70
60
Temps de service (ms)
50
40
30
20
10
0
0
20
40
60
80
100
120
Taux d'enter (msg/s)
Figure 36 - Courbe des valeurs par mesures directes du temps de séjour dans la file
d’attente « E » (2nd Choix).
58
Chapitre 4 - Evaluation de performance d'un SMSC
File d'attente E
45
40
Temps de séjour (ms)
35
30
25
20
15
10
5
0
0
20
40
60
80
100
120
Taux d'entrée (msg/s)
Figure 37 - Courbe des valeurs théoriques du temps de séjour dans la file d’attente « E »
(2nd Choix).
File d'attente F
13000
12800
Temps de service (ms)
12600
12400
12200
12000
11800
11600
11400
11200
0
20
40
60
80
100
120
Taux d'entrer (msg/s)
Figure 38 - Courbe des valeurs par mesures directes du temps de séjour dans la file
d’attente « F » (2nd Choix).
59
Chapitre 4 - Evaluation de performance d'un SMSC
14000
12000
Temps de séjour (ms)
10000
8000
6000
4000
2000
0
0
20
40
60
80
100
120
Taux d'entrée (msg/s)
Figure 39 - Courbe des valeurs théoriques du temps de séjour dans la file d’attente « F »
(2nd Choix).
4.2.4
Conclusion
Dans cette section, un nouveau modèle a été introduit pour chaque type de messages. Ces
modèles ont été validés à travers une série des mesures directes pour des taux d’entrées
variant entre 5 et 100 messages par seconde, dépassant ainsi le taux de service du SMSC
qui est fixé à 50 msg/s à l’aide d’un régulateur de sortie, et à travers des valeurs
théoriques obtenues à l’aide QNAP et un programme spécifique.
4.3
L’influence du processeur
L’influence du processeur sur le système, étant la cause essentielle pour faire cette
recherche, a été évaluée par une dernière série de test en charge avec un taux d’entrée très
élevé.
Le test consiste à envoyer 400 messages par seconde pour avoir une charge élevée sur le
CPU, et augmenter ainsi le temps de séjour des acquittements dans le SMSC. La figure
40 montre l’augmentation rapide du temps de séjour du message dans la file « A » d’une
façon remarquable. En effet le temps de séjour dans cette file, pour un taux d’entrées très
bas, était constant de l’ordre de 60 ms comme déjà vu dans les tests précédents. Ce
nombre atteint les 5 secondes pour un taux d’entrées de 400 msg/s.
60
Chapitre 4 - Evaluation de performance d'un SMSC
7000
6000
Tem
psdeséjour (ms)
5000
4000
3000
2000
1000
0
20:52:48
21:00:00
21:07:12
21:14:24
21:21:36
21:28:48
21:36:00
Temps du test
Figure 40 - Temps de séjour de la file "A" pour un taux d'entrées de 400 msg/s
15.4
15.2
Tem
psdeséjour (ms)
15
14.8
14.6
14.4
14.2
14
20:52:48
21:00:00
21:07:12
21:14:24
21:21:36
21:28:48
21:36:00
Temps du test
Figure 41 - Temps de séjour de la file "B" pour un taux d'entrées de 400 msg/s
60000
50000
Tem
psdeséjour (ms)
40000
30000
20000
10000
0
20:52:48
21:00:00
21:07:12
21:14:24
21:21:36
21:28:48
21:36:00
Temps du test
Figure 42 - Temps de séjour des file "C+D" pour un taux d'entrées de 400 msg/s
61
Chapitre 4 - Evaluation de performance d'un SMSC
Les files « B », « C » et « D » ne seront pas influencées par cette augmentation comme le
montrent les figures 41 et 42.
Alors le CPU peut être représenté par une file de type M/G/1 – « Processor Sharing »
(figure 43).
File d’attente A
Délai 40ms
MO
MO
File d’attente B
M/M/1/K
SMSC
RX-MO
MO-ack
CPU
SMSC
TX
MO-ack
K = 2048, μ = 3125 msg/s
Figure 43 -Modélisation de MO - MO-ack avec CPU
La discipline « Processor Sharing » [8] consiste à servir chaque message arrivant à la
queue pour une fraction de temps et le remettre de nouveau dans la file d’attente pour le
servir après d’une autre fraction de temps.
Les nouveaux messages sont mis dans une file de type FIFO, où ils attendent leurs tours
pour être servis dans une fraction de temps. Si cette période ne suffit pas pour servir tout
le message, il sera remis de nouveau dans la file d’attente pour être servi plus tard par une
autre fraction de temps.
On considère que la taille de la file est infinie, et les messages arrivent selon un processus
1
de Poisson (λ). La distribution de temps de service est générale avec une moyenne de .
µ
La fraction de temps peut varier. Elle peut être infinie, alors, le message sera totalement
servi, et la file sera de type M/G/1 avec une discipline FIFO. Si on fait tendre cette
fraction vers zéro, alors on est dans le cas du « Processor Sharing ». Le PS a été introduit
par Kleinrock (1967). [13]
Le « Processor Sharing » est interprété comme un système de file d’attente où tous les
messages sont servis continuellement par le serveur (time sharing). Donc s’il y a « n »
1
messages dans la queue, chacun d’eux prend une fraction
de la capacité de
n
l’ordinateur. Donc on peut dire qu’il n’ y a pas une queue, et la discipline de la file
d’attente n’a pas de sens. Dans le cas des acquittements, les messages ont tous une taille
constante, et comme la fraction de service est toujours la même pour tous les messages,
donc le message qui arrive le premier va quitter le premier.
Une propriété très importante du modèle « Processor Sharing », est que le processus de
sortie est un processus de Poisson comme celui de l’entrée. Donc l’hypothèse prise dans
62
Chapitre 4 - Evaluation de performance d'un SMSC
la section précédente que le processus d’entrée de la file B est Poisson reste valide ici
aussi.
λ
est plus petit que l’unité, c'est-à-dire λ < μcpu alors le
µ cpu
système reste stable et l’influence du CPU sur le temps de séjour du message dans le
système est négligeable. Lorsque le taux d’entrées augmente pour se rapprocher de la
capacité de service du CPU, c'est-à-dire ρcpu se rapproche de 1, alors la charge du
système augmente et le temps moyen de service du CPU augmente. On constate que dans
le cas du « Processor Sharing » le taux moyen de service est inversement proportionnel
au taux d’entrées et proportionnel à la capacité du microprocesseur.
Lorsque le trafic offert ρ cpu =
63
Chapitre 5
Conclusions et perspectives
Au début du XXIe siècle, les messages courts occupent une place incontestée dans
la société contemporaine. Ils sont de plus en plus utilisés aussi bien au sein des
entreprises que chez le grand public. Une condition du dimensionnement approprié et du
bon fonctionnement des centres de SMS est la disponibilité de techniques efficaces
d’évaluation de leurs performances. Cette évaluation est le plus souvent faite à travers la
simulation en raison de la complexité des centres de messageries GSM et des avantages
offerts par cette famille de méthodes d’évaluation quantitative de systèmes. Une difficulté
associée à cette approche qui est la nécessité d’une modélisation appropriée du système
(ceci est aussi nécessaire pour l’évaluation par simulation qu’en utilisant des techniques
analytiques).
En principe, une modélisation adéquate doit soulever les propriétés importantes
du système en fonction des objectifs de l’analyse et minimiser les autres. Bien sûr, ces
« propriétés importantes » varient selon les objectifs de l’étude en question. Par exemple,
la représentation classique d’une queue avec son processus du SMSC par une file
d’attente de taille fixe, semble appropriée pour évaluer le temps moyen de réponse et la
probabilité de blocage dans le système. Mais une telle modélisation est très coûteuse,
puisqu’il est nécessaire de faire des mesures directes pour valider les modèles choisis, et
parfois des telles mesures nécessitent un développement supplémentaire sur le SMSC qui
est parfois difficile et même impossible.
Dans le chapitre 4, l’environnement du test en charge avec tous les outils
nécessaires ont été présentés. Un simple modèle a été le siège d’un premier test en
64
Chapitre 5 - Conclusions et perspectives
charge : une file d’attente pour chaque transaction. Les allures des figures obtenues ont
aidé à choisir le second modèle et à prendre une conclusion qu’une seule file d’attente ne
suffit jamais pour modéliser un système assez complexe. Il faut en utiliser une chaîne.
Cette conclusion a été l’hypothèse d’un second choix pour arriver enfin à un modèle plus
complexe et qui donne une image plus réelle du SMSC. Ce modèle a été validé par une
autre série de tests en charge pour un taux d’entées plus raffiné variant entre 5 et 100
messages par seconde et un taux de service de moyenne 50 messages par seconde.
Les messages de type « MO – MO-ack » ont été représentés par une chaîne de
deux files d’attente consécutives : la première étant à pur délai et l’autre de type
M/M/1/KB avec KB = 2048 messages et un taux de service assez élevé de l’ordre de 3125
messages par seconde pour des raisons de priorités.
Les messages de type « MO – MT » ont été représentés par une autre chaîne de trois files
d’attente consécutives. La première, étant à délai constant, sera prise comme un simple
retard dans le taux d’entrées. Alors que les deux autres sont de types M/M/1/KC et
M/M/1/KD respectivement, avec KC = 1000 messages qui représentent le nombre
maximale de dialogues que peut supporter le SMSC, et KD = 2048 messages. Les taux de
services des deux modèles sont de 50 messages par seconde.
Enfin, les messages de type « MT – MT-ack » ont été représentés par une chaîne de deux
files d’attente consécutives. La première représente le GMSC avec le simulateur de
l’unité de signalisation et la deuxième est à retard pur.
Ayant trouvé le modèle le plus proche du système, il faudrait maintenant étudier
l’influence du processeur sur la performance du système. Alors le SMSC a été le siège
d’un dernier test en charge avec un grand taux d’entrées. Seule la file « A » a été
influencée par ce grand trafic. Les autres files d’attente ont réservé les mêmes valeurs des
temps de séjour qu’après la congestion. Une autre et dernière file d’attente a été ajoutée
au système des files d’attente de la figure 22. Son type est M/G/1*PS, et la discipline est
FIFO comme déjà expliqué au chapitre précédent.
Plusieurs paramètres du SMSC peuvent être configurés pour qu’il fonctionne dans
des environnements et des contextes différents :
− Le nombre des dialogues K : ce nombre est aussi la capacité de la file d’attente
« C ». Plus ce nombre est grand plus la probabilité de blocage est plus petite et
plus grande seront les nombres des SMS acceptés pour être délivrés.
− Le taux de service du SMSC : ce nombre est aussi le taux moyen de service des
files « C » et « D ».
Autres paramètres seront aussi très importants pour évaluer la performance du SMSC
comme la vitesse du microprocesseur, la capacité des mémoires, la capacité des liens,
etc.… Mais ces valeurs restent limitées par la technologie disponible et la capacité
financière du client.
Donc l’objectif est de trouver un compromis entre le nombre maximal des dialogues
acceptés et le taux de service pour avoir un taux minimal de rejets et une bonne
performance dans le système.
65
Chapitre 5 - Conclusions et perspectives
En effet, l’augmentation du nombre de dialogues K, va augmenter la charge dans le
système et par suite y augmenter le temps de séjour du message. Ceci peut aboutir à un
délai dans le système qui dépasse les 6 secondes et ainsi le client aura une erreur de
transmission. D’autre part, un K petit augmente la probabilité de blocage et par suite le
nombre de messages non transmis.
Il est très difficile de résoudre le système précédent analytiquement. Les mesures directes
pour un SMSC avec un taux de service de 50 messages par seconde et une capacité de
dialogues de 1000 messages, ont montré que ce système peut supporter 400 messages par
seconde sans dépasser la limite de 6 secondes.
66
Annexe A
1.
mm1k.c
Le code C suivant permet de calculer les temps de séjour, la probabilité de blocage et
l’intensité de trafic pour une file d’attente de type M/M/1/K, pour des valeurs de taux
d’entrées variant entre lambda_min et lambda_max.
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
int i;
int minlamda=0, maxlamda=0, mhu=0, k=0;
int lamda[100];
float rho[100];
float lbar[100];
double pk[100];
double lamdabar[100];
int delta=0;
double ws[100];
printf("M/M/1/K\n");
printf("Enterer mhu: ");
scanf("%d", &mhu);
printf("Enterer minlamda: ");
scanf("%d", &minlamda);
printf("Enterer maxlamda: ");
scanf("%d", &maxlamda);
printf("Enterer delta: ");
scanf("%d", &delta);
printf("Enterer k: ");
scanf("%d", &k);
printf("\n\n mhu=%d, minlamda=%d, maxlamda=%d, k=%d\n",
mhu, minlamda, maxlamda, k);
for (i=0; i<100; i++)
{
lamda[i] = 0;
rho[i] = 0;
lbar[i] = 0;
pk[i]=0;
lamdabar[i]=0;
ws[i]=0;
}
for (i=0; i<maxlamda/delta; i++)
{
67
Annexe A
lamda[i] = minlamda + i*delta;
rho[i] = (float)lamda[i]/(float)mhu;
if (rho[i] == 1)
{
lbar[i] = (float)k / 2;
pk[i] = 1 / (k+1);
}
else
{
double pk1=0;
double pk2=0;
if (rho[i] < 1)
{
float lbar1=0;
float lbar2=0;
lbar1 = (rho[i] / (1-rho[i]));
lbar2 = (((((float)((float)k+1)) *
(float)pow((double)rho[i], (double)(k+1))) /
(float)(1(float)(pow((double)rho[i], (double)(k+1))))));
lbar[i] = lbar1 - lbar2;
}
else
{
lbar[i] = k;
}
pk1 = (pow(rho[i], k))*(1-rho[i]);
pk2 = 1 - pow(rho[i], k+1);
pk[i] = pk1 / pk2;
}
lamdabar[i] = lamda[i] * ( 1 - pk[i] );
ws[i] = lbar[i] / lamdabar[i];
printf("lamda[%d]=%d, ", i, lamda[i]);
printf("rho[%d]=%f, ", i, rho[i]);
printf("lbar[%d]=%f, ", i, lbar[i]);
printf("pk[%d]=%f ", i, pk[i]);
printf("lambdabar[%d]=%f ", i, lamdabar[i]);
printf("Temps de séjour[%d]=%f \n", i, ws[i]);
}
return 0;
}
2.
mm1k.QNP
C’est le fichier source exécuté par le QNAP pour résoudre une chaîne de files d’attente
formées par une source de messages et une file d’attente avec son serveur.
La source « SOURCE » représente le processus "SMSC RX Process" ayant un débit
moyen de sortie égale à lambda. Dans cette recherche, lambda varie entre 5 et 100 msg/s.
68
Annexe A
« SYST » représente la file d’attente avec son serveur. La capacité de la file est égale à K
message et la durée moyenne de service est égale à 1/mhu avec :
− mhu = 97 msg/s pour la file B.
− mhu = 50 msg/s pour la file C et D.
/DECLARE/
QUEUE SOURCE, SYST;
REAL lambda;
REAL mhu;
INTEGER K;
/STATION/
NAME
TYPE
TRANSIT
SERVICE
=
=
=
=
SOURCE;
SOURCE;
SYST;
EXP (1.0/lambda);
/STATION/
NAME
= SYST;
CAPACITY = K;
REJECT = SKIP;
TRANSIT = OUT;
SERVICE = EXP (1.0/mhu);
/EXEC/
BEGIN
lambda := 5.0;
K := 1000;
mhu := 50;
PRINT("Taux d'entrée (msg/s) = ", lambda);
PRINT("La capacité de la file d'attente (msg) = ", K);
PRINT("Le taux de service (msg/s) = ", mhu);
SOLVE;
END;
/END/
69
Références bibliographiques
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
JINNY Software LTD.: Jinny Short Message Service Center – Product
Description. Version 3. June 2004.
JINNY Software LTD.: Jinny Short Message Service Center – Technical
Description. Version 3.1. October 2004.
S. TOHME: Evaluation de performance, DEA Réseaux de Télécommunications,
décembre 2003.
C. EVEQUOZ: Simulation et modélisation discrètes. Département d’électricité
et informatique, Ecole d’ingénieurs du Canton de Vaud. 27 février 2001.
A. MAHDAVI: Value Added Services and Content Platforms. Rapport
Technique TELE2. 25 juin 2003.
J.A. INCERA DIEGUEZ: Contributions à la modélisation et à la simulation
accélérée de réseaux de communication. Thèse présentée devant l’Université de
Rennes 1. 9 mars 2001.
J. CAO, M. ANDERSSON, C. NYBERG, M. KIHL: Web Server Performance
Modeling Using an M/G/1/K*PS Queue. Department of communications
Systems, Lund Institute of Technology.
V. IVERSON : Teletraffic Engineering and Network planning. COM course
34340. Technical University of Denmark. September 2004.
QNAP : Un outil logiciel d’aide à la modélisation.
www-ensimag.imag.fr/cours/Exposes.Reseaux/Evaluation/QNAP.html
M. VERAN, D. POTIER: QNAP2: A portable Environment for queuing Systems
Modelling. Institut National de Recherche en Informatique et en Automatique.
juin 1984
C.E. MEGNIGBETO: Etude du phénomène d’attente dans un système
d’informatique documentaire. 2 juillet 2004.
European Telecommunications Standards Institute: Digital Cellular
Telecommunications System (Phase 2+ ); Technical Realization of the Short
Message Service (SMS) Point-to-Point (PP) (3GPP TS 03.40 Version 7.5.0
Release 1998).
D. BERTSEKAS, R.GALLAGER: Data Networks, Prentice Hall, NJ, 1992
S.K. BOSE: Open and Closed Networks of M/M/m Type Queues (Jackson’s
Theorem for Open and Closed Networks). 1992
N. NAVET, INRIA/TRIO: Evaluation de Performances par Simulation.
http://www.loria.fr/~nnavet
M. ROUSSIGNOL, D.FLIPO: Files d’attente et fiabilité, D.E.S.S Ingénierie
Statistique et Numérique. 2004
H.MOHAMADALI, F. MISLIN, M. GODLESKI: Simulation par QNAP. Mai
2004.
An introduction to QNAP2.
70
http://www.sce.carleton.ca/courses/sysc-5101/qnap.pdf
[19] Markov Processes, Queuing theory part 1. Industrial Automation IEA.
http://www.iea.lth.se/ia/c_mtrl/Queues_part1.pdf
[20] EURONEXT PARIS: France Telecom. Article publié sur Internet
http://www.euronext.com/
[21] B. DESAVOYE: SMS. Article sur Serial Wireless Website.
http://www.serialwireless.net/article.php3?id_article= 45
71
Glossaire et notation
3GPP
ACK
BCMP
CPU
csv
E-MAIL
EMI
ESME
FIFO
GMSC
GSM
HLR
HTTP
INRIA
IS-41 MAP
LIFO
MAP
MO
MSC
MSISDN
MT
MVA
OAM
OIS
PS
QNAP
RX
SIRO
SIU
SM
SMPP
SMS
SMSC
SMSC DB
SMTP
SS7
STP
TCP/IP
TX
3rd Generation Partnership Project
Acknowledgment
Baskett Chandy Muntz Palacios
Central Processing Unit
Comma Separated Value
Electronic Mail
External Machine Interface
External Short Message Entity
First In First Out
Gateway Mobile Switching Center
Global System for Mobile
Home Location Register
HyperText Transfer Protocol
Institut National de Recherche en Informatique et en Automatique
Interim Standard 41 Mobile Application Part
Last In First Out
Mobile Application Part
Mobile Originating
Mobile Switching Center
Mobile Station Integrated Services Digital Network
Mobile Terminating
Mean Value Analysis
Operation, Administration and Maintenance
Open Interface Standard
Processor Sharing
Queuing Network Analysis Package
Receive(r)
Service In Random Order
Signaling Interface Unit
Short Message
Short Message Peer to Peer
Short Message Service
Short Message Service Center
Short Message Service Center Data Base
Simple Mail Transfer Protocol
Signaling System No. 7
Signaling Transfer Points
Transmission Control Protocol / Internet Protocol
Transmit(ter)
72
UCP
WAP
Universal Computer Protocol
Wireless Application Protocol
73

Documents pareils