public class NetworkPerformanceMetrics extends Object
Class providing static methods to compute several performance metrics using classical formulae (i.e. Erlang-B or Kaufman-Roberts recursion for call blocking probability...).
Modifier and Type | Method and Description |
---|---|
static double |
alphaUtility(DoubleMatrix1D vals,
double alphaFactor) |
static List<String> |
checkNetworkState(NetPlan netPlan,
Map<String,String> net2planParameters)
Checks the current network state and, maybe, returns some warnings about
link oversubscription, demand blocking, and so on.
|
static double |
erlangBLossProbability(int numberOfServers,
double load)
Returns the probability of call blocking in a
M/M/n/n queue
system. |
static int |
inverseErlangB(double gradeOfService,
double load)
Returns the number of servers (i.e.
|
static double |
jainFairnessIndex(DoubleMatrix1D vals) |
static double[] |
kaufmanRobertsRecursion(int u_e,
double[] h_p,
int[] s_p)
Computes the Kaufman-Roberts recursion for a multi-rate loss model system.
|
public static double alphaUtility(DoubleMatrix1D vals, double alphaFactor)
public static List<String> checkNetworkState(NetPlan netPlan, Map<String,String> net2planParameters)
Checks the current network state and, maybe, returns some warnings about link oversubscription, demand blocking, and so on.
Important: NetPlan
objects are always valid and consistent from a technology-agnostic point of view
netPlan
- Input network designnet2planParameters
- A key-value map with Net2Plan
-wide configuration optionspublic static double erlangBLossProbability(int numberOfServers, double load)
Returns the probability of call blocking in a M/M/n/n
queue
system.
Reference implementation: [1] S. Qiao, L. Qiao, "A Robust and Efficient Algorithm for Evaluating Erlang B Formula", Technical Report CAS98-03, McMaster University (Canada), October 1998
numberOfServers
- Number of servers (i.e. link capacity in integer units). It must be greater or equal than zeroload
- Traffic load (i.e. carried traffic by the link). It must be greater or equal than zeropublic static int inverseErlangB(double gradeOfService, double load)
Returns the number of servers (i.e. link capacity) to achieve a given grade
of service (i.e. call blocking probability) under a given load in a
M/M/n/n
queue system.
Reference implementation: [1] S. Qiao, L. Qiao, "A Robust and Efficient Algorithm for Evaluating Erlang B Formula", Technical Report CAS98-03, McMaster University (Canada), October 1998
gradeOfService
- Grade of service (i.e. call blocking probability). It must be greater or equal than zeroload
- Traffic load (i.e. carried traffic by the link). It must be greater or equal than zeropublic static double jainFairnessIndex(DoubleMatrix1D vals)
public static double[] kaufmanRobertsRecursion(int u_e, double[] h_p, int[] s_p)
u_e
- Link capacity (in integer units). It must be greater or equal than zeroh_p
- Traffic volume vector. Each element is referred to a connection of type p
and must be greater than zeros_p
- Capacity units occupied in the link by each accepted connection of type p
. Each element must be greater or equal than onep
Copyright © 2018. All rights reserved.