fnss.traffic.trafficmatrices.sin_cyclostationary_traffic_matrix

sin_cyclostationary_traffic_matrix(topology, mean, stddev, gamma, log_psi, delta=0.2, n=24, periods=1, max_u=0.9, origin_nodes=None, destination_nodes=None)[source]

Return a cyclostationary sequence of traffic matrices, where traffic volumes evolve over time as sin waves.

The sequence is generated by first generating a single matrix assigning traffic volumes drawn from a lognormal distribution and assigned to specific origin-destination pairs using the Ranking Metrics Heuristic method proposed by Nucci et al. [3]. Then, all matrices of the sequence are generated by adding zero-mean normal fluctuation in the traffic volumes. Finally, traffic volumes are multiplied by a sin function with unitary mean to model periodic fluctuations.

This process was originally proposed by [3].

Cyclostationary sequences of traffic matrices are generally suitable for modeling real network traffic over long periods, up to several days. In fact, real traffic exhibits diurnal patterns well modelled by cyclostationary sequences.

Parameters:
topology : topology

The topology for which the traffic matrix is calculated. This topology can either be directed or undirected. If it is undirected, this function assumes that all links are full-duplex.

mean : float

The mean volume of traffic among all origin-destination pairs

stddev : float

The standard deviation of volumes among all origin-destination pairs.

gamma : float

Parameter expressing relation between mean and standard deviation of traffic volumes of a specific flow over the time

log_psi : float

Parameter expressing relation between mean and standard deviation of traffic volumes of a specific flow over the time

delta : float [0, 1]

A parameter indicating the intensity of variation of traffic volumes over a period. Specifically, let x be the mean volume over a specific OD pair, the minimum and maximum traffic volumes for that OD pair (excluding random fluctuations) are respectively x*(1 - delta) and x*(1 + delta)

n : int

Number of traffic matrices per period. For example, if it is desired to model traffic varying cyclically over a 24 hour period, and n is set to 24, therefore, the time interval between subsequent traffic matrices is is 1 hour.

periods : int

Number of periods. In total the sequence is composed of n * periods traffic matrices.

max_u : float, optional

Represent the max link utilization. If specified, traffic volumes are scaled so that the most utilized link of the network has an utilization equal to max_u. If None, volumes are not scaled, but in this case links may end up with an utilization factor greater than 1.0

origin_nodes : list, optional

A list of all nodes which can be traffic sources. If not specified all nodes of the topology are traffic sources

destination_nodes : list, optional

A list of all nodes which can be traffic destinations. If not specified all nodes of the topology are traffic destinations

Returns:
tms : TrafficMatrixSequence

References

[3](1, 2, 3) Nucci et al., The problem of synthetically generating IP traffic matrices: initial recommendations, ACM SIGCOMM Computer Communication Review, 35(3), 2005