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