public class BurstyTimeDistribution extends java.lang.Object implements PacketTimeDistribution
BurstyTimeDistribution defines a 'bursty' packet distribution. The distribution maintains some base packet distribution during 'normal' or 'non-bursty' intervals, interspersed with periods of increased packet rates during bursts.
A BurstyTimeDistribution is specified in terms of several base time distributions:
A bursty time distribution requires one additional parameter, a double, percent increase during bursts, which specifies how much the packet rates will increase during bursty intervals. This percentage increase will be applied to the rates generated by the base rate distribution, so that the distribution during bursty intervals will be the same type as the normal flow, but packets will be sent at higher rates.
| Constructor and Description |
|---|
BurstyTimeDistribution(PacketTimeDistribution baseRateDistribution,
double percentIncreaseDuringBursts,
PacketTimeDistribution burstDurationDistribution,
PacketTimeDistribution burstSpacingDistribution) |
| Modifier and Type | Method and Description |
|---|---|
PacketTimeDistribution |
getBaseRateDistribution() |
PacketTimeDistribution |
getBurstDurationDistribution() |
PacketTimeDistribution |
getBurstSpacingDistribution() |
double |
getPercentIncreaseDuringBursts()
Initializes the bursty rate distribution to a brand new
RandomTimeDistribution with bounds calculated from the current base rate
distribution's bounds and the current value of percent increase during
bursts.
|
int |
getType() |
int |
nextInterval() |
int[] |
prediction(int size)
Generates an array containing predicted packet transmission times, in
terms of number of ms from this instant.
|
void |
setBaseRateDistribution(PacketTimeDistribution baseRateDistribution) |
void |
setBurstDurationDistribution(PacketTimeDistribution burstDurationDistribution) |
void |
setBurstSpacingDistribution(PacketTimeDistribution burstSpacingDistribution) |
void |
setPercentIncreaseDuringBursts(double percentIncrease)
Sets the percentage increase of packet transmissions during bursts for
this bursty time distribution.
|
public BurstyTimeDistribution(PacketTimeDistribution baseRateDistribution, double percentIncreaseDuringBursts, PacketTimeDistribution burstDurationDistribution, PacketTimeDistribution burstSpacingDistribution)
public PacketTimeDistribution getBaseRateDistribution()
public void setBaseRateDistribution(PacketTimeDistribution baseRateDistribution)
public PacketTimeDistribution getBurstDurationDistribution()
public void setBurstDurationDistribution(PacketTimeDistribution burstDurationDistribution)
public PacketTimeDistribution getBurstSpacingDistribution()
public void setBurstSpacingDistribution(PacketTimeDistribution burstSpacingDistribution)
public void setPercentIncreaseDuringBursts(double percentIncrease)
percentIncrease - the desired percentage increase of packet
transmissions during bursts, as a decimal. Should be a value in (0.0,
1.0]. A percent increase of eg .5 would specify that packet transmission
rates during bursts are 150% of the base rates (between bursts).public double getPercentIncreaseDuringBursts()
public int getType()
getType in interface PacketTimeDistributionpublic int nextInterval()
nextInterval in interface PacketTimeDistributionpublic int[] prediction(int size)
PacketTimeDistributionprediction in interface PacketTimeDistributionsize - the number of predictions contained in the returned array