Equation de la densite:
f(x)= lambda^a * x^(a-1) * exp(-lambda*x) / Gamma(a)
where alpha = shape parameter, must be > 0
lambda = scale parameter, must be > 0
x = the random variable, must be >= 0
To generate an aggregated scenario from an OnOffHeterogeneousAggregatedFlowGeneration object
And a scenario file per flow type => + nbDifferentFlow scenarii
To generate an aggregated scenario with statistics informations from an MGInfAggregatedFlowGeneration object
And an informative scenario file per flow type => + nbDifferentFlow scenarii
To generate an aggregated scenario with statistics informations from an OnOffHeterogeneousAggregatedFlowGeneration object
And an informative scenario file per flow type => + nbDifferentFlow scenarii
PrintWriterWithEvent
Attention, il ne faut pas ecrire plusieurs ligne a la fois
Le reader est avertie quand un ligne complete est disponible dans la stream et fait un readLine.
Initial data distribution : [ d1 | d2 | d3 | d4 | d5 | d6 | d7 ] and starting time of this source is 4 (<=>slot d4 )
Final data distribution : [ d5 | d6 | d7 | d1 | d2 | d3 | d4 ]
CompoundDistribution : It's a "distribution" where you define several distributions with a weight
And each distribution is choosen according to its weight
Method controlScenarioPlay : dans le cadre d'une generation de trafic avec un control
Bench scenario player : Les paquets envoyes vont etre formes comme suit:
numeroPaquet + " " + "random data"
ou la taille de l'en-tete "numeroPaquet" est fixe et est fonction de la taille du fichier
Conditon: TestParameters.hasIntTableSameValues(slotsNumber) && TestParameters.hasDoubleTableSameValues(slotsDuration)
Creates a random table with value(in number of slots) of starting time for each source
You could use this method only if you have for all flow type the same number of slots and the same duration!!!
We will sum data of each flow with a circular distribution to take into account starting time of each flow.
Method dataPerSlotPerFlowType : This method permit to compute data per slot distribution for one type of source
After we transform the result according to unit and number of source of this type
=> ex: if unit: kiloBytes -> Bytes and if there is 5 sources of this type data[i] = data[i]*5
This method permit to compute data per slot distribution for one type of source
After we transform the result according to unit and number of source of this type
=> ex: if unit: kiloBytes -> Bytes and if there is 5 sources of this type data[i] = data[i]*5
Exception levée lorsque l'utilisateur tente d'envoyer un message par l'appel de méthodes de la classe
SocketEcriture alors que le contexte ne le permet pas.
Rappelons que les données d'un datagramme sont constituées du numéro du datagramme concaténé à un espace puis au message
Construit les données à envoyer.
To compute scenario of each source type with some informations
It generates as much scenario as it's necessary
Create a file format as follow: day date : servername modelName IAmoy : tpsIP_codec numero de port : number packet size :size bytes
date: t + testTime s, IA : interpacketIime : 0.000000 s
Method getFMAX: For some Discrete Distribution we could have a pb to generate a randInt
because of the cdf value
So when we generate random value we verify that
this value is < getFMAX()
Returns true if the selectedNode is a parent(as defined below), false if it's a child
WARNING: this method has to be used with hasSelectedNode method!!!!
rootNode
*--> first parent
* *--> first child
* *--> second child
*--> second parent
Les Threads de lecture et écriture associés au socket de la connexion client-serveur
sont situés au même emplacement dans les vecteurs listeThreadLecture et listeThreadEcriture
meanRate : to calculate mean of generated packet number per second <=> theoretical throughput
mean = lambda1*alpha/(alpha+beta) + lambda2*beta/(alpha+beta)
meanRate : to calculate mean of generated packet number per second
mean = N*1/InterPacketTime*Pon = N*lambda*Pon
where N is the number of state 1...N for a MMPP-N+1, i.e.
Defined to be used by graphics.listener.MGInfAggregatedFlowGeneratorConstructor
WARNING: Could be used only if all flows have the same slots number with the same duration
MMPPNGeneration Definition des parametres de generation de trafic
ATTENTION ne marche pas dans le cas ou on defini un MMPP2 avec un taux d'emission non nul pour chacun des 2 etats
Equation de la densite:
f(x)= exp(-( (log(x)-mu) / (sqrt(2)*sigma) )^2)/(sqrt(2*pi)*sigma)
where mu = mean of a normally distributed variable
sigma = standard deviation of a normally distributed variable
x = value at which to evaluate the function, must be > 0
Method pgcd : calcule le PGCD de 2 entiers passes en arguments (on utilisera le fait que le PGCD de 2 nbs divise le reste de la divisionm de ces 2 nombres en iterant)
protected class GestionPingPongAction implements ActionListener{
public void actionPerformed(ActionEvent e){
gestionUDPServeur.gestionPingPong();
}
}// fin class GestionPingPongAction
protected class GestionEnvoiMessagesAction implements ActionListener{
public void actionPerformed(ActionEvent e){
gestionUDPServeur.gestionEnvoiMessages();
}
}
To compute an aggregated scenario from generation of each scenario
WARNING: This create only one file
Create a file format as follow: Inter-packet time(in ms) /t size
Creates an "informative" scenario file of the aggregated flow
Creates a file formated as follow: date : serverName
Requested documents : reqDoc
Videos aggregation Test Duration : tpsSimul mn Port Number : serverPort
date: t + testTime s, IA : interpacketIime : 0.000000 s
To compute final scenario (with some informations) which is the aggregation of each scenarii pre-calculated
WARNING: This create only one file
Create a file format as follow: day date : servername characteristic of the flow \t theoritical throughput : value
date (in seconds) \t Inter-Packet Time(in milliseconds) \t numero de port
date : date s /t IA : Inter-packet time ms /t packet size : size Bytes
To generate a scenario file with information
Returns a file format as follow: date : serverName modelName IAmoy : tpsIP_codec numero de port : number packet size :size bytes
date: t + testTime s, IA : interpacketIime : 0.000000 s
ScenarioInformations: Cette interface permet de marquer les objets comme etant distants
objet distant = instance d'une classe implementant l'interface "Remote"
Defines to be used when you define a MGInfComplexAggregatedFlowModel or a OnOffHeterogeneousAggregatedFlow
Actually these models don't need current codecPanel defines in the InterneModelPanel.
public GammaDistribution(double mean,double var) throws IllegalArgumentException {
this();
if (mean > 0 && var>0) {
params[A] = Math.pow(mean,2) / var;
params[LAMBDA] = mean / var;
}
else {
throw new IllegalArgumentException("GammaDistribution.constructor : mean and var must be greater than 0");
}
}
Transforms a flowi type definition([slot durationi, slot numberi]) in order to obtain a flow representation as follow:
([ reference slot duration, new slot numberi])
SLOTI -
Static variable in class multimedia.model.MGInfModel
Transforms a source i definition([ reference slot duration, new slot numberi]) in order to obtain a flow representation as follow:
([ reference slot duration, reference slot number])
This method convert a table of starting time in ms in a table of value in number of slots
If slot duration = 10ms, 20 ms corresponds to 2 slots for example
Here: startingTime it's a table which contains starting time of each source in ms
This method convert a table of starting time in: ms in a table of value in: number of slots
If slot duration = 10ms, 20 ms corresponds to 2 slots for example