|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--multimedia.generation.GenericGeneration | +--multimedia.generation.AggregateMGInfFlowGeneration
Field Summary | |
protected VideoCodec[] |
codecs
|
protected java.lang.String[] |
docNames
|
protected int[] |
flowsDuration
|
java.io.File[] |
flowsFile
|
protected int |
flowsNumber
|
protected MGInfGeneration[] |
mginfGeneration
|
protected MGInfModel[] |
models
|
protected int |
N
|
protected int |
nbDifferentFlow
|
protected int[] |
packetSize
|
protected double |
realRate
|
protected int |
simulationDuration
|
protected double |
slotDuration
|
protected double[] |
slotsDuration
|
protected int[] |
slotsNumber
|
protected int[] |
startingTime
|
protected java.lang.String |
testName
|
protected java.util.TreeMap[] |
tM
|
protected short[] |
units
|
protected int[] |
weights
|
Fields inherited from class multimedia.generation.GenericGeneration |
fichierReq, fileName, graphic, resultFile, tpsSimul, unit |
Fields inherited from interface statistic.RandomGenerator |
random |
Fields inherited from interface multimedia.codec.AudioCodecExample |
G711, G723_1, G726, G728, G729 |
Fields inherited from interface multimedia.VideoExample |
BeanHigh, BeanLow, BeanMedium, coeffDistbh, coeffDistbm, coeffDistjph, coeffDistjpm, coeffFuncbh, coeffFuncbl, coeffFuncbm, coeffFuncjph, coeffFuncjpl, coeffFuncjpm, dbh, dbm, djph, djpm, dPacketSize, dSlot, gdbh, gdbm, gdjph, gdjpm, gfbh, gfjpl, gftbh, gftbl, gftbm, gftjph, gftjpl, gftjpm, JurassicParkHigh, JurassicParkLow, JurassicParkMedium, mginfbh, mginfbl, mginfbm, mginfjph, mginfjpl, mginfjpm |
Fields inherited from interface multimedia.codec.VideoCodecExample |
H261, MJPEG, MPEG, MPEG4 |
Fields inherited from interface utils.definitions.MyFormatterDefinitions |
myDebitFormatter, myIAFormatter, mySizeFormatter, myTimeFormatter |
Fields inherited from interface utils.definitions.MyUnitDefinitions |
BYTES, GIGABYTES, KILOBYTES, MEGABYTES |
Constructor Summary | |
AggregateMGInfFlowGeneration(MGInfModel[] models,
VideoCodec[] codecs,
int[] weights,
int[] flowsDuration,
int[] startingTime,
short[] units,
java.lang.String fileName,
boolean graphic)
You could specify everything you want |
|
AggregateMGInfFlowGeneration(VideoDefinition[] vds,
int[] weights,
int[] startingTime,
short[] units,
java.lang.String fileName,
boolean graphic)
Defined to used VideoDefinition like JurassicParkLow,... |
Method Summary | |
void |
aggregatedScenarioGeneration()
To generate an aggregated scenario from an AggregateMGInfFlowGeneration object And a scenario file per flow type => + nbDifferentFlow scenarii |
void |
aggregatedScenarioGeneration(java.lang.String serverName,
int serverPort)
To generate an aggregated scenario with statistics informations from an AggregateMGInfFlowGeneration object And an informative scenario file per flow type => + nbDifferentFlow scenarii |
MGInfGeneration[] |
createSingleFlowGenerator()
Method createSingleFlowGenerator : To create MGInfGeneration object from model,flowsDuration,codecs... |
int[] |
dataPerSlotDistribution()
Sums all data amount of sources slot per slot |
int[][] |
dataPerSlotPerFlowType()
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 |
double |
flowScenariiGeneration()
|
double |
flowScenariiGeneration(java.lang.String serverName,
int serverPort)
Returns theoritical throughput of the aggregated flow => =sum( w1*throughputi) where i =1...ndDifferentFlow Create nbDifferentFlow scenario files |
java.lang.String |
getDocumentNames()
Returns a String which discribes the different flows as: model name or document name(if it exists) (source number) |
int |
getFlowsNumber()
Mehod getFlowsNumber : To compute the number of sources => nb = w1 + w2 + ... |
int[] |
getFlowsPacketSize()
|
protected int |
getNewSlotDurationReference()
Works a slot duration of "reference" out : this value corresponds to mcm of slotsDuration[i] |
double |
getTheoriticalAggregatedFlowRate()
Returns throughput of aggregatedFlow in kb/s |
double |
getTheoriticalTransmittedDataAmount()
Returns theoritical transmitted data amount during the generation phase in MB |
int |
getTheoriticalTransmittedDataAmountBis()
Returns theoritical transmitted data amount during the generation phase (in MBytes) |
int |
getTheoriticalTransmittedDataAmountTest(int[] slot)
|
void |
initializedParameters()
This permit to initialized some parameters!!! |
static void |
main(java.lang.String[] args)
Methode: Main pour tester la classe |
void |
scenarioGeneration()
Create a "playable" scenario file of the aggregated flow |
void |
scenarioGeneration(java.lang.String serverName,
int portNumber)
Create an "informative" scenario file of the aggregated flow Return 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 |
protected double |
scenarioGenericGeneration(boolean playable,
java.lang.String serverName,
int serverPort)
Creates either a playable scenario file or an informative one. |
void |
setNewSlotNumber()
Method setNewSlotNumber : To set the number of slots for the aggregated flow => N |
void |
setSlotsDuration()
Method setSlotsDuration : set the duration of a slot for each source type |
void |
setSlotsNumber()
Method setSlotsNumber : To set the number of slots of each source type |
int |
simulationDurationComputation()
Method simulationDurationComputation : To compute the duration of the aggregated flow according to "starting time" scenario |
protected int[][] |
slotDurationStandardization()
Transforms a flowi type definition([slot durationi, slot numberi]) in order to obtain a flow representation as follow: ([ reference slot duration, new slot numberi]) |
protected int[][] |
slotNumberStandardization()
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]) |
int |
sourceTypeChoice()
To determine which source type send packets at one moment We define this method because flows have different characteristics notably packet size |
protected int[] |
transformStartingTimeInSlotsNumber()
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 |
protected int[] |
transformStartingTimeInSlotsNumber(double slotDurationReference)
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 |
Methods inherited from class multimedia.generation.GenericGeneration |
changeScenarioFileExtension, getDuration, getGeneratedPacketNumber, getGraphicMode, getResultFileName, getResultFileSize, getUnit, getUnit, setDuration, setGraphicMode, setResultFile, setUnit |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected int[] flowsDuration
protected int simulationDuration
protected VideoCodec[] codecs
protected MGInfModel[] models
protected int[] weights
protected short[] units
protected int[] startingTime
protected int[] slotsNumber
protected double[] slotsDuration
protected final int nbDifferentFlow
protected int flowsNumber
protected int[] packetSize
protected java.lang.String[] docNames
protected MGInfGeneration[] mginfGeneration
protected int N
protected double slotDuration
protected java.lang.String testName
protected double realRate
public java.io.File[] flowsFile
protected java.util.TreeMap[] tM
Constructor Detail |
public AggregateMGInfFlowGeneration(MGInfModel[] models, VideoCodec[] codecs, int[] weights, int[] flowsDuration, int[] startingTime, short[] units, java.lang.String fileName, boolean graphic) throws java.io.IOException
models
- a table of MGInfModel => length : nbDifferentFlowcodecs
- a table of VideoCodec => length : nbDifferentFlowweights
- a table of int => length : nbDifferentFlowflowsDuration
- a table of int => length : nbDifferentFlowstartingTime
- a table of int => length : flowsNumberunits
- a table of short => length : nbDifferentFlowfileName
- graphic
-
java.io.IOException
public AggregateMGInfFlowGeneration(VideoDefinition[] vds, int[] weights, int[] startingTime, short[] units, java.lang.String fileName, boolean graphic) throws java.io.IOException
vds
- weights
- a table of int => length : nbDifferentFlowstartingTime
- a table of int => length : flowsNumberunits
- a table of short => length : nbDifferentFlowfileName
- graphic
-
java.io.IOException
Method Detail |
public int getFlowsNumber()
public void initializedParameters() throws java.io.IOException
java.io.IOException
public void setSlotsNumber()
public void setSlotsDuration()
public void setNewSlotNumber()
public MGInfGeneration[] createSingleFlowGenerator() throws java.io.IOException
java.io.IOException
public int simulationDurationComputation()
public int[][] dataPerSlotPerFlowType() throws java.io.IOException
java.io.IOException
protected int[][] slotDurationStandardization() throws java.io.IOException
java.io.IOException
protected int[][] slotNumberStandardization() throws java.io.IOException
java.io.IOException
public int[] dataPerSlotDistribution() throws java.io.IOException
java.io.IOException
protected int getNewSlotDurationReference()
protected int[] transformStartingTimeInSlotsNumber()
protected int[] transformStartingTimeInSlotsNumber(double slotDurationReference)
slotDurationReference
- it's given in seconds
public int[] getFlowsPacketSize()
public void aggregatedScenarioGeneration() throws java.io.IOException
java.io.IOException
public void aggregatedScenarioGeneration(java.lang.String serverName, int serverPort) throws java.io.IOException
serverPort
- to specify on which port it will be played
java.io.IOException
public void scenarioGeneration() throws java.io.IOException
scenarioGeneration
in class GenericGeneration
java.io.IOException
GenericGeneration.scenarioGeneration()
public void scenarioGeneration(java.lang.String serverName, int portNumber) throws java.io.IOException
scenarioGeneration
in class GenericGeneration
serverName
- gives the server name
java.io.IOException
GenericGeneration.scenarioGeneration()
public double flowScenariiGeneration() throws java.io.IOException
java.io.IOException
public double flowScenariiGeneration(java.lang.String serverName, int serverPort) throws java.io.IOException
serverName
- serverPort
-
java.io.IOException
protected double scenarioGenericGeneration(boolean playable, java.lang.String serverName, int serverPort) throws java.io.IOException
GenericGeneration
scenarioGenericGeneration
in class GenericGeneration
playable
- if it has to be a playable scenario or notserverName
- server nameserverPort
- serverPort
java.io.IOException
public int sourceTypeChoice()
public java.lang.String getDocumentNames()
public double getTheoriticalAggregatedFlowRate() throws java.io.IOException
java.io.IOException
public double getTheoriticalTransmittedDataAmount() throws java.io.IOException
java.io.IOException
public int getTheoriticalTransmittedDataAmountBis() throws java.io.IOException
java.io.IOException
public int getTheoriticalTransmittedDataAmountTest(int[] slot) throws java.io.IOException
java.io.IOException
public static void main(java.lang.String[] args) throws java.io.IOException
java.io.IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |