Академический Документы
Профессиональный Документы
Культура Документы
1. INTRODUCTION .................................................................................................................................................. 3
2. RESEAUX SATELLITES ..................................................................................................................................... 4
2.1 INTRODUCTION ........................................................................................................................................................ 4
2.2 PRINCIPES DE FONCTIONNEMENT ............................................................................................................................. 4
2.3 ARCHITECTURE DES RESEAUX SATELLITES .............................................................................................................. 4
2.3.1 Architecture Maille ............................................................................................................................................ 4
2.3.2 Architecture en toile .......................................................................................................................................... 5
1.4 CONFIGURATION DUN RESEAU VSAT EN TOILE ................................................................................................... 6
2.4.1 Modle Actuel ...................................................................................................................................................... 8
2.4.2 Modle dATM sur Satellite................................................................................................................................. 9
2.5 CONSTELLATION DE SATELLITES ............................................................................................................................. 9
2.5.1 Constellation de Satellites Gostationnaires (GEO) ......................................................................................... 10
2.5.2 Constellation de Satellites LEO/MEO ............................................................................................................... 10
2.5.2.1 Iridium.................................................................................................................................................................................10
2.5.2.2 Globalstar ............................................................................................................................................................................11
2.5.2.3 Teledesic .............................................................................................................................................................................12
TABLEDES FIGURES.............................................................................................................................................45
TABLE DES TABLEAUX........................................................................................................................................46
BIBLIOGRAPHIE....................................................................................................................................................47
ANNEXE....................................................................................................................................................................48
2/57
1. Introduction
Les prochaines annes seront lre dinformations et de communications et services
multimdias. De ce fait, il faudrait trouver, un moyen de transmission large bande. Pour ce point,
les rseaux satellites semblent tre parfaits en offrant des liaisons large bande un grand nombre
dutilisateurs via lUNI (User Network Interface).
Mais, hlas, rien nest rsolu facilement, car il faudrait rgler le problme daccs
multiple qui se pose pour laccs au canal satellite. Ce problme saccentue du fait que les
objectifs des tlcoms actuels et futurs se dirigent vers lintgration des services, donc les
rseaux devront garantir les diffrentes qualits de service et les contraintes lies au type de
service.
Pour cela, plusieurs protocoles daccs multiple hybrides ont t dvelopps (le protocole
MB-ICBT (Movable Boundary with Integrated CBR and Bursty Traffic), le protocole DMBS
(Double Movable Boundary System),et le protocole dAllocation Adaptative de Rservation
Alatoire,... ). Ici, nat un autre problme : ces algorithmes prcdemment cits utilisent le
multiplexage statistique de lensemble des diffrents trafics sur le lien satellite. Ce type de
multiplexage permet la meilleure exploitation des ressources, mais ne tient, malheureusement,
pas compte du problme de partage quitable des ressources ; ce qui fait quune source puissante
a une grande chance de monopoliser la bande passante...
Le remde ce problme est dappliquer les algorithmes de partage quitable comme le
FCVC (Flow Controlled Virtual Channels), EPRCA (Enhanced Proportional Rate Control
Algorithm), APRC (Adaptive Proportional Rate Control) ou ERAQLES (Explicit Rate
Algorithm using Queue Length State). Ces algorithmes ont t tudis pour le rseau terrestre,
reste les adapter ou en dvelopper dautres pour les rseaux satellites.
Dans mon stage de DEA - Rseaux de Tlcommunications droul au sein du
dpartement Informatique et Rseaux de lENST - Paris, jai t amene tudier les
constellations de satellites et les problmes relis ce type de rseaux. Tout particulirement
deux protocoles daccs multiple hybrides pour un contexte de satellites gostationnaires
dvelopps par Heba Koraitim et Samir Tohm : le MB-ICBT et le DMBS. Je me suis
familiarise avec loutil de simulation BONeS designer qui a servi aux testes de ces deux
protocoles. Jai obtenu quelques rsultats numriques pour le systme DMBS, dont le code en
C++ est prsent dans lannexe. Plus tard, jai tudi les algorithmes de partage quitable des
ressources, en particulier lalgorithme ERAQLES dvelopp par Yan Moret. Dernirement, jai
propos une technique de partage quitable pour un contexte satellitaire, mais faute de temps,
aucune simulation na pu tre faite pour la tester...
Le chapitre 2 est une introduction au monde des satellites, aux diffrentes architectures
du rseau satellitaire (architecture maille ou en toile), le modle actuel et des diffrentes
constellations (LEO, MEO et GEO).
Le chapitre 3 est consacr aux mthodes daccs multiple : les mthodes de base (TDMA,
FDMA et CDMA), les protocoles daccs pour les rseaux maills et les rseaux en toile et les
protocoles hybrides (MB-ICBT, DMBS, et le protocole dallocation adaptative de rservation
alatoire). A la fin de ce chapitre, jai donn les rsultats numriques obtenus pour diffrents
paramtres du systme DMBS.
Quant au chapitre 4, il traite les algorithmes de partage quitable des ressources (FCVC,
EPRCA, APRC, et ERAQLES). A la fin de ce chapitre, un algorithme dquit pour un contexte
satellitaire est propos. La conclusion du cinquime chapitre offre une vue perspective sur les
rseaux satellites.
DEA - Rseaux De Tlcommunications
3/57
2. Rseaux satellites
2.1 Introduction
Les rseaux satellites occupent une place de plus en plus importante dans le monde des
tlcommunications cause de leur dploiement rapide, leur couverture globale et leur demande
flexible de la bande passante. En plus ils offrent des liaisons large bande un grand nombre
dutilisateurs via lUNI (User Network Interface). Comme les terminaux portatifs sont supposs
davoir relativement une faible moyenne et des dbits crtes allant jusqu' 2Mb/s, et que ce trafic
aura des fluctuations, les modes daccs affectent considrablement la performance de tels
systmes. De plus, le prix et la taille de ces terminaux a un grand impact sur ladoption de la
solution satellite, comme cela a t le cas pour les terminaux VSATs (Very Small Aperture
Terminals).
Dans cette architecture les VSATs sont relis par le biais du canal satellite.
Malheureusement dans le contexte de satellites gostationnaires (donc une distance de 35786
Km), les rseaux VSATs maills subissent une attnuation de puissance de 200 dB sur la voie
montante et sur la voie descendante.
4/57
Voie Montante
Voie descendante
VSAT
(0.6 - 1.8m)
Terminal
VSAT
(0.6 - 1.8m)
Terminal
Terminal
Terminal
Inbound Link
Outbound Link
VSAT
(0.6 - 1.8m)
Terminal
VSAT
(0.6 - 1.8m)
Terminal
Terminal
Terminal
HUB (4 - 11m)
Ces rseaux peuvent tre soit unidirectionnels soit bidirectionnels. Dans le cas dun
rseau unidirectionnel, les VSATs sont considrs comme des terminaux rcepteurs seulement.
Cette architecture est utilise pour des services de diffusion partir dun site central (le HUB)
vers des sites distants (VSATs). Dans le cas dun rseau bidirectionnel, les VSATs sont la fois
des metteurs et des rcepteurs. Cette architecture est utilise pour des applications interactives.
5/57
User terminal
Host
computer
Baseband
interface
HUB
VSAT
Baseband
Interface
User terminal
Baseband
Interface
User terminal
User terminal
User terminal
User terminal
User
terminal
Host
computer
Couches 5-7
Couches 5-7
Couche de
transport
HUB Baseband
Interface
Couche
rseau
Rseau
Couche
liaison
Data link
Couche
physique
VSAT Baseband
Interface
Rseau
Rseau
Satellite channel
access control
Physique
Rseau
FEC(mod-demod)
Satellite channel
access control
Data Link
FEC(mod-demod)
Physique
Couche de
transport
Couche
rseau
Couche
liaison
Couche
physique
Canal
6/57
Il faut tout de mme faire la distinction entre deux types de connexion des terminaux
dutilisateurs :
1. Terminal Domestique : chaque utilisateur est propritaire dune antenne parabolique, donc
ce terminal est considr comme tant stand alone terminal. Ce qui fait quaucune
connexion au rseau local nest ncessaire. La figure suivante montre ce type de connexion
ainsi que la pile des protocoles au niveau du terminal dutilisateur :
Application
TCP
IP
MAC/LLC
Physique
Terminal
dutilisateur
HUB
Figure 4 Terminal domestique
Terminal
dutilisateur
Application
TCP
IP
MAC/LLC
Physique
LAN
Routage
IP
IP
MAC/LLC
MAC
Physique Physique
HUB
LAN dentreprise
7/57
Actuellement, le satellite nest quun tuyau physique reliant les terminaux dutilisateurs
par canal radio. La figure suivante montre larchitecture en couches dun tel rseau.
Physique
Terminal
dutilisateur
Application
TCP
IP
MAC/LLC
Physique
Routage
IP
IP
MAC/LLC
MAC
Physique Physique
HUB
Vers les
rseaux
publiques
Mais le TCP standard subit dimportants ennuis car tantt il doit passer par un rseau
terrestre tantt par un rseau satellite, donc il doit pouvoir supporter des dlais de propagation
diffrents. Pour palier ce problme, plusieurs solutions ont t envisages :
Mettre en place une passerelle au lieu dun routeur. Donc, linterconnexion se fait au
niveau TCP (transport bout en bout). Lavantage de cette solution est que le TCP terrestre ne
subit aucune modification, mais linconvnient est la complexit de la passerelle.
Relais
Du rseau
terrestre
TCPterrestre
IP
MAC
Physique
Relais
TCPsat
IP
MAC
Physique
TCPsat
IP
MAC
Physique
HUB
TCPterrestre
IP
MAC
Physique
Vers le rseau
terrestre
HUB
8/57
Actuellement, les fonctions de contrle sont mises dans le HUB ; mais si on les mettait
bord du satellite, celui-ci deviendrait de plus en plus intelligent et a rduirait les dlais de
propagation. Donc, si on introduisait une couche MAC dans le satellite, a permettrait dy
implanter les mcanismes dallocation de la bande passante.
Dans le cas de Teledesic (ATM sur satellite), on a mme insr la couche rseau (couche
ATM) dans le satellite ce qui permet de faire du reliage des cellules, donc de la commutation
daprs les VPI / VCI.
Dans ce cas, la pile des protocoles du terminal de lutilisateur est la suivante :
Applications
TCP
IP
AAL
ATM
MAC / LLC
Physique
Figure 8 Pile des protocoles du terminal dutilisateur dans le cas dATM sur satellite
ATM
MAC
Physique
Figure 9 Piles des protocoles du satellite dans le cas dATM sur satellite
9/57
Les constellations LEO/MEO se basent sur des satellites dfilants sur des orbites non
stationnaires. Plusieurs projets comme Teledesic (services multimdia), Iridium et Globalstar
(services de tlphonie) ont t proposs.
Les constellations orbite basse (LEO) renoncent la synchronisation du satellite et la
rotation de la terre afin de rduire la distance entre ces satellites et la terre. Cette rduction de
distance rend le dlai de propagation bien plus faible, ce qui est trs avantageux pour les services
temps rel interactifs (appels tlphoniques, par exemple).
Mais, au moins un satellite doit toujours tre visible par les deux bouts dune connexion
pour pouvoir desservir les service temps rel. Pour cette raison, les systmes LEO doivent
dployer un nombre considrable de satellites pour assurer une couverture globale et continue.
Dans ces systmes-ci, il faut aussi grer trois types de hand over :
un hand over entre spot beams dun mme satellite,
un hand over dun terminal entre satellites, du fait quun satellite nest visible
lutilisateur que pendant quelques minutes, et
un hand over de liens intersatellites.
Une constellation LEO est caractrise par la chane N /P/ I / A
o
N reprsente le nombre total de satellites,
P reprsente le nombre de plans orbitaux,
I reprsente langle dinclinaison de ces plans par rapport au plan quatorial,
A reprsente laltitude.
2.5.2.1 Iridium
Lapproche LEO a t adopte par Motorola pour le projet Iridium. Les orbites sont
placs entre 900 et 1200 km et sont dune dure approximative de 90 minutes. Cela permet un
dlai de propagation minimale. Le systme Iridium offre une grande flexibilit aux utilisateurs
en relayant les appels dun satellite un autre par le biais dun rseau de liens entre ces satellites.
10/57
Les principales caractristiques du projet Iridium sont donnes dans le tableau suivant :
Caractristique
Valeur ou commentaire
Altitude de lorbite
Gomtrie
Nombre dorbites
Nombre de satellites par orbite
Nombre total des satellites
Nombre de faisceaux par satellite
Liens entre satellites
Type de rpteurs
Mode daccs multiple
Dure de vie du satellite
900 km
Orbites polaires
6
11
66 plus des redondants
48 allant de la terre vers le satellite (bande L)
Desservis par la bande Ka
Traitement des paquets bord
TDMA
Jusqu' six ans
La constellation consiste de six plans dorbites polaires (donc 60 entre chaque plan),
donc onze satellites dans chacun de ces plans. Lavantage de cette architecture est la couverture
totale de la terre : mme les ples. Mais les liens entre satellites augmentent la complexit du
rseau.
2.5.2.2 Globalstar
Contrairement Iridium, le systme Globalstar positionne ses satellites sur des orbites
1389km de la terre, ce qui rduit le nombre de satellites ncessaires pour la couverture du globe.
Mais les ples ne sont pas couverts par ce systme qui est dirig plutt vers les zones
dhabitation dense. Linclinaison des orbites augmente les angles de traitement. Le nombre de
satellites par orbite est limit six ce qui induit un gain de la rutilisation de la bande passante.
Les principales caractristiques du projet Iridium sont donnes dans le tableau suivant :
Caractristique
Valeur ou commentaire
Altitude de lorbite
Gomtrie
Nombre dorbites
Nombre de satellites par orbite
Couverture
Nombre total des satellites
Nombre de faisceaux par satellite
Liens entre satellites
Mode daccs multiple
Dure de vie du satellite
1389 km
Inclinaison de 52
8
6
jusqu' 70 de latitude
48 (redondants inclus)
48 de la terre vers le satellite (bande L)
Aucun
CDMA
Jusqu' 7 ans et demi
11/57
2.5.2.3 Teledesic
Valeur ou commentaire
Altitude de lorbite
Gomtrie
Nombre dorbites
Nombre de satellites par orbite
Nombre total des satellites
Liens entre satellites
Mode daccs multiple
1400 km
Inclinaison de 40
12
24
288
Bande Ka
MF-TDMA voie montante
ATDMA voie descendante
12/57
2.6 Conclusion
Comme nous venons de le remarquer, le satellite nest jusqu' maintenant considr que
comme un tuyau physique pouvant relier plusieurs terminaux disperss sur la terre sans devoir
passer par un rseau local (cas dun terminal domestique, bien entendu). Le problme reli
cette configuration est le long dlai de propagation, laccs la ressource rare, et toute
lintelligence du rseau est situe dans le HUB. Pour remdier cela, des fonctions CAC seront
embarques bord du satellite, mais ici aussi linconvnient est laugmentation du cot du
satellite,...
Un autre important problme qui se pose pour un rseau satellite est laccs au canal
satellite car le problme du multiplexage statistique dans le contexte satellitaire rside dans la
contrainte de la totale bande passante disponible pour toutes les sources avant le point de
mmorisation/multiplexage.
13/57
3. Accs Multiple
3.1 Introduction
Comme les communications via satellites utilisent un accs multiple au moyen de
transport, une couche MAC est ncessaire. Ce protocole MAC sera le moyen daccder au RPL
(Radio Physical Layer). Le mode daccs se rapporte au multiplexage de la couche physique
pour partager un canal commun entre plusieurs utilisateurs dventuels services multiples. Dans
un rseau fixe le problme est associ au contrle de la bande passante sur le lien de sortie du
point de multiplexage aprs la mmorisation car les liens daccs depuis la source ont t
dimensionns de faon ce quil ny ait aucune contrainte de trafic (donc les sources peuvent
transmettre selon leur propre PCR). Mais dans un rseau satellite, le problme du multiplexage
statistique rside dans la contrainte de la bande passante totale disponible pour toutes les sources
avant le point de mmorisation/multiplexage.
Multiple
Access
Inbound
Traffic
Outbound
Traffic
VSA
T
VSAT
VSA
T
VSAT
HUB
TX
HUB
RX
14/57
Tandis que dans un rseau maill la comptition pour le mme accs se fait entre les
diffrents VSATs du rseau. Cela est montr dans la figure suivante :
Multiple
Access
VSAT
VSAT
VSAT
VSAT
VSAT
VSAT
RX
TX
Une certaine frquence est alloue chaque porteuse pendant toute la priode de temps.
FDMA
a
b
c
Temps
Figure 12 FDMA
1
R FDMA
(sec)
15/57
En supposant une longueur constante des paquets, le dlai est donn par lquation
suivante :
2
T FDMA = Tp +
R FDMA
L
R FDMA
2
L
(sec)
Toute la bande passante est alloue une porteuse pendant une certaine tranche de temps
(time slot).
TDMA
B
Temps
Trame
Figure 13 TDMA
Le dlai pour les paquets de longueur exponentiellement distribue est donn par
lquation suivante :
T TDMA = Tp +
1
TF TF
+
(sec)
R TDMA
2
N
N.L
Tandis que le dlai pour des paquets de longueur constante est calcul par lquation
suivante :
2
T TDMA = Tp +
R TDMA
N. L
R TDMA
2 .
N. L
TF TF
+
(sec)
2
N
o
TTDMA est le dlai moyen (sec),
TP est le temps de propagation,
TF est la dure de la trame,
RTDMA est le dbit de transmission (bit/sec),
L est la longueur dun paquet (bits),
est le taux darrive (sec-1/VSAT),
N est le nombre de VSATs.
DEA - Rseaux De Tlcommunications
16/57
Dans cette mthode, les porteuses occupent continuellement toute la bande passante.
CDMA
B
Temps
Figure 14 CDMA
(N-1)
porteuses
porteuses
(N-1)
porteuses
Bande
Passante
VSAT 1
VSAT 2
VSAT N
17/57
Cette mthode implique que chaque VSAT doit tre quip de (N-1) metteurs et de (N-1)
rcepteurs. Ceci est trs coteux lorsque le nombre de N est grand. De plus, chaque fois
quun nouveau VSAT est install, il faut ajouter un nouveau rcepteur et un nouvel
metteur chaque ancien VSAT. Une autre limitation est que la bande passante doit tre
partage en N.(N-1) porteuses, ce qui rend le dbit trs faible.
Bande
Passante
VSAT 1
VSAT 2
VSAT N
Cette mthode implique que chaque VSAT soit quip dun seul metteur et de (N-1)
rcepteurs. Linconvnient est le cot lev des techniques TDMA.
18/57
Dans ce protocole, une porteuse est alloue un seul canal (Single Channel Per Carrier).
Inbound
Outbound
porteuses
porteuses
porteuses
k.N
porteuses
Bande
Passante
VSAT 1
VSAT 2
HUB
VSAT N
Comme la figure prcdente nous le montre, pour chaque application une connexion
duplex est tablie par le biais de deux porteuses : lune allant du VSAT metteur au HUB et la
seconde du HUB au VSAT rcepteur.
Chaque porteuse a besoin dun modulateur et dun dmodulateur. Donc, pour pouvoir
obtenir un rseau de cette configuration, k modulateurs et k dmodulateurs doivent tre implants
dans chacun des N VSATs, ainsi que k.N modulateurs et dmodulateurs dans le HUB. Ce qui
reprsente un cot considrable.
3.5.2 FDMA SCPC Inbound / FDMA MCPC Outbound
Le nombre de modulateurs dans le HUB peut tre rduit N en tenant compte que
nimporte quelle porteuse transmise par le HUB est reue par tous les VSATs. Cette approche est
illustre par la figure suivante :
Outbound
Inbound
porteuses
porteuses
porteuses
N
porteuses
Bande
Passante
VSAT 1
VSAT 2
VSAT N
HUB
19/57
Cette rduction est acheve grce au multiplexage temporel du trafic allant du HUB vers
un VSAT sur une porteuse MCPC (Multiple Channels Per Carrier) de loutbound.
tant donn que le nombre de connexions multiplexes sur une porteuse peut varier dans
le temps, les modulateurs/dmodulateurs des VSATs doivent pouvoir sadapter des dbits
diffrents. De plus, une plus grande puissance du HUB est requise du fait que le dbit transmis
par celui-ci sur une MCPC augmente.
Inbound
Outbound
porteuses
porteuses
porteuses
Bande
Passante
k.N
Canaux
VSAT 1
VSAT 2
VSAT N
HUB
20/57
Inbound
Outbound
Bande
Passante
k
canaux
VSAT 1
k
canaux
k.N
Canaux
k
canaux
VSAT 2
HUB
VSAT N
f1
fN
Bande
Passante
VSAT 1
Actif
VSAT 2
VSAT N
Inactif
Actif
Figure 21 FA-FDMA
21/57
Si on divisait la bande passante en L tranches o L < k.N, ces tranches vont tre alloues
aux VSATs actifs seulement. Si moment donn le nombre de porteuses dpasse le nombre de
tranches disponibles, il y aura du blocage au niveau des VSATs. Malgr le problme du blocage,
ce protocole daccs multiple permet une meilleure exploitation des ressources.
Le dlai de transmission dans ce cas l est gal deux fois le temps de propagation : 2.TP.
3.5.7 FA - TDMA (Fixed Assignment with TDMA)
Chaque VSAT reoit une rafale de porteuse pendant une tranche de temps qui lui est
ddie. Le nombre de tranches de temps est gal au nombre de VSATs du rseau. La position et
la dure de chaque tranche est fixe. Cela induit une mauvaise utilisation de la bande passante si
un ou plusieurs VSATs nmettent pas en continu.
La figure suivante illustre cette mthode.
Frquence
temps
Bande
Passante
VSAT 1
Actif
VSAT 2
VSAT N
Inactif
Actif
Figure 22 FA-TDMA
Dans cette mthode, la bande passante est divise en L tranches de temps o L est
infrieur N le nombre de VSATs du rseau. A chaque fois quun VSAT sactive il va essayer
de se faire allouer une tranche de temps disponible. Le VSAT peut augmenter sa capacit en
rallongeant la dure de ses rafales, donc supporter un plus grand nombre de connexions. Cela
implique une flexibilit dans le plan temporel des rafales, et ceci est effectu dans le NMS
(Network Management System) dans le HUB.
Le dlai de transmission dans ce cas l aussi est gal deux fois le temps de
propagation : 2.TP.
22/57
Interface du
terminal / VSAT
destinataire
HUB
Requte
Attribution
Attribution (1)
Fonctions
DAMA
Connexion
tablie entre les
deux terminaux
Appel accept
Call
set-up
Attribution (2)
Trafic
Fonctions
de
Trafic
Relais
Figure 23 DAMA
Le VSAT reoit une demande dappel de lun des terminaux dutilisateur. Puis ce VSAT
envoie au HUB une requte douverture de connexion par le biais dun canal de signalisation
spcifique. Si possible, le HUB alloue la capacit requise au VSAT et lui envoie des messages de
rponse par un canal de signalisation (la frquence de la porteuse, numro de la tranche de
temps, ou le code...).
Les problmes relis ce protocole sont la ncessit de ddier une partie de la bande
passante la signalisation, et le long dlai.
3.5.10 ALOHA
ALOHA est une mthode daccs multiple par multiplexage temporel alatoire. Du point
de vue de la synchronisation, nous distinguons deux diffrents protocole du principe ALOHA :
ALOHA slott, et ALOHA non-slott.
3.5.10.1 ALOHA
Dans cette mthode, les VSATs transmettent des paquets tout instant sans se proccuper
de synchronisation.
23/57
Dans cette mthode-ci, les VSATs transmettent les paquets dans des tranches de temps
dfinies. Donc il y a de la synchronisation entre les VSATs, mais il ny a pas de coordination du
fait que chaque VSAT transmet en ignorant si dautres VSATs transmettent dans la mme
tranche ou pas.
La capacit de transmission du protocole S-ALOHA est mesure par le dbit utile S
exprim en nombre de paquets correctement transmis par longueur de paquet. Le dbit moyen de
bits reus R c est donn par lquation suivante :
Rc = S
= S . Rc
o
L
Rc =
S
N 1
o
N est le nombre de VSATs du rseau tudi.
Donc
N . . L
S=
Rc
o
TS ALOHA = TP +
+ ( e G 1) 2TP + (k + 1) +
2
2 2
o
TP est le dlai de propagation,
k est lintervalle maximale de retransmission.
3.5.11 Selective Reject ALOHA
Le principe de ce protocole est le mme que ALOHA non-slott du fait que les messages
sont transmis sans synchronisation, mais ils sont dcoups en de petits paquets.
Lide du dcoupage des messages en de petits paquets vient du fait que les collisions
sont partielles, donc il suffit de retransmettre la partie errone du message, et cela est possible et
effectif si ces parties sont petites. Le point critique de ce protocole est quune prambule est
ncessaire dans chaque paquet.
24/57
25/57
C1 Sous-trame CBR
D Sous-trame de donnes
Nf
3.6.1 Protocole MB-ICBT (Movable Boundary with Integrated CBR and Bursty
Trafic)
Minislots de rservation
pour le trafic CBR
Minislots de rservation
pour le trafic sporadique
Sous-trame CBR
Sous-trame de donnes
26/57
La taille des deux sous-trames peut varier en nombre de slots condition que le nombre
total ne dpasse pas la taille de la trame. Cette variation est rgule par la position de la frontire
et dpend des conditions de charge du rseau VSAT.
Une application qui gnre de longs messages et de dures considrables est considre
un terminal gnrateur de trafic CBR, et sa mthode daccs la ressource radio est le DAMA
(Demand Assignment for Multiple Access). Donc, ce terminal va tout dabord choisir
alatoirement un minislot parmi les m minislots de rservation qui se trouvent au dbut de
chaque trame pour envoyer une requte de rservation en mode Aloha slott. Si cette demande
arrive correctement au centre de contrle, un slot disponible sera allou cet appel, et le numro
de ce slot sera envoy sur la voie descendante. Donc, le terminal recevra la rponse aprs un
temps aller-retour. Ce dlai dtablissement dappel dpend de larchitecture du rseau de
satellites :
270 msec pour un rseau maill,
540 msec pour un rseau en toile.
Une fois quun slot a t attribu un appel, il le restera jusqu' la fin de la
communication. Les minislots pourront alors servir de moyen de transmission des diffrentes
informations sur la communication en cours.
Un nouvel appel peut tre bloqu mme si sa requte a t bien reue si tous les slots de
la sous-trame CBR sont dj occups et quelle ait atteint sa taille maximale. Une autre solution
est dinsrer cet appel dans une file dattente jusqu' ce quun slot soit disponible. Ce dlai
dattente peut tre tolr lorsque lapplication na pas de contraintes temporelles. Pour cela, le
nombre maximum de slots pour le trafic CBR Ncmax a t choisi de faon respecter une
certaine probabilit de blocage.
Le trafic sporadique peut accder la sous-trame de donnes par contention, et il peut
aussi profiter des slots CBR disponibles pour rduire le dlai dattente. Un slot disponible est
choisi alatoirement, et une rservation anticipe accompagne le paquet de donnes dans un des
minislots adjacents. Ce minislot est choisi de faon alatoire et sert en cas de collision. La
probabilit de collision au niveau du slot et du minislot est alors beaucoup plus faible quen pur
Aloha. Cela rduit le temps dattente dun paquet tentant de retransmettre en utilisant un
algorithme de rsolution de collisions.
Au cas dune collision, un slot sera allou au paquet de donnes car la demande de
rservation a t reue, et si aucune collision na eu lieu, cette demande de rservation est
automatiquement supprime. Aprs une double collision, le paquet sera retransmis aprs un
temps alatoire qui dpend de la charge du rseau.
Si aucun slot nest disponible, le terminal va placer une requte de rservation anticipe
dans un des minislots. Si aucun slot nest valable, ces paquets seront insrs dans une file
dattente.
Le protocole MB-ICBT donne une plus haute priorit au trafic CBR en lui rservant
jusqu' N c max slots. Si par contre le trafic CBR reste faible, la sous-trame de donnes peut varier
de Ndmin jusqu' Nf - 1, selon la charge du trafic des donnes. Nf est est la taille dune trame
exprime en nombre de slots.
N d min = N f 1 N c max
La frontire sparant les deux sous-trames peut tre franchie par les paquets de donnes
si le nombre dappels CBR ne dpasse pas N c max . Cette politique rduit le temps dattente des
donnes.
27/57
C1
CRP
La partie CRP contient un nombre de slots pouvant tre partags dynamiquement entre
les deux types de trafic. Les paquets de donnes peuvent semparer des slots disponibles de la
partie rserve au trafic CBR ainsi des slots disponibles du CRP. Les appels CBR peuvent tre
desservis soit par les slots disponibles de la partie rserve au trafic CBR soit par les slots
disponibles du CRP si le trafic de donnes est en-dessous dun certain seuil.
Chaque terminal dsireux de lancer une certaine application doit avant tout transmettre
une requte dtablissement de communication ou de rservation au NCC (Network Control
Center ) en fonction du type de trafic gnr par cette application. Cette requte peut tre
transmise soit par un canal de signalisation spcifique soit sur la mme voie montante en
utilisant un protocole daccs multiple de la couche MAC. Les dcisions dallocation de canaux
sont prises priodiquement au dbut de chaque priode de contrle, qui peut tre compose
dune ou de plusieurs trames. Les communications CBR en attente sont stockes dans une file
dattente de longueur finie, et celles du trafic de donnes seront elles aussi stockes dans leur
propre file dattente. La file dattente des appels est examine pour connatre son tat : sil y a
des communications en attente et si le nombre de communications en cours est infrieur C1,
des slots de la sous-trame CBR sont alloues aux appels en attente. Sil reste encore des appels
en attente, la file de donnes est examine. Si elle est en-dessous dun certain seuil Lthres, une
partie du CRP peut tre alloue aux communications CBR. Afin de protger le trafic de donnes,
seule une proportion du CRP peut tre occupe par le trafic CBR.
28/57
Si la file dattente de donnes dpasse le seuil Lthres, les appels CBR ne seront pas
accepts. Quand la file dattente du trafic CBR est remplie et quun nouvel appel se prsente il
sera refus. Et un appel ayant sjourn plus dun certain temps dans la file est perdu (respect des
contraintes temporelles). Aprs la dcision du CAC pour les appels CBR, on alloue des
ressources au trafic de donnes. Premirement, on alloue la partie rserve aux donnes, puis sil
reste des requtes dans la file, on alloue les slots disponibles du CRP puis ceux du CBR. Ensuite,
les informations relatives la transmission et aux files dattente sont diffuses par le NCC.
La valeur du seuil DQT ( Data Queue Threshold ) dtermine la dcision dadmission des
appels CBR et a un grand impact sur les performances du protocole. Un seuil bas donne
lavantage au trafic de donnes en rduisant lattente des requtes de donnes dans la file, mais
a risque daugmenter la probabilit de blocage des appels CBR. Par contre, un seuil lev
augmente la chance de satisfaire une demande dappel CBR au dtriment du dlai dans la file
dattente des donnes. Donc, la valeur du DQT va dpendre du type de services supports par le
rseau. Cette valeur peut tre choisie de faon dfinie ou peut tre adapte dynamiquement. Un
seuil variable rend lalgorithme plus flexible en ce qui concerne la diversit des services offerts,
et a constitue une protection supplmentaire du trafic des donnes.
Trame n
Trame n+1
F serveurs
X n + In
Xn+1 + In+1
Yn
Vn
File dattente
CBR
Yn+1
Vn+1
File dattente
des donnes
Seuil
Ltat du systme aprs chaque trame peut tre dfini par la valeur des trois variables X,
Y et V. Les quations de Kolmogorov de lvolution des allocations sont de la forme suivante :
{
P{V
} {
= v} p { x , y , v}
pn +1 { x1 , y1 , v1} = P X n +1 = x1 X n = x , Y n = y ,V n = v P Y n +1 = y1 X n = x , Y n = y ,V n = v
c2
x = 0 y = 0v = 0
n +1
= v1 X n = x , Y n = y , V n
29/57
2. Trafic CBR = 11 Erlang, trafic de donnes = 0.3 Erlang, et la valeur du seuil de la file
dattente des donnes = 15.
30/57
3. Trafic CBR = 11 Erlang, trafic de donnes = 0.4 Erlang, et la valeur du seuil de la file
dattente des donnes = 15.
Le but de ce protocole est loptimisation des mthodes de multiples accs pour lATM
sur un satellite gostationnaire ayant une capacit de traitement bord ( OBP On-Board
Processing ) en considrant plusieurs types de trafic:
31/57
Ce protocole est bas sur les propositions de (Bohm, 1993), (Celandroni, 1991), (Zein,
1991) avec des modifications pour le rendre conforme aux exigences des objectifs de conception
des rseaux multimdia. On a introduit bord du satellite une queue de priorit des requtes.
Trame TDMA
Slots dun paquet MAC
Rafale de rfrence
Slot de requte
Slot de rservation
Slot daccs alatoire
Slot de contrle
Le slot de requte est la priode de temps pendant laquelle les terminaux rapportent leur
demande la gestion de ressources radio bord du satellite (RRM: Radio Resource
Management). Ces RS sont utiliss parce que le rseau ATM supporte plusieurs types de service
avec diffrentes exigences de dlai et de perte. Chaque terminal choisit un RS alatoirement sans
savoir si un autre terminal utilise le mme slot. Si plusieurs terminaux choisissent le mme RS,
une collision aura lieu, et ces terminaux devront retransmettre aprs un temps moyen dattente
dtermin par lalgorithme de rsolution de collision. Cest le protocole MAC qui assure que la
probabilit de collision reste basse.
Dans le cas o une seule demande a t reue par un RS, le RRM se charge de
lallocation des ncessaires slots de rservation. Si aucun slot nest disponible, la requte peut
tre soit bloque soit introduite dans une file dattente.
Proposition: introduire les requtes acceptes dans une file de priorit afin que ces
terminaux naient pas concurrencer avec dautres terminaux pour un nouveau RS. De cette
faon, les slots de rservation pourront tre allous par le RRM selon les priorits de ces
demandes.
Un slot de rservation est allou un seul terminal, donc la probabilit de collision est
nulle. Ces slots de rservations reprsentent la partie de la trame dans laquelle le terminal peut
transmettre son message.
Une fois que les slots de rservation sont rservs, un acquittement est envoy au
terminal par mode TDM (Time Division Multiplex) sur la voie descendante.
Les slots daccs alatoire RA reprsentent la partie de la trame o les terminaux peuvent
transmettre sans devoir effectuer des rservations. Les RA disponibles sont diffuss sur la voie
descendante. Cette partie est utilise par les applications ne voulant pas attendre le temps de
procdure de rservation, mais cest impossible de garantir une QoS bien que le protocole essaie
de minimiser le nombre de collisions pour pouvoir maximiser le rendement en utilisant un
algorithme de rsolution de collision. Pour cette raison, les RAs ne sont utiliss que pour le trafic
UBR.
Sil y a trop de RS dans une trame, il y aura une mauvaise utilisation de la capacit, et de
trop longs dlais car il y aura moins de capacit disponible pour la transmission de donnes. Par
contre, sil y a trop peu de RS dans une trame, il y aura un grand nombre de collisions et
beaucoup de dlai; cest ce quon appelle network backlog. Pour cela le nombre de RS devrait
tre prudemment ajust selon le comportement du systme, donc le nombre de collisions serait
DEA - Rseaux De Tlcommunications
32/57
contrl en diffusant un message sur la voie descendante pour que les services de basse priorit
nenvoient/ ne renvoient pas de requtes tant que les collisions nont pas t rsolues. Mais
quand le nombre de collisions ne peut plus tre contrl, on peut ajouter quelques RS en
diminuant le nombre de slots de contrle.
Les demandes dallocation dynamique du slot sont faites en utilisant les slots de contrle
qui sont attribus tous les terminaux demandant la classe DAMA MAC selon le mcanisme
Round Robin. Le nombre de slots de contrle est gal huit pour limiter loverhead de la trame.
Rappel: le round robin permet lallocation de la bande passante en fonction du poids
attribu un flot.
La trame introduit un dlai constant gal sa longueur. Pour cette raison la taille de la
trame doit tre assez petite pour pouvoir satisfaire la limite de dlai dfinie pour les services
temps-rel (400ms) (ITU-T, 1996) tenant compte du temps de propagation, du dlai de
traitement, et du dlai introduit par le RNIS- LB terrestre.
La priode dun paquet de slots MAC a t choisi de faon supporter un flux CBR de
32kbit/s correspondant une unit de 384 bits dinformation non code par trame sur voie
montante. Donc une priode de 11.9 ms pour transmettre 84 cellules ATM par seconde en
utilisant AAL5. Donc on a 64 paquets MAC pouvant couler 2.048 Mbit/s de trafic par spot
beam sur la voie montante.
3.7 Conclusion
Dans les algorithmes prcdemment cits, tous les trafics ont t statistiquement
multiplexs (multiplexage temporel asynchrone nutilisant quune seule file dattente par type de
trafic), sans penser partager quitablement les ressources entre les diffrents terminaux. Ce qui
fait quun terminal gnrant beaucoup de trafic aura une grande chance de monopoliser la bande
passante tandis que dautres terminaux souffriront de blocage. Cette monopolisation des
ressources passera inaperue car aucune technique de contrle du trafic na t introduite. Bien
sr, le multiplexage statistique permet la meilleure exploitation de la bande passante, mais est-ce
que cest juste de donner plus de bande un terminal, et est-ce que le contrat de trafic est
respect ?
33/57
4. Problme de lquit
4.1 Introduction
Dans les algorithmes tudis prcdemment, on considrait une seule file dattente par
type de trafic, ce qui est lquivalent une seule source de trafic. Le problme qui se pose en
tudiant le trafic en ralit (donc en considrant les diffrentes sources) est une problme de
partage quitable des ressources entre ces diffrents utilisateurs.
Ce sujet a t pleinement tudi pour le service ABR, et trois mthodes dimplmentation
de la boucle de contrle ont t dfinies :
une mthode base sur lutilisation de crdit (credit based),
une mthode base sur la calcul dun dbit (rate based), et
une mthode qui intgrera les deux mthodes prcdentes.
34/57
Sur rception dune cellule, lalgorithme agit selon la valeur de la taille courante de la file
dattente ABR au commutateur e :
e est infrieur au seuil QT, le commutateur considre quil nest pas en tat de
congestion. Aucune action nest effectue la rception dune cellule RM.
e est compris entre QT et DQT. Le commutateur considre quil est en tat de congestion
et traitera alors le dbit explicite de la cellule ERcell.
Si CCRcell est suprieur MACR.DPF (o DPF (Down Pressure Factor) est gal 7/8), il
faudrait rduire le dbit :
ER = MACR . ERF
o
35/57
e = max (e - 1, 0)
e = min (e + 1, b)
36/57
Oui
Non
e > DQT
e > QT
Non
Non
ERcell = min(MACR . MRF, ERcell)
CCRcell>MACR.DPF
Oui
Non
++ La taille maximale des files dattente ncessaire afin dviter les pertes des cellules
peut tre rduite dun facteur de 4. Le partage des ressources est mieux gr et lquit est donc
mieux respecte.
-Lomniprsence du phnomne doscillation. Cette instabilit rend difficile voir
impossible le partage quitable des ressources. La deuxime consquence de ce fait est
lincapacit de grer des sources dbit trs sporadique et donc non gloutonnes. Cette instabilit
est provoque par le manque de continuit pour le calcul du dbit explicite local : EPRCA attend
que le commutateur soit congestionn pour agir.
Si une connexion est restreinte par un commutateur fortement congestionn, la valeur
CCRcell de cette connexion sera faible entranant une sous-valuation de MACR et donc de
lquit. De plus, si la distance sparant la source du commutateur est importante, la valeur
CCRcell risque fort de ne plus tre reprsentative du dbit de la source ABR.
37/57
i ( t ) = ( t ) si ( t )
i ( t ) est le dbit allou la connexion i
si ( t ) est une fonction de partage quitable de la bande passante disponible ( t ) par
lensemble du service ABR.
38/57
si ( t ) s j ( t ) < i ( t ) j ( t )
Ce qui est quivalent dire que la diffrence de la bande passante nouvellement alloue
entre i et j soit plus faible que la diffrence de la bande passante actuelle.
En simplifiant la fonction prcdente, on obtient la fonction linaire
si (t ) = (1 s0) i (t ) + s0
s0 est la valeur minimale 0< s0 <1.
i ( t ) peut tre valu par le rapport du dbit courant CCRi(t) de la connexion i et du
dbit courant total CCR(t).
Si la distance entre la source et le commutateur est T sec,
i (t ) =
CCRi ( t T )
CCR ( t T )
-- i ( t ) est grand => CCR(t-T) ne reprsente pas le dbit courant. Pour y remdier, on
recourt au nombre de cellules ei ( t ) de la connexion i en attente dans la file ABR
i (t ) =
ei ( t )
e(t )
Mais alors une table interne (dans le commutateur) responsable dune diminution des
performances de calcul du commutateur est ncessaire.
-- complexit.
4.5.3 Calcul du Dbit Total Disponible pour le Service ABR ( t )
La fonction du dbit total disponible pour la trafic ABR peur tre calcule par lquation
suivante
(t ) = C ABR (t ) +
b e( t )
2T
o
( t ) est dbit total disponible pour le trafic ABR ; tandis que C ABR (t ) est le dbit estim
inutilis par CBR et VBR et ne tient pas compte de la capacit de remplissage de la file dattente
ABR,
T est le dlai de propagation sparant lensemble des sources du commutateur,
( b - e(t) ) / 2T est le dbit ncessaire pour remplir la file ABR tout en ayant un contrle
de flux.
DEA - Rseaux De Tlcommunications
39/57
Pour tenir compte des contraintes de taux de perte et rduire les oscillations, ERAQLES
fera converger la taille de la file ABR vers la valeur r. Lvaluation des ressources disponibles
devient alors
( t ) = C ABR ( t ) + h
r e(t )
T
C ABR (t ) est lvaluation de la bande passante C ABR dlaisse par les trafics CBR et VBR.
Si nous considrons le trafic CBR seulement, lvaluation de C ABR est trs simple, car il suffit de
sommer les dbits crtes de lensemble des connexions CBR
C ABR C tot C CBR
Par contre, la nature statistique du trafic VBR rend lvaluation de C ABR beaucoup plus
difficile.
Les diagrammes suivants expliquent de faon symbolique le comportement dun
commutateur ERAQLES
n =n+1
mission de la cellule CONNECT
ei = min (ei + 1, b)
e = min (e + 1, b )
40/57
RCC = RCC + 1
RCC = NNrm
Oui
Non
RCC = 0
C ABR ( t ) = C ABR ( t ) + h
re
T max
r e
ei
ER = (1 s0 ) + s0 C ABR ( t ) + h
e
T max
o RCC est un compteur qui permet de mesurer la priode de remise jour toutes les NNrm
rceptions de cellules en arrire. ERcell est le champ du dbit explicite dans les cellules RM.
ei = max (ei - 1, 0)
e = max (e - 1, 0)
41/57
42/57
Sous-trame rserve au
trafic CBR
File dattente du
trafic CBR
File dattente
principale des
donnes
File dattente
supplmentaire
des donnes
Sous-trame rserve au
trafic CBR
File dattente du
trafic CBR
Sous-trame de
donnes MCRi
File dattente
principale des
donnes
Sous-trame de
donnes PCRi
File dattente
supplmentaire
des donnes
43/57
5. Conclusion
La direction actuelle dans les rseaux satellites est vers les constellations de satellites
orbite basses LEO du fait que les constellations de satellites orbite basse rduisent le dlai de
propagation (ce qui arrange les services temps-rel), le cot du satellite ainsi que le cot de son
lancement De plus, la rduction de la distance sparant les satellites de la terre permet lemploi
de petits terminaux et antennes basse puissance.
Mais, la couverture globale de la terre requiert le dploiement dun grand nombre de
satellites orbite basse. Ces constellations permettent aussi une bonne rutilisation des
frquences, mais il faut grer les trois types de hand-over, problme exclu dans les constellations
gostationnaires.
Reste aussi savoir si les protocoles hybrides dvelopps pour les constellations GEO
gardent la mme performance dans un contexte de satellites LEO.
Du premier abord, cela parat trs logique de garder les mmes protocoles daccs, mais
si on prenait le cas de Teledesic ces protocoles hybrides ne feraient pas laffaire. Car les
concepteurs de Teledesic sopposent la sparation des applications temps-rel des applications
tolrantes en terme de dlai, donc le rseau dans leur point de vue doit tre conu pour satisfaire
lapplication la plus exigeante. Vu la rduction de dlai, des protocoles plus simples pourraient
tre envisags. Le problme dquit devra tre lui aussi pris en compte pour ne pas permettre la
monopolisation des ressources par quelques terminaux puissants.
Un autre problme qui se posera pour ces rseaux satellites est la gestion de mobilit, car
un des avantages de tels rseaux rside dans la possibilit daccs sans dpendre de
lemplacement afin dtendre la porte des rseaux et des applications tous les coins du monde
et tout moment.
44/57
45/57
46/57
BIBLIOGRAPHIE
[1]
[2]
D. Raychaudhuri, K. Joseph. Channel Access Protocols for Ku-band VSAT Networks : A
comparative Evaluation. IEEE Communications magazine, vol. 26, pp. 34-44, Mai 1988.
[3]
D. Raychaudhuri, K. Joseph. Ku-band Satellite Data Networks Using Very Small
Aperture Terminals-Part1 : Multi-Access Protocols. John Wiley & Sons, 1987.
[4]
J. Everett (ed.). VSATs Very Small Aperture Terminals. IEE Telecommunications Series
28, 1992.
[5]
T.T. Ha. Digital Satellite
Communications Series, 1990.
[6]
Communications,
second
edition.
McGraw-Hill
[7]
B. R. Elbert. The Satellite Communication Applications Handbook. Artech House, INC.,
1997.
[8]
H. Koraitim, S. Tohm, and H. Cakil. MB-ICBT Protocol Performance in StarConfigured VSAT Satellite Networks. Procceedings of the Second IEEE Symposium on
Computers and Communications ISCC97, Alexandrie, gypte, Juillet 1997.
[9]
H. Koraitim, S. Tohm. The impact of the Threshold Value on Performance of the DMBS
Allocation Scheme. Proceeding of Networld+Interop 98 IEEE Engineers Conference, Las Vegas,
Mai 1998.
[10] T. Oers, Z. Sun, B.G. Evans. An Adaptive Random-Reservation MAC Protocol to
Guarantee QoS for ATM over Satellite. Broadband Communications P. Kuehn & R. Ulrich
(Eds), 1998.
[11] Y. Moret. Conception et valuation dun Algorithme ABR dans les Rseaux ATM :
ERAQLES. Thse de doctorat de lUniversit Pierre et Marie Curie, Dcembre 1997.
[12] D. Kofman, M. Gagnaire. Rseaux Haut Dbit, Rseaux ATM, Rseaux locaux et rseaux
tout-optiques. InterEditions/Masson, Paris 1996.
47/57
ANNEXE
//======================================================================
#include <iostream.h>
#include <math.h>
#include <stdio.h>
//======================================================================
// trafic de 11 Erlangs, systme vide P[0][0][0] = 1
//======================================================================
double
t = 0.02;
int
F = 16;
int
N = 100000 ;
int
int
c1 = 8;
c2 = 14;
int
int
int
L=3;
Ld = 20;
Lthres = 15;
double
double
p1 = 0.9998883;
p2 = 1;
double
double
lambdad = 320;
lambdac = 0.06;
int
x, x1;
int
y, Y1;
//communications CBR
int
v, v1;
//prsents dans
int
I;
48/57
double
An[19];
double
Bn[50];
double
Dn[15][15][15];
double
double
double
double
double
X[15];
Y[4];
V[21];
FILE
FILE
FILE
FILE
*f;
*f1;
*f2;
*f3;
int ii;
int jj;
int kk;
//======================================================================
// Saving functions
//-------------------------void save_transition_matrix()
//-----------------------------------------{
for (int i = 0; i <= c2; i++)
{ for (int j = 0; j <= L; j++)
{ for (int k = 0; k <= Ld; k++)
{ fprintf (f, "%f", Pn[i][j][k]);
if (k < Ld) fprintf(f, "\t");
else fprintf(f, "\n");
}
if (j == L)
{ fprintf(f, "\n");
fprintf(f, "\n");
}
}
49/57
if (i == c2)
{ fprintf(f,"\n");
fprintf(f, "\n");
fprintf(f, "\n");
}
}
}
void save_X_distribution()
//------------------------------------{ for (int u = 0; u <= c2; u++)
{
fprintf (f1, "%f", X[u]);
fprintf (f1, "\n");
}
}
void save_Y_distribution()
//-----------------------------------{ for (int u = 0; u <= L; u++)
{
fprintf (f2, "%f", Y[u]);
fprintf (f2, "\n");
}
}
void save_V_distribution()
//------------------------------------{ for (int u = 0; u <= Ld; u++)
{ //fprintf (f3, "%f", u);
//fprintf (f3, "\t");
fprintf (f3, "%f", V[u]);
fprintf (f3, "\n");
}
}
//======================================================================
50/57
//useful functions
//------------------------int INF ( int x, int y)
//--------------------------{
int z;
if ( x <= y ) z = x;
else z = y;
return z ;
}
int MAXIMUM ( int x )
//----------------------------{
int w;
if ( x < 0 ) w = 0;
else w = x;
return w;
}
int func1 ( int v, int Lthres )
//-------------------------------------{
int w;
if ( v >= Lthres ) w = 1;
else w = 0;
return w;
}
int func2 ( int v, int Lthres )
//-------------------------------------{
int w;
if ( v < Lthres ) w = 1;
else w = 0;
return w;
}
double factorial ( int var )
//----------------------------------{
double f = 1 ;
int i;
if (var == 0) f = 1;
else if (var > 0)
for ( i = var; i > 0; i--)
f *= i;
else return (0);
return f;
}
51/57
int calculate_i ( int y, int x, int c1, int c2, int v, int Lthres)
//------------------------------------------------------------------------------{
int i;
i = INF ( y, MAXIMUM ( c1 - x )) * func1 ( v, Lthres )
+ INF ( y, c2 - x ) * func2 ( v, Lthres);
return i;
}
double calculate_Dn ( int var1, int var2, int i )
//---------------------------------------------------------------{
double w;
if (( var1 >= 0 )&& (var2 >= 0 ) && (var2 - var1 >= 0))
w = ( factorial(var2) / (factorial(var1) * factorial ( var2 - var1)))
* pow( (1 - p1), var1) * pow( p1, (var2 - var1));
else w =0;
if ( w > 1)
{ int g;
cout<<"error in Dn"<<endl;
cout<<" =>"<< x<<" "<<y<<" "<<v<<" "<<x1<<endl;
cin>> g;
}
return w;
}
52/57
void calculate_X_distribution()
//-----------------------------------------------{ double temp[15];
double sum ;
for (ii = 0; ii <=c2; ii++)
{ sum = 0;
for (jj = 0; jj <= L; jj++)
for (kk = 0; kk <= Ld; kk++)
{ sum += Pn[ii][jj][kk];
}
temp[ii] = sum;
}
sum = 0;
for (ii = 0; ii <= c2; ii++)
{ sum += temp[ii];
}
for (ii = 0; ii<= c2; ii++)
{ if (sum == 0) X[ii] = 0;
else if (sum > 0) X[ii] = temp[ii]/sum;
}
f1 = fopen ("X_distribution.txt", "w+");
if (f1 == NULL)
{ cout<<"error while opening the results file"<<endl;
//return (1);
}
save_X_distribution();
fclose(f1);
}
void calculate_Y_distribution()
//-----------------------------------------------{ double temp[4];
double sum ;
for (ii = 0; ii <=L; ii++)
{
sum = 0;
for (jj = 0; jj <= c2; jj++)
{
for (kk = 0; kk <= Ld; kk++)
{ sum += Pn[jj][ii][kk];
}
}
temp[ii] = sum;
}
sum = 0;
for (ii = 0; ii <= L; ii++)
{ sum += temp[ii];
}
for (ii = 0; ii<= L; ii++)
{ if (sum == 0) Y[ii] = 0 ;
else if (sum > 0) Y[ii] = temp[ii]/sum;
}
f2 = fopen ("Y_distribution.txt", "w+");
if (f2 == NULL)
{ cout<<"error while opening the results file"<<endl;
//return (1);
}
save_Y_distribution();
fclose(f2);
}
DEA - Rseaux De Tlcommunications
53/57
void calculate_V_distribution()
//------------------------------------------------{ double temp[21];
double sum;
for (ii = 0; ii <=Ld; ii++)
{ sum = 0;
for (jj = 0; jj <= L; jj++)
{
for (kk = 0; kk <= c2; kk++)
{ sum += Pn[kk][jj][ii];
}
}
temp[ii] = sum;
}
sum = 0;
for (ii = 0; ii <= Ld; ii++)
{
sum += temp[ii];
}
for (ii = 0; ii<= Ld; ii++)
{
if (sum == 0) V[ii] = 0 ;
else if (sum > 0) V[ii] = temp[ii]/sum;
}
f3 = fopen ("V_distribution.txt", "w+");
if (f3 == NULL)
{
cout<<"error while opening the results file"<<endl;
//return (1);
}
save_V_distribution();
fclose(f3);
}
//======================================================================
54/57
void main()
//---------------{
int r;
cout<<"calculating An[]"<<endl;
for (int s = 0; s <= 19; s++)
An[s] = 0;
for (v = 0; v <= Ld; v++)
for (x = 0; x <= c2; x++)
for (y = 0; y <= L; y++)
{
I = calculate_i(y, x, c1, c2, v, Lthres);
for (Y1 = 0; Y1 <= L; Y1++)
{
if (Y1 < L)
{
int p;
p = y - I;
if (Y1 >= p)
An[Y1 + I - y] = calculate_An(Y1 + I - y);
}
else if (Y1 == L)
{
double sum = 0;
if (L > (y - I))
{
r = L + I - y;
for (int g = 0; g < r; g++)
{
double su;
su = pow (lambdac * t, g) / factorial(g);
sum += su;
}
sum = sum * exp (-1 * lambdac * t);
An[Y1 + I - y] = 1 - sum;
}
}
else if (Y1 > L) An[Y1 + I - y] = 0;
}
}
for (int s = 0; s <= 19 ; s++)
{
cout <<"An["<<s<<"] = "<<An[s]<<endl;
}
cout<<"calculating Bn[]"<<endl;
for (int s = 0; s < 50; s++)
{
Bn[s] = calculate_Bn(s);
cout<<"Bn["<<s<<"] = "<<Bn[s]<<endl;
}
cout<<"calculating Dn[]"<<endl;
for (v = 0; v <= Ld; v++)
for (y = 0; y <= L; y++)
for (x = 0; x <= c2; x++)
{
I = calculate_i(y, x, c1, c2, v, Lthres);
for (x1 = 0; x1 <= c2; x1++)
{
Dn[x][x1][I] = calculate_Dn(x + I - x1, x, I);
cout<<"Dn["<<x<<"]["<<x1<<"]["<<I<<"]= "<<Dn[x][x1][I]<<endl;
}
}
DEA - Rseaux De Tlcommunications
55/57
//Initialisation
cout<<"reset Pa[] and Pn[]"<<endl;
for (x = 0; x <= c2; x++)
for (y = 0; y <= L; y++)
for (v = 0; v <= Ld; v++)
{ Pa[x][y][v] = 0;
Pn[x][y][v] = 0;
};
cout<<"initializing Pa"<<endl;
Pa[0][0][0] = 1;
// Main Loop
cout<<"Loop start : n = 0 .. "<< N <<endl;
int counter = 0;
for (int n = 0; n < N; n++)
{
int j;
counter++;
double sum;
int b;
int c;
for (v1 = 0; v1 <= Ld; v1++)
for (Y1 = 0; Y1 <= L; Y1++)
for (x1 = 0; x1 <= c2; x1++)
{
sum = 0;
for (v = 0; v <= Ld; v++)
for (y = 0; y <= L; y++)
for (x = 0; x <= c2; x++)
{
I = calculate_i(y, x, c1, c2, v, Lthres);
b = Y1 + I - y;
if (b >= 0)
{
c = v1 - MAXIMUM(v - (F - x - I));
if (c >= 0)
{
sum += Dn[x][x1][I]
* An[b]
* Bn[c]
* Pa[x][y][v];
}
}
}
Pn[x1][Y1][v1] = sum;
}
56/57
cout<<"saving results:"<<endl;
f = fopen ("results", "w+");
if (f == NULL)
{ cout<<"error while opening the results file"<<endl;
//return (1);
}
save_transition_matrix();
fclose (f);
cout<<"main counter = "<<n<<endl;
cout<<"calculating and saving X-distribution"<<endl;
calculate_X_distribution();
cout<<"calculating and saving Y-distribution"<<endl;
calculate_Y_distribution();
cout<<"calculating and saving V-distribution"<<endl;
calculate_V_distribution();
counter = 0;
}
for (x = 0; x <= c2; x++)
for (y = 0; y <= L; y++)
for (v = 0; v <= Ld; v++)
{
Pa[x][y][v] = Pn[x][y][v];
if (Pn[x][y][v] > 1)
{
cout<<"error in Pn["<<x<<"]["<<y<<"]["<<v<<"] = "<<Pn[x][y][v]<<endl;
cout<<" n = "<<n<<endl;
int sure;
cin>>sure;
}
Pn[x][y][v] = 0;
}
}
}
//======================================================================
57/57